All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/fuzz_import.c:56,1
    - Dst: gcry_control
      Src: /src/fuzz_import.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: g10_exit
    functionSourceFile: /src/fuzz_import.c
    functionUses: 0
    functionsReached:
    - gcry_control
    linkageType: ''
    returnType: void
    signature: void g10_exit( int rc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tofu_closedbs
      Src: /src/fuzz_import.c:67,1
    - Dst: gpg_dirmngr_deinit_session_data
      Src: /src/fuzz_import.c:69,1
    - Dst: keydb_release
      Src: /src/fuzz_import.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: gpg_deinit_default_ctrl
    functionSourceFile: /src/fuzz_import.c
    functionUses: 0
    functionsReached:
    - tofu_closedbs
    - gpg_dirmngr_deinit_session_data
    - keydb_release
    linkageType: ''
    returnType: void
    signature: void gpg_deinit_default_ctrl (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dummy
    - level
    - format
    - arg_ptr
    argTypes:
    - void*
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: my_gcry_logger
    functionSourceFile: /src/fuzz_import.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void my_gcry_logger (void *dummy, int level, const char *format, va_list
      arg_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/fuzz_import.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fpath
    - sb
    - typeflag
    argTypes:
    - char*
    - struct stat*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: unlink_cb
    functionSourceFile: /src/fuzz_import.c
    functionUses: 0
    functionsReached:
    - unlink
    linkageType: ''
    returnType: int
    signature: int unlink_cb(const char *fpath, const struct stat *sb, int typeflag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ftw
      Src: /src/fuzz_import.c:90,1
    - Dst: rmdir
      Src: /src/fuzz_import.c:91,1
    - Dst: printf
      Src: /src/fuzz_import.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: rmrfdir
    functionSourceFile: /src/fuzz_import.c
    functionUses: 0
    functionsReached:
    - printf
    - rmdir
    - ftw
    linkageType: ''
    returnType: void
    signature: void rmrfdir(char *path)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/fuzz_import.c:98,1
    - Dst: exit
      Src: /src/fuzz_import.c:100,1
    - Dst: rmrfdir
      Src: /src/fuzz_import.c:104,1
    - Dst: mkdir
      Src: /src/fuzz_import.c:105,1
    - Dst: printf
      Src: /src/fuzz_import.c:106,1
    - Dst: strdup
      Src: /src/fuzz_import.c:112,1
    - Dst: free
      Src: /src/fuzz_import.c:114,1
    - Dst: open
      Src: /src/fuzz_import.c:117,1
    - Dst: free
      Src: /src/fuzz_import.c:119,1
    - Dst: free
      Src: /src/fuzz_import.c:120,1
    - Dst: printf
      Src: /src/fuzz_import.c:121,1
    - Dst: gnupg_set_homedir
      Src: /src/fuzz_import.c:124,1
    - Dst: keydb_add_resource
      Src: /src/fuzz_import.c:125,1
    - Dst: free
      Src: /src/fuzz_import.c:127,1
    - Dst: free
      Src: /src/fuzz_import.c:128,1
    - Dst: close
      Src: /src/fuzz_import.c:129,1
    - Dst: printf
      Src: /src/fuzz_import.c:130,1
    - Dst: setup_trustdb
      Src: /src/fuzz_import.c:133,1
    - Dst: free
      Src: /src/fuzz_import.c:135,1
    - Dst: free
      Src: /src/fuzz_import.c:136,1
    - Dst: close
      Src: /src/fuzz_import.c:137,1
    - Dst: printf
      Src: /src/fuzz_import.c:138,1
    - Dst: public_key_list
      Src: /src/fuzz_import.c:143,1
    - Dst: free_strlist
      Src: /src/fuzz_import.c:144,1
    - Dst: log_set_file
      Src: /src/fuzz_import.c:146,1
    - Dst: gcry_set_log_handler
      Src: /src/fuzz_import.c:147,1
    - Dst: memset
      Src: /src/fuzz_import.c:152,1
    - Dst: ftruncate
      Src: /src/fuzz_import.c:159,1
    - Dst: lseek
      Src: /src/fuzz_import.c:162,1
    - Dst: write
      Src: /src/fuzz_import.c:165,1
    - Dst: import_keys
      Src: /src/fuzz_import.c:169,1
    - Dst: gpg_deinit_default_ctrl
      Src: /src/fuzz_import.c:170,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 64
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 179
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_import.c
    functionUses: 0
    functionsReached:
    - exit
    - gcry_set_log_handler
    - setup_trustdb
    - rmrfdir
    - import_keys
    - gnupg_set_homedir
    - printf
    - close
    - write
    - gpg_deinit_default_ctrl
    - free_strlist
    - mkdir
    - free
    - keydb_add_resource
    - memset
    - malloc
    - strdup
    - log_set_file
    - ftruncate
    - open
    - lseek
    - public_key_list
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/fuzz_list.c:52,1
    - Dst: gcry_control
      Src: /src/fuzz_list.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: g10_exit
    functionSourceFile: /src/fuzz_list.c
    functionUses: 0
    functionsReached:
    - gcry_control
    linkageType: ''
    returnType: void
    signature: void g10_exit( int rc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tofu_closedbs
      Src: /src/fuzz_list.c:63,1
    - Dst: gpg_dirmngr_deinit_session_data
      Src: /src/fuzz_list.c:65,1
    - Dst: keydb_release
      Src: /src/fuzz_list.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: gpg_deinit_default_ctrl
    functionSourceFile: /src/fuzz_list.c
    functionUses: 1
    functionsReached:
    - tofu_closedbs
    - gpg_dirmngr_deinit_session_data
    - keydb_release
    linkageType: ''
    returnType: void
    signature: void gpg_deinit_default_ctrl (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dummy
    - level
    - format
    - arg_ptr
    argTypes:
    - void*
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: my_gcry_logger
    functionSourceFile: /src/fuzz_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void my_gcry_logger (void *dummy, int level, const char *format, va_list
      arg_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/fuzz_list.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fpath
    - sb
    - typeflag
    argTypes:
    - char*
    - struct stat*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: unlink_cb
    functionSourceFile: /src/fuzz_list.c
    functionUses: 0
    functionsReached:
    - unlink
    linkageType: ''
    returnType: int
    signature: int unlink_cb(const char *fpath, const struct stat *sb, int typeflag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ftw
      Src: /src/fuzz_list.c:86,1
    - Dst: rmdir
      Src: /src/fuzz_list.c:87,1
    - Dst: printf
      Src: /src/fuzz_list.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: rmrfdir
    functionSourceFile: /src/fuzz_list.c
    functionUses: 1
    functionsReached:
    - printf
    - rmdir
    - ftw
    linkageType: ''
    returnType: void
    signature: void rmrfdir(char *path)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/fuzz_list.c:100,1
    - Dst: exit
      Src: /src/fuzz_list.c:102,1
    - Dst: rmrfdir
      Src: /src/fuzz_list.c:106,1
    - Dst: mkdir
      Src: /src/fuzz_list.c:107,1
    - Dst: printf
      Src: /src/fuzz_list.c:108,1
    - Dst: strdup
      Src: /src/fuzz_list.c:114,1
    - Dst: free
      Src: /src/fuzz_list.c:116,1
    - Dst: open
      Src: /src/fuzz_list.c:119,1
    - Dst: free
      Src: /src/fuzz_list.c:121,1
    - Dst: free
      Src: /src/fuzz_list.c:122,1
    - Dst: printf
      Src: /src/fuzz_list.c:123,1
    - Dst: gnupg_set_homedir
      Src: /src/fuzz_list.c:126,1
    - Dst: keydb_add_resource
      Src: /src/fuzz_list.c:127,1
    - Dst: free
      Src: /src/fuzz_list.c:129,1
    - Dst: free
      Src: /src/fuzz_list.c:130,1
    - Dst: close
      Src: /src/fuzz_list.c:131,1
    - Dst: printf
      Src: /src/fuzz_list.c:132,1
    - Dst: setup_trustdb
      Src: /src/fuzz_list.c:135,1
    - Dst: free
      Src: /src/fuzz_list.c:137,1
    - Dst: free
      Src: /src/fuzz_list.c:138,1
    - Dst: close
      Src: /src/fuzz_list.c:139,1
    - Dst: printf
      Src: /src/fuzz_list.c:140,1
    - Dst: public_key_list
      Src: /src/fuzz_list.c:145,1
    - Dst: free_strlist
      Src: /src/fuzz_list.c:146,1
    - Dst: log_set_file
      Src: /src/fuzz_list.c:148,1
    - Dst: gcry_set_log_handler
      Src: /src/fuzz_list.c:149,1
    - Dst: memset
      Src: /src/fuzz_list.c:162,1
    - Dst: ftruncate
      Src: /src/fuzz_list.c:165,1
    - Dst: lseek
      Src: /src/fuzz_list.c:168,1
    - Dst: write
      Src: /src/fuzz_list.c:171,1
    - Dst: iobuf_open
      Src: /src/fuzz_list.c:175,1
    - Dst: printf
      Src: /src/fuzz_list.c:177,1
    - Dst: use_armor_filter
      Src: /src/fuzz_list.c:180,1
    - Dst: new_armor_context
      Src: /src/fuzz_list.c:181,1
    - Dst: push_armor_filter
      Src: /src/fuzz_list.c:182,1
    - Dst: proc_packets
      Src: /src/fuzz_list.c:184,1
    - Dst: iobuf_close
      Src: /src/fuzz_list.c:185,1
    - Dst: release_armor_context
      Src: /src/fuzz_list.c:186,1
    - Dst: gpg_deinit_default_ctrl
      Src: /src/fuzz_list.c:187,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 75
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 190
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_list.c
    functionUses: 0
    functionsReached:
    - exit
    - gcry_set_log_handler
    - setup_trustdb
    - rmrfdir
    - gnupg_set_homedir
    - printf
    - close
    - write
    - gpg_deinit_default_ctrl
    - free_strlist
    - push_armor_filter
    - mkdir
    - free
    - iobuf_open
    - proc_packets
    - keydb_add_resource
    - memset
    - malloc
    - strdup
    - log_set_file
    - release_armor_context
    - ftruncate
    - open
    - iobuf_close
    - new_armor_context
    - lseek
    - use_armor_filter
    - public_key_list
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/fuzz_decrypt.c:52,1
    - Dst: gcry_control
      Src: /src/fuzz_decrypt.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: g10_exit
    functionSourceFile: /src/fuzz_decrypt.c
    functionUses: 0
    functionsReached:
    - gcry_control
    linkageType: ''
    returnType: void
    signature: void g10_exit( int rc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tofu_closedbs
      Src: /src/fuzz_decrypt.c:63,1
    - Dst: gpg_dirmngr_deinit_session_data
      Src: /src/fuzz_decrypt.c:65,1
    - Dst: keydb_release
      Src: /src/fuzz_decrypt.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: gpg_deinit_default_ctrl
    functionSourceFile: /src/fuzz_decrypt.c
    functionUses: 2
    functionsReached:
    - tofu_closedbs
    - gpg_dirmngr_deinit_session_data
    - keydb_release
    linkageType: ''
    returnType: void
    signature: void gpg_deinit_default_ctrl (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dummy
    - level
    - format
    - arg_ptr
    argTypes:
    - void*
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: my_gcry_logger
    functionSourceFile: /src/fuzz_decrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void my_gcry_logger (void *dummy, int level, const char *format, va_list
      arg_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/fuzz_decrypt.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fpath
    - sb
    - typeflag
    argTypes:
    - char*
    - struct stat*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: unlink_cb
    functionSourceFile: /src/fuzz_decrypt.c
    functionUses: 0
    functionsReached:
    - unlink
    linkageType: ''
    returnType: int
    signature: int unlink_cb(const char *fpath, const struct stat *sb, int typeflag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ftw
      Src: /src/fuzz_decrypt.c:86,1
    - Dst: rmdir
      Src: /src/fuzz_decrypt.c:87,1
    - Dst: printf
      Src: /src/fuzz_decrypt.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: rmrfdir
    functionSourceFile: /src/fuzz_decrypt.c
    functionUses: 2
    functionsReached:
    - printf
    - rmdir
    - ftw
    linkageType: ''
    returnType: void
    signature: void rmrfdir(char *path)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/fuzz_decrypt.c:98,1
    - Dst: exit
      Src: /src/fuzz_decrypt.c:100,1
    - Dst: rmrfdir
      Src: /src/fuzz_decrypt.c:104,1
    - Dst: mkdir
      Src: /src/fuzz_decrypt.c:105,1
    - Dst: strdup
      Src: /src/fuzz_decrypt.c:107,1
    - Dst: free
      Src: /src/fuzz_decrypt.c:109,1
    - Dst: open
      Src: /src/fuzz_decrypt.c:112,1
    - Dst: free
      Src: /src/fuzz_decrypt.c:114,1
    - Dst: free
      Src: /src/fuzz_decrypt.c:115,1
    - Dst: gnupg_set_homedir
      Src: /src/fuzz_decrypt.c:118,1
    - Dst: keydb_add_resource
      Src: /src/fuzz_decrypt.c:119,1
    - Dst: free
      Src: /src/fuzz_decrypt.c:121,1
    - Dst: free
      Src: /src/fuzz_decrypt.c:122,1
    - Dst: close
      Src: /src/fuzz_decrypt.c:123,1
    - Dst: setup_trustdb
      Src: /src/fuzz_decrypt.c:126,1
    - Dst: free
      Src: /src/fuzz_decrypt.c:127,1
    - Dst: free
      Src: /src/fuzz_decrypt.c:128,1
    - Dst: close
      Src: /src/fuzz_decrypt.c:129,1
    - Dst: public_key_list
      Src: /src/fuzz_decrypt.c:134,1
    - Dst: free_strlist
      Src: /src/fuzz_decrypt.c:135,1
    - Dst: log_set_file
      Src: /src/fuzz_decrypt.c:137,1
    - Dst: gcry_set_log_handler
      Src: /src/fuzz_decrypt.c:138,1
    - Dst: memset
      Src: /src/fuzz_decrypt.c:146,1
    - Dst: ftruncate
      Src: /src/fuzz_decrypt.c:153,1
    - Dst: lseek
      Src: /src/fuzz_decrypt.c:156,1
    - Dst: write
      Src: /src/fuzz_decrypt.c:159,1
    - Dst: decrypt_messages
      Src: /src/fuzz_decrypt.c:163,1
    - Dst: gpg_deinit_default_ctrl
      Src: /src/fuzz_decrypt.c:164,1
    - Dst: memset
      Src: /src/fuzz_decrypt.c:165,1
    - Dst: decrypt_message
      Src: /src/fuzz_decrypt.c:167,1
    - Dst: gpg_deinit_default_ctrl
      Src: /src/fuzz_decrypt.c:168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 171
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_decrypt.c
    functionUses: 0
    functionsReached:
    - exit
    - decrypt_messages
    - gcry_set_log_handler
    - setup_trustdb
    - rmrfdir
    - gnupg_set_homedir
    - close
    - write
    - gpg_deinit_default_ctrl
    - free_strlist
    - mkdir
    - free
    - keydb_add_resource
    - memset
    - malloc
    - strdup
    - decrypt_message
    - log_set_file
    - ftruncate
    - open
    - lseek
    - public_key_list
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/fuzz_verify.c:52,1
    - Dst: gcry_control
      Src: /src/fuzz_verify.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: g10_exit
    functionSourceFile: /src/fuzz_verify.c
    functionUses: 0
    functionsReached:
    - gcry_control
    linkageType: ''
    returnType: void
    signature: void g10_exit( int rc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tofu_closedbs
      Src: /src/fuzz_verify.c:63,1
    - Dst: gpg_dirmngr_deinit_session_data
      Src: /src/fuzz_verify.c:65,1
    - Dst: keydb_release
      Src: /src/fuzz_verify.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: gpg_deinit_default_ctrl
    functionSourceFile: /src/fuzz_verify.c
    functionUses: 3
    functionsReached:
    - tofu_closedbs
    - gpg_dirmngr_deinit_session_data
    - keydb_release
    linkageType: ''
    returnType: void
    signature: void gpg_deinit_default_ctrl (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dummy
    - level
    - format
    - arg_ptr
    argTypes:
    - void*
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: my_gcry_logger
    functionSourceFile: /src/fuzz_verify.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void my_gcry_logger (void *dummy, int level, const char *format, va_list
      arg_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/fuzz_verify.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fpath
    - sb
    - typeflag
    argTypes:
    - char*
    - struct stat*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: unlink_cb
    functionSourceFile: /src/fuzz_verify.c
    functionUses: 0
    functionsReached:
    - unlink
    linkageType: ''
    returnType: int
    signature: int unlink_cb(const char *fpath, const struct stat *sb, int typeflag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ftw
      Src: /src/fuzz_verify.c:86,1
    - Dst: rmdir
      Src: /src/fuzz_verify.c:87,1
    - Dst: printf
      Src: /src/fuzz_verify.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: rmrfdir
    functionSourceFile: /src/fuzz_verify.c
    functionUses: 3
    functionsReached:
    - printf
    - rmdir
    - ftw
    linkageType: ''
    returnType: void
    signature: void rmrfdir(char *path)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/fuzz_verify.c:95,1
    - Dst: exit
      Src: /src/fuzz_verify.c:97,1
    - Dst: rmrfdir
      Src: /src/fuzz_verify.c:101,1
    - Dst: mkdir
      Src: /src/fuzz_verify.c:102,1
    - Dst: strdup
      Src: /src/fuzz_verify.c:104,1
    - Dst: free
      Src: /src/fuzz_verify.c:106,1
    - Dst: open
      Src: /src/fuzz_verify.c:109,1
    - Dst: free
      Src: /src/fuzz_verify.c:111,1
    - Dst: free
      Src: /src/fuzz_verify.c:112,1
    - Dst: gnupg_set_homedir
      Src: /src/fuzz_verify.c:115,1
    - Dst: keydb_add_resource
      Src: /src/fuzz_verify.c:116,1
    - Dst: free
      Src: /src/fuzz_verify.c:118,1
    - Dst: free
      Src: /src/fuzz_verify.c:119,1
    - Dst: close
      Src: /src/fuzz_verify.c:120,1
    - Dst: setup_trustdb
      Src: /src/fuzz_verify.c:123,1
    - Dst: free
      Src: /src/fuzz_verify.c:124,1
    - Dst: free
      Src: /src/fuzz_verify.c:125,1
    - Dst: close
      Src: /src/fuzz_verify.c:126,1
    - Dst: public_key_list
      Src: /src/fuzz_verify.c:131,1
    - Dst: free_strlist
      Src: /src/fuzz_verify.c:132,1
    - Dst: log_set_file
      Src: /src/fuzz_verify.c:134,1
    - Dst: gcry_set_log_handler
      Src: /src/fuzz_verify.c:135,1
    - Dst: memset
      Src: /src/fuzz_verify.c:140,1
    - Dst: ftruncate
      Src: /src/fuzz_verify.c:143,1
    - Dst: lseek
      Src: /src/fuzz_verify.c:146,1
    - Dst: write
      Src: /src/fuzz_verify.c:149,1
    - Dst: verify_signatures
      Src: /src/fuzz_verify.c:153,1
    - Dst: gpg_deinit_default_ctrl
      Src: /src/fuzz_verify.c:154,1
    - Dst: memset
      Src: /src/fuzz_verify.c:155,1
    - Dst: verify_files
      Src: /src/fuzz_verify.c:157,1
    - Dst: gpg_deinit_default_ctrl
      Src: /src/fuzz_verify.c:158,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 161
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_verify.c
    functionUses: 0
    functionsReached:
    - exit
    - gcry_set_log_handler
    - setup_trustdb
    - rmrfdir
    - verify_files
    - gnupg_set_homedir
    - close
    - write
    - gpg_deinit_default_ctrl
    - free_strlist
    - mkdir
    - free
    - keydb_add_resource
    - verify_signatures
    - memset
    - malloc
    - strdup
    - log_set_file
    - ftruncate
    - open
    - lseek
    - public_key_list
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: ATTR_PRINTF
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATTR_PRINTF(f,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: spacep
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: spacep(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/gnupg/tests/asschk.c:191,1
    - Dst: fprintf
      Src: /src/gnupg/tests/asschk.c:192,1
    - Dst: va_start
      Src: /src/gnupg/tests/asschk.c:194,1
    - Dst: vfprintf
      Src: /src/gnupg/tests/asschk.c:195,1
    - Dst: va_end
      Src: /src/gnupg/tests/asschk.c:196,1
    - Dst: putc
      Src: /src/gnupg/tests/asschk.c:197,1
    - Dst: exit
      Src: /src/gnupg/tests/asschk.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: die
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - va_end
    - vfprintf
    - exit
    - fprintf
    - fflush
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void die (const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - format
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: die_0
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: die_0(format)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - format
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: die_1
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: die_1(format, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - format
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: die_2
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: die_2(format, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - format
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: die_3
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: die_3(format, a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/gnupg/tests/asschk.c:212,1
    - Dst: fprintf
      Src: /src/gnupg/tests/asschk.c:213,1
    - Dst: va_start
      Src: /src/gnupg/tests/asschk.c:215,1
    - Dst: vfprintf
      Src: /src/gnupg/tests/asschk.c:216,1
    - Dst: va_end
      Src: /src/gnupg/tests/asschk.c:217,1
    - Dst: putc
      Src: /src/gnupg/tests/asschk.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: err
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - va_end
    - vfprintf
    - fprintf
    - fflush
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void err (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/tests/asschk.c:224,1
    - Dst: die
      Src: /src/gnupg/tests/asschk.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: xmalloc
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - die
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xmalloc (size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnupg/tests/asschk.c:233,1
    - Dst: die
      Src: /src/gnupg/tests/asschk.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: xcalloc
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - die
    - calloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xcalloc (size_t n, size_t m)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/tests/asschk.c:242,1
    - Dst: strlen
      Src: /src/gnupg/tests/asschk.c:242,1
    - Dst: strcpy
      Src: /src/gnupg/tests/asschk.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: xstrdup
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - strcpy
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      xstrdup (const char *s)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/gnupg/tests/asschk.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - buffer
    - length
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 266
    functionName: writen
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: int
    signature: int writen (int fd, const char *buffer, size_t length)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: die_0
      Src: /src/gnupg/tests/asschk.c:296,1
    - Dst: memcpy
      Src: /src/gnupg/tests/asschk.c:297,1
    - Dst: read
      Src: /src/gnupg/tests/asschk.c:305,1
    - Dst: printf
      Src: /src/gnupg/tests/asschk.c:314,1
    - Dst: putc
      Src: /src/gnupg/tests/asschk.c:316,1
    - Dst: printf
      Src: /src/gnupg/tests/asschk.c:317,1
    - Dst: die_2
      Src: /src/gnupg/tests/asschk.c:321,1
    - Dst: strerror
      Src: /src/gnupg/tests/asschk.c:321,1
    - Dst: die_1
      Src: /src/gnupg/tests/asschk.c:323,1
    - Dst: memcpy
      Src: /src/gnupg/tests/asschk.c:335,1
    - Dst: die_0
      Src: /src/gnupg/tests/asschk.c:343,1
    - Dst: die_1
      Src: /src/gnupg/tests/asschk.c:373,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 63
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 376
    functionName: read_assuan
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - die_0
    - die_2
    - printf
    - die_1
    - read
    - strerror
    - memcpy
    - putc
    linkageType: ''
    returnType: char
    signature: 'char *

      read_assuan (int fd)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/tests/asschk.c:384,1
    - Dst: die_0
      Src: /src/gnupg/tests/asschk.c:387,1
    - Dst: strcpy
      Src: /src/gnupg/tests/asschk.c:388,1
    - Dst: writen
      Src: /src/gnupg/tests/asschk.c:392,1
    - Dst: die_3
      Src: /src/gnupg/tests/asschk.c:393,1
    - Dst: strerror
      Src: /src/gnupg/tests/asschk.c:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - fd
    - line
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 395
    functionName: write_assuan
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - die_0
    - strlen
    - die_3
    - strcpy
    - writen
    - strerror
    linkageType: ''
    returnType: void
    signature: void write_assuan (int fd, const char *line)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/gnupg/tests/asschk.c:409,1
    - Dst: die_1
      Src: /src/gnupg/tests/asschk.c:410,1
    - Dst: strerror
      Src: /src/gnupg/tests/asschk.c:410,1
    - Dst: pipe
      Src: /src/gnupg/tests/asschk.c:411,1
    - Dst: die_1
      Src: /src/gnupg/tests/asschk.c:412,1
    - Dst: strerror
      Src: /src/gnupg/tests/asschk.c:412,1
    - Dst: fflush
      Src: /src/gnupg/tests/asschk.c:414,1
    - Dst: fflush
      Src: /src/gnupg/tests/asschk.c:415,1
    - Dst: fork
      Src: /src/gnupg/tests/asschk.c:416,1
    - Dst: die_0
      Src: /src/gnupg/tests/asschk.c:418,1
    - Dst: strrchr
      Src: /src/gnupg/tests/asschk.c:424,1
    - Dst: dup2
      Src: /src/gnupg/tests/asschk.c:432,1
    - Dst: die_1
      Src: /src/gnupg/tests/asschk.c:433,1
    - Dst: strerror
      Src: /src/gnupg/tests/asschk.c:433,1
    - Dst: close
      Src: /src/gnupg/tests/asschk.c:434,1
    - Dst: dup2
      Src: /src/gnupg/tests/asschk.c:438,1
    - Dst: die_1
      Src: /src/gnupg/tests/asschk.c:439,1
    - Dst: strerror
      Src: /src/gnupg/tests/asschk.c:439,1
    - Dst: close
      Src: /src/gnupg/tests/asschk.c:440,1
    - Dst: open
      Src: /src/gnupg/tests/asschk.c:444,1
    - Dst: die_1
      Src: /src/gnupg/tests/asschk.c:446,1
    - Dst: strerror
      Src: /src/gnupg/tests/asschk.c:446,1
    - Dst: dup2
      Src: /src/gnupg/tests/asschk.c:447,1
    - Dst: die_1
      Src: /src/gnupg/tests/asschk.c:448,1
    - Dst: strerror
      Src: /src/gnupg/tests/asschk.c:448,1
    - Dst: close
      Src: /src/gnupg/tests/asschk.c:449,1
    - Dst: close
      Src: /src/gnupg/tests/asschk.c:452,1
    - Dst: close
      Src: /src/gnupg/tests/asschk.c:453,1
    - Dst: execl
      Src: /src/gnupg/tests/asschk.c:454,1
    - Dst: die_2
      Src: /src/gnupg/tests/asschk.c:455,1
    - Dst: strerror
      Src: /src/gnupg/tests/asschk.c:455,1
    - Dst: close
      Src: /src/gnupg/tests/asschk.c:457,1
    - Dst: close
      Src: /src/gnupg/tests/asschk.c:458,1
    - Dst: read_assuan
      Src: /src/gnupg/tests/asschk.c:462,1
    - Dst: die_0
      Src: /src/gnupg/tests/asschk.c:464,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 1
    argNames:
    - pgmname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 465
    functionName: start_server
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - die_0
    - pipe
    - die_2
    - die_1
    - open
    - execl
    - read_assuan
    - close
    - fflush
    - dup2
    - strrchr
    - fork
    - strerror
    linkageType: ''
    returnType: void
    signature: void start_server (const char *pgmname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tests/asschk.c:478,1
    - Dst: atoi
      Src: /src/gnupg/tests/asschk.c:488,1
    - Dst: close
      Src: /src/gnupg/tests/asschk.c:490,1
    - Dst: free
      Src: /src/gnupg/tests/asschk.c:493,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 497
    functionName: unset_var
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - strcmp
    - close
    - atoi
    - free
    linkageType: ''
    returnType: void
    signature: void unset_var (const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tests/asschk.c:507,1
    - Dst: xcalloc
      Src: /src/gnupg/tests/asschk.c:511,1
    - Dst: strlen
      Src: /src/gnupg/tests/asschk.c:511,1
    - Dst: strcpy
      Src: /src/gnupg/tests/asschk.c:512,1
    - Dst: free
      Src: /src/gnupg/tests/asschk.c:518,1
    - Dst: atoi
      Src: /src/gnupg/tests/asschk.c:526,1
    - Dst: close
      Src: /src/gnupg/tests/asschk.c:528,1
    - Dst: xmalloc
      Src: /src/gnupg/tests/asschk.c:536,1
    - Dst: strlen
      Src: /src/gnupg/tests/asschk.c:536,1
    - Dst: strcpy
      Src: /src/gnupg/tests/asschk.c:537,1
    - Dst: xstrdup
      Src: /src/gnupg/tests/asschk.c:540,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - name
    - value
    - type
    argTypes:
    - char*
    - char*
    - VARTYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 541
    functionName: set_type_var
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - atoi
    - strlen
    - close
    - xcalloc
    - strcmp
    - xmalloc
    - strcpy
    - xstrdup
    - free
    linkageType: ''
    returnType: void
    signature: void set_type_var (const char *name, const char *value, VARTYPE type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_type_var
      Src: /src/gnupg/tests/asschk.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 547
    functionName: set_var
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - set_type_var
    linkageType: ''
    returnType: void
    signature: void set_var (const char *name, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tests/asschk.c:555,1
    - Dst: strlen
      Src: /src/gnupg/tests/asschk.c:561,1
    - Dst: sprintf
      Src: /src/gnupg/tests/asschk.c:562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 567
    functionName: get_var
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - strcmp
    - sprintf
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      get_var (const char *name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tests/asschk.c:581,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 584
    functionName: inc_counter
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void inc_counter (const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/tests/asschk.c:601,1
    - Dst: memmove
      Src: /src/gnupg/tests/asschk.c:607,1
    - Dst: strlen
      Src: /src/gnupg/tests/asschk.c:607,1
    - Dst: spacep
      Src: /src/gnupg/tests/asschk.c:611,1
    - Dst: get_var
      Src: /src/gnupg/tests/asschk.c:618,1
    - Dst: get_var
      Src: /src/gnupg/tests/asschk.c:622,1
    - Dst: strlen
      Src: /src/gnupg/tests/asschk.c:625,1
    - Dst: memcpy
      Src: /src/gnupg/tests/asschk.c:628,1
    - Dst: memmove
      Src: /src/gnupg/tests/asschk.c:632,1
    - Dst: strlen
      Src: /src/gnupg/tests/asschk.c:632,1
    - Dst: xmalloc
      Src: /src/gnupg/tests/asschk.c:640,1
    - Dst: strlen
      Src: /src/gnupg/tests/asschk.c:640,1
    - Dst: memcpy
      Src: /src/gnupg/tests/asschk.c:642,1
    - Dst: memcpy
      Src: /src/gnupg/tests/asschk.c:643,1
    - Dst: strcpy
      Src: /src/gnupg/tests/asschk.c:645,1
    - Dst: free
      Src: /src/gnupg/tests/asschk.c:647,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 652
    functionName: expand_line
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - memmove
    - get_var
    - strlen
    - spacep
    - xmalloc
    - strchr
    - strcpy
    - memcpy
    - free
    linkageType: ''
    returnType: char
    signature: 'char *

      expand_line (char *buffer)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cond
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 666
    functionName: eval_boolean
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eval_boolean (const char *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_var
      Src: /src/gnupg/tests/asschk.c:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - assign_to
    - arg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 676
    functionName: cmd_let
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - set_var
    linkageType: ''
    returnType: void
    signature: void cmd_let (const char *assign_to, char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/tests/asschk.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - assign_to
    - arg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 685
    functionName: cmd_echo
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void cmd_echo (const char *assign_to, char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/tests/asschk.c:692,1
    - Dst: write_assuan
      Src: /src/gnupg/tests/asschk.c:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - assign_to
    - arg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 694
    functionName: cmd_send
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - fprintf
    - write_assuan
    linkageType: ''
    returnType: void
    signature: void cmd_send (const char *assign_to, char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/tests/asschk.c:701,1
    - Dst: inc_counter
      Src: /src/gnupg/tests/asschk.c:707,1
    - Dst: inc_counter
      Src: /src/gnupg/tests/asschk.c:711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 712
    functionName: handle_status_line
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - inc_counter
    - spacep
    linkageType: ''
    returnType: void
    signature: void handle_status_line (char *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/tests/asschk.c:721,1
    - Dst: read_assuan
      Src: /src/gnupg/tests/asschk.c:724,1
    - Dst: fprintf
      Src: /src/gnupg/tests/asschk.c:726,1
    - Dst: handle_status_line
      Src: /src/gnupg/tests/asschk.c:728,1
    - Dst: die_1
      Src: /src/gnupg/tests/asschk.c:732,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - assign_to
    - arg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 733
    functionName: cmd_expect_ok
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - fprintf
    - read_assuan
    - die_1
    - handle_status_line
    linkageType: ''
    returnType: void
    signature: void cmd_expect_ok (const char *assign_to, char *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/tests/asschk.c:742,1
    - Dst: read_assuan
      Src: /src/gnupg/tests/asschk.c:745,1
    - Dst: fprintf
      Src: /src/gnupg/tests/asschk.c:747,1
    - Dst: handle_status_line
      Src: /src/gnupg/tests/asschk.c:749,1
    - Dst: die_1
      Src: /src/gnupg/tests/asschk.c:753,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - assign_to
    - arg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 754
    functionName: cmd_expect_err
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - fprintf
    - read_assuan
    - die_1
    - handle_status_line
    linkageType: ''
    returnType: void
    signature: void cmd_expect_err (const char *assign_to, char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: die_0
      Src: /src/gnupg/tests/asschk.c:762,1
    - Dst: spacep
      Src: /src/gnupg/tests/asschk.c:764,1
    - Dst: spacep
      Src: /src/gnupg/tests/asschk.c:768,1
    - Dst: die_0
      Src: /src/gnupg/tests/asschk.c:771,1
    - Dst: set_type_var
      Src: /src/gnupg/tests/asschk.c:773,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - assign_to
    - arg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 774
    functionName: cmd_count_status
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - die_0
    - spacep
    - set_type_var
    linkageType: ''
    returnType: void
    signature: void cmd_count_status (const char *assign_to, char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnupg/tests/asschk.c:783,1
    - Dst: die_2
      Src: /src/gnupg/tests/asschk.c:786,1
    - Dst: strerror
      Src: /src/gnupg/tests/asschk.c:786,1
    - Dst: sprintf
      Src: /src/gnupg/tests/asschk.c:788,1
    - Dst: set_type_var
      Src: /src/gnupg/tests/asschk.c:789,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - assign_to
    - arg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 790
    functionName: cmd_openfile
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - die_2
    - open
    - sprintf
    - set_type_var
    - strerror
    linkageType: ''
    returnType: void
    signature: void cmd_openfile (const char *assign_to, char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnupg/tests/asschk.c:799,1
    - Dst: die_2
      Src: /src/gnupg/tests/asschk.c:802,1
    - Dst: strerror
      Src: /src/gnupg/tests/asschk.c:802,1
    - Dst: sprintf
      Src: /src/gnupg/tests/asschk.c:804,1
    - Dst: set_type_var
      Src: /src/gnupg/tests/asschk.c:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - assign_to
    - arg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 806
    functionName: cmd_createfile
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - die_2
    - open
    - sprintf
    - set_type_var
    - strerror
    linkageType: ''
    returnType: void
    signature: void cmd_createfile (const char *assign_to, char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: die_0
      Src: /src/gnupg/tests/asschk.c:815,1
    - Dst: start_server
      Src: /src/gnupg/tests/asschk.c:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - assign_to
    - arg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 809
    functionDepth: 1
    functionLinenumber: 809
    functionLinenumberEnd: 818
    functionName: cmd_pipeserver
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - die_0
    - start_server
    linkageType: ''
    returnType: void
    signature: void cmd_pipeserver (const char *assign_to, char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eval_boolean
      Src: /src/gnupg/tests/asschk.c:826,1
    - Dst: exit
      Src: /src/gnupg/tests/asschk.c:827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - assign_to
    - arg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 828
    functionName: cmd_quit_if
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - exit
    - eval_boolean
    linkageType: ''
    returnType: void
    signature: void cmd_quit_if(const char *assign_to, char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eval_boolean
      Src: /src/gnupg/tests/asschk.c:835,1
    - Dst: exit
      Src: /src/gnupg/tests/asschk.c:836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - assign_to
    - arg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 837
    functionName: cmd_fail_if
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - exit
    - eval_boolean
    linkageType: ''
    returnType: void
    signature: void cmd_fail_if(const char *assign_to, char *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: set_var
      Src: /src/gnupg/tests/asschk.c:851,1
    - Dst: spacep
      Src: /src/gnupg/tests/asschk.c:852,1
    - Dst: die_0
      Src: /src/gnupg/tests/asschk.c:855,1
    - Dst: spacep
      Src: /src/gnupg/tests/asschk.c:856,1
    - Dst: spacep
      Src: /src/gnupg/tests/asschk.c:859,1
    - Dst: spacep
      Src: /src/gnupg/tests/asschk.c:863,1
    - Dst: die_0
      Src: /src/gnupg/tests/asschk.c:866,1
    - Dst: fopen
      Src: /src/gnupg/tests/asschk.c:869,1
    - Dst: err
      Src: /src/gnupg/tests/asschk.c:872,1
    - Dst: strerror
      Src: /src/gnupg/tests/asschk.c:872,1
    - Dst: fopen
      Src: /src/gnupg/tests/asschk.c:875,1
    - Dst: err
      Src: /src/gnupg/tests/asschk.c:878,1
    - Dst: strerror
      Src: /src/gnupg/tests/asschk.c:878,1
    - Dst: fclose
      Src: /src/gnupg/tests/asschk.c:879,1
    - Dst: fread
      Src: /src/gnupg/tests/asschk.c:882,1
    - Dst: ferror
      Src: /src/gnupg/tests/asschk.c:884,1
    - Dst: fread
      Src: /src/gnupg/tests/asschk.c:886,1
    - Dst: ferror
      Src: /src/gnupg/tests/asschk.c:887,1
    - Dst: memcmp
      Src: /src/gnupg/tests/asschk.c:889,1
    - Dst: feof
      Src: /src/gnupg/tests/asschk.c:895,1
    - Dst: feof
      Src: /src/gnupg/tests/asschk.c:895,1
    - Dst: err
      Src: /src/gnupg/tests/asschk.c:898,1
    - Dst: set_var
      Src: /src/gnupg/tests/asschk.c:899,1
    - Dst: err
      Src: /src/gnupg/tests/asschk.c:902,1
    - Dst: strerror
      Src: /src/gnupg/tests/asschk.c:902,1
    - Dst: err
      Src: /src/gnupg/tests/asschk.c:904,1
    - Dst: fclose
      Src: /src/gnupg/tests/asschk.c:905,1
    - Dst: fclose
      Src: /src/gnupg/tests/asschk.c:906,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 49
    argCount: 2
    argNames:
    - assign_to
    - arg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 907
    functionName: cmd_cmpfiles
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - die_0
    - fclose
    - spacep
    - feof
    - memcmp
    - fopen
    - set_var
    - fread
    - strerror
    - ferror
    - err
    linkageType: ''
    returnType: void
    signature: void cmd_cmpfiles (const char *assign_to, char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/tests/asschk.c:913,1
    - Dst: set_var
      Src: /src/gnupg/tests/asschk.c:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - assign_to
    - arg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 915
    functionName: cmd_getenv
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - getenv
    - set_var
    linkageType: ''
    returnType: void
    signature: void cmd_getenv (const char *assign_to, char *arg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/tests/asschk.c:950,1
    - Dst: expand_line
      Src: /src/gnupg/tests/asschk.c:954,1
    - Dst: spacep
      Src: /src/gnupg/tests/asschk.c:959,1
    - Dst: free
      Src: /src/gnupg/tests/asschk.c:963,1
    - Dst: spacep
      Src: /src/gnupg/tests/asschk.c:967,1
    - Dst: spacep
      Src: /src/gnupg/tests/asschk.c:976,1
    - Dst: die_0
      Src: /src/gnupg/tests/asschk.c:982,1
    - Dst: spacep
      Src: /src/gnupg/tests/asschk.c:988,1
    - Dst: unset_var
      Src: /src/gnupg/tests/asschk.c:992,1
    - Dst: free
      Src: /src/gnupg/tests/asschk.c:993,1
    - Dst: spacep
      Src: /src/gnupg/tests/asschk.c:997,1
    - Dst: spacep
      Src: /src/gnupg/tests/asschk.c:1003,1
    - Dst: strcmp
      Src: /src/gnupg/tests/asschk.c:1007,1
    - Dst: die_1
      Src: /src/gnupg/tests/asschk.c:1012,1
    - Dst: set_var
      Src: /src/gnupg/tests/asschk.c:1015,1
    - Dst: free
      Src: /src/gnupg/tests/asschk.c:1016,1
    - Dst: fnc
      Src: /src/gnupg/tests/asschk.c:1021,1
    - Dst: free
      Src: /src/gnupg/tests/asschk.c:1022,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 66
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 1024
    functionName: interpreter
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - die_0
    - die_1
    - unset_var
    - spacep
    - expand_line
    - strcmp
    - set_var
    - fnc
    - free
    linkageType: ''
    returnType: int
    signature: int interpreter (char *line)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/gnupg/tests/asschk.c:1040,1
    - Dst: set_var
      Src: /src/gnupg/tests/asschk.c:1046,1
    - Dst: strcmp
      Src: /src/gnupg/tests/asschk.c:1053,1
    - Dst: strcmp
      Src: /src/gnupg/tests/asschk.c:1055,1
    - Dst: strchr
      Src: /src/gnupg/tests/asschk.c:1060,1
    - Dst: set_var
      Src: /src/gnupg/tests/asschk.c:1065,1
    - Dst: set_var
      Src: /src/gnupg/tests/asschk.c:1069,1
    - Dst: die
      Src: /src/gnupg/tests/asschk.c:1080,1
    - Dst: fgets
      Src: /src/gnupg/tests/asschk.c:1083,1
    - Dst: strchr
      Src: /src/gnupg/tests/asschk.c:1085,1
    - Dst: die_0
      Src: /src/gnupg/tests/asschk.c:1087,1
    - Dst: interpreter
      Src: /src/gnupg/tests/asschk.c:1089,1
    - Dst: fflush
      Src: /src/gnupg/tests/asschk.c:1091,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1028
    functionDepth: 2
    functionLinenumber: 1028
    functionLinenumberEnd: 1094
    functionName: main
    functionSourceFile: /src/gnupg/tests/asschk.c
    functionUses: 0
    functionsReached:
    - die_0
    - interpreter
    - strcmp
    - fflush
    - strchr
    - strrchr
    - die
    - fgets
    - set_var
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:39,1
    - Dst: va_start
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:40,1
    - Dst: vfprintf
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:41,1
    - Dst: va_end
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:42,1
    - Dst: va_start
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:44,1
    - Dst: vprintf
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:45,1
    - Dst: va_end
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:46,1
    - Dst: fflush
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 50
    functionName: reply
    functionSourceFile: /src/gnupg/tests/openpgp/fake-pinentry.c
    functionUses: 0
    functionsReached:
    - va_end
    - vfprintf
    - fprintf
    - fflush
    - vprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: int reply (const char *fmt, ...)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:63,1
    - Dst: malloc
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:64,1
    - Dst: perror
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:67,1
    - Dst: exit
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:68,1
    - Dst: snprintf
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:70,1
    - Dst: fopen
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:72,1
    - Dst: perror
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:75,1
    - Dst: exit
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:76,1
    - Dst: fopen
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:79,1
    - Dst: perror
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:82,1
    - Dst: exit
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:83,1
    - Dst: fgets
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:86,1
    - Dst: strdup
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:91,1
    - Dst: perror
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:94,1
    - Dst: exit
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:95,1
    - Dst: fputs
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:99,1
    - Dst: ferror
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:102,1
    - Dst: perror
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:104,1
    - Dst: exit
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:105,1
    - Dst: ferror
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:108,1
    - Dst: perror
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:110,1
    - Dst: exit
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:111,1
    - Dst: fclose
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:114,1
    - Dst: fclose
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:115,1
    - Dst: remove
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:116,1
    - Dst: fprintf
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:118,1
    - Dst: strerror
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:119,1
    - Dst: exit
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:120,1
    - Dst: rename
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:123,1
    - Dst: fprintf
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:125,1
    - Dst: strerror
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:126,1
    - Dst: exit
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:127,1
    - Dst: free
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:130,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 132
    functionName: get_passphrase
    functionSourceFile: /src/gnupg/tests/openpgp/fake-pinentry.c
    functionUses: 0
    functionsReached:
    - strlen
    - perror
    - snprintf
    - fclose
    - exit
    - remove
    - fprintf
    - malloc
    - fopen
    - strdup
    - fputs
    - fgets
    - rename
    - strerror
    - ferror
    - free
    linkageType: ''
    returnType: char
    signature: 'char *

      get_passphrase (const char *fname)'
  - 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: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: whitespacep
    functionSourceFile: /src/gnupg/tests/openpgp/fake-pinentry.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: whitespacep(p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:145,1
    - Dst: whitespacep
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: rstrip
    functionSourceFile: /src/gnupg/tests/openpgp/fake-pinentry.c
    functionUses: 0
    functionsReached:
    - whitespacep
    - strlen
    linkageType: ''
    returnType: void
    signature: void rstrip (char *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: whitespacep
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:164,1
    - Dst: whitespacep
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:168,1
    - Dst: whitespacep
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: skip_options
    functionSourceFile: /src/gnupg/tests/openpgp/fake-pinentry.c
    functionUses: 0
    functionsReached:
    - whitespacep
    linkageType: ''
    returnType: char
    signature: 'char *

      skip_options (const char *line)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:183,1
    - Dst: strstr
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:185,1
    - Dst: skip_options
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:186,1
    - Dst: whitespacep
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:188,1
    - Dst: whitespacep
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:189,1
    - Dst: strspn
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:192,1
    - Dst: whitespacep
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - line
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 197
    functionName: option_value
    functionSourceFile: /src/gnupg/tests/openpgp/fake-pinentry.c
    functionUses: 0
    functionsReached:
    - strstr
    - strlen
    - whitespacep
    - skip_options
    - strspn
    linkageType: ''
    returnType: char
    signature: 'char *

      option_value (const char *line, const char *name)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:210,1
    - Dst: option_value
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:213,1
    - Dst: whitespacep
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:217,1
    - Dst: fopen
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:223,1
    - Dst: perror
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:226,1
    - Dst: option_value
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:231,1
    - Dst: whitespacep
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:235,1
    - Dst: get_passphrase
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:241,1
    - Dst: reply
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:244,1
    - Dst: rstrip
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:249,1
    - Dst: strdup
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:252,1
    - Dst: skip_options
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:252,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - args
    - r_passphrase
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 256
    functionName: parse_pinentry_user_data
    functionSourceFile: /src/gnupg/tests/openpgp/fake-pinentry.c
    functionUses: 0
    functionsReached:
    - reply
    - perror
    - fclose
    - whitespacep
    - get_passphrase
    - rstrip
    - skip_options
    - fopen
    - option_value
    - strdup
    linkageType: ''
    returnType: int
    signature: "int parse_pinentry_user_data (const char *args,\n                          char
      **r_passphrase)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: setvbuf
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:267,1
    - Dst: setvbuf
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:268,1
    - Dst: reply
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:270,1
    - Dst: getpid
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:270,1
    - Dst: reply
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:271,1
    - Dst: feof
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:273,1
    - Dst: fgets
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:277,1
    - Dst: fprintf
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:281,1
    - Dst: rstrip
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:283,1
    - Dst: strncmp
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:287,1
    - Dst: reply
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:290,1
    - Dst: reply
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:292,1
    - Dst: strncmp
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:294,1
    - Dst: reply
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:296,1
    - Dst: strncmp
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:299,1
    - Dst: strlen
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:299,1
    - Dst: parse_pinentry_user_data
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:301,1
    - Dst: strlen
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:301,1
    - Dst: reply
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:309,1
    - Dst: reply
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:314,1
    - Dst: fclose
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:316,1
    - Dst: free
      Src: /src/gnupg/tests/openpgp/fake-pinentry.c:319,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 321
    functionName: main
    functionSourceFile: /src/gnupg/tests/openpgp/fake-pinentry.c
    functionUses: 0
    functionsReached:
    - setvbuf
    - parse_pinentry_user_data
    - reply
    - strlen
    - fclose
    - rstrip
    - fprintf
    - feof
    - fgets
    - getpid
    - strncmp
    - free
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tests/gpgscm/t-child.c:34,1
    - Dst: setmode
      Src: /src/gnupg/tests/gpgscm/t-child.c:36,1
    - Dst: fileno
      Src: /src/gnupg/tests/gpgscm/t-child.c:36,1
    - Dst: setmode
      Src: /src/gnupg/tests/gpgscm/t-child.c:38,1
    - Dst: fileno
      Src: /src/gnupg/tests/gpgscm/t-child.c:38,1
    - Dst: strcmp
      Src: /src/gnupg/tests/gpgscm/t-child.c:44,1
    - Dst: strcmp
      Src: /src/gnupg/tests/gpgscm/t-child.c:46,1
    - Dst: strcmp
      Src: /src/gnupg/tests/gpgscm/t-child.c:48,1
    - Dst: strcmp
      Src: /src/gnupg/tests/gpgscm/t-child.c:50,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/t-child.c:51,1
    - Dst: strcmp
      Src: /src/gnupg/tests/gpgscm/t-child.c:52,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/t-child.c:53,1
    - Dst: strcmp
      Src: /src/gnupg/tests/gpgscm/t-child.c:54,1
    - Dst: fwrite
      Src: /src/gnupg/tests/gpgscm/t-child.c:55,1
    - Dst: strcmp
      Src: /src/gnupg/tests/gpgscm/t-child.c:56,1
    - Dst: fwrite
      Src: /src/gnupg/tests/gpgscm/t-child.c:58,1
    - Dst: fwrite
      Src: /src/gnupg/tests/gpgscm/t-child.c:59,1
    - Dst: strcmp
      Src: /src/gnupg/tests/gpgscm/t-child.c:61,1
    - Dst: feof
      Src: /src/gnupg/tests/gpgscm/t-child.c:62,1
    - Dst: fread
      Src: /src/gnupg/tests/gpgscm/t-child.c:65,1
    - Dst: fwrite
      Src: /src/gnupg/tests/gpgscm/t-child.c:66,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/t-child.c:70,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/gnupg/tests/gpgscm/t-child.c
    functionUses: 0
    functionsReached:
    - fwrite
    - fileno
    - strcmp
    - fprintf
    - feof
    - memset
    - setmode
    - fread
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tests/gpgscm/main.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pargs
    - popts
    argTypes:
    - gpgrt_argparse_t*
    - gpgrt_opt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: parse_arguments
    functionSourceFile: /src/gnupg/tests/gpgscm/main.c
    functionUses: 0
    functionsReached:
    - gpgrt_argparse
    linkageType: ''
    returnType: void
    signature: void parse_arguments (gpgrt_argparse_t *pargs, gpgrt_opt_t *popts)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/tests/gpgscm/main.c:109,1
    - Dst: _
      Src: /src/gnupg/tests/gpgscm/main.c:113,1
    - Dst: _
      Src: /src/gnupg/tests/gpgscm/main.c:116,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 123
    functionName: my_strusage
    functionSourceFile: /src/gnupg/tests/gpgscm/main.c
    functionUses: 0
    functionsReached:
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage( int level )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/tests/gpgscm/main.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: path_absolute_p
    functionSourceFile: /src/gnupg/tests/gpgscm/main.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int path_absolute_p (const char *p)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: path_absolute_p
      Src: /src/gnupg/tests/gpgscm/main.c:154,1
    - Dst: path_absolute_p
      Src: /src/gnupg/tests/gpgscm/main.c:156,1
    - Dst: fopen
      Src: /src/gnupg/tests/gpgscm/main.c:158,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/main.c:160,1
    - Dst: strlen
      Src: /src/gnupg/tests/gpgscm/main.c:165,1
    - Dst: asprintf
      Src: /src/gnupg/tests/gpgscm/main.c:167,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/main.c:168,1
    - Dst: fopen
      Src: /src/gnupg/tests/gpgscm/main.c:170,1
    - Dst: free
      Src: /src/gnupg/tests/gpgscm/main.c:179,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/main.c:183,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/main.c:189,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tests/gpgscm/main.c:190,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/main.c:192,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/main.c:198,1
    - Dst: fileno
      Src: /src/gnupg/tests/gpgscm/main.c:209,1
    - Dst: fstat
      Src: /src/gnupg/tests/gpgscm/main.c:214,1
    - Dst: mmap
      Src: /src/gnupg/tests/gpgscm/main.c:221,1
    - Dst: scheme_load_memory
      Src: /src/gnupg/tests/gpgscm/main.c:225,1
    - Dst: munmap
      Src: /src/gnupg/tests/gpgscm/main.c:226,1
    - Dst: scheme_load_named_file
      Src: /src/gnupg/tests/gpgscm/main.c:231,1
    - Dst: fclose
      Src: /src/gnupg/tests/gpgscm/main.c:232,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/main.c:236,1
    - Dst: gpg_error
      Src: /src/gnupg/tests/gpgscm/main.c:237,1
    - Dst: free
      Src: /src/gnupg/tests/gpgscm/main.c:242,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 63
    argCount: 4
    argNames:
    - sc
    - file_name
    - lookup_in_cwd
    - lookup_in_path
    argTypes:
    - scheme*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 244
    functionName: load
    functionSourceFile: /src/gnupg/tests/gpgscm/main.c
    functionUses: 0
    functionsReached:
    - strlen
    - gpg_error_from_syserror
    - free
    - fclose
    - fileno
    - fprintf
    - fstat
    - mmap
    - gpg_error
    - gpg_strerror
    - fopen
    - path_absolute_p
    - scheme_load_memory
    - scheme_load_named_file
    - munmap
    - asprintf
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t load (scheme *sc, char *file_name,\n      int lookup_in_cwd,
      int lookup_in_path)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/tests/gpgscm/main.c:268,1
    - Dst: getenv
      Src: /src/gnupg/tests/gpgscm/main.c:269,1
    - Dst: strdup
      Src: /src/gnupg/tests/gpgscm/main.c:271,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/tests/gpgscm/main.c:281,1
    - Dst: log_set_prefix
      Src: /src/gnupg/tests/gpgscm/main.c:282,1
    - Dst: i18n_init
      Src: /src/gnupg/tests/gpgscm/main.c:285,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/tests/gpgscm/main.c:286,1
    - Dst: gcry_check_version
      Src: /src/gnupg/tests/gpgscm/main.c:288,1
    - Dst: fputs
      Src: /src/gnupg/tests/gpgscm/main.c:290,1
    - Dst: exit
      Src: /src/gnupg/tests/gpgscm/main.c:291,1
    - Dst: parse_arguments
      Src: /src/gnupg/tests/gpgscm/main.c:298,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tests/gpgscm/main.c:299,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tests/gpgscm/main.c:301,1
    - Dst: exit
      Src: /src/gnupg/tests/gpgscm/main.c:302,1
    - Dst: scheme_init_new_custom_alloc
      Src: /src/gnupg/tests/gpgscm/main.c:304,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/main.c:306,1
    - Dst: scheme_set_input_port_file
      Src: /src/gnupg/tests/gpgscm/main.c:309,1
    - Dst: scheme_set_output_port_file
      Src: /src/gnupg/tests/gpgscm/main.c:310,1
    - Dst: load
      Src: /src/gnupg/tests/gpgscm/main.c:318,1
    - Dst: load
      Src: /src/gnupg/tests/gpgscm/main.c:320,1
    - Dst: ffi_init
      Src: /src/gnupg/tests/gpgscm/main.c:322,1
    - Dst: load
      Src: /src/gnupg/tests/gpgscm/main.c:325,1
    - Dst: load
      Src: /src/gnupg/tests/gpgscm/main.c:327,1
    - Dst: load
      Src: /src/gnupg/tests/gpgscm/main.c:329,1
    - Dst: load
      Src: /src/gnupg/tests/gpgscm/main.c:331,1
    - Dst: load
      Src: /src/gnupg/tests/gpgscm/main.c:333,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/main.c:336,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tests/gpgscm/main.c:337,1
    - Dst: exit
      Src: /src/gnupg/tests/gpgscm/main.c:338,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/main.c:344,1
    - Dst: scheme_load_string
      Src: /src/gnupg/tests/gpgscm/main.c:345,1
    - Dst: load
      Src: /src/gnupg/tests/gpgscm/main.c:349,1
    - Dst: log_fatal
      Src: /src/gnupg/tests/gpgscm/main.c:351,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tests/gpgscm/main.c:351,1
    - Dst: scheme_load_string
      Src: /src/gnupg/tests/gpgscm/main.c:355,1
    - Dst: scheme_deinit
      Src: /src/gnupg/tests/gpgscm/main.c:356,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/main.c:357,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 359
    functionName: main
    functionSourceFile: /src/gnupg/tests/gpgscm/main.c
    functionUses: 0
    functionsReached:
    - scheme_set_input_port_file
    - init_common_subsystems
    - exit
    - gpgrt_set_strusage
    - scheme_init_new_custom_alloc
    - log_set_prefix
    - parse_arguments
    - ffi_init
    - scheme_set_output_port_file
    - log_get_errorcount
    - scheme_load_string
    - load
    - scheme_deinit
    - gcry_check_version
    - fprintf
    - gpg_strerror
    - xfree
    - strdup
    - gpgrt_argparse
    - i18n_init
    - getenv
    - log_fatal
    - fputs
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/gnupg/tests/gpgscm/scheme.c:94,1
    - Dst: tolower
      Src: /src/gnupg/tests/gpgscm/scheme.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: stricmp
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: int stricmp(const char *s1, const char *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/gnupg/tests/gpgscm/scheme.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: strlwr
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: char
    signature: char *strlwr(char *s)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_unreachable
      Src: /src/gnupg/tests/gpgscm/scheme.c:184,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 1
    argNames:
    - typ
    argTypes:
    - enum scheme_types
    assertStmts:
    - condition: (! "not reached")
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 188
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 188
    functionName: type_to_string
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - assert
    linkageType: ''
    returnType: char
    signature: 'char *

      type_to_string (enum scheme_types typ)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: num_is_integer
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: INLINE
    signature: INLINE num_is_integer(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: typeflag
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: typeflag(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: type
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: type(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: settype
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: settype(p, typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: is_string
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_string(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: strvalue
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strvalue(p)
  - 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: strlength
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strlength(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: is_vector
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_vector(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: vector_length
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vector_length(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: vector_size
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vector_size(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: is_number
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_number(pointer p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_number
      Src: /src/gnupg/tests/gpgscm/scheme.c:251,1
    - Dst: num_is_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:253,1
    - Dst: ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:253,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: is_integer
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - num_is_integer
    - ivalue
    - is_number
    - rvalue
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_integer(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_number
      Src: /src/gnupg/tests/gpgscm/scheme.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: is_real
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_number
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_real(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: is_character
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_character(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: string_value
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - strvalue
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE *string_value(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: nvalue
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: INLINE
    signature: INLINE nvalue(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_is_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: ivalue
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - num_is_integer
    linkageType: ''
    returnType: INTERFACE long
    signature: INTERFACE long ivalue(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_is_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: rvalue
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - num_is_integer
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE rvalue(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 268
    functionName: ivalue_unchecked
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ivalue_unchecked(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: rvalue_unchecked
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rvalue_unchecked(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: set_num_integer
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_num_integer(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: set_num_real
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_num_real(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ivalue_unchecked
      Src: /src/gnupg/tests/gpgscm/scheme.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: charvalue
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue_unchecked
    linkageType: ''
    returnType: INTERFACE  long
    signature: INTERFACE  long charvalue(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: is_port
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_port(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_port
      Src: /src/gnupg/tests/gpgscm/scheme.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: is_inport
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_port
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_inport(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_port
      Src: /src/gnupg/tests/gpgscm/scheme.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: is_outport
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_port
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_outport(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: is_pair
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_pair(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 279
    functionName: car
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: car(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: cdr
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cdr(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: pair_car
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE pair_car(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: pair_cdr
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cdr
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE pair_cdr(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: set_car
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE set_car(pointer p, pointer q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: set_cdr
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cdr
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE set_cdr(pointer p, pointer q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: is_symbol
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_symbol(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:286,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: symname
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - strvalue
    - car
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE *symname(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: hasprop
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_symbol
    linkageType: ''
    returnType: SCHEME_EXPORT
    signature: SCHEME_EXPORT hasprop(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: symprop
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: symprop(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: is_syntax
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - typeflag
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_syntax(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: is_proc
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_proc(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: is_foreign
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_foreign(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:295,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: syntaxname
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - strvalue
    - car
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE *syntaxname(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 297
    functionName: procnum
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: procnum(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: is_closure
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_closure(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: is_macro
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_macro(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: closure_code
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE closure_code(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: closure_env
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cdr
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE closure_env(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: is_continuation
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_continuation(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 306
    functionName: cont_dump
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cont_dump(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 307
    functionName: is_foreign_object
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_foreign_object(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: foreign_object_vtable *get_foreign_object_vtable(pointer p)
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE foreign_object_vtable *get_foreign_object_vtable(pointer
      p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: get_foreign_object_data
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE *get_foreign_object_data(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: is_promise
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_promise(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: is_environment
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_environment(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: setenvironment
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setenvironment(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: is_frame
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_frame(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 323
    functionName: setframe
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setframe(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 325
    functionName: is_atom
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_atom(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: setatom
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setatom(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 327
    functionName: clratom
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clratom(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 329
    functionName: is_mark
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_mark(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 330
    functionName: setmark
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setmark(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: clrmark
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clrmark(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: is_immutable
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - typeflag
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_immutable(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: setimmutable
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - typeflag
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE setimmutable(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    functionName: caar
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: caar(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    functionName: cadr
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cadr(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 339
    functionName: cdar
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cdar(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 340
    functionName: cddr
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cddr(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: cadar
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cadar(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: caddr
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: caddr(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 343
    functionName: cdaar
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cdaar(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: cadaar
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cadaar(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    functionName: cadddr
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cadddr(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 346
    functionName: cddddr
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cddddr(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - SC
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 352
    functionName: history_mark
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: history_mark(SC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - SC
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 353
    functionName: history_flatten
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: history_flatten(SC)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/gnupg/tests/gpgscm/scheme.c:356,1
    - Dst: isalpha
      Src: /src/gnupg/tests/gpgscm/scheme.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 356
    functionName: Cisalpha
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - isalpha
    - isascii
    linkageType: ''
    returnType: INLINE
    signature: INLINE Cisalpha(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/gnupg/tests/gpgscm/scheme.c:357,1
    - Dst: isdigit
      Src: /src/gnupg/tests/gpgscm/scheme.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: Cisdigit
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - isdigit
    - isascii
    linkageType: ''
    returnType: INLINE
    signature: INLINE Cisdigit(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/gnupg/tests/gpgscm/scheme.c:358,1
    - Dst: isspace
      Src: /src/gnupg/tests/gpgscm/scheme.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: Cisspace
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - isspace
    - isascii
    linkageType: ''
    returnType: INLINE
    signature: INLINE Cisspace(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/gnupg/tests/gpgscm/scheme.c:359,1
    - Dst: isupper
      Src: /src/gnupg/tests/gpgscm/scheme.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: Cisupper
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - isupper
    - isascii
    linkageType: ''
    returnType: INLINE
    signature: INLINE Cisupper(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/gnupg/tests/gpgscm/scheme.c:360,1
    - Dst: islower
      Src: /src/gnupg/tests/gpgscm/scheme.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: Cislower
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - islower
    - isascii
    linkageType: ''
    returnType: INLINE
    signature: INLINE Cislower(int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/gnupg/tests/gpgscm/scheme.c:402,1
    - Dst: strcasecmp
      Src: /src/gnupg/tests/gpgscm/scheme.c:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - name
    - pc
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 412
    functionName: is_ascii_name
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int is_ascii_name(const char *name, int *pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 477
    functionName: num_ivalue
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: num_ivalue(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 478
    functionName: num_rvalue
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: num_rvalue(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:485,1
    - Dst: num_rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 488
    functionName: num_add
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_rvalue
    linkageType: ''
    returnType: num
    signature: num num_add(num a, num b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:496,1
    - Dst: num_rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 499
    functionName: num_mul
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_rvalue
    linkageType: ''
    returnType: num
    signature: num num_mul(num a, num b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:507,1
    - Dst: num_rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 510
    functionName: num_div
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_rvalue
    linkageType: ''
    returnType: num
    signature: num num_div(num a, num b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:518,1
    - Dst: num_rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 521
    functionName: num_intdiv
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_rvalue
    linkageType: ''
    returnType: num
    signature: num num_intdiv(num a, num b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:529,1
    - Dst: num_rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 532
    functionName: num_sub
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_rvalue
    linkageType: ''
    returnType: num
    signature: num num_sub(num a, num b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: num_ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:538,1
    - Dst: num_ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:539,1
    - Dst: labs
      Src: /src/gnupg/tests/gpgscm/scheme.c:544,1
    - Dst: labs
      Src: /src/gnupg/tests/gpgscm/scheme.c:548,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 553
    functionName: num_rem
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_ivalue
    - labs
    linkageType: ''
    returnType: num
    signature: num num_rem(num a, num b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:559,1
    - Dst: num_ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 568
    functionName: num_mod
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_ivalue
    linkageType: ''
    returnType: num
    signature: num num_mod(num a, num b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:576,1
    - Dst: num_rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 579
    functionName: num_eq
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_rvalue
    linkageType: ''
    returnType: int
    signature: int num_eq(num a, num b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:588,1
    - Dst: num_rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 591
    functionName: num_gt
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_rvalue
    linkageType: ''
    returnType: int
    signature: int num_gt(num a, num b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_lt
      Src: /src/gnupg/tests/gpgscm/scheme.c:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 595
    functionName: num_ge
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_lt
    linkageType: ''
    returnType: int
    signature: int num_ge(num a, num b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:603,1
    - Dst: num_rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 606
    functionName: num_lt
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - num_rvalue
    linkageType: ''
    returnType: int
    signature: int num_lt(num a, num b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_gt
      Src: /src/gnupg/tests/gpgscm/scheme.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 610
    functionName: num_le
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_gt
    linkageType: ''
    returnType: int
    signature: int num_le(num a, num b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/gnupg/tests/gpgscm/scheme.c:615,1
    - Dst: ceil
      Src: /src/gnupg/tests/gpgscm/scheme.c:616,1
    - Dst: fmod
      Src: /src/gnupg/tests/gpgscm/scheme.c:624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 630
    functionName: round_per_R5RS
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - floor
    - fmod
    - ceil
    linkageType: ''
    returnType: double
    signature: double round_per_R5RS(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 635
    functionName: is_zero_double
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_zero_double(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 647
    functionName: binary_decode
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long binary_decode(const char *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/tests/gpgscm/scheme.c:678,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:681,1
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:682,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:684,1
    - Dst: store_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:684,1
    - Dst: strlength
      Src: /src/gnupg/tests/gpgscm/scheme.c:684,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:684,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:688,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:692,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:695,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - sc
    - dst
    - src
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts:
    - condition: (!"implemented")
      pos:
        line_end: 687
        line_start: 687
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    - condition: (!"implemented")
      pos:
        line_end: 691
        line_start: 691
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    - condition: (!"vectors cannot be copied")
      pos:
        line_end: 694
        line_start: 694
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 697
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 697
    functionName: copy_value
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    - typeflag
    - assert
    - strlength
    - strvalue
    - memcpy
    - store_string
    linkageType: ''
    returnType: void
    signature: void copy_value(scheme *sc, pointer dst, pointer src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:709,1
    - Dst: is_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:709,1
    - Dst: get_consecutive_cells
      Src: /src/gnupg/tests/gpgscm/scheme.c:711,1
    - Dst: copy_value
      Src: /src/gnupg/tests/gpgscm/scheme.c:715,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:716,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:719,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:720,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - sc
    - v
    - tag_car
    - tag_cdr
    argTypes:
    - scheme*
    - pointer
    - pointer
    - pointer
    assertStmts:
    - condition: (! is_vector(v))
      pos:
        line_end: 708
        line_start: 708
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 724
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 724
    functionName: mk_tagged_value
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_vector
    - typeflag
    - assert
    - get_consecutive_cells
    - car
    - cdr
    - copy_value
    linkageType: ''
    returnType: pointer
    signature: pointer mk_tagged_value(scheme *sc, pointer v, pointer tag_car, pointer
      tag_cdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 730
    functionName: has_tag
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - typeflag
    linkageType: ''
    returnType: INLINE
    signature: INLINE has_tag(pointer v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_tag
      Src: /src/gnupg/tests/gpgscm/scheme.c:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - v
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 738
    functionName: get_tag
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - has_tag
    linkageType: ''
    returnType: INLINE
    signature: INLINE get_tag(scheme *sc, pointer v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::malloc
      Src: /src/gnupg/tests/gpgscm/scheme.c:770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - sc
    - len
    - segment
    argTypes:
    - scheme*
    - size_t
    - struct cell_segment**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 786
    functionName: _alloc_cellseg
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - scheme*::malloc
    linkageType: ''
    returnType: int
    signature: int _alloc_cellseg(scheme *sc, size_t len, struct cell_segment **segment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::free
      Src: /src/gnupg/tests/gpgscm/scheme.c:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - segment
    argTypes:
    - scheme*
    - struct cell_segment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 802
    functionName: _dealloc_cellseg
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - scheme*::free
    linkageType: ''
    returnType: struct cell_segment
    signature: 'struct cell_segment *

      _dealloc_cellseg(scheme *sc, struct cell_segment *segment)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _alloc_cellseg
      Src: /src/gnupg/tests/gpgscm/scheme.c:812,1
    - Dst: alloc::alloc
      Src: /src/gnupg/tests/gpgscm/scheme.c:817,1
    - Dst: sc::sc
      Src: /src/gnupg/tests/gpgscm/scheme.c:822,1
    - Dst: cells_len::cells_len
      Src: /src/gnupg/tests/gpgscm/scheme.c:824,1
    - Dst: cells::cells
      Src: /src/gnupg/tests/gpgscm/scheme.c:825,1
    - Dst: cells_len::cells_len
      Src: /src/gnupg/tests/gpgscm/scheme.c:825,1
    - Dst: cells::cells
      Src: /src/gnupg/tests/gpgscm/scheme.c:826,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:828,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:829,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:833,1
    - Dst: cells::cells
      Src: /src/gnupg/tests/gpgscm/scheme.c:834,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:837,1
    - Dst: cells::cells
      Src: /src/gnupg/tests/gpgscm/scheme.c:837,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:837,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:838,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:839,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:839,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:840,1
    - Dst: cells::cells
      Src: /src/gnupg/tests/gpgscm/scheme.c:840,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - sc
    - n
    argTypes:
    - scheme*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 844
    functionName: alloc_cellseg
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - sc::sc
    - car
    - cdr
    - _alloc_cellseg
    - cells_len::cells_len
    - alloc::alloc
    - cells::cells
    linkageType: ''
    returnType: int
    signature: int alloc_cellseg(scheme *sc, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 827
    functionName: typeflag
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void typeflag(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 881
    functionName: gc_reservations
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_reservations(fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:889,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:892,1
    - Dst: abort
      Src: /src/gnupg/tests/gpgscm/scheme.c:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 898
    functionName: gc_reservation_failure
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - fprintf
    - abort
    linkageType: ''
    returnType: void
    signature: void gc_reservation_failure(struct scheme *sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserve_cells
      Src: /src/gnupg/tests/gpgscm/scheme.c:908,1
    - Dst: gc_reservation_failure
      Src: /src/gnupg/tests/gpgscm/scheme.c:916,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - sc
    - reserve
    - lineno
    argTypes:
    - struct scheme*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 918
    functionName: _gc_disable
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - gc_reservation_failure
    - reserve_cells
    linkageType: ''
    returnType: void
    signature: void _gc_disable(struct scheme *sc, size_t reserve, int lineno)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - reserve
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 929
    functionName: gc_disable
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_disable(sc, reserve)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 936
    functionName: gc_enable
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_enable(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 940
    functionName: gc_enabled
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_enabled(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 949
    functionName: gc_consume
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_consume(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 953
    functionName: gc_reservation_failure
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_reservation_failure(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - reserve
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 958
    functionName: gc_disable
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_disable(sc, reserve)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 959
    functionName: gc_enable
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_enable(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 960
    functionName: gc_enabled
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_enabled(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 961
    functionName: gc_consume
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_consume(sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gc_enabled
      Src: /src/gnupg/tests/gpgscm/scheme.c:965,1
    - Dst: gc_enabled
      Src: /src/gnupg/tests/gpgscm/scheme.c:967,1
    - Dst: gc_consume
      Src: /src/gnupg/tests/gpgscm/scheme.c:968,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:969,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:973,1
    - Dst: gc_enabled
      Src: /src/gnupg/tests/gpgscm/scheme.c:973,1
    - Dst: _get_cell
      Src: /src/gnupg/tests/gpgscm/scheme.c:974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - sc
    - a
    - b
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts:
    - condition: (gc_enabled (sc))
      pos:
        line_end: 972
        line_start: 972
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 975
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 975
    functionName: get_cell_x
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - assert
    - _get_cell
    - cdr
    - gc_enabled
    - gc_consume
    linkageType: ''
    returnType: INLINE
    signature: INLINE get_cell_x(scheme *sc, pointer a, pointer b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:986,1
    - Dst: gc_enabled
      Src: /src/gnupg/tests/gpgscm/scheme.c:986,1
    - Dst: gc
      Src: /src/gnupg/tests/gpgscm/scheme.c:988,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:995,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - sc
    - a
    - b
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts:
    - condition: (gc_enabled (sc))
      pos:
        line_end: 985
        line_start: 985
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 998
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 998
    functionName: _get_cell
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - gc_enabled
    - gc
    - cdr
    - assert
    linkageType: ''
    returnType: pointer
    signature: pointer _get_cell(scheme *sc, pointer a, pointer b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gc
      Src: /src/gnupg/tests/gpgscm/scheme.c:1009,1
    - Dst: alloc_cellseg
      Src: /src/gnupg/tests/gpgscm/scheme.c:1012,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - sc
    - n
    argTypes:
    - scheme*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1024
    functionName: reserve_cells
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - alloc_cellseg
    - gc
    linkageType: ''
    returnType: pointer
    signature: pointer reserve_cells(scheme *sc, int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find_consecutive_cells
      Src: /src/gnupg/tests/gpgscm/scheme.c:1032,1
    - Dst: gc
      Src: /src/gnupg/tests/gpgscm/scheme.c:1036,1
    - Dst: find_consecutive_cells
      Src: /src/gnupg/tests/gpgscm/scheme.c:1037,1
    - Dst: alloc_cellseg
      Src: /src/gnupg/tests/gpgscm/scheme.c:1041,1
    - Dst: find_consecutive_cells
      Src: /src/gnupg/tests/gpgscm/scheme.c:1047,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - sc
    - n
    argTypes:
    - scheme*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1053
    functionName: get_consecutive_cells
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - alloc_cellseg
    - find_consecutive_cells
    - gc
    linkageType: ''
    returnType: pointer
    signature: pointer get_consecutive_cells(scheme *sc, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1057,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1058,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - x
    - needed
    argTypes:
    - pointer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1063
    functionName: count_consecutive_cells
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cdr
    linkageType: ''
    returnType: int
    signature: int count_consecutive_cells(pointer x, int needed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count_consecutive_cells
      Src: /src/gnupg/tests/gpgscm/scheme.c:1071,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1074,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - sc
    - n
    argTypes:
    - scheme*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1081
    functionName: find_consecutive_cells
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - count_consecutive_cells
    - cdr
    linkageType: ''
    returnType: pointer
    signature: pointer find_consecutive_cells(scheme *sc, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - a
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1091
    functionName: free_cell
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cdr
    linkageType: ''
    returnType: INLINE
    signature: INLINE free_cell(scheme *sc, pointer a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1098,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1099,1
    - Dst: free_cell
      Src: /src/gnupg/tests/gpgscm/scheme.c:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - sc
    - a
    - r_car
    - r_cdr
    argTypes:
    - scheme*
    - pointer
    - pointer*
    - pointer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1101
    functionName: free_cons
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - free_cell
    - cdr
    linkageType: ''
    returnType: INLINE
    signature: INLINE free_cons(scheme *sc, pointer a, pointer *r_car, pointer *r_cdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell_x
      Src: /src/gnupg/tests/gpgscm/scheme.c:1108,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:1109,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1110,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1111,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1111,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sc
    - recent
    - extra
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1113
    functionName: push_recent_alloc
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - get_cell_x
    - car
    - cdr
    - typeflag
    linkageType: ''
    returnType: void
    signature: void push_recent_alloc(scheme *sc, pointer recent, pointer extra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1117,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1118,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1121,1
    - Dst: free_cell
      Src: /src/gnupg/tests/gpgscm/scheme.c:1122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1125
    functionName: ok_to_freely_gc
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - free_cell
    - cdr
    linkageType: ''
    returnType: INLINE
    signature: INLINE ok_to_freely_gc(scheme *sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cell_x
      Src: /src/gnupg/tests/gpgscm/scheme.c:1129,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:1133,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1134,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1135,1
    - Dst: gc_enabled
      Src: /src/gnupg/tests/gpgscm/scheme.c:1136,1
    - Dst: push_recent_alloc
      Src: /src/gnupg/tests/gpgscm/scheme.c:1137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - sc
    - a
    - b
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1139
    functionName: get_cell
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - gc_enabled
    - typeflag
    - car
    - cdr
    - push_recent_alloc
    - get_cell_x
    linkageType: ''
    returnType: pointer
    signature: pointer get_cell(scheme *sc, pointer a, pointer b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_consecutive_cells
      Src: /src/gnupg/tests/gpgscm/scheme.c:1143,1
    - Dst: vector_size
      Src: /src/gnupg/tests/gpgscm/scheme.c:1143,1
    - Dst: vector_size
      Src: /src/gnupg/tests/gpgscm/scheme.c:1145,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:1148,1
    - Dst: vector_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:1149,1
    - Dst: fill_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:1150,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:1153,1
    - Dst: gc_enabled
      Src: /src/gnupg/tests/gpgscm/scheme.c:1157,1
    - Dst: push_recent_alloc
      Src: /src/gnupg/tests/gpgscm/scheme.c:1158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - sc
    - len
    - init
    argTypes:
    - scheme*
    - int
    - pointer
    assertStmts:
    - condition: (alloc_len - len < 3)
      pos:
        line_end: 1152
        line_start: 1152
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 1160
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1160
    functionName: get_vector_object
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - vector_length
    - typeflag
    - assert
    - fill_vector
    - get_consecutive_cells
    - vector_size
    - push_recent_alloc
    - gc_enabled
    linkageType: ''
    returnType: pointer
    signature: pointer get_vector_object(scheme *sc, int len, pointer init)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/gnupg/tests/gpgscm/scheme.c:1166,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:1168,1
    - Dst: setimmutable
      Src: /src/gnupg/tests/gpgscm/scheme.c:1170,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1172,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - sc
    - a
    - b
    - immutable
    argTypes:
    - scheme*
    - pointer
    - pointer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1175
    functionName: _cons
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - typeflag
    - car
    - cdr
    - get_cell
    - setimmutable
    linkageType: ''
    returnType: pointer
    signature: pointer _cons(scheme *sc, pointer a, pointer b, int immutable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mk_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1189
    functionName: oblist_initial_value
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_vector
    linkageType: ''
    returnType: pointer
    signature: pointer oblist_initial_value(scheme *sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hash_fn
      Src: /src/gnupg/tests/gpgscm/scheme.c:1202,1
    - Dst: vector_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:1202,1
    - Dst: vector_elem_slot
      Src: /src/gnupg/tests/gpgscm/scheme.c:1203,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1204,1
    - Dst: symname
      Src: /src/gnupg/tests/gpgscm/scheme.c:1205,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1205,1
    - Dst: stricmp
      Src: /src/gnupg/tests/gpgscm/scheme.c:1207,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - sc
    - name
    - slot
    argTypes:
    - scheme*
    - char*
    - pointer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1214
    functionName: oblist_find_by_name
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - vector_length
    - car
    - symname
    - cdr
    - hash_fn
    - stricmp
    - vector_elem_slot
    linkageType: ''
    returnType: INLINE
    signature: INLINE oblist_find_by_name(scheme *sc, const char *name, pointer **slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:1222,1
    - Dst: vector_elem
      Src: /src/gnupg/tests/gpgscm/scheme.c:1223,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1223,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:1224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1228
    functionName: oblist_all_symbols
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - vector_length
    - cons
    - cdr
    - vector_elem
    linkageType: ''
    returnType: pointer
    signature: pointer oblist_all_symbols(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1235
    functionName: oblist_initial_value
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer oblist_initial_value(scheme *sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1247,1
    - Dst: symname
      Src: /src/gnupg/tests/gpgscm/scheme.c:1248,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1248,1
    - Dst: stricmp
      Src: /src/gnupg/tests/gpgscm/scheme.c:1250,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - sc
    - name
    - slot
    argTypes:
    - scheme*
    - char*
    - pointer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1257
    functionName: oblist_find_by_name
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - stricmp
    - car
    - symname
    - cdr
    linkageType: ''
    returnType: INLINE
    signature: INLINE oblist_find_by_name(scheme *sc, const char *name, pointer **slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1262
    functionName: oblist_all_symbols
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer oblist_all_symbols(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:1275,1
    - Dst: gc_reservations
      Src: /src/gnupg/tests/gpgscm/scheme.c:1275,1
    - Dst: immutable_cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:1276,1
    - Dst: mk_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:1276,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:1277,1
    - Dst: setimmutable
      Src: /src/gnupg/tests/gpgscm/scheme.c:1278,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1278,1
    - Dst: immutable_cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:1279,1
    - Dst: gc_enable
      Src: /src/gnupg/tests/gpgscm/scheme.c:1280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - sc
    - name
    - slot
    argTypes:
    - scheme*
    - char*
    - pointer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1282
    functionName: oblist_add_by_name
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - typeflag
    - car
    - gc_enable
    - immutable_cons
    - gc_reservations
    - setimmutable
    - gc_disable
    - mk_string
    linkageType: ''
    returnType: pointer
    signature: pointer oblist_add_by_name(scheme *sc, const char *name, pointer *slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/gnupg/tests/gpgscm/scheme.c:1287,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - p
    argTypes:
    - scheme*
    - port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1292
    functionName: mk_port
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - get_cell
    - typeflag
    linkageType: ''
    returnType: pointer
    signature: pointer mk_port(scheme *sc, port *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/gnupg/tests/gpgscm/scheme.c:1295,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - f
    argTypes:
    - scheme*
    - foreign_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1300
    functionName: mk_foreign_func
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - get_cell
    - typeflag
    linkageType: ''
    returnType: pointer
    signature: pointer mk_foreign_func(scheme *sc, foreign_func f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/gnupg/tests/gpgscm/scheme.c:1303,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sc
    - vtable
    - data
    argTypes:
    - scheme*
    - foreign_object_vtable*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1309
    functionName: mk_foreign_object
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - get_cell
    - typeflag
    linkageType: ''
    returnType: pointer
    signature: pointer mk_foreign_object(scheme *sc, const foreign_object_vtable *vtable,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/gnupg/tests/gpgscm/scheme.c:1312,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:1314,1
    - Dst: ivalue_unchecked
      Src: /src/gnupg/tests/gpgscm/scheme.c:1315,1
    - Dst: set_num_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - c
    argTypes:
    - scheme*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1318
    functionName: mk_character
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - get_cell
    - ivalue_unchecked
    - set_num_integer
    - typeflag
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE mk_character(scheme *sc, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:1338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - n
    argTypes:
    - scheme*
    - long
    assertStmts:
    - condition: (0 <= n && n < MAX_SMALL_INTEGER)
      pos:
        line_end: 1337
        line_start: 1337
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 1340
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1340
    functionName: mk_small_integer
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: INLINE
    signature: INLINE mk_small_integer(scheme *sc, long n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mk_small_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:1354,1
    - Dst: get_cell
      Src: /src/gnupg/tests/gpgscm/scheme.c:1357,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:1358,1
    - Dst: ivalue_unchecked
      Src: /src/gnupg/tests/gpgscm/scheme.c:1359,1
    - Dst: set_num_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:1360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sc
    - n
    argTypes:
    - scheme*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1362
    functionName: mk_integer
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue_unchecked
    - typeflag
    - get_cell
    - set_num_integer
    - mk_small_integer
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE mk_integer(scheme *sc, long n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/gnupg/tests/gpgscm/scheme.c:1367,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:1369,1
    - Dst: rvalue_unchecked
      Src: /src/gnupg/tests/gpgscm/scheme.c:1370,1
    - Dst: set_num_real
      Src: /src/gnupg/tests/gpgscm/scheme.c:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - n
    argTypes:
    - scheme*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1373
    functionName: mk_real
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - get_cell
    - rvalue_unchecked
    - set_num_real
    - typeflag
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE mk_real(scheme *sc, double n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:1377,1
    - Dst: mk_real
      Src: /src/gnupg/tests/gpgscm/scheme.c:1379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - n
    argTypes:
    - scheme*
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1381
    functionName: mk_number
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_integer
    - mk_real
    linkageType: ''
    returnType: pointer
    signature: pointer mk_number(scheme *sc, num n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::malloc
      Src: /src/gnupg/tests/gpgscm/scheme.c:1387,1
    - Dst: memcpy
      Src: /src/gnupg/tests/gpgscm/scheme.c:1393,1
    - Dst: memset
      Src: /src/gnupg/tests/gpgscm/scheme.c:1396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - sc
    - len_str
    - str
    - fill
    argTypes:
    - scheme*
    - int
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1400
    functionName: store_string
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - scheme*::malloc
    - memset
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *store_string(scheme *sc, int len_str, const char *str, char fill)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mk_counted_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:1404,1
    - Dst: strlen
      Src: /src/gnupg/tests/gpgscm/scheme.c:1404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - str
    argTypes:
    - scheme*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1405
    functionName: mk_string
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - mk_counted_string
    - strlen
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE mk_string(scheme *sc, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/gnupg/tests/gpgscm/scheme.c:1408,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:1409,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:1410,1
    - Dst: store_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:1410,1
    - Dst: strlength
      Src: /src/gnupg/tests/gpgscm/scheme.c:1411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sc
    - str
    - len
    argTypes:
    - scheme*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1413
    functionName: mk_counted_string
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - typeflag
    - strlength
    - get_cell
    - strvalue
    - store_string
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE mk_counted_string(scheme *sc, const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/gnupg/tests/gpgscm/scheme.c:1416,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:1417,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:1418,1
    - Dst: store_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:1418,1
    - Dst: strlength
      Src: /src/gnupg/tests/gpgscm/scheme.c:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sc
    - len
    - fill
    argTypes:
    - scheme*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1421
    functionName: mk_empty_string
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - typeflag
    - strlength
    - get_cell
    - strvalue
    - store_string
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE mk_empty_string(scheme *sc, int len, char fill)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_vector_object
      Src: /src/gnupg/tests/gpgscm/scheme.c:1424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - len
    argTypes:
    - scheme*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1424
    functionName: mk_vector
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - get_vector_object
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE mk_vector(scheme *sc, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:1428,1
    - Dst: is_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:1428,1
    - Dst: vector_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:1429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vec
    - obj
    argTypes:
    - pointer
    - pointer
    assertStmts:
    - condition: (is_vector (vec))
      pos:
        line_end: 1427
        line_start: 1427
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 1432
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1432
    functionName: fill_vector
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - vector_length
    - is_vector
    - assert
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE fill_vector(pointer vec, pointer obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:1435,1
    - Dst: is_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:1435,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:1436,1
    - Dst: vector_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vec
    - ielem
    argTypes:
    - pointer
    - int
    assertStmts:
    - condition: (is_vector (vec))
      pos:
        line_end: 1434
        line_start: 1434
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    - condition: (ielem < vector_length(vec))
      pos:
        line_end: 1435
        line_start: 1435
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 1438
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1438
    functionName: vector_elem_slot
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - vector_length
    - is_vector
    - assert
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE *vector_elem_slot(pointer vec, int ielem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:1441,1
    - Dst: is_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:1441,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:1442,1
    - Dst: vector_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:1442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vec
    - ielem
    argTypes:
    - pointer
    - int
    assertStmts:
    - condition: (is_vector (vec))
      pos:
        line_end: 1440
        line_start: 1440
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    - condition: (ielem < vector_length(vec))
      pos:
        line_end: 1441
        line_start: 1441
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 1444
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1444
    functionName: vector_elem
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - vector_length
    - is_vector
    - assert
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE vector_elem(pointer vec, int ielem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:1447,1
    - Dst: is_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:1447,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:1448,1
    - Dst: vector_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:1448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - vec
    - ielem
    - a
    argTypes:
    - pointer
    - int
    - pointer
    assertStmts:
    - condition: (is_vector (vec))
      pos:
        line_end: 1446
        line_start: 1446
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    - condition: (ielem < vector_length(vec))
      pos:
        line_end: 1447
        line_start: 1447
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 1451
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1451
    functionName: set_vector_elem
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - vector_length
    - is_vector
    - assert
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE set_vector_elem(pointer vec, int ielem, pointer a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oblist_find_by_name
      Src: /src/gnupg/tests/gpgscm/scheme.c:1460,1
    - Dst: oblist_add_by_name
      Src: /src/gnupg/tests/gpgscm/scheme.c:1464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sc
    - name
    argTypes:
    - scheme*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1467
    functionName: mk_symbol
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - oblist_add_by_name
    - oblist_find_by_name
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE mk_symbol(scheme *sc, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:1475,1
    - Dst: oblist_find_by_name
      Src: /src/gnupg/tests/gpgscm/scheme.c:1478,1
    - Dst: oblist_add_by_name
      Src: /src/gnupg/tests/gpgscm/scheme.c:1483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1489
    functionName: gensym
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - snprintf
    - oblist_add_by_name
    - oblist_find_by_name
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE gensym(scheme *sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::malloc
      Src: /src/gnupg/tests/gpgscm/scheme.c:1494,1
    - Dst: memcpy
      Src: /src/gnupg/tests/gpgscm/scheme.c:1499,1
    - Dst: scheme*::free
      Src: /src/gnupg/tests/gpgscm/scheme.c:1500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1504
    functionName: expand_strbuff
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - scheme*::malloc
    - scheme*::free
    - memcpy
    linkageType: ''
    returnType: int
    signature: int expand_strbuff(scheme *sc)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1515,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:1523,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:1524,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:1525,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:1527,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:1527,1
    - Dst: strlwr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1527,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:1529,1
    - Dst: mk_atom
      Src: /src/gnupg/tests/gpgscm/scheme.c:1529,1
    - Dst: isdigit
      Src: /src/gnupg/tests/gpgscm/scheme.c:1541,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:1542,1
    - Dst: strlwr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1542,1
    - Dst: isdigit
      Src: /src/gnupg/tests/gpgscm/scheme.c:1547,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:1548,1
    - Dst: strlwr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1548,1
    - Dst: isdigit
      Src: /src/gnupg/tests/gpgscm/scheme.c:1550,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:1551,1
    - Dst: strlwr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1551,1
    - Dst: isdigit
      Src: /src/gnupg/tests/gpgscm/scheme.c:1555,1
    - Dst: isdigit
      Src: /src/gnupg/tests/gpgscm/scheme.c:1567,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:1572,1
    - Dst: strlwr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1572,1
    - Dst: mk_real
      Src: /src/gnupg/tests/gpgscm/scheme.c:1576,1
    - Dst: atof
      Src: /src/gnupg/tests/gpgscm/scheme.c:1576,1
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:1578,1
    - Dst: atol
      Src: /src/gnupg/tests/gpgscm/scheme.c:1578,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 56
    argCount: 2
    argNames:
    - sc
    - q
    argTypes:
    - scheme*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1579
    functionName: mk_atom
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - strlwr
    - mk_symbol
    - mk_real
    - strstr
    - isdigit
    - mk_integer
    - atof
    - atol
    - cons
    - mk_atom
    linkageType: ''
    returnType: pointer
    signature: pointer mk_atom(scheme *sc, char *q)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tests/gpgscm/scheme.c:1586,1
    - Dst: strcmp
      Src: /src/gnupg/tests/gpgscm/scheme.c:1588,1
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:1591,1
    - Dst: sscanf
      Src: /src/gnupg/tests/gpgscm/scheme.c:1592,1
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:1593,1
    - Dst: sscanf
      Src: /src/gnupg/tests/gpgscm/scheme.c:1595,1
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:1596,1
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:1598,1
    - Dst: sscanf
      Src: /src/gnupg/tests/gpgscm/scheme.c:1599,1
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:1600,1
    - Dst: binary_decode
      Src: /src/gnupg/tests/gpgscm/scheme.c:1602,1
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:1603,1
    - Dst: stricmp
      Src: /src/gnupg/tests/gpgscm/scheme.c:1606,1
    - Dst: stricmp
      Src: /src/gnupg/tests/gpgscm/scheme.c:1608,1
    - Dst: stricmp
      Src: /src/gnupg/tests/gpgscm/scheme.c:1610,1
    - Dst: stricmp
      Src: /src/gnupg/tests/gpgscm/scheme.c:1612,1
    - Dst: sscanf
      Src: /src/gnupg/tests/gpgscm/scheme.c:1616,1
    - Dst: is_ascii_name
      Src: /src/gnupg/tests/gpgscm/scheme.c:1622,1
    - Dst: mk_character
      Src: /src/gnupg/tests/gpgscm/scheme.c:1630,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - sc
    - name
    argTypes:
    - scheme*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1633
    functionName: mk_sharp_const
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - binary_decode
    - snprintf
    - strcmp
    - mk_integer
    - stricmp
    - mk_character
    - sscanf
    - is_ascii_name
    linkageType: ''
    returnType: pointer
    signature: pointer mk_sharp_const(scheme *sc, char *name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1650,1
    - Dst: setmark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1651,1
    - Dst: is_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:1652,1
    - Dst: is_frame
      Src: /src/gnupg/tests/gpgscm/scheme.c:1652,1
    - Dst: is_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:1654,1
    - Dst: vector_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:1654,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1656,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1662,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1663,1
    - Dst: has_tag
      Src: /src/gnupg/tests/gpgscm/scheme.c:1667,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1668,1
    - Dst: is_atom
      Src: /src/gnupg/tests/gpgscm/scheme.c:1669,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1672,1
    - Dst: is_mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1673,1
    - Dst: setatom
      Src: /src/gnupg/tests/gpgscm/scheme.c:1674,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1675,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1680,1
    - Dst: is_mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1681,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1682,1
    - Dst: is_atom
      Src: /src/gnupg/tests/gpgscm/scheme.c:1691,1
    - Dst: clratom
      Src: /src/gnupg/tests/gpgscm/scheme.c:1692,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1693,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1694,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1698,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1699,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 1
    argNames:
    - a
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1703
    functionName: mark
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - has_tag
    - vector_length
    - is_atom
    - is_vector
    - car
    - cdr
    - clratom
    - is_mark
    - setatom
    - setmark
    - is_frame
    - mark
    linkageType: ''
    returnType: void
    signature: void mark(pointer a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1662,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1660
    functionDepth: 0
    functionLinenumber: 1660
    functionLinenumberEnd: 1664
    functionName: if
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mark
    linkageType: ''
    returnType: else
    signature: else if (is_port(p))
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:1711,1
    - Dst: gc_enabled
      Src: /src/gnupg/tests/gpgscm/scheme.c:1711,1
    - Dst: putstr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1714,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1718,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1719,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1722,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1723,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1724,1
    - Dst: history_mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1725,1
    - Dst: dump_stack_mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1726,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1727,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1728,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1729,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1730,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1731,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1733,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1734,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1738,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1738,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1740,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1743,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1744,1
    - Dst: clrmark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1747,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:1758,1
    - Dst: is_mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1761,1
    - Dst: clrmark
      Src: /src/gnupg/tests/gpgscm/scheme.c:1762,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:1765,1
    - Dst: finalize_cell
      Src: /src/gnupg/tests/gpgscm/scheme.c:1766,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1770,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1771,1
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:1780,1
    - Dst: putstr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1781,1
    - Dst: alloc_cellseg
      Src: /src/gnupg/tests/gpgscm/scheme.c:1786,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 3
    argNames:
    - sc
    - a
    - b
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts:
    - condition: (gc_enabled (sc))
      pos:
        line_end: 1710
        line_start: 1710
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 1788
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1788
    functionName: gc
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - alloc_cellseg
    - putstr
    - assert
    - typeflag
    - dump_stack_mark
    - snprintf
    - car
    - finalize_cell
    - cdr
    - clrmark
    - is_mark
    - gc_enabled
    - mark
    - history_mark
    linkageType: ''
    returnType: void
    signature: void gc(scheme *sc, pointer a, pointer b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1769
    functionName: typeflag
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void typeflag(p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:1795,1
    - Dst: scheme*::free
      Src: /src/gnupg/tests/gpgscm/scheme.c:1797,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:1797,1
    - Dst: port_close
      Src: /src/gnupg/tests/gpgscm/scheme.c:1803,1
    - Dst: scheme*::free
      Src: /src/gnupg/tests/gpgscm/scheme.c:1805,1
    - Dst: scheme*::free
      Src: /src/gnupg/tests/gpgscm/scheme.c:1807,1
    - Dst: pointer::_object::_foreign_object::_vtable::finalize
      Src: /src/gnupg/tests/gpgscm/scheme.c:1811,1
    - Dst: vector_size
      Src: /src/gnupg/tests/gpgscm/scheme.c:1817,1
    - Dst: vector_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:1817,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:1820,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:1821,1
    - Dst: dump_stack_deallocate_frame
      Src: /src/gnupg/tests/gpgscm/scheme.c:1829,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - sc
    - a
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1792
    functionDepth: 1
    functionLinenumber: 1792
    functionLinenumberEnd: 1834
    functionName: finalize_cell
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - type
    - vector_length
    - scheme*::free
    - car
    - cdr
    - pointer::_object::_foreign_object::_vtable::finalize
    - vector_size
    - strvalue
    - dump_stack_deallocate_frame
    - port_close
    linkageType: ''
    returnType: int
    signature: int finalize_cell(scheme *sc, pointer a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1819
    functionDepth: 0
    functionLinenumber: 1819
    functionLinenumberEnd: 1819
    functionName: typeflag
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void typeflag(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sc
    - p
    argTypes:
    - scheme*
    - port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1842
    functionName: port_clear_location
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void port_clear_location (scheme *sc, port *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:1851,1
    - Dst: ivalue_unchecked
      Src: /src/gnupg/tests/gpgscm/scheme.c:1851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sc
    - p
    - delta
    argTypes:
    - scheme*
    - port*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1852
    functionName: port_increment_current_line
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_integer
    - ivalue_unchecked
    linkageType: ''
    returnType: void
    signature: void port_increment_current_line (scheme *sc, port *p, long delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:1857,1
    - Dst: mk_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:1858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sc
    - p
    - name
    argTypes:
    - scheme*
    - port*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1854
    functionDepth: 0
    functionLinenumber: 1854
    functionLinenumberEnd: 1859
    functionName: port_init_location
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_integer
    - mk_string
    linkageType: ''
    returnType: void
    signature: void port_init_location (scheme *sc, port *p, pointer name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sc
    - p
    argTypes:
    - scheme*
    - port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1866
    functionName: port_clear_location
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void port_clear_location (scheme *sc, port *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sc
    - p
    - delta
    argTypes:
    - scheme*
    - port*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1868
    functionDepth: 0
    functionLinenumber: 1868
    functionLinenumberEnd: 1871
    functionName: port_increment_current_line
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void port_increment_current_line (scheme *sc, port *p, long delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sc
    - p
    - name
    argTypes:
    - scheme*
    - port*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1876
    functionName: port_init_location
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void port_init_location (scheme *sc, port *p, pointer name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnupg/tests/gpgscm/scheme.c:1887,1
    - Dst: string_value
      Src: /src/gnupg/tests/gpgscm/scheme.c:1887,1
    - Dst: port_init_location
      Src: /src/gnupg/tests/gpgscm/scheme.c:1895,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - sc
    - fname
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1898
    functionName: file_push
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - port_init_location
    - fopen
    - string_value
    linkageType: ''
    returnType: int
    signature: int file_push(scheme *sc, pointer fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: port_close
      Src: /src/gnupg/tests/gpgscm/scheme.c:1903,1
    - Dst: port_clear_location
      Src: /src/gnupg/tests/gpgscm/scheme.c:1904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1900
    functionDepth: 0
    functionLinenumber: 1900
    functionLinenumberEnd: 1908
    functionName: file_pop
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - port_close
    - port_clear_location
    linkageType: ''
    returnType: void
    signature: void file_pop(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 1913
    functionName: file_interactive
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_interactive(scheme *sc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnupg/tests/gpgscm/scheme.c:1926,1
    - Dst: port_rep_from_file
      Src: /src/gnupg/tests/gpgscm/scheme.c:1930,1
    - Dst: port_init_location
      Src: /src/gnupg/tests/gpgscm/scheme.c:1932,1
    - Dst: mk_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:1932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - sc
    - fn
    - prop
    argTypes:
    - scheme*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1934
    functionName: port_rep_from_filename
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - port_rep_from_file
    - fopen
    - mk_string
    - port_init_location
    linkageType: ''
    returnType: port
    signature: port *port_rep_from_filename(scheme *sc, const char *fn, int prop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: port_rep_from_filename
      Src: /src/gnupg/tests/gpgscm/scheme.c:1938,1
    - Dst: mk_port
      Src: /src/gnupg/tests/gpgscm/scheme.c:1942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sc
    - fn
    - prop
    argTypes:
    - scheme*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1936
    functionDepth: 0
    functionLinenumber: 1936
    functionLinenumberEnd: 1943
    functionName: port_from_filename
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - port_rep_from_filename
    - mk_port
    linkageType: ''
    returnType: pointer
    signature: pointer port_from_filename(scheme *sc, const char *fn, int prop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::malloc
      Src: /src/gnupg/tests/gpgscm/scheme.c:1949,1
    - Dst: port_init_location
      Src: /src/gnupg/tests/gpgscm/scheme.c:1956,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - sc
    - f
    - prop
    argTypes:
    - scheme*
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1958
    functionName: port_rep_from_file
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - scheme*::malloc
    - port_init_location
    linkageType: ''
    returnType: port
    signature: port *port_rep_from_file(scheme *sc, FILE *f, int prop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: port_rep_from_file
      Src: /src/gnupg/tests/gpgscm/scheme.c:1962,1
    - Dst: mk_port
      Src: /src/gnupg/tests/gpgscm/scheme.c:1966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sc
    - f
    - prop
    argTypes:
    - scheme*
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1967
      start: 1960
    functionDepth: 0
    functionLinenumber: 1960
    functionLinenumberEnd: 1967
    functionName: port_from_file
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - port_rep_from_file
    - mk_port
    linkageType: ''
    returnType: pointer
    signature: pointer port_from_file(scheme *sc, FILE *f, int prop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::malloc
      Src: /src/gnupg/tests/gpgscm/scheme.c:1971,1
    - Dst: port_init_location
      Src: /src/gnupg/tests/gpgscm/scheme.c:1979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - sc
    - start
    - past_the_end
    - prop
    argTypes:
    - scheme*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1969
    functionDepth: 0
    functionLinenumber: 1969
    functionLinenumberEnd: 1981
    functionName: port_rep_from_string
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - scheme*::malloc
    - port_init_location
    linkageType: ''
    returnType: port
    signature: port *port_rep_from_string(scheme *sc, char *start, char *past_the_end,
      int prop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: port_rep_from_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:1985,1
    - Dst: mk_port
      Src: /src/gnupg/tests/gpgscm/scheme.c:1989,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - sc
    - start
    - past_the_end
    - prop
    argTypes:
    - scheme*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 1990
    functionName: port_from_string
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_port
    - port_rep_from_string
    linkageType: ''
    returnType: pointer
    signature: pointer port_from_string(scheme *sc, char *start, char *past_the_end,
      int prop)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::malloc
      Src: /src/gnupg/tests/gpgscm/scheme.c:1997,1
    - Dst: scheme*::malloc
      Src: /src/gnupg/tests/gpgscm/scheme.c:2001,1
    - Dst: memset
      Src: /src/gnupg/tests/gpgscm/scheme.c:2005,1
    - Dst: port_init_location
      Src: /src/gnupg/tests/gpgscm/scheme.c:2011,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 2013
    functionName: port_rep_from_scratch
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - scheme*::malloc
    - memset
    - port_init_location
    linkageType: ''
    returnType: port
    signature: port *port_rep_from_scratch(scheme *sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: port_rep_from_scratch
      Src: /src/gnupg/tests/gpgscm/scheme.c:2017,1
    - Dst: mk_port
      Src: /src/gnupg/tests/gpgscm/scheme.c:2021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2022
    functionName: port_from_scratch
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - port_rep_from_scratch
    - mk_port
    linkageType: ''
    returnType: pointer
    signature: pointer port_from_scratch(scheme *sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: port_clear_location
      Src: /src/gnupg/tests/gpgscm/scheme.c:2029,1
    - Dst: fclose
      Src: /src/gnupg/tests/gpgscm/scheme.c:2031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - sc
    - p
    - flag
    argTypes:
    - scheme*
    - pointer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2024
    functionDepth: 0
    functionLinenumber: 2024
    functionLinenumberEnd: 2035
    functionName: port_close
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - fclose
    - port_clear_location
    linkageType: ''
    returnType: void
    signature: void port_close(scheme *sc, pointer p, int flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: basic_inchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2045,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2055
      start: 2038
    functionDepth: 0
    functionLinenumber: 2038
    functionLinenumberEnd: 2055
    functionName: inchar
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - basic_inchar
    linkageType: ''
    returnType: int
    signature: int inchar(scheme *sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/gnupg/tests/gpgscm/scheme.c:2059,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pt
    argTypes:
    - port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2057
    functionDepth: 0
    functionLinenumber: 2057
    functionLinenumberEnd: 2068
    functionName: basic_inchar
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - fgetc
    linkageType: ''
    returnType: int
    signature: int basic_inchar(port *pt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ungetc
      Src: /src/gnupg/tests/gpgscm/scheme.c:2076,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sc
    - c
    argTypes:
    - scheme*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2071
    functionDepth: 0
    functionLinenumber: 2071
    functionLinenumberEnd: 2082
    functionName: backchar
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ungetc
    linkageType: ''
    returnType: void
    signature: void backchar(scheme *sc, int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::malloc
      Src: /src/gnupg/tests/gpgscm/scheme.c:2089,1
    - Dst: memset
      Src: /src/gnupg/tests/gpgscm/scheme.c:2091,1
    - Dst: memcpy
      Src: /src/gnupg/tests/gpgscm/scheme.c:2093,1
    - Dst: scheme*::free
      Src: /src/gnupg/tests/gpgscm/scheme.c:2097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - sc
    - p
    argTypes:
    - scheme*
    - port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2102
    functionName: realloc_port_string
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - scheme*::malloc
    - scheme*::free
    - memset
    - memcpy
    linkageType: ''
    returnType: int
    signature: int realloc_port_string(scheme *sc, port *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnupg/tests/gpgscm/scheme.c:2107,1
    - Dst: realloc_port_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:2112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - sc
    - s
    argTypes:
    - scheme*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2104
    functionDepth: 0
    functionLinenumber: 2104
    functionLinenumberEnd: 2117
    functionName: putstr
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - fputs
    - realloc_port_string
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE putstr(scheme *sc, const char *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/gnupg/tests/gpgscm/scheme.c:2122,1
    - Dst: realloc_port_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:2127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - sc
    - s
    - len
    argTypes:
    - scheme*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2132
      start: 2119
    functionDepth: 0
    functionLinenumber: 2119
    functionLinenumberEnd: 2132
    functionName: putchars
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - fwrite
    - realloc_port_string
    linkageType: ''
    returnType: void
    signature: void putchars(scheme *sc, const char *s, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/gnupg/tests/gpgscm/scheme.c:2137,1
    - Dst: realloc_port_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:2141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - sc
    - c
    argTypes:
    - scheme*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2134
    functionDepth: 0
    functionLinenumber: 2134
    functionLinenumberEnd: 2145
    functionName: putcharacter
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - fputc
    - realloc_port_string
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE putcharacter(scheme *sc, int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_one_of
      Src: /src/gnupg/tests/gpgscm/scheme.c:2152,1
    - Dst: inchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2152,1
    - Dst: backchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - sc
    - delim
    argTypes:
    - scheme*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2161
    functionName: readstr_upto
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - backchar
    - is_one_of
    - inchar
    linkageType: ''
    returnType: char
    signature: char *readstr_upto(scheme *sc, char *delim)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: inchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2171,1
    - Dst: expand_strbuff
      Src: /src/gnupg/tests/gpgscm/scheme.c:2177,1
    - Dst: mk_counted_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:2190,1
    - Dst: toupper
      Src: /src/gnupg/tests/gpgscm/scheme.c:2238,1
    - Dst: backchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2260,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 104
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2282
      start: 2164
    functionDepth: 0
    functionLinenumber: 2164
    functionLinenumberEnd: 2282
    functionName: readstrexp
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_counted_string
    - backchar
    - expand_strbuff
    - toupper
    - inchar
    linkageType: ''
    returnType: pointer
    signature: pointer readstrexp(scheme *sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2291
      start: 2285
    functionDepth: 0
    functionLinenumber: 2285
    functionLinenumberEnd: 2291
    functionName: is_one_of
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: INLINE
    signature: INLINE is_one_of(char *s, int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2298,1
    - Dst: isspace
      Src: /src/gnupg/tests/gpgscm/scheme.c:2303,1
    - Dst: port_increment_current_line
      Src: /src/gnupg/tests/gpgscm/scheme.c:2306,1
    - Dst: backchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2314
      start: 2294
    functionDepth: 0
    functionLinenumber: 2294
    functionLinenumberEnd: 2314
    functionName: skipspace
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - backchar
    - inchar
    - isspace
    - port_increment_current_line
    linkageType: ''
    returnType: INLINE
    signature: INLINE skipspace(scheme *sc)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: skipspace
      Src: /src/gnupg/tests/gpgscm/scheme.c:2319,1
    - Dst: inchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2321,1
    - Dst: inchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2329,1
    - Dst: is_one_of
      Src: /src/gnupg/tests/gpgscm/scheme.c:2330,1
    - Dst: backchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2333,1
    - Dst: backchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2334,1
    - Dst: inchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2340,1
    - Dst: port_increment_current_line
      Src: /src/gnupg/tests/gpgscm/scheme.c:2344,1
    - Dst: token
      Src: /src/gnupg/tests/gpgscm/scheme.c:2349,1
    - Dst: inchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2355,1
    - Dst: backchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2358,1
    - Dst: inchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2362,1
    - Dst: inchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2366,1
    - Dst: port_increment_current_line
      Src: /src/gnupg/tests/gpgscm/scheme.c:2370,1
    - Dst: token
      Src: /src/gnupg/tests/gpgscm/scheme.c:2375,1
    - Dst: backchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2377,1
    - Dst: is_one_of
      Src: /src/gnupg/tests/gpgscm/scheme.c:2378,1
    - Dst: backchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2385,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 71
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2388
      start: 2317
    functionDepth: 0
    functionLinenumber: 2317
    functionLinenumberEnd: 2388
    functionName: token
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - skipspace
    - backchar
    - is_one_of
    - inchar
    - port_increment_current_line
    - token
    linkageType: ''
    returnType: int
    signature: int token(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2391
    functionDepth: 0
    functionLinenumber: 2391
    functionLinenumberEnd: 2392
    functionName: ok_abbrev
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ok_abbrev(x)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: putcharacter
      Src: /src/gnupg/tests/gpgscm/scheme.c:2396,1
    - Dst: putcharacter
      Src: /src/gnupg/tests/gpgscm/scheme.c:2399,1
    - Dst: putcharacter
      Src: /src/gnupg/tests/gpgscm/scheme.c:2402,1
    - Dst: putcharacter
      Src: /src/gnupg/tests/gpgscm/scheme.c:2405,1
    - Dst: putcharacter
      Src: /src/gnupg/tests/gpgscm/scheme.c:2408,1
    - Dst: putcharacter
      Src: /src/gnupg/tests/gpgscm/scheme.c:2411,1
    - Dst: putcharacter
      Src: /src/gnupg/tests/gpgscm/scheme.c:2414,1
    - Dst: putcharacter
      Src: /src/gnupg/tests/gpgscm/scheme.c:2418,1
    - Dst: putcharacter
      Src: /src/gnupg/tests/gpgscm/scheme.c:2420,1
    - Dst: putcharacter
      Src: /src/gnupg/tests/gpgscm/scheme.c:2422,1
    - Dst: putcharacter
      Src: /src/gnupg/tests/gpgscm/scheme.c:2426,1
    - Dst: putcharacter
      Src: /src/gnupg/tests/gpgscm/scheme.c:2428,1
    - Dst: putcharacter
      Src: /src/gnupg/tests/gpgscm/scheme.c:2433,1
    - Dst: putcharacter
      Src: /src/gnupg/tests/gpgscm/scheme.c:2437,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - sc
    - p
    - len
    argTypes:
    - scheme*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2393
    functionDepth: 0
    functionLinenumber: 2393
    functionLinenumberEnd: 2438
    functionName: printslashstring
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - putcharacter
    linkageType: ''
    returnType: void
    signature: void printslashstring(scheme *sc, char *p, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atom2str
      Src: /src/gnupg/tests/gpgscm/scheme.c:2445,1
    - Dst: putchars
      Src: /src/gnupg/tests/gpgscm/scheme.c:2446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sc
    - l
    - f
    argTypes:
    - scheme*
    - pointer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2442
    functionDepth: 0
    functionLinenumber: 2442
    functionLinenumberEnd: 2447
    functionName: printatom
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - putchars
    - atom2str
    linkageType: ''
    returnType: void
    signature: void printatom(scheme *sc, pointer l, int f)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: is_port
      Src: /src/gnupg/tests/gpgscm/scheme.c:2462,1
    - Dst: is_number
      Src: /src/gnupg/tests/gpgscm/scheme.c:2464,1
    - Dst: num_is_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:2467,1
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:2468,1
    - Dst: ivalue_unchecked
      Src: /src/gnupg/tests/gpgscm/scheme.c:2468,1
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:2470,1
    - Dst: rvalue_unchecked
      Src: /src/gnupg/tests/gpgscm/scheme.c:2470,1
    - Dst: strcspn
      Src: /src/gnupg/tests/gpgscm/scheme.c:2472,1
    - Dst: ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:2480,1
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:2483,1
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:2485,1
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:2488,1
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:2490,1
    - Dst: is_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:2499,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:2501,1
    - Dst: strlength
      Src: /src/gnupg/tests/gpgscm/scheme.c:2502,1
    - Dst: printslashstring
      Src: /src/gnupg/tests/gpgscm/scheme.c:2507,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:2507,1
    - Dst: strlength
      Src: /src/gnupg/tests/gpgscm/scheme.c:2507,1
    - Dst: is_character
      Src: /src/gnupg/tests/gpgscm/scheme.c:2510,1
    - Dst: charvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:2511,1
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:2536,1
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:2541,1
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:2545,1
    - Dst: is_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:2549,1
    - Dst: symname
      Src: /src/gnupg/tests/gpgscm/scheme.c:2550,1
    - Dst: is_proc
      Src: /src/gnupg/tests/gpgscm/scheme.c:2551,1
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:2553,1
    - Dst: procname
      Src: /src/gnupg/tests/gpgscm/scheme.c:2553,1
    - Dst: procnum
      Src: /src/gnupg/tests/gpgscm/scheme.c:2553,1
    - Dst: is_macro
      Src: /src/gnupg/tests/gpgscm/scheme.c:2554,1
    - Dst: is_closure
      Src: /src/gnupg/tests/gpgscm/scheme.c:2556,1
    - Dst: is_promise
      Src: /src/gnupg/tests/gpgscm/scheme.c:2558,1
    - Dst: is_foreign
      Src: /src/gnupg/tests/gpgscm/scheme.c:2560,1
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:2562,1
    - Dst: procnum
      Src: /src/gnupg/tests/gpgscm/scheme.c:2562,1
    - Dst: is_continuation
      Src: /src/gnupg/tests/gpgscm/scheme.c:2563,1
    - Dst: is_foreign_object
      Src: /src/gnupg/tests/gpgscm/scheme.c:2565,1
    - Dst: pointer::_object::_foreign_object::_vtable::to_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:2567,1
    - Dst: strlen
      Src: /src/gnupg/tests/gpgscm/scheme.c:2572,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 133
    argCount: 5
    argNames:
    - sc
    - l
    - f
    - pp
    - plen
    argTypes:
    - scheme*
    - pointer
    - int
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2573
    functionName: atom2str
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - procnum
    - strlen
    - is_symbol
    - is_character
    - num_is_integer
    - is_number
    - is_macro
    - symname
    - is_closure
    - strvalue
    - ivalue
    - is_string
    - is_promise
    - pointer::_object::_foreign_object::_vtable::to_string
    - is_continuation
    - is_port
    - charvalue
    - is_foreign
    - is_foreign_object
    - ivalue_unchecked
    - procname
    - strcspn
    - snprintf
    - strlength
    - printslashstring
    - rvalue_unchecked
    - is_proc
    linkageType: ''
    returnType: void
    signature: void atom2str(scheme *sc, pointer l, int f, char **pp, int *plen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/gnupg/tests/gpgscm/scheme.c:2578,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:2580,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2581,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sc
    - c
    - e
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2577
    functionDepth: 0
    functionLinenumber: 2577
    functionLinenumberEnd: 2584
    functionName: mk_closure
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - get_cell
    - car
    - cdr
    - typeflag
    linkageType: ''
    returnType: pointer
    signature: pointer mk_closure(scheme *sc, pointer c, pointer e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/gnupg/tests/gpgscm/scheme.c:2588,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:2590,1
    - Dst: cont_dump
      Src: /src/gnupg/tests/gpgscm/scheme.c:2591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - d
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2587
    functionDepth: 0
    functionLinenumber: 2587
    functionLinenumberEnd: 2593
    functionName: mk_continuation
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - get_cell
    - cont_dump
    - typeflag
    linkageType: ''
    returnType: pointer
    signature: pointer mk_continuation(scheme *sc, pointer d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2597,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2598,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2600,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2600,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2600,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2602,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2602,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2603,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2603,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2603,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2604,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2604,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2605,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2608,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2608,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - sc
    - d
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2595
    functionDepth: 0
    functionLinenumber: 2595
    functionLinenumberEnd: 2610
    functionName: list_star
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - cons
    - cdr
    linkageType: ''
    returnType: pointer
    signature: pointer list_star(scheme *sc, pointer d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:2617,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2617,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2618,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sc
    - term
    - list
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2613
    functionDepth: 0
    functionLinenumber: 2613
    functionLinenumberEnd: 2621
    functionName: reverse
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - car
    - cons
    - cdr
    linkageType: ''
    returnType: pointer
    signature: pointer reverse(scheme *sc, pointer term, pointer list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2628,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - sc
    - term
    - list
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2634
      start: 2624
    functionDepth: 0
    functionLinenumber: 2624
    functionLinenumberEnd: 2634
    functionName: reverse_in_place
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cdr
    linkageType: ''
    returnType: pointer
    signature: pointer reverse_in_place(scheme *sc, pointer term, pointer list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:2641,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2642,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2642,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - sc
    - a
    - b
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2637
    functionDepth: 0
    functionLinenumber: 2637
    functionLinenumberEnd: 2651
    functionName: revappend
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - car
    - cdr
    - cons
    linkageType: ''
    returnType: pointer
    signature: pointer revappend(scheme *sc, pointer a, pointer b)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:2655,1
    - Dst: is_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:2656,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:2657,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:2657,1
    - Dst: is_number
      Src: /src/gnupg/tests/gpgscm/scheme.c:2660,1
    - Dst: is_number
      Src: /src/gnupg/tests/gpgscm/scheme.c:2661,1
    - Dst: num_is_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:2662,1
    - Dst: num_is_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:2662,1
    - Dst: num_eq
      Src: /src/gnupg/tests/gpgscm/scheme.c:2663,1
    - Dst: nvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:2663,1
    - Dst: nvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:2663,1
    - Dst: is_character
      Src: /src/gnupg/tests/gpgscm/scheme.c:2666,1
    - Dst: is_character
      Src: /src/gnupg/tests/gpgscm/scheme.c:2667,1
    - Dst: charvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:2668,1
    - Dst: charvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:2668,1
    - Dst: is_port
      Src: /src/gnupg/tests/gpgscm/scheme.c:2671,1
    - Dst: is_port
      Src: /src/gnupg/tests/gpgscm/scheme.c:2672,1
    - Dst: is_proc
      Src: /src/gnupg/tests/gpgscm/scheme.c:2676,1
    - Dst: is_proc
      Src: /src/gnupg/tests/gpgscm/scheme.c:2677,1
    - Dst: procnum
      Src: /src/gnupg/tests/gpgscm/scheme.c:2678,1
    - Dst: procnum
      Src: /src/gnupg/tests/gpgscm/scheme.c:2678,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2684
      start: 2654
    functionDepth: 0
    functionLinenumber: 2654
    functionLinenumberEnd: 2684
    functionName: eqv
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - nvalue
    - is_number
    - procnum
    - num_eq
    - is_port
    - is_character
    - num_is_integer
    - strvalue
    - is_string
    - charvalue
    - is_proc
    linkageType: ''
    returnType: int
    signature: int eqv(pointer a, pointer b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2689
      start: 2688
    functionDepth: 0
    functionLinenumber: 2688
    functionLinenumberEnd: 2689
    functionName: is_true
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_true(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2690
      start: 2689
    functionDepth: 0
    functionLinenumber: 2689
    functionLinenumberEnd: 2690
    functionName: is_false
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_false(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - table_size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2708
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2708
    functionName: hash_fn
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hash_fn(const char *key, int table_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2725
      start: 2714
    functionDepth: 0
    functionLinenumber: 2714
    functionLinenumberEnd: 2725
    functionName: pointercmp
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pointercmp(pointer a, pointer b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mk_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:2743,1
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:2748,1
    - Dst: immutable_cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2749,1
    - Dst: gc_enable
      Src: /src/gnupg/tests/gpgscm/scheme.c:2750,1
    - Dst: setenvironment
      Src: /src/gnupg/tests/gpgscm/scheme.c:2751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - sc
    - old_env
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2737
    functionDepth: 0
    functionLinenumber: 2737
    functionLinenumberEnd: 2752
    functionName: new_frame_in_env
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - gc_enable
    - setenvironment
    - mk_vector
    - immutable_cons
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void new_frame_in_env(scheme *sc, pointer old_env)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:2765,1
    - Dst: is_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:2765,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2767,1
    - Dst: is_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:2768,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2768,1
    - Dst: hash_fn
      Src: /src/gnupg/tests/gpgscm/scheme.c:2769,1
    - Dst: symname
      Src: /src/gnupg/tests/gpgscm/scheme.c:2769,1
    - Dst: vector_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:2769,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2769,1
    - Dst: vector_elem_slot
      Src: /src/gnupg/tests/gpgscm/scheme.c:2770,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2770,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2772,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2774,1
    - Dst: pointercmp
      Src: /src/gnupg/tests/gpgscm/scheme.c:2775,1
    - Dst: caar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2775,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2777,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - sc
    - env
    - hdl
    - all
    - sslot
    argTypes:
    - scheme*
    - pointer
    - pointer
    - int
    - pointer**
    assertStmts:
    - condition: (is_symbol(hdl))
      pos:
        line_end: 2764
        line_start: 2764
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 2790
      start: 2758
    functionDepth: 0
    functionLinenumber: 2758
    functionLinenumberEnd: 2790
    functionName: find_slot_spec_in_env
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - vector_length
    - is_vector
    - assert
    - caar
    - car
    - symname
    - cdr
    - hash_fn
    - is_symbol
    - pointercmp
    - vector_elem_slot
    linkageType: ''
    returnType: pointer
    signature: pointer find_slot_spec_in_env(scheme *sc, pointer env, pointer hdl,
      int all, pointer **sslot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: immutable_cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2796,1
    - Dst: setenvironment
      Src: /src/gnupg/tests/gpgscm/scheme.c:2797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sc
    - old_env
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2798
      start: 2794
    functionDepth: 0
    functionLinenumber: 2794
    functionLinenumberEnd: 2798
    functionName: new_frame_in_env
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - immutable_cons
    - setenvironment
    linkageType: ''
    returnType: INLINE
    signature: INLINE new_frame_in_env(scheme *sc, pointer old_env)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:2810,1
    - Dst: is_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:2810,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2812,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2813,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2813,1
    - Dst: pointercmp
      Src: /src/gnupg/tests/gpgscm/scheme.c:2814,1
    - Dst: caar
      Src: /src/gnupg/tests/gpgscm/scheme.c:2814,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2816,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 5
    argNames:
    - sc
    - env
    - hdl
    - all
    - sslot
    argTypes:
    - scheme*
    - pointer
    - pointer
    - int
    - pointer**
    assertStmts:
    - condition: (is_symbol(hdl))
      pos:
        line_end: 2809
        line_start: 2809
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 2829
      start: 2804
    functionDepth: 0
    functionLinenumber: 2804
    functionLinenumberEnd: 2829
    functionName: find_slot_spec_in_env
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - assert
    - caar
    - car
    - cdr
    - is_symbol
    - pointercmp
    linkageType: ''
    returnType: pointer
    signature: pointer find_slot_spec_in_env(scheme *sc, pointer env, pointer hdl,
      int all, pointer **sslot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_slot_spec_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:2835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sc
    - env
    - hdl
    - all
    argTypes:
    - scheme*
    - pointer
    - pointer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2836
      start: 2833
    functionDepth: 0
    functionLinenumber: 2833
    functionLinenumberEnd: 2836
    functionName: find_slot_in_env
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - find_slot_spec_in_env
    linkageType: ''
    returnType: pointer
    signature: pointer find_slot_in_env(scheme *sc, pointer env, pointer hdl, int
      all)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:2847,1
    - Dst: gc_reservations
      Src: /src/gnupg/tests/gpgscm/scheme.c:2847,1
    - Dst: immutable_cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2848,1
    - Dst: immutable_cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2849,1
    - Dst: gc_enable
      Src: /src/gnupg/tests/gpgscm/scheme.c:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - sc
    - variable
    - value
    - sslot
    argTypes:
    - scheme*
    - pointer
    - pointer
    - pointer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2841
    functionDepth: 0
    functionLinenumber: 2841
    functionLinenumberEnd: 2851
    functionName: new_slot_spec_in_env
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - immutable_cons
    - gc_disable
    - gc_enable
    - gc_reservations
    linkageType: ''
    returnType: INLINE
    signature: "INLINE new_slot_spec_in_env(scheme *sc,\n                                        pointer
      variable, pointer value,\n\t\t\t\t\tpointer *sslot)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:2858,1
    - Dst: is_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:2858,1
    - Dst: find_slot_spec_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:2859,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:2860,1
    - Dst: new_slot_spec_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:2861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sc
    - variable
    - value
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts:
    - condition: (is_symbol(variable))
      pos:
        line_end: 2857
        line_start: 2857
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    - condition: (slot == sc->NIL)
      pos:
        line_end: 2859
        line_start: 2859
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 2862
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2862
    functionName: new_slot_in_env
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_symbol
    - new_slot_spec_in_env
    - find_slot_spec_in_env
    - assert
    linkageType: ''
    returnType: INLINE
    signature: INLINE new_slot_in_env(scheme *sc, pointer variable, pointer value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sc
    - slot
    - value
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2864
    functionDepth: 0
    functionLinenumber: 2864
    functionLinenumberEnd: 2868
    functionName: set_slot_in_env
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cdr
    linkageType: ''
    returnType: INLINE
    signature: INLINE set_slot_in_env(scheme *sc, pointer slot, pointer value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2873
      start: 2870
    functionDepth: 0
    functionLinenumber: 2870
    functionLinenumberEnd: 2873
    functionName: slot_value_in_env
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cdr
    linkageType: ''
    returnType: INLINE
    signature: INLINE slot_value_in_env(pointer slot)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: history_flatten
      Src: /src/gnupg/tests/gpgscm/scheme.c:2892,1
    - Dst: has_tag
      Src: /src/gnupg/tests/gpgscm/scheme.c:2902,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2902,1
    - Dst: get_tag
      Src: /src/gnupg/tests/gpgscm/scheme.c:2903,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2903,1
    - Dst: is_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:2904,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2904,1
    - Dst: is_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:2904,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2904,1
    - Dst: string_value
      Src: /src/gnupg/tests/gpgscm/scheme.c:2905,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2905,1
    - Dst: ivalue_unchecked
      Src: /src/gnupg/tests/gpgscm/scheme.c:2906,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:2906,1
    - Dst: string_value
      Src: /src/gnupg/tests/gpgscm/scheme.c:2908,1
    - Dst: ivalue_unchecked
      Src: /src/gnupg/tests/gpgscm/scheme.c:2909,1
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:2917,1
    - Dst: find_slot_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:2924,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2926,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2926,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2927,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2930,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2930,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2930,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2933,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2935,1
    - Dst: mk_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:2935,1
    - Dst: setimmutable
      Src: /src/gnupg/tests/gpgscm/scheme.c:2936,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2936,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2937,1
    - Dst: slot_value_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:2937,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2943,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:2947,1
    - Dst: mk_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:2947,1
    - Dst: setimmutable
      Src: /src/gnupg/tests/gpgscm/scheme.c:2948,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:2948,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - sc
    - s
    - a
    argTypes:
    - scheme*
    - char*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2950
      start: 2879
    functionDepth: 0
    functionLinenumber: 2879
    functionLinenumberEnd: 2950
    functionName: _Error_1
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - has_tag
    - ivalue_unchecked
    - mk_string
    - is_integer
    - snprintf
    - car
    - get_tag
    - cdr
    - string_value
    - find_slot_in_env
    - cons
    - setimmutable
    - is_string
    - history_flatten
    - slot_value_in_env
    linkageType: ''
    returnType: enum scheme_opcodes
    signature: enum scheme_opcodes _Error_1(scheme *sc, const char *s, pointer a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sc
    - ','
    - s
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2952
      start: 2951
    functionDepth: 0
    functionLinenumber: 2951
    functionLinenumberEnd: 2952
    functionName: Error_1
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Error_1(sc,s, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2953
      start: 2952
    functionDepth: 0
    functionLinenumber: 2952
    functionLinenumberEnd: 2953
    functionName: Error_0
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Error_0(sc,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2979
      start: 2975
    functionDepth: 0
    functionLinenumber: 2975
    functionLinenumberEnd: 2979
    functionName: s_set_flag
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_set_flag(sc, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2981
    functionDepth: 0
    functionLinenumber: 2981
    functionLinenumberEnd: 2985
    functionName: s_clear_flag
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_clear_flag(sc, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 2989
    functionName: s_get_flag
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_get_flag(sc, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2993
    functionDepth: 0
    functionLinenumber: 2993
    functionLinenumberEnd: 2994
    functionName: s_goto
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_goto(sc, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3004
      start: 2999
    functionDepth: 0
    functionLinenumber: 2999
    functionLinenumberEnd: 3004
    functionName: s_thread_to
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_thread_to(sc, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - OP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3010
      start: 3009
    functionDepth: 0
    functionLinenumber: 3009
    functionLinenumberEnd: 3010
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE(OP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - OP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3012
      start: 3011
    functionDepth: 0
    functionLinenumber: 3011
    functionLinenumberEnd: 3012
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE(OP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3016
      start: 3015
    functionDepth: 0
    functionLinenumber: 3015
    functionLinenumberEnd: 3016
    functionName: s_thread_to
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_thread_to(sc, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - OP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3017
      start: 3016
    functionDepth: 0
    functionLinenumber: 3016
    functionLinenumberEnd: 3017
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE(OP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3028
      start: 3027
    functionDepth: 0
    functionLinenumber: 3027
    functionLinenumberEnd: 3028
    functionName: s_return
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_return(sc, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3032
      start: 3031
    functionDepth: 0
    functionLinenumber: 3031
    functionLinenumberEnd: 3032
    functionName: s_return_enable_gc
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_return_enable_gc(sc, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3036
      start: 3033
    functionDepth: 0
    functionLinenumber: 3033
    functionLinenumberEnd: 3036
    functionName: dump_stack_reset
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: INLINE
    signature: INLINE dump_stack_reset(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump_stack_reset
      Src: /src/gnupg/tests/gpgscm/scheme.c:3040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3042
      start: 3038
    functionDepth: 0
    functionLinenumber: 3038
    functionLinenumberEnd: 3042
    functionName: dump_stack_initialize
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - dump_stack_reset
    linkageType: ''
    returnType: INLINE
    signature: INLINE dump_stack_initialize(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump_stack_initialize
      Src: /src/gnupg/tests/gpgscm/scheme.c:3046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3047
      start: 3044
    functionDepth: 0
    functionLinenumber: 3044
    functionLinenumberEnd: 3047
    functionName: dump_stack_free
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - dump_stack_initialize
    linkageType: ''
    returnType: void
    signature: void dump_stack_free(scheme *sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mk_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:3056,1
    - Dst: setframe
      Src: /src/gnupg/tests/gpgscm/scheme.c:3058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3061
      start: 3051
    functionDepth: 0
    functionLinenumber: 3051
    functionLinenumberEnd: 3061
    functionName: dump_stack_make_frame
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_vector
    - setframe
    linkageType: ''
    returnType: pointer
    signature: pointer dump_stack_make_frame(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - frame
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3067
      start: 3063
    functionDepth: 0
    functionLinenumber: 3063
    functionLinenumberEnd: 3067
    functionName: frame_slots
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: INLINE
    signature: 'INLINE *

      frame_slots(pointer frame)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gc_enabled
      Src: /src/gnupg/tests/gpgscm/scheme.c:3076,1
    - Dst: dump_stack_make_frame
      Src: /src/gnupg/tests/gpgscm/scheme.c:3077,1
    - Dst: gc_reservation_failure
      Src: /src/gnupg/tests/gpgscm/scheme.c:3079,1
    - Dst: frame_slots
      Src: /src/gnupg/tests/gpgscm/scheme.c:3081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3083
      start: 3071
    functionDepth: 0
    functionLinenumber: 3071
    functionLinenumberEnd: 3083
    functionName: dump_stack_allocate_frame
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - gc_reservation_failure
    - gc_enabled
    - frame_slots
    - dump_stack_make_frame
    linkageType: ''
    returnType: pointer
    signature: pointer dump_stack_allocate_frame(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: frame_slots
      Src: /src/gnupg/tests/gpgscm/scheme.c:3088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - frame
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3094
      start: 3085
    functionDepth: 0
    functionLinenumber: 3085
    functionLinenumberEnd: 3094
    functionName: dump_stack_deallocate_frame
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - frame_slots
    linkageType: ''
    returnType: void
    signature: void dump_stack_deallocate_frame(scheme *sc, pointer frame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dump_stack_make_frame
      Src: /src/gnupg/tests/gpgscm/scheme.c:3099,1
    - Dst: dump_stack_deallocate_frame
      Src: /src/gnupg/tests/gpgscm/scheme.c:3101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3102
      start: 3096
    functionDepth: 0
    functionLinenumber: 3096
    functionLinenumberEnd: 3102
    functionName: dump_stack_preallocate_frame
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - dump_stack_deallocate_frame
    - dump_stack_make_frame
    linkageType: ''
    returnType: void
    signature: void dump_stack_preallocate_frame(scheme *sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gc_enable
      Src: /src/gnupg/tests/gpgscm/scheme.c:3112,1
    - Dst: frame_payload
      Src: /src/gnupg/tests/gpgscm/scheme.c:3115,1
    - Dst: frame_slots
      Src: /src/gnupg/tests/gpgscm/scheme.c:3118,1
    - Dst: dump_stack_deallocate_frame
      Src: /src/gnupg/tests/gpgscm/scheme.c:3123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - sc
    - a
    - enable_gc
    argTypes:
    - scheme*
    - pointer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3125
      start: 3104
    functionDepth: 0
    functionLinenumber: 3104
    functionLinenumberEnd: 3125
    functionName: _s_return
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - frame_slots
    - frame_payload
    - dump_stack_deallocate_frame
    - gc_enable
    linkageType: ''
    returnType: enum scheme_opcodes
    signature: enum scheme_opcodes _s_return(scheme *sc, pointer a, int enable_gc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:3131,1
    - Dst: gc_reservations
      Src: /src/gnupg/tests/gpgscm/scheme.c:3131,1
    - Dst: dump_stack_allocate_frame
      Src: /src/gnupg/tests/gpgscm/scheme.c:3132,1
    - Dst: frame_payload
      Src: /src/gnupg/tests/gpgscm/scheme.c:3133,1
    - Dst: frame_slots
      Src: /src/gnupg/tests/gpgscm/scheme.c:3134,1
    - Dst: gc_enable
      Src: /src/gnupg/tests/gpgscm/scheme.c:3140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - sc
    - op
    - args
    - code
    argTypes:
    - scheme*
    - enum scheme_opcodes
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3141
      start: 3127
    functionDepth: 0
    functionLinenumber: 3127
    functionLinenumberEnd: 3141
    functionName: s_save
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - frame_slots
    - frame_payload
    - dump_stack_allocate_frame
    - gc_enable
    - gc_reservations
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void s_save(scheme *sc, enum scheme_opcodes op, pointer args, pointer
      code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:3145,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:3146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3147
      start: 3143
    functionDepth: 0
    functionLinenumber: 3143
    functionLinenumberEnd: 3147
    functionName: dump_stack_mark
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - mark
    linkageType: ''
    returnType: INLINE
    signature: INLINE dump_stack_mark(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::free
      Src: /src/gnupg/tests/gpgscm/scheme.c:3156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3159
      start: 3153
    functionDepth: 0
    functionLinenumber: 3153
    functionLinenumberEnd: 3159
    functionName: history_free
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - scheme*::free
    linkageType: ''
    returnType: void
    signature: void history_free(scheme *sc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:3170,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:3174,1
    - Dst: mk_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:3176,1
    - Dst: mk_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:3180,1
    - Dst: mk_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:3182,1
    - Dst: set_vector_elem
      Src: /src/gnupg/tests/gpgscm/scheme.c:3185,1
    - Dst: scheme*::malloc
      Src: /src/gnupg/tests/gpgscm/scheme.c:3188,1
    - Dst: history_free
      Src: /src/gnupg/tests/gpgscm/scheme.c:3198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - sc
    - N
    - M
    argTypes:
    - scheme*
    - size_t
    - size_t
    assertStmts:
    - condition: ((N & h->mask_N) == 0)
      pos:
        line_end: 3169
        line_start: 3169
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    - condition: ((M & h->mask_M) == 0)
      pos:
        line_end: 3173
        line_start: 3173
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 3200
      start: 3161
    functionDepth: 0
    functionLinenumber: 3161
    functionLinenumberEnd: 3200
    functionName: history_init
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - scheme*::malloc
    - assert
    - mk_vector
    - history_free
    - set_vector_elem
    linkageType: ''
    returnType: pointer
    signature: pointer history_init(scheme *sc, size_t N, size_t M)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:3206,1
    - Dst: mark
      Src: /src/gnupg/tests/gpgscm/scheme.c:3207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3208
      start: 3202
    functionDepth: 0
    functionLinenumber: 3202
    functionLinenumberEnd: 3208
    functionName: history_mark
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - mark
    linkageType: ''
    returnType: void
    signature: void history_mark(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3211
      start: 3210
    functionDepth: 0
    functionLinenumber: 3210
    functionLinenumberEnd: 3211
    functionName: add_mod
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_mod(a, b, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3212
      start: 3211
    functionDepth: 0
    functionLinenumber: 3211
    functionLinenumberEnd: 3212
    functionName: sub_mod
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_mod(a, b, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:3216,1
    - Dst: is_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:3216,1
    - Dst: fill_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:3218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sc
    - v
    argTypes:
    - scheme*
    - pointer
    assertStmts:
    - condition: (is_vector(v))
      pos:
        line_end: 3215
        line_start: 3215
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 3219
      start: 3213
    functionDepth: 0
    functionLinenumber: 3213
    functionLinenumberEnd: 3219
    functionName: tailstack_clear
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - fill_vector
    - is_vector
    - assert
    linkageType: ''
    returnType: INLINE
    signature: INLINE tailstack_clear(scheme *sc, pointer v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vector_elem
      Src: /src/gnupg/tests/gpgscm/scheme.c:3231,1
    - Dst: set_vector_elem
      Src: /src/gnupg/tests/gpgscm/scheme.c:3234,1
    - Dst: tailstack_clear
      Src: /src/gnupg/tests/gpgscm/scheme.c:3235,1
    - Dst: vector_elem
      Src: /src/gnupg/tests/gpgscm/scheme.c:3235,1
    - Dst: sub_mod
      Src: /src/gnupg/tests/gpgscm/scheme.c:3238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3241
      start: 3221
    functionDepth: 0
    functionLinenumber: 3221
    functionLinenumberEnd: 3241
    functionName: callstack_pop
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - tailstack_clear
    - set_vector_elem
    - sub_mod
    - vector_elem
    linkageType: ''
    returnType: pointer
    signature: pointer callstack_pop(scheme *sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_mod
      Src: /src/gnupg/tests/gpgscm/scheme.c:3253,1
    - Dst: tailstack_clear
      Src: /src/gnupg/tests/gpgscm/scheme.c:3256,1
    - Dst: vector_elem
      Src: /src/gnupg/tests/gpgscm/scheme.c:3256,1
    - Dst: set_vector_elem
      Src: /src/gnupg/tests/gpgscm/scheme.c:3259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - item
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3260
      start: 3243
    functionDepth: 0
    functionLinenumber: 3243
    functionLinenumberEnd: 3260
    functionName: callstack_push
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - tailstack_clear
    - set_vector_elem
    - add_mod
    - vector_elem
    linkageType: ''
    returnType: void
    signature: void callstack_push(scheme *sc, pointer item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_mod
      Src: /src/gnupg/tests/gpgscm/scheme.c:3273,1
    - Dst: set_vector_elem
      Src: /src/gnupg/tests/gpgscm/scheme.c:3274,1
    - Dst: vector_elem
      Src: /src/gnupg/tests/gpgscm/scheme.c:3274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - item
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3275
      start: 3262
    functionDepth: 0
    functionLinenumber: 3262
    functionLinenumberEnd: 3275
    functionName: tailstack_push
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - set_vector_elem
    - add_mod
    - vector_elem
    linkageType: ''
    returnType: void
    signature: void tailstack_push(scheme *sc, pointer item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:3284,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:3285,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:3293,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:3293,1
    - Dst: vector_elem
      Src: /src/gnupg/tests/gpgscm/scheme.c:3296,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:3303,1
    - Dst: tailstack_flatten
      Src: /src/gnupg/tests/gpgscm/scheme.c:3305,1
    - Dst: sub_mod
      Src: /src/gnupg/tests/gpgscm/scheme.c:3305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - sc
    - tailstack
    - i
    - n
    - acc
    argTypes:
    - scheme*
    - pointer
    - size_t
    - size_t
    - pointer
    assertStmts:
    - condition: (i <= h->M)
      pos:
        line_end: 3283
        line_start: 3283
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    - condition: (n < h->M)
      pos:
        line_end: 3284
        line_start: 3284
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 3307
      start: 3277
    functionDepth: 0
    functionLinenumber: 3277
    functionLinenumberEnd: 3307
    functionName: tailstack_flatten
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - mk_symbol
    - tailstack_flatten
    - assert
    - sub_mod
    - vector_elem
    - cons
    linkageType: ''
    returnType: pointer
    signature: "pointer tailstack_flatten(scheme *sc, pointer tailstack, size_t i,
      size_t n,\n\t\t  pointer acc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:3315,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:3316,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:3324,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:3324,1
    - Dst: vector_elem
      Src: /src/gnupg/tests/gpgscm/scheme.c:3327,1
    - Dst: tailstack_flatten
      Src: /src/gnupg/tests/gpgscm/scheme.c:3334,1
    - Dst: vector_elem
      Src: /src/gnupg/tests/gpgscm/scheme.c:3334,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:3338,1
    - Dst: callstack_flatten
      Src: /src/gnupg/tests/gpgscm/scheme.c:3340,1
    - Dst: sub_mod
      Src: /src/gnupg/tests/gpgscm/scheme.c:3340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - sc
    - i
    - n
    - acc
    argTypes:
    - scheme*
    - size_t
    - size_t
    - pointer
    assertStmts:
    - condition: (i <= h->N)
      pos:
        line_end: 3314
        line_start: 3314
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    - condition: (n < h->N)
      pos:
        line_end: 3315
        line_start: 3315
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 3341
      start: 3309
    functionDepth: 0
    functionLinenumber: 3309
    functionLinenumberEnd: 3341
    functionName: callstack_flatten
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - mk_symbol
    - tailstack_flatten
    - assert
    - sub_mod
    - vector_elem
    - callstack_flatten
    - cons
    linkageType: ''
    returnType: pointer
    signature: pointer callstack_flatten(scheme *sc, size_t i, size_t n, pointer acc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: callstack_flatten
      Src: /src/gnupg/tests/gpgscm/scheme.c:3352,1
    - Dst: reverse_in_place
      Src: /src/gnupg/tests/gpgscm/scheme.c:3356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3357
      start: 3343
    functionDepth: 0
    functionLinenumber: 3343
    functionLinenumberEnd: 3357
    functionName: history_flatten
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - reverse_in_place
    - callstack_flatten
    linkageType: ''
    returnType: pointer
    signature: pointer history_flatten(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - SC
    - ','
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3364
    functionDepth: 0
    functionLinenumber: 3364
    functionLinenumberEnd: 3365
    functionName: history_init
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: history_init(SC, A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - SC
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3366
      start: 3365
    functionDepth: 0
    functionLinenumber: 3365
    functionLinenumberEnd: 3366
    functionName: history_free
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: history_free(SC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - SC
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3367
      start: 3366
    functionDepth: 0
    functionLinenumber: 3366
    functionLinenumberEnd: 3367
    functionName: callstack_pop
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: callstack_pop(SC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3368
      start: 3367
    functionDepth: 0
    functionLinenumber: 3367
    functionLinenumberEnd: 3368
    functionName: callstack_push
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: callstack_push(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3368
    functionDepth: 0
    functionLinenumber: 3368
    functionLinenumberEnd: 3369
    functionName: tailstack_push
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tailstack_push(SC, X)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:3380,1
    - Dst: is_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:3380,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:3381,1
    - Dst: is_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:3381,1
    - Dst: symprop
      Src: /src/gnupg/tests/gpgscm/scheme.c:3383,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:3383,1
    - Dst: caar
      Src: /src/gnupg/tests/gpgscm/scheme.c:3384,1
    - Dst: cdar
      Src: /src/gnupg/tests/gpgscm/scheme.c:3389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - sc
    - obj
    - key
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts:
    - condition: (is_symbol(obj))
      pos:
        line_end: 3379
        line_start: 3379
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    - condition: (is_symbol(key))
      pos:
        line_end: 3380
        line_start: 3380
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 3392
      start: 3375
    functionDepth: 0
    functionLinenumber: 3375
    functionLinenumberEnd: 3392
    functionName: get_property
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - assert
    - symprop
    - caar
    - cdar
    - cdr
    - is_symbol
    linkageType: ''
    returnType: pointer
    signature: pointer get_property(scheme *sc, pointer obj, pointer key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:3400,1
    - Dst: is_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:3400,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:3401,1
    - Dst: is_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:3401,1
    - Dst: symprop
      Src: /src/gnupg/tests/gpgscm/scheme.c:3403,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:3403,1
    - Dst: caar
      Src: /src/gnupg/tests/gpgscm/scheme.c:3404,1
    - Dst: cdar
      Src: /src/gnupg/tests/gpgscm/scheme.c:3409,1
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:3411,1
    - Dst: gc_reservations
      Src: /src/gnupg/tests/gpgscm/scheme.c:3411,1
    - Dst: symprop
      Src: /src/gnupg/tests/gpgscm/scheme.c:3412,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:3412,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:3412,1
    - Dst: symprop
      Src: /src/gnupg/tests/gpgscm/scheme.c:3412,1
    - Dst: gc_enable
      Src: /src/gnupg/tests/gpgscm/scheme.c:3413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - sc
    - obj
    - key
    - value
    argTypes:
    - scheme*
    - pointer
    - pointer
    - pointer
    assertStmts:
    - condition: (is_symbol(obj))
      pos:
        line_end: 3399
        line_start: 3399
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    - condition: (is_symbol(key))
      pos:
        line_end: 3400
        line_start: 3400
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 3417
      start: 3394
    functionDepth: 0
    functionLinenumber: 3394
    functionLinenumberEnd: 3417
    functionName: set_property
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - assert
    - symprop
    - caar
    - gc_enable
    - cdar
    - cdr
    - is_symbol
    - gc_reservations
    - cons
    - gc_disable
    linkageType: ''
    returnType: pointer
    signature: pointer set_property(scheme *sc, pointer obj, pointer key, pointer
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:3423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - a
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3423
      start: 3422
    functionDepth: 0
    functionLinenumber: 3422
    functionLinenumberEnd: 3423
    functionName: is_list
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - list_length
    linkageType: ''
    returnType: int
    signature: int is_list(scheme *sc, pointer a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:3440,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:3442,1
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:3446,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:3449,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:3453,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - sc
    - a
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3462
      start: 3431
    functionDepth: 0
    functionLinenumber: 3431
    functionLinenumberEnd: 3462
    functionName: list_length
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - is_pair
    - cdr
    linkageType: ''
    returnType: int
    signature: int list_length(scheme *sc, pointer a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3467
      start: 3466
    functionDepth: 0
    functionLinenumber: 3466
    functionLinenumberEnd: 3467
    functionName: s_retbool
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_retbool(tf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_interactive
      Src: /src/gnupg/tests/gpgscm/scheme.c:3498,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:3499,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:3500,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:3500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3501
      start: 3497
    functionDepth: 0
    functionLinenumber: 3497
    functionLinenumberEnd: 3501
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strvalue
    - car
    - file_interactive
    linkageType: ''
    returnType: void
    signature: void CASE(OP_LOAD)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:3519,1
    - Dst: file_pop
      Src: /src/gnupg/tests/gpgscm/scheme.c:3523,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:3524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3511
    functionDepth: 0
    functionLinenumber: 3511
    functionLinenumberEnd: 3527
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - file_pop
    - s_return
    - s_thread_to
    linkageType: ''
    returnType: void
    signature: void CASE(OP_T0LVL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:3555,1
    - Dst: gensym
      Src: /src/gnupg/tests/gpgscm/scheme.c:3559,1
    - Dst: putstr
      Src: /src/gnupg/tests/gpgscm/scheme.c:3566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3567
      start: 3547
    functionDepth: 0
    functionLinenumber: 3547
    functionLinenumberEnd: 3567
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - s_return
    - gensym
    - putstr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_T1LVL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_macro
      Src: /src/gnupg/tests/gpgscm/scheme.c:3611,1
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:3612,1
    - Dst: gc_reservations
      Src: /src/gnupg/tests/gpgscm/scheme.c:3612,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:3613,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:3614,1
    - Dst: gc_enable
      Src: /src/gnupg/tests/gpgscm/scheme.c:3615,1
    - Dst: s_clear_flag
      Src: /src/gnupg/tests/gpgscm/scheme.c:3617,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:3618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3619
      start: 3610
    functionDepth: 0
    functionLinenumber: 3610
    functionLinenumberEnd: 3619
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - s_clear_flag
    - is_macro
    - gc_enable
    - s_save
    - gc_reservations
    - cons
    - s_thread_to
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_E0ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:3645,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:3645,1
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:3646,1
    - Dst: s_return_enable_gc
      Src: /src/gnupg/tests/gpgscm/scheme.c:3647,1
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:3647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3648
      start: 3643
    functionDepth: 0
    functionLinenumber: 3643
    functionLinenumberEnd: 3648
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue
    - car
    - mk_integer
    - s_return_enable_gc
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_TRACING)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_slot_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:3742,1
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:3747,1
    - Dst: gc_reservations
      Src: /src/gnupg/tests/gpgscm/scheme.c:3747,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:3748,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:3749,1
    - Dst: gc_enable
      Src: /src/gnupg/tests/gpgscm/scheme.c:3750,1
    - Dst: slot_value_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:3751,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:3752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3754
      start: 3738
    functionDepth: 0
    functionLinenumber: 3738
    functionLinenumberEnd: 3754
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - gc_enable
    - s_save
    - find_slot_in_env
    - gc_reservations
    - cons
    - s_thread_to
    - gc_disable
    - slot_value_in_env
    linkageType: ''
    returnType: void
    signature: void CASE(OP_LAMBDA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mk_closure
      Src: /src/gnupg/tests/gpgscm/scheme.c:3763,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:3769,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:3771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3773
      start: 3756
    functionDepth: 0
    functionLinenumber: 3756
    functionLinenumberEnd: 3773
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_closure
    - cdr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_LAMBDA)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_slot_spec_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:3803,1
    - Dst: set_slot_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:3805,1
    - Dst: new_slot_spec_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:3807,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:3809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3810
      start: 3801
    functionDepth: 0
    functionLinenumber: 3801
    functionLinenumberEnd: 3810
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - s_return
    - new_slot_spec_in_env
    - find_slot_spec_in_env
    - set_slot_in_env
    linkageType: ''
    returnType: void
    signature: void CASE(OP_DEF1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:3815,1
    - Dst: find_slot_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:3817,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:3817,1
    - Dst: is_immutable
      Src: /src/gnupg/tests/gpgscm/scheme.c:3820,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:3820,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:3821,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:3822,1
    - Dst: set_slot_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:3829,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:3830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3831
      start: 3812
    functionDepth: 0
    functionLinenumber: 3812
    functionLinenumberEnd: 3831
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - is_immutable
    - set_slot_in_env
    - find_slot_in_env
    - s_return
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_DEFP)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:3840,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:3841,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:3844,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:3846,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:3846,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:3848,1
    - Dst: s_clear_flag
      Src: /src/gnupg/tests/gpgscm/scheme.c:3852,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:3853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3854
      start: 3836
    functionDepth: 0
    functionLinenumber: 3836
    functionLinenumberEnd: 3854
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - s_clear_flag
    - car
    - s_save
    - cdr
    - s_return
    - s_thread_to
    linkageType: ''
    returnType: void
    signature: void CASE(OP_BEGIN)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_true
      Src: /src/gnupg/tests/gpgscm/scheme.c:3863,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:3873,1
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:3877,1
    - Dst: gc_reservations
      Src: /src/gnupg/tests/gpgscm/scheme.c:3877,1
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:3880,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:3880,1
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:3880,1
    - Dst: cdar
      Src: /src/gnupg/tests/gpgscm/scheme.c:3880,1
    - Dst: gc_enable
      Src: /src/gnupg/tests/gpgscm/scheme.c:3881,1
    - Dst: Error_1
      Src: /src/gnupg/tests/gpgscm/scheme.c:3882,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:3883,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:3885,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:3885,1
    - Dst: gc_enable
      Src: /src/gnupg/tests/gpgscm/scheme.c:3886,1
    - Dst: cadar
      Src: /src/gnupg/tests/gpgscm/scheme.c:3887,1
    - Dst: s_clear_flag
      Src: /src/gnupg/tests/gpgscm/scheme.c:3889,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:3890,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3891
      start: 3862
    functionDepth: 0
    functionLinenumber: 3862
    functionLinenumberEnd: 3891
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - Error_1
    - is_pair
    - s_clear_flag
    - car
    - gc_enable
    - cdar
    - s_save
    - cdr
    - gc_reservations
    - s_thread_to
    - cadar
    - is_true
    linkageType: ''
    returnType: void
    signature: void CASE(OP_IF1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:3928,1
    - Dst: new_frame_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:3929,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:3930,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:3931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3932
      start: 3927
    functionDepth: 0
    functionLinenumber: 3927
    functionLinenumberEnd: 3932
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - new_frame_in_env
    - s_thread_to
    - cdr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_LET0AST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:3989,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:3989,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:3989,1
    - Dst: new_slot_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:3990,1
    - Dst: caar
      Src: /src/gnupg/tests/gpgscm/scheme.c:3990,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:3990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3991
      start: 3988
    functionDepth: 0
    functionLinenumber: 3988
    functionLinenumberEnd: 3991
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - caar
    - new_slot_in_env
    - car
    - cdr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_LET2REC)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:3997,1
    - Dst: Error_0
      Src: /src/gnupg/tests/gpgscm/scheme.c:3998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3999
      start: 3996
    functionDepth: 0
    functionLinenumber: 3996
    functionLinenumberEnd: 3999
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - Error_0
    linkageType: ''
    returnType: void
    signature: void CASE(OP_COND0)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_true
      Src: /src/gnupg/tests/gpgscm/scheme.c:4006,1
    - Dst: cdar
      Src: /src/gnupg/tests/gpgscm/scheme.c:4007,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4008,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4010,1
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:4011,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4011,1
    - Dst: Error_0
      Src: /src/gnupg/tests/gpgscm/scheme.c:4012,1
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4014,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:4015,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:4015,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:4016,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4016,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:4016,1
    - Dst: gc_enable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4017,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:4018,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:4020,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4021
      start: 4005
    functionDepth: 0
    functionLinenumber: 4005
    functionLinenumberEnd: 4021
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - Error_0
    - is_pair
    - car
    - gc_enable
    - cdar
    - cdr
    - s_return
    - cadr
    - s_thread_to
    - cons
    - is_true
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_COND1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4041
      start: 4038
    functionDepth: 0
    functionLinenumber: 4038
    functionLinenumberEnd: 4041
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - s_return
    linkageType: ''
    returnType: void
    signature: void CASE(OP_AND0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_false
      Src: /src/gnupg/tests/gpgscm/scheme.c:4049,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4051
      start: 4048
    functionDepth: 0
    functionLinenumber: 4048
    functionLinenumberEnd: 4051
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - s_return
    - is_false
    linkageType: ''
    returnType: void
    signature: void CASE(OP_AND1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4064
      start: 4061
    functionDepth: 0
    functionLinenumber: 4061
    functionLinenumberEnd: 4064
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - s_return
    linkageType: ''
    returnType: void
    signature: void CASE(OP_OR0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_true
      Src: /src/gnupg/tests/gpgscm/scheme.c:4072,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4074
      start: 4071
    functionDepth: 0
    functionLinenumber: 4071
    functionLinenumberEnd: 4074
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - s_return
    - is_true
    linkageType: ''
    returnType: void
    signature: void CASE(OP_OR1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:4097,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4097,1
    - Dst: caar
      Src: /src/gnupg/tests/gpgscm/scheme.c:4098,1
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4099,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:4100,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:4100,1
    - Dst: cdar
      Src: /src/gnupg/tests/gpgscm/scheme.c:4100,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4100,1
    - Dst: gc_enable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4102
      start: 4096
    functionDepth: 0
    functionLinenumber: 4096
    functionLinenumberEnd: 4102
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - caar
    - car
    - gc_enable
    - cdar
    - cdr
    - cons
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_MACRO0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:4114,1
    - Dst: find_slot_spec_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:4115,1
    - Dst: set_slot_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:4117,1
    - Dst: new_slot_spec_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:4119,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4122
      start: 4112
    functionDepth: 0
    functionLinenumber: 4112
    functionLinenumberEnd: 4122
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - typeflag
    - find_slot_spec_in_env
    - set_slot_in_env
    - s_return
    - new_slot_spec_in_env
    linkageType: ''
    returnType: void
    signature: void CASE(OP_MACRO1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4131,1
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:4132,1
    - Dst: caar
      Src: /src/gnupg/tests/gpgscm/scheme.c:4132,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4135,1
    - Dst: eqv
      Src: /src/gnupg/tests/gpgscm/scheme.c:4136,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4143
      start: 4130
    functionDepth: 0
    functionLinenumber: 4130
    functionLinenumberEnd: 4143
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - caar
    - car
    - cdr
    - eqv
    linkageType: ''
    returnType: void
    signature: void CASE(OP_CASE1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_true
      Src: /src/gnupg/tests/gpgscm/scheme.c:4158,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:4159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4160
      start: 4157
    functionDepth: 0
    functionLinenumber: 4157
    functionLinenumberEnd: 4160
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_true
    - s_thread_to
    linkageType: ''
    returnType: void
    signature: void CASE(OP_CASE2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4171,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4173
      start: 4170
    functionDepth: 0
    functionLinenumber: 4170
    functionLinenumberEnd: 4173
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cadr
    - cdr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_PEVAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mk_real
      Src: /src/gnupg/tests/gpgscm/scheme.c:4197,1
    - Dst: exp
      Src: /src/gnupg/tests/gpgscm/scheme.c:4197,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4197,1
    - Dst: mk_real
      Src: /src/gnupg/tests/gpgscm/scheme.c:4201,1
    - Dst: log
      Src: /src/gnupg/tests/gpgscm/scheme.c:4201,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4201,1
    - Dst: mk_real
      Src: /src/gnupg/tests/gpgscm/scheme.c:4205,1
    - Dst: sin
      Src: /src/gnupg/tests/gpgscm/scheme.c:4205,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4205,1
    - Dst: mk_real
      Src: /src/gnupg/tests/gpgscm/scheme.c:4209,1
    - Dst: cos
      Src: /src/gnupg/tests/gpgscm/scheme.c:4209,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4209,1
    - Dst: mk_real
      Src: /src/gnupg/tests/gpgscm/scheme.c:4213,1
    - Dst: tan
      Src: /src/gnupg/tests/gpgscm/scheme.c:4213,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4213,1
    - Dst: mk_real
      Src: /src/gnupg/tests/gpgscm/scheme.c:4217,1
    - Dst: asin
      Src: /src/gnupg/tests/gpgscm/scheme.c:4217,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4217,1
    - Dst: mk_real
      Src: /src/gnupg/tests/gpgscm/scheme.c:4221,1
    - Dst: acos
      Src: /src/gnupg/tests/gpgscm/scheme.c:4221,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4221,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4226,1
    - Dst: mk_real
      Src: /src/gnupg/tests/gpgscm/scheme.c:4226,1
    - Dst: atan
      Src: /src/gnupg/tests/gpgscm/scheme.c:4226,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4226,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4228,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4229,1
    - Dst: mk_real
      Src: /src/gnupg/tests/gpgscm/scheme.c:4229,1
    - Dst: atan2
      Src: /src/gnupg/tests/gpgscm/scheme.c:4229,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4229,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4230
      start: 4195
    functionDepth: 0
    functionLinenumber: 4195
    functionLinenumberEnd: 4230
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - log
    - mk_real
    - rvalue
    - sin
    - acos
    - cos
    - atan
    - tan
    - s_return
    - exp
    - asin
    - cadr
    - atan2
    linkageType: ''
    returnType: void
    signature: void CASE(OP_EXP)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mk_real
      Src: /src/gnupg/tests/gpgscm/scheme.c:4234,1
    - Dst: sqrt
      Src: /src/gnupg/tests/gpgscm/scheme.c:4234,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4234,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4239,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4240,1
    - Dst: num_is_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:4241,1
    - Dst: num_is_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:4241,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4245,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4245,1
    - Dst: pow
      Src: /src/gnupg/tests/gpgscm/scheme.c:4248,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4248,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4248,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4259,1
    - Dst: mk_real
      Src: /src/gnupg/tests/gpgscm/scheme.c:4259,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4261,1
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:4261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4263
      start: 4232
    functionDepth: 0
    functionLinenumber: 4232
    functionLinenumberEnd: 4263
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_real
    - rvalue
    - pow
    - car
    - s_return
    - mk_integer
    - sqrt
    - num_is_integer
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_SQRT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mk_real
      Src: /src/gnupg/tests/gpgscm/scheme.c:4267,1
    - Dst: floor
      Src: /src/gnupg/tests/gpgscm/scheme.c:4267,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4267,1
    - Dst: mk_real
      Src: /src/gnupg/tests/gpgscm/scheme.c:4271,1
    - Dst: ceil
      Src: /src/gnupg/tests/gpgscm/scheme.c:4271,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4271,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4275,1
    - Dst: rvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4276,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4278,1
    - Dst: mk_real
      Src: /src/gnupg/tests/gpgscm/scheme.c:4278,1
    - Dst: floor
      Src: /src/gnupg/tests/gpgscm/scheme.c:4278,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4280,1
    - Dst: mk_real
      Src: /src/gnupg/tests/gpgscm/scheme.c:4280,1
    - Dst: ceil
      Src: /src/gnupg/tests/gpgscm/scheme.c:4280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4282
      start: 4265
    functionDepth: 0
    functionLinenumber: 4265
    functionLinenumberEnd: 4282
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - floor
    - mk_real
    - ceil
    - rvalue
    - car
    - s_return
    linkageType: ''
    returnType: void
    signature: void CASE(OP_FLOOR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4311
      start: 4307
    functionDepth: 0
    functionLinenumber: 4307
    functionLinenumberEnd: 4311
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cdr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_SUB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4325
      start: 4321
    functionDepth: 0
    functionLinenumber: 4321
    functionLinenumberEnd: 4325
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cdr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_DIV)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4343
      start: 4339
    functionDepth: 0
    functionLinenumber: 4339
    functionLinenumberEnd: 4343
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cdr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_INTDIV)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_immutable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4388,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4388,1
    - Dst: caar
      Src: /src/gnupg/tests/gpgscm/scheme.c:4389,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4389,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4390,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4391
      start: 4383
    functionDepth: 0
    functionLinenumber: 4383
    functionLinenumberEnd: 4391
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - caar
    - car
    - is_immutable
    - s_return
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_CONS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_immutable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4396,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4396,1
    - Dst: cdar
      Src: /src/gnupg/tests/gpgscm/scheme.c:4397,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4397,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4398,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4399
      start: 4395
    functionDepth: 0
    functionLinenumber: 4395
    functionLinenumberEnd: 4399
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - cdar
    - is_immutable
    - s_return
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_SETCDR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4405,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4405,1
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4406,1
    - Dst: s_return_enable_gc
      Src: /src/gnupg/tests/gpgscm/scheme.c:4407,1
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:4407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4408
      start: 4403
    functionDepth: 0
    functionLinenumber: 4403
    functionLinenumberEnd: 4408
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue
    - car
    - mk_integer
    - s_return_enable_gc
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_CHAR2INT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4412,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4412,1
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4413,1
    - Dst: s_return_enable_gc
      Src: /src/gnupg/tests/gpgscm/scheme.c:4414,1
    - Dst: mk_character
      Src: /src/gnupg/tests/gpgscm/scheme.c:4414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4415
      start: 4410
    functionDepth: 0
    functionLinenumber: 4410
    functionLinenumberEnd: 4415
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue
    - car
    - mk_character
    - s_return_enable_gc
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_INT2CHAR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4419,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4419,1
    - Dst: toupper
      Src: /src/gnupg/tests/gpgscm/scheme.c:4420,1
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4421,1
    - Dst: s_return_enable_gc
      Src: /src/gnupg/tests/gpgscm/scheme.c:4422,1
    - Dst: mk_character
      Src: /src/gnupg/tests/gpgscm/scheme.c:4422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4423
      start: 4417
    functionDepth: 0
    functionLinenumber: 4417
    functionLinenumberEnd: 4423
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue
    - car
    - toupper
    - mk_character
    - s_return_enable_gc
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_CHARUPCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4427,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4427,1
    - Dst: tolower
      Src: /src/gnupg/tests/gpgscm/scheme.c:4428,1
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4429,1
    - Dst: s_return_enable_gc
      Src: /src/gnupg/tests/gpgscm/scheme.c:4430,1
    - Dst: mk_character
      Src: /src/gnupg/tests/gpgscm/scheme.c:4430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4431
      start: 4425
    functionDepth: 0
    functionLinenumber: 4425
    functionLinenumberEnd: 4431
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue
    - tolower
    - car
    - mk_character
    - s_return_enable_gc
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_CHARDNCASE)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gc_reservations
      Src: /src/gnupg/tests/gpgscm/scheme.c:4434,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:4435,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4435,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4435,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4438,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4438,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4440,1
    - Dst: ivalue_unchecked
      Src: /src/gnupg/tests/gpgscm/scheme.c:4443,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4443,1
    - Dst: Error_1
      Src: /src/gnupg/tests/gpgscm/scheme.c:4452,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4452,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4454,1
    - Dst: mk_sharp_const
      Src: /src/gnupg/tests/gpgscm/scheme.c:4454,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4457,1
    - Dst: mk_atom
      Src: /src/gnupg/tests/gpgscm/scheme.c:4457,1
    - Dst: strtol
      Src: /src/gnupg/tests/gpgscm/scheme.c:4461,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4463,1
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:4463,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4466,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4470
      start: 4433
    functionDepth: 0
    functionLinenumber: 4433
    functionLinenumberEnd: 4470
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue_unchecked
    - Error_1
    - mk_symbol
    - strtol
    - mk_sharp_const
    - car
    - cdr
    - s_return
    - mk_integer
    - gc_reservations
    - strvalue
    - cadr
    - mk_atom
    linkageType: ''
    returnType: void
    signature: void CASE(OP_STR2SYM)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4480,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4481,1
    - Dst: ivalue_unchecked
      Src: /src/gnupg/tests/gpgscm/scheme.c:4484,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4484,1
    - Dst: is_number
      Src: /src/gnupg/tests/gpgscm/scheme.c:4485,1
    - Dst: Error_1
      Src: /src/gnupg/tests/gpgscm/scheme.c:4493,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4493,1
    - Dst: is_number
      Src: /src/gnupg/tests/gpgscm/scheme.c:4494,1
    - Dst: is_character
      Src: /src/gnupg/tests/gpgscm/scheme.c:4494,1
    - Dst: is_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:4494,1
    - Dst: is_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:4494,1
    - Dst: atom2str
      Src: /src/gnupg/tests/gpgscm/scheme.c:4497,1
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4498,1
    - Dst: s_return_enable_gc
      Src: /src/gnupg/tests/gpgscm/scheme.c:4499,1
    - Dst: mk_counted_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:4499,1
    - Dst: Error_1
      Src: /src/gnupg/tests/gpgscm/scheme.c:4501,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4503
      start: 4478
    functionDepth: 0
    functionLinenumber: 4478
    functionLinenumberEnd: 4503
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue_unchecked
    - Error_1
    - is_number
    - mk_counted_string
    - s_return_enable_gc
    - car
    - cdr
    - is_symbol
    - atom2str
    - is_character
    - is_string
    - cadr
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_ATOM2STR)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4509,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4509,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4511,1
    - Dst: charvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4512,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4512,1
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4514,1
    - Dst: s_return_enable_gc
      Src: /src/gnupg/tests/gpgscm/scheme.c:4515,1
    - Dst: mk_empty_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:4515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4516
      start: 4505
    functionDepth: 0
    functionLinenumber: 4505
    functionLinenumberEnd: 4516
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_empty_string
    - s_return_enable_gc
    - car
    - cdr
    - charvalue
    - ivalue
    - cadr
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_MKSTRING)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:4520,1
    - Dst: strlength
      Src: /src/gnupg/tests/gpgscm/scheme.c:4520,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4520,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4526,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4526,1
    - Dst: ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4528,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4528,1
    - Dst: strlength
      Src: /src/gnupg/tests/gpgscm/scheme.c:4530,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4530,1
    - Dst: Error_1
      Src: /src/gnupg/tests/gpgscm/scheme.c:4531,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4531,1
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4534,1
    - Dst: s_return_enable_gc
      Src: /src/gnupg/tests/gpgscm/scheme.c:4535,1
    - Dst: mk_character
      Src: /src/gnupg/tests/gpgscm/scheme.c:4536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4537
      start: 4518
    functionDepth: 0
    functionLinenumber: 4518
    functionLinenumberEnd: 4537
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - Error_1
    - s_return_enable_gc
    - car
    - strlength
    - mk_integer
    - mk_character
    - strvalue
    - ivalue
    - cadr
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_STRLEN)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_immutable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4544,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4544,1
    - Dst: Error_1
      Src: /src/gnupg/tests/gpgscm/scheme.c:4545,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4546,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4548,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4548,1
    - Dst: ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4550,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4550,1
    - Dst: strlength
      Src: /src/gnupg/tests/gpgscm/scheme.c:4551,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4551,1
    - Dst: Error_1
      Src: /src/gnupg/tests/gpgscm/scheme.c:4552,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4552,1
    - Dst: charvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4555,1
    - Dst: caddr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4555,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4558,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4559
      start: 4539
    functionDepth: 0
    functionLinenumber: 4539
    functionLinenumberEnd: 4559
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - caddr
    - Error_1
    - car
    - strlength
    - is_immutable
    - s_return
    - strvalue
    - ivalue
    - cadr
    - charvalue
    linkageType: ''
    returnType: void
    signature: void CASE(OP_STRSET)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4568,1
    - Dst: strlength
      Src: /src/gnupg/tests/gpgscm/scheme.c:4569,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4569,1
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4571,1
    - Dst: mk_empty_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:4572,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4574,1
    - Dst: strlength
      Src: /src/gnupg/tests/gpgscm/scheme.c:4575,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4575,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4575,1
    - Dst: memcpy
      Src: /src/gnupg/tests/gpgscm/scheme.c:4576,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4576,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4576,1
    - Dst: strlength
      Src: /src/gnupg/tests/gpgscm/scheme.c:4576,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4576,1
    - Dst: s_return_enable_gc
      Src: /src/gnupg/tests/gpgscm/scheme.c:4578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4579
      start: 4561
    functionDepth: 0
    functionLinenumber: 4561
    functionLinenumberEnd: 4579
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - strlength
    - cdr
    - memcpy
    - strvalue
    - s_return_enable_gc
    - mk_empty_string
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_STRAPPEND)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4586,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4586,1
    - Dst: ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4588,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4588,1
    - Dst: strlength
      Src: /src/gnupg/tests/gpgscm/scheme.c:4590,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4590,1
    - Dst: Error_1
      Src: /src/gnupg/tests/gpgscm/scheme.c:4591,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4591,1
    - Dst: cddr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4594,1
    - Dst: ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4595,1
    - Dst: caddr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4595,1
    - Dst: strlength
      Src: /src/gnupg/tests/gpgscm/scheme.c:4596,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4596,1
    - Dst: Error_1
      Src: /src/gnupg/tests/gpgscm/scheme.c:4597,1
    - Dst: caddr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4597,1
    - Dst: strlength
      Src: /src/gnupg/tests/gpgscm/scheme.c:4600,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4600,1
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4603,1
    - Dst: s_return_enable_gc
      Src: /src/gnupg/tests/gpgscm/scheme.c:4604,1
    - Dst: mk_counted_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:4604,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4605
      start: 4581
    functionDepth: 0
    functionLinenumber: 4581
    functionLinenumberEnd: 4605
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - caddr
    - Error_1
    - mk_counted_string
    - s_return_enable_gc
    - car
    - strlength
    - cddr
    - strvalue
    - ivalue
    - cadr
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_SUBSTR)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:4610,1
    - Dst: Error_1
      Src: /src/gnupg/tests/gpgscm/scheme.c:4612,1
    - Dst: mk_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:4614,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4615,1
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:4616,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4616,1
    - Dst: set_vector_elem
      Src: /src/gnupg/tests/gpgscm/scheme.c:4617,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4617,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4620
      start: 4607
    functionDepth: 0
    functionLinenumber: 4607
    functionLinenumberEnd: 4620
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - Error_1
    - is_pair
    - car
    - mk_vector
    - cdr
    - list_length
    - s_return
    - set_vector_elem
    linkageType: ''
    returnType: void
    signature: void CASE(OP_VECTOR)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4627,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4627,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4629,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4630,1
    - Dst: mk_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:4632,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4633,1
    - Dst: fill_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:4635,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4638
      start: 4622
    functionDepth: 0
    functionLinenumber: 4622
    functionLinenumberEnd: 4638
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - fill_vector
    - car
    - mk_vector
    - cdr
    - s_return
    - ivalue
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_MKVECTOR)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:4642,1
    - Dst: vector_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:4642,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4642,1
    - Dst: ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4647,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4647,1
    - Dst: vector_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:4649,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4649,1
    - Dst: Error_1
      Src: /src/gnupg/tests/gpgscm/scheme.c:4650,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4650,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4653,1
    - Dst: vector_elem
      Src: /src/gnupg/tests/gpgscm/scheme.c:4653,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4654
      start: 4640
    functionDepth: 0
    functionLinenumber: 4640
    functionLinenumberEnd: 4654
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - vector_length
    - Error_1
    - car
    - vector_elem
    - mk_integer
    - s_return
    - ivalue
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_VECLEN)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_immutable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4659,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4659,1
    - Dst: Error_1
      Src: /src/gnupg/tests/gpgscm/scheme.c:4660,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4661,1
    - Dst: ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4664,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4664,1
    - Dst: vector_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:4665,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4665,1
    - Dst: Error_1
      Src: /src/gnupg/tests/gpgscm/scheme.c:4666,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4666,1
    - Dst: set_vector_elem
      Src: /src/gnupg/tests/gpgscm/scheme.c:4669,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4669,1
    - Dst: caddr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4669,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4670,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4671
      start: 4656
    functionDepth: 0
    functionLinenumber: 4656
    functionLinenumberEnd: 4671
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - set_vector_elem
    - caddr
    - Error_1
    - vector_length
    - car
    - is_immutable
    - s_return
    - ivalue
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_VECSET)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:4692,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (! "reached")
      pos:
        line_end: 4691
        line_start: 4691
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 4693
      start: 4681
    functionDepth: 0
    functionLinenumber: 4681
    functionLinenumberEnd: 4693
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void CASE(OP_NUMEQ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_proc
      Src: /src/gnupg/tests/gpgscm/scheme.c:4741,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4741,1
    - Dst: is_closure
      Src: /src/gnupg/tests/gpgscm/scheme.c:4741,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4741,1
    - Dst: is_continuation
      Src: /src/gnupg/tests/gpgscm/scheme.c:4742,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4742,1
    - Dst: is_foreign
      Src: /src/gnupg/tests/gpgscm/scheme.c:4742,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4742,1
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:4744,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4744,1
    - Dst: list_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:4746,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4746,1
    - Dst: is_environment
      Src: /src/gnupg/tests/gpgscm/scheme.c:4749,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4749,1
    - Dst: is_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:4751,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4751,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4753,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4753,1
    - Dst: eqv
      Src: /src/gnupg/tests/gpgscm/scheme.c:4755,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4755,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4755,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:4761,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:4763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4764
      start: 4735
    functionDepth: 0
    functionLinenumber: 4735
    functionLinenumberEnd: 4764
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_environment
    - is_proc
    - is_vector
    - is_pair
    - car
    - s_save
    - is_continuation
    - is_closure
    - list_length
    - s_thread_to
    - eqv
    - cadr
    - is_foreign
    linkageType: ''
    returnType: void
    signature: void CASE(OP_PROCP)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:4775,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4775,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4776,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:4777,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:4778,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4781
      start: 4772
    functionDepth: 0
    functionLinenumber: 4772
    functionLinenumberEnd: 4781
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - s_save
    - cdr
    - cons
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_WRITE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:4791,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4792,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:4793,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:4794,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4797
      start: 4790
    functionDepth: 0
    functionLinenumber: 4790
    functionLinenumberEnd: 4797
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - car
    - s_save
    - cons
    linkageType: ''
    returnType: void
    signature: void CASE(OP_NEWLINE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:4803,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4803,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:4804,1
    - Dst: mk_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:4804,1
    - Dst: setimmutable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4805,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4806
      start: 4801
    functionDepth: 0
    functionLinenumber: 4801
    functionLinenumberEnd: 4806
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - cons
    - setimmutable
    - is_string
    - mk_string
    linkageType: ''
    returnType: void
    signature: void CASE(OP_ERR0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4842
      start: 4837
    functionDepth: 0
    functionLinenumber: 4837
    functionLinenumberEnd: 4842
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - s_return
    linkageType: ''
    returnType: void
    signature: void CASE(OP_APPEND)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gc_reservations
      Src: /src/gnupg/tests/gpgscm/scheme.c:4858,1
    - Dst: set_property
      Src: /src/gnupg/tests/gpgscm/scheme.c:4860,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4860,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4861,1
    - Dst: caddr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4861,1
    - Dst: get_property
      Src: /src/gnupg/tests/gpgscm/scheme.c:4864,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4864,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4864,1
    - Dst: free_cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:4871,1
    - Dst: free_cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:4872,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:4873,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4874,1
    - Dst: mk_tagged_value
      Src: /src/gnupg/tests/gpgscm/scheme.c:4874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (c == sc->NIL)
      pos:
        line_end: 4872
        line_start: 4872
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 4875
      start: 4857
    functionDepth: 0
    functionLinenumber: 4857
    functionLinenumberEnd: 4875
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - caddr
    - assert
    - free_cons
    - car
    - s_return
    - get_property
    - mk_tagged_value
    - gc_reservations
    - set_property
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_SET_SYMBOL_PROPERTY)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_vector
      Src: /src/gnupg/tests/gpgscm/scheme.c:4878,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4878,1
    - Dst: mk_tagged_value
      Src: /src/gnupg/tests/gpgscm/scheme.c:4880,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4880,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4881,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4881,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4882,1
    - Dst: cadr
      Src: /src/gnupg/tests/gpgscm/scheme.c:4882,1
    - Dst: get_tag
      Src: /src/gnupg/tests/gpgscm/scheme.c:4885,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4885,1
    - Dst: ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4889,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4890
      start: 4877
    functionDepth: 0
    functionLinenumber: 4877
    functionLinenumberEnd: 4890
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_vector
    - car
    - get_tag
    - cdr
    - mk_tagged_value
    - ivalue
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_MK_TAGGED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4900,1
    - Dst: s_retbool
      Src: /src/gnupg/tests/gpgscm/scheme.c:4901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4902
      start: 4897
    functionDepth: 0
    functionLinenumber: 4897
    functionLinenumberEnd: 4902
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - s_retbool
    linkageType: ''
    returnType: void
    signature: void CASE(OP_GCVERB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:4905,1
    - Dst: is_number
      Src: /src/gnupg/tests/gpgscm/scheme.c:4905,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4905,1
    - Dst: Error_0
      Src: /src/gnupg/tests/gpgscm/scheme.c:4906,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4907
      start: 4904
    functionDepth: 0
    functionLinenumber: 4904
    functionLinenumberEnd: 4907
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - Error_0
    - car
    - is_number
    linkageType: ''
    returnType: void
    signature: void CASE(OP_NEWSEGMENT)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:4929,1
    - Dst: port_from_filename
      Src: /src/gnupg/tests/gpgscm/scheme.c:4931,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4931,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4931,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4933,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4935,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (! "reached")
      pos:
        line_end: 4928
        line_start: 4928
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 4937
      start: 4920
    functionDepth: 0
    functionLinenumber: 4920
    functionLinenumberEnd: 4937
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - assert
    - car
    - s_return
    - port_from_filename
    - strvalue
    linkageType: ''
    returnType: void
    signature: void CASE(OP_OPEN_INFILE)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:4947,1
    - Dst: port_from_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:4949,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4949,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4949,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4950,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4950,1
    - Dst: strlength
      Src: /src/gnupg/tests/gpgscm/scheme.c:4950,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4950,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4952,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4954,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (! "reached")
      pos:
        line_end: 4946
        line_start: 4946
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 4955
      start: 4940
    functionDepth: 0
    functionLinenumber: 4940
    functionLinenumberEnd: 4955
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - assert
    - car
    - strlength
    - s_return
    - strvalue
    - port_from_string
    linkageType: ''
    returnType: void
    signature: void CASE(OP_OPEN_INSTRING)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4958,1
    - Dst: port_from_scratch
      Src: /src/gnupg/tests/gpgscm/scheme.c:4959,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4961,1
    - Dst: port_from_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:4964,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4964,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4964,1
    - Dst: strvalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:4965,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4965,1
    - Dst: strlength
      Src: /src/gnupg/tests/gpgscm/scheme.c:4965,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4965,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4968,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4971,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4972
      start: 4956
    functionDepth: 0
    functionLinenumber: 4956
    functionLinenumberEnd: 4972
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - strlength
    - s_return
    - strvalue
    - port_from_scratch
    - port_from_string
    linkageType: ''
    returnType: void
    signature: void CASE(OP_OPEN_OUTSTRING)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:4976,1
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:4977,1
    - Dst: s_return_enable_gc
      Src: /src/gnupg/tests/gpgscm/scheme.c:4978,1
    - Dst: mk_counted_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:4980,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:4984,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4985
      start: 4973
    functionDepth: 0
    functionLinenumber: 4973
    functionLinenumberEnd: 4985
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_counted_string
    - car
    - s_return
    - s_return_enable_gc
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_GET_OUTSTRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:5005,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:5006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5007
      start: 5004
    functionDepth: 0
    functionLinenumber: 5004
    functionLinenumberEnd: 5007
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - s_thread_to
    linkageType: ''
    returnType: void
    signature: void CASE(OP_READ)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:5023,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5024,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5026,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:5027,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5028,1
    - Dst: inchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:5031,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:5033,1
    - Dst: backchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:5036,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:5038,1
    - Dst: mk_character
      Src: /src/gnupg/tests/gpgscm/scheme.c:5038,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5039
      start: 5020
    functionDepth: 0
    functionLinenumber: 5020
    functionLinenumberEnd: 5039
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - car
    - backchar
    - s_save
    - s_return
    - mk_character
    - inchar
    - cons
    linkageType: ''
    returnType: void
    signature: void CASE(OP_READ_CHAR)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:5044,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5045,1
    - Dst: s_retbool
      Src: /src/gnupg/tests/gpgscm/scheme.c:5048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5049
      start: 5041
    functionDepth: 0
    functionLinenumber: 5041
    functionLinenumberEnd: 5049
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - car
    - s_retbool
    linkageType: ''
    returnType: void
    signature: void CASE(OP_CHAR_READY)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:5062,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:5065,1
    - Dst: token
      Src: /src/gnupg/tests/gpgscm/scheme.c:5068,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:5070,1
    - Dst: Error_0
      Src: /src/gnupg/tests/gpgscm/scheme.c:5072,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:5083,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5084,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5084,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:5087,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:5088,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:5091,1
    - Dst: token
      Src: /src/gnupg/tests/gpgscm/scheme.c:5092,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:5093,1
    - Dst: token
      Src: /src/gnupg/tests/gpgscm/scheme.c:5095,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:5097,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:5099,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:5101,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:5103,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:5105,1
    - Dst: token
      Src: /src/gnupg/tests/gpgscm/scheme.c:5106,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:5107,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:5109,1
    - Dst: token
      Src: /src/gnupg/tests/gpgscm/scheme.c:5110,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:5111,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:5113,1
    - Dst: mk_atom
      Src: /src/gnupg/tests/gpgscm/scheme.c:5113,1
    - Dst: readstr_upto
      Src: /src/gnupg/tests/gpgscm/scheme.c:5113,1
    - Dst: readstrexp
      Src: /src/gnupg/tests/gpgscm/scheme.c:5115,1
    - Dst: Error_0
      Src: /src/gnupg/tests/gpgscm/scheme.c:5117,1
    - Dst: setimmutable
      Src: /src/gnupg/tests/gpgscm/scheme.c:5119,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:5120,1
    - Dst: find_slot_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:5122,1
    - Dst: Error_0
      Src: /src/gnupg/tests/gpgscm/scheme.c:5124,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5126,1
    - Dst: slot_value_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:5126,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:5127,1
    - Dst: mk_sharp_const
      Src: /src/gnupg/tests/gpgscm/scheme.c:5131,1
    - Dst: readstr_upto
      Src: /src/gnupg/tests/gpgscm/scheme.c:5131,1
    - Dst: Error_0
      Src: /src/gnupg/tests/gpgscm/scheme.c:5132,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:5134,1
    - Dst: Error_0
      Src: /src/gnupg/tests/gpgscm/scheme.c:5137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5138
      start: 5051
    functionDepth: 0
    functionLinenumber: 5051
    functionLinenumberEnd: 5138
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - readstr_upto
    - Error_0
    - mk_sharp_const
    - readstrexp
    - s_save
    - s_return
    - find_slot_in_env
    - s_thread_to
    - cons
    - setimmutable
    - token
    - mk_atom
    - slot_value_in_env
    linkageType: ''
    returnType: void
    signature: void CASE(OP_SET_INPORT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:5142,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5143,1
    - Dst: gc_enable
      Src: /src/gnupg/tests/gpgscm/scheme.c:5144,1
    - Dst: token
      Src: /src/gnupg/tests/gpgscm/scheme.c:5145,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:5147,1
    - Dst: inchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:5149,1
    - Dst: backchar
      Src: /src/gnupg/tests/gpgscm/scheme.c:5151,1
    - Dst: port_increment_current_line
      Src: /src/gnupg/tests/gpgscm/scheme.c:5153,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:5155,1
    - Dst: reverse_in_place
      Src: /src/gnupg/tests/gpgscm/scheme.c:5155,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:5157,1
    - Dst: token
      Src: /src/gnupg/tests/gpgscm/scheme.c:5158,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:5159,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:5161,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:5162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5164
      start: 5141
    functionDepth: 0
    functionLinenumber: 5141
    functionLinenumberEnd: 5164
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - backchar
    - gc_enable
    - s_save
    - s_return
    - inchar
    - s_thread_to
    - cons
    - port_increment_current_line
    - token
    - reverse_in_place
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_RDLIST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: token
      Src: /src/gnupg/tests/gpgscm/scheme.c:5167,1
    - Dst: Error_0
      Src: /src/gnupg/tests/gpgscm/scheme.c:5168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5169
      start: 5166
    functionDepth: 0
    functionLinenumber: 5166
    functionLinenumberEnd: 5169
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - token
    - Error_0
    linkageType: ''
    returnType: void
    signature: void CASE(OP_RDDOT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5181,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5182,1
    - Dst: gc_reservations
      Src: /src/gnupg/tests/gpgscm/scheme.c:5185,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5186,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:5186,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5187,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:5187,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5188,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5188,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5189,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5194,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5195,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5199,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5200,1
    - Dst: putstr
      Src: /src/gnupg/tests/gpgscm/scheme.c:5216,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5217,1
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:5217,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:5218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5219
      start: 5179
    functionDepth: 0
    functionLinenumber: 5179
    functionLinenumberEnd: 5219
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - putstr
    - mk_symbol
    - mk_integer
    - gc_reservations
    - cons
    - s_thread_to
    linkageType: ''
    returnType: void
    signature: void CASE(OP_RDQQUOTE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:5249,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:5250,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:5250,1
    - Dst: putstr
      Src: /src/gnupg/tests/gpgscm/scheme.c:5251,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5252,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:5253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5254
      start: 5248
    functionDepth: 0
    functionLinenumber: 5248
    functionLinenumberEnd: 5254
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - putstr
    - is_pair
    - car
    - s_save
    - cdr
    - s_thread_to
    linkageType: ''
    returnType: void
    signature: void CASE(OP_P1LIST)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ivalue_unchecked
      Src: /src/gnupg/tests/gpgscm/scheme.c:5267,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:5267,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5268,1
    - Dst: vector_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:5269,1
    - Dst: putstr
      Src: /src/gnupg/tests/gpgscm/scheme.c:5271,1
    - Dst: s_return
      Src: /src/gnupg/tests/gpgscm/scheme.c:5272,1
    - Dst: vector_elem
      Src: /src/gnupg/tests/gpgscm/scheme.c:5274,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:5275,1
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:5275,1
    - Dst: s_save
      Src: /src/gnupg/tests/gpgscm/scheme.c:5276,1
    - Dst: putstr
      Src: /src/gnupg/tests/gpgscm/scheme.c:5279,1
    - Dst: s_thread_to
      Src: /src/gnupg/tests/gpgscm/scheme.c:5280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5282
      start: 5266
    functionDepth: 0
    functionLinenumber: 5266
    functionLinenumberEnd: 5282
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue_unchecked
    - vector_length
    - putstr
    - car
    - s_save
    - cdr
    - vector_elem
    - s_return
    - mk_integer
    - s_thread_to
    linkageType: ''
    returnType: void
    signature: void CASE(OP_PVECFROM)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:5285,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5285,1
    - Dst: Error_1
      Src: /src/gnupg/tests/gpgscm/scheme.c:5287,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5287,1
    - Dst: gc_disable
      Src: /src/gnupg/tests/gpgscm/scheme.c:5289,1
    - Dst: s_return_enable_gc
      Src: /src/gnupg/tests/gpgscm/scheme.c:5290,1
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:5290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5291
      start: 5284
    functionDepth: 0
    functionLinenumber: 5284
    functionLinenumberEnd: 5291
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - Error_1
    - car
    - list_length
    - mk_integer
    - s_return_enable_gc
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_LIST_LENGTH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_closure
      Src: /src/gnupg/tests/gpgscm/scheme.c:5328,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5328,1
    - Dst: is_macro
      Src: /src/gnupg/tests/gpgscm/scheme.c:5330,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5330,1
    - Dst: history_flatten
      Src: /src/gnupg/tests/gpgscm/scheme.c:5332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5347
      start: 5323
    functionDepth: 0
    functionLinenumber: 5323
    functionLinenumberEnd: 5347
    functionName: CASE
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_macro
    - car
    - history_flatten
    - is_closure
    linkageType: ''
    returnType: void
    signature: void CASE(OP_CLOSUREP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ivalue
      Src: /src/gnupg/tests/gpgscm/scheme.c:5350,1
    - Dst: is_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:5350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5351
      start: 5349
    functionDepth: 0
    functionLinenumber: 5349
    functionLinenumberEnd: 5351
    functionName: is_nonneg
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_integer
    - ivalue
    linkageType: ''
    returnType: int
    signature: int is_nonneg(pointer p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: procnum
      Src: /src/gnupg/tests/gpgscm/scheme.c:5401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5407
      start: 5400
    functionDepth: 0
    functionLinenumber: 5400
    functionLinenumberEnd: 5407
    functionName: procname
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - procnum
    linkageType: ''
    returnType: char
    signature: char *procname(pointer x)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: list_length
      Src: /src/gnupg/tests/gpgscm/scheme.c:5413,1
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:5418,1
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:5425,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5438,1
    - Dst: is_pair
      Src: /src/gnupg/tests/gpgscm/scheme.c:5441,1
    - Dst: fct
      Src: /src/gnupg/tests/gpgscm/scheme.c:5443,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:5450,1
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:5456,1
    - Dst: type_to_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:5460,1
    - Dst: type
      Src: /src/gnupg/tests/gpgscm/scheme.c:5460,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5460,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 4
    argNames:
    - sc
    - pcd
    - msg
    - msg_size
    argTypes:
    - scheme*
    - struct op_code_info*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5466
      start: 5409
    functionDepth: 0
    functionLinenumber: 5409
    functionLinenumberEnd: 5466
    functionName: check_arguments
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    - is_pair
    - snprintf
    - car
    - fct
    - cdr
    - list_length
    - type_to_string
    linkageType: ''
    returnType: int
    signature: int check_arguments (scheme *sc, const struct op_code_info *pcd, char
      *msg, size_t msg_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oblist_find_by_name
      Src: /src/gnupg/tests/gpgscm/scheme.c:5475,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:5476,1
    - Dst: immutable_cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5478,1
    - Dst: mk_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:5478,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:5479,1
    - Dst: setimmutable
      Src: /src/gnupg/tests/gpgscm/scheme.c:5480,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5480,1
    - Dst: mk_tagged_value
      Src: /src/gnupg/tests/gpgscm/scheme.c:5481,1
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:5481,1
    - Dst: free_cell
      Src: /src/gnupg/tests/gpgscm/scheme.c:5482,1
    - Dst: setimmutable
      Src: /src/gnupg/tests/gpgscm/scheme.c:5483,1
    - Dst: get_tag
      Src: /src/gnupg/tests/gpgscm/scheme.c:5483,1
    - Dst: immutable_cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - sc
    - op
    - name
    argTypes:
    - scheme*
    - enum scheme_opcodes
    - char*
    assertStmts:
    - condition: (x == sc->NIL)
      pos:
        line_end: 5475
        line_start: 5475
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 5485
      start: 5471
    functionDepth: 0
    functionLinenumber: 5471
    functionLinenumberEnd: 5485
    functionName: assign_syntax
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - typeflag
    - assert
    - car
    - get_tag
    - mk_integer
    - immutable_cons
    - oblist_find_by_name
    - mk_tagged_value
    - free_cell
    - setimmutable
    - mk_string
    linkageType: ''
    returnType: void
    signature: void assign_syntax(scheme *sc, enum scheme_opcodes op, char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ivalue_unchecked
      Src: /src/gnupg/tests/gpgscm/scheme.c:5489,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5489,1
    - Dst: get_tag
      Src: /src/gnupg/tests/gpgscm/scheme.c:5489,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/scheme.c:5490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sc
    - p
    argTypes:
    - scheme*
    - pointer
    assertStmts:
    - condition: (op < OP_MAXDEFINED)
      pos:
        line_end: 5489
        line_start: 5489
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 5492
      start: 5488
    functionDepth: 0
    functionLinenumber: 5488
    functionLinenumberEnd: 5492
    functionName: syntaxnum
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue_unchecked
    - car
    - get_tag
    - assert
    linkageType: ''
    returnType: int
    signature: int syntaxnum(scheme *sc, pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:5497,1
    - Dst: mk_proc
      Src: /src/gnupg/tests/gpgscm/scheme.c:5498,1
    - Dst: new_slot_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:5499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sc
    - op
    - name
    argTypes:
    - scheme*
    - enum scheme_opcodes
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5500
      start: 5494
    functionDepth: 0
    functionLinenumber: 5494
    functionLinenumberEnd: 5500
    functionName: assign_proc
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - new_slot_in_env
    - mk_symbol
    - mk_proc
    linkageType: ''
    returnType: void
    signature: void assign_proc(scheme *sc, enum scheme_opcodes op, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/gnupg/tests/gpgscm/scheme.c:5505,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:5506,1
    - Dst: ivalue_unchecked
      Src: /src/gnupg/tests/gpgscm/scheme.c:5507,1
    - Dst: set_num_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:5508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - op
    argTypes:
    - scheme*
    - enum scheme_opcodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5510
      start: 5502
    functionDepth: 0
    functionLinenumber: 5502
    functionLinenumberEnd: 5510
    functionName: mk_proc
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - get_cell
    - ivalue_unchecked
    - set_num_integer
    - typeflag
    linkageType: ''
    returnType: pointer
    signature: pointer mk_proc(scheme *sc, enum scheme_opcodes op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sc
    - a
    - b
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5516
      start: 5514
    functionDepth: 0
    functionLinenumber: 5514
    functionLinenumberEnd: 5516
    functionName: s_cons
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cons
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE s_cons(scheme *sc, pointer a, pointer b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: immutable_cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sc
    - a
    - b
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5519
      start: 5517
    functionDepth: 0
    functionLinenumber: 5517
    functionLinenumberEnd: 5519
    functionName: s_immutable_cons
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - immutable_cons
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE s_immutable_cons(scheme *sc, pointer a, pointer b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/tests/gpgscm/scheme.c:5590,1
    - Dst: scheme_init
      Src: /src/gnupg/tests/gpgscm/scheme.c:5591,1
    - Dst: free
      Src: /src/gnupg/tests/gpgscm/scheme.c:5592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5597
      start: 5589
    functionDepth: 0
    functionLinenumber: 5589
    functionLinenumberEnd: 5597
    functionName: scheme_init_new
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - scheme_init
    linkageType: ''
    returnType: scheme
    signature: scheme *scheme_init_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/tests/gpgscm/scheme.c:5600,1
    - Dst: scheme_init_custom_alloc
      Src: /src/gnupg/tests/gpgscm/scheme.c:5601,1
    - Dst: free
      Src: /src/gnupg/tests/gpgscm/scheme.c:5602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - malloc
    - free
    argTypes:
    - func_alloc
    - func_dealloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5607
      start: 5599
    functionDepth: 0
    functionLinenumber: 5599
    functionLinenumberEnd: 5607
    functionName: scheme_init_new_custom_alloc
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - scheme_init_custom_alloc
    - malloc
    - free
    linkageType: ''
    returnType: scheme
    signature: scheme *scheme_init_new_custom_alloc(func_alloc malloc, func_dealloc
      free)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scheme_init_custom_alloc
      Src: /src/gnupg/tests/gpgscm/scheme.c:5611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5612
      start: 5610
    functionDepth: 0
    functionLinenumber: 5610
    functionLinenumberEnd: 5612
    functionName: scheme_init
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - scheme_init_custom_alloc
    linkageType: ''
    returnType: int
    signature: int scheme_init(scheme *sc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tests/gpgscm/scheme.c:5643,1
    - Dst: scheme*::malloc
      Src: /src/gnupg/tests/gpgscm/scheme.c:5645,1
    - Dst: alloc_cellseg
      Src: /src/gnupg/tests/gpgscm/scheme.c:5653,1
    - Dst: dump_stack_initialize
      Src: /src/gnupg/tests/gpgscm/scheme.c:5658,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:5664,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5665,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:5665,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:5667,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5668,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:5668,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:5670,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5671,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:5671,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:5673,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5674,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:5674,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:5676,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5677,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:5677,1
    - Dst: oblist_initial_value
      Src: /src/gnupg/tests/gpgscm/scheme.c:5681,1
    - Dst: new_frame_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:5683,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:5686,1
    - Dst: new_slot_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:5687,1
    - Dst: assign_syntax
      Src: /src/gnupg/tests/gpgscm/scheme.c:5689,1
    - Dst: assign_syntax
      Src: /src/gnupg/tests/gpgscm/scheme.c:5690,1
    - Dst: assign_syntax
      Src: /src/gnupg/tests/gpgscm/scheme.c:5691,1
    - Dst: assign_syntax
      Src: /src/gnupg/tests/gpgscm/scheme.c:5692,1
    - Dst: assign_syntax
      Src: /src/gnupg/tests/gpgscm/scheme.c:5693,1
    - Dst: assign_syntax
      Src: /src/gnupg/tests/gpgscm/scheme.c:5694,1
    - Dst: assign_syntax
      Src: /src/gnupg/tests/gpgscm/scheme.c:5695,1
    - Dst: assign_syntax
      Src: /src/gnupg/tests/gpgscm/scheme.c:5696,1
    - Dst: assign_syntax
      Src: /src/gnupg/tests/gpgscm/scheme.c:5697,1
    - Dst: assign_syntax
      Src: /src/gnupg/tests/gpgscm/scheme.c:5698,1
    - Dst: assign_syntax
      Src: /src/gnupg/tests/gpgscm/scheme.c:5699,1
    - Dst: assign_syntax
      Src: /src/gnupg/tests/gpgscm/scheme.c:5700,1
    - Dst: assign_syntax
      Src: /src/gnupg/tests/gpgscm/scheme.c:5701,1
    - Dst: assign_syntax
      Src: /src/gnupg/tests/gpgscm/scheme.c:5702,1
    - Dst: assign_syntax
      Src: /src/gnupg/tests/gpgscm/scheme.c:5703,1
    - Dst: assign_syntax
      Src: /src/gnupg/tests/gpgscm/scheme.c:5704,1
    - Dst: assign_proc
      Src: /src/gnupg/tests/gpgscm/scheme.c:5708,1
    - Dst: history_init
      Src: /src/gnupg/tests/gpgscm/scheme.c:5712,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:5715,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:5716,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:5717,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:5718,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:5719,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:5720,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:5721,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:5722,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:5723,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:5725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 88
    argCount: 3
    argNames:
    - sc
    - malloc
    - free
    argTypes:
    - scheme*
    - func_alloc
    - func_dealloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5729
      start: 5614
    functionDepth: 0
    functionLinenumber: 5614
    functionLinenumberEnd: 5729
    functionName: scheme_init_custom_alloc
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - scheme*::malloc
    - history_init
    - mk_symbol
    - typeflag
    - car
    - new_frame_in_env
    - oblist_initial_value
    - cdr
    - new_slot_in_env
    - memset
    - dump_stack_initialize
    - assign_proc
    - alloc_cellseg
    - assign_syntax
    linkageType: ''
    returnType: int
    signature: int scheme_init_custom_alloc(scheme *sc, func_alloc malloc, func_dealloc
      free)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: port_from_file
      Src: /src/gnupg/tests/gpgscm/scheme.c:5732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - fin
    argTypes:
    - scheme*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5733
      start: 5731
    functionDepth: 0
    functionLinenumber: 5731
    functionLinenumberEnd: 5733
    functionName: scheme_set_input_port_file
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - port_from_file
    linkageType: ''
    returnType: void
    signature: void scheme_set_input_port_file(scheme *sc, FILE *fin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: port_from_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:5736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sc
    - start
    - past_the_end
    argTypes:
    - scheme*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5737
      start: 5735
    functionDepth: 0
    functionLinenumber: 5735
    functionLinenumberEnd: 5737
    functionName: scheme_set_input_port_string
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - port_from_string
    linkageType: ''
    returnType: void
    signature: void scheme_set_input_port_string(scheme *sc, char *start, char *past_the_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: port_from_file
      Src: /src/gnupg/tests/gpgscm/scheme.c:5740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - fout
    argTypes:
    - scheme*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5741
      start: 5739
    functionDepth: 0
    functionLinenumber: 5739
    functionLinenumberEnd: 5741
    functionName: scheme_set_output_port_file
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - port_from_file
    linkageType: ''
    returnType: void
    signature: void scheme_set_output_port_file(scheme *sc, FILE *fout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: port_from_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:5744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sc
    - start
    - past_the_end
    argTypes:
    - scheme*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5745
      start: 5743
    functionDepth: 0
    functionLinenumber: 5743
    functionLinenumberEnd: 5745
    functionName: scheme_set_output_port_string
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - port_from_string
    linkageType: ''
    returnType: void
    signature: void scheme_set_output_port_string(scheme *sc, char *start, char *past_the_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - p
    argTypes:
    - scheme*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5749
      start: 5747
    functionDepth: 0
    functionLinenumber: 5747
    functionLinenumberEnd: 5749
    functionName: scheme_set_external_data
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scheme_set_external_data(scheme *sc, void *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dump_stack_free
      Src: /src/gnupg/tests/gpgscm/scheme.c:5757,1
    - Dst: history_free
      Src: /src/gnupg/tests/gpgscm/scheme.c:5760,1
    - Dst: is_port
      Src: /src/gnupg/tests/gpgscm/scheme.c:5763,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:5764,1
    - Dst: is_port
      Src: /src/gnupg/tests/gpgscm/scheme.c:5768,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:5769,1
    - Dst: is_port
      Src: /src/gnupg/tests/gpgscm/scheme.c:5772,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:5773,1
    - Dst: port_clear_location
      Src: /src/gnupg/tests/gpgscm/scheme.c:5778,1
    - Dst: gc
      Src: /src/gnupg/tests/gpgscm/scheme.c:5782,1
    - Dst: _dealloc_cellseg
      Src: /src/gnupg/tests/gpgscm/scheme.c:5784,1
    - Dst: scheme*::free
      Src: /src/gnupg/tests/gpgscm/scheme.c:5787,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5788
      start: 5751
    functionDepth: 0
    functionLinenumber: 5751
    functionLinenumberEnd: 5788
    functionName: scheme_deinit
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - _dealloc_cellseg
    - port_clear_location
    - typeflag
    - scheme*::free
    - history_free
    - gc
    - is_port
    - dump_stack_free
    linkageType: ''
    returnType: void
    signature: void scheme_deinit(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scheme_load_named_file
      Src: /src/gnupg/tests/gpgscm/scheme.c:5791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - fin
    argTypes:
    - scheme*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5791
      start: 5790
    functionDepth: 0
    functionLinenumber: 5790
    functionLinenumberEnd: 5791
    functionName: scheme_load_file
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - scheme_load_named_file
    linkageType: ''
    returnType: void
    signature: void scheme_load_file(scheme *sc, FILE *fin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dump_stack_reset
      Src: /src/gnupg/tests/gpgscm/scheme.c:5794,1
    - Dst: mk_port
      Src: /src/gnupg/tests/gpgscm/scheme.c:5799,1
    - Dst: port_init_location
      Src: /src/gnupg/tests/gpgscm/scheme.c:5805,1
    - Dst: mk_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:5807,1
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:5811,1
    - Dst: Eval_Cycle
      Src: /src/gnupg/tests/gpgscm/scheme.c:5812,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:5813,1
    - Dst: port_clear_location
      Src: /src/gnupg/tests/gpgscm/scheme.c:5818,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - sc
    - fin
    - filename
    argTypes:
    - scheme*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5819
      start: 5793
    functionDepth: 0
    functionLinenumber: 5793
    functionLinenumberEnd: 5819
    functionName: scheme_load_named_file
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - port_clear_location
    - port_init_location
    - typeflag
    - mk_port
    - mk_integer
    - dump_stack_reset
    - Eval_Cycle
    - mk_string
    linkageType: ''
    returnType: void
    signature: void scheme_load_named_file(scheme *sc, FILE *fin, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scheme_load_memory
      Src: /src/gnupg/tests/gpgscm/scheme.c:5822,1
    - Dst: strlen
      Src: /src/gnupg/tests/gpgscm/scheme.c:5822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - cmd
    argTypes:
    - scheme*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5823
      start: 5821
    functionDepth: 0
    functionLinenumber: 5821
    functionLinenumberEnd: 5823
    functionName: scheme_load_string
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - scheme_load_memory
    - strlen
    linkageType: ''
    returnType: void
    signature: void scheme_load_string(scheme *sc, const char *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dump_stack_reset
      Src: /src/gnupg/tests/gpgscm/scheme.c:5826,1
    - Dst: port_init_location
      Src: /src/gnupg/tests/gpgscm/scheme.c:5833,1
    - Dst: mk_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:5833,1
    - Dst: mk_port
      Src: /src/gnupg/tests/gpgscm/scheme.c:5834,1
    - Dst: mk_integer
      Src: /src/gnupg/tests/gpgscm/scheme.c:5838,1
    - Dst: Eval_Cycle
      Src: /src/gnupg/tests/gpgscm/scheme.c:5839,1
    - Dst: typeflag
      Src: /src/gnupg/tests/gpgscm/scheme.c:5840,1
    - Dst: port_clear_location
      Src: /src/gnupg/tests/gpgscm/scheme.c:5845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 4
    argNames:
    - sc
    - buf
    - len
    - filename
    argTypes:
    - scheme*
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5846
      start: 5825
    functionDepth: 0
    functionLinenumber: 5825
    functionLinenumberEnd: 5846
    functionName: scheme_load_memory
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - port_clear_location
    - port_init_location
    - typeflag
    - mk_port
    - mk_integer
    - dump_stack_reset
    - Eval_Cycle
    - mk_string
    linkageType: ''
    returnType: void
    signature: void scheme_load_memory(scheme *sc, const char *buf, size_t len, const
      char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_slot_spec_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:5851,1
    - Dst: set_slot_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:5853,1
    - Dst: new_slot_spec_in_env
      Src: /src/gnupg/tests/gpgscm/scheme.c:5855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - sc
    - envir
    - symbol
    - value
    argTypes:
    - scheme*
    - pointer
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5857
      start: 5848
    functionDepth: 0
    functionLinenumber: 5848
    functionLinenumberEnd: 5857
    functionName: scheme_define
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - new_slot_spec_in_env
    - find_slot_spec_in_env
    - set_slot_in_env
    linkageType: ''
    returnType: void
    signature: void scheme_define(scheme *sc, pointer envir, pointer symbol, pointer
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scheme_define
      Src: /src/gnupg/tests/gpgscm/scheme.c:5862,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:5864,1
    - Dst: mk_foreign_func
      Src: /src/gnupg/tests/gpgscm/scheme.c:5865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - sr
    argTypes:
    - scheme*
    - scheme_registerable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5866
      start: 5860
    functionDepth: 0
    functionLinenumber: 5860
    functionLinenumberEnd: 5866
    functionName: scheme_register_foreign_func
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_foreign_func
    - mk_symbol
    - scheme_define
    linkageType: ''
    returnType: void
    signature: void scheme_register_foreign_func(scheme * sc, scheme_registerable
      * sr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scheme_register_foreign_func
      Src: /src/gnupg/tests/gpgscm/scheme.c:5875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sc
    - list
    - count
    argTypes:
    - scheme*
    - scheme_registerable*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5877
      start: 5868
    functionDepth: 0
    functionLinenumber: 5868
    functionLinenumberEnd: 5877
    functionName: scheme_register_foreign_func_list
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - scheme_register_foreign_func
    linkageType: ''
    returnType: void
    signature: "void scheme_register_foreign_func_list(scheme * sc,\n                                       scheme_registerable
      * list,\n                                       int count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scheme_eval
      Src: /src/gnupg/tests/gpgscm/scheme.c:5880,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5880,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:5880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - procname
    argTypes:
    - scheme*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5880
      start: 5879
    functionDepth: 0
    functionLinenumber: 5879
    functionLinenumberEnd: 5880
    functionName: scheme_apply0
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_symbol
    - scheme_eval
    - cons
    linkageType: ''
    returnType: pointer
    signature: pointer scheme_apply0(scheme *sc, const char *procname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5885,1
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5886,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5887,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:5891,1
    - Dst: dump_stack_reset
      Src: /src/gnupg/tests/gpgscm/scheme.c:5894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5895
      start: 5882
    functionDepth: 0
    functionLinenumber: 5882
    functionLinenumberEnd: 5895
    functionName: save_from_C_call
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - dump_stack_reset
    - cons
    linkageType: ''
    returnType: void
    signature: void save_from_C_call(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/gnupg/tests/gpgscm/scheme.c:5898,1
    - Dst: caar
      Src: /src/gnupg/tests/gpgscm/scheme.c:5898,1
    - Dst: cadar
      Src: /src/gnupg/tests/gpgscm/scheme.c:5899,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:5900,1
    - Dst: cdar
      Src: /src/gnupg/tests/gpgscm/scheme.c:5900,1
    - Dst: cdr
      Src: /src/gnupg/tests/gpgscm/scheme.c:5902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5903
      start: 5896
    functionDepth: 0
    functionLinenumber: 5896
    functionLinenumberEnd: 5903
    functionName: restore_from_C_call
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - caar
    - car
    - cdar
    - cdr
    - cadar
    linkageType: ''
    returnType: void
    signature: void restore_from_C_call(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: save_from_C_call
      Src: /src/gnupg/tests/gpgscm/scheme.c:5910,1
    - Dst: Eval_Cycle
      Src: /src/gnupg/tests/gpgscm/scheme.c:5915,1
    - Dst: restore_from_C_call
      Src: /src/gnupg/tests/gpgscm/scheme.c:5917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - sc
    - func
    - args
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5919
      start: 5906
    functionDepth: 0
    functionLinenumber: 5906
    functionLinenumberEnd: 5919
    functionName: scheme_call
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - restore_from_C_call
    - save_from_C_call
    - Eval_Cycle
    linkageType: ''
    returnType: pointer
    signature: pointer scheme_call(scheme *sc, pointer func, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: save_from_C_call
      Src: /src/gnupg/tests/gpgscm/scheme.c:5925,1
    - Dst: Eval_Cycle
      Src: /src/gnupg/tests/gpgscm/scheme.c:5929,1
    - Dst: restore_from_C_call
      Src: /src/gnupg/tests/gpgscm/scheme.c:5931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - sc
    - obj
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5933
      start: 5921
    functionDepth: 0
    functionLinenumber: 5921
    functionLinenumberEnd: 5933
    functionName: scheme_eval
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - restore_from_C_call
    - save_from_C_call
    - Eval_Cycle
    linkageType: ''
    returnType: pointer
    signature: pointer scheme_eval(scheme *sc, pointer obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ccommand
      Src: /src/gnupg/tests/gpgscm/scheme.c:5947,1
    - Dst: MacTS_main
      Src: /src/gnupg/tests/gpgscm/scheme.c:5948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5950
      start: 5943
    functionDepth: 0
    functionLinenumber: 5943
    functionLinenumberEnd: 5950
    functionName: main
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - ccommand
    - MacTS_main
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/tests/gpgscm/scheme.c:5962,1
    - Dst: strcmp
      Src: /src/gnupg/tests/gpgscm/scheme.c:5964,1
    - Dst: printf
      Src: /src/gnupg/tests/gpgscm/scheme.c:5965,1
    - Dst: printf
      Src: /src/gnupg/tests/gpgscm/scheme.c:5966,1
    - Dst: printf
      Src: /src/gnupg/tests/gpgscm/scheme.c:5967,1
    - Dst: printf
      Src: /src/gnupg/tests/gpgscm/scheme.c:5968,1
    - Dst: printf
      Src: /src/gnupg/tests/gpgscm/scheme.c:5969,1
    - Dst: printf
      Src: /src/gnupg/tests/gpgscm/scheme.c:5970,1
    - Dst: printf
      Src: /src/gnupg/tests/gpgscm/scheme.c:5971,1
    - Dst: scheme_init
      Src: /src/gnupg/tests/gpgscm/scheme.c:5974,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:5975,1
    - Dst: scheme_set_input_port_file
      Src: /src/gnupg/tests/gpgscm/scheme.c:5978,1
    - Dst: scheme_set_output_port_file
      Src: /src/gnupg/tests/gpgscm/scheme.c:5979,1
    - Dst: scheme_define
      Src: /src/gnupg/tests/gpgscm/scheme.c:5981,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:5981,1
    - Dst: mk_foreign_func
      Src: /src/gnupg/tests/gpgscm/scheme.c:5981,1
    - Dst: access
      Src: /src/gnupg/tests/gpgscm/scheme.c:5984,1
    - Dst: getenv
      Src: /src/gnupg/tests/gpgscm/scheme.c:5985,1
    - Dst: strcmp
      Src: /src/gnupg/tests/gpgscm/scheme.c:5991,1
    - Dst: strcmp
      Src: /src/gnupg/tests/gpgscm/scheme.c:5993,1
    - Dst: strcmp
      Src: /src/gnupg/tests/gpgscm/scheme.c:5993,1
    - Dst: strcmp
      Src: /src/gnupg/tests/gpgscm/scheme.c:5997,1
    - Dst: fopen
      Src: /src/gnupg/tests/gpgscm/scheme.c:6000,1
    - Dst: mk_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:6003,1
    - Dst: cons
      Src: /src/gnupg/tests/gpgscm/scheme.c:6004,1
    - Dst: reverse_in_place
      Src: /src/gnupg/tests/gpgscm/scheme.c:6006,1
    - Dst: scheme_define
      Src: /src/gnupg/tests/gpgscm/scheme.c:6007,1
    - Dst: mk_symbol
      Src: /src/gnupg/tests/gpgscm/scheme.c:6007,1
    - Dst: fopen
      Src: /src/gnupg/tests/gpgscm/scheme.c:6010,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:6013,1
    - Dst: scheme_load_named_file
      Src: /src/gnupg/tests/gpgscm/scheme.c:6016,1
    - Dst: scheme_load_string
      Src: /src/gnupg/tests/gpgscm/scheme.c:6018,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/scheme.c:6022,1
    - Dst: fclose
      Src: /src/gnupg/tests/gpgscm/scheme.c:6025,1
    - Dst: scheme_load_named_file
      Src: /src/gnupg/tests/gpgscm/scheme.c:6032,1
    - Dst: scheme_deinit
      Src: /src/gnupg/tests/gpgscm/scheme.c:6035,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6038
      start: 5953
    functionDepth: 0
    functionLinenumber: 5953
    functionLinenumberEnd: 6038
    functionName: main
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - scheme_set_input_port_file
    - access
    - cons
    - printf
    - mk_foreign_func
    - scheme_set_output_port_file
    - scheme_load_named_file
    - scheme_load_string
    - scheme_deinit
    - strcmp
    - fprintf
    - fopen
    - mk_string
    - scheme_init
    - mk_symbol
    - fclose
    - getenv
    - scheme_define
    - reverse_in_place
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: FFI_PROLOG
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFI_PROLOG()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: CONVERSION_number
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERSION_number(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: CONVERSION_string
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERSION_string(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: CONVERSION_character
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERSION_character(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: CONVERSION_list
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERSION_list(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: CONVERSION_bool
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERSION_bool(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: CONVERSION_path
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERSION_path(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: IS_A_number
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_A_number(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: IS_A_string
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_A_string(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: IS_A_character
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_A_character(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: IS_A_list
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_A_list(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: IS_A_bool
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_A_bool(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: IS_A_path
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_A_path(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - SC
    - ','
    - CTYPE
    - ','
    - TARGET
    - ','
    - WANT
    - ','
    - ARGS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: FFI_ARG_OR_RETURN
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFI_ARG_OR_RETURN(SC, CTYPE, TARGET, WANT, ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - ARGS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: FFI_ARGS_DONE_OR_RETURN
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFI_ARGS_DONE_OR_RETURN(SC, ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - ERR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: FFI_RETURN_ERR
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFI_RETURN_ERR(SC, ERR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - SC
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: FFI_RETURN
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFI_RETURN(SC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: FFI_RETURN_POINTER
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFI_RETURN_POINTER(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: FFI_RETURN_INT
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFI_RETURN_INT(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: FFI_RETURN_STRING
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFI_RETURN_STRING(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - SC
    - ','
    - NAME
    - ','
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: ffi_define_function_name
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ffi_define_function_name(SC, NAME, F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: ffi_define_function
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ffi_define_function(SC, F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: ffi_define_constant
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ffi_define_constant(SC, C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - SC
    - ','
    - SYM
    - ','
    - EXP
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: ffi_define
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ffi_define(SC, SYM, EXP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - SC
    - ','
    - C
    - ','
    - P
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: ffi_define_variable_pointer
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ffi_define_variable_pointer(SC, C, P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: ffi_define_variable_integer
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ffi_define_variable_integer(SC, C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: ffi_define_variable_string
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ffi_define_variable_string(SC, C)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/ffi.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts:
    - condition: (! "reached")
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/gnupg/tests/gpgscm/ffi.c
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: ordinal_suffix
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: 'char *

      ordinal_suffix (int n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - p
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: ffi_bool_value
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ffi_bool_value (scheme *sc, pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:83,1
    - Dst: FFI_RETURN_INT
      Src: /src/gnupg/tests/gpgscm/ffi.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: do_logand
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_RETURN_INT
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_logand (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:96,1
    - Dst: FFI_RETURN_INT
      Src: /src/gnupg/tests/gpgscm/ffi.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: do_logior
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_RETURN_INT
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_logior (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:109,1
    - Dst: FFI_RETURN_INT
      Src: /src/gnupg/tests/gpgscm/ffi.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: do_logxor
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_RETURN_INT
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_logxor (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:122,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:125,1
    - Dst: FFI_RETURN_INT
      Src: /src/gnupg/tests/gpgscm/ffi.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: do_lognot
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_INT
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_lognot (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:134,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:135,1
    - Dst: fflush
      Src: /src/gnupg/tests/gpgscm/ffi.c:136,1
    - Dst: fflush
      Src: /src/gnupg/tests/gpgscm/ffi.c:137,1
    - Dst: FFI_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: do_flush_stdio
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - fflush
    - FFI_RETURN
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_flush_stdio (scheme *sc, pointer args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:150,1
    - Dst: readline
      Src: /src/gnupg/tests/gpgscm/ffi.c:154,1
    - Dst: add_history
      Src: /src/gnupg/tests/gpgscm/ffi.c:156,1
    - Dst: printf
      Src: /src/gnupg/tests/gpgscm/ffi.c:161,1
    - Dst: fflush
      Src: /src/gnupg/tests/gpgscm/ffi.c:162,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tests/gpgscm/ffi.c:163,1
    - Dst: fgets
      Src: /src/gnupg/tests/gpgscm/ffi.c:165,1
    - Dst: strlen
      Src: /src/gnupg/tests/gpgscm/ffi.c:170,1
    - Dst: strlen
      Src: /src/gnupg/tests/gpgscm/ffi.c:171,1
    - Dst: isspace
      Src: /src/gnupg/tests/gpgscm/ffi.c:171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - prompt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 175
    functionName: rl_gets
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - printf
    - strlen
    - fflush
    - xfree
    - readline
    - add_history
    - isspace
    - fgets
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      rl_gets (const char *prompt)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:180,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:184,1
    - Dst: rl_gets
      Src: /src/gnupg/tests/gpgscm/ffi.c:185,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/gnupg/tests/gpgscm/ffi.c:187,1
    - Dst: FFI_RETURN_STRING
      Src: /src/gnupg/tests/gpgscm/ffi.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 190
    functionName: do_prompt
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_RETURN_STRING
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - rl_gets
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_prompt (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:195,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:198,1
    - Dst: sleep
      Src: /src/gnupg/tests/gpgscm/ffi.c:199,1
    - Dst: FFI_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: do_sleep
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - sleep
    - FFI_RETURN
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_sleep (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:206,1
    - Dst: FFI_ARG_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:208,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:209,1
    - Dst: usleep
      Src: /src/gnupg/tests/gpgscm/ffi.c:210,1
    - Dst: FFI_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 212
    functionName: do_usleep
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - usleep
    - FFI_RETURN
    - FFI_ARG_OR_RETURN
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_usleep (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:217,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:220,1
    - Dst: chdir
      Src: /src/gnupg/tests/gpgscm/ffi.c:221,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:222,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:222,1
    - Dst: FFI_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 224
    functionName: do_chdir
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN
    - FFI_RETURN_ERR
    - chdir
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_chdir (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:229,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:232,1
    - Dst: FFI_RETURN_STRING
      Src: /src/gnupg/tests/gpgscm/ffi.c:233,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tests/gpgscm/ffi.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: do_strerror
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - gpg_strerror
    - FFI_RETURN_STRING
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_strerror (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:239,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:243,1
    - Dst: getenv
      Src: /src/gnupg/tests/gpgscm/ffi.c:244,1
    - Dst: FFI_RETURN_STRING
      Src: /src/gnupg/tests/gpgscm/ffi.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 246
    functionName: do_getenv
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - getenv
    - FFI_RETURN_STRING
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_getenv (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:251,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:258,1
    - Dst: gnupg_setenv
      Src: /src/gnupg/tests/gpgscm/ffi.c:259,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:260,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:260,1
    - Dst: FFI_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 262
    functionName: do_setenv
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN
    - FFI_RETURN_ERR
    - gnupg_setenv
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_setenv (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:267,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:270,1
    - Dst: exit
      Src: /src/gnupg/tests/gpgscm/ffi.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: do_exit
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - exit
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_exit (scheme *sc, pointer args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:278,1
    - Dst: FFI_ARG_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:286,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:287,1
    - Dst: open
      Src: /src/gnupg/tests/gpgscm/ffi.c:289,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:291,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:291,1
    - Dst: FFI_RETURN_INT
      Src: /src/gnupg/tests/gpgscm/ffi.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 293
    functionName: do_open
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - open
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_ERR
    - FFI_ARG_OR_RETURN
    - FFI_RETURN_INT
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_open (scheme *sc, pointer args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:298,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:305,1
    - Dst: fdopen
      Src: /src/gnupg/tests/gpgscm/ffi.c:307,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:309,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:309,1
    - Dst: setvbuf
      Src: /src/gnupg/tests/gpgscm/ffi.c:311,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:312,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:312,1
    - Dst: strchr
      Src: /src/gnupg/tests/gpgscm/ffi.c:315,1
    - Dst: strchr
      Src: /src/gnupg/tests/gpgscm/ffi.c:317,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/gnupg/tests/gpgscm/ffi.c:320,1
    - Dst: scheme*::vptr::mk_port_from_file
      Src: /src/gnupg/tests/gpgscm/ffi.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 321
    functionName: do_fdopen
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - fdopen
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - scheme*::vptr::mk_port_from_file
    - FFI_RETURN_ERR
    - strchr
    - setvbuf
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_fdopen (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:326,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:329,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:330,1
    - Dst: close
      Src: /src/gnupg/tests/gpgscm/ffi.c:330,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 331
    functionName: do_close
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - close
    - FFI_RETURN_ERR
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_close (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:336,1
    - Dst: FFI_ARG_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:341,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:343,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:344,1
    - Dst: lseek
      Src: /src/gnupg/tests/gpgscm/ffi.c:344,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 346
    functionName: do_seek
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - lseek
    - FFI_RETURN_ERR
    - FFI_ARG_OR_RETURN
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_seek (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:351,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:355,1
    - Dst: GetTempPath
      Src: /src/gnupg/tests/gpgscm/ffi.c:358,1
    - Dst: FFI_RETURN_STRING
      Src: /src/gnupg/tests/gpgscm/ffi.c:359,1
    - Dst: strlen
      Src: /src/gnupg/tests/gpgscm/ffi.c:362,1
    - Dst: FFI_RETURN_STRING
      Src: /src/gnupg/tests/gpgscm/ffi.c:365,1
    - Dst: FFI_RETURN_STRING
      Src: /src/gnupg/tests/gpgscm/ffi.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 369
    functionName: do_get_temp_path
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_RETURN_STRING
    - strlen
    - FFI_ARGS_DONE_OR_RETURN
    - GetTempPath
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_get_temp_path (scheme *sc, pointer args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:374,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:383,1
    - Dst: strlen
      Src: /src/gnupg/tests/gpgscm/ffi.c:385,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:386,1
    - Dst: strncpy
      Src: /src/gnupg/tests/gpgscm/ffi.c:387,1
    - Dst: gnupg_mkdtemp
      Src: /src/gnupg/tests/gpgscm/ffi.c:389,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:391,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:391,1
    - Dst: FFI_RETURN_STRING
      Src: /src/gnupg/tests/gpgscm/ffi.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 393
    functionName: do_mkdtemp
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_RETURN_STRING
    - strncpy
    - gnupg_mkdtemp
    - strlen
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_ERR
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_mkdtemp (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:398,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:401,1
    - Dst: unlink
      Src: /src/gnupg/tests/gpgscm/ffi.c:402,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:403,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:403,1
    - Dst: FFI_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 405
    functionName: do_unlink
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - unlink
    - FFI_RETURN
    - FFI_RETURN_ERR
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_unlink (scheme *sc, pointer args)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/gnupg/tests/gpgscm/ffi.c:413,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:414,1
    - Dst: S_ISDIR
      Src: /src/gnupg/tests/gpgscm/ffi.c:416,1
    - Dst: opendir
      Src: /src/gnupg/tests/gpgscm/ffi.c:421,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:423,1
    - Dst: readdir
      Src: /src/gnupg/tests/gpgscm/ffi.c:425,1
    - Dst: strcmp
      Src: /src/gnupg/tests/gpgscm/ffi.c:429,1
    - Dst: strcmp
      Src: /src/gnupg/tests/gpgscm/ffi.c:430,1
    - Dst: xtryasprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:433,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:436,1
    - Dst: unlink_recursively
      Src: /src/gnupg/tests/gpgscm/ffi.c:440,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:441,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/tests/gpgscm/ffi.c:442,1
    - Dst: closedir
      Src: /src/gnupg/tests/gpgscm/ffi.c:449,1
    - Dst: rmdir
      Src: /src/gnupg/tests/gpgscm/ffi.c:451,1
    - Dst: unlink
      Src: /src/gnupg/tests/gpgscm/ffi.c:455,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:456,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 458
    functionName: unlink_recursively
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 1
    functionsReached:
    - readdir
    - gpg_error_from_syserror
    - closedir
    - unlink
    - strcmp
    - gpg_error_from_errno
    - xtryasprintf
    - S_ISDIR
    - xfree
    - stat
    - unlink_recursively
    - rmdir
    - opendir
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t unlink_recursively (const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:463,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:466,1
    - Dst: unlink_recursively
      Src: /src/gnupg/tests/gpgscm/ffi.c:467,1
    - Dst: FFI_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 469
    functionName: do_unlink_recursively
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN
    - unlink_recursively
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_unlink_recursively (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:474,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:479,1
    - Dst: rename
      Src: /src/gnupg/tests/gpgscm/ffi.c:480,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:481,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:481,1
    - Dst: FFI_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 483
    functionName: do_rename
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN
    - FFI_RETURN_ERR
    - rename
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_rename (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:488,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:491,1
    - Dst: gnupg_getcwd
      Src: /src/gnupg/tests/gpgscm/ffi.c:492,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:494,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:494,1
    - Dst: scheme*::vptr::mk_string
      Src: /src/gnupg/tests/gpgscm/ffi.c:495,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:496,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/gnupg/tests/gpgscm/ffi.c:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 498
    functionName: do_getcwd
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - gnupg_getcwd
    - FFI_ARGS_DONE_OR_RETURN
    - scheme*::vptr::mk_string
    - FFI_RETURN_POINTER
    - FFI_RETURN_ERR
    - xfree
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_getcwd (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:503,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:508,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/tests/gpgscm/ffi.c:509,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:510,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:510,1
    - Dst: FFI_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 512
    functionName: do_mkdir
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - gnupg_mkdir
    - FFI_RETURN
    - FFI_RETURN_ERR
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_mkdir (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:517,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:520,1
    - Dst: rmdir
      Src: /src/gnupg/tests/gpgscm/ffi.c:521,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:522,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:522,1
    - Dst: FFI_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 524
    functionName: do_rmdir
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN
    - FFI_RETURN_ERR
    - rmdir
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_rmdir (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:529,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:531,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/tests/gpgscm/ffi.c:532,1
    - Dst: FFI_RETURN_STRING
      Src: /src/gnupg/tests/gpgscm/ffi.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 534
    functionName: do_get_isotime
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - gnupg_get_isotime
    - FFI_RETURN_STRING
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_get_isotime (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:539,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:540,1
    - Dst: FFI_RETURN_INT
      Src: /src/gnupg/tests/gpgscm/ffi.c:541,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/tests/gpgscm/ffi.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 542
    functionName: do_get_time
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - gnupg_get_time
    - FFI_RETURN_INT
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_get_time (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:547,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:548,1
    - Dst: FFI_RETURN_INT
      Src: /src/gnupg/tests/gpgscm/ffi.c:549,1
    - Dst: getpid
      Src: /src/gnupg/tests/gpgscm/ffi.c:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: do_getpid
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - getpid
    - FFI_RETURN_INT
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_getpid (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:555,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:558,1
    - Dst: srand
      Src: /src/gnupg/tests/gpgscm/ffi.c:559,1
    - Dst: FFI_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 561
    functionName: do_srandom
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - srand
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_srandom (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/gnupg/tests/gpgscm/ffi.c:568,1
    - Dst: random
      Src: /src/gnupg/tests/gpgscm/ffi.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - scale
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 578
    functionName: random_scaled
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - rand
    - random
    linkageType: ''
    returnType: int
    signature: int random_scaled (int scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:583,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:586,1
    - Dst: FFI_RETURN_INT
      Src: /src/gnupg/tests/gpgscm/ffi.c:587,1
    - Dst: random_scaled
      Src: /src/gnupg/tests/gpgscm/ffi.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 588
    functionName: do_random
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_INT
    - random_scaled
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_random (scheme *sc, pointer args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:593,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:598,1
    - Dst: ffi_sprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:600,1
    - Dst: scheme*::vptr::mk_counted_string
      Src: /src/gnupg/tests/gpgscm/ffi.c:602,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:604,1
    - Dst: scheme*::vptr::string_value
      Src: /src/gnupg/tests/gpgscm/ffi.c:606,1
    - Dst: random_scaled
      Src: /src/gnupg/tests/gpgscm/ffi.c:607,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/gnupg/tests/gpgscm/ffi.c:608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 609
    functionName: do_make_random_string
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - scheme*::vptr::string_value
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - FFI_RETURN_ERR
    - scheme*::vptr::mk_counted_string
    - ffi_sprintf
    - random_scaled
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_make_random_string (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_fclose
      Src: /src/gnupg/tests/gpgscm/ffi.c:628,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - data
    argTypes:
    - scheme*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 630
    functionName: es_object_finalize
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - es_fclose
    - xfree
    linkageType: ''
    returnType: void
    signature: void es_object_finalize (scheme *sc, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - sc
    - out
    - size
    - data
    argTypes:
    - scheme*
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 639
    functionName: es_object_to_string
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void es_object_to_string (scheme *sc, char *out, size_t size, void
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/tests/gpgscm/ffi.c:651,1
    - Dst: scheme*::vptr::mk_foreign_object
      Src: /src/gnupg/tests/gpgscm/ffi.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - stream
    argTypes:
    - scheme*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 658
    functionName: es_wrap
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - scheme*::vptr::mk_foreign_object
    linkageType: ''
    returnType: pointer
    signature: pointer es_wrap (scheme *sc, estream_t stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_foreign_object
      Src: /src/gnupg/tests/gpgscm/ffi.c:666,1
    - Dst: scheme*::vptr::get_foreign_object_vtable
      Src: /src/gnupg/tests/gpgscm/ffi.c:669,1
    - Dst: scheme*::vptr::get_foreign_object_data
      Src: /src/gnupg/tests/gpgscm/ffi.c:672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - object
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 673
    functionName: es_unwrap
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - scheme*::vptr::get_foreign_object_data
    - scheme*::vptr::get_foreign_object_vtable
    - is_foreign_object
    linkageType: ''
    returnType: struct es_object_box
    signature: 'struct es_object_box *

      es_unwrap (scheme *sc, pointer object)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 676
    functionName: CONVERSION_estream
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERSION_estream(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 677
    functionName: IS_A_estream
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_A_estream(SC, X)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:681,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:684,1
    - Dst: es_fclose
      Src: /src/gnupg/tests/gpgscm/ffi.c:685,1
    - Dst: FFI_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 689
    functionName: do_es_fclose
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN
    - es_fclose
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_es_fclose (scheme *sc, pointer args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:694,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:704,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tests/gpgscm/ffi.c:706,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:708,1
    - Dst: es_read
      Src: /src/gnupg/tests/gpgscm/ffi.c:710,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:712,1
    - Dst: scheme*::vptr::mk_counted_string
      Src: /src/gnupg/tests/gpgscm/ffi.c:714,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:715,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/gnupg/tests/gpgscm/ffi.c:716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 717
    functionName: do_es_read
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - FFI_RETURN_ERR
    - es_read
    - xfree
    - scheme*::vptr::mk_counted_string
    - xtrymalloc
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_es_read (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:722,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:725,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/gnupg/tests/gpgscm/ffi.c:727,1
    - Dst: es_feof
      Src: /src/gnupg/tests/gpgscm/ffi.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 728
    functionName: do_es_feof
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - es_feof
    - FFI_RETURN_POINTER
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_es_feof (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:733,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:742,1
    - Dst: strlen
      Src: /src/gnupg/tests/gpgscm/ffi.c:744,1
    - Dst: es_write
      Src: /src/gnupg/tests/gpgscm/ffi.c:747,1
    - Dst: FFI_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 755
    functionName: do_es_write
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - strlen
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN
    - es_write
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_es_write (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tests/gpgscm/ffi.c:772,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - data
    argTypes:
    - scheme*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 774
    functionName: proc_object_finalize
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpgrt_process_release
    - xfree
    linkageType: ''
    returnType: void
    signature: void proc_object_finalize (scheme *sc, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - sc
    - out
    - size
    - data
    argTypes:
    - scheme*
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 783
    functionName: proc_object_to_string
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void proc_object_to_string (scheme *sc, char *out, size_t size, void
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/tests/gpgscm/ffi.c:794,1
    - Dst: scheme*::vptr::mk_foreign_object
      Src: /src/gnupg/tests/gpgscm/ffi.c:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - proc
    argTypes:
    - scheme*
    - gpgrt_process_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 800
    functionName: proc_wrap
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - scheme*::vptr::mk_foreign_object
    linkageType: ''
    returnType: pointer
    signature: pointer proc_wrap (scheme *sc, gpgrt_process_t proc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_foreign_object
      Src: /src/gnupg/tests/gpgscm/ffi.c:807,1
    - Dst: scheme*::vptr::get_foreign_object_vtable
      Src: /src/gnupg/tests/gpgscm/ffi.c:810,1
    - Dst: scheme*::vptr::get_foreign_object_data
      Src: /src/gnupg/tests/gpgscm/ffi.c:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - object
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 814
    functionName: proc_unwrap
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - scheme*::vptr::get_foreign_object_data
    - scheme*::vptr::get_foreign_object_vtable
    - is_foreign_object
    linkageType: ''
    returnType: struct proc_object_box
    signature: 'struct proc_object_box *

      proc_unwrap (scheme *sc, pointer object)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 817
    functionName: CONVERSION_proc
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERSION_proc(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 818
    functionName: IS_A_proc
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_A_proc(SC, X)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ReadFile
      Src: /src/gnupg/tests/gpgscm/ffi.c:841,1
    - Dst: GetLastError
      Src: /src/gnupg/tests/gpgscm/ffi.c:844,1
    - Dst: CloseHandle
      Src: /src/gnupg/tests/gpgscm/ffi.c:848,1
    - Dst: xtryrealloc
      Src: /src/gnupg/tests/gpgscm/ffi.c:866,1
    - Dst: CloseHandle
      Src: /src/gnupg/tests/gpgscm/ffi.c:878,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:881,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 884
    functionName: read_from_pipe
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - ReadFile
    - xtryrealloc
    - xfree
    - GetLastError
    - CloseHandle
    linkageType: ''
    returnType: DWORD
    signature: DWORD read_from_pipe (void *arg)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:891,1
    - Dst: FFI_ARG_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:913,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:918,1
    - Dst: ffi_list2argv
      Src: /src/gnupg/tests/gpgscm/ffi.c:920,1
    - Dst: gpg_error
      Src: /src/gnupg/tests/gpgscm/ffi.c:921,1
    - Dst: ffi_sprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:922,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:926,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:931,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:933,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:934,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/tests/gpgscm/ffi.c:937,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:941,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:942,1
    - Dst: gpgrt_process_get_streams
      Src: /src/gnupg/tests/gpgscm/ffi.c:945,1
    - Dst: es_write
      Src: /src/gnupg/tests/gpgscm/ffi.c:948,1
    - Dst: strlen
      Src: /src/gnupg/tests/gpgscm/ffi.c:948,1
    - Dst: es_fclose
      Src: /src/gnupg/tests/gpgscm/ffi.c:949,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tests/gpgscm/ffi.c:953,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:954,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:955,1
    - Dst: gpgrt_process_ctl
      Src: /src/gnupg/tests/gpgscm/ffi.c:959,1
    - Dst: gpgrt_process_get_fds
      Src: /src/gnupg/tests/gpgscm/ffi.c:962,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tests/gpgscm/ffi.c:966,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:967,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:968,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tests/gpgscm/ffi.c:971,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tests/gpgscm/ffi.c:975,1
    - Dst: CreateThread
      Src: /src/gnupg/tests/gpgscm/ffi.c:993,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:997,1
    - Dst: CloseHandle
      Src: /src/gnupg/tests/gpgscm/ffi.c:998,1
    - Dst: read_from_pipe
      Src: /src/gnupg/tests/gpgscm/ffi.c:1009,1
    - Dst: CloseHandle
      Src: /src/gnupg/tests/gpgscm/ffi.c:1011,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:1012,1
    - Dst: WaitForSingleObject
      Src: /src/gnupg/tests/gpgscm/ffi.c:1019,1
    - Dst: GetExitCodeThread
      Src: /src/gnupg/tests/gpgscm/ffi.c:1020,1
    - Dst: CloseHandle
      Src: /src/gnupg/tests/gpgscm/ffi.c:1021,1
    - Dst: FD_ZERO
      Src: /src/gnupg/tests/gpgscm/ffi.c:1038,1
    - Dst: FD_SET
      Src: /src/gnupg/tests/gpgscm/ffi.c:1041,1
    - Dst: FD_SET
      Src: /src/gnupg/tests/gpgscm/ffi.c:1044,1
    - Dst: select
      Src: /src/gnupg/tests/gpgscm/ffi.c:1054,1
    - Dst: FD_ISSET
      Src: /src/gnupg/tests/gpgscm/ffi.c:1058,1
    - Dst: read
      Src: /src/gnupg/tests/gpgscm/ffi.c:1060,1
    - Dst: close
      Src: /src/gnupg/tests/gpgscm/ffi.c:1064,1
    - Dst: xtryrealloc
      Src: /src/gnupg/tests/gpgscm/ffi.c:1075,1
    - Dst: FD_ISSET
      Src: /src/gnupg/tests/gpgscm/ffi.c:1082,1
    - Dst: read
      Src: /src/gnupg/tests/gpgscm/ffi.c:1084,1
    - Dst: close
      Src: /src/gnupg/tests/gpgscm/ffi.c:1088,1
    - Dst: xtryrealloc
      Src: /src/gnupg/tests/gpgscm/ffi.c:1099,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/tests/gpgscm/ffi.c:1109,1
    - Dst: gpgrt_process_ctl
      Src: /src/gnupg/tests/gpgscm/ffi.c:1111,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tests/gpgscm/ffi.c:1113,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:1114,1
    - Dst: scheme*::vptr::mk_integer
      Src: /src/gnupg/tests/gpgscm/ffi.c:1116,1
    - Dst: scheme*::vptr::mk_counted_string
      Src: /src/gnupg/tests/gpgscm/ffi.c:1117,1
    - Dst: scheme*::vptr::mk_counted_string
      Src: /src/gnupg/tests/gpgscm/ffi.c:1118,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:1120,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:1121,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/gnupg/tests/gpgscm/ffi.c:1123,1
    - Dst: _cons
      Src: /src/gnupg/tests/gpgscm/ffi.c:1123,1
    - Dst: _cons
      Src: /src/gnupg/tests/gpgscm/ffi.c:1124,1
    - Dst: _cons
      Src: /src/gnupg/tests/gpgscm/ffi.c:1125,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:1127,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:1128,1
    - Dst: CloseHandle
      Src: /src/gnupg/tests/gpgscm/ffi.c:1131,1
    - Dst: CloseHandle
      Src: /src/gnupg/tests/gpgscm/ffi.c:1133,1
    - Dst: close
      Src: /src/gnupg/tests/gpgscm/ffi.c:1136,1
    - Dst: close
      Src: /src/gnupg/tests/gpgscm/ffi.c:1138,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tests/gpgscm/ffi.c:1140,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:1141,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:1142,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 163
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 1143
    functionName: do_process_spawn_io
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - strlen
    - WaitForSingleObject
    - ffi_sprintf
    - xtrymalloc
    - FD_ISSET
    - FFI_PROLOG
    - FFI_ARGS_DONE_OR_RETURN
    - CreateThread
    - close
    - es_write
    - FD_SET
    - gpgrt_process_get_fds
    - gpgrt_process_wait
    - scheme*::vptr::mk_counted_string
    - gpgrt_process_get_streams
    - gpgrt_process_spawn
    - scheme*::vptr::mk_integer
    - _cons
    - fprintf
    - FFI_ARG_OR_RETURN
    - gpg_error
    - FFI_RETURN_ERR
    - xfree
    - ffi_list2argv
    - FD_ZERO
    - select
    - GetExitCodeThread
    - gpgrt_process_release
    - es_fclose
    - read
    - FFI_RETURN_POINTER
    - xtryrealloc
    - gpgrt_process_ctl
    - read_from_pipe
    - CloseHandle
    linkageType: ''
    returnType: pointer
    signature: pointer do_process_spawn_io (scheme *sc, pointer args)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:1148,1
    - Dst: FFI_ARG_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:1156,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:1160,1
    - Dst: ffi_list2argv
      Src: /src/gnupg/tests/gpgscm/ffi.c:1162,1
    - Dst: gpg_error
      Src: /src/gnupg/tests/gpgscm/ffi.c:1163,1
    - Dst: ffi_sprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:1164,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:1168,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:1173,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:1175,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:1176,1
    - Dst: gpgrt_spawn_actions_new
      Src: /src/gnupg/tests/gpgscm/ffi.c:1179,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:1182,1
    - Dst: _get_osfhandle
      Src: /src/gnupg/tests/gpgscm/ffi.c:1191,1
    - Dst: _get_osfhandle
      Src: /src/gnupg/tests/gpgscm/ffi.c:1195,1
    - Dst: _get_osfhandle
      Src: /src/gnupg/tests/gpgscm/ffi.c:1199,1
    - Dst: gpgrt_spawn_actions_set_redirect
      Src: /src/gnupg/tests/gpgscm/ffi.c:1201,1
    - Dst: gpgrt_spawn_actions_set_redirect
      Src: /src/gnupg/tests/gpgscm/ffi.c:1204,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/tests/gpgscm/ffi.c:1206,1
    - Dst: gpgrt_spawn_actions_release
      Src: /src/gnupg/tests/gpgscm/ffi.c:1207,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:1208,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:1210,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/gnupg/tests/gpgscm/ffi.c:1211,1
    - Dst: proc_wrap
      Src: /src/gnupg/tests/gpgscm/ffi.c:1211,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1145
    functionDepth: 1
    functionLinenumber: 1145
    functionLinenumberEnd: 1212
    functionName: do_process_spawn_fd
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpgrt_spawn_actions_set_redirect
    - gpgrt_spawn_actions_release
    - gpgrt_process_spawn
    - _get_osfhandle
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_PROLOG
    - FFI_RETURN_POINTER
    - fprintf
    - FFI_ARG_OR_RETURN
    - gpg_error
    - FFI_RETURN_ERR
    - gpgrt_spawn_actions_new
    - xfree
    - proc_wrap
    - ffi_sprintf
    - ffi_list2argv
    linkageType: ''
    returnType: pointer
    signature: pointer do_process_spawn_fd (scheme *sc, pointer args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:1217,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:1224,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:1228,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/tests/gpgscm/ffi.c:1232,1
    - Dst: gpgrt_process_ctl
      Src: /src/gnupg/tests/gpgscm/ffi.c:1235,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tests/gpgscm/ffi.c:1236,1
    - Dst: FFI_RETURN_INT
      Src: /src/gnupg/tests/gpgscm/ffi.c:1242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1214
    functionDepth: 1
    functionLinenumber: 1214
    functionLinenumberEnd: 1243
    functionName: do_process_wait
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpgrt_process_release
    - FFI_ARGS_DONE_OR_RETURN
    - fprintf
    - FFI_RETURN_INT
    - gpgrt_process_wait
    - gpgrt_process_ctl
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_process_wait (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:1248,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:1250,1
    - Dst: gnupg_create_pipe
      Src: /src/gnupg/tests/gpgscm/ffi.c:1251,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/gnupg/tests/gpgscm/ffi.c:1254,1
    - Dst: IMC
      Src: /src/gnupg/tests/gpgscm/ffi.c:1254,1
    - Dst: IMC
      Src: /src/gnupg/tests/gpgscm/ffi.c:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1257
    functionName: do_pipe
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - gnupg_create_pipe
    - IMC
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_pipe (scheme *sc, pointer args)
  - 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: 1254
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1254
    functionName: IMC
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMC(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:1262,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:1264,1
    - Dst: gnupg_create_pipe
      Src: /src/gnupg/tests/gpgscm/ffi.c:1265,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/gnupg/tests/gpgscm/ffi.c:1268,1
    - Dst: IMC
      Src: /src/gnupg/tests/gpgscm/ffi.c:1268,1
    - Dst: IMC
      Src: /src/gnupg/tests/gpgscm/ffi.c:1269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1271
    functionName: do_inbound_pipe
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - gnupg_create_pipe
    - IMC
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_inbound_pipe (scheme *sc, pointer args)
  - 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: 1268
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1268
    functionName: IMC
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMC(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:1276,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:1278,1
    - Dst: gnupg_create_pipe
      Src: /src/gnupg/tests/gpgscm/ffi.c:1279,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/gnupg/tests/gpgscm/ffi.c:1282,1
    - Dst: IMC
      Src: /src/gnupg/tests/gpgscm/ffi.c:1282,1
    - Dst: IMC
      Src: /src/gnupg/tests/gpgscm/ffi.c:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1285
    functionName: do_outbound_pipe
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - gnupg_create_pipe
    - IMC
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_outbound_pipe (scheme *sc, pointer args)
  - 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: 1282
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1282
    functionName: IMC
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMC(A, B)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:1293,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:1308,1
    - Dst: fopen
      Src: /src/gnupg/tests/gpgscm/ffi.c:1311,1
    - Dst: fopen
      Src: /src/gnupg/tests/gpgscm/ffi.c:1315,1
    - Dst: fstat
      Src: /src/gnupg/tests/gpgscm/ffi.c:1319,1
    - Dst: fileno
      Src: /src/gnupg/tests/gpgscm/ffi.c:1319,1
    - Dst: fstat
      Src: /src/gnupg/tests/gpgscm/ffi.c:1322,1
    - Dst: fileno
      Src: /src/gnupg/tests/gpgscm/ffi.c:1322,1
    - Dst: fprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:1328,1
    - Dst: feof
      Src: /src/gnupg/tests/gpgscm/ffi.c:1335,1
    - Dst: fread
      Src: /src/gnupg/tests/gpgscm/ffi.c:1339,1
    - Dst: ferror
      Src: /src/gnupg/tests/gpgscm/ffi.c:1340,1
    - Dst: fread
      Src: /src/gnupg/tests/gpgscm/ffi.c:1343,1
    - Dst: feof
      Src: /src/gnupg/tests/gpgscm/ffi.c:1345,1
    - Dst: memcmp
      Src: /src/gnupg/tests/gpgscm/ffi.c:1350,1
    - Dst: fread
      Src: /src/gnupg/tests/gpgscm/ffi.c:1354,1
    - Dst: feof
      Src: /src/gnupg/tests/gpgscm/ffi.c:1355,1
    - Dst: fclose
      Src: /src/gnupg/tests/gpgscm/ffi.c:1363,1
    - Dst: fclose
      Src: /src/gnupg/tests/gpgscm/ffi.c:1365,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/gnupg/tests/gpgscm/ffi.c:1366,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:1368,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 61
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1370
    functionName: do_file_equal
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - fclose
    - FFI_RETURN_POINTER
    - fstat
    - fileno
    - fprintf
    - feof
    - memcmp
    - fopen
    - fread
    - ferror
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_file_equal (scheme *sc, pointer args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:1375,1
    - Dst: ffi_sprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:1383,1
    - Dst: pair_cdr
      Src: /src/gnupg/tests/gpgscm/ffi.c:1384,1
    - Dst: scheme*::vptr::is_number
      Src: /src/gnupg/tests/gpgscm/ffi.c:1385,1
    - Dst: pair_car
      Src: /src/gnupg/tests/gpgscm/ffi.c:1385,1
    - Dst: ffi_sprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:1386,1
    - Dst: ordinal_suffix
      Src: /src/gnupg/tests/gpgscm/ffi.c:1387,1
    - Dst: read
      Src: /src/gnupg/tests/gpgscm/ffi.c:1391,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:1395,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:1395,1
    - Dst: pair_cdr
      Src: /src/gnupg/tests/gpgscm/ffi.c:1397,1
    - Dst: scheme*::vptr::ivalue
      Src: /src/gnupg/tests/gpgscm/ffi.c:1399,1
    - Dst: pair_car
      Src: /src/gnupg/tests/gpgscm/ffi.c:1399,1
    - Dst: write
      Src: /src/gnupg/tests/gpgscm/ffi.c:1405,1
    - Dst: FFI_RETURN_ERR
      Src: /src/gnupg/tests/gpgscm/ffi.c:1407,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:1407,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/ffi.c:1408,1
    - Dst: FFI_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:1414,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts:
    - condition: (written <= left)
      pos:
        line_end: 1407
        line_start: 1407
        source_file: /src/gnupg/tests/gpgscm/ffi.c
    constantsTouched: []
    func_position:
      end: 1415
      start: 1372
    functionDepth: 1
    functionLinenumber: 1372
    functionLinenumberEnd: 1415
    functionName: do_splice
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - ordinal_suffix
    - read
    - gpg_error_from_syserror
    - scheme*::vptr::ivalue
    - assert
    - write
    - FFI_RETURN
    - scheme*::vptr::is_number
    - FFI_RETURN_ERR
    - pair_car
    - pair_cdr
    - ffi_sprintf
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_splice (scheme *sc, pointer args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:1420,1
    - Dst: ffi_sprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:1431,1
    - Dst: strlen
      Src: /src/gnupg/tests/gpgscm/ffi.c:1432,1
    - Dst: ffi_sprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:1433,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:1435,1
    - Dst: strchr
      Src: /src/gnupg/tests/gpgscm/ffi.c:1437,1
    - Dst: FFI_RETURN_INT
      Src: /src/gnupg/tests/gpgscm/ffi.c:1439,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/gnupg/tests/gpgscm/ffi.c:1441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1442
    functionName: do_string_index
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - strlen
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - FFI_RETURN_INT
    - strchr
    - ffi_sprintf
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_string_index (scheme *sc, pointer args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:1447,1
    - Dst: ffi_sprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:1458,1
    - Dst: strlen
      Src: /src/gnupg/tests/gpgscm/ffi.c:1459,1
    - Dst: ffi_sprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:1460,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:1462,1
    - Dst: strrchr
      Src: /src/gnupg/tests/gpgscm/ffi.c:1464,1
    - Dst: FFI_RETURN_INT
      Src: /src/gnupg/tests/gpgscm/ffi.c:1466,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/gnupg/tests/gpgscm/ffi.c:1468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1469
    functionName: do_string_rindex
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - strlen
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - FFI_RETURN_INT
    - strrchr
    - ffi_sprintf
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_string_rindex (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:1474,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:1479,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/gnupg/tests/gpgscm/ffi.c:1480,1
    - Dst: strstr
      Src: /src/gnupg/tests/gpgscm/ffi.c:1480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1481
    functionName: do_string_contains
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - strstr
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_string_contains (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:1488,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:1489,1
    - Dst: FFI_RETURN_INT
      Src: /src/gnupg/tests/gpgscm/ffi.c:1490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1491
    functionName: do_get_verbose
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_INT
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_get_verbose (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/gnupg/tests/gpgscm/ffi.c:1496,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/gnupg/tests/gpgscm/ffi.c:1499,1
    - Dst: FFI_RETURN_INT
      Src: /src/gnupg/tests/gpgscm/ffi.c:1504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1505
    functionName: do_set_verbose
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_INT
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_set_verbose (scheme *sc, pointer args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::vptr::list_length
      Src: /src/gnupg/tests/gpgscm/ffi.c:1513,1
    - Dst: xtrycalloc
      Src: /src/gnupg/tests/gpgscm/ffi.c:1514,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:1516,1
    - Dst: scheme*::vptr::is_pair
      Src: /src/gnupg/tests/gpgscm/ffi.c:1518,1
    - Dst: scheme*::vptr::pair_cdr
      Src: /src/gnupg/tests/gpgscm/ffi.c:1518,1
    - Dst: scheme*::vptr::is_string
      Src: /src/gnupg/tests/gpgscm/ffi.c:1520,1
    - Dst: scheme*::vptr::pair_car
      Src: /src/gnupg/tests/gpgscm/ffi.c:1520,1
    - Dst: scheme*::vptr::string_value
      Src: /src/gnupg/tests/gpgscm/ffi.c:1521,1
    - Dst: scheme*::vptr::pair_car
      Src: /src/gnupg/tests/gpgscm/ffi.c:1521,1
    - Dst: scheme*::vptr::is_symbol
      Src: /src/gnupg/tests/gpgscm/ffi.c:1522,1
    - Dst: scheme*::vptr::pair_car
      Src: /src/gnupg/tests/gpgscm/ffi.c:1522,1
    - Dst: scheme*::vptr::symname
      Src: /src/gnupg/tests/gpgscm/ffi.c:1523,1
    - Dst: scheme*::vptr::pair_car
      Src: /src/gnupg/tests/gpgscm/ffi.c:1523,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:1526,1
    - Dst: gpg_error
      Src: /src/gnupg/tests/gpgscm/ffi.c:1529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - sc
    - list
    - argv
    - len
    argTypes:
    - scheme*
    - pointer
    - char***
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1508
    functionDepth: 1
    functionLinenumber: 1508
    functionLinenumberEnd: 1534
    functionName: ffi_list2argv
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 2
    functionsReached:
    - scheme*::vptr::symname
    - scheme*::vptr::is_string
    - gpg_error_from_syserror
    - scheme*::vptr::string_value
    - scheme*::vptr::pair_car
    - scheme*::vptr::pair_cdr
    - gpg_error
    - xfree
    - xtrycalloc
    - scheme*::vptr::list_length
    - scheme*::vptr::is_pair
    - scheme*::vptr::is_symbol
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ffi_list2argv (scheme *sc, pointer list, char ***argv,
      size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::vptr::list_length
      Src: /src/gnupg/tests/gpgscm/ffi.c:1541,1
    - Dst: xtrycalloc
      Src: /src/gnupg/tests/gpgscm/ffi.c:1542,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tests/gpgscm/ffi.c:1544,1
    - Dst: scheme*::vptr::is_pair
      Src: /src/gnupg/tests/gpgscm/ffi.c:1546,1
    - Dst: scheme*::vptr::pair_cdr
      Src: /src/gnupg/tests/gpgscm/ffi.c:1546,1
    - Dst: scheme*::vptr::is_number
      Src: /src/gnupg/tests/gpgscm/ffi.c:1548,1
    - Dst: scheme*::vptr::pair_car
      Src: /src/gnupg/tests/gpgscm/ffi.c:1548,1
    - Dst: scheme*::vptr::ivalue
      Src: /src/gnupg/tests/gpgscm/ffi.c:1549,1
    - Dst: scheme*::vptr::pair_car
      Src: /src/gnupg/tests/gpgscm/ffi.c:1549,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:1552,1
    - Dst: gpg_error
      Src: /src/gnupg/tests/gpgscm/ffi.c:1555,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - sc
    - list
    - intv
    - len
    argTypes:
    - scheme*
    - pointer
    - int**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1536
    functionDepth: 1
    functionLinenumber: 1536
    functionLinenumberEnd: 1560
    functionName: ffi_list2intv
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - scheme*::vptr::ivalue
    - scheme*::vptr::pair_car
    - scheme*::vptr::pair_cdr
    - scheme*::vptr::is_number
    - gpg_error
    - xfree
    - xtrycalloc
    - scheme*::vptr::list_length
    - scheme*::vptr::is_pair
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ffi_list2intv (scheme *sc, pointer list, int **intv, size_t
      *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnupg/tests/gpgscm/ffi.c:1569,1
    - Dst: tolower
      Src: /src/gnupg/tests/gpgscm/ffi.c:1575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - s
    - macro
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1586
    functionName: ffi_schemify_name
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - tolower
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      ffi_schemify_name (const char *s, int macro)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/tests/gpgscm/ffi.c:1596,1
    - Dst: vsnprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:1597,1
    - Dst: va_end
      Src: /src/gnupg/tests/gpgscm/ffi.c:1598,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tests/gpgscm/ffi.c:1600,1
    - Dst: va_start
      Src: /src/gnupg/tests/gpgscm/ffi.c:1604,1
    - Dst: vsnprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:1605,1
    - Dst: va_end
      Src: /src/gnupg/tests/gpgscm/ffi.c:1606,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/ffi.c:1608,1
    - Dst: scheme*::vptr::mk_string
      Src: /src/gnupg/tests/gpgscm/ffi.c:1610,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:1611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - sc
    - format
    argTypes:
    - scheme*
    - char*
    assertStmts:
    - condition: (size == written)
      pos:
        line_end: 1607
        line_start: 1607
        source_file: /src/gnupg/tests/gpgscm/ffi.c
    constantsTouched: []
    func_position:
      end: 1613
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1613
    functionName: ffi_sprintf
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 6
    functionsReached:
    - va_end
    - assert
    - scheme*::vptr::mk_string
    - vsnprintf
    - xfree
    - va_start
    - xtrymalloc
    linkageType: ''
    returnType: pointer
    signature: pointer ffi_sprintf (scheme *sc, const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/tests/gpgscm/ffi.c:1622,1
    - Dst: vsnprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:1623,1
    - Dst: va_end
      Src: /src/gnupg/tests/gpgscm/ffi.c:1624,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tests/gpgscm/ffi.c:1626,1
    - Dst: va_start
      Src: /src/gnupg/tests/gpgscm/ffi.c:1630,1
    - Dst: vsnprintf
      Src: /src/gnupg/tests/gpgscm/ffi.c:1631,1
    - Dst: va_end
      Src: /src/gnupg/tests/gpgscm/ffi.c:1632,1
    - Dst: assert
      Src: /src/gnupg/tests/gpgscm/ffi.c:1634,1
    - Dst: scheme*::vptr::load_string
      Src: /src/gnupg/tests/gpgscm/ffi.c:1636,1
    - Dst: xfree
      Src: /src/gnupg/tests/gpgscm/ffi.c:1637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - sc
    - format
    argTypes:
    - scheme*
    - char*
    assertStmts:
    - condition: (size == written)
      pos:
        line_end: 1633
        line_start: 1633
        source_file: /src/gnupg/tests/gpgscm/ffi.c
    constantsTouched: []
    func_position:
      end: 1638
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1638
    functionName: ffi_scheme_eval
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - va_end
    - assert
    - vsnprintf
    - scheme*::vptr::load_string
    - xfree
    - va_start
    - xtrymalloc
    linkageType: ''
    returnType: void
    signature: void ffi_scheme_eval (scheme *sc, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1648,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1649,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1650,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1651,1
    - Dst: ffi_define_constant
      Src: /src/gnupg/tests/gpgscm/ffi.c:1654,1
    - Dst: ffi_define_constant
      Src: /src/gnupg/tests/gpgscm/ffi.c:1655,1
    - Dst: ffi_define_constant
      Src: /src/gnupg/tests/gpgscm/ffi.c:1656,1
    - Dst: ffi_define_constant
      Src: /src/gnupg/tests/gpgscm/ffi.c:1657,1
    - Dst: ffi_define_constant
      Src: /src/gnupg/tests/gpgscm/ffi.c:1658,1
    - Dst: ffi_define_constant
      Src: /src/gnupg/tests/gpgscm/ffi.c:1665,1
    - Dst: ffi_define_constant
      Src: /src/gnupg/tests/gpgscm/ffi.c:1666,1
    - Dst: ffi_define_constant
      Src: /src/gnupg/tests/gpgscm/ffi.c:1667,1
    - Dst: ffi_define_constant
      Src: /src/gnupg/tests/gpgscm/ffi.c:1668,1
    - Dst: ffi_define_constant
      Src: /src/gnupg/tests/gpgscm/ffi.c:1669,1
    - Dst: ffi_define_constant
      Src: /src/gnupg/tests/gpgscm/ffi.c:1670,1
    - Dst: ffi_define_constant
      Src: /src/gnupg/tests/gpgscm/ffi.c:1671,1
    - Dst: ffi_define_constant
      Src: /src/gnupg/tests/gpgscm/ffi.c:1672,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1674,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1675,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1676,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1677,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1678,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1679,1
    - Dst: ffi_define_function_name
      Src: /src/gnupg/tests/gpgscm/ffi.c:1680,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1686,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1687,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1688,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1689,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1690,1
    - Dst: ffi_define_function_name
      Src: /src/gnupg/tests/gpgscm/ffi.c:1691,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1692,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1693,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1694,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1695,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1696,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1697,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1698,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1699,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1700,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1703,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1704,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1705,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1708,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1709,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1710,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1711,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1712,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1713,1
    - Dst: ffi_define_function_name
      Src: /src/gnupg/tests/gpgscm/ffi.c:1716,1
    - Dst: ffi_define_function_name
      Src: /src/gnupg/tests/gpgscm/ffi.c:1717,1
    - Dst: ffi_define_function_name
      Src: /src/gnupg/tests/gpgscm/ffi.c:1718,1
    - Dst: ffi_define_function_name
      Src: /src/gnupg/tests/gpgscm/ffi.c:1719,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1722,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1723,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1724,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1725,1
    - Dst: ffi_define_function_name
      Src: /src/gnupg/tests/gpgscm/ffi.c:1726,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1729,1
    - Dst: ffi_define_function
      Src: /src/gnupg/tests/gpgscm/ffi.c:1730,1
    - Dst: ffi_define_function_name
      Src: /src/gnupg/tests/gpgscm/ffi.c:1733,1
    - Dst: ffi_define_function_name
      Src: /src/gnupg/tests/gpgscm/ffi.c:1734,1
    - Dst: ffi_define
      Src: /src/gnupg/tests/gpgscm/ffi.c:1736,1
    - Dst: scheme*::vptr::mk_string
      Src: /src/gnupg/tests/gpgscm/ffi.c:1736,1
    - Dst: ffi_define
      Src: /src/gnupg/tests/gpgscm/ffi.c:1737,1
    - Dst: scheme*::vptr::mk_string
      Src: /src/gnupg/tests/gpgscm/ffi.c:1737,1
    - Dst: scheme*::vptr::mk_string
      Src: /src/gnupg/tests/gpgscm/ffi.c:1740,1
    - Dst: ffi_define
      Src: /src/gnupg/tests/gpgscm/ffi.c:1743,1
    - Dst: ffi_define
      Src: /src/gnupg/tests/gpgscm/ffi.c:1746,1
    - Dst: scheme*::vptr::mk_character
      Src: /src/gnupg/tests/gpgscm/ffi.c:1746,1
    - Dst: ffi_define
      Src: /src/gnupg/tests/gpgscm/ffi.c:1748,1
    - Dst: scheme*::vptr::mk_character
      Src: /src/gnupg/tests/gpgscm/ffi.c:1748,1
    - Dst: ffi_define
      Src: /src/gnupg/tests/gpgscm/ffi.c:1751,1
    - Dst: ffi_define
      Src: /src/gnupg/tests/gpgscm/ffi.c:1759,1
    - Dst: ffi_define
      Src: /src/gnupg/tests/gpgscm/ffi.c:1767,1
    - Dst: ffi_define
      Src: /src/gnupg/tests/gpgscm/ffi.c:1776,1
    - Dst: scheme*::vptr::mk_port_from_file
      Src: /src/gnupg/tests/gpgscm/ffi.c:1777,1
    - Dst: ffi_define
      Src: /src/gnupg/tests/gpgscm/ffi.c:1778,1
    - Dst: scheme*::vptr::mk_port_from_file
      Src: /src/gnupg/tests/gpgscm/ffi.c:1779,1
    - Dst: ffi_define
      Src: /src/gnupg/tests/gpgscm/ffi.c:1780,1
    - Dst: scheme*::vptr::mk_port_from_file
      Src: /src/gnupg/tests/gpgscm/ffi.c:1781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 77
    argCount: 5
    argNames:
    - sc
    - argv0
    - scriptname
    - argc
    - argv
    argTypes:
    - scheme*
    - char*
    - char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1640
    functionDepth: 0
    functionLinenumber: 1640
    functionLinenumberEnd: 1784
    functionName: ffi_init
    functionSourceFile: /src/gnupg/tests/gpgscm/ffi.c
    functionUses: 1
    functionsReached:
    - ffi_define_function
    - ffi_define
    - scheme*::vptr::mk_string
    - scheme*::vptr::mk_port_from_file
    - ffi_define_constant
    - ffi_define_function_name
    - scheme*::vptr::mk_character
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ffi_init (scheme *sc, const char *argv0, const char *scriptname,\n
      \         int argc, const char **argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sc
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: cons
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme-private.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cons(sc,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sc
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: immutable_cons
    functionSourceFile: /src/gnupg/tests/gpgscm/scheme-private.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: immutable_cons(sc,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prefix
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: ADD_PREFIX0
    functionSourceFile: /src/gnupg/regexp/jimregexp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_PREFIX0(prefix,name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prefix
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: ADD_PREFIX
    functionSourceFile: /src/gnupg/regexp/jimregexp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_PREFIX(prefix,name)
  - 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: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: utf8_tounicode
    functionSourceFile: /src/gnupg/regexp/utf8.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utf8_tounicode(S, CP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CP
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: utf8_getchars
    functionSourceFile: /src/gnupg/regexp/utf8.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utf8_getchars(CP, C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: utf8_upper
    functionSourceFile: /src/gnupg/regexp/utf8.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utf8_upper(C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - C
    - ','
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: utf8_index
    functionSourceFile: /src/gnupg/regexp/utf8.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utf8_index(C, I)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: utf8_charlen
    functionSourceFile: /src/gnupg/regexp/utf8.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utf8_charlen(C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: UCHAR
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCHAR(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - preg
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: OP
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP(preg, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - preg
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: NEXT
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT(preg, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: OPERAND
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPERAND(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - R
    - ','
    - M
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: FAIL
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAIL(R,M)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: ISMULT
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISMULT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - seq
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: str_int_len
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int str_int_len(const int *seq)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/regexp/jimregexp.c:246,1
    - Dst: memset
      Src: /src/gnupg/regexp/jimregexp.c:248,1
    - Dst: FAIL
      Src: /src/gnupg/regexp/jimregexp.c:251,1
    - Dst: strlen
      Src: /src/gnupg/regexp/jimregexp.c:258,1
    - Dst: malloc
      Src: /src/gnupg/regexp/jimregexp.c:259,1
    - Dst: FAIL
      Src: /src/gnupg/regexp/jimregexp.c:261,1
    - Dst: regc
      Src: /src/gnupg/regexp/jimregexp.c:266,1
    - Dst: reg
      Src: /src/gnupg/regexp/jimregexp.c:267,1
    - Dst: FAIL
      Src: /src/gnupg/regexp/jimregexp.c:273,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:281,1
    - Dst: regnext
      Src: /src/gnupg/regexp/jimregexp.c:281,1
    - Dst: OPERAND
      Src: /src/gnupg/regexp/jimregexp.c:282,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:285,1
    - Dst: OPERAND
      Src: /src/gnupg/regexp/jimregexp.c:286,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:288,1
    - Dst: regnext
      Src: /src/gnupg/regexp/jimregexp.c:302,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:303,1
    - Dst: str_int_len
      Src: /src/gnupg/regexp/jimregexp.c:304,1
    - Dst: OPERAND
      Src: /src/gnupg/regexp/jimregexp.c:304,1
    - Dst: OPERAND
      Src: /src/gnupg/regexp/jimregexp.c:306,1
    - Dst: regdump
      Src: /src/gnupg/regexp/jimregexp.c:317,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - preg
    - exp
    - cflags
    argTypes:
    - regex_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 321
    functionName: regcomp
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached:
    - OPERAND
    - str_int_len
    - strlen
    - FAIL
    - OP
    - fprintf
    - memset
    - malloc
    - regdump
    - regnext
    - reg
    - regc
    linkageType: ''
    returnType: int
    signature: int regcomp(regex_t *preg, const char *exp, int cflags)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: regnode
      Src: /src/gnupg/regexp/jimregexp.c:352,1
    - Dst: regbranch
      Src: /src/gnupg/regexp/jimregexp.c:357,1
    - Dst: regtail
      Src: /src/gnupg/regexp/jimregexp.c:361,1
    - Dst: regbranch
      Src: /src/gnupg/regexp/jimregexp.c:369,1
    - Dst: regtail
      Src: /src/gnupg/regexp/jimregexp.c:372,1
    - Dst: regnode
      Src: /src/gnupg/regexp/jimregexp.c:379,1
    - Dst: regtail
      Src: /src/gnupg/regexp/jimregexp.c:380,1
    - Dst: regnext
      Src: /src/gnupg/regexp/jimregexp.c:383,1
    - Dst: regoptail
      Src: /src/gnupg/regexp/jimregexp.c:384,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 3
    argNames:
    - preg
    - paren
    - flagp
    argTypes:
    - regex_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 401
    functionName: reg
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 1
    functionsReached:
    - regoptail
    - regbranch
    - regnode
    - regtail
    - regnext
    linkageType: ''
    returnType: int
    signature: int reg(regex_t *preg, int paren /* Parenthesized? */, int *flagp )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: regnode
      Src: /src/gnupg/regexp/jimregexp.c:417,1
    - Dst: regpiece
      Src: /src/gnupg/regexp/jimregexp.c:421,1
    - Dst: regtail
      Src: /src/gnupg/regexp/jimregexp.c:429,1
    - Dst: regnode
      Src: /src/gnupg/regexp/jimregexp.c:434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - preg
    - flagp
    argTypes:
    - regex_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 437
    functionName: regbranch
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 1
    functionsReached:
    - regpiece
    - regtail
    - regnode
    linkageType: ''
    returnType: int
    signature: int regbranch(regex_t *preg, int *flagp )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: regatom
      Src: /src/gnupg/regexp/jimregexp.c:457,1
    - Dst: ISMULT
      Src: /src/gnupg/regexp/jimregexp.c:462,1
    - Dst: strtoul
      Src: /src/gnupg/regexp/jimregexp.c:476,1
    - Dst: strtoul
      Src: /src/gnupg/regexp/jimregexp.c:490,1
    - Dst: strchr
      Src: /src/gnupg/regexp/jimregexp.c:508,1
    - Dst: reginsert
      Src: /src/gnupg/regexp/jimregexp.c:517,1
    - Dst: reginsert
      Src: /src/gnupg/regexp/jimregexp.c:520,1
    - Dst: regnode
      Src: /src/gnupg/regexp/jimregexp.c:529,1
    - Dst: regtail
      Src: /src/gnupg/regexp/jimregexp.c:530,1
    - Dst: regtail
      Src: /src/gnupg/regexp/jimregexp.c:531,1
    - Dst: ISMULT
      Src: /src/gnupg/regexp/jimregexp.c:535,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 2
    argNames:
    - preg
    - flagp
    argTypes:
    - regex_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 541
    functionName: regpiece
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 1
    functionsReached:
    - regatom
    - regtail
    - reginsert
    - regnode
    - strchr
    - ISMULT
    - strtoul
    linkageType: ''
    returnType: int
    signature: int regpiece(regex_t *preg, int *flagp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:551,1
    - Dst: regc
      Src: /src/gnupg/regexp/jimregexp.c:554,1
    - Dst: regc
      Src: /src/gnupg/regexp/jimregexp.c:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - preg
    - lower
    - upper
    argTypes:
    - regex_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 556
    functionName: reg_addrange
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 1
    functionsReached:
    - regc
    - reg_addrange
    linkageType: ''
    returnType: void
    signature: void reg_addrange(regex_t *preg, int lower, int upper)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - preg
    - str
    argTypes:
    - regex_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 567
    functionName: reg_addrange_str
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached:
    - reg_addrange
    linkageType: ''
    returnType: void
    signature: void reg_addrange_str(regex_t *preg, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utf8_tounicode
      Src: /src/gnupg/regexp/jimregexp.c:576,1
    - Dst: utf8_upper
      Src: /src/gnupg/regexp/jimregexp.c:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - uc
    - upper
    argTypes:
    - char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 581
    functionName: reg_utf8_tounicode_case
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached:
    - utf8_upper
    - utf8_tounicode
    linkageType: ''
    returnType: int
    signature: int reg_utf8_tounicode_case(const char *s, int *uc, int upper)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 597
    functionName: hexdigitval
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hexdigitval(int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitval
      Src: /src/gnupg/regexp/jimregexp.c:611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - s
    - n
    - uc
    argTypes:
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 621
    functionName: parse_hex
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached:
    - hexdigitval
    linkageType: ''
    returnType: int
    signature: int parse_hex(const char *s, int n, int *uc)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: parse_hex
      Src: /src/gnupg/regexp/jimregexp.c:648,1
    - Dst: parse_hex
      Src: /src/gnupg/regexp/jimregexp.c:657,1
    - Dst: parse_hex
      Src: /src/gnupg/regexp/jimregexp.c:662,1
    - Dst: parse_hex
      Src: /src/gnupg/regexp/jimregexp.c:667,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 2
    argNames:
    - s
    - ch
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 677
    functionName: reg_decode_escape
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached:
    - parse_hex
    linkageType: ''
    returnType: int
    signature: int reg_decode_escape(const char *s, int *ch)
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: reg_utf8_tounicode_case
      Src: /src/gnupg/regexp/jimregexp.c:694,1
    - Dst: regnode
      Src: /src/gnupg/regexp/jimregexp.c:702,1
    - Dst: regnode
      Src: /src/gnupg/regexp/jimregexp.c:705,1
    - Dst: regnode
      Src: /src/gnupg/regexp/jimregexp.c:708,1
    - Dst: regnode
      Src: /src/gnupg/regexp/jimregexp.c:715,1
    - Dst: regnode
      Src: /src/gnupg/regexp/jimregexp.c:718,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:722,1
    - Dst: reg_utf8_tounicode_case
      Src: /src/gnupg/regexp/jimregexp.c:743,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:757,1
    - Dst: reg_decode_escape
      Src: /src/gnupg/regexp/jimregexp.c:761,1
    - Dst: utf8_tounicode
      Src: /src/gnupg/regexp/jimregexp.c:773,1
    - Dst: reg_utf8_tounicode_case
      Src: /src/gnupg/regexp/jimregexp.c:774,1
    - Dst: reg_decode_escape
      Src: /src/gnupg/regexp/jimregexp.c:776,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:787,1
    - Dst: strlen
      Src: /src/gnupg/regexp/jimregexp.c:797,1
    - Dst: strncmp
      Src: /src/gnupg/regexp/jimregexp.c:798,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:812,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:816,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:818,1
    - Dst: reg_addrange_str
      Src: /src/gnupg/regexp/jimregexp.c:821,1
    - Dst: reg_addrange_str
      Src: /src/gnupg/regexp/jimregexp.c:824,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:827,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:830,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:833,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:834,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:837,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:840,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:841,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:844,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:847,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:850,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:851,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:852,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:853,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:860,1
    - Dst: regc
      Src: /src/gnupg/regexp/jimregexp.c:862,1
    - Dst: reg
      Src: /src/gnupg/regexp/jimregexp.c:873,1
    - Dst: regnode
      Src: /src/gnupg/regexp/jimregexp.c:896,1
    - Dst: regnode
      Src: /src/gnupg/regexp/jimregexp.c:899,1
    - Dst: regnode
      Src: /src/gnupg/regexp/jimregexp.c:903,1
    - Dst: regnode
      Src: /src/gnupg/regexp/jimregexp.c:907,1
    - Dst: regnode
      Src: /src/gnupg/regexp/jimregexp.c:911,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:912,1
    - Dst: regc
      Src: /src/gnupg/regexp/jimregexp.c:913,1
    - Dst: regnode
      Src: /src/gnupg/regexp/jimregexp.c:918,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:920,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:922,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:923,1
    - Dst: reg_addrange
      Src: /src/gnupg/regexp/jimregexp.c:924,1
    - Dst: regc
      Src: /src/gnupg/regexp/jimregexp.c:925,1
    - Dst: regnode
      Src: /src/gnupg/regexp/jimregexp.c:930,1
    - Dst: reg_addrange_str
      Src: /src/gnupg/regexp/jimregexp.c:931,1
    - Dst: regc
      Src: /src/gnupg/regexp/jimregexp.c:932,1
    - Dst: regnode
      Src: /src/gnupg/regexp/jimregexp.c:953,1
    - Dst: strchr
      Src: /src/gnupg/regexp/jimregexp.c:962,1
    - Dst: reg_utf8_tounicode_case
      Src: /src/gnupg/regexp/jimregexp.c:963,1
    - Dst: strchr
      Src: /src/gnupg/regexp/jimregexp.c:968,1
    - Dst: reg_decode_escape
      Src: /src/gnupg/regexp/jimregexp.c:976,1
    - Dst: ISMULT
      Src: /src/gnupg/regexp/jimregexp.c:987,1
    - Dst: regc
      Src: /src/gnupg/regexp/jimregexp.c:994,1
    - Dst: regc
      Src: /src/gnupg/regexp/jimregexp.c:1001,1
    - Dst: regc
      Src: /src/gnupg/regexp/jimregexp.c:1005,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 256
    argCount: 2
    argNames:
    - preg
    - flagp
    argTypes:
    - regex_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 687
    functionDepth: 3
    functionLinenumber: 687
    functionLinenumberEnd: 1016
    functionName: regatom
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 1
    functionsReached:
    - reg_addrange_str
    - reg_addrange
    - strlen
    - utf8_tounicode
    - regnode
    - reg
    - strchr
    - ISMULT
    - reg_utf8_tounicode_case
    - strncmp
    - regc
    - reg_decode_escape
    linkageType: ''
    returnType: int
    signature: int regatom(regex_t *preg, int *flagp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnupg/regexp/jimregexp.c:1022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - preg
    - n
    argTypes:
    - regex_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1024
    functionName: reg_grow
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void reg_grow(regex_t *preg, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reg_grow
      Src: /src/gnupg/regexp/jimregexp.c:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - preg
    - op
    argTypes:
    - regex_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1040
    functionName: regnode
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 4
    functionsReached:
    - reg_grow
    linkageType: ''
    returnType: int
    signature: int regnode(regex_t *preg, int op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reg_grow
      Src: /src/gnupg/regexp/jimregexp.c:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - preg
    - b
    argTypes:
    - regex_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1049
    functionName: regc
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 3
    functionsReached:
    - reg_grow
    linkageType: ''
    returnType: void
    signature: void regc(regex_t *preg, int b )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reg_grow
      Src: /src/gnupg/regexp/jimregexp.c:1059,1
    - Dst: memmove
      Src: /src/gnupg/regexp/jimregexp.c:1062,1
    - Dst: memset
      Src: /src/gnupg/regexp/jimregexp.c:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - preg
    - op
    - size
    - opnd
    argTypes:
    - regex_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1071
    functionName: reginsert
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 1
    functionsReached:
    - memmove
    - memset
    - reg_grow
    linkageType: ''
    returnType: int
    signature: int reginsert(regex_t *preg, int op, int size, int opnd )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: regnext
      Src: /src/gnupg/regexp/jimregexp.c:1085,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1091,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - preg
    - p
    - val
    argTypes:
    - regex_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1097
    functionName: regtail
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 3
    functionsReached:
    - OP
    - regnext
    linkageType: ''
    returnType: void
    signature: void regtail(regex_t *preg, int p, int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1106,1
    - Dst: regtail
      Src: /src/gnupg/regexp/jimregexp.c:1107,1
    - Dst: OPERAND
      Src: /src/gnupg/regexp/jimregexp.c:1107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - preg
    - p
    - val
    argTypes:
    - regex_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1103
    functionDepth: 2
    functionLinenumber: 1103
    functionLinenumberEnd: 1109
    functionName: regoptail
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 1
    functionsReached:
    - OP
    - OPERAND
    - regtail
    linkageType: ''
    returnType: void
    signature: void regoptail(regex_t *preg, int p, int val )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/regexp/jimregexp.c:1141,1
    - Dst: regdump
      Src: /src/gnupg/regexp/jimregexp.c:1142,1
    - Dst: OPERAND
      Src: /src/gnupg/regexp/jimregexp.c:1151,1
    - Dst: regopsize
      Src: /src/gnupg/regexp/jimregexp.c:1151,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1152,1
    - Dst: str_find
      Src: /src/gnupg/regexp/jimregexp.c:1162,1
    - Dst: prefix_cmp
      Src: /src/gnupg/regexp/jimregexp.c:1163,1
    - Dst: regtry
      Src: /src/gnupg/regexp/jimregexp.c:1182,1
    - Dst: strchr
      Src: /src/gnupg/regexp/jimregexp.c:1189,1
    - Dst: str_find
      Src: /src/gnupg/regexp/jimregexp.c:1204,1
    - Dst: regtry
      Src: /src/gnupg/regexp/jimregexp.c:1205,1
    - Dst: regtry
      Src: /src/gnupg/regexp/jimregexp.c:1213,1
    - Dst: utf8_tounicode
      Src: /src/gnupg/regexp/jimregexp.c:1220,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 72
    argCount: 5
    argNames:
    - preg
    - string
    - nmatch
    - pmatch
    - eflags
    argTypes:
    - regex_t*
    - char*
    - size_t
    - regmatch_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1226
    functionName: regexec
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached:
    - OPERAND
    - prefix_cmp
    - OP
    - regopsize
    - utf8_tounicode
    - fprintf
    - strchr
    - str_find
    - regtry
    - regdump
    linkageType: ''
    returnType: int
    signature: int regexec(regex_t  *preg,  const  char *string, size_t nmatch, regmatch_t
      pmatch[], int eflags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: regmatch
      Src: /src/gnupg/regexp/jimregexp.c:1244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - preg
    - string
    argTypes:
    - regex_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1232
    functionDepth: 1
    functionLinenumber: 1232
    functionLinenumberEnd: 1252
    functionName: regtry
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 1
    functionsReached:
    - regmatch
    linkageType: ''
    returnType: int
    signature: int regtry( regex_t *preg, const char *string )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reg_utf8_tounicode_case
      Src: /src/gnupg/regexp/jimregexp.c:1266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - prog
    - proglen
    - string
    - nocase
    argTypes:
    - int*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1261
    functionDepth: 1
    functionLinenumber: 1261
    functionLinenumberEnd: 1278
    functionName: prefix_cmp
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 1
    functionsReached:
    - reg_utf8_tounicode_case
    linkageType: ''
    returnType: int
    signature: int prefix_cmp(const int *prog, int proglen, const char *string, int
      nocase)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - range
    - c
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1295
    functionName: reg_range_find
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int reg_range_find(const int *range, int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: utf8_upper
      Src: /src/gnupg/regexp/jimregexp.c:1310,1
    - Dst: reg_utf8_tounicode_case
      Src: /src/gnupg/regexp/jimregexp.c:1314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - string
    - c
    - nocase
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1321
    functionName: str_find
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 1
    functionsReached:
    - utf8_upper
    - reg_utf8_tounicode_case
    linkageType: ''
    returnType: char
    signature: char *str_find(const char *string, int c, int nocase)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - preg
    - ch
    argTypes:
    - regex_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1337
    functionName: reg_iseol
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int reg_iseol(regex_t *preg, int ch)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: regnext
      Src: /src/gnupg/regexp/jimregexp.c:1348,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1354,1
    - Dst: OPERAND
      Src: /src/gnupg/regexp/jimregexp.c:1355,1
    - Dst: regrepeat
      Src: /src/gnupg/regexp/jimregexp.c:1358,1
    - Dst: utf8_index
      Src: /src/gnupg/regexp/jimregexp.c:1379,1
    - Dst: reg_utf8_tounicode_case
      Src: /src/gnupg/regexp/jimregexp.c:1380,1
    - Dst: reg_iseol
      Src: /src/gnupg/regexp/jimregexp.c:1382,1
    - Dst: regmatch
      Src: /src/gnupg/regexp/jimregexp.c:1383,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - preg
    - scan
    - matchmin
    argTypes:
    - regex_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1339
    functionDepth: 1
    functionLinenumber: 1339
    functionLinenumberEnd: 1397
    functionName: regmatchsimplerepeat
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached:
    - OPERAND
    - OP
    - regrepeat
    - reg_iseol
    - regmatch
    - utf8_index
    - reg_utf8_tounicode_case
    - regnext
    linkageType: ''
    returnType: int
    signature: int regmatchsimplerepeat(regex_t *preg, int scan, int matchmin)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: regmatch
      Src: /src/gnupg/regexp/jimregexp.c:1410,1
    - Dst: regmatch
      Src: /src/gnupg/regexp/jimregexp.c:1422,1
    - Dst: regnext
      Src: /src/gnupg/regexp/jimregexp.c:1422,1
    - Dst: regmatch
      Src: /src/gnupg/regexp/jimregexp.c:1427,1
    - Dst: regmatch
      Src: /src/gnupg/regexp/jimregexp.c:1436,1
    - Dst: regmatch
      Src: /src/gnupg/regexp/jimregexp.c:1442,1
    - Dst: regnext
      Src: /src/gnupg/regexp/jimregexp.c:1442,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - preg
    - scan
    - matchmin
    argTypes:
    - regex_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1443
    functionName: regmatchrepeat
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached:
    - regmatch
    - regnext
    linkageType: ''
    returnType: int
    signature: int regmatchrepeat(regex_t *preg, int scan, int matchmin)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/regexp/jimregexp.c:1466,1
    - Dst: regprop
      Src: /src/gnupg/regexp/jimregexp.c:1466,1
    - Dst: fprintf
      Src: /src/gnupg/regexp/jimregexp.c:1473,1
    - Dst: regprop
      Src: /src/gnupg/regexp/jimregexp.c:1473,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1473,1
    - Dst: regnext
      Src: /src/gnupg/regexp/jimregexp.c:1476,1
    - Dst: reg_utf8_tounicode_case
      Src: /src/gnupg/regexp/jimregexp.c:1477,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1479,1
    - Dst: reg_iseol
      Src: /src/gnupg/regexp/jimregexp.c:1497,1
    - Dst: isalnum
      Src: /src/gnupg/regexp/jimregexp.c:1503,1
    - Dst: UCHAR
      Src: /src/gnupg/regexp/jimregexp.c:1503,1
    - Dst: isalnum
      Src: /src/gnupg/regexp/jimregexp.c:1507,1
    - Dst: UCHAR
      Src: /src/gnupg/regexp/jimregexp.c:1507,1
    - Dst: reg_iseol
      Src: /src/gnupg/regexp/jimregexp.c:1514,1
    - Dst: isalnum
      Src: /src/gnupg/regexp/jimregexp.c:1514,1
    - Dst: UCHAR
      Src: /src/gnupg/regexp/jimregexp.c:1514,1
    - Dst: isalnum
      Src: /src/gnupg/regexp/jimregexp.c:1517,1
    - Dst: UCHAR
      Src: /src/gnupg/regexp/jimregexp.c:1517,1
    - Dst: reg_iseol
      Src: /src/gnupg/regexp/jimregexp.c:1526,1
    - Dst: OPERAND
      Src: /src/gnupg/regexp/jimregexp.c:1535,1
    - Dst: str_int_len
      Src: /src/gnupg/regexp/jimregexp.c:1536,1
    - Dst: prefix_cmp
      Src: /src/gnupg/regexp/jimregexp.c:1538,1
    - Dst: reg_iseol
      Src: /src/gnupg/regexp/jimregexp.c:1546,1
    - Dst: reg_range_find
      Src: /src/gnupg/regexp/jimregexp.c:1546,1
    - Dst: OPERAND
      Src: /src/gnupg/regexp/jimregexp.c:1546,1
    - Dst: reg_iseol
      Src: /src/gnupg/regexp/jimregexp.c:1552,1
    - Dst: reg_range_find
      Src: /src/gnupg/regexp/jimregexp.c:1552,1
    - Dst: OPERAND
      Src: /src/gnupg/regexp/jimregexp.c:1552,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1562,1
    - Dst: OPERAND
      Src: /src/gnupg/regexp/jimregexp.c:1563,1
    - Dst: regmatch
      Src: /src/gnupg/regexp/jimregexp.c:1567,1
    - Dst: OPERAND
      Src: /src/gnupg/regexp/jimregexp.c:1567,1
    - Dst: regnext
      Src: /src/gnupg/regexp/jimregexp.c:1571,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1572,1
    - Dst: regmatchsimplerepeat
      Src: /src/gnupg/regexp/jimregexp.c:1579,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1579,1
    - Dst: regmatchrepeat
      Src: /src/gnupg/regexp/jimregexp.c:1583,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1583,1
    - Dst: regmatch
      Src: /src/gnupg/regexp/jimregexp.c:1590,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1593,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1593,1
    - Dst: regmatch
      Src: /src/gnupg/regexp/jimregexp.c:1595,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1596,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1597,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1603,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 125
    argCount: 2
    argNames:
    - preg
    - prog
    argTypes:
    - regex_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1456
    functionDepth: 2
    functionLinenumber: 1456
    functionLinenumberEnd: 1625
    functionName: regmatch
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 4
    functionsReached:
    - OPERAND
    - str_int_len
    - prefix_cmp
    - regmatchsimplerepeat
    - isalnum
    - regmatchrepeat
    - OP
    - UCHAR
    - reg_iseol
    - fprintf
    - regmatch
    - reg_range_find
    - regprop
    - regnext
    - reg_utf8_tounicode_case
    linkageType: ''
    returnType: int
    signature: int regmatch(regex_t *preg, int prog)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPERAND
      Src: /src/gnupg/regexp/jimregexp.c:1639,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1640,1
    - Dst: reg_iseol
      Src: /src/gnupg/regexp/jimregexp.c:1642,1
    - Dst: utf8_charlen
      Src: /src/gnupg/regexp/jimregexp.c:1644,1
    - Dst: reg_utf8_tounicode_case
      Src: /src/gnupg/regexp/jimregexp.c:1649,1
    - Dst: reg_utf8_tounicode_case
      Src: /src/gnupg/regexp/jimregexp.c:1659,1
    - Dst: reg_iseol
      Src: /src/gnupg/regexp/jimregexp.c:1660,1
    - Dst: reg_range_find
      Src: /src/gnupg/regexp/jimregexp.c:1660,1
    - Dst: reg_utf8_tounicode_case
      Src: /src/gnupg/regexp/jimregexp.c:1669,1
    - Dst: reg_iseol
      Src: /src/gnupg/regexp/jimregexp.c:1670,1
    - Dst: reg_range_find
      Src: /src/gnupg/regexp/jimregexp.c:1670,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 3
    argNames:
    - preg
    - p
    - max
    argTypes:
    - regex_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1630
    functionDepth: 1
    functionLinenumber: 1630
    functionLinenumberEnd: 1685
    functionName: regrepeat
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 1
    functionsReached:
    - OPERAND
    - OP
    - reg_iseol
    - utf8_charlen
    - reg_range_find
    - reg_utf8_tounicode_case
    linkageType: ''
    returnType: int
    signature: int regrepeat(regex_t *preg, int p, int max)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NEXT
      Src: /src/gnupg/regexp/jimregexp.c:1694,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - preg
    - p
    argTypes:
    - regex_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1690
    functionDepth: 1
    functionLinenumber: 1690
    functionLinenumberEnd: 1703
    functionName: regnext
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 6
    functionsReached:
    - NEXT
    - OP
    linkageType: ''
    returnType: int
    signature: int regnext(regex_t *preg, int p )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - preg
    - p
    argTypes:
    - regex_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1728
    functionName: regopsize
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 1
    functionsReached:
    - OP
    linkageType: ''
    returnType: int
    signature: int regopsize(regex_t *preg, int p )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/regexp/jimregexp.c:1744,1
    - Dst: printf
      Src: /src/gnupg/regexp/jimregexp.c:1746,1
    - Dst: printf
      Src: /src/gnupg/regexp/jimregexp.c:1749,1
    - Dst: OP
      Src: /src/gnupg/regexp/jimregexp.c:1753,1
    - Dst: printf
      Src: /src/gnupg/regexp/jimregexp.c:1754,1
    - Dst: regprop
      Src: /src/gnupg/regexp/jimregexp.c:1754,1
    - Dst: regnext
      Src: /src/gnupg/regexp/jimregexp.c:1755,1
    - Dst: printf
      Src: /src/gnupg/regexp/jimregexp.c:1757,1
    - Dst: printf
      Src: /src/gnupg/regexp/jimregexp.c:1759,1
    - Dst: printf
      Src: /src/gnupg/regexp/jimregexp.c:1765,1
    - Dst: printf
      Src: /src/gnupg/regexp/jimregexp.c:1768,1
    - Dst: printf
      Src: /src/gnupg/regexp/jimregexp.c:1770,1
    - Dst: utf8_getchars
      Src: /src/gnupg/regexp/jimregexp.c:1779,1
    - Dst: printf
      Src: /src/gnupg/regexp/jimregexp.c:1780,1
    - Dst: utf8_getchars
      Src: /src/gnupg/regexp/jimregexp.c:1782,1
    - Dst: printf
      Src: /src/gnupg/regexp/jimregexp.c:1783,1
    - Dst: utf8_getchars
      Src: /src/gnupg/regexp/jimregexp.c:1792,1
    - Dst: printf
      Src: /src/gnupg/regexp/jimregexp.c:1793,1
    - Dst: putchar
      Src: /src/gnupg/regexp/jimregexp.c:1798,1
    - Dst: utf8_getchars
      Src: /src/gnupg/regexp/jimregexp.c:1804,1
    - Dst: printf
      Src: /src/gnupg/regexp/jimregexp.c:1805,1
    - Dst: printf
      Src: /src/gnupg/regexp/jimregexp.c:1808,1
    - Dst: printf
      Src: /src/gnupg/regexp/jimregexp.c:1811,1
    - Dst: putchar
      Src: /src/gnupg/regexp/jimregexp.c:1813,1
    - Dst: putchar
      Src: /src/gnupg/regexp/jimregexp.c:1815,1
    - Dst: printf
      Src: /src/gnupg/regexp/jimregexp.c:1818,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 1
    argNames:
    - preg
    argTypes:
    - regex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1735
    functionDepth: 2
    functionLinenumber: 1735
    functionLinenumberEnd: 1819
    functionName: regdump
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 2
    functionsReached:
    - printf
    - OP
    - regprop
    - regnext
    - putchar
    - utf8_getchars
    linkageType: ''
    returnType: void
    signature: void regdump(regex_t *preg)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/regexp/jimregexp.c:1871,1
    - Dst: snprintf
      Src: /src/gnupg/regexp/jimregexp.c:1874,1
    - Dst: snprintf
      Src: /src/gnupg/regexp/jimregexp.c:1877,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 53
    argCount: 1
    argNames:
    - op
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1824
    functionDepth: 0
    functionLinenumber: 1824
    functionLinenumberEnd: 1881
    functionName: regprop
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 2
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: char *regprop( int op )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/regexp/jimregexp.c:1919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - errcode
    - preg
    - errbuf
    - errbuf_size
    argTypes:
    - int
    - regex_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1884
    functionDepth: 0
    functionLinenumber: 1884
    functionLinenumberEnd: 1920
    functionName: regerror
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: size_t
    signature: size_t regerror(int errcode, const regex_t *preg, char *errbuf,  size_t
      errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnupg/regexp/jimregexp.c:1924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - preg
    argTypes:
    - regex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1925
    functionName: regfree
    functionSourceFile: /src/gnupg/regexp/jimregexp.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void regfree(regex_t *preg)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - p
    - uc
    argTypes:
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 42
    functionName: utf8_fromunicode
    functionSourceFile: /src/gnupg/regexp/utf8.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int utf8_fromunicode(char *p, unsigned uc)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: utf8_charlen
    functionSourceFile: /src/gnupg/regexp/utf8.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int utf8_charlen(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utf8_charlen
      Src: /src/gnupg/regexp/utf8.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - index
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: utf8_index
    functionSourceFile: /src/gnupg/regexp/utf8.c
    functionUses: 1
    functionsReached:
    - utf8_charlen
    linkageType: ''
    returnType: int
    signature: int utf8_index(const char *str, int index)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - str
    - uc
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 111
    functionName: utf8_tounicode
    functionSourceFile: /src/gnupg/regexp/utf8.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int utf8_tounicode(const char *str, int *uc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: ARRAYSIZE
    functionSourceFile: /src/gnupg/regexp/utf8.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAYSIZE(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - cm
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: cmp_casemap
    functionSourceFile: /src/gnupg/regexp/utf8.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_casemap(const void *key, const void *cm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/gnupg/regexp/utf8.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - mapping
    - num
    - ch
    argTypes:
    - struct casemap*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: utf8_map_case
    functionSourceFile: /src/gnupg/regexp/utf8.c
    functionUses: 0
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: int
    signature: int utf8_map_case(const struct casemap *mapping, int num, int ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/gnupg/regexp/utf8.c:145,1
    - Dst: toupper
      Src: /src/gnupg/regexp/utf8.c:146,1
    - Dst: utf8_map_case
      Src: /src/gnupg/regexp/utf8.c:148,1
    - Dst: ARRAYSIZE
      Src: /src/gnupg/regexp/utf8.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: utf8_upper
    functionSourceFile: /src/gnupg/regexp/utf8.c
    functionUses: 2
    functionsReached:
    - utf8_map_case
    - toupper
    - ARRAYSIZE
    - isascii
    linkageType: ''
    returnType: int
    signature: int utf8_upper(int ch)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/tools/crlf.c:22,1
    - Dst: getchar
      Src: /src/gnupg/tools/crlf.c:27,1
    - Dst: fprintf
      Src: /src/gnupg/tools/crlf.c:30,1
    - Dst: fprintf
      Src: /src/gnupg/tools/crlf.c:32,1
    - Dst: putchar
      Src: /src/gnupg/tools/crlf.c:35,1
    - Dst: putchar
      Src: /src/gnupg/tools/crlf.c:37,1
    - Dst: putchar
      Src: /src/gnupg/tools/crlf.c:38,1
    - Dst: putchar
      Src: /src/gnupg/tools/crlf.c:41,1
    - Dst: putchar
      Src: /src/gnupg/tools/crlf.c:42,1
    - Dst: putchar
      Src: /src/gnupg/tools/crlf.c:45,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnupg/tools/crlf.c
    functionUses: 1
    functionsReached:
    - fprintf
    - getchar
    - putchar
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/tools/mime-maker.c:94,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-maker.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r_maker
    - cookie
    argTypes:
    - mime_maker_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: mime_maker_new
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t mime_maker_new (mime_maker_t *r_maker, void *cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/tools/mime-maker.c:113,1
    - Dst: release_parts
      Src: /src/gnupg/tools/mime-maker.c:116,1
    - Dst: xfree
      Src: /src/gnupg/tools/mime-maker.c:117,1
    - Dst: xfree
      Src: /src/gnupg/tools/mime-maker.c:118,1
    - Dst: xfree
      Src: /src/gnupg/tools/mime-maker.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - part
    argTypes:
    - part_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: release_parts
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 1
    functionsReached:
    - release_parts
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_parts (part_t part)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_parts
      Src: /src/gnupg/tools/mime-maker.c:132,1
    - Dst: xfree
      Src: /src/gnupg/tools/mime-maker.c:133,1
    - Dst: xfree
      Src: /src/gnupg/tools/mime-maker.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mime_maker_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: mime_maker_release
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - release_parts
    - xfree
    linkageType: ''
    returnType: void
    signature: void mime_maker_release (mime_maker_t ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - level
    argTypes:
    - mime_maker_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: mime_maker_set_verbose
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mime_maker_set_verbose (mime_maker_t ctx, int level)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-maker.c:163,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-maker.c:166,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-maker.c:169,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-maker.c:172,1
    - Dst: dump_parts
      Src: /src/gnupg/tools/mime-maker.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - part
    - level
    argTypes:
    - part_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 176
    functionName: dump_parts
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 1
    functionsReached:
    - dump_parts
    - log_debug
    linkageType: ''
    returnType: void
    signature: void dump_parts (part_t part, int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump_parts
      Src: /src/gnupg/tools/mime-maker.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mime_maker_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: mime_maker_dump_tree
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - dump_parts
    linkageType: ''
    returnType: void
    signature: void mime_maker_dump_tree (mime_maker_t ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_parent
      Src: /src/gnupg/tools/mime-maker.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - root
    - needle
    argTypes:
    - part_t
    - part_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 201
    functionName: find_parent
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 1
    functionsReached:
    - find_parent
    linkageType: ''
    returnType: part_t
    signature: part_t find_parent (part_t root, part_t needle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_part
      Src: /src/gnupg/tools/mime-maker.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - root
    - partid
    argTypes:
    - part_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 217
    functionName: find_part
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 1
    functionsReached:
    - find_part
    linkageType: ''
    returnType: part_t
    signature: part_t find_part (part_t root, unsigned int partid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_create_nonce
      Src: /src/gnupg/tools/mime-maker.c:231,1
    - Dst: zb32_encode
      Src: /src/gnupg/tools/mime-maker.c:232,1
    - Dst: es_bsprintf
      Src: /src/gnupg/tools/mime-maker.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mime_maker_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 240
    functionName: generate_boundary
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - zb32_encode
    - es_bsprintf
    - gcry_create_nonce
    linkageType: ''
    returnType: char
    signature: 'char *

      generate_boundary (mime_maker_t ctx)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/tools/mime-maker.c:250,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-maker.c:255,1
    - Dst: log_assert
      Src: /src/gnupg/tools/mime-maker.c:257,1
    - Dst: log_assert
      Src: /src/gnupg/tools/mime-maker.c:261,1
    - Dst: find_parent
      Src: /src/gnupg/tools/mime-maker.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - r_parent
    argTypes:
    - mime_maker_t
    - part_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 266
    functionName: ensure_part
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - find_parent
    - log_assert
    - gpg_error_from_syserror
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ensure_part (mime_maker_t ctx, part_t *r_parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/mime-maker.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - part
    - name
    argTypes:
    - part_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: have_header
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int have_header (part_t part, const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/tools/mime-maker.c:296,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/mime-maker.c:298,1
    - Dst: strlen
      Src: /src/gnupg/tools/mime-maker.c:303,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tools/mime-maker.c:305,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-maker.c:307,1
    - Dst: memcpy
      Src: /src/gnupg/tools/mime-maker.c:309,1
    - Dst: rfc822_valid_header_name_p
      Src: /src/gnupg/tools/mime-maker.c:313,1
    - Dst: xfree
      Src: /src/gnupg/tools/mime-maker.c:315,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/mime-maker.c:316,1
    - Dst: rfc822_capitalize_header_name
      Src: /src/gnupg/tools/mime-maker.c:319,1
    - Dst: xtrystrdup
      Src: /src/gnupg/tools/mime-maker.c:320,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-maker.c:323,1
    - Dst: xfree
      Src: /src/gnupg/tools/mime-maker.c:324,1
    - Dst: strlen
      Src: /src/gnupg/tools/mime-maker.c:328,1
    - Dst: xfree
      Src: /src/gnupg/tools/mime-maker.c:335,1
    - Dst: xfree
      Src: /src/gnupg/tools/mime-maker.c:336,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/mime-maker.c:337,1
    - Dst: xfree
      Src: /src/gnupg/tools/mime-maker.c:346,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - part
    - name
    - value
    argTypes:
    - part_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 349
    functionName: add_header
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - rfc822_valid_header_name_p
    - gpg_error_from_syserror
    - strlen
    - xtrystrdup
    - gpg_error
    - strchr
    - xfree
    - memcpy
    - rfc822_capitalize_header_name
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t add_header (part_t part, const char *name, const char *value)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nextislf
      Src: /src/gnupg/tools/mime-maker.c:373,1
    - Dst: strncmp
      Src: /src/gnupg/tools/mime-maker.c:377,1
    - Dst: strchr
      Src: /src/gnupg/tools/mime-maker.c:386,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tools/mime-maker.c:394,1
    - Dst: nextislf
      Src: /src/gnupg/tools/mime-maker.c:399,1
    - Dst: strncmp
      Src: /src/gnupg/tools/mime-maker.c:405,1
    - Dst: memcpy
      Src: /src/gnupg/tools/mime-maker.c:407,1
    - Dst: strchr
      Src: /src/gnupg/tools/mime-maker.c:417,1
    - Dst: tohex
      Src: /src/gnupg/tools/mime-maker.c:422,1
    - Dst: tohex
      Src: /src/gnupg/tools/mime-maker.c:423,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 432
    functionName: mime_maker_qp_encode
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - tohex
    - nextislf
    - strchr
    - memcpy
    - strncmp
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      mime_maker_qp_encode (const char *string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: nextislf
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nextislf(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 364
    functionName: tohex
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tohex(n)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: add_header
      Src: /src/gnupg/tools/mime-maker.c:455,1
    - Dst: ensure_part
      Src: /src/gnupg/tools/mime-maker.c:457,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/mime-maker.c:466,1
    - Dst: xtrycalloc
      Src: /src/gnupg/tools/mime-maker.c:472,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-maker.c:474,1
    - Dst: log_assert
      Src: /src/gnupg/tools/mime-maker.c:477,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/mime-maker.c:489,1
    - Dst: have_header
      Src: /src/gnupg/tools/mime-maker.c:490,1
    - Dst: add_header
      Src: /src/gnupg/tools/mime-maker.c:492,1
    - Dst: add_header
      Src: /src/gnupg/tools/mime-maker.c:496,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - name
    - value
    argTypes:
    - mime_maker_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 497
    functionName: mime_maker_add_header
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - add_header
    - gpg_error_from_syserror
    - log_assert
    - have_header
    - gpg_error
    - ascii_strcasecmp
    - xtrycalloc
    - ensure_part
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t mime_maker_add_header (mime_maker_t ctx, const char *name,
      const char *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ensure_part
      Src: /src/gnupg/tools/mime-maker.c:507,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/mime-maker.c:512,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tools/mime-maker.c:514,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-maker.c:516,1
    - Dst: memcpy
      Src: /src/gnupg/tools/mime-maker.c:519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - data
    - datalen
    argTypes:
    - mime_maker_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 522
    functionName: add_body
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - gpg_error
    - memcpy
    - ensure_part
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t add_body (mime_maker_t ctx, const void *data, size_t datalen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_body
      Src: /src/gnupg/tools/mime-maker.c:534,1
    - Dst: strlen
      Src: /src/gnupg/tools/mime-maker.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - string
    argTypes:
    - mime_maker_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: mime_maker_add_body
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - add_body
    - strlen
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t mime_maker_add_body (mime_maker_t ctx, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_body
      Src: /src/gnupg/tools/mime-maker.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - datalen
    argTypes:
    - mime_maker_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 541
    functionDepth: 3
    functionLinenumber: 541
    functionLinenumberEnd: 545
    functionName: mime_maker_add_body_data
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - add_body
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t mime_maker_add_body_data (mime_maker_t ctx, const void
      *data, size_t datalen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_rewind
      Src: /src/gnupg/tools/mime-maker.c:562,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/tools/mime-maker.c:563,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-maker.c:564,1
    - Dst: add_body
      Src: /src/gnupg/tools/mime-maker.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - stream_addr
    argTypes:
    - mime_maker_t
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 567
    functionName: mime_maker_add_stream
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - es_fclose_snatch
    - es_rewind
    - add_body
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t mime_maker_add_stream (mime_maker_t ctx, estream_t *stream_addr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ensure_part
      Src: /src/gnupg/tools/mime-maker.c:578,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/mime-maker.c:584,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/mime-maker.c:586,1
    - Dst: xtrycalloc
      Src: /src/gnupg/tools/mime-maker.c:589,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-maker.c:591,1
    - Dst: generate_boundary
      Src: /src/gnupg/tools/mime-maker.c:594,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-maker.c:597,1
    - Dst: xfree
      Src: /src/gnupg/tools/mime-maker.c:598,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mime_maker_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 608
    functionName: mime_maker_add_container
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - generate_boundary
    - gpg_error
    - xfree
    - xtrycalloc
    - ensure_part
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t mime_maker_add_container (mime_maker_t ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ensure_part
      Src: /src/gnupg/tools/mime-maker.c:618,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/mime-maker.c:622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mime_maker_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 627
    functionName: mime_maker_end_container
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - ensure_part
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t mime_maker_end_container (mime_maker_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure_part
      Src: /src/gnupg/tools/mime-maker.c:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mime_maker_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 637
    functionName: mime_maker_get_partid
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - ensure_part
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int mime_maker_get_partid (mime_maker_t ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/tools/mime-maker.c:649,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/mime-maker.c:656,1
    - Dst: es_fputc
      Src: /src/gnupg/tools/mime-maker.c:658,1
    - Dst: es_fputc
      Src: /src/gnupg/tools/mime-maker.c:663,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/mime-maker.c:664,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/mime-maker.c:667,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/mime-maker.c:669,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-maker.c:669,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - name
    - value
    - boundary
    argTypes:
    - mime_maker_t
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 670
    functionName: write_header
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - gpg_error_from_syserror
    - es_fputc
    - es_ferror
    - es_fputs
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t write_header (mime_maker_t ctx, const char *name, const
      char *value,\n              const char *boundary)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/tools/mime-maker.c:676,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/mime-maker.c:677,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-maker.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mime_maker_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: write_gap
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - es_ferror
    - es_fputs
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_gap (mime_maker_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/tools/mime-maker.c:684,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/mime-maker.c:685,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-maker.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - boundary
    - last
    argTypes:
    - mime_maker_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 686
    functionName: write_boundary
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - es_ferror
    - es_fprintf
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_boundary (mime_maker_t ctx, const char *boundary,
      int last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_fputc
      Src: /src/gnupg/tools/mime-maker.c:698,1
    - Dst: es_fputc
      Src: /src/gnupg/tools/mime-maker.c:699,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/mime-maker.c:702,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-maker.c:702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - body
    - bodylen
    argTypes:
    - mime_maker_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 703
    functionName: write_body
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - es_ferror
    - gpg_error_from_syserror
    - es_fputc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_body (mime_maker_t ctx, const void *body, size_t
      bodylen)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/mime-maker.c:717,1
    - Dst: write_header
      Src: /src/gnupg/tools/mime-maker.c:718,1
    - Dst: write_header
      Src: /src/gnupg/tools/mime-maker.c:720,1
    - Dst: write_gap
      Src: /src/gnupg/tools/mime-maker.c:724,1
    - Dst: write_body
      Src: /src/gnupg/tools/mime-maker.c:729,1
    - Dst: log_assert
      Src: /src/gnupg/tools/mime-maker.c:735,1
    - Dst: write_boundary
      Src: /src/gnupg/tools/mime-maker.c:736,1
    - Dst: write_tree
      Src: /src/gnupg/tools/mime-maker.c:738,1
    - Dst: write_boundary
      Src: /src/gnupg/tools/mime-maker.c:740,1
    - Dst: log_assert
      Src: /src/gnupg/tools/mime-maker.c:747,1
    - Dst: write_boundary
      Src: /src/gnupg/tools/mime-maker.c:748,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - parent
    - part
    argTypes:
    - mime_maker_t
    - part_t
    - part_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 707
    functionDepth: 2
    functionLinenumber: 707
    functionLinenumberEnd: 754
    functionName: write_tree
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 1
    functionsReached:
    - write_header
    - log_assert
    - write_gap
    - write_tree
    - strcmp
    - write_boundary
    - write_body
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_tree (mime_maker_t ctx, part_t parent, part_t part)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/tools/mime-maker.c:764,1
    - Dst: have_header
      Src: /src/gnupg/tools/mime-maker.c:765,1
    - Dst: add_header
      Src: /src/gnupg/tools/mime-maker.c:769,1
    - Dst: have_header
      Src: /src/gnupg/tools/mime-maker.c:774,1
    - Dst: rfctimestamp
      Src: /src/gnupg/tools/mime-maker.c:776,1
    - Dst: make_timestamp
      Src: /src/gnupg/tools/mime-maker.c:776,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-maker.c:778,1
    - Dst: add_header
      Src: /src/gnupg/tools/mime-maker.c:780,1
    - Dst: xfree
      Src: /src/gnupg/tools/mime-maker.c:781,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mime_maker_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 790
    functionName: add_missing_headers
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - rfctimestamp
    - add_header
    - gpg_error_from_syserror
    - have_header
    - gpg_error
    - make_timestamp
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t add_missing_headers (mime_maker_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_missing_headers
      Src: /src/gnupg/tools/mime-maker.c:801,1
    - Dst: write_tree
      Src: /src/gnupg/tools/mime-maker.c:806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - fp
    argTypes:
    - mime_maker_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 796
    functionDepth: 3
    functionLinenumber: 796
    functionLinenumberEnd: 810
    functionName: mime_maker_make
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - add_missing_headers
    - write_tree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t mime_maker_make (mime_maker_t ctx, estream_t fp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: add_missing_headers
      Src: /src/gnupg/tools/mime-maker.c:833,1
    - Dst: find_part
      Src: /src/gnupg/tools/mime-maker.c:839,1
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/mime-maker.c:844,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-maker.c:846,1
    - Dst: write_tree
      Src: /src/gnupg/tools/mime-maker.c:849,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/mime-maker.c:854,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/mime-maker.c:858,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - partid
    - r_stream
    argTypes:
    - mime_maker_t
    - unsigned int
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 818
    functionDepth: 3
    functionLinenumber: 818
    functionLinenumberEnd: 861
    functionName: mime_maker_get_part
    functionSourceFile: /src/gnupg/tools/mime-maker.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - gpg_error_from_syserror
    - es_fclose
    - add_missing_headers
    - write_tree
    - es_rewind
    - find_part
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t mime_maker_get_part (mime_maker_t ctx, unsigned int partid,
      estream_t *r_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/tools/wks-receive.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - keyword
    - args
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: decrypt_data_status_cb
    functionSourceFile: /src/gnupg/tools/wks-receive.c
    functionUses: 0
    functionsReached:
    - log_debug
    linkageType: ''
    returnType: void
    signature: void decrypt_data_status_cb (void *opaque, const char *keyword, char
      *args)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-receive.c:82,1
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/wks-receive.c:85,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-receive.c:88,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-receive.c:89,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-receive.c:90,1
    - Dst: ccparray_init
      Src: /src/gnupg/tools/wks-receive.c:94,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:96,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:100,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:101,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:103,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:104,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:105,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:106,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:108,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/wks-receive.c:109,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-receive.c:112,1
    - Dst: gnupg_exec_tool_stream
      Src: /src/gnupg/tools/wks-receive.c:115,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-receive.c:120,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-receive.c:120,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-receive.c:126,1
    - Dst: log_debug
      Src: /src/gnupg/tools/wks-receive.c:127,1
    - Dst: es_getc
      Src: /src/gnupg/tools/wks-receive.c:128,1
    - Dst: log_printf
      Src: /src/gnupg/tools/wks-receive.c:129,1
    - Dst: log_printf
      Src: /src/gnupg/tools/wks-receive.c:130,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-receive.c:132,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-receive.c:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - receive_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 136
    functionName: decrypt_data
    functionSourceFile: /src/gnupg/tools/wks-receive.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - ccparray_get
    - ccparray_put
    - log_error
    - gpg_error_from_syserror
    - ccparray_init
    - es_rewind
    - gpg_strerror
    - xfree
    - es_getc
    - log_printf
    - gnupg_exec_tool_stream
    - log_debug
    linkageType: ''
    returnType: void
    signature: void decrypt_data (receive_ctx_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/tools/wks-receive.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - keyword
    - args
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: verify_signature_status_cb
    functionSourceFile: /src/gnupg/tools/wks-receive.c
    functionUses: 0
    functionsReached:
    - log_debug
    linkageType: ''
    returnType: void
    signature: void verify_signature_status_cb (void *opaque, const char *keyword,
      char *args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/tools/wks-receive.c:156,1
    - Dst: log_assert
      Src: /src/gnupg/tools/wks-receive.c:157,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-receive.c:158,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-receive.c:159,1
    - Dst: ccparray_init
      Src: /src/gnupg/tools/wks-receive.c:161,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:163,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:164,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:166,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:167,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:168,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:169,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:170,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:171,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:172,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:173,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-receive.c:175,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/wks-receive.c:176,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-receive.c:179,1
    - Dst: gnupg_exec_tool_stream
      Src: /src/gnupg/tools/wks-receive.c:182,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-receive.c:187,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-receive.c:187,1
    - Dst: log_debug
      Src: /src/gnupg/tools/wks-receive.c:191,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-receive.c:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - receive_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 195
    functionName: verify_signature
    functionSourceFile: /src/gnupg/tools/wks-receive.c
    functionUses: 0
    functionsReached:
    - ccparray_get
    - ccparray_put
    - log_assert
    - gpg_error_from_syserror
    - log_error
    - ccparray_init
    - es_rewind
    - gpg_strerror
    - xfree
    - gnupg_exec_tool_stream
    - log_debug
    linkageType: ''
    returnType: void
    signature: void verify_signature (receive_ctx_t ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/wks-receive.c:204,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-receive.c:205,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/wks-receive.c:207,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/wks-receive.c:209,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-receive.c:210,1
    - Dst: decrypt_data
      Src: /src/gnupg/tools/wks-receive.c:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - cookie
    - data
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 218
    functionName: collect_encrypted
    functionSourceFile: /src/gnupg/tools/wks-receive.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - decrypt_data
    - gpg_error_from_syserror
    - es_ferror
    - es_fputs
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t collect_encrypted (void *cookie, const char *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/wks-receive.c:227,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-receive.c:228,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/wks-receive.c:230,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/wks-receive.c:232,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-receive.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - cookie
    - data
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: collect_signeddata
    functionSourceFile: /src/gnupg/tools/wks-receive.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - es_ferror
    - es_fputs
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t collect_signeddata (void *cookie, const char *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/wks-receive.c:243,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-receive.c:244,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/wks-receive.c:246,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/wks-receive.c:248,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-receive.c:249,1
    - Dst: verify_signature
      Src: /src/gnupg/tools/wks-receive.c:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - cookie
    - data
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 257
    functionName: collect_signature
    functionSourceFile: /src/gnupg/tools/wks-receive.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - gpg_error_from_syserror
    - verify_signature
    - es_ferror
    - es_fputs
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t collect_signature (void *cookie, const char *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/tools/wks-receive.c:270,1
    - Dst: mime_parser_rfc822parser
      Src: /src/gnupg/tools/wks-receive.c:274,1
    - Dst: rfc822parse_get_field
      Src: /src/gnupg/tools/wks-receive.c:277,1
    - Dst: atoi
      Src: /src/gnupg/tools/wks-receive.c:281,1
    - Dst: rfc822_free
      Src: /src/gnupg/tools/wks-receive.c:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - cookie
    - level
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 289
    functionName: t2body
    functionSourceFile: /src/gnupg/tools/wks-receive.c
    functionUses: 0
    functionsReached:
    - atoi
    - rfc822parse_get_field
    - log_info
    - rfc822_free
    - mime_parser_rfc822parser
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t t2body (void *cookie, int level)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mime_parser_rfc822parser
      Src: /src/gnupg/tools/wks-receive.c:301,1
    - Dst: rfc822parse_get_field
      Src: /src/gnupg/tools/wks-receive.c:304,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-receive.c:308,1
    - Dst: xtrystrdup
      Src: /src/gnupg/tools/wks-receive.c:309,1
    - Dst: strpbrk
      Src: /src/gnupg/tools/wks-receive.c:312,1
    - Dst: rfc822_free
      Src: /src/gnupg/tools/wks-receive.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - receive_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 317
    functionName: get_language
    functionSourceFile: /src/gnupg/tools/wks-receive.c
    functionUses: 0
    functionsReached:
    - strpbrk
    - xtrystrdup
    - rfc822parse_get_field
    - xfree
    - rfc822_free
    - mime_parser_rfc822parser
    linkageType: ''
    returnType: void
    signature: void get_language (receive_ctx_t ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/wks-receive.c:329,1
    - Dst: strcmp
      Src: /src/gnupg/tools/wks-receive.c:330,1
    - Dst: log_info
      Src: /src/gnupg/tools/wks-receive.c:332,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-receive.c:335,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-receive.c:336,1
    - Dst: get_language
      Src: /src/gnupg/tools/wks-receive.c:340,1
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/wks-receive.c:341,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-receive.c:344,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-receive.c:345,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-receive.c:346,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-receive.c:351,1
    - Dst: strcmp
      Src: /src/gnupg/tools/wks-receive.c:355,1
    - Dst: strcmp
      Src: /src/gnupg/tools/wks-receive.c:356,1
    - Dst: log_info
      Src: /src/gnupg/tools/wks-receive.c:358,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-receive.c:361,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-receive.c:362,1
    - Dst: get_language
      Src: /src/gnupg/tools/wks-receive.c:366,1
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/wks-receive.c:367,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-receive.c:370,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-receive.c:371,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-receive.c:372,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-receive.c:377,1
    - Dst: strcmp
      Src: /src/gnupg/tools/wks-receive.c:381,1
    - Dst: strcmp
      Src: /src/gnupg/tools/wks-receive.c:382,1
    - Dst: strcmp
      Src: /src/gnupg/tools/wks-receive.c:386,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-receive.c:392,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-receive.c:396,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-receive.c:397,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 3
    argNames:
    - cookie
    - mediatype
    - mediasubtype
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 401
    functionName: new_part
    functionSourceFile: /src/gnupg/tools/wks-receive.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - log_error
    - gpg_error_from_syserror
    - strcmp
    - gpg_error
    - get_language
    - log_info
    - gpg_strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t new_part (void *cookie, const char *mediatype, const char
      *mediasubtype)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/tools/wks-receive.c:412,1
    - Dst: es_write
      Src: /src/gnupg/tools/wks-receive.c:415,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/wks-receive.c:416,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-receive.c:417,1
    - Dst: es_write
      Src: /src/gnupg/tools/wks-receive.c:421,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/wks-receive.c:422,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-receive.c:423,1
    - Dst: log_debug
      Src: /src/gnupg/tools/wks-receive.c:429,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - cookie
    - data
    - datalen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 434
    functionName: part_data
    functionSourceFile: /src/gnupg/tools/wks-receive.c
    functionUses: 0
    functionsReached:
    - es_fputs
    - gpg_error_from_syserror
    - log_debug
    - es_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t part_data (void *cookie, const void *data, size_t datalen)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/tools/wks-receive.c:456,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-receive.c:458,1
    - Dst: mime_parser_new
      Src: /src/gnupg/tools/wks-receive.c:460,1
    - Dst: mime_parser_set_verbose
      Src: /src/gnupg/tools/wks-receive.c:464,1
    - Dst: mime_parser_set_t2body
      Src: /src/gnupg/tools/wks-receive.c:465,1
    - Dst: mime_parser_set_new_part
      Src: /src/gnupg/tools/wks-receive.c:466,1
    - Dst: mime_parser_set_part_data
      Src: /src/gnupg/tools/wks-receive.c:467,1
    - Dst: mime_parser_set_collect_encrypted
      Src: /src/gnupg/tools/wks-receive.c:468,1
    - Dst: mime_parser_set_collect_signeddata
      Src: /src/gnupg/tools/wks-receive.c:469,1
    - Dst: mime_parser_set_collect_signature
      Src: /src/gnupg/tools/wks-receive.c:470,1
    - Dst: mime_parser_parse
      Src: /src/gnupg/tools/wks-receive.c:474,1
    - Dst: log_info
      Src: /src/gnupg/tools/wks-receive.c:479,1
    - Dst: log_info
      Src: /src/gnupg/tools/wks-receive.c:481,1
    - Dst: log_info
      Src: /src/gnupg/tools/wks-receive.c:484,1
    - Dst: log_info
      Src: /src/gnupg/tools/wks-receive.c:491,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-receive.c:495,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-receive.c:497,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-receive.c:499,1
    - Dst: mime_parser_parse
      Src: /src/gnupg/tools/wks-receive.c:500,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-receive.c:507,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-receive.c:508,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-receive.c:516,1
    - Dst: log_debug
      Src: /src/gnupg/tools/wks-receive.c:518,1
    - Dst: log_debug
      Src: /src/gnupg/tools/wks-receive.c:519,1
    - Dst: log_printf
      Src: /src/gnupg/tools/wks-receive.c:520,1
    - Dst: es_getc
      Src: /src/gnupg/tools/wks-receive.c:521,1
    - Dst: log_printf
      Src: /src/gnupg/tools/wks-receive.c:522,1
    - Dst: log_printf
      Src: /src/gnupg/tools/wks-receive.c:523,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-receive.c:527,1
    - Dst: result_cb
      Src: /src/gnupg/tools/wks-receive.c:528,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-receive.c:538,1
    - Dst: log_debug
      Src: /src/gnupg/tools/wks-receive.c:539,1
    - Dst: log_printf
      Src: /src/gnupg/tools/wks-receive.c:540,1
    - Dst: es_getc
      Src: /src/gnupg/tools/wks-receive.c:541,1
    - Dst: log_printf
      Src: /src/gnupg/tools/wks-receive.c:542,1
    - Dst: log_printf
      Src: /src/gnupg/tools/wks-receive.c:543,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-receive.c:547,1
    - Dst: result_cb
      Src: /src/gnupg/tools/wks-receive.c:548,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-receive.c:557,1
    - Dst: mime_parser_release
      Src: /src/gnupg/tools/wks-receive.c:558,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-receive.c:560,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-receive.c:561,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-receive.c:562,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-receive.c:563,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-receive.c:564,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-receive.c:565,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-receive.c:566,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-receive.c:567,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 100
    argCount: 2
    argNames:
    - fp
    - cb_data
    argTypes:
    - estream_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 569
    functionName: wks_receive
    functionSourceFile: /src/gnupg/tools/wks-receive.c
    functionUses: 0
    functionsReached:
    - mime_parser_release
    - result_cb
    - mime_parser_set_part_data
    - mime_parser_set_t2body
    - log_error
    - es_rewind
    - log_info
    - log_printf
    - log_debug
    - mime_parser_set_verbose
    - gpg_error_from_syserror
    - mime_parser_set_new_part
    - mime_parser_set_collect_encrypted
    - gpg_error
    - mime_parser_set_collect_signeddata
    - xfree
    - es_getc
    - xtrycalloc
    - mime_parser_set_collect_signature
    - mime_parser_parse
    - es_fclose
    - mime_parser_new
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t wks_receive (estream_t fp,\n             gpg_error_t (*result_cb)(void
      *opaque,\n                                      const char *mediatype,\n                                      const
      char *language,\n                                      estream_t data,\n                                      unsigned
      int flags),\n             void *cb_data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 149
    functionName: my_strusage
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage( int level )'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpg-auth.c:155,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/tools/gpg-auth.c:162,1
    - Dst: gnupg_set_status_fd
      Src: /src/gnupg/tools/gpg-auth.c:172,1
    - Dst: translate_sys2libc_fd_int
      Src: /src/gnupg/tools/gpg-auth.c:172,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - pargs
    - popts
    argTypes:
    - gpgrt_argparse_t*
    - gpgrt_opt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 186
    functionName: parse_arguments
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 1
    functionsReached:
    - gnupg_set_status_fd
    - translate_sys2libc_fd_int
    - parse_debug_flag
    - gpgrt_argparse
    linkageType: ''
    returnType: void
    signature: void parse_arguments (gpgrt_argparse_t *pargs, gpgrt_opt_t *popts)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_reopen_std
      Src: /src/gnupg/tools/gpg-auth.c:225,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/tools/gpg-auth.c:226,1
    - Dst: log_set_prefix
      Src: /src/gnupg/tools/gpg-auth.c:227,1
    - Dst: i18n_init
      Src: /src/gnupg/tools/gpg-auth.c:230,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/tools/gpg-auth.c:231,1
    - Dst: assuan_set_gpg_err_source
      Src: /src/gnupg/tools/gpg-auth.c:233,1
    - Dst: setup_libassuan_logging
      Src: /src/gnupg/tools/gpg-auth.c:234,1
    - Dst: parse_arguments
      Src: /src/gnupg/tools/gpg-auth.c:243,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpg-auth.c:244,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-auth.c:246,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-auth.c:247,1
    - Dst: gpgrt_usage
      Src: /src/gnupg/tools/gpg-auth.c:250,1
    - Dst: getenv
      Src: /src/gnupg/tools/gpg-auth.c:254,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-auth.c:256,1
    - Dst: ga_scd_connect
      Src: /src/gnupg/tools/gpg-auth.c:261,1
    - Dst: ga_scd_get_auth_keys
      Src: /src/gnupg/tools/gpg-auth.c:264,1
    - Dst: ga_filter_by_authorized_keys
      Src: /src/gnupg/tools/gpg-auth.c:267,1
    - Dst: authenticate
      Src: /src/gnupg/tools/gpg-auth.c:270,1
    - Dst: ga_release_auth_keys
      Src: /src/gnupg/tools/gpg-auth.c:272,1
    - Dst: assuan_release
      Src: /src/gnupg/tools/gpg-auth.c:275,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-auth.c:278,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 281
    functionName: main
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 1
    functionsReached:
    - init_common_subsystems
    - exit
    - ga_scd_connect
    - gpgrt_set_strusage
    - gpgrt_usage
    - log_set_prefix
    - parse_arguments
    - authenticate
    - log_get_errorcount
    - ga_release_auth_keys
    - gnupg_reopen_std
    - gpgrt_argparse
    - ga_filter_by_authorized_keys
    - i18n_init
    - getenv
    - assuan_release
    - assuan_set_gpg_err_source
    - setup_libassuan_logging
    - ga_scd_get_auth_keys
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scd_passwd_reset
      Src: /src/gnupg/tools/gpg-auth.c:290,1
    - Dst: assuan_set_pointer
      Src: /src/gnupg/tools/gpg-auth.c:294,1
    - Dst: scd_pkauth
      Src: /src/gnupg/tools/gpg-auth.c:295,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-auth.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - key_list
    argTypes:
    - assuan_context_t
    - ga_key_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 304
    functionName: authenticate
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - assuan_set_pointer
    - scd_pkauth
    - scd_passwd_reset
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t authenticate (assuan_context_t ctx, ga_key_list_t key_list)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-auth.c:314,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-auth.c:316,1
    - Dst: memcmp
      Src: /src/gnupg/tools/gpg-auth.c:319,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-auth.c:322,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/gpg-auth.c:323,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-auth.c:325,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-auth.c:326,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tools/gpg-auth.c:327,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-auth.c:329,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-auth.c:330,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 335
    functionName: get_serialno_cb
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - gpg_error_from_syserror
    - spacep
    - gpg_error
    - memcmp
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_serialno_cb (void *opaque, const char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init_membuf
      Src: /src/gnupg/tools/gpg-auth.c:350,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/gpg-auth.c:353,1
    - Dst: get_membuf
      Src: /src/gnupg/tools/gpg-auth.c:355,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tools/gpg-auth.c:360,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-auth.c:362,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-auth.c:365,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-auth.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - socket_name
    argTypes:
    - assuan_context_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 375
    functionName: agent_scd_getinfo_socket_name
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - gpg_error_from_syserror
    - assuan_transact
    - xfree
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_scd_getinfo_socket_name (assuan_context_t ctx, char
      **socket_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: session_env_new
      Src: /src/gnupg/tools/gpg-auth.c:386,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-auth.c:388,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-auth.c:389,1
    - Dst: start_new_gpg_agent
      Src: /src/gnupg/tools/gpg-auth.c:391,1
    - Dst: session_env_release
      Src: /src/gnupg/tools/gpg-auth.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx_p
    argTypes:
    - assuan_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 402
    functionName: start_agent
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 0
    functionsReached:
    - session_env_new
    - log_fatal
    - session_env_release
    - start_new_gpg_agent
    - strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t start_agent (assuan_context_t *ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_transact
      Src: /src/gnupg/tools/gpg-auth.c:410,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-auth.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 414
    functionName: scd_serialno
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_serialno (assuan_context_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/tools/gpg-auth.c:423,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-auth.c:423,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/gpg-auth.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - keygrip
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionName: scd_passwd_reset
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 1
    functionsReached:
    - assuan_transact
    - snprintf
    - DIM
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_passwd_reset (assuan_context_t ctx, const char *keygrip)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assuan_new
      Src: /src/gnupg/tools/gpg-auth.c:438,1
    - Dst: start_agent
      Src: /src/gnupg/tools/gpg-auth.c:448,1
    - Dst: agent_scd_getinfo_socket_name
      Src: /src/gnupg/tools/gpg-auth.c:455,1
    - Dst: assuan_release
      Src: /src/gnupg/tools/gpg-auth.c:456,1
    - Dst: assuan_socket_connect
      Src: /src/gnupg/tools/gpg-auth.c:459,1
    - Dst: log_debug
      Src: /src/gnupg/tools/gpg-auth.c:462,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-auth.c:465,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/tools/gpg-auth.c:474,1
    - Dst: strrchr
      Src: /src/gnupg/tools/gpg-auth.c:475,1
    - Dst: assuan_fd_from_posix_fd
      Src: /src/gnupg/tools/gpg-auth.c:485,1
    - Dst: fileno
      Src: /src/gnupg/tools/gpg-auth.c:485,1
    - Dst: assuan_pipe_connect
      Src: /src/gnupg/tools/gpg-auth.c:489,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-auth.c:493,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-auth.c:493,1
    - Dst: log_debug
      Src: /src/gnupg/tools/gpg-auth.c:498,1
    - Dst: assuan_release
      Src: /src/gnupg/tools/gpg-auth.c:502,1
    - Dst: scd_serialno
      Src: /src/gnupg/tools/gpg-auth.c:505,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - r_scd_ctx
    - use_scd_directly
    argTypes:
    - assuan_context_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 510
    functionName: ga_scd_connect
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 1
    functionsReached:
    - assuan_new
    - log_error
    - gnupg_module_name
    - assuan_fd_from_posix_fd
    - assuan_release
    - scd_serialno
    - agent_scd_getinfo_socket_name
    - fileno
    - strrchr
    - xfree
    - gpg_strerror
    - assuan_pipe_connect
    - start_agent
    - assuan_socket_connect
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ga_scd_connect (assuan_context_t *r_scd_ctx, int use_scd_directly)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/tools/gpg-auth.c:522,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/tools/gpg-auth.c:526,1
    - Dst: gcry_malloc_secure
      Src: /src/gnupg/tools/gpg-auth.c:530,1
    - Dst: out_of_core
      Src: /src/gnupg/tools/gpg-auth.c:532,1
    - Dst: getpin
      Src: /src/gnupg/tools/gpg-auth.c:534,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/tools/gpg-auth.c:537,1
    - Dst: assuan_send_data
      Src: /src/gnupg/tools/gpg-auth.c:538,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/tools/gpg-auth.c:539,1
    - Dst: wipememory
      Src: /src/gnupg/tools/gpg-auth.c:541,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-auth.c:542,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/tools/gpg-auth.c:544,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-auth.c:549,1
    - Dst: fprintf
      Src: /src/gnupg/tools/gpg-auth.c:550,1
    - Dst: fprintf
      Src: /src/gnupg/tools/gpg-auth.c:551,1
    - Dst: fflush
      Src: /src/gnupg/tools/gpg-auth.c:552,1
    - Dst: fputs
      Src: /src/gnupg/tools/gpg-auth.c:556,1
    - Dst: fputs
      Src: /src/gnupg/tools/gpg-auth.c:557,1
    - Dst: fflush
      Src: /src/gnupg/tools/gpg-auth.c:558,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/tools/gpg-auth.c:561,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-auth.c:567,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-auth.c:568,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-auth.c:571,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 572
    functionName: inq_needpin
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 0
    functionsReached:
    - getpin
    - assuan_send_data
    - strlen
    - log_error
    - assuan_end_confidential
    - assuan_begin_confidential
    - gcry_malloc_secure
    - wipememory
    - fprintf
    - fflush
    - xfree
    - gpg_error
    - fputs
    - has_leading_keyword
    - out_of_core
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t inq_needpin (void *opaque, const char *line)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-auth.c:591,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-auth.c:593,1
    - Dst: memcmp
      Src: /src/gnupg/tools/gpg-auth.c:596,1
    - Dst: xtrycalloc
      Src: /src/gnupg/tools/gpg-auth.c:606,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/gpg-auth.c:610,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-auth.c:616,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-auth.c:624,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-auth.c:633,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/gpg-auth.c:636,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-auth.c:649,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-auth.c:651,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-auth.c:655,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-auth.c:657,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 659
    functionName: card_keyinfo_cb
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - gpg_error_from_syserror
    - spacep
    - gpg_error
    - memcmp
    - xfree
    - xtrycalloc
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t card_keyinfo_cb (void *opaque, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/gpg-auth.c:671,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/gpg-auth.c:673,1
    - Dst: ga_release_auth_keys
      Src: /src/gnupg/tools/gpg-auth.c:681,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - r_key_list
    argTypes:
    - assuan_context_t
    - ga_key_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 684
    functionName: scd_keyinfo_list
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - ga_release_auth_keys
    - memset
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_keyinfo_list (assuan_context_t ctx, ga_key_list_t *r_key_list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-auth.c:698,1
    - Dst: split_fields
      Src: /src/gnupg/tools/gpg-auth.c:699,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-auth.c:699,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-auth.c:702,1
    - Dst: put_membuf
      Src: /src/gnupg/tools/gpg-auth.c:703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - opaque
    - buf
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 706
    functionName: put_second_field_cb
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 0
    functionsReached:
    - strlen
    - split_fields
    - put_membuf
    - DIM
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t put_second_field_cb (void *opaque, const void *buf, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_membuf
      Src: /src/gnupg/tools/gpg-auth.c:721,1
    - Dst: snprintf
      Src: /src/gnupg/tools/gpg-auth.c:723,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-auth.c:723,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/gpg-auth.c:724,1
    - Dst: get_membuf
      Src: /src/gnupg/tools/gpg-auth.c:726,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-auth.c:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - assuan_context_t
    - ga_key_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 737
    functionName: scd_get_pubkey
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - snprintf
    - DIM
    - assuan_transact
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_get_pubkey (assuan_context_t ctx, ga_key_list_t key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scd_keyinfo_list
      Src: /src/gnupg/tools/gpg-auth.c:749,1
    - Dst: scd_get_pubkey
      Src: /src/gnupg/tools/gpg-auth.c:755,1
    - Dst: ga_release_auth_keys
      Src: /src/gnupg/tools/gpg-auth.c:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - r_key_list
    argTypes:
    - assuan_context_t
    - ga_key_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 767
    functionName: ga_scd_get_auth_keys
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 1
    functionsReached:
    - ga_release_auth_keys
    - scd_keyinfo_list
    - scd_get_pubkey
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ga_scd_get_auth_keys (assuan_context_t ctx, ga_key_list_t
      *r_key_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-auth.c:790,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-auth.c:791,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-auth.c:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - key_list
    argTypes:
    - ssh_key_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 794
    functionName: release_ssh_key_list
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_ssh_key_list (ssh_key_list_t key_list)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/tools/gpg-auth.c:818,1
    - Dst: make_absfilename_try
      Src: /src/gnupg/tools/gpg-auth.c:819,1
    - Dst: make_absfilename_try
      Src: /src/gnupg/tools/gpg-auth.c:823,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-auth.c:826,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpg-auth.c:828,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-auth.c:831,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-auth.c:832,1
    - Dst: es_read_line
      Src: /src/gnupg/tools/gpg-auth.c:837,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-auth.c:841,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-auth.c:842,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-auth.c:842,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-auth.c:842,1
    - Dst: release_ssh_key_list
      Src: /src/gnupg/tools/gpg-auth.c:843,1
    - Dst: split_fields
      Src: /src/gnupg/tools/gpg-auth.c:852,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-auth.c:852,1
    - Dst: xtrycalloc
      Src: /src/gnupg/tools/gpg-auth.c:857,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-auth.c:860,1
    - Dst: release_ssh_key_list
      Src: /src/gnupg/tools/gpg-auth.c:861,1
    - Dst: strdup
      Src: /src/gnupg/tools/gpg-auth.c:865,1
    - Dst: strdup
      Src: /src/gnupg/tools/gpg-auth.c:866,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-auth.c:878,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-auth.c:879,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-auth.c:880,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - user
    - r_ssh_key_list
    argTypes:
    - char*
    - ssh_key_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 882
    functionName: ssh_authorized_keys
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - log_error
    - snprintf
    - split_fields
    - DIM
    - es_read_line
    - make_absfilename_try
    - _
    - release_ssh_key_list
    - es_fclose
    - gpg_error
    - es_fopen
    - xfree
    - gpg_strerror
    - xtrycalloc
    - strdup
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ssh_authorized_keys (const char *user, ssh_key_list_t *r_ssh_key_list)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ssh_authorized_keys
      Src: /src/gnupg/tools/gpg-auth.c:897,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-auth.c:902,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpg-auth.c:909,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-auth.c:931,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-auth.c:932,1
    - Dst: release_ssh_key_list
      Src: /src/gnupg/tools/gpg-auth.c:939,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - user
    - r_key_list
    argTypes:
    - char*
    - ga_key_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 888
    functionDepth: 2
    functionLinenumber: 888
    functionLinenumberEnd: 942
    functionName: ga_filter_by_authorized_keys
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 1
    functionsReached:
    - release_ssh_key_list
    - gpg_error
    - xfree
    - ssh_authorized_keys
    - strncmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ga_filter_by_authorized_keys (const char *user, ga_key_list_t
      *r_key_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-auth.c:955,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-auth.c:956,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key_list
    argTypes:
    - ga_key_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 958
    functionName: ga_release_auth_keys
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 3
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void ga_release_auth_keys (ga_key_list_t key_list)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-auth.c:973,1
    - Dst: fprintf
      Src: /src/gnupg/tools/gpg-auth.c:974,1
    - Dst: fprintf
      Src: /src/gnupg/tools/gpg-auth.c:975,1
    - Dst: fflush
      Src: /src/gnupg/tools/gpg-auth.c:976,1
    - Dst: fputs
      Src: /src/gnupg/tools/gpg-auth.c:980,1
    - Dst: fputs
      Src: /src/gnupg/tools/gpg-auth.c:981,1
    - Dst: fflush
      Src: /src/gnupg/tools/gpg-auth.c:982,1
    - Dst: fgets
      Src: /src/gnupg/tools/gpg-auth.c:985,1
    - Dst: split_fields
      Src: /src/gnupg/tools/gpg-auth.c:986,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-auth.c:986,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-auth.c:986,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-auth.c:988,1
    - Dst: fgets
      Src: /src/gnupg/tools/gpg-auth.c:990,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-auth.c:994,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-auth.c:1004,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - comment
    - info
    - buf
    - r_len
    argTypes:
    - char*
    - char*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 1009
    functionName: getpin
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 1
    functionsReached:
    - strlen
    - split_fields
    - DIM
    - fprintf
    - fflush
    - strcmp
    - fputs
    - fgets
    - memcpy
    linkageType: ''
    returnType: int
    signature: int getpin (const char *comment, const char *info, char *buf, size_t
      *r_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/tools/gpg-auth.c:1018,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-auth.c:1018,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/gpg-auth.c:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - keygrip
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1022
    functionName: scd_pkauth
    functionSourceFile: /src/gnupg/tools/gpg-auth.c
    functionUses: 1
    functionsReached:
    - assuan_transact
    - snprintf
    - DIM
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_pkauth (assuan_context_t ctx, const char *keygrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 51
    functionName: struct
    functionSourceFile: /src/gnupg/tools/gpg-card.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EXTERN_UNLESS_MAIN_MODULE
    signature: EXTERN_UNLESS_MAIN_MODULE struct
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-util.c:54,1
    - Dst: es_fdopen
      Src: /src/gnupg/tools/wks-util.c:64,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/wks-util.c:67,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:68,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:68,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 71
    functionName: wks_set_status_fd
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - es_fclose
    - log_fatal
    - gpg_strerror
    - es_fdopen
    linkageType: ''
    returnType: void
    signature: void wks_set_status_fd (int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/tools/wks-util.c:85,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/wks-util.c:86,1
    - Dst: get_status_string
      Src: /src/gnupg/tools/wks-util.c:86,1
    - Dst: es_putc
      Src: /src/gnupg/tools/wks-util.c:89,1
    - Dst: va_start
      Src: /src/gnupg/tools/wks-util.c:90,1
    - Dst: es_vfprintf
      Src: /src/gnupg/tools/wks-util.c:91,1
    - Dst: va_end
      Src: /src/gnupg/tools/wks-util.c:92,1
    - Dst: es_putc
      Src: /src/gnupg/tools/wks-util.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - 'no'
    - format
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 95
    functionName: wks_write_status
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - va_end
    - es_vfprintf
    - es_putc
    - get_status_string
    - va_start
    - es_fputs
    linkageType: ''
    returnType: void
    signature: void wks_write_status (int no, const char *format, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_c_string
      Src: /src/gnupg/tools/wks-util.c:110,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tools/wks-util.c:114,1
    - Dst: strlen
      Src: /src/gnupg/tools/wks-util.c:114,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:117,1
    - Dst: strcpy
      Src: /src/gnupg/tools/wks-util.c:121,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/tools/wks-util.c:124,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 5
    argNames:
    - list
    - uid
    - created
    - expired
    - revoked
    argTypes:
    - uidinfo_list_t*
    - char*
    - time_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 139
    functionName: append_to_uidinfo_list
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - strlen
    - decode_c_string
    - strcpy
    - xfree
    - xtrymalloc
    - mailbox_from_userid
    linkageType: ''
    returnType: uidinfo_list_t
    signature: "uidinfo_list_t append_to_uidinfo_list (uidinfo_list_t *list, const
      char *uid, time_t created,\n                        int expired, int revoked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:149,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - list
    argTypes:
    - uidinfo_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: free_uidinfo_list
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void free_uidinfo_list (uidinfo_list_t list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/tools/wks-util.c:164,1
    - Dst: log_printf
      Src: /src/gnupg/tools/wks-util.c:166,1
    - Dst: log_printf
      Src: /src/gnupg/tools/wks-util.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - func
    - argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: debug_gpg_invocation
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - log_printf
    - log_debug
    linkageType: ''
    returnType: void
    signature: void debug_gpg_invocation (const char *func, const char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/tools/wks-util.c:186,1
    - Dst: strcmp
      Src: /src/gnupg/tools/wks-util.c:187,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/wks-util.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - opaque
    - keyword
    - args
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 193
    functionName: get_key_status_cb
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ascii_strcasecmp
    - log_debug
    linkageType: ''
    returnType: void
    signature: void get_key_status_cb (void *opaque, const char *keyword, char *args)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/wks-util.c:212,1
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/wks-util.c:216,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:219,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:220,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:220,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/wks-util.c:226,1
    - Dst: es_bsprintf
      Src: /src/gnupg/tools/wks-util.c:229,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:232,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:233,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:233,1
    - Dst: ccparray_init
      Src: /src/gnupg/tools/wks-util.c:237,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:239,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:241,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:243,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:244,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:245,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:246,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:248,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:249,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:251,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:252,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:253,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:254,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:255,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:257,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/wks-util.c:258,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:261,1
    - Dst: debug_gpg_invocation
      Src: /src/gnupg/tools/wks-util.c:265,1
    - Dst: gnupg_exec_tool_stream
      Src: /src/gnupg/tools/wks-util.c:266,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:270,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:272,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:275,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:275,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-util.c:279,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-util.c:284,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:285,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:286,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 5
    argNames:
    - r_key
    - fingerprint
    - addrspec
    - exact
    - binary
    argTypes:
    - estream_t*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 288
    functionName: wks_get_key
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - ccparray_get
    - ccparray_put
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - es_bsprintf
    - ccparray_init
    - debug_gpg_invocation
    - gpg_strerror
    - memset
    - gpg_error
    - es_rewind
    - xfree
    - es_fputs
    - gnupg_exec_tool_stream
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t wks_get_key (estream_t *r_key, const char *fingerprint,
      const char *addrspec,\n             int exact, int binary)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/tools/wks-util.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - keyword
    - args
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: key_status_cb
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - log_debug
    linkageType: ''
    returnType: void
    signature: void key_status_cb (void *opaque, const char *keyword, char *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/tools/wks-util.c:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - string
    - expired
    - revoked
    argTypes:
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: set_expired_revoked
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - digitp
    linkageType: ''
    returnType: void
    signature: void set_expired_revoked (const char *string, int *expired, int *revoked)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/wks-util.c:346,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:349,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:350,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:350,1
    - Dst: ccparray_init
      Src: /src/gnupg/tools/wks-util.c:354,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:356,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:358,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:360,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:361,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:362,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:363,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:364,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:365,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:366,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:367,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:369,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/wks-util.c:370,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:373,1
    - Dst: debug_gpg_invocation
      Src: /src/gnupg/tools/wks-util.c:376,1
    - Dst: gnupg_exec_tool_stream
      Src: /src/gnupg/tools/wks-util.c:377,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:382,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:382,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-util.c:386,1
    - Dst: es_read_line
      Src: /src/gnupg/tools/wks-util.c:390,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:395,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:396,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:405,1
    - Dst: strtokenize_nt
      Src: /src/gnupg/tools/wks-util.c:406,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:409,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:410,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:410,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:417,1
    - Dst: strcmp
      Src: /src/gnupg/tools/wks-util.c:420,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:424,1
    - Dst: strcmp
      Src: /src/gnupg/tools/wks-util.c:427,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:430,1
    - Dst: strcmp
      Src: /src/gnupg/tools/wks-util.c:433,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:438,1
    - Dst: set_expired_revoked
      Src: /src/gnupg/tools/wks-util.c:442,1
    - Dst: strcmp
      Src: /src/gnupg/tools/wks-util.c:447,1
    - Dst: strcmp
      Src: /src/gnupg/tools/wks-util.c:447,1
    - Dst: strcmp
      Src: /src/gnupg/tools/wks-util.c:450,1
    - Dst: xtrystrdup
      Src: /src/gnupg/tools/wks-util.c:452,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:455,1
    - Dst: strcmp
      Src: /src/gnupg/tools/wks-util.c:459,1
    - Dst: set_expired_revoked
      Src: /src/gnupg/tools/wks-util.c:463,1
    - Dst: append_to_uidinfo_list
      Src: /src/gnupg/tools/wks-util.c:464,1
    - Dst: parse_timestamp
      Src: /src/gnupg/tools/wks-util.c:465,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:469,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/wks-util.c:474,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:476,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:477,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:483,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:496,1
    - Dst: free_uidinfo_list
      Src: /src/gnupg/tools/wks-util.c:497,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:498,1
    - Dst: es_free
      Src: /src/gnupg/tools/wks-util.c:499,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:500,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-util.c:501,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 130
    argCount: 3
    argNames:
    - key
    - r_fpr
    - r_mboxes
    argTypes:
    - estream_t
    - char**
    - uidinfo_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 503
    functionName: wks_list_key
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - ccparray_put
    - gnupg_exec_tool_stream
    - es_fopenmem
    - log_error
    - es_free
    - parse_timestamp
    - debug_gpg_invocation
    - es_rewind
    - es_ferror
    - strtokenize_nt
    - ccparray_get
    - gpg_error_from_syserror
    - es_read_line
    - strcmp
    - xtrystrdup
    - gpg_error
    - gpg_strerror
    - xfree
    - free_uidinfo_list
    - es_fclose
    - ccparray_init
    - append_to_uidinfo_list
    - set_expired_revoked
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t wks_list_key (estream_t key, char **r_fpr, uidinfo_list_t
      *r_mboxes)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/wks-util.c:524,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:527,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:528,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:528,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/wks-util.c:534,1
    - Dst: es_bsprintf
      Src: /src/gnupg/tools/wks-util.c:537,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:540,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:541,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:541,1
    - Dst: ccparray_init
      Src: /src/gnupg/tools/wks-util.c:545,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:547,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:549,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:551,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:552,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:553,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:554,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:556,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:557,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:558,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:559,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:560,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:562,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/wks-util.c:563,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:566,1
    - Dst: debug_gpg_invocation
      Src: /src/gnupg/tools/wks-util.c:569,1
    - Dst: gnupg_exec_tool_stream
      Src: /src/gnupg/tools/wks-util.c:570,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:575,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:575,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-util.c:579,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:584,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:585,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-util.c:586,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 4
    argNames:
    - r_newkey
    - key
    - uid
    - binary
    argTypes:
    - estream_t*
    - estream_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 588
    functionName: wks_filter_uid
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - ccparray_get
    - ccparray_put
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - es_bsprintf
    - ccparray_init
    - debug_gpg_invocation
    - gpg_strerror
    - es_rewind
    - xfree
    - es_fputs
    - gnupg_exec_tool_stream
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t wks_filter_uid (estream_t *r_newkey, estream_t key, const
      char *uid,\n                int binary)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/wks-util.c:608,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:611,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/wks-util.c:616,1
    - Dst: gpgrt_b64enc_start
      Src: /src/gnupg/tools/wks-util.c:618,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:621,1
    - Dst: es_fread
      Src: /src/gnupg/tools/wks-util.c:627,1
    - Dst: gpgrt_b64enc_write
      Src: /src/gnupg/tools/wks-util.c:630,1
    - Dst: es_feof
      Src: /src/gnupg/tools/wks-util.c:634,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/wks-util.c:634,1
    - Dst: es_feof
      Src: /src/gnupg/tools/wks-util.c:635,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/wks-util.c:635,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:637,1
    - Dst: gpgrt_b64enc_finish
      Src: /src/gnupg/tools/wks-util.c:641,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-util.c:645,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-util.c:650,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 3
    argNames:
    - r_newkey
    - key
    - prefix
    argTypes:
    - estream_t*
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 652
    functionName: wks_armor_key
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - gpg_error_from_syserror
    - gpgrt_b64enc_write
    - es_fclose
    - gpgrt_b64enc_finish
    - es_fread
    - es_feof
    - es_rewind
    - es_ferror
    - es_fputs
    - gpgrt_b64enc_start
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t wks_armor_key (estream_t *r_newkey, estream_t key, const
      char *prefix)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: es_bsprintf
      Src: /src/gnupg/tools/wks-util.c:665,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:668,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:669,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:669,1
    - Dst: ccparray_init
      Src: /src/gnupg/tools/wks-util.c:673,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:675,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:677,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:679,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:680,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:681,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:682,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:683,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:684,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:685,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:686,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/wks-util.c:688,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/wks-util.c:689,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:692,1
    - Dst: debug_gpg_invocation
      Src: /src/gnupg/tools/wks-util.c:695,1
    - Dst: gnupg_exec_tool_stream
      Src: /src/gnupg/tools/wks-util.c:696,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:701,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:701,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:706,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:707,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 2
    argNames:
    - key
    - addrspec
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 709
    functionName: wks_find_add_revocs
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - ccparray_get
    - ccparray_put
    - log_error
    - gpg_error_from_syserror
    - es_bsprintf
    - ccparray_init
    - debug_gpg_invocation
    - gpg_strerror
    - xfree
    - gnupg_exec_tool_stream
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t wks_find_add_revocs (estream_t key, const char *addrspec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: es_set_binary
      Src: /src/gnupg/tools/wks-util.c:722,1
    - Dst: mime_maker_make
      Src: /src/gnupg/tools/wks-util.c:723,1
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/wks-util.c:727,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:730,1
    - Dst: mime_maker_make
      Src: /src/gnupg/tools/wks-util.c:734,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-util.c:738,1
    - Dst: send_mail_to_file
      Src: /src/gnupg/tools/wks-util.c:739,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-util.c:744,1
    - Dst: send_mail
      Src: /src/gnupg/tools/wks-util.c:745,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-util.c:748,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - mime
    argTypes:
    - mime_maker_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 713
    functionDepth: 4
    functionLinenumber: 713
    functionLinenumberEnd: 750
    functionName: wks_send_mime
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - es_set_binary
    - gpg_error_from_syserror
    - send_mail
    - es_fclose
    - mime_maker_make
    - es_rewind
    - send_mail_to_file
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t wks_send_mime (mime_maker_t mime)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/wks-util.c:784,1
    - Dst: es_fgets
      Src: /src/gnupg/tools/wks-util.c:786,1
    - Dst: DIM
      Src: /src/gnupg/tools/wks-util.c:786,1
    - Dst: strlen
      Src: /src/gnupg/tools/wks-util.c:789,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:792,1
    - Dst: trim_trailing_spaces
      Src: /src/gnupg/tools/wks-util.c:796,1
    - Dst: spacep
      Src: /src/gnupg/tools/wks-util.c:798,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:805,1
    - Dst: strchr
      Src: /src/gnupg/tools/wks-util.c:811,1
    - Dst: spacep
      Src: /src/gnupg/tools/wks-util.c:815,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:819,1
    - Dst: DIM
      Src: /src/gnupg/tools/wks-util.c:825,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/wks-util.c:826,1
    - Dst: DIM
      Src: /src/gnupg/tools/wks-util.c:828,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:832,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:841,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:844,1
    - Dst: xtrystrdup
      Src: /src/gnupg/tools/wks-util.c:845,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:848,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:858,1
    - Dst: atoi
      Src: /src/gnupg/tools/wks-util.c:863,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:868,1
    - Dst: atoi
      Src: /src/gnupg/tools/wks-util.c:871,1
    - Dst: es_feof
      Src: /src/gnupg/tools/wks-util.c:876,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:877,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:881,1
    - Dst: es_fname_get
      Src: /src/gnupg/tools/wks-util.c:882,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:882,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 88
    argCount: 3
    argNames:
    - flags
    - stream
    - ignore_unknown
    argTypes:
    - policy_flags_t
    - estream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 885
    functionName: wks_parse_policy
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - trim_trailing_spaces
    - atoi
    - es_fname_get
    - strlen
    - gpg_error_from_syserror
    - log_error
    - es_fgets
    - DIM
    - spacep
    - xtrystrdup
    - gpg_error
    - strchr
    - memset
    - ascii_strcasecmp
    - xfree
    - es_feof
    - gpg_strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t wks_parse_policy (policy_flags_t flags, estream_t stream,
      int ignore_unknown)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:893,1
    - Dst: memset
      Src: /src/gnupg/tools/wks-util.c:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - policy
    argTypes:
    - policy_flags_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 896
    functionName: wks_free_policy
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - memset
    - xfree
    linkageType: ''
    returnType: void
    signature: void wks_free_policy (policy_flags_t policy)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: es_set_binary
      Src: /src/gnupg/tools/wks-util.c:912,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/wks-util.c:916,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:918,1
    - Dst: es_fread
      Src: /src/gnupg/tools/wks-util.c:923,1
    - Dst: es_fwrite
      Src: /src/gnupg/tools/wks-util.c:926,1
    - Dst: es_feof
      Src: /src/gnupg/tools/wks-util.c:930,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/wks-util.c:930,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/wks-util.c:930,1
    - Dst: es_feof
      Src: /src/gnupg/tools/wks-util.c:931,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/wks-util.c:931,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/wks-util.c:931,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:933,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-util.c:936,1
    - Dst: gnupg_remove
      Src: /src/gnupg/tools/wks-util.c:937,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-util.c:942,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:944,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:945,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:945,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 2
    argNames:
    - src
    - fname
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 950
    functionName: wks_write_to_file
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - es_set_binary
    - gpg_error_from_syserror
    - log_error
    - es_fclose
    - es_fread
    - es_feof
    - es_fopen
    - es_fwrite
    - gpg_strerror
    - gnupg_remove
    - es_ferror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t wks_write_to_file (estream_t src, const char *fname)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mailbox_from_userid
      Src: /src/gnupg/tools/wks-util.c:972,1
    - Dst: log_info
      Src: /src/gnupg/tools/wks-util.c:976,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:977,1
    - Dst: strchr
      Src: /src/gnupg/tools/wks-util.c:981,1
    - Dst: log_assert
      Src: /src/gnupg/tools/wks-util.c:982,1
    - Dst: strchr
      Src: /src/gnupg/tools/wks-util.c:984,1
    - Dst: strchr
      Src: /src/gnupg/tools/wks-util.c:984,1
    - Dst: log_info
      Src: /src/gnupg/tools/wks-util.c:986,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:987,1
    - Dst: strchr
      Src: /src/gnupg/tools/wks-util.c:992,1
    - Dst: log_assert
      Src: /src/gnupg/tools/wks-util.c:993,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/tools/wks-util.c:994,1
    - Dst: zb32_encode
      Src: /src/gnupg/tools/wks-util.c:995,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:998,1
    - Dst: make_filename_try
      Src: /src/gnupg/tools/wks-util.c:1010,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:1012,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:1021,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:1022,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 4
    argNames:
    - userid
    - hash_only
    - r_fname
    - r_addrspec
    argTypes:
    - char*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 1024
    functionName: wks_fname_from_userid
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - zb32_encode
    - log_assert
    - gcry_md_hash_buffer
    - gpg_error_from_syserror
    - gpg_error
    - strchr
    - log_info
    - xfree
    - make_filename_try
    - mailbox_from_userid
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t wks_fname_from_userid (const char *userid, int hash_only,\n
      \                      char **r_fname, char **r_addrspec)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/tools/wks-util.c:1041,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:1043,1
    - Dst: strchr
      Src: /src/gnupg/tools/wks-util.c:1045,1
    - Dst: strchr
      Src: /src/gnupg/tools/wks-util.c:1045,1
    - Dst: log_info
      Src: /src/gnupg/tools/wks-util.c:1047,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:1048,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/tools/wks-util.c:1051,1
    - Dst: zb32_encode
      Src: /src/gnupg/tools/wks-util.c:1052,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:1054,1
    - Dst: make_filename_try
      Src: /src/gnupg/tools/wks-util.c:1057,1
    - Dst: gnupg_stat
      Src: /src/gnupg/tools/wks-util.c:1058,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/tools/wks-util.c:1059,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/tools/wks-util.c:1060,1
    - Dst: log_info
      Src: /src/gnupg/tools/wks-util.c:1061,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:1062,1
    - Dst: make_filename_try
      Src: /src/gnupg/tools/wks-util.c:1063,1
    - Dst: gnupg_stat
      Src: /src/gnupg/tools/wks-util.c:1064,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/tools/wks-util.c:1065,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/tools/wks-util.c:1066,1
    - Dst: log_info
      Src: /src/gnupg/tools/wks-util.c:1067,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:1068,1
    - Dst: make_filename_try
      Src: /src/gnupg/tools/wks-util.c:1071,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:1072,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:1075,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:1078,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 2
    argNames:
    - r_fname
    - addrspec
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1080
    functionName: wks_compute_hu_fname
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - zb32_encode
    - gpg_err_code_from_syserror
    - gcry_md_hash_buffer
    - gpg_error_from_syserror
    - gnupg_mkdir
    - gpg_error
    - strchr
    - log_info
    - xfree
    - make_filename_try
    - gnupg_stat
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t wks_compute_hu_fname (char **r_fname, const char *addrspec)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/tools/wks-util.c:1094,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:1096,1
    - Dst: strchr
      Src: /src/gnupg/tools/wks-util.c:1098,1
    - Dst: strchr
      Src: /src/gnupg/tools/wks-util.c:1098,1
    - Dst: log_info
      Src: /src/gnupg/tools/wks-util.c:1100,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:1101,1
    - Dst: make_filename_try
      Src: /src/gnupg/tools/wks-util.c:1105,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:1106,1
    - Dst: gnupg_access
      Src: /src/gnupg/tools/wks-util.c:1111,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:1116,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/wks-util.c:1117,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1121,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:1122,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/wks-util.c:1127,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:1130,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/wks-util.c:1131,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1134,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:1135,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/wks-util.c:1139,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/wks-util.c:1140,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-util.c:1140,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:1142,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1143,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:1143,1
    - Dst: log_info
      Src: /src/gnupg/tools/wks-util.c:1148,1
    - Dst: gnupg_chmod
      Src: /src/gnupg/tools/wks-util.c:1151,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:1153,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1154,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:1155,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:1160,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 1
    argNames:
    - addrspec
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1162
    functionName: ensure_policy_file
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - gpg_error_from_syserror
    - log_error
    - es_fclose
    - gnupg_chmod
    - gnupg_access
    - gpg_error
    - strchr
    - log_info
    - gpg_err_code
    - gpg_strerror
    - make_filename_try
    - es_fopen
    - xfree
    - es_ferror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ensure_policy_file (const char *addrspec)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/wks-util.c:1177,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/wks-util.c:1180,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:1183,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1184,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:1184,1
    - Dst: es_read_line
      Src: /src/gnupg/tools/wks-util.c:1189,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:1193,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1194,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:1194,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/wks-util.c:1198,1
    - Dst: split_fields
      Src: /src/gnupg/tools/wks-util.c:1201,1
    - Dst: DIM
      Src: /src/gnupg/tools/wks-util.c:1201,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1203,1
    - Dst: wks_cmd_install_key
      Src: /src/gnupg/tools/wks-util.c:1207,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/wks-util.c:1211,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:1213,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1214,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:1214,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-util.c:1220,1
    - Dst: es_free
      Src: /src/gnupg/tools/wks-util.c:1221,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1223
    functionName: install_key_from_spec_file
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - split_fields
    - es_fclose
    - DIM
    - es_read_line
    - trim_spaces
    - es_free
    - strcmp
    - gpg_error
    - gpg_strerror
    - es_fopen
    - es_ferror
    - wks_cmd_install_key
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t install_key_from_spec_file (const char *fname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wks_compute_hu_fname
      Src: /src/gnupg/tools/wks-util.c:1234,1
    - Dst: ensure_policy_file
      Src: /src/gnupg/tools/wks-util.c:1240,1
    - Dst: wks_write_to_file
      Src: /src/gnupg/tools/wks-util.c:1245,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1248,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:1248,1
    - Dst: gnupg_chmod
      Src: /src/gnupg/tools/wks-util.c:1253,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1254,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:1255,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/tools/wks-util.c:1255,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:1258,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - key
    - addrspec
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1227
    functionDepth: 2
    functionLinenumber: 1227
    functionLinenumberEnd: 1260
    functionName: wks_install_key_core
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - wks_compute_hu_fname
    - wks_write_to_file
    - gpg_err_code_from_syserror
    - log_error
    - gnupg_chmod
    - gpg_strerror
    - xfree
    - ensure_policy_file
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t wks_install_key_core (estream_t key, const char *addrspec)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: install_key_from_spec_file
      Src: /src/gnupg/tools/wks-util.c:1281,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/tools/wks-util.c:1283,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1286,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:1287,1
    - Dst: classify_user_id
      Src: /src/gnupg/tools/wks-util.c:1291,1
    - Dst: wks_get_key
      Src: /src/gnupg/tools/wks-util.c:1296,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1299,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:1300,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/wks-util.c:1306,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:1309,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1310,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:1310,1
    - Dst: wks_list_key
      Src: /src/gnupg/tools/wks-util.c:1317,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1320,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:1320,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:1321,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/wks-util.c:1331,1
    - Dst: log_info
      Src: /src/gnupg/tools/wks-util.c:1336,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1350,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:1352,1
    - Dst: log_info
      Src: /src/gnupg/tools/wks-util.c:1357,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-util.c:1362,1
    - Dst: wks_filter_uid
      Src: /src/gnupg/tools/wks-util.c:1363,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1366,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:1366,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/wks-util.c:1367,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-util.c:1370,1
    - Dst: es_fseek
      Src: /src/gnupg/tools/wks-util.c:1376,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:1378,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1379,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:1379,1
    - Dst: wks_find_add_revocs
      Src: /src/gnupg/tools/wks-util.c:1382,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1385,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:1386,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/wks-util.c:1389,1
    - Dst: wks_install_key_core
      Src: /src/gnupg/tools/wks-util.c:1392,1
    - Dst: log_info
      Src: /src/gnupg/tools/wks-util.c:1394,1
    - Dst: free_uidinfo_list
      Src: /src/gnupg/tools/wks-util.c:1398,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:1399,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:1400,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/wks-util.c:1401,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 98
    argCount: 2
    argNames:
    - fname
    - userid
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1267
    functionDepth: 3
    functionLinenumber: 1267
    functionLinenumberEnd: 1403
    functionName: wks_cmd_install_key
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 1
    functionsReached:
    - es_fseek
    - es_fopen
    - ascii_strcasecmp
    - log_error
    - wks_find_add_revocs
    - install_key_from_spec_file
    - log_info
    - es_rewind
    - wks_list_key
    - wks_get_key
    - wks_install_key_core
    - gpg_error_from_syserror
    - gpg_error
    - gpg_strerror
    - xfree
    - free_uidinfo_list
    - mailbox_from_userid
    - es_fclose
    - classify_user_id
    - wks_filter_uid
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t wks_cmd_install_key (const char *fname, const char *userid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wks_fname_from_userid
      Src: /src/gnupg/tools/wks-util.c:1414,1
    - Dst: gnupg_remove
      Src: /src/gnupg/tools/wks-util.c:1418,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/wks-util.c:1420,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/wks-util.c:1421,1
    - Dst: log_info
      Src: /src/gnupg/tools/wks-util.c:1424,1
    - Dst: log_inc_errorcount
      Src: /src/gnupg/tools/wks-util.c:1425,1
    - Dst: log_error
      Src: /src/gnupg/tools/wks-util.c:1429,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/wks-util.c:1429,1
    - Dst: log_info
      Src: /src/gnupg/tools/wks-util.c:1434,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:1438,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:1439,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - userid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1407
    functionDepth: 2
    functionLinenumber: 1407
    functionLinenumberEnd: 1441
    functionName: wks_cmd_remove_key
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - log_error
    - log_inc_errorcount
    - wks_fname_from_userid
    - log_info
    - gpg_err_code
    - gpg_strerror
    - xfree
    - gnupg_remove
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t wks_cmd_remove_key (const char *userid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wks_fname_from_userid
      Src: /src/gnupg/tools/wks-util.c:1451,1
    - Dst: es_printf
      Src: /src/gnupg/tools/wks-util.c:1455,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:1457,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:1458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - userid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1445
    functionDepth: 2
    functionLinenumber: 1445
    functionLinenumberEnd: 1460
    functionName: wks_cmd_print_wkd_hash
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - wks_fname_from_userid
    - xfree
    - es_printf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t wks_cmd_print_wkd_hash (const char *userid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wks_fname_from_userid
      Src: /src/gnupg/tools/wks-util.c:1471,1
    - Dst: strchr
      Src: /src/gnupg/tools/wks-util.c:1475,1
    - Dst: es_printf
      Src: /src/gnupg/tools/wks-util.c:1479,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:1482,1
    - Dst: xfree
      Src: /src/gnupg/tools/wks-util.c:1483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - userid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1464
    functionDepth: 2
    functionLinenumber: 1464
    functionLinenumberEnd: 1485
    functionName: wks_cmd_print_wkd_url
    functionSourceFile: /src/gnupg/tools/wks-util.c
    functionUses: 0
    functionsReached:
    - wks_fname_from_userid
    - strchr
    - xfree
    - es_printf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t wks_cmd_print_wkd_url (const char *userid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/gnupg/tools/sockprox.c:78,1
    - Dst: strncpy
      Src: /src/gnupg/tools/sockprox.c:87,1
    - Dst: SUN_LEN
      Src: /src/gnupg/tools/sockprox.c:89,1
    - Dst: remove
      Src: /src/gnupg/tools/sockprox.c:91,1
    - Dst: bind
      Src: /src/gnupg/tools/sockprox.c:93,1
    - Dst: listen
      Src: /src/gnupg/tools/sockprox.c:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - filename
    - new_sock
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 113
    functionName: create_server_socket
    functionSourceFile: /src/gnupg/tools/sockprox.c
    functionUses: 0
    functionsReached:
    - socket
    - strncpy
    - bind
    - remove
    - listen
    - SUN_LEN
    linkageType: ''
    returnType: int
    signature: int create_server_socket (const char *filename, int *new_sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/gnupg/tools/sockprox.c:124,1
    - Dst: memset
      Src: /src/gnupg/tools/sockprox.c:131,1
    - Dst: strncpy
      Src: /src/gnupg/tools/sockprox.c:133,1
    - Dst: SUN_LEN
      Src: /src/gnupg/tools/sockprox.c:135,1
    - Dst: connect
      Src: /src/gnupg/tools/sockprox.c:137,1
    - Dst: close
      Src: /src/gnupg/tools/sockprox.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - filename
    - new_sock
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 151
    functionName: connect_to_socket
    functionSourceFile: /src/gnupg/tools/sockprox.c
    functionUses: 0
    functionsReached:
    - socket
    - strncpy
    - close
    - SUN_LEN
    - memset
    - connect
    linkageType: ''
    returnType: int
    signature: int connect_to_socket (const char *filename, int *new_sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flockfile
      Src: /src/gnupg/tools/sockprox.c:163,1
    - Dst: fprintf
      Src: /src/gnupg/tools/sockprox.c:164,1
    - Dst: fileno
      Src: /src/gnupg/tools/sockprox.c:164,1
    - Dst: fileno
      Src: /src/gnupg/tools/sockprox.c:164,1
    - Dst: fprintf
      Src: /src/gnupg/tools/sockprox.c:166,1
    - Dst: fprintf
      Src: /src/gnupg/tools/sockprox.c:167,1
    - Dst: funlockfile
      Src: /src/gnupg/tools/sockprox.c:168,1
    - Dst: fflush
      Src: /src/gnupg/tools/sockprox.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - data
    - length
    - from
    - to
    - protocol
    argTypes:
    - unsigned char*
    - size_t
    - FILE*
    - FILE*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: log_data
    functionSourceFile: /src/gnupg/tools/sockprox.c
    functionUses: 0
    functionsReached:
    - fileno
    - flockfile
    - fflush
    - fprintf
    - funlockfile
    linkageType: ''
    returnType: int
    signature: "int log_data (unsigned char *data, size_t length,\n\t  FILE *from,
      FILE *to, FILE *protocol)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/gnupg/tools/sockprox.c:191,1
    - Dst: log_data
      Src: /src/gnupg/tools/sockprox.c:195,1
    - Dst: fwrite
      Src: /src/gnupg/tools/sockprox.c:199,1
    - Dst: fflush
      Src: /src/gnupg/tools/sockprox.c:206,1
    - Dst: ferror
      Src: /src/gnupg/tools/sockprox.c:213,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - from
    - to
    - protocol
    argTypes:
    - FILE*
    - FILE*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 218
    functionName: transfer_data
    functionSourceFile: /src/gnupg/tools/sockprox.c
    functionUses: 0
    functionsReached:
    - fwrite
    - log_data
    - fflush
    - fread
    - ferror
    linkageType: ''
    returnType: int
    signature: int transfer_data (FILE *from, FILE *to, FILE *protocol)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/gnupg/tools/sockprox.c:228,1
    - Dst: FD_SET
      Src: /src/gnupg/tools/sockprox.c:229,1
    - Dst: fileno
      Src: /src/gnupg/tools/sockprox.c:229,1
    - Dst: FD_SET
      Src: /src/gnupg/tools/sockprox.c:230,1
    - Dst: fileno
      Src: /src/gnupg/tools/sockprox.c:230,1
    - Dst: select
      Src: /src/gnupg/tools/sockprox.c:240,1
    - Dst: FD_ISSET
      Src: /src/gnupg/tools/sockprox.c:247,1
    - Dst: fileno
      Src: /src/gnupg/tools/sockprox.c:247,1
    - Dst: feof
      Src: /src/gnupg/tools/sockprox.c:249,1
    - Dst: transfer_data
      Src: /src/gnupg/tools/sockprox.c:253,1
    - Dst: FD_ISSET
      Src: /src/gnupg/tools/sockprox.c:255,1
    - Dst: fileno
      Src: /src/gnupg/tools/sockprox.c:255,1
    - Dst: feof
      Src: /src/gnupg/tools/sockprox.c:257,1
    - Dst: transfer_data
      Src: /src/gnupg/tools/sockprox.c:261,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - client
    - server
    - protocol
    argTypes:
    - FILE*
    - FILE*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 269
    functionName: io_loop
    functionSourceFile: /src/gnupg/tools/sockprox.c
    functionUses: 0
    functionsReached:
    - FD_ZERO
    - select
    - transfer_data
    - fileno
    - FD_SET
    - feof
    - FD_ISSET
    linkageType: ''
    returnType: int
    signature: int io_loop (FILE *client, FILE *server, FILE *protocol)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/gnupg/tools/sockprox.c:281,1
    - Dst: fcntl
      Src: /src/gnupg/tools/sockprox.c:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - desc
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 302
    functionName: set_nonblock_flag
    functionSourceFile: /src/gnupg/tools/sockprox.c
    functionUses: 0
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: int
    signature: int set_nonblock_flag (int desc, int value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: connect_to_socket
      Src: /src/gnupg/tools/sockprox.c:321,1
    - Dst: set_nonblock_flag
      Src: /src/gnupg/tools/sockprox.c:326,1
    - Dst: fdopen
      Src: /src/gnupg/tools/sockprox.c:330,1
    - Dst: fdopen
      Src: /src/gnupg/tools/sockprox.c:337,1
    - Dst: io_loop
      Src: /src/gnupg/tools/sockprox.c:344,1
    - Dst: fclose
      Src: /src/gnupg/tools/sockprox.c:349,1
    - Dst: close
      Src: /src/gnupg/tools/sockprox.c:351,1
    - Dst: fclose
      Src: /src/gnupg/tools/sockprox.c:354,1
    - Dst: close
      Src: /src/gnupg/tools/sockprox.c:356,1
    - Dst: free
      Src: /src/gnupg/tools/sockprox.c:358,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 361
    functionName: serve_client
    functionSourceFile: /src/gnupg/tools/sockprox.c
    functionUses: 0
    functionsReached:
    - fdopen
    - fclose
    - close
    - io_loop
    - connect_to_socket
    - set_nonblock_flag
    - free
    linkageType: ''
    returnType: void
    signature: 'void *

      serve_client (void *data)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pthread_attr_init
      Src: /src/gnupg/tools/sockprox.c:378,1
    - Dst: pthread_attr_setdetachstate
      Src: /src/gnupg/tools/sockprox.c:382,1
    - Dst: fopen
      Src: /src/gnupg/tools/sockprox.c:388,1
    - Dst: create_server_socket
      Src: /src/gnupg/tools/sockprox.c:398,1
    - Dst: accept
      Src: /src/gnupg/tools/sockprox.c:406,1
    - Dst: set_nonblock_flag
      Src: /src/gnupg/tools/sockprox.c:416,1
    - Dst: close
      Src: /src/gnupg/tools/sockprox.c:419,1
    - Dst: malloc
      Src: /src/gnupg/tools/sockprox.c:425,1
    - Dst: pthread_create
      Src: /src/gnupg/tools/sockprox.c:434,1
    - Dst: pthread_attr_destroy
      Src: /src/gnupg/tools/sockprox.c:445,1
    - Dst: fclose
      Src: /src/gnupg/tools/sockprox.c:447,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 450
    functionName: run_proxy
    functionSourceFile: /src/gnupg/tools/sockprox.c
    functionUses: 0
    functionsReached:
    - fclose
    - create_server_socket
    - close
    - pthread_attr_destroy
    - fopen
    - pthread_attr_setdetachstate
    - pthread_attr_init
    - accept
    - set_nonblock_flag
    - malloc
    - pthread_create
    linkageType: ''
    returnType: int
    signature: int run_proxy (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/tools/sockprox.c:457,1
    - Dst: exit
      Src: /src/gnupg/tools/sockprox.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: print_help
    functionSourceFile: /src/gnupg/tools/sockprox.c
    functionUses: 0
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: int
    signature: int print_help (int ret)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/gnupg/tools/sockprox.c:481,1
    - Dst: printf
      Src: /src/gnupg/tools/sockprox.c:492,1
    - Dst: printf
      Src: /src/gnupg/tools/sockprox.c:494,1
    - Dst: printf
      Src: /src/gnupg/tools/sockprox.c:495,1
    - Dst: print_help
      Src: /src/gnupg/tools/sockprox.c:515,1
    - Dst: abort
      Src: /src/gnupg/tools/sockprox.c:519,1
    - Dst: printf
      Src: /src/gnupg/tools/sockprox.c:525,1
    - Dst: printf
      Src: /src/gnupg/tools/sockprox.c:526,1
    - Dst: printf
      Src: /src/gnupg/tools/sockprox.c:527,1
    - Dst: print_help
      Src: /src/gnupg/tools/sockprox.c:531,1
    - Dst: run_proxy
      Src: /src/gnupg/tools/sockprox.c:533,1
    - Dst: fprintf
      Src: /src/gnupg/tools/sockprox.c:536,1
    - Dst: strerror
      Src: /src/gnupg/tools/sockprox.c:536,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 544
    functionName: main
    functionSourceFile: /src/gnupg/tools/sockprox.c
    functionUses: 1
    functionsReached:
    - printf
    - run_proxy
    - abort
    - fprintf
    - print_help
    - getopt_long
    - strerror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/tools/card-keys.c:60,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-keys.c:67,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-keys.c:68,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-keys.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - keyblock
    argTypes:
    - keyblock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 74
    functionName: do_release_keyblock
    functionSourceFile: /src/gnupg/tools/card-keys.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void do_release_keyblock (keyblock_t keyblock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/tools/card-keys.c:90,1
    - Dst: do_release_keyblock
      Src: /src/gnupg/tools/card-keys.c:106,1
    - Dst: flush_keyblock_cache
      Src: /src/gnupg/tools/card-keys.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - keyblock
    argTypes:
    - keyblock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 116
    functionName: release_keyblock
    functionSourceFile: /src/gnupg/tools/card-keys.c
    functionUses: 1
    functionsReached:
    - flush_keyblock_cache
    - do_release_keyblock
    - DIM
    linkageType: ''
    returnType: void
    signature: void release_keyblock (keyblock_t keyblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/tools/card-keys.c:125,1
    - Dst: do_release_keyblock
      Src: /src/gnupg/tools/card-keys.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: flush_keyblock_cache
    functionSourceFile: /src/gnupg/tools/card-keys.c
    functionUses: 1
    functionsReached:
    - do_release_keyblock
    - DIM
    linkageType: ''
    returnType: void
    signature: void flush_keyblock_cache (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/tools/card-keys.c:150,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-keys.c:152,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/tools/card-keys.c:153,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/card-keys.c:154,1
    - Dst: atoi
      Src: /src/gnupg/tools/card-keys.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - opaque
    - keyword
    - args
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: status_cb
    functionSourceFile: /src/gnupg/tools/card-keys.c
    functionUses: 0
    functionsReached:
    - atoi
    - strcmp
    - gpg_err_code
    - has_leading_keyword
    - log_debug
    linkageType: ''
    returnType: void
    signature: void status_cb (void *opaque, const char *keyword, char *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/tools/card-keys.c:174,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/card-keys.c:176,1
    - Dst: parse_timestamp
      Src: /src/gnupg/tools/card-keys.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - fields
    - nfields
    - r_pubkey
    argTypes:
    - char**
    - int
    - pubkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: parse_key_record
    functionSourceFile: /src/gnupg/tools/card-keys.c
    functionUses: 0
    functionsReached:
    - parse_timestamp
    - gpg_error_from_syserror
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_key_record (char **fields, int nfields, pubkey_t
      *r_pubkey)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: get_matching_keys
      Src: /src/gnupg/tools/card-keys.c:221,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/card-keys.c:222,1
    - Dst: get_matching_keys
      Src: /src/gnupg/tools/card-keys.c:230,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/card-keys.c:237,1
    - Dst: release_keyblock
      Src: /src/gnupg/tools/card-keys.c:241,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-keys.c:249,1
    - Dst: DIM
      Src: /src/gnupg/tools/card-keys.c:252,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-keys.c:256,1
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/card-keys.c:264,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/card-keys.c:267,1
    - Dst: log_error
      Src: /src/gnupg/tools/card-keys.c:268,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/card-keys.c:268,1
    - Dst: bin2hex
      Src: /src/gnupg/tools/card-keys.c:276,1
    - Dst: ccparray_init
      Src: /src/gnupg/tools/card-keys.c:278,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:281,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:283,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:284,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:285,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:286,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:287,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:288,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:289,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:290,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:292,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/card-keys.c:293,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/card-keys.c:296,1
    - Dst: gnupg_exec_tool_stream
      Src: /src/gnupg/tools/card-keys.c:299,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-keys.c:306,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/card-keys.c:307,1
    - Dst: log_error
      Src: /src/gnupg/tools/card-keys.c:308,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/card-keys.c:308,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/card-keys.c:312,1
    - Dst: es_read_line
      Src: /src/gnupg/tools/card-keys.c:315,1
    - Dst: log_error
      Src: /src/gnupg/tools/card-keys.c:319,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-keys.c:320,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-keys.c:327,1
    - Dst: strtokenize
      Src: /src/gnupg/tools/card-keys.c:328,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/card-keys.c:331,1
    - Dst: log_error
      Src: /src/gnupg/tools/card-keys.c:332,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/card-keys.c:332,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-keys.c:339,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-keys.c:345,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-keys.c:345,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-keys.c:346,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-keys.c:346,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-keys.c:351,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-keys.c:351,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-keys.c:352,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-keys.c:352,1
    - Dst: xtrycalloc
      Src: /src/gnupg/tools/card-keys.c:359,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/card-keys.c:362,1
    - Dst: parse_key_record
      Src: /src/gnupg/tools/card-keys.c:366,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-keys.c:372,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-keys.c:372,1
    - Dst: log_assert
      Src: /src/gnupg/tools/card-keys.c:374,1
    - Dst: parse_key_record
      Src: /src/gnupg/tools/card-keys.c:375,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-keys.c:383,1
    - Dst: log_assert
      Src: /src/gnupg/tools/card-keys.c:385,1
    - Dst: strlen
      Src: /src/gnupg/tools/card-keys.c:386,1
    - Dst: log_debug
      Src: /src/gnupg/tools/card-keys.c:389,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-keys.c:390,1
    - Dst: log_debug
      Src: /src/gnupg/tools/card-keys.c:399,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-keys.c:400,1
    - Dst: log_assert
      Src: /src/gnupg/tools/card-keys.c:403,1
    - Dst: hex2bin
      Src: /src/gnupg/tools/card-keys.c:405,1
    - Dst: log_debug
      Src: /src/gnupg/tools/card-keys.c:407,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-keys.c:408,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-keys.c:412,1
    - Dst: log_assert
      Src: /src/gnupg/tools/card-keys.c:414,1
    - Dst: strlen
      Src: /src/gnupg/tools/card-keys.c:415,1
    - Dst: log_debug
      Src: /src/gnupg/tools/card-keys.c:418,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-keys.c:419,1
    - Dst: log_debug
      Src: /src/gnupg/tools/card-keys.c:428,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-keys.c:429,1
    - Dst: hex2bin
      Src: /src/gnupg/tools/card-keys.c:432,1
    - Dst: log_debug
      Src: /src/gnupg/tools/card-keys.c:434,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-keys.c:435,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-keys.c:439,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-keys.c:442,1
    - Dst: xtrycalloc
      Src: /src/gnupg/tools/card-keys.c:446,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/card-keys.c:449,1
    - Dst: decode_c_string
      Src: /src/gnupg/tools/card-keys.c:452,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/card-keys.c:455,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-keys.c:456,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/card-keys.c:469,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/card-keys.c:471,1
    - Dst: log_error
      Src: /src/gnupg/tools/card-keys.c:472,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-keys.c:484,1
    - Dst: release_keyblock
      Src: /src/gnupg/tools/card-keys.c:488,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-keys.c:491,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-keys.c:492,1
    - Dst: es_free
      Src: /src/gnupg/tools/card-keys.c:493,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-keys.c:494,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/card-keys.c:495,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 237
    argCount: 3
    argNames:
    - keygrip
    - protocol
    - r_keyblock
    argTypes:
    - unsigned char*
    - int
    - keyblock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 497
    functionName: get_matching_keys
    functionSourceFile: /src/gnupg/tools/card-keys.c
    functionUses: 1
    functionsReached:
    - ccparray_put
    - log_assert
    - strlen
    - gnupg_exec_tool_stream
    - get_matching_keys
    - es_fopenmem
    - log_error
    - es_free
    - DIM
    - es_rewind
    - hex2bin
    - es_ferror
    - log_debug
    - ccparray_get
    - gpg_error_from_syserror
    - es_read_line
    - strcmp
    - gpg_error
    - gpg_strerror
    - xfree
    - xtrycalloc
    - release_keyblock
    - bin2hex
    - es_fclose
    - decode_c_string
    - strtokenize
    - ccparray_init
    - memcmp
    - gpg_err_code
    - parse_key_record
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_matching_keys (const unsigned char *keygrip, int protocol,\n
      \                  keyblock_t *r_keyblock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/tools/card-keys.c:509,1
    - Dst: log_info
      Src: /src/gnupg/tools/card-keys.c:513,1
    - Dst: log_printhex
      Src: /src/gnupg/tools/card-keys.c:515,1
    - Dst: log_printf
      Src: /src/gnupg/tools/card-keys.c:516,1
    - Dst: log_info
      Src: /src/gnupg/tools/card-keys.c:518,1
    - Dst: log_printhex
      Src: /src/gnupg/tools/card-keys.c:519,1
    - Dst: log_info
      Src: /src/gnupg/tools/card-keys.c:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - keyblock
    argTypes:
    - keyblock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 526
    functionName: dump_keyblock
    functionSourceFile: /src/gnupg/tools/card-keys.c
    functionUses: 0
    functionsReached:
    - log_printf
    - log_info
    - log_printhex
    linkageType: ''
    returnType: void
    signature: void dump_keyblock (keyblock_t keyblock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/tools/card-keys.c:537,1
    - Dst: log_error
      Src: /src/gnupg/tools/card-keys.c:539,1
    - Dst: hex2bin
      Src: /src/gnupg/tools/card-keys.c:542,1
    - Dst: log_error
      Src: /src/gnupg/tools/card-keys.c:544,1
    - Dst: get_matching_keys
      Src: /src/gnupg/tools/card-keys.c:547,1
    - Dst: log_error
      Src: /src/gnupg/tools/card-keys.c:552,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/card-keys.c:552,1
    - Dst: dump_keyblock
      Src: /src/gnupg/tools/card-keys.c:556,1
    - Dst: release_keyblock
      Src: /src/gnupg/tools/card-keys.c:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - hexgrip
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 559
    functionName: test_get_matching_keys
    functionSourceFile: /src/gnupg/tools/card-keys.c
    functionUses: 0
    functionsReached:
    - dump_keyblock
    - log_error
    - strlen
    - release_keyblock
    - gpg_strerror
    - hex2bin
    - get_matching_keys
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t test_get_matching_keys (const char *hexgrip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/card-keys.c:577,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-keys.c:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - opaque
    - keyword
    - args
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 583
    functionName: export_key_status_cb
    functionSourceFile: /src/gnupg/tools/card-keys.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ascii_strcasecmp
    linkageType: ''
    returnType: void
    signature: void export_key_status_cb (void *opaque, const char *keyword, char
      *args)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/card-keys.c:599,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/card-keys.c:602,1
    - Dst: log_error
      Src: /src/gnupg/tools/card-keys.c:603,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/card-keys.c:603,1
    - Dst: ccparray_init
      Src: /src/gnupg/tools/card-keys.c:607,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:609,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:611,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:613,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:614,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:615,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:616,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:617,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:618,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:619,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:620,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:621,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/card-keys.c:623,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/card-keys.c:624,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/card-keys.c:627,1
    - Dst: gnupg_exec_tool_stream
      Src: /src/gnupg/tools/card-keys.c:631,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-keys.c:635,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-keys.c:637,1
    - Dst: log_error
      Src: /src/gnupg/tools/card-keys.c:640,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/card-keys.c:640,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/card-keys.c:644,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/card-keys.c:649,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-keys.c:650,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - r_key
    - fingerprint
    argTypes:
    - estream_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 652
    functionName: get_minimal_openpgp_key
    functionSourceFile: /src/gnupg/tools/card-keys.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - ccparray_get
    - ccparray_put
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - ccparray_init
    - gpg_error
    - gpg_strerror
    - es_rewind
    - xfree
    - gnupg_exec_tool_stream
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_minimal_openpgp_key (estream_t *r_key, const char *fingerprint)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/tools/gpg-pair-tool.c:272,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 286
    functionName: my_strusage
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage( int level )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-pair-tool.c:292,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-pair-tool.c:292,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/tools/gpg-pair-tool.c:293,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-pair-tool.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 295
    functionName: wrong_args
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - gpgrt_strusage
    - exit
    - es_fprintf
    - _
    linkageType: ''
    returnType: void
    signature: void wrong_args (const char *text)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-pair-tool.c:308,1
    - Dst: es_fdopen
      Src: /src/gnupg/tools/gpg-pair-tool.c:318,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:321,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:322,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-pair-tool.c:322,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 325
    functionName: set_status_fd
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_syserror
    - es_fclose
    - log_fatal
    - gpg_strerror
    - es_fdopen
    linkageType: ''
    returnType: void
    signature: void set_status_fd (int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpg-pair-tool.c:339,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpg-pair-tool.c:340,1
    - Dst: get_status_string
      Src: /src/gnupg/tools/gpg-pair-tool.c:340,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpg-pair-tool.c:343,1
    - Dst: va_start
      Src: /src/gnupg/tools/gpg-pair-tool.c:344,1
    - Dst: es_vfprintf
      Src: /src/gnupg/tools/gpg-pair-tool.c:345,1
    - Dst: va_end
      Src: /src/gnupg/tools/gpg-pair-tool.c:346,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpg-pair-tool.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - 'no'
    - format
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 349
    functionName: write_status
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - va_end
    - es_vfprintf
    - es_putc
    - get_status_string
    - va_start
    - es_fputs
    linkageType: ''
    returnType: void
    signature: void write_status (int no, const char *format, ...)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_reopen_std
      Src: /src/gnupg/tools/gpg-pair-tool.c:363,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/tools/gpg-pair-tool.c:364,1
    - Dst: log_set_prefix
      Src: /src/gnupg/tools/gpg-pair-tool.c:365,1
    - Dst: i18n_init
      Src: /src/gnupg/tools/gpg-pair-tool.c:368,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/tools/gpg-pair-tool.c:369,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpg-pair-tool.c:372,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/tools/gpg-pair-tool.c:381,1
    - Dst: set_status_fd
      Src: /src/gnupg/tools/gpg-pair-tool.c:393,1
    - Dst: translate_sys2libc_fd_int
      Src: /src/gnupg/tools/gpg-pair-tool.c:393,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/tools/gpg-pair-tool.c:397,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:409,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-pair-tool.c:409,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpg-pair-tool.c:417,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:426,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpg-pair-tool.c:428,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-pair-tool.c:432,1
    - Dst: digitp
      Src: /src/gnupg/tools/gpg-pair-tool.c:433,1
    - Dst: digitp
      Src: /src/gnupg/tools/gpg-pair-tool.c:433,1
    - Dst: digitp
      Src: /src/gnupg/tools/gpg-pair-tool.c:433,1
    - Dst: digitp
      Src: /src/gnupg/tools/gpg-pair-tool.c:435,1
    - Dst: digitp
      Src: /src/gnupg/tools/gpg-pair-tool.c:435,1
    - Dst: digitp
      Src: /src/gnupg/tools/gpg-pair-tool.c:435,1
    - Dst: digitp
      Src: /src/gnupg/tools/gpg-pair-tool.c:437,1
    - Dst: digitp
      Src: /src/gnupg/tools/gpg-pair-tool.c:437,1
    - Dst: digitp
      Src: /src/gnupg/tools/gpg-pair-tool.c:437,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:438,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-pair-tool.c:442,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-pair-tool.c:443,1
    - Dst: gcry_control
      Src: /src/gnupg/tools/gpg-pair-tool.c:446,1
    - Dst: wrong_args
      Src: /src/gnupg/tools/gpg-pair-tool.c:454,1
    - Dst: command_initiate
      Src: /src/gnupg/tools/gpg-pair-tool.c:455,1
    - Dst: wrong_args
      Src: /src/gnupg/tools/gpg-pair-tool.c:460,1
    - Dst: command_respond
      Src: /src/gnupg/tools/gpg-pair-tool.c:461,1
    - Dst: wrong_args
      Src: /src/gnupg/tools/gpg-pair-tool.c:466,1
    - Dst: command_get
      Src: /src/gnupg/tools/gpg-pair-tool.c:467,1
    - Dst: wrong_args
      Src: /src/gnupg/tools/gpg-pair-tool.c:472,1
    - Dst: command_cleanup
      Src: /src/gnupg/tools/gpg-pair-tool.c:473,1
    - Dst: gpgrt_usage
      Src: /src/gnupg/tools/gpg-pair-tool.c:477,1
    - Dst: write_status
      Src: /src/gnupg/tools/gpg-pair-tool.c:483,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-pair-tool.c:484,1
    - Dst: write_status
      Src: /src/gnupg/tools/gpg-pair-tool.c:485,1
    - Dst: write_status
      Src: /src/gnupg/tools/gpg-pair-tool.c:487,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-pair-tool.c:488,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 96
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 489
    functionName: main
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 1
    functionsReached:
    - init_common_subsystems
    - strlen
    - digitp
    - exit
    - translate_sys2libc_fd_int
    - set_status_fd
    - command_initiate
    - gpgrt_set_strusage
    - gnupg_set_homedir
    - log_error
    - gpgrt_usage
    - log_set_prefix
    - command_respond
    - _
    - log_get_errorcount
    - write_status
    - log_info
    - parse_debug_flag
    - command_get
    - gnupg_reopen_std
    - gcry_control
    - wrong_args
    - gpgrt_argparse
    - i18n_init
    - command_cleanup
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nvc_new
      Src: /src/gnupg/tools/gpg-pair-tool.c:497,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:499,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:500,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-pair-tool.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 502
    functionName: xnvc_new
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - nvc_new
    - log_fatal
    - gpg_strerror
    - gpg_error_from_syserror
    linkageType: ''
    returnType: nvc_t
    signature: nvc_t xnvc_new (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nvc_set
      Src: /src/gnupg/tools/gpg-pair-tool.c:508,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:510,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - nvc
    - name
    - value
    argTypes:
    - nvc_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 511
    functionName: xnvc_set
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - log_fatal
    - gpg_strerror
    - nvc_set
    linkageType: ''
    returnType: void
    signature: void xnvc_set (nvc_t nvc, const char *name, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bin2hex
      Src: /src/gnupg/tools/gpg-pair-tool.c:520,1
    - Dst: xoutofcore
      Src: /src/gnupg/tools/gpg-pair-tool.c:522,1
    - Dst: strlwr
      Src: /src/gnupg/tools/gpg-pair-tool.c:523,1
    - Dst: xnvc_set
      Src: /src/gnupg/tools/gpg-pair-tool.c:524,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-pair-tool.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - nvc
    - name
    - buffer
    - buflen
    argTypes:
    - nvc_t
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 526
    functionName: xnvc_set_hex
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - strlwr
    - xnvc_set
    - bin2hex
    - xfree
    - xoutofcore
    linkageType: ''
    returnType: void
    signature: void xnvc_set_hex (nvc_t nvc, const char *name, const void *buffer,
      size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/tools/gpg-pair-tool.c:536,1
    - Dst: gpgrt_vasprintf
      Src: /src/gnupg/tools/gpg-pair-tool.c:537,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:538,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:539,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-pair-tool.c:539,1
    - Dst: va_end
      Src: /src/gnupg/tools/gpg-pair-tool.c:540,1
    - Dst: xnvc_set
      Src: /src/gnupg/tools/gpg-pair-tool.c:541,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-pair-tool.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - nvc
    - name
    - format
    argTypes:
    - nvc_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 543
    functionName: xnvc_set_printf
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - xnvc_set
    - va_end
    - gpgrt_vasprintf
    - gpg_error_from_syserror
    - log_fatal
    - gpg_strerror
    - xfree
    - va_start
    linkageType: ''
    returnType: void
    signature: void xnvc_set_printf (nvc_t nvc, const char *name, const char *format,
      ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nvc_lookup
      Src: /src/gnupg/tools/gpg-pair-tool.c:556,1
    - Dst: nve_value
      Src: /src/gnupg/tools/gpg-pair-tool.c:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - nvc
    - name
    argTypes:
    - nvc_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 560
    functionName: xnvc_get_string
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - nve_value
    - nvc_lookup
    linkageType: ''
    returnType: char
    signature: 'char *

      xnvc_get_string (nvc_t nvc, const char *name)'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - msgtype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 576
    functionName: msgtypestr
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      msgtypestr (int msgtype)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_create_nonce
      Src: /src/gnupg/tools/gpg-pair-tool.c:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 597
    functionName: get_session_id
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - gcry_create_nonce
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      get_session_id (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-pair-tool.c:602,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-pair-tool.c:605,1
    - Dst: memset
      Src: /src/gnupg/tools/gpg-pair-tool.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sessid
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 609
    functionName: set_session_id
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - log_assert
    linkageType: ''
    returnType: void
    signature: void set_session_id (const void *sessid, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bin2hex
      Src: /src/gnupg/tools/gpg-pair-tool.c:617,1
    - Dst: get_session_id
      Src: /src/gnupg/tools/gpg-pair-tool.c:617,1
    - Dst: strlwr
      Src: /src/gnupg/tools/gpg-pair-tool.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 620
    functionName: get_session_id_hex
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - bin2hex
    - strlwr
    - get_session_id
    linkageType: ''
    returnType: char
    signature: 'char *

      get_session_id_hex (void)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/tools/gpg-pair-tool.c:638,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpg-pair-tool.c:638,1
    - Dst: gnupg_stat
      Src: /src/gnupg/tools/gpg-pair-tool.c:639,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/tools/gpg-pair-tool.c:641,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-pair-tool.c:643,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:644,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-pair-tool.c:644,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:645,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:648,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-pair-tool.c:648,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpg-pair-tool.c:651,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-pair-tool.c:652,1
    - Dst: gnupg_stat
      Src: /src/gnupg/tools/gpg-pair-tool.c:654,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/tools/gpg-pair-tool.c:656,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-pair-tool.c:660,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:661,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-pair-tool.c:661,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:662,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:666,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-pair-tool.c:666,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 670
    functionName: get_pairing_statedir
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - make_filename
    - gpg_error_from_syserror
    - log_error
    - gnupg_mkdir
    - gnupg_homedir
    - _
    - gpg_strerror
    - log_info
    - xfree
    - gnupg_stat
    linkageType: ''
    returnType: char
    signature: 'char *

      get_pairing_statedir (void)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bin2hex
      Src: /src/gnupg/tools/gpg-pair-tool.c:692,1
    - Dst: xoutofcore
      Src: /src/gnupg/tools/gpg-pair-tool.c:694,1
    - Dst: strlwr
      Src: /src/gnupg/tools/gpg-pair-tool.c:695,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpg-pair-tool.c:696,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-pair-tool.c:697,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpg-pair-tool.c:698,1
    - Dst: get_pairing_statedir
      Src: /src/gnupg/tools/gpg-pair-tool.c:698,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-pair-tool.c:699,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpg-pair-tool.c:702,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-pair-tool.c:705,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:712,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:712,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-pair-tool.c:714,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:720,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:720,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-pair-tool.c:727,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - sessionid
    - create_flag
    - r_fname
    argTypes:
    - unsigned char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 730
    functionName: open_pairing_state
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - strlwr
    - make_filename
    - gpg_error_from_syserror
    - xstrconcat
    - bin2hex
    - log_fatal
    - xfree
    - es_fopen
    - gpg_strerror
    - gpg_err_code
    - xoutofcore
    - get_pairing_statedir
    linkageType: ''
    returnType: estream_t
    signature: "estream_t open_pairing_state (const unsigned char *sessionid, int
      create_flag,\n                    char **r_fname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open_pairing_state
      Src: /src/gnupg/tools/gpg-pair-tool.c:741,1
    - Dst: get_session_id
      Src: /src/gnupg/tools/gpg-pair-tool.c:741,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-pair-tool.c:742,1
    - Dst: nvc_write
      Src: /src/gnupg/tools/gpg-pair-tool.c:744,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-pair-tool.c:747,1
    - Dst: gnupg_remove
      Src: /src/gnupg/tools/gpg-pair-tool.c:748,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:749,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:749,1
    - Dst: ftruncate
      Src: /src/gnupg/tools/gpg-pair-tool.c:753,1
    - Dst: es_fileno
      Src: /src/gnupg/tools/gpg-pair-tool.c:753,1
    - Dst: es_ftello
      Src: /src/gnupg/tools/gpg-pair-tool.c:753,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-pair-tool.c:755,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:756,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:756,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/gpg-pair-tool.c:758,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-pair-tool.c:758,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-pair-tool.c:760,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-pair-tool.c:761,1
    - Dst: gnupg_remove
      Src: /src/gnupg/tools/gpg-pair-tool.c:762,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:763,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - state
    - create_flag
    argTypes:
    - nvc_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 734
    functionDepth: 3
    functionLinenumber: 734
    functionLinenumberEnd: 765
    functionName: write_state
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - ftruncate
    - log_assert
    - gpg_error_from_syserror
    - es_fclose
    - log_fatal
    - open_pairing_state
    - es_ftello
    - get_session_id
    - es_fileno
    - gpg_strerror
    - nvc_write
    - es_ferror
    - gnupg_remove
    linkageType: ''
    returnType: void
    signature: void write_state (nvc_t state, int create_flag)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: open_pairing_state
      Src: /src/gnupg/tools/gpg-pair-tool.c:785,1
    - Dst: get_session_id
      Src: /src/gnupg/tools/gpg-pair-tool.c:785,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:787,1
    - Dst: nvc_parse
      Src: /src/gnupg/tools/gpg-pair-tool.c:789,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:792,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:793,1
    - Dst: nvc_lookup
      Src: /src/gnupg/tools/gpg-pair-tool.c:798,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:801,1
    - Dst: nve_value
      Src: /src/gnupg/tools/gpg-pair-tool.c:805,1
    - Dst: strtoul
      Src: /src/gnupg/tools/gpg-pair-tool.c:806,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:808,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/tools/gpg-pair-tool.c:812,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-pair-tool.c:814,1
    - Dst: gnupg_remove
      Src: /src/gnupg/tools/gpg-pair-tool.c:816,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-pair-tool.c:818,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:819,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:820,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:823,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:824,1
    - Dst: nvc_release
      Src: /src/gnupg/tools/gpg-pair-tool.c:832,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-pair-tool.c:833,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - r_state
    argTypes:
    - nvc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 772
    functionDepth: 3
    functionLinenumber: 772
    functionLinenumberEnd: 835
    functionName: read_state
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - gnupg_get_time
    - nvc_parse
    - gpg_error_from_syserror
    - es_fclose
    - nvc_release
    - open_pairing_state
    - get_session_id
    - gpg_error
    - nve_value
    - log_info
    - gpg_strerror
    - nvc_lookup
    - gnupg_remove
    - strtoul
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_state (nvc_t *r_state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:845,1
    - Dst: get_session_id_hex
      Src: /src/gnupg/tools/gpg-pair-tool.c:846,1
    - Dst: msgtypestr
      Src: /src/gnupg/tools/gpg-pair-tool.c:846,1
    - Dst: log_printhex
      Src: /src/gnupg/tools/gpg-pair-tool.c:849,1
    - Dst: msgtypestr
      Src: /src/gnupg/tools/gpg-pair-tool.c:849,1
    - Dst: gpgrt_b64enc_start
      Src: /src/gnupg/tools/gpg-pair-tool.c:856,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:858,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:859,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-pair-tool.c:859,1
    - Dst: gpgrt_b64enc_write
      Src: /src/gnupg/tools/gpg-pair-tool.c:860,1
    - Dst: gpgrt_b64enc_finish
      Src: /src/gnupg/tools/gpg-pair-tool.c:862,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:864,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:864,1
    - Dst: es_fwrite
      Src: /src/gnupg/tools/gpg-pair-tool.c:868,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:869,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:870,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-pair-tool.c:870,1
    - Dst: es_fputc
      Src: /src/gnupg/tools/gpg-pair-tool.c:872,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 839
    functionDepth: 2
    functionLinenumber: 839
    functionLinenumberEnd: 873
    functionName: send_message
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - log_printhex
    - gpg_error_from_syserror
    - es_fputc
    - gpgrt_b64enc_write
    - get_session_id_hex
    - log_fatal
    - gpgrt_b64enc_finish
    - log_info
    - gpg_strerror
    - es_fwrite
    - msgtypestr
    - gpgrt_b64enc_start
    linkageType: ''
    returnType: void
    signature: void send_message (const unsigned char *msg, size_t msglen)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: es_setvbuf
      Src: /src/gnupg/tools/gpg-pair-tool.c:894,1
    - Dst: es_set_binary
      Src: /src/gnupg/tools/gpg-pair-tool.c:895,1
    - Dst: es_read
      Src: /src/gnupg/tools/gpg-pair-tool.c:897,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-pair-tool.c:899,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:900,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:900,1
    - Dst: memcmp
      Src: /src/gnupg/tools/gpg-pair-tool.c:904,1
    - Dst: gpgrt_b64dec_start
      Src: /src/gnupg/tools/gpg-pair-tool.c:907,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:909,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:910,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-pair-tool.c:910,1
    - Dst: gpgrt_b64dec_proc
      Src: /src/gnupg/tools/gpg-pair-tool.c:911,1
    - Dst: gpgrt_b64dec_finish
      Src: /src/gnupg/tools/gpg-pair-tool.c:912,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:915,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:915,1
    - Dst: memcmp
      Src: /src/gnupg/tools/gpg-pair-tool.c:920,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:922,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:924,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:934,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:935,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:939,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:940,1
    - Dst: log_printhex
      Src: /src/gnupg/tools/gpg-pair-tool.c:944,1
    - Dst: msgtypestr
      Src: /src/gnupg/tools/gpg-pair-tool.c:944,1
    - Dst: set_session_id
      Src: /src/gnupg/tools/gpg-pair-tool.c:949,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:952,1
    - Dst: get_session_id_hex
      Src: /src/gnupg/tools/gpg-pair-tool.c:953,1
    - Dst: msgtypestr
      Src: /src/gnupg/tools/gpg-pair-tool.c:953,1
    - Dst: read_state
      Src: /src/gnupg/tools/gpg-pair-tool.c:956,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-pair-tool.c:957,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpg-pair-tool.c:960,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-pair-tool.c:961,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 4
    argNames:
    - r_msg
    - r_msglen
    - r_msgtype
    - r_state
    argTypes:
    - unsigned char**
    - size_t*
    - int*
    - nvc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 882
    functionDepth: 4
    functionLinenumber: 882
    functionLinenumberEnd: 965
    functionName: read_message
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - gpgrt_b64dec_proc
    - gpgrt_b64dec_start
    - xmalloc
    - es_read
    - memcpy
    - es_setvbuf
    - log_printhex
    - log_error
    - get_session_id_hex
    - gpgrt_b64dec_finish
    - read_state
    - log_info
    - es_set_binary
    - gpg_error_from_syserror
    - set_session_id
    - gpg_error
    - gpg_strerror
    - msgtypestr
    - log_fatal
    - memcmp
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t read_message (unsigned char **r_msg, size_t *r_msglen,
      int *r_msgtype,\n              nvc_t *r_state)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-pair-tool.c:985,1
    - Dst: snprintf
      Src: /src/gnupg/tools/gpg-pair-tool.c:992,1
    - Dst: memmove
      Src: /src/gnupg/tools/gpg-pair-tool.c:993,1
    - Dst: memmove
      Src: /src/gnupg/tools/gpg-pair-tool.c:994,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:999,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:1001,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:1002,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:1003,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:1004,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-pair-tool.c:1008,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1009,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:1011,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:1015,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1015,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - hash
    - hashlen
    - wait
    argTypes:
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 1017
    functionName: display_sas
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - memmove
    - log_assert
    - snprintf
    - strcmp
    - gpg_error
    - log_info
    - gpg_strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t display_sas (const unsigned char *hash, size_t hashlen,
      int wait)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1031,1
    - Dst: gcry_ecc_get_algo_keylen
      Src: /src/gnupg/tools/gpg-pair-tool.c:1033,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1034,1
    - Dst: gcry_random_bytes
      Src: /src/gnupg/tools/gpg-pair-tool.c:1036,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1038,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-pair-tool.c:1040,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-pair-tool.c:1041,1
    - Dst: gcry_ecc_mul_point
      Src: /src/gnupg/tools/gpg-pair-tool.c:1043,1
    - Dst: log_printhex
      Src: /src/gnupg/tools/gpg-pair-tool.c:1049,1
    - Dst: log_printhex
      Src: /src/gnupg/tools/gpg-pair-tool.c:1050,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - dh_secret
    - dh_secret_len
    - dh_public
    - dh_public_len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1054
    functionName: create_dh_keypair
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - gcry_ecc_mul_point
    - log_printhex
    - gpg_error_from_syserror
    - gcry_random_bytes
    - gpg_error
    - xfree
    - memcpy
    - gcry_ecc_get_algo_keylen
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t create_dh_keypair (unsigned char *dh_secret, size_t dh_secret_len,\n
      \                  unsigned char *dh_public, size_t dh_public_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-pair-tool.c:1071,1
    - Dst: gcry_md_open
      Src: /src/gnupg/tools/gpg-pair-tool.c:1073,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:1075,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1075,1
    - Dst: va_start
      Src: /src/gnupg/tools/gpg-pair-tool.c:1078,1
    - Dst: va_arg
      Src: /src/gnupg/tools/gpg-pair-tool.c:1079,1
    - Dst: va_arg
      Src: /src/gnupg/tools/gpg-pair-tool.c:1081,1
    - Dst: gcry_md_write
      Src: /src/gnupg/tools/gpg-pair-tool.c:1083,1
    - Dst: va_end
      Src: /src/gnupg/tools/gpg-pair-tool.c:1085,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-pair-tool.c:1087,1
    - Dst: gcry_md_read
      Src: /src/gnupg/tools/gpg-pair-tool.c:1087,1
    - Dst: gcry_md_close
      Src: /src/gnupg/tools/gpg-pair-tool.c:1090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - result
    - resultsize
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1093
    functionName: hash_data
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_md_open
    - va_end
    - log_assert
    - log_fatal
    - gpg_strerror
    - va_start
    - va_arg
    - gcry_md_close
    - gcry_md_read
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void *

      hash_data (void *result, size_t resultsize, ...)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-pair-tool.c:1112,1
    - Dst: gcry_mac_open
      Src: /src/gnupg/tools/gpg-pair-tool.c:1114,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:1116,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1116,1
    - Dst: gcry_mac_setkey
      Src: /src/gnupg/tools/gpg-pair-tool.c:1117,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:1119,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1119,1
    - Dst: va_start
      Src: /src/gnupg/tools/gpg-pair-tool.c:1122,1
    - Dst: va_arg
      Src: /src/gnupg/tools/gpg-pair-tool.c:1123,1
    - Dst: va_arg
      Src: /src/gnupg/tools/gpg-pair-tool.c:1125,1
    - Dst: gcry_mac_write
      Src: /src/gnupg/tools/gpg-pair-tool.c:1127,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:1129,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1129,1
    - Dst: va_end
      Src: /src/gnupg/tools/gpg-pair-tool.c:1131,1
    - Dst: gcry_mac_read
      Src: /src/gnupg/tools/gpg-pair-tool.c:1133,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:1135,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1135,1
    - Dst: gcry_mac_close
      Src: /src/gnupg/tools/gpg-pair-tool.c:1138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - result
    - resultsize
    - key
    - keylen
    argTypes:
    - void*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1141
    functionName: hmac_data
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - va_end
    - log_assert
    - log_fatal
    - gcry_mac_read
    - gcry_mac_setkey
    - gpg_strerror
    - va_start
    - va_arg
    - gcry_mac_close
    - gcry_mac_open
    - gcry_mac_write
    linkageType: ''
    returnType: void
    signature: "void *\nhmac_data (void *result, size_t resultsize,\n           const
      unsigned char *key, size_t keylen, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-pair-tool.c:1155,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-pair-tool.c:1156,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-pair-tool.c:1157,1
    - Dst: hmac_data
      Src: /src/gnupg/tools/gpg-pair-tool.c:1159,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-pair-tool.c:1161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 9
    argNames:
    - result
    - resultlen
    - master
    - masterlen
    - sessionid
    - sessionidlen
    - expire
    - expirelen
    - label
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1148
    functionDepth: 2
    functionLinenumber: 1148
    functionLinenumberEnd: 1166
    functionName: kdf
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - hmac_data
    - strlen
    - log_assert
    linkageType: ''
    returnType: void
    signature: "void kdf (unsigned char *result, size_t resultlen,\n     const unsigned
      char *master, size_t masterlen,\n     const unsigned char *sessionid, size_t
      sessionidlen,\n     const unsigned char *expire, size_t expirelen,\n     const
      char *label)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-pair-tool.c:1176,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-pair-tool.c:1177,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-pair-tool.c:1178,1
    - Dst: gcry_ecc_mul_point
      Src: /src/gnupg/tools/gpg-pair-tool.c:1180,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1182,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - master
    - masterlen
    - sk_a
    - sk_a_len
    - pk_b
    - pk_b_len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1185
    functionName: compute_master_secret
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_strerror
    - gcry_ecc_mul_point
    - log_assert
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t compute_master_secret (unsigned char *master, size_t masterlen,\n
      \                      const unsigned char *sk_a, size_t sk_a_len,\n                       const
      unsigned char *pk_b, size_t pk_b_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_dh_keypair
      Src: /src/gnupg/tools/gpg-pair-tool.c:1201,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1203,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1203,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/tools/gpg-pair-tool.c:1205,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpg-pair-tool.c:1209,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-pair-tool.c:1210,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-pair-tool.c:1212,1
    - Dst: get_session_id
      Src: /src/gnupg/tools/gpg-pair-tool.c:1212,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/tools/gpg-pair-tool.c:1221,1
    - Dst: xnvc_set
      Src: /src/gnupg/tools/gpg-pair-tool.c:1224,1
    - Dst: xnvc_set_printf
      Src: /src/gnupg/tools/gpg-pair-tool.c:1225,1
    - Dst: xnvc_set_printf
      Src: /src/gnupg/tools/gpg-pair-tool.c:1226,1
    - Dst: xnvc_set_hex
      Src: /src/gnupg/tools/gpg-pair-tool.c:1227,1
    - Dst: xnvc_set_hex
      Src: /src/gnupg/tools/gpg-pair-tool.c:1228,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/tools/gpg-pair-tool.c:1229,1
    - Dst: xnvc_set_hex
      Src: /src/gnupg/tools/gpg-pair-tool.c:1230,1
    - Dst: write_state
      Src: /src/gnupg/tools/gpg-pair-tool.c:1237,1
    - Dst: send_message
      Src: /src/gnupg/tools/gpg-pair-tool.c:1240,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-pair-tool.c:1242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - state
    argTypes:
    - nvc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1190
    functionDepth: 4
    functionLinenumber: 1190
    functionLinenumberEnd: 1244
    functionName: make_msg_commit
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - xnvc_set
    - gnupg_get_time
    - log_error
    - gcry_md_hash_buffer
    - xnvc_set_hex
    - get_session_id
    - xmalloc
    - xnvc_set_printf
    - gpg_strerror
    - memcpy
    - xfree
    - write_state
    - send_message
    - create_dh_keypair
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t make_msg_commit (nvc_t state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-pair-tool.c:1261,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/tools/gpg-pair-tool.c:1262,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1272,1
    - Dst: msgtypestr
      Src: /src/gnupg/tools/gpg-pair-tool.c:1273,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1274,1
    - Dst: create_dh_keypair
      Src: /src/gnupg/tools/gpg-pair-tool.c:1279,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1282,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1282,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpg-pair-tool.c:1287,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-pair-tool.c:1288,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-pair-tool.c:1290,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-pair-tool.c:1291,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/tools/gpg-pair-tool.c:1293,1
    - Dst: hash_data
      Src: /src/gnupg/tools/gpg-pair-tool.c:1294,1
    - Dst: xnvc_set
      Src: /src/gnupg/tools/gpg-pair-tool.c:1300,1
    - Dst: xnvc_set_printf
      Src: /src/gnupg/tools/gpg-pair-tool.c:1301,1
    - Dst: xnvc_set_printf
      Src: /src/gnupg/tools/gpg-pair-tool.c:1302,1
    - Dst: xnvc_set_hex
      Src: /src/gnupg/tools/gpg-pair-tool.c:1303,1
    - Dst: xnvc_set_hex
      Src: /src/gnupg/tools/gpg-pair-tool.c:1304,1
    - Dst: xnvc_set_hex
      Src: /src/gnupg/tools/gpg-pair-tool.c:1305,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/tools/gpg-pair-tool.c:1306,1
    - Dst: xnvc_set_hex
      Src: /src/gnupg/tools/gpg-pair-tool.c:1307,1
    - Dst: write_state
      Src: /src/gnupg/tools/gpg-pair-tool.c:1310,1
    - Dst: send_message
      Src: /src/gnupg/tools/gpg-pair-tool.c:1313,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-pair-tool.c:1316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 3
    argNames:
    - state
    - msg
    - msglen
    argTypes:
    - nvc_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1250
    functionDepth: 4
    functionLinenumber: 1250
    functionLinenumberEnd: 1318
    functionName: proc_msg_commit
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - xnvc_set
    - gnupg_get_time
    - log_error
    - log_assert
    - gcry_md_hash_buffer
    - hash_data
    - xnvc_set_hex
    - xmalloc
    - gpg_error
    - xnvc_set_printf
    - gpg_strerror
    - memcpy
    - xfree
    - write_state
    - send_message
    - msgtypestr
    - create_dh_keypair
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t proc_msg_commit (nvc_t state, const unsigned char *msg,
      size_t msglen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-pair-tool.c:1341,1
    - Dst: hex2bin
      Src: /src/gnupg/tools/gpg-pair-tool.c:1344,1
    - Dst: xnvc_get_string
      Src: /src/gnupg/tools/gpg-pair-tool.c:1344,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1346,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1347,1
    - Dst: hash_data
      Src: /src/gnupg/tools/gpg-pair-tool.c:1350,1
    - Dst: memcmp
      Src: /src/gnupg/tools/gpg-pair-tool.c:1354,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1356,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1357,1
    - Dst: msgtypestr
      Src: /src/gnupg/tools/gpg-pair-tool.c:1358,1
    - Dst: hex2bin
      Src: /src/gnupg/tools/gpg-pair-tool.c:1363,1
    - Dst: xnvc_get_string
      Src: /src/gnupg/tools/gpg-pair-tool.c:1363,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1365,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1366,1
    - Dst: memcmp
      Src: /src/gnupg/tools/gpg-pair-tool.c:1369,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1373,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1374,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-pair-tool.c:1377,1
    - Dst: string_to_u64
      Src: /src/gnupg/tools/gpg-pair-tool.c:1380,1
    - Dst: xnvc_get_string
      Src: /src/gnupg/tools/gpg-pair-tool.c:1380,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1383,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1384,1
    - Dst: hex2bin
      Src: /src/gnupg/tools/gpg-pair-tool.c:1394,1
    - Dst: xnvc_get_string
      Src: /src/gnupg/tools/gpg-pair-tool.c:1394,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1396,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1397,1
    - Dst: compute_master_secret
      Src: /src/gnupg/tools/gpg-pair-tool.c:1402,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1406,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1406,1
    - Dst: kdf
      Src: /src/gnupg/tools/gpg-pair-tool.c:1410,1
    - Dst: kdf
      Src: /src/gnupg/tools/gpg-pair-tool.c:1413,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpg-pair-tool.c:1420,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-pair-tool.c:1421,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-pair-tool.c:1423,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-pair-tool.c:1424,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/tools/gpg-pair-tool.c:1426,1
    - Dst: hmac_data
      Src: /src/gnupg/tools/gpg-pair-tool.c:1427,1
    - Dst: xnvc_set
      Src: /src/gnupg/tools/gpg-pair-tool.c:1434,1
    - Dst: xnvc_set_hex
      Src: /src/gnupg/tools/gpg-pair-tool.c:1435,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/tools/gpg-pair-tool.c:1436,1
    - Dst: xnvc_set_hex
      Src: /src/gnupg/tools/gpg-pair-tool.c:1437,1
    - Dst: write_state
      Src: /src/gnupg/tools/gpg-pair-tool.c:1440,1
    - Dst: send_message
      Src: /src/gnupg/tools/gpg-pair-tool.c:1443,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-pair-tool.c:1446,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 72
    argCount: 3
    argNames:
    - state
    - msg
    - msglen
    argTypes:
    - nvc_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1324
    functionDepth: 4
    functionLinenumber: 1324
    functionLinenumberEnd: 1448
    functionName: proc_msg_dhpart1
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - log_assert
    - gcry_md_hash_buffer
    - hash_data
    - xmalloc
    - xnvc_get_string
    - memcpy
    - log_error
    - string_to_u64
    - hex2bin
    - write_state
    - xnvc_set
    - gpg_error
    - gpg_strerror
    - xfree
    - msgtypestr
    - xnvc_set_hex
    - hmac_data
    - memcmp
    - kdf
    - send_message
    - compute_master_secret
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t proc_msg_dhpart1 (nvc_t state, const unsigned char *msg,
      size_t msglen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-pair-tool.c:1473,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-pair-tool.c:1477,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/tools/gpg-pair-tool.c:1478,1
    - Dst: hex2bin
      Src: /src/gnupg/tools/gpg-pair-tool.c:1479,1
    - Dst: xnvc_get_string
      Src: /src/gnupg/tools/gpg-pair-tool.c:1479,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1482,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1483,1
    - Dst: memcmp
      Src: /src/gnupg/tools/gpg-pair-tool.c:1486,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1488,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1489,1
    - Dst: msgtypestr
      Src: /src/gnupg/tools/gpg-pair-tool.c:1490,1
    - Dst: msgtypestr
      Src: /src/gnupg/tools/gpg-pair-tool.c:1491,1
    - Dst: hex2bin
      Src: /src/gnupg/tools/gpg-pair-tool.c:1495,1
    - Dst: xnvc_get_string
      Src: /src/gnupg/tools/gpg-pair-tool.c:1495,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1497,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1498,1
    - Dst: memcmp
      Src: /src/gnupg/tools/gpg-pair-tool.c:1501,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1503,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1504,1
    - Dst: string_to_u64
      Src: /src/gnupg/tools/gpg-pair-tool.c:1509,1
    - Dst: xnvc_get_string
      Src: /src/gnupg/tools/gpg-pair-tool.c:1509,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1512,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1513,1
    - Dst: hex2bin
      Src: /src/gnupg/tools/gpg-pair-tool.c:1523,1
    - Dst: xnvc_get_string
      Src: /src/gnupg/tools/gpg-pair-tool.c:1523,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1525,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1526,1
    - Dst: compute_master_secret
      Src: /src/gnupg/tools/gpg-pair-tool.c:1531,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1535,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1535,1
    - Dst: kdf
      Src: /src/gnupg/tools/gpg-pair-tool.c:1539,1
    - Dst: kdf
      Src: /src/gnupg/tools/gpg-pair-tool.c:1542,1
    - Dst: kdf
      Src: /src/gnupg/tools/gpg-pair-tool.c:1545,1
    - Dst: kdf
      Src: /src/gnupg/tools/gpg-pair-tool.c:1548,1
    - Dst: hex2bin
      Src: /src/gnupg/tools/gpg-pair-tool.c:1555,1
    - Dst: xnvc_get_string
      Src: /src/gnupg/tools/gpg-pair-tool.c:1555,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1558,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1559,1
    - Dst: hmac_data
      Src: /src/gnupg/tools/gpg-pair-tool.c:1562,1
    - Dst: memcmp
      Src: /src/gnupg/tools/gpg-pair-tool.c:1567,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1569,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1570,1
    - Dst: msgtypestr
      Src: /src/gnupg/tools/gpg-pair-tool.c:1571,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpg-pair-tool.c:1577,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-pair-tool.c:1578,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-pair-tool.c:1580,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/tools/gpg-pair-tool.c:1582,1
    - Dst: hmac_data
      Src: /src/gnupg/tools/gpg-pair-tool.c:1583,1
    - Dst: xnvc_set
      Src: /src/gnupg/tools/gpg-pair-tool.c:1590,1
    - Dst: xnvc_set_hex
      Src: /src/gnupg/tools/gpg-pair-tool.c:1591,1
    - Dst: write_state
      Src: /src/gnupg/tools/gpg-pair-tool.c:1594,1
    - Dst: send_message
      Src: /src/gnupg/tools/gpg-pair-tool.c:1597,1
    - Dst: display_sas
      Src: /src/gnupg/tools/gpg-pair-tool.c:1599,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-pair-tool.c:1603,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 85
    argCount: 3
    argNames:
    - state
    - msg
    - msglen
    argTypes:
    - nvc_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1454
    functionDepth: 4
    functionLinenumber: 1454
    functionLinenumberEnd: 1605
    functionName: proc_msg_dhpart2
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - gcry_md_hash_buffer
    - log_assert
    - xmalloc
    - xnvc_get_string
    - memcpy
    - log_error
    - display_sas
    - string_to_u64
    - hex2bin
    - write_state
    - xnvc_set
    - gpg_error
    - gpg_strerror
    - xfree
    - msgtypestr
    - xnvc_set_hex
    - hmac_data
    - memcmp
    - kdf
    - send_message
    - compute_master_secret
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t proc_msg_dhpart2 (nvc_t state, const unsigned char *msg,
      size_t msglen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-pair-tool.c:1624,1
    - Dst: string_to_u64
      Src: /src/gnupg/tools/gpg-pair-tool.c:1627,1
    - Dst: xnvc_get_string
      Src: /src/gnupg/tools/gpg-pair-tool.c:1627,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1630,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1631,1
    - Dst: hex2bin
      Src: /src/gnupg/tools/gpg-pair-tool.c:1641,1
    - Dst: xnvc_get_string
      Src: /src/gnupg/tools/gpg-pair-tool.c:1641,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1643,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1644,1
    - Dst: kdf
      Src: /src/gnupg/tools/gpg-pair-tool.c:1648,1
    - Dst: kdf
      Src: /src/gnupg/tools/gpg-pair-tool.c:1651,1
    - Dst: kdf
      Src: /src/gnupg/tools/gpg-pair-tool.c:1654,1
    - Dst: hex2bin
      Src: /src/gnupg/tools/gpg-pair-tool.c:1660,1
    - Dst: xnvc_get_string
      Src: /src/gnupg/tools/gpg-pair-tool.c:1660,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1663,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1664,1
    - Dst: hmac_data
      Src: /src/gnupg/tools/gpg-pair-tool.c:1667,1
    - Dst: memcmp
      Src: /src/gnupg/tools/gpg-pair-tool.c:1672,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1674,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1675,1
    - Dst: msgtypestr
      Src: /src/gnupg/tools/gpg-pair-tool.c:1676,1
    - Dst: display_sas
      Src: /src/gnupg/tools/gpg-pair-tool.c:1681,1
    - Dst: xnvc_set
      Src: /src/gnupg/tools/gpg-pair-tool.c:1686,1
    - Dst: write_state
      Src: /src/gnupg/tools/gpg-pair-tool.c:1689,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - state
    - msg
    - msglen
    argTypes:
    - nvc_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1611
    functionDepth: 4
    functionLinenumber: 1611
    functionLinenumberEnd: 1693
    functionName: proc_msg_confirm
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - write_state
    - xnvc_set
    - log_error
    - log_assert
    - display_sas
    - string_to_u64
    - hmac_data
    - gpg_error
    - memcmp
    - hex2bin
    - xnvc_get_string
    - kdf
    - msgtypestr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t proc_msg_confirm (nvc_t state, const unsigned char *msg,
      size_t msglen)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_get_time
      Src: /src/gnupg/tools/gpg-pair-tool.c:1712,1
    - Dst: get_pairing_statedir
      Src: /src/gnupg/tools/gpg-pair-tool.c:1714,1
    - Dst: gnupg_opendir
      Src: /src/gnupg/tools/gpg-pair-tool.c:1715,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1718,1
    - Dst: gnupg_readdir
      Src: /src/gnupg/tools/gpg-pair-tool.c:1722,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-pair-tool.c:1724,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-pair-tool.c:1725,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-pair-tool.c:1728,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpg-pair-tool.c:1729,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-pair-tool.c:1730,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpg-pair-tool.c:1731,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1734,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-pair-tool.c:1735,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:1736,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1737,1
    - Dst: nvc_release
      Src: /src/gnupg/tools/gpg-pair-tool.c:1740,1
    - Dst: nvc_parse
      Src: /src/gnupg/tools/gpg-pair-tool.c:1743,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:1746,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1747,1
    - Dst: nvc_lookup
      Src: /src/gnupg/tools/gpg-pair-tool.c:1750,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:1753,1
    - Dst: nve_value
      Src: /src/gnupg/tools/gpg-pair-tool.c:1757,1
    - Dst: strtoul
      Src: /src/gnupg/tools/gpg-pair-tool.c:1758,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:1760,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-pair-tool.c:1767,1
    - Dst: gnupg_remove
      Src: /src/gnupg/tools/gpg-pair-tool.c:1769,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1771,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:1772,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1773,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:1776,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1782,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1783,1
    - Dst: gnupg_closedir
      Src: /src/gnupg/tools/gpg-pair-tool.c:1784,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-pair-tool.c:1785,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-pair-tool.c:1786,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1699
    functionDepth: 2
    functionLinenumber: 1699
    functionLinenumberEnd: 1787
    functionName: expire_old_states
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - gnupg_opendir
    - gnupg_get_time
    - nvc_parse
    - strlen
    - nve_value
    - es_fopen
    - get_pairing_statedir
    - log_error
    - log_info
    - nvc_release
    - strtoul
    - gnupg_readdir
    - gnupg_closedir
    - gpg_error_from_syserror
    - strcmp
    - xfree
    - gpg_strerror
    - make_filename
    - es_fclose
    - gpg_err_code
    - nvc_lookup
    - gnupg_remove
    linkageType: ''
    returnType: void
    signature: void expire_old_states (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xnvc_new
      Src: /src/gnupg/tools/gpg-pair-tool.c:1799,1
    - Dst: xnvc_set
      Src: /src/gnupg/tools/gpg-pair-tool.c:1800,1
    - Dst: xnvc_set_hex
      Src: /src/gnupg/tools/gpg-pair-tool.c:1801,1
    - Dst: get_session_id
      Src: /src/gnupg/tools/gpg-pair-tool.c:1801,1
    - Dst: xnvc_set
      Src: /src/gnupg/tools/gpg-pair-tool.c:1802,1
    - Dst: make_msg_commit
      Src: /src/gnupg/tools/gpg-pair-tool.c:1804,1
    - Dst: nvc_release
      Src: /src/gnupg/tools/gpg-pair-tool.c:1806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1793
    functionDepth: 5
    functionLinenumber: 1793
    functionLinenumberEnd: 1808
    functionName: command_initiate
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 1
    functionsReached:
    - xnvc_set
    - make_msg_commit
    - xnvc_set_hex
    - get_session_id
    - xnvc_new
    - nvc_release
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t command_initiate (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-pair-tool.c:1816,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1818,1
    - Dst: msgtypestr
      Src: /src/gnupg/tools/gpg-pair-tool.c:1819,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msgtype
    - statestr
    - expected
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1823
    functionName: expect_state
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gpg_error
    - msgtypestr
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t expect_state (int msgtype, const char *statestr, const
      char *expected)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: read_message
      Src: /src/gnupg/tools/gpg-pair-tool.c:1839,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-pair-tool.c:1840,1
    - Dst: xnvc_get_string
      Src: /src/gnupg/tools/gpg-pair-tool.c:1842,1
    - Dst: xnvc_get_string
      Src: /src/gnupg/tools/gpg-pair-tool.c:1843,1
    - Dst: log_debug
      Src: /src/gnupg/tools/gpg-pair-tool.c:1847,1
    - Dst: log_debug
      Src: /src/gnupg/tools/gpg-pair-tool.c:1849,1
    - Dst: log_debug
      Src: /src/gnupg/tools/gpg-pair-tool.c:1850,1
    - Dst: msgtypestr
      Src: /src/gnupg/tools/gpg-pair-tool.c:1851,1
    - Dst: xnvc_new
      Src: /src/gnupg/tools/gpg-pair-tool.c:1858,1
    - Dst: xnvc_set
      Src: /src/gnupg/tools/gpg-pair-tool.c:1859,1
    - Dst: xnvc_set_hex
      Src: /src/gnupg/tools/gpg-pair-tool.c:1860,1
    - Dst: get_session_id
      Src: /src/gnupg/tools/gpg-pair-tool.c:1860,1
    - Dst: xnvc_set
      Src: /src/gnupg/tools/gpg-pair-tool.c:1861,1
    - Dst: proc_msg_commit
      Src: /src/gnupg/tools/gpg-pair-tool.c:1862,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1866,1
    - Dst: msgtypestr
      Src: /src/gnupg/tools/gpg-pair-tool.c:1867,1
    - Dst: msgtypestr
      Src: /src/gnupg/tools/gpg-pair-tool.c:1867,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-pair-tool.c:1869,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1870,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-pair-tool.c:1874,1
    - Dst: expect_state
      Src: /src/gnupg/tools/gpg-pair-tool.c:1878,1
    - Dst: proc_msg_dhpart1
      Src: /src/gnupg/tools/gpg-pair-tool.c:1879,1
    - Dst: expect_state
      Src: /src/gnupg/tools/gpg-pair-tool.c:1883,1
    - Dst: proc_msg_confirm
      Src: /src/gnupg/tools/gpg-pair-tool.c:1884,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1888,1
    - Dst: msgtypestr
      Src: /src/gnupg/tools/gpg-pair-tool.c:1889,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1890,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-pair-tool.c:1894,1
    - Dst: expect_state
      Src: /src/gnupg/tools/gpg-pair-tool.c:1898,1
    - Dst: proc_msg_dhpart2
      Src: /src/gnupg/tools/gpg-pair-tool.c:1899,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1903,1
    - Dst: msgtypestr
      Src: /src/gnupg/tools/gpg-pair-tool.c:1904,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1905,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-pair-tool.c:1910,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-pair-tool.c:1914,1
    - Dst: nvc_release
      Src: /src/gnupg/tools/gpg-pair-tool.c:1915,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1828
    functionDepth: 5
    functionLinenumber: 1828
    functionLinenumberEnd: 1917
    functionName: command_respond
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 1
    functionsReached:
    - read_message
    - proc_msg_dhpart2
    - xnvc_get_string
    - log_error
    - proc_msg_confirm
    - log_info
    - nvc_release
    - proc_msg_dhpart1
    - log_debug
    - xnvc_set
    - xnvc_new
    - get_session_id
    - strcmp
    - gpg_error
    - xfree
    - msgtypestr
    - expect_state
    - xnvc_set_hex
    - log_fatal
    - proc_msg_commit
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t command_respond (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1934,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1935,1
    - Dst: hex2bin
      Src: /src/gnupg/tools/gpg-pair-tool.c:1938,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1940,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1941,1
    - Dst: set_session_id
      Src: /src/gnupg/tools/gpg-pair-tool.c:1944,1
    - Dst: read_state
      Src: /src/gnupg/tools/gpg-pair-tool.c:1945,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-pair-tool.c:1948,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-pair-tool.c:1949,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - sessionidstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1925
    functionDepth: 4
    functionLinenumber: 1925
    functionLinenumberEnd: 1955
    functionName: command_get
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 1
    functionsReached:
    - log_error
    - set_session_id
    - gpg_error
    - read_state
    - hex2bin
    - gpg_strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t command_get (const char *sessionidstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expire_old_states
      Src: /src/gnupg/tools/gpg-pair-tool.c:1963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1960
    functionDepth: 3
    functionLinenumber: 1960
    functionLinenumberEnd: 1965
    functionName: command_cleanup
    functionSourceFile: /src/gnupg/tools/gpg-pair-tool.c
    functionUses: 1
    functionsReached:
    - expire_old_states
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t command_cleanup (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: octdigitp
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: octdigitp(p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:222,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:225,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:228,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpg-connect-agent.c:232,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: my_strusage
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - gnupg_homedir
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage( int level )'
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/tools/gpg-connect-agent.c:269,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/gpg-connect-agent.c:269,1
    - Dst: octdigitp
      Src: /src/gnupg/tools/gpg-connect-agent.c:275,1
    - Dst: octdigitp
      Src: /src/gnupg/tools/gpg-connect-agent.c:275,1
    - Dst: octdigitp
      Src: /src/gnupg/tools/gpg-connect-agent.c:275,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpg-connect-agent.c:287,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/gpg-connect-agent.c:305,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/gpg-connect-agent.c:305,1
    - Dst: xtoi_2
      Src: /src/gnupg/tools/gpg-connect-agent.c:308,1
    - Dst: octdigitp
      Src: /src/gnupg/tools/gpg-connect-agent.c:315,1
    - Dst: octdigitp
      Src: /src/gnupg/tools/gpg-connect-agent.c:315,1
    - Dst: octdigitp
      Src: /src/gnupg/tools/gpg-connect-agent.c:315,1
    - Dst: atoi_1
      Src: /src/gnupg/tools/gpg-connect-agent.c:317,1
    - Dst: atoi_1
      Src: /src/gnupg/tools/gpg-connect-agent.c:317,1
    - Dst: atoi_1
      Src: /src/gnupg/tools/gpg-connect-agent.c:317,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 85
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 331
    functionName: unescape_string
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - octdigitp
    - atoi_1
    - xmalloc
    - xtoi_2
    linkageType: ''
    returnType: char
    signature: 'char *

      unescape_string (const char *string)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpg-connect-agent.c:358,1
    - Dst: xtoi_2
      Src: /src/gnupg/tools/gpg-connect-agent.c:365,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - string
    - with_plus
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 375
    functionName: unpercent_string
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - xtoi_2
    linkageType: ''
    returnType: char
    signature: 'char *

      unpercent_string (const char *string, int with_plus)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:387,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpg-connect-agent.c:391,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-connect-agent.c:391,1
    - Dst: strcpy
      Src: /src/gnupg/tools/gpg-connect-agent.c:393,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:397,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-connect-agent.c:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 400
    functionName: set_var
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 5
    functionsReached:
    - strlen
    - strcmp
    - xmalloc
    - strcpy
    - xfree
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      set_var (const char *name, const char *value)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/tools/gpg-connect-agent.c:408,1
    - Dst: set_var
      Src: /src/gnupg/tools/gpg-connect-agent.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 410
    functionName: set_int_var
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - snprintf
    - set_var
    linkageType: ''
    returnType: void
    signature: void set_int_var (const char *name, int value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:426,1
    - Dst: getenv
      Src: /src/gnupg/tools/gpg-connect-agent.c:428,1
    - Dst: set_var
      Src: /src/gnupg/tools/gpg-connect-agent.c:429,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 433
    functionName: get_var
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 1
    functionsReached:
    - strcmp
    - getenv
    - set_var
    linkageType: ''
    returnType: char
    signature: 'char *

      get_var (const char *name)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:444,1
    - Dst: strtol
      Src: /src/gnupg/tools/gpg-connect-agent.c:448,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:449,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:456,1
    - Dst: strtol
      Src: /src/gnupg/tools/gpg-connect-agent.c:460,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:461,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:482,1
    - Dst: snprintf
      Src: /src/gnupg/tools/gpg-connect-agent.c:486,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-connect-agent.c:487,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 1
    argNames:
    - operands
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 488
    functionName: arithmetic_op
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - strtol
    - log_error
    - snprintf
    - spacep
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      arithmetic_op (int operator, const char *operands)'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:552,1
    - Dst: substitute_line_copy
      Src: /src/gnupg/tools/gpg-connect-agent.c:557,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:560,1
    - Dst: get_var
      Src: /src/gnupg/tools/gpg-connect-agent.c:564,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-connect-agent.c:565,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:567,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:569,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:571,1
    - Dst: gnupg_getcwd
      Src: /src/gnupg/tools/gpg-connect-agent.c:573,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:575,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:575,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:577,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-connect-agent.c:578,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpg-connect-agent.c:578,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:579,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-connect-agent.c:580,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/tools/gpg-connect-agent.c:580,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:581,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-connect-agent.c:582,1
    - Dst: gnupg_bindir
      Src: /src/gnupg/tools/gpg-connect-agent.c:582,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:583,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-connect-agent.c:584,1
    - Dst: gnupg_libdir
      Src: /src/gnupg/tools/gpg-connect-agent.c:584,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:585,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-connect-agent.c:586,1
    - Dst: gnupg_libexecdir
      Src: /src/gnupg/tools/gpg-connect-agent.c:586,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:587,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-connect-agent.c:588,1
    - Dst: gnupg_datadir
      Src: /src/gnupg/tools/gpg-connect-agent.c:588,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:589,1
    - Dst: xasprintf
      Src: /src/gnupg/tools/gpg-connect-agent.c:590,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:593,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:594,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:599,1
    - Dst: unescape_string
      Src: /src/gnupg/tools/gpg-connect-agent.c:602,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:604,1
    - Dst: unpercent_string
      Src: /src/gnupg/tools/gpg-connect-agent.c:607,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:609,1
    - Dst: unpercent_string
      Src: /src/gnupg/tools/gpg-connect-agent.c:612,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:614,1
    - Dst: percent_escape
      Src: /src/gnupg/tools/gpg-connect-agent.c:617,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:619,1
    - Dst: percent_escape
      Src: /src/gnupg/tools/gpg-connect-agent.c:622,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:627,1
    - Dst: strtol
      Src: /src/gnupg/tools/gpg-connect-agent.c:630,1
    - Dst: xasprintf
      Src: /src/gnupg/tools/gpg-connect-agent.c:631,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-connect-agent.c:631,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:633,1
    - Dst: strtol
      Src: /src/gnupg/tools/gpg-connect-agent.c:636,1
    - Dst: xasprintf
      Src: /src/gnupg/tools/gpg-connect-agent.c:637,1
    - Dst: gpg_err_source
      Src: /src/gnupg/tools/gpg-connect-agent.c:637,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:639,1
    - Dst: strtol
      Src: /src/gnupg/tools/gpg-connect-agent.c:642,1
    - Dst: xasprintf
      Src: /src/gnupg/tools/gpg-connect-agent.c:643,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:644,1
    - Dst: gpg_strsource
      Src: /src/gnupg/tools/gpg-connect-agent.c:644,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-connect-agent.c:646,1
    - Dst: arithmetic_op
      Src: /src/gnupg/tools/gpg-connect-agent.c:648,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:652,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:656,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 89
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 659
    functionName: get_var_ext
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - arithmetic_op
    - get_var
    - gnupg_homedir
    - xstrdup
    - gpg_err_source
    - unescape_string
    - gnupg_libdir
    - log_error
    - gnupg_bindir
    - unpercent_string
    - log_info
    - substitute_line_copy
    - strncmp
    - strtol
    - spacep
    - strcmp
    - strchr
    - gpg_strerror
    - xfree
    - gpg_strsource
    - gnupg_sysconfdir
    - percent_escape
    - gnupg_getcwd
    - gnupg_datadir
    - gpg_err_code
    - xasprintf
    - strerror
    - gnupg_libexecdir
    linkageType: ''
    returnType: char
    signature: 'char *

      get_var_ext (const char *name)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-connect-agent.c:677,1
    - Dst: memmove
      Src: /src/gnupg/tools/gpg-connect-agent.c:683,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-connect-agent.c:683,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:706,1
    - Dst: get_var_ext
      Src: /src/gnupg/tools/gpg-connect-agent.c:713,1
    - Dst: get_var
      Src: /src/gnupg/tools/gpg-connect-agent.c:721,1
    - Dst: get_var
      Src: /src/gnupg/tools/gpg-connect-agent.c:725,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-connect-agent.c:728,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-connect-agent.c:731,1
    - Dst: memmove
      Src: /src/gnupg/tools/gpg-connect-agent.c:735,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-connect-agent.c:735,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpg-connect-agent.c:743,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-connect-agent.c:743,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-connect-agent.c:745,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-connect-agent.c:746,1
    - Dst: strcpy
      Src: /src/gnupg/tools/gpg-connect-agent.c:748,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:750,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:753,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 665
    functionDepth: 3
    functionLinenumber: 665
    functionLinenumberEnd: 757
    functionName: substitute_line
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - memmove
    - get_var
    - get_var_ext
    - strlen
    - spacep
    - xmalloc
    - strchr
    - strcpy
    - xfree
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      substitute_line (char *buffer)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-connect-agent.c:765,1
    - Dst: substitute_line
      Src: /src/gnupg/tools/gpg-connect-agent.c:766,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 760
    functionDepth: 4
    functionLinenumber: 760
    functionLinenumberEnd: 772
    functionName: substitute_line_copy
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 1
    functionsReached:
    - xfree
    - substitute_line
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      substitute_line_copy (const char *buffer)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:782,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:786,1
    - Dst: set_var
      Src: /src/gnupg/tools/gpg-connect-agent.c:790,1
    - Dst: substitute_line_copy
      Src: /src/gnupg/tools/gpg-connect-agent.c:793,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpg-connect-agent.c:796,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-connect-agent.c:796,1
    - Dst: strcpy
      Src: /src/gnupg/tools/gpg-connect-agent.c:797,1
    - Dst: stpcpy
      Src: /src/gnupg/tools/gpg-connect-agent.c:797,1
    - Dst: get_var_ext
      Src: /src/gnupg/tools/gpg-connect-agent.c:798,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:799,1
    - Dst: set_var
      Src: /src/gnupg/tools/gpg-connect-agent.c:800,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:801,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:802,1
    - Dst: substitute_line_copy
      Src: /src/gnupg/tools/gpg-connect-agent.c:806,1
    - Dst: set_var
      Src: /src/gnupg/tools/gpg-connect-agent.c:809,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:810,1
    - Dst: set_var
      Src: /src/gnupg/tools/gpg-connect-agent.c:813,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - line
    - syslet
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 775
    functionDepth: 5
    functionLinenumber: 775
    functionLinenumberEnd: 815
    functionName: assign_variable
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - strlen
    - get_var_ext
    - spacep
    - xmalloc
    - strcpy
    - xfree
    - substitute_line_copy
    - set_var
    - stpcpy
    linkageType: ''
    returnType: void
    signature: void assign_variable (char *line, int syslet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/tools/gpg-connect-agent.c:825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 826
    functionName: show_variables
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void show_variables (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:840,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:844,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpg-connect-agent.c:847,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-connect-agent.c:847,1
    - Dst: strcpy
      Src: /src/gnupg/tools/gpg-connect-agent.c:848,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:851,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-connect-agent.c:854,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - line
    - is_var
    - is_prog
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 859
    functionName: add_definq
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - strlen
    - spacep
    - strcmp
    - xmalloc
    - strcpy
    - xstrdup
    linkageType: ''
    returnType: void
    signature: void add_definq (char *line, int is_var, int is_prog)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/tools/gpg-connect-agent.c:870,1
    - Dst: printf
      Src: /src/gnupg/tools/gpg-connect-agent.c:874,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 876
    functionName: show_definq
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void show_definq (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:886,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 891
    functionName: clear_definq
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void clear_definq (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:905,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:909,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:922,1
    - Dst: strcpy
      Src: /src/gnupg/tools/gpg-connect-agent.c:929,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpg-connect-agent.c:933,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:936,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:937,1
    - Dst: es_syshd
      Src: /src/gnupg/tools/gpg-connect-agent.c:941,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:945,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:949,1
    - Dst: assuan_sendfd
      Src: /src/gnupg/tools/gpg-connect-agent.c:954,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:956,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:957,1
    - Dst: assuan_sendfd
      Src: /src/gnupg/tools/gpg-connect-agent.c:959,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:961,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:962,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-connect-agent.c:964,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 965
    functionName: do_sendfd
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - log_error
    - es_fclose
    - spacep
    - es_syshd
    - es_fopen
    - strcpy
    - gpg_strerror
    - strerror
    - assuan_sendfd
    linkageType: ''
    returnType: void
    signature: void do_sendfd (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 974
    functionName: do_recvfd
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - log_info
    linkageType: ''
    returnType: void
    signature: void do_recvfd (assuan_context_t ctx, char *line)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:987,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:988,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:995,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:999,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:1004,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:1008,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:1017,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpg-connect-agent.c:1024,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1027,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:1028,1
    - Dst: dup
      Src: /src/gnupg/tools/gpg-connect-agent.c:1031,1
    - Dst: es_fileno
      Src: /src/gnupg/tools/gpg-connect-agent.c:1031,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-connect-agent.c:1032,1
    - Dst: _get_osfhandle
      Src: /src/gnupg/tools/gpg-connect-agent.c:1040,1
    - Dst: OpenProcess
      Src: /src/gnupg/tools/gpg-connect-agent.c:1042,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1045,1
    - Dst: close
      Src: /src/gnupg/tools/gpg-connect-agent.c:1046,1
    - Dst: DuplicateHandle
      Src: /src/gnupg/tools/gpg-connect-agent.c:1050,1
    - Dst: GetCurrentProcess
      Src: /src/gnupg/tools/gpg-connect-agent.c:1050,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1054,1
    - Dst: close
      Src: /src/gnupg/tools/gpg-connect-agent.c:1055,1
    - Dst: CloseHandle
      Src: /src/gnupg/tools/gpg-connect-agent.c:1056,1
    - Dst: CloseHandle
      Src: /src/gnupg/tools/gpg-connect-agent.c:1059,1
    - Dst: snprintf
      Src: /src/gnupg/tools/gpg-connect-agent.c:1062,1
    - Dst: set_var
      Src: /src/gnupg/tools/gpg-connect-agent.c:1063,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:1066,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:1070,1
    - Dst: set_int_var
      Src: /src/gnupg/tools/gpg-connect-agent.c:1072,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1077,1
    - Dst: close
      Src: /src/gnupg/tools/gpg-connect-agent.c:1079,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-connect-agent.c:1081,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 1082
    functionName: do_open
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - log_error
    - _get_osfhandle
    - OpenProcess
    - close
    - dup
    - spacep
    - DIM
    - snprintf
    - es_fclose
    - es_fileno
    - DuplicateHandle
    - es_fopen
    - log_info
    - set_int_var
    - GetCurrentProcess
    - set_var
    - strerror
    linkageType: ''
    returnType: void
    signature: void do_open (char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_parse_fdstr
      Src: /src/gnupg/tools/gpg-connect-agent.c:1095,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1098,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1104,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-connect-agent.c:1108,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-connect-agent.c:1111,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1115,1
    - Dst: atoi
      Src: /src/gnupg/tools/gpg-connect-agent.c:1119,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-connect-agent.c:1122,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1124,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1130,1
    - Dst: CloseHandle
      Src: /src/gnupg/tools/gpg-connect-agent.c:1134,1
    - Dst: close
      Src: /src/gnupg/tools/gpg-connect-agent.c:1136,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1138
    functionName: do_close
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - atoi
    - log_error
    - gnupg_parse_fdstr
    - close
    - DIM
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void do_close (char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-connect-agent.c:1146,1
    - Dst: printf
      Src: /src/gnupg/tools/gpg-connect-agent.c:1150,1
    - Dst: printf
      Src: /src/gnupg/tools/gpg-connect-agent.c:1152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1155
    functionName: do_showopen
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - DIM
    - printf
    linkageType: ''
    returnType: void
    signature: void do_showopen (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/gnupg/tools/gpg-connect-agent.c:1163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - opaque
    - buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1165
    functionName: getinfo_pid_cb
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - put_membuf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t getinfo_pid_cb (void *opaque, const void *buffer, size_t
      length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_membuf
      Src: /src/gnupg/tools/gpg-connect-agent.c:1175,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/gpg-connect-agent.c:1176,1
    - Dst: put_membuf
      Src: /src/gnupg/tools/gpg-connect-agent.c:1178,1
    - Dst: get_membuf
      Src: /src/gnupg/tools/gpg-connect-agent.c:1179,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1181,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:1182,1
    - Dst: strtoul
      Src: /src/gnupg/tools/gpg-connect-agent.c:1185,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:1187,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1190
    functionName: do_serverpid
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - log_error
    - put_membuf
    - assuan_transact
    - gpg_strerror
    - log_info
    - xfree
    - strtoul
    linkageType: ''
    returnType: void
    signature: void do_serverpid (assuan_context_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1197,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:1198,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:1200,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1204,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:1205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1206
    functionName: help_cmd_p
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - ascii_strncasecmp
    - spacep
    linkageType: ''
    returnType: int
    signature: int help_cmd_p (const char *line)
  - BBCount: 145
    BranchProfiles: []
    Callsites:
    - Dst: early_system_init
      Src: /src/gnupg/tools/gpg-connect-agent.c:1240,1
    - Dst: gnupg_rl_initialize
      Src: /src/gnupg/tools/gpg-connect-agent.c:1241,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/tools/gpg-connect-agent.c:1242,1
    - Dst: log_set_prefix
      Src: /src/gnupg/tools/gpg-connect-agent.c:1243,1
    - Dst: i18n_init
      Src: /src/gnupg/tools/gpg-connect-agent.c:1247,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/tools/gpg-connect-agent.c:1248,1
    - Dst: assuan_set_gpg_err_source
      Src: /src/gnupg/tools/gpg-connect-agent.c:1250,1
    - Dst: gnupg_init_signals
      Src: /src/gnupg/tools/gpg-connect-agent.c:1252,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpg-connect-agent.c:1261,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/tools/gpg-connect-agent.c:1268,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpg-connect-agent.c:1270,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpg-connect-agent.c:1273,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpg-connect-agent.c:1276,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpg-connect-agent.c:1300,1
    - Dst: gnupg_chuid
      Src: /src/gnupg/tools/gpg-connect-agent.c:1302,1
    - Dst: log_inc_errorcount
      Src: /src/gnupg/tools/gpg-connect-agent.c:1303,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-connect-agent.c:1305,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-connect-agent.c:1306,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/tools/gpg-connect-agent.c:1310,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/tools/gpg-connect-agent.c:1310,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/tools/gpg-connect-agent.c:1311,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpg-connect-agent.c:1311,1
    - Dst: parse_comopt
      Src: /src/gnupg/tools/gpg-connect-agent.c:1312,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-connect-agent.c:1313,1
    - Dst: make_absfilename
      Src: /src/gnupg/tools/gpg-connect-agent.c:1322,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpg-connect-agent.c:1322,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:1332,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:1332,1
    - Dst: gnupg_isatty
      Src: /src/gnupg/tools/gpg-connect-agent.c:1336,1
    - Dst: fileno
      Src: /src/gnupg/tools/gpg-connect-agent.c:1336,1
    - Dst: gnupg_isatty
      Src: /src/gnupg/tools/gpg-connect-agent.c:1336,1
    - Dst: fileno
      Src: /src/gnupg/tools/gpg-connect-agent.c:1336,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1342,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:1342,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-connect-agent.c:1344,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:1353,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:1353,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:1359,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:1359,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:1365,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:1365,1
    - Dst: gpgrt_fopen
      Src: /src/gnupg/tools/gpg-connect-agent.c:1369,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1371,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:1372,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-connect-agent.c:1373,1
    - Dst: assuan_fd_from_posix_fd
      Src: /src/gnupg/tools/gpg-connect-agent.c:1381,1
    - Dst: es_fileno
      Src: /src/gnupg/tools/gpg-connect-agent.c:1381,1
    - Dst: assuan_new
      Src: /src/gnupg/tools/gpg-connect-agent.c:1384,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1387,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:1387,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-connect-agent.c:1388,1
    - Dst: assuan_pipe_connect
      Src: /src/gnupg/tools/gpg-connect-agent.c:1391,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1396,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:1397,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-connect-agent.c:1398,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:1402,1
    - Dst: assuan_new
      Src: /src/gnupg/tools/gpg-connect-agent.c:1407,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1410,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:1410,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-connect-agent.c:1411,1
    - Dst: assuan_socket_connect
      Src: /src/gnupg/tools/gpg-connect-agent.c:1414,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1419,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:1420,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-connect-agent.c:1421,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:1425,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpg-connect-agent.c:1431,1
    - Dst: assuan_new
      Src: /src/gnupg/tools/gpg-connect-agent.c:1433,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1436,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:1436,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-connect-agent.c:1437,1
    - Dst: assuan_socket_connect
      Src: /src/gnupg/tools/gpg-connect-agent.c:1440,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1443,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:1444,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-connect-agent.c:1445,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:1449,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1451,1
    - Dst: start_agent
      Src: /src/gnupg/tools/gpg-connect-agent.c:1454,1
    - Dst: assuan_pending_line
      Src: /src/gnupg/tools/gpg-connect-agent.c:1458,1
    - Dst: read_and_print_response
      Src: /src/gnupg/tools/gpg-connect-agent.c:1460,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:1462,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:1462,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:1462,1
    - Dst: gpgrt_setvbuf
      Src: /src/gnupg/tools/gpg-connect-agent.c:1467,1
    - Dst: setvbuf
      Src: /src/gnupg/tools/gpg-connect-agent.c:1468,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-connect-agent.c:1471,1
    - Dst: assert
      Src: /src/gnupg/tools/gpg-connect-agent.c:1482,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-connect-agent.c:1482,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1486,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-connect-agent.c:1487,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-connect-agent.c:1488,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1492,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:1492,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-connect-agent.c:1495,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1500,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-connect-agent.c:1501,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-connect-agent.c:1503,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1510,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpg-connect-agent.c:1513,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpg-connect-agent.c:1513,1
    - Dst: tty_read_history
      Src: /src/gnupg/tools/gpg-connect-agent.c:1514,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:1515,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:1517,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-connect-agent.c:1517,1
    - Dst: tty_get
      Src: /src/gnupg/tools/gpg-connect-agent.c:1520,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-connect-agent.c:1521,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1531,1
    - Dst: gpgrt_read_line
      Src: /src/gnupg/tools/gpg-connect-agent.c:1536,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1541,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:1541,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:1541,1
    - Dst: gpgrt_fclose
      Src: /src/gnupg/tools/gpg-connect-agent.c:1544,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1546,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-connect-agent.c:1549,1
    - Dst: gpgrt_fclose
      Src: /src/gnupg/tools/gpg-connect-agent.c:1556,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:1559,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1566,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:1566,1
    - Dst: memchr
      Src: /src/gnupg/tools/gpg-connect-agent.c:1569,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:1570,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:1570,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:1578,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpg-connect-agent.c:1593,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-connect-agent.c:1593,1
    - Dst: strcpy
      Src: /src/gnupg/tools/gpg-connect-agent.c:1595,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1599,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:1599,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1601,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:1601,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:1616,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:1620,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1622,1
    - Dst: assign_variable
      Src: /src/gnupg/tools/gpg-connect-agent.c:1624,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1626,1
    - Dst: assign_variable
      Src: /src/gnupg/tools/gpg-connect-agent.c:1629,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1631,1
    - Dst: show_variables
      Src: /src/gnupg/tools/gpg-connect-agent.c:1633,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1635,1
    - Dst: substitute_line
      Src: /src/gnupg/tools/gpg-connect-agent.c:1637,1
    - Dst: add_definq
      Src: /src/gnupg/tools/gpg-connect-agent.c:1640,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1641,1
    - Dst: add_definq
      Src: /src/gnupg/tools/gpg-connect-agent.c:1644,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1646,1
    - Dst: substitute_line
      Src: /src/gnupg/tools/gpg-connect-agent.c:1648,1
    - Dst: add_definq
      Src: /src/gnupg/tools/gpg-connect-agent.c:1651,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1652,1
    - Dst: add_definq
      Src: /src/gnupg/tools/gpg-connect-agent.c:1655,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1657,1
    - Dst: substitute_line
      Src: /src/gnupg/tools/gpg-connect-agent.c:1659,1
    - Dst: add_definq
      Src: /src/gnupg/tools/gpg-connect-agent.c:1662,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1663,1
    - Dst: add_definq
      Src: /src/gnupg/tools/gpg-connect-agent.c:1666,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1668,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-connect-agent.c:1675,1
    - Dst: substitute_line
      Src: /src/gnupg/tools/gpg-connect-agent.c:1678,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1680,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpg-connect-agent.c:1684,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1686,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:1687,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1689,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1691,1
    - Dst: show_definq
      Src: /src/gnupg/tools/gpg-connect-agent.c:1693,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1695,1
    - Dst: clear_definq
      Src: /src/gnupg/tools/gpg-connect-agent.c:1697,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1699,1
    - Dst: substitute_line
      Src: /src/gnupg/tools/gpg-connect-agent.c:1701,1
    - Dst: puts
      Src: /src/gnupg/tools/gpg-connect-agent.c:1704,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1705,1
    - Dst: puts
      Src: /src/gnupg/tools/gpg-connect-agent.c:1708,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1710,1
    - Dst: substitute_line
      Src: /src/gnupg/tools/gpg-connect-agent.c:1712,1
    - Dst: do_sendfd
      Src: /src/gnupg/tools/gpg-connect-agent.c:1715,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1716,1
    - Dst: do_sendfd
      Src: /src/gnupg/tools/gpg-connect-agent.c:1719,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1722,1
    - Dst: substitute_line
      Src: /src/gnupg/tools/gpg-connect-agent.c:1724,1
    - Dst: do_recvfd
      Src: /src/gnupg/tools/gpg-connect-agent.c:1727,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1728,1
    - Dst: do_recvfd
      Src: /src/gnupg/tools/gpg-connect-agent.c:1731,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1734,1
    - Dst: substitute_line
      Src: /src/gnupg/tools/gpg-connect-agent.c:1736,1
    - Dst: do_open
      Src: /src/gnupg/tools/gpg-connect-agent.c:1739,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1740,1
    - Dst: do_open
      Src: /src/gnupg/tools/gpg-connect-agent.c:1743,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1745,1
    - Dst: substitute_line
      Src: /src/gnupg/tools/gpg-connect-agent.c:1747,1
    - Dst: do_close
      Src: /src/gnupg/tools/gpg-connect-agent.c:1750,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1751,1
    - Dst: do_close
      Src: /src/gnupg/tools/gpg-connect-agent.c:1754,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1756,1
    - Dst: do_showopen
      Src: /src/gnupg/tools/gpg-connect-agent.c:1758,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1760,1
    - Dst: do_serverpid
      Src: /src/gnupg/tools/gpg-connect-agent.c:1762,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1764,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1766,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1768,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1770,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1772,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1777,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1779,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:1783,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:1787,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1791,1
    - Dst: gpgrt_fclose
      Src: /src/gnupg/tools/gpg-connect-agent.c:1794,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1800,1
    - Dst: gpgrt_fclose
      Src: /src/gnupg/tools/gpg-connect-agent.c:1801,1
    - Dst: gpgrt_fopen
      Src: /src/gnupg/tools/gpg-connect-agent.c:1804,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1806,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:1807,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:1810,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1812,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-connect-agent.c:1814,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1816,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-connect-agent.c:1828,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1832,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-connect-agent.c:1834,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1836,1
    - Dst: substitute_line_copy
      Src: /src/gnupg/tools/gpg-connect-agent.c:1848,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1852,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1855,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-connect-agent.c:1863,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1866,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-connect-agent.c:1867,1
    - Dst: substitute_line
      Src: /src/gnupg/tools/gpg-connect-agent.c:1869,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1874,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1875,1
    - Dst: strtol
      Src: /src/gnupg/tools/gpg-connect-agent.c:1878,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1879,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1880,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1893,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1901,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1907,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1907,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1911,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/tools/gpg-connect-agent.c:1913,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1915,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1917,1
    - Dst: tty_read_history
      Src: /src/gnupg/tools/gpg-connect-agent.c:1919,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1922,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:1924,1
    - Dst: puts
      Src: /src/gnupg/tools/gpg-connect-agent.c:1926,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1955,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:1955,1
    - Dst: puts
      Src: /src/gnupg/tools/gpg-connect-agent.c:1961,1
    - Dst: substitute_line
      Src: /src/gnupg/tools/gpg-connect-agent.c:1963,1
    - Dst: assuan_write_line
      Src: /src/gnupg/tools/gpg-connect-agent.c:1966,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:1967,1
    - Dst: assuan_write_line
      Src: /src/gnupg/tools/gpg-connect-agent.c:1970,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:1973,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:1973,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:1973,1
    - Dst: read_and_print_response
      Src: /src/gnupg/tools/gpg-connect-agent.c:1979,1
    - Dst: help_cmd_p
      Src: /src/gnupg/tools/gpg-connect-agent.c:1979,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:1981,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:1981,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:1981,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:1984,1
    - Dst: gpgrt_fclose
      Src: /src/gnupg/tools/gpg-connect-agent.c:1985,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:1998,1
    - Dst: tty_write_history
      Src: /src/gnupg/tools/gpg-connect-agent.c:2004,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:2005,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:2006,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-connect-agent.c:2006,1
    - Dst: assuan_release
      Src: /src/gnupg/tools/gpg-connect-agent.c:2015,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/tools/gpg-connect-agent.c:2017,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:2018,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:2019,1
    CyclomaticComplexity: 201
    EdgeCount: 201
    ICount: 552
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (loopidx < (int)DIM (loopstack))
      pos:
        line_end: 1481
        line_start: 1481
        source_file: /src/gnupg/tools/gpg-connect-agent.c
    constantsTouched: []
    func_position:
      end: 2021
      start: 1210
    functionDepth: 6
    functionLinenumber: 1210
    functionLinenumberEnd: 2021
    functionName: main
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 1
    functionsReached:
    - substitute_line
    - gpgrt_read_line
    - gnupg_homedir
    - tty_get
    - xstrdup
    - help_cmd_p
    - gpgrt_set_strusage
    - DIM
    - add_definq
    - gpgrt_annotate_leaked_object
    - do_recvfd
    - do_open
    - show_variables
    - xfree
    - do_sendfd
    - gnupg_chuid
    - parse_comopt
    - log_fatal
    - assuan_release
    - gpgrt_set_confdir
    - strlen
    - exit
    - tty_write_history
    - es_fopen
    - ascii_strcasecmp
    - log_error
    - early_system_init
    - log_get_errorcount
    - assuan_fd_from_posix_fd
    - gpgrt_fclose
    - strncmp
    - assuan_new
    - assuan_pending_line
    - assign_variable
    - gnupg_isatty
    - i18n_init
    - gnupg_rl_initialize
    - do_close
    - read_and_print_response
    - gpgrt_setvbuf
    - assuan_set_gpg_err_source
    - clear_definq
    - init_common_subsystems
    - gnupg_init_signals
    - gnupg_set_homedir
    - assuan_write_line
    - show_definq
    - log_set_prefix
    - assuan_socket_connect
    - gnupg_sleep
    - strtol
    - assert
    - gpg_error_from_syserror
    - spacep
    - assuan_pipe_connect
    - gnupg_sysconfdir
    - make_filename
    - xstrconcat
    - do_serverpid
    - setvbuf
    - do_showopen
    - strerror
    - es_fileno
    - xmalloc
    - puts
    - make_absfilename
    - _
    - log_info
    - substitute_line_copy
    - log_inc_errorcount
    - tty_read_history
    - gpgrt_fopen
    - fileno
    - strcmp
    - gpg_strerror
    - gpgrt_argparse
    - start_agent
    - es_fclose
    - strcpy
    - memchr
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:2040,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:2042,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-connect-agent.c:2046,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-connect-agent.c:2054,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:2063,1
    - Dst: get_var_ext
      Src: /src/gnupg/tools/gpg-connect-agent.c:2069,1
    - Dst: assuan_send_data
      Src: /src/gnupg/tools/gpg-connect-agent.c:2071,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-connect-agent.c:2071,1
    - Dst: assuan_send_data
      Src: /src/gnupg/tools/gpg-connect-agent.c:2073,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-connect-agent.c:2074,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:2076,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:2076,1
    - Dst: popen
      Src: /src/gnupg/tools/gpg-connect-agent.c:2082,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:2084,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:2085,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:2087,1
    - Dst: fopen
      Src: /src/gnupg/tools/gpg-connect-agent.c:2092,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:2094,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:2094,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:2096,1
    - Dst: fread
      Src: /src/gnupg/tools/gpg-connect-agent.c:2102,1
    - Dst: assuan_send_data
      Src: /src/gnupg/tools/gpg-connect-agent.c:2104,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:2107,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:2107,1
    - Dst: ferror
      Src: /src/gnupg/tools/gpg-connect-agent.c:2111,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:2112,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:2112,1
    - Dst: pclose
      Src: /src/gnupg/tools/gpg-connect-agent.c:2119,1
    - Dst: fclose
      Src: /src/gnupg/tools/gpg-connect-agent.c:2123,1
    - Dst: assuan_send_data
      Src: /src/gnupg/tools/gpg-connect-agent.c:2125,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:2127,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:2127,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 66
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2028
    functionDepth: 3
    functionLinenumber: 2028
    functionLinenumberEnd: 2130
    functionName: handle_inquire
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - pclose
    - popen
    - get_var_ext
    - strlen
    - log_error
    - fclose
    - spacep
    - strcmp
    - log_info
    - xfree
    - gpg_strerror
    - fopen
    - fread
    - strerror
    - ferror
    linkageType: ''
    returnType: int
    signature: int handle_inquire (assuan_context_t ctx, char *line)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: assuan_read_line
      Src: /src/gnupg/tools/gpg-connect-agent.c:2151,1
    - Dst: fwrite
      Src: /src/gnupg/tools/gpg-connect-agent.c:2157,1
    - Dst: putchar
      Src: /src/gnupg/tools/gpg-connect-agent.c:2158,1
    - Dst: xtoi_2
      Src: /src/gnupg/tools/gpg-connect-agent.c:2176,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpg-connect-agent.c:2181,1
    - Dst: printf
      Src: /src/gnupg/tools/gpg-connect-agent.c:2190,1
    - Dst: putchar
      Src: /src/gnupg/tools/gpg-connect-agent.c:2194,1
    - Dst: printf
      Src: /src/gnupg/tools/gpg-connect-agent.c:2196,1
    - Dst: fputs
      Src: /src/gnupg/tools/gpg-connect-agent.c:2198,1
    - Dst: fputs
      Src: /src/gnupg/tools/gpg-connect-agent.c:2200,1
    - Dst: putchar
      Src: /src/gnupg/tools/gpg-connect-agent.c:2206,1
    - Dst: isascii
      Src: /src/gnupg/tools/gpg-connect-agent.c:2207,1
    - Dst: isprint
      Src: /src/gnupg/tools/gpg-connect-agent.c:2207,1
    - Dst: iscntrl
      Src: /src/gnupg/tools/gpg-connect-agent.c:2207,1
    - Dst: putchar
      Src: /src/gnupg/tools/gpg-connect-agent.c:2208,1
    - Dst: putchar
      Src: /src/gnupg/tools/gpg-connect-agent.c:2210,1
    - Dst: putchar
      Src: /src/gnupg/tools/gpg-connect-agent.c:2212,1
    - Dst: fputs
      Src: /src/gnupg/tools/gpg-connect-agent.c:2225,1
    - Dst: xtoi_2
      Src: /src/gnupg/tools/gpg-connect-agent.c:2231,1
    - Dst: putchar
      Src: /src/gnupg/tools/gpg-connect-agent.c:2238,1
    - Dst: fwrite
      Src: /src/gnupg/tools/gpg-connect-agent.c:2244,1
    - Dst: putchar
      Src: /src/gnupg/tools/gpg-connect-agent.c:2245,1
    - Dst: putchar
      Src: /src/gnupg/tools/gpg-connect-agent.c:2253,1
    - Dst: fwrite
      Src: /src/gnupg/tools/gpg-connect-agent.c:2263,1
    - Dst: putchar
      Src: /src/gnupg/tools/gpg-connect-agent.c:2264,1
    - Dst: fwrite
      Src: /src/gnupg/tools/gpg-connect-agent.c:2273,1
    - Dst: putchar
      Src: /src/gnupg/tools/gpg-connect-agent.c:2274,1
    - Dst: set_int_var
      Src: /src/gnupg/tools/gpg-connect-agent.c:2276,1
    - Dst: strtol
      Src: /src/gnupg/tools/gpg-connect-agent.c:2285,1
    - Dst: set_int_var
      Src: /src/gnupg/tools/gpg-connect-agent.c:2288,1
    - Dst: fwrite
      Src: /src/gnupg/tools/gpg-connect-agent.c:2291,1
    - Dst: putchar
      Src: /src/gnupg/tools/gpg-connect-agent.c:2292,1
    - Dst: fwrite
      Src: /src/gnupg/tools/gpg-connect-agent.c:2305,1
    - Dst: putchar
      Src: /src/gnupg/tools/gpg-connect-agent.c:2306,1
    - Dst: handle_inquire
      Src: /src/gnupg/tools/gpg-connect-agent.c:2308,1
    - Dst: assuan_write_line
      Src: /src/gnupg/tools/gpg-connect-agent.c:2309,1
    - Dst: fwrite
      Src: /src/gnupg/tools/gpg-connect-agent.c:2317,1
    - Dst: putchar
      Src: /src/gnupg/tools/gpg-connect-agent.c:2318,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:2323,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 120
    argCount: 3
    argNames:
    - ctx
    - withhash
    - r_goterr
    argTypes:
    - assuan_context_t
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2326
      start: 2137
    functionDepth: 4
    functionLinenumber: 2137
    functionLinenumberEnd: 2326
    functionName: read_and_print_response
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 1
    functionsReached:
    - strtol
    - printf
    - fwrite
    - assuan_write_line
    - handle_inquire
    - es_putc
    - iscntrl
    - gpg_error
    - isprint
    - fputs
    - xtoi_2
    - set_int_var
    - putchar
    - assuan_read_line
    - isascii
    linkageType: ''
    returnType: int
    signature: int read_and_print_response (assuan_context_t ctx, int withhash, int
      *r_goterr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: session_env_new
      Src: /src/gnupg/tools/gpg-connect-agent.c:2339,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-connect-agent.c:2341,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:2342,1
    - Dst: start_new_dirmngr
      Src: /src/gnupg/tools/gpg-connect-agent.c:2344,1
    - Dst: start_new_keyboxd
      Src: /src/gnupg/tools/gpg-connect-agent.c:2351,1
    - Dst: start_new_gpg_agent
      Src: /src/gnupg/tools/gpg-connect-agent.c:2358,1
    - Dst: session_env_release
      Src: /src/gnupg/tools/gpg-connect-agent.c:2367,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-connect-agent.c:2371,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-connect-agent.c:2377,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:2378,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:2380,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:2381,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-connect-agent.c:2382,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-connect-agent.c:2386,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-connect-agent.c:2386,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-connect-agent.c:2387,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-connect-agent.c:2388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2393
      start: 2332
    functionDepth: 1
    functionLinenumber: 2332
    functionLinenumberEnd: 2393
    functionName: start_agent
    functionSourceFile: /src/gnupg/tools/gpg-connect-agent.c
    functionUses: 2
    functionsReached:
    - log_error
    - session_env_new
    - log_fatal
    - session_env_release
    - exit
    - _
    - gpg_err_code
    - log_info
    - start_new_keyboxd
    - start_new_gpg_agent
    - gpg_strerror
    - start_new_dirmngr
    - strerror
    linkageType: ''
    returnType: assuan_context_t
    signature: assuan_context_t start_agent (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-list.c:71,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - data
    - length
    - filename
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 79
    functionName: parse_xoctal
    functionSourceFile: /src/gnupg/tools/gpgtar-list.c
    functionUses: 0
    functionsReached:
    - log_error
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long parse_xoctal (const void *data, size_t length, const
      char *filename)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/tools/gpgtar-list.c:93,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-list.c:101,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-list.c:107,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-list.c:118,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-list.c:123,1
    - Dst: xtrycalloc
      Src: /src/gnupg/tools/gpgtar-list.c:131,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-list.c:134,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-list.c:135,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-list.c:135,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpgtar-list.c:141,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpgtar-list.c:147,1
    - Dst: parse_xoctal
      Src: /src/gnupg/tools/gpgtar-list.c:150,1
    - Dst: parse_xoctal
      Src: /src/gnupg/tools/gpgtar-list.c:151,1
    - Dst: parse_xoctal
      Src: /src/gnupg/tools/gpgtar-list.c:152,1
    - Dst: parse_xoctal
      Src: /src/gnupg/tools/gpgtar-list.c:153,1
    - Dst: parse_xoctal
      Src: /src/gnupg/tools/gpgtar-list.c:154,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-list.c:181,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 89
    argCount: 3
    argNames:
    - record
    - filename
    - info
    argTypes:
    - void*
    - char*
    - tarinfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 189
    functionName: parse_header
    functionSourceFile: /src/gnupg/tools/gpgtar-list.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - memcmp
    - gpg_strerror
    - log_info
    - parse_xoctal
    - xtrycalloc
    - memcpy
    linkageType: ''
    returnType: tar_header_t
    signature: tar_header_t parse_header (const void *record, const char *filename,
      tarinfo_t info)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/tools/gpgtar-list.c:204,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-list.c:211,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpgtar-list.c:212,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-list.c:218,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpgtar-list.c:220,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-list.c:224,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpgtar-list.c:225,1
    - Dst: memchr
      Src: /src/gnupg/tools/gpgtar-list.c:231,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpgtar-list.c:232,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpgtar-list.c:232,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-list.c:234,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpgtar-list.c:237,1
    - Dst: add_to_strlist_try
      Src: /src/gnupg/tools/gpgtar-list.c:239,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-list.c:241,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpgtar-list.c:244,1
    - Dst: add_to_strlist_try
      Src: /src/gnupg/tools/gpgtar-list.c:246,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-list.c:248,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 4
    argNames:
    - fname
    - buffer
    - buflen
    - r_exthdr
    argTypes:
    - char*
    - char*
    - size_t
    - strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 257
    functionName: parse_extended_header
    functionSourceFile: /src/gnupg/tools/gpgtar-list.c
    functionUses: 0
    functionsReached:
    - log_error
    - digitp
    - gpg_error_from_syserror
    - gpg_error
    - add_to_strlist_try
    - strncmp
    - memchr
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_extended_header (const char *fname,\n                       char
      *buffer, size_t buflen, strlist_t *r_exthdr)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: read_record
      Src: /src/gnupg/tools/gpgtar-list.c:279,1
    - Dst: read_record
      Src: /src/gnupg/tools/gpgtar-list.c:290,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-list.c:298,1
    - Dst: es_fname_get
      Src: /src/gnupg/tools/gpgtar-list.c:299,1
    - Dst: parse_header
      Src: /src/gnupg/tools/gpgtar-list.c:308,1
    - Dst: es_fname_get
      Src: /src/gnupg/tools/gpgtar-list.c:308,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-list.c:310,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-list.c:320,1
    - Dst: es_fname_get
      Src: /src/gnupg/tools/gpgtar-list.c:321,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-list.c:327,1
    - Dst: es_fname_get
      Src: /src/gnupg/tools/gpgtar-list.c:328,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tools/gpgtar-list.c:332,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-list.c:335,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-list.c:336,1
    - Dst: es_fname_get
      Src: /src/gnupg/tools/gpgtar-list.c:337,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-list.c:337,1
    - Dst: read_record
      Src: /src/gnupg/tools/gpgtar-list.c:344,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-list.c:347,1
    - Dst: parse_extended_header
      Src: /src/gnupg/tools/gpgtar-list.c:358,1
    - Dst: es_fname_get
      Src: /src/gnupg/tools/gpgtar-list.c:358,1
    - Dst: free_strlist
      Src: /src/gnupg/tools/gpgtar-list.c:362,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-list.c:366,1
    - Dst: read_header
      Src: /src/gnupg/tools/gpgtar-list.c:369,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 4
    argNames:
    - stream
    - info
    - r_header
    - r_extheader
    argTypes:
    - estream_t
    - tarinfo_t
    - tar_header_t*
    - strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 370
    functionName: read_header
    functionSourceFile: /src/gnupg/tools/gpgtar-list.c
    functionUses: 1
    functionsReached:
    - es_fname_get
    - read_record
    - gpg_error_from_syserror
    - log_error
    - parse_extended_header
    - parse_header
    - log_info
    - gpg_strerror
    - xfree
    - read_header
    - xtrymalloc
    - free_strlist
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t read_header (estream_t stream, tarinfo_t info,\n             tar_header_t
      *r_header, strlist_t *r_extheader)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_record
      Src: /src/gnupg/tools/gpgtar-list.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - stream
    - info
    - header
    argTypes:
    - estream_t
    - tarinfo_t
    - tar_header_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 389
    functionName: skip_data
    functionSourceFile: /src/gnupg/tools/gpgtar-list.c
    functionUses: 0
    functionsReached:
    - read_record
    linkageType: ''
    returnType: int
    signature: int skip_data (estream_t stream, tarinfo_t info, tar_header_t header)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgtar-list.c:441,1
    - Dst: isotimestamp
      Src: /src/gnupg/tools/gpgtar-list.c:443,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 3
    argNames:
    - header
    - extheader
    - out
    argTypes:
    - tar_header_t
    - strlist_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 447
    functionName: print_header
    functionSourceFile: /src/gnupg/tools/gpgtar-list.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - isotimestamp
    linkageType: ''
    returnType: void
    signature: void print_header (tar_header_t header, strlist_t extheader, estream_t
      out)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/gpgtar-list.c:464,1
    - Dst: ccparray_init
      Src: /src/gnupg/tools/gpgtar-list.c:478,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-list.c:480,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-list.c:482,1
    - Dst: snprintf
      Src: /src/gnupg/tools/gpgtar-list.c:488,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-list.c:489,1
    - Dst: es_syshd
      Src: /src/gnupg/tools/gpgtar-list.c:490,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-list.c:497,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-list.c:498,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-list.c:499,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-list.c:501,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-list.c:504,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-list.c:505,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-list.c:508,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/gpgtar-list.c:509,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-list.c:512,1
    - Dst: gpgrt_spawn_actions_new
      Src: /src/gnupg/tools/gpgtar-list.c:516,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-list.c:519,1
    - Dst: gpgrt_spawn_actions_set_inherit_handles
      Src: /src/gnupg/tools/gpgtar-list.c:524,1
    - Dst: gpgrt_spawn_actions_set_inherit_fds
      Src: /src/gnupg/tools/gpgtar-list.c:526,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/tools/gpgtar-list.c:528,1
    - Dst: gpgrt_spawn_actions_release
      Src: /src/gnupg/tools/gpgtar-list.c:532,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-list.c:533,1
    - Dst: gpgrt_process_get_streams
      Src: /src/gnupg/tools/gpgtar-list.c:536,1
    - Dst: es_set_binary
      Src: /src/gnupg/tools/gpgtar-list.c:537,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgtar-list.c:541,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpgtar-list.c:544,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-list.c:547,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-list.c:548,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-list.c:548,1
    - Dst: es_set_binary
      Src: /src/gnupg/tools/gpgtar-list.c:552,1
    - Dst: es_set_binary
      Src: /src/gnupg/tools/gpgtar-list.c:557,1
    - Dst: read_header
      Src: /src/gnupg/tools/gpgtar-list.c:562,1
    - Dst: print_header
      Src: /src/gnupg/tools/gpgtar-list.c:568,1
    - Dst: skip_data
      Src: /src/gnupg/tools/gpgtar-list.c:570,1
    - Dst: free_strlist
      Src: /src/gnupg/tools/gpgtar-list.c:572,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-list.c:574,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgtar-list.c:580,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-list.c:583,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-list.c:583,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/tools/gpgtar-list.c:585,1
    - Dst: gpgrt_process_ctl
      Src: /src/gnupg/tools/gpgtar-list.c:590,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-list.c:592,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-list.c:593,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpgtar-list.c:595,1
    - Dst: free_strlist
      Src: /src/gnupg/tools/gpgtar-list.c:600,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-list.c:601,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgtar-list.c:603,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpgtar-list.c:604,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 102
    argCount: 2
    argNames:
    - filename
    - decrypt
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 453
    functionDepth: 3
    functionLinenumber: 453
    functionLinenumberEnd: 606
    functionName: gpgtar_list
    functionSourceFile: /src/gnupg/tools/gpgtar-list.c
    functionUses: 0
    functionsReached:
    - ccparray_put
    - es_fopen
    - read_header
    - log_error
    - gpgrt_spawn_actions_set_inherit_handles
    - skip_data
    - gpgrt_spawn_actions_new
    - gpgrt_process_wait
    - print_header
    - free_strlist
    - gpgrt_process_get_streams
    - ccparray_get
    - es_set_binary
    - gpg_error_from_syserror
    - gpgrt_process_spawn
    - es_syshd
    - strcmp
    - memset
    - xfree
    - gpg_strerror
    - gpgrt_spawn_actions_release
    - gpgrt_process_release
    - snprintf
    - es_fclose
    - ccparray_init
    - gpgrt_process_ctl
    - gpgrt_spawn_actions_set_inherit_fds
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpgtar_list (const char *filename, int decrypt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_header
      Src: /src/gnupg/tools/gpgtar-list.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - stream
    - info
    - r_header
    - r_extheader
    argTypes:
    - estream_t
    - tarinfo_t
    - tar_header_t*
    - strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 609
    functionDepth: 3
    functionLinenumber: 609
    functionLinenumberEnd: 614
    functionName: gpgtar_read_header
    functionSourceFile: /src/gnupg/tools/gpgtar-list.c
    functionUses: 0
    functionsReached:
    - read_header
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gpgtar_read_header (estream_t stream, tarinfo_t info,\n
      \                   tar_header_t *r_header, strlist_t *r_extheader)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_header
      Src: /src/gnupg/tools/gpgtar-list.c:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - header
    - extheader
    - out
    argTypes:
    - tar_header_t
    - strlist_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 621
    functionName: gpgtar_print_header
    functionSourceFile: /src/gnupg/tools/gpgtar-list.c
    functionUses: 0
    functionsReached:
    - print_header
    linkageType: ''
    returnType: void
    signature: void gpgtar_print_header (tar_header_t header, strlist_t extheader,
      estream_t out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/tools/rfc822parse.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - line
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 132
    functionName: length_sans_trailing_ws
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: size_t
    signature: size_t length_sans_trailing_ws (const unsigned char *line, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - string
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: lowercase_string
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lowercase_string (unsigned char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: my_toupper
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int my_toupper (int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: my_toupper
      Src: /src/gnupg/tools/rfc822parse.c:161,1
    - Dst: my_toupper
      Src: /src/gnupg/tools/rfc822parse.c:161,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 167
    functionName: same_header_name
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - my_toupper
    linkageType: ''
    returnType: int
    signature: int same_header_name (const char *a, const char *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: my_stpcpy
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      my_stpcpy (char *a,const char *b)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rfc822parse_t::callback
      Src: /src/gnupg/tools/rfc822parse.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - event
    argTypes:
    - rfc822parse_t
    - rfc822parse_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: do_callback
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - rfc822parse_t::callback
    linkageType: ''
    returnType: int
    signature: int do_callback (rfc822parse_t msg, rfc822parse_event_t event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnupg/tools/rfc822parse.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: new_part
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 1
    functionsReached:
    - calloc
    linkageType: ''
    returnType: part_t
    signature: part_t new_part (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_part
      Src: /src/gnupg/tools/rfc822parse.c:223,1
    - Dst: free
      Src: /src/gnupg/tools/rfc822parse.c:227,1
    - Dst: free
      Src: /src/gnupg/tools/rfc822parse.c:229,1
    - Dst: free
      Src: /src/gnupg/tools/rfc822parse.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - part
    argTypes:
    - part_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 232
    functionName: release_part
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 1
    functionsReached:
    - free
    - release_part
    linkageType: ''
    returnType: void
    signature: void release_part (part_t part)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_part
      Src: /src/gnupg/tools/rfc822parse.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - rfc822parse_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: release_handle_data
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - release_part
    linkageType: ''
    returnType: void
    signature: void release_handle_data (rfc822parse_t msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnupg/tools/rfc822parse.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionName: rfc822_free
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void rfc822_free (void *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/tools/rfc822parse.c:265,1
    - Dst: strlen
      Src: /src/gnupg/tools/rfc822parse.c:268,1
    - Dst: strspn
      Src: /src/gnupg/tools/rfc822parse.c:271,1
    - Dst: strchr
      Src: /src/gnupg/tools/rfc822parse.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 275
    functionName: rfc822_valid_header_name_p
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 1
    functionsReached:
    - strchr
    - strspn
    - strlen
    linkageType: ''
    returnType: int
    signature: int rfc822_valid_header_name_p (const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: same_header_name
      Src: /src/gnupg/tools/rfc822parse.c:287,1
    - Dst: memcpy
      Src: /src/gnupg/tools/rfc822parse.c:289,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 307
    functionName: rfc822_capitalize_header_name
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 1
    functionsReached:
    - memcpy
    - same_header_name
    linkageType: ''
    returnType: void
    signature: void rfc822_capitalize_header_name (char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 324
    functionName: rfc822_cmp_header_name
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rfc822_cmp_header_name (const char *a, const char *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnupg/tools/rfc822parse.c:333,1
    - Dst: new_part
      Src: /src/gnupg/tools/rfc822parse.c:336,1
    - Dst: free
      Src: /src/gnupg/tools/rfc822parse.c:339,1
    - Dst: do_callback
      Src: /src/gnupg/tools/rfc822parse.c:346,1
    - Dst: release_handle_data
      Src: /src/gnupg/tools/rfc822parse.c:348,1
    - Dst: free
      Src: /src/gnupg/tools/rfc822parse.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - cb
    - cb_value
    argTypes:
    - rfc822parse_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 355
    functionName: rfc822parse_open
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - release_handle_data
    - do_callback
    - calloc
    - new_part
    - free
    linkageType: ''
    returnType: rfc822parse_t
    signature: rfc822parse_t rfc822parse_open (rfc822parse_cb_t cb, void *cb_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_callback
      Src: /src/gnupg/tools/rfc822parse.c:363,1
    - Dst: release_handle_data
      Src: /src/gnupg/tools/rfc822parse.c:364,1
    - Dst: free
      Src: /src/gnupg/tools/rfc822parse.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - rfc822parse_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: rfc822parse_cancel
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - release_handle_data
    - do_callback
    - free
    linkageType: ''
    returnType: void
    signature: void rfc822parse_cancel (rfc822parse_t msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_callback
      Src: /src/gnupg/tools/rfc822parse.c:375,1
    - Dst: release_handle_data
      Src: /src/gnupg/tools/rfc822parse.c:376,1
    - Dst: free
      Src: /src/gnupg/tools/rfc822parse.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - rfc822parse_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 379
    functionName: rfc822parse_close
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - release_handle_data
    - do_callback
    - free
    linkageType: ''
    returnType: void
    signature: void rfc822parse_close (rfc822parse_t msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_parent
      Src: /src/gnupg/tools/rfc822parse.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - tree
    - target
    argTypes:
    - part_t
    - part_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 398
    functionName: find_parent
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 3
    functionsReached:
    - find_parent
    linkageType: ''
    returnType: part_t
    signature: part_t find_parent (part_t tree, part_t target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tools/rfc822parse.c:405,1
    - Dst: find_parent
      Src: /src/gnupg/tools/rfc822parse.c:406,1
    - Dst: assert
      Src: /src/gnupg/tools/rfc822parse.c:416,1
    - Dst: find_parent
      Src: /src/gnupg/tools/rfc822parse.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - msg
    argTypes:
    - rfc822parse_t
    assertStmts:
    - condition: (msg->current_part)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/gnupg/tools/rfc822parse.c
    - condition: (part)
      pos:
        line_end: 415
        line_start: 415
        source_file: /src/gnupg/tools/rfc822parse.c
    constantsTouched: []
    func_position:
      end: 423
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 423
    functionName: set_current_part_to_parent
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - find_parent
    - assert
    linkageType: ''
    returnType: void
    signature: void set_current_part_to_parent (rfc822parse_t msg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: do_callback
      Src: /src/gnupg/tools/rfc822parse.c:439,1
    - Dst: rfc822parse_parse_field
      Src: /src/gnupg/tools/rfc822parse.c:443,1
    - Dst: rfc822parse_query_media_type
      Src: /src/gnupg/tools/rfc822parse.c:448,1
    - Dst: strcmp
      Src: /src/gnupg/tools/rfc822parse.c:449,1
    - Dst: rfc822parse_query_parameter
      Src: /src/gnupg/tools/rfc822parse.c:451,1
    - Dst: malloc
      Src: /src/gnupg/tools/rfc822parse.c:460,1
    - Dst: strlen
      Src: /src/gnupg/tools/rfc822parse.c:460,1
    - Dst: strcpy
      Src: /src/gnupg/tools/rfc822parse.c:465,1
    - Dst: new_part
      Src: /src/gnupg/tools/rfc822parse.c:467,1
    - Dst: rfc822parse_release_field
      Src: /src/gnupg/tools/rfc822parse.c:471,1
    - Dst: do_callback
      Src: /src/gnupg/tools/rfc822parse.c:475,1
    - Dst: rfc822parse_release_field
      Src: /src/gnupg/tools/rfc822parse.c:487,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - msg
    argTypes:
    - rfc822parse_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 492
    functionName: transition_to_body
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - rfc822parse_query_media_type
    - do_callback
    - strlen
    - rfc822parse_parse_field
    - strcmp
    - strcpy
    - malloc
    - new_part
    - rfc822parse_query_parameter
    - rfc822parse_release_field
    linkageType: ''
    returnType: int
    signature: int transition_to_body (rfc822parse_t msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: new_part
      Src: /src/gnupg/tools/rfc822parse.c:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - msg
    argTypes:
    - rfc822parse_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 515
    functionName: transition_to_header
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - new_part
    linkageType: ''
    returnType: int
    signature: int transition_to_header (rfc822parse_t msg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: transition_to_body
      Src: /src/gnupg/tools/rfc822parse.c:533,1
    - Dst: do_callback
      Src: /src/gnupg/tools/rfc822parse.c:537,1
    - Dst: length_sans_trailing_ws
      Src: /src/gnupg/tools/rfc822parse.c:539,1
    - Dst: malloc
      Src: /src/gnupg/tools/rfc822parse.c:540,1
    - Dst: memcpy
      Src: /src/gnupg/tools/rfc822parse.c:545,1
    - Dst: strchr
      Src: /src/gnupg/tools/rfc822parse.c:549,1
    - Dst: rfc822_capitalize_header_name
      Src: /src/gnupg/tools/rfc822parse.c:551,1
    - Dst: do_callback
      Src: /src/gnupg/tools/rfc822parse.c:562,1
    - Dst: memcmp
      Src: /src/gnupg/tools/rfc822parse.c:565,1
    - Dst: do_callback
      Src: /src/gnupg/tools/rfc822parse.c:566,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - msg
    - line
    - length
    argTypes:
    - rfc822parse_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 518
    functionDepth: 3
    functionLinenumber: 518
    functionLinenumberEnd: 570
    functionName: insert_header
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - do_callback
    - length_sans_trailing_ws
    - strchr
    - transition_to_body
    - memcmp
    - malloc
    - rfc822_capitalize_header_name
    - memcpy
    linkageType: ''
    returnType: int
    signature: int insert_header (rfc822parse_t msg, const unsigned char *line, size_t
      length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/tools/rfc822parse.c:583,1
    - Dst: memcmp
      Src: /src/gnupg/tools/rfc822parse.c:586,1
    - Dst: do_callback
      Src: /src/gnupg/tools/rfc822parse.c:588,1
    - Dst: transition_to_header
      Src: /src/gnupg/tools/rfc822parse.c:591,1
    - Dst: memcmp
      Src: /src/gnupg/tools/rfc822parse.c:596,1
    - Dst: do_callback
      Src: /src/gnupg/tools/rfc822parse.c:598,1
    - Dst: set_current_part_to_parent
      Src: /src/gnupg/tools/rfc822parse.c:600,1
    - Dst: do_callback
      Src: /src/gnupg/tools/rfc822parse.c:605,1
    - Dst: do_callback
      Src: /src/gnupg/tools/rfc822parse.c:609,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 3
    argNames:
    - msg
    - line
    - length
    argTypes:
    - rfc822parse_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 612
    functionName: insert_body
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - transition_to_header
    - do_callback
    - strlen
    - set_current_part_to_parent
    - memcmp
    linkageType: ''
    returnType: int
    signature: int insert_body (rfc822parse_t msg, const unsigned char *line, size_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert_body
      Src: /src/gnupg/tools/rfc822parse.c:620,1
    - Dst: insert_header
      Src: /src/gnupg/tools/rfc822parse.c:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - line
    - length
    argTypes:
    - rfc822parse_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 616
    functionDepth: 4
    functionLinenumber: 616
    functionLinenumberEnd: 622
    functionName: rfc822parse_insert
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - insert_body
    - insert_header
    linkageType: ''
    returnType: int
    signature: int rfc822parse_insert (rfc822parse_t msg, const unsigned char *line,
      size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_callback
      Src: /src/gnupg/tools/rfc822parse.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - rfc822parse_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: rfc822parse_finish
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - do_callback
    linkageType: ''
    returnType: int
    signature: int rfc822parse_finish (rfc822parse_t msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - rfc822parse_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 643
    functionName: rfc822parse_last_header_line
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rfc822parse_last_header_line (rfc822parse_t msg)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_header
      Src: /src/gnupg/tools/rfc822parse.c:674,1
    - Dst: strlen
      Src: /src/gnupg/tools/rfc822parse.c:681,1
    - Dst: strlen
      Src: /src/gnupg/tools/rfc822parse.c:683,1
    - Dst: malloc
      Src: /src/gnupg/tools/rfc822parse.c:685,1
    - Dst: stpcpy
      Src: /src/gnupg/tools/rfc822parse.c:688,1
    - Dst: stpcpy
      Src: /src/gnupg/tools/rfc822parse.c:692,1
    - Dst: strchr
      Src: /src/gnupg/tools/rfc822parse.c:700,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - msg
    - name
    - which
    - valueoff
    argTypes:
    - rfc822parse_t
    - char*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 713
    functionName: rfc822parse_get_field
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 2
    functionsReached:
    - strlen
    - find_header
    - strchr
    - malloc
    - stpcpy
    linkageType: ''
    returnType: char
    signature: "char *\nrfc822parse_get_field (rfc822parse_t msg, const char *name,
      int which,\n                       size_t *valueoff)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - msg
    - context
    argTypes:
    - rfc822parse_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 744
    functionName: rfc822parse_enum_header_lines
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rfc822parse_enum_header_lines (rfc822parse_t msg, void **context)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/tools/rfc822parse.c:772,1
    - Dst: strchr
      Src: /src/gnupg/tools/rfc822parse.c:793,1
    - Dst: memcmp
      Src: /src/gnupg/tools/rfc822parse.c:799,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 4
    argNames:
    - msg
    - name
    - which
    - rprev
    argTypes:
    - rfc822parse_t
    - char*
    - int
    - HDR_LINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 815
    functionName: find_header
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 1
    functionsReached:
    - strchr
    - memcmp
    - strlen
    linkageType: ''
    returnType: HDR_LINE
    signature: HDR_LINE find_header (rfc822parse_t msg, const char *name, int which,
      HDR_LINE *rprev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 825
    functionName: skip_ws
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      skip_ws (const char *s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnupg/tools/rfc822parse.c:836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - TOKEN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 839
    functionName: release_token_list
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void release_token_list (TOKEN t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/tools/rfc822parse.c:849,1
    - Dst: memset
      Src: /src/gnupg/tools/rfc822parse.c:854,1
    - Dst: memcpy
      Src: /src/gnupg/tools/rfc822parse.c:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - type
    - buf
    - length
    argTypes:
    - enum token_type
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 865
    functionName: new_token
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - memset
    - malloc
    - memcpy
    linkageType: ''
    returnType: TOKEN
    signature: TOKEN new_token (enum token_type type, const char *buf, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/tools/rfc822parse.c:870,1
    - Dst: malloc
      Src: /src/gnupg/tools/rfc822parse.c:873,1
    - Dst: memcpy
      Src: /src/gnupg/tools/rfc822parse.c:879,1
    - Dst: memcpy
      Src: /src/gnupg/tools/rfc822parse.c:880,1
    - Dst: release_token_list
      Src: /src/gnupg/tools/rfc822parse.c:883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - old
    - buf
    - length
    argTypes:
    - TOKEN
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 886
    functionName: append_to_token
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - release_token_list
    - memcpy
    - malloc
    - strlen
    linkageType: ''
    returnType: TOKEN
    signature: TOKEN append_to_token (TOKEN old, const char *buf, size_t length)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/tools/rfc822parse.c:926,1
    - Dst: memcmp
      Src: /src/gnupg/tools/rfc822parse.c:938,1
    - Dst: append_to_token
      Src: /src/gnupg/tools/rfc822parse.c:1018,1
    - Dst: new_token
      Src: /src/gnupg/tools/rfc822parse.c:1019,1
    - Dst: strchr
      Src: /src/gnupg/tools/rfc822parse.c:1035,1
    - Dst: new_token
      Src: /src/gnupg/tools/rfc822parse.c:1038,1
    - Dst: skip_ws
      Src: /src/gnupg/tools/rfc822parse.c:1048,1
    - Dst: strchr
      Src: /src/gnupg/tools/rfc822parse.c:1054,1
    - Dst: new_token
      Src: /src/gnupg/tools/rfc822parse.c:1056,1
    - Dst: new_token
      Src: /src/gnupg/tools/rfc822parse.c:1067,1
    - Dst: release_token_list
      Src: /src/gnupg/tools/rfc822parse.c:1082,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 130
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - HDR_LINE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 1086
    functionName: parse_field
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 1
    functionsReached:
    - new_token
    - release_token_list
    - skip_ws
    - strchr
    - memcmp
    - append_to_token
    linkageType: ''
    returnType: TOKEN
    signature: TOKEN parse_field (HDR_LINE hdr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_header
      Src: /src/gnupg/tools/rfc822parse.c:1109,1
    - Dst: parse_field
      Src: /src/gnupg/tools/rfc822parse.c:1112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - msg
    - name
    - which
    argTypes:
    - rfc822parse_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1101
    functionDepth: 3
    functionLinenumber: 1101
    functionLinenumberEnd: 1113
    functionName: rfc822parse_parse_field
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 1
    functionsReached:
    - parse_field
    - find_header
    linkageType: ''
    returnType: rfc822parse_field_t
    signature: rfc822parse_field_t rfc822parse_parse_field (rfc822parse_t msg, const
      char *name, int which)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_token_list
      Src: /src/gnupg/tools/rfc822parse.c:1119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - rfc822parse_field_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1120
    functionName: rfc822parse_release_field
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 1
    functionsReached:
    - release_token_list
    linkageType: ''
    returnType: void
    signature: void rfc822parse_release_field (rfc822parse_field_t ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - t
    argTypes:
    - TOKEN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1142
    functionName: is_parameter
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_parameter (TOKEN t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_parameter
      Src: /src/gnupg/tools/rfc822parse.c:1171,1
    - Dst: lowercase_string
      Src: /src/gnupg/tools/rfc822parse.c:1176,1
    - Dst: strcmp
      Src: /src/gnupg/tools/rfc822parse.c:1179,1
    - Dst: lowercase_string
      Src: /src/gnupg/tools/rfc822parse.c:1187,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - attr
    - lower_value
    argTypes:
    - rfc822parse_field_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1158
    functionDepth: 1
    functionLinenumber: 1158
    functionLinenumberEnd: 1195
    functionName: rfc822parse_query_parameter
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 1
    functionsReached:
    - is_parameter
    - lowercase_string
    - strcmp
    linkageType: ''
    returnType: char
    signature: "char *\nrfc822parse_query_parameter (rfc822parse_field_t ctx, const
      char *attr,\n                             int lower_value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lowercase_string
      Src: /src/gnupg/tools/rfc822parse.c:1215,1
    - Dst: lowercase_string
      Src: /src/gnupg/tools/rfc822parse.c:1230,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - subtype
    argTypes:
    - rfc822parse_field_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1205
    functionDepth: 1
    functionLinenumber: 1205
    functionLinenumberEnd: 1236
    functionName: rfc822parse_query_media_type
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 1
    functionsReached:
    - lowercase_string
    linkageType: ''
    returnType: char
    signature: 'char *

      rfc822parse_query_media_type (rfc822parse_field_t ctx, const char **subtype)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/tools/rfc822parse.c:1250,1
    - Dst: rfc822parse_parse_field
      Src: /src/gnupg/tools/rfc822parse.c:1263,1
    - Dst: rfc822parse_query_media_type
      Src: /src/gnupg/tools/rfc822parse.c:1268,1
    - Dst: printf
      Src: /src/gnupg/tools/rfc822parse.c:1270,1
    - Dst: printf
      Src: /src/gnupg/tools/rfc822parse.c:1272,1
    - Dst: rfc822parse_query_parameter
      Src: /src/gnupg/tools/rfc822parse.c:1274,1
    - Dst: printf
      Src: /src/gnupg/tools/rfc822parse.c:1276,1
    - Dst: rfc822parse_release_field
      Src: /src/gnupg/tools/rfc822parse.c:1277,1
    - Dst: printf
      Src: /src/gnupg/tools/rfc822parse.c:1280,1
    - Dst: putchar
      Src: /src/gnupg/tools/rfc822parse.c:1281,1
    - Dst: dump_structure
      Src: /src/gnupg/tools/rfc822parse.c:1284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - msg
    - part
    - indent
    argTypes:
    - rfc822parse_t
    - part_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1245
    functionDepth: 4
    functionLinenumber: 1245
    functionLinenumberEnd: 1287
    functionName: dump_structure
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 1
    functionsReached:
    - rfc822parse_query_media_type
    - printf
    - rfc822parse_parse_field
    - dump_structure
    - rfc822parse_query_parameter
    - rfc822parse_release_field
    - putchar
    linkageType: ''
    returnType: void
    signature: void dump_structure (rfc822parse_t msg, part_t part, int indent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rfc822parse_query_parameter
      Src: /src/gnupg/tools/rfc822parse.c:1298,1
    - Dst: printf
      Src: /src/gnupg/tools/rfc822parse.c:1300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - rfc822parse_field_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1291
    functionDepth: 2
    functionLinenumber: 1291
    functionLinenumberEnd: 1301
    functionName: show_param
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - rfc822parse_query_parameter
    - printf
    linkageType: ''
    returnType: void
    signature: void show_param (rfc822parse_field_t ctx, const char *name)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/tools/rfc822parse.c:1327,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - event
    argTypes:
    - rfc822parse_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1328
    functionName: show_event
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void show_event (rfc822parse_event_t event)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: show_event
      Src: /src/gnupg/tools/rfc822parse.c:1333,1
    - Dst: rfc822parse_enum_header_lines
      Src: /src/gnupg/tools/rfc822parse.c:1340,1
    - Dst: printf
      Src: /src/gnupg/tools/rfc822parse.c:1342,1
    - Dst: rfc822parse_enum_header_lines
      Src: /src/gnupg/tools/rfc822parse.c:1344,1
    - Dst: rfc822parse_parse_field
      Src: /src/gnupg/tools/rfc822parse.c:1346,1
    - Dst: rfc822parse_query_media_type
      Src: /src/gnupg/tools/rfc822parse.c:1350,1
    - Dst: printf
      Src: /src/gnupg/tools/rfc822parse.c:1352,1
    - Dst: printf
      Src: /src/gnupg/tools/rfc822parse.c:1354,1
    - Dst: show_param
      Src: /src/gnupg/tools/rfc822parse.c:1355,1
    - Dst: show_param
      Src: /src/gnupg/tools/rfc822parse.c:1356,1
    - Dst: rfc822parse_release_field
      Src: /src/gnupg/tools/rfc822parse.c:1357,1
    - Dst: printf
      Src: /src/gnupg/tools/rfc822parse.c:1360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - dummy_arg
    - event
    - msg
    argTypes:
    - void*
    - rfc822parse_event_t
    - rfc822parse_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1330
    functionDepth: 4
    functionLinenumber: 1330
    functionLinenumberEnd: 1366
    functionName: msg_cb
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 0
    functionsReached:
    - show_event
    - rfc822parse_query_media_type
    - printf
    - rfc822parse_enum_header_lines
    - rfc822parse_parse_field
    - rfc822parse_release_field
    - show_param
    linkageType: ''
    returnType: int
    signature: int msg_cb (void *dummy_arg, rfc822parse_event_t event, rfc822parse_t
      msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rfc822parse_open
      Src: /src/gnupg/tools/rfc822parse.c:1377,1
    - Dst: abort
      Src: /src/gnupg/tools/rfc822parse.c:1379,1
    - Dst: fgets
      Src: /src/gnupg/tools/rfc822parse.c:1381,1
    - Dst: strlen
      Src: /src/gnupg/tools/rfc822parse.c:1383,1
    - Dst: rfc822parse_insert
      Src: /src/gnupg/tools/rfc822parse.c:1388,1
    - Dst: abort
      Src: /src/gnupg/tools/rfc822parse.c:1389,1
    - Dst: dump_structure
      Src: /src/gnupg/tools/rfc822parse.c:1392,1
    - Dst: rfc822parse_close
      Src: /src/gnupg/tools/rfc822parse.c:1394,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1370
    functionDepth: 5
    functionLinenumber: 1370
    functionLinenumberEnd: 1396
    functionName: main
    functionSourceFile: /src/gnupg/tools/rfc822parse.c
    functionUses: 1
    functionsReached:
    - strlen
    - rfc822parse_insert
    - abort
    - rfc822parse_close
    - rfc822parse_open
    - fgets
    - dump_structure
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:140,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:141,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:142,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:143,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:144,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:145,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:147,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:148,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:149,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:150,1
    - Dst: DIM
      Src: /src/gnupg/tools/card-call-scd.c:152,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:154,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:160,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:161,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:165,1
    - Dst: DIM
      Src: /src/gnupg/tools/card-call-scd.c:166,1
    - Dst: free_strlist
      Src: /src/gnupg/tools/card-call-scd.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 1
    argNames:
    - info
    argTypes:
    - card_info_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 171
    functionName: release_card_info
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - DIM
    - xfree
    - free_strlist
    linkageType: ''
    returnType: void
    signature: void release_card_info (card_info_t info)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-call-scd.c:182,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-call-scd.c:184,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-call-scd.c:186,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-call-scd.c:188,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-call-scd.c:190,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-call-scd.c:192,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-call-scd.c:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 200
    functionName: map_apptypestr
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - ascii_strcasecmp
    linkageType: ''
    returnType: app_type_t
    signature: app_type_t map_apptypestr (const char *string)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - app_type
    argTypes:
    - app_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 221
    functionName: app_type_string
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      app_type_string (app_type_t app_type)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/card-call-scd.c:229,1
    - Dst: gnupg_status_printf
      Src: /src/gnupg/tools/card-call-scd.c:235,1
    - Dst: gnupg_status_printf
      Src: /src/gnupg/tools/card-call-scd.c:239,1
    - Dst: gnupg_status_printf
      Src: /src/gnupg/tools/card-call-scd.c:242,1
    - Dst: gnupg_status_printf
      Src: /src/gnupg/tools/card-call-scd.c:245,1
    - Dst: gnupg_status_printf
      Src: /src/gnupg/tools/card-call-scd.c:248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - err
    argTypes:
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 252
    functionName: status_sc_op_failure
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - gnupg_status_printf
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t status_sc_op_failure (gpg_error_t err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/tools/card-call-scd.c:265,1
    - Dst: log_debug
      Src: /src/gnupg/tools/card-call-scd.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 277
    functionName: default_inq_cb
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - log_debug
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t default_inq_cb (void *opaque, const char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: warn_server_version_mismatch
      Src: /src/gnupg/tools/card-call-scd.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - servername
    - mode
    argTypes:
    - assuan_context_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: warn_version_mismatch
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - warn_server_version_mismatch
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t warn_version_mismatch (assuan_context_t ctx, const char
      *servername, int mode)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: start_new_gpg_agent
      Src: /src/gnupg/tools/card-call-scd.c:304,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/card-call-scd.c:312,1
    - Dst: log_info
      Src: /src/gnupg/tools/card-call-scd.c:319,1
    - Dst: _
      Src: /src/gnupg/tools/card-call-scd.c:319,1
    - Dst: warn_version_mismatch
      Src: /src/gnupg/tools/card-call-scd.c:323,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:328,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:332,1
    - Dst: memset
      Src: /src/gnupg/tools/card-call-scd.c:342,1
    - Dst: warn_version_mismatch
      Src: /src/gnupg/tools/card-call-scd.c:345,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:348,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/card-call-scd.c:353,1
    - Dst: gnupg_status_printf
      Src: /src/gnupg/tools/card-call-scd.c:357,1
    - Dst: gnupg_status_printf
      Src: /src/gnupg/tools/card-call-scd.c:361,1
    - Dst: gnupg_status_printf
      Src: /src/gnupg/tools/card-call-scd.c:364,1
    - Dst: gnupg_status_printf
      Src: /src/gnupg/tools/card-call-scd.c:370,1
    - Dst: release_card_info
      Src: /src/gnupg/tools/card-call-scd.c:372,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 376
    functionName: start_agent
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 2
    functionsReached:
    - gnupg_status_printf
    - warn_version_mismatch
    - release_card_info
    - _
    - assuan_transact
    - log_info
    - gpg_err_code
    - memset
    - start_new_gpg_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t start_agent (unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: percent_plus_unescape
      Src: /src/gnupg/tools/card-call-scd.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: unescape_status_string
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - percent_plus_unescape
    linkageType: ''
    returnType: char
    signature: 'char *

      unescape_status_string (const unsigned char *s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/tools/card-call-scd.c:399,1
    - Dst: xtoi_2
      Src: /src/gnupg/tools/card-call-scd.c:404,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - hexstr
    - fpr
    - fprlen
    argTypes:
    - char*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 407
    functionName: unhexify_fpr
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - xtoi_2
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int unhexify_fpr (const char *hexstr, unsigned char *fpr,
      unsigned int fprlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/tools/card-call-scd.c:419,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tools/card-call-scd.c:421,1
    - Dst: memcpy
      Src: /src/gnupg/tools/card-call-scd.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 428
    functionName: store_serialno
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - xtrymalloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      store_serialno (const char *line)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:457,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:463,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-call-scd.c:467,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:469,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-call-scd.c:472,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:474,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-call-scd.c:477,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:479,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-call-scd.c:482,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:484,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-call-scd.c:487,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:489,1
    - Dst: init_membuf
      Src: /src/gnupg/tools/card-call-scd.c:500,1
    - Dst: strstr
      Src: /src/gnupg/tools/card-call-scd.c:502,1
    - Dst: strstr
      Src: /src/gnupg/tools/card-call-scd.c:503,1
    - Dst: snprintf
      Src: /src/gnupg/tools/card-call-scd.c:505,1
    - Dst: DIM
      Src: /src/gnupg/tools/card-call-scd.c:505,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:507,1
    - Dst: get_membuf
      Src: /src/gnupg/tools/card-call-scd.c:511,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/card-call-scd.c:513,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-call-scd.c:515,1
    - Dst: buf16_to_uint
      Src: /src/gnupg/tools/card-call-scd.c:519,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:527,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 5
    argNames:
    - hexapdu
    - options
    - r_sw
    - r_data
    - r_datalen
    argTypes:
    - char*
    - char*
    - unsigned int*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 532
    functionName: scd_apdu
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - strstr
    - gpg_error_from_syserror
    - snprintf
    - DIM
    - buf16_to_uint
    - assuan_transact
    - strcmp
    - gpg_error
    - xfree
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t scd_apdu (const char *hexapdu, const char *options, unsigned
      int *r_sw,\n          unsigned char **r_data, size_t *r_datalen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - opaque
    - buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 543
    functionName: dummy_data_cb
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t dummy_data_cb (void *opaque, const void *buffer, size_t
      length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:554,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:556,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:560,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-call-scd.c:563,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/card-call-scd.c:564,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:566,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-call-scd.c:567,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tools/card-call-scd.c:568,1
    - Dst: out_of_core
      Src: /src/gnupg/tools/card-call-scd.c:570,1
    - Dst: memcpy
      Src: /src/gnupg/tools/card-call-scd.c:571,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 576
    functionName: get_serialno_cb
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - out_of_core
    - spacep
    - gpg_error
    - memcmp
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_serialno_cb (void *opaque, const char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:586,1
    - Dst: snprintf
      Src: /src/gnupg/tools/card-call-scd.c:590,1
    - Dst: DIM
      Src: /src/gnupg/tools/card-call-scd.c:590,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - serialno
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 594
    functionName: scd_switchcard
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - snprintf
    - DIM
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_switchcard (const char *serialno)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:607,1
    - Dst: snprintf
      Src: /src/gnupg/tools/card-call-scd.c:611,1
    - Dst: DIM
      Src: /src/gnupg/tools/card-call-scd.c:611,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - appname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 616
    functionName: scd_switchapp
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - snprintf
    - DIM
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_switchapp (const char *appname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:626,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:628,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 634
    functionName: parse_keyref_helper
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - spacep
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_keyref_helper (const char *string)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc
      Src: /src/gnupg/tools/card-call-scd.c:645,1
    - Dst: strlen
      Src: /src/gnupg/tools/card-call-scd.c:645,1
    - Dst: strcpy
      Src: /src/gnupg/tools/card-call-scd.c:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - info
    - keyref
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 657
    functionName: create_kinfo
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    - xcalloc
    linkageType: ''
    returnType: key_info_t
    signature: key_info_t create_kinfo (card_info_t info, const char *keyref)
  - BBCount: 81
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:673,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:675,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:681,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:688,1
    - Dst: strchr
      Src: /src/gnupg/tools/card-call-scd.c:689,1
    - Dst: log_assert
      Src: /src/gnupg/tools/card-call-scd.c:694,1
    - Dst: unescape_status_string
      Src: /src/gnupg/tools/card-call-scd.c:695,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:700,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:705,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:707,1
    - Dst: unescape_status_string
      Src: /src/gnupg/tools/card-call-scd.c:708,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:710,1
    - Dst: unescape_status_string
      Src: /src/gnupg/tools/card-call-scd.c:716,1
    - Dst: strtok
      Src: /src/gnupg/tools/card-call-scd.c:719,1
    - Dst: strtok
      Src: /src/gnupg/tools/card-call-scd.c:719,1
    - Dst: strchr
      Src: /src/gnupg/tools/card-call-scd.c:721,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-call-scd.c:726,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-call-scd.c:728,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-call-scd.c:730,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-call-scd.c:732,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-call-scd.c:734,1
    - Dst: strtoul
      Src: /src/gnupg/tools/card-call-scd.c:735,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-call-scd.c:736,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-call-scd.c:738,1
    - Dst: strtoul
      Src: /src/gnupg/tools/card-call-scd.c:739,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-call-scd.c:740,1
    - Dst: strtoul
      Src: /src/gnupg/tools/card-call-scd.c:748,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:771,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:774,1
    - Dst: atoi
      Src: /src/gnupg/tools/card-call-scd.c:776,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:777,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:779,1
    - Dst: unhexify_fpr
      Src: /src/gnupg/tools/card-call-scd.c:782,1
    - Dst: unhexify_fpr
      Src: /src/gnupg/tools/card-call-scd.c:785,1
    - Dst: unhexify_fpr
      Src: /src/gnupg/tools/card-call-scd.c:788,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:794,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:796,1
    - Dst: unescape_status_string
      Src: /src/gnupg/tools/card-call-scd.c:797,1
    - Dst: map_apptypestr
      Src: /src/gnupg/tools/card-call-scd.c:798,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:800,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/card-call-scd.c:807,1
    - Dst: parse_keyref_helper
      Src: /src/gnupg/tools/card-call-scd.c:809,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:810,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:814,1
    - Dst: find_kinfo
      Src: /src/gnupg/tools/card-call-scd.c:819,1
    - Dst: create_kinfo
      Src: /src/gnupg/tools/card-call-scd.c:821,1
    - Dst: memset
      Src: /src/gnupg/tools/card-call-scd.c:823,1
    - Dst: unhexify_fpr
      Src: /src/gnupg/tools/card-call-scd.c:826,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:831,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:833,1
    - Dst: store_serialno
      Src: /src/gnupg/tools/card-call-scd.c:834,1
    - Dst: strlen
      Src: /src/gnupg/tools/card-call-scd.c:835,1
    - Dst: xtoi_2
      Src: /src/gnupg/tools/card-call-scd.c:836,1
    - Dst: xtoi_2
      Src: /src/gnupg/tools/card-call-scd.c:837,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:839,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:841,1
    - Dst: unescape_status_string
      Src: /src/gnupg/tools/card-call-scd.c:842,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:844,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:848,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/tools/card-call-scd.c:857,1
    - Dst: sscanf
      Src: /src/gnupg/tools/card-call-scd.c:866,1
    - Dst: map_openpgp_pk_to_gcry
      Src: /src/gnupg/tools/card-call-scd.c:867,1
    - Dst: snprintf
      Src: /src/gnupg/tools/card-call-scd.c:872,1
    - Dst: find_kinfo
      Src: /src/gnupg/tools/card-call-scd.c:875,1
    - Dst: create_kinfo
      Src: /src/gnupg/tools/card-call-scd.c:877,1
    - Dst: openpgp_is_curve_supported
      Src: /src/gnupg/tools/card-call-scd.c:889,1
    - Dst: strtoul
      Src: /src/gnupg/tools/card-call-scd.c:894,1
    - Dst: get_keyalgo_string
      Src: /src/gnupg/tools/card-call-scd.c:896,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:903,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:905,1
    - Dst: unescape_status_string
      Src: /src/gnupg/tools/card-call-scd.c:906,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:908,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:910,1
    - Dst: unescape_status_string
      Src: /src/gnupg/tools/card-call-scd.c:911,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:913,1
    - Dst: sscanf
      Src: /src/gnupg/tools/card-call-scd.c:918,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:922,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:924,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/card-call-scd.c:925,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:927,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/card-call-scd.c:935,1
    - Dst: split_fields
      Src: /src/gnupg/tools/card-call-scd.c:937,1
    - Dst: DIM
      Src: /src/gnupg/tools/card-call-scd.c:937,1
    - Dst: xtrystrdup
      Src: /src/gnupg/tools/card-call-scd.c:945,1
    - Dst: find_kinfo
      Src: /src/gnupg/tools/card-call-scd.c:950,1
    - Dst: create_kinfo
      Src: /src/gnupg/tools/card-call-scd.c:952,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:954,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:960,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:962,1
    - Dst: unescape_status_string
      Src: /src/gnupg/tools/card-call-scd.c:963,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:965,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:967,1
    - Dst: unescape_status_string
      Src: /src/gnupg/tools/card-call-scd.c:968,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:970,1
    - Dst: unescape_status_string
      Src: /src/gnupg/tools/card-call-scd.c:974,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:976,1
    - Dst: atoi
      Src: /src/gnupg/tools/card-call-scd.c:983,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:984,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:986,1
    - Dst: atoi
      Src: /src/gnupg/tools/card-call-scd.c:990,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:991,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:993,1
    - Dst: atoi
      Src: /src/gnupg/tools/card-call-scd.c:999,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:1000,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:1002,1
    - Dst: DIM
      Src: /src/gnupg/tools/card-call-scd.c:1009,1
    - Dst: atoi
      Src: /src/gnupg/tools/card-call-scd.c:1011,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:1012,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:1014,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:1020,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:1022,1
    - Dst: sscanf
      Src: /src/gnupg/tools/card-call-scd.c:1026,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:1032,1
    - Dst: strtoul
      Src: /src/gnupg/tools/card-call-scd.c:1034,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:1036,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/card-call-scd.c:1046,1
    - Dst: split_fields
      Src: /src/gnupg/tools/card-call-scd.c:1048,1
    - Dst: DIM
      Src: /src/gnupg/tools/card-call-scd.c:1048,1
    - Dst: parse_timestamp
      Src: /src/gnupg/tools/card-call-scd.c:1058,1
    - Dst: find_kinfo
      Src: /src/gnupg/tools/card-call-scd.c:1063,1
    - Dst: create_kinfo
      Src: /src/gnupg/tools/card-call-scd.c:1065,1
    - Dst: memset
      Src: /src/gnupg/tools/card-call-scd.c:1068,1
    - Dst: unhexify_fpr
      Src: /src/gnupg/tools/card-call-scd.c:1075,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:1090,1
    - Dst: sscanf
      Src: /src/gnupg/tools/card-call-scd.c:1094,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:1100,1
    - Dst: strchr
      Src: /src/gnupg/tools/card-call-scd.c:1101,1
    - Dst: log_assert
      Src: /src/gnupg/tools/card-call-scd.c:1104,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:1105,1
    - Dst: unescape_status_string
      Src: /src/gnupg/tools/card-call-scd.c:1106,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:1108,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:1110,1
    - Dst: strtoul
      Src: /src/gnupg/tools/card-call-scd.c:1112,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:1113,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/card-call-scd.c:1116,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:1121,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:1123,1
    - Dst: unescape_status_string
      Src: /src/gnupg/tools/card-call-scd.c:1124,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:1126,1
    - Dst: strncmp
      Src: /src/gnupg/tools/card-call-scd.c:1128,1
    - Dst: atoi
      Src: /src/gnupg/tools/card-call-scd.c:1133,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:1138,1
    - Dst: append_to_strlist
      Src: /src/gnupg/tools/card-call-scd.c:1140,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/card-call-scd.c:1141,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:1154,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 328
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 1156
    functionName: learn_status_cb
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - log_assert
    - strlen
    - split_fields
    - store_serialno
    - xstrdup
    - create_kinfo
    - unescape_status_string
    - xtoi_2
    - DIM
    - parse_timestamp
    - strtoul
    - strncmp
    - map_openpgp_pk_to_gcry
    - openpgp_is_curve_supported
    - get_keyalgo_string
    - spacep
    - strcmp
    - xtrystrdup
    - strchr
    - xfree
    - unhexify_fpr
    - memset
    - find_kinfo
    - append_to_strlist
    - ascii_strncasecmp
    - strtok
    - atoi
    - snprintf
    - map_apptypestr
    - memcmp
    - parse_keyref_helper
    - sscanf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t learn_status_cb (void *opaque, const char *line)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/card-call-scd.c:1171,1
    - Dst: memset
      Src: /src/gnupg/tools/card-call-scd.c:1172,1
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:1174,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:1179,1
    - Dst: scd_getattr
      Src: /src/gnupg/tools/card-call-scd.c:1189,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/card-call-scd.c:1190,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/card-call-scd.c:1191,1
    - Dst: scd_getattr
      Src: /src/gnupg/tools/card-call-scd.c:1193,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/card-call-scd.c:1194,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/card-call-scd.c:1195,1
    - Dst: scd_getattr
      Src: /src/gnupg/tools/card-call-scd.c:1197,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/card-call-scd.c:1198,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/card-call-scd.c:1199,1
    - Dst: release_card_info
      Src: /src/gnupg/tools/card-call-scd.c:1204,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - info
    - reread
    argTypes:
    - card_info_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1161
    functionDepth: 2
    functionLinenumber: 1161
    functionLinenumberEnd: 1207
    functionName: scd_learn
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - scd_getattr
    - release_card_info
    - assuan_transact
    - gpg_err_code
    - memset
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_learn (card_info_t info, int reread)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/card-call-scd.c:1220,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-call-scd.c:1223,1
    - Dst: strlen
      Src: /src/gnupg/tools/card-call-scd.c:1226,1
    - Dst: DIM
      Src: /src/gnupg/tools/card-call-scd.c:1226,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-call-scd.c:1227,1
    - Dst: stpcpy
      Src: /src/gnupg/tools/card-call-scd.c:1228,1
    - Dst: stpcpy
      Src: /src/gnupg/tools/card-call-scd.c:1228,1
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:1230,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:1235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - name
    - info
    argTypes:
    - char*
    - struct card_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1239
    functionName: scd_getattr
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 1
    functionsReached:
    - strlen
    - DIM
    - assuan_transact
    - gpg_error
    - memset
    - start_agent
    - stpcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_getattr (const char *name, struct card_info_s *info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-call-scd.c:1254,1
    - Dst: strconcat
      Src: /src/gnupg/tools/card-call-scd.c:1256,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/card-call-scd.c:1259,1
    - Dst: percent_data_escape
      Src: /src/gnupg/tools/card-call-scd.c:1262,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:1263,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/card-call-scd.c:1266,1
    - Dst: strlen
      Src: /src/gnupg/tools/card-call-scd.c:1270,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-call-scd.c:1272,1
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:1276,1
    - Dst: memset
      Src: /src/gnupg/tools/card-call-scd.c:1280,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:1282,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:1286,1
    - Dst: status_sc_op_failure
      Src: /src/gnupg/tools/card-call-scd.c:1287,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - name
    - value
    - valuelen
    argTypes:
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1288
    functionName: scd_setattr
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - percent_data_escape
    - gpg_error_from_syserror
    - strlen
    - status_sc_op_failure
    - strconcat
    - assuan_transact
    - gpg_error
    - xfree
    - memset
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t scd_setattr (const char *name,\n             const unsigned
      char *value, size_t valuelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/tools/card-call-scd.c:1301,1
    - Dst: assuan_send_data
      Src: /src/gnupg/tools/card-call-scd.c:1303,1
    - Dst: default_inq_cb
      Src: /src/gnupg/tools/card-call-scd.c:1307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1310
    functionName: inq_writecert_parms
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - default_inq_cb
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t inq_writecert_parms (void *opaque, const char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/card-call-scd.c:1323,1
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:1325,1
    - Dst: memset
      Src: /src/gnupg/tools/card-call-scd.c:1329,1
    - Dst: snprintf
      Src: /src/gnupg/tools/card-call-scd.c:1331,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:1337,1
    - Dst: status_sc_op_failure
      Src: /src/gnupg/tools/card-call-scd.c:1340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - certidstr
    - certdata
    - certdatalen
    argTypes:
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1314
    functionDepth: 1
    functionLinenumber: 1314
    functionLinenumberEnd: 1341
    functionName: scd_writecert
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - snprintf
    - status_sc_op_failure
    - assuan_transact
    - memset
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t scd_writecert (const char *certidstr,\n               const
      unsigned char *certdata, size_t certdatalen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/card-call-scd.c:1356,1
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:1358,1
    - Dst: snprintf
      Src: /src/gnupg/tools/card-call-scd.c:1365,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:1367,1
    - Dst: status_sc_op_failure
      Src: /src/gnupg/tools/card-call-scd.c:1370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - keyref
    - force
    - keygrip
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1349
    functionDepth: 1
    functionLinenumber: 1349
    functionLinenumberEnd: 1371
    functionName: scd_writekey
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - snprintf
    - status_sc_op_failure
    - assuan_transact
    - memset
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_writekey (const char *keyref, int force, const char
      *keygrip)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:1383,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:1385,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:1388,1
    - Dst: strtoul
      Src: /src/gnupg/tools/card-call-scd.c:1391,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:1393,1
    - Dst: gnupg_status_printf
      Src: /src/gnupg/tools/card-call-scd.c:1395,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1376
    functionDepth: 1
    functionLinenumber: 1376
    functionLinenumberEnd: 1399
    functionName: scd_genkey_cb
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - gnupg_status_printf
    - memcmp
    - spacep
    - strtoul
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_genkey_cb (void *opaque, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/card-call-scd.c:1414,1
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:1416,1
    - Dst: epoch2isotime
      Src: /src/gnupg/tools/card-call-scd.c:1421,1
    - Dst: snprintf
      Src: /src/gnupg/tools/card-call-scd.c:1425,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:1433,1
    - Dst: status_sc_op_failure
      Src: /src/gnupg/tools/card-call-scd.c:1437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - keyref
    - force
    - algo
    - createtime
    argTypes:
    - char*
    - int
    - char*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1438
    functionName: scd_genkey
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - snprintf
    - status_sc_op_failure
    - assuan_transact
    - memset
    - epoch2isotime
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_genkey (const char *keyref, int force, const char *algo,
      u32 *createtime)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:1453,1
    - Dst: strcpy
      Src: /src/gnupg/tools/card-call-scd.c:1458,1
    - Dst: snprintf
      Src: /src/gnupg/tools/card-call-scd.c:1460,1
    - Dst: DIM
      Src: /src/gnupg/tools/card-call-scd.c:1460,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:1462,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:1467,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:1474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - r_serialno
    - demand
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1446
    functionDepth: 1
    functionLinenumber: 1446
    functionLinenumberEnd: 1476
    functionName: scd_serialno
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 1
    functionsReached:
    - snprintf
    - DIM
    - assuan_transact
    - strcpy
    - xfree
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_serialno (char **r_serialno, const char *demand)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/card-call-scd.c:1490,1
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:1493,1
    - Dst: init_membuf
      Src: /src/gnupg/tools/card-call-scd.c:1499,1
    - Dst: snprintf
      Src: /src/gnupg/tools/card-call-scd.c:1501,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:1502,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:1508,1
    - Dst: get_membuf
      Src: /src/gnupg/tools/card-call-scd.c:1508,1
    - Dst: get_membuf
      Src: /src/gnupg/tools/card-call-scd.c:1512,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/card-call-scd.c:1514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - certidstr
    - r_buf
    - r_buflen
    argTypes:
    - char*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1517
    functionName: scd_readcert
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - gpg_error_from_syserror
    - snprintf
    - assuan_transact
    - memset
    - xfree
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_readcert (const char *certidstr, void **r_buf, size_t
      *r_buflen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:1535,1
    - Dst: init_membuf
      Src: /src/gnupg/tools/card-call-scd.c:1539,1
    - Dst: snprintf
      Src: /src/gnupg/tools/card-call-scd.c:1541,1
    - Dst: DIM
      Src: /src/gnupg/tools/card-call-scd.c:1541,1
    - Dst: snprintf
      Src: /src/gnupg/tools/card-call-scd.c:1544,1
    - Dst: DIM
      Src: /src/gnupg/tools/card-call-scd.c:1544,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:1545,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:1551,1
    - Dst: get_membuf
      Src: /src/gnupg/tools/card-call-scd.c:1551,1
    - Dst: get_membuf
      Src: /src/gnupg/tools/card-call-scd.c:1554,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/card-call-scd.c:1556,1
    - Dst: gcry_sexp_new
      Src: /src/gnupg/tools/card-call-scd.c:1558,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:1559,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - keyrefstr
    - create_shadow
    - r_result
    argTypes:
    - char*
    - int
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1524
    functionDepth: 1
    functionLinenumber: 1524
    functionLinenumberEnd: 1562
    functionName: scd_readkey
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - gpg_error_from_syserror
    - snprintf
    - DIM
    - assuan_transact
    - xfree
    - start_agent
    - gcry_sexp_new
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_readkey (const char *keyrefstr, int create_shadow,
      gcry_sexp_t *r_result)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:1574,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:1576,1
    - Dst: memcmp
      Src: /src/gnupg/tools/card-call-scd.c:1579,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/card-call-scd.c:1584,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-call-scd.c:1588,1
    - Dst: spacep
      Src: /src/gnupg/tools/card-call-scd.c:1593,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-call-scd.c:1594,1
    - Dst: add_to_strlist
      Src: /src/gnupg/tools/card-call-scd.c:1596,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-call-scd.c:1601,1
    - Dst: add_to_strlist
      Src: /src/gnupg/tools/card-call-scd.c:1603,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1567
    functionDepth: 1
    functionLinenumber: 1567
    functionLinenumberEnd: 1608
    functionName: card_cardlist_cb
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - spacep
    - add_to_strlist
    - gpg_error
    - memcmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t card_cardlist_cb (void *opaque, const char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/card-call-scd.c:1618,1
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:1621,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:1625,1
    - Dst: free_strlist
      Src: /src/gnupg/tools/card-call-scd.c:1634,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - result
    argTypes:
    - strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1612
    functionDepth: 1
    functionLinenumber: 1612
    functionLinenumberEnd: 1637
    functionName: scd_cardlist
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - memset
    - free_strlist
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_cardlist (strlist_t *result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/card-call-scd.c:1648,1
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:1651,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:1656,1
    - Dst: free_strlist
      Src: /src/gnupg/tools/card-call-scd.c:1667,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - result
    - all
    argTypes:
    - strlist_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1642
    functionDepth: 1
    functionLinenumber: 1642
    functionLinenumberEnd: 1670
    functionName: scd_applist
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - memset
    - free_strlist
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_applist (strlist_t *result, int all)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/card-call-scd.c:1683,1
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:1685,1
    - Dst: snprintf
      Src: /src/gnupg/tools/card-call-scd.c:1690,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:1692,1
    - Dst: status_sc_op_failure
      Src: /src/gnupg/tools/card-call-scd.c:1697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pinref
    - reset_mode
    - nullpin
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1676
    functionDepth: 1
    functionLinenumber: 1676
    functionLinenumberEnd: 1698
    functionName: scd_change_pin
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - snprintf
    - status_sc_op_failure
    - assuan_transact
    - memset
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_change_pin (const char *pinref, int reset_mode, int
      nullpin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/card-call-scd.c:1711,1
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:1713,1
    - Dst: snprintf
      Src: /src/gnupg/tools/card-call-scd.c:1718,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:1719,1
    - Dst: status_sc_op_failure
      Src: /src/gnupg/tools/card-call-scd.c:1723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - serialno
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1704
    functionDepth: 1
    functionLinenumber: 1704
    functionLinenumberEnd: 1724
    functionName: scd_checkpin
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - snprintf
    - status_sc_op_failure
    - assuan_transact
    - memset
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_checkpin (const char *serialno)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:1737,1
    - Dst: init_membuf
      Src: /src/gnupg/tools/card-call-scd.c:1741,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:1742,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:1746,1
    - Dst: get_membuf
      Src: /src/gnupg/tools/card-call-scd.c:1746,1
    - Dst: put_membuf
      Src: /src/gnupg/tools/card-call-scd.c:1749,1
    - Dst: get_membuf
      Src: /src/gnupg/tools/card-call-scd.c:1750,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/card-call-scd.c:1752,1
    - Dst: strtoul
      Src: /src/gnupg/tools/card-call-scd.c:1755,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:1756,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/card-call-scd.c:1764,1
    - Dst: log_error
      Src: /src/gnupg/tools/card-call-scd.c:1765,1
    - Dst: _
      Src: /src/gnupg/tools/card-call-scd.c:1765,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/card-call-scd.c:1765,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1729
    functionDepth: 1
    functionLinenumber: 1729
    functionLinenumberEnd: 1772
    functionName: agent_get_s2k_count
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - gpg_error_from_syserror
    - put_membuf
    - log_error
    - _
    - assuan_transact
    - xfree
    - gpg_err_code
    - gpg_strerror
    - start_agent
    - strtoul
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long agent_get_s2k_count (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/tools/card-call-scd.c:1788,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:1790,1
    - Dst: xtrystrdup
      Src: /src/gnupg/tools/card-call-scd.c:1791,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/card-call-scd.c:1793,1
    - Dst: strchr
      Src: /src/gnupg/tools/card-call-scd.c:1794,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1781
    functionDepth: 1
    functionLinenumber: 1781
    functionLinenumberEnd: 1800
    functionName: havekey_status_cb
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - xtrystrdup
    - strchr
    - xfree
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t havekey_status_cb (void *opaque, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:1815,1
    - Dst: snprintf
      Src: /src/gnupg/tools/card-call-scd.c:1819,1
    - Dst: log_assert
      Src: /src/gnupg/tools/card-call-scd.c:1820,1
    - Dst: strlen
      Src: /src/gnupg/tools/card-call-scd.c:1820,1
    - Dst: bin2hex
      Src: /src/gnupg/tools/card-call-scd.c:1821,1
    - Dst: strlen
      Src: /src/gnupg/tools/card-call-scd.c:1821,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:1823,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:1827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - grip
    - r_result
    argTypes:
    - unsigned char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1806
    functionDepth: 1
    functionLinenumber: 1806
    functionLinenumberEnd: 1831
    functionName: scd_havekey_info
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - strlen
    - log_assert
    - snprintf
    - bin2hex
    - assuan_transact
    - xfree
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_havekey_info (const unsigned char *grip, char **r_result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:1843,1
    - Dst: snprintf
      Src: /src/gnupg/tools/card-call-scd.c:1848,1
    - Dst: log_assert
      Src: /src/gnupg/tools/card-call-scd.c:1849,1
    - Dst: strlen
      Src: /src/gnupg/tools/card-call-scd.c:1849,1
    - Dst: bin2hex
      Src: /src/gnupg/tools/card-call-scd.c:1850,1
    - Dst: strlen
      Src: /src/gnupg/tools/card-call-scd.c:1850,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:1852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - grip
    - force
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1836
    functionDepth: 1
    functionLinenumber: 1836
    functionLinenumberEnd: 1855
    functionName: scd_delete_key
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - strlen
    - log_assert
    - snprintf
    - bin2hex
    - assuan_transact
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_delete_key (const unsigned char *grip, int force)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/tools/card-call-scd.c:1869,1
    - Dst: init_membuf
      Src: /src/gnupg/tools/card-call-scd.c:1873,1
    - Dst: snprintf
      Src: /src/gnupg/tools/card-call-scd.c:1874,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/card-call-scd.c:1875,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-call-scd.c:1879,1
    - Dst: get_membuf
      Src: /src/gnupg/tools/card-call-scd.c:1879,1
    - Dst: put_membuf
      Src: /src/gnupg/tools/card-call-scd.c:1883,1
    - Dst: get_membuf
      Src: /src/gnupg/tools/card-call-scd.c:1884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - sw
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1861
    functionDepth: 1
    functionLinenumber: 1861
    functionLinenumberEnd: 1886
    functionName: scd_apdu_strerror
    functionSourceFile: /src/gnupg/tools/card-call-scd.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - put_membuf
    - snprintf
    - assuan_transact
    - xfree
    - start_agent
    linkageType: ''
    returnType: char
    signature: 'char *

      scd_apdu_strerror (unsigned int sw)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: struct
    functionSourceFile: /src/gnupg/tools/gpg-wks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EXTERN_UNLESS_MAIN_MODULE
    signature: EXTERN_UNLESS_MAIN_MODULE struct
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/card-misc.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - info
    - keyref
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: find_kinfo
    functionSourceFile: /src/gnupg/tools/card-misc.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: key_info_t
    signature: key_info_t find_kinfo (card_info_t info, const char *keyref)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/tools/card-misc.c:58,1
    - Dst: strlen
      Src: /src/gnupg/tools/card-misc.c:58,1
    - Dst: ascii_isspace
      Src: /src/gnupg/tools/card-misc.c:63,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/card-misc.c:65,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/card-misc.c:65,1
    - Dst: xtoi_2
      Src: /src/gnupg/tools/card-misc.c:67,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-misc.c:72,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/tools/card-misc.c:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 79
    functionName: hex_to_buffer
    functionSourceFile: /src/gnupg/tools/card-misc.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - ascii_isspace
    - strlen
    - xfree
    - gpg_err_set_errno
    - xtrymalloc
    - xtoi_2
    linkageType: ''
    returnType: void
    signature: 'void *

      hex_to_buffer (const char *string, size_t *r_length)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: scd_apdu
      Src: /src/gnupg/tools/card-misc.c:91,1
    - Dst: log_error
      Src: /src/gnupg/tools/card-misc.c:93,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/card-misc.c:94,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-misc.c:96,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-misc.c:97,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-misc.c:98,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-misc.c:99,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-misc.c:100,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-misc.c:108,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-misc.c:109,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-misc.c:110,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-misc.c:111,1
    - Dst: log_error
      Src: /src/gnupg/tools/card-misc.c:114,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/card-misc.c:115,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 5
    argNames:
    - hexapdu
    - desc
    - ignore
    - r_data
    - r_datalen
    argTypes:
    - char*
    - char*
    - unsigned int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 118
    functionName: send_apdu
    functionSourceFile: /src/gnupg/tools/card-misc.c
    functionUses: 0
    functionsReached:
    - scd_apdu
    - log_error
    - strcmp
    - gpg_error
    - gpg_strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t send_apdu (const char *hexapdu, const char *desc, unsigned
      int ignore,\n           unsigned char **r_data, size_t *r_datalen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/tools/gpgconf.c:170,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf.c:173,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf.c:176,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 183
    functionName: my_strusage
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 0
    functionsReached:
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage( int level )'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpgconf.c:196,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - fp
    argTypes:
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: get_outfp
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 0
    functionsReached:
    - gc_error
    - es_fopen
    linkageType: ''
    returnType: estream_t
    signature: estream_t get_outfp (estream_t *fp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgconf.c:217,1
    - Dst: es_fdopen
      Src: /src/gnupg/tools/gpgconf.c:227,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpgconf.c:230,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:231,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgconf.c:231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 234
    functionName: set_status_fd
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 2
    functionsReached:
    - gpg_error_from_syserror
    - es_fclose
    - log_fatal
    - gpg_strerror
    - es_fdopen
    linkageType: ''
    returnType: void
    signature: void set_status_fd (int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpgconf.c:248,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpgconf.c:249,1
    - Dst: get_status_string
      Src: /src/gnupg/tools/gpgconf.c:249,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf.c:252,1
    - Dst: va_start
      Src: /src/gnupg/tools/gpgconf.c:253,1
    - Dst: es_vfprintf
      Src: /src/gnupg/tools/gpgconf.c:254,1
    - Dst: va_end
      Src: /src/gnupg/tools/gpgconf.c:255,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - 'no'
    - format
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 258
    functionName: gpgconf_write_status
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 0
    functionsReached:
    - va_end
    - es_vfprintf
    - es_putc
    - get_status_string
    - va_start
    - es_fputs
    linkageType: ''
    returnType: void
    signature: void gpgconf_write_status (int no, const char *format, ...)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:291,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpgconf.c:292,1
    - Dst: fnc
      Src: /src/gnupg/tools/gpgconf.c:294,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpgconf.c:297,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:306,1
    - Dst: gc_percent_escape
      Src: /src/gnupg/tools/gpgconf.c:307,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf.c:311,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpgconf.c:314,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpgconf.c:315,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf.c:316,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpgconf.c:325,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgconf.c:327,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgconf.c:328,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:332,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:334,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:337,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:340,1
    - Dst: read_w32_registry_string
      Src: /src/gnupg/tools/gpgconf.c:344,1
    - Dst: gnupg_registry_dir
      Src: /src/gnupg/tools/gpgconf.c:345,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:352,1
    - Dst: read_w32_registry_string
      Src: /src/gnupg/tools/gpgconf.c:353,1
    - Dst: gnupg_registry_dir
      Src: /src/gnupg/tools/gpgconf.c:354,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:357,1
    - Dst: read_w32_registry_string
      Src: /src/gnupg/tools/gpgconf.c:360,1
    - Dst: gnupg_registry_dir
      Src: /src/gnupg/tools/gpgconf.c:361,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:364,1
    - Dst: es_fflush
      Src: /src/gnupg/tools/gpgconf.c:368,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:370,1
    - Dst: gnupg_registry_dir
      Src: /src/gnupg/tools/gpgconf.c:374,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf.c:376,1
    - Dst: gnupg_registry_dir
      Src: /src/gnupg/tools/gpgconf.c:377,1
    - Dst: read_w32_registry_string
      Src: /src/gnupg/tools/gpgconf.c:381,1
    - Dst: gnupg_registry_dir
      Src: /src/gnupg/tools/gpgconf.c:382,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:385,1
    - Dst: es_fflush
      Src: /src/gnupg/tools/gpgconf.c:386,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:388,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf.c:392,1
    - Dst: gnupg_registry_dir
      Src: /src/gnupg/tools/gpgconf.c:393,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 3
    argNames:
    - fp
    - names
    - show_config_mode
    argTypes:
    - estream_t
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 399
    functionName: list_dirs
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 0
    functionsReached:
    - make_filename
    - es_fputs
    - es_fprintf
    - read_w32_registry_string
    - gpg_error_from_syserror
    - es_fclose
    - DIM
    - es_putc
    - strcmp
    - es_fopen
    - gpg_strerror
    - xfree
    - log_info
    - gnupg_registry_dir
    - es_fflush
    - gc_percent_escape
    - fnc
    linkageType: ''
    returnType: void
    signature: void list_dirs (estream_t fp, char **names, int show_config_mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: alphap
      Src: /src/gnupg/tools/gpgconf.c:409,1
    - Dst: alnump
      Src: /src/gnupg/tools/gpgconf.c:413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 417
    functionName: valid_swdb_name_p
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 0
    functionsReached:
    - alnump
    - alphap
    linkageType: ''
    returnType: int
    signature: int valid_swdb_name_p (const char *name)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: valid_swdb_name_p
      Src: /src/gnupg/tools/gpgconf.c:475,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf.c:477,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:478,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf.c:481,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf.c:483,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf.c:488,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpgconf.c:491,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf.c:492,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf.c:498,1
    - Dst: compare_version_strings
      Src: /src/gnupg/tools/gpgconf.c:499,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf.c:501,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:502,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpgconf.c:506,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf.c:506,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpgconf.c:507,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgconf.c:510,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:511,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpgconf.c:514,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpgconf.c:515,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf.c:516,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf.c:516,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:516,1
    - Dst: es_read_line
      Src: /src/gnupg/tools/gpgconf.c:524,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpgconf.c:528,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf.c:529,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf.c:529,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:529,1
    - Dst: split_fields
      Src: /src/gnupg/tools/gpgconf.c:536,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpgconf.c:536,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpgconf.c:536,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf.c:542,1
    - Dst: string2isotime
      Src: /src/gnupg/tools/gpgconf.c:544,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf.c:547,1
    - Dst: string2isotime
      Src: /src/gnupg/tools/gpgconf.c:549,1
    - Dst: strrchr
      Src: /src/gnupg/tools/gpgconf.c:554,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf.c:560,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf.c:562,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpgconf.c:563,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf.c:564,1
    - Dst: string2isotime
      Src: /src/gnupg/tools/gpgconf.c:565,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf.c:566,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpgconf.c:567,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf.c:568,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpgconf.c:569,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf.c:570,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpgconf.c:571,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/gpgconf.c:574,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgconf.c:576,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf.c:577,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf.c:577,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:577,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpgconf.c:583,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:584,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpgconf.c:587,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:593,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/tools/gpgconf.c:601,1
    - Dst: strtoul
      Src: /src/gnupg/tools/gpgconf.c:602,1
    - Dst: compare_version_strings
      Src: /src/gnupg/tools/gpgconf.c:611,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpgconf.c:612,1
    - Dst: compare_version_strings
      Src: /src/gnupg/tools/gpgconf.c:615,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:622,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:636,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:637,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:638,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:639,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:640,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgconf.c:641,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:642,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:643,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 119
    argCount: 3
    argNames:
    - out
    - name
    - current_version
    argTypes:
    - estream_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 644
    functionName: query_swdb
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 0
    functionsReached:
    - compare_version_strings
    - es_fprintf
    - split_fields
    - gnupg_homedir
    - es_fopen
    - xstrdup
    - log_error
    - DIM
    - _
    - es_ferror
    - strtoul
    - valid_swdb_name_p
    - gpg_error_from_syserror
    - es_read_line
    - strcmp
    - strchr
    - gpg_error
    - gpg_strerror
    - xfree
    - make_filename
    - es_fclose
    - string2isotime
    - gpg_err_code
    - gpg_err_set_errno
    - strrchr
    linkageType: ''
    returnType: void
    signature: void query_swdb (estream_t out, const char *name, const char *current_version)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dotlock_create
      Src: /src/gnupg/tools/gpgconf.c:660,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf.c:664,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf.c:666,1
    - Dst: dotlock_take
      Src: /src/gnupg/tools/gpgconf.c:672,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf.c:673,1
    - Dst: dotlock_release
      Src: /src/gnupg/tools/gpgconf.c:676,1
    - Dst: dotlock_destroy
      Src: /src/gnupg/tools/gpgconf.c:678,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - do_lock
    - filename
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 679
    functionName: dotlock_tool
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 0
    functionsReached:
    - log_error
    - dotlock_create
    - dotlock_take
    - dotlock_release
    - dotlock_destroy
    linkageType: ''
    returnType: void
    signature: void dotlock_tool (int do_lock, const char *filename)
  - BBCount: 113
    BranchProfiles: []
    Callsites:
    - Dst: early_system_init
      Src: /src/gnupg/tools/gpgconf.c:695,1
    - Dst: gnupg_reopen_std
      Src: /src/gnupg/tools/gpgconf.c:696,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/tools/gpgconf.c:697,1
    - Dst: log_set_prefix
      Src: /src/gnupg/tools/gpgconf.c:698,1
    - Dst: i18n_init
      Src: /src/gnupg/tools/gpgconf.c:701,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/tools/gpgconf.c:702,1
    - Dst: gc_components_init
      Src: /src/gnupg/tools/gpgconf.c:703,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpgconf.c:709,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/tools/gpgconf.c:719,1
    - Dst: gnupg_set_builddir
      Src: /src/gnupg/tools/gpgconf.c:720,1
    - Dst: set_status_fd
      Src: /src/gnupg/tools/gpgconf.c:723,1
    - Dst: translate_sys2libc_fd_int
      Src: /src/gnupg/tools/gpgconf.c:723,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpgconf.c:756,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpgconf.c:758,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf.c:759,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf.c:768,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf.c:768,1
    - Dst: gnupg_chuid
      Src: /src/gnupg/tools/gpgconf.c:774,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf.c:775,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/tools/gpgconf.c:780,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/tools/gpgconf.c:780,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/tools/gpgconf.c:781,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf.c:781,1
    - Dst: gc_component_list_components
      Src: /src/gnupg/tools/gpgconf.c:788,1
    - Dst: get_outfp
      Src: /src/gnupg/tools/gpgconf.c:788,1
    - Dst: gc_check_programs
      Src: /src/gnupg/tools/gpgconf.c:793,1
    - Dst: get_outfp
      Src: /src/gnupg/tools/gpgconf.c:793,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:801,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf.c:801,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf.c:802,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpgconf.c:803,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf.c:803,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf.c:804,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf.c:805,1
    - Dst: gc_component_find
      Src: /src/gnupg/tools/gpgconf.c:809,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpgconf.c:812,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf.c:812,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf.c:813,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf.c:814,1
    - Dst: gc_component_check_options
      Src: /src/gnupg/tools/gpgconf.c:817,1
    - Dst: get_outfp
      Src: /src/gnupg/tools/gpgconf.c:817,1
    - Dst: gc_component_retrieve_options
      Src: /src/gnupg/tools/gpgconf.c:820,1
    - Dst: gc_process_gpgconf_conf
      Src: /src/gnupg/tools/gpgconf.c:821,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf.c:822,1
    - Dst: gc_component_list_options
      Src: /src/gnupg/tools/gpgconf.c:824,1
    - Dst: get_outfp
      Src: /src/gnupg/tools/gpgconf.c:824,1
    - Dst: gc_component_change_options
      Src: /src/gnupg/tools/gpgconf.c:826,1
    - Dst: get_outfp
      Src: /src/gnupg/tools/gpgconf.c:827,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:836,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf.c:836,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf.c:837,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpgconf.c:838,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf.c:838,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf.c:839,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf.c:840,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf.c:842,1
    - Dst: gc_component_launch
      Src: /src/gnupg/tools/gpgconf.c:846,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf.c:847,1
    - Dst: gc_component_kill
      Src: /src/gnupg/tools/gpgconf.c:851,1
    - Dst: gc_component_find
      Src: /src/gnupg/tools/gpgconf.c:859,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpgconf.c:862,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf.c:862,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf.c:863,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf.c:864,1
    - Dst: gc_component_launch
      Src: /src/gnupg/tools/gpgconf.c:868,1
    - Dst: get_outfp
      Src: /src/gnupg/tools/gpgconf.c:882,1
    - Dst: list_dirs
      Src: /src/gnupg/tools/gpgconf.c:883,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf.c:886,1
    - Dst: gc_component_kill
      Src: /src/gnupg/tools/gpgconf.c:893,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf.c:899,1
    - Dst: gc_component_reload
      Src: /src/gnupg/tools/gpgconf.c:902,1
    - Dst: gc_component_find
      Src: /src/gnupg/tools/gpgconf.c:909,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpgconf.c:912,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf.c:912,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf.c:913,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf.c:914,1
    - Dst: gc_component_reload
      Src: /src/gnupg/tools/gpgconf.c:918,1
    - Dst: gc_process_gpgconf_conf
      Src: /src/gnupg/tools/gpgconf.c:924,1
    - Dst: get_outfp
      Src: /src/gnupg/tools/gpgconf.c:924,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf.c:925,1
    - Dst: gc_process_gpgconf_conf
      Src: /src/gnupg/tools/gpgconf.c:929,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf.c:930,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:936,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf.c:936,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf.c:937,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpgconf.c:938,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf.c:938,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf.c:939,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf.c:940,1
    - Dst: gnupg_access
      Src: /src/gnupg/tools/gpgconf.c:942,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf.c:942,1
    - Dst: gnupg_maybe_make_homedir
      Src: /src/gnupg/tools/gpgconf.c:943,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf.c:943,1
    - Dst: gc_component_retrieve_options
      Src: /src/gnupg/tools/gpgconf.c:944,1
    - Dst: gc_process_gpgconf_conf
      Src: /src/gnupg/tools/gpgconf.c:945,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf.c:946,1
    - Dst: gnupg_access
      Src: /src/gnupg/tools/gpgconf.c:950,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf.c:950,1
    - Dst: gnupg_maybe_make_homedir
      Src: /src/gnupg/tools/gpgconf.c:951,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf.c:951,1
    - Dst: gc_component_retrieve_options
      Src: /src/gnupg/tools/gpgconf.c:952,1
    - Dst: gc_apply_profile
      Src: /src/gnupg/tools/gpgconf.c:953,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf.c:954,1
    - Dst: get_outfp
      Src: /src/gnupg/tools/gpgconf.c:959,1
    - Dst: list_dirs
      Src: /src/gnupg/tools/gpgconf.c:960,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:967,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf.c:969,1
    - Dst: get_outfp
      Src: /src/gnupg/tools/gpgconf.c:971,1
    - Dst: query_swdb
      Src: /src/gnupg/tools/gpgconf.c:972,1
    - Dst: gnupg_socketdir
      Src: /src/gnupg/tools/gpgconf.c:982,1
    - Dst: _gnupg_socketdir_internal
      Src: /src/gnupg/tools/gpgconf.c:985,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/tools/gpgconf.c:989,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf.c:990,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:992,1
    - Dst: _gnupg_socketdir_internal
      Src: /src/gnupg/tools/gpgconf.c:993,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf.c:999,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf.c:1000,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf.c:1001,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf.c:1002,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf.c:1003,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf.c:1004,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf.c:1005,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf.c:1006,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf.c:1007,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf.c:1011,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1013,1
    - Dst: _gnupg_socketdir_internal
      Src: /src/gnupg/tools/gpgconf.c:1023,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf.c:1025,1
    - Dst: gnupg_rmdir
      Src: /src/gnupg/tools/gpgconf.c:1028,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgconf.c:1032,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpgconf.c:1033,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpgconf.c:1034,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpgconf.c:1049,1
    - Dst: strconcat
      Src: /src/gnupg/tools/gpgconf.c:1051,1
    - Dst: gnupg_remove
      Src: /src/gnupg/tools/gpgconf.c:1053,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1054,1
    - Dst: gnupg_rmdir
      Src: /src/gnupg/tools/gpgconf.c:1056,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgconf.c:1058,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf.c:1059,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:1060,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpgconf.c:1063,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf.c:1064,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:1065,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf.c:1067,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:1068,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1071,1
    - Dst: get_outfp
      Src: /src/gnupg/tools/gpgconf.c:1077,1
    - Dst: show_versions
      Src: /src/gnupg/tools/gpgconf.c:1078,1
    - Dst: get_outfp
      Src: /src/gnupg/tools/gpgconf.c:1084,1
    - Dst: show_configs
      Src: /src/gnupg/tools/gpgconf.c:1085,1
    - Dst: get_outfp
      Src: /src/gnupg/tools/gpgconf.c:1092,1
    - Dst: GetConsoleCP
      Src: /src/gnupg/tools/gpgconf.c:1093,1
    - Dst: GetConsoleOutputCP
      Src: /src/gnupg/tools/gpgconf.c:1093,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1094,1
    - Dst: GetConsoleCP
      Src: /src/gnupg/tools/gpgconf.c:1095,1
    - Dst: GetConsoleOutputCP
      Src: /src/gnupg/tools/gpgconf.c:1095,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1097,1
    - Dst: GetConsoleCP
      Src: /src/gnupg/tools/gpgconf.c:1097,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1098,1
    - Dst: GetACP
      Src: /src/gnupg/tools/gpgconf.c:1098,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1099,1
    - Dst: GetOEMCP
      Src: /src/gnupg/tools/gpgconf.c:1099,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1109,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf.c:1111,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpgconf.c:1112,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf.c:1113,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf.c:1114,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf.c:1121,1
    - Dst: make_absfilename
      Src: /src/gnupg/tools/gpgconf.c:1124,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf.c:1124,1
    - Dst: dotlock_tool
      Src: /src/gnupg/tools/gpgconf.c:1125,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1126,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgconf.c:1133,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf.c:1134,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpgconf.c:1137,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf.c:1138,1
    - Dst: gpgconf_write_status
      Src: /src/gnupg/tools/gpgconf.c:1140,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 327
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 1142
    functionName: main
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 1
    functionsReached:
    - list_dirs
    - init_common_subsystems
    - es_fprintf
    - get_outfp
    - query_swdb
    - gnupg_homedir
    - gc_error
    - translate_sys2libc_fd_int
    - gc_component_kill
    - GetACP
    - set_status_fd
    - gc_component_list_options
    - gnupg_rmdir
    - GetConsoleOutputCP
    - gc_component_retrieve_options
    - gc_process_gpgconf_conf
    - gpgrt_set_strusage
    - gnupg_set_homedir
    - make_absfilename
    - early_system_init
    - log_set_prefix
    - gc_apply_profile
    - DIM
    - dotlock_tool
    - _
    - es_putc
    - log_get_errorcount
    - gnupg_access
    - gc_component_launch
    - log_info
    - GetConsoleCP
    - _gnupg_socketdir_internal
    - show_versions
    - gc_component_check_options
    - gnupg_reopen_std
    - gpg_error_from_syserror
    - gnupg_mkdir
    - strcmp
    - gpgconf_write_status
    - xfree
    - gpg_strerror
    - gc_component_find
    - gpgrt_argparse
    - GetOEMCP
    - gnupg_sysconfdir
    - es_fputs
    - i18n_init
    - gnupg_chuid
    - gc_component_change_options
    - es_fclose
    - gc_check_programs
    - gnupg_set_builddir
    - strconcat
    - gpgrt_set_confdir
    - gnupg_socketdir
    - gpg_err_code
    - gc_components_init
    - gnupg_remove
    - show_configs
    - gnupg_maybe_make_homedir
    - gc_component_reload
    - gc_component_list_components
    - gpgconf_failure
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_flush
      Src: /src/gnupg/tools/gpgconf.c:1148,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpgconf.c:1150,1
    - Dst: gpgconf_write_status
      Src: /src/gnupg/tools/gpgconf.c:1151,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpgconf.c:1153,1
    - Dst: exit
      Src: /src/gnupg/tools/gpgconf.c:1154,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpgconf.c:1154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - err
    argTypes:
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1145
    functionDepth: 2
    functionLinenumber: 1145
    functionLinenumberEnd: 1155
    functionName: gpgconf_failure
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 1
    functionsReached:
    - exit
    - gpg_error
    - gpgconf_write_status
    - gpg_err_code
    - log_flush
    linkageType: ''
    returnType: void
    signature: void gpgconf_failure (gpg_error_t err)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - blurb
    - r_len
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1182
    functionName: get_revision_from_blurb
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_revision_from_blurb (const char *blurb, int *r_len)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OpenProcessToken
      Src: /src/gnupg/tools/gpgconf.c:1197,1
    - Dst: GetCurrentProcess
      Src: /src/gnupg/tools/gpgconf.c:1197,1
    - Dst: GetTokenInformation
      Src: /src/gnupg/tools/gpgconf.c:1202,1
    - Dst: CloseHandle
      Src: /src/gnupg/tools/gpgconf.c:1205,1
    - Dst: GetTokenInformation
      Src: /src/gnupg/tools/gpgconf.c:1210,1
    - Dst: GetLastError
      Src: /src/gnupg/tools/gpgconf.c:1211,1
    - Dst: CloseHandle
      Src: /src/gnupg/tools/gpgconf.c:1213,1
    - Dst: xcalloc
      Src: /src/gnupg/tools/gpgconf.c:1217,1
    - Dst: GetTokenInformation
      Src: /src/gnupg/tools/gpgconf.c:1219,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1222,1
    - Dst: CloseHandle
      Src: /src/gnupg/tools/gpgconf.c:1223,1
    - Dst: GetSidSubAuthority
      Src: /src/gnupg/tools/gpgconf.c:1228,1
    - Dst: GetSidSubAuthorityCount
      Src: /src/gnupg/tools/gpgconf.c:1229,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1231,1
    - Dst: CloseHandle
      Src: /src/gnupg/tools/gpgconf.c:1232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1244
    functionName: w32_get_integrity_level
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 0
    functionsReached:
    - GetSidSubAuthorityCount
    - GetSidSubAuthority
    - xcalloc
    - xfree
    - OpenProcessToken
    - GetCurrentProcess
    - GetLastError
    - CloseHandle
    - GetTokenInformation
    linkageType: ''
    returnType: char
    signature: 'char *

      w32_get_integrity_level (void)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_myproc_self
      Src: /src/gnupg/tools/gpgconf.c:1258,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1259,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/tools/gpgconf.c:1260,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/tools/gpgconf.c:1261,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1263,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpgconf.c:1268,1
    - Dst: gnupg_bindir
      Src: /src/gnupg/tools/gpgconf.c:1268,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgconf.c:1269,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpgconf.c:1270,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpgconf.c:1271,1
    - Dst: strcpy
      Src: /src/gnupg/tools/gpgconf.c:1275,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpgconf.c:1276,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1278,1
    - Dst: es_read_line
      Src: /src/gnupg/tools/gpgconf.c:1284,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpgconf.c:1287,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpgconf.c:1295,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/gpgconf.c:1301,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1302,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1308,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1311,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgconf.c:1313,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1316,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1318,1
    - Dst: GetVersionEx
      Src: /src/gnupg/tools/gpgconf.c:1324,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1325,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1334,1
    - Dst: w32_get_integrity_level
      Src: /src/gnupg/tools/gpgconf.c:1334,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1335,1
    - Dst: GetConsoleCP
      Src: /src/gnupg/tools/gpgconf.c:1336,1
    - Dst: GetConsoleOutputCP
      Src: /src/gnupg/tools/gpgconf.c:1336,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1337,1
    - Dst: GetConsoleCP
      Src: /src/gnupg/tools/gpgconf.c:1337,1
    - Dst: GetConsoleOutputCP
      Src: /src/gnupg/tools/gpgconf.c:1337,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1339,1
    - Dst: GetConsoleCP
      Src: /src/gnupg/tools/gpgconf.c:1339,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1340,1
    - Dst: GetACP
      Src: /src/gnupg/tools/gpgconf.c:1340,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1341,1
    - Dst: GetOEMCP
      Src: /src/gnupg/tools/gpgconf.c:1341,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 2
    argNames:
    - fp
    - prefix
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1248
    functionDepth: 1
    functionLinenumber: 1248
    functionLinenumberEnd: 1344
    functionName: show_version_gnupg
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - strlen
    - GetACP
    - es_fopen
    - ascii_strcasecmp
    - gnupg_myproc_self
    - GetConsoleOutputCP
    - trim_spaces
    - gnupg_bindir
    - GetConsoleCP
    - es_ferror
    - strncmp
    - GetVersionEx
    - gpgrt_strusage
    - es_read_line
    - w32_get_integrity_level
    - xfree
    - GetOEMCP
    - make_filename
    - es_fclose
    - strcpy
    linkageType: ''
    returnType: void
    signature: void show_version_gnupg (estream_t fp, const char *prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_revision_from_blurb
      Src: /src/gnupg/tools/gpgconf.c:1353,1
    - Dst: gcry_check_version
      Src: /src/gnupg/tools/gpgconf.c:1353,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1354,1
    - Dst: gcry_check_version
      Src: /src/gnupg/tools/gpgconf.c:1355,1
    - Dst: gcry_get_config
      Src: /src/gnupg/tools/gpgconf.c:1356,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpgconf.c:1358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fp
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1359
    functionName: show_version_libgcrypt
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - gcry_check_version
    - get_revision_from_blurb
    - gcry_get_config
    - es_fputs
    linkageType: ''
    returnType: void
    signature: void show_version_libgcrypt (estream_t fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_revision_from_blurb
      Src: /src/gnupg/tools/gpgconf.c:1368,1
    - Dst: gpg_error_check_version
      Src: /src/gnupg/tools/gpgconf.c:1368,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1369,1
    - Dst: gpg_error_check_version
      Src: /src/gnupg/tools/gpgconf.c:1370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fp
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1362
    functionDepth: 1
    functionLinenumber: 1362
    functionLinenumberEnd: 1371
    functionName: show_version_gpgrt
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 0
    functionsReached:
    - gpg_error_check_version
    - get_revision_from_blurb
    - es_fprintf
    linkageType: ''
    returnType: void
    signature: void show_version_gpgrt (estream_t fp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_module_name
      Src: /src/gnupg/tools/gpgconf.c:1390,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/tools/gpgconf.c:1393,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf.c:1397,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:1397,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1398,1
    - Dst: gpgrt_process_get_streams
      Src: /src/gnupg/tools/gpgconf.c:1402,1
    - Dst: es_read_line
      Src: /src/gnupg/tools/gpgconf.c:1403,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1409,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/gpgconf.c:1411,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgconf.c:1413,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf.c:1414,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:1414,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgconf.c:1416,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgconf.c:1418,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf.c:1419,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:1420,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/tools/gpgconf.c:1423,1
    - Dst: gpgrt_process_ctl
      Src: /src/gnupg/tools/gpgconf.c:1428,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf.c:1431,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:1432,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1433,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpgconf.c:1436,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1437,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - fp
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1378
    functionDepth: 1
    functionLinenumber: 1378
    functionLinenumberEnd: 1438
    functionName: show_versions_via_dirmngr
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 0
    functionsReached:
    - gpgrt_process_get_streams
    - es_fprintf
    - log_error
    - gpgrt_process_spawn
    - gnupg_module_name
    - gpg_error_from_syserror
    - es_fclose
    - es_read_line
    - gpgrt_process_release
    - gpg_strerror
    - gpgrt_process_wait
    - gpgrt_process_ctl
    - xfree
    - es_ferror
    linkageType: ''
    returnType: void
    signature: void show_versions_via_dirmngr (estream_t fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: show_version_gnupg
      Src: /src/gnupg/tools/gpgconf.c:1445,1
    - Dst: es_fputc
      Src: /src/gnupg/tools/gpgconf.c:1446,1
    - Dst: show_version_libgcrypt
      Src: /src/gnupg/tools/gpgconf.c:1447,1
    - Dst: es_fputc
      Src: /src/gnupg/tools/gpgconf.c:1448,1
    - Dst: show_version_gpgrt
      Src: /src/gnupg/tools/gpgconf.c:1449,1
    - Dst: es_fputc
      Src: /src/gnupg/tools/gpgconf.c:1450,1
    - Dst: show_versions_via_dirmngr
      Src: /src/gnupg/tools/gpgconf.c:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - fp
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1442
    functionDepth: 2
    functionLinenumber: 1442
    functionLinenumberEnd: 1452
    functionName: show_versions
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 1
    functionsReached:
    - show_version_libgcrypt
    - es_fputc
    - show_version_gpgrt
    - show_version_gnupg
    - show_versions_via_dirmngr
    linkageType: ''
    returnType: void
    signature: void show_versions (estream_t fp)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: es_read_line
      Src: /src/gnupg/tools/gpgconf.c:1469,1
    - Dst: es_fputc
      Src: /src/gnupg/tools/gpgconf.c:1474,1
    - Dst: es_fputc
      Src: /src/gnupg/tools/gpgconf.c:1476,1
    - Dst: es_fputc
      Src: /src/gnupg/tools/gpgconf.c:1477,1
    - Dst: gpgrt_fwrite
      Src: /src/gnupg/tools/gpgconf.c:1479,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgconf.c:1481,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpgconf.c:1482,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgconf.c:1491,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgconf.c:1492,1
    - Dst: strtokenize
      Src: /src/gnupg/tools/gpgconf.c:1493,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgconf.c:1496,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf.c:1497,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:1497,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf.c:1504,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf.c:1505,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf.c:1511,1
    - Dst: add_to_strlist
      Src: /src/gnupg/tools/gpgconf.c:1515,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1521,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/gpgconf.c:1524,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgconf.c:1525,1
    - Dst: gpgrt_fflush
      Src: /src/gnupg/tools/gpgconf.c:1527,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgconf.c:1528,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 40
    argCount: 3
    argNames:
    - src
    - dst
    - listp
    argTypes:
    - estream_t
    - estream_t
    - strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1460
    functionDepth: 1
    functionLinenumber: 1460
    functionLinenumberEnd: 1531
    functionName: my_copy_file
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - es_fputc
    - strlen
    - log_error
    - trim_spaces
    - es_read_line
    - add_to_strlist
    - strtokenize
    - strcmp
    - gpg_strerror
    - xfree
    - gpgrt_fflush
    - es_ferror
    - gpgrt_fwrite
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t my_copy_file (estream_t src, estream_t dst, strlist_t *listp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpgconf.c:1542,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgconf.c:1545,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpgconf.c:1546,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1547,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:1548,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1552,1
    - Dst: my_copy_file
      Src: /src/gnupg/tools/gpgconf.c:1554,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1555,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf.c:1557,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:1558,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgconf.c:1559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - fname
    - global
    - outfp
    - listp
    argTypes:
    - char*
    - int
    - estream_t
    - strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1535
    functionDepth: 2
    functionLinenumber: 1535
    functionLinenumberEnd: 1561
    functionName: show_configs_one_file
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 0
    functionsReached:
    - my_copy_file
    - es_fprintf
    - gpg_error_from_syserror
    - log_error
    - es_fclose
    - gpg_strerror
    - gpg_err_code
    - es_fopen
    linkageType: ''
    returnType: void
    signature: "void show_configs_one_file (const char *fname, int global, estream_t
      outfp,\n                       strlist_t *listp)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: read_w32_reg_string
      Src: /src/gnupg/tools/gpgconf.c:1570,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpgconf.c:1593,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/tools/gpgconf.c:1593,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpgconf.c:1594,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf.c:1601,1
    - Dst: gpgrt_nvc_parse
      Src: /src/gnupg/tools/gpgconf.c:1603,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgconf.c:1604,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf.c:1607,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:1608,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1610,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1613,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpgconf.c:1618,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/gnupg/tools/gpgconf.c:1625,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf.c:1629,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/gnupg/tools/gpgconf.c:1631,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1633,1
    - Dst: gpgrt_nve_value
      Src: /src/gnupg/tools/gpgconf.c:1634,1
    - Dst: xtrystrdup
      Src: /src/gnupg/tools/gpgconf.c:1635,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - name
    - r_hklm_fallback
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1566
    functionDepth: 1
    functionLinenumber: 1566
    functionLinenumberEnd: 1637
    functionName: my_read_reg_string
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 0
    functionsReached:
    - make_filename
    - gpgrt_nvc_parse
    - xstrdup
    - es_fclose
    - xtrystrdup
    - strchr
    - es_fopen
    - log_info
    - gpg_strerror
    - xfree
    - gpgrt_nvc_lookup
    - gpgrt_nve_value
    - gnupg_sysconfdir
    - read_w32_reg_string
    linkageType: ''
    returnType: char
    signature: 'char *

      my_read_reg_string (const char *name, int *r_hklm_fallback)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1707,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpgconf.c:1708,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1714,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpgconf.c:1715,1
    - Dst: gnupg_registry_dir
      Src: /src/gnupg/tools/gpgconf.c:1715,1
    - Dst: my_read_reg_string
      Src: /src/gnupg/tools/gpgconf.c:1720,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1727,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1735,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1738,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1741,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1744,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - outfp
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1643
    functionDepth: 2
    functionLinenumber: 1643
    functionLinenumberEnd: 1745
    functionName: show_other_registry_entries
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - xstrconcat
    - my_read_reg_string
    - xfree
    - gnupg_registry_dir
    linkageType: ''
    returnType: void
    signature: void show_other_registry_entries (estream_t outfp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/tools/gpgconf.c:1764,1
    - Dst: gnupg_datadir
      Src: /src/gnupg/tools/gpgconf.c:1764,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpgconf.c:1765,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgconf.c:1768,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpgconf.c:1769,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf.c:1770,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:1770,1
    - Dst: es_read_line
      Src: /src/gnupg/tools/gpgconf.c:1775,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpgconf.c:1779,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf.c:1780,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:1780,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpgconf.c:1783,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1787,1
    - Dst: my_read_reg_string
      Src: /src/gnupg/tools/gpgconf.c:1788,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1795,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1798,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/gpgconf.c:1802,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgconf.c:1804,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf.c:1805,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:1805,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1809,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1810,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgconf.c:1811,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1812,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - outfp
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1750
    functionDepth: 2
    functionLinenumber: 1750
    functionLinenumberEnd: 1813
    functionName: show_registry_entries_from_file
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 0
    functionsReached:
    - make_filename
    - es_fprintf
    - gpg_error_from_syserror
    - log_error
    - es_fclose
    - gnupg_datadir
    - es_read_line
    - trim_spaces
    - gpg_error
    - es_fopen
    - gpg_err_code
    - gpg_strerror
    - xfree
    - my_read_reg_string
    - es_ferror
    linkageType: ''
    returnType: void
    signature: void show_registry_entries_from_file (estream_t outfp)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1840,1
    - Dst: isotimestamp
      Src: /src/gnupg/tools/gpgconf.c:1841,1
    - Dst: time
      Src: /src/gnupg/tools/gpgconf.c:1841,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1842,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1843,1
    - Dst: show_version_gnupg
      Src: /src/gnupg/tools/gpgconf.c:1844,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1845,1
    - Dst: gcry_check_version
      Src: /src/gnupg/tools/gpgconf.c:1845,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1846,1
    - Dst: gpg_error_check_version
      Src: /src/gnupg/tools/gpgconf.c:1846,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1847,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1849,1
    - Dst: list_dirs
      Src: /src/gnupg/tools/gpgconf.c:1850,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1851,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1853,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpgconf.c:1854,1
    - Dst: getenv
      Src: /src/gnupg/tools/gpgconf.c:1855,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1856,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1857,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1859,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpgconf.c:1860,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/tools/gpgconf.c:1860,1
    - Dst: gnupg_access
      Src: /src/gnupg/tools/gpgconf.c:1861,1
    - Dst: show_configs_one_file
      Src: /src/gnupg/tools/gpgconf.c:1864,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1865,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1867,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpgconf.c:1869,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpgconf.c:1871,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/tools/gpgconf.c:1871,1
    - Dst: show_configs_one_file
      Src: /src/gnupg/tools/gpgconf.c:1872,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1873,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpgconf.c:1874,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf.c:1874,1
    - Dst: show_configs_one_file
      Src: /src/gnupg/tools/gpgconf.c:1875,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1876,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1877,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1881,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1891,1
    - Dst: getenv
      Src: /src/gnupg/tools/gpgconf.c:1895,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1896,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1898,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1901,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1904,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1905,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1918,1
    - Dst: my_read_reg_string
      Src: /src/gnupg/tools/gpgconf.c:1920,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1921,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1924,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf.c:1925,1
    - Dst: show_other_registry_entries
      Src: /src/gnupg/tools/gpgconf.c:1929,1
    - Dst: show_registry_entries_from_file
      Src: /src/gnupg/tools/gpgconf.c:1931,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1932,1
    - Dst: free_strlist
      Src: /src/gnupg/tools/gpgconf.c:1934,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1941,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1942,1
    - Dst: gnupg_opendir
      Src: /src/gnupg/tools/gpgconf.c:1947,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf.c:1947,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgconf.c:1950,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf.c:1951,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf.c:1952,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf.c:1952,1
    - Dst: gnupg_readdir
      Src: /src/gnupg/tools/gpgconf.c:1957,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpgconf.c:1959,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgconf.c:1961,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/tools/gpgconf.c:1962,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/tools/gpgconf.c:1964,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1969,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1974,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf.c:1976,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1978,1
    - Dst: gnupg_closedir
      Src: /src/gnupg/tools/gpgconf.c:1982,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf.c:1983,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 100
    argCount: 1
    argNames:
    - outfp
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1817
    functionDepth: 3
    functionLinenumber: 1817
    functionLinenumberEnd: 1984
    functionName: show_configs
    functionSourceFile: /src/gnupg/tools/gpgconf.c
    functionUses: 1
    functionsReached:
    - gnupg_opendir
    - list_dirs
    - es_fprintf
    - strlen
    - gnupg_homedir
    - gpg_error_check_version
    - log_error
    - DIM
    - show_configs_one_file
    - isotimestamp
    - gnupg_access
    - my_read_reg_string
    - free_strlist
    - gnupg_readdir
    - gnupg_closedir
    - gcry_check_version
    - gpg_error_from_syserror
    - show_registry_entries_from_file
    - xfree
    - gpg_strerror
    - gnupg_sysconfdir
    - time
    - make_filename
    - ascii_strncasecmp
    - show_version_gnupg
    - getenv
    - show_other_registry_entries
    linkageType: ''
    returnType: void
    signature: void show_configs (estream_t outfp)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 188
    functionName: my_strusage
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage( int level )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: session_env_setenv
      Src: /src/gnupg/tools/gpg-card.c:196,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-card.c:198,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: set_opt_session_env
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - log_fatal
    - gpg_strerror
    - session_env_setenv
    linkageType: ''
    returnType: void
    signature: void set_opt_session_env (const char *name, const char *value)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpg-card.c:208,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/tools/gpg-card.c:215,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpg-card.c:223,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpg-card.c:226,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpg-card.c:229,1
    - Dst: gnupg_set_status_fd
      Src: /src/gnupg/tools/gpg-card.c:233,1
    - Dst: translate_sys2libc_fd_int
      Src: /src/gnupg/tools/gpg-card.c:233,1
    - Dst: set_opt_session_env
      Src: /src/gnupg/tools/gpg-card.c:239,1
    - Dst: set_opt_session_env
      Src: /src/gnupg/tools/gpg-card.c:240,1
    - Dst: set_opt_session_env
      Src: /src/gnupg/tools/gpg-card.c:241,1
    - Dst: set_opt_session_env
      Src: /src/gnupg/tools/gpg-card.c:242,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 2
    argNames:
    - pargs
    - popts
    argTypes:
    - gpgrt_argparse_t*
    - gpgrt_opt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 255
    functionName: parse_arguments
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 2
    functionsReached:
    - make_filename
    - set_opt_session_env
    - gnupg_set_status_fd
    - translate_sys2libc_fd_int
    - gpgrt_argparse
    - parse_debug_flag
    linkageType: ''
    returnType: void
    signature: void parse_arguments (gpgrt_argparse_t *pargs, gpgrt_opt_t *popts)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_reopen_std
      Src: /src/gnupg/tools/gpg-card.c:269,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/tools/gpg-card.c:270,1
    - Dst: gnupg_rl_initialize
      Src: /src/gnupg/tools/gpg-card.c:271,1
    - Dst: log_set_prefix
      Src: /src/gnupg/tools/gpg-card.c:272,1
    - Dst: i18n_init
      Src: /src/gnupg/tools/gpg-card.c:275,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/tools/gpg-card.c:276,1
    - Dst: assuan_set_gpg_err_source
      Src: /src/gnupg/tools/gpg-card.c:278,1
    - Dst: setup_libassuan_logging
      Src: /src/gnupg/tools/gpg-card.c:279,1
    - Dst: session_env_new
      Src: /src/gnupg/tools/gpg-card.c:283,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-card.c:285,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:286,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-card.c:286,1
    - Dst: parse_arguments
      Src: /src/gnupg/tools/gpg-card.c:293,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpg-card.c:294,1
    - Dst: gnupg_chuid
      Src: /src/gnupg/tools/gpg-card.c:296,1
    - Dst: log_inc_errorcount
      Src: /src/gnupg/tools/gpg-card.c:297,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-card.c:299,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-card.c:300,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/tools/gpg-card.c:303,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/tools/gpg-card.c:303,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/tools/gpg-card.c:304,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpg-card.c:304,1
    - Dst: parse_comopt
      Src: /src/gnupg/tools/gpg-card.c:305,1
    - Dst: gnupg_status_printf
      Src: /src/gnupg/tools/gpg-card.c:307,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:308,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-card.c:309,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:317,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/tools/gpg-card.c:317,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:319,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/tools/gpg-card.c:319,1
    - Dst: xcalloc
      Src: /src/gnupg/tools/gpg-card.c:325,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:330,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:333,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpg-card.c:336,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:337,1
    - Dst: interactive_loop
      Src: /src/gnupg/tools/gpg-card.c:359,1
    - Dst: dispatch_command
      Src: /src/gnupg/tools/gpg-card.c:370,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-card.c:374,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:377,1
    - Dst: flush_keyblock_cache
      Src: /src/gnupg/tools/gpg-card.c:380,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:384,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:385,1
    - Dst: gnupg_status_printf
      Src: /src/gnupg/tools/gpg-card.c:388,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-card.c:389,1
    - Dst: gnupg_status_printf
      Src: /src/gnupg/tools/gpg-card.c:390,1
    - Dst: gnupg_status_printf
      Src: /src/gnupg/tools/gpg-card.c:392,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-card.c:393,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 84
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 394
    functionName: main
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 1
    functionsReached:
    - init_common_subsystems
    - exit
    - gnupg_homedir
    - interactive_loop
    - xstrdup
    - flush_keyblock_cache
    - gpgrt_set_strusage
    - dispatch_command
    - log_set_prefix
    - session_env_new
    - parse_arguments
    - log_get_errorcount
    - log_info
    - gnupg_status_printf
    - gpg_error_from_syserror
    - gnupg_reopen_std
    - log_inc_errorcount
    - gnupg_module_name
    - strcmp
    - gpg_error
    - gpg_strerror
    - xfree
    - gpgrt_argparse
    - gnupg_sysconfdir
    - i18n_init
    - gnupg_chuid
    - gnupg_rl_initialize
    - xstrconcat
    - log_fatal
    - parse_comopt
    - assuan_set_gpg_err_source
    - xcalloc
    - gpgrt_set_confdir
    - gpg_err_code
    - setup_libassuan_logging
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: nullnone
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GPGRT_INLINE
    signature: 'GPGRT_INLINE *

      nullnone (const char *s)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpg-card.c:424,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-card.c:427,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:428,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:428,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:428,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tools/gpg-card.c:432,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-card.c:435,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:436,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:436,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:436,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-card.c:437,1
    - Dst: es_fread
      Src: /src/gnupg/tools/gpg-card.c:441,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-card.c:442,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-card.c:445,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:446,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:446,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:446,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - fname
    - r_buffer
    - r_buflen
    argTypes:
    - char*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 456
    functionName: get_data_from_file
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - _
    - es_fread
    - gpg_strerror
    - es_fopen
    - xfree
    - tty_printf
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_data_from_file (const char *fname, char **r_buffer,
      size_t *r_buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-card.c:466,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-card.c:467,1
    - Dst: gpg_err_source
      Src: /src/gnupg/tools/gpg-card.c:468,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - err
    argTypes:
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 471
    functionName: fixup_scd_errors
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - gpg_err_source
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t fixup_scd_errors (gpg_error_t err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-card.c:479,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-card.c:480,1
    - Dst: gpg_err_source
      Src: /src/gnupg/tools/gpg-card.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - info
    - err
    argTypes:
    - card_info_t
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 484
    functionName: maybe_set_card_removed
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - gpg_err_source
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t maybe_set_card_removed (card_info_t info, gpg_error_t err)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpg-card.c:495,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-card.c:498,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:499,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:499,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:499,1
    - Dst: es_fwrite
      Src: /src/gnupg/tools/gpg-card.c:503,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-card.c:505,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:506,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:506,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:506,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-card.c:507,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-card.c:510,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-card.c:512,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:513,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:513,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - fname
    - buffer
    - length
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 517
    functionName: put_data_to_file
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - _
    - gpg_strerror
    - es_fopen
    - es_fwrite
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t put_data_to_file (const char *fname, const void *buffer,
      size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:527,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:528,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:529,1
    - Dst: tty_get
      Src: /src/gnupg/tools/gpg-card.c:530,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:530,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/tools/gpg-card.c:531,1
    - Dst: strcpy
      Src: /src/gnupg/tools/gpg-card.c:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - prompt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 535
    functionName: get_selection
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - tty_kill_prompt
    - _
    - tty_get
    - strcpy
    - tty_printf
    linkageType: ''
    returnType: char
    signature: 'char *

      get_selection (const char *prompt)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:554,1
    - Dst: va_start
      Src: /src/gnupg/tools/gpg-card.c:556,1
    - Dst: va_arg
      Src: /src/gnupg/tools/gpg-card.c:557,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:560,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:561,1
    - Dst: app_type_string
      Src: /src/gnupg/tools/gpg-card.c:561,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:565,1
    - Dst: va_end
      Src: /src/gnupg/tools/gpg-card.c:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 569
    functionName: print_help
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 1
    functionsReached:
    - tty_fprintf
    - va_end
    - app_type_string
    - va_start
    - va_arg
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t print_help (const char *text, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:581,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:584,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fp
    - fpr
    - fprlen
    argTypes:
    - estream_t
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 586
    functionName: print_shax_fpr
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    linkageType: ''
    returnType: void
    signature: void print_shax_fpr (estream_t fp, const unsigned char *fpr, unsigned
      int fprlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:595,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - fp
    - grp
    - with_lf
    argTypes:
    - estream_t
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 598
    functionName: print_keygrip
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    linkageType: ''
    returnType: void
    signature: void print_keygrip (estream_t fp, const unsigned char *grp, int with_lf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:605,1
    - Dst: print_utf8_buffer2
      Src: /src/gnupg/tools/gpg-card.c:612,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:612,1
    - Dst: tty_print_utf8_string2
      Src: /src/gnupg/tools/gpg-card.c:614,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:614,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:617,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:617,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - fp
    - text
    - name
    argTypes:
    - estream_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 619
    functionName: print_string
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    - strlen
    - _
    - tty_print_utf8_string2
    - print_utf8_buffer2
    linkageType: ''
    returnType: void
    signature: void print_string (estream_t fp, const char *text, const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:630,1
    - Dst: strstr
      Src: /src/gnupg/tools/gpg-card.c:631,1
    - Dst: print_utf8_buffer2
      Src: /src/gnupg/tools/gpg-card.c:640,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:640,1
    - Dst: tty_print_utf8_string2
      Src: /src/gnupg/tools/gpg-card.c:642,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:642,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:645,1
    - Dst: print_utf8_buffer2
      Src: /src/gnupg/tools/gpg-card.c:649,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:649,1
    - Dst: tty_print_utf8_string2
      Src: /src/gnupg/tools/gpg-card.c:651,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:651,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:653,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:657,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:657,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:660,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - fp
    - name
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 661
    functionName: print_isoname
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    - xstrdup
    - strlen
    - strstr
    - _
    - xfree
    - tty_print_utf8_string2
    - print_utf8_buffer2
    linkageType: ''
    returnType: void
    signature: void print_isoname (estream_t fp, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - mem
    - memlen
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 673
    functionName: mem_is_zero
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mem_is_zero (const char *mem, unsigned int memlen)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:697,1
    - Dst: mem_is_zero
      Src: /src/gnupg/tools/gpg-card.c:698,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:700,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:701,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:703,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:704,1
    - Dst: nullnone
      Src: /src/gnupg/tools/gpg-card.c:705,1
    - Dst: print_keygrip
      Src: /src/gnupg/tools/gpg-card.c:709,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:710,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:714,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:716,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:718,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:720,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:722,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:723,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:725,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:728,1
    - Dst: scd_readkey
      Src: /src/gnupg/tools/gpg-card.c:730,1
    - Dst: pubkey_algo_string
      Src: /src/gnupg/tools/gpg-card.c:732,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:733,1
    - Dst: nullnone
      Src: /src/gnupg/tools/gpg-card.c:733,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:734,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/tools/gpg-card.c:735,1
    - Dst: maybe_set_card_removed
      Src: /src/gnupg/tools/gpg-card.c:740,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:741,1
    - Dst: nullnone
      Src: /src/gnupg/tools/gpg-card.c:742,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:747,1
    - Dst: print_shax_fpr
      Src: /src/gnupg/tools/gpg-card.c:748,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:749,1
    - Dst: isotimestamp
      Src: /src/gnupg/tools/gpg-card.c:750,1
    - Dst: get_matching_keys
      Src: /src/gnupg/tools/gpg-card.c:755,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-card.c:760,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:761,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:761,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:766,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:774,1
    - Dst: memcmp
      Src: /src/gnupg/tools/gpg-card.c:777,1
    - Dst: memcmp
      Src: /src/gnupg/tools/gpg-card.c:782,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:784,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:786,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:788,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:793,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:795,1
    - Dst: print_shax_fpr
      Src: /src/gnupg/tools/gpg-card.c:798,1
    - Dst: memcmp
      Src: /src/gnupg/tools/gpg-card.c:806,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:810,1
    - Dst: print_shax_fpr
      Src: /src/gnupg/tools/gpg-card.c:811,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:812,1
    - Dst: isotimestamp
      Src: /src/gnupg/tools/gpg-card.c:813,1
    - Dst: print_string
      Src: /src/gnupg/tools/gpg-card.c:818,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:825,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:827,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:829,1
    - Dst: nullnone
      Src: /src/gnupg/tools/gpg-card.c:830,1
    - Dst: release_keyblock
      Src: /src/gnupg/tools/gpg-card.c:834,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 109
    argCount: 6
    argNames:
    - info
    - kinfo
    - label_keyref
    - fp
    - no_key_lookup
    - create_shadow
    argTypes:
    - card_info_t
    - key_info_t
    - char*
    - estream_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 679
    functionDepth: 3
    functionLinenumber: 679
    functionLinenumberEnd: 835
    functionName: list_one_kinfo
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    - print_keygrip
    - release_keyblock
    - nullnone
    - print_shax_fpr
    - isotimestamp
    - print_string
    - mem_is_zero
    - scd_readkey
    - maybe_set_card_removed
    - memcmp
    - xfree
    - gpg_err_code
    - gcry_sexp_release
    - gpg_strerror
    - strcmp
    - pubkey_algo_string
    - get_matching_keys
    linkageType: ''
    returnType: void
    signature: "void list_one_kinfo (card_info_t info, key_info_t kinfo,\n                const
      char *label_keyref, estream_t fp, int no_key_lookup,\n                int create_shadow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnupg/tools/gpg-card.c:843,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/gpg-card.c:844,1
    - Dst: xtoi_1
      Src: /src/gnupg/tools/gpg-card.c:845,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpg-card.c:846,1
    - Dst: atoi_1
      Src: /src/gnupg/tools/gpg-card.c:848,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - keyref
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 851
    functionName: piv_keyref_is_retired
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - atoi_1
    - hexdigitp
    - xtoi_1
    - strncmp
    linkageType: ''
    returnType: int
    signature: int piv_keyref_is_retired (const char *keyref)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:870,1
    - Dst: find_kinfo
      Src: /src/gnupg/tools/gpg-card.c:871,1
    - Dst: list_one_kinfo
      Src: /src/gnupg/tools/gpg-card.c:872,1
    - Dst: piv_keyref_is_retired
      Src: /src/gnupg/tools/gpg-card.c:883,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:884,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:887,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:888,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:889,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:891,1
    - Dst: list_one_kinfo
      Src: /src/gnupg/tools/gpg-card.c:892,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 5
    argNames:
    - info
    - labels
    - fp
    - no_key_lookup
    - create_shadow
    argTypes:
    - card_info_t
    - keyinfolabel_t
    - estream_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 854
    functionDepth: 4
    functionLinenumber: 854
    functionLinenumberEnd: 894
    functionName: list_all_kinfo
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    - strlen
    - piv_keyref_is_retired
    - list_one_kinfo
    - find_kinfo
    linkageType: ''
    returnType: void
    signature: "void list_all_kinfo (card_info_t info, keyinfolabel_t labels, estream_t
      fp,\n                int no_key_lookup, int create_shadow)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:904,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:905,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-card.c:906,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:909,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:921,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:924,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - info
    - fp
    argTypes:
    - card_info_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 925
    functionName: list_retry_counter
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    - DIM
    linkageType: ''
    returnType: void
    signature: void list_retry_counter (card_info_t info, estream_t fp)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:942,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:946,1
    - Dst: print_isoname
      Src: /src/gnupg/tools/gpg-card.c:947,1
    - Dst: print_string
      Src: /src/gnupg/tools/gpg-card.c:949,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:950,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:951,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:952,1
    - Dst: print_string
      Src: /src/gnupg/tools/gpg-card.c:953,1
    - Dst: print_string
      Src: /src/gnupg/tools/gpg-card.c:954,1
    - Dst: print_string
      Src: /src/gnupg/tools/gpg-card.c:956,1
    - Dst: print_string
      Src: /src/gnupg/tools/gpg-card.c:958,1
    - Dst: print_string
      Src: /src/gnupg/tools/gpg-card.c:960,1
    - Dst: print_string
      Src: /src/gnupg/tools/gpg-card.c:962,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:965,1
    - Dst: print_shax_fpr
      Src: /src/gnupg/tools/gpg-card.c:966,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:970,1
    - Dst: print_shax_fpr
      Src: /src/gnupg/tools/gpg-card.c:971,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:975,1
    - Dst: print_shax_fpr
      Src: /src/gnupg/tools/gpg-card.c:976,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:978,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:979,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:979,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:980,1
    - Dst: list_retry_counter
      Src: /src/gnupg/tools/gpg-card.c:982,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:983,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:984,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:986,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:988,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:990,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:992,1
    - Dst: gcry_cipher_algo_name
      Src: /src/gnupg/tools/gpg-card.c:992,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:994,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:995,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:998,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1003,1
    - Dst: list_all_kinfo
      Src: /src/gnupg/tools/gpg-card.c:1009,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 4
    argNames:
    - info
    - fp
    - no_key_lookup
    - create_shadow
    argTypes:
    - card_info_t
    - estream_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 929
    functionDepth: 5
    functionLinenumber: 929
    functionLinenumberEnd: 1011
    functionName: list_openpgp
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    - print_isoname
    - gcry_cipher_algo_name
    - list_all_kinfo
    - list_retry_counter
    - print_shax_fpr
    - _
    - print_string
    linkageType: ''
    returnType: void
    signature: "void list_openpgp (card_info_t info, estream_t fp,\n              int
      no_key_lookup, int create_shadow)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1028,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1030,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1032,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1034,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1036,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1038,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1041,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1043,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1045,1
    - Dst: list_retry_counter
      Src: /src/gnupg/tools/gpg-card.c:1048,1
    - Dst: list_all_kinfo
      Src: /src/gnupg/tools/gpg-card.c:1049,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - info
    - fp
    - no_key_lookup
    - create_shadow
    argTypes:
    - card_info_t
    - estream_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1015
    functionDepth: 5
    functionLinenumber: 1015
    functionLinenumberEnd: 1050
    functionName: list_piv
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    - list_retry_counter
    - list_all_kinfo
    linkageType: ''
    returnType: void
    signature: void list_piv (card_info_t info, estream_t fp, int no_key_lookup, int
      create_shadow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_retry_counter
      Src: /src/gnupg/tools/gpg-card.c:1061,1
    - Dst: list_all_kinfo
      Src: /src/gnupg/tools/gpg-card.c:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - info
    - fp
    - no_key_lookup
    - create_shadow
    argTypes:
    - card_info_t
    - estream_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1054
    functionDepth: 5
    functionLinenumber: 1054
    functionLinenumberEnd: 1063
    functionName: list_nks
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - list_retry_counter
    - list_all_kinfo
    linkageType: ''
    returnType: void
    signature: void list_nks (card_info_t info, estream_t fp, int no_key_lookup, int
      create_shadow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_retry_counter
      Src: /src/gnupg/tools/gpg-card.c:1074,1
    - Dst: list_all_kinfo
      Src: /src/gnupg/tools/gpg-card.c:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - info
    - fp
    - no_key_lookup
    - create_shadow
    argTypes:
    - card_info_t
    - estream_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1067
    functionDepth: 5
    functionLinenumber: 1067
    functionLinenumberEnd: 1076
    functionName: list_p15
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - list_retry_counter
    - list_all_kinfo
    linkageType: ''
    returnType: void
    signature: void list_p15 (card_info_t info, estream_t fp, int no_key_lookup, int
      create_shadow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1089,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1091,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1093,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1095,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - fp
    - prefix
    - value
    argTypes:
    - estream_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1079
    functionDepth: 1
    functionLinenumber: 1079
    functionLinenumberEnd: 1096
    functionName: print_a_version
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    linkageType: ''
    returnType: void
    signature: void print_a_version (estream_t fp, const char *prefix, unsigned int
      value)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1107,1
    - Dst: nullnone
      Src: /src/gnupg/tools/gpg-card.c:1107,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1109,1
    - Dst: print_a_version
      Src: /src/gnupg/tools/gpg-card.c:1111,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1112,1
    - Dst: nullnone
      Src: /src/gnupg/tools/gpg-card.c:1112,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1113,1
    - Dst: app_type_string
      Src: /src/gnupg/tools/gpg-card.c:1114,1
    - Dst: print_a_version
      Src: /src/gnupg/tools/gpg-card.c:1120,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:1122,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1123,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1126,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1129,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1131,1
    - Dst: list_openpgp
      Src: /src/gnupg/tools/gpg-card.c:1136,1
    - Dst: list_piv
      Src: /src/gnupg/tools/gpg-card.c:1139,1
    - Dst: list_nks
      Src: /src/gnupg/tools/gpg-card.c:1142,1
    - Dst: list_p15
      Src: /src/gnupg/tools/gpg-card.c:1145,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 3
    argNames:
    - info
    - no_key_lookup
    - create_shadow
    argTypes:
    - card_info_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1102
    functionDepth: 6
    functionLinenumber: 1102
    functionLinenumberEnd: 1149
    functionName: list_card
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    - list_nks
    - app_type_string
    - print_a_version
    - nullnone
    - list_piv
    - strcmp
    - list_openpgp
    - list_p15
    linkageType: ''
    returnType: void
    signature: void list_card (card_info_t info, int no_key_lookup, int create_shadow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-card.c:1168,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:1172,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:1173,1
    - Dst: memcmp
      Src: /src/gnupg/tools/gpg-card.c:1174,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - fp
    - info
    - cards
    - only_current
    argTypes:
    - estream_t
    - card_info_t
    - strlist_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1181
    functionName: print_card_list
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    - strchr
    - memcmp
    - strlen
    linkageType: ''
    returnType: void
    signature: "void print_card_list (estream_t fp, card_info_t info, strlist_t cards,\n
      \                int only_current)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:1200,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:1216,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:1217,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:1218,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:1219,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:1220,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:1221,1
    - Dst: skip_options
      Src: /src/gnupg/tools/gpg-card.c:1222,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/gpg-card.c:1230,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-card.c:1230,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-card.c:1232,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/gpg-card.c:1237,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-card.c:1239,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1241,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-card.c:1248,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-card.c:1253,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-card.c:1255,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1260,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1268,1
    - Dst: scd_serialno
      Src: /src/gnupg/tools/gpg-card.c:1277,1
    - Dst: scd_applist
      Src: /src/gnupg/tools/gpg-card.c:1292,1
    - Dst: scd_cardlist
      Src: /src/gnupg/tools/gpg-card.c:1294,1
    - Dst: print_card_list
      Src: /src/gnupg/tools/gpg-card.c:1297,1
    - Dst: scd_applist
      Src: /src/gnupg/tools/gpg-card.c:1306,1
    - Dst: scd_cardlist
      Src: /src/gnupg/tools/gpg-card.c:1308,1
    - Dst: digitp
      Src: /src/gnupg/tools/gpg-card.c:1313,1
    - Dst: atoi
      Src: /src/gnupg/tools/gpg-card.c:1317,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1323,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:1330,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1334,1
    - Dst: scd_switchcard
      Src: /src/gnupg/tools/gpg-card.c:1338,1
    - Dst: scd_applist
      Src: /src/gnupg/tools/gpg-card.c:1343,1
    - Dst: scd_switchapp
      Src: /src/gnupg/tools/gpg-card.c:1351,1
    - Dst: scd_learn
      Src: /src/gnupg/tools/gpg-card.c:1358,1
    - Dst: print_card_list
      Src: /src/gnupg/tools/gpg-card.c:1365,1
    - Dst: print_card_list
      Src: /src/gnupg/tools/gpg-card.c:1367,1
    - Dst: free_strlist
      Src: /src/gnupg/tools/gpg-card.c:1379,1
    - Dst: scd_cardlist
      Src: /src/gnupg/tools/gpg-card.c:1380,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-card.c:1387,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:1391,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:1392,1
    - Dst: memcmp
      Src: /src/gnupg/tools/gpg-card.c:1393,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1400,1
    - Dst: list_card
      Src: /src/gnupg/tools/gpg-card.c:1404,1
    - Dst: free_strlist
      Src: /src/gnupg/tools/gpg-card.c:1409,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 146
    argCount: 3
    argNames:
    - info
    - argstr
    - use_opt_cards
    argTypes:
    - card_info_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1185
    functionDepth: 7
    functionLinenumber: 1185
    functionLinenumberEnd: 1411
    functionName: cmd_list
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - scd_applist
    - scd_learn
    - scd_cardlist
    - digitp
    - strlen
    - has_leading_option
    - ascii_strcasecmp
    - list_card
    - scd_switchapp
    - print_card_list
    - scd_switchcard
    - skip_options
    - print_help
    - free_strlist
    - hexdigitp
    - spacep
    - scd_serialno
    - gpg_error
    - strchr
    - atoi
    - memcmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_list (card_info_t info, char *argstr, int use_opt_cards)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:1433,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:1443,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:1444,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:1445,1
    - Dst: skip_options
      Src: /src/gnupg/tools/gpg-card.c:1446,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1451,1
    - Dst: scd_serialno
      Src: /src/gnupg/tools/gpg-card.c:1459,1
    - Dst: scd_cardlist
      Src: /src/gnupg/tools/gpg-card.c:1465,1
    - Dst: scd_switchcard
      Src: /src/gnupg/tools/gpg-card.c:1472,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:1475,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:1476,1
    - Dst: release_card_info
      Src: /src/gnupg/tools/gpg-card.c:1479,1
    - Dst: scd_learn
      Src: /src/gnupg/tools/gpg-card.c:1480,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:1483,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:1484,1
    - Dst: scd_havekey_info
      Src: /src/gnupg/tools/gpg-card.c:1492,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-card.c:1493,1
    - Dst: scd_readkey
      Src: /src/gnupg/tools/gpg-card.c:1496,1
    - Dst: scd_havekey_info
      Src: /src/gnupg/tools/gpg-card.c:1497,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-card.c:1499,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:1500,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:1501,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-card.c:1503,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:1505,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1509,1
    - Dst: nullnone
      Src: /src/gnupg/tools/gpg-card.c:1510,1
    - Dst: app_type_string
      Src: /src/gnupg/tools/gpg-card.c:1511,1
    - Dst: print_keygrip
      Src: /src/gnupg/tools/gpg-card.c:1512,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1513,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:1517,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:1518,1
    - Dst: scd_delete_key
      Src: /src/gnupg/tools/gpg-card.c:1520,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:1522,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:1523,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1527,1
    - Dst: es_fflush
      Src: /src/gnupg/tools/gpg-card.c:1530,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:1532,1
    - Dst: release_card_info
      Src: /src/gnupg/tools/gpg-card.c:1537,1
    - Dst: free_strlist
      Src: /src/gnupg/tools/gpg-card.c:1538,1
    - Dst: scd_learn
      Src: /src/gnupg/tools/gpg-card.c:1540,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 69
    argCount: 2
    argNames:
    - callerinfo
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1416
    functionDepth: 3
    functionLinenumber: 1416
    functionLinenumberEnd: 1542
    functionName: cmd_checkkeys
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - scd_learn
    - scd_cardlist
    - has_leading_option
    - es_fflush
    - tty_fprintf
    - print_keygrip
    - app_type_string
    - log_error
    - nullnone
    - scd_switchcard
    - skip_options
    - print_help
    - log_info
    - free_strlist
    - scd_delete_key
    - scd_serialno
    - strcmp
    - scd_readkey
    - gpg_error
    - gpg_strerror
    - xfree
    - release_card_info
    - scd_havekey_info
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_checkkeys (card_info_t callerinfo, char *argstr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:1554,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1563,1
    - Dst: scd_checkpin
      Src: /src/gnupg/tools/gpg-card.c:1565,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:1567,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:1568,1
    - Dst: gpg_strsource
      Src: /src/gnupg/tools/gpg-card.c:1568,1
    - Dst: scd_getattr
      Src: /src/gnupg/tools/gpg-card.c:1571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1547
    functionDepth: 2
    functionLinenumber: 1547
    functionLinenumberEnd: 1573
    functionName: cmd_verify
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - scd_getattr
    - log_error
    - scd_checkpin
    - gpg_error
    - print_help
    - gpg_strerror
    - gpg_strsource
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_verify (card_info_t info, char *argstr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:1587,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:1598,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1599,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:1602,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:1603,1
    - Dst: skip_options
      Src: /src/gnupg/tools/gpg-card.c:1604,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-card.c:1608,1
    - Dst: get_data_from_file
      Src: /src/gnupg/tools/gpg-card.c:1610,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:1617,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:1619,1
    - Dst: hex_to_buffer
      Src: /src/gnupg/tools/gpg-card.c:1623,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-card.c:1626,1
    - Dst: scd_setattr
      Src: /src/gnupg/tools/gpg-card.c:1630,1
    - Dst: wipememory
      Src: /src/gnupg/tools/gpg-card.c:1635,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1636,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1638,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1576
    functionDepth: 2
    functionLinenumber: 1576
    functionLinenumberEnd: 1640
    functionName: cmd_authenticate
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - get_data_from_file
    - scd_setattr
    - strlen
    - gpg_error_from_syserror
    - has_leading_option
    - spacep
    - wipememory
    - skip_options
    - gpg_error
    - print_help
    - log_info
    - xfree
    - xstrdup
    - hex_to_buffer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_authenticate (card_info_t info, char *argstr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tty_get
      Src: /src/gnupg/tools/gpg-card.c:1652,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:1653,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/tools/gpg-card.c:1654,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:1658,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1659,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:1668,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:1668,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-card.c:1669,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:1670,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:1670,1
    - Dst: strstr
      Src: /src/gnupg/tools/gpg-card.c:1671,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:1672,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:1672,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1675,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - prompt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1644
    functionDepth: 1
    functionLinenumber: 1644
    functionLinenumberEnd: 1677
    functionName: ask_one_name
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    - strstr
    - tty_kill_prompt
    - trim_spaces
    - tty_get
    - _
    - strchr
    - xfree
    - tty_printf
    linkageType: ''
    returnType: char
    signature: 'char *

      ask_one_name (const char *prompt)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:1689,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:1696,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1697,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:1701,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:1702,1
    - Dst: ask_one_name
      Src: /src/gnupg/tools/gpg-card.c:1705,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:1705,1
    - Dst: ask_one_name
      Src: /src/gnupg/tools/gpg-card.c:1706,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:1706,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1709,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1710,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1711,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpg-card.c:1714,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1715,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1716,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:1721,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:1723,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:1723,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1725,1
    - Dst: scd_setattr
      Src: /src/gnupg/tools/gpg-card.c:1730,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:1730,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1732,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1681
    functionDepth: 2
    functionLinenumber: 1681
    functionLinenumberEnd: 1734
    functionName: cmd_name
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - ask_one_name
    - scd_setattr
    - strlen
    - xstrconcat
    - _
    - strcmp
    - gpg_error
    - print_help
    - log_info
    - xfree
    - xstrdup
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_name (card_info_t info, const char *argstr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:1744,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:1753,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1754,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:1757,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:1758,1
    - Dst: tty_get
      Src: /src/gnupg/tools/gpg-card.c:1761,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:1761,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:1762,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/tools/gpg-card.c:1763,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1766,1
    - Dst: scd_setattr
      Src: /src/gnupg/tools/gpg-card.c:1771,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:1771,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1774,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1737
    functionDepth: 2
    functionLinenumber: 1737
    functionLinenumberEnd: 1776
    functionName: cmd_url
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - scd_setattr
    - strlen
    - tty_kill_prompt
    - trim_spaces
    - tty_get
    - _
    - strcmp
    - gpg_error
    - print_help
    - log_info
    - xfree
    - xstrdup
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_url (card_info_t info, const char *argstr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:1788,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1800,1
    - Dst: find_kinfo
      Src: /src/gnupg/tools/gpg-card.c:1802,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1806,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1809,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - info
    argTypes:
    - card_info_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1781
    functionDepth: 1
    functionLinenumber: 1781
    functionLinenumberEnd: 1812
    functionName: cmd_fetch
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - find_kinfo
    - gpg_error
    - print_help
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_fetch (card_info_t info)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:1824,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:1832,1
    - Dst: skip_options
      Src: /src/gnupg/tools/gpg-card.c:1833,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:1835,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:1837,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-card.c:1842,1
    - Dst: get_data_from_file
      Src: /src/gnupg/tools/gpg-card.c:1844,1
    - Dst: tty_get
      Src: /src/gnupg/tools/gpg-card.c:1850,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:1850,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:1851,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/tools/gpg-card.c:1852,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1855,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:1858,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpg-card.c:1863,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-card.c:1864,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-card.c:1865,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1866,1
    - Dst: scd_setattr
      Src: /src/gnupg/tools/gpg-card.c:1871,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1874,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1815
    functionDepth: 2
    functionLinenumber: 1815
    functionLinenumberEnd: 1876
    functionName: cmd_login
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - get_data_from_file
    - scd_setattr
    - strlen
    - has_leading_option
    - tty_kill_prompt
    - spacep
    - trim_spaces
    - tty_get
    - _
    - strcmp
    - xmalloc
    - skip_options
    - print_help
    - gpg_error
    - xfree
    - xstrdup
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_login (card_info_t info, char *argstr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:1886,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:1894,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:1895,1
    - Dst: tty_get
      Src: /src/gnupg/tools/gpg-card.c:1899,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:1899,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:1900,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/tools/gpg-card.c:1901,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1904,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:1908,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:1908,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:1910,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:1910,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1911,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:1919,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:1919,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1920,1
    - Dst: scd_setattr
      Src: /src/gnupg/tools/gpg-card.c:1925,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:1925,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1928,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1879
    functionDepth: 2
    functionLinenumber: 1879
    functionLinenumberEnd: 1930
    functionName: cmd_lang
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - scd_setattr
    - strlen
    - tty_kill_prompt
    - trim_spaces
    - _
    - tty_get
    - strcmp
    - gpg_error
    - print_help
    - log_info
    - xfree
    - xstrdup
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_lang (card_info_t info, const char *argstr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:1941,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:1949,1
    - Dst: tty_get
      Src: /src/gnupg/tools/gpg-card.c:1953,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:1953,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:1954,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/tools/gpg-card.c:1955,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:1958,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:1970,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:1970,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1971,1
    - Dst: scd_setattr
      Src: /src/gnupg/tools/gpg-card.c:1977,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:1979,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1933
    functionDepth: 2
    functionLinenumber: 1933
    functionLinenumberEnd: 1981
    functionName: cmd_salut
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - scd_setattr
    - tty_kill_prompt
    - trim_spaces
    - _
    - tty_get
    - strcmp
    - gpg_error
    - print_help
    - xfree
    - tty_printf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_salut (card_info_t info, const char *argstr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:1997,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:2005,1
    - Dst: skip_options
      Src: /src/gnupg/tools/gpg-card.c:2006,1
    - Dst: digitp
      Src: /src/gnupg/tools/gpg-card.c:2008,1
    - Dst: atoi
      Src: /src/gnupg/tools/gpg-card.c:2010,1
    - Dst: digitp
      Src: /src/gnupg/tools/gpg-card.c:2011,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-card.c:2013,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2023,1
    - Dst: memset
      Src: /src/gnupg/tools/gpg-card.c:2030,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2035,1
    - Dst: tty_get
      Src: /src/gnupg/tools/gpg-card.c:2036,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:2036,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:2037,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/tools/gpg-card.c:2038,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2041,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-card.c:2047,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-card.c:2051,1
    - Dst: hextobyte
      Src: /src/gnupg/tools/gpg-card.c:2053,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:2062,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:2062,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-card.c:2069,1
    - Dst: scd_setattr
      Src: /src/gnupg/tools/gpg-card.c:2070,1
    - Dst: scd_setattr
      Src: /src/gnupg/tools/gpg-card.c:2072,1
    - Dst: scd_setattr
      Src: /src/gnupg/tools/gpg-card.c:2074,1
    - Dst: scd_setattr
      Src: /src/gnupg/tools/gpg-card.c:2077,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2082,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 1984
    functionDepth: 2
    functionLinenumber: 1984
    functionLinenumberEnd: 2084
    functionName: cmd_cafpr
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - scd_setattr
    - atoi
    - log_error
    - digitp
    - log_assert
    - has_leading_option
    - tty_kill_prompt
    - spacep
    - trim_spaces
    - tty_get
    - _
    - skip_options
    - print_help
    - gpg_error
    - memset
    - xfree
    - hextobyte
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_cafpr (card_info_t info, char *argstr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:2098,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:2105,1
    - Dst: skip_options
      Src: /src/gnupg/tools/gpg-card.c:2106,1
    - Dst: digitp
      Src: /src/gnupg/tools/gpg-card.c:2108,1
    - Dst: atoi
      Src: /src/gnupg/tools/gpg-card.c:2110,1
    - Dst: digitp
      Src: /src/gnupg/tools/gpg-card.c:2111,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-card.c:2113,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2121,1
    - Dst: xasprintf
      Src: /src/gnupg/tools/gpg-card.c:2124,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:2128,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-card.c:2133,1
    - Dst: get_data_from_file
      Src: /src/gnupg/tools/gpg-card.c:2135,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2141,1
    - Dst: tty_get
      Src: /src/gnupg/tools/gpg-card.c:2146,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:2146,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:2147,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/tools/gpg-card.c:2148,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:2149,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2152,1
    - Dst: scd_setattr
      Src: /src/gnupg/tools/gpg-card.c:2157,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2160,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2161,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2163
      start: 2087
    functionDepth: 2
    functionLinenumber: 2087
    functionLinenumberEnd: 2163
    functionName: cmd_privatedo
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - get_data_from_file
    - scd_setattr
    - atoi
    - strlen
    - digitp
    - has_leading_option
    - tty_kill_prompt
    - spacep
    - trim_spaces
    - tty_get
    - _
    - skip_options
    - print_help
    - gpg_error
    - xasprintf
    - xfree
    - xstrdup
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_privatedo (card_info_t info, char *argstr)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:2180,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:2191,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:2192,1
    - Dst: skip_options
      Src: /src/gnupg/tools/gpg-card.c:2193,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-card.c:2196,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:2199,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:2200,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:2203,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:2207,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:2207,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:2208,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:2209,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:2209,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:2210,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:2211,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:2211,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:2212,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2215,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:2216,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-card.c:2224,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpg-card.c:2225,1
    - Dst: app_type_string
      Src: /src/gnupg/tools/gpg-card.c:2225,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:2228,1
    - Dst: ascii_strupr
      Src: /src/gnupg/tools/gpg-card.c:2229,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:2235,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-card.c:2240,1
    - Dst: get_data_from_file
      Src: /src/gnupg/tools/gpg-card.c:2242,1
    - Dst: ascii_memistr
      Src: /src/gnupg/tools/gpg-card.c:2245,1
    - Dst: ascii_memistr
      Src: /src/gnupg/tools/gpg-card.c:2246,1
    - Dst: memchr
      Src: /src/gnupg/tools/gpg-card.c:2247,1
    - Dst: memchr
      Src: /src/gnupg/tools/gpg-card.c:2247,1
    - Dst: gpgrt_b64dec_start
      Src: /src/gnupg/tools/gpg-card.c:2251,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-card.c:2253,1
    - Dst: gpgrt_b64dec_proc
      Src: /src/gnupg/tools/gpg-card.c:2255,1
    - Dst: gpgrt_b64dec_finish
      Src: /src/gnupg/tools/gpg-card.c:2257,1
    - Dst: get_minimal_openpgp_key
      Src: /src/gnupg/tools/gpg-card.c:2264,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/tools/gpg-card.c:2267,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-card.c:2269,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2276,1
    - Dst: tlv_builder_new
      Src: /src/gnupg/tools/gpg-card.c:2286,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-card.c:2289,1
    - Dst: tlv_builder_add_tag
      Src: /src/gnupg/tools/gpg-card.c:2293,1
    - Dst: tlv_builder_add_ptr
      Src: /src/gnupg/tools/gpg-card.c:2294,1
    - Dst: tlv_builder_add_tag
      Src: /src/gnupg/tools/gpg-card.c:2296,1
    - Dst: tlv_builder_add_ptr
      Src: /src/gnupg/tools/gpg-card.c:2297,1
    - Dst: tlv_builder_add_end
      Src: /src/gnupg/tools/gpg-card.c:2298,1
    - Dst: tlv_builder_add_end
      Src: /src/gnupg/tools/gpg-card.c:2299,1
    - Dst: tlv_builder_finalize
      Src: /src/gnupg/tools/gpg-card.c:2301,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2304,1
    - Dst: scd_writecert
      Src: /src/gnupg/tools/gpg-card.c:2310,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-card.c:2313,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2314,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2315,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 100
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2166
    functionDepth: 2
    functionLinenumber: 2166
    functionLinenumberEnd: 2317
    functionName: cmd_writecert
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - gpgrt_b64dec_proc
    - strlen
    - gpgrt_b64dec_start
    - tlv_builder_new
    - has_leading_option
    - get_minimal_openpgp_key
    - tlv_builder_finalize
    - ascii_strcasecmp
    - xstrdup
    - ascii_strupr
    - get_data_from_file
    - app_type_string
    - log_error
    - trim_spaces
    - gpgrt_b64dec_finish
    - skip_options
    - print_help
    - ascii_memistr
    - tlv_builder_add_tag
    - gpg_error_from_syserror
    - spacep
    - strcmp
    - strchr
    - gpg_error
    - xfree
    - es_fclose_snatch
    - tlv_builder_add_ptr
    - tlv_builder_add_end
    - scd_writecert
    - xstrconcat
    - es_fclose
    - memchr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_writecert (card_info_t info, char *argstr)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:2332,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:2339,1
    - Dst: skip_options
      Src: /src/gnupg/tools/gpg-card.c:2340,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-card.c:2343,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:2346,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:2347,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:2350,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:2354,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:2354,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:2355,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:2356,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:2356,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:2357,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:2358,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:2358,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:2359,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2362,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:2363,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-card.c:2372,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2378,1
    - Dst: scd_readcert
      Src: /src/gnupg/tools/gpg-card.c:2383,1
    - Dst: parse_ber_header
      Src: /src/gnupg/tools/gpg-card.c:2398,1
    - Dst: parse_ber_header
      Src: /src/gnupg/tools/gpg-card.c:2402,1
    - Dst: memcmp
      Src: /src/gnupg/tools/gpg-card.c:2409,1
    - Dst: parse_ber_header
      Src: /src/gnupg/tools/gpg-card.c:2413,1
    - Dst: parse_ber_header
      Src: /src/gnupg/tools/gpg-card.c:2417,1
    - Dst: put_data_to_file
      Src: /src/gnupg/tools/gpg-card.c:2427,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2431,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2434,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2435,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 92
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2320
    functionDepth: 2
    functionLinenumber: 2320
    functionLinenumberEnd: 2437
    functionName: cmd_readcert
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - parse_ber_header
    - put_data_to_file
    - strlen
    - log_error
    - scd_readcert
    - has_leading_option
    - trim_spaces
    - spacep
    - strcmp
    - skip_options
    - print_help
    - strchr
    - ascii_strcasecmp
    - gpg_error
    - xstrdup
    - memcmp
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_readcert (card_info_t info, char *argstr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:2452,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:2458,1
    - Dst: skip_options
      Src: /src/gnupg/tools/gpg-card.c:2459,1
    - Dst: split_fields
      Src: /src/gnupg/tools/gpg-card.c:2461,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-card.c:2461,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2464,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-card.c:2470,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpg-card.c:2471,1
    - Dst: app_type_string
      Src: /src/gnupg/tools/gpg-card.c:2471,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:2474,1
    - Dst: ascii_strupr
      Src: /src/gnupg/tools/gpg-card.c:2475,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:2480,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:2481,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:2483,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:2483,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2484,1
    - Dst: scd_writekey
      Src: /src/gnupg/tools/gpg-card.c:2488,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2491,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2493
      start: 2440
    functionDepth: 2
    functionLinenumber: 2440
    functionLinenumberEnd: 2493
    functionName: cmd_writekey
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - app_type_string
    - strlen
    - split_fields
    - xstrconcat
    - has_leading_option
    - DIM
    - log_error
    - _
    - skip_options
    - print_help
    - gpg_error
    - strchr
    - scd_writekey
    - xstrdup
    - xfree
    - ascii_strupr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_writekey (card_info_t info, char *argstr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:2503,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:2510,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2511,1
    - Dst: scd_setattr
      Src: /src/gnupg/tools/gpg-card.c:2516,1
    - Dst: scd_getattr
      Src: /src/gnupg/tools/gpg-card.c:2522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - info
    argTypes:
    - card_info_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2526
      start: 2496
    functionDepth: 2
    functionLinenumber: 2496
    functionLinenumberEnd: 2526
    functionName: cmd_forcesig
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - scd_getattr
    - scd_setattr
    - gpg_error
    - print_help
    - log_info
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_forcesig (card_info_t info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: scd_setattr
      Src: /src/gnupg/tools/gpg-card.c:2541,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:2544,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:2545,1
    - Dst: scd_checkpin
      Src: /src/gnupg/tools/gpg-card.c:2553,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:2555,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:2555,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - info
    - forced_chv1
    argTypes:
    - card_info_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2559
      start: 2532
    functionDepth: 2
    functionLinenumber: 2532
    functionLinenumberEnd: 2559
    functionName: check_pin_for_key_operation
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - scd_checkpin
    - scd_setattr
    - gpg_strerror
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_pin_for_key_operation (card_info_t info, int *forced_chv1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scd_setattr
      Src: /src/gnupg/tools/gpg-card.c:2574,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:2576,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:2577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - forced_chv1
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2580
      start: 2563
    functionDepth: 2
    functionLinenumber: 2563
    functionLinenumberEnd: 2580
    functionName: restore_forced_chv1
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - scd_setattr
    - gpg_strerror
    - log_error
    linkageType: ''
    returnType: void
    signature: void restore_forced_chv1 (int *forced_chv1)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:2591,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:2593,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:2593,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:2596,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:2596,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:2597,1
    - Dst: tty_getf
      Src: /src/gnupg/tools/gpg-card.c:2599,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:2599,1
    - Dst: tty_get
      Src: /src/gnupg/tools/gpg-card.c:2601,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:2601,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/tools/gpg-card.c:2602,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2604,1
    - Dst: answer_is_yes_no_default
      Src: /src/gnupg/tools/gpg-card.c:2605,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2606,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - kinfo
    argTypes:
    - key_info_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2612
      start: 2585
    functionDepth: 1
    functionLinenumber: 2585
    functionLinenumberEnd: 2612
    functionName: ask_replace_keys
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - answer_is_yes_no_default
    - tty_kill_prompt
    - tty_printf
    - _
    - tty_get
    - gpg_error
    - log_info
    - xfree
    - tty_getf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ask_replace_keys (key_info_t kinfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2628,1
    - Dst: tty_get
      Src: /src/gnupg/tools/gpg-card.c:2629,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:2629,1
    - Dst: answer_is_yes_no_default
      Src: /src/gnupg/tools/gpg-card.c:2630,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/tools/gpg-card.c:2631,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2634,1
    - Dst: find_kinfo
      Src: /src/gnupg/tools/gpg-card.c:2641,1
    - Dst: find_kinfo
      Src: /src/gnupg/tools/gpg-card.c:2642,1
    - Dst: find_kinfo
      Src: /src/gnupg/tools/gpg-card.c:2643,1
    - Dst: mem_is_zero
      Src: /src/gnupg/tools/gpg-card.c:2645,1
    - Dst: mem_is_zero
      Src: /src/gnupg/tools/gpg-card.c:2646,1
    - Dst: mem_is_zero
      Src: /src/gnupg/tools/gpg-card.c:2647,1
    - Dst: ask_replace_keys
      Src: /src/gnupg/tools/gpg-card.c:2650,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:2659,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:2660,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:2660,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:2664,1
    - Dst: check_pin_for_key_operation
      Src: /src/gnupg/tools/gpg-card.c:2667,1
    - Dst: scd_genkey
      Src: /src/gnupg/tools/gpg-card.c:2679,1
    - Dst: restore_forced_chv1
      Src: /src/gnupg/tools/gpg-card.c:2682,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2683,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 2
    argNames:
    - info
    - algos
    argTypes:
    - card_info_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2617
    functionDepth: 2
    functionLinenumber: 2617
    functionLinenumberEnd: 2685
    functionName: generate_all_openpgp_card_keys
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - ask_replace_keys
    - scd_genkey
    - answer_is_yes_no_default
    - tty_kill_prompt
    - check_pin_for_key_operation
    - _
    - tty_get
    - mem_is_zero
    - gpg_error
    - xfree
    - find_kinfo
    - tty_printf
    - restore_forced_chv1
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t generate_all_openpgp_card_keys (card_info_t info, char
      **algos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_kinfo
      Src: /src/gnupg/tools/gpg-card.c:2698,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2701,1
    - Dst: mem_is_zero
      Src: /src/gnupg/tools/gpg-card.c:2706,1
    - Dst: ask_replace_keys
      Src: /src/gnupg/tools/gpg-card.c:2708,1
    - Dst: scd_genkey
      Src: /src/gnupg/tools/gpg-card.c:2715,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - info
    - keyref
    - force
    - algo
    argTypes:
    - card_info_t
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2689
    functionDepth: 2
    functionLinenumber: 2689
    functionLinenumberEnd: 2719
    functionName: generate_key
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - ask_replace_keys
    - scd_genkey
    - mem_is_zero
    - gpg_error
    - find_kinfo
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t generate_key (card_info_t info, const char *keyref, int
      force,\n              const char *algo)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:2741,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:2752,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:2752,1
    - Dst: app_type_string
      Src: /src/gnupg/tools/gpg-card.c:2753,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:2756,1
    - Dst: get_option_value
      Src: /src/gnupg/tools/gpg-card.c:2757,1
    - Dst: strtokenize
      Src: /src/gnupg/tools/gpg-card.c:2762,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-card.c:2765,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2766,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2769,1
    - Dst: skip_options
      Src: /src/gnupg/tools/gpg-card.c:2772,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-card.c:2775,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:2778,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:2779,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:2782,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2790,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:2800,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:2805,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:2806,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:2809,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2811,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:2820,1
    - Dst: log_printf
      Src: /src/gnupg/tools/gpg-card.c:2824,1
    - Dst: log_printf
      Src: /src/gnupg/tools/gpg-card.c:2827,1
    - Dst: show_keysize_warning
      Src: /src/gnupg/tools/gpg-card.c:2828,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-card.c:2837,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpg-card.c:2838,1
    - Dst: app_type_string
      Src: /src/gnupg/tools/gpg-card.c:2838,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:2841,1
    - Dst: ascii_strupr
      Src: /src/gnupg/tools/gpg-card.c:2842,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:2847,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:2850,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:2851,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2852,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:2864,1
    - Dst: generate_all_openpgp_card_keys
      Src: /src/gnupg/tools/gpg-card.c:2865,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2868,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:2871,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2872,1
    - Dst: generate_key
      Src: /src/gnupg/tools/gpg-card.c:2875,1
    - Dst: scd_learn
      Src: /src/gnupg/tools/gpg-card.c:2879,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:2881,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:2881,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2885,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2886,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 98
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2888
      start: 2722
    functionDepth: 3
    functionLinenumber: 2722
    functionLinenumberEnd: 2888
    functionName: cmd_generate
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - scd_learn
    - strlen
    - has_leading_option
    - generate_key
    - ascii_strcasecmp
    - xstrdup
    - ascii_strupr
    - get_option_value
    - show_keysize_warning
    - app_type_string
    - log_error
    - trim_spaces
    - _
    - skip_options
    - print_help
    - log_info
    - log_printf
    - gpg_error_from_syserror
    - strcmp
    - strchr
    - gpg_error
    - xfree
    - gpg_strerror
    - generate_all_openpgp_card_keys
    - xstrconcat
    - strtokenize
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_generate (card_info_t info, char *argstr)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:2904,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:2915,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:2915,1
    - Dst: app_type_string
      Src: /src/gnupg/tools/gpg-card.c:2916,1
    - Dst: has_option
      Src: /src/gnupg/tools/gpg-card.c:2920,1
    - Dst: has_option
      Src: /src/gnupg/tools/gpg-card.c:2922,1
    - Dst: skip_options
      Src: /src/gnupg/tools/gpg-card.c:2924,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:2932,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2941,1
    - Dst: get_selection
      Src: /src/gnupg/tools/gpg-card.c:2942,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:2947,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2968,1
    - Dst: get_selection
      Src: /src/gnupg/tools/gpg-card.c:2969,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:2973,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-card.c:2991,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-card.c:2991,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:2999,1
    - Dst: get_selection
      Src: /src/gnupg/tools/gpg-card.c:3000,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:3003,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:3005,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:3007,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:3019,1
    - Dst: get_selection
      Src: /src/gnupg/tools/gpg-card.c:3020,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:3026,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:3028,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:3039,1
    - Dst: get_selection
      Src: /src/gnupg/tools/gpg-card.c:3040,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:3045,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:3047,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:3051,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:3056,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:3060,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3072,1
    - Dst: scd_change_pin
      Src: /src/gnupg/tools/gpg-card.c:3076,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-card.c:3081,1
    - Dst: gpg_err_source
      Src: /src/gnupg/tools/gpg-card.c:3082,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3083,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:3083,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:3084,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:3085,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:3086,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:3087,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:3088,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:3089,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:3090,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:3091,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:3093,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:3095,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:3101,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3102,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:3103,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3104,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:3105,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3106,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:3107,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3108,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3110,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3112,1
    - Dst: scd_getattr
      Src: /src/gnupg/tools/gpg-card.c:3115,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:3119,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 159
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3121
      start: 2893
    functionDepth: 2
    functionLinenumber: 2893
    functionLinenumberEnd: 3121
    functionName: cmd_passwd
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - strlen
    - log_assert
    - ascii_strcasecmp
    - has_option
    - gpg_err_source
    - scd_change_pin
    - get_selection
    - scd_getattr
    - app_type_string
    - log_error
    - DIM
    - _
    - skip_options
    - print_help
    - log_info
    - strcmp
    - gpg_error
    - xfree
    - gpg_strerror
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_passwd (card_info_t info, char *argstr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:3130,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3138,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:3138,1
    - Dst: app_type_string
      Src: /src/gnupg/tools/gpg-card.c:3139,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:3146,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:3146,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3147,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:3151,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:3151,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3152,1
    - Dst: scd_change_pin
      Src: /src/gnupg/tools/gpg-card.c:3156,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3158,1
    - Dst: scd_change_pin
      Src: /src/gnupg/tools/gpg-card.c:3164,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3166,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3170,1
    - Dst: app_type_string
      Src: /src/gnupg/tools/gpg-card.c:3171,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - info
    argTypes:
    - card_info_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3176
      start: 3124
    functionDepth: 2
    functionLinenumber: 3124
    functionLinenumberEnd: 3176
    functionName: cmd_unblock
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - app_type_string
    - log_error
    - _
    - gpg_error
    - print_help
    - log_info
    - scd_change_pin
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_unblock (card_info_t info)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:3194,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:3207,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3211,1
    - Dst: scd_learn
      Src: /src/gnupg/tools/gpg-card.c:3236,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-card.c:3237,1
    - Dst: gpg_err_source
      Src: /src/gnupg/tools/gpg-card.c:3238,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:3242,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:3242,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:3242,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3247,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:3247,1
    - Dst: app_type_string
      Src: /src/gnupg/tools/gpg-card.c:3248,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:3260,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:3260,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3261,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:3266,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3267,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:3268,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:3269,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:3270,1
    - Dst: tty_get
      Src: /src/gnupg/tools/gpg-card.c:3271,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:3271,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/tools/gpg-card.c:3272,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:3273,1
    - Dst: answer_is_yes_no_default
      Src: /src/gnupg/tools/gpg-card.c:3275,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3277,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:3281,1
    - Dst: tty_get
      Src: /src/gnupg/tools/gpg-card.c:3282,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:3282,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/tools/gpg-card.c:3283,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:3284,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:3285,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:3285,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:3285,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3287,1
    - Dst: send_apdu
      Src: /src/gnupg/tools/gpg-card.c:3300,1
    - Dst: send_apdu
      Src: /src/gnupg/tools/gpg-card.c:3303,1
    - Dst: send_apdu
      Src: /src/gnupg/tools/gpg-card.c:3305,1
    - Dst: send_apdu
      Src: /src/gnupg/tools/gpg-card.c:3316,1
    - Dst: send_apdu
      Src: /src/gnupg/tools/gpg-card.c:3320,1
    - Dst: send_apdu
      Src: /src/gnupg/tools/gpg-card.c:3323,1
    - Dst: send_apdu
      Src: /src/gnupg/tools/gpg-card.c:3327,1
    - Dst: send_apdu
      Src: /src/gnupg/tools/gpg-card.c:3341,1
    - Dst: send_apdu
      Src: /src/gnupg/tools/gpg-card.c:3346,1
    - Dst: send_apdu
      Src: /src/gnupg/tools/gpg-card.c:3352,1
    - Dst: send_apdu
      Src: /src/gnupg/tools/gpg-card.c:3363,1
    - Dst: send_apdu
      Src: /src/gnupg/tools/gpg-card.c:3370,1
    - Dst: send_apdu
      Src: /src/gnupg/tools/gpg-card.c:3372,1
    - Dst: scd_serialno
      Src: /src/gnupg/tools/gpg-card.c:3377,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3384,1
    - Dst: send_apdu
      Src: /src/gnupg/tools/gpg-card.c:3401,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:3402,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 112
    argCount: 1
    argNames:
    - info
    argTypes:
    - card_info_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3404
      start: 3181
    functionDepth: 3
    functionLinenumber: 3181
    functionLinenumberEnd: 3404
    functionName: cmd_factoryreset
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - scd_learn
    - tty_get
    - send_apdu
    - gpg_err_source
    - app_type_string
    - log_error
    - answer_is_yes_no_default
    - tty_kill_prompt
    - trim_spaces
    - _
    - print_help
    - log_info
    - tty_printf
    - scd_serialno
    - strcmp
    - gpg_error
    - gpg_strerror
    - xfree
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_factoryreset (card_info_t info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: encode_s2k_iterations
      Src: /src/gnupg/tools/gpg-card.c:3427,1
    - Dst: agent_get_s2k_count
      Src: /src/gnupg/tools/gpg-card.c:3427,1
    - Dst: S2K_DECODE_COUNT
      Src: /src/gnupg/tools/gpg-card.c:3428,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-card.c:3434,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-card.c:3436,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-card.c:3438,1
    - Dst: gcry_randomize
      Src: /src/gnupg/tools/gpg-card.c:3440,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-card.c:3447,1
    - Dst: gcry_randomize
      Src: /src/gnupg/tools/gpg-card.c:3449,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-card.c:3451,1
    - Dst: gcry_randomize
      Src: /src/gnupg/tools/gpg-card.c:3453,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-card.c:3457,1
    - Dst: gcry_kdf_derive
      Src: /src/gnupg/tools/gpg-card.c:3459,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:3460,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpg-card.c:3466,1
    - Dst: gcry_kdf_derive
      Src: /src/gnupg/tools/gpg-card.c:3468,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:3469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 2
    argNames:
    - data
    - single_salt
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3475
      start: 3408
    functionDepth: 1
    functionLinenumber: 3408
    functionLinenumberEnd: 3475
    functionName: gen_kdf_data
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - S2K_DECODE_COUNT
    - agent_get_s2k_count
    - gcry_kdf_derive
    - strlen
    - encode_s2k_iterations
    - gcry_randomize
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gen_kdf_data (unsigned char *data, int single_salt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:3486,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3493,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3494,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:3499,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:3499,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3500,1
    - Dst: gen_kdf_data
      Src: /src/gnupg/tools/gpg-card.c:3504,1
    - Dst: scd_setattr
      Src: /src/gnupg/tools/gpg-card.c:3508,1
    - Dst: scd_getattr
      Src: /src/gnupg/tools/gpg-card.c:3514,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3518
      start: 3478
    functionDepth: 2
    functionLinenumber: 3478
    functionLinenumberEnd: 3518
    functionName: cmd_kdfsetup
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - scd_getattr
    - scd_setattr
    - log_error
    - _
    - gpg_error
    - print_help
    - log_info
    - gen_kdf_data
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_kdfsetup (card_info_t info, char *argstr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:3530,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:3531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3536
      start: 3522
    functionDepth: 1
    functionLinenumber: 3522
    functionLinenumberEnd: 3536
    functionName: show_keysize_warning
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 1
    functionsReached:
    - tty_printf
    - _
    linkageType: ''
    returnType: void
    signature: void show_keysize_warning (void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:3550,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:3557,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:3557,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3558,1
    - Dst: has_leading_option
      Src: /src/gnupg/tools/gpg-card.c:3562,1
    - Dst: skip_options
      Src: /src/gnupg/tools/gpg-card.c:3563,1
    - Dst: digitp
      Src: /src/gnupg/tools/gpg-card.c:3565,1
    - Dst: atoi
      Src: /src/gnupg/tools/gpg-card.c:3567,1
    - Dst: digitp
      Src: /src/gnupg/tools/gpg-card.c:3568,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-card.c:3570,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3578,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:3582,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:3584,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:3586,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3590,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-card.c:3596,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-card.c:3596,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3599,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:3599,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3601,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:3609,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:3609,1
    - Dst: tty_get
      Src: /src/gnupg/tools/gpg-card.c:3612,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:3612,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/tools/gpg-card.c:3613,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3615,1
    - Dst: answer_is_yes_no_default
      Src: /src/gnupg/tools/gpg-card.c:3616,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3617,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3623,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:3623,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3626,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:3626,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3628,1
    - Dst: snprintf
      Src: /src/gnupg/tools/gpg-card.c:3637,1
    - Dst: scd_setattr
      Src: /src/gnupg/tools/gpg-card.c:3638,1
    - Dst: scd_getattr
      Src: /src/gnupg/tools/gpg-card.c:3640,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:3643,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3645
      start: 3539
    functionDepth: 2
    functionLinenumber: 3539
    functionLinenumberEnd: 3645
    functionName: cmd_uif
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - log_assert
    - digitp
    - has_leading_option
    - tty_get
    - scd_getattr
    - log_error
    - answer_is_yes_no_default
    - tty_kill_prompt
    - DIM
    - _
    - skip_options
    - print_help
    - log_info
    - tty_printf
    - scd_setattr
    - spacep
    - strcmp
    - gpg_error
    - xfree
    - atoi
    - snprintf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_uif (card_info_t info, char *argstr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:3657,1
    - Dst: skip_options
      Src: /src/gnupg/tools/gpg-card.c:3672,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-card.c:3674,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3676,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3677,1
    - Dst: split_fields
      Src: /src/gnupg/tools/gpg-card.c:3681,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-card.c:3681,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:3684,1
    - Dst: yubikey_commands
      Src: /src/gnupg/tools/gpg-card.c:3691,1
    - Dst: scd_learn
      Src: /src/gnupg/tools/gpg-card.c:3692,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:3694,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:3694,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3698
      start: 3648
    functionDepth: 3
    functionLinenumber: 3648
    functionLinenumberEnd: 3698
    functionName: cmd_yubikey
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - scd_learn
    - log_error
    - split_fields
    - DIM
    - strcmp
    - gpg_error
    - skip_options
    - print_help
    - log_info
    - yubikey_commands
    - gpg_strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_yubikey (card_info_t info, char *argstr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:3717,1
    - Dst: has_option
      Src: /src/gnupg/tools/gpg-card.c:3731,1
    - Dst: has_option
      Src: /src/gnupg/tools/gpg-card.c:3734,1
    - Dst: has_option
      Src: /src/gnupg/tools/gpg-card.c:3735,1
    - Dst: has_option_name
      Src: /src/gnupg/tools/gpg-card.c:3737,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpg-card.c:3741,1
    - Dst: skip_options
      Src: /src/gnupg/tools/gpg-card.c:3745,1
    - Dst: xasprintf
      Src: /src/gnupg/tools/gpg-card.c:3748,1
    - Dst: scd_apdu
      Src: /src/gnupg/tools/gpg-card.c:3755,1
    - Dst: scd_apdu_strerror
      Src: /src/gnupg/tools/gpg-card.c:3762,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3763,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:3764,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:3767,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:3773,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:3777,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:3779,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:3781,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:3783,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:3789,1
    - Dst: isascii
      Src: /src/gnupg/tools/gpg-card.c:3790,1
    - Dst: isprint
      Src: /src/gnupg/tools/gpg-card.c:3790,1
    - Dst: iscntrl
      Src: /src/gnupg/tools/gpg-card.c:3790,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:3791,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:3793,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:3795,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:3799,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:3800,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3802
      start: 3701
    functionDepth: 2
    functionLinenumber: 3701
    functionLinenumberEnd: 3802
    functionName: cmd_apdu
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - scd_apdu
    - tty_fprintf
    - scd_apdu_strerror
    - has_option_name
    - spacep
    - iscntrl
    - skip_options
    - print_help
    - log_info
    - xasprintf
    - has_option
    - xfree
    - isprint
    - isascii
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_apdu (card_info_t info, char *argstr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:3816,1
    - Dst: strtokenize
      Src: /src/gnupg/tools/gpg-card.c:3824,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-card.c:3827,1
    - Dst: ccparray_init
      Src: /src/gnupg/tools/gpg-card.c:3830,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-card.c:3832,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/gpg-card.c:3833,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-card.c:3836,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/tools/gpg-card.c:3840,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/tools/gpg-card.c:3847,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpg-card.c:3848,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:3853,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:3854,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - info
    - argstr
    - use_gpgsm
    argTypes:
    - card_info_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3856
      start: 3805
    functionDepth: 1
    functionLinenumber: 3805
    functionLinenumberEnd: 3856
    functionName: cmd_gpg
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - ccparray_get
    - ccparray_put
    - gpg_error_from_syserror
    - gpgrt_process_spawn
    - gpgrt_process_release
    - strtokenize
    - ccparray_init
    - print_help
    - gpgrt_process_wait
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_gpg (card_info_t info, char *argstr, int use_gpgsm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: has_option
      Src: /src/gnupg/tools/gpg-card.c:3864,1
    - Dst: has_option
      Src: /src/gnupg/tools/gpg-card.c:3865,1
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:3868,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:3876,1
    - Dst: tty_read_history
      Src: /src/gnupg/tools/gpg-card.c:3879,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - info
    - argstr
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3882
      start: 3859
    functionDepth: 1
    functionLinenumber: 3859
    functionLinenumberEnd: 3882
    functionName: cmd_history
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - tty_read_history
    - tty_printf
    - print_help
    - has_option
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_history (card_info_t info, char *argstr)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:3961,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-card.c:3963,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:3966,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:3967,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:3971,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:3978,1
    - Dst: scd_learn
      Src: /src/gnupg/tools/gpg-card.c:3987,1
    - Dst: fixup_scd_errors
      Src: /src/gnupg/tools/gpg-card.c:3990,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:3991,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:3991,1
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:4003,1
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:4009,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:4013,1
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:4020,1
    - Dst: dispatch_command
      Src: /src/gnupg/tools/gpg-card.c:4024,1
    - Dst: es_printf
      Src: /src/gnupg/tools/gpg-card.c:4027,1
    - Dst: es_printf
      Src: /src/gnupg/tools/gpg-card.c:4031,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:4031,1
    - Dst: es_printf
      Src: /src/gnupg/tools/gpg-card.c:4032,1
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:4038,1
    - Dst: flush_keyblock_cache
      Src: /src/gnupg/tools/gpg-card.c:4042,1
    - Dst: scd_apdu
      Src: /src/gnupg/tools/gpg-card.c:4043,1
    - Dst: cmd_list
      Src: /src/gnupg/tools/gpg-card.c:4049,1
    - Dst: cmd_list
      Src: /src/gnupg/tools/gpg-card.c:4050,1
    - Dst: cmd_verify
      Src: /src/gnupg/tools/gpg-card.c:4051,1
    - Dst: cmd_authenticate
      Src: /src/gnupg/tools/gpg-card.c:4052,1
    - Dst: cmd_name
      Src: /src/gnupg/tools/gpg-card.c:4053,1
    - Dst: cmd_url
      Src: /src/gnupg/tools/gpg-card.c:4054,1
    - Dst: cmd_fetch
      Src: /src/gnupg/tools/gpg-card.c:4055,1
    - Dst: cmd_login
      Src: /src/gnupg/tools/gpg-card.c:4056,1
    - Dst: cmd_lang
      Src: /src/gnupg/tools/gpg-card.c:4057,1
    - Dst: cmd_salut
      Src: /src/gnupg/tools/gpg-card.c:4058,1
    - Dst: cmd_cafpr
      Src: /src/gnupg/tools/gpg-card.c:4059,1
    - Dst: cmd_privatedo
      Src: /src/gnupg/tools/gpg-card.c:4060,1
    - Dst: cmd_writecert
      Src: /src/gnupg/tools/gpg-card.c:4061,1
    - Dst: cmd_readcert
      Src: /src/gnupg/tools/gpg-card.c:4062,1
    - Dst: cmd_writekey
      Src: /src/gnupg/tools/gpg-card.c:4063,1
    - Dst: cmd_forcesig
      Src: /src/gnupg/tools/gpg-card.c:4064,1
    - Dst: cmd_generate
      Src: /src/gnupg/tools/gpg-card.c:4065,1
    - Dst: cmd_passwd
      Src: /src/gnupg/tools/gpg-card.c:4066,1
    - Dst: cmd_unblock
      Src: /src/gnupg/tools/gpg-card.c:4067,1
    - Dst: cmd_factoryreset
      Src: /src/gnupg/tools/gpg-card.c:4068,1
    - Dst: cmd_kdfsetup
      Src: /src/gnupg/tools/gpg-card.c:4069,1
    - Dst: cmd_uif
      Src: /src/gnupg/tools/gpg-card.c:4070,1
    - Dst: cmd_yubikey
      Src: /src/gnupg/tools/gpg-card.c:4071,1
    - Dst: cmd_apdu
      Src: /src/gnupg/tools/gpg-card.c:4072,1
    - Dst: cmd_gpg
      Src: /src/gnupg/tools/gpg-card.c:4073,1
    - Dst: cmd_gpg
      Src: /src/gnupg/tools/gpg-card.c:4074,1
    - Dst: cmd_checkkeys
      Src: /src/gnupg/tools/gpg-card.c:4076,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:4080,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:4080,1
    - Dst: es_fflush
      Src: /src/gnupg/tools/gpg-card.c:4087,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-card.c:4088,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:4089,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:4095,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-card.c:4098,1
    - Dst: fixup_scd_errors
      Src: /src/gnupg/tools/gpg-card.c:4100,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:4103,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:4103,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:4108,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:4108,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-card.c:4109,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:4113,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 175
    argCount: 2
    argNames:
    - info
    - orig_command
    argTypes:
    - card_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4116
      start: 3949
    functionDepth: 8
    functionLinenumber: 3949
    functionLinenumberEnd: 4116
    functionName: dispatch_command
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 2
    functionsReached:
    - scd_apdu
    - cmd_forcesig
    - scd_learn
    - cmd_privatedo
    - strlen
    - cmd_uif
    - fixup_scd_errors
    - cmd_yubikey
    - ascii_strcasecmp
    - xstrdup
    - flush_keyblock_cache
    - cmd_salut
    - cmd_passwd
    - es_fflush
    - cmd_checkkeys
    - dispatch_command
    - log_error
    - cmd_verify
    - trim_spaces
    - _
    - cmd_login
    - cmd_apdu
    - print_help
    - log_info
    - cmd_lang
    - cmd_url
    - cmd_name
    - cmd_gpg
    - cmd_unblock
    - strchr
    - gpg_error
    - gpg_strerror
    - xfree
    - cmd_writekey
    - cmd_list
    - cmd_authenticate
    - cmd_writecert
    - cmd_generate
    - cmd_factoryreset
    - es_printf
    - cmd_readcert
    - cmd_cafpr
    - gpg_err_code
    - cmd_kdfsetup
    - cmd_fetch
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t dispatch_command (card_info_t info, const char *orig_command)
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: log_set_prefix
      Src: /src/gnupg/tools/gpg-card.c:4136,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpg-card.c:4140,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpg-card.c:4140,1
    - Dst: tty_read_history
      Src: /src/gnupg/tools/gpg-card.c:4141,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:4142,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:4143,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-card.c:4143,1
    - Dst: cmd_list
      Src: /src/gnupg/tools/gpg-card.c:4162,1
    - Dst: fixup_scd_errors
      Src: /src/gnupg/tools/gpg-card.c:4165,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:4166,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:4166,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:4170,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-card.c:4179,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:4181,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:4188,1
    - Dst: tty_enable_completion
      Src: /src/gnupg/tools/gpg-card.c:4189,1
    - Dst: tty_get
      Src: /src/gnupg/tools/gpg-card.c:4190,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:4190,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/tools/gpg-card.c:4191,1
    - Dst: tty_disable_completion
      Src: /src/gnupg/tools/gpg-card.c:4192,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:4193,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-card.c:4205,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:4208,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-card.c:4209,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-card.c:4213,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:4222,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:4243,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:4244,1
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:4257,1
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:4263,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:4267,1
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:4274,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:4281,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:4285,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:4285,1
    - Dst: print_help
      Src: /src/gnupg/tools/gpg-card.c:4291,1
    - Dst: flush_keyblock_cache
      Src: /src/gnupg/tools/gpg-card.c:4295,1
    - Dst: scd_apdu
      Src: /src/gnupg/tools/gpg-card.c:4296,1
    - Dst: cmd_list
      Src: /src/gnupg/tools/gpg-card.c:4302,1
    - Dst: cmd_list
      Src: /src/gnupg/tools/gpg-card.c:4303,1
    - Dst: cmd_verify
      Src: /src/gnupg/tools/gpg-card.c:4305,1
    - Dst: cmd_authenticate
      Src: /src/gnupg/tools/gpg-card.c:4309,1
    - Dst: cmd_name
      Src: /src/gnupg/tools/gpg-card.c:4310,1
    - Dst: cmd_url
      Src: /src/gnupg/tools/gpg-card.c:4311,1
    - Dst: cmd_fetch
      Src: /src/gnupg/tools/gpg-card.c:4312,1
    - Dst: cmd_login
      Src: /src/gnupg/tools/gpg-card.c:4313,1
    - Dst: cmd_lang
      Src: /src/gnupg/tools/gpg-card.c:4314,1
    - Dst: cmd_salut
      Src: /src/gnupg/tools/gpg-card.c:4315,1
    - Dst: cmd_cafpr
      Src: /src/gnupg/tools/gpg-card.c:4316,1
    - Dst: cmd_privatedo
      Src: /src/gnupg/tools/gpg-card.c:4317,1
    - Dst: cmd_writecert
      Src: /src/gnupg/tools/gpg-card.c:4318,1
    - Dst: cmd_readcert
      Src: /src/gnupg/tools/gpg-card.c:4319,1
    - Dst: cmd_writekey
      Src: /src/gnupg/tools/gpg-card.c:4320,1
    - Dst: cmd_forcesig
      Src: /src/gnupg/tools/gpg-card.c:4321,1
    - Dst: cmd_generate
      Src: /src/gnupg/tools/gpg-card.c:4322,1
    - Dst: cmd_passwd
      Src: /src/gnupg/tools/gpg-card.c:4323,1
    - Dst: cmd_unblock
      Src: /src/gnupg/tools/gpg-card.c:4324,1
    - Dst: cmd_factoryreset
      Src: /src/gnupg/tools/gpg-card.c:4326,1
    - Dst: cmd_kdfsetup
      Src: /src/gnupg/tools/gpg-card.c:4330,1
    - Dst: cmd_uif
      Src: /src/gnupg/tools/gpg-card.c:4331,1
    - Dst: cmd_yubikey
      Src: /src/gnupg/tools/gpg-card.c:4332,1
    - Dst: cmd_apdu
      Src: /src/gnupg/tools/gpg-card.c:4333,1
    - Dst: cmd_gpg
      Src: /src/gnupg/tools/gpg-card.c:4334,1
    - Dst: cmd_gpg
      Src: /src/gnupg/tools/gpg-card.c:4335,1
    - Dst: cmd_history
      Src: /src/gnupg/tools/gpg-card.c:4336,1
    - Dst: cmd_checkkeys
      Src: /src/gnupg/tools/gpg-card.c:4337,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:4341,1
    - Dst: tty_printf
      Src: /src/gnupg/tools/gpg-card.c:4342,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-card.c:4342,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-card.c:4350,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-card.c:4353,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/gpg-card.c:4354,1
    - Dst: fixup_scd_errors
      Src: /src/gnupg/tools/gpg-card.c:4365,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-card.c:4366,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:4366,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-card.c:4367,1
    - Dst: tty_write_history
      Src: /src/gnupg/tools/gpg-card.c:4374,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-card.c:4375,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-card.c:4376,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-card.c:4376,1
    - Dst: release_card_info
      Src: /src/gnupg/tools/gpg-card.c:4378,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:4379,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-card.c:4380,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 229
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4381
      start: 4120
    functionDepth: 8
    functionLinenumber: 4120
    functionLinenumberEnd: 4381
    functionName: interactive_loop
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 1
    functionsReached:
    - scd_apdu
    - cmd_forcesig
    - cmd_uif
    - cmd_privatedo
    - strlen
    - fixup_scd_errors
    - gnupg_homedir
    - tty_write_history
    - cmd_yubikey
    - tty_get
    - ascii_strcasecmp
    - xstrdup
    - flush_keyblock_cache
    - cmd_salut
    - cmd_passwd
    - cmd_history
    - tty_fprintf
    - cmd_checkkeys
    - log_error
    - log_set_prefix
    - tty_kill_prompt
    - trim_spaces
    - cmd_verify
    - _
    - cmd_login
    - cmd_apdu
    - print_help
    - log_info
    - tty_printf
    - cmd_lang
    - gpg_error_from_syserror
    - cmd_url
    - tty_read_history
    - cmd_name
    - tty_enable_completion
    - cmd_unblock
    - cmd_gpg
    - strchr
    - gpg_error
    - gpg_strerror
    - xfree
    - cmd_writekey
    - tty_disable_completion
    - cmd_list
    - make_filename
    - cmd_authenticate
    - cmd_writecert
    - cmd_generate
    - cmd_factoryreset
    - release_card_info
    - cmd_readcert
    - cmd_cafpr
    - gpg_err_code
    - cmd_kdfsetup
    - cmd_fetch
    linkageType: ''
    returnType: void
    signature: void interactive_loop (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-card.c:4397,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpg-card.c:4404,1
    - Dst: strdup
      Src: /src/gnupg/tools/gpg-card.c:4405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - text
    - state
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4409
      start: 4385
    functionDepth: 0
    functionLinenumber: 4385
    functionLinenumberEnd: 4409
    functionName: command_generator
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strdup
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      command_generator (const char *text, int state)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rl_completion_matches
      Src: /src/gnupg/tools/gpg-card.c:4421,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/tools/gpg-card.c:4422,1
    - Dst: rl_completion_matches
      Src: /src/gnupg/tools/gpg-card.c:4423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4428
      start: 4412
    functionDepth: 1
    functionLinenumber: 4412
    functionLinenumberEnd: 4428
    functionName: command_completion
    functionSourceFile: /src/gnupg/tools/gpg-card.c
    functionUses: 0
    functionsReached:
    - rl_completion_matches
    - ascii_strncasecmp
    linkageType: ''
    returnType: char
    signature: 'char **

      command_completion (const char *text, int start, int end)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/tools/gpgtar.c:205,1
    - Dst: _
      Src: /src/gnupg/tools/gpgtar.c:209,1
    - Dst: _
      Src: /src/gnupg/tools/gpgtar.c:212,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 219
    functionName: my_strusage
    functionSourceFile: /src/gnupg/tools/gpgtar.c
    functionUses: 0
    functionsReached:
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage( int level )'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar.c:235,1
    - Dst: _
      Src: /src/gnupg/tools/gpgtar.c:235,1
    - Dst: exit
      Src: /src/gnupg/tools/gpgtar.c:236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ret_cmd
    - new_cmd
    argTypes:
    - enum cmd_and_opt_values*
    - enum cmd_and_opt_values
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 240
    functionName: set_cmd
    functionSourceFile: /src/gnupg/tools/gpgtar.c
    functionUses: 0
    functionsReached:
    - exit
    - _
    - log_error
    linkageType: ''
    returnType: void
    signature: void set_cmd (enum cmd_and_opt_values *ret_cmd, enum cmd_and_opt_values
      new_cmd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/gnupg/tools/gpgtar.c:279,1
    - Dst: addargument
      Src: /src/gnupg/tools/gpgtar.c:280,1
    - Dst: addchar
      Src: /src/gnupg/tools/gpgtar.c:284,1
    - Dst: addchar
      Src: /src/gnupg/tools/gpgtar.c:291,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgtar.c:295,1
    - Dst: addchar
      Src: /src/gnupg/tools/gpgtar.c:299,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgtar.c:303,1
    - Dst: addargument
      Src: /src/gnupg/tools/gpgtar.c:308,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - str
    - r_list
    argTypes:
    - char*
    - strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 317
    functionName: shell_parse_stringlist
    functionSourceFile: /src/gnupg/tools/gpgtar.c
    functionUses: 0
    functionsReached:
    - addchar
    - addargument
    - isspace
    - log_assert
    linkageType: ''
    returnType: int
    signature: int shell_parse_stringlist (const char *str, strlist_t *r_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: addchar
    functionSourceFile: /src/gnupg/tools/gpgtar.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: addchar(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: addargument
    functionSourceFile: /src/gnupg/tools/gpgtar.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: addargument()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shell_parse_stringlist
      Src: /src/gnupg/tools/gpgtar.c:328,1
    - Dst: strlist_length
      Src: /src/gnupg/tools/gpgtar.c:331,1
    - Dst: xtrycalloc
      Src: /src/gnupg/tools/gpgtar.c:332,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/tools/gpgtar.c:338,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/tools/gpgtar.c:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - s
    - r_argc
    - r_argv
    argTypes:
    - char*
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 344
    functionName: shell_parse_argv
    functionSourceFile: /src/gnupg/tools/gpgtar.c
    functionUses: 0
    functionsReached:
    - gpgrt_annotate_leaked_object
    - shell_parse_stringlist
    - xtrycalloc
    - strlist_length
    linkageType: ''
    returnType: int
    signature: int shell_parse_argv (const char *s, int *r_argc, char ***r_argv)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpgtar.c:354,1
    - Dst: set_cmd
      Src: /src/gnupg/tools/gpgtar.c:373,1
    - Dst: set_cmd
      Src: /src/gnupg/tools/gpgtar.c:377,1
    - Dst: set_cmd
      Src: /src/gnupg/tools/gpgtar.c:382,1
    - Dst: add_to_strlist
      Src: /src/gnupg/tools/gpgtar.c:387,1
    - Dst: set_cmd
      Src: /src/gnupg/tools/gpgtar.c:395,1
    - Dst: parse_compatibility_flags
      Src: /src/gnupg/tools/gpgtar.c:418,1
    - Dst: shell_parse_stringlist
      Src: /src/gnupg/tools/gpgtar.c:429,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar.c:430,1
    - Dst: strlist_last
      Src: /src/gnupg/tools/gpgtar.c:435,1
    - Dst: shell_parse_argv
      Src: /src/gnupg/tools/gpgtar.c:450,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar.c:451,1
    - Dst: parse_arguments
      Src: /src/gnupg/tools/gpgtar.c:459,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpgtar.c:460,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar.c:462,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 128
    argCount: 2
    argNames:
    - pargs
    - popts
    argTypes:
    - gpgrt_argparse_t*
    - gpgrt_opt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 480
    functionName: parse_arguments
    functionSourceFile: /src/gnupg/tools/gpgtar.c
    functionUses: 4
    functionsReached:
    - shell_parse_argv
    - log_error
    - parse_arguments
    - add_to_strlist
    - set_cmd
    - shell_parse_stringlist
    - parse_compatibility_flags
    - strlist_last
    - gpgrt_argparse
    linkageType: ''
    returnType: void
    signature: void parse_arguments (gpgrt_argparse_t *pargs, gpgrt_opt_t *popts)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_reopen_std
      Src: /src/gnupg/tools/gpgtar.c:492,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/tools/gpgtar.c:493,1
    - Dst: log_set_prefix
      Src: /src/gnupg/tools/gpgtar.c:494,1
    - Dst: i18n_init
      Src: /src/gnupg/tools/gpgtar.c:497,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/tools/gpgtar.c:498,1
    - Dst: gnupg_init_signals
      Src: /src/gnupg/tools/gpgtar.c:499,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgtar.c:501,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/tools/gpgtar.c:507,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/tools/gpgtar.c:507,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/tools/gpgtar.c:508,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgtar.c:508,1
    - Dst: parse_arguments
      Src: /src/gnupg/tools/gpgtar.c:514,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpgtar.c:515,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpgtar.c:517,1
    - Dst: exit
      Src: /src/gnupg/tools/gpgtar.c:518,1
    - Dst: parse_comopt
      Src: /src/gnupg/tools/gpgtar.c:523,1
    - Dst: log_set_file
      Src: /src/gnupg/tools/gpgtar.c:525,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar.c:534,1
    - Dst: _
      Src: /src/gnupg/tools/gpgtar.c:534,1
    - Dst: gnupg_parse_fdstr
      Src: /src/gnupg/tools/gpgtar.c:543,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpgtar.c:545,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar.c:545,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpgtar.c:551,1
    - Dst: es_sysopen
      Src: /src/gnupg/tools/gpgtar.c:557,1
    - Dst: es_setvbuf
      Src: /src/gnupg/tools/gpgtar.c:559,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpgtar.c:563,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgtar.c:564,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/tools/gpgtar.c:569,1
    - Dst: gpgrt_usage
      Src: /src/gnupg/tools/gpgtar.c:579,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgtar.c:580,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar.c:582,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar.c:584,1
    - Dst: gpgtar_extract
      Src: /src/gnupg/tools/gpgtar.c:587,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpgtar.c:588,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar.c:589,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar.c:589,1
    - Dst: gpgtar_list
      Src: /src/gnupg/tools/gpgtar.c:593,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpgtar.c:594,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar.c:595,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar.c:595,1
    - Dst: gpgrt_usage
      Src: /src/gnupg/tools/gpgtar.c:604,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar.c:606,1
    - Dst: gpgtar_create
      Src: /src/gnupg/tools/gpgtar.c:607,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpgtar.c:613,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar.c:614,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar.c:614,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar.c:618,1
    - Dst: _
      Src: /src/gnupg/tools/gpgtar.c:618,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpgtar.c:625,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgtar.c:626,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpgtar.c:627,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgtar.c:629,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpgtar.c:632,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 90
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 485
    functionDepth: 4
    functionLinenumber: 485
    functionLinenumberEnd: 633
    functionName: main
    functionSourceFile: /src/gnupg/tools/gpgtar.c
    functionUses: 1
    functionsReached:
    - gpgtar_extract
    - init_common_subsystems
    - es_fprintf
    - log_assert
    - gnupg_homedir
    - exit
    - es_setvbuf
    - gpgrt_set_strusage
    - gnupg_init_signals
    - log_error
    - es_sysopen
    - gpgrt_usage
    - log_set_prefix
    - parse_arguments
    - _
    - log_get_errorcount
    - log_info
    - gpgtar_list
    - gnupg_reopen_std
    - gnupg_module_name
    - strcmp
    - gpg_error
    - gpg_strerror
    - gpgrt_argparse
    - log_set_file
    - gnupg_sysconfdir
    - i18n_init
    - gpgtar_create
    - gnupg_parse_fdstr
    - parse_comopt
    - log_fatal
    - gpgrt_set_confdir
    - strerror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_fread
      Src: /src/gnupg/tools/gpgtar.c:647,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar.c:650,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/gpgtar.c:651,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar.c:652,1
    - Dst: es_fname_get
      Src: /src/gnupg/tools/gpgtar.c:653,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar.c:653,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar.c:655,1
    - Dst: es_fname_get
      Src: /src/gnupg/tools/gpgtar.c:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - record
    argTypes:
    - estream_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 663
    functionName: read_record
    functionSourceFile: /src/gnupg/tools/gpgtar.c
    functionUses: 2
    functionsReached:
    - es_fname_get
    - log_error
    - gpg_error_from_syserror
    - es_fread
    - gpg_strerror
    - es_ferror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_record (estream_t stream, void *record)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_fwrite
      Src: /src/gnupg/tools/gpgtar.c:674,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar.c:677,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar.c:678,1
    - Dst: es_fname_get
      Src: /src/gnupg/tools/gpgtar.c:679,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - stream
    - record
    argTypes:
    - estream_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 685
    functionName: write_record
    functionSourceFile: /src/gnupg/tools/gpgtar.c
    functionUses: 0
    functionsReached:
    - es_fname_get
    - log_error
    - gpg_error_from_syserror
    - gpg_strerror
    - es_fwrite
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_record (estream_t stream, const void *record)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: es_getc
      Src: /src/gnupg/tools/gpgtar.c:696,1
    - Dst: es_ungetc
      Src: /src/gnupg/tools/gpgtar.c:699,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpgtar.c:700,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar.c:701,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar.c:701,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - fp
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 724
    functionName: openpgp_message_p
    functionSourceFile: /src/gnupg/tools/gpgtar.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - log_fatal
    - es_ungetc
    - gpg_strerror
    - es_getc
    linkageType: ''
    returnType: int
    signature: int openpgp_message_p (estream_t fp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/tools/gpg-check-pattern.c:143,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-check-pattern.c:147,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-check-pattern.c:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 157
    functionName: my_strusage
    functionSourceFile: /src/gnupg/tools/gpg-check-pattern.c
    functionUses: 0
    functionsReached:
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage (int level)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: early_system_init
      Src: /src/gnupg/tools/gpg-check-pattern.c:168,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/tools/gpg-check-pattern.c:169,1
    - Dst: gcry_control
      Src: /src/gnupg/tools/gpg-check-pattern.c:170,1
    - Dst: log_set_prefix
      Src: /src/gnupg/tools/gpg-check-pattern.c:171,1
    - Dst: i18n_init
      Src: /src/gnupg/tools/gpg-check-pattern.c:174,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/tools/gpg-check-pattern.c:175,1
    - Dst: setup_libgcrypt_logging
      Src: /src/gnupg/tools/gpg-check-pattern.c:177,1
    - Dst: gcry_control
      Src: /src/gnupg/tools/gpg-check-pattern.c:178,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpg-check-pattern.c:183,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/tools/gpg-check-pattern.c:188,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpg-check-pattern.c:195,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-check-pattern.c:196,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-check-pattern.c:197,1
    - Dst: gpgrt_usage
      Src: /src/gnupg/tools/gpg-check-pattern.c:200,1
    - Dst: read_file
      Src: /src/gnupg/tools/gpg-check-pattern.c:207,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-check-pattern.c:209,1
    - Dst: parse_pattern_file
      Src: /src/gnupg/tools/gpg-check-pattern.c:211,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-check-pattern.c:213,1
    - Dst: setmode
      Src: /src/gnupg/tools/gpg-check-pattern.c:218,1
    - Dst: fileno
      Src: /src/gnupg/tools/gpg-check-pattern.c:218,1
    - Dst: process
      Src: /src/gnupg/tools/gpg-check-pattern.c:220,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 223
    functionName: main
    functionSourceFile: /src/gnupg/tools/gpg-check-pattern.c
    functionUses: 1
    functionsReached:
    - parse_pattern_file
    - i18n_init
    - gpgrt_set_strusage
    - setup_libgcrypt_logging
    - init_common_subsystems
    - gnupg_set_homedir
    - process
    - early_system_init
    - log_set_prefix
    - exit
    - gpgrt_usage
    - gcry_control
    - read_file
    - fileno
    - log_get_errorcount
    - setmode
    - gpgrt_argparse
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-check-pattern.c:238,1
    - Dst: es_set_binary
      Src: /src/gnupg/tools/gpg-check-pattern.c:243,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpg-check-pattern.c:251,1
    - Dst: xrealloc
      Src: /src/gnupg/tools/gpg-check-pattern.c:253,1
    - Dst: es_fread
      Src: /src/gnupg/tools/gpg-check-pattern.c:255,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/gpg-check-pattern.c:256,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-check-pattern.c:258,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-check-pattern.c:258,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-check-pattern.c:259,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpg-check-pattern.c:272,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-check-pattern.c:275,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-check-pattern.c:275,1
    - Dst: fstat
      Src: /src/gnupg/tools/gpg-check-pattern.c:279,1
    - Dst: es_fileno
      Src: /src/gnupg/tools/gpg-check-pattern.c:279,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-check-pattern.c:281,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-check-pattern.c:281,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-check-pattern.c:282,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpg-check-pattern.c:287,1
    - Dst: es_fread
      Src: /src/gnupg/tools/gpg-check-pattern.c:288,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-check-pattern.c:290,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-check-pattern.c:290,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-check-pattern.c:291,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-check-pattern.c:292,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-check-pattern.c:295,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - fname
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 300
    functionName: read_file
    functionSourceFile: /src/gnupg/tools/gpg-check-pattern.c
    functionUses: 1
    functionsReached:
    - es_set_binary
    - log_error
    - es_fclose
    - es_fread
    - strcmp
    - xmalloc
    - xrealloc
    - fstat
    - xfree
    - es_fopen
    - es_fileno
    - es_ferror
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      read_file (const char *fname, size_t *r_length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regerror
      Src: /src/gnupg/tools/gpg-check-pattern.c:307,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpg-check-pattern.c:308,1
    - Dst: regerror
      Src: /src/gnupg/tools/gpg-check-pattern.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - errcode
    - compiled
    argTypes:
    - int
    - regex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 311
    functionName: get_regerror
    functionSourceFile: /src/gnupg/tools/gpg-check-pattern.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - regerror
    linkageType: ''
    returnType: char
    signature: 'char *

      get_regerror (int errcode, regex_t *compiled)'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/gnupg/tools/gpg-check-pattern.c:335,1
    - Dst: xcalloc
      Src: /src/gnupg/tools/gpg-check-pattern.c:340,1
    - Dst: memchr
      Src: /src/gnupg/tools/gpg-check-pattern.c:348,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-check-pattern.c:356,1
    - Dst: isascii
      Src: /src/gnupg/tools/gpg-check-pattern.c:358,1
    - Dst: isspace
      Src: /src/gnupg/tools/gpg-check-pattern.c:358,1
    - Dst: isascii
      Src: /src/gnupg/tools/gpg-check-pattern.c:362,1
    - Dst: isspace
      Src: /src/gnupg/tools/gpg-check-pattern.c:362,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-check-pattern.c:366,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-check-pattern.c:371,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-check-pattern.c:376,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-check-pattern.c:382,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-check-pattern.c:389,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-check-pattern.c:407,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-check-pattern.c:408,1
    - Dst: xcalloc
      Src: /src/gnupg/tools/gpg-check-pattern.c:409,1
    - Dst: regcomp
      Src: /src/gnupg/tools/gpg-check-pattern.c:411,1
    - Dst: get_regerror
      Src: /src/gnupg/tools/gpg-check-pattern.c:415,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-check-pattern.c:416,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-check-pattern.c:417,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-check-pattern.c:419,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-check-pattern.c:430,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-check-pattern.c:437,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-check-pattern.c:442,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-check-pattern.c:446,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 88
    argCount: 2
    argNames:
    - data
    - datalen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 450
    functionName: parse_pattern_file
    functionSourceFile: /src/gnupg/tools/gpg-check-pattern.c
    functionUses: 1
    functionsReached:
    - log_assert
    - strlen
    - log_error
    - exit
    - xcalloc
    - strcmp
    - xfree
    - log_info
    - isspace
    - get_regerror
    - memchr
    - regcomp
    - isascii
    linkageType: ''
    returnType: pattern_t
    signature: 'pattern_t *

      parse_pattern_file (char *data, size_t datalen)'
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-check-pattern.c:466,1
    - Dst: strcasecmp
      Src: /src/gnupg/tools/gpg-check-pattern.c:482,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-check-pattern.c:487,1
    - Dst: regexec
      Src: /src/gnupg/tools/gpg-check-pattern.c:495,1
    - Dst: get_regerror
      Src: /src/gnupg/tools/gpg-check-pattern.c:508,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-check-pattern.c:509,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-check-pattern.c:510,1
    - Dst: BUG
      Src: /src/gnupg/tools/gpg-check-pattern.c:518,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 2
    argNames:
    - string
    - patarray
    argTypes:
    - char*
    - pattern_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 550
    functionName: match_p
    functionSourceFile: /src/gnupg/tools/gpg-check-pattern.c
    functionUses: 0
    functionsReached:
    - log_error
    - BUG
    - strcmp
    - regexec
    - log_info
    - xfree
    - strcasecmp
    - get_regerror
    linkageType: ''
    returnType: pattern_t
    signature: 'pattern_t *

      match_p (const char *string, pattern_t *patarray)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/gnupg/tools/gpg-check-pattern.c:569,1
    - Dst: isascii
      Src: /src/gnupg/tools/gpg-check-pattern.c:576,1
    - Dst: isspace
      Src: /src/gnupg/tools/gpg-check-pattern.c:576,1
    - Dst: match_p
      Src: /src/gnupg/tools/gpg-check-pattern.c:580,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-check-pattern.c:586,1
    - Dst: wipememory
      Src: /src/gnupg/tools/gpg-check-pattern.c:592,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-check-pattern.c:596,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-check-pattern.c:598,1
    - Dst: wipememory
      Src: /src/gnupg/tools/gpg-check-pattern.c:604,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-check-pattern.c:607,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-check-pattern.c:608,1
    - Dst: ferror
      Src: /src/gnupg/tools/gpg-check-pattern.c:610,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-check-pattern.c:612,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-check-pattern.c:613,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-check-pattern.c:614,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-check-pattern.c:623,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-check-pattern.c:626,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-check-pattern.c:627,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-check-pattern.c:629,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-check-pattern.c:631,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 2
    argNames:
    - fp
    - patarray
    argTypes:
    - FILE*
    - pattern_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 632
    functionName: process
    functionSourceFile: /src/gnupg/tools/gpg-check-pattern.c
    functionUses: 1
    functionsReached:
    - log_error
    - getc
    - match_p
    - exit
    - wipememory
    - log_get_errorcount
    - log_info
    - isspace
    - strerror
    - ferror
    - isascii
    linkageType: ''
    returnType: void
    signature: void process (FILE *fp, pattern_t *patarray)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 190
    functionName: my_strusage
    functionSourceFile: /src/gnupg/tools/gpg-mail-tube.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage( int level )'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpg-mail-tube.c:209,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/tools/gpg-mail-tube.c:216,1
    - Dst: append_to_strlist
      Src: /src/gnupg/tools/gpg-mail-tube.c:230,1
    - Dst: putenv
      Src: /src/gnupg/tools/gpg-mail-tube.c:232,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - pargs
    - popts
    argTypes:
    - gpgrt_argparse_t*
    - gpgrt_opt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 240
    functionName: parse_arguments
    functionSourceFile: /src/gnupg/tools/gpg-mail-tube.c
    functionUses: 5
    functionsReached:
    - append_to_strlist
    - putenv
    - parse_debug_flag
    - gpgrt_argparse
    linkageType: ''
    returnType: enum cmd_and_opt_values
    signature: enum cmd_and_opt_values parse_arguments (gpgrt_argparse_t *pargs, gpgrt_opt_t
      *popts)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_reopen_std
      Src: /src/gnupg/tools/gpg-mail-tube.c:255,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/tools/gpg-mail-tube.c:256,1
    - Dst: log_set_prefix
      Src: /src/gnupg/tools/gpg-mail-tube.c:257,1
    - Dst: i18n_init
      Src: /src/gnupg/tools/gpg-mail-tube.c:260,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/tools/gpg-mail-tube.c:261,1
    - Dst: parse_arguments
      Src: /src/gnupg/tools/gpg-mail-tube.c:267,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpg-mail-tube.c:268,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-mail-tube.c:270,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-mail-tube.c:271,1
    - Dst: es_fflush
      Src: /src/gnupg/tools/gpg-mail-tube.c:278,1
    - Dst: fflush
      Src: /src/gnupg/tools/gpg-mail-tube.c:279,1
    - Dst: open
      Src: /src/gnupg/tools/gpg-mail-tube.c:280,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-mail-tube.c:282,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-mail-tube.c:283,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/tools/gpg-mail-tube.c:283,1
    - Dst: dup2
      Src: /src/gnupg/tools/gpg-mail-tube.c:284,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-mail-tube.c:285,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-mail-tube.c:286,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/tools/gpg-mail-tube.c:286,1
    - Dst: log_set_file
      Src: /src/gnupg/tools/gpg-mail-tube.c:291,1
    - Dst: log_set_prefix
      Src: /src/gnupg/tools/gpg-mail-tube.c:292,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-mail-tube.c:302,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-mail-tube.c:307,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/tools/gpg-mail-tube.c:307,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-mail-tube.c:317,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-mail-tube.c:319,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-mail-tube.c:320,1
    - Dst: add_to_strlist
      Src: /src/gnupg/tools/gpg-mail-tube.c:328,1
    - Dst: prepare_for_appimage
      Src: /src/gnupg/tools/gpg-mail-tube.c:332,1
    - Dst: getenv
      Src: /src/gnupg/tools/gpg-mail-tube.c:338,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpg-mail-tube.c:342,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpg-mail-tube.c:343,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-mail-tube.c:344,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/tools/gpg-mail-tube.c:345,1
    - Dst: putenv
      Src: /src/gnupg/tools/gpg-mail-tube.c:346,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-mail-tube.c:350,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-mail-tube.c:351,1
    - Dst: mail_tube_encrypt
      Src: /src/gnupg/tools/gpg-mail-tube.c:358,1
    - Dst: gpgrt_usage
      Src: /src/gnupg/tools/gpg-mail-tube.c:362,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-mail-tube.c:363,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-mail-tube.c:368,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-mail-tube.c:368,1
    - Dst: free_strlist
      Src: /src/gnupg/tools/gpg-mail-tube.c:369,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-mail-tube.c:370,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 371
    functionName: main
    functionSourceFile: /src/gnupg/tools/gpg-mail-tube.c
    functionUses: 1
    functionsReached:
    - init_common_subsystems
    - exit
    - xstrdup
    - es_fflush
    - prepare_for_appimage
    - gpgrt_set_strusage
    - log_error
    - gpgrt_usage
    - log_set_prefix
    - parse_arguments
    - log_get_errorcount
    - fflush
    - gpgrt_annotate_leaked_object
    - log_info
    - mime_maker_add_header
    - dup2
    - free_strlist
    - mail_tube_encrypt
    - gpg_err_code_from_syserror
    - gnupg_reopen_std
    - gnupg_module_name
    - gpg_error
    - gpg_strerror
    - xfree
    - gpgrt_argparse
    - log_set_file
    - i18n_init
    - make_filename
    - open
    - xstrconcat
    - putenv
    - getenv
    - log_fatal
    - add_to_strlist
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: only_ascii
    functionSourceFile: /src/gnupg/tools/gpg-mail-tube.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int only_ascii (const char *string)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rfc822parse_last_header_line
      Src: /src/gnupg/tools/gpg-mail-tube.c:403,1
    - Dst: rfc822_cmp_header_name
      Src: /src/gnupg/tools/gpg-mail-tube.c:405,1
    - Dst: rfc822_cmp_header_name
      Src: /src/gnupg/tools/gpg-mail-tube.c:410,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - opaque
    - event
    - msg
    argTypes:
    - void*
    - rfc822parse_event_t
    - rfc822parse_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 421
    functionName: mail_tube_message_cb
    functionSourceFile: /src/gnupg/tools/gpg-mail-tube.c
    functionUses: 0
    functionsReached:
    - rfc822parse_last_header_line
    - rfc822_cmp_header_name
    linkageType: ''
    returnType: int
    signature: "int mail_tube_message_cb (void *opaque,\n                      rfc822parse_event_t
      event, rfc822parse_t msg)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: rfc822parse_open
      Src: /src/gnupg/tools/gpg-mail-tube.c:448,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-mail-tube.c:451,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-mail-tube.c:452,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-mail-tube.c:452,1
    - Dst: es_fgets
      Src: /src/gnupg/tools/gpg-mail-tube.c:458,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpg-mail-tube.c:461,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-mail-tube.c:465,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-mail-tube.c:469,1
    - Dst: rfc822parse_insert
      Src: /src/gnupg/tools/gpg-mail-tube.c:475,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-mail-tube.c:477,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-mail-tube.c:478,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-mail-tube.c:478,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-mail-tube.c:489,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-mail-tube.c:490,1
    - Dst: rfc822parse_enum_header_lines
      Src: /src/gnupg/tools/gpg-mail-tube.c:496,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-mail-tube.c:498,1
    - Dst: rfc822_cmp_header_name
      Src: /src/gnupg/tools/gpg-mail-tube.c:499,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-mail-tube.c:509,1
    - Dst: rfc822parse_enum_header_lines
      Src: /src/gnupg/tools/gpg-mail-tube.c:511,1
    - Dst: rfc822parse_parse_field
      Src: /src/gnupg/tools/gpg-mail-tube.c:518,1
    - Dst: rfc822parse_query_media_type
      Src: /src/gnupg/tools/gpg-mail-tube.c:521,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-mail-tube.c:522,1
    - Dst: rfc822parse_release_field
      Src: /src/gnupg/tools/gpg-mail-tube.c:525,1
    - Dst: time
      Src: /src/gnupg/tools/gpg-mail-tube.c:532,1
    - Dst: zb32_encode
      Src: /src/gnupg/tools/gpg-mail-tube.c:534,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-mail-tube.c:537,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-mail-tube.c:543,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-mail-tube.c:546,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-mail-tube.c:550,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-mail-tube.c:558,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-mail-tube.c:559,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-mail-tube.c:560,1
    - Dst: gnupg_get_template
      Src: /src/gnupg/tools/gpg-mail-tube.c:570,1
    - Dst: only_ascii
      Src: /src/gnupg/tools/gpg-mail-tube.c:576,1
    - Dst: mime_maker_qp_encode
      Src: /src/gnupg/tools/gpg-mail-tube.c:580,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-mail-tube.c:583,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-mail-tube.c:584,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-mail-tube.c:584,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-mail-tube.c:585,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-mail-tube.c:587,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-mail-tube.c:590,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-mail-tube.c:606,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-mail-tube.c:608,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-mail-tube.c:614,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-mail-tube.c:621,1
    - Dst: start_gpg_encrypt
      Src: /src/gnupg/tools/gpg-mail-tube.c:637,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-mail-tube.c:640,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-mail-tube.c:640,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-mail-tube.c:652,1
    - Dst: rfc822parse_get_field
      Src: /src/gnupg/tools/gpg-mail-tube.c:654,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-mail-tube.c:656,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-mail-tube.c:659,1
    - Dst: rfc822_free
      Src: /src/gnupg/tools/gpg-mail-tube.c:660,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-mail-tube.c:663,1
    - Dst: es_fgets
      Src: /src/gnupg/tools/gpg-mail-tube.c:667,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-mail-tube.c:671,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-mail-tube.c:675,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-mail-tube.c:679,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-mail-tube.c:683,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-mail-tube.c:686,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-mail-tube.c:686,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/tools/gpg-mail-tube.c:688,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-mail-tube.c:691,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-mail-tube.c:692,1
    - Dst: gpgrt_process_ctl
      Src: /src/gnupg/tools/gpg-mail-tube.c:695,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-mail-tube.c:698,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpg-mail-tube.c:703,1
    - Dst: es_fflush
      Src: /src/gnupg/tools/gpg-mail-tube.c:707,1
    - Dst: fflush
      Src: /src/gnupg/tools/gpg-mail-tube.c:708,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-mail-tube.c:709,1
    - Dst: rfc822parse_close
      Src: /src/gnupg/tools/gpg-mail-tube.c:717,1
    - Dst: gpgrt_fcancel
      Src: /src/gnupg/tools/gpg-mail-tube.c:722,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpg-mail-tube.c:723,1
    - Dst: rfc822parse_cancel
      Src: /src/gnupg/tools/gpg-mail-tube.c:724,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-mail-tube.c:725,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 158
    argCount: 2
    argNames:
    - fpin
    - recipients
    argTypes:
    - estream_t
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 426
    functionDepth: 5
    functionLinenumber: 426
    functionLinenumberEnd: 727
    functionName: mail_tube_encrypt
    functionSourceFile: /src/gnupg/tools/gpg-mail-tube.c
    functionUses: 1
    functionsReached:
    - es_fprintf
    - gpgrt_fcancel
    - strlen
    - log_assert
    - exit
    - start_gpg_encrypt
    - rfc822parse_parse_field
    - rfc822parse_open
    - es_fflush
    - rfc822parse_release_field
    - mime_maker_qp_encode
    - zb32_encode
    - log_error
    - es_fgets
    - DIM
    - fflush
    - log_info
    - gpgrt_process_wait
    - rfc822_free
    - rfc822parse_cancel
    - strncmp
    - rfc822parse_query_media_type
    - gpg_error_from_syserror
    - rfc822parse_insert
    - only_ascii
    - strcmp
    - gpg_error
    - strchr
    - gpg_strerror
    - xfree
    - time
    - gpgrt_process_release
    - es_fclose
    - rfc822parse_enum_header_lines
    - rfc822parse_close
    - rfc822_cmp_header_name
    - rfc822parse_get_field
    - gpgrt_process_ctl
    - gnupg_get_template
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t mail_tube_encrypt (estream_t fpin, strlist_t recipients)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/tools/gpg-mail-tube.c:746,1
    - Dst: gnupg_access
      Src: /src/gnupg/tools/gpg-mail-tube.c:754,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpg-mail-tube.c:757,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-mail-tube.c:760,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-mail-tube.c:761,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-mail-tube.c:762,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-mail-tube.c:762,1
    - Dst: es_read_line
      Src: /src/gnupg/tools/gpg-mail-tube.c:768,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpg-mail-tube.c:770,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-mail-tube.c:775,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpg-mail-tube.c:779,1
    - Dst: gnupg_access
      Src: /src/gnupg/tools/gpg-mail-tube.c:782,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-mail-tube.c:784,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-mail-tube.c:789,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-mail-tube.c:790,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-mail-tube.c:791,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 793
    functionName: get_vsd_gpgbin
    functionSourceFile: /src/gnupg/tools/gpg-mail-tube.c
    functionUses: 0
    functionsReached:
    - make_filename
    - gpg_error_from_syserror
    - xstrconcat
    - es_fclose
    - es_read_line
    - gnupg_access
    - strchr
    - gpg_err_code
    - es_fopen
    - log_info
    - gpg_strerror
    - xfree
    - strncmp
    linkageType: ''
    returnType: char
    signature: 'char *

      get_vsd_gpgbin (void)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_vsd_gpgbin
      Src: /src/gnupg/tools/gpg-mail-tube.c:809,1
    - Dst: getenv
      Src: /src/gnupg/tools/gpg-mail-tube.c:822,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpg-mail-tube.c:824,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/tools/gpg-mail-tube.c:825,1
    - Dst: putenv
      Src: /src/gnupg/tools/gpg-mail-tube.c:826,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpg-mail-tube.c:832,1
    - Dst: gpgrt_spawn_actions_new
      Src: /src/gnupg/tools/gpg-mail-tube.c:834,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/tools/gpg-mail-tube.c:837,1
    - Dst: gpgrt_spawn_actions_release
      Src: /src/gnupg/tools/gpg-mail-tube.c:839,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-mail-tube.c:843,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-mail-tube.c:844,1
    - Dst: get_vsd_gpgbin
      Src: /src/gnupg/tools/gpg-mail-tube.c:847,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-mail-tube.c:850,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/tools/gpg-mail-tube.c:851,1
    - Dst: putenv
      Src: /src/gnupg/tools/gpg-mail-tube.c:854,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-mail-tube.c:856,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-mail-tube.c:860,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-mail-tube.c:863,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-mail-tube.c:866,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 867
    functionName: prepare_for_appimage
    functionSourceFile: /src/gnupg/tools/gpg-mail-tube.c
    functionUses: 1
    functionsReached:
    - make_filename
    - gpgrt_spawn_actions_release
    - gpgrt_process_spawn
    - xstrconcat
    - putenv
    - getenv
    - log_error
    - gpgrt_annotate_leaked_object
    - gpgrt_spawn_actions_new
    - gpg_strerror
    - log_info
    - xfree
    - get_vsd_gpgbin
    - gnupg_sleep
    linkageType: ''
    returnType: void
    signature: void prepare_for_appimage (void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: es_fflush
      Src: /src/gnupg/tools/gpg-mail-tube.c:892,1
    - Dst: getenv
      Src: /src/gnupg/tools/gpg-mail-tube.c:896,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-mail-tube.c:898,1
    - Dst: getuid
      Src: /src/gnupg/tools/gpg-mail-tube.c:899,1
    - Dst: getgid
      Src: /src/gnupg/tools/gpg-mail-tube.c:899,1
    - Dst: getenv
      Src: /src/gnupg/tools/gpg-mail-tube.c:900,1
    - Dst: ccparray_init
      Src: /src/gnupg/tools/gpg-mail-tube.c:902,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-mail-tube.c:903,1
    - Dst: xasprintf
      Src: /src/gnupg/tools/gpg-mail-tube.c:906,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-mail-tube.c:907,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-mail-tube.c:910,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-mail-tube.c:911,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-mail-tube.c:912,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-mail-tube.c:913,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-mail-tube.c:915,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-mail-tube.c:916,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-mail-tube.c:917,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-mail-tube.c:920,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-mail-tube.c:921,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-mail-tube.c:923,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-mail-tube.c:925,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-mail-tube.c:927,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/gpg-mail-tube.c:928,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-mail-tube.c:931,1
    - Dst: gpgrt_spawn_actions_new
      Src: /src/gnupg/tools/gpg-mail-tube.c:935,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-mail-tube.c:938,1
    - Dst: gpgrt_spawn_actions_set_inherit_handles
      Src: /src/gnupg/tools/gpg-mail-tube.c:943,1
    - Dst: gpgrt_spawn_actions_set_inherit_fds
      Src: /src/gnupg/tools/gpg-mail-tube.c:945,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/tools/gpg-mail-tube.c:947,1
    - Dst: gpgrt_spawn_actions_release
      Src: /src/gnupg/tools/gpg-mail-tube.c:951,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-mail-tube.c:952,1
    - Dst: gpgrt_process_get_streams
      Src: /src/gnupg/tools/gpg-mail-tube.c:955,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpg-mail-tube.c:960,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-mail-tube.c:963,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 3
    argNames:
    - r_input
    - r_proc
    - recipients
    argTypes:
    - estream_t*
    - gpgrt_process_t*
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 965
    functionName: start_gpg_encrypt
    functionSourceFile: /src/gnupg/tools/gpg-mail-tube.c
    functionUses: 1
    functionsReached:
    - gpgrt_process_get_streams
    - ccparray_get
    - ccparray_put
    - gpgrt_spawn_actions_set_inherit_fds
    - gpgrt_spawn_actions_release
    - gpg_error_from_syserror
    - gpgrt_process_spawn
    - gpgrt_process_release
    - getenv
    - ccparray_init
    - gpgrt_spawn_actions_new
    - log_info
    - getuid
    - xasprintf
    - xfree
    - getgid
    - es_fflush
    - gpgrt_spawn_actions_set_inherit_handles
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t start_gpg_encrypt (estream_t *r_input, gpgrt_process_t
      *r_proc,\n                   strlist_t recipients)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/tools/clean-sat.c:23,1
    - Dst: getchar
      Src: /src/gnupg/tools/clean-sat.c:27,1
    - Dst: putchar
      Src: /src/gnupg/tools/clean-sat.c:30,1
    - Dst: getchar
      Src: /src/gnupg/tools/clean-sat.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnupg/tools/clean-sat.c
    functionUses: 1
    functionsReached:
    - fprintf
    - getchar
    - putchar
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: digitp
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digitp(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: hexdigitp
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hexdigitp(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: ascii_isspace
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ascii_isspace(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: xtoi_1
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/gnupg/tools/ccidmon.c:120,1
    - Dst: fprintf
      Src: /src/gnupg/tools/ccidmon.c:121,1
    - Dst: va_start
      Src: /src/gnupg/tools/ccidmon.c:123,1
    - Dst: vfprintf
      Src: /src/gnupg/tools/ccidmon.c:124,1
    - Dst: va_end
      Src: /src/gnupg/tools/ccidmon.c:125,1
    - Dst: putc
      Src: /src/gnupg/tools/ccidmon.c:126,1
    - Dst: exit
      Src: /src/gnupg/tools/ccidmon.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: die
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 3
    functionsReached:
    - va_end
    - vfprintf
    - exit
    - fprintf
    - fflush
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void die (const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/gnupg/tools/ccidmon.c:140,1
    - Dst: fprintf
      Src: /src/gnupg/tools/ccidmon.c:141,1
    - Dst: va_start
      Src: /src/gnupg/tools/ccidmon.c:143,1
    - Dst: vfprintf
      Src: /src/gnupg/tools/ccidmon.c:144,1
    - Dst: va_end
      Src: /src/gnupg/tools/ccidmon.c:145,1
    - Dst: putc
      Src: /src/gnupg/tools/ccidmon.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 147
    functionName: err
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 1
    functionsReached:
    - va_end
    - vfprintf
    - fprintf
    - fflush
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void err (const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: convert_le_u32
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int convert_le_u32 (const unsigned char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: convert_le_u16
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int convert_le_u16 (const unsigned char *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/gnupg/tools/ccidmon.c:181,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:182,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:184,1
    - Dst: putchar
      Src: /src/gnupg/tools/ccidmon.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - data
    - datalen
    - 'off'
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 190
    functionName: print_pr_data
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: void print_pr_data (const unsigned char *data, size_t datalen, size_t
      off)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnupg/tools/ccidmon.c:204,1
    - Dst: fputs
      Src: /src/gnupg/tools/ccidmon.c:205,1
    - Dst: putchar
      Src: /src/gnupg/tools/ccidmon.c:208,1
    - Dst: putchar
      Src: /src/gnupg/tools/ccidmon.c:210,1
    - Dst: putchar
      Src: /src/gnupg/tools/ccidmon.c:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - buflen
    - fill
    argTypes:
    - unsigned char*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 212
    functionName: print_as_ascii
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - putchar
    - fputs
    linkageType: ''
    returnType: void
    signature: void print_as_ascii (const unsigned char *buf, unsigned int buflen,unsigned
      int fill)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:223,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:226,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:229,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:235,1
    - Dst: print_as_ascii
      Src: /src/gnupg/tools/ccidmon.c:241,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:242,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:246,1
    - Dst: print_as_ascii
      Src: /src/gnupg/tools/ccidmon.c:252,1
    - Dst: putchar
      Src: /src/gnupg/tools/ccidmon.c:253,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:256,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - msg
    - msglen
    - to_rdr
    argTypes:
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 269
    functionName: print_t1_block
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - putchar
    - printf
    - print_as_ascii
    linkageType: ''
    returnType: void
    signature: void print_t1_block (const unsigned char *msg, size_t msglen, int to_rdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:275,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:278,1
    - Dst: convert_le_u32
      Src: /src/gnupg/tools/ccidmon.c:278,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:279,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - name
    - msg
    - msglen
    argTypes:
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: print_p2r_header
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - convert_le_u32
    - printf
    linkageType: ''
    returnType: void
    signature: void print_p2r_header (const char *name, const unsigned char *msg,
      size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/tools/ccidmon.c:287,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:290,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: print_p2r_iccpoweron
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_pr_data
    - printf
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_iccpoweron (const unsigned char *msg, size_t msglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/tools/ccidmon.c:302,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: print_p2r_iccpoweroff
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_pr_data
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_iccpoweroff (const unsigned char *msg, size_t msglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/tools/ccidmon.c:310,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 312
    functionName: print_p2r_getslotstatus
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_pr_data
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_getslotstatus (const unsigned char *msg, size_t msglen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/tools/ccidmon.c:320,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:323,1
    - Dst: convert_le_u16
      Src: /src/gnupg/tools/ccidmon.c:324,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:325,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:330,1
    - Dst: print_t1_block
      Src: /src/gnupg/tools/ccidmon.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 336
    functionName: print_p2r_xfrblock
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - printf
    - print_p2r_header
    - print_pr_data
    - print_t1_block
    - convert_le_u16
    linkageType: ''
    returnType: void
    signature: void print_p2r_xfrblock (const unsigned char *msg, size_t msglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/tools/ccidmon.c:342,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: print_p2r_getparameters
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_pr_data
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_getparameters (const unsigned char *msg, size_t msglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/tools/ccidmon.c:350,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: print_p2r_resetparameters
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_pr_data
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_resetparameters (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/tools/ccidmon.c:358,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:361,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 363
    functionName: print_p2r_setparameters
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_pr_data
    - printf
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_setparameters (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/tools/ccidmon.c:371,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: print_p2r_escape
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_pr_data
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_escape (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/tools/ccidmon.c:379,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:382,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: print_p2r_iccclock
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_pr_data
    - printf
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_iccclock (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/tools/ccidmon.c:390,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:393,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:394,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:395,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 397
    functionName: print_p2r_to0apdu
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_pr_data
    - printf
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_to0apdu (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/tools/ccidmon.c:405,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:408,1
    - Dst: convert_le_u16
      Src: /src/gnupg/tools/ccidmon.c:409,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:410,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 416
    functionName: print_p2r_secure
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_pr_data
    - printf
    - print_p2r_header
    - convert_le_u16
    linkageType: ''
    returnType: void
    signature: void print_p2r_secure (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/tools/ccidmon.c:422,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:425,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 427
    functionName: print_p2r_mechanical
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_pr_data
    - printf
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_mechanical (const unsigned char *msg, size_t msglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/tools/ccidmon.c:433,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: print_p2r_abort
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_pr_data
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_abort (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/tools/ccidmon.c:441,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 445
    functionName: print_p2r_setdatarate
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_pr_data
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_setdatarate (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/tools/ccidmon.c:453,1
    - Dst: print_p2r_header
      Src: /src/gnupg/tools/ccidmon.c:455,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 459
    functionName: print_p2r_unknown
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - snprintf
    - print_p2r_header
    - print_pr_data
    linkageType: ''
    returnType: void
    signature: void print_p2r_unknown (const unsigned char *msg, size_t msglen)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_iccpoweron
      Src: /src/gnupg/tools/ccidmon.c:468,1
    - Dst: print_p2r_iccpoweroff
      Src: /src/gnupg/tools/ccidmon.c:471,1
    - Dst: print_p2r_getslotstatus
      Src: /src/gnupg/tools/ccidmon.c:474,1
    - Dst: print_p2r_xfrblock
      Src: /src/gnupg/tools/ccidmon.c:477,1
    - Dst: print_p2r_getparameters
      Src: /src/gnupg/tools/ccidmon.c:480,1
    - Dst: print_p2r_resetparameters
      Src: /src/gnupg/tools/ccidmon.c:483,1
    - Dst: print_p2r_setparameters
      Src: /src/gnupg/tools/ccidmon.c:486,1
    - Dst: print_p2r_escape
      Src: /src/gnupg/tools/ccidmon.c:489,1
    - Dst: print_p2r_iccclock
      Src: /src/gnupg/tools/ccidmon.c:492,1
    - Dst: print_p2r_to0apdu
      Src: /src/gnupg/tools/ccidmon.c:495,1
    - Dst: print_p2r_secure
      Src: /src/gnupg/tools/ccidmon.c:498,1
    - Dst: print_p2r_mechanical
      Src: /src/gnupg/tools/ccidmon.c:501,1
    - Dst: print_p2r_abort
      Src: /src/gnupg/tools/ccidmon.c:504,1
    - Dst: print_p2r_setdatarate
      Src: /src/gnupg/tools/ccidmon.c:507,1
    - Dst: print_p2r_unknown
      Src: /src/gnupg/tools/ccidmon.c:510,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 513
    functionName: print_p2r
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_p2r_iccpoweron
    - print_p2r_xfrblock
    - print_p2r_mechanical
    - print_p2r_abort
    - print_p2r_getslotstatus
    - print_p2r_escape
    - print_p2r_unknown
    - print_p2r_setparameters
    - print_p2r_iccpoweroff
    - print_p2r_setdatarate
    - print_p2r_getparameters
    - print_p2r_iccclock
    - print_p2r_to0apdu
    - print_p2r_resetparameters
    - print_p2r_secure
    linkageType: ''
    returnType: void
    signature: void print_p2r (const unsigned char *msg, size_t msglen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:519,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:522,1
    - Dst: convert_le_u32
      Src: /src/gnupg/tools/ccidmon.c:522,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:523,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:524,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:525,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - name
    - msg
    - msglen
    argTypes:
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 528
    functionName: print_r2p_header
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - convert_le_u32
    - printf
    linkageType: ''
    returnType: void
    signature: void print_r2p_header (const char *name, const unsigned char *msg,
      size_t msglen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: print_r2p_header
      Src: /src/gnupg/tools/ccidmon.c:534,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:538,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:543,1
    - Dst: print_t1_block
      Src: /src/gnupg/tools/ccidmon.c:548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 549
    functionName: print_r2p_datablock
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_r2p_header
    - print_pr_data
    - print_t1_block
    - printf
    linkageType: ''
    returnType: void
    signature: void print_r2p_datablock (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_r2p_header
      Src: /src/gnupg/tools/ccidmon.c:555,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:558,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 564
    functionName: print_r2p_slotstatus
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_r2p_header
    - print_pr_data
    - printf
    linkageType: ''
    returnType: void
    signature: void print_r2p_slotstatus (const unsigned char *msg, size_t msglen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: print_r2p_header
      Src: /src/gnupg/tools/ccidmon.c:570,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:574,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:578,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:579,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:580,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:581,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:582,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:583,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:584,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 588
    functionName: print_r2p_parameters
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_r2p_header
    - print_pr_data
    - printf
    linkageType: ''
    returnType: void
    signature: void print_r2p_parameters (const unsigned char *msg, size_t msglen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: print_r2p_header
      Src: /src/gnupg/tools/ccidmon.c:596,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:599,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 601
    functionName: print_r2p_escape
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_r2p_header
    - print_pr_data
    - printf
    linkageType: ''
    returnType: void
    signature: void print_r2p_escape (const unsigned char *msg, size_t msglen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: print_r2p_header
      Src: /src/gnupg/tools/ccidmon.c:607,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:612,1
    - Dst: convert_le_u32
      Src: /src/gnupg/tools/ccidmon.c:612,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:613,1
    - Dst: convert_le_u32
      Src: /src/gnupg/tools/ccidmon.c:613,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:614,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 618
    functionName: print_r2p_datarate
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_r2p_header
    - convert_le_u32
    - printf
    - print_pr_data
    linkageType: ''
    returnType: void
    signature: void print_r2p_datarate (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/tools/ccidmon.c:626,1
    - Dst: print_r2p_header
      Src: /src/gnupg/tools/ccidmon.c:628,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:631,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:632,1
    - Dst: print_pr_data
      Src: /src/gnupg/tools/ccidmon.c:633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 634
    functionName: print_r2p_unknown
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_r2p_header
    - snprintf
    - printf
    - print_pr_data
    linkageType: ''
    returnType: void
    signature: void print_r2p_unknown (const unsigned char *msg, size_t msglen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: print_r2p_datablock
      Src: /src/gnupg/tools/ccidmon.c:643,1
    - Dst: print_r2p_slotstatus
      Src: /src/gnupg/tools/ccidmon.c:646,1
    - Dst: print_r2p_parameters
      Src: /src/gnupg/tools/ccidmon.c:649,1
    - Dst: print_r2p_escape
      Src: /src/gnupg/tools/ccidmon.c:652,1
    - Dst: print_r2p_datarate
      Src: /src/gnupg/tools/ccidmon.c:655,1
    - Dst: print_r2p_unknown
      Src: /src/gnupg/tools/ccidmon.c:658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 662
    functionName: print_r2p
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_r2p_parameters
    - print_r2p_unknown
    - print_r2p_escape
    - print_r2p_slotstatus
    - print_r2p_datablock
    - print_r2p_datarate
    linkageType: ''
    returnType: void
    signature: void print_r2p (const unsigned char *msg, size_t msglen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:673,1
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:674,1
    - Dst: print_r2p
      Src: /src/gnupg/tools/ccidmon.c:678,1
    - Dst: putchar
      Src: /src/gnupg/tools/ccidmon.c:680,1
    - Dst: print_p2r
      Src: /src/gnupg/tools/ccidmon.c:683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 686
    functionName: flush_data
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - print_p2r
    - putchar
    - printf
    - print_r2p
    linkageType: ''
    returnType: void
    signature: void flush_data (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/ccidmon.c:699,1
    - Dst: flush_data
      Src: /src/gnupg/tools/ccidmon.c:700,1
    - Dst: strlen
      Src: /src/gnupg/tools/ccidmon.c:702,1
    - Dst: die
      Src: /src/gnupg/tools/ccidmon.c:703,1
    - Dst: strcpy
      Src: /src/gnupg/tools/ccidmon.c:704,1
    - Dst: strlen
      Src: /src/gnupg/tools/ccidmon.c:705,1
    - Dst: die
      Src: /src/gnupg/tools/ccidmon.c:706,1
    - Dst: strcpy
      Src: /src/gnupg/tools/ccidmon.c:707,1
    - Dst: ascii_isspace
      Src: /src/gnupg/tools/ccidmon.c:712,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/ccidmon.c:714,1
    - Dst: err
      Src: /src/gnupg/tools/ccidmon.c:716,1
    - Dst: xtoi_1
      Src: /src/gnupg/tools/ccidmon.c:719,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/ccidmon.c:721,1
    - Dst: err
      Src: /src/gnupg/tools/ccidmon.c:723,1
    - Dst: xtoi_1
      Src: /src/gnupg/tools/ccidmon.c:726,1
    - Dst: err
      Src: /src/gnupg/tools/ccidmon.c:730,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 4
    argNames:
    - hexdata
    - timestamp
    - address
    - lineno
    argTypes:
    - char*
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 737
    functionName: collect_data
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - ascii_isspace
    - hexdigitp
    - xtoi_1
    - strlen
    - flush_data
    - strcmp
    - strcpy
    - die
    - err
    linkageType: ''
    returnType: void
    signature: "void collect_data (char *hexdata, const char *timestamp,\n              const
      char *address, unsigned int lineno)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:750,1
    - Dst: strtok
      Src: /src/gnupg/tools/ccidmon.c:752,1
    - Dst: die
      Src: /src/gnupg/tools/ccidmon.c:754,1
    - Dst: strtok
      Src: /src/gnupg/tools/ccidmon.c:755,1
    - Dst: die
      Src: /src/gnupg/tools/ccidmon.c:757,1
    - Dst: strtok
      Src: /src/gnupg/tools/ccidmon.c:758,1
    - Dst: die
      Src: /src/gnupg/tools/ccidmon.c:760,1
    - Dst: strtok
      Src: /src/gnupg/tools/ccidmon.c:761,1
    - Dst: die
      Src: /src/gnupg/tools/ccidmon.c:763,1
    - Dst: strchr
      Src: /src/gnupg/tools/ccidmon.c:768,1
    - Dst: die
      Src: /src/gnupg/tools/ccidmon.c:770,1
    - Dst: atoi
      Src: /src/gnupg/tools/ccidmon.c:772,1
    - Dst: strchr
      Src: /src/gnupg/tools/ccidmon.c:773,1
    - Dst: die
      Src: /src/gnupg/tools/ccidmon.c:775,1
    - Dst: atoi
      Src: /src/gnupg/tools/ccidmon.c:777,1
    - Dst: strtok
      Src: /src/gnupg/tools/ccidmon.c:788,1
    - Dst: strchr
      Src: /src/gnupg/tools/ccidmon.c:791,1
    - Dst: strtok
      Src: /src/gnupg/tools/ccidmon.c:794,1
    - Dst: strtok
      Src: /src/gnupg/tools/ccidmon.c:798,1
    - Dst: strtok
      Src: /src/gnupg/tools/ccidmon.c:801,1
    - Dst: collect_data
      Src: /src/gnupg/tools/ccidmon.c:802,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 2
    argNames:
    - line
    - lineno
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 804
    functionName: parse_line
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - strtok
    - atoi
    - printf
    - strchr
    - collect_data
    - die
    linkageType: ''
    returnType: void
    signature: void parse_line (char *line, unsigned int lineno)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/tools/ccidmon.c:813,1
    - Dst: strtok
      Src: /src/gnupg/tools/ccidmon.c:815,1
    - Dst: strtok
      Src: /src/gnupg/tools/ccidmon.c:818,1
    - Dst: strtok
      Src: /src/gnupg/tools/ccidmon.c:821,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/ccidmon.c:825,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/ccidmon.c:825,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/ccidmon.c:826,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/ccidmon.c:826,1
    - Dst: strtok
      Src: /src/gnupg/tools/ccidmon.c:833,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/ccidmon.c:835,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/ccidmon.c:835,1
    - Dst: err
      Src: /src/gnupg/tools/ccidmon.c:837,1
    - Dst: xtoi_1
      Src: /src/gnupg/tools/ccidmon.c:840,1
    - Dst: xtoi_1
      Src: /src/gnupg/tools/ccidmon.c:840,1
    - Dst: err
      Src: /src/gnupg/tools/ccidmon.c:844,1
    - Dst: strcmp
      Src: /src/gnupg/tools/ccidmon.c:853,1
    - Dst: flush_data
      Src: /src/gnupg/tools/ccidmon.c:855,1
    - Dst: strtok
      Src: /src/gnupg/tools/ccidmon.c:858,1
    - Dst: strcmp
      Src: /src/gnupg/tools/ccidmon.c:860,1
    - Dst: strcmp
      Src: /src/gnupg/tools/ccidmon.c:865,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 2
    argNames:
    - line
    - lineno
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 873
    functionName: parse_line_sniffusb
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - xtoi_1
    - strtok
    - printf
    - flush_data
    - strcmp
    - err
    linkageType: ''
    returnType: void
    signature: void parse_line_sniffusb (char *line, unsigned int lineno)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/gnupg/tools/ccidmon.c:883,1
    - Dst: strlen
      Src: /src/gnupg/tools/ccidmon.c:886,1
    - Dst: err
      Src: /src/gnupg/tools/ccidmon.c:890,1
    - Dst: parse_line_sniffusb
      Src: /src/gnupg/tools/ccidmon.c:894,1
    - Dst: parse_line
      Src: /src/gnupg/tools/ccidmon.c:896,1
    - Dst: flush_data
      Src: /src/gnupg/tools/ccidmon.c:898,1
    - Dst: ferror
      Src: /src/gnupg/tools/ccidmon.c:899,1
    - Dst: err
      Src: /src/gnupg/tools/ccidmon.c:900,1
    - Dst: strerror
      Src: /src/gnupg/tools/ccidmon.c:900,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 876
    functionDepth: 2
    functionLinenumber: 876
    functionLinenumberEnd: 901
    functionName: parse_input
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 0
    functionsReached:
    - strlen
    - flush_data
    - parse_line
    - fgets
    - parse_line_sniffusb
    - strerror
    - ferror
    - err
    linkageType: ''
    returnType: void
    signature: void parse_input (FILE *fp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/ccidmon.c:916,1
    - Dst: strcmp
      Src: /src/gnupg/tools/ccidmon.c:921,1
    - Dst: fputs
      Src: /src/gnupg/tools/ccidmon.c:923,1
    - Dst: exit
      Src: /src/gnupg/tools/ccidmon.c:924,1
    - Dst: strcmp
      Src: /src/gnupg/tools/ccidmon.c:926,1
    - Dst: puts
      Src: /src/gnupg/tools/ccidmon.c:928,1
    - Dst: exit
      Src: /src/gnupg/tools/ccidmon.c:936,1
    - Dst: strcmp
      Src: /src/gnupg/tools/ccidmon.c:938,1
    - Dst: strcmp
      Src: /src/gnupg/tools/ccidmon.c:943,1
    - Dst: strcmp
      Src: /src/gnupg/tools/ccidmon.c:948,1
    - Dst: strcmp
      Src: /src/gnupg/tools/ccidmon.c:953,1
    - Dst: die
      Src: /src/gnupg/tools/ccidmon.c:961,1
    - Dst: die
      Src: /src/gnupg/tools/ccidmon.c:963,1
    - Dst: strchr
      Src: /src/gnupg/tools/ccidmon.c:967,1
    - Dst: atoi
      Src: /src/gnupg/tools/ccidmon.c:969,1
    - Dst: atoi
      Src: /src/gnupg/tools/ccidmon.c:971,1
    - Dst: die
      Src: /src/gnupg/tools/ccidmon.c:973,1
    - Dst: signal
      Src: /src/gnupg/tools/ccidmon.c:977,1
    - Dst: parse_input
      Src: /src/gnupg/tools/ccidmon.c:979,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 904
    functionDepth: 3
    functionLinenumber: 904
    functionLinenumberEnd: 982
    functionName: main
    functionSourceFile: /src/gnupg/tools/ccidmon.c
    functionUses: 1
    functionsReached:
    - atoi
    - exit
    - strcmp
    - puts
    - strchr
    - signal
    - fputs
    - parse_input
    - die
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-extract.c:45,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgtar-extract.c:47,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-extract.c:49,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpgtar-extract.c:52,1
    - Dst: strstr
      Src: /src/gnupg/tools/gpgtar-extract.c:57,1
    - Dst: strstr
      Src: /src/gnupg/tools/gpgtar-extract.c:58,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpgtar-extract.c:59,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgtar-extract.c:60,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-extract.c:62,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpgtar-extract.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - name
    - info
    argTypes:
    - char*
    - tarinfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 69
    functionName: check_suspicious_name
    functionSourceFile: /src/gnupg/tools/gpgtar-extract.c
    functionUses: 0
    functionsReached:
    - log_error
    - strstr
    - strlen
    - strcmp
    - strchr
    - gpg_error
    - strncmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_suspicious_name (const char *name, tarinfo_t info)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/tools/gpgtar-extract.c:84,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-extract.c:86,1
    - Dst: strrchr
      Src: /src/gnupg/tools/gpgtar-extract.c:90,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-extract.c:96,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-extract.c:97,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-extract.c:100,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgtar-extract.c:103,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/tools/gpgtar-extract.c:106,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpgtar-extract.c:107,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/tools/gpgtar-extract.c:113,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpgtar-extract.c:114,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-extract.c:117,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-extract.c:120,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 4
    argNames:
    - directory
    - prefixlen
    - strip
    - verbose
    argTypes:
    - char*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 122
    functionName: try_mkdir_p
    functionSourceFile: /src/gnupg/tools/gpgtar-extract.c
    functionUses: 0
    functionsReached:
    - strlen
    - gpg_error_from_syserror
    - gnupg_mkdir
    - xtrystrdup
    - strchr
    - gpg_err_code
    - log_info
    - xfree
    - strrchr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t try_mkdir_p (const char *directory, size_t prefixlen, int
      strip, int verbose)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: check_suspicious_name
      Src: /src/gnupg/tools/gpgtar-extract.c:143,1
    - Dst: strconcat
      Src: /src/gnupg/tools/gpgtar-extract.c:147,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-extract.c:150,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-extract.c:151,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-extract.c:151,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpgtar-extract.c:157,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpgtar-extract.c:159,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-extract.c:162,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpgtar-extract.c:164,1
    - Dst: try_mkdir_p
      Src: /src/gnupg/tools/gpgtar-extract.c:165,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-extract.c:165,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpgtar-extract.c:167,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-extract.c:168,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-extract.c:172,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-extract.c:172,1
    - Dst: read_record
      Src: /src/gnupg/tools/gpgtar-extract.c:179,1
    - Dst: es_fwrite
      Src: /src/gnupg/tools/gpgtar-extract.c:189,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-extract.c:192,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-extract.c:193,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-extract.c:193,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-extract.c:203,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgtar-extract.c:206,1
    - Dst: gnupg_remove
      Src: /src/gnupg/tools/gpgtar-extract.c:209,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-extract.c:210,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-extract.c:211,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-extract.c:211,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-extract.c:213,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 64
    argCount: 5
    argNames:
    - stream
    - dirname
    - info
    - hdr
    - exthdr
    argTypes:
    - estream_t
    - char*
    - tarinfo_t
    - tar_header_t
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 215
    functionName: extract_regular
    functionSourceFile: /src/gnupg/tools/gpgtar-extract.c
    functionUses: 0
    functionsReached:
    - try_mkdir_p
    - read_record
    - log_error
    - gpg_error_from_syserror
    - strlen
    - es_fclose
    - strconcat
    - check_suspicious_name
    - gpg_strerror
    - es_fopen
    - gpg_err_code
    - es_fwrite
    - log_info
    - xfree
    - gnupg_remove
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t extract_regular (estream_t stream, const char *dirname,\n
      \                tarinfo_t info, tar_header_t hdr, strlist_t exthdr)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: check_suspicious_name
      Src: /src/gnupg/tools/gpgtar-extract.c:232,1
    - Dst: strconcat
      Src: /src/gnupg/tools/gpgtar-extract.c:236,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-extract.c:239,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-extract.c:240,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-extract.c:240,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-extract.c:244,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-extract.c:245,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/tools/gpgtar-extract.c:247,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-extract.c:249,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpgtar-extract.c:251,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpgtar-extract.c:253,1
    - Dst: try_mkdir_p
      Src: /src/gnupg/tools/gpgtar-extract.c:257,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-extract.c:257,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-extract.c:262,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-extract.c:263,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-extract.c:268,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-extract.c:269,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 4
    argNames:
    - dirname
    - info
    - hdr
    - exthdr
    argTypes:
    - char*
    - tarinfo_t
    - tar_header_t
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 271
    functionName: extract_directory
    functionSourceFile: /src/gnupg/tools/gpgtar-extract.c
    functionUses: 0
    functionsReached:
    - try_mkdir_p
    - log_error
    - gpg_error_from_syserror
    - strlen
    - gnupg_mkdir
    - strconcat
    - check_suspicious_name
    - gpg_strerror
    - gpg_err_code
    - log_info
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t extract_directory (const char *dirname, tarinfo_t info,\n
      \                  tar_header_t hdr, strlist_t exthdr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: extract_regular
      Src: /src/gnupg/tools/gpgtar-extract.c:282,1
    - Dst: extract_directory
      Src: /src/gnupg/tools/gpgtar-extract.c:284,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-extract.c:289,1
    - Dst: read_record
      Src: /src/gnupg/tools/gpgtar-extract.c:299,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - stream
    - dirname
    - info
    - hdr
    - exthdr
    argTypes:
    - estream_t
    - char*
    - tarinfo_t
    - tar_header_t
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 305
    functionName: extract
    functionSourceFile: /src/gnupg/tools/gpgtar-extract.c
    functionUses: 1
    functionsReached:
    - extract_directory
    - log_info
    - read_record
    - extract_regular
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t extract (estream_t stream, const char *dirname, tarinfo_t
      info,\n         tar_header_t hdr, strlist_t exthdr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-extract.c:322,1
    - Dst: compare_filenames
      Src: /src/gnupg/tools/gpgtar-extract.c:323,1
    - Dst: compare_filenames
      Src: /src/gnupg/tools/gpgtar-extract.c:324,1
    - Dst: compare_filenames
      Src: /src/gnupg/tools/gpgtar-extract.c:325,1
    - Dst: compare_filenames
      Src: /src/gnupg/tools/gpgtar-extract.c:326,1
    - Dst: compare_filenames
      Src: /src/gnupg/tools/gpgtar-extract.c:327,1
    - Dst: compare_filenames
      Src: /src/gnupg/tools/gpgtar-extract.c:328,1
    - Dst: xtrystrdup
      Src: /src/gnupg/tools/gpgtar-extract.c:330,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-extract.c:333,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-extract.c:344,1
    - Dst: xtryasprintf
      Src: /src/gnupg/tools/gpgtar-extract.c:345,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-extract.c:348,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/tools/gpgtar-extract.c:351,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-extract.c:355,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpgtar-extract.c:359,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-extract.c:364,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-extract.c:365,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-extract.c:366,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-extract.c:369,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 1
    argNames:
    - dirprefix
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 371
    functionName: create_directory
    functionSourceFile: /src/gnupg/tools/gpgtar-extract.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - strlen
    - log_error
    - gnupg_mkdir
    - compare_filenames
    - xtrystrdup
    - gpg_error
    - xtryasprintf
    - xfree
    - gpg_strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      create_directory (const char *dirprefix)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: utf8_to_wchar
      Src: /src/gnupg/tools/gpgtar-extract.c:393,1
    - Dst: GetFileAttributesW
      Src: /src/gnupg/tools/gpgtar-extract.c:397,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-extract.c:401,1
    - Dst: w32_strerror
      Src: /src/gnupg/tools/gpgtar-extract.c:401,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-extract.c:402,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-extract.c:408,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-extract.c:409,1
    - Dst: _wopendir
      Src: /src/gnupg/tools/gpgtar-extract.c:413,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-extract.c:414,1
    - Dst: lstat
      Src: /src/gnupg/tools/gpgtar-extract.c:419,1
    - Dst: S_ISLNK
      Src: /src/gnupg/tools/gpgtar-extract.c:422,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-extract.c:425,1
    - Dst: opendir
      Src: /src/gnupg/tools/gpgtar-extract.c:429,1
    - Dst: open
      Src: /src/gnupg/tools/gpgtar-extract.c:434,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-extract.c:437,1
    - Dst: fdopendir
      Src: /src/gnupg/tools/gpgtar-extract.c:441,1
    - Dst: readdir
      Src: /src/gnupg/tools/gpgtar-extract.c:448,1
    - Dst: closedir
      Src: /src/gnupg/tools/gpgtar-extract.c:461,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-extract.c:466,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 472
    functionName: check_output_directory
    functionSourceFile: /src/gnupg/tools/gpgtar-extract.c
    functionUses: 0
    functionsReached:
    - lstat
    - readdir
    - log_error
    - S_ISLNK
    - open
    - fdopendir
    - closedir
    - _wopendir
    - xfree
    - w32_strerror
    - utf8_to_wchar
    - GetFileAttributesW
    - opendir
    linkageType: ''
    returnType: int
    signature: int check_output_directory (const char *dirname)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/gpgtar-extract.c:496,1
    - Dst: xtrystrdup
      Src: /src/gnupg/tools/gpgtar-extract.c:500,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-extract.c:503,1
    - Dst: gnupg_access
      Src: /src/gnupg/tools/gpgtar-extract.c:508,1
    - Dst: check_output_directory
      Src: /src/gnupg/tools/gpgtar-extract.c:509,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpgtar-extract.c:511,1
    - Dst: strrchr
      Src: /src/gnupg/tools/gpgtar-extract.c:519,1
    - Dst: strrchr
      Src: /src/gnupg/tools/gpgtar-extract.c:527,1
    - Dst: create_directory
      Src: /src/gnupg/tools/gpgtar-extract.c:537,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpgtar-extract.c:540,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-extract.c:546,1
    - Dst: ccparray_init
      Src: /src/gnupg/tools/gpgtar-extract.c:560,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-extract.c:562,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-extract.c:564,1
    - Dst: snprintf
      Src: /src/gnupg/tools/gpgtar-extract.c:570,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-extract.c:571,1
    - Dst: es_syshd
      Src: /src/gnupg/tools/gpgtar-extract.c:572,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-extract.c:581,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpgtar-extract.c:582,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-extract.c:583,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-extract.c:585,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-extract.c:586,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-extract.c:587,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-extract.c:589,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-extract.c:592,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-extract.c:593,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-extract.c:596,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/gpgtar-extract.c:597,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-extract.c:600,1
    - Dst: gpgrt_spawn_actions_new
      Src: /src/gnupg/tools/gpgtar-extract.c:604,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-extract.c:607,1
    - Dst: gpgrt_spawn_actions_set_inherit_handles
      Src: /src/gnupg/tools/gpgtar-extract.c:612,1
    - Dst: gpgrt_spawn_actions_set_inherit_fds
      Src: /src/gnupg/tools/gpgtar-extract.c:614,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/tools/gpgtar-extract.c:616,1
    - Dst: gpgrt_spawn_actions_release
      Src: /src/gnupg/tools/gpgtar-extract.c:620,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-extract.c:621,1
    - Dst: gpgrt_process_get_streams
      Src: /src/gnupg/tools/gpgtar-extract.c:624,1
    - Dst: es_set_binary
      Src: /src/gnupg/tools/gpgtar-extract.c:625,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgtar-extract.c:629,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpgtar-extract.c:632,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-extract.c:635,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-extract.c:636,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-extract.c:636,1
    - Dst: es_set_binary
      Src: /src/gnupg/tools/gpgtar-extract.c:640,1
    - Dst: es_set_binary
      Src: /src/gnupg/tools/gpgtar-extract.c:645,1
    - Dst: gpgtar_read_header
      Src: /src/gnupg/tools/gpgtar-extract.c:651,1
    - Dst: extract
      Src: /src/gnupg/tools/gpgtar-extract.c:657,1
    - Dst: free_strlist
      Src: /src/gnupg/tools/gpgtar-extract.c:660,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-extract.c:662,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgtar-extract.c:668,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-extract.c:671,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-extract.c:671,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/tools/gpgtar-extract.c:673,1
    - Dst: gpgrt_process_ctl
      Src: /src/gnupg/tools/gpgtar-extract.c:678,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-extract.c:680,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-extract.c:681,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpgtar-extract.c:683,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgtar-extract.c:694,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-extract.c:705,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-extract.c:707,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-extract.c:709,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-extract.c:711,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-extract.c:713,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-extract.c:715,1
    - Dst: free_strlist
      Src: /src/gnupg/tools/gpgtar-extract.c:718,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-extract.c:719,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-extract.c:720,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-extract.c:721,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgtar-extract.c:723,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpgtar-extract.c:724,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 165
    argCount: 2
    argNames:
    - filename
    - decrypt
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 481
    functionDepth: 4
    functionLinenumber: 481
    functionLinenumberEnd: 726
    functionName: gpgtar_extract
    functionSourceFile: /src/gnupg/tools/gpgtar-extract.c
    functionUses: 1
    functionsReached:
    - ccparray_put
    - es_fprintf
    - es_fopen
    - gpgrt_spawn_actions_set_inherit_handles
    - log_error
    - extract
    - check_output_directory
    - gnupg_access
    - gpgrt_spawn_actions_new
    - log_info
    - gpgrt_process_wait
    - free_strlist
    - gpgrt_process_get_streams
    - ccparray_get
    - es_set_binary
    - gpg_error_from_syserror
    - gpgrt_process_spawn
    - es_syshd
    - strcmp
    - xtrystrdup
    - gpg_error
    - memset
    - xfree
    - gpg_strerror
    - gpgtar_read_header
    - gpgrt_spawn_actions_release
    - xstrconcat
    - snprintf
    - es_fclose
    - gpgrt_process_release
    - ccparray_init
    - gpgrt_process_ctl
    - strrchr
    - create_directory
    - gpgrt_spawn_actions_set_inherit_fds
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpgtar_extract (const char *filename, int decrypt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: find_tlv
      Src: /src/gnupg/tools/card-yubikey.c:75,1
    - Dst: log_error
      Src: /src/gnupg/tools/card-yubikey.c:80,1
    - Dst: log_printhex
      Src: /src/gnupg/tools/card-yubikey.c:83,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-yubikey.c:84,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - yk
    - config
    - configlen
    - tag
    - mask
    argTypes:
    - struct ykapps_s*
    - unsigned char*
    - size_t
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 105
    functionName: parse_ul_config_value
    functionSourceFile: /src/gnupg/tools/card-yubikey.c
    functionUses: 0
    functionsReached:
    - find_tlv
    - gpg_error
    - log_printhex
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_ul_config_value (struct ykapps_s *yk,\n                       const
      unsigned char *config, size_t configlen,\n                       int tag, unsigned
      int mask)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/tools/card-yubikey.c:172,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 5
    argNames:
    - yk
    - bitflag
    - tag
    - enable
    - result
    argTypes:
    - struct ykapps_s*
    - unsigned int
    - int
    - unsigned int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 180
    functionName: set_ul_config_value
    functionSourceFile: /src/gnupg/tools/card-yubikey.c
    functionUses: 0
    functionsReached:
    - log_info
    linkageType: ''
    returnType: void
    signature: "void set_ul_config_value (struct ykapps_s *yk,\n                     unsigned
      int bitflag, int tag, unsigned int enable,\n                     unsigned char
      *result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/card-yubikey.c:188,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/card-yubikey.c:190,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/card-yubikey.c:195,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/card-yubikey.c:200,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/card-yubikey.c:205,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/card-yubikey.c:210,1
    - Dst: tty_fprintf
      Src: /src/gnupg/tools/card-yubikey.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - yk
    argTypes:
    - estream_t
    - struct ykapps_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 220
    functionName: yk_list
    functionSourceFile: /src/gnupg/tools/card-yubikey.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    linkageType: ''
    returnType: void
    signature: void yk_list (estream_t fp, struct ykapps_s *yk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: set_ul_config_value
      Src: /src/gnupg/tools/card-yubikey.c:249,1
    - Dst: set_ul_config_value
      Src: /src/gnupg/tools/card-yubikey.c:254,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-yubikey.c:280,1
    - Dst: bin2hex
      Src: /src/gnupg/tools/card-yubikey.c:294,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/card-yubikey.c:296,1
    - Dst: send_apdu
      Src: /src/gnupg/tools/card-yubikey.c:298,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-yubikey.c:302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 5
    argNames:
    - yk
    - iface
    - config
    - configlen
    - enable
    argTypes:
    - struct ykapps_s*
    - struct iface_s*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 304
    functionName: yk_enable_disable
    functionSourceFile: /src/gnupg/tools/card-yubikey.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - bin2hex
    - gpg_error
    - set_ul_config_value
    - send_apdu
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t yk_enable_disable (struct ykapps_s *yk, struct iface_s
      *iface,\n                   const unsigned char *config, size_t configlen, int
      enable)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-yubikey.c:324,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-yubikey.c:327,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-yubikey.c:329,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-yubikey.c:331,1
    - Dst: log_info
      Src: /src/gnupg/tools/card-yubikey.c:335,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-yubikey.c:337,1
    - Dst: log_info
      Src: /src/gnupg/tools/card-yubikey.c:343,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-yubikey.c:345,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-yubikey.c:354,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-yubikey.c:357,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-yubikey.c:359,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-yubikey.c:361,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-yubikey.c:361,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-yubikey.c:365,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-yubikey.c:372,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-yubikey.c:374,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-yubikey.c:376,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-yubikey.c:377,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-yubikey.c:379,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-yubikey.c:381,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-yubikey.c:382,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-yubikey.c:384,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/card-yubikey.c:386,1
    - Dst: strcmp
      Src: /src/gnupg/tools/card-yubikey.c:386,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-yubikey.c:393,1
    - Dst: send_apdu
      Src: /src/gnupg/tools/card-yubikey.c:399,1
    - Dst: send_apdu
      Src: /src/gnupg/tools/card-yubikey.c:404,1
    - Dst: log_error
      Src: /src/gnupg/tools/card-yubikey.c:410,1
    - Dst: log_printhex
      Src: /src/gnupg/tools/card-yubikey.c:411,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/card-yubikey.c:412,1
    - Dst: log_info
      Src: /src/gnupg/tools/card-yubikey.c:417,1
    - Dst: log_printhex
      Src: /src/gnupg/tools/card-yubikey.c:418,1
    - Dst: parse_ul_config_value
      Src: /src/gnupg/tools/card-yubikey.c:422,1
    - Dst: parse_ul_config_value
      Src: /src/gnupg/tools/card-yubikey.c:425,1
    - Dst: parse_ul_config_value
      Src: /src/gnupg/tools/card-yubikey.c:428,1
    - Dst: parse_ul_config_value
      Src: /src/gnupg/tools/card-yubikey.c:431,1
    - Dst: yk_list
      Src: /src/gnupg/tools/card-yubikey.c:438,1
    - Dst: yk_enable_disable
      Src: /src/gnupg/tools/card-yubikey.c:439,1
    - Dst: yk_enable_disable
      Src: /src/gnupg/tools/card-yubikey.c:441,1
    - Dst: xfree
      Src: /src/gnupg/tools/card-yubikey.c:446,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 103
    argCount: 4
    argNames:
    - info
    - fp
    - argc
    - argv
    argTypes:
    - card_info_t
    - estream_t
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 448
    functionName: yubikey_commands
    functionSourceFile: /src/gnupg/tools/card-yubikey.c
    functionUses: 1
    functionsReached:
    - log_printhex
    - log_error
    - yk_enable_disable
    - strcmp
    - gpg_error
    - send_apdu
    - log_info
    - ascii_strcasecmp
    - yk_list
    - xfree
    - parse_ul_config_value
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t yubikey_commands (card_info_t info, estream_t fp, int argc,
      const char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/tools/t-mime-maker.c:77,1
    - Dst: mime_maker_qp_encode
      Src: /src/gnupg/tools/t-mime-maker.c:79,1
    - Dst: log_error
      Src: /src/gnupg/tools/t-mime-maker.c:82,1
    - Dst: strerror
      Src: /src/gnupg/tools/t-mime-maker.c:83,1
    - Dst: exit
      Src: /src/gnupg/tools/t-mime-maker.c:84,1
    - Dst: strcmp
      Src: /src/gnupg/tools/t-mime-maker.c:86,1
    - Dst: log_error
      Src: /src/gnupg/tools/t-mime-maker.c:88,1
    - Dst: exit
      Src: /src/gnupg/tools/t-mime-maker.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 96
    functionName: test_qp_encode
    functionSourceFile: /src/gnupg/tools/t-mime-maker.c
    functionUses: 0
    functionsReached:
    - log_error
    - exit
    - DIM
    - strcmp
    - strerror
    - mime_maker_qp_encode
    linkageType: ''
    returnType: void
    signature: void test_qp_encode (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_set_prefix
      Src: /src/gnupg/tools/t-mime-maker.c:102,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/tools/t-mime-maker.c:103,1
    - Dst: strcmp
      Src: /src/gnupg/tools/t-mime-maker.c:107,1
    - Dst: test_qp_encode
      Src: /src/gnupg/tools/t-mime-maker.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: main
    functionSourceFile: /src/gnupg/tools/t-mime-maker.c
    functionUses: 1
    functionsReached:
    - strcmp
    - test_qp_encode
    - log_set_prefix
    - init_common_subsystems
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/tools/gpgconf-comp.c:74,1
    - Dst: log_logv
      Src: /src/gnupg/tools/gpgconf-comp.c:75,1
    - Dst: va_end
      Src: /src/gnupg/tools/gpgconf-comp.c:76,1
    - Dst: log_printf
      Src: /src/gnupg/tools/gpgconf-comp.c:79,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgconf-comp.c:79,1
    - Dst: log_printf
      Src: /src/gnupg/tools/gpgconf-comp.c:81,1
    - Dst: log_printf
      Src: /src/gnupg/tools/gpgconf-comp.c:85,1
    - Dst: log_printf
      Src: /src/gnupg/tools/gpgconf-comp.c:86,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf-comp.c:87,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/tools/gpgconf-comp.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - status
    - errnum
    - fmt
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: gc_error
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 2
    functionsReached:
    - va_end
    - gpg_error_from_errno
    - va_start
    - log_logv
    - log_printf
    - strerror
    - gpgconf_failure
    linkageType: ''
    returnType: void
    signature: void gc_error (int status, int errnum, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:722,1
    - Dst: gc_option_free
      Src: /src/gnupg/tools/gpgconf-comp.c:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - o
    argTypes:
    - gc_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 724
    functionName: gc_option_free
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 1
    functionsReached:
    - gc_option_free
    - xfree
    linkageType: ''
    returnType: void
    signature: void gc_option_free (gc_option_t *o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/tools/gpgconf-comp.c:730,1
    - Dst: gc_option_free
      Src: /src/gnupg/tools/gpgconf-comp.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 732
    functionName: gc_components_free
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - gc_option_free
    - DIM
    linkageType: ''
    returnType: void
    signature: void gc_components_free (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/gnupg/tools/gpgconf-comp.c:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 738
    functionName: gc_components_init
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 1
    functionsReached:
    - atexit
    linkageType: ''
    returnType: void
    signature: void gc_components_init (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_module_name
      Src: /src/gnupg/tools/gpgconf-comp.c:753,1
    - Dst: gnupg_default_homedir_p
      Src: /src/gnupg/tools/gpgconf-comp.c:754,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf-comp.c:757,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgconf-comp.c:763,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpgconf-comp.c:763,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/tools/gpgconf-comp.c:766,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/tools/gpgconf-comp.c:768,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:770,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf-comp.c:771,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpgconf-comp.c:772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - killflag
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 743
    functionDepth: 4
    functionLinenumber: 743
    functionLinenumberEnd: 773
    functionName: gpg_agent_runtime_change
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - log_assert
    - gpgrt_process_spawn
    - gnupg_module_name
    - gpgrt_process_release
    - gnupg_homedir
    - DIM
    - gnupg_default_homedir_p
    - gc_error
    - gpgrt_process_wait
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void gpg_agent_runtime_change (int killflag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_module_name
      Src: /src/gnupg/tools/gpgconf-comp.c:793,1
    - Dst: gnupg_default_homedir_p
      Src: /src/gnupg/tools/gpgconf-comp.c:794,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf-comp.c:797,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgconf-comp.c:807,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpgconf-comp.c:807,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/tools/gpgconf-comp.c:810,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/tools/gpgconf-comp.c:812,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:814,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf-comp.c:815,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpgconf-comp.c:816,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - killflag
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 776
    functionDepth: 4
    functionLinenumber: 776
    functionLinenumberEnd: 817
    functionName: scdaemon_runtime_change
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - log_assert
    - gpgrt_process_spawn
    - gnupg_module_name
    - gpgrt_process_release
    - gnupg_homedir
    - DIM
    - gnupg_default_homedir_p
    - gc_error
    - gpgrt_process_wait
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void scdaemon_runtime_change (int killflag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_module_name
      Src: /src/gnupg/tools/gpgconf-comp.c:838,1
    - Dst: gnupg_default_homedir_p
      Src: /src/gnupg/tools/gpgconf-comp.c:839,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf-comp.c:842,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgconf-comp.c:852,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpgconf-comp.c:852,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/tools/gpgconf-comp.c:855,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/tools/gpgconf-comp.c:857,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:859,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf-comp.c:860,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpgconf-comp.c:861,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - killflag
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 821
    functionDepth: 4
    functionLinenumber: 821
    functionLinenumberEnd: 862
    functionName: tpm2daemon_runtime_change
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - log_assert
    - gpgrt_process_spawn
    - gnupg_module_name
    - gpgrt_process_release
    - gnupg_homedir
    - DIM
    - gnupg_default_homedir_p
    - gc_error
    - gpgrt_process_wait
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void tpm2daemon_runtime_change (int killflag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_module_name
      Src: /src/gnupg/tools/gpgconf-comp.c:876,1
    - Dst: gnupg_default_homedir_p
      Src: /src/gnupg/tools/gpgconf-comp.c:877,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf-comp.c:880,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgconf-comp.c:887,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpgconf-comp.c:887,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/tools/gpgconf-comp.c:890,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/tools/gpgconf-comp.c:892,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:894,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf-comp.c:895,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpgconf-comp.c:896,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - killflag
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 866
    functionDepth: 4
    functionLinenumber: 866
    functionLinenumberEnd: 897
    functionName: dirmngr_runtime_change
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - log_assert
    - gpgrt_process_spawn
    - gnupg_module_name
    - gpgrt_process_release
    - gnupg_homedir
    - DIM
    - gnupg_default_homedir_p
    - gc_error
    - gpgrt_process_wait
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void dirmngr_runtime_change (int killflag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_module_name
      Src: /src/gnupg/tools/gpgconf-comp.c:910,1
    - Dst: gnupg_default_homedir_p
      Src: /src/gnupg/tools/gpgconf-comp.c:911,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf-comp.c:914,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgconf-comp.c:921,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpgconf-comp.c:921,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/tools/gpgconf-comp.c:924,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/tools/gpgconf-comp.c:926,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:928,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf-comp.c:929,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpgconf-comp.c:930,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - killflag
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 900
    functionDepth: 4
    functionLinenumber: 900
    functionLinenumberEnd: 931
    functionName: keyboxd_runtime_change
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - log_assert
    - gpgrt_process_spawn
    - gnupg_module_name
    - gpgrt_process_release
    - gnupg_homedir
    - DIM
    - gnupg_default_homedir_p
    - gc_error
    - gpgrt_process_wait
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void keyboxd_runtime_change (int killflag)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gc_component_launch
      Src: /src/gnupg/tools/gpgconf-comp.c:946,1
    - Dst: gc_component_launch
      Src: /src/gnupg/tools/gpgconf-comp.c:948,1
    - Dst: gc_component_launch
      Src: /src/gnupg/tools/gpgconf-comp.c:950,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf-comp.c:958,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf-comp.c:958,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf-comp.c:959,1
    - Dst: gc_component_check_options
      Src: /src/gnupg/tools/gpgconf-comp.c:962,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf-comp.c:964,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf-comp.c:964,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf-comp.c:967,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf-comp.c:967,1
    - Dst: gpgconf_failure
      Src: /src/gnupg/tools/gpgconf-comp.c:972,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/tools/gpgconf-comp.c:975,1
    - Dst: gnupg_default_homedir_p
      Src: /src/gnupg/tools/gpgconf-comp.c:977,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf-comp.c:980,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgconf-comp.c:988,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpgconf-comp.c:988,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/tools/gpgconf-comp.c:990,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/tools/gpgconf-comp.c:992,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:994,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf-comp.c:999,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpgconf-comp.c:1000,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 1
    argNames:
    - component
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 935
    functionDepth: 4
    functionLinenumber: 935
    functionLinenumberEnd: 1002
    functionName: gc_component_launch
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 2
    functionsReached:
    - gc_component_check_options
    - log_error
    - gnupg_module_name
    - log_assert
    - gnupg_homedir
    - DIM
    - gpgrt_process_spawn
    - _
    - gnupg_default_homedir_p
    - gc_error
    - gpgrt_process_release
    - gc_component_launch
    - log_info
    - gpgrt_process_wait
    - gpg_strerror
    - gpgconf_failure
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gc_component_launch (int component)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgconf-comp.c:1017,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - component
    - killflag
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1027
    functionName: do_runtime_change
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - log_assert
    linkageType: ''
    returnType: void
    signature: void do_runtime_change (int component, int killflag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_runtime_change
      Src: /src/gnupg/tools/gpgconf-comp.c:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - component
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1035
    functionName: gc_component_kill
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 1
    functionsReached:
    - do_runtime_change
    linkageType: ''
    returnType: void
    signature: void gc_component_kill (int component)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_runtime_change
      Src: /src/gnupg/tools/gpgconf-comp.c:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - component
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1043
    functionName: gc_component_reload
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 1
    functionsReached:
    - do_runtime_change
    linkageType: ''
    returnType: void
    signature: void gc_component_reload (int component)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gettext_use_utf8
      Src: /src/gnupg/tools/gpgconf-comp.c:1068,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:1071,1
    - Dst: gettext
      Src: /src/gnupg/tools/gpgconf-comp.c:1076,1
    - Dst: bind_textdomain_codeset
      Src: /src/gnupg/tools/gpgconf-comp.c:1090,1
    - Dst: bindtextdomain
      Src: /src/gnupg/tools/gpgconf-comp.c:1092,1
    - Dst: gnupg_localedir
      Src: /src/gnupg/tools/gpgconf-comp.c:1092,1
    - Dst: bind_textdomain_codeset
      Src: /src/gnupg/tools/gpgconf-comp.c:1093,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:1100,1
    - Dst: dgettext
      Src: /src/gnupg/tools/gpgconf-comp.c:1103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - domain
    - msgid
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1112
    functionName: my_dgettext
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - gnupg_localedir
    - gettext_use_utf8
    - strcmp
    - dgettext
    - bind_textdomain_codeset
    - gettext
    - bindtextdomain
    linkageType: ''
    returnType: char
    signature: 'char *

      my_dgettext (const char *domain, const char *msgid)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/tools/gpgconf-comp.c:1122,1
    - Dst: xrealloc
      Src: /src/gnupg/tools/gpgconf-comp.c:1127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - src
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1168
    functionName: gc_percent_escape
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 1
    functionsReached:
    - xrealloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      gc_percent_escape (const char *src)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/tools/gpgconf-comp.c:1179,1
    - Dst: xrealloc
      Src: /src/gnupg/tools/gpgconf-comp.c:1184,1
    - Dst: hextobyte
      Src: /src/gnupg/tools/gpgconf-comp.c:1194,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:1197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - src
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1174
    functionDepth: 4
    functionLinenumber: 1174
    functionLinenumberEnd: 1207
    functionName: percent_deescape
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - xrealloc
    - gc_error
    - hextobyte
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      percent_deescape (const char *src)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_module_name
      Src: /src/gnupg/tools/gpgconf-comp.c:1223,1
    - Dst: my_dgettext
      Src: /src/gnupg/tools/gpgconf-comp.c:1228,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1229,1
    - Dst: gc_percent_escape
      Src: /src/gnupg/tools/gpgconf-comp.c:1230,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1231,1
    - Dst: gc_percent_escape
      Src: /src/gnupg/tools/gpgconf-comp.c:1231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - out
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1211
    functionDepth: 2
    functionLinenumber: 1211
    functionLinenumberEnd: 1233
    functionName: gc_component_list_components
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 1
    functionsReached:
    - gnupg_module_name
    - gc_percent_escape
    - my_dgettext
    - es_fprintf
    linkageType: ''
    returnType: void
    signature: void gc_component_list_components (estream_t out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/gnupg/tools/gpgconf-comp.c:1243,1
    - Dst: isdigit
      Src: /src/gnupg/tools/gpgconf-comp.c:1243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1246
    functionName: all_digits_p
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - isdigit
    - isascii
    linkageType: ''
    returnType: int
    signature: int all_digits_p (const char *p, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/tools/gpgconf-comp.c:1260,1
    - Dst: es_getc
      Src: /src/gnupg/tools/gpgconf-comp.c:1266,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpgconf-comp.c:1274,1
    - Dst: trim_trailing_spaces
      Src: /src/gnupg/tools/gpgconf-comp.c:1281,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:1284,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:1284,1
    - Dst: all_digits_p
      Src: /src/gnupg/tools/gpgconf-comp.c:1285,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpgconf-comp.c:1291,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgconf-comp.c:1291,1
    - Dst: strcpy
      Src: /src/gnupg/tools/gpgconf-comp.c:1293,1
    - Dst: isdigit
      Src: /src/gnupg/tools/gpgconf-comp.c:1300,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpgconf-comp.c:1308,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgconf-comp.c:1308,1
    - Dst: strcpy
      Src: /src/gnupg/tools/gpgconf-comp.c:1310,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - fp
    - tag
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1252
    functionDepth: 1
    functionLinenumber: 1252
    functionLinenumberEnd: 1327
    functionName: collect_error_output
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - trim_trailing_spaces
    - strlen
    - all_digits_p
    - isdigit
    - xmalloc
    - strchr
    - strcpy
    - es_getc
    - strncmp
    linkageType: ''
    returnType: error_line_t
    signature: error_line_t collect_error_output (estream_t fp, const char *tag)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgconf-comp.c:1345,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/tools/gpgconf-comp.c:1352,1
    - Dst: gnupg_default_homedir_p
      Src: /src/gnupg/tools/gpgconf-comp.c:1354,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf-comp.c:1358,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgconf-comp.c:1370,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpgconf-comp.c:1370,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/tools/gpgconf-comp.c:1374,1
    - Dst: gpgrt_process_get_streams
      Src: /src/gnupg/tools/gpgconf-comp.c:1380,1
    - Dst: collect_error_output
      Src: /src/gnupg/tools/gpgconf-comp.c:1381,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/tools/gpgconf-comp.c:1383,1
    - Dst: gpgrt_process_ctl
      Src: /src/gnupg/tools/gpgconf-comp.c:1387,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpgconf-comp.c:1394,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgconf-comp.c:1395,1
    - Dst: my_dgettext
      Src: /src/gnupg/tools/gpgconf-comp.c:1409,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1410,1
    - Dst: gc_percent_escape
      Src: /src/gnupg/tools/gpgconf-comp.c:1411,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpgconf-comp.c:1412,1
    - Dst: gc_percent_escape
      Src: /src/gnupg/tools/gpgconf-comp.c:1412,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1413,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpgconf-comp.c:1417,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpgconf-comp.c:1419,1
    - Dst: gc_percent_escape
      Src: /src/gnupg/tools/gpgconf-comp.c:1419,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf-comp.c:1420,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1422,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf-comp.c:1423,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpgconf-comp.c:1424,1
    - Dst: gc_percent_escape
      Src: /src/gnupg/tools/gpgconf-comp.c:1424,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf-comp.c:1425,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf-comp.c:1427,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:1433,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 3
    argNames:
    - component
    - out
    - conf_file
    argTypes:
    - int
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1333
    functionDepth: 2
    functionLinenumber: 1333
    functionLinenumberEnd: 1438
    functionName: gc_component_check_options
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 2
    functionsReached:
    - my_dgettext
    - gpgrt_process_get_streams
    - es_fputs
    - es_fprintf
    - log_assert
    - gpgrt_process_spawn
    - gnupg_module_name
    - gpgrt_process_release
    - gnupg_homedir
    - DIM
    - es_fclose
    - gnupg_default_homedir_p
    - es_putc
    - collect_error_output
    - gpgrt_process_wait
    - xfree
    - gpgrt_process_ctl
    - gc_percent_escape
    linkageType: ''
    returnType: int
    signature: int gc_component_check_options (int component, estream_t out, const
      char *conf_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gc_component_check_options
      Src: /src/gnupg/tools/gpgconf-comp.c:1449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1443
    functionDepth: 3
    functionLinenumber: 1443
    functionLinenumberEnd: 1450
    functionName: gc_check_programs
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 1
    functionsReached:
    - gc_component_check_options
    linkageType: ''
    returnType: void
    signature: void gc_check_programs (estream_t out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:1464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1468
    functionName: gc_component_find
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int gc_component_find (const char *name)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: my_dgettext
      Src: /src/gnupg/tools/gpgconf-comp.c:1487,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:1491,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpgconf-comp.c:1496,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpgconf-comp.c:1497,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1510,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1522,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf-comp.c:1525,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1528,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf-comp.c:1541,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1542,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1551,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1553,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1556,1
    - Dst: gc_percent_escape
      Src: /src/gnupg/tools/gpgconf-comp.c:1556,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1559,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1561,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1564,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1566,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1570,1
    - Dst: gc_percent_escape
      Src: /src/gnupg/tools/gpgconf-comp.c:1570,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:1571,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1574,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1577,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1585,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgconf-comp.c:1585,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:1588,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf-comp.c:1592,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 3
    argNames:
    - component
    - option
    - out
    argTypes:
    - gc_component_id_t
    - gc_option_t*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1472
    functionDepth: 2
    functionLinenumber: 1472
    functionLinenumberEnd: 1593
    functionName: list_one_option
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - my_dgettext
    - es_fprintf
    - strlen
    - es_putc
    - xmalloc
    - strchr
    - xfree
    - gc_percent_escape
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void list_one_option (gc_component_id_t component,\n                 const
      gc_option_t *option, estream_t out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: list_one_option
      Src: /src/gnupg/tools/gpgconf-comp.c:1636,1
    - Dst: list_one_option
      Src: /src/gnupg/tools/gpgconf-comp.c:1640,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - component
    - out
    argTypes:
    - int
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1597
    functionDepth: 3
    functionLinenumber: 1597
    functionLinenumberEnd: 1642
    functionName: gc_component_list_options
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 1
    functionsReached:
    - list_one_option
    linkageType: ''
    returnType: void
    signature: void gc_component_list_options (int component, estream_t out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:1654,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - component
    - name
    argTypes:
    - gc_component_id_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1658
    functionName: is_known_option
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: known_option_t
    signature: 'known_option_t *

      is_known_option (gc_component_id_t component, const char *name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:1673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - component
    - name
    argTypes:
    - gc_component_id_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1678
    functionName: find_option
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gc_option_t
    signature: 'gc_option_t *

      find_option (gc_component_id_t component, const char *name)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: es_read_line
      Src: /src/gnupg/tools/gpgconf-comp.c:1704,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:1707,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:1708,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgconf-comp.c:1709,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:1710,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:1719,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpgconf-comp.c:1720,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgconf-comp.c:1721,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - parm
    argTypes:
    - struct read_line_wrapper_parm_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1696
    functionDepth: 4
    functionLinenumber: 1696
    functionLinenumberEnd: 1722
    functionName: read_line_wrapper
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - strlen
    - es_fclose
    - es_read_line
    - gc_error
    - xfree
    - xstrdup
    - es_ferror
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t read_line_wrapper (struct read_line_wrapper_parm_s *parm)
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_module_name
      Src: /src/gnupg/tools/gpgconf-comp.c:1755,1
    - Dst: gnupg_access
      Src: /src/gnupg/tools/gpgconf-comp.c:1758,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/tools/gpgconf-comp.c:1767,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:1771,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf-comp.c:1772,1
    - Dst: gpgrt_process_get_streams
      Src: /src/gnupg/tools/gpgconf-comp.c:1775,1
    - Dst: read_line_wrapper
      Src: /src/gnupg/tools/gpgconf-comp.c:1785,1
    - Dst: split_fields_colon
      Src: /src/gnupg/tools/gpgconf-comp.c:1809,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpgconf-comp.c:1809,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:1811,1
    - Dst: atoi
      Src: /src/gnupg/tools/gpgconf-comp.c:1817,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:1820,1
    - Dst: strtoul
      Src: /src/gnupg/tools/gpgconf-comp.c:1825,1
    - Dst: is_known_option
      Src: /src/gnupg/tools/gpgconf-comp.c:1828,1
    - Dst: xreallocarray
      Src: /src/gnupg/tools/gpgconf-comp.c:1839,1
    - Dst: xreallocarray
      Src: /src/gnupg/tools/gpgconf-comp.c:1850,1
    - Dst: xreallocarray
      Src: /src/gnupg/tools/gpgconf-comp.c:1860,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpgconf-comp.c:1865,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpgconf-comp.c:1866,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:1930,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgconf-comp.c:1933,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/tools/gpgconf-comp.c:1935,1
    - Dst: gpgrt_process_ctl
      Src: /src/gnupg/tools/gpgconf-comp.c:1940,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:1942,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf-comp.c:1943,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpgconf-comp.c:1945,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/tools/gpgconf-comp.c:1955,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:1959,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf-comp.c:1960,1
    - Dst: gpgrt_process_get_streams
      Src: /src/gnupg/tools/gpgconf-comp.c:1963,1
    - Dst: es_read_line
      Src: /src/gnupg/tools/gpgconf-comp.c:1965,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:1976,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:1986,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/tools/gpgconf-comp.c:1990,1
    - Dst: strtoul
      Src: /src/gnupg/tools/gpgconf-comp.c:1991,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:1993,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:1996,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:2008,1
    - Dst: find_option
      Src: /src/gnupg/tools/gpgconf-comp.c:2020,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2024,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpgconf-comp.c:2039,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2042,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2043,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgconf-comp.c:2044,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2045,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/tools/gpgconf-comp.c:2047,1
    - Dst: gpgrt_process_ctl
      Src: /src/gnupg/tools/gpgconf-comp.c:2052,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2054,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf-comp.c:2055,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpgconf-comp.c:2057,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2063,1
    - Dst: gnupg_default_homedir_p
      Src: /src/gnupg/tools/gpgconf-comp.c:2065,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpgconf-comp.c:2070,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf-comp.c:2070,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpgconf-comp.c:2071,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:2072,1
    - Dst: memset
      Src: /src/gnupg/tools/gpgconf-comp.c:2076,1
    - Dst: gpgrt_argparser
      Src: /src/gnupg/tools/gpgconf-comp.c:2086,1
    - Dst: find_option
      Src: /src/gnupg/tools/gpgconf-comp.c:2109,1
    - Dst: xasprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2129,1
    - Dst: xasprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2132,1
    - Dst: xasprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2135,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpgconf-comp.c:2139,1
    - Dst: xasprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2141,1
    - Dst: gc_percent_escape
      Src: /src/gnupg/tools/gpgconf-comp.c:2141,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpgconf-comp.c:2144,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:2151,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpgconf-comp.c:2159,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:2160,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:2161,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpgconf-comp.c:2165,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:2166,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:2167,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 246
    argCount: 2
    argNames:
    - component
    - only_installed
    argTypes:
    - gc_component_id_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 1727
    functionDepth: 5
    functionLinenumber: 1727
    functionLinenumberEnd: 2168
    functionName: retrieve_options_from_program
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - is_known_option
    - log_assert
    - gnupg_homedir
    - gpgrt_argparser
    - gc_error
    - xstrdup
    - DIM
    - find_option
    - gnupg_access
    - gpgrt_process_wait
    - es_ferror
    - strtoul
    - gc_percent_escape
    - gpgrt_process_get_streams
    - gpgrt_process_spawn
    - gnupg_module_name
    - es_read_line
    - gnupg_default_homedir_p
    - strchr
    - gpg_strerror
    - split_fields_colon
    - xfree
    - memset
    - gpgrt_argparse
    - make_filename
    - atoi
    - gpgrt_process_release
    - es_fclose
    - xstrconcat
    - read_line_wrapper
    - xreallocarray
    - xasprintf
    - gpgrt_process_ctl
    - gpg_err_set_errno
    linkageType: ''
    returnType: void
    signature: void retrieve_options_from_program (gc_component_id_t component, int
      only_installed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: retrieve_options_from_program
      Src: /src/gnupg/tools/gpgconf-comp.c:2192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - component
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2175
    functionDepth: 6
    functionLinenumber: 2175
    functionLinenumberEnd: 2196
    functionName: gc_component_retrieve_options
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 1
    functionsReached:
    - retrieve_options_from_program
    linkageType: ''
    returnType: void
    signature: void gc_component_retrieve_options (int component)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2215,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2220,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/tools/gpgconf-comp.c:2231,1
    - Dst: strtoul
      Src: /src/gnupg/tools/gpgconf-comp.c:2232,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2235,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2238,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2244,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2250,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2263,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2266,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2271,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2279,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/tools/gpgconf-comp.c:2287,1
    - Dst: strtol
      Src: /src/gnupg/tools/gpgconf-comp.c:2288,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2292,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2296,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/tools/gpgconf-comp.c:2303,1
    - Dst: strtoul
      Src: /src/gnupg/tools/gpgconf-comp.c:2304,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2308,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2312,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:2315,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 61
    argCount: 6
    argNames:
    - component
    - option
    - flags
    - new_value
    - new_value_nr
    - verbatim
    argTypes:
    - gc_component_id_t
    - gc_option_t*
    - unsigned long
    - char*
    - unsigned long*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2204
    functionDepth: 4
    functionLinenumber: 2204
    functionLinenumberEnd: 2320
    functionName: option_check_validity
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - strtol
    - gc_error
    - strchr
    - gpg_err_set_errno
    - strtoul
    linkageType: ''
    returnType: void
    signature: "void option_check_validity (gc_component_id_t component,\n                       gc_option_t
      *option, unsigned long flags,\n\t\t       char *new_value, unsigned long *new_value_nr,\n
      \                      int verbatim)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_fopen
      Src: /src/gnupg/tools/gpgconf-comp.c:2332,1
    - Dst: gpgrt_fopen
      Src: /src/gnupg/tools/gpgconf-comp.c:2336,1
    - Dst: gpgrt_fclose
      Src: /src/gnupg/tools/gpgconf-comp.c:2340,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/tools/gpgconf-comp.c:2341,1
    - Dst: gpgrt_fread
      Src: /src/gnupg/tools/gpgconf-comp.c:2349,1
    - Dst: gpgrt_fwrite
      Src: /src/gnupg/tools/gpgconf-comp.c:2352,1
    - Dst: gpgrt_feof
      Src: /src/gnupg/tools/gpgconf-comp.c:2356,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2356,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2356,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2358,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2358,1
    - Dst: gpgrt_feof
      Src: /src/gnupg/tools/gpgconf-comp.c:2358,1
    - Dst: gpgrt_fclose
      Src: /src/gnupg/tools/gpgconf-comp.c:2361,1
    - Dst: gpgrt_fclose
      Src: /src/gnupg/tools/gpgconf-comp.c:2362,1
    - Dst: unlink
      Src: /src/gnupg/tools/gpgconf-comp.c:2363,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/tools/gpgconf-comp.c:2364,1
    - Dst: gpgrt_fclose
      Src: /src/gnupg/tools/gpgconf-comp.c:2368,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2369,1
    - Dst: gpgrt_fclose
      Src: /src/gnupg/tools/gpgconf-comp.c:2370,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2371,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - src_name
    - dst_name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2323
    functionDepth: 4
    functionLinenumber: 2323
    functionLinenumberEnd: 2374
    functionName: copy_file
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 1
    functionsReached:
    - gpgrt_fopen
    - unlink
    - gpgrt_fread
    - gc_error
    - gpg_err_set_errno
    - gpgrt_fclose
    - gpgrt_feof
    - gpgrt_ferror
    - gpgrt_fwrite
    linkageType: ''
    returnType: int
    signature: int copy_file (const char *src_name, const char *dst_name)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2419,1
    - Dst: make_absfilename
      Src: /src/gnupg/tools/gpgconf-comp.c:2422,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpgconf-comp.c:2423,1
    - Dst: xasprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2424,1
    - Dst: getpid
      Src: /src/gnupg/tools/gpgconf-comp.c:2425,1
    - Dst: xasprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2426,1
    - Dst: getpid
      Src: /src/gnupg/tools/gpgconf-comp.c:2427,1
    - Dst: copy_file
      Src: /src/gnupg/tools/gpgconf-comp.c:2430,1
    - Dst: link
      Src: /src/gnupg/tools/gpgconf-comp.c:2432,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:2436,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:2437,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:2438,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:2443,1
    - Dst: gnupg_open
      Src: /src/gnupg/tools/gpgconf-comp.c:2455,1
    - Dst: gpgrt_fdopen
      Src: /src/gnupg/tools/gpgconf-comp.c:2458,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/tools/gpgconf-comp.c:2462,1
    - Dst: gpgrt_fopen
      Src: /src/gnupg/tools/gpgconf-comp.c:2472,1
    - Dst: gpgrt_read_line
      Src: /src/gnupg/tools/gpgconf-comp.c:2476,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpgconf-comp.c:2481,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:2489,1
    - Dst: find_option
      Src: /src/gnupg/tools/gpgconf-comp.c:2513,1
    - Dst: gpgrt_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2523,1
    - Dst: asctimestamp
      Src: /src/gnupg/tools/gpgconf-comp.c:2525,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/tools/gpgconf-comp.c:2525,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2526,1
    - Dst: gpgrt_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2528,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2529,1
    - Dst: gpgrt_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2535,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2536,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2540,1
    - Dst: gpgrt_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2551,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2552,1
    - Dst: gpgrt_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2563,1
    - Dst: gpgrt_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2576,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2577,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgconf-comp.c:2583,1
    - Dst: gpgrt_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2584,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2585,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/tools/gpgconf-comp.c:2599,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:2605,1
    - Dst: gpgrt_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2612,1
    - Dst: percent_deescape
      Src: /src/gnupg/tools/gpgconf-comp.c:2613,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2614,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:2625,1
    - Dst: gpgrt_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2629,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2630,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgconf-comp.c:2638,1
    - Dst: gpgrt_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2646,1
    - Dst: asctimestamp
      Src: /src/gnupg/tools/gpgconf-comp.c:2646,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/tools/gpgconf-comp.c:2646,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2647,1
    - Dst: gpgrt_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2652,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2654,1
    - Dst: gpgrt_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2656,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2658,1
    - Dst: gpgrt_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2660,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2661,1
    - Dst: gpgrt_read_line
      Src: /src/gnupg/tools/gpgconf-comp.c:2666,1
    - Dst: gpgrt_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2668,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2669,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2672,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:2675,1
    - Dst: gpgrt_fclose
      Src: /src/gnupg/tools/gpgconf-comp.c:2678,1
    - Dst: close
      Src: /src/gnupg/tools/gpgconf-comp.c:2682,1
    - Dst: gpgrt_fclose
      Src: /src/gnupg/tools/gpgconf-comp.c:2684,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/tools/gpgconf-comp.c:2685,1
    - Dst: close
      Src: /src/gnupg/tools/gpgconf-comp.c:2688,1
    - Dst: gpgrt_fclose
      Src: /src/gnupg/tools/gpgconf-comp.c:2691,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:2698,1
    - Dst: gpgrt_fclose
      Src: /src/gnupg/tools/gpgconf-comp.c:2702,1
    - Dst: close
      Src: /src/gnupg/tools/gpgconf-comp.c:2703,1
    - Dst: gpgrt_fclose
      Src: /src/gnupg/tools/gpgconf-comp.c:2706,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/tools/gpgconf-comp.c:2707,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 206
    argCount: 5
    argNames:
    - component
    - src_filenamep
    - dest_filenamep
    - orig_filenamep
    - verbatim
    argTypes:
    - gc_component_id_t
    - char**
    - char**
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2709
      start: 2393
    functionDepth: 5
    functionLinenumber: 2393
    functionLinenumberEnd: 2709
    functionName: change_options_program
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - asctimestamp
    - gnupg_get_time
    - log_assert
    - gpgrt_read_line
    - gnupg_homedir
    - gc_error
    - make_absfilename
    - close
    - link
    - find_option
    - percent_deescape
    - gpgrt_fclose
    - strncmp
    - gpgrt_fopen
    - strcmp
    - strchr
    - gpgrt_fdopen
    - xfree
    - gnupg_open
    - getpid
    - gpgrt_fprintf
    - copy_file
    - xasprintf
    - gpg_err_set_errno
    - gpgrt_ferror
    linkageType: ''
    returnType: int
    signature: "int change_options_program (gc_component_id_t component,\n\t\t\tchar
      **src_filenamep, char **dest_filenamep,\n\t\t\tchar **orig_filenamep,\n                        int
      verbatim)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: option_check_validity
      Src: /src/gnupg/tools/gpgconf-comp.c:2722,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgconf-comp.c:2738,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpgconf-comp.c:2739,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpgconf-comp.c:2750,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 6
    argNames:
    - component
    - option
    - r_runtime
    - flags
    - new_value
    - verbatim
    argTypes:
    - gc_component_id_t
    - gc_option_t*
    - int*
    - unsigned long
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2715
    functionDepth: 5
    functionLinenumber: 2715
    functionLinenumberEnd: 2752
    functionName: change_one_value
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - xstrdup
    - log_assert
    - option_check_validity
    linkageType: ''
    returnType: void
    signature: "void change_one_value (gc_component_id_t component,\n                  gc_option_t
      *option, int *r_runtime,\n                  unsigned long flags, char *new_value,
      int verbatim)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: es_read_line
      Src: /src/gnupg/tools/gpgconf-comp.c:2779,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:2790,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:2800,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/tools/gpgconf-comp.c:2804,1
    - Dst: strtoul
      Src: /src/gnupg/tools/gpgconf-comp.c:2805,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2807,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2809,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:2821,1
    - Dst: find_option
      Src: /src/gnupg/tools/gpgconf-comp.c:2828,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2830,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2834,1
    - Dst: change_one_value
      Src: /src/gnupg/tools/gpgconf-comp.c:2839,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:2841,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2842,1
    - Dst: change_options_program
      Src: /src/gnupg/tools/gpgconf-comp.c:2860,1
    - Dst: gc_component_check_options
      Src: /src/gnupg/tools/gpgconf-comp.c:2868,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2871,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf-comp.c:2872,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/tools/gpgconf-comp.c:2874,1
    - Dst: gnupg_block_all_signals
      Src: /src/gnupg/tools/gpgconf-comp.c:2891,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgconf-comp.c:2899,1
    - Dst: gnupg_rename_file
      Src: /src/gnupg/tools/gpgconf-comp.c:2902,1
    - Dst: gnupg_rename_file
      Src: /src/gnupg/tools/gpgconf-comp.c:2908,1
    - Dst: link
      Src: /src/gnupg/tools/gpgconf-comp.c:2913,1
    - Dst: unlink
      Src: /src/gnupg/tools/gpgconf-comp.c:2915,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:2920,1
    - Dst: unlink
      Src: /src/gnupg/tools/gpgconf-comp.c:2934,1
    - Dst: unlink
      Src: /src/gnupg/tools/gpgconf-comp.c:2936,1
    - Dst: gnupg_rename_file
      Src: /src/gnupg/tools/gpgconf-comp.c:2945,1
    - Dst: unlink
      Src: /src/gnupg/tools/gpgconf-comp.c:2947,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:2950,1
    - Dst: do_runtime_change
      Src: /src/gnupg/tools/gpgconf-comp.c:2958,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgconf-comp.c:2966,1
    - Dst: xasprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:2968,1
    - Dst: gnupg_rename_file
      Src: /src/gnupg/tools/gpgconf-comp.c:2970,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:2971,1
    - Dst: gnupg_unblock_all_signals
      Src: /src/gnupg/tools/gpgconf-comp.c:2976,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:2977,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:2978,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:2979,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:2980,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 111
    argCount: 4
    argNames:
    - component
    - in
    - out
    - verbatim
    argTypes:
    - int
    - estream_t
    - estream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2981
      start: 2758
    functionDepth: 6
    functionLinenumber: 2758
    functionLinenumberEnd: 2981
    functionName: gc_component_change_options
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 1
    functionsReached:
    - log_assert
    - gnupg_block_all_signals
    - do_runtime_change
    - gc_error
    - find_option
    - link
    - change_one_value
    - _
    - strtoul
    - gnupg_unblock_all_signals
    - gc_component_check_options
    - es_read_line
    - unlink
    - strchr
    - xfree
    - gnupg_rename_file
    - xasprintf
    - gpg_err_set_errno
    - gpgrt_ferror
    - change_options_program
    linkageType: ''
    returnType: void
    signature: "void gc_component_change_options (int component, estream_t in, estream_t
      out,\n                             int verbatim)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:2995,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3002,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf-comp.c:3002,1
    - Dst: GetUserNameA
      Src: /src/gnupg/tools/gpgconf-comp.c:3013,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpgconf-comp.c:3014,1
    - Dst: GetUserNameA
      Src: /src/gnupg/tools/gpgconf-comp.c:3015,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3016,1
    - Dst: w32_strerror
      Src: /src/gnupg/tools/gpgconf-comp.c:3017,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:3020,1
    - Dst: getpwuid
      Src: /src/gnupg/tools/gpgconf-comp.c:3033,1
    - Dst: getuid
      Src: /src/gnupg/tools/gpgconf-comp.c:3033,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3035,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpgconf-comp.c:3036,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:3038,1
    - Dst: getgrgid
      Src: /src/gnupg/tools/gpgconf-comp.c:3051,1
    - Dst: getgid
      Src: /src/gnupg/tools/gpgconf-comp.c:3051,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3053,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpgconf-comp.c:3054,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:3056,1
    - Dst: getgroups
      Src: /src/gnupg/tools/gpgconf-comp.c:3064,1
    - Dst: xcalloc
      Src: /src/gnupg/tools/gpgconf-comp.c:3065,1
    - Dst: getgroups
      Src: /src/gnupg/tools/gpgconf-comp.c:3066,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3068,1
    - Dst: xcalloc
      Src: /src/gnupg/tools/gpgconf-comp.c:3069,1
    - Dst: getgrgid
      Src: /src/gnupg/tools/gpgconf-comp.c:3072,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3074,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpgconf-comp.c:3075,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:3077,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:3081,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 1
    argNames:
    - user
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3088
      start: 2987
    functionDepth: 4
    functionLinenumber: 2987
    functionLinenumberEnd: 3088
    functionName: key_matches_user_or_group
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 0
    functionsReached:
    - getgrgid
    - GetUserNameA
    - _
    - xcalloc
    - gc_error
    - xmalloc
    - strchr
    - strcmp
    - getuid
    - w32_strerror
    - getgroups
    - xstrdup
    - getpwuid
    - getgid
    - xfree
    linkageType: ''
    returnType: int
    signature: int key_matches_user_or_group (char *user)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpgconf-comp.c:3120,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpgconf-comp.c:3122,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/tools/gpgconf-comp.c:3122,1
    - Dst: gpgrt_fopen
      Src: /src/gnupg/tools/gpgconf-comp.c:3125,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3132,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:3135,1
    - Dst: gpgrt_read_line
      Src: /src/gnupg/tools/gpgconf-comp.c:3139,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:3162,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3166,1
    - Dst: gpgconf_write_status
      Src: /src/gnupg/tools/gpgconf-comp.c:3168,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3179,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:3195,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3199,1
    - Dst: gpgconf_write_status
      Src: /src/gnupg/tools/gpgconf-comp.c:3201,1
    - Dst: gc_component_find
      Src: /src/gnupg/tools/gpgconf-comp.c:3211,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3214,1
    - Dst: gpgconf_write_status
      Src: /src/gnupg/tools/gpgconf-comp.c:3216,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:3226,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3230,1
    - Dst: gpgconf_write_status
      Src: /src/gnupg/tools/gpgconf-comp.c:3232,1
    - Dst: gc_component_retrieve_options
      Src: /src/gnupg/tools/gpgconf-comp.c:3246,1
    - Dst: find_option
      Src: /src/gnupg/tools/gpgconf-comp.c:3247,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3250,1
    - Dst: gpgconf_write_status
      Src: /src/gnupg/tools/gpgconf-comp.c:3252,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:3267,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3270,1
    - Dst: gpgconf_write_status
      Src: /src/gnupg/tools/gpgconf-comp.c:3272,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:3291,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:3306,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3310,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:3316,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:3318,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3322,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:3333,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:3337,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:3341,1
    - Dst: gc_percent_escape
      Src: /src/gnupg/tools/gpgconf-comp.c:3341,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:3342,1
    - Dst: gc_percent_escape
      Src: /src/gnupg/tools/gpgconf-comp.c:3342,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:3346,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgconf-comp.c:3351,1
    - Dst: gc_percent_escape
      Src: /src/gnupg/tools/gpgconf-comp.c:3351,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpgconf-comp.c:3353,1
    - Dst: key_matches_user_or_group
      Src: /src/gnupg/tools/gpgconf-comp.c:3360,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:3369,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:3371,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:3373,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:3385,1
    - Dst: change_one_value
      Src: /src/gnupg/tools/gpgconf-comp.c:3388,1
    - Dst: gpgrt_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:3394,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3396,1
    - Dst: gpgrt_fclose
      Src: /src/gnupg/tools/gpgconf-comp.c:3399,1
    - Dst: gc_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3400,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:3402,1
    - Dst: gc_component_change_options
      Src: /src/gnupg/tools/gpgconf-comp.c:3414,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:3427,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 186
    argCount: 4
    argNames:
    - fname_arg
    - update
    - defaults
    - listfp
    argTypes:
    - char*
    - int
    - int
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3429
      start: 3103
    functionDepth: 7
    functionLinenumber: 3103
    functionLinenumberEnd: 3429
    functionName: gc_process_gpgconf_conf
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 1
    functionsReached:
    - es_fprintf
    - gpgrt_read_line
    - gc_error
    - xstrdup
    - gc_component_retrieve_options
    - find_option
    - es_putc
    - change_one_value
    - gpgrt_fclose
    - gc_percent_escape
    - gpgrt_fopen
    - key_matches_user_or_group
    - strcmp
    - strchr
    - gpgconf_write_status
    - xfree
    - gc_component_find
    - gnupg_sysconfdir
    - make_filename
    - gc_component_change_options
    - gpgrt_ferror
    linkageType: ''
    returnType: int
    signature: "int gc_process_gpgconf_conf (const char *fname_arg, int update, int
      defaults,\n                         estream_t listfp)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:3455,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:3456,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:3458,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:3460,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpgconf-comp.c:3464,1
    - Dst: gnupg_datadir
      Src: /src/gnupg/tools/gpgconf-comp.c:3464,1
    - Dst: gnupg_access
      Src: /src/gnupg/tools/gpgconf-comp.c:3466,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:3470,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpgconf-comp.c:3470,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgconf-comp.c:3473,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3474,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf-comp.c:3474,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf-comp.c:3479,1
    - Dst: es_read_line
      Src: /src/gnupg/tools/gpgconf-comp.c:3482,1
    - Dst: trim_trailing_spaces
      Src: /src/gnupg/tools/gpgconf-comp.c:3494,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:3502,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf-comp.c:3506,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf-comp.c:3513,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpgconf-comp.c:3516,1
    - Dst: gc_component_find
      Src: /src/gnupg/tools/gpgconf-comp.c:3517,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf-comp.c:3520,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf-comp.c:3532,1
    - Dst: spacep
      Src: /src/gnupg/tools/gpgconf-comp.c:3539,1
    - Dst: find_option
      Src: /src/gnupg/tools/gpgconf-comp.c:3544,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf-comp.c:3548,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpgconf-comp.c:3555,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpgconf-comp.c:3560,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgconf-comp.c:3563,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpgconf-comp.c:3569,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgconf-comp.c:3581,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:3588,1
    - Dst: change_one_value
      Src: /src/gnupg/tools/gpgconf-comp.c:3591,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/gpgconf-comp.c:3594,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgconf-comp.c:3596,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3598,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf-comp.c:3598,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgconf-comp.c:3599,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgconf-comp.c:3601,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3602,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf-comp.c:3602,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgconf-comp.c:3604,1
    - Dst: _
      Src: /src/gnupg/tools/gpgconf-comp.c:3604,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:3606,1
    - Dst: gc_component_change_options
      Src: /src/gnupg/tools/gpgconf-comp.c:3618,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgconf-comp.c:3631,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 115
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3633
      start: 3435
    functionDepth: 7
    functionLinenumber: 3435
    functionLinenumberEnd: 3633
    functionName: gc_apply_profile
    functionSourceFile: /src/gnupg/tools/gpgconf-comp.c
    functionUses: 1
    functionsReached:
    - es_fopen
    - trim_trailing_spaces
    - log_error
    - find_option
    - trim_spaces
    - gnupg_access
    - change_one_value
    - _
    - log_info
    - es_ferror
    - gpg_error_from_syserror
    - es_read_line
    - spacep
    - strcmp
    - strchr
    - gpg_strerror
    - xfree
    - gc_component_find
    - gc_component_change_options
    - xstrconcat
    - es_fclose
    - gnupg_datadir
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gc_apply_profile (const char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: struct
    functionSourceFile: /src/gnupg/tools/gpgconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EXTERN_UNLESS_MAIN_MODULE
    signature: EXTERN_UNLESS_MAIN_MODULE struct
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - verbose
    - debug_ipc
    - autostart
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: set_dirmngr_options
    functionSourceFile: /src/gnupg/tools/call-dirmngr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_dirmngr_options (int verbose, int debug_ipc, int autostart)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_new_dirmngr
      Src: /src/gnupg/tools/call-dirmngr.c:65,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/call-dirmngr.c:71,1
    - Dst: log_info
      Src: /src/gnupg/tools/call-dirmngr.c:78,1
    - Dst: _
      Src: /src/gnupg/tools/call-dirmngr.c:78,1
    - Dst: assuan_release
      Src: /src/gnupg/tools/call-dirmngr.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - r_ctx
    argTypes:
    - assuan_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 90
    functionName: connect_dirmngr
    functionSourceFile: /src/gnupg/tools/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - assuan_release
    - _
    - log_info
    - gpg_err_code
    - start_new_dirmngr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t connect_dirmngr (assuan_context_t *r_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_write
      Src: /src/gnupg/tools/call-dirmngr.c:115,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/call-dirmngr.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - opaque
    - data
    - datalen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: wkd_get_data_cb
    functionSourceFile: /src/gnupg/tools/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - es_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t wkd_get_data_cb (void *opaque, const void *data, size_t
      datalen)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/tools/call-dirmngr.c:135,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/tools/call-dirmngr.c:136,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/tools/call-dirmngr.c:138,1
    - Dst: _
      Src: /src/gnupg/tools/call-dirmngr.c:141,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/tools/call-dirmngr.c:143,1
    - Dst: _
      Src: /src/gnupg/tools/call-dirmngr.c:144,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/tools/call-dirmngr.c:145,1
    - Dst: _
      Src: /src/gnupg/tools/call-dirmngr.c:146,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/tools/call-dirmngr.c:147,1
    - Dst: _
      Src: /src/gnupg/tools/call-dirmngr.c:148,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/tools/call-dirmngr.c:149,1
    - Dst: _
      Src: /src/gnupg/tools/call-dirmngr.c:150,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/tools/call-dirmngr.c:151,1
    - Dst: _
      Src: /src/gnupg/tools/call-dirmngr.c:152,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/tools/call-dirmngr.c:153,1
    - Dst: _
      Src: /src/gnupg/tools/call-dirmngr.c:154,1
    - Dst: log_info
      Src: /src/gnupg/tools/call-dirmngr.c:161,1
    - Dst: _
      Src: /src/gnupg/tools/call-dirmngr.c:161,1
    - Dst: log_info
      Src: /src/gnupg/tools/call-dirmngr.c:163,1
    - Dst: _
      Src: /src/gnupg/tools/call-dirmngr.c:163,1
    - Dst: spacep
      Src: /src/gnupg/tools/call-dirmngr.c:166,1
    - Dst: spacep
      Src: /src/gnupg/tools/call-dirmngr.c:168,1
    - Dst: log_info
      Src: /src/gnupg/tools/call-dirmngr.c:171,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 177
    functionName: wkd_get_status_cb
    functionSourceFile: /src/gnupg/tools/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - spacep
    - log_info
    - _
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t wkd_get_status_cb (void *opaque, const char *line)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/call-dirmngr.c:194,1
    - Dst: connect_dirmngr
      Src: /src/gnupg/tools/call-dirmngr.c:197,1
    - Dst: es_bsprintf
      Src: /src/gnupg/tools/call-dirmngr.c:201,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/call-dirmngr.c:204,1
    - Dst: strlen
      Src: /src/gnupg/tools/call-dirmngr.c:207,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/call-dirmngr.c:209,1
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/call-dirmngr.c:213,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/call-dirmngr.c:216,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/call-dirmngr.c:219,1
    - Dst: es_fputc
      Src: /src/gnupg/tools/call-dirmngr.c:224,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/tools/call-dirmngr.c:225,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/call-dirmngr.c:227,1
    - Dst: strchr
      Src: /src/gnupg/tools/call-dirmngr.c:232,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/call-dirmngr.c:235,1
    - Dst: is_valid_mailbox
      Src: /src/gnupg/tools/call-dirmngr.c:236,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/call-dirmngr.c:238,1
    - Dst: xtrystrdup
      Src: /src/gnupg/tools/call-dirmngr.c:241,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/call-dirmngr.c:243,1
    - Dst: es_free
      Src: /src/gnupg/tools/call-dirmngr.c:246,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/call-dirmngr.c:247,1
    - Dst: xfree
      Src: /src/gnupg/tools/call-dirmngr.c:248,1
    - Dst: assuan_release
      Src: /src/gnupg/tools/call-dirmngr.c:249,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 2
    argNames:
    - addrspec
    - r_addrspec
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 251
    functionName: wkd_get_submission_address
    functionSourceFile: /src/gnupg/tools/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - es_fclose_snatch
    - strlen
    - gpg_error_from_syserror
    - es_fputc
    - es_free
    - es_bsprintf
    - trim_spaces
    - es_fclose
    - assuan_release
    - assuan_transact
    - xtrystrdup
    - gpg_error
    - strchr
    - connect_dirmngr
    - memset
    - is_valid_mailbox
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t wkd_get_submission_address (const char *addrspec, char
      **r_addrspec)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/call-dirmngr.c:265,1
    - Dst: connect_dirmngr
      Src: /src/gnupg/tools/call-dirmngr.c:268,1
    - Dst: es_bsprintf
      Src: /src/gnupg/tools/call-dirmngr.c:272,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/call-dirmngr.c:275,1
    - Dst: strlen
      Src: /src/gnupg/tools/call-dirmngr.c:278,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/call-dirmngr.c:280,1
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/call-dirmngr.c:284,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/call-dirmngr.c:287,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/call-dirmngr.c:290,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/call-dirmngr.c:295,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/call-dirmngr.c:300,1
    - Dst: xfree
      Src: /src/gnupg/tools/call-dirmngr.c:301,1
    - Dst: assuan_release
      Src: /src/gnupg/tools/call-dirmngr.c:302,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - addrspec
    - r_buffer
    argTypes:
    - char*
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 304
    functionName: wkd_get_policy_flags
    functionSourceFile: /src/gnupg/tools/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - strlen
    - gpg_error_from_syserror
    - es_fclose
    - es_bsprintf
    - assuan_release
    - assuan_transact
    - gpg_error
    - es_rewind
    - connect_dirmngr
    - memset
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t wkd_get_policy_flags (const char *addrspec, estream_t *r_buffer)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/call-dirmngr.c:317,1
    - Dst: connect_dirmngr
      Src: /src/gnupg/tools/call-dirmngr.c:320,1
    - Dst: es_bsprintf
      Src: /src/gnupg/tools/call-dirmngr.c:324,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/call-dirmngr.c:327,1
    - Dst: strlen
      Src: /src/gnupg/tools/call-dirmngr.c:330,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/call-dirmngr.c:332,1
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/call-dirmngr.c:336,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/call-dirmngr.c:339,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/call-dirmngr.c:342,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/call-dirmngr.c:347,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/call-dirmngr.c:352,1
    - Dst: xfree
      Src: /src/gnupg/tools/call-dirmngr.c:353,1
    - Dst: assuan_release
      Src: /src/gnupg/tools/call-dirmngr.c:354,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - addrspec
    - r_key
    argTypes:
    - char*
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 356
    functionName: wkd_get_key
    functionSourceFile: /src/gnupg/tools/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - strlen
    - gpg_error_from_syserror
    - es_fclose
    - es_bsprintf
    - assuan_release
    - assuan_transact
    - gpg_error
    - es_rewind
    - connect_dirmngr
    - memset
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t wkd_get_key (const char *addrspec, estream_t *r_key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/call-dirmngr.c:372,1
    - Dst: connect_dirmngr
      Src: /src/gnupg/tools/call-dirmngr.c:374,1
    - Dst: es_bsprintf
      Src: /src/gnupg/tools/call-dirmngr.c:378,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/call-dirmngr.c:381,1
    - Dst: strlen
      Src: /src/gnupg/tools/call-dirmngr.c:384,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/call-dirmngr.c:386,1
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/call-dirmngr.c:390,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/call-dirmngr.c:393,1
    - Dst: assuan_transact
      Src: /src/gnupg/tools/call-dirmngr.c:399,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/call-dirmngr.c:404,1
    - Dst: gpg_err_source
      Src: /src/gnupg/tools/call-dirmngr.c:405,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/call-dirmngr.c:406,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/call-dirmngr.c:411,1
    - Dst: cb
      Src: /src/gnupg/tools/call-dirmngr.c:412,1
    - Dst: es_ftruncate
      Src: /src/gnupg/tools/call-dirmngr.c:415,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/call-dirmngr.c:420,1
    - Dst: xfree
      Src: /src/gnupg/tools/call-dirmngr.c:421,1
    - Dst: assuan_release
      Src: /src/gnupg/tools/call-dirmngr.c:422,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - domain
    - cb
    argTypes:
    - char*
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 424
    functionName: wkd_dirmngr_ks_get
    functionSourceFile: /src/gnupg/tools/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - cb
    - es_fopenmem
    - strlen
    - gpg_error_from_syserror
    - es_fclose
    - es_bsprintf
    - assuan_release
    - assuan_transact
    - gpg_error
    - es_rewind
    - connect_dirmngr
    - memset
    - gpg_err_code
    - es_ftruncate
    - xfree
    - gpg_err_source
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t wkd_dirmngr_ks_get (const char *domain, gpg_error_t cb
      (estream_t key))
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 108
    functionName: my_strusage
    functionSourceFile: /src/gnupg/tools/gpgsplit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage (int level)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: setmode
      Src: /src/gnupg/tools/gpgsplit.c:118,1
    - Dst: fileno
      Src: /src/gnupg/tools/gpgsplit.c:118,1
    - Dst: setmode
      Src: /src/gnupg/tools/gpgsplit.c:119,1
    - Dst: fileno
      Src: /src/gnupg/tools/gpgsplit.c:119,1
    - Dst: log_set_prefix
      Src: /src/gnupg/tools/gpgsplit.c:121,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/tools/gpgsplit.c:122,1
    - Dst: gpgrt_set_fixed_string_mapper
      Src: /src/gnupg/tools/gpgsplit.c:125,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpgsplit.c:130,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpgsplit.c:142,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpgsplit.c:144,1
    - Dst: g10_exit
      Src: /src/gnupg/tools/gpgsplit.c:145,1
    - Dst: split_packets
      Src: /src/gnupg/tools/gpgsplit.c:148,1
    - Dst: split_packets
      Src: /src/gnupg/tools/gpgsplit.c:152,1
    - Dst: g10_exit
      Src: /src/gnupg/tools/gpgsplit.c:155,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 157
    functionName: main
    functionSourceFile: /src/gnupg/tools/gpgsplit.c
    functionUses: 2
    functionsReached:
    - gpgrt_set_strusage
    - log_set_prefix
    - gpgrt_set_fixed_string_mapper
    - fileno
    - log_get_errorcount
    - setmode
    - gpgrt_argparse
    - g10_exit
    - split_packets
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpgsplit.c:163,1
    - Dst: exit
      Src: /src/gnupg/tools/gpgsplit.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: g10_exit
    functionSourceFile: /src/gnupg/tools/gpgsplit.c
    functionUses: 1
    functionsReached:
    - log_get_errorcount
    - exit
    linkageType: ''
    returnType: void
    signature: void g10_exit (int rc)
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 1
    argNames:
    - pkttype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 199
    functionName: pkttype_to_string
    functionSourceFile: /src/gnupg/tools/gpgsplit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      pkttype_to_string (int pkttype)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpgsplit.c:213,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgsplit.c:213,1
    - Dst: assert
      Src: /src/gnupg/tools/gpgsplit.c:215,1
    - Dst: sprintf
      Src: /src/gnupg/tools/gpgsplit.c:217,1
    - Dst: pkttype_to_string
      Src: /src/gnupg/tools/gpgsplit.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pkttype
    argTypes:
    - int
    assertStmts:
    - condition: (pkttype < 1000 && pkttype >= 0 )
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/gnupg/tools/gpgsplit.c
    constantsTouched: []
    func_position:
      end: 220
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 220
    functionName: create_filename
    functionSourceFile: /src/gnupg/tools/gpgsplit.c
    functionUses: 0
    functionsReached:
    - assert
    - strlen
    - sprintf
    - pkttype_to_string
    - xmalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      create_filename (int pkttype)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/gnupg/tools/gpgsplit.c:227,1
    - Dst: getc
      Src: /src/gnupg/tools/gpgsplit.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fp
    - rn
    argTypes:
    - FILE*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: read_u16
    functionSourceFile: /src/gnupg/tools/gpgsplit.c
    functionUses: 0
    functionsReached:
    - getc
    linkageType: ''
    returnType: int
    signature: int read_u16 (FILE *fp, size_t *rn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_u16
      Src: /src/gnupg/tools/gpgsplit.c:241,1
    - Dst: read_u16
      Src: /src/gnupg/tools/gpgsplit.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fp
    - rn
    argTypes:
    - FILE*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: read_u32
    functionSourceFile: /src/gnupg/tools/gpgsplit.c
    functionUses: 0
    functionsReached:
    - read_u16
    linkageType: ''
    returnType: int
    signature: int read_u32 (FILE *fp, unsigned long *rn)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:262,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:267,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:269,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:274,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:277,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - fp
    - pkttype
    - len
    argTypes:
    - FILE*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 280
    functionName: write_old_header
    functionSourceFile: /src/gnupg/tools/gpgsplit.c
    functionUses: 0
    functionsReached:
    - putc
    linkageType: ''
    returnType: int
    signature: int write_old_header (FILE *fp, int pkttype, unsigned int len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:285,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:290,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:296,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:298,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:303,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:305,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:307,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:309,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:311,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - fp
    - pkttype
    - len
    argTypes:
    - FILE*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 315
    functionName: write_new_header
    functionSourceFile: /src/gnupg/tools/gpgsplit.c
    functionUses: 0
    functionsReached:
    - putc
    linkageType: ''
    returnType: int
    signature: int write_new_header (FILE *fp, int pkttype, unsigned int len)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 371
    functionName: public_key_length
    functionSourceFile: /src/gnupg/tools/gpgsplit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int public_key_length (const unsigned char *buf, size_t buflen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/gpgsplit.c:383,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpgsplit.c:385,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpgsplit.c:387,1
    - Dst: getc
      Src: /src/gnupg/tools/gpgsplit.c:400,1
    - Dst: inflateInit2
      Src: /src/gnupg/tools/gpgsplit.c:417,1
    - Dst: inflateInit
      Src: /src/gnupg/tools/gpgsplit.c:418,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpgsplit.c:421,1
    - Dst: inflate
      Src: /src/gnupg/tools/gpgsplit.c:432,1
    - Dst: inflate
      Src: /src/gnupg/tools/gpgsplit.c:434,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpgsplit.c:441,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpgsplit.c:443,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:447,1
    - Dst: fputs
      Src: /src/gnupg/tools/gpgsplit.c:456,1
    - Dst: fprintf
      Src: /src/gnupg/tools/gpgsplit.c:458,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:459,1
    - Dst: inflateEnd
      Src: /src/gnupg/tools/gpgsplit.c:462,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 3
    argNames:
    - algo
    - fpin
    - fpout
    argTypes:
    - int
    - FILE*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 465
    functionName: handle_zlib
    functionSourceFile: /src/gnupg/tools/gpgsplit.c
    functionUses: 0
    functionsReached:
    - inflateInit2
    - getc
    - inflateInit
    - log_fatal
    - fprintf
    - xmalloc
    - inflate
    - inflateEnd
    - memset
    - fputs
    - putc
    linkageType: ''
    returnType: int
    signature: int handle_zlib(int algo,FILE *fpin,FILE *fpout)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/gpgsplit.c:478,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpgsplit.c:480,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpgsplit.c:482,1
    - Dst: getc
      Src: /src/gnupg/tools/gpgsplit.c:495,1
    - Dst: BZ2_bzDecompressInit
      Src: /src/gnupg/tools/gpgsplit.c:512,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpgsplit.c:514,1
    - Dst: BZ2_bzDecompress
      Src: /src/gnupg/tools/gpgsplit.c:519,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpgsplit.c:523,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:526,1
    - Dst: BZ2_bzDecompressEnd
      Src: /src/gnupg/tools/gpgsplit.c:532,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - algo
    - fpin
    - fpout
    argTypes:
    - int
    - FILE*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 535
    functionName: handle_bzip2
    functionSourceFile: /src/gnupg/tools/gpgsplit.c
    functionUses: 0
    functionsReached:
    - getc
    - BZ2_bzDecompressEnd
    - log_fatal
    - xmalloc
    - BZ2_bzDecompress
    - memset
    - BZ2_bzDecompressInit
    - putc
    linkageType: ''
    returnType: int
    signature: int handle_bzip2(int algo,FILE *fpin,FILE *fpout)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: create_filename
      Src: /src/gnupg/tools/gpgsplit.c:546,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgsplit.c:553,1
    - Dst: fopen
      Src: /src/gnupg/tools/gpgsplit.c:554,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgsplit.c:557,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgsplit.c:557,1
    - Dst: g10_exit
      Src: /src/gnupg/tools/gpgsplit.c:560,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpgsplit.c:567,1
    - Dst: getc
      Src: /src/gnupg/tools/gpgsplit.c:574,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgsplit.c:577,1
    - Dst: public_key_length
      Src: /src/gnupg/tools/gpgsplit.c:582,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgsplit.c:585,1
    - Dst: g10_exit
      Src: /src/gnupg/tools/gpgsplit.c:586,1
    - Dst: write_new_header
      Src: /src/gnupg/tools/gpgsplit.c:590,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgsplit.c:592,1
    - Dst: write_old_header
      Src: /src/gnupg/tools/gpgsplit.c:598,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgsplit.c:600,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:607,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgsplit.c:609,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgsplit.c:614,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:623,1
    - Dst: assert
      Src: /src/gnupg/tools/gpgsplit.c:638,1
    - Dst: getc
      Src: /src/gnupg/tools/gpgsplit.c:641,1
    - Dst: getc
      Src: /src/gnupg/tools/gpgsplit.c:654,1
    - Dst: read_u32
      Src: /src/gnupg/tools/gpgsplit.c:662,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:674,1
    - Dst: getc
      Src: /src/gnupg/tools/gpgsplit.c:680,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:682,1
    - Dst: assert
      Src: /src/gnupg/tools/gpgsplit.c:689,1
    - Dst: read_u16
      Src: /src/gnupg/tools/gpgsplit.c:690,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:696,1
    - Dst: getc
      Src: /src/gnupg/tools/gpgsplit.c:703,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:706,1
    - Dst: getc
      Src: /src/gnupg/tools/gpgsplit.c:717,1
    - Dst: handle_zlib
      Src: /src/gnupg/tools/gpgsplit.c:725,1
    - Dst: handle_bzip2
      Src: /src/gnupg/tools/gpgsplit.c:732,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgsplit.c:738,1
    - Dst: while
      Src: /src/gnupg/tools/gpgsplit.c:744,1
    - Dst: getc
      Src: /src/gnupg/tools/gpgsplit.c:744,1
    - Dst: if
      Src: /src/gnupg/tools/gpgsplit.c:746,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgsplit.c:746,1
    - Dst: feof
      Src: /src/gnupg/tools/gpgsplit.c:750,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 160
    argCount: 6
    argNames:
    - fpin
    - pktlen
    - pkttype
    - partial
    - hdr
    - hdrlen
    argTypes:
    - FILE*
    - unsigned long
    - int
    - int
    - unsigned char*
    - size_t
    assertStmts:
    - condition: ( c >= 224 && c < 255 )
      pos:
        line_end: 637
        line_start: 637
        source_file: /src/gnupg/tools/gpgsplit.c
    - condition: (!pktlen)
      pos:
        line_end: 688
        line_start: 688
        source_file: /src/gnupg/tools/gpgsplit.c
    constantsTouched: []
    func_position:
      end: 753
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 753
    functionName: write_part
    functionSourceFile: /src/gnupg/tools/gpgsplit.c
    functionUses: 0
    functionsReached:
    - write_old_header
    - xmalloc
    - if
    - read_u16
    - putc
    - create_filename
    - strerror
    - log_error
    - getc
    - log_info
    - g10_exit
    - read_u32
    - assert
    - public_key_length
    - feof
    - xfree
    - fopen
    - write_new_header
    - handle_bzip2
    - handle_zlib
    - while
    linkageType: ''
    returnType: int
    signature: "int write_part (FILE *fpin, unsigned long pktlen,\n            int
      pkttype, int partial, unsigned char *hdr, size_t hdrlen)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/gnupg/tools/gpgsplit.c:803,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgsplit.c:810,1
    - Dst: getc
      Src: /src/gnupg/tools/gpgsplit.c:816,1
    - Dst: getc
      Src: /src/gnupg/tools/gpgsplit.c:825,1
    - Dst: read_u32
      Src: /src/gnupg/tools/gpgsplit.c:832,1
    - Dst: getc
      Src: /src/gnupg/tools/gpgsplit.c:864,1
    - Dst: write_part
      Src: /src/gnupg/tools/gpgsplit.c:873,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 794
    functionDepth: 3
    functionLinenumber: 794
    functionLinenumberEnd: 874
    functionName: do_split
    functionSourceFile: /src/gnupg/tools/gpgsplit.c
    functionUses: 0
    functionsReached:
    - getc
    - read_u32
    - write_part
    - log_error
    linkageType: ''
    returnType: int
    signature: int do_split (FILE *fp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgsplit.c:883,1
    - Dst: fopen
      Src: /src/gnupg/tools/gpgsplit.c:888,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgsplit.c:890,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgsplit.c:890,1
    - Dst: do_split
      Src: /src/gnupg/tools/gpgsplit.c:894,1
    - Dst: ferror
      Src: /src/gnupg/tools/gpgsplit.c:898,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgsplit.c:899,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgsplit.c:899,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgsplit.c:901,1
    - Dst: fclose
      Src: /src/gnupg/tools/gpgsplit.c:904,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 877
    functionDepth: 4
    functionLinenumber: 877
    functionLinenumberEnd: 905
    functionName: split_packets
    functionSourceFile: /src/gnupg/tools/gpgsplit.c
    functionUses: 1
    functionsReached:
    - do_split
    - log_error
    - fclose
    - strcmp
    - fopen
    - strerror
    - ferror
    linkageType: ''
    returnType: void
    signature: void split_packets (const char *fname)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 200
    functionName: my_strusage
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage( int level )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-wks-server.c:206,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/tools/gpg-wks-server.c:206,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-wks-server.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: wrong_args
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 1
    functionsReached:
    - exit
    - es_fprintf
    - gpgrt_strusage
    linkageType: ''
    returnType: void
    signature: void wrong_args (const char *text)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpg-wks-server.c:219,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/tools/gpg-wks-server.c:226,1
    - Dst: append_to_strlist
      Src: /src/gnupg/tools/gpg-wks-server.c:243,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - pargs
    - popts
    argTypes:
    - gpgrt_argparse_t*
    - gpgrt_opt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 273
    functionName: parse_arguments
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 6
    functionsReached:
    - append_to_strlist
    - parse_debug_flag
    - gpgrt_argparse
    linkageType: ''
    returnType: enum cmd_and_opt_values
    signature: enum cmd_and_opt_values parse_arguments (gpgrt_argparse_t *pargs, gpgrt_opt_t
      *popts)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_reopen_std
      Src: /src/gnupg/tools/gpg-wks-server.c:285,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/tools/gpg-wks-server.c:286,1
    - Dst: log_set_prefix
      Src: /src/gnupg/tools/gpg-wks-server.c:287,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/tools/gpg-wks-server.c:290,1
    - Dst: parse_arguments
      Src: /src/gnupg/tools/gpg-wks-server.c:296,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpg-wks-server.c:297,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-wks-server.c:299,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-wks-server.c:300,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:309,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-wks-server.c:314,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/tools/gpg-wks-server.c:314,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:327,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:329,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:330,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-wks-server.c:334,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-wks-server.c:335,1
    - Dst: gnupg_stat
      Src: /src/gnupg/tools/gpg-wks-server.c:343,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:345,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:346,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:347,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-wks-server.c:348,1
    - Dst: S_ISDIR
      Src: /src/gnupg/tools/gpg-wks-server.c:350,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:352,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-wks-server.c:354,1
    - Dst: getuid
      Src: /src/gnupg/tools/gpg-wks-server.c:356,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:358,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-wks-server.c:359,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:363,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:365,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-wks-server.c:366,1
    - Dst: log_fatal
      Src: /src/gnupg/tools/gpg-wks-server.c:370,1
    - Dst: wrong_args
      Src: /src/gnupg/tools/gpg-wks-server.c:378,1
    - Dst: wks_receive
      Src: /src/gnupg/tools/gpg-wks-server.c:379,1
    - Dst: wrong_args
      Src: /src/gnupg/tools/gpg-wks-server.c:384,1
    - Dst: command_cron
      Src: /src/gnupg/tools/gpg-wks-server.c:385,1
    - Dst: command_list_domains
      Src: /src/gnupg/tools/gpg-wks-server.c:389,1
    - Dst: wks_cmd_install_key
      Src: /src/gnupg/tools/gpg-wks-server.c:394,1
    - Dst: wks_cmd_install_key
      Src: /src/gnupg/tools/gpg-wks-server.c:396,1
    - Dst: wrong_args
      Src: /src/gnupg/tools/gpg-wks-server.c:398,1
    - Dst: wrong_args
      Src: /src/gnupg/tools/gpg-wks-server.c:403,1
    - Dst: wks_cmd_remove_key
      Src: /src/gnupg/tools/gpg-wks-server.c:404,1
    - Dst: wrong_args
      Src: /src/gnupg/tools/gpg-wks-server.c:409,1
    - Dst: command_revoke_key
      Src: /src/gnupg/tools/gpg-wks-server.c:410,1
    - Dst: wrong_args
      Src: /src/gnupg/tools/gpg-wks-server.c:415,1
    - Dst: command_check_key
      Src: /src/gnupg/tools/gpg-wks-server.c:419,1
    - Dst: gpgrt_usage
      Src: /src/gnupg/tools/gpg-wks-server.c:427,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-server.c:428,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:433,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:433,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-wks-server.c:434,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 100
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 435
    functionName: main
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 2
    functionsReached:
    - init_common_subsystems
    - exit
    - command_list_domains
    - xstrdup
    - gnupg_stat
    - command_check_key
    - gpgrt_set_strusage
    - wks_cmd_remove_key
    - log_error
    - gpgrt_usage
    - parse_arguments
    - log_set_prefix
    - log_get_errorcount
    - log_info
    - mime_maker_add_header
    - wks_cmd_install_key
    - gpg_error_from_syserror
    - gnupg_reopen_std
    - gnupg_module_name
    - wks_receive
    - gpg_error
    - gpg_strerror
    - getuid
    - wrong_args
    - gpgrt_argparse
    - command_revoke_key
    - log_fatal
    - S_ISDIR
    - command_cron
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 447
    functionName: only_ascii
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int only_ascii (const char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-wks-server.c:463,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-wks-server.c:465,1
    - Dst: getenv
      Src: /src/gnupg/tools/gpg-wks-server.c:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - cookie
    - name
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 470
    functionName: my_subst_vars_cb
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - strcmp
    - getenv
    linkageType: ''
    returnType: char
    signature: 'char *

      my_subst_vars_cb (void *cookie, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: substitute_vars
      Src: /src/gnupg/tools/gpg-wks-server.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - templ
    - mbox
    argTypes:
    - server_ctx_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: my_subst_vars
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - substitute_vars
    linkageType: ''
    returnType: char
    signature: 'char *

      my_subst_vars (server_ctx_t ctx, const char *templ, const char *mbox)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: es_bsprintf
      Src: /src/gnupg/tools/gpg-wks-server.c:500,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:503,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:504,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:505,1
    - Dst: ccparray_init
      Src: /src/gnupg/tools/gpg-wks-server.c:510,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:512,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:514,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:516,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:517,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:518,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:519,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:520,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:521,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:522,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:523,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:526,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:527,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:529,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:530,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:531,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:533,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/gpg-wks-server.c:534,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:537,1
    - Dst: gnupg_exec_tool_stream
      Src: /src/gnupg/tools/gpg-wks-server.c:540,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:544,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:544,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:549,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:550,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 3
    argNames:
    - keyfile
    - outfile
    - addrspec
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 552
    functionName: copy_key_as_binary
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - ccparray_get
    - ccparray_put
    - log_error
    - gpg_error_from_syserror
    - es_bsprintf
    - ccparray_init
    - gpg_strerror
    - xfree
    - gnupg_exec_tool_stream
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t copy_key_as_binary (const char *keyfile, const char *outfile,\n
      \                   const char *addrspec)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ccparray_init
      Src: /src/gnupg/tools/gpg-wks-server.c:564,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:566,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:568,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:570,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:571,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:572,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:573,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:574,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:575,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:576,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:577,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:578,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:579,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:580,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:581,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:583,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/gpg-wks-server.c:584,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:587,1
    - Dst: gnupg_exec_tool_stream
      Src: /src/gnupg/tools/gpg-wks-server.c:590,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:594,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:594,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:599,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - keyfile
    - danefile
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 601
    functionName: copy_key_as_dane
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - ccparray_get
    - ccparray_put
    - gpg_error_from_syserror
    - log_error
    - ccparray_init
    - gpg_strerror
    - xfree
    - gnupg_exec_tool_stream
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t copy_key_as_dane (const char *keyfile, const char *danefile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/tools/gpg-wks-server.c:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - keyword
    - args
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 611
    functionName: encrypt_stream_status_cb
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - log_debug
    linkageType: ''
    returnType: void
    signature: void encrypt_stream_status_cb (void *opaque, const char *keyword, char
      *args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/gpg-wks-server.c:626,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:629,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:630,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:630,1
    - Dst: ccparray_init
      Src: /src/gnupg/tools/gpg-wks-server.c:634,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:636,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:638,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:640,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:641,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:642,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:643,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:644,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:645,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:646,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:647,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:648,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:649,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:650,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:652,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/gpg-wks-server.c:653,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:656,1
    - Dst: gnupg_exec_tool_stream
      Src: /src/gnupg/tools/gpg-wks-server.c:659,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:664,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:664,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/gpg-wks-server.c:668,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-server.c:673,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:674,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 3
    argNames:
    - r_output
    - input
    - keyfile
    argTypes:
    - estream_t*
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 676
    functionName: encrypt_stream
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - ccparray_get
    - ccparray_put
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - ccparray_init
    - es_rewind
    - gpg_strerror
    - xfree
    - gnupg_exec_tool_stream
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t encrypt_stream (estream_t *r_output, estream_t input, const
      char *keyfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/tools/gpg-wks-server.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - keyword
    - args
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 686
    functionName: sign_stream_status_cb
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - log_debug
    linkageType: ''
    returnType: void
    signature: void sign_stream_status_cb (void *opaque, const char *keyword, char
      *args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/gpg-wks-server.c:701,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:704,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:705,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:705,1
    - Dst: ccparray_init
      Src: /src/gnupg/tools/gpg-wks-server.c:709,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:711,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:713,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:715,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:716,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:717,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:718,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:719,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:720,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:721,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:722,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-server.c:724,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/gpg-wks-server.c:725,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:728,1
    - Dst: gnupg_exec_tool_stream
      Src: /src/gnupg/tools/gpg-wks-server.c:731,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:736,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:736,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/gpg-wks-server.c:740,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-server.c:745,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:746,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 3
    argNames:
    - r_output
    - input
    - userid
    argTypes:
    - estream_t*
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 748
    functionName: sign_stream
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - ccparray_get
    - ccparray_put
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - ccparray_init
    - es_rewind
    - gpg_strerror
    - xfree
    - gnupg_exec_tool_stream
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t sign_stream (estream_t *r_output, estream_t input, const
      char *userid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-server.c:762,1
    - Dst: make_filename_try
      Src: /src/gnupg/tools/gpg-wks-server.c:767,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:770,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:771,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:772,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpg-wks-server.c:776,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:779,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-server.c:780,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:781,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:784,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:784,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:785,1
    - Dst: es_getline
      Src: /src/gnupg/tools/gpg-wks-server.c:791,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:793,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:794,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:794,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:795,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-server.c:796,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:797,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-server.c:800,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:801,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-server.c:803,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-wks-server.c:806,1
    - Dst: is_valid_mailbox
      Src: /src/gnupg/tools/gpg-wks-server.c:807,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:809,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:811,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - mbox
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 816
    functionName: get_submission_address
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - trim_spaces
    - es_getline
    - strchr
    - gpg_strerror
    - es_fopen
    - gpg_err_code
    - make_filename_try
    - log_info
    - xfree
    - is_valid_mailbox
    linkageType: ''
    returnType: char
    signature: 'char *

      get_submission_address (const char *mbox)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/gpg-wks-server.c:828,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-server.c:830,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-server.c:832,1
    - Dst: make_filename_try
      Src: /src/gnupg/tools/gpg-wks-server.c:835,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:838,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:839,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:840,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpg-wks-server.c:844,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:847,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-server.c:848,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:851,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:851,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:852,1
    - Dst: wks_parse_policy
      Src: /src/gnupg/tools/gpg-wks-server.c:856,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-server.c:857,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:858,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - policy
    - mbox
    argTypes:
    - policy_flags_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 860
    functionName: get_policy_flags
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - log_error
    - es_fclose
    - gpg_error
    - strchr
    - memset
    - gpg_strerror
    - es_fopen
    - make_filename_try
    - gpg_err_code
    - xfree
    - wks_parse_policy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_policy_flags (policy_flags_t policy, const char *mbox)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-server.c:875,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-server.c:878,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-server.c:882,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-server.c:882,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:884,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-server.c:885,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/tools/gpg-wks-server.c:888,1
    - Dst: zb32_encode
      Src: /src/gnupg/tools/gpg-wks-server.c:889,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:892,1
    - Dst: strconcat
      Src: /src/gnupg/tools/gpg-wks-server.c:896,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:899,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:904,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - nonce
    - addrspec
    - r_name
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 906
    functionName: make_pending_fname
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - zb32_encode
    - gcry_md_hash_buffer
    - gpg_error_from_syserror
    - strconcat
    - gpg_error
    - strchr
    - log_info
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t make_pending_fname (const char *nonce, const char *addrspec,
      char **r_name)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: make_filename_try
      Src: /src/gnupg/tools/gpg-wks-server.c:929,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:932,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-wks-server.c:940,1
    - Dst: gcry_create_nonce
      Src: /src/gnupg/tools/gpg-wks-server.c:941,1
    - Dst: zb32_encode
      Src: /src/gnupg/tools/gpg-wks-server.c:942,1
    - Dst: memset
      Src: /src/gnupg/tools/gpg-wks-server.c:943,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:946,1
    - Dst: make_pending_fname
      Src: /src/gnupg/tools/gpg-wks-server.c:950,1
    - Dst: strconcat
      Src: /src/gnupg/tools/gpg-wks-server.c:954,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:957,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpg-wks-server.c:963,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:966,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:967,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:967,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/gpg-wks-server.c:970,1
    - Dst: es_read
      Src: /src/gnupg/tools/gpg-wks-server.c:973,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:975,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:976,1
    - Dst: es_fname_get
      Src: /src/gnupg/tools/gpg-wks-server.c:977,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:977,1
    - Dst: es_write
      Src: /src/gnupg/tools/gpg-wks-server.c:986,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:988,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:989,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:989,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-server.c:994,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:995,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-server.c:1003,1
    - Dst: gnupg_remove
      Src: /src/gnupg/tools/gpg-wks-server.c:1004,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-server.c:1006,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1008,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1009,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:1009,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1019,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1020,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1022,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1023,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 80
    argCount: 5
    argNames:
    - dir
    - key
    - addrspec
    - r_nonce
    - r_fname
    argTypes:
    - char*
    - estream_t
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 913
    functionDepth: 2
    functionLinenumber: 913
    functionLinenumberEnd: 1025
    functionName: store_key_as_pending
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - log_assert
    - make_pending_fname
    - es_read
    - es_fopen
    - zb32_encode
    - log_error
    - es_write
    - es_rewind
    - gpg_error_from_syserror
    - gpg_error
    - memset
    - gpg_strerror
    - xfree
    - es_fname_get
    - es_fclose
    - strconcat
    - make_filename_try
    - gnupg_remove
    - gcry_create_nonce
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t store_key_as_pending (const char *dir, estream_t key,
      const char *addrspec,\n                      char **r_nonce, char **r_fname)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: get_submission_address
      Src: /src/gnupg/tools/gpg-wks-server.c:1049,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1055,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1056,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:1059,1
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/gpg-wks-server.c:1062,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1065,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1066,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:1066,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpg-wks-server.c:1074,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-wks-server.c:1080,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/gpg-wks-server.c:1090,1
    - Dst: encrypt_stream
      Src: /src/gnupg/tools/gpg-wks-server.c:1091,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-server.c:1094,1
    - Dst: mime_maker_new
      Src: /src/gnupg/tools/gpg-wks-server.c:1098,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1101,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1104,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1107,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1111,1
    - Dst: STR2
      Src: /src/gnupg/tools/gpg-wks-server.c:1112,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1118,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1124,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1131,1
    - Dst: mime_maker_add_container
      Src: /src/gnupg/tools/gpg-wks-server.c:1136,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1140,1
    - Dst: mime_maker_add_body
      Src: /src/gnupg/tools/gpg-wks-server.c:1144,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1147,1
    - Dst: mime_maker_add_stream
      Src: /src/gnupg/tools/gpg-wks-server.c:1152,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1162,1
    - Dst: mime_maker_add_container
      Src: /src/gnupg/tools/gpg-wks-server.c:1167,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1171,1
    - Dst: mime_maker_add_container
      Src: /src/gnupg/tools/gpg-wks-server.c:1175,1
    - Dst: mime_maker_get_partid
      Src: /src/gnupg/tools/gpg-wks-server.c:1178,1
    - Dst: gnupg_get_template
      Src: /src/gnupg/tools/gpg-wks-server.c:1180,1
    - Dst: my_subst_vars
      Src: /src/gnupg/tools/gpg-wks-server.c:1184,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1185,1
    - Dst: only_ascii
      Src: /src/gnupg/tools/gpg-wks-server.c:1189,1
    - Dst: mime_maker_qp_encode
      Src: /src/gnupg/tools/gpg-wks-server.c:1193,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1196,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1197,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:1197,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1200,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1209,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1213,1
    - Dst: mime_maker_add_body
      Src: /src/gnupg/tools/gpg-wks-server.c:1218,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1225,1
    - Dst: mime_maker_add_stream
      Src: /src/gnupg/tools/gpg-wks-server.c:1230,1
    - Dst: mime_maker_end_container
      Src: /src/gnupg/tools/gpg-wks-server.c:1234,1
    - Dst: mime_maker_get_part
      Src: /src/gnupg/tools/gpg-wks-server.c:1239,1
    - Dst: sign_stream
      Src: /src/gnupg/tools/gpg-wks-server.c:1243,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1247,1
    - Dst: mime_maker_add_stream
      Src: /src/gnupg/tools/gpg-wks-server.c:1252,1
    - Dst: wks_send_mime
      Src: /src/gnupg/tools/gpg-wks-server.c:1257,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1260,1
    - Dst: mime_maker_release
      Src: /src/gnupg/tools/gpg-wks-server.c:1261,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-server.c:1262,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-server.c:1263,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-server.c:1264,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-server.c:1265,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1266,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 178
    argCount: 4
    argNames:
    - ctx
    - mbox
    - nonce
    - keyfile
    argTypes:
    - server_ctx_t
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1031
    functionDepth: 5
    functionLinenumber: 1031
    functionLinenumberEnd: 1268
    functionName: send_confirmation_request
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - wks_send_mime
    - STR2
    - encrypt_stream
    - mime_maker_add_body
    - mime_maker_qp_encode
    - es_fopenmem
    - my_subst_vars
    - log_error
    - mime_maker_release
    - get_submission_address
    - es_rewind
    - log_info
    - mime_maker_add_header
    - mime_maker_get_part
    - gpg_error_from_syserror
    - only_ascii
    - mime_maker_new
    - mime_maker_add_container
    - gpg_error
    - sign_stream
    - gpg_strerror
    - xfree
    - mime_maker_end_container
    - es_fputs
    - es_fclose
    - mime_maker_get_partid
    - mime_maker_add_stream
    - gnupg_get_template
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t send_confirmation_request (server_ctx_t ctx,\n                           const
      char *mbox, const char *nonce,\n                           const char *keyfile)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/gpg-wks-server.c:1284,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1287,1
    - Dst: free_uidinfo_list
      Src: /src/gnupg/tools/gpg-wks-server.c:1288,1
    - Dst: wks_list_key
      Src: /src/gnupg/tools/gpg-wks-server.c:1289,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-wks-server.c:1292,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:1293,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:1297,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-server.c:1306,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-wks-server.c:1307,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1308,1
    - Dst: make_filename_try
      Src: /src/gnupg/tools/gpg-wks-server.c:1309,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1312,1
    - Dst: gnupg_access
      Src: /src/gnupg/tools/gpg-wks-server.c:1316,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:1318,1
    - Dst: get_policy_flags
      Src: /src/gnupg/tools/gpg-wks-server.c:1321,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:1323,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:1330,1
    - Dst: log_debug
      Src: /src/gnupg/tools/gpg-wks-server.c:1333,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:1337,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1339,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1340,1
    - Dst: store_key_as_pending
      Src: /src/gnupg/tools/gpg-wks-server.c:1341,1
    - Dst: send_confirmation_request
      Src: /src/gnupg/tools/gpg-wks-server.c:1345,1
    - Dst: wipememory
      Src: /src/gnupg/tools/gpg-wks-server.c:1353,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-wks-server.c:1353,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1354,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1355,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1356,1
    - Dst: wks_free_policy
      Src: /src/gnupg/tools/gpg-wks-server.c:1357,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - server_ctx_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1273
    functionDepth: 6
    functionLinenumber: 1273
    functionLinenumberEnd: 1359
    functionName: process_new_key
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - store_key_as_pending
    - log_assert
    - gpg_error_from_syserror
    - strlen
    - get_policy_flags
    - gnupg_access
    - wipememory
    - strchr
    - memset
    - xfree
    - log_info
    - make_filename_try
    - wks_list_key
    - send_confirmation_request
    - wks_free_policy
    - free_uidinfo_list
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t process_new_key (server_ctx_t ctx, estream_t key)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: get_submission_address
      Src: /src/gnupg/tools/gpg-wks-server.c:1380,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1386,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1387,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:1390,1
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/gpg-wks-server.c:1393,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1396,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1397,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:1397,1
    - Dst: gnupg_get_template
      Src: /src/gnupg/tools/gpg-wks-server.c:1401,1
    - Dst: my_subst_vars
      Src: /src/gnupg/tools/gpg-wks-server.c:1405,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1406,1
    - Dst: only_ascii
      Src: /src/gnupg/tools/gpg-wks-server.c:1410,1
    - Dst: mime_maker_qp_encode
      Src: /src/gnupg/tools/gpg-wks-server.c:1414,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1417,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1418,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:1418,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1421,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-wks-server.c:1431,1
    - Dst: es_fputs
      Src: /src/gnupg/tools/gpg-wks-server.c:1435,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-wks-server.c:1437,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/gpg-wks-server.c:1442,1
    - Dst: encrypt_stream
      Src: /src/gnupg/tools/gpg-wks-server.c:1443,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-server.c:1446,1
    - Dst: mime_maker_new
      Src: /src/gnupg/tools/gpg-wks-server.c:1449,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1452,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1455,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1458,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1461,1
    - Dst: STR2
      Src: /src/gnupg/tools/gpg-wks-server.c:1462,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1465,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1470,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1475,1
    - Dst: mime_maker_add_container
      Src: /src/gnupg/tools/gpg-wks-server.c:1480,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1484,1
    - Dst: mime_maker_add_body
      Src: /src/gnupg/tools/gpg-wks-server.c:1488,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-server.c:1491,1
    - Dst: mime_maker_add_stream
      Src: /src/gnupg/tools/gpg-wks-server.c:1496,1
    - Dst: wks_send_mime
      Src: /src/gnupg/tools/gpg-wks-server.c:1500,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1503,1
    - Dst: mime_maker_release
      Src: /src/gnupg/tools/gpg-wks-server.c:1504,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-server.c:1505,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-server.c:1506,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1507,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 115
    argCount: 3
    argNames:
    - ctx
    - mbox
    - keyfile
    argTypes:
    - server_ctx_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1365
    functionDepth: 5
    functionLinenumber: 1365
    functionLinenumberEnd: 1509
    functionName: send_congratulation_message
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - wks_send_mime
    - STR2
    - encrypt_stream
    - mime_maker_qp_encode
    - mime_maker_add_body
    - es_fopenmem
    - my_subst_vars
    - log_error
    - mime_maker_release
    - get_submission_address
    - es_rewind
    - log_info
    - mime_maker_add_header
    - gpg_error_from_syserror
    - only_ascii
    - mime_maker_new
    - mime_maker_add_container
    - gpg_error
    - gpg_strerror
    - xfree
    - es_fputs
    - es_fclose
    - mime_maker_add_stream
    - gnupg_get_template
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t send_congratulation_message (server_ctx_t ctx,\n                             const
      char *mbox, const char *keyfile)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-wks-server.c:1530,1
    - Dst: trim_trailing_spaces
      Src: /src/gnupg/tools/gpg-wks-server.c:1531,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-server.c:1535,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-wks-server.c:1536,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-server.c:1538,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-server.c:1538,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-server.c:1539,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-server.c:1539,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:1541,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1543,1
    - Dst: make_pending_fname
      Src: /src/gnupg/tools/gpg-wks-server.c:1547,1
    - Dst: make_filename_try
      Src: /src/gnupg/tools/gpg-wks-server.c:1551,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1555,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpg-wks-server.c:1560,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1563,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-server.c:1564,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:1566,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1567,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1570,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:1570,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1575,1
    - Dst: free_uidinfo_list
      Src: /src/gnupg/tools/gpg-wks-server.c:1576,1
    - Dst: wks_list_key
      Src: /src/gnupg/tools/gpg-wks-server.c:1577,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-wks-server.c:1580,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:1581,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:1584,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-wks-server.c:1590,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1594,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1596,1
    - Dst: wks_compute_hu_fname
      Src: /src/gnupg/tools/gpg-wks-server.c:1601,1
    - Dst: copy_key_as_binary
      Src: /src/gnupg/tools/gpg-wks-server.c:1606,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1609,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1610,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:1611,1
    - Dst: gnupg_chmod
      Src: /src/gnupg/tools/gpg-wks-server.c:1616,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1617,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:1618,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1618,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:1620,1
    - Dst: send_congratulation_message
      Src: /src/gnupg/tools/gpg-wks-server.c:1621,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1624,1
    - Dst: make_filename_try
      Src: /src/gnupg/tools/gpg-wks-server.c:1626,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1629,1
    - Dst: gnupg_access
      Src: /src/gnupg/tools/gpg-wks-server.c:1632,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-server.c:1635,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-wks-server.c:1636,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/tools/gpg-wks-server.c:1637,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1638,1
    - Dst: bin2hex
      Src: /src/gnupg/tools/gpg-wks-server.c:1639,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1642,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1645,1
    - Dst: make_filename_try
      Src: /src/gnupg/tools/gpg-wks-server.c:1646,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1649,1
    - Dst: copy_key_as_dane
      Src: /src/gnupg/tools/gpg-wks-server.c:1652,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:1655,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-server.c:1659,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1660,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1661,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1662,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1663,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1664,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 109
    argCount: 3
    argNames:
    - ctx
    - address
    - nonce
    argTypes:
    - server_ctx_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1513
    functionDepth: 6
    functionLinenumber: 1513
    functionLinenumberEnd: 1666
    functionName: check_and_publish
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - wks_compute_hu_fname
    - log_assert
    - gcry_md_hash_buffer
    - make_pending_fname
    - es_fopen
    - xstrdup
    - trim_trailing_spaces
    - send_congratulation_message
    - log_error
    - gnupg_access
    - log_info
    - wks_list_key
    - gpg_err_code_from_syserror
    - copy_key_as_dane
    - gpg_error_from_syserror
    - copy_key_as_binary
    - strcmp
    - strchr
    - gpg_error
    - gpg_strerror
    - xfree
    - free_uidinfo_list
    - gnupg_chmod
    - bin2hex
    - es_fclose
    - gpg_err_code
    - make_filename_try
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_and_publish (server_ctx_t ctx, const char *address,
      const char *nonce)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nvc_parse
      Src: /src/gnupg/tools/gpg-wks-server.c:1678,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1681,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:1681,1
    - Dst: log_debug
      Src: /src/gnupg/tools/gpg-wks-server.c:1687,1
    - Dst: nvc_write
      Src: /src/gnupg/tools/gpg-wks-server.c:1688,1
    - Dst: log_get_stream
      Src: /src/gnupg/tools/gpg-wks-server.c:1688,1
    - Dst: nvc_lookup
      Src: /src/gnupg/tools/gpg-wks-server.c:1692,1
    - Dst: nve_value
      Src: /src/gnupg/tools/gpg-wks-server.c:1692,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-wks-server.c:1693,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1696,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1698,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1699,1
    - Dst: nvc_lookup
      Src: /src/gnupg/tools/gpg-wks-server.c:1704,1
    - Dst: nve_value
      Src: /src/gnupg/tools/gpg-wks-server.c:1704,1
    - Dst: is_valid_mailbox
      Src: /src/gnupg/tools/gpg-wks-server.c:1705,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1707,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1709,1
    - Dst: nvc_lookup
      Src: /src/gnupg/tools/gpg-wks-server.c:1717,1
    - Dst: nve_value
      Src: /src/gnupg/tools/gpg-wks-server.c:1717,1
    - Dst: is_valid_mailbox
      Src: /src/gnupg/tools/gpg-wks-server.c:1718,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1720,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1722,1
    - Dst: nvc_lookup
      Src: /src/gnupg/tools/gpg-wks-server.c:1728,1
    - Dst: nve_value
      Src: /src/gnupg/tools/gpg-wks-server.c:1728,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-wks-server.c:1729,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1731,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1733,1
    - Dst: check_and_publish
      Src: /src/gnupg/tools/gpg-wks-server.c:1738,1
    - Dst: nvc_release
      Src: /src/gnupg/tools/gpg-wks-server.c:1742,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - server_ctx_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1670
    functionDepth: 7
    functionLinenumber: 1670
    functionLinenumberEnd: 1744
    functionName: process_confirmation_response
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - log_get_stream
    - nvc_parse
    - log_error
    - strlen
    - nvc_release
    - check_and_publish
    - strcmp
    - gpg_error
    - nve_value
    - gpg_strerror
    - nvc_lookup
    - is_valid_mailbox
    - nvc_write
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t process_confirmation_response (server_ctx_t ctx, estream_t
      msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/gpg-wks-server.c:1758,1
    - Dst: xtrystrdup
      Src: /src/gnupg/tools/gpg-wks-server.c:1762,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-wks-server.c:1764,1
    - Dst: process_new_key
      Src: /src/gnupg/tools/gpg-wks-server.c:1765,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-wks-server.c:1766,1
    - Dst: process_confirmation_response
      Src: /src/gnupg/tools/gpg-wks-server.c:1767,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:1770,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1771,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1774,1
    - Dst: free_uidinfo_list
      Src: /src/gnupg/tools/gpg-wks-server.c:1775,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - opaque
    - mediatype
    - language
    - msg
    - flags
    argTypes:
    - void*
    - char*
    - char*
    - estream_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1749
    functionDepth: 8
    functionLinenumber: 1749
    functionLinenumberEnd: 1778
    functionName: command_receive_cb
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - process_new_key
    - strcmp
    - xtrystrdup
    - gpg_error
    - memset
    - process_confirmation_response
    - log_info
    - xfree
    - free_uidinfo_list
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t command_receive_cb (void *opaque, const char *mediatype,
      const char *language,\n                    estream_t msg, unsigned int flags)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_opendir
      Src: /src/gnupg/tools/gpg-wks-server.c:1797,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1800,1
    - Dst: gnupg_readdir
      Src: /src/gnupg/tools/gpg-wks-server.c:1804,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-server.c:1808,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1811,1
    - Dst: make_filename_try
      Src: /src/gnupg/tools/gpg-wks-server.c:1812,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1815,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1816,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:1817,1
    - Dst: gnupg_stat
      Src: /src/gnupg/tools/gpg-wks-server.c:1821,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1823,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1824,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:1824,1
    - Dst: S_ISDIR
      Src: /src/gnupg/tools/gpg-wks-server.c:1827,1
    - Dst: add_to_strlist_try
      Src: /src/gnupg/tools/gpg-wks-server.c:1830,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1832,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1833,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:1834,1
    - Dst: free_strlist
      Src: /src/gnupg/tools/gpg-wks-server.c:1843,1
    - Dst: gnupg_closedir
      Src: /src/gnupg/tools/gpg-wks-server.c:1844,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1845,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 1
    argNames:
    - r_list
    argTypes:
    - strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1785
    functionDepth: 1
    functionLinenumber: 1785
    functionLinenumberEnd: 1847
    functionName: get_domain_list
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - gnupg_opendir
    - gnupg_readdir
    - gnupg_closedir
    - gpg_error_from_syserror
    - log_error
    - strchr
    - xfree
    - gpg_strerror
    - S_ISDIR
    - make_filename_try
    - gnupg_stat
    - add_to_strlist_try
    - free_strlist
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_domain_list (strlist_t *r_list)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_get_time
      Src: /src/gnupg/tools/gpg-wks-server.c:1860,1
    - Dst: make_filename_try
      Src: /src/gnupg/tools/gpg-wks-server.c:1862,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1865,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1866,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:1867,1
    - Dst: gnupg_opendir
      Src: /src/gnupg/tools/gpg-wks-server.c:1871,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1874,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1875,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:1876,1
    - Dst: gnupg_readdir
      Src: /src/gnupg/tools/gpg-wks-server.c:1880,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1884,1
    - Dst: make_filename_try
      Src: /src/gnupg/tools/gpg-wks-server.c:1885,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1888,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1889,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:1890,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-wks-server.c:1894,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-wks-server.c:1894,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:1896,1
    - Dst: gnupg_stat
      Src: /src/gnupg/tools/gpg-wks-server.c:1899,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1901,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1902,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:1902,1
    - Dst: S_ISDIR
      Src: /src/gnupg/tools/gpg-wks-server.c:1905,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:1907,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:1913,1
    - Dst: remove
      Src: /src/gnupg/tools/gpg-wks-server.c:1915,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:1917,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-server.c:1921,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1922,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:1923,1
    - Dst: gnupg_closedir
      Src: /src/gnupg/tools/gpg-wks-server.c:1930,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1931,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:1932,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 2
    argNames:
    - top_dirname
    - domain
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1851
    functionDepth: 1
    functionLinenumber: 1851
    functionLinenumberEnd: 1935
    functionName: expire_one_domain
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - gnupg_opendir
    - gnupg_get_time
    - gnupg_readdir
    - gnupg_closedir
    - log_error
    - gpg_error_from_syserror
    - strlen
    - remove
    - gpg_strerror
    - xfree
    - log_info
    - make_filename_try
    - gnupg_stat
    - S_ISDIR
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t expire_one_domain (const char *top_dirname, const char
      *domain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/gnupg/tools/gpg-wks-server.c:1948,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-wks-server.c:1949,1
    - Dst: expire_one_domain
      Src: /src/gnupg/tools/gpg-wks-server.c:1952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - domaindirs
    argTypes:
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1939
    functionDepth: 2
    functionLinenumber: 1939
    functionLinenumberEnd: 1956
    functionName: expire_pending_confirmations
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 0
    functionsReached:
    - expire_one_domain
    - log_assert
    - strrchr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t expire_pending_confirmations (strlist_t domaindirs)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: get_domain_list
      Src: /src/gnupg/tools/gpg-wks-server.c:1979,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:1982,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:1982,1
    - Dst: strrchr
      Src: /src/gnupg/tools/gpg-wks-server.c:1988,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-wks-server.c:1989,1
    - Dst: es_printf
      Src: /src/gnupg/tools/gpg-wks-server.c:1992,1
    - Dst: es_printf
      Src: /src/gnupg/tools/gpg-wks-server.c:1994,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-wks-server.c:1998,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:2000,1
    - Dst: make_filename_try
      Src: /src/gnupg/tools/gpg-wks-server.c:2001,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:2004,1
    - Dst: gnupg_access
      Src: /src/gnupg/tools/gpg-wks-server.c:2007,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-server.c:2009,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-server.c:2010,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/tools/gpg-wks-server.c:2012,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:2014,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:2015,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:2017,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:2020,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:2024,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:2025,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:2030,1
    - Dst: make_filename_try
      Src: /src/gnupg/tools/gpg-wks-server.c:2031,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:2034,1
    - Dst: gnupg_access
      Src: /src/gnupg/tools/gpg-wks-server.c:2037,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-server.c:2039,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-server.c:2040,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:2041,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:2044,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:2045,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:2049,1
    - Dst: make_filename_try
      Src: /src/gnupg/tools/gpg-wks-server.c:2050,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:2053,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpg-wks-server.c:2056,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-server.c:2059,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-server.c:2060,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpg-wks-server.c:2062,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:2064,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:2065,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-server.c:2067,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:2071,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:2072,1
    - Dst: wks_parse_policy
      Src: /src/gnupg/tools/gpg-wks-server.c:2077,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-server.c:2078,1
    - Dst: wks_free_policy
      Src: /src/gnupg/tools/gpg-wks-server.c:2079,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:2085,1
    - Dst: free_strlist
      Src: /src/gnupg/tools/gpg-wks-server.c:2086,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 1960
    functionDepth: 2
    functionLinenumber: 1960
    functionLinenumberEnd: 2088
    functionName: command_list_domains
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 1
    functionsReached:
    - log_assert
    - es_fopen
    - wks_parse_policy
    - log_error
    - DIM
    - gnupg_access
    - log_info
    - free_strlist
    - gpg_error_from_syserror
    - get_domain_list
    - gnupg_mkdir
    - gpg_error
    - gpg_strerror
    - xfree
    - wks_free_policy
    - es_fclose
    - es_printf
    - gpg_err_code
    - strrchr
    - make_filename_try
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t command_list_domains (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_domain_list
      Src: /src/gnupg/tools/gpg-wks-server.c:2098,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:2101,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:2101,1
    - Dst: expire_pending_confirmations
      Src: /src/gnupg/tools/gpg-wks-server.c:2105,1
    - Dst: free_strlist
      Src: /src/gnupg/tools/gpg-wks-server.c:2107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2092
    functionDepth: 3
    functionLinenumber: 2092
    functionLinenumberEnd: 2109
    functionName: command_cron
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 1
    functionsReached:
    - log_error
    - get_domain_list
    - gpg_strerror
    - expire_pending_confirmations
    - free_strlist
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t command_cron (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wks_fname_from_userid
      Src: /src/gnupg/tools/gpg-wks-server.c:2121,1
    - Dst: gnupg_access
      Src: /src/gnupg/tools/gpg-wks-server.c:2125,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-server.c:2127,1
    - Dst: es_printf
      Src: /src/gnupg/tools/gpg-wks-server.c:2129,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-server.c:2130,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:2133,1
    - Dst: log_inc_errorcount
      Src: /src/gnupg/tools/gpg-wks-server.c:2134,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-server.c:2138,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-server.c:2138,1
    - Dst: es_printf
      Src: /src/gnupg/tools/gpg-wks-server.c:2143,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-server.c:2146,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:2150,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-server.c:2151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - userid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2113
    functionDepth: 2
    functionLinenumber: 2113
    functionLinenumberEnd: 2153
    functionName: command_check_key
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 1
    functionsReached:
    - log_error
    - log_inc_errorcount
    - gnupg_access
    - es_printf
    - wks_fname_from_userid
    - gpg_error
    - gpg_err_code
    - log_info
    - gpg_strerror
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t command_check_key (const char *userid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wks_cmd_remove_key
      Src: /src/gnupg/tools/gpg-wks-server.c:2162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mailaddr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2163
      start: 2157
    functionDepth: 3
    functionLinenumber: 2157
    functionLinenumberEnd: 2163
    functionName: command_revoke_key
    functionSourceFile: /src/gnupg/tools/gpg-wks-server.c
    functionUses: 1
    functionsReached:
    - wks_cmd_remove_key
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t command_revoke_key (const char *mailaddr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_access
      Src: /src/gnupg/tools/send-mail.c:40,1
    - Dst: log_error
      Src: /src/gnupg/tools/send-mail.c:42,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/send-mail.c:43,1
    - Dst: gnupg_exec_tool_stream
      Src: /src/gnupg/tools/send-mail.c:50,1
    - Dst: log_error
      Src: /src/gnupg/tools/send-mail.c:52,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/send-mail.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 54
    functionName: run_sendmail
    functionSourceFile: /src/gnupg/tools/send-mail.c
    functionUses: 0
    functionsReached:
    - log_error
    - gnupg_access
    - gpg_error
    - gpg_strerror
    - gnupg_exec_tool_stream
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t run_sendmail (estream_t data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_sendmail
      Src: /src/gnupg/tools/send-mail.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: send_mail
    functionSourceFile: /src/gnupg/tools/send-mail.c
    functionUses: 1
    functionsReached:
    - run_sendmail
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t send_mail (estream_t fp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/tools/send-mail.c:78,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/send-mail.c:80,1
    - Dst: strcmp
      Src: /src/gnupg/tools/send-mail.c:83,1
    - Dst: es_set_binary
      Src: /src/gnupg/tools/send-mail.c:86,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/send-mail.c:90,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/send-mail.c:93,1
    - Dst: log_error
      Src: /src/gnupg/tools/send-mail.c:94,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/send-mail.c:94,1
    - Dst: es_read
      Src: /src/gnupg/tools/send-mail.c:101,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/send-mail.c:103,1
    - Dst: log_error
      Src: /src/gnupg/tools/send-mail.c:104,1
    - Dst: es_fname_get
      Src: /src/gnupg/tools/send-mail.c:105,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/send-mail.c:105,1
    - Dst: es_write
      Src: /src/gnupg/tools/send-mail.c:115,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/send-mail.c:117,1
    - Dst: log_error
      Src: /src/gnupg/tools/send-mail.c:118,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/send-mail.c:118,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/send-mail.c:123,1
    - Dst: log_error
      Src: /src/gnupg/tools/send-mail.c:124,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/send-mail.c:135,1
    - Dst: gnupg_remove
      Src: /src/gnupg/tools/send-mail.c:136,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/send-mail.c:139,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/send-mail.c:141,1
    - Dst: log_error
      Src: /src/gnupg/tools/send-mail.c:142,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/send-mail.c:142,1
    - Dst: xfree
      Src: /src/gnupg/tools/send-mail.c:145,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 2
    argNames:
    - fp
    - fname
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 147
    functionName: send_mail_to_file
    functionSourceFile: /src/gnupg/tools/send-mail.c
    functionUses: 1
    functionsReached:
    - es_set_binary
    - es_fname_get
    - gpg_error_from_syserror
    - log_error
    - es_fclose
    - es_write
    - strcmp
    - gpg_error
    - es_read
    - es_fopen
    - gpg_strerror
    - xfree
    - gnupg_remove
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t send_mail_to_file (estream_t fp, const char *fname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnupg/tools/make-dns-cert.c:43,1
    - Dst: fprintf
      Src: /src/gnupg/tools/make-dns-cert.c:46,1
    - Dst: strerror
      Src: /src/gnupg/tools/make-dns-cert.c:46,1
    - Dst: fstat
      Src: /src/gnupg/tools/make-dns-cert.c:50,1
    - Dst: fprintf
      Src: /src/gnupg/tools/make-dns-cert.c:53,1
    - Dst: strerror
      Src: /src/gnupg/tools/make-dns-cert.c:54,1
    - Dst: fprintf
      Src: /src/gnupg/tools/make-dns-cert.c:60,1
    - Dst: fprintf
      Src: /src/gnupg/tools/make-dns-cert.c:65,1
    - Dst: printf
      Src: /src/gnupg/tools/make-dns-cert.c:68,1
    - Dst: read
      Src: /src/gnupg/tools/make-dns-cert.c:77,1
    - Dst: fprintf
      Src: /src/gnupg/tools/make-dns-cert.c:81,1
    - Dst: strerror
      Src: /src/gnupg/tools/make-dns-cert.c:82,1
    - Dst: printf
      Src: /src/gnupg/tools/make-dns-cert.c:87,1
    - Dst: printf
      Src: /src/gnupg/tools/make-dns-cert.c:90,1
    - Dst: close
      Src: /src/gnupg/tools/make-dns-cert.c:95,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - name
    - keyfile
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 98
    functionName: cert_key
    functionSourceFile: /src/gnupg/tools/make-dns-cert.c
    functionUses: 0
    functionsReached:
    - printf
    - open
    - read
    - close
    - fstat
    - fprintf
    - strerror
    linkageType: ''
    returnType: int
    signature: int cert_key(const char *name,const char *keyfile)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/tools/make-dns-cert.c:118,1
    - Dst: fprintf
      Src: /src/gnupg/tools/make-dns-cert.c:128,1
    - Dst: strlen
      Src: /src/gnupg/tools/make-dns-cert.c:137,1
    - Dst: fprintf
      Src: /src/gnupg/tools/make-dns-cert.c:141,1
    - Dst: printf
      Src: /src/gnupg/tools/make-dns-cert.c:146,1
    - Dst: printf
      Src: /src/gnupg/tools/make-dns-cert.c:149,1
    - Dst: printf
      Src: /src/gnupg/tools/make-dns-cert.c:154,1
    - Dst: printf
      Src: /src/gnupg/tools/make-dns-cert.c:156,1
    - Dst: printf
      Src: /src/gnupg/tools/make-dns-cert.c:159,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 3
    argNames:
    - name
    - fpr
    - url
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 162
    functionName: url_key
    functionSourceFile: /src/gnupg/tools/make-dns-cert.c
    functionUses: 0
    functionsReached:
    - fprintf
    - printf
    - strlen
    linkageType: ''
    returnType: int
    signature: int url_key(const char *name,const char *fpr,const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/tools/make-dns-cert.c:167,1
    - Dst: fprintf
      Src: /src/gnupg/tools/make-dns-cert.c:168,1
    - Dst: fprintf
      Src: /src/gnupg/tools/make-dns-cert.c:169,1
    - Dst: fprintf
      Src: /src/gnupg/tools/make-dns-cert.c:170,1
    - Dst: fprintf
      Src: /src/gnupg/tools/make-dns-cert.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: usage
    functionSourceFile: /src/gnupg/tools/make-dns-cert.c
    functionUses: 14
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(FILE *stream)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/gnupg/tools/make-dns-cert.c:182,1
    - Dst: strcmp
      Src: /src/gnupg/tools/make-dns-cert.c:185,1
    - Dst: printf
      Src: /src/gnupg/tools/make-dns-cert.c:188,1
    - Dst: printf
      Src: /src/gnupg/tools/make-dns-cert.c:190,1
    - Dst: atoi
      Src: /src/gnupg/tools/make-dns-cert.c:190,1
    - Dst: strcmp
      Src: /src/gnupg/tools/make-dns-cert.c:194,1
    - Dst: usage
      Src: /src/gnupg/tools/make-dns-cert.c:196,1
    - Dst: getopt
      Src: /src/gnupg/tools/make-dns-cert.c:200,1
    - Dst: usage
      Src: /src/gnupg/tools/make-dns-cert.c:205,1
    - Dst: exit
      Src: /src/gnupg/tools/make-dns-cert.c:206,1
    - Dst: fprintf
      Src: /src/gnupg/tools/make-dns-cert.c:227,1
    - Dst: fprintf
      Src: /src/gnupg/tools/make-dns-cert.c:233,1
    - Dst: cert_key
      Src: /src/gnupg/tools/make-dns-cert.c:239,1
    - Dst: url_key
      Src: /src/gnupg/tools/make-dns-cert.c:241,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 244
    functionName: main
    functionSourceFile: /src/gnupg/tools/make-dns-cert.c
    functionUses: 3
    functionsReached:
    - url_key
    - atoi
    - printf
    - exit
    - strcmp
    - fprintf
    - usage
    - cert_key
    - getopt
    linkageType: ''
    returnType: int
    signature: int main(int argc,char *argv[])
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 209
    functionName: my_strusage
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage( int level )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-wks-client.c:218,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-wks-client.c:218,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/tools/gpg-wks-client.c:219,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-wks-client.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - text
    - text2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: wrong_args
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 2
    functionsReached:
    - gpgrt_strusage
    - exit
    - es_fprintf
    - _
    linkageType: ''
    returnType: void
    signature: void wrong_args (const char *text, const char *text2)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpg-wks-client.c:232,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/tools/gpg-wks-client.c:239,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpg-wks-client.c:247,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpg-wks-client.c:250,1
    - Dst: make_filename
      Src: /src/gnupg/tools/gpg-wks-client.c:256,1
    - Dst: wks_set_status_fd
      Src: /src/gnupg/tools/gpg-wks-client.c:262,1
    - Dst: translate_sys2libc_fd_int
      Src: /src/gnupg/tools/gpg-wks-client.c:262,1
    - Dst: add_blacklist
      Src: /src/gnupg/tools/gpg-wks-client.c:271,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 2
    argNames:
    - pargs
    - popts
    argTypes:
    - gpgrt_argparse_t*
    - gpgrt_opt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 302
    functionName: parse_arguments
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 7
    functionsReached:
    - make_filename
    - add_blacklist
    - translate_sys2libc_fd_int
    - gpgrt_argparse
    - wks_set_status_fd
    - parse_debug_flag
    linkageType: ''
    returnType: enum cmd_and_opt_values
    signature: enum cmd_and_opt_values parse_arguments (gpgrt_argparse_t *pargs, gpgrt_opt_t
      *popts)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_reopen_std
      Src: /src/gnupg/tools/gpg-wks-client.c:314,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/tools/gpg-wks-client.c:315,1
    - Dst: log_set_prefix
      Src: /src/gnupg/tools/gpg-wks-client.c:316,1
    - Dst: i18n_init
      Src: /src/gnupg/tools/gpg-wks-client.c:319,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/tools/gpg-wks-client.c:320,1
    - Dst: assuan_set_gpg_err_source
      Src: /src/gnupg/tools/gpg-wks-client.c:322,1
    - Dst: setup_libassuan_logging
      Src: /src/gnupg/tools/gpg-wks-client.c:323,1
    - Dst: parse_arguments
      Src: /src/gnupg/tools/gpg-wks-client.c:332,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tools/gpg-wks-client.c:333,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:338,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:339,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:340,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-wks-client.c:343,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-wks-client.c:344,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/tools/gpg-wks-client.c:348,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/tools/gpg-wks-client.c:348,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/tools/gpg-wks-client.c:349,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tools/gpg-wks-client.c:349,1
    - Dst: parse_comopt
      Src: /src/gnupg/tools/gpg-wks-client.c:350,1
    - Dst: exit
      Src: /src/gnupg/tools/gpg-wks-client.c:351,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:362,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-wks-client.c:367,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/tools/gpg-wks-client.c:367,1
    - Dst: set_dirmngr_options
      Src: /src/gnupg/tools/gpg-wks-client.c:373,1
    - Dst: gnupg_messages_locale_name
      Src: /src/gnupg/tools/gpg-wks-client.c:379,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-wks-client.c:382,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-wks-client.c:384,1
    - Dst: strpbrk
      Src: /src/gnupg/tools/gpg-wks-client.c:385,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/tools/gpg-wks-client.c:387,1
    - Dst: gnupg_stat
      Src: /src/gnupg/tools/gpg-wks-client.c:396,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-client.c:398,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:399,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:400,1
    - Dst: S_ISDIR
      Src: /src/gnupg/tools/gpg-wks-client.c:403,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:405,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:407,1
    - Dst: command_supported
      Src: /src/gnupg/tools/gpg-wks-client.c:419,1
    - Dst: wrong_args
      Src: /src/gnupg/tools/gpg-wks-client.c:425,1
    - Dst: command_supported
      Src: /src/gnupg/tools/gpg-wks-client.c:426,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-client.c:427,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:428,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:428,1
    - Dst: wrong_args
      Src: /src/gnupg/tools/gpg-wks-client.c:434,1
    - Dst: command_create
      Src: /src/gnupg/tools/gpg-wks-client.c:435,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:437,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:437,1
    - Dst: wrong_args
      Src: /src/gnupg/tools/gpg-wks-client.c:442,1
    - Dst: wks_receive
      Src: /src/gnupg/tools/gpg-wks-client.c:443,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:445,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:445,1
    - Dst: wrong_args
      Src: /src/gnupg/tools/gpg-wks-client.c:450,1
    - Dst: read_confirmation_request
      Src: /src/gnupg/tools/gpg-wks-client.c:451,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:453,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:453,1
    - Dst: wrong_args
      Src: /src/gnupg/tools/gpg-wks-client.c:458,1
    - Dst: command_check
      Src: /src/gnupg/tools/gpg-wks-client.c:459,1
    - Dst: command_mirror
      Src: /src/gnupg/tools/gpg-wks-client.c:464,1
    - Dst: command_mirror
      Src: /src/gnupg/tools/gpg-wks-client.c:466,1
    - Dst: wks_cmd_install_key
      Src: /src/gnupg/tools/gpg-wks-client.c:471,1
    - Dst: wks_cmd_install_key
      Src: /src/gnupg/tools/gpg-wks-client.c:473,1
    - Dst: wrong_args
      Src: /src/gnupg/tools/gpg-wks-client.c:475,1
    - Dst: wrong_args
      Src: /src/gnupg/tools/gpg-wks-client.c:480,1
    - Dst: wks_cmd_remove_key
      Src: /src/gnupg/tools/gpg-wks-client.c:481,1
    - Dst: proc_userid_from_stdin
      Src: /src/gnupg/tools/gpg-wks-client.c:489,1
    - Dst: proc_userid_from_stdin
      Src: /src/gnupg/tools/gpg-wks-client.c:492,1
    - Dst: wks_cmd_print_wkd_hash
      Src: /src/gnupg/tools/gpg-wks-client.c:500,1
    - Dst: wks_cmd_print_wkd_url
      Src: /src/gnupg/tools/gpg-wks-client.c:502,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-client.c:503,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:510,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:510,1
    - Dst: gpgrt_usage
      Src: /src/gnupg/tools/gpg-wks-client.c:518,1
    - Dst: wks_write_status
      Src: /src/gnupg/tools/gpg-wks-client.c:525,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-wks-client.c:526,1
    - Dst: wks_write_status
      Src: /src/gnupg/tools/gpg-wks-client.c:527,1
    - Dst: wks_write_status
      Src: /src/gnupg/tools/gpg-wks-client.c:529,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tools/gpg-wks-client.c:530,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 150
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 531
    functionName: main
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 3
    functionsReached:
    - init_common_subsystems
    - wks_write_status
    - exit
    - gnupg_homedir
    - wks_cmd_print_wkd_url
    - xstrdup
    - gnupg_stat
    - proc_userid_from_stdin
    - gpgrt_set_strusage
    - wks_cmd_remove_key
    - log_error
    - gpgrt_usage
    - log_set_prefix
    - parse_arguments
    - command_create
    - log_get_errorcount
    - gpgrt_annotate_leaked_object
    - set_dirmngr_options
    - log_info
    - read_confirmation_request
    - wks_cmd_print_wkd_hash
    - gnupg_messages_locale_name
    - wks_cmd_install_key
    - strpbrk
    - command_check
    - gpg_error_from_syserror
    - gnupg_reopen_std
    - gnupg_module_name
    - wks_receive
    - strcmp
    - gpg_error
    - command_supported
    - gpg_strerror
    - wrong_args
    - gpgrt_argparse
    - gnupg_sysconfdir
    - command_mirror
    - i18n_init
    - parse_comopt
    - assuan_set_gpg_err_source
    - gpgrt_set_confdir
    - S_ISDIR
    - gpg_err_code
    - setup_libassuan_logging
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-wks-client.c:546,1
    - Dst: es_set_binary
      Src: /src/gnupg/tools/gpg-wks-client.c:551,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpg-wks-client.c:559,1
    - Dst: xrealloc
      Src: /src/gnupg/tools/gpg-wks-client.c:561,1
    - Dst: es_fread
      Src: /src/gnupg/tools/gpg-wks-client.c:563,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/gpg-wks-client.c:564,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:566,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:566,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:567,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpg-wks-client.c:579,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:582,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:582,1
    - Dst: fstat
      Src: /src/gnupg/tools/gpg-wks-client.c:586,1
    - Dst: es_fileno
      Src: /src/gnupg/tools/gpg-wks-client.c:586,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:588,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:588,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:589,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpg-wks-client.c:594,1
    - Dst: es_fread
      Src: /src/gnupg/tools/gpg-wks-client.c:595,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:597,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:597,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:598,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:599,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:602,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 2
    argNames:
    - fname
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 608
    functionName: read_file
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 1
    functionsReached:
    - es_set_binary
    - log_error
    - es_fclose
    - es_fread
    - strcmp
    - xmalloc
    - xrealloc
    - fstat
    - xfree
    - es_fopen
    - es_fileno
    - es_ferror
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      read_file (const char *fname, size_t *r_length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-wks-client.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg_a
    - arg_b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 617
    functionName: cmp_blacklist
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp_blacklist (const void *arg_a, const void *arg_b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/gnupg/tools/gpg-wks-client.c:631,1
    - Dst: xcalloc
      Src: /src/gnupg/tools/gpg-wks-client.c:641,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-client.c:647,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-wks-client.c:650,1
    - Dst: ascii_strlwr
      Src: /src/gnupg/tools/gpg-wks-client.c:653,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-wks-client.c:654,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-wks-client.c:658,1
    - Dst: qsort
      Src: /src/gnupg/tools/gpg-wks-client.c:660,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/tools/gpg-wks-client.c:664,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/tools/gpg-wks-client.c:665,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 666
    functionName: add_blacklist
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 1
    functionsReached:
    - log_assert
    - ascii_strlwr
    - read_file
    - trim_spaces
    - xcalloc
    - strchr
    - gpgrt_annotate_leaked_object
    - qsort
    linkageType: ''
    returnType: void
    signature: void add_blacklist (const char *fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/gnupg/tools/gpg-wks-client.c:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 677
    functionName: is_in_blacklist
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 0
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: int
    signature: int is_in_blacklist (const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_isatty
      Src: /src/gnupg/tools/gpg-wks-client.c:692,1
    - Dst: es_fileno
      Src: /src/gnupg/tools/gpg-wks-client.c:692,1
    - Dst: gnupg_isatty
      Src: /src/gnupg/tools/gpg-wks-client.c:693,1
    - Dst: es_fileno
      Src: /src/gnupg/tools/gpg-wks-client.c:693,1
    - Dst: es_setvbuf
      Src: /src/gnupg/tools/gpg-wks-client.c:695,1
    - Dst: es_setvbuf
      Src: /src/gnupg/tools/gpg-wks-client.c:696,1
    - Dst: es_fgets
      Src: /src/gnupg/tools/gpg-wks-client.c:699,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-wks-client.c:701,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:704,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:706,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:706,1
    - Dst: trim_spaces
      Src: /src/gnupg/tools/gpg-wks-client.c:709,1
    - Dst: func
      Src: /src/gnupg/tools/gpg-wks-client.c:710,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-client.c:711,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:717,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:717,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/gpg-wks-client.c:719,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-client.c:721,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:722,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:722,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 730
    functionName: proc_userid_from_stdin
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 1
    functionsReached:
    - strlen
    - log_error
    - gpg_error_from_syserror
    - es_fgets
    - trim_spaces
    - func
    - es_fileno
    - gpg_error
    - gpg_strerror
    - gpg_err_code
    - es_ferror
    - gnupg_isatty
    - es_setvbuf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t proc_userid_from_stdin (gpg_error_t (*func)(const char
      *), const char *text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ccparray_init
      Src: /src/gnupg/tools/gpg-wks-client.c:743,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:745,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:747,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:749,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:750,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:751,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:752,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:753,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:754,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:756,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/gpg-wks-client.c:757,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-client.c:760,1
    - Dst: gnupg_exec_tool_stream
      Src: /src/gnupg/tools/gpg-wks-client.c:763,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:768,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:768,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:773,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - fingerprint
    - uid
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 775
    functionName: add_user_id
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 0
    functionsReached:
    - ccparray_get
    - ccparray_put
    - gpg_error_from_syserror
    - log_error
    - ccparray_init
    - gpg_strerror
    - xfree
    - gnupg_exec_tool_stream
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t add_user_id (const char *fingerprint, const char *uid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/tools/gpg-wks-client.c:792,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-wks-client.c:793,1
    - Dst: split_fields
      Src: /src/gnupg/tools/gpg-wks-client.c:797,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-wks-client.c:797,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-wks-client.c:799,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-wks-client.c:800,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - opaque
    - keyword
    - args
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 804
    functionName: decrypt_stream_status_cb
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 0
    functionsReached:
    - split_fields
    - DIM
    - strcmp
    - xstrdup
    - log_debug
    linkageType: ''
    returnType: void
    signature: void decrypt_stream_status_cb (void *opaque, const char *keyword, char
      *args)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/gpg-wks-client.c:818,1
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/gpg-wks-client.c:820,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-client.c:823,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:824,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:824,1
    - Dst: ccparray_init
      Src: /src/gnupg/tools/gpg-wks-client.c:828,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:830,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:834,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:836,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:838,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:839,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:840,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:841,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:842,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:844,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/gpg-wks-client.c:845,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-client.c:848,1
    - Dst: gnupg_exec_tool_stream
      Src: /src/gnupg/tools/gpg-wks-client.c:851,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:855,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:858,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:858,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:862,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/gpg-wks-client.c:864,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:871,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:872,1
    - Dst: memset
      Src: /src/gnupg/tools/gpg-wks-client.c:873,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:875,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:876,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 3
    argNames:
    - r_output
    - decinfo
    - input
    argTypes:
    - estream_t*
    - struct decrypt_stream_parm_s*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 878
    functionName: decrypt_stream
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - ccparray_get
    - ccparray_put
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - ccparray_init
    - gpg_error
    - gpg_strerror
    - memset
    - log_info
    - es_rewind
    - xfree
    - gnupg_exec_tool_stream
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t decrypt_stream (estream_t *r_output, struct decrypt_stream_parm_s
      *decinfo,\n                estream_t input)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-client.c:905,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/tools/gpg-wks-client.c:912,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-wks-client.c:912,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpg-wks-client.c:913,1
    - Dst: wkd_get_policy_flags
      Src: /src/gnupg/tools/gpg-wks-client.c:920,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-client.c:921,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-client.c:922,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:925,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:926,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:932,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:934,1
    - Dst: xtrycalloc
      Src: /src/gnupg/tools/gpg-wks-client.c:938,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-client.c:940,1
    - Dst: wks_parse_policy
      Src: /src/gnupg/tools/gpg-wks-client.c:942,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:943,1
    - Dst: wkd_get_submission_address
      Src: /src/gnupg/tools/gpg-wks-client.c:948,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:952,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-wks-client.c:952,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:953,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-client.c:954,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:955,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-wks-client.c:955,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-wks-client.c:960,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:961,1
    - Dst: xtrystrdup
      Src: /src/gnupg/tools/gpg-wks-client.c:966,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-client.c:969,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-wks-client.c:983,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-wks-client.c:985,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-client.c:986,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-client.c:987,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-client.c:988,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-wks-client.c:989,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-wks-client.c:991,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-wks-client.c:994,1
    - Dst: es_putc
      Src: /src/gnupg/tools/gpg-wks-client.c:999,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:1002,1
    - Dst: wks_free_policy
      Src: /src/gnupg/tools/gpg-wks-client.c:1003,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:1004,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:1005,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 77
    argCount: 4
    argNames:
    - addrspec
    - silent
    - r_policy
    - r_submission_address
    argTypes:
    - char*
    - int
    - policy_flags_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 891
    functionDepth: 3
    functionLinenumber: 891
    functionLinenumberEnd: 1007
    functionName: get_policy_and_sa
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - strlen
    - wks_parse_policy
    - ascii_strcasecmp
    - log_error
    - es_write_sanitized
    - es_putc
    - _
    - log_info
    - wkd_get_policy_flags
    - wkd_get_submission_address
    - gpg_error_from_syserror
    - xtrystrdup
    - strchr
    - gpg_error
    - gpg_strerror
    - xfree
    - xtrycalloc
    - wks_free_policy
    - es_fclose
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_policy_and_sa (const char *addrspec, int silent,\n
      \                  policy_flags_t *r_policy, char **r_submission_address)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-client.c:1020,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpg-wks-client.c:1022,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/tools/gpg-wks-client.c:1023,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:1024,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/tools/gpg-wks-client.c:1027,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1030,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-wks-client.c:1030,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1031,1
    - Dst: get_policy_and_sa
      Src: /src/gnupg/tools/gpg-wks-client.c:1036,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-client.c:1040,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-client.c:1041,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-client.c:1042,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-client.c:1048,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-client.c:1051,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1052,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1055,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:1056,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1058,1
    - Dst: log_inc_errorcount
      Src: /src/gnupg/tools/gpg-wks-client.c:1060,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1066,1
    - Dst: wks_free_policy
      Src: /src/gnupg/tools/gpg-wks-client.c:1069,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:1070,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:1071,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:1072,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 1
    argNames:
    - userid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1012
    functionDepth: 4
    functionLinenumber: 1012
    functionLinenumberEnd: 1074
    functionName: command_supported
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 1
    functionsReached:
    - log_error
    - xstrconcat
    - log_inc_errorcount
    - _
    - get_policy_and_sa
    - strchr
    - gpg_error
    - xfree
    - gpg_err_code
    - log_info
    - gpg_strerror
    - wks_free_policy
    - mailbox_from_userid
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t command_supported (char *userid)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mailbox_from_userid
      Src: /src/gnupg/tools/gpg-wks-client.c:1090,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1093,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-wks-client.c:1093,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1094,1
    - Dst: wkd_get_key
      Src: /src/gnupg/tools/gpg-wks-client.c:1099,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-client.c:1100,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1104,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1110,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1111,1
    - Dst: log_inc_errorcount
      Src: /src/gnupg/tools/gpg-wks-client.c:1112,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1117,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:1118,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1119,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1123,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:1124,1
    - Dst: wks_list_key
      Src: /src/gnupg/tools/gpg-wks-client.c:1132,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1135,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:1135,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1136,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1141,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-wks-client.c:1145,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1149,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1150,1
    - Dst: asctimestamp
      Src: /src/gnupg/tools/gpg-wks-client.c:1150,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1152,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1154,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1160,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1162,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/gpg-wks-client.c:1171,1
    - Dst: wks_write_to_file
      Src: /src/gnupg/tools/gpg-wks-client.c:1172,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1174,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:1175,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:1179,1
    - Dst: free_uidinfo_list
      Src: /src/gnupg/tools/gpg-wks-client.c:1180,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:1181,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:1182,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 72
    argCount: 1
    argNames:
    - userid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1079
    functionDepth: 3
    functionLinenumber: 1079
    functionLinenumberEnd: 1184
    functionName: command_check
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 1
    functionsReached:
    - asctimestamp
    - wks_write_to_file
    - log_error
    - log_inc_errorcount
    - es_fclose
    - _
    - strcmp
    - gpg_error
    - es_rewind
    - gpg_err_code
    - log_info
    - gpg_strerror
    - xfree
    - wks_list_key
    - wkd_get_key
    - free_uidinfo_list
    - mailbox_from_userid
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t command_check (char *userid)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: classify_user_id
      Src: /src/gnupg/tools/gpg-wks-client.c:1209,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1212,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-wks-client.c:1212,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1213,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/tools/gpg-wks-client.c:1217,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1220,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-wks-client.c:1220,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1221,1
    - Dst: wks_get_key
      Src: /src/gnupg/tools/gpg-wks-client.c:1224,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-client.c:1228,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpg-wks-client.c:1229,1
    - Dst: xcalloc
      Src: /src/gnupg/tools/gpg-wks-client.c:1235,1
    - Dst: xstrdup
      Src: /src/gnupg/tools/gpg-wks-client.c:1236,1
    - Dst: get_policy_and_sa
      Src: /src/gnupg/tools/gpg-wks-client.c:1241,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1246,1
    - Dst: _
      Src: /src/gnupg/tools/gpg-wks-client.c:1246,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1247,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1252,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1255,1
    - Dst: wks_list_key
      Src: /src/gnupg/tools/gpg-wks-client.c:1259,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1262,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:1262,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1263,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-wks-client.c:1273,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1278,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1292,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1294,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1299,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/gpg-wks-client.c:1307,1
    - Dst: wks_filter_uid
      Src: /src/gnupg/tools/gpg-wks-client.c:1308,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1311,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:1311,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1312,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:1315,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-wks-client.c:1320,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1322,1
    - Dst: add_user_id
      Src: /src/gnupg/tools/gpg-wks-client.c:1324,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:1331,1
    - Dst: wks_get_key
      Src: /src/gnupg/tools/gpg-wks-client.c:1333,1
    - Dst: es_fseek
      Src: /src/gnupg/tools/gpg-wks-client.c:1340,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-client.c:1342,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1343,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:1343,1
    - Dst: wks_find_add_revocs
      Src: /src/gnupg/tools/gpg-wks-client.c:1346,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1349,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:1350,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-wks-client.c:1358,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1360,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpg-wks-client.c:1371,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/gpg-wks-client.c:1378,1
    - Dst: wks_armor_key
      Src: /src/gnupg/tools/gpg-wks-client.c:1379,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:1380,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1383,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:1383,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:1386,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/gpg-wks-client.c:1393,1
    - Dst: encrypt_response
      Src: /src/gnupg/tools/gpg-wks-client.c:1394,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:1397,1
    - Dst: mime_maker_new
      Src: /src/gnupg/tools/gpg-wks-client.c:1402,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-client.c:1405,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-client.c:1408,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-client.c:1411,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-client.c:1416,1
    - Dst: STR2
      Src: /src/gnupg/tools/gpg-wks-client.c:1417,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-client.c:1430,1
    - Dst: mime_maker_add_container
      Src: /src/gnupg/tools/gpg-wks-client.c:1433,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-client.c:1438,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-client.c:1441,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/tools/gpg-wks-client.c:1445,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-client.c:1447,1
    - Dst: mime_maker_add_body_data
      Src: /src/gnupg/tools/gpg-wks-client.c:1451,1
    - Dst: es_free
      Src: /src/gnupg/tools/gpg-wks-client.c:1452,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-client.c:1458,1
    - Dst: mime_maker_add_container
      Src: /src/gnupg/tools/gpg-wks-client.c:1463,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-client.c:1467,1
    - Dst: mime_maker_add_body
      Src: /src/gnupg/tools/gpg-wks-client.c:1471,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-client.c:1474,1
    - Dst: mime_maker_add_stream
      Src: /src/gnupg/tools/gpg-wks-client.c:1479,1
    - Dst: wks_send_mime
      Src: /src/gnupg/tools/gpg-wks-client.c:1484,1
    - Dst: mime_maker_release
      Src: /src/gnupg/tools/gpg-wks-client.c:1487,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:1488,1
    - Dst: free_uidinfo_list
      Src: /src/gnupg/tools/gpg-wks-client.c:1489,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:1490,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:1491,1
    - Dst: wks_free_policy
      Src: /src/gnupg/tools/gpg-wks-client.c:1492,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:1493,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:1494,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 227
    argCount: 2
    argNames:
    - fingerprint
    - userid
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1190
    functionDepth: 5
    functionLinenumber: 1190
    functionLinenumberEnd: 1496
    functionName: command_create
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 1
    functionsReached:
    - wks_send_mime
    - log_assert
    - STR2
    - es_fseek
    - ascii_strcasecmp
    - xstrdup
    - mime_maker_add_body
    - log_error
    - es_free
    - mime_maker_release
    - wks_find_add_revocs
    - _
    - get_policy_and_sa
    - es_rewind
    - log_info
    - mime_maker_add_header
    - encrypt_response
    - wks_list_key
    - wks_get_key
    - mime_maker_add_body_data
    - gpg_error_from_syserror
    - mime_maker_new
    - mime_maker_add_container
    - gpg_error
    - strchr
    - gpg_strerror
    - add_user_id
    - xfree
    - wks_free_policy
    - free_uidinfo_list
    - wks_armor_key
    - mailbox_from_userid
    - es_fclose_snatch
    - xstrconcat
    - es_fclose
    - xcalloc
    - classify_user_id
    - mime_maker_add_stream
    - wks_filter_uid
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t command_create (const char *fingerprint, const char *userid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/tools/gpg-wks-client.c:1507,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-wks-client.c:1509,1
    - Dst: split_fields
      Src: /src/gnupg/tools/gpg-wks-client.c:1511,1
    - Dst: DIM
      Src: /src/gnupg/tools/gpg-wks-client.c:1511,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-wks-client.c:1512,1
    - Dst: strtoul
      Src: /src/gnupg/tools/gpg-wks-client.c:1513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - opaque
    - keyword
    - args
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1500
    functionDepth: 1
    functionLinenumber: 1500
    functionLinenumberEnd: 1516
    functionName: encrypt_response_status_cb
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 0
    functionsReached:
    - split_fields
    - DIM
    - strcmp
    - strtoul
    - log_debug
    linkageType: ''
    returnType: void
    signature: void encrypt_response_status_cb (void *opaque, const char *keyword,
      char *args)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/gpg-wks-client.c:1539,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-client.c:1542,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1543,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:1543,1
    - Dst: ccparray_init
      Src: /src/gnupg/tools/gpg-wks-client.c:1547,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:1549,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:1551,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:1553,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:1554,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:1555,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:1556,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:1557,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:1558,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:1560,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:1562,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:1563,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:1564,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:1565,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:1566,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:1567,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:1568,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpg-wks-client.c:1570,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/gpg-wks-client.c:1571,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-client.c:1574,1
    - Dst: gnupg_exec_tool_stream
      Src: /src/gnupg/tools/gpg-wks-client.c:1577,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1584,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:1584,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/gpg-wks-client.c:1588,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:1593,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:1594,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 4
    argNames:
    - r_output
    - input
    - addrspec
    - fingerprint
    argTypes:
    - estream_t*
    - estream_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1527
    functionDepth: 1
    functionLinenumber: 1527
    functionLinenumberEnd: 1596
    functionName: encrypt_response
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 1
    functionsReached:
    - es_fopenmem
    - ccparray_get
    - ccparray_put
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - ccparray_init
    - es_rewind
    - gpg_strerror
    - xfree
    - gnupg_exec_tool_stream
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t encrypt_response (estream_t *r_output, estream_t input,
      const char *addrspec,\n                  const char *fingerprint)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/tools/gpg-wks-client.c:1609,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-client.c:1612,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1613,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:1613,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-wks-client.c:1621,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpg-wks-client.c:1628,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/gpg-wks-client.c:1636,1
    - Dst: encrypt_response
      Src: /src/gnupg/tools/gpg-wks-client.c:1639,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:1642,1
    - Dst: mime_maker_new
      Src: /src/gnupg/tools/gpg-wks-client.c:1646,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-client.c:1649,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-client.c:1652,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-client.c:1655,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-client.c:1658,1
    - Dst: STR2
      Src: /src/gnupg/tools/gpg-wks-client.c:1659,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-client.c:1665,1
    - Dst: mime_maker_add_container
      Src: /src/gnupg/tools/gpg-wks-client.c:1670,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-client.c:1674,1
    - Dst: mime_maker_add_body
      Src: /src/gnupg/tools/gpg-wks-client.c:1678,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-client.c:1681,1
    - Dst: mime_maker_add_stream
      Src: /src/gnupg/tools/gpg-wks-client.c:1686,1
    - Dst: mime_maker_add_header
      Src: /src/gnupg/tools/gpg-wks-client.c:1692,1
    - Dst: mime_maker_add_stream
      Src: /src/gnupg/tools/gpg-wks-client.c:1696,1
    - Dst: wks_send_mime
      Src: /src/gnupg/tools/gpg-wks-client.c:1701,1
    - Dst: mime_maker_release
      Src: /src/gnupg/tools/gpg-wks-client.c:1704,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:1705,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:1706,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 82
    argCount: 5
    argNames:
    - sender
    - address
    - nonce
    - encrypt
    - fingerprint
    argTypes:
    - char*
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1599
    functionDepth: 5
    functionLinenumber: 1599
    functionLinenumberEnd: 1708
    functionName: send_confirmation_response
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - es_fprintf
    - wks_send_mime
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - STR2
    - mime_maker_release
    - mime_maker_new
    - mime_maker_add_container
    - es_rewind
    - gpg_strerror
    - mime_maker_add_header
    - encrypt_response
    - mime_maker_add_stream
    - mime_maker_add_body
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t send_confirmation_response (const char *sender, const
      char *address,\n                            const char *nonce, int encrypt,\n
      \                           const char *fingerprint)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nvc_parse
      Src: /src/gnupg/tools/gpg-wks-client.c:1723,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1726,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:1726,1
    - Dst: log_debug
      Src: /src/gnupg/tools/gpg-wks-client.c:1732,1
    - Dst: nvc_write
      Src: /src/gnupg/tools/gpg-wks-client.c:1733,1
    - Dst: log_get_stream
      Src: /src/gnupg/tools/gpg-wks-client.c:1733,1
    - Dst: nvc_lookup
      Src: /src/gnupg/tools/gpg-wks-client.c:1737,1
    - Dst: nve_value
      Src: /src/gnupg/tools/gpg-wks-client.c:1737,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-wks-client.c:1738,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1741,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1743,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1744,1
    - Dst: nvc_lookup
      Src: /src/gnupg/tools/gpg-wks-client.c:1749,1
    - Dst: nve_value
      Src: /src/gnupg/tools/gpg-wks-client.c:1750,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-wks-client.c:1751,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1753,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1755,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-wks-client.c:1763,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1765,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1766,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1767,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1770,1
    - Dst: nvc_lookup
      Src: /src/gnupg/tools/gpg-wks-client.c:1776,1
    - Dst: nve_value
      Src: /src/gnupg/tools/gpg-wks-client.c:1776,1
    - Dst: is_valid_mailbox
      Src: /src/gnupg/tools/gpg-wks-client.c:1777,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1779,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1781,1
    - Dst: nvc_lookup
      Src: /src/gnupg/tools/gpg-wks-client.c:1789,1
    - Dst: nve_value
      Src: /src/gnupg/tools/gpg-wks-client.c:1789,1
    - Dst: is_valid_mailbox
      Src: /src/gnupg/tools/gpg-wks-client.c:1790,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1792,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1794,1
    - Dst: nvc_lookup
      Src: /src/gnupg/tools/gpg-wks-client.c:1801,1
    - Dst: nve_value
      Src: /src/gnupg/tools/gpg-wks-client.c:1801,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpg-wks-client.c:1802,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1804,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1806,1
    - Dst: send_confirmation_response
      Src: /src/gnupg/tools/gpg-wks-client.c:1813,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpg-wks-client.c:1814,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1816,1
    - Dst: send_confirmation_response
      Src: /src/gnupg/tools/gpg-wks-client.c:1817,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1820,1
    - Dst: nvc_release
      Src: /src/gnupg/tools/gpg-wks-client.c:1823,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 68
    argCount: 2
    argNames:
    - msg
    - mainfpr
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1715
    functionDepth: 6
    functionLinenumber: 1715
    functionLinenumberEnd: 1825
    functionName: process_confirmation_request
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 0
    functionsReached:
    - log_get_stream
    - nvc_parse
    - log_error
    - strlen
    - send_confirmation_response
    - nvc_release
    - strcmp
    - gpg_error
    - nve_value
    - gpg_strerror
    - nvc_lookup
    - ascii_strcasecmp
    - log_info
    - nvc_write
    - is_valid_mailbox
    - gpg_err_code
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t process_confirmation_request (estream_t msg, const char
      *mainfpr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: es_fgetc
      Src: /src/gnupg/tools/gpg-wks-client.c:1843,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1847,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1848,1
    - Dst: es_ungetc
      Src: /src/gnupg/tools/gpg-wks-client.c:1850,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1852,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1853,1
    - Dst: process_confirmation_request
      Src: /src/gnupg/tools/gpg-wks-client.c:1857,1
    - Dst: decrypt_stream
      Src: /src/gnupg/tools/gpg-wks-client.c:1862,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1864,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:1864,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1867,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1868,1
    - Dst: process_confirmation_request
      Src: /src/gnupg/tools/gpg-wks-client.c:1872,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:1873,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:1874,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:1877,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - msg
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1879
      start: 1831
    functionDepth: 7
    functionLinenumber: 1831
    functionLinenumberEnd: 1879
    functionName: read_confirmation_request
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 1
    functionsReached:
    - log_error
    - es_fclose
    - es_ungetc
    - gpg_error
    - decrypt_stream
    - gpg_strerror
    - xfree
    - es_fgetc
    - process_confirmation_request
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_confirmation_request (estream_t msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-wks-client.c:1893,1
    - Dst: read_confirmation_request
      Src: /src/gnupg/tools/gpg-wks-client.c:1894,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:1897,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - opaque
    - mediatype
    - language
    - msg
    - flags
    argTypes:
    - void*
    - char*
    - char*
    - estream_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1883
    functionDepth: 8
    functionLinenumber: 1883
    functionLinenumberEnd: 1902
    functionName: command_receive_cb
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gpg_error
    - read_confirmation_request
    - log_info
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t command_receive_cb (void *opaque, const char *mediatype,
      const char *language,\n                    estream_t msg, unsigned int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-client.c:1925,1
    - Dst: strchr
      Src: /src/gnupg/tools/gpg-wks-client.c:1931,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/tools/gpg-wks-client.c:1936,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - domain
    - mbox
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1918
    functionDepth: 0
    functionLinenumber: 1918
    functionLinenumberEnd: 1937
    functionName: domain_matches_mbox
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 0
    functionsReached:
    - strchr
    - ascii_strcasecmp
    linkageType: ''
    returnType: int
    signature: int domain_matches_mbox (const char *domain, const char *mbox)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/gpg-wks-client.c:1964,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1979,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1980,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/gpg-wks-client.c:1985,1
    - Dst: wks_filter_uid
      Src: /src/gnupg/tools/gpg-wks-client.c:1986,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1989,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:1989,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1990,1
    - Dst: es_fseek
      Src: /src/gnupg/tools/gpg-wks-client.c:1996,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpg-wks-client.c:1998,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:1999,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:1999,1
    - Dst: wks_find_add_revocs
      Src: /src/gnupg/tools/gpg-wks-client.c:2002,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:2005,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:2006,1
    - Dst: es_rewind
      Src: /src/gnupg/tools/gpg-wks-client.c:2009,1
    - Dst: wks_install_key_core
      Src: /src/gnupg/tools/gpg-wks-client.c:2012,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:2014,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:2017,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpg-wks-client.c:2021,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 4
    argNames:
    - key
    - mbox
    - uidlist
    - fpr
    argTypes:
    - estream_t
    - char*
    - uidinfo_list_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 1950
    functionDepth: 3
    functionLinenumber: 1950
    functionLinenumberEnd: 2023
    functionName: mirror_one_keys_userid
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - wks_find_add_revocs
    - strcmp
    - es_fseek
    - gpg_error
    - es_rewind
    - gpg_strerror
    - log_info
    - wks_filter_uid
    - wks_install_key_core
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t mirror_one_keys_userid (estream_t key, const char *mbox,
      uidinfo_list_t uidlist,\n                        const char *fpr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wks_list_key
      Src: /src/gnupg/tools/gpg-wks-client.c:2038,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:2041,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:2042,1
    - Dst: domain_matches_mbox
      Src: /src/gnupg/tools/gpg-wks-client.c:2053,1
    - Dst: is_in_blacklist
      Src: /src/gnupg/tools/gpg-wks-client.c:2055,1
    - Dst: mirror_one_keys_userid
      Src: /src/gnupg/tools/gpg-wks-client.c:2058,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:2061,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:2062,1
    - Dst: free_uidinfo_list
      Src: /src/gnupg/tools/gpg-wks-client.c:2072,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:2073,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 1
    argNames:
    - key
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2028
    functionDepth: 4
    functionLinenumber: 2028
    functionLinenumberEnd: 2075
    functionName: mirror_one_key
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 0
    functionsReached:
    - domain_matches_mbox
    - log_error
    - mirror_one_keys_userid
    - gpg_strerror
    - xfree
    - is_in_blacklist
    - wks_list_key
    - free_uidinfo_list
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t mirror_one_key (estream_t key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wkd_dirmngr_ks_get
      Src: /src/gnupg/tools/gpg-wks-client.c:2095,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:2105,1
    - Dst: xstrconcat
      Src: /src/gnupg/tools/gpg-wks-client.c:2106,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:2111,1
    - Dst: wkd_dirmngr_ks_get
      Src: /src/gnupg/tools/gpg-wks-client.c:2112,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:2119,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpg-wks-client.c:2122,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpg-wks-client.c:2123,1
    - Dst: gpg_strsource
      Src: /src/gnupg/tools/gpg-wks-client.c:2123,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpg-wks-client.c:2125,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpg-wks-client.c:2127,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - domainlist
    argTypes:
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2129
      start: 2081
    functionDepth: 3
    functionLinenumber: 2081
    functionLinenumberEnd: 2129
    functionName: command_mirror
    functionSourceFile: /src/gnupg/tools/gpg-wks-client.c
    functionUses: 1
    functionsReached:
    - log_error
    - xstrconcat
    - log_info
    - xfree
    - gpg_strerror
    - gpg_strsource
    - wkd_dirmngr_ks_get
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t command_mirror (char *domainlist[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/gnupg/tools/watchgnupg.c:72,1
    - Dst: fprintf
      Src: /src/gnupg/tools/watchgnupg.c:73,1
    - Dst: va_start
      Src: /src/gnupg/tools/watchgnupg.c:75,1
    - Dst: vfprintf
      Src: /src/gnupg/tools/watchgnupg.c:76,1
    - Dst: va_end
      Src: /src/gnupg/tools/watchgnupg.c:77,1
    - Dst: putc
      Src: /src/gnupg/tools/watchgnupg.c:78,1
    - Dst: exit
      Src: /src/gnupg/tools/watchgnupg.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: die
    functionSourceFile: /src/gnupg/tools/watchgnupg.c
    functionUses: 6
    functionsReached:
    - va_end
    - vfprintf
    - exit
    - fprintf
    - fflush
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void die (const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/gnupg/tools/watchgnupg.c:89,1
    - Dst: fprintf
      Src: /src/gnupg/tools/watchgnupg.c:90,1
    - Dst: va_start
      Src: /src/gnupg/tools/watchgnupg.c:92,1
    - Dst: vfprintf
      Src: /src/gnupg/tools/watchgnupg.c:93,1
    - Dst: va_end
      Src: /src/gnupg/tools/watchgnupg.c:94,1
    - Dst: putc
      Src: /src/gnupg/tools/watchgnupg.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: err
    functionSourceFile: /src/gnupg/tools/watchgnupg.c
    functionUses: 4
    functionsReached:
    - va_end
    - vfprintf
    - fprintf
    - fflush
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void err (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/tools/watchgnupg.c:101,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: xmalloc
    functionSourceFile: /src/gnupg/tools/watchgnupg.c
    functionUses: 29
    functionsReached:
    - die
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xmalloc (size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnupg/tools/watchgnupg.c:110,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: xcalloc
    functionSourceFile: /src/gnupg/tools/watchgnupg.c
    functionUses: 8
    functionsReached:
    - die
    - calloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xcalloc (size_t n, size_t m)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnupg/tools/watchgnupg.c:119,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - old
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: xrealloc
    functionSourceFile: /src/gnupg/tools/watchgnupg.c
    functionUses: 4
    functionsReached:
    - die
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xrealloc (void *old, size_t n)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/gnupg/tools/watchgnupg.c:154,1
    - Dst: printf
      Src: /src/gnupg/tools/watchgnupg.c:163,1
    - Dst: time
      Src: /src/gnupg/tools/watchgnupg.c:168,1
    - Dst: localtime
      Src: /src/gnupg/tools/watchgnupg.c:169,1
    - Dst: printf
      Src: /src/gnupg/tools/watchgnupg.c:171,1
    - Dst: printf
      Src: /src/gnupg/tools/watchgnupg.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 179
    functionName: print_fd_and_time
    functionSourceFile: /src/gnupg/tools/watchgnupg.c
    functionUses: 0
    functionsReached:
    - localtime
    - time
    - printf
    - clock_gettime
    linkageType: ''
    returnType: void
    signature: void print_fd_and_time (int fd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: print_fd_and_time
      Src: /src/gnupg/tools/watchgnupg.c:194,1
    - Dst: fwrite
      Src: /src/gnupg/tools/watchgnupg.c:195,1
    - Dst: putc
      Src: /src/gnupg/tools/watchgnupg.c:196,1
    - Dst: strchr
      Src: /src/gnupg/tools/watchgnupg.c:202,1
    - Dst: print_fd_and_time
      Src: /src/gnupg/tools/watchgnupg.c:204,1
    - Dst: fwrite
      Src: /src/gnupg/tools/watchgnupg.c:207,1
    - Dst: fwrite
      Src: /src/gnupg/tools/watchgnupg.c:210,1
    - Dst: strlen
      Src: /src/gnupg/tools/watchgnupg.c:213,1
    - Dst: xrealloc
      Src: /src/gnupg/tools/watchgnupg.c:220,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/watchgnupg.c:221,1
    - Dst: memcpy
      Src: /src/gnupg/tools/watchgnupg.c:223,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - c
    - line
    argTypes:
    - client_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 226
    functionName: print_line
    functionSourceFile: /src/gnupg/tools/watchgnupg.c
    functionUses: 0
    functionsReached:
    - fwrite
    - strlen
    - print_fd_and_time
    - xrealloc
    - xmalloc
    - strchr
    - memcpy
    - putc
    linkageType: ''
    returnType: void
    signature: void print_line (client_t c, const char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: accept
      Src: /src/gnupg/tools/watchgnupg.c:250,1
    - Dst: printf
      Src: /src/gnupg/tools/watchgnupg.c:253,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:254,1
    - Dst: close
      Src: /src/gnupg/tools/watchgnupg.c:258,1
    - Dst: printf
      Src: /src/gnupg/tools/watchgnupg.c:259,1
    - Dst: xcalloc
      Src: /src/gnupg/tools/watchgnupg.c:268,1
    - Dst: printf
      Src: /src/gnupg/tools/watchgnupg.c:273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - server_fd
    - is_un
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 276
    functionName: setup_client
    functionSourceFile: /src/gnupg/tools/watchgnupg.c
    functionUses: 0
    functionsReached:
    - printf
    - close
    - xcalloc
    - accept
    - strerror
    linkageType: ''
    returnType: void
    signature: void setup_client (int server_fd, int is_un)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/gnupg/tools/watchgnupg.c:291,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:292,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:292,1
    - Dst: fork
      Src: /src/gnupg/tools/watchgnupg.c:294,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:296,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:296,1
    - Dst: open
      Src: /src/gnupg/tools/watchgnupg.c:302,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:304,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:304,1
    - Dst: dup2
      Src: /src/gnupg/tools/watchgnupg.c:305,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:306,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:306,1
    - Dst: dup2
      Src: /src/gnupg/tools/watchgnupg.c:309,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:310,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:310,1
    - Dst: close
      Src: /src/gnupg/tools/watchgnupg.c:315,1
    - Dst: execlp
      Src: /src/gnupg/tools/watchgnupg.c:319,1
    - Dst: execlp
      Src: /src/gnupg/tools/watchgnupg.c:322,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:324,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:324,1
    - Dst: close
      Src: /src/gnupg/tools/watchgnupg.c:328,1
    - Dst: fdopen
      Src: /src/gnupg/tools/watchgnupg.c:330,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:332,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:332,1
    - Dst: getc
      Src: /src/gnupg/tools/watchgnupg.c:335,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:338,1
    - Dst: fclose
      Src: /src/gnupg/tools/watchgnupg.c:343,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:345,1
    - Dst: waitpid
      Src: /src/gnupg/tools/watchgnupg.c:347,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:350,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:350,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/watchgnupg.c:352,1
    - Dst: strlen
      Src: /src/gnupg/tools/watchgnupg.c:352,1
    - Dst: strcpy
      Src: /src/gnupg/tools/watchgnupg.c:353,1
    - Dst: strcat
      Src: /src/gnupg/tools/watchgnupg.c:354,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 1
    argNames:
    - homedir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 357
    functionName: get_logname
    functionSourceFile: /src/gnupg/tools/watchgnupg.c
    functionUses: 0
    functionsReached:
    - pipe
    - fdopen
    - open
    - strlen
    - getc
    - close
    - fclose
    - xmalloc
    - dup2
    - strcpy
    - waitpid
    - die
    - execlp
    - fork
    - strerror
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      get_logname (const char *homedir)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnupg/tools/watchgnupg.c:363,1
    - Dst: fputs
      Src: /src/gnupg/tools/watchgnupg.c:371,1
    - Dst: exit
      Src: /src/gnupg/tools/watchgnupg.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - with_help
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 390
    functionName: print_version
    functionSourceFile: /src/gnupg/tools/watchgnupg.c
    functionUses: 0
    functionsReached:
    - exit
    - fputs
    linkageType: ''
    returnType: void
    signature: void print_version (int with_help)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/watchgnupg.c:417,1
    - Dst: strcmp
      Src: /src/gnupg/tools/watchgnupg.c:422,1
    - Dst: print_version
      Src: /src/gnupg/tools/watchgnupg.c:423,1
    - Dst: strcmp
      Src: /src/gnupg/tools/watchgnupg.c:424,1
    - Dst: print_version
      Src: /src/gnupg/tools/watchgnupg.c:425,1
    - Dst: strcmp
      Src: /src/gnupg/tools/watchgnupg.c:426,1
    - Dst: strcmp
      Src: /src/gnupg/tools/watchgnupg.c:431,1
    - Dst: strcmp
      Src: /src/gnupg/tools/watchgnupg.c:436,1
    - Dst: strcmp
      Src: /src/gnupg/tools/watchgnupg.c:441,1
    - Dst: strcmp
      Src: /src/gnupg/tools/watchgnupg.c:446,1
    - Dst: strcmp
      Src: /src/gnupg/tools/watchgnupg.c:451,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:455,1
    - Dst: get_logname
      Src: /src/gnupg/tools/watchgnupg.c:470,1
    - Dst: fprintf
      Src: /src/gnupg/tools/watchgnupg.c:475,1
    - Dst: exit
      Src: /src/gnupg/tools/watchgnupg.c:477,1
    - Dst: atoi
      Src: /src/gnupg/tools/watchgnupg.c:482,1
    - Dst: setvbuf
      Src: /src/gnupg/tools/watchgnupg.c:492,1
    - Dst: socket
      Src: /src/gnupg/tools/watchgnupg.c:497,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:499,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:499,1
    - Dst: setsockopt
      Src: /src/gnupg/tools/watchgnupg.c:500,1
    - Dst: err
      Src: /src/gnupg/tools/watchgnupg.c:502,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:502,1
    - Dst: fprintf
      Src: /src/gnupg/tools/watchgnupg.c:504,1
    - Dst: socket
      Src: /src/gnupg/tools/watchgnupg.c:511,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:513,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:513,1
    - Dst: fprintf
      Src: /src/gnupg/tools/watchgnupg.c:515,1
    - Dst: fcntl
      Src: /src/gnupg/tools/watchgnupg.c:525,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:527,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:527,1
    - Dst: fcntl
      Src: /src/gnupg/tools/watchgnupg.c:528,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:529,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:529,1
    - Dst: fcntl
      Src: /src/gnupg/tools/watchgnupg.c:533,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:535,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:535,1
    - Dst: fcntl
      Src: /src/gnupg/tools/watchgnupg.c:536,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:537,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:537,1
    - Dst: memset
      Src: /src/gnupg/tools/watchgnupg.c:542,1
    - Dst: htons
      Src: /src/gnupg/tools/watchgnupg.c:544,1
    - Dst: htonl
      Src: /src/gnupg/tools/watchgnupg.c:545,1
    - Dst: memset
      Src: /src/gnupg/tools/watchgnupg.c:551,1
    - Dst: strncpy
      Src: /src/gnupg/tools/watchgnupg.c:553,1
    - Dst: SUN_LEN
      Src: /src/gnupg/tools/watchgnupg.c:557,1
    - Dst: bind
      Src: /src/gnupg/tools/watchgnupg.c:562,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:563,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:563,1
    - Dst: bind
      Src: /src/gnupg/tools/watchgnupg.c:566,1
    - Dst: remove
      Src: /src/gnupg/tools/watchgnupg.c:571,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:575,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:575,1
    - Dst: listen
      Src: /src/gnupg/tools/watchgnupg.c:578,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:579,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:579,1
    - Dst: listen
      Src: /src/gnupg/tools/watchgnupg.c:580,1
    - Dst: die
      Src: /src/gnupg/tools/watchgnupg.c:581,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:581,1
    - Dst: FD_ZERO
      Src: /src/gnupg/tools/watchgnupg.c:592,1
    - Dst: FD_SET
      Src: /src/gnupg/tools/watchgnupg.c:596,1
    - Dst: FD_SET
      Src: /src/gnupg/tools/watchgnupg.c:601,1
    - Dst: FD_SET
      Src: /src/gnupg/tools/watchgnupg.c:608,1
    - Dst: select
      Src: /src/gnupg/tools/watchgnupg.c:613,1
    - Dst: FD_ISSET
      Src: /src/gnupg/tools/watchgnupg.c:616,1
    - Dst: setup_client
      Src: /src/gnupg/tools/watchgnupg.c:617,1
    - Dst: FD_ISSET
      Src: /src/gnupg/tools/watchgnupg.c:618,1
    - Dst: setup_client
      Src: /src/gnupg/tools/watchgnupg.c:619,1
    - Dst: FD_ISSET
      Src: /src/gnupg/tools/watchgnupg.c:622,1
    - Dst: read
      Src: /src/gnupg/tools/watchgnupg.c:627,1
    - Dst: print_line
      Src: /src/gnupg/tools/watchgnupg.c:631,1
    - Dst: printf
      Src: /src/gnupg/tools/watchgnupg.c:632,1
    - Dst: strerror
      Src: /src/gnupg/tools/watchgnupg.c:633,1
    - Dst: close
      Src: /src/gnupg/tools/watchgnupg.c:634,1
    - Dst: print_line
      Src: /src/gnupg/tools/watchgnupg.c:639,1
    - Dst: close
      Src: /src/gnupg/tools/watchgnupg.c:640,1
    - Dst: printf
      Src: /src/gnupg/tools/watchgnupg.c:641,1
    - Dst: print_line
      Src: /src/gnupg/tools/watchgnupg.c:647,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 182
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 653
    functionName: main
    functionSourceFile: /src/gnupg/tools/watchgnupg.c
    functionUses: 3
    functionsReached:
    - print_line
    - setsockopt
    - exit
    - bind
    - htons
    - print_version
    - FD_ISSET
    - htonl
    - err
    - strncpy
    - printf
    - setup_client
    - close
    - remove
    - listen
    - FD_SET
    - die
    - socket
    - strcmp
    - fprintf
    - memset
    - fcntl
    - FD_ZERO
    - select
    - get_logname
    - atoi
    - read
    - SUN_LEN
    - setvbuf
    - strerror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/gnupg/tools/gpgparsemail.c:90,1
    - Dst: fprintf
      Src: /src/gnupg/tools/gpgparsemail.c:91,1
    - Dst: va_start
      Src: /src/gnupg/tools/gpgparsemail.c:93,1
    - Dst: vfprintf
      Src: /src/gnupg/tools/gpgparsemail.c:94,1
    - Dst: va_end
      Src: /src/gnupg/tools/gpgparsemail.c:95,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgparsemail.c:96,1
    - Dst: exit
      Src: /src/gnupg/tools/gpgparsemail.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: die
    functionSourceFile: /src/gnupg/tools/gpgparsemail.c
    functionUses: 11
    functionsReached:
    - va_end
    - vfprintf
    - exit
    - fprintf
    - fflush
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void die (const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/gnupg/tools/gpgparsemail.c:108,1
    - Dst: fprintf
      Src: /src/gnupg/tools/gpgparsemail.c:109,1
    - Dst: va_start
      Src: /src/gnupg/tools/gpgparsemail.c:111,1
    - Dst: vfprintf
      Src: /src/gnupg/tools/gpgparsemail.c:112,1
    - Dst: va_end
      Src: /src/gnupg/tools/gpgparsemail.c:113,1
    - Dst: putc
      Src: /src/gnupg/tools/gpgparsemail.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: err
    functionSourceFile: /src/gnupg/tools/gpgparsemail.c
    functionUses: 5
    functionsReached:
    - va_end
    - vfprintf
    - fprintf
    - fflush
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void err (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/tools/gpgparsemail.c:120,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:122,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgparsemail.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: xmalloc
    functionSourceFile: /src/gnupg/tools/gpgparsemail.c
    functionUses: 31
    functionsReached:
    - die
    - strerror
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xmalloc (size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: stpcpy
    functionSourceFile: /src/gnupg/tools/gpgparsemail.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      stpcpy (char *a,const char *b)'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/gnupg/tools/gpgparsemail.c:176,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:177,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgparsemail.c:177,1
    - Dst: fork
      Src: /src/gnupg/tools/gpgparsemail.c:179,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:181,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgparsemail.c:181,1
    - Dst: dup2
      Src: /src/gnupg/tools/gpgparsemail.c:191,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:192,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgparsemail.c:192,1
    - Dst: sprintf
      Src: /src/gnupg/tools/gpgparsemail.c:199,1
    - Dst: open
      Src: /src/gnupg/tools/gpgparsemail.c:202,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:204,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgparsemail.c:204,1
    - Dst: dup2
      Src: /src/gnupg/tools/gpgparsemail.c:207,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:208,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgparsemail.c:208,1
    - Dst: dup2
      Src: /src/gnupg/tools/gpgparsemail.c:214,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:215,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgparsemail.c:215,1
    - Dst: close
      Src: /src/gnupg/tools/gpgparsemail.c:221,1
    - Dst: execlp
      Src: /src/gnupg/tools/gpgparsemail.c:225,1
    - Dst: execlp
      Src: /src/gnupg/tools/gpgparsemail.c:234,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:243,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgparsemail.c:243,1
    - Dst: close
      Src: /src/gnupg/tools/gpgparsemail.c:247,1
    - Dst: fdopen
      Src: /src/gnupg/tools/gpgparsemail.c:249,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:251,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgparsemail.c:251,1
    - Dst: assert
      Src: /src/gnupg/tools/gpgparsemail.c:255,1
    - Dst: getc
      Src: /src/gnupg/tools/gpgparsemail.c:256,1
    - Dst: memcmp
      Src: /src/gnupg/tools/gpgparsemail.c:264,1
    - Dst: fputs
      Src: /src/gnupg/tools/gpgparsemail.c:266,1
    - Dst: fputs
      Src: /src/gnupg/tools/gpgparsemail.c:268,1
    - Dst: fwrite
      Src: /src/gnupg/tools/gpgparsemail.c:269,1
    - Dst: putchar
      Src: /src/gnupg/tools/gpgparsemail.c:271,1
    - Dst: fputs
      Src: /src/gnupg/tools/gpgparsemail.c:277,1
    - Dst: fwrite
      Src: /src/gnupg/tools/gpgparsemail.c:278,1
    - Dst: fputs
      Src: /src/gnupg/tools/gpgparsemail.c:289,1
    - Dst: fwrite
      Src: /src/gnupg/tools/gpgparsemail.c:290,1
    - Dst: putchar
      Src: /src/gnupg/tools/gpgparsemail.c:292,1
    - Dst: fclose
      Src: /src/gnupg/tools/gpgparsemail.c:294,1
    - Dst: waitpid
      Src: /src/gnupg/tools/gpgparsemail.c:296,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:299,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgparsemail.c:299,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 76
    argCount: 4
    argNames:
    - smime
    - sig_fd
    - data_fd
    - close_list
    argTypes:
    - int
    - int
    - int
    - int*
    assertStmts:
    - condition: (sizeof status_buf > 9)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/gnupg/tools/gpgparsemail.c
    constantsTouched: []
    func_position:
      end: 302
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 302
    functionName: run_gnupg
    functionSourceFile: /src/gnupg/tools/gpgparsemail.c
    functionUses: 0
    functionsReached:
    - pipe
    - strerror
    - fdopen
    - open
    - assert
    - getc
    - sprintf
    - close
    - fwrite
    - fclose
    - memcmp
    - waitpid
    - fputs
    - die
    - execlp
    - fork
    - dup2
    - putchar
    linkageType: ''
    returnType: int
    signature: int run_gnupg (int smime, int sig_fd, int data_fd, int *close_list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/tools/gpgparsemail.c:315,1
    - Dst: assert
      Src: /src/gnupg/tools/gpgparsemail.c:316,1
    - Dst: rewind
      Src: /src/gnupg/tools/gpgparsemail.c:317,1
    - Dst: assert
      Src: /src/gnupg/tools/gpgparsemail.c:321,1
    - Dst: assert
      Src: /src/gnupg/tools/gpgparsemail.c:322,1
    - Dst: rewind
      Src: /src/gnupg/tools/gpgparsemail.c:323,1
    - Dst: rewind
      Src: /src/gnupg/tools/gpgparsemail.c:324,1
    - Dst: run_gnupg
      Src: /src/gnupg/tools/gpgparsemail.c:339,1
    - Dst: fileno
      Src: /src/gnupg/tools/gpgparsemail.c:339,1
    - Dst: fileno
      Src: /src/gnupg/tools/gpgparsemail.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct parse_info_s*
    assertStmts:
    - condition: (!info->hash_file)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/gnupg/tools/gpgparsemail.c
    - condition: (info->hash_file)
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/gnupg/tools/gpgparsemail.c
    - condition: (info->sig_file)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/gnupg/tools/gpgparsemail.c
    - condition: (info->sig_file)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/gnupg/tools/gpgparsemail.c
    constantsTouched: []
    func_position:
      end: 341
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 341
    functionName: verify_signature
    functionSourceFile: /src/gnupg/tools/gpgparsemail.c
    functionUses: 1
    functionsReached:
    - rewind
    - run_gnupg
    - fileno
    - assert
    linkageType: ''
    returnType: void
    signature: void verify_signature (struct parse_info_s *info)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rfc822parse_query_parameter
      Src: /src/gnupg/tools/gpgparsemail.c:357,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:360,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgparsemail.c:361,1
    - Dst: err
      Src: /src/gnupg/tools/gpgparsemail.c:364,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgparsemail.c:373,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgparsemail.c:374,1
    - Dst: err
      Src: /src/gnupg/tools/gpgparsemail.c:377,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - info
    - msg
    - field_ctx
    argTypes:
    - struct parse_info_s*
    - rfc822parse_t
    - rfc822parse_field_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 389
    functionName: mime_signed_begin
    functionSourceFile: /src/gnupg/tools/gpgparsemail.c
    functionUses: 0
    functionsReached:
    - strcmp
    - rfc822parse_query_parameter
    - printf
    - err
    linkageType: ''
    returnType: void
    signature: "void mime_signed_begin (struct parse_info_s *info, rfc822parse_t msg,\n
      \                  rfc822parse_field_t field_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rfc822parse_query_parameter
      Src: /src/gnupg/tools/gpgparsemail.c:403,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - info
    - msg
    - field_ctx
    argTypes:
    - struct parse_info_s*
    - rfc822parse_t
    - rfc822parse_field_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 406
    functionName: mime_encrypted_begin
    functionSourceFile: /src/gnupg/tools/gpgparsemail.c
    functionUses: 0
    functionsReached:
    - rfc822parse_query_parameter
    - printf
    linkageType: ''
    returnType: void
    signature: "void mime_encrypted_begin (struct parse_info_s *info, rfc822parse_t
      msg,\n                      rfc822parse_field_t field_ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rfc822parse_query_parameter
      Src: /src/gnupg/tools/gpgparsemail.c:418,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:420,1
    - Dst: err
      Src: /src/gnupg/tools/gpgparsemail.c:422,1
    - Dst: assert
      Src: /src/gnupg/tools/gpgparsemail.c:428,1
    - Dst: tmpfile
      Src: /src/gnupg/tools/gpgparsemail.c:429,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:431,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgparsemail.c:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - info
    - msg
    - field_ctx
    argTypes:
    - struct parse_info_s*
    - rfc822parse_t
    - rfc822parse_field_t
    assertStmts:
    - condition: (!info->sig_file)
      pos:
        line_end: 427
        line_start: 427
        source_file: /src/gnupg/tools/gpgparsemail.c
    constantsTouched: []
    func_position:
      end: 434
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 434
    functionName: pkcs7_begin
    functionSourceFile: /src/gnupg/tools/gpgparsemail.c
    functionUses: 0
    functionsReached:
    - printf
    - assert
    - tmpfile
    - die
    - rfc822parse_query_parameter
    - strerror
    - err
    linkageType: ''
    returnType: void
    signature: "void pkcs7_begin (struct parse_info_s *info, rfc822parse_t msg,\n
      \            rfc822parse_field_t field_ctx)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:461,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - event
    argTypes:
    - rfc822parse_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 462
    functionName: show_event
    functionSourceFile: /src/gnupg/tools/gpgparsemail.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void show_event (rfc822parse_event_t event)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: show_event
      Src: /src/gnupg/tools/gpgparsemail.c:473,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:482,1
    - Dst: assert
      Src: /src/gnupg/tools/gpgparsemail.c:489,1
    - Dst: tmpfile
      Src: /src/gnupg/tools/gpgparsemail.c:490,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:492,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgparsemail.c:492,1
    - Dst: rfc822parse_parse_field
      Src: /src/gnupg/tools/gpgparsemail.c:507,1
    - Dst: rfc822parse_query_media_type
      Src: /src/gnupg/tools/gpgparsemail.c:511,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:514,1
    - Dst: xmalloc
      Src: /src/gnupg/tools/gpgparsemail.c:518,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgparsemail.c:518,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgparsemail.c:518,1
    - Dst: strcpy
      Src: /src/gnupg/tools/gpgparsemail.c:519,1
    - Dst: stpcpy
      Src: /src/gnupg/tools/gpgparsemail.c:519,1
    - Dst: stpcpy
      Src: /src/gnupg/tools/gpgparsemail.c:519,1
    - Dst: assert
      Src: /src/gnupg/tools/gpgparsemail.c:520,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgparsemail.c:521,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgparsemail.c:523,1
    - Dst: err
      Src: /src/gnupg/tools/gpgparsemail.c:524,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:532,1
    - Dst: assert
      Src: /src/gnupg/tools/gpgparsemail.c:536,1
    - Dst: tmpfile
      Src: /src/gnupg/tools/gpgparsemail.c:537,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:539,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgparsemail.c:540,1
    - Dst: free
      Src: /src/gnupg/tools/gpgparsemail.c:543,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgparsemail.c:545,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgparsemail.c:547,1
    - Dst: mime_signed_begin
      Src: /src/gnupg/tools/gpgparsemail.c:548,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgparsemail.c:549,1
    - Dst: mime_encrypted_begin
      Src: /src/gnupg/tools/gpgparsemail.c:550,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgparsemail.c:552,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgparsemail.c:553,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgparsemail.c:554,1
    - Dst: pkcs7_begin
      Src: /src/gnupg/tools/gpgparsemail.c:555,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:558,1
    - Dst: rfc822parse_release_field
      Src: /src/gnupg/tools/gpgparsemail.c:560,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:563,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:575,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:580,1
    - Dst: err
      Src: /src/gnupg/tools/gpgparsemail.c:584,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:594,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:597,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:601,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:607,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 91
    argCount: 3
    argNames:
    - opaque
    - event
    - msg
    argTypes:
    - void*
    - rfc822parse_event_t
    - rfc822parse_t
    assertStmts:
    - condition: (!info->hash_file)
      pos:
        line_end: 488
        line_start: 488
        source_file: /src/gnupg/tools/gpgparsemail.c
    - condition: (info->signing_protocol)
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/gnupg/tools/gpgparsemail.c
    - condition: (!info->sig_file)
      pos:
        line_end: 535
        line_start: 535
        source_file: /src/gnupg/tools/gpgparsemail.c
    constantsTouched: []
    func_position:
      end: 613
      start: 467
    functionDepth: 4
    functionLinenumber: 467
    functionLinenumberEnd: 613
    functionName: message_cb
    functionSourceFile: /src/gnupg/tools/gpgparsemail.c
    functionUses: 0
    functionsReached:
    - strlen
    - tmpfile
    - rfc822parse_parse_field
    - xmalloc
    - rfc822parse_release_field
    - err
    - show_event
    - printf
    - mime_encrypted_begin
    - die
    - rfc822parse_query_media_type
    - assert
    - mime_signed_begin
    - strcmp
    - strcpy
    - stpcpy
    - strerror
    - pkcs7_begin
    - free
    linkageType: ''
    returnType: int
    signature: int message_cb (void *opaque, rfc822parse_event_t event, rfc822parse_t
      msg)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/gpgparsemail.c:628,1
    - Dst: rfc822parse_open
      Src: /src/gnupg/tools/gpgparsemail.c:630,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:632,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgparsemail.c:632,1
    - Dst: fgets
      Src: /src/gnupg/tools/gpgparsemail.c:636,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpgparsemail.c:639,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgparsemail.c:642,1
    - Dst: err
      Src: /src/gnupg/tools/gpgparsemail.c:646,1
    - Dst: err
      Src: /src/gnupg/tools/gpgparsemail.c:651,1
    - Dst: rfc822parse_insert
      Src: /src/gnupg/tools/gpgparsemail.c:656,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:657,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgparsemail.c:657,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:664,1
    - Dst: fputs
      Src: /src/gnupg/tools/gpgparsemail.c:668,1
    - Dst: fputs
      Src: /src/gnupg/tools/gpgparsemail.c:669,1
    - Dst: ferror
      Src: /src/gnupg/tools/gpgparsemail.c:670,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:671,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgparsemail.c:671,1
    - Dst: verify_signature
      Src: /src/gnupg/tools/gpgparsemail.c:681,1
    - Dst: fclose
      Src: /src/gnupg/tools/gpgparsemail.c:683,1
    - Dst: fclose
      Src: /src/gnupg/tools/gpgparsemail.c:685,1
    - Dst: fputs
      Src: /src/gnupg/tools/gpgparsemail.c:693,1
    - Dst: fputs
      Src: /src/gnupg/tools/gpgparsemail.c:694,1
    - Dst: ferror
      Src: /src/gnupg/tools/gpgparsemail.c:695,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:696,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgparsemail.c:696,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:703,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:714,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:718,1
    - Dst: printf
      Src: /src/gnupg/tools/gpgparsemail.c:721,1
    - Dst: verify_signature
      Src: /src/gnupg/tools/gpgparsemail.c:727,1
    - Dst: fclose
      Src: /src/gnupg/tools/gpgparsemail.c:728,1
    - Dst: rfc822parse_close
      Src: /src/gnupg/tools/gpgparsemail.c:733,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 76
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 618
    functionDepth: 5
    functionLinenumber: 618
    functionLinenumberEnd: 734
    functionName: parse_message
    functionSourceFile: /src/gnupg/tools/gpgparsemail.c
    functionUses: 0
    functionsReached:
    - printf
    - strlen
    - fclose
    - rfc822parse_insert
    - rfc822parse_close
    - memset
    - rfc822parse_open
    - fputs
    - die
    - fgets
    - verify_signature
    - strncmp
    - strerror
    - ferror
    - err
    linkageType: ''
    returnType: void
    signature: void parse_message (FILE *fp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgparsemail.c:749,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgparsemail.c:754,1
    - Dst: puts
      Src: /src/gnupg/tools/gpgparsemail.c:756,1
    - Dst: exit
      Src: /src/gnupg/tools/gpgparsemail.c:768,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgparsemail.c:770,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgparsemail.c:775,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgparsemail.c:780,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgparsemail.c:785,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:793,1
    - Dst: signal
      Src: /src/gnupg/tools/gpgparsemail.c:795,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgparsemail.c:797,1
    - Dst: fopen
      Src: /src/gnupg/tools/gpgparsemail.c:799,1
    - Dst: die
      Src: /src/gnupg/tools/gpgparsemail.c:801,1
    - Dst: strerror
      Src: /src/gnupg/tools/gpgparsemail.c:801,1
    - Dst: parse_message
      Src: /src/gnupg/tools/gpgparsemail.c:802,1
    - Dst: fclose
      Src: /src/gnupg/tools/gpgparsemail.c:803,1
    - Dst: parse_message
      Src: /src/gnupg/tools/gpgparsemail.c:806,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 737
    functionDepth: 6
    functionLinenumber: 737
    functionLinenumberEnd: 809
    functionName: main
    functionSourceFile: /src/gnupg/tools/gpgparsemail.c
    functionUses: 3
    functionsReached:
    - fclose
    - exit
    - strcmp
    - puts
    - signal
    - fopen
    - parse_message
    - die
    - strerror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_fatal
      Src: /src/gnupg/tools/no-libgcrypt.c:30,1
    - Dst: _
      Src: /src/gnupg/tools/no-libgcrypt.c:30,1
    - Dst: strerror
      Src: /src/gnupg/tools/no-libgcrypt.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: out_of_memory
    functionSourceFile: /src/gnupg/tools/no-libgcrypt.c
    functionUses: 0
    functionsReached:
    - log_fatal
    - strerror
    - _
    linkageType: ''
    returnType: void
    signature: void out_of_memory (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/tools/no-libgcrypt.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: gcry_malloc
    functionSourceFile: /src/gnupg/tools/no-libgcrypt.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_malloc (size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/tools/no-libgcrypt.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: gcry_malloc_secure
    functionSourceFile: /src/gnupg/tools/no-libgcrypt.c
    functionUses: 1
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_malloc_secure (size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/tools/no-libgcrypt.c:49,1
    - Dst: out_of_memory
      Src: /src/gnupg/tools/no-libgcrypt.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: gcry_xmalloc
    functionSourceFile: /src/gnupg/tools/no-libgcrypt.c
    functionUses: 0
    functionsReached:
    - out_of_memory
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_xmalloc (size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/tools/no-libgcrypt.c:58,1
    - Dst: strlen
      Src: /src/gnupg/tools/no-libgcrypt.c:58,1
    - Dst: strcpy
      Src: /src/gnupg/tools/no-libgcrypt.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: gcry_strdup
    functionSourceFile: /src/gnupg/tools/no-libgcrypt.c
    functionUses: 0
    functionsReached:
    - strcpy
    - malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      gcry_strdup (const char *string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnupg/tools/no-libgcrypt.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: gcry_realloc
    functionSourceFile: /src/gnupg/tools/no-libgcrypt.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_realloc (void *a, size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnupg/tools/no-libgcrypt.c:74,1
    - Dst: out_of_memory
      Src: /src/gnupg/tools/no-libgcrypt.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: gcry_xrealloc
    functionSourceFile: /src/gnupg/tools/no-libgcrypt.c
    functionUses: 0
    functionsReached:
    - out_of_memory
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_xrealloc (void *a, size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnupg/tools/no-libgcrypt.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: gcry_calloc
    functionSourceFile: /src/gnupg/tools/no-libgcrypt.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_calloc (size_t n, size_t m)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnupg/tools/no-libgcrypt.c:91,1
    - Dst: out_of_memory
      Src: /src/gnupg/tools/no-libgcrypt.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: gcry_xcalloc
    functionSourceFile: /src/gnupg/tools/no-libgcrypt.c
    functionUses: 0
    functionsReached:
    - calloc
    - out_of_memory
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_xcalloc (size_t n, size_t m)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/tools/no-libgcrypt.c:101,1
    - Dst: strlen
      Src: /src/gnupg/tools/no-libgcrypt.c:101,1
    - Dst: out_of_memory
      Src: /src/gnupg/tools/no-libgcrypt.c:103,1
    - Dst: strcpy
      Src: /src/gnupg/tools/no-libgcrypt.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: gcry_xstrdup
    functionSourceFile: /src/gnupg/tools/no-libgcrypt.c
    functionUses: 0
    functionsReached:
    - strcpy
    - out_of_memory
    - malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      gcry_xstrdup (const char *string)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnupg/tools/no-libgcrypt.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: gcry_free
    functionSourceFile: /src/gnupg/tools/no-libgcrypt.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void gcry_free (void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - enum gcry_ctl_cmds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: gcry_control
    functionSourceFile: /src/gnupg/tools/no-libgcrypt.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_control (enum gcry_ctl_cmds cmd, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - h
    - opaque
    argTypes:
    - gcry_handler_no_mem_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: gcry_set_outofcore_handler
    functionSourceFile: /src/gnupg/tools/no-libgcrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gcry_set_outofcore_handler (gcry_handler_no_mem_t h, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fnc
    - opaque
    argTypes:
    - gcry_handler_error_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: gcry_set_fatalerror_handler
    functionSourceFile: /src/gnupg/tools/no-libgcrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gcry_set_fatalerror_handler (gcry_handler_error_t fnc, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_fatal
      Src: /src/gnupg/tools/no-libgcrypt.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: gcry_create_nonce
    functionSourceFile: /src/gnupg/tools/no-libgcrypt.c
    functionUses: 3
    functionsReached:
    - log_fatal
    linkageType: ''
    returnType: void
    signature: void gcry_create_nonce (void *buffer, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: gcry_cipher_algo_name
    functionSourceFile: /src/gnupg/tools/no-libgcrypt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      gcry_cipher_algo_name (int algo)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: struct
    functionSourceFile: /src/gnupg/tools/gpgtar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EXTERN_UNLESS_MAIN_MODULE
    signature: EXTERN_UNLESS_MAIN_MODULE struct
  - 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: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: lstat
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lstat(a,b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgtar-create.c:120,1
    - Dst: es_fprintf
      Src: /src/gnupg/tools/gpgtar-create.c:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - countmode
    - current
    - total_arg
    argTypes:
    - int
    - unsigned long long
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 127
    functionName: write_progress
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    linkageType: ''
    returnType: void
    signature: "void write_progress (int countmode, unsigned long long current,\n
      \               unsigned long long total_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/tools/gpgtar-create.c:141,1
    - Dst: native_to_wchar
      Src: /src/gnupg/tools/gpgtar-create.c:144,1
    - Dst: wchar_to_utf8
      Src: /src/gnupg/tools/gpgtar-create.c:147,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-create.c:148,1
    - Dst: xtrystrdup
      Src: /src/gnupg/tools/gpgtar-create.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - name
    - already_utf8
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: name_to_utf8
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 0
    functionsReached:
    - native_to_wchar
    - xtrystrdup
    - xfree
    - wchar_to_utf8
    linkageType: ''
    returnType: char
    signature: 'char *

      name_to_utf8 (const char *name, int already_utf8)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_fname_to_wchar
      Src: /src/gnupg/tools/gpgtar-create.c:177,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:183,1
    - Dst: w32_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:183,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:184,1
    - Dst: GetFileAttributesExW
      Src: /src/gnupg/tools/gpgtar-create.c:186,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:188,1
    - Dst: w32_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:188,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-create.c:189,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:190,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-create.c:192,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - tar_header_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 232
    functionName: fillup_entry_w32
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - log_error
    - GetFileAttributesExW
    - gpgrt_fname_to_wchar
    - w32_strerror
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t fillup_entry_w32 (tar_header_t hdr)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/gnupg/tools/gpgtar-create.c:245,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:247,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:248,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:248,1
    - Dst: S_ISREG
      Src: /src/gnupg/tools/gpgtar-create.c:252,1
    - Dst: S_ISDIR
      Src: /src/gnupg/tools/gpgtar-create.c:254,1
    - Dst: S_ISCHR
      Src: /src/gnupg/tools/gpgtar-create.c:256,1
    - Dst: S_ISBLK
      Src: /src/gnupg/tools/gpgtar-create.c:258,1
    - Dst: S_ISFIFO
      Src: /src/gnupg/tools/gpgtar-create.c:260,1
    - Dst: S_ISLNK
      Src: /src/gnupg/tools/gpgtar-create.c:262,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - tar_header_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 313
    functionName: fillup_entry_posix
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 0
    functionsReached:
    - lstat
    - S_ISFIFO
    - log_error
    - gpg_error_from_syserror
    - S_ISLNK
    - S_ISBLK
    - gpg_strerror
    - S_ISDIR
    - S_ISREG
    - S_ISCHR
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t fillup_entry_posix (tar_header_t hdr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-create.c:327,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgtar-create.c:329,1
    - Dst: xtrycalloc
      Src: /src/gnupg/tools/gpgtar-create.c:331,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-create.c:332,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:334,1
    - Dst: stpcpy
      Src: /src/gnupg/tools/gpgtar-create.c:336,1
    - Dst: strcpy
      Src: /src/gnupg/tools/gpgtar-create.c:341,1
    - Dst: fillup_entry_w32
      Src: /src/gnupg/tools/gpgtar-create.c:349,1
    - Dst: fillup_entry_posix
      Src: /src/gnupg/tools/gpgtar-create.c:351,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-create.c:354,1
    - Dst: gpgtar_print_header
      Src: /src/gnupg/tools/gpgtar-create.c:360,1
    - Dst: log_get_stream
      Src: /src/gnupg/tools/gpgtar-create.c:360,1
    - Dst: write_progress
      Src: /src/gnupg/tools/gpgtar-create.c:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - dname
    - entryname
    - scanctrl
    argTypes:
    - char*
    - char*
    - scanctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 372
    functionName: add_entry
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 0
    functionsReached:
    - fillup_entry_w32
    - log_assert
    - gpg_error_from_syserror
    - strlen
    - write_progress
    - fillup_entry_posix
    - strcpy
    - xfree
    - xtrycalloc
    - log_get_stream
    - stpcpy
    - gpgtar_print_header
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t add_entry (const char *dname, const char *entryname, scanctrl_t
      scanctrl)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/tools/gpgtar-create.c:394,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-create.c:394,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:397,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgtar-create.c:400,1
    - Dst: strcpy
      Src: /src/gnupg/tools/gpgtar-create.c:401,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgtar-create.c:402,1
    - Dst: strcpy
      Src: /src/gnupg/tools/gpgtar-create.c:403,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-create.c:404,1
    - Dst: strcpy
      Src: /src/gnupg/tools/gpgtar-create.c:405,1
    - Dst: stpcpy
      Src: /src/gnupg/tools/gpgtar-create.c:405,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-create.c:406,1
    - Dst: strcpy
      Src: /src/gnupg/tools/gpgtar-create.c:407,1
    - Dst: stpcpy
      Src: /src/gnupg/tools/gpgtar-create.c:407,1
    - Dst: strcpy
      Src: /src/gnupg/tools/gpgtar-create.c:409,1
    - Dst: gpgrt_fname_to_wchar
      Src: /src/gnupg/tools/gpgtar-create.c:414,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-create.c:415,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:418,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:419,1
    - Dst: _
      Src: /src/gnupg/tools/gpgtar-create.c:419,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:420,1
    - Dst: FindFirstFileW
      Src: /src/gnupg/tools/gpgtar-create.c:423,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:426,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:427,1
    - Dst: _
      Src: /src/gnupg/tools/gpgtar-create.c:427,1
    - Dst: w32_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:428,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-create.c:429,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-create.c:432,1
    - Dst: wchar_to_utf8
      Src: /src/gnupg/tools/gpgtar-create.c:437,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:440,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:441,1
    - Dst: w32_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:441,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgtar-create.c:447,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgtar-create.c:447,1
    - Dst: strncmp
      Src: /src/gnupg/tools/gpgtar-create.c:449,1
    - Dst: add_entry
      Src: /src/gnupg/tools/gpgtar-create.c:450,1
    - Dst: add_entry
      Src: /src/gnupg/tools/gpgtar-create.c:452,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-create.c:453,1
    - Dst: FindNextFileW
      Src: /src/gnupg/tools/gpgtar-create.c:455,1
    - Dst: GetLastError
      Src: /src/gnupg/tools/gpgtar-create.c:458,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:462,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:463,1
    - Dst: _
      Src: /src/gnupg/tools/gpgtar-create.c:463,1
    - Dst: w32_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:464,1
    - Dst: FindClose
      Src: /src/gnupg/tools/gpgtar-create.c:469,1
    - Dst: opendir
      Src: /src/gnupg/tools/gpgtar-create.c:478,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:481,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:482,1
    - Dst: _
      Src: /src/gnupg/tools/gpgtar-create.c:482,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:483,1
    - Dst: readdir
      Src: /src/gnupg/tools/gpgtar-create.c:487,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgtar-create.c:489,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgtar-create.c:489,1
    - Dst: add_entry
      Src: /src/gnupg/tools/gpgtar-create.c:492,1
    - Dst: closedir
      Src: /src/gnupg/tools/gpgtar-create.c:498,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 86
    argCount: 2
    argNames:
    - dname
    - scanctrl
    argTypes:
    - char*
    - scanctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 501
    functionName: scan_directory
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 0
    functionsReached:
    - add_entry
    - strlen
    - xtrymalloc
    - FindNextFileW
    - readdir
    - log_error
    - _
    - w32_strerror
    - strncmp
    - gpg_error_from_syserror
    - closedir
    - strcmp
    - xfree
    - gpg_strerror
    - wchar_to_utf8
    - FindClose
    - FindFirstFileW
    - strcpy
    - gpgrt_fname_to_wchar
    - stpcpy
    - GetLastError
    - opendir
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scan_directory (const char *dname, scanctrl_t scanctrl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:512,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpgtar-create.c:513,1
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgtar-create.c:517,1
    - Dst: scan_directory
      Src: /src/gnupg/tools/gpgtar-create.c:519,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-create.c:526,1
    - Dst: scan_recursive
      Src: /src/gnupg/tools/gpgtar-create.c:527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - dname
    - scanctrl
    argTypes:
    - char*
    - scanctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 504
    functionDepth: 5
    functionLinenumber: 504
    functionLinenumberEnd: 532
    functionName: scan_recursive
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 1
    functionsReached:
    - log_assert
    - log_error
    - scan_recursive
    - gpg_error
    - log_info
    - scan_directory
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scan_recursive (const char *dname, scanctrl_t scanctrl)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 557
    functionName: pattern_valid_p
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pattern_valid_p (const char *pattern)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/tools/gpgtar-create.c:568,1
    - Dst: BUG
      Src: /src/gnupg/tools/gpgtar-create.c:606,1
    - Dst: BUG
      Src: /src/gnupg/tools/gpgtar-create.c:610,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - buffer
    - length
    - value
    argTypes:
    - char*
    - size_t
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 612
    functionName: store_xoctal
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 0
    functionsReached:
    - BUG
    - log_assert
    linkageType: ''
    returnType: void
    signature: void store_xoctal (char *buffer, size_t length, unsigned long long
      value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem2str
      Src: /src/gnupg/tools/gpgtar-create.c:625,1
    - Dst: getpwuid
      Src: /src/gnupg/tools/gpgtar-create.c:627,1
    - Dst: mem2str
      Src: /src/gnupg/tools/gpgtar-create.c:632,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-create.c:635,1
    - Dst: mem2str
      Src: /src/gnupg/tools/gpgtar-create.c:640,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - buffer
    - length
    - uid
    argTypes:
    - char*
    - size_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 641
    functionName: store_uname
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 0
    functionsReached:
    - getpwuid
    - mem2str
    - log_info
    linkageType: ''
    returnType: void
    signature: void store_uname (char *buffer, size_t length, unsigned long uid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem2str
      Src: /src/gnupg/tools/gpgtar-create.c:654,1
    - Dst: getgrgid
      Src: /src/gnupg/tools/gpgtar-create.c:656,1
    - Dst: mem2str
      Src: /src/gnupg/tools/gpgtar-create.c:661,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-create.c:664,1
    - Dst: mem2str
      Src: /src/gnupg/tools/gpgtar-create.c:669,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - buffer
    - length
    - gid
    argTypes:
    - char*
    - size_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 670
    functionName: store_gname
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 0
    functionsReached:
    - mem2str
    - getgrgid
    - log_info
    linkageType: ''
    returnType: void
    signature: void store_gname (char *buffer, size_t length, unsigned long gid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/gpgtar-create.c:681,1
    - Dst: store_xoctal
      Src: /src/gnupg/tools/gpgtar-create.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - record
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 687
    functionName: compute_checksum
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 0
    functionsReached:
    - memset
    - store_xoctal
    linkageType: ''
    returnType: void
    signature: void compute_checksum (void *record)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/tools/gpgtar-create.c:703,1
    - Dst: readlink
      Src: /src/gnupg/tools/gpgtar-create.c:707,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-create.c:710,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-create.c:719,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/tools/gpgtar-create.c:721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 723
    functionName: myreadlink
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 0
    functionsReached:
    - gpg_err_set_errno
    - xtrymalloc
    - readlink
    - xfree
    linkageType: ''
    returnType: char
    signature: 'char *

      myreadlink (const char *name)'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/gpgtar-create.c:740,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-create.c:744,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpgtar-create.c:746,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpgtar-create.c:757,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpgtar-create.c:758,1
    - Dst: add_to_strlist_try
      Src: /src/gnupg/tools/gpgtar-create.c:763,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:766,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:767,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:768,1
    - Dst: snprintf
      Src: /src/gnupg/tools/gpgtar-create.c:777,1
    - Dst: getpid
      Src: /src/gnupg/tools/gpgtar-create.c:778,1
    - Dst: store_xoctal
      Src: /src/gnupg/tools/gpgtar-create.c:782,1
    - Dst: store_xoctal
      Src: /src/gnupg/tools/gpgtar-create.c:783,1
    - Dst: store_xoctal
      Src: /src/gnupg/tools/gpgtar-create.c:784,1
    - Dst: store_xoctal
      Src: /src/gnupg/tools/gpgtar-create.c:785,1
    - Dst: store_xoctal
      Src: /src/gnupg/tools/gpgtar-create.c:786,1
    - Dst: gpg_error
      Src: /src/gnupg/tools/gpgtar-create.c:797,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpgtar-create.c:800,1
    - Dst: store_uname
      Src: /src/gnupg/tools/gpgtar-create.c:804,1
    - Dst: store_gname
      Src: /src/gnupg/tools/gpgtar-create.c:805,1
    - Dst: readlink
      Src: /src/gnupg/tools/gpgtar-create.c:813,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:816,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:817,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:818,1
    - Dst: myreadlink
      Src: /src/gnupg/tools/gpgtar-create.c:825,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:828,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:829,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:830,1
    - Dst: add_to_strlist_try
      Src: /src/gnupg/tools/gpgtar-create.c:834,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-create.c:835,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:838,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:839,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:840,1
    - Dst: compute_checksum
      Src: /src/gnupg/tools/gpgtar-create.c:848,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 86
    argCount: 3
    argNames:
    - record
    - hdr
    - r_exthdr
    argTypes:
    - void*
    - tar_header_t
    - strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 851
    functionName: build_header
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - strlen
    - log_error
    - snprintf
    - store_uname
    - store_xoctal
    - store_gname
    - myreadlink
    - gpg_error
    - memset
    - gpg_strerror
    - add_to_strlist_try
    - xfree
    - compute_checksum
    - getpid
    - memcpy
    - readlink
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t build_header (void *record, tar_header_t hdr, strlist_t
      *r_exthdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-create.c:863,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-create.c:869,1
    - Dst: snprintf
      Src: /src/gnupg/tools/gpgtar-create.c:870,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-create.c:871,1
    - Dst: put_membuf_str
      Src: /src/gnupg/tools/gpgtar-create.c:874,1
    - Dst: put_membuf
      Src: /src/gnupg/tools/gpgtar-create.c:875,1
    - Dst: put_membuf_str
      Src: /src/gnupg/tools/gpgtar-create.c:876,1
    - Dst: put_membuf
      Src: /src/gnupg/tools/gpgtar-create.c:877,1
    - Dst: put_membuf
      Src: /src/gnupg/tools/gpgtar-create.c:878,1
    - Dst: put_membuf
      Src: /src/gnupg/tools/gpgtar-create.c:879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - mb
    - name
    - value
    argTypes:
    - membuf_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 880
    functionName: add_extended_header_record
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 0
    functionsReached:
    - put_membuf
    - snprintf
    - put_membuf_str
    - strlen
    linkageType: ''
    returnType: void
    signature: void add_extended_header_record (membuf_t *mb, const char *name, const
      char *value)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: init_membuf
      Src: /src/gnupg/tools/gpgtar-create.c:895,1
    - Dst: add_extended_header_record
      Src: /src/gnupg/tools/gpgtar-create.c:900,1
    - Dst: add_extended_header_record
      Src: /src/gnupg/tools/gpgtar-create.c:902,1
    - Dst: get_membuf
      Src: /src/gnupg/tools/gpgtar-create.c:905,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:908,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:909,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:909,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpgtar-create.c:918,1
    - Dst: store_xoctal
      Src: /src/gnupg/tools/gpgtar-create.c:919,1
    - Dst: compute_checksum
      Src: /src/gnupg/tools/gpgtar-create.c:921,1
    - Dst: write_record
      Src: /src/gnupg/tools/gpgtar-create.c:923,1
    - Dst: write_record
      Src: /src/gnupg/tools/gpgtar-create.c:929,1
    - Dst: memcpy
      Src: /src/gnupg/tools/gpgtar-create.c:936,1
    - Dst: memset
      Src: /src/gnupg/tools/gpgtar-create.c:937,1
    - Dst: write_record
      Src: /src/gnupg/tools/gpgtar-create.c:938,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-create.c:944,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - stream
    - record
    - exthdr
    argTypes:
    - estream_t
    - void*
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 946
    functionName: write_extended_header
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - add_extended_header_record
    - init_membuf
    - log_error
    - gpg_error_from_syserror
    - store_xoctal
    - gpg_strerror
    - memset
    - xfree
    - compute_checksum
    - write_record
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_extended_header (estream_t stream, const void *record,
      strlist_t exthdr)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: build_header
      Src: /src/gnupg/tools/gpgtar-create.c:959,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/gpgtar-create.c:962,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-create.c:964,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpgtar-create.c:972,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:975,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-create.c:976,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:977,1
    - Dst: write_extended_header
      Src: /src/gnupg/tools/gpgtar-create.c:987,1
    - Dst: write_record
      Src: /src/gnupg/tools/gpgtar-create.c:989,1
    - Dst: write_progress
      Src: /src/gnupg/tools/gpgtar-create.c:994,1
    - Dst: es_fread
      Src: /src/gnupg/tools/gpgtar-create.c:1005,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:1008,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:1009,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:1010,1
    - Dst: memset
      Src: /src/gnupg/tools/gpgtar-create.c:1015,1
    - Dst: write_record
      Src: /src/gnupg/tools/gpgtar-create.c:1017,1
    - Dst: write_progress
      Src: /src/gnupg/tools/gpgtar-create.c:1022,1
    - Dst: es_fread
      Src: /src/gnupg/tools/gpgtar-create.c:1024,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-create.c:1026,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgtar-create.c:1031,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgtar-create.c:1032,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:1033,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:1033,1
    - Dst: free_strlist
      Src: /src/gnupg/tools/gpgtar-create.c:1035,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 3
    argNames:
    - stream
    - hdr
    - skipped_open
    argTypes:
    - estream_t
    - tar_header_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 949
    functionDepth: 3
    functionLinenumber: 949
    functionLinenumberEnd: 1037
    functionName: write_file
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - log_error
    - es_fclose
    - es_fread
    - write_progress
    - free_strlist
    - write_extended_header
    - es_fopen
    - log_info
    - gpg_err_code
    - gpg_strerror
    - memset
    - write_record
    - build_header
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_file (estream_t stream, tar_header_t hdr, unsigned
      int *skipped_open)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/gpgtar-create.c:1046,1
    - Dst: write_record
      Src: /src/gnupg/tools/gpgtar-create.c:1047,1
    - Dst: write_record
      Src: /src/gnupg/tools/gpgtar-create.c:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1051
    functionName: write_eof_mark
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 0
    functionsReached:
    - write_record
    - memset
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_eof_mark (estream_t stream)
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tools/gpgtar-create.c:1074,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgtar-create.c:1079,1
    - Dst: es_set_binary
      Src: /src/gnupg/tools/gpgtar-create.c:1084,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpgtar-create.c:1086,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:1088,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:1089,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:1090,1
    - Dst: gnupg_chdir
      Src: /src/gnupg/tools/gpgtar-create.c:1096,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:1098,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:1099,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:1100,1
    - Dst: name_to_utf8
      Src: /src/gnupg/tools/gpgtar-create.c:1120,1
    - Dst: es_getc
      Src: /src/gnupg/tools/gpgtar-create.c:1130,1
    - Dst: es_ferror
      Src: /src/gnupg/tools/gpgtar-create.c:1132,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:1134,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:1135,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:1136,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:1147,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:1169,1
    - Dst: ascii_trim_spaces
      Src: /src/gnupg/tools/gpgtar-create.c:1176,1
    - Dst: strlen
      Src: /src/gnupg/tools/gpgtar-create.c:1177,1
    - Dst: name_to_utf8
      Src: /src/gnupg/tools/gpgtar-create.c:1186,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:1191,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:1192,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:1192,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-create.c:1200,1
    - Dst: pattern_valid_p
      Src: /src/gnupg/tools/gpgtar-create.c:1203,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:1204,1
    - Dst: add_entry
      Src: /src/gnupg/tools/gpgtar-create.c:1205,1
    - Dst: scan_recursive
      Src: /src/gnupg/tools/gpgtar-create.c:1207,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-create.c:1209,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgtar-create.c:1213,1
    - Dst: write_progress
      Src: /src/gnupg/tools/gpgtar-create.c:1222,1
    - Dst: write_progress
      Src: /src/gnupg/tools/gpgtar-create.c:1223,1
    - Dst: ccparray_init
      Src: /src/gnupg/tools/gpgtar-create.c:1244,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-create.c:1246,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-create.c:1248,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-create.c:1250,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-create.c:1252,1
    - Dst: snprintf
      Src: /src/gnupg/tools/gpgtar-create.c:1258,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-create.c:1259,1
    - Dst: es_syshd
      Src: /src/gnupg/tools/gpgtar-create.c:1260,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-create.c:1268,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-create.c:1269,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-create.c:1271,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-create.c:1273,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-create.c:1276,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-create.c:1277,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-create.c:1280,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-create.c:1283,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-create.c:1284,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-create.c:1287,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-create.c:1289,1
    - Dst: ccparray_put
      Src: /src/gnupg/tools/gpgtar-create.c:1291,1
    - Dst: ccparray_get
      Src: /src/gnupg/tools/gpgtar-create.c:1292,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:1295,1
    - Dst: gpgrt_spawn_actions_new
      Src: /src/gnupg/tools/gpgtar-create.c:1299,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-create.c:1302,1
    - Dst: gpgrt_spawn_actions_set_inherit_handles
      Src: /src/gnupg/tools/gpgtar-create.c:1307,1
    - Dst: gpgrt_spawn_actions_set_inherit_fds
      Src: /src/gnupg/tools/gpgtar-create.c:1309,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/tools/gpgtar-create.c:1311,1
    - Dst: gpgrt_spawn_actions_release
      Src: /src/gnupg/tools/gpgtar-create.c:1315,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-create.c:1316,1
    - Dst: gpgrt_process_get_streams
      Src: /src/gnupg/tools/gpgtar-create.c:1320,1
    - Dst: es_set_binary
      Src: /src/gnupg/tools/gpgtar-create.c:1321,1
    - Dst: strcmp
      Src: /src/gnupg/tools/gpgtar-create.c:1325,1
    - Dst: es_fopen
      Src: /src/gnupg/tools/gpgtar-create.c:1328,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/gpgtar-create.c:1331,1
    - Dst: es_set_binary
      Src: /src/gnupg/tools/gpgtar-create.c:1335,1
    - Dst: es_set_binary
      Src: /src/gnupg/tools/gpgtar-create.c:1341,1
    - Dst: write_file
      Src: /src/gnupg/tools/gpgtar-create.c:1347,1
    - Dst: write_eof_mark
      Src: /src/gnupg/tools/gpgtar-create.c:1352,1
    - Dst: write_progress
      Src: /src/gnupg/tools/gpgtar-create.c:1356,1
    - Dst: write_progress
      Src: /src/gnupg/tools/gpgtar-create.c:1357,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgtar-create.c:1361,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:1364,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:1364,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/tools/gpgtar-create.c:1366,1
    - Dst: gpgrt_process_ctl
      Src: /src/gnupg/tools/gpgtar-create.c:1371,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:1373,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:1374,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/tools/gpgtar-create.c:1376,1
    - Dst: log_info
      Src: /src/gnupg/tools/gpgtar-create.c:1382,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:1383,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgtar-create.c:1391,1
    - Dst: es_fflush
      Src: /src/gnupg/tools/gpgtar-create.c:1393,1
    - Dst: log_error
      Src: /src/gnupg/tools/gpgtar-create.c:1400,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/gpgtar-create.c:1401,1
    - Dst: es_fclose
      Src: /src/gnupg/tools/gpgtar-create.c:1403,1
    - Dst: gnupg_remove
      Src: /src/gnupg/tools/gpgtar-create.c:1405,1
    - Dst: xfree
      Src: /src/gnupg/tools/gpgtar-create.c:1411,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 232
    argCount: 5
    argNames:
    - inpattern
    - files_from
    - null_names
    - encrypt
    - sign
    argTypes:
    - char**
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1060
    functionDepth: 6
    functionLinenumber: 1060
    functionLinenumberEnd: 1414
    functionName: gpgtar_create
    functionSourceFile: /src/gnupg/tools/gpgtar-create.c
    functionUses: 1
    functionsReached:
    - add_entry
    - ccparray_put
    - strlen
    - write_file
    - write_progress
    - es_fopen
    - es_fflush
    - pattern_valid_p
    - ascii_trim_spaces
    - log_error
    - scan_recursive
    - write_eof_mark
    - gpgrt_spawn_actions_new
    - log_info
    - gpgrt_process_wait
    - es_ferror
    - gpgrt_process_get_streams
    - ccparray_get
    - es_set_binary
    - gpg_error_from_syserror
    - gpgrt_process_spawn
    - name_to_utf8
    - es_syshd
    - strcmp
    - memset
    - gpg_strerror
    - es_getc
    - xfree
    - gpgrt_spawn_actions_set_inherit_fds
    - gpgrt_spawn_actions_release
    - gpgrt_process_release
    - es_fclose
    - snprintf
    - ccparray_init
    - gpgrt_process_ctl
    - gnupg_chdir
    - gnupg_remove
    - gpgrt_spawn_actions_set_inherit_handles
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gpgtar_create (char **inpattern, const char *files_from,
      int null_names,\n               int encrypt, int sign)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:126,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - event
    argTypes:
    - rfc822parse_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 127
    functionName: show_message_parser_event
    functionSourceFile: /src/gnupg/tools/mime-parser.c
    functionUses: 0
    functionsReached:
    - log_debug
    linkageType: ''
    returnType: void
    signature: void show_message_parser_event (rfc822parse_event_t event)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/tools/mime-parser.c:148,1
    - Dst: hexdigitp
      Src: /src/gnupg/tools/mime-parser.c:148,1
    - Dst: xtoi_2
      Src: /src/gnupg/tools/mime-parser.c:151,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 3
    argNames:
    - buffer
    - length
    - r_slbrk
    argTypes:
    - char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 186
    functionName: qp_decode
    functionSourceFile: /src/gnupg/tools/mime-parser.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - xtoi_2
    linkageType: ''
    returnType: size_t
    signature: size_t qp_decode (char *buffer, size_t length, int *r_slbrk)
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: show_message_parser_event
      Src: /src/gnupg/tools/mime-parser.c:203,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:213,1
    - Dst: mime_parser_t::t2body
      Src: /src/gnupg/tools/mime-parser.c:234,1
    - Dst: rfc822parse_parse_field
      Src: /src/gnupg/tools/mime-parser.c:239,1
    - Dst: rfc822parse_query_media_type
      Src: /src/gnupg/tools/mime-parser.c:244,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:248,1
    - Dst: strcmp
      Src: /src/gnupg/tools/mime-parser.c:252,1
    - Dst: strcmp
      Src: /src/gnupg/tools/mime-parser.c:253,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:256,1
    - Dst: log_error
      Src: /src/gnupg/tools/mime-parser.c:261,1
    - Dst: strcmp
      Src: /src/gnupg/tools/mime-parser.c:269,1
    - Dst: strcmp
      Src: /src/gnupg/tools/mime-parser.c:270,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:273,1
    - Dst: log_error
      Src: /src/gnupg/tools/mime-parser.c:278,1
    - Dst: strcmp
      Src: /src/gnupg/tools/mime-parser.c:286,1
    - Dst: strcmp
      Src: /src/gnupg/tools/mime-parser.c:287,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:290,1
    - Dst: log_error
      Src: /src/gnupg/tools/mime-parser.c:295,1
    - Dst: strcmp
      Src: /src/gnupg/tools/mime-parser.c:301,1
    - Dst: strcmp
      Src: /src/gnupg/tools/mime-parser.c:302,1
    - Dst: rfc822parse_query_parameter
      Src: /src/gnupg/tools/mime-parser.c:304,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:308,1
    - Dst: strcmp
      Src: /src/gnupg/tools/mime-parser.c:309,1
    - Dst: log_error
      Src: /src/gnupg/tools/mime-parser.c:312,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:318,1
    - Dst: strcmp
      Src: /src/gnupg/tools/mime-parser.c:321,1
    - Dst: strcmp
      Src: /src/gnupg/tools/mime-parser.c:322,1
    - Dst: rfc822parse_query_parameter
      Src: /src/gnupg/tools/mime-parser.c:324,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:328,1
    - Dst: strcmp
      Src: /src/gnupg/tools/mime-parser.c:329,1
    - Dst: log_error
      Src: /src/gnupg/tools/mime-parser.c:332,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:338,1
    - Dst: mime_parser_t::new_part
      Src: /src/gnupg/tools/mime-parser.c:343,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/mime-parser.c:346,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/mime-parser.c:348,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:358,1
    - Dst: mime_parser_t::new_part
      Src: /src/gnupg/tools/mime-parser.c:361,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/mime-parser.c:364,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/mime-parser.c:366,1
    - Dst: rfc822parse_release_field
      Src: /src/gnupg/tools/mime-parser.c:374,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:379,1
    - Dst: mime_parser_t::new_part
      Src: /src/gnupg/tools/mime-parser.c:383,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/mime-parser.c:386,1
    - Dst: gpg_err_code
      Src: /src/gnupg/tools/mime-parser.c:388,1
    - Dst: rfc822parse_get_field
      Src: /src/gnupg/tools/mime-parser.c:403,1
    - Dst: stricmp
      Src: /src/gnupg/tools/mime-parser.c:407,1
    - Dst: stricmp
      Src: /src/gnupg/tools/mime-parser.c:409,1
    - Dst: gpgrt_b64dec_finish
      Src: /src/gnupg/tools/mime-parser.c:413,1
    - Dst: gpgrt_b64dec_start
      Src: /src/gnupg/tools/mime-parser.c:415,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-parser.c:417,1
    - Dst: rfc822_free
      Src: /src/gnupg/tools/mime-parser.c:419,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:433,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:439,1
    - Dst: log_error
      Src: /src/gnupg/tools/mime-parser.c:443,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:454,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:457,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:462,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:470,1
    - Dst: mime_parser_t::collect_signeddata
      Src: /src/gnupg/tools/mime-parser.c:473,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:478,1
    - Dst: mime_parser_t::part_data
      Src: /src/gnupg/tools/mime-parser.c:487,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 205
    argCount: 3
    argNames:
    - opaque
    - event
    - msg
    argTypes:
    - void*
    - rfc822parse_event_t
    - rfc822parse_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 496
    functionName: parse_message_cb
    functionSourceFile: /src/gnupg/tools/mime-parser.c
    functionUses: 0
    functionsReached:
    - gpgrt_b64dec_start
    - rfc822parse_parse_field
    - rfc822parse_release_field
    - show_message_parser_event
    - mime_parser_t::collect_signeddata
    - log_error
    - gpgrt_b64dec_finish
    - mime_parser_t::t2body
    - rfc822_free
    - log_debug
    - rfc822parse_query_media_type
    - gpg_error_from_syserror
    - mime_parser_t::new_part
    - strcmp
    - stricmp
    - rfc822parse_query_parameter
    - mime_parser_t::part_data
    - rfc822parse_get_field
    - gpg_err_code
    linkageType: ''
    returnType: int
    signature: int parse_message_cb (void *opaque, rfc822parse_event_t event, rfc822parse_t
      msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/tools/mime-parser.c:509,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-parser.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r_parser
    - cookie
    argTypes:
    - mime_parser_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 516
    functionName: mime_parser_new
    functionSourceFile: /src/gnupg/tools/mime-parser.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_syserror
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t mime_parser_new (mime_parser_t *r_parser, void *cookie)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_b64dec_finish
      Src: /src/gnupg/tools/mime-parser.c:527,1
    - Dst: xfree
      Src: /src/gnupg/tools/mime-parser.c:528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mime_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 529
    functionName: mime_parser_release
    functionSourceFile: /src/gnupg/tools/mime-parser.c
    functionUses: 1
    functionsReached:
    - xfree
    - gpgrt_b64dec_finish
    linkageType: ''
    returnType: void
    signature: void mime_parser_release (mime_parser_t ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - level
    argTypes:
    - mime_parser_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 547
    functionName: mime_parser_set_verbose
    functionSourceFile: /src/gnupg/tools/mime-parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mime_parser_set_verbose (mime_parser_t ctx, int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mime_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 560
    functionName: mime_parser_set_t2body
    functionSourceFile: /src/gnupg/tools/mime-parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mime_parser_set_t2body (mime_parser_t ctx,\n                        gpg_error_t
      (*fnc) (void *cookie, int level))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mime_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 579
    functionName: mime_parser_set_new_part
    functionSourceFile: /src/gnupg/tools/mime-parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mime_parser_set_new_part (mime_parser_t ctx,\n                          gpg_error_t
      (*fnc) (void *cookie,\n                                              const char
      *mediatype,\n                                              const char *mediasubtype))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mime_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 591
    functionName: mime_parser_set_part_data
    functionSourceFile: /src/gnupg/tools/mime-parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mime_parser_set_part_data (mime_parser_t ctx,\n                           gpg_error_t
      (*fnc) (void *cookie,\n                                               const
      void *data,\n                                               size_t datalen))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mime_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 603
    functionName: mime_parser_set_collect_encrypted
    functionSourceFile: /src/gnupg/tools/mime-parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mime_parser_set_collect_encrypted (mime_parser_t ctx,\n                                   gpg_error_t
      (*fnc) (void *cookie,\n                                                       const
      char *data))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mime_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 614
    functionName: mime_parser_set_collect_signeddata
    functionSourceFile: /src/gnupg/tools/mime-parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mime_parser_set_collect_signeddata (mime_parser_t ctx,\n                                    gpg_error_t
      (*fnc) (void *cookie,\n                                                        const
      char *data))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mime_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 626
    functionName: mime_parser_set_collect_signature
    functionSourceFile: /src/gnupg/tools/mime-parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mime_parser_set_collect_signature (mime_parser_t ctx,\n                                   gpg_error_t
      (*fnc) (void *cookie,\n                                                       const
      char *data))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mime_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 635
    functionName: mime_parser_rfc822parser
    functionSourceFile: /src/gnupg/tools/mime-parser.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rfc822parse_t
    signature: rfc822parse_t mime_parser_rfc822parser (mime_parser_t ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qp_decode
      Src: /src/gnupg/tools/mime-parser.c:652,1
    - Dst: log_assert
      Src: /src/gnupg/tools/mime-parser.c:656,1
    - Dst: gpgrt_b64dec_proc
      Src: /src/gnupg/tools/mime-parser.c:657,1
    - Dst: mime_parser_t::part_data
      Src: /src/gnupg/tools/mime-parser.c:663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - line
    - length
    argTypes:
    - mime_parser_t
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 664
    functionName: process_part_data
    functionSourceFile: /src/gnupg/tools/mime-parser.c
    functionUses: 0
    functionsReached:
    - qp_decode
    - mime_parser_t::part_data
    - gpgrt_b64dec_proc
    - log_assert
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t process_part_data (mime_parser_t ctx, char *line, size_t
      *length)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: rfc822parse_open
      Src: /src/gnupg/tools/mime-parser.c:680,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-parser.c:683,1
    - Dst: log_error
      Src: /src/gnupg/tools/mime-parser.c:684,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/mime-parser.c:684,1
    - Dst: es_fgets
      Src: /src/gnupg/tools/mime-parser.c:690,1
    - Dst: strncmp
      Src: /src/gnupg/tools/mime-parser.c:693,1
    - Dst: strlen
      Src: /src/gnupg/tools/mime-parser.c:696,1
    - Dst: log_error
      Src: /src/gnupg/tools/mime-parser.c:700,1
    - Dst: rfc822parse_insert
      Src: /src/gnupg/tools/mime-parser.c:706,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tools/mime-parser.c:708,1
    - Dst: log_error
      Src: /src/gnupg/tools/mime-parser.c:709,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tools/mime-parser.c:709,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:725,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:735,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:739,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:742,1
    - Dst: trim_trailing_spaces
      Src: /src/gnupg/tools/mime-parser.c:746,1
    - Dst: strcmp
      Src: /src/gnupg/tools/mime-parser.c:749,1
    - Dst: log_error
      Src: /src/gnupg/tools/mime-parser.c:753,1
    - Dst: mime_parser_t::collect_encrypted
      Src: /src/gnupg/tools/mime-parser.c:762,1
    - Dst: mime_parser_t::collect_encrypted
      Src: /src/gnupg/tools/mime-parser.c:764,1
    - Dst: mime_parser_t::collect_encrypted
      Src: /src/gnupg/tools/mime-parser.c:773,1
    - Dst: log_debug
      Src: /src/gnupg/tools/mime-parser.c:783,1
    - Dst: mime_parser_t::collect_signeddata
      Src: /src/gnupg/tools/mime-parser.c:788,1
    - Dst: mime_parser_t::collect_signeddata
      Src: /src/gnupg/tools/mime-parser.c:789,1
    - Dst: process_part_data
      Src: /src/gnupg/tools/mime-parser.c:793,1
    - Dst: mime_parser_t::collect_signature
      Src: /src/gnupg/tools/mime-parser.c:801,1
    - Dst: mime_parser_t::collect_signature
      Src: /src/gnupg/tools/mime-parser.c:802,1
    - Dst: mime_parser_t::collect_signature
      Src: /src/gnupg/tools/mime-parser.c:809,1
    - Dst: process_part_data
      Src: /src/gnupg/tools/mime-parser.c:813,1
    - Dst: rfc822parse_close
      Src: /src/gnupg/tools/mime-parser.c:819,1
    - Dst: rfc822parse_cancel
      Src: /src/gnupg/tools/mime-parser.c:824,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 112
    argCount: 2
    argNames:
    - ctx
    - fp
    argTypes:
    - mime_parser_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 669
    functionDepth: 5
    functionLinenumber: 669
    functionLinenumberEnd: 826
    functionName: mime_parser_parse
    functionSourceFile: /src/gnupg/tools/mime-parser.c
    functionUses: 1
    functionsReached:
    - trim_trailing_spaces
    - process_part_data
    - mime_parser_t::collect_signeddata
    - log_error
    - gpg_error_from_syserror
    - strlen
    - es_fgets
    - rfc822parse_insert
    - mime_parser_t::collect_signature
    - strcmp
    - rfc822parse_close
    - gpg_strerror
    - mime_parser_t::collect_encrypted
    - rfc822parse_open
    - rfc822parse_cancel
    - strncmp
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t mime_parser_parse (mime_parser_t ctx, estream_t fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnupg/doc/mkdefsinc.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: xfree
    functionSourceFile: /src/gnupg/doc/mkdefsinc.c
    functionUses: 193
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void xfree (void *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/doc/mkdefsinc.c:71,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:74,1
    - Dst: exit
      Src: /src/gnupg/doc/mkdefsinc.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: xmalloc
    functionSourceFile: /src/gnupg/doc/mkdefsinc.c
    functionUses: 32
    functionsReached:
    - exit
    - malloc
    - fputs
    linkageType: ''
    returnType: char
    signature: 'char *

      xmalloc (size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/doc/mkdefsinc.c:86,1
    - Dst: strlen
      Src: /src/gnupg/doc/mkdefsinc.c:86,1
    - Dst: strcpy
      Src: /src/gnupg/doc/mkdefsinc.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: xstrdup
    functionSourceFile: /src/gnupg/doc/mkdefsinc.c
    functionUses: 36
    functionsReached:
    - xmalloc
    - strcpy
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      xstrdup (const char *string)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/doc/mkdefsinc.c:107,1
    - Dst: strcmp
      Src: /src/gnupg/doc/mkdefsinc.c:107,1
    - Dst: stat
      Src: /src/gnupg/doc/mkdefsinc.c:109,1
    - Dst: fprintf
      Src: /src/gnupg/doc/mkdefsinc.c:111,1
    - Dst: strerror
      Src: /src/gnupg/doc/mkdefsinc.c:112,1
    - Dst: exit
      Src: /src/gnupg/doc/mkdefsinc.c:123,1
    - Dst: fprintf
      Src: /src/gnupg/doc/mkdefsinc.c:126,1
    - Dst: gmtime
      Src: /src/gnupg/doc/mkdefsinc.c:128,1
    - Dst: xmalloc
      Src: /src/gnupg/doc/mkdefsinc.c:131,1
    - Dst: snprintf
      Src: /src/gnupg/doc/mkdefsinc.c:132,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - files
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 135
    functionName: get_date_from_files
    functionSourceFile: /src/gnupg/doc/mkdefsinc.c
    functionUses: 0
    functionsReached:
    - snprintf
    - exit
    - strcmp
    - fprintf
    - xmalloc
    - stat
    - strerror
    - gmtime
    linkageType: ''
    returnType: char
    signature: 'char *

      get_date_from_files (char **files)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:144,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:148,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:149,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:150,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:151,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:152,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:153,1
    - Dst: putchar
      Src: /src/gnupg/doc/mkdefsinc.c:154,1
    - Dst: putchar
      Src: /src/gnupg/doc/mkdefsinc.c:156,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - prefix
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 157
    functionName: print_filename
    functionSourceFile: /src/gnupg/doc/mkdefsinc.c
    functionUses: 0
    functionsReached:
    - putchar
    - fputs
    linkageType: ''
    returnType: void
    signature: void print_filename (const char *prefix, const char *name)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/doc/mkdefsinc.c:177,1
    - Dst: strcmp
      Src: /src/gnupg/doc/mkdefsinc.c:182,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:184,1
    - Dst: exit
      Src: /src/gnupg/doc/mkdefsinc.c:191,1
    - Dst: strcmp
      Src: /src/gnupg/doc/mkdefsinc.c:193,1
    - Dst: strcmp
      Src: /src/gnupg/doc/mkdefsinc.c:198,1
    - Dst: chdir
      Src: /src/gnupg/doc/mkdefsinc.c:203,1
    - Dst: fprintf
      Src: /src/gnupg/doc/mkdefsinc.c:205,1
    - Dst: strerror
      Src: /src/gnupg/doc/mkdefsinc.c:206,1
    - Dst: exit
      Src: /src/gnupg/doc/mkdefsinc.c:207,1
    - Dst: strcmp
      Src: /src/gnupg/doc/mkdefsinc.c:212,1
    - Dst: xstrdup
      Src: /src/gnupg/doc/mkdefsinc.c:217,1
    - Dst: strncmp
      Src: /src/gnupg/doc/mkdefsinc.c:221,1
    - Dst: fprintf
      Src: /src/gnupg/doc/mkdefsinc.c:223,1
    - Dst: exit
      Src: /src/gnupg/doc/mkdefsinc.c:224,1
    - Dst: strlen
      Src: /src/gnupg/doc/mkdefsinc.c:233,1
    - Dst: strtoul
      Src: /src/gnupg/doc/mkdefsinc.c:238,1
    - Dst: gmtime
      Src: /src/gnupg/doc/mkdefsinc.c:239,1
    - Dst: xmalloc
      Src: /src/gnupg/doc/mkdefsinc.c:241,1
    - Dst: snprintf
      Src: /src/gnupg/doc/mkdefsinc.c:242,1
    - Dst: xfree
      Src: /src/gnupg/doc/mkdefsinc.c:244,1
    - Dst: fprintf
      Src: /src/gnupg/doc/mkdefsinc.c:249,1
    - Dst: exit
      Src: /src/gnupg/doc/mkdefsinc.c:250,1
    - Dst: xfree
      Src: /src/gnupg/doc/mkdefsinc.c:255,1
    - Dst: get_date_from_files
      Src: /src/gnupg/doc/mkdefsinc.c:256,1
    - Dst: xstrdup
      Src: /src/gnupg/doc/mkdefsinc.c:260,1
    - Dst: atoi
      Src: /src/gnupg/doc/mkdefsinc.c:267,1
    - Dst: strlen
      Src: /src/gnupg/doc/mkdefsinc.c:282,1
    - Dst: strlen
      Src: /src/gnupg/doc/mkdefsinc.c:282,1
    - Dst: xmalloc
      Src: /src/gnupg/doc/mkdefsinc.c:283,1
    - Dst: snprintf
      Src: /src/gnupg/doc/mkdefsinc.c:284,1
    - Dst: atoi
      Src: /src/gnupg/doc/mkdefsinc.c:285,1
    - Dst: atoi
      Src: /src/gnupg/doc/mkdefsinc.c:285,1
    - Dst: xfree
      Src: /src/gnupg/doc/mkdefsinc.c:286,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:291,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:295,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:299,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:301,1
    - Dst: print_filename
      Src: /src/gnupg/doc/mkdefsinc.c:303,1
    - Dst: print_filename
      Src: /src/gnupg/doc/mkdefsinc.c:304,1
    - Dst: print_filename
      Src: /src/gnupg/doc/mkdefsinc.c:305,1
    - Dst: print_filename
      Src: /src/gnupg/doc/mkdefsinc.c:306,1
    - Dst: print_filename
      Src: /src/gnupg/doc/mkdefsinc.c:307,1
    - Dst: print_filename
      Src: /src/gnupg/doc/mkdefsinc.c:308,1
    - Dst: print_filename
      Src: /src/gnupg/doc/mkdefsinc.c:309,1
    - Dst: print_filename
      Src: /src/gnupg/doc/mkdefsinc.c:311,1
    - Dst: xstrdup
      Src: /src/gnupg/doc/mkdefsinc.c:314,1
    - Dst: strrchr
      Src: /src/gnupg/doc/mkdefsinc.c:315,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:316,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:320,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:322,1
    - Dst: xfree
      Src: /src/gnupg/doc/mkdefsinc.c:323,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:325,1
    - Dst: printf
      Src: /src/gnupg/doc/mkdefsinc.c:327,1
    - Dst: printf
      Src: /src/gnupg/doc/mkdefsinc.c:328,1
    - Dst: printf
      Src: /src/gnupg/doc/mkdefsinc.c:329,1
    - Dst: printf
      Src: /src/gnupg/doc/mkdefsinc.c:330,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:332,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:335,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:337,1
    - Dst: printf
      Src: /src/gnupg/doc/mkdefsinc.c:339,1
    - Dst: printf
      Src: /src/gnupg/doc/mkdefsinc.c:340,1
    - Dst: fputs
      Src: /src/gnupg/doc/mkdefsinc.c:344,1
    - Dst: ferror
      Src: /src/gnupg/doc/mkdefsinc.c:351,1
    - Dst: fprintf
      Src: /src/gnupg/doc/mkdefsinc.c:353,1
    - Dst: strerror
      Src: /src/gnupg/doc/mkdefsinc.c:353,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 149
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 358
    functionName: main
    functionSourceFile: /src/gnupg/doc/mkdefsinc.c
    functionUses: 3
    functionsReached:
    - strlen
    - exit
    - xmalloc
    - xstrdup
    - printf
    - get_date_from_files
    - strtoul
    - strncmp
    - strcmp
    - fprintf
    - xfree
    - chdir
    - gmtime
    - atoi
    - snprintf
    - print_filename
    - fputs
    - strrchr
    - strerror
    - ferror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: ATTR_PRINTF
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATTR_PRINTF(f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: ATTR_NR_PRINTF
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATTR_NR_PRINTF(f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/gnupg/doc/yat2m.c:262,1
    - Dst: fprintf
      Src: /src/gnupg/doc/yat2m.c:263,1
    - Dst: va_start
      Src: /src/gnupg/doc/yat2m.c:265,1
    - Dst: vfprintf
      Src: /src/gnupg/doc/yat2m.c:266,1
    - Dst: va_end
      Src: /src/gnupg/doc/yat2m.c:267,1
    - Dst: putc
      Src: /src/gnupg/doc/yat2m.c:268,1
    - Dst: exit
      Src: /src/gnupg/doc/yat2m.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 271
    functionName: die
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 17
    functionsReached:
    - va_end
    - vfprintf
    - exit
    - fprintf
    - fflush
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void die (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/gnupg/doc/yat2m.c:280,1
    - Dst: strncmp
      Src: /src/gnupg/doc/yat2m.c:281,1
    - Dst: fprintf
      Src: /src/gnupg/doc/yat2m.c:282,1
    - Dst: va_start
      Src: /src/gnupg/doc/yat2m.c:284,1
    - Dst: vfprintf
      Src: /src/gnupg/doc/yat2m.c:285,1
    - Dst: va_end
      Src: /src/gnupg/doc/yat2m.c:286,1
    - Dst: putc
      Src: /src/gnupg/doc/yat2m.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 289
    functionName: err
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 9
    functionsReached:
    - va_end
    - vfprintf
    - fprintf
    - fflush
    - va_start
    - strncmp
    - putc
    linkageType: ''
    returnType: void
    signature: void err (const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/gnupg/doc/yat2m.c:297,1
    - Dst: fprintf
      Src: /src/gnupg/doc/yat2m.c:298,1
    - Dst: va_start
      Src: /src/gnupg/doc/yat2m.c:300,1
    - Dst: vfprintf
      Src: /src/gnupg/doc/yat2m.c:301,1
    - Dst: va_end
      Src: /src/gnupg/doc/yat2m.c:302,1
    - Dst: putc
      Src: /src/gnupg/doc/yat2m.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 304
    functionName: inf
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - va_end
    - vfprintf
    - fprintf
    - fflush
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void inf (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/doc/yat2m.c:310,1
    - Dst: die
      Src: /src/gnupg/doc/yat2m.c:312,1
    - Dst: strerror
      Src: /src/gnupg/doc/yat2m.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: xmalloc
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 35
    functionsReached:
    - die
    - strerror
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xmalloc (size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnupg/doc/yat2m.c:319,1
    - Dst: die
      Src: /src/gnupg/doc/yat2m.c:321,1
    - Dst: strerror
      Src: /src/gnupg/doc/yat2m.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: xcalloc
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 9
    functionsReached:
    - die
    - calloc
    - strerror
    linkageType: ''
    returnType: void
    signature: 'void *

      xcalloc (size_t n, size_t m)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnupg/doc/yat2m.c:328,1
    - Dst: die
      Src: /src/gnupg/doc/yat2m.c:330,1
    - Dst: strerror
      Src: /src/gnupg/doc/yat2m.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - old
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 332
    functionName: xrealloc
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 5
    functionsReached:
    - die
    - strerror
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xrealloc (void *old, size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/doc/yat2m.c:337,1
    - Dst: strlen
      Src: /src/gnupg/doc/yat2m.c:337,1
    - Dst: die
      Src: /src/gnupg/doc/yat2m.c:339,1
    - Dst: strerror
      Src: /src/gnupg/doc/yat2m.c:339,1
    - Dst: strcpy
      Src: /src/gnupg/doc/yat2m.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: xstrdup
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 37
    functionsReached:
    - strlen
    - strcpy
    - malloc
    - die
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      xstrdup (const char *string)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/gnupg/doc/yat2m.c:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 355
    functionName: ascii_strupr
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 3
    functionsReached:
    - toupper
    linkageType: ''
    returnType: char
    signature: 'char *

      ascii_strupr (char *string)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/gnupg/doc/yat2m.c:367,1
    - Dst: time
      Src: /src/gnupg/doc/yat2m.c:369,1
    - Dst: strcpy
      Src: /src/gnupg/doc/yat2m.c:371,1
    - Dst: gmtime
      Src: /src/gnupg/doc/yat2m.c:374,1
    - Dst: sprintf
      Src: /src/gnupg/doc/yat2m.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 379
    functionName: isodatestring
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - sprintf
    - strcpy
    - strtoul
    - time
    - gmtime
    linkageType: ''
    returnType: char
    signature: 'char *

      isodatestring (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:390,1
    - Dst: xcalloc
      Src: /src/gnupg/doc/yat2m.c:394,1
    - Dst: strlen
      Src: /src/gnupg/doc/yat2m.c:394,1
    - Dst: strcpy
      Src: /src/gnupg/doc/yat2m.c:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 399
    functionName: add_predefined_macro
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strcpy
    - strlen
    - xcalloc
    linkageType: ''
    returnType: void
    signature: void add_predefined_macro (const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:411,1
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:414,1
    - Dst: xcalloc
      Src: /src/gnupg/doc/yat2m.c:417,1
    - Dst: strlen
      Src: /src/gnupg/doc/yat2m.c:417,1
    - Dst: strcpy
      Src: /src/gnupg/doc/yat2m.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - macroname
    - macrovalue
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 424
    functionName: set_macro
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - strlen
    - xcalloc
    - strcmp
    - strcpy
    - free
    linkageType: ''
    returnType: void
    signature: void set_macro (const char *macroname, char *macrovalue)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:448,1
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:451,1
    - Dst: xcalloc
      Src: /src/gnupg/doc/yat2m.c:454,1
    - Dst: strlen
      Src: /src/gnupg/doc/yat2m.c:454,1
    - Dst: strcpy
      Src: /src/gnupg/doc/yat2m.c:455,1
    - Dst: xstrdup
      Src: /src/gnupg/doc/yat2m.c:459,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - nameandvalue
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 460
    functionName: set_variable
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - strlen
    - xcalloc
    - strcmp
    - strcpy
    - xstrdup
    - free
    linkageType: ''
    returnType: void
    signature: void set_variable (char *nameandvalue)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:471,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:475,1
    - Dst: isdigit
      Src: /src/gnupg/doc/yat2m.c:479,1
    - Dst: atoi
      Src: /src/gnupg/doc/yat2m.c:481,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 482
    functionName: macro_set_p
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - strcmp
    - isdigit
    - atoi
    linkageType: ''
    returnType: int
    signature: int macro_set_p (const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: macro_set_p
      Src: /src/gnupg/doc/yat2m.c:505,1
    - Dst: macro_set_p
      Src: /src/gnupg/doc/yat2m.c:507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - fname
    - lnr
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 518
    functionName: evaluate_conditions
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - macro_set_p
    linkageType: ''
    returnType: void
    signature: void evaluate_conditions (const char *fname, int lnr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: err
      Src: /src/gnupg/doc/yat2m.c:531,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:535,1
    - Dst: err
      Src: /src/gnupg/doc/yat2m.c:539,1
    - Dst: xcalloc
      Src: /src/gnupg/doc/yat2m.c:545,1
    - Dst: strlen
      Src: /src/gnupg/doc/yat2m.c:545,1
    - Dst: strcpy
      Src: /src/gnupg/doc/yat2m.c:548,1
    - Dst: evaluate_conditions
      Src: /src/gnupg/doc/yat2m.c:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - name
    - isset
    - fname
    - lnr
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 552
    functionName: push_condition
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - strlen
    - xcalloc
    - strcmp
    - strcpy
    - evaluate_conditions
    - err
    linkageType: ''
    returnType: void
    signature: void push_condition (const char *name, int isset, const char *fname,
      int lnr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: err
      Src: /src/gnupg/doc/yat2m.c:562,1
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:567,1
    - Dst: evaluate_conditions
      Src: /src/gnupg/doc/yat2m.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - isset
    - fname
    - lnr
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 570
    functionName: pop_condition
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - evaluate_conditions
    - free
    - err
    linkageType: ''
    returnType: void
    signature: void pop_condition (int isset, const char *fname, int lnr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:592,1
    - Dst: xcalloc
      Src: /src/gnupg/doc/yat2m.c:607,1
    - Dst: xrealloc
      Src: /src/gnupg/doc/yat2m.c:610,1
    - Dst: memset
      Src: /src/gnupg/doc/yat2m.c:613,1
    - Dst: assert
      Src: /src/gnupg/doc/yat2m.c:628,1
    - Dst: xstrdup
      Src: /src/gnupg/doc/yat2m.c:629,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts:
    - condition: (!sect->name)
      pos:
        line_end: 627
        line_start: 627
        source_file: /src/gnupg/doc/yat2m.c
    constantsTouched: []
    func_position:
      end: 631
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 631
    functionName: get_section_buffer
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - assert
    - xcalloc
    - strcmp
    - xrealloc
    - memset
    - xstrdup
    linkageType: ''
    returnType: section_buffer_t
    signature: section_buffer_t get_section_buffer (const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_section_buffer
      Src: /src/gnupg/doc/yat2m.c:642,1
    - Dst: strlen
      Src: /src/gnupg/doc/yat2m.c:651,1
    - Dst: strlen
      Src: /src/gnupg/doc/yat2m.c:652,1
    - Dst: xrealloc
      Src: /src/gnupg/doc/yat2m.c:653,1
    - Dst: strcpy
      Src: /src/gnupg/doc/yat2m.c:654,1
    - Dst: strcpy
      Src: /src/gnupg/doc/yat2m.c:655,1
    - Dst: xcalloc
      Src: /src/gnupg/doc/yat2m.c:659,1
    - Dst: xstrdup
      Src: /src/gnupg/doc/yat2m.c:661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - sectname
    - line
    - verbatim
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 666
    functionName: add_content
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - strlen
    - xcalloc
    - xrealloc
    - strcpy
    - xstrdup
    - get_section_buffer
    linkageType: ''
    returnType: void
    signature: void add_content (const char *sectname, char *line, int verbatim)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inf
      Src: /src/gnupg/doc/yat2m.c:674,1
    - Dst: assert
      Src: /src/gnupg/doc/yat2m.c:675,1
    - Dst: xstrdup
      Src: /src/gnupg/doc/yat2m.c:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts:
    - condition: (!thepage.name)
      pos:
        line_end: 674
        line_start: 674
        source_file: /src/gnupg/doc/yat2m.c
    constantsTouched: []
    func_position:
      end: 678
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 678
    functionName: start_page
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - xstrdup
    - inf
    - assert
    linkageType: ''
    returnType: void
    signature: void start_page (char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnupg/doc/yat2m.c:688,1
    - Dst: ascii_strupr
      Src: /src/gnupg/doc/yat2m.c:690,1
    - Dst: xstrdup
      Src: /src/gnupg/doc/yat2m.c:690,1
    - Dst: strrchr
      Src: /src/gnupg/doc/yat2m.c:691,1
    - Dst: err
      Src: /src/gnupg/doc/yat2m.c:694,1
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:695,1
    - Dst: fprintf
      Src: /src/gnupg/doc/yat2m.c:699,1
    - Dst: isodatestring
      Src: /src/gnupg/doc/yat2m.c:700,1
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 703
    functionName: write_th
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - xstrdup
    - free
    - fprintf
    - fputs
    - strrchr
    - isodatestring
    - ascii_strupr
    - err
    linkageType: ''
    returnType: int
    signature: int write_th (FILE *fp)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:774,1
    - Dst: fputs
      Src: /src/gnupg/doc/yat2m.c:780,1
    - Dst: memchr
      Src: /src/gnupg/doc/yat2m.c:785,1
    - Dst: fputs
      Src: /src/gnupg/doc/yat2m.c:791,1
    - Dst: memchr
      Src: /src/gnupg/doc/yat2m.c:793,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:799,1
    - Dst: fputs
      Src: /src/gnupg/doc/yat2m.c:803,1
    - Dst: fputs
      Src: /src/gnupg/doc/yat2m.c:805,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:807,1
    - Dst: fputs
      Src: /src/gnupg/doc/yat2m.c:810,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:812,1
    - Dst: fputs
      Src: /src/gnupg/doc/yat2m.c:815,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:817,1
    - Dst: fputs
      Src: /src/gnupg/doc/yat2m.c:820,1
    - Dst: memchr
      Src: /src/gnupg/doc/yat2m.c:823,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:828,1
    - Dst: putc
      Src: /src/gnupg/doc/yat2m.c:831,1
    - Dst: putc
      Src: /src/gnupg/doc/yat2m.c:832,1
    - Dst: memchr
      Src: /src/gnupg/doc/yat2m.c:835,1
    - Dst: err
      Src: /src/gnupg/doc/yat2m.c:847,1
    - Dst: err
      Src: /src/gnupg/doc/yat2m.c:858,1
    - Dst: strlen
      Src: /src/gnupg/doc/yat2m.c:867,1
    - Dst: strncmp
      Src: /src/gnupg/doc/yat2m.c:868,1
    - Dst: fputs
      Src: /src/gnupg/doc/yat2m.c:871,1
    - Dst: inf
      Src: /src/gnupg/doc/yat2m.c:873,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:887,1
    - Dst: proc_texi_buffer
      Src: /src/gnupg/doc/yat2m.c:891,1
    - Dst: strlen
      Src: /src/gnupg/doc/yat2m.c:891,1
    - Dst: inf
      Src: /src/gnupg/doc/yat2m.c:896,1
    - Dst: memchr
      Src: /src/gnupg/doc/yat2m.c:897,1
    - Dst: err
      Src: /src/gnupg/doc/yat2m.c:910,1
    - Dst: proc_texi_buffer
      Src: /src/gnupg/doc/yat2m.c:914,1
    - Dst: fputs
      Src: /src/gnupg/doc/yat2m.c:920,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 107
    argCount: 6
    argNames:
    - fp
    - command
    - rest
    - len
    - table_level
    - eol_action
    argTypes:
    - FILE*
    - char*
    - char*
    - size_t
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 923
    functionName: proc_texi_cmd
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcmp
    - err
    - memcmp
    - inf
    - fputs
    - strncmp
    - proc_texi_buffer
    - putc
    - memchr
    linkageType: ''
    returnType: size_t
    signature: "size_t proc_texi_cmd (FILE *fp, const char *command, const char *rest,
      size_t len,\n               int *table_level, int *eol_action)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/gnupg/doc/yat2m.c:947,1
    - Dst: putc
      Src: /src/gnupg/doc/yat2m.c:953,1
    - Dst: putc
      Src: /src/gnupg/doc/yat2m.c:956,1
    - Dst: proc_texi_cmd
      Src: /src/gnupg/doc/yat2m.c:968,1
    - Dst: assert
      Src: /src/gnupg/doc/yat2m.c:969,1
    - Dst: err
      Src: /src/gnupg/doc/yat2m.c:978,1
    - Dst: fputs
      Src: /src/gnupg/doc/yat2m.c:989,1
    - Dst: putc
      Src: /src/gnupg/doc/yat2m.c:992,1
    - Dst: fputs
      Src: /src/gnupg/doc/yat2m.c:997,1
    - Dst: putc
      Src: /src/gnupg/doc/yat2m.c:999,1
    - Dst: proc_texi_cmd
      Src: /src/gnupg/doc/yat2m.c:1005,1
    - Dst: assert
      Src: /src/gnupg/doc/yat2m.c:1006,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 5
    argNames:
    - fp
    - line
    - len
    - table_level
    - eol_action
    argTypes:
    - FILE*
    - char*
    - size_t
    - int*
    - int*
    assertStmts:
    - condition: (n <= len)
      pos:
        line_end: 968
        line_start: 968
        source_file: /src/gnupg/doc/yat2m.c
    - condition: (n <= len)
      pos:
        line_end: 1005
        line_start: 1005
        source_file: /src/gnupg/doc/yat2m.c
    constantsTouched: []
    func_position:
      end: 1011
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 1011
    functionName: proc_texi_buffer
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - proc_texi_cmd
    - assert
    - fputs
    - putc
    - err
    linkageType: ''
    returnType: void
    signature: "void proc_texi_buffer (FILE *fp, const char *line, size_t len,\n                  int
      *table_level, int *eol_action)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/doc/yat2m.c:1021,1
    - Dst: fputs
      Src: /src/gnupg/doc/yat2m.c:1023,1
    - Dst: putc
      Src: /src/gnupg/doc/yat2m.c:1024,1
    - Dst: proc_texi_buffer
      Src: /src/gnupg/doc/yat2m.c:1027,1
    - Dst: strlen
      Src: /src/gnupg/doc/yat2m.c:1027,1
    - Dst: putc
      Src: /src/gnupg/doc/yat2m.c:1028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - fp
    - line
    - table_level
    argTypes:
    - FILE*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1029
    functionName: parse_texi_line
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - strlen
    - strchr
    - fputs
    - proc_texi_buffer
    - putc
    linkageType: ''
    returnType: void
    signature: void parse_texi_line (FILE *fp, const char *line, int *table_level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnupg/doc/yat2m.c:1043,1
    - Dst: putc
      Src: /src/gnupg/doc/yat2m.c:1044,1
    - Dst: parse_texi_line
      Src: /src/gnupg/doc/yat2m.c:1051,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - lines
    argTypes:
    - FILE*
    - line_buffer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1054
    functionName: write_content
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - parse_texi_line
    - putc
    - fputs
    linkageType: ''
    returnType: void
    signature: void write_content (FILE *fp, line_buffer_t lines)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:1065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1068
    functionName: is_standard_section
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int is_standard_section (const char *name)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: inf
      Src: /src/gnupg/doc/yat2m.c:1085,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:1089,1
    - Dst: inf
      Src: /src/gnupg/doc/yat2m.c:1091,1
    - Dst: fopen
      Src: /src/gnupg/doc/yat2m.c:1096,1
    - Dst: die
      Src: /src/gnupg/doc/yat2m.c:1098,1
    - Dst: strerror
      Src: /src/gnupg/doc/yat2m.c:1098,1
    - Dst: inf
      Src: /src/gnupg/doc/yat2m.c:1103,1
    - Dst: fopen
      Src: /src/gnupg/doc/yat2m.c:1104,1
    - Dst: die
      Src: /src/gnupg/doc/yat2m.c:1106,1
    - Dst: strerror
      Src: /src/gnupg/doc/yat2m.c:1106,1
    - Dst: write_th
      Src: /src/gnupg/doc/yat2m.c:1111,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:1119,1
    - Dst: fprintf
      Src: /src/gnupg/doc/yat2m.c:1127,1
    - Dst: write_content
      Src: /src/gnupg/doc/yat2m.c:1128,1
    - Dst: is_standard_section
      Src: /src/gnupg/doc/yat2m.c:1134,1
    - Dst: fprintf
      Src: /src/gnupg/doc/yat2m.c:1138,1
    - Dst: write_content
      Src: /src/gnupg/doc/yat2m.c:1139,1
    - Dst: fclose
      Src: /src/gnupg/doc/yat2m.c:1149,1
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:1150,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1153
    functionName: finish_page
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - write_content
    - fclose
    - strcmp
    - fprintf
    - write_th
    - fopen
    - inf
    - die
    - strerror
    - is_standard_section
    - free
    linkageType: ''
    returnType: void
    signature: void finish_page (void)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/doc/yat2m.c:1177,1
    - Dst: fgets
      Src: /src/gnupg/doc/yat2m.c:1178,1
    - Dst: strlen
      Src: /src/gnupg/doc/yat2m.c:1180,1
    - Dst: err
      Src: /src/gnupg/doc/yat2m.c:1187,1
    - Dst: strncmp
      Src: /src/gnupg/doc/yat2m.c:1198,1
    - Dst: memmove
      Src: /src/gnupg/doc/yat2m.c:1205,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:1224,1
    - Dst: strncmp
      Src: /src/gnupg/doc/yat2m.c:1226,1
    - Dst: xrealloc
      Src: /src/gnupg/doc/yat2m.c:1232,1
    - Dst: set_macro
      Src: /src/gnupg/doc/yat2m.c:1234,1
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:1236,1
    - Dst: strlen
      Src: /src/gnupg/doc/yat2m.c:1241,1
    - Dst: strlen
      Src: /src/gnupg/doc/yat2m.c:1243,1
    - Dst: xrealloc
      Src: /src/gnupg/doc/yat2m.c:1244,1
    - Dst: strcpy
      Src: /src/gnupg/doc/yat2m.c:1246,1
    - Dst: strlen
      Src: /src/gnupg/doc/yat2m.c:1247,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:1254,1
    - Dst: strncmp
      Src: /src/gnupg/doc/yat2m.c:1265,1
    - Dst: strncmp
      Src: /src/gnupg/doc/yat2m.c:1266,1
    - Dst: strncmp
      Src: /src/gnupg/doc/yat2m.c:1267,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:1279,1
    - Dst: err
      Src: /src/gnupg/doc/yat2m.c:1286,1
    - Dst: push_condition
      Src: /src/gnupg/doc/yat2m.c:1292,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:1295,1
    - Dst: err
      Src: /src/gnupg/doc/yat2m.c:1302,1
    - Dst: push_condition
      Src: /src/gnupg/doc/yat2m.c:1308,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:1311,1
    - Dst: strncmp
      Src: /src/gnupg/doc/yat2m.c:1313,1
    - Dst: pop_condition
      Src: /src/gnupg/doc/yat2m.c:1316,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:1319,1
    - Dst: strncmp
      Src: /src/gnupg/doc/yat2m.c:1321,1
    - Dst: pop_condition
      Src: /src/gnupg/doc/yat2m.c:1324,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:1337,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:1346,1
    - Dst: xstrdup
      Src: /src/gnupg/doc/yat2m.c:1348,1
    - Dst: xmalloc
      Src: /src/gnupg/doc/yat2m.c:1349,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:1352,1
    - Dst: set_variable
      Src: /src/gnupg/doc/yat2m.c:1354,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:1356,1
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:1358,1
    - Dst: finish_page
      Src: /src/gnupg/doc/yat2m.c:1360,1
    - Dst: start_page
      Src: /src/gnupg/doc/yat2m.c:1361,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:1364,1
    - Dst: err
      Src: /src/gnupg/doc/yat2m.c:1367,1
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:1370,1
    - Dst: ascii_strupr
      Src: /src/gnupg/doc/yat2m.c:1371,1
    - Dst: xstrdup
      Src: /src/gnupg/doc/yat2m.c:1371,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:1376,1
    - Dst: err
      Src: /src/gnupg/doc/yat2m.c:1379,1
    - Dst: err
      Src: /src/gnupg/doc/yat2m.c:1381,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:1385,1
    - Dst: err
      Src: /src/gnupg/doc/yat2m.c:1388,1
    - Dst: err
      Src: /src/gnupg/doc/yat2m.c:1390,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:1394,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:1399,1
    - Dst: xstrdup
      Src: /src/gnupg/doc/yat2m.c:1402,1
    - Dst: fopen
      Src: /src/gnupg/doc/yat2m.c:1403,1
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:1407,1
    - Dst: xmalloc
      Src: /src/gnupg/doc/yat2m.c:1408,1
    - Dst: strlen
      Src: /src/gnupg/doc/yat2m.c:1408,1
    - Dst: strlen
      Src: /src/gnupg/doc/yat2m.c:1409,1
    - Dst: strcpy
      Src: /src/gnupg/doc/yat2m.c:1410,1
    - Dst: strlen
      Src: /src/gnupg/doc/yat2m.c:1411,1
    - Dst: strcat
      Src: /src/gnupg/doc/yat2m.c:1412,1
    - Dst: strcat
      Src: /src/gnupg/doc/yat2m.c:1413,1
    - Dst: fopen
      Src: /src/gnupg/doc/yat2m.c:1414,1
    - Dst: err
      Src: /src/gnupg/doc/yat2m.c:1418,1
    - Dst: strerror
      Src: /src/gnupg/doc/yat2m.c:1419,1
    - Dst: parse_file
      Src: /src/gnupg/doc/yat2m.c:1422,1
    - Dst: fclose
      Src: /src/gnupg/doc/yat2m.c:1423,1
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:1425,1
    - Dst: memcmp
      Src: /src/gnupg/doc/yat2m.c:1427,1
    - Dst: add_content
      Src: /src/gnupg/doc/yat2m.c:1439,1
    - Dst: add_content
      Src: /src/gnupg/doc/yat2m.c:1441,1
    - Dst: ferror
      Src: /src/gnupg/doc/yat2m.c:1444,1
    - Dst: err
      Src: /src/gnupg/doc/yat2m.c:1445,1
    - Dst: strerror
      Src: /src/gnupg/doc/yat2m.c:1445,1
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:1446,1
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:1447,1
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:1448,1
    CyclomaticComplexity: 142
    EdgeCount: 142
    ICount: 178
    argCount: 4
    argNames:
    - fname
    - fp
    - section_name
    - in_pause
    argTypes:
    - char*
    - FILE*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1449
    functionName: parse_file
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - strlen
    - start_page
    - set_variable
    - parse_file
    - xmalloc
    - xstrdup
    - fgets
    - ascii_strupr
    - err
    - memmove
    - pop_condition
    - add_content
    - strncmp
    - strcat
    - finish_page
    - push_condition
    - fopen
    - set_macro
    - fclose
    - xrealloc
    - memcmp
    - strcpy
    - strerror
    - ferror
    - free
    linkageType: ''
    returnType: void
    signature: void parse_file (const char *fname, FILE *fp, char **section_name,
      int in_pause)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:1462,1
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:1463,1
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:1469,1
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:1470,1
    - Dst: set_macro
      Src: /src/gnupg/doc/yat2m.c:1474,1
    - Dst: xstrdup
      Src: /src/gnupg/doc/yat2m.c:1474,1
    - Dst: parse_file
      Src: /src/gnupg/doc/yat2m.c:1478,1
    - Dst: free
      Src: /src/gnupg/doc/yat2m.c:1479,1
    - Dst: finish_page
      Src: /src/gnupg/doc/yat2m.c:1480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - fname
    - fp
    argTypes:
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1481
    functionName: top_parse_file
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - finish_page
    - parse_file
    - xstrdup
    - set_macro
    - free
    linkageType: ''
    returnType: void
    signature: void top_parse_file (const char *fname, FILE *fp)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: add_predefined_macro
      Src: /src/gnupg/doc/yat2m.c:1495,1
    - Dst: add_predefined_macro
      Src: /src/gnupg/doc/yat2m.c:1496,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:1506,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:1511,1
    - Dst: puts
      Src: /src/gnupg/doc/yat2m.c:1513,1
    - Dst: exit
      Src: /src/gnupg/doc/yat2m.c:1528,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:1530,1
    - Dst: puts
      Src: /src/gnupg/doc/yat2m.c:1532,1
    - Dst: exit
      Src: /src/gnupg/doc/yat2m.c:1537,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:1539,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:1544,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:1549,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:1554,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:1563,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:1572,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:1581,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:1586,1
    - Dst: strrchr
      Src: /src/gnupg/doc/yat2m.c:1591,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:1599,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:1608,1
    - Dst: add_predefined_macro
      Src: /src/gnupg/doc/yat2m.c:1613,1
    - Dst: die
      Src: /src/gnupg/doc/yat2m.c:1620,1
    - Dst: getenv
      Src: /src/gnupg/doc/yat2m.c:1624,1
    - Dst: strcmp
      Src: /src/gnupg/doc/yat2m.c:1628,1
    - Dst: fopen
      Src: /src/gnupg/doc/yat2m.c:1630,1
    - Dst: die
      Src: /src/gnupg/doc/yat2m.c:1632,1
    - Dst: strerror
      Src: /src/gnupg/doc/yat2m.c:1632,1
    - Dst: top_parse_file
      Src: /src/gnupg/doc/yat2m.c:1633,1
    - Dst: fclose
      Src: /src/gnupg/doc/yat2m.c:1634,1
    - Dst: top_parse_file
      Src: /src/gnupg/doc/yat2m.c:1637,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 114
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1640
    functionName: main
    functionSourceFile: /src/gnupg/doc/yat2m.c
    functionUses: 3
    functionsReached:
    - fclose
    - getenv
    - exit
    - strcmp
    - puts
    - fopen
    - strrchr
    - die
    - strerror
    - top_parse_file
    - add_predefined_macro
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/g10/keyserver.c:128,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keyserver.c:131,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyserver.c:132,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keyserver.c:135,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keyserver.c:136,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyserver.c:137,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyserver.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - option
    - noisy
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: warn_kshelper_option
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strchr
    - log_info
    linkageType: ''
    returnType: void
    signature: void warn_kshelper_option(char *option, int noisy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: optsep
      Src: /src/gnupg/g10/keyserver.c:154,1
    - Dst: parse_options
      Src: /src/gnupg/g10/keyserver.c:163,1
    - Dst: parse_import_options
      Src: /src/gnupg/g10/keyserver.c:164,1
    - Dst: parse_export_options
      Src: /src/gnupg/g10/keyserver.c:165,1
    - Dst: warn_kshelper_option
      Src: /src/gnupg/g10/keyserver.c:169,1
    - Dst: strtoul
      Src: /src/gnupg/g10/keyserver.c:175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - options
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 182
    functionName: parse_keyserver_options
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - parse_export_options
    - parse_import_options
    - warn_kshelper_option
    - parse_options
    - strtoul
    - optsep
    linkageType: ''
    returnType: int
    signature: int parse_keyserver_options(char *options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:188,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - keyserver
    argTypes:
    - struct keyserver_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: free_keyserver_spec
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void free_keyserver_spec(struct keyserver_spec *keyserver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keyserver.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - struct keyserver_spec*
    - struct keyserver_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: cmp_keyserver_spec
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - ascii_strcasecmp
    linkageType: ''
    returnType: int
    signature: int cmp_keyserver_spec(struct keyserver_spec *one, struct keyserver_spec
      *two)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmp_keyserver_spec
      Src: /src/gnupg/g10/keyserver.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - spec
    argTypes:
    - struct keyserver_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 212
    functionName: keyserver_match
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - cmp_keyserver_spec
    linkageType: ''
    returnType: struct keyserver_spec
    signature: 'struct keyserver_spec *

      keyserver_match(struct keyserver_spec *spec)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keyserver.c:226,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keyserver.c:228,1
    - Dst: xstrconcat
      Src: /src/gnupg/g10/keyserver.c:257,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/keyserver.c:261,1
    - Dst: free_keyserver_spec
      Src: /src/gnupg/g10/keyserver.c:267,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - string
    - require_scheme
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 269
    functionName: parse_keyserver_uri
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - free_keyserver_spec
    - log_assert
    - xstrconcat
    - xcalloc
    - xstrdup
    linkageType: ''
    returnType: keyserver_spec_t
    signature: keyserver_spec_t parse_keyserver_uri (const char *string, int require_scheme)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/keyserver.c:279,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keyserver.c:282,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keyserver.c:284,1
    - Dst: parse_keyserver_uri
      Src: /src/gnupg/g10/keyserver.c:286,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sig
    argTypes:
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 291
    functionName: parse_preferred_keyserver
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - parse_keyserver_uri
    - parse_sig_subpkt
    - xmalloc
    - xfree
    - memcpy
    linkageType: ''
    returnType: struct keyserver_spec
    signature: 'struct keyserver_spec *

      parse_preferred_keyserver(PKT_signature *sig)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_writebyte
      Src: /src/gnupg/g10/keyserver.c:297,1
    - Dst: iobuf_flush_temp
      Src: /src/gnupg/g10/keyserver.c:298,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyserver.c:299,1
    - Dst: iobuf_get_temp_buffer
      Src: /src/gnupg/g10/keyserver.c:299,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyserver.c:302,1
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/keyserver.c:308,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keyserver.c:310,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyserver.c:311,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyserver.c:313,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyserver.c:322,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyserver.c:331,1
    - Dst: keystr
      Src: /src/gnupg/g10/keyserver.c:331,1
    - Dst: keyid_from_fingerprint
      Src: /src/gnupg/g10/keyserver.c:337,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyserver.c:339,1
    - Dst: keystr
      Src: /src/gnupg/g10/keyserver.c:339,1
    - Dst: BUG
      Src: /src/gnupg/g10/keyserver.c:344,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyserver.c:350,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyserver.c:351,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:351,1
    - Dst: strtimestamp
      Src: /src/gnupg/g10/keyserver.c:351,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyserver.c:356,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyserver.c:357,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:357,1
    - Dst: strtimestamp
      Src: /src/gnupg/g10/keyserver.c:357,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyserver.c:361,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:361,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyserver.c:363,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:363,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyserver.c:365,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:365,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyserver.c:367,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 3
    argNames:
    - ctrl
    - number
    - keyrec
    argTypes:
    - ctrl_t
    - int
    - struct keyrec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 368
    functionName: print_keyrec
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - iobuf_writebyte
    - keyid_from_fingerprint
    - _
    - es_printf
    - strcmp
    - BUG
    - iobuf_get_temp_buffer
    - strtimestamp
    - openpgp_pk_algo_name
    - keystr
    - iobuf_flush_temp
    linkageType: ''
    returnType: void
    signature: void print_keyrec (ctrl_t ctrl, int number,struct keyrec *keyrec)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:389,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyserver.c:402,1
    - Dst: iobuf_temp
      Src: /src/gnupg/g10/keyserver.c:403,1
    - Dst: trim_trailing_ws
      Src: /src/gnupg/g10/keyserver.c:406,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyserver.c:406,1
    - Dst: strsep
      Src: /src/gnupg/g10/keyserver.c:408,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keyserver.c:411,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyserver.c:419,1
    - Dst: iobuf_temp
      Src: /src/gnupg/g10/keyserver.c:420,1
    - Dst: strsep
      Src: /src/gnupg/g10/keyserver.c:423,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/keyserver.c:426,1
    - Dst: strsep
      Src: /src/gnupg/g10/keyserver.c:440,1
    - Dst: atoi
      Src: /src/gnupg/g10/keyserver.c:443,1
    - Dst: strsep
      Src: /src/gnupg/g10/keyserver.c:445,1
    - Dst: atoi
      Src: /src/gnupg/g10/keyserver.c:448,1
    - Dst: strsep
      Src: /src/gnupg/g10/keyserver.c:450,1
    - Dst: atoi
      Src: /src/gnupg/g10/keyserver.c:453,1
    - Dst: atoi
      Src: /src/gnupg/g10/keyserver.c:456,1
    - Dst: strsep
      Src: /src/gnupg/g10/keyserver.c:458,1
    - Dst: atoi
      Src: /src/gnupg/g10/keyserver.c:461,1
    - Dst: atoi
      Src: /src/gnupg/g10/keyserver.c:465,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/keyserver.c:467,1
    - Dst: strsep
      Src: /src/gnupg/g10/keyserver.c:471,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keyserver.c:493,1
    - Dst: strsep
      Src: /src/gnupg/g10/keyserver.c:497,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyserver.c:500,1
    - Dst: hextobyte
      Src: /src/gnupg/g10/keyserver.c:515,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/keyserver.c:529,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyserver.c:530,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/keyserver.c:532,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:533,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/keyserver.c:534,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 94
    argCount: 1
    argNames:
    - keystring
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 542
    functionName: parse_keyrec
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - utf8_to_native
    - atoi
    - strlen
    - iobuf_temp
    - make_timestamp
    - trim_trailing_ws
    - xfree
    - ascii_strcasecmp
    - classify_user_id
    - hextobyte
    - strsep
    - xmalloc_clear
    - iobuf_writestr
    linkageType: ''
    returnType: struct keyrec
    signature: 'struct keyrec *

      parse_keyrec(char *keystring)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: es_fflush
      Src: /src/gnupg/g10/keyserver.c:552,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyserver.c:557,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:564,1
    - Dst: cpr_get_no_help
      Src: /src/gnupg/g10/keyserver.c:565,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:566,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyserver.c:570,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyserver.c:575,1
    - Dst: atoi
      Src: /src/gnupg/g10/keyserver.c:576,1
    - Dst: atoi
      Src: /src/gnupg/g10/keyserver.c:576,1
    - Dst: strsep
      Src: /src/gnupg/g10/keyserver.c:584,1
    - Dst: atoi
      Src: /src/gnupg/g10/keyserver.c:585,1
    - Dst: atoi
      Src: /src/gnupg/g10/keyserver.c:585,1
    - Dst: DIM
      Src: /src/gnupg/g10/keyserver.c:587,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyserver.c:589,1
    - Dst: atoi
      Src: /src/gnupg/g10/keyserver.c:592,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/keyserver.c:601,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyserver.c:604,1
    - Dst: keyserver_get
      Src: /src/gnupg/g10/keyserver.c:609,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:610,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:615,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 5
    argNames:
    - ctrl
    - desc
    - numdesc
    - count
    - search
    argTypes:
    - ctrl_t
    - KEYDB_SEARCH_DESC*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 617
    functionName: show_prompt
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - atoi
    - keyserver_get
    - gpg_error_from_syserror
    - DIM
    - tty_printf
    - _
    - gpg_error
    - cpr_get_no_help
    - xfree
    - strsep
    - es_fflush
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t show_prompt (ctrl_t ctrl, KEYDB_SEARCH_DESC *desc, int
      numdesc,\n             int count, const char *search)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/keyserver.c:635,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyserver.c:640,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyserver.c:646,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyserver.c:653,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/g10/keyserver.c:658,1
    - Dst: strsep
      Src: /src/gnupg/g10/keyserver.c:663,1
    - Dst: sscanf
      Src: /src/gnupg/g10/keyserver.c:667,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyserver.c:672,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:672,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyserver.c:674,1
    - Dst: strsep
      Src: /src/gnupg/g10/keyserver.c:678,1
    - Dst: sscanf
      Src: /src/gnupg/g10/keyserver.c:679,1
    - Dst: parse_keyrec
      Src: /src/gnupg/g10/keyserver.c:695,1
    - Dst: parse_keyrec
      Src: /src/gnupg/g10/keyserver.c:700,1
    - Dst: show_prompt
      Src: /src/gnupg/g10/keyserver.c:712,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/keyserver.c:732,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyserver.c:735,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyserver.c:736,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:737,1
    - Dst: xtryrealloc
      Src: /src/gnupg/g10/keyserver.c:747,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyserver.c:750,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyserver.c:751,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:752,1
    - Dst: show_prompt
      Src: /src/gnupg/g10/keyserver.c:767,1
    - Dst: print_keyrec
      Src: /src/gnupg/g10/keyserver.c:775,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyserver.c:779,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:780,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 99
    argCount: 3
    argNames:
    - opaque
    - special
    - line
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 792
    functionName: search_line_handler
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - ascii_strncasecmp
    - sscanf
    - log_error
    - gpg_error_from_syserror
    - iobuf_close
    - _
    - es_printf
    - print_keyrec
    - xtryrealloc
    - gpg_error
    - log_info
    - xfree
    - show_prompt
    - strsep
    - xtrymalloc
    - log_debug
    - parse_keyrec
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t search_line_handler (void *opaque, int special, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: classify_user_id
      Src: /src/gnupg/g10/keyserver.c:810,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyserver.c:815,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:815,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g10/keyserver.c:819,1
    - Dst: keyserver_put
      Src: /src/gnupg/g10/keyserver.c:824,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/keyserver.c:825,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - ctrl
    - users
    - assume_new_key
    argTypes:
    - ctrl_t
    - strlist_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 829
    functionName: keyserver_export
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - log_error
    - keyserver_put
    - _
    - classify_user_id
    - free_strlist
    - append_to_strlist
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keyserver_export (ctrl_t ctrl, strlist_t users, int assume_new_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/keyserver.c:842,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/keyserver.c:843,1
    - Dst: keyserver_put
      Src: /src/gnupg/g10/keyserver.c:844,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/keyserver.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - pk
    - assume_new_key
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 848
    functionName: keyserver_export_pubkey
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - hexfingerprint
    - keyserver_put
    - add_to_strlist
    - free_strlist
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keyserver_export_pubkey (ctrl_t ctrl, PKT_public_key *pk,
      int assume_new_key)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: find_kbnode
      Src: /src/gnupg/g10/keyserver.c:882,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyserver.c:884,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/keyserver.c:897,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyserver.c:898,1
    - Dst: memcmp
      Src: /src/gnupg/g10/keyserver.c:906,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyserver.c:924,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 2
    argNames:
    - keyblock
    - opaque
    argTypes:
    - kbnode_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 925
    functionName: keyserver_retrieval_screener
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - find_kbnode
    - keyid_from_pk
    - gpg_error
    - memcmp
    - fingerprint_from_pk
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keyserver_retrieval_screener (kbnode_t keyblock, void *opaque)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/g10/keyserver.c:939,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/keyserver.c:943,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyserver.c:947,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:947,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyserver.c:954,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:954,1
    - Dst: xrealloc
      Src: /src/gnupg/g10/keyserver.c:962,1
    - Dst: keyserver_get
      Src: /src/gnupg/g10/keyserver.c:967,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:969,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - ctrl
    - users
    - flags
    argTypes:
    - ctrl_t
    - strlist_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 972
    functionName: keyserver_import
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - keyserver_get
    - log_error
    - _
    - xrealloc
    - xmalloc
    - classify_user_id
    - log_info
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keyserver_import (ctrl_t ctrl, strlist_t users, unsigned
      int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_dirmngr_ks_list
      Src: /src/gnupg/g10/keyserver.c:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 980
    functionName: keyserver_any_configured
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - gpg_dirmngr_ks_list
    linkageType: ''
    returnType: int
    signature: int keyserver_any_configured (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keyserver_get
      Src: /src/gnupg/g10/keyserver.c:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ctrl
    - mbox
    - fpr
    - fprlen
    - keyserver
    - flags
    argTypes:
    - ctrl_t
    - char*
    - unsigned char**
    - size_t*
    - struct keyserver_spec*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 984
    functionDepth: 1
    functionLinenumber: 984
    functionLinenumberEnd: 995
    functionName: keyserver_import_mbox
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - keyserver_get
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keyserver_import_mbox (ctrl_t ctrl, const char *mbox,\n
      \                      unsigned char **fpr, size_t *fprlen,\n                       struct
      keyserver_spec *keyserver, unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keyserver_get
      Src: /src/gnupg/g10/keyserver.c:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctrl
    - mbox
    - fpr
    - fprlen
    argTypes:
    - ctrl_t
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1010
    functionName: keyserver_import_ntds
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - keyserver_get
    linkageType: ''
    returnType: int
    signature: "int keyserver_import_ntds (ctrl_t ctrl, const char *mbox,\n                       unsigned
      char **fpr, size_t *fprlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/keyserver.c:1019,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyserver.c:1024,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keyserver.c:1026,1
    - Dst: keyserver_get
      Src: /src/gnupg/g10/keyserver.c:1029,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - ctrl
    - fpr
    - fprlen
    - keyserver
    - flags
    argTypes:
    - ctrl_t
    - byte*
    - size_t
    - struct keyserver_spec*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1013
    functionDepth: 1
    functionLinenumber: 1013
    functionLinenumberEnd: 1030
    functionName: keyserver_import_fpr
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - keyserver_get
    - gpg_error
    - memset
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int keyserver_import_fpr (ctrl_t ctrl, const byte *fpr, size_t fprlen,\n\t\t
      \     struct keyserver_spec *keyserver, unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keyserver_import_fpr
      Src: /src/gnupg/g10/keyserver.c:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - fpr
    - fprlen
    argTypes:
    - ctrl_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1040
    functionName: keyserver_import_fpr_ntds
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - keyserver_import_fpr
    linkageType: ''
    returnType: int
    signature: int keyserver_import_fpr_ntds (ctrl_t ctrl, const byte *fpr, size_t
      fprlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/keyserver.c:1050,1
    - Dst: keyserver_get
      Src: /src/gnupg/g10/keyserver.c:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctrl
    - keyid
    - keyserver
    - flags
    argTypes:
    - ctrl_t
    - u32*
    - struct keyserver_spec*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1057
    functionName: keyserver_import_keyid
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - memset
    - keyserver_get
    linkageType: ''
    returnType: int
    signature: "int keyserver_import_keyid (ctrl_t ctrl,\n                        u32
      *keyid,struct keyserver_spec *keyserver,\n                        unsigned int
      flags)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/g10/keyserver.c:1076,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/keyserver.c:1078,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyserver.c:1081,1
    - Dst: keydb_disable_caching
      Src: /src/gnupg/g10/keyserver.c:1084,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyserver.c:1089,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keyserver.c:1096,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/keyserver.c:1101,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyserver.c:1104,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:1104,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyserver.c:1105,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/keyserver.c:1111,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/keyserver.c:1119,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyserver.c:1122,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:1122,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyserver.c:1122,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/keyserver.c:1126,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyserver.c:1135,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/keyserver.c:1142,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyserver.c:1162,1
    - Dst: parse_preferred_keyserver
      Src: /src/gnupg/g10/keyserver.c:1182,1
    - Dst: xrealloc
      Src: /src/gnupg/g10/keyserver.c:1190,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyserver.c:1195,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1201,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1204,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/keyserver.c:1205,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyserver.c:1206,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 78
    argCount: 4
    argNames:
    - ctrl
    - users
    - klist
    - count
    argTypes:
    - ctrl_t
    - strlist_t
    - KEYDB_SEARCH_DESC**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1209
    functionName: keyidlist
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - parse_preferred_keyserver
    - xmalloc
    - keydb_new
    - log_error
    - _
    - merge_keys_and_selfsig
    - keydb_get_keyblock
    - keydb_release
    - gpg_error_from_syserror
    - keydb_search
    - gpg_strerror
    - xfree
    - release_kbnode
    - find_kbnode
    - keyid_from_pk
    - xrealloc
    - classify_user_id
    - gpg_err_code
    - fingerprint_from_pk
    - keydb_disable_caching
    - xmalloc_clear
    linkageType: ''
    returnType: int
    signature: "int keyidlist (ctrl_t ctrl, strlist_t users, KEYDB_SEARCH_DESC **klist,\n
      \          int *count)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: keyidlist
      Src: /src/gnupg/g10/keyserver.c:1233,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyserver.c:1250,1
    - Dst: ngettext
      Src: /src/gnupg/g10/keyserver.c:1250,1
    - Dst: keyserver_get
      Src: /src/gnupg/g10/keyserver.c:1257,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyserver.c:1259,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:1259,1
    - Dst: keystr_from_desc
      Src: /src/gnupg/g10/keyserver.c:1260,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyserver.c:1261,1
    - Dst: free_keyserver_spec
      Src: /src/gnupg/g10/keyserver.c:1271,1
    - Dst: gpg_dirmngr_ks_list
      Src: /src/gnupg/g10/keyserver.c:1280,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyserver.c:1285,1
    - Dst: ngettext
      Src: /src/gnupg/g10/keyserver.c:1285,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1289,1
    - Dst: keyserver_get
      Src: /src/gnupg/g10/keyserver.c:1291,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1295,1
    - Dst: check_or_update_trustdb
      Src: /src/gnupg/g10/keyserver.c:1302,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - ctrl
    - users
    argTypes:
    - ctrl_t
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1214
    functionDepth: 2
    functionLinenumber: 1214
    functionLinenumberEnd: 1305
    functionName: keyserver_refresh
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - keyidlist
    - keyserver_get
    - free_keyserver_spec
    - ngettext
    - _
    - keystr_from_desc
    - log_info
    - gpg_strerror
    - xfree
    - check_or_update_trustdb
    - gpg_dirmngr_ks_list
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keyserver_refresh (ctrl_t ctrl, strlist_t users)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/keyserver.c:1317,1
    - Dst: init_membuf
      Src: /src/gnupg/g10/keyserver.c:1326,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/keyserver.c:1330,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/keyserver.c:1331,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/keyserver.c:1333,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/keyserver.c:1334,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyserver.c:1337,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/keyserver.c:1344,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyserver.c:1344,1
    - Dst: gpg_dirmngr_ks_search
      Src: /src/gnupg/g10/keyserver.c:1346,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyserver.c:1348,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyserver.c:1351,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:1351,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyserver.c:1354,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:1354,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyserver.c:1357,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyserver.c:1358,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyserver.c:1360,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyserver.c:1360,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1363,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1364,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1365,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - ctrl
    - tokens
    argTypes:
    - ctrl_t
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1310
    functionDepth: 1
    functionLinenumber: 1310
    functionLinenumberEnd: 1368
    functionName: keyserver_search
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - gpg_error_from_syserror
    - put_membuf
    - strlen
    - log_error
    - _
    - put_membuf_str
    - gpg_error
    - memset
    - gpg_err_code
    - log_info
    - gpg_strerror
    - xfree
    - utf8_to_native
    - gpg_dirmngr_ks_search
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keyserver_search (ctrl_t ctrl, strlist_t tokens)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/keyserver.c:1398,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyserver.c:1400,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/keyserver.c:1420,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyserver.c:1422,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keyserver.c:1425,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/keyserver.c:1426,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/keyserver.c:1439,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyserver.c:1443,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/keyserver.c:1454,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyserver.c:1456,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyserver.c:1468,1
    - Dst: strconcat
      Src: /src/gnupg/g10/keyserver.c:1473,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyserver.c:1475,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyserver.c:1484,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/keyserver.c:1490,1
    - Dst: strconcat
      Src: /src/gnupg/g10/keyserver.c:1492,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyserver.c:1494,1
    - Dst: BUG
      Src: /src/gnupg/g10/keyserver.c:1504,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1509,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1510,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyserver.c:1516,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:1516,1
    - Dst: keystr_from_desc
      Src: /src/gnupg/g10/keyserver.c:1517,1
    - Dst: gpg_dirmngr_ks_get
      Src: /src/gnupg/g10/keyserver.c:1527,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1530,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1531,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyserver.c:1533,1
    - Dst: strncmp
      Src: /src/gnupg/g10/keyserver.c:1561,1
    - Dst: strncmp
      Src: /src/gnupg/g10/keyserver.c:1562,1
    - Dst: import_keys_es_stream
      Src: /src/gnupg/g10/keyserver.c:1577,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/keyserver.c:1583,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1584,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 108
    argCount: 9
    argNames:
    - ctrl
    - desc
    - ndesc
    - r_ndesc_used
    - stats_handle
    - override_keyserver
    - flags
    - r_fpr
    - r_fprlen
    argTypes:
    - ctrl_t
    - KEYDB_SEARCH_DESC*
    - int
    - int*
    - import_stats_t
    - struct keyserver_spec*
    - unsigned int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1587
    functionName: keyserver_get_chunk
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - strlen
    - bin2hex
    - es_fclose
    - _
    - strconcat
    - BUG
    - xtrystrdup
    - keystr_from_desc
    - xtryasprintf
    - strcpy
    - xfree
    - log_info
    - xtrycalloc
    - gpg_dirmngr_ks_get
    - strncmp
    - xtrymalloc
    - import_keys_es_stream
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keyserver_get_chunk (ctrl_t ctrl, KEYDB_SEARCH_DESC *desc,
      int ndesc,\n                     int *r_ndesc_used,\n                     import_stats_t
      stats_handle,\n                     struct keyserver_spec *override_keyserver,\n
      \                    unsigned int flags,\n                     unsigned char
      **r_fpr, size_t *r_fprlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: import_new_stats_handle
      Src: /src/gnupg/g10/keyserver.c:1607,1
    - Dst: keyserver_get_chunk
      Src: /src/gnupg/g10/keyserver.c:1611,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyserver.c:1615,1
    - Dst: import_print_stats
      Src: /src/gnupg/g10/keyserver.c:1632,1
    - Dst: import_release_stats_handle
      Src: /src/gnupg/g10/keyserver.c:1634,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 7
    argNames:
    - ctrl
    - desc
    - ndesc
    - override_keyserver
    - flags
    - r_fpr
    - r_fprlen
    argTypes:
    - ctrl_t
    - KEYDB_SEARCH_DESC*
    - int
    - struct keyserver_spec*
    - unsigned int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1597
    functionDepth: 2
    functionLinenumber: 1597
    functionLinenumberEnd: 1636
    functionName: keyserver_get
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 7
    functionsReached:
    - import_release_stats_handle
    - import_print_stats
    - import_new_stats_handle
    - gpg_err_code
    - keyserver_get_chunk
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keyserver_get (ctrl_t ctrl, KEYDB_SEARCH_DESC *desc, int
      ndesc,\n               struct keyserver_spec *override_keyserver, unsigned int
      flags,\n               unsigned char **r_fpr, size_t *r_fprlen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gpg_dirmngr_ks_list
      Src: /src/gnupg/g10/keyserver.c:1655,1
    - Dst: gpgrt_log
      Src: /src/gnupg/g10/keyserver.c:1657,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:1657,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyserver.c:1658,1
    - Dst: strncmp
      Src: /src/gnupg/g10/keyserver.c:1663,1
    - Dst: strncmp
      Src: /src/gnupg/g10/keyserver.c:1664,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyserver.c:1667,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:1667,1
    - Dst: strncmp
      Src: /src/gnupg/g10/keyserver.c:1679,1
    - Dst: strncmp
      Src: /src/gnupg/g10/keyserver.c:1680,1
    - Dst: keyserver_import
      Src: /src/gnupg/g10/keyserver.c:1682,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyserver.c:1687,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyserver.c:1688,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:1688,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyserver.c:1689,1
    - Dst: export_pubkey_buffer
      Src: /src/gnupg/g10/keyserver.c:1701,1
    - Dst: gpgrt_log
      Src: /src/gnupg/g10/keyserver.c:1707,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:1707,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyserver.c:1708,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyserver.c:1712,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:1712,1
    - Dst: keystr
      Src: /src/gnupg/g10/keyserver.c:1713,1
    - Dst: gpg_dirmngr_ks_put
      Src: /src/gnupg/g10/keyserver.c:1716,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1717,1
    - Dst: write_status_warning
      Src: /src/gnupg/g10/keyserver.c:1721,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyserver.c:1723,1
    - Dst: gpgrt_log
      Src: /src/gnupg/g10/keyserver.c:1724,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:1724,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyserver.c:1725,1
    - Dst: print_status_exported
      Src: /src/gnupg/g10/keyserver.c:1728,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyserver.c:1729,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1734,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 3
    argNames:
    - ctrl
    - keyspecs
    - assume_new_key
    argTypes:
    - ctrl_t
    - strlist_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1642
    functionDepth: 2
    functionLinenumber: 1642
    functionLinenumberEnd: 1737
    functionName: keyserver_put
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 2
    functionsReached:
    - gpgrt_log
    - export_pubkey_buffer
    - write_status_warning
    - release_kbnode
    - _
    - gpg_error
    - gpg_dirmngr_ks_put
    - log_info
    - gpg_err_code
    - gpg_strerror
    - keystr
    - xfree
    - write_status_error
    - print_status_exported
    - strncmp
    - gpg_dirmngr_ks_list
    - keyserver_import
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keyserver_put (ctrl_t ctrl, strlist_t keyspecs, int assume_new_key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/keyserver.c:1761,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:1761,1
    - Dst: gpg_dirmngr_ks_fetch
      Src: /src/gnupg/g10/keyserver.c:1763,1
    - Dst: import_new_stats_handle
      Src: /src/gnupg/g10/keyserver.c:1768,1
    - Dst: import_keys_es_stream
      Src: /src/gnupg/g10/keyserver.c:1769,1
    - Dst: import_print_stats
      Src: /src/gnupg/g10/keyserver.c:1773,1
    - Dst: import_release_stats_handle
      Src: /src/gnupg/g10/keyserver.c:1774,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyserver.c:1779,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:1779,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyserver.c:1780,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/keyserver.c:1784,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyserver.c:1788,1
    - Dst: check_or_update_trustdb
      Src: /src/gnupg/g10/keyserver.c:1799,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - ctrl
    - urilist
    - origin
    argTypes:
    - ctrl_t
    - strlist_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1743
    functionDepth: 1
    functionLinenumber: 1743
    functionLinenumberEnd: 1802
    functionName: keyserver_fetch
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - import_release_stats_handle
    - import_print_stats
    - es_fclose
    - gpg_dirmngr_ks_fetch
    - _
    - gpg_error
    - import_new_stats_handle
    - log_info
    - gpg_strerror
    - check_or_update_trustdb
    - import_keys_es_stream
    linkageType: ''
    returnType: int
    signature: int keyserver_fetch (ctrl_t ctrl, strlist_t urilist, int origin)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnupg/g10/keyserver.c:1815,1
    - Dst: strrchr
      Src: /src/gnupg/g10/keyserver.c:1819,1
    - Dst: gpg_dirmngr_dns_cert
      Src: /src/gnupg/g10/keyserver.c:1824,1
    - Dst: save_and_clear_import_filter
      Src: /src/gnupg/g10/keyserver.c:1837,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyserver.c:1839,1
    - Dst: es_bsprintf
      Src: /src/gnupg/g10/keyserver.c:1842,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyserver.c:1843,1
    - Dst: parse_and_set_import_filter
      Src: /src/gnupg/g10/keyserver.c:1845,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1846,1
    - Dst: import_keys_es_stream
      Src: /src/gnupg/g10/keyserver.c:1848,1
    - Dst: restore_import_filter
      Src: /src/gnupg/g10/keyserver.c:1851,1
    - Dst: import_keys_es_stream
      Src: /src/gnupg/g10/keyserver.c:1856,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/keyserver.c:1864,1
    - Dst: parse_keyserver_uri
      Src: /src/gnupg/g10/keyserver.c:1876,1
    - Dst: keyserver_import_fpr
      Src: /src/gnupg/g10/keyserver.c:1879,1
    - Dst: free_keyserver_spec
      Src: /src/gnupg/g10/keyserver.c:1880,1
    - Dst: keyserver_any_configured
      Src: /src/gnupg/g10/keyserver.c:1883,1
    - Dst: keyserver_import_fpr
      Src: /src/gnupg/g10/keyserver.c:1888,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyserver.c:1891,1
    - Dst: _
      Src: /src/gnupg/g10/keyserver.c:1891,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1899,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1900,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 5
    argNames:
    - ctrl
    - name
    - dane_mode
    - fpr
    - fpr_len
    argTypes:
    - ctrl_t
    - char*
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1807
    functionDepth: 1
    functionLinenumber: 1807
    functionLinenumberEnd: 1903
    functionName: keyserver_import_cert
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - parse_keyserver_uri
    - xstrdup
    - free_keyserver_spec
    - gpg_error_from_syserror
    - keyserver_any_configured
    - es_fclose
    - es_bsprintf
    - keyserver_import_fpr
    - save_and_clear_import_filter
    - _
    - restore_import_filter
    - xfree
    - gpg_dirmngr_dns_cert
    - parse_and_set_import_filter
    - strrchr
    - log_info
    - import_keys_es_stream
    linkageType: ''
    returnType: int
    signature: "int keyserver_import_cert (ctrl_t ctrl, const char *name, int dane_mode,\n
      \                      unsigned char **fpr,size_t *fpr_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mailbox_from_userid
      Src: /src/gnupg/g10/keyserver.c:1918,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyserver.c:1921,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyserver.c:1922,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyserver.c:1923,1
    - Dst: gpg_dirmngr_wkd_get
      Src: /src/gnupg/g10/keyserver.c:1927,1
    - Dst: save_and_clear_import_filter
      Src: /src/gnupg/g10/keyserver.c:1938,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyserver.c:1940,1
    - Dst: es_bsprintf
      Src: /src/gnupg/g10/keyserver.c:1943,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyserver.c:1944,1
    - Dst: parse_and_set_import_filter
      Src: /src/gnupg/g10/keyserver.c:1946,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1947,1
    - Dst: import_keys_es_stream
      Src: /src/gnupg/g10/keyserver.c:1949,1
    - Dst: restore_import_filter
      Src: /src/gnupg/g10/keyserver.c:1955,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/keyserver.c:1958,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1962,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyserver.c:1963,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - ctrl
    - name
    - flags
    - fpr
    - fpr_len
    argTypes:
    - ctrl_t
    - char*
    - unsigned int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1907
    functionDepth: 1
    functionLinenumber: 1907
    functionLinenumberEnd: 1965
    functionName: keyserver_import_wkd
    functionSourceFile: /src/gnupg/g10/keyserver.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - es_fclose
    - es_bsprintf
    - save_and_clear_import_filter
    - import_keys_es_stream
    - restore_import_filter
    - gpg_error
    - gpg_err_code
    - parse_and_set_import_filter
    - xfree
    - gpg_dirmngr_wkd_get
    - mailbox_from_userid
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keyserver_import_wkd (ctrl_t ctrl, const char *name, unsigned
      int flags,\n                      unsigned char **fpr, size_t *fpr_len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnupg/g10/photoid.c:52,1
    - Dst: spacep
      Src: /src/gnupg/g10/photoid.c:59,1
    - Dst: atoi
      Src: /src/gnupg/g10/photoid.c:61,1
    - Dst: spacep
      Src: /src/gnupg/g10/photoid.c:66,1
    - Dst: spacep
      Src: /src/gnupg/g10/photoid.c:68,1
    - Dst: utf8_to_wchar
      Src: /src/gnupg/g10/photoid.c:71,1
    - Dst: memset
      Src: /src/gnupg/g10/photoid.c:75,1
    - Dst: log_debug
      Src: /src/gnupg/g10/photoid.c:86,1
    - Dst: ShellExecuteExW
      Src: /src/gnupg/g10/photoid.c:87,1
    - Dst: log_debug
      Src: /src/gnupg/g10/photoid.c:90,1
    - Dst: GetLastError
      Src: /src/gnupg/g10/photoid.c:90,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:91,1
    - Dst: log_debug
      Src: /src/gnupg/g10/photoid.c:101,1
    - Dst: gnupg_usleep
      Src: /src/gnupg/g10/photoid.c:107,1
    - Dst: log_debug
      Src: /src/gnupg/g10/photoid.c:109,1
    - Dst: WaitForSingleObject
      Src: /src/gnupg/g10/photoid.c:113,1
    - Dst: log_debug
      Src: /src/gnupg/g10/photoid.c:115,1
    - Dst: CloseHandle
      Src: /src/gnupg/g10/photoid.c:117,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:119,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/photoid.c:130,1
    - Dst: utf8_to_wchar
      Src: /src/gnupg/g10/photoid.c:131,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:132,1
    - Dst: memset
      Src: /src/gnupg/g10/photoid.c:136,1
    - Dst: memset
      Src: /src/gnupg/g10/photoid.c:137,1
    - Dst: CreateProcessW
      Src: /src/gnupg/g10/photoid.c:140,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:144,1
    - Dst: WaitForSingleObject
      Src: /src/gnupg/g10/photoid.c:149,1
    - Dst: CloseHandle
      Src: /src/gnupg/g10/photoid.c:151,1
    - Dst: CloseHandle
      Src: /src/gnupg/g10/photoid.c:152,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:153,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 157
    functionName: w32_system
    functionSourceFile: /src/gnupg/g10/photoid.c
    functionUses: 0
    functionsReached:
    - xstrdup
    - atoi
    - WaitForSingleObject
    - spacep
    - gnupg_usleep
    - GetLastError
    - memset
    - xfree
    - utf8_to_wchar
    - ShellExecuteExW
    - CreateProcessW
    - strncmp
    - CloseHandle
    - log_debug
    linkageType: ''
    returnType: int
    signature: int w32_system (const char *command)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/photoid.c:182,1
    - Dst: make_filename
      Src: /src/gnupg/g10/photoid.c:185,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/photoid.c:188,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:188,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/photoid.c:205,1
    - Dst: tty_enable_completion
      Src: /src/gnupg/g10/photoid.c:207,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/photoid.c:209,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:210,1
    - Dst: tty_disable_completion
      Src: /src/gnupg/g10/photoid.c:212,1
    - Dst: make_filename
      Src: /src/gnupg/g10/photoid.c:214,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:216,1
    - Dst: strlen
      Src: /src/gnupg/g10/photoid.c:218,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/photoid.c:222,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/photoid.c:223,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/photoid.c:223,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/photoid.c:225,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/photoid.c:227,1
    - Dst: log_error
      Src: /src/gnupg/g10/photoid.c:231,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:231,1
    - Dst: strerror
      Src: /src/gnupg/g10/photoid.c:232,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:233,1
    - Dst: iobuf_get_filelength
      Src: /src/gnupg/g10/photoid.c:239,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/photoid.c:248,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:248,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/photoid.c:250,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:251,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/photoid.c:253,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:254,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/photoid.c:260,1
    - Dst: iobuf_read
      Src: /src/gnupg/g10/photoid.c:261,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/photoid.c:262,1
    - Dst: log_error
      Src: /src/gnupg/g10/photoid.c:267,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:267,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:268,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:270,1
    - Dst: build_attribute_subpkt
      Src: /src/gnupg/g10/photoid.c:276,1
    - Dst: parse_attribute_subpkts
      Src: /src/gnupg/g10/photoid.c:277,1
    - Dst: make_attribute_uidname
      Src: /src/gnupg/g10/photoid.c:278,1
    - Dst: show_photos
      Src: /src/gnupg/g10/photoid.c:284,1
    - Dst: cpr_get_answer_yes_no_quit
      Src: /src/gnupg/g10/photoid.c:285,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:286,1
    - Dst: free_attributes
      Src: /src/gnupg/g10/photoid.c:291,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:292,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:294,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:305,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:306,1
    - Dst: free_attributes
      Src: /src/gnupg/g10/photoid.c:310,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:311,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 89
    argCount: 3
    argNames:
    - ctrl
    - pk
    - photo_name
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 316
    functionName: generate_photo_id
    functionSourceFile: /src/gnupg/g10/photoid.c
    functionUses: 0
    functionsReached:
    - strlen
    - cpr_get
    - cpr_get_answer_yes_no_quit
    - xmalloc
    - parse_attribute_subpkts
    - make_attribute_uidname
    - log_error
    - _
    - iobuf_get_filelength
    - tty_printf
    - is_secured_file
    - build_attribute_subpkt
    - cpr_get_answer_is_yes
    - tty_enable_completion
    - show_photos
    - iobuf_open
    - xfree
    - free_attributes
    - tty_disable_completion
    - make_filename
    - iobuf_close
    - iobuf_get_fd
    - iobuf_read
    - gpg_err_set_errno
    - xmalloc_clear
    - strerror
    linkageType: ''
    returnType: PKT_user_id
    signature: 'PKT_user_id *

      generate_photo_id (ctrl_t ctrl, PKT_public_key *pk,const char *photo_name)'
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - attr
    - type
    - len
    argTypes:
    - struct user_attribute*
    - byte*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 347
    functionName: parse_image_header
    functionSourceFile: /src/gnupg/g10/photoid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parse_image_header(const struct user_attribute *attr,byte *type,u32
      *len)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - type
    - style
    argTypes:
    - byte
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 381
    functionName: image_type_to_string
    functionSourceFile: /src/gnupg/g10/photoid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      image_type_to_string(byte type,int style)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: path_access
      Src: /src/gnupg/g10/photoid.c:393,1
    - Dst: path_access
      Src: /src/gnupg/g10/photoid.c:395,1
    - Dst: getuid
      Src: /src/gnupg/g10/photoid.c:397,1
    - Dst: path_access
      Src: /src/gnupg/g10/photoid.c:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 406
    functionName: get_default_photo_command
    functionSourceFile: /src/gnupg/g10/photoid.c
    functionUses: 0
    functionsReached:
    - path_access
    - getuid
    linkageType: ''
    returnType: char
    signature: 'char *

      get_default_photo_command(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/photoid.c:422,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - command
    - name
    - image
    - len
    argTypes:
    - char*
    - char*
    - void*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: show_photo
    functionSourceFile: /src/gnupg/g10/photoid.c
    functionUses: 0
    functionsReached:
    - _
    - log_error
    linkageType: ''
    returnType: void
    signature: void show_photo (const char *command, const char *name, const void
      *image, u32 len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/photoid.c:436,1
    - Dst: strlen
      Src: /src/gnupg/g10/photoid.c:436,1
    - Dst: strlen
      Src: /src/gnupg/g10/photoid.c:441,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/photoid.c:442,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/photoid.c:449,1
    - Dst: GetTempPath
      Src: /src/gnupg/g10/photoid.c:453,1
    - Dst: strcpy
      Src: /src/gnupg/g10/photoid.c:455,1
    - Dst: getenv
      Src: /src/gnupg/g10/photoid.c:469,1
    - Dst: getenv
      Src: /src/gnupg/g10/photoid.c:470,1
    - Dst: strlen
      Src: /src/gnupg/g10/photoid.c:473,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/photoid.c:474,1
    - Dst: sprintf
      Src: /src/gnupg/g10/photoid.c:481,1
    - Dst: gnupg_mkdtemp
      Src: /src/gnupg/g10/photoid.c:483,1
    - Dst: log_error
      Src: /src/gnupg/g10/photoid.c:485,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:485,1
    - Dst: strerror
      Src: /src/gnupg/g10/photoid.c:486,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/photoid.c:490,1
    - Dst: strlen
      Src: /src/gnupg/g10/photoid.c:490,1
    - Dst: strlen
      Src: /src/gnupg/g10/photoid.c:490,1
    - Dst: strlen
      Src: /src/gnupg/g10/photoid.c:491,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:494,1
    - Dst: sprintf
      Src: /src/gnupg/g10/photoid.c:498,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - info
    - name
    argTypes:
    - struct spawn_info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 500
    functionName: setup_input_file
    functionSourceFile: /src/gnupg/g10/photoid.c
    functionUses: 0
    functionsReached:
    - gnupg_mkdtemp
    - strlen
    - log_error
    - getenv
    - sprintf
    - GetTempPath
    - _
    - xmalloc
    - strcpy
    - xfree
    - strerror
    linkageType: ''
    returnType: int
    signature: int setup_input_file (struct spawn_info *info, const char *name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/g10/photoid.c:513,1
    - Dst: init_membuf
      Src: /src/gnupg/g10/photoid.c:515,1
    - Dst: setup_input_file
      Src: /src/gnupg/g10/photoid.c:534,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/photoid.c:546,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/photoid.c:549,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/photoid.c:554,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/photoid.c:556,1
    - Dst: log_debug
      Src: /src/gnupg/g10/photoid.c:561,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:567,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/photoid.c:567,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - info
    - args_in
    - name
    argTypes:
    - struct spawn_info*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 569
    functionName: expand_args
    functionSourceFile: /src/gnupg/g10/photoid.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - setup_input_file
    - init_membuf
    - put_membuf
    - put_membuf_str
    - xfree
    - log_debug
    linkageType: ''
    returnType: int
    signature: int expand_args (struct spawn_info *info, const char *args_in, const
      char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/g10/photoid.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argv
    - command
    argTypes:
    - char*[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 582
    functionName: fill_command_argv
    functionSourceFile: /src/gnupg/g10/photoid.c
    functionUses: 0
    functionsReached:
    - getenv
    linkageType: ''
    returnType: void
    signature: void fill_command_argv (const char *argv[4], const char *command)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/photoid.c:592,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:592,1
    - Dst: fill_command_argv
      Src: /src/gnupg/g10/photoid.c:600,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/g10/photoid.c:601,1
    - Dst: log_error
      Src: /src/gnupg/g10/photoid.c:604,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:604,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/photoid.c:605,1
    - Dst: gpgrt_process_get_fds
      Src: /src/gnupg/g10/photoid.c:610,1
    - Dst: log_error
      Src: /src/gnupg/g10/photoid.c:612,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/photoid.c:613,1
    - Dst: write
      Src: /src/gnupg/g10/photoid.c:616,1
    - Dst: close
      Src: /src/gnupg/g10/photoid.c:617,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/g10/photoid.c:620,1
    - Dst: log_error
      Src: /src/gnupg/g10/photoid.c:622,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:622,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/g10/photoid.c:624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - info
    - image
    - len
    argTypes:
    - struct spawn_info*
    - void*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 627
    functionName: run_with_pipe
    functionSourceFile: /src/gnupg/g10/photoid.c
    functionUses: 0
    functionsReached:
    - fill_command_argv
    - gpgrt_process_spawn
    - log_error
    - gpgrt_process_release
    - close
    - write
    - _
    - gpgrt_process_get_fds
    - gpg_strerror
    - gpgrt_process_wait
    linkageType: ''
    returnType: void
    signature: void run_with_pipe (struct spawn_info *info, const void *image, u32
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/g10/photoid.c:633,1
    - Dst: is_secured_filename
      Src: /src/gnupg/g10/photoid.c:636,1
    - Dst: log_error
      Src: /src/gnupg/g10/photoid.c:638,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:638,1
    - Dst: strerror
      Src: /src/gnupg/g10/photoid.c:639,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/photoid.c:640,1
    - Dst: es_fopen
      Src: /src/gnupg/g10/photoid.c:645,1
    - Dst: es_fwrite
      Src: /src/gnupg/g10/photoid.c:649,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/photoid.c:650,1
    - Dst: log_error
      Src: /src/gnupg/g10/photoid.c:656,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:656,1
    - Dst: strerror
      Src: /src/gnupg/g10/photoid.c:657,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/photoid.c:658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - info
    - ptr
    - len
    argTypes:
    - struct spawn_info*
    - void*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 662
    functionName: create_temp_file
    functionSourceFile: /src/gnupg/g10/photoid.c
    functionUses: 0
    functionsReached:
    - log_error
    - es_fclose
    - _
    - es_fopen
    - es_fwrite
    - gpg_err_set_errno
    - strerror
    - is_secured_filename
    - log_debug
    linkageType: ''
    returnType: int
    signature: int create_temp_file (struct spawn_info *info, const void *ptr, u32
      len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/photoid.c:669,1
    - Dst: expand_args
      Src: /src/gnupg/g10/photoid.c:674,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:676,1
    - Dst: log_debug
      Src: /src/gnupg/g10/photoid.c:681,1
    - Dst: run_with_pipe
      Src: /src/gnupg/g10/photoid.c:684,1
    - Dst: create_temp_file
      Src: /src/gnupg/g10/photoid.c:685,1
    - Dst: w32_system
      Src: /src/gnupg/g10/photoid.c:688,1
    - Dst: log_error
      Src: /src/gnupg/g10/photoid.c:689,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:689,1
    - Dst: strerror
      Src: /src/gnupg/g10/photoid.c:690,1
    - Dst: fill_command_argv
      Src: /src/gnupg/g10/photoid.c:695,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/g10/photoid.c:696,1
    - Dst: log_error
      Src: /src/gnupg/g10/photoid.c:698,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:698,1
    - Dst: unlink
      Src: /src/gnupg/g10/photoid.c:703,1
    - Dst: log_info
      Src: /src/gnupg/g10/photoid.c:704,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:704,1
    - Dst: strerror
      Src: /src/gnupg/g10/photoid.c:705,1
    - Dst: rmdir
      Src: /src/gnupg/g10/photoid.c:707,1
    - Dst: log_info
      Src: /src/gnupg/g10/photoid.c:708,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:708,1
    - Dst: strerror
      Src: /src/gnupg/g10/photoid.c:709,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:713,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:714,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:715,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:716,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - command
    - name
    - image
    - len
    argTypes:
    - char*
    - char*
    - void*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 664
    functionDepth: 3
    functionLinenumber: 664
    functionLinenumberEnd: 717
    functionName: show_photo
    functionSourceFile: /src/gnupg/g10/photoid.c
    functionUses: 0
    functionsReached:
    - w32_system
    - expand_args
    - run_with_pipe
    - fill_command_argv
    - log_error
    - gpgrt_process_spawn
    - unlink
    - _
    - xfree
    - create_temp_file
    - log_info
    - rmdir
    - xmalloc_clear
    - strerror
    - log_debug
    linkageType: ''
    returnType: void
    signature: void show_photo (const char *command, const char *name, const void
      *image, u32 len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/photoid.c:739,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:739,1
    - Dst: getuid
      Src: /src/gnupg/g10/photoid.c:747,1
    - Dst: geteuid
      Src: /src/gnupg/g10/photoid.c:747,1
    - Dst: BUG
      Src: /src/gnupg/g10/photoid.c:748,1
    - Dst: memset
      Src: /src/gnupg/g10/photoid.c:751,1
    - Dst: get_validity_info
      Src: /src/gnupg/g10/photoid.c:753,1
    - Dst: get_validity_string
      Src: /src/gnupg/g10/photoid.c:754,1
    - Dst: namehash_from_uid
      Src: /src/gnupg/g10/photoid.c:755,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/photoid.c:759,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/photoid.c:761,1
    - Dst: get_default_photo_command
      Src: /src/gnupg/g10/photoid.c:767,1
    - Dst: parse_image_header
      Src: /src/gnupg/g10/photoid.c:772,1
    - Dst: pct_expando
      Src: /src/gnupg/g10/photoid.c:778,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:783,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/photoid.c:787,1
    - Dst: strlen
      Src: /src/gnupg/g10/photoid.c:787,1
    - Dst: strlen
      Src: /src/gnupg/g10/photoid.c:788,1
    - Dst: image_type_to_string
      Src: /src/gnupg/g10/photoid.c:788,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:792,1
    - Dst: sprintf
      Src: /src/gnupg/g10/photoid.c:803,1
    - Dst: image_type_to_string
      Src: /src/gnupg/g10/photoid.c:804,1
    - Dst: sprintf
      Src: /src/gnupg/g10/photoid.c:806,1
    - Dst: image_type_to_string
      Src: /src/gnupg/g10/photoid.c:808,1
    - Dst: show_photo
      Src: /src/gnupg/g10/photoid.c:811,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:812,1
    - Dst: xfree
      Src: /src/gnupg/g10/photoid.c:813,1
    - Dst: log_error
      Src: /src/gnupg/g10/photoid.c:819,1
    - Dst: _
      Src: /src/gnupg/g10/photoid.c:819,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 5
    argNames:
    - ctrl
    - attrs
    - count
    - pk
    - uid
    argTypes:
    - ctrl_t
    - struct user_attribute*
    - int
    - PKT_public_key*
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 722
    functionDepth: 2
    functionLinenumber: 722
    functionLinenumberEnd: 821
    functionName: show_photos
    functionSourceFile: /src/gnupg/g10/photoid.c
    functionUses: 1
    functionsReached:
    - get_default_photo_command
    - strlen
    - image_type_to_string
    - BUG
    - xmalloc
    - es_fflush
    - log_error
    - _
    - log_info
    - parse_image_header
    - get_validity_string
    - pct_expando
    - sprintf
    - show_photo
    - getuid
    - memset
    - xfree
    - keyid_from_pk
    - geteuid
    - namehash_from_uid
    - get_validity_info
    linkageType: ''
    returnType: void
    signature: "void show_photos (ctrl_t ctrl, const struct user_attribute *attrs,
      int count,\n             PKT_public_key *pk, PKT_user_id *uid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyring.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: key_present_value_new
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - xmalloc_clear
    linkageType: ''
    returnType: struct key_present
    signature: 'struct key_present *

      key_present_value_new (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyring.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: key_present_hash_new
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - xmalloc_clear
    linkageType: ''
    returnType: key_present_hash_t
    signature: key_present_hash_t key_present_hash_new (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - tbl
    - kid
    argTypes:
    - key_present_hash_t
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: key_present_hash_lookup
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct key_present
    signature: 'struct key_present *

      key_present_hash_lookup (key_present_hash_t tbl, u32 *kid)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key_present_value_new
      Src: /src/gnupg/g10/keyring.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - tbl
    - kid
    argTypes:
    - key_present_hash_t
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 161
    functionName: key_present_hash_update
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - key_present_value_new
    linkageType: ''
    returnType: void
    signature: void key_present_hash_update (key_present_hash_t tbl, u32 *kid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyring.c:174,1
    - Dst: key_present_hash_update
      Src: /src/gnupg/g10/keyring.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - tbl
    - node
    argTypes:
    - key_present_hash_t
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 178
    functionName: key_present_hash_update_from_kb
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - keyid_from_pk
    - key_present_hash_update
    linkageType: ''
    returnType: void
    signature: void key_present_hash_update_from_kb (key_present_hash_t tbl, KBNODE
      node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/gnupg/g10/keyring.c:193,1
    - Dst: same_file_p
      Src: /src/gnupg/g10/keyring.c:197,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keyring.c:207,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyring.c:207,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keyring.c:208,1
    - Dst: key_present_hash_new
      Src: /src/gnupg/g10/keyring.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - fname
    - read_only
    - ptr
    argTypes:
    - char*
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 224
    functionName: keyring_register_filename
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - key_present_hash_new
    - same_file_p
    - strlen
    - BUG
    - xmalloc
    - strcpy
    linkageType: ''
    returnType: int
    signature: int keyring_register_filename (const char *fname, int read_only, void
      **ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_access
      Src: /src/gnupg/g10/keyring.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: keyring_is_writable
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - gnupg_access
    linkageType: ''
    returnType: int
    signature: int keyring_is_writable (void *token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keyring.c:245,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/keyring.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - token
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 253
    functionName: keyring_new
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - xtrycalloc
    - log_assert
    linkageType: ''
    returnType: KEYRING_HANDLE
    signature: KEYRING_HANDLE keyring_new (void *token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYRING_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: keyring_fp_close
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - iobuf_close
    linkageType: ''
    returnType: void
    signature: void keyring_fp_close (KEYRING_HANDLE hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keyring.c:268,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyring.c:270,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyring.c:271,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyring.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYRING_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: keyring_release
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - xfree
    - log_assert
    linkageType: ''
    returnType: void
    signature: void keyring_release (KEYRING_HANDLE hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYRING_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: keyring_push_found_state
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void keyring_push_found_state (KEYRING_HANDLE hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYRING_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: keyring_pop_found_state
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void keyring_pop_found_state (KEYRING_HANDLE hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYRING_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: keyring_get_resource_name
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      keyring_get_resource_name (KEYRING_HANDLE hd)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: keyring_is_writable
      Src: /src/gnupg/g10/keyring.c:319,1
    - Dst: dotlock_create
      Src: /src/gnupg/g10/keyring.c:322,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyring.c:324,1
    - Dst: keyring_is_writable
      Src: /src/gnupg/g10/keyring.c:334,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/keyring.c:347,1
    - Dst: dotlock_take
      Src: /src/gnupg/g10/keyring.c:350,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyring.c:351,1
    - Dst: keyring_is_writable
      Src: /src/gnupg/g10/keyring.c:361,1
    - Dst: dotlock_release
      Src: /src/gnupg/g10/keyring.c:366,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyring.c:367,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 2
    argNames:
    - hd
    - 'yes'
    argTypes:
    - KEYRING_HANDLE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 374
    functionName: keyring_lock
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - dotlock_create
    - iobuf_ioctl
    - dotlock_take
    - keyring_is_writable
    - dotlock_release
    - log_info
    linkageType: ''
    returnType: int
    signature: int keyring_lock (KEYRING_HANDLE hd, int yes)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_open
      Src: /src/gnupg/g10/keyring.c:403,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:406,1
    - Dst: _
      Src: /src/gnupg/g10/keyring.c:406,1
    - Dst: iobuf_seek
      Src: /src/gnupg/g10/keyring.c:410,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:411,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:412,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keyring.c:416,1
    - Dst: init_packet
      Src: /src/gnupg/g10/keyring.c:417,1
    - Dst: init_parse_packet
      Src: /src/gnupg/g10/keyring.c:418,1
    - Dst: set_packet_list_mode
      Src: /src/gnupg/g10/keyring.c:421,1
    - Dst: parse_packet
      Src: /src/gnupg/g10/keyring.c:422,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyring.c:424,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keyring.c:425,1
    - Dst: init_packet
      Src: /src/gnupg/g10/keyring.c:426,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyring.c:429,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:445,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyring.c:446,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyring.c:469,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keyring.c:471,1
    - Dst: init_packet
      Src: /src/gnupg/g10/keyring.c:472,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keyring.c:483,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keyring.c:510,1
    - Dst: init_packet
      Src: /src/gnupg/g10/keyring.c:511,1
    - Dst: set_packet_list_mode
      Src: /src/gnupg/g10/keyring.c:513,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyring.c:519,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keyring.c:523,1
    - Dst: deinit_parse_packet
      Src: /src/gnupg/g10/keyring.c:524,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyring.c:525,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:526,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyring.c:531,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 104
    argCount: 2
    argNames:
    - hd
    - ret_kb
    argTypes:
    - KEYRING_HANDLE
    - KBNODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 535
    functionName: keyring_get_keyblock
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - deinit_parse_packet
    - iobuf_close
    - log_error
    - init_packet
    - release_kbnode
    - _
    - iobuf_open
    - init_parse_packet
    - xmalloc
    - parse_packet
    - gpg_err_code
    - free_packet
    - gpg_strerror
    - log_info
    - set_packet_list_mode
    - xfree
    - new_kbnode
    - iobuf_seek
    linkageType: ''
    returnType: int
    signature: int keyring_get_keyblock (KEYRING_HANDLE hd, KBNODE *ret_kb)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyring.c:546,1
    - Dst: keyring_get_keyblock
      Src: /src/gnupg/g10/keyring.c:550,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:552,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyring.c:552,1
    - Dst: BUG
      Src: /src/gnupg/g10/keyring.c:556,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:562,1
    - Dst: do_copy
      Src: /src/gnupg/g10/keyring.c:566,1
    - Dst: key_present_hash_update_from_kb
      Src: /src/gnupg/g10/keyring.c:571,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - hd
    - kb
    argTypes:
    - KEYRING_HANDLE
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 537
    functionDepth: 4
    functionLinenumber: 537
    functionLinenumberEnd: 578
    functionName: keyring_update_keyblock
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - log_error
    - iobuf_close
    - key_present_hash_update_from_kb
    - BUG
    - do_copy
    - gpg_error
    - gpg_strerror
    - keyring_get_keyblock
    linkageType: ''
    returnType: int
    signature: int keyring_update_keyblock (KEYRING_HANDLE hd, KBNODE kb)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyring.c:592,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyring.c:598,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:610,1
    - Dst: do_copy
      Src: /src/gnupg/g10/keyring.c:614,1
    - Dst: key_present_hash_update_from_kb
      Src: /src/gnupg/g10/keyring.c:617,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - hd
    - kb
    argTypes:
    - KEYRING_HANDLE
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 580
    functionDepth: 4
    functionLinenumber: 580
    functionLinenumberEnd: 621
    functionName: keyring_insert_keyblock
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - do_copy
    - key_present_hash_update_from_kb
    - iobuf_close
    linkageType: ''
    returnType: int
    signature: int keyring_insert_keyblock (KEYRING_HANDLE hd, KBNODE kb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyring.c:633,1
    - Dst: keyring_get_keyblock
      Src: /src/gnupg/g10/keyring.c:637,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:639,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyring.c:639,1
    - Dst: BUG
      Src: /src/gnupg/g10/keyring.c:643,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:650,1
    - Dst: do_copy
      Src: /src/gnupg/g10/keyring.c:654,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYRING_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 664
    functionName: keyring_delete_keyblock
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - log_error
    - iobuf_close
    - BUG
    - do_copy
    - gpg_error
    - gpg_strerror
    - keyring_get_keyblock
    linkageType: ''
    returnType: int
    signature: int keyring_delete_keyblock (KEYRING_HANDLE hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keyring.c:674,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:676,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/keyring.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYRING_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 690
    functionName: keyring_search_reset
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - iobuf_close
    - iobuf_ioctl
    - log_assert
    linkageType: ''
    returnType: int
    signature: int keyring_search_reset (KEYRING_HANDLE hd)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyring.c:699,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:702,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:709,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyring.c:710,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:719,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:728,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:736,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keyring.c:740,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:744,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:745,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/keyring.c:753,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyring.c:756,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:757,1
    - Dst: _
      Src: /src/gnupg/g10/keyring.c:757,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYRING_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 762
    functionName: prepare_search
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - iobuf_close
    - log_assert
    - gpg_error_from_syserror
    - log_error
    - iobuf_open
    - _
    - gpg_strerror
    - gpg_err_code
    - log_debug
    linkageType: ''
    returnType: int
    signature: int prepare_search (KEYRING_HANDLE hd)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 27
    argCount: 3
    argNames:
    - uid
    - uidlen
    - pattern
    argTypes:
    - byte*
    - size_t
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 863
    functionName: word_match
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int word_match( const byte *uid, size_t uidlen, const byte *pattern
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/g10/keyring.c:877,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyring.c:877,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 892
    functionName: prepare_word_match
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      prepare_word_match (const byte *name)'
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ascii_memistr
      Src: /src/gnupg/g10/keyring.c:911,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyring.c:941,1
    - Dst: ascii_memcasecmp
      Src: /src/gnupg/g10/keyring.c:942,1
    - Dst: ascii_memistr
      Src: /src/gnupg/g10/keyring.c:946,1
    - Dst: word_match
      Src: /src/gnupg/g10/keyring.c:956,1
    - Dst: BUG
      Src: /src/gnupg/g10/keyring.c:958,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 46
    argCount: 4
    argNames:
    - mode
    - name
    - uid
    - uidlen
    argTypes:
    - int
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 961
    functionName: compare_name
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - ascii_memistr
    - ascii_memcasecmp
    - strlen
    - BUG
    - word_match
    linkageType: ''
    returnType: int
    signature: int compare_name (int mode, const char *name, const char *uid, size_t
      uidlen)
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: keyring_search_reset
      Src: /src/gnupg/g10/keyring.c:1014,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:1029,1
    - Dst: prepare_search
      Src: /src/gnupg/g10/keyring.c:1032,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:1036,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyring.c:1037,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyring.c:1037,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:1045,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:1050,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:1059,1
    - Dst: key_present_hash_lookup
      Src: /src/gnupg/g10/keyring.c:1061,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:1065,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:1081,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keyring.c:1089,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keyring.c:1090,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyring.c:1093,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyring.c:1094,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/keyring.c:1095,1
    - Dst: prepare_word_match
      Src: /src/gnupg/g10/keyring.c:1096,1
    - Dst: init_packet
      Src: /src/gnupg/g10/keyring.c:1101,1
    - Dst: set_packet_list_mode
      Src: /src/gnupg/g10/keyring.c:1102,1
    - Dst: iobuf_tell
      Src: /src/gnupg/g10/keyring.c:1108,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:1110,1
    - Dst: init_parse_packet
      Src: /src/gnupg/g10/keyring.c:1112,1
    - Dst: search_packet
      Src: /src/gnupg/g10/keyring.c:1118,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyring.c:1119,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keyring.c:1121,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keyring.c:1135,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/keyring.c:1151,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyring.c:1156,1
    - Dst: keygrip_from_pk
      Src: /src/gnupg/g10/keyring.c:1158,1
    - Dst: key_present_hash_update
      Src: /src/gnupg/g10/keyring.c:1163,1
    - Dst: BUG
      Src: /src/gnupg/g10/keyring.c:1175,1
    - Dst: compare_name
      Src: /src/gnupg/g10/keyring.c:1183,1
    - Dst: memcmp
      Src: /src/gnupg/g10/keyring.c:1202,1
    - Dst: memcmp
      Src: /src/gnupg/g10/keyring.c:1214,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keyring.c:1222,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:1229,1
    - Dst: skipfnc
      Src: /src/gnupg/g10/keyring.c:1239,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:1242,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keyring.c:1249,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:1255,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:1264,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyring.c:1298,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyring.c:1299,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keyring.c:1303,1
    - Dst: deinit_parse_packet
      Src: /src/gnupg/g10/keyring.c:1304,1
    - Dst: set_packet_list_mode
      Src: /src/gnupg/g10/keyring.c:1305,1
    CyclomaticComplexity: 114
    EdgeCount: 114
    ICount: 239
    argCount: 5
    argNames:
    - hd
    - desc
    - ndesc
    - descindex
    - ignore_legacy
    argTypes:
    - KEYRING_HANDLE
    - KEYDB_SEARCH_DESC*
    - size_t
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 968
    functionDepth: 3
    functionLinenumber: 968
    functionLinenumberEnd: 1307
    functionName: keyring_search
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - deinit_parse_packet
    - prepare_word_match
    - iobuf_tell
    - log_assert
    - BUG
    - keygrip_from_pk
    - xstrdup
    - free_packet
    - keyring_search_reset
    - init_packet
    - skipfnc
    - key_present_hash_update
    - log_debug
    - compare_name
    - strcmp
    - gpg_strerror
    - xfree
    - set_packet_list_mode
    - search_packet
    - keyid_from_pk
    - init_parse_packet
    - memcmp
    - gpg_err_code
    - fingerprint_from_pk
    - key_present_hash_lookup
    - prepare_search
    linkageType: ''
    returnType: int
    signature: "int keyring_search (KEYRING_HANDLE hd, KEYDB_SEARCH_DESC *desc,\n\t\tsize_t
      ndesc, size_t *descindex, int ignore_legacy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: keybox_tmp_names
      Src: /src/gnupg/g10/keyring.c:1317,1
    - Dst: umask
      Src: /src/gnupg/g10/keyring.c:1324,1
    - Dst: is_secured_filename
      Src: /src/gnupg/g10/keyring.c:1325,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/keyring.c:1328,1
    - Dst: iobuf_create
      Src: /src/gnupg/g10/keyring.c:1331,1
    - Dst: umask
      Src: /src/gnupg/g10/keyring.c:1332,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyring.c:1335,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:1336,1
    - Dst: _
      Src: /src/gnupg/g10/keyring.c:1336,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyring.c:1336,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyring.c:1337,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyring.c:1339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - r_bakfname
    - r_tmpfname
    - r_fp
    argTypes:
    - char**
    - char**
    - IOBUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1310
    functionDepth: 1
    functionLinenumber: 1310
    functionLinenumberEnd: 1344
    functionName: create_tmp_file
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - umask
    - gpg_error_from_syserror
    - log_error
    - _
    - gpg_strerror
    - xfree
    - gpg_err_set_errno
    - iobuf_create
    - keybox_tmp_names
    - is_secured_filename
    linkageType: ''
    returnType: int
    signature: "int create_tmp_file (const char *template,\n                 char
      **r_bakfname, char **r_tmpfname, IOBUF *r_fp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/keyring.c:1354,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyring.c:1356,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/keyring.c:1359,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/keyring.c:1360,1
    - Dst: gnupg_rename_file
      Src: /src/gnupg/g10/keyring.c:1364,1
    - Dst: gnupg_rename_file
      Src: /src/gnupg/g10/keyring.c:1369,1
    - Dst: gnupg_unblock_all_signals
      Src: /src/gnupg/g10/keyring.c:1372,1
    - Dst: register_secured_file
      Src: /src/gnupg/g10/keyring.c:1377,1
    - Dst: gnupg_stat
      Src: /src/gnupg/g10/keyring.c:1388,1
    - Dst: chmod
      Src: /src/gnupg/g10/keyring.c:1388,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:1391,1
    - Dst: strerror
      Src: /src/gnupg/g10/keyring.c:1392,1
    - Dst: gnupg_unblock_all_signals
      Src: /src/gnupg/g10/keyring.c:1400,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - bakfname
    - tmpfname
    - fname
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1402
    functionName: rename_tmp_file
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - register_secured_file
    - gnupg_unblock_all_signals
    - gpg_error_from_syserror
    - log_error
    - gnupg_rename_file
    - chmod
    - iobuf_ioctl
    - gnupg_stat
    - strerror
    linkageType: ''
    returnType: int
    signature: int rename_tmp_file (const char *bakfname, const char *tmpfname, const
      char *fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: walk_kbnode
      Src: /src/gnupg/g10/keyring.c:1411,1
    - Dst: build_packet_and_meta
      Src: /src/gnupg/g10/keyring.c:1413,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:1415,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyring.c:1416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fp
    - keyblock
    argTypes:
    - IOBUF
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1421
    functionName: write_keyblock
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - walk_kbnode
    - build_packet_and_meta
    - gpg_strerror
    - log_error
    linkageType: ''
    returnType: int
    signature: int write_keyblock (IOBUF fp, KBNODE keyblock)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: keyring_new
      Src: /src/gnupg/g10/keyring.c:1441,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyring.c:1443,1
    - Dst: memset
      Src: /src/gnupg/g10/keyring.c:1444,1
    - Dst: keyring_lock
      Src: /src/gnupg/g10/keyring.c:1447,1
    - Dst: keyring_search
      Src: /src/gnupg/g10/keyring.c:1453,1
    - Dst: keyring_get_resource_name
      Src: /src/gnupg/g10/keyring.c:1458,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:1463,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyring.c:1465,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:1466,1
    - Dst: strerror
      Src: /src/gnupg/g10/keyring.c:1467,1
    - Dst: rename_tmp_file
      Src: /src/gnupg/g10/keyring.c:1476,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyring.c:1478,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyring.c:1479,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyring.c:1484,1
    - Dst: _
      Src: /src/gnupg/g10/keyring.c:1484,1
    - Dst: create_tmp_file
      Src: /src/gnupg/g10/keyring.c:1485,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyring.c:1490,1
    - Dst: keyring_get_keyblock
      Src: /src/gnupg/g10/keyring.c:1491,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyring.c:1494,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:1496,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyring.c:1496,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:1504,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyring.c:1508,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyring.c:1510,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/keyring.c:1542,1
    - Dst: openpgp_pk_test_algo
      Src: /src/gnupg/g10/keyring.c:1543,1
    - Dst: check_key_signature
      Src: /src/gnupg/g10/keyring.c:1546,1
    - Dst: write_keyblock
      Src: /src/gnupg/g10/keyring.c:1553,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyring.c:1558,1
    - Dst: ngettext
      Src: /src/gnupg/g10/keyring.c:1558,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:1568,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyring.c:1568,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyring.c:1574,1
    - Dst: ngettext
      Src: /src/gnupg/g10/keyring.c:1574,1
    - Dst: log_printf
      Src: /src/gnupg/g10/keyring.c:1576,1
    - Dst: ngettext
      Src: /src/gnupg/g10/keyring.c:1576,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:1582,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyring.c:1584,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:1585,1
    - Dst: strerror
      Src: /src/gnupg/g10/keyring.c:1586,1
    - Dst: rename_tmp_file
      Src: /src/gnupg/g10/keyring.c:1593,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyring.c:1595,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyring.c:1596,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/keyring.c:1600,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyring.c:1601,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyring.c:1602,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyring.c:1603,1
    - Dst: keyring_fp_close
      Src: /src/gnupg/g10/keyring.c:1604,1
    - Dst: keyring_lock
      Src: /src/gnupg/g10/keyring.c:1605,1
    - Dst: keyring_release
      Src: /src/gnupg/g10/keyring.c:1606,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 114
    argCount: 3
    argNames:
    - ctrl
    - token
    - noisy
    argTypes:
    - ctrl_t
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1428
    functionDepth: 4
    functionLinenumber: 1428
    functionLinenumberEnd: 1608
    functionName: keyring_rebuild_cache
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 0
    functionsReached:
    - write_keyblock
    - iobuf_cancel
    - keyring_search
    - keyring_new
    - log_error
    - ngettext
    - _
    - log_info
    - log_printf
    - keyring_release
    - rename_tmp_file
    - gpg_error_from_syserror
    - keyring_lock
    - gpg_error
    - memset
    - xfree
    - gpg_strerror
    - openpgp_pk_test_algo
    - keyring_fp_close
    - check_key_signature
    - keyring_get_keyblock
    - keyring_get_resource_name
    - iobuf_close
    - release_kbnode
    - create_tmp_file
    - openpgp_md_test_algo
    - gpg_err_code
    - strerror
    linkageType: ''
    returnType: int
    signature: int keyring_rebuild_cache (ctrl_t ctrl, void *token, int noisy)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_access
      Src: /src/gnupg/g10/keyring.c:1630,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyring.c:1631,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/keyring.c:1633,1
    - Dst: umask
      Src: /src/gnupg/g10/keyring.c:1639,1
    - Dst: is_secured_filename
      Src: /src/gnupg/g10/keyring.c:1640,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/keyring.c:1642,1
    - Dst: iobuf_create
      Src: /src/gnupg/g10/keyring.c:1645,1
    - Dst: umask
      Src: /src/gnupg/g10/keyring.c:1646,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyring.c:1649,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:1650,1
    - Dst: _
      Src: /src/gnupg/g10/keyring.c:1650,1
    - Dst: strerror
      Src: /src/gnupg/g10/keyring.c:1650,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyring.c:1654,1
    - Dst: _
      Src: /src/gnupg/g10/keyring.c:1654,1
    - Dst: walk_kbnode
      Src: /src/gnupg/g10/keyring.c:1657,1
    - Dst: build_packet
      Src: /src/gnupg/g10/keyring.c:1658,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:1659,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyring.c:1660,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/keyring.c:1661,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:1665,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyring.c:1666,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:1667,1
    - Dst: strerror
      Src: /src/gnupg/g10/keyring.c:1667,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyring.c:1675,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:1676,1
    - Dst: _
      Src: /src/gnupg/g10/keyring.c:1676,1
    - Dst: strerror
      Src: /src/gnupg/g10/keyring.c:1676,1
    - Dst: create_tmp_file
      Src: /src/gnupg/g10/keyring.c:1681,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:1683,1
    - Dst: copy_all_packets
      Src: /src/gnupg/g10/keyring.c:1689,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:1691,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyring.c:1692,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:1693,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/keyring.c:1694,1
    - Dst: copy_some_packets
      Src: /src/gnupg/g10/keyring.c:1701,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:1703,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyring.c:1704,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:1705,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/keyring.c:1706,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keyring.c:1710,1
    - Dst: skip_some_packets
      Src: /src/gnupg/g10/keyring.c:1711,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:1713,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyring.c:1714,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:1715,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/keyring.c:1716,1
    - Dst: write_keyblock
      Src: /src/gnupg/g10/keyring.c:1722,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:1724,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/keyring.c:1725,1
    - Dst: copy_all_packets
      Src: /src/gnupg/g10/keyring.c:1732,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:1734,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyring.c:1735,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:1736,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/keyring.c:1737,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:1743,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyring.c:1744,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:1745,1
    - Dst: strerror
      Src: /src/gnupg/g10/keyring.c:1745,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyring.c:1748,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyring.c:1749,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyring.c:1750,1
    - Dst: strerror
      Src: /src/gnupg/g10/keyring.c:1750,1
    - Dst: rename_tmp_file
      Src: /src/gnupg/g10/keyring.c:1754,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyring.c:1757,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyring.c:1758,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 112
    argCount: 5
    argNames:
    - mode
    - fname
    - root
    - start_offset
    - n_packets
    argTypes:
    - int
    - char*
    - KBNODE
    - off_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1618
    functionDepth: 1
    functionLinenumber: 1618
    functionLinenumberEnd: 1760
    functionName: do_copy
    functionSourceFile: /src/gnupg/g10/keyring.c
    functionUses: 3
    functionsReached:
    - log_assert
    - write_keyblock
    - iobuf_cancel
    - walk_kbnode
    - umask
    - log_error
    - gnupg_access
    - _
    - log_info
    - copy_all_packets
    - rename_tmp_file
    - gpg_error_from_syserror
    - iobuf_open
    - gpg_error
    - gpg_strerror
    - xfree
    - build_packet
    - is_secured_filename
    - skip_some_packets
    - iobuf_close
    - create_tmp_file
    - gpg_err_set_errno
    - copy_some_packets
    - iobuf_create
    - strerror
    linkageType: ''
    returnType: int
    signature: "int do_copy (int mode, const char *fname, KBNODE root,\n         off_t
      start_offset, unsigned int n_packets )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/helptext.c:42,1
    - Dst: strlen
      Src: /src/gnupg/g10/helptext.c:42,1
    - Dst: strcpy
      Src: /src/gnupg/g10/helptext.c:45,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/helptext.c:45,1
    - Dst: gnupg_get_help_string
      Src: /src/gnupg/g10/helptext.c:46,1
    - Dst: xfree
      Src: /src/gnupg/g10/helptext.c:47,1
    - Dst: is_native_utf8
      Src: /src/gnupg/g10/helptext.c:48,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/helptext.c:50,1
    - Dst: strlen
      Src: /src/gnupg/g10/helptext.c:50,1
    - Dst: xfree
      Src: /src/gnupg/g10/helptext.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - keyword
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 61
    functionName: get_help_from_file
    functionSourceFile: /src/gnupg/g10/helptext.c
    functionUses: 0
    functionsReached:
    - is_native_utf8
    - strlen
    - gnupg_get_help_string
    - strcpy
    - xfree
    - stpcpy
    - utf8_to_native
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      get_help_from_file (const char *keyword)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tty_kill_prompt
      Src: /src/gnupg/g10/helptext.c:70,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/helptext.c:72,1
    - Dst: _
      Src: /src/gnupg/g10/helptext.c:72,1
    - Dst: get_help_from_file
      Src: /src/gnupg/g10/helptext.c:73,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/helptext.c:75,1
    - Dst: strlen
      Src: /src/gnupg/g10/helptext.c:76,1
    - Dst: xfree
      Src: /src/gnupg/g10/helptext.c:78,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/helptext.c:82,1
    - Dst: _
      Src: /src/gnupg/g10/helptext.c:82,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/helptext.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - keyword
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 86
    functionName: display_online_help
    functionSourceFile: /src/gnupg/g10/helptext.c
    functionUses: 0
    functionsReached:
    - strlen
    - tty_kill_prompt
    - get_help_from_file
    - _
    - xfree
    - tty_printf
    linkageType: ''
    returnType: void
    signature: void display_online_help( const char *keyword )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/g10/ecdh.c:64,1
    - Dst: DIM
      Src: /src/gnupg/g10/ecdh.c:67,1
    - Dst: log_assert
      Src: /src/gnupg/g10/ecdh.c:74,1
    - Dst: DIM
      Src: /src/gnupg/g10/ecdh.c:74,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/ecdh.c:76,1
    - Dst: gcry_mpi_set_opaque_copy
      Src: /src/gnupg/g10/ecdh.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - qbits
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 79
    functionName: pk_ecdh_default_params
    functionSourceFile: /src/gnupg/g10/ecdh.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_set_opaque_copy
    - DIM
    - log_printhex
    - log_assert
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t pk_ecdh_default_params (unsigned int qbits)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/ecdh.c:102,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/ecdh.c:103,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/ecdh.c:105,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/ecdh.c:112,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/ecdh.c:113,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/ecdh.c:115,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/ecdh.c:120,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/ecdh.c:123,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/ecdh.c:125,1
    - Dst: memcpy
      Src: /src/gnupg/g10/ecdh.c:127,1
    - Dst: memcpy
      Src: /src/gnupg/g10/ecdh.c:129,1
    - Dst: memcpy
      Src: /src/gnupg/g10/ecdh.c:130,1
    - Dst: memcpy
      Src: /src/gnupg/g10/ecdh.c:131,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/ecdh.c:134,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 5
    argNames:
    - r_kdf_params
    - r_len
    - r_kdf_params_spec
    - pkey
    - fp
    argTypes:
    - unsigned char**
    - size_t*
    - unsigned char**
    - gcry_mpi_t*
    - byte[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 142
    functionName: ecc_build_kdf_params
    functionSourceFile: /src/gnupg/g10/ecdh.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - log_printhex
    - gpg_error_from_syserror
    - gpg_error
    - memcpy
    - gcry_mpi_get_opaque
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ecc_build_kdf_params (unsigned char **r_kdf_params, size_t
      *r_len,\n                      const unsigned char **r_kdf_params_spec,\n                      gcry_mpi_t
      *pkey, const byte fp[MAX_FINGERPRINT_LEN])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: new_progress_context
      Src: /src/gnupg/g10/verify.c:58,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/verify.c:90,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/verify.c:91,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/verify.c:91,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/verify.c:93,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/verify.c:95,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/verify.c:98,1
    - Dst: log_error
      Src: /src/gnupg/g10/verify.c:99,1
    - Dst: _
      Src: /src/gnupg/g10/verify.c:99,1
    - Dst: print_fname_stdin
      Src: /src/gnupg/g10/verify.c:100,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/verify.c:100,1
    - Dst: handle_progress
      Src: /src/gnupg/g10/verify.c:103,1
    - Dst: use_armor_filter
      Src: /src/gnupg/g10/verify.c:105,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/verify.c:107,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/verify.c:108,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/verify.c:113,1
    - Dst: proc_signature_packets
      Src: /src/gnupg/g10/verify.c:114,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/verify.c:115,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/verify.c:116,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/verify.c:118,1
    - Dst: log_error
      Src: /src/gnupg/g10/verify.c:119,1
    - Dst: _
      Src: /src/gnupg/g10/verify.c:119,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/verify.c:126,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/verify.c:127,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - ctrl
    - nfiles
    - files
    argTypes:
    - ctrl_t
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 129
    functionName: verify_signatures
    functionSourceFile: /src/gnupg/g10/verify.c
    functionUses: 1
    functionsReached:
    - handle_progress
    - log_error
    - _
    - free_strlist
    - push_armor_filter
    - print_fname_stdin
    - is_secured_file
    - gpg_error_from_syserror
    - iobuf_open
    - gpg_strerror
    - proc_signature_packets
    - release_armor_context
    - release_progress_context
    - new_progress_context
    - iobuf_close
    - iobuf_get_fd
    - new_armor_context
    - add_to_strlist
    - gpg_err_code
    - gpg_err_set_errno
    - use_armor_filter
    linkageType: ''
    returnType: int
    signature: int verify_signatures (ctrl_t ctrl, int nfiles, char **files )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/g10/verify.c:136,1
    - Dst: strlen
      Src: /src/gnupg/g10/verify.c:136,1
    - Dst: sprintf
      Src: /src/gnupg/g10/verify.c:137,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/verify.c:138,1
    - Dst: xfree
      Src: /src/gnupg/g10/verify.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - status
    - name
    - what
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: print_file_status
    functionSourceFile: /src/gnupg/g10/verify.c
    functionUses: 0
    functionsReached:
    - strlen
    - write_status_text
    - sprintf
    - xmalloc
    - xfree
    linkageType: ''
    returnType: void
    signature: void print_file_status( int status, const char *name, int what )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: new_progress_context
      Src: /src/gnupg/g10/verify.c:148,1
    - Dst: print_file_status
      Src: /src/gnupg/g10/verify.c:151,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/verify.c:152,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/verify.c:154,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/verify.c:155,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/verify.c:155,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/verify.c:157,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/verify.c:159,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/verify.c:162,1
    - Dst: log_error
      Src: /src/gnupg/g10/verify.c:163,1
    - Dst: _
      Src: /src/gnupg/g10/verify.c:163,1
    - Dst: print_fname_stdin
      Src: /src/gnupg/g10/verify.c:164,1
    - Dst: strerror
      Src: /src/gnupg/g10/verify.c:164,1
    - Dst: print_file_status
      Src: /src/gnupg/g10/verify.c:165,1
    - Dst: handle_progress
      Src: /src/gnupg/g10/verify.c:168,1
    - Dst: use_armor_filter
      Src: /src/gnupg/g10/verify.c:171,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/verify.c:172,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/verify.c:173,1
    - Dst: proc_signature_packets
      Src: /src/gnupg/g10/verify.c:177,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/verify.c:178,1
    - Dst: write_status
      Src: /src/gnupg/g10/verify.c:179,1
    - Dst: reset_literals_seen
      Src: /src/gnupg/g10/verify.c:181,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/verify.c:184,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/verify.c:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - ctrl
    - name
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 187
    functionName: verify_one_file
    functionSourceFile: /src/gnupg/g10/verify.c
    functionUses: 0
    functionsReached:
    - handle_progress
    - log_error
    - iobuf_ioctl
    - _
    - write_status
    - reset_literals_seen
    - push_armor_filter
    - print_fname_stdin
    - is_secured_file
    - gpg_error_from_syserror
    - iobuf_open
    - print_file_status
    - proc_signature_packets
    - release_armor_context
    - release_progress_context
    - new_progress_context
    - iobuf_close
    - iobuf_get_fd
    - new_armor_context
    - gpg_err_set_errno
    - use_armor_filter
    - strerror
    linkageType: ''
    returnType: int
    signature: int verify_one_file (ctrl_t ctrl, const char *name )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/gnupg/g10/verify.c:204,1
    - Dst: DIM
      Src: /src/gnupg/g10/verify.c:204,1
    - Dst: strlen
      Src: /src/gnupg/g10/verify.c:206,1
    - Dst: log_error
      Src: /src/gnupg/g10/verify.c:207,1
    - Dst: _
      Src: /src/gnupg/g10/verify.c:207,1
    - Dst: strlen
      Src: /src/gnupg/g10/verify.c:213,1
    - Dst: verify_one_file
      Src: /src/gnupg/g10/verify.c:214,1
    - Dst: verify_one_file
      Src: /src/gnupg/g10/verify.c:223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - ctrl
    - nfiles
    - files
    argTypes:
    - ctrl_t
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 230
    functionName: verify_files
    functionSourceFile: /src/gnupg/g10/verify.c
    functionUses: 1
    functionsReached:
    - log_error
    - strlen
    - DIM
    - verify_one_file
    - _
    - fgets
    linkageType: ''
    returnType: int
    signature: int verify_files (ctrl_t ctrl, int nfiles, char **files )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: new_progress_context
      Src: /src/gnupg/g10/verify.c:249,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/verify.c:254,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/verify.c:257,1
    - Dst: iobuf_fdopen_nc
      Src: /src/gnupg/g10/verify.c:260,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/verify.c:263,1
    - Dst: log_error
      Src: /src/gnupg/g10/verify.c:264,1
    - Dst: _
      Src: /src/gnupg/g10/verify.c:264,1
    - Dst: FD_DBG
      Src: /src/gnupg/g10/verify.c:264,1
    - Dst: strerror
      Src: /src/gnupg/g10/verify.c:265,1
    - Dst: handle_progress
      Src: /src/gnupg/g10/verify.c:269,1
    - Dst: use_armor_filter
      Src: /src/gnupg/g10/verify.c:271,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/verify.c:273,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/verify.c:274,1
    - Dst: proc_signature_packets_by_fd
      Src: /src/gnupg/g10/verify.c:277,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/verify.c:280,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/verify.c:281,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/verify.c:284,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/verify.c:285,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/verify.c:286,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - ctrl
    - sig_fd
    - data_fd
    - out_fp
    argTypes:
    - ctrl_t
    - gnupg_fd_t
    - gnupg_fd_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 288
    functionName: gpg_verify
    functionSourceFile: /src/gnupg/g10/verify.c
    functionUses: 0
    functionsReached:
    - iobuf_fdopen_nc
    - handle_progress
    - log_error
    - _
    - FD_DBG
    - push_armor_filter
    - is_secured_file
    - gpg_error_from_syserror
    - proc_signature_packets_by_fd
    - gpg_error
    - release_armor_context
    - release_progress_context
    - new_progress_context
    - iobuf_close
    - new_armor_context
    - gpg_err_code
    - gpg_err_set_errno
    - use_armor_filter
    - strerror
    linkageType: ''
    returnType: int
    signature: "int gpg_verify (ctrl_t ctrl, gnupg_fd_t sig_fd, gnupg_fd_t data_fd,\n
      \           estream_t out_fp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/g10/verify.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 304
    functionName: is_fingerprint
    functionSourceFile: /src/gnupg/g10/verify.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    linkageType: ''
    returnType: int
    signature: int is_fingerprint (const char *string)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: is_fingerprint
      Src: /src/gnupg/g10/verify.c:330,1
    - Dst: ascii_strupr
      Src: /src/gnupg/g10/verify.c:332,1
    - Dst: strcmp
      Src: /src/gnupg/g10/verify.c:333,1
    - Dst: strcmp
      Src: /src/gnupg/g10/verify.c:333,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/verify.c:336,1
    - Dst: log_info
      Src: /src/gnupg/g10/verify.c:338,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/verify.c:345,1
    - Dst: es_fopen
      Src: /src/gnupg/g10/verify.c:346,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/verify.c:349,1
    - Dst: log_error
      Src: /src/gnupg/g10/verify.c:350,1
    - Dst: _
      Src: /src/gnupg/g10/verify.c:350,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/verify.c:351,1
    - Dst: es_fgets
      Src: /src/gnupg/g10/verify.c:357,1
    - Dst: DIM
      Src: /src/gnupg/g10/verify.c:357,1
    - Dst: strlen
      Src: /src/gnupg/g10/verify.c:361,1
    - Dst: es_getc
      Src: /src/gnupg/g10/verify.c:365,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/verify.c:367,1
    - Dst: log_error
      Src: /src/gnupg/g10/verify.c:368,1
    - Dst: _
      Src: /src/gnupg/g10/verify.c:368,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/verify.c:369,1
    - Dst: spacep
      Src: /src/gnupg/g10/verify.c:377,1
    - Dst: spacep
      Src: /src/gnupg/g10/verify.c:383,1
    - Dst: ascii_strupr
      Src: /src/gnupg/g10/verify.c:386,1
    - Dst: strcmp
      Src: /src/gnupg/g10/verify.c:388,1
    - Dst: strcmp
      Src: /src/gnupg/g10/verify.c:388,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/verify.c:391,1
    - Dst: log_info
      Src: /src/gnupg/g10/verify.c:393,1
    - Dst: es_feof
      Src: /src/gnupg/g10/verify.c:398,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/verify.c:400,1
    - Dst: log_error
      Src: /src/gnupg/g10/verify.c:401,1
    - Dst: _
      Src: /src/gnupg/g10/verify.c:401,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/verify.c:402,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/verify.c:408,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 66
    argCount: 2
    argNames:
    - mainpkhex
    - pkhex
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 409
    functionName: check_assert_signer_list
    functionSourceFile: /src/gnupg/g10/verify.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - is_fingerprint
    - write_status_text
    - es_fclose
    - log_error
    - es_fgets
    - DIM
    - _
    - strlen
    - strcmp
    - spacep
    - gpg_error
    - es_feof
    - log_info
    - es_fopen
    - gpg_strerror
    - es_getc
    - ascii_strupr
    linkageType: ''
    returnType: void
    signature: void check_assert_signer_list (const char *mainpkhex, const char *pkhex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: compare_pubkey_string
      Src: /src/gnupg/g10/verify.c:423,1
    - Dst: write_status_strings
      Src: /src/gnupg/g10/verify.c:425,1
    - Dst: log_info
      Src: /src/gnupg/g10/verify.c:428,1
    - Dst: log_info
      Src: /src/gnupg/g10/verify.c:433,1
    - Dst: write_status_strings
      Src: /src/gnupg/g10/verify.c:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - algostr
    - pkhex
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 438
    functionName: check_assert_pubkey_algo
    functionSourceFile: /src/gnupg/g10/verify.c
    functionUses: 0
    functionsReached:
    - write_status_strings
    - log_info
    - compare_pubkey_string
    linkageType: ''
    returnType: void
    signature: void check_assert_pubkey_algo (const char *algostr, const char *pkhex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/g10/pkclist.c:51,1
    - Dst: write_status_text_and_buffer
      Src: /src/gnupg/g10/pkclist.c:52,1
    - Dst: strlen
      Src: /src/gnupg/g10/pkclist.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - reason
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: send_status_inv_recp
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached:
    - write_status_text_and_buffer
    - snprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: void send_status_inv_recp (int reason, const char *name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: enum_sig_subpkt
      Src: /src/gnupg/g10/pkclist.c:69,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:75,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:77,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:79,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:81,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:83,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:87,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:87,1
    - Dst: log_printf
      Src: /src/gnupg/g10/pkclist.c:89,1
    - Dst: log_printf
      Src: /src/gnupg/g10/pkclist.c:91,1
    - Dst: memchr
      Src: /src/gnupg/g10/pkclist.c:101,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:103,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:103,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/pkclist.c:104,1
    - Dst: log_get_stream
      Src: /src/gnupg/g10/pkclist.c:104,1
    - Dst: log_printf
      Src: /src/gnupg/g10/pkclist.c:105,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - sig
    argTypes:
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 110
    functionName: do_show_revocation_reason
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached:
    - es_write_sanitized
    - _
    - log_info
    - log_get_stream
    - log_printf
    - enum_sig_subpkt
    - memchr
    linkageType: ''
    returnType: void
    signature: void do_show_revocation_reason( PKT_signature *sig )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/pkclist.c:132,1
    - Dst: get_pubkey_byfpr
      Src: /src/gnupg/g10/pkclist.c:133,1
    - Dst: log_debug
      Src: /src/gnupg/g10/pkclist.c:135,1
    - Dst: cmp_public_keys
      Src: /src/gnupg/g10/pkclist.c:143,1
    - Dst: log_debug
      Src: /src/gnupg/g10/pkclist.c:147,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/pkclist.c:148,1
    - Dst: do_show_revocation_reason
      Src: /src/gnupg/g10/pkclist.c:159,1
    - Dst: show_revocation_reason
      Src: /src/gnupg/g10/pkclist.c:166,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/pkclist.c:168,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 27
    argCount: 3
    argNames:
    - ctrl
    - pk
    - mode
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 169
    functionName: show_revocation_reason
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 1
    functionsReached:
    - get_pubkey_byfpr
    - release_kbnode
    - cmp_public_keys
    - show_revocation_reason
    - fingerprint_from_pk
    - do_show_revocation_reason
    - log_debug
    linkageType: ''
    returnType: void
    signature: void show_revocation_reason (ctrl_t ctrl, PKT_public_key *pk, int mode)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: tdb_get_min_ownertrust
      Src: /src/gnupg/g10/pkclist.c:194,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/pkclist.c:205,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:219,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:227,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:227,1
    - Dst: print_key_line
      Src: /src/gnupg/g10/pkclist.c:228,1
    - Dst: get_user_id_native
      Src: /src/gnupg/g10/pkclist.c:230,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:231,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:231,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkclist.c:232,1
    - Dst: get_pubkeyblock
      Src: /src/gnupg/g10/pkclist.c:234,1
    - Dst: BUG
      Src: /src/gnupg/g10/pkclist.c:236,1
    - Dst: show_photos
      Src: /src/gnupg/g10/pkclist.c:252,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/pkclist.c:257,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:260,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:260,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/pkclist.c:263,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:264,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/pkclist.c:265,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:270,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:270,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:272,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:277,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:277,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:281,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:285,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:285,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:287,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:287,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:289,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:289,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:291,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:291,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:293,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:293,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:296,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:299,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:299,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:302,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:302,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:303,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:303,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:305,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:307,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:307,1
    - Dst: trust_value_to_string
      Src: /src/gnupg/g10/pkclist.c:308,1
    - Dst: strlen
      Src: /src/gnupg/g10/pkclist.c:311,1
    - Dst: BUG
      Src: /src/gnupg/g10/pkclist.c:312,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/pkclist.c:313,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:313,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/pkclist.c:314,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/pkclist.c:315,1
    - Dst: BUG
      Src: /src/gnupg/g10/pkclist.c:330,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/pkclist.c:333,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:334,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:348,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:348,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkclist.c:366,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkclist.c:368,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 126
    argCount: 5
    argNames:
    - ctrl
    - pk
    - mode
    - new_trust
    - defer_help
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - int
    - unsigned*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 370
    functionName: do_edit_ownertrust
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - strlen
    - cpr_get
    - BUG
    - utf8_to_native
    - print_key_line
    - trim_spaces
    - _
    - tty_printf
    - cpr_get_answer_is_yes
    - show_photos
    - xfree
    - tdb_get_min_ownertrust
    - trust_value_to_string
    - print_fingerprint
    - release_kbnode
    - keyid_from_pk
    - get_pubkeyblock
    - get_user_id_native
    linkageType: ''
    returnType: int
    signature: "int do_edit_ownertrust (ctrl_t ctrl, PKT_public_key *pk, int mode,\n
      \                   unsigned *new_trust, int defer_help )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: do_edit_ownertrust
      Src: /src/gnupg/g10/pkclist.c:388,1
    - Dst: get_ownertrust
      Src: /src/gnupg/g10/pkclist.c:397,1
    - Dst: update_ownertrust
      Src: /src/gnupg/g10/pkclist.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ctrl
    - pk
    - mode
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 404
    functionName: edit_ownertrust
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 1
    functionsReached:
    - update_ownertrust
    - do_edit_ownertrust
    - get_ownertrust
    linkageType: ''
    returnType: int
    signature: int edit_ownertrust (ctrl_t ctrl, PKT_public_key *pk, int mode )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/gnupg/g10/pkclist.c:423,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:429,1
    - Dst: log_error
      Src: /src/gnupg/g10/pkclist.c:436,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:441,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:441,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/pkclist.c:442,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:446,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:446,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/pkclist.c:447,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:452,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:452,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:457,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:457,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:463,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:463,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/pkclist.c:464,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - pk
    - trustlevel
    argTypes:
    - PKT_public_key*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 469
    functionName: do_we_trust
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached:
    - log_error
    - keystr_from_pk
    - _
    - BUG
    - log_info
    linkageType: ''
    returnType: int
    signature: int do_we_trust( PKT_public_key *pk, unsigned int trustlevel )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: do_we_trust
      Src: /src/gnupg/g10/pkclist.c:481,1
    - Dst: print_key_info
      Src: /src/gnupg/g10/pkclist.c:485,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/pkclist.c:486,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:487,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:490,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:491,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:495,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:496,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:500,1
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/pkclist.c:503,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/pkclist.c:508,1
    - Dst: get_long_user_id_string
      Src: /src/gnupg/g10/pkclist.c:509,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/pkclist.c:510,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkclist.c:511,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/pkclist.c:514,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ctrl
    - pk
    - trustlevel
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 524
    functionName: do_we_trust_pre
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached:
    - print_key_info
    - print_fingerprint
    - cpr_get_answer_is_yes
    - write_status_text
    - do_we_trust
    - keyid_from_pk
    - _
    - is_status_enabled
    - get_long_user_id_string
    - xfree
    - tty_printf
    linkageType: ''
    returnType: int
    signature: int do_we_trust_pre (ctrl_t ctrl, PKT_public_key *pk, unsigned int
      trustlevel )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write_status
      Src: /src/gnupg/g10/pkclist.c:533,1
    - Dst: percent_escape
      Src: /src/gnupg/g10/pkclist.c:546,1
    - Dst: write_status_strings
      Src: /src/gnupg/g10/pkclist.c:548,1
    - Dst: trust_model_string
      Src: /src/gnupg/g10/pkclist.c:548,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkclist.c:550,1
    - Dst: write_status_strings
      Src: /src/gnupg/g10/pkclist.c:553,1
    - Dst: trust_model_string
      Src: /src/gnupg/g10/pkclist.c:553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - statuscode
    - trustlevel
    - mbox
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 556
    functionName: write_trust_status
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached:
    - write_status_strings
    - write_status
    - xfree
    - trust_model_string
    - percent_escape
    linkageType: ''
    returnType: void
    signature: void write_trust_status (int statuscode, int trustlevel, const char
      *mbox)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/g10/pkclist.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - mbox
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 569
    functionName: is_in_sender_list
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int is_in_sender_list (const char *mbox)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:593,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:593,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/pkclist.c:595,1
    - Dst: log_assert
      Src: /src/gnupg/g10/pkclist.c:599,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:604,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:604,1
    - Dst: is_valid_mailbox
      Src: /src/gnupg/g10/pkclist.c:612,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/g10/pkclist.c:632,1
    - Dst: strcmp
      Src: /src/gnupg/g10/pkclist.c:638,1
    - Dst: is_in_sender_list
      Src: /src/gnupg/g10/pkclist.c:647,1
    - Dst: is_in_sender_list
      Src: /src/gnupg/g10/pkclist.c:658,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:673,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:673,1
    - Dst: get_validity
      Src: /src/gnupg/g10/pkclist.c:675,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:685,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:685,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:688,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:688,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:691,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:691,1
    - Dst: write_status
      Src: /src/gnupg/g10/pkclist.c:698,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:700,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:700,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:703,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:703,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:704,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:704,1
    - Dst: show_revocation_reason
      Src: /src/gnupg/g10/pkclist.c:705,1
    - Dst: write_status
      Src: /src/gnupg/g10/pkclist.c:709,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:710,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:710,1
    - Dst: show_revocation_reason
      Src: /src/gnupg/g10/pkclist.c:711,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:715,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:715,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:721,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:721,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/pkclist.c:722,1
    - Dst: log_error
      Src: /src/gnupg/g10/pkclist.c:726,1
    - Dst: write_trust_status
      Src: /src/gnupg/g10/pkclist.c:731,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:733,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:733,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:736,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:736,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:738,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:738,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/pkclist.c:740,1
    - Dst: write_trust_status
      Src: /src/gnupg/g10/pkclist.c:746,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:747,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:747,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:748,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:748,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/pkclist.c:750,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkclist.c:751,1
    - Dst: write_trust_status
      Src: /src/gnupg/g10/pkclist.c:755,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:757,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:757,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:760,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:760,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:762,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:762,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/pkclist.c:764,1
    - Dst: write_trust_status
      Src: /src/gnupg/g10/pkclist.c:768,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/pkclist.c:770,1
    - Dst: write_trust_status
      Src: /src/gnupg/g10/pkclist.c:774,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/pkclist.c:776,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 124
    argCount: 4
    argNames:
    - ctrl
    - keyblock
    - pk
    - sig
    argTypes:
    - ctrl_t
    - kbnode_t
    - PKT_public_key*
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 577
    functionDepth: 3
    functionLinenumber: 577
    functionLinenumberEnd: 782
    functionName: check_signatures_trust
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached:
    - print_fingerprint
    - log_assert
    - log_error
    - is_in_sender_list
    - _
    - strcmp
    - write_status
    - show_revocation_reason
    - log_info
    - is_valid_mailbox
    - gpg_error
    - get_validity
    - write_trust_status
    - mailbox_from_userid
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t check_signatures_trust (ctrl_t ctrl, kbnode_t keyblock,
      PKT_public_key *pk,\n                        PKT_signature *sig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_public_key
      Src: /src/gnupg/g10/pkclist.c:793,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkclist.c:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pk_list
    argTypes:
    - pk_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 796
    functionName: release_pk_list
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached:
    - free_public_key
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_pk_list (pk_list_t pk_list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmp_public_keys
      Src: /src/gnupg/g10/pkclist.c:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pk_list
    - pk
    argTypes:
    - PK_LIST
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 807
    functionName: key_present_in_pk_list
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached:
    - cmp_public_keys
    linkageType: ''
    returnType: int
    signature: int key_present_in_pk_list(PK_LIST pk_list, PKT_public_key *pk)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/pkclist.c:821,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/pkclist.c:825,1
    - Dst: get_seckey_default
      Src: /src/gnupg/g10/pkclist.c:828,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/pkclist.c:830,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/pkclist.c:833,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/pkclist.c:834,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 836
    functionName: default_recipient
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached:
    - free_public_key
    - xtrystrdup
    - get_seckey_default
    - xtrycalloc
    - hexfingerprint
    linkageType: ''
    returnType: char
    signature: 'char *

      default_recipient (ctrl_t ctrl)'
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkclist.c:856,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/pkclist.c:858,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/pkclist.c:860,1
    - Dst: get_pubkey_fromfile
      Src: /src/gnupg/g10/pkclist.c:864,1
    - Dst: get_best_pubkey_byname
      Src: /src/gnupg/g10/pkclist.c:866,1
    - Dst: log_error
      Src: /src/gnupg/g10/pkclist.c:873,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:873,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/pkclist.c:873,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/pkclist.c:874,1
    - Dst: send_status_inv_recp
      Src: /src/gnupg/g10/pkclist.c:881,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/pkclist.c:882,1
    - Dst: openpgp_pk_test_algo2
      Src: /src/gnupg/g10/pkclist.c:886,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/pkclist.c:890,1
    - Dst: send_status_inv_recp
      Src: /src/gnupg/g10/pkclist.c:891,1
    - Dst: log_error
      Src: /src/gnupg/g10/pkclist.c:892,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:892,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/pkclist.c:892,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/pkclist.c:893,1
    - Dst: get_validity
      Src: /src/gnupg/g10/pkclist.c:902,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/pkclist.c:906,1
    - Dst: send_status_inv_recp
      Src: /src/gnupg/g10/pkclist.c:907,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:908,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:908,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/pkclist.c:909,1
    - Dst: do_we_trust_pre
      Src: /src/gnupg/g10/pkclist.c:913,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/pkclist.c:916,1
    - Dst: send_status_inv_recp
      Src: /src/gnupg/g10/pkclist.c:917,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/pkclist.c:918,1
    - Dst: key_present_in_pk_list
      Src: /src/gnupg/g10/pkclist.c:925,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:928,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:928,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/pkclist.c:929,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/pkclist.c:935,1
    - Dst: key_present_in_pk_list
      Src: /src/gnupg/g10/pkclist.c:949,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/pkclist.c:953,1
    - Dst: copy_public_key
      Src: /src/gnupg/g10/pkclist.c:954,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/pkclist.c:961,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 6
    argNames:
    - ctrl
    - name
    - use
    - mark_hidden
    - from_file
    - pk_list_addr
    argTypes:
    - ctrl_t
    - char*
    - unsigned int
    - int
    - int
    - pk_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 846
    functionDepth: 3
    functionLinenumber: 846
    functionLinenumberEnd: 963
    functionName: find_and_check_key
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached:
    - get_best_pubkey_byname
    - openpgp_pk_test_algo2
    - xmalloc
    - free_public_key
    - log_error
    - _
    - do_we_trust_pre
    - copy_public_key
    - log_info
    - gpg_error_from_syserror
    - send_status_inv_recp
    - get_pubkey_fromfile
    - gpg_error
    - gpg_strerror
    - xtrycalloc
    - release_kbnode
    - gpg_err_code
    - key_present_in_pk_list
    - get_validity
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t find_and_check_key (ctrl_t ctrl, const char *name, unsigned
      int use,\n                    int mark_hidden, int from_file, pk_list_t *pk_list_addr)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: expand_group
      Src: /src/gnupg/g10/pkclist.c:1000,1
    - Dst: parse_def_secret_key
      Src: /src/gnupg/g10/pkclist.c:1015,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/pkclist.c:1018,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/pkclist.c:1020,1
    - Dst: get_pubkey_byname
      Src: /src/gnupg/g10/pkclist.c:1023,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkclist.c:1027,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkclist.c:1028,1
    - Dst: log_error
      Src: /src/gnupg/g10/pkclist.c:1030,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1030,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:1032,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1032,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:1045,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1045,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:1052,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1052,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:1072,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1072,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/pkclist.c:1074,1
    - Dst: compliance_failure
      Src: /src/gnupg/g10/pkclist.c:1076,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/pkclist.c:1083,1
    - Dst: get_pubkey_byname
      Src: /src/gnupg/g10/pkclist.c:1089,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/pkclist.c:1092,1
    - Dst: log_error
      Src: /src/gnupg/g10/pkclist.c:1093,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1093,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/pkclist.c:1093,1
    - Dst: send_status_inv_recp
      Src: /src/gnupg/g10/pkclist.c:1094,1
    - Dst: openpgp_pk_test_algo2
      Src: /src/gnupg/g10/pkclist.c:1097,1
    - Dst: key_present_in_pk_list
      Src: /src/gnupg/g10/pkclist.c:1102,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/pkclist.c:1104,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:1106,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1106,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/pkclist.c:1112,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:1123,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1123,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/pkclist.c:1125,1
    - Dst: compliance_failure
      Src: /src/gnupg/g10/pkclist.c:1127,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/pkclist.c:1134,1
    - Dst: log_error
      Src: /src/gnupg/g10/pkclist.c:1135,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1135,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/pkclist.c:1135,1
    - Dst: send_status_inv_recp
      Src: /src/gnupg/g10/pkclist.c:1136,1
    - Dst: default_recipient
      Src: /src/gnupg/g10/pkclist.c:1152,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:1155,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1155,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkclist.c:1160,1
    - Dst: strlist_pop
      Src: /src/gnupg/g10/pkclist.c:1170,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:1178,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:1179,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1179,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/pkclist.c:1184,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:1185,1
    - Dst: pubkey_string
      Src: /src/gnupg/g10/pkclist.c:1186,1
    - Dst: keystr
      Src: /src/gnupg/g10/pkclist.c:1188,1
    - Dst: datestr_from_pk
      Src: /src/gnupg/g10/pkclist.c:1189,1
    - Dst: tty_print_utf8_string
      Src: /src/gnupg/g10/pkclist.c:1192,1
    - Dst: get_user_id
      Src: /src/gnupg/g10/pkclist.c:1197,1
    - Dst: tty_print_utf8_string
      Src: /src/gnupg/g10/pkclist.c:1198,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkclist.c:1199,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:1201,1
    - Dst: cpr_get_utf8
      Src: /src/gnupg/g10/pkclist.c:1204,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1205,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/pkclist.c:1207,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/pkclist.c:1208,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkclist.c:1213,1
    - Dst: expand_id
      Src: /src/gnupg/g10/pkclist.c:1220,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/pkclist.c:1224,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/pkclist.c:1225,1
    - Dst: get_pubkey_byname
      Src: /src/gnupg/g10/pkclist.c:1227,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:1230,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1230,1
    - Dst: openpgp_pk_test_algo2
      Src: /src/gnupg/g10/pkclist.c:1231,1
    - Dst: key_present_in_pk_list
      Src: /src/gnupg/g10/pkclist.c:1237,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/pkclist.c:1239,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:1241,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1241,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/pkclist.c:1246,1
    - Dst: get_validity
      Src: /src/gnupg/g10/pkclist.c:1260,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/pkclist.c:1263,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1263,1
    - Dst: do_we_trust_pre
      Src: /src/gnupg/g10/pkclist.c:1265,1
    - Dst: key_present_in_pk_list
      Src: /src/gnupg/g10/pkclist.c:1269,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/pkclist.c:1271,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:1273,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1273,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/pkclist.c:1278,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkclist.c:1289,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/pkclist.c:1294,1
    - Dst: default_recipient
      Src: /src/gnupg/g10/pkclist.c:1298,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/pkclist.c:1301,1
    - Dst: get_pubkey_byname
      Src: /src/gnupg/g10/pkclist.c:1306,1
    - Dst: log_error
      Src: /src/gnupg/g10/pkclist.c:1309,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1309,1
    - Dst: openpgp_pk_test_algo2
      Src: /src/gnupg/g10/pkclist.c:1310,1
    - Dst: key_present_in_pk_list
      Src: /src/gnupg/g10/pkclist.c:1318,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:1319,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1319,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/pkclist.c:1323,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/pkclist.c:1332,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkclist.c:1335,1
    - Dst: find_and_check_key
      Src: /src/gnupg/g10/pkclist.c:1346,1
    - Dst: log_error
      Src: /src/gnupg/g10/pkclist.c:1358,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1358,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/pkclist.c:1359,1
    - Dst: tofu_register_encryption
      Src: /src/gnupg/g10/pkclist.c:1374,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:1376,1
    - Dst: keystr
      Src: /src/gnupg/g10/pkclist.c:1378,1
    - Dst: pk_main_keyid
      Src: /src/gnupg/g10/pkclist.c:1378,1
    - Dst: log_debug
      Src: /src/gnupg/g10/pkclist.c:1380,1
    - Dst: keystr
      Src: /src/gnupg/g10/pkclist.c:1381,1
    - Dst: pk_main_keyid
      Src: /src/gnupg/g10/pkclist.c:1381,1
    - Dst: release_pk_list
      Src: /src/gnupg/g10/pkclist.c:1389,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/pkclist.c:1393,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 227
    argCount: 3
    argNames:
    - ctrl
    - rcpts
    - ret_pk_list
    argTypes:
    - ctrl_t
    - strlist_t
    - PK_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 987
    functionDepth: 4
    functionLinenumber: 987
    functionLinenumberEnd: 1395
    functionName: build_pk_list
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached:
    - get_pubkey_byname
    - cpr_kill_prompt
    - parse_def_secret_key
    - default_recipient
    - pubkey_string
    - openpgp_pk_test_algo2
    - xmalloc
    - expand_id
    - tty_print_utf8_string
    - get_user_id
    - free_public_key
    - release_pk_list
    - log_error
    - trim_spaces
    - _
    - tofu_register_encryption
    - do_we_trust_pre
    - log_info
    - tty_printf
    - free_strlist
    - log_debug
    - strlist_pop
    - gnupg_compliance_option_string
    - write_status_text
    - send_status_inv_recp
    - compliance_failure
    - datestr_from_pk
    - xfree
    - gpg_strerror
    - pk_main_keyid
    - keystr
    - cpr_get_utf8
    - expand_group
    - find_and_check_key
    - keyid_from_pk
    - key_present_in_pk_list
    - xmalloc_clear
    - get_validity
    linkageType: ''
    returnType: int
    signature: int build_pk_list (ctrl_t ctrl, strlist_t rcpts, PK_LIST *ret_pk_list)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_cipher_blocklen
      Src: /src/gnupg/g10/pkclist.c:1421,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/pkclist.c:1435,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/g10/pkclist.c:1441,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/pkclist.c:1476,1
    - Dst: check_compress_algo
      Src: /src/gnupg/g10/pkclist.c:1486,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 33
    argCount: 3
    argNames:
    - preftype
    - algo
    - hint
    argTypes:
    - preftype_t
    - int
    - struct pref_hint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1490
    functionName: algo_available
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached:
    - gcry_md_get_algo_dlen
    - openpgp_md_test_algo
    - openpgp_cipher_test_algo
    - check_compress_algo
    - openpgp_cipher_blocklen
    linkageType: ''
    returnType: int
    signature: int algo_available( preftype_t preftype, int algo, const struct pref_hint
      *hint)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/pkclist.c:1508,1
    - Dst: memset
      Src: /src/gnupg/g10/pkclist.c:1509,1
    - Dst: memset
      Src: /src/gnupg/g10/pkclist.c:1516,1
    - Dst: algo_available
      Src: /src/gnupg/g10/pkclist.c:1617,1
    - Dst: algo_available
      Src: /src/gnupg/g10/pkclist.c:1635,1
    - Dst: algo_available
      Src: /src/gnupg/g10/pkclist.c:1681,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 85
    argCount: 4
    argNames:
    - pk_list
    - preftype
    - request
    - hint
    argTypes:
    - PK_LIST
    - int
    - int
    - struct pref_hint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1495
    functionDepth: 2
    functionLinenumber: 1495
    functionLinenumberEnd: 1690
    functionName: select_algo_from_prefs
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached:
    - algo_available
    - memset
    linkageType: ''
    returnType: int
    signature: "int select_algo_from_prefs(PK_LIST pk_list, int preftype,\n\t\t       int
      request, const struct pref_hint *hint)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pk_list
    argTypes:
    - PK_LIST
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1716
    functionName: select_mdc_from_pklist
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int select_mdc_from_pklist (PK_LIST pk_list)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pk_list
    argTypes:
    - PK_LIST
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1722
    functionDepth: 0
    functionLinenumber: 1722
    functionLinenumberEnd: 1742
    functionName: select_aead_from_pklist
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: aead_algo_t
    signature: aead_algo_t select_aead_from_pklist (PK_LIST pk_list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:1761,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1761,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/pkclist.c:1762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pk_list
    argTypes:
    - PK_LIST
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1747
    functionDepth: 1
    functionLinenumber: 1747
    functionLinenumberEnd: 1764
    functionName: warn_missing_aead_from_pklist
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached:
    - log_info
    - keystr_from_pk
    - _
    linkageType: ''
    returnType: void
    signature: void warn_missing_aead_from_pklist (PK_LIST pk_list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/pkclist.c:1786,1
    - Dst: _
      Src: /src/gnupg/g10/pkclist.c:1786,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/pkclist.c:1787,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - pk_list
    argTypes:
    - PK_LIST
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1766
    functionDepth: 1
    functionLinenumber: 1766
    functionLinenumberEnd: 1789
    functionName: warn_missing_aes_from_pklist
    functionSourceFile: /src/gnupg/g10/pkclist.c
    functionUses: 0
    functionsReached:
    - log_info
    - keystr_from_pk
    - _
    linkageType: ''
    returnType: void
    signature: void warn_missing_aes_from_pklist (PK_LIST pk_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - description
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: TEST_GROUP
    functionSourceFile: /src/gnupg/g10/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_GROUP(description)
  - 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: STRINGIFY2
    functionSourceFile: /src/gnupg/g10/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY2(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: STRINGIFY
    functionSourceFile: /src/gnupg/g10/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - description
    - ','
    - test
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 98
    functionName: TEST
    functionSourceFile: /src/gnupg/g10/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST(description, test, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - description
    - ','
    - test
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: TEST_P
    functionSourceFile: /src/gnupg/g10/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_P(description, test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - description
    - ','
    - test
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: ASSERT
    functionSourceFile: /src/gnupg/g10/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT(description, test, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: ABORT
    functionSourceFile: /src/gnupg/g10/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABORT(message)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/g10/test.c:134,1
    - Dst: exit
      Src: /src/gnupg/g10/test.c:135,1
    - Dst: printf
      Src: /src/gnupg/g10/test.c:139,1
    - Dst: printf
      Src: /src/gnupg/g10/test.c:142,1
    - Dst: printf
      Src: /src/gnupg/g10/test.c:144,1
    - Dst: exit
      Src: /src/gnupg/g10/test.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - force
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 147
    functionName: exit_tests
    functionSourceFile: /src/gnupg/g10/test.c
    functionUses: 0
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void exit_tests (int force)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/g10/test.c:159,1
    - Dst: malloc
      Src: /src/gnupg/g10/test.c:162,1
    - Dst: strlen
      Src: /src/gnupg/g10/test.c:162,1
    - Dst: strlen
      Src: /src/gnupg/g10/test.c:162,1
    - Dst: strlen
      Src: /src/gnupg/g10/test.c:162,1
    - Dst: strcpy
      Src: /src/gnupg/g10/test.c:163,1
    - Dst: strcat
      Src: /src/gnupg/g10/test.c:164,1
    - Dst: strcat
      Src: /src/gnupg/g10/test.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 167
    functionName: prepend_srcdir
    functionSourceFile: /src/gnupg/g10/test.c
    functionUses: 0
    functionsReached:
    - strlen
    - getenv
    - strcpy
    - malloc
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      prepend_srcdir (const char *fname)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnupg/g10/test.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: test_free
    functionSourceFile: /src/gnupg/g10/test.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void test_free (void *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/g10/test.c:185,1
    - Dst: do_test
      Src: /src/gnupg/g10/test.c:189,1
    - Dst: exit_tests
      Src: /src/gnupg/g10/test.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: main
    functionSourceFile: /src/gnupg/g10/test.c
    functionUses: 3
    functionsReached:
    - exit_tests
    - do_test
    - getenv
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc
      Src: /src/gnupg/g10/armor.c:119,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/armor.c:122,1
    - Dst: log_error
      Src: /src/gnupg/g10/armor.c:125,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/armor.c:126,1
    - Dst: xfree
      Src: /src/gnupg/g10/armor.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 135
    functionName: new_armor_context
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 4
    functionsReached:
    - gcry_md_open
    - log_error
    - xcalloc
    - gpg_strerror
    - xfree
    linkageType: ''
    returnType: armor_filter_context_t
    signature: 'armor_filter_context_t *

      new_armor_context (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/armor.c:144,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/armor.c:147,1
    - Dst: xfree
      Src: /src/gnupg/g10/armor.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - afx
    argTypes:
    - armor_filter_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: release_armor_context
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 4
    functionsReached:
    - gcry_md_close
    - xfree
    - log_assert
    linkageType: ''
    returnType: void
    signature: void release_armor_context (armor_filter_context_t *afx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/armor.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - afx
    - iobuf
    argTypes:
    - armor_filter_context_t*
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: push_armor_filter
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 4
    functionsReached:
    - iobuf_push_filter
    linkageType: ''
    returnType: int
    signature: int push_armor_filter (armor_filter_context_t *afx, iobuf_t iobuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - afx
    argTypes:
    - armor_filter_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: was_armored
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int was_armored (armor_filter_context_t *afx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/armor.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 194
    functionName: initialize
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 4
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_read
      Src: /src/gnupg/g10/armor.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - afx
    argTypes:
    - armor_filter_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 212
    functionName: get_afx_crc
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 0
    functionsReached:
    - gcry_md_read
    linkageType: ''
    returnType: u32
    signature: u32 get_afx_crc (armor_filter_context_t *afx)
  - BBCount: 27
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 1
    argNames:
    - buf
    argTypes:
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 293
    functionName: is_armored
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_armored (const byte *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_peek
      Src: /src/gnupg/g10/armor.c:308,1
    - Dst: is_armored
      Src: /src/gnupg/g10/armor.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - IOBUF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 316
    functionName: use_armor_filter
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 4
    functionsReached:
    - iobuf_peek
    - is_armored
    linkageType: ''
    returnType: int
    signature: int use_armor_filter( IOBUF a )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_status
      Src: /src/gnupg/g10/armor.c:324,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/armor.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: invalid_armor
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 0
    functionsReached:
    - g10_exit
    - write_status
    linkageType: ''
    returnType: void
    signature: void invalid_armor(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/armor.c:342,1
    - Dst: strlen
      Src: /src/gnupg/g10/armor.c:342,1
    - Dst: memcmp
      Src: /src/gnupg/g10/armor.c:344,1
    - Dst: strncmp
      Src: /src/gnupg/g10/armor.c:354,1
    - Dst: strncmp
      Src: /src/gnupg/g10/armor.c:356,1
    - Dst: strncmp
      Src: /src/gnupg/g10/armor.c:358,1
    - Dst: strncmp
      Src: /src/gnupg/g10/armor.c:360,1
    - Dst: strncmp
      Src: /src/gnupg/g10/armor.c:362,1
    - Dst: strncmp
      Src: /src/gnupg/g10/armor.c:364,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 33
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 376
    functionName: parse_hash_header
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int parse_hash_header( const char *line )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnupg/g10/armor.c:382,1
    - Dst: strncmp
      Src: /src/gnupg/g10/armor.c:383,1
    - Dst: strncmp
      Src: /src/gnupg/g10/armor.c:384,1
    - Dst: strncmp
      Src: /src/gnupg/g10/armor.c:385,1
    - Dst: strncmp
      Src: /src/gnupg/g10/armor.c:386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: is_armor_tag
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: int is_armor_tag(const char *line)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/g10/armor.c:407,1
    - Dst: strstr
      Src: /src/gnupg/g10/armor.c:409,1
    - Dst: strcmp
      Src: /src/gnupg/g10/armor.c:439,1
    - Dst: strncmp
      Src: /src/gnupg/g10/armor.c:444,1
    - Dst: log_info
      Src: /src/gnupg/g10/armor.c:450,1
    - Dst: _
      Src: /src/gnupg/g10/armor.c:450,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 2
    argNames:
    - line
    - len
    argTypes:
    - byte*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 452
    functionName: is_armor_header
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 0
    functionsReached:
    - strstr
    - _
    - strcmp
    - memcmp
    - log_info
    - strncmp
    linkageType: ''
    returnType: int
    signature: int is_armor_header( byte *line, unsigned len )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: length_sans_trailing_ws
      Src: /src/gnupg/g10/armor.c:469,1
    - Dst: strchr
      Src: /src/gnupg/g10/armor.c:485,1
    - Dst: log_error
      Src: /src/gnupg/g10/armor.c:491,1
    - Dst: _
      Src: /src/gnupg/g10/armor.c:491,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/armor.c:492,1
    - Dst: log_get_stream
      Src: /src/gnupg/g10/armor.c:492,1
    - Dst: log_printf
      Src: /src/gnupg/g10/armor.c:493,1
    - Dst: log_info
      Src: /src/gnupg/g10/armor.c:502,1
    - Dst: _
      Src: /src/gnupg/g10/armor.c:502,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/armor.c:503,1
    - Dst: log_get_stream
      Src: /src/gnupg/g10/armor.c:503,1
    - Dst: log_printf
      Src: /src/gnupg/g10/armor.c:504,1
    - Dst: parse_hash_header
      Src: /src/gnupg/g10/armor.c:511,1
    - Dst: strlen
      Src: /src/gnupg/g10/armor.c:514,1
    - Dst: memcmp
      Src: /src/gnupg/g10/armor.c:515,1
    - Dst: log_error
      Src: /src/gnupg/g10/armor.c:519,1
    - Dst: _
      Src: /src/gnupg/g10/armor.c:519,1
    - Dst: is_armor_tag
      Src: /src/gnupg/g10/armor.c:523,1
    - Dst: log_info
      Src: /src/gnupg/g10/armor.c:532,1
    - Dst: _
      Src: /src/gnupg/g10/armor.c:532,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/armor.c:533,1
    - Dst: log_get_stream
      Src: /src/gnupg/g10/armor.c:533,1
    - Dst: log_printf
      Src: /src/gnupg/g10/armor.c:534,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 3
    argNames:
    - afx
    - line
    - len
    argTypes:
    - armor_filter_context_t*
    - byte*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 538
    functionName: parse_header_line
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 0
    functionsReached:
    - log_error
    - strlen
    - es_write_sanitized
    - parse_hash_header
    - _
    - length_sans_trailing_ws
    - is_armor_tag
    - strchr
    - memcmp
    - log_info
    - log_get_stream
    - log_printf
    linkageType: ''
    returnType: int
    signature: int parse_header_line( armor_filter_context_t *afx, byte *line, unsigned
      int len )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_read_line
      Src: /src/gnupg/g10/armor.c:555,1
    - Dst: is_armored
      Src: /src/gnupg/g10/armor.c:572,1
    - Dst: is_armor_header
      Src: /src/gnupg/g10/armor.c:580,1
    - Dst: log_error
      Src: /src/gnupg/g10/armor.c:592,1
    - Dst: _
      Src: /src/gnupg/g10/armor.c:592,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/armor.c:593,1
    - Dst: iobuf_read_line
      Src: /src/gnupg/g10/armor.c:603,1
    - Dst: iobuf_read_line
      Src: /src/gnupg/g10/armor.c:615,1
    - Dst: parse_header_line
      Src: /src/gnupg/g10/armor.c:621,1
    - Dst: invalid_armor
      Src: /src/gnupg/g10/armor.c:631,1
    - Dst: gcry_md_reset
      Src: /src/gnupg/g10/armor.c:636,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 69
    argCount: 2
    argNames:
    - afx
    - a
    argTypes:
    - armor_filter_context_t*
    - IOBUF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 642
    functionName: check_input
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 0
    functionsReached:
    - is_armored
    - parse_header_line
    - log_error
    - invalid_armor
    - gcry_md_reset
    - _
    - iobuf_read_line
    - gpg_error
    - is_armor_header
    linkageType: ''
    returnType: int
    signature: int check_input( armor_filter_context_t *afx, IOBUF a )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/g10/armor.c:675,1
    - Dst: iobuf_read_line
      Src: /src/gnupg/g10/armor.c:691,1
    - Dst: is_armor_header
      Src: /src/gnupg/g10/armor.c:728,1
    - Dst: log_info
      Src: /src/gnupg/g10/armor.c:737,1
    - Dst: _
      Src: /src/gnupg/g10/armor.c:737,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/armor.c:738,1
    - Dst: log_get_stream
      Src: /src/gnupg/g10/armor.c:738,1
    - Dst: log_printf
      Src: /src/gnupg/g10/armor.c:740,1
    - Dst: log_info
      Src: /src/gnupg/g10/armor.c:750,1
    - Dst: _
      Src: /src/gnupg/g10/armor.c:750,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/armor.c:751,1
    - Dst: log_get_stream
      Src: /src/gnupg/g10/armor.c:751,1
    - Dst: log_printf
      Src: /src/gnupg/g10/armor.c:752,1
    - Dst: trim_trailing_chars
      Src: /src/gnupg/g10/armor.c:762,1
    - Dst: memcpy
      Src: /src/gnupg/g10/armor.c:797,1
    - Dst: iobuf_read_line
      Src: /src/gnupg/g10/armor.c:811,1
    - Dst: parse_header_line
      Src: /src/gnupg/g10/armor.c:820,1
    - Dst: invalid_armor
      Src: /src/gnupg/g10/armor.c:823,1
    - Dst: gcry_md_reset
      Src: /src/gnupg/g10/armor.c:828,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 100
    argCount: 5
    argNames:
    - afx
    - a
    - retn
    - buf
    - size
    argTypes:
    - armor_filter_context_t*
    - IOBUF
    - size_t*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 835
    functionName: fake_packet
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 0
    functionsReached:
    - parse_header_line
    - gcry_md_reset
    - invalid_armor
    - es_write_sanitized
    - _
    - iobuf_read_line
    - log_info
    - is_armor_header
    - log_get_stream
    - trim_trailing_chars
    - log_printf
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int fake_packet( armor_filter_context_t *afx, IOBUF a,\n\t     size_t
      *retn, byte *buf, size_t size  )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_inc_errorcount
      Src: /src/gnupg/g10/armor.c:843,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/armor.c:844,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 845
    functionName: invalid_crc
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 0
    functionsReached:
    - log_inc_errorcount
    - gpg_error
    linkageType: ''
    returnType: int
    signature: int invalid_crc(void)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_read_line
      Src: /src/gnupg/g10/armor.c:870,1
    - Dst: isxdigit
      Src: /src/gnupg/g10/armor.c:1006,1
    - Dst: isxdigit
      Src: /src/gnupg/g10/armor.c:1006,1
    - Dst: strchr
      Src: /src/gnupg/g10/armor.c:1007,1
    - Dst: isdigit
      Src: /src/gnupg/g10/armor.c:1009,1
    - Dst: ascii_toupper
      Src: /src/gnupg/g10/armor.c:1009,1
    - Dst: isdigit
      Src: /src/gnupg/g10/armor.c:1011,1
    - Dst: ascii_toupper
      Src: /src/gnupg/g10/armor.c:1011,1
    - Dst: strncmp
      Src: /src/gnupg/g10/armor.c:1046,1
    - Dst: log_error
      Src: /src/gnupg/g10/armor.c:1056,1
    - Dst: _
      Src: /src/gnupg/g10/armor.c:1056,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/armor.c:1066,1
    - Dst: gcry_md_final
      Src: /src/gnupg/g10/armor.c:1071,1
    - Dst: iobuf_read_line
      Src: /src/gnupg/g10/armor.c:1080,1
    - Dst: log_error
      Src: /src/gnupg/g10/armor.c:1094,1
    - Dst: _
      Src: /src/gnupg/g10/armor.c:1094,1
    - Dst: iobuf_read_line
      Src: /src/gnupg/g10/armor.c:1113,1
    - Dst: log_info
      Src: /src/gnupg/g10/armor.c:1128,1
    - Dst: _
      Src: /src/gnupg/g10/armor.c:1128,1
    - Dst: invalid_crc
      Src: /src/gnupg/g10/armor.c:1129,1
    - Dst: log_info
      Src: /src/gnupg/g10/armor.c:1136,1
    - Dst: _
      Src: /src/gnupg/g10/armor.c:1136,1
    - Dst: invalid_crc
      Src: /src/gnupg/g10/armor.c:1137,1
    - Dst: get_afx_crc
      Src: /src/gnupg/g10/armor.c:1139,1
    - Dst: log_info
      Src: /src/gnupg/g10/armor.c:1140,1
    - Dst: _
      Src: /src/gnupg/g10/armor.c:1140,1
    - Dst: get_afx_crc
      Src: /src/gnupg/g10/armor.c:1141,1
    - Dst: invalid_crc
      Src: /src/gnupg/g10/armor.c:1142,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/armor.c:1153,1
    - Dst: log_error
      Src: /src/gnupg/g10/armor.c:1160,1
    - Dst: _
      Src: /src/gnupg/g10/armor.c:1160,1
    - Dst: log_error
      Src: /src/gnupg/g10/armor.c:1164,1
    - Dst: _
      Src: /src/gnupg/g10/armor.c:1164,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 256
    argCount: 5
    argNames:
    - afx
    - a
    - retn
    - buf
    - size
    argTypes:
    - armor_filter_context_t*
    - IOBUF
    - size_t*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 848
    functionDepth: 2
    functionLinenumber: 848
    functionLinenumberEnd: 1177
    functionName: radix64_read
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - get_afx_crc
    - log_error
    - isdigit
    - iobuf_get
    - _
    - iobuf_read_line
    - strchr
    - invalid_crc
    - log_info
    - isxdigit
    - gcry_md_final
    - strncmp
    - ascii_toupper
    linkageType: ''
    returnType: int
    signature: "int radix64_read( armor_filter_context_t *afx, IOBUF a, size_t *retn,\n\t
      \     byte *buf, size_t size )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/armor.c:1185,1
    - Dst: memcpy
      Src: /src/gnupg/g10/armor.c:1192,1
    - Dst: memcpy
      Src: /src/gnupg/g10/armor.c:1197,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/armor.c:1215,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/armor.c:1219,1
    - Dst: memcpy
      Src: /src/gnupg/g10/armor.c:1228,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/armor.c:1255,1
    - Dst: memcpy
      Src: /src/gnupg/g10/armor.c:1261,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/armor.c:1280,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/armor.c:1284,1
    - Dst: memcpy
      Src: /src/gnupg/g10/armor.c:1289,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 74
    argCount: 4
    argNames:
    - afx
    - a
    - buf
    - size
    argTypes:
    - armor_filter_context_t*
    - IOBUF
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1292
    functionName: armor_output_buf_as_radix64
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 0
    functionsReached:
    - iobuf_write
    - memcpy
    - strlen
    linkageType: ''
    returnType: void
    signature: "void armor_output_buf_as_radix64 (armor_filter_context_t *afx, IOBUF
      a,\n\t\t\t     byte *buf, size_t size)"
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnupg/g10/armor.c:1312,1
    - Dst: log_assert
      Src: /src/gnupg/g10/armor.c:1313,1
    - Dst: log_debug
      Src: /src/gnupg/g10/armor.c:1318,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/armor.c:1330,1
    - Dst: BUG
      Src: /src/gnupg/g10/armor.c:1344,1
    - Dst: fake_packet
      Src: /src/gnupg/g10/armor.c:1347,1
    - Dst: check_input
      Src: /src/gnupg/g10/armor.c:1349,1
    - Dst: get_session_marker
      Src: /src/gnupg/g10/armor.c:1363,1
    - Dst: BUG
      Src: /src/gnupg/g10/armor.c:1365,1
    - Dst: memcpy
      Src: /src/gnupg/g10/armor.c:1378,1
    - Dst: memset
      Src: /src/gnupg/g10/armor.c:1405,1
    - Dst: radix64_read
      Src: /src/gnupg/g10/armor.c:1409,1
    - Dst: radix64_read
      Src: /src/gnupg/g10/armor.c:1412,1
    - Dst: fwrite
      Src: /src/gnupg/g10/armor.c:1415,1
    - Dst: BUG
      Src: /src/gnupg/g10/armor.c:1416,1
    - Dst: DIM
      Src: /src/gnupg/g10/armor.c:1425,1
    - Dst: log_bug
      Src: /src/gnupg/g10/armor.c:1426,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1427,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1428,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1429,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1430,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1433,1
    - Dst: iobuf_writebyte
      Src: /src/gnupg/g10/armor.c:1435,1
    - Dst: iobuf_writebyte
      Src: /src/gnupg/g10/armor.c:1438,1
    - Dst: iobuf_writebyte
      Src: /src/gnupg/g10/armor.c:1440,1
    - Dst: spacep
      Src: /src/gnupg/g10/armor.c:1443,1
    - Dst: iobuf_writebyte
      Src: /src/gnupg/g10/armor.c:1444,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1446,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1449,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1455,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1459,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1461,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1463,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/armor.c:1465,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1468,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/armor.c:1475,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/armor.c:1477,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1481,1
    - Dst: gcry_md_reset
      Src: /src/gnupg/g10/armor.c:1485,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/armor.c:1489,1
    - Dst: armor_output_buf_as_radix64
      Src: /src/gnupg/g10/armor.c:1490,1
    - Dst: initialize
      Src: /src/gnupg/g10/armor.c:1496,1
    - Dst: gcry_md_final
      Src: /src/gnupg/g10/armor.c:1517,1
    - Dst: get_afx_crc
      Src: /src/gnupg/g10/armor.c:1518,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/armor.c:1523,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/armor.c:1526,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/armor.c:1527,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/armor.c:1528,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/armor.c:1533,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/armor.c:1535,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/armor.c:1536,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1540,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1546,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/armor.c:1548,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/armor.c:1553,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/armor.c:1555,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/armor.c:1557,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/armor.c:1559,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1560,1
    - Dst: DIM
      Src: /src/gnupg/g10/armor.c:1562,1
    - Dst: log_bug
      Src: /src/gnupg/g10/armor.c:1563,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1564,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1565,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1566,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/armor.c:1567,1
    - Dst: log_error
      Src: /src/gnupg/g10/armor.c:1570,1
    - Dst: _
      Src: /src/gnupg/g10/armor.c:1570,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/armor.c:1572,1
    - Dst: log_info
      Src: /src/gnupg/g10/armor.c:1580,1
    - Dst: _
      Src: /src/gnupg/g10/armor.c:1580,1
    - Dst: log_error
      Src: /src/gnupg/g10/armor.c:1584,1
    - Dst: _
      Src: /src/gnupg/g10/armor.c:1584,1
    - Dst: xfree
      Src: /src/gnupg/g10/armor.c:1586,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/armor.c:1588,1
    - Dst: mem2str
      Src: /src/gnupg/g10/armor.c:1591,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 218
    argCount: 5
    argNames:
    - opaque
    - control
    - a
    - buf
    - ret_len
    argTypes:
    - void*
    - int
    - IOBUF
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1297
    functionDepth: 3
    functionLinenumber: 1297
    functionLinenumberEnd: 1593
    functionName: armor_filter
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 4
    functionsReached:
    - log_assert
    - BUG
    - gcry_md_final
    - iobuf_put
    - memcpy
    - iobuf_writebyte
    - fwrite
    - gcry_md_reset
    - log_error
    - log_bug
    - DIM
    - _
    - log_info
    - get_session_marker
    - radix64_read
    - log_debug
    - initialize
    - get_afx_crc
    - write_status_text
    - spacep
    - iobuf_get
    - memset
    - fopen
    - xfree
    - check_input
    - iobuf_writestr
    - release_armor_context
    - gcry_md_write
    - fake_packet
    - mem2str
    - armor_output_buf_as_radix64
    linkageType: ''
    returnType: int
    signature: "int armor_filter( void *opaque, int control,\n\t     IOBUF a, byte
      *buf, size_t *ret_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/g10/armor.c:1604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1622
    functionName: make_radix64_string
    functionSourceFile: /src/gnupg/g10/armor.c
    functionUses: 0
    functionsReached:
    - xmalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      make_radix64_string( const byte *data, size_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: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: HEXTOBIN
    functionSourceFile: /src/gnupg/g10/tdbdump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HEXTOBIN(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/tdbdump.c:54,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbdump.c:57,1
    - Dst: _
      Src: /src/gnupg/g10/tdbdump.c:57,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbdump.c:58,1
    - Dst: tdbio_invalid
      Src: /src/gnupg/g10/tdbdump.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctrl
    - rec
    argTypes:
    - ctrl_t
    - TRUSTREC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: write_record
    functionSourceFile: /src/gnupg/g10/tdbdump.c
    functionUses: 4
    functionsReached:
    - log_error
    - tdbio_write_record
    - _
    - gpg_strerror
    - tdbio_invalid
    linkageType: ''
    returnType: void
    signature: void write_record (ctrl_t ctrl, TRUSTREC *rec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_trustdb
      Src: /src/gnupg/g10/tdbdump.c:73,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tdbdump.c:80,1
    - Dst: tdbio_get_dbname
      Src: /src/gnupg/g10/tdbdump.c:80,1
    - Dst: strlen
      Src: /src/gnupg/g10/tdbdump.c:81,1
    - Dst: tdbio_get_dbname
      Src: /src/gnupg/g10/tdbdump.c:81,1
    - Dst: es_fputc
      Src: /src/gnupg/g10/tdbdump.c:82,1
    - Dst: es_putc
      Src: /src/gnupg/g10/tdbdump.c:83,1
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbdump.c:84,1
    - Dst: tdbio_dump_record
      Src: /src/gnupg/g10/tdbdump.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ctrl
    - fp
    - username
    argTypes:
    - ctrl_t
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 87
    functionName: list_trustdb
    functionSourceFile: /src/gnupg/g10/tdbdump.c
    functionUses: 0
    functionsReached:
    - tdbio_dump_record
    - es_fprintf
    - tdbio_read_record
    - es_fputc
    - strlen
    - es_putc
    - init_trustdb
    - tdbio_get_dbname
    linkageType: ''
    returnType: void
    signature: void list_trustdb (ctrl_t ctrl, estream_t fp, const char *username)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_trustdb
      Src: /src/gnupg/g10/tdbdump.c:104,1
    - Dst: es_printf
      Src: /src/gnupg/g10/tdbdump.c:105,1
    - Dst: _
      Src: /src/gnupg/g10/tdbdump.c:105,1
    - Dst: asctimestamp
      Src: /src/gnupg/g10/tdbdump.c:107,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/tdbdump.c:107,1
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbdump.c:108,1
    - Dst: es_printf
      Src: /src/gnupg/g10/tdbdump.c:118,1
    - Dst: es_printf
      Src: /src/gnupg/g10/tdbdump.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 122
    functionName: export_ownertrust
    functionSourceFile: /src/gnupg/g10/tdbdump.c
    functionUses: 0
    functionsReached:
    - asctimestamp
    - tdbio_read_record
    - _
    - es_printf
    - make_timestamp
    - init_trustdb
    linkageType: ''
    returnType: void
    signature: void export_ownertrust (ctrl_t ctrl)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: init_trustdb
      Src: /src/gnupg/g10/tdbdump.c:138,1
    - Dst: iobuf_is_pipe_filename
      Src: /src/gnupg/g10/tdbdump.c:139,1
    - Dst: is_secured_filename
      Src: /src/gnupg/g10/tdbdump.c:144,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/tdbdump.c:145,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbdump.c:146,1
    - Dst: _
      Src: /src/gnupg/g10/tdbdump.c:146,1
    - Dst: strerror
      Src: /src/gnupg/g10/tdbdump.c:146,1
    - Dst: es_fopen
      Src: /src/gnupg/g10/tdbdump.c:149,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbdump.c:150,1
    - Dst: _
      Src: /src/gnupg/g10/tdbdump.c:150,1
    - Dst: strerror
      Src: /src/gnupg/g10/tdbdump.c:150,1
    - Dst: es_fgets
      Src: /src/gnupg/g10/tdbdump.c:154,1
    - Dst: DIM
      Src: /src/gnupg/g10/tdbdump.c:154,1
    - Dst: strlen
      Src: /src/gnupg/g10/tdbdump.c:159,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbdump.c:161,1
    - Dst: _
      Src: /src/gnupg/g10/tdbdump.c:161,1
    - Dst: _
      Src: /src/gnupg/g10/tdbdump.c:161,1
    - Dst: hexdigitp
      Src: /src/gnupg/g10/tdbdump.c:166,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbdump.c:169,1
    - Dst: _
      Src: /src/gnupg/g10/tdbdump.c:169,1
    - Dst: _
      Src: /src/gnupg/g10/tdbdump.c:169,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbdump.c:174,1
    - Dst: _
      Src: /src/gnupg/g10/tdbdump.c:174,1
    - Dst: _
      Src: /src/gnupg/g10/tdbdump.c:175,1
    - Dst: sscanf
      Src: /src/gnupg/g10/tdbdump.c:178,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbdump.c:179,1
    - Dst: _
      Src: /src/gnupg/g10/tdbdump.c:179,1
    - Dst: _
      Src: /src/gnupg/g10/tdbdump.c:180,1
    - Dst: HEXTOBIN
      Src: /src/gnupg/g10/tdbdump.c:189,1
    - Dst: HEXTOBIN
      Src: /src/gnupg/g10/tdbdump.c:189,1
    - Dst: tdbio_search_trust_byfpr
      Src: /src/gnupg/g10/tdbdump.c:197,1
    - Dst: log_info
      Src: /src/gnupg/g10/tdbdump.c:204,1
    - Dst: log_info
      Src: /src/gnupg/g10/tdbdump.c:207,1
    - Dst: write_record
      Src: /src/gnupg/g10/tdbdump.c:211,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/tdbdump.c:215,1
    - Dst: log_info
      Src: /src/gnupg/g10/tdbdump.c:217,1
    - Dst: memset
      Src: /src/gnupg/g10/tdbdump.c:218,1
    - Dst: tdbio_new_recnum
      Src: /src/gnupg/g10/tdbdump.c:219,1
    - Dst: memcpy
      Src: /src/gnupg/g10/tdbdump.c:221,1
    - Dst: write_record
      Src: /src/gnupg/g10/tdbdump.c:223,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbdump.c:227,1
    - Dst: _
      Src: /src/gnupg/g10/tdbdump.c:227,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbdump.c:228,1
    - Dst: es_ferror
      Src: /src/gnupg/g10/tdbdump.c:230,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbdump.c:231,1
    - Dst: _
      Src: /src/gnupg/g10/tdbdump.c:231,1
    - Dst: strerror
      Src: /src/gnupg/g10/tdbdump.c:231,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/tdbdump.c:233,1
    - Dst: revalidation_mark
      Src: /src/gnupg/g10/tdbdump.c:237,1
    - Dst: tdbio_sync
      Src: /src/gnupg/g10/tdbdump.c:238,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbdump.c:240,1
    - Dst: _
      Src: /src/gnupg/g10/tdbdump.c:240,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbdump.c:240,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 83
    argCount: 2
    argNames:
    - ctrl
    - fname
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 243
    functionName: import_ownertrust
    functionSourceFile: /src/gnupg/g10/tdbdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - HEXTOBIN
    - es_fopen
    - memcpy
    - tdbio_new_recnum
    - tdbio_sync
    - log_error
    - es_fgets
    - DIM
    - revalidation_mark
    - _
    - log_info
    - es_ferror
    - tdbio_search_trust_byfpr
    - hexdigitp
    - iobuf_is_pipe_filename
    - memset
    - gpg_strerror
    - write_record
    - is_secured_filename
    - es_fclose
    - init_trustdb
    - gpg_err_code
    - gpg_err_set_errno
    - strerror
    - sscanf
    linkageType: ''
    returnType: void
    signature: void import_ownertrust (ctrl_t ctrl, const char *fname )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/kbnode.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: release_unused_nodes
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_unused_nodes (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: register_mem_cleanup_func
      Src: /src/gnupg/g10/kbnode.c:64,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/kbnode.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 74
    functionName: alloc_node
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 0
    functionsReached:
    - register_mem_cleanup_func
    - xmalloc
    linkageType: ''
    returnType: kbnode_t
    signature: kbnode_t alloc_node (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/kbnode.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: free_node
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void free_node( KBNODE n )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_node
      Src: /src/gnupg/g10/kbnode.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: new_kbnode
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 1
    functionsReached:
    - alloc_node
    linkageType: ''
    returnType: KBNODE
    signature: KBNODE new_kbnode( PACKET *pkt )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_kbnode
      Src: /src/gnupg/g10/kbnode.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - list
    - pkt
    argTypes:
    - kbnode_t
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: new_kbnode2
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 0
    functionsReached:
    - new_kbnode
    linkageType: ''
    returnType: kbnode_t
    signature: kbnode_t new_kbnode2 (kbnode_t list, PACKET *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_node
      Src: /src/gnupg/g10/kbnode.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: clone_kbnode
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 0
    functionsReached:
    - alloc_node
    linkageType: ''
    returnType: KBNODE
    signature: KBNODE clone_kbnode( KBNODE node )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_cloned_kbnode
      Src: /src/gnupg/g10/kbnode.c:132,1
    - Dst: free_packet
      Src: /src/gnupg/g10/kbnode.c:133,1
    - Dst: xfree
      Src: /src/gnupg/g10/kbnode.c:134,1
    - Dst: free_node
      Src: /src/gnupg/g10/kbnode.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 139
    functionName: release_kbnode
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 7
    functionsReached:
    - free_packet
    - xfree
    - is_cloned_kbnode
    - free_node
    linkageType: ''
    returnType: void
    signature: void release_kbnode( KBNODE n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: delete_kbnode
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void delete_kbnode( KBNODE node )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - root
    - node
    argTypes:
    - KBNODE
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: add_kbnode
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_kbnode( KBNODE root, KBNODE node )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - root
    - node
    - pkttype
    argTypes:
    - KBNODE
    - KBNODE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 190
    functionName: insert_kbnode
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void insert_kbnode( KBNODE root, KBNODE node, int pkttype )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - root
    - node
    - pkttype
    argTypes:
    - KBNODE
    - KBNODE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: find_prev_kbnode
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KBNODE
    signature: KBNODE find_prev_kbnode( KBNODE root, KBNODE node, int pkttype )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - node
    - pkttype
    argTypes:
    - KBNODE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 236
    functionName: find_next_kbnode
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KBNODE
    signature: KBNODE find_next_kbnode( KBNODE node, int pkttype )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - node
    - pkttype
    argTypes:
    - KBNODE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: find_kbnode
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: KBNODE
    signature: KBNODE find_kbnode( KBNODE node, int pkttype )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/kbnode.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - root
    - context
    - all
    argTypes:
    - KBNODE
    - KBNODE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 274
    functionName: walk_kbnode
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 2
    functionsReached:
    - is_deleted_kbnode
    linkageType: ''
    returnType: KBNODE
    signature: KBNODE walk_kbnode( KBNODE root, KBNODE *context, int all )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: clear_kbnode_flags
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_kbnode_flags( KBNODE n )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/kbnode.c:298,1
    - Dst: is_cloned_kbnode
      Src: /src/gnupg/g10/kbnode.c:303,1
    - Dst: free_packet
      Src: /src/gnupg/g10/kbnode.c:304,1
    - Dst: xfree
      Src: /src/gnupg/g10/kbnode.c:305,1
    - Dst: free_node
      Src: /src/gnupg/g10/kbnode.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - root
    argTypes:
    - KBNODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 314
    functionName: commit_kbnode
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 0
    functionsReached:
    - is_deleted_kbnode
    - xfree
    - is_cloned_kbnode
    - free_packet
    - free_node
    linkageType: ''
    returnType: int
    signature: int commit_kbnode( KBNODE *root )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_cloned_kbnode
      Src: /src/gnupg/g10/kbnode.c:327,1
    - Dst: free_packet
      Src: /src/gnupg/g10/kbnode.c:328,1
    - Dst: xfree
      Src: /src/gnupg/g10/kbnode.c:329,1
    - Dst: free_node
      Src: /src/gnupg/g10/kbnode.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - root
    - node
    argTypes:
    - KBNODE*
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 336
    functionName: remove_kbnode
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 0
    functionsReached:
    - free_packet
    - xfree
    - is_cloned_kbnode
    - free_node
    linkageType: ''
    returnType: void
    signature: void remove_kbnode( KBNODE *root, KBNODE node )
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - root
    - node
    - where
    argTypes:
    - KBNODE*
    - KBNODE
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 369
    functionName: move_kbnode
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void move_kbnode( KBNODE *root, KBNODE node, KBNODE where )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/g10/kbnode.c:399,1
    - Dst: log_printf
      Src: /src/gnupg/g10/kbnode.c:404,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/kbnode.c:405,1
    - Dst: log_get_stream
      Src: /src/gnupg/g10/kbnode.c:405,1
    - Dst: log_printf
      Src: /src/gnupg/g10/kbnode.c:407,1
    - Dst: log_printf
      Src: /src/gnupg/g10/kbnode.c:415,1
    - Dst: log_printf
      Src: /src/gnupg/g10/kbnode.c:422,1
    - Dst: log_printf
      Src: /src/gnupg/g10/kbnode.c:431,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/kbnode.c:432,1
    - Dst: log_printf
      Src: /src/gnupg/g10/kbnode.c:441,1
    - Dst: log_flush
      Src: /src/gnupg/g10/kbnode.c:443,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 1
    argNames:
    - node
    argTypes:
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 445
    functionName: dump_kbnode
    functionSourceFile: /src/gnupg/g10/kbnode.c
    functionUses: 0
    functionsReached:
    - es_write_sanitized
    - keyid_from_pk
    - log_get_stream
    - log_flush
    - log_printf
    - log_debug
    linkageType: ''
    returnType: void
    signature: void dump_kbnode (KBNODE node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdb_cache_disabled_value
      Src: /src/gnupg/g10/trust.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - pk
    argTypes:
    - ctrl_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: cache_disabled_value
    functionSourceFile: /src/gnupg/g10/trust.c
    functionUses: 1
    functionsReached:
    - tdb_cache_disabled_value
    linkageType: ''
    returnType: int
    signature: int cache_disabled_value (ctrl_t ctrl, PKT_public_key *pk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/g10/trust.c:64,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/trust.c:68,1
    - Dst: strchr
      Src: /src/gnupg/g10/trust.c:71,1
    - Dst: tdb_register_trusted_key
      Src: /src/gnupg/g10/trust.c:72,1
    - Dst: xfree
      Src: /src/gnupg/g10/trust.c:73,1
    - Dst: tdb_register_trusted_key
      Src: /src/gnupg/g10/trust.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 80
    functionName: register_trusted_key
    functionSourceFile: /src/gnupg/g10/trust.c
    functionUses: 1
    functionsReached:
    - xtrystrdup
    - strchr
    - xfree
    - tdb_register_trusted_key
    linkageType: ''
    returnType: void
    signature: void register_trusted_key (const char *string)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: trust_letter
    functionSourceFile: /src/gnupg/g10/trust.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int trust_letter (unsigned int value)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/g10/trust.c:112,1
    - Dst: _
      Src: /src/gnupg/g10/trust.c:113,1
    - Dst: _
      Src: /src/gnupg/g10/trust.c:114,1
    - Dst: _
      Src: /src/gnupg/g10/trust.c:115,1
    - Dst: _
      Src: /src/gnupg/g10/trust.c:116,1
    - Dst: _
      Src: /src/gnupg/g10/trust.c:117,1
    - Dst: _
      Src: /src/gnupg/g10/trust.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: trust_value_to_string
    functionSourceFile: /src/gnupg/g10/trust.c
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      trust_value_to_string (unsigned int value)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/trust.c:127,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/trust.c:129,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/trust.c:131,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/trust.c:133,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/trust.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: string_to_trust_value
    functionSourceFile: /src/gnupg/g10/trust.c
    functionUses: 0
    functionsReached:
    - ascii_strcasecmp
    linkageType: ''
    returnType: int
    signature: int string_to_trust_value (const char *str)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/g10/trust.c:155,1
    - Dst: _
      Src: /src/gnupg/g10/trust.c:158,1
    - Dst: _
      Src: /src/gnupg/g10/trust.c:160,1
    - Dst: get_validity
      Src: /src/gnupg/g10/trust.c:163,1
    - Dst: _
      Src: /src/gnupg/g10/trust.c:165,1
    - Dst: _
      Src: /src/gnupg/g10/trust.c:166,1
    - Dst: _
      Src: /src/gnupg/g10/trust.c:167,1
    - Dst: _
      Src: /src/gnupg/g10/trust.c:168,1
    - Dst: _
      Src: /src/gnupg/g10/trust.c:169,1
    - Dst: _
      Src: /src/gnupg/g10/trust.c:170,1
    - Dst: _
      Src: /src/gnupg/g10/trust.c:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - ctrl
    - key
    - uid
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 176
    functionName: uid_trust_string_fixed
    functionSourceFile: /src/gnupg/g10/trust.c
    functionUses: 0
    functionsReached:
    - get_validity
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      uid_trust_string_fixed (ctrl_t ctrl, PKT_public_key *key, PKT_user_id *uid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdb_get_ownertrust
      Src: /src/gnupg/g10/trust.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - pk
    argTypes:
    - ctrl_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: get_ownertrust
    functionSourceFile: /src/gnupg/g10/trust.c
    functionUses: 2
    functionsReached:
    - tdb_get_ownertrust
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_ownertrust (ctrl_t ctrl, PKT_public_key *pk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_trustdb
      Src: /src/gnupg/g10/trust.c:214,1
    - Dst: tdb_get_ownertrust
      Src: /src/gnupg/g10/trust.c:217,1
    - Dst: tdb_get_min_ownertrust
      Src: /src/gnupg/g10/trust.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ctrl
    - pk
    - no_create
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 232
    functionName: get_ownertrust_with_min
    functionSourceFile: /src/gnupg/g10/trust.c
    functionUses: 0
    functionsReached:
    - tdb_get_ownertrust
    - tdb_get_min_ownertrust
    - init_trustdb
    linkageType: ''
    returnType: int
    signature: int get_ownertrust_with_min (ctrl_t ctrl, PKT_public_key *pk, int no_create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trust_letter
      Src: /src/gnupg/g10/trust.c:243,1
    - Dst: get_ownertrust_with_min
      Src: /src/gnupg/g10/trust.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - pk
    - no_create
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: get_ownertrust_info
    functionSourceFile: /src/gnupg/g10/trust.c
    functionUses: 0
    functionsReached:
    - get_ownertrust_with_min
    - trust_letter
    linkageType: ''
    returnType: int
    signature: int get_ownertrust_info (ctrl_t ctrl, PKT_public_key *pk, int no_create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trust_value_to_string
      Src: /src/gnupg/g10/trust.c:255,1
    - Dst: get_ownertrust_with_min
      Src: /src/gnupg/g10/trust.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - pk
    - no_create
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: get_ownertrust_string
    functionSourceFile: /src/gnupg/g10/trust.c
    functionUses: 0
    functionsReached:
    - trust_value_to_string
    - get_ownertrust_with_min
    linkageType: ''
    returnType: char
    signature: 'char *

      get_ownertrust_string (ctrl_t ctrl, PKT_public_key *pk, int no_create)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdb_update_ownertrust
      Src: /src/gnupg/g10/trust.c:272,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/trust.c:273,1
    - Dst: tdb_update_utk
      Src: /src/gnupg/g10/trust.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - pk
    - new_trust
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 276
    functionName: update_ownertrust
    functionSourceFile: /src/gnupg/g10/trust.c
    functionUses: 2
    functionsReached:
    - tdb_update_utk
    - keyid_from_pk
    - tdb_update_ownertrust
    linkageType: ''
    returnType: void
    signature: void update_ownertrust (ctrl_t ctrl, PKT_public_key *pk, unsigned int
      new_trust)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdb_clear_ownertrusts
      Src: /src/gnupg/g10/trust.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - pk
    argTypes:
    - ctrl_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: clear_ownertrusts
    functionSourceFile: /src/gnupg/g10/trust.c
    functionUses: 1
    functionsReached:
    - tdb_clear_ownertrusts
    linkageType: ''
    returnType: int
    signature: int clear_ownertrusts (ctrl_t ctrl, PKT_public_key *pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdb_revalidation_mark
      Src: /src/gnupg/g10/trust.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: revalidation_mark
    functionSourceFile: /src/gnupg/g10/trust.c
    functionUses: 2
    functionsReached:
    - tdb_revalidation_mark
    linkageType: ''
    returnType: void
    signature: void revalidation_mark (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdb_check_trustdb_stale
      Src: /src/gnupg/g10/trust.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: check_trustdb_stale
    functionSourceFile: /src/gnupg/g10/trust.c
    functionUses: 1
    functionsReached:
    - tdb_check_trustdb_stale
    linkageType: ''
    returnType: void
    signature: void check_trustdb_stale (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdb_check_or_update
      Src: /src/gnupg/g10/trust.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 319
    functionName: check_or_update_trustdb
    functionSourceFile: /src/gnupg/g10/trust.c
    functionUses: 2
    functionsReached:
    - tdb_check_or_update
    linkageType: ''
    returnType: void
    signature: void check_or_update_trustdb (ctrl_t ctrl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/trust.c:338,1
    - Dst: keyid_cmp
      Src: /src/gnupg/g10/trust.c:338,1
    - Dst: pk_main_keyid
      Src: /src/gnupg/g10/trust.c:338,1
    - Dst: pk_main_keyid
      Src: /src/gnupg/g10/trust.c:339,1
    - Dst: log_assert
      Src: /src/gnupg/g10/trust.c:343,1
    - Dst: namehash_from_uid
      Src: /src/gnupg/g10/trust.c:348,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/trust.c:350,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/trust.c:358,1
    - Dst: get_pubkey
      Src: /src/gnupg/g10/trust.c:359,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/trust.c:362,1
    - Dst: keystr
      Src: /src/gnupg/g10/trust.c:362,1
    - Dst: log_error
      Src: /src/gnupg/g10/trust.c:363,1
    - Dst: keystr
      Src: /src/gnupg/g10/trust.c:364,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/trust.c:364,1
    - Dst: xfree
      Src: /src/gnupg/g10/trust.c:365,1
    - Dst: tdb_get_validity_core
      Src: /src/gnupg/g10/trust.c:377,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/trust.c:393,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 6
    argNames:
    - ctrl
    - kb
    - pk
    - uid
    - sig
    - may_ask
    argTypes:
    - ctrl_t
    - kbnode_t
    - PKT_public_key*
    - PKT_user_id*
    - PKT_signature*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 395
    functionName: get_validity
    functionSourceFile: /src/gnupg/g10/trust.c
    functionUses: 4
    functionsReached:
    - free_public_key
    - get_pubkey
    - log_assert
    - log_error
    - keyid_from_pk
    - keyid_cmp
    - pk_main_keyid
    - gpg_strerror
    - xfree
    - xstrdup
    - namehash_from_uid
    - keystr
    - xmalloc_clear
    - tdb_get_validity_core
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int get_validity (ctrl_t ctrl, kbnode_t kb, PKT_public_key
      *pk, PKT_user_id *uid,\n              PKT_signature *sig, int may_ask)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/trust.c:405,1
    - Dst: keyid_cmp
      Src: /src/gnupg/g10/trust.c:405,1
    - Dst: pk_main_keyid
      Src: /src/gnupg/g10/trust.c:405,1
    - Dst: pk_main_keyid
      Src: /src/gnupg/g10/trust.c:406,1
    - Dst: get_validity
      Src: /src/gnupg/g10/trust.c:413,1
    - Dst: trust_letter
      Src: /src/gnupg/g10/trust.c:416,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - ctrl
    - kb
    - pk
    - uid
    argTypes:
    - ctrl_t
    - kbnode_t
    - PKT_public_key*
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 417
    functionName: get_validity_info
    functionSourceFile: /src/gnupg/g10/trust.c
    functionUses: 1
    functionsReached:
    - trust_letter
    - log_assert
    - keyid_cmp
    - pk_main_keyid
    - get_validity
    linkageType: ''
    returnType: int
    signature: "int get_validity_info (ctrl_t ctrl, kbnode_t kb, PKT_public_key *pk,\n
      \                  PKT_user_id *uid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_validity
      Src: /src/gnupg/g10/trust.c:428,1
    - Dst: _
      Src: /src/gnupg/g10/trust.c:430,1
    - Dst: trust_value_to_string
      Src: /src/gnupg/g10/trust.c:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctrl
    - pk
    - uid
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 432
    functionName: get_validity_string
    functionSourceFile: /src/gnupg/g10/trust.c
    functionUses: 1
    functionsReached:
    - trust_value_to_string
    - get_validity
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      get_validity_string (ctrl_t ctrl, PKT_public_key *pk, PKT_user_id *uid)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/g10/t-stutter.c:68,1
    - Dst: fprintf
      Src: /src/gnupg/g10/t-stutter.c:76,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/t-stutter.c:77,1
    - Dst: fputc
      Src: /src/gnupg/g10/t-stutter.c:81,1
    - Dst: fputc
      Src: /src/gnupg/g10/t-stutter.c:83,1
    - Dst: fwrite
      Src: /src/gnupg/g10/t-stutter.c:86,1
    - Dst: fwrite
      Src: /src/gnupg/g10/t-stutter.c:88,1
    - Dst: isprint
      Src: /src/gnupg/g10/t-stutter.c:93,1
    - Dst: fprintf
      Src: /src/gnupg/g10/t-stutter.c:100,1
    - Dst: strlen
      Src: /src/gnupg/g10/t-stutter.c:101,1
    - Dst: fwrite
      Src: /src/gnupg/g10/t-stutter.c:103,1
    - Dst: fputc
      Src: /src/gnupg/g10/t-stutter.c:104,1
    - Dst: fwrite
      Src: /src/gnupg/g10/t-stutter.c:105,1
    - Dst: strlen
      Src: /src/gnupg/g10/t-stutter.c:105,1
    - Dst: fwrite
      Src: /src/gnupg/g10/t-stutter.c:108,1
    - Dst: strlen
      Src: /src/gnupg/g10/t-stutter.c:108,1
    - Dst: fputc
      Src: /src/gnupg/g10/t-stutter.c:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 117
    functionName: log_hexdump
    functionSourceFile: /src/gnupg/g10/t-stutter.c
    functionUses: 0
    functionsReached:
    - fwrite
    - strlen
    - bin2hex
    - fprintf
    - fputc
    - isprint
    linkageType: ''
    returnType: void
    signature: void log_hexdump (byte *buffer, int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnupg/g10/t-stutter.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: hexstr
    functionSourceFile: /src/gnupg/g10/t-stutter.c
    functionUses: 0
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      hexstr (const byte *bytes)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 148
    functionName: bufxor2
    functionSourceFile: /src/gnupg/g10/t-stutter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      bufxor2 (const byte *a, const byte *b)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/gnupg/g10/t-stutter.c:163,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/t-stutter.c:165,1
    - Dst: strlen
      Src: /src/gnupg/g10/t-stutter.c:171,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/t-stutter.c:172,1
    - Dst: strlen
      Src: /src/gnupg/g10/t-stutter.c:174,1
    - Dst: log_assert
      Src: /src/gnupg/g10/t-stutter.c:175,1
    - Dst: hex2bin
      Src: /src/gnupg/g10/t-stutter.c:177,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/t-stutter.c:178,1
    - Dst: openpgp_cipher_get_algo_blklen
      Src: /src/gnupg/g10/t-stutter.c:180,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/t-stutter.c:182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - session_key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 185
    functionName: parse_session_key
    functionSourceFile: /src/gnupg/g10/t-stutter.c
    functionUses: 0
    functionsReached:
    - strtol
    - strlen
    - log_assert
    - log_fatal
    - hex2bin
    - openpgp_cipher_get_algo_blklen
    linkageType: ''
    returnType: void
    signature: void parse_session_key (char *session_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/t-stutter.c:205,1
    - Dst: log_assert
      Src: /src/gnupg/g10/t-stutter.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 215
    functionName: block_offset
    functionSourceFile: /src/gnupg/g10/t-stutter.c
    functionUses: 0
    functionsReached:
    - log_assert
    linkageType: ''
    returnType: int
    signature: int block_offset (int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_offset
      Src: /src/gnupg/g10/t-stutter.c:223,1
    - Dst: log_assert
      Src: /src/gnupg/g10/t-stutter.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - text
    - len
    - i
    argTypes:
    - byte*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: block
    functionSourceFile: /src/gnupg/g10/t-stutter.c
    functionUses: 17
    functionsReached:
    - block_offset
    - log_assert
    linkageType: ''
    returnType: byte
    signature: 'byte *

      block (byte *text, int len, int i)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/t-stutter.c:243,1
    - Dst: log_assert
      Src: /src/gnupg/g10/t-stutter.c:244,1
    - Dst: log_assert
      Src: /src/gnupg/g10/t-stutter.c:245,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/t-stutter.c:252,1
    - Dst: openpgp_cipher_open
      Src: /src/gnupg/g10/t-stutter.c:256,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/t-stutter.c:261,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/t-stutter.c:261,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/g10/t-stutter.c:263,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/t-stutter.c:264,1
    - Dst: log_info
      Src: /src/gnupg/g10/t-stutter.c:266,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/t-stutter.c:271,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/t-stutter.c:271,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/g10/t-stutter.c:273,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:277,1
    - Dst: log_hexdump
      Src: /src/gnupg/g10/t-stutter.c:278,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/t-stutter.c:280,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/g10/t-stutter.c:281,1
    - Dst: gcry_cipher_sync
      Src: /src/gnupg/g10/t-stutter.c:283,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/g10/t-stutter.c:285,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:291,1
    - Dst: log_hexdump
      Src: /src/gnupg/g10/t-stutter.c:292,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:293,1
    - Dst: hexstr
      Src: /src/gnupg/g10/t-stutter.c:293,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:294,1
    - Dst: hexstr
      Src: /src/gnupg/g10/t-stutter.c:294,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/t-stutter.c:300,1
    - Dst: log_assert
      Src: /src/gnupg/g10/t-stutter.c:304,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:308,1
    - Dst: log_hexdump
      Src: /src/gnupg/g10/t-stutter.c:309,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:311,1
    - Dst: hexstr
      Src: /src/gnupg/g10/t-stutter.c:312,1
    - Dst: hexstr
      Src: /src/gnupg/g10/t-stutter.c:313,1
    - Dst: hexstr
      Src: /src/gnupg/g10/t-stutter.c:314,1
    - Dst: bufxor2
      Src: /src/gnupg/g10/t-stutter.c:314,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:317,1
    - Dst: hexstr
      Src: /src/gnupg/g10/t-stutter.c:318,1
    - Dst: hexstr
      Src: /src/gnupg/g10/t-stutter.c:319,1
    - Dst: hexstr
      Src: /src/gnupg/g10/t-stutter.c:320,1
    - Dst: hexstr
      Src: /src/gnupg/g10/t-stutter.c:321,1
    - Dst: bufxor2
      Src: /src/gnupg/g10/t-stutter.c:321,1
    - Dst: bufxor2
      Src: /src/gnupg/g10/t-stutter.c:321,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/t-stutter.c:330,1
    - Dst: xfree
      Src: /src/gnupg/g10/t-stutter.c:338,1
    - Dst: xfree
      Src: /src/gnupg/g10/t-stutter.c:343,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/g10/t-stutter.c:346,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 5
    argNames:
    - debug
    - ciphertext
    - len
    - plaintextp
    - cfbp
    argTypes:
    - int
    - byte*
    - int
    - byte**
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 348
    functionName: oracle
    functionSourceFile: /src/gnupg/g10/t-stutter.c
    functionUses: 0
    functionsReached:
    - log_assert
    - gcry_cipher_setiv
    - xmalloc
    - openpgp_cipher_open
    - gcry_cipher_sync
    - log_info
    - log_hexdump
    - log_debug
    - gcry_cipher_setkey
    - hexstr
    - gpg_error
    - gpg_strerror
    - xfree
    - gcry_cipher_decrypt
    - log_fatal
    - gpg_err_code
    - bufxor2
    - xmalloc_clear
    - gcry_cipher_close
    linkageType: ''
    returnType: int
    signature: int oracle (int debug, byte *ciphertext, int len, byte **plaintextp,
      byte **cfbp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/t-stutter.c:356,1
    - Dst: log_assert
      Src: /src/gnupg/g10/t-stutter.c:357,1
    - Dst: memcpy
      Src: /src/gnupg/g10/t-stutter.c:360,1
    - Dst: memcpy
      Src: /src/gnupg/g10/t-stutter.c:362,1
    - Dst: block
      Src: /src/gnupg/g10/t-stutter.c:362,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:368,1
    - Dst: oracle
      Src: /src/gnupg/g10/t-stutter.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - d
    - b
    - debug
    argTypes:
    - unsigned int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 371
    functionName: oracle_test
    functionSourceFile: /src/gnupg/g10/t-stutter.c
    functionUses: 0
    functionsReached:
    - log_assert
    - oracle
    - memcpy
    - block
    - log_debug
    linkageType: ''
    returnType: int
    signature: int oracle_test (unsigned int d, int b, int debug)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/g10/t-stutter.c:387,1
    - Dst: parse_session_key
      Src: /src/gnupg/g10/t-stutter.c:390,1
    - Dst: prepend_srcdir
      Src: /src/gnupg/g10/t-stutter.c:400,1
    - Dst: parse_session_key
      Src: /src/gnupg/g10/t-stutter.c:403,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/t-stutter.c:407,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/t-stutter.c:411,1
    - Dst: fopen
      Src: /src/gnupg/g10/t-stutter.c:417,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/t-stutter.c:419,1
    - Dst: strerror
      Src: /src/gnupg/g10/t-stutter.c:419,1
    - Dst: fread
      Src: /src/gnupg/g10/t-stutter.c:420,1
    - Dst: fclose
      Src: /src/gnupg/g10/t-stutter.c:421,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/t-stutter.c:427,1
    - Dst: strerror
      Src: /src/gnupg/g10/t-stutter.c:428,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:433,1
    - Dst: log_hexdump
      Src: /src/gnupg/g10/t-stutter.c:434,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:448,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:473,1
    - Dst: pkttype_str
      Src: /src/gnupg/g10/t-stutter.c:476,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/t-stutter.c:479,1
    - Dst: pkttype_str
      Src: /src/gnupg/g10/t-stutter.c:480,1
    - Dst: log_assert
      Src: /src/gnupg/g10/t-stutter.c:486,1
    - Dst: log_assert
      Src: /src/gnupg/g10/t-stutter.c:497,1
    - Dst: oracle
      Src: /src/gnupg/g10/t-stutter.c:507,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:510,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/t-stutter.c:513,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:517,1
    - Dst: isprint
      Src: /src/gnupg/g10/t-stutter.c:518,1
    - Dst: isprint
      Src: /src/gnupg/g10/t-stutter.c:519,1
    - Dst: oracle_test
      Src: /src/gnupg/g10/t-stutter.c:522,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/t-stutter.c:526,1
    - Dst: oracle_test
      Src: /src/gnupg/g10/t-stutter.c:529,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:532,1
    - Dst: block
      Src: /src/gnupg/g10/t-stutter.c:535,1
    - Dst: block
      Src: /src/gnupg/g10/t-stutter.c:537,1
    - Dst: memcpy
      Src: /src/gnupg/g10/t-stutter.c:539,1
    - Dst: bufxor2
      Src: /src/gnupg/g10/t-stutter.c:540,1
    - Dst: bufxor2
      Src: /src/gnupg/g10/t-stutter.c:540,1
    - Dst: bufxor2
      Src: /src/gnupg/g10/t-stutter.c:541,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:546,1
    - Dst: hexstr
      Src: /src/gnupg/g10/t-stutter.c:546,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:547,1
    - Dst: hexstr
      Src: /src/gnupg/g10/t-stutter.c:547,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:548,1
    - Dst: hexstr
      Src: /src/gnupg/g10/t-stutter.c:548,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:549,1
    - Dst: hexstr
      Src: /src/gnupg/g10/t-stutter.c:549,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:550,1
    - Dst: hexstr
      Src: /src/gnupg/g10/t-stutter.c:551,1
    - Dst: bufxor2
      Src: /src/gnupg/g10/t-stutter.c:551,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:552,1
    - Dst: hexstr
      Src: /src/gnupg/g10/t-stutter.c:552,1
    - Dst: block_offset
      Src: /src/gnupg/g10/t-stutter.c:559,1
    - Dst: block
      Src: /src/gnupg/g10/t-stutter.c:563,1
    - Dst: block
      Src: /src/gnupg/g10/t-stutter.c:564,1
    - Dst: oracle_test
      Src: /src/gnupg/g10/t-stutter.c:567,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/t-stutter.c:574,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:577,1
    - Dst: memcpy
      Src: /src/gnupg/g10/t-stutter.c:582,1
    - Dst: bufxor2
      Src: /src/gnupg/g10/t-stutter.c:583,1
    - Dst: bufxor2
      Src: /src/gnupg/g10/t-stutter.c:583,1
    - Dst: memcpy
      Src: /src/gnupg/g10/t-stutter.c:586,1
    - Dst: bufxor2
      Src: /src/gnupg/g10/t-stutter.c:586,1
    - Dst: block
      Src: /src/gnupg/g10/t-stutter.c:586,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:591,1
    - Dst: hexstr
      Src: /src/gnupg/g10/t-stutter.c:594,1
    - Dst: isprint
      Src: /src/gnupg/g10/t-stutter.c:595,1
    - Dst: isprint
      Src: /src/gnupg/g10/t-stutter.c:595,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-stutter.c:599,1
    - Dst: hexstr
      Src: /src/gnupg/g10/t-stutter.c:600,1
    - Dst: isprint
      Src: /src/gnupg/g10/t-stutter.c:601,1
    - Dst: isprint
      Src: /src/gnupg/g10/t-stutter.c:602,1
    - Dst: hexstr
      Src: /src/gnupg/g10/t-stutter.c:603,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/t-stutter.c:609,1
    - Dst: xfree
      Src: /src/gnupg/g10/t-stutter.c:612,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 117
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 373
    functionDepth: 4
    functionLinenumber: 373
    functionLinenumberEnd: 613
    functionName: do_test
    functionSourceFile: /src/gnupg/g10/t-stutter.c
    functionUses: 1
    functionsReached:
    - log_assert
    - xmalloc
    - memcpy
    - oracle
    - log_hexdump
    - fread
    - log_debug
    - hexstr
    - strcmp
    - prepend_srcdir
    - pkttype_str
    - oracle_test
    - fopen
    - xfree
    - block
    - block_offset
    - fclose
    - log_fatal
    - parse_session_key
    - bufxor2
    - strerror
    - isprint
    linkageType: ''
    returnType: void
    signature: void do_test (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: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: IS_CERT
    functionSourceFile: /src/gnupg/g10/keydb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_CERT(s)
  - 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: IS_SIG
    functionSourceFile: /src/gnupg/g10/keydb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SIG(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: IS_KEY_SIG
    functionSourceFile: /src/gnupg/g10/keydb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_KEY_SIG(s)
  - 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: IS_UID_SIG
    functionSourceFile: /src/gnupg/g10/keydb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_UID_SIG(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: IS_ATTST_SIGS
    functionSourceFile: /src/gnupg/g10/keydb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_ATTST_SIGS(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: IS_SUBKEY_SIG
    functionSourceFile: /src/gnupg/g10/keydb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SUBKEY_SIG(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: IS_BACK_SIG
    functionSourceFile: /src/gnupg/g10/keydb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_BACK_SIG(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: IS_KEY_REV
    functionSourceFile: /src/gnupg/g10/keydb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_KEY_REV(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: IS_UID_REV
    functionSourceFile: /src/gnupg/g10/keydb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_UID_REV(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: IS_SUBKEY_REV
    functionSourceFile: /src/gnupg/g10/keydb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SUBKEY_REV(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: is_deleted_kbnode
    functionSourceFile: /src/gnupg/g10/keydb.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_deleted_kbnode(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: is_cloned_kbnode
    functionSourceFile: /src/gnupg/g10/keydb.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_cloned_kbnode(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - k
    - sig
    argTypes:
    - struct key_item*
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: is_in_klist
    functionSourceFile: /src/gnupg/g10/keydb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct key_item
    signature: 'struct key_item *

      is_in_klist (struct key_item *k, PKT_signature *sig)'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 536
    functionName: GPGRT_ATTR_UNUSED
    functionSourceFile: /src/gnupg/g10/keydb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int GPGRT_ATTR_UNUSED

      keyid_cmp (const u32 *a, const u32 *b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: GPGRT_ATTR_UNUSED
    functionSourceFile: /src/gnupg/g10/keydb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int GPGRT_ATTR_UNUSED

      keyid_eq (const u32 *a, const u32 *b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keyid_eq
      Src: /src/gnupg/g10/keydb.h:549,1
    - Dst: pk_keyid
      Src: /src/gnupg/g10/keydb.h:549,1
    - Dst: pk_main_keyid
      Src: /src/gnupg/g10/keydb.h:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: GPGRT_ATTR_UNUSED::pk_is_primary
    functionSourceFile: /src/gnupg/g10/keydb.h
    functionUses: 0
    functionsReached:
    - keyid_eq
    - pk_keyid
    - pk_main_keyid
    linkageType: ''
    returnType: int
    signature: 'int GPGRT_ATTR_UNUSED

      pk_is_primary (PKT_public_key *pk)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/gnupg/g10/skclist.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: random_is_faked
    functionSourceFile: /src/gnupg/g10/skclist.c
    functionUses: 0
    functionsReached:
    - gcry_control
    linkageType: ''
    returnType: int
    signature: int random_is_faked (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_public_key
      Src: /src/gnupg/g10/skclist.c:54,1
    - Dst: xfree
      Src: /src/gnupg/g10/skclist.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sk_list
    argTypes:
    - SK_LIST
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: release_sk_list
    functionSourceFile: /src/gnupg/g10/skclist.c
    functionUses: 0
    functionsReached:
    - free_public_key
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_sk_list (SK_LIST sk_list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/skclist.c:70,1
    - Dst: get_pubkeyblock
      Src: /src/gnupg/g10/skclist.c:71,1
    - Dst: strstr
      Src: /src/gnupg/g10/skclist.c:79,1
    - Dst: strstr
      Src: /src/gnupg/g10/skclist.c:80,1
    - Dst: strstr
      Src: /src/gnupg/g10/skclist.c:81,1
    - Dst: strstr
      Src: /src/gnupg/g10/skclist.c:82,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/skclist.c:89,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - ctrl
    - pk
    argTypes:
    - ctrl_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 92
    functionName: is_insecure
    functionSourceFile: /src/gnupg/g10/skclist.c
    functionUses: 0
    functionsReached:
    - release_kbnode
    - keyid_from_pk
    - get_pubkeyblock
    - strstr
    linkageType: ''
    returnType: int
    signature: int is_insecure (ctrl_t ctrl, PKT_public_key *pk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmp_public_keys
      Src: /src/gnupg/g10/skclist.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sk_list
    - pk
    argTypes:
    - SK_LIST
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: key_present_in_sk_list
    functionSourceFile: /src/gnupg/g10/skclist.c
    functionUses: 0
    functionsReached:
    - cmp_public_keys
    linkageType: ''
    returnType: int
    signature: int key_present_in_sk_list (SK_LIST sk_list, PKT_public_key *pk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/g10/skclist.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - list
    - item
    argTypes:
    - strlist_t
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: is_duplicated_entry
    functionSourceFile: /src/gnupg/g10/skclist.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int is_duplicated_entry (strlist_t list, strlist_t item)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/skclist.c:136,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/skclist.c:137,1
    - Dst: agent_scd_serialno
      Src: /src/gnupg/g10/skclist.c:141,1
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/skclist.c:144,1
    - Dst: log_error
      Src: /src/gnupg/g10/skclist.c:146,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/skclist.c:147,1
    - Dst: get_seckey_default_or_card
      Src: /src/gnupg/g10/skclist.c:150,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/skclist.c:155,1
    - Dst: log_error
      Src: /src/gnupg/g10/skclist.c:157,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/skclist.c:157,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/skclist.c:158,1
    - Dst: get_inv_recpsgnr_code
      Src: /src/gnupg/g10/skclist.c:158,1
    - Dst: openpgp_pk_test_algo2
      Src: /src/gnupg/g10/skclist.c:160,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/skclist.c:162,1
    - Dst: log_error
      Src: /src/gnupg/g10/skclist.c:164,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/skclist.c:164,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/skclist.c:165,1
    - Dst: get_inv_recpsgnr_code
      Src: /src/gnupg/g10/skclist.c:165,1
    - Dst: random_is_faked
      Src: /src/gnupg/g10/skclist.c:171,1
    - Dst: is_insecure
      Src: /src/gnupg/g10/skclist.c:171,1
    - Dst: log_info
      Src: /src/gnupg/g10/skclist.c:173,1
    - Dst: _
      Src: /src/gnupg/g10/skclist.c:173,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/skclist.c:175,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/skclist.c:177,1
    - Dst: get_inv_recpsgnr_code
      Src: /src/gnupg/g10/skclist.c:178,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/skclist.c:182,1
    - Dst: is_duplicated_entry
      Src: /src/gnupg/g10/skclist.c:203,1
    - Dst: log_info
      Src: /src/gnupg/g10/skclist.c:205,1
    - Dst: _
      Src: /src/gnupg/g10/skclist.c:205,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/skclist.c:208,1
    - Dst: getkey_byname
      Src: /src/gnupg/g10/skclist.c:210,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/skclist.c:212,1
    - Dst: log_error
      Src: /src/gnupg/g10/skclist.c:214,1
    - Dst: _
      Src: /src/gnupg/g10/skclist.c:214,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/skclist.c:215,1
    - Dst: write_status_text_and_buffer
      Src: /src/gnupg/g10/skclist.c:216,1
    - Dst: get_inv_recpsgnr_code
      Src: /src/gnupg/g10/skclist.c:217,1
    - Dst: strlen
      Src: /src/gnupg/g10/skclist.c:218,1
    - Dst: key_present_in_sk_list
      Src: /src/gnupg/g10/skclist.c:220,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/skclist.c:222,1
    - Dst: log_info
      Src: /src/gnupg/g10/skclist.c:224,1
    - Dst: _
      Src: /src/gnupg/g10/skclist.c:224,1
    - Dst: openpgp_pk_test_algo2
      Src: /src/gnupg/g10/skclist.c:226,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/skclist.c:228,1
    - Dst: log_error
      Src: /src/gnupg/g10/skclist.c:230,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/skclist.c:230,1
    - Dst: write_status_text_and_buffer
      Src: /src/gnupg/g10/skclist.c:231,1
    - Dst: get_inv_recpsgnr_code
      Src: /src/gnupg/g10/skclist.c:232,1
    - Dst: strlen
      Src: /src/gnupg/g10/skclist.c:233,1
    - Dst: log_info
      Src: /src/gnupg/g10/skclist.c:242,1
    - Dst: _
      Src: /src/gnupg/g10/skclist.c:242,1
    - Dst: _
      Src: /src/gnupg/g10/skclist.c:243,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/skclist.c:245,1
    - Dst: write_status_text_and_buffer
      Src: /src/gnupg/g10/skclist.c:247,1
    - Dst: get_inv_recpsgnr_code
      Src: /src/gnupg/g10/skclist.c:249,1
    - Dst: strlen
      Src: /src/gnupg/g10/skclist.c:250,1
    - Dst: random_is_faked
      Src: /src/gnupg/g10/skclist.c:252,1
    - Dst: is_insecure
      Src: /src/gnupg/g10/skclist.c:252,1
    - Dst: log_info
      Src: /src/gnupg/g10/skclist.c:254,1
    - Dst: _
      Src: /src/gnupg/g10/skclist.c:254,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/skclist.c:256,1
    - Dst: write_status_text_and_buffer
      Src: /src/gnupg/g10/skclist.c:258,1
    - Dst: get_inv_recpsgnr_code
      Src: /src/gnupg/g10/skclist.c:260,1
    - Dst: strlen
      Src: /src/gnupg/g10/skclist.c:261,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/skclist.c:265,1
    - Dst: log_error
      Src: /src/gnupg/g10/skclist.c:278,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/skclist.c:279,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/skclist.c:280,1
    - Dst: release_sk_list
      Src: /src/gnupg/g10/skclist.c:284,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 95
    argCount: 4
    argNames:
    - ctrl
    - locusr
    - ret_sk_list
    - use
    argTypes:
    - ctrl_t
    - strlist_t
    - SK_LIST*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 288
    functionName: build_sk_list
    functionSourceFile: /src/gnupg/g10/skclist.c
    functionUses: 0
    functionsReached:
    - strlen
    - random_is_faked
    - openpgp_pk_test_algo2
    - xmalloc
    - key_present_in_sk_list
    - free_public_key
    - log_error
    - _
    - write_status_text_and_buffer
    - log_info
    - is_duplicated_entry
    - agent_scd_getattr
    - agent_scd_serialno
    - write_status_text
    - get_inv_recpsgnr_code
    - gpg_error
    - memset
    - gpg_strerror
    - getkey_byname
    - release_sk_list
    - is_insecure
    - xmalloc_clear
    - get_seckey_default_or_card
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t build_sk_list (ctrl_t ctrl,\n               strlist_t
      locusr, SK_LIST *ret_sk_list, unsigned int use)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/skclist.c:350,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/skclist.c:353,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/skclist.c:354,1
    - Dst: free_keypair_info
      Src: /src/gnupg/g10/skclist.c:363,1
    - Dst: release_sk_list
      Src: /src/gnupg/g10/skclist.c:364,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/skclist.c:365,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/skclist.c:366,1
    - Dst: xfree
      Src: /src/gnupg/g10/skclist.c:367,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/skclist.c:374,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/skclist.c:375,1
    - Dst: parse_def_secret_key
      Src: /src/gnupg/g10/skclist.c:392,1
    - Dst: agent_scd_serialno
      Src: /src/gnupg/g10/skclist.c:413,1
    - Dst: agent_scd_keyinfo
      Src: /src/gnupg/g10/skclist.c:416,1
    - Dst: getkey_bynames
      Src: /src/gnupg/g10/skclist.c:447,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/skclist.c:452,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/skclist.c:454,1
    - Dst: getkey_next
      Src: /src/gnupg/g10/skclist.c:463,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/skclist.c:466,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/skclist.c:468,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/skclist.c:478,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/skclist.c:479,1
    - Dst: getkey_byname
      Src: /src/gnupg/g10/skclist.c:488,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/skclist.c:496,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/skclist.c:503,1
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/skclist.c:504,1
    - Dst: log_debug
      Src: /src/gnupg/g10/skclist.c:512,1
    - Dst: keyserver_import_fpr
      Src: /src/gnupg/g10/skclist.c:514,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/skclist.c:520,1
    - Dst: getkey_byname
      Src: /src/gnupg/g10/skclist.c:521,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/skclist.c:525,1
    - Dst: cmp_public_keys
      Src: /src/gnupg/g10/skclist.c:548,1
    - Dst: copy_public_key
      Src: /src/gnupg/g10/skclist.c:553,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/skclist.c:556,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/skclist.c:559,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/skclist.c:560,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/skclist.c:573,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 142
    argCount: 3
    argNames:
    - ctrl
    - context
    - sk
    argTypes:
    - ctrl_t
    - void**
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 576
    functionName: enum_secret_keys
    functionSourceFile: /src/gnupg/g10/skclist.c
    functionUses: 0
    functionsReached:
    - parse_def_secret_key
    - cmp_public_keys
    - free_public_key
    - copy_public_key
    - log_debug
    - agent_scd_getattr
    - agent_scd_serialno
    - gpg_error_from_syserror
    - keyserver_import_fpr
    - gpg_error
    - release_sk_list
    - xfree
    - agent_scd_keyinfo
    - xtrycalloc
    - getkey_next
    - getkey_byname
    - release_kbnode
    - bin2hex
    - getkey_end
    - gpg_err_code
    - getkey_bynames
    - free_keypair_info
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t enum_secret_keys (ctrl_t ctrl, void **context, PKT_public_key
      *sk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: BYTEF_CAST
    functionSourceFile: /src/gnupg/g10/compress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTEF_CAST(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: BYTEF_CAST
    functionSourceFile: /src/gnupg/g10/compress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTEF_CAST(a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/compress.c:68,1
    - Dst: deflateInit2
      Src: /src/gnupg/g10/compress.c:72,1
    - Dst: deflateInit
      Src: /src/gnupg/g10/compress.c:74,1
    - Dst: log_error
      Src: /src/gnupg/g10/compress.c:76,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/compress.c:80,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/compress.c:80,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/compress.c:81,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/compress.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - zfx
    - zs
    argTypes:
    - compress_filter_context_t*
    - z_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 86
    functionName: init_compress
    functionSourceFile: /src/gnupg/g10/compress.c
    functionUses: 0
    functionsReached:
    - log_error
    - deflateInit
    - gpg_error
    - xmalloc
    - write_status_error
    - g10_exit
    - deflateInit2
    linkageType: ''
    returnType: void
    signature: void init_compress( compress_filter_context_t *zfx, z_stream *zs )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BYTEF_CAST
      Src: /src/gnupg/g10/compress.c:99,1
    - Dst: log_debug
      Src: /src/gnupg/g10/compress.c:102,1
    - Dst: deflate
      Src: /src/gnupg/g10/compress.c:104,1
    - Dst: log_error
      Src: /src/gnupg/g10/compress.c:109,1
    - Dst: log_error
      Src: /src/gnupg/g10/compress.c:111,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/compress.c:112,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/compress.c:112,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/compress.c:113,1
    - Dst: log_debug
      Src: /src/gnupg/g10/compress.c:117,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/compress.c:122,1
    - Dst: log_error
      Src: /src/gnupg/g10/compress.c:123,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 4
    argNames:
    - zfx
    - zs
    - flush
    - a
    argTypes:
    - compress_filter_context_t*
    - z_stream*
    - int
    - IOBUF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 128
    functionName: do_compress
    functionSourceFile: /src/gnupg/g10/compress.c
    functionUses: 0
    functionsReached:
    - log_error
    - deflate
    - BYTEF_CAST
    - gpg_error
    - write_status_error
    - g10_exit
    - iobuf_write
    - log_debug
    linkageType: ''
    returnType: int
    signature: int do_compress( compress_filter_context_t *zfx, z_stream *zs, int
      flush, IOBUF a )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2
      Src: /src/gnupg/g10/compress.c:145,1
    - Dst: inflateInit
      Src: /src/gnupg/g10/compress.c:146,1
    - Dst: log_error
      Src: /src/gnupg/g10/compress.c:147,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/compress.c:151,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/compress.c:151,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/compress.c:152,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/compress.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - zfx
    - zs
    argTypes:
    - compress_filter_context_t*
    - z_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 158
    functionName: init_uncompress
    functionSourceFile: /src/gnupg/g10/compress.c
    functionUses: 0
    functionsReached:
    - inflateInit2
    - log_error
    - inflateInit
    - xmalloc
    - gpg_error
    - write_status_error
    - g10_exit
    linkageType: ''
    returnType: void
    signature: void init_uncompress( compress_filter_context_t *zfx, z_stream *zs
      )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/g10/compress.c:172,1
    - Dst: BYTEF_CAST
      Src: /src/gnupg/g10/compress.c:179,1
    - Dst: iobuf_read
      Src: /src/gnupg/g10/compress.c:181,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/compress.c:184,1
    - Dst: log_debug
      Src: /src/gnupg/g10/compress.c:198,1
    - Dst: inflate
      Src: /src/gnupg/g10/compress.c:200,1
    - Dst: log_debug
      Src: /src/gnupg/g10/compress.c:202,1
    - Dst: log_error
      Src: /src/gnupg/g10/compress.c:208,1
    - Dst: log_error
      Src: /src/gnupg/g10/compress.c:210,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/compress.c:211,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/compress.c:211,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/compress.c:212,1
    - Dst: log_debug
      Src: /src/gnupg/g10/compress.c:220,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 4
    argNames:
    - zfx
    - zs
    - a
    - ret_len
    argTypes:
    - compress_filter_context_t*
    - z_stream*
    - IOBUF
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 223
    functionName: do_uncompress
    functionSourceFile: /src/gnupg/g10/compress.c
    functionUses: 0
    functionsReached:
    - log_error
    - iobuf_read
    - BYTEF_CAST
    - inflate
    - gpg_error
    - write_status_error
    - iobuf_error
    - g10_exit
    - log_debug
    linkageType: ''
    returnType: int
    signature: "int do_uncompress( compress_filter_context_t *zfx, z_stream *zs,\n\t
      \      IOBUF a, size_t *ret_len )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/compress.c:236,1
    - Dst: init_uncompress
      Src: /src/gnupg/g10/compress.c:237,1
    - Dst: BYTEF_CAST
      Src: /src/gnupg/g10/compress.c:241,1
    - Dst: do_uncompress
      Src: /src/gnupg/g10/compress.c:244,1
    - Dst: BUG
      Src: /src/gnupg/g10/compress.c:252,1
    - Dst: memset
      Src: /src/gnupg/g10/compress.c:253,1
    - Dst: init_packet
      Src: /src/gnupg/g10/compress.c:259,1
    - Dst: build_packet
      Src: /src/gnupg/g10/compress.c:262,1
    - Dst: log_bug
      Src: /src/gnupg/g10/compress.c:263,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/compress.c:264,1
    - Dst: init_compress
      Src: /src/gnupg/g10/compress.c:265,1
    - Dst: BYTEF_CAST
      Src: /src/gnupg/g10/compress.c:269,1
    - Dst: do_compress
      Src: /src/gnupg/g10/compress.c:271,1
    - Dst: inflateEnd
      Src: /src/gnupg/g10/compress.c:275,1
    - Dst: xfree
      Src: /src/gnupg/g10/compress.c:276,1
    - Dst: xfree
      Src: /src/gnupg/g10/compress.c:278,1
    - Dst: BYTEF_CAST
      Src: /src/gnupg/g10/compress.c:281,1
    - Dst: do_compress
      Src: /src/gnupg/g10/compress.c:283,1
    - Dst: deflateEnd
      Src: /src/gnupg/g10/compress.c:284,1
    - Dst: xfree
      Src: /src/gnupg/g10/compress.c:285,1
    - Dst: xfree
      Src: /src/gnupg/g10/compress.c:287,1
    - Dst: compress_filter_context_t*::release
      Src: /src/gnupg/g10/compress.c:290,1
    - Dst: mem2str
      Src: /src/gnupg/g10/compress.c:293,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 5
    argNames:
    - opaque
    - control
    - a
    - buf
    - ret_len
    argTypes:
    - void*
    - int
    - IOBUF
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 295
    functionName: compress_filter
    functionSourceFile: /src/gnupg/g10/compress.c
    functionUses: 0
    functionsReached:
    - compress_filter_context_t*::release
    - do_uncompress
    - init_packet
    - log_bug
    - init_compress
    - deflateEnd
    - BUG
    - BYTEF_CAST
    - inflateEnd
    - memset
    - xfree
    - init_uncompress
    - mem2str
    - xmalloc_clear
    - build_packet
    - do_compress
    linkageType: ''
    returnType: int
    signature: "int compress_filter( void *opaque, int control,\n\t\t IOBUF a, byte
      *buf, size_t *ret_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/compress.c:301,1
    - Dst: xfree
      Src: /src/gnupg/g10/compress.c:303,1
    - Dst: xfree
      Src: /src/gnupg/g10/compress.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - compress_filter_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: release_context
    functionSourceFile: /src/gnupg/g10/compress.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_context (compress_filter_context_t *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_compress_algo
      Src: /src/gnupg/g10/compress.c:317,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/compress.c:322,1
    - Dst: push_compress_filter
      Src: /src/gnupg/g10/compress.c:325,1
    - Dst: xfree
      Src: /src/gnupg/g10/compress.c:326,1
    - Dst: callback
      Src: /src/gnupg/g10/compress.c:329,1
    - Dst: proc_packets
      Src: /src/gnupg/g10/compress.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ctrl
    - procctx
    - cd
    - passthru
    argTypes:
    - ctrl_t
    - void*
    - PKT_compressed*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 334
    functionName: handle_compressed
    functionSourceFile: /src/gnupg/g10/compress.c
    functionUses: 0
    functionsReached:
    - push_compress_filter
    - proc_packets
    - xfree
    - check_compress_algo
    - callback
    - xmalloc_clear
    linkageType: ''
    returnType: int
    signature: "int handle_compressed (ctrl_t ctrl, void *procctx, PKT_compressed
      *cd,\n\t\t   int (*callback)(IOBUF, void *), void *passthru )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_compress_filter2
      Src: /src/gnupg/g10/compress.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - zfx
    - algo
    argTypes:
    - IOBUF
    - compress_filter_context_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: push_compress_filter
    functionSourceFile: /src/gnupg/g10/compress.c
    functionUses: 1
    functionsReached:
    - push_compress_filter2
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t push_compress_filter(IOBUF out,compress_filter_context_t
      *zfx,int algo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/compress.c:348,1
    - Dst: iobuf_push_filter2
      Src: /src/gnupg/g10/compress.c:363,1
    - Dst: iobuf_push_filter2
      Src: /src/gnupg/g10/compress.c:370,1
    - Dst: BUG
      Src: /src/gnupg/g10/compress.c:376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - out
    - zfx
    - algo
    - rel
    argTypes:
    - IOBUF
    - compress_filter_context_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 380
    functionName: push_compress_filter2
    functionSourceFile: /src/gnupg/g10/compress.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - iobuf_push_filter2
    - BUG
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t push_compress_filter2(IOBUF out,compress_filter_context_t
      *zfx,\n\t\t      int algo,int rel)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/compress-bz2.c:51,1
    - Dst: BZ2_bzCompressInit
      Src: /src/gnupg/g10/compress-bz2.c:55,1
    - Dst: log_error
      Src: /src/gnupg/g10/compress-bz2.c:57,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/compress-bz2.c:58,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/compress-bz2.c:58,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/compress-bz2.c:59,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/compress-bz2.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - zfx
    - bzs
    argTypes:
    - compress_filter_context_t*
    - bz_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 64
    functionName: init_compress
    functionSourceFile: /src/gnupg/g10/compress-bz2.c
    functionUses: 1
    functionsReached:
    - log_error
    - BZ2_bzCompressInit
    - xmalloc
    - gpg_error
    - write_status_error
    - g10_exit
    linkageType: ''
    returnType: void
    signature: void init_compress( compress_filter_context_t *zfx, bz_stream *bzs
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/g10/compress-bz2.c:81,1
    - Dst: BZ2_bzCompress
      Src: /src/gnupg/g10/compress-bz2.c:83,1
    - Dst: log_error
      Src: /src/gnupg/g10/compress-bz2.c:88,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/compress-bz2.c:89,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/compress-bz2.c:89,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/compress-bz2.c:90,1
    - Dst: log_debug
      Src: /src/gnupg/g10/compress-bz2.c:95,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/compress-bz2.c:100,1
    - Dst: log_error
      Src: /src/gnupg/g10/compress-bz2.c:102,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 4
    argNames:
    - zfx
    - bzs
    - flush
    - a
    argTypes:
    - compress_filter_context_t*
    - bz_stream*
    - int
    - IOBUF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 109
    functionName: do_compress
    functionSourceFile: /src/gnupg/g10/compress-bz2.c
    functionUses: 1
    functionsReached:
    - log_error
    - BZ2_bzCompress
    - gpg_error
    - write_status_error
    - g10_exit
    - iobuf_write
    - log_debug
    linkageType: ''
    returnType: int
    signature: int do_compress(compress_filter_context_t *zfx, bz_stream *bzs, int
      flush, IOBUF a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BZ2_bzDecompressInit
      Src: /src/gnupg/g10/compress-bz2.c:116,1
    - Dst: log_error
      Src: /src/gnupg/g10/compress-bz2.c:118,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/compress-bz2.c:119,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/compress-bz2.c:119,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/compress-bz2.c:120,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/compress-bz2.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - zfx
    - bzs
    argTypes:
    - compress_filter_context_t*
    - bz_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: init_uncompress
    functionSourceFile: /src/gnupg/g10/compress-bz2.c
    functionUses: 1
    functionsReached:
    - log_error
    - xmalloc
    - gpg_error
    - write_status_error
    - BZ2_bzDecompressInit
    - g10_exit
    linkageType: ''
    returnType: void
    signature: void init_uncompress( compress_filter_context_t *zfx, bz_stream *bzs
      )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/g10/compress-bz2.c:140,1
    - Dst: iobuf_read
      Src: /src/gnupg/g10/compress-bz2.c:151,1
    - Dst: log_debug
      Src: /src/gnupg/g10/compress-bz2.c:164,1
    - Dst: BZ2_bzDecompress
      Src: /src/gnupg/g10/compress-bz2.c:167,1
    - Dst: log_debug
      Src: /src/gnupg/g10/compress-bz2.c:169,1
    - Dst: log_error
      Src: /src/gnupg/g10/compress-bz2.c:175,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/compress-bz2.c:176,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/compress-bz2.c:176,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/compress-bz2.c:177,1
    - Dst: log_error
      Src: /src/gnupg/g10/compress-bz2.c:182,1
    - Dst: log_debug
      Src: /src/gnupg/g10/compress-bz2.c:195,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 4
    argNames:
    - zfx
    - bzs
    - a
    - ret_len
    argTypes:
    - compress_filter_context_t*
    - bz_stream*
    - IOBUF
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 197
    functionName: do_uncompress
    functionSourceFile: /src/gnupg/g10/compress-bz2.c
    functionUses: 1
    functionsReached:
    - log_error
    - iobuf_read
    - BZ2_bzDecompress
    - gpg_error
    - write_status_error
    - g10_exit
    - log_debug
    linkageType: ''
    returnType: int
    signature: "int do_uncompress( compress_filter_context_t *zfx, bz_stream *bzs,\n\t
      \      IOBUF a, size_t *ret_len )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/compress-bz2.c:212,1
    - Dst: init_uncompress
      Src: /src/gnupg/g10/compress-bz2.c:213,1
    - Dst: do_uncompress
      Src: /src/gnupg/g10/compress-bz2.c:220,1
    - Dst: BUG
      Src: /src/gnupg/g10/compress-bz2.c:230,1
    - Dst: memset
      Src: /src/gnupg/g10/compress-bz2.c:231,1
    - Dst: init_packet
      Src: /src/gnupg/g10/compress-bz2.c:234,1
    - Dst: build_packet
      Src: /src/gnupg/g10/compress-bz2.c:237,1
    - Dst: log_bug
      Src: /src/gnupg/g10/compress-bz2.c:238,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/compress-bz2.c:239,1
    - Dst: init_compress
      Src: /src/gnupg/g10/compress-bz2.c:240,1
    - Dst: do_compress
      Src: /src/gnupg/g10/compress-bz2.c:246,1
    - Dst: BZ2_bzDecompressEnd
      Src: /src/gnupg/g10/compress-bz2.c:252,1
    - Dst: xfree
      Src: /src/gnupg/g10/compress-bz2.c:253,1
    - Dst: xfree
      Src: /src/gnupg/g10/compress-bz2.c:255,1
    - Dst: do_compress
      Src: /src/gnupg/g10/compress-bz2.c:261,1
    - Dst: BZ2_bzCompressEnd
      Src: /src/gnupg/g10/compress-bz2.c:262,1
    - Dst: xfree
      Src: /src/gnupg/g10/compress-bz2.c:263,1
    - Dst: xfree
      Src: /src/gnupg/g10/compress-bz2.c:265,1
    - Dst: compress_filter_context_t*::release
      Src: /src/gnupg/g10/compress-bz2.c:268,1
    - Dst: mem2str
      Src: /src/gnupg/g10/compress-bz2.c:271,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 5
    argNames:
    - opaque
    - control
    - a
    - buf
    - ret_len
    argTypes:
    - void*
    - int
    - IOBUF
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 273
    functionName: compress_filter_bz2
    functionSourceFile: /src/gnupg/g10/compress-bz2.c
    functionUses: 0
    functionsReached:
    - compress_filter_context_t*::release
    - BZ2_bzCompressEnd
    - do_uncompress
    - init_packet
    - log_bug
    - init_compress
    - BZ2_bzDecompressEnd
    - BUG
    - memset
    - xfree
    - init_uncompress
    - mem2str
    - xmalloc_clear
    - build_packet
    - do_compress
    linkageType: ''
    returnType: int
    signature: "int compress_filter_bz2( void *opaque, int control,\n\t\t     IOBUF
      a, byte *buf, size_t *ret_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:1138,1
    - Dst: getfnc
      Src: /src/gnupg/g10/gpg.c:1141,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/gpg.c:1142,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:1142,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:1142,1
    - Dst: strcpy
      Src: /src/gnupg/g10/gpg.c:1143,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/gpg.c:1143,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/gpg.c:1143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - libname
    - (*getfnc)(const char*)
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1145
    functionName: make_libversion
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - strlen
    - gcry_control
    - xmalloc
    - strcpy
    - stpcpy
    - getfnc
    linkageType: ''
    returnType: char
    signature: 'char *

      make_libversion (const char *libname, const char *(*getfnc)(const char*))'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_pk_test_algo
      Src: /src/gnupg/g10/gpg.c:1157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1158
    functionName: build_list_pk_test_algo
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - openpgp_pk_test_algo
    linkageType: ''
    returnType: int
    signature: int build_list_pk_test_algo (int algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/gpg.c:1163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1164
    functionName: build_list_pk_algo_name
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - openpgp_pk_algo_name
    linkageType: ''
    returnType: char
    signature: 'char *

      build_list_pk_algo_name (int algo)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/gpg.c:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1170
    functionName: build_list_cipher_test_algo
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - openpgp_cipher_test_algo
    linkageType: ''
    returnType: int
    signature: int build_list_cipher_test_algo (int algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/gpg.c:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1172
    functionDepth: 1
    functionLinenumber: 1172
    functionLinenumberEnd: 1176
    functionName: build_list_cipher_algo_name
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - openpgp_cipher_algo_name
    linkageType: ''
    returnType: char
    signature: 'char *

      build_list_cipher_algo_name (int algo)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/gpg.c:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1178
    functionDepth: 1
    functionLinenumber: 1178
    functionLinenumberEnd: 1187
    functionName: build_list_md_test_algo
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - openpgp_md_test_algo
    linkageType: ''
    returnType: int
    signature: int build_list_md_test_algo (int algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_md_algo_name
      Src: /src/gnupg/g10/gpg.c:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1193
    functionName: build_list_md_algo_name
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - openpgp_md_algo_name
    linkageType: ''
    returnType: char
    signature: 'char *

      build_list_md_algo_name (int algo)'
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1210,1
    - Dst: make_libversion
      Src: /src/gnupg/g10/gpg.c:1214,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1232,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1235,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/gpg.c:1242,1
    - Dst: make_filename
      Src: /src/gnupg/g10/gpg.c:1244,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/gpg.c:1244,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1246,1
    - Dst: build_list
      Src: /src/gnupg/g10/gpg.c:1249,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1249,1
    - Dst: build_list
      Src: /src/gnupg/g10/gpg.c:1256,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1256,1
    - Dst: build_list
      Src: /src/gnupg/g10/gpg.c:1263,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1263,1
    - Dst: build_list
      Src: /src/gnupg/g10/gpg.c:1270,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1270,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 80
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1283
    functionName: my_strusage
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - make_filename
    - gnupg_homedir
    - _
    - build_list
    - make_libversion
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage( int level )'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:1298,1
    - Dst: utf8_charcount
      Src: /src/gnupg/g10/gpg.c:1300,1
    - Dst: init_membuf
      Src: /src/gnupg/g10/gpg.c:1302,1
    - Dst: chkf
      Src: /src/gnupg/g10/gpg.c:1307,1
    - Dst: mapf
      Src: /src/gnupg/g10/gpg.c:1307,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/gpg.c:1311,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/gpg.c:1314,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/gpg.c:1317,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/gpg.c:1319,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/gpg.c:1321,1
    - Dst: snprintf
      Src: /src/gnupg/g10/gpg.c:1326,1
    - Dst: snprintf
      Src: /src/gnupg/g10/gpg.c:1328,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/gpg.c:1329,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/gpg.c:1334,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/gpg.c:1335,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/gpg.c:1337,1
    - Dst: xrealloc
      Src: /src/gnupg/g10/gpg.c:1338,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:1338,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - text
    - letter
    - (*mapf)(int)
    argTypes:
    - char*
    - char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1339
    functionName: build_list
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 1
    functionsReached:
    - get_membuf
    - init_membuf
    - utf8_charcount
    - strlen
    - put_membuf
    - snprintf
    - gcry_control
    - put_membuf_str
    - xrealloc
    - mapf
    - chkf
    linkageType: ''
    returnType: char
    signature: "char *\nbuild_list (const char *text, char letter,\n\t    const char
      * (*mapf)(int), int (*chkf)(int))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/g10/gpg.c:1345,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1345,1
    - Dst: log_inc_errorcount
      Src: /src/gnupg/g10/gpg.c:1346,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1348
    functionName: wrong_args
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 3
    functionsReached:
    - log_inc_errorcount
    - g10_exit
    - es_fprintf
    - _
    linkageType: ''
    returnType: void
    signature: void wrong_args( const char *text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnupg/g10/gpg.c:1356,1
    - Dst: native_to_utf8
      Src: /src/gnupg/g10/gpg.c:1358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1360
    functionName: make_username
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - native_to_utf8
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      make_username( const char *string )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: session_env_setenv
      Src: /src/gnupg/g10/gpg.c:1368,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/gpg.c:1370,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:1371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1363
    functionDepth: 1
    functionLinenumber: 1363
    functionLinenumberEnd: 1372
    functionName: set_opt_session_env
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 1
    functionsReached:
    - log_fatal
    - gpg_strerror
    - session_env_setenv
    linkageType: ''
    returnType: void
    signature: void set_opt_session_env (const char *name, const char *value)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/g10/gpg.c:1382,1
    - Dst: atoi
      Src: /src/gnupg/g10/gpg.c:1383,1
    - Dst: strcmp
      Src: /src/gnupg/g10/gpg.c:1387,1
    - Dst: strcmp
      Src: /src/gnupg/g10/gpg.c:1389,1
    - Dst: strcmp
      Src: /src/gnupg/g10/gpg.c:1391,1
    - Dst: strcmp
      Src: /src/gnupg/g10/gpg.c:1393,1
    - Dst: strcmp
      Src: /src/gnupg/g10/gpg.c:1396,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:1408,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1408,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:1409,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:1417,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:1419,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:1422,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/g10/gpg.c:1425,1
    - Dst: recsel_set_debug
      Src: /src/gnupg/g10/gpg.c:1434,1
    - Dst: log_debug
      Src: /src/gnupg/g10/gpg.c:1437,1
    - Dst: iobuf_set_buffer_size
      Src: /src/gnupg/g10/gpg.c:1438,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 39
    argCount: 1
    argNames:
    - level
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1439
    functionName: set_debug
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 1
    functionsReached:
    - atoi
    - log_error
    - digitp
    - gcry_control
    - _
    - strcmp
    - log_debug
    - recsel_set_debug
    - g10_exit
    - iobuf_set_buffer_size
    - parse_debug_flag
    linkageType: ''
    returnType: void
    signature: void set_debug (const char *level)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/g10/gpg.c:1450,1
    - Dst: atoi
      Src: /src/gnupg/g10/gpg.c:1452,1
    - Dst: getenv
      Src: /src/gnupg/g10/gpg.c:1454,1
    - Dst: atoi
      Src: /src/gnupg/g10/gpg.c:1456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1464
    functionName: set_screen_dimensions
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - getenv
    - atoi
    linkageType: ''
    returnType: void
    signature: void set_screen_dimensions(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: riscos_fdopenfile
      Src: /src/gnupg/g10/gpg.c:1476,1
    - Dst: gnupg_open
      Src: /src/gnupg/g10/gpg.c:1503,1
    - Dst: gnupg_open
      Src: /src/gnupg/g10/gpg.c:1506,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:1511,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1511,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1512,1
    - Dst: strerror
      Src: /src/gnupg/g10/gpg.c:1512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - fname
    - for_write
    - binary
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1516
    functionName: open_info_file
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - log_error
    - _
    - riscos_fdopenfile
    - gnupg_open
    - strerror
    linkageType: ''
    returnType: int
    signature: int open_info_file (const char *fname, int for_write, int binary)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:1547,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1547,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:1548,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 27
    argCount: 2
    argNames:
    - ret_cmd
    - new_cmd
    argTypes:
    - enum cmd_and_opt_values*
    - enum cmd_and_opt_values
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1518
    functionDepth: 1
    functionLinenumber: 1518
    functionLinenumberEnd: 1552
    functionName: set_cmd
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 1
    functionsReached:
    - g10_exit
    - _
    - log_error
    linkageType: ''
    returnType: void
    signature: void set_cmd( enum cmd_and_opt_values *ret_cmd, enum cmd_and_opt_values
      new_cmd )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strsep
      Src: /src/gnupg/g10/gpg.c:1562,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:1565,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1565,1
    - Dst: trim_trailing_ws
      Src: /src/gnupg/g10/gpg.c:1569,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:1569,1
    - Dst: strcasecmp
      Src: /src/gnupg/g10/gpg.c:1573,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/gpg.c:1578,1
    - Dst: strsep
      Src: /src/gnupg/g10/gpg.c:1586,1
    - Dst: add_to_strlist2
      Src: /src/gnupg/g10/gpg.c:1589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1555
    functionDepth: 1
    functionLinenumber: 1555
    functionLinenumberEnd: 1591
    functionName: add_group
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - strlen
    - log_error
    - add_to_strlist2
    - _
    - xmalloc
    - trim_trailing_ws
    - strsep
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void add_group(char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: trim_trailing_ws
      Src: /src/gnupg/g10/gpg.c:1599,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:1599,1
    - Dst: strcasecmp
      Src: /src/gnupg/g10/gpg.c:1603,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:1610,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:1611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1594
    functionDepth: 1
    functionLinenumber: 1594
    functionLinenumberEnd: 1615
    functionName: rm_group
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcasecmp
    - trim_trailing_ws
    - xfree
    - free_strlist
    linkageType: ''
    returnType: void
    signature: void rm_group(char *name)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/gpg.c:1643,1
    - Dst: strchr
      Src: /src/gnupg/g10/gpg.c:1648,1
    - Dst: make_filename
      Src: /src/gnupg/g10/gpg.c:1649,1
    - Dst: make_filename
      Src: /src/gnupg/g10/gpg.c:1651,1
    - Dst: gnupg_libdir
      Src: /src/gnupg/g10/gpg.c:1651,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/gpg.c:1654,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/g10/gpg.c:1662,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/gpg.c:1662,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:1663,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/gpg.c:1663,1
    - Dst: gnupg_stat
      Src: /src/gnupg/g10/gpg.c:1670,1
    - Dst: make_dirname
      Src: /src/gnupg/g10/gpg.c:1679,1
    - Dst: gnupg_stat
      Src: /src/gnupg/g10/gpg.c:1681,1
    - Dst: S_ISDIR
      Src: /src/gnupg/g10/gpg.c:1681,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:1684,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:1689,1
    - Dst: S_ISDIR
      Src: /src/gnupg/g10/gpg.c:1698,1
    - Dst: getuid
      Src: /src/gnupg/g10/gpg.c:1700,1
    - Dst: S_ISREG
      Src: /src/gnupg/g10/gpg.c:1719,1
    - Dst: getuid
      Src: /src/gnupg/g10/gpg.c:1721,1
    - Dst: getuid
      Src: /src/gnupg/g10/gpg.c:1727,1
    - Dst: getuid
      Src: /src/gnupg/g10/gpg.c:1741,1
    - Dst: BUG
      Src: /src/gnupg/g10/gpg.c:1757,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:1764,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1764,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:1767,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1767,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:1770,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1770,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:1776,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1776,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:1779,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1779,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:1782,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1782,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:1788,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1788,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:1791,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1791,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:1794,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1794,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:1800,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1800,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:1803,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1803,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:1806,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:1806,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:1812,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 102
    argCount: 2
    argNames:
    - path
    - item
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1630
    functionDepth: 1
    functionLinenumber: 1630
    functionLinenumberEnd: 1824
    functionName: check_permissions
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - make_filename
    - ascii_strncasecmp
    - gnupg_libdir
    - log_assert
    - strlen
    - gnupg_homedir
    - make_dirname
    - BUG
    - _
    - strchr
    - S_ISDIR
    - xfree
    - getuid
    - xstrdup
    - gnupg_stat
    - S_ISREG
    - log_info
    linkageType: ''
    returnType: int
    signature: int check_permissions (const char *path, int item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checker
      Src: /src/gnupg/g10/gpg.c:1835,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1840,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1841,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1844
    functionName: print_algo_numbers
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - checker
    - es_printf
    linkageType: ''
    returnType: void
    signature: void print_algo_numbers(int (*checker)(int))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checker
      Src: /src/gnupg/g10/gpg.c:1854,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1859,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1860,1
    - Dst: mapper
      Src: /src/gnupg/g10/gpg.c:1860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - (*mapper)(int)
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1863
    functionName: print_algo_names
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - mapper
    - checker
    - es_printf
    linkageType: ''
    returnType: void
    signature: void print_algo_names(int (*checker)(int),const char *(*mapper)(int))
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strsep
      Src: /src/gnupg/g10/gpg.c:1881,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:1885,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/gpg.c:1891,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/gpg.c:1892,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:1892,1
    - Dst: es_putc
      Src: /src/gnupg/g10/gpg.c:1894,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/gpg.c:1898,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:1898,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1901,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1904,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:1910,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1912,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/gpg.c:1913,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:1913,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1914,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:1918,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1920,1
    - Dst: print_algo_numbers
      Src: /src/gnupg/g10/gpg.c:1921,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1922,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:1926,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1928,1
    - Dst: print_algo_names
      Src: /src/gnupg/g10/gpg.c:1929,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1931,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:1935,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1937,1
    - Dst: print_algo_numbers
      Src: /src/gnupg/g10/gpg.c:1938,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1939,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:1943,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1945,1
    - Dst: print_algo_names
      Src: /src/gnupg/g10/gpg.c:1946,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1948,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:1953,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:1954,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1956,1
    - Dst: print_algo_numbers
      Src: /src/gnupg/g10/gpg.c:1957,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1958,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:1963,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:1964,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1966,1
    - Dst: print_algo_names
      Src: /src/gnupg/g10/gpg.c:1967,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1969,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:1973,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1975,1
    - Dst: print_algo_numbers
      Src: /src/gnupg/g10/gpg.c:1976,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1977,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:1981,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1983,1
    - Dst: print_algo_names
      Src: /src/gnupg/g10/gpg.c:1984,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1986,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:1990,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:1996,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:1998,1
    - Dst: openpgp_enum_curves
      Src: /src/gnupg/g10/gpg.c:1999,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:2000,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:2001,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:2006,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:2008,1
    - Dst: openpgp_enum_curves
      Src: /src/gnupg/g10/gpg.c:2009,1
    - Dst: openpgp_curve_to_oid
      Src: /src/gnupg/g10/gpg.c:2011,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:2012,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:2014,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:2022,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:2022,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 96
    argCount: 1
    argNames:
    - items
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2024
      start: 1869
    functionDepth: 1
    functionLinenumber: 1869
    functionLinenumberEnd: 2024
    functionName: list_config
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - print_algo_numbers
    - es_fprintf
    - strlen
    - log_error
    - es_write_sanitized
    - es_putc
    - es_printf
    - openpgp_enum_curves
    - _
    - openpgp_curve_to_oid
    - ascii_strcasecmp
    - strsep
    - print_algo_names
    linkageType: ''
    returnType: void
    signature: void list_config(char *items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:2031,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:2032,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:2036,1
    - Dst: get_default_pubkey_algo
      Src: /src/gnupg/g10/gpg.c:2037,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:2041,1
    - Dst: gnupg_rng_is_compliant
      Src: /src/gnupg/g10/gpg.c:2043,1
    - Dst: atoi
      Src: /src/gnupg/g10/gpg.c:2044,1
    - Dst: gnupg_status_compliance_flag
      Src: /src/gnupg/g10/gpg.c:2044,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:2046,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2028
    functionDepth: 1
    functionLinenumber: 2028
    functionLinenumberEnd: 2048
    functionName: gpgconf_list
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - gnupg_status_compliance_flag
    - atoi
    - gnupg_rng_is_compliant
    - es_printf
    - get_default_pubkey_algo
    linkageType: ''
    returnType: void
    signature: void gpgconf_list (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/gpg.c:2061,1
    - Dst: memset
      Src: /src/gnupg/g10/gpg.c:2066,1
    - Dst: BUG
      Src: /src/gnupg/g10/gpg.c:2076,1
    - Dst: strsep
      Src: /src/gnupg/g10/gpg.c:2084,1
    - Dst: atoi
      Src: /src/gnupg/g10/gpg.c:2089,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:2099,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/gpg.c:2100,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 1
    argNames:
    - list
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2108
      start: 2051
    functionDepth: 1
    functionLinenumber: 2051
    functionLinenumberEnd: 2108
    functionName: parse_subpacket_list
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - atoi
    - BUG
    - xmalloc
    - memset
    - xfree
    - strsep
    linkageType: ''
    returnType: int
    signature: int parse_subpacket_list(char *list)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:2120,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:2122,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:2124,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:2126,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:2128,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:2132,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:2138,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:2140,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:2142,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:2144,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:2146,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:2148,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:2150,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:2152,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:2154,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:2156,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:2158,1
    - Dst: parse_options
      Src: /src/gnupg/g10/gpg.c:2179,1
    - Dst: parse_subpacket_list
      Src: /src/gnupg/g10/gpg.c:2185,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:2191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2111
    functionDepth: 2
    functionLinenumber: 2111
    functionLinenumberEnd: 2199
    functionName: parse_list_options
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - xfree
    - parse_options
    - N_
    - parse_subpacket_list
    linkageType: ''
    returnType: int
    signature: int parse_list_options(char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:2211,1
    - Dst: xrealloc
      Src: /src/gnupg/g10/gpg.c:2212,1
    - Dst: strcat
      Src: /src/gnupg/g10/gpg.c:2219,1
    - Dst: strcat
      Src: /src/gnupg/g10/gpg.c:2221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2225
    functionName: collapse_args
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - xrealloc
    - strcat
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      collapse_args(int argc,char *argv[])'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:2232,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:2234,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:2236,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:2238,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:2241,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:2243,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:2246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - model
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2250
      start: 2229
    functionDepth: 0
    functionLinenumber: 2229
    functionLinenumberEnd: 2250
    functionName: parse_trust_model
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - ascii_strcasecmp
    linkageType: ''
    returnType: void
    signature: void parse_trust_model(const char *model)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:2267,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:2269,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:2269,1
    - Dst: DIM
      Src: /src/gnupg/g10/gpg.c:2270,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:2271,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:2272,1
    - Dst: DIM
      Src: /src/gnupg/g10/gpg.c:2275,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:2276,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:2280,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:2280,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:2282,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:2282,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:2283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - policystr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2254
    functionDepth: 1
    functionLinenumber: 2254
    functionLinenumberEnd: 2284
    functionName: parse_tofu_policy
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - log_error
    - DIM
    - _
    - log_info
    - ascii_strcasecmp
    - g10_exit
    linkageType: ''
    returnType: int
    signature: int parse_tofu_policy (const char *policystr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: set_compliance_option
      Src: /src/gnupg/g10/gpg.c:2334,1
    - Dst: set_compliance_option
      Src: /src/gnupg/g10/gpg.c:2345,1
    - Dst: set_compliance_option
      Src: /src/gnupg/g10/gpg.c:2358,1
    - Dst: set_compliance_option
      Src: /src/gnupg/g10/gpg.c:2362,1
    - Dst: set_compliance_option
      Src: /src/gnupg/g10/gpg.c:2367,1
    - Dst: BUG
      Src: /src/gnupg/g10/gpg.c:2375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 60
    argCount: 1
    argNames:
    - option
    argTypes:
    - enum cmd_and_opt_values
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2304
    functionDepth: 1
    functionLinenumber: 2304
    functionLinenumberEnd: 2377
    functionName: set_compliance_option
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 1
    functionsReached:
    - set_compliance_option
    - BUG
    linkageType: ''
    returnType: void
    signature: void set_compliance_option (enum cmd_and_opt_values option)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:2383,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/gpg.c:2383,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:2384,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:2384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2380
    functionDepth: 1
    functionLinenumber: 2380
    functionLinenumberEnd: 2386
    functionName: gen_key_forbidden
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - _
    - write_status_failure
    - log_error
    linkageType: ''
    returnType: void
    signature: void gen_key_forbidden (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2396
      start: 2392
    functionDepth: 0
    functionLinenumber: 2392
    functionLinenumberEnd: 2396
    functionName: gpg_init_default_ctrl
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gpg_init_default_ctrl (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tofu_closedbs
      Src: /src/gnupg/g10/gpg.c:2405,1
    - Dst: gpg_dirmngr_deinit_session_data
      Src: /src/gnupg/g10/gpg.c:2407,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/gpg.c:2409,1
    - Dst: gpg_keyboxd_deinit_session_data
      Src: /src/gnupg/g10/gpg.c:2410,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:2411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2413
      start: 2401
    functionDepth: 1
    functionLinenumber: 2401
    functionLinenumberEnd: 2413
    functionName: gpg_deinit_default_ctrl
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 4
    functionsReached:
    - tofu_closedbs
    - gpg_dirmngr_deinit_session_data
    - xfree
    - keydb_release
    - gpg_keyboxd_deinit_session_data
    linkageType: ''
    returnType: void
    signature: void gpg_deinit_default_ctrl (ctrl_t ctrl)
  - BBCount: 843
    BranchProfiles: []
    Callsites:
    - Dst: early_system_init
      Src: /src/gnupg/g10/gpg.c:2483,1
    - Dst: gnupg_reopen_std
      Src: /src/gnupg/g10/gpg.c:2484,1
    - Dst: trap_unaligned
      Src: /src/gnupg/g10/gpg.c:2485,1
    - Dst: gnupg_rl_initialize
      Src: /src/gnupg/g10/gpg.c:2486,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/g10/gpg.c:2487,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:2488,1
    - Dst: log_set_prefix
      Src: /src/gnupg/g10/gpg.c:2489,1
    - Dst: i18n_init
      Src: /src/gnupg/g10/gpg.c:2492,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/g10/gpg.c:2493,1
    - Dst: setup_libgcrypt_logging
      Src: /src/gnupg/g10/gpg.c:2496,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:2499,1
    - Dst: disable_core_dumps
      Src: /src/gnupg/g10/gpg.c:2501,1
    - Dst: gnupg_init_signals
      Src: /src/gnupg/g10/gpg.c:2503,1
    - Dst: dotlock_create
      Src: /src/gnupg/g10/gpg.c:2505,1
    - Dst: gnupg_initialize_compliance
      Src: /src/gnupg/g10/gpg.c:2508,1
    - Dst: session_env_new
      Src: /src/gnupg/g10/gpg.c:2511,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/gpg.c:2513,1
    - Dst: strerror
      Src: /src/gnupg/g10/gpg.c:2514,1
    - Dst: set_screen_dimensions
      Src: /src/gnupg/g10/gpg.c:2550,1
    - Dst: set_compliance_option
      Src: /src/gnupg/g10/gpg.c:2558,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/g10/gpg.c:2566,1
    - Dst: es_setvbuf
      Src: /src/gnupg/g10/gpg.c:2576,1
    - Dst: strchr
      Src: /src/gnupg/g10/gpg.c:2605,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/gpg.c:2605,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/gpg.c:2606,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:2606,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/gpg.c:2606,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/gpg.c:2608,1
    - Dst: IsDBCSLeadByte
      Src: /src/gnupg/g10/gpg.c:2612,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/g10/gpg.c:2617,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:2622,1
    - Dst: getuid
      Src: /src/gnupg/g10/gpg.c:2627,1
    - Dst: geteuid
      Src: /src/gnupg/g10/gpg.c:2627,1
    - Dst: BUG
      Src: /src/gnupg/g10/gpg.c:2628,1
    - Dst: assuan_set_malloc_hooks
      Src: /src/gnupg/g10/gpg.c:2638,1
    - Dst: assuan_set_gpg_err_source
      Src: /src/gnupg/g10/gpg.c:2639,1
    - Dst: setup_libassuan_logging
      Src: /src/gnupg/g10/gpg.c:2640,1
    - Dst: gnupg_chuid
      Src: /src/gnupg/g10/gpg.c:2643,1
    - Dst: log_inc_errorcount
      Src: /src/gnupg/g10/gpg.c:2644,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/g10/gpg.c:2645,1
    - Dst: additional_weak_digest
      Src: /src/gnupg/g10/gpg.c:2648,1
    - Dst: parse_auto_key_locate
      Src: /src/gnupg/g10/gpg.c:2649,1
    - Dst: check_permissions
      Src: /src/gnupg/g10/gpg.c:2664,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/gpg.c:2664,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/g10/gpg.c:2667,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/g10/gpg.c:2667,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/g10/gpg.c:2668,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/gpg.c:2668,1
    - Dst: gpgrt_argparser
      Src: /src/gnupg/g10/gpg.c:2670,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:2676,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:2676,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:2680,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/gpg.c:2681,1
    - Dst: is_secured_filename
      Src: /src/gnupg/g10/gpg.c:2683,1
    - Dst: strncmp
      Src: /src/gnupg/g10/gpg.c:2688,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/g10/gpg.c:2688,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:2689,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/g10/gpg.c:2689,1
    - Dst: check_permissions
      Src: /src/gnupg/g10/gpg.c:2698,1
    - Dst: set_cmd
      Src: /src/gnupg/g10/gpg.c:2716,1
    - Dst: set_cmd
      Src: /src/gnupg/g10/gpg.c:2781,1
    - Dst: set_cmd
      Src: /src/gnupg/g10/gpg.c:2791,1
    - Dst: set_cmd
      Src: /src/gnupg/g10/gpg.c:2796,1
    - Dst: set_cmd
      Src: /src/gnupg/g10/gpg.c:2806,1
    - Dst: set_cmd
      Src: /src/gnupg/g10/gpg.c:2809,1
    - Dst: set_cmd
      Src: /src/gnupg/g10/gpg.c:2812,1
    - Dst: set_cmd
      Src: /src/gnupg/g10/gpg.c:2815,1
    - Dst: set_cmd
      Src: /src/gnupg/g10/gpg.c:2818,1
    - Dst: set_cmd
      Src: /src/gnupg/g10/gpg.c:2823,1
    - Dst: string_to_u64
      Src: /src/gnupg/g10/gpg.c:2832,1
    - Dst: tty_no_terminal
      Src: /src/gnupg/g10/gpg.c:2840,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:2845,1
    - Dst: obsolete_option
      Src: /src/gnupg/g10/gpg.c:2863,1
    - Dst: obsolete_option
      Src: /src/gnupg/g10/gpg.c:2866,1
    - Dst: obsolete_scdaemon_option
      Src: /src/gnupg/g10/gpg.c:2874,1
    - Dst: obsolete_scdaemon_option
      Src: /src/gnupg/g10/gpg.c:2877,1
    - Dst: obsolete_scdaemon_option
      Src: /src/gnupg/g10/gpg.c:2880,1
    - Dst: obsolete_scdaemon_option
      Src: /src/gnupg/g10/gpg.c:2883,1
    - Dst: obsolete_option
      Src: /src/gnupg/g10/gpg.c:2886,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g10/gpg.c:2894,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g10/gpg.c:2896,1
    - Dst: deprecated_warning
      Src: /src/gnupg/g10/gpg.c:2900,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/g10/gpg.c:2906,1
    - Dst: parse_compatibility_flags
      Src: /src/gnupg/g10/gpg.c:2932,1
    - Dst: set_status_fd
      Src: /src/gnupg/g10/gpg.c:2941,1
    - Dst: translate_sys2libc_fd_int
      Src: /src/gnupg/g10/gpg.c:2941,1
    - Dst: set_status_fd
      Src: /src/gnupg/g10/gpg.c:2944,1
    - Dst: open_info_file
      Src: /src/gnupg/g10/gpg.c:2944,1
    - Dst: set_attrib_fd
      Src: /src/gnupg/g10/gpg.c:2947,1
    - Dst: translate_sys2libc_fd_int
      Src: /src/gnupg/g10/gpg.c:2947,1
    - Dst: set_attrib_fd
      Src: /src/gnupg/g10/gpg.c:2950,1
    - Dst: open_info_file
      Src: /src/gnupg/g10/gpg.c:2950,1
    - Dst: log_set_fd
      Src: /src/gnupg/g10/gpg.c:2953,1
    - Dst: translate_sys2libc_fd_int
      Src: /src/gnupg/g10/gpg.c:2953,1
    - Dst: obsolete_option
      Src: /src/gnupg/g10/gpg.c:3004,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:3020,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:3024,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/gpg.c:3037,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:3045,1
    - Dst: make_username
      Src: /src/gnupg/g10/gpg.c:3046,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:3050,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:3054,1
    - Dst: set_cmd
      Src: /src/gnupg/g10/gpg.c:3074,1
    - Dst: parse_trust_model
      Src: /src/gnupg/g10/gpg.c:3082,1
    - Dst: parse_tofu_policy
      Src: /src/gnupg/g10/gpg.c:3086,1
    - Dst: obsolete_option
      Src: /src/gnupg/g10/gpg.c:3089,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:3093,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3093,1
    - Dst: string_to_trust_value
      Src: /src/gnupg/g10/gpg.c:3095,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3098,1
    - Dst: gnupg_parse_compliance_option
      Src: /src/gnupg/g10/gpg.c:3107,1
    - Dst: DIM
      Src: /src/gnupg/g10/gpg.c:3109,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:3112,1
    - Dst: set_compliance_option
      Src: /src/gnupg/g10/gpg.c:3113,1
    - Dst: set_compliance_option
      Src: /src/gnupg/g10/gpg.c:3122,1
    - Dst: native_to_utf8
      Src: /src/gnupg/g10/gpg.c:3142,1
    - Dst: add_policy_url
      Src: /src/gnupg/g10/gpg.c:3147,1
    - Dst: add_policy_url
      Src: /src/gnupg/g10/gpg.c:3148,1
    - Dst: add_policy_url
      Src: /src/gnupg/g10/gpg.c:3150,1
    - Dst: add_policy_url
      Src: /src/gnupg/g10/gpg.c:3151,1
    - Dst: deprecated_warning
      Src: /src/gnupg/g10/gpg.c:3153,1
    - Dst: deprecated_warning
      Src: /src/gnupg/g10/gpg.c:3155,1
    - Dst: deprecated_warning
      Src: /src/gnupg/g10/gpg.c:3161,1
    - Dst: deprecated_warning
      Src: /src/gnupg/g10/gpg.c:3163,1
    - Dst: add_keyserver_url
      Src: /src/gnupg/g10/gpg.c:3168,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g10/gpg.c:3177,1
    - Dst: deprecated_warning
      Src: /src/gnupg/g10/gpg.c:3180,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:3184,1
    - Dst: deprecated_warning
      Src: /src/gnupg/g10/gpg.c:3190,1
    - Dst: deprecated_warning
      Src: /src/gnupg/g10/gpg.c:3192,1
    - Dst: deprecated_warning
      Src: /src/gnupg/g10/gpg.c:3198,1
    - Dst: deprecated_warning
      Src: /src/gnupg/g10/gpg.c:3200,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/gpg.c:3215,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/gpg.c:3216,1
    - Dst: encode_s2k_iterations
      Src: /src/gnupg/g10/gpg.c:3219,1
    - Dst: add_to_strlist2
      Src: /src/gnupg/g10/gpg.c:3232,1
    - Dst: add_to_strlist2
      Src: /src/gnupg/g10/gpg.c:3248,1
    - Dst: add_to_strlist2
      Src: /src/gnupg/g10/gpg.c:3264,1
    - Dst: parse_expire_string
      Src: /src/gnupg/g10/gpg.c:3278,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3279,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3279,1
    - Dst: parse_expire_string
      Src: /src/gnupg/g10/gpg.c:3290,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3291,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3291,1
    - Dst: add_to_strlist2
      Src: /src/gnupg/g10/gpg.c:3304,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/g10/gpg.c:3311,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3313,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3313,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/gpg.c:3317,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:3318,1
    - Dst: set_passphrase_from_string
      Src: /src/gnupg/g10/gpg.c:3336,1
    - Dst: translate_sys2libc_fd_int
      Src: /src/gnupg/g10/gpg.c:3339,1
    - Dst: open_info_file
      Src: /src/gnupg/g10/gpg.c:3342,1
    - Dst: parse_pinentry_mode
      Src: /src/gnupg/g10/gpg.c:3349,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3351,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3351,1
    - Dst: parse_request_origin
      Src: /src/gnupg/g10/gpg.c:3355,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3357,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3357,1
    - Dst: translate_sys2libc_fd_int
      Src: /src/gnupg/g10/gpg.c:3361,1
    - Dst: gnupg_fd_valid
      Src: /src/gnupg/g10/gpg.c:3362,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3363,1
    - Dst: strerror
      Src: /src/gnupg/g10/gpg.c:3363,1
    - Dst: open_info_file
      Src: /src/gnupg/g10/gpg.c:3366,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/gpg.c:3369,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/gpg.c:3372,1
    - Dst: isascii
      Src: /src/gnupg/g10/gpg.c:3382,1
    - Dst: isdigit
      Src: /src/gnupg/g10/gpg.c:3382,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/gpg.c:3390,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:3390,1
    - Dst: strcpy
      Src: /src/gnupg/g10/gpg.c:3391,1
    - Dst: strcat
      Src: /src/gnupg/g10/gpg.c:3392,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/gpg.c:3395,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/gpg.c:3399,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:3403,1
    - Dst: set_native_charset
      Src: /src/gnupg/g10/gpg.c:3410,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3411,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3411,1
    - Dst: dotlock_disable
      Src: /src/gnupg/g10/gpg.c:3419,1
    - Dst: riscos_not_implemented
      Src: /src/gnupg/g10/gpg.c:3425,1
    - Dst: parse_keyserver_uri
      Src: /src/gnupg/g10/gpg.c:3431,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3433,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3433,1
    - Dst: free_keyserver_spec
      Src: /src/gnupg/g10/gpg.c:3442,1
    - Dst: parse_keyserver_options
      Src: /src/gnupg/g10/gpg.c:3448,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3451,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3451,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3454,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3454,1
    - Dst: parse_import_options
      Src: /src/gnupg/g10/gpg.c:3458,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3461,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3461,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3464,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3464,1
    - Dst: parse_and_set_import_filter
      Src: /src/gnupg/g10/gpg.c:3468,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3470,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3470,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:3470,1
    - Dst: parse_export_options
      Src: /src/gnupg/g10/gpg.c:3473,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3476,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3476,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3479,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3479,1
    - Dst: parse_and_set_export_filter
      Src: /src/gnupg/g10/gpg.c:3483,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3485,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3485,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:3485,1
    - Dst: parse_and_set_list_filter
      Src: /src/gnupg/g10/gpg.c:3488,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3490,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3490,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:3490,1
    - Dst: parse_list_options
      Src: /src/gnupg/g10/gpg.c:3493,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3496,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3496,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3499,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3499,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:3507,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:3509,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:3511,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:3513,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:3517,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:3521,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:3523,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:3525,1
    - Dst: N_
      Src: /src/gnupg/g10/gpg.c:3527,1
    - Dst: parse_options
      Src: /src/gnupg/g10/gpg.c:3531,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3534,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3534,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3537,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3537,1
    - Dst: set_exec_path
      Src: /src/gnupg/g10/gpg.c:3543,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3544,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3544,1
    - Dst: add_notation_data
      Src: /src/gnupg/g10/gpg.c:3549,1
    - Dst: add_notation_data
      Src: /src/gnupg/g10/gpg.c:3550,1
    - Dst: add_notation_data
      Src: /src/gnupg/g10/gpg.c:3552,1
    - Dst: add_notation_data
      Src: /src/gnupg/g10/gpg.c:3553,1
    - Dst: register_known_notation
      Src: /src/gnupg/g10/gpg.c:3554,1
    - Dst: deprecated_warning
      Src: /src/gnupg/g10/gpg.c:3556,1
    - Dst: deprecated_warning
      Src: /src/gnupg/g10/gpg.c:3558,1
    - Dst: deprecated_warning
      Src: /src/gnupg/g10/gpg.c:3564,1
    - Dst: deprecated_warning
      Src: /src/gnupg/g10/gpg.c:3566,1
    - Dst: string_to_cipher_algo
      Src: /src/gnupg/g10/gpg.c:3579,1
    - Dst: gcry_cipher_ctl
      Src: /src/gnupg/g10/gpg.c:3580,1
    - Dst: gcry_pk_map_name
      Src: /src/gnupg/g10/gpg.c:3585,1
    - Dst: gcry_pk_ctl
      Src: /src/gnupg/g10/gpg.c:3586,1
    - Dst: translate_sys2libc_fd_int
      Src: /src/gnupg/g10/gpg.c:3644,1
    - Dst: deprecated_warning
      Src: /src/gnupg/g10/gpg.c:3647,1
    - Dst: register_trusted_key
      Src: /src/gnupg/g10/gpg.c:3653,1
    - Dst: enable_special_filenames
      Src: /src/gnupg/g10/gpg.c:3656,1
    - Dst: disable_translate_sys2libc_fd
      Src: /src/gnupg/g10/gpg.c:3660,1
    - Dst: parse_keyserver_uri
      Src: /src/gnupg/g10/gpg.c:3673,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3675,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3675,1
    - Dst: free_keyserver_spec
      Src: /src/gnupg/g10/gpg.c:3677,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:3692,1
    - Dst: make_filename
      Src: /src/gnupg/g10/gpg.c:3693,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:3696,1
    - Dst: make_filename
      Src: /src/gnupg/g10/gpg.c:3697,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:3700,1
    - Dst: make_filename
      Src: /src/gnupg/g10/gpg.c:3701,1
    - Dst: additional_weak_digest
      Src: /src/gnupg/g10/gpg.c:3705,1
    - Dst: set_opt_session_env
      Src: /src/gnupg/g10/gpg.c:3715,1
    - Dst: set_opt_session_env
      Src: /src/gnupg/g10/gpg.c:3718,1
    - Dst: set_opt_session_env
      Src: /src/gnupg/g10/gpg.c:3721,1
    - Dst: set_opt_session_env
      Src: /src/gnupg/g10/gpg.c:3724,1
    - Dst: add_group
      Src: /src/gnupg/g10/gpg.c:3730,1
    - Dst: rm_group
      Src: /src/gnupg/g10/gpg.c:3731,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:3736,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:3738,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:3747,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:3749,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:3751,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:3753,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/gpg.c:3755,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3758,1
    - Dst: release_akl
      Src: /src/gnupg/g10/gpg.c:3778,1
    - Dst: parse_auto_key_locate
      Src: /src/gnupg/g10/gpg.c:3780,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3783,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3783,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3786,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3786,1
    - Dst: release_akl
      Src: /src/gnupg/g10/gpg.c:3790,1
    - Dst: parse_key_origin
      Src: /src/gnupg/g10/gpg.c:3794,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3795,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3795,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:3804,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:3808,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:3832,1
    - Dst: isotime2epoch
      Src: /src/gnupg/g10/gpg.c:3842,1
    - Dst: strtoul
      Src: /src/gnupg/g10/gpg.c:3844,1
    - Dst: gnupg_set_time
      Src: /src/gnupg/g10/gpg.c:3845,1
    - Dst: strcmp
      Src: /src/gnupg/g10/gpg.c:3857,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/g10/gpg.c:3858,1
    - Dst: tokenize_to_strlist
      Src: /src/gnupg/g10/gpg.c:3859,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/g10/gpg.c:3861,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:3862,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3862,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:3863,1
    - Dst: strcmp
      Src: /src/gnupg/g10/gpg.c:3883,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/g10/gpg.c:3884,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g10/gpg.c:3886,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/gpg.c:3890,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/gpg.c:3895,1
    - Dst: xstrconcat
      Src: /src/gnupg/g10/gpg.c:3899,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:3901,1
    - Dst: keybox_set_buffersize
      Src: /src/gnupg/g10/gpg.c:3906,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:3919,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/gpg.c:3920,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/g10/gpg.c:3926,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/g10/gpg.c:3928,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:3930,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/gpg.c:3930,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:3931,1
    - Dst: parse_comopt
      Src: /src/gnupg/g10/gpg.c:3943,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:3945,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/gpg.c:3945,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:3946,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:3950,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:3955,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:3963,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:3967,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:3967,1
    - Dst: gpgconf_list
      Src: /src/gnupg/g10/gpg.c:3978,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:3979,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:3981,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:3984,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/g10/gpg.c:3987,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:3989,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/gpg.c:3989,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:3990,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/gpg.c:3999,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/g10/gpg.c:4000,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/g10/gpg.c:4000,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/g10/gpg.c:4000,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/gpg.c:4001,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/g10/gpg.c:4001,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/g10/gpg.c:4008,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4009,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/g10/gpg.c:4010,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4011,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/g10/gpg.c:4012,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4013,1
    - Dst: npth_init
      Src: /src/gnupg/g10/gpg.c:4018,1
    - Dst: gpgrt_set_syscall_clamp
      Src: /src/gnupg/g10/gpg.c:4019,1
    - Dst: assuan_control
      Src: /src/gnupg/g10/gpg.c:4020,1
    - Dst: log_set_file
      Src: /src/gnupg/g10/gpg.c:4024,1
    - Dst: log_set_prefix
      Src: /src/gnupg/g10/gpg.c:4025,1
    - Dst: log_set_prefix
      Src: /src/gnupg/g10/gpg.c:4030,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4034,1
    - Dst: get_native_charset
      Src: /src/gnupg/g10/gpg.c:4034,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4037,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4037,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4041,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4041,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4048,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4048,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4050,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4050,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4053,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4053,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4060,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4060,1
    - Dst: tty_batchmode
      Src: /src/gnupg/g10/gpg.c:4062,1
    - Dst: gnupg_faked_time_p
      Src: /src/gnupg/g10/gpg.c:4064,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4068,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4068,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/g10/gpg.c:4069,1
    - Dst: dump_isotime
      Src: /src/gnupg/g10/gpg.c:4070,1
    - Dst: log_printf
      Src: /src/gnupg/g10/gpg.c:4071,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4081,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4081,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:4085,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4089,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4089,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:4091,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/gpg.c:4091,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:4092,1
    - Dst: set_debug
      Src: /src/gnupg/g10/gpg.c:4095,1
    - Dst: parse_compatibility_flags
      Src: /src/gnupg/g10/gpg.c:4097,1
    - Dst: gnupg_set_compliance_extra_info
      Src: /src/gnupg/g10/gpg.c:4098,1
    - Dst: log_clock
      Src: /src/gnupg/g10/gpg.c:4100,1
    - Dst: string_to_cipher_algo
      Src: /src/gnupg/g10/gpg.c:4117,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:4118,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/gpg.c:4119,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4120,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4120,1
    - Dst: string_to_digest_algo
      Src: /src/gnupg/g10/gpg.c:4123,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:4124,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/gpg.c:4125,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4126,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4126,1
    - Dst: string_to_compress_algo
      Src: /src/gnupg/g10/gpg.c:4129,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:4130,1
    - Dst: check_compress_algo
      Src: /src/gnupg/g10/gpg.c:4131,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4132,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4132,1
    - Dst: string_to_digest_algo
      Src: /src/gnupg/g10/gpg.c:4135,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:4136,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/gpg.c:4137,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4138,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4138,1
    - Dst: string_to_cipher_algo
      Src: /src/gnupg/g10/gpg.c:4141,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:4142,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/gpg.c:4143,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4144,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4144,1
    - Dst: string_to_digest_algo
      Src: /src/gnupg/g10/gpg.c:4147,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:4148,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/gpg.c:4149,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4150,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4150,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4153,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4153,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4155,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4155,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4157,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4157,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4159,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4159,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4161,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4161,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4165,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4165,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4169,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4169,1
    - Dst: keygen_set_std_prefs
      Src: /src/gnupg/g10/gpg.c:4175,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4176,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4176,1
    - Dst: keygen_set_std_prefs
      Src: /src/gnupg/g10/gpg.c:4179,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4180,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4180,1
    - Dst: keygen_set_std_prefs
      Src: /src/gnupg/g10/gpg.c:4183,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4184,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4184,1
    - Dst: keygen_set_std_prefs
      Src: /src/gnupg/g10/gpg.c:4187,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4188,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4188,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4197,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4197,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4202,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4202,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4245,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4245,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/g10/gpg.c:4248,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:4250,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/gpg.c:4251,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:4252,1
    - Dst: algo_available
      Src: /src/gnupg/g10/gpg.c:4267,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/gpg.c:4269,1
    - Dst: algo_available
      Src: /src/gnupg/g10/gpg.c:4273,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/g10/gpg.c:4275,1
    - Dst: algo_available
      Src: /src/gnupg/g10/gpg.c:4279,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/g10/gpg.c:4281,1
    - Dst: algo_available
      Src: /src/gnupg/g10/gpg.c:4285,1
    - Dst: compress_algo_to_string
      Src: /src/gnupg/g10/gpg.c:4287,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4296,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4296,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/gpg.c:4299,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4302,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4302,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/gpg.c:4305,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4308,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4308,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/gpg.c:4311,1
    - Dst: BUG
      Src: /src/gnupg/g10/gpg.c:4314,1
    - Dst: compliance_failure
      Src: /src/gnupg/g10/gpg.c:4317,1
    - Dst: gnupg_cipher_is_allowed
      Src: /src/gnupg/g10/gpg.c:4327,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4338,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4338,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/gpg.c:4339,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/gpg.c:4340,1
    - Dst: gnupg_digest_is_allowed
      Src: /src/gnupg/g10/gpg.c:4343,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4350,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4350,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/g10/gpg.c:4351,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/gpg.c:4352,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/g10/gpg.c:4355,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:4357,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/gpg.c:4357,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:4358,1
    - Dst: make_filename
      Src: /src/gnupg/g10/gpg.c:4364,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/gpg.c:4364,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:4365,1
    - Dst: gnupg_access
      Src: /src/gnupg/g10/gpg.c:4366,1
    - Dst: register_secured_file
      Src: /src/gnupg/g10/gpg.c:4367,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:4368,1
    - Dst: set_cmd
      Src: /src/gnupg/g10/gpg.c:4375,1
    - Dst: set_packet_list_mode
      Src: /src/gnupg/g10/gpg.c:4380,1
    - Dst: keydb_add_resource
      Src: /src/gnupg/g10/gpg.c:4397,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/gpg.c:4399,1
    - Dst: keydb_add_resource
      Src: /src/gnupg/g10/gpg.c:4404,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/g10/gpg.c:4407,1
    - Dst: gnupg_inhibit_set_foregound_window
      Src: /src/gnupg/g10/gpg.c:4420,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:4425,1
    - Dst: read_passphrase_from_fd
      Src: /src/gnupg/g10/gpg.c:4429,1
    - Dst: read_sessionkey_from_fd
      Src: /src/gnupg/g10/gpg.c:4432,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/gpg.c:4439,1
    - Dst: gpg_init_default_ctrl
      Src: /src/gnupg/g10/gpg.c:4440,1
    - Dst: setup_trustdb
      Src: /src/gnupg/g10/gpg.c:4456,1
    - Dst: setup_trustdb
      Src: /src/gnupg/g10/gpg.c:4459,1
    - Dst: setup_trustdb
      Src: /src/gnupg/g10/gpg.c:4464,1
    - Dst: setup_trustdb
      Src: /src/gnupg/g10/gpg.c:4469,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4473,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4473,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:4474,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4485,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4485,1
    - Dst: migrate_secring
      Src: /src/gnupg/g10/gpg.c:4527,1
    - Dst: migrate_secring
      Src: /src/gnupg/g10/gpg.c:4531,1
    - Dst: gpg_server
      Src: /src/gnupg/g10/gpg.c:4541,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4546,1
    - Dst: encrypt_store
      Src: /src/gnupg/g10/gpg.c:4547,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:4549,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4550,1
    - Dst: print_fname_stdin
      Src: /src/gnupg/g10/gpg.c:4551,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:4551,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4556,1
    - Dst: encrypt_symmetric
      Src: /src/gnupg/g10/gpg.c:4557,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:4559,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4560,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4560,1
    - Dst: print_fname_stdin
      Src: /src/gnupg/g10/gpg.c:4561,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:4561,1
    - Dst: encrypt_crypt_files
      Src: /src/gnupg/g10/gpg.c:4567,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4571,1
    - Dst: encrypt_crypt
      Src: /src/gnupg/g10/gpg.c:4572,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:4575,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4576,1
    - Dst: print_fname_stdin
      Src: /src/gnupg/g10/gpg.c:4577,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:4577,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4590,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4592,1
    - Dst: decrypt_message
      Src: /src/gnupg/g10/gpg.c:4594,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:4596,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4597,1
    - Dst: print_fname_stdin
      Src: /src/gnupg/g10/gpg.c:4598,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:4598,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4608,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4610,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4610,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4613,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4613,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/gpg.c:4615,1
    - Dst: encrypt_crypt
      Src: /src/gnupg/g10/gpg.c:4618,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:4621,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4622,1
    - Dst: print_fname_stdin
      Src: /src/gnupg/g10/gpg.c:4623,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:4623,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/gpg.c:4632,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4636,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/gpg.c:4638,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:4638,1
    - Dst: strcpy
      Src: /src/gnupg/g10/gpg.c:4639,1
    - Dst: sign_file
      Src: /src/gnupg/g10/gpg.c:4642,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:4644,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4645,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:4645,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:4647,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4652,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/gpg.c:4654,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:4654,1
    - Dst: strcpy
      Src: /src/gnupg/g10/gpg.c:4655,1
    - Dst: sign_file
      Src: /src/gnupg/g10/gpg.c:4659,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:4661,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4662,1
    - Dst: print_fname_stdin
      Src: /src/gnupg/g10/gpg.c:4663,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:4663,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:4665,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4670,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4672,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4672,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4675,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4675,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/gpg.c:4677,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/gpg.c:4682,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:4682,1
    - Dst: strcpy
      Src: /src/gnupg/g10/gpg.c:4683,1
    - Dst: sign_file
      Src: /src/gnupg/g10/gpg.c:4687,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:4690,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4691,1
    - Dst: print_fname_stdin
      Src: /src/gnupg/g10/gpg.c:4692,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:4692,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:4694,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4700,1
    - Dst: sign_symencrypt_file
      Src: /src/gnupg/g10/gpg.c:4701,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:4704,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4705,1
    - Dst: print_fname_stdin
      Src: /src/gnupg/g10/gpg.c:4706,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:4706,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4712,1
    - Dst: clearsign_file
      Src: /src/gnupg/g10/gpg.c:4713,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:4715,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4716,1
    - Dst: print_fname_stdin
      Src: /src/gnupg/g10/gpg.c:4717,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:4717,1
    - Dst: verify_files
      Src: /src/gnupg/g10/gpg.c:4724,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4725,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:4725,1
    - Dst: verify_signatures
      Src: /src/gnupg/g10/gpg.c:4729,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4730,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:4730,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:4733,1
    - Dst: decrypt_messages
      Src: /src/gnupg/g10/gpg.c:4738,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4742,1
    - Dst: decrypt_message
      Src: /src/gnupg/g10/gpg.c:4743,1
    - Dst: gnupg_rollback_partial_file
      Src: /src/gnupg/g10/gpg.c:4746,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:4747,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:4748,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:4748,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4759,1
    - Dst: append_to_strlist2
      Src: /src/gnupg/g10/gpg.c:4763,1
    - Dst: keyedit_quick_sign
      Src: /src/gnupg/g10/gpg.c:4764,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:4766,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4775,1
    - Dst: append_to_strlist2
      Src: /src/gnupg/g10/gpg.c:4781,1
    - Dst: keyedit_quick_sign
      Src: /src/gnupg/g10/gpg.c:4782,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:4783,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4792,1
    - Dst: append_to_strlist2
      Src: /src/gnupg/g10/gpg.c:4797,1
    - Dst: keyedit_quick_revsig
      Src: /src/gnupg/g10/gpg.c:4798,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:4799,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4805,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4809,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g10/gpg.c:4815,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g10/gpg.c:4817,1
    - Dst: BUG
      Src: /src/gnupg/g10/gpg.c:4819,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g10/gpg.c:4821,1
    - Dst: make_username
      Src: /src/gnupg/g10/gpg.c:4822,1
    - Dst: keyedit_menu
      Src: /src/gnupg/g10/gpg.c:4823,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:4824,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:4825,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4830,1
    - Dst: make_username
      Src: /src/gnupg/g10/gpg.c:4831,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g10/gpg.c:4835,1
    - Dst: keyedit_menu
      Src: /src/gnupg/g10/gpg.c:4836,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:4837,1
    - Dst: keyedit_menu
      Src: /src/gnupg/g10/gpg.c:4840,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:4841,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4846,1
    - Dst: make_username
      Src: /src/gnupg/g10/gpg.c:4849,1
    - Dst: keyedit_passwd
      Src: /src/gnupg/g10/gpg.c:4850,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:4851,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:4861,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:4861,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:4861,1
    - Dst: add_to_strlist2
      Src: /src/gnupg/g10/gpg.c:4866,1
    - Dst: delete_keys
      Src: /src/gnupg/g10/gpg.c:4867,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:4869,1
    - Dst: add_to_strlist2
      Src: /src/gnupg/g10/gpg.c:4879,1
    - Dst: public_key_list
      Src: /src/gnupg/g10/gpg.c:4880,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:4881,1
    - Dst: add_to_strlist2
      Src: /src/gnupg/g10/gpg.c:4886,1
    - Dst: secret_key_list
      Src: /src/gnupg/g10/gpg.c:4887,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:4888,1
    - Dst: add_to_strlist2
      Src: /src/gnupg/g10/gpg.c:4894,1
    - Dst: akl_empty_or_only_local
      Src: /src/gnupg/g10/gpg.c:4895,1
    - Dst: release_akl
      Src: /src/gnupg/g10/gpg.c:4900,1
    - Dst: parse_auto_key_locate
      Src: /src/gnupg/g10/gpg.c:4901,1
    - Dst: public_key_list
      Src: /src/gnupg/g10/gpg.c:4903,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:4904,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4912,1
    - Dst: make_username
      Src: /src/gnupg/g10/gpg.c:4913,1
    - Dst: gen_key_forbidden
      Src: /src/gnupg/g10/gpg.c:4931,1
    - Dst: quick_generate_keypair
      Src: /src/gnupg/g10/gpg.c:4933,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:4934,1
    - Dst: gen_key_forbidden
      Src: /src/gnupg/g10/gpg.c:4940,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4944,1
    - Dst: generate_keypair
      Src: /src/gnupg/g10/gpg.c:4945,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4952,1
    - Dst: generate_keypair
      Src: /src/gnupg/g10/gpg.c:4955,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4958,1
    - Dst: generate_keypair
      Src: /src/gnupg/g10/gpg.c:4960,1
    - Dst: gen_key_forbidden
      Src: /src/gnupg/g10/gpg.c:4966,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4970,1
    - Dst: generate_keypair
      Src: /src/gnupg/g10/gpg.c:4971,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4977,1
    - Dst: generate_keypair
      Src: /src/gnupg/g10/gpg.c:4978,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4987,1
    - Dst: keyedit_quick_adduid
      Src: /src/gnupg/g10/gpg.c:4990,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:4999,1
    - Dst: gen_key_forbidden
      Src: /src/gnupg/g10/gpg.c:5017,1
    - Dst: keyedit_quick_addkey
      Src: /src/gnupg/g10/gpg.c:5019,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5026,1
    - Dst: gen_key_forbidden
      Src: /src/gnupg/g10/gpg.c:5028,1
    - Dst: keyedit_quick_addadsk
      Src: /src/gnupg/g10/gpg.c:5030,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5039,1
    - Dst: keyedit_quick_revuid
      Src: /src/gnupg/g10/gpg.c:5042,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5051,1
    - Dst: keyedit_quick_set_expire
      Src: /src/gnupg/g10/gpg.c:5054,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5063,1
    - Dst: keyedit_quick_set_primary
      Src: /src/gnupg/g10/gpg.c:5066,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5073,1
    - Dst: keyedit_quick_update_pref
      Src: /src/gnupg/g10/gpg.c:5074,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5081,1
    - Dst: keyedit_quick_set_ownertrust
      Src: /src/gnupg/g10/gpg.c:5083,1
    - Dst: import_keys
      Src: /src/gnupg/g10/gpg.c:5091,1
    - Dst: append_to_strlist2
      Src: /src/gnupg/g10/gpg.c:5105,1
    - Dst: keyserver_export
      Src: /src/gnupg/g10/gpg.c:5107,1
    - Dst: keyserver_import
      Src: /src/gnupg/g10/gpg.c:5109,1
    - Dst: export_new_stats
      Src: /src/gnupg/g10/gpg.c:5112,1
    - Dst: export_pubkeys
      Src: /src/gnupg/g10/gpg.c:5113,1
    - Dst: export_print_stats
      Src: /src/gnupg/g10/gpg.c:5114,1
    - Dst: export_release_stats
      Src: /src/gnupg/g10/gpg.c:5115,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5121,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5122,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5122,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:5122,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5126,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5127,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5127,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:5128,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5132,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5133,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5133,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:5133,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:5136,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5141,1
    - Dst: export_ssh_key
      Src: /src/gnupg/g10/gpg.c:5142,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5145,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5146,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5146,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:5146,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5152,1
    - Dst: export_secret_ssh_key
      Src: /src/gnupg/g10/gpg.c:5153,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5156,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5157,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5157,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:5157,1
    - Dst: append_to_strlist2
      Src: /src/gnupg/g10/gpg.c:5164,1
    - Dst: keyserver_search
      Src: /src/gnupg/g10/gpg.c:5165,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5168,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5169,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5169,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:5169,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:5171,1
    - Dst: append_to_strlist2
      Src: /src/gnupg/g10/gpg.c:5177,1
    - Dst: keyserver_refresh
      Src: /src/gnupg/g10/gpg.c:5178,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5181,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5182,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5182,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:5182,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:5184,1
    - Dst: append_to_strlist2
      Src: /src/gnupg/g10/gpg.c:5190,1
    - Dst: keyserver_fetch
      Src: /src/gnupg/g10/gpg.c:5191,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:5192,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5195,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5196,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:5196,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/gpg.c:5197,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:5198,1
    - Dst: add_to_strlist2
      Src: /src/gnupg/g10/gpg.c:5205,1
    - Dst: export_new_stats
      Src: /src/gnupg/g10/gpg.c:5207,1
    - Dst: export_seckeys
      Src: /src/gnupg/g10/gpg.c:5208,1
    - Dst: export_print_stats
      Src: /src/gnupg/g10/gpg.c:5209,1
    - Dst: export_release_stats
      Src: /src/gnupg/g10/gpg.c:5210,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:5212,1
    - Dst: add_to_strlist2
      Src: /src/gnupg/g10/gpg.c:5218,1
    - Dst: export_new_stats
      Src: /src/gnupg/g10/gpg.c:5220,1
    - Dst: export_secsubkeys
      Src: /src/gnupg/g10/gpg.c:5221,1
    - Dst: export_print_stats
      Src: /src/gnupg/g10/gpg.c:5222,1
    - Dst: export_release_stats
      Src: /src/gnupg/g10/gpg.c:5223,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:5225,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5230,1
    - Dst: make_username
      Src: /src/gnupg/g10/gpg.c:5231,1
    - Dst: gen_revoke
      Src: /src/gnupg/g10/gpg.c:5232,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:5233,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5238,1
    - Dst: make_username
      Src: /src/gnupg/g10/gpg.c:5239,1
    - Dst: gen_desig_revoke
      Src: /src/gnupg/g10/gpg.c:5240,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:5241,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5246,1
    - Dst: dearmor_file
      Src: /src/gnupg/g10/gpg.c:5247,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5250,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5251,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5251,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:5251,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5257,1
    - Dst: enarmor_file
      Src: /src/gnupg/g10/gpg.c:5258,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5261,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5262,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5262,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:5262,1
    - Dst: atoi
      Src: /src/gnupg/g10/gpg.c:5269,1
    - Dst: mpi_print
      Src: /src/gnupg/g10/gpg.c:5272,1
    - Dst: generate_public_prime
      Src: /src/gnupg/g10/gpg.c:5273,1
    - Dst: atoi
      Src: /src/gnupg/g10/gpg.c:5273,1
    - Dst: mpi_print
      Src: /src/gnupg/g10/gpg.c:5276,1
    - Dst: generate_elg_prime
      Src: /src/gnupg/g10/gpg.c:5276,1
    - Dst: atoi
      Src: /src/gnupg/g10/gpg.c:5277,1
    - Dst: atoi
      Src: /src/gnupg/g10/gpg.c:5278,1
    - Dst: mpi_print
      Src: /src/gnupg/g10/gpg.c:5282,1
    - Dst: generate_elg_prime
      Src: /src/gnupg/g10/gpg.c:5282,1
    - Dst: atoi
      Src: /src/gnupg/g10/gpg.c:5283,1
    - Dst: atoi
      Src: /src/gnupg/g10/gpg.c:5284,1
    - Dst: es_putc
      Src: /src/gnupg/g10/gpg.c:5285,1
    - Dst: mpi_print
      Src: /src/gnupg/g10/gpg.c:5286,1
    - Dst: mpi_alloc
      Src: /src/gnupg/g10/gpg.c:5289,1
    - Dst: mpi_print
      Src: /src/gnupg/g10/gpg.c:5290,1
    - Dst: generate_elg_prime
      Src: /src/gnupg/g10/gpg.c:5290,1
    - Dst: atoi
      Src: /src/gnupg/g10/gpg.c:5291,1
    - Dst: atoi
      Src: /src/gnupg/g10/gpg.c:5292,1
    - Dst: es_putc
      Src: /src/gnupg/g10/gpg.c:5293,1
    - Dst: mpi_print
      Src: /src/gnupg/g10/gpg.c:5294,1
    - Dst: mpi_free
      Src: /src/gnupg/g10/gpg.c:5295,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5298,1
    - Dst: es_putc
      Src: /src/gnupg/g10/gpg.c:5299,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5302,1
    - Dst: atoi
      Src: /src/gnupg/g10/gpg.c:5307,1
    - Dst: atoi
      Src: /src/gnupg/g10/gpg.c:5308,1
    - Dst: gcry_random_bytes_secure
      Src: /src/gnupg/g10/gpg.c:5324,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/gpg.c:5326,1
    - Dst: zb32_encode
      Src: /src/gnupg/g10/gpg.c:5328,1
    - Dst: gcry_free
      Src: /src/gnupg/g10/gpg.c:5329,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/gpg.c:5330,1
    - Dst: es_putc
      Src: /src/gnupg/g10/gpg.c:5331,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:5332,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5337,1
    - Dst: gcry_random_bytes
      Src: /src/gnupg/g10/gpg.c:5348,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/gpg.c:5352,1
    - Dst: make_radix64_string
      Src: /src/gnupg/g10/gpg.c:5356,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/gpg.c:5357,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:5358,1
    - Dst: es_putc
      Src: /src/gnupg/g10/gpg.c:5360,1
    - Dst: es_putc
      Src: /src/gnupg/g10/gpg.c:5362,1
    - Dst: es_set_binary
      Src: /src/gnupg/g10/gpg.c:5366,1
    - Dst: es_fwrite
      Src: /src/gnupg/g10/gpg.c:5367,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:5369,1
    - Dst: es_putc
      Src: /src/gnupg/g10/gpg.c:5374,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5380,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/g10/gpg.c:5383,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5386,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5386,1
    - Dst: print_mds
      Src: /src/gnupg/g10/gpg.c:5390,1
    - Dst: print_mds
      Src: /src/gnupg/g10/gpg.c:5393,1
    - Dst: print_mds
      Src: /src/gnupg/g10/gpg.c:5401,1
    - Dst: print_mds
      Src: /src/gnupg/g10/gpg.c:5404,1
    - Dst: list_trustdb
      Src: /src/gnupg/g10/gpg.c:5411,1
    - Dst: list_trustdb
      Src: /src/gnupg/g10/gpg.c:5414,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5420,1
    - Dst: update_trustdb
      Src: /src/gnupg/g10/gpg.c:5421,1
    - Dst: check_trustdb
      Src: /src/gnupg/g10/gpg.c:5426,1
    - Dst: how_to_fix_the_trustdb
      Src: /src/gnupg/g10/gpg.c:5430,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5435,1
    - Dst: make_username
      Src: /src/gnupg/g10/gpg.c:5437,1
    - Dst: list_trust_path
      Src: /src/gnupg/g10/gpg.c:5438,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:5439,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5445,1
    - Dst: export_ownertrust
      Src: /src/gnupg/g10/gpg.c:5446,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5451,1
    - Dst: import_ownertrust
      Src: /src/gnupg/g10/gpg.c:5452,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5458,1
    - Dst: keydb_rebuild_caches
      Src: /src/gnupg/g10/gpg.c:5459,1
    - Dst: card_status
      Src: /src/gnupg/g10/gpg.c:5465,1
    - Dst: card_status
      Src: /src/gnupg/g10/gpg.c:5467,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5469,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g10/gpg.c:5476,1
    - Dst: card_edit
      Src: /src/gnupg/g10/gpg.c:5477,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/gpg.c:5478,1
    - Dst: card_edit
      Src: /src/gnupg/g10/gpg.c:5481,1
    - Dst: change_pin
      Src: /src/gnupg/g10/gpg.c:5486,1
    - Dst: change_pin
      Src: /src/gnupg/g10/gpg.c:5488,1
    - Dst: atoi
      Src: /src/gnupg/g10/gpg.c:5488,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5490,1
    - Dst: collapse_args
      Src: /src/gnupg/g10/gpg.c:5496,1
    - Dst: list_config
      Src: /src/gnupg/g10/gpg.c:5497,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:5498,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:5506,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5517,1
    - Dst: parse_tofu_policy
      Src: /src/gnupg/g10/gpg.c:5519,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/gpg.c:5521,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5524,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/gpg.c:5524,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:5525,1
    - Dst: tofu_begin_batch_update
      Src: /src/gnupg/g10/gpg.c:5528,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/gpg.c:5535,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5538,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5538,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:5539,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5540,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:5541,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5549,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5549,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5552,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/gpg.c:5553,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:5554,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/g10/gpg.c:5557,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5562,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:5563,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5564,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:5565,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/gpg.c:5568,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5571,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5571,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:5572,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5573,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:5574,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/gpg.c:5577,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5580,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5580,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:5581,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5582,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:5583,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/gpg.c:5586,1
    - Dst: tofu_set_policy
      Src: /src/gnupg/g10/gpg.c:5587,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5589,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:5590,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/gpg.c:5593,1
    - Dst: tofu_end_batch_update
      Src: /src/gnupg/g10/gpg.c:5596,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/gpg.c:5598,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:5605,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5605,1
    - Dst: wrong_args
      Src: /src/gnupg/g10/gpg.c:5610,1
    - Dst: gnupg_isatty
      Src: /src/gnupg/g10/gpg.c:5613,1
    - Dst: fileno
      Src: /src/gnupg/g10/gpg.c:5613,1
    - Dst: gnupg_isatty
      Src: /src/gnupg/g10/gpg.c:5614,1
    - Dst: fileno
      Src: /src/gnupg/g10/gpg.c:5614,1
    - Dst: gnupg_isatty
      Src: /src/gnupg/g10/gpg.c:5615,1
    - Dst: fileno
      Src: /src/gnupg/g10/gpg.c:5615,1
    - Dst: log_info
      Src: /src/gnupg/g10/gpg.c:5616,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5616,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/gpg.c:5618,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/gpg.c:5619,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/gpg.c:5619,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/gpg.c:5621,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/gpg.c:5623,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5626,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5626,1
    - Dst: print_fname_stdin
      Src: /src/gnupg/g10/gpg.c:5626,1
    - Dst: use_armor_filter
      Src: /src/gnupg/g10/gpg.c:5630,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/gpg.c:5631,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/gpg.c:5632,1
    - Dst: set_packet_list_mode
      Src: /src/gnupg/g10/gpg.c:5637,1
    - Dst: proc_packets
      Src: /src/gnupg/g10/gpg.c:5639,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5642,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5643,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpg.c:5644,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/gpg.c:5646,1
    - Dst: gpg_deinit_default_ctrl
      Src: /src/gnupg/g10/gpg.c:5652,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:5653,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/gpg.c:5654,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/g10/gpg.c:5655,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/g10/gpg.c:5656,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpg.c:5657,1
    CyclomaticComplexity: 815
    EdgeCount: 815
    ICount: 2525
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5659
      start: 2416
    functionDepth: 4
    functionLinenumber: 2416
    functionLinenumberEnd: 5659
    functionName: main
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 3
    functionsReached:
    - gpgrt_set_syscall_clamp
    - es_fprintf
    - set_debug
    - log_set_fd
    - gpg_server
    - gnupg_homedir
    - tofu_begin_batch_update
    - how_to_fix_the_trustdb
    - xstrdup
    - gcry_cipher_ctl
    - es_setvbuf
    - tty_batchmode
    - parse_keyserver_options
    - add_notation_data
    - gpgrt_set_strusage
    - tty_no_terminal
    - disable_translate_sys2libc_fd
    - set_opt_session_env
    - string_to_digest_algo
    - migrate_secring
    - gnupg_initialize_compliance
    - DIM
    - keyedit_quick_revuid
    - keyedit_quick_sign
    - parse_compatibility_flags
    - mpi_print
    - assuan_control
    - register_known_notation
    - keyedit_quick_set_expire
    - gnupg_cipher_is_allowed
    - parse_debug_flag
    - gen_desig_revoke
    - parse_tofu_policy
    - obsolete_scdaemon_option
    - sign_symencrypt_file
    - gcry_random_bytes
    - keyedit_quick_addkey
    - iobuf_open
    - keydb_add_resource
    - xfree
    - gnupg_fd_valid
    - keygen_set_std_prefs
    - decrypt_message
    - make_radix64_string
    - gnupg_chuid
    - list_trust_path
    - list_config
    - atoi
    - release_kbnode
    - string_to_compress_algo
    - export_secsubkeys
    - log_fatal
    - parse_comopt
    - openpgp_md_test_algo
    - gpgrt_set_confdir
    - gcry_pk_map_name
    - add_policy_url
    - parse_and_set_import_filter
    - encrypt_crypt
    - collapse_args
    - secret_key_list
    - disable_core_dumps
    - isotime2epoch
    - xmalloc_clear
    - public_key_list
    - enarmor_file
    - append_to_strlist2
    - strlen
    - dotlock_create
    - add_to_strlist2
    - gpgrt_argparser
    - generate_keypair
    - decrypt_messages
    - set_attrib_fd
    - card_status
    - ascii_strcasecmp
    - parse_key_origin
    - gen_revoke
    - read_passphrase_from_fd
    - keydb_search_reset
    - import_keys
    - gnupg_digest_is_allowed
    - keydb_new
    - update_trustdb
    - log_error
    - keyedit_quick_revsig
    - early_system_init
    - additional_weak_digest
    - deprecated_warning
    - log_get_errorcount
    - dump_isotime
    - gnupg_faked_time_p
    - merge_keys_and_selfsig
    - strncmp
    - gcry_random_bytes_secure
    - parse_export_options
    - free_keyserver_spec
    - gpg_err_code_from_syserror
    - gnupg_compliance_option_string
    - keyedit_menu
    - keyedit_passwd
    - set_cmd
    - change_pin
    - gnupg_inhibit_set_foregound_window
    - rm_group
    - gnupg_isatty
    - i18n_init
    - export_release_stats
    - dearmor_file
    - gnupg_rl_initialize
    - parse_expire_string
    - gcry_free
    - iobuf_get_fd
    - parse_trust_model
    - assuan_set_gpg_err_source
    - xcalloc
    - dotlock_disable
    - keydb_release
    - enable_special_filenames
    - keyserver_refresh
    - N_
    - gnupg_set_compliance_extra_info
    - tofu_end_batch_update
    - parse_keyserver_uri
    - init_common_subsystems
    - mpi_free
    - npth_init
    - BUG
    - assuan_set_malloc_hooks
    - translate_sys2libc_fd_int
    - gnupg_rollback_partial_file
    - keyedit_quick_adduid
    - set_status_fd
    - export_seckeys
    - setup_trustdb
    - verify_files
    - isascii
    - parse_auto_key_locate
    - gnupg_init_signals
    - gnupg_set_homedir
    - tokenize_to_strlist
    - parse_and_set_list_filter
    - parse_request_origin
    - IsDBCSLeadByte
    - sign_file
    - log_set_prefix
    - session_env_new
    - es_putc
    - string_to_cipher_algo
    - string_to_u64
    - gpg_deinit_default_ctrl
    - encode_s2k_iterations
    - keydb_get_keyblock
    - algo_available
    - list_trustdb
    - gpgrt_strusage
    - keyserver_import
    - push_armor_filter
    - export_print_stats
    - keyedit_quick_set_primary
    - FREE_STRLIST
    - es_set_binary
    - export_new_stats
    - keyserver_fetch
    - keydb_rebuild_caches
    - keydb_search
    - set_passphrase_from_string
    - strchr
    - verify_signatures
    - gpg_init_default_ctrl
    - parse_options
    - wrong_args
    - delete_keys
    - set_compliance_option
    - keyserver_search
    - gnupg_sysconfdir
    - openpgp_cipher_algo_name
    - set_exec_path
    - is_secured_filename
    - gnupg_set_time
    - append_to_strlist
    - parse_list_options
    - clearsign_file
    - make_filename
    - es_fputs
    - release_armor_context
    - gcry_pk_ctl
    - xstrconcat
    - keyserver_export
    - isdigit
    - new_armor_context
    - add_to_strlist
    - set_native_charset
    - gpgconf_list
    - es_fwrite
    - check_trustdb
    - geteuid
    - get_native_charset
    - use_armor_filter
    - proc_packets
    - log_clock
    - strerror
    - openpgp_cipher_test_algo
    - obsolete_option
    - export_ssh_key
    - keyedit_quick_update_pref
    - mpi_alloc
    - check_permissions
    - export_ownertrust
    - keyedit_quick_addadsk
    - xmalloc
    - encrypt_crypt_files
    - import_ownertrust
    - tofu_set_policy
    - open_info_file
    - parse_pinentry_mode
    - compress_algo_to_string
    - make_username
    - encrypt_symmetric
    - zb32_encode
    - gen_key_forbidden
    - gcry_md_algo_name
    - release_akl
    - fileno
    - _
    - gnupg_access
    - card_edit
    - log_info
    - check_compress_algo
    - g10_exit
    - generate_public_prime
    - strtoul
    - gnupg_parse_compliance_option
    - native_to_utf8
    - free_strlist
    - strcat
    - write_status_failure
    - setup_libgcrypt_logging
    - keybox_set_buffersize
    - log_printf
    - register_secured_file
    - print_fname_stdin
    - print_mds
    - is_secured_file
    - gnupg_reopen_std
    - set_screen_dimensions
    - log_inc_errorcount
    - parse_and_set_export_filter
    - encrypt_store
    - gcry_control
    - add_keyserver_url
    - generate_elg_prime
    - strcmp
    - compliance_failure
    - gpg_error
    - gnupg_get_isotime
    - getuid
    - gpg_strerror
    - export_secret_ssh_key
    - gpgrt_argparse
    - set_packet_list_mode
    - gcry_md_map_name
    - log_set_file
    - keyedit_quick_set_ownertrust
    - trap_unaligned
    - read_sessionkey_from_fd
    - mailbox_from_userid
    - akl_empty_or_only_local
    - add_group
    - quick_generate_keypair
    - riscos_not_implemented
    - iobuf_close
    - parse_import_options
    - export_pubkeys
    - classify_user_id
    - strcpy
    - gpg_err_code
    - gpg_err_set_errno
    - setup_libassuan_logging
    - register_trusted_key
    - string_to_trust_value
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:5666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5667
      start: 5663
    functionDepth: 0
    functionLinenumber: 5663
    functionLinenumberEnd: 5667
    functionName: emergency_cleanup
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - gcry_control
    linkageType: ''
    returnType: void
    signature: void emergency_cleanup (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_get_errorcount
      Src: /src/gnupg/g10/gpg.c:5675,1
    - Dst: gnupg_commit_partial_file
      Src: /src/gnupg/g10/gpg.c:5684,1
    - Dst: write_status_failure
      Src: /src/gnupg/g10/gpg.c:5690,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/gpg.c:5690,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:5692,1
    - Dst: log_clock
      Src: /src/gnupg/g10/gpg.c:5694,1
    - Dst: keydb_dump_stats
      Src: /src/gnupg/g10/gpg.c:5698,1
    - Dst: sig_check_dump_stats
      Src: /src/gnupg/g10/gpg.c:5699,1
    - Dst: objcache_dump_stats
      Src: /src/gnupg/g10/gpg.c:5700,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:5701,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:5702,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpg.c:5705,1
    - Dst: gnupg_block_all_signals
      Src: /src/gnupg/g10/gpg.c:5707,1
    - Dst: emergency_cleanup
      Src: /src/gnupg/g10/gpg.c:5708,1
    - Dst: exit
      Src: /src/gnupg/g10/gpg.c:5710,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5711
      start: 5670
    functionDepth: 1
    functionLinenumber: 5670
    functionLinenumberEnd: 5711
    functionName: g10_exit
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 16
    functionsReached:
    - sig_check_dump_stats
    - keydb_dump_stats
    - gnupg_block_all_signals
    - gnupg_commit_partial_file
    - exit
    - gcry_control
    - log_get_errorcount
    - gpg_error
    - objcache_dump_stats
    - log_clock
    - write_status_failure
    - emergency_cleanup
    linkageType: ''
    returnType: void
    signature: void g10_exit( int rc )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:5724,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:5728,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:5733,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:5735,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/g10/gpg.c:5735,1
    - Dst: abs
      Src: /src/gnupg/g10/gpg.c:5737,1
    - Dst: gcry_md_read
      Src: /src/gnupg/g10/gpg.c:5741,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/g10/gpg.c:5742,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:5744,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:5752,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:5756,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:5759,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:5767,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:5771,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:5775,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:5783,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:5787,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:5791,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:5794,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 3
    argNames:
    - md
    - algo
    - fname
    argTypes:
    - gcry_md_hd_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5795
      start: 5717
    functionDepth: 1
    functionLinenumber: 5717
    functionLinenumberEnd: 5795
    functionName: print_hex
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - gcry_md_algo_name
    - gcry_md_get_algo_dlen
    - es_printf
    - abs
    - gcry_md_read
    linkageType: ''
    returnType: void
    signature: void print_hex (gcry_md_hd_t md, int algo, const char *fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:5808,1
    - Dst: es_putc
      Src: /src/gnupg/g10/gpg.c:5810,1
    - Dst: es_putc
      Src: /src/gnupg/g10/gpg.c:5813,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:5814,1
    - Dst: gcry_md_read
      Src: /src/gnupg/g10/gpg.c:5815,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/g10/gpg.c:5816,1
    - Dst: es_printf
      Src: /src/gnupg/g10/gpg.c:5818,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/gpg.c:5819,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - md
    - algo
    - fname
    argTypes:
    - gcry_md_hd_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5820
      start: 5797
    functionDepth: 1
    functionLinenumber: 5797
    functionLinenumberEnd: 5820
    functionName: print_hashline
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 0
    functionsReached:
    - gcry_md_read
    - gcry_md_get_algo_dlen
    - es_putc
    - es_printf
    - es_fputs
    linkageType: ''
    returnType: void
    signature: void print_hashline( gcry_md_hd_t md, int algo, const char *fname )
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: es_set_binary
      Src: /src/gnupg/g10/gpg.c:5834,1
    - Dst: is_secured_filename
      Src: /src/gnupg/g10/gpg.c:5838,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/gpg.c:5841,1
    - Dst: es_fopen
      Src: /src/gnupg/g10/gpg.c:5844,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5848,1
    - Dst: strerror
      Src: /src/gnupg/g10/gpg.c:5848,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/gpg.c:5852,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/gpg.c:5854,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/gpg.c:5857,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/gpg.c:5858,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/gpg.c:5859,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/gpg.c:5860,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/gpg.c:5861,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/gpg.c:5862,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/gpg.c:5863,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/gpg.c:5864,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/gpg.c:5865,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/gpg.c:5866,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/gpg.c:5867,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/gpg.c:5868,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/gpg.c:5869,1
    - Dst: es_fread
      Src: /src/gnupg/g10/gpg.c:5872,1
    - Dst: DIM
      Src: /src/gnupg/g10/gpg.c:5872,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/gpg.c:5873,1
    - Dst: es_ferror
      Src: /src/gnupg/g10/gpg.c:5875,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5876,1
    - Dst: strerror
      Src: /src/gnupg/g10/gpg.c:5876,1
    - Dst: gcry_md_final
      Src: /src/gnupg/g10/gpg.c:5879,1
    - Dst: print_hashline
      Src: /src/gnupg/g10/gpg.c:5883,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/gpg.c:5886,1
    - Dst: print_hashline
      Src: /src/gnupg/g10/gpg.c:5887,1
    - Dst: print_hashline
      Src: /src/gnupg/g10/gpg.c:5888,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/gpg.c:5889,1
    - Dst: print_hashline
      Src: /src/gnupg/g10/gpg.c:5890,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/gpg.c:5891,1
    - Dst: print_hashline
      Src: /src/gnupg/g10/gpg.c:5892,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/gpg.c:5893,1
    - Dst: print_hashline
      Src: /src/gnupg/g10/gpg.c:5894,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/gpg.c:5895,1
    - Dst: print_hashline
      Src: /src/gnupg/g10/gpg.c:5896,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/gpg.c:5897,1
    - Dst: print_hashline
      Src: /src/gnupg/g10/gpg.c:5898,1
    - Dst: print_hex
      Src: /src/gnupg/g10/gpg.c:5904,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/gpg.c:5907,1
    - Dst: print_hex
      Src: /src/gnupg/g10/gpg.c:5908,1
    - Dst: print_hex
      Src: /src/gnupg/g10/gpg.c:5909,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/gpg.c:5910,1
    - Dst: print_hex
      Src: /src/gnupg/g10/gpg.c:5911,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/gpg.c:5912,1
    - Dst: print_hex
      Src: /src/gnupg/g10/gpg.c:5913,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/gpg.c:5914,1
    - Dst: print_hex
      Src: /src/gnupg/g10/gpg.c:5915,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/gpg.c:5916,1
    - Dst: print_hex
      Src: /src/gnupg/g10/gpg.c:5917,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/gpg.c:5918,1
    - Dst: print_hex
      Src: /src/gnupg/g10/gpg.c:5919,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/gpg.c:5923,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/gpg.c:5926,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 76
    argCount: 2
    argNames:
    - fname
    - algo
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5927
      start: 5823
    functionDepth: 2
    functionLinenumber: 5823
    functionLinenumberEnd: 5927
    functionName: print_mds
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 1
    functionsReached:
    - gcry_md_write
    - gcry_md_open
    - es_set_binary
    - gcry_md_enable
    - log_error
    - print_hex
    - es_fclose
    - DIM
    - es_fread
    - print_hashline
    - es_fopen
    - gpg_err_set_errno
    - gcry_md_test_algo
    - gcry_md_final
    - gcry_md_close
    - es_ferror
    - strerror
    - is_secured_filename
    linkageType: ''
    returnType: void
    signature: void print_mds( const char *fname, int algo )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: string_to_notation
      Src: /src/gnupg/g10/gpg.c:5940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - string
    - which
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5954
      start: 5935
    functionDepth: 1
    functionLinenumber: 5935
    functionLinenumberEnd: 5954
    functionName: add_notation_data
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 1
    functionsReached:
    - string_to_notation
    linkageType: ''
    returnType: void
    signature: void add_notation_data( const char *string, int which )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:5968,1
    - Dst: isascii
      Src: /src/gnupg/g10/gpg.c:5969,1
    - Dst: iscntrl
      Src: /src/gnupg/g10/gpg.c:5969,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:5972,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5975,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5975,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:5977,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:5977,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/gpg.c:5981,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/gpg.c:5983,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - string
    - which
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5987
      start: 5956
    functionDepth: 1
    functionLinenumber: 5956
    functionLinenumberEnd: 5987
    functionName: add_policy_url
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 1
    functionsReached:
    - log_error
    - strlen
    - add_to_strlist
    - _
    - iscntrl
    - isascii
    linkageType: ''
    returnType: void
    signature: void add_policy_url( const char *string, int which )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:6001,1
    - Dst: isascii
      Src: /src/gnupg/g10/gpg.c:6002,1
    - Dst: iscntrl
      Src: /src/gnupg/g10/gpg.c:6002,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpg.c:6005,1
    - Dst: BUG
      Src: /src/gnupg/g10/gpg.c:6008,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpg.c:6010,1
    - Dst: _
      Src: /src/gnupg/g10/gpg.c:6010,1
    - Dst: BUG
      Src: /src/gnupg/g10/gpg.c:6014,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/gpg.c:6016,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - string
    - which
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6020
      start: 5989
    functionDepth: 1
    functionLinenumber: 5989
    functionLinenumberEnd: 6020
    functionName: add_keyserver_url
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 1
    functionsReached:
    - log_error
    - strlen
    - add_to_strlist
    - _
    - iscntrl
    - BUG
    - isascii
    linkageType: ''
    returnType: void
    signature: void add_keyserver_url( const char *string, int which )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_fd_valid
      Src: /src/gnupg/g10/gpg.c:6029,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/gpg.c:6030,1
    - Dst: strerror
      Src: /src/gnupg/g10/gpg.c:6030,1
    - Dst: xmalloc_secure
      Src: /src/gnupg/g10/gpg.c:6038,1
    - Dst: memcpy
      Src: /src/gnupg/g10/gpg.c:6041,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpg.c:6042,1
    - Dst: read
      Src: /src/gnupg/g10/gpg.c:6047,1
    - Dst: log_debug
      Src: /src/gnupg/g10/gpg.c:6051,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/g10/gpg.c:6052,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6054
      start: 6023
    functionDepth: 1
    functionLinenumber: 6023
    functionLinenumberEnd: 6054
    functionName: read_sessionkey_from_fd
    functionSourceFile: /src/gnupg/g10/gpg.c
    functionUses: 1
    functionsReached:
    - read
    - xmalloc_secure
    - log_fatal
    - gpgrt_annotate_leaked_object
    - gnupg_fd_valid
    - memcpy
    - xfree
    - strerror
    - log_debug
    linkageType: ''
    returnType: void
    signature: void read_sessionkey_from_fd (int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: reset_literals_seen
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset_literals_seen(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proc_tree
      Src: /src/gnupg/g10/mainproc.c:138,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/mainproc.c:139,1
    - Dst: free_seskey_enc_list
      Src: /src/gnupg/g10/mainproc.c:140,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:145,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - CTX
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 157
    functionName: release_list
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - release_kbnode
    - proc_tree
    - xfree
    - free_seskey_enc_list
    linkageType: ''
    returnType: void
    signature: void release_list( CTX c )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_kbnode
      Src: /src/gnupg/g10/mainproc.c:166,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/mainproc.c:166,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/mainproc.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - c
    - pkt
    argTypes:
    - CTX
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: add_onepass_sig
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - new_kbnode
    - add_kbnode
    linkageType: ''
    returnType: int
    signature: int add_onepass_sig (CTX c, PACKET *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: release_list
      Src: /src/gnupg/g10/mainproc.c:181,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/mainproc.c:185,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/mainproc.c:185,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/mainproc.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - c
    - pkt
    argTypes:
    - CTX
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 190
    functionName: add_gpg_control
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - release_list
    - new_kbnode
    - add_kbnode
    linkageType: ''
    returnType: int
    signature: int add_gpg_control (CTX c, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:198,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/mainproc.c:201,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/mainproc.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - c
    - pkt
    argTypes:
    - CTX
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: add_user_id
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 1
    functionsReached:
    - new_kbnode
    - add_kbnode
    - log_error
    linkageType: ''
    returnType: int
    signature: int add_user_id (CTX c, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:211,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/mainproc.c:214,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/mainproc.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - c
    - pkt
    argTypes:
    - CTX
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: add_subkey
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - new_kbnode
    - add_kbnode
    - log_error
    linkageType: ''
    returnType: int
    signature: int add_subkey (CTX c, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:224,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/mainproc.c:227,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/mainproc.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - c
    - pkt
    argTypes:
    - CTX
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 229
    functionName: add_ring_trust
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - new_kbnode
    - add_kbnode
    - log_error
    linkageType: ''
    returnType: int
    signature: int add_ring_trust (CTX c, PACKET *pkt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: new_kbnode
      Src: /src/gnupg/g10/mainproc.c:246,1
    - Dst: BUG
      Src: /src/gnupg/g10/mainproc.c:253,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/mainproc.c:256,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/mainproc.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - c
    - pkt
    argTypes:
    - CTX
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 260
    functionName: add_signature
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - new_kbnode
    - add_kbnode
    - BUG
    linkageType: ''
    returnType: int
    signature: int add_signature (CTX c, PACKET *pkt)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_aead_algo_info
      Src: /src/gnupg/g10/mainproc.c:272,1
    - Dst: "slen < (noncelen + 16 + 16)\n                         || slen >"
      Src: /src/gnupg/g10/mainproc.c:283,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:287,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:287,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/mainproc.c:289,1
    - Dst: openpgp_cipher_open
      Src: /src/gnupg/g10/mainproc.c:292,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/g10/mainproc.c:294,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/g10/mainproc.c:296,1
    - Dst: gcry_cipher_authenticate
      Src: /src/gnupg/g10/mainproc.c:308,1
    - Dst: gcry_cipher_final
      Src: /src/gnupg/g10/mainproc.c:311,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/g10/mainproc.c:313,1
    - Dst: gcry_cipher_checktag
      Src: /src/gnupg/g10/mainproc.c:316,1
    - Dst: DIM
      Src: /src/gnupg/g10/mainproc.c:321,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/mainproc.c:323,1
    - Dst: memcpy
      Src: /src/gnupg/g10/mainproc.c:327,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/g10/mainproc.c:331,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/mainproc.c:341,1
    - Dst: openpgp_cipher_get_algo_keylen
      Src: /src/gnupg/g10/mainproc.c:342,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/mainproc.c:344,1
    - Dst: DIM
      Src: /src/gnupg/g10/mainproc.c:351,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/mainproc.c:353,1
    - Dst: memcpy
      Src: /src/gnupg/g10/mainproc.c:358,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/g10/mainproc.c:364,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 3
    argNames:
    - dek
    - seskey
    - slen
    argTypes:
    - DEK*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 366
    functionName: symkey_decrypt_seskey
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - openpgp_cipher_open
    - gcry_cipher_decrypt
    - gcry_cipher_authenticate
    - gcry_cipher_setkey
    - log_error
    - gcry_cipher_setiv
    - openpgp_cipher_get_algo_keylen
    - DIM
    - _
    - "slen < (noncelen + 16 + 16)\n                         || slen >"
    - gpg_error
    - openpgp_aead_algo_info
    - memcpy
    - openpgp_cipher_test_algo
    - gcry_cipher_checktag
    - gcry_cipher_final
    - gcry_cipher_close
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t symkey_decrypt_seskey (DEK *dek, byte *seskey, size_t slen)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:377,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/mainproc.c:381,1
    - Dst: openpgp_aead_algo_name
      Src: /src/gnupg/g10/mainproc.c:382,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/mainproc.c:385,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:390,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:390,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:392,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:392,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:397,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:397,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/mainproc.c:401,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:403,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:403,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/mainproc.c:414,1
    - Dst: get_override_session_key
      Src: /src/gnupg/g10/mainproc.c:415,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:417,1
    - Dst: passphrase_to_dek
      Src: /src/gnupg/g10/mainproc.c:423,1
    - Dst: symkey_decrypt_seskey
      Src: /src/gnupg/g10/mainproc.c:439,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:443,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/mainproc.c:445,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:446,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:447,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/mainproc.c:448,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/mainproc.c:451,1
    - Dst: log_debug
      Src: /src/gnupg/g10/mainproc.c:458,1
    - Dst: passphrase_clear_cache
      Src: /src/gnupg/g10/mainproc.c:460,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:462,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/mainproc.c:476,1
    - Dst: free_packet
      Src: /src/gnupg/g10/mainproc.c:492,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 68
    argCount: 2
    argNames:
    - c
    - pkt
    argTypes:
    - CTX
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 493
    functionName: proc_symkey_enc
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - free_packet
    - log_error
    - _
    - openpgp_cipher_test_algo
    - log_info
    - symkey_decrypt_seskey
    - log_debug
    - write_status_text
    - xfree
    - gpg_strerror
    - openpgp_cipher_algo_name
    - openpgp_aead_algo_name
    - get_override_session_key
    - log_fatal
    - passphrase_to_dek
    - openpgp_md_test_algo
    - xcalloc
    - gpg_err_code
    - passphrase_clear_cache
    - xmalloc_clear
    linkageType: ''
    returnType: void
    signature: void proc_symkey_enc (CTX c, PACKET *pkt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:508,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:508,1
    - Dst: keystr
      Src: /src/gnupg/g10/mainproc.c:508,1
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/mainproc.c:510,1
    - Dst: snprintf
      Src: /src/gnupg/g10/mainproc.c:513,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/mainproc.c:515,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/mainproc.c:520,1
    - Dst: copy_pubkey_enc_parts
      Src: /src/gnupg/g10/mainproc.c:522,1
    - Dst: free_packet
      Src: /src/gnupg/g10/mainproc.c:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - c
    - pkt
    argTypes:
    - CTX
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 529
    functionName: proc_pubkey_enc
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - write_status_text
    - snprintf
    - is_status_enabled
    - _
    - xcalloc
    - log_info
    - keystr
    - free_packet
    - copy_pubkey_enc_parts
    linkageType: ''
    returnType: void
    signature: void proc_pubkey_enc (CTX c, PACKET *pkt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/mainproc.c:548,1
    - Dst: get_pubkey
      Src: /src/gnupg/g10/mainproc.c:551,1
    - Dst: pubkey_string
      Src: /src/gnupg/g10/mainproc.c:553,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:555,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:555,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/mainproc.c:556,1
    - Dst: strtimestamp
      Src: /src/gnupg/g10/mainproc.c:557,1
    - Dst: get_user_id_native
      Src: /src/gnupg/g10/mainproc.c:558,1
    - Dst: log_printf
      Src: /src/gnupg/g10/mainproc.c:559,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:559,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:560,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:563,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:563,1
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/mainproc.c:564,1
    - Dst: keystr
      Src: /src/gnupg/g10/mainproc.c:565,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:569,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:569,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/mainproc.c:571,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ctrl
    - list
    argTypes:
    - ctrl_t
    - struct seskey_enc_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 573
    functionName: print_sesenc_list
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - free_public_key
    - get_pubkey
    - log_printf
    - pubkey_string
    - keystr_from_pk
    - _
    - strtimestamp
    - log_info
    - xfree
    - openpgp_pk_algo_name
    - keystr
    - get_user_id_native
    - xmalloc_clear
    linkageType: ''
    returnType: void
    signature: void print_sesenc_list (ctrl_t ctrl, struct seskey_enc_list *list)
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/mainproc.c:593,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:597,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:597,1
    - Dst: write_status_errcode
      Src: /src/gnupg/g10/mainproc.c:598,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:605,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:605,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:607,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:607,1
    - Dst: print_sesenc_list
      Src: /src/gnupg/g10/mainproc.c:608,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/mainproc.c:616,1
    - Dst: get_override_session_key
      Src: /src/gnupg/g10/mainproc.c:617,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:620,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:622,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:622,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/mainproc.c:623,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/mainproc.c:624,1
    - Dst: xmalloc_secure_clear
      Src: /src/gnupg/g10/mainproc.c:629,1
    - Dst: get_session_key
      Src: /src/gnupg/g10/mainproc.c:630,1
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/mainproc.c:631,1
    - Dst: snprintf
      Src: /src/gnupg/g10/mainproc.c:639,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/mainproc.c:642,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:648,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:648,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/mainproc.c:649,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/mainproc.c:650,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:653,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:659,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:659,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:665,1
    - Dst: write_status_errcode
      Src: /src/gnupg/g10/mainproc.c:666,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:667,1
    - Dst: write_status
      Src: /src/gnupg/g10/mainproc.c:678,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/mainproc.c:692,1
    - Dst: get_override_session_key
      Src: /src/gnupg/g10/mainproc.c:693,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:696,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:705,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:705,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/mainproc.c:706,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/mainproc.c:707,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:712,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:712,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/mainproc.c:714,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:726,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:726,1
    - Dst: passphrase_to_dek
      Src: /src/gnupg/g10/mainproc.c:729,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/mainproc.c:734,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/mainproc.c:736,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/mainproc.c:742,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/mainproc.c:745,1
    - Dst: openpgp_aead_algo_info
      Src: /src/gnupg/g10/mainproc.c:753,1
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/mainproc.c:761,1
    - Dst: gnupg_gcrypt_is_compliant
      Src: /src/gnupg/g10/mainproc.c:765,1
    - Dst: gnupg_cipher_is_compliant
      Src: /src/gnupg/g10/mainproc.c:767,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/mainproc.c:772,1
    - Dst: log_debug
      Src: /src/gnupg/g10/mainproc.c:775,1
    - Dst: gnupg_cipher_is_compliant
      Src: /src/gnupg/g10/mainproc.c:783,1
    - Dst: memset
      Src: /src/gnupg/g10/mainproc.c:794,1
    - Dst: get_pubkey
      Src: /src/gnupg/g10/mainproc.c:796,1
    - Dst: gnupg_pk_is_compliant
      Src: /src/gnupg/g10/mainproc.c:797,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/mainproc.c:798,1
    - Dst: release_public_key_parts
      Src: /src/gnupg/g10/mainproc.c:800,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:803,1
    - Dst: decrypt_data
      Src: /src/gnupg/g10/mainproc.c:812,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/mainproc.c:820,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:836,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:836,1
    - Dst: openpgp_cipher_get_algo_blklen
      Src: /src/gnupg/g10/mainproc.c:838,1
    - Dst: log_string
      Src: /src/gnupg/g10/mainproc.c:845,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:847,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:850,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:850,1
    - Dst: write_status_errcode
      Src: /src/gnupg/g10/mainproc.c:852,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:855,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:855,1
    - Dst: write_status
      Src: /src/gnupg/g10/mainproc.c:856,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:858,1
    - Dst: gnupg_commit_partial_file
      Src: /src/gnupg/g10/mainproc.c:867,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:870,1
    - Dst: write_status
      Src: /src/gnupg/g10/mainproc.c:871,1
    - Dst: write_status
      Src: /src/gnupg/g10/mainproc.c:876,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:878,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:878,1
    - Dst: write_status
      Src: /src/gnupg/g10/mainproc.c:885,1
    - Dst: write_status
      Src: /src/gnupg/g10/mainproc.c:890,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:894,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:894,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:896,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:897,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:900,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:900,1
    - Dst: write_status
      Src: /src/gnupg/g10/mainproc.c:901,1
    - Dst: write_status
      Src: /src/gnupg/g10/mainproc.c:902,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:906,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:907,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:908,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/mainproc.c:911,1
    - Dst: log_debug
      Src: /src/gnupg/g10/mainproc.c:918,1
    - Dst: passphrase_clear_cache
      Src: /src/gnupg/g10/mainproc.c:920,1
    - Dst: write_status
      Src: /src/gnupg/g10/mainproc.c:924,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:925,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:925,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/mainproc.c:925,1
    - Dst: write_status_strings
      Src: /src/gnupg/g10/mainproc.c:935,1
    - Dst: gnupg_status_compliance_flag
      Src: /src/gnupg/g10/mainproc.c:936,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:940,1
    - Dst: free_packet
      Src: /src/gnupg/g10/mainproc.c:942,1
    - Dst: write_status
      Src: /src/gnupg/g10/mainproc.c:946,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:961,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:961,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 208
    argCount: 2
    argNames:
    - c
    - pkt
    argTypes:
    - CTX
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 965
    functionName: proc_encrypted
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - log_assert
    - nbits_from_pk
    - gnupg_commit_partial_file
    - xmalloc
    - xmalloc_secure_clear
    - log_string
    - free_packet
    - log_error
    - _
    - write_status
    - log_info
    - write_status_error
    - release_public_key_parts
    - decrypt_data
    - gnupg_cipher_is_compliant
    - log_debug
    - write_status_strings
    - get_pubkey
    - gnupg_status_compliance_flag
    - write_status_text
    - gnupg_pk_is_compliant
    - gpg_error
    - xfree
    - gpg_strerror
    - print_sesenc_list
    - memset
    - openpgp_cipher_algo_name
    - xmalloc_clear
    - openpgp_cipher_get_algo_blklen
    - get_override_session_key
    - snprintf
    - passphrase_to_dek
    - is_status_enabled
    - get_session_key
    - gpg_err_code
    - openpgp_aead_algo_info
    - gnupg_gcrypt_is_compliant
    - passphrase_clear_cache
    - openpgp_cipher_test_algo
    - write_status_errcode
    linkageType: ''
    returnType: void
    signature: void proc_encrypted (CTX c, PACKET *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - CTX
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 982
    functionName: have_seen_pkt_encrypted_aead_or_mdc
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int have_seen_pkt_encrypted_aead_or_mdc( CTX c )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/g10/mainproc.c:997,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:998,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:998,1
    - Dst: make_printable_string
      Src: /src/gnupg/g10/mainproc.c:1004,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:1005,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:1005,1
    - Dst: strlen
      Src: /src/gnupg/g10/mainproc.c:1005,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:1006,1
    - Dst: free_md_filter_context
      Src: /src/gnupg/g10/mainproc.c:1009,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/mainproc.c:1010,1
    - Dst: BUG
      Src: /src/gnupg/g10/mainproc.c:1011,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/mainproc.c:1027,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/mainproc.c:1042,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/mainproc.c:1048,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/mainproc.c:1057,1
    - Dst: have_seen_pkt_encrypted_aead_or_mdc
      Src: /src/gnupg/g10/mainproc.c:1062,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/mainproc.c:1068,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/mainproc.c:1069,1
    - Dst: gcry_md_debug
      Src: /src/gnupg/g10/mainproc.c:1073,1
    - Dst: gcry_md_debug
      Src: /src/gnupg/g10/mainproc.c:1075,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:1082,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:1082,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/mainproc.c:1084,1
    - Dst: log_inc_errorcount
      Src: /src/gnupg/g10/mainproc.c:1085,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/mainproc.c:1086,1
    - Dst: handle_plaintext
      Src: /src/gnupg/g10/mainproc.c:1094,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:1097,1
    - Dst: handle_plaintext
      Src: /src/gnupg/g10/mainproc.c:1101,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:1106,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/mainproc.c:1106,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/mainproc.c:1112,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/mainproc.c:1116,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:1117,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/mainproc.c:1117,1
    - Dst: memcpy
      Src: /src/gnupg/g10/mainproc.c:1125,1
    - Dst: free_packet
      Src: /src/gnupg/g10/mainproc.c:1133,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/mainproc.c:1136,1
    - Dst: create_gpg_control
      Src: /src/gnupg/g10/mainproc.c:1136,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:1138,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/mainproc.c:1140,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 83
    argCount: 2
    argNames:
    - c
    - pkt
    argTypes:
    - CTX
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 985
    functionDepth: 3
    functionLinenumber: 985
    functionLinenumberEnd: 1143
    functionName: proc_plaintext
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - strlen
    - make_printable_string
    - handle_plaintext
    - BUG
    - free_packet
    - new_kbnode
    - xtrymalloc
    - memcpy
    - log_error
    - _
    - log_info
    - free_md_filter_context
    - have_seen_pkt_encrypted_aead_or_mdc
    - gcry_md_debug
    - gcry_md_open
    - gpg_error_from_syserror
    - write_status_text
    - log_inc_errorcount
    - gpg_error
    - xfree
    - gpg_strerror
    - add_kbnode
    - gcry_md_enable
    - log_fatal
    - create_gpg_control
    - memcmp
    - gpg_err_code
    linkageType: ''
    returnType: void
    signature: void proc_plaintext( CTX c, PACKET *pkt )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proc_signature_packets_by_fd
      Src: /src/gnupg/g10/mainproc.c:1151,1
    - Dst: proc_signature_packets
      Src: /src/gnupg/g10/mainproc.c:1154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - info
    argTypes:
    - iobuf_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1146
    functionDepth: 1
    functionLinenumber: 1146
    functionLinenumberEnd: 1157
    functionName: proc_compressed_cb
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - proc_signature_packets
    - proc_signature_packets_by_fd
    linkageType: ''
    returnType: int
    signature: int proc_compressed_cb (iobuf_t a, void *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proc_encryption_packets
      Src: /src/gnupg/g10/mainproc.c:1164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - info
    argTypes:
    - iobuf_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1165
    functionName: proc_encrypt_cb
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - proc_encryption_packets
    linkageType: ''
    returnType: int
    signature: int proc_encrypt_cb (iobuf_t a, void *info )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: handle_compressed
      Src: /src/gnupg/g10/mainproc.c:1176,1
    - Dst: handle_compressed
      Src: /src/gnupg/g10/mainproc.c:1178,1
    - Dst: handle_compressed
      Src: /src/gnupg/g10/mainproc.c:1180,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:1182,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:1190,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/mainproc.c:1190,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:1194,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/mainproc.c:1194,1
    - Dst: free_packet
      Src: /src/gnupg/g10/mainproc.c:1196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - c
    - pkt
    argTypes:
    - CTX
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1168
    functionDepth: 2
    functionLinenumber: 1168
    functionLinenumberEnd: 1199
    functionName: proc_compressed
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_strerror
    - gpg_err_code
    - handle_compressed
    - free_packet
    linkageType: ''
    returnType: int
    signature: int proc_compressed (CTX c, PACKET *pkt)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/mainproc.c:1228,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/mainproc.c:1234,1
    - Dst: gcry_md_copy
      Src: /src/gnupg/g10/mainproc.c:1242,1
    - Dst: BUG
      Src: /src/gnupg/g10/mainproc.c:1243,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/mainproc.c:1248,1
    - Dst: BUG
      Src: /src/gnupg/g10/mainproc.c:1249,1
    - Dst: gcry_md_copy
      Src: /src/gnupg/g10/mainproc.c:1258,1
    - Dst: BUG
      Src: /src/gnupg/g10/mainproc.c:1259,1
    - Dst: gcry_md_copy
      Src: /src/gnupg/g10/mainproc.c:1260,1
    - Dst: BUG
      Src: /src/gnupg/g10/mainproc.c:1261,1
    - Dst: log_debug
      Src: /src/gnupg/g10/mainproc.c:1265,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/mainproc.c:1267,1
    - Dst: BUG
      Src: /src/gnupg/g10/mainproc.c:1268,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/mainproc.c:1269,1
    - Dst: BUG
      Src: /src/gnupg/g10/mainproc.c:1270,1
    - Dst: check_key_signature
      Src: /src/gnupg/g10/mainproc.c:1283,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:1287,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:1287,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:1293,1
    - Dst: check_signature
      Src: /src/gnupg/g10/mainproc.c:1302,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:1307,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/mainproc.c:1312,1
    - Dst: check_signature
      Src: /src/gnupg/g10/mainproc.c:1313,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/mainproc.c:1321,1
    - Dst: gcry_md_read
      Src: /src/gnupg/g10/mainproc.c:1329,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/g10/mainproc.c:1330,1
    - Dst: map_md_openpgp_to_gcry
      Src: /src/gnupg/g10/mainproc.c:1330,1
    - Dst: memcpy
      Src: /src/gnupg/g10/mainproc.c:1331,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/mainproc.c:1334,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/mainproc.c:1335,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 71
    argCount: 10
    argNames:
    - c
    - node
    - extrahash
    - extrahashlen
    - forced_pk
    - is_selfsig
    - is_expkey
    - is_revkey
    - r_pk
    - r_keyblock
    argTypes:
    - CTX
    - kbnode_t
    - void*
    - size_t
    - PKT_public_key*
    - int*
    - int*
    - int*
    - PKT_public_key**
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1211
    functionDepth: 2
    functionLinenumber: 1211
    functionLinenumberEnd: 1338
    functionName: do_check_sig
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - gcry_md_open
    - free_public_key
    - map_md_openpgp_to_gcry
    - log_assert
    - log_error
    - release_kbnode
    - gcry_md_close
    - gcry_md_get_algo_dlen
    - _
    - openpgp_md_test_algo
    - BUG
    - check_signature
    - gpg_err_code
    - gcry_md_copy
    - check_key_signature
    - gcry_md_read
    - memcpy
    - log_debug
    linkageType: ''
    returnType: int
    signature: "int do_check_sig (CTX c, kbnode_t node, const void *extrahash, size_t
      extrahashlen,\n              PKT_public_key *forced_pk, int *is_selfsig,\n\t
      \     int *is_expkey, int *is_revkey,\n              PKT_public_key **r_pk,
      kbnode_t *r_keyblock)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/gnupg/g10/mainproc.c:1345,1
    - Dst: es_printf
      Src: /src/gnupg/g10/mainproc.c:1349,1
    - Dst: es_printf
      Src: /src/gnupg/g10/mainproc.c:1355,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/mainproc.c:1359,1
    - Dst: print_utf8_buffer
      Src: /src/gnupg/g10/mainproc.c:1363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1341
    functionDepth: 1
    functionLinenumber: 1341
    functionLinenumberEnd: 1365
    functionName: print_userid
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - print_utf8_buffer
    - es_write_sanitized
    - es_printf
    - BUG
    linkageType: ''
    returnType: void
    signature: void print_userid (PACKET *pkt)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/mainproc.c:1385,1
    - Dst: get_validity_info
      Src: /src/gnupg/g10/mainproc.c:1389,1
    - Dst: es_printf
      Src: /src/gnupg/g10/mainproc.c:1394,1
    - Dst: es_putc
      Src: /src/gnupg/g10/mainproc.c:1396,1
    - Dst: es_printf
      Src: /src/gnupg/g10/mainproc.c:1397,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/mainproc.c:1398,1
    - Dst: colon_datestr_from_pk
      Src: /src/gnupg/g10/mainproc.c:1401,1
    - Dst: colon_strtime
      Src: /src/gnupg/g10/mainproc.c:1402,1
    - Dst: es_putc
      Src: /src/gnupg/g10/mainproc.c:1404,1
    - Dst: get_ownertrust_info
      Src: /src/gnupg/g10/mainproc.c:1404,1
    - Dst: es_putc
      Src: /src/gnupg/g10/mainproc.c:1405,1
    - Dst: es_putc
      Src: /src/gnupg/g10/mainproc.c:1406,1
    - Dst: print_key_line
      Src: /src/gnupg/g10/mainproc.c:1410,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/mainproc.c:1416,1
    - Dst: keystrlen
      Src: /src/gnupg/g10/mainproc.c:1420,1
    - Dst: list_node
      Src: /src/gnupg/g10/mainproc.c:1427,1
    - Dst: es_printf
      Src: /src/gnupg/g10/mainproc.c:1432,1
    - Dst: es_printf
      Src: /src/gnupg/g10/mainproc.c:1435,1
    - Dst: print_userid
      Src: /src/gnupg/g10/mainproc.c:1438,1
    - Dst: es_putc
      Src: /src/gnupg/g10/mainproc.c:1440,1
    - Dst: es_putc
      Src: /src/gnupg/g10/mainproc.c:1441,1
    - Dst: list_node
      Src: /src/gnupg/g10/mainproc.c:1445,1
    - Dst: log_debug
      Src: /src/gnupg/g10/mainproc.c:1454,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/mainproc.c:1471,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/mainproc.c:1473,1
    - Dst: fflush
      Src: /src/gnupg/g10/mainproc.c:1476,1
    - Dst: do_check_sig
      Src: /src/gnupg/g10/mainproc.c:1477,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:1479,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/mainproc.c:1495,1
    - Dst: es_putc
      Src: /src/gnupg/g10/mainproc.c:1504,1
    - Dst: es_putc
      Src: /src/gnupg/g10/mainproc.c:1506,1
    - Dst: es_printf
      Src: /src/gnupg/g10/mainproc.c:1507,1
    - Dst: colon_datestr_from_sig
      Src: /src/gnupg/g10/mainproc.c:1509,1
    - Dst: colon_expirestr_from_sig
      Src: /src/gnupg/g10/mainproc.c:1510,1
    - Dst: es_printf
      Src: /src/gnupg/g10/mainproc.c:1513,1
    - Dst: es_putc
      Src: /src/gnupg/g10/mainproc.c:1514,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/mainproc.c:1517,1
    - Dst: strlen
      Src: /src/gnupg/g10/mainproc.c:1518,1
    - Dst: es_putc
      Src: /src/gnupg/g10/mainproc.c:1519,1
    - Dst: es_printf
      Src: /src/gnupg/g10/mainproc.c:1522,1
    - Dst: keystr
      Src: /src/gnupg/g10/mainproc.c:1523,1
    - Dst: datestr_from_sig
      Src: /src/gnupg/g10/mainproc.c:1523,1
    - Dst: es_printf
      Src: /src/gnupg/g10/mainproc.c:1525,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/mainproc.c:1525,1
    - Dst: es_putc
      Src: /src/gnupg/g10/mainproc.c:1531,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/mainproc.c:1532,1
    - Dst: es_putc
      Src: /src/gnupg/g10/mainproc.c:1534,1
    - Dst: get_user_id
      Src: /src/gnupg/g10/mainproc.c:1538,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/mainproc.c:1539,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:1541,1
    - Dst: es_printf
      Src: /src/gnupg/g10/mainproc.c:1544,1
    - Dst: es_putc
      Src: /src/gnupg/g10/mainproc.c:1545,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:1548,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 111
    argCount: 2
    argNames:
    - c
    - node
    argTypes:
    - CTX
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1371
    functionDepth: 3
    functionLinenumber: 1371
    functionLinenumberEnd: 1549
    functionName: list_node
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 1
    functionsReached:
    - datestr_from_sig
    - nbits_from_pk
    - strlen
    - colon_datestr_from_pk
    - colon_expirestr_from_sig
    - colon_datestr_from_sig
    - get_user_id
    - log_error
    - es_write_sanitized
    - print_key_line
    - print_userid
    - es_putc
    - fflush
    - list_node
    - keystrlen
    - log_debug
    - get_ownertrust_info
    - gpg_strerror
    - xfree
    - keystr
    - es_fputs
    - colon_strtime
    - print_fingerprint
    - keyid_from_pk
    - es_printf
    - gpg_err_code
    - do_check_sig
    - get_validity_info
    linkageType: ''
    returnType: void
    signature: void list_node (CTX c, kbnode_t node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/mainproc.c:1556,1
    - Dst: do_proc_packets
      Src: /src/gnupg/g10/mainproc.c:1560,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - anchor
    - a
    argTypes:
    - ctrl_t
    - void*
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1552
    functionDepth: 1
    functionLinenumber: 1552
    functionLinenumberEnd: 1564
    functionName: proc_packets
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 4
    functionsReached:
    - xmalloc_clear
    - do_proc_packets
    - xfree
    linkageType: ''
    returnType: int
    signature: int proc_packets (ctrl_t ctrl, void *anchor, iobuf_t a )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/mainproc.c:1571,1
    - Dst: do_proc_packets
      Src: /src/gnupg/g10/mainproc.c:1583,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/mainproc.c:1592,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:1593,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:1593,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:1602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - ctrl
    - anchor
    - a
    - signedfiles
    - sigfilename
    argTypes:
    - ctrl_t
    - void*
    - iobuf_t
    - strlist_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1567
    functionDepth: 1
    functionLinenumber: 1567
    functionLinenumberEnd: 1604
    functionName: proc_signature_packets
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 3
    functionsReached:
    - log_error
    - write_status_text
    - _
    - do_proc_packets
    - xfree
    - xmalloc_clear
    linkageType: ''
    returnType: int
    signature: "int proc_signature_packets (ctrl_t ctrl, void *anchor, iobuf_t a,\n\t\t\tstrlist_t
      signedfiles, const char *sigfilename )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/mainproc.c:1614,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/mainproc.c:1616,1
    - Dst: do_proc_packets
      Src: /src/gnupg/g10/mainproc.c:1626,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/mainproc.c:1635,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:1636,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:1636,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/mainproc.c:1637,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:1645,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - ctrl
    - anchor
    - a
    - signed_data_fd
    argTypes:
    - ctrl_t
    - void*
    - iobuf_t
    - gnupg_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1607
    functionDepth: 1
    functionLinenumber: 1607
    functionLinenumberEnd: 1647
    functionName: proc_signature_packets_by_fd
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 2
    functionsReached:
    - log_error
    - write_status_text
    - gpg_error_from_syserror
    - _
    - gpg_error
    - do_proc_packets
    - xfree
    - xtrycalloc
    linkageType: ''
    returnType: int
    signature: "int proc_signature_packets_by_fd (ctrl_t ctrl, void *anchor, iobuf_t
      a,\n                              gnupg_fd_t signed_data_fd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/mainproc.c:1658,1
    - Dst: do_proc_packets
      Src: /src/gnupg/g10/mainproc.c:1666,1
    - Dst: do_proc_packets
      Src: /src/gnupg/g10/mainproc.c:1673,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:1674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ctrl
    - anchor
    - a
    - r_dek
    - r_list
    argTypes:
    - ctrl_t
    - void*
    - iobuf_t
    - DEK**
    - struct seskey_enc_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1654
    functionDepth: 1
    functionLinenumber: 1654
    functionLinenumberEnd: 1676
    functionName: proc_encryption_packets
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 1
    functionsReached:
    - xmalloc_clear
    - do_proc_packets
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t proc_encryption_packets (ctrl_t ctrl, void *anchor, iobuf_t
      a,\n                         DEK **r_dek, struct seskey_enc_list **r_list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:1689,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/mainproc.c:1690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - CTX
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1679
    functionDepth: 1
    functionLinenumber: 1679
    functionLinenumberEnd: 1695
    functionName: check_nesting
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - write_status_text
    - log_error
    linkageType: ''
    returnType: int
    signature: int check_nesting (CTX c)
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: check_nesting
      Src: /src/gnupg/g10/mainproc.c:1710,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/mainproc.c:1714,1
    - Dst: init_packet
      Src: /src/gnupg/g10/mainproc.c:1716,1
    - Dst: init_parse_packet
      Src: /src/gnupg/g10/mainproc.c:1717,1
    - Dst: parse_packet
      Src: /src/gnupg/g10/mainproc.c:1718,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:1723,1
    - Dst: proc_encrypted
      Src: /src/gnupg/g10/mainproc.c:1731,1
    - Dst: free_packet
      Src: /src/gnupg/g10/mainproc.c:1735,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:1738,1
    - Dst: proc_pubkey_enc
      Src: /src/gnupg/g10/mainproc.c:1748,1
    - Dst: proc_symkey_enc
      Src: /src/gnupg/g10/mainproc.c:1749,1
    - Dst: proc_encrypted
      Src: /src/gnupg/g10/mainproc.c:1752,1
    - Dst: proc_compressed
      Src: /src/gnupg/g10/mainproc.c:1753,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/mainproc.c:1769,1
    - Dst: add_signature
      Src: /src/gnupg/g10/mainproc.c:1773,1
    - Dst: proc_plaintext
      Src: /src/gnupg/g10/mainproc.c:1774,1
    - Dst: proc_compressed
      Src: /src/gnupg/g10/mainproc.c:1775,1
    - Dst: add_onepass_sig
      Src: /src/gnupg/g10/mainproc.c:1776,1
    - Dst: add_gpg_control
      Src: /src/gnupg/g10/mainproc.c:1777,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/mainproc.c:1788,1
    - Dst: add_signature
      Src: /src/gnupg/g10/mainproc.c:1792,1
    - Dst: proc_symkey_enc
      Src: /src/gnupg/g10/mainproc.c:1801,1
    - Dst: proc_pubkey_enc
      Src: /src/gnupg/g10/mainproc.c:1803,1
    - Dst: proc_encrypted
      Src: /src/gnupg/g10/mainproc.c:1808,1
    - Dst: proc_plaintext
      Src: /src/gnupg/g10/mainproc.c:1809,1
    - Dst: proc_compressed
      Src: /src/gnupg/g10/mainproc.c:1810,1
    - Dst: add_onepass_sig
      Src: /src/gnupg/g10/mainproc.c:1811,1
    - Dst: add_gpg_control
      Src: /src/gnupg/g10/mainproc.c:1812,1
    - Dst: release_list
      Src: /src/gnupg/g10/mainproc.c:1822,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/mainproc.c:1823,1
    - Dst: add_subkey
      Src: /src/gnupg/g10/mainproc.c:1828,1
    - Dst: add_user_id
      Src: /src/gnupg/g10/mainproc.c:1830,1
    - Dst: add_signature
      Src: /src/gnupg/g10/mainproc.c:1831,1
    - Dst: proc_pubkey_enc
      Src: /src/gnupg/g10/mainproc.c:1832,1
    - Dst: proc_symkey_enc
      Src: /src/gnupg/g10/mainproc.c:1833,1
    - Dst: proc_encrypted
      Src: /src/gnupg/g10/mainproc.c:1836,1
    - Dst: proc_plaintext
      Src: /src/gnupg/g10/mainproc.c:1837,1
    - Dst: proc_compressed
      Src: /src/gnupg/g10/mainproc.c:1838,1
    - Dst: add_onepass_sig
      Src: /src/gnupg/g10/mainproc.c:1839,1
    - Dst: add_gpg_control
      Src: /src/gnupg/g10/mainproc.c:1840,1
    - Dst: add_ring_trust
      Src: /src/gnupg/g10/mainproc.c:1841,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/mainproc.c:1868,1
    - Dst: init_packet
      Src: /src/gnupg/g10/mainproc.c:1869,1
    - Dst: free_packet
      Src: /src/gnupg/g10/mainproc.c:1872,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/mainproc.c:1876,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/mainproc.c:1881,1
    - Dst: release_list
      Src: /src/gnupg/g10/mainproc.c:1886,1
    - Dst: free_packet
      Src: /src/gnupg/g10/mainproc.c:1887,1
    - Dst: deinit_parse_packet
      Src: /src/gnupg/g10/mainproc.c:1888,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:1889,1
    - Dst: free_md_filter_context
      Src: /src/gnupg/g10/mainproc.c:1890,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 196
    argCount: 3
    argNames:
    - c
    - a
    - keep_dek_and_list
    argTypes:
    - CTX
    - iobuf_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1701
    functionDepth: 4
    functionLinenumber: 1701
    functionLinenumberEnd: 1892
    functionName: do_proc_packets
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 4
    functionsReached:
    - deinit_parse_packet
    - xmalloc
    - proc_plaintext
    - free_packet
    - new_kbnode
    - release_list
    - init_packet
    - check_nesting
    - proc_symkey_enc
    - add_signature
    - proc_pubkey_enc
    - free_md_filter_context
    - write_status_text
    - proc_compressed
    - add_subkey
    - add_user_id
    - xfree
    - add_onepass_sig
    - proc_encrypted
    - init_parse_packet
    - parse_packet
    - gpg_err_code
    - add_ring_trust
    - add_gpg_control
    linkageType: ''
    returnType: int
    signature: int do_proc_packets (CTX c, iobuf_t a, int keep_dek_and_list)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1896
    functionDepth: 0
    functionLinenumber: 1896
    functionLinenumberEnd: 1905
    functionName: akl_has_wkd_method
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int akl_has_wkd_method (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/mainproc.c:1917,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - sig
    - r_len
    argTypes:
    - PKT_signature*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1911
    functionDepth: 1
    functionLinenumber: 1911
    functionLinenumberEnd: 1925
    functionName: issuer_fpr_raw
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - parse_sig_subpkt
    linkageType: ''
    returnType: byte
    signature: 'byte *

      issuer_fpr_raw (PKT_signature *sig, size_t *r_len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: issuer_fpr_raw
      Src: /src/gnupg/g10/mainproc.c:1937,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/mainproc.c:1938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1931
    functionDepth: 2
    functionLinenumber: 1931
    functionLinenumberEnd: 1939
    functionName: issuer_fpr_string
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - issuer_fpr_raw
    - bin2hex
    linkageType: ''
    returnType: char
    signature: 'char *

      issuer_fpr_string (PKT_signature *sig)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: write_status_text_and_buffer
      Src: /src/gnupg/g10/mainproc.c:1947,1
    - Dst: epoch2isotime
      Src: /src/gnupg/g10/mainproc.c:1955,1
    - Dst: write_status_text_and_buffer
      Src: /src/gnupg/g10/mainproc.c:1956,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/mainproc.c:1961,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/mainproc.c:1964,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:1967,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:1967,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:1969,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:1969,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:1971,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:1971,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:1973,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - statno
    - keyid_str
    - un
    - sig
    - rc
    argTypes:
    - int
    - char*
    - kbnode_t
    - PKT_signature*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1941
    functionDepth: 1
    functionLinenumber: 1941
    functionLinenumberEnd: 1974
    functionName: print_good_bad_signature
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - _
    - write_status_text_and_buffer
    - log_info
    - xfree
    - epoch2isotime
    - xstrdup
    - utf8_to_native
    linkageType: ''
    returnType: void
    signature: "void print_good_bad_signature (int statno, const char *keyid_str,
      kbnode_t un,\n                          PKT_signature *sig, int rc)"
  - BBCount: 93
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:1995,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:1995,1
    - Dst: log_assert
      Src: /src/gnupg/g10/mainproc.c:2033,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2084,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:2109,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2109,1
    - Dst: write_status_buffer
      Src: /src/gnupg/g10/mainproc.c:2116,1
    - Dst: strlen
      Src: /src/gnupg/g10/mainproc.c:2117,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/mainproc.c:2119,1
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/mainproc.c:2121,1
    - Dst: issuer_fpr_string
      Src: /src/gnupg/g10/mainproc.c:2122,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2126,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2126,1
    - Dst: asctimestamp
      Src: /src/gnupg/g10/mainproc.c:2126,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2127,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2127,1
    - Dst: keystrlen
      Src: /src/gnupg/g10/mainproc.c:2131,1
    - Dst: keystrlen
      Src: /src/gnupg/g10/mainproc.c:2131,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2133,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2133,1
    - Dst: asctimestamp
      Src: /src/gnupg/g10/mainproc.c:2133,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2134,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2134,1
    - Dst: keystr
      Src: /src/gnupg/g10/mainproc.c:2135,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2138,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2138,1
    - Dst: asctimestamp
      Src: /src/gnupg/g10/mainproc.c:2139,1
    - Dst: keystr
      Src: /src/gnupg/g10/mainproc.c:2140,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2144,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2144,1
    - Dst: do_check_sig
      Src: /src/gnupg/g10/mainproc.c:2146,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:2151,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/mainproc.c:2160,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/mainproc.c:2161,1
    - Dst: get_pubkey_from_buffer
      Src: /src/gnupg/g10/mainproc.c:2163,1
    - Dst: do_check_sig
      Src: /src/gnupg/g10/mainproc.c:2169,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2172,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/mainproc.c:2173,1
    - Dst: import_included_key_block
      Src: /src/gnupg/g10/mainproc.c:2177,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/mainproc.c:2181,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/mainproc.c:2182,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/mainproc.c:2189,1
    - Dst: do_check_sig
      Src: /src/gnupg/g10/mainproc.c:2191,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:2200,1
    - Dst: enum_sig_subpkt
      Src: /src/gnupg/g10/mainproc.c:2208,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2214,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2214,1
    - Dst: print_utf8_buffer
      Src: /src/gnupg/g10/mainproc.c:2215,1
    - Dst: log_get_stream
      Src: /src/gnupg/g10/mainproc.c:2215,1
    - Dst: log_printf
      Src: /src/gnupg/g10/mainproc.c:2216,1
    - Dst: parse_preferred_keyserver
      Src: /src/gnupg/g10/mainproc.c:2224,1
    - Dst: log_debug
      Src: /src/gnupg/g10/mainproc.c:2230,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/mainproc.c:2233,1
    - Dst: keyserver_import_keyid
      Src: /src/gnupg/g10/mainproc.c:2236,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/mainproc.c:2241,1
    - Dst: do_check_sig
      Src: /src/gnupg/g10/mainproc.c:2243,1
    - Dst: log_debug
      Src: /src/gnupg/g10/mainproc.c:2248,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/mainproc.c:2249,1
    - Dst: free_keyserver_spec
      Src: /src/gnupg/g10/mainproc.c:2250,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2261,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2261,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:2268,1
    - Dst: akl_has_wkd_method
      Src: /src/gnupg/g10/mainproc.c:2271,1
    - Dst: log_debug
      Src: /src/gnupg/g10/mainproc.c:2277,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/mainproc.c:2278,1
    - Dst: keyserver_import_wkd
      Src: /src/gnupg/g10/mainproc.c:2281,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/mainproc.c:2288,1
    - Dst: do_check_sig
      Src: /src/gnupg/g10/mainproc.c:2290,1
    - Dst: log_debug
      Src: /src/gnupg/g10/mainproc.c:2294,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/mainproc.c:2294,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:2300,1
    - Dst: keyserver_any_configured
      Src: /src/gnupg/g10/mainproc.c:2302,1
    - Dst: issuer_fpr_raw
      Src: /src/gnupg/g10/mainproc.c:2308,1
    - Dst: log_debug
      Src: /src/gnupg/g10/mainproc.c:2312,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/mainproc.c:2315,1
    - Dst: keyserver_import_fpr
      Src: /src/gnupg/g10/mainproc.c:2318,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/mainproc.c:2323,1
    - Dst: do_check_sig
      Src: /src/gnupg/g10/mainproc.c:2325,1
    - Dst: log_debug
      Src: /src/gnupg/g10/mainproc.c:2330,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/mainproc.c:2330,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:2335,1
    - Dst: snprintf
      Src: /src/gnupg/g10/mainproc.c:2357,1
    - Dst: cmp_public_keys
      Src: /src/gnupg/g10/mainproc.c:2369,1
    - Dst: log_assert
      Src: /src/gnupg/g10/mainproc.c:2392,1
    - Dst: get_validity
      Src: /src/gnupg/g10/mainproc.c:2400,1
    - Dst: print_good_bad_signature
      Src: /src/gnupg/g10/mainproc.c:2407,1
    - Dst: log_printf
      Src: /src/gnupg/g10/mainproc.c:2410,1
    - Dst: trust_value_to_string
      Src: /src/gnupg/g10/mainproc.c:2410,1
    - Dst: log_printf
      Src: /src/gnupg/g10/mainproc.c:2412,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:2424,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/mainproc.c:2426,1
    - Dst: print_good_bad_signature
      Src: /src/gnupg/g10/mainproc.c:2455,1
    - Dst: log_printf
      Src: /src/gnupg/g10/mainproc.c:2458,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2458,1
    - Dst: log_printf
      Src: /src/gnupg/g10/mainproc.c:2459,1
    - Dst: dump_attribs
      Src: /src/gnupg/g10/mainproc.c:2485,1
    - Dst: show_photos
      Src: /src/gnupg/g10/mainproc.c:2488,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/mainproc.c:2494,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2496,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2496,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:2497,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2504,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2506,1
    - Dst: trust_value_to_string
      Src: /src/gnupg/g10/mainproc.c:2511,1
    - Dst: get_validity
      Src: /src/gnupg/g10/mainproc.c:2512,1
    - Dst: log_printf
      Src: /src/gnupg/g10/mainproc.c:2514,1
    - Dst: log_printf
      Src: /src/gnupg/g10/mainproc.c:2517,1
    - Dst: show_policy_url
      Src: /src/gnupg/g10/mainproc.c:2525,1
    - Dst: show_policy_url
      Src: /src/gnupg/g10/mainproc.c:2527,1
    - Dst: show_keyserver_url
      Src: /src/gnupg/g10/mainproc.c:2530,1
    - Dst: show_keyserver_url
      Src: /src/gnupg/g10/mainproc.c:2532,1
    - Dst: show_notation
      Src: /src/gnupg/g10/mainproc.c:2535,1
    - Dst: show_notation
      Src: /src/gnupg/g10/mainproc.c:2542,1
    - Dst: print_matching_notations
      Src: /src/gnupg/g10/mainproc.c:2543,1
    - Dst: pubkey_string
      Src: /src/gnupg/g10/mainproc.c:2548,1
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/mainproc.c:2551,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/mainproc.c:2558,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/mainproc.c:2559,1
    - Dst: write_status_printf
      Src: /src/gnupg/g10/mainproc.c:2563,1
    - Dst: strtimestamp
      Src: /src/gnupg/g10/mainproc.c:2566,1
    - Dst: check_assert_signer_list
      Src: /src/gnupg/g10/mainproc.c:2574,1
    - Dst: check_assert_pubkey_algo
      Src: /src/gnupg/g10/mainproc.c:2576,1
    - Dst: gnupg_pk_is_compliant
      Src: /src/gnupg/g10/mainproc.c:2581,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/mainproc.c:2582,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2584,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2584,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/mainproc.c:2586,1
    - Dst: check_signatures_trust
      Src: /src/gnupg/g10/mainproc.c:2594,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2600,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2600,1
    - Dst: asctimestamp
      Src: /src/gnupg/g10/mainproc.c:2600,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/mainproc.c:2602,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2605,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2605,1
    - Dst: asctimestamp
      Src: /src/gnupg/g10/mainproc.c:2605,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2609,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2609,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2610,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2611,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2611,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/g10/mainproc.c:2612,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2613,1
    - Dst: get_matching_datafile
      Src: /src/gnupg/g10/mainproc.c:2638,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2648,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2648,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:2652,1
    - Dst: gnupg_gcrypt_is_compliant
      Src: /src/gnupg/g10/mainproc.c:2658,1
    - Dst: gnupg_pk_is_compliant
      Src: /src/gnupg/g10/mainproc.c:2659,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/mainproc.c:2660,1
    - Dst: gnupg_digest_is_compliant
      Src: /src/gnupg/g10/mainproc.c:2661,1
    - Dst: write_status_strings
      Src: /src/gnupg/g10/mainproc.c:2662,1
    - Dst: gnupg_status_compliance_flag
      Src: /src/gnupg/g10/mainproc.c:2663,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:2668,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2668,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/mainproc.c:2671,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/mainproc.c:2675,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/mainproc.c:2677,1
    - Dst: write_status_printf
      Src: /src/gnupg/g10/mainproc.c:2683,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:2687,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:2689,1
    - Dst: write_status_printf
      Src: /src/gnupg/g10/mainproc.c:2691,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/mainproc.c:2694,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:2695,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2695,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/mainproc.c:2695,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/mainproc.c:2699,1
    - Dst: xfree
      Src: /src/gnupg/g10/mainproc.c:2700,1
    CyclomaticComplexity: 175
    EdgeCount: 175
    ICount: 332
    argCount: 2
    argNames:
    - c
    - node
    argTypes:
    - CTX
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2702
      start: 1977
    functionDepth: 3
    functionLinenumber: 1977
    functionLinenumberEnd: 2702
    functionName: check_sig_and_print
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 0
    functionsReached:
    - asctimestamp
    - show_keyserver_url
    - pubkey_string
    - log_assert
    - strlen
    - issuer_fpr_raw
    - nbits_from_pk
    - parse_sig_subpkt
    - cmp_public_keys
    - show_notation
    - parse_preferred_keyserver
    - show_policy_url
    - check_assert_signer_list
    - write_status_printf
    - check_signatures_trust
    - print_utf8_buffer
    - log_get_stream
    - utf8_to_native
    - issuer_fpr_string
    - free_public_key
    - print_good_bad_signature
    - log_error
    - keyserver_any_configured
    - gcry_md_algo_name
    - print_matching_notations
    - _
    - gnupg_digest_is_compliant
    - log_info
    - openpgp_pk_algo_name
    - keyserver_import_wkd
    - keystrlen
    - log_printf
    - log_debug
    - write_status_strings
    - check_assert_pubkey_algo
    - gnupg_status_compliance_flag
    - free_keyserver_spec
    - gnupg_compliance_option_string
    - write_status_text
    - get_validity
    - get_matching_datafile
    - keyserver_import_fpr
    - show_photos
    - gnupg_pk_is_compliant
    - write_status_buffer
    - gpg_error
    - strtimestamp
    - gpg_strerror
    - akl_has_wkd_method
    - xfree
    - keystr
    - keyserver_import_keyid
    - dump_attribs
    - trust_value_to_string
    - release_kbnode
    - snprintf
    - gnupg_gcrypt_is_compliant
    - is_status_enabled
    - xcalloc
    - import_included_key_block
    - gpg_err_code
    - do_check_sig
    - hexfingerprint
    - get_pubkey_from_buffer
    - enum_sig_subpkt
    linkageType: ''
    returnType: int
    signature: int check_sig_and_print (CTX c, kbnode_t node)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/mainproc.c:2733,1
    - Dst: list_node
      Src: /src/gnupg/g10/mainproc.c:2734,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/mainproc.c:2738,1
    - Dst: list_node
      Src: /src/gnupg/g10/mainproc.c:2739,1
    - Dst: free_md_filter_context
      Src: /src/gnupg/g10/mainproc.c:2748,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/mainproc.c:2750,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/mainproc.c:2756,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/mainproc.c:2757,1
    - Dst: hash_datafile_by_fd
      Src: /src/gnupg/g10/mainproc.c:2767,1
    - Dst: hash_datafiles
      Src: /src/gnupg/g10/mainproc.c:2771,1
    - Dst: ask_for_detached_datafile
      Src: /src/gnupg/g10/mainproc.c:2778,1
    - Dst: iobuf_get_real_fname
      Src: /src/gnupg/g10/mainproc.c:2779,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:2786,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/mainproc.c:2786,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:2792,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2792,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/mainproc.c:2796,1
    - Dst: check_sig_and_print
      Src: /src/gnupg/g10/mainproc.c:2797,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:2808,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:2813,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2813,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/mainproc.c:2817,1
    - Dst: check_sig_and_print
      Src: /src/gnupg/g10/mainproc.c:2818,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/mainproc.c:2827,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/mainproc.c:2833,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2848,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2848,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2857,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2857,1
    - Dst: free_md_filter_context
      Src: /src/gnupg/g10/mainproc.c:2862,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/mainproc.c:2863,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/mainproc.c:2871,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/mainproc.c:2872,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/mainproc.c:2873,1
    - Dst: map_md_openpgp_to_gcry
      Src: /src/gnupg/g10/mainproc.c:2874,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/mainproc.c:2888,1
    - Dst: gcry_md_debug
      Src: /src/gnupg/g10/mainproc.c:2905,1
    - Dst: gcry_md_debug
      Src: /src/gnupg/g10/mainproc.c:2907,1
    - Dst: hash_datafile_by_fd
      Src: /src/gnupg/g10/mainproc.c:2914,1
    - Dst: hash_datafiles
      Src: /src/gnupg/g10/mainproc.c:2918,1
    - Dst: ask_for_detached_datafile
      Src: /src/gnupg/g10/mainproc.c:2925,1
    - Dst: iobuf_get_real_fname
      Src: /src/gnupg/g10/mainproc.c:2926,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:2933,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/mainproc.c:2933,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:2939,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2939,1
    - Dst: log_info
      Src: /src/gnupg/g10/mainproc.c:2943,1
    - Dst: _
      Src: /src/gnupg/g10/mainproc.c:2943,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/mainproc.c:2947,1
    - Dst: check_sig_and_print
      Src: /src/gnupg/g10/mainproc.c:2948,1
    - Dst: check_sig_and_print
      Src: /src/gnupg/g10/mainproc.c:2953,1
    - Dst: dump_kbnode
      Src: /src/gnupg/g10/mainproc.c:2958,1
    - Dst: log_error
      Src: /src/gnupg/g10/mainproc.c:2959,1
    - Dst: dump_kbnode
      Src: /src/gnupg/g10/mainproc.c:2960,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 132
    argCount: 2
    argNames:
    - c
    - node
    argTypes:
    - CTX
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2962
      start: 2708
    functionDepth: 4
    functionLinenumber: 2708
    functionLinenumberEnd: 2962
    functionName: proc_tree
    functionSourceFile: /src/gnupg/g10/mainproc.c
    functionUses: 1
    functionsReached:
    - map_md_openpgp_to_gcry
    - log_error
    - hash_datafiles
    - _
    - check_sig_and_print
    - list_node
    - log_info
    - merge_keys_and_selfsig
    - free_md_filter_context
    - gcry_md_debug
    - gcry_md_open
    - ask_for_detached_datafile
    - hash_datafile_by_fd
    - iobuf_get_real_fname
    - gpg_strerror
    - find_next_kbnode
    - gcry_md_enable
    - openpgp_md_test_algo
    - dump_kbnode
    linkageType: ''
    returnType: void
    signature: void proc_tree (CTX c, kbnode_t node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - listctx
    argTypes:
    - struct keylist_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: keylist_context_release
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void keylist_context_release (struct keylist_context *listctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recsel_release
      Src: /src/gnupg/g10/keylist.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filt
    argTypes:
    - struct list_filter_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: release_list_filter
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - recsel_release
    linkageType: ''
    returnType: void
    signature: void release_list_filter (struct list_filter_s *filt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_list_filter
      Src: /src/gnupg/g10/keylist.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: cleanup_keylist_globals
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - release_list_filter
    linkageType: ''
    returnType: void
    signature: void cleanup_keylist_globals (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: register_mem_cleanup_func
      Src: /src/gnupg/g10/keylist.c:129,1
    - Dst: strncmp
      Src: /src/gnupg/g10/keylist.c:131,1
    - Dst: recsel_parse_expr
      Src: /src/gnupg/g10/keylist.c:132,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keylist.c:134,1
    - Dst: recsel_dump
      Src: /src/gnupg/g10/keylist.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 139
    functionName: parse_and_set_list_filter
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 1
    functionsReached:
    - register_mem_cleanup_func
    - gpg_error
    - recsel_dump
    - strncmp
    - recsel_parse_expr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_and_set_list_filter (const char *string)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: read_trust_options
      Src: /src/gnupg/g10/keylist.c:155,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:158,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/keylist.c:160,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:161,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:163,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:168,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:170,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:172,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:174,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:177,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:184,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:185,1
    - Dst: check_trustdb_stale
      Src: /src/gnupg/g10/keylist.c:194,1
    - Dst: tofu_begin_batch_update
      Src: /src/gnupg/g10/keylist.c:197,1
    - Dst: locate_one
      Src: /src/gnupg/g10/keylist.c:201,1
    - Dst: list_all
      Src: /src/gnupg/g10/keylist.c:203,1
    - Dst: list_one
      Src: /src/gnupg/g10/keylist.c:205,1
    - Dst: tofu_end_batch_update
      Src: /src/gnupg/g10/keylist.c:208,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 4
    argNames:
    - ctrl
    - list
    - locate_mode
    - no_local
    argTypes:
    - ctrl_t
    - strlist_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 210
    functionName: public_key_list
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 5
    functionsReached:
    - read_trust_options
    - es_fprintf
    - locate_one
    - check_trustdb_stale
    - tofu_begin_batch_update
    - make_timestamp
    - list_all
    - list_one
    - tofu_end_batch_update
    linkageType: ''
    returnType: void
    signature: void public_key_list (ctrl_t ctrl, strlist_t list, int locate_mode,
      int no_local)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_trustdb_stale
      Src: /src/gnupg/g10/keylist.c:218,1
    - Dst: list_all
      Src: /src/gnupg/g10/keylist.c:221,1
    - Dst: list_one
      Src: /src/gnupg/g10/keylist.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctrl
    - list
    argTypes:
    - ctrl_t
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 224
    functionName: secret_key_list
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 1
    functionsReached:
    - list_one
    - check_trustdb_stale
    - list_all
    linkageType: ''
    returnType: void
    signature: void secret_key_list (ctrl_t ctrl, strlist_t list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keylist.c:236,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/keylist.c:241,1
    - Dst: get_user_id_native
      Src: /src/gnupg/g10/keylist.c:243,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/keylist.c:245,1
    - Dst: pubkey_string
      Src: /src/gnupg/g10/keylist.c:248,1
    - Dst: keystr
      Src: /src/gnupg/g10/keylist.c:249,1
    - Dst: datestr_from_pk
      Src: /src/gnupg/g10/keylist.c:249,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctrl
    - pk
    - secret
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 252
    functionName: format_key_info
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - pubkey_string
    - keyid_from_pk
    - xtryasprintf
    - datestr_from_pk
    - xfree
    - keystr
    - get_user_id_native
    - utf8_to_native
    linkageType: ''
    returnType: char
    signature: 'char *

      format_key_info (ctrl_t ctrl, PKT_public_key *pk, int secret)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: format_key_info
      Src: /src/gnupg/g10/keylist.c:272,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keylist.c:275,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:276,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - ctrl
    - fp
    - indent
    - pk
    - secret
    argTypes:
    - ctrl_t
    - estream_t
    - int
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 280
    functionName: print_key_info
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 1
    functionsReached:
    - tty_fprintf
    - tty_printf
    - xfree
    - format_key_info
    linkageType: ''
    returnType: void
    signature: "void print_key_info (ctrl_t ctrl, estream_t fp,\n                int
      indent, PKT_public_key *pk, int secret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_key_info
      Src: /src/gnupg/g10/keylist.c:292,1
    - Dst: log_log
      Src: /src/gnupg/g10/keylist.c:294,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ctrl
    - loglevel
    - indent
    - pk
    - secret
    argTypes:
    - ctrl_t
    - int
    - int
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 298
    functionName: print_key_info_log
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - log_log
    - xfree
    - format_key_info
    linkageType: ''
    returnType: void
    signature: "void print_key_info_log (ctrl_t ctrl, int loglevel,\n                    int
      indent, PKT_public_key *pk, int secret)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/keylist.c:323,1
    - Dst: log_error
      Src: /src/gnupg/g10/keylist.c:326,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keylist.c:326,1
    - Dst: agent_get_keyinfo
      Src: /src/gnupg/g10/keylist.c:329,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:334,1
    - Dst: pubkey_string
      Src: /src/gnupg/g10/keylist.c:337,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/keylist.c:338,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:340,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:340,1
    - Dst: datestr_from_pk
      Src: /src/gnupg/g10/keylist.c:340,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:341,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:342,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:342,1
    - Dst: expirestr_from_pk
      Src: /src/gnupg/g10/keylist.c:342,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:345,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:345,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:346,1
    - Dst: strncmp
      Src: /src/gnupg/g10/keylist.c:347,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:352,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:355,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:357,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:358,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:359,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - fp
    - keyblock
    argTypes:
    - estream_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 362
    functionName: print_card_key_info
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    - agent_get_keyinfo
    - pubkey_string
    - log_error
    - strlen
    - expirestr_from_pk
    - keystr_from_pk
    - _
    - datestr_from_pk
    - gpg_strerror
    - xfree
    - hexkeygrip_from_pk
    - strncmp
    linkageType: ''
    returnType: void
    signature: void print_card_key_info (estream_t fp, kbnode_t keyblock)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: log_get_stream
      Src: /src/gnupg/g10/keylist.c:393,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:403,1
    - Dst: DIM
      Src: /src/gnupg/g10/keylist.c:404,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:410,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:413,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:415,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:416,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:419,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:421,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:423,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:424,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:425,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:431,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:431,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:437,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/keylist.c:440,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:442,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/keylist.c:442,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:444,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:452,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:453,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/keylist.c:453,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:455,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:455,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:461,1
    - Dst: openpgp_aead_test_algo
      Src: /src/gnupg/g10/keylist.c:464,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:466,1
    - Dst: openpgp_aead_algo_name
      Src: /src/gnupg/g10/keylist.c:466,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:468,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:471,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:471,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:477,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/keylist.c:480,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:481,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/g10/keylist.c:481,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:483,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:491,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:492,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/g10/keylist.c:492,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:494,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:494,1
    - Dst: compress_algo_to_string
      Src: /src/gnupg/g10/keylist.c:499,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:502,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:506,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:508,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:516,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:519,1
    - Dst: compress_algo_to_string
      Src: /src/gnupg/g10/keylist.c:520,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:521,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:523,1
    - Dst: compress_algo_to_string
      Src: /src/gnupg/g10/keylist.c:523,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:527,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:527,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:531,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:537,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:538,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:543,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:544,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:544,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:547,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:551,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:554,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:561,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:563,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:565,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:566,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 143
    argCount: 4
    argNames:
    - uid
    - indent
    - mode
    - verbose
    argTypes:
    - PKT_user_id*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 568
    functionName: show_preferences
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    - openpgp_aead_test_algo
    - openpgp_aead_algo_name
    - es_fprintf
    - gcry_md_algo_name
    - DIM
    - es_putc
    - _
    - openpgp_cipher_test_algo
    - gcry_md_test_algo
    - log_get_stream
    - openpgp_cipher_algo_name
    - es_fputs
    - compress_algo_to_string
    linkageType: ''
    returnType: void
    signature: void show_preferences (PKT_user_id *uid, int indent, int mode, int
      verbose)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/g10/keylist.c:582,1
    - Dst: write_status_text_and_buffer
      Src: /src/gnupg/g10/keylist.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - type
    - len
    - flags
    - buf
    argTypes:
    - sigsubpkttype_t
    - size_t
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 586
    functionName: status_one_subpacket
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - write_status_text_and_buffer
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void status_one_subpacket (sigsubpkttype_t type, size_t len, int flags,\n\t\t
      \     const byte * buf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_get_stream
      Src: /src/gnupg/g10/keylist.c:601,1
    - Dst: enum_sig_subpkt
      Src: /src/gnupg/g10/keylist.c:603,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:609,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:612,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:614,1
    - Dst: log_info
      Src: /src/gnupg/g10/keylist.c:616,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:618,1
    - Dst: tty_print_utf8_string2
      Src: /src/gnupg/g10/keylist.c:619,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:620,1
    - Dst: write_status_buffer
      Src: /src/gnupg/g10/keylist.c:624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - sig
    - indent
    - mode
    argTypes:
    - PKT_signature*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 626
    functionName: show_policy_url
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 1
    functionsReached:
    - tty_fprintf
    - _
    - write_status_buffer
    - log_info
    - tty_print_utf8_string2
    - log_get_stream
    - enum_sig_subpkt
    linkageType: ''
    returnType: void
    signature: void show_policy_url (PKT_signature * sig, int indent, int mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_get_stream
      Src: /src/gnupg/g10/keylist.c:641,1
    - Dst: enum_sig_subpkt
      Src: /src/gnupg/g10/keylist.c:643,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:649,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:652,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:654,1
    - Dst: log_info
      Src: /src/gnupg/g10/keylist.c:656,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:658,1
    - Dst: tty_print_utf8_string2
      Src: /src/gnupg/g10/keylist.c:659,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:660,1
    - Dst: status_one_subpacket
      Src: /src/gnupg/g10/keylist.c:664,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - sig
    - indent
    - mode
    argTypes:
    - PKT_signature*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 667
    functionName: show_keyserver_url
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 1
    functionsReached:
    - tty_fprintf
    - status_one_subpacket
    - _
    - log_info
    - tty_print_utf8_string2
    - log_get_stream
    - enum_sig_subpkt
    linkageType: ''
    returnType: void
    signature: void show_keyserver_url (PKT_signature * sig, int indent, int mode)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: log_get_stream
      Src: /src/gnupg/g10/keylist.c:684,1
    - Dst: sig_to_notation
      Src: /src/gnupg/g10/keylist.c:690,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keylist.c:695,1
    - Dst: strchr
      Src: /src/gnupg/g10/keylist.c:700,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:706,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:709,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:711,1
    - Dst: log_info
      Src: /src/gnupg/g10/keylist.c:713,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:715,1
    - Dst: tty_print_utf8_string2
      Src: /src/gnupg/g10/keylist.c:717,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:717,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:718,1
    - Dst: tty_print_utf8_string2
      Src: /src/gnupg/g10/keylist.c:719,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:719,1
    - Dst: log_printf
      Src: /src/gnupg/g10/keylist.c:723,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:725,1
    - Dst: write_status_buffer
      Src: /src/gnupg/g10/keylist.c:731,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:732,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/keylist.c:734,1
    - Dst: write_status_buffer
      Src: /src/gnupg/g10/keylist.c:738,1
    - Dst: write_status_buffer
      Src: /src/gnupg/g10/keylist.c:741,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:742,1
    - Dst: free_notation
      Src: /src/gnupg/g10/keylist.c:746,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 4
    argNames:
    - sig
    - indent
    - mode
    - which
    argTypes:
    - PKT_signature*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 747
    functionName: show_notation
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 1
    functionsReached:
    - tty_fprintf
    - free_notation
    - strlen
    - write_status_text
    - sig_to_notation
    - _
    - write_status_buffer
    - strcmp
    - strchr
    - log_info
    - tty_print_utf8_string2
    - log_get_stream
    - log_printf
    linkageType: ''
    returnType: void
    signature: void show_notation (PKT_signature * sig, int indent, int mode, int
      which)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sig_to_notation
      Src: /src/gnupg/g10/keylist.c:762,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keylist.c:766,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:770,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:774,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:774,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:776,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:778,1
    - Dst: free_notation
      Src: /src/gnupg/g10/keylist.c:781,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - sig
    argTypes:
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 782
    functionName: print_matching_notations
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 1
    functionsReached:
    - free_notation
    - es_fprintf
    - strlen
    - sig_to_notation
    - es_putc
    - strcmp
    linkageType: ''
    returnType: void
    signature: void print_matching_notations (PKT_signature *sig)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: es_fflush
      Src: /src/gnupg/g10/keylist.c:793,1
    - Dst: log_info
      Src: /src/gnupg/g10/keylist.c:796,1
    - Dst: ngettext
      Src: /src/gnupg/g10/keylist.c:796,1
    - Dst: log_info
      Src: /src/gnupg/g10/keylist.c:800,1
    - Dst: ngettext
      Src: /src/gnupg/g10/keylist.c:800,1
    - Dst: log_info
      Src: /src/gnupg/g10/keylist.c:804,1
    - Dst: ngettext
      Src: /src/gnupg/g10/keylist.c:804,1
    - Dst: log_info
      Src: /src/gnupg/g10/keylist.c:809,1
    - Dst: ngettext
      Src: /src/gnupg/g10/keylist.c:809,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct keylist_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 812
    functionName: print_signature_stats
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - es_fflush
    - ngettext
    - log_info
    linkageType: ''
    returnType: void
    signature: void print_signature_stats (struct keylist_context *s)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/keylist.c:829,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/keylist.c:833,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keylist.c:835,1
    - Dst: keydb_search_first
      Src: /src/gnupg/g10/keylist.c:837,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keylist.c:840,1
    - Dst: log_error
      Src: /src/gnupg/g10/keylist.c:841,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keylist.c:841,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/keylist.c:850,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keylist.c:855,1
    - Dst: log_error
      Src: /src/gnupg/g10/keylist.c:857,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keylist.c:857,1
    - Dst: agent_probe_any_secret_key
      Src: /src/gnupg/g10/keylist.c:862,1
    - Dst: keydb_get_resource_name
      Src: /src/gnupg/g10/keylist.c:872,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:877,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:878,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:879,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:880,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keylist.c:884,1
    - Dst: list_keyblock
      Src: /src/gnupg/g10/keylist.c:885,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keylist.c:888,1
    - Dst: keydb_search_next
      Src: /src/gnupg/g10/keylist.c:891,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/keylist.c:892,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keylist.c:893,1
    - Dst: log_error
      Src: /src/gnupg/g10/keylist.c:894,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keylist.c:894,1
    - Dst: keydb_get_skipped_counter
      Src: /src/gnupg/g10/keylist.c:895,1
    - Dst: log_info
      Src: /src/gnupg/g10/keylist.c:896,1
    - Dst: ngettext
      Src: /src/gnupg/g10/keylist.c:896,1
    - Dst: keydb_get_skipped_counter
      Src: /src/gnupg/g10/keylist.c:898,1
    - Dst: keydb_get_skipped_counter
      Src: /src/gnupg/g10/keylist.c:899,1
    - Dst: print_signature_stats
      Src: /src/gnupg/g10/keylist.c:902,1
    - Dst: keylist_context_release
      Src: /src/gnupg/g10/keylist.c:905,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keylist.c:906,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/keylist.c:907,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 61
    argCount: 3
    argNames:
    - ctrl
    - secret
    - mark_secret
    argTypes:
    - ctrl_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 818
    functionDepth: 2
    functionLinenumber: 818
    functionLinenumberEnd: 908
    functionName: list_all
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 2
    functionsReached:
    - keydb_search_next
    - es_fprintf
    - strlen
    - list_keyblock
    - es_fflush
    - keydb_new
    - log_error
    - ngettext
    - es_putc
    - log_info
    - merge_keys_and_selfsig
    - keydb_get_keyblock
    - agent_probe_any_secret_key
    - gpg_error_from_syserror
    - keydb_get_skipped_counter
    - keylist_context_release
    - memset
    - gpg_strerror
    - keydb_get_resource_name
    - keydb_search_first
    - release_kbnode
    - gpg_err_code
    - keydb_release
    - print_signature_stats
    linkageType: ''
    returnType: void
    signature: void list_all (ctrl_t ctrl, int secret, int mark_secret)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:919,1
    - Dst: memset
      Src: /src/gnupg/g10/keylist.c:924,1
    - Dst: getkey_bynames
      Src: /src/gnupg/g10/keylist.c:937,1
    - Dst: log_error
      Src: /src/gnupg/g10/keylist.c:943,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keylist.c:943,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/keylist.c:944,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keylist.c:945,1
    - Dst: agent_probe_any_secret_key
      Src: /src/gnupg/g10/keylist.c:958,1
    - Dst: keydb_get_resource_name
      Src: /src/gnupg/g10/keylist.c:968,1
    - Dst: get_ctx_handle
      Src: /src/gnupg/g10/keylist.c:968,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:969,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:970,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:970,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:971,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:972,1
    - Dst: list_keyblock
      Src: /src/gnupg/g10/keylist.c:974,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keylist.c:977,1
    - Dst: getkey_next
      Src: /src/gnupg/g10/keylist.c:979,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/keylist.c:980,1
    - Dst: print_signature_stats
      Src: /src/gnupg/g10/keylist.c:983,1
    - Dst: keylist_context_release
      Src: /src/gnupg/g10/keylist.c:985,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 4
    argNames:
    - ctrl
    - names
    - secret
    - mark_secret
    argTypes:
    - ctrl_t
    - strlist_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 911
    functionDepth: 2
    functionLinenumber: 911
    functionLinenumberEnd: 986
    functionName: list_one
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 2
    functionsReached:
    - es_fprintf
    - print_signature_stats
    - agent_probe_any_secret_key
    - log_error
    - strlen
    - release_kbnode
    - keylist_context_release
    - getkey_end
    - _
    - es_putc
    - list_keyblock
    - gpg_strerror
    - memset
    - write_status_error
    - getkey_next
    - get_ctx_handle
    - keydb_get_resource_name
    - getkey_bynames
    linkageType: ''
    returnType: void
    signature: void list_one (ctrl_t ctrl, strlist_t names, int secret, int mark_secret)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/keylist.c:999,1
    - Dst: get_best_pubkey_byname
      Src: /src/gnupg/g10/keylist.c:1005,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keylist.c:1011,1
    - Dst: log_error
      Src: /src/gnupg/g10/keylist.c:1012,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keylist.c:1012,1
    - Dst: log_info
      Src: /src/gnupg/g10/keylist.c:1014,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:1014,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keylist.c:1015,1
    - Dst: list_keyblock
      Src: /src/gnupg/g10/keylist.c:1021,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keylist.c:1023,1
    - Dst: getkey_next
      Src: /src/gnupg/g10/keylist.c:1025,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/keylist.c:1026,1
    - Dst: print_signature_stats
      Src: /src/gnupg/g10/keylist.c:1032,1
    - Dst: keylist_context_release
      Src: /src/gnupg/g10/keylist.c:1034,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - ctrl
    - names
    - no_local
    argTypes:
    - ctrl_t
    - strlist_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 989
    functionDepth: 2
    functionLinenumber: 989
    functionLinenumberEnd: 1035
    functionName: locate_one
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 1
    functionsReached:
    - log_error
    - get_best_pubkey_byname
    - release_kbnode
    - keylist_context_release
    - getkey_end
    - _
    - list_keyblock
    - gpg_strerror
    - gpg_err_code
    - memset
    - log_info
    - getkey_next
    - print_signature_stats
    linkageType: ''
    returnType: void
    signature: void locate_one (ctrl_t ctrl, strlist_t names, int no_local)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pubkey_get_npkey
      Src: /src/gnupg/g10/keylist.c:1041,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1046,1
    - Dst: mpi_get_nbits
      Src: /src/gnupg/g10/keylist.c:1046,1
    - Dst: mpi_print
      Src: /src/gnupg/g10/keylist.c:1047,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1048,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1051
    functionName: print_key_data
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - es_putc
    - pubkey_get_npkey
    - mpi_print
    - mpi_get_nbits
    linkageType: ''
    returnType: void
    signature: void print_key_data (PKT_public_key * pk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_RSA
      Src: /src/gnupg/g10/keylist.c:1063,1
    - Dst: pubkey_get_npkey
      Src: /src/gnupg/g10/keylist.c:1063,1
    - Dst: screen_key_for_roca
      Src: /src/gnupg/g10/keylist.c:1065,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keylist.c:1068,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1071,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1073,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1077,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keylist.c:1078,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pk
    - colon_mode
    argTypes:
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1081
    functionName: print_pk_screening
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - is_RSA
    - es_fprintf
    - pubkey_get_npkey
    - gpg_err_code
    - gpg_strerror
    - screen_key_for_roca
    linkageType: ''
    returnType: void
    signature: void print_pk_screening (PKT_public_key *pk, int colon_mode)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1091,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1095,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1098,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1108,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1111,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1114,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1116,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1118,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1121,1
    - Dst: pk_is_disabled
      Src: /src/gnupg/g10/keylist.c:1137,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1157,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1159,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1161,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1163,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1165,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1168,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 55
    argCount: 3
    argNames:
    - ctrl
    - pk
    - keyblock
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1169
    functionName: print_capabilities
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - es_putc
    - pk_is_disabled
    linkageType: ''
    returnType: void
    signature: void print_capabilities (ctrl_t ctrl, PKT_public_key *pk, KBNODE keyblock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1180,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1186,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1188,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - type
    - len
    - flags
    - buf
    argTypes:
    - sigsubpkttype_t
    - size_t
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1192
    functionName: print_one_subpacket
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    linkageType: ''
    returnType: void
    signature: "void print_one_subpacket (sigsubpkttype_t type, size_t len, int flags,\n\t\t
      \    const byte * buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keylist.c:1200,1
    - Dst: enum_sig_subpkt
      Src: /src/gnupg/g10/keylist.c:1210,1
    - Dst: print_one_subpacket
      Src: /src/gnupg/g10/keylist.c:1211,1
    - Dst: enum_sig_subpkt
      Src: /src/gnupg/g10/keylist.c:1215,1
    - Dst: print_one_subpacket
      Src: /src/gnupg/g10/keylist.c:1216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - sig
    argTypes:
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1218
    functionName: print_subpackets_colon
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - enum_sig_subpkt
    - print_one_subpacket
    - log_assert
    linkageType: ''
    returnType: void
    signature: void print_subpackets_colon (PKT_signature * sig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/keylist.c:1231,1
    - Dst: BUG
      Src: /src/gnupg/g10/keylist.c:1238,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/keylist.c:1239,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keylist.c:1243,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keylist.c:1245,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:1245,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/keylist.c:1251,1
    - Dst: es_fwrite
      Src: /src/gnupg/g10/keylist.c:1254,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/keylist.c:1255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - uid
    - pk
    argTypes:
    - PKT_user_id*
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1221
    functionDepth: 1
    functionLinenumber: 1221
    functionLinenumberEnd: 1257
    functionName: dump_attribs
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 1
    functionsReached:
    - strlen
    - write_status_text
    - sprintf
    - is_status_enabled
    - BUG
    - es_fwrite
    - fingerprint_from_pk
    - es_fflush
    linkageType: ''
    returnType: void
    signature: void dump_attribs (const PKT_user_id *uid, PKT_public_key *pk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/g10/keylist.c:1265,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1267,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - keygrip
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1271
    functionName: print_keygrip
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 2
    functionsReached:
    - strchr
    - es_fprintf
    linkageType: ''
    returnType: void
    signature: void print_keygrip (const char *keygrip)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/g10/keylist.c:1289,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/keylist.c:1290,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/keylist.c:1292,1
    - Dst: strcat
      Src: /src/gnupg/g10/keylist.c:1293,1
    - Dst: es_fopen
      Src: /src/gnupg/g10/keylist.c:1294,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/g10/keylist.c:1297,1
    - Dst: gpgrt_b64enc_start
      Src: /src/gnupg/g10/keylist.c:1303,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/g10/keylist.c:1306,1
    - Dst: gpgrt_b64enc_write
      Src: /src/gnupg/g10/keylist.c:1309,1
    - Dst: gpgrt_b64enc_finish
      Src: /src/gnupg/g10/keylist.c:1312,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/keylist.c:1317,1
    - Dst: log_error
      Src: /src/gnupg/g10/keylist.c:1324,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keylist.c:1324,1
    - Dst: gpgrt_b64enc_finish
      Src: /src/gnupg/g10/keylist.c:1325,1
    - Dst: gpgrt_fcancel
      Src: /src/gnupg/g10/keylist.c:1327,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - nots
    - pk
    argTypes:
    - struct notation*
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1276
    functionDepth: 1
    functionLinenumber: 1276
    functionLinenumberEnd: 1328
    functionName: print_x509_notations
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - gpg_err_code_from_syserror
    - gpgrt_fcancel
    - gcry_md_hash_buffer
    - log_error
    - bin2hex
    - gpgrt_b64enc_write
    - es_fclose
    - gpgrt_b64enc_finish
    - es_fopen
    - gpg_strerror
    - hexfingerprint
    - gpgrt_b64enc_start
    - strcat
    linkageType: ''
    returnType: void
    signature: void print_x509_notations (struct notation *nots, PKT_public_key *pk)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: keyid_cmp
      Src: /src/gnupg/g10/keylist.c:1355,1
    - Dst: memcmp
      Src: /src/gnupg/g10/keylist.c:1372,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - av
    - bv
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1373
    functionName: cmp_signodes
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - memcmp
    - keyid_cmp
    linkageType: ''
    returnType: int
    signature: int cmp_signodes (const void *av, const void *bv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/keylist.c:1386,1
    - Dst: is_valid_domain_name
      Src: /src/gnupg/g10/keylist.c:1398,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:1400,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - name
    - namelen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1381
    functionDepth: 1
    functionLinenumber: 1381
    functionLinenumberEnd: 1404
    functionName: parse_trust_name
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    - xfree
    - is_valid_domain_name
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_trust_name (const char *name, size_t namelen)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/gnupg/g10/keylist.c:1426,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1428,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:1429,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/keylist.c:1430,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - comment
    - comment_len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1435
    functionName: print_revocation_reason_comment
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - es_write_sanitized
    - es_putc
    - _
    - memchr
    linkageType: ''
    returnType: void
    signature: void print_revocation_reason_comment (const char *comment, size_t comment_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: revocation_reason_code_to_str
      Src: /src/gnupg/g10/keylist.c:1450,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1451,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:1452,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:1453,1
    - Dst: print_revocation_reason_comment
      Src: /src/gnupg/g10/keylist.c:1454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1456
    functionName: print_revocation_reason
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - _
    - xfree
    - revocation_reason_code_to_str
    - print_revocation_reason_comment
    linkageType: ''
    returnType: void
    signature: void print_revocation_reason (PKT_public_key *pk)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: check_key_signature
      Src: /src/gnupg/g10/keylist.c:1475,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keylist.c:1476,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keylist.c:1508,1
    - Dst: openpgp_pk_test_algo
      Src: /src/gnupg/g10/keylist.c:1508,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keylist.c:1510,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/keylist.c:1510,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/keylist.c:1520,1
    - Dst: IS_SUBKEY_REV
      Src: /src/gnupg/g10/keylist.c:1520,1
    - Dst: IS_UID_REV
      Src: /src/gnupg/g10/keylist.c:1520,1
    - Dst: get_revocation_reason
      Src: /src/gnupg/g10/keylist.c:1523,1
    - Dst: IS_UID_SIG
      Src: /src/gnupg/g10/keylist.c:1527,1
    - Dst: IS_SUBKEY_SIG
      Src: /src/gnupg/g10/keylist.c:1529,1
    - Dst: IS_KEY_SIG
      Src: /src/gnupg/g10/keylist.c:1531,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1535,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:1541,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1542,1
    - Dst: keystr
      Src: /src/gnupg/g10/keylist.c:1553,1
    - Dst: datestr_from_sig
      Src: /src/gnupg/g10/keylist.c:1554,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1556,1
    - Dst: expirestr_from_sig
      Src: /src/gnupg/g10/keylist.c:1556,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1557,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1559,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keylist.c:1559,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:1563,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:1563,1
    - Dst: get_user_id
      Src: /src/gnupg/g10/keylist.c:1567,1
    - Dst: print_utf8_buffer
      Src: /src/gnupg/g10/keylist.c:1568,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:1569,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1574,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:1577,1
    - Dst: strncmp
      Src: /src/gnupg/g10/keylist.c:1580,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keylist.c:1581,1
    - Dst: parse_trust_name
      Src: /src/gnupg/g10/keylist.c:1582,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1584,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:1585,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:1589,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/keylist.c:1590,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1592,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1594,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1596,1
    - Dst: show_policy_url
      Src: /src/gnupg/g10/keylist.c:1600,1
    - Dst: show_notation
      Src: /src/gnupg/g10/keylist.c:1603,1
    - Dst: IS_KEY_SIG
      Src: /src/gnupg/g10/keylist.c:1617,1
    - Dst: IS_SUBKEY_SIG
      Src: /src/gnupg/g10/keylist.c:1617,1
    - Dst: search_sig_notations
      Src: /src/gnupg/g10/keylist.c:1618,1
    - Dst: print_x509_notations
      Src: /src/gnupg/g10/keylist.c:1622,1
    - Dst: print_x509_notations
      Src: /src/gnupg/g10/keylist.c:1624,1
    - Dst: free_notation
      Src: /src/gnupg/g10/keylist.c:1625,1
    - Dst: show_keyserver_url
      Src: /src/gnupg/g10/keylist.c:1631,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1635,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:1636,1
    - Dst: print_revocation_reason_comment
      Src: /src/gnupg/g10/keylist.c:1637,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:1640,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:1641,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 94
    argCount: 5
    argNames:
    - ctrl
    - keyblock
    - node
    - listctx
    - lastpk
    argTypes:
    - ctrl_t
    - kbnode_t
    - kbnode_t
    - struct keylist_context*
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1461
    functionDepth: 3
    functionLinenumber: 1461
    functionLinenumberEnd: 1644
    functionName: list_signature_print
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - datestr_from_sig
    - show_keyserver_url
    - es_fprintf
    - expirestr_from_sig
    - strlen
    - show_notation
    - show_policy_url
    - print_utf8_buffer
    - print_revocation_reason_comment
    - get_user_id
    - es_write_sanitized
    - IS_UID_REV
    - _
    - es_putc
    - IS_KEY_SIG
    - IS_KEY_REV
    - print_x509_notations
    - strncmp
    - strcmp
    - search_sig_notations
    - gpg_strerror
    - openpgp_pk_test_algo
    - get_revocation_reason
    - keystr
    - IS_UID_SIG
    - xfree
    - check_key_signature
    - es_fputs
    - free_notation
    - parse_trust_name
    - IS_SUBKEY_SIG
    - openpgp_md_test_algo
    - IS_SUBKEY_REV
    - gpg_err_code
    linkageType: ''
    returnType: void
    signature: "void list_signature_print (ctrl_t ctrl, kbnode_t keyblock, kbnode_t
      node,\n                      struct keylist_context *listctx, PKT_public_key
      *lastpk)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: find_kbnode
      Src: /src/gnupg/g10/keylist.c:1661,1
    - Dst: log_error
      Src: /src/gnupg/g10/keylist.c:1664,1
    - Dst: dump_kbnode
      Src: /src/gnupg/g10/keylist.c:1665,1
    - Dst: pk_keyid
      Src: /src/gnupg/g10/keylist.c:1670,1
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/keylist.c:1675,1
    - Dst: log_error
      Src: /src/gnupg/g10/keylist.c:1677,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keylist.c:1677,1
    - Dst: agent_get_keyinfo
      Src: /src/gnupg/g10/keylist.c:1683,1
    - Dst: check_trustdb_stale
      Src: /src/gnupg/g10/keylist.c:1690,1
    - Dst: print_key_line
      Src: /src/gnupg/g10/keylist.c:1693,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/keylist.c:1696,1
    - Dst: print_keygrip
      Src: /src/gnupg/g10/keylist.c:1699,1
    - Dst: print_card_serialno
      Src: /src/gnupg/g10/keylist.c:1702,1
    - Dst: print_key_data
      Src: /src/gnupg/g10/keylist.c:1705,1
    - Dst: print_pk_screening
      Src: /src/gnupg/g10/keylist.c:1708,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1715,1
    - Dst: key_origin_string
      Src: /src/gnupg/g10/keylist.c:1716,1
    - Dst: mk_datestr
      Src: /src/gnupg/g10/keylist.c:1717,1
    - Dst: print_utf8_string
      Src: /src/gnupg/g10/keylist.c:1720,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1721,1
    - Dst: print_revokers
      Src: /src/gnupg/g10/keylist.c:1724,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/keylist.c:1728,1
    - Dst: keystrlen
      Src: /src/gnupg/g10/keylist.c:1735,1
    - Dst: dump_attribs
      Src: /src/gnupg/g10/keylist.c:1747,1
    - Dst: uid_trust_string_fixed
      Src: /src/gnupg/g10/keylist.c:1755,1
    - Dst: atoi
      Src: /src/gnupg/g10/keylist.c:1757,1
    - Dst: uid_trust_string_fixed
      Src: /src/gnupg/g10/keylist.c:1757,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1761,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1766,1
    - Dst: print_utf8_buffer
      Src: /src/gnupg/g10/keylist.c:1769,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1770,1
    - Dst: show_preferences
      Src: /src/gnupg/g10/keylist.c:1773,1
    - Dst: show_preferences
      Src: /src/gnupg/g10/keylist.c:1775,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/g10/keylist.c:1782,1
    - Dst: strchr
      Src: /src/gnupg/g10/keylist.c:1783,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/g10/keylist.c:1786,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:1787,1
    - Dst: zb32_encode
      Src: /src/gnupg/g10/keylist.c:1788,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1791,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:1793,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:1796,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1804,1
    - Dst: key_origin_string
      Src: /src/gnupg/g10/keylist.c:1806,1
    - Dst: mk_datestr
      Src: /src/gnupg/g10/keylist.c:1807,1
    - Dst: print_utf8_string
      Src: /src/gnupg/g10/keylist.c:1811,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1812,1
    - Dst: show_photos
      Src: /src/gnupg/g10/keylist.c:1816,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:1832,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:1833,1
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/keylist.c:1836,1
    - Dst: log_error
      Src: /src/gnupg/g10/keylist.c:1838,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keylist.c:1839,1
    - Dst: agent_get_keyinfo
      Src: /src/gnupg/g10/keylist.c:1843,1
    - Dst: print_key_line
      Src: /src/gnupg/g10/keylist.c:1850,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/keylist.c:1853,1
    - Dst: print_card_serialno
      Src: /src/gnupg/g10/keylist.c:1855,1
    - Dst: print_keygrip
      Src: /src/gnupg/g10/keylist.c:1858,1
    - Dst: print_key_data
      Src: /src/gnupg/g10/keylist.c:1860,1
    - Dst: print_pk_screening
      Src: /src/gnupg/g10/keylist.c:1862,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keylist.c:1876,1
    - Dst: keyid_eq
      Src: /src/gnupg/g10/keylist.c:1881,1
    - Dst: qsort
      Src: /src/gnupg/g10/keylist.c:1891,1
    - Dst: list_signature_print
      Src: /src/gnupg/g10/keylist.c:1894,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:1896,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:1899,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:1900,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:1901,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 144
    argCount: 5
    argNames:
    - ctrl
    - keyblock
    - secret
    - fpr
    - listctx
    argTypes:
    - ctrl_t
    - kbnode_t
    - int
    - int
    - struct keylist_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1647
    functionDepth: 4
    functionLinenumber: 1647
    functionLinenumberEnd: 1902
    functionName: list_keyblock_print
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - gcry_md_hash_buffer
    - strlen
    - list_signature_print
    - is_deleted_kbnode
    - print_utf8_buffer
    - print_card_serialno
    - mk_datestr
    - print_keygrip
    - zb32_encode
    - log_error
    - print_key_line
    - check_trustdb_stale
    - es_putc
    - qsort
    - print_utf8_string
    - keyid_eq
    - keystrlen
    - uid_trust_string_fixed
    - show_preferences
    - show_photos
    - print_pk_screening
    - strchr
    - gpg_strerror
    - xfree
    - hexkeygrip_from_pk
    - mailbox_from_userid
    - agent_get_keyinfo
    - print_fingerprint
    - atoi
    - print_revokers
    - find_kbnode
    - print_key_data
    - xcalloc
    - dump_attribs
    - pk_keyid
    - dump_kbnode
    - key_origin_string
    linkageType: ''
    returnType: void
    signature: "void list_keyblock_print (ctrl_t ctrl, kbnode_t keyblock, int secret,
      int fpr,\n                     struct keylist_context *listctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: find_kbnode
      Src: /src/gnupg/g10/keylist.c:1918,1
    - Dst: log_error
      Src: /src/gnupg/g10/keylist.c:1921,1
    - Dst: dump_kbnode
      Src: /src/gnupg/g10/keylist.c:1922,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/keylist.c:1925,1
    - Dst: walk_kbnode
      Src: /src/gnupg/g10/keylist.c:1927,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/g10/keylist.c:1940,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/g10/keylist.c:1943,1
    - Dst: log_error
      Src: /src/gnupg/g10/keylist.c:1945,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keylist.c:1946,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1949,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:1950,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - ctrl
    - keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1907
    functionDepth: 2
    functionLinenumber: 1907
    functionLinenumberEnd: 1953
    functionName: list_keyblock_simple
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - gpg_err_code_from_syserror
    - log_error
    - find_kbnode
    - gpg_strerror
    - xfree
    - hexfingerprint
    - walk_kbnode
    - dump_kbnode
    - mailbox_from_userid
    linkageType: ''
    returnType: void
    signature: void list_keyblock_simple (ctrl_t ctrl, kbnode_t keyblock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/gnupg/g10/keylist.c:1964,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1970,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1973,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1974,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1980,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:1980,1
    - Dst: es_write_hexstring
      Src: /src/gnupg/g10/keylist.c:1982,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1985,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:1985,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1990,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:1991,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - fp
    - colon_mode
    - pk
    argTypes:
    - estream_t
    - int
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1994
      start: 1957
    functionDepth: 0
    functionLinenumber: 1957
    functionLinenumberEnd: 1994
    functionName: print_revokers
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 1
    functionsReached:
    - es_fprintf
    - es_write_hexstring
    - _
    - BUG
    linkageType: ''
    returnType: void
    signature: void print_revokers (estream_t fp, int colon_mode, PKT_public_key *
      pk)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/keylist.c:2008,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2012,1
    - Dst: gnupg_status_compliance_flag
      Src: /src/gnupg/g10/keylist.c:2012,1
    - Dst: gnupg_pk_is_compliant
      Src: /src/gnupg/g10/keylist.c:2015,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2018,1
    - Dst: gnupg_status_compliance_flag
      Src: /src/gnupg/g10/keylist.c:2019,1
    - Dst: print_pk_screening
      Src: /src/gnupg/g10/keylist.c:2024,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pk
    - keylength
    - curvename
    argTypes:
    - PKT_public_key*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 2001
    functionDepth: 1
    functionLinenumber: 2001
    functionLinenumberEnd: 2025
    functionName: print_compliance_flags
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - gnupg_status_compliance_flag
    - gnupg_pk_is_compliant
    - print_pk_screening
    - nbits_from_pk
    - es_fputs
    linkageType: ''
    returnType: void
    signature: "void print_compliance_flags (PKT_public_key *pk,\n                        unsigned
      int keylength, const char *curvename)"
  - BBCount: 82
    BranchProfiles: []
    Callsites:
    - Dst: find_kbnode
      Src: /src/gnupg/g10/keylist.c:2055,1
    - Dst: log_error
      Src: /src/gnupg/g10/keylist.c:2058,1
    - Dst: dump_kbnode
      Src: /src/gnupg/g10/keylist.c:2059,1
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/keylist.c:2066,1
    - Dst: log_error
      Src: /src/gnupg/g10/keylist.c:2068,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keylist.c:2068,1
    - Dst: agent_get_keyinfo
      Src: /src/gnupg/g10/keylist.c:2076,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keylist.c:2079,1
    - Dst: get_validity_info
      Src: /src/gnupg/g10/keylist.c:2090,1
    - Dst: get_ownertrust_info
      Src: /src/gnupg/g10/keylist.c:2097,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/keylist.c:2101,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2103,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2105,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2106,1
    - Dst: colon_datestr_from_pk
      Src: /src/gnupg/g10/keylist.c:2110,1
    - Dst: colon_strtime
      Src: /src/gnupg/g10/keylist.c:2110,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2113,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2114,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2116,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2117,1
    - Dst: print_capabilities
      Src: /src/gnupg/g10/keylist.c:2118,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2119,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2120,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2124,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2126,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2128,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2130,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2131,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/g10/keylist.c:2136,1
    - Dst: openpgp_oid_to_curve
      Src: /src/gnupg/g10/keylist.c:2137,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2140,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2148,1
    - Dst: pubkey_string
      Src: /src/gnupg/g10/keylist.c:2148,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2150,1
    - Dst: print_compliance_flags
      Src: /src/gnupg/g10/keylist.c:2151,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2152,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2154,1
    - Dst: colon_strtime
      Src: /src/gnupg/g10/keylist.c:2154,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2155,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2156,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/keylist.c:2158,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:2158,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2160,1
    - Dst: revocation_reason_code_to_str
      Src: /src/gnupg/g10/keylist.c:2168,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:2169,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/keylist.c:2170,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2172,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2173,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2174,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/keylist.c:2175,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:2178,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2179,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2181,1
    - Dst: print_revokers
      Src: /src/gnupg/g10/keylist.c:2183,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/keylist.c:2184,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2186,1
    - Dst: print_key_data
      Src: /src/gnupg/g10/keylist.c:2188,1
    - Dst: walk_kbnode
      Src: /src/gnupg/g10/keylist.c:2190,1
    - Dst: dump_attribs
      Src: /src/gnupg/g10/keylist.c:2198,1
    - Dst: get_validity_info
      Src: /src/gnupg/g10/keylist.c:2209,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2211,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2213,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2214,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2216,1
    - Dst: colon_strtime
      Src: /src/gnupg/g10/keylist.c:2216,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2217,1
    - Dst: colon_strtime
      Src: /src/gnupg/g10/keylist.c:2217,1
    - Dst: namehash_from_uid
      Src: /src/gnupg/g10/keylist.c:2219,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2222,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2224,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2227,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/keylist.c:2229,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2230,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2232,1
    - Dst: colon_strtime
      Src: /src/gnupg/g10/keylist.c:2232,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2233,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2234,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/keylist.c:2236,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:2237,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2239,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2240,1
    - Dst: show_preferences
      Src: /src/gnupg/g10/keylist.c:2242,1
    - Dst: tofu_write_tfs_record
      Src: /src/gnupg/g10/keylist.c:2248,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:2259,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:2260,1
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/keylist.c:2264,1
    - Dst: log_error
      Src: /src/gnupg/g10/keylist.c:2266,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keylist.c:2267,1
    - Dst: agent_get_keyinfo
      Src: /src/gnupg/g10/keylist.c:2272,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keylist.c:2275,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2276,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2278,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2280,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2282,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2289,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/keylist.c:2291,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2292,1
    - Dst: colon_datestr_from_pk
      Src: /src/gnupg/g10/keylist.c:2296,1
    - Dst: colon_strtime
      Src: /src/gnupg/g10/keylist.c:2297,1
    - Dst: print_capabilities
      Src: /src/gnupg/g10/keylist.c:2298,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2299,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2300,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2304,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2306,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2308,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2310,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2311,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:2316,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/g10/keylist.c:2317,1
    - Dst: openpgp_oid_to_curve
      Src: /src/gnupg/g10/keylist.c:2318,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2321,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2325,1
    - Dst: pubkey_string
      Src: /src/gnupg/g10/keylist.c:2325,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2328,1
    - Dst: print_compliance_flags
      Src: /src/gnupg/g10/keylist.c:2329,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2330,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2331,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/keylist.c:2332,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2334,1
    - Dst: print_key_data
      Src: /src/gnupg/g10/keylist.c:2336,1
    - Dst: get_revocation_reason
      Src: /src/gnupg/g10/keylist.c:2357,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2369,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/keylist.c:2378,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keylist.c:2380,1
    - Dst: check_key_signature2
      Src: /src/gnupg/g10/keylist.c:2382,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keylist.c:2384,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/keylist.c:2405,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keylist.c:2408,1
    - Dst: get_user_id
      Src: /src/gnupg/g10/keylist.c:2420,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2431,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2432,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2434,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2435,1
    - Dst: colon_datestr_from_sig
      Src: /src/gnupg/g10/keylist.c:2437,1
    - Dst: colon_expirestr_from_sig
      Src: /src/gnupg/g10/keylist.c:2438,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2441,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2442,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/keylist.c:2445,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:2446,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2447,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2450,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keylist.c:2450,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/keylist.c:2452,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2454,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2457,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2458,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2463,1
    - Dst: issuer_fpr_string
      Src: /src/gnupg/g10/keylist.c:2465,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2466,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2468,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2472,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/keylist.c:2473,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2475,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2477,1
    - Dst: print_subpackets_colon
      Src: /src/gnupg/g10/keylist.c:2480,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:2483,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:2484,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:2485,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:2486,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:2490,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:2491,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:2492,1
    CyclomaticComplexity: 122
    EdgeCount: 122
    ICount: 298
    argCount: 4
    argNames:
    - ctrl
    - keyblock
    - secret
    - has_secret
    argTypes:
    - ctrl_t
    - kbnode_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2493
      start: 2031
    functionDepth: 3
    functionLinenumber: 2031
    functionLinenumberEnd: 2493
    functionName: list_keyblock_colon
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - pubkey_string
    - strlen
    - colon_datestr_from_pk
    - walk_kbnode
    - es_fflush
    - tofu_write_tfs_record
    - colon_expirestr_from_sig
    - print_subpackets_colon
    - colon_datestr_from_sig
    - get_user_id
    - free_public_key
    - issuer_fpr_string
    - log_error
    - es_write_sanitized
    - es_putc
    - fingerprint_from_pk
    - openpgp_oid_to_curve
    - revocation_reason_code_to_str
    - show_preferences
    - print_capabilities
    - get_ownertrust_info
    - gpg_strerror
    - get_validity_info
    - xfree
    - get_revocation_reason
    - check_key_signature2
    - print_compliance_flags
    - es_fputs
    - hexkeygrip_from_pk
    - dump_attribs
    - colon_strtime
    - agent_get_keyinfo
    - print_fingerprint
    - print_revokers
    - find_kbnode
    - keyid_from_pk
    - print_key_data
    - gpg_err_code
    - nbits_from_pk
    - namehash_from_uid
    - xmalloc_clear
    - dump_kbnode
    - openpgp_oid_to_str
    linkageType: ''
    returnType: void
    signature: "void list_keyblock_colon (ctrl_t ctrl, kbnode_t keyblock,\n                     int
      secret, int has_secret)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keylist.c:2533,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keylist.c:2534,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keylist.c:2535,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 2
    argNames:
    - keyblock
    - attr
    argTypes:
    - KBNODE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2499
    functionDepth: 0
    functionLinenumber: 2499
    functionLinenumberEnd: 2542
    functionName: do_reorder_keyblock
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - log_assert
    linkageType: ''
    returnType: void
    signature: void do_reorder_keyblock (KBNODE keyblock, int attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_reorder_keyblock
      Src: /src/gnupg/g10/keylist.c:2547,1
    - Dst: do_reorder_keyblock
      Src: /src/gnupg/g10/keylist.c:2548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - keyblock
    argTypes:
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2544
    functionDepth: 1
    functionLinenumber: 2544
    functionLinenumberEnd: 2549
    functionName: reorder_keyblock
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 1
    functionsReached:
    - do_reorder_keyblock
    linkageType: ''
    returnType: void
    signature: void reorder_keyblock (KBNODE keyblock)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: es_clearerr
      Src: /src/gnupg/g10/keylist.c:2563,1
    - Dst: reorder_keyblock
      Src: /src/gnupg/g10/keylist.c:2564,1
    - Dst: recsel_select
      Src: /src/gnupg/g10/keylist.c:2574,1
    - Dst: list_keyblock_colon
      Src: /src/gnupg/g10/keylist.c:2585,1
    - Dst: check_trustdb_stale
      Src: /src/gnupg/g10/keylist.c:2589,1
    - Dst: list_keyblock_simple
      Src: /src/gnupg/g10/keylist.c:2590,1
    - Dst: list_keyblock_print
      Src: /src/gnupg/g10/keylist.c:2593,1
    - Dst: es_ferror
      Src: /src/gnupg/g10/keylist.c:2595,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keylist.c:2596,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/keylist.c:2598,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keylist.c:2599,1
    - Dst: log_error
      Src: /src/gnupg/g10/keylist.c:2602,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:2602,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keylist.c:2602,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 6
    argNames:
    - ctrl
    - keyblock
    - secret
    - has_secret
    - fpr
    - listctx
    argTypes:
    - ctrl_t
    - KBNODE
    - int
    - int
    - int
    - struct keylist_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2556
    functionDepth: 5
    functionLinenumber: 2556
    functionLinenumberEnd: 2605
    functionName: list_keyblock
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 3
    functionsReached:
    - list_keyblock_colon
    - gpg_error_from_syserror
    - recsel_select
    - log_error
    - check_trustdb_stale
    - reorder_keyblock
    - _
    - list_keyblock_print
    - es_fflush
    - es_ferror
    - gpg_strerror
    - list_keyblock_simple
    - es_clearerr
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t list_keyblock (ctrl_t ctrl,\n               KBNODE keyblock,
      int secret, int has_secret, int fpr,\n               struct keylist_context
      *listctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/keylist.c:2618,1
    - Dst: list_keyblock
      Src: /src/gnupg/g10/keylist.c:2622,1
    - Dst: keylist_context_release
      Src: /src/gnupg/g10/keylist.c:2623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - ctrl
    - keyblock
    - secret
    - has_secret
    - fpr
    - no_validity
    argTypes:
    - ctrl_t
    - kbnode_t
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2625
      start: 2610
    functionDepth: 6
    functionLinenumber: 2610
    functionLinenumberEnd: 2625
    functionName: list_keyblock_direct
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - list_keyblock
    - keylist_context_release
    - memset
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t list_keyblock_direct (ctrl_t ctrl,\n                      kbnode_t
      keyblock, int secret, int has_secret, int fpr,\n                      int no_validity)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - c
    argTypes:
    - estream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2638
      start: 2629
    functionDepth: 1
    functionLinenumber: 2629
    functionLinenumberEnd: 2638
    functionName: print_icao_hexdigit
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    linkageType: ''
    returnType: void
    signature: void print_icao_hexdigit (estream_t fp, int c)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/keylist.c:2694,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keylist.c:2702,1
    - Dst: get_pubkey
      Src: /src/gnupg/g10/keylist.c:2703,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/keylist.c:2704,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keylist.c:2705,1
    - Dst: log_get_stream
      Src: /src/gnupg/g10/keylist.c:2710,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:2712,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:2714,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:2722,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:2724,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:2729,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:2734,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:2745,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/keylist.c:2748,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2751,1
    - Dst: v5hexfingerprint
      Src: /src/gnupg/g10/keylist.c:2754,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2755,1
    - Dst: xfree
      Src: /src/gnupg/g10/keylist.c:2756,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2761,1
    - Dst: format_hexfingerprint
      Src: /src/gnupg/g10/keylist.c:2766,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2768,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2770,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2772,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2776,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:2776,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2782,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:2782,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2784,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2786,1
    - Dst: print_icao_hexdigit
      Src: /src/gnupg/g10/keylist.c:2787,1
    - Dst: xtoi_1
      Src: /src/gnupg/g10/keylist.c:2787,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2789,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 84
    argCount: 4
    argNames:
    - ctrl
    - override_fp
    - pk
    - mode
    argTypes:
    - ctrl_t
    - estream_t
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2791
      start: 2656
    functionDepth: 2
    functionLinenumber: 2656
    functionLinenumberEnd: 2791
    functionName: print_fingerprint
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 7
    functionsReached:
    - tty_fprintf
    - format_hexfingerprint
    - free_public_key
    - v5hexfingerprint
    - get_pubkey
    - print_fingerprint
    - es_fprintf
    - log_error
    - strlen
    - xtoi_1
    - _
    - hexfingerprint
    - xfree
    - print_icao_hexdigit
    - log_get_stream
    - xmalloc_clear
    linkageType: ''
    returnType: void
    signature: "void print_fingerprint (ctrl_t ctrl, estream_t override_fp,\n                   PKT_public_key
      *pk, int mode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2802,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:2802,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2803,1
    - Dst: strlen
      Src: /src/gnupg/g10/keylist.c:2804,1
    - Dst: strncmp
      Src: /src/gnupg/g10/keylist.c:2804,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2809,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keylist.c:2812,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keylist.c:2813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - serialno
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2814
      start: 2794
    functionDepth: 0
    functionLinenumber: 2794
    functionLinenumberEnd: 2814
    functionName: print_card_serialno
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 1
    functionsReached:
    - es_fprintf
    - strlen
    - es_putc
    - _
    - es_fputs
    - strncmp
    linkageType: ''
    returnType: void
    signature: void print_card_serialno (const char *serialno)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2838,1
    - Dst: pubkey_string
      Src: /src/gnupg/g10/keylist.c:2842,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2844,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/keylist.c:2844,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2845,1
    - Dst: datestr_from_pk
      Src: /src/gnupg/g10/keylist.c:2845,1
    - Dst: openpgp_pk_algo_usage
      Src: /src/gnupg/g10/keylist.c:2848,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2852,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2856,1
    - Dst: usagestr_from_pk
      Src: /src/gnupg/g10/keylist.c:2856,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2861,1
    - Dst: get_ownertrust_string
      Src: /src/gnupg/g10/keylist.c:2861,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2866,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2867,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:2867,1
    - Dst: revokestr_from_pk
      Src: /src/gnupg/g10/keylist.c:2867,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2868,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2872,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2873,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:2873,1
    - Dst: expirestr_from_pk
      Src: /src/gnupg/g10/keylist.c:2873,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2874,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2878,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2879,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:2879,1
    - Dst: expirestr_from_pk
      Src: /src/gnupg/g10/keylist.c:2879,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2880,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2884,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keylist.c:2886,1
    - Dst: pk_is_disabled
      Src: /src/gnupg/g10/keylist.c:2888,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keylist.c:2889,1
    - Dst: _
      Src: /src/gnupg/g10/keylist.c:2889,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/keylist.c:2895,1
    - Dst: print_revocation_reason
      Src: /src/gnupg/g10/keylist.c:2899,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 4
    argNames:
    - ctrl
    - fp
    - pk
    - secret
    argTypes:
    - ctrl_t
    - estream_t
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2900
      start: 2833
    functionDepth: 3
    functionLinenumber: 2833
    functionLinenumberEnd: 2900
    functionName: print_key_line
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 3
    functionsReached:
    - tty_fprintf
    - es_fprintf
    - print_fingerprint
    - pubkey_string
    - print_revocation_reason
    - revokestr_from_pk
    - expirestr_from_pk
    - keystr_from_pk
    - _
    - pk_is_disabled
    - datestr_from_pk
    - get_ownertrust_string
    - openpgp_pk_algo_usage
    - usagestr_from_pk
    linkageType: ''
    returnType: void
    signature: void print_key_line (ctrl_t ctrl, estream_t fp, PKT_public_key *pk,
      int secret)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_get_stream
      Src: /src/gnupg/g10/keylist.c:2912,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/keylist.c:2913,1
    - Dst: gnupg_fd_valid
      Src: /src/gnupg/g10/keylist.c:2918,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/keylist.c:2919,1
    - Dst: strerror
      Src: /src/gnupg/g10/keylist.c:2919,1
    - Dst: setmode
      Src: /src/gnupg/g10/keylist.c:2922,1
    - Dst: es_fdopen
      Src: /src/gnupg/g10/keylist.c:2929,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/keylist.c:2932,1
    - Dst: strerror
      Src: /src/gnupg/g10/keylist.c:2933,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2937
      start: 2903
    functionDepth: 1
    functionLinenumber: 2903
    functionLinenumberEnd: 2937
    functionName: set_attrib_fd
    functionSourceFile: /src/gnupg/g10/keylist.c
    functionUses: 1
    functionsReached:
    - es_fclose
    - log_fatal
    - gnupg_fd_valid
    - es_fdopen
    - setmode
    - log_get_stream
    - strerror
    linkageType: ''
    returnType: void
    signature: void set_attrib_fd (int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _a
    - ','
    - _b
    - ','
    - _c
    - ','
    - _d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: openpgp_cipher_open
    functionSourceFile: /src/gnupg/g10/main.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: openpgp_cipher_open(_a,_b,_c,_d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: openpgp_cipher_get_algo_keylen
    functionSourceFile: /src/gnupg/g10/main.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: openpgp_cipher_get_algo_keylen(_a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: openpgp_cipher_get_algo_blklen
    functionSourceFile: /src/gnupg/g10/main.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: openpgp_cipher_get_algo_blklen(_a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_stat
      Src: /src/gnupg/g10/misc.c:106,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/misc.c:107,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:107,1
    - Dst: strerror
      Src: /src/gnupg/g10/misc.c:108,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/misc.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 125
    functionName: register_secured_file
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 2
    functionsReached:
    - log_fatal
    - _
    - xmalloc
    - gnupg_stat
    - strerror
    linkageType: ''
    returnType: void
    signature: void register_secured_file (const char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_stat
      Src: /src/gnupg/g10/misc.c:135,1
    - Dst: log_error
      Src: /src/gnupg/g10/misc.c:137,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:137,1
    - Dst: strerror
      Src: /src/gnupg/g10/misc.c:138,1
    - Dst: xfree
      Src: /src/gnupg/g10/misc.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 158
    functionName: unregister_secured_file
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached:
    - log_error
    - _
    - xfree
    - gnupg_stat
    - strerror
    linkageType: ''
    returnType: void
    signature: void unregister_secured_file (const char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/gnupg/g10/misc.c:174,1
    - Dst: log_error
      Src: /src/gnupg/g10/misc.c:176,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:176,1
    - Dst: strerror
      Src: /src/gnupg/g10/misc.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - fd
    argTypes:
    - gnupg_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 191
    functionName: is_secured_file
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 5
    functionsReached:
    - log_error
    - strerror
    - _
    - fstat
    linkageType: ''
    returnType: int
    signature: int is_secured_file (gnupg_fd_t fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_is_pipe_filename
      Src: /src/gnupg/g10/misc.c:204,1
    - Dst: gnupg_stat
      Src: /src/gnupg/g10/misc.c:209,1
    - Dst: log_error
      Src: /src/gnupg/g10/misc.c:213,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:213,1
    - Dst: strerror
      Src: /src/gnupg/g10/misc.c:214,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 228
    functionName: is_secured_filename
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 6
    functionsReached:
    - iobuf_is_pipe_filename
    - log_error
    - _
    - gnupg_stat
    - strerror
    linkageType: ''
    returnType: int
    signature: int is_secured_filename (const char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: checksum_u16
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 checksum_u16( unsigned n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - byte*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: checksum
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 checksum (const byte *p, unsigned n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/misc.c:264,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/misc.c:269,1
    - Dst: checksum
      Src: /src/gnupg/g10/misc.c:275,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/g10/misc.c:279,1
    - Dst: BUG
      Src: /src/gnupg/g10/misc.c:280,1
    - Dst: gcry_is_secure
      Src: /src/gnupg/g10/misc.c:284,1
    - Dst: gcry_xmalloc_secure
      Src: /src/gnupg/g10/misc.c:285,1
    - Dst: gcry_xmalloc
      Src: /src/gnupg/g10/misc.c:285,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/g10/misc.c:286,1
    - Dst: BUG
      Src: /src/gnupg/g10/misc.c:287,1
    - Dst: checksum
      Src: /src/gnupg/g10/misc.c:288,1
    - Dst: xfree
      Src: /src/gnupg/g10/misc.c:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 291
    functionName: checksum_mpi
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - gcry_mpi_print
    - gcry_xmalloc
    - BUG
    - gcry_xmalloc_secure
    - gcry_is_secure
    - xfree
    - checksum
    - gcry_mpi_get_opaque
    linkageType: ''
    returnType: u16
    signature: u16 checksum_mpi (gcry_mpi_t a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_fflush
      Src: /src/gnupg/g10/misc.c:303,1
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:304,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:304,1
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/misc.c:305,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/misc.c:310,1
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:311,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - algo
    argTypes:
    - pubkey_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 313
    functionName: print_pubkey_algo_note
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached:
    - es_fflush
    - log_info
    - openpgp_pk_algo_name
    - _
    linkageType: ''
    returnType: void
    signature: void print_pubkey_algo_note (pubkey_algo_t algo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_fflush
      Src: /src/gnupg/g10/misc.c:324,1
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:325,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:325,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/misc.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - algo
    argTypes:
    - cipher_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 329
    functionName: print_cipher_algo_note
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached:
    - es_fflush
    - log_info
    - openpgp_cipher_algo_name
    - _
    linkageType: ''
    returnType: void
    signature: void print_cipher_algo_note (cipher_algo_t algo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: map_md_openpgp_to_gcry
      Src: /src/gnupg/g10/misc.c:337,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/misc.c:342,1
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:343,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:343,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/g10/misc.c:344,1
    - Dst: is_weak_digest
      Src: /src/gnupg/g10/misc.c:347,1
    - Dst: map_md_openpgp_to_gcry
      Src: /src/gnupg/g10/misc.c:349,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/misc.c:350,1
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:351,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:351,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/g10/misc.c:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - algo
    argTypes:
    - digest_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 354
    functionName: print_digest_algo_note
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached:
    - is_weak_digest
    - gcry_md_algo_name
    - _
    - es_fflush
    - log_info
    - map_md_openpgp_to_gcry
    linkageType: ''
    returnType: void
    signature: void print_digest_algo_note (digest_algo_t algo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: es_fflush
      Src: /src/gnupg/g10/misc.c:378,1
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:379,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:380,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/g10/misc.c:381,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - algo
    argTypes:
    - enum gcry_md_algos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 383
    functionName: print_digest_rejected_note
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached:
    - es_fflush
    - log_info
    - _
    - gcry_md_algo_name
    linkageType: ''
    returnType: void
    signature: void print_digest_rejected_note (enum gcry_md_algos algo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_fflush
      Src: /src/gnupg/g10/misc.c:395,1
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:396,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:396,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/g10/misc.c:398,1
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:400,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 402
    functionName: print_sha1_keysig_rejected_note
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached:
    - es_fflush
    - log_info
    - _
    - gcry_md_algo_name
    linkageType: ''
    returnType: void
    signature: void print_sha1_keysig_rejected_note (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/misc.c:416,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/misc.c:418,1
    - Dst: gpg_err_source
      Src: /src/gnupg/g10/misc.c:420,1
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:421,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:421,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/misc.c:422,1
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:424,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:424,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/misc.c:425,1
    - Dst: gpg_strsource
      Src: /src/gnupg/g10/misc.c:425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - err
    - ignore_ec
    argTypes:
    - gpg_error_t
    - gpg_err_code_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 427
    functionName: print_reported_error
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached:
    - _
    - log_info
    - gpg_err_code
    - gpg_strerror
    - gpg_strsource
    - gpg_err_source
    linkageType: ''
    returnType: void
    signature: void print_reported_error (gpg_error_t err, gpg_err_code_t ignore_ec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:443,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:443,1
    - Dst: va_start
      Src: /src/gnupg/g10/misc.c:444,1
    - Dst: log_logv
      Src: /src/gnupg/g10/misc.c:445,1
    - Dst: va_end
      Src: /src/gnupg/g10/misc.c:446,1
    - Dst: log_printf
      Src: /src/gnupg/g10/misc.c:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 448
    functionName: print_further_info
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached:
    - va_end
    - _
    - log_info
    - va_start
    - log_logv
    - log_printf
    linkageType: ''
    returnType: void
    signature: void print_further_info (const char *format, ...)
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 1
    argNames:
    - algo
    argTypes:
    - cipher_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 524
    functionName: map_cipher_openpgp_to_gcry
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum gcry_cipher_algos
    signature: enum gcry_cipher_algos map_cipher_openpgp_to_gcry (cipher_algo_t algo)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - algo
    argTypes:
    - enum gcry_cipher_algos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 546
    functionName: map_cipher_gcry_to_openpgp
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cipher_algo_t
    signature: cipher_algo_t map_cipher_gcry_to_openpgp (enum gcry_cipher_algos algo)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - algo
    argTypes:
    - cipher_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 574
    functionName: openpgp_cipher_blocklen
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int openpgp_cipher_blocklen (cipher_algo_t algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: map_cipher_openpgp_to_gcry
      Src: /src/gnupg/g10/misc.c:585,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/misc.c:587,1
    - Dst: gcry_cipher_test_algo
      Src: /src/gnupg/g10/misc.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - algo
    argTypes:
    - cipher_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 590
    functionName: openpgp_cipher_test_algo
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 7
    functionsReached:
    - gpg_error
    - gcry_cipher_test_algo
    - map_cipher_openpgp_to_gcry
    linkageType: ''
    returnType: int
    signature: int openpgp_cipher_test_algo (cipher_algo_t algo)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - algo
    argTypes:
    - cipher_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 614
    functionName: openpgp_cipher_algo_name
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      openpgp_cipher_algo_name (cipher_algo_t algo)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: map_static_strings
      Src: /src/gnupg/g10/misc.c:622,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/misc.c:623,1
    - Dst: openpgp_aead_algo_name
      Src: /src/gnupg/g10/misc.c:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - algo
    - aead
    argTypes:
    - cipher_algo_t
    - aead_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 627
    functionName: openpgp_cipher_algo_mode_name
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached:
    - map_static_strings
    - openpgp_cipher_algo_name
    - openpgp_aead_algo_name
    linkageType: ''
    returnType: char
    signature: 'char *

      openpgp_cipher_algo_mode_name (cipher_algo_t algo, aead_algo_t aead)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/misc.c:649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - algo
    argTypes:
    - aead_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 650
    functionName: openpgp_aead_test_algo
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 1
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t openpgp_aead_test_algo (aead_algo_t algo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_cipher_mode_name
      Src: /src/gnupg/g10/misc.c:662,1
    - Dst: gnupg_cipher_mode_name
      Src: /src/gnupg/g10/misc.c:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - algo
    argTypes:
    - aead_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 667
    functionName: openpgp_aead_algo_name
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 3
    functionsReached:
    - gnupg_cipher_mode_name
    linkageType: ''
    returnType: char
    signature: 'char *

      openpgp_aead_algo_name (aead_algo_t algo)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/misc.c:691,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/misc.c:692,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - algo
    - r_mode
    - r_noncelen
    argTypes:
    - aead_algo_t
    - enum gcry_cipher_modes*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 695
    functionName: openpgp_aead_algo_info
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 2
    functionsReached:
    - gpg_error
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t openpgp_aead_algo_info (aead_algo_t algo, enum gcry_cipher_modes
      *r_mode,\n                        unsigned int *r_noncelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_pk_test_algo2
      Src: /src/gnupg/g10/misc.c:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - pubkey_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 703
    functionName: openpgp_pk_test_algo
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 3
    functionsReached:
    - openpgp_pk_test_algo2
    linkageType: ''
    returnType: int
    signature: int openpgp_pk_test_algo (pubkey_algo_t algo)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/misc.c:759,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/misc.c:766,1
    - Dst: gcry_pk_algo_info
      Src: /src/gnupg/g10/misc.c:769,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 2
    argNames:
    - algo
    - use
    argTypes:
    - pubkey_algo_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 770
    functionName: openpgp_pk_test_algo2
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 4
    functionsReached:
    - gpg_error
    - gcry_pk_algo_info
    linkageType: ''
    returnType: int
    signature: int openpgp_pk_test_algo2 (pubkey_algo_t algo, unsigned int use)
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 820
    functionName: openpgp_pk_algo_usage
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int openpgp_pk_algo_usage ( int algo )
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - algo
    argTypes:
    - pubkey_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 842
    functionName: openpgp_pk_algo_name
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      openpgp_pk_algo_name (pubkey_algo_t algo)'
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - algo
    argTypes:
    - digest_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 887
    functionName: map_md_openpgp_to_gcry
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: enum gcry_md_algos
    signature: enum gcry_md_algos map_md_openpgp_to_gcry (digest_algo_t algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: map_md_openpgp_to_gcry
      Src: /src/gnupg/g10/misc.c:897,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/misc.c:899,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/misc.c:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - algo
    argTypes:
    - digest_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 902
    functionName: openpgp_md_test_algo
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 8
    functionsReached:
    - gpg_error
    - map_md_openpgp_to_gcry
    - gcry_md_test_algo
    linkageType: ''
    returnType: int
    signature: int openpgp_md_test_algo (digest_algo_t algo)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 922
    functionName: openpgp_md_algo_name
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      openpgp_md_algo_name (int algo)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/misc.c:932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 940
    functionName: get_signature_count
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached:
    - agent_scd_getattr
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long get_signature_count (PKT_public_key *pk)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnupg/g10/misc.c:955,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/misc.c:958,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/misc.c:961,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/misc.c:966,1
    - Dst: xrealloc
      Src: /src/gnupg/g10/misc.c:977,1
    - Dst: sprintf
      Src: /src/gnupg/g10/misc.c:989,1
    - Dst: sprintf
      Src: /src/gnupg/g10/misc.c:998,1
    - Dst: sprintf
      Src: /src/gnupg/g10/misc.c:1008,1
    - Dst: sprintf
      Src: /src/gnupg/g10/misc.c:1017,1
    - Dst: zb32_encode
      Src: /src/gnupg/g10/misc.c:1027,1
    - Dst: strlen
      Src: /src/gnupg/g10/misc.c:1030,1
    - Dst: strcpy
      Src: /src/gnupg/g10/misc.c:1032,1
    - Dst: strlen
      Src: /src/gnupg/g10/misc.c:1033,1
    - Dst: xfree
      Src: /src/gnupg/g10/misc.c:1035,1
    - Dst: sprintf
      Src: /src/gnupg/g10/misc.c:1044,1
    - Dst: get_signature_count
      Src: /src/gnupg/g10/misc.c:1044,1
    - Dst: strlen
      Src: /src/gnupg/g10/misc.c:1045,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/misc.c:1059,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/misc.c:1063,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/misc.c:1070,1
    - Dst: get_pubkey_fast
      Src: /src/gnupg/g10/misc.c:1072,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/misc.c:1073,1
    - Dst: memset
      Src: /src/gnupg/g10/misc.c:1075,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/misc.c:1076,1
    - Dst: memset
      Src: /src/gnupg/g10/misc.c:1079,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/misc.c:1082,1
    - Dst: memset
      Src: /src/gnupg/g10/misc.c:1084,1
    - Dst: sprintf
      Src: /src/gnupg/g10/misc.c:1090,1
    - Dst: image_type_to_string
      Src: /src/gnupg/g10/misc.c:1117,1
    - Dst: image_type_to_string
      Src: /src/gnupg/g10/misc.c:1121,1
    - Dst: strlen
      Src: /src/gnupg/g10/misc.c:1129,1
    - Dst: strcpy
      Src: /src/gnupg/g10/misc.c:1131,1
    - Dst: strlen
      Src: /src/gnupg/g10/misc.c:1132,1
    - Dst: xfree
      Src: /src/gnupg/g10/misc.c:1183,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 156
    argCount: 3
    argNames:
    - ctrl
    - string
    - args
    argTypes:
    - ctrl_t
    - char*
    - struct expando_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 1185
    functionName: pct_expando
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 1
    functionsReached:
    - get_signature_count
    - zb32_encode
    - fingerprint_from_pk
    - free_public_key
    - strlen
    - image_type_to_string
    - sprintf
    - keyid_from_pk
    - xrealloc
    - strcpy
    - xfree
    - memset
    - xstrdup
    - get_pubkey_fast
    - xmalloc_clear
    linkageType: ''
    returnType: char
    signature: 'char *

      pct_expando (ctrl_t ctrl, const char *string,struct expando_args *args)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnupg/g10/misc.c:1193,1
    - Dst: strncmp
      Src: /src/gnupg/g10/misc.c:1196,1
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:1199,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:1199,1
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:1203,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:1203,1
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:1205,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:1205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - configname
    - configlineno
    - option
    - repl1
    - repl2
    argTypes:
    - char*
    - unsigned int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1206
    functionName: deprecated_warning
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 1
    functionsReached:
    - strncmp
    - log_info
    - _
    linkageType: ''
    returnType: void
    signature: "void deprecated_warning(const char *configname,unsigned int configlineno,\n\t\t
      \  const char *option,const char *repl1,const char *repl2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:1212,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1209
    functionDepth: 1
    functionLinenumber: 1209
    functionLinenumberEnd: 1214
    functionName: deprecated_command
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached:
    - log_info
    - _
    linkageType: ''
    returnType: void
    signature: void deprecated_command (const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:1222,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:1222,1
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:1226,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:1226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - configname
    - configlineno
    - name
    argTypes:
    - char*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1217
    functionDepth: 1
    functionLinenumber: 1217
    functionLinenumberEnd: 1229
    functionName: obsolete_scdaemon_option
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 1
    functionsReached:
    - log_info
    - _
    linkageType: ''
    returnType: void
    signature: "void obsolete_scdaemon_option (const char *configname, unsigned int
      configlineno,\n                          const char *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: map_cipher_gcry_to_openpgp
      Src: /src/gnupg/g10/misc.c:1244,1
    - Dst: gcry_cipher_map_name
      Src: /src/gnupg/g10/misc.c:1244,1
    - Dst: strtol
      Src: /src/gnupg/g10/misc.c:1250,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/misc.c:1251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1239
    functionDepth: 2
    functionLinenumber: 1239
    functionLinenumberEnd: 1256
    functionName: string_to_cipher_algo
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 1
    functionsReached:
    - map_cipher_gcry_to_openpgp
    - strtol
    - openpgp_cipher_test_algo
    - gcry_cipher_map_name
    linkageType: ''
    returnType: int
    signature: int string_to_cipher_algo (const char *string)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/misc.c:1271,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/misc.c:1273,1
    - Dst: strtol
      Src: /src/gnupg/g10/misc.c:1280,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1288
    functionName: string_to_aead_algo
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached:
    - strtol
    - ascii_strcasecmp
    linkageType: ''
    returnType: aead_algo_t
    signature: aead_algo_t string_to_aead_algo (const char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_map_name
      Src: /src/gnupg/g10/misc.c:1302,1
    - Dst: strtol
      Src: /src/gnupg/g10/misc.c:1308,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/misc.c:1309,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1295
    functionDepth: 2
    functionLinenumber: 1295
    functionLinenumberEnd: 1314
    functionName: string_to_digest_algo
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 1
    functionsReached:
    - strtol
    - gcry_md_map_name
    - openpgp_md_test_algo
    linkageType: ''
    returnType: int
    signature: int string_to_digest_algo (const char *string)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/g10/misc.c:1326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1345
    functionName: compress_algo_to_string
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 2
    functionsReached:
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      compress_algo_to_string(int algo)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: match_multistr
      Src: /src/gnupg/g10/misc.c:1351,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:1351,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/misc.c:1353,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/misc.c:1355,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/misc.c:1357,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/misc.c:1359,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/misc.c:1362,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/misc.c:1365,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/misc.c:1367,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/misc.c:1369,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/misc.c:1372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1377
    functionName: string_to_compress_algo
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 1
    functionsReached:
    - _
    - ascii_strcasecmp
    - match_multistr
    linkageType: ''
    returnType: int
    signature: int string_to_compress_algo(const char *string)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1394
    functionName: check_compress_algo
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_compress_algo(int algo)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1405
    functionName: default_cipher_algo
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int default_cipher_algo(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1420
    functionName: default_compress_algo
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int default_compress_algo(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:1455,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:1455,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1423
    functionDepth: 1
    functionLinenumber: 1423
    functionLinenumberEnd: 1457
    functionName: compliance_failure
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 2
    functionsReached:
    - log_info
    - _
    linkageType: ''
    returnType: void
    signature: void compliance_failure(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/gnupg/g10/misc.c:1469,1
    - Dst: strchr
      Src: /src/gnupg/g10/misc.c:1496,1
    - Dst: strpbrk
      Src: /src/gnupg/g10/misc.c:1501,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - stringp
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1517
    functionName: optsep
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 1
    functionsReached:
    - strpbrk
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      optsep(char **stringp)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/g10/misc.c:1527,1
    - Dst: strchr
      Src: /src/gnupg/g10/misc.c:1536,1
    - Dst: strchr
      Src: /src/gnupg/g10/misc.c:1541,1
    - Dst: strspn
      Src: /src/gnupg/g10/misc.c:1550,1
    - Dst: strchr
      Src: /src/gnupg/g10/misc.c:1555,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1561
    functionName: argsplit
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached:
    - strchr
    - strspn
    linkageType: ''
    returnType: char
    signature: 'char *

      argsplit(char *string)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/gnupg/g10/misc.c:1568,1
    - Dst: strlen
      Src: /src/gnupg/g10/misc.c:1573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1565
    functionDepth: 1
    functionLinenumber: 1565
    functionLinenumberEnd: 1574
    functionName: optlen
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached:
    - strpbrk
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t optlen(const char *s)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/g10/misc.c:1584,1
    - Dst: strcmp
      Src: /src/gnupg/g10/misc.c:1585,1
    - Dst: strcmp
      Src: /src/gnupg/g10/misc.c:1585,1
    - Dst: strlen
      Src: /src/gnupg/g10/misc.c:1594,1
    - Dst: strlen
      Src: /src/gnupg/g10/misc.c:1595,1
    - Dst: es_printf
      Src: /src/gnupg/g10/misc.c:1601,1
    - Dst: strlen
      Src: /src/gnupg/g10/misc.c:1602,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:1602,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:1603,1
    - Dst: es_printf
      Src: /src/gnupg/g10/misc.c:1611,1
    - Dst: strlen
      Src: /src/gnupg/g10/misc.c:1612,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:1613,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/misc.c:1616,1
    - Dst: optsep
      Src: /src/gnupg/g10/misc.c:1619,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/g10/misc.c:1627,1
    - Dst: optlen
      Src: /src/gnupg/g10/misc.c:1635,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/g10/misc.c:1637,1
    - Dst: strlen
      Src: /src/gnupg/g10/misc.c:1640,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/g10/misc.c:1646,1
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:1649,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:1649,1
    - Dst: argsplit
      Src: /src/gnupg/g10/misc.c:1665,1
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:1674,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:1674,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 55
    argCount: 4
    argNames:
    - str
    - options
    - opts
    - noisy
    argTypes:
    - char*
    - unsigned int*
    - struct parse_options*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1578
    functionDepth: 2
    functionLinenumber: 1578
    functionLinenumberEnd: 1680
    functionName: parse_options
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 3
    functionsReached:
    - optlen
    - ascii_strncasecmp
    - strlen
    - argsplit
    - _
    - es_printf
    - strcmp
    - log_info
    - g10_exit
    - optsep
    linkageType: ''
    returnType: int
    signature: "int parse_options(char *str,unsigned int *options,\n\t      struct
      parse_options *opts,int noisy)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/g10/misc.c:1690,1
    - Dst: access
      Src: /src/gnupg/g10/misc.c:1701,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/misc.c:1705,1
    - Dst: strlen
      Src: /src/gnupg/g10/misc.c:1705,1
    - Dst: strlen
      Src: /src/gnupg/g10/misc.c:1705,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/misc.c:1706,1
    - Dst: strsep
      Src: /src/gnupg/g10/misc.c:1710,1
    - Dst: strcpy
      Src: /src/gnupg/g10/misc.c:1712,1
    - Dst: strcat
      Src: /src/gnupg/g10/misc.c:1713,1
    - Dst: strcat
      Src: /src/gnupg/g10/misc.c:1714,1
    - Dst: access
      Src: /src/gnupg/g10/misc.c:1715,1
    - Dst: xfree
      Src: /src/gnupg/g10/misc.c:1720,1
    - Dst: xfree
      Src: /src/gnupg/g10/misc.c:1721,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - file
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1684
    functionDepth: 1
    functionLinenumber: 1684
    functionLinenumberEnd: 1725
    functionName: path_access
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 1
    functionsReached:
    - strlen
    - getenv
    - xmalloc
    - access
    - strcpy
    - xfree
    - xstrdup
    - strsep
    - strcat
    linkageType: ''
    returnType: int
    signature: int path_access(const char *file,int mode)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - algo
    argTypes:
    - pubkey_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1730
    functionDepth: 0
    functionLinenumber: 1730
    functionLinenumberEnd: 1747
    functionName: pubkey_get_npkey
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pubkey_get_npkey (pubkey_algo_t algo)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - algo
    argTypes:
    - pubkey_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1768
    functionName: pubkey_get_nskey
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pubkey_get_nskey (pubkey_algo_t algo)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - algo
    argTypes:
    - pubkey_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1787
    functionName: pubkey_get_nsig
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pubkey_get_nsig (pubkey_algo_t algo)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - algo
    argTypes:
    - pubkey_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1808
    functionName: pubkey_get_nenc
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pubkey_get_nenc (pubkey_algo_t algo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/misc.c:1821,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/misc.c:1828,1
    - Dst: is_RSA
      Src: /src/gnupg/g10/misc.c:1832,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/misc.c:1835,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/g10/misc.c:1843,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/misc.c:1845,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/misc.c:1848,1
    - Dst: xfree
      Src: /src/gnupg/g10/misc.c:1851,1
    - Dst: BUG
      Src: /src/gnupg/g10/misc.c:1858,1
    - Dst: gcry_pk_get_nbits
      Src: /src/gnupg/g10/misc.c:1860,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/misc.c:1861,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 23
    argCount: 2
    argNames:
    - algo
    - key
    argTypes:
    - int
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1812
    functionDepth: 1
    functionLinenumber: 1812
    functionLinenumberEnd: 1863
    functionName: pubkey_nbits
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached:
    - is_RSA
    - gpg_error_from_syserror
    - BUG
    - xfree
    - gcry_sexp_release
    - gcry_pk_get_nbits
    - gcry_sexp_build
    - openpgp_oid_to_str
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int pubkey_nbits( int algo, gcry_mpi_t *key )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/g10/misc.c:1874,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/g10/misc.c:1878,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/misc.c:1879,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/misc.c:1881,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/misc.c:1884,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/misc.c:1886,1
    - Dst: es_write_hexstring
      Src: /src/gnupg/g10/misc.c:1889,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/g10/misc.c:1898,1
    - Dst: BUG
      Src: /src/gnupg/g10/misc.c:1899,1
    - Dst: es_write_hexstring
      Src: /src/gnupg/g10/misc.c:1900,1
    - Dst: gcry_free
      Src: /src/gnupg/g10/misc.c:1902,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - fp
    - a
    - mode
    argTypes:
    - estream_t
    - gcry_mpi_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1867
    functionDepth: 1
    functionLinenumber: 1867
    functionLinenumberEnd: 1905
    functionName: mpi_print
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 3
    functionsReached:
    - gcry_mpi_get_flag
    - gcry_free
    - es_fprintf
    - es_write_hexstring
    - gcry_mpi_aprint
    - BUG
    - gcry_mpi_get_opaque
    - gcry_mpi_get_nbits
    linkageType: ''
    returnType: int
    signature: int mpi_print (estream_t fp, gcry_mpi_t a, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/misc.c:1915,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:1915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - qbits
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1910
    functionDepth: 1
    functionLinenumber: 1910
    functionLinenumberEnd: 1922
    functionName: ecdsa_qbits_from_Q
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached:
    - _
    - log_error
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ecdsa_qbits_from_Q (unsigned int qbits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: string_to_digest_algo
      Src: /src/gnupg/g10/misc.c:1933,1
    - Dst: log_error
      Src: /src/gnupg/g10/misc.c:1937,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:1937,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/misc.c:1947,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - digestname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1929
    functionDepth: 3
    functionLinenumber: 1929
    functionLinenumberEnd: 1952
    functionName: additional_weak_digest
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 1
    functionsReached:
    - xmalloc
    - string_to_digest_algo
    - _
    - log_error
    linkageType: ''
    returnType: void
    signature: void additional_weak_digest (const char* digestname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: map_md_openpgp_to_gcry
      Src: /src/gnupg/g10/misc.c:1959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - algo
    argTypes:
    - digest_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1956
    functionDepth: 1
    functionLinenumber: 1956
    functionLinenumberEnd: 1966
    functionName: is_weak_digest
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 1
    functionsReached:
    - map_md_openpgp_to_gcry
    linkageType: ''
    returnType: int
    signature: int is_weak_digest (digest_algo_t algo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/misc.c:1990,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/misc.c:1991,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/misc.c:1993,1
    - Dst: xfree
      Src: /src/gnupg/g10/misc.c:1995,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/misc.c:1996,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/misc.c:1999,1
    - Dst: xfree
      Src: /src/gnupg/g10/misc.c:2001,1
    - Dst: xfree
      Src: /src/gnupg/g10/misc.c:2002,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/misc.c:2003,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - fname_part
    - fname
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 1985
    functionDepth: 1
    functionLinenumber: 1985
    functionLinenumberEnd: 2009
    functionName: gnupg_register_partial_file
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 0
    functionsReached:
    - xtrystrdup
    - xtrymalloc
    - xfree
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_register_partial_file (const char *fname_part, const
      char *fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_remove
      Src: /src/gnupg/g10/misc.c:2026,1
    - Dst: log_info
      Src: /src/gnupg/g10/misc.c:2028,1
    - Dst: _
      Src: /src/gnupg/g10/misc.c:2028,1
    - Dst: xfree
      Src: /src/gnupg/g10/misc.c:2030,1
    - Dst: xfree
      Src: /src/gnupg/g10/misc.c:2031,1
    - Dst: xfree
      Src: /src/gnupg/g10/misc.c:2032,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2038
      start: 2013
    functionDepth: 1
    functionLinenumber: 2013
    functionLinenumberEnd: 2038
    functionName: gnupg_rollback_partial_file
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 1
    functionsReached:
    - gnupg_remove
    - log_info
    - _
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_rollback_partial_file (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_rename_file
      Src: /src/gnupg/g10/misc.c:2055,1
    - Dst: xfree
      Src: /src/gnupg/g10/misc.c:2057,1
    - Dst: xfree
      Src: /src/gnupg/g10/misc.c:2058,1
    - Dst: xfree
      Src: /src/gnupg/g10/misc.c:2059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2042
    functionDepth: 1
    functionLinenumber: 2042
    functionLinenumberEnd: 2065
    functionName: gnupg_commit_partial_file
    functionSourceFile: /src/gnupg/g10/misc.c
    functionUses: 2
    functionsReached:
    - gnupg_rename_file
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_commit_partial_file (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/g10/getkey.c:158,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/getkey.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 167
    functionName: print_stats
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 3
    functionsReached:
    - DIM
    - es_fprintf
    linkageType: ''
    returnType: void
    signature: void print_stats ()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: is_ELGAMAL
      Src: /src/gnupg/g10/getkey.c:196,1
    - Dst: is_RSA
      Src: /src/gnupg/g10/getkey.c:201,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/getkey.c:203,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:212,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/getkey.c:231,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:232,1
    - Dst: log_assert
      Src: /src/gnupg/g10/getkey.c:236,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/getkey.c:239,1
    - Dst: copy_public_key
      Src: /src/gnupg/g10/getkey.c:242,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 246
    functionName: cache_public_key
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - is_RSA
    - free_public_key
    - log_assert
    - keyid_from_pk
    - is_ELGAMAL
    - xmalloc
    - copy_public_key
    - xfree
    - log_debug
    linkageType: ''
    returnType: void
    signature: void cache_public_key (PKT_public_key * pk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: native_to_utf8
      Src: /src/gnupg/g10/getkey.c:258,1
    - Dst: _
      Src: /src/gnupg/g10/getkey.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: user_id_not_found_utf8
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - native_to_utf8
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      user_id_not_found_utf8 (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_public_key
      Src: /src/gnupg/g10/getkey.c:278,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 287
    functionName: getkey_disable_caches
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - free_public_key
    - xfree
    linkageType: ''
    returnType: void
    signature: void getkey_disable_caches (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:297,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:298,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - keys
    argTypes:
    - pubkey_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 302
    functionName: pubkeys_free
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - release_kbnode
    - xfree
    linkageType: ''
    returnType: void
    signature: void pubkeys_free (pubkey_t keys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/getkey.c:310,1
    - Dst: copy_public_key
      Src: /src/gnupg/g10/getkey.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - pk
    - keyblock
    - found_key
    argTypes:
    - PKT_public_key*
    - kbnode_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 314
    functionName: pk_from_block
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - copy_public_key
    - log_assert
    linkageType: ''
    returnType: void
    signature: void pk_from_block (PKT_public_key *pk, kbnode_t keyblock, kbnode_t
      found_key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: copy_public_key
      Src: /src/gnupg/g10/getkey.c:337,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/getkey.c:350,1
    - Dst: issuer_fpr_raw
      Src: /src/gnupg/g10/getkey.c:354,1
    - Dst: get_pubkey_byfpr
      Src: /src/gnupg/g10/getkey.c:355,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:359,1
    - Dst: get_pubkey_bykid
      Src: /src/gnupg/g10/getkey.c:364,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:367,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 5
    argNames:
    - ctrl
    - pk
    - sig
    - forced_pk
    - r_keyblock
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - PKT_signature*
    - PKT_public_key*
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 371
    functionName: get_pubkey_for_sig
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - get_pubkey_bykid
    - get_pubkey_byfpr
    - issuer_fpr_raw
    - release_kbnode
    - copy_public_key
    - IS_KEY_REV
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_pubkey_for_sig (ctrl_t ctrl, PKT_public_key *pk, PKT_signature
      *sig,\n                    PKT_public_key *forced_pk, kbnode_t *r_keyblock)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: copy_public_key
      Src: /src/gnupg/g10/getkey.c:424,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/getkey.c:435,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/getkey.c:438,1
    - Dst: memset
      Src: /src/gnupg/g10/getkey.c:450,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/g10/getkey.c:458,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/getkey.c:462,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/getkey.c:465,1
    - Dst: lookup
      Src: /src/gnupg/g10/getkey.c:474,1
    - Dst: pk_from_block
      Src: /src/gnupg/g10/getkey.c:476,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/getkey.c:477,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:483,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/getkey.c:487,1
    - Dst: cache_public_key
      Src: /src/gnupg/g10/getkey.c:491,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/getkey.c:493,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 4
    argNames:
    - ctrl
    - pk
    - r_keyblock
    - keyid
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - kbnode_t*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 495
    functionName: get_pubkey_bykid
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 1
    functionsReached:
    - keydb_new
    - free_public_key
    - gpg_error_from_syserror
    - release_kbnode
    - pk_from_block
    - getkey_end
    - gpg_error
    - copy_public_key
    - memset
    - keydb_search_reset
    - xtrycalloc
    - cache_public_key
    - lookup
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_pubkey_bykid (ctrl_t ctrl, PKT_public_key *pk, kbnode_t
      *r_keyblock,\n                  u32 *keyid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_pubkey_bykid
      Src: /src/gnupg/g10/getkey.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - pk
    - keyid
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 503
    functionName: get_pubkey
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 5
    functionsReached:
    - get_pubkey_bykid
    linkageType: ''
    returnType: int
    signature: int get_pubkey (ctrl_t ctrl, PKT_public_key *pk, u32 *keyid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_pubkey
      Src: /src/gnupg/g10/getkey.c:514,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:518,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:524,1
    - Dst: keyserver_import_keyid
      Src: /src/gnupg/g10/getkey.c:525,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:527,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:528,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/getkey.c:533,1
    - Dst: get_pubkey
      Src: /src/gnupg/g10/getkey.c:538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - ctrl
    - pk
    - keyid
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 539
    functionName: get_pubkey_with_ldap_fallback
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - get_pubkey
    - gpg_error
    - gpg_err_code
    - keyserver_import_keyid
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_pubkey_with_ldap_fallback (ctrl_t ctrl, PKT_public_key
      *pk, u32 *keyid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/getkey.c:560,1
    - Dst: copy_public_key
      Src: /src/gnupg/g10/getkey.c:574,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/getkey.c:581,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/getkey.c:583,1
    - Dst: keydb_search_kid
      Src: /src/gnupg/g10/getkey.c:584,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:585,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/getkey.c:587,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/getkey.c:590,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/getkey.c:591,1
    - Dst: log_error
      Src: /src/gnupg/g10/getkey.c:594,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/getkey.c:594,1
    - Dst: log_assert
      Src: /src/gnupg/g10/getkey.c:598,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/getkey.c:603,1
    - Dst: copy_public_key
      Src: /src/gnupg/g10/getkey.c:605,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:609,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - ctrl
    - pk
    - keyid
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 615
    functionName: get_pubkey_fast
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 1
    functionsReached:
    - keydb_new
    - keydb_search_kid
    - gpg_error_from_syserror
    - log_assert
    - log_error
    - release_kbnode
    - keyid_from_pk
    - copy_public_key
    - gpg_err_code
    - gpg_strerror
    - keydb_release
    - keydb_get_keyblock
    linkageType: ''
    returnType: int
    signature: int get_pubkey_fast (ctrl_t ctrl, PKT_public_key * pk, u32 * keyid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/getkey.c:631,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/getkey.c:634,1
    - Dst: lookup
      Src: /src/gnupg/g10/getkey.c:642,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/getkey.c:643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - ctrl
    - keyid
    - flags
    argTypes:
    - ctrl_t
    - u32*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 646
    functionName: get_pubkeyblock_ext
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - keydb_new
    - memset
    - getkey_end
    - lookup
    linkageType: ''
    returnType: kbnode_t
    signature: kbnode_t get_pubkeyblock_ext (ctrl_t ctrl, u32 * keyid, unsigned int
      flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_pubkeyblock_ext
      Src: /src/gnupg/g10/getkey.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctrl
    - keyid
    argTypes:
    - ctrl_t
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 653
    functionName: get_pubkeyblock
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 2
    functionsReached:
    - get_pubkeyblock_ext
    linkageType: ''
    returnType: kbnode_t
    signature: kbnode_t get_pubkeyblock (ctrl_t ctrl, u32 * keyid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/getkey.c:680,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/getkey.c:683,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/getkey.c:685,1
    - Dst: lookup
      Src: /src/gnupg/g10/getkey.c:691,1
    - Dst: pk_from_block
      Src: /src/gnupg/g10/getkey.c:694,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/getkey.c:696,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:697,1
    - Dst: agent_probe_secret_key
      Src: /src/gnupg/g10/getkey.c:701,1
    - Dst: release_public_key_parts
      Src: /src/gnupg/g10/getkey.c:703,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/getkey.c:704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - ctrl
    - pk
    - keyid
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 709
    functionName: get_seckey
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - keydb_new
    - gpg_error_from_syserror
    - release_kbnode
    - pk_from_block
    - getkey_end
    - gpg_error
    - memset
    - agent_probe_secret_key
    - release_public_key_parts
    - lookup
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_seckey (ctrl_t ctrl, PKT_public_key *pk, u32 *keyid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_pubkeyblock
      Src: /src/gnupg/g10/getkey.c:722,1
    - Dst: log_error
      Src: /src/gnupg/g10/getkey.c:725,1
    - Dst: keystr
      Src: /src/gnupg/g10/getkey.c:725,1
    - Dst: log_assert
      Src: /src/gnupg/g10/getkey.c:761,1
    - Dst: pk_is_disabled
      Src: /src/gnupg/g10/getkey.c:765,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:768,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 3
    argNames:
    - opaque
    - keyid
    - uid_no
    argTypes:
    - void*
    - u32*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 714
    functionDepth: 3
    functionLinenumber: 714
    functionLinenumberEnd: 770
    functionName: skip_unusable
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - log_assert
    - log_error
    - release_kbnode
    - get_pubkeyblock
    - pk_is_disabled
    - keystr
    linkageType: ''
    returnType: int
    signature: int skip_unusable (void *opaque, u32 * keyid, int uid_no)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/getkey.c:836,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/getkey.c:846,1
    - Dst: expand_group
      Src: /src/gnupg/g10/getkey.c:857,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/getkey.c:867,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/getkey.c:874,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:880,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:881,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/getkey.c:897,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/getkey.c:900,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/getkey.c:901,1
    - Dst: keydb_lock
      Src: /src/gnupg/g10/getkey.c:909,1
    - Dst: lookup
      Src: /src/gnupg/g10/getkey.c:922,1
    - Dst: pk_from_block
      Src: /src/gnupg/g10/getkey.c:925,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:928,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/getkey.c:950,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/getkey.c:954,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 81
    argCount: 7
    argNames:
    - ctrl
    - retctx
    - namelist
    - pk
    - flags
    - ret_kb
    - ret_kdbhd
    argTypes:
    - ctrl_t
    - GETKEY_CTX*
    - strlist_t
    - PKT_public_key*
    - unsigned int
    - kbnode_t*
    - KEYDB_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 956
    functionName: key_byname
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 5
    functionsReached:
    - keydb_new
    - expand_group
    - log_assert
    - gpg_error_from_syserror
    - release_kbnode
    - pk_from_block
    - getkey_end
    - classify_user_id
    - xfree
    - gpg_err_code
    - keydb_lock
    - xmalloc_clear
    - lookup
    - free_strlist
    linkageType: ''
    returnType: int
    signature: "int key_byname (ctrl_t ctrl, GETKEY_CTX *retctx, strlist_t namelist,\n\t
      \   PKT_public_key *pk, unsigned int flags,\n\t    kbnode_t *ret_kb, KEYDB_HANDLE
      *ret_kdbhd)"
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/getkey.c:1032,1
    - Dst: is_valid_mailbox
      Src: /src/gnupg/g10/getkey.c:1038,1
    - Dst: strlen
      Src: /src/gnupg/g10/getkey.c:1039,1
    - Dst: is_valid_mailbox_mem
      Src: /src/gnupg/g10/getkey.c:1041,1
    - Dst: strlen
      Src: /src/gnupg/g10/getkey.c:1041,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/getkey.c:1058,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/getkey.c:1139,1
    - Dst: key_byname
      Src: /src/gnupg/g10/getkey.c:1140,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:1147,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/getkey.c:1186,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/getkey.c:1189,1
    - Dst: key_byname
      Src: /src/gnupg/g10/getkey.c:1190,1
    - Dst: keyserver_import_cert
      Src: /src/gnupg/g10/getkey.c:1207,1
    - Dst: keyserver_import_cert
      Src: /src/gnupg/g10/getkey.c:1227,1
    - Dst: keyserver_import_wkd
      Src: /src/gnupg/g10/getkey.c:1242,1
    - Dst: keyserver_any_configured
      Src: /src/gnupg/g10/getkey.c:1248,1
    - Dst: keyserver_import_fpr
      Src: /src/gnupg/g10/getkey.c:1258,1
    - Dst: keyserver_import_mbox
      Src: /src/gnupg/g10/getkey.c:1263,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:1270,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:1271,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/getkey.c:1272,1
    - Dst: keyserver_import_fpr_ntds
      Src: /src/gnupg/g10/getkey.c:1281,1
    - Dst: keyserver_import_ntds
      Src: /src/gnupg/g10/getkey.c:1284,1
    - Dst: keyserver_any_configured
      Src: /src/gnupg/g10/getkey.c:1293,1
    - Dst: keyserver_import_fpr
      Src: /src/gnupg/g10/getkey.c:1299,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:1307,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:1308,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/getkey.c:1309,1
    - Dst: keyserver_import_mbox
      Src: /src/gnupg/g10/getkey.c:1313,1
    - Dst: keyserver_match
      Src: /src/gnupg/g10/getkey.c:1330,1
    - Dst: keyserver_import_fpr
      Src: /src/gnupg/g10/getkey.c:1334,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:1338,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:1339,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/getkey.c:1340,1
    - Dst: keyserver_import_mbox
      Src: /src/gnupg/g10/getkey.c:1344,1
    - Dst: log_assert
      Src: /src/gnupg/g10/getkey.c:1365,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/getkey.c:1366,1
    - Dst: log_assert
      Src: /src/gnupg/g10/getkey.c:1370,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/getkey.c:1371,1
    - Dst: log_info
      Src: /src/gnupg/g10/getkey.c:1375,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/getkey.c:1378,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/getkey.c:1380,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:1388,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/getkey.c:1398,1
    - Dst: key_byname
      Src: /src/gnupg/g10/getkey.c:1401,1
    - Dst: log_info
      Src: /src/gnupg/g10/getkey.c:1410,1
    - Dst: _
      Src: /src/gnupg/g10/getkey.c:1410,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:1414,1
    - Dst: log_info
      Src: /src/gnupg/g10/getkey.c:1416,1
    - Dst: _
      Src: /src/gnupg/g10/getkey.c:1416,1
    - Dst: _
      Src: /src/gnupg/g10/getkey.c:1418,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/getkey.c:1418,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/getkey.c:1424,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/getkey.c:1444,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 209
    argCount: 8
    argNames:
    - ctrl
    - mode
    - retctx
    - pk
    - name
    - ret_keyblock
    - ret_kdbhd
    - include_unusable
    argTypes:
    - ctrl_t
    - enum get_pubkey_modes
    - GETKEY_CTX*
    - PKT_public_key*
    - char*
    - KBNODE*
    - KEYDB_HANDLE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1015
    functionDepth: 3
    functionLinenumber: 1015
    functionLinenumberEnd: 1447
    functionName: get_pubkey_byname
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 1
    functionsReached:
    - strlen
    - log_assert
    - keyserver_any_configured
    - _
    - log_info
    - keyserver_import_wkd
    - keyserver_match
    - free_strlist
    - keyserver_import_fpr_ntds
    - keyserver_import_ntds
    - is_valid_mailbox_mem
    - keyserver_import_fpr
    - keyserver_import_cert
    - gpg_error
    - xfree
    - gpg_strerror
    - bin2hex
    - getkey_end
    - add_to_strlist
    - keyserver_import_mbox
    - classify_user_id
    - gpg_err_code
    - is_valid_mailbox
    - key_byname
    linkageType: ''
    returnType: int
    signature: "int get_pubkey_byname (ctrl_t ctrl, enum get_pubkey_modes mode,\n
      \                  GETKEY_CTX * retctx, PKT_public_key * pk,\n\t\t   const char
      *name, KBNODE * ret_keyblock,\n\t\t   KEYDB_HANDLE * ret_kdbhd, int include_unusable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1473
    functionName: key_is_ok
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int key_is_ok (const PKT_public_key *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_is_ok
      Src: /src/gnupg/g10/getkey.c:1479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - key
    - uid
    argTypes:
    - PKT_public_key*
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1480
    functionName: uid_is_ok
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - key_is_ok
    linkageType: ''
    returnType: int
    signature: int uid_is_ok (const PKT_public_key *key, const PKT_user_id *uid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sub
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1487
    functionName: subkey_is_ok
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int subkey_is_ok (const PKT_public_key *sub)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/getkey.c:1499,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/getkey.c:1500,1
    - Dst: subkey_is_ok
      Src: /src/gnupg/g10/getkey.c:1507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - keyblock
    argTypes:
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1492
    functionDepth: 1
    functionLinenumber: 1492
    functionLinenumberEnd: 1516
    functionName: only_expired_enc_subkeys
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - find_next_kbnode
    - subkey_is_ok
    linkageType: ''
    returnType: int
    signature: int only_expired_enc_subkeys (kbnode_t keyblock)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: key::key
      Src: /src/gnupg/g10/getkey.c:1527,1
    - Dst: key::key
      Src: /src/gnupg/g10/getkey.c:1530,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/getkey.c:1532,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/getkey.c:1533,1
    - Dst: subkey_is_ok
      Src: /src/gnupg/g10/getkey.c:1540,1
    - Dst: creation_time::creation_time
      Src: /src/gnupg/g10/getkey.c:1543,1
    - Dst: creation_time::creation_time
      Src: /src/gnupg/g10/getkey.c:1548,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/getkey.c:1551,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/getkey.c:1552,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/g10/getkey.c:1555,1
    - Dst: strcasecmp
      Src: /src/gnupg/g10/getkey.c:1556,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:1558,1
    - Dst: scopy_user_id
      Src: /src/gnupg/g10/getkey.c:1562,1
    - Dst: get_validity
      Src: /src/gnupg/g10/getkey.c:1564,1
    - Dst: key::key
      Src: /src/gnupg/g10/getkey.c:1564,1
    - Dst: uid_is_ok
      Src: /src/gnupg/g10/getkey.c:1570,1
    - Dst: uid_is_ok
      Src: /src/gnupg/g10/getkey.c:1570,1
    - Dst: key::key
      Src: /src/gnupg/g10/getkey.c:1570,1
    - Dst: validity::validity
      Src: /src/gnupg/g10/getkey.c:1573,1
    - Dst: validity::validity
      Src: /src/gnupg/g10/getkey.c:1573,1
    - Dst: validity::validity
      Src: /src/gnupg/g10/getkey.c:1575,1
    - Dst: validity::validity
      Src: /src/gnupg/g10/getkey.c:1578,1
    - Dst: uid_is_ok
      Src: /src/gnupg/g10/getkey.c:1578,1
    - Dst: key::key
      Src: /src/gnupg/g10/getkey.c:1578,1
    - Dst: creation_time::creation_time
      Src: /src/gnupg/g10/getkey.c:1579,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 33
    argCount: 5
    argNames:
    - ctrl
    - name
    - old
    - new
    - new_keyblock
    argTypes:
    - ctrl_t
    - char*
    - struct pubkey_cmp_cookie*
    - struct pubkey_cmp_cookie*
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1521
    functionDepth: 2
    functionLinenumber: 1521
    functionLinenumberEnd: 1586
    functionName: pubkey_cmp
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - find_next_kbnode
    - validity::validity
    - subkey_is_ok
    - scopy_user_id
    - key::key
    - xfree
    - uid_is_ok
    - get_validity
    - strcasecmp
    - mailbox_from_userid
    - creation_time::creation_time
    linkageType: ''
    returnType: int
    signature: "int pubkey_cmp (ctrl_t ctrl, const char *name, struct pubkey_cmp_cookie
      *old,\n            struct pubkey_cmp_cookie *new, KBNODE new_keyblock)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/getkey.c:1604,1
    - Dst: memset
      Src: /src/gnupg/g10/getkey.c:1609,1
    - Dst: is_valid_mailbox
      Src: /src/gnupg/g10/getkey.c:1612,1
    - Dst: strlen
      Src: /src/gnupg/g10/getkey.c:1613,1
    - Dst: is_valid_mailbox_mem
      Src: /src/gnupg/g10/getkey.c:1615,1
    - Dst: strlen
      Src: /src/gnupg/g10/getkey.c:1615,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:1627,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/getkey.c:1629,1
    - Dst: get_pubkey_byname
      Src: /src/gnupg/g10/getkey.c:1632,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/getkey.c:1645,1
    - Dst: only_expired_enc_subkeys
      Src: /src/gnupg/g10/getkey.c:1657,1
    - Dst: log_info
      Src: /src/gnupg/g10/getkey.c:1660,1
    - Dst: _
      Src: /src/gnupg/g10/getkey.c:1660,1
    - Dst: keyserver_import_wkd
      Src: /src/gnupg/g10/getkey.c:1664,1
    - Dst: release_public_key_parts
      Src: /src/gnupg/g10/getkey.c:1668,1
    - Dst: copy_public_key
      Src: /src/gnupg/g10/getkey.c:1681,1
    - Dst: key::key
      Src: /src/gnupg/g10/getkey.c:1681,1
    - Dst: pubkey_cmp
      Src: /src/gnupg/g10/getkey.c:1682,1
    - Dst: release_public_key_parts
      Src: /src/gnupg/g10/getkey.c:1684,1
    - Dst: key::key
      Src: /src/gnupg/g10/getkey.c:1684,1
    - Dst: free_user_id
      Src: /src/gnupg/g10/getkey.c:1685,1
    - Dst: getkey_next
      Src: /src/gnupg/g10/getkey.c:1691,1
    - Dst: key::key
      Src: /src/gnupg/g10/getkey.c:1691,1
    - Dst: pubkey_cmp
      Src: /src/gnupg/g10/getkey.c:1693,1
    - Dst: new_keyblock::new_keyblock
      Src: /src/gnupg/g10/getkey.c:1693,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:1694,1
    - Dst: release_public_key_parts
      Src: /src/gnupg/g10/getkey.c:1698,1
    - Dst: free_user_id
      Src: /src/gnupg/g10/getkey.c:1699,1
    - Dst: release_public_key_parts
      Src: /src/gnupg/g10/getkey.c:1705,1
    - Dst: key::key
      Src: /src/gnupg/g10/getkey.c:1705,1
    - Dst: free_user_id
      Src: /src/gnupg/g10/getkey.c:1706,1
    - Dst: release_public_key_parts
      Src: /src/gnupg/g10/getkey.c:1711,1
    - Dst: key::key
      Src: /src/gnupg/g10/getkey.c:1711,1
    - Dst: free_user_id
      Src: /src/gnupg/g10/getkey.c:1712,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/getkey.c:1717,1
    - Dst: free_user_id
      Src: /src/gnupg/g10/getkey.c:1719,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/getkey.c:1724,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/getkey.c:1726,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/getkey.c:1729,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/getkey.c:1732,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:1733,1
    - Dst: pk_keyid
      Src: /src/gnupg/g10/getkey.c:1740,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:1747,1
    - Dst: getkey_next
      Src: /src/gnupg/g10/getkey.c:1749,1
    - Dst: release_public_key_parts
      Src: /src/gnupg/g10/getkey.c:1756,1
    - Dst: release_public_key_parts
      Src: /src/gnupg/g10/getkey.c:1757,1
    - Dst: release_public_key_parts
      Src: /src/gnupg/g10/getkey.c:1764,1
    - Dst: release_public_key_parts
      Src: /src/gnupg/g10/getkey.c:1772,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/getkey.c:1777,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/getkey.c:1788,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 114
    argCount: 7
    argNames:
    - ctrl
    - mode
    - retctx
    - pk
    - name
    - ret_keyblock
    - include_unusable
    argTypes:
    - ctrl_t
    - enum get_pubkey_modes
    - GETKEY_CTX*
    - PKT_public_key*
    - char*
    - KBNODE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1592
    functionDepth: 4
    functionLinenumber: 1592
    functionLinenumberEnd: 1790
    functionName: get_best_pubkey_byname
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 2
    functionsReached:
    - get_pubkey_byname
    - strlen
    - log_assert
    - only_expired_enc_subkeys
    - pubkey_cmp
    - keydb_new
    - _
    - copy_public_key
    - log_info
    - keyserver_import_wkd
    - release_public_key_parts
    - is_valid_mailbox_mem
    - gpg_error_from_syserror
    - free_user_id
    - memset
    - getkey_next
    - xfree
    - xtrycalloc
    - new_keyblock::new_keyblock
    - release_kbnode
    - getkey_end
    - make_timestamp
    - key::key
    - is_valid_mailbox
    - pk_keyid
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_best_pubkey_byname (ctrl_t ctrl, enum get_pubkey_modes
      mode,\n                        GETKEY_CTX *retctx, PKT_public_key *pk,\n                        const
      char *name, KBNODE *ret_keyblock,\n                        int include_unusable)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read_key_from_file_or_buffer
      Src: /src/gnupg/g10/getkey.c:1827,1
    - Dst: merge_selfsigs
      Src: /src/gnupg/g10/getkey.c:1832,1
    - Dst: finish_lookup
      Src: /src/gnupg/g10/getkey.c:1833,1
    - Dst: print_status_key_considered
      Src: /src/gnupg/g10/getkey.c:1834,1
    - Dst: pk_from_block
      Src: /src/gnupg/g10/getkey.c:1836,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/getkey.c:1838,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:1844,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - ctrl
    - pk
    - fname
    - r_keyblock
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - char*
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1815
    functionDepth: 2
    functionLinenumber: 1815
    functionLinenumberEnd: 1846
    functionName: get_pubkey_fromfile
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 1
    functionsReached:
    - print_status_key_considered
    - release_kbnode
    - pk_from_block
    - finish_lookup
    - gpg_error
    - read_key_from_file_or_buffer
    - merge_selfsigs
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_pubkey_fromfile (ctrl_t ctrl, PKT_public_key *pk,
      const char *fname,\n                     kbnode_t *r_keyblock)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read_key_from_file_or_buffer
      Src: /src/gnupg/g10/getkey.c:1869,1
    - Dst: merge_selfsigs
      Src: /src/gnupg/g10/getkey.c:1872,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/getkey.c:1879,1
    - Dst: copy_public_key
      Src: /src/gnupg/g10/getkey.c:1886,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/getkey.c:1888,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:1894,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 6
    argNames:
    - ctrl
    - pkbuf
    - buffer
    - buflen
    - want_keyid
    - r_keyblock
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - void*
    - size_t
    - u32*
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1856
    functionDepth: 2
    functionLinenumber: 1856
    functionLinenumberEnd: 1896
    functionName: get_pubkey_from_buffer
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 1
    functionsReached:
    - release_kbnode
    - keyid_from_pk
    - gpg_error
    - copy_public_key
    - read_key_from_file_or_buffer
    - merge_selfsigs
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_pubkey_from_buffer (ctrl_t ctrl, PKT_public_key *pkbuf,\n
      \                       const void *buffer, size_t buflen, u32 *want_keyid,\n
      \                       kbnode_t *r_keyblock)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/getkey.c:1942,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/getkey.c:1947,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/getkey.c:1949,1
    - Dst: memcpy
      Src: /src/gnupg/g10/getkey.c:1953,1
    - Dst: lookup
      Src: /src/gnupg/g10/getkey.c:1957,1
    - Dst: pk_from_block
      Src: /src/gnupg/g10/getkey.c:1959,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:1965,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/getkey.c:1966,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 5
    argNames:
    - ctrl
    - pk
    - r_keyblock
    - fpr
    - fprlen
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - kbnode_t*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1927
    functionDepth: 2
    functionLinenumber: 1927
    functionLinenumberEnd: 1971
    functionName: get_pubkey_byfpr
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 2
    functionsReached:
    - keydb_new
    - gpg_error_from_syserror
    - release_kbnode
    - pk_from_block
    - getkey_end
    - memset
    - memcpy
    - lookup
    linkageType: ''
    returnType: int
    signature: "int get_pubkey_byfpr (ctrl_t ctrl, PKT_public_key *pk, kbnode_t *r_keyblock,\n\t\t
      \ const byte *fpr, size_t fprlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_keyblock_byfpr_fast
      Src: /src/gnupg/g10/getkey.c:1991,1
    - Dst: copy_public_key
      Src: /src/gnupg/g10/getkey.c:1995,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:1996,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ctrl
    - pk
    - fpr
    - fprlen
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1984
    functionDepth: 2
    functionLinenumber: 1984
    functionLinenumberEnd: 2000
    functionName: get_pubkey_byfpr_fast
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - release_kbnode
    - get_keyblock_byfpr_fast
    - copy_public_key
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_pubkey_byfpr_fast (ctrl_t ctrl, PKT_public_key * pk,\n\t\t
      \      const byte *fpr, size_t fprlen)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: keydb_new
      Src: /src/gnupg/g10/getkey.c:2034,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/getkey.c:2036,1
    - Dst: keydb_lock
      Src: /src/gnupg/g10/getkey.c:2040,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/getkey.c:2046,1
    - Dst: keydb_disable_caching
      Src: /src/gnupg/g10/getkey.c:2049,1
    - Dst: keydb_search_fpr
      Src: /src/gnupg/g10/getkey.c:2057,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:2058,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/getkey.c:2061,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/getkey.c:2062,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/getkey.c:2064,1
    - Dst: log_error
      Src: /src/gnupg/g10/getkey.c:2067,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/getkey.c:2067,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/getkey.c:2069,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/getkey.c:2070,1
    - Dst: log_assert
      Src: /src/gnupg/g10/getkey.c:2073,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/getkey.c:2078,1
    - Dst: memcmp
      Src: /src/gnupg/g10/getkey.c:2079,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:2081,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:2093,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/getkey.c:2096,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 7
    argNames:
    - ctrl
    - r_keyblock
    - r_hd
    - primary_only
    - fpr
    - fprlen
    - lock
    argTypes:
    - ctrl_t
    - kbnode_t*
    - KEYDB_HANDLE*
    - int
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2012
    functionDepth: 2
    functionLinenumber: 2012
    functionLinenumberEnd: 2099
    functionName: get_keyblock_byfpr_fast
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 1
    functionsReached:
    - keydb_new
    - fingerprint_from_pk
    - gpg_error_from_syserror
    - log_error
    - log_assert
    - release_kbnode
    - keydb_disable_caching
    - keydb_search_fpr
    - gpg_error
    - memcmp
    - gpg_err_code
    - gpg_strerror
    - keydb_release
    - keydb_lock
    - keydb_get_keyblock
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_keyblock_byfpr_fast (ctrl_t ctrl,\n                         kbnode_t
      *r_keyblock, KEYDB_HANDLE *r_hd,\n                         int primary_only,\n
      \                        const byte *fpr, size_t fprlen, int lock)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: classify_user_id
      Src: /src/gnupg/g10/getkey.c:2117,1
    - Dst: log_error
      Src: /src/gnupg/g10/getkey.c:2120,1
    - Dst: _
      Src: /src/gnupg/g10/getkey.c:2120,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/getkey.c:2121,1
    - Dst: log_info
      Src: /src/gnupg/g10/getkey.c:2123,1
    - Dst: _
      Src: /src/gnupg/g10/getkey.c:2123,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/getkey.c:2129,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/g10/getkey.c:2134,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/getkey.c:2137,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:2138,1
    - Dst: log_error
      Src: /src/gnupg/g10/getkey.c:2143,1
    - Dst: _
      Src: /src/gnupg/g10/getkey.c:2143,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/getkey.c:2143,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/getkey.c:2148,1
    - Dst: log_error
      Src: /src/gnupg/g10/getkey.c:2151,1
    - Dst: _
      Src: /src/gnupg/g10/getkey.c:2151,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/getkey.c:2152,1
    - Dst: merge_selfsigs
      Src: /src/gnupg/g10/getkey.c:2156,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/getkey.c:2159,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:2170,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/getkey.c:2171,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:2178,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/getkey.c:2179,1
    - Dst: pk_is_disabled
      Src: /src/gnupg/g10/getkey.c:2182,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:2186,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/getkey.c:2187,1
    - Dst: agent_probe_secret_key
      Src: /src/gnupg/g10/getkey.c:2191,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/getkey.c:2198,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:2200,1
    - Dst: log_info
      Src: /src/gnupg/g10/getkey.c:2218,1
    - Dst: _
      Src: /src/gnupg/g10/getkey.c:2218,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/getkey.c:2219,1
    - Dst: print_reported_error
      Src: /src/gnupg/g10/getkey.c:2220,1
    - Dst: log_info
      Src: /src/gnupg/g10/getkey.c:2226,1
    - Dst: _
      Src: /src/gnupg/g10/getkey.c:2226,1
    - Dst: log_info
      Src: /src/gnupg/g10/getkey.c:2233,1
    - Dst: _
      Src: /src/gnupg/g10/getkey.c:2233,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/getkey.c:2239,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 83
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2244
      start: 2102
    functionDepth: 2
    functionLinenumber: 2102
    functionLinenumberEnd: 2244
    functionName: parse_def_secret_key
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 2
    functionsReached:
    - pk_is_disabled
    - keydb_search_reset
    - print_reported_error
    - keydb_new
    - log_error
    - _
    - log_info
    - keydb_get_keyblock
    - log_debug
    - merge_selfsigs
    - keydb_search
    - keystr_from_pk
    - gpg_error
    - gpg_strerror
    - find_next_kbnode
    - release_kbnode
    - classify_user_id
    - gpg_err_code
    - agent_probe_secret_key
    - keydb_release
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_def_secret_key (ctrl_t ctrl)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_def_secret_key
      Src: /src/gnupg/g10/getkey.c:2278,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/getkey.c:2280,1
    - Dst: key_byname
      Src: /src/gnupg/g10/getkey.c:2284,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/getkey.c:2286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctrl
    - pk
    argTypes:
    - ctrl_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2270
    functionDepth: 3
    functionLinenumber: 2270
    functionLinenumberEnd: 2289
    functionName: get_seckey_default
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 1
    functionsReached:
    - free_strlist
    - parse_def_secret_key
    - key_byname
    - add_to_strlist
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_seckey_default (ctrl_t ctrl, PKT_public_key *pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_byname
      Src: /src/gnupg/g10/getkey.c:2333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctrl
    - retctx
    - pk
    - names
    - flags
    - ret_keyblock
    argTypes:
    - ctrl_t
    - getkey_ctx_t*
    - PKT_public_key*
    - strlist_t
    - unsigned int
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2336
      start: 2329
    functionDepth: 3
    functionLinenumber: 2329
    functionLinenumberEnd: 2336
    functionName: getkey_bynames
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 2
    functionsReached:
    - key_byname
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t getkey_bynames (ctrl_t ctrl, getkey_ctx_t *retctx, PKT_public_key
      *pk,\n                strlist_t names, unsigned int flags, kbnode_t *ret_keyblock)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parse_def_secret_key
      Src: /src/gnupg/g10/getkey.c:2392,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/getkey.c:2395,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/getkey.c:2397,1
    - Dst: key_byname
      Src: /src/gnupg/g10/getkey.c:2401,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/getkey.c:2406,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 6
    argNames:
    - ctrl
    - retctx
    - pk
    - name
    - want_secret
    - ret_keyblock
    argTypes:
    - ctrl_t
    - getkey_ctx_t*
    - PKT_public_key*
    - char*
    - int
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2379
    functionDepth: 3
    functionLinenumber: 2379
    functionLinenumberEnd: 2409
    functionName: getkey_byname
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 2
    functionsReached:
    - free_strlist
    - parse_def_secret_key
    - key_byname
    - add_to_strlist
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t getkey_byname (ctrl_t ctrl, getkey_ctx_t *retctx, PKT_public_key
      *pk,\n               const char *name, int want_secret, kbnode_t *ret_keyblock)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: keydb_disable_caching
      Src: /src/gnupg/g10/getkey.c:2440,1
    - Dst: lookup
      Src: /src/gnupg/g10/getkey.c:2448,1
    - Dst: log_assert
      Src: /src/gnupg/g10/getkey.c:2452,1
    - Dst: pk_from_block
      Src: /src/gnupg/g10/getkey.c:2453,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:2454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ctrl
    - ctx
    - pk
    - ret_keyblock
    argTypes:
    - ctrl_t
    - getkey_ctx_t
    - PKT_public_key*
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2428
    functionDepth: 2
    functionLinenumber: 2428
    functionLinenumberEnd: 2458
    functionName: getkey_next
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 4
    functionsReached:
    - log_assert
    - release_kbnode
    - pk_from_block
    - keydb_disable_caching
    - lookup
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t getkey_next (ctrl_t ctrl, getkey_ctx_t ctx,\n             PKT_public_key
      *pk, kbnode_t *ret_keyblock)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: keydb_release
      Src: /src/gnupg/g10/getkey.c:2478,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/getkey.c:2485,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/getkey.c:2489,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:2491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctrl
    - ctx
    argTypes:
    - ctrl_t
    - getkey_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2493
      start: 2463
    functionDepth: 1
    functionLinenumber: 2463
    functionLinenumberEnd: 2493
    functionName: getkey_end
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 10
    functionsReached:
    - xfree
    - free_strlist
    - keydb_release
    linkageType: ''
    returnType: void
    signature: void getkey_end (ctrl_t ctrl, getkey_ctx_t ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/gnupg/g10/getkey.c:2513,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/getkey.c:2516,1
    - Dst: walk_kbnode
      Src: /src/gnupg/g10/getkey.c:2517,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/getkey.c:2523,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - keyblock
    argTypes:
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2530
      start: 2505
    functionDepth: 2
    functionLinenumber: 2505
    functionLinenumberEnd: 2530
    functionName: setup_main_keyids
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - walk_kbnode
    - keyid_from_pk
    - BUG
    linkageType: ''
    returnType: void
    signature: void setup_main_keyids (kbnode_t keyblock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: merge_selfsigs
      Src: /src/gnupg/g10/getkey.c:2546,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:2548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctrl
    - keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2540
    functionDepth: 1
    functionLinenumber: 2540
    functionLinenumberEnd: 2549
    functionName: merge_keys_and_selfsig
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 4
    functionsReached:
    - log_debug
    - merge_selfsigs
    linkageType: ''
    returnType: void
    signature: void merge_keys_and_selfsig (ctrl_t ctrl, kbnode_t keyblock)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/getkey.c:2561,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - sig
    argTypes:
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2628
      start: 2553
    functionDepth: 1
    functionLinenumber: 2553
    functionLinenumberEnd: 2628
    functionName: parse_key_usage
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - parse_sig_subpkt
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int parse_key_usage (PKT_signature * sig)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IS_UID_REV
      Src: /src/gnupg/g10/getkey.c:2650,1
    - Dst: parse_key_usage
      Src: /src/gnupg/g10/getkey.c:2674,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/getkey.c:2677,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/getkey.c:2678,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/getkey.c:2679,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/getkey.c:2686,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/getkey.c:2698,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/getkey.c:2701,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/getkey.c:2704,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/getkey.c:2707,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:2711,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/getkey.c:2717,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/getkey.c:2745,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/getkey.c:2751,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/getkey.c:2757,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 3
    argNames:
    - uidnode
    - signode
    - keycreated
    argTypes:
    - KBNODE
    - KBNODE
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2760
      start: 2640
    functionDepth: 2
    functionLinenumber: 2640
    functionLinenumberEnd: 2760
    functionName: fixup_uidnode
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - parse_sig_subpkt
    - IS_UID_REV
    - xmalloc
    - parse_key_usage
    - xfree
    - buf32_to_u32
    linkageType: ''
    returnType: void
    signature: void fixup_uidnode (KBNODE uidnode, KBNODE signode, u32 keycreated)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:2775,1
    - Dst: enum_sig_subpkt
      Src: /src/gnupg/g10/getkey.c:2781,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/getkey.c:2793,1
    - Dst: memcpy
      Src: /src/gnupg/g10/getkey.c:2794,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - sig
    - rinfo
    argTypes:
    - PKT_signature*
    - struct revoke_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2798
      start: 2764
    functionDepth: 1
    functionLinenumber: 2764
    functionLinenumberEnd: 2798
    functionName: sig_to_revoke_info
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - enum_sig_subpkt
    - xmalloc
    - xfree
    - memcpy
    linkageType: ''
    returnType: void
    signature: void sig_to_revoke_info (PKT_signature * sig, struct revoke_info *rinfo)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: make_timestamp
      Src: /src/gnupg/g10/getkey.c:2838,1
    - Dst: memset
      Src: /src/gnupg/g10/getkey.c:2846,1
    - Dst: BUG
      Src: /src/gnupg/g10/getkey.c:2859,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/getkey.c:2863,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:2892,1
    - Dst: check_key_signature
      Src: /src/gnupg/g10/getkey.c:2914,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/getkey.c:2916,1
    - Dst: sig_to_revoke_info
      Src: /src/gnupg/g10/getkey.c:2928,1
    - Dst: IS_KEY_SIG
      Src: /src/gnupg/g10/getkey.c:2930,1
    - Dst: xrealloc
      Src: /src/gnupg/g10/getkey.c:2943,1
    - Dst: memcpy
      Src: /src/gnupg/g10/getkey.c:2954,1
    - Dst: memset
      Src: /src/gnupg/g10/getkey.c:2956,1
    - Dst: memcmp
      Src: /src/gnupg/g10/getkey.c:2992,1
    - Dst: xrealloc
      Src: /src/gnupg/g10/getkey.c:3008,1
    - Dst: parse_key_usage
      Src: /src/gnupg/g10/getkey.c:3022,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/getkey.c:3024,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/getkey.c:3025,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/getkey.c:3027,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/getkey.c:3048,1
    - Dst: check_revocation_keys
      Src: /src/gnupg/g10/getkey.c:3051,1
    - Dst: sig_to_revoke_info
      Src: /src/gnupg/g10/getkey.c:3055,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:3060,1
    - Dst: fixup_uidnode
      Src: /src/gnupg/g10/getkey.c:3091,1
    - Dst: check_key_signature
      Src: /src/gnupg/g10/getkey.c:3110,1
    - Dst: IS_UID_SIG
      Src: /src/gnupg/g10/getkey.c:3112,1
    - Dst: IS_UID_REV
      Src: /src/gnupg/g10/getkey.c:3112,1
    - Dst: fixup_uidnode
      Src: /src/gnupg/g10/getkey.c:3134,1
    - Dst: log_info
      Src: /src/gnupg/g10/getkey.c:3143,1
    - Dst: _
      Src: /src/gnupg/g10/getkey.c:3143,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/getkey.c:3144,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/getkey.c:3167,1
    - Dst: get_pubkey_fast
      Src: /src/gnupg/g10/getkey.c:3174,1
    - Dst: check_key_signature2
      Src: /src/gnupg/g10/getkey.c:3175,1
    - Dst: get_ownertrust
      Src: /src/gnupg/g10/getkey.c:3178,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/getkey.c:3180,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/getkey.c:3185,1
    - Dst: openpgp_pk_algo_usage
      Src: /src/gnupg/g10/getkey.c:3228,1
    - Dst: openpgp_pk_algo_usage
      Src: /src/gnupg/g10/getkey.c:3234,1
    - Dst: cmp_user_ids
      Src: /src/gnupg/g10/getkey.c:3298,1
    - Dst: cmp_user_ids
      Src: /src/gnupg/g10/getkey.c:3311,1
    - Dst: cmp_user_ids
      Src: /src/gnupg/g10/getkey.c:3359,1
    CyclomaticComplexity: 118
    EdgeCount: 118
    ICount: 234
    argCount: 4
    argNames:
    - ctrl
    - keyblock
    - r_revoked
    - rinfo
    argTypes:
    - ctrl_t
    - kbnode_t
    - int*
    - struct revoke_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3375
      start: 2829
    functionDepth: 3
    functionLinenumber: 2829
    functionLinenumberEnd: 3375
    functionName: merge_selfsigs_main
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - parse_sig_subpkt
    - get_ownertrust
    - BUG
    - get_pubkey_fast
    - openpgp_pk_algo_usage
    - memcpy
    - free_public_key
    - check_revocation_keys
    - IS_UID_REV
    - _
    - IS_KEY_SIG
    - IS_KEY_REV
    - log_info
    - fixup_uidnode
    - keystr_from_pk
    - check_key_signature2
    - memset
    - xfree
    - IS_UID_SIG
    - check_key_signature
    - cmp_user_ids
    - keyid_from_pk
    - xrealloc
    - make_timestamp
    - memcmp
    - parse_key_usage
    - gpg_err_code
    - buf32_to_u32
    - sig_to_revoke_info
    - xmalloc_clear
    linkageType: ''
    returnType: void
    signature: "void merge_selfsigs_main (ctrl_t ctrl, kbnode_t keyblock, int *r_revoked,\n\t\t
      \    struct revoke_info *rinfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/getkey.c:3383,1
    - Dst: iobuf_temp_with_content
      Src: /src/gnupg/g10/getkey.c:3384,1
    - Dst: set_packet_list_mode
      Src: /src/gnupg/g10/getkey.c:3385,1
    - Dst: parse_signature
      Src: /src/gnupg/g10/getkey.c:3387,1
    - Dst: free_seckey_enc
      Src: /src/gnupg/g10/getkey.c:3389,1
    - Dst: set_packet_list_mode
      Src: /src/gnupg/g10/getkey.c:3393,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/getkey.c:3394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3397
      start: 3380
    functionDepth: 1
    functionLinenumber: 3380
    functionLinenumberEnd: 3397
    functionName: buf_to_sig
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - iobuf_temp_with_content
    - iobuf_close
    - free_seckey_enc
    - parse_signature
    - set_packet_list_mode
    - xmalloc_clear
    linkageType: ''
    returnType: PKT_signature
    signature: 'PKT_signature *

      buf_to_sig (const byte * buf, size_t len)'
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: make_timestamp
      Src: /src/gnupg/g10/getkey.c:3428,1
    - Dst: BUG
      Src: /src/gnupg/g10/getkey.c:3435,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/getkey.c:3439,1
    - Dst: check_key_signature
      Src: /src/gnupg/g10/getkey.c:3459,1
    - Dst: IS_SUBKEY_REV
      Src: /src/gnupg/g10/getkey.c:3461,1
    - Dst: sig_to_revoke_info
      Src: /src/gnupg/g10/getkey.c:3472,1
    - Dst: IS_SUBKEY_SIG
      Src: /src/gnupg/g10/getkey.c:3477,1
    - Dst: parse_key_usage
      Src: /src/gnupg/g10/getkey.c:3499,1
    - Dst: openpgp_pk_algo_usage
      Src: /src/gnupg/g10/getkey.c:3503,1
    - Dst: openpgp_pk_algo_usage
      Src: /src/gnupg/g10/getkey.c:3509,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/getkey.c:3516,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/getkey.c:3517,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/getkey.c:3518,1
    - Dst: openpgp_pk_test_algo
      Src: /src/gnupg/g10/getkey.c:3526,1
    - Dst: enum_sig_subpkt
      Src: /src/gnupg/g10/getkey.c:3543,1
    - Dst: buf_to_sig
      Src: /src/gnupg/g10/getkey.c:3549,1
    - Dst: free_seckey_enc
      Src: /src/gnupg/g10/getkey.c:3555,1
    - Dst: free_seckey_enc
      Src: /src/gnupg/g10/getkey.c:3561,1
    - Dst: enum_sig_subpkt
      Src: /src/gnupg/g10/getkey.c:3569,1
    - Dst: buf_to_sig
      Src: /src/gnupg/g10/getkey.c:3575,1
    - Dst: free_seckey_enc
      Src: /src/gnupg/g10/getkey.c:3581,1
    - Dst: free_seckey_enc
      Src: /src/gnupg/g10/getkey.c:3587,1
    - Dst: check_backsig
      Src: /src/gnupg/g10/getkey.c:3597,1
    - Dst: free_seckey_enc
      Src: /src/gnupg/g10/getkey.c:3602,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 91
    argCount: 3
    argNames:
    - ctrl
    - keyblock
    - subnode
    argTypes:
    - ctrl_t
    - kbnode_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3605
      start: 3419
    functionDepth: 2
    functionLinenumber: 3419
    functionLinenumberEnd: 3605
    functionName: merge_selfsigs_subkey
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - check_backsig
    - sig_to_revoke_info
    - keyid_from_pk
    - parse_sig_subpkt
    - buf_to_sig
    - IS_SUBKEY_SIG
    - BUG
    - IS_SUBKEY_REV
    - make_timestamp
    - free_seckey_enc
    - parse_key_usage
    - openpgp_pk_test_algo
    - buf32_to_u32
    - openpgp_pk_algo_usage
    - check_key_signature
    - enum_sig_subpkt
    linkageType: ''
    returnType: void
    signature: void merge_selfsigs_subkey (ctrl_t ctrl, kbnode_t keyblock, kbnode_t
      subnode)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/getkey.c:3628,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/getkey.c:3633,1
    - Dst: BUG
      Src: /src/gnupg/g10/getkey.c:3635,1
    - Dst: merge_selfsigs_main
      Src: /src/gnupg/g10/getkey.c:3638,1
    - Dst: merge_selfsigs_subkey
      Src: /src/gnupg/g10/getkey.c:3645,1
    - Dst: memcpy
      Src: /src/gnupg/g10/getkey.c:3672,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:3722,1
    - Dst: copy_prefs
      Src: /src/gnupg/g10/getkey.c:3723,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:3730,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 62
    argCount: 2
    argNames:
    - ctrl
    - keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3731
      start: 3613
    functionDepth: 4
    functionLinenumber: 3613
    functionLinenumberEnd: 3731
    functionName: merge_selfsigs
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 4
    functionsReached:
    - copy_prefs
    - log_error
    - merge_selfsigs_subkey
    - BUG
    - merge_selfsigs_main
    - xfree
    - g10_exit
    - memcpy
    linkageType: ''
    returnType: void
    signature: void merge_selfsigs (ctrl_t ctrl, kbnode_t keyblock)
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: make_timestamp
      Src: /src/gnupg/g10/getkey.c:3799,1
    - Dst: log_assert
      Src: /src/gnupg/g10/getkey.c:3823,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:3845,1
    - Dst: log_assert
      Src: /src/gnupg/g10/getkey.c:3858,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:3865,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/getkey.c:3866,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:3869,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:3875,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:3912,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/getkey.c:3913,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:3918,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:3925,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:3934,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:3943,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:3950,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:3957,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:3967,1
    - Dst: agent_probe_secret_key
      Src: /src/gnupg/g10/getkey.c:3974,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:3979,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:3986,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:3999,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:4028,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:4033,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:4038,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:4044,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:4049,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:4057,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:4062,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:4071,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:4079,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/getkey.c:4080,1
    - Dst: free_user_id
      Src: /src/gnupg/g10/getkey.c:4085,1
    - Dst: scopy_user_id
      Src: /src/gnupg/g10/getkey.c:4086,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/getkey.c:4092,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/getkey.c:4092,1
    - Dst: log_info
      Src: /src/gnupg/g10/getkey.c:4093,1
    - Dst: _
      Src: /src/gnupg/g10/getkey.c:4093,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/getkey.c:4094,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:4095,1
    - Dst: cache_put_keyblock
      Src: /src/gnupg/g10/getkey.c:4098,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 174
    argCount: 6
    argNames:
    - keyblock
    - req_usage
    - want_exact
    - want_secret
    - allow_adsk
    - r_flags
    argTypes:
    - kbnode_t
    - unsigned int
    - int
    - int
    - int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4101
      start: 3781
    functionDepth: 1
    functionLinenumber: 3781
    functionLinenumberEnd: 4101
    functionName: finish_lookup
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 1
    functionsReached:
    - log_assert
    - cache_put_keyblock
    - keyid_from_pk
    - free_user_id
    - keystr_from_pk
    - _
    - make_timestamp
    - scopy_user_id
    - log_info
    - xfree
    - agent_probe_secret_key
    - xstrdup
    - log_debug
    linkageType: ''
    returnType: kbnode_t
    signature: "kbnode_t finish_lookup (kbnode_t keyblock, unsigned int req_usage,
      int want_exact,\n               int want_secret, int allow_adsk, unsigned int
      *r_flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/getkey.c:4112,1
    - Dst: log_error
      Src: /src/gnupg/g10/getkey.c:4121,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/getkey.c:4125,1
    - Dst: snprintf
      Src: /src/gnupg/g10/getkey.c:4126,1
    - Dst: write_status_strings
      Src: /src/gnupg/g10/getkey.c:4127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - keyblock
    - flags
    argTypes:
    - kbnode_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4128
      start: 4105
    functionDepth: 1
    functionLinenumber: 4105
    functionLinenumberEnd: 4128
    functionName: print_status_key_considered
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 1
    functionsReached:
    - write_status_strings
    - log_error
    - snprintf
    - is_status_enabled
    - hexfingerprint
    linkageType: ''
    returnType: void
    signature: void print_status_key_considered (kbnode_t keyblock, unsigned int flags)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/getkey.c:4159,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/getkey.c:4165,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/getkey.c:4175,1
    - Dst: log_error
      Src: /src/gnupg/g10/getkey.c:4178,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/getkey.c:4178,1
    - Dst: agent_probe_any_secret_key
      Src: /src/gnupg/g10/getkey.c:4184,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:4185,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:4187,1
    - Dst: merge_selfsigs
      Src: /src/gnupg/g10/getkey.c:4195,1
    - Dst: finish_lookup
      Src: /src/gnupg/g10/getkey.c:4196,1
    - Dst: print_status_key_considered
      Src: /src/gnupg/g10/getkey.c:4199,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:4212,1
    - Dst: keydb_disable_caching
      Src: /src/gnupg/g10/getkey.c:4219,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:4223,1
    - Dst: log_error
      Src: /src/gnupg/g10/getkey.c:4224,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/getkey.c:4224,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:4234,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:4236,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:4239,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 5
    argNames:
    - ctrl
    - ctx
    - want_secret
    - ret_keyblock
    - ret_found_key
    argTypes:
    - ctrl_t
    - getkey_ctx_t
    - int
    - kbnode_t*
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4250
      start: 4149
    functionDepth: 5
    functionLinenumber: 4149
    functionLinenumberEnd: 4250
    functionName: lookup
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 15
    functionsReached:
    - print_status_key_considered
    - agent_probe_any_secret_key
    - log_error
    - log_assert
    - release_kbnode
    - keydb_search
    - finish_lookup
    - gpg_strerror
    - gpg_err_code
    - keydb_get_keyblock
    - keydb_disable_caching
    - merge_selfsigs
    linkageType: ''
    returnType: int
    signature: "int lookup (ctrl_t ctrl, getkey_ctx_t ctx, int want_secret,\n        kbnode_t
      *ret_keyblock, kbnode_t *ret_found_key)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: parse_def_secret_key
      Src: /src/gnupg/g10/getkey.c:4264,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/getkey.c:4267,1
    - Dst: get_pubkey_byfpr
      Src: /src/gnupg/g10/getkey.c:4270,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:4271,1
    - Dst: log_debug
      Src: /src/gnupg/g10/getkey.c:4274,1
    - Dst: keyserver_import_fpr
      Src: /src/gnupg/g10/getkey.c:4275,1
    - Dst: get_pubkey_byfpr
      Src: /src/gnupg/g10/getkey.c:4279,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:4280,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:4281,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/getkey.c:4286,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/getkey.c:4291,1
    - Dst: strlen
      Src: /src/gnupg/g10/getkey.c:4298,1
    - Dst: key_byname
      Src: /src/gnupg/g10/getkey.c:4300,1
    - Dst: key_byname
      Src: /src/gnupg/g10/getkey.c:4307,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/getkey.c:4325,1
    - Dst: memcmp
      Src: /src/gnupg/g10/getkey.c:4326,1
    - Dst: release_public_key_parts
      Src: /src/gnupg/g10/getkey.c:4328,1
    - Dst: copy_public_key
      Src: /src/gnupg/g10/getkey.c:4329,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:4333,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/getkey.c:4337,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 4
    argNames:
    - ctrl
    - pk
    - fpr_card
    - fpr_len
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4339
      start: 4256
    functionDepth: 3
    functionLinenumber: 4256
    functionLinenumberEnd: 4339
    functionName: get_seckey_default_or_card
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 1
    functionsReached:
    - parse_def_secret_key
    - get_pubkey_byfpr
    - strlen
    - release_kbnode
    - keyserver_import_fpr
    - add_to_strlist
    - gpg_error
    - key_byname
    - gpg_err_code
    - memcmp
    - release_public_key_parts
    - fingerprint_from_pk
    - copy_public_key
    - free_strlist
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_seckey_default_or_card (ctrl_t ctrl, PKT_public_key
      *pk,\n                            const byte *fpr_card, size_t fpr_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/getkey.c:4357,1
    - Dst: cache_get_uid_bykid
      Src: /src/gnupg/g10/getkey.c:4359,1
    - Dst: get_pubkey
      Src: /src/gnupg/g10/getkey.c:4363,1
    - Dst: cache_get_uid_bykid
      Src: /src/gnupg/g10/getkey.c:4364,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/getkey.c:4370,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/getkey.c:4373,1
    - Dst: keystr
      Src: /src/gnupg/g10/getkey.c:4373,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:4375,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/getkey.c:4380,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/getkey.c:4382,1
    - Dst: keystr
      Src: /src/gnupg/g10/getkey.c:4382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - ctrl
    - keyid
    - mode
    argTypes:
    - ctrl_t
    - u32*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4386
      start: 4350
    functionDepth: 4
    functionLinenumber: 4350
    functionLinenumberEnd: 4386
    functionName: get_user_id_string
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - get_pubkey
    - cache_get_uid_bykid
    - log_assert
    - xfree
    - xasprintf
    - keystr
    linkageType: ''
    returnType: char
    signature: 'char *

      get_user_id_string (ctrl_t ctrl, u32 * keyid, int mode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_user_id_string
      Src: /src/gnupg/g10/getkey.c:4392,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/getkey.c:4393,1
    - Dst: strlen
      Src: /src/gnupg/g10/getkey.c:4393,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:4394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctrl
    - keyid
    argTypes:
    - ctrl_t
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4396
      start: 4389
    functionDepth: 5
    functionLinenumber: 4389
    functionLinenumberEnd: 4396
    functionName: get_user_id_string_native
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - strlen
    - utf8_to_native
    - xfree
    - get_user_id_string
    linkageType: ''
    returnType: char
    signature: 'char *

      get_user_id_string_native (ctrl_t ctrl, u32 * keyid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_user_id_string
      Src: /src/gnupg/g10/getkey.c:4402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctrl
    - keyid
    argTypes:
    - ctrl_t
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4403
      start: 4399
    functionDepth: 5
    functionLinenumber: 4399
    functionLinenumberEnd: 4403
    functionName: get_long_user_id_string
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 1
    functionsReached:
    - get_user_id_string
    linkageType: ''
    returnType: char
    signature: 'char *

      get_long_user_id_string (ctrl_t ctrl, u32 * keyid)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cache_get_uid_bykid
      Src: /src/gnupg/g10/getkey.c:4416,1
    - Dst: get_pubkey
      Src: /src/gnupg/g10/getkey.c:4420,1
    - Dst: cache_get_uid_bykid
      Src: /src/gnupg/g10/getkey.c:4421,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/getkey.c:4426,1
    - Dst: user_id_not_found_utf8
      Src: /src/gnupg/g10/getkey.c:4426,1
    - Dst: strlen
      Src: /src/gnupg/g10/getkey.c:4427,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - ctrl
    - keyid
    - rn
    - r_nouid
    argTypes:
    - ctrl_t
    - u32*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4435
      start: 4407
    functionDepth: 4
    functionLinenumber: 4407
    functionLinenumberEnd: 4435
    functionName: get_user_id
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 4
    functionsReached:
    - get_pubkey
    - strlen
    - cache_get_uid_bykid
    - user_id_not_found_utf8
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      get_user_id (ctrl_t ctrl, u32 *keyid, size_t *rn, int *r_nouid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_user_id
      Src: /src/gnupg/g10/getkey.c:4443,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/getkey.c:4444,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:4445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctrl
    - keyid
    argTypes:
    - ctrl_t
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4447
      start: 4439
    functionDepth: 5
    functionLinenumber: 4439
    functionLinenumberEnd: 4447
    functionName: get_user_id_native
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 3
    functionsReached:
    - get_user_id
    - utf8_to_native
    - xfree
    linkageType: ''
    returnType: char
    signature: 'char *

      get_user_id_native (ctrl_t ctrl, u32 *keyid)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cache_get_uid_byfpr
      Src: /src/gnupg/g10/getkey.c:4460,1
    - Dst: get_pubkey_byfpr
      Src: /src/gnupg/g10/getkey.c:4464,1
    - Dst: cache_get_uid_byfpr
      Src: /src/gnupg/g10/getkey.c:4465,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/getkey.c:4470,1
    - Dst: user_id_not_found_utf8
      Src: /src/gnupg/g10/getkey.c:4470,1
    - Dst: strlen
      Src: /src/gnupg/g10/getkey.c:4471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ctrl
    - fpr
    - fprlen
    - rn
    argTypes:
    - ctrl_t
    - byte*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4475
      start: 4455
    functionDepth: 3
    functionLinenumber: 4455
    functionLinenumberEnd: 4475
    functionName: get_user_id_byfpr
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - strlen
    - get_pubkey_byfpr
    - user_id_not_found_utf8
    - xstrdup
    - cache_get_uid_byfpr
    linkageType: ''
    returnType: char
    signature: 'char *

      get_user_id_byfpr (ctrl_t ctrl, const byte *fpr, size_t fprlen, size_t *rn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_user_id_byfpr
      Src: /src/gnupg/g10/getkey.c:4484,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/getkey.c:4485,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:4486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctrl
    - fpr
    - fprlen
    argTypes:
    - ctrl_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4488
      start: 4480
    functionDepth: 4
    functionLinenumber: 4480
    functionLinenumberEnd: 4488
    functionName: get_user_id_byfpr_native
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - get_user_id_byfpr
    - utf8_to_native
    - xfree
    linkageType: ''
    returnType: char
    signature: 'char *

      get_user_id_byfpr_native (ctrl_t ctrl, const byte *fpr, size_t fprlen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GETKEY_CTX
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4497
      start: 4493
    functionDepth: 0
    functionLinenumber: 4493
    functionLinenumberEnd: 4497
    functionName: get_ctx_handle
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: KEYDB_HANDLE
    signature: KEYDB_HANDLE get_ctx_handle (GETKEY_CTX ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_keyserver_spec
      Src: /src/gnupg/g10/getkey.c:4506,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:4508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - akl
    argTypes:
    - struct akl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4509
      start: 4499
    functionDepth: 0
    functionLinenumber: 4499
    functionLinenumberEnd: 4509
    functionName: free_akl
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - xfree
    - free_keyserver_spec
    linkageType: ''
    returnType: void
    signature: void free_akl (struct akl *akl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_akl
      Src: /src/gnupg/g10/getkey.c:4518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4520
      start: 4511
    functionDepth: 1
    functionLinenumber: 4511
    functionLinenumberEnd: 4520
    functionName: release_akl
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 1
    functionsReached:
    - free_akl
    linkageType: ''
    returnType: void
    signature: void release_akl (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4539
      start: 4525
    functionDepth: 0
    functionLinenumber: 4525
    functionLinenumberEnd: 4539
    functionName: akl_empty_or_only_local
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int akl_empty_or_only_local (void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnupg/g10/getkey.c:4549,1
    - Dst: optsep
      Src: /src/gnupg/g10/getkey.c:4550,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/getkey.c:4558,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/getkey.c:4560,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:4562,1
    - Dst: free_akl
      Src: /src/gnupg/g10/getkey.c:4563,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/getkey.c:4567,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/getkey.c:4569,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/getkey.c:4571,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/getkey.c:4573,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/getkey.c:4575,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/getkey.c:4577,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/getkey.c:4579,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/getkey.c:4581,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/getkey.c:4583,1
    - Dst: parse_keyserver_uri
      Src: /src/gnupg/g10/getkey.c:4585,1
    - Dst: free_akl
      Src: /src/gnupg/g10/getkey.c:4589,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:4590,1
    - Dst: strcmp
      Src: /src/gnupg/g10/getkey.c:4602,1
    - Dst: free_akl
      Src: /src/gnupg/g10/getkey.c:4605,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:4619,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 1
    argNames:
    - options_arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4621
      start: 4543
    functionDepth: 2
    functionLinenumber: 4543
    functionLinenumberEnd: 4621
    functionName: parse_auto_key_locate
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 1
    functionsReached:
    - parse_keyserver_uri
    - free_akl
    - strcmp
    - xfree
    - ascii_strcasecmp
    - xstrdup
    - xmalloc_clear
    - optsep
    linkageType: ''
    returnType: int
    signature: int parse_auto_key_locate (const char *options_arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/g10/getkey.c:4648,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/getkey.c:4652,1
    - Dst: log_info
      Src: /src/gnupg/g10/getkey.c:4654,1
    - Dst: _
      Src: /src/gnupg/g10/getkey.c:4654,1
    - Dst: DIM
      Src: /src/gnupg/g10/getkey.c:4655,1
    - Dst: log_info
      Src: /src/gnupg/g10/getkey.c:4656,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/getkey.c:4657,1
    - Dst: DIM
      Src: /src/gnupg/g10/getkey.c:4660,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/getkey.c:4661,1
    - Dst: xfree
      Src: /src/gnupg/g10/getkey.c:4664,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/getkey.c:4668,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/getkey.c:4669,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4678
      start: 4642
    functionDepth: 1
    functionLinenumber: 4642
    functionLinenumberEnd: 4678
    functionName: parse_key_origin
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 1
    functionsReached:
    - DIM
    - trim_spaces
    - _
    - strchr
    - log_info
    - ascii_strcasecmp
    - xfree
    - xstrdup
    - g10_exit
    linkageType: ''
    returnType: int
    signature: int parse_key_origin (char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/g10/getkey.c:4686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - origin
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4690
      start: 4681
    functionDepth: 0
    functionLinenumber: 4681
    functionLinenumberEnd: 4690
    functionName: key_origin_string
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 1
    functionsReached:
    - DIM
    linkageType: ''
    returnType: char
    signature: 'char *

      key_origin_string (int origin)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: keydb_new
      Src: /src/gnupg/g10/getkey.c:4709,1
    - Dst: memset
      Src: /src/gnupg/g10/getkey.c:4712,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/getkey.c:4718,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/getkey.c:4722,1
    - Dst: log_error
      Src: /src/gnupg/g10/getkey.c:4725,1
    - Dst: _
      Src: /src/gnupg/g10/getkey.c:4725,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/getkey.c:4725,1
    - Dst: log_assert
      Src: /src/gnupg/g10/getkey.c:4736,1
    - Dst: agent_probe_secret_key
      Src: /src/gnupg/g10/getkey.c:4739,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/getkey.c:4747,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/getkey.c:4750,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - ctrl
    - keyid
    argTypes:
    - ctrl_t
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4752
      start: 4699
    functionDepth: 2
    functionLinenumber: 4699
    functionLinenumberEnd: 4752
    functionName: have_secret_key_with_kid
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - keydb_new
    - log_error
    - log_assert
    - release_kbnode
    - keydb_search
    - _
    - memset
    - gpg_strerror
    - agent_probe_secret_key
    - keydb_get_keyblock
    - keydb_release
    linkageType: ''
    returnType: int
    signature: int have_secret_key_with_kid (ctrl_t ctrl, u32 *keyid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/getkey.c:4773,1
    - Dst: memcmp
      Src: /src/gnupg/g10/getkey.c:4774,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/getkey.c:4775,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - keyblock
    - fpr
    - fprlen
    argTypes:
    - kbnode_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4779
      start: 4757
    functionDepth: 1
    functionLinenumber: 4757
    functionLinenumberEnd: 4779
    functionName: has_key_with_fingerprint
    functionSourceFile: /src/gnupg/g10/getkey.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - memcmp
    - fingerprint_from_pk
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t has_key_with_fingerprint (kbnode_t keyblock, const byte
      *fpr, size_t fprlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_cipher_get_algo_keylen
      Src: /src/gnupg/g10/seskey.c:44,1
    - Dst: openpgp_cipher_open
      Src: /src/gnupg/g10/seskey.c:46,1
    - Dst: BUG
      Src: /src/gnupg/g10/seskey.c:50,1
    - Dst: gcry_randomize
      Src: /src/gnupg/g10/seskey.c:51,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/g10/seskey.c:54,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/g10/seskey.c:57,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/seskey.c:60,1
    - Dst: BUG
      Src: /src/gnupg/g10/seskey.c:61,1
    - Dst: log_info
      Src: /src/gnupg/g10/seskey.c:62,1
    - Dst: _
      Src: /src/gnupg/g10/seskey.c:62,1
    - Dst: gcry_randomize
      Src: /src/gnupg/g10/seskey.c:64,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/seskey.c:66,1
    - Dst: _
      Src: /src/gnupg/g10/seskey.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - dek
    argTypes:
    - DEK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 68
    functionName: make_session_key
    functionSourceFile: /src/gnupg/g10/seskey.c
    functionUses: 0
    functionsReached:
    - openpgp_cipher_open
    - gcry_cipher_setkey
    - openpgp_cipher_get_algo_keylen
    - log_fatal
    - _
    - BUG
    - gpg_err_code
    - log_info
    - gcry_randomize
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void make_session_key( DEK *dek )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/g10/seskey.c:87,1
    - Dst: log_assert
      Src: /src/gnupg/g10/seskey.c:93,1
    - Dst: xmalloc_secure
      Src: /src/gnupg/g10/seskey.c:94,1
    - Dst: memcpy
      Src: /src/gnupg/g10/seskey.c:95,1
    - Dst: log_debug
      Src: /src/gnupg/g10/seskey.c:97,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/g10/seskey.c:102,1
    - Dst: log_assert
      Src: /src/gnupg/g10/seskey.c:123,1
    - Dst: xmalloc_secure
      Src: /src/gnupg/g10/seskey.c:125,1
    - Dst: memcpy
      Src: /src/gnupg/g10/seskey.c:128,1
    - Dst: memset
      Src: /src/gnupg/g10/seskey.c:133,1
    - Dst: log_assert
      Src: /src/gnupg/g10/seskey.c:134,1
    - Dst: log_debug
      Src: /src/gnupg/g10/seskey.c:137,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/g10/seskey.c:142,1
    - Dst: log_bug
      Src: /src/gnupg/g10/seskey.c:150,1
    - Dst: xmalloc_secure
      Src: /src/gnupg/g10/seskey.c:168,1
    - Dst: log_assert
      Src: /src/gnupg/g10/seskey.c:175,1
    - Dst: gcry_random_bytes_secure
      Src: /src/gnupg/g10/seskey.c:176,1
    - Dst: gcry_random_bytes_secure
      Src: /src/gnupg/g10/seskey.c:190,1
    - Dst: xfree
      Src: /src/gnupg/g10/seskey.c:198,1
    - Dst: memcpy
      Src: /src/gnupg/g10/seskey.c:200,1
    - Dst: xfree
      Src: /src/gnupg/g10/seskey.c:201,1
    - Dst: memcpy
      Src: /src/gnupg/g10/seskey.c:205,1
    - Dst: log_assert
      Src: /src/gnupg/g10/seskey.c:209,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/g10/seskey.c:210,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 68
    argCount: 3
    argNames:
    - openpgp_pk_algo
    - dek
    - nbits
    argTypes:
    - int
    - DEK*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 211
    functionName: encode_session_key
    functionSourceFile: /src/gnupg/g10/seskey.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_set_opaque
    - gcry_random_bytes_secure
    - log_assert
    - log_bug
    - memset
    - memcpy
    - xfree
    - xmalloc_secure
    - log_debug
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t encode_session_key (int openpgp_pk_algo, DEK *dek, unsigned
      int nbits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/seskey.c:225,1
    - Dst: gcry_md_is_secure
      Src: /src/gnupg/g10/seskey.c:236,1
    - Dst: xmalloc_secure
      Src: /src/gnupg/g10/seskey.c:236,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/seskey.c:236,1
    - Dst: log_assert
      Src: /src/gnupg/g10/seskey.c:241,1
    - Dst: memset
      Src: /src/gnupg/g10/seskey.c:242,1
    - Dst: memcpy
      Src: /src/gnupg/g10/seskey.c:244,1
    - Dst: memcpy
      Src: /src/gnupg/g10/seskey.c:245,1
    - Dst: gcry_md_read
      Src: /src/gnupg/g10/seskey.c:245,1
    - Dst: log_assert
      Src: /src/gnupg/g10/seskey.c:246,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/g10/seskey.c:248,1
    - Dst: BUG
      Src: /src/gnupg/g10/seskey.c:249,1
    - Dst: xfree
      Src: /src/gnupg/g10/seskey.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 6
    argNames:
    - md
    - algo
    - len
    - nbits
    - asn
    - asnlen
    argTypes:
    - gcry_md_hd_t
    - int
    - size_t
    - unsigned
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 262
    functionName: do_encode_md
    functionSourceFile: /src/gnupg/g10/seskey.c
    functionUses: 0
    functionsReached:
    - log_assert
    - log_error
    - BUG
    - gcry_md_is_secure
    - xmalloc
    - memset
    - memcpy
    - xfree
    - gcry_md_read
    - xmalloc_secure
    - gcry_mpi_scan
    linkageType: ''
    returnType: gcry_mpi_t
    signature: "gcry_mpi_t do_encode_md( gcry_md_hd_t md, int algo, size_t len, unsigned
      nbits,\n\t      const byte *asn, size_t asnlen )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/seskey.c:277,1
    - Dst: log_assert
      Src: /src/gnupg/g10/seskey.c:278,1
    - Dst: gcry_mpi_set_opaque_copy
      Src: /src/gnupg/g10/seskey.c:284,1
    - Dst: gcry_md_read
      Src: /src/gnupg/g10/seskey.c:284,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/g10/seskey.c:285,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/g10/seskey.c:292,1
    - Dst: ecdsa_qbits_from_Q
      Src: /src/gnupg/g10/seskey.c:297,1
    - Dst: log_error
      Src: /src/gnupg/g10/seskey.c:302,1
    - Dst: _
      Src: /src/gnupg/g10/seskey.c:302,1
    - Dst: log_error
      Src: /src/gnupg/g10/seskey.c:315,1
    - Dst: _
      Src: /src/gnupg/g10/seskey.c:315,1
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/seskey.c:316,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/seskey.c:317,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/g10/seskey.c:330,1
    - Dst: log_error
      Src: /src/gnupg/g10/seskey.c:333,1
    - Dst: _
      Src: /src/gnupg/g10/seskey.c:333,1
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/seskey.c:335,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/seskey.c:336,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/g10/seskey.c:337,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/g10/seskey.c:343,1
    - Dst: gcry_md_read
      Src: /src/gnupg/g10/seskey.c:344,1
    - Dst: BUG
      Src: /src/gnupg/g10/seskey.c:345,1
    - Dst: gcry_md_algo_info
      Src: /src/gnupg/g10/seskey.c:353,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/seskey.c:355,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/seskey.c:356,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/seskey.c:357,1
    - Dst: gcry_md_algo_info
      Src: /src/gnupg/g10/seskey.c:360,1
    - Dst: BUG
      Src: /src/gnupg/g10/seskey.c:361,1
    - Dst: do_encode_md
      Src: /src/gnupg/g10/seskey.c:362,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/g10/seskey.c:362,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/g10/seskey.c:363,1
    - Dst: xfree
      Src: /src/gnupg/g10/seskey.c:364,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - pk
    - md
    - hash_algo
    argTypes:
    - PKT_public_key*
    - gcry_md_hd_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 368
    functionName: encode_md_value
    functionSourceFile: /src/gnupg/g10/seskey.c
    functionUses: 0
    functionsReached:
    - log_assert
    - gcry_md_algo_info
    - BUG
    - do_encode_md
    - xtrymalloc
    - gcry_mpi_scan
    - log_error
    - gcry_md_algo_name
    - _
    - gcry_mpi_set_opaque_copy
    - openpgp_pk_algo_name
    - gcry_md_read
    - gcry_mpi_get_nbits
    - keystr_from_pk
    - gpg_strerror
    - xfree
    - ecdsa_qbits_from_Q
    - log_fatal
    - gcry_md_get_algo_dlen
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t encode_md_value (PKT_public_key *pk, gcry_md_hd_t md, int
      hash_algo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/trustdb.c:114,1
    - Dst: get_pubkey_byfpr
      Src: /src/gnupg/g10/trustdb.c:115,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/trustdb.c:118,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/trustdb.c:124,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/trustdb.c:128,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/trustdb.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ctrl
    - fpr
    - keyid
    argTypes:
    - ctrl_t
    - byte*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 133
    functionName: keyid_from_fpr20
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - log_printhex
    - get_pubkey_byfpr
    - keyid_from_pk
    - memset
    - buf32_to_u32
    linkageType: ''
    returnType: u32
    signature: u32 keyid_from_fpr20 (ctrl_t ctrl, const byte *fpr, u32 *keyid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/trustdb.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: new_key_item
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - xmalloc_clear
    linkageType: ''
    returnType: struct key_item
    signature: 'struct key_item *

      new_key_item (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/trustdb.c:150,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/trustdb.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - k0
    argTypes:
    - struct key_item*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 161
    functionName: copy_key_item
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - xmalloc_clear
    - xstrdup
    linkageType: ''
    returnType: struct key_item
    signature: 'struct key_item *

      copy_key_item (struct key_item *k0)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/trustdb.c:171,1
    - Dst: xfree
      Src: /src/gnupg/g10/trustdb.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - k
    argTypes:
    - struct key_item*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: release_key_items
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_key_items (struct key_item *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/trustdb.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: new_key_hash_table
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - xmalloc_clear
    linkageType: ''
    returnType: KeyHashTable
    signature: KeyHashTable new_key_hash_table (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_key_items
      Src: /src/gnupg/g10/trustdb.c:203,1
    - Dst: xfree
      Src: /src/gnupg/g10/trustdb.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - KeyHashTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: release_key_hash_table
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - xfree
    - release_key_items
    linkageType: ''
    returnType: void
    signature: void release_key_hash_table (KeyHashTable tbl)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - tbl
    - kid
    argTypes:
    - KeyHashTable
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: test_key_hash_table
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int test_key_hash_table (KeyHashTable tbl, u32 *kid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_key_item
      Src: /src/gnupg/g10/trustdb.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - tbl
    - kid
    argTypes:
    - KeyHashTable
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 239
    functionName: add_key_hash_table
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - new_key_item
    linkageType: ''
    returnType: void
    signature: void add_key_hash_table (KeyHashTable tbl, u32 *kid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_kbnode
      Src: /src/gnupg/g10/trustdb.c:251,1
    - Dst: xfree
      Src: /src/gnupg/g10/trustdb.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - keys
    argTypes:
    - struct key_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: release_key_array
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - release_kbnode
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_key_array ( struct key_array *keys )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_key_item
      Src: /src/gnupg/g10/trustdb.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - keyid
    argTypes:
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 278
    functionName: tdb_register_trusted_keyid
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - new_key_item
    linkageType: ''
    returnType: void
    signature: void tdb_register_trusted_keyid (u32 *keyid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/g10/trustdb.c:297,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/trustdb.c:299,1
    - Dst: tdb_register_trusted_keyid
      Src: /src/gnupg/g10/trustdb.c:304,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/trustdb.c:309,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/trustdb.c:310,1
    - Dst: tdb_register_trusted_keyid
      Src: /src/gnupg/g10/trustdb.c:311,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/trustdb.c:316,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/trustdb.c:317,1
    - Dst: tdb_register_trusted_keyid
      Src: /src/gnupg/g10/trustdb.c:318,1
    - Dst: log_error
      Src: /src/gnupg/g10/trustdb.c:322,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 323
    functionName: tdb_register_trusted_key
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 1
    functionsReached:
    - log_error
    - tdb_register_trusted_keyid
    - _
    - strcmp
    - classify_user_id
    - buf32_to_u32
    linkageType: ''
    returnType: void
    signature: void tdb_register_trusted_key (const char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdb_keyid_is_utk
      Src: /src/gnupg/g10/trustdb.c:335,1
    - Dst: new_key_item
      Src: /src/gnupg/g10/trustdb.c:338,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:345,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:345,1
    - Dst: keystr
      Src: /src/gnupg/g10/trustdb.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - kid
    argTypes:
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 347
    functionName: add_utk
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - new_key_item
    - tdb_keyid_is_utk
    - _
    - log_info
    - keystr
    linkageType: ''
    returnType: int
    signature: int add_utk (u32 *kid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: new_key_item
      Src: /src/gnupg/g10/trustdb.c:367,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:374,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:374,1
    - Dst: keystr
      Src: /src/gnupg/g10/trustdb.c:374,1
    - Dst: xfree
      Src: /src/gnupg/g10/trustdb.c:386,1
    - Dst: xfree
      Src: /src/gnupg/g10/trustdb.c:387,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - kid
    - add
    argTypes:
    - u32*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 390
    functionName: tdb_update_utk
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 1
    functionsReached:
    - new_key_item
    - _
    - log_info
    - xfree
    - keystr
    linkageType: ''
    returnType: void
    signature: void tdb_update_utk (u32 *kid, int add)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/trustdb.c:409,1
    - Dst: keyid_from_fpr20
      Src: /src/gnupg/g10/trustdb.c:416,1
    - Dst: add_utk
      Src: /src/gnupg/g10/trustdb.c:417,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:418,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:418,1
    - Dst: keystr
      Src: /src/gnupg/g10/trustdb.c:419,1
    - Dst: log_debug
      Src: /src/gnupg/g10/trustdb.c:431,1
    - Dst: keystr
      Src: /src/gnupg/g10/trustdb.c:432,1
    - Dst: write_record
      Src: /src/gnupg/g10/trustdb.c:435,1
    - Dst: tdb_revalidation_mark
      Src: /src/gnupg/g10/trustdb.c:444,1
    - Dst: do_sync
      Src: /src/gnupg/g10/trustdb.c:445,1
    - Dst: add_utk
      Src: /src/gnupg/g10/trustdb.c:451,1
    - Dst: memset
      Src: /src/gnupg/g10/trustdb.c:455,1
    - Dst: get_pubkey_with_ldap_fallback
      Src: /src/gnupg/g10/trustdb.c:456,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:458,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:458,1
    - Dst: keystr
      Src: /src/gnupg/g10/trustdb.c:459,1
    - Dst: tdb_update_ownertrust
      Src: /src/gnupg/g10/trustdb.c:462,1
    - Dst: tdb_get_ownertrust
      Src: /src/gnupg/g10/trustdb.c:463,1
    - Dst: release_public_key_parts
      Src: /src/gnupg/g10/trustdb.c:465,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:469,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:469,1
    - Dst: keystr
      Src: /src/gnupg/g10/trustdb.c:470,1
    - Dst: release_key_items
      Src: /src/gnupg/g10/trustdb.c:475,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 396
    functionDepth: 5
    functionLinenumber: 396
    functionLinenumberEnd: 478
    functionName: verify_own_keys
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - tdb_get_ownertrust
    - tdbio_read_record
    - get_pubkey_with_ldap_fallback
    - release_key_items
    - _
    - tdb_revalidation_mark
    - log_info
    - keyid_from_fpr20
    - do_sync
    - keystr
    - memset
    - release_public_key_parts
    - add_utk
    - write_record
    - tdb_update_ownertrust
    - log_debug
    linkageType: ''
    returnType: void
    signature: void verify_own_keys (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - kid
    argTypes:
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 491
    functionName: tdb_keyid_is_utk
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tdb_keyid_is_utk (u32 *kid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: tdb_utks
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct key_item
    signature: 'struct key_item *

      tdb_utks (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/trustdb.c:510,1
    - Dst: log_error
      Src: /src/gnupg/g10/trustdb.c:513,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:513,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/trustdb.c:514,1
    - Dst: tdbio_invalid
      Src: /src/gnupg/g10/trustdb.c:515,1
    - Dst: log_error
      Src: /src/gnupg/g10/trustdb.c:519,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:519,1
    - Dst: tdbio_invalid
      Src: /src/gnupg/g10/trustdb.c:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - recno
    - rec
    - rectype
    argTypes:
    - ulong
    - TRUSTREC*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 523
    functionName: read_record
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 8
    functionsReached:
    - tdbio_read_record
    - log_error
    - _
    - gpg_strerror
    - tdbio_invalid
    linkageType: ''
    returnType: void
    signature: void read_record (ulong recno, TRUSTREC *rec, int rectype )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/trustdb.c:531,1
    - Dst: log_error
      Src: /src/gnupg/g10/trustdb.c:534,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:534,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/trustdb.c:535,1
    - Dst: tdbio_invalid
      Src: /src/gnupg/g10/trustdb.c:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctrl
    - rec
    argTypes:
    - ctrl_t
    - TRUSTREC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 538
    functionName: write_record
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 7
    functionsReached:
    - log_error
    - tdbio_write_record
    - _
    - gpg_strerror
    - tdbio_invalid
    linkageType: ''
    returnType: void
    signature: void write_record (ctrl_t ctrl, TRUSTREC *rec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbio_sync
      Src: /src/gnupg/g10/trustdb.c:546,1
    - Dst: log_error
      Src: /src/gnupg/g10/trustdb.c:549,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:549,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/trustdb.c:549,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/trustdb.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 552
    functionName: do_sync
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 1
    functionsReached:
    - tdbio_sync
    - log_error
    - _
    - gpg_strerror
    - g10_exit
    linkageType: ''
    returnType: void
    signature: void do_sync(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - model
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 568
    functionName: trust_model_string
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      trust_model_string (int model)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnupg/g10/trustdb.c:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - level
    - dbname
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 584
    functionName: setup_trustdb
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 5
    functionsReached:
    - xstrdup
    linkageType: ''
    returnType: int
    signature: int setup_trustdb( int level, const char *dbname )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:594,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:594,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:595,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/trustdb.c:595,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:596,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:598,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:600,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:602,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:603,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 604
    functionName: how_to_fix_the_trustdb
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 1
    functionsReached:
    - gnupg_homedir
    - log_info
    - _
    linkageType: ''
    returnType: void
    signature: void how_to_fix_the_trustdb (void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tdbio_set_dbname
      Src: /src/gnupg/g10/trustdb.c:624,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/trustdb.c:632,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/trustdb.c:635,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/trustdb.c:635,1
    - Dst: BUG
      Src: /src/gnupg/g10/trustdb.c:638,1
    - Dst: tdbio_read_model
      Src: /src/gnupg/g10/trustdb.c:644,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:653,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:653,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:659,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:659,1
    - Dst: trust_model_string
      Src: /src/gnupg/g10/trustdb.c:660,1
    - Dst: verify_own_keys
      Src: /src/gnupg/g10/trustdb.c:669,1
    - Dst: tdbio_db_matches_options
      Src: /src/gnupg/g10/trustdb.c:671,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 29
    argCount: 2
    argNames:
    - ctrl
    - no_create
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 611
    functionDepth: 6
    functionLinenumber: 611
    functionLinenumberEnd: 676
    functionName: init_trustdb
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 4
    functionsReached:
    - verify_own_keys
    - tdbio_set_dbname
    - log_fatal
    - _
    - BUG
    - tdbio_read_model
    - gpg_error
    - gpg_strerror
    - log_info
    - trust_model_string
    - tdbio_db_matches_options
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t init_trustdb (ctrl_t ctrl, int no_create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_trustdb
      Src: /src/gnupg/g10/trustdb.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 682
    functionDepth: 7
    functionLinenumber: 682
    functionLinenumberEnd: 686
    functionName: have_trustdb
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - init_trustdb
    linkageType: ''
    returnType: int
    signature: int have_trustdb (ctrl_t ctrl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: init_trustdb
      Src: /src/gnupg/g10/trustdb.c:697,1
    - Dst: tdbio_read_nextcheck
      Src: /src/gnupg/g10/trustdb.c:705,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:708,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:708,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/trustdb.c:712,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:714,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:714,1
    - Dst: strtimestamp
      Src: /src/gnupg/g10/trustdb.c:715,1
    - Dst: validate_keys
      Src: /src/gnupg/g10/trustdb.c:720,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:723,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:723,1
    - Dst: trust_model_string
      Src: /src/gnupg/g10/trustdb.c:724,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 694
    functionDepth: 7
    functionLinenumber: 694
    functionLinenumberEnd: 725
    functionName: check_trustdb
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 1
    functionsReached:
    - validate_keys
    - tdbio_read_nextcheck
    - _
    - make_timestamp
    - init_trustdb
    - strtimestamp
    - log_info
    - trust_model_string
    linkageType: ''
    returnType: void
    signature: void check_trustdb (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_trustdb
      Src: /src/gnupg/g10/trustdb.c:734,1
    - Dst: validate_keys
      Src: /src/gnupg/g10/trustdb.c:737,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:739,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:739,1
    - Dst: trust_model_string
      Src: /src/gnupg/g10/trustdb.c:740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 731
    functionDepth: 7
    functionLinenumber: 731
    functionLinenumberEnd: 741
    functionName: update_trustdb
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 3
    functionsReached:
    - validate_keys
    - _
    - init_trustdb
    - log_info
    - trust_model_string
    linkageType: ''
    returnType: void
    signature: void update_trustdb (ctrl_t ctrl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_trustdb
      Src: /src/gnupg/g10/trustdb.c:746,1
    - Dst: tdbio_write_nextcheck
      Src: /src/gnupg/g10/trustdb.c:752,1
    - Dst: do_sync
      Src: /src/gnupg/g10/trustdb.c:753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 743
    functionDepth: 7
    functionLinenumber: 743
    functionLinenumberEnd: 755
    functionName: tdb_revalidation_mark
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 2
    functionsReached:
    - tdbio_write_nextcheck
    - init_trustdb
    - do_sync
    linkageType: ''
    returnType: void
    signature: void tdb_revalidation_mark (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 761
    functionName: trustdb_pending_check
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int trustdb_pending_check(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: trustdb_pending_check
      Src: /src/gnupg/g10/trustdb.c:768,1
    - Dst: update_trustdb
      Src: /src/gnupg/g10/trustdb.c:771,1
    - Dst: check_trustdb
      Src: /src/gnupg/g10/trustdb.c:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 765
    functionDepth: 8
    functionLinenumber: 765
    functionLinenumberEnd: 775
    functionName: tdb_check_or_update
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 1
    functionsReached:
    - trustdb_pending_check
    - update_trustdb
    - check_trustdb
    linkageType: ''
    returnType: void
    signature: void tdb_check_or_update (ctrl_t ctrl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: init_trustdb
      Src: /src/gnupg/g10/trustdb.c:785,1
    - Dst: memset
      Src: /src/gnupg/g10/trustdb.c:787,1
    - Dst: read_record
      Src: /src/gnupg/g10/trustdb.c:789,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 8
    argNames:
    - ctrl
    - trust_model
    - created
    - nextcheck
    - marginals
    - completes
    - cert_depth
    - min_cert_level
    argTypes:
    - ctrl_t
    - byte*
    - ulong*
    - ulong*
    - byte*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 777
    functionDepth: 7
    functionLinenumber: 777
    functionLinenumberEnd: 805
    functionName: read_trust_options
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 1
    functionsReached:
    - init_trustdb
    - memset
    - read_record
    linkageType: ''
    returnType: void
    signature: "void read_trust_options (ctrl_t ctrl,\n                    byte *trust_model,
      ulong *created, ulong *nextcheck,\n\t\t    byte *marginals, byte *completes,
      byte *cert_depth,\n\t\t    byte *min_cert_level)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init_trustdb
      Src: /src/gnupg/g10/trustdb.c:816,1
    - Dst: tdbio_search_trust_bypk
      Src: /src/gnupg/g10/trustdb.c:817,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/trustdb.c:820,1
    - Dst: log_error
      Src: /src/gnupg/g10/trustdb.c:821,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/trustdb.c:822,1
    - Dst: log_error
      Src: /src/gnupg/g10/trustdb.c:828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ctrl
    - pk
    - rec
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - TRUSTREC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 811
    functionDepth: 7
    functionLinenumber: 811
    functionLinenumberEnd: 834
    functionName: read_trust_record
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - log_error
    - tdbio_search_trust_bypk
    - init_trustdb
    - gpg_err_code
    - gpg_strerror
    linkageType: ''
    returnType: int
    signature: int read_trust_record (ctrl_t ctrl, PKT_public_key *pk, TRUSTREC *rec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: init_trustdb
      Src: /src/gnupg/g10/trustdb.c:856,1
    - Dst: read_trust_record
      Src: /src/gnupg/g10/trustdb.c:859,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/trustdb.c:860,1
    - Dst: tdbio_invalid
      Src: /src/gnupg/g10/trustdb.c:864,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - ctrl
    - pk
    - no_create
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 844
    functionDepth: 8
    functionLinenumber: 844
    functionLinenumberEnd: 869
    functionName: tdb_get_ownertrust
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 3
    functionsReached:
    - init_trustdb
    - read_trust_record
    - gpg_err_code
    - tdbio_invalid
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int tdb_get_ownertrust (ctrl_t ctrl, PKT_public_key *pk, int
      no_create)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: init_trustdb
      Src: /src/gnupg/g10/trustdb.c:884,1
    - Dst: read_trust_record
      Src: /src/gnupg/g10/trustdb.c:887,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/trustdb.c:888,1
    - Dst: tdbio_invalid
      Src: /src/gnupg/g10/trustdb.c:892,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - ctrl
    - pk
    - no_create
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 872
    functionDepth: 8
    functionLinenumber: 872
    functionLinenumberEnd: 897
    functionName: tdb_get_min_ownertrust
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 2
    functionsReached:
    - init_trustdb
    - read_trust_record
    - gpg_err_code
    - tdbio_invalid
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int tdb_get_min_ownertrust (ctrl_t ctrl, PKT_public_key *pk,
      int no_create)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: read_trust_record
      Src: /src/gnupg/g10/trustdb.c:914,1
    - Dst: log_debug
      Src: /src/gnupg/g10/trustdb.c:918,1
    - Dst: write_record
      Src: /src/gnupg/g10/trustdb.c:936,1
    - Dst: tdb_revalidation_mark
      Src: /src/gnupg/g10/trustdb.c:937,1
    - Dst: do_sync
      Src: /src/gnupg/g10/trustdb.c:938,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/trustdb.c:941,1
    - Dst: log_debug
      Src: /src/gnupg/g10/trustdb.c:944,1
    - Dst: memset
      Src: /src/gnupg/g10/trustdb.c:947,1
    - Dst: tdbio_new_recnum
      Src: /src/gnupg/g10/trustdb.c:948,1
    - Dst: fpr20_from_pk
      Src: /src/gnupg/g10/trustdb.c:950,1
    - Dst: write_record
      Src: /src/gnupg/g10/trustdb.c:955,1
    - Dst: tdb_revalidation_mark
      Src: /src/gnupg/g10/trustdb.c:956,1
    - Dst: do_sync
      Src: /src/gnupg/g10/trustdb.c:957,1
    - Dst: tdbio_invalid
      Src: /src/gnupg/g10/trustdb.c:961,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - ctrl
    - pk
    - new_trust
    - as_trusted_key
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 904
    functionDepth: 8
    functionLinenumber: 904
    functionLinenumberEnd: 963
    functionName: tdb_update_ownertrust
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 2
    functionsReached:
    - tdbio_invalid
    - tdb_revalidation_mark
    - read_trust_record
    - do_sync
    - gpg_err_code
    - memset
    - fpr20_from_pk
    - write_record
    - tdbio_new_recnum
    - log_debug
    linkageType: ''
    returnType: void
    signature: "void tdb_update_ownertrust (ctrl_t ctrl, PKT_public_key *pk, unsigned
      int new_trust,\n                       int as_trusted_key)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/trustdb.c:975,1
    - Dst: get_pubkey
      Src: /src/gnupg/g10/trustdb.c:976,1
    - Dst: log_error
      Src: /src/gnupg/g10/trustdb.c:979,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:979,1
    - Dst: keystr
      Src: /src/gnupg/g10/trustdb.c:980,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/trustdb.c:980,1
    - Dst: xfree
      Src: /src/gnupg/g10/trustdb.c:981,1
    - Dst: read_trust_record
      Src: /src/gnupg/g10/trustdb.c:985,1
    - Dst: log_debug
      Src: /src/gnupg/g10/trustdb.c:989,1
    - Dst: write_record
      Src: /src/gnupg/g10/trustdb.c:996,1
    - Dst: tdb_revalidation_mark
      Src: /src/gnupg/g10/trustdb.c:997,1
    - Dst: do_sync
      Src: /src/gnupg/g10/trustdb.c:998,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/trustdb.c:1001,1
    - Dst: log_debug
      Src: /src/gnupg/g10/trustdb.c:1004,1
    - Dst: memset
      Src: /src/gnupg/g10/trustdb.c:1006,1
    - Dst: tdbio_new_recnum
      Src: /src/gnupg/g10/trustdb.c:1007,1
    - Dst: fpr20_from_pk
      Src: /src/gnupg/g10/trustdb.c:1009,1
    - Dst: write_record
      Src: /src/gnupg/g10/trustdb.c:1011,1
    - Dst: tdb_revalidation_mark
      Src: /src/gnupg/g10/trustdb.c:1012,1
    - Dst: do_sync
      Src: /src/gnupg/g10/trustdb.c:1013,1
    - Dst: tdbio_invalid
      Src: /src/gnupg/g10/trustdb.c:1017,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/trustdb.c:1020,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - ctrl
    - kid
    - new_trust
    argTypes:
    - ctrl_t
    - u32*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 965
    functionDepth: 8
    functionLinenumber: 965
    functionLinenumberEnd: 1021
    functionName: update_min_ownertrust
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - free_public_key
    - get_pubkey
    - log_error
    - fpr20_from_pk
    - _
    - tdbio_invalid
    - tdb_revalidation_mark
    - read_trust_record
    - gpg_strerror
    - xfree
    - do_sync
    - keystr
    - gpg_err_code
    - memset
    - write_record
    - xmalloc_clear
    - tdbio_new_recnum
    - log_debug
    linkageType: ''
    returnType: void
    signature: void update_min_ownertrust (ctrl_t ctrl, u32 *kid, unsigned int new_trust)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: init_trustdb
      Src: /src/gnupg/g10/trustdb.c:1036,1
    - Dst: read_trust_record
      Src: /src/gnupg/g10/trustdb.c:1041,1
    - Dst: log_debug
      Src: /src/gnupg/g10/trustdb.c:1046,1
    - Dst: log_debug
      Src: /src/gnupg/g10/trustdb.c:1048,1
    - Dst: write_record
      Src: /src/gnupg/g10/trustdb.c:1055,1
    - Dst: tdb_revalidation_mark
      Src: /src/gnupg/g10/trustdb.c:1056,1
    - Dst: do_sync
      Src: /src/gnupg/g10/trustdb.c:1057,1
    - Dst: read_record
      Src: /src/gnupg/g10/trustdb.c:1067,1
    - Dst: log_debug
      Src: /src/gnupg/g10/trustdb.c:1075,1
    - Dst: tdb_revalidation_mark
      Src: /src/gnupg/g10/trustdb.c:1077,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/trustdb.c:1081,1
    - Dst: tdbio_invalid
      Src: /src/gnupg/g10/trustdb.c:1083,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - ctrl
    - pk
    argTypes:
    - ctrl_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1030
    functionDepth: 8
    functionLinenumber: 1030
    functionLinenumberEnd: 1086
    functionName: tdb_clear_ownertrusts
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 1
    functionsReached:
    - read_record
    - init_trustdb
    - read_trust_record
    - tdb_revalidation_mark
    - do_sync
    - gpg_err_code
    - write_record
    - tdbio_invalid
    - log_debug
    linkageType: ''
    returnType: int
    signature: int tdb_clear_ownertrusts (ctrl_t ctrl, PKT_public_key *pk)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: namehash_from_uid
      Src: /src/gnupg/g10/trustdb.c:1099,1
    - Dst: read_trust_record
      Src: /src/gnupg/g10/trustdb.c:1101,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/trustdb.c:1102,1
    - Dst: tdbio_invalid
      Src: /src/gnupg/g10/trustdb.c:1104,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/trustdb.c:1107,1
    - Dst: memset
      Src: /src/gnupg/g10/trustdb.c:1110,1
    - Dst: tdbio_new_recnum
      Src: /src/gnupg/g10/trustdb.c:1111,1
    - Dst: fpr20_from_pk
      Src: /src/gnupg/g10/trustdb.c:1113,1
    - Dst: read_record
      Src: /src/gnupg/g10/trustdb.c:1121,1
    - Dst: memcmp
      Src: /src/gnupg/g10/trustdb.c:1122,1
    - Dst: memset
      Src: /src/gnupg/g10/trustdb.c:1129,1
    - Dst: tdbio_new_recnum
      Src: /src/gnupg/g10/trustdb.c:1130,1
    - Dst: memcpy
      Src: /src/gnupg/g10/trustdb.c:1132,1
    - Dst: write_record
      Src: /src/gnupg/g10/trustdb.c:1139,1
    - Dst: write_record
      Src: /src/gnupg/g10/trustdb.c:1141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 5
    argNames:
    - ctrl
    - pk
    - uid
    - depth
    - validity
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - PKT_user_id*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1091
    functionDepth: 8
    functionLinenumber: 1091
    functionLinenumberEnd: 1142
    functionName: update_validity
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - read_record
    - fpr20_from_pk
    - read_trust_record
    - memset
    - gpg_err_code
    - memcmp
    - namehash_from_uid
    - tdbio_new_recnum
    - write_record
    - memcpy
    - tdbio_invalid
    linkageType: ''
    returnType: void
    signature: "void update_validity (ctrl_t ctrl, PKT_public_key *pk, PKT_user_id
      *uid,\n                 int depth, int validity)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: init_trustdb
      Src: /src/gnupg/g10/trustdb.c:1161,1
    - Dst: read_trust_record
      Src: /src/gnupg/g10/trustdb.c:1166,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/trustdb.c:1167,1
    - Dst: tdbio_invalid
      Src: /src/gnupg/g10/trustdb.c:1169,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/trustdb.c:1172,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - ctrl
    - pk
    argTypes:
    - ctrl_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1151
    functionDepth: 8
    functionLinenumber: 1151
    functionLinenumberEnd: 1188
    functionName: tdb_cache_disabled_value
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 1
    functionsReached:
    - init_trustdb
    - read_trust_record
    - gpg_err_code
    - tdbio_invalid
    linkageType: ''
    returnType: int
    signature: int tdb_cache_disabled_value (ctrl_t ctrl, PKT_public_key *pk)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: init_trustdb
      Src: /src/gnupg/g10/trustdb.c:1196,1
    - Dst: tdbio_read_nextcheck
      Src: /src/gnupg/g10/trustdb.c:1208,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/trustdb.c:1209,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:1216,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:1216,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:1221,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:1221,1
    - Dst: validate_keys
      Src: /src/gnupg/g10/trustdb.c:1222,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1191
    functionDepth: 7
    functionLinenumber: 1191
    functionLinenumberEnd: 1226
    functionName: tdb_check_trustdb_stale
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 1
    functionsReached:
    - validate_keys
    - tdbio_read_nextcheck
    - _
    - make_timestamp
    - init_trustdb
    - log_info
    linkageType: ''
    returnType: void
    signature: void tdb_check_trustdb_stale (ctrl_t ctrl)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/trustdb.c:1253,1
    - Dst: keyid_cmp
      Src: /src/gnupg/g10/trustdb.c:1253,1
    - Dst: pk_main_keyid
      Src: /src/gnupg/g10/trustdb.c:1253,1
    - Dst: pk_main_keyid
      Src: /src/gnupg/g10/trustdb.c:1254,1
    - Dst: log_assert
      Src: /src/gnupg/g10/trustdb.c:1258,1
    - Dst: init_trustdb
      Src: /src/gnupg/g10/trustdb.c:1267,1
    - Dst: check_trustdb_stale
      Src: /src/gnupg/g10/trustdb.c:1276,1
    - Dst: tdb_get_ownertrust
      Src: /src/gnupg/g10/trustdb.c:1282,1
    - Dst: get_pubkeyblock
      Src: /src/gnupg/g10/trustdb.c:1298,1
    - Dst: log_debug
      Src: /src/gnupg/g10/trustdb.c:1305,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/trustdb.c:1308,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/g10/trustdb.c:1331,1
    - Dst: strcmp
      Src: /src/gnupg/g10/trustdb.c:1332,1
    - Dst: log_debug
      Src: /src/gnupg/g10/trustdb.c:1335,1
    - Dst: xfree
      Src: /src/gnupg/g10/trustdb.c:1338,1
    - Dst: xfree
      Src: /src/gnupg/g10/trustdb.c:1341,1
    - Dst: log_debug
      Src: /src/gnupg/g10/trustdb.c:1357,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/trustdb.c:1367,1
    - Dst: strlist_rev
      Src: /src/gnupg/g10/trustdb.c:1373,1
    - Dst: tofu_register_signature
      Src: /src/gnupg/g10/trustdb.c:1381,1
    - Dst: log_error
      Src: /src/gnupg/g10/trustdb.c:1386,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/trustdb.c:1387,1
    - Dst: tofu_get_validity
      Src: /src/gnupg/g10/trustdb.c:1393,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/trustdb.c:1396,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/trustdb.c:1398,1
    - Dst: read_trust_record
      Src: /src/gnupg/g10/trustdb.c:1406,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/trustdb.c:1407,1
    - Dst: tdbio_invalid
      Src: /src/gnupg/g10/trustdb.c:1409,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/trustdb.c:1412,1
    - Dst: read_record
      Src: /src/gnupg/g10/trustdb.c:1424,1
    - Dst: memcmp
      Src: /src/gnupg/g10/trustdb.c:1432,1
    - Dst: tofu_wot_trust_combine
      Src: /src/gnupg/g10/trustdb.c:1461,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 118
    argCount: 7
    argNames:
    - ctrl
    - kb
    - pk
    - uid
    - main_pk
    - sig
    - may_ask
    argTypes:
    - ctrl_t
    - kbnode_t
    - PKT_public_key*
    - PKT_user_id*
    - PKT_public_key*
    - PKT_signature*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1235
    functionDepth: 9
    functionLinenumber: 1235
    functionLinenumberEnd: 1478
    functionName: tdb_get_validity_core
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 1
    functionsReached:
    - log_assert
    - strlist_rev
    - tofu_wot_trust_combine
    - read_record
    - log_error
    - check_trustdb_stale
    - free_strlist
    - tofu_register_signature
    - log_debug
    - tdbio_invalid
    - strcmp
    - pk_main_keyid
    - xfree
    - gpg_strerror
    - mailbox_from_userid
    - tofu_get_validity
    - find_next_kbnode
    - release_kbnode
    - get_pubkeyblock
    - add_to_strlist
    - keyid_cmp
    - init_trustdb
    - read_trust_record
    - gpg_err_code
    - memcmp
    - tdb_get_ownertrust
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int tdb_get_validity_core (ctrl_t ctrl,\n                       kbnode_t
      kb,\n                       PKT_public_key *pk, PKT_user_id *uid,\n                       PKT_public_key
      *main_pk,\n\t\t       PKT_signature *sig,\n\t\t       int may_ask)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/gnupg/g10/trustdb.c:1488,1
    - Dst: namehash_from_uid
      Src: /src/gnupg/g10/trustdb.c:1490,1
    - Dst: init_trustdb
      Src: /src/gnupg/g10/trustdb.c:1494,1
    - Dst: read_trust_record
      Src: /src/gnupg/g10/trustdb.c:1496,1
    - Dst: read_record
      Src: /src/gnupg/g10/trustdb.c:1503,1
    - Dst: memcmp
      Src: /src/gnupg/g10/trustdb.c:1505,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ctrl
    - pk
    - uid
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1481
    functionDepth: 8
    functionLinenumber: 1481
    functionLinenumberEnd: 1515
    functionName: get_validity_counts
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - read_record
    - BUG
    - init_trustdb
    - read_trust_record
    - memcmp
    - namehash_from_uid
    linkageType: ''
    returnType: void
    signature: void get_validity_counts (ctrl_t ctrl, PKT_public_key *pk, PKT_user_id
      *uid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - username
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1521
    functionName: list_trust_path
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_trust_path( const char *username )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - context
    - lid
    - ownertrust
    - validity
    argTypes:
    - void**
    - ulong*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1550
    functionName: enum_cert_paths
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int enum_cert_paths( void **context, ulong *lid,\n\t\t unsigned *ownertrust,
      unsigned *validity )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - context
    - fp
    - refresh
    - selected_lid
    argTypes:
    - void**
    - FILE*
    - int
    - ulong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1564
    functionName: enum_cert_paths_print
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void enum_cert_paths_print (void **context, FILE *fp,\n                       int
      refresh, ulong selected_lid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/trustdb.c:1579,1
    - Dst: get_pubkey
      Src: /src/gnupg/g10/trustdb.c:1580,1
    - Dst: log_error
      Src: /src/gnupg/g10/trustdb.c:1583,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:1583,1
    - Dst: keystr
      Src: /src/gnupg/g10/trustdb.c:1584,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/trustdb.c:1584,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/trustdb.c:1585,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:1591,1
    - Dst: keystr
      Src: /src/gnupg/g10/trustdb.c:1592,1
    - Dst: trust_value_to_string
      Src: /src/gnupg/g10/trustdb.c:1592,1
    - Dst: tdb_update_ownertrust
      Src: /src/gnupg/g10/trustdb.c:1593,1
    - Dst: edit_ownertrust
      Src: /src/gnupg/g10/trustdb.c:1598,1
    - Dst: tdb_get_ownertrust
      Src: /src/gnupg/g10/trustdb.c:1600,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/trustdb.c:1607,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ctrl
    - kid
    - minimum
    argTypes:
    - ctrl_t
    - u32*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1572
    functionDepth: 9
    functionLinenumber: 1572
    functionLinenumberEnd: 1610
    functionName: ask_ownertrust
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - trust_value_to_string
    - free_public_key
    - edit_ownertrust
    - get_pubkey
    - log_error
    - _
    - gpg_strerror
    - log_info
    - keystr
    - tdb_get_ownertrust
    - xmalloc_clear
    - tdb_update_ownertrust
    linkageType: ''
    returnType: int
    signature: int ask_ownertrust (ctrl_t ctrl, u32 *kid, int minimum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/trustdb.c:1622,1
    - Dst: add_key_hash_table
      Src: /src/gnupg/g10/trustdb.c:1623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - tbl
    - node
    argTypes:
    - KeyHashTable
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1613
    functionDepth: 3
    functionLinenumber: 1613
    functionLinenumberEnd: 1625
    functionName: mark_keyblock_seen
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - keyid_from_pk
    - add_key_hash_table
    linkageType: ''
    returnType: void
    signature: void mark_keyblock_seen (KeyHashTable tbl, KBNODE node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/trustdb.c:1638,1
    - Dst: es_printf
      Src: /src/gnupg/g10/trustdb.c:1639,1
    - Dst: es_printf
      Src: /src/gnupg/g10/trustdb.c:1650,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/trustdb.c:1655,1
    - Dst: es_putc
      Src: /src/gnupg/g10/trustdb.c:1657,1
    - Dst: es_putc
      Src: /src/gnupg/g10/trustdb.c:1658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - depth
    - keys
    argTypes:
    - int
    - struct key_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1628
    functionDepth: 1
    functionLinenumber: 1628
    functionLinenumberEnd: 1662
    functionName: dump_key_array
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - es_write_sanitized
    - keyid_from_pk
    - es_putc
    - es_printf
    linkageType: ''
    returnType: void
    signature: void dump_key_array (int depth, struct key_array *keys)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: update_validity
      Src: /src/gnupg/g10/trustdb.c:1691,1
    - Dst: do_sync
      Src: /src/gnupg/g10/trustdb.c:1699,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - ctrl
    - depth
    - keyblock
    argTypes:
    - ctrl_t
    - int
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1667
    functionDepth: 9
    functionLinenumber: 1667
    functionLinenumberEnd: 1700
    functionName: store_validation_status
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - update_validity
    - do_sync
    linkageType: ''
    returnType: void
    signature: void store_validation_status (ctrl_t ctrl, int depth, kbnode_t keyblock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/trustdb.c:1712,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/trustdb.c:1714,1
    - Dst: strncmp
      Src: /src/gnupg/g10/trustdb.c:1732,1
    - Dst: strlen
      Src: /src/gnupg/g10/trustdb.c:1736,1
    - Dst: strchr
      Src: /src/gnupg/g10/trustdb.c:1748,1
    - Dst: strcat
      Src: /src/gnupg/g10/trustdb.c:1765,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - old
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 1768
    functionName: sanitize_regexp
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - strlen
    - xmalloc
    - strchr
    - strncmp
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      sanitize_regexp(const char *old)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sanitize_regexp
      Src: /src/gnupg/g10/trustdb.c:1782,1
    - Dst: regcomp
      Src: /src/gnupg/g10/trustdb.c:1784,1
    - Dst: strchr
      Src: /src/gnupg/g10/trustdb.c:1787,1
    - Dst: is_valid_mailbox
      Src: /src/gnupg/g10/trustdb.c:1788,1
    - Dst: xstrconcat
      Src: /src/gnupg/g10/trustdb.c:1795,1
    - Dst: regexec
      Src: /src/gnupg/g10/trustdb.c:1798,1
    - Dst: regfree
      Src: /src/gnupg/g10/trustdb.c:1799,1
    - Dst: log_debug
      Src: /src/gnupg/g10/trustdb.c:1805,1
    - Dst: xfree
      Src: /src/gnupg/g10/trustdb.c:1808,1
    - Dst: xfree
      Src: /src/gnupg/g10/trustdb.c:1809,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - expr
    - string
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1774
    functionDepth: 2
    functionLinenumber: 1774
    functionLinenumberEnd: 1811
    functionName: check_regexp
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - regfree
    - xstrconcat
    - strchr
    - xfree
    - is_valid_mailbox
    - sanitize_regexp
    - regcomp
    - log_debug
    - regexec
    linkageType: ''
    returnType: int
    signature: int check_regexp (const char *expr,const char *string)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/trustdb.c:1837,1
    - Dst: get_validity_counts
      Src: /src/gnupg/g10/trustdb.c:1874,1
    - Dst: mark_usable_uid_certs
      Src: /src/gnupg/g10/trustdb.c:1875,1
    - Dst: is_in_klist
      Src: /src/gnupg/g10/trustdb.c:1884,1
    - Dst: check_regexp
      Src: /src/gnupg/g10/trustdb.c:1893,1
    - Dst: log_debug
      Src: /src/gnupg/g10/trustdb.c:1927,1
    - Dst: log_debug
      Src: /src/gnupg/g10/trustdb.c:1950,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 57
    argCount: 5
    argNames:
    - ctrl
    - kb
    - klist
    - curtime
    - next_expire
    argTypes:
    - ctrl_t
    - kbnode_t
    - struct key_item*
    - u32
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1826
    functionDepth: 9
    functionLinenumber: 1826
    functionLinenumberEnd: 1988
    functionName: validate_one_keyblock
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - mark_usable_uid_certs
    - keyid_from_pk
    - is_in_klist
    - get_validity_counts
    - check_regexp
    - log_debug
    linkageType: ''
    returnType: int
    signature: "int validate_one_keyblock (ctrl_t ctrl, kbnode_t kb, struct key_item
      *klist,\n                       u32 curtime, u32 *next_expire)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_key_hash_table
      Src: /src/gnupg/g10/trustdb.c:1995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - opaque
    - kid
    - dummy_uid_no
    argTypes:
    - void*
    - u32*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1991
    functionDepth: 1
    functionLinenumber: 1991
    functionLinenumberEnd: 1996
    functionName: search_skipfnc
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - test_key_hash_table
    linkageType: ''
    returnType: int
    signature: int search_skipfnc (void *opaque, u32 *kid, int dummy_uid_no)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/g10/trustdb.c:2018,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/g10/trustdb.c:2021,1
    - Dst: log_error
      Src: /src/gnupg/g10/trustdb.c:2024,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/trustdb.c:2024,1
    - Dst: xfree
      Src: /src/gnupg/g10/trustdb.c:2025,1
    - Dst: memset
      Src: /src/gnupg/g10/trustdb.c:2029,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/trustdb.c:2033,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/trustdb.c:2034,1
    - Dst: log_error
      Src: /src/gnupg/g10/trustdb.c:2041,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/trustdb.c:2041,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/trustdb.c:2050,1
    - Dst: log_error
      Src: /src/gnupg/g10/trustdb.c:2053,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/trustdb.c:2053,1
    - Dst: log_debug
      Src: /src/gnupg/g10/trustdb.c:2059,1
    - Dst: dump_kbnode
      Src: /src/gnupg/g10/trustdb.c:2061,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/trustdb.c:2062,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/trustdb.c:2067,1
    - Dst: clear_kbnode_flags
      Src: /src/gnupg/g10/trustdb.c:2068,1
    - Dst: mark_keyblock_seen
      Src: /src/gnupg/g10/trustdb.c:2074,1
    - Dst: validate_one_keyblock
      Src: /src/gnupg/g10/trustdb.c:2076,1
    - Dst: xrealloc
      Src: /src/gnupg/g10/trustdb.c:2089,1
    - Dst: mark_keyblock_seen
      Src: /src/gnupg/g10/trustdb.c:2101,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/trustdb.c:2106,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/trustdb.c:2109,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/trustdb.c:2111,1
    - Dst: log_error
      Src: /src/gnupg/g10/trustdb.c:2113,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/trustdb.c:2113,1
    - Dst: release_key_array
      Src: /src/gnupg/g10/trustdb.c:2122,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 74
    argCount: 6
    argNames:
    - ctrl
    - hd
    - full_trust
    - klist
    - curtime
    - next_expire
    argTypes:
    - ctrl_t
    - KEYDB_HANDLE
    - KeyHashTable
    - struct key_item*
    - u32
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2007
    functionDepth: 10
    functionLinenumber: 2007
    functionLinenumberEnd: 2124
    functionName: validate_key_list
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - validate_one_keyblock
    - mark_keyblock_seen
    - log_error
    - release_kbnode
    - keydb_search
    - xrealloc
    - xmalloc
    - release_key_array
    - gpg_strerror
    - keydb_search_reset
    - xfree
    - memset
    - gpg_err_code
    - merge_keys_and_selfsig
    - clear_kbnode_flags
    - dump_kbnode
    - keydb_get_keyblock
    - log_debug
    linkageType: ''
    returnType: struct key_array
    signature: "struct key_array *\nvalidate_key_list (ctrl_t ctrl, KEYDB_HANDLE hd,
      KeyHashTable full_trust,\n                   struct key_item *klist, u32 curtime,
      u32 *next_expire)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/trustdb.c:2134,1
    - Dst: write_record
      Src: /src/gnupg/g10/trustdb.c:2142,1
    - Dst: write_record
      Src: /src/gnupg/g10/trustdb.c:2154,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:2161,1
    - Dst: ngettext
      Src: /src/gnupg/g10/trustdb.c:2161,1
    - Dst: log_printf
      Src: /src/gnupg/g10/trustdb.c:2164,1
    - Dst: ngettext
      Src: /src/gnupg/g10/trustdb.c:2164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2127
    functionDepth: 1
    functionLinenumber: 2127
    functionLinenumberEnd: 2168
    functionName: reset_trust_records
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 0
    functionsReached:
    - tdbio_read_record
    - ngettext
    - log_info
    - write_record
    - log_printf
    linkageType: ''
    returnType: void
    signature: void reset_trust_records (ctrl_t ctrl)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: keydb_rebuild_caches
      Src: /src/gnupg/g10/trustdb.c:2216,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/trustdb.c:2218,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/trustdb.c:2220,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/trustdb.c:2222,1
    - Dst: new_key_hash_table
      Src: /src/gnupg/g10/trustdb.c:2224,1
    - Dst: new_key_hash_table
      Src: /src/gnupg/g10/trustdb.c:2225,1
    - Dst: reset_trust_records
      Src: /src/gnupg/g10/trustdb.c:2227,1
    - Dst: get_pubkeyblock
      Src: /src/gnupg/g10/trustdb.c:2240,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:2244,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:2244,1
    - Dst: keystr
      Src: /src/gnupg/g10/trustdb.c:2245,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:2252,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:2252,1
    - Dst: keystr
      Src: /src/gnupg/g10/trustdb.c:2253,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/trustdb.c:2254,1
    - Dst: copy_key_item
      Src: /src/gnupg/g10/trustdb.c:2259,1
    - Dst: mark_keyblock_seen
      Src: /src/gnupg/g10/trustdb.c:2264,1
    - Dst: mark_keyblock_seen
      Src: /src/gnupg/g10/trustdb.c:2265,1
    - Dst: update_validity
      Src: /src/gnupg/g10/trustdb.c:2269,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/trustdb.c:2276,1
    - Dst: do_sync
      Src: /src/gnupg/g10/trustdb.c:2277,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:2288,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:2288,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:2294,1
    - Dst: trust_model_string
      Src: /src/gnupg/g10/trustdb.c:2296,1
    - Dst: update_min_ownertrust
      Src: /src/gnupg/g10/trustdb.c:2319,1
    - Dst: ask_ownertrust
      Src: /src/gnupg/g10/trustdb.c:2323,1
    - Dst: log_debug
      Src: /src/gnupg/g10/trustdb.c:2339,1
    - Dst: trust_value_to_string
      Src: /src/gnupg/g10/trustdb.c:2342,1
    - Dst: trust_value_to_string
      Src: /src/gnupg/g10/trustdb.c:2343,1
    - Dst: validate_key_list
      Src: /src/gnupg/g10/trustdb.c:2365,1
    - Dst: log_error
      Src: /src/gnupg/g10/trustdb.c:2369,1
    - Dst: dump_key_array
      Src: /src/gnupg/g10/trustdb.c:2379,1
    - Dst: store_validation_status
      Src: /src/gnupg/g10/trustdb.c:2382,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:2385,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:2385,1
    - Dst: release_key_items
      Src: /src/gnupg/g10/trustdb.c:2392,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/trustdb.c:2403,1
    - Dst: test_key_hash_table
      Src: /src/gnupg/g10/trustdb.c:2404,1
    - Dst: add_key_hash_table
      Src: /src/gnupg/g10/trustdb.c:2410,1
    - Dst: new_key_item
      Src: /src/gnupg/g10/trustdb.c:2411,1
    - Dst: tdb_get_ownertrust
      Src: /src/gnupg/g10/trustdb.c:2415,1
    - Dst: tdb_get_min_ownertrust
      Src: /src/gnupg/g10/trustdb.c:2418,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/trustdb.c:2426,1
    - Dst: release_key_array
      Src: /src/gnupg/g10/trustdb.c:2435,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/trustdb.c:2442,1
    - Dst: release_key_array
      Src: /src/gnupg/g10/trustdb.c:2443,1
    - Dst: release_key_items
      Src: /src/gnupg/g10/trustdb.c:2445,1
    - Dst: release_key_items
      Src: /src/gnupg/g10/trustdb.c:2446,1
    - Dst: release_key_hash_table
      Src: /src/gnupg/g10/trustdb.c:2447,1
    - Dst: release_key_hash_table
      Src: /src/gnupg/g10/trustdb.c:2448,1
    - Dst: tdbio_write_nextcheck
      Src: /src/gnupg/g10/trustdb.c:2454,1
    - Dst: tdbio_write_nextcheck
      Src: /src/gnupg/g10/trustdb.c:2457,1
    - Dst: log_info
      Src: /src/gnupg/g10/trustdb.c:2459,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:2459,1
    - Dst: strtimestamp
      Src: /src/gnupg/g10/trustdb.c:2460,1
    - Dst: tdbio_update_version_record
      Src: /src/gnupg/g10/trustdb.c:2463,1
    - Dst: log_error
      Src: /src/gnupg/g10/trustdb.c:2466,1
    - Dst: _
      Src: /src/gnupg/g10/trustdb.c:2466,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/trustdb.c:2467,1
    - Dst: tdbio_invalid
      Src: /src/gnupg/g10/trustdb.c:2468,1
    - Dst: do_sync
      Src: /src/gnupg/g10/trustdb.c:2471,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 157
    argCount: 2
    argNames:
    - ctrl
    - interactive
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2476
      start: 2194
    functionDepth: 11
    functionLinenumber: 2194
    functionLinenumberEnd: 2476
    functionName: validate_keys
    functionSourceFile: /src/gnupg/g10/trustdb.c
    functionUses: 3
    functionsReached:
    - mark_keyblock_seen
    - new_key_hash_table
    - xstrdup
    - release_key_items
    - keydb_new
    - tdbio_write_nextcheck
    - log_error
    - release_key_hash_table
    - _
    - validate_key_list
    - release_key_array
    - log_info
    - add_key_hash_table
    - trust_model_string
    - tdbio_invalid
    - log_debug
    - dump_key_array
    - new_key_item
    - gpg_error_from_syserror
    - copy_key_item
    - keydb_rebuild_caches
    - strtimestamp
    - tdbio_update_version_record
    - do_sync
    - gpg_strerror
    - keystr
    - test_key_hash_table
    - tdb_get_min_ownertrust
    - trust_value_to_string
    - reset_trust_records
    - ask_ownertrust
    - release_kbnode
    - store_validation_status
    - keyid_from_pk
    - get_pubkeyblock
    - make_timestamp
    - update_validity
    - keydb_release
    - tdb_get_ownertrust
    - update_min_ownertrust
    linkageType: ''
    returnType: int
    signature: int validate_keys (ctrl_t ctrl, int interactive)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 344
    functionName: struct
    functionSourceFile: /src/gnupg/g10/options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EXTERN_UNLESS_MAIN_MODULE
    signature: EXTERN_UNLESS_MAIN_MODULE struct
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 362
    functionName: struct
    functionSourceFile: /src/gnupg/g10/options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EXTERN_UNLESS_MAIN_MODULE
    signature: EXTERN_UNLESS_MAIN_MODULE struct
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: set_exec_path
    functionSourceFile: /src/gnupg/g10/exec.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_exec_path(const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/g10/exec.c:38,1
    - Dst: strlen
      Src: /src/gnupg/g10/exec.c:38,1
    - Dst: strcpy
      Src: /src/gnupg/g10/exec.c:39,1
    - Dst: strcat
      Src: /src/gnupg/g10/exec.c:40,1
    - Dst: log_debug
      Src: /src/gnupg/g10/exec.c:43,1
    - Dst: putenv
      Src: /src/gnupg/g10/exec.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 53
    functionName: set_exec_path
    functionSourceFile: /src/gnupg/g10/exec.c
    functionUses: 1
    functionsReached:
    - strlen
    - putenv
    - xmalloc
    - strcpy
    - log_debug
    - strcat
    linkageType: ''
    returnType: int
    signature: int set_exec_path(const char *path)
  - 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: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: is_RSA
    functionSourceFile: /src/gnupg/g10/packet.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_RSA(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: is_ELGAMAL
    functionSourceFile: /src/gnupg/g10/packet.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_ELGAMAL(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: is_DSA
    functionSourceFile: /src/gnupg/g10/packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_DSA(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: pk_is_disabled
    functionSourceFile: /src/gnupg/g10/packet.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pk_is_disabled(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 648
    functionName: init_packet
    functionSourceFile: /src/gnupg/g10/packet.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: init_packet(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 745
    functionName: init_parse_packet
    functionSourceFile: /src/gnupg/g10/packet.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: init_parse_packet(a,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 750
    functionName: deinit_parse_packet
    functionSourceFile: /src/gnupg/g10/packet.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deinit_parse_packet(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 767
    functionName: search_packet
    functionSourceFile: /src/gnupg/g10/packet.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: search_packet( a,b,c,d )
  - 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: 769
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 769
    functionName: parse_packet
    functionSourceFile: /src/gnupg/g10/packet.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parse_packet( 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: 771
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 771
    functionName: copy_all_packets
    functionSourceFile: /src/gnupg/g10/packet.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: copy_all_packets( a,b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 773
    functionName: copy_some_packets
    functionSourceFile: /src/gnupg/g10/packet.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: copy_some_packets( a,b,c )
  - 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: 775
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 775
    functionName: skip_some_packets
    functionSourceFile: /src/gnupg/g10/packet.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: skip_some_packets( a,b )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recsel_release
      Src: /src/gnupg/g10/export.c:108,1
    - Dst: recsel_release
      Src: /src/gnupg/g10/export.c:110,1
    - Dst: recsel_release
      Src: /src/gnupg/g10/export.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: cleanup_export_globals
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - recsel_release
    linkageType: ''
    returnType: void
    signature: void cleanup_export_globals (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: N_
      Src: /src/gnupg/g10/export.c:125,1
    - Dst: N_
      Src: /src/gnupg/g10/export.c:127,1
    - Dst: N_
      Src: /src/gnupg/g10/export.c:129,1
    - Dst: N_
      Src: /src/gnupg/g10/export.c:131,1
    - Dst: N_
      Src: /src/gnupg/g10/export.c:135,1
    - Dst: N_
      Src: /src/gnupg/g10/export.c:141,1
    - Dst: N_
      Src: /src/gnupg/g10/export.c:144,1
    - Dst: N_
      Src: /src/gnupg/g10/export.c:148,1
    - Dst: parse_options
      Src: /src/gnupg/g10/export.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - str
    - options
    - noisy
    argTypes:
    - char*
    - unsigned int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 177
    functionName: parse_export_options
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 2
    functionsReached:
    - parse_options
    - N_
    linkageType: ''
    returnType: int
    signature: int parse_export_options(char *str,unsigned int *options,int noisy)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: register_mem_cleanup_func
      Src: /src/gnupg/g10/export.c:211,1
    - Dst: strncmp
      Src: /src/gnupg/g10/export.c:213,1
    - Dst: recsel_parse_expr
      Src: /src/gnupg/g10/export.c:214,1
    - Dst: strncmp
      Src: /src/gnupg/g10/export.c:215,1
    - Dst: recsel_parse_expr
      Src: /src/gnupg/g10/export.c:216,1
    - Dst: strncmp
      Src: /src/gnupg/g10/export.c:217,1
    - Dst: recsel_parse_expr
      Src: /src/gnupg/g10/export.c:218,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 223
    functionName: parse_and_set_export_filter
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 1
    functionsReached:
    - register_mem_cleanup_func
    - gpg_error
    - strncmp
    - recsel_parse_expr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_and_set_export_filter (const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc
      Src: /src/gnupg/g10/export.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: push_export_filters
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - xcalloc
    linkageType: ''
    returnType: void
    signature: void push_export_filters (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/gnupg/g10/export.c:254,1
    - Dst: cleanup_export_globals
      Src: /src/gnupg/g10/export.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 260
    functionName: pop_export_filters
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - cleanup_export_globals
    - BUG
    linkageType: ''
    returnType: void
    signature: void pop_export_filters (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/export.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: export_new_stats
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 1
    functionsReached:
    - xtrycalloc
    linkageType: ''
    returnType: export_stats_t
    signature: export_stats_t export_new_stats (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stats
    argTypes:
    - export_stats_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: export_release_stats
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 1
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void export_release_stats (export_stats_t stats)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/export.c:290,1
    - Dst: snprintf
      Src: /src/gnupg/g10/export.c:294,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/export.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - stats
    argTypes:
    - export_stats_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 300
    functionName: export_print_stats
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 1
    functionsReached:
    - write_status_text
    - snprintf
    - is_status_enabled
    linkageType: ''
    returnType: void
    signature: void export_print_stats (export_stats_t stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_export
      Src: /src/gnupg/g10/export.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctrl
    - users
    - options
    - stats
    argTypes:
    - ctrl_t
    - strlist_t
    - unsigned int
    - export_stats_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: export_pubkeys
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 1
    functionsReached:
    - do_export
    linkageType: ''
    returnType: int
    signature: "int export_pubkeys (ctrl_t ctrl, strlist_t users, unsigned int options,\n
      \               export_stats_t stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_export
      Src: /src/gnupg/g10/export.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctrl
    - users
    - options
    - stats
    argTypes:
    - ctrl_t
    - strlist_t
    - unsigned int
    - export_stats_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: export_seckeys
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 1
    functionsReached:
    - do_export
    linkageType: ''
    returnType: int
    signature: "int export_seckeys (ctrl_t ctrl, strlist_t users, unsigned int options,\n
      \               export_stats_t stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_export
      Src: /src/gnupg/g10/export.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctrl
    - users
    - options
    - stats
    argTypes:
    - ctrl_t
    - strlist_t
    - unsigned int
    - export_stats_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: export_secsubkeys
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 1
    functionsReached:
    - do_export
    linkageType: ''
    returnType: int
    signature: "int export_secsubkeys (ctrl_t ctrl, strlist_t users, unsigned int
      options,\n                   export_stats_t stats)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: add_to_strlist_try
      Src: /src/gnupg/g10/export.c:377,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:378,1
    - Dst: iobuf_temp
      Src: /src/gnupg/g10/export.c:380,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/export.c:382,1
    - Dst: do_export_stream
      Src: /src/gnupg/g10/export.c:383,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:386,1
    - Dst: iobuf_flush_temp
      Src: /src/gnupg/g10/export.c:392,1
    - Dst: iobuf_get_temp_buffer
      Src: /src/gnupg/g10/export.c:393,1
    - Dst: iobuf_get_temp_length
      Src: /src/gnupg/g10/export.c:394,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:396,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/export.c:397,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:398,1
    - Dst: memcpy
      Src: /src/gnupg/g10/export.c:401,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/export.c:405,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/export.c:406,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/export.c:409,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 9
    argNames:
    - ctrl
    - keyspec
    - options
    - prefix
    - prefixlen
    - stats
    - r_keyblock
    - r_data
    - r_datalen
    argTypes:
    - ctrl_t
    - char*
    - unsigned int
    - void*
    - size_t
    - export_stats_t
    - kbnode_t*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 413
    functionName: export_pubkey_buffer
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 1
    functionsReached:
    - do_export_stream
    - xtrymalloc
    - gpg_error_from_syserror
    - iobuf_close
    - release_kbnode
    - iobuf_temp
    - gpg_error
    - iobuf_get_temp_buffer
    - iobuf_get_temp_length
    - add_to_strlist_try
    - memcpy
    - iobuf_flush_temp
    - iobuf_write
    - free_strlist
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t export_pubkey_buffer (ctrl_t ctrl, const char *keyspec,
      unsigned int options,\n                      const void *prefix, size_t prefixlen,\n
      \                     export_stats_t stats,\n                      kbnode_t
      *r_keyblock, void **r_data, size_t *r_datalen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open_outfile
      Src: /src/gnupg/g10/export.c:429,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/export.c:435,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/export.c:437,1
    - Dst: do_export_stream
      Src: /src/gnupg/g10/export.c:440,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/export.c:443,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/export.c:445,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/export.c:446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - ctrl
    - users
    - secret
    - options
    - stats
    argTypes:
    - ctrl_t
    - strlist_t
    - int
    - unsigned int
    - export_stats_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 448
    functionName: do_export
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 3
    functionsReached:
    - do_export_stream
    - iobuf_close
    - new_armor_context
    - iobuf_cancel
    - open_outfile
    - push_armor_filter
    - release_armor_context
    linkageType: ''
    returnType: int
    signature: "int do_export (ctrl_t ctrl, strlist_t users, int secret, unsigned
      int options,\n           export_stats_t stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - list
    argTypes:
    - subkey_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 462
    functionName: release_subkey_list
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_subkey_list (subkey_list_t list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/export.c:474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - subkey_list_t
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 481
    functionName: subkey_in_list_p
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - keyid_from_pk
    linkageType: ''
    returnType: int
    signature: int subkey_in_list_p (subkey_list_t list, KBNODE node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc
      Src: /src/gnupg/g10/export.c:487,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/export.c:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 494
    functionName: new_subkey_list_item
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - keyid_from_pk
    - xcalloc
    linkageType: ''
    returnType: subkey_list_t
    signature: subkey_list_t new_subkey_list_item (KBNODE node)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/export.c:515,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/export.c:519,1
    - Dst: memcmp
      Src: /src/gnupg/g10/export.c:539,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - desc
    - node
    argTypes:
    - KEYDB_SEARCH_DESC*
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 548
    functionName: exact_subkey_match_p
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - keyid_from_pk
    - memcmp
    - fingerprint_from_pk
    linkageType: ''
    returnType: int
    signature: int exact_subkey_match_p (KEYDB_SEARCH_DESC *desc, kbnode_t node)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:570,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/export.c:572,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:575,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:576,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/g10/export.c:578,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/export.c:579,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:582,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:583,1
    - Dst: strcmp
      Src: /src/gnupg/g10/export.c:585,1
    - Dst: openpgp_curve_to_oid
      Src: /src/gnupg/g10/export.c:587,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:590,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:591,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:592,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:594,1
    - Dst: openpgp_oid_from_str
      Src: /src/gnupg/g10/export.c:595,1
    - Dst: gcry_mpi_cmp
      Src: /src/gnupg/g10/export.c:598,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:600,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/export.c:601,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:602,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/export.c:604,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/export.c:605,1
    - Dst: gcry_sexp_length
      Src: /src/gnupg/g10/export.c:608,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/g10/export.c:610,1
    - Dst: strcmp
      Src: /src/gnupg/g10/export.c:611,1
    - Dst: gcry_free
      Src: /src/gnupg/g10/export.c:613,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:618,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:619,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - s_key
    - pk
    argTypes:
    - gcry_sexp_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 623
    functionName: match_curve_skey_pk
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - openpgp_oid_from_str
    - log_error
    - gcry_sexp_length
    - gcry_sexp_find_token
    - strcmp
    - gpg_error
    - openpgp_curve_to_oid
    - xfree
    - gcry_sexp_release
    - gcry_sexp_nth_string
    - gcry_mpi_cmp
    - gcry_mpi_release
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t match_curve_skey_pk (gcry_sexp_t s_key, PKT_public_key
      *pk)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - algo
    argTypes:
    - enum gcry_pk_algos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 644
    functionName: canon_pk_algo
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum gcry_pk_algos
    signature: enum gcry_pk_algos canon_pk_algo (enum gcry_pk_algos algo)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/export.c:665,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/export.c:667,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:670,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/g10/export.c:675,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:678,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/export.c:681,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/g10/export.c:683,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:686,1
    - Dst: gcry_pk_map_name
      Src: /src/gnupg/g10/export.c:689,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:690,1
    - Dst: gcry_pk_algo_info
      Src: /src/gnupg/g10/export.c:691,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:694,1
    - Dst: canon_pk_algo
      Src: /src/gnupg/g10/export.c:701,1
    - Dst: is_RSA
      Src: /src/gnupg/g10/export.c:704,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:705,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/g10/export.c:707,1
    - Dst: is_DSA
      Src: /src/gnupg/g10/export.c:714,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:715,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/g10/export.c:717,1
    - Dst: is_ELGAMAL
      Src: /src/gnupg/g10/export.c:726,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:727,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/g10/export.c:729,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:743,1
    - Dst: match_curve_skey_pk
      Src: /src/gnupg/g10/export.c:751,1
    - Dst: sexp_extract_param_sos
      Src: /src/gnupg/g10/export.c:755,1
    - Dst: gcry_mpi_cmp
      Src: /src/gnupg/g10/export.c:756,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:757,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:766,1
    - Dst: log_assert
      Src: /src/gnupg/g10/export.c:769,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/g10/export.c:770,1
    - Dst: gcry_mpi_cmp
      Src: /src/gnupg/g10/export.c:773,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:775,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:781,1
    - Dst: canon_pk_algo
      Src: /src/gnupg/g10/export.c:789,1
    - Dst: canon_pk_algo
      Src: /src/gnupg/g10/export.c:790,1
    - Dst: gcry_mpi_cmp
      Src: /src/gnupg/g10/export.c:793,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:795,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:811,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/export.c:818,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:821,1
    - Dst: log_assert
      Src: /src/gnupg/g10/export.c:828,1
    - Dst: make_canon_sexp
      Src: /src/gnupg/g10/export.c:836,1
    - Dst: strlen
      Src: /src/gnupg/g10/export.c:842,1
    - Dst: log_assert
      Src: /src/gnupg/g10/export.c:847,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/export.c:848,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/export.c:849,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/g10/export.c:851,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:854,1
    - Dst: memcpy
      Src: /src/gnupg/g10/export.c:857,1
    - Dst: memcpy
      Src: /src/gnupg/g10/export.c:858,1
    - Dst: memcpy
      Src: /src/gnupg/g10/export.c:859,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/g10/export.c:865,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/export.c:871,1
    - Dst: DIM
      Src: /src/gnupg/g10/export.c:872,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/export.c:873,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 150
    argCount: 3
    argNames:
    - s_key
    - pk
    - is_part2
    argTypes:
    - gcry_sexp_t
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 650
    functionDepth: 2
    functionLinenumber: 650
    functionLinenumberEnd: 875
    functionName: secret_key_to_mode1003
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - log_assert
    - strlen
    - gcry_sexp_find_token
    - gcry_pk_algo_info
    - is_DSA
    - memcpy
    - match_curve_skey_pk
    - gcry_sexp_nth_string
    - gcry_mpi_cmp
    - gcry_mpi_set_opaque
    - gcry_sexp_cadr
    - DIM
    - canon_pk_algo
    - gcry_sexp_release
    - gpg_error_from_syserror
    - sexp_extract_param_sos
    - xtrymalloc_secure
    - gcry_sexp_extract_param
    - is_ELGAMAL
    - gpg_error
    - xfree
    - xtrycalloc
    - gcry_mpi_get_opaque
    - gcry_mpi_release
    - is_RSA
    - make_canon_sexp
    - gcry_pk_map_name
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t secret_key_to_mode1003 (gcry_sexp_t s_key, PKT_public_key
      *pk, int is_part2)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/export.c:894,1
    - Dst: gcry_sexp_length
      Src: /src/gnupg/g10/export.c:900,1
    - Dst: gcry_sexp_nth
      Src: /src/gnupg/g10/export.c:902,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/g10/export.c:905,1
    - Dst: gcry_pk_map_name
      Src: /src/gnupg/g10/export.c:906,1
    - Dst: log_assert
      Src: /src/gnupg/g10/export.c:908,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/export.c:910,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:913,1
    - Dst: canon_pk_algo
      Src: /src/gnupg/g10/export.c:917,1
    - Dst: is_RSA
      Src: /src/gnupg/g10/export.c:920,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/g10/export.c:922,1
    - Dst: gcry_mpi_cmp
      Src: /src/gnupg/g10/export.c:927,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:928,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/export.c:933,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/g10/export.c:936,1
    - Dst: checksum_mpi
      Src: /src/gnupg/g10/export.c:946,1
    - Dst: is_DSA
      Src: /src/gnupg/g10/export.c:951,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/g10/export.c:953,1
    - Dst: gcry_mpi_cmp
      Src: /src/gnupg/g10/export.c:960,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:961,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/export.c:964,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/g10/export.c:966,1
    - Dst: checksum_mpi
      Src: /src/gnupg/g10/export.c:971,1
    - Dst: is_ELGAMAL
      Src: /src/gnupg/g10/export.c:975,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/g10/export.c:977,1
    - Dst: gcry_mpi_cmp
      Src: /src/gnupg/g10/export.c:983,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:984,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/export.c:987,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/g10/export.c:989,1
    - Dst: checksum_mpi
      Src: /src/gnupg/g10/export.c:994,1
    - Dst: match_curve_skey_pk
      Src: /src/gnupg/g10/export.c:998,1
    - Dst: sexp_extract_param_sos
      Src: /src/gnupg/g10/export.c:1002,1
    - Dst: gcry_mpi_cmp
      Src: /src/gnupg/g10/export.c:1003,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:1004,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/export.c:1011,1
    - Dst: sexp_extract_param_sos
      Src: /src/gnupg/g10/export.c:1013,1
    - Dst: checksum_mpi
      Src: /src/gnupg/g10/export.c:1017,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:1022,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:1023,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/export.c:1028,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/export.c:1029,1
    - Dst: gcry_free
      Src: /src/gnupg/g10/export.c:1030,1
    - Dst: DIM
      Src: /src/gnupg/g10/export.c:1032,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/export.c:1033,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:1037,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:1041,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 117
    argCount: 2
    argNames:
    - s_key
    - pk
    argTypes:
    - gcry_sexp_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 880
    functionDepth: 2
    functionLinenumber: 880
    functionLinenumberEnd: 1043
    functionName: cleartext_secret_key_to_openpgp
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - log_assert
    - gcry_sexp_find_token
    - is_DSA
    - match_curve_skey_pk
    - gcry_mpi_cmp
    - gcry_sexp_nth_string
    - DIM
    - canon_pk_algo
    - checksum_mpi
    - gcry_sexp_release
    - gcry_sexp_length
    - gpg_error_from_syserror
    - sexp_extract_param_sos
    - gcry_sexp_extract_param
    - is_ELGAMAL
    - gpg_error
    - xfree
    - xtrycalloc
    - gcry_sexp_nth
    - gcry_mpi_release
    - is_RSA
    - gcry_free
    - gcry_pk_map_name
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cleartext_secret_key_to_openpgp (gcry_sexp_t s_key, PKT_public_key
      *pk)
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/export.c:1076,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/export.c:1080,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/g10/export.c:1083,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/export.c:1088,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/export.c:1089,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/g10/export.c:1092,1
    - Dst: memcmp
      Src: /src/gnupg/g10/export.c:1095,1
    - Dst: memcmp
      Src: /src/gnupg/g10/export.c:1097,1
    - Dst: memcmp
      Src: /src/gnupg/g10/export.c:1099,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/g10/export.c:1105,1
    - Dst: gcry_cipher_map_name
      Src: /src/gnupg/g10/export.c:1108,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:1109,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/g10/export.c:1111,1
    - Dst: memcpy
      Src: /src/gnupg/g10/export.c:1114,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/g10/export.c:1117,1
    - Dst: strtol
      Src: /src/gnupg/g10/export.c:1120,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:1121,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/g10/export.c:1123,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/g10/export.c:1126,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:1127,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/g10/export.c:1129,1
    - Dst: memcpy
      Src: /src/gnupg/g10/export.c:1132,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/g10/export.c:1134,1
    - Dst: strtoul
      Src: /src/gnupg/g10/export.c:1137,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:1138,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/export.c:1142,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/export.c:1143,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/g10/export.c:1146,1
    - Dst: gcry_pk_map_name
      Src: /src/gnupg/g10/export.c:1149,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:1150,1
    - Dst: gcry_pk_algo_info
      Src: /src/gnupg/g10/export.c:1151,1
    - Dst: gcry_pk_algo_info
      Src: /src/gnupg/g10/export.c:1152,1
    - Dst: canon_pk_algo
      Src: /src/gnupg/g10/export.c:1157,1
    - Dst: is_RSA
      Src: /src/gnupg/g10/export.c:1160,1
    - Dst: is_DSA
      Src: /src/gnupg/g10/export.c:1164,1
    - Dst: is_ELGAMAL
      Src: /src/gnupg/g10/export.c:1168,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:1190,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/export.c:1199,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/export.c:1200,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/g10/export.c:1207,1
    - Dst: DIM
      Src: /src/gnupg/g10/export.c:1216,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/g10/export.c:1222,1
    - Dst: gcry_mpi_set_opaque_copy
      Src: /src/gnupg/g10/export.c:1243,1
    - Dst: gcry_mpi_set_flag
      Src: /src/gnupg/g10/export.c:1247,1
    - Dst: gcry_mpi_set_flag
      Src: /src/gnupg/g10/export.c:1249,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/g10/export.c:1253,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/export.c:1261,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/export.c:1278,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/g10/export.c:1281,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/export.c:1282,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/export.c:1285,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:1316,1
    - Dst: canon_pk_algo
      Src: /src/gnupg/g10/export.c:1323,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:1332,1
    - Dst: openpgp_curve_to_oid
      Src: /src/gnupg/g10/export.c:1336,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:1339,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:1340,1
    - Dst: gcry_mpi_copy
      Src: /src/gnupg/g10/export.c:1349,1
    - Dst: openpgp_oid_from_str
      Src: /src/gnupg/g10/export.c:1358,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:1385,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/export.c:1388,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/export.c:1391,1
    - Dst: gcry_mpi_cmp
      Src: /src/gnupg/g10/export.c:1398,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:1400,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/export.c:1407,1
    - Dst: DIM
      Src: /src/gnupg/g10/export.c:1409,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/export.c:1418,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:1421,1
    - Dst: log_assert
      Src: /src/gnupg/g10/export.c:1430,1
    - Dst: memcpy
      Src: /src/gnupg/g10/export.c:1431,1
    - Dst: log_assert
      Src: /src/gnupg/g10/export.c:1433,1
    - Dst: memcpy
      Src: /src/gnupg/g10/export.c:1434,1
    - Dst: gcry_free
      Src: /src/gnupg/g10/export.c:1444,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/export.c:1445,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/export.c:1446,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/export.c:1448,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:1452,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:1456,1
    CyclomaticComplexity: 143
    EdgeCount: 143
    ICount: 278
    argCount: 2
    argNames:
    - s_pgp
    - pk
    argTypes:
    - gcry_sexp_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1049
    functionDepth: 2
    functionLinenumber: 1049
    functionLinenumberEnd: 1458
    functionName: transfer_format_to_openpgp
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - log_assert
    - gcry_sexp_find_token
    - gcry_pk_algo_info
    - is_DSA
    - memcpy
    - gcry_sexp_nth_string
    - gcry_mpi_scan
    - gcry_mpi_cmp
    - log_error
    - DIM
    - gcry_mpi_copy
    - canon_pk_algo
    - gcry_mpi_set_opaque_copy
    - openpgp_curve_to_oid
    - gcry_sexp_release
    - strtoul
    - gcry_mpi_set_flag
    - strtol
    - gpg_error_from_syserror
    - is_ELGAMAL
    - gpg_error
    - gcry_sexp_nth_data
    - xfree
    - gcry_md_map_name
    - xtrycalloc
    - gcry_mpi_release
    - is_RSA
    - openpgp_oid_from_str
    - gcry_free
    - gcry_cipher_map_name
    - openpgp_md_test_algo
    - memcmp
    - gcry_pk_map_name
    - openpgp_cipher_test_algo
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t transfer_format_to_openpgp (gcry_sexp_t s_pgp, PKT_public_key
      *pk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/export.c:1467,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/export.c:1470,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/export.c:1471,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:1472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1462
    functionDepth: 1
    functionLinenumber: 1462
    functionLinenumberEnd: 1473
    functionName: print_status_exported
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 1
    functionsReached:
    - hexfingerprint
    - xfree
    - is_status_enabled
    - write_status_text
    linkageType: ''
    returnType: void
    signature: void print_status_exported (PKT_public_key *pk)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/export.c:1515,1
    - Dst: gpg_format_keydesc
      Src: /src/gnupg/g10/export.c:1519,1
    - Dst: agent_export_key
      Src: /src/gnupg/g10/export.c:1520,1
    - Dst: gpg_format_keydesc
      Src: /src/gnupg/g10/export.c:1527,1
    - Dst: agent_export_key
      Src: /src/gnupg/g10/export.c:1528,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:1533,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:1539,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/g10/export.c:1543,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:1546,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/g10/export.c:1549,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/g10/export.c:1552,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/g10/export.c:1556,1
    - Dst: secret_key_to_mode1003
      Src: /src/gnupg/g10/export.c:1560,1
    - Dst: cleartext_secret_key_to_openpgp
      Src: /src/gnupg/g10/export.c:1562,1
    - Dst: transfer_format_to_openpgp
      Src: /src/gnupg/g10/export.c:1564,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/export.c:1573,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:1574,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:1575,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:1578,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/export.c:1579,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/export.c:1580,1
    - Dst: _
      Src: /src/gnupg/g10/export.c:1581,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 9
    argNames:
    - ctrl
    - cipherhd
    - cleartext
    - mode1003
    - is_part2
    - cache_nonce_addr
    - hexgrip
    - pk
    - r_key
    argTypes:
    - ctrl_t
    - gcry_cipher_hd_t
    - int
    - int
    - int
    - char**
    - char*
    - PKT_public_key*
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1498
    functionDepth: 3
    functionLinenumber: 1498
    functionLinenumberEnd: 1584
    functionName: receive_seckey_from_agent
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - cleartext_secret_key_to_openpgp
    - gpg_format_keydesc
    - gpg_error_from_syserror
    - log_error
    - xtrymalloc_secure
    - gcry_sexp_sscan
    - _
    - agent_export_key
    - gpg_error
    - log_info
    - xfree
    - gcry_sexp_canon_len
    - transfer_format_to_openpgp
    - gcry_sexp_release
    - gpg_strerror
    - gpg_err_code
    - secret_key_to_mode1003
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t receive_seckey_from_agent (ctrl_t ctrl, gcry_cipher_hd_t
      cipherhd,\n                           int cleartext, int mode1003, int is_part2,\n
      \                          char **cache_nonce_addr, const char *hexgrip,\n                           PKT_public_key
      *pk, gcry_sexp_t *r_key)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: is_secured_filename
      Src: /src/gnupg/g10/export.c:1603,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:1604,1
    - Dst: iobuf_create
      Src: /src/gnupg/g10/export.c:1606,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:1609,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:1610,1
    - Dst: _
      Src: /src/gnupg/g10/export.c:1610,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/export.c:1610,1
    - Dst: log_info
      Src: /src/gnupg/g10/export.c:1614,1
    - Dst: _
      Src: /src/gnupg/g10/export.c:1614,1
    - Dst: iobuf_get_fname_nonnull
      Src: /src/gnupg/g10/export.c:1614,1
    - Dst: iobuf_temp
      Src: /src/gnupg/g10/export.c:1619,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/export.c:1624,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/export.c:1626,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/export.c:1631,1
    - Dst: build_packet_and_meta
      Src: /src/gnupg/g10/export.c:1641,1
    - Dst: build_packet
      Src: /src/gnupg/g10/export.c:1643,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:1646,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/export.c:1647,1
    - Dst: iobuf_flush_temp
      Src: /src/gnupg/g10/export.c:1658,1
    - Dst: iobuf_get_temp_buffer
      Src: /src/gnupg/g10/export.c:1659,1
    - Dst: iobuf_get_temp_length
      Src: /src/gnupg/g10/export.c:1660,1
    - Dst: print_dane_records
      Src: /src/gnupg/g10/export.c:1662,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/export.c:1667,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/export.c:1669,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/export.c:1670,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/export.c:1671,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 3
    argNames:
    - keyblock
    - with_armor
    - options
    argTypes:
    - kbnode_t
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1590
    functionDepth: 2
    functionLinenumber: 1590
    functionLinenumberEnd: 1673
    functionName: write_keyblock_to_output
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - iobuf_cancel
    - is_deleted_kbnode
    - print_dane_records
    - log_error
    - iobuf_get_fname_nonnull
    - _
    - log_info
    - iobuf_flush_temp
    - push_armor_filter
    - gpg_error_from_syserror
    - iobuf_temp
    - gpg_error
    - build_packet_and_meta
    - gpg_strerror
    - build_packet
    - is_secured_filename
    - release_armor_context
    - iobuf_close
    - new_armor_context
    - iobuf_get_temp_buffer
    - iobuf_get_temp_length
    - iobuf_create
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t write_keyblock_to_output (kbnode_t keyblock, int with_armor,\n
      \                         unsigned int options)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: recsel_select
      Src: /src/gnupg/g10/export.c:1694,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/export.c:1700,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/export.c:1706,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ctrl
    - keyblock
    - selector
    argTypes:
    - ctrl_t
    - kbnode_t
    - recsel_expr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1681
    functionDepth: 1
    functionLinenumber: 1681
    functionLinenumberEnd: 1713
    functionName: apply_keep_uid_filter
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - recsel_select
    - delete_kbnode
    linkageType: ''
    returnType: void
    signature: void apply_keep_uid_filter (ctrl_t ctrl, kbnode_t keyblock, recsel_expr_t
      selector)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: recsel_select
      Src: /src/gnupg/g10/export.c:1736,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/export.c:1741,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/export.c:1746,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ctrl
    - keyblock
    - selector
    argTypes:
    - ctrl_t
    - kbnode_t
    - recsel_expr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1721
    functionDepth: 1
    functionLinenumber: 1721
    functionLinenumberEnd: 1750
    functionName: apply_drop_subkey_filter
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - recsel_select
    - delete_kbnode
    linkageType: ''
    returnType: void
    signature: "void apply_drop_subkey_filter (ctrl_t ctrl, kbnode_t keyblock,\n                          recsel_expr_t
      selector)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/export.c:1773,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:1776,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/export.c:1779,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:1782,1
    - Dst: ascii_strlwr
      Src: /src/gnupg/g10/export.c:1785,1
    - Dst: es_fopenmem
      Src: /src/gnupg/g10/export.c:1786,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:1789,1
    - Dst: walk_kbnode
      Src: /src/gnupg/g10/export.c:1793,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:1802,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/g10/export.c:1803,1
    - Dst: strchr
      Src: /src/gnupg/g10/export.c:1807,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/export.c:1812,1
    - Dst: print_utf8_buffer
      Src: /src/gnupg/g10/export.c:1813,1
    - Dst: es_putc
      Src: /src/gnupg/g10/export.c:1814,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/g10/export.c:1815,1
    - Dst: strlen
      Src: /src/gnupg/g10/export.c:1815,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:1816,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/export.c:1817,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:1820,1
    - Dst: ascii_strlwr
      Src: /src/gnupg/g10/export.c:1823,1
    - Dst: strlen
      Src: /src/gnupg/g10/export.c:1824,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/export.c:1825,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/export.c:1828,1
    - Dst: strlen
      Src: /src/gnupg/g10/export.c:1829,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/export.c:1833,1
    - Dst: es_fputc
      Src: /src/gnupg/g10/export.c:1838,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/g10/export.c:1842,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:1844,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/export.c:1848,1
    - Dst: es_free
      Src: /src/gnupg/g10/export.c:1849,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:1854,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:1855,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/export.c:1856,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:1857,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:1858,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 75
    argCount: 5
    argNames:
    - out
    - keyblock
    - pk
    - data
    - datalen
    argTypes:
    - iobuf_t
    - kbnode_t
    - PKT_public_key*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1756
    functionDepth: 2
    functionLinenumber: 1756
    functionLinenumberEnd: 1860
    functionName: print_dane_records
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 1
    functionsReached:
    - es_fprintf
    - gcry_md_hash_buffer
    - strlen
    - es_fputc
    - print_utf8_buffer
    - walk_kbnode
    - es_fopenmem
    - es_free
    - es_putc
    - gpg_error_from_syserror
    - ascii_strlwr
    - strchr
    - xfree
    - es_fputs
    - iobuf_writestr
    - mailbox_from_userid
    - es_fclose_snatch
    - bin2hex
    - es_fclose
    - hexfingerprint
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t print_dane_records (iobuf_t out, kbnode_t keyblock, PKT_public_key
      *pk,\n                    const void *data, size_t datalen)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:1871,1
    - Dst: walk_kbnode
      Src: /src/gnupg/g10/export.c:1887,1
    - Dst: exact_subkey_match_p
      Src: /src/gnupg/g10/export.c:1912,1
    - Dst: subkey_in_list_p
      Src: /src/gnupg/g10/export.c:1928,1
    - Dst: exact_subkey_match_p
      Src: /src/gnupg/g10/export.c:1936,1
    - Dst: new_subkey_list_item
      Src: /src/gnupg/g10/export.c:1948,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/export.c:1999,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:2005,1
    - Dst: keystr_with_sub
      Src: /src/gnupg/g10/export.c:2006,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:2011,1
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/export.c:2012,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:2015,1
    - Dst: keystr_with_sub
      Src: /src/gnupg/g10/export.c:2016,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/export.c:2017,1
    - Dst: strchr
      Src: /src/gnupg/g10/export.c:2024,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:2032,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:2034,1
    - Dst: agent_get_keyinfo
      Src: /src/gnupg/g10/export.c:2045,1
    - Dst: agent_get_keyinfo
      Src: /src/gnupg/g10/export.c:2047,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:2063,1
    - Dst: receive_seckey_from_agent
      Src: /src/gnupg/g10/export.c:2066,1
    - Dst: receive_seckey_from_agent
      Src: /src/gnupg/g10/export.c:2073,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/export.c:2087,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/export.c:2089,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/export.c:2091,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/export.c:2097,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:2100,1
    - Dst: build_packet_and_meta
      Src: /src/gnupg/g10/export.c:2108,1
    - Dst: build_packet
      Src: /src/gnupg/g10/export.c:2110,1
    - Dst: print_status_exported
      Src: /src/gnupg/g10/export.c:2115,1
    - Dst: log_info
      Src: /src/gnupg/g10/export.c:2125,1
    - Dst: _
      Src: /src/gnupg/g10/export.c:2125,1
    - Dst: keystr_with_sub
      Src: /src/gnupg/g10/export.c:2126,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/export.c:2129,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/export.c:2136,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:2139,1
    - Dst: xtoi_2
      Src: /src/gnupg/g10/export.c:2151,1
    - Dst: build_packet_and_meta
      Src: /src/gnupg/g10/export.c:2155,1
    - Dst: build_packet
      Src: /src/gnupg/g10/export.c:2157,1
    - Dst: print_status_exported
      Src: /src/gnupg/g10/export.c:2162,1
    - Dst: receive_seckey_from_agent
      Src: /src/gnupg/g10/export.c:2167,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/export.c:2182,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/export.c:2184,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/export.c:2186,1
    - Dst: build_packet_and_meta
      Src: /src/gnupg/g10/export.c:2193,1
    - Dst: build_packet
      Src: /src/gnupg/g10/export.c:2195,1
    - Dst: print_status_exported
      Src: /src/gnupg/g10/export.c:2200,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:2206,1
    - Dst: keystr_with_sub
      Src: /src/gnupg/g10/export.c:2207,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/export.c:2208,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:2213,1
    - Dst: pubkey_get_npkey
      Src: /src/gnupg/g10/export.c:2217,1
    - Dst: pubkey_get_nskey
      Src: /src/gnupg/g10/export.c:2218,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/export.c:2220,1
    - Dst: build_packet_and_meta
      Src: /src/gnupg/g10/export.c:2228,1
    - Dst: build_packet
      Src: /src/gnupg/g10/export.c:2230,1
    - Dst: print_status_exported
      Src: /src/gnupg/g10/export.c:2235,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:2242,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/export.c:2243,1
    - Dst: release_subkey_list
      Src: /src/gnupg/g10/export.c:2252,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:2253,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:2254,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:2255,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:2256,1
    CyclomaticComplexity: 101
    EdgeCount: 101
    ICount: 197
    argCount: 12
    argNames:
    - ctrl
    - keyblock
    - keyid
    - out
    - secret
    - options
    - stats
    - any
    - desc
    - ndesc
    - descindex
    - cipherhd
    argTypes:
    - ctrl_t
    - kbnode_t
    - u32*
    - iobuf_t
    - int
    - unsigned int
    - export_stats_t
    - int*
    - KEYDB_SEARCH_DESC*
    - size_t
    - size_t
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 1864
    functionDepth: 4
    functionLinenumber: 1864
    functionLinenumberEnd: 2258
    functionName: do_export_one_keyblock
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - subkey_in_list_p
    - walk_kbnode
    - pubkey_get_nskey
    - xtoi_2
    - receive_seckey_from_agent
    - log_error
    - _
    - pubkey_get_npkey
    - log_info
    - write_status_error
    - keystr_with_sub
    - gpg_error_from_syserror
    - gpg_error
    - strchr
    - xfree
    - gpg_strerror
    - build_packet_and_meta
    - xtrycalloc
    - print_status_exported
    - hexkeygrip_from_pk
    - build_packet
    - gcry_mpi_release
    - agent_get_keyinfo
    - keyid_from_pk
    - exact_subkey_match_p
    - gpg_err_code
    - release_subkey_list
    - new_subkey_list_item
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_export_one_keyblock (ctrl_t ctrl, kbnode_t keyblock,
      u32 *keyid,\n                        iobuf_t out, int secret, unsigned int options,\n
      \                       export_stats_t stats, int *any,\n                        KEYDB_SEARCH_DESC
      *desc, size_t ndesc,\n                        size_t descindex, gcry_cipher_hd_t
      cipherhd)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: walk_kbnode
      Src: /src/gnupg/g10/export.c:2274,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/export.c:2281,1
    - Dst: IS_UID_REV
      Src: /src/gnupg/g10/export.c:2281,1
    - Dst: IS_SUBKEY_REV
      Src: /src/gnupg/g10/export.c:2281,1
    - Dst: log_info
      Src: /src/gnupg/g10/export.c:2309,1
    - Dst: log_info
      Src: /src/gnupg/g10/export.c:2314,1
    - Dst: build_packet
      Src: /src/gnupg/g10/export.c:2318,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:2321,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/export.c:2322,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 38
    argCount: 6
    argNames:
    - ctrl
    - keyblock
    - keyid
    - out
    - options
    - any
    argTypes:
    - ctrl_t
    - kbnode_t
    - u32*
    - iobuf_t
    - unsigned int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2330
      start: 2263
    functionDepth: 2
    functionLinenumber: 2263
    functionLinenumberEnd: 2330
    functionName: do_export_revocs
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - log_error
    - IS_UID_REV
    - IS_SUBKEY_REV
    - log_info
    - IS_KEY_REV
    - gpg_strerror
    - walk_kbnode
    - build_packet
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_export_revocs (ctrl_t ctrl, kbnode_t keyblock, u32
      *keyid,\n                  iobuf_t out, unsigned int options, int *any)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:2341,1
    - Dst: _
      Src: /src/gnupg/g10/export.c:2341,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:2342,1
    - Dst: agent_keywrap_key
      Src: /src/gnupg/g10/export.c:2351,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:2354,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/export.c:2354,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/g10/export.c:2358,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/g10/export.c:2361,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:2363,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/export.c:2364,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/g10/export.c:2369,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:2370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - ctrl
    - r_cipherhd
    argTypes:
    - ctrl_t
    - gcry_cipher_hd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2373
      start: 2335
    functionDepth: 1
    functionLinenumber: 2335
    functionLinenumberEnd: 2373
    functionName: get_keywrap_key
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_open
    - gcry_cipher_setkey
    - log_error
    - _
    - gpg_error
    - gpg_strerror
    - agent_keywrap_key
    - xfree
    - gcry_cipher_close
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_keywrap_key (ctrl_t ctrl, gcry_cipher_hd_t *r_cipherhd)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: init_packet
      Src: /src/gnupg/g10/export.c:2405,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/export.c:2406,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:2408,1
    - Dst: iobuf_temp
      Src: /src/gnupg/g10/export.c:2414,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/export.c:2421,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/export.c:2428,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/export.c:2432,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:2435,1
    - Dst: _
      Src: /src/gnupg/g10/export.c:2435,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/export.c:2436,1
    - Dst: keydb_disable_caching
      Src: /src/gnupg/g10/export.c:2439,1
    - Dst: get_keywrap_key
      Src: /src/gnupg/g10/export.c:2450,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/export.c:2458,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/export.c:2465,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/export.c:2467,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:2470,1
    - Dst: _
      Src: /src/gnupg/g10/export.c:2470,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/export.c:2470,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/export.c:2474,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:2477,1
    - Dst: setup_main_keyids
      Src: /src/gnupg/g10/export.c:2481,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/export.c:2483,1
    - Dst: agent_probe_any_secret_key
      Src: /src/gnupg/g10/export.c:2490,1
    - Dst: log_info
      Src: /src/gnupg/g10/export.c:2496,1
    - Dst: _
      Src: /src/gnupg/g10/export.c:2496,1
    - Dst: keystr
      Src: /src/gnupg/g10/export.c:2497,1
    - Dst: log_info
      Src: /src/gnupg/g10/export.c:2506,1
    - Dst: keystr
      Src: /src/gnupg/g10/export.c:2507,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/export.c:2518,1
    - Dst: clean_all_uids
      Src: /src/gnupg/g10/export.c:2519,1
    - Dst: clean_all_subkeys
      Src: /src/gnupg/g10/export.c:2520,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/export.c:2525,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/export.c:2531,1
    - Dst: recsel_select
      Src: /src/gnupg/g10/export.c:2543,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/export.c:2556,1
    - Dst: apply_keep_uid_filter
      Src: /src/gnupg/g10/export.c:2557,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/export.c:2558,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/export.c:2563,1
    - Dst: apply_drop_subkey_filter
      Src: /src/gnupg/g10/export.c:2564,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/export.c:2565,1
    - Dst: do_export_revocs
      Src: /src/gnupg/g10/export.c:2570,1
    - Dst: do_export_one_keyblock
      Src: /src/gnupg/g10/export.c:2574,1
    - Dst: iobuf_flush_temp
      Src: /src/gnupg/g10/export.c:2594,1
    - Dst: iobuf_get_temp_buffer
      Src: /src/gnupg/g10/export.c:2595,1
    - Dst: iobuf_get_temp_length
      Src: /src/gnupg/g10/export.c:2596,1
    - Dst: print_dane_records
      Src: /src/gnupg/g10/export.c:2598,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/export.c:2602,1
    - Dst: iobuf_temp
      Src: /src/gnupg/g10/export.c:2603,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/export.c:2607,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/export.c:2611,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/g10/export.c:2612,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:2613,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/export.c:2614,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/export.c:2616,1
    - Dst: log_info
      Src: /src/gnupg/g10/export.c:2618,1
    - Dst: _
      Src: /src/gnupg/g10/export.c:2618,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 130
    argCount: 8
    argNames:
    - ctrl
    - out
    - users
    - secret
    - keyblock_out
    - options
    - stats
    - any
    argTypes:
    - ctrl_t
    - iobuf_t
    - strlist_t
    - int
    - kbnode_t*
    - unsigned int
    - export_stats_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2620
      start: 2385
    functionDepth: 5
    functionLinenumber: 2385
    functionLinenumberEnd: 2620
    functionName: do_export_stream
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 2
    functionsReached:
    - iobuf_cancel
    - xmalloc
    - apply_keep_uid_filter
    - clean_all_uids
    - keydb_new
    - print_dane_records
    - setup_main_keyids
    - log_error
    - init_packet
    - clean_all_subkeys
    - _
    - apply_drop_subkey_filter
    - log_info
    - merge_keys_and_selfsig
    - do_export_one_keyblock
    - keydb_get_keyblock
    - iobuf_flush_temp
    - agent_probe_any_secret_key
    - gpg_error_from_syserror
    - keydb_search
    - iobuf_temp
    - commit_kbnode
    - gpg_strerror
    - xfree
    - keystr
    - do_export_revocs
    - get_keywrap_key
    - iobuf_close
    - release_kbnode
    - recsel_select
    - find_kbnode
    - keyid_from_pk
    - xcalloc
    - iobuf_get_temp_buffer
    - classify_user_id
    - gpg_err_code
    - iobuf_get_temp_length
    - keydb_release
    - keydb_disable_caching
    - gcry_cipher_close
    linkageType: ''
    returnType: int
    signature: "int do_export_stream (ctrl_t ctrl, iobuf_t out, strlist_t users, int
      secret,\n\t\t  kbnode_t *keyblock_out, unsigned int options,\n                  export_stats_t
      stats, int *any)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ulongtobuf
      Src: /src/gnupg/g10/export.c:2630,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/export.c:2631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mb
    - value
    argTypes:
    - membuf_t*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2632
      start: 2625
    functionDepth: 1
    functionLinenumber: 2625
    functionLinenumberEnd: 2632
    functionName: mb_write_uint32
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - put_membuf
    - ulongtobuf
    linkageType: ''
    returnType: void
    signature: void mb_write_uint32 (membuf_t *mb, u32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/gnupg/g10/export.c:2641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mb
    - c
    argTypes:
    - membuf_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2642
      start: 2635
    functionDepth: 0
    functionLinenumber: 2635
    functionLinenumberEnd: 2642
    functionName: mb_write_uint8
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - put_membuf
    linkageType: ''
    returnType: void
    signature: void mb_write_uint8 (membuf_t *mb, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/gnupg/g10/export.c:2649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mb
    - data
    - datalen
    argTypes:
    - membuf_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2650
      start: 2646
    functionDepth: 0
    functionLinenumber: 2646
    functionLinenumberEnd: 2650
    functionName: mb_write_data
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - put_membuf
    linkageType: ''
    returnType: void
    signature: void mb_write_data (membuf_t *mb, const void *data, size_t datalen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/gnupg/g10/export.c:2656,1
    - Dst: strlen
      Src: /src/gnupg/g10/export.c:2656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mb
    - string
    argTypes:
    - membuf_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2653
    functionDepth: 0
    functionLinenumber: 2653
    functionLinenumberEnd: 2657
    functionName: mb_write_cstring
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - put_membuf
    - strlen
    linkageType: ''
    returnType: void
    signature: void mb_write_cstring (membuf_t *mb, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mb_write_uint32
      Src: /src/gnupg/g10/export.c:2663,1
    - Dst: mb_write_data
      Src: /src/gnupg/g10/export.c:2664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mb
    - string
    - n
    argTypes:
    - membuf_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2665
      start: 2660
    functionDepth: 2
    functionLinenumber: 2660
    functionLinenumberEnd: 2665
    functionName: mb_write_string
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - mb_write_data
    - mb_write_uint32
    linkageType: ''
    returnType: void
    signature: void mb_write_string (membuf_t *mb, const void *string, size_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/export.c:2675,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/export.c:2677,1
    - Dst: mb_write_string
      Src: /src/gnupg/g10/export.c:2686,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/g10/export.c:2693,1
    - Dst: set_membuf_err
      Src: /src/gnupg/g10/export.c:2695,1
    - Dst: mb_write_data
      Src: /src/gnupg/g10/export.c:2698,1
    - Dst: gcry_free
      Src: /src/gnupg/g10/export.c:2699,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - mb
    - mpi
    - strip_prefix
    argTypes:
    - membuf_t*
    - gcry_mpi_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2702
      start: 2668
    functionDepth: 3
    functionLinenumber: 2668
    functionLinenumberEnd: 2702
    functionName: mb_write_mpi
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - mb_write_string
    - gcry_free
    - set_membuf_err
    - gcry_mpi_aprint
    - mb_write_data
    - gcry_mpi_get_opaque
    linkageType: ''
    returnType: void
    signature: void mb_write_mpi (membuf_t *mb, gcry_mpi_t mpi, int strip_prefix)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/export.c:2716,1
    - Dst: ulongtobuf
      Src: /src/gnupg/g10/export.c:2717,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/export.c:2718,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/export.c:2719,1
    - Dst: memcmp
      Src: /src/gnupg/g10/export.c:2720,1
    - Dst: ulongtobuf
      Src: /src/gnupg/g10/export.c:2723,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/export.c:2724,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/export.c:2725,1
    - Dst: va_start
      Src: /src/gnupg/g10/export.c:2727,1
    - Dst: va_arg
      Src: /src/gnupg/g10/export.c:2728,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/export.c:2730,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/export.c:2735,1
    - Dst: strcmp
      Src: /src/gnupg/g10/export.c:2738,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/export.c:2742,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/export.c:2743,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/export.c:2750,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/export.c:2752,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/export.c:2754,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/export.c:2756,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/export.c:2757,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/g10/export.c:2762,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/export.c:2765,1
    - Dst: gcry_free
      Src: /src/gnupg/g10/export.c:2766,1
    - Dst: va_end
      Src: /src/gnupg/g10/export.c:2769,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - mb
    - identifier
    argTypes:
    - membuf_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2706
    functionDepth: 1
    functionLinenumber: 2706
    functionLinenumberEnd: 2771
    functionName: key_to_sshblob
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - gcry_free
    - va_end
    - strlen
    - put_membuf
    - ulongtobuf
    - gcry_mpi_aprint
    - strcmp
    - memcmp
    - va_start
    - va_arg
    - gcry_mpi_get_opaque
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t key_to_sshblob (membuf_t *mb, const char *identifier, ...)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: init_membuf
      Src: /src/gnupg/g10/export.c:2783,1
    - Dst: key_to_sshblob
      Src: /src/gnupg/g10/export.c:2789,1
    - Dst: key_to_sshblob
      Src: /src/gnupg/g10/export.c:2797,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/g10/export.c:2805,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:2807,1
    - Dst: openpgp_oid_to_curve
      Src: /src/gnupg/g10/export.c:2808,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:2809,1
    - Dst: strcmp
      Src: /src/gnupg/g10/export.c:2812,1
    - Dst: strcmp
      Src: /src/gnupg/g10/export.c:2814,1
    - Dst: strcmp
      Src: /src/gnupg/g10/export.c:2816,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:2820,1
    - Dst: key_to_sshblob
      Src: /src/gnupg/g10/export.c:2822,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:2824,1
    - Dst: openpgp_oid_is_ed25519
      Src: /src/gnupg/g10/export.c:2829,1
    - Dst: key_to_sshblob
      Src: /src/gnupg/g10/export.c:2832,1
    - Dst: openpgp_oid_is_ed448
      Src: /src/gnupg/g10/export.c:2834,1
    - Dst: key_to_sshblob
      Src: /src/gnupg/g10/export.c:2837,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:2840,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:2845,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/export.c:2856,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/export.c:2861,1
    - Dst: gpgrt_b64enc_start
      Src: /src/gnupg/g10/export.c:2862,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:2865,1
    - Dst: gpgrt_b64enc_write
      Src: /src/gnupg/g10/export.c:2869,1
    - Dst: gpgrt_b64enc_finish
      Src: /src/gnupg/g10/export.c:2870,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/export.c:2872,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/export.c:2872,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:2873,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:2877,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/export.c:2877,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 2
    argNames:
    - fp
    - pk
    argTypes:
    - estream_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2879
      start: 2774
    functionDepth: 2
    functionLinenumber: 2774
    functionLinenumberEnd: 2879
    functionName: export_one_ssh_key
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - es_fprintf
    - gpg_error_from_syserror
    - key_to_sshblob
    - gpgrt_b64enc_write
    - keyid_from_pk
    - openpgp_oid_is_ed25519
    - openpgp_oid_is_ed448
    - gpgrt_b64enc_finish
    - strcmp
    - gpgrt_b64enc_start
    - gpg_error
    - xfree
    - openpgp_oid_to_curve
    - openpgp_oid_to_str
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t export_one_ssh_key (estream_t fp, PKT_public_key *pk)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: make_timestamp
      Src: /src/gnupg/g10/export.c:2892,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/export.c:2901,1
    - Dst: get_pubkey_byname
      Src: /src/gnupg/g10/export.c:2908,1
    - Dst: getkey_next
      Src: /src/gnupg/g10/export.c:2914,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:2916,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/export.c:2917,1
    - Dst: getkey_end
      Src: /src/gnupg/g10/export.c:2920,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:2924,1
    - Dst: _
      Src: /src/gnupg/g10/export.c:2924,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/export.c:2924,1
    - Dst: log_debug
      Src: /src/gnupg/g10/export.c:2954,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/export.c:2955,1
    - Dst: log_debug
      Src: /src/gnupg/g10/export.c:2959,1
    - Dst: log_debug
      Src: /src/gnupg/g10/export.c:2965,1
    - Dst: log_debug
      Src: /src/gnupg/g10/export.c:2971,1
    - Dst: log_debug
      Src: /src/gnupg/g10/export.c:2977,1
    - Dst: log_debug
      Src: /src/gnupg/g10/export.c:2983,1
    - Dst: log_debug
      Src: /src/gnupg/g10/export.c:2987,1
    - Dst: log_debug
      Src: /src/gnupg/g10/export.c:3005,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/export.c:3006,1
    - Dst: log_debug
      Src: /src/gnupg/g10/export.c:3010,1
    - Dst: log_debug
      Src: /src/gnupg/g10/export.c:3015,1
    - Dst: log_debug
      Src: /src/gnupg/g10/export.c:3020,1
    - Dst: log_debug
      Src: /src/gnupg/g10/export.c:3025,1
    - Dst: log_debug
      Src: /src/gnupg/g10/export.c:3030,1
    - Dst: log_debug
      Src: /src/gnupg/g10/export.c:3035,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:3044,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:3045,1
    - Dst: _
      Src: /src/gnupg/g10/export.c:3045,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/export.c:3045,1
    - Dst: log_debug
      Src: /src/gnupg/g10/export.c:3051,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/export.c:3051,1
    - Dst: strcmp
      Src: /src/gnupg/g10/export.c:3053,1
    - Dst: es_fopen
      Src: /src/gnupg/g10/export.c:3054,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:3059,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:3060,1
    - Dst: _
      Src: /src/gnupg/g10/export.c:3060,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/export.c:3060,1
    - Dst: export_one_ssh_key
      Src: /src/gnupg/g10/export.c:3064,1
    - Dst: es_ferror
      Src: /src/gnupg/g10/export.c:3068,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:3069,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/export.c:3072,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:3073,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:3078,1
    - Dst: _
      Src: /src/gnupg/g10/export.c:3078,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/export.c:3078,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/export.c:3082,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/export.c:3083,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 131
    argCount: 2
    argNames:
    - ctrl
    - userid
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3085
      start: 2885
    functionDepth: 4
    functionLinenumber: 2885
    functionLinenumberEnd: 3085
    functionName: export_ssh_key
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 1
    functionsReached:
    - get_pubkey_byname
    - es_fopen
    - log_error
    - _
    - es_ferror
    - log_debug
    - gpg_error_from_syserror
    - strcmp
    - gpg_error
    - gpg_strerror
    - getkey_next
    - export_one_ssh_key
    - release_kbnode
    - es_fclose
    - keyid_from_pk
    - getkey_end
    - make_timestamp
    - classify_user_id
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t export_ssh_key (ctrl_t ctrl, const char *userid)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: init_membuf_secure
      Src: /src/gnupg/g10/export.c:3116,1
    - Dst: init_membuf_secure
      Src: /src/gnupg/g10/export.c:3117,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/export.c:3120,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:3123,1
    - Dst: _
      Src: /src/gnupg/g10/export.c:3123,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/export.c:3124,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/export.c:3128,1
    - Dst: get_keywrap_key
      Src: /src/gnupg/g10/export.c:3130,1
    - Dst: receive_seckey_from_agent
      Src: /src/gnupg/g10/export.c:3133,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/g10/export.c:3139,1
    - Dst: memcmp
      Src: /src/gnupg/g10/export.c:3140,1
    - Dst: log_info
      Src: /src/gnupg/g10/export.c:3142,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:3143,1
    - Dst: mb_write_cstring
      Src: /src/gnupg/g10/export.c:3147,1
    - Dst: mb_write_string
      Src: /src/gnupg/g10/export.c:3148,1
    - Dst: mb_write_string
      Src: /src/gnupg/g10/export.c:3149,1
    - Dst: mb_write_uint32
      Src: /src/gnupg/g10/export.c:3150,1
    - Dst: mb_write_uint32
      Src: /src/gnupg/g10/export.c:3151,1
    - Dst: get_pk_algo_from_key
      Src: /src/gnupg/g10/export.c:3153,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/g10/export.c:3159,1
    - Dst: mb_write_string
      Src: /src/gnupg/g10/export.c:3168,1
    - Dst: strlen
      Src: /src/gnupg/g10/export.c:3168,1
    - Dst: mb_write_mpi
      Src: /src/gnupg/g10/export.c:3169,1
    - Dst: mb_write_mpi
      Src: /src/gnupg/g10/export.c:3170,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/export.c:3172,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:3175,1
    - Dst: mb_write_string
      Src: /src/gnupg/g10/export.c:3178,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:3179,1
    - Dst: init_membuf_secure
      Src: /src/gnupg/g10/export.c:3180,1
    - Dst: mb_write_string
      Src: /src/gnupg/g10/export.c:3181,1
    - Dst: strlen
      Src: /src/gnupg/g10/export.c:3181,1
    - Dst: gcry_create_nonce
      Src: /src/gnupg/g10/export.c:3184,1
    - Dst: mb_write_data
      Src: /src/gnupg/g10/export.c:3185,1
    - Dst: mb_write_data
      Src: /src/gnupg/g10/export.c:3186,1
    - Dst: mb_write_mpi
      Src: /src/gnupg/g10/export.c:3188,1
    - Dst: mb_write_mpi
      Src: /src/gnupg/g10/export.c:3189,1
    - Dst: mb_write_mpi
      Src: /src/gnupg/g10/export.c:3191,1
    - Dst: mb_write_mpi
      Src: /src/gnupg/g10/export.c:3192,1
    - Dst: mb_write_mpi
      Src: /src/gnupg/g10/export.c:3193,1
    - Dst: mb_write_mpi
      Src: /src/gnupg/g10/export.c:3194,1
    - Dst: mb_write_string
      Src: /src/gnupg/g10/export.c:3196,1
    - Dst: peek_membuf
      Src: /src/gnupg/g10/export.c:3199,1
    - Dst: mb_write_uint8
      Src: /src/gnupg/g10/export.c:3200,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/export.c:3202,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:3205,1
    - Dst: mb_write_string
      Src: /src/gnupg/g10/export.c:3208,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:3209,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:3210,1
    - Dst: log_info
      Src: /src/gnupg/g10/export.c:3257,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:3258,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/export.c:3263,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/export.c:3274,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:3277,1
    - Dst: strcmp
      Src: /src/gnupg/g10/export.c:3281,1
    - Dst: es_fopen
      Src: /src/gnupg/g10/export.c:3282,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:3287,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:3288,1
    - Dst: _
      Src: /src/gnupg/g10/export.c:3288,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/export.c:3288,1
    - Dst: gpgrt_b64enc_start
      Src: /src/gnupg/g10/export.c:3292,1
    - Dst: gpgrt_b64enc_write
      Src: /src/gnupg/g10/export.c:3295,1
    - Dst: gpgrt_b64enc_finish
      Src: /src/gnupg/g10/export.c:3296,1
    - Dst: es_ferror
      Src: /src/gnupg/g10/export.c:3300,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:3301,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/export.c:3304,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/export.c:3305,1
    - Dst: log_info
      Src: /src/gnupg/g10/export.c:3309,1
    - Dst: log_error
      Src: /src/gnupg/g10/export.c:3312,1
    - Dst: _
      Src: /src/gnupg/g10/export.c:3312,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/export.c:3312,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:3316,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/export.c:3317,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/export.c:3318,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/g10/export.c:3319,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:3320,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/export.c:3320,1
    - Dst: xfree
      Src: /src/gnupg/g10/export.c:3321,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/export.c:3321,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/export.c:3323,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 134
    argCount: 2
    argNames:
    - ctrl
    - userid
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3325
      start: 3092
    functionDepth: 4
    functionLinenumber: 3092
    functionLinenumberEnd: 3325
    functionName: export_secret_ssh_key
    functionSourceFile: /src/gnupg/g10/export.c
    functionUses: 1
    functionsReached:
    - mb_write_mpi
    - strlen
    - mb_write_cstring
    - es_fopen
    - init_membuf_secure
    - receive_seckey_from_agent
    - mb_write_string
    - peek_membuf
    - log_error
    - _
    - gpgrt_b64enc_finish
    - log_info
    - gcry_sexp_release
    - es_ferror
    - gpg_error_from_syserror
    - gcry_sexp_extract_param
    - strcmp
    - gpgrt_b64enc_start
    - gpg_error
    - gcry_sexp_nth_data
    - gpg_strerror
    - xfree
    - mb_write_data
    - get_membuf
    - get_keywrap_key
    - bin2hex
    - get_pk_algo_from_key
    - gpgrt_b64enc_write
    - es_fclose
    - mb_write_uint32
    - classify_user_id
    - memcmp
    - mb_write_uint8
    - gcry_create_nonce
    - gcry_cipher_close
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t export_secret_ssh_key (ctrl_t ctrl, const char *userid)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: check_key_signature
      Src: /src/gnupg/g10/keyedit.c:146,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyedit.c:147,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyedit.c:176,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyedit.c:182,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyedit.c:184,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/keyedit.c:187,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:188,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyedit.c:191,1
    - Dst: print_subpackets_colon
      Src: /src/gnupg/g10/keyedit.c:195,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 8
    argNames:
    - ctrl
    - keyblock
    - node
    - inv_sigs
    - no_key
    - oth_err
    - is_selfsig
    - print_without_key
    argTypes:
    - ctrl_t
    - kbnode_t
    - kbnode_t
    - int*
    - int*
    - int*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 199
    functionName: print_and_check_one_sig_colon
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - strlen
    - es_write_sanitized
    - es_printf
    - gpg_err_code
    - check_key_signature
    - print_subpackets_colon
    linkageType: ''
    returnType: int
    signature: "int print_and_check_one_sig_colon (ctrl_t ctrl, kbnode_t keyblock,
      kbnode_t node,\n\t\t\t       int *inv_sigs, int *no_key, int *oth_err,\n\t\t\t
      \      int *is_selfsig, int print_without_key)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyedit.c:221,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:249,1
    - Dst: keystr
      Src: /src/gnupg/g10/keyedit.c:262,1
    - Dst: datestr_from_sig
      Src: /src/gnupg/g10/keyedit.c:263,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:265,1
    - Dst: expirestr_from_sig
      Src: /src/gnupg/g10/keyedit.c:265,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:266,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:268,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:268,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:273,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:273,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:273,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:275,1
    - Dst: get_user_id
      Src: /src/gnupg/g10/keyedit.c:280,1
    - Dst: tty_print_utf8_string2
      Src: /src/gnupg/g10/keyedit.c:281,1
    - Dst: keystrlen
      Src: /src/gnupg/g10/keyedit.c:282,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:286,1
    - Dst: log_get_stream
      Src: /src/gnupg/g10/keyedit.c:288,1
    - Dst: log_printf
      Src: /src/gnupg/g10/keyedit.c:289,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:291,1
    - Dst: show_policy_url
      Src: /src/gnupg/g10/keyedit.c:295,1
    - Dst: log_get_stream
      Src: /src/gnupg/g10/keyedit.c:295,1
    - Dst: show_notation
      Src: /src/gnupg/g10/keyedit.c:299,1
    - Dst: log_get_stream
      Src: /src/gnupg/g10/keyedit.c:299,1
    - Dst: show_keyserver_url
      Src: /src/gnupg/g10/keyedit.c:309,1
    - Dst: log_get_stream
      Src: /src/gnupg/g10/keyedit.c:309,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/keyedit.c:316,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:318,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/keyedit.c:320,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/keyedit.c:321,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:322,1
    - Dst: isotimestamp
      Src: /src/gnupg/g10/keyedit.c:323,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/keyedit.c:323,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 62
    argCount: 11
    argNames:
    - ctrl
    - fp
    - rc
    - keyblock
    - node
    - inv_sigs
    - no_key
    - oth_err
    - is_selfsig
    - print_without_key
    - extended
    argTypes:
    - ctrl_t
    - estream_t
    - int
    - kbnode_t
    - kbnode_t
    - int*
    - int*
    - int*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 208
    functionDepth: 5
    functionLinenumber: 208
    functionLinenumberEnd: 328
    functionName: keyedit_print_one_sig
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - datestr_from_sig
    - show_keyserver_url
    - expirestr_from_sig
    - show_notation
    - parse_sig_subpkt
    - show_policy_url
    - tty_print_utf8_string2
    - log_get_stream
    - tty_fprintf
    - get_user_id
    - _
    - isotimestamp
    - log_printf
    - keystrlen
    - gpg_strerror
    - xfree
    - keystr
    - gpg_err_code
    - buf32_to_u32
    linkageType: ''
    returnType: int
    signature: "int keyedit_print_one_sig (ctrl_t ctrl, estream_t fp,\n                       int
      rc, kbnode_t keyblock, kbnode_t node,\n\t\t       int *inv_sigs, int *no_key,
      int *oth_err,\n\t\t       int is_selfsig, int print_without_key, int extended)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_key_signature
      Src: /src/gnupg/g10/keyedit.c:338,1
    - Dst: keyedit_print_one_sig
      Src: /src/gnupg/g10/keyedit.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ctrl
    - keyblock
    - node
    - inv_sigs
    - no_key
    - oth_err
    - is_selfsig
    - print_without_key
    - extended
    argTypes:
    - ctrl_t
    - kbnode_t
    - kbnode_t
    - int*
    - int*
    - int*
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 331
    functionDepth: 6
    functionLinenumber: 331
    functionLinenumberEnd: 342
    functionName: print_and_check_one_sig
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - check_key_signature
    - keyedit_print_one_sig
    linkageType: ''
    returnType: int
    signature: "int print_and_check_one_sig (ctrl_t ctrl, kbnode_t keyblock, kbnode_t
      node,\n\t\t\t int *inv_sigs, int *no_key, int *oth_err,\n\t\t\t int *is_selfsig,
      int print_without_key, int extended)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keyedit.c:354,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keyedit.c:360,1
    - Dst: revocation_reason_build_cb
      Src: /src/gnupg/g10/keyedit.c:364,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keyedit.c:372,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keyedit.c:378,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - sig
    - opaque
    argTypes:
    - PKT_signature*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 384
    functionName: sign_mk_attrib
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - revocation_reason_build_cb
    - build_sig_subpkt
    - strlen
    linkageType: ''
    returnType: int
    signature: int sign_mk_attrib (PKT_signature * sig, void *opaque)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:411,1
    - Dst: strtokenize
      Src: /src/gnupg/g10/keyedit.c:416,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyedit.c:418,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:424,1
    - Dst: strtol
      Src: /src/gnupg/g10/keyedit.c:427,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:430,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keyedit.c:434,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keyedit.c:434,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keyedit.c:436,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keyedit.c:436,1
    - Dst: strtol
      Src: /src/gnupg/g10/keyedit.c:440,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:443,1
    - Dst: is_valid_domain_name
      Src: /src/gnupg/g10/keyedit.c:451,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:452,1
    - Dst: strconcat
      Src: /src/gnupg/g10/keyedit.c:455,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyedit.c:457,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:462,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:465,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 53
    argCount: 4
    argNames:
    - string
    - trust_value
    - trust_depth
    - regexp
    argTypes:
    - char*
    - byte*
    - byte*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 469
    functionName: parse_trustsig_string
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - strtol
    - gpg_error_from_syserror
    - strconcat
    - strtokenize
    - strcmp
    - gpg_error
    - xfree
    - is_valid_domain_name
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_trustsig_string (const char *string,\n                       byte
      *trust_value, byte *trust_depth, char **regexp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:483,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:483,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:487,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:488,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:488,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:489,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:489,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:490,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keyedit.c:494,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:494,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/keyedit.c:495,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/keyedit.c:496,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:502,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:505,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:507,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:507,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:511,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keyedit.c:515,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:515,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/keyedit.c:516,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/keyedit.c:517,1
    - Dst: atoi
      Src: /src/gnupg/g10/keyedit.c:518,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:519,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:522,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:524,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:524,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:527,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keyedit.c:529,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:529,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/keyedit.c:530,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/keyedit.c:531,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:533,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keyedit.c:538,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keyedit.c:544,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:545,1
    - Dst: xrealloc
      Src: /src/gnupg/g10/keyedit.c:558,1
    - Dst: strcat
      Src: /src/gnupg/g10/keyedit.c:565,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:568,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:569,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - trust_value
    - trust_depth
    - regexp
    argTypes:
    - byte*
    - byte*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 570
    functionName: trustsig_prompt
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - atoi
    - strlen
    - trim_spaces
    - cpr_get
    - _
    - xrealloc
    - xmalloc
    - xfree
    - strcpy
    - tty_printf
    - strcat
    linkageType: ''
    returnType: void
    signature: void trustsig_prompt (byte * trust_value, byte * trust_depth, char
      **regexp)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: count_selected_uids
      Src: /src/gnupg/g10/keyedit.c:593,1
    - Dst: build_sk_list
      Src: /src/gnupg/g10/keyedit.c:604,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyedit.c:618,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyedit.c:636,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/keyedit.c:650,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:656,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:656,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:664,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:664,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:667,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:670,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:672,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:673,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:687,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:687,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:692,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:692,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:695,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:698,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:700,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:701,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:715,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:715,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:720,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:720,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:725,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:727,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:728,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:742,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:742,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:749,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:750,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:751,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:752,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:759,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/keyedit.c:771,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:778,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:779,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:787,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:788,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:793,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:801,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:801,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:804,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:806,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:818,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:828,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:828,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:831,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:833,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:844,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:853,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:854,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/keyedit.c:855,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:857,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:858,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/keyedit.c:859,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:867,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:872,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:873,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:878,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keyedit.c:882,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/keyedit.c:884,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:887,1
    - Dst: count_uids_with_flag
      Src: /src/gnupg/g10/keyedit.c:893,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:895,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:895,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/keyedit.c:896,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:901,1
    - Dst: show_key_with_all_names
      Src: /src/gnupg/g10/keyedit.c:902,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:903,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/keyedit.c:915,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:919,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:919,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:923,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:924,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:925,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:931,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:931,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:937,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:937,1
    - Dst: expirestr_from_pk
      Src: /src/gnupg/g10/keyedit.c:938,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keyedit.c:942,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:943,1
    - Dst: answer_is_yes_no_default
      Src: /src/gnupg/g10/keyedit.c:945,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/keyedit.c:957,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:958,1
    - Dst: ask_expire_interval
      Src: /src/gnupg/g10/keyedit.c:968,1
    - Dst: parse_expire_string
      Src: /src/gnupg/g10/keyedit.c:970,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:983,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:984,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:988,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:989,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:989,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:991,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:991,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:993,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:993,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:995,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:996,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:998,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keyedit.c:1002,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1003,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keyedit.c:1007,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keyedit.c:1009,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keyedit.c:1011,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keyedit.c:1013,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:1016,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1016,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:1018,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:1024,1
    - Dst: parse_trustsig_string
      Src: /src/gnupg/g10/keyedit.c:1028,1
    - Dst: trustsig_prompt
      Src: /src/gnupg/g10/keyedit.c:1034,1
    - Dst: get_user_id_native
      Src: /src/gnupg/g10/keyedit.c:1040,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:1041,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1042,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/keyedit.c:1043,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:1044,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:1049,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:1050,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1050,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:1054,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:1055,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1055,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:1061,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:1062,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1062,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:1070,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:1071,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1072,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:1077,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:1078,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1079,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:1086,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1086,1
    - Dst: if
      Src: /src/gnupg/g10/keyedit.c:1116,1
    - Dst: make_keysig_packet
      Src: /src/gnupg/g10/keyedit.c:1140,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1160,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:1160,1
    - Dst: insert_kbnode
      Src: /src/gnupg/g10/keyedit.c:1170,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keyedit.c:1170,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/keyedit.c:1178,1
    CyclomaticComplexity: 110
    EdgeCount: 110
    ICount: 254
    argCount: 7
    argNames:
    - ctrl
    - fp
    - keyblock
    - locusr
    - flags
    - trustsigstr
    - ret_modified
    argTypes:
    - ctrl_t
    - estream_t
    - kbnode_t
    - strlist_t
    - unsigned int
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 581
    functionDepth: 6
    functionLinenumber: 581
    functionLinenumberEnd: 1179
    functionName: sign_uids
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - cpr_get
    - ascii_strcasecmp
    - make_keysig_packet
    - if
    - utf8_to_native
    - new_kbnode
    - tty_fprintf
    - show_key_with_all_names
    - count_selected_uids
    - answer_is_yes_no_default
    - expirestr_from_pk
    - _
    - insert_kbnode
    - count_uids_with_flag
    - parse_trustsig_string
    - delete_kbnode
    - cpr_get_answer_is_yes
    - write_status_text
    - keystr_from_pk
    - ask_expire_interval
    - trustsig_prompt
    - xfree
    - gpg_strerror
    - parse_expire_string
    - snprintf
    - keyid_from_pk
    - build_sk_list
    - make_timestamp
    - get_user_id_native
    linkageType: ''
    returnType: int
    signature: "int sign_uids (ctrl_t ctrl, estream_t fp,\n           kbnode_t keyblock,
      strlist_t locusr, unsigned int flags,\n           const char *trustsigstr, int
      *ret_modified)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: find_kbnode
      Src: /src/gnupg/g10/keyedit.c:1208,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:1211,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:1212,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyedit.c:1216,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyedit.c:1228,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:1230,1
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/keyedit.c:1231,1
    - Dst: agent_get_keyinfo
      Src: /src/gnupg/g10/keyedit.c:1234,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyedit.c:1237,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:1242,1
    - Dst: keystr_with_sub
      Src: /src/gnupg/g10/keyedit.c:1243,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:1243,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:1244,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1250,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1250,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyedit.c:1264,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:1266,1
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/keyedit.c:1267,1
    - Dst: strchr
      Src: /src/gnupg/g10/keyedit.c:1270,1
    - Dst: gpg_format_keydesc
      Src: /src/gnupg/g10/keyedit.c:1280,1
    - Dst: agent_passwd
      Src: /src/gnupg/g10/keyedit.c:1281,1
    - Dst: agent_passwd
      Src: /src/gnupg/g10/keyedit.c:1284,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:1286,1
    - Dst: log_log
      Src: /src/gnupg/g10/keyedit.c:1289,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyedit.c:1289,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyedit.c:1290,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1292,1
    - Dst: keystr_with_sub
      Src: /src/gnupg/g10/keyedit.c:1293,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:1294,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyedit.c:1295,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:1301,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:1302,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:1303,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 2
    argNames:
    - ctrl
    - keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1305
    functionName: change_passphrase
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - agent_get_keyinfo
    - gpg_format_keydesc
    - log_error
    - keystr_with_sub
    - find_kbnode
    - keyid_from_pk
    - agent_passwd
    - _
    - gpg_error
    - strchr
    - xfree
    - gpg_err_code
    - gpg_strerror
    - log_log
    - tty_printf
    - hexkeygrip_from_pk
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t change_passphrase (ctrl_t ctrl, kbnode_t keyblock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: collapse_uids
      Src: /src/gnupg/g10/keyedit.c:1317,1
    - Dst: collapse_subkeys
      Src: /src/gnupg/g10/keyedit.c:1319,1
    - Dst: key_check_all_keysigs
      Src: /src/gnupg/g10/keyedit.c:1321,1
    - Dst: reorder_keyblock
      Src: /src/gnupg/g10/keyedit.c:1323,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:1326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctrl
    - keyblockp
    argTypes:
    - ctrl_t
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1312
    functionDepth: 2
    functionLinenumber: 1312
    functionLinenumberEnd: 1329
    functionName: fix_keyblock
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - collapse_uids
    - reorder_keyblock
    - merge_keys_and_selfsig
    - collapse_subkeys
    - key_check_all_keysigs
    linkageType: ''
    returnType: int
    signature: int fix_keyblock (ctrl_t ctrl, kbnode_t *keyblockp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/g10/keyedit.c:1341,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/g10/keyedit.c:1346,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/g10/keyedit.c:1351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - str
    - r_flags
    argTypes:
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1361
    functionName: parse_sign_type
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - ascii_strncasecmp
    linkageType: ''
    returnType: int
    signature: int parse_sign_type (const char *str, unsigned int *r_flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:1517,1
    - Dst: strncmp
      Src: /src/gnupg/g10/keyedit.c:1524,1
    - Dst: strdup
      Src: /src/gnupg/g10/keyedit.c:1525,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - text
    - state
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1529
    functionName: command_generator
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strdup
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      command_generator (const char *text, int state)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rl_completion_matches
      Src: /src/gnupg/g10/keyedit.c:1540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1545
    functionName: keyedit_completion
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - rl_completion_matches
    linkageType: ''
    returnType: char
    signature: 'char **

      keyedit_completion (const char *text, int start, int end)'
  - BBCount: 171
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:1575,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1575,1
    - Dst: check_trustdb_stale
      Src: /src/gnupg/g10/keyedit.c:1589,1
    - Dst: get_pubkey_byname
      Src: /src/gnupg/g10/keyedit.c:1593,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:1597,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1597,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:1597,1
    - Dst: fix_keyblock
      Src: /src/gnupg/g10/keyedit.c:1601,1
    - Dst: agent_probe_any_secret_key
      Src: /src/gnupg/g10/keyedit.c:1607,1
    - Dst: agent_probe_secret_key
      Src: /src/gnupg/g10/keyedit.c:1609,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1616,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1616,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1618,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1618,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1629,1
    - Dst: show_key_with_all_names
      Src: /src/gnupg/g10/keyedit.c:1634,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1635,1
    - Dst: count_selected_keys
      Src: /src/gnupg/g10/keyedit.c:1642,1
    - Dst: subkey_expire_warning
      Src: /src/gnupg/g10/keyedit.c:1643,1
    - Dst: no_usable_encr_subkeys_warning
      Src: /src/gnupg/g10/keyedit.c:1644,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1650,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1651,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:1657,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/keyedit.c:1662,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/keyedit.c:1667,1
    - Dst: tty_enable_completion
      Src: /src/gnupg/g10/keyedit.c:1675,1
    - Dst: cpr_get_no_help
      Src: /src/gnupg/g10/keyedit.c:1677,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/keyedit.c:1678,1
    - Dst: tty_disable_completion
      Src: /src/gnupg/g10/keyedit.c:1679,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/keyedit.c:1681,1
    - Dst: digitp
      Src: /src/gnupg/g10/keyedit.c:1691,1
    - Dst: atoi
      Src: /src/gnupg/g10/keyedit.c:1694,1
    - Dst: strchr
      Src: /src/gnupg/g10/keyedit.c:1698,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/keyedit.c:1701,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/keyedit.c:1702,1
    - Dst: atoi
      Src: /src/gnupg/g10/keyedit.c:1703,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:1711,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:1712,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keyedit.c:1715,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keyedit.c:1722,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1729,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1729,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1747,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1747,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1750,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1751,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1752,1
    - Dst: show_key_and_fingerprint
      Src: /src/gnupg/g10/keyedit.c:1765,1
    - Dst: spacep
      Src: /src/gnupg/g10/keyedit.c:1768,1
    - Dst: show_key_and_grip
      Src: /src/gnupg/g10/keyedit.c:1772,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:1776,1
    - Dst: menu_select_uid_namehash
      Src: /src/gnupg/g10/keyedit.c:1777,1
    - Dst: spacep
      Src: /src/gnupg/g10/keyedit.c:1781,1
    - Dst: menu_select_uid
      Src: /src/gnupg/g10/keyedit.c:1783,1
    - Dst: spacep
      Src: /src/gnupg/g10/keyedit.c:1790,1
    - Dst: menu_select_key
      Src: /src/gnupg/g10/keyedit.c:1792,1
    - Dst: key_check_all_keysigs
      Src: /src/gnupg/g10/keyedit.c:1798,1
    - Dst: count_selected_uids
      Src: /src/gnupg/g10/keyedit.c:1799,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keyedit.c:1800,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1811,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1811,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1815,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:1816,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1818,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1823,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1823,1
    - Dst: count_uids
      Src: /src/gnupg/g10/keyedit.c:1828,1
    - Dst: count_selected_uids
      Src: /src/gnupg/g10/keyedit.c:1828,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:1832,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1834,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:1836,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1838,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1846,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1846,1
    - Dst: parse_sign_type
      Src: /src/gnupg/g10/keyedit.c:1855,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1857,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1857,1
    - Dst: sign_uids
      Src: /src/gnupg/g10/keyedit.c:1861,1
    - Dst: dump_kbnode
      Src: /src/gnupg/g10/keyedit.c:1871,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1885,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1885,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/keyedit.c:1886,1
    - Dst: menu_adduid
      Src: /src/gnupg/g10/keyedit.c:1892,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:1898,1
    - Dst: count_selected_uids
      Src: /src/gnupg/g10/keyedit.c:1906,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1908,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1908,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1910,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1910,1
    - Dst: real_uids_left
      Src: /src/gnupg/g10/keyedit.c:1912,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1913,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1913,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:1914,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1916,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1917,1
    - Dst: menu_deluid
      Src: /src/gnupg/g10/keyedit.c:1919,1
    - Dst: count_selected_uids
      Src: /src/gnupg/g10/keyedit.c:1932,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1934,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1934,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1936,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1936,1
    - Dst: menu_delsig
      Src: /src/gnupg/g10/keyedit.c:1938,1
    - Dst: generate_subkeypair
      Src: /src/gnupg/g10/keyedit.c:1948,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:1953,1
    - Dst: card_generate_subkey
      Src: /src/gnupg/g10/keyedit.c:1959,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:1964,1
    - Dst: count_selected_keys
      Src: /src/gnupg/g10/keyedit.c:1972,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:1975,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1979,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:1991,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:1991,1
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/keyedit.c:1999,1
    - Dst: agent_keytotpm
      Src: /src/gnupg/g10/keyedit.c:2000,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:2004,1
    - Dst: count_selected_keys
      Src: /src/gnupg/g10/keyedit.c:2012,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:2015,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2019,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:2031,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2031,1
    - Dst: card_store_subkey
      Src: /src/gnupg/g10/keyedit.c:2037,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:2062,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2062,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/keyedit.c:2067,1
    - Dst: make_filename
      Src: /src/gnupg/g10/keyedit.c:2069,1
    - Dst: make_filename
      Src: /src/gnupg/g10/keyedit.c:2071,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/keyedit.c:2071,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/keyedit.c:2074,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/keyedit.c:2075,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/keyedit.c:2075,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyedit.c:2077,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/keyedit.c:2079,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:2083,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2083,1
    - Dst: strerror
      Src: /src/gnupg/g10/keyedit.c:2084,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:2085,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keyedit.c:2090,1
    - Dst: init_packet
      Src: /src/gnupg/g10/keyedit.c:2091,1
    - Dst: init_parse_packet
      Src: /src/gnupg/g10/keyedit.c:2092,1
    - Dst: parse_packet
      Src: /src/gnupg/g10/keyedit.c:2093,1
    - Dst: deinit_parse_packet
      Src: /src/gnupg/g10/keyedit.c:2094,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keyedit.c:2095,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/keyedit.c:2096,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:2102,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2102,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:2103,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:2104,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keyedit.c:2105,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:2106,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:2110,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keyedit.c:2111,1
    - Dst: agent_set_ephemeral_mode
      Src: /src/gnupg/g10/keyedit.c:2113,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:2115,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:2116,1
    - Dst: transfer_secret_keys
      Src: /src/gnupg/g10/keyedit.c:2120,1
    - Dst: card_store_subkey
      Src: /src/gnupg/g10/keyedit.c:2127,1
    - Dst: append_subkey_to_keyblock
      Src: /src/gnupg/g10/keyedit.c:2134,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyedit.c:2137,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:2140,1
    - Dst: agent_set_ephemeral_mode
      Src: /src/gnupg/g10/keyedit.c:2145,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:2146,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyedit.c:2148,1
    - Dst: count_selected_keys
      Src: /src/gnupg/g10/keyedit.c:2158,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:2160,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2160,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:2162,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2162,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:2164,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2166,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2168,1
    - Dst: menu_delkey
      Src: /src/gnupg/g10/keyedit.c:2172,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keyedit.c:2184,1
    - Dst: menu_addrevoker
      Src: /src/gnupg/g10/keyedit.c:2186,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:2191,1
    - Dst: menu_addadsk
      Src: /src/gnupg/g10/keyedit.c:2197,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:2202,1
    - Dst: count_selected_uids
      Src: /src/gnupg/g10/keyedit.c:2210,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:2212,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2212,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:2214,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2214,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:2216,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2218,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2219,1
    - Dst: menu_revuid
      Src: /src/gnupg/g10/keyedit.c:2221,1
    - Dst: count_selected_keys
      Src: /src/gnupg/g10/keyedit.c:2235,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:2237,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2238,1
    - Dst: menu_revkey
      Src: /src/gnupg/g10/keyedit.c:2241,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:2250,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2252,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2254,1
    - Dst: menu_revsubkey
      Src: /src/gnupg/g10/keyedit.c:2257,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:2267,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyedit.c:2272,1
    - Dst: menu_expire
      Src: /src/gnupg/g10/keyedit.c:2272,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:2274,1
    - Dst: menu_changeusage
      Src: /src/gnupg/g10/keyedit.c:2283,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:2285,1
    - Dst: menu_backsign
      Src: /src/gnupg/g10/keyedit.c:2293,1
    - Dst: menu_set_primary_uid
      Src: /src/gnupg/g10/keyedit.c:2302,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:2304,1
    - Dst: change_passphrase
      Src: /src/gnupg/g10/keyedit.c:2312,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:2319,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2319,1
    - Dst: show_key_with_all_names
      Src: /src/gnupg/g10/keyedit.c:2324,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:2325,1
    - Dst: edit_ownertrust
      Src: /src/gnupg/g10/keyedit.c:2326,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/keyedit.c:2326,1
    - Dst: count_selected_uids
      Src: /src/gnupg/g10/keyedit.c:2341,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keyedit.c:2342,1
    - Dst: show_names
      Src: /src/gnupg/g10/keyedit.c:2343,1
    - Dst: count_selected_uids
      Src: /src/gnupg/g10/keyedit.c:2350,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keyedit.c:2351,1
    - Dst: show_names
      Src: /src/gnupg/g10/keyedit.c:2352,1
    - Dst: keygen_set_std_prefs
      Src: /src/gnupg/g10/keyedit.c:2361,1
    - Dst: keygen_get_std_prefs
      Src: /src/gnupg/g10/keyedit.c:2363,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:2364,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2364,1
    - Dst: show_prefs
      Src: /src/gnupg/g10/keyedit.c:2365,1
    - Dst: free_user_id
      Src: /src/gnupg/g10/keyedit.c:2366,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:2368,1
    - Dst: count_selected_uids
      Src: /src/gnupg/g10/keyedit.c:2370,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2371,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2373,1
    - Dst: menu_set_preferences
      Src: /src/gnupg/g10/keyedit.c:2375,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:2377,1
    - Dst: menu_set_keyserver_url
      Src: /src/gnupg/g10/keyedit.c:2387,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:2390,1
    - Dst: menu_set_notation
      Src: /src/gnupg/g10/keyedit.c:2398,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:2401,1
    - Dst: menu_revsig
      Src: /src/gnupg/g10/keyedit.c:2412,1
    - Dst: enable_disable_key
      Src: /src/gnupg/g10/keyedit.c:2423,1
    - Dst: menu_showphoto
      Src: /src/gnupg/g10/keyedit.c:2432,1
    - Dst: menu_clean
      Src: /src/gnupg/g10/keyedit.c:2436,1
    - Dst: menu_clean
      Src: /src/gnupg/g10/keyedit.c:2441,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:2450,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2451,1
    - Dst: cpr_enabled
      Src: /src/gnupg/g10/keyedit.c:2453,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:2454,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2455,1
    - Dst: keydb_update_keyblock
      Src: /src/gnupg/g10/keyedit.c:2463,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:2466,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2466,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:2466,1
    - Dst: maybe_upload_key
      Src: /src/gnupg/g10/keyedit.c:2471,1
    - Dst: agent_delete_key
      Src: /src/gnupg/g10/keyedit.c:2483,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:2491,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2491,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:2492,1
    - Dst: agent_scd_learn
      Src: /src/gnupg/g10/keyedit.c:2499,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:2502,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2502,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:2502,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:2508,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2508,1
    - Dst: revalidation_mark
      Src: /src/gnupg/g10/keyedit.c:2512,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:2519,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:2520,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2520,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/keyedit.c:2526,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyedit.c:2527,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/keyedit.c:2528,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:2529,1
    CyclomaticComplexity: 230
    EdgeCount: 230
    ICount: 601
    argCount: 6
    argNames:
    - ctrl
    - username
    - locusr
    - commands
    - quiet
    - seckey_check
    argTypes:
    - ctrl_t
    - char*
    - strlist_t
    - strlist_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2530
      start: 1551
    functionDepth: 7
    functionLinenumber: 1551
    functionLinenumberEnd: 2530
    functionName: keyedit_menu
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - menu_expire
    - show_key_and_grip
    - count_uids
    - subkey_expire_warning
    - gnupg_homedir
    - card_generate_subkey
    - menu_delkey
    - maybe_upload_key
    - xstrdup
    - menu_select_uid
    - show_key_with_all_names
    - edit_ownertrust
    - menu_set_primary_uid
    - count_selected_uids
    - menu_revsig
    - menu_addadsk
    - trim_spaces
    - no_usable_encr_subkeys_warning
    - enable_disable_key
    - menu_changeusage
    - iobuf_open
    - xfree
    - keygen_set_std_prefs
    - agent_delete_key
    - tty_disable_completion
    - atoi
    - release_kbnode
    - agent_keytotpm
    - menu_showphoto
    - get_pubkey_byname
    - strlen
    - menu_select_key
    - menu_revsubkey
    - agent_scd_learn
    - ascii_strcasecmp
    - count_selected_keys
    - new_kbnode
    - menu_revuid
    - log_error
    - show_names
    - merge_keys_and_selfsig
    - menu_select_uid_namehash
    - card_store_subkey
    - gnupg_compliance_option_string
    - tty_enable_completion
    - menu_addrevoker
    - iobuf_get_fd
    - menu_clean
    - keydb_release
    - cpr_kill_prompt
    - menu_delsig
    - log_assert
    - digitp
    - menu_set_keyserver_url
    - init_packet
    - revalidation_mark
    - show_key_and_fingerprint
    - menu_backsign
    - menu_set_preferences
    - tty_printf
    - cpr_get_answer_is_yes
    - transfer_secret_keys
    - append_subkey_to_keyblock
    - spacep
    - menu_deluid
    - strchr
    - change_passphrase
    - hexkeygrip_from_pk
    - menu_set_notation
    - make_filename
    - parse_packet
    - cpr_get_no_help
    - menu_adduid
    - agent_probe_secret_key
    - parse_sign_type
    - sign_uids
    - strerror
    - agent_set_ephemeral_mode
    - deinit_parse_packet
    - keygen_get_std_prefs
    - xmalloc
    - keydb_update_keyblock
    - free_packet
    - fix_keyblock
    - cpr_enabled
    - check_trustdb_stale
    - _
    - iobuf_ioctl
    - generate_subkeypair
    - show_prefs
    - free_strlist
    - is_secured_file
    - agent_probe_any_secret_key
    - real_uids_left
    - free_user_id
    - strcmp
    - gpg_strerror
    - key_check_all_keysigs
    - iobuf_close
    - find_kbnode
    - init_parse_packet
    - gpg_err_code
    - menu_revkey
    - gpg_err_set_errno
    - dump_kbnode
    linkageType: ''
    returnType: void
    signature: "void keyedit_menu (ctrl_t ctrl, const char *username, strlist_t locusr,\n\t
      \     strlist_t commands, int quiet, int seckey_check)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keyserver_export_pubkey
      Src: /src/gnupg/g10/keyedit.c:2545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctrl
    - keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2534
    functionDepth: 2
    functionLinenumber: 2534
    functionLinenumberEnd: 2547
    functionName: maybe_upload_key
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - keyserver_export_pubkey
    linkageType: ''
    returnType: void
    signature: void maybe_upload_key (ctrl_t ctrl, kbnode_t keyblock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/keyedit.c:2558,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyedit.c:2561,1
    - Dst: getkey_byname
      Src: /src/gnupg/g10/keyedit.c:2564,1
    - Dst: change_passphrase
      Src: /src/gnupg/g10/keyedit.c:2568,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyedit.c:2571,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keyedit.c:2572,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:2575,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:2576,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:2577,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/keyedit.c:2580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ctrl
    - username
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2581
      start: 2551
    functionDepth: 4
    functionLinenumber: 2551
    functionLinenumberEnd: 2581
    functionName: keyedit_passwd
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - free_public_key
    - gpg_error_from_syserror
    - release_kbnode
    - write_status_text
    - log_info
    - change_passphrase
    - getkey_byname
    - xtrycalloc
    - gpg_strerror
    - write_status_error
    linkageType: ''
    returnType: void
    signature: void keyedit_passwd (ctrl_t ctrl, const char *username)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: keydb_new
      Src: /src/gnupg/g10/keyedit.c:2601,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyedit.c:2605,1
    - Dst: keydb_lock
      Src: /src/gnupg/g10/keyedit.c:2608,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/keyedit.c:2612,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/keyedit.c:2614,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/keyedit.c:2617,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:2620,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2620,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:2620,1
    - Dst: keydb_push_found_state
      Src: /src/gnupg/g10/keyedit.c:2626,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/keyedit.c:2627,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:2629,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyedit.c:2630,1
    - Dst: keydb_pop_found_state
      Src: /src/gnupg/g10/keyedit.c:2632,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/keyedit.c:2637,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keyedit.c:2638,1
    - Dst: agent_probe_secret_key
      Src: /src/gnupg/g10/keyedit.c:2639,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:2640,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyedit.c:2643,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:2644,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:2648,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2648,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:2649,1
    - Dst: fix_keyblock
      Src: /src/gnupg/g10/keyedit.c:2653,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:2654,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyedit.c:2662,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/keyedit.c:2663,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 5
    argNames:
    - ctrl
    - username
    - want_secret
    - r_kdbhd
    - r_keyblock
    argTypes:
    - ctrl_t
    - char*
    - int
    - KEYDB_HANDLE*
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2665
      start: 2587
    functionDepth: 3
    functionLinenumber: 2587
    functionLinenumberEnd: 2665
    functionName: quick_find_keyblock
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - log_assert
    - fix_keyblock
    - keydb_new
    - log_error
    - _
    - merge_keys_and_selfsig
    - keydb_get_keyblock
    - keydb_release
    - gpg_error_from_syserror
    - keydb_search
    - gpg_error
    - gpg_strerror
    - keydb_push_found_state
    - release_kbnode
    - find_kbnode
    - classify_user_id
    - gpg_err_code
    - agent_probe_secret_key
    - keydb_pop_found_state
    - keydb_lock
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t quick_find_keyblock (ctrl_t ctrl, const char *username,
      int want_secret,\n                     KEYDB_HANDLE *r_kdbhd, kbnode_t *r_keyblock)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnupg/g10/keyedit.c:2678,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/keyedit.c:2679,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:2682,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:2682,1
    - Dst: check_trustdb_stale
      Src: /src/gnupg/g10/keyedit.c:2688,1
    - Dst: quick_find_keyblock
      Src: /src/gnupg/g10/keyedit.c:2692,1
    - Dst: menu_adduid
      Src: /src/gnupg/g10/keyedit.c:2696,1
    - Dst: keydb_update_keyblock
      Src: /src/gnupg/g10/keyedit.c:2698,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:2701,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2701,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:2701,1
    - Dst: maybe_upload_key
      Src: /src/gnupg/g10/keyedit.c:2704,1
    - Dst: revalidation_mark
      Src: /src/gnupg/g10/keyedit.c:2706,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:2710,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyedit.c:2711,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/keyedit.c:2712,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - ctrl
    - username
    - newuid
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2670
    functionDepth: 4
    functionLinenumber: 2670
    functionLinenumberEnd: 2713
    functionName: keyedit_quick_adduid
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - keydb_release
    - log_error
    - release_kbnode
    - check_trustdb_stale
    - trim_spaces
    - revalidation_mark
    - _
    - maybe_upload_key
    - gpg_strerror
    - menu_adduid
    - keydb_update_keyblock
    - xstrdup
    - xfree
    - quick_find_keyblock
    linkageType: ''
    returnType: void
    signature: void keyedit_quick_adduid (ctrl_t ctrl, const char *username, const
      char *newuid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:2727,1
    - Dst: hex2bin
      Src: /src/gnupg/g10/keyedit.c:2730,1
    - Dst: namehash_from_uid
      Src: /src/gnupg/g10/keyedit.c:2739,1
    - Dst: memcmp
      Src: /src/gnupg/g10/keyedit.c:2740,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - keyblock
    - namehash
    - want_valid
    argTypes:
    - kbnode_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2718
    functionDepth: 1
    functionLinenumber: 2718
    functionLinenumberEnd: 2747
    functionName: find_userid_by_namehash
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - namehash_from_uid
    - memcmp
    - hex2bin
    - strlen
    linkageType: ''
    returnType: kbnode_t
    signature: kbnode_t find_userid_by_namehash (kbnode_t keyblock, const char *namehash,
      int want_valid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_userid_by_namehash
      Src: /src/gnupg/g10/keyedit.c:2762,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:2766,1
    - Dst: memcmp
      Src: /src/gnupg/g10/keyedit.c:2773,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 3
    argNames:
    - keyblock
    - uid
    - want_valid
    argTypes:
    - kbnode_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2752
    functionDepth: 2
    functionLinenumber: 2752
    functionLinenumberEnd: 2779
    functionName: find_userid
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - memcmp
    - find_userid_by_namehash
    - strlen
    linkageType: ''
    returnType: kbnode_t
    signature: kbnode_t find_userid (kbnode_t keyblock, const char *uid, int want_valid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_trustdb_stale
      Src: /src/gnupg/g10/keyedit.c:2796,1
    - Dst: quick_find_keyblock
      Src: /src/gnupg/g10/keyedit.c:2800,1
    - Dst: find_userid
      Src: /src/gnupg/g10/keyedit.c:2813,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:2823,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2823,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:2824,1
    - Dst: get_default_uid_revocation_reason
      Src: /src/gnupg/g10/keyedit.c:2828,1
    - Dst: core_revuid
      Src: /src/gnupg/g10/keyedit.c:2829,1
    - Dst: release_revocation_reason_info
      Src: /src/gnupg/g10/keyedit.c:2830,1
    - Dst: keydb_update_keyblock
      Src: /src/gnupg/g10/keyedit.c:2833,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:2836,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2836,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:2836,1
    - Dst: maybe_upload_key
      Src: /src/gnupg/g10/keyedit.c:2839,1
    - Dst: revalidation_mark
      Src: /src/gnupg/g10/keyedit.c:2840,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:2843,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:2849,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2849,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:2849,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:2850,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyedit.c:2852,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/keyedit.c:2853,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 3
    argNames:
    - ctrl
    - username
    - uidtorev
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2784
    functionDepth: 4
    functionLinenumber: 2784
    functionLinenumberEnd: 2854
    functionName: keyedit_quick_revuid
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - core_revuid
    - keydb_release
    - log_error
    - release_kbnode
    - check_trustdb_stale
    - revalidation_mark
    - _
    - find_userid
    - gpg_error
    - keydb_update_keyblock
    - gpg_strerror
    - release_revocation_reason_info
    - maybe_upload_key
    - write_status_error
    - quick_find_keyblock
    - get_default_uid_revocation_reason
    linkageType: ''
    returnType: void
    signature: void keyedit_quick_revuid (ctrl_t ctrl, const char *username, const
      char *uidtorev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: check_trustdb_stale
      Src: /src/gnupg/g10/keyedit.c:2871,1
    - Dst: quick_find_keyblock
      Src: /src/gnupg/g10/keyedit.c:2874,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:2877,1
    - Dst: find_userid
      Src: /src/gnupg/g10/keyedit.c:2882,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:2895,1
    - Dst: menu_set_primary_uid
      Src: /src/gnupg/g10/keyedit.c:2896,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:2898,1
    - Dst: keydb_update_keyblock
      Src: /src/gnupg/g10/keyedit.c:2899,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:2902,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2902,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:2902,1
    - Dst: maybe_upload_key
      Src: /src/gnupg/g10/keyedit.c:2905,1
    - Dst: revalidation_mark
      Src: /src/gnupg/g10/keyedit.c:2906,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:2909,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:2913,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2913,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:2914,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:2915,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyedit.c:2919,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/keyedit.c:2920,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - ctrl
    - username
    - primaryuid
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2921
      start: 2859
    functionDepth: 4
    functionLinenumber: 2859
    functionLinenumberEnd: 2921
    functionName: keyedit_quick_set_primary
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - menu_set_primary_uid
    - keydb_release
    - log_error
    - release_kbnode
    - check_trustdb_stale
    - revalidation_mark
    - _
    - gpg_error
    - find_userid
    - keydb_update_keyblock
    - write_status_error
    - merge_keys_and_selfsig
    - gpg_strerror
    - maybe_upload_key
    - quick_find_keyblock
    linkageType: ''
    returnType: void
    signature: "void keyedit_quick_set_primary (ctrl_t ctrl, const char *username,\n
      \                          const char *primaryuid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_trustdb_stale
      Src: /src/gnupg/g10/keyedit.c:2937,1
    - Dst: quick_find_keyblock
      Src: /src/gnupg/g10/keyedit.c:2940,1
    - Dst: menu_set_preferences
      Src: /src/gnupg/g10/keyedit.c:2944,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:2946,1
    - Dst: keydb_update_keyblock
      Src: /src/gnupg/g10/keyedit.c:2947,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:2950,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:2950,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:2950,1
    - Dst: maybe_upload_key
      Src: /src/gnupg/g10/keyedit.c:2953,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:2958,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyedit.c:2959,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/keyedit.c:2960,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ctrl
    - username
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2961
      start: 2928
    functionDepth: 4
    functionLinenumber: 2928
    functionLinenumberEnd: 2961
    functionName: keyedit_quick_update_pref
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - keydb_release
    - log_error
    - release_kbnode
    - check_trustdb_stale
    - menu_set_preferences
    - _
    - maybe_upload_key
    - keydb_update_keyblock
    - merge_keys_and_selfsig
    - gpg_strerror
    - write_status_error
    - quick_find_keyblock
    linkageType: ''
    returnType: void
    signature: void keyedit_quick_update_pref (ctrl_t ctrl, const char *username)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: check_trustdb_stale
      Src: /src/gnupg/g10/keyedit.c:2993,1
    - Dst: quick_find_keyblock
      Src: /src/gnupg/g10/keyedit.c:2998,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keyedit.c:3001,1
    - Dst: get_ownertrust
      Src: /src/gnupg/g10/keyedit.c:3005,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keyedit.c:3007,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keyedit.c:3009,1
    - Dst: string_to_trust_value
      Src: /src/gnupg/g10/keyedit.c:3011,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:3020,1
    - Dst: update_ownertrust
      Src: /src/gnupg/g10/keyedit.c:3026,1
    - Dst: revalidation_mark
      Src: /src/gnupg/g10/keyedit.c:3028,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:3031,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3031,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3036,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3036,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:3037,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:3038,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyedit.c:3040,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/keyedit.c:3041,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - ctrl
    - username
    - value
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3042
      start: 2979
    functionDepth: 4
    functionLinenumber: 2979
    functionLinenumberEnd: 3042
    functionName: keyedit_quick_set_ownertrust
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - keydb_release
    - log_assert
    - log_error
    - release_kbnode
    - check_trustdb_stale
    - revalidation_mark
    - get_ownertrust
    - _
    - gpg_error
    - log_info
    - ascii_strcasecmp
    - gpg_strerror
    - write_status_error
    - update_ownertrust
    - quick_find_keyblock
    - string_to_trust_value
    linkageType: ''
    returnType: void
    signature: "void keyedit_quick_set_ownertrust (ctrl_t ctrl, const char *username,\n
      \                             const char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: classify_user_id
      Src: /src/gnupg/g10/keyedit.c:3062,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3065,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3065,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:3066,1
    - Dst: get_pubkey_byname
      Src: /src/gnupg/g10/keyedit.c:3069,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3073,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3073,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:3073,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/keyedit.c:3078,1
    - Dst: memcmp
      Src: /src/gnupg/g10/keyedit.c:3081,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3085,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3085,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:3086,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyedit.c:3097,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/keyedit.c:3098,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - ctrl
    - fpr
    - r_keyblock
    - r_kdbhd
    argTypes:
    - ctrl_t
    - char*
    - kbnode_t*
    - KEYDB_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3100
      start: 3048
    functionDepth: 4
    functionLinenumber: 3048
    functionLinenumberEnd: 3100
    functionName: find_by_primary_fpr
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - get_pubkey_byname
    - log_error
    - release_kbnode
    - _
    - gpg_error
    - classify_user_id
    - gpg_strerror
    - memcmp
    - fingerprint_from_pk
    - keydb_release
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t find_by_primary_fpr (ctrl_t ctrl, const char *fpr,\n                     kbnode_t
      *r_keyblock, KEYDB_HANDLE *r_kdbhd)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: check_trustdb_stale
      Src: /src/gnupg/g10/keyedit.c:3126,1
    - Dst: parse_trustsig_string
      Src: /src/gnupg/g10/keyedit.c:3134,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:3136,1
    - Dst: find_by_primary_fpr
      Src: /src/gnupg/g10/keyedit.c:3146,1
    - Dst: fix_keyblock
      Src: /src/gnupg/g10/keyedit.c:3149,1
    - Dst: show_key_with_all_names
      Src: /src/gnupg/g10/keyedit.c:3155,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/keyedit.c:3158,1
    - Dst: show_key_with_all_names
      Src: /src/gnupg/g10/keyedit.c:3165,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3166,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3166,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3166,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:3167,1
    - Dst: menu_select_uid
      Src: /src/gnupg/g10/keyedit.c:3175,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:3192,1
    - Dst: memcmp
      Src: /src/gnupg/g10/keyedit.c:3193,1
    - Dst: ascii_memistr
      Src: /src/gnupg/g10/keyedit.c:3203,1
    - Dst: show_key_with_all_names
      Src: /src/gnupg/g10/keyedit.c:3233,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/keyedit.c:3234,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:3238,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3238,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:3239,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:3241,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3241,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:3242,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3244,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3244,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3244,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:3245,1
    - Dst: sign_uids
      Src: /src/gnupg/g10/keyedit.c:3250,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/keyedit.c:3255,1
    - Dst: keydb_update_keyblock
      Src: /src/gnupg/g10/keyedit.c:3261,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3264,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3264,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:3264,1
    - Dst: maybe_upload_key
      Src: /src/gnupg/g10/keyedit.c:3268,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:3271,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3271,1
    - Dst: revalidation_mark
      Src: /src/gnupg/g10/keyedit.c:3274,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3279,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3279,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:3279,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:3280,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyedit.c:3282,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/keyedit.c:3283,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 103
    argCount: 6
    argNames:
    - ctrl
    - fpr
    - uids
    - locusr
    - trustsig
    - local
    argTypes:
    - ctrl_t
    - char*
    - strlist_t
    - strlist_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3284
      start: 3111
    functionDepth: 7
    functionLinenumber: 3111
    functionLinenumberEnd: 3284
    functionName: keyedit_quick_sign
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - strlen
    - maybe_upload_key
    - keydb_update_keyblock
    - es_fflush
    - fix_keyblock
    - menu_select_uid
    - show_key_with_all_names
    - log_error
    - check_trustdb_stale
    - revalidation_mark
    - _
    - find_by_primary_fpr
    - parse_trustsig_string
    - log_info
    - write_status_error
    - ascii_memistr
    - gpg_error
    - xfree
    - gpg_strerror
    - release_kbnode
    - memcmp
    - sign_uids
    - keydb_release
    linkageType: ''
    returnType: void
    signature: "void keyedit_quick_sign (ctrl_t ctrl, const char *fpr, strlist_t uids,\n
      \                   strlist_t locusr, const char *trustsig, int local)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: check_trustdb_stale
      Src: /src/gnupg/g10/keyedit.c:3313,1
    - Dst: quick_find_keyblock
      Src: /src/gnupg/g10/keyedit.c:3318,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keyedit.c:3321,1
    - Dst: pk_keyid
      Src: /src/gnupg/g10/keyedit.c:3324,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/keyedit.c:3331,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyedit.c:3334,1
    - Dst: getkey_byname
      Src: /src/gnupg/g10/keyedit.c:3338,1
    - Dst: pk_keyid
      Src: /src/gnupg/g10/keyedit.c:3344,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:3367,1
    - Dst: memcmp
      Src: /src/gnupg/g10/keyedit.c:3368,1
    - Dst: ascii_memistr
      Src: /src/gnupg/g10/keyedit.c:3372,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/keyedit.c:3392,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyedit.c:3395,1
    - Dst: keyid_cmp
      Src: /src/gnupg/g10/keyedit.c:3405,1
    - Dst: keyid_cmp
      Src: /src/gnupg/g10/keyedit.c:3408,1
    - Dst: qsort
      Src: /src/gnupg/g10/keyedit.c:3417,1
    - Dst: IS_UID_REV
      Src: /src/gnupg/g10/keyedit.c:3427,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:3430,1
    - Dst: keystr
      Src: /src/gnupg/g10/keyedit.c:3431,1
    - Dst: datestr_from_sig
      Src: /src/gnupg/g10/keyedit.c:3431,1
    - Dst: IS_UID_SIG
      Src: /src/gnupg/g10/keyedit.c:3433,1
    - Dst: IS_KEY_SIG
      Src: /src/gnupg/g10/keyedit.c:3434,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:3438,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:3450,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3450,1
    - Dst: get_default_sig_revocation_reason
      Src: /src/gnupg/g10/keyedit.c:3456,1
    - Dst: IS_KEY_SIG
      Src: /src/gnupg/g10/keyedit.c:3469,1
    - Dst: find_prev_kbnode
      Src: /src/gnupg/g10/keyedit.c:3473,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keyedit.c:3474,1
    - Dst: make_keysig_packet
      Src: /src/gnupg/g10/keyedit.c:3479,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3485,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:3485,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyedit.c:3489,1
    - Dst: insert_kbnode
      Src: /src/gnupg/g10/keyedit.c:3493,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keyedit.c:3493,1
    - Dst: keydb_update_keyblock
      Src: /src/gnupg/g10/keyedit.c:3497,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3500,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3500,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:3500,1
    - Dst: maybe_upload_key
      Src: /src/gnupg/g10/keyedit.c:3503,1
    - Dst: revalidation_mark
      Src: /src/gnupg/g10/keyedit.c:3504,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3509,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3509,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:3510,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/keyedit.c:3512,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:3513,1
    - Dst: release_revocation_reason_info
      Src: /src/gnupg/g10/keyedit.c:3515,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keyedit.c:3516,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyedit.c:3517,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/keyedit.c:3518,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 132
    argCount: 4
    argNames:
    - ctrl
    - username
    - sigtorev
    - affected_uids
    argTypes:
    - ctrl_t
    - char*
    - char*
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3519
      start: 3293
    functionDepth: 4
    functionLinenumber: 3293
    functionLinenumberEnd: 3519
    functionName: keyedit_quick_revsig
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - datestr_from_sig
    - log_assert
    - strlen
    - get_default_sig_revocation_reason
    - maybe_upload_key
    - keydb_update_keyblock
    - make_keysig_packet
    - quick_find_keyblock
    - new_kbnode
    - free_public_key
    - find_prev_kbnode
    - log_error
    - check_trustdb_stale
    - IS_UID_REV
    - revalidation_mark
    - _
    - insert_kbnode
    - IS_KEY_SIG
    - log_info
    - write_status_error
    - qsort
    - ascii_memistr
    - gpg_error_from_syserror
    - xfree
    - getkey_byname
    - gpg_strerror
    - xtrycalloc
    - IS_UID_SIG
    - keystr
    - print_further_info
    - xmalloc_clear
    - release_kbnode
    - keyid_cmp
    - memcmp
    - release_revocation_reason_info
    - keydb_release
    - pk_keyid
    linkageType: ''
    returnType: void
    signature: "void keyedit_quick_revsig (ctrl_t ctrl, const char *username, const
      char *sigtorev,\n                      strlist_t affected_uids)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: check_trustdb_stale
      Src: /src/gnupg/g10/keyedit.c:3537,1
    - Dst: find_by_primary_fpr
      Src: /src/gnupg/g10/keyedit.c:3543,1
    - Dst: fix_keyblock
      Src: /src/gnupg/g10/keyedit.c:3546,1
    - Dst: show_key_with_all_names
      Src: /src/gnupg/g10/keyedit.c:3553,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3554,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3554,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:3555,1
    - Dst: generate_subkeypair
      Src: /src/gnupg/g10/keyedit.c:3561,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/keyedit.c:3563,1
    - Dst: keydb_update_keyblock
      Src: /src/gnupg/g10/keyedit.c:3568,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3571,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3571,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:3571,1
    - Dst: maybe_upload_key
      Src: /src/gnupg/g10/keyedit.c:3574,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:3577,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3577,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:3581,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyedit.c:3582,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/keyedit.c:3583,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 5
    argNames:
    - ctrl
    - fpr
    - algostr
    - usagestr
    - expirestr
    argTypes:
    - ctrl_t
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3584
      start: 3525
    functionDepth: 5
    functionLinenumber: 3525
    functionLinenumberEnd: 3584
    functionName: keyedit_quick_addkey
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - show_key_with_all_names
    - keydb_release
    - log_error
    - release_kbnode
    - check_trustdb_stale
    - _
    - find_by_primary_fpr
    - gpg_error
    - generate_subkeypair
    - keydb_update_keyblock
    - gpg_strerror
    - maybe_upload_key
    - log_info
    - write_status_error
    - es_fflush
    - fix_keyblock
    linkageType: ''
    returnType: void
    signature: "void keyedit_quick_addkey (ctrl_t ctrl, const char *fpr, const char
      *algostr,\n                      const char *usagestr, const char *expirestr)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: check_trustdb_stale
      Src: /src/gnupg/g10/keyedit.c:3603,1
    - Dst: find_by_primary_fpr
      Src: /src/gnupg/g10/keyedit.c:3609,1
    - Dst: fix_keyblock
      Src: /src/gnupg/g10/keyedit.c:3612,1
    - Dst: show_key_with_all_names
      Src: /src/gnupg/g10/keyedit.c:3619,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3620,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3620,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:3621,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keyedit.c:3627,1
    - Dst: append_all_default_adsks
      Src: /src/gnupg/g10/keyedit.c:3629,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyedit.c:3632,1
    - Dst: menu_addadsk
      Src: /src/gnupg/g10/keyedit.c:3635,1
    - Dst: log_inc_errorcount
      Src: /src/gnupg/g10/keyedit.c:3638,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/keyedit.c:3640,1
    - Dst: keydb_update_keyblock
      Src: /src/gnupg/g10/keyedit.c:3645,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3648,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3648,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:3648,1
    - Dst: maybe_upload_key
      Src: /src/gnupg/g10/keyedit.c:3651,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:3656,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyedit.c:3657,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/keyedit.c:3658,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 3
    argNames:
    - ctrl
    - fpr
    - adskfpr
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3659
      start: 3592
    functionDepth: 5
    functionLinenumber: 3592
    functionLinenumberEnd: 3659
    functionName: keyedit_quick_addadsk
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - maybe_upload_key
    - keydb_update_keyblock
    - ascii_strcasecmp
    - es_fflush
    - fix_keyblock
    - show_key_with_all_names
    - log_error
    - check_trustdb_stale
    - menu_addadsk
    - _
    - find_by_primary_fpr
    - write_status_error
    - log_inc_errorcount
    - gpg_error
    - gpg_strerror
    - release_kbnode
    - gpg_err_code
    - append_all_default_adsks
    - keydb_release
    linkageType: ''
    returnType: void
    signature: void keyedit_quick_addadsk (ctrl_t ctrl, const char *fpr, const char
      *adskfpr)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: check_trustdb_stale
      Src: /src/gnupg/g10/keyedit.c:3683,1
    - Dst: find_by_primary_fpr
      Src: /src/gnupg/g10/keyedit.c:3689,1
    - Dst: fix_keyblock
      Src: /src/gnupg/g10/keyedit.c:3693,1
    - Dst: show_key_with_all_names
      Src: /src/gnupg/g10/keyedit.c:3700,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3701,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3701,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:3702,1
    - Dst: parse_expire_string
      Src: /src/gnupg/g10/keyedit.c:3706,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3709,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3709,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:3710,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/keyedit.c:3714,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keyedit.c:3720,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:3724,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:3742,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/keyedit.c:3748,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3751,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3751,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:3754,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/keyedit.c:3765,1
    - Dst: memcmp
      Src: /src/gnupg/g10/keyedit.c:3766,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3775,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3775,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:3777,1
    - Dst: menu_expire
      Src: /src/gnupg/g10/keyedit.c:3786,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyedit.c:3787,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/keyedit.c:3791,1
    - Dst: keydb_update_keyblock
      Src: /src/gnupg/g10/keyedit.c:3796,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:3799,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3799,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:3799,1
    - Dst: maybe_upload_key
      Src: /src/gnupg/g10/keyedit.c:3802,1
    - Dst: revalidation_mark
      Src: /src/gnupg/g10/keyedit.c:3804,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:3807,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3807,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyedit.c:3810,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/keyedit.c:3811,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:3813,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 88
    argCount: 4
    argNames:
    - ctrl
    - fpr
    - expirestr
    - subkeyfprs
    argTypes:
    - ctrl_t
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3814
      start: 3668
    functionDepth: 5
    functionLinenumber: 3668
    functionLinenumberEnd: 3814
    functionName: keyedit_quick_set_expire
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - menu_expire
    - maybe_upload_key
    - keydb_update_keyblock
    - es_fflush
    - fix_keyblock
    - show_key_with_all_names
    - log_error
    - check_trustdb_stale
    - revalidation_mark
    - _
    - find_by_primary_fpr
    - log_info
    - merge_keys_and_selfsig
    - write_status_error
    - keydb_release
    - strcmp
    - gpg_error
    - gpg_strerror
    - parse_expire_string
    - release_kbnode
    - make_timestamp
    - classify_user_id
    - memcmp
    - gpg_err_code
    - fingerprint_from_pk
    linkageType: ''
    returnType: void
    signature: "void keyedit_quick_set_expire (ctrl_t ctrl, const char *fpr, const
      char *expirestr,\n                          char **subkeyfprs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sig_to_notation
      Src: /src/gnupg/g10/keyedit.c:3830,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:3835,1
    - Dst: tty_print_utf8_string
      Src: /src/gnupg/g10/keyedit.c:3839,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:3839,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:3840,1
    - Dst: tty_print_utf8_string
      Src: /src/gnupg/g10/keyedit.c:3841,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:3841,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:3842,1
    - Dst: free_notation
      Src: /src/gnupg/g10/keyedit.c:3845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - indent
    - sig
    argTypes:
    - int
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3846
      start: 3818
    functionDepth: 1
    functionLinenumber: 3818
    functionLinenumberEnd: 3846
    functionName: tty_print_notations
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - free_notation
    - strlen
    - sig_to_notation
    - tty_print_utf8_string
    - tty_printf
    linkageType: ''
    returnType: void
    signature: void tty_print_notations (int indent, PKT_signature * sig)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: show_preferences
      Src: /src/gnupg/g10/keyedit.c:3860,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/keyedit.c:3867,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:3871,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:3872,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3872,1
    - Dst: tty_print_utf8_string
      Src: /src/gnupg/g10/keyedit.c:3873,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:3874,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:3879,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:3880,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3880,1
    - Dst: tty_print_notations
      Src: /src/gnupg/g10/keyedit.c:3881,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:3881,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:3881,1
    - Dst: show_preferences
      Src: /src/gnupg/g10/keyedit.c:3887,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - uid
    - selfsig
    - verbose
    argTypes:
    - PKT_user_id*
    - PKT_signature*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3889
      start: 3852
    functionDepth: 2
    functionLinenumber: 3852
    functionLinenumberEnd: 3889
    functionName: show_prefs
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - show_preferences
    - strlen
    - parse_sig_subpkt
    - _
    - tty_print_utf8_string
    - tty_printf
    - tty_print_notations
    linkageType: ''
    returnType: void
    signature: void show_prefs (PKT_user_id * uid, PKT_signature * selfsig, int verbose)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyedit.c:3922,1
    - Dst: agent_probe_secret_key
      Src: /src/gnupg/g10/keyedit.c:3923,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keyedit.c:3926,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keyedit.c:3928,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:3931,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:3933,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:3935,1
    - Dst: get_validity_info
      Src: /src/gnupg/g10/keyedit.c:3938,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:3941,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keyedit.c:3944,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/keyedit.c:3945,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:3951,1
    - Dst: get_ownertrust_info
      Src: /src/gnupg/g10/keyedit.c:3951,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:3952,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:3953,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:3954,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:3957,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:3959,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:3961,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:3963,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:3965,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:3967,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:3969,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:3970,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/keyedit.c:3972,1
    - Dst: print_revokers
      Src: /src/gnupg/g10/keyedit.c:3973,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keyedit.c:3988,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keyedit.c:3990,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keyedit.c:3993,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keyedit.c:3995,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keyedit.c:3997,1
    - Dst: get_validity_info
      Src: /src/gnupg/g10/keyedit.c:4003,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keyedit.c:4006,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keyedit.c:4010,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/keyedit.c:4012,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:4014,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:4016,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:4018,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:4027,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keyedit.c:4028,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keyedit.c:4035,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keyedit.c:4037,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/keyedit.c:4039,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:4041,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keyedit.c:4043,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:4045,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:4047,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:4049,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:4051,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:4053,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:4054,1
    - Dst: tofu_get_policy
      Src: /src/gnupg/g10/keyedit.c:4059,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/keyedit.c:4061,1
    - Dst: tofu_policy_str
      Src: /src/gnupg/g10/keyedit.c:4061,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:4064,1
    - Dst: es_putc
      Src: /src/gnupg/g10/keyedit.c:4065,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 108
    argCount: 3
    argNames:
    - ctrl
    - fp
    - keyblock
    argTypes:
    - ctrl_t
    - estream_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4068
      start: 3895
    functionDepth: 3
    functionLinenumber: 3895
    functionLinenumberEnd: 4068
    functionName: show_key_with_all_names_colon
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - print_fingerprint
    - print_revokers
    - es_write_sanitized
    - keyid_from_pk
    - es_putc
    - tofu_get_policy
    - get_ownertrust_info
    - agent_probe_secret_key
    - nbits_from_pk
    - es_fputs
    - tofu_policy_str
    - get_validity_info
    linkageType: ''
    returnType: void
    signature: void show_key_with_all_names_colon (ctrl_t ctrl, estream_t fp, kbnode_t
      keyblock)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/keyedit.c:4081,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4088,1
    - Dst: uid_trust_string_fixed
      Src: /src/gnupg/g10/keyedit.c:4088,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4091,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4093,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4095,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4097,1
    - Dst: tty_print_utf8_string2
      Src: /src/gnupg/g10/keyedit.c:4098,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4099,1
    - Dst: show_prefs
      Src: /src/gnupg/g10/keyedit.c:4119,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4122,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4122,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 6
    argNames:
    - ctrl
    - fp
    - keyblock
    - pk
    - flag
    - with_prefs
    argTypes:
    - ctrl_t
    - estream_t
    - kbnode_t
    - PKT_public_key*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4128
      start: 4071
    functionDepth: 3
    functionLinenumber: 4071
    functionLinenumberEnd: 4128
    functionName: show_names
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - tty_fprintf
    - uid_trust_string_fixed
    - _
    - is_deleted_kbnode
    - show_prefs
    - tty_print_utf8_string2
    linkageType: ''
    returnType: void
    signature: "void show_names (ctrl_t ctrl, estream_t fp,\n            kbnode_t
      keyblock, PKT_public_key * pk, unsigned int flag,\n\t    int with_prefs)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: show_key_with_all_names_colon
      Src: /src/gnupg/g10/keyedit.c:4154,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/keyedit.c:4163,1
    - Dst: get_validity_string
      Src: /src/gnupg/g10/keyedit.c:4175,1
    - Dst: get_ownertrust_string
      Src: /src/gnupg/g10/keyedit.c:4176,1
    - Dst: get_validity
      Src: /src/gnupg/g10/keyedit.c:4180,1
    - Dst: get_user_id_string_native
      Src: /src/gnupg/g10/keyedit.c:4192,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4193,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4194,1
    - Dst: revokestr_from_pk
      Src: /src/gnupg/g10/keyedit.c:4196,1
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/keyedit.c:4197,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:4198,1
    - Dst: BUG
      Src: /src/gnupg/g10/keyedit.c:4204,1
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/keyedit.c:4212,1
    - Dst: keyid_from_fingerprint
      Src: /src/gnupg/g10/keyedit.c:4213,1
    - Dst: get_user_id_string_native
      Src: /src/gnupg/g10/keyedit.c:4216,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4217,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4218,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4223,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4224,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4224,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4227,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:4228,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyedit.c:4232,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:4234,1
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/keyedit.c:4239,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:4242,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:4243,1
    - Dst: agent_get_keyinfo
      Src: /src/gnupg/g10/keyedit.c:4247,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:4248,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4251,1
    - Dst: pubkey_string
      Src: /src/gnupg/g10/keyedit.c:4258,1
    - Dst: keystr
      Src: /src/gnupg/g10/keyedit.c:4259,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4262,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4264,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4266,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4266,1
    - Dst: datestr_from_pk
      Src: /src/gnupg/g10/keyedit.c:4266,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4267,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4269,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4269,1
    - Dst: revokestr_from_pk
      Src: /src/gnupg/g10/keyedit.c:4269,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4271,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4271,1
    - Dst: expirestr_from_pk
      Src: /src/gnupg/g10/keyedit.c:4271,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4273,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4273,1
    - Dst: expirestr_from_pk
      Src: /src/gnupg/g10/keyedit.c:4273,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4274,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4275,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4275,1
    - Dst: usagestr_from_pk
      Src: /src/gnupg/g10/keyedit.c:4275,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4276,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4282,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4283,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:4284,1
    - Dst: strncmp
      Src: /src/gnupg/g10/keyedit.c:4285,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4290,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4294,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4302,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4303,1
    - Dst: memcmp
      Src: /src/gnupg/g10/keyedit.c:4305,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4312,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4313,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4320,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4322,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4330,1
    - Dst: keystrlen
      Src: /src/gnupg/g10/keyedit.c:4332,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:4339,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4342,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4342,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4343,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4346,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4346,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4347,1
    - Dst: get_ownertrust
      Src: /src/gnupg/g10/keyedit.c:4350,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4352,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4353,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4353,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4354,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/keyedit.c:4361,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4362,1
    - Dst: show_names
      Src: /src/gnupg/g10/keyedit.c:4367,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/keyedit.c:4371,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4371,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:4375,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 110
    argCount: 9
    argNames:
    - ctrl
    - fp
    - keyblock
    - only_marked
    - with_revoker
    - with_fpr
    - with_subkeys
    - with_prefs
    - nowarn
    argTypes:
    - ctrl_t
    - estream_t
    - KBNODE
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4376
      start: 4137
    functionDepth: 6
    functionLinenumber: 4137
    functionLinenumberEnd: 4376
    functionName: show_key_with_all_names
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 6
    functionsReached:
    - pubkey_string
    - strlen
    - revokestr_from_pk
    - get_ownertrust
    - BUG
    - is_deleted_kbnode
    - get_ownertrust_string
    - tty_fprintf
    - log_error
    - expirestr_from_pk
    - show_names
    - _
    - show_key_with_all_names_colon
    - openpgp_pk_algo_name
    - get_validity_string
    - strncmp
    - keystrlen
    - datestr_from_pk
    - xfree
    - gpg_strerror
    - get_user_id_string_native
    - keystr
    - hexkeygrip_from_pk
    - keyid_from_fingerprint
    - agent_get_keyinfo
    - print_fingerprint
    - keyid_from_pk
    - memcmp
    - get_validity
    - usagestr_from_pk
    linkageType: ''
    returnType: void
    signature: "void show_key_with_all_names (ctrl_t ctrl, estream_t fp,\n                         KBNODE
      keyblock, int only_marked, int with_revoker,\n\t\t\t int with_fpr, int with_subkeys,
      int with_prefs,\n                         int nowarn)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4409,1
    - Dst: pubkey_string
      Src: /src/gnupg/g10/keyedit.c:4411,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/keyedit.c:4412,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4413,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4413,1
    - Dst: datestr_from_pk
      Src: /src/gnupg/g10/keyedit.c:4413,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4414,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4415,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4415,1
    - Dst: expirestr_from_pk
      Src: /src/gnupg/g10/keyedit.c:4415,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4416,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/keyedit.c:4417,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4418,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4431,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4433,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4433,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4435,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4435,1
    - Dst: tty_print_utf8_string
      Src: /src/gnupg/g10/keyedit.c:4436,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4437,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - ctrl
    - keyblock
    - print_sec
    argTypes:
    - ctrl_t
    - kbnode_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4440
      start: 4386
    functionDepth: 3
    functionLinenumber: 4386
    functionLinenumberEnd: 4440
    functionName: show_basic_key_info
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - print_fingerprint
    - pubkey_string
    - expirestr_from_pk
    - keystr_from_pk
    - _
    - datestr_from_pk
    - tty_print_utf8_string
    - tty_printf
    linkageType: ''
    returnType: void
    signature: void show_basic_key_info (ctrl_t ctrl, kbnode_t keyblock, int print_sec)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4455,1
    - Dst: pubkey_string
      Src: /src/gnupg/g10/keyedit.c:4456,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/keyedit.c:4457,1
    - Dst: datestr_from_pk
      Src: /src/gnupg/g10/keyedit.c:4458,1
    - Dst: tty_print_utf8_string
      Src: /src/gnupg/g10/keyedit.c:4463,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4467,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/keyedit.c:4469,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4477,1
    - Dst: pubkey_string
      Src: /src/gnupg/g10/keyedit.c:4478,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/keyedit.c:4479,1
    - Dst: datestr_from_pk
      Src: /src/gnupg/g10/keyedit.c:4480,1
    - Dst: usagestr_from_pk
      Src: /src/gnupg/g10/keyedit.c:4481,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/keyedit.c:4483,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - ctrl
    - keyblock
    - with_subkeys
    argTypes:
    - ctrl_t
    - kbnode_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4487
      start: 4443
    functionDepth: 3
    functionLinenumber: 4443
    functionLinenumberEnd: 4487
    functionName: show_key_and_fingerprint
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - print_fingerprint
    - pubkey_string
    - keystr_from_pk
    - datestr_from_pk
    - tty_print_utf8_string
    - tty_printf
    - usagestr_from_pk
    linkageType: ''
    returnType: void
    signature: void show_key_and_fingerprint (ctrl_t ctrl, kbnode_t keyblock, int
      with_subkeys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4506,1
    - Dst: pubkey_string
      Src: /src/gnupg/g10/keyedit.c:4508,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/keyedit.c:4509,1
    - Dst: datestr_from_pk
      Src: /src/gnupg/g10/keyedit.c:4510,1
    - Dst: usagestr_from_pk
      Src: /src/gnupg/g10/keyedit.c:4511,1
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/keyedit.c:4513,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4515,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:4516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - keyblock
    argTypes:
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4520
      start: 4492
    functionDepth: 1
    functionLinenumber: 4492
    functionLinenumberEnd: 4520
    functionName: show_key_and_grip
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - pubkey_string
    - keystr_from_pk
    - datestr_from_pk
    - xfree
    - tty_printf
    - hexkeygrip_from_pk
    - usagestr_from_pk
    linkageType: ''
    returnType: void
    signature: void show_key_and_grip (kbnode_t keyblock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:4551,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4551,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - keyblock
    argTypes:
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4555
      start: 4525
    functionDepth: 1
    functionLinenumber: 4525
    functionLinenumberEnd: 4555
    functionName: no_primary_warning
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - log_info
    - _
    linkageType: ''
    returnType: void
    signature: void no_primary_warning (KBNODE keyblock)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: make_timestamp
      Src: /src/gnupg/g10/keyedit.c:4564,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:4604,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4604,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:4605,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4605,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 1
    argNames:
    - keyblock
    argTypes:
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4607
      start: 4561
    functionDepth: 1
    functionLinenumber: 4561
    functionLinenumberEnd: 4607
    functionName: subkey_expire_warning
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - make_timestamp
    - log_info
    - _
    linkageType: ''
    returnType: void
    signature: void subkey_expire_warning (kbnode_t keyblock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:4640,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4640,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - keyblock
    argTypes:
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4641
      start: 4614
    functionDepth: 1
    functionLinenumber: 4614
    functionLinenumberEnd: 4641
    functionName: no_usable_encr_subkeys_warning
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - log_info
    - _
    linkageType: ''
    returnType: void
    signature: void no_usable_encr_subkeys_warning (kbnode_t keyblock)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keyedit.c:4675,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4698,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4698,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:4702,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4703,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4709,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4709,1
    - Dst: generate_photo_id
      Src: /src/gnupg/g10/keyedit.c:4715,1
    - Dst: generate_user_id
      Src: /src/gnupg/g10/keyedit.c:4718,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:4723,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:4723,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:4724,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4724,1
    - Dst: make_keysig_packet
      Src: /src/gnupg/g10/keyedit.c:4729,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:4733,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:4734,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:4734,1
    - Dst: free_user_id
      Src: /src/gnupg/g10/keyedit.c:4735,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyedit.c:4740,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keyedit.c:4743,1
    - Dst: insert_kbnode
      Src: /src/gnupg/g10/keyedit.c:4745,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/keyedit.c:4747,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyedit.c:4748,1
    - Dst: insert_kbnode
      Src: /src/gnupg/g10/keyedit.c:4752,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keyedit.c:4752,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/keyedit.c:4754,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keyedit.c:4754,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 5
    argNames:
    - ctrl
    - pub_keyblock
    - photo
    - photo_name
    - uidstring
    argTypes:
    - ctrl_t
    - kbnode_t
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4756
      start: 4651
    functionDepth: 3
    functionLinenumber: 4651
    functionLinenumberEnd: 4756
    functionName: menu_adduid
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 2
    functionsReached:
    - cpr_get_answer_is_yes
    - generate_user_id
    - log_assert
    - log_error
    - free_user_id
    - new_kbnode
    - _
    - insert_kbnode
    - gpg_error
    - gpg_strerror
    - write_status_error
    - add_kbnode
    - generate_photo_id
    - make_keysig_packet
    - tty_printf
    - xmalloc_clear
    linkageType: ''
    returnType: int
    signature: "int menu_adduid (ctrl_t ctrl, kbnode_t pub_keyblock,\n             int
      photo, const char *photo_name, const char *uidstring)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/keyedit.c:4779,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/keyedit.c:4783,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/keyedit.c:4787,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - pub_keyblock
    argTypes:
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4788
      start: 4762
    functionDepth: 2
    functionLinenumber: 4762
    functionLinenumberEnd: 4788
    functionName: menu_deluid
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - commit_kbnode
    - delete_kbnode
    linkageType: ''
    returnType: void
    signature: void menu_deluid (KBNODE pub_keyblock)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4808,1
    - Dst: tty_print_utf8_string
      Src: /src/gnupg/g10/keyedit.c:4809,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4810,1
    - Dst: print_and_check_one_sig_colon
      Src: /src/gnupg/g10/keyedit.c:4814,1
    - Dst: print_and_check_one_sig
      Src: /src/gnupg/g10/keyedit.c:4818,1
    - Dst: cpr_get_answer_yes_no_quit
      Src: /src/gnupg/g10/keyedit.c:4824,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4826,1
    - Dst: cpr_get_answer_yes_no_quit
      Src: /src/gnupg/g10/keyedit.c:4834,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4836,1
    - Dst: cpr_get_answer_yes_no_quit
      Src: /src/gnupg/g10/keyedit.c:4838,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4840,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:4845,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4847,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/keyedit.c:4851,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/keyedit.c:4862,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4863,1
    - Dst: ngettext
      Src: /src/gnupg/g10/keyedit.c:4863,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4867,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4867,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 2
    argNames:
    - ctrl
    - pub_keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4870
      start: 4791
    functionDepth: 7
    functionLinenumber: 4791
    functionLinenumberEnd: 4870
    functionName: menu_delsig
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - cpr_get_answer_is_yes
    - print_and_check_one_sig_colon
    - ngettext
    - _
    - cpr_get_answer_yes_no_quit
    - commit_kbnode
    - tty_print_utf8_string
    - delete_kbnode
    - print_and_check_one_sig
    - tty_printf
    linkageType: ''
    returnType: int
    signature: int menu_delsig (ctrl_t ctrl, kbnode_t pub_keyblock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: count_selected_uids
      Src: /src/gnupg/g10/keyedit.c:4879,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/keyedit.c:4889,1
    - Dst: clean_one_uid
      Src: /src/gnupg/g10/keyedit.c:4893,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4900,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4902,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4904,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4906,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4906,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4912,1
    - Dst: ngettext
      Src: /src/gnupg/g10/keyedit.c:4912,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4919,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4920,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4921,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:4924,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - ctrl
    - keyblock
    - options
    argTypes:
    - ctrl_t
    - kbnode_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4929
      start: 4874
    functionDepth: 1
    functionLinenumber: 4874
    functionLinenumberEnd: 4929
    functionName: menu_clean
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - count_selected_uids
    - ngettext
    - _
    - clean_one_uid
    - xfree
    - tty_printf
    - utf8_to_native
    linkageType: ''
    returnType: int
    signature: int menu_clean (ctrl_t ctrl, kbnode_t keyblock, unsigned int options)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/keyedit.c:4947,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/keyedit.c:4950,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/keyedit.c:4954,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pub_keyblock
    argTypes:
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4959
      start: 4935
    functionDepth: 2
    functionLinenumber: 4935
    functionLinenumberEnd: 4959
    functionName: menu_delkey
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - commit_kbnode
    - delete_kbnode
    linkageType: ''
    returnType: void
    signature: void menu_delkey (KBNODE pub_keyblock)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keyedit.c:4977,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:4990,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4990,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:4994,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:4995,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:5001,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5001,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keyedit.c:5011,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyedit.c:5012,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:5014,1
    - Dst: cpr_get_utf8
      Src: /src/gnupg/g10/keyedit.c:5016,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5018,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:5021,1
    - Dst: get_pubkey_byname
      Src: /src/gnupg/g10/keyedit.c:5029,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:5033,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5033,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:5034,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:5035,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:5039,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/keyedit.c:5041,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:5044,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5044,1
    - Dst: cmp_public_keys
      Src: /src/gnupg/g10/keyedit.c:5055,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:5060,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5060,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyedit.c:5066,1
    - Dst: BUG
      Src: /src/gnupg/g10/keyedit.c:5070,1
    - Dst: memcmp
      Src: /src/gnupg/g10/keyedit.c:5077,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:5082,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5082,1
    - Dst: format_keyid
      Src: /src/gnupg/g10/keyedit.c:5085,1
    - Dst: pk_keyid
      Src: /src/gnupg/g10/keyedit.c:5085,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/keyedit.c:5086,1
    - Dst: print_key_info
      Src: /src/gnupg/g10/keyedit.c:5096,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/keyedit.c:5097,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:5098,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:5100,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5100,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:5103,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:5105,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5106,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keyedit.c:5110,1
    - Dst: make_keysig_packet
      Src: /src/gnupg/g10/keyedit.c:5115,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:5119,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:5120,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:5120,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyedit.c:5125,1
    - Dst: insert_kbnode
      Src: /src/gnupg/g10/keyedit.c:5128,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keyedit.c:5128,1
    - Dst: free_seckey_enc
      Src: /src/gnupg/g10/keyedit.c:5134,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keyedit.c:5135,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 88
    argCount: 3
    argNames:
    - ctrl
    - pub_keyblock
    - sensitive
    argTypes:
    - ctrl_t
    - kbnode_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5138
      start: 4966
    functionDepth: 4
    functionLinenumber: 4966
    functionLinenumberEnd: 5138
    functionName: menu_addrevoker
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - get_pubkey_byname
    - log_assert
    - cmp_public_keys
    - BUG
    - make_keysig_packet
    - new_kbnode
    - free_public_key
    - print_key_info
    - log_error
    - _
    - insert_kbnode
    - write_status_error
    - tty_printf
    - cpr_get_answer_is_yes
    - write_status_text
    - xfree
    - gpg_strerror
    - cpr_get_utf8
    - xmalloc_clear
    - print_fingerprint
    - free_seckey_enc
    - keyid_from_pk
    - format_keyid
    - memcmp
    - fingerprint_from_pk
    - pk_keyid
    linkageType: ''
    returnType: int
    signature: int menu_addrevoker (ctrl_t ctrl, kbnode_t pub_keyblock, int sensitive)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: copy_public_key_basics
      Src: /src/gnupg/g10/keyedit.c:5157,1
    - Dst: gnupg_pk_is_compliant
      Src: /src/gnupg/g10/keyedit.c:5160,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/keyedit.c:5161,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/keyedit.c:5165,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:5166,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5166,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/keyedit.c:5168,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:5169,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keyedit.c:5174,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyedit.c:5178,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keyedit.c:5179,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/keyedit.c:5181,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyedit.c:5184,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keyedit.c:5189,1
    - Dst: make_keysig_packet
      Src: /src/gnupg/g10/keyedit.c:5192,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:5198,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:5199,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:5199,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/keyedit.c:5204,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/keyedit.c:5206,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyedit.c:5209,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/keyedit.c:5214,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keyedit.c:5214,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyedit.c:5217,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keyedit.c:5218,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 5
    argNames:
    - ctrl
    - keyblock
    - adsk
    - sigtimestamp
    - cache_nonce
    argTypes:
    - ctrl_t
    - kbnode_t
    - PKT_public_key*
    - u32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5220
      start: 5146
    functionDepth: 3
    functionLinenumber: 5146
    functionLinenumberEnd: 5220
    functionName: append_adsk_to_key
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - log_assert
    - make_keysig_packet
    - new_kbnode
    - free_public_key
    - log_error
    - _
    - write_status_error
    - gnupg_compliance_option_string
    - gpg_error_from_syserror
    - gnupg_pk_is_compliant
    - gpg_error
    - gpg_strerror
    - add_kbnode
    - xtrycalloc
    - copy_public_key_basics
    - release_kbnode
    - keyid_from_pk
    - nbits_from_pk
    - hexfingerprint
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t append_adsk_to_key (ctrl_t ctrl, kbnode_t keyblock, PKT_public_key
      *adsk,\n                    u32 sigtimestamp, const char *cache_nonce)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: make_timestamp
      Src: /src/gnupg/g10/keyedit.c:5241,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keyedit.c:5243,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:5247,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/keyedit.c:5249,1
    - Dst: cpr_get_utf8
      Src: /src/gnupg/g10/keyedit.c:5252,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5254,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:5257,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/keyedit.c:5261,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:5264,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5264,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:5265,1
    - Dst: strchr
      Src: /src/gnupg/g10/keyedit.c:5273,1
    - Dst: xstrconcat
      Src: /src/gnupg/g10/keyedit.c:5275,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:5276,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keyedit.c:5280,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keyedit.c:5281,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyedit.c:5283,1
    - Dst: get_pubkey_byname
      Src: /src/gnupg/g10/keyedit.c:5285,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:5289,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:5290,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5290,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:5291,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyedit.c:5293,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:5294,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5294,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/keyedit.c:5306,1
    - Dst: memcmp
      Src: /src/gnupg/g10/keyedit.c:5308,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:5315,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:5316,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:5317,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5317,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:5318,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:5320,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5320,1
    - Dst: has_key_with_fingerprint
      Src: /src/gnupg/g10/keyedit.c:5327,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:5330,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5330,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keyedit.c:5340,1
    - Dst: append_adsk_to_key
      Src: /src/gnupg/g10/keyedit.c:5342,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:5347,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keyedit.c:5348,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keyedit.c:5349,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 80
    argCount: 3
    argNames:
    - ctrl
    - pub_keyblock
    - adskfpr
    argTypes:
    - ctrl_t
    - kbnode_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5355
      start: 5229
    functionDepth: 4
    functionLinenumber: 5229
    functionLinenumberEnd: 5355
    functionName: menu_addadsk
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 2
    functionsReached:
    - get_pubkey_byname
    - log_assert
    - xstrdup
    - has_key_with_fingerprint
    - free_public_key
    - _
    - log_info
    - write_status_error
    - gpg_error
    - strchr
    - xfree
    - gpg_strerror
    - cpr_get_utf8
    - xstrconcat
    - release_kbnode
    - append_adsk_to_key
    - xcalloc
    - make_timestamp
    - classify_user_id
    - gpg_err_code
    - memcmp
    - fingerprint_from_pk
    linkageType: ''
    returnType: int
    signature: int menu_addadsk (ctrl_t ctrl, kbnode_t pub_keyblock, const char *adskfpr)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: count_selected_keys
      Src: /src/gnupg/g10/keyedit.c:5387,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:5390,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5392,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:5394,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:5397,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5397,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:5400,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5400,1
    - Dst: no_primary_warning
      Src: /src/gnupg/g10/keyedit.c:5402,1
    - Dst: ask_expiredate
      Src: /src/gnupg/g10/keyedit.c:5405,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyedit.c:5418,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:5455,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5456,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:5457,1
    - Dst: update_keysig_packet
      Src: /src/gnupg/g10/keyedit.c:5461,1
    - Dst: update_keysig_packet
      Src: /src/gnupg/g10/keyedit.c:5467,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:5472,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:5473,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keyedit.c:5474,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyedit.c:5480,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keyedit.c:5483,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:5484,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:5492,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 67
    argCount: 4
    argNames:
    - ctrl
    - pub_keyblock
    - unattended
    - newexpiration
    argTypes:
    - ctrl_t
    - kbnode_t
    - int
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5493
      start: 5364
    functionDepth: 2
    functionLinenumber: 5364
    functionLinenumberEnd: 5493
    functionName: menu_expire
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 2
    functionsReached:
    - cpr_get_answer_is_yes
    - log_error
    - keyid_from_pk
    - update_keysig_packet
    - _
    - no_primary_warning
    - gpg_error
    - log_info
    - ask_expiredate
    - count_selected_keys
    - gpg_strerror
    - gpg_err_code
    - free_packet
    - tty_printf
    - xmalloc_clear
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t menu_expire (ctrl_t ctrl, kbnode_t pub_keyblock,\n             int
      unattended, u32 newexpiration)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: count_selected_keys
      Src: /src/gnupg/g10/keyedit.c:5509,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:5512,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5512,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:5516,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5516,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:5519,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5519,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyedit.c:5531,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:5561,1
    - Dst: ask_key_flags
      Src: /src/gnupg/g10/keyedit.c:5566,1
    - Dst: ask_key_flags
      Src: /src/gnupg/g10/keyedit.c:5569,1
    - Dst: update_keysig_packet
      Src: /src/gnupg/g10/keyedit.c:5573,1
    - Dst: update_keysig_packet
      Src: /src/gnupg/g10/keyedit.c:5579,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:5584,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:5585,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyedit.c:5590,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keyedit.c:5593,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:5594,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 2
    argNames:
    - ctrl
    - keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5603
      start: 5499
    functionDepth: 1
    functionLinenumber: 5499
    functionLinenumberEnd: 5603
    functionName: menu_changeusage
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - log_error
    - keyid_from_pk
    - update_keysig_packet
    - _
    - xmalloc_clear
    - log_info
    - gpg_strerror
    - count_selected_keys
    - xfree
    - free_packet
    - tty_printf
    - ask_key_flags
    linkageType: ''
    returnType: int
    signature: int menu_changeusage (ctrl_t ctrl, kbnode_t keyblock)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keyedit.c:5614,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keyedit.c:5616,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyedit.c:5618,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/keyedit.c:5622,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:5636,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5636,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/keyedit.c:5638,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:5643,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5643,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/keyedit.c:5645,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keyedit.c:5665,1
    - Dst: make_backsig
      Src: /src/gnupg/g10/keyedit.c:5676,1
    - Dst: update_keysig_packet
      Src: /src/gnupg/g10/keyedit.c:5684,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyedit.c:5691,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keyedit.c:5694,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:5695,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:5702,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:5703,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:5709,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:5709,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - ctrl
    - pub_keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5715
      start: 5606
    functionDepth: 2
    functionLinenumber: 5606
    functionLinenumberEnd: 5715
    functionName: menu_backsign
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - log_assert
    - make_backsig
    - log_error
    - keyid_from_pk
    - update_keysig_packet
    - keystr_from_pk
    - _
    - make_timestamp
    - xfree
    - merge_keys_and_selfsig
    - gpg_strerror
    - free_packet
    - tty_printf
    - xmalloc_clear
    - log_debug
    linkageType: ''
    returnType: int
    signature: int menu_backsign (ctrl_t ctrl, kbnode_t pub_keyblock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/keyedit.c:5725,1
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/keyedit.c:5726,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keyedit.c:5732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sig
    - opaque
    argTypes:
    - PKT_signature*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5736
      start: 5718
    functionDepth: 1
    functionLinenumber: 5718
    functionLinenumberEnd: 5736
    functionName: change_primary_uid_cb
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - build_sig_subpkt
    - delete_sig_subpkt
    linkageType: ''
    returnType: int
    signature: int change_primary_uid_cb (PKT_signature * sig, void *opaque)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: count_selected_uids
      Src: /src/gnupg/g10/keyedit.c:5758,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:5760,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5760,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyedit.c:5781,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/keyedit.c:5799,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:5799,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:5801,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5801,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:5803,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/keyedit.c:5825,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/keyedit.c:5828,1
    - Dst: update_keysig_packet
      Src: /src/gnupg/g10/keyedit.c:5837,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:5844,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:5845,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyedit.c:5849,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keyedit.c:5852,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:5853,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 2
    argNames:
    - ctrl
    - pub_keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5863
      start: 5747
    functionDepth: 1
    functionLinenumber: 5747
    functionLinenumberEnd: 5863
    functionName: menu_set_primary_uid
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 2
    functionsReached:
    - count_selected_uids
    - strlen
    - log_error
    - keyid_from_pk
    - parse_sig_subpkt
    - update_keysig_packet
    - _
    - xmalloc_clear
    - log_info
    - xfree
    - gpg_strerror
    - free_packet
    - tty_printf
    - utf8_to_native
    linkageType: ''
    returnType: int
    signature: int menu_set_primary_uid (ctrl_t ctrl, kbnode_t pub_keyblock)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: no_primary_warning
      Src: /src/gnupg/g10/keyedit.c:5881,1
    - Dst: count_selected_uids
      Src: /src/gnupg/g10/keyedit.c:5883,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyedit.c:5897,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/keyedit.c:5915,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:5915,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:5917,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5917,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:5919,1
    - Dst: update_keysig_packet
      Src: /src/gnupg/g10/keyedit.c:5930,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:5935,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:5936,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyedit.c:5940,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keyedit.c:5943,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:5944,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 3
    argNames:
    - ctrl
    - pub_keyblock
    - unattended
    argTypes:
    - ctrl_t
    - kbnode_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5953
      start: 5870
    functionDepth: 2
    functionLinenumber: 5870
    functionLinenumberEnd: 5953
    functionName: menu_set_preferences
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 2
    functionsReached:
    - strlen
    - count_selected_uids
    - log_error
    - keyid_from_pk
    - update_keysig_packet
    - _
    - no_primary_warning
    - xmalloc_clear
    - log_info
    - xfree
    - gpg_strerror
    - free_packet
    - utf8_to_native
    linkageType: ''
    returnType: int
    signature: int menu_set_preferences (ctrl_t ctrl, kbnode_t pub_keyblock, int unattended)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: no_primary_warning
      Src: /src/gnupg/g10/keyedit.c:5967,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/keyedit.c:5970,1
    - Dst: cpr_get_utf8
      Src: /src/gnupg/g10/keyedit.c:5973,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5974,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:5977,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keyedit.c:5982,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:5984,1
    - Dst: parse_keyserver_uri
      Src: /src/gnupg/g10/keyedit.c:5991,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:5992,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:5995,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:5995,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/keyedit.c:5998,1
    - Dst: free_keyserver_spec
      Src: /src/gnupg/g10/keyedit.c:5999,1
    - Dst: count_selected_uids
      Src: /src/gnupg/g10/keyedit.c:6002,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyedit.c:6016,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/keyedit.c:6031,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:6031,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:6033,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6033,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/keyedit.c:6046,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6049,1
    - Dst: tty_print_utf8_string
      Src: /src/gnupg/g10/keyedit.c:6051,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6052,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:6053,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6056,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6057,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:6059,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:6067,1
    - Dst: update_keysig_packet
      Src: /src/gnupg/g10/keyedit.c:6071,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:6077,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:6078,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:6079,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:6080,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyedit.c:6084,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keyedit.c:6087,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:6088,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:6093,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:6098,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 77
    argCount: 3
    argNames:
    - ctrl
    - url
    - pub_keyblock
    argTypes:
    - ctrl_t
    - char*
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6100
      start: 5956
    functionDepth: 2
    functionLinenumber: 5956
    functionLinenumberEnd: 6100
    functionName: menu_set_keyserver_url
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - parse_keyserver_uri
    - strlen
    - parse_sig_subpkt
    - ascii_strcasecmp
    - tty_print_utf8_string
    - xstrdup
    - free_packet
    - utf8_to_native
    - count_selected_uids
    - log_error
    - _
    - log_info
    - tty_printf
    - cpr_get_answer_is_yes
    - free_keyserver_spec
    - update_keysig_packet
    - no_primary_warning
    - xfree
    - gpg_strerror
    - cpr_get_utf8
    - keyid_from_pk
    - xmalloc_clear
    linkageType: ''
    returnType: int
    signature: int menu_set_keyserver_url (ctrl_t ctrl, const char *url, kbnode_t
      pub_keyblock)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: no_primary_warning
      Src: /src/gnupg/g10/keyedit.c:6115,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/keyedit.c:6118,1
    - Dst: cpr_get_utf8
      Src: /src/gnupg/g10/keyedit.c:6121,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6122,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:6125,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keyedit.c:6130,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keyedit.c:6131,1
    - Dst: string_to_notation
      Src: /src/gnupg/g10/keyedit.c:6135,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:6138,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:6143,1
    - Dst: count_selected_uids
      Src: /src/gnupg/g10/keyedit.c:6145,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyedit.c:6159,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/keyedit.c:6174,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:6174,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:6176,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6176,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6186,1
    - Dst: tty_print_notations
      Src: /src/gnupg/g10/keyedit.c:6188,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6192,1
    - Dst: sig_to_notation
      Src: /src/gnupg/g10/keyedit.c:6206,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keyedit.c:6209,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keyedit.c:6213,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6228,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6245,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6252,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6261,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:6268,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6269,1
    - Dst: update_keysig_packet
      Src: /src/gnupg/g10/keyedit.c:6272,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:6278,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:6279,1
    - Dst: free_notation
      Src: /src/gnupg/g10/keyedit.c:6280,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:6281,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyedit.c:6286,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keyedit.c:6289,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:6290,1
    - Dst: free_notation
      Src: /src/gnupg/g10/keyedit.c:6297,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:6301,1
    - Dst: free_notation
      Src: /src/gnupg/g10/keyedit.c:6307,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 106
    argCount: 3
    argNames:
    - ctrl
    - string
    - pub_keyblock
    argTypes:
    - ctrl_t
    - char*
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6309
      start: 6103
    functionDepth: 2
    functionLinenumber: 6103
    functionLinenumberEnd: 6309
    functionName: menu_set_notation
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - strlen
    - ascii_strcasecmp
    - xstrdup
    - free_packet
    - utf8_to_native
    - count_selected_uids
    - log_error
    - _
    - log_info
    - tty_printf
    - cpr_get_answer_is_yes
    - string_to_notation
    - update_keysig_packet
    - sig_to_notation
    - strcmp
    - no_primary_warning
    - xfree
    - gpg_strerror
    - cpr_get_utf8
    - free_notation
    - keyid_from_pk
    - xmalloc_clear
    - tty_print_notations
    linkageType: ''
    returnType: int
    signature: int menu_set_notation (ctrl_t ctrl, const char *string, KBNODE pub_keyblock)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6339,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6339,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 2
    argNames:
    - keyblock
    - idx
    argTypes:
    - KBNODE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6365
      start: 6316
    functionDepth: 1
    functionLinenumber: 6316
    functionLinenumberEnd: 6365
    functionName: menu_select_uid
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 2
    functionsReached:
    - tty_printf
    - _
    linkageType: ''
    returnType: int
    signature: int menu_select_uid (KBNODE keyblock, int idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keyedit.c:6376,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:6376,1
    - Dst: hextobyte
      Src: /src/gnupg/g10/keyedit.c:6379,1
    - Dst: namehash_from_uid
      Src: /src/gnupg/g10/keyedit.c:6385,1
    - Dst: memcmp
      Src: /src/gnupg/g10/keyedit.c:6386,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6401,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - keyblock
    - namehash
    argTypes:
    - KBNODE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6406
      start: 6369
    functionDepth: 1
    functionLinenumber: 6369
    functionLinenumberEnd: 6406
    functionName: menu_select_uid_namehash
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - strlen
    - log_assert
    - _
    - memcmp
    - hextobyte
    - namehash_from_uid
    - tty_printf
    linkageType: ''
    returnType: int
    signature: int menu_select_uid_namehash (KBNODE keyblock, const char *namehash)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:6420,1
    - Dst: spacep
      Src: /src/gnupg/g10/keyedit.c:6424,1
    - Dst: hexdigitp
      Src: /src/gnupg/g10/keyedit.c:6431,1
    - Dst: toupper
      Src: /src/gnupg/g10/keyedit.c:6433,1
    - Dst: spacep
      Src: /src/gnupg/g10/keyedit.c:6436,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:6452,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:6454,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:6457,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:6469,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:6469,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyedit.c:6473,1
    - Dst: format_keyid
      Src: /src/gnupg/g10/keyedit.c:6474,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyedit.c:6474,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keyedit.c:6477,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/keyedit.c:6483,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keyedit.c:6484,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6502,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6502,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6524,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6524,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 76
    argCount: 3
    argNames:
    - keyblock
    - idx
    - p
    argTypes:
    - KBNODE
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6550
      start: 6413
    functionDepth: 1
    functionLinenumber: 6413
    functionLinenumberEnd: 6550
    functionName: menu_select_key
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - hexdigitp
    - strlen
    - keyid_from_pk
    - spacep
    - _
    - strcmp
    - toupper
    - format_keyid
    - hexfingerprint
    - tty_printf
    linkageType: ''
    returnType: int
    signature: int menu_select_key (KBNODE keyblock, int idx, char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - keyblock
    - flag
    argTypes:
    - KBNODE
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6563
      start: 6553
    functionDepth: 0
    functionLinenumber: 6553
    functionLinenumberEnd: 6563
    functionName: count_uids_with_flag
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int count_uids_with_flag (KBNODE keyblock, unsigned flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - keyblock
    - flag
    argTypes:
    - KBNODE
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6577
      start: 6566
    functionDepth: 0
    functionLinenumber: 6566
    functionLinenumberEnd: 6577
    functionName: count_keys_with_flag
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int count_keys_with_flag (KBNODE keyblock, unsigned flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - keyblock
    argTypes:
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6590
      start: 6580
    functionDepth: 0
    functionLinenumber: 6580
    functionLinenumberEnd: 6590
    functionName: count_uids
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int count_uids (KBNODE keyblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count_uids_with_flag
      Src: /src/gnupg/g10/keyedit.c:6599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keyblock
    argTypes:
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6600
      start: 6596
    functionDepth: 1
    functionLinenumber: 6596
    functionLinenumberEnd: 6600
    functionName: count_selected_uids
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 7
    functionsReached:
    - count_uids_with_flag
    linkageType: ''
    returnType: int
    signature: int count_selected_uids (KBNODE keyblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count_keys_with_flag
      Src: /src/gnupg/g10/keyedit.c:6606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keyblock
    argTypes:
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6607
      start: 6603
    functionDepth: 1
    functionLinenumber: 6603
    functionLinenumberEnd: 6607
    functionName: count_selected_keys
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 3
    functionsReached:
    - count_keys_with_flag
    linkageType: ''
    returnType: int
    signature: int count_selected_keys (KBNODE keyblock)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - keyblock
    argTypes:
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6623
      start: 6611
    functionDepth: 0
    functionLinenumber: 6611
    functionLinenumberEnd: 6623
    functionName: real_uids_left
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int real_uids_left (KBNODE keyblock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find_prev_kbnode
      Src: /src/gnupg/g10/keyedit.c:6636,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:6640,1
    - Dst: printf
      Src: /src/gnupg/g10/keyedit.c:6649,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyedit.c:6652,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/keyedit.c:6653,1
    - Dst: es_printf
      Src: /src/gnupg/g10/keyedit.c:6656,1
    - Dst: print_and_check_one_sig_colon
      Src: /src/gnupg/g10/keyedit.c:6658,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/keyedit.c:6663,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6665,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6665,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:6666,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6668,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6668,1
    - Dst: keystr
      Src: /src/gnupg/g10/keyedit.c:6669,1
    - Dst: datestr_from_sig
      Src: /src/gnupg/g10/keyedit.c:6669,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6670,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6674,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6674,1
    - Dst: expirestr_from_sig
      Src: /src/gnupg/g10/keyedit.c:6675,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:6677,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6679,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:6682,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6684,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - ctrl
    - keyblock
    - node
    argTypes:
    - ctrl_t
    - kbnode_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6691
      start: 6630
    functionDepth: 3
    functionLinenumber: 6630
    functionLinenumberEnd: 6691
    functionName: ask_revoke_sig
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 0
    functionsReached:
    - datestr_from_sig
    - expirestr_from_sig
    - printf
    - cpr_get_answer_is_yes
    - log_error
    - find_prev_kbnode
    - es_write_sanitized
    - print_and_check_one_sig_colon
    - _
    - es_printf
    - xfree
    - keystr
    - tty_printf
    - utf8_to_native
    linkageType: ''
    returnType: void
    signature: void ask_revoke_sig (ctrl_t ctrl, kbnode_t keyblock, kbnode_t node)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: count_selected_uids
      Src: /src/gnupg/g10/keyedit.c:6707,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keyedit.c:6710,1
    - Dst: have_secret_key_with_kid
      Src: /src/gnupg/g10/keyedit.c:6726,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6738,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6738,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6744,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6744,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/keyedit.c:6745,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6755,1
    - Dst: tty_print_utf8_string
      Src: /src/gnupg/g10/keyedit.c:6756,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6757,1
    - Dst: have_secret_key_with_kid
      Src: /src/gnupg/g10/keyedit.c:6765,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6769,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6770,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6770,1
    - Dst: keystr
      Src: /src/gnupg/g10/keyedit.c:6771,1
    - Dst: datestr_from_sig
      Src: /src/gnupg/g10/keyedit.c:6771,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6772,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6773,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6779,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6780,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6780,1
    - Dst: keystr
      Src: /src/gnupg/g10/keyedit.c:6781,1
    - Dst: datestr_from_sig
      Src: /src/gnupg/g10/keyedit.c:6781,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6786,1
    - Dst: ask_revoke_sig
      Src: /src/gnupg/g10/keyedit.c:6793,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6805,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6805,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6810,1
    - Dst: tty_print_utf8_string
      Src: /src/gnupg/g10/keyedit.c:6811,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6812,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6817,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:6818,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6818,1
    - Dst: keystr
      Src: /src/gnupg/g10/keyedit.c:6819,1
    - Dst: datestr_from_sig
      Src: /src/gnupg/g10/keyedit.c:6819,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6820,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keyedit.c:6826,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6828,1
    - Dst: ask_revocation_reason
      Src: /src/gnupg/g10/keyedit.c:6831,1
    - Dst: find_prev_kbnode
      Src: /src/gnupg/g10/keyedit.c:6850,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keyedit.c:6851,1
    - Dst: memset
      Src: /src/gnupg/g10/keyedit.c:6853,1
    - Dst: xmalloc_secure_clear
      Src: /src/gnupg/g10/keyedit.c:6858,1
    - Dst: get_seckey
      Src: /src/gnupg/g10/keyedit.c:6859,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:6861,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6861,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keyedit.c:6862,1
    - Dst: make_keysig_packet
      Src: /src/gnupg/g10/keyedit.c:6865,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keyedit.c:6869,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:6872,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:6873,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6873,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:6873,1
    - Dst: release_revocation_reason_info
      Src: /src/gnupg/g10/keyedit.c:6874,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyedit.c:6883,1
    - Dst: insert_kbnode
      Src: /src/gnupg/g10/keyedit.c:6886,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keyedit.c:6886,1
    - Dst: release_revocation_reason_info
      Src: /src/gnupg/g10/keyedit.c:6890,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 118
    argCount: 2
    argNames:
    - ctrl
    - keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6892
      start: 6700
    functionDepth: 4
    functionLinenumber: 6700
    functionLinenumberEnd: 6892
    functionName: menu_revsig
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - datestr_from_sig
    - log_assert
    - ask_revocation_reason
    - xmalloc_secure_clear
    - tty_print_utf8_string
    - make_keysig_packet
    - new_kbnode
    - have_secret_key_with_kid
    - free_public_key
    - get_seckey
    - count_selected_uids
    - find_prev_kbnode
    - log_error
    - _
    - insert_kbnode
    - log_info
    - write_status_error
    - tty_printf
    - ask_revoke_sig
    - cpr_get_answer_is_yes
    - keystr_from_pk
    - memset
    - gpg_strerror
    - keystr
    - release_revocation_reason_info
    - xmalloc_clear
    linkageType: ''
    returnType: int
    signature: int menu_revsig (ctrl_t ctrl, kbnode_t keyblock)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyedit.c:6907,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:6908,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:6909,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6909,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:6909,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/keyedit.c:6918,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:6919,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6919,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyedit.c:6920,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/keyedit.c:6927,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyedit.c:6936,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6936,1
    - Dst: memset
      Src: /src/gnupg/g10/keyedit.c:6943,1
    - Dst: make_keysig_packet
      Src: /src/gnupg/g10/keyedit.c:6950,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:6955,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:6956,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:6956,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:6956,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyedit.c:6961,1
    - Dst: insert_kbnode
      Src: /src/gnupg/g10/keyedit.c:6964,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keyedit.c:6964,1
    - Dst: get_validity
      Src: /src/gnupg/g10/keyedit.c:6970,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 5
    argNames:
    - ctrl
    - keyblock
    - node
    - reason
    - modified
    argTypes:
    - ctrl_t
    - kbnode_t
    - KBNODE
    - struct revocation_reason_info*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6983
      start: 6898
    functionDepth: 3
    functionLinenumber: 6898
    functionLinenumberEnd: 6983
    functionName: core_revuid
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - log_error
    - new_kbnode
    - _
    - insert_kbnode
    - make_timestamp
    - gpg_error
    - xmalloc_clear
    - gpg_strerror
    - write_status_error
    - log_info
    - xfree
    - memset
    - make_keysig_packet
    - utf8_to_native
    - get_validity
    linkageType: ''
    returnType: int
    signature: "int core_revuid (ctrl_t ctrl, kbnode_t keyblock, KBNODE node,\n             const
      struct revocation_reason_info *reason, int *modified)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ask_revocation_reason
      Src: /src/gnupg/g10/keyedit.c:7006,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:7032,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:7032,1
    - Dst: core_revuid
      Src: /src/gnupg/g10/keyedit.c:7036,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/keyedit.c:7048,1
    - Dst: release_revocation_reason_info
      Src: /src/gnupg/g10/keyedit.c:7051,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    argCount: 2
    argNames:
    - ctrl
    - pub_keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7053
      start: 6987
    functionDepth: 4
    functionLinenumber: 6987
    functionLinenumberEnd: 7053
    functionName: menu_revuid
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - core_revuid
    - log_error
    - _
    - ask_revocation_reason
    - commit_kbnode
    - release_revocation_reason_info
    linkageType: ''
    returnType: int
    signature: int menu_revuid (ctrl_t ctrl, kbnode_t pub_keyblock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:7070,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:7070,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/keyedit.c:7070,1
    - Dst: ask_revocation_reason
      Src: /src/gnupg/g10/keyedit.c:7074,1
    - Dst: make_keysig_packet
      Src: /src/gnupg/g10/keyedit.c:7079,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:7084,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:7085,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:7085,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:7085,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyedit.c:7091,1
    - Dst: insert_kbnode
      Src: /src/gnupg/g10/keyedit.c:7094,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keyedit.c:7094,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/keyedit.c:7095,1
    - Dst: release_revocation_reason_info
      Src: /src/gnupg/g10/keyedit.c:7100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - ctrl
    - pub_keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7102
      start: 7059
    functionDepth: 3
    functionLinenumber: 7059
    functionLinenumberEnd: 7102
    functionName: menu_revkey
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - log_error
    - new_kbnode
    - keystr_from_pk
    - _
    - ask_revocation_reason
    - insert_kbnode
    - commit_kbnode
    - gpg_strerror
    - write_status_error
    - release_revocation_reason_info
    - make_keysig_packet
    - tty_printf
    - xmalloc_clear
    linkageType: ''
    returnType: int
    signature: int menu_revkey (ctrl_t ctrl, kbnode_t pub_keyblock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ask_revocation_reason
      Src: /src/gnupg/g10/keyedit.c:7114,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:7132,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:7132,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/keyedit.c:7133,1
    - Dst: memset
      Src: /src/gnupg/g10/keyedit.c:7137,1
    - Dst: make_keysig_packet
      Src: /src/gnupg/g10/keyedit.c:7141,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keyedit.c:7146,1
    - Dst: log_error
      Src: /src/gnupg/g10/keyedit.c:7147,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:7147,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keyedit.c:7147,1
    - Dst: release_revocation_reason_info
      Src: /src/gnupg/g10/keyedit.c:7148,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keyedit.c:7153,1
    - Dst: insert_kbnode
      Src: /src/gnupg/g10/keyedit.c:7156,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keyedit.c:7156,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/keyedit.c:7160,1
    - Dst: release_revocation_reason_info
      Src: /src/gnupg/g10/keyedit.c:7166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - ctrl
    - pub_keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7168
      start: 7105
    functionDepth: 3
    functionLinenumber: 7105
    functionLinenumberEnd: 7168
    functionName: menu_revsubkey
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - log_error
    - new_kbnode
    - keystr_from_pk
    - _
    - ask_revocation_reason
    - insert_kbnode
    - commit_kbnode
    - memset
    - write_status_error
    - gpg_strerror
    - release_revocation_reason_info
    - make_keysig_packet
    - tty_printf
    - xmalloc_clear
    linkageType: ''
    returnType: int
    signature: int menu_revsubkey (ctrl_t ctrl, kbnode_t pub_keyblock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_kbnode
      Src: /src/gnupg/g10/keyedit.c:7180,1
    - Dst: get_ownertrust
      Src: /src/gnupg/g10/keyedit.c:7183,1
    - Dst: update_ownertrust
      Src: /src/gnupg/g10/keyedit.c:7189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctrl
    - keyblock
    - disable
    argTypes:
    - ctrl_t
    - kbnode_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7191
      start: 7176
    functionDepth: 2
    functionLinenumber: 7176
    functionLinenumberEnd: 7191
    functionName: enable_disable_key
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - update_ownertrust
    - find_kbnode
    - get_ownertrust
    linkageType: ''
    returnType: int
    signature: int enable_disable_key (ctrl_t ctrl, kbnode_t keyblock, int disable)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count_selected_uids
      Src: /src/gnupg/g10/keyedit.c:7199,1
    - Dst: parse_image_header
      Src: /src/gnupg/g10/keyedit.c:7227,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keyedit.c:7229,1
    - Dst: _
      Src: /src/gnupg/g10/keyedit.c:7229,1
    - Dst: image_type_to_string
      Src: /src/gnupg/g10/keyedit.c:7231,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/keyedit.c:7232,1
    - Dst: show_photos
      Src: /src/gnupg/g10/keyedit.c:7233,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - ctrl
    - keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7239
      start: 7195
    functionDepth: 2
    functionLinenumber: 7195
    functionLinenumberEnd: 7239
    functionName: menu_showphoto
    functionSourceFile: /src/gnupg/g10/keyedit.c
    functionUses: 1
    functionsReached:
    - count_selected_uids
    - image_type_to_string
    - show_photos
    - keystr_from_pk
    - _
    - parse_image_header
    - tty_printf
    linkageType: ''
    returnType: void
    signature: void menu_showphoto (ctrl_t ctrl, kbnode_t keyblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctb
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: ctb_new_format_p
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 0
    functionsReached:
    - log_assert
    linkageType: ''
    returnType: int
    signature: int ctb_new_format_p (int ctb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctb_new_format_p
      Src: /src/gnupg/g10/build-packet.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctb
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: ctb_pkttype
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 0
    functionsReached:
    - ctb_new_format_p
    linkageType: ''
    returnType: int
    signature: int ctb_pkttype (int ctb)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_temp
      Src: /src/gnupg/g10/build-packet.c:95,1
    - Dst: walk_kbnode
      Src: /src/gnupg/g10/build-packet.c:96,1
    - Dst: build_packet_and_meta
      Src: /src/gnupg/g10/build-packet.c:112,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/build-packet.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - keyblock
    - r_iobuf
    argTypes:
    - kbnode_t
    - iobuf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 122
    functionName: build_keyblock_image
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 0
    functionsReached:
    - iobuf_close
    - walk_kbnode
    - build_packet_and_meta
    - iobuf_temp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t build_keyblock_image (kbnode_t keyblock, iobuf_t *r_iobuf)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/g10/build-packet.c:135,1
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:136,1
    - Dst: do_user_id
      Src: /src/gnupg/g10/build-packet.c:175,1
    - Dst: do_key
      Src: /src/gnupg/g10/build-packet.c:189,1
    - Dst: do_symkey_enc
      Src: /src/gnupg/g10/build-packet.c:192,1
    - Dst: do_pubkey_enc
      Src: /src/gnupg/g10/build-packet.c:195,1
    - Dst: do_plaintext
      Src: /src/gnupg/g10/build-packet.c:198,1
    - Dst: do_encrypted
      Src: /src/gnupg/g10/build-packet.c:201,1
    - Dst: do_encrypted_mdc
      Src: /src/gnupg/g10/build-packet.c:204,1
    - Dst: do_encrypted_aead
      Src: /src/gnupg/g10/build-packet.c:207,1
    - Dst: do_compressed
      Src: /src/gnupg/g10/build-packet.c:210,1
    - Dst: do_signature
      Src: /src/gnupg/g10/build-packet.c:213,1
    - Dst: do_onepass_sig
      Src: /src/gnupg/g10/build-packet.c:216,1
    - Dst: log_bug
      Src: /src/gnupg/g10/build-packet.c:224,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 83
    argCount: 2
    argNames:
    - out
    - pkt
    argTypes:
    - IOBUF
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 229
    functionName: build_packet
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 6
    functionsReached:
    - do_encrypted_aead
    - do_onepass_sig
    - do_plaintext
    - do_pubkey_enc
    - log_assert
    - do_encrypted_mdc
    - log_bug
    - do_compressed
    - do_signature
    - do_user_id
    - log_debug
    - do_encrypted
    - do_key
    - do_symkey_enc
    linkageType: ''
    returnType: int
    signature: int build_packet (IOBUF out, PACKET *pkt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: build_packet
      Src: /src/gnupg/g10/build-packet.c:241,1
    - Dst: do_ring_trust
      Src: /src/gnupg/g10/build-packet.c:256,1
    - Dst: do_ring_trust
      Src: /src/gnupg/g10/build-packet.c:267,1
    - Dst: do_ring_trust
      Src: /src/gnupg/g10/build-packet.c:279,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - out
    - pkt
    argTypes:
    - iobuf_t
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 285
    functionName: build_packet_and_meta
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 4
    functionsReached:
    - build_packet
    - do_ring_trust
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t build_packet_and_meta (iobuf_t out, PACKET *pkt)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/build-packet.c:299,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/build-packet.c:306,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:328,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:334,1
    - Dst: DIM
      Src: /src/gnupg/g10/build-packet.c:345,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/g10/build-packet.c:346,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:349,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/build-packet.c:353,1
    - Dst: log_info
      Src: /src/gnupg/g10/build-packet.c:355,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/g10/build-packet.c:355,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/build-packet.c:358,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 44
    argCount: 3
    argNames:
    - out
    - a
    - r_nwritten
    argTypes:
    - iobuf_t
    - gcry_mpi_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 365
    functionName: gpg_mpi_write
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - gcry_mpi_print
    - DIM
    - gpg_error
    - gpg_err_code
    - log_info
    - gcry_mpi_get_opaque
    - iobuf_write
    - gcry_mpi_get_nbits
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpg_mpi_write (iobuf_t out, gcry_mpi_t a, unsigned int
      *r_nwritten)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/build-packet.c:380,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/build-packet.c:387,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:408,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:414,1
    - Dst: log_info
      Src: /src/gnupg/g10/build-packet.c:422,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/g10/build-packet.c:422,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/build-packet.c:423,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 33
    argCount: 3
    argNames:
    - out
    - a
    - r_nwritten
    argTypes:
    - iobuf_t
    - gcry_mpi_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 429
    functionName: sos_write
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - gpg_error
    - log_info
    - gcry_mpi_get_opaque
    - iobuf_write
    - gcry_mpi_get_nbits
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t sos_write (iobuf_t out, gcry_mpi_t a, unsigned int *r_nwritten)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/build-packet.c:440,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/build-packet.c:445,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:446,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/build-packet.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - iobuf_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 452
    functionName: gpg_mpi_write_opaque_nohdr
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - gcry_mpi_get_opaque
    - iobuf_write
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpg_mpi_write_opaque_nohdr (iobuf_t out, gcry_mpi_t a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/build-packet.c:466,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/build-packet.c:471,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:475,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:476,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/build-packet.c:485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - out
    - a
    - r_nwritten
    argTypes:
    - iobuf_t
    - gcry_mpi_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 491
    functionName: gpg_mpi_write_opaque_32
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - write_32
    - gpg_error
    - gcry_mpi_get_opaque
    - iobuf_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpg_mpi_write_opaque_32 (iobuf_t out, gcry_mpi_t a, unsigned
      int *r_nwritten)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:501,1
    - Dst: calc_plaintext
      Src: /src/gnupg/g10/build-packet.c:505,1
    - Dst: log_bug
      Src: /src/gnupg/g10/build-packet.c:521,1
    - Dst: calc_header_length
      Src: /src/gnupg/g10/build-packet.c:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 527
    functionName: calc_packet_length
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 0
    functionsReached:
    - calc_header_length
    - log_bug
    - calc_plaintext
    - log_assert
    linkageType: ''
    returnType: u32
    signature: u32 calc_packet_length( PACKET *pkt )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/build-packet.c:538,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/build-packet.c:540,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - IOBUF
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 545
    functionName: write_fake_data
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - gcry_mpi_get_opaque
    - iobuf_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_fake_data (IOBUF out, gcry_mpi_t a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/build-packet.c:558,1
    - Dst: write_header
      Src: /src/gnupg/g10/build-packet.c:562,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:563,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:564,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:565,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:566,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:569,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:570,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:571,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:573,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - out
    - rt
    argTypes:
    - iobuf_t
    - PKT_ring_trust*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 577
    functionName: do_ring_trust
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 1
    functionsReached:
    - write_header
    - strlen
    - write_32
    - iobuf_put
    - iobuf_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_ring_trust (iobuf_t out, PKT_ring_trust *rt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:591,1
    - Dst: ctb_pkttype
      Src: /src/gnupg/g10/build-packet.c:591,1
    - Dst: ctb_pkttype
      Src: /src/gnupg/g10/build-packet.c:592,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/build-packet.c:604,1
    - Dst: write_header2
      Src: /src/gnupg/g10/build-packet.c:606,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:607,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/build-packet.c:612,1
    - Dst: write_header2
      Src: /src/gnupg/g10/build-packet.c:614,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:615,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - out
    - ctb
    - uid
    argTypes:
    - IOBUF
    - int
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 618
    functionName: do_user_id
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 1
    functionsReached:
    - write_header2
    - ctb_pkttype
    - log_assert
    - gpg_error
    - iobuf_write
    linkageType: ''
    returnType: int
    signature: int do_user_id( IOBUF out, int ctb, PKT_user_id *uid )
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:643,1
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:644,1
    - Dst: ctb_pkttype
      Src: /src/gnupg/g10/build-packet.c:644,1
    - Dst: ctb_pkttype
      Src: /src/gnupg/g10/build-packet.c:645,1
    - Dst: ctb_pkttype
      Src: /src/gnupg/g10/build-packet.c:646,1
    - Dst: ctb_pkttype
      Src: /src/gnupg/g10/build-packet.c:647,1
    - Dst: iobuf_temp
      Src: /src/gnupg/g10/build-packet.c:655,1
    - Dst: pubkey_get_nskey
      Src: /src/gnupg/g10/build-packet.c:664,1
    - Dst: pubkey_get_npkey
      Src: /src/gnupg/g10/build-packet.c:665,1
    - Dst: write_fake_data
      Src: /src/gnupg/g10/build-packet.c:672,1
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:675,1
    - Dst: gpg_mpi_write_opaque_nohdr
      Src: /src/gnupg/g10/build-packet.c:683,1
    - Dst: gpg_mpi_write_opaque_32
      Src: /src/gnupg/g10/build-packet.c:687,1
    - Dst: sos_write
      Src: /src/gnupg/g10/build-packet.c:692,1
    - Dst: gpg_mpi_write
      Src: /src/gnupg/g10/build-packet.c:694,1
    - Dst: iobuf_get_temp_length
      Src: /src/gnupg/g10/build-packet.c:700,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:710,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:728,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:730,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:738,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:739,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:740,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:741,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:745,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:746,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:750,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:753,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:758,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:763,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:765,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:773,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:779,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:781,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:783,1
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:791,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/build-packet.c:791,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/build-packet.c:793,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:797,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:799,1
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:807,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/build-packet.c:807,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/build-packet.c:808,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:812,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:814,1
    - Dst: gpg_mpi_write_opaque_32
      Src: /src/gnupg/g10/build-packet.c:829,1
    - Dst: sos_write
      Src: /src/gnupg/g10/build-packet.c:837,1
    - Dst: gpg_mpi_write
      Src: /src/gnupg/g10/build-packet.c:842,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:848,1
    - Dst: gpg_mpi_write_opaque_32
      Src: /src/gnupg/g10/build-packet.c:855,1
    - Dst: sos_write
      Src: /src/gnupg/g10/build-packet.c:863,1
    - Dst: gpg_mpi_write
      Src: /src/gnupg/g10/build-packet.c:868,1
    - Dst: write_16
      Src: /src/gnupg/g10/build-packet.c:873,1
    - Dst: iobuf_get_temp_length
      Src: /src/gnupg/g10/build-packet.c:883,1
    - Dst: write_header2
      Src: /src/gnupg/g10/build-packet.c:890,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:892,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:893,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:894,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:896,1
    - Dst: iobuf_write_temp
      Src: /src/gnupg/g10/build-packet.c:897,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/build-packet.c:900,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 147
    argCount: 3
    argNames:
    - out
    - ctb
    - pk
    argTypes:
    - iobuf_t
    - int
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 902
    functionName: do_key
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 1
    functionsReached:
    - gcry_mpi_get_flag
    - sos_write
    - log_assert
    - iobuf_put
    - pubkey_get_nskey
    - iobuf_write_temp
    - write_header2
    - write_32
    - write_16
    - pubkey_get_npkey
    - iobuf_write
    - gpg_mpi_write_opaque_32
    - ctb_pkttype
    - gpg_mpi_write
    - iobuf_temp
    - write_fake_data
    - gcry_mpi_get_opaque
    - iobuf_close
    - gpg_mpi_write_opaque_nohdr
    - iobuf_get_temp_length
    linkageType: ''
    returnType: int
    signature: int do_key (iobuf_t out, int ctb, PKT_public_key *pk)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_temp
      Src: /src/gnupg/g10/build-packet.c:914,1
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:916,1
    - Dst: ctb_pkttype
      Src: /src/gnupg/g10/build-packet.c:916,1
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:917,1
    - Dst: log_bug
      Src: /src/gnupg/g10/build-packet.c:927,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:929,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:930,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:932,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:933,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:934,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:937,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:939,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:942,1
    - Dst: write_header
      Src: /src/gnupg/g10/build-packet.c:944,1
    - Dst: iobuf_get_temp_length
      Src: /src/gnupg/g10/build-packet.c:944,1
    - Dst: iobuf_write_temp
      Src: /src/gnupg/g10/build-packet.c:945,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/build-packet.c:947,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - out
    - ctb
    - enc
    argTypes:
    - IOBUF
    - int
    - PKT_symkey_enc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 910
    functionDepth: 2
    functionLinenumber: 910
    functionLinenumberEnd: 949
    functionName: do_symkey_enc
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 1
    functionsReached:
    - iobuf_write_temp
    - write_header
    - ctb_pkttype
    - log_assert
    - log_bug
    - iobuf_close
    - iobuf_temp
    - iobuf_get_temp_length
    - iobuf_put
    - iobuf_write
    linkageType: ''
    returnType: int
    signature: int do_symkey_enc( IOBUF out, int ctb, PKT_symkey_enc *enc )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_temp
      Src: /src/gnupg/g10/build-packet.c:962,1
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:964,1
    - Dst: ctb_pkttype
      Src: /src/gnupg/g10/build-packet.c:964,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:966,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:970,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:971,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:975,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:976,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:978,1
    - Dst: pubkey_get_nenc
      Src: /src/gnupg/g10/build-packet.c:979,1
    - Dst: write_fake_data
      Src: /src/gnupg/g10/build-packet.c:981,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:988,1
    - Dst: gpg_mpi_write_opaque_nohdr
      Src: /src/gnupg/g10/build-packet.c:991,1
    - Dst: gpg_mpi_write_opaque_32
      Src: /src/gnupg/g10/build-packet.c:993,1
    - Dst: gpg_mpi_write_opaque_nohdr
      Src: /src/gnupg/g10/build-packet.c:995,1
    - Dst: sos_write
      Src: /src/gnupg/g10/build-packet.c:998,1
    - Dst: gpg_mpi_write
      Src: /src/gnupg/g10/build-packet.c:1000,1
    - Dst: write_header
      Src: /src/gnupg/g10/build-packet.c:1005,1
    - Dst: iobuf_get_temp_length
      Src: /src/gnupg/g10/build-packet.c:1005,1
    - Dst: iobuf_write_temp
      Src: /src/gnupg/g10/build-packet.c:1006,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/build-packet.c:1008,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 3
    argNames:
    - out
    - ctb
    - enc
    argTypes:
    - IOBUF
    - int
    - PKT_pubkey_enc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 1010
    functionName: do_pubkey_enc
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 1
    functionsReached:
    - iobuf_write_temp
    - gpg_mpi_write_opaque_32
    - sos_write
    - write_header
    - ctb_pkttype
    - log_assert
    - write_32
    - iobuf_close
    - gpg_mpi_write
    - iobuf_temp
    - gpg_mpi_write_opaque_nohdr
    - iobuf_get_temp_length
    - iobuf_put
    - write_fake_data
    - pubkey_get_nenc
    linkageType: ''
    returnType: int
    signature: int do_pubkey_enc( IOBUF out, int ctb, PKT_pubkey_enc *enc )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pt
    argTypes:
    - PKT_plaintext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1026
    functionName: calc_plaintext
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 calc_plaintext( PKT_plaintext *pt )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:1048,1
    - Dst: ctb_pkttype
      Src: /src/gnupg/g10/build-packet.c:1048,1
    - Dst: write_header
      Src: /src/gnupg/g10/build-packet.c:1050,1
    - Dst: calc_plaintext
      Src: /src/gnupg/g10/build-packet.c:1050,1
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:1051,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:1054,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:1055,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:1056,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:1057,1
    - Dst: iobuf_copy
      Src: /src/gnupg/g10/build-packet.c:1063,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/build-packet.c:1065,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/build-packet.c:1065,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/build-packet.c:1066,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/build-packet.c:1066,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/build-packet.c:1066,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/build-packet.c:1067,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/build-packet.c:1068,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/build-packet.c:1075,1
    - Dst: ctb_new_format_p
      Src: /src/gnupg/g10/build-packet.c:1077,1
    - Dst: iobuf_set_partial_body_length_mode
      Src: /src/gnupg/g10/build-packet.c:1079,1
    - Dst: log_error
      Src: /src/gnupg/g10/build-packet.c:1082,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/build-packet.c:1086,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 3
    argNames:
    - out
    - ctb
    - pt
    argTypes:
    - IOBUF
    - int
    - PKT_plaintext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1042
    functionDepth: 2
    functionLinenumber: 1042
    functionLinenumberEnd: 1091
    functionName: do_plaintext
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 1
    functionsReached:
    - write_header
    - iobuf_error
    - ctb_pkttype
    - log_assert
    - write_32
    - iobuf_set_partial_body_length_mode
    - log_error
    - gpg_error
    - iobuf_copy
    - ctb_new_format_p
    - iobuf_put
    - iobuf_write
    - calc_plaintext
    linkageType: ''
    returnType: int
    signature: int do_plaintext( IOBUF out, int ctb, PKT_plaintext *pt )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:1108,1
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:1109,1
    - Dst: ctb_pkttype
      Src: /src/gnupg/g10/build-packet.c:1109,1
    - Dst: write_header
      Src: /src/gnupg/g10/build-packet.c:1112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - out
    - ctb
    - ed
    argTypes:
    - IOBUF
    - int
    - PKT_encrypted*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1102
    functionDepth: 2
    functionLinenumber: 1102
    functionLinenumberEnd: 1117
    functionName: do_encrypted
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 1
    functionsReached:
    - ctb_pkttype
    - write_header
    - log_assert
    linkageType: ''
    returnType: int
    signature: int do_encrypted( IOBUF out, int ctb, PKT_encrypted *ed )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:1133,1
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:1134,1
    - Dst: ctb_pkttype
      Src: /src/gnupg/g10/build-packet.c:1134,1
    - Dst: write_header
      Src: /src/gnupg/g10/build-packet.c:1138,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - out
    - ctb
    - ed
    argTypes:
    - IOBUF
    - int
    - PKT_encrypted*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1127
    functionDepth: 2
    functionLinenumber: 1127
    functionLinenumberEnd: 1144
    functionName: do_encrypted_mdc
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 1
    functionsReached:
    - iobuf_put
    - ctb_pkttype
    - write_header
    - log_assert
    linkageType: ''
    returnType: int
    signature: int do_encrypted_mdc( IOBUF out, int ctb, PKT_encrypted *ed )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:1158,1
    - Dst: ctb_pkttype
      Src: /src/gnupg/g10/build-packet.c:1158,1
    - Dst: write_header
      Src: /src/gnupg/g10/build-packet.c:1161,1
    - Dst: iobuf_writebyte
      Src: /src/gnupg/g10/build-packet.c:1162,1
    - Dst: iobuf_writebyte
      Src: /src/gnupg/g10/build-packet.c:1163,1
    - Dst: iobuf_writebyte
      Src: /src/gnupg/g10/build-packet.c:1164,1
    - Dst: iobuf_writebyte
      Src: /src/gnupg/g10/build-packet.c:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - out
    - ctb
    - ed
    argTypes:
    - iobuf_t
    - int
    - PKT_encrypted*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1153
    functionDepth: 2
    functionLinenumber: 1153
    functionLinenumberEnd: 1170
    functionName: do_encrypted_aead
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 1
    functionsReached:
    - iobuf_writebyte
    - ctb_pkttype
    - write_header
    - log_assert
    linkageType: ''
    returnType: int
    signature: int do_encrypted_aead (iobuf_t out, int ctb, PKT_encrypted *ed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:1183,1
    - Dst: ctb_pkttype
      Src: /src/gnupg/g10/build-packet.c:1183,1
    - Dst: write_header2
      Src: /src/gnupg/g10/build-packet.c:1190,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - out
    - ctb
    - cd
    argTypes:
    - IOBUF
    - int
    - PKT_compressed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1178
    functionDepth: 2
    functionLinenumber: 1178
    functionLinenumberEnd: 1196
    functionName: do_compressed
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 1
    functionsReached:
    - iobuf_put
    - ctb_pkttype
    - write_header2
    - log_assert
    linkageType: ''
    returnType: int
    signature: int do_compressed( IOBUF out, int ctb, PKT_compressed *cd )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: buf32_to_size_t
      Src: /src/gnupg/g10/build-packet.c:1227,1
    - Dst: memmove
      Src: /src/gnupg/g10/build-packet.c:1250,1
    - Dst: log_error
      Src: /src/gnupg/g10/build-packet.c:1260,1
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:1261,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - area
    - reqtype
    argTypes:
    - subpktarea_t*
    - sigsubpkttype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1264
    functionName: delete_sig_subpkt
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 1
    functionsReached:
    - log_error
    - memmove
    - log_assert
    - buf32_to_size_t
    linkageType: ''
    returnType: int
    signature: int delete_sig_subpkt (subpktarea_t *area, sigsubpkttype_t reqtype
      )
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: parse_one_sig_subpkt
      Src: /src/gnupg/g10/build-packet.c:1289,1
    - Dst: BUG
      Src: /src/gnupg/g10/build-packet.c:1290,1
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/build-packet.c:1303,1
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/build-packet.c:1304,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/build-packet.c:1350,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/build-packet.c:1350,1
    - Dst: xrealloc
      Src: /src/gnupg/g10/build-packet.c:1395,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/build-packet.c:1400,1
    - Dst: memcpy
      Src: /src/gnupg/g10/build-packet.c:1414,1
    - Dst: memcpy
      Src: /src/gnupg/g10/build-packet.c:1420,1
    - Dst: memcpy
      Src: /src/gnupg/g10/build-packet.c:1425,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 104
    argCount: 4
    argNames:
    - sig
    - type
    - buffer
    - buflen
    argTypes:
    - PKT_signature*
    - sigsubpkttype_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1276
    functionDepth: 2
    functionLinenumber: 1276
    functionLinenumberEnd: 1432
    functionName: build_sig_subpkt
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 2
    functionsReached:
    - delete_sig_subpkt
    - BUG
    - xrealloc
    - make_timestamp
    - parse_one_sig_subpkt
    - xmalloc
    - buf32_to_u32
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void build_sig_subpkt (PKT_signature *sig, sigsubpkttype_t type,\n\t\t
      \ const byte *buffer, size_t buflen )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/build-packet.c:1464,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/build-packet.c:1468,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/build-packet.c:1472,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/build-packet.c:1481,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/build-packet.c:1500,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/build-packet.c:1505,1
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:1507,1
    - Dst: memcpy
      Src: /src/gnupg/g10/build-packet.c:1514,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/build-packet.c:1516,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - sig
    - pksk
    - signhints
    argTypes:
    - PKT_signature*
    - PKT_public_key*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1440
    functionDepth: 3
    functionLinenumber: 1440
    functionLinenumberEnd: 1520
    functionName: build_sig_subpkt_from_sig
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 0
    functionsReached:
    - log_assert
    - build_sig_subpkt
    - IS_KEY_REV
    - fingerprint_from_pk
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void build_sig_subpkt_from_sig (PKT_signature *sig, PKT_public_key
      *pksk,\n                           unsigned int signhints)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xrealloc
      Src: /src/gnupg/g10/build-packet.c:1539,1
    - Dst: memcpy
      Src: /src/gnupg/g10/build-packet.c:1565,1
    - Dst: memcpy
      Src: /src/gnupg/g10/build-packet.c:1566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 6
    argNames:
    - uid
    - type
    - buf
    - buflen
    - header
    - headerlen
    argTypes:
    - PKT_user_id*
    - byte
    - void*
    - u32
    - void*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1568
    functionName: build_attribute_subpkt
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 1
    functionsReached:
    - xrealloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void build_attribute_subpkt(PKT_user_id *uid,byte type,\n\t\t       const
      void *buf,u32 buflen,\n\t\t       const void *header,u32 headerlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/gnupg/g10/build-packet.c:1583,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/build-packet.c:1589,1
    - Dst: _
      Src: /src/gnupg/g10/build-packet.c:1589,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/build-packet.c:1594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - notation
    argTypes:
    - struct notation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1572
    functionDepth: 1
    functionLinenumber: 1572
    functionLinenumberEnd: 1595
    functionName: notation_value_to_human_readable_string
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 0
    functionsReached:
    - xasprintf
    - isprint
    - _
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      notation_value_to_human_readable_string (struct notation *notation)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/build-packet.c:1614,1
    - Dst: isascii
      Src: /src/gnupg/g10/build-packet.c:1640,1
    - Dst: isgraph
      Src: /src/gnupg/g10/build-packet.c:1640,1
    - Dst: isspace
      Src: /src/gnupg/g10/build-packet.c:1640,1
    - Dst: log_error
      Src: /src/gnupg/g10/build-packet.c:1642,1
    - Dst: _
      Src: /src/gnupg/g10/build-packet.c:1642,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/build-packet.c:1648,1
    - Dst: memcpy
      Src: /src/gnupg/g10/build-packet.c:1649,1
    - Dst: log_error
      Src: /src/gnupg/g10/build-packet.c:1654,1
    - Dst: _
      Src: /src/gnupg/g10/build-packet.c:1654,1
    - Dst: log_error
      Src: /src/gnupg/g10/build-packet.c:1660,1
    - Dst: _
      Src: /src/gnupg/g10/build-packet.c:1660,1
    - Dst: isascii
      Src: /src/gnupg/g10/build-packet.c:1674,1
    - Dst: iscntrl
      Src: /src/gnupg/g10/build-packet.c:1676,1
    - Dst: log_error
      Src: /src/gnupg/g10/build-packet.c:1678,1
    - Dst: _
      Src: /src/gnupg/g10/build-packet.c:1678,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/build-packet.c:1685,1
    - Dst: native_to_utf8
      Src: /src/gnupg/g10/build-packet.c:1687,1
    - Dst: free_notation
      Src: /src/gnupg/g10/build-packet.c:1693,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 2
    argNames:
    - string
    - is_utf8
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1607
    functionDepth: 1
    functionLinenumber: 1607
    functionLinenumberEnd: 1695
    functionName: string_to_notation
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 2
    functionsReached:
    - free_notation
    - log_error
    - isgraph
    - _
    - iscntrl
    - xmalloc
    - isspace
    - xstrdup
    - xmalloc_clear
    - memcpy
    - native_to_utf8
    - isascii
    linkageType: ''
    returnType: struct notation
    signature: 'struct notation *

      string_to_notation (const char *string, int is_utf8)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc
      Src: /src/gnupg/g10/build-packet.c:1706,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/build-packet.c:1707,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/build-packet.c:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1701
    functionDepth: 0
    functionLinenumber: 1701
    functionLinenumberEnd: 1710
    functionName: name_value_to_notation
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 0
    functionsReached:
    - xstrdup
    - xcalloc
    linkageType: ''
    returnType: struct notation
    signature: 'struct notation *

      name_value_to_notation (const char *name, const char *value)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/build-packet.c:1722,1
    - Dst: log_error
      Src: /src/gnupg/g10/build-packet.c:1750,1
    - Dst: _
      Src: /src/gnupg/g10/build-packet.c:1750,1
    - Dst: isascii
      Src: /src/gnupg/g10/build-packet.c:1754,1
    - Dst: isgraph
      Src: /src/gnupg/g10/build-packet.c:1754,1
    - Dst: isspace
      Src: /src/gnupg/g10/build-packet.c:1754,1
    - Dst: log_error
      Src: /src/gnupg/g10/build-packet.c:1756,1
    - Dst: _
      Src: /src/gnupg/g10/build-packet.c:1756,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/build-packet.c:1762,1
    - Dst: log_error
      Src: /src/gnupg/g10/build-packet.c:1766,1
    - Dst: _
      Src: /src/gnupg/g10/build-packet.c:1766,1
    - Dst: log_error
      Src: /src/gnupg/g10/build-packet.c:1772,1
    - Dst: _
      Src: /src/gnupg/g10/build-packet.c:1772,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/build-packet.c:1777,1
    - Dst: memcpy
      Src: /src/gnupg/g10/build-packet.c:1778,1
    - Dst: notation_value_to_human_readable_string
      Src: /src/gnupg/g10/build-packet.c:1781,1
    - Dst: free_notation
      Src: /src/gnupg/g10/build-packet.c:1786,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 3
    argNames:
    - name
    - data
    - len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1715
    functionDepth: 2
    functionLinenumber: 1715
    functionLinenumberEnd: 1788
    functionName: blob_to_notation
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 0
    functionsReached:
    - free_notation
    - log_error
    - isgraph
    - _
    - xmalloc
    - notation_value_to_human_readable_string
    - isspace
    - xstrdup
    - xmalloc_clear
    - memcpy
    - isascii
    linkageType: ''
    returnType: struct notation
    signature: 'struct notation *

      blob_to_notation(const char *name, const char *data, size_t len)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: enum_sig_subpkt
      Src: /src/gnupg/g10/build-packet.c:1808,1
    - Dst: log_info
      Src: /src/gnupg/g10/build-packet.c:1815,1
    - Dst: _
      Src: /src/gnupg/g10/build-packet.c:1815,1
    - Dst: log_info
      Src: /src/gnupg/g10/build-packet.c:1826,1
    - Dst: _
      Src: /src/gnupg/g10/build-packet.c:1826,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/build-packet.c:1830,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/build-packet.c:1831,1
    - Dst: memcpy
      Src: /src/gnupg/g10/build-packet.c:1833,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/build-packet.c:1839,1
    - Dst: memcpy
      Src: /src/gnupg/g10/build-packet.c:1840,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/build-packet.c:1847,1
    - Dst: memcpy
      Src: /src/gnupg/g10/build-packet.c:1849,1
    - Dst: notation_value_to_human_readable_string
      Src: /src/gnupg/g10/build-packet.c:1851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - sig
    argTypes:
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1790
    functionDepth: 2
    functionLinenumber: 1790
    functionLinenumberEnd: 1861
    functionName: sig_to_notation
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 4
    functionsReached:
    - _
    - xmalloc
    - log_info
    - memcpy
    - notation_value_to_human_readable_string
    - xmalloc_clear
    - enum_sig_subpkt
    linkageType: ''
    returnType: struct notation
    signature: 'struct notation *

      sig_to_notation(PKT_signature *sig)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: enum_sig_subpkt
      Src: /src/gnupg/g10/build-packet.c:1878,1
    - Dst: log_info
      Src: /src/gnupg/g10/build-packet.c:1885,1
    - Dst: _
      Src: /src/gnupg/g10/build-packet.c:1885,1
    - Dst: log_info
      Src: /src/gnupg/g10/build-packet.c:1896,1
    - Dst: _
      Src: /src/gnupg/g10/build-packet.c:1896,1
    - Dst: strlen
      Src: /src/gnupg/g10/build-packet.c:1902,1
    - Dst: memcmp
      Src: /src/gnupg/g10/build-packet.c:1902,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/build-packet.c:1906,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/build-packet.c:1907,1
    - Dst: memcpy
      Src: /src/gnupg/g10/build-packet.c:1909,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/build-packet.c:1913,1
    - Dst: memcpy
      Src: /src/gnupg/g10/build-packet.c:1914,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - sig
    - name
    argTypes:
    - PKT_signature*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1869
    functionDepth: 1
    functionLinenumber: 1869
    functionLinenumberEnd: 1926
    functionName: search_sig_notations
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 1
    functionsReached:
    - strlen
    - _
    - xmalloc
    - memcmp
    - log_info
    - memcpy
    - xmalloc_clear
    - enum_sig_subpkt
    linkageType: ''
    returnType: struct notation
    signature: 'struct notation *

      search_sig_notations (PKT_signature *sig, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/build-packet.c:1939,1
    - Dst: xfree
      Src: /src/gnupg/g10/build-packet.c:1940,1
    - Dst: xfree
      Src: /src/gnupg/g10/build-packet.c:1941,1
    - Dst: xfree
      Src: /src/gnupg/g10/build-packet.c:1942,1
    - Dst: xfree
      Src: /src/gnupg/g10/build-packet.c:1944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - notation
    argTypes:
    - struct notation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1932
    functionDepth: 0
    functionLinenumber: 1932
    functionLinenumberEnd: 1946
    functionName: free_notation
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 7
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void free_notation(struct notation *notation)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_temp
      Src: /src/gnupg/g10/build-packet.c:1955,1
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:1957,1
    - Dst: ctb_pkttype
      Src: /src/gnupg/g10/build-packet.c:1957,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:1961,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/build-packet.c:1967,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:1971,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:1973,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:1974,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:1977,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:1978,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:1979,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:1981,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:1982,1
    - Dst: write_16
      Src: /src/gnupg/g10/build-packet.c:1990,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:1992,1
    - Dst: write_16
      Src: /src/gnupg/g10/build-packet.c:1994,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/build-packet.c:1996,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:1998,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:1999,1
    - Dst: pubkey_get_nsig
      Src: /src/gnupg/g10/build-packet.c:2000,1
    - Dst: write_fake_data
      Src: /src/gnupg/g10/build-packet.c:2002,1
    - Dst: sos_write
      Src: /src/gnupg/g10/build-packet.c:2006,1
    - Dst: gpg_mpi_write
      Src: /src/gnupg/g10/build-packet.c:2009,1
    - Dst: is_RSA
      Src: /src/gnupg/g10/build-packet.c:2013,1
    - Dst: write_sign_packet_header
      Src: /src/gnupg/g10/build-packet.c:2014,1
    - Dst: iobuf_get_temp_length
      Src: /src/gnupg/g10/build-packet.c:2014,1
    - Dst: write_header
      Src: /src/gnupg/g10/build-packet.c:2016,1
    - Dst: iobuf_get_temp_length
      Src: /src/gnupg/g10/build-packet.c:2016,1
    - Dst: iobuf_write_temp
      Src: /src/gnupg/g10/build-packet.c:2017,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/build-packet.c:2020,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 3
    argNames:
    - out
    - ctb
    - sig
    argTypes:
    - IOBUF
    - int
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 1950
    functionDepth: 2
    functionLinenumber: 1950
    functionLinenumberEnd: 2022
    functionName: do_signature
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 1
    functionsReached:
    - is_RSA
    - sos_write
    - write_sign_packet_header
    - write_header
    - iobuf_write_temp
    - ctb_pkttype
    - log_assert
    - write_32
    - pubkey_get_nsig
    - log_fatal
    - write_16
    - gpg_mpi_write
    - iobuf_close
    - iobuf_temp
    - iobuf_get_temp_length
    - iobuf_put
    - write_fake_data
    - iobuf_write
    linkageType: ''
    returnType: int
    signature: int do_signature( IOBUF out, int ctb, PKT_signature *sig )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:2030,1
    - Dst: ctb_pkttype
      Src: /src/gnupg/g10/build-packet.c:2030,1
    - Dst: write_header
      Src: /src/gnupg/g10/build-packet.c:2032,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2034,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2035,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2036,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2037,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:2038,1
    - Dst: write_32
      Src: /src/gnupg/g10/build-packet.c:2039,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - out
    - ctb
    - ops
    argTypes:
    - IOBUF
    - int
    - PKT_onepass_sig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2027
    functionDepth: 2
    functionLinenumber: 2027
    functionLinenumberEnd: 2043
    functionName: do_onepass_sig
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 1
    functionsReached:
    - write_header
    - ctb_pkttype
    - write_32
    - log_assert
    - iobuf_put
    linkageType: ''
    returnType: int
    signature: int do_onepass_sig( IOBUF out, int ctb, PKT_onepass_sig *ops )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2050,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - IOBUF
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2047
    functionDepth: 1
    functionLinenumber: 2047
    functionLinenumberEnd: 2054
    functionName: write_16
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 2
    functionsReached:
    - iobuf_put
    linkageType: ''
    returnType: int
    signature: int write_16(IOBUF out, u16 a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2060,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2061,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2062,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - IOBUF
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2064
      start: 2057
    functionDepth: 1
    functionLinenumber: 2057
    functionLinenumberEnd: 2064
    functionName: write_32
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 7
    functionsReached:
    - iobuf_put
    linkageType: ''
    returnType: int
    signature: int write_32(IOBUF out, u32 a)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - len
    - new_ctb
    argTypes:
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2077
    functionDepth: 0
    functionLinenumber: 2077
    functionLinenumberEnd: 2094
    functionName: calc_header_length
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int calc_header_length( u32 len, int new_ctb )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_header2
      Src: /src/gnupg/g10/build-packet.c:2102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - ctb
    - len
    argTypes:
    - IOBUF
    - int
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2099
    functionDepth: 1
    functionLinenumber: 2099
    functionLinenumberEnd: 2103
    functionName: write_header
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 10
    functionsReached:
    - write_header2
    linkageType: ''
    returnType: int
    signature: int write_header( IOBUF out, int ctb, u32 len )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2114,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2115,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - out
    - ctb
    - len
    argTypes:
    - IOBUF
    - int
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2106
    functionDepth: 1
    functionLinenumber: 2106
    functionLinenumberEnd: 2117
    functionName: write_sign_packet_header
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 1
    functionsReached:
    - iobuf_put
    linkageType: ''
    returnType: int
    signature: int write_sign_packet_header (IOBUF out, int ctb, u32 len)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ctb_new_format_p
      Src: /src/gnupg/g10/build-packet.c:2144,1
    - Dst: write_new_header
      Src: /src/gnupg/g10/build-packet.c:2145,1
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:2152,1
    - Dst: log_assert
      Src: /src/gnupg/g10/build-packet.c:2154,1
    - Dst: log_bug
      Src: /src/gnupg/g10/build-packet.c:2171,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2190,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2197,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2199,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2204,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2207,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 38
    argCount: 4
    argNames:
    - out
    - ctb
    - len
    - hdrlen
    argTypes:
    - IOBUF
    - int
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2141
    functionDepth: 1
    functionLinenumber: 2141
    functionLinenumberEnd: 2212
    functionName: write_header2
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 4
    functionsReached:
    - write_new_header
    - log_assert
    - log_bug
    - ctb_new_format_p
    - iobuf_put
    linkageType: ''
    returnType: int
    signature: int write_header2( IOBUF out, int ctb, u32 len, int hdrlen )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/gnupg/g10/build-packet.c:2233,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2235,1
    - Dst: iobuf_set_partial_body_length_mode
      Src: /src/gnupg/g10/build-packet.c:2238,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2242,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2247,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2249,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2253,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2255,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2257,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2259,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/build-packet.c:2261,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 4
    argNames:
    - out
    - ctb
    - len
    - hdrlen
    argTypes:
    - IOBUF
    - int
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2229
    functionDepth: 1
    functionLinenumber: 2229
    functionLinenumberEnd: 2266
    functionName: write_new_header
    functionSourceFile: /src/gnupg/g10/build-packet.c
    functionUses: 2
    functionsReached:
    - iobuf_put
    - log_bug
    - iobuf_set_partial_body_length_mode
    linkageType: ''
    returnType: int
    signature: int write_new_header( IOBUF out, int ctb, u32 len, int hdrlen )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: rol
    functionSourceFile: /src/gnupg/g10/rmd160.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 rol (u32 x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: rol
    functionSourceFile: /src/gnupg/g10/rmd160.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rol(x,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - hd
    argTypes:
    - rmd160_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: rmd160_init
    functionSourceFile: /src/gnupg/g10/rmd160.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rmd160_init (rmd160_context_t *hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/g10/rmd160.c:104,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:134,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:135,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:136,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:137,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:138,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:139,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:140,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:141,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:142,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:143,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:144,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:145,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:146,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:147,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:148,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:149,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:150,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:151,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:152,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:153,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:154,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:155,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:156,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:157,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:158,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:159,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:160,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:161,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:162,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:163,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:164,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:165,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:166,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:167,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:168,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:169,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:170,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:171,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:172,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:173,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:174,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:175,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:176,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:177,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:178,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:179,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:180,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:181,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:182,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:183,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:184,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:185,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:186,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:187,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:188,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:189,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:190,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:191,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:192,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:193,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:194,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:195,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:196,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:197,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:198,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:199,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:200,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:201,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:202,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:203,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:204,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:205,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:206,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:207,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:208,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:209,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:210,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:211,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:212,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:213,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:223,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:224,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:225,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:226,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:227,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:228,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:229,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:230,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:231,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:232,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:233,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:234,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:235,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:236,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:237,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:238,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:239,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:240,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:241,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:242,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:243,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:244,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:245,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:246,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:247,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:248,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:249,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:250,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:251,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:252,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:253,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:254,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:255,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:256,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:257,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:258,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:259,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:260,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:261,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:262,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:263,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:264,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:265,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:266,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:267,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:268,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:269,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:270,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:271,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:272,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:273,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:274,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:275,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:276,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:277,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:278,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:279,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:280,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:281,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:282,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:283,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:284,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:285,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:286,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:287,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:288,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:289,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:290,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:291,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:292,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:293,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:294,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:295,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:296,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:297,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:298,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:299,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:300,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:301,1
    - Dst: R
      Src: /src/gnupg/g10/rmd160.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 190
    argCount: 2
    argNames:
    - hd
    - data
    argTypes:
    - rmd160_context_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 311
    functionName: transform
    functionSourceFile: /src/gnupg/g10/rmd160.c
    functionUses: 0
    functionsReached:
    - R
    - memcpy
    linkageType: ''
    returnType: void
    signature: void transform (rmd160_context_t *hd, const unsigned char *data)
  - 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: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: F0
    functionSourceFile: /src/gnupg/g10/rmd160.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F0(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: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: F1
    functionSourceFile: /src/gnupg/g10/rmd160.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F1(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: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: F2
    functionSourceFile: /src/gnupg/g10/rmd160.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F2(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: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: F3
    functionSourceFile: /src/gnupg/g10/rmd160.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F3(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: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: F4
    functionSourceFile: /src/gnupg/g10/rmd160.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F4(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - k
    - ','
    - r
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: R
    functionSourceFile: /src/gnupg/g10/rmd160.c
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(a,b,c,d,e,f,k,r,s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transform
      Src: /src/gnupg/g10/rmd160.c:321,1
    - Dst: rmd160_write
      Src: /src/gnupg/g10/rmd160.c:332,1
    - Dst: transform
      Src: /src/gnupg/g10/rmd160.c:339,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - hd
    - inbuf
    - inlen
    argTypes:
    - rmd160_context_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 347
    functionName: rmd160_write
    functionSourceFile: /src/gnupg/g10/rmd160.c
    functionUses: 1
    functionsReached:
    - transform
    - rmd160_write
    linkageType: ''
    returnType: void
    signature: void rmd160_write (rmd160_context_t *hd, const unsigned char *inbuf,
      size_t inlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rmd160_write
      Src: /src/gnupg/g10/rmd160.c:357,1
    - Dst: rmd160_write
      Src: /src/gnupg/g10/rmd160.c:386,1
    - Dst: memset
      Src: /src/gnupg/g10/rmd160.c:387,1
    - Dst: transform
      Src: /src/gnupg/g10/rmd160.c:398,1
    - Dst: X
      Src: /src/gnupg/g10/rmd160.c:403,1
    - Dst: X
      Src: /src/gnupg/g10/rmd160.c:404,1
    - Dst: X
      Src: /src/gnupg/g10/rmd160.c:405,1
    - Dst: X
      Src: /src/gnupg/g10/rmd160.c:406,1
    - Dst: X
      Src: /src/gnupg/g10/rmd160.c:407,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 1
    argNames:
    - hd
    argTypes:
    - rmd160_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 409
    functionName: rmd160_final
    functionSourceFile: /src/gnupg/g10/rmd160.c
    functionUses: 0
    functionsReached:
    - transform
    - X
    - rmd160_write
    - memset
    linkageType: ''
    returnType: void
    signature: void rmd160_final( rmd160_context_t *hd )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: X
    functionSourceFile: /src/gnupg/g10/rmd160.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rmd160_init
      Src: /src/gnupg/g10/rmd160.c:421,1
    - Dst: rmd160_write
      Src: /src/gnupg/g10/rmd160.c:422,1
    - Dst: rmd160_final
      Src: /src/gnupg/g10/rmd160.c:423,1
    - Dst: memcpy
      Src: /src/gnupg/g10/rmd160.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - outbuf
    - buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: rmd160_hash_buffer
    functionSourceFile: /src/gnupg/g10/rmd160.c
    functionUses: 0
    functionsReached:
    - rmd160_write
    - memcpy
    - rmd160_init
    - rmd160_final
    linkageType: ''
    returnType: void
    signature: void rmd160_hash_buffer (void *outbuf, const void *buffer, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/g10/cpr.c:55,1
    - Dst: snprintf
      Src: /src/gnupg/g10/cpr.c:56,1
    - Dst: snprintf
      Src: /src/gnupg/g10/cpr.c:58,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/cpr.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - ctx
    - what
    - printchar
    - current
    - total
    argTypes:
    - void*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: progress_cb
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 0
    functionsReached:
    - strcmp
    - snprintf
    - write_status_text
    linkageType: ''
    returnType: void
    signature: "void progress_cb (void *ctx, const char *what, int printchar,\n             int
      current, int total)"
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - 'no'
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 93
    functionName: status_currently_allowed
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int status_currently_allowed (int no)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: es_fclose
      Src: /src/gnupg/g10/cpr.c:105,1
    - Dst: gnupg_fd_valid
      Src: /src/gnupg/g10/cpr.c:110,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/cpr.c:111,1
    - Dst: strerror
      Src: /src/gnupg/g10/cpr.c:111,1
    - Dst: es_fdopen
      Src: /src/gnupg/g10/cpr.c:118,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/cpr.c:121,1
    - Dst: strerror
      Src: /src/gnupg/g10/cpr.c:122,1
    - Dst: gcry_set_progress_handler
      Src: /src/gnupg/g10/cpr.c:126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 127
    functionName: set_status_fd
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 6
    functionsReached:
    - es_fclose
    - log_fatal
    - gnupg_fd_valid
    - es_fdopen
    - strerror
    - gcry_set_progress_handler
    linkageType: ''
    returnType: void
    signature: void set_status_fd (int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: is_status_enabled
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_status_enabled (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_status_text
      Src: /src/gnupg/g10/cpr.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - 'no'
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: write_status
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 10
    functionsReached:
    - write_status_text
    linkageType: ''
    returnType: void
    signature: void write_status ( int no )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: status_currently_allowed
      Src: /src/gnupg/g10/cpr.c:153,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/cpr.c:156,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/cpr.c:157,1
    - Dst: get_status_string
      Src: /src/gnupg/g10/cpr.c:157,1
    - Dst: es_putc
      Src: /src/gnupg/g10/cpr.c:160,1
    - Dst: va_start
      Src: /src/gnupg/g10/cpr.c:161,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/cpr.c:168,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/cpr.c:170,1
    - Dst: es_fputc
      Src: /src/gnupg/g10/cpr.c:172,1
    - Dst: va_arg
      Src: /src/gnupg/g10/cpr.c:175,1
    - Dst: va_end
      Src: /src/gnupg/g10/cpr.c:176,1
    - Dst: es_putc
      Src: /src/gnupg/g10/cpr.c:178,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/cpr.c:179,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/cpr.c:180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - 'no'
    - text
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 181
    functionName: write_status_strings
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 5
    functionsReached:
    - va_end
    - status_currently_allowed
    - es_fputc
    - es_putc
    - get_status_string
    - va_start
    - va_arg
    - g10_exit
    - es_fflush
    - es_fputs
    linkageType: ''
    returnType: void
    signature: void write_status_strings (int no, const char *text, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: status_currently_allowed
      Src: /src/gnupg/g10/cpr.c:196,1
    - Dst: va_start
      Src: /src/gnupg/g10/cpr.c:199,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/cpr.c:201,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/cpr.c:202,1
    - Dst: get_status_string
      Src: /src/gnupg/g10/cpr.c:202,1
    - Dst: va_arg
      Src: /src/gnupg/g10/cpr.c:203,1
    - Dst: es_putc
      Src: /src/gnupg/g10/cpr.c:206,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/cpr.c:210,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/cpr.c:212,1
    - Dst: es_fputc
      Src: /src/gnupg/g10/cpr.c:214,1
    - Dst: es_putc
      Src: /src/gnupg/g10/cpr.c:217,1
    - Dst: va_end
      Src: /src/gnupg/g10/cpr.c:219,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/cpr.c:221,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/cpr.c:222,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - dummy
    - 'no'
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 225
    functionName: write_status_strings2
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 0
    functionsReached:
    - va_end
    - status_currently_allowed
    - es_fputc
    - es_putc
    - get_status_string
    - va_start
    - va_arg
    - g10_exit
    - es_fflush
    - es_fputs
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_status_strings2 (ctrl_t dummy, int no, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_status_strings
      Src: /src/gnupg/g10/cpr.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - 'no'
    - text
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: write_status_text
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 24
    functionsReached:
    - write_status_strings
    linkageType: ''
    returnType: void
    signature: void write_status_text (int no, const char *text)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: status_currently_allowed
      Src: /src/gnupg/g10/cpr.c:243,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/cpr.c:246,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/cpr.c:247,1
    - Dst: get_status_string
      Src: /src/gnupg/g10/cpr.c:247,1
    - Dst: es_putc
      Src: /src/gnupg/g10/cpr.c:250,1
    - Dst: va_start
      Src: /src/gnupg/g10/cpr.c:251,1
    - Dst: gpgrt_vbsprintf
      Src: /src/gnupg/g10/cpr.c:252,1
    - Dst: log_error
      Src: /src/gnupg/g10/cpr.c:254,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/cpr.c:255,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/g10/cpr.c:255,1
    - Dst: strpbrk
      Src: /src/gnupg/g10/cpr.c:258,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/cpr.c:264,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/cpr.c:266,1
    - Dst: es_fputc
      Src: /src/gnupg/g10/cpr.c:268,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/cpr.c:272,1
    - Dst: gpgrt_free
      Src: /src/gnupg/g10/cpr.c:273,1
    - Dst: va_end
      Src: /src/gnupg/g10/cpr.c:276,1
    - Dst: es_putc
      Src: /src/gnupg/g10/cpr.c:278,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/cpr.c:279,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/cpr.c:280,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - 'no'
    - format
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 281
    functionName: write_status_printf
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 1
    functionsReached:
    - strpbrk
    - va_end
    - status_currently_allowed
    - gpg_err_code_from_syserror
    - log_error
    - es_fputc
    - es_putc
    - get_status_string
    - gpg_strerror
    - va_start
    - gpgrt_vbsprintf
    - gpgrt_free
    - g10_exit
    - es_fflush
    - es_fputs
    linkageType: ''
    returnType: void
    signature: void write_status_printf (int no, const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: status_currently_allowed
      Src: /src/gnupg/g10/cpr.c:287,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/cpr.c:290,1
    - Dst: get_status_string
      Src: /src/gnupg/g10/cpr.c:291,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/cpr.c:292,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/cpr.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - where
    - err
    argTypes:
    - char*
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: write_status_warning
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 1
    functionsReached:
    - es_fprintf
    - status_currently_allowed
    - get_status_string
    - g10_exit
    - es_fflush
    linkageType: ''
    returnType: void
    signature: void write_status_warning (const char *where, gpg_error_t err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: status_currently_allowed
      Src: /src/gnupg/g10/cpr.c:301,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/cpr.c:304,1
    - Dst: get_status_string
      Src: /src/gnupg/g10/cpr.c:305,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/cpr.c:306,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/cpr.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - where
    - err
    argTypes:
    - char*
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 308
    functionName: write_status_error
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 30
    functionsReached:
    - es_fprintf
    - status_currently_allowed
    - get_status_string
    - g10_exit
    - es_fflush
    linkageType: ''
    returnType: void
    signature: void write_status_error (const char *where, gpg_error_t err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: status_currently_allowed
      Src: /src/gnupg/g10/cpr.c:315,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/cpr.c:318,1
    - Dst: get_status_string
      Src: /src/gnupg/g10/cpr.c:319,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/cpr.c:319,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/cpr.c:320,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/cpr.c:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - where
    - errcode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 322
    functionName: write_status_errcode
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 1
    functionsReached:
    - es_fprintf
    - status_currently_allowed
    - get_status_string
    - gpg_err_code
    - g10_exit
    - es_fflush
    linkageType: ''
    returnType: void
    signature: void write_status_errcode (const char *where, int errcode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: status_currently_allowed
      Src: /src/gnupg/g10/cpr.c:331,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/cpr.c:336,1
    - Dst: get_status_string
      Src: /src/gnupg/g10/cpr.c:337,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/cpr.c:338,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/cpr.c:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - where
    - err
    argTypes:
    - char*
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 340
    functionName: write_status_failure
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 3
    functionsReached:
    - es_fprintf
    - status_currently_allowed
    - get_status_string
    - g10_exit
    - es_fflush
    linkageType: ''
    returnType: void
    signature: void write_status_failure (const char *where, gpg_error_t err)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: status_currently_allowed
      Src: /src/gnupg/g10/cpr.c:359,1
    - Dst: get_status_string
      Src: /src/gnupg/g10/cpr.c:370,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/cpr.c:376,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/cpr.c:380,1
    - Dst: strlen
      Src: /src/gnupg/g10/cpr.c:381,1
    - Dst: strlen
      Src: /src/gnupg/g10/cpr.c:383,1
    - Dst: es_putc
      Src: /src/gnupg/g10/cpr.c:385,1
    - Dst: es_fwrite
      Src: /src/gnupg/g10/cpr.c:402,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/cpr.c:405,1
    - Dst: es_putc
      Src: /src/gnupg/g10/cpr.c:411,1
    - Dst: es_putc
      Src: /src/gnupg/g10/cpr.c:415,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/cpr.c:416,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/cpr.c:417,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 47
    argCount: 5
    argNames:
    - 'no'
    - string
    - buffer
    - len
    - wrap
    argTypes:
    - int
    - char*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 418
    functionName: write_status_text_and_buffer
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 4
    functionsReached:
    - es_fprintf
    - status_currently_allowed
    - strlen
    - es_putc
    - get_status_string
    - es_fwrite
    - g10_exit
    - es_fflush
    - es_fputs
    linkageType: ''
    returnType: void
    signature: "void write_status_text_and_buffer (int no, const char *string,\n                              const
      char *buffer, size_t len, int wrap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_status_text_and_buffer
      Src: /src/gnupg/g10/cpr.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - 'no'
    - buffer
    - len
    - wrap
    argTypes:
    - int
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 425
    functionName: write_status_buffer
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 3
    functionsReached:
    - write_status_text_and_buffer
    linkageType: ''
    returnType: void
    signature: void write_status_buffer (int no, const char *buffer, size_t len, int
      wrap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: map_md_openpgp_to_gcry
      Src: /src/gnupg/g10/cpr.c:442,1
    - Dst: gcry_md_is_enabled
      Src: /src/gnupg/g10/cpr.c:443,1
    - Dst: DIM
      Src: /src/gnupg/g10/cpr.c:443,1
    - Dst: snprintf
      Src: /src/gnupg/g10/cpr.c:445,1
    - Dst: DIM
      Src: /src/gnupg/g10/cpr.c:445,1
    - Dst: strlen
      Src: /src/gnupg/g10/cpr.c:447,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/cpr.c:450,1
    - Dst: write_status
      Src: /src/gnupg/g10/cpr.c:453,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - md
    argTypes:
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 430
    functionDepth: 3
    functionLinenumber: 430
    functionLinenumberEnd: 454
    functionName: write_status_begin_signing
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 0
    functionsReached:
    - strlen
    - write_status_text
    - snprintf
    - DIM
    - write_status
    - map_md_openpgp_to_gcry
    - gcry_md_is_enabled
    linkageType: ''
    returnType: void
    signature: void write_status_begin_signing (gcry_md_hd_t md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/gnupg/g10/cpr.c:463,1
    - Dst: raise
      Src: /src/gnupg/g10/cpr.c:479,1
    - Dst: raise
      Src: /src/gnupg/g10/cpr.c:481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 486
    functionName: myread
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 0
    functionsReached:
    - raise
    - read
    linkageType: ''
    returnType: int
    signature: int myread(int fd, void *buf, size_t count)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: es_fflush
      Src: /src/gnupg/g10/cpr.c:500,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/cpr.c:502,1
    - Dst: xmalloc_secure
      Src: /src/gnupg/g10/cpr.c:514,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/cpr.c:514,1
    - Dst: memcpy
      Src: /src/gnupg/g10/cpr.c:517,1
    - Dst: xfree
      Src: /src/gnupg/g10/cpr.c:518,1
    - Dst: myread
      Src: /src/gnupg/g10/cpr.c:524,1
    - Dst: write_status
      Src: /src/gnupg/g10/cpr.c:536,1
    - Dst: xfree
      Src: /src/gnupg/g10/cpr.c:541,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - keyword
    - hidden
    - getbool
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 546
    functionName: do_get_from_fd
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 0
    functionsReached:
    - write_status_text
    - xmalloc
    - write_status
    - xfree
    - memcpy
    - es_fflush
    - xmalloc_secure
    - myread
    linkageType: ''
    returnType: char
    signature: 'char *

      do_get_from_fd ( const char *keyword, int hidden, int getbool )'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 556
    functionName: cpr_enabled
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cpr_enabled(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_get_from_fd
      Src: /src/gnupg/g10/cpr.c:564,1
    - Dst: tty_get
      Src: /src/gnupg/g10/cpr.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - keyword
    - prompt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 558
    functionDepth: 4
    functionLinenumber: 558
    functionLinenumberEnd: 569
    functionName: cpr_get_no_help
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 2
    functionsReached:
    - do_get_from_fd
    - tty_get
    linkageType: ''
    returnType: char
    signature: 'char *

      cpr_get_no_help( const char *keyword, const char *prompt )'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_get_from_fd
      Src: /src/gnupg/g10/cpr.c:577,1
    - Dst: tty_get
      Src: /src/gnupg/g10/cpr.c:579,1
    - Dst: xfree
      Src: /src/gnupg/g10/cpr.c:581,1
    - Dst: display_online_help
      Src: /src/gnupg/g10/cpr.c:582,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - keyword
    - prompt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 571
    functionDepth: 4
    functionLinenumber: 571
    functionLinenumberEnd: 587
    functionName: cpr_get
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 4
    functionsReached:
    - do_get_from_fd
    - xfree
    - display_online_help
    - tty_get
    linkageType: ''
    returnType: char
    signature: 'char *

      cpr_get( const char *keyword, const char *prompt )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpr_get
      Src: /src/gnupg/g10/cpr.c:594,1
    - Dst: native_to_utf8
      Src: /src/gnupg/g10/cpr.c:596,1
    - Dst: xfree
      Src: /src/gnupg/g10/cpr.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - keyword
    - prompt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 590
    functionDepth: 5
    functionLinenumber: 590
    functionLinenumberEnd: 601
    functionName: cpr_get_utf8
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 5
    functionsReached:
    - xfree
    - native_to_utf8
    - cpr_get
    linkageType: ''
    returnType: char
    signature: 'char *

      cpr_get_utf8( const char *keyword, const char *prompt )'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_get_from_fd
      Src: /src/gnupg/g10/cpr.c:609,1
    - Dst: tty_get_hidden
      Src: /src/gnupg/g10/cpr.c:611,1
    - Dst: xfree
      Src: /src/gnupg/g10/cpr.c:613,1
    - Dst: display_online_help
      Src: /src/gnupg/g10/cpr.c:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - keyword
    - prompt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 603
    functionDepth: 4
    functionLinenumber: 603
    functionLinenumberEnd: 619
    functionName: cpr_get_hidden
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 0
    functionsReached:
    - tty_get_hidden
    - do_get_from_fd
    - xfree
    - display_online_help
    linkageType: ''
    returnType: char
    signature: 'char *

      cpr_get_hidden( const char *keyword, const char *prompt )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tty_kill_prompt
      Src: /src/gnupg/g10/cpr.c:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 628
    functionName: cpr_kill_prompt
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 5
    functionsReached:
    - tty_kill_prompt
    linkageType: ''
    returnType: void
    signature: void cpr_kill_prompt(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_get_from_fd
      Src: /src/gnupg/g10/cpr.c:637,1
    - Dst: tty_get
      Src: /src/gnupg/g10/cpr.c:639,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/cpr.c:640,1
    - Dst: xfree
      Src: /src/gnupg/g10/cpr.c:642,1
    - Dst: display_online_help
      Src: /src/gnupg/g10/cpr.c:643,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/g10/cpr.c:646,1
    - Dst: answer_is_yes_no_default
      Src: /src/gnupg/g10/cpr.c:647,1
    - Dst: xfree
      Src: /src/gnupg/g10/cpr.c:648,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - keyword
    - prompt
    - def_yes
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 630
    functionDepth: 4
    functionLinenumber: 630
    functionLinenumberEnd: 652
    functionName: cpr_get_answer_is_yes_def
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 0
    functionsReached:
    - answer_is_yes_no_default
    - tty_kill_prompt
    - do_get_from_fd
    - trim_spaces
    - tty_get
    - xfree
    - display_online_help
    linkageType: ''
    returnType: int
    signature: int cpr_get_answer_is_yes_def (const char *keyword, const char *prompt,
      int def_yes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpr_get_answer_is_yes_def
      Src: /src/gnupg/g10/cpr.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keyword
    - prompt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 654
    functionDepth: 5
    functionLinenumber: 654
    functionLinenumberEnd: 658
    functionName: cpr_get_answer_is_yes
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 13
    functionsReached:
    - cpr_get_answer_is_yes_def
    linkageType: ''
    returnType: int
    signature: int cpr_get_answer_is_yes (const char *keyword, const char *prompt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_get_from_fd
      Src: /src/gnupg/g10/cpr.c:667,1
    - Dst: tty_get
      Src: /src/gnupg/g10/cpr.c:669,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/cpr.c:670,1
    - Dst: xfree
      Src: /src/gnupg/g10/cpr.c:672,1
    - Dst: display_online_help
      Src: /src/gnupg/g10/cpr.c:673,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/g10/cpr.c:676,1
    - Dst: answer_is_yes_no_quit
      Src: /src/gnupg/g10/cpr.c:677,1
    - Dst: xfree
      Src: /src/gnupg/g10/cpr.c:678,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - keyword
    - prompt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 660
    functionDepth: 4
    functionLinenumber: 660
    functionLinenumberEnd: 682
    functionName: cpr_get_answer_yes_no_quit
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 2
    functionsReached:
    - answer_is_yes_no_quit
    - tty_kill_prompt
    - do_get_from_fd
    - trim_spaces
    - tty_get
    - xfree
    - display_online_help
    linkageType: ''
    returnType: int
    signature: int cpr_get_answer_yes_no_quit( const char *keyword, const char *prompt
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_get_from_fd
      Src: /src/gnupg/g10/cpr.c:695,1
    - Dst: answer_is_okay_cancel
      Src: /src/gnupg/g10/cpr.c:699,1
    - Dst: xfree
      Src: /src/gnupg/g10/cpr.c:700,1
    - Dst: tty_get
      Src: /src/gnupg/g10/cpr.c:706,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/cpr.c:707,1
    - Dst: xfree
      Src: /src/gnupg/g10/cpr.c:710,1
    - Dst: display_online_help
      Src: /src/gnupg/g10/cpr.c:711,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/g10/cpr.c:715,1
    - Dst: answer_is_okay_cancel
      Src: /src/gnupg/g10/cpr.c:716,1
    - Dst: xfree
      Src: /src/gnupg/g10/cpr.c:717,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - keyword
    - prompt
    - def_answer
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 685
    functionDepth: 4
    functionLinenumber: 685
    functionLinenumberEnd: 721
    functionName: cpr_get_answer_okay_cancel
    functionSourceFile: /src/gnupg/g10/cpr.c
    functionUses: 0
    functionsReached:
    - tty_kill_prompt
    - do_get_from_fd
    - trim_spaces
    - tty_get
    - answer_is_okay_cancel
    - xfree
    - display_online_help
    linkageType: ''
    returnType: int
    signature: "int cpr_get_answer_okay_cancel (const char *keyword,\n                            const
      char *prompt,\n                            int def_answer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: crc32
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: crc32(r0,r1,r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: adler32
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: adler32(r0,r1,r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: zlibVersion
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zlibVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: compress
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: compress(r0,r1,r2,r3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - r4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: compress2
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: compress2(r0,r1,r2,r3,r4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: uncompress
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uncompress(r0,r1,r2,r3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: deflateInit_
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateInit_(r0,r1,r2,r3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: inflateInit_
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateInit_(r0,r1,r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - r4
    - ','
    - r5
    - ','
    - r6
    - ','
    - r7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: deflateInit2_
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateInit2_(r0,r1,r2,r3,r4,r5,r6,r7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: inflateInit2_
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateInit2_(r0,r1,r2,r3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r0
    - ','
    - r1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: deflate
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflate(r0,r1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: deflateEnd
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateEnd(r0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r0
    - ','
    - r1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: inflate
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflate(r0,r1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: inflateEnd
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateEnd(r0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: deflateSetDictionary
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateSetDictionary(r0,r1,r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r0
    - ','
    - r1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: deflateCopy
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateCopy(r0,r1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: deflateReset
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateReset(r0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: deflateParams
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateParams(r0,r1,r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: inflateSetDictionary
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateSetDictionary(r0,r1,r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: inflateSync
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateSync(r0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: inflateReset
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateReset(r0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r0
    - ','
    - r1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: gzopen
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzopen(r0,r1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r0
    - ','
    - r1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: gzdopen
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzdopen(r0,r1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: gzsetparams
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzsetparams(r0,r1,r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: gzread
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzread(r0,r1,r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: gzwrite
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzwrite(r0,r1,r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: gzprintf
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzprintf(r0,r1,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r0
    - ','
    - r1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: gzputs
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzputs(r0,r1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: gzgets
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzgets(r0,r1,r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r0
    - ','
    - r1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: gzputc
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzputc(r0,r1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: gzgetc
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzgetc(r0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r0
    - ','
    - r1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: gzflush
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzflush(r0,r1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: gzclose
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzclose(r0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r0
    - ','
    - r1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: gzerror
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzerror(r0,r1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: gzseek
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzseek(r0,r1,r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: gzrewind
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzrewind(r0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: gztell
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gztell(r0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: gzeof
    functionSourceFile: /src/gnupg/g10/zlib-riscos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzeof(r0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recsel_release
      Src: /src/gnupg/g10/import.c:151,1
    - Dst: recsel_release
      Src: /src/gnupg/g10/import.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filt
    argTypes:
    - import_filter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: release_import_filter
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - recsel_release
    linkageType: ''
    returnType: void
    signature: void release_import_filter (import_filter_t filt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_import_filter
      Src: /src/gnupg/g10/import.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: cleanup_import_globals
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - release_import_filter
    linkageType: ''
    returnType: void
    signature: void cleanup_import_globals (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: N_
      Src: /src/gnupg/g10/import.c:170,1
    - Dst: N_
      Src: /src/gnupg/g10/import.c:173,1
    - Dst: N_
      Src: /src/gnupg/g10/import.c:176,1
    - Dst: N_
      Src: /src/gnupg/g10/import.c:179,1
    - Dst: N_
      Src: /src/gnupg/g10/import.c:182,1
    - Dst: N_
      Src: /src/gnupg/g10/import.c:185,1
    - Dst: N_
      Src: /src/gnupg/g10/import.c:188,1
    - Dst: N_
      Src: /src/gnupg/g10/import.c:191,1
    - Dst: N_
      Src: /src/gnupg/g10/import.c:194,1
    - Dst: N_
      Src: /src/gnupg/g10/import.c:197,1
    - Dst: N_
      Src: /src/gnupg/g10/import.c:200,1
    - Dst: N_
      Src: /src/gnupg/g10/import.c:203,1
    - Dst: N_
      Src: /src/gnupg/g10/import.c:206,1
    - Dst: N_
      Src: /src/gnupg/g10/import.c:210,1
    - Dst: N_
      Src: /src/gnupg/g10/import.c:213,1
    - Dst: N_
      Src: /src/gnupg/g10/import.c:219,1
    - Dst: parse_options
      Src: /src/gnupg/g10/import.c:247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - str
    - options
    - noisy
    argTypes:
    - char*
    - unsigned int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 269
    functionName: parse_import_options
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 2
    functionsReached:
    - parse_options
    - N_
    linkageType: ''
    returnType: int
    signature: int parse_import_options(char *str,unsigned int *options,int noisy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: register_mem_cleanup_func
      Src: /src/gnupg/g10/import.c:293,1
    - Dst: strncmp
      Src: /src/gnupg/g10/import.c:295,1
    - Dst: recsel_parse_expr
      Src: /src/gnupg/g10/import.c:296,1
    - Dst: strncmp
      Src: /src/gnupg/g10/import.c:297,1
    - Dst: recsel_parse_expr
      Src: /src/gnupg/g10/import.c:298,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/import.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 303
    functionName: parse_and_set_import_filter
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 3
    functionsReached:
    - register_mem_cleanup_func
    - gpg_error
    - strncmp
    - recsel_parse_expr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_and_set_import_filter (const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/import.c:313,1
    - Dst: memset
      Src: /src/gnupg/g10/import.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 320
    functionName: save_and_clear_import_filter
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 2
    functionsReached:
    - memset
    - xtrycalloc
    linkageType: ''
    returnType: import_filter_t
    signature: import_filter_t save_and_clear_import_filter (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_import_filter
      Src: /src/gnupg/g10/import.c:330,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filt
    argTypes:
    - import_filter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: restore_import_filter
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 2
    functionsReached:
    - xfree
    - release_import_filter
    linkageType: ''
    returnType: void
    signature: void restore_import_filter (import_filter_t filt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/import.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: import_new_stats_handle
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 2
    functionsReached:
    - xmalloc_clear
    linkageType: ''
    returnType: import_stats_t
    signature: import_stats_t import_new_stats_handle (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - import_stats_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: import_release_stats_handle
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 2
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void import_release_stats_handle (import_stats_t p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/import.c:372,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/import.c:376,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/import.c:378,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/import.c:379,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/import.c:379,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/import.c:381,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/import.c:383,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:389,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:389,1
    - Dst: iobuf_is_pipe_filename
      Src: /src/gnupg/g10/import.c:390,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:391,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:392,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/import.c:393,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/import.c:400,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/import.c:402,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/import.c:403,1
    - Dst: iobuf_temp_with_content
      Src: /src/gnupg/g10/import.c:409,1
    - Dst: read_block
      Src: /src/gnupg/g10/import.c:413,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:417,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:417,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:418,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:423,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:424,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:424,1
    - Dst: iobuf_is_pipe_filename
      Src: /src/gnupg/g10/import.c:425,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:427,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/import.c:431,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/import.c:433,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/import.c:435,1
    - Dst: collapse_uids
      Src: /src/gnupg/g10/import.c:441,1
    - Dst: collapse_subkeys
      Src: /src/gnupg/g10/import.c:442,1
    - Dst: clear_kbnode_flags
      Src: /src/gnupg/g10/import.c:444,1
    - Dst: chk_self_sigs
      Src: /src/gnupg/g10/import.c:445,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/import.c:447,1
    - Dst: delete_inv_parts
      Src: /src/gnupg/g10/import.c:451,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/import.c:453,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/import.c:463,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/import.c:466,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:468,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 72
    argCount: 5
    argNames:
    - ctrl
    - fname
    - buffer
    - buflen
    - r_keyblock
    argTypes:
    - ctrl_t
    - char*
    - void*
    - size_t
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 471
    functionName: read_key_from_file_or_buffer
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 2
    functionsReached:
    - log_assert
    - log_error
    - _
    - iobuf_ioctl
    - log_info
    - push_armor_filter
    - is_secured_file
    - iobuf_is_pipe_filename
    - iobuf_temp_with_content
    - gpg_error_from_syserror
    - collapse_uids
    - chk_self_sigs
    - iobuf_open
    - gpg_error
    - gpg_strerror
    - collapse_subkeys
    - release_armor_context
    - find_next_kbnode
    - iobuf_close
    - iobuf_get_fd
    - release_kbnode
    - new_armor_context
    - keyid_from_pk
    - gpg_err_code
    - delete_inv_parts
    - read_block
    - clear_kbnode_flags
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t read_key_from_file_or_buffer (ctrl_t ctrl, const char
      *fname,\n                              const void *buffer, size_t buflen,\n
      \                             kbnode_t *r_keyblock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: import_new_stats_handle
      Src: /src/gnupg/g10/import.c:485,1
    - Dst: save_and_clear_import_filter
      Src: /src/gnupg/g10/import.c:486,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/import.c:489,1
    - Dst: import_one
      Src: /src/gnupg/g10/import.c:494,1
    - Dst: restore_import_filter
      Src: /src/gnupg/g10/import.c:499,1
    - Dst: import_release_stats_handle
      Src: /src/gnupg/g10/import.c:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ctrl
    - keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 476
    functionDepth: 3
    functionLinenumber: 476
    functionLinenumberEnd: 503
    functionName: import_included_key_block
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 1
    functionsReached:
    - import_release_stats_handle
    - gpg_error_from_syserror
    - import_one
    - save_and_clear_import_filter
    - restore_import_filter
    - import_new_stats_handle
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t import_included_key_block (ctrl_t ctrl, kbnode_t keyblock)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: import_new_stats_handle
      Src: /src/gnupg/g10/import.c:550,1
    - Dst: import
      Src: /src/gnupg/g10/import.c:554,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/import.c:565,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/import.c:569,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/import.c:569,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/import.c:571,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/import.c:573,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:576,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:576,1
    - Dst: strerror
      Src: /src/gnupg/g10/import.c:576,1
    - Dst: import
      Src: /src/gnupg/g10/import.c:579,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/import.c:581,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/import.c:583,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:585,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:586,1
    - Dst: import_print_stats
      Src: /src/gnupg/g10/import.c:597,1
    - Dst: import_release_stats_handle
      Src: /src/gnupg/g10/import.c:598,1
    - Dst: check_or_update_trustdb
      Src: /src/gnupg/g10/import.c:608,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 12
    argNames:
    - ctrl
    - inp
    - fnames
    - nnames
    - stats_handle
    - fpr
    - fpr_len
    - options
    - screener
    - screener_arg
    - origin
    - url
    argTypes:
    - ctrl_t
    - iobuf_t
    - char**
    - int
    - import_stats_t
    - unsigned char**
    - size_t*
    - unsigned int
    - import_screener_t
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 611
    functionName: import_keys_internal
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - is_secured_file
    - import_release_stats_handle
    - iobuf_close
    - iobuf_get_fd
    - log_error
    - import_print_stats
    - iobuf_open
    - _
    - iobuf_ioctl
    - import
    - import_new_stats_handle
    - gpg_strerror
    - gpg_err_set_errno
    - check_or_update_trustdb
    - strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t import_keys_internal (ctrl_t ctrl, iobuf_t inp, char **fnames,
      int nnames,\n\t\t      import_stats_t stats_handle,\n                      unsigned
      char **fpr, size_t *fpr_len,\n\t\t      unsigned int options,\n                      import_screener_t
      screener, void *screener_arg,\n                      int origin, const char
      *url)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: import_keys_internal
      Src: /src/gnupg/g10/import.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctrl
    - fnames
    - nnames
    - stats_handle
    - options
    - origin
    - url
    argTypes:
    - ctrl_t
    - char**
    - int
    - import_stats_t
    - unsigned int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 614
    functionDepth: 3
    functionLinenumber: 614
    functionLinenumberEnd: 621
    functionName: import_keys
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 2
    functionsReached:
    - import_keys_internal
    linkageType: ''
    returnType: void
    signature: "void import_keys (ctrl_t ctrl, char **fnames, int nnames,\n\t     import_stats_t
      stats_handle, unsigned int options,\n             int origin, const char *url)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_esopen
      Src: /src/gnupg/g10/import.c:635,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/import.c:638,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:639,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:639,1
    - Dst: import_keys_internal
      Src: /src/gnupg/g10/import.c:643,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/import.c:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 10
    argNames:
    - ctrl
    - fp
    - stats_handle
    - fpr
    - fpr_len
    - options
    - screener
    - screener_arg
    - origin
    - url
    argTypes:
    - ctrl_t
    - estream_t
    - import_stats_t
    - unsigned char**
    - size_t*
    - unsigned int
    - import_screener_t
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 624
    functionDepth: 3
    functionLinenumber: 624
    functionLinenumberEnd: 649
    functionName: import_keys_es_stream
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 4
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - iobuf_close
    - gpg_strerror
    - import_keys_internal
    - iobuf_esopen
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t import_keys_es_stream (ctrl_t ctrl, estream_t fp,\n                       import_stats_t
      stats_handle,\n                       unsigned char **fpr, size_t *fpr_len,\n
      \                      unsigned int options,\n                       import_screener_t
      screener, void *screener_arg,\n                       int origin, const char
      *url)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getkey_disable_caches
      Src: /src/gnupg/g10/import.c:666,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/import.c:672,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/import.c:674,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/import.c:675,1
    - Dst: read_block
      Src: /src/gnupg/g10/import.c:678,1
    - Dst: import_one
      Src: /src/gnupg/g10/import.c:683,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/import.c:694,1
    - Dst: import_matching_seckeys
      Src: /src/gnupg/g10/import.c:696,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:700,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:706,1
    - Dst: import_secret_one
      Src: /src/gnupg/g10/import.c:708,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:714,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/import.c:729,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:731,1
    - Dst: import_revoke_cert
      Src: /src/gnupg/g10/import.c:733,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:737,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:739,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:739,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:741,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:747,1
    - Dst: gpg_err_source
      Src: /src/gnupg/g10/import.c:748,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:756,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:756,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:766,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:773,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:774,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:774,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:774,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:776,1
    - Dst: free_packet
      Src: /src/gnupg/g10/import.c:781,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:782,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 11
    argNames:
    - ctrl
    - inp
    - fname
    - stats
    - fpr
    - fpr_len
    - options
    - screener
    - screener_arg
    - origin
    - url
    argTypes:
    - ctrl_t
    - IOBUF
    - char*
    - struct import_stats_s*
    - unsigned char**
    - size_t*
    - unsigned int
    - import_screener_t
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 785
    functionName: import
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 3
    functionsReached:
    - getkey_disable_caches
    - import_matching_seckeys
    - free_packet
    - gpg_err_source
    - import_secret_one
    - log_error
    - _
    - IS_KEY_REV
    - log_info
    - push_armor_filter
    - import_one
    - gpg_strerror
    - xfree
    - release_armor_context
    - release_kbnode
    - new_armor_context
    - import_revoke_cert
    - gpg_err_code
    - fingerprint_from_pk
    - read_block
    linkageType: ''
    returnType: int
    signature: "int import (ctrl_t ctrl, IOBUF inp, const char* fname,struct import_stats_s
      *stats,\n\tunsigned char **fpr,size_t *fpr_len, unsigned int options,\n\timport_screener_t
      screener, void *screener_arg,\n        int origin, const char *url)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_open
      Src: /src/gnupg/g10/import.c:801,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/import.c:802,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/import.c:802,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/import.c:804,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/import.c:806,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/import.c:810,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:811,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:811,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:811,1
    - Dst: getkey_disable_caches
      Src: /src/gnupg/g10/import.c:815,1
    - Dst: import_new_stats_handle
      Src: /src/gnupg/g10/import.c:816,1
    - Dst: read_block
      Src: /src/gnupg/g10/import.c:817,1
    - Dst: import_secret_one
      Src: /src/gnupg/g10/import.c:821,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:825,1
    - Dst: import_release_stats_handle
      Src: /src/gnupg/g10/import.c:829,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:832,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:833,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:833,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:833,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:835,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:835,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/import.c:837,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/import.c:838,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - ctrl
    - fname
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 841
    functionName: import_old_secring
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - is_secured_file
    - import_release_stats_handle
    - iobuf_close
    - iobuf_get_fd
    - gpg_error_from_syserror
    - log_error
    - getkey_disable_caches
    - release_kbnode
    - iobuf_open
    - _
    - iobuf_ioctl
    - import_new_stats_handle
    - gpg_strerror
    - gpg_err_code
    - gpg_err_set_errno
    - read_block
    - import_secret_one
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t import_old_secring (ctrl_t ctrl, const char *fname)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:849,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:849,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:852,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:852,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:854,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:854,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:857,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:857,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:860,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:860,1
    - Dst: log_printf
      Src: /src/gnupg/g10/import.c:861,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:864,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:864,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:866,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:866,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:868,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:868,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:870,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:870,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:872,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:872,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:874,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:874,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:876,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:876,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:878,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:878,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:880,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:880,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:882,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:882,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:884,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:884,1
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/import.c:887,1
    - Dst: snprintf
      Src: /src/gnupg/g10/import.c:891,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/import.c:907,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 1
    argNames:
    - stats
    argTypes:
    - import_stats_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 844
    functionDepth: 3
    functionLinenumber: 844
    functionLinenumberEnd: 909
    functionName: import_print_stats
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 3
    functionsReached:
    - write_status_text
    - snprintf
    - is_status_enabled
    - _
    - log_info
    - log_printf
    linkageType: ''
    returnType: void
    signature: void import_print_stats (import_stats_t stats)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - pkttype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 930
    functionName: valid_keyblock_packet
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int valid_keyblock_packet (int pkttype)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: new_kbnode
      Src: /src/gnupg/g10/import.c:959,1
    - Dst: log_assert
      Src: /src/gnupg/g10/import.c:961,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/import.c:964,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/import.c:970,1
    - Dst: init_packet
      Src: /src/gnupg/g10/import.c:971,1
    - Dst: init_parse_packet
      Src: /src/gnupg/g10/import.c:972,1
    - Dst: parse_packet
      Src: /src/gnupg/g10/import.c:977,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:979,1
    - Dst: free_packet
      Src: /src/gnupg/g10/import.c:985,1
    - Dst: init_packet
      Src: /src/gnupg/g10/import.c:986,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:992,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:994,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:1006,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:1012,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:1012,1
    - Dst: free_packet
      Src: /src/gnupg/g10/import.c:1016,1
    - Dst: init_packet
      Src: /src/gnupg/g10/import.c:1017,1
    - Dst: free_packet
      Src: /src/gnupg/g10/import.c:1025,1
    - Dst: init_packet
      Src: /src/gnupg/g10/import.c:1026,1
    - Dst: free_packet
      Src: /src/gnupg/g10/import.c:1034,1
    - Dst: init_packet
      Src: /src/gnupg/g10/import.c:1035,1
    - Dst: free_packet
      Src: /src/gnupg/g10/import.c:1044,1
    - Dst: init_packet
      Src: /src/gnupg/g10/import.c:1045,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/import.c:1051,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/import.c:1055,1
    - Dst: check_compress_algo
      Src: /src/gnupg/g10/import.c:1069,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/import.c:1076,1
    - Dst: push_compress_filter2
      Src: /src/gnupg/g10/import.c:1078,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:1080,1
    - Dst: free_packet
      Src: /src/gnupg/g10/import.c:1082,1
    - Dst: init_packet
      Src: /src/gnupg/g10/import.c:1083,1
    - Dst: free_packet
      Src: /src/gnupg/g10/import.c:1090,1
    - Dst: init_packet
      Src: /src/gnupg/g10/import.c:1091,1
    - Dst: log_assert
      Src: /src/gnupg/g10/import.c:1099,1
    - Dst: free_packet
      Src: /src/gnupg/g10/import.c:1116,1
    - Dst: init_packet
      Src: /src/gnupg/g10/import.c:1117,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/import.c:1124,1
    - Dst: valid_keyblock_packet
      Src: /src/gnupg/g10/import.c:1138,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/import.c:1141,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/import.c:1144,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/import.c:1147,1
    - Dst: free_packet
      Src: /src/gnupg/g10/import.c:1150,1
    - Dst: init_packet
      Src: /src/gnupg/g10/import.c:1151,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:1161,1
    - Dst: free_packet
      Src: /src/gnupg/g10/import.c:1164,1
    - Dst: deinit_parse_packet
      Src: /src/gnupg/g10/import.c:1165,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:1166,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:1168,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:1169,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 156
    argCount: 5
    argNames:
    - a
    - options
    - pending_pkt
    - ret_root
    - r_v3keys
    argTypes:
    - IOBUF
    - unsigned int
    - PACKET**
    - kbnode_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 941
    functionDepth: 3
    functionLinenumber: 941
    functionLinenumberEnd: 1172
    functionName: read_block
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 3
    functionsReached:
    - deinit_parse_packet
    - log_assert
    - xmalloc
    - valid_keyblock_packet
    - free_packet
    - new_kbnode
    - log_error
    - init_packet
    - IS_KEY_REV
    - log_info
    - check_compress_algo
    - gpg_strerror
    - push_compress_filter2
    - xfree
    - keystr
    - release_kbnode
    - keyid_from_pk
    - init_parse_packet
    - parse_packet
    - gpg_err_code
    - xmalloc_clear
    linkageType: ''
    returnType: int
    signature: "int read_block( IOBUF a, unsigned int options,\n            PACKET
      **pending_pkt, kbnode_t *ret_root, int *r_v3keys)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_SUBKEY_SIG
      Src: /src/gnupg/g10/import.c:1203,1
    - Dst: check_key_signature
      Src: /src/gnupg/g10/import.c:1223,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - ctrl
    - keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1244
    functionName: fix_pks_corruption
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - check_key_signature
    - IS_SUBKEY_SIG
    linkageType: ''
    returnType: int
    signature: int fix_pks_corruption (ctrl_t ctrl, kbnode_t keyblock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_KEY_SIG
      Src: /src/gnupg/g10/import.c:1267,1
    - Dst: check_key_signature
      Src: /src/gnupg/g10/import.c:1269,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:1270,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:1275,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:1276,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:1277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - ctrl
    - keyblock
    - keyid
    argTypes:
    - ctrl_t
    - kbnode_t
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1255
    functionDepth: 1
    functionLinenumber: 1255
    functionLinenumberEnd: 1284
    functionName: fix_bad_direct_key_sigs
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - IS_KEY_SIG
    - log_info
    - gpg_err_code
    - delete_kbnode
    - keystr
    - check_key_signature
    linkageType: ''
    returnType: int
    signature: int fix_bad_direct_key_sigs (ctrl_t ctrl, kbnode_t keyblock, u32 *keyid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/g10/import.c:1294,1
    - Dst: strlen
      Src: /src/gnupg/g10/import.c:1295,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/import.c:1297,1
    - Dst: sprintf
      Src: /src/gnupg/g10/import.c:1300,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/import.c:1302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pk
    - reason
    argTypes:
    - PKT_public_key*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1287
    functionDepth: 3
    functionLinenumber: 1287
    functionLinenumberEnd: 1303
    functionName: print_import_ok
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - strlen
    - write_status_text
    - snprintf
    - sprintf
    - fingerprint_from_pk
    linkageType: ''
    returnType: void
    signature: void print_import_ok (PKT_public_key *pk, unsigned int reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/import.c:1312,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/import.c:1313,1
    - Dst: write_status_printf
      Src: /src/gnupg/g10/import.c:1314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pk
    - id
    argTypes:
    - PKT_public_key*
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1306
    functionDepth: 2
    functionLinenumber: 1306
    functionLinenumberEnd: 1317
    functionName: print_import_check
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - hexfingerprint
    - keyid_from_pk
    - write_status_printf
    linkageType: ''
    returnType: void
    signature: void print_import_check (PKT_public_key * pk, PKT_user_id * id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:1323,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:1323,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1320
    functionDepth: 1
    functionLinenumber: 1320
    functionLinenumberEnd: 1325
    functionName: check_prefs_warning
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - log_info
    - keystr_from_pk
    - _
    linkageType: ''
    returnType: void
    signature: void check_prefs_warning(PKT_public_key *pk)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/import.c:1335,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/import.c:1346,1
    - Dst: strlen
      Src: /src/gnupg/g10/import.c:1346,1
    - Dst: sprintf
      Src: /src/gnupg/g10/import.c:1353,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/import.c:1357,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/import.c:1360,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/import.c:1362,1
    - Dst: check_prefs_warning
      Src: /src/gnupg/g10/import.c:1364,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:1365,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:1365,1
    - Dst: openpgp_aead_test_algo
      Src: /src/gnupg/g10/import.c:1372,1
    - Dst: openpgp_aead_test_algo
      Src: /src/gnupg/g10/import.c:1378,1
    - Dst: openpgp_aead_algo_name
      Src: /src/gnupg/g10/import.c:1380,1
    - Dst: check_prefs_warning
      Src: /src/gnupg/g10/import.c:1382,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:1383,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:1383,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/import.c:1390,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/import.c:1393,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/g10/import.c:1395,1
    - Dst: check_prefs_warning
      Src: /src/gnupg/g10/import.c:1397,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:1398,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:1398,1
    - Dst: check_compress_algo
      Src: /src/gnupg/g10/import.c:1405,1
    - Dst: compress_algo_to_string
      Src: /src/gnupg/g10/import.c:1407,1
    - Dst: check_prefs_warning
      Src: /src/gnupg/g10/import.c:1409,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:1410,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:1410,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:1417,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:1423,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:1423,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:1425,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:1425,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/import.c:1437,1
    - Dst: sprintf
      Src: /src/gnupg/g10/import.c:1439,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/import.c:1440,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g10/import.c:1442,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g10/import.c:1443,1
    - Dst: keyedit_menu
      Src: /src/gnupg/g10/import.c:1445,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/import.c:1446,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/import.c:1447,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:1450,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:1450,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:1451,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 2
    argNames:
    - ctrl
    - keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1328
    functionDepth: 8
    functionLinenumber: 1328
    functionLinenumberEnd: 1453
    functionName: check_prefs
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - strlen
    - utf8_to_native
    - compress_algo_to_string
    - openpgp_aead_test_algo
    - gcry_md_algo_name
    - _
    - log_info
    - merge_keys_and_selfsig
    - check_compress_algo
    - check_prefs_warning
    - free_strlist
    - keyedit_menu
    - sprintf
    - keystr_from_pk
    - xfree
    - gcry_md_test_algo
    - openpgp_cipher_algo_name
    - append_to_strlist
    - openpgp_aead_algo_name
    - add_to_strlist
    - openpgp_md_test_algo
    - fingerprint_from_pk
    - openpgp_cipher_test_algo
    linkageType: ''
    returnType: void
    signature: void check_prefs (ctrl_t ctrl, kbnode_t keyblock)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/import.c:1470,1
    - Dst: log_debug
      Src: /src/gnupg/g10/import.c:1476,1
    - Dst: pkttype_str
      Src: /src/gnupg/g10/import.c:1476,1
    - Dst: strchr
      Src: /src/gnupg/g10/import.c:1477,1
    - Dst: strncmp
      Src: /src/gnupg/g10/import.c:1480,1
    - Dst: strncmp
      Src: /src/gnupg/g10/import.c:1482,1
    - Dst: strncmp
      Src: /src/gnupg/g10/import.c:1484,1
    - Dst: strncmp
      Src: /src/gnupg/g10/import.c:1486,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1498,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1500,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/g10/import.c:1504,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1508,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1512,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1516,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1528,1
    - Dst: snprintf
      Src: /src/gnupg/g10/import.c:1530,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1533,1
    - Dst: dateonlystr_from_sig
      Src: /src/gnupg/g10/import.c:1535,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1537,1
    - Dst: snprintf
      Src: /src/gnupg/g10/import.c:1539,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1542,1
    - Dst: mk_datestr
      Src: /src/gnupg/g10/import.c:1547,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1551,1
    - Dst: snprintf
      Src: /src/gnupg/g10/import.c:1553,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1556,1
    - Dst: snprintf
      Src: /src/gnupg/g10/import.c:1558,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1561,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1577,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1582,1
    - Dst: snprintf
      Src: /src/gnupg/g10/import.c:1584,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1587,1
    - Dst: snprintf
      Src: /src/gnupg/g10/import.c:1589,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/import.c:1589,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1592,1
    - Dst: pubkey_string
      Src: /src/gnupg/g10/import.c:1594,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1597,1
    - Dst: snprintf
      Src: /src/gnupg/g10/import.c:1599,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1602,1
    - Dst: dateonlystr_from_pk
      Src: /src/gnupg/g10/import.c:1604,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1606,1
    - Dst: snprintf
      Src: /src/gnupg/g10/import.c:1608,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1611,1
    - Dst: mk_datestr
      Src: /src/gnupg/g10/import.c:1616,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1620,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1624,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1628,1
    - Dst: pk_is_disabled
      Src: /src/gnupg/g10/import.c:1630,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1632,1
    - Dst: snprintf
      Src: /src/gnupg/g10/import.c:1634,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1642,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/import.c:1644,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1647,1
    - Dst: key_origin_string
      Src: /src/gnupg/g10/import.c:1649,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1651,1
    - Dst: snprintf
      Src: /src/gnupg/g10/import.c:1653,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:1656,1
    - Dst: mem2str
      Src: /src/gnupg/g10/import.c:1661,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 132
    argCount: 2
    argNames:
    - cookie
    - propname
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1458
    functionDepth: 1
    functionLinenumber: 1458
    functionLinenumberEnd: 1674
    functionName: impex_filter_getval
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - key_origin_string
    - mailbox_from_userid
    - pubkey_string
    - log_assert
    - snprintf
    - pk_is_disabled
    - strcmp
    - hexfingerprint
    - strchr
    - pkttype_str
    - dateonlystr_from_sig
    - nbits_from_pk
    - dateonlystr_from_pk
    - mem2str
    - strncmp
    - mk_datestr
    - log_debug
    linkageType: ''
    returnType: char
    signature: 'char *

      impex_filter_getval (void *cookie, const char *propname)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: recsel_select
      Src: /src/gnupg/g10/import.c:1695,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:1702,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:1708,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ctrl
    - keyblock
    - selector
    argTypes:
    - ctrl_t
    - kbnode_t
    - recsel_expr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1682
    functionDepth: 1
    functionLinenumber: 1682
    functionLinenumberEnd: 1715
    functionName: apply_keep_uid_filter
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 1
    functionsReached:
    - recsel_select
    - delete_kbnode
    linkageType: ''
    returnType: void
    signature: void apply_keep_uid_filter (ctrl_t ctrl, kbnode_t keyblock, recsel_expr_t
      selector)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/import.c:1734,1
    - Dst: IS_UID_SIG
      Src: /src/gnupg/g10/import.c:1755,1
    - Dst: IS_UID_REV
      Src: /src/gnupg/g10/import.c:1755,1
    - Dst: recsel_select
      Src: /src/gnupg/g10/import.c:1758,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:1759,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 3
    argNames:
    - ctrl
    - keyblock
    - selector
    argTypes:
    - ctrl_t
    - kbnode_t
    - recsel_expr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1723
    functionDepth: 1
    functionLinenumber: 1723
    functionLinenumberEnd: 1762
    functionName: apply_drop_sig_filter
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - recsel_select
    - keyid_from_pk
    - IS_UID_REV
    - delete_kbnode
    - IS_UID_SIG
    linkageType: ''
    returnType: void
    signature: void apply_drop_sig_filter (ctrl_t ctrl, kbnode_t keyblock, recsel_expr_t
      selector)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:1791,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/import.c:1792,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/import.c:1794,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:1807,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/import.c:1808,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/import.c:1810,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - pk
    - curtime
    - origin
    - url
    argTypes:
    - PKT_public_key*
    - u32
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1766
    functionDepth: 1
    functionLinenumber: 1766
    functionLinenumberEnd: 1815
    functionName: insert_key_origin_pk
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - xtrystrdup
    - xfree
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t insert_key_origin_pk (PKT_public_key *pk, u32 curtime,\n
      \                     int origin, const char *url)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:1836,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/import.c:1837,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/import.c:1839,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - uid
    - curtime
    - origin
    - url
    argTypes:
    - PKT_user_id*
    - u32
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1819
    functionDepth: 1
    functionLinenumber: 1819
    functionLinenumberEnd: 1863
    functionName: insert_key_origin_uid
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - xtrystrdup
    - xfree
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t insert_key_origin_uid (PKT_user_id *uid, u32 curtime,\n
      \                      int origin, const char *url)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: make_timestamp
      Src: /src/gnupg/g10/import.c:1874,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/import.c:1878,1
    - Dst: insert_key_origin_pk
      Src: /src/gnupg/g10/import.c:1882,1
    - Dst: insert_key_origin_uid
      Src: /src/gnupg/g10/import.c:1889,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - keyblock
    - origin
    - url
    argTypes:
    - kbnode_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1869
    functionDepth: 2
    functionLinenumber: 1869
    functionLinenumberEnd: 1897
    functionName: insert_key_origin
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - make_timestamp
    - insert_key_origin_uid
    - is_deleted_kbnode
    - insert_key_origin_pk
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t insert_key_origin (kbnode_t keyblock, int origin, const
      char *url)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/import.c:1908,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:1923,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/import.c:1927,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/import.c:1929,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:1939,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/import.c:1943,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/import.c:1945,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:1953,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:1961,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/import.c:1965,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/import.c:1967,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 4
    argNames:
    - keyblock
    - curtime
    - origin
    - url
    argTypes:
    - kbnode_t
    - u32
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1903
    functionDepth: 1
    functionLinenumber: 1903
    functionLinenumberEnd: 1972
    functionName: update_key_origin
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - xtrystrdup
    - xfree
    - gpg_error_from_syserror
    - log_assert
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t update_key_origin (kbnode_t keyblock, u32 curtime, int
      origin, const char *url)
  - BBCount: 86
    BranchProfiles: []
    Callsites:
    - Dst: find_kbnode
      Src: /src/gnupg/g10/import.c:2020,1
    - Dst: BUG
      Src: /src/gnupg/g10/import.c:2022,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/import.c:2026,1
    - Dst: memset
      Src: /src/gnupg/g10/import.c:2028,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/import.c:2029,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/import.c:2030,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2036,1
    - Dst: pubkey_string
      Src: /src/gnupg/g10/import.c:2037,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:2038,1
    - Dst: datestr_from_pk
      Src: /src/gnupg/g10/import.c:2038,1
    - Dst: print_utf8_buffer
      Src: /src/gnupg/g10/import.c:2040,1
    - Dst: log_get_stream
      Src: /src/gnupg/g10/import.c:2040,1
    - Dst: log_printf
      Src: /src/gnupg/g10/import.c:2043,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:2050,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2050,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:2050,1
    - Dst: screener
      Src: /src/gnupg/g10/import.c:2054,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:2056,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2056,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:2056,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2057,1
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/import.c:2063,1
    - Dst: print_import_check
      Src: /src/gnupg/g10/import.c:2064,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/import.c:2065,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/import.c:2066,1
    - Dst: show_basic_key_info
      Src: /src/gnupg/g10/import.c:2067,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/import.c:2068,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/import.c:2069,1
    - Dst: remove_all_non_self_sigs
      Src: /src/gnupg/g10/import.c:2079,1
    - Dst: collapse_uids
      Src: /src/gnupg/g10/import.c:2083,1
    - Dst: collapse_subkeys
      Src: /src/gnupg/g10/import.c:2086,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/import.c:2094,1
    - Dst: clean_all_uids
      Src: /src/gnupg/g10/import.c:2095,1
    - Dst: clean_all_subkeys
      Src: /src/gnupg/g10/import.c:2099,1
    - Dst: clear_kbnode_flags
      Src: /src/gnupg/g10/import.c:2103,1
    - Dst: fix_pks_corruption
      Src: /src/gnupg/g10/import.c:2106,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2108,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2108,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:2109,1
    - Dst: key_check_all_keysigs
      Src: /src/gnupg/g10/import.c:2112,1
    - Dst: chk_self_sigs
      Src: /src/gnupg/g10/import.c:2114,1
    - Dst: init_trustdb
      Src: /src/gnupg/g10/import.c:2124,1
    - Dst: tdb_keyid_is_utk
      Src: /src/gnupg/g10/import.c:2125,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/import.c:2137,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2141,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2141,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:2142,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2143,1
    - Dst: delete_inv_parts
      Src: /src/gnupg/g10/import.c:2148,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:2152,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2152,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:2152,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2154,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2154,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/import.c:2161,1
    - Dst: apply_keep_uid_filter
      Src: /src/gnupg/g10/import.c:2166,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/import.c:2167,1
    - Dst: apply_drop_sig_filter
      Src: /src/gnupg/g10/import.c:2172,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/import.c:2173,1
    - Dst: any_uid_left
      Src: /src/gnupg/g10/import.c:2180,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2183,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2183,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:2183,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/import.c:2198,1
    - Dst: list_keyblock_direct
      Src: /src/gnupg/g10/import.c:2202,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/import.c:2204,1
    - Dst: no_usable_encr_subkeys_warning
      Src: /src/gnupg/g10/import.c:2205,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/import.c:2215,1
    - Dst: write_keyblock_to_output
      Src: /src/gnupg/g10/import.c:2218,1
    - Dst: get_keyblock_byfpr_fast
      Src: /src/gnupg/g10/import.c:2226,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:2230,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:2231,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:2237,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2237,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:2238,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:2238,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2243,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2243,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:2243,1
    - Dst: keydb_locate_writable
      Src: /src/gnupg/g10/import.c:2252,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:2255,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2255,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:2255,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/import.c:2256,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2260,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2260,1
    - Dst: keydb_get_resource_name
      Src: /src/gnupg/g10/import.c:2260,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/import.c:2264,1
    - Dst: clean_all_uids
      Src: /src/gnupg/g10/import.c:2265,1
    - Dst: clean_all_subkeys
      Src: /src/gnupg/g10/import.c:2268,1
    - Dst: insert_key_origin
      Src: /src/gnupg/g10/import.c:2277,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:2280,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:2280,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/import.c:2281,1
    - Dst: keydb_insert_keyblock
      Src: /src/gnupg/g10/import.c:2286,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:2288,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2288,1
    - Dst: keydb_get_resource_name
      Src: /src/gnupg/g10/import.c:2289,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:2289,1
    - Dst: clear_ownertrusts
      Src: /src/gnupg/g10/import.c:2298,1
    - Dst: revalidation_mark
      Src: /src/gnupg/g10/import.c:2300,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/import.c:2304,1
    - Dst: get_user_id_byfpr_native
      Src: /src/gnupg/g10/import.c:2310,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2311,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2311,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:2312,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2313,1
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/import.c:2315,1
    - Dst: get_long_user_id_string
      Src: /src/gnupg/g10/import.c:2317,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/import.c:2318,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2319,1
    - Dst: print_import_ok
      Src: /src/gnupg/g10/import.c:2320,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/import.c:2331,1
    - Dst: cmp_public_keys
      Src: /src/gnupg/g10/import.c:2335,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:2338,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2338,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:2338,1
    - Dst: fix_bad_direct_key_sigs
      Src: /src/gnupg/g10/import.c:2343,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/import.c:2345,1
    - Dst: clear_kbnode_flags
      Src: /src/gnupg/g10/import.c:2348,1
    - Dst: clear_kbnode_flags
      Src: /src/gnupg/g10/import.c:2349,1
    - Dst: merge_blocks
      Src: /src/gnupg/g10/import.c:2351,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/import.c:2362,1
    - Dst: clean_all_uids
      Src: /src/gnupg/g10/import.c:2363,1
    - Dst: clean_all_subkeys
      Src: /src/gnupg/g10/import.c:2366,1
    - Dst: update_key_origin
      Src: /src/gnupg/g10/import.c:2378,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:2381,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:2382,1
    - Dst: keydb_update_keyblock
      Src: /src/gnupg/g10/import.c:2389,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:2391,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2391,1
    - Dst: keydb_get_resource_name
      Src: /src/gnupg/g10/import.c:2392,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:2392,1
    - Dst: revalidation_mark
      Src: /src/gnupg/g10/import.c:2394,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/import.c:2397,1
    - Dst: get_user_id_byfpr_native
      Src: /src/gnupg/g10/import.c:2405,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2407,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2407,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:2408,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2410,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2410,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:2411,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2413,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2413,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:2414,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2416,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2416,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:2417,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2419,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2419,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:2420,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2422,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2422,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:2423,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2425,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2425,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:2426,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2428,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2428,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:2429,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2431,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2431,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:2432,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2434,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2434,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:2435,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2436,1
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/import.c:2447,1
    - Dst: print_import_ok
      Src: /src/gnupg/g10/import.c:2448,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/import.c:2454,1
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/import.c:2464,1
    - Dst: print_import_ok
      Src: /src/gnupg/g10/import.c:2465,1
    - Dst: get_user_id_byfpr_native
      Src: /src/gnupg/g10/import.c:2469,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2470,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2470,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:2470,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2471,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/import.c:2479,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2502,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/import.c:2503,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2507,1
    - Dst: revocation_present
      Src: /src/gnupg/g10/import.c:2519,1
    - Dst: have_secret_key_with_kid
      Src: /src/gnupg/g10/import.c:2520,1
    - Dst: check_prefs
      Src: /src/gnupg/g10/import.c:2521,1
    - Dst: revocation_present
      Src: /src/gnupg/g10/import.c:2525,1
    - Dst: have_secret_key_with_kid
      Src: /src/gnupg/g10/import.c:2526,1
    - Dst: check_prefs
      Src: /src/gnupg/g10/import.c:2527,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:2530,1
    CyclomaticComplexity: 131
    EdgeCount: 131
    ICount: 289
    argCount: 14
    argNames:
    - ctrl
    - keyblock
    - stats
    - fpr
    - fpr_len
    - options
    - from_sk
    - silent
    - screener
    - screener_arg
    - origin
    - url
    - r_valid
    - otherrevsigs
    argTypes:
    - ctrl_t
    - kbnode_t
    - struct import_stats_s*
    - unsigned char**
    - size_t*
    - unsigned int
    - int
    - int
    - import_screener_t
    - void*
    - int
    - char*
    - int*
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2533
      start: 1987
    functionDepth: 9
    functionLinenumber: 1987
    functionLinenumberEnd: 2533
    functionName: import_one_real
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - list_keyblock_direct
    - pubkey_string
    - apply_drop_sig_filter
    - show_basic_key_info
    - cmp_public_keys
    - BUG
    - keydb_update_keyblock
    - print_utf8_buffer
    - log_get_stream
    - apply_keep_uid_filter
    - es_fflush
    - utf8_to_native
    - clean_all_uids
    - have_secret_key_with_kid
    - fix_bad_direct_key_sigs
    - revocation_present
    - write_keyblock_to_output
    - log_error
    - fix_pks_corruption
    - any_uid_left
    - clean_all_subkeys
    - get_keyblock_byfpr_fast
    - keydb_locate_writable
    - _
    - revalidation_mark
    - merge_blocks
    - log_info
    - merge_keys_and_selfsig
    - print_import_ok
    - tty_printf
    - log_printf
    - no_usable_encr_subkeys_warning
    - keydb_release
    - cpr_get_answer_is_yes
    - write_status_text
    - collapse_uids
    - check_prefs
    - keystr_from_pk
    - chk_self_sigs
    - get_long_user_id_string
    - commit_kbnode
    - gpg_error
    - datestr_from_pk
    - memset
    - xfree
    - gpg_strerror
    - keystr
    - insert_key_origin
    - screener
    - collapse_subkeys
    - print_import_check
    - key_check_all_keysigs
    - keydb_get_resource_name
    - find_next_kbnode
    - tdb_keyid_is_utk
    - release_kbnode
    - find_kbnode
    - keyid_from_pk
    - keydb_insert_keyblock
    - is_status_enabled
    - get_user_id_byfpr_native
    - make_timestamp
    - init_trustdb
    - update_key_origin
    - gpg_err_code
    - delete_inv_parts
    - fingerprint_from_pk
    - remove_all_non_self_sigs
    - clear_kbnode_flags
    - clear_ownertrusts
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t import_one_real (ctrl_t ctrl,\n                 kbnode_t
      keyblock, struct import_stats_s *stats,\n                 unsigned char **fpr,
      size_t *fpr_len, unsigned int options,\n                 int from_sk, int silent,\n
      \                import_screener_t screener, void *screener_arg,\n                 int
      origin, const char *url, int *r_valid,\n                 kbnode_t *otherrevsigs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: import_one_real
      Src: /src/gnupg/g10/import.c:2549,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:2552,1
    - Dst: gpg_err_source
      Src: /src/gnupg/g10/import.c:2553,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/import.c:2561,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2562,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:2563,1
    - Dst: import_one_real
      Src: /src/gnupg/g10/import.c:2565,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2576,1
    - Dst: import_revoke_cert
      Src: /src/gnupg/g10/import.c:2577,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:2580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 13
    argNames:
    - ctrl
    - keyblock
    - stats
    - fpr
    - fpr_len
    - options
    - from_sk
    - silent
    - screener
    - screener_arg
    - origin
    - url
    - r_valid
    argTypes:
    - ctrl_t
    - kbnode_t
    - struct import_stats_s*
    - unsigned char**
    - size_t*
    - unsigned int
    - int
    - int
    - import_screener_t
    - void*
    - int
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2582
      start: 2537
    functionDepth: 10
    functionLinenumber: 2537
    functionLinenumberEnd: 2582
    functionName: import_one
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 2
    functionsReached:
    - import_one_real
    - release_kbnode
    - keyid_from_pk
    - import_revoke_cert
    - log_info
    - gpg_err_code
    - keystr
    - gpg_err_source
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t import_one (ctrl_t ctrl,\n            kbnode_t keyblock,
      struct import_stats_s *stats,\n\t    unsigned char **fpr, size_t *fpr_len, unsigned
      int options,\n\t    int from_sk, int silent,\n            import_screener_t
      screener, void *screener_arg,\n            int origin, const char *url, int
      *r_valid)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: init_membuf
      Src: /src/gnupg/g10/import.c:2611,1
    - Dst: pubkey_get_nskey
      Src: /src/gnupg/g10/import.c:2613,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/import.c:2616,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:2617,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:2617,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/import.c:2621,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/g10/import.c:2628,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/import.c:2631,1
    - Dst: openpgp_oid_to_curve
      Src: /src/gnupg/g10/import.c:2635,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/import.c:2636,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/import.c:2637,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/import.c:2644,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/import.c:2650,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/import.c:2651,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/import.c:2653,1
    - Dst: strcmp
      Src: /src/gnupg/g10/import.c:2659,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/import.c:2660,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/import.c:2661,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/import.c:2666,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2669,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/import.c:2680,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/import.c:2681,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/import.c:2683,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/import.c:2687,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/import.c:2688,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/import.c:2692,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/import.c:2694,1
    - Dst: gcry_sexp_build_array
      Src: /src/gnupg/g10/import.c:2696,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2697,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2701,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2702,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/import.c:2702,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 3
    argNames:
    - pk
    - r_curve
    - r_skey
    argTypes:
    - PKT_public_key*
    - gcry_sexp_t*
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2704
      start: 2597
    functionDepth: 1
    functionLinenumber: 2597
    functionLinenumberEnd: 2704
    functionName: internal_skey_object_to_sexp
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - put_membuf
    - put_membuf_str
    - pubkey_get_nskey
    - init_membuf
    - log_error
    - log_info
    - gcry_sexp_release
    - gcry_sexp_build
    - openpgp_oid_to_curve
    - gpg_error_from_syserror
    - strcmp
    - gpg_error
    - gpg_strerror
    - xfree
    - gcry_mpi_get_opaque
    - get_membuf
    - gcry_sexp_build_array
    - openpgp_oid_to_str
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t internal_skey_object_to_sexp (PKT_public_key *pk, gcry_sexp_t
      *r_curve,\n                              gcry_sexp_t *r_skey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: internal_skey_object_to_sexp
      Src: /src/gnupg/g10/import.c:2719,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:2722,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:2722,1
    - Dst: log_assert
      Src: /src/gnupg/g10/import.c:2725,1
    - Dst: snprintf
      Src: /src/gnupg/g10/import.c:2735,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/import.c:2736,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/import.c:2739,1
    - Dst: openpgp_md_algo_name
      Src: /src/gnupg/g10/import.c:2743,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/import.c:2748,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/import.c:2752,1
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/import.c:2760,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/import.c:2765,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/import.c:2766,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/import.c:2767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - pk
    - result
    argTypes:
    - PKT_public_key*
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2769
      start: 2707
    functionDepth: 2
    functionLinenumber: 2707
    functionLinenumberEnd: 2769
    functionName: build_classic_transfer_sexp
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - log_assert
    - log_error
    - snprintf
    - gpg_strerror
    - internal_skey_object_to_sexp
    - openpgp_md_algo_name
    - openpgp_pk_algo_name
    - gcry_sexp_release
    - openpgp_cipher_algo_name
    - gcry_sexp_build
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t build_classic_transfer_sexp (PKT_public_key *pk, gcry_sexp_t
      *result)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: agent_keywrap_key
      Src: /src/gnupg/g10/import.c:2800,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:2803,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:2803,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/g10/import.c:2808,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/g10/import.c:2811,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2814,1
    - Dst: walk_kbnode
      Src: /src/gnupg/g10/import.c:2820,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/import.c:2832,1
    - Dst: BUG
      Src: /src/gnupg/g10/import.c:2847,1
    - Dst: pubkey_get_npkey
      Src: /src/gnupg/g10/import.c:2879,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/import.c:2881,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/import.c:2883,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/import.c:2884,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/import.c:2887,1
    - Dst: gcry_sexp_new
      Src: /src/gnupg/g10/import.c:2889,1
    - Dst: build_classic_transfer_sexp
      Src: /src/gnupg/g10/import.c:2893,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2895,1
    - Dst: make_canon_sexp_pad
      Src: /src/gnupg/g10/import.c:2898,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/import.c:2899,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:2903,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:2903,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2909,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/import.c:2910,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/import.c:2912,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/g10/import.c:2914,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2918,1
    - Dst: gpg_format_keydesc
      Src: /src/gnupg/g10/import.c:2923,1
    - Dst: agent_import_key
      Src: /src/gnupg/g10/import.c:2924,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2929,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2934,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2934,1
    - Dst: keystr_from_pk_with_sub
      Src: /src/gnupg/g10/import.c:2935,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:2939,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:2942,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2942,1
    - Dst: keystr_from_pk_with_sub
      Src: /src/gnupg/g10/import.c:2943,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:2950,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:2950,1
    - Dst: keystr_from_pk_with_sub
      Src: /src/gnupg/g10/import.c:2951,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:2952,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:2953,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:2954,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/import.c:2961,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2964,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2965,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2966,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/g10/import.c:2967,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:2968,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 109
    argCount: 6
    argNames:
    - ctrl
    - stats
    - sec_keyblock
    - batch
    - force
    - only_marked
    argTypes:
    - ctrl_t
    - struct import_stats_s*
    - kbnode_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2970
      start: 2778
    functionDepth: 3
    functionLinenumber: 2778
    functionLinenumberEnd: 2970
    functionName: transfer_secret_keys
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 1
    functionsReached:
    - gcry_mpi_get_flag
    - gpg_format_keydesc
    - keystr_from_pk_with_sub
    - BUG
    - gcry_cipher_encrypt
    - walk_kbnode
    - xtrymalloc
    - gcry_cipher_open
    - log_error
    - pubkey_get_npkey
    - _
    - log_info
    - gcry_sexp_release
    - gcry_cipher_setkey
    - gpg_error_from_syserror
    - agent_import_key
    - gpg_error
    - gpg_strerror
    - agent_keywrap_key
    - xfree
    - gcry_mpi_get_opaque
    - gcry_sexp_new
    - make_canon_sexp_pad
    - keyid_from_pk
    - build_classic_transfer_sexp
    - gpg_err_code
    - gcry_cipher_close
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t transfer_secret_keys (ctrl_t ctrl, struct import_stats_s
      *stats,\n                      kbnode_t sec_keyblock, int batch, int force,\n
      \                     int only_marked)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: walk_kbnode
      Src: /src/gnupg/g10/import.c:2990,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/import.c:2999,1
    - Dst: copy_public_key
      Src: /src/gnupg/g10/import.c:3000,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:3003,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:3004,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/import.c:3013,1
    - Dst: clone_kbnode
      Src: /src/gnupg/g10/import.c:3017,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - sec_keyblock
    argTypes:
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3031
      start: 2976
    functionDepth: 3
    functionLinenumber: 2976
    functionLinenumberEnd: 3031
    functionName: sec_to_pub_keyblock
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - clone_kbnode
    - release_kbnode
    - copy_public_key
    - xfree
    - xtrycalloc
    - walk_kbnode
    - new_kbnode
    linkageType: ''
    returnType: kbnode_t
    signature: kbnode_t sec_to_pub_keyblock (kbnode_t sec_keyblock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/import.c:3050,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/import.c:3052,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:3082,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:3086,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/import.c:3090,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - r_keyblock
    - pub_keyblock
    - r_removedsecs
    argTypes:
    - kbnode_t*
    - kbnode_t
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3094
      start: 3036
    functionDepth: 2
    functionLinenumber: 3036
    functionLinenumberEnd: 3094
    functionName: resync_sec_with_pub_keyblock
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - xtrycalloc
    - commit_kbnode
    - xfree
    - delete_kbnode
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t resync_sec_with_pub_keyblock (kbnode_t *r_keyblock, kbnode_t
      pub_keyblock,\n                              kbnode_t *r_removedsecs)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: agent_probe_secret_key
      Src: /src/gnupg/g10/import.c:3106,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:3111,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3111,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:3112,1
    - Dst: transfer_secret_keys
      Src: /src/gnupg/g10/import.c:3116,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:3118,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:3128,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3128,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:3138,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3138,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:3138,1
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/import.c:3147,1
    - Dst: print_import_ok
      Src: /src/gnupg/g10/import.c:3148,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 6
    argNames:
    - ctrl
    - keyblock
    - pk
    - stats
    - batch
    - only_marked
    argTypes:
    - ctrl_t
    - kbnode_t
    - PKT_public_key*
    - struct import_stats_s*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3098
    functionDepth: 4
    functionLinenumber: 3098
    functionLinenumberEnd: 3152
    functionName: do_transfer
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - transfer_secret_keys
    - keystr_from_pk
    - _
    - is_status_enabled
    - log_info
    - gpg_err_code
    - agent_probe_secret_key
    - print_import_ok
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_transfer (ctrl_t ctrl, kbnode_t keyblock, PKT_public_key
      *pk,\n             struct import_stats_s *stats, int batch, int only_marked)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_pubkey_byfpr
      Src: /src/gnupg/g10/import.c:3175,1
    - Dst: log_assert
      Src: /src/gnupg/g10/import.c:3178,1
    - Dst: log_assert
      Src: /src/gnupg/g10/import.c:3185,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/import.c:3186,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/import.c:3189,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/import.c:3196,1
    - Dst: log_assert
      Src: /src/gnupg/g10/import.c:3200,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/import.c:3212,1
    - Dst: memcmp
      Src: /src/gnupg/g10/import.c:3215,1
    - Dst: do_transfer
      Src: /src/gnupg/g10/import.c:3224,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:3227,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:3228,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 6
    argNames:
    - ctrl
    - seckeys
    - mainfpr
    - mainfprlen
    - stats
    - batch
    argTypes:
    - ctrl_t
    - kbnode_t
    - byte*
    - size_t
    - struct import_stats_s*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3230
      start: 3159
    functionDepth: 5
    functionLinenumber: 3159
    functionLinenumberEnd: 3230
    functionName: import_matching_seckeys
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 1
    functionsReached:
    - do_transfer
    - log_assert
    - gpg_error_from_syserror
    - get_pubkey_byfpr
    - release_kbnode
    - xtrycalloc
    - memcmp
    - xfree
    - fingerprint_from_pk
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t import_matching_seckeys (ctrl_t ctrl, kbnode_t seckeys,\n
      \                        const byte *mainfpr, size_t mainfprlen,\n                         struct
      import_stats_s *stats, int batch)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: find_kbnode
      Src: /src/gnupg/g10/import.c:3263,1
    - Dst: BUG
      Src: /src/gnupg/g10/import.c:3265,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/import.c:3269,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/import.c:3270,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/import.c:3271,1
    - Dst: screener
      Src: /src/gnupg/g10/import.c:3273,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:3275,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3275,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:3275,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3276,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:3277,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:3283,1
    - Dst: pubkey_string
      Src: /src/gnupg/g10/import.c:3284,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:3285,1
    - Dst: datestr_from_pk
      Src: /src/gnupg/g10/import.c:3285,1
    - Dst: print_utf8_buffer
      Src: /src/gnupg/g10/import.c:3287,1
    - Dst: log_get_stream
      Src: /src/gnupg/g10/import.c:3287,1
    - Dst: log_printf
      Src: /src/gnupg/g10/import.c:3289,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:3296,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3296,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:3297,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:3304,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3304,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:3304,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:3305,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:3313,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:3313,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:3314,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:3323,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3323,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:3324,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:3325,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:3335,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3335,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:3336,1
    - Dst: clear_kbnode_flags
      Src: /src/gnupg/g10/import.c:3341,1
    - Dst: sec_to_pub_keyblock
      Src: /src/gnupg/g10/import.c:3346,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/import.c:3349,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:3350,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:3351,1
    - Dst: import_one
      Src: /src/gnupg/g10/import.c:3360,1
    - Dst: resync_sec_with_pub_keyblock
      Src: /src/gnupg/g10/import.c:3368,1
    - Dst: import_matching_seckeys
      Src: /src/gnupg/g10/import.c:3393,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/import.c:3396,1
    - Dst: get_pubkey_byfpr
      Src: /src/gnupg/g10/import.c:3413,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:3415,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:3416,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:3416,1
    - Dst: do_transfer
      Src: /src/gnupg/g10/import.c:3419,1
    - Dst: check_prefs
      Src: /src/gnupg/g10/import.c:3421,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:3422,1
    - Dst: import_matching_seckeys
      Src: /src/gnupg/g10/import.c:3429,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:3438,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:3439,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:3443,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 100
    argCount: 9
    argNames:
    - ctrl
    - keyblock
    - stats
    - batch
    - options
    - for_migration
    - screener
    - screener_arg
    - r_secattic
    argTypes:
    - ctrl_t
    - kbnode_t
    - struct import_stats_s*
    - int
    - unsigned int
    - int
    - import_screener_t
    - void*
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3445
      start: 3243
    functionDepth: 9
    functionLinenumber: 3243
    functionLinenumberEnd: 3445
    functionName: import_secret_one
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 2
    functionsReached:
    - pubkey_string
    - import_matching_seckeys
    - resync_sec_with_pub_keyblock
    - sec_to_pub_keyblock
    - BUG
    - print_utf8_buffer
    - log_get_stream
    - log_error
    - _
    - log_info
    - log_printf
    - do_transfer
    - gpg_error_from_syserror
    - import_one
    - get_pubkey_byfpr
    - check_prefs
    - keystr_from_pk
    - gpg_error
    - datestr_from_pk
    - gpg_strerror
    - screener
    - find_next_kbnode
    - release_kbnode
    - find_kbnode
    - keyid_from_pk
    - fingerprint_from_pk
    - clear_kbnode_flags
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t import_secret_one (ctrl_t ctrl, kbnode_t keyblock,\n                   struct
      import_stats_s *stats, int batch,\n                   unsigned int options,
      int for_migration,\n                   import_screener_t screener, void *screener_arg,\n
      \                  kbnode_t *r_secattic)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/g10/import.c:3461,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3462,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3463,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3464,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3465,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/import.c:3467,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - code
    - freeme
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3473
      start: 3451
    functionDepth: 1
    functionLinenumber: 3451
    functionLinenumberEnd: 3473
    functionName: revocation_reason_code_to_str
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 2
    functionsReached:
    - xasprintf
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      revocation_reason_code_to_str (int code, char **freeme)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: enum_sig_subpkt
      Src: /src/gnupg/g10/import.c:3502,1
    - Dst: revocation_reason_code_to_str
      Src: /src/gnupg/g10/import.c:3510,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/import.c:3514,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:3516,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/import.c:3520,1
    - Dst: memcpy
      Src: /src/gnupg/g10/import.c:3521,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - sig
    - r_reason
    - r_comment
    - r_commentlen
    argTypes:
    - PKT_signature*
    - char**
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3485
    functionDepth: 1
    functionLinenumber: 3485
    functionLinenumberEnd: 3527
    functionName: get_revocation_reason
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 2
    functionsReached:
    - xmalloc
    - xfree
    - memcpy
    - xstrdup
    - enum_sig_subpkt
    - revocation_reason_code_to_str
    linkageType: ''
    returnType: int
    signature: "int get_revocation_reason (PKT_signature *sig, char **r_reason,\n
      \                      char **r_comment, size_t *r_commentlen)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: get_user_id
      Src: /src/gnupg/g10/import.c:3547,1
    - Dst: get_revocation_reason
      Src: /src/gnupg/g10/import.c:3552,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/import.c:3557,1
    - Dst: es_putc
      Src: /src/gnupg/g10/import.c:3559,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/import.c:3560,1
    - Dst: colon_datestr_from_sig
      Src: /src/gnupg/g10/import.c:3563,1
    - Dst: colon_expirestr_from_sig
      Src: /src/gnupg/g10/import.c:3564,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/import.c:3567,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/import.c:3569,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/import.c:3572,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/import.c:3573,1
    - Dst: issuer_fpr_string
      Src: /src/gnupg/g10/import.c:3575,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/import.c:3576,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/import.c:3578,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/import.c:3582,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/import.c:3583,1
    - Dst: es_putc
      Src: /src/gnupg/g10/import.c:3585,1
    - Dst: es_putc
      Src: /src/gnupg/g10/import.c:3587,1
    - Dst: print_subpackets_colon
      Src: /src/gnupg/g10/import.c:3590,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/import.c:3594,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/import.c:3595,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:3606,1
    - Dst: datestr_from_sig
      Src: /src/gnupg/g10/import.c:3607,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/import.c:3610,1
    - Dst: print_utf8_buffer
      Src: /src/gnupg/g10/import.c:3611,1
    - Dst: es_putc
      Src: /src/gnupg/g10/import.c:3613,1
    - Dst: show_policy_url
      Src: /src/gnupg/g10/import.c:3617,1
    - Dst: show_notation
      Src: /src/gnupg/g10/import.c:3620,1
    - Dst: show_keyserver_url
      Src: /src/gnupg/g10/import.c:3629,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/import.c:3633,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3634,1
    - Dst: print_revocation_reason_comment
      Src: /src/gnupg/g10/import.c:3635,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/import.c:3639,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:3641,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:3642,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:3643,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:3644,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 3
    argNames:
    - ctrl
    - sig
    - sigrc
    argTypes:
    - ctrl_t
    - PKT_signature*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3645
      start: 3533
    functionDepth: 5
    functionLinenumber: 3533
    functionLinenumberEnd: 3645
    functionName: list_standalone_revocation
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 0
    functionsReached:
    - datestr_from_sig
    - show_keyserver_url
    - es_fprintf
    - show_notation
    - show_policy_url
    - print_utf8_buffer
    - es_fflush
    - colon_expirestr_from_sig
    - print_revocation_reason_comment
    - print_subpackets_colon
    - colon_datestr_from_sig
    - get_user_id
    - issuer_fpr_string
    - es_write_sanitized
    - es_putc
    - _
    - xfree
    - get_revocation_reason
    - keystr
    - es_fputs
    linkageType: ''
    returnType: void
    signature: void list_standalone_revocation (ctrl_t ctrl, PKT_signature *sig, int
      sigrc)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/import.c:3668,1
    - Dst: log_assert
      Src: /src/gnupg/g10/import.c:3669,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/import.c:3669,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/import.c:3679,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/import.c:3682,1
    - Dst: keydb_lock
      Src: /src/gnupg/g10/import.c:3686,1
    - Dst: keydb_search_fpr
      Src: /src/gnupg/g10/import.c:3690,1
    - Dst: keyid_from_fingerprint
      Src: /src/gnupg/g10/import.c:3694,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:3703,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3703,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:3704,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:3704,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/import.c:3709,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:3712,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3712,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:3713,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:3713,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:3721,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/import.c:3727,1
    - Dst: get_pubkey
      Src: /src/gnupg/g10/import.c:3730,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:3731,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:3734,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3734,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:3735,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:3741,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3741,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:3742,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:3742,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/import.c:3747,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/import.c:3750,1
    - Dst: keydb_lock
      Src: /src/gnupg/g10/import.c:3754,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/import.c:3762,1
    - Dst: keydb_search_fpr
      Src: /src/gnupg/g10/import.c:3763,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:3767,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3767,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:3768,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:3768,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/import.c:3771,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:3774,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3774,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:3775,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:3775,1
    - Dst: check_key_signature
      Src: /src/gnupg/g10/import.c:3783,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:3784,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:3792,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:3794,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:3794,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:3794,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:3801,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3801,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:3802,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:3802,1
    - Dst: cmp_signatures
      Src: /src/gnupg/g10/import.c:3811,1
    - Dst: insert_kbnode
      Src: /src/gnupg/g10/import.c:3820,1
    - Dst: clone_kbnode
      Src: /src/gnupg/g10/import.c:3820,1
    - Dst: keydb_update_keyblock
      Src: /src/gnupg/g10/import.c:3825,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:3827,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3827,1
    - Dst: keydb_get_resource_name
      Src: /src/gnupg/g10/import.c:3828,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:3828,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/import.c:3829,1
    - Dst: get_user_id_native
      Src: /src/gnupg/g10/import.c:3835,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:3836,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3836,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:3837,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:3838,1
    - Dst: get_ownertrust
      Src: /src/gnupg/g10/import.c:3844,1
    - Dst: clear_ownertrusts
      Src: /src/gnupg/g10/import.c:3845,1
    - Dst: revalidation_mark
      Src: /src/gnupg/g10/import.c:3847,1
    - Dst: list_standalone_revocation
      Src: /src/gnupg/g10/import.c:3853,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/import.c:3855,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:3856,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/import.c:3857,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 139
    argCount: 4
    argNames:
    - ctrl
    - node
    - options
    - stats
    argTypes:
    - ctrl_t
    - kbnode_t
    - unsigned int
    - struct import_stats_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3859
      start: 3650
    functionDepth: 6
    functionLinenumber: 3650
    functionLinenumberEnd: 3859
    functionName: import_revoke_cert
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 2
    functionsReached:
    - log_assert
    - cmp_signatures
    - get_ownertrust
    - keydb_update_keyblock
    - keydb_new
    - free_public_key
    - log_error
    - revalidation_mark
    - _
    - insert_kbnode
    - list_standalone_revocation
    - IS_KEY_REV
    - log_info
    - keydb_get_keyblock
    - keydb_release
    - get_pubkey
    - gpg_error_from_syserror
    - keydb_search_fpr
    - gpg_strerror
    - xfree
    - keystr
    - keydb_get_resource_name
    - check_key_signature
    - clone_kbnode
    - keyid_from_fingerprint
    - release_kbnode
    - gpg_err_code
    - fingerprint_from_pk
    - keydb_lock
    - get_user_id_native
    - xmalloc_clear
    - clear_ownertrusts
    linkageType: ''
    returnType: int
    signature: "int import_revoke_cert (ctrl_t ctrl, kbnode_t node, unsigned int options,\n
      \                   struct import_stats_s *stats)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/import.c:3889,1
    - Dst: check_key_signature
      Src: /src/gnupg/g10/import.c:3915,1
    - Dst: IS_UID_SIG
      Src: /src/gnupg/g10/import.c:3917,1
    - Dst: IS_UID_REV
      Src: /src/gnupg/g10/import.c:3917,1
    - Dst: find_prev_kbnode
      Src: /src/gnupg/g10/import.c:3919,1
    - Dst: log_error
      Src: /src/gnupg/g10/import.c:3922,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3922,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:3923,1
    - Dst: check_key_signature
      Src: /src/gnupg/g10/import.c:3930,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/import.c:3935,1
    - Dst: strlen
      Src: /src/gnupg/g10/import.c:3937,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:3938,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:3938,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3939,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3941,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:3943,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:3944,1
    - Dst: IS_KEY_SIG
      Src: /src/gnupg/g10/import.c:3951,1
    - Dst: check_key_signature
      Src: /src/gnupg/g10/import.c:3953,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:3957,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:3957,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3958,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3959,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:3960,1
    - Dst: IS_SUBKEY_SIG
      Src: /src/gnupg/g10/import.c:3964,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:3973,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3973,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:3974,1
    - Dst: check_key_signature
      Src: /src/gnupg/g10/import.c:3979,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/import.c:3984,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:3985,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:3985,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3986,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:3988,1
    - Dst: keystr_with_sub
      Src: /src/gnupg/g10/import.c:3989,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/import.c:4006,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:4007,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:4007,1
    - Dst: keystr_with_sub
      Src: /src/gnupg/g10/import.c:4009,1
    - Dst: IS_SUBKEY_REV
      Src: /src/gnupg/g10/import.c:4021,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:4031,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:4031,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:4032,1
    - Dst: check_key_signature
      Src: /src/gnupg/g10/import.c:4037,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:4041,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:4041,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:4042,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:4044,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:4045,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:4059,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:4059,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:4060,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 101
    argCount: 4
    argNames:
    - ctrl
    - keyblock
    - keyid
    - non_self
    argTypes:
    - ctrl_t
    - kbnode_t
    - u32*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4074
      start: 3876
    functionDepth: 1
    functionLinenumber: 3876
    functionLinenumberEnd: 4074
    functionName: chk_self_sigs
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 2
    functionsReached:
    - find_next_kbnode
    - find_prev_kbnode
    - log_error
    - strlen
    - keystr_with_sub
    - keyid_from_pk
    - IS_UID_REV
    - _
    - IS_SUBKEY_SIG
    - IS_SUBKEY_REV
    - IS_KEY_SIG
    - log_info
    - gpg_err_code
    - xfree
    - keystr
    - IS_UID_SIG
    - check_key_signature
    - utf8_to_native
    linkageType: ''
    returnType: int
    signature: int chk_self_sigs (ctrl_t ctrl, kbnode_t keyblock, u32 *keyid, int
      *non_self)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/import.c:4104,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:4106,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:4106,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:4107,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:4108,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:4110,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:4116,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/import.c:4132,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:4133,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:4133,1
    - Dst: keystr_with_sub
      Src: /src/gnupg/g10/import.c:4134,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:4137,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:4141,1
    - Dst: openpgp_pk_test_algo
      Src: /src/gnupg/g10/import.c:4149,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:4152,1
    - Dst: have_secret_key_with_kid
      Src: /src/gnupg/g10/import.c:4157,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:4165,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:4165,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:4167,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:4168,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/import.c:4171,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:4176,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:4176,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:4177,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/import.c:4182,1
    - Dst: copy_signature
      Src: /src/gnupg/g10/import.c:4184,1
    - Dst: new_kbnode2
      Src: /src/gnupg/g10/import.c:4186,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:4188,1
    - Dst: check_key_signature
      Src: /src/gnupg/g10/import.c:4200,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:4204,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:4204,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:4206,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/import.c:4206,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:4207,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/import.c:4214,1
    - Dst: copy_signature
      Src: /src/gnupg/g10/import.c:4216,1
    - Dst: new_kbnode2
      Src: /src/gnupg/g10/import.c:4218,1
    - Dst: IS_SUBKEY_SIG
      Src: /src/gnupg/g10/import.c:4223,1
    - Dst: IS_SUBKEY_REV
      Src: /src/gnupg/g10/import.c:4224,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:4228,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:4228,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:4229,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:4230,1
    - Dst: IS_CERT
      Src: /src/gnupg/g10/import.c:4233,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:4236,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:4236,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:4237,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:4239,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:4242,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/import.c:4247,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 82
    argCount: 5
    argNames:
    - ctrl
    - keyblock
    - keyid
    - options
    - r_otherrevsigs
    argTypes:
    - ctrl_t
    - kbnode_t
    - u32*
    - unsigned int
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4249
      start: 4086
    functionDepth: 4
    functionLinenumber: 4086
    functionLinenumberEnd: 4249
    functionName: delete_inv_parts
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 2
    functionsReached:
    - copy_signature
    - utf8_to_native
    - have_secret_key_with_kid
    - _
    - log_info
    - IS_KEY_REV
    - delete_kbnode
    - keystr_with_sub
    - commit_kbnode
    - xfree
    - openpgp_pk_test_algo
    - new_kbnode2
    - keystr
    - gpg_strerror
    - check_key_signature
    - IS_CERT
    - keyid_from_pk
    - IS_SUBKEY_SIG
    - xcalloc
    - IS_SUBKEY_REV
    linkageType: ''
    returnType: int
    signature: "int delete_inv_parts (ctrl_t ctrl, kbnode_t keyblock, u32 *keyid,\n
      \                 unsigned int options, kbnode_t *r_otherrevsigs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - keyblock
    argTypes:
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4261
      start: 4252
    functionDepth: 0
    functionLinenumber: 4252
    functionLinenumberEnd: 4261
    functionName: any_uid_left
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int any_uid_left (kbnode_t keyblock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/import.c:4274,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:4283,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/import.c:4288,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:4291,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:4292,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - keyblock
    - keyid
    argTypes:
    - kbnode_t*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4293
      start: 4266
    functionDepth: 2
    functionLinenumber: 4266
    functionLinenumberEnd: 4293
    functionName: remove_all_non_self_sigs
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 1
    functionsReached:
    - commit_kbnode
    - is_deleted_kbnode
    - log_info
    - delete_kbnode
    - keystr
    linkageType: ''
    returnType: void
    signature: void remove_all_non_self_sigs (kbnode_t *keyblock, u32 *keyid)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/import.c:4312,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/import.c:4320,1
    - Dst: cmp_user_ids
      Src: /src/gnupg/g10/import.c:4326,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/import.c:4338,1
    - Dst: find_prev_kbnode
      Src: /src/gnupg/g10/import.c:4348,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:4353,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/import.c:4360,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/import.c:4373,1
    - Dst: cmp_signatures
      Src: /src/gnupg/g10/import.c:4384,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:4389,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/import.c:4398,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/import.c:4404,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:4405,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/import.c:4406,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:4407,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:4409,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:4409,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 55
    argCount: 1
    argNames:
    - keyblock
    argTypes:
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4413
      start: 4302
    functionDepth: 2
    functionLinenumber: 4302
    functionLinenumberEnd: 4413
    functionName: collapse_uids
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 3
    functionsReached:
    - find_prev_kbnode
    - find_kbnode
    - cmp_signatures
    - keystr_from_pk
    - _
    - commit_kbnode
    - is_deleted_kbnode
    - log_info
    - delete_kbnode
    - cmp_user_ids
    linkageType: ''
    returnType: int
    signature: int collapse_uids (kbnode_t *keyblock)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/import.c:4430,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/import.c:4441,1
    - Dst: cmp_public_keys
      Src: /src/gnupg/g10/import.c:4448,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/import.c:4458,1
    - Dst: find_prev_kbnode
      Src: /src/gnupg/g10/import.c:4466,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:4471,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/import.c:4476,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/import.c:4486,1
    - Dst: cmp_signatures
      Src: /src/gnupg/g10/import.c:4492,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/import.c:4497,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/import.c:4505,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/import.c:4511,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:4512,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/import.c:4513,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:4514,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:4516,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:4516,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 51
    argCount: 1
    argNames:
    - keyblock
    argTypes:
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4520
      start: 4422
    functionDepth: 2
    functionLinenumber: 4422
    functionLinenumberEnd: 4520
    functionName: collapse_subkeys
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 3
    functionsReached:
    - find_prev_kbnode
    - find_kbnode
    - cmp_public_keys
    - cmp_signatures
    - keystr_from_pk
    - _
    - commit_kbnode
    - is_deleted_kbnode
    - log_info
    - delete_kbnode
    linkageType: ''
    returnType: int
    signature: int collapse_subkeys (kbnode_t *keyblock)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_KEY_SIG
      Src: /src/gnupg/g10/import.c:4539,1
    - Dst: keyid_from_fingerprint
      Src: /src/gnupg/g10/import.c:4549,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/import.c:4559,1
    - Dst: get_pubkey_byfpr_fast
      Src: /src/gnupg/g10/import.c:4568,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:4571,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:4572,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/import.c:4574,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/import.c:4574,1
    - Dst: keyserver_any_configured
      Src: /src/gnupg/g10/import.c:4579,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:4581,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:4581,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:4583,1
    - Dst: keyserver_import_fpr
      Src: /src/gnupg/g10/import.c:4584,1
    - Dst: get_pubkey_byfpr_fast
      Src: /src/gnupg/g10/import.c:4590,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:4595,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/import.c:4596,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:4597,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:4597,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:4599,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:4601,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 27
    argCount: 2
    argNames:
    - ctrl
    - keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4608
      start: 4526
    functionDepth: 3
    functionLinenumber: 4526
    functionLinenumberEnd: 4608
    functionName: revocation_present
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 1
    functionsReached:
    - keyid_from_fingerprint
    - keyserver_any_configured
    - keyserver_import_fpr
    - keystr_from_pk
    - _
    - IS_KEY_SIG
    - gpg_err_code
    - IS_KEY_REV
    - log_info
    - xstrdup
    - xfree
    - get_pubkey_byfpr_fast
    - keystr
    linkageType: ''
    returnType: void
    signature: void revocation_present (ctrl_t ctrl, kbnode_t keyblock)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/import.c:4637,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/import.c:4646,1
    - Dst: cmp_signatures
      Src: /src/gnupg/g10/import.c:4647,1
    - Dst: clone_kbnode
      Src: /src/gnupg/g10/import.c:4656,1
    - Dst: insert_kbnode
      Src: /src/gnupg/g10/import.c:4657,1
    - Dst: get_user_id_native
      Src: /src/gnupg/g10/import.c:4662,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:4663,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:4663,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:4664,1
    - Dst: xfree
      Src: /src/gnupg/g10/import.c:4665,1
    - Dst: IS_KEY_SIG
      Src: /src/gnupg/g10/import.c:4677,1
    - Dst: IS_KEY_SIG
      Src: /src/gnupg/g10/import.c:4686,1
    - Dst: cmp_signatures
      Src: /src/gnupg/g10/import.c:4687,1
    - Dst: clone_kbnode
      Src: /src/gnupg/g10/import.c:4696,1
    - Dst: insert_kbnode
      Src: /src/gnupg/g10/import.c:4697,1
    - Dst: log_info
      Src: /src/gnupg/g10/import.c:4701,1
    - Dst: _
      Src: /src/gnupg/g10/import.c:4701,1
    - Dst: keystr
      Src: /src/gnupg/g10/import.c:4702,1
    - Dst: cmp_user_ids
      Src: /src/gnupg/g10/import.c:4715,1
    - Dst: merge_sigs
      Src: /src/gnupg/g10/import.c:4720,1
    - Dst: cmp_user_ids
      Src: /src/gnupg/g10/import.c:4735,1
    - Dst: append_new_uid
      Src: /src/gnupg/g10/import.c:4740,1
    - Dst: cmp_public_keys
      Src: /src/gnupg/g10/import.c:4758,1
    - Dst: append_key
      Src: /src/gnupg/g10/import.c:4763,1
    - Dst: cmp_public_keys
      Src: /src/gnupg/g10/import.c:4774,1
    - Dst: append_key
      Src: /src/gnupg/g10/import.c:4779,1
    - Dst: cmp_public_keys
      Src: /src/gnupg/g10/import.c:4799,1
    - Dst: merge_keysigs
      Src: /src/gnupg/g10/import.c:4805,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 111
    argCount: 11
    argNames:
    - ctrl
    - options
    - keyblock_orig
    - keyblock
    - keyid
    - curtime
    - origin
    - url
    - n_uids
    - n_sigs
    - n_subk
    argTypes:
    - ctrl_t
    - unsigned int
    - kbnode_t
    - kbnode_t
    - u32*
    - u32
    - int
    - char*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4813
      start: 4622
    functionDepth: 6
    functionLinenumber: 4622
    functionLinenumberEnd: 4813
    functionName: merge_blocks
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 1
    functionsReached:
    - append_new_uid
    - clone_kbnode
    - merge_keysigs
    - cmp_signatures
    - cmp_public_keys
    - append_key
    - _
    - insert_kbnode
    - IS_KEY_SIG
    - IS_KEY_REV
    - log_info
    - xfree
    - keystr
    - merge_sigs
    - get_user_id_native
    - cmp_user_ids
    linkageType: ''
    returnType: int
    signature: "int merge_blocks (ctrl_t ctrl, unsigned int options,\n              kbnode_t
      keyblock_orig, kbnode_t keyblock,\n              u32 *keyid, u32 curtime, int
      origin, const char *url,\n\t      int *n_uids, int *n_sigs, int *n_subk )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/import.c:4831,1
    - Dst: clone_kbnode
      Src: /src/gnupg/g10/import.c:4848,1
    - Dst: insert_key_origin_uid
      Src: /src/gnupg/g10/import.c:4852,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/import.c:4856,1
    - Dst: insert_kbnode
      Src: /src/gnupg/g10/import.c:4863,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/import.c:4867,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 7
    argNames:
    - options
    - keyblock
    - node
    - curtime
    - origin
    - url
    - n_sigs
    argTypes:
    - unsigned int
    - kbnode_t
    - kbnode_t
    - u32
    - int
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4879
      start: 4822
    functionDepth: 3
    functionLinenumber: 4822
    functionLinenumberEnd: 4879
    functionName: append_new_uid
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 1
    functionsReached:
    - clone_kbnode
    - log_assert
    - release_kbnode
    - insert_key_origin_uid
    - insert_kbnode
    - add_kbnode
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t append_new_uid (unsigned int options,\n                kbnode_t
      keyblock, kbnode_t node, u32 curtime,\n                int origin, const char
      *url, int *n_sigs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/import.c:4892,1
    - Dst: log_assert
      Src: /src/gnupg/g10/import.c:4893,1
    - Dst: IS_SUBKEY_SIG
      Src: /src/gnupg/g10/import.c:4899,1
    - Dst: IS_SUBKEY_REV
      Src: /src/gnupg/g10/import.c:4900,1
    - Dst: cmp_signatures
      Src: /src/gnupg/g10/import.c:4905,1
    - Dst: clone_kbnode
      Src: /src/gnupg/g10/import.c:4915,1
    - Dst: insert_kbnode
      Src: /src/gnupg/g10/import.c:4916,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - dst
    - src
    - n_sigs
    argTypes:
    - kbnode_t
    - kbnode_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4924
      start: 4886
    functionDepth: 3
    functionLinenumber: 4886
    functionLinenumberEnd: 4924
    functionName: merge_sigs
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 1
    functionsReached:
    - clone_kbnode
    - log_assert
    - cmp_signatures
    - IS_SUBKEY_SIG
    - IS_SUBKEY_REV
    - insert_kbnode
    linkageType: ''
    returnType: int
    signature: int merge_sigs (kbnode_t dst, kbnode_t src, int *n_sigs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/import.c:4936,1
    - Dst: clone_kbnode
      Src: /src/gnupg/g10/import.c:4972,1
    - Dst: insert_kbnode
      Src: /src/gnupg/g10/import.c:4973,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 3
    argNames:
    - dst
    - src
    - n_sigs
    argTypes:
    - kbnode_t
    - kbnode_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4981
      start: 4930
    functionDepth: 3
    functionLinenumber: 4930
    functionLinenumberEnd: 4981
    functionName: merge_keysigs
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 1
    functionsReached:
    - insert_kbnode
    - clone_kbnode
    - log_assert
    linkageType: ''
    returnType: int
    signature: int merge_keysigs (kbnode_t dst, kbnode_t src, int *n_sigs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/import.c:4993,1
    - Dst: clone_kbnode
      Src: /src/gnupg/g10/import.c:5000,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/import.c:5001,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - keyblock
    - node
    - n_sigs
    argTypes:
    - kbnode_t
    - kbnode_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5013
      start: 4988
    functionDepth: 3
    functionLinenumber: 4988
    functionLinenumberEnd: 5013
    functionName: append_key
    functionSourceFile: /src/gnupg/g10/import.c
    functionUses: 1
    functionsReached:
    - clone_kbnode
    - add_kbnode
    - log_assert
    linkageType: ''
    returnType: int
    signature: int append_key (kbnode_t keyblock, kbnode_t node, int *n_sigs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: new_armor_context
      Src: /src/gnupg/g10/dearmor.c:46,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/dearmor.c:50,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/dearmor.c:51,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/dearmor.c:51,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/dearmor.c:53,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/dearmor.c:55,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/dearmor.c:58,1
    - Dst: log_error
      Src: /src/gnupg/g10/dearmor.c:59,1
    - Dst: _
      Src: /src/gnupg/g10/dearmor.c:59,1
    - Dst: strerror
      Src: /src/gnupg/g10/dearmor.c:60,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/dearmor.c:64,1
    - Dst: open_outfile
      Src: /src/gnupg/g10/dearmor.c:66,1
    - Dst: iobuf_copy
      Src: /src/gnupg/g10/dearmor.c:69,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/dearmor.c:70,1
    - Dst: log_error
      Src: /src/gnupg/g10/dearmor.c:71,1
    - Dst: _
      Src: /src/gnupg/g10/dearmor.c:71,1
    - Dst: iobuf_get_fname_nonnull
      Src: /src/gnupg/g10/dearmor.c:72,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/dearmor.c:72,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/dearmor.c:73,1
    - Dst: log_error
      Src: /src/gnupg/g10/dearmor.c:74,1
    - Dst: _
      Src: /src/gnupg/g10/dearmor.c:74,1
    - Dst: iobuf_get_fname_nonnull
      Src: /src/gnupg/g10/dearmor.c:75,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/dearmor.c:75,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/dearmor.c:79,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/dearmor.c:81,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/dearmor.c:82,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/dearmor.c:83,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 85
    functionName: dearmor_file
    functionSourceFile: /src/gnupg/g10/dearmor.c
    functionUses: 1
    functionsReached:
    - is_secured_file
    - iobuf_close
    - iobuf_get_fd
    - gpg_error_from_syserror
    - log_error
    - new_armor_context
    - iobuf_get_fname_nonnull
    - iobuf_open
    - _
    - iobuf_cancel
    - open_outfile
    - gpg_strerror
    - iobuf_copy
    - gpg_err_set_errno
    - iobuf_error
    - strerror
    - push_armor_filter
    - release_armor_context
    linkageType: ''
    returnType: int
    signature: int dearmor_file( const char *fname )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: new_armor_context
      Src: /src/gnupg/g10/dearmor.c:98,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/dearmor.c:101,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/dearmor.c:102,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/dearmor.c:102,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/dearmor.c:104,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/dearmor.c:106,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/dearmor.c:109,1
    - Dst: log_error
      Src: /src/gnupg/g10/dearmor.c:110,1
    - Dst: _
      Src: /src/gnupg/g10/dearmor.c:110,1
    - Dst: strerror
      Src: /src/gnupg/g10/dearmor.c:111,1
    - Dst: open_outfile
      Src: /src/gnupg/g10/dearmor.c:116,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/dearmor.c:121,1
    - Dst: iobuf_copy
      Src: /src/gnupg/g10/dearmor.c:123,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/dearmor.c:124,1
    - Dst: log_error
      Src: /src/gnupg/g10/dearmor.c:125,1
    - Dst: _
      Src: /src/gnupg/g10/dearmor.c:125,1
    - Dst: iobuf_get_fname_nonnull
      Src: /src/gnupg/g10/dearmor.c:126,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/dearmor.c:126,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/dearmor.c:127,1
    - Dst: log_error
      Src: /src/gnupg/g10/dearmor.c:128,1
    - Dst: _
      Src: /src/gnupg/g10/dearmor.c:128,1
    - Dst: iobuf_get_fname_nonnull
      Src: /src/gnupg/g10/dearmor.c:129,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/dearmor.c:129,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/dearmor.c:133,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/dearmor.c:135,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/dearmor.c:136,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/dearmor.c:137,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 139
    functionName: enarmor_file
    functionSourceFile: /src/gnupg/g10/dearmor.c
    functionUses: 1
    functionsReached:
    - is_secured_file
    - iobuf_close
    - iobuf_get_fd
    - gpg_error_from_syserror
    - log_error
    - new_armor_context
    - iobuf_get_fname_nonnull
    - iobuf_open
    - _
    - iobuf_cancel
    - open_outfile
    - gpg_strerror
    - iobuf_copy
    - gpg_err_set_errno
    - iobuf_error
    - strerror
    - push_armor_filter
    - release_armor_context
    linkageType: ''
    returnType: int
    signature: int enarmor_file( const char *fname )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/call-agent.c:124,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/call-agent.c:130,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/call-agent.c:134,1
    - Dst: write_status
      Src: /src/gnupg/g10/call-agent.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 140
    functionName: status_sc_op_failure
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 6
    functionsReached:
    - write_status_text
    - write_status
    - gpg_err_code
    linkageType: ''
    returnType: void
    signature: void status_sc_op_failure (int rc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:152,1
    - Dst: gpg_proxy_pinentry_notify
      Src: /src/gnupg/g10/call-agent.c:154,1
    - Dst: log_error
      Src: /src/gnupg/g10/call-agent.c:156,1
    - Dst: _
      Src: /src/gnupg/g10/call-agent.c:156,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:160,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:161,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/g10/call-agent.c:164,1
    - Dst: have_static_passphrase
      Src: /src/gnupg/g10/call-agent.c:165,1
    - Dst: get_static_passphrase
      Src: /src/gnupg/g10/call-agent.c:167,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g10/call-agent.c:168,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-agent.c:168,1
    - Dst: emit_status_need_passphrase
      Src: /src/gnupg/g10/call-agent.c:176,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:181,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/call-agent.c:182,1
    - Dst: cpr_get_hidden
      Src: /src/gnupg/g10/call-agent.c:183,1
    - Dst: _
      Src: /src/gnupg/g10/call-agent.c:183,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/call-agent.c:184,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:186,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g10/call-agent.c:188,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-agent.c:188,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:189,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/g10/call-agent.c:191,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:193,1
    - Dst: atoi
      Src: /src/gnupg/g10/call-agent.c:197,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/call-agent.c:202,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g10/call-agent.c:204,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:206,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/call-agent.c:210,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g10/call-agent.c:211,1
    - Dst: log_debug
      Src: /src/gnupg/g10/call-agent.c:215,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 145
    functionDepth: 6
    functionLinenumber: 145
    functionLinenumberEnd: 218
    functionName: default_inq_cb
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 1
    functionsReached:
    - cpr_kill_prompt
    - cpr_get_hidden
    - strlen
    - log_error
    - assuan_begin_confidential
    - _
    - tty_printf
    - log_debug
    - have_static_passphrase
    - cpr_get_answer_is_yes
    - write_status_text
    - gpg_error
    - xfree
    - emit_status_need_passphrase
    - gpg_proxy_pinentry_notify
    - get_static_passphrase
    - assuan_send_data
    - atoi
    - snprintf
    - assuan_end_confidential
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t default_inq_cb (void *opaque, const char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: warn_server_version_mismatch
      Src: /src/gnupg/g10/call-agent.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - servername
    - mode
    argTypes:
    - assuan_context_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: warn_version_mismatch
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 1
    functionsReached:
    - warn_server_version_mismatch
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t warn_version_mismatch (assuan_context_t ctx, const char
      *servername, int mode)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: start_new_gpg_agent
      Src: /src/gnupg/g10/call-agent.c:249,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/call-agent.c:257,1
    - Dst: log_info
      Src: /src/gnupg/g10/call-agent.c:264,1
    - Dst: _
      Src: /src/gnupg/g10/call-agent.c:264,1
    - Dst: warn_version_mismatch
      Src: /src/gnupg/g10/call-agent.c:268,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:273,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:277,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/call-agent.c:282,1
    - Dst: str_pinentry_mode
      Src: /src/gnupg/g10/call-agent.c:283,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:284,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:286,1
    - Dst: log_error
      Src: /src/gnupg/g10/call-agent.c:289,1
    - Dst: str_pinentry_mode
      Src: /src/gnupg/g10/call-agent.c:290,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/call-agent.c:291,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/call-agent.c:292,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/call-agent.c:299,1
    - Dst: str_request_origin
      Src: /src/gnupg/g10/call-agent.c:300,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:301,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:303,1
    - Dst: log_error
      Src: /src/gnupg/g10/call-agent.c:306,1
    - Dst: str_request_origin
      Src: /src/gnupg/g10/call-agent.c:307,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/call-agent.c:308,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/call-agent.c:309,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:318,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:321,1
    - Dst: log_error
      Src: /src/gnupg/g10/call-agent.c:322,1
    - Dst: _
      Src: /src/gnupg/g10/call-agent.c:322,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/call-agent.c:324,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/call-agent.c:325,1
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:338,1
    - Dst: warn_version_mismatch
      Src: /src/gnupg/g10/call-agent.c:341,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:343,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/call-agent.c:350,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/call-agent.c:354,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/call-agent.c:357,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/call-agent.c:360,1
    - Dst: log_info
      Src: /src/gnupg/g10/call-agent.c:361,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/call-agent.c:361,1
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/call-agent.c:366,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/call-agent.c:370,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/call-agent.c:371,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:372,1
    - Dst: agent_release_card_info
      Src: /src/gnupg/g10/call-agent.c:375,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 70
    argCount: 2
    argNames:
    - ctrl
    - flag_for_card
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 383
    functionName: start_agent
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 22
    functionsReached:
    - warn_version_mismatch
    - str_request_origin
    - log_error
    - _
    - agent_release_card_info
    - log_info
    - write_status_error
    - gnupg_compliance_option_string
    - write_status_text
    - assuan_transact
    - gpg_error
    - xfree
    - gpg_strerror
    - memset
    - start_new_gpg_agent
    - str_pinentry_mode
    - is_status_enabled
    - gpg_err_code
    - xasprintf
    linkageType: ''
    returnType: int
    signature: int start_agent (ctrl_t ctrl, int flag_for_card)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: percent_plus_unescape
      Src: /src/gnupg/g10/call-agent.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: unescape_status_string
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 1
    functionsReached:
    - percent_plus_unescape
    linkageType: ''
    returnType: char
    signature: 'char *

      unescape_status_string (const unsigned char *s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/g10/call-agent.c:406,1
    - Dst: xtoi_2
      Src: /src/gnupg/g10/call-agent.c:411,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - hexstr
    - fpr
    - fprlen
    argTypes:
    - char*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 414
    functionName: unhexify_fpr
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 1
    functionsReached:
    - hexdigitp
    - xtoi_2
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int unhexify_fpr (const char *hexstr, unsigned char *fpr,
      unsigned int fprlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/g10/call-agent.c:425,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/call-agent.c:427,1
    - Dst: memcpy
      Src: /src/gnupg/g10/call-agent.c:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 434
    functionName: store_serialno
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 1
    functionsReached:
    - hexdigitp
    - xtrymalloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      store_serialno (const char *line)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - opaque
    - buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: dummy_data_cb
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t dummy_data_cb (void *opaque, const void *buffer, size_t
      length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:457,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:459,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:462,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:465,1
    - Dst: hexdigitp
      Src: /src/gnupg/g10/call-agent.c:466,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:468,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:469,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/call-agent.c:470,1
    - Dst: out_of_core
      Src: /src/gnupg/g10/call-agent.c:472,1
    - Dst: memcpy
      Src: /src/gnupg/g10/call-agent.c:473,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 478
    functionName: get_serialno_cb
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - out_of_core
    - spacep
    - gpg_error
    - memcmp
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_serialno_cb (void *opaque, const char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:491,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:492,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:493,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:494,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:495,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:496,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:497,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:498,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:501,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:503,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:506,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/call-agent.c:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct agent_card_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 511
    functionName: agent_release_card_info
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 1
    functionsReached:
    - DIM
    - xfree
    - free_strlist
    linkageType: ''
    returnType: void
    signature: void agent_release_card_info (struct agent_card_info_s *info)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:523,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:525,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:528,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:530,1
    - Dst: unescape_status_string
      Src: /src/gnupg/g10/call-agent.c:531,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:533,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:535,1
    - Dst: store_serialno
      Src: /src/gnupg/g10/call-agent.c:536,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-agent.c:537,1
    - Dst: xtoi_2
      Src: /src/gnupg/g10/call-agent.c:538,1
    - Dst: xtoi_2
      Src: /src/gnupg/g10/call-agent.c:539,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:541,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:543,1
    - Dst: unescape_status_string
      Src: /src/gnupg/g10/call-agent.c:544,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:546,1
    - Dst: sscanf
      Src: /src/gnupg/g10/call-agent.c:550,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:553,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:555,1
    - Dst: unescape_status_string
      Src: /src/gnupg/g10/call-agent.c:556,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:558,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:560,1
    - Dst: unescape_status_string
      Src: /src/gnupg/g10/call-agent.c:561,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:563,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:567,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:569,1
    - Dst: unescape_status_string
      Src: /src/gnupg/g10/call-agent.c:570,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:572,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:574,1
    - Dst: unescape_status_string
      Src: /src/gnupg/g10/call-agent.c:575,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:577,1
    - Dst: strtoul
      Src: /src/gnupg/g10/call-agent.c:579,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:581,1
    - Dst: unescape_status_string
      Src: /src/gnupg/g10/call-agent.c:585,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:588,1
    - Dst: atoi
      Src: /src/gnupg/g10/call-agent.c:590,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:591,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:593,1
    - Dst: atoi
      Src: /src/gnupg/g10/call-agent.c:597,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:598,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:600,1
    - Dst: atoi
      Src: /src/gnupg/g10/call-agent.c:605,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:606,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:608,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:611,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:614,1
    - Dst: unescape_status_string
      Src: /src/gnupg/g10/call-agent.c:619,1
    - Dst: strtok
      Src: /src/gnupg/g10/call-agent.c:622,1
    - Dst: strtok
      Src: /src/gnupg/g10/call-agent.c:622,1
    - Dst: strchr
      Src: /src/gnupg/g10/call-agent.c:624,1
    - Dst: strcmp
      Src: /src/gnupg/g10/call-agent.c:629,1
    - Dst: strcmp
      Src: /src/gnupg/g10/call-agent.c:631,1
    - Dst: strcmp
      Src: /src/gnupg/g10/call-agent.c:633,1
    - Dst: strcmp
      Src: /src/gnupg/g10/call-agent.c:635,1
    - Dst: strcmp
      Src: /src/gnupg/g10/call-agent.c:637,1
    - Dst: strtoul
      Src: /src/gnupg/g10/call-agent.c:638,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:641,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:644,1
    - Dst: atoi
      Src: /src/gnupg/g10/call-agent.c:646,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:647,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:649,1
    - Dst: unhexify_fpr
      Src: /src/gnupg/g10/call-agent.c:652,1
    - Dst: unhexify_fpr
      Src: /src/gnupg/g10/call-agent.c:654,1
    - Dst: unhexify_fpr
      Src: /src/gnupg/g10/call-agent.c:656,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:658,1
    - Dst: atoi
      Src: /src/gnupg/g10/call-agent.c:660,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:661,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:663,1
    - Dst: strtoul
      Src: /src/gnupg/g10/call-agent.c:666,1
    - Dst: strtoul
      Src: /src/gnupg/g10/call-agent.c:668,1
    - Dst: strtoul
      Src: /src/gnupg/g10/call-agent.c:670,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:672,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:677,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:679,1
    - Dst: strncmp
      Src: /src/gnupg/g10/call-agent.c:681,1
    - Dst: atoi
      Src: /src/gnupg/g10/call-agent.c:683,1
    - Dst: unhexify_fpr
      Src: /src/gnupg/g10/call-agent.c:684,1
    - Dst: unhexify_fpr
      Src: /src/gnupg/g10/call-agent.c:686,1
    - Dst: unhexify_fpr
      Src: /src/gnupg/g10/call-agent.c:688,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:690,1
    - Dst: atoi
      Src: /src/gnupg/g10/call-agent.c:692,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:693,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:695,1
    - Dst: unhexify_fpr
      Src: /src/gnupg/g10/call-agent.c:698,1
    - Dst: unhexify_fpr
      Src: /src/gnupg/g10/call-agent.c:700,1
    - Dst: unhexify_fpr
      Src: /src/gnupg/g10/call-agent.c:702,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:704,1
    - Dst: sscanf
      Src: /src/gnupg/g10/call-agent.c:710,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:712,1
    - Dst: strtoul
      Src: /src/gnupg/g10/call-agent.c:717,1
    - Dst: openpgp_is_curve_supported
      Src: /src/gnupg/g10/call-agent.c:720,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:723,1
    - Dst: strchr
      Src: /src/gnupg/g10/call-agent.c:724,1
    - Dst: log_assert
      Src: /src/gnupg/g10/call-agent.c:727,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:728,1
    - Dst: unescape_status_string
      Src: /src/gnupg/g10/call-agent.c:729,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:731,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:733,1
    - Dst: strtoul
      Src: /src/gnupg/g10/call-agent.c:735,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:736,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/call-agent.c:739,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:741,1
    - Dst: unescape_status_string
      Src: /src/gnupg/g10/call-agent.c:743,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:751,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:753,1
    - Dst: strchr
      Src: /src/gnupg/g10/call-agent.c:754,1
    - Dst: log_assert
      Src: /src/gnupg/g10/call-agent.c:759,1
    - Dst: unescape_status_string
      Src: /src/gnupg/g10/call-agent.c:760,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:762,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:764,1
    - Dst: strncmp
      Src: /src/gnupg/g10/call-agent.c:766,1
    - Dst: atoi
      Src: /src/gnupg/g10/call-agent.c:771,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:776,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g10/call-agent.c:778,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/call-agent.c:778,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 197
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 785
    functionName: learn_status_cb
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - strlen
    - log_assert
    - xstrdup
    - store_serialno
    - unescape_status_string
    - xtoi_2
    - DIM
    - strncmp
    - strtoul
    - openpgp_is_curve_supported
    - spacep
    - strcmp
    - strchr
    - xfree
    - unhexify_fpr
    - append_to_strlist
    - strtok
    - atoi
    - memcmp
    - sscanf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t learn_status_cb (void *opaque, const char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:805,1
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:806,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:808,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:813,1
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/call-agent.c:819,1
    - Dst: agent_release_card_info
      Src: /src/gnupg/g10/call-agent.c:822,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - info
    - force
    argTypes:
    - struct agent_card_info_s*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 825
    functionName: agent_scd_learn
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 1
    functionsReached:
    - assuan_transact
    - agent_release_card_info
    - memset
    - start_agent
    - agent_scd_getattr
    linkageType: ''
    returnType: int
    signature: int agent_scd_learn (struct agent_card_info_s *info, int force)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:847,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:849,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:852,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/call-agent.c:863,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:866,1
    - Dst: split_fields
      Src: /src/gnupg/g10/call-agent.c:869,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:869,1
    - Dst: parse_timestamp
      Src: /src/gnupg/g10/call-agent.c:880,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/call-agent.c:888,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:891,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-agent.c:897,1
    - Dst: mem2str
      Src: /src/gnupg/g10/call-agent.c:898,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:901,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:907,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/call-agent.c:910,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:913,1
    - Dst: free_keypair_info
      Src: /src/gnupg/g10/call-agent.c:938,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:939,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 78
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 941
    functionName: scd_keypairinfo_status_cb
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - split_fields
    - strlen
    - DIM
    - spacep
    - parse_timestamp
    - xtrystrdup
    - gpg_error
    - memcmp
    - xfree
    - xtrycalloc
    - mem2str
    - free_keypair_info
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_keypairinfo_status_cb (void *opaque, const char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:958,1
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:961,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:968,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:968,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:970,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:970,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:972,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:977,1
    - Dst: free_keypair_info
      Src: /src/gnupg/g10/call-agent.c:980,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ctrl
    - keyref
    - r_list
    argTypes:
    - ctrl_t
    - char*
    - keypair_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 984
    functionName: agent_scd_keypairinfo
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - snprintf
    - DIM
    - assuan_transact
    - gpg_error
    - memset
    - start_agent
    - free_keypair_info
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_scd_keypairinfo (ctrl_t ctrl, const char *keyref,
      keypair_info_t *r_list)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:1009,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1015,1
    - Dst: strcmp
      Src: /src/gnupg/g10/call-agent.c:1019,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1021,1
    - Dst: strcmp
      Src: /src/gnupg/g10/call-agent.c:1024,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1026,1
    - Dst: strcmp
      Src: /src/gnupg/g10/call-agent.c:1029,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1031,1
    - Dst: strcmp
      Src: /src/gnupg/g10/call-agent.c:1034,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1036,1
    - Dst: strcmp
      Src: /src/gnupg/g10/call-agent.c:1039,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1041,1
    - Dst: init_membuf
      Src: /src/gnupg/g10/call-agent.c:1051,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:1053,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:1053,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1054,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:1058,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:1060,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:1062,1
    - Dst: buf16_to_uint
      Src: /src/gnupg/g10/call-agent.c:1065,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:1067,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - hexapdu
    - r_sw
    argTypes:
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1072
    functionName: agent_scd_apdu
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - gpg_error_from_syserror
    - snprintf
    - DIM
    - buf16_to_uint
    - assuan_transact
    - strcmp
    - gpg_error
    - xfree
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_scd_apdu (const char *hexapdu, unsigned int *r_sw)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:1081,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:1081,1
    - Dst: strchr
      Src: /src/gnupg/g10/call-agent.c:1083,1
    - Dst: log_error
      Src: /src/gnupg/g10/call-agent.c:1085,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:1086,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:1089,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1095,1
    - Dst: log_log
      Src: /src/gnupg/g10/call-agent.c:1098,1
    - Dst: _
      Src: /src/gnupg/g10/call-agent.c:1098,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/call-agent.c:1098,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ctrl
    - hexgrip
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1100
    functionName: agent_keytotpm
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 1
    functionsReached:
    - log_error
    - snprintf
    - DIM
    - _
    - assuan_transact
    - strchr
    - gpg_error
    - log_log
    - gpg_strerror
    - start_agent
    linkageType: ''
    returnType: int
    signature: int agent_keytotpm (ctrl_t ctrl, const char *hexgrip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:1116,1
    - Dst: strchr
      Src: /src/gnupg/g10/call-agent.c:1118,1
    - Dst: log_error
      Src: /src/gnupg/g10/call-agent.c:1120,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:1121,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:1125,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:1125,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:1129,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1134,1
    - Dst: status_sc_op_failure
      Src: /src/gnupg/g10/call-agent.c:1136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - hexgrip
    - keyno
    - force
    - serialno
    - timestamp
    - ecdh_param_str
    argTypes:
    - char*
    - int
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1138
    functionName: agent_keytocard
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - log_error
    - snprintf
    - DIM
    - status_sc_op_failure
    - assuan_transact
    - gpg_error
    - strchr
    - memset
    - start_agent
    linkageType: ''
    returnType: int
    signature: "int agent_keytocard (const char *hexgrip, int keyno, int force,\n
      \                const char *serialno, const char *timestamp,\n                 const
      char *ecdh_param_str)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:1160,1
    - Dst: percent_plus_unescape
      Src: /src/gnupg/g10/call-agent.c:1162,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:1164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1168
    functionName: getattr_one_status_cb
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - percent_plus_unescape
    - gpg_error_from_syserror
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t getattr_one_status_cb (void *opaque, const char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:1186,1
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:1188,1
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:1191,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-agent.c:1195,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:1195,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:1196,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/call-agent.c:1197,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/call-agent.c:1197,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:1199,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1203,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:1210,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:1215,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - name
    - r_value
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1218
    functionName: agent_scd_getattr_one
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - strlen
    - DIM
    - assuan_transact
    - gpg_error
    - memset
    - xfree
    - start_agent
    - stpcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_scd_getattr_one (const char *name, char **r_value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:1242,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:1245,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-agent.c:1248,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:1248,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:1249,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/call-agent.c:1250,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/call-agent.c:1250,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:1252,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1257,1
    - Dst: strcmp
      Src: /src/gnupg/g10/call-agent.c:1259,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1263,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - name
    - info
    argTypes:
    - char*
    - struct agent_card_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1235
    functionDepth: 1
    functionLinenumber: 1235
    functionLinenumberEnd: 1271
    functionName: agent_scd_getattr
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 4
    functionsReached:
    - strlen
    - DIM
    - assuan_transact
    - strcmp
    - gpg_error
    - memset
    - start_agent
    - stpcpy
    linkageType: ''
    returnType: int
    signature: int agent_scd_getattr (const char *name, struct agent_card_info_s *info)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:1288,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:1291,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-agent.c:1294,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:1294,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:1295,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/call-agent.c:1297,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/call-agent.c:1297,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:1301,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:1302,1
    - Dst: sprintf
      Src: /src/gnupg/g10/call-agent.c:1305,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:1315,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1319,1
    - Dst: status_sc_op_failure
      Src: /src/gnupg/g10/call-agent.c:1323,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - name
    - value_arg
    - valuelen
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1325
    functionName: agent_scd_setattr
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - strlen
    - sprintf
    - DIM
    - status_sc_op_failure
    - assuan_transact
    - gpg_error
    - memset
    - start_agent
    - stpcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_scd_setattr (const char *name, const void *value_arg,
      size_t valuelen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:1338,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g10/call-agent.c:1340,1
    - Dst: default_inq_cb
      Src: /src/gnupg/g10/call-agent.c:1344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1347
    functionName: inq_writecert_parms
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - default_inq_cb
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t inq_writecert_parms (void *opaque, const char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:1363,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:1365,1
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:1369,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:1371,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:1371,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - certidstr
    - certdata
    - certdatalen
    argTypes:
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1354
    functionDepth: 1
    functionLinenumber: 1354
    functionLinenumberEnd: 1381
    functionName: agent_scd_writecert
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - snprintf
    - DIM
    - assuan_transact
    - memset
    - start_agent
    linkageType: ''
    returnType: int
    signature: "int agent_scd_writecert (const char *certidstr,\n                     const
      unsigned char *certdata, size_t certdatalen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:1393,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:1395,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:1398,1
    - Dst: strtoul
      Src: /src/gnupg/g10/call-agent.c:1400,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:1402,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/call-agent.c:1404,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1386
    functionDepth: 3
    functionLinenumber: 1386
    functionLinenumberEnd: 1408
    functionName: scd_genkey_cb
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - write_status_text
    - memcmp
    - spacep
    - strtoul
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_genkey_cb (void *opaque, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:1426,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:1428,1
    - Dst: epoch2isotime
      Src: /src/gnupg/g10/call-agent.c:1433,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:1437,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:1437,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1443,1
    - Dst: status_sc_op_failure
      Src: /src/gnupg/g10/call-agent.c:1447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - keyno
    - force
    - createtime
    argTypes:
    - int
    - int
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1449
    functionName: agent_scd_genkey
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - snprintf
    - DIM
    - status_sc_op_failure
    - assuan_transact
    - memset
    - epoch2isotime
    - start_agent
    linkageType: ''
    returnType: int
    signature: int agent_scd_genkey (int keyno, int force, u32 *createtime)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:1471,1
    - Dst: strcpy
      Src: /src/gnupg/g10/call-agent.c:1476,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:1478,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:1478,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1480,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:1485,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:1492,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - r_serialno
    - demand
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1495
    functionName: agent_scd_serialno
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 2
    functionsReached:
    - snprintf
    - DIM
    - assuan_transact
    - strcpy
    - xfree
    - start_agent
    linkageType: ''
    returnType: int
    signature: int agent_scd_serialno (char **r_serialno, const char *demand)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:1513,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:1516,1
    - Dst: init_membuf
      Src: /src/gnupg/g10/call-agent.c:1522,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:1524,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:1524,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1525,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:1531,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:1531,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:1534,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:1536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - certidstr
    - r_buf
    - r_buflen
    argTypes:
    - char*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1539
    functionName: agent_scd_readcert
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - snprintf
    - DIM
    - assuan_transact
    - gpg_error
    - memset
    - xfree
    - start_agent
    linkageType: ''
    returnType: int
    signature: "int agent_scd_readcert (const char *certidstr,\n                    void
      **r_buf, size_t *r_buflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:1552,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/call-agent.c:1565,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:1568,1
    - Dst: split_fields
      Src: /src/gnupg/g10/call-agent.c:1571,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:1571,1
    - Dst: parse_timestamp
      Src: /src/gnupg/g10/call-agent.c:1576,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:1586,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1588
    functionName: readkey_status_cb
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - split_fields
    - DIM
    - parse_timestamp
    - xtrystrdup
    - xfree
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t readkey_status_cb (void *opaque, const char *line)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:1608,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:1615,1
    - Dst: init_membuf
      Src: /src/gnupg/g10/call-agent.c:1619,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:1620,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:1620,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1624,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:1630,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:1630,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:1633,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:1635,1
    - Dst: gcry_sexp_new
      Src: /src/gnupg/g10/call-agent.c:1638,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:1641,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - ctrl
    - keyrefstr
    - r_result
    - r_keytime
    argTypes:
    - ctrl_t
    - char*
    - gcry_sexp_t*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1646
    functionName: agent_scd_readkey
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - gpg_error_from_syserror
    - snprintf
    - DIM
    - assuan_transact
    - memset
    - xfree
    - start_agent
    - gcry_sexp_new
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_scd_readkey (ctrl_t ctrl, const char *keyrefstr,\n
      \                  gcry_sexp_t *r_result, u32 *r_keytime)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:1664,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:1666,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:1669,1
    - Dst: hexdigitp
      Src: /src/gnupg/g10/call-agent.c:1674,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:1678,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/call-agent.c:1680,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1657
    functionDepth: 1
    functionLinenumber: 1657
    functionLinenumberEnd: 1684
    functionName: card_cardlist_cb
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - spacep
    - add_to_strlist
    - gpg_error
    - memcmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t card_cardlist_cb (void *opaque, const char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:1699,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:1701,1
    - Dst: strcpy
      Src: /src/gnupg/g10/call-agent.c:1705,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1707,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/call-agent.c:1716,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - result
    argTypes:
    - strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1692
    functionDepth: 1
    functionLinenumber: 1692
    functionLinenumberEnd: 1719
    functionName: agent_scd_cardlist
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - strcpy
    - memset
    - start_agent
    - free_strlist
    linkageType: ''
    returnType: int
    signature: int agent_scd_cardlist (strlist_t *result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:1734,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:1738,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:1738,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - appname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1725
    functionDepth: 1
    functionLinenumber: 1725
    functionLinenumberEnd: 1743
    functionName: agent_scd_switchapp
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - snprintf
    - DIM
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_scd_switchapp (const char *appname)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:1762,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:1764,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:1767,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/call-agent.c:1776,1
    - Dst: hexdigitp
      Src: /src/gnupg/g10/call-agent.c:1780,1
    - Dst: memcpy
      Src: /src/gnupg/g10/call-agent.c:1786,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:1794,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:1803,1
    - Dst: hexdigitp
      Src: /src/gnupg/g10/call-agent.c:1806,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/call-agent.c:1812,1
    - Dst: memcpy
      Src: /src/gnupg/g10/call-agent.c:1816,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-agent.c:1824,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/call-agent.c:1830,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:1840,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:1842,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:1846,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:1848,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 72
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1753
    functionDepth: 1
    functionLinenumber: 1753
    functionLinenumberEnd: 1850
    functionName: card_keyinfo_cb
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - xtrymalloc
    - gpg_error_from_syserror
    - spacep
    - xtrystrdup
    - gpg_error
    - memcmp
    - xfree
    - xtrycalloc
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t card_keyinfo_cb (void *opaque, const char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:1862,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:1863,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:1864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - l
    argTypes:
    - keypair_info_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1854
    functionDepth: 0
    functionLinenumber: 1854
    functionLinenumberEnd: 1866
    functionName: free_keypair_info
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 3
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void free_keypair_info (keypair_info_t l)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:1890,1
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:1893,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:1894,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:1897,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1901,1
    - Dst: free_keypair_info
      Src: /src/gnupg/g10/call-agent.c:1910,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - keygrip
    - cap
    - result
    argTypes:
    - char*
    - int
    - keypair_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1913
    functionName: agent_scd_keyinfo
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 1
    functionsReached:
    - snprintf
    - assuan_transact
    - gpg_error
    - memset
    - start_agent
    - free_keypair_info
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_scd_keyinfo (const char *keygrip, int cap,\n                   keypair_info_t
      *result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:1935,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:1943,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:1948,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:1948,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1949,1
    - Dst: status_sc_op_failure
      Src: /src/gnupg/g10/call-agent.c:1953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - chvno
    - serialno
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1927
    functionDepth: 1
    functionLinenumber: 1927
    functionLinenumberEnd: 1955
    functionName: agent_scd_change_pin
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - snprintf
    - DIM
    - status_sc_op_failure
    - assuan_transact
    - memset
    - start_agent
    linkageType: ''
    returnType: int
    signature: int agent_scd_change_pin (int chvno, const char *serialno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:1971,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:1973,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:1978,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:1978,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:1979,1
    - Dst: status_sc_op_failure
      Src: /src/gnupg/g10/call-agent.c:1983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - serialno
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1964
    functionDepth: 1
    functionLinenumber: 1964
    functionLinenumberEnd: 1985
    functionName: agent_scd_checkpin
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - snprintf
    - DIM
    - status_sc_op_failure
    - assuan_transact
    - memset
    - start_agent
    linkageType: ''
    returnType: int
    signature: int agent_scd_checkpin  (const char *serialno)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:2014,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:2018,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2024,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:2027,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2028,1
    - Dst: percent_plus_escape
      Src: /src/gnupg/g10/call-agent.c:2034,1
    - Dst: percent_plus_escape
      Src: /src/gnupg/g10/call-agent.c:2037,1
    - Dst: percent_plus_escape
      Src: /src/gnupg/g10/call-agent.c:2040,1
    - Dst: percent_plus_escape
      Src: /src/gnupg/g10/call-agent.c:2043,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:2049,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:2049,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2058,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2059,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2060,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2061,1
    - Dst: init_membuf_secure
      Src: /src/gnupg/g10/call-agent.c:2063,1
    - Dst: assuan_get_flag
      Src: /src/gnupg/g10/call-agent.c:2064,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/g10/call-agent.c:2065,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2066,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/g10/call-agent.c:2071,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2074,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:2074,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/call-agent.c:2077,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:2078,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:2080,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:2084,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2085,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2086,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2087,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2088,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 8
    argNames:
    - cache_id
    - err_msg
    - prompt
    - desc_msg
    - newsymkey
    - repeat
    - check
    - r_passphrase
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - int
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 1994
    functionDepth: 1
    functionLinenumber: 1994
    functionLinenumberEnd: 2090
    functionName: agent_get_passphrase
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - percent_plus_escape
    - put_membuf
    - snprintf
    - assuan_end_confidential
    - DIM
    - assuan_begin_confidential
    - gpg_error_from_syserror
    - assuan_transact
    - gpg_error
    - memset
    - xfree
    - assuan_get_flag
    - start_agent
    - init_membuf_secure
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_get_passphrase (const char *cache_id,\n                      const
      char *err_msg,\n                      const char *prompt,\n                      const
      char *desc_msg,\n                      int newsymkey,\n                      int
      repeat,\n                      int check,\n                      char **r_passphrase)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:2100,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:2105,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:2110,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:2110,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - cache_id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2093
    functionDepth: 1
    functionLinenumber: 2093
    functionLinenumberEnd: 2115
    functionName: agent_clear_passphrase
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - snprintf
    - DIM
    - assuan_transact
    - memset
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_clear_passphrase (const char *cache_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:2128,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:2130,1
    - Dst: percent_plus_escape
      Src: /src/gnupg/g10/call-agent.c:2135,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:2137,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:2138,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:2138,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2139,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - desc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2120
    functionDepth: 1
    functionLinenumber: 2120
    functionLinenumberEnd: 2146
    functionName: gpg_agent_get_confirmation
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - percent_plus_escape
    - gpg_error_from_syserror
    - snprintf
    - DIM
    - assuan_transact
    - memset
    - xfree
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpg_agent_get_confirmation (const char *desc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:2159,1
    - Dst: init_membuf
      Src: /src/gnupg/g10/call-agent.c:2163,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2164,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2168,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:2168,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/call-agent.c:2171,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:2172,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:2174,1
    - Dst: strtoul
      Src: /src/gnupg/g10/call-agent.c:2177,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2178,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/call-agent.c:2186,1
    - Dst: log_error
      Src: /src/gnupg/g10/call-agent.c:2187,1
    - Dst: _
      Src: /src/gnupg/g10/call-agent.c:2187,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/call-agent.c:2187,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2194
      start: 2151
    functionDepth: 1
    functionLinenumber: 2151
    functionLinenumberEnd: 2194
    functionName: agent_get_s2k_count
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 1
    functionsReached:
    - get_membuf
    - init_membuf
    - gpg_error_from_syserror
    - put_membuf
    - log_error
    - _
    - assuan_transact
    - xfree
    - gpg_err_code
    - gpg_strerror
    - start_agent
    - strtoul
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long agent_get_s2k_count (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:2214,1
    - Dst: split_fields
      Src: /src/gnupg/g10/call-agent.c:2225,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:2225,1
    - Dst: strcmp
      Src: /src/gnupg/g10/call-agent.c:2228,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/call-agent.c:2229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2208
    functionDepth: 1
    functionLinenumber: 2208
    functionLinenumberEnd: 2239
    functionName: keyinfo_status_cb
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - split_fields
    - DIM
    - strcmp
    - xtrystrdup
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keyinfo_status_cb (void *opaque, const char *line)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:2260,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:2262,1
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/call-agent.c:2266,1
    - Dst: strchr
      Src: /src/gnupg/g10/call-agent.c:2269,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:2272,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2274,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2276,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2290,1
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:2295,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:2296,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2298,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2300,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2312,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 2
    argNames:
    - ctrl
    - pk
    argTypes:
    - ctrl_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2251
    functionDepth: 1
    functionLinenumber: 2251
    functionLinenumberEnd: 2324
    functionName: agent_probe_secret_key
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 8
    functionsReached:
    - snprintf
    - assuan_transact
    - strchr
    - memset
    - xfree
    - start_agent
    - hexkeygrip_from_pk
    linkageType: ''
    returnType: int
    signature: int agent_probe_secret_key (ctrl_t ctrl, PKT_public_key *pk)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:2343,1
    - Dst: init_membuf
      Src: /src/gnupg/g10/call-agent.c:2353,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2354,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2358,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:2358,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:2361,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:2364,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:2367,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2368,1
    - Dst: log_info
      Src: /src/gnupg/g10/call-agent.c:2375,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/call-agent.c:2376,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:2383,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/call-agent.c:2385,1
    - Dst: walk_kbnode
      Src: /src/gnupg/g10/call-agent.c:2386,1
    - Dst: keygrip_from_pk
      Src: /src/gnupg/g10/call-agent.c:2395,1
    - Dst: keygrip_from_pk
      Src: /src/gnupg/g10/call-agent.c:2398,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/call-agent.c:2399,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:2407,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:2409,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:2412,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2420,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/call-agent.c:2422,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/call-agent.c:2424,1
    - Dst: keygrip_from_pk
      Src: /src/gnupg/g10/call-agent.c:2428,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/call-agent.c:2432,1
    - Dst: keygrip_from_pk
      Src: /src/gnupg/g10/call-agent.c:2436,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/call-agent.c:2439,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/call-agent.c:2447,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2455,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 75
    argCount: 2
    argNames:
    - ctrl
    - keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2329
    functionDepth: 2
    functionLinenumber: 2329
    functionLinenumberEnd: 2459
    functionName: agent_probe_any_secret_key
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 5
    functionsReached:
    - get_membuf
    - init_membuf
    - gpg_error_from_syserror
    - bin2hex
    - assuan_transact
    - keygrip_from_pk
    - gpg_error
    - memcmp
    - xfree
    - log_info
    - gpg_strerror
    - start_agent
    - gpg_err_code
    - stpcpy
    - walk_kbnode
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_probe_any_secret_key (ctrl_t ctrl, kbnode_t keyblock)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:2479,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:2483,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:2488,1
    - Dst: strchr
      Src: /src/gnupg/g10/call-agent.c:2489,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-agent.c:2491,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:2493,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:2498,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:2498,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2500,1
    - Dst: strpbrk
      Src: /src/gnupg/g10/call-agent.c:2505,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2509,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - ctrl
    - hexkeygrip
    - r_serialno
    - r_cleartext
    argTypes:
    - ctrl_t
    - char*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2470
    functionDepth: 1
    functionLinenumber: 2470
    functionLinenumberEnd: 2517
    functionName: agent_get_keyinfo
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 6
    functionsReached:
    - strpbrk
    - strlen
    - snprintf
    - DIM
    - assuan_transact
    - gpg_error
    - strchr
    - memset
    - xfree
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_get_keyinfo (ctrl_t ctrl, const char *hexkeygrip,\n
      \                  char **r_serialno, int *r_cleartext)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:2528,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2532,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/call-agent.c:2533,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:2536,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2540,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/call-agent.c:2541,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:2544,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/call-agent.c:2547,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2522
    functionDepth: 3
    functionLinenumber: 2522
    functionLinenumberEnd: 2551
    functionName: cache_nonce_status_cb
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - write_status_text
    - xtrystrdup
    - xfree
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cache_nonce_status_cb (void *opaque, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:2563,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g10/call-agent.c:2565,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-agent.c:2566,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:2568,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g10/call-agent.c:2570,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-agent.c:2571,1
    - Dst: default_inq_cb
      Src: /src/gnupg/g10/call-agent.c:2574,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2577
      start: 2557
    functionDepth: 1
    functionLinenumber: 2557
    functionLinenumberEnd: 2577
    functionName: inq_genkey_parms
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - strlen
    - assuan_send_data
    - default_inq_cb
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t inq_genkey_parms (void *opaque, const char *line)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:2602,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:2606,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2615,1
    - Dst: strcpy
      Src: /src/gnupg/g10/call-agent.c:2621,1
    - Dst: epoch2isotime
      Src: /src/gnupg/g10/call-agent.c:2622,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2631,1
    - Dst: init_membuf
      Src: /src/gnupg/g10/call-agent.c:2637,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:2641,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2652,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2658,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:2658,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:2662,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:2664,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/g10/call-agent.c:2667,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2668,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 8
    argNames:
    - ctrl
    - cache_nonce_addr
    - passwd_nonce_addr
    - keyparms
    - no_protection
    - passphrase
    - timestamp
    - r_pubkey
    argTypes:
    - ctrl_t
    - char**
    - char**
    - char*
    - int
    - char*
    - time_t
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2587
    functionDepth: 1
    functionLinenumber: 2587
    functionLinenumberEnd: 2671
    functionName: agent_genkey
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - gpg_error_from_syserror
    - snprintf
    - gcry_sexp_sscan
    - assuan_transact
    - start_agent
    - strcpy
    - memset
    - epoch2isotime
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_genkey (ctrl_t ctrl, char **cache_nonce_addr, char
      **passwd_nonce_addr,\n              const char *keyparms, int no_protection,\n
      \             const char *passphrase, time_t timestamp, gcry_sexp_t *r_pubkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:2681,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:2685,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2686,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:2690,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ctrl
    - hexgrip1
    - hexgrip2
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2695
      start: 2675
    functionDepth: 1
    functionLinenumber: 2675
    functionLinenumberEnd: 2695
    functionName: agent_crosslink_keys
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - snprintf
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_crosslink_keys (ctrl_t ctrl, const char *hexgrip1,
      const char *hexgrip2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:2716,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:2720,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2725,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:2730,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:2730,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:2732,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:2732,1
    - Dst: init_membuf
      Src: /src/gnupg/g10/call-agent.c:2734,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2735,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2741,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:2741,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:2744,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:2746,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/g10/call-agent.c:2747,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2749,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:2750,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - ctrl
    - fromcard
    - hexkeygrip
    - r_pubkey
    argTypes:
    - ctrl_t
    - int
    - char*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2705
    functionDepth: 1
    functionLinenumber: 2705
    functionLinenumberEnd: 2754
    functionName: agent_readkey
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - gpg_error_from_syserror
    - snprintf
    - DIM
    - assuan_transact
    - gpg_error
    - memset
    - xfree
    - gcry_sexp_canon_len
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_readkey (ctrl_t ctrl, int fromcard, const char *hexkeygrip,\n
      \              unsigned char **r_pubkey)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:2776,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:2783,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:2788,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:2789,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2791,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:2796,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:2796,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2797,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:2803,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:2803,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2804,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:2810,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/call-agent.c:2811,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-agent.c:2811,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2812,1
    - Dst: init_membuf
      Src: /src/gnupg/g10/call-agent.c:2816,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:2818,1
    - Dst: log_clock
      Src: /src/gnupg/g10/call-agent.c:2823,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2824,1
    - Dst: log_clock
      Src: /src/gnupg/g10/call-agent.c:2829,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2832,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:2832,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:2838,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:2840,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/g10/call-agent.c:2843,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2844,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 11
    argNames:
    - ctrl
    - cache_nonce
    - keygrip
    - desc
    - keyid
    - mainkeyid
    - pubkey_algo
    - digest
    - digestlen
    - digestalgo
    - r_sigval
    argTypes:
    - ctrl_t
    - char*
    - char*
    - char*
    - u32*
    - u32*
    - int
    - unsigned char*
    - size_t
    - int
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2848
      start: 2764
    functionDepth: 1
    functionLinenumber: 2764
    functionLinenumberEnd: 2848
    functionName: agent_pksign
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - strlen
    - gpg_error_from_syserror
    - snprintf
    - bin2hex
    - DIM
    - gcry_sexp_sscan
    - assuan_transact
    - gpg_error
    - memset
    - xfree
    - start_agent
    - log_clock
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_pksign (ctrl_t ctrl, const char *cache_nonce,\n
      \             const char *keygrip, const char *desc,\n              u32 *keyid,
      u32 *mainkeyid, int pubkey_algo,\n              unsigned char *digest, size_t
      digestlen, int digestalgo,\n              gcry_sexp_t *r_sigval)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:2860,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/g10/call-agent.c:2862,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g10/call-agent.c:2863,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/g10/call-agent.c:2865,1
    - Dst: default_inq_cb
      Src: /src/gnupg/g10/call-agent.c:2868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2871
      start: 2854
    functionDepth: 1
    functionLinenumber: 2854
    functionLinenumberEnd: 2871
    functionName: inq_ciphertext_cb
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - assuan_end_confidential
    - assuan_begin_confidential
    - has_leading_keyword
    - default_inq_cb
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t inq_ciphertext_cb (void *opaque, const char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:2881,1
    - Dst: atoi
      Src: /src/gnupg/g10/call-agent.c:2883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2887
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2887
    functionName: padding_info_cb
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - atoi
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t padding_info_cb (void *opaque, const char *line)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:2912,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:2919,1
    - Dst: strchr
      Src: /src/gnupg/g10/call-agent.c:2925,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-agent.c:2927,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:2929,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-agent.c:2933,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:2934,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:2944,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2949,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:2954,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2955,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:2961,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2962,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:2969,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:2969,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2970,1
    - Dst: init_membuf_secure
      Src: /src/gnupg/g10/call-agent.c:2976,1
    - Dst: make_canon_sexp
      Src: /src/gnupg/g10/call-agent.c:2982,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:2985,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2989,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:2993,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:2993,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:2997,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:2999,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:3003,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:3004,1
    - Dst: memcmp
      Src: /src/gnupg/g10/call-agent.c:3007,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:3009,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:3010,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:3015,1
    - Dst: strtoul
      Src: /src/gnupg/g10/call-agent.c:3020,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:3023,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:3024,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:3029,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:3030,1
    - Dst: memmove
      Src: /src/gnupg/g10/call-agent.c:3033,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 93
    argCount: 10
    argNames:
    - ctrl
    - keygrip
    - desc
    - keyid
    - mainkeyid
    - pubkey_algo
    - s_ciphertext
    - r_buf
    - r_buflen
    - r_padding
    argTypes:
    - ctrl_t
    - char*
    - char*
    - u32*
    - u32*
    - int
    - gcry_sexp_t
    - unsigned char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3038
      start: 2897
    functionDepth: 1
    functionLinenumber: 2897
    functionLinenumberEnd: 3038
    functionName: agent_pkdecrypt
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - memmove
    - strlen
    - gpg_error_from_syserror
    - snprintf
    - DIM
    - make_canon_sexp
    - assuan_transact
    - gpg_error
    - strchr
    - memset
    - xfree
    - memcmp
    - start_agent
    - init_membuf_secure
    - strtoul
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_pkdecrypt (ctrl_t ctrl, const char *keygrip, const
      char *desc,\n                 u32 *keyid, u32 *mainkeyid, int pubkey_algo,\n
      \                gcry_sexp_t s_ciphertext,\n                 unsigned char **r_buf,
      size_t *r_buflen, int *r_padding)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:3055,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:3059,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:3064,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:3064,1
    - Dst: init_membuf_secure
      Src: /src/gnupg/g10/call-agent.c:3067,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:3068,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:3074,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:3074,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:3077,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:3079,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - ctrl
    - forexport
    - r_kek
    - r_keklen
    argTypes:
    - ctrl_t
    - int
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3083
      start: 3045
    functionDepth: 1
    functionLinenumber: 3045
    functionLinenumberEnd: 3083
    functionName: agent_keywrap_key
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 2
    functionsReached:
    - get_membuf
    - gpg_error_from_syserror
    - snprintf
    - DIM
    - assuan_transact
    - memset
    - xfree
    - start_agent
    - init_membuf_secure
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_keywrap_key (ctrl_t ctrl, int forexport, void **r_kek,
      size_t *r_keklen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:3094,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g10/call-agent.c:3096,1
    - Dst: default_inq_cb
      Src: /src/gnupg/g10/call-agent.c:3099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3102
      start: 3088
    functionDepth: 1
    functionLinenumber: 3088
    functionLinenumberEnd: 3102
    functionName: inq_import_key_parms
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - default_inq_cb
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t inq_import_key_parms (void *opaque, const char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:3119,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:3125,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:3131,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:3134,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:3140,1
    - Dst: strcpy
      Src: /src/gnupg/g10/call-agent.c:3146,1
    - Dst: epoch2isotime
      Src: /src/gnupg/g10/call-agent.c:3147,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:3154,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:3154,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:3155,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:3165,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:3174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 12
    argNames:
    - ctrl
    - desc
    - mode1003
    - cache_nonce_addr
    - key
    - keylen
    - unattended
    - force
    - keyid
    - mainkeyid
    - pubkey_algo
    - timestamp
    argTypes:
    - ctrl_t
    - char*
    - int
    - char**
    - void*
    - size_t
    - int
    - int
    - u32*
    - u32*
    - int
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3179
      start: 3106
    functionDepth: 1
    functionLinenumber: 3106
    functionLinenumberEnd: 3179
    functionName: agent_import_key
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 1
    functionsReached:
    - snprintf
    - DIM
    - assuan_transact
    - gpg_error
    - memset
    - xfree
    - strcpy
    - start_agent
    - epoch2isotime
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_import_key (ctrl_t ctrl, const char *desc, int mode1003,\n
      \                 char **cache_nonce_addr,\n                  const void *key,
      size_t keylen, int unattended, int force,\n\t\t  u32 *keyid, u32 *mainkeyid,
      int pubkey_algo, u32 timestamp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:3207,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:3215,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:3221,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:3224,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:3228,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:3228,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:3229,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:3235,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:3235,1
    - Dst: init_membuf_secure
      Src: /src/gnupg/g10/call-agent.c:3241,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:3244,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:3250,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:3250,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-agent.c:3253,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-agent.c:3255,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 11
    argNames:
    - ctrl
    - hexkeygrip
    - desc
    - openpgp_protected
    - mode1003
    - cache_nonce_addr
    - r_result
    - r_resultlen
    - keyid
    - mainkeyid
    - pubkey_algo
    argTypes:
    - ctrl_t
    - char*
    - char*
    - int
    - int
    - char**
    - unsigned char**
    - size_t*
    - u32*
    - u32*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3259
      start: 3193
    functionDepth: 1
    functionLinenumber: 3193
    functionLinenumberEnd: 3259
    functionName: agent_export_key
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 1
    functionsReached:
    - get_membuf
    - gpg_error_from_syserror
    - snprintf
    - DIM
    - assuan_transact
    - gpg_error
    - memset
    - xfree
    - start_agent
    - init_membuf_secure
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_export_key (ctrl_t ctrl, const char *hexkeygrip,
      const char *desc,\n                  int openpgp_protected, int mode1003, char
      **cache_nonce_addr,\n                  unsigned char **r_result, size_t *r_resultlen,\n\t\t
      \ u32 *keyid, u32 *mainkeyid, int pubkey_algo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:3269,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:3271,1
    - Dst: unescape_status_string
      Src: /src/gnupg/g10/call-agent.c:3272,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:3274,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:3276,1
    - Dst: unescape_status_string
      Src: /src/gnupg/g10/call-agent.c:3277,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-agent.c:3279,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:3281,1
    - Dst: unescape_status_string
      Src: /src/gnupg/g10/call-agent.c:3282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3286
      start: 3263
    functionDepth: 1
    functionLinenumber: 3263
    functionLinenumberEnd: 3286
    functionName: confirm_status_cb
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - unescape_status_string
    - xfree
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t confirm_status_cb (void *opaque, const char *line)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:3302,1
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:3303,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:3307,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:3313,1
    - Dst: strchr
      Src: /src/gnupg/g10/call-agent.c:3316,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-agent.c:3318,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:3320,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-agent.c:3324,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:3325,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:3330,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:3330,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:3331,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:3337,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:3337,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:3339,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:3344,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:3344,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:3346,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:3350,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:3351,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-agent.c:3352,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - ctrl
    - keygrip
    - desc
    - force
    argTypes:
    - ctrl_t
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3354
      start: 3292
    functionDepth: 1
    functionLinenumber: 3292
    functionLinenumberEnd: 3354
    functionName: agent_delete_key
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 1
    functionsReached:
    - strlen
    - snprintf
    - DIM
    - assuan_transact
    - gpg_error
    - strchr
    - memset
    - xfree
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_delete_key (ctrl_t ctrl, const char *keygrip, const
      char *desc,\n                  int force)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-agent.c:3374,1
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:3377,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-agent.c:3382,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-agent.c:3383,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:3387,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:3387,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:3388,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:3395,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:3395,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-agent.c:3400,1
    - Dst: DIM
      Src: /src/gnupg/g10/call-agent.c:3400,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:3408,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 6
    argNames:
    - ctrl
    - hexkeygrip
    - desc
    - verify
    - cache_nonce_addr
    - passwd_nonce_addr
    argTypes:
    - ctrl_t
    - char*
    - char*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3412
      start: 3365
    functionDepth: 1
    functionLinenumber: 3365
    functionLinenumberEnd: 3412
    functionName: agent_passwd
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 1
    functionsReached:
    - strlen
    - snprintf
    - DIM
    - assuan_transact
    - gpg_error
    - memset
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_passwd (ctrl_t ctrl, const char *hexkeygrip, const
      char *desc, int verify,\n              char **cache_nonce_addr, char **passwd_nonce_addr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:3426,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:3432,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/call-agent.c:3436,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-agent.c:3446,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - ctrl
    - enable
    - r_previous
    argTypes:
    - ctrl_t
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3451
      start: 3421
    functionDepth: 1
    functionLinenumber: 3421
    functionLinenumberEnd: 3451
    functionName: agent_set_ephemeral_mode
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 1
    functionsReached:
    - assuan_transact
    - gpg_err_code
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_set_ephemeral_mode (ctrl_t ctrl, int enable, int
      *r_previous)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/g10/call-agent.c:3460,1
    - Dst: get_assuan_server_version
      Src: /src/gnupg/g10/call-agent.c:3464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctrl
    - r_version
    argTypes:
    - ctrl_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3466
      start: 3455
    functionDepth: 1
    functionLinenumber: 3455
    functionLinenumberEnd: 3466
    functionName: agent_get_version
    functionSourceFile: /src/gnupg/g10/call-agent.c
    functionUses: 0
    functionsReached:
    - get_assuan_server_version
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_get_version (ctrl_t ctrl, char **r_version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_user_id_string_native
      Src: /src/gnupg/g10/encrypt.c:58,1
    - Dst: xstrconcat
      Src: /src/gnupg/g10/encrypt.c:61,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:62,1
    - Dst: log_info
      Src: /src/gnupg/g10/encrypt.c:65,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:65,1
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/encrypt.c:66,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/encrypt.c:67,1
    - Dst: openpgp_aead_algo_name
      Src: /src/gnupg/g10/encrypt.c:68,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ctrl
    - pubkey_usage
    - enc
    - dek
    argTypes:
    - ctrl_t
    - unsigned int
    - PKT_pubkey_enc*
    - DEK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 6
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: show_encrypted_for_user_info
    functionSourceFile: /src/gnupg/g10/encrypt.c
    functionUses: 0
    functionsReached:
    - openpgp_aead_algo_name
    - xstrconcat
    - _
    - log_info
    - xfree
    - get_user_id_string_native
    - openpgp_pk_algo_name
    - openpgp_cipher_algo_name
    linkageType: ''
    returnType: void
    signature: "void show_encrypted_for_user_info (ctrl_t ctrl, unsigned int pubkey_usage,\n
      \                             PKT_pubkey_enc *enc, DEK *dek)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_simple
      Src: /src/gnupg/g10/encrypt.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: encrypt_symmetric
    functionSourceFile: /src/gnupg/g10/encrypt.c
    functionUses: 1
    functionsReached:
    - encrypt_simple
    linkageType: ''
    returnType: int
    signature: int encrypt_symmetric (const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_simple
      Src: /src/gnupg/g10/encrypt.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: encrypt_store
    functionSourceFile: /src/gnupg/g10/encrypt.c
    functionUses: 1
    functionsReached:
    - encrypt_simple
    linkageType: ''
    returnType: int
    signature: int encrypt_store (const char *filename)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_secure_clear
      Src: /src/gnupg/g10/encrypt.c:106,1
    - Dst: select_algo_from_prefs
      Src: /src/gnupg/g10/encrypt.c:110,1
    - Dst: warn_missing_aes_from_pklist
      Src: /src/gnupg/g10/encrypt.c:127,1
    - Dst: select_algo_from_prefs
      Src: /src/gnupg/g10/encrypt.c:132,1
    - Dst: log_info
      Src: /src/gnupg/g10/encrypt.c:136,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:136,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/encrypt.c:138,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 1
    argNames:
    - pk_list
    argTypes:
    - pk_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 165
    functionName: create_dek_with_warnings
    functionSourceFile: /src/gnupg/g10/encrypt.c
    functionUses: 0
    functionsReached:
    - warn_missing_aes_from_pklist
    - _
    - xmalloc_secure_clear
    - log_info
    - select_algo_from_prefs
    - openpgp_cipher_algo_name
    linkageType: ''
    returnType: DEK
    signature: 'DEK *

      create_dek_with_warnings (pk_list_t pk_list)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_cipher_blocklen
      Src: /src/gnupg/g10/encrypt.c:179,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:182,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:182,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/encrypt.c:183,1
    - Dst: log_info
      Src: /src/gnupg/g10/encrypt.c:185,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:185,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/encrypt.c:187,1
    - Dst: gnupg_cipher_is_allowed
      Src: /src/gnupg/g10/encrypt.c:192,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:195,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:195,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/encrypt.c:196,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/encrypt.c:197,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/encrypt.c:198,1
    - Dst: gnupg_rng_is_compliant
      Src: /src/gnupg/g10/encrypt.c:202,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/encrypt.c:204,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:205,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:205,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/encrypt.c:207,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/encrypt.c:208,1
    - Dst: gnupg_gcrypt_is_compliant
      Src: /src/gnupg/g10/encrypt.c:215,1
    - Dst: gnupg_cipher_is_compliant
      Src: /src/gnupg/g10/encrypt.c:217,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/encrypt.c:223,1
    - Dst: gnupg_pk_is_compliant
      Src: /src/gnupg/g10/encrypt.c:225,1
    - Dst: log_info
      Src: /src/gnupg/g10/encrypt.c:227,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:227,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/encrypt.c:229,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/encrypt.c:230,1
    - Dst: gnupg_pk_is_compliant
      Src: /src/gnupg/g10/encrypt.c:233,1
    - Dst: write_status_strings
      Src: /src/gnupg/g10/encrypt.c:240,1
    - Dst: gnupg_status_compliance_flag
      Src: /src/gnupg/g10/encrypt.c:241,1
    - Dst: compliance_failure
      Src: /src/gnupg/g10/encrypt.c:249,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/encrypt.c:250,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 2
    argNames:
    - dek
    - pk_list
    argTypes:
    - DEK*
    - pk_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 256
    functionName: check_encryption_compliance
    functionSourceFile: /src/gnupg/g10/encrypt.c
    functionUses: 0
    functionsReached:
    - write_status_strings
    - gnupg_status_compliance_flag
    - log_error
    - gnupg_compliance_option_string
    - nbits_from_pk
    - gnupg_rng_is_compliant
    - gnupg_pk_is_compliant
    - _
    - keystr_from_pk
    - compliance_failure
    - gpg_error
    - log_info
    - write_status_error
    - gnupg_gcrypt_is_compliant
    - openpgp_cipher_algo_name
    - openpgp_cipher_blocklen
    - gnupg_cipher_is_allowed
    - gnupg_cipher_is_compliant
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_encryption_compliance (DEK *dek, pk_list_t pk_list)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/encrypt.c:285,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/encrypt.c:288,1
    - Dst: make_session_key
      Src: /src/gnupg/g10/encrypt.c:292,1
    - Dst: openpgp_aead_algo_info
      Src: /src/gnupg/g10/encrypt.c:303,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/g10/encrypt.c:309,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/encrypt.c:312,1
    - Dst: gcry_randomize
      Src: /src/gnupg/g10/encrypt.c:316,1
    - Dst: openpgp_cipher_open
      Src: /src/gnupg/g10/encrypt.c:318,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/g10/encrypt.c:321,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/g10/encrypt.c:323,1
    - Dst: gcry_cipher_authenticate
      Src: /src/gnupg/g10/encrypt.c:331,1
    - Dst: memcpy
      Src: /src/gnupg/g10/encrypt.c:335,1
    - Dst: gcry_cipher_final
      Src: /src/gnupg/g10/encrypt.c:336,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/g10/encrypt.c:337,1
    - Dst: gcry_cipher_gettag
      Src: /src/gnupg/g10/encrypt.c:340,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/g10/encrypt.c:351,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/encrypt.c:354,1
    - Dst: memcpy
      Src: /src/gnupg/g10/encrypt.c:358,1
    - Dst: openpgp_cipher_open
      Src: /src/gnupg/g10/encrypt.c:360,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/g10/encrypt.c:362,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/g10/encrypt.c:364,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/g10/encrypt.c:366,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/g10/encrypt.c:379,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:381,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:382,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 5
    argNames:
    - dek
    - aead_algo
    - r_seskey
    - r_enckey
    - r_enckeylen
    argTypes:
    - DEK*
    - aead_algo_t
    - DEK**
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 384
    functionName: encrypt_seskey
    functionSourceFile: /src/gnupg/g10/encrypt.c
    functionUses: 0
    functionsReached:
    - openpgp_cipher_open
    - gcry_cipher_authenticate
    - gcry_cipher_setkey
    - gpg_error_from_syserror
    - gcry_cipher_setiv
    - xtrymalloc_secure
    - xtrycalloc
    - gcry_cipher_encrypt
    - gcry_cipher_gettag
    - xfree
    - openpgp_aead_algo_info
    - gcry_randomize
    - make_session_key
    - memcpy
    - gcry_cipher_final
    - gcry_cipher_close
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t encrypt_seskey (DEK *dek, aead_algo_t aead_algo,\n                DEK
      **r_seskey, void **r_enckey, size_t *r_enckeylen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_cipher_get_algo_blklen
      Src: /src/gnupg/g10/encrypt.c:394,1
    - Dst: log_info
      Src: /src/gnupg/g10/encrypt.c:402,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/encrypt.c:403,1
    - Dst: warn_missing_aead_from_pklist
      Src: /src/gnupg/g10/encrypt.c:415,1
    - Dst: select_aead_from_pklist
      Src: /src/gnupg/g10/encrypt.c:418,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pk_list
    - algo
    argTypes:
    - pk_list_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 419
    functionName: use_aead
    functionSourceFile: /src/gnupg/g10/encrypt.c
    functionUses: 0
    functionsReached:
    - select_aead_from_pklist
    - warn_missing_aead_from_pklist
    - log_info
    - openpgp_cipher_algo_name
    - openpgp_cipher_get_algo_blklen
    linkageType: ''
    returnType: aead_algo_t
    signature: aead_algo_t use_aead (pk_list_t pk_list, int algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pk_list
    - algo
    argTypes:
    - pk_list_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 436
    functionName: use_mdc
    functionSourceFile: /src/gnupg/g10/encrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int use_mdc (pk_list_t pk_list,int algo)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: default_compress_algo
      Src: /src/gnupg/g10/encrypt.c:460,1
    - Dst: gnupg_rng_is_compliant
      Src: /src/gnupg/g10/encrypt.c:462,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/encrypt.c:464,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:465,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:465,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/encrypt.c:467,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/encrypt.c:468,1
    - Dst: new_progress_context
      Src: /src/gnupg/g10/encrypt.c:472,1
    - Dst: memset
      Src: /src/gnupg/g10/encrypt.c:473,1
    - Dst: memset
      Src: /src/gnupg/g10/encrypt.c:474,1
    - Dst: memset
      Src: /src/gnupg/g10/encrypt.c:475,1
    - Dst: init_packet
      Src: /src/gnupg/g10/encrypt.c:476,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/encrypt.c:479,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/encrypt.c:481,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/encrypt.c:482,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/encrypt.c:482,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/encrypt.c:484,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/encrypt.c:486,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/encrypt.c:490,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:491,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:491,1
    - Dst: strerror
      Src: /src/gnupg/g10/encrypt.c:492,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/encrypt.c:493,1
    - Dst: handle_progress
      Src: /src/gnupg/g10/encrypt.c:497,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/encrypt.c:500,1
    - Dst: setup_symkey
      Src: /src/gnupg/g10/encrypt.c:507,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/encrypt.c:510,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/encrypt.c:511,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/encrypt.c:512,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:515,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:515,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/encrypt.c:515,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/encrypt.c:516,1
    - Dst: log_info
      Src: /src/gnupg/g10/encrypt.c:522,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:522,1
    - Dst: use_aead
      Src: /src/gnupg/g10/encrypt.c:526,1
    - Dst: encrypt_seskey
      Src: /src/gnupg/g10/encrypt.c:532,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:535,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:536,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/encrypt.c:537,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/encrypt.c:538,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:542,1
    - Dst: use_mdc
      Src: /src/gnupg/g10/encrypt.c:549,1
    - Dst: log_info
      Src: /src/gnupg/g10/encrypt.c:552,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:552,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/encrypt.c:553,1
    - Dst: openpgp_aead_algo_name
      Src: /src/gnupg/g10/encrypt.c:554,1
    - Dst: open_outfile
      Src: /src/gnupg/g10/encrypt.c:558,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/encrypt.c:561,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:562,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:563,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/encrypt.c:564,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/encrypt.c:570,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/encrypt.c:571,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/encrypt.c:577,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/encrypt.c:585,1
    - Dst: memcpy
      Src: /src/gnupg/g10/encrypt.c:586,1
    - Dst: build_packet
      Src: /src/gnupg/g10/encrypt.c:590,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:591,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/encrypt.c:591,1
    - Dst: free_symkey_enc
      Src: /src/gnupg/g10/encrypt.c:592,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:593,1
    - Dst: setup_plaintext_name
      Src: /src/gnupg/g10/encrypt.c:598,1
    - Dst: iobuf_is_pipe_filename
      Src: /src/gnupg/g10/encrypt.c:610,1
    - Dst: iobuf_get_filelength
      Src: /src/gnupg/g10/encrypt.c:614,1
    - Dst: log_info
      Src: /src/gnupg/g10/encrypt.c:616,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:616,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/encrypt.c:632,1
    - Dst: is_file_compressed
      Src: /src/gnupg/g10/encrypt.c:641,1
    - Dst: log_info
      Src: /src/gnupg/g10/encrypt.c:644,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:644,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/encrypt.c:651,1
    - Dst: calc_packet_length
      Src: /src/gnupg/g10/encrypt.c:658,1
    - Dst: push_compress_filter
      Src: /src/gnupg/g10/encrypt.c:672,1
    - Dst: default_compress_algo
      Src: /src/gnupg/g10/encrypt.c:672,1
    - Dst: build_packet
      Src: /src/gnupg/g10/encrypt.c:678,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:679,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/encrypt.c:679,1
    - Dst: iobuf_copy
      Src: /src/gnupg/g10/encrypt.c:685,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/encrypt.c:686,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:687,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:687,1
    - Dst: iobuf_get_fname_nonnull
      Src: /src/gnupg/g10/encrypt.c:688,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/encrypt.c:688,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/encrypt.c:689,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:690,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:690,1
    - Dst: iobuf_get_fname_nonnull
      Src: /src/gnupg/g10/encrypt.c:691,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/encrypt.c:691,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/encrypt.c:695,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/encrypt.c:697,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/encrypt.c:700,1
    - Dst: write_status
      Src: /src/gnupg/g10/encrypt.c:702,1
    - Dst: free_packet
      Src: /src/gnupg/g10/encrypt.c:706,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:707,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:708,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:709,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/encrypt.c:710,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/encrypt.c:711,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 155
    argCount: 3
    argNames:
    - filename
    - mode
    - use_seskey
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 713
    functionName: encrypt_simple
    functionSourceFile: /src/gnupg/g10/encrypt.c
    functionUses: 2
    functionsReached:
    - default_compress_algo
    - setup_symkey
    - iobuf_cancel
    - xmalloc
    - free_symkey_enc
    - open_outfile
    - iobuf_error
    - use_mdc
    - free_packet
    - handle_progress
    - memcpy
    - use_aead
    - log_error
    - init_packet
    - setup_plaintext_name
    - iobuf_get_fname_nonnull
    - _
    - iobuf_ioctl
    - write_status
    - log_info
    - write_status_error
    - iobuf_get_filelength
    - calc_packet_length
    - push_armor_filter
    - is_secured_file
    - iobuf_is_pipe_filename
    - gnupg_compliance_option_string
    - gpg_error_from_syserror
    - is_file_compressed
    - iobuf_push_filter
    - encrypt_seskey
    - iobuf_open
    - gpg_error
    - memset
    - gpg_strerror
    - xfree
    - iobuf_copy
    - openpgp_cipher_algo_name
    - build_packet
    - release_armor_context
    - release_progress_context
    - new_progress_context
    - openpgp_aead_algo_name
    - push_compress_filter
    - iobuf_close
    - iobuf_get_fd
    - gnupg_rng_is_compliant
    - new_armor_context
    - make_timestamp
    - gpg_err_code
    - gpg_err_set_errno
    - xmalloc_clear
    - strerror
    linkageType: ''
    returnType: int
    signature: int encrypt_simple (const char *filename, int mode, int use_seskey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: default_cipher_algo
      Src: /src/gnupg/g10/encrypt.c:723,1
    - Dst: openpgp_cipher_blocklen
      Src: /src/gnupg/g10/encrypt.c:724,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:727,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:727,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/encrypt.c:728,1
    - Dst: log_info
      Src: /src/gnupg/g10/encrypt.c:730,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:730,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/encrypt.c:732,1
    - Dst: gnupg_cipher_is_allowed
      Src: /src/gnupg/g10/encrypt.c:735,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:738,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:738,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/encrypt.c:739,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/encrypt.c:740,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/encrypt.c:741,1
    - Dst: gnupg_digest_is_allowed
      Src: /src/gnupg/g10/encrypt.c:745,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:747,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:747,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/g10/encrypt.c:748,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/encrypt.c:749,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/encrypt.c:750,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/encrypt.c:753,1
    - Dst: passphrase_to_dek
      Src: /src/gnupg/g10/encrypt.c:757,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:761,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:762,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/encrypt.c:763,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - symkey_s2k
    - symkey_dek
    argTypes:
    - STRING2KEY**
    - DEK**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 767
    functionName: setup_symkey
    functionSourceFile: /src/gnupg/g10/encrypt.c
    functionUses: 1
    functionsReached:
    - log_error
    - gnupg_compliance_option_string
    - gcry_md_algo_name
    - passphrase_to_dek
    - _
    - default_cipher_algo
    - gpg_error
    - xmalloc_clear
    - log_info
    - xfree
    - openpgp_cipher_algo_name
    - openpgp_cipher_blocklen
    - gnupg_digest_is_allowed
    - gnupg_cipher_is_allowed
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t setup_symkey (STRING2KEY **symkey_s2k, DEK **symkey_dek)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_seskey
      Src: /src/gnupg/g10/encrypt.c:780,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/encrypt.c:783,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/encrypt.c:786,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:787,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/encrypt.c:796,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/encrypt.c:799,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:800,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:801,1
    - Dst: memcpy
      Src: /src/gnupg/g10/encrypt.c:804,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:805,1
    - Dst: build_packet
      Src: /src/gnupg/g10/encrypt.c:810,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:811,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/encrypt.c:811,1
    - Dst: free_symkey_enc
      Src: /src/gnupg/g10/encrypt.c:813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 5
    argNames:
    - symkey_s2k
    - aead_algo
    - symkey_dek
    - dek
    - out
    argTypes:
    - STRING2KEY*
    - aead_algo_t
    - DEK*
    - DEK*
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 770
    functionDepth: 3
    functionLinenumber: 770
    functionLinenumberEnd: 815
    functionName: write_symkey_enc
    functionSourceFile: /src/gnupg/g10/encrypt.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - log_error
    - encrypt_seskey
    - free_symkey_enc
    - build_packet
    - xfree
    - memcpy
    - gpg_strerror
    - xtrycalloc
    - xtrymalloc
    linkageType: ''
    returnType: int
    signature: "int write_symkey_enc (STRING2KEY *symkey_s2k, aead_algo_t aead_algo,\n
      \                 DEK *symkey_dek, DEK *dek, iobuf_t out)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/encrypt.c:849,1
    - Dst: new_progress_context
      Src: /src/gnupg/g10/encrypt.c:853,1
    - Dst: memset
      Src: /src/gnupg/g10/encrypt.c:854,1
    - Dst: memset
      Src: /src/gnupg/g10/encrypt.c:855,1
    - Dst: memset
      Src: /src/gnupg/g10/encrypt.c:856,1
    - Dst: init_packet
      Src: /src/gnupg/g10/encrypt.c:857,1
    - Dst: setup_symkey
      Src: /src/gnupg/g10/encrypt.c:860,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/encrypt.c:862,1
    - Dst: build_pk_list
      Src: /src/gnupg/g10/encrypt.c:870,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/encrypt.c:872,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/encrypt.c:880,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/encrypt.c:884,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/encrypt.c:888,1
    - Dst: iobuf_fdopen_nc
      Src: /src/gnupg/g10/encrypt.c:890,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/encrypt.c:893,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/encrypt.c:894,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/encrypt.c:894,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/encrypt.c:896,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/encrypt.c:898,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/encrypt.c:904,1
    - Dst: snprintf
      Src: /src/gnupg/g10/encrypt.c:906,1
    - Dst: FD_DBG
      Src: /src/gnupg/g10/encrypt.c:906,1
    - Dst: strcpy
      Src: /src/gnupg/g10/encrypt.c:908,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:911,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:911,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/encrypt.c:912,1
    - Dst: log_info
      Src: /src/gnupg/g10/encrypt.c:917,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:917,1
    - Dst: iobuf_get_fname_nonnull
      Src: /src/gnupg/g10/encrypt.c:917,1
    - Dst: handle_progress
      Src: /src/gnupg/g10/encrypt.c:919,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/encrypt.c:922,1
    - Dst: open_outfile
      Src: /src/gnupg/g10/encrypt.c:924,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/encrypt.c:930,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/encrypt.c:931,1
    - Dst: create_dek_with_warnings
      Src: /src/gnupg/g10/encrypt.c:935,1
    - Dst: check_encryption_compliance
      Src: /src/gnupg/g10/encrypt.c:937,1
    - Dst: use_aead
      Src: /src/gnupg/g10/encrypt.c:941,1
    - Dst: use_mdc
      Src: /src/gnupg/g10/encrypt.c:943,1
    - Dst: make_session_key
      Src: /src/gnupg/g10/encrypt.c:945,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/encrypt.c:947,1
    - Dst: write_pubkey_enc_from_list
      Src: /src/gnupg/g10/encrypt.c:949,1
    - Dst: write_symkey_enc
      Src: /src/gnupg/g10/encrypt.c:957,1
    - Dst: setup_plaintext_name
      Src: /src/gnupg/g10/encrypt.c:962,1
    - Dst: iobuf_is_pipe_filename
      Src: /src/gnupg/g10/encrypt.c:966,1
    - Dst: iobuf_get_filelength
      Src: /src/gnupg/g10/encrypt.c:970,1
    - Dst: log_info
      Src: /src/gnupg/g10/encrypt.c:972,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:972,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/encrypt.c:986,1
    - Dst: is_file_compressed
      Src: /src/gnupg/g10/encrypt.c:998,1
    - Dst: log_info
      Src: /src/gnupg/g10/encrypt.c:1001,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:1001,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/encrypt.c:1007,1
    - Dst: calc_packet_length
      Src: /src/gnupg/g10/encrypt.c:1014,1
    - Dst: select_algo_from_prefs
      Src: /src/gnupg/g10/encrypt.c:1026,1
    - Dst: select_algo_from_prefs
      Src: /src/gnupg/g10/encrypt.c:1033,1
    - Dst: log_info
      Src: /src/gnupg/g10/encrypt.c:1036,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:1036,1
    - Dst: compress_algo_to_string
      Src: /src/gnupg/g10/encrypt.c:1038,1
    - Dst: push_compress_filter
      Src: /src/gnupg/g10/encrypt.c:1046,1
    - Dst: build_packet
      Src: /src/gnupg/g10/encrypt.c:1053,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:1054,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/encrypt.c:1054,1
    - Dst: iobuf_copy
      Src: /src/gnupg/g10/encrypt.c:1060,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/encrypt.c:1061,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:1062,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:1062,1
    - Dst: iobuf_get_fname_nonnull
      Src: /src/gnupg/g10/encrypt.c:1063,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/encrypt.c:1063,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/encrypt.c:1064,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:1065,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:1065,1
    - Dst: iobuf_get_fname_nonnull
      Src: /src/gnupg/g10/encrypt.c:1066,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/encrypt.c:1066,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/encrypt.c:1072,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/encrypt.c:1074,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/encrypt.c:1077,1
    - Dst: write_status
      Src: /src/gnupg/g10/encrypt.c:1078,1
    - Dst: free_packet
      Src: /src/gnupg/g10/encrypt.c:1082,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:1083,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:1084,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:1085,1
    - Dst: release_pk_list
      Src: /src/gnupg/g10/encrypt.c:1087,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/encrypt.c:1088,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/encrypt.c:1089,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 149
    argCount: 7
    argNames:
    - ctrl
    - filefd
    - filename
    - remusr
    - use_symkey
    - provided_keys
    - outputfd
    argTypes:
    - ctrl_t
    - gnupg_fd_t
    - char*
    - strlist_t
    - int
    - pk_list_t
    - gnupg_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 827
    functionDepth: 5
    functionLinenumber: 827
    functionLinenumberEnd: 1091
    functionName: encrypt_crypt
    functionSourceFile: /src/gnupg/g10/encrypt.c
    functionUses: 1
    functionsReached:
    - setup_symkey
    - iobuf_fdopen_nc
    - iobuf_cancel
    - open_outfile
    - iobuf_error
    - use_mdc
    - free_packet
    - handle_progress
    - compress_algo_to_string
    - use_aead
    - log_printhex
    - release_pk_list
    - log_error
    - init_packet
    - iobuf_get_fname_nonnull
    - check_encryption_compliance
    - write_symkey_enc
    - setup_plaintext_name
    - iobuf_ioctl
    - _
    - FD_DBG
    - write_status
    - log_info
    - iobuf_get_filelength
    - calc_packet_length
    - make_session_key
    - push_armor_filter
    - is_secured_file
    - iobuf_is_pipe_filename
    - build_pk_list
    - gpg_error_from_syserror
    - is_file_compressed
    - iobuf_push_filter
    - iobuf_open
    - gpg_error
    - memset
    - gpg_strerror
    - select_algo_from_prefs
    - iobuf_copy
    - xfree
    - build_packet
    - create_dek_with_warnings
    - release_armor_context
    - release_progress_context
    - new_progress_context
    - write_pubkey_enc_from_list
    - push_compress_filter
    - iobuf_close
    - iobuf_get_fd
    - snprintf
    - new_armor_context
    - make_timestamp
    - strcpy
    - gpg_err_set_errno
    linkageType: ''
    returnType: int
    signature: "int encrypt_crypt (ctrl_t ctrl, gnupg_fd_t filefd, const char *filename,\n
      \              strlist_t remusr, int use_symkey, pk_list_t provided_keys,\n
      \              gnupg_fd_t outputfd)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc
      Src: /src/gnupg/g10/encrypt.c:1125,1
    - Dst: build_pk_list
      Src: /src/gnupg/g10/encrypt.c:1139,1
    - Dst: open_outfile
      Src: /src/gnupg/g10/encrypt.c:1145,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/encrypt.c:1151,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/encrypt.c:1152,1
    - Dst: write_pubkey_enc_from_list
      Src: /src/gnupg/g10/encrypt.c:1156,1
    - Dst: show_encrypted_for_user_info
      Src: /src/gnupg/g10/encrypt.c:1166,1
    - Dst: init_packet
      Src: /src/gnupg/g10/encrypt.c:1167,1
    - Dst: build_packet
      Src: /src/gnupg/g10/encrypt.c:1170,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:1172,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/encrypt.c:1173,1
    - Dst: log_info
      Src: /src/gnupg/g10/encrypt.c:1176,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:1176,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/encrypt.c:1178,1
    - Dst: iobuf_copy
      Src: /src/gnupg/g10/encrypt.c:1181,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/encrypt.c:1182,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:1183,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:1183,1
    - Dst: iobuf_get_fname_nonnull
      Src: /src/gnupg/g10/encrypt.c:1184,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/encrypt.c:1184,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/encrypt.c:1185,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:1186,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:1186,1
    - Dst: iobuf_get_fname_nonnull
      Src: /src/gnupg/g10/encrypt.c:1187,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/encrypt.c:1187,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/encrypt.c:1192,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/encrypt.c:1194,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/encrypt.c:1195,1
    - Dst: release_pk_list
      Src: /src/gnupg/g10/encrypt.c:1196,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:1200,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 7
    argNames:
    - ctrl
    - armor
    - filename
    - infp
    - recipients
    - dek
    - sesenc_list
    argTypes:
    - ctrl_t
    - int
    - char*
    - iobuf_t
    - strlist_t
    - DEK*
    - struct seskey_enc_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1098
    functionDepth: 7
    functionLinenumber: 1098
    functionLinenumberEnd: 1204
    functionName: reencrypt_to_new_recipients
    functionSourceFile: /src/gnupg/g10/encrypt.c
    functionUses: 0
    functionsReached:
    - show_encrypted_for_user_info
    - iobuf_cancel
    - open_outfile
    - iobuf_error
    - iobuf_put
    - release_pk_list
    - log_error
    - init_packet
    - iobuf_get_fname_nonnull
    - _
    - log_info
    - push_armor_filter
    - build_pk_list
    - gpg_strerror
    - iobuf_copy
    - xfree
    - build_packet
    - release_armor_context
    - write_pubkey_enc_from_list
    - iobuf_close
    - new_armor_context
    - xcalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t reencrypt_to_new_recipients (ctrl_t ctrl, int armor, const
      char *filename,\n                             iobuf_t infp, strlist_t recipients,\n
      \                            DEK *dek, struct seskey_enc_list *sesenc_list)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/gnupg/g10/encrypt.c:1221,1
    - Dst: create_dek_with_warnings
      Src: /src/gnupg/g10/encrypt.c:1229,1
    - Dst: check_encryption_compliance
      Src: /src/gnupg/g10/encrypt.c:1231,1
    - Dst: use_aead
      Src: /src/gnupg/g10/encrypt.c:1235,1
    - Dst: use_mdc
      Src: /src/gnupg/g10/encrypt.c:1237,1
    - Dst: make_session_key
      Src: /src/gnupg/g10/encrypt.c:1239,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/encrypt.c:1241,1
    - Dst: write_pubkey_enc_from_list
      Src: /src/gnupg/g10/encrypt.c:1243,1
    - Dst: write_symkey_enc
      Src: /src/gnupg/g10/encrypt.c:1250,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/encrypt.c:1256,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/encrypt.c:1262,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:1267,1
    - Dst: xfree
      Src: /src/gnupg/g10/encrypt.c:1268,1
    - Dst: mem2str
      Src: /src/gnupg/g10/encrypt.c:1272,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 5
    argNames:
    - opaque
    - control
    - a
    - buf
    - ret_len
    argTypes:
    - void*
    - int
    - iobuf_t
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1211
    functionDepth: 4
    functionLinenumber: 1211
    functionLinenumberEnd: 1275
    functionName: encrypt_filter
    functionSourceFile: /src/gnupg/g10/encrypt.c
    functionUses: 0
    functionsReached:
    - use_aead
    - log_printhex
    - write_pubkey_enc_from_list
    - check_encryption_compliance
    - iobuf_push_filter
    - write_symkey_enc
    - BUG
    - xfree
    - make_session_key
    - use_mdc
    - iobuf_write
    - mem2str
    - create_dek_with_warnings
    linkageType: ''
    returnType: int
    signature: "int encrypt_filter (void *opaque, int control,\n                iobuf_t
      a, byte *buf, size_t *ret_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: print_pubkey_algo_note
      Src: /src/gnupg/g10/encrypt.c:1290,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/encrypt.c:1291,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/encrypt.c:1293,1
    - Dst: encode_session_key
      Src: /src/gnupg/g10/encrypt.c:1309,1
    - Dst: pubkey_nbits
      Src: /src/gnupg/g10/encrypt.c:1310,1
    - Dst: pk_encrypt
      Src: /src/gnupg/g10/encrypt.c:1311,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/encrypt.c:1312,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:1314,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/encrypt.c:1314,1
    - Dst: show_encrypted_for_user_info
      Src: /src/gnupg/g10/encrypt.c:1318,1
    - Dst: init_packet
      Src: /src/gnupg/g10/encrypt.c:1320,1
    - Dst: build_packet
      Src: /src/gnupg/g10/encrypt.c:1323,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:1325,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/encrypt.c:1326,1
    - Dst: free_pubkey_enc
      Src: /src/gnupg/g10/encrypt.c:1328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 5
    argNames:
    - ctrl
    - pk
    - throw_keyid
    - dek
    - out
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - int
    - DEK*
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1281
    functionDepth: 7
    functionLinenumber: 1281
    functionLinenumberEnd: 1330
    functionName: write_pubkey_enc
    functionSourceFile: /src/gnupg/g10/encrypt.c
    functionUses: 0
    functionsReached:
    - show_encrypted_for_user_info
    - print_pubkey_algo_note
    - log_error
    - init_packet
    - keyid_from_pk
    - encode_session_key
    - pubkey_nbits
    - pk_encrypt
    - gpg_strerror
    - free_pubkey_enc
    - xmalloc_clear
    - build_packet
    - gcry_mpi_release
    linkageType: ''
    returnType: int
    signature: "int write_pubkey_enc (ctrl_t ctrl,\n                  PKT_public_key
      *pk, int throw_keyid, DEK *dek, iobuf_t out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/encrypt.c:1349,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:1349,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/encrypt.c:1351,1
    - Dst: compliance_failure
      Src: /src/gnupg/g10/encrypt.c:1352,1
    - Dst: log_info
      Src: /src/gnupg/g10/encrypt.c:1367,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:1367,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/encrypt.c:1368,1
    - Dst: write_pubkey_enc
      Src: /src/gnupg/g10/encrypt.c:1373,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 5
    argNames:
    - ctrl
    - pk_list
    - dek
    - out
    - restrict_pk_list
    argTypes:
    - ctrl_t
    - pk_list_t
    - DEK*
    - iobuf_t
    - struct pubkey_enc_info_item*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1338
    functionDepth: 8
    functionLinenumber: 1338
    functionLinenumberEnd: 1379
    functionName: write_pubkey_enc_from_list
    functionSourceFile: /src/gnupg/g10/encrypt.c
    functionUses: 3
    functionsReached:
    - gnupg_compliance_option_string
    - keyid_from_pk
    - write_pubkey_enc
    - _
    - compliance_failure
    - log_info
    linkageType: ''
    returnType: int
    signature: "int write_pubkey_enc_from_list (ctrl_t ctrl, pk_list_t pk_list, DEK
      *dek,\n                            iobuf_t out,\n                            struct
      pubkey_enc_info_item *restrict_pk_list)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:1388,1
    - Dst: _
      Src: /src/gnupg/g10/encrypt.c:1388,1
    - Dst: fgets
      Src: /src/gnupg/g10/encrypt.c:1396,1
    - Dst: DIM
      Src: /src/gnupg/g10/encrypt.c:1396,1
    - Dst: strlen
      Src: /src/gnupg/g10/encrypt.c:1399,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:1401,1
    - Dst: strlen
      Src: /src/gnupg/g10/encrypt.c:1404,1
    - Dst: print_file_status
      Src: /src/gnupg/g10/encrypt.c:1405,1
    - Dst: encrypt_crypt
      Src: /src/gnupg/g10/encrypt.c:1406,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:1409,1
    - Dst: print_fname_stdin
      Src: /src/gnupg/g10/encrypt.c:1410,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/encrypt.c:1410,1
    - Dst: write_status
      Src: /src/gnupg/g10/encrypt.c:1411,1
    - Dst: print_file_status
      Src: /src/gnupg/g10/encrypt.c:1418,1
    - Dst: encrypt_crypt
      Src: /src/gnupg/g10/encrypt.c:1419,1
    - Dst: log_error
      Src: /src/gnupg/g10/encrypt.c:1421,1
    - Dst: print_fname_stdin
      Src: /src/gnupg/g10/encrypt.c:1422,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/encrypt.c:1422,1
    - Dst: write_status
      Src: /src/gnupg/g10/encrypt.c:1423,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - ctrl
    - nfiles
    - files
    - remusr
    argTypes:
    - ctrl_t
    - int
    - char**
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1381
    functionDepth: 6
    functionLinenumber: 1381
    functionLinenumberEnd: 1427
    functionName: encrypt_crypt_files
    functionSourceFile: /src/gnupg/g10/encrypt.c
    functionUses: 1
    functionsReached:
    - print_fname_stdin
    - strlen
    - log_error
    - DIM
    - _
    - print_file_status
    - encrypt_crypt
    - gpg_strerror
    - write_status
    - fgets
    linkageType: ''
    returnType: void
    signature: void encrypt_crypt_files (ctrl_t ctrl, int nfiles, char **files, strlist_t
      remusr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/progress.c:50,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/progress.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: new_progress_context
    functionSourceFile: /src/gnupg/g10/progress.c
    functionUses: 5
    functionsReached:
    - is_status_enabled
    - xcalloc
    linkageType: ''
    returnType: progress_filter_context_t
    signature: 'progress_filter_context_t *

      new_progress_context (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/progress.c:66,1
    - Dst: xfree
      Src: /src/gnupg/g10/progress.c:69,1
    - Dst: xfree
      Src: /src/gnupg/g10/progress.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pfx
    argTypes:
    - progress_filter_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: release_progress_context
    functionSourceFile: /src/gnupg/g10/progress.c
    functionUses: 5
    functionsReached:
    - xfree
    - log_assert
    linkageType: ''
    returnType: void
    signature: void release_progress_context (progress_filter_context_t *pfx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/g10/progress.c:124,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/progress.c:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - what
    - current
    - total
    argTypes:
    - char*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 129
    functionName: write_status_progress
    functionSourceFile: /src/gnupg/g10/progress.c
    functionUses: 0
    functionsReached:
    - write_status_text
    - snprintf
    linkageType: ''
    returnType: void
    signature: void write_status_progress (const char *what, uint64_t current, uint64_t
      total)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: make_timestamp
      Src: /src/gnupg/g10/progress.c:146,1
    - Dst: write_status_progress
      Src: /src/gnupg/g10/progress.c:148,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/progress.c:152,1
    - Dst: iobuf_read
      Src: /src/gnupg/g10/progress.c:153,1
    - Dst: write_status_progress
      Src: /src/gnupg/g10/progress.c:168,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/progress.c:175,1
    - Dst: mem2str
      Src: /src/gnupg/g10/progress.c:178,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 5
    argNames:
    - opaque
    - control
    - a
    - buf
    - ret_len
    argTypes:
    - void*
    - int
    - IOBUF
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 180
    functionName: progress_filter
    functionSourceFile: /src/gnupg/g10/progress.c
    functionUses: 0
    functionsReached:
    - release_progress_context
    - write_status_progress
    - iobuf_read
    - make_timestamp
    - mem2str
    linkageType: ''
    returnType: int
    signature: "int progress_filter (void *opaque, int control,\n\t\t IOBUF a, byte
      *buf, size_t *ret_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/progress.c:190,1
    - Dst: log_assert
      Src: /src/gnupg/g10/progress.c:191,1
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/progress.c:191,1
    - Dst: iobuf_is_pipe_filename
      Src: /src/gnupg/g10/progress.c:193,1
    - Dst: iobuf_get_filelength
      Src: /src/gnupg/g10/progress.c:194,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/progress.c:199,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/progress.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pfx
    - inp
    - name
    argTypes:
    - progress_filter_context_t*
    - IOBUF
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 203
    functionName: handle_progress
    functionSourceFile: /src/gnupg/g10/progress.c
    functionUses: 5
    functionsReached:
    - iobuf_is_pipe_filename
    - log_assert
    - iobuf_push_filter
    - is_status_enabled
    - iobuf_get_filelength
    - xstrdup
    linkageType: ''
    returnType: void
    signature: void handle_progress (progress_filter_context_t *pfx, IOBUF inp, const
      char *name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/g10/migrate.c:52,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/migrate.c:52,1
    - Dst: gnupg_access
      Src: /src/gnupg/g10/migrate.c:53,1
    - Dst: make_filename
      Src: /src/gnupg/g10/migrate.c:55,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/migrate.c:55,1
    - Dst: gnupg_access
      Src: /src/gnupg/g10/migrate.c:56,1
    - Dst: log_info
      Src: /src/gnupg/g10/migrate.c:59,1
    - Dst: dotlock_create
      Src: /src/gnupg/g10/migrate.c:61,1
    - Dst: log_error
      Src: /src/gnupg/g10/migrate.c:64,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/migrate.c:65,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/migrate.c:65,1
    - Dst: dotlock_take
      Src: /src/gnupg/g10/migrate.c:68,1
    - Dst: log_error
      Src: /src/gnupg/g10/migrate.c:70,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/migrate.c:71,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/migrate.c:71,1
    - Dst: dotlock_destroy
      Src: /src/gnupg/g10/migrate.c:72,1
    - Dst: agent_get_version
      Src: /src/gnupg/g10/migrate.c:77,1
    - Dst: gnupg_compare_version
      Src: /src/gnupg/g10/migrate.c:79,1
    - Dst: log_error
      Src: /src/gnupg/g10/migrate.c:81,1
    - Dst: log_info
      Src: /src/gnupg/g10/migrate.c:83,1
    - Dst: log_info
      Src: /src/gnupg/g10/migrate.c:84,1
    - Dst: log_info
      Src: /src/gnupg/g10/migrate.c:85,1
    - Dst: xfree
      Src: /src/gnupg/g10/migrate.c:86,1
    - Dst: xfree
      Src: /src/gnupg/g10/migrate.c:89,1
    - Dst: log_error
      Src: /src/gnupg/g10/migrate.c:93,1
    - Dst: log_error
      Src: /src/gnupg/g10/migrate.c:95,1
    - Dst: log_info
      Src: /src/gnupg/g10/migrate.c:99,1
    - Dst: import_old_secring
      Src: /src/gnupg/g10/migrate.c:100,1
    - Dst: es_fopen
      Src: /src/gnupg/g10/migrate.c:102,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/migrate.c:103,1
    - Dst: log_error
      Src: /src/gnupg/g10/migrate.c:104,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/migrate.c:105,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/migrate.c:105,1
    - Dst: log_info
      Src: /src/gnupg/g10/migrate.c:107,1
    - Dst: dotlock_release
      Src: /src/gnupg/g10/migrate.c:113,1
    - Dst: dotlock_destroy
      Src: /src/gnupg/g10/migrate.c:114,1
    - Dst: xfree
      Src: /src/gnupg/g10/migrate.c:116,1
    - Dst: xfree
      Src: /src/gnupg/g10/migrate.c:117,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 118
    functionName: migrate_secring
    functionSourceFile: /src/gnupg/g10/migrate.c
    functionUses: 1
    functionsReached:
    - make_filename
    - log_error
    - dotlock_create
    - gpg_error_from_syserror
    - es_fclose
    - gnupg_homedir
    - gnupg_compare_version
    - gnupg_access
    - dotlock_take
    - dotlock_release
    - log_info
    - gpg_strerror
    - dotlock_destroy
    - xfree
    - es_fopen
    - agent_get_version
    - import_old_secring
    linkageType: ''
    returnType: void
    signature: void migrate_secring (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: have_static_passphrase
    functionSourceFile: /src/gnupg/g10/passphrase.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int have_static_passphrase (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: get_static_passphrase
    functionSourceFile: /src/gnupg/g10/passphrase.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_static_passphrase (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/passphrase.c:77,1
    - Dst: xmalloc_secure
      Src: /src/gnupg/g10/passphrase.c:81,1
    - Dst: strlen
      Src: /src/gnupg/g10/passphrase.c:81,1
    - Dst: strcpy
      Src: /src/gnupg/g10/passphrase.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: set_next_passphrase
    functionSourceFile: /src/gnupg/g10/passphrase.c
    functionUses: 0
    functionsReached:
    - xmalloc_secure
    - strcpy
    - xfree
    - strlen
    linkageType: ''
    returnType: void
    signature: void set_next_passphrase( const char *s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: get_last_passphrase
    functionSourceFile: /src/gnupg/g10/passphrase.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_last_passphrase (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/passphrase.c:107,1
    - Dst: xmalloc_secure
      Src: /src/gnupg/g10/passphrase.c:108,1
    - Dst: strlen
      Src: /src/gnupg/g10/passphrase.c:108,1
    - Dst: strcpy
      Src: /src/gnupg/g10/passphrase.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pass
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: set_passphrase_from_string
    functionSourceFile: /src/gnupg/g10/passphrase.c
    functionUses: 1
    functionsReached:
    - xmalloc_secure
    - strcpy
    - xfree
    - strlen
    linkageType: ''
    returnType: void
    signature: void set_passphrase_from_string(const char *pass)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_fd_valid
      Src: /src/gnupg/g10/passphrase.c:119,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/passphrase.c:120,1
    - Dst: strerror
      Src: /src/gnupg/g10/passphrase.c:120,1
    - Dst: read
      Src: /src/gnupg/g10/passphrase.c:128,1
    - Dst: xmalloc_secure
      Src: /src/gnupg/g10/passphrase.c:140,1
    - Dst: memcpy
      Src: /src/gnupg/g10/passphrase.c:143,1
    - Dst: xfree
      Src: /src/gnupg/g10/passphrase.c:144,1
    - Dst: read
      Src: /src/gnupg/g10/passphrase.c:149,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/passphrase.c:154,1
    - Dst: xfree
      Src: /src/gnupg/g10/passphrase.c:156,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 158
    functionName: read_passphrase_from_fd
    functionSourceFile: /src/gnupg/g10/passphrase.c
    functionUses: 1
    functionsReached:
    - read
    - xmalloc_secure
    - log_fatal
    - gnupg_fd_valid
    - memcpy
    - xfree
    - tty_printf
    - strerror
    linkageType: ''
    returnType: void
    signature: void read_passphrase_from_fd( int fd )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: i18n_switchto_utf8
      Src: /src/gnupg/g10/passphrase.c:190,1
    - Dst: _
      Src: /src/gnupg/g10/passphrase.c:198,1
    - Dst: _
      Src: /src/gnupg/g10/passphrase.c:201,1
    - Dst: _
      Src: /src/gnupg/g10/passphrase.c:203,1
    - Dst: agent_get_passphrase
      Src: /src/gnupg/g10/passphrase.c:215,1
    - Dst: i18n_switchback
      Src: /src/gnupg/g10/passphrase.c:219,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/passphrase.c:224,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/passphrase.c:225,1
    - Dst: log_info
      Src: /src/gnupg/g10/passphrase.c:227,1
    - Dst: _
      Src: /src/gnupg/g10/passphrase.c:227,1
    - Dst: log_error
      Src: /src/gnupg/g10/passphrase.c:233,1
    - Dst: _
      Src: /src/gnupg/g10/passphrase.c:233,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/passphrase.c:233,1
    - Dst: write_status_errcode
      Src: /src/gnupg/g10/passphrase.c:244,1
    - Dst: xfree
      Src: /src/gnupg/g10/passphrase.c:249,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 7
    argNames:
    - newsymkey
    - nocache
    - cacheid
    - repeat
    - tryagain_text
    - flags
    - canceled
    argTypes:
    - int
    - int
    - char*
    - int
    - char*
    - unsigned int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 253
    functionName: passphrase_get
    functionSourceFile: /src/gnupg/g10/passphrase.c
    functionUses: 0
    functionsReached:
    - i18n_switchto_utf8
    - log_error
    - i18n_switchback
    - _
    - gpg_err_code
    - log_info
    - gpg_strerror
    - xfree
    - write_status_errcode
    - agent_get_passphrase
    linkageType: ''
    returnType: char
    signature: "char *\npassphrase_get (int newsymkey, int nocache, const char *cacheid,
      int repeat,\n                const char *tryagain_text, unsigned int flags,
      int *canceled)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: agent_clear_passphrase
      Src: /src/gnupg/g10/passphrase.c:264,1
    - Dst: log_error
      Src: /src/gnupg/g10/passphrase.c:266,1
    - Dst: _
      Src: /src/gnupg/g10/passphrase.c:266,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/passphrase.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cacheid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: passphrase_clear_cache
    functionSourceFile: /src/gnupg/g10/passphrase.c
    functionUses: 2
    functionsReached:
    - agent_clear_passphrase
    - gpg_strerror
    - _
    - log_error
    linkageType: ''
    returnType: void
    signature: void passphrase_clear_cache (const char *cacheid)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/passphrase.c:301,1
    - Dst: memset
      Src: /src/gnupg/g10/passphrase.c:304,1
    - Dst: gcry_randomize
      Src: /src/gnupg/g10/passphrase.c:313,1
    - Dst: encode_s2k_iterations
      Src: /src/gnupg/g10/passphrase.c:321,1
    - Dst: agent_get_s2k_count
      Src: /src/gnupg/g10/passphrase.c:321,1
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/passphrase.c:328,1
    - Dst: snprintf
      Src: /src/gnupg/g10/passphrase.c:332,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/passphrase.c:334,1
    - Dst: have_static_passphrase
      Src: /src/gnupg/g10/passphrase.c:343,1
    - Dst: xmalloc_secure
      Src: /src/gnupg/g10/passphrase.c:346,1
    - Dst: strlen
      Src: /src/gnupg/g10/passphrase.c:346,1
    - Dst: strcpy
      Src: /src/gnupg/g10/passphrase.c:347,1
    - Dst: memset
      Src: /src/gnupg/g10/passphrase.c:353,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/passphrase.c:355,1
    - Dst: snprintf
      Src: /src/gnupg/g10/passphrase.c:363,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/passphrase.c:364,1
    - Dst: passphrase_get
      Src: /src/gnupg/g10/passphrase.c:368,1
    - Dst: xfree
      Src: /src/gnupg/g10/passphrase.c:373,1
    - Dst: write_status
      Src: /src/gnupg/g10/passphrase.c:374,1
    - Dst: write_status
      Src: /src/gnupg/g10/passphrase.c:380,1
    - Dst: xmalloc_secure_clear
      Src: /src/gnupg/g10/passphrase.c:385,1
    - Dst: xfree
      Src: /src/gnupg/g10/passphrase.c:393,1
    - Dst: openpgp_cipher_get_algo_keylen
      Src: /src/gnupg/g10/passphrase.c:401,1
    - Dst: DIM
      Src: /src/gnupg/g10/passphrase.c:402,1
    - Dst: BUG
      Src: /src/gnupg/g10/passphrase.c:403,1
    - Dst: gcry_kdf_derive
      Src: /src/gnupg/g10/passphrase.c:404,1
    - Dst: strlen
      Src: /src/gnupg/g10/passphrase.c:404,1
    - Dst: S2K_DECODE_COUNT
      Src: /src/gnupg/g10/passphrase.c:409,1
    - Dst: log_error
      Src: /src/gnupg/g10/passphrase.c:413,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/passphrase.c:413,1
    - Dst: xfree
      Src: /src/gnupg/g10/passphrase.c:414,1
    - Dst: xfree
      Src: /src/gnupg/g10/passphrase.c:415,1
    - Dst: write_status
      Src: /src/gnupg/g10/passphrase.c:416,1
    - Dst: memcpy
      Src: /src/gnupg/g10/passphrase.c:421,1
    - Dst: xfree
      Src: /src/gnupg/g10/passphrase.c:422,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 77
    argCount: 7
    argNames:
    - cipher_algo
    - s2k
    - create
    - nocache
    - tryagain_text
    - flags
    - canceled
    argTypes:
    - int
    - STRING2KEY*
    - int
    - int
    - char*
    - unsigned int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 425
    functionName: passphrase_to_dek
    functionSourceFile: /src/gnupg/g10/passphrase.c
    functionUses: 3
    functionsReached:
    - log_assert
    - strlen
    - BUG
    - xmalloc_secure_clear
    - memcpy
    - S2K_DECODE_COUNT
    - agent_get_s2k_count
    - log_error
    - DIM
    - encode_s2k_iterations
    - write_status
    - have_static_passphrase
    - passphrase_get
    - gcry_kdf_derive
    - write_status_text
    - openpgp_cipher_get_algo_keylen
    - memset
    - xfree
    - gcry_randomize
    - gpg_strerror
    - snprintf
    - bin2hex
    - is_status_enabled
    - strcpy
    - xmalloc_secure
    linkageType: ''
    returnType: DEK
    signature: "DEK *\npassphrase_to_dek (int cipher_algo, STRING2KEY *s2k,\n                   int
      create, int nocache,\n                   const char *tryagain_text, unsigned
      int flags,\n                   int *canceled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_long_user_id_string
      Src: /src/gnupg/g10/passphrase.c:437,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/passphrase.c:438,1
    - Dst: xfree
      Src: /src/gnupg/g10/passphrase.c:439,1
    - Dst: snprintf
      Src: /src/gnupg/g10/passphrase.c:441,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/passphrase.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctrl
    - keyid
    - mainkeyid
    - pubkey_algo
    argTypes:
    - ctrl_t
    - u32*
    - u32*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 430
    functionDepth: 6
    functionLinenumber: 430
    functionLinenumberEnd: 449
    functionName: emit_status_need_passphrase
    functionSourceFile: /src/gnupg/g10/passphrase.c
    functionUses: 1
    functionsReached:
    - get_long_user_id_string
    - snprintf
    - xfree
    - write_status_text
    linkageType: ''
    returnType: void
    signature: "void emit_status_need_passphrase (ctrl_t ctrl,\n                             u32
      *keyid, u32 *mainkeyid, int pubkey_algo)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/passphrase.c:482,1
    - Dst: strtimestamp
      Src: /src/gnupg/g10/passphrase.c:483,1
    - Dst: get_user_id
      Src: /src/gnupg/g10/passphrase.c:484,1
    - Dst: i18n_switchto_utf8
      Src: /src/gnupg/g10/passphrase.c:488,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/passphrase.c:491,1
    - Dst: _
      Src: /src/gnupg/g10/passphrase.c:491,1
    - Dst: keystr
      Src: /src/gnupg/g10/passphrase.c:491,1
    - Dst: _
      Src: /src/gnupg/g10/passphrase.c:498,1
    - Dst: _
      Src: /src/gnupg/g10/passphrase.c:502,1
    - Dst: _
      Src: /src/gnupg/g10/passphrase.c:507,1
    - Dst: _
      Src: /src/gnupg/g10/passphrase.c:510,1
    - Dst: _
      Src: /src/gnupg/g10/passphrase.c:515,1
    - Dst: _
      Src: /src/gnupg/g10/passphrase.c:518,1
    - Dst: _
      Src: /src/gnupg/g10/passphrase.c:523,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/passphrase.c:532,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/passphrase.c:537,1
    - Dst: _
      Src: /src/gnupg/g10/passphrase.c:537,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/passphrase.c:543,1
    - Dst: keystr
      Src: /src/gnupg/g10/passphrase.c:544,1
    - Dst: xfree
      Src: /src/gnupg/g10/passphrase.c:546,1
    - Dst: xfree
      Src: /src/gnupg/g10/passphrase.c:547,1
    - Dst: i18n_switchback
      Src: /src/gnupg/g10/passphrase.c:549,1
    - Dst: percent_plus_escape
      Src: /src/gnupg/g10/passphrase.c:553,1
    - Dst: xfree
      Src: /src/gnupg/g10/passphrase.c:554,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 4
    argNames:
    - ctrl
    - pk
    - mode
    - escaped
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 456
    functionDepth: 5
    functionLinenumber: 456
    functionLinenumberEnd: 559
    functionName: gpg_format_keydesc
    functionSourceFile: /src/gnupg/g10/passphrase.c
    functionUses: 3
    functionsReached:
    - get_user_id
    - i18n_switchto_utf8
    - nbits_from_pk
    - percent_plus_escape
    - i18n_switchback
    - _
    - strtimestamp
    - xtryasprintf
    - xfree
    - openpgp_pk_algo_name
    - keystr
    linkageType: ''
    returnType: char
    signature: 'char *

      gpg_format_keydesc (ctrl_t ctrl, PKT_public_key *pk, int mode, int escaped)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: native_to_utf8
      Src: /src/gnupg/g10/revoke.c:57,1
    - Dst: strlen
      Src: /src/gnupg/g10/revoke.c:58,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/revoke.c:60,1
    - Dst: memcpy
      Src: /src/gnupg/g10/revoke.c:63,1
    - Dst: strlen
      Src: /src/gnupg/g10/revoke.c:63,1
    - Dst: xfree
      Src: /src/gnupg/g10/revoke.c:64,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/revoke.c:67,1
    - Dst: xfree
      Src: /src/gnupg/g10/revoke.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - sig
    - opaque
    argTypes:
    - PKT_signature*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionName: revocation_reason_build_cb
    functionSourceFile: /src/gnupg/g10/revoke.c
    functionUses: 1
    functionsReached:
    - strlen
    - xmalloc
    - build_sig_subpkt
    - xfree
    - memcpy
    - native_to_utf8
    linkageType: ''
    returnType: int
    signature: int revocation_reason_build_cb( PKT_signature *sig, void *opaque )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: find_kbnode
      Src: /src/gnupg/g10/revoke.c:87,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:90,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/revoke.c:94,1
    - Dst: build_packet
      Src: /src/gnupg/g10/revoke.c:97,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:100,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:100,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/revoke.c:100,1
    - Dst: init_packet
      Src: /src/gnupg/g10/revoke.c:104,1
    - Dst: build_packet
      Src: /src/gnupg/g10/revoke.c:111,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:114,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/revoke.c:114,1
    - Dst: build_packet
      Src: /src/gnupg/g10/revoke.c:123,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:126,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:126,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/revoke.c:126,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/revoke.c:135,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:143,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:143,1
    - Dst: keystr
      Src: /src/gnupg/g10/revoke.c:143,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/revoke.c:154,1
    - Dst: IS_UID_SIG
      Src: /src/gnupg/g10/revoke.c:158,1
    - Dst: build_packet
      Src: /src/gnupg/g10/revoke.c:169,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:172,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:172,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/revoke.c:172,1
    - Dst: build_packet
      Src: /src/gnupg/g10/revoke.c:181,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:184,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:184,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/revoke.c:184,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 68
    argCount: 4
    argNames:
    - out
    - keyblock
    - revsig
    - revkey
    argTypes:
    - IOBUF
    - KBNODE
    - PKT_signature*
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 190
    functionName: export_minimal_pk
    functionSourceFile: /src/gnupg/g10/revoke.c
    functionUses: 0
    functionsReached:
    - find_next_kbnode
    - log_error
    - init_packet
    - find_kbnode
    - keyid_from_pk
    - _
    - gpg_strerror
    - keystr
    - IS_UID_SIG
    - build_packet
    linkageType: ''
    returnType: int
    signature: "int export_minimal_pk(IOBUF out,KBNODE keyblock,\n\t\t  PKT_signature
      *revsig,PKT_signature *revkey)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:214,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:214,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/revoke.c:218,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/revoke.c:220,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/revoke.c:223,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/revoke.c:226,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/revoke.c:228,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:230,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:230,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/revoke.c:230,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/revoke.c:234,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:236,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:236,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/revoke.c:236,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/revoke.c:241,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/revoke.c:244,1
    - Dst: BUG
      Src: /src/gnupg/g10/revoke.c:246,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/revoke.c:250,1
    - Dst: build_sk_list
      Src: /src/gnupg/g10/revoke.c:254,1
    - Dst: BUG
      Src: /src/gnupg/g10/revoke.c:262,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/revoke.c:268,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/revoke.c:278,1
    - Dst: memcmp
      Src: /src/gnupg/g10/revoke.c:285,1
    - Dst: copy_public_key
      Src: /src/gnupg/g10/revoke.c:290,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/revoke.c:296,1
    - Dst: get_pubkey_byfpr
      Src: /src/gnupg/g10/revoke.c:297,1
    - Dst: print_key_info
      Src: /src/gnupg/g10/revoke.c:308,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:309,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:311,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:311,1
    - Dst: print_key_info
      Src: /src/gnupg/g10/revoke.c:312,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:315,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:315,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:316,1
    - Dst: agent_probe_secret_key
      Src: /src/gnupg/g10/revoke.c:318,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:320,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:320,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/revoke.c:324,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:325,1
    - Dst: ask_revocation_reason
      Src: /src/gnupg/g10/revoke.c:329,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:334,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:334,1
    - Dst: open_outfile
      Src: /src/gnupg/g10/revoke.c:336,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/revoke.c:342,1
    - Dst: make_keysig_packet
      Src: /src/gnupg/g10/revoke.c:345,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:350,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:350,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/revoke.c:350,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/revoke.c:376,1
    - Dst: IS_KEY_SIG
      Src: /src/gnupg/g10/revoke.c:384,1
    - Dst: memcmp
      Src: /src/gnupg/g10/revoke.c:396,1
    - Dst: BUG
      Src: /src/gnupg/g10/revoke.c:409,1
    - Dst: export_minimal_pk
      Src: /src/gnupg/g10/revoke.c:411,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:416,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:416,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:422,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:422,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/revoke.c:425,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/revoke.c:426,1
    - Dst: free_seckey_enc
      Src: /src/gnupg/g10/revoke.c:428,1
    - Dst: release_sk_list
      Src: /src/gnupg/g10/revoke.c:430,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/revoke.c:433,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/revoke.c:435,1
    - Dst: release_revocation_reason_info
      Src: /src/gnupg/g10/revoke.c:436,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/revoke.c:437,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/revoke.c:438,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 130
    argCount: 3
    argNames:
    - ctrl
    - uname
    - locusr
    argTypes:
    - ctrl_t
    - char*
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 195
    functionDepth: 6
    functionLinenumber: 195
    functionLinenumberEnd: 440
    functionName: gen_desig_revoke
    functionSourceFile: /src/gnupg/g10/revoke.c
    functionUses: 1
    functionsReached:
    - BUG
    - ask_revocation_reason
    - iobuf_cancel
    - export_minimal_pk
    - open_outfile
    - make_keysig_packet
    - keydb_new
    - free_public_key
    - print_key_info
    - log_error
    - _
    - copy_public_key
    - IS_KEY_SIG
    - merge_keys_and_selfsig
    - keydb_get_keyblock
    - tty_printf
    - keydb_release
    - push_armor_filter
    - cpr_get_answer_is_yes
    - gpg_error_from_syserror
    - get_pubkey_byfpr
    - keydb_search
    - gpg_strerror
    - release_sk_list
    - release_armor_context
    - find_next_kbnode
    - iobuf_close
    - find_kbnode
    - new_armor_context
    - keyid_from_pk
    - free_seckey_enc
    - build_sk_list
    - classify_user_id
    - memcmp
    - agent_probe_secret_key
    - fingerprint_from_pk
    - release_revocation_reason_info
    - xmalloc_clear
    linkageType: ''
    returnType: int
    signature: int gen_desig_revoke (ctrl_t ctrl, const char *uname, strlist_t locusr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: new_armor_context
      Src: /src/gnupg/g10/revoke.c:465,1
    - Dst: open_outfile
      Src: /src/gnupg/g10/revoke.c:467,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/revoke.c:471,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/revoke.c:475,1
    - Dst: make_keysig_packet
      Src: /src/gnupg/g10/revoke.c:477,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:482,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:482,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/revoke.c:482,1
    - Dst: export_minimal_pk
      Src: /src/gnupg/g10/revoke.c:490,1
    - Dst: init_packet
      Src: /src/gnupg/g10/revoke.c:496,1
    - Dst: build_packet
      Src: /src/gnupg/g10/revoke.c:500,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:503,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:503,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/revoke.c:503,1
    - Dst: free_seckey_enc
      Src: /src/gnupg/g10/revoke.c:510,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/revoke.c:512,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/revoke.c:514,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/revoke.c:515,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 8
    argNames:
    - ctrl
    - filename
    - reason
    - psk
    - keyblock
    - leadintext
    - suffix
    - cache_nonce
    argTypes:
    - ctrl_t
    - char*
    - struct revocation_reason_info*
    - PKT_public_key*
    - kbnode_t
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 517
    functionName: create_revocation
    functionSourceFile: /src/gnupg/g10/revoke.c
    functionUses: 0
    functionsReached:
    - log_error
    - iobuf_close
    - init_packet
    - free_seckey_enc
    - new_armor_context
    - _
    - iobuf_cancel
    - export_minimal_pk
    - open_outfile
    - gpg_strerror
    - make_keysig_packet
    - build_packet
    - iobuf_writestr
    - push_armor_filter
    - release_armor_context
    linkageType: ''
    returnType: int
    signature: "int create_revocation (ctrl_t ctrl,\n                   const char
      *filename,\n                   struct revocation_reason_info *reason,\n                   PKT_public_key
      *psk,\n                   kbnode_t keyblock,\n                   const char
      *leadintext, int suffix,\n                   const char *cache_nonce)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_openpgp_revocdir
      Src: /src/gnupg/g10/revoke.c:540,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/revoke.c:540,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/revoke.c:541,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/revoke.c:544,1
    - Dst: xfree
      Src: /src/gnupg/g10/revoke.c:545,1
    - Dst: strconcat
      Src: /src/gnupg/g10/revoke.c:548,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/revoke.c:551,1
    - Dst: xfree
      Src: /src/gnupg/g10/revoke.c:552,1
    - Dst: xfree
      Src: /src/gnupg/g10/revoke.c:553,1
    - Dst: xfree
      Src: /src/gnupg/g10/revoke.c:556,1
    - Dst: xfree
      Src: /src/gnupg/g10/revoke.c:557,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/revoke.c:559,1
    - Dst: es_fopenmem
      Src: /src/gnupg/g10/revoke.c:561,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/revoke.c:563,1
    - Dst: i18n_switchto_utf8
      Src: /src/gnupg/g10/revoke.c:565,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/revoke.c:567,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:568,1
    - Dst: print_key_line
      Src: /src/gnupg/g10/revoke.c:570,1
    - Dst: print_fingerprint
      Src: /src/gnupg/g10/revoke.c:573,1
    - Dst: keystrlen
      Src: /src/gnupg/g10/revoke.c:575,1
    - Dst: get_user_id
      Src: /src/gnupg/g10/revoke.c:577,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/revoke.c:578,1
    - Dst: xfree
      Src: /src/gnupg/g10/revoke.c:581,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/revoke.c:583,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:584,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:587,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:593,1
    - Dst: es_putc
      Src: /src/gnupg/g10/revoke.c:597,1
    - Dst: i18n_switchback
      Src: /src/gnupg/g10/revoke.c:599,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/g10/revoke.c:601,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/revoke.c:602,1
    - Dst: create_revocation
      Src: /src/gnupg/g10/revoke.c:608,1
    - Dst: log_info
      Src: /src/gnupg/g10/revoke.c:612,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:612,1
    - Dst: es_free
      Src: /src/gnupg/g10/revoke.c:614,1
    - Dst: xfree
      Src: /src/gnupg/g10/revoke.c:615,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 3
    argNames:
    - ctrl
    - psk
    - cache_nonce
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 526
    functionDepth: 5
    functionLinenumber: 526
    functionLinenumberEnd: 618
    functionName: gen_standard_revoke
    functionSourceFile: /src/gnupg/g10/revoke.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - gnupg_homedir
    - get_openpgp_revocdir
    - es_fopenmem
    - get_user_id
    - es_free
    - print_key_line
    - _
    - es_putc
    - log_info
    - keystrlen
    - i18n_switchto_utf8
    - gpg_error_from_syserror
    - i18n_switchback
    - create_revocation
    - xfree
    - es_fclose_snatch
    - print_fingerprint
    - keyid_from_pk
    - log_fatal
    - strconcat
    - hexfingerprint
    linkageType: ''
    returnType: int
    signature: int gen_standard_revoke (ctrl_t ctrl, PKT_public_key *psk, const char
      *cache_nonce)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:639,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:639,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/revoke.c:644,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/revoke.c:647,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/revoke.c:650,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/revoke.c:652,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/revoke.c:655,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:656,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:656,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:658,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:658,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/revoke.c:659,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/revoke.c:663,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:666,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:666,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/revoke.c:666,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/revoke.c:670,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/revoke.c:671,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:681,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:681,1
    - Dst: print_key_info_log
      Src: /src/gnupg/g10/revoke.c:683,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/revoke.c:685,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/revoke.c:687,1
    - Dst: print_key_info_log
      Src: /src/gnupg/g10/revoke.c:690,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/revoke.c:692,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/revoke.c:695,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/revoke.c:697,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:706,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:706,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/revoke.c:706,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/revoke.c:711,1
    - Dst: BUG
      Src: /src/gnupg/g10/revoke.c:713,1
    - Dst: agent_probe_secret_key
      Src: /src/gnupg/g10/revoke.c:716,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/revoke.c:718,1
    - Dst: log_error
      Src: /src/gnupg/g10/revoke.c:719,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:719,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/revoke.c:720,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/revoke.c:724,1
    - Dst: print_key_info
      Src: /src/gnupg/g10/revoke.c:725,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:727,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/revoke.c:728,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:729,1
    - Dst: ask_revocation_reason
      Src: /src/gnupg/g10/revoke.c:736,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:745,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:745,1
    - Dst: create_revocation
      Src: /src/gnupg/g10/revoke.c:747,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:752,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:752,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/revoke.c:761,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/revoke.c:762,1
    - Dst: release_revocation_reason_info
      Src: /src/gnupg/g10/revoke.c:763,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 88
    argCount: 2
    argNames:
    - ctrl
    - uname
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 625
    functionDepth: 6
    functionLinenumber: 625
    functionLinenumberEnd: 765
    functionName: gen_revoke
    functionSourceFile: /src/gnupg/g10/revoke.c
    functionUses: 1
    functionsReached:
    - BUG
    - ask_revocation_reason
    - keydb_new
    - print_key_info_log
    - print_key_info
    - log_error
    - _
    - keydb_get_keyblock
    - tty_printf
    - cpr_get_answer_is_yes
    - gpg_error_from_syserror
    - create_revocation
    - keydb_search
    - gpg_error
    - gpg_strerror
    - release_kbnode
    - find_kbnode
    - keyid_from_pk
    - classify_user_id
    - gpg_err_code
    - agent_probe_secret_key
    - keydb_release
    - release_revocation_reason_info
    linkageType: ''
    returnType: int
    signature: int gen_revoke (ctrl_t ctrl, const char *uname)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:775,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:776,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:777,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:778,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:779,1
    - Dst: xfree
      Src: /src/gnupg/g10/revoke.c:784,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:787,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:787,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:788,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:790,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:792,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:794,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:796,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:797,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:797,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:799,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:799,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/revoke.c:803,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:804,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/revoke.c:805,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/revoke.c:806,1
    - Dst: xfree
      Src: /src/gnupg/g10/revoke.c:809,1
    - Dst: digitp
      Src: /src/gnupg/g10/revoke.c:814,1
    - Dst: atoi
      Src: /src/gnupg/g10/revoke.c:817,1
    - Dst: xfree
      Src: /src/gnupg/g10/revoke.c:818,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:840,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:840,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:843,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:843,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/revoke.c:846,1
    - Dst: trim_trailing_ws
      Src: /src/gnupg/g10/revoke.c:847,1
    - Dst: strlen
      Src: /src/gnupg/g10/revoke.c:847,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/revoke.c:848,1
    - Dst: xfree
      Src: /src/gnupg/g10/revoke.c:850,1
    - Dst: make_printable_string
      Src: /src/gnupg/g10/revoke.c:855,1
    - Dst: strlen
      Src: /src/gnupg/g10/revoke.c:855,1
    - Dst: xfree
      Src: /src/gnupg/g10/revoke.c:856,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/revoke.c:861,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/revoke.c:863,1
    - Dst: strlen
      Src: /src/gnupg/g10/revoke.c:863,1
    - Dst: strlen
      Src: /src/gnupg/g10/revoke.c:863,1
    - Dst: strcpy
      Src: /src/gnupg/g10/revoke.c:864,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/revoke.c:864,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/revoke.c:864,1
    - Dst: xfree
      Src: /src/gnupg/g10/revoke.c:865,1
    - Dst: xfree
      Src: /src/gnupg/g10/revoke.c:868,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:871,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:871,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:873,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:873,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/revoke.c:875,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/revoke.c:877,1
    - Dst: _
      Src: /src/gnupg/g10/revoke.c:878,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/revoke.c:880,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 81
    argCount: 3
    argNames:
    - key_rev
    - cert_rev
    - hint
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 769
    functionDepth: 6
    functionLinenumber: 769
    functionLinenumberEnd: 884
    functionName: ask_revocation_reason
    functionSourceFile: /src/gnupg/g10/revoke.c
    functionUses: 6
    functionsReached:
    - cpr_kill_prompt
    - atoi
    - cpr_get_answer_is_yes
    - strlen
    - digitp
    - make_printable_string
    - trim_spaces
    - cpr_get
    - _
    - xmalloc
    - trim_trailing_ws
    - xfree
    - strcpy
    - xstrdup
    - stpcpy
    - tty_printf
    linkageType: ''
    returnType: struct revocation_reason_info
    signature: 'struct revocation_reason_info *

      ask_revocation_reason( int key_rev, int cert_rev, int hint )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/g10/revoke.c:890,1
    - Dst: strdup
      Src: /src/gnupg/g10/revoke.c:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 894
    functionName: get_default_uid_revocation_reason
    functionSourceFile: /src/gnupg/g10/revoke.c
    functionUses: 1
    functionsReached:
    - xmalloc
    - strdup
    linkageType: ''
    returnType: struct revocation_reason_info
    signature: 'struct revocation_reason_info *

      get_default_uid_revocation_reason(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/g10/revoke.c:900,1
    - Dst: strdup
      Src: /src/gnupg/g10/revoke.c:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 904
    functionName: get_default_sig_revocation_reason
    functionSourceFile: /src/gnupg/g10/revoke.c
    functionUses: 1
    functionsReached:
    - xmalloc
    - strdup
    linkageType: ''
    returnType: struct revocation_reason_info
    signature: 'struct revocation_reason_info *

      get_default_sig_revocation_reason(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/revoke.c:910,1
    - Dst: xfree
      Src: /src/gnupg/g10/revoke.c:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - reason
    argTypes:
    - struct revocation_reason_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 913
    functionName: release_revocation_reason_info
    functionSourceFile: /src/gnupg/g10/revoke.c
    functionUses: 8
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_revocation_reason_info( struct revocation_reason_info
      *reason )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/g10/gpgsql.c:43,1
    - Dst: sqlite3_vmprintf
      Src: /src/gnupg/g10/gpgsql.c:44,1
    - Dst: va_end
      Src: /src/gnupg/g10/gpgsql.c:45,1
    - Dst: log_debug
      Src: /src/gnupg/g10/gpgsql.c:48,1
    - Dst: sqlite3_exec
      Src: /src/gnupg/g10/gpgsql.c:51,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/gpgsql.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - db
    - cookie
    - errmsg
    - sql
    argTypes:
    - sqlite3*
    - void*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 56
    functionName: gpgsql_exec_printf
    functionSourceFile: /src/gnupg/g10/gpgsql.c
    functionUses: 0
    functionsReached:
    - sqlite3_free
    - va_end
    - sqlite3_exec
    - va_start
    - log_debug
    - sqlite3_vmprintf
    linkageType: ''
    returnType: int
    signature: "int gpgsql_exec_printf (sqlite3 *db,\n                    int (*callback)(void*,int,char**,char**),
      void *cookie,\n                    char **errmsg,\n                    const
      char *sql, ...)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/gpgsql.c:90,1
    - Dst: sqlite3_db_handle
      Src: /src/gnupg/g10/gpgsql.c:90,1
    - Dst: sqlite3_prepare_v2
      Src: /src/gnupg/g10/gpgsql.c:100,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/gpgsql.c:102,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/gpgsql.c:111,1
    - Dst: sqlite3_bind_parameter_count
      Src: /src/gnupg/g10/gpgsql.c:125,1
    - Dst: va_start
      Src: /src/gnupg/g10/gpgsql.c:126,1
    - Dst: va_arg
      Src: /src/gnupg/g10/gpgsql.c:131,1
    - Dst: va_arg
      Src: /src/gnupg/g10/gpgsql.c:136,1
    - Dst: sqlite3_bind_int
      Src: /src/gnupg/g10/gpgsql.c:137,1
    - Dst: va_arg
      Src: /src/gnupg/g10/gpgsql.c:142,1
    - Dst: sqlite3_bind_int64
      Src: /src/gnupg/g10/gpgsql.c:143,1
    - Dst: va_arg
      Src: /src/gnupg/g10/gpgsql.c:148,1
    - Dst: sqlite3_bind_text
      Src: /src/gnupg/g10/gpgsql.c:149,1
    - Dst: va_arg
      Src: /src/gnupg/g10/gpgsql.c:154,1
    - Dst: va_arg
      Src: /src/gnupg/g10/gpgsql.c:155,1
    - Dst: sqlite3_bind_blob
      Src: /src/gnupg/g10/gpgsql.c:156,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/gpgsql.c:161,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/gpgsql.c:166,1
    - Dst: va_arg
      Src: /src/gnupg/g10/gpgsql.c:172,1
    - Dst: log_assert
      Src: /src/gnupg/g10/gpgsql.c:173,1
    - Dst: va_end
      Src: /src/gnupg/g10/gpgsql.c:174,1
    - Dst: sqlite3_step
      Src: /src/gnupg/g10/gpgsql.c:178,1
    - Dst: sqlite3_column_count
      Src: /src/gnupg/g10/gpgsql.c:189,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/gpgsql.c:190,1
    - Dst: sqlite3_column_name
      Src: /src/gnupg/g10/gpgsql.c:193,1
    - Dst: sqlite3_column_text
      Src: /src/gnupg/g10/gpgsql.c:201,1
    - Dst: sqlite3_column_type
      Src: /src/gnupg/g10/gpgsql.c:202,1
    - Dst: callback
      Src: /src/gnupg/g10/gpgsql.c:210,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpgsql.c:219,1
    - Dst: sqlite3_reset
      Src: /src/gnupg/g10/gpgsql.c:222,1
    - Dst: sqlite3_finalize
      Src: /src/gnupg/g10/gpgsql.c:224,1
    - Dst: sqlite3_errstr
      Src: /src/gnupg/g10/gpgsql.c:231,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpgsql.c:232,1
    - Dst: sqlite3_malloc
      Src: /src/gnupg/g10/gpgsql.c:233,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/gpgsql.c:235,1
    - Dst: memcpy
      Src: /src/gnupg/g10/gpgsql.c:236,1
    - Dst: sqlite3_errmsg
      Src: /src/gnupg/g10/gpgsql.c:242,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpgsql.c:243,1
    - Dst: sqlite3_malloc
      Src: /src/gnupg/g10/gpgsql.c:244,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/gpgsql.c:246,1
    - Dst: memcpy
      Src: /src/gnupg/g10/gpgsql.c:247,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 103
    argCount: 6
    argNames:
    - db
    - stmtp
    - callback
    - cookie
    - errmsg
    - sql
    argTypes:
    - sqlite3*
    - sqlite3_stmt**
    - gpgsql_stepx_callback
    - void*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 251
    functionName: gpgsql_stepx
    functionSourceFile: /src/gnupg/g10/gpgsql.c
    functionUses: 0
    functionsReached:
    - sqlite3_finalize
    - sqlite3_column_text
    - log_assert
    - strlen
    - sqlite3_bind_int
    - sqlite3_prepare_v2
    - sqlite3_step
    - xmalloc
    - sqlite3_reset
    - sqlite3_errstr
    - memcpy
    - sqlite3_bind_blob
    - sqlite3_errmsg
    - sqlite3_column_count
    - sqlite3_bind_parameter_count
    - sqlite3_db_handle
    - sqlite3_column_type
    - sqlite3_bind_text
    - va_end
    - sqlite3_malloc
    - sqlite3_column_name
    - sqlite3_bind_int64
    - xfree
    - callback
    - log_fatal
    - va_start
    - va_arg
    linkageType: ''
    returnType: int
    signature: "int gpgsql_stepx (sqlite3 *db,\n              sqlite3_stmt **stmtp,\n
      \             gpgsql_stepx_callback callback,\n              void *cookie,\n
      \             char **errmsg,\n              const char *sql, ...)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_cipher_get_algo_blklen
      Src: /src/gnupg/g10/cipher-cfb.c:53,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/cipher-cfb.c:55,1
    - Dst: memset
      Src: /src/gnupg/g10/cipher-cfb.c:57,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/cipher-cfb.c:64,1
    - Dst: gcry_md_debug
      Src: /src/gnupg/g10/cipher-cfb.c:66,1
    - Dst: log_info
      Src: /src/gnupg/g10/cipher-cfb.c:70,1
    - Dst: _
      Src: /src/gnupg/g10/cipher-cfb.c:70,1
    - Dst: log_info
      Src: /src/gnupg/g10/cipher-cfb.c:72,1
    - Dst: _
      Src: /src/gnupg/g10/cipher-cfb.c:72,1
    - Dst: init_packet
      Src: /src/gnupg/g10/cipher-cfb.c:75,1
    - Dst: build_packet
      Src: /src/gnupg/g10/cipher-cfb.c:78,1
    - Dst: log_bug
      Src: /src/gnupg/g10/cipher-cfb.c:79,1
    - Dst: gcry_randomize
      Src: /src/gnupg/g10/cipher-cfb.c:81,1
    - Dst: print_cipher_algo_note
      Src: /src/gnupg/g10/cipher-cfb.c:84,1
    - Dst: openpgp_cipher_open
      Src: /src/gnupg/g10/cipher-cfb.c:85,1
    - Dst: BUG
      Src: /src/gnupg/g10/cipher-cfb.c:95,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/g10/cipher-cfb.c:99,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/g10/cipher-cfb.c:100,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/cipher-cfb.c:103,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/g10/cipher-cfb.c:104,1
    - Dst: gcry_cipher_sync
      Src: /src/gnupg/g10/cipher-cfb.c:105,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/cipher-cfb.c:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 2
    argNames:
    - cfx
    - a
    argTypes:
    - cipher_filter_context_t*
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 112
    functionName: write_header
    functionSourceFile: /src/gnupg/g10/cipher-cfb.c
    functionUses: 10
    functionsReached:
    - print_cipher_algo_note
    - gcry_cipher_setiv
    - BUG
    - gcry_cipher_encrypt
    - openpgp_cipher_open
    - gcry_cipher_sync
    - init_packet
    - log_bug
    - _
    - log_info
    - iobuf_write
    - gcry_md_debug
    - gcry_md_open
    - gcry_cipher_setkey
    - memset
    - gcry_randomize
    - build_packet
    - openpgp_cipher_get_algo_blklen
    - gcry_md_write
    - log_fatal
    linkageType: ''
    returnType: void
    signature: void write_header (cipher_filter_context_t *cfx, iobuf_t a)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/cipher-cfb.c:132,1
    - Dst: write_header
      Src: /src/gnupg/g10/cipher-cfb.c:134,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/cipher-cfb.c:136,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/g10/cipher-cfb.c:137,1
    - Dst: log_info
      Src: /src/gnupg/g10/cipher-cfb.c:143,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/cipher-cfb.c:145,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/cipher-cfb.c:150,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/g10/cipher-cfb.c:157,1
    - Dst: gcry_md_get_algo
      Src: /src/gnupg/g10/cipher-cfb.c:157,1
    - Dst: log_assert
      Src: /src/gnupg/g10/cipher-cfb.c:160,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/cipher-cfb.c:164,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/cipher-cfb.c:165,1
    - Dst: gcry_md_final
      Src: /src/gnupg/g10/cipher-cfb.c:167,1
    - Dst: gcry_md_read
      Src: /src/gnupg/g10/cipher-cfb.c:168,1
    - Dst: memcpy
      Src: /src/gnupg/g10/cipher-cfb.c:169,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/g10/cipher-cfb.c:170,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/cipher-cfb.c:171,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/cipher-cfb.c:172,1
    - Dst: log_error
      Src: /src/gnupg/g10/cipher-cfb.c:173,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/g10/cipher-cfb.c:176,1
    - Dst: mem2str
      Src: /src/gnupg/g10/cipher-cfb.c:180,1
    - Dst: write_status_printf
      Src: /src/gnupg/g10/cipher-cfb.c:184,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 5
    argNames:
    - opaque
    - control
    - a
    - buf
    - ret_len
    argTypes:
    - void*
    - int
    - iobuf_t
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 190
    functionName: cipher_filter_cfb
    functionSourceFile: /src/gnupg/g10/cipher-cfb.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - write_header
    - log_assert
    - log_error
    - gcry_md_putc
    - gcry_md_get_algo_dlen
    - gcry_md_get_algo
    - gcry_cipher_encrypt
    - log_info
    - memcpy
    - gcry_md_final
    - write_status_printf
    - gcry_md_close
    - openpgp_cipher_algo_name
    - gcry_md_read
    - iobuf_write
    - mem2str
    - gcry_cipher_close
    linkageType: ''
    returnType: int
    signature: "int cipher_filter_cfb (void *opaque, int control,\n                   iobuf_t
      a, byte *buf, size_t *ret_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/call-keyboxd.c:93,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-keyboxd.c:103,1
    - Dst: log_error
      Src: /src/gnupg/g10/call-keyboxd.c:106,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/call-keyboxd.c:107,1
    - Dst: assuan_release
      Src: /src/gnupg/g10/call-keyboxd.c:110,1
    - Dst: kbx_client_data_release
      Src: /src/gnupg/g10/call-keyboxd.c:119,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-keyboxd.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 124
    functionName: gpg_keyboxd_deinit_session_data
    functionSourceFile: /src/gnupg/g10/call-keyboxd.c
    functionUses: 1
    functionsReached:
    - kbx_client_data_release
    - log_error
    - assuan_release
    - assuan_transact
    - gpg_strerror
    - xfree
    linkageType: ''
    returnType: void
    signature: void gpg_keyboxd_deinit_session_data (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: warn_server_version_mismatch
      Src: /src/gnupg/g10/call-keyboxd.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - servername
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: warn_version_mismatch
    functionSourceFile: /src/gnupg/g10/call-keyboxd.c
    functionUses: 2
    functionsReached:
    - warn_server_version_mismatch
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t warn_version_mismatch (assuan_context_t ctx, const char
      *servername)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: start_new_keyboxd
      Src: /src/gnupg/g10/call-keyboxd.c:149,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/call-keyboxd.c:155,1
    - Dst: log_info
      Src: /src/gnupg/g10/call-keyboxd.c:162,1
    - Dst: _
      Src: /src/gnupg/g10/call-keyboxd.c:162,1
    - Dst: warn_version_mismatch
      Src: /src/gnupg/g10/call-keyboxd.c:165,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-keyboxd.c:171,1
    - Dst: log_error
      Src: /src/gnupg/g10/call-keyboxd.c:175,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/call-keyboxd.c:176,1
    - Dst: assuan_release
      Src: /src/gnupg/g10/call-keyboxd.c:185,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - ctrl
    - r_ctx
    argTypes:
    - ctrl_t
    - assuan_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 190
    functionName: create_new_context
    functionSourceFile: /src/gnupg/g10/call-keyboxd.c
    functionUses: 0
    functionsReached:
    - warn_version_mismatch
    - log_error
    - assuan_release
    - _
    - assuan_transact
    - log_info
    - gpg_err_code
    - start_new_keyboxd
    - gpg_strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t create_new_context (ctrl_t ctrl, assuan_context_t *r_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/call-keyboxd.c:212,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/call-keyboxd.c:222,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-keyboxd.c:224,1
    - Dst: create_new_context
      Src: /src/gnupg/g10/call-keyboxd.c:226,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-keyboxd.c:229,1
    - Dst: kbx_client_data_new
      Src: /src/gnupg/g10/call-keyboxd.c:233,1
    - Dst: assuan_release
      Src: /src/gnupg/g10/call-keyboxd.c:236,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-keyboxd.c:237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - ctrl
    - r_kbl
    argTypes:
    - ctrl_t
    - keyboxd_local_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 247
    functionName: open_context
    functionSourceFile: /src/gnupg/g10/call-keyboxd.c
    functionUses: 0
    functionsReached:
    - kbx_client_data_new
    - gpg_error_from_syserror
    - log_assert
    - assuan_release
    - xfree
    - xtrycalloc
    - create_new_context
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t open_context (ctrl_t ctrl, keyboxd_local_t *r_kbl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_clock
      Src: /src/gnupg/g10/call-keyboxd.c:267,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/call-keyboxd.c:269,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-keyboxd.c:272,1
    - Dst: internal_keydb_init
      Src: /src/gnupg/g10/call-keyboxd.c:278,1
    - Dst: open_context
      Src: /src/gnupg/g10/call-keyboxd.c:284,1
    - Dst: log_error
      Src: /src/gnupg/g10/call-keyboxd.c:290,1
    - Dst: _
      Src: /src/gnupg/g10/call-keyboxd.c:290,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/call-keyboxd.c:290,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-keyboxd.c:291,1
    - Dst: gpg_err_code_to_errno
      Src: /src/gnupg/g10/call-keyboxd.c:293,1
    - Dst: gpg_err_code_to_errno
      Src: /src/gnupg/g10/call-keyboxd.c:294,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/call-keyboxd.c:295,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 298
    functionName: keydb_new
    functionSourceFile: /src/gnupg/g10/call-keyboxd.c
    functionUses: 19
    functionsReached:
    - internal_keydb_init
    - gpg_err_code_to_errno
    - gpg_error_from_syserror
    - log_error
    - _
    - gpg_strerror
    - xfree
    - open_context
    - xtrycalloc
    - gpg_err_set_errno
    - log_clock
    linkageType: ''
    returnType: KEYDB_HANDLE
    signature: KEYDB_HANDLE keydb_new (ctrl_t ctrl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_clock
      Src: /src/gnupg/g10/call-keyboxd.c:311,1
    - Dst: internal_keydb_deinit
      Src: /src/gnupg/g10/call-keyboxd.c:313,1
    - Dst: log_clock
      Src: /src/gnupg/g10/call-keyboxd.c:318,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/call-keyboxd.c:320,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-keyboxd.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 326
    functionName: keydb_release
    functionSourceFile: /src/gnupg/g10/call-keyboxd.c
    functionUses: 32
    functionsReached:
    - log_clock
    - xfree
    - internal_keydb_deinit
    - log_fatal
    linkageType: ''
    returnType: void
    signature: void keydb_release (KEYDB_HANDLE hd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-keyboxd.c:346,1
    - Dst: log_clock
      Src: /src/gnupg/g10/call-keyboxd.c:349,1
    - Dst: internal_keydb_get_keyblock
      Src: /src/gnupg/g10/call-keyboxd.c:353,1
    - Dst: keydb_parse_keyblock
      Src: /src/gnupg/g10/call-keyboxd.c:359,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/call-keyboxd.c:365,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-keyboxd.c:370,1
    - Dst: log_clock
      Src: /src/gnupg/g10/call-keyboxd.c:376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - hd
    - ret_kb
    argTypes:
    - KEYDB_HANDLE
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 378
    functionName: keydb_get_keyblock
    functionSourceFile: /src/gnupg/g10/call-keyboxd.c
    functionUses: 15
    functionsReached:
    - iobuf_close
    - keydb_parse_keyblock
    - gpg_error
    - log_clock
    - internal_keydb_get_keyblock
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_get_keyblock (KEYDB_HANDLE hd, kbnode_t *ret_kb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-keyboxd.c:389,1
    - Dst: log_info
      Src: /src/gnupg/g10/call-keyboxd.c:390,1
    - Dst: _
      Src: /src/gnupg/g10/call-keyboxd.c:390,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-keyboxd.c:391,1
    - Dst: log_info
      Src: /src/gnupg/g10/call-keyboxd.c:392,1
    - Dst: _
      Src: /src/gnupg/g10/call-keyboxd.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 395
    functionName: keydb_default_status_cb
    functionSourceFile: /src/gnupg/g10/call-keyboxd.c
    functionUses: 0
    functionsReached:
    - log_info
    - _
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_default_status_cb (void *opaque, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-keyboxd.c:415,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g10/call-keyboxd.c:418,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-keyboxd.c:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 424
    functionName: store_inq_cb
    functionSourceFile: /src/gnupg/g10/call-keyboxd.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - assuan_send_data
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t store_inq_cb (void *opaque, const char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/call-keyboxd.c:449,1
    - Dst: log_assert
      Src: /src/gnupg/g10/call-keyboxd.c:450,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-keyboxd.c:453,1
    - Dst: internal_keydb_update_keyblock
      Src: /src/gnupg/g10/call-keyboxd.c:457,1
    - Dst: build_keyblock_image
      Src: /src/gnupg/g10/call-keyboxd.c:467,1
    - Dst: iobuf_get_temp_buffer
      Src: /src/gnupg/g10/call-keyboxd.c:472,1
    - Dst: iobuf_get_temp_length
      Src: /src/gnupg/g10/call-keyboxd.c:473,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-keyboxd.c:474,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/call-keyboxd.c:481,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - ctrl
    - hd
    - kb
    argTypes:
    - ctrl_t
    - KEYDB_HANDLE
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 483
    functionName: keydb_update_keyblock
    functionSourceFile: /src/gnupg/g10/call-keyboxd.c
    functionUses: 13
    functionsReached:
    - log_assert
    - iobuf_close
    - internal_keydb_update_keyblock
    - build_keyblock_image
    - assuan_transact
    - iobuf_get_temp_buffer
    - gpg_error
    - iobuf_get_temp_length
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_update_keyblock (ctrl_t ctrl, KEYDB_HANDLE hd, kbnode_t
      kb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-keyboxd.c:505,1
    - Dst: internal_keydb_insert_keyblock
      Src: /src/gnupg/g10/call-keyboxd.c:509,1
    - Dst: build_keyblock_image
      Src: /src/gnupg/g10/call-keyboxd.c:519,1
    - Dst: iobuf_get_temp_buffer
      Src: /src/gnupg/g10/call-keyboxd.c:524,1
    - Dst: iobuf_get_temp_length
      Src: /src/gnupg/g10/call-keyboxd.c:525,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-keyboxd.c:526,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/call-keyboxd.c:532,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - hd
    - kb
    argTypes:
    - KEYDB_HANDLE
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 497
    functionDepth: 3
    functionLinenumber: 497
    functionLinenumberEnd: 534
    functionName: keydb_insert_keyblock
    functionSourceFile: /src/gnupg/g10/call-keyboxd.c
    functionUses: 2
    functionsReached:
    - iobuf_close
    - internal_keydb_insert_keyblock
    - build_keyblock_image
    - assuan_transact
    - iobuf_get_temp_buffer
    - gpg_error
    - iobuf_get_temp_length
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_insert_keyblock (KEYDB_HANDLE hd, kbnode_t kb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-keyboxd.c:550,1
    - Dst: internal_keydb_delete_keyblock
      Src: /src/gnupg/g10/call-keyboxd.c:554,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-keyboxd.c:566,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/call-keyboxd.c:570,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:571,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-keyboxd.c:572,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 579
    functionName: keydb_delete_keyblock
    functionSourceFile: /src/gnupg/g10/call-keyboxd.c
    functionUses: 1
    functionsReached:
    - bin2hex
    - snprintf
    - internal_keydb_delete_keyblock
    - assuan_transact
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_delete_keyblock (KEYDB_HANDLE hd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-keyboxd.c:592,1
    - Dst: log_clock
      Src: /src/gnupg/g10/call-keyboxd.c:595,1
    - Dst: log_debug
      Src: /src/gnupg/g10/call-keyboxd.c:597,1
    - Dst: internal_keydb_search_reset
      Src: /src/gnupg/g10/call-keyboxd.c:601,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 615
    functionName: keydb_search_reset
    functionSourceFile: /src/gnupg/g10/call-keyboxd.c
    functionUses: 5
    functionsReached:
    - internal_keydb_search_reset
    - gpg_error
    - log_clock
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_search_reset (KEYDB_HANDLE hd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-keyboxd.c:628,1
    - Dst: atoi
      Src: /src/gnupg/g10/call-keyboxd.c:630,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-keyboxd.c:631,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-keyboxd.c:635,1
    - Dst: hex2fixedbuf
      Src: /src/gnupg/g10/call-keyboxd.c:637,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-keyboxd.c:638,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-keyboxd.c:645,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-keyboxd.c:647,1
    - Dst: atoi
      Src: /src/gnupg/g10/call-keyboxd.c:651,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-keyboxd.c:652,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-keyboxd.c:654,1
    - Dst: atoi
      Src: /src/gnupg/g10/call-keyboxd.c:658,1
    - Dst: keydb_default_status_cb
      Src: /src/gnupg/g10/call-keyboxd.c:673,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 676
    functionName: search_status_cb
    functionSourceFile: /src/gnupg/g10/call-keyboxd.c
    functionUses: 0
    functionsReached:
    - atoi
    - hex2fixedbuf
    - spacep
    - gpg_error
    - has_leading_keyword
    - keydb_default_status_cb
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t search_status_cb (void *opaque, const char *line)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-keyboxd.c:708,1
    - Dst: log_clock
      Src: /src/gnupg/g10/call-keyboxd.c:714,1
    - Dst: log_debug
      Src: /src/gnupg/g10/call-keyboxd.c:718,1
    - Dst: keydb_search_desc_dump
      Src: /src/gnupg/g10/call-keyboxd.c:721,1
    - Dst: log_debug
      Src: /src/gnupg/g10/call-keyboxd.c:722,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-keyboxd.c:723,1
    - Dst: internal_keydb_search
      Src: /src/gnupg/g10/call-keyboxd.c:729,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/call-keyboxd.c:736,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:750,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-keyboxd.c:758,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:766,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:777,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:781,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:785,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:790,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:794,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:798,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:802,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:807,1
    - Dst: log_assert
      Src: /src/gnupg/g10/call-keyboxd.c:814,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/call-keyboxd.c:815,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:816,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:821,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:826,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:830,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/call-keyboxd.c:836,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:837,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/call-keyboxd.c:844,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:845,1
    - Dst: log_debug
      Src: /src/gnupg/g10/call-keyboxd.c:850,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:851,1
    - Dst: log_debug
      Src: /src/gnupg/g10/call-keyboxd.c:855,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-keyboxd.c:858,1
    - Dst: kbx_client_data_simple
      Src: /src/gnupg/g10/call-keyboxd.c:864,1
    - Dst: kbx_client_data_cmd
      Src: /src/gnupg/g10/call-keyboxd.c:873,1
    - Dst: kbx_client_data_wait
      Src: /src/gnupg/g10/call-keyboxd.c:874,1
    - Dst: kbx_get_first_opgp_keyid
      Src: /src/gnupg/g10/call-keyboxd.c:885,1
    - Dst: log_info
      Src: /src/gnupg/g10/call-keyboxd.c:888,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/call-keyboxd.c:889,1
    - Dst: skipfnc
      Src: /src/gnupg/g10/call-keyboxd.c:893,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/call-keyboxd.c:896,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-keyboxd.c:898,1
    - Dst: iobuf_temp_with_content
      Src: /src/gnupg/g10/call-keyboxd.c:903,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-keyboxd.c:904,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/call-keyboxd.c:906,1
    - Dst: log_clock
      Src: /src/gnupg/g10/call-keyboxd.c:912,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 144
    argCount: 4
    argNames:
    - hd
    - desc
    - ndesc
    - descindex
    argTypes:
    - KEYDB_HANDLE
    - KEYDB_SEARCH_DESC*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 914
    functionName: keydb_search
    functionSourceFile: /src/gnupg/g10/call-keyboxd.c
    functionUses: 11
    functionsReached:
    - log_assert
    - kbx_get_first_opgp_keyid
    - kbx_client_data_cmd
    - keydb_search_desc_dump
    - log_printhex
    - skipfnc
    - log_info
    - log_debug
    - iobuf_temp_with_content
    - internal_keydb_search
    - gpg_error
    - xfree
    - gpg_strerror
    - iobuf_close
    - snprintf
    - bin2hex
    - kbx_client_data_wait
    - log_clock
    - kbx_client_data_simple
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keydb_search (KEYDB_HANDLE hd, KEYDB_SEARCH_DESC *desc,\n
      \             size_t ndesc, size_t *descindex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: set_error
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_error(e,t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_sock_close
      Src: /src/gnupg/g10/server.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: close_message_fd
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - assuan_sock_close
    linkageType: ''
    returnType: void
    signature: void close_message_fd (ctrl_t ctrl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g10/server.c:78,1
    - Dst: strcmp
      Src: /src/gnupg/g10/server.c:83,1
    - Dst: strcmp
      Src: /src/gnupg/g10/server.c:86,1
    - Dst: strcmp
      Src: /src/gnupg/g10/server.c:89,1
    - Dst: strcmp
      Src: /src/gnupg/g10/server.c:92,1
    - Dst: strcmp
      Src: /src/gnupg/g10/server.c:95,1
    - Dst: strcmp
      Src: /src/gnupg/g10/server.c:98,1
    - Dst: strcmp
      Src: /src/gnupg/g10/server.c:101,1
    - Dst: strcmp
      Src: /src/gnupg/g10/server.c:104,1
    - Dst: strcmp
      Src: /src/gnupg/g10/server.c:108,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/server.c:113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - assuan_context_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 116
    functionName: option_handler
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gpg_error
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t option_handler (assuan_context_t ctx, const char *key,
      const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g10/server.c:123,1
    - Dst: release_pk_list
      Src: /src/gnupg/g10/server.c:127,1
    - Dst: close_message_fd
      Src: /src/gnupg/g10/server.c:130,1
    - Dst: assuan_close_input_fd
      Src: /src/gnupg/g10/server.c:131,1
    - Dst: assuan_close_output_fd
      Src: /src/gnupg/g10/server.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: reset_notify
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - assuan_close_input_fd
    - release_pk_list
    - close_message_fd
    - assuan_close_output_fd
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t reset_notify (assuan_context_t ctx, char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gnupg/g10/server.c:145,1
    - Dst: strstr
      Src: /src/gnupg/g10/server.c:147,1
    - Dst: strstr
      Src: /src/gnupg/g10/server.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: input_notify
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - strstr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t input_notify (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gnupg/g10/server.c:167,1
    - Dst: strstr
      Src: /src/gnupg/g10/server.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 174
    functionName: output_notify
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - strstr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t output_notify (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g10/server.c:194,1
    - Dst: has_option
      Src: /src/gnupg/g10/server.c:198,1
    - Dst: has_option
      Src: /src/gnupg/g10/server.c:199,1
    - Dst: skip_options
      Src: /src/gnupg/g10/server.c:200,1
    - Dst: find_and_check_key
      Src: /src/gnupg/g10/server.c:209,1
    - Dst: log_error
      Src: /src/gnupg/g10/server.c:213,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/server.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 215
    functionName: cmd_recipient
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - log_error
    - find_and_check_key
    - skip_options
    - gpg_strerror
    - has_option
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_recipient (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/server.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: cmd_signer
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_signer (assuan_context_t ctx, char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g10/server.c:266,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/server.c:274,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/server.c:275,1
    - Dst: assuan_get_input_fd
      Src: /src/gnupg/g10/server.c:279,1
    - Dst: set_error
      Src: /src/gnupg/g10/server.c:282,1
    - Dst: assuan_get_output_fd
      Src: /src/gnupg/g10/server.c:285,1
    - Dst: set_error
      Src: /src/gnupg/g10/server.c:288,1
    - Dst: encrypt_crypt
      Src: /src/gnupg/g10/server.c:298,1
    - Dst: release_pk_list
      Src: /src/gnupg/g10/server.c:306,1
    - Dst: close_message_fd
      Src: /src/gnupg/g10/server.c:311,1
    - Dst: assuan_close_input_fd
      Src: /src/gnupg/g10/server.c:312,1
    - Dst: assuan_close_output_fd
      Src: /src/gnupg/g10/server.c:313,1
    - Dst: log_error
      Src: /src/gnupg/g10/server.c:316,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/server.c:316,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 263
    functionDepth: 6
    functionLinenumber: 263
    functionLinenumberEnd: 318
    functionName: cmd_encrypt
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - assuan_close_input_fd
    - assuan_get_input_fd
    - release_pk_list
    - set_error
    - write_status_text
    - assuan_get_output_fd
    - log_error
    - close_message_fd
    - assuan_close_output_fd
    - gpg_error
    - encrypt_crypt
    - gpg_strerror
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_encrypt (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g10/server.c:328,1
    - Dst: assuan_get_input_fd
      Src: /src/gnupg/g10/server.c:334,1
    - Dst: set_error
      Src: /src/gnupg/g10/server.c:336,1
    - Dst: assuan_get_output_fd
      Src: /src/gnupg/g10/server.c:337,1
    - Dst: set_error
      Src: /src/gnupg/g10/server.c:339,1
    - Dst: decrypt_message_fd
      Src: /src/gnupg/g10/server.c:342,1
    - Dst: close_message_fd
      Src: /src/gnupg/g10/server.c:347,1
    - Dst: assuan_close_input_fd
      Src: /src/gnupg/g10/server.c:348,1
    - Dst: assuan_close_output_fd
      Src: /src/gnupg/g10/server.c:349,1
    - Dst: log_error
      Src: /src/gnupg/g10/server.c:352,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/server.c:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 354
    functionName: cmd_decrypt
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - assuan_close_input_fd
    - assuan_get_input_fd
    - set_error
    - assuan_get_output_fd
    - log_error
    - close_message_fd
    - assuan_close_output_fd
    - gpg_strerror
    - decrypt_message_fd
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_decrypt (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/server.c:374,1
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g10/server.c:376,1
    - Dst: assuan_get_input_fd
      Src: /src/gnupg/g10/server.c:377,1
    - Dst: assuan_get_output_fd
      Src: /src/gnupg/g10/server.c:378,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/server.c:387,1
    - Dst: open_stream_nc
      Src: /src/gnupg/g10/server.c:391,1
    - Dst: set_error
      Src: /src/gnupg/g10/server.c:393,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/g10/server.c:393,1
    - Dst: log_debug
      Src: /src/gnupg/g10/server.c:396,1
    - Dst: gpg_verify
      Src: /src/gnupg/g10/server.c:399,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/server.c:401,1
    - Dst: close_message_fd
      Src: /src/gnupg/g10/server.c:402,1
    - Dst: assuan_close_input_fd
      Src: /src/gnupg/g10/server.c:403,1
    - Dst: assuan_close_output_fd
      Src: /src/gnupg/g10/server.c:404,1
    - Dst: log_error
      Src: /src/gnupg/g10/server.c:408,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/server.c:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 410
    functionName: cmd_verify
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 2
    functionsReached:
    - gpg_verify
    - assuan_close_input_fd
    - assuan_get_input_fd
    - gpg_err_code_from_syserror
    - set_error
    - assuan_get_output_fd
    - es_fclose
    - log_error
    - close_message_fd
    - assuan_close_output_fd
    - gpg_error
    - log_debug
    - gpg_strerror
    - open_stream_nc
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_verify (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/server.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 425
    functionName: cmd_sign
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_sign (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/server.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: cmd_import
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_import (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/server.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: cmd_export
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_export (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/server.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 473
    functionName: cmd_delkeys
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_delkeys (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g10/server.c:486,1
    - Dst: assuan_command_parse_fd
      Src: /src/gnupg/g10/server.c:488,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/server.c:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 495
    functionName: cmd_message
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - assuan_command_parse_fd
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_message (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/server.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - line
    - mode
    argTypes:
    - assuan_context_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 512
    functionName: do_listkeys
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_listkeys (assuan_context_t ctx, char *line, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_listkeys
      Src: /src/gnupg/g10/server.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: cmd_listkeys
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - do_listkeys
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_listkeys (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_listkeys
      Src: /src/gnupg/g10/server.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: cmd_listsecretkeys
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - do_listkeys
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_listsecretkeys (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/server.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 541
    functionName: cmd_genkey
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_genkey (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/g10/server.c:558,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g10/server.c:561,1
    - Dst: strlen
      Src: /src/gnupg/g10/server.c:561,1
    - Dst: strcmp
      Src: /src/gnupg/g10/server.c:563,1
    - Dst: snprintf
      Src: /src/gnupg/g10/server.c:567,1
    - Dst: getpid
      Src: /src/gnupg/g10/server.c:567,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g10/server.c:568,1
    - Dst: strlen
      Src: /src/gnupg/g10/server.c:568,1
    - Dst: set_error
      Src: /src/gnupg/g10/server.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 573
    functionName: cmd_getinfo
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - strlen
    - set_error
    - snprintf
    - strcmp
    - getpid
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_getinfo (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/server.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 592
    functionName: cmd_passwd
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 2
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_passwd (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_register_command
      Src: /src/gnupg/g10/server.c:630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 636
    functionName: register_commands
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 0
    functionsReached:
    - assuan_register_command
    linkageType: ''
    returnType: int
    signature: int register_commands (assuan_context_t ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assuan_fdopen
      Src: /src/gnupg/g10/server.c:658,1
    - Dst: assuan_fdopen
      Src: /src/gnupg/g10/server.c:659,1
    - Dst: assuan_new
      Src: /src/gnupg/g10/server.c:661,1
    - Dst: log_error
      Src: /src/gnupg/g10/server.c:664,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/server.c:665,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/server.c:670,1
    - Dst: assuan_init_pipe_server
      Src: /src/gnupg/g10/server.c:672,1
    - Dst: log_error
      Src: /src/gnupg/g10/server.c:676,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/server.c:676,1
    - Dst: register_commands
      Src: /src/gnupg/g10/server.c:680,1
    - Dst: log_error
      Src: /src/gnupg/g10/server.c:683,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/server.c:684,1
    - Dst: assuan_set_pointer
      Src: /src/gnupg/g10/server.c:688,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/server.c:693,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/server.c:696,1
    - Dst: assuan_set_hello_line
      Src: /src/gnupg/g10/server.c:701,1
    - Dst: xfree
      Src: /src/gnupg/g10/server.c:702,1
    - Dst: assuan_set_hello_line
      Src: /src/gnupg/g10/server.c:706,1
    - Dst: assuan_register_reset_notify
      Src: /src/gnupg/g10/server.c:707,1
    - Dst: assuan_register_input_notify
      Src: /src/gnupg/g10/server.c:708,1
    - Dst: assuan_register_output_notify
      Src: /src/gnupg/g10/server.c:709,1
    - Dst: assuan_register_option_handler
      Src: /src/gnupg/g10/server.c:710,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/server.c:712,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/server.c:715,1
    - Dst: assuan_accept
      Src: /src/gnupg/g10/server.c:723,1
    - Dst: log_info
      Src: /src/gnupg/g10/server.c:731,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/server.c:731,1
    - Dst: assuan_process
      Src: /src/gnupg/g10/server.c:735,1
    - Dst: log_info
      Src: /src/gnupg/g10/server.c:738,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/server.c:738,1
    - Dst: release_pk_list
      Src: /src/gnupg/g10/server.c:746,1
    - Dst: xfree
      Src: /src/gnupg/g10/server.c:748,1
    - Dst: assuan_release
      Src: /src/gnupg/g10/server.c:751,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 68
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 753
    functionName: gpg_server
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 1
    functionsReached:
    - assuan_register_input_notify
    - gnupg_homedir
    - xtryasprintf
    - register_commands
    - release_pk_list
    - log_error
    - assuan_set_hello_line
    - log_info
    - assuan_fdopen
    - assuan_new
    - gpg_error_from_syserror
    - assuan_register_reset_notify
    - gpg_error
    - gpg_strerror
    - xfree
    - assuan_register_output_notify
    - xtrycalloc
    - assuan_register_option_handler
    - assuan_process
    - assuan_init_pipe_server
    - assuan_release
    - assuan_accept
    - assuan_set_pointer
    linkageType: ''
    returnType: int
    signature: int gpg_server (ctrl_t ctrl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnupg/g10/server.c:767,1
    - Dst: spacep
      Src: /src/gnupg/g10/server.c:770,1
    - Dst: log_info
      Src: /src/gnupg/g10/server.c:772,1
    - Dst: _
      Src: /src/gnupg/g10/server.c:772,1
    - Dst: gnupg_allow_set_foregound_window
      Src: /src/gnupg/g10/server.c:778,1
    - Dst: strtoul
      Src: /src/gnupg/g10/server.c:778,1
    - Dst: strncmp
      Src: /src/gnupg/g10/server.c:780,1
    - Dst: spacep
      Src: /src/gnupg/g10/server.c:783,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/server.c:785,1
    - Dst: assuan_inquire
      Src: /src/gnupg/g10/server.c:789,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 2
    argNames:
    - ctrl
    - line
    argTypes:
    - ctrl_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 761
    functionDepth: 3
    functionLinenumber: 761
    functionLinenumberEnd: 790
    functionName: gpg_proxy_pinentry_notify
    functionSourceFile: /src/gnupg/g10/server.c
    functionUses: 1
    functionsReached:
    - gnupg_allow_set_foregound_window
    - write_status_text
    - assuan_inquire
    - spacep
    - _
    - log_info
    - strtoul
    - strncmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpg_proxy_pinentry_notify (ctrl_t ctrl, const unsigned
      char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: IS_INVALID_TIME_T
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_INVALID_TIME_T(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: IS_INVALID_TIME_T
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_INVALID_TIME_T(a)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: pubkey_letter
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pubkey_letter( int algo )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/g10/keyid.c:112,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/keyid.c:113,1
    - Dst: pubkey_letter
      Src: /src/gnupg/g10/keyid.c:113,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/g10/keyid.c:139,1
    - Dst: openpgp_oid_to_curve
      Src: /src/gnupg/g10/keyid.c:141,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keyid.c:145,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/keyid.c:146,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyid.c:147,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keyid.c:150,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/keyid.c:150,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/g10/keyid.c:154,1
    - Dst: openpgp_oid_to_curve
      Src: /src/gnupg/g10/keyid.c:155,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keyid.c:158,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keyid.c:160,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keyid.c:162,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyid.c:163,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keyid.c:166,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 3
    argNames:
    - pk
    - buffer
    - bufsize
    argTypes:
    - PKT_public_key*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 169
    functionName: pubkey_string
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 15
    functionsReached:
    - snprintf
    - pubkey_letter
    - xfree
    - nbits_from_pk
    - openpgp_oid_to_curve
    - openpgp_oid_to_str
    linkageType: ''
    returnType: char
    signature: 'char *

      pubkey_string (PKT_public_key *pk, char *buffer, size_t bufsize)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/g10/keyid.c:189,1
    - Dst: alphap
      Src: /src/gnupg/g10/keyid.c:204,1
    - Dst: alphap
      Src: /src/gnupg/g10/keyid.c:208,1
    - Dst: atoi
      Src: /src/gnupg/g10/keyid.c:212,1
    - Dst: spacep
      Src: /src/gnupg/g10/keyid.c:213,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 5
    argNames:
    - str
    - pfxlen
    - number
    - r_length
    - r_condition
    argTypes:
    - char*
    - size_t*
    - unsigned int*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 220
    functionName: parse_one_algo_string
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 0
    functionsReached:
    - spacep
    - atoi
    - alphap
    linkageType: ''
    returnType: char
    signature: "char *\nparse_one_algo_string (const char *str, size_t *pfxlen, unsigned
      int *number,\n                       size_t *r_length, int *r_condition)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keyid.c:230,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keyid.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: extra_algo_strength_offset
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 0
    functionsReached:
    - ascii_strcasecmp
    linkageType: ''
    returnType: size_t
    signature: size_t extra_algo_strength_offset (const char *string)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: parse_one_algo_string
      Src: /src/gnupg/g10/keyid.c:252,1
    - Dst: extra_algo_strength_offset
      Src: /src/gnupg/g10/keyid.c:255,1
    - Dst: parse_one_algo_string
      Src: /src/gnupg/g10/keyid.c:256,1
    - Dst: extra_algo_strength_offset
      Src: /src/gnupg/g10/keyid.c:259,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/g10/keyid.c:261,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/g10/keyid.c:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - astr
    - bstr_arg
    - bparsed
    argTypes:
    - char*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 272
    functionName: compare_pubkey_string_part
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 0
    functionsReached:
    - parse_one_algo_string
    - ascii_strncasecmp
    - extra_algo_strength_offset
    linkageType: ''
    returnType: int
    signature: "int compare_pubkey_string_part (const char *astr, const char *bstr_arg,\n
      \                           size_t *bparsed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compare_pubkey_string_part
      Src: /src/gnupg/g10/keyid.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - astr
    - bstr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: compare_pubkey_string
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 1
    functionsReached:
    - compare_pubkey_string_part
    linkageType: ''
    returnType: int
    signature: int compare_pubkey_string (const char *astr, const char *bstr)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: pubkey_get_npkey
      Src: /src/gnupg/g10/keyid.c:327,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/keyid.c:336,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/keyid.c:338,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/keyid.c:362,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keyid.c:364,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keyid.c:371,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/keyid.c:378,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/keyid.c:383,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/keyid.c:386,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keyid.c:387,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keyid.c:389,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/g10/keyid.c:417,1
    - Dst: BUG
      Src: /src/gnupg/g10/keyid.c:419,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keyid.c:420,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/g10/keyid.c:421,1
    - Dst: BUG
      Src: /src/gnupg/g10/keyid.c:423,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/keyid.c:432,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/keyid.c:433,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/keyid.c:434,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/keyid.c:438,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/keyid.c:440,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/keyid.c:441,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/keyid.c:442,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/keyid.c:443,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/keyid.c:444,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/keyid.c:445,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/keyid.c:446,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/keyid.c:448,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/keyid.c:453,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/keyid.c:454,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/keyid.c:455,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/keyid.c:456,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/keyid.c:460,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/keyid.c:463,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/keyid.c:470,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyid.c:471,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 96
    argCount: 3
    argNames:
    - md
    - pk
    - use_v5
    argTypes:
    - gcry_md_hd_t
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 474
    functionName: do_hash_public_key
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_mpi_get_flag
    - gcry_mpi_print
    - gcry_md_putc
    - pubkey_get_npkey
    - BUG
    - xmalloc
    - xfree
    - gcry_mpi_get_opaque
    - memcpy
    linkageType: ''
    returnType: void
    signature: void do_hash_public_key (gcry_md_hd_t md, PKT_public_key *pk, int use_v5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_hash_public_key
      Src: /src/gnupg/g10/keyid.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - md
    - pk
    argTypes:
    - gcry_md_hd_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: hash_public_key
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 1
    functionsReached:
    - do_hash_public_key
    linkageType: ''
    returnType: void
    signature: void hash_public_key (gcry_md_hd_t md, PKT_public_key *pk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_print
      Src: /src/gnupg/g10/keyid.c:494,1
    - Dst: BUG
      Src: /src/gnupg/g10/keyid.c:495,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keyid.c:497,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/g10/keyid.c:498,1
    - Dst: BUG
      Src: /src/gnupg/g10/keyid.c:499,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/keyid.c:505,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/keyid.c:507,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyid.c:509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - a
    - ki
    argTypes:
    - gcry_mpi_t
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 511
    functionName: v3_keyid
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_print
    - BUG
    - xmalloc
    - xfree
    - buf32_to_u32
    linkageType: ''
    returnType: u32
    signature: u32 v3_keyid (gcry_mpi_t a, u32 *ki)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyid.c:518,1
    - Dst: log_bug
      Src: /src/gnupg/g10/keyid.c:524,1
    - Dst: keyid_cmp
      Src: /src/gnupg/g10/keyid.c:525,1
    - Dst: log_bug
      Src: /src/gnupg/g10/keyid.c:527,1
    - Dst: keyid_cmp
      Src: /src/gnupg/g10/keyid.c:528,1
    - Dst: log_bug
      Src: /src/gnupg/g10/keyid.c:530,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 534
    functionName: pk_keyid
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 5
    functionsReached:
    - log_bug
    - keyid_from_pk
    - keyid_cmp
    linkageType: ''
    returnType: u32
    signature: 'u32 *

      pk_keyid (PKT_public_key *pk)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/gnupg/g10/keyid.c:545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 549
    functionName: pk_main_keyid
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 5
    functionsReached:
    - log_bug
    linkageType: ''
    returnType: u32
    signature: 'u32 *

      pk_main_keyid (PKT_public_key *pk)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 558
    functionName: keyid_copy
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'u32 *

      keyid_copy (u32 *dest, const u32 *src)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/keyid.c:566,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keyid.c:584,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keyid.c:588,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keyid.c:592,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keyid.c:596,1
    - Dst: BUG
      Src: /src/gnupg/g10/keyid.c:600,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - keyid
    - format
    - buffer
    - len
    argTypes:
    - u32*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 604
    functionName: format_keyid
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 2
    functionsReached:
    - snprintf
    - xtrymalloc
    - BUG
    linkageType: ''
    returnType: char
    signature: 'char *

      format_keyid (u32 *keyid, int format, char *buffer, int len)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/gnupg/g10/keyid.c:631,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 633
    functionName: keystrlen
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 6
    functionsReached:
    - BUG
    linkageType: ''
    returnType: size_t
    signature: size_t keystrlen(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: format_keyid
      Src: /src/gnupg/g10/keyid.c:647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - keyid
    argTypes:
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 648
    functionName: keystr
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 37
    functionsReached:
    - format_keyid
    linkageType: ''
    returnType: char
    signature: 'char *

      keystr (u32 *keyid)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: format_keyid
      Src: /src/gnupg/g10/keyid.c:662,1
    - Dst: strlen
      Src: /src/gnupg/g10/keyid.c:665,1
    - Dst: format_keyid
      Src: /src/gnupg/g10/keyid.c:667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - main_kid
    - sub_kid
    argTypes:
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 670
    functionName: keystr_with_sub
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 4
    functionsReached:
    - format_keyid
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      keystr_with_sub (u32 *main_kid, u32 *sub_kid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyid.c:676,1
    - Dst: keystr
      Src: /src/gnupg/g10/keyid.c:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 679
    functionName: keystr_from_pk
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 28
    functionsReached:
    - keyid_from_pk
    - keystr
    linkageType: ''
    returnType: char
    signature: 'char *

      keystr_from_pk(PKT_public_key *pk)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyid.c:685,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyid.c:687,1
    - Dst: keystr_with_sub
      Src: /src/gnupg/g10/keyid.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - main_pk
    - sub_pk
    argTypes:
    - PKT_public_key*
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 690
    functionName: keystr_from_pk_with_sub
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 1
    functionsReached:
    - keyid_from_pk
    - keystr_with_sub
    linkageType: ''
    returnType: char
    signature: 'char *

      keystr_from_pk_with_sub (PKT_public_key *main_pk, PKT_public_key *sub_pk)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keystr
      Src: /src/gnupg/g10/keyid.c:698,1
    - Dst: pk_keyid
      Src: /src/gnupg/g10/keyid.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 699
    functionName: pk_keyid_str
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 0
    functionsReached:
    - pk_keyid
    - keystr
    linkageType: ''
    returnType: char
    signature: 'char *

      pk_keyid_str (PKT_public_key *pk)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: keystr
      Src: /src/gnupg/g10/keyid.c:709,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/keyid.c:717,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/keyid.c:718,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/keyid.c:722,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/keyid.c:723,1
    - Dst: keystr
      Src: /src/gnupg/g10/keyid.c:729,1
    - Dst: BUG
      Src: /src/gnupg/g10/keyid.c:733,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - desc
    argTypes:
    - KEYDB_SEARCH_DESC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 735
    functionName: keystr_from_desc
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 2
    functionsReached:
    - buf32_to_u32
    - BUG
    - keystr
    linkageType: ''
    returnType: char
    signature: 'char *

      keystr_from_desc(KEYDB_SEARCH_DESC *desc)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/keyid.c:746,1
    - Dst: BUG
      Src: /src/gnupg/g10/keyid.c:747,1
    - Dst: hash_public_key
      Src: /src/gnupg/g10/keyid.c:748,1
    - Dst: gcry_md_final
      Src: /src/gnupg/g10/keyid.c:749,1
    - Dst: gcry_md_read
      Src: /src/gnupg/g10/keyid.c:750,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/g10/keyid.c:751,1
    - Dst: gcry_md_get_algo
      Src: /src/gnupg/g10/keyid.c:751,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keyid.c:752,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keyid.c:753,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/keyid.c:757,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/keyid.c:758,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/keyid.c:762,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/keyid.c:763,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/keyid.c:765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 739
    functionDepth: 3
    functionLinenumber: 739
    functionLinenumberEnd: 766
    functionName: compute_fingerprint
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 0
    functionsReached:
    - gcry_md_open
    - log_assert
    - gcry_md_get_algo_dlen
    - hash_public_key
    - BUG
    - gcry_md_get_algo
    - gcry_md_final
    - buf32_to_u32
    - gcry_md_close
    - gcry_md_read
    - memcpy
    linkageType: ''
    returnType: void
    signature: void compute_fingerprint (PKT_public_key *pk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compute_fingerprint
      Src: /src/gnupg/g10/keyid.c:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pk
    - keyid
    argTypes:
    - PKT_public_key*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 773
    functionDepth: 4
    functionLinenumber: 773
    functionLinenumberEnd: 791
    functionName: keyid_from_pk
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 68
    functionsReached:
    - compute_fingerprint
    linkageType: ''
    returnType: u32
    signature: u32 keyid_from_pk (PKT_public_key *pk, u32 *keyid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/keyid.c:813,1
    - Dst: get_pubkey_byfpr
      Src: /src/gnupg/g10/keyid.c:814,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/keyid.c:817,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keyid.c:823,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/keyid.c:830,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/keyid.c:831,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/keyid.c:835,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/keyid.c:836,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - ctrl
    - fpr
    - fprlen
    - keyid
    argTypes:
    - ctrl_t
    - byte*
    - size_t
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 799
    functionDepth: 5
    functionLinenumber: 799
    functionLinenumberEnd: 841
    functionName: keyid_from_fingerprint
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 4
    functionsReached:
    - log_printhex
    - get_pubkey_byfpr
    - keyid_from_pk
    - memset
    - buf32_to_u32
    linkageType: ''
    returnType: u32
    signature: u32 keyid_from_fingerprint (ctrl_t ctrl, const byte *fpr, size_t fprlen,
      u32 *keyid)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sig
    - keyid
    argTypes:
    - PKT_signature*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 853
    functionName: keyid_from_sig
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 keyid_from_sig (PKT_signature *sig, u32 *keyid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/g10/keyid.c:861,1
    - Dst: rmd160_hash_buffer
      Src: /src/gnupg/g10/keyid.c:864,1
    - Dst: rmd160_hash_buffer
      Src: /src/gnupg/g10/keyid.c:866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - uid
    argTypes:
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 856
    functionDepth: 3
    functionLinenumber: 856
    functionLinenumberEnd: 870
    functionName: namehash_from_uid
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 7
    functionsReached:
    - xmalloc
    - rmd160_hash_buffer
    linkageType: ''
    returnType: byte
    signature: 'byte *

      namehash_from_uid (PKT_user_id *uid)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/keyid.c:885,1
    - Dst: pubkey_nbits
      Src: /src/gnupg/g10/keyid.c:897,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 879
    functionDepth: 2
    functionLinenumber: 879
    functionLinenumberEnd: 898
    functionName: nbits_from_pk
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 11
    functionsReached:
    - pubkey_nbits
    - gcry_mpi_get_opaque
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int nbits_from_pk (PKT_public_key *pk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_INVALID_TIME_T
      Src: /src/gnupg/g10/keyid.c:910,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keyid.c:911,1
    - Dst: gmtime
      Src: /src/gnupg/g10/keyid.c:914,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keyid.c:915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - buffer
    - bufsize
    - timestamp
    argTypes:
    - char*
    - size_t
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 919
    functionName: mk_datestr
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 2
    functionsReached:
    - snprintf
    - strcpy
    - IS_INVALID_TIME_T
    - gmtime
    linkageType: ''
    returnType: char
    signature: 'char *

      mk_datestr (char *buffer, size_t bufsize, u32 timestamp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mk_datestr
      Src: /src/gnupg/g10/keyid.c:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 933
    functionName: dateonlystr_from_pk
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 1
    functionsReached:
    - mk_datestr
    linkageType: ''
    returnType: char
    signature: 'char *

      dateonlystr_from_pk (PKT_public_key *pk)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isotimestamp
      Src: /src/gnupg/g10/keyid.c:943,1
    - Dst: dateonlystr_from_pk
      Src: /src/gnupg/g10/keyid.c:945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 939
    functionDepth: 2
    functionLinenumber: 939
    functionLinenumberEnd: 946
    functionName: datestr_from_pk
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 12
    functionsReached:
    - dateonlystr_from_pk
    - isotimestamp
    linkageType: ''
    returnType: char
    signature: 'char *

      datestr_from_pk (PKT_public_key *pk)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mk_datestr
      Src: /src/gnupg/g10/keyid.c:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 955
    functionName: dateonlystr_from_sig
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 1
    functionsReached:
    - mk_datestr
    linkageType: ''
    returnType: char
    signature: 'char *

      dateonlystr_from_sig (PKT_signature *sig )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isotimestamp
      Src: /src/gnupg/g10/keyid.c:961,1
    - Dst: dateonlystr_from_sig
      Src: /src/gnupg/g10/keyid.c:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 964
    functionName: datestr_from_sig
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 8
    functionsReached:
    - dateonlystr_from_sig
    - isotimestamp
    linkageType: ''
    returnType: char
    signature: 'char *

      datestr_from_sig (PKT_signature *sig )'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/g10/keyid.c:973,1
    - Dst: isotimestamp
      Src: /src/gnupg/g10/keyid.c:976,1
    - Dst: mk_datestr
      Src: /src/gnupg/g10/keyid.c:978,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 979
    functionName: expirestr_from_pk
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 5
    functionsReached:
    - mk_datestr
    - isotimestamp
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      expirestr_from_pk (PKT_public_key *pk)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/g10/keyid.c:988,1
    - Dst: isotimestamp
      Src: /src/gnupg/g10/keyid.c:991,1
    - Dst: mk_datestr
      Src: /src/gnupg/g10/keyid.c:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sig
    argTypes:
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 994
    functionName: expirestr_from_sig
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 6
    functionsReached:
    - mk_datestr
    - isotimestamp
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      expirestr_from_sig (PKT_signature *sig)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/g10/keyid.c:1003,1
    - Dst: isotimestamp
      Src: /src/gnupg/g10/keyid.c:1006,1
    - Dst: mk_datestr
      Src: /src/gnupg/g10/keyid.c:1008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1009
    functionName: revokestr_from_pk
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 2
    functionsReached:
    - mk_datestr
    - isotimestamp
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      revokestr_from_pk( PKT_public_key *pk )'
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - pk
    - fill
    argTypes:
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1043
    functionName: usagestr_from_pk
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      usagestr_from_pk (PKT_public_key *pk, int fill)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/g10/keyid.c:1053,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1055
    functionName: colon_strtime
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 2
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      colon_strtime (u32 t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/g10/keyid.c:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1064
    functionName: colon_datestr_from_pk
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 2
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      colon_datestr_from_pk (PKT_public_key *pk)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/g10/keyid.c:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1074
    functionName: colon_datestr_from_sig
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 3
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      colon_datestr_from_sig (PKT_signature *sig)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/g10/keyid.c:1084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1086
    functionName: colon_expirestr_from_sig
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 3
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      colon_expirestr_from_sig (PKT_signature *sig)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compute_fingerprint
      Src: /src/gnupg/g10/keyid.c:1099,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keyid.c:1102,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keyid.c:1103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pk
    - array
    - ret_len
    argTypes:
    - PKT_public_key*
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1095
    functionDepth: 4
    functionLinenumber: 1095
    functionLinenumberEnd: 1108
    functionName: fingerprint_from_pk
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 24
    functionsReached:
    - xmalloc
    - memcpy
    - compute_fingerprint
    linkageType: ''
    returnType: byte
    signature: 'byte *

      fingerprint_from_pk (PKT_public_key *pk, byte *array, size_t *ret_len)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/keyid.c:1124,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/keyid.c:1126,1
    - Dst: BUG
      Src: /src/gnupg/g10/keyid.c:1127,1
    - Dst: do_hash_public_key
      Src: /src/gnupg/g10/keyid.c:1128,1
    - Dst: gcry_md_final
      Src: /src/gnupg/g10/keyid.c:1129,1
    - Dst: gcry_md_read
      Src: /src/gnupg/g10/keyid.c:1130,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keyid.c:1132,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keyid.c:1133,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/keyid.c:1134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pk
    - array
    - ret_len
    argTypes:
    - PKT_public_key*
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1117
    functionDepth: 5
    functionLinenumber: 1117
    functionLinenumberEnd: 1139
    functionName: v5_fingerprint_from_pk
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 0
    functionsReached:
    - gcry_md_open
    - BUG
    - xmalloc
    - do_hash_public_key
    - gcry_md_final
    - fingerprint_from_pk
    - gcry_md_close
    - gcry_md_read
    - memcpy
    linkageType: ''
    returnType: byte
    signature: 'byte *

      v5_fingerprint_from_pk (PKT_public_key *pk, byte *array, size_t *ret_len)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/g10/keyid.c:1152,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keyid.c:1153,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keyid.c:1154,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keyid.c:1155,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keyid.c:1156,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keyid.c:1159,1
    - Dst: memset
      Src: /src/gnupg/g10/keyid.c:1162,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keyid.c:1163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - fpr
    - fprlen
    - array
    argTypes:
    - byte*
    - unsigned int
    - byte[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1165
    functionName: fpr20_from_fpr
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: void fpr20_from_fpr (const byte *fpr, unsigned int fprlen, byte array[20])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compute_fingerprint
      Src: /src/gnupg/g10/keyid.c:1182,1
    - Dst: fpr20_from_fpr
      Src: /src/gnupg/g10/keyid.c:1184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pk
    - array
    argTypes:
    - PKT_public_key*
    - byte[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1178
    functionDepth: 4
    functionLinenumber: 1178
    functionLinenumberEnd: 1185
    functionName: fpr20_from_pk
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 3
    functionsReached:
    - fpr20_from_fpr
    - compute_fingerprint
    linkageType: ''
    returnType: void
    signature: void fpr20_from_pk (PKT_public_key *pk, byte array[20])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: compute_fingerprint
      Src: /src/gnupg/g10/keyid.c:1199,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/keyid.c:1203,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/keyid.c:1208,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/keyid.c:1210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pk
    - buffer
    - buflen
    argTypes:
    - PKT_public_key*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1195
    functionDepth: 4
    functionLinenumber: 1195
    functionLinenumberEnd: 1212
    functionName: hexfingerprint
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 14
    functionsReached:
    - bin2hex
    - log_fatal
    - xtrymalloc
    - compute_fingerprint
    linkageType: ''
    returnType: char
    signature: 'char *

      hexfingerprint (PKT_public_key *pk, char *buffer, size_t buflen)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/keyid.c:1223,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/keyid.c:1227,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/keyid.c:1232,1
    - Dst: v5_fingerprint_from_pk
      Src: /src/gnupg/g10/keyid.c:1234,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/keyid.c:1235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pk
    - buffer
    - buflen
    argTypes:
    - PKT_public_key*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1217
    functionDepth: 6
    functionLinenumber: 1217
    functionLinenumberEnd: 1236
    functionName: v5hexfingerprint
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 1
    functionsReached:
    - v5_fingerprint_from_pk
    - bin2hex
    - log_fatal
    - hexfingerprint
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      v5hexfingerprint (PKT_public_key *pk, char *buffer, size_t buflen)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/keyid.c:1248,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keyid.c:1282,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/keyid.c:1284,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keyid.c:1298,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keyid.c:1309,1
    - Dst: mem2str
      Src: /src/gnupg/g10/keyid.c:1313,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - fingerprint
    - buffer
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1317
    functionName: format_hexfingerprint
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 1
    functionsReached:
    - log_assert
    - strlen
    - log_fatal
    - xmalloc
    - mem2str
    linkageType: ''
    returnType: char
    signature: 'char *

      format_hexfingerprint (const char *fingerprint, char *buffer, size_t buflen)'
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/g10/keyid.c:1334,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyid.c:1337,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/keyid.c:1342,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/keyid.c:1350,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/keyid.c:1358,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/g10/keyid.c:1367,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyid.c:1369,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/keyid.c:1372,1
    - Dst: openpgp_oid_is_ed25519
      Src: /src/gnupg/g10/keyid.c:1374,1
    - Dst: openpgp_oid_is_cv25519
      Src: /src/gnupg/g10/keyid.c:1377,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyid.c:1381,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keyid.c:1391,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/keyid.c:1391,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/keyid.c:1392,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/g10/keyid.c:1398,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyid.c:1400,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/keyid.c:1403,1
    - Dst: openpgp_oid_is_cv25519
      Src: /src/gnupg/g10/keyid.c:1404,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyid.c:1408,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyid.c:1414,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/g10/keyid.c:1421,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/keyid.c:1425,1
    - Dst: log_info
      Src: /src/gnupg/g10/keyid.c:1426,1
    - Dst: xfree
      Src: /src/gnupg/g10/keyid.c:1427,1
    - Dst: memset
      Src: /src/gnupg/g10/keyid.c:1429,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keyid.c:1430,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/keyid.c:1435,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keyid.c:1438,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 3
    argNames:
    - pk
    - array
    - get_second
    argTypes:
    - PKT_public_key*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1327
    functionDepth: 5
    functionLinenumber: 1327
    functionLinenumberEnd: 1441
    functionName: keygrip_from_pk
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 11
    functionsReached:
    - gcry_pk_get_keygrip
    - log_printhex
    - gpg_error_from_syserror
    - snprintf
    - openpgp_oid_is_ed25519
    - gpg_error
    - log_debug
    - xfree
    - log_info
    - nbits_from_pk
    - hexfingerprint
    - openpgp_oid_is_cv25519
    - memset
    - gcry_sexp_build
    - gcry_sexp_release
    - openpgp_oid_to_str
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keygrip_from_pk (PKT_public_key *pk, unsigned char *array,
      int get_second)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: keygrip_from_pk
      Src: /src/gnupg/g10/keyid.c:1456,1
    - Dst: keygrip_from_pk
      Src: /src/gnupg/g10/keyid.c:1461,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/keyid.c:1464,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/keyid.c:1467,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keyid.c:1471,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/keyid.c:1475,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/keyid.c:1479,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pk
    - r_grip
    argTypes:
    - PKT_public_key*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1447
    functionDepth: 6
    functionLinenumber: 1447
    functionLinenumberEnd: 1485
    functionName: hexkeygrip_from_pk
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 9
    functionsReached:
    - keygrip_from_pk
    - xtrymalloc
    - bin2hex
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t hexkeygrip_from_pk (PKT_public_key *pk, char **r_grip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/keyid.c:1498,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/keyid.c:1499,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/keyid.c:1501,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/keyid.c:1506,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1490
    functionDepth: 1
    functionLinenumber: 1490
    functionLinenumberEnd: 1507
    functionName: ecdh_param_str_from_pk
    functionSourceFile: /src/gnupg/g10/keyid.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - gcry_mpi_get_opaque
    - bin2hex
    - gpg_err_set_errno
    linkageType: ''
    returnType: char
    signature: 'char *

      ecdh_param_str_from_pk (PKT_public_key *pk)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: map_assuan_err
    functionSourceFile: /src/gnupg/g10/gpg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: map_assuan_err(a)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/card-util.c:53,1
    - Dst: write_status
      Src: /src/gnupg/g10/card-util.c:56,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/card-util.c:61,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/card-util.c:65,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/card-util.c:68,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/card-util.c:71,1
    - Dst: write_status
      Src: /src/gnupg/g10/card-util.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - err
    argTypes:
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 78
    functionName: write_sc_op_status
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - write_status_text
    - write_status
    - gpg_err_code
    linkageType: ''
    returnType: void
    signature: void write_sc_op_status (gpg_error_t err)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: agent_scd_learn
      Src: /src/gnupg/g10/card-util.c:89,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:92,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:92,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:93,1
    - Dst: log_info
      Src: /src/gnupg/g10/card-util.c:97,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:97,1
    - Dst: agent_release_card_info
      Src: /src/gnupg/g10/card-util.c:102,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:103,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:103,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:111,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:111,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:113,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:113,1
    - Dst: agent_scd_change_pin
      Src: /src/gnupg/g10/card-util.c:116,1
    - Dst: write_sc_op_status
      Src: /src/gnupg/g10/card-util.c:117,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:119,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:119,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:121,1
    - Dst: agent_scd_change_pin
      Src: /src/gnupg/g10/card-util.c:126,1
    - Dst: write_sc_op_status
      Src: /src/gnupg/g10/card-util.c:127,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:129,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:129,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:131,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:138,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:139,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:144,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/card-util.c:146,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:146,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/card-util.c:147,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:148,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:150,1
    - Dst: agent_scd_change_pin
      Src: /src/gnupg/g10/card-util.c:157,1
    - Dst: write_sc_op_status
      Src: /src/gnupg/g10/card-util.c:158,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:160,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:160,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:162,1
    - Dst: agent_scd_change_pin
      Src: /src/gnupg/g10/card-util.c:167,1
    - Dst: write_sc_op_status
      Src: /src/gnupg/g10/card-util.c:168,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:170,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:170,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:172,1
    - Dst: agent_scd_change_pin
      Src: /src/gnupg/g10/card-util.c:177,1
    - Dst: write_sc_op_status
      Src: /src/gnupg/g10/card-util.c:178,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:180,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:180,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:182,1
    - Dst: agent_scd_change_pin
      Src: /src/gnupg/g10/card-util.c:187,1
    - Dst: write_sc_op_status
      Src: /src/gnupg/g10/card-util.c:188,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:190,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:191,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:193,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:197,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:200,1
    - Dst: agent_release_card_info
      Src: /src/gnupg/g10/card-util.c:203,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 2
    argNames:
    - unblock_v2
    - allow_admin
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 83
    functionDepth: 5
    functionLinenumber: 83
    functionLinenumberEnd: 204
    functionName: change_pin
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 4
    functionsReached:
    - cpr_kill_prompt
    - agent_scd_change_pin
    - log_error
    - strlen
    - _
    - cpr_get
    - write_sc_op_status
    - agent_scd_learn
    - agent_release_card_info
    - log_info
    - gpg_strerror
    - xfree
    - tty_printf
    linkageType: ''
    returnType: void
    signature: void change_pin (int unblock_v2, int allow_admin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:218,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:219,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:223,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - fp
    - fpr
    - fprlen
    argTypes:
    - estream_t
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 225
    functionName: print_shax_fpr
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 2
    functionsReached:
    - tty_fprintf
    linkageType: ''
    returnType: void
    signature: void print_shax_fpr (estream_t fp, const unsigned char *fpr, unsigned
      int fprlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:237,1
    - Dst: es_putc
      Src: /src/gnupg/g10/card-util.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - fp
    - fpr
    - fprlen
    argTypes:
    - estream_t
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 240
    functionName: print_shax_fpr_colon
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - es_putc
    linkageType: ''
    returnType: void
    signature: "void print_shax_fpr_colon (estream_t fp,\n                      const
      unsigned char *fpr, unsigned int fprlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:250,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:252,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fp
    - grp
    argTypes:
    - estream_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 255
    functionName: print_keygrip
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 3
    functionsReached:
    - tty_fprintf
    linkageType: ''
    returnType: void
    signature: void print_keygrip (estream_t fp, const unsigned char *grp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:261,1
    - Dst: print_utf8_buffer2
      Src: /src/gnupg/g10/card-util.c:268,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:268,1
    - Dst: tty_print_utf8_string2
      Src: /src/gnupg/g10/card-util.c:270,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:270,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:273,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:273,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - fp
    - text
    - name
    argTypes:
    - estream_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 275
    functionName: print_name
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    - strlen
    - _
    - tty_print_utf8_string2
    - print_utf8_buffer2
    linkageType: ''
    returnType: void
    signature: void print_name (estream_t fp, const char *text, const char *name)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:282,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:284,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/card-util.c:288,1
    - Dst: strstr
      Src: /src/gnupg/g10/card-util.c:290,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/card-util.c:299,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:299,1
    - Dst: print_utf8_buffer2
      Src: /src/gnupg/g10/card-util.c:301,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:301,1
    - Dst: tty_print_utf8_string2
      Src: /src/gnupg/g10/card-util.c:303,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:303,1
    - Dst: es_putc
      Src: /src/gnupg/g10/card-util.c:306,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:308,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/card-util.c:312,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:312,1
    - Dst: print_utf8_buffer2
      Src: /src/gnupg/g10/card-util.c:314,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:314,1
    - Dst: tty_print_utf8_string2
      Src: /src/gnupg/g10/card-util.c:316,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:316,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:317,1
    - Dst: es_putc
      Src: /src/gnupg/g10/card-util.c:322,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:324,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:324,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/card-util.c:328,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:330,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 4
    argNames:
    - fp
    - text
    - tag
    - name
    argTypes:
    - estream_t
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 331
    functionName: print_isoname
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 1
    functionsReached:
    - tty_fprintf
    - es_fprintf
    - strstr
    - strlen
    - es_write_sanitized
    - es_putc
    - _
    - tty_print_utf8_string2
    - xfree
    - xstrdup
    - es_fputs
    - print_utf8_buffer2
    linkageType: ''
    returnType: void
    signature: "void print_isoname (estream_t fp, const char *text,\n               const
      char *tag, const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - fpr
    - fprlen
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: fpr_is_zero
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fpr_is_zero (const char *fpr, unsigned int fprlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - fpr
    - fprlen
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 354
    functionName: fpr_is_ff
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fpr_is_ff (const char *fpr, unsigned int fprlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:367,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:369,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:371,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - fp
    - prefix
    - value
    argTypes:
    - estream_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 374
    functionName: print_a_version
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 1
    functionsReached:
    - tty_fprintf
    linkageType: ''
    returnType: void
    signature: void print_a_version (estream_t fp, const char *prefix, unsigned int
      value)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc
      Src: /src/gnupg/g10/card-util.c:383,1
    - Dst: agent_scd_learn
      Src: /src/gnupg/g10/card-util.c:395,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/card-util.c:399,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:400,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:400,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:400,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:401,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:406,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:408,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:411,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:413,1
    - Dst: strncmp
      Src: /src/gnupg/g10/card-util.c:415,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:416,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/card-util.c:419,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/card-util.c:421,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/card-util.c:426,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/card-util.c:431,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/card-util.c:436,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/card-util.c:441,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:453,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:455,1
    - Dst: agent_release_card_info
      Src: /src/gnupg/g10/card-util.c:457,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:458,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:464,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:465,1
    - Dst: strcpy
      Src: /src/gnupg/g10/card-util.c:467,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/card-util.c:470,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:472,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:478,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:482,1
    - Dst: xtoi_2
      Src: /src/gnupg/g10/card-util.c:483,1
    - Dst: xtoi_2
      Src: /src/gnupg/g10/card-util.c:483,1
    - Dst: percent_escape
      Src: /src/gnupg/g10/card-util.c:485,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:486,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:487,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:488,1
    - Dst: print_isoname
      Src: /src/gnupg/g10/card-util.c:490,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/card-util.c:492,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/card-util.c:494,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:494,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/card-util.c:496,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:498,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/card-util.c:501,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/card-util.c:503,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:503,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/card-util.c:505,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/card-util.c:507,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/card-util.c:509,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:509,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/card-util.c:511,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:513,1
    - Dst: DIM
      Src: /src/gnupg/g10/card-util.c:514,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:516,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:521,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:523,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:525,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:527,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:539,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:543,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:551,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/card-util.c:552,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:553,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/card-util.c:554,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/card-util.c:558,1
    - Dst: print_shax_fpr_colon
      Src: /src/gnupg/g10/card-util.c:559,1
    - Dst: print_shax_fpr_colon
      Src: /src/gnupg/g10/card-util.c:561,1
    - Dst: print_shax_fpr_colon
      Src: /src/gnupg/g10/card-util.c:563,1
    - Dst: es_putc
      Src: /src/gnupg/g10/card-util.c:565,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/card-util.c:566,1
    - Dst: print_shax_fpr_colon
      Src: /src/gnupg/g10/card-util.c:567,1
    - Dst: print_shax_fpr_colon
      Src: /src/gnupg/g10/card-util.c:568,1
    - Dst: print_shax_fpr_colon
      Src: /src/gnupg/g10/card-util.c:569,1
    - Dst: es_putc
      Src: /src/gnupg/g10/card-util.c:570,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/card-util.c:571,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/card-util.c:574,1
    - Dst: print_shax_fpr_colon
      Src: /src/gnupg/g10/card-util.c:575,1
    - Dst: print_shax_fpr_colon
      Src: /src/gnupg/g10/card-util.c:576,1
    - Dst: print_shax_fpr_colon
      Src: /src/gnupg/g10/card-util.c:577,1
    - Dst: es_putc
      Src: /src/gnupg/g10/card-util.c:578,1
    - Dst: print_a_version
      Src: /src/gnupg/g10/card-util.c:583,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:585,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:590,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:592,1
    - Dst: print_isoname
      Src: /src/gnupg/g10/card-util.c:594,1
    - Dst: print_name
      Src: /src/gnupg/g10/card-util.c:595,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:596,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:597,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:598,1
    - Dst: print_name
      Src: /src/gnupg/g10/card-util.c:599,1
    - Dst: print_name
      Src: /src/gnupg/g10/card-util.c:600,1
    - Dst: print_name
      Src: /src/gnupg/g10/card-util.c:602,1
    - Dst: print_name
      Src: /src/gnupg/g10/card-util.c:604,1
    - Dst: print_name
      Src: /src/gnupg/g10/card-util.c:606,1
    - Dst: print_name
      Src: /src/gnupg/g10/card-util.c:608,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:611,1
    - Dst: print_shax_fpr
      Src: /src/gnupg/g10/card-util.c:612,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:616,1
    - Dst: print_shax_fpr
      Src: /src/gnupg/g10/card-util.c:617,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:621,1
    - Dst: print_shax_fpr
      Src: /src/gnupg/g10/card-util.c:622,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:624,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:625,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:625,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:628,1
    - Dst: DIM
      Src: /src/gnupg/g10/card-util.c:629,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:631,1
    - Dst: openpgp_oid_or_name_to_curve
      Src: /src/gnupg/g10/card-util.c:639,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:640,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:642,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:644,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:646,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:648,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:660,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:664,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:668,1
    - Dst: print_shax_fpr
      Src: /src/gnupg/g10/card-util.c:669,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:672,1
    - Dst: isotimestamp
      Src: /src/gnupg/g10/card-util.c:673,1
    - Dst: print_keygrip
      Src: /src/gnupg/g10/card-util.c:674,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:676,1
    - Dst: print_shax_fpr
      Src: /src/gnupg/g10/card-util.c:677,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:680,1
    - Dst: isotimestamp
      Src: /src/gnupg/g10/card-util.c:681,1
    - Dst: print_keygrip
      Src: /src/gnupg/g10/card-util.c:682,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:684,1
    - Dst: print_shax_fpr
      Src: /src/gnupg/g10/card-util.c:685,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:688,1
    - Dst: isotimestamp
      Src: /src/gnupg/g10/card-util.c:689,1
    - Dst: print_keygrip
      Src: /src/gnupg/g10/card-util.c:690,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:692,1
    - Dst: fpr_is_ff
      Src: /src/gnupg/g10/card-util.c:700,1
    - Dst: get_pubkey_byfpr
      Src: /src/gnupg/g10/card-util.c:701,1
    - Dst: print_key_info
      Src: /src/gnupg/g10/card-util.c:703,1
    - Dst: print_card_key_info
      Src: /src/gnupg/g10/card-util.c:704,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:707,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:711,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:712,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:712,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/card-util.c:718,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/card-util.c:719,1
    - Dst: agent_release_card_info
      Src: /src/gnupg/g10/card-util.c:720,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 219
    argCount: 4
    argNames:
    - ctrl
    - fp
    - serialno
    - serialnobuflen
    argTypes:
    - ctrl_t
    - estream_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 721
    functionName: current_card_status
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - print_isoname
    - strlen
    - agent_scd_learn
    - ascii_strcasecmp
    - xtoi_2
    - fpr_is_ff
    - tty_fprintf
    - print_keygrip
    - print_key_info
    - free_public_key
    - log_error
    - print_a_version
    - es_write_sanitized
    - DIM
    - print_shax_fpr_colon
    - _
    - es_putc
    - isotimestamp
    - agent_release_card_info
    - strncmp
    - print_name
    - get_pubkey_byfpr
    - print_shax_fpr
    - gpg_strerror
    - xfree
    - percent_escape
    - es_fputs
    - release_kbnode
    - xcalloc
    - openpgp_oid_or_name_to_curve
    - strcpy
    - print_card_key_info
    linkageType: ''
    returnType: void
    signature: "void current_card_status (ctrl_t ctrl, estream_t fp,\n                     char
      *serialno, size_t serialnobuflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:735,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:736,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:736,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 741
    functionName: show_pin_hint
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - tty_printf
    - _
    linkageType: ''
    returnType: void
    signature: void show_pin_hint (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: current_card_status
      Src: /src/gnupg/g10/card-util.c:758,1
    - Dst: strcmp
      Src: /src/gnupg/g10/card-util.c:762,1
    - Dst: agent_scd_serialno
      Src: /src/gnupg/g10/card-util.c:765,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/card-util.c:768,1
    - Dst: log_info
      Src: /src/gnupg/g10/card-util.c:769,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:769,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:770,1
    - Dst: agent_scd_cardlist
      Src: /src/gnupg/g10/card-util.c:775,1
    - Dst: strcmp
      Src: /src/gnupg/g10/card-util.c:779,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:783,1
    - Dst: agent_scd_serialno
      Src: /src/gnupg/g10/card-util.c:786,1
    - Dst: log_info
      Src: /src/gnupg/g10/card-util.c:790,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:790,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:791,1
    - Dst: current_card_status
      Src: /src/gnupg/g10/card-util.c:795,1
    - Dst: agent_scd_serialno
      Src: /src/gnupg/g10/card-util.c:802,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:805,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/card-util.c:806,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 3
    argNames:
    - ctrl
    - fp
    - serialno
    argTypes:
    - ctrl_t
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 747
    functionDepth: 4
    functionLinenumber: 747
    functionLinenumberEnd: 807
    functionName: card_status
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 2
    functionsReached:
    - tty_fprintf
    - agent_scd_serialno
    - agent_scd_cardlist
    - current_card_status
    - _
    - strcmp
    - log_info
    - gpg_err_code
    - gpg_strerror
    - xfree
    - free_strlist
    linkageType: ''
    returnType: void
    signature: void card_status (ctrl_t ctrl, estream_t fp, const char *serialno)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cpr_get
      Src: /src/gnupg/g10/card-util.c:818,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/card-util.c:821,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/card-util.c:822,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:829,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:829,1
    - Dst: strchr
      Src: /src/gnupg/g10/card-util.c:830,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:831,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:831,1
    - Dst: strstr
      Src: /src/gnupg/g10/card-util.c:832,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:833,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:833,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:836,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - prompt1
    - prompt2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 810
    functionDepth: 5
    functionLinenumber: 810
    functionLinenumberEnd: 838
    functionName: get_one_name
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - strstr
    - trim_spaces
    - _
    - cpr_get
    - strchr
    - xfree
    - tty_printf
    linkageType: ''
    returnType: char
    signature: 'char *

      get_one_name (const char *prompt1, const char *prompt2)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_one_name
      Src: /src/gnupg/g10/card-util.c:850,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:851,1
    - Dst: get_one_name
      Src: /src/gnupg/g10/card-util.c:852,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:853,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:856,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:857,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/card-util.c:858,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/card-util.c:862,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:862,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:862,1
    - Dst: strcpy
      Src: /src/gnupg/g10/card-util.c:863,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/card-util.c:863,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/card-util.c:863,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:864,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:865,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:870,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:872,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:872,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/card-util.c:874,1
    - Dst: show_pin_hint
      Src: /src/gnupg/g10/card-util.c:878,1
    - Dst: agent_scd_setattr
      Src: /src/gnupg/g10/card-util.c:880,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:880,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:882,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:882,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:885,1
    - Dst: write_sc_op_status
      Src: /src/gnupg/g10/card-util.c:886,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 842
    functionDepth: 6
    functionLinenumber: 842
    functionLinenumberEnd: 888
    functionName: change_name
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - get_one_name
    - strlen
    - log_error
    - _
    - xmalloc
    - gpg_error
    - write_sc_op_status
    - xfree
    - strcpy
    - show_pin_hint
    - gpg_strerror
    - stpcpy
    - tty_printf
    - agent_scd_setattr
    linkageType: ''
    returnType: int
    signature: int change_name (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cpr_get
      Src: /src/gnupg/g10/card-util.c:897,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:897,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/card-util.c:900,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/card-util.c:901,1
    - Dst: agent_scd_setattr
      Src: /src/gnupg/g10/card-util.c:903,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:903,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:905,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:905,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:906,1
    - Dst: write_sc_op_status
      Src: /src/gnupg/g10/card-util.c:907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 891
    functionDepth: 5
    functionLinenumber: 891
    functionLinenumberEnd: 909
    functionName: change_url
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - strlen
    - log_error
    - trim_spaces
    - _
    - cpr_get
    - write_sc_op_status
    - gpg_strerror
    - xfree
    - agent_scd_setattr
    linkageType: ''
    returnType: int
    signature: int change_url (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/card-util.c:920,1
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/card-util.c:922,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:924,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:924,1
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/card-util.c:927,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:929,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:930,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/card-util.c:935,1
    - Dst: keyserver_fetch
      Src: /src/gnupg/g10/card-util.c:936,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/card-util.c:937,1
    - Dst: keyserver_import_fpr
      Src: /src/gnupg/g10/card-util.c:941,1
    - Dst: agent_release_card_info
      Src: /src/gnupg/g10/card-util.c:946,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 914
    functionDepth: 2
    functionLinenumber: 914
    functionLinenumberEnd: 948
    functionName: fetch_url
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - log_error
    - keyserver_fetch
    - keyserver_import_fpr
    - add_to_strlist
    - agent_release_card_info
    - gpg_strerror
    - memset
    - free_strlist
    - agent_scd_getattr
    linkageType: ''
    returnType: int
    signature: int fetch_url (ctrl_t ctrl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/g10/card-util.c:966,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:969,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:969,1
    - Dst: strerror
      Src: /src/gnupg/g10/card-util.c:969,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/card-util.c:973,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:976,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:976,1
    - Dst: strerror
      Src: /src/gnupg/g10/card-util.c:976,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/card-util.c:977,1
    - Dst: es_fread
      Src: /src/gnupg/g10/card-util.c:981,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/card-util.c:982,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:985,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:985,1
    - Dst: strerror
      Src: /src/gnupg/g10/card-util.c:985,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:986,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - fname
    - r_buffer
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 991
    functionName: get_data_from_file
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 4
    functionsReached:
    - xtrymalloc
    - es_fclose
    - _
    - es_fread
    - es_fopen
    - xfree
    - tty_printf
    - strerror
    linkageType: ''
    returnType: int
    signature: int get_data_from_file (const char *fname, char **r_buffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/g10/card-util.c:1001,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1004,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1004,1
    - Dst: strerror
      Src: /src/gnupg/g10/card-util.c:1004,1
    - Dst: es_fwrite
      Src: /src/gnupg/g10/card-util.c:1008,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1010,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1010,1
    - Dst: strerror
      Src: /src/gnupg/g10/card-util.c:1010,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/card-util.c:1011,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/card-util.c:1014,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - fname
    - buffer
    - length
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1016
    functionName: put_data_to_file
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 1
    functionsReached:
    - es_fclose
    - _
    - es_fopen
    - es_fwrite
    - tty_printf
    - strerror
    linkageType: ''
    returnType: int
    signature: int put_data_to_file (const char *fname, const void *buffer, size_t
      length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/g10/card-util.c:1028,1
    - Dst: get_data_from_file
      Src: /src/gnupg/g10/card-util.c:1030,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/card-util.c:1036,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1037,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/card-util.c:1040,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/card-util.c:1041,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:1042,1
    - Dst: agent_scd_setattr
      Src: /src/gnupg/g10/card-util.c:1045,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1047,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1047,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1048,1
    - Dst: write_sc_op_status
      Src: /src/gnupg/g10/card-util.c:1049,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1019
    functionDepth: 5
    functionLinenumber: 1019
    functionLinenumberEnd: 1051
    functionName: change_login
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - get_data_from_file
    - strlen
    - log_error
    - spacep
    - trim_spaces
    - _
    - cpr_get
    - write_sc_op_status
    - gpg_strerror
    - xfree
    - agent_scd_setattr
    linkageType: ''
    returnType: int
    signature: int change_login (const char *args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/card-util.c:1061,1
    - Dst: strchr
      Src: /src/gnupg/g10/card-util.c:1064,1
    - Dst: spacep
      Src: /src/gnupg/g10/card-util.c:1066,1
    - Dst: get_data_from_file
      Src: /src/gnupg/g10/card-util.c:1068,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/card-util.c:1074,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1075,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/card-util.c:1078,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/card-util.c:1079,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:1080,1
    - Dst: agent_scd_setattr
      Src: /src/gnupg/g10/card-util.c:1083,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1085,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1085,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1086,1
    - Dst: write_sc_op_status
      Src: /src/gnupg/g10/card-util.c:1087,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - args
    - nr
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1053
    functionDepth: 5
    functionLinenumber: 1053
    functionLinenumberEnd: 1089
    functionName: change_private_do
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - get_data_from_file
    - log_assert
    - strlen
    - log_error
    - spacep
    - trim_spaces
    - cpr_get
    - _
    - write_sc_op_status
    - strchr
    - gpg_strerror
    - xfree
    - agent_scd_setattr
    linkageType: ''
    returnType: int
    signature: int change_private_do (const char *args, int nr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/g10/card-util.c:1101,1
    - Dst: get_data_from_file
      Src: /src/gnupg/g10/card-util.c:1103,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1109,1
    - Dst: agent_scd_writecert
      Src: /src/gnupg/g10/card-util.c:1113,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1115,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1115,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1116,1
    - Dst: write_sc_op_status
      Src: /src/gnupg/g10/card-util.c:1117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1092
    functionDepth: 4
    functionLinenumber: 1092
    functionLinenumberEnd: 1119
    functionName: change_cert
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - get_data_from_file
    - log_error
    - spacep
    - write_sc_op_status
    - gpg_strerror
    - xfree
    - tty_printf
    - agent_scd_writecert
    linkageType: ''
    returnType: int
    signature: int change_cert (const char *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/g10/card-util.c:1132,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1138,1
    - Dst: agent_scd_readcert
      Src: /src/gnupg/g10/card-util.c:1142,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1144,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1144,1
    - Dst: put_data_to_file
      Src: /src/gnupg/g10/card-util.c:1146,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1147,1
    - Dst: write_sc_op_status
      Src: /src/gnupg/g10/card-util.c:1148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1122
    functionDepth: 4
    functionLinenumber: 1122
    functionLinenumberEnd: 1150
    functionName: read_cert
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - log_error
    - spacep
    - write_sc_op_status
    - gpg_strerror
    - xfree
    - put_data_to_file
    - tty_printf
    - agent_scd_readcert
    linkageType: ''
    returnType: int
    signature: int read_cert (const char *args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cpr_get
      Src: /src/gnupg/g10/card-util.c:1159,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1160,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/card-util.c:1163,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/card-util.c:1164,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:1166,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:1166,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1168,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1168,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1169,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1177,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1177,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1178,1
    - Dst: agent_scd_setattr
      Src: /src/gnupg/g10/card-util.c:1182,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:1182,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1184,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1184,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1185,1
    - Dst: write_sc_op_status
      Src: /src/gnupg/g10/card-util.c:1186,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1153
    functionDepth: 5
    functionLinenumber: 1153
    functionLinenumberEnd: 1188
    functionName: change_lang
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - strlen
    - log_error
    - trim_spaces
    - _
    - cpr_get
    - write_sc_op_status
    - xfree
    - gpg_strerror
    - tty_printf
    - agent_scd_setattr
    linkageType: ''
    returnType: int
    signature: int change_lang (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cpr_get
      Src: /src/gnupg/g10/card-util.c:1198,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1199,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/card-util.c:1202,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/card-util.c:1203,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1213,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1213,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1214,1
    - Dst: agent_scd_setattr
      Src: /src/gnupg/g10/card-util.c:1218,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1220,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1220,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1221,1
    - Dst: write_sc_op_status
      Src: /src/gnupg/g10/card-util.c:1222,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1191
    functionDepth: 5
    functionLinenumber: 1191
    functionLinenumberEnd: 1224
    functionName: change_sex
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - log_error
    - trim_spaces
    - _
    - cpr_get
    - write_sc_op_status
    - xfree
    - gpg_strerror
    - tty_printf
    - agent_scd_setattr
    linkageType: ''
    returnType: int
    signature: int change_sex (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cpr_get
      Src: /src/gnupg/g10/card-util.c:1236,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1236,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/card-util.c:1239,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/card-util.c:1240,1
    - Dst: spacep
      Src: /src/gnupg/g10/card-util.c:1244,1
    - Dst: spacep
      Src: /src/gnupg/g10/card-util.c:1248,1
    - Dst: hextobyte
      Src: /src/gnupg/g10/card-util.c:1250,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1257,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1260,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1260,1
    - Dst: agent_scd_setattr
      Src: /src/gnupg/g10/card-util.c:1264,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1268,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1268,1
    - Dst: write_sc_op_status
      Src: /src/gnupg/g10/card-util.c:1269,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - fprno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1227
    functionDepth: 5
    functionLinenumber: 1227
    functionLinenumberEnd: 1271
    functionName: change_cafpr
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - log_error
    - trim_spaces
    - spacep
    - _
    - cpr_get
    - write_sc_op_status
    - hextobyte
    - xfree
    - gpg_strerror
    - tty_printf
    - agent_scd_setattr
    linkageType: ''
    returnType: int
    signature: int change_cafpr (int fprno)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/card-util.c:1282,1
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/card-util.c:1283,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1286,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1286,1
    - Dst: agent_release_card_info
      Src: /src/gnupg/g10/card-util.c:1290,1
    - Dst: agent_scd_setattr
      Src: /src/gnupg/g10/card-util.c:1292,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1294,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1294,1
    - Dst: write_sc_op_status
      Src: /src/gnupg/g10/card-util.c:1295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1275
    functionDepth: 4
    functionLinenumber: 1275
    functionLinenumberEnd: 1296
    functionName: toggle_forcesig
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - log_error
    - write_sc_op_status
    - agent_release_card_info
    - gpg_strerror
    - memset
    - agent_scd_setattr
    - agent_scd_getattr
    linkageType: ''
    returnType: void
    signature: void toggle_forcesig (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/card-util.c:1305,1
    - Dst: agent_scd_switchapp
      Src: /src/gnupg/g10/card-util.c:1306,1
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/card-util.c:1307,1
    - Dst: strncmp
      Src: /src/gnupg/g10/card-util.c:1308,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:1309,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1311,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1311,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1312,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1312,1
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/card-util.c:1315,1
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/card-util.c:1317,1
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/card-util.c:1319,1
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/card-util.c:1321,1
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/card-util.c:1323,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1325,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1325,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1325,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct agent_card_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1300
    functionDepth: 2
    functionLinenumber: 1300
    functionLinenumberEnd: 1327
    functionName: get_info_for_key_operation
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - strlen
    - agent_scd_switchapp
    - log_error
    - _
    - memset
    - gpg_strerror
    - strncmp
    - agent_scd_getattr
    linkageType: ''
    returnType: int
    signature: int get_info_for_key_operation (struct agent_card_info_s *info)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: agent_scd_setattr
      Src: /src/gnupg/g10/card-util.c:1341,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1344,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1345,1
    - Dst: agent_scd_checkpin
      Src: /src/gnupg/g10/card-util.c:1354,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1357,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1357,1
    - Dst: write_sc_op_status
      Src: /src/gnupg/g10/card-util.c:1358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - info
    - forced_chv1
    argTypes:
    - struct agent_card_info_s*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1331
    functionDepth: 4
    functionLinenumber: 1331
    functionLinenumberEnd: 1362
    functionName: check_pin_for_key_operation
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 1
    functionsReached:
    - log_error
    - write_sc_op_status
    - gpg_strerror
    - agent_scd_setattr
    - agent_scd_checkpin
    linkageType: ''
    returnType: int
    signature: int check_pin_for_key_operation (struct agent_card_info_s *info, int
      *forced_chv1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: agent_scd_setattr
      Src: /src/gnupg/g10/card-util.c:1372,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1375,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - forced_chv1
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1365
    functionDepth: 2
    functionLinenumber: 1365
    functionLinenumberEnd: 1379
    functionName: restore_forced_chv1
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 1
    functionsReached:
    - gpg_strerror
    - agent_scd_setattr
    - log_error
    linkageType: ''
    returnType: void
    signature: void restore_forced_chv1 (int *forced_chv1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:1386,1
    - Dst: print_shax_fpr
      Src: /src/gnupg/g10/card-util.c:1387,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:1388,1
    - Dst: print_shax_fpr
      Src: /src/gnupg/g10/card-util.c:1389,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/card-util.c:1390,1
    - Dst: print_shax_fpr
      Src: /src/gnupg/g10/card-util.c:1391,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct agent_card_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1393
    functionName: show_card_key_info
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    - tty_printf
    - print_shax_fpr
    linkageType: ''
    returnType: void
    signature: void show_card_key_info (struct agent_card_info_s *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/card-util.c:1400,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1406,1
    - Dst: log_info
      Src: /src/gnupg/g10/card-util.c:1407,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1408,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/card-util.c:1409,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1410,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - info
    - keyno
    argTypes:
    - struct agent_card_info_s*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1397
    functionDepth: 6
    functionLinenumber: 1397
    functionLinenumberEnd: 1415
    functionName: replace_existing_key_p
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - cpr_get_answer_is_yes
    - log_assert
    - _
    - log_info
    - tty_printf
    linkageType: ''
    returnType: int
    signature: int replace_existing_key_p (struct agent_card_info_s *info, int keyno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1426,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1432
    functionName: show_keysize_warning
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 1
    functionsReached:
    - tty_printf
    - _
    linkageType: ''
    returnType: void
    signature: void show_keysize_warning (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xasprintf
      Src: /src/gnupg/g10/card-util.c:1449,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1449,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/card-util.c:1450,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/card-util.c:1451,1
    - Dst: atoi
      Src: /src/gnupg/g10/card-util.c:1452,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1453,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1454,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1459,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1459,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1467,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1467,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1439
    functionDepth: 5
    functionLinenumber: 1439
    functionLinenumberEnd: 1473
    functionName: ask_card_rsa_keysize
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - atoi
    - cpr_get
    - _
    - xfree
    - xasprintf
    - tty_printf
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ask_card_rsa_keysize (unsigned int nbits)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1486,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1486,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1488,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1488,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1490,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1490,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1492,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1492,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1494,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1494,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1495,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1495,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1496,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1496,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1500,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/card-util.c:1501,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1501,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/card-util.c:1502,1
    - Dst: atoi
      Src: /src/gnupg/g10/card-util.c:1503,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1507,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1511,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1511,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/card-util.c:1517,1
    - Dst: ask_card_rsa_keysize
      Src: /src/gnupg/g10/card-util.c:1528,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1533,1
    - Dst: ask_curve
      Src: /src/gnupg/g10/card-util.c:1565,1
    - Dst: openpgp_oid_or_name_to_curve
      Src: /src/gnupg/g10/card-util.c:1569,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1573,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1582,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1582,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1587,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1587,1
    - Dst: show_keysize_warning
      Src: /src/gnupg/g10/card-util.c:1590,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 2
    argNames:
    - keyno
    - current
    argTypes:
    - int
    - struct key_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1479
    functionDepth: 6
    functionLinenumber: 1479
    functionLinenumberEnd: 1594
    functionName: ask_card_keyattr
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - ask_curve
    - cpr_kill_prompt
    - show_keysize_warning
    - ask_card_rsa_keysize
    - atoi
    - cpr_get
    - _
    - xmalloc
    - openpgp_oid_or_name_to_curve
    - xfree
    - tty_printf
    linkageType: ''
    returnType: struct key_attr
    signature: 'struct key_attr *

      ask_card_keyattr (int keyno, const struct key_attr *current)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/g10/card-util.c:1607,1
    - Dst: snprintf
      Src: /src/gnupg/g10/card-util.c:1612,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1616,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1616,1
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/card-util.c:1617,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/card-util.c:1618,1
    - Dst: show_pin_hint
      Src: /src/gnupg/g10/card-util.c:1621,1
    - Dst: agent_scd_setattr
      Src: /src/gnupg/g10/card-util.c:1623,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:1623,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1625,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1625,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1626,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - keyno
    - key_attr
    argTypes:
    - int
    - struct key_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1600
    functionDepth: 2
    functionLinenumber: 1600
    functionLinenumberEnd: 1628
    functionName: do_change_keyattr
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - log_error
    - strlen
    - snprintf
    - _
    - gpg_error
    - gpg_strerror
    - openpgp_pk_algo_name
    - show_pin_hint
    - agent_scd_setattr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_change_keyattr (int keyno, const struct key_attr *key_attr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_info_for_key_operation
      Src: /src/gnupg/g10/card-util.c:1638,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1641,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1641,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1641,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1647,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1647,1
    - Dst: DIM
      Src: /src/gnupg/g10/card-util.c:1651,1
    - Dst: ask_card_keyattr
      Src: /src/gnupg/g10/card-util.c:1656,1
    - Dst: do_change_keyattr
      Src: /src/gnupg/g10/card-util.c:1658,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1659,1
    - Dst: agent_release_card_info
      Src: /src/gnupg/g10/card-util.c:1663,1
    - Dst: get_info_for_key_operation
      Src: /src/gnupg/g10/card-util.c:1664,1
    - Dst: agent_release_card_info
      Src: /src/gnupg/g10/card-util.c:1673,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1631
    functionDepth: 7
    functionLinenumber: 1631
    functionLinenumberEnd: 1674
    functionName: key_attr
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - log_error
    - get_info_for_key_operation
    - ask_card_keyattr
    - DIM
    - _
    - do_change_keyattr
    - agent_release_card_info
    - gpg_strerror
    - xfree
    linkageType: ''
    returnType: void
    signature: void key_attr (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/g10/card-util.c:1686,1
    - Dst: strcmp
      Src: /src/gnupg/g10/card-util.c:1687,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1691,1
    - Dst: get_info_for_key_operation
      Src: /src/gnupg/g10/card-util.c:1696,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/card-util.c:1705,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1706,1
    - Dst: answer_is_yes_no_default
      Src: /src/gnupg/g10/card-util.c:1708,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/card-util.c:1710,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1711,1
    - Dst: fpr_is_zero
      Src: /src/gnupg/g10/card-util.c:1714,1
    - Dst: fpr_is_zero
      Src: /src/gnupg/g10/card-util.c:1715,1
    - Dst: fpr_is_zero
      Src: /src/gnupg/g10/card-util.c:1716,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1718,1
    - Dst: log_info
      Src: /src/gnupg/g10/card-util.c:1719,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1719,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1720,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/card-util.c:1721,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1722,1
    - Dst: agent_release_card_info
      Src: /src/gnupg/g10/card-util.c:1724,1
    - Dst: show_pin_hint
      Src: /src/gnupg/g10/card-util.c:1732,1
    - Dst: check_pin_for_key_operation
      Src: /src/gnupg/g10/card-util.c:1734,1
    - Dst: generate_keypair
      Src: /src/gnupg/g10/card-util.c:1737,1
    - Dst: agent_release_card_info
      Src: /src/gnupg/g10/card-util.c:1740,1
    - Dst: restore_forced_chv1
      Src: /src/gnupg/g10/card-util.c:1741,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 2
    argNames:
    - ctrl
    - argstring
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1677
    functionDepth: 6
    functionLinenumber: 1677
    functionLinenumberEnd: 1742
    functionName: generate_card_keys
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - cpr_get_answer_is_yes
    - get_info_for_key_operation
    - answer_is_yes_no_default
    - check_pin_for_key_operation
    - generate_keypair
    - _
    - cpr_get
    - strcmp
    - agent_release_card_info
    - xfree
    - log_info
    - show_pin_hint
    - tty_printf
    - fpr_is_zero
    - restore_forced_chv1
    linkageType: ''
    returnType: void
    signature: void generate_card_keys (ctrl_t ctrl, const char *argstring)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_info_for_key_operation
      Src: /src/gnupg/g10/card-util.c:1755,1
    - Dst: show_card_key_info
      Src: /src/gnupg/g10/card-util.c:1759,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1761,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1761,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1763,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1763,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1764,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1764,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1765,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1765,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/card-util.c:1769,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1770,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/card-util.c:1771,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1774,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/card-util.c:1775,1
    - Dst: atoi
      Src: /src/gnupg/g10/card-util.c:1778,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1779,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1782,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1782,1
    - Dst: replace_existing_key_p
      Src: /src/gnupg/g10/card-util.c:1785,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/card-util.c:1787,1
    - Dst: check_pin_for_key_operation
      Src: /src/gnupg/g10/card-util.c:1791,1
    - Dst: generate_card_subkeypair
      Src: /src/gnupg/g10/card-util.c:1795,1
    - Dst: agent_release_card_info
      Src: /src/gnupg/g10/card-util.c:1798,1
    - Dst: restore_forced_chv1
      Src: /src/gnupg/g10/card-util.c:1799,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - ctrl
    - pub_keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1747
    functionDepth: 7
    functionLinenumber: 1747
    functionLinenumberEnd: 1801
    functionName: card_generate_subkey
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 1
    functionsReached:
    - cpr_kill_prompt
    - atoi
    - get_info_for_key_operation
    - check_pin_for_key_operation
    - cpr_get
    - _
    - generate_card_subkeypair
    - show_card_key_info
    - gpg_error
    - xfree
    - replace_existing_key_p
    - agent_release_card_info
    - tty_printf
    - restore_forced_chv1
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t card_generate_subkey (ctrl_t ctrl, kbnode_t pub_keyblock)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/card-util.c:1828,1
    - Dst: get_info_for_key_operation
      Src: /src/gnupg/g10/card-util.c:1836,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1841,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1842,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/card-util.c:1846,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1850,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1851,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1859,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1859,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1862,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1862,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1864,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1864,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1866,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1866,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/card-util.c:1870,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1871,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/card-util.c:1872,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1875,1
    - Dst: atoi
      Src: /src/gnupg/g10/card-util.c:1878,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1879,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1885,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1891,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1891,1
    - Dst: replace_existing_key_p
      Src: /src/gnupg/g10/card-util.c:1903,1
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/card-util.c:1906,1
    - Dst: epoch2isotime
      Src: /src/gnupg/g10/card-util.c:1910,1
    - Dst: ecdh_param_str_from_pk
      Src: /src/gnupg/g10/card-util.c:1914,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/card-util.c:1917,1
    - Dst: agent_keytocard
      Src: /src/gnupg/g10/card-util.c:1922,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:1925,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:1925,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1925,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/card-util.c:1930,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1934,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:1935,1
    - Dst: agent_release_card_info
      Src: /src/gnupg/g10/card-util.c:1936,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 83
    argCount: 4
    argNames:
    - node
    - use
    - processed_keys
    - r_selected_use
    argTypes:
    - kbnode_t
    - int
    - strlist_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1812
    functionDepth: 7
    functionLinenumber: 1812
    functionLinenumberEnd: 1938
    functionName: card_store_subkey
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 1
    functionsReached:
    - cpr_kill_prompt
    - log_assert
    - cpr_get
    - ecdh_param_str_from_pk
    - log_error
    - _
    - agent_release_card_info
    - agent_keytocard
    - tty_printf
    - gpg_error_from_syserror
    - xfree
    - gpg_strerror
    - hexkeygrip_from_pk
    - atoi
    - get_info_for_key_operation
    - add_to_strlist
    - replace_existing_key_p
    - epoch2isotime
    - nbits_from_pk
    linkageType: ''
    returnType: int
    signature: "int card_store_subkey (kbnode_t node, int use, strlist_t *processed_keys,\n
      \                  int *r_selected_use)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: agent_scd_apdu
      Src: /src/gnupg/g10/card-util.c:1949,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1951,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1952,1
    - Dst: strcmp
      Src: /src/gnupg/g10/card-util.c:1954,1
    - Dst: strcmp
      Src: /src/gnupg/g10/card-util.c:1955,1
    - Dst: strcmp
      Src: /src/gnupg/g10/card-util.c:1956,1
    - Dst: strcmp
      Src: /src/gnupg/g10/card-util.c:1957,1
    - Dst: strcmp
      Src: /src/gnupg/g10/card-util.c:1958,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/card-util.c:1966,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/card-util.c:1967,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/card-util.c:1968,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/card-util.c:1969,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:1972,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:1973,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - hexapdu
    - desc
    - ignore
    argTypes:
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1943
    functionDepth: 2
    functionLinenumber: 1943
    functionLinenumberEnd: 1976
    functionName: send_apdu
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 3
    functionsReached:
    - strcmp
    - gpg_error
    - gpg_strerror
    - agent_scd_apdu
    - tty_printf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t send_apdu (const char *hexapdu, const char *desc, unsigned
      int ignore)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: agent_scd_learn
      Src: /src/gnupg/g10/card-util.c:2012,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/card-util.c:2013,1
    - Dst: gpg_err_source
      Src: /src/gnupg/g10/card-util.c:2014,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:2018,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2018,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:2018,1
    - Dst: log_info
      Src: /src/gnupg/g10/card-util.c:2024,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2024,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:2030,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2030,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:2034,1
    - Dst: log_info
      Src: /src/gnupg/g10/card-util.c:2035,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2035,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:2036,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/card-util.c:2037,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2038,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/card-util.c:2042,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2043,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/card-util.c:2044,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/card-util.c:2045,1
    - Dst: strcmp
      Src: /src/gnupg/g10/card-util.c:2046,1
    - Dst: send_apdu
      Src: /src/gnupg/g10/card-util.c:2053,1
    - Dst: send_apdu
      Src: /src/gnupg/g10/card-util.c:2057,1
    - Dst: send_apdu
      Src: /src/gnupg/g10/card-util.c:2060,1
    - Dst: send_apdu
      Src: /src/gnupg/g10/card-util.c:2065,1
    - Dst: send_apdu
      Src: /src/gnupg/g10/card-util.c:2078,1
    - Dst: send_apdu
      Src: /src/gnupg/g10/card-util.c:2082,1
    - Dst: send_apdu
      Src: /src/gnupg/g10/card-util.c:2087,1
    - Dst: send_apdu
      Src: /src/gnupg/g10/card-util.c:2094,1
    - Dst: send_apdu
      Src: /src/gnupg/g10/card-util.c:2099,1
    - Dst: agent_scd_serialno
      Src: /src/gnupg/g10/card-util.c:2103,1
    - Dst: send_apdu
      Src: /src/gnupg/g10/card-util.c:2107,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:2108,1
    - Dst: agent_release_card_info
      Src: /src/gnupg/g10/card-util.c:2109,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 1980
    functionDepth: 6
    functionLinenumber: 1980
    functionLinenumberEnd: 2110
    functionName: factory_reset
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - agent_scd_serialno
    - cpr_get_answer_is_yes
    - log_error
    - tty_printf
    - trim_spaces
    - _
    - cpr_get
    - strcmp
    - agent_scd_learn
    - agent_release_card_info
    - gpg_err_code
    - gpg_strerror
    - log_info
    - send_apdu
    - xfree
    - gpg_err_source
    linkageType: ''
    returnType: void
    signature: void factory_reset (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: encode_s2k_iterations
      Src: /src/gnupg/g10/card-util.c:2133,1
    - Dst: agent_get_s2k_count
      Src: /src/gnupg/g10/card-util.c:2133,1
    - Dst: S2K_DECODE_COUNT
      Src: /src/gnupg/g10/card-util.c:2134,1
    - Dst: memcpy
      Src: /src/gnupg/g10/card-util.c:2140,1
    - Dst: memcpy
      Src: /src/gnupg/g10/card-util.c:2142,1
    - Dst: memcpy
      Src: /src/gnupg/g10/card-util.c:2144,1
    - Dst: gcry_randomize
      Src: /src/gnupg/g10/card-util.c:2146,1
    - Dst: memcpy
      Src: /src/gnupg/g10/card-util.c:2153,1
    - Dst: gcry_randomize
      Src: /src/gnupg/g10/card-util.c:2155,1
    - Dst: memcpy
      Src: /src/gnupg/g10/card-util.c:2157,1
    - Dst: gcry_randomize
      Src: /src/gnupg/g10/card-util.c:2159,1
    - Dst: memcpy
      Src: /src/gnupg/g10/card-util.c:2163,1
    - Dst: gcry_kdf_derive
      Src: /src/gnupg/g10/card-util.c:2165,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:2165,1
    - Dst: memcpy
      Src: /src/gnupg/g10/card-util.c:2171,1
    - Dst: gcry_kdf_derive
      Src: /src/gnupg/g10/card-util.c:2173,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:2173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 2
    argNames:
    - data
    - single_salt
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2114
    functionDepth: 1
    functionLinenumber: 2114
    functionLinenumberEnd: 2179
    functionName: gen_kdf_data
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 1
    functionsReached:
    - S2K_DECODE_COUNT
    - agent_get_s2k_count
    - gcry_kdf_derive
    - strlen
    - encode_s2k_iterations
    - gcry_randomize
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gen_kdf_data (unsigned char *data, int single_salt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/card-util.c:2190,1
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/card-util.c:2192,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:2195,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2195,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:2195,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:2201,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2201,1
    - Dst: strcmp
      Src: /src/gnupg/g10/card-util.c:2205,1
    - Dst: memcpy
      Src: /src/gnupg/g10/card-util.c:2208,1
    - Dst: gen_kdf_data
      Src: /src/gnupg/g10/card-util.c:2218,1
    - Dst: agent_scd_setattr
      Src: /src/gnupg/g10/card-util.c:2223,1
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/card-util.c:2227,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:2231,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2231,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:2231,1
    - Dst: agent_release_card_info
      Src: /src/gnupg/g10/card-util.c:2234,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2182
    functionDepth: 2
    functionLinenumber: 2182
    functionLinenumberEnd: 2235
    functionName: kdf_setup
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - log_error
    - _
    - strcmp
    - agent_release_card_info
    - gpg_strerror
    - memset
    - gen_kdf_data
    - memcpy
    - agent_scd_setattr
    - agent_scd_getattr
    linkageType: ''
    returnType: void
    signature: void kdf_setup (const char *args)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/card-util.c:2246,1
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/card-util.c:2248,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:2251,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2251,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:2251,1
    - Dst: agent_release_card_info
      Src: /src/gnupg/g10/card-util.c:2256,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:2260,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2260,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:2261,1
    - Dst: snprintf
      Src: /src/gnupg/g10/card-util.c:2265,1
    - Dst: strcmp
      Src: /src/gnupg/g10/card-util.c:2266,1
    - Dst: strcmp
      Src: /src/gnupg/g10/card-util.c:2268,1
    - Dst: strcmp
      Src: /src/gnupg/g10/card-util.c:2270,1
    - Dst: agent_scd_setattr
      Src: /src/gnupg/g10/card-util.c:2275,1
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:2277,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2277,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/card-util.c:2277,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - arg_number
    - arg_rest
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2278
      start: 2237
    functionDepth: 2
    functionLinenumber: 2237
    functionLinenumberEnd: 2278
    functionName: uif
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 2
    functionsReached:
    - log_error
    - snprintf
    - _
    - strcmp
    - agent_release_card_info
    - gpg_strerror
    - memset
    - tty_printf
    - agent_scd_setattr
    - agent_scd_getattr
    linkageType: ''
    returnType: void
    signature: void uif (int arg_number, const char *arg_rest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:2352,1
    - Dst: strncmp
      Src: /src/gnupg/g10/card-util.c:2359,1
    - Dst: strdup
      Src: /src/gnupg/g10/card-util.c:2360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - text
    - state
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2340
    functionDepth: 0
    functionLinenumber: 2340
    functionLinenumberEnd: 2364
    functionName: command_generator
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strdup
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      command_generator(const char *text,int state)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rl_completion_matches
      Src: /src/gnupg/g10/card-util.c:2374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2366
    functionDepth: 0
    functionLinenumber: 2366
    functionLinenumberEnd: 2379
    functionName: card_edit_completion
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 0
    functionsReached:
    - rl_completion_matches
    linkageType: ''
    returnType: char
    signature: 'char **

      card_edit_completion(const char *text, int start, int end)'
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/card-util.c:2399,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2399,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:2412,1
    - Dst: current_card_status
      Src: /src/gnupg/g10/card-util.c:2417,1
    - Dst: DIM
      Src: /src/gnupg/g10/card-util.c:2418,1
    - Dst: fflush
      Src: /src/gnupg/g10/card-util.c:2419,1
    - Dst: current_card_status
      Src: /src/gnupg/g10/card-util.c:2423,1
    - Dst: DIM
      Src: /src/gnupg/g10/card-util.c:2424,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:2425,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:2432,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/card-util.c:2437,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/card-util.c:2442,1
    - Dst: tty_enable_completion
      Src: /src/gnupg/g10/card-util.c:2450,1
    - Dst: cpr_get_no_help
      Src: /src/gnupg/g10/card-util.c:2451,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2451,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/card-util.c:2452,1
    - Dst: tty_disable_completion
      Src: /src/gnupg/g10/card-util.c:2453,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/card-util.c:2455,1
    - Dst: strchr
      Src: /src/gnupg/g10/card-util.c:2467,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/card-util.c:2470,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/card-util.c:2471,1
    - Dst: atoi
      Src: /src/gnupg/g10/card-util.c:2472,1
    - Dst: digitp
      Src: /src/gnupg/g10/card-util.c:2475,1
    - Dst: spacep
      Src: /src/gnupg/g10/card-util.c:2477,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/card-util.c:2482,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:2491,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:2492,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2492,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:2502,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2502,1
    - Dst: strcmp
      Src: /src/gnupg/g10/card-util.c:2506,1
    - Dst: strcmp
      Src: /src/gnupg/g10/card-util.c:2508,1
    - Dst: strcmp
      Src: /src/gnupg/g10/card-util.c:2510,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/card-util.c:2515,1
    - Dst: strlen
      Src: /src/gnupg/g10/card-util.c:2515,1
    - Dst: strcpy
      Src: /src/gnupg/g10/card-util.c:2516,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/card-util.c:2516,1
    - Dst: agent_scd_checkpin
      Src: /src/gnupg/g10/card-util.c:2517,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:2518,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:2523,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2523,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:2525,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2525,1
    - Dst: agent_scd_checkpin
      Src: /src/gnupg/g10/card-util.c:2529,1
    - Dst: change_name
      Src: /src/gnupg/g10/card-util.c:2538,1
    - Dst: change_url
      Src: /src/gnupg/g10/card-util.c:2542,1
    - Dst: fetch_url
      Src: /src/gnupg/g10/card-util.c:2546,1
    - Dst: change_login
      Src: /src/gnupg/g10/card-util.c:2550,1
    - Dst: change_lang
      Src: /src/gnupg/g10/card-util.c:2554,1
    - Dst: change_sex
      Src: /src/gnupg/g10/card-util.c:2558,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:2563,1
    - Dst: change_cafpr
      Src: /src/gnupg/g10/card-util.c:2566,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:2571,1
    - Dst: change_private_do
      Src: /src/gnupg/g10/card-util.c:2574,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:2579,1
    - Dst: change_cert
      Src: /src/gnupg/g10/card-util.c:2581,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:2586,1
    - Dst: read_cert
      Src: /src/gnupg/g10/card-util.c:2588,1
    - Dst: toggle_forcesig
      Src: /src/gnupg/g10/card-util.c:2592,1
    - Dst: generate_card_keys
      Src: /src/gnupg/g10/card-util.c:2596,1
    - Dst: change_pin
      Src: /src/gnupg/g10/card-util.c:2600,1
    - Dst: change_pin
      Src: /src/gnupg/g10/card-util.c:2604,1
    - Dst: factory_reset
      Src: /src/gnupg/g10/card-util.c:2608,1
    - Dst: kdf_setup
      Src: /src/gnupg/g10/card-util.c:2612,1
    - Dst: key_attr
      Src: /src/gnupg/g10/card-util.c:2616,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:2621,1
    - Dst: uif
      Src: /src/gnupg/g10/card-util.c:2624,1
    - Dst: agent_scd_switchapp
      Src: /src/gnupg/g10/card-util.c:2628,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:2640,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/card-util.c:2641,1
    - Dst: _
      Src: /src/gnupg/g10/card-util.c:2641,1
    - Dst: xfree
      Src: /src/gnupg/g10/card-util.c:2647,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 180
    argCount: 2
    argNames:
    - ctrl
    - commands
    argTypes:
    - ctrl_t
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2648
      start: 2384
    functionDepth: 8
    functionLinenumber: 2384
    functionLinenumberEnd: 2648
    functionName: card_edit
    functionSourceFile: /src/gnupg/g10/card-util.c
    functionUses: 1
    functionsReached:
    - cpr_kill_prompt
    - change_lang
    - strlen
    - digitp
    - agent_scd_switchapp
    - xmalloc
    - ascii_strcasecmp
    - xstrdup
    - change_cafpr
    - read_cert
    - generate_card_keys
    - log_error
    - kdf_setup
    - DIM
    - trim_spaces
    - current_card_status
    - _
    - fetch_url
    - fflush
    - change_cert
    - uif
    - tty_printf
    - change_login
    - change_sex
    - tty_enable_completion
    - spacep
    - change_private_do
    - change_pin
    - strcmp
    - strchr
    - xfree
    - key_attr
    - tty_disable_completion
    - change_url
    - atoi
    - toggle_forcesig
    - cpr_get_no_help
    - strcpy
    - factory_reset
    - stpcpy
    - change_name
    - agent_scd_checkpin
    linkageType: ''
    returnType: void
    signature: void card_edit (ctrl_t ctrl, strlist_t commands)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/g10/key-check.c:46,1
    - Dst: log_info
      Src: /src/gnupg/g10/key-check.c:50,1
    - Dst: tty_fprintf
      Src: /src/gnupg/g10/key-check.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - mode
    - prefix
    - text
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: print_info
    functionSourceFile: /src/gnupg/g10/key-check.c
    functionUses: 0
    functionsReached:
    - tty_fprintf
    - strchr
    - log_info
    linkageType: ''
    returnType: void
    signature: void print_info (int mode, const char *prefix, char *text)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/key-check.c:69,1
    - Dst: log_assert
      Src: /src/gnupg/g10/key-check.c:70,1
    - Dst: pubkey_get_nsig
      Src: /src/gnupg/g10/key-check.c:87,1
    - Dst: pubkey_get_nsig
      Src: /src/gnupg/g10/key-check.c:88,1
    - Dst: gcry_mpi_cmp
      Src: /src/gnupg/g10/key-check.c:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - av
    - bv
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 101
    functionName: sig_comparison
    functionSourceFile: /src/gnupg/g10/key-check.c
    functionUses: 0
    functionsReached:
    - pubkey_get_nsig
    - gcry_mpi_cmp
    - log_assert
    linkageType: ''
    returnType: int
    signature: int sig_comparison (const void *av, const void *bv)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/key-check.c:119,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/key-check.c:129,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/key-check.c:132,1
    - Dst: log_error
      Src: /src/gnupg/g10/key-check.c:133,1
    - Dst: _
      Src: /src/gnupg/g10/key-check.c:133,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/key-check.c:133,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/key-check.c:141,1
    - Dst: log_assert
      Src: /src/gnupg/g10/key-check.c:165,1
    - Dst: qsort
      Src: /src/gnupg/g10/key-check.c:167,1
    - Dst: log_assert
      Src: /src/gnupg/g10/key-check.c:172,1
    - Dst: log_assert
      Src: /src/gnupg/g10/key-check.c:173,1
    - Dst: log_assert
      Src: /src/gnupg/g10/key-check.c:174,1
    - Dst: log_assert
      Src: /src/gnupg/g10/key-check.c:175,1
    - Dst: sig_comparison
      Src: /src/gnupg/g10/key-check.c:177,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:184,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:186,1
    - Dst: keystr
      Src: /src/gnupg/g10/key-check.c:188,1
    - Dst: isotimestamp
      Src: /src/gnupg/g10/key-check.c:189,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/key-check.c:207,1
    - Dst: xfree
      Src: /src/gnupg/g10/key-check.c:218,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 3
    argNames:
    - kb
    - dups
    - modified
    argTypes:
    - kbnode_t
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 220
    functionName: remove_duplicate_sigs
    functionSourceFile: /src/gnupg/g10/key-check.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - log_assert
    - release_kbnode
    - _
    - isotimestamp
    - sig_comparison
    - is_deleted_kbnode
    - gpg_strerror
    - xfree
    - qsort
    - xtrycalloc
    - keystr
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t remove_duplicate_sigs (kbnode_t kb, int *dups, int *modified)
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/key-check.c:265,1
    - Dst: remove_duplicate_sigs
      Src: /src/gnupg/g10/key-check.c:269,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/key-check.c:288,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/key-check.c:295,1
    - Dst: xfree
      Src: /src/gnupg/g10/key-check.c:299,1
    - Dst: log_assert
      Src: /src/gnupg/g10/key-check.c:305,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:313,1
    - Dst: pk_keyid_str
      Src: /src/gnupg/g10/key-check.c:314,1
    - Dst: isotimestamp
      Src: /src/gnupg/g10/key-check.c:315,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:327,1
    - Dst: pk_keyid_str
      Src: /src/gnupg/g10/key-check.c:328,1
    - Dst: isotimestamp
      Src: /src/gnupg/g10/key-check.c:329,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:341,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/key-check.c:355,1
    - Dst: keystr
      Src: /src/gnupg/g10/key-check.c:358,1
    - Dst: isotimestamp
      Src: /src/gnupg/g10/key-check.c:359,1
    - Dst: keyid_cmp
      Src: /src/gnupg/g10/key-check.c:364,1
    - Dst: pk_keyid
      Src: /src/gnupg/g10/key-check.c:364,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/key-check.c:371,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/key-check.c:373,1
    - Dst: get_pubkey
      Src: /src/gnupg/g10/key-check.c:375,1
    - Dst: xfree
      Src: /src/gnupg/g10/key-check.c:378,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:383,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:384,1
    - Dst: keystr
      Src: /src/gnupg/g10/key-check.c:386,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/key-check.c:386,1
    - Dst: openpgp_pk_test_algo
      Src: /src/gnupg/g10/key-check.c:393,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:396,1
    - Dst: log_info
      Src: /src/gnupg/g10/key-check.c:397,1
    - Dst: _
      Src: /src/gnupg/g10/key-check.c:397,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/key-check.c:399,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/key-check.c:402,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:405,1
    - Dst: log_info
      Src: /src/gnupg/g10/key-check.c:406,1
    - Dst: _
      Src: /src/gnupg/g10/key-check.c:406,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/key-check.c:408,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/key-check.c:420,1
    - Dst: check_signature_over_key_or_uid
      Src: /src/gnupg/g10/key-check.c:427,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:443,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:444,1
    - Dst: log_assert
      Src: /src/gnupg/g10/key-check.c:451,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:457,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:458,1
    - Dst: pk_keyid_str
      Src: /src/gnupg/g10/key-check.c:468,1
    - Dst: log_assert
      Src: /src/gnupg/g10/key-check.c:475,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:491,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:492,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:551,1
    - Dst: print_utf8_buffer
      Src: /src/gnupg/g10/key-check.c:552,1
    - Dst: log_get_stream
      Src: /src/gnupg/g10/key-check.c:552,1
    - Dst: log_flush
      Src: /src/gnupg/g10/key-check.c:557,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:561,1
    - Dst: pk_keyid_str
      Src: /src/gnupg/g10/key-check.c:562,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:565,1
    - Dst: pk_keyid_str
      Src: /src/gnupg/g10/key-check.c:566,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:572,1
    - Dst: _
      Src: /src/gnupg/g10/key-check.c:572,1
    - Dst: keyedit_print_one_sig
      Src: /src/gnupg/g10/key-check.c:577,1
    - Dst: log_get_stream
      Src: /src/gnupg/g10/key-check.c:577,1
    - Dst: pubkey_get_nsig
      Src: /src/gnupg/g10/key-check.c:586,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/key-check.c:591,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/key-check.c:596,1
    - Dst: memcpy
      Src: /src/gnupg/g10/key-check.c:598,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/g10/key-check.c:601,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/key-check.c:604,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:605,1
    - Dst: xfree
      Src: /src/gnupg/g10/key-check.c:606,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-check.c:612,1
    - Dst: xfree
      Src: /src/gnupg/g10/key-check.c:617,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/key-check.c:621,1
    - Dst: remove_duplicate_sigs
      Src: /src/gnupg/g10/key-check.c:628,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/key-check.c:640,1
    - Dst: keyid_cmp
      Src: /src/gnupg/g10/key-check.c:665,1
    - Dst: pk_keyid
      Src: /src/gnupg/g10/key-check.c:665,1
    - Dst: snprintf
      Src: /src/gnupg/g10/key-check.c:709,1
    - Dst: _
      Src: /src/gnupg/g10/key-check.c:709,1
    - Dst: pk_keyid_str
      Src: /src/gnupg/g10/key-check.c:709,1
    - Dst: strrchr
      Src: /src/gnupg/g10/key-check.c:710,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/key-check.c:716,1
    - Dst: ngettext
      Src: /src/gnupg/g10/key-check.c:717,1
    - Dst: print_info
      Src: /src/gnupg/g10/key-check.c:719,1
    - Dst: xfree
      Src: /src/gnupg/g10/key-check.c:720,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/key-check.c:725,1
    - Dst: ngettext
      Src: /src/gnupg/g10/key-check.c:726,1
    - Dst: print_info
      Src: /src/gnupg/g10/key-check.c:729,1
    - Dst: xfree
      Src: /src/gnupg/g10/key-check.c:730,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/key-check.c:734,1
    - Dst: ngettext
      Src: /src/gnupg/g10/key-check.c:734,1
    - Dst: print_info
      Src: /src/gnupg/g10/key-check.c:737,1
    - Dst: xfree
      Src: /src/gnupg/g10/key-check.c:738,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/key-check.c:743,1
    - Dst: ngettext
      Src: /src/gnupg/g10/key-check.c:743,1
    - Dst: print_info
      Src: /src/gnupg/g10/key-check.c:746,1
    - Dst: xfree
      Src: /src/gnupg/g10/key-check.c:747,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/key-check.c:752,1
    - Dst: _
      Src: /src/gnupg/g10/key-check.c:753,1
    - Dst: print_info
      Src: /src/gnupg/g10/key-check.c:755,1
    - Dst: xfree
      Src: /src/gnupg/g10/key-check.c:756,1
    CyclomaticComplexity: 134
    EdgeCount: 134
    ICount: 256
    argCount: 5
    argNames:
    - ctrl
    - mode
    - kb
    - only_selected
    - only_selfsigs
    argTypes:
    - ctrl_t
    - int
    - kbnode_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 245
    functionDepth: 6
    functionLinenumber: 245
    functionLinenumberEnd: 761
    functionName: key_check_all_keysigs
    functionSourceFile: /src/gnupg/g10/key-check.c
    functionUses: 3
    functionsReached:
    - gcry_mpi_get_flag
    - pk_keyid_str
    - log_assert
    - pubkey_get_nsig
    - keyedit_print_one_sig
    - is_deleted_kbnode
    - xtryasprintf
    - print_utf8_buffer
    - log_get_stream
    - log_flush
    - memcpy
    - free_public_key
    - ngettext
    - check_signature_over_key_or_uid
    - isotimestamp
    - _
    - log_info
    - print_info
    - remove_duplicate_sigs
    - log_debug
    - get_pubkey
    - gpg_error_from_syserror
    - gcry_mpi_print
    - xfree
    - gpg_strerror
    - openpgp_pk_test_algo
    - xtrycalloc
    - keystr
    - gcry_mpi_get_opaque
    - bin2hex
    - snprintf
    - keyid_cmp
    - openpgp_md_test_algo
    - xasprintf
    - strrchr
    - pk_keyid
    linkageType: ''
    returnType: int
    signature: "int key_check_all_keysigs (ctrl_t ctrl, int mode, kbnode_t kb,\n                       int
      only_selected, int only_selfsigs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:97,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - inp
    argTypes:
    - IOBUF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: read_16
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - iobuf_get_noeof
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short read_16 (IOBUF inp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:108,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:109,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:110,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - inp
    argTypes:
    - IOBUF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: read_32
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - iobuf_get_noeof
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long read_32 (IOBUF inp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:142,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:147,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:153,1
    - Dst: gcry_xmalloc_secure
      Src: /src/gnupg/g10/parse-packet.c:158,1
    - Dst: gcry_xmalloc
      Src: /src/gnupg/g10/parse-packet.c:158,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:167,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/g10/parse-packet.c:175,1
    - Dst: gcry_free
      Src: /src/gnupg/g10/parse-packet.c:179,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:183,1
    - Dst: gcry_free
      Src: /src/gnupg/g10/parse-packet.c:186,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 3
    argNames:
    - inp
    - ret_nread
    - secure
    argTypes:
    - iobuf_t
    - unsigned int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 188
    functionName: mpi_read
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - log_error
    - iobuf_get
    - gcry_xmalloc
    - gcry_xmalloc_secure
    - gcry_mpi_scan
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t mpi_read (iobuf_t inp, unsigned int *ret_nread, int secure)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:218,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:228,1
    - Dst: iobuf_readbyte
      Src: /src/gnupg/g10/parse-packet.c:231,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:234,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:244,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:252,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:253,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:259,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:260,1
    - Dst: gcry_malloc_secure
      Src: /src/gnupg/g10/parse-packet.c:264,1
    - Dst: gcry_malloc
      Src: /src/gnupg/g10/parse-packet.c:264,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/parse-packet.c:267,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:273,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:276,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/g10/parse-packet.c:284,1
    - Dst: gcry_mpi_set_flag
      Src: /src/gnupg/g10/parse-packet.c:285,1
    - Dst: gcry_free
      Src: /src/gnupg/g10/parse-packet.c:289,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 66
    argCount: 6
    argNames:
    - inp
    - pktlen
    - nlength
    - nbytes
    - secure
    - r_data
    argTypes:
    - iobuf_t
    - unsigned long*
    - unsigned int
    - unsigned int
    - int
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 291
    functionName: read_octet_string
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - gcry_mpi_set_opaque
    - log_error
    - gpg_error_from_syserror
    - iobuf_get
    - gcry_malloc_secure
    - gpg_error
    - gcry_malloc
    - gcry_mpi_set_flag
    - iobuf_readbyte
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t read_octet_string (iobuf_t inp, unsigned long *pktlen,\n
      \                  unsigned int nlength, unsigned int nbytes,\n                   int
      secure, gcry_mpi_t *r_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:319,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:324,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:330,1
    - Dst: gcry_xmalloc_secure
      Src: /src/gnupg/g10/parse-packet.c:335,1
    - Dst: gcry_xmalloc
      Src: /src/gnupg/g10/parse-packet.c:335,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:342,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/g10/parse-packet.c:350,1
    - Dst: gcry_mpi_set_flag
      Src: /src/gnupg/g10/parse-packet.c:351,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:356,1
    - Dst: gcry_free
      Src: /src/gnupg/g10/parse-packet.c:359,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 3
    argNames:
    - inp
    - ret_nread
    - secure
    argTypes:
    - iobuf_t
    - unsigned int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 361
    functionName: sos_read
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - gcry_mpi_set_opaque
    - log_error
    - iobuf_get
    - gcry_xmalloc
    - gcry_xmalloc_secure
    - gcry_mpi_set_flag
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t sos_read (iobuf_t inp, unsigned int *ret_nread, int secure)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/parse-packet.c:372,1
    - Dst: strlist_find
      Src: /src/gnupg/g10/parse-packet.c:384,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/parse-packet.c:387,1
    - Dst: strlen
      Src: /src/gnupg/g10/parse-packet.c:388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 389
    functionName: register_known_notation
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - strlist_find
    - add_to_strlist
    - strlen
    linkageType: ''
    returnType: void
    signature: void register_known_notation (const char *string)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 430
    functionName: set_packet_list_mode
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_packet_list_mode (int mode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pubkey_get_npkey
      Src: /src/gnupg/g10/parse-packet.c:442,1
    - Dst: pubkey_get_nsig
      Src: /src/gnupg/g10/parse-packet.c:446,1
    - Dst: log_info
      Src: /src/gnupg/g10/parse-packet.c:447,1
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/parse-packet.c:448,1
    - Dst: pubkey_get_nenc
      Src: /src/gnupg/g10/parse-packet.c:449,1
    - Dst: log_info
      Src: /src/gnupg/g10/parse-packet.c:450,1
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/parse-packet.c:451,1
    - Dst: log_info
      Src: /src/gnupg/g10/parse-packet.c:460,1
    - Dst: _
      Src: /src/gnupg/g10/parse-packet.c:460,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 464
    functionName: unknown_pubkey_warning
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - pubkey_get_nsig
    - pubkey_get_npkey
    - _
    - log_info
    - openpgp_pk_algo_name
    - pubkey_get_nenc
    linkageType: ''
    returnType: void
    signature: void unknown_pubkey_warning (int algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse
      Src: /src/gnupg/g10/parse-packet.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - pkt
    - dbg_f
    - dbg_l
    argTypes:
    - parse_packet_ctx_t
    - PACKET*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 480
    functionName: dbg_parse_packet
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - parse
    linkageType: ''
    returnType: int
    signature: "int dbg_parse_packet (parse_packet_ctx_t ctx, PACKET *pkt,\n                  const
      char *dbg_f, int dbg_l)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse
      Src: /src/gnupg/g10/parse-packet.c:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - pkt
    argTypes:
    - parse_packet_ctx_t
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 493
    functionName: parse_packet
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 5
    functionsReached:
    - parse
    linkageType: ''
    returnType: int
    signature: int parse_packet (parse_packet_ctx_t ctx, PACKET *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse
      Src: /src/gnupg/g10/parse-packet.c:511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 6
    argNames:
    - ctx
    - pkt
    - retpos
    - with_uid
    - dbg_f
    - dbg_l
    argTypes:
    - parse_packet_ctx_t
    - PACKET*
    - off_t*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 516
    functionName: dbg_search_packet
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - parse
    linkageType: ''
    returnType: int
    signature: "int dbg_search_packet (parse_packet_ctx_t ctx, PACKET *pkt,\n                   off_t
      * retpos, int with_uid,\n\t\t   const char *dbg_f, int dbg_l)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse
      Src: /src/gnupg/g10/parse-packet.c:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - pkt
    - retpos
    - with_uid
    argTypes:
    - parse_packet_ctx_t
    - PACKET*
    - off_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 530
    functionName: search_packet
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - parse
    linkageType: ''
    returnType: int
    signature: "int search_packet (parse_packet_ctx_t ctx, PACKET *pkt,\n               off_t
      * retpos, int with_uid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/gnupg/g10/parse-packet.c:546,1
    - Dst: init_parse_packet
      Src: /src/gnupg/g10/parse-packet.c:548,1
    - Dst: init_packet
      Src: /src/gnupg/g10/parse-packet.c:552,1
    - Dst: parse
      Src: /src/gnupg/g10/parse-packet.c:556,1
    - Dst: deinit_parse_packet
      Src: /src/gnupg/g10/parse-packet.c:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - inp
    - out
    - dbg_f
    - dbg_l
    argTypes:
    - iobuf_t
    - iobuf_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 562
    functionName: dbg_copy_all_packets
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - deinit_parse_packet
    - log_bug
    - init_packet
    - init_parse_packet
    - parse
    linkageType: ''
    returnType: int
    signature: int dbg_copy_all_packets (iobuf_t inp, iobuf_t out, const char *dbg_f,
      int dbg_l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/gnupg/g10/parse-packet.c:572,1
    - Dst: init_parse_packet
      Src: /src/gnupg/g10/parse-packet.c:574,1
    - Dst: init_packet
      Src: /src/gnupg/g10/parse-packet.c:578,1
    - Dst: parse
      Src: /src/gnupg/g10/parse-packet.c:580,1
    - Dst: deinit_parse_packet
      Src: /src/gnupg/g10/parse-packet.c:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - inp
    - out
    argTypes:
    - iobuf_t
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 585
    functionName: copy_all_packets
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - deinit_parse_packet
    - log_bug
    - init_packet
    - init_parse_packet
    - parse
    linkageType: ''
    returnType: int
    signature: int copy_all_packets (iobuf_t inp, iobuf_t out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_parse_packet
      Src: /src/gnupg/g10/parse-packet.c:604,1
    - Dst: iobuf_tell
      Src: /src/gnupg/g10/parse-packet.c:608,1
    - Dst: deinit_parse_packet
      Src: /src/gnupg/g10/parse-packet.c:610,1
    - Dst: init_packet
      Src: /src/gnupg/g10/parse-packet.c:613,1
    - Dst: parse
      Src: /src/gnupg/g10/parse-packet.c:615,1
    - Dst: deinit_parse_packet
      Src: /src/gnupg/g10/parse-packet.c:618,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - inp
    - out
    - stopoff
    - dbg_f
    - dbg_l
    argTypes:
    - iobuf_t
    - iobuf_t
    - off_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 621
    functionName: dbg_copy_some_packets
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - deinit_parse_packet
    - iobuf_tell
    - init_packet
    - init_parse_packet
    - parse
    linkageType: ''
    returnType: int
    signature: "int dbg_copy_some_packets (iobuf_t inp, iobuf_t out, off_t stopoff,\n\t\t
      \      const char *dbg_f, int dbg_l)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_parse_packet
      Src: /src/gnupg/g10/parse-packet.c:631,1
    - Dst: iobuf_tell
      Src: /src/gnupg/g10/parse-packet.c:635,1
    - Dst: deinit_parse_packet
      Src: /src/gnupg/g10/parse-packet.c:637,1
    - Dst: init_packet
      Src: /src/gnupg/g10/parse-packet.c:640,1
    - Dst: parse
      Src: /src/gnupg/g10/parse-packet.c:642,1
    - Dst: deinit_parse_packet
      Src: /src/gnupg/g10/parse-packet.c:644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - inp
    - out
    - stopoff
    argTypes:
    - iobuf_t
    - iobuf_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 647
    functionName: copy_some_packets
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - deinit_parse_packet
    - iobuf_tell
    - init_packet
    - init_parse_packet
    - parse
    linkageType: ''
    returnType: int
    signature: int copy_some_packets (iobuf_t inp, iobuf_t out, off_t stopoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_parse_packet
      Src: /src/gnupg/g10/parse-packet.c:663,1
    - Dst: init_packet
      Src: /src/gnupg/g10/parse-packet.c:667,1
    - Dst: parse
      Src: /src/gnupg/g10/parse-packet.c:668,1
    - Dst: deinit_parse_packet
      Src: /src/gnupg/g10/parse-packet.c:672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - inp
    - n
    - dbg_f
    - dbg_l
    argTypes:
    - iobuf_t
    - unsigned
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 675
    functionName: dbg_skip_some_packets
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - deinit_parse_packet
    - init_packet
    - parse
    - init_parse_packet
    linkageType: ''
    returnType: int
    signature: int dbg_skip_some_packets (iobuf_t inp, unsigned n, const char *dbg_f,
      int dbg_l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_parse_packet
      Src: /src/gnupg/g10/parse-packet.c:685,1
    - Dst: init_packet
      Src: /src/gnupg/g10/parse-packet.c:689,1
    - Dst: parse
      Src: /src/gnupg/g10/parse-packet.c:690,1
    - Dst: deinit_parse_packet
      Src: /src/gnupg/g10/parse-packet.c:693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - inp
    - n
    argTypes:
    - iobuf_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 696
    functionName: skip_some_packets
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - deinit_parse_packet
    - init_packet
    - parse
    - init_parse_packet
    linkageType: ''
    returnType: int
    signature: int skip_some_packets (iobuf_t inp, unsigned int n)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/parse-packet.c:749,1
    - Dst: iobuf_tell
      Src: /src/gnupg/g10/parse-packet.c:752,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:761,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:772,1
    - Dst: iobuf_where
      Src: /src/gnupg/g10/parse-packet.c:772,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:773,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:794,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:804,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:806,1
    - Dst: iobuf_where
      Src: /src/gnupg/g10/parse-packet.c:806,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:807,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:818,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:820,1
    - Dst: iobuf_where
      Src: /src/gnupg/g10/parse-packet.c:821,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:822,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:835,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:837,1
    - Dst: iobuf_where
      Src: /src/gnupg/g10/parse-packet.c:837,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:838,1
    - Dst: buf32_to_ulong
      Src: /src/gnupg/g10/parse-packet.c:844,1
    - Dst: iobuf_set_partial_body_length_mode
      Src: /src/gnupg/g10/parse-packet.c:855,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:861,1
    - Dst: iobuf_where
      Src: /src/gnupg/g10/parse-packet.c:862,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:863,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:883,1
    - Dst: iobuf_where
      Src: /src/gnupg/g10/parse-packet.c:884,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:885,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:894,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:897,1
    - Dst: iobuf_where
      Src: /src/gnupg/g10/parse-packet.c:897,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:898,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:918,1
    - Dst: iobuf_where
      Src: /src/gnupg/g10/parse-packet.c:918,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/parse-packet.c:919,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:930,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:931,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/parse-packet.c:935,1
    - Dst: copy_packet
      Src: /src/gnupg/g10/parse-packet.c:937,1
    - Dst: iobuf_skip_rest
      Src: /src/gnupg/g10/parse-packet.c:953,1
    - Dst: log_debug
      Src: /src/gnupg/g10/parse-packet.c:962,1
    - Dst: iobuf_id
      Src: /src/gnupg/g10/parse-packet.c:963,1
    - Dst: log_debug
      Src: /src/gnupg/g10/parse-packet.c:966,1
    - Dst: iobuf_id
      Src: /src/gnupg/g10/parse-packet.c:967,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:973,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/parse-packet.c:989,1
    - Dst: parse_key
      Src: /src/gnupg/g10/parse-packet.c:990,1
    - Dst: parse_symkeyenc
      Src: /src/gnupg/g10/parse-packet.c:993,1
    - Dst: parse_pubkeyenc
      Src: /src/gnupg/g10/parse-packet.c:996,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/parse-packet.c:999,1
    - Dst: parse_signature
      Src: /src/gnupg/g10/parse-packet.c:1000,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/parse-packet.c:1003,1
    - Dst: parse_onepass_sig
      Src: /src/gnupg/g10/parse-packet.c:1004,1
    - Dst: parse_user_id
      Src: /src/gnupg/g10/parse-packet.c:1007,1
    - Dst: parse_attribute
      Src: /src/gnupg/g10/parse-packet.c:1011,1
    - Dst: parse_comment
      Src: /src/gnupg/g10/parse-packet.c:1015,1
    - Dst: parse_ring_trust
      Src: /src/gnupg/g10/parse-packet.c:1019,1
    - Dst: parse_plaintext
      Src: /src/gnupg/g10/parse-packet.c:1025,1
    - Dst: parse_compressed
      Src: /src/gnupg/g10/parse-packet.c:1028,1
    - Dst: parse_encrypted
      Src: /src/gnupg/g10/parse-packet.c:1032,1
    - Dst: parse_mdc
      Src: /src/gnupg/g10/parse-packet.c:1035,1
    - Dst: parse_encrypted_aead
      Src: /src/gnupg/g10/parse-packet.c:1038,1
    - Dst: parse_gpg_control
      Src: /src/gnupg/g10/parse-packet.c:1041,1
    - Dst: parse_marker
      Src: /src/gnupg/g10/parse-packet.c:1044,1
    - Dst: skip_packet
      Src: /src/gnupg/g10/parse-packet.c:1048,1
    - Dst: free_packet
      Src: /src/gnupg/g10/parse-packet.c:1053,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/parse-packet.c:1065,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/parse-packet.c:1071,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 221
    argCount: 10
    argNames:
    - ctx
    - pkt
    - onlykeypkts
    - retpos
    - skip
    - out
    - do_skip
    - dbg_w
    - dbg_f
    - dbg_l
    argTypes:
    - parse_packet_ctx_t
    - PACKET*
    - int
    - off_t*
    - int*
    - IOBUF
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 1072
    functionName: parse
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 37
    functionsReached:
    - es_fprintf
    - iobuf_tell
    - parse_ring_trust
    - log_assert
    - iobuf_skip_rest
    - parse_pubkeyenc
    - parse_marker
    - parse_compressed
    - iobuf_where
    - free_packet
    - iobuf_error
    - parse_user_id
    - parse_plaintext
    - parse_mdc
    - log_error
    - parse_attribute
    - parse_symkeyenc
    - parse_encrypted
    - parse_onepass_sig
    - g10_exit
    - iobuf_write
    - parse_gpg_control
    - log_debug
    - iobuf_get
    - parse_signature
    - gpg_error
    - copy_packet
    - parse_key
    - buf32_to_ulong
    - iobuf_set_partial_body_length_mode
    - parse_comment
    - gpg_err_code
    - parse_encrypted_aead
    - iobuf_id
    - xmalloc_clear
    - skip_packet
    linkageType: ''
    returnType: int
    signature: "int parse (parse_packet_ctx_t ctx, PACKET *pkt, int onlykeypkts, off_t
      * retpos,\n       int *skip, IOBUF out, int do_skip\n#if DEBUG_PARSE_PACKET\n
      \      , const char *dbg_w, const char *dbg_f, int dbg_l\n#endif\n       )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1081,1
    - Dst: es_putc
      Src: /src/gnupg/g10/parse-packet.c:1083,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1086,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1088,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - c
    - i
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1090
    functionName: dump_hex_line
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - es_putc
    linkageType: ''
    returnType: void
    signature: void dump_hex_line (int c, int *i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_read
      Src: /src/gnupg/g10/parse-packet.c:1117,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/parse-packet.c:1118,1
    - Dst: log_debug
      Src: /src/gnupg/g10/parse-packet.c:1123,1
    - Dst: iobuf_read
      Src: /src/gnupg/g10/parse-packet.c:1125,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/parse-packet.c:1126,1
    - Dst: iobuf_read
      Src: /src/gnupg/g10/parse-packet.c:1134,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:1136,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/parse-packet.c:1137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - inp
    - out
    - pkttype
    - pktlen
    - partial
    argTypes:
    - IOBUF
    - IOBUF
    - int
    - unsigned long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1142
    functionName: copy_packet
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - iobuf_read
    - iobuf_write
    - log_debug
    linkageType: ''
    returnType: int
    signature: "int copy_packet (IOBUF inp, IOBUF out, int pkttype,\n\t     unsigned
      long pktlen, int partial)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1153,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1158,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:1161,1
    - Dst: dump_hex_line
      Src: /src/gnupg/g10/parse-packet.c:1162,1
    - Dst: dump_hex_line
      Src: /src/gnupg/g10/parse-packet.c:1168,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:1168,1
    - Dst: es_putc
      Src: /src/gnupg/g10/parse-packet.c:1173,1
    - Dst: iobuf_skip_rest
      Src: /src/gnupg/g10/parse-packet.c:1177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - inp
    - pkttype
    - pktlen
    - partial
    argTypes:
    - IOBUF
    - int
    - unsigned long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1178
    functionName: skip_packet
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - es_fprintf
    - iobuf_skip_rest
    - dump_hex_line
    - iobuf_get
    - es_putc
    - es_fputs
    linkageType: ''
    returnType: void
    signature: void skip_packet (IOBUF inp, int pkttype, unsigned long pktlen, int
      partial)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/parse-packet.c:1191,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/parse-packet.c:1194,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:1195,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/parse-packet.c:1195,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:1200,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:1203,1
    - Dst: xfree
      Src: /src/gnupg/g10/parse-packet.c:1204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - inp
    - pktlen
    argTypes:
    - IOBUF
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1211
    functionName: read_rest
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - iobuf_get
    - gpg_strerror
    - xfree
    - xtrymalloc
    linkageType: ''
    returnType: void
    signature: 'void *

      read_rest (IOBUF inp, size_t pktlen)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:1229,1
    - Dst: iobuf_readbyte
      Src: /src/gnupg/g10/parse-packet.c:1230,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:1232,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:1236,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:1238,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:1244,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:1246,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/parse-packet.c:1251,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/parse-packet.c:1253,1
    - Dst: memcpy
      Src: /src/gnupg/g10/parse-packet.c:1254,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/g10/parse-packet.c:1255,1
    - Dst: xfree
      Src: /src/gnupg/g10/parse-packet.c:1258,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/parse-packet.c:1259,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - inp
    - pktlen
    - r_data
    argTypes:
    - iobuf_t
    - unsigned long*
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1219
    functionDepth: 1
    functionLinenumber: 1219
    functionLinenumberEnd: 1262
    functionName: read_sized_octet_string
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_set_opaque
    - gpg_error_from_syserror
    - iobuf_readbyte
    - iobuf_get
    - gpg_error
    - xfree
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_sized_octet_string (iobuf_t inp, unsigned long *pktlen,
      gcry_mpi_t *r_data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:1274,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:1280,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:1286,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1293,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:1298,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1300,1
    - Dst: iobuf_skip_rest
      Src: /src/gnupg/g10/parse-packet.c:1301,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - inp
    - pkttype
    - pktlen
    argTypes:
    - IOBUF
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1303
    functionName: parse_marker
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - es_fputs
    - iobuf_skip_rest
    - iobuf_get
    - log_error
    linkageType: ''
    returnType: int
    signature: int parse_marker (IOBUF inp, int pkttype, unsigned long pktlen)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:1316,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:1324,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1326,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:1327,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:1332,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1334,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:1335,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:1338,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:1342,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:1349,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:1351,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:1365,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1367,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:1372,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1374,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:1375,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/parse-packet.c:1379,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:1388,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:1392,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/parse-packet.c:1398,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:1400,1
    - Dst: log_info
      Src: /src/gnupg/g10/parse-packet.c:1406,1
    - Dst: _
      Src: /src/gnupg/g10/parse-packet.c:1406,1
    - Dst: log_assert
      Src: /src/gnupg/g10/parse-packet.c:1409,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1413,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1424,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1426,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1428,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1431,1
    - Dst: es_write_hexstring
      Src: /src/gnupg/g10/parse-packet.c:1432,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1434,1
    - Dst: S2K_DECODE_COUNT
      Src: /src/gnupg/g10/parse-packet.c:1435,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1437,1
    - Dst: iobuf_skip_rest
      Src: /src/gnupg/g10/parse-packet.c:1442,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:1446,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1448,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:1449,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 116
    argCount: 4
    argNames:
    - inp
    - pkttype
    - pktlen
    - packet
    argTypes:
    - IOBUF
    - int
    - unsigned long
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1451
    functionName: parse_symkeyenc
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - S2K_DECODE_COUNT
    - iobuf_get_noeof
    - es_fprintf
    - es_write_hexstring
    - log_error
    - log_assert
    - iobuf_skip_rest
    - _
    - xcalloc
    - gpg_error
    - log_info
    - xmalloc_clear
    linkageType: ''
    returnType: int
    signature: "int parse_symkeyenc (IOBUF inp, int pkttype, unsigned long pktlen,\n\t\t
      PACKET * packet)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/parse-packet.c:1464,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:1467,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1469,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:1470,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:1473,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:1477,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1479,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:1480,1
    - Dst: read_32
      Src: /src/gnupg/g10/parse-packet.c:1483,1
    - Dst: read_32
      Src: /src/gnupg/g10/parse-packet.c:1485,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:1487,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1491,1
    - Dst: pubkey_get_nenc
      Src: /src/gnupg/g10/parse-packet.c:1496,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1500,1
    - Dst: unknown_pubkey_warning
      Src: /src/gnupg/g10/parse-packet.c:1501,1
    - Dst: log_assert
      Src: /src/gnupg/g10/parse-packet.c:1506,1
    - Dst: sos_read
      Src: /src/gnupg/g10/parse-packet.c:1509,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:1513,1
    - Dst: read_sized_octet_string
      Src: /src/gnupg/g10/parse-packet.c:1517,1
    - Dst: log_assert
      Src: /src/gnupg/g10/parse-packet.c:1523,1
    - Dst: sos_read
      Src: /src/gnupg/g10/parse-packet.c:1526,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:1530,1
    - Dst: read_octet_string
      Src: /src/gnupg/g10/parse-packet.c:1534,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:1540,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:1543,1
    - Dst: read_octet_string
      Src: /src/gnupg/g10/parse-packet.c:1546,1
    - Dst: mpi_read
      Src: /src/gnupg/g10/parse-packet.c:1555,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:1558,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1566,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1569,1
    - Dst: mpi_print
      Src: /src/gnupg/g10/parse-packet.c:1570,1
    - Dst: es_putc
      Src: /src/gnupg/g10/parse-packet.c:1571,1
    - Dst: iobuf_skip_rest
      Src: /src/gnupg/g10/parse-packet.c:1577,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 101
    argCount: 4
    argNames:
    - inp
    - pkttype
    - pktlen
    - packet
    argTypes:
    - IOBUF
    - int
    - unsigned long
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1455
    functionDepth: 2
    functionLinenumber: 1455
    functionLinenumberEnd: 1579
    functionName: parse_pubkeyenc
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - read_32
    - iobuf_get_noeof
    - es_fprintf
    - unknown_pubkey_warning
    - sos_read
    - log_error
    - log_assert
    - iobuf_skip_rest
    - es_putc
    - mpi_read
    - gpg_error
    - xmalloc_clear
    - mpi_print
    - read_sized_octet_string
    - es_fputs
    - pubkey_get_nenc
    - read_octet_string
    linkageType: ''
    returnType: int
    signature: "int parse_pubkeyenc (IOBUF inp, int pkttype, unsigned long pktlen,\n\t\t
      PACKET * packet)"
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1603,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1614,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1621,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1628,1
    - Dst: strtimestamp
      Src: /src/gnupg/g10/parse-packet.c:1629,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/parse-packet.c:1629,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/parse-packet.c:1634,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1635,1
    - Dst: strtimevalue
      Src: /src/gnupg/g10/parse-packet.c:1636,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/parse-packet.c:1636,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1638,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1643,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1649,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1657,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/parse-packet.c:1658,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1664,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/parse-packet.c:1669,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1670,1
    - Dst: strtimevalue
      Src: /src/gnupg/g10/parse-packet.c:1671,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/parse-packet.c:1671,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1673,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1677,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1679,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1682,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1684,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1687,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1692,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1694,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1699,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/parse-packet.c:1700,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/parse-packet.c:1701,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1707,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/parse-packet.c:1708,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1711,1
    - Dst: xfree
      Src: /src/gnupg/g10/parse-packet.c:1712,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1720,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/parse-packet.c:1722,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1725,1
    - Dst: xfree
      Src: /src/gnupg/g10/parse-packet.c:1726,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1732,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/parse-packet.c:1747,1
    - Dst: es_putc
      Src: /src/gnupg/g10/parse-packet.c:1748,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/parse-packet.c:1751,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1759,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1761,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1764,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1766,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1769,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1771,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1774,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/parse-packet.c:1775,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1781,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/parse-packet.c:1782,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1785,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1787,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1795,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/parse-packet.c:1796,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1801,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1806,1
    - Dst: es_write_hexstring
      Src: /src/gnupg/g10/parse-packet.c:1808,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1812,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1814,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1817,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1821,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1832,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/g10/parse-packet.c:1833,1
    - Dst: map_md_openpgp_to_gcry
      Src: /src/gnupg/g10/parse-packet.c:1833,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1840,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1843,1
    - Dst: es_write_hexstring
      Src: /src/gnupg/g10/parse-packet.c:1844,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:1853,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1865,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:1878,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 208
    argCount: 7
    argNames:
    - hashed
    - type
    - critical
    - buffer
    - buflen
    - length
    - digest_algo
    argTypes:
    - int
    - int
    - int
    - byte*
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1879
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1879
    functionName: dump_sig_subpkt
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - strtimevalue
    - es_fprintf
    - es_write_hexstring
    - es_write_sanitized
    - bin2hex
    - gcry_md_get_algo_dlen
    - es_putc
    - strtimestamp
    - xfree
    - buf32_to_u32
    - map_md_openpgp_to_gcry
    - es_fputs
    linkageType: ''
    returnType: void
    signature: "void dump_sig_subpkt (int hashed, int type, int critical,\n\t\t const
      byte * buffer, size_t buflen, size_t length,\n                 int digest_algo)"
  - BBCount: 37
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 3
    argNames:
    - buffer
    - n
    - type
    argTypes:
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1887
    functionDepth: 0
    functionLinenumber: 1887
    functionLinenumberEnd: 1956
    functionName: parse_one_sig_subpkt
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parse_one_sig_subpkt (const byte * buffer, size_t n, int type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: register_known_notation
      Src: /src/gnupg/g10/parse-packet.c:1965,1
    - Dst: memcmp
      Src: /src/gnupg/g10/parse-packet.c:1968,1
    - Dst: log_info
      Src: /src/gnupg/g10/parse-packet.c:1973,1
    - Dst: _
      Src: /src/gnupg/g10/parse-packet.c:1973,1
    - Dst: print_utf8_buffer
      Src: /src/gnupg/g10/parse-packet.c:1974,1
    - Dst: log_get_stream
      Src: /src/gnupg/g10/parse-packet.c:1974,1
    - Dst: log_printf
      Src: /src/gnupg/g10/parse-packet.c:1975,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1960
    functionDepth: 2
    functionLinenumber: 1960
    functionLinenumberEnd: 1979
    functionName: can_handle_critical_notation
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - _
    - memcmp
    - log_info
    - print_utf8_buffer
    - log_get_stream
    - register_known_notation
    - log_printf
    linkageType: ''
    returnType: int
    signature: int can_handle_critical_notation (const byte *name, size_t len)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: can_handle_critical_notation
      Src: /src/gnupg/g10/parse-packet.c:1992,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 3
    argNames:
    - buffer
    - n
    - type
    argTypes:
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 1982
    functionDepth: 3
    functionLinenumber: 1982
    functionLinenumberEnd: 2029
    functionName: can_handle_critical
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - can_handle_critical_notation
    linkageType: ''
    returnType: int
    signature: int can_handle_critical (const byte * buffer, size_t n, int type)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: buf32_to_size_t
      Src: /src/gnupg/g10/parse-packet.c:2066,1
    - Dst: can_handle_critical
      Src: /src/gnupg/g10/parse-packet.c:2098,1
    - Dst: log_info
      Src: /src/gnupg/g10/parse-packet.c:2101,1
    - Dst: _
      Src: /src/gnupg/g10/parse-packet.c:2101,1
    - Dst: dump_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2110,1
    - Dst: parse_one_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2120,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:2124,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/parse-packet.c:2153,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/parse-packet.c:2154,1
    - Dst: log_info
      Src: /src/gnupg/g10/parse-packet.c:2165,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 103
    argCount: 6
    argNames:
    - sig
    - want_hashed
    - reqtype
    - ret_n
    - start
    - critical
    argTypes:
    - PKT_signature*
    - int
    - sigsubpkttype_t
    - size_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 2032
    functionDepth: 4
    functionLinenumber: 2032
    functionLinenumberEnd: 2169
    functionName: enum_sig_subpkt
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 10
    functionsReached:
    - log_printhex
    - log_error
    - _
    - parse_one_sig_subpkt
    - log_info
    - buf32_to_size_t
    - dump_sig_subpkt
    - es_fflush
    - can_handle_critical
    linkageType: ''
    returnType: byte
    signature: "byte *\nenum_sig_subpkt (PKT_signature *sig, int want_hashed, sigsubpkttype_t
      reqtype,\n\t\t size_t *ret_n, int *start, int *critical)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sig
    - want_hashed
    - reqtype
    - ret_n
    argTypes:
    - PKT_signature*
    - int
    - sigsubpkttype_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2172
    functionDepth: 5
    functionLinenumber: 2172
    functionLinenumberEnd: 2177
    functionName: parse_sig_subpkt
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 11
    functionsReached:
    - enum_sig_subpkt
    linkageType: ''
    returnType: byte
    signature: "byte *\nparse_sig_subpkt (PKT_signature *sig, int want_hashed, sigsubpkttype_t
      reqtype,\n\t\t  size_t *ret_n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2185,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sig
    - reqtype
    argTypes:
    - PKT_signature*
    - sigsubpkttype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 2180
    functionDepth: 6
    functionLinenumber: 2180
    functionLinenumberEnd: 2189
    functionName: parse_sig_subpkt2
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - parse_sig_subpkt
    linkageType: ''
    returnType: byte
    signature: 'byte *

      parse_sig_subpkt2 (PKT_signature *sig, sigsubpkttype_t reqtype)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enum_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2203,1
    - Dst: xrealloc
      Src: /src/gnupg/g10/parse-packet.c:2212,1
    - Dst: memcpy
      Src: /src/gnupg/g10/parse-packet.c:2220,1
    - Dst: memset
      Src: /src/gnupg/g10/parse-packet.c:2221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - sig
    argTypes:
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2193
    functionDepth: 5
    functionLinenumber: 2193
    functionLinenumberEnd: 2226
    functionName: parse_revkeys
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 0
    functionsReached:
    - xrealloc
    - memset
    - enum_sig_subpkt
    - memcpy
    linkageType: ''
    returnType: void
    signature: void parse_revkeys (PKT_signature * sig)
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:2245,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:2247,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2250,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:2256,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:2259,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:2260,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2268,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2273,1
    - Dst: read_32
      Src: /src/gnupg/g10/parse-packet.c:2279,1
    - Dst: read_32
      Src: /src/gnupg/g10/parse-packet.c:2281,1
    - Dst: read_32
      Src: /src/gnupg/g10/parse-packet.c:2283,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2288,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2290,1
    - Dst: read_16
      Src: /src/gnupg/g10/parse-packet.c:2298,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:2304,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2306,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/parse-packet.c:2313,1
    - Dst: iobuf_read
      Src: /src/gnupg/g10/parse-packet.c:2316,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:2318,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:2321,1
    - Dst: read_16
      Src: /src/gnupg/g10/parse-packet.c:2329,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:2335,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2337,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/parse-packet.c:2345,1
    - Dst: iobuf_read
      Src: /src/gnupg/g10/parse-packet.c:2348,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:2350,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:2353,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2363,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2365,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2375,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2376,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2379,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/parse-packet.c:2381,1
    - Dst: log_info
      Src: /src/gnupg/g10/parse-packet.c:2384,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2389,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/parse-packet.c:2392,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/parse-packet.c:2393,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/parse-packet.c:2397,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/parse-packet.c:2398,1
    - Dst: parse_sig_subpkt2
      Src: /src/gnupg/g10/parse-packet.c:2400,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/parse-packet.c:2402,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/parse-packet.c:2403,1
    - Dst: log_info
      Src: /src/gnupg/g10/parse-packet.c:2407,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2410,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/parse-packet.c:2413,1
    - Dst: memcpy
      Src: /src/gnupg/g10/parse-packet.c:2416,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/parse-packet.c:2420,1
    - Dst: memcpy
      Src: /src/gnupg/g10/parse-packet.c:2423,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2430,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/parse-packet.c:2431,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/parse-packet.c:2432,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/parse-packet.c:2433,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2436,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2440,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2444,1
    - Dst: try_make_printable_string
      Src: /src/gnupg/g10/parse-packet.c:2449,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/parse-packet.c:2452,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/g10/parse-packet.c:2455,1
    - Dst: xfree
      Src: /src/gnupg/g10/parse-packet.c:2458,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2463,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2467,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2471,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2475,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2484,1
    - Dst: parse_sig_subpkt2
      Src: /src/gnupg/g10/parse-packet.c:2497,1
    - Dst: parse_revkeys
      Src: /src/gnupg/g10/parse-packet.c:2503,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2508,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2517,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/parse-packet.c:2518,1
    - Dst: pubkey_get_nsig
      Src: /src/gnupg/g10/parse-packet.c:2522,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2526,1
    - Dst: unknown_pubkey_warning
      Src: /src/gnupg/g10/parse-packet.c:2527,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:2535,1
    - Dst: read_rest
      Src: /src/gnupg/g10/parse-packet.c:2542,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/g10/parse-packet.c:2543,1
    - Dst: sos_read
      Src: /src/gnupg/g10/parse-packet.c:2554,1
    - Dst: mpi_read
      Src: /src/gnupg/g10/parse-packet.c:2556,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2560,1
    - Dst: mpi_print
      Src: /src/gnupg/g10/parse-packet.c:2561,1
    - Dst: es_putc
      Src: /src/gnupg/g10/parse-packet.c:2562,1
    - Dst: iobuf_skip_rest
      Src: /src/gnupg/g10/parse-packet.c:2570,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:2574,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:2576,1
    - Dst: iobuf_skip_rest
      Src: /src/gnupg/g10/parse-packet.c:2578,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 252
    argCount: 4
    argNames:
    - inp
    - pkttype
    - pktlen
    - sig
    argTypes:
    - IOBUF
    - int
    - unsigned long
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2581
      start: 2233
    functionDepth: 7
    functionLinenumber: 2233
    functionLinenumberEnd: 2581
    functionName: parse_signature
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 2
    functionsReached:
    - read_32
    - es_fprintf
    - unknown_pubkey_warning
    - iobuf_skip_rest
    - pubkey_get_nsig
    - parse_sig_subpkt
    - xmalloc
    - memcpy
    - gcry_mpi_set_opaque
    - read_16
    - log_error
    - try_make_printable_string
    - es_putc
    - log_info
    - mpi_print
    - iobuf_get_noeof
    - gpg_error_from_syserror
    - parse_revkeys
    - gpg_error
    - xfree
    - es_fputs
    - mailbox_from_userid
    - read_rest
    - sos_read
    - parse_sig_subpkt2
    - iobuf_read
    - make_timestamp
    - buf32_to_u32
    - xmalloc_clear
    - mpi_read
    linkageType: ''
    returnType: int
    signature: "int parse_signature (IOBUF inp, int pkttype, unsigned long pktlen,\n\t\t
      PKT_signature * sig)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:2593,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:2595,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:2596,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2599,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:2603,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:2605,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:2606,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2609,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2611,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2613,1
    - Dst: read_32
      Src: /src/gnupg/g10/parse-packet.c:2615,1
    - Dst: read_32
      Src: /src/gnupg/g10/parse-packet.c:2617,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2619,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2622,1
    - Dst: iobuf_skip_rest
      Src: /src/gnupg/g10/parse-packet.c:2632,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 4
    argNames:
    - inp
    - pkttype
    - pktlen
    - ops
    argTypes:
    - IOBUF
    - int
    - unsigned long
    - PKT_onepass_sig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2634
      start: 2584
    functionDepth: 2
    functionLinenumber: 2584
    functionLinenumberEnd: 2634
    functionName: parse_onepass_sig
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - read_32
    - iobuf_get_noeof
    - es_fprintf
    - log_error
    - iobuf_skip_rest
    - gpg_error
    - es_fputs
    linkageType: ''
    returnType: int
    signature: "int parse_onepass_sig (IOBUF inp, int pkttype, unsigned long pktlen,\n\t\t
      \  PKT_onepass_sig * ops)"
  - BBCount: 97
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2655,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2663,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:2667,1
    - Dst: es_putc
      Src: /src/gnupg/g10/parse-packet.c:2671,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2673,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2675,1
    - Dst: iobuf_skip_rest
      Src: /src/gnupg/g10/parse-packet.c:2677,1
    - Dst: log_info
      Src: /src/gnupg/g10/parse-packet.c:2689,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2691,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:2693,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:2698,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:2700,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:2701,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:2707,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:2709,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:2710,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:2715,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:2717,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:2718,1
    - Dst: read_32
      Src: /src/gnupg/g10/parse-packet.c:2722,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2726,1
    - Dst: read_32
      Src: /src/gnupg/g10/parse-packet.c:2730,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2738,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2746,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2748,1
    - Dst: pubkey_get_nskey
      Src: /src/gnupg/g10/parse-packet.c:2759,1
    - Dst: pubkey_get_npkey
      Src: /src/gnupg/g10/parse-packet.c:2760,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2764,1
    - Dst: unknown_pubkey_warning
      Src: /src/gnupg/g10/parse-packet.c:2765,1
    - Dst: read_rest
      Src: /src/gnupg/g10/parse-packet.c:2771,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/g10/parse-packet.c:2774,1
    - Dst: read_sized_octet_string
      Src: /src/gnupg/g10/parse-packet.c:2788,1
    - Dst: read_octet_string
      Src: /src/gnupg/g10/parse-packet.c:2793,1
    - Dst: sos_read
      Src: /src/gnupg/g10/parse-packet.c:2803,1
    - Dst: mpi_read
      Src: /src/gnupg/g10/parse-packet.c:2805,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:2808,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2821,1
    - Dst: mpi_print
      Src: /src/gnupg/g10/parse-packet.c:2822,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/g10/parse-packet.c:2828,1
    - Dst: openpgp_oid_to_curve
      Src: /src/gnupg/g10/parse-packet.c:2829,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2832,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/parse-packet.c:2833,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2835,1
    - Dst: xfree
      Src: /src/gnupg/g10/parse-packet.c:2836,1
    - Dst: es_putc
      Src: /src/gnupg/g10/parse-packet.c:2838,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/parse-packet.c:2843,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:2854,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/parse-packet.c:2858,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/parse-packet.c:2861,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2865,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:2876,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2879,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2882,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2892,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:2895,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:2902,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2907,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2912,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2914,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2920,1
    - Dst: memcmp
      Src: /src/gnupg/g10/parse-packet.c:2921,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2924,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:2926,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:2940,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:2943,1
    - Dst: memcpy
      Src: /src/gnupg/g10/parse-packet.c:2946,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2954,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2958,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2962,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2966,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2970,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2974,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2978,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:2981,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2988,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:2994,1
    - Dst: es_write_hexstring
      Src: /src/gnupg/g10/parse-packet.c:2995,1
    - Dst: es_putc
      Src: /src/gnupg/g10/parse-packet.c:2999,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:3006,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3009,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3012,1
    - Dst: S2K_DECODE_COUNT
      Src: /src/gnupg/g10/parse-packet.c:3013,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:3021,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:3024,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:3028,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3041,1
    - Dst: openpgp_cipher_blocklen
      Src: /src/gnupg/g10/parse-packet.c:3054,1
    - Dst: log_assert
      Src: /src/gnupg/g10/parse-packet.c:3055,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:3064,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3068,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3071,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3075,1
    - Dst: es_putc
      Src: /src/gnupg/g10/parse-packet.c:3076,1
    - Dst: memcpy
      Src: /src/gnupg/g10/parse-packet.c:3078,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:3086,1
    - Dst: read_32
      Src: /src/gnupg/g10/parse-packet.c:3089,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3092,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/g10/parse-packet.c:3102,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/parse-packet.c:3103,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:3113,1
    - Dst: read_rest
      Src: /src/gnupg/g10/parse-packet.c:3117,1
    - Dst: canon_sexp_to_string
      Src: /src/gnupg/g10/parse-packet.c:3122,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3124,1
    - Dst: trim_trailing_spaces
      Src: /src/gnupg/g10/parse-packet.c:3125,1
    - Dst: xfree
      Src: /src/gnupg/g10/parse-packet.c:3127,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3130,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/g10/parse-packet.c:3133,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:3143,1
    - Dst: read_rest
      Src: /src/gnupg/g10/parse-packet.c:3152,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/g10/parse-packet.c:3153,1
    - Dst: gcry_mpi_set_flag
      Src: /src/gnupg/g10/parse-packet.c:3159,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3162,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:3172,1
    - Dst: read_octet_string
      Src: /src/gnupg/g10/parse-packet.c:3177,1
    - Dst: sos_read
      Src: /src/gnupg/g10/parse-packet.c:3189,1
    - Dst: mpi_read
      Src: /src/gnupg/g10/parse-packet.c:3191,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3197,1
    - Dst: mpi_print
      Src: /src/gnupg/g10/parse-packet.c:3198,1
    - Dst: es_putc
      Src: /src/gnupg/g10/parse-packet.c:3199,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:3203,1
    - Dst: log_info
      Src: /src/gnupg/g10/parse-packet.c:3211,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:3213,1
    - Dst: read_16
      Src: /src/gnupg/g10/parse-packet.c:3216,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3219,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3225,1
    - Dst: iobuf_skip_rest
      Src: /src/gnupg/g10/parse-packet.c:3229,1
    CyclomaticComplexity: 167
    EdgeCount: 167
    ICount: 385
    argCount: 6
    argNames:
    - inp
    - pkttype
    - pktlen
    - hdr
    - hdrlen
    - pkt
    argTypes:
    - IOBUF
    - int
    - unsigned long
    - byte*
    - int
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3231
      start: 2637
    functionDepth: 5
    functionLinenumber: 2637
    functionLinenumberEnd: 3231
    functionName: parse_key
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - read_32
    - es_fprintf
    - unknown_pubkey_warning
    - iobuf_skip_rest
    - log_assert
    - read_sized_octet_string
    - xstrdup
    - pubkey_get_nskey
    - memcpy
    - S2K_DECODE_COUNT
    - trim_trailing_spaces
    - gcry_mpi_set_opaque
    - read_16
    - log_error
    - canon_sexp_to_string
    - es_putc
    - pubkey_get_npkey
    - log_info
    - mpi_print
    - gcry_mpi_set_flag
    - openpgp_oid_to_curve
    - iobuf_get_noeof
    - es_write_hexstring
    - gpg_error_from_syserror
    - iobuf_get
    - gpg_error
    - xfree
    - xtrycalloc
    - es_fputs
    - read_octet_string
    - read_rest
    - sos_read
    - keyid_from_pk
    - memcmp
    - nbits_from_pk
    - openpgp_cipher_blocklen
    - mpi_read
    - openpgp_oid_to_str
    linkageType: ''
    returnType: int
    signature: "int parse_key (IOBUF inp, int pkttype, unsigned long pktlen,\n\t   byte
      * hdr, int hdrlen, PACKET * pkt)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/parse-packet.c:3247,1
    - Dst: buf32_to_size_t
      Src: /src/gnupg/g10/parse-packet.c:3257,1
    - Dst: log_info
      Src: /src/gnupg/g10/parse-packet.c:3276,1
    - Dst: xrealloc
      Src: /src/gnupg/g10/parse-packet.c:3280,1
    - Dst: memset
      Src: /src/gnupg/g10/parse-packet.c:3282,1
    - Dst: log_info
      Src: /src/gnupg/g10/parse-packet.c:3303,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 1
    argNames:
    - uid
    argTypes:
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3307
      start: 3237
    functionDepth: 1
    functionLinenumber: 3237
    functionLinenumberEnd: 3307
    functionName: parse_attribute_subpkts
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - xrealloc
    - log_info
    - memset
    - xfree
    - buf32_to_size_t
    linkageType: ''
    returnType: int
    signature: int parse_attribute_subpkts (PKT_user_id * uid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:3324,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3326,1
    - Dst: iobuf_skip_rest
      Src: /src/gnupg/g10/parse-packet.c:3327,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/parse-packet.c:3331,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3337,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3343,1
    - Dst: es_putc
      Src: /src/gnupg/g10/parse-packet.c:3348,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3350,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3352,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - inp
    - pkttype
    - pktlen
    - packet
    argTypes:
    - IOBUF
    - int
    - unsigned long
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3355
      start: 3310
    functionDepth: 1
    functionLinenumber: 3310
    functionLinenumberEnd: 3355
    functionName: parse_user_id
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - iobuf_get_noeof
    - es_fprintf
    - iobuf_skip_rest
    - log_error
    - es_putc
    - xmalloc_clear
    linkageType: ''
    returnType: int
    signature: int parse_user_id (IOBUF inp, int pkttype, unsigned long pktlen, PACKET
      * packet)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/parse-packet.c:3361,1
    - Dst: sprintf
      Src: /src/gnupg/g10/parse-packet.c:3363,1
    - Dst: sprintf
      Src: /src/gnupg/g10/parse-packet.c:3366,1
    - Dst: parse_image_header
      Src: /src/gnupg/g10/parse-packet.c:3377,1
    - Dst: sprintf
      Src: /src/gnupg/g10/parse-packet.c:3378,1
    - Dst: image_type_to_string
      Src: /src/gnupg/g10/parse-packet.c:3379,1
    - Dst: sprintf
      Src: /src/gnupg/g10/parse-packet.c:3381,1
    - Dst: sprintf
      Src: /src/gnupg/g10/parse-packet.c:3384,1
    - Dst: strlen
      Src: /src/gnupg/g10/parse-packet.c:3388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - uid
    - max_namelen
    argTypes:
    - PKT_user_id*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3389
      start: 3358
    functionDepth: 0
    functionLinenumber: 3358
    functionLinenumberEnd: 3389
    functionName: make_attribute_uidname
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - strlen
    - image_type_to_string
    - log_assert
    - sprintf
    - parse_image_header
    linkageType: ''
    returnType: void
    signature: void make_attribute_uidname (PKT_user_id * uid, size_t max_namelen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:3405,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3407,1
    - Dst: iobuf_skip_rest
      Src: /src/gnupg/g10/parse-packet.c:3408,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/parse-packet.c:3413,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/parse-packet.c:3416,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3421,1
    - Dst: parse_attribute_subpkts
      Src: /src/gnupg/g10/parse-packet.c:3426,1
    - Dst: make_attribute_uidname
      Src: /src/gnupg/g10/parse-packet.c:3428,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - inp
    - pkttype
    - pktlen
    - packet
    argTypes:
    - IOBUF
    - int
    - unsigned long
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3435
      start: 3392
    functionDepth: 2
    functionLinenumber: 3392
    functionLinenumberEnd: 3435
    functionName: parse_attribute
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - parse_attribute_subpkts
    - iobuf_get_noeof
    - es_fprintf
    - make_attribute_uidname
    - iobuf_skip_rest
    - log_error
    - xmalloc
    - xmalloc_clear
    linkageType: ''
    returnType: int
    signature: "int parse_attribute (IOBUF inp, int pkttype, unsigned long pktlen,\n\t\t
      PACKET * packet)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:3449,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3451,1
    - Dst: iobuf_skip_rest
      Src: /src/gnupg/g10/parse-packet.c:3453,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/parse-packet.c:3456,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3460,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3465,1
    - Dst: es_putc
      Src: /src/gnupg/g10/parse-packet.c:3470,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3472,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3474,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - inp
    - pkttype
    - pktlen
    - packet
    argTypes:
    - IOBUF
    - int
    - unsigned long
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3477
      start: 3438
    functionDepth: 1
    functionLinenumber: 3438
    functionLinenumberEnd: 3477
    functionName: parse_comment
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - iobuf_get_noeof
    - es_fprintf
    - iobuf_skip_rest
    - log_error
    - es_putc
    - xmalloc
    linkageType: ''
    returnType: int
    signature: int parse_comment (IOBUF inp, int pkttype, unsigned long pktlen, PACKET
      * packet)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3496,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3501,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3508,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3515,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3523,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3524,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3525,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3526,1
    - Dst: memcmp
      Src: /src/gnupg/g10/parse-packet.c:3528,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3540,1
    - Dst: read_32
      Src: /src/gnupg/g10/parse-packet.c:3542,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3544,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/parse-packet.c:3548,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/parse-packet.c:3551,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3555,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3563,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3569,1
    - Dst: es_putc
      Src: /src/gnupg/g10/parse-packet.c:3579,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3581,1
    - Dst: es_putc
      Src: /src/gnupg/g10/parse-packet.c:3584,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3587,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3589,1
    - Dst: xfree
      Src: /src/gnupg/g10/parse-packet.c:3634,1
    - Dst: free_packet
      Src: /src/gnupg/g10/parse-packet.c:3635,1
    - Dst: iobuf_skip_rest
      Src: /src/gnupg/g10/parse-packet.c:3636,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 94
    argCount: 2
    argNames:
    - ctx
    - pktlen
    argTypes:
    - parse_packet_ctx_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3638
      start: 3484
    functionDepth: 2
    functionLinenumber: 3484
    functionLinenumberEnd: 3638
    functionName: parse_ring_trust
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - read_32
    - iobuf_get_noeof
    - es_fprintf
    - gpg_error_from_syserror
    - iobuf_skip_rest
    - es_putc
    - memcmp
    - xfree
    - free_packet
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_ring_trust (parse_packet_ctx_t ctx, unsigned long
      pktlen)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:3653,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:3655,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:3656,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3659,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3662,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/parse-packet.c:3667,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3675,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:3680,1
    - Dst: read_32
      Src: /src/gnupg/g10/parse-packet.c:3691,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3699,1
    - Dst: es_putc
      Src: /src/gnupg/g10/parse-packet.c:3706,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3708,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3710,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3712,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3714,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 6
    argNames:
    - inp
    - pkttype
    - pktlen
    - pkt
    - new_ctb
    - partial
    argTypes:
    - IOBUF
    - int
    - unsigned long
    - PACKET*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3719
      start: 3641
    functionDepth: 2
    functionLinenumber: 3641
    functionLinenumberEnd: 3719
    functionName: parse_plaintext
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - read_32
    - iobuf_get_noeof
    - es_fprintf
    - log_error
    - iobuf_get
    - es_putc
    - xmalloc
    - gpg_error
    - es_fputs
    linkageType: ''
    returnType: int
    signature: "int parse_plaintext (IOBUF inp, int pkttype, unsigned long pktlen,\n\t\t
      PACKET * pkt, int new_ctb, int partial)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/g10/parse-packet.c:3734,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3735,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - inp
    - pkttype
    - pktlen
    - pkt
    - new_ctb
    argTypes:
    - IOBUF
    - int
    - unsigned long
    - PACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3742
      start: 3722
    functionDepth: 1
    functionLinenumber: 3722
    functionLinenumberEnd: 3742
    functionName: parse_compressed
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - xmalloc
    - iobuf_get_noeof
    - es_fprintf
    linkageType: ''
    returnType: int
    signature: "int parse_compressed (IOBUF inp, int pkttype, unsigned long pktlen,\n\t\t
      \ PACKET * pkt, int new_ctb)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/g10/parse-packet.c:3753,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3767,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:3772,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:3775,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:3777,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:3791,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:3793,1
    - Dst: iobuf_skip_rest
      Src: /src/gnupg/g10/parse-packet.c:3795,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3807,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3810,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3812,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 6
    argNames:
    - inp
    - pkttype
    - pktlen
    - pkt
    - new_ctb
    - partial
    argTypes:
    - IOBUF
    - int
    - unsigned long
    - PACKET*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3819
      start: 3745
    functionDepth: 1
    functionLinenumber: 3745
    functionLinenumberEnd: 3819
    functionName: parse_encrypted
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - iobuf_get_noeof
    - es_fprintf
    - log_error
    - iobuf_skip_rest
    - xmalloc
    - gpg_error
    - es_fputs
    linkageType: ''
    returnType: int
    signature: "int parse_encrypted (IOBUF inp, int pkttype, unsigned long pktlen,\n\t\t
      PACKET * pkt, int new_ctb, int partial)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/g10/parse-packet.c:3835,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3837,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:3840,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:3841,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3846,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - inp
    - pkttype
    - pktlen
    - pkt
    - new_ctb
    argTypes:
    - IOBUF
    - int
    - unsigned long
    - PACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3850
      start: 3825
    functionDepth: 1
    functionLinenumber: 3825
    functionLinenumberEnd: 3850
    functionName: parse_mdc
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - iobuf_get_noeof
    - es_fprintf
    - log_error
    - xmalloc
    - gpg_error
    linkageType: ''
    returnType: int
    signature: "int parse_mdc (IOBUF inp, int pkttype, unsigned long pktlen,\n\t   PACKET
      * pkt, int new_ctb)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/parse-packet.c:3862,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/parse-packet.c:3864,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:3875,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:3877,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:3878,1
    - Dst: iobuf_skip_rest
      Src: /src/gnupg/g10/parse-packet.c:3879,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3883,1
    - Dst: log_error
      Src: /src/gnupg/g10/parse-packet.c:3888,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:3891,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:3893,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3897,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3900,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3903,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3913,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3916,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3918,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 5
    argNames:
    - inp
    - pkttype
    - pktlen
    - pkt
    - partial
    argTypes:
    - iobuf_t
    - int
    - unsigned long
    - PACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3925
      start: 3853
    functionDepth: 1
    functionLinenumber: 3853
    functionLinenumberEnd: 3925
    functionName: parse_encrypted_aead
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - iobuf_get_noeof
    - es_fprintf
    - log_error
    - gpg_error_from_syserror
    - iobuf_skip_rest
    - gpg_error
    - es_fputs
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_encrypted_aead (iobuf_t inp, int pkttype, unsigned
      long pktlen,\n                      PACKET *pkt, int partial)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3951,1
    - Dst: get_session_marker
      Src: /src/gnupg/g10/parse-packet.c:3953,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3958,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/parse-packet.c:3965,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/parse-packet.c:3967,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3969,1
    - Dst: iobuf_get_noeof
      Src: /src/gnupg/g10/parse-packet.c:3974,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/parse-packet.c:3984,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:3987,1
    - Dst: dump_hex_line
      Src: /src/gnupg/g10/parse-packet.c:3988,1
    - Dst: dump_hex_line
      Src: /src/gnupg/g10/parse-packet.c:3994,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/parse-packet.c:3994,1
    - Dst: es_putc
      Src: /src/gnupg/g10/parse-packet.c:3999,1
    - Dst: iobuf_skip_rest
      Src: /src/gnupg/g10/parse-packet.c:4001,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/parse-packet.c:4002,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 5
    argNames:
    - inp
    - pkttype
    - pktlen
    - packet
    - partial
    argTypes:
    - IOBUF
    - int
    - unsigned long
    - PACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4003
      start: 3939
    functionDepth: 1
    functionLinenumber: 3939
    functionLinenumberEnd: 4003
    functionName: parse_gpg_control
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - iobuf_get_noeof
    - es_fprintf
    - iobuf_skip_rest
    - dump_hex_line
    - iobuf_get
    - es_putc
    - xmalloc
    - gpg_error
    - get_session_marker
    - es_fputs
    linkageType: ''
    returnType: int
    signature: "int parse_gpg_control (IOBUF inp, int pkttype, unsigned long pktlen,\n\t\t
      \  PACKET * packet, int partial)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/g10/parse-packet.c:4016,1
    - Dst: init_packet
      Src: /src/gnupg/g10/parse-packet.c:4017,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/parse-packet.c:4019,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - type
    - data
    - datalen
    argTypes:
    - ctrlpkttype_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4027
      start: 4007
    functionDepth: 1
    functionLinenumber: 4007
    functionLinenumberEnd: 4027
    functionName: create_gpg_control
    functionSourceFile: /src/gnupg/g10/parse-packet.c
    functionUses: 1
    functionsReached:
    - xmalloc
    - init_packet
    linkageType: ''
    returnType: PACKET
    signature: 'PACKET *

      create_gpg_control (ctrlpkttype_t type, const byte * data, size_t datalen)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/decrypt-data.c:113,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/g10/decrypt-data.c:116,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/decrypt-data.c:118,1
    - Dst: xfree
      Src: /src/gnupg/g10/decrypt-data.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - dfx
    argTypes:
    - decode_filter_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: release_dfx_context
    functionSourceFile: /src/gnupg/g10/decrypt-data.c
    functionUses: 0
    functionsReached:
    - gcry_md_close
    - xfree
    - gcry_cipher_close
    - log_assert
    linkageType: ''
    returnType: void
    signature: void release_dfx_context (decode_filter_ctx_t dfx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/g10/decrypt-data.c:140,1
    - Dst: memcpy
      Src: /src/gnupg/g10/decrypt-data.c:145,1
    - Dst: BUG
      Src: /src/gnupg/g10/decrypt-data.c:150,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/decrypt-data.c:162,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/g10/decrypt-data.c:163,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/decrypt-data.c:192,1
    - Dst: gcry_cipher_authenticate
      Src: /src/gnupg/g10/decrypt-data.c:193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 2
    argNames:
    - dfx
    - final
    argTypes:
    - decode_filter_ctx_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 194
    functionName: aead_set_nonce_and_ad
    functionSourceFile: /src/gnupg/g10/decrypt-data.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_authenticate
    - log_printhex
    - gcry_cipher_setiv
    - BUG
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t aead_set_nonce_and_ad (decode_filter_ctx_t dfx, int final)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_printhex
      Src: /src/gnupg/g10/decrypt-data.c:205,1
    - Dst: gcry_cipher_checktag
      Src: /src/gnupg/g10/decrypt-data.c:206,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt-data.c:209,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/decrypt-data.c:210,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/decrypt-data.c:211,1
    - Dst: log_debug
      Src: /src/gnupg/g10/decrypt-data.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - dfx
    - final
    - tagbuf
    argTypes:
    - decode_filter_ctx_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 218
    functionName: aead_checktag
    functionSourceFile: /src/gnupg/g10/decrypt-data.c
    functionUses: 0
    functionsReached:
    - log_printhex
    - log_error
    - gpg_strerror
    - write_status_error
    - gcry_cipher_checktag
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t aead_checktag (decode_filter_ctx_t dfx, int final, const
      void *tagbuf)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/decrypt-data.c:242,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/decrypt-data.c:244,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/decrypt-data.c:249,1
    - Dst: log_info
      Src: /src/gnupg/g10/decrypt-data.c:250,1
    - Dst: _
      Src: /src/gnupg/g10/decrypt-data.c:250,1
    - Dst: openpgp_cipher_algo_mode_name
      Src: /src/gnupg/g10/decrypt-data.c:251,1
    - Dst: log_info
      Src: /src/gnupg/g10/decrypt-data.c:253,1
    - Dst: _
      Src: /src/gnupg/g10/decrypt-data.c:253,1
    - Dst: openpgp_aead_algo_info
      Src: /src/gnupg/g10/decrypt-data.c:259,1
    - Dst: log_assert
      Src: /src/gnupg/g10/decrypt-data.c:262,1
    - Dst: gnupg_cipher_is_allowed
      Src: /src/gnupg/g10/decrypt-data.c:268,1
    - Dst: gpgrt_log
      Src: /src/gnupg/g10/decrypt-data.c:270,1
    - Dst: _
      Src: /src/gnupg/g10/decrypt-data.c:272,1
    - Dst: openpgp_cipher_algo_mode_name
      Src: /src/gnupg/g10/decrypt-data.c:273,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/decrypt-data.c:274,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/decrypt-data.c:280,1
    - Dst: write_status_printf
      Src: /src/gnupg/g10/decrypt-data.c:285,1
    - Dst: snprintf
      Src: /src/gnupg/g10/decrypt-data.c:295,1
    - Dst: snprintf
      Src: /src/gnupg/g10/decrypt-data.c:297,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/decrypt-data.c:298,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/decrypt-data.c:301,1
    - Dst: log_info
      Src: /src/gnupg/g10/decrypt-data.c:304,1
    - Dst: write_status_strings
      Src: /src/gnupg/g10/decrypt-data.c:305,1
    - Dst: xfree
      Src: /src/gnupg/g10/decrypt-data.c:306,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/g10/decrypt-data.c:314,1
    - Dst: make_radix64_string
      Src: /src/gnupg/g10/decrypt-data.c:315,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/decrypt-data.c:316,1
    - Dst: xfree
      Src: /src/gnupg/g10/decrypt-data.c:317,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/decrypt-data.c:326,1
    - Dst: openpgp_cipher_get_algo_blklen
      Src: /src/gnupg/g10/decrypt-data.c:329,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/decrypt-data.c:331,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/decrypt-data.c:337,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt-data.c:343,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/decrypt-data.c:344,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/decrypt-data.c:353,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/decrypt-data.c:361,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt-data.c:368,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/decrypt-data.c:370,1
    - Dst: log_info
      Src: /src/gnupg/g10/decrypt-data.c:380,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/decrypt-data.c:381,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/decrypt-data.c:382,1
    - Dst: openpgp_cipher_open
      Src: /src/gnupg/g10/decrypt-data.c:384,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/decrypt-data.c:392,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/g10/decrypt-data.c:393,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/decrypt-data.c:394,1
    - Dst: log_info
      Src: /src/gnupg/g10/decrypt-data.c:396,1
    - Dst: _
      Src: /src/gnupg/g10/decrypt-data.c:396,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt-data.c:402,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/decrypt-data.c:402,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt-data.c:408,1
    - Dst: _
      Src: /src/gnupg/g10/decrypt-data.c:408,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/decrypt-data.c:420,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/decrypt-data.c:426,1
    - Dst: BUG
      Src: /src/gnupg/g10/decrypt-data.c:427,1
    - Dst: gcry_md_debug
      Src: /src/gnupg/g10/decrypt-data.c:429,1
    - Dst: openpgp_cipher_open
      Src: /src/gnupg/g10/decrypt-data.c:432,1
    - Dst: BUG
      Src: /src/gnupg/g10/decrypt-data.c:441,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/g10/decrypt-data.c:446,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/decrypt-data.c:447,1
    - Dst: log_info
      Src: /src/gnupg/g10/decrypt-data.c:449,1
    - Dst: _
      Src: /src/gnupg/g10/decrypt-data.c:449,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt-data.c:455,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/decrypt-data.c:455,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt-data.c:461,1
    - Dst: _
      Src: /src/gnupg/g10/decrypt-data.c:461,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/decrypt-data.c:462,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/g10/decrypt-data.c:466,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/decrypt-data.c:472,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/decrypt-data.c:481,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/g10/decrypt-data.c:487,1
    - Dst: gcry_cipher_sync
      Src: /src/gnupg/g10/decrypt-data.c:488,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/decrypt-data.c:494,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/decrypt-data.c:499,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/decrypt-data.c:507,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/decrypt-data.c:509,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/decrypt-data.c:511,1
    - Dst: pfg_open_file
      Src: /src/gnupg/g10/decrypt-data.c:517,1
    - Dst: iobuf_esopen
      Src: /src/gnupg/g10/decrypt-data.c:520,1
    - Dst: es_setbuf
      Src: /src/gnupg/g10/decrypt-data.c:523,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/decrypt-data.c:527,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/decrypt-data.c:528,1
    - Dst: iobuf_copy
      Src: /src/gnupg/g10/decrypt-data.c:531,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/decrypt-data.c:532,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt-data.c:533,1
    - Dst: _
      Src: /src/gnupg/g10/decrypt-data.c:533,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/decrypt-data.c:534,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/decrypt-data.c:535,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt-data.c:536,1
    - Dst: _
      Src: /src/gnupg/g10/decrypt-data.c:536,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/decrypt-data.c:537,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/decrypt-data.c:539,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/decrypt-data.c:540,1
    - Dst: pfg_close_file
      Src: /src/gnupg/g10/decrypt-data.c:541,1
    - Dst: proc_packets
      Src: /src/gnupg/g10/decrypt-data.c:545,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/decrypt-data.c:549,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/decrypt-data.c:552,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/g10/decrypt-data.c:569,1
    - Dst: log_assert
      Src: /src/gnupg/g10/decrypt-data.c:571,1
    - Dst: log_assert
      Src: /src/gnupg/g10/decrypt-data.c:572,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/g10/decrypt-data.c:573,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/decrypt-data.c:574,1
    - Dst: gcry_md_final
      Src: /src/gnupg/g10/decrypt-data.c:575,1
    - Dst: memcmp
      Src: /src/gnupg/g10/decrypt-data.c:580,1
    - Dst: gcry_md_read
      Src: /src/gnupg/g10/decrypt-data.c:580,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt-data.c:582,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/decrypt-data.c:582,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/decrypt-data.c:583,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/decrypt-data.c:584,1
    - Dst: release_dfx_context
      Src: /src/gnupg/g10/decrypt-data.c:591,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 226
    argCount: 5
    argNames:
    - ctrl
    - procctx
    - ed
    - dek
    - compliance_error
    argTypes:
    - ctrl_t
    - void*
    - PKT_encrypted*
    - DEK*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 593
    functionName: decrypt_data
    functionSourceFile: /src/gnupg/g10/decrypt-data.c
    functionUses: 2
    functionsReached:
    - log_assert
    - gcry_md_hash_buffer
    - gcry_cipher_setiv
    - BUG
    - write_status_printf
    - gcry_md_final
    - iobuf_error
    - openpgp_cipher_open
    - gcry_cipher_sync
    - log_printhex
    - log_error
    - openpgp_cipher_algo_mode_name
    - _
    - pfg_close_file
    - log_info
    - write_status_error
    - gcry_md_read
    - gnupg_cipher_is_allowed
    - push_armor_filter
    - gpgrt_log
    - write_status_strings
    - gcry_md_open
    - gcry_md_debug
    - gcry_cipher_setkey
    - gpg_error_from_syserror
    - gnupg_compliance_option_string
    - write_status_text
    - iobuf_push_filter
    - iobuf_get
    - gpg_error
    - xfree
    - gpg_strerror
    - iobuf_copy
    - xtrycalloc
    - make_radix64_string
    - openpgp_cipher_algo_name
    - iobuf_esopen
    - release_dfx_context
    - openpgp_cipher_get_algo_blklen
    - gcry_md_write
    - pfg_open_file
    - gcry_cipher_decrypt
    - release_armor_context
    - es_setbuf
    - iobuf_close
    - snprintf
    - bin2hex
    - log_fatal
    - new_armor_context
    - gcry_md_get_algo_dlen
    - memcmp
    - gpg_err_code
    - openpgp_aead_algo_info
    - proc_packets
    - openpgp_cipher_test_algo
    linkageType: ''
    returnType: int
    signature: "int decrypt_data (ctrl_t ctrl, void *procctx, PKT_encrypted *ed, DEK
      *dek,\n              int *compliance_error)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_read
      Src: /src/gnupg/g10/decrypt-data.c:614,1
    - Dst: iobuf_read
      Src: /src/gnupg/g10/decrypt-data.c:632,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 5
    argNames:
    - dfx
    - stream
    - buffer
    - nbytes
    - offset
    argTypes:
    - decode_filter_ctx_t
    - iobuf_t
    - byte*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 647
    functionName: fill_buffer
    functionSourceFile: /src/gnupg/g10/decrypt-data.c
    functionUses: 0
    functionsReached:
    - iobuf_read
    linkageType: ''
    returnType: size_t
    signature: "size_t fill_buffer (decode_filter_ctx_t dfx, iobuf_t stream,\n             byte
      *buffer, size_t nbytes, size_t offset)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/decrypt-data.c:661,1
    - Dst: memcpy
      Src: /src/gnupg/g10/decrypt-data.c:666,1
    - Dst: log_debug
      Src: /src/gnupg/g10/decrypt-data.c:669,1
    - Dst: fill_buffer
      Src: /src/gnupg/g10/decrypt-data.c:682,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/decrypt-data.c:686,1
    - Dst: memcpy
      Src: /src/gnupg/g10/decrypt-data.c:694,1
    - Dst: memcpy
      Src: /src/gnupg/g10/decrypt-data.c:703,1
    - Dst: log_debug
      Src: /src/gnupg/g10/decrypt-data.c:711,1
    - Dst: log_debug
      Src: /src/gnupg/g10/decrypt-data.c:723,1
    - Dst: aead_set_nonce_and_ad
      Src: /src/gnupg/g10/decrypt-data.c:728,1
    - Dst: gcry_cipher_final
      Src: /src/gnupg/g10/decrypt-data.c:734,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/g10/decrypt-data.c:735,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt-data.c:738,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/decrypt-data.c:739,1
    - Dst: log_debug
      Src: /src/gnupg/g10/decrypt-data.c:750,1
    - Dst: memcpy
      Src: /src/gnupg/g10/decrypt-data.c:759,1
    - Dst: memcpy
      Src: /src/gnupg/g10/decrypt-data.c:760,1
    - Dst: memmove
      Src: /src/gnupg/g10/decrypt-data.c:762,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/decrypt-data.c:771,1
    - Dst: fill_buffer
      Src: /src/gnupg/g10/decrypt-data.c:778,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/decrypt-data.c:783,1
    - Dst: memcpy
      Src: /src/gnupg/g10/decrypt-data.c:790,1
    - Dst: memmove
      Src: /src/gnupg/g10/decrypt-data.c:792,1
    - Dst: aead_checktag
      Src: /src/gnupg/g10/decrypt-data.c:795,1
    - Dst: aead_set_nonce_and_ad
      Src: /src/gnupg/g10/decrypt-data.c:810,1
    - Dst: gcry_cipher_final
      Src: /src/gnupg/g10/decrypt-data.c:819,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/g10/decrypt-data.c:821,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt-data.c:824,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/decrypt-data.c:825,1
    - Dst: log_debug
      Src: /src/gnupg/g10/decrypt-data.c:832,1
    - Dst: log_debug
      Src: /src/gnupg/g10/decrypt-data.c:842,1
    - Dst: log_assert
      Src: /src/gnupg/g10/decrypt-data.c:843,1
    - Dst: aead_checktag
      Src: /src/gnupg/g10/decrypt-data.c:844,1
    - Dst: log_debug
      Src: /src/gnupg/g10/decrypt-data.c:854,1
    - Dst: log_assert
      Src: /src/gnupg/g10/decrypt-data.c:855,1
    - Dst: aead_set_nonce_and_ad
      Src: /src/gnupg/g10/decrypt-data.c:860,1
    - Dst: gcry_cipher_final
      Src: /src/gnupg/g10/decrypt-data.c:863,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/g10/decrypt-data.c:865,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt-data.c:868,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/decrypt-data.c:869,1
    - Dst: aead_checktag
      Src: /src/gnupg/g10/decrypt-data.c:872,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/decrypt-data.c:875,1
    - Dst: log_debug
      Src: /src/gnupg/g10/decrypt-data.c:880,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/decrypt-data.c:881,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/decrypt-data.c:885,1
    - Dst: memset
      Src: /src/gnupg/g10/decrypt-data.c:886,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 145
    argCount: 4
    argNames:
    - dfx
    - a
    - buf
    - ret_len
    argTypes:
    - decode_filter_ctx_t
    - iobuf_t
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 652
    functionDepth: 3
    functionLinenumber: 652
    functionLinenumberEnd: 891
    functionName: aead_underflow
    functionSourceFile: /src/gnupg/g10/decrypt-data.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - memmove
    - log_assert
    - log_error
    - aead_checktag
    - gpg_error
    - gpg_strerror
    - gpg_err_code
    - aead_set_nonce_and_ad
    - memset
    - gcry_cipher_final
    - memcpy
    - fill_buffer
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t aead_underflow (decode_filter_ctx_t dfx, iobuf_t a, byte
      *buf, size_t *ret_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/decrypt-data.c:909,1
    - Dst: aead_underflow
      Src: /src/gnupg/g10/decrypt-data.c:911,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/decrypt-data.c:912,1
    - Dst: release_dfx_context
      Src: /src/gnupg/g10/decrypt-data.c:918,1
    - Dst: mem2str
      Src: /src/gnupg/g10/decrypt-data.c:922,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - opaque
    - control
    - a
    - buf
    - ret_len
    argTypes:
    - void*
    - int
    - IOBUF
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 895
    functionDepth: 4
    functionLinenumber: 895
    functionLinenumberEnd: 926
    functionName: aead_decode_filter
    functionSourceFile: /src/gnupg/g10/decrypt-data.c
    functionUses: 0
    functionsReached:
    - log_assert
    - aead_underflow
    - gpg_err_code
    - mem2str
    - release_dfx_context
    linkageType: ''
    returnType: int
    signature: "int aead_decode_filter (void *opaque, int control, IOBUF a,\n                    byte
      *buf, size_t *ret_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/decrypt-data.c:952,1
    - Dst: log_assert
      Src: /src/gnupg/g10/decrypt-data.c:953,1
    - Dst: fill_buffer
      Src: /src/gnupg/g10/decrypt-data.c:956,1
    - Dst: memcpy
      Src: /src/gnupg/g10/decrypt-data.c:962,1
    - Dst: memcpy
      Src: /src/gnupg/g10/decrypt-data.c:967,1
    - Dst: fill_buffer
      Src: /src/gnupg/g10/decrypt-data.c:971,1
    - Dst: memcpy
      Src: /src/gnupg/g10/decrypt-data.c:976,1
    - Dst: memcpy
      Src: /src/gnupg/g10/decrypt-data.c:983,1
    - Dst: memcpy
      Src: /src/gnupg/g10/decrypt-data.c:988,1
    - Dst: memcpy
      Src: /src/gnupg/g10/decrypt-data.c:990,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/g10/decrypt-data.c:997,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/decrypt-data.c:999,1
    - Dst: log_assert
      Src: /src/gnupg/g10/decrypt-data.c:1003,1
    - Dst: release_dfx_context
      Src: /src/gnupg/g10/decrypt-data.c:1010,1
    - Dst: mem2str
      Src: /src/gnupg/g10/decrypt-data.c:1014,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 5
    argNames:
    - opaque
    - control
    - a
    - buf
    - ret_len
    argTypes:
    - void*
    - int
    - IOBUF
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 929
    functionDepth: 2
    functionLinenumber: 929
    functionLinenumberEnd: 1017
    functionName: mdc_decode_filter
    functionSourceFile: /src/gnupg/g10/decrypt-data.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_cipher_decrypt
    - log_assert
    - release_dfx_context
    - mem2str
    - memcpy
    - fill_buffer
    linkageType: ''
    returnType: int
    signature: "int mdc_decode_filter (void *opaque, int control, IOBUF a,\n                   byte
      *buf, size_t *ret_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/decrypt-data.c:1036,1
    - Dst: fill_buffer
      Src: /src/gnupg/g10/decrypt-data.c:1038,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/g10/decrypt-data.c:1042,1
    - Dst: release_dfx_context
      Src: /src/gnupg/g10/decrypt-data.c:1054,1
    - Dst: mem2str
      Src: /src/gnupg/g10/decrypt-data.c:1058,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - opaque
    - control
    - a
    - buf
    - ret_len
    argTypes:
    - void*
    - int
    - IOBUF
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1020
    functionDepth: 2
    functionLinenumber: 1020
    functionLinenumberEnd: 1061
    functionName: decode_filter
    functionSourceFile: /src/gnupg/g10/decrypt-data.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - log_assert
    - mem2str
    - fill_buffer
    - release_dfx_context
    linkageType: ''
    returnType: int
    signature: int decode_filter( void *opaque, int control, IOBUF a, byte *buf, size_t
      *ret_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_get_errorcount
      Src: /src/gnupg/g10/test-stubs.c:54,1
    - Dst: exit
      Src: /src/gnupg/g10/test-stubs.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: g10_exit
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 29
    functionsReached:
    - log_get_errorcount
    - exit
    linkageType: ''
    returnType: void
    signature: void g10_exit( int rc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctrl
    - kblock
    - pk
    - sig
    argTypes:
    - ctrl_t
    - kbnode_t
    - PKT_public_key*
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: check_signatures_trust
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t check_signatures_trust (ctrl_t ctrl, kbnode_t kblock,\n
      \                       PKT_public_key *pk, PKT_signature *sig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - ctrl
    - trust_model
    - created
    - nextcheck
    - marginals
    - completes
    - cert_depth
    - min_cert_level
    argTypes:
    - ctrl_t
    - byte*
    - ulong*
    - ulong*
    - byte*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: read_trust_options
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void read_trust_options (ctrl_t ctrl,\n                    byte *trust_model,
      ulong *created, ulong *nextcheck,\n                    byte *marginals, byte
      *completes, byte *cert_depth,\n                    byte *min_cert_level)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - pk
    argTypes:
    - ctrl_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: cache_disabled_value
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cache_disabled_value (ctrl_t ctrl, PKT_public_key *pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: check_trustdb_stale
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void check_trustdb_stale (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctrl
    - kb
    - pk
    - uid
    argTypes:
    - ctrl_t
    - kbnode_t
    - PKT_public_key*
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: get_validity_info
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int get_validity_info (ctrl_t ctrl, kbnode_t kb, PKT_public_key *pk,\n
      \                  PKT_user_id *uid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - ctrl
    - kb
    - pk
    - uid
    - sig
    - may_ask
    argTypes:
    - ctrl_t
    - kbnode_t
    - PKT_public_key*
    - PKT_user_id*
    - PKT_signature*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: get_validity
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int get_validity (ctrl_t ctrl, kbnode_t kb, PKT_public_key
      *pk, PKT_user_id *uid,\n              PKT_signature *sig, int may_ask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: trust_value_to_string
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      trust_value_to_string (unsigned int value)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - key
    - uid
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: uid_trust_string_fixed
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      uid_trust_string_fixed (ctrl_t ctrl, PKT_public_key *key, PKT_user_id *uid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - pk
    - no_create
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: get_ownertrust_info
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_ownertrust_info (ctrl_t ctrl, PKT_public_key *pk, int no_create)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - pk
    - no_create
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: get_ownertrust_string
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_ownertrust_string (ctrl_t ctrl, PKT_public_key *pk, int no_create)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - pk
    argTypes:
    - ctrl_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: get_ownertrust
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_ownertrust (ctrl_t ctrl, PKT_public_key *pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - spec
    argTypes:
    - struct keyserver_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: keyserver_match
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct keyserver_spec
    signature: 'struct keyserver_spec *

      keyserver_match (struct keyserver_spec *spec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: keyserver_any_configured
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int keyserver_any_configured (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctrl
    - keyid
    - keyserver
    - flags
    argTypes:
    - ctrl_t
    - u32*
    - struct keyserver_spec*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: keyserver_import_keyid
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int keyserver_import_keyid (ctrl_t ctrl,\n                        u32
      *keyid,struct keyserver_spec *keyserver,\n                        unsigned int
      flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ctrl
    - fprint
    - fprint_len
    - keyserver
    - flags
    argTypes:
    - ctrl_t
    - byte*
    - size_t
    - struct keyserver_spec*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: keyserver_import_fpr
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int keyserver_import_fpr (ctrl_t ctrl, const byte *fprint,size_t fprint_len,\n\t\t
      \     struct keyserver_spec *keyserver, unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - fprint
    - fprint_len
    argTypes:
    - ctrl_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: keyserver_import_fpr_ntds
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int keyserver_import_fpr_ntds (ctrl_t ctrl,\n                           const
      byte *fprint, size_t fprint_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ctrl
    - name
    - dane_mode
    - fpr
    - fpr_len
    argTypes:
    - ctrl_t
    - char*
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: keyserver_import_cert
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int keyserver_import_cert (ctrl_t ctrl, const char *name, int dane_mode,\n
      \                      unsigned char **fpr,size_t *fpr_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ctrl
    - name
    - flags
    - fpr
    - fpr_len
    argTypes:
    - ctrl_t
    - char*
    - unsigned int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: keyserver_import_wkd
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keyserver_import_wkd (ctrl_t ctrl, const char *name, unsigned
      int flags,\n                      unsigned char **fpr, size_t *fpr_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - ctrl
    - mbox
    - fpr
    - fprlen
    - keyserver
    - flags
    argTypes:
    - ctrl_t
    - char*
    - unsigned char**
    - size_t*
    - struct keyserver_spec*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: keyserver_import_mbox
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keyserver_import_mbox (ctrl_t ctrl, const char *mbox,\n
      \                      unsigned char **fpr, size_t *fprlen,\n                       struct
      keyserver_spec *keyserver, unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctrl
    - mbox
    - fpr
    - fprlen
    argTypes:
    - ctrl_t
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: keyserver_import_ntds
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int keyserver_import_ntds (ctrl_t ctrl, const char *mbox,\n                       unsigned
      char **fpr, size_t *fprlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: keyserver_import_ldap
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int keyserver_import_ldap (const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ctrl
    - fname
    - buffer
    - buflen
    - r_keyblock
    argTypes:
    - ctrl_t
    - char*
    - void*
    - size_t
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 296
    functionName: read_key_from_file_or_buffer
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t read_key_from_file_or_buffer (ctrl_t ctrl, const char
      *fname,\n                              const void *buffer, size_t buflen,\n
      \                             kbnode_t *r_keyblock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: import_included_key_block
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t import_included_key_block (ctrl_t ctrl, kbnode_t keyblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - k
    - dek
    argTypes:
    - ctrl_t
    - struct seskey_enc_list*
    - DEK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: get_session_key
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_session_key (ctrl_t ctrl, struct seskey_enc_list *k,
      DEK *dek)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dek
    - string
    argTypes:
    - DEK*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: get_override_session_key
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_override_session_key (DEK *dek, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ctrl
    - procctx
    - ed
    - dek
    - compliance_error
    argTypes:
    - ctrl_t
    - void*
    - PKT_encrypted*
    - DEK*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 339
    functionName: decrypt_data
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int decrypt_data (ctrl_t ctrl, void *procctx, PKT_encrypted *ed, DEK
      *dek,\n              int *compliance_error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keyword
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: display_online_help
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void display_online_help (const char *keyword)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pk
    - n
    argTypes:
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: check_secret_key
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_secret_key (PKT_public_key *pk, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 7
    argNames:
    - cipher_algo
    - s2k
    - create
    - nocache
    - tmp
    - flags
    - canceled
    argTypes:
    - int
    - STRING2KEY*
    - int
    - int
    - char*
    - unsigned int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 379
    functionName: passphrase_to_dek
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: DEK
    signature: "DEK *\npassphrase_to_dek (int cipher_algo, STRING2KEY *s2k, int create,
      int nocache,\n                   const char *tmp, unsigned int flags, int *canceled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cacheid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: passphrase_clear_cache
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void passphrase_clear_cache (const char *cacheid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: parse_preferred_keyserver
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct keyserver_spec
    signature: 'struct keyserver_spec *

      parse_preferred_keyserver(PKT_signature *sig)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - string
    - require_scheme
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: parse_keyserver_uri
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: keyserver_spec_t
    signature: keyserver_spec_t parse_keyserver_uri (const char *string, int require_scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keyserver
    argTypes:
    - struct keyserver_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: free_keyserver_spec
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void free_keyserver_spec (struct keyserver_spec *keyserver)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ctrl
    - attrs
    - count
    - pk
    - uid
    argTypes:
    - ctrl_t
    - struct user_attribute*
    - int
    - PKT_public_key*
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 418
    functionName: show_photos
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void show_photos (ctrl_t ctrl, const struct user_attribute *attrs,
      int count,\n             PKT_public_key *pk, PKT_user_id *uid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - attr
    - type
    - len
    argTypes:
    - struct user_attribute*
    - byte*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 427
    functionName: parse_image_header
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parse_image_header (const struct user_attribute *attr, byte *type,
      u32 *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - type
    - string
    argTypes:
    - byte
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: image_type_to_string
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      image_type_to_string (byte type, int string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - info
    argTypes:
    - char*
    - struct agent_card_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: agent_scd_getattr
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int agent_scd_getattr (const char *name, struct agent_card_info_s *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: dotlock_disable
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dotlock_disable (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - file_to_lock
    - flags
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: dotlock_create
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: dotlock_t
    signature: dotlock_t dotlock_create (const char *file_to_lock, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - dotlock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: dotlock_destroy
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dotlock_destroy (dotlock_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - h
    - timeout
    argTypes:
    - dotlock_t
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 473
    functionName: dotlock_take
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dotlock_take (dotlock_t h, long timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - dotlock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 480
    functionName: dotlock_release
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dotlock_release (dotlock_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: dotlock_remove_lockfiles
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dotlock_remove_lockfiles (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - pk
    argTypes:
    - ctrl_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 493
    functionName: agent_probe_secret_key
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int agent_probe_secret_key (ctrl_t ctrl, PKT_public_key *pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/test-stubs.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: agent_probe_any_secret_key
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 5
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_probe_any_secret_key (ctrl_t ctrl, kbnode_t keyblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/test-stubs.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctrl
    - hexkeygrip
    - r_serialno
    - r_cleartext
    argTypes:
    - ctrl_t
    - char*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 512
    functionName: agent_get_keyinfo
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 6
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_get_keyinfo (ctrl_t ctrl, const char *hexkeygrip,\n
      \                  char **r_serialno, int *r_cleartext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/test-stubs.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 9
    argNames:
    - ctrl
    - keyspec
    - options
    - prefix
    - prefixlen
    - stats
    - r_keyblock
    - r_data
    - r_datalen
    argTypes:
    - ctrl_t
    - char*
    - unsigned int
    - void*
    - size_t
    - export_stats_t
    - kbnode_t*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 531
    functionName: export_pubkey_buffer
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 1
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t export_pubkey_buffer (ctrl_t ctrl, const char *keyspec,
      unsigned int options,\n                      const void *prefix, size_t prefixlen,\n
      \                     export_stats_t stats,\n                      kbnode_t
      *r_keyblock, void **r_data, size_t *r_datalen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/test-stubs.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctrl
    - fp
    - pk
    - user_id
    argTypes:
    - ctrl_t
    - estream_t
    - PKT_public_key*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 542
    functionName: tofu_write_tfs_record
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 1
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t tofu_write_tfs_record (ctrl_t ctrl, estream_t fp,\n                       PKT_public_key
      *pk, const char *user_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/test-stubs.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctrl
    - pk
    - user_id
    - policy
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - PKT_user_id*
    - enum tofu_policy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 553
    functionName: tofu_get_policy
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 1
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t tofu_get_policy (ctrl_t ctrl, PKT_public_key *pk, PKT_user_id
      *user_id,\n\t\t enum tofu_policy *policy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - policy
    argTypes:
    - enum tofu_policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: tofu_policy_str
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      tofu_policy_str (enum tofu_policy policy)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 567
    functionName: tofu_begin_batch_update
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tofu_begin_batch_update (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: tofu_end_batch_update
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tofu_end_batch_update (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - kb
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 582
    functionName: tofu_notice_key_changed
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t tofu_notice_key_changed (ctrl_t ctrl, kbnode_t kb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - code
    - freeme
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 591
    functionName: revocation_reason_code_to_str
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      revocation_reason_code_to_str (int code, char **freeme)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - sig
    - r_reason
    - r_comment
    - r_commentlen
    argTypes:
    - PKT_signature*
    - char**
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 605
    functionName: get_revocation_reason
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int get_revocation_reason (PKT_signature *sig, char **r_reason,\n
      \                      char **r_comment, size_t *r_commentlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cookie
    - propname
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 613
    functionName: impex_filter_getval
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      impex_filter_getval (void *cookie, const char *propname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mainpkhex
    - pkhex
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 621
    functionName: check_assert_signer_list
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void check_assert_signer_list (const char *mainpkhex, const char *pkhex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - algostr
    - pkhex
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 628
    functionName: check_assert_pubkey_algo
    functionSourceFile: /src/gnupg/g10/test-stubs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void check_assert_pubkey_algo (const char *algostr, const char *pkhex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/g10/textfilter.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - line
    - len
    - trimchars
    argTypes:
    - byte*
    - unsigned
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: len_without_trailing_chars
    functionSourceFile: /src/gnupg/g10/textfilter.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: unsigned
    signature: unsigned len_without_trailing_chars( byte *line, unsigned len, const
      char *trimchars )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/textfilter.c:72,1
    - Dst: iobuf_read_line
      Src: /src/gnupg/g10/textfilter.c:85,1
    - Dst: trim_trailing_chars
      Src: /src/gnupg/g10/textfilter.c:113,1
    - Dst: trim_trailing_chars
      Src: /src/gnupg/g10/textfilter.c:116,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 5
    argNames:
    - tfx
    - a
    - buf
    - size
    - ret_len
    argTypes:
    - text_filter_context_t*
    - IOBUF
    - byte*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 126
    functionName: standard
    functionSourceFile: /src/gnupg/g10/textfilter.c
    functionUses: 0
    functionsReached:
    - trim_trailing_chars
    - iobuf_read_line
    - log_assert
    linkageType: ''
    returnType: int
    signature: "int standard( text_filter_context_t *tfx, IOBUF a,\n\t  byte *buf,
      size_t size, size_t *ret_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: standard
      Src: /src/gnupg/g10/textfilter.c:142,1
    - Dst: log_error
      Src: /src/gnupg/g10/textfilter.c:146,1
    - Dst: _
      Src: /src/gnupg/g10/textfilter.c:146,1
    - Dst: xfree
      Src: /src/gnupg/g10/textfilter.c:148,1
    - Dst: mem2str
      Src: /src/gnupg/g10/textfilter.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - opaque
    - control
    - a
    - buf
    - ret_len
    argTypes:
    - void*
    - int
    - IOBUF
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 154
    functionName: text_filter
    functionSourceFile: /src/gnupg/g10/textfilter.c
    functionUses: 0
    functionsReached:
    - log_error
    - _
    - xfree
    - mem2str
    - standard
    linkageType: ''
    returnType: int
    signature: "int text_filter( void *opaque, int control,\n\t     IOBUF a, byte
      *buf, size_t *ret_len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: write_status_begin_signing
      Src: /src/gnupg/g10/textfilter.c:175,1
    - Dst: iobuf_read_line
      Src: /src/gnupg/g10/textfilter.c:179,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/textfilter.c:189,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/textfilter.c:190,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/textfilter.c:192,1
    - Dst: len_without_trailing_chars
      Src: /src/gnupg/g10/textfilter.c:193,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/textfilter.c:196,1
    - Dst: memcmp
      Src: /src/gnupg/g10/textfilter.c:201,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/textfilter.c:202,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/textfilter.c:203,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/textfilter.c:216,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/textfilter.c:217,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/textfilter.c:218,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/textfilter.c:221,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/textfilter.c:222,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/textfilter.c:223,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/textfilter.c:226,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/textfilter.c:229,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/textfilter.c:235,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/textfilter.c:237,1
    - Dst: log_info
      Src: /src/gnupg/g10/textfilter.c:241,1
    - Dst: _
      Src: /src/gnupg/g10/textfilter.c:241,1
    - Dst: xfree
      Src: /src/gnupg/g10/textfilter.c:243,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 5
    argNames:
    - out
    - inp
    - md
    - escape_dash
    - escape_from
    argTypes:
    - IOBUF
    - IOBUF
    - gcry_md_hd_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 161
    functionDepth: 4
    functionLinenumber: 161
    functionLinenumberEnd: 245
    functionName: copy_clearsig_text
    functionSourceFile: /src/gnupg/g10/textfilter.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - len_without_trailing_chars
    - write_status_begin_signing
    - gcry_md_putc
    - _
    - iobuf_read_line
    - memcmp
    - log_info
    - xfree
    - iobuf_put
    - iobuf_write
    - iobuf_writestr
    linkageType: ''
    returnType: int
    signature: "int copy_clearsig_text( IOBUF out, IOBUF inp, gcry_md_hd_t md,\n\t\t
      \   int escape_dash, int escape_from)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/sign.c:86,1
    - Dst: memset
      Src: /src/gnupg/g10/sign.c:88,1
    - Dst: IS_ATTST_SIGS
      Src: /src/gnupg/g10/sign.c:93,1
    - Dst: IS_SIG
      Src: /src/gnupg/g10/sign.c:95,1
    - Dst: IS_CERT
      Src: /src/gnupg/g10/sign.c:97,1
    - Dst: name_value_to_notation
      Src: /src/gnupg/g10/sign.c:102,1
    - Dst: gnupg_manu_notation_value
      Src: /src/gnupg/g10/sign.c:104,1
    - Dst: pct_expando
      Src: /src/gnupg/g10/sign.c:115,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:117,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:117,1
    - Dst: keygen_add_notations
      Src: /src/gnupg/g10/sign.c:121,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:125,1
    - Dst: free_notation
      Src: /src/gnupg/g10/sign.c:133,1
    - Dst: IS_ATTST_SIGS
      Src: /src/gnupg/g10/sign.c:138,1
    - Dst: IS_SIG
      Src: /src/gnupg/g10/sign.c:140,1
    - Dst: IS_CERT
      Src: /src/gnupg/g10/sign.c:142,1
    - Dst: pct_expando
      Src: /src/gnupg/g10/sign.c:149,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:152,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:152,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/sign.c:154,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/sign.c:157,1
    - Dst: strlen
      Src: /src/gnupg/g10/sign.c:159,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:161,1
    - Dst: IS_SIG
      Src: /src/gnupg/g10/sign.c:165,1
    - Dst: pct_expando
      Src: /src/gnupg/g10/sign.c:172,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:175,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:175,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/sign.c:177,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/sign.c:180,1
    - Dst: strlen
      Src: /src/gnupg/g10/sign.c:182,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:183,1
    - Dst: IS_SIG
      Src: /src/gnupg/g10/sign.c:187,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/g10/sign.c:193,1
    - Dst: log_debug
      Src: /src/gnupg/g10/sign.c:196,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/sign.c:197,1
    - Dst: strlen
      Src: /src/gnupg/g10/sign.c:197,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:198,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/sign.c:212,1
    - Dst: strlen
      Src: /src/gnupg/g10/sign.c:213,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 72
    argCount: 5
    argNames:
    - ctrl
    - sig
    - pk
    - pksk
    - with_manu
    argTypes:
    - ctrl_t
    - PKT_signature*
    - PKT_public_key*
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 216
    functionName: mk_notation_policy_etc
    functionSourceFile: /src/gnupg/g10/sign.c
    functionUses: 0
    functionsReached:
    - free_notation
    - gnupg_manu_notation_value
    - mailbox_from_userid
    - log_assert
    - log_error
    - strlen
    - _
    - IS_ATTST_SIGS
    - build_sig_subpkt
    - memset
    - name_value_to_notation
    - xfree
    - xstrdup
    - log_debug
    - keygen_add_notations
    - IS_CERT
    - pct_expando
    - IS_SIG
    linkageType: ''
    returnType: void
    signature: "void mk_notation_policy_etc (ctrl_t ctrl, PKT_signature *sig,\n\t\t\tPKT_public_key
      *pk, PKT_public_key *pksk, int with_manu)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: push_export_filters
      Src: /src/gnupg/g10/sign.c:237,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/sign.c:240,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/g10/sign.c:245,1
    - Dst: log_debug
      Src: /src/gnupg/g10/sign.c:248,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/sign.c:249,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:250,1
    - Dst: log_debug
      Src: /src/gnupg/g10/sign.c:256,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/sign.c:258,1
    - Dst: log_debug
      Src: /src/gnupg/g10/sign.c:263,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/sign.c:264,1
    - Dst: log_debug
      Src: /src/gnupg/g10/sign.c:268,1
    - Dst: parse_and_set_export_filter
      Src: /src/gnupg/g10/sign.c:269,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:272,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/sign.c:273,1
    - Dst: log_debug
      Src: /src/gnupg/g10/sign.c:275,1
    - Dst: parse_and_set_export_filter
      Src: /src/gnupg/g10/sign.c:276,1
    - Dst: export_pubkey_buffer
      Src: /src/gnupg/g10/sign.c:282,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:288,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/sign.c:288,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/sign.c:292,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:295,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/sign.c:296,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:297,1
    - Dst: pop_export_filters
      Src: /src/gnupg/g10/sign.c:299,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 3
    argNames:
    - ctrl
    - sig
    - pksk
    argTypes:
    - ctrl_t
    - PKT_signature*
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 224
    functionDepth: 5
    functionLinenumber: 224
    functionLinenumberEnd: 301
    functionName: mk_sig_subpkt_key_block
    functionSourceFile: /src/gnupg/g10/sign.c
    functionUses: 0
    functionsReached:
    - push_export_filters
    - mailbox_from_userid
    - log_error
    - export_pubkey_buffer
    - parse_and_set_export_filter
    - release_kbnode
    - build_sig_subpkt
    - xfree
    - xasprintf
    - gpg_strerror
    - xstrdup
    - hexfingerprint
    - pop_export_filters
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t mk_sig_subpkt_key_block (ctrl_t ctrl, PKT_signature *sig,
      PKT_public_key *pksk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/sign.c:330,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/sign.c:333,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/sign.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - md
    - sigversion
    - uid
    argTypes:
    - gcry_md_hd_t
    - int
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 336
    functionName: hash_uid
    functionSourceFile: /src/gnupg/g10/sign.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    linkageType: ''
    returnType: void
    signature: void hash_uid (gcry_md_hd_t md, int sigversion, const PKT_user_id *uid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sign.c:352,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sign.c:353,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sign.c:354,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sign.c:355,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sign.c:359,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sign.c:360,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/sign.c:361,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sign.c:366,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sign.c:367,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/sign.c:380,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/sign.c:382,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/sign.c:387,1
    - Dst: memset
      Src: /src/gnupg/g10/sign.c:391,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/sign.c:392,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/sign.c:417,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 3
    argNames:
    - md
    - sig
    - extrahash
    argTypes:
    - gcry_md_hd_t
    - PKT_signature*
    - pt_extra_hash_data_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 418
    functionName: hash_sigversion_to_magic
    functionSourceFile: /src/gnupg/g10/sign.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_md_putc
    - memset
    linkageType: ''
    returnType: void
    signature: "void hash_sigversion_to_magic (gcry_md_hd_t md, const PKT_signature
      *sig,\n                          pt_extra_hash_data_t extrahash)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/sign.c:439,1
    - Dst: ngettext
      Src: /src/gnupg/g10/sign.c:439,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/sign.c:443,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sign.c:445,1
    - Dst: print_pubkey_algo_note
      Src: /src/gnupg/g10/sign.c:448,1
    - Dst: gcry_md_get_algo
      Src: /src/gnupg/g10/sign.c:451,1
    - Dst: print_sha1_keysig_rejected_note
      Src: /src/gnupg/g10/sign.c:461,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sign.c:462,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/sign.c:467,1
    - Dst: gnupg_digest_is_allowed
      Src: /src/gnupg/g10/sign.c:468,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:470,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:470,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/g10/sign.c:471,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/sign.c:472,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sign.c:473,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/sign.c:477,1
    - Dst: gnupg_pk_is_allowed
      Src: /src/gnupg/g10/sign.c:478,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/sign.c:480,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:482,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:482,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/sign.c:483,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/sign.c:484,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sign.c:485,1
    - Dst: gnupg_rng_is_compliant
      Src: /src/gnupg/g10/sign.c:489,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sign.c:491,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:492,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:492,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/sign.c:494,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/sign.c:495,1
    - Dst: print_digest_algo_note
      Src: /src/gnupg/g10/sign.c:499,1
    - Dst: gcry_md_read
      Src: /src/gnupg/g10/sign.c:500,1
    - Dst: mpi_release
      Src: /src/gnupg/g10/sign.c:504,1
    - Dst: mpi_release
      Src: /src/gnupg/g10/sign.c:506,1
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/sign.c:510,1
    - Dst: gpg_format_keydesc
      Src: /src/gnupg/g10/sign.c:516,1
    - Dst: agent_pksign
      Src: /src/gnupg/g10/sign.c:518,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/g10/sign.c:520,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:522,1
    - Dst: get_mpi_from_sexp
      Src: /src/gnupg/g10/sign.c:528,1
    - Dst: openpgp_oid_is_ed25519
      Src: /src/gnupg/g10/sign.c:530,1
    - Dst: sexp_extract_param_sos_nlz
      Src: /src/gnupg/g10/sign.c:532,1
    - Dst: sexp_extract_param_sos_nlz
      Src: /src/gnupg/g10/sign.c:534,1
    - Dst: sexp_extract_param_sos
      Src: /src/gnupg/g10/sign.c:539,1
    - Dst: sexp_extract_param_sos
      Src: /src/gnupg/g10/sign.c:541,1
    - Dst: get_mpi_from_sexp
      Src: /src/gnupg/g10/sign.c:545,1
    - Dst: get_mpi_from_sexp
      Src: /src/gnupg/g10/sign.c:546,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/sign.c:549,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:551,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:555,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:555,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/sign.c:555,1
    - Dst: get_user_id_string_native
      Src: /src/gnupg/g10/sign.c:560,1
    - Dst: log_info
      Src: /src/gnupg/g10/sign.c:561,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:561,1
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/sign.c:562,1
    - Dst: openpgp_md_algo_name
      Src: /src/gnupg/g10/sign.c:563,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:565,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 78
    argCount: 7
    argNames:
    - ctrl
    - pksk
    - sig
    - md
    - mdalgo
    - cache_nonce
    - signhints
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - PKT_signature*
    - gcry_md_hd_t
    - int
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 424
    functionDepth: 7
    functionLinenumber: 424
    functionLinenumberEnd: 569
    functionName: do_sign
    functionSourceFile: /src/gnupg/g10/sign.c
    functionUses: 0
    functionsReached:
    - gpg_format_keydesc
    - get_mpi_from_sexp
    - gnupg_digest_is_allowed
    - sexp_extract_param_sos_nlz
    - print_pubkey_algo_note
    - log_error
    - gcry_md_algo_name
    - ngettext
    - openpgp_oid_is_ed25519
    - _
    - gcry_md_get_algo
    - log_info
    - IS_KEY_REV
    - write_status_error
    - gcry_sexp_release
    - openpgp_pk_algo_name
    - openpgp_md_algo_name
    - gcry_md_read
    - gnupg_pk_is_allowed
    - gnupg_compliance_option_string
    - sexp_extract_param_sos
    - keystr_from_pk
    - gpg_error
    - xfree
    - gpg_strerror
    - get_user_id_string_native
    - hexkeygrip_from_pk
    - agent_pksign
    - print_digest_algo_note
    - mpi_release
    - print_sha1_keysig_rejected_note
    - gnupg_rng_is_compliant
    - gcry_md_get_algo_dlen
    - nbits_from_pk
    linkageType: ''
    returnType: int
    signature: "int do_sign (ctrl_t ctrl, PKT_public_key *pksk, PKT_signature *sig,\n\t
      gcry_md_hd_t md, int mdalgo,\n         const char *cache_nonce, unsigned int
      signhints)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_sign
      Src: /src/gnupg/g10/sign.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ctrl
    - sig
    - pksk
    - md
    - cache_nonce
    - signhints
    argTypes:
    - ctrl_t
    - PKT_signature*
    - PKT_public_key*
    - gcry_md_hd_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 582
    functionName: complete_sig
    functionSourceFile: /src/gnupg/g10/sign.c
    functionUses: 0
    functionsReached:
    - do_sign
    linkageType: ''
    returnType: int
    signature: "int complete_sig (ctrl_t ctrl,\n              PKT_signature *sig,
      PKT_public_key *pksk, gcry_md_hd_t md,\n              const char *cache_nonce,
      unsigned int signhints)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_RSA
      Src: /src/gnupg/g10/sign.c:596,1
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/sign.c:604,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:607,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/sign.c:607,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:611,1
    - Dst: agent_get_keyinfo
      Src: /src/gnupg/g10/sign.c:612,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:613,1
    - Dst: strncmp
      Src: /src/gnupg/g10/sign.c:622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 588
    functionDepth: 7
    functionLinenumber: 588
    functionLinenumberEnd: 625
    functionName: openpgp_card_v1_p
    functionSourceFile: /src/gnupg/g10/sign.c
    functionUses: 0
    functionsReached:
    - is_RSA
    - agent_get_keyinfo
    - log_error
    - gpg_strerror
    - xfree
    - hexkeygrip_from_pk
    - strncmp
    linkageType: ''
    returnType: int
    signature: int openpgp_card_v1_p (PKT_public_key *pk)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - qbytes
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 650
    functionName: match_dsa_hash
    functionSourceFile: /src/gnupg/g10/sign.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int match_dsa_hash (unsigned int qbytes)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: is_weak_digest
      Src: /src/gnupg/g10/sign.c:677,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/g10/sign.c:686,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/g10/sign.c:694,1
    - Dst: ecdsa_qbits_from_Q
      Src: /src/gnupg/g10/sign.c:697,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/g10/sign.c:718,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/g10/sign.c:724,1
    - Dst: match_dsa_hash
      Src: /src/gnupg/g10/sign.c:729,1
    - Dst: openpgp_card_v1_p
      Src: /src/gnupg/g10/sign.c:731,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 43
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 670
    functionDepth: 8
    functionLinenumber: 670
    functionLinenumberEnd: 758
    functionName: hash_for
    functionSourceFile: /src/gnupg/g10/sign.c
    functionUses: 0
    functionsReached:
    - is_weak_digest
    - ecdsa_qbits_from_Q
    - gcry_md_get_algo_dlen
    - match_dsa_hash
    - openpgp_card_v1_p
    - gcry_mpi_get_nbits
    linkageType: ''
    returnType: int
    signature: int hash_for (PKT_public_key *pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/g10/sign.c:768,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/sign.c:771,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/sign.c:772,1
    - Dst: strlen
      Src: /src/gnupg/g10/sign.c:772,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/sign.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pk
    - sig
    - what
    argTypes:
    - PKT_public_key*
    - PKT_signature*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 761
    functionDepth: 5
    functionLinenumber: 761
    functionLinenumberEnd: 775
    functionName: print_status_sig_created
    functionSourceFile: /src/gnupg/g10/sign.c
    functionUses: 0
    functionsReached:
    - strlen
    - write_status_text
    - snprintf
    - bin2hex
    - fingerprint_from_pk
    linkageType: ''
    returnType: void
    signature: void print_status_sig_created (PKT_public_key *pk, PKT_signature *sig,
      int what)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/sign.c:805,1
    - Dst: hash_for
      Src: /src/gnupg/g10/sign.c:807,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/sign.c:809,1
    - Dst: init_packet
      Src: /src/gnupg/g10/sign.c:812,1
    - Dst: build_packet
      Src: /src/gnupg/g10/sign.c:815,1
    - Dst: free_packet
      Src: /src/gnupg/g10/sign.c:816,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:819,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/sign.c:820,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - sk_list
    - out
    - sigclass
    argTypes:
    - SK_LIST
    - IOBUF
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 784
    functionDepth: 9
    functionLinenumber: 784
    functionLinenumberEnd: 826
    functionName: write_onepass_sig_packets
    functionSourceFile: /src/gnupg/g10/sign.c
    functionUses: 0
    functionsReached:
    - log_error
    - init_packet
    - keyid_from_pk
    - hash_for
    - gpg_strerror
    - free_packet
    - xmalloc_clear
    - build_packet
    linkageType: ''
    returnType: int
    signature: int write_onepass_sig_packets (SK_LIST sk_list, IOBUF out, int sigclass
      )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: setup_plaintext_name
      Src: /src/gnupg/g10/sign.c:844,1
    - Dst: iobuf_is_pipe_filename
      Src: /src/gnupg/g10/sign.c:847,1
    - Dst: iobuf_get_filelength
      Src: /src/gnupg/g10/sign.c:851,1
    - Dst: log_info
      Src: /src/gnupg/g10/sign.c:853,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:853,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/sign.c:879,1
    - Dst: init_packet
      Src: /src/gnupg/g10/sign.c:884,1
    - Dst: build_packet
      Src: /src/gnupg/g10/sign.c:888,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:889,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/sign.c:890,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/sign.c:892,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/sign.c:894,1
    - Dst: memcpy
      Src: /src/gnupg/g10/sign.c:902,1
    - Dst: free_packet
      Src: /src/gnupg/g10/sign.c:905,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/sign.c:912,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/sign.c:915,1
    - Dst: iobuf_read
      Src: /src/gnupg/g10/sign.c:924,1
    - Dst: iobuf_write
      Src: /src/gnupg/g10/sign.c:925,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:927,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/sign.c:928,1
    - Dst: wipememory
      Src: /src/gnupg/g10/sign.c:931,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 5
    argNames:
    - out
    - inp
    - fname
    - ptmode
    - r_extrahash
    argTypes:
    - iobuf_t
    - iobuf_t
    - char*
    - int
    - pt_extra_hash_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 936
    functionName: write_plaintext_packet
    functionSourceFile: /src/gnupg/g10/sign.c
    functionUses: 0
    functionsReached:
    - iobuf_is_pipe_filename
    - iobuf_write
    - xtrymalloc
    - log_error
    - gpg_error_from_syserror
    - setup_plaintext_name
    - init_packet
    - iobuf_read
    - _
    - wipememory
    - make_timestamp
    - log_info
    - iobuf_get_filelength
    - gpg_strerror
    - memcpy
    - free_packet
    - build_packet
    linkageType: ''
    returnType: int
    signature: "int write_plaintext_packet (iobuf_t out, iobuf_t inp,\n                        const
      char *fname, int ptmode,\n                        pt_extra_hash_data_t *r_extrahash)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/sign.c:965,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/sign.c:967,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/sign.c:974,1
    - Dst: hash_for
      Src: /src/gnupg/g10/sign.c:975,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/sign.c:980,1
    - Dst: gcry_md_copy
      Src: /src/gnupg/g10/sign.c:985,1
    - Dst: BUG
      Src: /src/gnupg/g10/sign.c:986,1
    - Dst: build_sig_subpkt_from_sig
      Src: /src/gnupg/g10/sign.c:988,1
    - Dst: gnupg_rng_is_compliant
      Src: /src/gnupg/g10/sign.c:991,1
    - Dst: mk_notation_policy_etc
      Src: /src/gnupg/g10/sign.c:998,1
    - Dst: IS_SIG
      Src: /src/gnupg/g10/sign.c:999,1
    - Dst: mk_sig_subpkt_key_block
      Src: /src/gnupg/g10/sign.c:1000,1
    - Dst: hash_sigversion_to_magic
      Src: /src/gnupg/g10/sign.c:1003,1
    - Dst: gcry_md_final
      Src: /src/gnupg/g10/sign.c:1004,1
    - Dst: do_sign
      Src: /src/gnupg/g10/sign.c:1007,1
    - Dst: hash_for
      Src: /src/gnupg/g10/sign.c:1007,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/sign.c:1008,1
    - Dst: init_packet
      Src: /src/gnupg/g10/sign.c:1014,1
    - Dst: build_packet
      Src: /src/gnupg/g10/sign.c:1017,1
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/sign.c:1018,1
    - Dst: print_status_sig_created
      Src: /src/gnupg/g10/sign.c:1019,1
    - Dst: free_packet
      Src: /src/gnupg/g10/sign.c:1020,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:1022,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/sign.c:1023,1
    - Dst: free_seckey_enc
      Src: /src/gnupg/g10/sign.c:1026,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 10
    argNames:
    - ctrl
    - sk_list
    - out
    - hash
    - extrahash
    - sigclass
    - timestamp
    - duration
    - status_letter
    - cache_nonce
    argTypes:
    - ctrl_t
    - SK_LIST
    - IOBUF
    - gcry_md_hd_t
    - pt_extra_hash_data_t
    - int
    - u32
    - u32
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 944
    functionDepth: 9
    functionLinenumber: 944
    functionLinenumberEnd: 1033
    functionName: write_signature_packets
    functionSourceFile: /src/gnupg/g10/sign.c
    functionUses: 0
    functionsReached:
    - mk_notation_policy_etc
    - BUG
    - hash_for
    - gcry_md_final
    - free_packet
    - mk_sig_subpkt_key_block
    - gcry_md_close
    - log_error
    - init_packet
    - do_sign
    - gcry_md_copy
    - IS_SIG
    - gpg_error_from_syserror
    - build_sig_subpkt_from_sig
    - gpg_strerror
    - xtrycalloc
    - build_packet
    - gnupg_rng_is_compliant
    - keyid_from_pk
    - free_seckey_enc
    - is_status_enabled
    - make_timestamp
    - print_status_sig_created
    - hash_sigversion_to_magic
    linkageType: ''
    returnType: int
    signature: "int write_signature_packets (ctrl_t ctrl,\n                         SK_LIST
      sk_list, IOBUF out, gcry_md_hd_t hash,\n                         pt_extra_hash_data_t
      extrahash,\n                         int sigclass, u32 timestamp, u32 duration,\n\t\t\t
      int status_letter, const char *cache_nonce)"
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: new_progress_context
      Src: /src/gnupg/g10/sign.c:1073,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/sign.c:1074,1
    - Dst: memset
      Src: /src/gnupg/g10/sign.c:1075,1
    - Dst: memset
      Src: /src/gnupg/g10/sign.c:1076,1
    - Dst: memset
      Src: /src/gnupg/g10/sign.c:1077,1
    - Dst: init_packet
      Src: /src/gnupg/g10/sign.c:1079,1
    - Dst: log_bug
      Src: /src/gnupg/g10/sign.c:1090,1
    - Dst: setup_symkey
      Src: /src/gnupg/g10/sign.c:1093,1
    - Dst: ask_expire_interval
      Src: /src/gnupg/g10/sign.c:1097,1
    - Dst: parse_expire_string
      Src: /src/gnupg/g10/sign.c:1099,1
    - Dst: build_sk_list
      Src: /src/gnupg/g10/sign.c:1103,1
    - Dst: build_pk_list
      Src: /src/gnupg/g10/sign.c:1107,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/sign.c:1115,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/sign.c:1116,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/sign.c:1116,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/sign.c:1118,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/sign.c:1120,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/sign.c:1124,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:1125,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:1125,1
    - Dst: strerror
      Src: /src/gnupg/g10/sign.c:1126,1
    - Dst: handle_progress
      Src: /src/gnupg/g10/sign.c:1130,1
    - Dst: is_secured_filename
      Src: /src/gnupg/g10/sign.c:1135,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/sign.c:1138,1
    - Dst: iobuf_create
      Src: /src/gnupg/g10/sign.c:1141,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/sign.c:1144,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:1145,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:1145,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/sign.c:1145,1
    - Dst: log_info
      Src: /src/gnupg/g10/sign.c:1149,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:1149,1
    - Dst: open_outfile
      Src: /src/gnupg/g10/sign.c:1151,1
    - Dst: memset
      Src: /src/gnupg/g10/sign.c:1160,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/sign.c:1161,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/sign.c:1164,1
    - Dst: BUG
      Src: /src/gnupg/g10/sign.c:1165,1
    - Dst: gcry_md_debug
      Src: /src/gnupg/g10/sign.c:1167,1
    - Dst: select_algo_from_prefs
      Src: /src/gnupg/g10/sign.c:1181,1
    - Dst: log_info
      Src: /src/gnupg/g10/sign.c:1185,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:1185,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/g10/sign.c:1187,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/g10/sign.c:1220,1
    - Dst: ecdsa_qbits_from_Q
      Src: /src/gnupg/g10/sign.c:1224,1
    - Dst: select_algo_from_prefs
      Src: /src/gnupg/g10/sign.c:1254,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/sign.c:1264,1
    - Dst: hash_for
      Src: /src/gnupg/g10/sign.c:1264,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/sign.c:1270,1
    - Dst: md_thd_filter_set_md
      Src: /src/gnupg/g10/sign.c:1271,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/sign.c:1275,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/sign.c:1284,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/sign.c:1290,1
    - Dst: is_file_compressed
      Src: /src/gnupg/g10/sign.c:1298,1
    - Dst: log_info
      Src: /src/gnupg/g10/sign.c:1301,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:1301,1
    - Dst: select_algo_from_prefs
      Src: /src/gnupg/g10/sign.c:1312,1
    - Dst: default_compress_algo
      Src: /src/gnupg/g10/sign.c:1315,1
    - Dst: select_algo_from_prefs
      Src: /src/gnupg/g10/sign.c:1319,1
    - Dst: log_info
      Src: /src/gnupg/g10/sign.c:1322,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:1322,1
    - Dst: compress_algo_to_string
      Src: /src/gnupg/g10/sign.c:1324,1
    - Dst: push_compress_filter
      Src: /src/gnupg/g10/sign.c:1329,1
    - Dst: write_onepass_sig_packets
      Src: /src/gnupg/g10/sign.c:1335,1
    - Dst: write_status_begin_signing
      Src: /src/gnupg/g10/sign.c:1341,1
    - Dst: iobuf_set_buffer_size
      Src: /src/gnupg/g10/sign.c:1346,1
    - Dst: log_info
      Src: /src/gnupg/g10/sign.c:1353,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:1353,1
    - Dst: strlist_last
      Src: /src/gnupg/g10/sign.c:1355,1
    - Dst: strlist_prev
      Src: /src/gnupg/g10/sign.c:1357,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/sign.c:1359,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/sign.c:1360,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/sign.c:1360,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/sign.c:1362,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/sign.c:1364,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/sign.c:1368,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:1369,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:1369,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/sign.c:1370,1
    - Dst: handle_progress
      Src: /src/gnupg/g10/sign.c:1373,1
    - Dst: log_printf
      Src: /src/gnupg/g10/sign.c:1375,1
    - Dst: memset
      Src: /src/gnupg/g10/sign.c:1378,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/sign.c:1379,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/sign.c:1383,1
    - Dst: md_thd_filter_set_md
      Src: /src/gnupg/g10/sign.c:1384,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/sign.c:1388,1
    - Dst: iobuf_read
      Src: /src/gnupg/g10/sign.c:1391,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/sign.c:1393,1
    - Dst: log_printf
      Src: /src/gnupg/g10/sign.c:1397,1
    - Dst: iobuf_read
      Src: /src/gnupg/g10/sign.c:1402,1
    - Dst: write_plaintext_packet
      Src: /src/gnupg/g10/sign.c:1408,1
    - Dst: write_signature_packets
      Src: /src/gnupg/g10/sign.c:1419,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/sign.c:1428,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/sign.c:1431,1
    - Dst: write_status
      Src: /src/gnupg/g10/sign.c:1433,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/sign.c:1435,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/sign.c:1436,1
    - Dst: release_sk_list
      Src: /src/gnupg/g10/sign.c:1437,1
    - Dst: release_pk_list
      Src: /src/gnupg/g10/sign.c:1438,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/sign.c:1440,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/sign.c:1441,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:1442,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 215
    argCount: 7
    argNames:
    - ctrl
    - filenames
    - detached
    - locusr
    - encryptflag
    - remusr
    - outfile
    argTypes:
    - ctrl_t
    - strlist_t
    - int
    - strlist_t
    - int
    - strlist_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1049
    functionDepth: 10
    functionLinenumber: 1049
    functionLinenumberEnd: 1444
    functionName: sign_file
    functionSourceFile: /src/gnupg/g10/sign.c
    functionUses: 1
    functionsReached:
    - default_compress_algo
    - setup_symkey
    - BUG
    - iobuf_cancel
    - hash_for
    - write_signature_packets
    - open_outfile
    - gcry_md_close
    - handle_progress
    - compress_algo_to_string
    - md_thd_filter_set_md
    - release_pk_list
    - log_error
    - gcry_md_algo_name
    - log_bug
    - init_packet
    - _
    - write_status
    - log_info
    - write_plaintext_packet
    - log_printf
    - iobuf_set_buffer_size
    - push_armor_filter
    - gcry_mpi_get_nbits
    - gcry_md_debug
    - is_secured_file
    - gcry_md_open
    - build_pk_list
    - gpg_error_from_syserror
    - is_file_compressed
    - iobuf_push_filter
    - write_status_begin_signing
    - iobuf_open
    - ask_expire_interval
    - memset
    - gpg_strerror
    - select_algo_from_prefs
    - strlist_last
    - release_sk_list
    - xfree
    - is_secured_filename
    - release_armor_context
    - push_compress_filter
    - new_progress_context
    - ecdsa_qbits_from_Q
    - parse_expire_string
    - gcry_md_enable
    - iobuf_close
    - iobuf_get_fd
    - strlist_prev
    - release_progress_context
    - new_armor_context
    - iobuf_read
    - build_sk_list
    - write_onepass_sig_packets
    - gpg_err_set_errno
    - iobuf_create
    - strerror
    linkageType: ''
    returnType: int
    signature: "int sign_file (ctrl_t ctrl, strlist_t filenames, int detached, strlist_t
      locusr,\n\t   int encryptflag, strlist_t remusr, const char *outfile )"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: new_progress_context
      Src: /src/gnupg/g10/sign.c:1466,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/sign.c:1467,1
    - Dst: init_packet
      Src: /src/gnupg/g10/sign.c:1468,1
    - Dst: ask_expire_interval
      Src: /src/gnupg/g10/sign.c:1471,1
    - Dst: parse_expire_string
      Src: /src/gnupg/g10/sign.c:1473,1
    - Dst: build_sk_list
      Src: /src/gnupg/g10/sign.c:1477,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/sign.c:1481,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/sign.c:1482,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/sign.c:1482,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/sign.c:1484,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/sign.c:1486,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/sign.c:1490,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:1491,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:1491,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/sign.c:1492,1
    - Dst: handle_progress
      Src: /src/gnupg/g10/sign.c:1495,1
    - Dst: is_secured_filename
      Src: /src/gnupg/g10/sign.c:1499,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/sign.c:1502,1
    - Dst: iobuf_create
      Src: /src/gnupg/g10/sign.c:1505,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/sign.c:1509,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:1510,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:1510,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/sign.c:1510,1
    - Dst: log_info
      Src: /src/gnupg/g10/sign.c:1514,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:1514,1
    - Dst: open_outfile
      Src: /src/gnupg/g10/sign.c:1517,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/sign.c:1522,1
    - Dst: memset
      Src: /src/gnupg/g10/sign.c:1529,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/sign.c:1530,1
    - Dst: hash_for
      Src: /src/gnupg/g10/sign.c:1533,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/g10/sign.c:1537,1
    - Dst: iobuf_put
      Src: /src/gnupg/g10/sign.c:1542,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/sign.c:1543,1
    - Dst: log_assert
      Src: /src/gnupg/g10/sign.c:1548,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/sign.c:1549,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/sign.c:1553,1
    - Dst: iobuf_writestr
      Src: /src/gnupg/g10/sign.c:1556,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/sign.c:1558,1
    - Dst: BUG
      Src: /src/gnupg/g10/sign.c:1559,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/sign.c:1561,1
    - Dst: hash_for
      Src: /src/gnupg/g10/sign.c:1561,1
    - Dst: gcry_md_debug
      Src: /src/gnupg/g10/sign.c:1564,1
    - Dst: copy_clearsig_text
      Src: /src/gnupg/g10/sign.c:1566,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/sign.c:1571,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/sign.c:1574,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/sign.c:1577,1
    - Dst: write_signature_packets
      Src: /src/gnupg/g10/sign.c:1588,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/sign.c:1595,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/sign.c:1597,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/sign.c:1598,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/sign.c:1599,1
    - Dst: release_sk_list
      Src: /src/gnupg/g10/sign.c:1600,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/sign.c:1601,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/sign.c:1602,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:1603,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 98
    argCount: 4
    argNames:
    - ctrl
    - fname
    - locusr
    - outfile
    argTypes:
    - ctrl_t
    - char*
    - strlist_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1450
    functionDepth: 10
    functionLinenumber: 1450
    functionLinenumberEnd: 1605
    functionName: clearsign_file
    functionSourceFile: /src/gnupg/g10/sign.c
    functionUses: 1
    functionsReached:
    - log_assert
    - BUG
    - iobuf_cancel
    - hash_for
    - write_signature_packets
    - open_outfile
    - iobuf_put
    - gcry_md_close
    - handle_progress
    - xtrymalloc
    - log_error
    - gcry_md_algo_name
    - init_packet
    - copy_clearsig_text
    - _
    - log_info
    - push_armor_filter
    - gcry_md_debug
    - is_secured_file
    - gcry_md_open
    - gpg_error_from_syserror
    - iobuf_open
    - ask_expire_interval
    - gpg_strerror
    - memset
    - release_sk_list
    - xfree
    - is_secured_filename
    - iobuf_writestr
    - release_armor_context
    - release_progress_context
    - new_progress_context
    - parse_expire_string
    - gcry_md_enable
    - iobuf_close
    - iobuf_get_fd
    - new_armor_context
    - build_sk_list
    - gpg_err_set_errno
    - iobuf_create
    linkageType: ''
    returnType: int
    signature: "int clearsign_file (ctrl_t ctrl,\n                const char *fname,
      strlist_t locusr, const char *outfile)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: new_progress_context
      Src: /src/gnupg/g10/sign.c:1635,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/sign.c:1636,1
    - Dst: memset
      Src: /src/gnupg/g10/sign.c:1637,1
    - Dst: memset
      Src: /src/gnupg/g10/sign.c:1638,1
    - Dst: memset
      Src: /src/gnupg/g10/sign.c:1639,1
    - Dst: memset
      Src: /src/gnupg/g10/sign.c:1640,1
    - Dst: init_packet
      Src: /src/gnupg/g10/sign.c:1641,1
    - Dst: ask_expire_interval
      Src: /src/gnupg/g10/sign.c:1644,1
    - Dst: parse_expire_string
      Src: /src/gnupg/g10/sign.c:1646,1
    - Dst: build_sk_list
      Src: /src/gnupg/g10/sign.c:1650,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/sign.c:1655,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/sign.c:1656,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/sign.c:1656,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/sign.c:1658,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/sign.c:1660,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/sign.c:1664,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:1665,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:1665,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/sign.c:1666,1
    - Dst: handle_progress
      Src: /src/gnupg/g10/sign.c:1669,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/sign.c:1672,1
    - Dst: default_cipher_algo
      Src: /src/gnupg/g10/sign.c:1676,1
    - Dst: passphrase_to_dek
      Src: /src/gnupg/g10/sign.c:1677,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sign.c:1681,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:1682,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:1682,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/sign.c:1682,1
    - Dst: use_aead
      Src: /src/gnupg/g10/sign.c:1686,1
    - Dst: use_mdc
      Src: /src/gnupg/g10/sign.c:1688,1
    - Dst: log_info
      Src: /src/gnupg/g10/sign.c:1691,1
    - Dst: _
      Src: /src/gnupg/g10/sign.c:1691,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/sign.c:1692,1
    - Dst: openpgp_aead_algo_name
      Src: /src/gnupg/g10/sign.c:1693,1
    - Dst: open_outfile
      Src: /src/gnupg/g10/sign.c:1697,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/sign.c:1703,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/sign.c:1704,1
    - Dst: BUG
      Src: /src/gnupg/g10/sign.c:1705,1
    - Dst: gcry_md_debug
      Src: /src/gnupg/g10/sign.c:1707,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/sign.c:1710,1
    - Dst: hash_for
      Src: /src/gnupg/g10/sign.c:1710,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/sign.c:1714,1
    - Dst: md_thd_filter_set_md
      Src: /src/gnupg/g10/sign.c:1715,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/sign.c:1719,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/sign.c:1726,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/sign.c:1731,1
    - Dst: build_packet
      Src: /src/gnupg/g10/sign.c:1750,1
    - Dst: log_error
      Src: /src/gnupg/g10/sign.c:1751,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/sign.c:1751,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:1752,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/sign.c:1756,1
    - Dst: default_compress_algo
      Src: /src/gnupg/g10/sign.c:1762,1
    - Dst: push_compress_filter
      Src: /src/gnupg/g10/sign.c:1766,1
    - Dst: default_compress_algo
      Src: /src/gnupg/g10/sign.c:1766,1
    - Dst: write_onepass_sig_packets
      Src: /src/gnupg/g10/sign.c:1771,1
    - Dst: write_status_begin_signing
      Src: /src/gnupg/g10/sign.c:1775,1
    - Dst: write_plaintext_packet
      Src: /src/gnupg/g10/sign.c:1779,1
    - Dst: write_signature_packets
      Src: /src/gnupg/g10/sign.c:1787,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/sign.c:1796,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/sign.c:1799,1
    - Dst: write_status
      Src: /src/gnupg/g10/sign.c:1800,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/sign.c:1802,1
    - Dst: release_sk_list
      Src: /src/gnupg/g10/sign.c:1803,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/sign.c:1804,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:1805,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:1806,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/sign.c:1807,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/sign.c:1808,1
    - Dst: xfree
      Src: /src/gnupg/g10/sign.c:1809,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 110
    argCount: 3
    argNames:
    - ctrl
    - fname
    - locusr
    argTypes:
    - ctrl_t
    - char*
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1612
    functionDepth: 10
    functionLinenumber: 1612
    functionLinenumberEnd: 1811
    functionName: sign_symencrypt_file
    functionSourceFile: /src/gnupg/g10/sign.c
    functionUses: 1
    functionsReached:
    - default_compress_algo
    - BUG
    - iobuf_cancel
    - default_cipher_algo
    - hash_for
    - open_outfile
    - write_signature_packets
    - use_mdc
    - gcry_md_close
    - handle_progress
    - md_thd_filter_set_md
    - use_aead
    - log_error
    - init_packet
    - _
    - write_status
    - log_info
    - push_armor_filter
    - gcry_md_debug
    - is_secured_file
    - gcry_md_open
    - gpg_error_from_syserror
    - write_status_begin_signing
    - iobuf_push_filter
    - iobuf_open
    - ask_expire_interval
    - gpg_error
    - memset
    - gpg_strerror
    - xfree
    - release_sk_list
    - openpgp_cipher_algo_name
    - build_packet
    - release_armor_context
    - openpgp_aead_algo_name
    - new_progress_context
    - push_compress_filter
    - parse_expire_string
    - gcry_md_enable
    - iobuf_close
    - iobuf_get_fd
    - release_progress_context
    - new_armor_context
    - passphrase_to_dek
    - build_sk_list
    - write_onepass_sig_packets
    - gpg_err_set_errno
    - write_plaintext_packet
    - xmalloc_clear
    linkageType: ''
    returnType: int
    signature: int sign_symencrypt_file (ctrl_t ctrl, const char *fname, strlist_t
      locusr)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/sign.c:1859,1
    - Dst: match_dsa_hash
      Src: /src/gnupg/g10/sign.c:1876,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/g10/sign.c:1876,1
    - Dst: match_dsa_hash
      Src: /src/gnupg/g10/sign.c:1878,1
    - Dst: ecdsa_qbits_from_Q
      Src: /src/gnupg/g10/sign.c:1879,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/g10/sign.c:1879,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/g10/sign.c:1882,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/sign.c:1891,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/sign.c:1892,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/sign.c:1896,1
    - Dst: BUG
      Src: /src/gnupg/g10/sign.c:1897,1
    - Dst: hash_public_key
      Src: /src/gnupg/g10/sign.c:1900,1
    - Dst: hash_public_key
      Src: /src/gnupg/g10/sign.c:1906,1
    - Dst: hash_uid
      Src: /src/gnupg/g10/sign.c:1913,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/sign.c:1916,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/sign.c:1920,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/sign.c:1923,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/sign.c:1928,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/sign.c:1932,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/sign.c:1934,1
    - Dst: build_sig_subpkt_from_sig
      Src: /src/gnupg/g10/sign.c:1939,1
    - Dst: gnupg_rng_is_compliant
      Src: /src/gnupg/g10/sign.c:1947,1
    - Dst: mk_notation_policy_etc
      Src: /src/gnupg/g10/sign.c:1953,1
    - Dst: hash_sigversion_to_magic
      Src: /src/gnupg/g10/sign.c:1963,1
    - Dst: gcry_md_final
      Src: /src/gnupg/g10/sign.c:1964,1
    - Dst: complete_sig
      Src: /src/gnupg/g10/sign.c:1965,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/sign.c:1968,1
    - Dst: free_seckey_enc
      Src: /src/gnupg/g10/sign.c:1970,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 70
    argCount: 11
    argNames:
    - ctrl
    - ret_sig
    - pk
    - uid
    - subpk
    - pksk
    - sigclass
    - timestamp
    - duration
    - opaque
    - cache_nonce
    argTypes:
    - ctrl_t
    - PKT_signature**
    - PKT_public_key*
    - PKT_user_id*
    - PKT_public_key*
    - PKT_public_key*
    - int
    - u32
    - u32
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1840
    functionDepth: 5
    functionLinenumber: 1840
    functionLinenumberEnd: 1974
    functionName: make_keysig_packet
    functionSourceFile: /src/gnupg/g10/sign.c
    functionUses: 11
    functionsReached:
    - log_assert
    - mk_notation_policy_etc
    - BUG
    - gcry_md_final
    - complete_sig
    - gcry_md_close
    - hash_public_key
    - IS_KEY_REV
    - gcry_mpi_get_nbits
    - gcry_md_open
    - match_dsa_hash
    - build_sig_subpkt_from_sig
    - hash_uid
    - ecdsa_qbits_from_Q
    - gnupg_rng_is_compliant
    - keyid_from_pk
    - free_seckey_enc
    - make_timestamp
    - fingerprint_from_pk
    - xmalloc_clear
    - hash_sigversion_to_magic
    linkageType: ''
    returnType: int
    signature: "int make_keysig_packet (ctrl_t ctrl,\n                    PKT_signature
      **ret_sig, PKT_public_key *pk,\n\t\t    PKT_user_id *uid, PKT_public_key *subpk,\n\t\t
      \   PKT_public_key *pksk,\n\t\t    int sigclass,\n                    u32 timestamp,
      u32 duration,\n\t\t    int (*mksubpkt)(PKT_signature *, void *), void *opaque,\n
      \                   const char *cache_nonce)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/sign.c:2026,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/sign.c:2027,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/sign.c:2031,1
    - Dst: BUG
      Src: /src/gnupg/g10/sign.c:2032,1
    - Dst: hash_public_key
      Src: /src/gnupg/g10/sign.c:2035,1
    - Dst: hash_public_key
      Src: /src/gnupg/g10/sign.c:2038,1
    - Dst: hash_uid
      Src: /src/gnupg/g10/sign.c:2040,1
    - Dst: copy_signature
      Src: /src/gnupg/g10/sign.c:2043,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/sign.c:2058,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sign.c:2068,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/g10/sign.c:2071,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/sign.c:2072,1
    - Dst: build_sig_subpkt_from_sig
      Src: /src/gnupg/g10/sign.c:2090,1
    - Dst: hash_sigversion_to_magic
      Src: /src/gnupg/g10/sign.c:2097,1
    - Dst: gcry_md_final
      Src: /src/gnupg/g10/sign.c:2098,1
    - Dst: complete_sig
      Src: /src/gnupg/g10/sign.c:2099,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/sign.c:2103,1
    - Dst: free_seckey_enc
      Src: /src/gnupg/g10/sign.c:2105,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 56
    argCount: 8
    argNames:
    - ctrl
    - ret_sig
    - orig_sig
    - pk
    - uid
    - subpk
    - pksk
    - opaque
    argTypes:
    - ctrl_t
    - PKT_signature**
    - PKT_signature*
    - PKT_public_key*
    - PKT_user_id*
    - PKT_public_key*
    - PKT_public_key*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 1986
    functionDepth: 5
    functionLinenumber: 1986
    functionLinenumberEnd: 2109
    functionName: update_keysig_packet
    functionSourceFile: /src/gnupg/g10/sign.c
    functionUses: 7
    functionsReached:
    - gcry_md_open
    - copy_signature
    - free_seckey_enc
    - keyid_from_pk
    - hash_public_key
    - BUG
    - make_timestamp
    - gpg_error
    - build_sig_subpkt_from_sig
    - hash_uid
    - gcry_md_final
    - complete_sig
    - gcry_md_close
    - gnupg_sleep
    - hash_sigversion_to_magic
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t update_keysig_packet (ctrl_t ctrl,\n                      PKT_signature
      **ret_sig,\n                      PKT_signature *orig_sig,\n                      PKT_public_key
      *pk,\n                      PKT_user_id *uid,\n                      PKT_public_key
      *subpk,\n                      PKT_public_key *pksk,\n                      int
      (*mksubpkt)(PKT_signature *, void *),\n                      void *opaque)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/seckey-cert.c:56,1
    - Dst: _
      Src: /src/gnupg/g10/seckey-cert.c:56,1
    - Dst: BUG
      Src: /src/gnupg/g10/seckey-cert.c:60,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/seckey-cert.c:61,1
    - Dst: log_info
      Src: /src/gnupg/g10/seckey-cert.c:62,1
    - Dst: _
      Src: /src/gnupg/g10/seckey-cert.c:62,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/g10/seckey-cert.c:66,1
    - Dst: log_info
      Src: /src/gnupg/g10/seckey-cert.c:68,1
    - Dst: _
      Src: /src/gnupg/g10/seckey-cert.c:68,1
    - Dst: keyid_from_sk
      Src: /src/gnupg/g10/seckey-cert.c:72,1
    - Dst: passphrase_to_dek
      Src: /src/gnupg/g10/seckey-cert.c:79,1
    - Dst: openpgp_cipher_open
      Src: /src/gnupg/g10/seckey-cert.c:86,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/seckey-cert.c:92,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/seckey-cert.c:92,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/g10/seckey-cert.c:94,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/seckey-cert.c:96,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/seckey-cert.c:96,1
    - Dst: xfree
      Src: /src/gnupg/g10/seckey-cert.c:98,1
    - Dst: copy_secret_key
      Src: /src/gnupg/g10/seckey-cert.c:99,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/g10/seckey-cert.c:101,1
    - Dst: pubkey_get_npkey
      Src: /src/gnupg/g10/seckey-cert.c:110,1
    - Dst: assert
      Src: /src/gnupg/g10/seckey-cert.c:112,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/seckey-cert.c:112,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/seckey-cert.c:113,1
    - Dst: buf16_to_u16
      Src: /src/gnupg/g10/seckey-cert.c:117,1
    - Dst: xmalloc_secure
      Src: /src/gnupg/g10/seckey-cert.c:118,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/g10/seckey-cert.c:119,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/seckey-cert.c:120,1
    - Dst: log_error
      Src: /src/gnupg/g10/seckey-cert.c:130,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/seckey-cert.c:134,1
    - Dst: BUG
      Src: /src/gnupg/g10/seckey-cert.c:135,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/seckey-cert.c:136,1
    - Dst: gcry_md_final
      Src: /src/gnupg/g10/seckey-cert.c:137,1
    - Dst: memcmp
      Src: /src/gnupg/g10/seckey-cert.c:138,1
    - Dst: gcry_md_read
      Src: /src/gnupg/g10/seckey-cert.c:138,1
    - Dst: checksum
      Src: /src/gnupg/g10/seckey-cert.c:146,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/seckey-cert.c:148,1
    - Dst: log_error
      Src: /src/gnupg/g10/seckey-cert.c:153,1
    - Dst: checksum
      Src: /src/gnupg/g10/seckey-cert.c:158,1
    - Dst: pubkey_get_nskey
      Src: /src/gnupg/g10/seckey-cert.c:170,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/g10/seckey-cert.c:171,1
    - Dst: xfree
      Src: /src/gnupg/g10/seckey-cert.c:186,1
    - Dst: pubkey_get_npkey
      Src: /src/gnupg/g10/seckey-cert.c:189,1
    - Dst: pubkey_get_nskey
      Src: /src/gnupg/g10/seckey-cert.c:190,1
    - Dst: assert
      Src: /src/gnupg/g10/seckey-cert.c:195,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/seckey-cert.c:195,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/seckey-cert.c:196,1
    - Dst: assert
      Src: /src/gnupg/g10/seckey-cert.c:198,1
    - Dst: assert
      Src: /src/gnupg/g10/seckey-cert.c:199,1
    - Dst: xmalloc_secure
      Src: /src/gnupg/g10/seckey-cert.c:200,1
    - Dst: gcry_cipher_sync
      Src: /src/gnupg/g10/seckey-cert.c:201,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/g10/seckey-cert.c:204,1
    - Dst: checksum
      Src: /src/gnupg/g10/seckey-cert.c:206,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/seckey-cert.c:207,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/g10/seckey-cert.c:209,1
    - Dst: xfree
      Src: /src/gnupg/g10/seckey-cert.c:211,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/g10/seckey-cert.c:223,1
    - Dst: copy_secret_key
      Src: /src/gnupg/g10/seckey-cert.c:227,1
    - Dst: passphrase_clear_cache
      Src: /src/gnupg/g10/seckey-cert.c:228,1
    - Dst: free_secret_key
      Src: /src/gnupg/g10/seckey-cert.c:229,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/seckey-cert.c:230,1
    - Dst: pk_check_secret_key
      Src: /src/gnupg/g10/seckey-cert.c:234,1
    - Dst: copy_secret_key
      Src: /src/gnupg/g10/seckey-cert.c:236,1
    - Dst: passphrase_clear_cache
      Src: /src/gnupg/g10/seckey-cert.c:237,1
    - Dst: free_secret_key
      Src: /src/gnupg/g10/seckey-cert.c:238,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/seckey-cert.c:239,1
    - Dst: free_secret_key
      Src: /src/gnupg/g10/seckey-cert.c:241,1
    - Dst: pubkey_get_npkey
      Src: /src/gnupg/g10/seckey-cert.c:246,1
    - Dst: pubkey_get_nskey
      Src: /src/gnupg/g10/seckey-cert.c:247,1
    - Dst: checksum_mpi
      Src: /src/gnupg/g10/seckey-cert.c:248,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 134
    argCount: 4
    argNames:
    - sk
    - tryagain_text
    - mode
    - canceled
    argTypes:
    - PKT_secret_key*
    - char*
    - int
    - int*
    assertStmts:
    - condition: (ndata == ((p[0] << 8 | p[1]) + 7)/8 + 2)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/gnupg/g10/seckey-cert.c
    - condition: (gcry_mpi_get_flag (sk->skey[i], GCRYMPI_FLAG_OPAQUE))
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/gnupg/g10/seckey-cert.c
    - condition: (ndata >= 2)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/gnupg/g10/seckey-cert.c
    - condition: ( gcry_mpi_get_flag (sk->skey[i], GCRYMPI_FLAG_OPAQUE ))
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/gnupg/g10/seckey-cert.c
    constantsTouched: []
    func_position:
      end: 255
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 255
    functionName: xxxx_do_check
    functionSourceFile: /src/gnupg/g10/seckey-cert.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - gcry_cipher_setiv
    - BUG
    - gcry_md_final
    - checksum
    - gcry_md_close
    - buf16_to_u16
    - free_secret_key
    - pubkey_get_nskey
    - gcry_mpi_scan
    - openpgp_cipher_open
    - gcry_cipher_sync
    - log_error
    - xmalloc_secure
    - _
    - pubkey_get_npkey
    - checksum_mpi
    - log_info
    - gcry_md_read
    - gcry_md_open
    - gcry_cipher_setkey
    - assert
    - pk_check_secret_key
    - gpg_error
    - gpg_strerror
    - xfree
    - gcry_md_test_algo
    - gcry_mpi_get_opaque
    - gcry_mpi_release
    - gcry_md_write
    - gcry_cipher_decrypt
    - keyid_from_sk
    - passphrase_to_dek
    - log_fatal
    - memcmp
    - passphrase_clear_cache
    - openpgp_cipher_test_algo
    - copy_secret_key
    - gcry_cipher_close
    linkageType: ''
    returnType: int
    signature: "int xxxx_do_check( PKT_secret_key *sk, const char *tryagain_text,
      int mode,\n               int *canceled )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: pass
    functionSourceFile: /src/gnupg/g10/t-rmd160.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: fail
    functionSourceFile: /src/gnupg/g10/t-rmd160.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rmd160_hash_buffer
      Src: /src/gnupg/g10/t-rmd160.c:74,1
    - Dst: strlen
      Src: /src/gnupg/g10/t-rmd160.c:75,1
    - Dst: memcmp
      Src: /src/gnupg/g10/t-rmd160.c:76,1
    - Dst: fail
      Src: /src/gnupg/g10/t-rmd160.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 79
    functionName: run_test
    functionSourceFile: /src/gnupg/g10/t-rmd160.c
    functionUses: 0
    functionsReached:
    - memcmp
    - rmd160_hash_buffer
    - fail
    - strlen
    linkageType: ''
    returnType: void
    signature: void run_test (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_test
      Src: /src/gnupg/g10/t-rmd160.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/gnupg/g10/t-rmd160.c
    functionUses: 4
    functionsReached:
    - run_test
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: new_progress_context
      Src: /src/gnupg/g10/decrypt.c:61,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/decrypt.c:64,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/decrypt.c:65,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/decrypt.c:65,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/decrypt.c:67,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/decrypt.c:69,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/decrypt.c:73,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt.c:74,1
    - Dst: _
      Src: /src/gnupg/g10/decrypt.c:74,1
    - Dst: print_fname_stdin
      Src: /src/gnupg/g10/decrypt.c:74,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/decrypt.c:75,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/decrypt.c:76,1
    - Dst: handle_progress
      Src: /src/gnupg/g10/decrypt.c:84,1
    - Dst: use_armor_filter
      Src: /src/gnupg/g10/decrypt.c:88,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/decrypt.c:90,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/decrypt.c:91,1
    - Dst: proc_encryption_packets
      Src: /src/gnupg/g10/decrypt.c:103,1
    - Dst: proc_encryption_packets
      Src: /src/gnupg/g10/decrypt.c:105,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt.c:110,1
    - Dst: _
      Src: /src/gnupg/g10/decrypt.c:110,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/decrypt.c:111,1
    - Dst: _
      Src: /src/gnupg/g10/decrypt.c:111,1
    - Dst: was_armored
      Src: /src/gnupg/g10/decrypt.c:116,1
    - Dst: reencrypt_to_new_recipients
      Src: /src/gnupg/g10/decrypt.c:118,1
    - Dst: xfree
      Src: /src/gnupg/g10/decrypt.c:122,1
    - Dst: free_seskey_enc_list
      Src: /src/gnupg/g10/decrypt.c:123,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/decrypt.c:124,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/decrypt.c:125,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/decrypt.c:126,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 3
    argNames:
    - ctrl
    - filename
    - remusr
    argTypes:
    - ctrl_t
    - char*
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 51
    functionDepth: 8
    functionLinenumber: 51
    functionLinenumberEnd: 128
    functionName: decrypt_message
    functionSourceFile: /src/gnupg/g10/decrypt.c
    functionUses: 2
    functionsReached:
    - free_seskey_enc_list
    - handle_progress
    - log_error
    - _
    - reencrypt_to_new_recipients
    - push_armor_filter
    - proc_encryption_packets
    - print_fname_stdin
    - is_secured_file
    - gpg_error_from_syserror
    - iobuf_open
    - gpg_strerror
    - xfree
    - release_armor_context
    - release_progress_context
    - new_progress_context
    - iobuf_close
    - iobuf_get_fd
    - new_armor_context
    - was_armored
    - gpg_err_set_errno
    - use_armor_filter
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t decrypt_message (ctrl_t ctrl, const char *filename, strlist_t
      remusr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/decrypt.c:142,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/decrypt.c:150,1
    - Dst: new_progress_context
      Src: /src/gnupg/g10/decrypt.c:152,1
    - Dst: iobuf_fdopen_nc
      Src: /src/gnupg/g10/decrypt.c:155,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/decrypt.c:156,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/decrypt.c:156,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/decrypt.c:158,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/decrypt.c:160,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/decrypt.c:166,1
    - Dst: snprintf
      Src: /src/gnupg/g10/decrypt.c:167,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt.c:168,1
    - Dst: _
      Src: /src/gnupg/g10/decrypt.c:168,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/decrypt.c:168,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/decrypt.c:169,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/decrypt.c:173,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/decrypt.c:177,1
    - Dst: snprintf
      Src: /src/gnupg/g10/decrypt.c:178,1
    - Dst: FD_DBG
      Src: /src/gnupg/g10/decrypt.c:178,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt.c:179,1
    - Dst: _
      Src: /src/gnupg/g10/decrypt.c:179,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/decrypt.c:179,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/decrypt.c:180,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/decrypt.c:181,1
    - Dst: open_stream_nc
      Src: /src/gnupg/g10/decrypt.c:185,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/decrypt.c:190,1
    - Dst: snprintf
      Src: /src/gnupg/g10/decrypt.c:191,1
    - Dst: FD_DBG
      Src: /src/gnupg/g10/decrypt.c:191,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt.c:192,1
    - Dst: _
      Src: /src/gnupg/g10/decrypt.c:192,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/decrypt.c:192,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/decrypt.c:193,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/decrypt.c:194,1
    - Dst: use_armor_filter
      Src: /src/gnupg/g10/decrypt.c:200,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/decrypt.c:202,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/decrypt.c:203,1
    - Dst: proc_encryption_packets
      Src: /src/gnupg/g10/decrypt.c:207,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/decrypt.c:209,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/decrypt.c:210,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/decrypt.c:212,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/decrypt.c:213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 3
    argNames:
    - ctrl
    - input_fd
    - output_fd
    argTypes:
    - ctrl_t
    - gnupg_fd_t
    - gnupg_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 216
    functionName: decrypt_message_fd
    functionSourceFile: /src/gnupg/g10/decrypt.c
    functionUses: 1
    functionsReached:
    - iobuf_fdopen_nc
    - open_stream_nc
    - log_error
    - _
    - FD_DBG
    - push_armor_filter
    - proc_encryption_packets
    - is_secured_file
    - gpg_error_from_syserror
    - gpg_error
    - gpg_strerror
    - release_armor_context
    - release_progress_context
    - new_progress_context
    - iobuf_close
    - iobuf_get_fd
    - snprintf
    - es_fclose
    - new_armor_context
    - gpg_err_set_errno
    - use_armor_filter
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t decrypt_message_fd (ctrl_t ctrl, gnupg_fd_t input_fd,\n
      \                   gnupg_fd_t output_fd)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt.c:230,1
    - Dst: _
      Src: /src/gnupg/g10/decrypt.c:230,1
    - Dst: new_progress_context
      Src: /src/gnupg/g10/decrypt.c:234,1
    - Dst: fgets
      Src: /src/gnupg/g10/decrypt.c:246,1
    - Dst: DIM
      Src: /src/gnupg/g10/decrypt.c:246,1
    - Dst: strlen
      Src: /src/gnupg/g10/decrypt.c:249,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt.c:250,1
    - Dst: strlen
      Src: /src/gnupg/g10/decrypt.c:253,1
    - Dst: print_file_status
      Src: /src/gnupg/g10/decrypt.c:271,1
    - Dst: make_outfile_name
      Src: /src/gnupg/g10/decrypt.c:272,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/decrypt.c:275,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/decrypt.c:277,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/decrypt.c:278,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/decrypt.c:278,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/decrypt.c:280,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/decrypt.c:282,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt.c:286,1
    - Dst: _
      Src: /src/gnupg/g10/decrypt.c:286,1
    - Dst: print_fname_stdin
      Src: /src/gnupg/g10/decrypt.c:286,1
    - Dst: handle_progress
      Src: /src/gnupg/g10/decrypt.c:290,1
    - Dst: use_armor_filter
      Src: /src/gnupg/g10/decrypt.c:294,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/decrypt.c:296,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/decrypt.c:297,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt.c:299,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/decrypt.c:300,1
    - Dst: proc_packets
      Src: /src/gnupg/g10/decrypt.c:303,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/decrypt.c:304,1
    - Dst: log_error
      Src: /src/gnupg/g10/decrypt.c:306,1
    - Dst: print_fname_stdin
      Src: /src/gnupg/g10/decrypt.c:306,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/decrypt.c:307,1
    - Dst: get_last_passphrase
      Src: /src/gnupg/g10/decrypt.c:308,1
    - Dst: set_next_passphrase
      Src: /src/gnupg/g10/decrypt.c:309,1
    - Dst: xfree
      Src: /src/gnupg/g10/decrypt.c:310,1
    - Dst: write_status
      Src: /src/gnupg/g10/decrypt.c:314,1
    - Dst: xfree
      Src: /src/gnupg/g10/decrypt.c:315,1
    - Dst: reset_literals_seen
      Src: /src/gnupg/g10/decrypt.c:316,1
    - Dst: set_next_passphrase
      Src: /src/gnupg/g10/decrypt.c:319,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/decrypt.c:320,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 3
    argNames:
    - ctrl
    - nfiles
    - files
    argTypes:
    - ctrl_t
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 321
    functionName: decrypt_messages
    functionSourceFile: /src/gnupg/g10/decrypt.c
    functionUses: 2
    functionsReached:
    - strlen
    - get_last_passphrase
    - fgets
    - handle_progress
    - log_error
    - DIM
    - _
    - iobuf_ioctl
    - set_next_passphrase
    - write_status
    - reset_literals_seen
    - push_armor_filter
    - print_fname_stdin
    - make_outfile_name
    - is_secured_file
    - iobuf_open
    - proc_packets
    - print_file_status
    - gpg_strerror
    - xfree
    - release_armor_context
    - release_progress_context
    - new_progress_context
    - iobuf_close
    - iobuf_get_fd
    - new_armor_context
    - gpg_err_set_errno
    - use_armor_filter
    linkageType: ''
    returnType: void
    signature: void decrypt_messages (ctrl_t ctrl, int nfiles, char *files[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/call-dirmngr.c:134,1
    - Dst: assuan_release
      Src: /src/gnupg/g10/call-dirmngr.c:136,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 139
    functionName: gpg_dirmngr_deinit_session_data
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 5
    functionsReached:
    - assuan_release
    - xfree
    - log_error
    linkageType: ''
    returnType: void
    signature: void gpg_dirmngr_deinit_session_data (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: warn_server_version_mismatch
      Src: /src/gnupg/g10/call-dirmngr.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - servername
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: warn_version_mismatch
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 3
    functionsReached:
    - warn_server_version_mismatch
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t warn_version_mismatch (assuan_context_t ctx, const char
      *servername)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-dirmngr.c:164,1
    - Dst: start_new_dirmngr
      Src: /src/gnupg/g10/call-dirmngr.c:166,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/call-dirmngr.c:172,1
    - Dst: log_info
      Src: /src/gnupg/g10/call-dirmngr.c:179,1
    - Dst: _
      Src: /src/gnupg/g10/call-dirmngr.c:179,1
    - Dst: warn_version_mismatch
      Src: /src/gnupg/g10/call-dirmngr.c:182,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/call-dirmngr.c:191,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:194,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-dirmngr.c:197,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:199,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-dirmngr.c:210,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/call-dirmngr.c:212,1
    - Dst: log_error
      Src: /src/gnupg/g10/call-dirmngr.c:213,1
    - Dst: _
      Src: /src/gnupg/g10/call-dirmngr.c:213,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/call-dirmngr.c:215,1
    - Dst: assuan_release
      Src: /src/gnupg/g10/call-dirmngr.c:221,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - ctrl
    - r_ctx
    argTypes:
    - ctrl_t
    - assuan_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 229
    functionName: create_context
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - warn_version_mismatch
    - gpg_error_from_syserror
    - log_error
    - assuan_release
    - _
    - assuan_transact
    - gpg_error
    - xtryasprintf
    - log_info
    - gpg_err_code
    - xfree
    - start_new_dirmngr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t create_context (ctrl_t ctrl, assuan_context_t *r_ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/call-dirmngr.c:251,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/call-dirmngr.c:267,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:271,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-dirmngr.c:274,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:276,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/call-dirmngr.c:292,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:294,1
    - Dst: create_context
      Src: /src/gnupg/g10/call-dirmngr.c:295,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:298,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - ctrl
    - r_ctx
    argTypes:
    - ctrl_t
    - assuan_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 309
    functionName: open_context
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_syserror
    - log_assert
    - assuan_transact
    - create_context
    - xtryasprintf
    - xfree
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t open_context (ctrl_t ctrl, assuan_context_t *r_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_fatal
      Src: /src/gnupg/g10/call-dirmngr.c:327,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/call-dirmngr.c:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ctrl
    - ctx
    argTypes:
    - ctrl_t
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 333
    functionName: close_context
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - log_fatal
    linkageType: ''
    returnType: void
    signature: void close_context (ctrl_t ctrl, assuan_context_t ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_fatal
      Src: /src/gnupg/g10/call-dirmngr.c:350,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/call-dirmngr.c:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ctrl
    - ctx
    argTypes:
    - ctrl_t
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 356
    functionName: clear_context_flags
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - log_fatal
    linkageType: ''
    returnType: void
    signature: void clear_context_flags (ctrl_t ctrl, assuan_context_t ctx)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-dirmngr.c:371,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/call-dirmngr.c:376,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:378,1
    - Dst: strchr
      Src: /src/gnupg/g10/call-dirmngr.c:381,1
    - Dst: strchr
      Src: /src/gnupg/g10/call-dirmngr.c:386,1
    - Dst: strchr
      Src: /src/gnupg/g10/call-dirmngr.c:394,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-dirmngr.c:405,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-dirmngr.c:406,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-dirmngr.c:408,1
    - Dst: _
      Src: /src/gnupg/g10/call-dirmngr.c:411,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-dirmngr.c:413,1
    - Dst: _
      Src: /src/gnupg/g10/call-dirmngr.c:414,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-dirmngr.c:415,1
    - Dst: _
      Src: /src/gnupg/g10/call-dirmngr.c:416,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-dirmngr.c:417,1
    - Dst: _
      Src: /src/gnupg/g10/call-dirmngr.c:418,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-dirmngr.c:419,1
    - Dst: _
      Src: /src/gnupg/g10/call-dirmngr.c:420,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-dirmngr.c:421,1
    - Dst: _
      Src: /src/gnupg/g10/call-dirmngr.c:422,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-dirmngr.c:423,1
    - Dst: _
      Src: /src/gnupg/g10/call-dirmngr.c:424,1
    - Dst: log_info
      Src: /src/gnupg/g10/call-dirmngr.c:431,1
    - Dst: _
      Src: /src/gnupg/g10/call-dirmngr.c:431,1
    - Dst: log_info
      Src: /src/gnupg/g10/call-dirmngr.c:433,1
    - Dst: _
      Src: /src/gnupg/g10/call-dirmngr.c:433,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-dirmngr.c:436,1
    - Dst: spacep
      Src: /src/gnupg/g10/call-dirmngr.c:438,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/call-dirmngr.c:441,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 53
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 447
    functionName: ks_status_cb
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - spacep
    - _
    - xtrystrdup
    - strchr
    - log_info
    - print_further_info
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_status_cb (void *opaque, const char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-dirmngr.c:462,1
    - Dst: open_context
      Src: /src/gnupg/g10/call-dirmngr.c:467,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-dirmngr.c:471,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-dirmngr.c:477,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:484,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:488,1
    - Dst: close_context
      Src: /src/gnupg/g10/call-dirmngr.c:489,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ctrl
    - r_keyserver
    argTypes:
    - ctrl_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 491
    functionName: gpg_dirmngr_ks_list
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 3
    functionsReached:
    - assuan_transact
    - gpg_error
    - close_context
    - memset
    - xfree
    - open_context
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpg_dirmngr_ks_list (ctrl_t ctrl, char **r_keyserver)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: struct ks_search_parm_s*::data_cb
      Src: /src/gnupg/g10/call-dirmngr.c:510,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:520,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/call-dirmngr.c:527,1
    - Dst: peek_membuf
      Src: /src/gnupg/g10/call-dirmngr.c:530,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:533,1
    - Dst: memchr
      Src: /src/gnupg/g10/call-dirmngr.c:536,1
    - Dst: memcpy
      Src: /src/gnupg/g10/call-dirmngr.c:542,1
    - Dst: struct ks_search_parm_s*::data_cb
      Src: /src/gnupg/g10/call-dirmngr.c:546,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:552,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/call-dirmngr.c:554,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:557,1
    - Dst: memcpy
      Src: /src/gnupg/g10/call-dirmngr.c:561,1
    - Dst: struct ks_search_parm_s*::data_cb
      Src: /src/gnupg/g10/call-dirmngr.c:565,1
    - Dst: clear_membuf
      Src: /src/gnupg/g10/call-dirmngr.c:571,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - opaque
    - data
    - datalen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 577
    functionName: ks_search_data_cb
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - peek_membuf
    - xtrymalloc
    - gpg_error_from_syserror
    - put_membuf
    - struct ks_search_parm_s*::data_cb
    - xfree
    - memcpy
    - clear_membuf
    - memchr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_search_data_cb (void *opaque, const void *data, size_t
      datalen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open_context
      Src: /src/gnupg/g10/call-dirmngr.c:597,1
    - Dst: percent_plus_escape
      Src: /src/gnupg/g10/call-dirmngr.c:602,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:605,1
    - Dst: close_context
      Src: /src/gnupg/g10/call-dirmngr.c:606,1
    - Dst: snprintf
      Src: /src/gnupg/g10/call-dirmngr.c:609,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:610,1
    - Dst: memset
      Src: /src/gnupg/g10/call-dirmngr.c:613,1
    - Dst: memset
      Src: /src/gnupg/g10/call-dirmngr.c:614,1
    - Dst: init_membuf
      Src: /src/gnupg/g10/call-dirmngr.c:615,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-dirmngr.c:620,1
    - Dst: cb
      Src: /src/gnupg/g10/call-dirmngr.c:623,1
    - Dst: struct ks_search_parm_s::data_cb
      Src: /src/gnupg/g10/call-dirmngr.c:628,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:631,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-dirmngr.c:631,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:632,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:633,1
    - Dst: close_context
      Src: /src/gnupg/g10/call-dirmngr.c:635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - ctrl
    - searchstr
    - cb_value
    argTypes:
    - ctrl_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 637
    functionName: gpg_dirmngr_ks_search
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 1
    functionsReached:
    - cb
    - get_membuf
    - init_membuf
    - struct ks_search_parm_s::data_cb
    - gpg_error_from_syserror
    - percent_plus_escape
    - snprintf
    - assuan_transact
    - close_context
    - xfree
    - memset
    - open_context
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gpg_dirmngr_ks_search (ctrl_t ctrl, const char *searchstr,\n
      \                      gpg_error_t (*cb)(void*, int, char *), void *cb_value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_write
      Src: /src/gnupg/g10/call-dirmngr.c:652,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - opaque
    - data
    - datalen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 656
    functionName: ks_get_data_cb
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - es_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_get_data_cb (void *opaque, const void *data, size_t
      datalen)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-dirmngr.c:695,1
    - Dst: memset
      Src: /src/gnupg/g10/call-dirmngr.c:696,1
    - Dst: open_context
      Src: /src/gnupg/g10/call-dirmngr.c:702,1
    - Dst: clear_context_flags
      Src: /src/gnupg/g10/call-dirmngr.c:711,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/call-dirmngr.c:712,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:715,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-dirmngr.c:718,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:723,1
    - Dst: init_membuf
      Src: /src/gnupg/g10/call-dirmngr.c:728,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/call-dirmngr.c:729,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/call-dirmngr.c:731,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/call-dirmngr.c:733,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/call-dirmngr.c:734,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/call-dirmngr.c:737,1
    - Dst: put_membuf_str
      Src: /src/gnupg/g10/call-dirmngr.c:738,1
    - Dst: put_membuf
      Src: /src/gnupg/g10/call-dirmngr.c:740,1
    - Dst: get_membuf
      Src: /src/gnupg/g10/call-dirmngr.c:741,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:744,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-dirmngr.c:749,1
    - Dst: es_fopenmem
      Src: /src/gnupg/g10/call-dirmngr.c:753,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:756,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-dirmngr.c:759,1
    - Dst: es_rewind
      Src: /src/gnupg/g10/call-dirmngr.c:764,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/call-dirmngr.c:775,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:776,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:777,1
    - Dst: close_context
      Src: /src/gnupg/g10/call-dirmngr.c:778,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 6
    argNames:
    - ctrl
    - pattern
    - override_keyserver
    - flags
    - r_fp
    - r_source
    argTypes:
    - ctrl_t
    - char**
    - keyserver_spec_t
    - unsigned int
    - estream_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 780
    functionName: gpg_dirmngr_ks_get
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 1
    functionsReached:
    - get_membuf
    - es_fopenmem
    - init_membuf
    - gpg_error_from_syserror
    - put_membuf
    - es_fclose
    - clear_context_flags
    - put_membuf_str
    - assuan_transact
    - gpg_error
    - xtryasprintf
    - memset
    - xfree
    - open_context
    - es_rewind
    - close_context
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gpg_dirmngr_ks_get (ctrl_t ctrl, char **pattern,\n                    keyserver_spec_t
      override_keyserver,\n                    unsigned int flags,\n                    estream_t
      *r_fp, char **r_source)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-dirmngr.c:799,1
    - Dst: open_context
      Src: /src/gnupg/g10/call-dirmngr.c:803,1
    - Dst: strconcat
      Src: /src/gnupg/g10/call-dirmngr.c:807,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:810,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-dirmngr.c:813,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-dirmngr.c:815,1
    - Dst: es_fopenmem
      Src: /src/gnupg/g10/call-dirmngr.c:819,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:822,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-dirmngr.c:825,1
    - Dst: es_rewind
      Src: /src/gnupg/g10/call-dirmngr.c:830,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/call-dirmngr.c:835,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:836,1
    - Dst: close_context
      Src: /src/gnupg/g10/call-dirmngr.c:837,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - ctrl
    - url
    - r_fp
    argTypes:
    - ctrl_t
    - char*
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 839
    functionName: gpg_dirmngr_ks_fetch
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 1
    functionsReached:
    - es_fopenmem
    - strlen
    - gpg_error_from_syserror
    - es_fclose
    - strconcat
    - assuan_transact
    - gpg_error
    - es_rewind
    - memset
    - xfree
    - open_context
    - close_context
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpg_dirmngr_ks_fetch (ctrl_t ctrl, const char *url, estream_t
      *r_fp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/call-dirmngr.c:871,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/call-dirmngr.c:873,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/call-dirmngr.c:878,1
    - Dst: es_fputc
      Src: /src/gnupg/g10/call-dirmngr.c:879,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/call-dirmngr.c:882,1
    - Dst: es_fputc
      Src: /src/gnupg/g10/call-dirmngr.c:883,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/call-dirmngr.c:886,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/call-dirmngr.c:888,1
    - Dst: colon_strtime
      Src: /src/gnupg/g10/call-dirmngr.c:888,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/call-dirmngr.c:889,1
    - Dst: colon_strtime
      Src: /src/gnupg/g10/call-dirmngr.c:889,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/g10/call-dirmngr.c:892,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-dirmngr.c:892,1
    - Dst: es_fputc
      Src: /src/gnupg/g10/call-dirmngr.c:894,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/call-dirmngr.c:895,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 9
    argNames:
    - output
    - type
    - validity
    - pub_key_length
    - pub_key_algo
    - keyid
    - creation_date
    - expiration_date
    - userid
    argTypes:
    - estream_t
    - pkttype_t
    - char*
    - int
    - int
    - u32*
    - u32
    - u32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 897
    functionName: record_output
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - es_fputc
    - log_assert
    - es_write_sanitized
    - strlen
    - es_fputs
    - colon_strtime
    linkageType: ''
    returnType: void
    signature: "void record_output (estream_t output,\n\t       pkttype_t type,\n\t
      \      const char *validity,\n\t       int pub_key_length,  /* The public key
      length or -1.  */\n\t       int pub_key_algo,    /* The public key algo or -1.
      \   */\n\t       const u32 *keyid,    /* 2 ulongs or NULL.             */\n\t
      \      u32 creation_date,   /* The creation date or 0.       */\n\t       u32
      expiration_date, /* The expiration date or 0.     */\n\t       const char *userid)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-dirmngr.c:907,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g10/call-dirmngr.c:910,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-dirmngr.c:912,1
    - Dst: es_fopenmem
      Src: /src/gnupg/g10/call-dirmngr.c:919,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:921,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/call-dirmngr.c:968,1
    - Dst: record_output
      Src: /src/gnupg/g10/call-dirmngr.c:970,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/call-dirmngr.c:971,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/call-dirmngr.c:974,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/call-dirmngr.c:975,1
    - Dst: record_output
      Src: /src/gnupg/g10/call-dirmngr.c:995,1
    - Dst: es_ferror
      Src: /src/gnupg/g10/call-dirmngr.c:1008,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:1009,1
    - Dst: es_rewind
      Src: /src/gnupg/g10/call-dirmngr.c:1020,1
    - Dst: es_read
      Src: /src/gnupg/g10/call-dirmngr.c:1021,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g10/call-dirmngr.c:1023,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:1028,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/call-dirmngr.c:1030,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-dirmngr.c:1033,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 901
    functionDepth: 5
    functionLinenumber: 901
    functionLinenumberEnd: 1036
    functionName: ks_put_inq_cb
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - record_output
    - assuan_send_data
    - es_fprintf
    - gpg_error_from_syserror
    - nbits_from_pk
    - es_fclose
    - keyid_from_pk
    - gpg_error
    - es_rewind
    - es_read
    - has_leading_keyword
    - hexfingerprint
    - es_ferror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_put_inq_cb (void *opaque, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-dirmngr.c:1050,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/call-dirmngr.c:1055,1
    - Dst: open_context
      Src: /src/gnupg/g10/call-dirmngr.c:1057,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-dirmngr.c:1066,1
    - Dst: close_context
      Src: /src/gnupg/g10/call-dirmngr.c:1069,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ctrl
    - data
    - datalen
    - keyblock
    argTypes:
    - ctrl_t
    - void*
    - size_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1043
    functionDepth: 2
    functionLinenumber: 1043
    functionLinenumberEnd: 1071
    functionName: gpg_dirmngr_ks_put
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 1
    functionsReached:
    - assuan_transact
    - close_context
    - memset
    - merge_keys_and_selfsig
    - open_context
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpg_dirmngr_ks_put (ctrl_t ctrl, void *data, size_t datalen,
      kbnode_t keyblock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_write
      Src: /src/gnupg/g10/call-dirmngr.c:1088,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:1089,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - opaque
    - data
    - datalen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1092
    functionName: dns_cert_data_cb
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - es_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t dns_cert_data_cb (void *opaque, const void *data, size_t
      datalen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-dirmngr.c:1104,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/call-dirmngr.c:1108,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:1109,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-dirmngr.c:1111,1
    - Dst: hex2str
      Src: /src/gnupg/g10/call-dirmngr.c:1112,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-dirmngr.c:1112,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:1113,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-dirmngr.c:1115,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/call-dirmngr.c:1118,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:1120,1
    - Dst: memcpy
      Src: /src/gnupg/g10/call-dirmngr.c:1122,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:1124,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/g10/call-dirmngr.c:1126,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-dirmngr.c:1129,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/call-dirmngr.c:1130,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:1131,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1135
    functionName: dns_cert_status_cb
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - strlen
    - xtrystrdup
    - gpg_error
    - xfree
    - memcpy
    - has_leading_keyword
    - hex2str
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t dns_cert_status_cb (void *opaque, const char *line)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/call-dirmngr.c:1166,1
    - Dst: open_context
      Src: /src/gnupg/g10/call-dirmngr.c:1176,1
    - Dst: es_bsprintf
      Src: /src/gnupg/g10/call-dirmngr.c:1180,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:1183,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-dirmngr.c:1186,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-dirmngr.c:1188,1
    - Dst: es_fopenmem
      Src: /src/gnupg/g10/call-dirmngr.c:1192,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:1195,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-dirmngr.c:1198,1
    - Dst: es_ftell
      Src: /src/gnupg/g10/call-dirmngr.c:1204,1
    - Dst: es_rewind
      Src: /src/gnupg/g10/call-dirmngr.c:1206,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:1226,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:1227,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/call-dirmngr.c:1228,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:1229,1
    - Dst: close_context
      Src: /src/gnupg/g10/call-dirmngr.c:1230,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 7
    argNames:
    - ctrl
    - name
    - certtype
    - r_key
    - r_fpr
    - r_fprlen
    - r_url
    argTypes:
    - ctrl_t
    - char*
    - char*
    - estream_t*
    - unsigned char**
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1155
    functionDepth: 2
    functionLinenumber: 1155
    functionLinenumberEnd: 1232
    functionName: gpg_dirmngr_dns_cert
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 1
    functionsReached:
    - es_fopenmem
    - strlen
    - gpg_error_from_syserror
    - es_fclose
    - es_bsprintf
    - assuan_transact
    - gpg_error
    - es_rewind
    - memset
    - xfree
    - open_context
    - es_ftell
    - close_context
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gpg_dirmngr_dns_cert (ctrl_t ctrl, const char *name, const
      char *certtype,\n                      estream_t *r_key,\n                      unsigned
      char **r_fpr, size_t *r_fprlen,\n                      char **r_url)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: open_context
      Src: /src/gnupg/g10/call-dirmngr.c:1257,1
    - Dst: es_bsprintf
      Src: /src/gnupg/g10/call-dirmngr.c:1261,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:1264,1
    - Dst: strlen
      Src: /src/gnupg/g10/call-dirmngr.c:1267,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-dirmngr.c:1269,1
    - Dst: es_fopenmem
      Src: /src/gnupg/g10/call-dirmngr.c:1273,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/call-dirmngr.c:1276,1
    - Dst: assuan_transact
      Src: /src/gnupg/g10/call-dirmngr.c:1279,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/call-dirmngr.c:1281,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/call-dirmngr.c:1282,1
    - Dst: es_rewind
      Src: /src/gnupg/g10/call-dirmngr.c:1288,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:1300,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:1301,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:1302,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/call-dirmngr.c:1303,1
    - Dst: xfree
      Src: /src/gnupg/g10/call-dirmngr.c:1304,1
    - Dst: close_context
      Src: /src/gnupg/g10/call-dirmngr.c:1305,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 5
    argNames:
    - ctrl
    - name
    - quick
    - r_key
    - r_url
    argTypes:
    - ctrl_t
    - char*
    - int
    - estream_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1241
    functionDepth: 2
    functionLinenumber: 1241
    functionLinenumberEnd: 1307
    functionName: gpg_dirmngr_wkd_get
    functionSourceFile: /src/gnupg/g10/call-dirmngr.c
    functionUses: 1
    functionsReached:
    - es_fopenmem
    - strlen
    - gpg_error_from_syserror
    - es_fclose
    - es_bsprintf
    - assuan_transact
    - gpg_error
    - es_rewind
    - gpg_err_code
    - xfree
    - open_context
    - close_context
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gpg_dirmngr_wkd_get (ctrl_t ctrl, const char *name, int
      quick,\n                     estream_t *r_key, char **r_url)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: sig_check_dump_stats
    functionSourceFile: /src/gnupg/g10/sig-check.c
    functionUses: 1
    functionsReached:
    - log_info
    linkageType: ''
    returnType: void
    signature: void sig_check_dump_stats (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_pk_is_allowed
      Src: /src/gnupg/g10/sig-check.c:75,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/sig-check.c:77,1
    - Dst: log_error
      Src: /src/gnupg/g10/sig-check.c:81,1
    - Dst: _
      Src: /src/gnupg/g10/sig-check.c:81,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/sig-check.c:82,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/sig-check.c:83,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sig-check.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: check_key_verify_compliance
    functionSourceFile: /src/gnupg/g10/sig-check.c
    functionUses: 0
    functionsReached:
    - log_error
    - gnupg_compliance_option_string
    - keystr_from_pk
    - _
    - gpg_error
    - nbits_from_pk
    - gnupg_pk_is_allowed
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_key_verify_compliance (PKT_public_key *pk)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/sig-check.c:162,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/sig-check.c:164,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/sig-check.c:166,1
    - Dst: gnupg_digest_is_allowed
      Src: /src/gnupg/g10/sig-check.c:170,1
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:173,1
    - Dst: _
      Src: /src/gnupg/g10/sig-check.c:173,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/g10/sig-check.c:174,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/sig-check.c:175,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sig-check.c:176,1
    - Dst: openpgp_pk_test_algo
      Src: /src/gnupg/g10/sig-check.c:178,1
    - Dst: gcry_md_is_enabled
      Src: /src/gnupg/g10/sig-check.c:182,1
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:188,1
    - Dst: _
      Src: /src/gnupg/g10/sig-check.c:188,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sig-check.c:189,1
    - Dst: get_pubkey_for_sig
      Src: /src/gnupg/g10/sig-check.c:191,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sig-check.c:192,1
    - Dst: check_key_verify_compliance
      Src: /src/gnupg/g10/sig-check.c:193,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sig-check.c:198,1
    - Dst: check_signature_end
      Src: /src/gnupg/g10/sig-check.c:205,1
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:218,1
    - Dst: _
      Src: /src/gnupg/g10/sig-check.c:218,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/sig-check.c:219,1
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:220,1
    - Dst: _
      Src: /src/gnupg/g10/sig-check.c:220,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sig-check.c:225,1
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:229,1
    - Dst: _
      Src: /src/gnupg/g10/sig-check.c:229,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/sig-check.c:230,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sig-check.c:231,1
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/sig-check.c:237,1
    - Dst: pubkey_get_nsig
      Src: /src/gnupg/g10/sig-check.c:258,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/sig-check.c:267,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/sig-check.c:271,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/g10/sig-check.c:274,1
    - Dst: BUG
      Src: /src/gnupg/g10/sig-check.c:275,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/sig-check.c:285,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/sig-check.c:295,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/sig-check.c:300,1
    - Dst: memcpy
      Src: /src/gnupg/g10/sig-check.c:304,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/g10/sig-check.c:307,1
    - Dst: BUG
      Src: /src/gnupg/g10/sig-check.c:308,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/g10/sig-check.c:312,1
    - Dst: make_radix64_string
      Src: /src/gnupg/g10/sig-check.c:314,1
    - Dst: sprintf
      Src: /src/gnupg/g10/sig-check.c:315,1
    - Dst: strtimestamp
      Src: /src/gnupg/g10/sig-check.c:316,1
    - Dst: xfree
      Src: /src/gnupg/g10/sig-check.c:317,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/sig-check.c:318,1
    - Dst: xfree
      Src: /src/gnupg/g10/sig-check.c:319,1
    - Dst: release_public_key_parts
      Src: /src/gnupg/g10/sig-check.c:326,1
    - Dst: xfree
      Src: /src/gnupg/g10/sig-check.c:327,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 98
    argCount: 11
    argNames:
    - ctrl
    - sig
    - digest
    - extrahash
    - extrahashlen
    - forced_pk
    - r_expiredate
    - r_expired
    - r_revoked
    - r_pk
    - r_keyblock
    argTypes:
    - ctrl_t
    - PKT_signature*
    - gcry_md_hd_t
    - void*
    - size_t
    - PKT_public_key*
    - u32*
    - int*
    - int*
    - PKT_public_key**
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 331
    functionName: check_signature
    functionSourceFile: /src/gnupg/g10/sig-check.c
    functionUses: 1
    functionsReached:
    - gcry_mpi_get_flag
    - gcry_md_hash_buffer
    - pubkey_get_nsig
    - check_key_verify_compliance
    - BUG
    - xmalloc
    - gcry_md_is_enabled
    - gnupg_digest_is_allowed
    - memcpy
    - gcry_md_algo_name
    - _
    - log_info
    - release_public_key_parts
    - gpg_error_from_syserror
    - gnupg_compliance_option_string
    - gcry_mpi_print
    - sprintf
    - write_status_text
    - keystr_from_pk
    - gpg_error
    - strtimestamp
    - xfree
    - openpgp_pk_test_algo
    - xtrycalloc
    - make_radix64_string
    - gcry_mpi_get_opaque
    - check_signature_end
    - get_pubkey_for_sig
    - is_status_enabled
    - openpgp_md_test_algo
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t check_signature (ctrl_t ctrl,\n                 PKT_signature
      *sig, gcry_md_hd_t digest,\n                 const void *extrahash, size_t extrahashlen,\n
      \                PKT_public_key *forced_pk,\n                 u32 *r_expiredate,
      int *r_expired, int *r_revoked,\n                 PKT_public_key **r_pk, kbnode_t
      *r_keyblock)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: parse_key_usage
      Src: /src/gnupg/g10/sig-check.c:363,1
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:368,1
    - Dst: ngettext
      Src: /src/gnupg/g10/sig-check.c:368,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/sig-check.c:371,1
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:376,1
    - Dst: ngettext
      Src: /src/gnupg/g10/sig-check.c:376,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/sig-check.c:379,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/sig-check.c:385,1
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:391,1
    - Dst: ngettext
      Src: /src/gnupg/g10/sig-check.c:391,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/sig-check.c:395,1
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:400,1
    - Dst: ngettext
      Src: /src/gnupg/g10/sig-check.c:400,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/sig-check.c:404,1
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:418,1
    - Dst: _
      Src: /src/gnupg/g10/sig-check.c:418,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/sig-check.c:419,1
    - Dst: isotimestamp
      Src: /src/gnupg/g10/sig-check.c:419,1
    - Dst: snprintf
      Src: /src/gnupg/g10/sig-check.c:420,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/sig-check.c:421,1
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:429,1
    - Dst: _
      Src: /src/gnupg/g10/sig-check.c:429,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/sig-check.c:430,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 4
    argNames:
    - pk
    - sig
    - r_expired
    - r_revoked
    argTypes:
    - PKT_public_key*
    - PKT_signature*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 436
    functionName: check_signature_metadata_validity
    functionSourceFile: /src/gnupg/g10/sig-check.c
    functionUses: 0
    functionsReached:
    - write_status_text
    - snprintf
    - ngettext
    - keystr_from_pk
    - _
    - isotimestamp
    - make_timestamp
    - parse_key_usage
    - log_info
    linkageType: ''
    returnType: int
    signature: "int check_signature_metadata_validity (PKT_public_key *pk, PKT_signature
      *sig,\n\t\t\t\t   int *r_expired, int *r_revoked)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_signature_metadata_validity
      Src: /src/gnupg/g10/sig-check.c:476,1
    - Dst: check_signature_end_simple
      Src: /src/gnupg/g10/sig-check.c:480,1
    - Dst: copy_public_key
      Src: /src/gnupg/g10/sig-check.c:485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 8
    argNames:
    - pk
    - sig
    - digest
    - extrahash
    - extrahashlen
    - r_expired
    - r_revoked
    - ret_pk
    argTypes:
    - PKT_public_key*
    - PKT_signature*
    - gcry_md_hd_t
    - void*
    - size_t
    - int*
    - int*
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 468
    functionDepth: 4
    functionLinenumber: 468
    functionLinenumberEnd: 488
    functionName: check_signature_end
    functionSourceFile: /src/gnupg/g10/sig-check.c
    functionUses: 1
    functionsReached:
    - check_signature_metadata_validity
    - copy_public_key
    - check_signature_end_simple
    linkageType: ''
    returnType: int
    signature: "int check_signature_end (PKT_public_key *pk, PKT_signature *sig,\n\t\t
      \    gcry_md_hd_t digest,\n                     const void *extrahash, size_t
      extrahashlen,\n\t\t     int *r_expired, int *r_revoked, PKT_public_key *ret_pk)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: is_weak_digest
      Src: /src/gnupg/g10/sig-check.c:504,1
    - Dst: print_digest_rejected_note
      Src: /src/gnupg/g10/sig-check.c:506,1
    - Dst: IS_CERT
      Src: /src/gnupg/g10/sig-check.c:517,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sig-check.c:519,1
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:521,1
    - Dst: _
      Src: /src/gnupg/g10/sig-check.c:521,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/sig-check.c:522,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/sig-check.c:522,1
    - Dst: IS_BACK_SIG
      Src: /src/gnupg/g10/sig-check.c:528,1
    - Dst: IS_SIG
      Src: /src/gnupg/g10/sig-check.c:528,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sig-check.c:531,1
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:533,1
    - Dst: _
      Src: /src/gnupg/g10/sig-check.c:533,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/sig-check.c:534,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/sig-check.c:534,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/g10/sig-check.c:541,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sig-check.c:545,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sig-check.c:547,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sig-check.c:551,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sig-check.c:552,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sig-check.c:553,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sig-check.c:554,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sig-check.c:562,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sig-check.c:563,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sig-check.c:567,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sig-check.c:568,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/sig-check.c:569,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sig-check.c:576,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/sig-check.c:577,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/sig-check.c:588,1
    - Dst: memset
      Src: /src/gnupg/g10/sig-check.c:591,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/sig-check.c:592,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/sig-check.c:617,1
    - Dst: gcry_md_final
      Src: /src/gnupg/g10/sig-check.c:619,1
    - Dst: encode_md_value
      Src: /src/gnupg/g10/sig-check.c:622,1
    - Dst: log_clock
      Src: /src/gnupg/g10/sig-check.c:628,1
    - Dst: pk_verify
      Src: /src/gnupg/g10/sig-check.c:629,1
    - Dst: log_clock
      Src: /src/gnupg/g10/sig-check.c:631,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/sig-check.c:632,1
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:636,1
    - Dst: _
      Src: /src/gnupg/g10/sig-check.c:636,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/sig-check.c:637,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 83
    argCount: 5
    argNames:
    - pk
    - sig
    - digest
    - extrahash
    - extrahashlen
    argTypes:
    - PKT_public_key*
    - PKT_signature*
    - gcry_md_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 494
    functionDepth: 3
    functionLinenumber: 494
    functionLinenumberEnd: 642
    functionName: check_signature_end_simple
    functionSourceFile: /src/gnupg/g10/sig-check.c
    functionUses: 1
    functionsReached:
    - encode_md_value
    - gcry_md_final
    - print_digest_rejected_note
    - is_weak_digest
    - _
    - log_info
    - IS_SIG
    - pk_verify
    - gcry_md_putc
    - keystr_from_pk
    - gpg_error
    - gpg_strerror
    - memset
    - IS_CERT
    - gcry_mpi_release
    - gcry_md_write
    - gcry_md_enable
    - IS_BACK_SIG
    - log_clock
    linkageType: ''
    returnType: int
    signature: "int check_signature_end_simple (PKT_public_key *pk, PKT_signature
      *sig,\n                            gcry_md_hd_t digest,\n                            const
      void *extrahash, size_t extrahashlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/sig-check.c:660,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/sig-check.c:662,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/sig-check.c:674,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/sig-check.c:676,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - uid
    - md
    - sig
    argTypes:
    - PKT_user_id*
    - gcry_md_hd_t
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 678
    functionName: hash_uid_packet
    functionSourceFile: /src/gnupg/g10/sig-check.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    linkageType: ''
    returnType: void
    signature: void hash_uid_packet (PKT_user_id *uid, gcry_md_hd_t md, PKT_signature
      *sig )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/sig-check.c:688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - sig
    - result
    argTypes:
    - PKT_signature*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 698
    functionName: cache_sig_result
    functionSourceFile: /src/gnupg/g10/sig-check.c
    functionUses: 0
    functionsReached:
    - gpg_err_code
    linkageType: ''
    returnType: void
    signature: void cache_sig_result ( PKT_signature *sig, int result )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/sig-check.c:734,1
    - Dst: log_assert
      Src: /src/gnupg/g10/sig-check.c:736,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/sig-check.c:736,1
    - Dst: log_assert
      Src: /src/gnupg/g10/sig-check.c:737,1
    - Dst: BUG
      Src: /src/gnupg/g10/sig-check.c:779,1
    - Dst: keyid_from_fingerprint
      Src: /src/gnupg/g10/sig-check.c:785,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/sig-check.c:794,1
    - Dst: BUG
      Src: /src/gnupg/g10/sig-check.c:795,1
    - Dst: hash_public_key
      Src: /src/gnupg/g10/sig-check.c:796,1
    - Dst: check_signature
      Src: /src/gnupg/g10/sig-check.c:799,1
    - Dst: cache_sig_result
      Src: /src/gnupg/g10/sig-check.c:801,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/sig-check.c:802,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - ctrl
    - pk
    - sig
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 730
    functionDepth: 6
    functionLinenumber: 730
    functionLinenumberEnd: 810
    functionName: check_revocation_keys
    functionSourceFile: /src/gnupg/g10/sig-check.c
    functionUses: 1
    functionsReached:
    - gcry_md_open
    - keyid_from_fingerprint
    - log_assert
    - BUG
    - hash_public_key
    - gpg_error
    - IS_KEY_REV
    - cache_sig_result
    - gcry_md_close
    - check_signature
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_revocation_keys (ctrl_t ctrl, PKT_public_key *pk,
      PKT_signature *sig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/sig-check.c:832,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sig-check.c:836,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/sig-check.c:838,1
    - Dst: hash_public_key
      Src: /src/gnupg/g10/sig-check.c:841,1
    - Dst: hash_public_key
      Src: /src/gnupg/g10/sig-check.c:842,1
    - Dst: check_signature_end
      Src: /src/gnupg/g10/sig-check.c:843,1
    - Dst: cache_sig_result
      Src: /src/gnupg/g10/sig-check.c:844,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/sig-check.c:845,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - main_pk
    - sub_pk
    - backsig
    argTypes:
    - PKT_public_key*
    - PKT_public_key*
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 822
    functionDepth: 5
    functionLinenumber: 822
    functionLinenumberEnd: 849
    functionName: check_backsig
    functionSourceFile: /src/gnupg/g10/sig-check.c
    functionUses: 1
    functionsReached:
    - gcry_md_open
    - check_signature_end
    - hash_public_key
    - openpgp_md_test_algo
    - gpg_error
    - cache_sig_result
    - gcry_md_close
    linkageType: ''
    returnType: int
    signature: "int check_backsig (PKT_public_key *main_pk,PKT_public_key *sub_pk,\n\t
      \      PKT_signature *backsig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_key_signature2
      Src: /src/gnupg/g10/sig-check.c:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctrl
    - root
    - node
    - is_selfsig
    argTypes:
    - ctrl_t
    - kbnode_t
    - kbnode_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 862
    functionName: check_key_signature
    functionSourceFile: /src/gnupg/g10/sig-check.c
    functionUses: 12
    functionsReached:
    - check_key_signature2
    linkageType: ''
    returnType: int
    signature: "int check_key_signature (ctrl_t ctrl, kbnode_t root, kbnode_t node,\n
      \                    int *is_selfsig)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_pk_test_algo
      Src: /src/gnupg/g10/sig-check.c:914,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/sig-check.c:917,1
    - Dst: IS_BACK_SIG
      Src: /src/gnupg/g10/sig-check.c:923,1
    - Dst: IS_KEY_SIG
      Src: /src/gnupg/g10/sig-check.c:923,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/sig-check.c:923,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sig-check.c:927,1
    - Dst: IS_SUBKEY_SIG
      Src: /src/gnupg/g10/sig-check.c:929,1
    - Dst: IS_SUBKEY_REV
      Src: /src/gnupg/g10/sig-check.c:929,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sig-check.c:932,1
    - Dst: IS_UID_SIG
      Src: /src/gnupg/g10/sig-check.c:934,1
    - Dst: IS_UID_REV
      Src: /src/gnupg/g10/sig-check.c:934,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sig-check.c:937,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sig-check.c:940,1
    - Dst: walk_kbnode
      Src: /src/gnupg/g10/sig-check.c:969,1
    - Dst: memset
      Src: /src/gnupg/g10/sig-check.c:996,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/sig-check.c:1001,1
    - Dst: IS_CERT
      Src: /src/gnupg/g10/sig-check.c:1005,1
    - Dst: get_pubkey_for_sig
      Src: /src/gnupg/g10/sig-check.c:1008,1
    - Dst: xfree
      Src: /src/gnupg/g10/sig-check.c:1012,1
    - Dst: gcry_md_open
      Src: /src/gnupg/g10/sig-check.c:1023,1
    - Dst: BUG
      Src: /src/gnupg/g10/sig-check.c:1024,1
    - Dst: IS_KEY_SIG
      Src: /src/gnupg/g10/sig-check.c:1028,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/sig-check.c:1028,1
    - Dst: log_assert
      Src: /src/gnupg/g10/sig-check.c:1030,1
    - Dst: hash_public_key
      Src: /src/gnupg/g10/sig-check.c:1031,1
    - Dst: check_signature_end_simple
      Src: /src/gnupg/g10/sig-check.c:1032,1
    - Dst: IS_BACK_SIG
      Src: /src/gnupg/g10/sig-check.c:1034,1
    - Dst: log_assert
      Src: /src/gnupg/g10/sig-check.c:1036,1
    - Dst: hash_public_key
      Src: /src/gnupg/g10/sig-check.c:1037,1
    - Dst: hash_public_key
      Src: /src/gnupg/g10/sig-check.c:1038,1
    - Dst: check_signature_end_simple
      Src: /src/gnupg/g10/sig-check.c:1039,1
    - Dst: IS_SUBKEY_SIG
      Src: /src/gnupg/g10/sig-check.c:1041,1
    - Dst: IS_SUBKEY_REV
      Src: /src/gnupg/g10/sig-check.c:1041,1
    - Dst: log_assert
      Src: /src/gnupg/g10/sig-check.c:1043,1
    - Dst: hash_public_key
      Src: /src/gnupg/g10/sig-check.c:1044,1
    - Dst: hash_public_key
      Src: /src/gnupg/g10/sig-check.c:1045,1
    - Dst: check_signature_end_simple
      Src: /src/gnupg/g10/sig-check.c:1046,1
    - Dst: IS_UID_SIG
      Src: /src/gnupg/g10/sig-check.c:1048,1
    - Dst: IS_UID_REV
      Src: /src/gnupg/g10/sig-check.c:1048,1
    - Dst: log_assert
      Src: /src/gnupg/g10/sig-check.c:1050,1
    - Dst: print_sha1_keysig_rejected_note
      Src: /src/gnupg/g10/sig-check.c:1058,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sig-check.c:1059,1
    - Dst: hash_public_key
      Src: /src/gnupg/g10/sig-check.c:1063,1
    - Dst: hash_uid_packet
      Src: /src/gnupg/g10/sig-check.c:1064,1
    - Dst: check_signature_end_simple
      Src: /src/gnupg/g10/sig-check.c:1065,1
    - Dst: BUG
      Src: /src/gnupg/g10/sig-check.c:1072,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/sig-check.c:1075,1
    - Dst: copy_public_key
      Src: /src/gnupg/g10/sig-check.c:1079,1
    - Dst: release_public_key_parts
      Src: /src/gnupg/g10/sig-check.c:1084,1
    - Dst: xfree
      Src: /src/gnupg/g10/sig-check.c:1087,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 108
    argCount: 7
    argNames:
    - ctrl
    - signer
    - sig
    - kb
    - packet
    - is_selfsig
    - ret_pk
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - PKT_signature*
    - KBNODE
    - PACKET*
    - int*
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 898
    functionDepth: 4
    functionLinenumber: 898
    functionLinenumberEnd: 1091
    functionName: check_signature_over_key_or_uid
    functionSourceFile: /src/gnupg/g10/sig-check.c
    functionUses: 1
    functionsReached:
    - log_assert
    - BUG
    - gcry_md_close
    - walk_kbnode
    - hash_uid_packet
    - IS_UID_REV
    - hash_public_key
    - IS_KEY_SIG
    - IS_KEY_REV
    - copy_public_key
    - release_public_key_parts
    - gcry_md_open
    - gpg_error
    - memset
    - openpgp_pk_test_algo
    - xfree
    - IS_UID_SIG
    - IS_CERT
    - check_signature_end_simple
    - get_pubkey_for_sig
    - print_sha1_keysig_rejected_note
    - IS_SUBKEY_SIG
    - openpgp_md_test_algo
    - IS_SUBKEY_REV
    - IS_BACK_SIG
    - xmalloc_clear
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t check_signature_over_key_or_uid (ctrl_t ctrl, PKT_public_key
      *signer,\n                                 PKT_signature *sig, KBNODE kb, PACKET
      *packet,\n                                 int *is_selfsig, PKT_public_key *ret_pk)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/sig-check.c:1145,1
    - Dst: log_assert
      Src: /src/gnupg/g10/sig-check.c:1146,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/sig-check.c:1166,1
    - Dst: check_signature_metadata_validity
      Src: /src/gnupg/g10/sig-check.c:1172,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sig-check.c:1181,1
    - Dst: openpgp_pk_test_algo
      Src: /src/gnupg/g10/sig-check.c:1185,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/sig-check.c:1188,1
    - Dst: IS_KEY_REV
      Src: /src/gnupg/g10/sig-check.c:1192,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/sig-check.c:1195,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/sig-check.c:1203,1
    - Dst: get_pubkey
      Src: /src/gnupg/g10/sig-check.c:1204,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/sig-check.c:1205,1
    - Dst: log_error
      Src: /src/gnupg/g10/sig-check.c:1207,1
    - Dst: _
      Src: /src/gnupg/g10/sig-check.c:1207,1
    - Dst: keystr
      Src: /src/gnupg/g10/sig-check.c:1209,1
    - Dst: log_error
      Src: /src/gnupg/g10/sig-check.c:1212,1
    - Dst: keystr
      Src: /src/gnupg/g10/sig-check.c:1214,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/sig-check.c:1214,1
    - Dst: check_revocation_keys
      Src: /src/gnupg/g10/sig-check.c:1223,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/sig-check.c:1226,1
    - Dst: check_signature_metadata_validity
      Src: /src/gnupg/g10/sig-check.c:1231,1
    - Dst: check_signature_over_key_or_uid
      Src: /src/gnupg/g10/sig-check.c:1234,1
    - Dst: IS_SUBKEY_REV
      Src: /src/gnupg/g10/sig-check.c:1239,1
    - Dst: IS_SUBKEY_SIG
      Src: /src/gnupg/g10/sig-check.c:1239,1
    - Dst: find_prev_kbnode
      Src: /src/gnupg/g10/sig-check.c:1241,1
    - Dst: check_signature_metadata_validity
      Src: /src/gnupg/g10/sig-check.c:1245,1
    - Dst: check_signature_over_key_or_uid
      Src: /src/gnupg/g10/sig-check.c:1251,1
    - Dst: IS_SUBKEY_SIG
      Src: /src/gnupg/g10/sig-check.c:1252,1
    - Dst: IS_SUBKEY_REV
      Src: /src/gnupg/g10/sig-check.c:1262,1
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:1263,1
    - Dst: _
      Src: /src/gnupg/g10/sig-check.c:1263,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/sig-check.c:1264,1
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:1266,1
    - Dst: _
      Src: /src/gnupg/g10/sig-check.c:1266,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/sig-check.c:1267,1
    - Dst: IS_KEY_SIG
      Src: /src/gnupg/g10/sig-check.c:1272,1
    - Dst: check_signature_metadata_validity
      Src: /src/gnupg/g10/sig-check.c:1274,1
    - Dst: check_signature_over_key_or_uid
      Src: /src/gnupg/g10/sig-check.c:1277,1
    - Dst: IS_UID_SIG
      Src: /src/gnupg/g10/sig-check.c:1280,1
    - Dst: IS_UID_REV
      Src: /src/gnupg/g10/sig-check.c:1280,1
    - Dst: find_prev_kbnode
      Src: /src/gnupg/g10/sig-check.c:1282,1
    - Dst: check_signature_metadata_validity
      Src: /src/gnupg/g10/sig-check.c:1286,1
    - Dst: check_signature_over_key_or_uid
      Src: /src/gnupg/g10/sig-check.c:1290,1
    - Dst: keyid_cmp
      Src: /src/gnupg/g10/sig-check.c:1292,1
    - Dst: pk_keyid
      Src: /src/gnupg/g10/sig-check.c:1292,1
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:1299,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/sig-check.c:1300,1
    - Dst: log_info
      Src: /src/gnupg/g10/sig-check.c:1306,1
    - Dst: keystr
      Src: /src/gnupg/g10/sig-check.c:1308,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/sig-check.c:1310,1
    - Dst: cache_sig_result
      Src: /src/gnupg/g10/sig-check.c:1313,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 100
    argCount: 8
    argNames:
    - ctrl
    - root
    - node
    - check_pk
    - ret_pk
    - is_selfsig
    - r_expiredate
    - r_expired
    argTypes:
    - ctrl_t
    - kbnode_t
    - kbnode_t
    - PKT_public_key*
    - PKT_public_key*
    - int*
    - u32*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1128
    functionDepth: 7
    functionLinenumber: 1128
    functionLinenumberEnd: 1316
    functionName: check_key_signature2
    functionSourceFile: /src/gnupg/g10/sig-check.c
    functionUses: 3
    functionsReached:
    - log_assert
    - check_signature_metadata_validity
    - free_public_key
    - log_error
    - find_prev_kbnode
    - check_revocation_keys
    - check_signature_over_key_or_uid
    - _
    - IS_UID_REV
    - IS_KEY_SIG
    - IS_KEY_REV
    - log_info
    - get_pubkey
    - pk_keyid
    - keystr_from_pk
    - gpg_error
    - gpg_strerror
    - openpgp_pk_test_algo
    - keystr
    - IS_UID_SIG
    - cache_sig_result
    - keyid_from_pk
    - IS_SUBKEY_SIG
    - openpgp_md_test_algo
    - IS_SUBKEY_REV
    - keyid_cmp
    - gpg_err_code
    - xmalloc_clear
    linkageType: ''
    returnType: int
    signature: "int check_key_signature2 (ctrl_t ctrl,\n                      kbnode_t
      root, kbnode_t node, PKT_public_key *check_pk,\n                      PKT_public_key
      *ret_pk, int *is_selfsig,\n                      u32 *r_expiredate, int *r_expired
      )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dotlock_create
      Src: /src/gnupg/g10/tdbio.c:128,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:130,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:130,1
    - Dst: dotlock_take
      Src: /src/gnupg/g10/tdbio.c:134,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:135,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: take_write_lock
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 0
    functionsReached:
    - dotlock_create
    - log_fatal
    - _
    - dotlock_take
    linkageType: ''
    returnType: void
    signature: void take_write_lock (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:157,1
    - Dst: dotlock_release
      Src: /src/gnupg/g10/tdbio.c:163,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 165
    functionName: release_write_lock
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 0
    functionsReached:
    - dotlock_release
    - log_error
    linkageType: ''
    returnType: void
    signature: void release_write_lock (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - recno
    argTypes:
    - ulong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: get_record_from_cache
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_record_from_cache (ulong recno)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/gnupg/g10/tdbio.c:203,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tdbio.c:205,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:206,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:206,1
    - Dst: strerror
      Src: /src/gnupg/g10/tdbio.c:207,1
    - Dst: write
      Src: /src/gnupg/g10/tdbio.c:210,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tdbio.c:213,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:214,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:214,1
    - Dst: strerror
      Src: /src/gnupg/g10/tdbio.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - CACHE_CTRL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 220
    functionName: write_cache_item
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - write
    - _
    - lseek
    - strerror
    linkageType: ''
    returnType: int
    signature: int write_cache_item (CACHE_CTRL r)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/g10/tdbio.c:249,1
    - Dst: memcpy
      Src: /src/gnupg/g10/tdbio.c:255,1
    - Dst: memcpy
      Src: /src/gnupg/g10/tdbio.c:274,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/tdbio.c:285,1
    - Dst: memcpy
      Src: /src/gnupg/g10/tdbio.c:288,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tdbio.c:321,1
    - Dst: memcpy
      Src: /src/gnupg/g10/tdbio.c:325,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tdbio.c:341,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/tdbio.c:342,1
    - Dst: memcpy
      Src: /src/gnupg/g10/tdbio.c:345,1
    - Dst: log_info
      Src: /src/gnupg/g10/tdbio.c:354,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:354,1
    - Dst: take_write_lock
      Src: /src/gnupg/g10/tdbio.c:368,1
    - Dst: write_cache_item
      Src: /src/gnupg/g10/tdbio.c:375,1
    - Dst: release_write_lock
      Src: /src/gnupg/g10/tdbio.c:386,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tdbio.c:389,1
    - Dst: memcpy
      Src: /src/gnupg/g10/tdbio.c:393,1
    - Dst: BUG
      Src: /src/gnupg/g10/tdbio.c:401,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 116
    argCount: 2
    argNames:
    - recno
    - data
    argTypes:
    - ulong
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 402
    functionName: put_record_into_cache
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 0
    functionsReached:
    - write_cache_item
    - log_assert
    - _
    - take_write_lock
    - BUG
    - xmalloc
    - memcmp
    - log_info
    - release_write_lock
    - memcpy
    - log_debug
    linkageType: ''
    returnType: int
    signature: int put_record_into_cache (ulong recno, const char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 410
    functionName: tdbio_is_dirty
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tdbio_is_dirty (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open_db
      Src: /src/gnupg/g10/tdbio.c:422,1
    - Dst: log_bug
      Src: /src/gnupg/g10/tdbio.c:425,1
    - Dst: take_write_lock
      Src: /src/gnupg/g10/tdbio.c:431,1
    - Dst: write_cache_item
      Src: /src/gnupg/g10/tdbio.c:434,1
    - Dst: release_write_lock
      Src: /src/gnupg/g10/tdbio.c:440,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 443
    functionName: tdbio_sync
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 2
    functionsReached:
    - write_cache_item
    - open_db
    - log_bug
    - take_write_lock
    - release_write_lock
    linkageType: ''
    returnType: int
    signature: int tdbio_sync (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/gnupg/g10/tdbio.c:461,1
    - Dst: tdbio_sync
      Src: /src/gnupg/g10/tdbio.c:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 455
    functionDepth: 3
    functionLinenumber: 455
    functionLinenumberEnd: 468
    functionName: tdbio_begin_transaction
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 0
    functionsReached:
    - tdbio_sync
    - log_bug
    linkageType: ''
    returnType: int
    signature: int tdbio_begin_transaction ()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/gnupg/g10/tdbio.c:476,1
    - Dst: take_write_lock
      Src: /src/gnupg/g10/tdbio.c:477,1
    - Dst: gnupg_block_all_signals
      Src: /src/gnupg/g10/tdbio.c:478,1
    - Dst: tdbio_sync
      Src: /src/gnupg/g10/tdbio.c:480,1
    - Dst: gnupg_unblock_all_signals
      Src: /src/gnupg/g10/tdbio.c:481,1
    - Dst: release_write_lock
      Src: /src/gnupg/g10/tdbio.c:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 484
    functionName: tdbio_end_transaction
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 0
    functionsReached:
    - tdbio_sync
    - gnupg_unblock_all_signals
    - log_bug
    - gnupg_block_all_signals
    - take_write_lock
    - release_write_lock
    linkageType: ''
    returnType: int
    signature: int tdbio_end_transaction ()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/gnupg/g10/tdbio.c:492,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 511
    functionName: tdbio_cancel_transaction
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 0
    functionsReached:
    - log_bug
    linkageType: ''
    returnType: int
    signature: int tdbio_cancel_transaction ()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dotlock_release
      Src: /src/gnupg/g10/tdbio.c:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 529
    functionName: cleanup
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 2
    functionsReached:
    - dotlock_release
    linkageType: ''
    returnType: void
    signature: void cleanup (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/tdbio.c:550,1
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:552,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/tdbio.c:555,1
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/tdbio.c:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 565
    functionName: tdbio_update_version_record
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 1
    functionsReached:
    - make_timestamp
    - tdbio_write_record
    - memset
    - tdbio_read_record
    linkageType: ''
    returnType: int
    signature: int tdbio_update_version_record (ctrl_t ctrl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/tdbio.c:585,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/tdbio.c:587,1
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/tdbio.c:598,1
    - Dst: tdbio_sync
      Src: /src/gnupg/g10/tdbio.c:601,1
    - Dst: create_hashtable
      Src: /src/gnupg/g10/tdbio.c:604,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 607
    functionName: create_version_record
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 0
    functionsReached:
    - tdbio_sync
    - create_hashtable
    - tdbio_write_record
    - make_timestamp
    - memset
    linkageType: ''
    returnType: int
    signature: int create_version_record (ctrl_t ctrl)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/gnupg/g10/tdbio.c:632,1
    - Dst: make_filename
      Src: /src/gnupg/g10/tdbio.c:640,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/tdbio.c:640,1
    - Dst: strchr
      Src: /src/gnupg/g10/tdbio.c:645,1
    - Dst: make_filename
      Src: /src/gnupg/g10/tdbio.c:646,1
    - Dst: make_filename
      Src: /src/gnupg/g10/tdbio.c:648,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/tdbio.c:648,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/tdbio.c:652,1
    - Dst: xfree
      Src: /src/gnupg/g10/tdbio.c:655,1
    - Dst: gnupg_stat
      Src: /src/gnupg/g10/tdbio.c:662,1
    - Dst: strrchr
      Src: /src/gnupg/g10/tdbio.c:679,1
    - Dst: strrchr
      Src: /src/gnupg/g10/tdbio.c:684,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tdbio.c:689,1
    - Dst: gnupg_access
      Src: /src/gnupg/g10/tdbio.c:692,1
    - Dst: try_make_homedir
      Src: /src/gnupg/g10/tdbio.c:694,1
    - Dst: gnupg_access
      Src: /src/gnupg/g10/tdbio.c:695,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:696,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:696,1
    - Dst: take_write_lock
      Src: /src/gnupg/g10/tdbio.c:700,1
    - Dst: gnupg_access
      Src: /src/gnupg/g10/tdbio.c:702,1
    - Dst: gnupg_stat
      Src: /src/gnupg/g10/tdbio.c:703,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:712,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:712,1
    - Dst: strerror
      Src: /src/gnupg/g10/tdbio.c:712,1
    - Dst: umask
      Src: /src/gnupg/g10/tdbio.c:714,1
    - Dst: is_secured_filename
      Src: /src/gnupg/g10/tdbio.c:715,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/tdbio.c:718,1
    - Dst: es_fopen
      Src: /src/gnupg/g10/tdbio.c:721,1
    - Dst: umask
      Src: /src/gnupg/g10/tdbio.c:722,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:724,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:724,1
    - Dst: strerror
      Src: /src/gnupg/g10/tdbio.c:724,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/tdbio.c:725,1
    - Dst: gnupg_open
      Src: /src/gnupg/g10/tdbio.c:727,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:729,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:729,1
    - Dst: strerror
      Src: /src/gnupg/g10/tdbio.c:729,1
    - Dst: create_version_record
      Src: /src/gnupg/g10/tdbio.c:731,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:733,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:733,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:734,1
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:737,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:738,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:738,1
    - Dst: log_info
      Src: /src/gnupg/g10/tdbio.c:741,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:741,1
    - Dst: release_write_lock
      Src: /src/gnupg/g10/tdbio.c:744,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 4
    argNames:
    - ctrl
    - new_dbname
    - create
    - r_nofile
    argTypes:
    - ctrl_t
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 621
    functionDepth: 4
    functionLinenumber: 621
    functionLinenumberEnd: 746
    functionName: tdbio_set_dbname
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 1
    functionsReached:
    - log_assert
    - gnupg_homedir
    - try_make_homedir
    - es_fopen
    - release_write_lock
    - xstrdup
    - gnupg_stat
    - umask
    - gnupg_access
    - _
    - take_write_lock
    - log_info
    - tdbio_read_record
    - strchr
    - xfree
    - gpg_strerror
    - gnupg_open
    - is_secured_filename
    - atexit
    - make_filename
    - es_fclose
    - log_fatal
    - create_version_record
    - gpg_err_set_errno
    - strrchr
    - strerror
    linkageType: ''
    returnType: int
    signature: "int tdbio_set_dbname (ctrl_t ctrl, const char *new_dbname,\n                  int
      create, int *r_nofile)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 756
    functionName: tdbio_get_dbname
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      tdbio_get_dbname (void)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/tdbio.c:769,1
    - Dst: gnupg_open
      Src: /src/gnupg/g10/tdbio.c:771,1
    - Dst: gnupg_open
      Src: /src/gnupg/g10/tdbio.c:779,1
    - Dst: log_info
      Src: /src/gnupg/g10/tdbio.c:781,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:781,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:784,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:784,1
    - Dst: strerror
      Src: /src/gnupg/g10/tdbio.c:784,1
    - Dst: register_secured_file
      Src: /src/gnupg/g10/tdbio.c:786,1
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:789,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:790,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:790,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 791
    functionName: open_db
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 1
    functionsReached:
    - register_secured_file
    - tdbio_read_record
    - log_assert
    - log_fatal
    - _
    - log_info
    - gnupg_open
    - strerror
    linkageType: ''
    returnType: void
    signature: void open_db (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/gnupg/g10/tdbio.c:809,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:811,1
    - Dst: strerror
      Src: /src/gnupg/g10/tdbio.c:811,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tdbio.c:813,1
    - Dst: memset
      Src: /src/gnupg/g10/tdbio.c:822,1
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/tdbio.c:825,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:827,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:827,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:828,1
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/tdbio.c:831,1
    - Dst: tdbio_sync
      Src: /src/gnupg/g10/tdbio.c:833,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:835,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:835,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:836,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ctrl
    - vr
    - type
    argTypes:
    - ctrl_t
    - TRUSTREC*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 801
    functionDepth: 3
    functionLinenumber: 801
    functionLinenumberEnd: 837
    functionName: create_hashtable
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 1
    functionsReached:
    - tdbio_sync
    - log_assert
    - tdbio_write_record
    - log_fatal
    - _
    - lseek
    - memset
    - gpg_strerror
    - strerror
    linkageType: ''
    returnType: void
    signature: void create_hashtable (ctrl_t ctrl, TRUSTREC *vr, int type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:857,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:859,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:859,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:860,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 878
    functionName: tdbio_db_matches_options
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 1
    functionsReached:
    - log_fatal
    - _
    - tdbio_read_record
    - gpg_strerror
    linkageType: ''
    returnType: int
    signature: int tdbio_db_matches_options (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:891,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:893,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:893,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 896
    functionName: tdbio_read_model
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 1
    functionsReached:
    - log_fatal
    - _
    - tdbio_read_record
    - gpg_strerror
    linkageType: ''
    returnType: byte
    signature: byte tdbio_read_model (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:909,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:911,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:911,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 914
    functionName: tdbio_read_nextcheck
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 2
    functionsReached:
    - log_fatal
    - _
    - tdbio_read_record
    - gpg_strerror
    linkageType: ''
    returnType: ulong
    signature: ulong tdbio_read_nextcheck (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:929,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:931,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:931,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:932,1
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/tdbio.c:938,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:940,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:940,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ctrl
    - stamp
    argTypes:
    - ctrl_t
    - ulong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 943
    functionName: tdbio_write_nextcheck
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 2
    functionsReached:
    - tdbio_read_record
    - tdbio_write_record
    - log_fatal
    - _
    - gpg_strerror
    linkageType: ''
    returnType: int
    signature: int tdbio_write_nextcheck (ctrl_t ctrl, ulong stamp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:966,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:968,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:968,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:969,1
    - Dst: take_write_lock
      Src: /src/gnupg/g10/tdbio.c:980,1
    - Dst: lseek
      Src: /src/gnupg/g10/tdbio.c:981,1
    - Dst: create_hashtable
      Src: /src/gnupg/g10/tdbio.c:982,1
    - Dst: release_write_lock
      Src: /src/gnupg/g10/tdbio.c:983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 954
    functionDepth: 4
    functionLinenumber: 954
    functionLinenumberEnd: 989
    functionName: get_trusthashrec
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 0
    functionsReached:
    - create_hashtable
    - tdbio_read_record
    - log_fatal
    - _
    - take_write_lock
    - lseek
    - release_write_lock
    - gpg_strerror
    linkageType: ''
    returnType: ulong
    signature: ulong get_trusthashrec (ctrl_t ctrl)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:1013,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1016,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1016,1
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/tdbio.c:1024,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1027,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1028,1
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:1035,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1038,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1039,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1049,1
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:1068,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1071,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1072,1
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/tdbio.c:1089,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1091,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1092,1
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:1100,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1103,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1104,1
    - Dst: tdbio_new_recnum
      Src: /src/gnupg/g10/tdbio.c:1111,1
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/tdbio.c:1112,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1115,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1116,1
    - Dst: memset
      Src: /src/gnupg/g10/tdbio.c:1119,1
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/tdbio.c:1123,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1125,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1126,1
    - Dst: memset
      Src: /src/gnupg/g10/tdbio.c:1139,1
    - Dst: tdbio_new_recnum
      Src: /src/gnupg/g10/tdbio.c:1141,1
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/tdbio.c:1144,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1147,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1148,1
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/tdbio.c:1153,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1155,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1156,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1161,1
    - Dst: list_trustdb
      Src: /src/gnupg/g10/tdbio.c:1164,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 115
    argCount: 5
    argNames:
    - ctrl
    - table
    - key
    - keylen
    - newrecnum
    argTypes:
    - ctrl_t
    - ulong
    - byte*
    - int
    - ulong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1000
    functionDepth: 2
    functionLinenumber: 1000
    functionLinenumberEnd: 1170
    functionName: upd_hashtable
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 0
    functionsReached:
    - tdbio_read_record
    - log_error
    - tdbio_write_record
    - gpg_strerror
    - memset
    - list_trustdb
    - tdbio_new_recnum
    linkageType: ''
    returnType: int
    signature: int upd_hashtable (ctrl_t ctrl, ulong table, byte *key, int keylen,
      ulong newrecnum)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:1193,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1196,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1196,1
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/tdbio.c:1207,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1209,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1210,1
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:1214,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1217,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1218,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1228,1
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/tdbio.c:1243,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1245,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1246,1
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:1252,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1255,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1256,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1265,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 5
    argNames:
    - ctrl
    - table
    - key
    - keylen
    - recnum
    argTypes:
    - ctrl_t
    - ulong
    - byte*
    - int
    - ulong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1268
    functionName: drop_from_hashtable
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 0
    functionsReached:
    - tdbio_write_record
    - gpg_strerror
    - tdbio_read_record
    - log_error
    linkageType: ''
    returnType: int
    signature: "int drop_from_hashtable (ctrl_t ctrl, ulong table,\n                     byte
      *key, int keylen, ulong recnum)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/tdbio.c:1291,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1292,1
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:1300,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1303,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1303,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tdbio.c:1309,1
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:1311,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1314,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1314,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1323,1
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:1340,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1343,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1344,1
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:1356,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1359,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1360,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tdbio.c:1365,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tdbio.c:1372,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 5
    argNames:
    - table
    - key
    - keylen
    - cmpdata
    - rec
    argTypes:
    - ulong
    - byte*
    - size_t
    - void*
    - TRUSTREC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1373
    functionName: lookup_hashtable
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - gpg_strerror
    - tdbio_read_record
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t lookup_hashtable (ulong table, const byte *key, size_t
      keylen,\n\t\t  int (*cmpfnc)(const void*, const TRUSTREC *),\n                  const
      void *cmpdata, TRUSTREC *rec )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: upd_hashtable
      Src: /src/gnupg/g10/tdbio.c:1385,1
    - Dst: get_trusthashrec
      Src: /src/gnupg/g10/tdbio.c:1385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctrl
    - tr
    argTypes:
    - ctrl_t
    - TRUSTREC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1382
    functionDepth: 5
    functionLinenumber: 1382
    functionLinenumberEnd: 1387
    functionName: update_trusthashtbl
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 0
    functionsReached:
    - get_trusthashrec
    - upd_hashtable
    linkageType: ''
    returnType: int
    signature: int update_trusthashtbl (ctrl_t ctrl, TRUSTREC *tr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tdbio.c:1399,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tdbio.c:1404,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tdbio.c:1408,1
    - Dst: strtimestamp
      Src: /src/gnupg/g10/tdbio.c:1418,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tdbio.c:1423,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tdbio.c:1427,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tdbio.c:1429,1
    - Dst: es_putc
      Src: /src/gnupg/g10/tdbio.c:1430,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tdbio.c:1434,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tdbio.c:1436,1
    - Dst: es_putc
      Src: /src/gnupg/g10/tdbio.c:1437,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tdbio.c:1441,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tdbio.c:1443,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tdbio.c:1444,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tdbio.c:1451,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tdbio.c:1453,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tdbio.c:1454,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tdbio.c:1460,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - rec
    - fp
    argTypes:
    - TRUSTREC*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1393
    functionDepth: 1
    functionLinenumber: 1393
    functionLinenumberEnd: 1463
    functionName: tdbio_dump_record
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 1
    functionsReached:
    - strtimestamp
    - es_fprintf
    - es_putc
    linkageType: ''
    returnType: void
    signature: void tdbio_dump_record (TRUSTREC *rec, estream_t fp)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: open_db
      Src: /src/gnupg/g10/tdbio.c:1482,1
    - Dst: get_record_from_cache
      Src: /src/gnupg/g10/tdbio.c:1484,1
    - Dst: lseek
      Src: /src/gnupg/g10/tdbio.c:1487,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tdbio.c:1489,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1490,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:1490,1
    - Dst: strerror
      Src: /src/gnupg/g10/tdbio.c:1490,1
    - Dst: read
      Src: /src/gnupg/g10/tdbio.c:1493,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tdbio.c:1496,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tdbio.c:1500,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1501,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:1501,1
    - Dst: strerror
      Src: /src/gnupg/g10/tdbio.c:1502,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1513,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tdbio.c:1515,1
    - Dst: memcmp
      Src: /src/gnupg/g10/tdbio.c:1524,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1526,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:1526,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tdbio.c:1527,1
    - Dst: buf32_to_ulong
      Src: /src/gnupg/g10/tdbio.c:1539,1
    - Dst: buf32_to_ulong
      Src: /src/gnupg/g10/tdbio.c:1541,1
    - Dst: buf32_to_ulong
      Src: /src/gnupg/g10/tdbio.c:1545,1
    - Dst: buf32_to_ulong
      Src: /src/gnupg/g10/tdbio.c:1548,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1551,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:1551,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tdbio.c:1553,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1557,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:1557,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tdbio.c:1559,1
    - Dst: buf32_to_ulong
      Src: /src/gnupg/g10/tdbio.c:1565,1
    - Dst: buf32_to_ulong
      Src: /src/gnupg/g10/tdbio.c:1571,1
    - Dst: buf32_to_ulong
      Src: /src/gnupg/g10/tdbio.c:1577,1
    - Dst: buf32_to_ulong
      Src: /src/gnupg/g10/tdbio.c:1581,1
    - Dst: memcpy
      Src: /src/gnupg/g10/tdbio.c:1587,1
    - Dst: buf32_to_ulong
      Src: /src/gnupg/g10/tdbio.c:1593,1
    - Dst: memcpy
      Src: /src/gnupg/g10/tdbio.c:1597,1
    - Dst: buf32_to_ulong
      Src: /src/gnupg/g10/tdbio.c:1600,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1607,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tdbio.c:1609,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 107
    argCount: 3
    argNames:
    - recnum
    - rec
    - expected
    argTypes:
    - ulong
    - TRUSTREC*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1473
    functionDepth: 3
    functionLinenumber: 1473
    functionLinenumberEnd: 1614
    functionName: tdbio_read_record
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 16
    functionsReached:
    - get_record_from_cache
    - open_db
    - buf32_to_ulong
    - log_error
    - gpg_error_from_syserror
    - read
    - _
    - lseek
    - gpg_error
    - memcmp
    - memcpy
    - strerror
    linkageType: ''
    returnType: int
    signature: int tdbio_read_record (ulong recnum, TRUSTREC *rec, int expected)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: open_db
      Src: /src/gnupg/g10/tdbio.c:1632,1
    - Dst: memset
      Src: /src/gnupg/g10/tdbio.c:1634,1
    - Dst: BUG
      Src: /src/gnupg/g10/tdbio.c:1645,1
    - Dst: memcpy
      Src: /src/gnupg/g10/tdbio.c:1646,1
    - Dst: ulongtobuf
      Src: /src/gnupg/g10/tdbio.c:1654,1
    - Dst: ulongtobuf
      Src: /src/gnupg/g10/tdbio.c:1655,1
    - Dst: ulongtobuf
      Src: /src/gnupg/g10/tdbio.c:1658,1
    - Dst: ulongtobuf
      Src: /src/gnupg/g10/tdbio.c:1660,1
    - Dst: ulongtobuf
      Src: /src/gnupg/g10/tdbio.c:1664,1
    - Dst: ulongtobuf
      Src: /src/gnupg/g10/tdbio.c:1670,1
    - Dst: ulongtobuf
      Src: /src/gnupg/g10/tdbio.c:1675,1
    - Dst: ulongtobuf
      Src: /src/gnupg/g10/tdbio.c:1678,1
    - Dst: memcpy
      Src: /src/gnupg/g10/tdbio.c:1683,1
    - Dst: ulongtobuf
      Src: /src/gnupg/g10/tdbio.c:1688,1
    - Dst: memcpy
      Src: /src/gnupg/g10/tdbio.c:1692,1
    - Dst: ulongtobuf
      Src: /src/gnupg/g10/tdbio.c:1694,1
    - Dst: BUG
      Src: /src/gnupg/g10/tdbio.c:1700,1
    - Dst: put_record_into_cache
      Src: /src/gnupg/g10/tdbio.c:1703,1
    - Dst: update_trusthashtbl
      Src: /src/gnupg/g10/tdbio.c:1707,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 80
    argCount: 2
    argNames:
    - ctrl
    - rec
    argTypes:
    - ctrl_t
    - TRUSTREC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1622
    functionDepth: 6
    functionLinenumber: 1622
    functionLinenumberEnd: 1710
    functionName: tdbio_write_record
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 8
    functionsReached:
    - open_db
    - update_trusthashtbl
    - ulongtobuf
    - BUG
    - memset
    - put_record_into_cache
    - memcpy
    linkageType: ''
    returnType: int
    signature: int tdbio_write_record (ctrl_t ctrl, TRUSTREC *rec)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:1725,1
    - Dst: drop_from_hashtable
      Src: /src/gnupg/g10/tdbio.c:1730,1
    - Dst: get_trusthashrec
      Src: /src/gnupg/g10/tdbio.c:1730,1
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:1738,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:1740,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:1740,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1741,1
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/tdbio.c:1747,1
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/tdbio.c:1749,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ctrl
    - recnum
    argTypes:
    - ctrl_t
    - ulong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1752
      start: 1718
    functionDepth: 7
    functionLinenumber: 1718
    functionLinenumberEnd: 1752
    functionName: tdbio_delete_record
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 0
    functionsReached:
    - tdbio_read_record
    - drop_from_hashtable
    - tdbio_write_record
    - log_fatal
    - get_trusthashrec
    - _
    - gpg_strerror
    linkageType: ''
    returnType: int
    signature: int tdbio_delete_record (ctrl_t ctrl, ulong recnum)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:1767,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:1769,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:1769,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1770,1
    - Dst: tdbio_read_record
      Src: /src/gnupg/g10/tdbio.c:1774,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:1776,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:1776,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1777,1
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/tdbio.c:1780,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:1782,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:1782,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1783,1
    - Dst: memset
      Src: /src/gnupg/g10/tdbio.c:1785,1
    - Dst: tdbio_write_record
      Src: /src/gnupg/g10/tdbio.c:1789,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:1791,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:1791,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1792,1
    - Dst: lseek
      Src: /src/gnupg/g10/tdbio.c:1796,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:1798,1
    - Dst: strerror
      Src: /src/gnupg/g10/tdbio.c:1798,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tdbio.c:1800,1
    - Dst: memset
      Src: /src/gnupg/g10/tdbio.c:1803,1
    - Dst: lseek
      Src: /src/gnupg/g10/tdbio.c:1807,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tdbio.c:1809,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1810,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:1810,1
    - Dst: strerror
      Src: /src/gnupg/g10/tdbio.c:1811,1
    - Dst: write
      Src: /src/gnupg/g10/tdbio.c:1817,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tdbio.c:1820,1
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1821,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:1821,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1822,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tdbio.c:1827,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:1827,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tdbio.c:1828,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1758
    functionDepth: 7
    functionLinenumber: 1758
    functionLinenumberEnd: 1832
    functionName: tdbio_new_recnum
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 5
    functionsReached:
    - tdbio_read_record
    - log_assert
    - gpg_error_from_syserror
    - tdbio_write_record
    - log_error
    - log_fatal
    - write
    - _
    - lseek
    - gpg_strerror
    - memset
    - strerror
    linkageType: ''
    returnType: ulong
    signature: ulong tdbio_new_recnum (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/g10/tdbio.c:1841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - fpr
    - rec
    argTypes:
    - void*
    - TRUSTREC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1842
    functionName: cmp_trec_fpr
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int cmp_trec_fpr ( const void *fpr, const TRUSTREC *rec )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fpr20_from_fpr
      Src: /src/gnupg/g10/tdbio.c:1860,1
    - Dst: lookup_hashtable
      Src: /src/gnupg/g10/tdbio.c:1865,1
    - Dst: get_trusthashrec
      Src: /src/gnupg/g10/tdbio.c:1865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ctrl
    - fpr
    - fprlen
    - rec
    argTypes:
    - ctrl_t
    - byte*
    - unsigned int
    - TRUSTREC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1851
    functionDepth: 5
    functionLinenumber: 1851
    functionLinenumberEnd: 1868
    functionName: tdbio_search_trust_byfpr
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 1
    functionsReached:
    - fpr20_from_fpr
    - lookup_hashtable
    - get_trusthashrec
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t tdbio_search_trust_byfpr (ctrl_t ctrl, const byte *fpr,
      unsigned int fprlen,\n                          TRUSTREC *rec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fpr20_from_pk
      Src: /src/gnupg/g10/tdbio.c:1882,1
    - Dst: tdbio_search_trust_byfpr
      Src: /src/gnupg/g10/tdbio.c:1883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctrl
    - pk
    - rec
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - TRUSTREC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1877
    functionDepth: 6
    functionLinenumber: 1877
    functionLinenumberEnd: 1884
    functionName: tdbio_search_trust_bypk
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 1
    functionsReached:
    - fpr20_from_pk
    - tdbio_search_trust_byfpr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t tdbio_search_trust_bypk (ctrl_t ctrl, PKT_public_key *pk,
      TRUSTREC *rec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g10/tdbio.c:1893,1
    - Dst: _
      Src: /src/gnupg/g10/tdbio.c:1893,1
    - Dst: how_to_fix_the_trustdb
      Src: /src/gnupg/g10/tdbio.c:1894,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/tdbio.c:1895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1890
    functionDepth: 2
    functionLinenumber: 1890
    functionLinenumberEnd: 1896
    functionName: tdbio_invalid
    functionSourceFile: /src/gnupg/g10/tdbio.c
    functionUses: 12
    functionsReached:
    - g10_exit
    - how_to_fix_the_trustdb
    - _
    - log_error
    linkageType: ''
    returnType: void
    signature: void tdbio_invalid (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc
      Src: /src/gnupg/g10/t-keydb-get-keyblock.c:38,1
    - Dst: prepend_srcdir
      Src: /src/gnupg/g10/t-keydb-get-keyblock.c:44,1
    - Dst: keydb_add_resource
      Src: /src/gnupg/g10/t-keydb-get-keyblock.c:45,1
    - Dst: test_free
      Src: /src/gnupg/g10/t-keydb-get-keyblock.c:46,1
    - Dst: ABORT
      Src: /src/gnupg/g10/t-keydb-get-keyblock.c:48,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/t-keydb-get-keyblock.c:50,1
    - Dst: ABORT
      Src: /src/gnupg/g10/t-keydb-get-keyblock.c:52,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/t-keydb-get-keyblock.c:54,1
    - Dst: ABORT
      Src: /src/gnupg/g10/t-keydb-get-keyblock.c:57,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/t-keydb-get-keyblock.c:59,1
    - Dst: ABORT
      Src: /src/gnupg/g10/t-keydb-get-keyblock.c:61,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/t-keydb-get-keyblock.c:63,1
    - Dst: TEST_P
      Src: /src/gnupg/g10/t-keydb-get-keyblock.c:64,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/t-keydb-get-keyblock.c:66,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/t-keydb-get-keyblock.c:67,1
    - Dst: xfree
      Src: /src/gnupg/g10/t-keydb-get-keyblock.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 69
    functionName: do_test
    functionSourceFile: /src/gnupg/g10/t-keydb-get-keyblock.c
    functionUses: 1
    functionsReached:
    - keydb_new
    - test_free
    - keydb_release
    - release_kbnode
    - keydb_search
    - xcalloc
    - prepend_srcdir
    - keydb_add_resource
    - classify_user_id
    - xfree
    - keydb_get_keyblock
    - TEST_P
    - ABORT
    linkageType: ''
    returnType: void
    signature: void do_test (int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnupg/g10/expand-group.c:36,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/expand-group.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - id
    - into
    - flags
    argTypes:
    - char*
    - strlist_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 53
    functionName: expand_id
    functionSourceFile: /src/gnupg/g10/expand-group.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - add_to_strlist
    linkageType: ''
    returnType: int
    signature: int expand_id (const char *id, strlist_t *into, unsigned int flags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: expand_id
      Src: /src/gnupg/g10/expand-group.c:70,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/expand-group.c:76,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/expand-group.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - input
    - prepend_input
    argTypes:
    - strlist_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 88
    functionName: expand_group
    functionSourceFile: /src/gnupg/g10/expand-group.c
    functionUses: 2
    functionsReached:
    - expand_id
    - add_to_strlist
    linkageType: ''
    returnType: strlist_t
    signature: strlist_t expand_group (strlist_t input, int prepend_input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/g10/keygen.c:210,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:216,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 219
    functionName: get_default_pubkey_algo
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 1
    functionsReached:
    - strchr
    - log_info
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      get_default_pubkey_algo (void)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_is_curve_supported
      Src: /src/gnupg/g10/keygen.c:238,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - algo
    - use
    - curve
    argTypes:
    - int
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 253
    functionName: adjust_algo_for_ecdh_ecdsa
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - openpgp_is_curve_supported
    linkageType: ''
    returnType: int
    signature: int adjust_algo_for_ecdh_ecdsa (int algo, unsigned int use, const char
      *curve)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/g10/keygen.c:266,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:266,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/keygen.c:275,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keygen.c:279,1
    - Dst: isspace
      Src: /src/gnupg/g10/keygen.c:286,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/keygen.c:289,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:291,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - letter
    - pk
    - handle
    argTypes:
    - int
    - PKT_public_key*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 292
    functionName: print_status_key_created
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - strlen
    - write_status_text
    - snprintf
    - xmalloc
    - xfree
    - isspace
    - fingerprint_from_pk
    linkageType: ''
    returnType: void
    signature: void print_status_key_created (int letter, PKT_public_key *pk, const
      char *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_status_key_created
      Src: /src/gnupg/g10/keygen.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 6
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: print_status_key_not_created
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - print_status_key_created
    linkageType: ''
    returnType: void
    signature: void print_status_key_not_created (const char *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:306,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:309,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:311,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:313,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:316,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/keygen.c:317,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keygen.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - root
    - s
    argTypes:
    - kbnode_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 319
    functionName: write_uid
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - strlen
    - new_kbnode
    - gpg_error
    - strcpy
    - add_kbnode
    - xmalloc_clear
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_uid (kbnode_t root, const char *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:344,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - sig
    - use
    argTypes:
    - PKT_signature*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 345
    functionName: do_add_key_flags
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - build_sig_subpkt
    linkageType: ''
    returnType: void
    signature: void do_add_key_flags (PKT_signature *sig, unsigned int use)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:366,1
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - sig
    - opaque
    argTypes:
    - PKT_signature*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 376
    functionName: keygen_add_key_expire
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - build_sig_subpkt
    - delete_sig_subpkt
    linkageType: ''
    returnType: int
    signature: int keygen_add_key_expire (PKT_signature *sig, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_add_key_flags
      Src: /src/gnupg/g10/keygen.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sig
    - opaque
    argTypes:
    - PKT_signature*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 381
    functionDepth: 4
    functionLinenumber: 381
    functionLinenumberEnd: 388
    functionName: keygen_add_key_flags
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - do_add_key_flags
    linkageType: ''
    returnType: int
    signature: int keygen_add_key_flags (PKT_signature *sig, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keygen_add_key_flags
      Src: /src/gnupg/g10/keygen.c:394,1
    - Dst: keygen_add_key_expire
      Src: /src/gnupg/g10/keygen.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sig
    - opaque
    argTypes:
    - PKT_signature*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 5
    functionLinenumber: 391
    functionLinenumberEnd: 396
    functionName: keygen_add_key_flags_and_expire
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - keygen_add_key_flags
    - keygen_add_key_expire
    linkageType: ''
    returnType: int
    signature: int keygen_add_key_flags_and_expire (PKT_signature *sig, void *opaque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_add_key_flags
      Src: /src/gnupg/g10/keygen.c:406,1
    - Dst: do_add_notation
      Src: /src/gnupg/g10/keygen.c:408,1
    - Dst: keygen_add_key_expire
      Src: /src/gnupg/g10/keygen.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sig
    - opaque
    argTypes:
    - PKT_signature*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 401
    functionDepth: 4
    functionLinenumber: 401
    functionLinenumberEnd: 410
    functionName: keygen_add_key_flags_from_oduap
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - do_add_notation
    - do_add_key_flags
    - keygen_add_key_expire
    linkageType: ''
    returnType: int
    signature: int keygen_add_key_flags_from_oduap (PKT_signature *sig, void *opaque)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:421,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:421,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:428,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:428,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:430,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:430,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:432,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:432,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:434,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:434,1
    - Dst: BUG
      Src: /src/gnupg/g10/keygen.c:436,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - val
    - type
    - item
    - buf
    - nbuf
    argTypes:
    - int
    - int
    - char*
    - byte*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 443
    functionName: set_one_pref
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - log_info
    - _
    - BUG
    linkageType: ''
    returnType: int
    signature: int set_one_pref (int val, int type, const char *item, byte *buf, int
      *nbuf)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:461,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/keygen.c:486,1
    - Dst: strcat
      Src: /src/gnupg/g10/keygen.c:487,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/keygen.c:488,1
    - Dst: strcat
      Src: /src/gnupg/g10/keygen.c:489,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/keygen.c:490,1
    - Dst: strcat
      Src: /src/gnupg/g10/keygen.c:491,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/keygen.c:492,1
    - Dst: strcat
      Src: /src/gnupg/g10/keygen.c:493,1
    - Dst: openpgp_aead_test_algo
      Src: /src/gnupg/g10/keygen.c:495,1
    - Dst: strcat
      Src: /src/gnupg/g10/keygen.c:496,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/keygen.c:503,1
    - Dst: strcat
      Src: /src/gnupg/g10/keygen.c:504,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/keygen.c:506,1
    - Dst: strcat
      Src: /src/gnupg/g10/keygen.c:507,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/keygen.c:509,1
    - Dst: strcat
      Src: /src/gnupg/g10/keygen.c:510,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/keygen.c:517,1
    - Dst: strcat
      Src: /src/gnupg/g10/keygen.c:518,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/keygen.c:520,1
    - Dst: strcat
      Src: /src/gnupg/g10/keygen.c:521,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/keygen.c:523,1
    - Dst: strcat
      Src: /src/gnupg/g10/keygen.c:524,1
    - Dst: openpgp_md_test_algo
      Src: /src/gnupg/g10/keygen.c:527,1
    - Dst: strcat
      Src: /src/gnupg/g10/keygen.c:528,1
    - Dst: strcat
      Src: /src/gnupg/g10/keygen.c:530,1
    - Dst: check_compress_algo
      Src: /src/gnupg/g10/keygen.c:532,1
    - Dst: strcat
      Src: /src/gnupg/g10/keygen.c:534,1
    - Dst: check_compress_algo
      Src: /src/gnupg/g10/keygen.c:538,1
    - Dst: strcat
      Src: /src/gnupg/g10/keygen.c:540,1
    - Dst: check_compress_algo
      Src: /src/gnupg/g10/keygen.c:544,1
    - Dst: strcat
      Src: /src/gnupg/g10/keygen.c:546,1
    - Dst: strcat
      Src: /src/gnupg/g10/keygen.c:553,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:556,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:557,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:562,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:565,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/keygen.c:573,1
    - Dst: strsep
      Src: /src/gnupg/g10/keygen.c:575,1
    - Dst: string_to_cipher_algo
      Src: /src/gnupg/g10/keygen.c:579,1
    - Dst: set_one_pref
      Src: /src/gnupg/g10/keygen.c:581,1
    - Dst: string_to_digest_algo
      Src: /src/gnupg/g10/keygen.c:586,1
    - Dst: set_one_pref
      Src: /src/gnupg/g10/keygen.c:588,1
    - Dst: string_to_compress_algo
      Src: /src/gnupg/g10/keygen.c:593,1
    - Dst: set_one_pref
      Src: /src/gnupg/g10/keygen.c:595,1
    - Dst: string_to_aead_algo
      Src: /src/gnupg/g10/keygen.c:600,1
    - Dst: set_one_pref
      Src: /src/gnupg/g10/keygen.c:602,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:607,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:608,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:610,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:611,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:613,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:614,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:616,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:617,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:619,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:620,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:627,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:627,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:644,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:653,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keygen.c:662,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:676,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keygen.c:685,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:699,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keygen.c:708,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keygen.c:723,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keygen.c:724,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keygen.c:725,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keygen.c:726,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 150
    argCount: 2
    argNames:
    - string
    - personal
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 453
    functionDepth: 3
    functionLinenumber: 453
    functionLinenumberEnd: 735
    functionName: keygen_set_std_prefs
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 2
    functionsReached:
    - strlen
    - xmalloc
    - ascii_strcasecmp
    - xstrdup
    - strsep
    - memcpy
    - openpgp_aead_test_algo
    - string_to_digest_algo
    - _
    - string_to_cipher_algo
    - log_info
    - check_compress_algo
    - strcat
    - xfree
    - set_one_pref
    - string_to_compress_algo
    - string_to_aead_algo
    - openpgp_md_test_algo
    - openpgp_cipher_test_algo
    linkageType: ''
    returnType: int
    signature: int keygen_set_std_prefs (const char *string,int personal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:744,1
    - Dst: keygen_set_std_prefs
      Src: /src/gnupg/g10/keygen.c:747,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keygen.c:751,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 740
    functionDepth: 4
    functionLinenumber: 740
    functionLinenumberEnd: 786
    functionName: keygen_get_std_prefs
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 1
    functionsReached:
    - xmalloc
    - xmalloc_clear
    - keygen_set_std_prefs
    linkageType: ''
    returnType: PKT_user_id
    signature: 'PKT_user_id *

      keygen_get_std_prefs(void)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:796,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:804,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keygen.c:807,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keygen.c:808,1
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:822,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:824,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:826,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - sig
    - enabled
    argTypes:
    - PKT_signature*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 788
    functionDepth: 6
    functionLinenumber: 788
    functionLinenumberEnd: 827
    functionName: add_feature_mdc
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - delete_sig_subpkt
    - parse_sig_subpkt
    - xmalloc
    - build_sig_subpkt
    - xfree
    - xmalloc_clear
    - memcpy
    linkageType: ''
    returnType: void
    signature: void add_feature_mdc (PKT_signature *sig,int enabled)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:838,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:845,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keygen.c:849,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keygen.c:850,1
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:864,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:866,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:868,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - sig
    - enabled
    argTypes:
    - PKT_signature*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 830
    functionDepth: 6
    functionLinenumber: 830
    functionLinenumberEnd: 869
    functionName: add_feature_aead
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - delete_sig_subpkt
    - parse_sig_subpkt
    - xmalloc
    - build_sig_subpkt
    - xfree
    - xmalloc_clear
    - memcpy
    linkageType: ''
    returnType: void
    signature: void add_feature_aead (PKT_signature *sig, int enabled)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:880,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:887,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keygen.c:891,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keygen.c:892,1
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:906,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:908,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:910,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - sig
    - enabled
    argTypes:
    - PKT_signature*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 872
    functionDepth: 6
    functionLinenumber: 872
    functionLinenumberEnd: 911
    functionName: add_feature_v5
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - delete_sig_subpkt
    - parse_sig_subpkt
    - xmalloc
    - build_sig_subpkt
    - xfree
    - xmalloc_clear
    - memcpy
    linkageType: ''
    returnType: void
    signature: void add_feature_v5 (PKT_signature *sig, int enabled)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:925,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:933,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keygen.c:936,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keygen.c:937,1
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:951,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:953,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:955,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - sig
    - enabled
    argTypes:
    - PKT_signature*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 914
    functionDepth: 6
    functionLinenumber: 914
    functionLinenumberEnd: 956
    functionName: add_keyserver_modify
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - delete_sig_subpkt
    - parse_sig_subpkt
    - xmalloc
    - build_sig_subpkt
    - xfree
    - xmalloc_clear
    - memcpy
    linkageType: ''
    returnType: void
    signature: void add_keyserver_modify (PKT_signature *sig,int enabled)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: keygen_set_std_prefs
      Src: /src/gnupg/g10/keygen.c:965,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:968,1
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:971,1
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:972,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:976,1
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:979,1
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:980,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:984,1
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:987,1
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:988,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:992,1
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:995,1
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:996,1
    - Dst: add_feature_mdc
      Src: /src/gnupg/g10/keygen.c:1000,1
    - Dst: add_feature_aead
      Src: /src/gnupg/g10/keygen.c:1001,1
    - Dst: add_feature_v5
      Src: /src/gnupg/g10/keygen.c:1002,1
    - Dst: add_keyserver_modify
      Src: /src/gnupg/g10/keygen.c:1003,1
    - Dst: keygen_add_keyserver_url
      Src: /src/gnupg/g10/keygen.c:1004,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - sig
    - opaque
    argTypes:
    - PKT_signature*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 959
    functionDepth: 7
    functionLinenumber: 959
    functionLinenumberEnd: 1007
    functionName: keygen_upd_std_prefs
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - add_feature_v5
    - delete_sig_subpkt
    - add_feature_aead
    - build_sig_subpkt
    - add_feature_mdc
    - keygen_set_std_prefs
    - add_keyserver_modify
    - keygen_add_keyserver_url
    linkageType: ''
    returnType: int
    signature: int keygen_upd_std_prefs (PKT_signature *sig, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_add_key_flags
      Src: /src/gnupg/g10/keygen.c:1019,1
    - Dst: keygen_add_key_expire
      Src: /src/gnupg/g10/keygen.c:1020,1
    - Dst: keygen_upd_std_prefs
      Src: /src/gnupg/g10/keygen.c:1021,1
    - Dst: keygen_add_keyserver_url
      Src: /src/gnupg/g10/keygen.c:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sig
    - opaque
    argTypes:
    - PKT_signature*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1014
    functionDepth: 8
    functionLinenumber: 1014
    functionLinenumberEnd: 1025
    functionName: keygen_add_std_prefs
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - keygen_add_keyserver_url
    - keygen_upd_std_prefs
    - do_add_key_flags
    - keygen_add_key_expire
    linkageType: ''
    returnType: int
    signature: int keygen_add_std_prefs (PKT_signature *sig, void *opaque)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:1036,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:1036,1
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:1038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sig
    - opaque
    argTypes:
    - PKT_signature*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1027
    functionDepth: 3
    functionLinenumber: 1027
    functionLinenumberEnd: 1041
    functionName: keygen_add_keyserver_url
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 2
    functionsReached:
    - build_sig_subpkt
    - delete_sig_subpkt
    - strlen
    linkageType: ''
    returnType: int
    signature: int keygen_add_keyserver_url(PKT_signature *sig, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:1061,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:1062,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keygen.c:1064,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keygen.c:1072,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keygen.c:1073,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:1074,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - sig
    - name
    - value
    - critical
    argTypes:
    - PKT_signature*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1054
    functionDepth: 3
    functionLinenumber: 1054
    functionLinenumberEnd: 1078
    functionName: do_add_notation
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 1
    functionsReached:
    - strlen
    - xmalloc
    - build_sig_subpkt
    - xfree
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void do_add_notation (PKT_signature *sig, const char *name, const
      char *value,\n                 int critical)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:1087,1
    - Dst: delete_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:1088,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:1097,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:1099,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:1103,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keygen.c:1105,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keygen.c:1114,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keygen.c:1116,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keygen.c:1118,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keygen.c:1120,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:1121,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:1124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - sig
    - opaque
    argTypes:
    - PKT_signature*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1081
    functionDepth: 3
    functionLinenumber: 1081
    functionLinenumberEnd: 1128
    functionName: keygen_add_notations
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 1
    functionsReached:
    - strlen
    - delete_sig_subpkt
    - xmalloc
    - build_sig_subpkt
    - xfree
    - memcpy
    linkageType: ''
    returnType: int
    signature: int keygen_add_notations(PKT_signature *sig,void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keygen.c:1137,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keygen.c:1140,1
    - Dst: memset
      Src: /src/gnupg/g10/keygen.c:1141,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:1143,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:1148,1
    - Dst: parse_revkeys
      Src: /src/gnupg/g10/keygen.c:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - sig
    - opaque
    argTypes:
    - PKT_signature*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1131
    functionDepth: 6
    functionLinenumber: 1131
    functionLinenumberEnd: 1153
    functionName: keygen_add_revkey
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - log_assert
    - parse_revkeys
    - build_sig_subpkt
    - memset
    - memcpy
    linkageType: ''
    returnType: int
    signature: int keygen_add_revkey (PKT_signature *sig, void *opaque)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cache_public_key
      Src: /src/gnupg/g10/keygen.c:1167,1
    - Dst: make_keysig_packet
      Src: /src/gnupg/g10/keygen.c:1169,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:1172,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:1173,1
    - Dst: iobuf_temp
      Src: /src/gnupg/g10/keygen.c:1177,1
    - Dst: init_packet
      Src: /src/gnupg/g10/keygen.c:1180,1
    - Dst: build_packet
      Src: /src/gnupg/g10/keygen.c:1183,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keygen.c:1184,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:1186,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:1186,1
    - Dst: iobuf_get_temp_buffer
      Src: /src/gnupg/g10/keygen.c:1190,1
    - Dst: buf32_to_size_t
      Src: /src/gnupg/g10/keygen.c:1208,1
    - Dst: BUG
      Src: /src/gnupg/g10/keygen.c:1212,1
    - Dst: BUG
      Src: /src/gnupg/g10/keygen.c:1221,1
    - Dst: build_sig_subpkt
      Src: /src/gnupg/g10/keygen.c:1239,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keygen.c:1241,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 7
    argNames:
    - ctrl
    - sig
    - pk
    - sub_pk
    - sub_psk
    - timestamp
    - cache_nonce
    argTypes:
    - ctrl_t
    - PKT_signature*
    - PKT_public_key*
    - PKT_public_key*
    - PKT_public_key*
    - u32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1159
    functionDepth: 6
    functionLinenumber: 1159
    functionLinenumberEnd: 1246
    functionName: make_backsig
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 1
    functionsReached:
    - log_error
    - iobuf_close
    - init_packet
    - iobuf_temp
    - BUG
    - iobuf_get_temp_buffer
    - build_sig_subpkt
    - gpg_strerror
    - make_keysig_packet
    - buf32_to_size_t
    - free_packet
    - cache_public_key
    - build_packet
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t make_backsig (ctrl_t ctrl, PKT_signature *sig, PKT_public_key
      *pk,\n              PKT_public_key *sub_pk, PKT_public_key *sub_psk,\n              u32
      timestamp, const char *cache_nonce)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/g10/keygen.c:1265,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:1269,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1275
    functionName: keygen_prepare_new_key_adsks
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - strchr
    - ascii_strcasecmp
    linkageType: ''
    returnType: void
    signature: void keygen_prepare_new_key_adsks (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: make_timestamp
      Src: /src/gnupg/g10/keygen.c:1290,1
    - Dst: keygen_prepare_new_key_adsks
      Src: /src/gnupg/g10/keygen.c:1292,1
    - Dst: prepare_adsk
      Src: /src/gnupg/g10/keygen.c:1297,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/keygen.c:1300,1
    - Dst: has_key_with_fingerprint
      Src: /src/gnupg/g10/keygen.c:1301,1
    - Dst: append_adsk_to_key
      Src: /src/gnupg/g10/keygen.c:1305,1
    - Dst: release_parameter_list
      Src: /src/gnupg/g10/keygen.c:1310,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1315,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - ctrl
    - keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1281
    functionDepth: 5
    functionLinenumber: 1281
    functionLinenumberEnd: 1318
    functionName: append_all_default_adsks
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 1
    functionsReached:
    - prepare_adsk
    - keygen_prepare_new_key_adsks
    - append_adsk_to_key
    - make_timestamp
    - release_parameter_list
    - gpg_error
    - fingerprint_from_pk
    - has_key_with_fingerprint
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t append_all_default_adsks (ctrl_t ctrl, kbnode_t keyblock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:1336,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:1336,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/keygen.c:1339,1
    - Dst: BUG
      Src: /src/gnupg/g10/keygen.c:1341,1
    - Dst: cache_public_key
      Src: /src/gnupg/g10/keygen.c:1346,1
    - Dst: make_keysig_packet
      Src: /src/gnupg/g10/keygen.c:1349,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:1354,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:1354,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:1358,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/keygen.c:1361,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keygen.c:1361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 6
    argNames:
    - ctrl
    - root
    - psk
    - revkey
    - timestamp
    - cache_nonce
    argTypes:
    - ctrl_t
    - kbnode_t
    - PKT_public_key*
    - struct revocation_key*
    - u32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1324
    functionDepth: 6
    functionLinenumber: 1324
    functionLinenumberEnd: 1363
    functionName: write_direct_sig
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - log_error
    - find_kbnode
    - new_kbnode
    - _
    - BUG
    - log_info
    - gpg_strerror
    - make_keysig_packet
    - add_kbnode
    - cache_public_key
    - xmalloc_clear
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t write_direct_sig (ctrl_t ctrl, kbnode_t root, PKT_public_key
      *psk,\n                  struct revocation_key *revkey, u32 timestamp,\n                  const
      char *cache_nonce)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:1382,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:1382,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/keygen.c:1385,1
    - Dst: BUG
      Src: /src/gnupg/g10/keygen.c:1387,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/keygen.c:1391,1
    - Dst: BUG
      Src: /src/gnupg/g10/keygen.c:1393,1
    - Dst: cache_public_key
      Src: /src/gnupg/g10/keygen.c:1401,1
    - Dst: make_keysig_packet
      Src: /src/gnupg/g10/keygen.c:1404,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:1409,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:1409,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:1413,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/keygen.c:1416,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keygen.c:1416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 6
    argNames:
    - ctrl
    - root
    - psk
    - use
    - timestamp
    - cache_nonce
    argTypes:
    - ctrl_t
    - kbnode_t
    - PKT_public_key*
    - unsigned int
    - u32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1370
    functionDepth: 6
    functionLinenumber: 1370
    functionLinenumberEnd: 1419
    functionName: write_selfsigs
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - log_error
    - find_kbnode
    - new_kbnode
    - _
    - BUG
    - log_info
    - gpg_strerror
    - make_keysig_packet
    - add_kbnode
    - cache_public_key
    - xmalloc_clear
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t write_selfsigs (ctrl_t ctrl, kbnode_t root, PKT_public_key
      *psk,\n\t\tunsigned int use, u32 timestamp, const char *cache_nonce)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:1442,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:1442,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/keygen.c:1445,1
    - Dst: BUG
      Src: /src/gnupg/g10/keygen.c:1447,1
    - Dst: cache_public_key
      Src: /src/gnupg/g10/keygen.c:1452,1
    - Dst: BUG
      Src: /src/gnupg/g10/keygen.c:1462,1
    - Dst: gnupg_rng_is_compliant
      Src: /src/gnupg/g10/keygen.c:1469,1
    - Dst: make_keysig_packet
      Src: /src/gnupg/g10/keygen.c:1474,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:1480,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:1480,1
    - Dst: make_backsig
      Src: /src/gnupg/g10/keygen.c:1487,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:1493,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/keygen.c:1496,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keygen.c:1496,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 7
    argNames:
    - ctrl
    - keyblock
    - pri_psk
    - sub_psk
    - use
    - timestamp
    - cache_nonce
    argTypes:
    - ctrl_t
    - kbnode_t
    - PKT_public_key*
    - PKT_public_key*
    - unsigned int
    - u32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1429
    functionDepth: 7
    functionLinenumber: 1429
    functionLinenumberEnd: 1498
    functionName: write_keybinding
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - log_error
    - make_backsig
    - find_kbnode
    - gnupg_rng_is_compliant
    - new_kbnode
    - _
    - BUG
    - log_info
    - gpg_strerror
    - make_keysig_packet
    - add_kbnode
    - cache_public_key
    - xmalloc_clear
    linkageType: ''
    returnType: int
    signature: "int write_keybinding (ctrl_t ctrl, kbnode_t keyblock,\n                  PKT_public_key
      *pri_psk, PKT_public_key *sub_psk,\n                  unsigned int use, u32
      timestamp, const char *cache_nonce)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/keygen.c:1509,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/g10/keygen.c:1512,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1513,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/keygen.c:1518,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1519,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/g10/keygen.c:1522,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1523,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:1526,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:1527,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:1528,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:1529,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - sexp
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1502
    functionDepth: 1
    functionLinenumber: 1502
    functionLinenumberEnd: 1531
    functionName: curve_is_448
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_cadr
    - gcry_sexp_find_token
    - xfree
    - ascii_strcasecmp
    - gcry_sexp_release
    - gcry_sexp_nth_string
    linkageType: ''
    returnType: int
    signature: int curve_is_448 (gcry_sexp_t sexp)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/keygen.c:1552,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1554,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/g10/keygen.c:1555,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1556,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1559,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/keygen.c:1561,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1564,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/g10/keygen.c:1567,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1570,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1573,1
    - Dst: openpgp_curve_to_oid
      Src: /src/gnupg/g10/keygen.c:1574,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1579,1
    - Dst: openpgp_oid_from_str
      Src: /src/gnupg/g10/keygen.c:1583,1
    - Dst: sexp_extract_param_sos
      Src: /src/gnupg/g10/keygen.c:1587,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1591,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1598,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/keygen.c:1602,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1605,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/g10/keygen.c:1608,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1609,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1613,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/keygen.c:1617,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1620,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/gnupg/g10/keygen.c:1623,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1624,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1627,1
    - Dst: pk_ecdh_default_params
      Src: /src/gnupg/g10/keygen.c:1633,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:1636,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:1642,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1643,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/keygen.c:1648,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 94
    argCount: 5
    argNames:
    - array
    - sexp
    - sexp2
    - algo
    - pkversion
    argTypes:
    - gcry_mpi_t*
    - gcry_sexp_t
    - gcry_sexp_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1537
    functionDepth: 2
    functionLinenumber: 1537
    functionLinenumberEnd: 1653
    functionName: ecckey_from_sexp
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - openpgp_oid_from_str
    - gpg_error_from_syserror
    - pk_ecdh_default_params
    - gcry_sexp_cadr
    - gcry_sexp_find_token
    - sexp_extract_param_sos
    - gpg_error
    - openpgp_curve_to_oid
    - xfree
    - gcry_sexp_release
    - gcry_sexp_nth_string
    - gcry_mpi_release
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ecckey_from_sexp (gcry_mpi_t *array, gcry_sexp_t sexp,\n
      \                 gcry_sexp_t sexp2, int algo, int pkversion)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/keygen.c:1668,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1670,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/g10/keygen.c:1671,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1672,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1675,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/keygen.c:1679,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1682,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/gnupg/g10/keygen.c:1685,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1686,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1689,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1693,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/keygen.c:1700,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1703,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - array
    - sexp
    - topname
    - elems
    argTypes:
    - gcry_mpi_t*
    - gcry_sexp_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1706
    functionName: key_from_sexp
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - gcry_sexp_cadr
    - gcry_sexp_find_token
    - gpg_error
    - gcry_sexp_release
    - gcry_mpi_release
    linkageType: ''
    returnType: int
    signature: "int key_from_sexp (gcry_mpi_t *array, gcry_sexp_t sexp,\n               const
      char *topname, const char *elems)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/g10/keygen.c:1729,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/keygen.c:1731,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:1733,1
    - Dst: strchr
      Src: /src/gnupg/g10/keygen.c:1735,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:1751,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1752,1
    - Dst: agent_scd_readkey
      Src: /src/gnupg/g10/keygen.c:1758,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:1761,1
    - Dst: agent_readkey
      Src: /src/gnupg/g10/keygen.c:1769,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:1772,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/g10/keygen.c:1775,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/g10/keygen.c:1776,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:1777,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:1780,1
    - Dst: agent_readkey
      Src: /src/gnupg/g10/keygen.c:1785,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1788,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:1789,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/g10/keygen.c:1792,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/g10/keygen.c:1793,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:1794,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1797,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:1798,1
    - Dst: curve_is_448
      Src: /src/gnupg/g10/keygen.c:1805,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/keygen.c:1809,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:1812,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1813,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1814,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:1815,1
    - Dst: ecckey_from_sexp
      Src: /src/gnupg/g10/keygen.c:1826,1
    - Dst: ecckey_from_sexp
      Src: /src/gnupg/g10/keygen.c:1830,1
    - Dst: key_from_sexp
      Src: /src/gnupg/g10/keygen.c:1832,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:1835,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:1835,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1836,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1837,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keygen.c:1838,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:1839,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1842,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1843,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/keygen.c:1845,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:1848,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keygen.c:1849,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:1850,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/keygen.c:1856,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keygen.c:1856,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:1858,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 112
    argCount: 9
    argNames:
    - ctrl
    - algo
    - hexkeygrip
    - cardkey
    - pub_root
    - timestamp
    - expireval
    - is_subkey
    - keygen_flags
    argTypes:
    - ctrl_t
    - int
    - char*
    - int
    - kbnode_t
    - u32
    - u32
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1712
    functionDepth: 3
    functionLinenumber: 1712
    functionLinenumberEnd: 1860
    functionName: do_create_from_keygrip
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_sscan
    - gcry_sexp_canon_len
    - new_kbnode
    - agent_scd_readkey
    - free_public_key
    - log_error
    - agent_readkey
    - gcry_sexp_release
    - ecckey_from_sexp
    - gpg_error_from_syserror
    - xtrystrdup
    - strchr
    - gpg_error
    - xfree
    - gpg_strerror
    - add_kbnode
    - xtrycalloc
    - key_from_sexp
    - curve_is_448
    linkageType: ''
    returnType: int
    signature: "int do_create_from_keygrip (ctrl_t ctrl, int algo,\n                        const
      char *hexkeygrip, int cardkey,\n                        kbnode_t pub_root, u32
      timestamp, u32 expireval,\n                        int is_subkey, int *keygen_flags)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: agent_genkey
      Src: /src/gnupg/g10/keygen.c:1882,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:1888,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:1888,1
    - Dst: agent_genkey
      Src: /src/gnupg/g10/keygen.c:1898,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:1904,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:1905,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1906,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/g10/keygen.c:1910,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:1912,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1913,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1914,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1915,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/keygen.c:1917,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/g10/keygen.c:1918,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:1920,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1921,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1922,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1923,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/keygen.c:1925,1
    - Dst: agent_crosslink_keys
      Src: /src/gnupg/g10/keygen.c:1926,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:1929,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1930,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1931,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:1932,1
    - Dst: common_gen_cb
      Src: /src/gnupg/g10/keygen.c:1940,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1945,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1946,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/keygen.c:1951,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:1954,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1955,1
    - Dst: ecckey_from_sexp
      Src: /src/gnupg/g10/keygen.c:1966,1
    - Dst: ecckey_from_sexp
      Src: /src/gnupg/g10/keygen.c:1970,1
    - Dst: key_from_sexp
      Src: /src/gnupg/g10/keygen.c:1972,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:1975,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:1975,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1976,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keygen.c:1977,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1980,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:1981,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/keygen.c:1983,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:1986,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keygen.c:1987,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/keygen.c:1993,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keygen.c:1993,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 81
    argCount: 13
    argNames:
    - keyparms
    - keyparms2
    - algo
    - algoelem
    - pub_root
    - timestamp
    - expireval
    - is_subkey
    - keygen_flags
    - passphrase
    - cache_nonce_addr
    - passwd_nonce_addr
    - common_gen_cb_parm
    argTypes:
    - char*
    - char*
    - int
    - char*
    - kbnode_t
    - u32
    - u32
    - int
    - int
    - char*
    - char**
    - char**
    - common_gen_cb_parm_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1867
    functionDepth: 3
    functionLinenumber: 1867
    functionLinenumberEnd: 1996
    functionName: common_gen
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - free_public_key
    - gcry_pk_get_keygrip
    - log_error
    - agent_genkey
    - bin2hex
    - gpg_error_from_syserror
    - new_kbnode
    - common_gen_cb
    - gpg_error
    - gpg_strerror
    - add_kbnode
    - gcry_sexp_release
    - xtrycalloc
    - agent_crosslink_keys
    - ecckey_from_sexp
    - key_from_sexp
    linkageType: ''
    returnType: int
    signature: "int common_gen (const char *keyparms, const char *keyparms2,\n            int
      algo, const char *algoelem,\n            kbnode_t pub_root, u32 timestamp, u32
      expireval, int is_subkey,\n            int keygen_flags, const char *passphrase,\n
      \           char **cache_nonce_addr, char **passwd_nonce_addr,\n            gpg_error_t
      (*common_gen_cb)(common_gen_cb_parm_t),\n            common_gen_cb_parm_t common_gen_cb_parm)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keygen.c:2014,1
    - Dst: is_ELGAMAL
      Src: /src/gnupg/g10/keygen.c:2014,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:2019,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2019,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:2024,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2024,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:2030,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2030,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keygen.c:2035,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/keygen.c:2036,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:2039,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:2044,1
    - Dst: common_gen
      Src: /src/gnupg/g10/keygen.c:2047,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2052,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 11
    argNames:
    - algo
    - nbits
    - pub_root
    - timestamp
    - expireval
    - is_subkey
    - keygen_flags
    - passphrase
    - cache_nonce_addr
    - passwd_nonce_addr
    - common_gen_cb_parm
    argTypes:
    - int
    - unsigned int
    - KBNODE
    - u32
    - u32
    - int
    - int
    - char*
    - char**
    - char**
    - common_gen_cb_parm_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 2002
    functionDepth: 4
    functionLinenumber: 2002
    functionLinenumberEnd: 2056
    functionName: gen_elg
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - log_assert
    - strlen
    - snprintf
    - gpg_error_from_syserror
    - common_gen
    - _
    - is_ELGAMAL
    - xtryasprintf
    - log_info
    - xfree
    linkageType: ''
    returnType: int
    signature: "int gen_elg (int algo, unsigned int nbits, KBNODE pub_root,\n         u32
      timestamp, u32 expireval, int is_subkey,\n         int keygen_flags, const char
      *passphrase,\n         char **cache_nonce_addr, char **passwd_nonce_addr,\n
      \        gpg_error_t (*common_gen_cb)(common_gen_cb_parm_t),\n         common_gen_cb_parm_t
      common_gen_cb_parm)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:2079,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2079,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:2084,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2084,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:2090,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2090,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:2098,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2098,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:2124,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2124,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keygen.c:2127,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keygen.c:2128,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/keygen.c:2129,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:2130,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:2131,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:2136,1
    - Dst: common_gen
      Src: /src/gnupg/g10/keygen.c:2139,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2144,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 10
    argNames:
    - nbits
    - pub_root
    - timestamp
    - expireval
    - is_subkey
    - keygen_flags
    - passphrase
    - cache_nonce_addr
    - passwd_nonce_addr
    - common_gen_cb_parm
    argTypes:
    - unsigned int
    - KBNODE
    - u32
    - u32
    - int
    - int
    - char*
    - char**
    - char**
    - common_gen_cb_parm_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2148
      start: 2062
    functionDepth: 4
    functionLinenumber: 2062
    functionLinenumberEnd: 2148
    functionName: gen_dsa
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - strlen
    - gpg_error_from_syserror
    - snprintf
    - common_gen
    - _
    - xtryasprintf
    - log_info
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gen_dsa (unsigned int nbits, KBNODE pub_root,\n         u32
      timestamp, u32 expireval, int is_subkey,\n         int keygen_flags, const char
      *passphrase,\n         char **cache_nonce_addr, char **passwd_nonce_addr,\n
      \        gpg_error_t (*common_gen_cb)(common_gen_cb_parm_t),\n         common_gen_cb_parm_t
      common_gen_cb_parm)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keygen.c:2168,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:2173,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:2177,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:2179,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:2181,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:2183,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2188,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/keygen.c:2190,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:2192,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2197,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/keygen.c:2200,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:2202,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2207,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/keygen.c:2209,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:2211,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2216,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/keygen.c:2219,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:2221,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/keygen.c:2228,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:2230,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:2237,1
    - Dst: common_gen
      Src: /src/gnupg/g10/keygen.c:2240,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2245,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 34
    argCount: 11
    argNames:
    - algo
    - curve
    - pub_root
    - timestamp
    - expireval
    - is_subkey
    - keygen_flags
    - passphrase
    - cache_nonce_addr
    - passwd_nonce_addr
    - common_gen_cb_parm
    argTypes:
    - int
    - char*
    - kbnode_t
    - u32
    - u32
    - int
    - int*
    - char*
    - char**
    - char**
    - common_gen_cb_parm_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2157
    functionDepth: 4
    functionLinenumber: 2157
    functionLinenumberEnd: 2249
    functionName: gen_ecc
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - log_assert
    - strlen
    - gpg_error_from_syserror
    - common_gen
    - strcmp
    - gpg_error
    - xtryasprintf
    - xfree
    - ascii_strcasecmp
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gen_ecc (int algo, const char *curve, kbnode_t pub_root,\n
      \        u32 timestamp, u32 expireval, int is_subkey,\n         int *keygen_flags,
      const char *passphrase,\n         char **cache_nonce_addr, char **passwd_nonce_addr,\n
      \        gpg_error_t (*common_gen_cb)(common_gen_cb_parm_t),\n         common_gen_cb_parm_t
      common_gen_cb_parm)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keygen.c:2267,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:2274,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:2277,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2281,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:2281,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/keygen.c:2284,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:2286,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2291,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:2291,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/keygen.c:2294,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:2296,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/keygen.c:2303,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:2305,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:2312,1
    - Dst: common_gen
      Src: /src/gnupg/g10/keygen.c:2315,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2320,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 12
    argNames:
    - algo
    - nbits
    - curve
    - pub_root
    - timestamp
    - expireval
    - is_subkey
    - keygen_flags
    - passphrase
    - cache_nonce_addr
    - passwd_nonce_addr
    - common_gen_cb_parm
    argTypes:
    - int
    - unsigned int
    - char*
    - kbnode_t
    - u32
    - u32
    - int
    - int*
    - char*
    - char**
    - char**
    - common_gen_cb_parm_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2255
    functionDepth: 4
    functionLinenumber: 2255
    functionLinenumberEnd: 2324
    functionName: gen_kyber
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - log_assert
    - strlen
    - gpg_error_from_syserror
    - common_gen
    - strcmp
    - gpg_error
    - xtryasprintf
    - xfree
    - ascii_strcasecmp
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gen_kyber (int algo, unsigned int nbits, const char *curve,
      kbnode_t pub_root,\n         u32 timestamp, u32 expireval, int is_subkey,\n
      \        int *keygen_flags, const char *passphrase,\n         char **cache_nonce_addr,
      char **passwd_nonce_addr,\n         gpg_error_t (*common_gen_cb)(common_gen_cb_parm_t),\n
      \        common_gen_cb_parm_t common_gen_cb_parm)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keygen.c:2343,1
    - Dst: is_RSA
      Src: /src/gnupg/g10/keygen.c:2343,1
    - Dst: get_keysize_range
      Src: /src/gnupg/g10/keygen.c:2346,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:2351,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2351,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:2356,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2356,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:2362,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2362,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keygen.c:2365,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/keygen.c:2366,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:2367,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:2372,1
    - Dst: common_gen
      Src: /src/gnupg/g10/keygen.c:2375,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 11
    argNames:
    - algo
    - nbits
    - pub_root
    - timestamp
    - expireval
    - is_subkey
    - keygen_flags
    - passphrase
    - cache_nonce_addr
    - passwd_nonce_addr
    - common_gen_cb_parm
    argTypes:
    - int
    - unsigned int
    - KBNODE
    - u32
    - u32
    - int
    - int
    - char*
    - char**
    - char**
    - common_gen_cb_parm_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2384
      start: 2330
    functionDepth: 4
    functionLinenumber: 2330
    functionLinenumberEnd: 2384
    functionName: gen_rsa
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - is_RSA
    - log_assert
    - strlen
    - snprintf
    - get_keysize_range
    - gpg_error_from_syserror
    - common_gen
    - _
    - xtryasprintf
    - log_info
    - xfree
    linkageType: ''
    returnType: int
    signature: "int gen_rsa (int algo, unsigned int nbits, KBNODE pub_root,\n         u32
      timestamp, u32 expireval, int is_subkey,\n         int keygen_flags, const char
      *passphrase,\n         char **cache_nonce_addr, char **passwd_nonce_addr,\n
      \        gpg_error_t (*common_gen_cb)(common_gen_cb_parm_t),\n         common_gen_cb_parm_t
      common_gen_cb_parm)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/g10/keygen.c:2394,1
    - Dst: digitp
      Src: /src/gnupg/g10/keygen.c:2397,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2391
    functionDepth: 0
    functionLinenumber: 2391
    functionLinenumberEnd: 2412
    functionName: check_valid_days
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - digitp
    linkageType: ''
    returnType: int
    signature: int check_valid_days( const char *s )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2419,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2419,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2422,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2422,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2425,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2425,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2428,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2428,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2431,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2415
    functionDepth: 1
    functionLinenumber: 2415
    functionLinenumberEnd: 2432
    functionName: print_key_flags
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - tty_printf
    - _
    linkageType: ''
    returnType: void
    signature: void print_key_flags(int flags)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2452,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:2457,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2459,1
    - Dst: openpgp_pk_algo_usage
      Src: /src/gnupg/g10/keygen.c:2470,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2493,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2494,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2494,1
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/keygen.c:2498,1
    - Dst: print_key_flags
      Src: /src/gnupg/g10/keygen.c:2499,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2500,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2501,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2501,1
    - Dst: print_key_flags
      Src: /src/gnupg/g10/keygen.c:2502,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2503,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2506,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2506,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2509,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2509,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2512,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2512,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2515,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2515,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2516,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2518,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keygen.c:2519,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2519,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/keygen.c:2520,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:2550,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2551,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2551,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2579,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2579,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2582,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 75
    argCount: 4
    argNames:
    - algo
    - subkey
    - current
    - mask
    argTypes:
    - int
    - int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2585
      start: 2438
    functionDepth: 5
    functionLinenumber: 2438
    functionLinenumberEnd: 2585
    functionName: ask_key_flags_with_mask
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - print_key_flags
    - strlen
    - _
    - cpr_get
    - xfree
    - openpgp_pk_algo_name
    - openpgp_pk_algo_usage
    - tty_printf
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int ask_key_flags_with_mask (int algo, int subkey, unsigned
      int current,\n                         unsigned int mask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ask_key_flags_with_mask
      Src: /src/gnupg/g10/keygen.c:2591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - algo
    - subkey
    - current
    argTypes:
    - int
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2592
      start: 2588
    functionDepth: 6
    functionLinenumber: 2588
    functionLinenumberEnd: 2592
    functionName: ask_key_flags
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 1
    functionsReached:
    - ask_key_flags_with_mask
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ask_key_flags (int algo, int subkey, unsigned int current)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: agent_readkey
      Src: /src/gnupg/g10/keygen.c:2608,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/g10/keygen.c:2611,1
    - Dst: get_pk_algo_from_canon_sexp
      Src: /src/gnupg/g10/keygen.c:2613,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2614,1
    - Dst: map_gcry_pk_to_openpgp
      Src: /src/gnupg/g10/keygen.c:2616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ctrl
    - hexgrip
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2597
    functionDepth: 2
    functionLinenumber: 2597
    functionLinenumberEnd: 2617
    functionName: check_keygrip
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - agent_readkey
    - get_pk_algo_from_canon_sexp
    - gcry_sexp_canon_len
    - xfree
    - map_gcry_pk_to_openpgp
    linkageType: ''
    returnType: int
    signature: int check_keygrip (ctrl_t ctrl, const char *hexgrip)
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2646,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2646,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2650,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2650,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2654,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2654,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2657,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2657,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2659,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2659,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2665,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2665,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2667,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2667,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2673,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2673,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2675,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2675,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2681,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2681,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2681,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2682,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2682,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2684,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2684,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2686,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2686,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2690,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2690,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2692,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2692,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2696,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2696,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2698,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2698,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2704,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keygen.c:2705,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2705,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/keygen.c:2706,1
    - Dst: atoi
      Src: /src/gnupg/g10/keygen.c:2707,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2712,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2712,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2714,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2720,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2726,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2732,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2738,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2744,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2750,1
    - Dst: ask_key_flags
      Src: /src/gnupg/g10/keygen.c:2753,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2756,1
    - Dst: ask_key_flags
      Src: /src/gnupg/g10/keygen.c:2759,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2762,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2769,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2775,1
    - Dst: ask_key_flags
      Src: /src/gnupg/g10/keygen.c:2778,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2781,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2788,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2793,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keygen.c:2794,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2794,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/keygen.c:2795,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/keygen.c:2796,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2799,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:2804,1
    - Dst: check_keygrip
      Src: /src/gnupg/g10/keygen.c:2809,1
    - Dst: check_keygrip
      Src: /src/gnupg/g10/keygen.c:2810,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2818,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2818,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2820,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:2823,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:2824,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2825,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2826,1
    - Dst: check_keygrip
      Src: /src/gnupg/g10/keygen.c:2827,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2828,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2828,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2832,1
    - Dst: ask_key_flags
      Src: /src/gnupg/g10/keygen.c:2835,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2838,1
    - Dst: agent_scd_serialno
      Src: /src/gnupg/g10/keygen.c:2844,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2847,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2847,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:2848,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2851,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2851,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2852,1
    - Dst: agent_scd_keypairinfo
      Src: /src/gnupg/g10/keygen.c:2854,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2857,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2857,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:2858,1
    - Dst: agent_scd_getattr_one
      Src: /src/gnupg/g10/keygen.c:2866,1
    - Dst: agent_scd_getattr_one
      Src: /src/gnupg/g10/keygen.c:2867,1
    - Dst: agent_scd_getattr_one
      Src: /src/gnupg/g10/keygen.c:2868,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2870,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2870,1
    - Dst: agent_scd_readkey
      Src: /src/gnupg/g10/keygen.c:2882,1
    - Dst: pubkey_algo_string
      Src: /src/gnupg/g10/keygen.c:2885,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:2886,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2897,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2899,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2901,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2903,1
    - Dst: map_gcry_pk_to_openpgp
      Src: /src/gnupg/g10/keygen.c:2911,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2913,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2917,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2922,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2924,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2929,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2931,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2936,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2938,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2941,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2942,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2945,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keygen.c:2946,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2946,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/keygen.c:2947,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/keygen.c:2948,1
    - Dst: atoi
      Src: /src/gnupg/g10/keygen.c:2949,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2950,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2951,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2952,1
    - Dst: free_keypair_info
      Src: /src/gnupg/g10/keygen.c:2962,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:2966,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/keygen.c:2967,1
    - Dst: ask_key_flags_with_mask
      Src: /src/gnupg/g10/keygen.c:2974,1
    - Dst: free_keypair_info
      Src: /src/gnupg/g10/keygen.c:2982,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2985,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:2991,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:2998,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:2998,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3004,1
    CyclomaticComplexity: 141
    EdgeCount: 141
    ICount: 257
    argCount: 7
    argNames:
    - ctrl
    - addmode
    - r_subkey_algo
    - r_usage
    - r_keygrip
    - r_cardkey
    - r_keytime
    argTypes:
    - ctrl_t
    - int
    - int*
    - unsigned int*
    - char**
    - int*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3012
      start: 2631
    functionDepth: 7
    functionLinenumber: 2631
    functionLinenumberEnd: 3012
    functionName: ask_algo
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - strlen
    - cpr_get
    - agent_scd_getattr_one
    - check_keygrip
    - xstrdup
    - agent_scd_readkey
    - agent_scd_keypairinfo
    - trim_spaces
    - _
    - gcry_sexp_release
    - pubkey_algo_string
    - tty_printf
    - ask_key_flags
    - agent_scd_serialno
    - ask_key_flags_with_mask
    - strcmp
    - xfree
    - gpg_strerror
    - atoi
    - map_gcry_pk_to_openpgp
    - free_keypair_info
    linkageType: ''
    returnType: int
    signature: "int ask_algo (ctrl_t ctrl, int addmode, int *r_subkey_algo, unsigned
      int *r_usage,\n          char **r_keygrip, int *r_cardkey, u32 *r_keytime)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - algo
    - min
    - max
    argTypes:
    - int
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3061
      start: 3015
    functionDepth: 0
    functionLinenumber: 3015
    functionLinenumberEnd: 3061
    functionName: get_keysize_range
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_keysize_range (int algo, unsigned int *min, unsigned
      int *max)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3104,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3104,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 3
    argNames:
    - nbits
    - algo
    - silent
    argTypes:
    - unsigned int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3107
      start: 3065
    functionDepth: 1
    functionLinenumber: 3065
    functionLinenumberEnd: 3107
    functionName: fixup_keysize
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - tty_printf
    - _
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int fixup_keysize (unsigned int nbits, int algo, int silent)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_keysize_range
      Src: /src/gnupg/g10/keygen.c:3121,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3137,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3137,1
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/keygen.c:3138,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keygen.c:3145,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3145,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keygen.c:3148,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3148,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keygen.c:3149,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/keygen.c:3150,1
    - Dst: atoi
      Src: /src/gnupg/g10/keygen.c:3151,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3152,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3153,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3156,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3156,1
    - Dst: openpgp_pk_algo_name
      Src: /src/gnupg/g10/keygen.c:3157,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3162,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3162,1
    - Dst: fixup_keysize
      Src: /src/gnupg/g10/keygen.c:3165,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - algo
    - primary_keysize
    argTypes:
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3167
      start: 3113
    functionDepth: 5
    functionLinenumber: 3113
    functionLinenumberEnd: 3167
    functionName: ask_keysize
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - fixup_keysize
    - atoi
    - get_keysize_range
    - _
    - cpr_get
    - xfree
    - xasprintf
    - openpgp_pk_algo_name
    - tty_printf
    linkageType: ''
    returnType: unsigned
    signature: unsigned ask_keysize (int algo, unsigned int primary_keysize)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3209,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3209,1
    - Dst: DIM
      Src: /src/gnupg/g10/keygen.c:3212,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:3230,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/keygen.c:3231,1
    - Dst: gcry_pk_get_curve
      Src: /src/gnupg/g10/keygen.c:3237,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:3243,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/keygen.c:3244,1
    - Dst: gcry_pk_get_curve
      Src: /src/gnupg/g10/keygen.c:3249,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3255,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3258,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:3260,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keygen.c:3265,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3265,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/keygen.c:3266,1
    - Dst: atoi
      Src: /src/gnupg/g10/keygen.c:3267,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3270,1
    - Dst: DIM
      Src: /src/gnupg/g10/keygen.c:3273,1
    - Dst: DIM
      Src: /src/gnupg/g10/keygen.c:3277,1
    - Dst: stricmp
      Src: /src/gnupg/g10/keygen.c:3281,1
    - Dst: stricmp
      Src: /src/gnupg/g10/keygen.c:3283,1
    - Dst: DIM
      Src: /src/gnupg/g10/keygen.c:3286,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3291,1
    - Dst: DIM
      Src: /src/gnupg/g10/keygen.c:3293,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3294,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3294,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 75
    argCount: 3
    argNames:
    - algo
    - subkey_algo
    - current
    argTypes:
    - int*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3328
      start: 3173
    functionDepth: 5
    functionLinenumber: 3173
    functionLinenumberEnd: 3328
    functionName: ask_curve
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 1
    functionsReached:
    - cpr_kill_prompt
    - atoi
    - DIM
    - _
    - cpr_get
    - gcry_pk_get_curve
    - stricmp
    - xfree
    - gcry_sexp_release
    - tty_printf
    - gcry_sexp_build
    linkageType: ''
    returnType: char
    signature: 'char *

      ask_curve (int *algo, int *subkey_algo, const char *current)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3350,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3350,1
    - Dst: DIM
      Src: /src/gnupg/g10/keygen.c:3352,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3360,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3362,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keygen.c:3367,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3367,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/keygen.c:3368,1
    - Dst: atoi
      Src: /src/gnupg/g10/keygen.c:3369,1
    - Dst: DIM
      Src: /src/gnupg/g10/keygen.c:3373,1
    - Dst: stricmp
      Src: /src/gnupg/g10/keygen.c:3375,1
    - Dst: DIM
      Src: /src/gnupg/g10/keygen.c:3378,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3383,1
    - Dst: DIM
      Src: /src/gnupg/g10/keygen.c:3385,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3387,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3387,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3399
      start: 3333
    functionDepth: 5
    functionLinenumber: 3333
    functionLinenumberEnd: 3399
    functionName: ask_kyber_variant
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - atoi
    - DIM
    - cpr_get
    - _
    - stricmp
    - xfree
    - tty_printf
    linkageType: ''
    returnType: char
    signature: 'char *

      ask_kyber_variant (void)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: make_timestamp
      Src: /src/gnupg/g10/keygen.c:3423,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:3427,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:3428,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:3428,1
    - Dst: strncmp
      Src: /src/gnupg/g10/keygen.c:3430,1
    - Dst: scan_secondsstr
      Src: /src/gnupg/g10/keygen.c:3431,1
    - Dst: scan_isodatestr
      Src: /src/gnupg/g10/keygen.c:3432,1
    - Dst: isotime2epoch_u64
      Src: /src/gnupg/g10/keygen.c:3435,1
    - Dst: check_valid_days
      Src: /src/gnupg/g10/keygen.c:3443,1
    - Dst: scan_secondsstr
      Src: /src/gnupg/g10/keygen.c:3445,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - string
    - creation_time
    argTypes:
    - char*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3455
      start: 3412
    functionDepth: 1
    functionLinenumber: 3412
    functionLinenumberEnd: 3455
    functionName: parse_expire_string_with_ct
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - scan_isodatestr
    - scan_secondsstr
    - strcmp
    - make_timestamp
    - check_valid_days
    - isotime2epoch_u64
    - strncmp
    linkageType: ''
    returnType: u32
    signature: u32 parse_expire_string_with_ct (const char *string, u32 creation_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expire_string_with_ct
      Src: /src/gnupg/g10/keygen.c:3460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3461
      start: 3457
    functionDepth: 2
    functionLinenumber: 3457
    functionLinenumberEnd: 3461
    functionName: parse_expire_string
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 6
    functionsReached:
    - parse_expire_string_with_ct
    linkageType: ''
    returnType: u32
    signature: u32 parse_expire_string ( const char *string )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnupg/g10/keygen.c:3473,1
    - Dst: scan_secondsstr
      Src: /src/gnupg/g10/keygen.c:3474,1
    - Dst: scan_isodatestr
      Src: /src/gnupg/g10/keygen.c:3475,1
    - Dst: isotime2epoch_u64
      Src: /src/gnupg/g10/keygen.c:3477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3486
      start: 3466
    functionDepth: 1
    functionLinenumber: 3466
    functionLinenumberEnd: 3486
    functionName: parse_creation_string
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - scan_isodatestr
    - scan_secondsstr
    - strncmp
    - isotime2epoch_u64
    linkageType: ''
    returnType: u32
    signature: u32 parse_creation_string (const char *string)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/gnupg/g10/keygen.c:3500,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3501,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3501,1
    - Dst: BUG
      Src: /src/gnupg/g10/keygen.c:3511,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3512,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3512,1
    - Dst: BUG
      Src: /src/gnupg/g10/keygen.c:3521,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3533,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keygen.c:3535,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3535,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keygen.c:3540,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3540,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keygen.c:3541,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3542,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3546,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/keygen.c:3547,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/keygen.c:3550,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/keygen.c:3551,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/keygen.c:3552,1
    - Dst: parse_expire_string
      Src: /src/gnupg/g10/keygen.c:3553,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3556,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3556,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3562,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3563,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3564,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3568,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3569,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3570,1
    - Dst: asctimestamp
      Src: /src/gnupg/g10/keygen.c:3571,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3574,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3574,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3581,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3581,1
    - Dst: cpr_enabled
      Src: /src/gnupg/g10/keygen.c:3586,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keygen.c:3586,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3587,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3591,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 2
    argNames:
    - object
    - def_expire
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3593
      start: 3490
    functionDepth: 6
    functionLinenumber: 3490
    functionLinenumberEnd: 3593
    functionName: ask_expire_interval
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 4
    functionsReached:
    - cpr_kill_prompt
    - asctimestamp
    - parse_expire_string
    - cpr_enabled
    - cpr_get_answer_is_yes
    - trim_spaces
    - cpr_get
    - _
    - BUG
    - make_timestamp
    - xfree
    - xasprintf
    - xstrdup
    - tty_printf
    linkageType: ''
    returnType: u32
    signature: u32 ask_expire_interval(int object,const char *def_expire)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ask_expire_interval
      Src: /src/gnupg/g10/keygen.c:3598,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/keygen.c:3599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3600
      start: 3595
    functionDepth: 7
    functionLinenumber: 3595
    functionLinenumberEnd: 3600
    functionName: ask_expiredate
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 1
    functionsReached:
    - ask_expire_interval
    - make_timestamp
    linkageType: ''
    returnType: u32
    signature: u32 ask_expiredate (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:3610,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:3611,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:3613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3616
      start: 3604
    functionDepth: 1
    functionLinenumber: 3604
    functionLinenumberEnd: 3616
    functionName: uid_from_string
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - xmalloc_clear
    - strcpy
    - strlen
    linkageType: ''
    returnType: PKT_user_id
    signature: 'PKT_user_id *

      uid_from_string (const char *string)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uid_from_string
      Src: /src/gnupg/g10/keygen.c:3623,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/keygen.c:3628,1
    - Dst: cmp_user_ids
      Src: /src/gnupg/g10/keygen.c:3630,1
    - Dst: free_user_id
      Src: /src/gnupg/g10/keygen.c:3632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - keyblock
    - uid
    argTypes:
    - kbnode_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3634
      start: 3620
    functionDepth: 2
    functionLinenumber: 3620
    functionLinenumberEnd: 3634
    functionName: uid_already_in_keyblock
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - uid_from_string
    - is_deleted_kbnode
    - free_user_id
    - cmp_user_ids
    linkageType: ''
    returnType: int
    signature: int uid_already_in_keyblock (kbnode_t keyblock, const char *uid)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: N_
      Src: /src/gnupg/g10/keygen.c:3655,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3658,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:3660,1
    - Dst: N_
      Src: /src/gnupg/g10/keygen.c:3670,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3675,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:3676,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3679,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3688,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keygen.c:3689,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3689,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/keygen.c:3690,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/keygen.c:3691,1
    - Dst: strpbrk
      Src: /src/gnupg/g10/keygen.c:3696,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3698,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3698,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3699,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3699,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3708,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keygen.c:3709,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3709,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/keygen.c:3710,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/keygen.c:3711,1
    - Dst: is_valid_mailbox
      Src: /src/gnupg/g10/keygen.c:3714,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3715,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3715,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3723,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keygen.c:3724,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3724,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/keygen.c:3725,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/keygen.c:3726,1
    - Dst: strpbrk
      Src: /src/gnupg/g10/keygen.c:3729,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3730,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3730,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3736,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/keygen.c:3737,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3742,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keygen.c:3743,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:3743,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:3743,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:3743,1
    - Dst: random_is_faked
      Src: /src/gnupg/g10/keygen.c:3744,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/keygen.c:3748,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/keygen.c:3752,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/keygen.c:3754,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/keygen.c:3754,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/keygen.c:3754,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/keygen.c:3756,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/keygen.c:3756,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/keygen.c:3756,1
    - Dst: random_is_faked
      Src: /src/gnupg/g10/keygen.c:3760,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:3761,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3766,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3766,1
    - Dst: get_native_charset
      Src: /src/gnupg/g10/keygen.c:3767,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3772,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3772,1
    - Dst: strchr
      Src: /src/gnupg/g10/keygen.c:3775,1
    - Dst: strchr
      Src: /src/gnupg/g10/keygen.c:3775,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3777,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3777,1
    - Dst: uid_already_in_keyblock
      Src: /src/gnupg/g10/keygen.c:3783,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3785,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3785,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3802,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:3804,1
    - Dst: BUG
      Src: /src/gnupg/g10/keygen.c:3805,1
    - Dst: cpr_enabled
      Src: /src/gnupg/g10/keygen.c:3806,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/keygen.c:3807,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keygen.c:3811,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3812,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3813,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/keygen.c:3814,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/keygen.c:3817,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3818,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3819,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/keygen.c:3820,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:3822,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3825,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3829,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3833,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3838,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3838,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3841,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3842,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3843,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3848,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3849,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3850,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3851,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3854,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3856,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3859,1
    - Dst: native_to_utf8
      Src: /src/gnupg/g10/keygen.c:3862,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3863,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 154
    argCount: 3
    argNames:
    - mode
    - full
    - keyblock
    argTypes:
    - int
    - int
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3867
      start: 3641
    functionDepth: 5
    functionLinenumber: 3641
    functionLinenumberEnd: 3867
    functionName: ask_user_id
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - strlen
    - random_is_faked
    - cpr_get
    - BUG
    - xmalloc
    - xstrdup
    - uid_already_in_keyblock
    - cpr_enabled
    - trim_spaces
    - _
    - tty_printf
    - native_to_utf8
    - strpbrk
    - strcmp
    - strchr
    - xfree
    - strcpy
    - is_valid_mailbox
    - get_native_charset
    - stpcpy
    - N_
    linkageType: ''
    returnType: char
    signature: 'char *

      ask_user_id (int mode, int full, KBNODE keyblock)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:3886,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:3886,1
    - Dst: gen_elg
      Src: /src/gnupg/g10/keygen.c:3893,1
    - Dst: gen_dsa
      Src: /src/gnupg/g10/keygen.c:3898,1
    - Dst: gen_ecc
      Src: /src/gnupg/g10/keygen.c:3905,1
    - Dst: gen_kyber
      Src: /src/gnupg/g10/keygen.c:3910,1
    - Dst: gen_rsa
      Src: /src/gnupg/g10/keygen.c:3916,1
    - Dst: BUG
      Src: /src/gnupg/g10/keygen.c:3921,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 12
    argNames:
    - algo
    - nbits
    - curve
    - pub_root
    - timestamp
    - expiredate
    - is_subkey
    - keygen_flags
    - passphrase
    - cache_nonce_addr
    - passwd_nonce_addr
    - common_gen_cb_parm
    argTypes:
    - int
    - unsigned int
    - char*
    - kbnode_t
    - u32
    - u32
    - int
    - int*
    - char*
    - char**
    - char**
    - common_gen_cb_parm_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3924
      start: 3873
    functionDepth: 5
    functionLinenumber: 3873
    functionLinenumberEnd: 3924
    functionName: do_create
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - gen_ecc
    - gen_rsa
    - _
    - gen_elg
    - BUG
    - gen_dsa
    - tty_printf
    - gen_kyber
    linkageType: ''
    returnType: int
    signature: "int do_create (int algo, unsigned int nbits, const char *curve, kbnode_t
      pub_root,\n           u32 timestamp, u32 expiredate, int is_subkey,\n           int
      *keygen_flags, const char *passphrase,\n           char **cache_nonce_addr,
      char **passwd_nonce_addr,\n           gpg_error_t (*common_gen_cb)(common_gen_cb_parm_t),\n
      \          common_gen_cb_parm_t common_gen_cb_parm)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uid_already_in_keyblock
      Src: /src/gnupg/g10/keygen.c:3942,1
    - Dst: uid_from_string
      Src: /src/gnupg/g10/keygen.c:3944,1
    - Dst: ask_user_id
      Src: /src/gnupg/g10/keygen.c:3948,1
    - Dst: uid_from_string
      Src: /src/gnupg/g10/keygen.c:3951,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:3952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - keyblock
    - uidstr
    argTypes:
    - KBNODE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3955
      start: 3934
    functionDepth: 6
    functionLinenumber: 3934
    functionLinenumberEnd: 3955
    functionName: generate_user_id
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 1
    functionsReached:
    - uid_from_string
    - uid_already_in_keyblock
    - xfree
    - ask_user_id
    linkageType: ''
    returnType: PKT_user_id
    signature: 'PKT_user_id *

      generate_user_id (KBNODE keyblock, const char *uidstr)'
  - BBCount: 81
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/g10/keygen.c:3998,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4003,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:4005,1
    - Dst: digitp
      Src: /src/gnupg/g10/keygen.c:4005,1
    - Dst: ascii_memcasecmp
      Src: /src/gnupg/g10/keygen.c:4007,1
    - Dst: ascii_memcasecmp
      Src: /src/gnupg/g10/keygen.c:4009,1
    - Dst: ascii_memcasecmp
      Src: /src/gnupg/g10/keygen.c:4011,1
    - Dst: get_keysize_range
      Src: /src/gnupg/g10/keygen.c:4021,1
    - Dst: strtoul
      Src: /src/gnupg/g10/keygen.c:4024,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:4026,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4029,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4030,1
    - Dst: openpgp_is_curve_supported
      Src: /src/gnupg/g10/keygen.c:4034,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:4036,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4041,1
    - Dst: openpgp_is_curve_supported
      Src: /src/gnupg/g10/keygen.c:4045,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:4047,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/g10/keygen.c:4052,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/g10/keygen.c:4053,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/g10/keygen.c:4054,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/g10/keygen.c:4055,1
    - Dst: strchr
      Src: /src/gnupg/g10/keygen.c:4060,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keygen.c:4061,1
    - Dst: openpgp_is_curve_supported
      Src: /src/gnupg/g10/keygen.c:4063,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:4065,1
    - Dst: strstr
      Src: /src/gnupg/g10/keygen.c:4067,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4070,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4075,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4080,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4081,1
    - Dst: openpgp_is_curve_supported
      Src: /src/gnupg/g10/keygen.c:4086,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:4093,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:4093,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:4097,1
    - Dst: strtokenize
      Src: /src/gnupg/g10/keygen.c:4105,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:4107,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4113,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4115,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4116,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4118,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4120,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4122,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:4128,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:4129,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4133,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:4139,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:4140,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4144,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:4151,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:4152,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4155,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4157,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:4161,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:4162,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:4166,1
    - Dst: agent_scd_serialno
      Src: /src/gnupg/g10/keygen.c:4184,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:4187,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:4187,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:4187,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:4191,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:4191,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:4192,1
    - Dst: agent_scd_keypairinfo
      Src: /src/gnupg/g10/keygen.c:4195,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:4198,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:4198,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:4198,1
    - Dst: agent_scd_getattr_one
      Src: /src/gnupg/g10/keygen.c:4201,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:4217,1
    - Dst: agent_scd_readkey
      Src: /src/gnupg/g10/keygen.c:4229,1
    - Dst: pubkey_algo_string
      Src: /src/gnupg/g10/keygen.c:4232,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:4233,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:4244,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:4246,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:4251,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:4253,1
    - Dst: map_gcry_pk_to_openpgp
      Src: /src/gnupg/g10/keygen.c:4264,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:4266,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:4267,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/keygen.c:4268,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:4271,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:4272,1
    - Dst: free_keypair_info
      Src: /src/gnupg/g10/keygen.c:4273,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:4279,1
    - Dst: free_keypair_info
      Src: /src/gnupg/g10/keygen.c:4280,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:4283,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:4284,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:4284,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:4285,1
    - Dst: pubkey_get_nsig
      Src: /src/gnupg/g10/keygen.c:4325,1
    - Dst: pubkey_get_nenc
      Src: /src/gnupg/g10/keygen.c:4327,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:4330,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:4331,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:4338,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:4338,1
    - Dst: get_keysize_range
      Src: /src/gnupg/g10/keygen.c:4353,1
    - Dst: fixup_keysize
      Src: /src/gnupg/g10/keygen.c:4361,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:4374,1
    CyclomaticComplexity: 125
    EdgeCount: 125
    ICount: 253
    argCount: 11
    argNames:
    - ctrl
    - string
    - for_subkey
    - clear_cert
    - r_algo
    - r_size
    - r_keyuse
    - r_curve
    - r_keyversion
    - r_keygrip
    - r_keytime
    argTypes:
    - ctrl_t
    - char*
    - int
    - int
    - int*
    - unsigned int*
    - unsigned int*
    - char**
    - int*
    - char**
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4380
      start: 3970
    functionDepth: 2
    functionLinenumber: 3970
    functionLinenumberEnd: 4380
    functionName: parse_key_parameter_part
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - ascii_memcasecmp
    - strlen
    - digitp
    - log_assert
    - strstr
    - pubkey_get_nsig
    - agent_scd_getattr_one
    - ascii_strcasecmp
    - agent_scd_readkey
    - log_error
    - agent_scd_keypairinfo
    - _
    - log_info
    - gcry_sexp_release
    - pubkey_algo_string
    - strtoul
    - agent_scd_serialno
    - openpgp_is_curve_supported
    - gpg_error_from_syserror
    - get_keysize_range
    - strcmp
    - xtrystrdup
    - strchr
    - gpg_error
    - xfree
    - gpg_strerror
    - pubkey_get_nenc
    - ascii_strncasecmp
    - fixup_keysize
    - strtokenize
    - map_gcry_pk_to_openpgp
    - free_keypair_info
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_key_parameter_part (ctrl_t ctrl,\n                          char
      *string, int for_subkey, int clear_cert,\n                          int *r_algo,
      unsigned int *r_size,\n                          unsigned int *r_keyuse,\n                          char
      const **r_curve, int *r_keyversion,\n                          char **r_keygrip,
      u32 *r_keytime)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4480,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:4480,1
    - Dst: get_default_pubkey_algo
      Src: /src/gnupg/g10/keygen.c:4481,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4482,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4483,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4485,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4487,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/keygen.c:4490,1
    - Dst: strchr
      Src: /src/gnupg/g10/keygen.c:4491,1
    - Dst: parse_key_parameter_part
      Src: /src/gnupg/g10/keygen.c:4496,1
    - Dst: parse_key_parameter_part
      Src: /src/gnupg/g10/keygen.c:4501,1
    - Dst: parse_key_parameter_part
      Src: /src/gnupg/g10/keygen.c:4516,1
    - Dst: parse_key_parameter_part
      Src: /src/gnupg/g10/keygen.c:4521,1
    - Dst: parse_key_parameter_part
      Src: /src/gnupg/g10/keygen.c:4527,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:4533,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 56
    argCount: 18
    argNames:
    - ctrl
    - string
    - part
    - suggested_use
    - r_algo
    - r_size
    - r_keyuse
    - r_curve
    - r_version
    - r_keygrip
    - r_keytime
    - r_subalgo
    - r_subsize
    - r_subkeyuse
    - r_subcurve
    - r_subversion
    - r_subkeygrip
    - r_subkeytime
    argTypes:
    - ctrl_t
    - char*
    - int
    - unsigned int
    - int*
    - unsigned int*
    - unsigned int*
    - char**
    - int*
    - char**
    - u32*
    - int*
    - unsigned int*
    - unsigned int*
    - char**
    - int*
    - char**
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4536
      start: 4430
    functionDepth: 3
    functionLinenumber: 4430
    functionLinenumberEnd: 4536
    functionName: parse_key_parameter_string
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - strcmp
    - parse_key_parameter_part
    - strchr
    - xfree
    - ascii_strcasecmp
    - xstrdup
    - get_default_pubkey_algo
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_key_parameter_string (ctrl_t ctrl,\n                            const
      char *string, int part,\n                            unsigned int suggested_use,\n
      \                           int *r_algo, unsigned int *r_size,\n                            unsigned
      int *r_keyuse,\n                            char const **r_curve,\n                            int
      *r_version,\n                            char **r_keygrip,\n                            u32
      *r_keytime,\n                            int *r_subalgo, unsigned int *r_subsize,\n
      \                           unsigned int *r_subkeyuse,\n                            char
      const **r_subcurve,\n                            int *r_subversion,\n                            char
      **r_subkeygrip,\n                            u32 *r_subkeytime)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keygen.c:4544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - para
    - r
    argTypes:
    - struct para_data_s*
    - struct para_data_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4548
      start: 4541
    functionDepth: 0
    functionLinenumber: 4541
    functionLinenumberEnd: 4548
    functionName: append_to_parameter
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - log_assert
    linkageType: ''
    returnType: void
    signature: void append_to_parameter (struct para_data_s *para, struct para_data_s
      *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wipememory
      Src: /src/gnupg/g10/keygen.c:4560,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:4560,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keygen.c:4562,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:4564,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct para_data_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4566
      start: 4551
    functionDepth: 1
    functionLinenumber: 4551
    functionLinenumberEnd: 4566
    functionName: release_parameter_list
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 1
    functionsReached:
    - wipememory
    - free_public_key
    - xfree
    - strlen
    linkageType: ''
    returnType: void
    signature: void release_parameter_list (struct para_data_s *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - para
    - key
    - idx
    argTypes:
    - struct para_data_s*
    - enum para_name
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4584
      start: 4570
    functionDepth: 0
    functionLinenumber: 4570
    functionLinenumberEnd: 4584
    functionName: get_parameter_idx
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct para_data_s
    signature: "struct para_data_s *\nget_parameter_idx (struct para_data_s *para,
      enum para_name key,\n                   unsigned int idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_parameter_idx
      Src: /src/gnupg/g10/keygen.c:4590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - para
    - key
    argTypes:
    - struct para_data_s*
    - enum para_name
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4591
      start: 4587
    functionDepth: 1
    functionLinenumber: 4587
    functionLinenumberEnd: 4591
    functionName: get_parameter
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - get_parameter_idx
    linkageType: ''
    returnType: struct para_data_s
    signature: 'struct para_data_s *

      get_parameter (struct para_data_s *para, enum para_name key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_parameter
      Src: /src/gnupg/g10/keygen.c:4596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - para
    - key
    argTypes:
    - struct para_data_s*
    - enum para_name
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4598
      start: 4593
    functionDepth: 0
    functionLinenumber: 4593
    functionLinenumberEnd: 4598
    functionName: get_parameter_value
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - get_parameter
    linkageType: ''
    returnType: char
    signature: 'char *

      get_parameter_value( struct para_data_s *para, enum para_name key )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_parameter
      Src: /src/gnupg/g10/keygen.c:4607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - para
    argTypes:
    - struct para_data_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4609
      start: 4604
    functionDepth: 0
    functionLinenumber: 4604
    functionLinenumberEnd: 4609
    functionName: get_parameter_passphrase
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - get_parameter
    linkageType: ''
    returnType: char
    signature: 'char *

      get_parameter_passphrase (struct para_data_s *para)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: get_parameter
      Src: /src/gnupg/g10/keygen.c:4617,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4627,1
    - Dst: parse_key_parameter_string
      Src: /src/gnupg/g10/keygen.c:4635,1
    - Dst: digitp
      Src: /src/gnupg/g10/keygen.c:4641,1
    - Dst: atoi
      Src: /src/gnupg/g10/keygen.c:4642,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:4643,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:4644,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4646,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4648,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4650,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4652,1
    - Dst: map_gcry_pk_to_openpgp
      Src: /src/gnupg/g10/keygen.c:4655,1
    - Dst: gcry_pk_map_name
      Src: /src/gnupg/g10/keygen.c:4655,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 4
    argNames:
    - ctrl
    - para
    - key
    - r_default
    argTypes:
    - ctrl_t
    - struct para_data_s*
    - enum para_name
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4660
      start: 4612
    functionDepth: 4
    functionLinenumber: 4612
    functionLinenumberEnd: 4660
    functionName: get_parameter_algo
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - get_parameter
    - atoi
    - digitp
    - parse_key_parameter_string
    - strcmp
    - gcry_pk_map_name
    - ascii_strcasecmp
    - map_gcry_pk_to_openpgp
    linkageType: ''
    returnType: int
    signature: "int get_parameter_algo (ctrl_t ctrl, struct para_data_s *para, enum
      para_name key,\n                    int *r_default)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strtokenize
      Src: /src/gnupg/g10/keygen.c:4675,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:4678,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:4679,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:4679,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4687,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4689,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4690,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4692,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4694,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4696,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4698,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4700,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:4704,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:4709,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - usagestr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4711
      start: 4666
    functionDepth: 1
    functionLinenumber: 4666
    functionLinenumberEnd: 4711
    functionName: parse_usagestr
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - strtokenize
    - gpg_strerror
    - ascii_strcasecmp
    - xfree
    linkageType: ''
    returnType: int
    signature: int parse_usagestr (const char *usagestr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_parameter
      Src: /src/gnupg/g10/keygen.c:4722,1
    - Dst: parse_usagestr
      Src: /src/gnupg/g10/keygen.c:4728,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:4731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - fname
    - para
    - key
    argTypes:
    - char*
    - struct para_data_s*
    - enum para_name
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4737
      start: 4718
    functionDepth: 2
    functionLinenumber: 4718
    functionLinenumberEnd: 4737
    functionName: parse_parameter_usage
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - parse_usagestr
    - get_parameter
    - log_error
    linkageType: ''
    returnType: int
    signature: "int parse_parameter_usage (const char *fname,\n                       struct
      para_data_s *para, enum para_name key)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/g10/keygen.c:4755,1
    - Dst: spacep
      Src: /src/gnupg/g10/keygen.c:4755,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/keygen.c:4761,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:4764,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:4764,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:4765,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keygen.c:4769,1
    - Dst: get_pubkey_byname
      Src: /src/gnupg/g10/keygen.c:4771,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/keygen.c:4776,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:4779,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:4779,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:4781,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keygen.c:4790,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keygen.c:4792,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:4796,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:4796,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keygen.c:4797,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - ctrl
    - name
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4799
      start: 4744
    functionDepth: 5
    functionLinenumber: 4744
    functionLinenumberEnd: 4799
    functionName: prepare_desig_revoker
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - get_pubkey_byname
    - ascii_strncasecmp
    - free_public_key
    - log_error
    - spacep
    - _
    - xcalloc
    - gpg_error
    - classify_user_id
    - log_info
    - gpg_strerror
    - fingerprint_from_pk
    - memcpy
    linkageType: ''
    returnType: struct para_data_s
    signature: 'struct para_data_s *

      prepare_desig_revoker (ctrl_t ctrl, const char *name)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: classify_user_id
      Src: /src/gnupg/g10/keygen.c:4815,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:4818,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:4818,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:4819,1
    - Dst: strchr
      Src: /src/gnupg/g10/keygen.c:4824,1
    - Dst: xstrconcat
      Src: /src/gnupg/g10/keygen.c:4826,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keygen.c:4830,1
    - Dst: get_pubkey_byname
      Src: /src/gnupg/g10/keygen.c:4832,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keygen.c:4837,1
    - Dst: strchr
      Src: /src/gnupg/g10/keygen.c:4845,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keygen.c:4847,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:4848,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:4848,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keygen.c:4850,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:4851,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - ctrl
    - name
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4853
      start: 4805
    functionDepth: 4
    functionLinenumber: 4805
    functionLinenumberEnd: 4853
    functionName: prepare_adsk
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 1
    functionsReached:
    - get_pubkey_byname
    - free_public_key
    - log_error
    - xstrconcat
    - _
    - xcalloc
    - gpg_error
    - classify_user_id
    - log_info
    - strchr
    - write_status_error
    - gpg_strerror
    - xfree
    linkageType: ''
    returnType: struct para_data_s
    signature: 'struct para_data_s *

      prepare_adsk (ctrl_t ctrl, const char *name)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_parameter
      Src: /src/gnupg/g10/keygen.c:4861,1
    - Dst: atoi
      Src: /src/gnupg/g10/keygen.c:4872,1
    - Dst: spacep
      Src: /src/gnupg/g10/keygen.c:4885,1
    - Dst: hextobyte
      Src: /src/gnupg/g10/keygen.c:4887,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:4902,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keygen.c:4905,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:4910,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 3
    argNames:
    - fname
    - para
    - key
    argTypes:
    - char*
    - struct para_data_s*
    - enum para_name
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4912
      start: 4857
    functionDepth: 1
    functionLinenumber: 4857
    functionLinenumberEnd: 4912
    functionName: parse_revocation_key
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - get_parameter
    - atoi
    - log_error
    - spacep
    - hextobyte
    - ascii_strcasecmp
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int parse_revocation_key (const char *fname,\n\t\t      struct para_data_s
      *para, enum para_name key)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_parameter
      Src: /src/gnupg/g10/keygen.c:4918,1
    - Dst: strtoul
      Src: /src/gnupg/g10/keygen.c:4930,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - para
    - key
    argTypes:
    - struct para_data_s*
    - enum para_name
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4931
      start: 4915
    functionDepth: 0
    functionLinenumber: 4915
    functionLinenumberEnd: 4931
    functionName: get_parameter_u32
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - strtoul
    - get_parameter
    linkageType: ''
    returnType: u32
    signature: u32 get_parameter_u32( struct para_data_s *para, enum para_name key
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_parameter_u32
      Src: /src/gnupg/g10/keygen.c:4936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - para
    - key
    argTypes:
    - struct para_data_s*
    - enum para_name
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4937
      start: 4933
    functionDepth: 1
    functionLinenumber: 4933
    functionLinenumberEnd: 4937
    functionName: get_parameter_uint
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - get_parameter_u32
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_parameter_uint( struct para_data_s *para, enum para_name
      key )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_parameter_idx
      Src: /src/gnupg/g10/keygen.c:4942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - para
    - idx
    argTypes:
    - struct para_data_s*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4944
      start: 4939
    functionDepth: 1
    functionLinenumber: 4939
    functionLinenumberEnd: 4944
    functionName: get_parameter_revkey
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - get_parameter_idx
    linkageType: ''
    returnType: struct revocation_key
    signature: 'struct revocation_key *

      get_parameter_revkey (struct para_data_s *para, unsigned int idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_parameter_idx
      Src: /src/gnupg/g10/keygen.c:4949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - para
    - idx
    argTypes:
    - struct para_data_s*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4951
      start: 4946
    functionDepth: 1
    functionLinenumber: 4946
    functionLinenumberEnd: 4951
    functionName: get_parameter_adsk
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - get_parameter_idx
    linkageType: ''
    returnType: PKT_public_key
    signature: 'PKT_public_key *

      get_parameter_adsk (struct para_data_s *para, unsigned int idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_parameter
      Src: /src/gnupg/g10/keygen.c:4956,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - para
    - key
    argTypes:
    - struct para_data_s*
    - enum para_name
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4958
      start: 4953
    functionDepth: 0
    functionLinenumber: 4953
    functionLinenumberEnd: 4958
    functionName: get_parameter_bool
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - get_parameter
    linkageType: ''
    returnType: int
    signature: int get_parameter_bool (struct para_data_s *para, enum para_name key)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: get_parameter
      Src: /src/gnupg/g10/keygen.c:4978,1
    - Dst: get_parameter_algo
      Src: /src/gnupg/g10/keygen.c:4981,1
    - Dst: openpgp_pk_test_algo2
      Src: /src/gnupg/g10/keygen.c:4982,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:4984,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:4990,1
    - Dst: parse_parameter_usage
      Src: /src/gnupg/g10/keygen.c:4994,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:4999,1
    - Dst: openpgp_pk_algo_usage
      Src: /src/gnupg/g10/keygen.c:5003,1
    - Dst: append_to_parameter
      Src: /src/gnupg/g10/keygen.c:5004,1
    - Dst: get_parameter
      Src: /src/gnupg/g10/keygen.c:5010,1
    - Dst: openpgp_pk_algo_usage
      Src: /src/gnupg/g10/keygen.c:5012,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:5014,1
    - Dst: get_parameter
      Src: /src/gnupg/g10/keygen.c:5021,1
    - Dst: get_parameter_algo
      Src: /src/gnupg/g10/keygen.c:5024,1
    - Dst: openpgp_pk_test_algo
      Src: /src/gnupg/g10/keygen.c:5025,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:5027,1
    - Dst: parse_parameter_usage
      Src: /src/gnupg/g10/keygen.c:5031,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5036,1
    - Dst: openpgp_pk_algo_usage
      Src: /src/gnupg/g10/keygen.c:5040,1
    - Dst: append_to_parameter
      Src: /src/gnupg/g10/keygen.c:5042,1
    - Dst: get_parameter
      Src: /src/gnupg/g10/keygen.c:5048,1
    - Dst: openpgp_pk_algo_usage
      Src: /src/gnupg/g10/keygen.c:5050,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:5052,1
    - Dst: get_parameter_value
      Src: /src/gnupg/g10/keygen.c:5060,1
    - Dst: get_parameter_value
      Src: /src/gnupg/g10/keygen.c:5065,1
    - Dst: get_parameter_value
      Src: /src/gnupg/g10/keygen.c:5066,1
    - Dst: get_parameter_value
      Src: /src/gnupg/g10/keygen.c:5067,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:5070,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:5070,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:5070,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5071,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/keygen.c:5075,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/keygen.c:5077,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/keygen.c:5077,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/keygen.c:5077,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/keygen.c:5083,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/keygen.c:5083,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/keygen.c:5083,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/keygen.c:5085,1
    - Dst: append_to_parameter
      Src: /src/gnupg/g10/keygen.c:5087,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:5094,1
    - Dst: keygen_set_std_prefs
      Src: /src/gnupg/g10/keygen.c:5099,1
    - Dst: get_parameter_value
      Src: /src/gnupg/g10/keygen.c:5099,1
    - Dst: get_parameter_value
      Src: /src/gnupg/g10/keygen.c:5102,1
    - Dst: parse_keyserver_uri
      Src: /src/gnupg/g10/keygen.c:5107,1
    - Dst: free_keyserver_spec
      Src: /src/gnupg/g10/keygen.c:5110,1
    - Dst: get_parameter
      Src: /src/gnupg/g10/keygen.c:5115,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:5116,1
    - Dst: parse_revocation_key
      Src: /src/gnupg/g10/keygen.c:5123,1
    - Dst: prepare_desig_revoker
      Src: /src/gnupg/g10/keygen.c:5129,1
    - Dst: append_to_parameter
      Src: /src/gnupg/g10/keygen.c:5132,1
    - Dst: keygen_prepare_new_key_adsks
      Src: /src/gnupg/g10/keygen.c:5140,1
    - Dst: prepare_adsk
      Src: /src/gnupg/g10/keygen.c:5146,1
    - Dst: append_to_parameter
      Src: /src/gnupg/g10/keygen.c:5149,1
    - Dst: get_parameter
      Src: /src/gnupg/g10/keygen.c:5157,1
    - Dst: get_parameter_bool
      Src: /src/gnupg/g10/keygen.c:5158,1
    - Dst: get_parameter_u32
      Src: /src/gnupg/g10/keygen.c:5159,1
    - Dst: parse_creation_string
      Src: /src/gnupg/g10/keygen.c:5161,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:5164,1
    - Dst: get_parameter
      Src: /src/gnupg/g10/keygen.c:5172,1
    - Dst: parse_expire_string_with_ct
      Src: /src/gnupg/g10/keygen.c:5177,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:5180,1
    - Dst: get_parameter
      Src: /src/gnupg/g10/keygen.c:5187,1
    - Dst: parse_expire_string_with_ct
      Src: /src/gnupg/g10/keygen.c:5190,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:5193,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5202,1
    - Dst: append_to_parameter
      Src: /src/gnupg/g10/keygen.c:5205,1
    - Dst: do_generate_keypair
      Src: /src/gnupg/g10/keygen.c:5210,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 164
    argCount: 5
    argNames:
    - ctrl
    - para
    - fname
    - outctrl
    - card
    argTypes:
    - ctrl_t
    - struct para_data_s*
    - char*
    - struct output_control_s*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5214
      start: 4961
    functionDepth: 6
    functionLinenumber: 4961
    functionLinenumberEnd: 5214
    functionName: proc_parameter_file
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - parse_keyserver_uri
    - prepare_adsk
    - do_generate_keypair
    - strlen
    - openpgp_pk_test_algo2
    - parse_expire_string_with_ct
    - openpgp_pk_algo_usage
    - get_parameter_bool
    - get_parameter
    - log_error
    - get_parameter_algo
    - prepare_desig_revoker
    - parse_parameter_usage
    - parse_revocation_key
    - get_parameter_u32
    - free_keyserver_spec
    - keygen_prepare_new_key_adsks
    - append_to_parameter
    - openpgp_pk_test_algo
    - keygen_set_std_prefs
    - get_parameter_value
    - stpcpy
    - xmalloc_clear
    - parse_creation_string
    linkageType: ''
    returnType: int
    signature: "int proc_parameter_file (ctrl_t ctrl, struct para_data_s *para, const
      char *fname,\n                     struct output_control_s *outctrl, int card
      )"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/keygen.c:5265,1
    - Dst: new_armor_context
      Src: /src/gnupg/g10/keygen.c:5266,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/keygen.c:5271,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/keygen.c:5272,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/keygen.c:5272,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keygen.c:5274,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/keygen.c:5276,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:5279,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:5279,1
    - Dst: strerror
      Src: /src/gnupg/g10/keygen.c:5279,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/keygen.c:5282,1
    - Dst: iobuf_read_line
      Src: /src/gnupg/g10/keygen.c:5290,1
    - Dst: isspace
      Src: /src/gnupg/g10/keygen.c:5298,1
    - Dst: isspace
      Src: /src/gnupg/g10/keygen.c:5304,1
    - Dst: isspace
      Src: /src/gnupg/g10/keygen.c:5308,1
    - Dst: trim_trailing_ws
      Src: /src/gnupg/g10/keygen.c:5311,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:5311,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:5312,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:5313,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:5314,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:5316,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:5318,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:5320,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:5322,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:5324,1
    - Dst: proc_parameter_file
      Src: /src/gnupg/g10/keygen.c:5326,1
    - Dst: print_status_key_not_created
      Src: /src/gnupg/g10/keygen.c:5327,1
    - Dst: get_parameter_value
      Src: /src/gnupg/g10/keygen.c:5328,1
    - Dst: release_parameter_list
      Src: /src/gnupg/g10/keygen.c:5329,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:5332,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:5333,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:5336,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/keygen.c:5337,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:5341,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:5345,1
    - Dst: strchr
      Src: /src/gnupg/g10/keygen.c:5352,1
    - Dst: isspace
      Src: /src/gnupg/g10/keygen.c:5358,1
    - Dst: trim_trailing_ws
      Src: /src/gnupg/g10/keygen.c:5365,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:5365,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:5368,1
    - Dst: proc_parameter_file
      Src: /src/gnupg/g10/keygen.c:5382,1
    - Dst: print_status_key_not_created
      Src: /src/gnupg/g10/keygen.c:5383,1
    - Dst: get_parameter_value
      Src: /src/gnupg/g10/keygen.c:5384,1
    - Dst: release_parameter_list
      Src: /src/gnupg/g10/keygen.c:5385,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5404,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:5404,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:5407,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:5413,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/keygen.c:5414,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:5415,1
    - Dst: proc_parameter_file
      Src: /src/gnupg/g10/keygen.c:5419,1
    - Dst: print_status_key_not_created
      Src: /src/gnupg/g10/keygen.c:5420,1
    - Dst: get_parameter_value
      Src: /src/gnupg/g10/keygen.c:5420,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keygen.c:5424,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/keygen.c:5428,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:5431,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:5432,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:5435,1
    - Dst: release_parameter_list
      Src: /src/gnupg/g10/keygen.c:5436,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keygen.c:5437,1
    - Dst: release_armor_context
      Src: /src/gnupg/g10/keygen.c:5438,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 147
    argCount: 2
    argNames:
    - ctrl
    - fname
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5439
      start: 5222
    functionDepth: 7
    functionLinenumber: 5222
    functionLinenumberEnd: 5439
    functionName: read_parameter_file
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - strlen
    - ascii_strcasecmp
    - xstrdup
    - iobuf_error
    - proc_parameter_file
    - log_error
    - _
    - iobuf_ioctl
    - iobuf_read_line
    - trim_trailing_ws
    - log_info
    - is_secured_file
    - iobuf_open
    - strcmp
    - strchr
    - memset
    - xfree
    - print_status_key_not_created
    - get_parameter_value
    - release_armor_context
    - iobuf_close
    - iobuf_get_fd
    - new_armor_context
    - release_parameter_list
    - strcpy
    - gpg_err_set_errno
    - isspace
    - xmalloc_clear
    - strerror
    linkageType: ''
    returnType: void
    signature: void read_parameter_file (ctrl_t ctrl, const char *fname )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5450,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keygen.c:5453,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:5462,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5465,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keygen.c:5467,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5473,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:5473,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:5475,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5481,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:5481,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:5483,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5490,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keygen.c:5492,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5496,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keygen.c:5498,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 9
    argNames:
    - para
    - for_subkey
    - algo
    - nbits
    - curve
    - use
    - version
    - keygrip
    - keytime
    argTypes:
    - struct para_data_s*
    - int
    - int
    - int
    - char*
    - unsigned int
    - int
    - char*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5513
      start: 5443
    functionDepth: 1
    functionLinenumber: 5443
    functionLinenumberEnd: 5513
    functionName: quickgen_set_para
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - sprintf
    - strcpy
    - xmalloc_clear
    linkageType: ''
    returnType: struct para_data_s
    signature: "struct para_data_s *\nquickgen_set_para (struct para_data_s *para,
      int for_subkey,\n                   int algo, int nbits, const char *curve,
      unsigned int use,\n                   int version, const char *keygrip, u32
      keytime)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/keygen.c:5529,1
    - Dst: cpr_enabled
      Src: /src/gnupg/g10/keygen.c:5533,1
    - Dst: gnupg_isatty
      Src: /src/gnupg/g10/keygen.c:5534,1
    - Dst: fileno
      Src: /src/gnupg/g10/keygen.c:5534,1
    - Dst: gnupg_isatty
      Src: /src/gnupg/g10/keygen.c:5535,1
    - Dst: fileno
      Src: /src/gnupg/g10/keygen.c:5535,1
    - Dst: gnupg_isatty
      Src: /src/gnupg/g10/keygen.c:5536,1
    - Dst: fileno
      Src: /src/gnupg/g10/keygen.c:5536,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5538,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:5538,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:5540,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/keygen.c:5544,1
    - Dst: is_valid_user_id
      Src: /src/gnupg/g10/keygen.c:5545,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:5547,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:5547,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:5548,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:5556,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:5556,1
    - Dst: cpr_get_answer_is_yes_def
      Src: /src/gnupg/g10/keygen.c:5557,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:5558,1
    - Dst: memset
      Src: /src/gnupg/g10/keygen.c:5567,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/keygen.c:5571,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/keygen.c:5575,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/keygen.c:5576,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keygen.c:5577,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:5579,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:5579,1
    - Dst: cpr_get_answer_is_yes_def
      Src: /src/gnupg/g10/keygen.c:5583,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:5584,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keygen.c:5586,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:5586,1
    - Dst: log_inc_errorcount
      Src: /src/gnupg/g10/keygen.c:5587,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:5590,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:5590,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:5594,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:5597,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:5598,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:5599,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:5600,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:5601,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:5602,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:5603,1
    - Dst: parse_key_parameter_string
      Src: /src/gnupg/g10/keygen.c:5613,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:5621,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:5621,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:5621,1
    - Dst: quickgen_set_para
      Src: /src/gnupg/g10/keygen.c:5625,1
    - Dst: quickgen_set_para
      Src: /src/gnupg/g10/keygen.c:5628,1
    - Dst: parse_expire_string
      Src: /src/gnupg/g10/keygen.c:5635,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:5638,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:5639,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:5639,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:5639,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5642,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:5649,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:5650,1
    - Dst: parse_algo_usage_expire
      Src: /src/gnupg/g10/keygen.c:5663,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:5668,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:5668,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:5668,1
    - Dst: quickgen_set_para
      Src: /src/gnupg/g10/keygen.c:5672,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5674,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:5680,1
    - Dst: have_static_passphrase
      Src: /src/gnupg/g10/keygen.c:5687,1
    - Dst: get_static_passphrase
      Src: /src/gnupg/g10/keygen.c:5689,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5691,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:5691,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:5693,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:5698,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/g10/keygen.c:5699,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5701,1
    - Dst: proc_parameter_file
      Src: /src/gnupg/g10/keygen.c:5708,1
    - Dst: release_parameter_list
      Src: /src/gnupg/g10/keygen.c:5711,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 103
    argCount: 5
    argNames:
    - ctrl
    - uid
    - algostr
    - usagestr
    - expirestr
    argTypes:
    - ctrl_t
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5712
      start: 5519
    functionDepth: 7
    functionLinenumber: 5519
    functionLinenumberEnd: 5712
    functionName: quick_generate_keypair
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 1
    functionsReached:
    - strlen
    - parse_key_parameter_string
    - ascii_strcasecmp
    - keydb_new
    - parse_algo_usage_expire
    - cpr_enabled
    - proc_parameter_file
    - log_error
    - trim_spaces
    - _
    - log_info
    - write_status_error
    - tty_printf
    - have_static_passphrase
    - is_valid_user_id
    - quickgen_set_para
    - log_inc_errorcount
    - keydb_search
    - fileno
    - strcmp
    - gpg_error
    - memset
    - gpg_strerror
    - xfree
    - gnupg_isatty
    - get_static_passphrase
    - cpr_get_answer_is_yes_def
    - ascii_strncasecmp
    - parse_expire_string
    - release_parameter_list
    - strcpy
    - gpg_err_code
    - keydb_release
    - xmalloc_clear
    linkageType: ''
    returnType: void
    signature: "void quick_generate_keypair (ctrl_t ctrl, const char *uid, const char
      *algostr,\n                        const char *usagestr, const char *expirestr)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/keygen.c:5740,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:5746,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:5746,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/keygen.c:5747,1
    - Dst: read_parameter_file
      Src: /src/gnupg/g10/keygen.c:5753,1
    - Dst: memset
      Src: /src/gnupg/g10/keygen.c:5762,1
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/keygen.c:5763,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:5766,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:5766,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:5767,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keygen.c:5771,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:5771,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:5773,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keygen.c:5777,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keygen.c:5779,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keygen.c:5782,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:5784,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keygen.c:5790,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keygen.c:5792,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keygen.c:5795,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:5797,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keygen.c:5802,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keygen.c:5804,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keygen.c:5812,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:5812,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:5814,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keygen.c:5819,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keygen.c:5821,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keygen.c:5827,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:5829,1
    - Dst: ask_algo
      Src: /src/gnupg/g10/keygen.c:5844,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5848,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keygen.c:5850,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5856,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keygen.c:5858,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5866,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:5868,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5872,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5880,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:5887,1
    - Dst: ask_kyber_variant
      Src: /src/gnupg/g10/keygen.c:5902,1
    - Dst: strstr
      Src: /src/gnupg/g10/keygen.c:5907,1
    - Dst: strstr
      Src: /src/gnupg/g10/keygen.c:5909,1
    - Dst: strstr
      Src: /src/gnupg/g10/keygen.c:5911,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5922,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keygen.c:5924,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5928,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:5928,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:5930,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5934,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:5936,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5940,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keygen.c:5942,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5946,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keygen.c:5948,1
    - Dst: strstr
      Src: /src/gnupg/g10/keygen.c:5949,1
    - Dst: strchr
      Src: /src/gnupg/g10/keygen.c:5953,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keygen.c:5954,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5956,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:5956,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:5958,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5962,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:5964,1
    - Dst: ask_curve
      Src: /src/gnupg/g10/keygen.c:5976,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5977,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keygen.c:5979,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5983,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:5983,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:5985,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:5988,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:5988,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5990,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keygen.c:5992,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:5999,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keygen.c:6001,1
    - Dst: ask_keysize
      Src: /src/gnupg/g10/keygen.c:6004,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:6005,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keygen.c:6007,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:6011,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:6013,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:6017,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keygen.c:6019,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:6022,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:6024,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:6037,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:6042,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keygen.c:6044,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:6049,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:6049,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:6051,1
    - Dst: ask_curve
      Src: /src/gnupg/g10/keygen.c:6064,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:6065,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:6065,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:6067,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:6070,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:6070,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:6072,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keygen.c:6074,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:6080,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keygen.c:6082,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:6088,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keygen.c:6090,1
    - Dst: ask_keysize
      Src: /src/gnupg/g10/keygen.c:6108,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:6109,1
    - Dst: sprintf
      Src: /src/gnupg/g10/keygen.c:6111,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:6126,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6126,1
    - Dst: parse_key_parameter_string
      Src: /src/gnupg/g10/keygen.c:6131,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:6139,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6139,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:6139,1
    - Dst: quickgen_set_para
      Src: /src/gnupg/g10/keygen.c:6142,1
    - Dst: quickgen_set_para
      Src: /src/gnupg/g10/keygen.c:6146,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:6150,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:6151,1
    - Dst: ask_expire_interval
      Src: /src/gnupg/g10/keygen.c:6155,1
    - Dst: parse_expire_string
      Src: /src/gnupg/g10/keygen.c:6156,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keygen.c:6157,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keygen.c:6162,1
    - Dst: ask_user_id
      Src: /src/gnupg/g10/keygen.c:6168,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:6171,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6171,1
    - Dst: release_parameter_list
      Src: /src/gnupg/g10/keygen.c:6172,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keygen.c:6175,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:6175,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:6177,1
    - Dst: proc_parameter_file
      Src: /src/gnupg/g10/keygen.c:6181,1
    - Dst: release_parameter_list
      Src: /src/gnupg/g10/keygen.c:6182,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 306
    argCount: 4
    argNames:
    - ctrl
    - fname
    - card_serialno
    - genflags
    argTypes:
    - ctrl_t
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6183
      start: 5725
    functionDepth: 8
    functionLinenumber: 5725
    functionLinenumberEnd: 6183
    functionName: generate_keypair
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 3
    functionsReached:
    - ask_curve
    - strlen
    - strstr
    - log_assert
    - parse_key_parameter_string
    - ask_algo
    - ask_user_id
    - proc_parameter_file
    - log_error
    - ask_keysize
    - _
    - tty_printf
    - agent_scd_getattr
    - quickgen_set_para
    - sprintf
    - strcmp
    - ask_expire_interval
    - strchr
    - memset
    - gpg_strerror
    - print_further_info
    - xfree
    - parse_expire_string
    - read_parameter_file
    - snprintf
    - xcalloc
    - ask_kyber_variant
    - release_parameter_list
    - strcpy
    - xmalloc_clear
    linkageType: ''
    returnType: void
    signature: "void generate_keypair (ctrl_t ctrl, const char *fname,\n                  const
      char *card_serialno, unsigned int genflags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:6192,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keygen.c:6194,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/keygen.c:6195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tree
    argTypes:
    - KBNODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6196
      start: 6187
    functionDepth: 3
    functionLinenumber: 6187
    functionLinenumberEnd: 6196
    functionName: start_tree
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - xmalloc_clear
    - new_kbnode
    - delete_kbnode
    linkageType: ''
    returnType: void
    signature: void start_tree(KBNODE *tree)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: format_keyid
      Src: /src/gnupg/g10/keygen.c:6211,1
    - Dst: pk_keyid
      Src: /src/gnupg/g10/keygen.c:6211,1
    - Dst: snprintf
      Src: /src/gnupg/g10/keygen.c:6212,1
    - Dst: make_filename
      Src: /src/gnupg/g10/keygen.c:6214,1
    - Dst: umask
      Src: /src/gnupg/g10/keygen.c:6218,1
    - Dst: is_secured_filename
      Src: /src/gnupg/g10/keygen.c:6219,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/keygen.c:6222,1
    - Dst: iobuf_create
      Src: /src/gnupg/g10/keygen.c:6225,1
    - Dst: umask
      Src: /src/gnupg/g10/keygen.c:6226,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:6229,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:6230,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6230,1
    - Dst: strerror
      Src: /src/gnupg/g10/keygen.c:6230,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/keygen.c:6234,1
    - Dst: build_packet
      Src: /src/gnupg/g10/keygen.c:6238,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:6241,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:6241,1
    - Dst: iobuf_cancel
      Src: /src/gnupg/g10/keygen.c:6242,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keygen.c:6248,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/keygen.c:6249,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:6250,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6250,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/keygen.c:6252,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:6255,1
    - Dst: write_status_text_and_buffer
      Src: /src/gnupg/g10/keygen.c:6258,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:6259,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:6260,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:6264,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:6265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 2
    argNames:
    - sk
    - backup_dir
    argTypes:
    - PKT_public_key*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6267
      start: 6200
    functionDepth: 5
    functionLinenumber: 6200
    functionLinenumberEnd: 6267
    functionName: card_write_key_to_backup_file
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - strlen
    - iobuf_cancel
    - umask
    - log_error
    - _
    - iobuf_ioctl
    - write_status_text_and_buffer
    - log_info
    - gpg_error_from_syserror
    - gpg_strerror
    - xfree
    - build_packet
    - is_secured_filename
    - make_filename
    - iobuf_close
    - snprintf
    - xcalloc
    - hexfingerprint
    - format_keyid
    - gpg_err_set_errno
    - iobuf_create
    - pk_keyid
    - strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t card_write_key_to_backup_file (PKT_public_key *sk, const
      char *backup_dir)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/keygen.c:6287,1
    - Dst: copy_public_key
      Src: /src/gnupg/g10/keygen.c:6289,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:6292,1
    - Dst: epoch2isotime
      Src: /src/gnupg/g10/keygen.c:6296,1
    - Dst: ecdh_param_str_from_pk
      Src: /src/gnupg/g10/keygen.c:6299,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:6302,1
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/keygen.c:6307,1
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/keygen.c:6311,1
    - Dst: agent_keytocard
      Src: /src/gnupg/g10/keygen.c:6315,1
    - Dst: agent_keywrap_key
      Src: /src/gnupg/g10/keygen.c:6321,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:6324,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:6324,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/g10/keygen.c:6328,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/g10/keygen.c:6331,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:6334,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:6335,1
    - Dst: receive_seckey_from_agent
      Src: /src/gnupg/g10/keygen.c:6339,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:6343,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:6344,1
    - Dst: card_write_key_to_backup_file
      Src: /src/gnupg/g10/keygen.c:6348,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:6350,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:6350,1
    - Dst: agent_scd_learn
      Src: /src/gnupg/g10/keygen.c:6354,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:6360,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6360,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:6367,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:6368,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:6369,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/g10/keygen.c:6370,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:6371,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:6372,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keygen.c:6373,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 3
    argNames:
    - ctrl
    - sub_psk
    - backup_dir
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6375
      start: 6271
    functionDepth: 7
    functionLinenumber: 6271
    functionLinenumberEnd: 6375
    functionName: card_store_key_with_backup
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 0
    functionsReached:
    - card_write_key_to_backup_file
    - agent_scd_learn
    - ecdh_param_str_from_pk
    - receive_seckey_from_agent
    - free_public_key
    - gcry_cipher_open
    - log_error
    - _
    - copy_public_key
    - agent_keytocard
    - tty_printf
    - agent_scd_getattr
    - gcry_cipher_setkey
    - gpg_error_from_syserror
    - memset
    - agent_keywrap_key
    - gpg_strerror
    - xfree
    - hexkeygrip_from_pk
    - epoch2isotime
    - gcry_cipher_close
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t card_store_key_with_backup (ctrl_t ctrl, PKT_public_key
      *sub_psk,\n                            const char *backup_dir)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:6401,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keygen.c:6409,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/keygen.c:6412,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:6414,1
    - Dst: is_secured_filename
      Src: /src/gnupg/g10/keygen.c:6418,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/keygen.c:6421,1
    - Dst: iobuf_create
      Src: /src/gnupg/g10/keygen.c:6424,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:6427,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6427,1
    - Dst: strerror
      Src: /src/gnupg/g10/keygen.c:6428,1
    - Dst: push_armor_filter
      Src: /src/gnupg/g10/keygen.c:6434,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keygen.c:6437,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:6439,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6439,1
    - Dst: start_tree
      Src: /src/gnupg/g10/keygen.c:6448,1
    - Dst: get_parameter_bool
      Src: /src/gnupg/g10/keygen.c:6450,1
    - Dst: get_parameter_u32
      Src: /src/gnupg/g10/keygen.c:6459,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/keygen.c:6461,1
    - Dst: get_parameter_u32
      Src: /src/gnupg/g10/keygen.c:6462,1
    - Dst: get_parameter_u32
      Src: /src/gnupg/g10/keygen.c:6465,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/keygen.c:6469,1
    - Dst: get_parameter_algo
      Src: /src/gnupg/g10/keygen.c:6487,1
    - Dst: get_parameter_u32
      Src: /src/gnupg/g10/keygen.c:6488,1
    - Dst: get_parameter_value
      Src: /src/gnupg/g10/keygen.c:6489,1
    - Dst: BUG
      Src: /src/gnupg/g10/keygen.c:6491,1
    - Dst: get_parameter_uint
      Src: /src/gnupg/g10/keygen.c:6494,1
    - Dst: do_create_from_keygrip
      Src: /src/gnupg/g10/keygen.c:6498,1
    - Dst: do_create
      Src: /src/gnupg/g10/keygen.c:6503,1
    - Dst: get_parameter_uint
      Src: /src/gnupg/g10/keygen.c:6504,1
    - Dst: get_parameter_value
      Src: /src/gnupg/g10/keygen.c:6505,1
    - Dst: get_parameter_passphrase
      Src: /src/gnupg/g10/keygen.c:6510,1
    - Dst: gen_card_key
      Src: /src/gnupg/g10/keygen.c:6514,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keygen.c:6522,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/keygen.c:6527,1
    - Dst: keyid_copy
      Src: /src/gnupg/g10/keygen.c:6530,1
    - Dst: get_parameter_revkey
      Src: /src/gnupg/g10/keygen.c:6534,1
    - Dst: write_direct_sig
      Src: /src/gnupg/g10/keygen.c:6536,1
    - Dst: get_parameter_value
      Src: /src/gnupg/g10/keygen.c:6540,1
    - Dst: write_uid
      Src: /src/gnupg/g10/keygen.c:6542,1
    - Dst: write_selfsigs
      Src: /src/gnupg/g10/keygen.c:6544,1
    - Dst: get_parameter_uint
      Src: /src/gnupg/g10/keygen.c:6545,1
    - Dst: get_parameter
      Src: /src/gnupg/g10/keygen.c:6556,1
    - Dst: gen_card_key
      Src: /src/gnupg/g10/keygen.c:6558,1
    - Dst: get_parameter_algo
      Src: /src/gnupg/g10/keygen.c:6558,1
    - Dst: write_keybinding
      Src: /src/gnupg/g10/keygen.c:6563,1
    - Dst: get_parameter
      Src: /src/gnupg/g10/keygen.c:6567,1
    - Dst: get_parameter_algo
      Src: /src/gnupg/g10/keygen.c:6569,1
    - Dst: get_parameter_value
      Src: /src/gnupg/g10/keygen.c:6571,1
    - Dst: get_parameter_uint
      Src: /src/gnupg/g10/keygen.c:6574,1
    - Dst: do_create_from_keygrip
      Src: /src/gnupg/g10/keygen.c:6578,1
    - Dst: get_parameter_u32
      Src: /src/gnupg/g10/keygen.c:6581,1
    - Dst: get_parameter_value
      Src: /src/gnupg/g10/keygen.c:6583,1
    - Dst: agent_set_ephemeral_mode
      Src: /src/gnupg/g10/keygen.c:6588,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:6590,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:6591,1
    - Dst: do_create
      Src: /src/gnupg/g10/keygen.c:6594,1
    - Dst: get_parameter_uint
      Src: /src/gnupg/g10/keygen.c:6595,1
    - Dst: get_parameter_value
      Src: /src/gnupg/g10/keygen.c:6596,1
    - Dst: get_parameter_u32
      Src: /src/gnupg/g10/keygen.c:6599,1
    - Dst: get_parameter_passphrase
      Src: /src/gnupg/g10/keygen.c:6601,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keygen.c:6612,1
    - Dst: card_store_key_with_backup
      Src: /src/gnupg/g10/keygen.c:6613,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/keygen.c:6614,1
    - Dst: agent_set_ephemeral_mode
      Src: /src/gnupg/g10/keygen.c:6618,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:6619,1
    - Dst: do_create
      Src: /src/gnupg/g10/keygen.c:6624,1
    - Dst: get_parameter_uint
      Src: /src/gnupg/g10/keygen.c:6625,1
    - Dst: get_parameter_value
      Src: /src/gnupg/g10/keygen.c:6626,1
    - Dst: get_parameter_u32
      Src: /src/gnupg/g10/keygen.c:6629,1
    - Dst: get_parameter_passphrase
      Src: /src/gnupg/g10/keygen.c:6631,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keygen.c:6641,1
    - Dst: gen_card_key
      Src: /src/gnupg/g10/keygen.c:6646,1
    - Dst: write_keybinding
      Src: /src/gnupg/g10/keygen.c:6651,1
    - Dst: get_parameter_uint
      Src: /src/gnupg/g10/keygen.c:6652,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/keygen.c:6660,1
    - Dst: get_parameter_adsk
      Src: /src/gnupg/g10/keygen.c:6667,1
    - Dst: append_adsk_to_key
      Src: /src/gnupg/g10/keygen.c:6669,1
    - Dst: write_keyblock
      Src: /src/gnupg/g10/keygen.c:6679,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:6681,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:6681,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/keygen.c:6687,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:6689,1
    - Dst: keydb_locate_writable
      Src: /src/gnupg/g10/keygen.c:6692,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:6694,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6694,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:6695,1
    - Dst: keydb_lock
      Src: /src/gnupg/g10/keygen.c:6697,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:6702,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6702,1
    - Dst: keydb_get_resource_name
      Src: /src/gnupg/g10/keygen.c:6703,1
    - Dst: keydb_insert_keyblock
      Src: /src/gnupg/g10/keygen.c:6708,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:6710,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6710,1
    - Dst: keydb_get_resource_name
      Src: /src/gnupg/g10/keygen.c:6711,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:6711,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/keygen.c:6714,1
    - Dst: get_parameter_algo
      Src: /src/gnupg/g10/keygen.c:6721,1
    - Dst: get_parameter_uint
      Src: /src/gnupg/g10/keygen.c:6723,1
    - Dst: get_parameter_uint
      Src: /src/gnupg/g10/keygen.c:6724,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/keygen.c:6727,1
    - Dst: update_ownertrust
      Src: /src/gnupg/g10/keygen.c:6730,1
    - Dst: get_ownertrust
      Src: /src/gnupg/g10/keygen.c:6731,1
    - Dst: gen_standard_revoke
      Src: /src/gnupg/g10/keygen.c:6734,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:6738,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6738,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:6739,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/keygen.c:6740,1
    - Dst: list_keyblock_direct
      Src: /src/gnupg/g10/keygen.c:6742,1
    - Dst: get_parameter_algo
      Src: /src/gnupg/g10/keygen.c:6752,1
    - Dst: get_parameter
      Src: /src/gnupg/g10/keygen.c:6755,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:6757,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6757,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:6768,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:6768,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:6770,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6770,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:6770,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keygen.c:6771,1
    - Dst: print_status_key_not_created
      Src: /src/gnupg/g10/keygen.c:6772,1
    - Dst: get_parameter_value
      Src: /src/gnupg/g10/keygen.c:6772,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/keygen.c:6776,1
    - Dst: print_status_key_created
      Src: /src/gnupg/g10/keygen.c:6778,1
    - Dst: get_parameter_value
      Src: /src/gnupg/g10/keygen.c:6779,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/keygen.c:6780,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:6782,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6782,1
    - Dst: keyserver_export_pubkey
      Src: /src/gnupg/g10/keygen.c:6790,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keygen.c:6795,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:6796,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 185
    argCount: 4
    argNames:
    - ctrl
    - para
    - outctrl
    - card
    argTypes:
    - ctrl_t
    - struct para_data_s*
    - struct output_control_s*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6797
      start: 6378
    functionDepth: 8
    functionLinenumber: 6378
    functionLinenumberEnd: 6797
    functionName: do_generate_keypair
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 1
    functionsReached:
    - get_parameter_adsk
    - do_create_from_keygrip
    - list_keyblock_direct
    - log_assert
    - write_keyblock
    - start_tree
    - gnupg_homedir
    - get_ownertrust
    - BUG
    - write_direct_sig
    - get_parameter_uint
    - update_ownertrust
    - es_fflush
    - get_parameter_bool
    - keydb_new
    - get_parameter
    - log_error
    - get_parameter_algo
    - keydb_locate_writable
    - iobuf_ioctl
    - _
    - log_info
    - get_parameter_revkey
    - merge_keys_and_selfsig
    - write_status_error
    - get_parameter_u32
    - print_status_key_created
    - tty_printf
    - keydb_release
    - keyserver_export_pubkey
    - push_armor_filter
    - write_keybinding
    - gpg_error_from_syserror
    - get_parameter_passphrase
    - commit_kbnode
    - xfree
    - gpg_strerror
    - keydb_get_resource_name
    - do_create
    - card_store_key_with_backup
    - is_secured_filename
    - print_status_key_not_created
    - iobuf_close
    - keydb_lock
    - gen_standard_revoke
    - write_uid
    - keyid_from_pk
    - append_adsk_to_key
    - keydb_insert_keyblock
    - find_kbnode
    - release_kbnode
    - make_timestamp
    - gen_card_key
    - gpg_err_set_errno
    - get_parameter_value
    - iobuf_create
    - keyid_copy
    - strerror
    - agent_set_ephemeral_mode
    - write_selfsigs
    linkageType: ''
    returnType: void
    signature: "void do_generate_keypair (ctrl_t ctrl, struct para_data_s *para,\n\t\t
      \    struct output_control_s *outctrl, int card)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:6825,1
    - Dst: check_keygrip
      Src: /src/gnupg/g10/keygen.c:6828,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:6830,1
    - Dst: parse_key_parameter_string
      Src: /src/gnupg/g10/keygen.c:6833,1
    - Dst: parse_usagestr
      Src: /src/gnupg/g10/keygen.c:6834,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:6842,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/g10/keygen.c:6850,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:6850,1
    - Dst: parse_usagestr
      Src: /src/gnupg/g10/keygen.c:6852,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:6858,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:6861,1
    - Dst: adjust_algo_for_ecdh_ecdsa
      Src: /src/gnupg/g10/keygen.c:6865,1
    - Dst: pubkey_get_nsig
      Src: /src/gnupg/g10/keygen.c:6875,1
    - Dst: pubkey_get_nenc
      Src: /src/gnupg/g10/keygen.c:6877,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:6882,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:6885,1
    - Dst: parse_expire_string
      Src: /src/gnupg/g10/keygen.c:6889,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:6894,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:6897,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 13
    argNames:
    - ctrl
    - for_subkey
    - algostr
    - usagestr
    - expirestr
    - r_algo
    - r_usage
    - r_expire
    - r_nbits
    - r_curve
    - r_version
    - r_keygrip
    - r_keytime
    argTypes:
    - ctrl_t
    - int
    - char*
    - char*
    - char*
    - int*
    - unsigned int*
    - u32*
    - unsigned int*
    - char**
    - int*
    - char**
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6908
      start: 6800
    functionDepth: 4
    functionLinenumber: 6800
    functionLinenumberEnd: 6908
    functionName: parse_algo_usage_expire
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 1
    functionsReached:
    - parse_expire_string
    - strlen
    - pubkey_get_nsig
    - parse_key_parameter_string
    - parse_usagestr
    - strcmp
    - gpg_error
    - check_keygrip
    - xfree
    - ascii_strcasecmp
    - pubkey_get_nenc
    - adjust_algo_for_ecdh_ecdsa
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_algo_usage_expire (ctrl_t ctrl, int for_subkey,\n
      \                        const char *algostr, const char *usagestr,\n                         const
      char *expirestr,\n                         int *r_algo, unsigned int *r_usage,
      u32 *r_expire,\n                         unsigned int *r_nbits, const char **r_curve,\n
      \                        int *r_version, char **r_keygrip, u32 *r_keytime)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: find_kbnode
      Src: /src/gnupg/g10/keygen.c:6941,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:6944,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:6945,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/keygen.c:6950,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:6955,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6955,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6957,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:6961,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:6968,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6968,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:6970,1
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/keygen.c:6974,1
    - Dst: agent_get_keyinfo
      Src: /src/gnupg/g10/keygen.c:6979,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:6982,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6982,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:6984,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6984,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:6985,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/keygen.c:6991,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6991,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:6993,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:6993,1
    - Dst: ask_algo
      Src: /src/gnupg/g10/keygen.c:6998,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keygen.c:7000,1
    - Dst: ask_curve
      Src: /src/gnupg/g10/keygen.c:7008,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:7010,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keygen.c:7010,1
    - Dst: ask_kyber_variant
      Src: /src/gnupg/g10/keygen.c:7017,1
    - Dst: strstr
      Src: /src/gnupg/g10/keygen.c:7021,1
    - Dst: strchr
      Src: /src/gnupg/g10/keygen.c:7022,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keygen.c:7023,1
    - Dst: ask_keysize
      Src: /src/gnupg/g10/keygen.c:7027,1
    - Dst: ask_expire_interval
      Src: /src/gnupg/g10/keygen.c:7029,1
    - Dst: cpr_enabled
      Src: /src/gnupg/g10/keygen.c:7030,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keygen.c:7030,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:7031,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:7033,1
    - Dst: parse_algo_usage_expire
      Src: /src/gnupg/g10/keygen.c:7041,1
    - Dst: gpg_format_keydesc
      Src: /src/gnupg/g10/keygen.c:7056,1
    - Dst: agent_passwd
      Src: /src/gnupg/g10/keygen.c:7057,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:7059,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keygen.c:7060,1
    - Dst: gpg_err_source
      Src: /src/gnupg/g10/keygen.c:7061,1
    - Dst: do_create_from_keygrip
      Src: /src/gnupg/g10/keygen.c:7070,1
    - Dst: have_static_passphrase
      Src: /src/gnupg/g10/keygen.c:7084,1
    - Dst: get_static_passphrase
      Src: /src/gnupg/g10/keygen.c:7085,1
    - Dst: do_create
      Src: /src/gnupg/g10/keygen.c:7089,1
    - Dst: write_keybinding
      Src: /src/gnupg/g10/keygen.c:7102,1
    - Dst: print_status_key_created
      Src: /src/gnupg/g10/keygen.c:7107,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:7111,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:7112,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:7113,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:7114,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:7115,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:7118,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:7118,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:7118,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keygen.c:7119,1
    - Dst: print_status_key_not_created
      Src: /src/gnupg/g10/keygen.c:7120,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 116
    argCount: 5
    argNames:
    - ctrl
    - keyblock
    - algostr
    - usagestr
    - expirestr
    argTypes:
    - ctrl_t
    - kbnode_t
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7123
      start: 6914
    functionDepth: 8
    functionLinenumber: 6914
    functionLinenumberEnd: 7123
    functionName: generate_subkeypair
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 2
    functionsReached:
    - ask_curve
    - do_create_from_keygrip
    - gpg_format_keydesc
    - log_assert
    - strstr
    - ask_algo
    - gpg_err_source
    - parse_algo_usage_expire
    - cpr_enabled
    - log_error
    - ask_keysize
    - _
    - log_info
    - write_status_error
    - print_status_key_created
    - tty_printf
    - write_keybinding
    - have_static_passphrase
    - cpr_get_answer_is_yes
    - agent_passwd
    - strcmp
    - ask_expire_interval
    - gpg_error
    - strchr
    - xfree
    - gpg_strerror
    - hexkeygrip_from_pk
    - get_static_passphrase
    - do_create
    - print_status_key_not_created
    - agent_get_keyinfo
    - find_kbnode
    - ask_kyber_variant
    - make_timestamp
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t generate_subkeypair (ctrl_t ctrl, kbnode_t keyblock, const
      char *algostr,\n                     const char *usagestr, const char *expirestr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: copy_public_key
      Src: /src/gnupg/g10/keygen.c:7145,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/keygen.c:7148,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:7151,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:7152,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/keygen.c:7157,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:7162,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:7162,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:7164,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:7168,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:7175,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:7175,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:7177,1
    - Dst: cmp_public_keys
      Src: /src/gnupg/g10/keygen.c:7185,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:7187,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:7187,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/keygen.c:7188,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:7189,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/keygen.c:7194,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/keygen.c:7198,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keygen.c:7198,1
    - Dst: write_keybinding
      Src: /src/gnupg/g10/keygen.c:7200,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keygen.c:7204,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 4
    argNames:
    - ctrl
    - keyblock
    - sub_pk
    - use
    argTypes:
    - ctrl_t
    - kbnode_t
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7206
      start: 7133
    functionDepth: 8
    functionLinenumber: 7133
    functionLinenumberEnd: 7206
    functionName: append_subkey_to_keyblock
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 1
    functionsReached:
    - free_public_key
    - log_error
    - find_kbnode
    - cmp_public_keys
    - new_kbnode
    - keystr_from_pk
    - _
    - make_timestamp
    - gpg_error
    - copy_public_key
    - log_info
    - add_kbnode
    - xmalloc_clear
    - write_keybinding
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t append_subkey_to_keyblock (ctrl_t ctrl, kbnode_t keyblock,\n
      \                          PKT_public_key *sub_pk, int use)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keygen.c:7227,1
    - Dst: memset
      Src: /src/gnupg/g10/keygen.c:7229,1
    - Dst: agent_scd_getattr
      Src: /src/gnupg/g10/keygen.c:7230,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:7233,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:7233,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:7233,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/keygen.c:7238,1
    - Dst: strlen
      Src: /src/gnupg/g10/keygen.c:7238,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:7241,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keygen.c:7245,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/keygen.c:7248,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:7251,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:7252,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/keygen.c:7257,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:7261,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:7261,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:7263,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:7267,1
    - Dst: log_info
      Src: /src/gnupg/g10/keygen.c:7274,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:7274,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:7276,1
    - Dst: ask_expire_interval
      Src: /src/gnupg/g10/keygen.c:7280,1
    - Dst: cpr_enabled
      Src: /src/gnupg/g10/keygen.c:7287,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/keygen.c:7287,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:7288,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:7290,1
    - Dst: gen_card_key
      Src: /src/gnupg/g10/keygen.c:7296,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keygen.c:7304,1
    - Dst: write_keybinding
      Src: /src/gnupg/g10/keygen.c:7305,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:7311,1
    - Dst: _
      Src: /src/gnupg/g10/keygen.c:7311,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:7311,1
    - Dst: print_status_key_created
      Src: /src/gnupg/g10/keygen.c:7313,1
    - Dst: release_parameter_list
      Src: /src/gnupg/g10/keygen.c:7314,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 4
    argNames:
    - ctrl
    - pub_keyblock
    - keyno
    - serialno
    argTypes:
    - ctrl_t
    - kbnode_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7316
      start: 7211
    functionDepth: 8
    functionLinenumber: 7211
    functionLinenumberEnd: 7316
    functionName: generate_card_subkeypair
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 1
    functionsReached:
    - log_assert
    - strlen
    - cpr_enabled
    - log_error
    - _
    - log_info
    - print_status_key_created
    - write_keybinding
    - agent_scd_getattr
    - cpr_get_answer_is_yes
    - gpg_error_from_syserror
    - ask_expire_interval
    - gpg_error
    - memset
    - gpg_strerror
    - xtrycalloc
    - find_kbnode
    - make_timestamp
    - gen_card_key
    - release_parameter_list
    - strcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t generate_card_subkeypair (ctrl_t ctrl, kbnode_t pub_keyblock,\n
      \                         int keyno, const char *serialno)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/keygen.c:7327,1
    - Dst: build_packet
      Src: /src/gnupg/g10/keygen.c:7329,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:7332,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:7333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - out
    - node
    argTypes:
    - IOBUF
    - KBNODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7340
      start: 7322
    functionDepth: 2
    functionLinenumber: 7322
    functionLinenumberEnd: 7340
    functionName: write_keyblock
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 3
    functionsReached:
    - gpg_strerror
    - is_deleted_kbnode
    - build_packet
    - log_error
    linkageType: ''
    returnType: int
    signature: int write_keyblock( IOBUF out, KBNODE node )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/g10/keygen.c:7356,1
    - Dst: DIM
      Src: /src/gnupg/g10/keygen.c:7356,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/keygen.c:7358,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:7360,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/keygen.c:7361,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:7364,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keygen.c:7365,1
    - Dst: agent_scd_genkey
      Src: /src/gnupg/g10/keygen.c:7369,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:7384,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:7384,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:7385,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:7386,1
    - Dst: agent_readkey
      Src: /src/gnupg/g10/keygen.c:7393,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:7396,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:7397,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/g10/keygen.c:7400,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/g10/keygen.c:7401,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:7402,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:7405,1
    - Dst: xfree
      Src: /src/gnupg/g10/keygen.c:7406,1
    - Dst: curve_is_448
      Src: /src/gnupg/g10/keygen.c:7411,1
    - Dst: key_from_sexp
      Src: /src/gnupg/g10/keygen.c:7417,1
    - Dst: ecckey_from_sexp
      Src: /src/gnupg/g10/keygen.c:7421,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:7423,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/keygen.c:7424,1
    - Dst: log_error
      Src: /src/gnupg/g10/keygen.c:7428,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keygen.c:7428,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/keygen.c:7429,1
    - Dst: add_kbnode
      Src: /src/gnupg/g10/keygen.c:7440,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keygen.c:7440,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keygen.c:7449,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 58
    argCount: 7
    argNames:
    - keyno
    - algo
    - is_primary
    - pub_root
    - timestamp
    - expireval
    - keygen_flags
    argTypes:
    - int
    - int
    - int
    - kbnode_t
    - u32*
    - u32
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7451
      start: 7344
    functionDepth: 3
    functionLinenumber: 7344
    functionLinenumberEnd: 7451
    functionName: gen_card_key
    functionSourceFile: /src/gnupg/g10/keygen.c
    functionUses: 2
    functionsReached:
    - gcry_sexp_sscan
    - gcry_sexp_canon_len
    - new_kbnode
    - free_public_key
    - log_error
    - DIM
    - agent_readkey
    - agent_scd_genkey
    - gcry_sexp_release
    - ecckey_from_sexp
    - gpg_error_from_syserror
    - gpg_error
    - xfree
    - gpg_strerror
    - add_kbnode
    - xtrycalloc
    - key_from_sexp
    - snprintf
    - curve_is_448
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gen_card_key (int keyno, int algo, int is_primary, kbnode_t
      pub_root,\n              u32 *timestamp, u32 expireval, int *keygen_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/free-packet.c:41,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/free-packet.c:42,1
    - Dst: gcry_mpi_copy
      Src: /src/gnupg/g10/free-packet.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: my_mpi_copy
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - gcry_mpi_get_opaque
    - gcry_mpi_copy
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t my_mpi_copy (gcry_mpi_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:53,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - enc
    argTypes:
    - PKT_symkey_enc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: free_symkey_enc
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 2
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void free_symkey_enc( PKT_symkey_enc *enc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pubkey_get_nenc
      Src: /src/gnupg/g10/free-packet.c:64,1
    - Dst: mpi_release
      Src: /src/gnupg/g10/free-packet.c:66,1
    - Dst: mpi_release
      Src: /src/gnupg/g10/free-packet.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - enc
    argTypes:
    - PKT_pubkey_enc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: release_pubkey_enc_parts
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 0
    functionsReached:
    - mpi_release
    - pubkey_get_nenc
    linkageType: ''
    returnType: void
    signature: void release_pubkey_enc_parts (PKT_pubkey_enc *enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_pubkey_enc_parts
      Src: /src/gnupg/g10/free-packet.c:74,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - enc
    argTypes:
    - PKT_pubkey_enc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: free_pubkey_enc
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 1
    functionsReached:
    - xfree
    - release_pubkey_enc_parts
    linkageType: ''
    returnType: void
    signature: void free_pubkey_enc (PKT_pubkey_enc *enc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pubkey_get_nenc
      Src: /src/gnupg/g10/free-packet.c:93,1
    - Dst: my_mpi_copy
      Src: /src/gnupg/g10/free-packet.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PKT_pubkey_enc*
    - PKT_pubkey_enc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 99
    functionName: copy_pubkey_enc_parts
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 1
    functionsReached:
    - my_mpi_copy
    - pubkey_get_nenc
    linkageType: ''
    returnType: void
    signature: void copy_pubkey_enc_parts (PKT_pubkey_enc *dst, PKT_pubkey_enc *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pubkey_get_nsig
      Src: /src/gnupg/g10/free-packet.c:107,1
    - Dst: mpi_release
      Src: /src/gnupg/g10/free-packet.c:109,1
    - Dst: mpi_release
      Src: /src/gnupg/g10/free-packet.c:111,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:113,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:114,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:115,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:118,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:119,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - sig
    argTypes:
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 122
    functionName: free_seckey_enc
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 8
    functionsReached:
    - pubkey_get_nsig
    - mpi_release
    - xfree
    linkageType: ''
    returnType: void
    signature: void free_seckey_enc( PKT_signature *sig )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pubkey_get_nskey
      Src: /src/gnupg/g10/free-packet.c:131,1
    - Dst: pubkey_get_npkey
      Src: /src/gnupg/g10/free-packet.c:133,1
    - Dst: mpi_release
      Src: /src/gnupg/g10/free-packet.c:135,1
    - Dst: mpi_release
      Src: /src/gnupg/g10/free-packet.c:138,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:143,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:148,1
    - Dst: free_user_id
      Src: /src/gnupg/g10/free-packet.c:151,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:155,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:161,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:166,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:171,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 174
    functionName: release_public_key_parts
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 7
    functionsReached:
    - mpi_release
    - free_user_id
    - pubkey_get_npkey
    - xfree
    - pubkey_get_nskey
    linkageType: ''
    returnType: void
    signature: void release_public_key_parts (PKT_public_key *pk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_public_key_parts
      Src: /src/gnupg/g10/free-packet.c:184,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pk
    argTypes:
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: free_public_key
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 39
    functionsReached:
    - xfree
    - release_public_key_parts
    linkageType: ''
    returnType: void
    signature: void free_public_key (PKT_public_key *pk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/g10/free-packet.c:197,1
    - Dst: memcpy
      Src: /src/gnupg/g10/free-packet.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - subpktarea_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: cp_subpktarea
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - memcpy
    linkageType: ''
    returnType: subpktarea_t
    signature: 'subpktarea_t *

      cp_subpktarea (subpktarea_t *s )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc::xmalloc
      Src: /src/gnupg/g10/free-packet.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - prefs
    argTypes:
    - prefitem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 227
    functionName: copy_prefs
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 1
    functionsReached:
    - xmalloc::xmalloc
    linkageType: ''
    returnType: prefitem_t
    signature: 'prefitem_t *

      copy_prefs (const prefitem_t *prefs)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/g10/free-packet.c:239,1
    - Dst: memcpy
      Src: /src/gnupg/g10/free-packet.c:240,1
    - Dst: pubkey_get_npkey
      Src: /src/gnupg/g10/free-packet.c:249,1
    - Dst: my_mpi_copy
      Src: /src/gnupg/g10/free-packet.c:252,1
    - Dst: my_mpi_copy
      Src: /src/gnupg/g10/free-packet.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - PKT_public_key*
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 266
    functionName: copy_public_key_basics
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 1
    functionsReached:
    - my_mpi_copy
    - xmalloc
    - memcpy
    - pubkey_get_npkey
    linkageType: ''
    returnType: PKT_public_key
    signature: 'PKT_public_key *

      copy_public_key_basics (PKT_public_key *d, PKT_public_key *s)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: copy_public_key_basics
      Src: /src/gnupg/g10/free-packet.c:275,1
    - Dst: scopy_user_id
      Src: /src/gnupg/g10/free-packet.c:276,1
    - Dst: copy_prefs
      Src: /src/gnupg/g10/free-packet.c:277,1
    - Dst: BUG
      Src: /src/gnupg/g10/free-packet.c:280,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/free-packet.c:283,1
    - Dst: memcpy
      Src: /src/gnupg/g10/free-packet.c:284,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/free-packet.c:288,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/free-packet.c:290,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/free-packet.c:297,1
    - Dst: memcpy
      Src: /src/gnupg/g10/free-packet.c:298,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - PKT_public_key*
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 305
    functionName: copy_public_key
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 17
    functionsReached:
    - copy_public_key_basics
    - copy_prefs
    - BUG
    - scopy_user_id
    - xmalloc
    - xstrdup
    - memcpy
    linkageType: ''
    returnType: PKT_public_key
    signature: 'PKT_public_key *

      copy_public_key (PKT_public_key *d, PKT_public_key *s)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/g10/free-packet.c:318,1
    - Dst: memcpy
      Src: /src/gnupg/g10/free-packet.c:319,1
    - Dst: pubkey_get_nsig
      Src: /src/gnupg/g10/free-packet.c:320,1
    - Dst: my_mpi_copy
      Src: /src/gnupg/g10/free-packet.c:322,1
    - Dst: my_mpi_copy
      Src: /src/gnupg/g10/free-packet.c:325,1
    - Dst: cp_subpktarea
      Src: /src/gnupg/g10/free-packet.c:327,1
    - Dst: cp_subpktarea
      Src: /src/gnupg/g10/free-packet.c:328,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/free-packet.c:330,1
    - Dst: parse_revkeys
      Src: /src/gnupg/g10/free-packet.c:338,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/free-packet.c:343,1
    - Dst: memcpy
      Src: /src/gnupg/g10/free-packet.c:344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - PKT_signature*
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 312
    functionDepth: 6
    functionLinenumber: 312
    functionLinenumberEnd: 350
    functionName: copy_signature
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 2
    functionsReached:
    - pubkey_get_nsig
    - parse_revkeys
    - xmalloc
    - my_mpi_copy
    - cp_subpktarea
    - xstrdup
    - memcpy
    linkageType: ''
    returnType: PKT_signature
    signature: 'PKT_signature *

      copy_signature( PKT_signature *d, PKT_signature *s )'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 362
    functionName: scopy_user_id
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: PKT_user_id
    signature: 'PKT_user_id *

      scopy_user_id (PKT_user_id *s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rem
    argTypes:
    - PKT_comment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: free_comment
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void free_comment( PKT_comment *rem )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:378,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - uid
    argTypes:
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 384
    functionName: free_attributes
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 1
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void free_attributes(PKT_user_id *uid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/free-packet.c:392,1
    - Dst: free_attributes
      Src: /src/gnupg/g10/free-packet.c:396,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:397,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:398,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:399,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:400,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - uid
    argTypes:
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 402
    functionName: free_user_id
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 6
    functionsReached:
    - xfree
    - free_attributes
    - log_assert
    linkageType: ''
    returnType: void
    signature: void free_user_id (PKT_user_id *uid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_read
      Src: /src/gnupg/g10/free-packet.c:415,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - zd
    argTypes:
    - PKT_compressed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 419
    functionName: free_compressed
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 0
    functionsReached:
    - iobuf_read
    - xfree
    linkageType: ''
    returnType: void
    signature: void free_compressed( PKT_compressed *zd )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_read
      Src: /src/gnupg/g10/free-packet.c:432,1
    - Dst: iobuf_read
      Src: /src/gnupg/g10/free-packet.c:440,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ed
    argTypes:
    - PKT_encrypted*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 449
    functionName: free_encrypted
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 0
    functionsReached:
    - iobuf_read
    - xfree
    linkageType: ''
    returnType: void
    signature: void free_encrypted( PKT_encrypted *ed )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_read
      Src: /src/gnupg/g10/free-packet.c:462,1
    - Dst: iobuf_read
      Src: /src/gnupg/g10/free-packet.c:469,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:477,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - pt
    argTypes:
    - PKT_plaintext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 478
    functionName: free_plaintext
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 0
    functionsReached:
    - iobuf_read
    - xfree
    linkageType: ''
    returnType: void
    signature: void free_plaintext( PKT_plaintext *pt )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: free_packet
      Src: /src/gnupg/g10/free-packet.c:493,1
    - Dst: log_debug
      Src: /src/gnupg/g10/free-packet.c:503,1
    - Dst: free_seckey_enc
      Src: /src/gnupg/g10/free-packet.c:521,1
    - Dst: free_pubkey_enc
      Src: /src/gnupg/g10/free-packet.c:524,1
    - Dst: free_symkey_enc
      Src: /src/gnupg/g10/free-packet.c:527,1
    - Dst: free_public_key
      Src: /src/gnupg/g10/free-packet.c:533,1
    - Dst: free_comment
      Src: /src/gnupg/g10/free-packet.c:536,1
    - Dst: free_user_id
      Src: /src/gnupg/g10/free-packet.c:539,1
    - Dst: free_compressed
      Src: /src/gnupg/g10/free-packet.c:542,1
    - Dst: free_encrypted
      Src: /src/gnupg/g10/free-packet.c:547,1
    - Dst: free_plaintext
      Src: /src/gnupg/g10/free-packet.c:550,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:553,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 2
    argNames:
    - pkt
    - parsectx
    argTypes:
    - PACKET*
    - parse_packet_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 484
    functionDepth: 3
    functionLinenumber: 484
    functionLinenumberEnd: 558
    functionName: free_packet
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 30
    functionsReached:
    - free_public_key
    - free_comment
    - free_encrypted
    - free_compressed
    - free_seckey_enc
    - free_user_id
    - free_plaintext
    - free_symkey_enc
    - free_pubkey_enc
    - xfree
    - free_packet
    - log_debug
    linkageType: ''
    returnType: void
    signature: void free_packet (PACKET *pkt, parse_packet_ctx_t parsectx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_pubkey_enc_parts
      Src: /src/gnupg/g10/free-packet.c:570,1
    - Dst: xfree
      Src: /src/gnupg/g10/free-packet.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sesenc_list
    argTypes:
    - struct seskey_enc_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 574
    functionName: free_seskey_enc_list
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 2
    functionsReached:
    - xfree
    - release_pubkey_enc_parts
    linkageType: ''
    returnType: void
    signature: void free_seskey_enc_list (struct seskey_enc_list *sesenc_list)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pubkey_get_npkey
      Src: /src/gnupg/g10/free-packet.c:592,1
    - Dst: mpi_cmp
      Src: /src/gnupg/g10/free-packet.c:594,1
    - Dst: mpi_cmp
      Src: /src/gnupg/g10/free-packet.c:598,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - PKT_public_key*
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 604
    functionName: cmp_public_keys
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 10
    functionsReached:
    - mpi_cmp
    - pubkey_get_npkey
    linkageType: ''
    returnType: int
    signature: int cmp_public_keys( PKT_public_key *a, PKT_public_key *b )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pubkey_get_nsig
      Src: /src/gnupg/g10/free-packet.c:620,1
    - Dst: mpi_cmp
      Src: /src/gnupg/g10/free-packet.c:624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - PKT_signature*
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 628
    functionName: cmp_signatures
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 5
    functionsReached:
    - pubkey_get_nsig
    - mpi_cmp
    linkageType: ''
    returnType: int
    signature: int cmp_signatures( PKT_signature *a, PKT_signature *b )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/g10/free-packet.c:646,1
    - Dst: memcmp
      Src: /src/gnupg/g10/free-packet.c:652,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - PKT_user_id*
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 656
    functionName: cmp_user_ids
    functionSourceFile: /src/gnupg/g10/free-packet.c
    functionUses: 4
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int cmp_user_ids( PKT_user_id *a, PKT_user_id *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: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: CMP_FILENAME
    functionSourceFile: /src/gnupg/g10/openfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_FILENAME(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: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: CMP_FILENAME
    functionSourceFile: /src/gnupg/g10/openfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_FILENAME(a,b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_is_pipe_filename
      Src: /src/gnupg/g10/openfile.c:64,1
    - Dst: gnupg_access
      Src: /src/gnupg/g10/openfile.c:67,1
    - Dst: compare_filenames
      Src: /src/gnupg/g10/openfile.c:70,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/openfile.c:78,1
    - Dst: _
      Src: /src/gnupg/g10/openfile.c:78,1
    - Dst: cpr_enabled
      Src: /src/gnupg/g10/openfile.c:79,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/openfile.c:80,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/openfile.c:81,1
    - Dst: _
      Src: /src/gnupg/g10/openfile.c:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 61
    functionDepth: 6
    functionLinenumber: 61
    functionLinenumberEnd: 85
    functionName: overwrite_filep
    functionSourceFile: /src/gnupg/g10/openfile.c
    functionUses: 0
    functionsReached:
    - iobuf_is_pipe_filename
    - cpr_enabled
    - cpr_get_answer_is_yes
    - compare_filenames
    - _
    - gnupg_access
    - tty_printf
    linkageType: ''
    returnType: int
    signature: int overwrite_filep( const char *fname )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_is_pipe_filename
      Src: /src/gnupg/g10/openfile.c:97,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/openfile.c:98,1
    - Dst: strlen
      Src: /src/gnupg/g10/openfile.c:100,1
    - Dst: CMP_FILENAME
      Src: /src/gnupg/g10/openfile.c:101,1
    - Dst: CMP_FILENAME
      Src: /src/gnupg/g10/openfile.c:102,1
    - Dst: CMP_FILENAME
      Src: /src/gnupg/g10/openfile.c:103,1
    - Dst: CMP_FILENAME
      Src: /src/gnupg/g10/openfile.c:104,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/openfile.c:106,1
    - Dst: CMP_FILENAME
      Src: /src/gnupg/g10/openfile.c:110,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/openfile.c:112,1
    - Dst: log_info
      Src: /src/gnupg/g10/openfile.c:117,1
    - Dst: _
      Src: /src/gnupg/g10/openfile.c:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - iname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 119
    functionName: make_outfile_name
    functionSourceFile: /src/gnupg/g10/openfile.c
    functionUses: 1
    functionsReached:
    - iobuf_is_pipe_filename
    - strlen
    - CMP_FILENAME
    - _
    - log_info
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      make_outfile_name (const char *iname)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: make_printable_string
      Src: /src/gnupg/g10/openfile.c:144,1
    - Dst: _
      Src: /src/gnupg/g10/openfile.c:147,1
    - Dst: strlen
      Src: /src/gnupg/g10/openfile.c:148,1
    - Dst: strlen
      Src: /src/gnupg/g10/openfile.c:148,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/openfile.c:149,1
    - Dst: snprintf
      Src: /src/gnupg/g10/openfile.c:151,1
    - Dst: snprintf
      Src: /src/gnupg/g10/openfile.c:153,1
    - Dst: tty_enable_completion
      Src: /src/gnupg/g10/openfile.c:154,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/openfile.c:155,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/openfile.c:156,1
    - Dst: tty_disable_completion
      Src: /src/gnupg/g10/openfile.c:157,1
    - Dst: xfree
      Src: /src/gnupg/g10/openfile.c:158,1
    - Dst: xfree
      Src: /src/gnupg/g10/openfile.c:161,1
    - Dst: xfree
      Src: /src/gnupg/g10/openfile.c:165,1
    - Dst: trim_spaces
      Src: /src/gnupg/g10/openfile.c:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - name
    - namelen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 127
    functionDepth: 5
    functionLinenumber: 127
    functionLinenumberEnd: 169
    functionName: ask_outfile_name
    functionSourceFile: /src/gnupg/g10/openfile.c
    functionUses: 0
    functionsReached:
    - cpr_kill_prompt
    - strlen
    - make_printable_string
    - snprintf
    - tty_enable_completion
    - trim_spaces
    - _
    - cpr_get
    - xmalloc
    - xfree
    - tty_disable_completion
    linkageType: ''
    returnType: char
    signature: 'char *

      ask_outfile_name (const char *name, size_t namelen)'
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_fdopen_nc
      Src: /src/gnupg/g10/openfile.c:198,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/openfile.c:201,1
    - Dst: snprintf
      Src: /src/gnupg/g10/openfile.c:202,1
    - Dst: FD_DBG
      Src: /src/gnupg/g10/openfile.c:202,1
    - Dst: log_error
      Src: /src/gnupg/g10/openfile.c:203,1
    - Dst: _
      Src: /src/gnupg/g10/openfile.c:203,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/openfile.c:203,1
    - Dst: snprintf
      Src: /src/gnupg/g10/openfile.c:207,1
    - Dst: FD_DBG
      Src: /src/gnupg/g10/openfile.c:207,1
    - Dst: log_info
      Src: /src/gnupg/g10/openfile.c:208,1
    - Dst: _
      Src: /src/gnupg/g10/openfile.c:208,1
    - Dst: iobuf_is_pipe_filename
      Src: /src/gnupg/g10/openfile.c:211,1
    - Dst: iobuf_create
      Src: /src/gnupg/g10/openfile.c:213,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/openfile.c:216,1
    - Dst: log_error
      Src: /src/gnupg/g10/openfile.c:217,1
    - Dst: _
      Src: /src/gnupg/g10/openfile.c:217,1
    - Dst: strerror
      Src: /src/gnupg/g10/openfile.c:217,1
    - Dst: log_info
      Src: /src/gnupg/g10/openfile.c:220,1
    - Dst: _
      Src: /src/gnupg/g10/openfile.c:220,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/openfile.c:249,1
    - Dst: strlen
      Src: /src/gnupg/g10/openfile.c:249,1
    - Dst: strcpy
      Src: /src/gnupg/g10/openfile.c:250,1
    - Dst: strchr
      Src: /src/gnupg/g10/openfile.c:251,1
    - Dst: strlen
      Src: /src/gnupg/g10/openfile.c:252,1
    - Dst: CMP_FILENAME
      Src: /src/gnupg/g10/openfile.c:253,1
    - Dst: strcpy
      Src: /src/gnupg/g10/openfile.c:254,1
    - Dst: strcpy
      Src: /src/gnupg/g10/openfile.c:256,1
    - Dst: strcat
      Src: /src/gnupg/g10/openfile.c:258,1
    - Dst: xstrconcat
      Src: /src/gnupg/g10/openfile.c:263,1
    - Dst: overwrite_filep
      Src: /src/gnupg/g10/openfile.c:274,1
    - Dst: ask_outfile_name
      Src: /src/gnupg/g10/openfile.c:276,1
    - Dst: xfree
      Src: /src/gnupg/g10/openfile.c:279,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/openfile.c:280,1
    - Dst: xfree
      Src: /src/gnupg/g10/openfile.c:283,1
    - Dst: is_secured_filename
      Src: /src/gnupg/g10/openfile.c:289,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/openfile.c:292,1
    - Dst: iobuf_create
      Src: /src/gnupg/g10/openfile.c:295,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/openfile.c:298,1
    - Dst: log_error
      Src: /src/gnupg/g10/openfile.c:299,1
    - Dst: _
      Src: /src/gnupg/g10/openfile.c:299,1
    - Dst: strerror
      Src: /src/gnupg/g10/openfile.c:299,1
    - Dst: log_info
      Src: /src/gnupg/g10/openfile.c:302,1
    - Dst: _
      Src: /src/gnupg/g10/openfile.c:302,1
    - Dst: xfree
      Src: /src/gnupg/g10/openfile.c:304,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/openfile.c:308,1
    - Dst: iobuf_is_pipe_filename
      Src: /src/gnupg/g10/openfile.c:323,1
    - Dst: strlen
      Src: /src/gnupg/g10/openfile.c:326,1
    - Dst: strcmp
      Src: /src/gnupg/g10/openfile.c:328,1
    - Dst: strcmp
      Src: /src/gnupg/g10/openfile.c:329,1
    - Dst: strcmp
      Src: /src/gnupg/g10/openfile.c:330,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/openfile.c:333,1
    - Dst: gnupg_access
      Src: /src/gnupg/g10/openfile.c:335,1
    - Dst: xfree
      Src: /src/gnupg/g10/openfile.c:338,1
    - Dst: get_matching_datafile
      Src: /src/gnupg/g10/openfile.c:357,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/openfile.c:360,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/openfile.c:361,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/openfile.c:361,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/openfile.c:363,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/openfile.c:365,1
    - Dst: log_info
      Src: /src/gnupg/g10/openfile.c:368,1
    - Dst: _
      Src: /src/gnupg/g10/openfile.c:368,1
    - Dst: handle_progress
      Src: /src/gnupg/g10/openfile.c:370,1
    - Dst: xfree
      Src: /src/gnupg/g10/openfile.c:371,1
    - Dst: gnupg_maybe_make_homedir
      Src: /src/gnupg/g10/openfile.c:389,1
    - Dst: make_filename
      Src: /src/gnupg/g10/openfile.c:401,1
    - Dst: gnupg_stat
      Src: /src/gnupg/g10/openfile.c:402,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/g10/openfile.c:404,1
    - Dst: log_error
      Src: /src/gnupg/g10/openfile.c:405,1
    - Dst: _
      Src: /src/gnupg/g10/openfile.c:405,1
    - Dst: strerror
      Src: /src/gnupg/g10/openfile.c:406,1
    - Dst: log_info
      Src: /src/gnupg/g10/openfile.c:408,1
    - Dst: _
      Src: /src/gnupg/g10/openfile.c:408,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 113
    argCount: 5
    argNames:
    - out_fd
    - iname
    - mode
    - restrictedperm
    - a
    argTypes:
    - gnupg_fd_t
    - char*
    - int
    - int
    - iobuf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 187
    functionDepth: 7
    functionLinenumber: 187
    functionLinenumberEnd: 411
    functionName: open_outfile
    functionSourceFile: /src/gnupg/g10/openfile.c
    functionUses: 11
    functionsReached:
    - overwrite_filep
    - strlen
    - iobuf_fdopen_nc
    - xmalloc
    - xstrdup
    - gnupg_stat
    - handle_progress
    - log_error
    - _
    - iobuf_ioctl
    - FD_DBG
    - gnupg_access
    - log_info
    - strcat
    - iobuf_is_pipe_filename
    - is_secured_file
    - gpg_error_from_syserror
    - get_matching_datafile
    - gnupg_mkdir
    - CMP_FILENAME
    - iobuf_open
    - strcmp
    - strchr
    - gpg_error
    - gpg_strerror
    - xfree
    - is_secured_filename
    - ask_outfile_name
    - make_filename
    - iobuf_close
    - xstrconcat
    - snprintf
    - iobuf_get_fd
    - strcpy
    - gpg_err_set_errno
    - iobuf_create
    - gnupg_maybe_make_homedir
    - strerror
    linkageType: ''
    returnType: int
    signature: "int open_outfile (gnupg_fd_t out_fd, const char *iname, int mode,\n
      \             int restrictedperm, iobuf_t *a)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_is_pipe_filename
      Src: /src/gnupg/g10/openfile.c:323,1
    - Dst: strlen
      Src: /src/gnupg/g10/openfile.c:326,1
    - Dst: strcmp
      Src: /src/gnupg/g10/openfile.c:328,1
    - Dst: strcmp
      Src: /src/gnupg/g10/openfile.c:329,1
    - Dst: strcmp
      Src: /src/gnupg/g10/openfile.c:330,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/openfile.c:333,1
    - Dst: gnupg_access
      Src: /src/gnupg/g10/openfile.c:335,1
    - Dst: xfree
      Src: /src/gnupg/g10/openfile.c:338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - sigfilename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 344
    functionName: get_matching_datafile
    functionSourceFile: /src/gnupg/g10/openfile.c
    functionUses: 2
    functionsReached:
    - iobuf_is_pipe_filename
    - strlen
    - gnupg_access
    - strcmp
    - xfree
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      get_matching_datafile (const char *sigfilename)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_matching_datafile
      Src: /src/gnupg/g10/openfile.c:357,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/openfile.c:360,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/openfile.c:361,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/openfile.c:361,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/openfile.c:363,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/openfile.c:365,1
    - Dst: log_info
      Src: /src/gnupg/g10/openfile.c:368,1
    - Dst: _
      Src: /src/gnupg/g10/openfile.c:368,1
    - Dst: handle_progress
      Src: /src/gnupg/g10/openfile.c:370,1
    - Dst: xfree
      Src: /src/gnupg/g10/openfile.c:371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - sigfilename
    - pfx
    argTypes:
    - char*
    - progress_filter_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 375
    functionName: open_sigfile
    functionSourceFile: /src/gnupg/g10/openfile.c
    functionUses: 0
    functionsReached:
    - is_secured_file
    - iobuf_close
    - get_matching_datafile
    - iobuf_get_fd
    - iobuf_open
    - _
    - log_info
    - xfree
    - gpg_err_set_errno
    - handle_progress
    linkageType: ''
    returnType: iobuf_t
    signature: iobuf_t open_sigfile (const char *sigfilename, progress_filter_context_t
      *pfx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_maybe_make_homedir
      Src: /src/gnupg/g10/openfile.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 390
    functionName: try_make_homedir
    functionSourceFile: /src/gnupg/g10/openfile.c
    functionUses: 1
    functionsReached:
    - gnupg_maybe_make_homedir
    linkageType: ''
    returnType: void
    signature: void try_make_homedir (const char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/g10/openfile.c:401,1
    - Dst: gnupg_stat
      Src: /src/gnupg/g10/openfile.c:402,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/g10/openfile.c:404,1
    - Dst: log_error
      Src: /src/gnupg/g10/openfile.c:405,1
    - Dst: _
      Src: /src/gnupg/g10/openfile.c:405,1
    - Dst: strerror
      Src: /src/gnupg/g10/openfile.c:406,1
    - Dst: log_info
      Src: /src/gnupg/g10/openfile.c:408,1
    - Dst: _
      Src: /src/gnupg/g10/openfile.c:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - home
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 411
    functionName: get_openpgp_revocdir
    functionSourceFile: /src/gnupg/g10/openfile.c
    functionUses: 1
    functionsReached:
    - make_filename
    - log_error
    - gnupg_mkdir
    - _
    - log_info
    - gnupg_stat
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      get_openpgp_revocdir (const char *home)'
  - 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: STRINGIFY
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: STRINGIFY2
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY2(s)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - policy
    argTypes:
    - enum tofu_policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: tofu_policy_str
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      tofu_policy_str (enum tofu_policy policy)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/gnupg/g10/tofu.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - policy
    argTypes:
    - enum tofu_policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 162
    functionName: tofu_policy_to_trust_level
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - log_bug
    linkageType: ''
    returnType: int
    signature: int tofu_policy_to_trust_level (enum tofu_policy policy)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:176,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/g10/tofu.c:189,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:195,1
    - Dst: gnupg_stat
      Src: /src/gnupg/g10/tofu.c:200,1
    - Dst: end_transaction
      Src: /src/gnupg/g10/tofu.c:203,1
    - Dst: gnupg_usleep
      Src: /src/gnupg/g10/tofu.c:208,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/g10/tofu.c:211,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:224,1
    - Dst: gpgsql_stepx
      Src: /src/gnupg/g10/tofu.c:226,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:231,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:231,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:233,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:234,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/g10/tofu.c:238,1
    - Dst: gnupg_stat
      Src: /src/gnupg/g10/tofu.c:240,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:247,1
    - Dst: gpgsql_exec_printf
      Src: /src/gnupg/g10/tofu.c:250,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:255,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:255,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:257,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:258,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - ctrl
    - only_batch
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 262
    functionName: begin_transaction
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - sqlite3_free
    - gnupg_get_time
    - gpgsql_exec_printf
    - log_assert
    - log_error
    - _
    - gnupg_usleep
    - gpg_error
    - end_transaction
    - gnupg_stat
    - gpgsql_stepx
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t begin_transaction (ctrl_t ctrl, int only_batch)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:284,1
    - Dst: gpgsql_stepx
      Src: /src/gnupg/g10/tofu.c:296,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:301,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:301,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:303,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:304,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:314,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:315,1
    - Dst: gpgsql_exec_printf
      Src: /src/gnupg/g10/tofu.c:317,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:324,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:324,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:326,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:327,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - ctrl
    - only_batch
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 331
    functionName: end_transaction
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 1
    functionsReached:
    - gpgsql_stepx
    - gpgsql_exec_printf
    - log_error
    - log_assert
    - _
    - gpg_error
    - sqlite3_free
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t end_transaction (ctrl_t ctrl, int only_batch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:341,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:342,1
    - Dst: gpgsql_exec_printf
      Src: /src/gnupg/g10/tofu.c:346,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:354,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:354,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:356,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 361
    functionName: rollback_transaction
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - gpgsql_exec_printf
    - log_error
    - log_assert
    - _
    - gpg_error
    - sqlite3_free
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t rollback_transaction (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: tofu_begin_batch_update
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tofu_begin_batch_update (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:372,1
    - Dst: end_transaction
      Src: /src/gnupg/g10/tofu.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: tofu_end_batch_update
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 2
    functionsReached:
    - end_transaction
    - log_assert
    linkageType: ''
    returnType: void
    signature: void tofu_end_batch_update (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end_transaction
      Src: /src/gnupg/g10/tofu.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: tofu_suspend_batch_transaction
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - end_transaction
    linkageType: ''
    returnType: void
    signature: void tofu_suspend_batch_transaction (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin_transaction
      Src: /src/gnupg/g10/tofu.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 395
    functionName: tofu_resume_batch_transaction
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - begin_transaction
    linkageType: ''
    returnType: void
    signature: void tofu_resume_batch_transaction (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/tofu.c:409,1
    - Dst: strtol
      Src: /src/gnupg/g10/tofu.c:410,1
    - Dst: strcmp
      Src: /src/gnupg/g10/tofu.c:411,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/g10/tofu.c:413,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:413,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:414,1
    - Dst: strlen
      Src: /src/gnupg/g10/tofu.c:417,1
    - Dst: strlen
      Src: /src/gnupg/g10/tofu.c:418,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - r_value
    - string
    - fallback
    - line
    argTypes:
    - long*
    - char*
    - long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 426
    functionName: string_to_long
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - strtol
    - strlen
    - strcmp
    - gpg_error_from_errno
    - gpg_error
    - gpg_strerror
    - gpg_err_set_errno
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t string_to_long (long *r_value, const char *string, long
      fallback, int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/tofu.c:440,1
    - Dst: strtoul
      Src: /src/gnupg/g10/tofu.c:441,1
    - Dst: strcmp
      Src: /src/gnupg/g10/tofu.c:442,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/g10/tofu.c:444,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:444,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:445,1
    - Dst: strlen
      Src: /src/gnupg/g10/tofu.c:448,1
    - Dst: strlen
      Src: /src/gnupg/g10/tofu.c:449,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - r_value
    - string
    - fallback
    - line
    argTypes:
    - unsigned long*
    - char*
    - unsigned long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 457
    functionName: string_to_ulong
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcmp
    - gpg_error_from_errno
    - gpg_error
    - gpg_strerror
    - gpg_err_set_errno
    - strtoul
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t string_to_ulong (unsigned long *r_value, const char *string,\n
      \                unsigned long fallback, int line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:471,1
    - Dst: string_to_ulong
      Src: /src/gnupg/g10/tofu.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cookie
    - argc
    - argv
    - azColName
    argTypes:
    - void*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 476
    functionName: get_single_unsigned_long_cb
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - string_to_ulong
    - log_assert
    linkageType: ''
    returnType: int
    signature: "int get_single_unsigned_long_cb (void *cookie, int argc, char **argv,\n\t\t\t
      \    char **azColName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_single_unsigned_long_cb
      Src: /src/gnupg/g10/tofu.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - cookie
    - argc
    - argv
    - azColName
    - stmt
    argTypes:
    - void*
    - int
    - char**
    - char**
    - sqlite3_stmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 484
    functionName: get_single_unsigned_long_cb2
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - get_single_unsigned_long_cb
    linkageType: ''
    returnType: int
    signature: "int get_single_unsigned_long_cb2 (void *cookie, int argc, char **argv,\n\t\t\t
      \    char **azColName, sqlite3_stmt *stmt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/g10/tofu.c:494,1
    - Dst: strcmp
      Src: /src/gnupg/g10/tofu.c:500,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:504,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - cookie
    - argc
    - argv
    - azColName
    argTypes:
    - void*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 510
    functionName: version_check_cb
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - strcmp
    - _
    - log_error
    linkageType: ''
    returnType: int
    signature: int version_check_cb (void *cookie, int argc, char **argv, char **azColName)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_exec
      Src: /src/gnupg/g10/tofu.c:531,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:537,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:539,1
    - Dst: tdb_utks
      Src: /src/gnupg/g10/tofu.c:544,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/tofu.c:554,1
    - Dst: format_keyid
      Src: /src/gnupg/g10/tofu.c:559,1
    - Dst: memcpy
      Src: /src/gnupg/g10/tofu.c:561,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:567,1
    - Dst: gpgsql_exec_printf
      Src: /src/gnupg/g10/tofu.c:570,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:583,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:586,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:586,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:587,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:589,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:597,1
    - Dst: gpgsql_exec_printf
      Src: /src/gnupg/g10/tofu.c:601,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:607,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:607,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:608,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:609,1
    - Dst: sqlite3_exec
      Src: /src/gnupg/g10/tofu.c:614,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:619,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:619,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:620,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:621,1
    - Dst: sqlite3_exec
      Src: /src/gnupg/g10/tofu.c:625,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:631,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:631,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:632,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:633,1
    - Dst: format_keyid
      Src: /src/gnupg/g10/tofu.c:639,1
    - Dst: gpgsql_exec_printf
      Src: /src/gnupg/g10/tofu.c:641,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:647,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:647,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:648,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:650,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 1
    argNames:
    - db
    argTypes:
    - sqlite3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 657
    functionName: check_utks
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - gpgsql_exec_printf
    - log_error
    - log_assert
    - tdb_utks
    - sqlite3_exec
    - _
    - xmalloc
    - format_keyid
    - xfree
    - log_debug
    - print_further_info
    - memcpy
    - sqlite3_free
    linkageType: ''
    returnType: int
    signature: int check_utks (sqlite3 *db)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_exec
      Src: /src/gnupg/g10/tofu.c:671,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:674,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:674,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:676,1
    - Dst: sqlite3_exec
      Src: /src/gnupg/g10/tofu.c:682,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:687,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:687,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:688,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:689,1
    - Dst: sqlite3_exec
      Src: /src/gnupg/g10/tofu.c:696,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:701,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:709,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:715,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:715,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:716,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:723,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:723,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:724,1
    - Dst: sqlite3_exec
      Src: /src/gnupg/g10/tofu.c:731,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:736,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:736,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:737,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:738,1
    - Dst: sqlite3_exec
      Src: /src/gnupg/g10/tofu.c:744,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:749,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:749,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:750,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:751,1
    - Dst: gpgsql_exec_printf
      Src: /src/gnupg/g10/tofu.c:780,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:795,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:795,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:796,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:797,1
    - Dst: sqlite3_exec
      Src: /src/gnupg/g10/tofu.c:815,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:823,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:823,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:824,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:825,1
    - Dst: sqlite3_exec
      Src: /src/gnupg/g10/tofu.c:834,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:843,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:845,1
    - Dst: gpgsql_exec_printf
      Src: /src/gnupg/g10/tofu.c:857,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:873,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:875,1
    - Dst: check_utks
      Src: /src/gnupg/g10/tofu.c:880,1
    - Dst: sqlite3_exec
      Src: /src/gnupg/g10/tofu.c:884,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:887,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:887,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:889,1
    - Dst: sqlite3_exec
      Src: /src/gnupg/g10/tofu.c:895,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:898,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:898,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:900,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 108
    argCount: 1
    argNames:
    - db
    argTypes:
    - sqlite3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 663
    functionDepth: 3
    functionLinenumber: 663
    functionLinenumberEnd: 905
    functionName: initdb
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - gpgsql_exec_printf
    - log_error
    - check_utks
    - sqlite3_exec
    - _
    - gpg_strerror
    - print_further_info
    - sqlite3_free
    linkageType: ''
    returnType: int
    signature: int initdb (sqlite3 *db)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/g10/tofu.c:926,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:928,1
    - Dst: strerror
      Src: /src/gnupg/g10/tofu.c:929,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/tofu.c:931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cookie
    - call_count
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 936
    functionName: busy_handler
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - strerror
    - es_fclose
    - es_fopen
    - log_debug
    linkageType: ''
    returnType: int
    signature: int busy_handler (void *cookie, int call_count)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/g10/tofu.c:950,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/tofu.c:950,1
    - Dst: sqlite3_open
      Src: /src/gnupg/g10/tofu.c:952,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:955,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:955,1
    - Dst: sqlite3_errmsg
      Src: /src/gnupg/g10/tofu.c:956,1
    - Dst: sqlite3_close
      Src: /src/gnupg/g10/tofu.c:958,1
    - Dst: sqlite3_busy_timeout
      Src: /src/gnupg/g10/tofu.c:966,1
    - Dst: sqlite3_busy_handler
      Src: /src/gnupg/g10/tofu.c:967,1
    - Dst: initdb
      Src: /src/gnupg/g10/tofu.c:970,1
    - Dst: sqlite3_close
      Src: /src/gnupg/g10/tofu.c:972,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/tofu.c:978,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/tofu.c:980,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:983,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:986,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 941
    functionDepth: 4
    functionLinenumber: 941
    functionLinenumberEnd: 989
    functionName: opendbs
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - sqlite3_close
    - make_filename
    - log_error
    - initdb
    - log_assert
    - sqlite3_open
    - gnupg_homedir
    - _
    - sqlite3_errmsg
    - sqlite3_busy_handler
    - sqlite3_busy_timeout
    - xfree
    - xasprintf
    - xmalloc_clear
    linkageType: ''
    returnType: tofu_dbs_t
    signature: tofu_dbs_t opendbs (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:1003,1
    - Dst: end_transaction
      Src: /src/gnupg/g10/tofu.c:1005,1
    - Dst: sqlite3_finalize
      Src: /src/gnupg/g10/tofu.c:1011,1
    - Dst: sqlite3_close
      Src: /src/gnupg/g10/tofu.c:1013,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:1014,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:1015,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 993
    functionDepth: 3
    functionLinenumber: 993
    functionLinenumberEnd: 1017
    functionName: tofu_closedbs
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 5
    functionsReached:
    - sqlite3_close
    - sqlite3_finalize
    - log_assert
    - end_transaction
    - xfree
    linkageType: ''
    returnType: void
    signature: void tofu_closedbs (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:1029,1
    - Dst: string_to_long
      Src: /src/gnupg/g10/tofu.c:1031,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cookie
    - argc
    - argv
    - azColName
    argTypes:
    - void*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1022
    functionDepth: 2
    functionLinenumber: 1022
    functionLinenumberEnd: 1035
    functionName: get_single_long_cb
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - string_to_long
    - log_assert
    linkageType: ''
    returnType: int
    signature: int get_single_long_cb (void *cookie, int argc, char **argv, char **azColName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_single_long_cb
      Src: /src/gnupg/g10/tofu.c:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - cookie
    - argc
    - argv
    - azColName
    - stmt
    argTypes:
    - void*
    - int
    - char**
    - char**
    - sqlite3_stmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1037
    functionDepth: 3
    functionLinenumber: 1037
    functionLinenumberEnd: 1043
    functionName: get_single_long_cb2
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - get_single_long_cb
    linkageType: ''
    returnType: int
    signature: "int get_single_long_cb2 (void *cookie, int argc, char **argv, char
      **azColName,\n                     sqlite3_stmt *stmt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: format_hexfingerprint
      Src: /src/gnupg/g10/tofu.c:1056,1
    - Dst: log_bug
      Src: /src/gnupg/g10/tofu.c:1065,1
    - Dst: gpgsql_stepx
      Src: /src/gnupg/g10/tofu.c:1079,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:1087,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:1090,1
    - Dst: tofu_policy_str
      Src: /src/gnupg/g10/tofu.c:1098,1
    - Dst: tofu_policy_str
      Src: /src/gnupg/g10/tofu.c:1099,1
    - Dst: tofu_policy_str
      Src: /src/gnupg/g10/tofu.c:1105,1
    - Dst: log_info
      Src: /src/gnupg/g10/tofu.c:1110,1
    - Dst: gpgsql_stepx
      Src: /src/gnupg/g10/tofu.c:1115,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:1148,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:1148,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:1149,1
    - Dst: tofu_policy_str
      Src: /src/gnupg/g10/tofu.c:1150,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:1151,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:1156,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 10
    argNames:
    - dbs
    - fingerprint
    - email
    - user_id
    - policy
    - effective_policy
    - conflict
    - set_conflict
    - show_old
    - now
    argTypes:
    - tofu_dbs_t
    - char*
    - char*
    - char*
    - enum tofu_policy
    - enum tofu_policy
    - char*
    - int
    - int
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1049
    functionDepth: 2
    functionLinenumber: 1049
    functionLinenumberEnd: 1158
    functionName: record_binding
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - gpgsql_stepx
    - format_hexfingerprint
    - log_error
    - log_bug
    - _
    - log_debug
    - log_info
    - print_further_info
    - xfree
    - tofu_policy_str
    - sqlite3_free
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t record_binding (tofu_dbs_t dbs, const char *fingerprint,
      const char *email,\n\t\tconst char *user_id,\n                enum tofu_policy
      policy, enum tofu_policy effective_policy,\n                const char *conflict,
      int set_conflict,\n                int show_old, time_t now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/tofu.c:1187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cookie
    - argc
    - argv
    - azColName
    argTypes:
    - void*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1178
    functionDepth: 1
    functionLinenumber: 1178
    functionLinenumberEnd: 1190
    functionName: strings_collect_cb
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - add_to_strlist
    linkageType: ''
    returnType: int
    signature: int strings_collect_cb (void *cookie, int argc, char **argv, char **azColName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strings_collect_cb
      Src: /src/gnupg/g10/tofu.c:1197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - cookie
    - argc
    - argv
    - azColName
    - stmt
    argTypes:
    - void*
    - int
    - char**
    - char**
    - sqlite3_stmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1199
    functionName: strings_collect_cb2
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - strings_collect_cb
    linkageType: ''
    returnType: int
    signature: "int strings_collect_cb2 (void *cookie, int argc, char **argv, char
      **azColName,\n                     sqlite3_stmt *stmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:1230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - stats
    argTypes:
    - struct signature_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1233
    functionName: signature_stats_free
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void signature_stats_free (struct signature_stats *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/tofu.c:1243,1
    - Dst: strlen
      Src: /src/gnupg/g10/tofu.c:1243,1
    - Dst: strcpy
      Src: /src/gnupg/g10/tofu.c:1248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - statsp
    - fingerprint
    - policy
    - time_ago
    - count
    argTypes:
    - struct signature_stats**
    - char*
    - enum tofu_policy
    - long
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1235
    functionDepth: 1
    functionLinenumber: 1235
    functionLinenumberEnd: 1252
    functionName: signature_stats_prepend
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - xmalloc_clear
    - strcpy
    - strlen
    linkageType: ''
    returnType: void
    signature: "void signature_stats_prepend (struct signature_stats **statsp,\n\t\t\t
      const char *fingerprint,\n\t\t\t enum tofu_policy policy,\n\t\t\t long time_ago,\n\t\t\t
      unsigned long count)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: string_to_long
      Src: /src/gnupg/g10/tofu.c:1274,1
    - Dst: string_to_long
      Src: /src/gnupg/g10/tofu.c:1283,1
    - Dst: string_to_ulong
      Src: /src/gnupg/g10/tofu.c:1294,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:1299,1
    - Dst: signature_stats_prepend
      Src: /src/gnupg/g10/tofu.c:1301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - cookie
    - argc
    - argv
    - azColName
    - stmt
    argTypes:
    - void*
    - int
    - char**
    - char**
    - sqlite3_stmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1258
    functionDepth: 2
    functionLinenumber: 1258
    functionLinenumberEnd: 1304
    functionName: signature_stats_collect_cb
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - signature_stats_prepend
    - string_to_ulong
    - string_to_long
    - log_assert
    linkageType: ''
    returnType: int
    signature: "int signature_stats_collect_cb (void *cookie, int argc, char **argv,\n\t\t\t
      \   char **azColName, sqlite3_stmt *stmt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:1316,1
    - Dst: es_fopenmem
      Src: /src/gnupg/g10/tofu.c:1319,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tofu.c:1321,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:1322,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tofu.c:1322,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tofu.c:1326,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:1327,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/tofu.c:1330,1
    - Dst: strlist_length
      Src: /src/gnupg/g10/tofu.c:1334,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tofu.c:1335,1
    - Dst: ngettext
      Src: /src/gnupg/g10/tofu.c:1336,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tofu.c:1341,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:1342,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/tofu.c:1344,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tofu.c:1347,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:1348,1
    - Dst: es_fputc
      Src: /src/gnupg/g10/tofu.c:1352,1
    - Dst: es_fputc
      Src: /src/gnupg/g10/tofu.c:1354,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/g10/tofu.c:1355,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tofu.c:1356,1
    - Dst: format_text
      Src: /src/gnupg/g10/tofu.c:1357,1
    - Dst: es_free
      Src: /src/gnupg/g10/tofu.c:1358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - policy
    - conflict_set
    - email
    argTypes:
    - int
    - strlist_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1308
    functionDepth: 1
    functionLinenumber: 1308
    functionLinenumberEnd: 1361
    functionName: format_conflict_msg_part1
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - es_fclose_snatch
    - es_fprintf
    - gpg_error_from_syserror
    - log_assert
    - es_fputc
    - format_text
    - log_fatal
    - ngettext
    - es_free
    - _
    - gpg_strerror
    - strlist_length
    - es_fputs
    linkageType: ''
    returnType: char
    signature: "char *\nformat_conflict_msg_part1 (int policy, strlist_t conflict_set,\n
      \                          const char *email)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: format_keyid
      Src: /src/gnupg/g10/tofu.c:1378,1
    - Dst: pk_main_keyid
      Src: /src/gnupg/g10/tofu.c:1378,1
    - Dst: format_keyid
      Src: /src/gnupg/g10/tofu.c:1380,1
    - Dst: pk_main_keyid
      Src: /src/gnupg/g10/tofu.c:1380,1
    - Dst: pk_main_keyid
      Src: /src/gnupg/g10/tofu.c:1392,1
    - Dst: email_from_user_id
      Src: /src/gnupg/g10/tofu.c:1413,1
    - Dst: strcmp
      Src: /src/gnupg/g10/tofu.c:1415,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:1418,1
    - Dst: keyid_cmp
      Src: /src/gnupg/g10/tofu.c:1439,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:1447,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:1455,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 3
    argNames:
    - email
    - a
    - b
    argTypes:
    - char*
    - kbnode_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1459
    functionName: cross_sigs
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - email_from_user_id
    - keyid_cmp
    - strcmp
    - format_keyid
    - pk_main_keyid
    - xfree
    - log_debug
    linkageType: ''
    returnType: int
    signature: int cross_sigs (const char *email, kbnode_t a, kbnode_t b)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: email_from_user_id
      Src: /src/gnupg/g10/tofu.c:1484,1
    - Dst: strcmp
      Src: /src/gnupg/g10/tofu.c:1486,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:1489,1
    - Dst: IS_UID_SIG
      Src: /src/gnupg/g10/tofu.c:1501,1
    - Dst: tdb_keyid_is_utk
      Src: /src/gnupg/g10/tofu.c:1506,1
    - Dst: check_key_signature
      Src: /src/gnupg/g10/tofu.c:1516,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:1519,1
    - Dst: pk_keyid_str
      Src: /src/gnupg/g10/tofu.c:1521,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:1522,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:1528,1
    - Dst: pk_keyid_str
      Src: /src/gnupg/g10/tofu.c:1529,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:1536,1
    - Dst: pk_keyid_str
      Src: /src/gnupg/g10/tofu.c:1537,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 33
    argCount: 3
    argNames:
    - ctrl
    - email
    - keyblock
    argTypes:
    - ctrl_t
    - char*
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1463
    functionDepth: 3
    functionLinenumber: 1463
    functionLinenumberEnd: 1540
    functionName: signed_by_utk
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - email_from_user_id
    - pk_keyid_str
    - tdb_keyid_is_utk
    - strcmp
    - xfree
    - gpg_strerror
    - IS_UID_SIG
    - check_key_signature
    - log_debug
    linkageType: ''
    returnType: int
    signature: int signed_by_utk (ctrl_t ctrl, const char *email, kbnode_t keyblock)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlist_length
      Src: /src/gnupg/g10/tofu.c:1583,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:1594,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:1595,1
    - Dst: es_fopenmem
      Src: /src/gnupg/g10/tofu.c:1597,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tofu.c:1599,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:1600,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tofu.c:1600,1
    - Dst: format_conflict_msg_part1
      Src: /src/gnupg/g10/tofu.c:1603,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tofu.c:1605,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:1606,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tofu.c:1606,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/tofu.c:1608,1
    - Dst: es_fputc
      Src: /src/gnupg/g10/tofu.c:1609,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:1610,1
    - Dst: begin_transaction
      Src: /src/gnupg/g10/tofu.c:1613,1
    - Dst: gpgsql_stepx
      Src: /src/gnupg/g10/tofu.c:1617,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:1624,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:1624,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:1625,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:1627,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tofu.c:1634,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:1634,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:1643,1
    - Dst: atoi
      Src: /src/gnupg/g10/tofu.c:1647,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tofu.c:1649,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tofu.c:1650,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:1650,1
    - Dst: tofu_policy_str
      Src: /src/gnupg/g10/tofu.c:1650,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tofu.c:1651,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tofu.c:1653,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/tofu.c:1655,1
    - Dst: strlist_rev
      Src: /src/gnupg/g10/tofu.c:1659,1
    - Dst: STATS_SQL
      Src: /src/gnupg/g10/tofu.c:1699,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:1706,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:1708,1
    - Dst: strcmp
      Src: /src/gnupg/g10/tofu.c:1712,1
    - Dst: signature_stats_prepend
      Src: /src/gnupg/g10/tofu.c:1714,1
    - Dst: gpgsql_stepx
      Src: /src/gnupg/g10/tofu.c:1716,1
    - Dst: STATS_SQL
      Src: /src/gnupg/g10/tofu.c:1719,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:1726,1
    - Dst: strcmp
      Src: /src/gnupg/g10/tofu.c:1732,1
    - Dst: signature_stats_prepend
      Src: /src/gnupg/g10/tofu.c:1735,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 8
    argNames:
    - ctrl
    - policy
    - trust_level
    - conflict_set
    - fingerprint
    - email
    - user_id
    - now
    argTypes:
    - ctrl_t
    - enum tofu_policy*
    - int*
    - strlist_t
    - char*
    - char*
    - char*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1571
    functionDepth: 3
    functionLinenumber: 1571
    functionLinenumberEnd: 1736
    functionName: ask_about_binding
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - log_assert
    - es_fputc
    - strlist_length
    - es_fopenmem
    - strlist_rev
    - STATS_SQL
    - log_error
    - format_conflict_msg_part1
    - _
    - tofu_policy_str
    - sqlite3_free
    - gpgsql_stepx
    - free_strlist
    - gpg_error_from_syserror
    - begin_transaction
    - strcmp
    - gpg_error
    - gpg_strerror
    - xfree
    - es_fputs
    - atoi
    - signature_stats_prepend
    - log_fatal
    linkageType: ''
    returnType: void
    signature: "void ask_about_binding (ctrl_t ctrl,\n                   enum tofu_policy
      *policy,\n                   int *trust_level,\n                   strlist_t
      conflict_set,\n                   const char *fingerprint,\n                   const
      char *email,\n                   const char *user_id,\n                   time_t
      now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - table
    - ','
    - time
    - ','
    - sign
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1672
    functionName: STATS_SQL
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATS_SQL(table, time, sign)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gpgsql_stepx
      Src: /src/gnupg/g10/tofu.c:2076,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:2093,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:2093,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:2094,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:2095,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:2096,1
    - Dst: strlen
      Src: /src/gnupg/g10/tofu.c:2107,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:2113,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:2113,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:2114,1
    - Dst: strcmp
      Src: /src/gnupg/g10/tofu.c:2129,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/tofu.c:2131,1
    - Dst: strlist_length
      Src: /src/gnupg/g10/tofu.c:2135,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/tofu.c:2153,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/tofu.c:2154,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/g10/tofu.c:2166,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:2169,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:2169,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/tofu.c:2173,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:2176,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:2176,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:2177,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/tofu.c:2181,1
    - Dst: log_info
      Src: /src/gnupg/g10/tofu.c:2188,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:2188,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:2189,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/tofu.c:2193,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:2196,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:2196,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:2197,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:2198,1
    - Dst: merge_keys_and_selfsig
      Src: /src/gnupg/g10/tofu.c:2202,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:2204,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/tofu.c:2223,1
    - Dst: email_from_user_id
      Src: /src/gnupg/g10/tofu.c:2231,1
    - Dst: strcmp
      Src: /src/gnupg/g10/tofu.c:2233,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:2243,1
    - Dst: log_info
      Src: /src/gnupg/g10/tofu.c:2248,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:2248,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:2249,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/tofu.c:2253,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:2262,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/tofu.c:2263,1
    - Dst: xoutofcore
      Src: /src/gnupg/g10/tofu.c:2267,1
    - Dst: cross_sigs
      Src: /src/gnupg/g10/tofu.c:2279,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/tofu.c:2290,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/tofu.c:2296,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:2306,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:2307,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:2308,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:2310,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:2314,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:2318,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 120
    argCount: 5
    argNames:
    - ctrl
    - dbs
    - pk
    - fingerprint
    - email
    argTypes:
    - ctrl_t
    - tofu_dbs_t
    - PKT_public_key*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2328
      start: 2056
    functionDepth: 2
    functionLinenumber: 2056
    functionLinenumberEnd: 2328
    functionName: build_conflict_set
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - strlen
    - log_assert
    - keydb_search_reset
    - strlist_length
    - xoutofcore
    - keydb_new
    - email_from_user_id
    - log_error
    - _
    - log_info
    - merge_keys_and_selfsig
    - keydb_get_keyblock
    - free_strlist
    - gpgsql_stepx
    - sqlite3_free
    - log_debug
    - keydb_search
    - cross_sigs
    - strcmp
    - gpg_error
    - gpg_strerror
    - xfree
    - print_further_info
    - xtrycalloc
    - find_next_kbnode
    - release_kbnode
    - add_to_strlist
    - xcalloc
    - classify_user_id
    - keydb_release
    linkageType: ''
    returnType: strlist_t
    signature: "strlist_t build_conflict_set (ctrl_t ctrl, tofu_dbs_t dbs,\n                    PKT_public_key
      *pk, const char *fingerprint,\n                    const char *email)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gpgsql_stepx
      Src: /src/gnupg/g10/tofu.c:2365,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:2374,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:2374,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:2375,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:2376,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:2377,1
    - Dst: strlist_length
      Src: /src/gnupg/g10/tofu.c:2381,1
    - Dst: strlist_length
      Src: /src/gnupg/g10/tofu.c:2387,1
    - Dst: string_to_long
      Src: /src/gnupg/g10/tofu.c:2391,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:2393,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:2393,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:2394,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:2395,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:2406,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:2406,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:2407,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:2408,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/tofu.c:2414,1
    - Dst: string_to_long
      Src: /src/gnupg/g10/tofu.c:2416,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:2418,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:2418,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:2419,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:2420,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:2433,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:2433,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:2434,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:2435,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:2445,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:2445,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:2446,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:2447,1
    - Dst: strlist_length
      Src: /src/gnupg/g10/tofu.c:2448,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/tofu.c:2483,1
    - Dst: tdb_keyid_is_utk
      Src: /src/gnupg/g10/tofu.c:2484,1
    - Dst: strlen
      Src: /src/gnupg/g10/tofu.c:2493,1
    - Dst: hex2bin
      Src: /src/gnupg/g10/tofu.c:2499,1
    - Dst: strlen
      Src: /src/gnupg/g10/tofu.c:2501,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:2504,1
    - Dst: strlen
      Src: /src/gnupg/g10/tofu.c:2505,1
    - Dst: get_pubkey_byfpr
      Src: /src/gnupg/g10/tofu.c:2512,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:2517,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:2518,1
    - Dst: signed_by_utk
      Src: /src/gnupg/g10/tofu.c:2522,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/tofu.c:2523,1
    - Dst: build_conflict_set
      Src: /src/gnupg/g10/tofu.c:2537,1
    - Dst: strlist_length
      Src: /src/gnupg/g10/tofu.c:2538,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:2555,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:2558,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:2576,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:2589,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:2597,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/tofu.c:2599,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:2602,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:2610,1
    - Dst: strcmp
      Src: /src/gnupg/g10/tofu.c:2630,1
    - Dst: record_binding
      Src: /src/gnupg/g10/tofu.c:2632,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:2635,1
    - Dst: tofu_policy_str
      Src: /src/gnupg/g10/tofu.c:2636,1
    - Dst: build_conflict_set
      Src: /src/gnupg/g10/tofu.c:2643,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/tofu.c:2648,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:2654,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:2656,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/tofu.c:2657,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 143
    argCount: 8
    argNames:
    - ctrl
    - dbs
    - pk
    - fingerprint
    - user_id
    - email
    - conflict_setp
    - now
    argTypes:
    - ctrl_t
    - tofu_dbs_t
    - PKT_public_key*
    - char*
    - char*
    - char*
    - strlist_t*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2660
      start: 2344
    functionDepth: 5
    functionLinenumber: 2344
    functionLinenumberEnd: 2660
    functionName: get_policy
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 1
    functionsReached:
    - build_conflict_set
    - strlen
    - log_assert
    - xstrdup
    - strlist_length
    - signed_by_utk
    - log_error
    - _
    - hex2bin
    - string_to_long
    - tofu_policy_str
    - gpgsql_stepx
    - log_debug
    - sqlite3_free
    - free_strlist
    - get_pubkey_byfpr
    - strcmp
    - gpg_error
    - gpg_strerror
    - xfree
    - print_further_info
    - record_binding
    - tdb_keyid_is_utk
    - release_kbnode
    - keyid_from_pk
    linkageType: ''
    returnType: enum tofu_policy
    signature: "enum tofu_policy get_policy (ctrl_t ctrl, tofu_dbs_t dbs, PKT_public_key
      *pk,\n            const char *fingerprint, const char *user_id, const char *email,\n\t
      \   strlist_t *conflict_setp, time_t now)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:2694,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:2697,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:2702,1
    - Dst: pk_is_primary
      Src: /src/gnupg/g10/tofu.c:2702,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:2706,1
    - Dst: begin_transaction
      Src: /src/gnupg/g10/tofu.c:2714,1
    - Dst: get_policy
      Src: /src/gnupg/g10/tofu.c:2719,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:2725,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:2729,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/tofu.c:2735,1
    - Dst: tdb_keyid_is_utk
      Src: /src/gnupg/g10/tofu.c:2736,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:2748,1
    - Dst: tofu_policy_str
      Src: /src/gnupg/g10/tofu.c:2751,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/tofu.c:2758,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:2770,1
    - Dst: tofu_policy_str
      Src: /src/gnupg/g10/tofu.c:2771,1
    - Dst: tofu_policy_to_trust_level
      Src: /src/gnupg/g10/tofu.c:2772,1
    - Dst: log_bug
      Src: /src/gnupg/g10/tofu.c:2784,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:2799,1
    - Dst: end_transaction
      Src: /src/gnupg/g10/tofu.c:2804,1
    - Dst: ask_about_binding
      Src: /src/gnupg/g10/tofu.c:2808,1
    - Dst: begin_transaction
      Src: /src/gnupg/g10/tofu.c:2828,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:2834,1
    - Dst: gpgsql_exec_printf
      Src: /src/gnupg/g10/tofu.c:2840,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:2848,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:2848,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:2849,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:2851,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:2853,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:2856,1
    - Dst: end_transaction
      Src: /src/gnupg/g10/tofu.c:2862,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/tofu.c:2870,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 9
    argNames:
    - ctrl
    - pk
    - fingerprint
    - email
    - user_id
    - may_ask
    - policyp
    - conflict_setp
    - now
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - char*
    - char*
    - char*
    - int
    - enum tofu_policy*
    - strlist_t*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2873
      start: 2678
    functionDepth: 6
    functionLinenumber: 2678
    functionLinenumberEnd: 2873
    functionName: get_trust
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - gpgsql_exec_printf
    - log_assert
    - end_transaction
    - pk_is_primary
    - log_error
    - log_bug
    - _
    - tofu_policy_str
    - sqlite3_free
    - log_debug
    - free_strlist
    - begin_transaction
    - gpg_error
    - print_further_info
    - ask_about_binding
    - tdb_keyid_is_utk
    - get_policy
    - keyid_from_pk
    - add_to_strlist
    - tofu_policy_to_trust_level
    linkageType: ''
    returnType: enum tofu_policy
    signature: "enum tofu_policy get_trust (ctrl_t ctrl, PKT_public_key *pk,\n           const
      char *fingerprint, const char *email,\n           const char *user_id, int may_ask,\n
      \          enum tofu_policy *policyp, strlist_t *conflict_setp,\n           time_t
      now)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/tofu.c:2899,1
    - Dst: ngettext
      Src: /src/gnupg/g10/tofu.c:2899,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/tofu.c:2904,1
    - Dst: ngettext
      Src: /src/gnupg/g10/tofu.c:2904,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/tofu.c:2909,1
    - Dst: ngettext
      Src: /src/gnupg/g10/tofu.c:2909,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/tofu.c:2914,1
    - Dst: ngettext
      Src: /src/gnupg/g10/tofu.c:2914,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/tofu.c:2919,1
    - Dst: ngettext
      Src: /src/gnupg/g10/tofu.c:2919,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/tofu.c:2924,1
    - Dst: ngettext
      Src: /src/gnupg/g10/tofu.c:2924,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g10/tofu.c:2926,1
    - Dst: ngettext
      Src: /src/gnupg/g10/tofu.c:2926,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - t
    argTypes:
    - long long int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2927
      start: 2884
    functionDepth: 1
    functionLinenumber: 2884
    functionLinenumberEnd: 2927
    functionName: time_ago_str
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - xtryasprintf
    - ngettext
    linkageType: ''
    returnType: char
    signature: 'char *

      time_ago_str (long long int t)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tofu.c:2969,1
    - Dst: tofu_policy_str
      Src: /src/gnupg/g10/tofu.c:2971,1
    - Dst: write_status_printf
      Src: /src/gnupg/g10/tofu.c:2978,1
    - Dst: tofu_policy_str
      Src: /src/gnupg/g10/tofu.c:2983,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 10
    argNames:
    - fp
    - policy
    - signature_count
    - signature_first_seen
    - signature_most_recent
    - signature_days
    - encryption_count
    - encryption_first_done
    - encryption_most_recent
    - encryption_days
    argTypes:
    - estream_t
    - enum tofu_policy
    - unsigned long
    - unsigned long
    - unsigned long
    - unsigned long
    - unsigned long
    - unsigned long
    - unsigned long
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2932
    functionDepth: 2
    functionLinenumber: 2932
    functionLinenumberEnd: 2991
    functionName: write_stats_status
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - tofu_policy_str
    - write_status_printf
    linkageType: ''
    returnType: void
    signature: "void write_stats_status (estream_t fp,\n                    enum tofu_policy
      policy,\n                    unsigned long signature_count,\n                    unsigned
      long signature_first_seen,\n                    unsigned long signature_most_recent,\n
      \                   unsigned long signature_days,\n                    unsigned
      long encryption_count,\n                    unsigned long encryption_first_done,\n
      \                   unsigned long encryption_most_recent,\n                    unsigned
      long encryption_days)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/tofu.c:3024,1
    - Dst: format_hexfingerprint
      Src: /src/gnupg/g10/tofu.c:3027,1
    - Dst: gpgsql_exec_printf
      Src: /src/gnupg/g10/tofu.c:3030,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:3040,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3040,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:3041,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:3042,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:3043,1
    - Dst: gpgsql_exec_printf
      Src: /src/gnupg/g10/tofu.c:3046,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:3057,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3057,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:3058,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:3059,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:3060,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3067,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3068,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3069,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3070,1
    - Dst: string_to_ulong
      Src: /src/gnupg/g10/tofu.c:3072,1
    - Dst: string_to_ulong
      Src: /src/gnupg/g10/tofu.c:3073,1
    - Dst: string_to_ulong
      Src: /src/gnupg/g10/tofu.c:3074,1
    - Dst: string_to_ulong
      Src: /src/gnupg/g10/tofu.c:3076,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/tofu.c:3079,1
    - Dst: gpgsql_exec_printf
      Src: /src/gnupg/g10/tofu.c:3084,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:3094,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3094,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:3095,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:3096,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:3097,1
    - Dst: gpgsql_exec_printf
      Src: /src/gnupg/g10/tofu.c:3100,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:3111,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3111,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:3112,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:3113,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:3114,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3121,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3122,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3123,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3124,1
    - Dst: string_to_ulong
      Src: /src/gnupg/g10/tofu.c:3126,1
    - Dst: string_to_ulong
      Src: /src/gnupg/g10/tofu.c:3127,1
    - Dst: string_to_ulong
      Src: /src/gnupg/g10/tofu.c:3128,1
    - Dst: string_to_ulong
      Src: /src/gnupg/g10/tofu.c:3130,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/tofu.c:3133,1
    - Dst: write_status_text_and_buffer
      Src: /src/gnupg/g10/tofu.c:3138,1
    - Dst: strlen
      Src: /src/gnupg/g10/tofu.c:3139,1
    - Dst: write_stats_status
      Src: /src/gnupg/g10/tofu.c:3141,1
    - Dst: es_fopenmem
      Src: /src/gnupg/g10/tofu.c:3156,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tofu.c:3158,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:3159,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tofu.c:3159,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tofu.c:3163,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3164,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tofu.c:3170,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3170,1
    - Dst: time_ago_str
      Src: /src/gnupg/g10/tofu.c:3174,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tofu.c:3175,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3178,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/tofu.c:3181,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tofu.c:3184,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3184,1
    - Dst: time_ago_str
      Src: /src/gnupg/g10/tofu.c:3187,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tofu.c:3191,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3193,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/tofu.c:3199,1
    - Dst: es_fprintf
      Src: /src/gnupg/g10/tofu.c:3200,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3200,1
    - Dst: tofu_policy_str
      Src: /src/gnupg/g10/tofu.c:3200,1
    - Dst: es_fputs
      Src: /src/gnupg/g10/tofu.c:3202,1
    - Dst: es_fputc
      Src: /src/gnupg/g10/tofu.c:3207,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/g10/tofu.c:3208,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tofu.c:3209,1
    - Dst: format_text
      Src: /src/gnupg/g10/tofu.c:3210,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tofu.c:3212,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:3213,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tofu.c:3213,1
    - Dst: es_free
      Src: /src/gnupg/g10/tofu.c:3214,1
    - Dst: write_status_buffer
      Src: /src/gnupg/g10/tofu.c:3219,1
    - Dst: strlen
      Src: /src/gnupg/g10/tofu.c:3220,1
    - Dst: log_string
      Src: /src/gnupg/g10/tofu.c:3228,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3229,1
    - Dst: log_info
      Src: /src/gnupg/g10/tofu.c:3234,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3234,1
    - Dst: log_info
      Src: /src/gnupg/g10/tofu.c:3237,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3237,1
    - Dst: log_info
      Src: /src/gnupg/g10/tofu.c:3241,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3241,1
    - Dst: log_info
      Src: /src/gnupg/g10/tofu.c:3244,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3244,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3256,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 123
    argCount: 7
    argNames:
    - dbs
    - fingerprint
    - email
    - policy
    - outfp
    - only_status_fd
    - now
    argTypes:
    - tofu_dbs_t
    - char*
    - char*
    - enum tofu_policy
    - estream_t
    - int
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3259
      start: 3002
    functionDepth: 3
    functionLinenumber: 3002
    functionLinenumberEnd: 3259
    functionName: show_statistics
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - gpgsql_exec_printf
    - log_assert
    - strlen
    - es_fputc
    - format_text
    - log_string
    - write_stats_status
    - format_hexfingerprint
    - es_fopenmem
    - log_error
    - es_free
    - string_to_ulong
    - _
    - write_status_text_and_buffer
    - log_info
    - free_strlist
    - sqlite3_free
    - time_ago_str
    - tofu_policy_str
    - gpg_error_from_syserror
    - write_status_buffer
    - gpg_error
    - gpg_strerror
    - xfree
    - print_further_info
    - es_fputs
    - es_fclose_snatch
    - log_fatal
    - is_status_enabled
    linkageType: ''
    returnType: int
    signature: "int show_statistics (tofu_dbs_t dbs,\n                 const char
      *fingerprint, const char *email,\n                 enum tofu_policy policy,\n\t\t
      estream_t outfp, int only_status_fd, time_t now)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xasprintf
      Src: /src/gnupg/g10/tofu.c:3269,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/tofu.c:3271,1
    - Dst: ngettext
      Src: /src/gnupg/g10/tofu.c:3272,1
    - Dst: strlist_length
      Src: /src/gnupg/g10/tofu.c:3285,1
    - Dst: format_text
      Src: /src/gnupg/g10/tofu.c:3288,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tofu.c:3290,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:3291,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tofu.c:3291,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3292,1
    - Dst: log_string
      Src: /src/gnupg/g10/tofu.c:3293,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3294,1
    - Dst: es_free
      Src: /src/gnupg/g10/tofu.c:3296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - fingerprint
    - user_id_list
    argTypes:
    - char*
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3297
      start: 3261
    functionDepth: 1
    functionLinenumber: 3261
    functionLinenumberEnd: 3297
    functionName: show_warning
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - es_free
    - format_text
    - ngettext
    - log_fatal
    - log_string
    - gpg_strerror
    - xasprintf
    - xfree
    - strlist_length
    linkageType: ''
    returnType: void
    signature: void show_warning (const char *fingerprint, strlist_t user_id_list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mailbox_from_userid
      Src: /src/gnupg/g10/tofu.c:3306,1
    - Dst: ascii_strlwr
      Src: /src/gnupg/g10/tofu.c:3312,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/tofu.c:3312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - user_id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3316
      start: 3303
    functionDepth: 1
    functionLinenumber: 3303
    functionLinenumberEnd: 3316
    functionName: email_from_user_id
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 3
    functionsReached:
    - ascii_strlwr
    - mailbox_from_userid
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      email_from_user_id (const char *user_id)'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_get_time
      Src: /src/gnupg/g10/tofu.c:3344,1
    - Dst: opendbs
      Src: /src/gnupg/g10/tofu.c:3354,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:3357,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:3358,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3358,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:3359,1
    - Dst: begin_transaction
      Src: /src/gnupg/g10/tofu.c:3365,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3369,1
    - Dst: pk_is_primary
      Src: /src/gnupg/g10/tofu.c:3369,1
    - Dst: make_radix64_string
      Src: /src/gnupg/g10/tofu.c:3371,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tofu.c:3374,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/tofu.c:3377,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tofu.c:3380,1
    - Dst: email_from_user_id
      Src: /src/gnupg/g10/tofu.c:3389,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:3392,1
    - Dst: get_trust
      Src: /src/gnupg/g10/tofu.c:3398,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:3402,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3403,1
    - Dst: gpgsql_stepx
      Src: /src/gnupg/g10/tofu.c:3409,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:3423,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3423,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:3424,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:3425,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:3426,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:3432,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:3441,1
    - Dst: log_info
      Src: /src/gnupg/g10/tofu.c:3449,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:3456,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3460,1
    - Dst: gpgsql_stepx
      Src: /src/gnupg/g10/tofu.c:3462,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:3477,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3477,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:3478,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:3479,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:3480,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3484,1
    - Dst: rollback_transaction
      Src: /src/gnupg/g10/tofu.c:3492,1
    - Dst: end_transaction
      Src: /src/gnupg/g10/tofu.c:3494,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3496,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3497,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 7
    argNames:
    - ctrl
    - pk
    - user_id_list
    - sig_digest_bin
    - sig_digest_bin_len
    - sig_time
    - origin
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - strlist_t
    - byte*
    - int
    - time_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3338
    functionDepth: 7
    functionLinenumber: 3338
    functionLinenumberEnd: 3500
    functionName: tofu_register_signature
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 1
    functionsReached:
    - gnupg_get_time
    - rollback_transaction
    - log_assert
    - end_transaction
    - pk_is_primary
    - email_from_user_id
    - log_error
    - _
    - opendbs
    - log_info
    - gpgsql_stepx
    - sqlite3_free
    - log_debug
    - gpg_error_from_syserror
    - begin_transaction
    - gpg_error
    - gpg_strerror
    - xfree
    - print_further_info
    - make_radix64_string
    - get_trust
    - hexfingerprint
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t tofu_register_signature (ctrl_t ctrl,\n                         PKT_public_key
      *pk, strlist_t user_id_list,\n                         const byte *sig_digest_bin,
      int sig_digest_bin_len,\n                         time_t sig_time, const char
      *origin)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_get_time
      Src: /src/gnupg/g10/tofu.c:3507,1
    - Dst: opendbs
      Src: /src/gnupg/g10/tofu.c:3517,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:3520,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:3521,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3521,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:3522,1
    - Dst: pk_is_primary
      Src: /src/gnupg/g10/tofu.c:3527,1
    - Dst: get_pubkeyblock
      Src: /src/gnupg/g10/tofu.c:3530,1
    - Dst: pk_is_primary
      Src: /src/gnupg/g10/tofu.c:3533,1
    - Dst: find_next_kbnode
      Src: /src/gnupg/g10/tofu.c:3541,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g10/tofu.c:3548,1
    - Dst: log_info
      Src: /src/gnupg/g10/tofu.c:3554,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3554,1
    - Dst: keystr
      Src: /src/gnupg/g10/tofu.c:3556,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/tofu.c:3559,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tofu.c:3562,1
    - Dst: tofu_begin_batch_update
      Src: /src/gnupg/g10/tofu.c:3566,1
    - Dst: tofu_resume_batch_transaction
      Src: /src/gnupg/g10/tofu.c:3568,1
    - Dst: email_from_user_id
      Src: /src/gnupg/g10/tofu.c:3572,1
    - Dst: get_trust
      Src: /src/gnupg/g10/tofu.c:3578,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:3583,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3584,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3601,1
    - Dst: show_statistics
      Src: /src/gnupg/g10/tofu.c:3604,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/tofu.c:3608,1
    - Dst: gpgsql_stepx
      Src: /src/gnupg/g10/tofu.c:3610,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:3623,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3623,1
    - Dst: print_further_info
      Src: /src/gnupg/g10/tofu.c:3624,1
    - Dst: sqlite3_free
      Src: /src/gnupg/g10/tofu.c:3625,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:3626,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3629,1
    - Dst: tofu_end_batch_update
      Src: /src/gnupg/g10/tofu.c:3634,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/tofu.c:3636,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/tofu.c:3638,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3639,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 4
    argNames:
    - ctrl
    - pk
    - user_id_list
    - may_ask
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - strlist_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3642
      start: 3502
    functionDepth: 7
    functionLinenumber: 3502
    functionLinenumberEnd: 3642
    functionName: tofu_register_encryption
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 1
    functionsReached:
    - gnupg_get_time
    - log_assert
    - tofu_begin_batch_update
    - pk_is_primary
    - email_from_user_id
    - log_error
    - _
    - opendbs
    - log_info
    - free_strlist
    - gpgsql_stepx
    - sqlite3_free
    - show_statistics
    - gpg_error_from_syserror
    - tofu_resume_batch_transaction
    - gpg_error
    - gpg_strerror
    - xfree
    - print_further_info
    - keystr
    - find_next_kbnode
    - release_kbnode
    - get_pubkeyblock
    - add_to_strlist
    - get_trust
    - hexfingerprint
    - tofu_end_batch_update
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t tofu_register_encryption (ctrl_t ctrl,\n                          PKT_public_key
      *pk, strlist_t user_id_list,\n                          int may_ask)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3658,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3665,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 24
    argCount: 2
    argNames:
    - tofu_base
    - wot_base
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3705
      start: 3651
    functionDepth: 0
    functionLinenumber: 3651
    functionLinenumberEnd: 3705
    functionName: tofu_wot_trust_combine
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 1
    functionsReached:
    - log_assert
    linkageType: ''
    returnType: int
    signature: int tofu_wot_trust_combine (int tofu_base, int wot_base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_get_time
      Src: /src/gnupg/g10/tofu.c:3713,1
    - Dst: opendbs
      Src: /src/gnupg/g10/tofu.c:3723,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:3726,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:3727,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3727,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:3727,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/tofu.c:3731,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tofu.c:3734,1
    - Dst: email_from_user_id
      Src: /src/gnupg/g10/tofu.c:3737,1
    - Dst: get_policy
      Src: /src/gnupg/g10/tofu.c:3738,1
    - Dst: show_statistics
      Src: /src/gnupg/g10/tofu.c:3740,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3743,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - ctrl
    - fp
    - pk
    - user_id
    argTypes:
    - ctrl_t
    - estream_t
    - PKT_public_key*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3746
      start: 3709
    functionDepth: 6
    functionLinenumber: 3709
    functionLinenumberEnd: 3746
    functionName: tofu_write_tfs_record
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 1
    functionsReached:
    - gnupg_get_time
    - email_from_user_id
    - show_statistics
    - log_error
    - gpg_error_from_syserror
    - get_policy
    - _
    - gpg_error
    - opendbs
    - gpg_strerror
    - xfree
    - hexfingerprint
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t tofu_write_tfs_record (ctrl_t ctrl, estream_t fp,\n                       PKT_public_key
      *pk, const char *user_id)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_get_time
      Src: /src/gnupg/g10/tofu.c:3767,1
    - Dst: opendbs
      Src: /src/gnupg/g10/tofu.c:3777,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:3780,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3780,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:3781,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/tofu.c:3785,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/tofu.c:3787,1
    - Dst: tofu_begin_batch_update
      Src: /src/gnupg/g10/tofu.c:3789,1
    - Dst: tofu_resume_batch_transaction
      Src: /src/gnupg/g10/tofu.c:3791,1
    - Dst: email_from_user_id
      Src: /src/gnupg/g10/tofu.c:3795,1
    - Dst: get_trust
      Src: /src/gnupg/g10/tofu.c:3801,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3807,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:3812,1
    - Dst: trust_value_to_string
      Src: /src/gnupg/g10/tofu.c:3814,1
    - Dst: show_statistics
      Src: /src/gnupg/g10/tofu.c:3830,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3844,1
    - Dst: show_statistics
      Src: /src/gnupg/g10/tofu.c:3848,1
    - Dst: free_strlist
      Src: /src/gnupg/g10/tofu.c:3853,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3863,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3868,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3869,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3870,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3871,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3876,1
    - Dst: show_warning
      Src: /src/gnupg/g10/tofu.c:3880,1
    - Dst: tofu_end_batch_update
      Src: /src/gnupg/g10/tofu.c:3883,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3885,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:3890,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 61
    argCount: 4
    argNames:
    - ctrl
    - pk
    - user_id_list
    - may_ask
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - strlist_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3897
      start: 3763
    functionDepth: 7
    functionLinenumber: 3763
    functionLinenumberEnd: 3897
    functionName: tofu_get_validity
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 1
    functionsReached:
    - gnupg_get_time
    - log_assert
    - tofu_begin_batch_update
    - email_from_user_id
    - log_error
    - _
    - opendbs
    - free_strlist
    - log_debug
    - show_statistics
    - tofu_resume_batch_transaction
    - gpg_strerror
    - xfree
    - trust_value_to_string
    - log_fatal
    - get_trust
    - show_warning
    - hexfingerprint
    - tofu_end_batch_update
    linkageType: ''
    returnType: int
    signature: "int tofu_get_validity (ctrl_t ctrl, PKT_public_key *pk, strlist_t
      user_id_list,\n\t\t   int may_ask)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_get_time
      Src: /src/gnupg/g10/tofu.c:3910,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3915,1
    - Dst: opendbs
      Src: /src/gnupg/g10/tofu.c:3918,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:3921,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3921,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:3922,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:3923,1
    - Dst: log_debug
      Src: /src/gnupg/g10/tofu.c:3927,1
    - Dst: keystr
      Src: /src/gnupg/g10/tofu.c:3928,1
    - Dst: tofu_policy_str
      Src: /src/gnupg/g10/tofu.c:3928,1
    - Dst: pk_is_primary
      Src: /src/gnupg/g10/tofu.c:3929,1
    - Dst: log_bug
      Src: /src/gnupg/g10/tofu.c:3930,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/tofu.c:3932,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tofu.c:3934,1
    - Dst: begin_transaction
      Src: /src/gnupg/g10/tofu.c:3936,1
    - Dst: email_from_user_id
      Src: /src/gnupg/g10/tofu.c:3952,1
    - Dst: record_binding
      Src: /src/gnupg/g10/tofu.c:3954,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:3958,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:3959,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3960,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3964,1
    - Dst: rollback_transaction
      Src: /src/gnupg/g10/tofu.c:3968,1
    - Dst: end_transaction
      Src: /src/gnupg/g10/tofu.c:3970,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:3972,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - ctrl
    - kb
    - policy
    argTypes:
    - ctrl_t
    - kbnode_t
    - enum tofu_policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3974
      start: 3906
    functionDepth: 5
    functionLinenumber: 3906
    functionLinenumberEnd: 3974
    functionName: tofu_set_policy
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 1
    functionsReached:
    - gnupg_get_time
    - rollback_transaction
    - log_assert
    - end_transaction
    - pk_is_primary
    - email_from_user_id
    - log_error
    - log_bug
    - _
    - opendbs
    - tofu_policy_str
    - log_debug
    - gpg_error_from_syserror
    - begin_transaction
    - gpg_error
    - gpg_strerror
    - xfree
    - keystr
    - record_binding
    - hexfingerprint
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t tofu_set_policy (ctrl_t ctrl, kbnode_t kb, enum tofu_policy
      policy)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_get_time
      Src: /src/gnupg/g10/tofu.c:3987,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:3993,1
    - Dst: pk_is_primary
      Src: /src/gnupg/g10/tofu.c:3993,1
    - Dst: opendbs
      Src: /src/gnupg/g10/tofu.c:3995,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:3998,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:3998,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:3999,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:4000,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/tofu.c:4003,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tofu.c:4005,1
    - Dst: email_from_user_id
      Src: /src/gnupg/g10/tofu.c:4007,1
    - Dst: get_policy
      Src: /src/gnupg/g10/tofu.c:4009,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:4012,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:4013,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:4015,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - ctrl
    - pk
    - user_id
    - policy
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - PKT_user_id*
    - enum tofu_policy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4017
      start: 3983
    functionDepth: 6
    functionLinenumber: 3983
    functionLinenumberEnd: 4017
    functionName: tofu_get_policy
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 1
    functionsReached:
    - pk_is_primary
    - gnupg_get_time
    - email_from_user_id
    - log_error
    - log_assert
    - gpg_error_from_syserror
    - get_policy
    - _
    - gpg_error
    - opendbs
    - gpg_strerror
    - xfree
    - hexfingerprint
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t tofu_get_policy (ctrl_t ctrl, PKT_public_key *pk, PKT_user_id
      *user_id,\n\t\t enum tofu_policy *policy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setup_main_keyids
      Src: /src/gnupg/g10/tofu.c:4029,1
    - Dst: log_assert
      Src: /src/gnupg/g10/tofu.c:4031,1
    - Dst: pk_is_primary
      Src: /src/gnupg/g10/tofu.c:4031,1
    - Dst: opendbs
      Src: /src/gnupg/g10/tofu.c:4033,1
    - Dst: log_error
      Src: /src/gnupg/g10/tofu.c:4036,1
    - Dst: _
      Src: /src/gnupg/g10/tofu.c:4036,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/tofu.c:4037,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:4038,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/tofu.c:4041,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/tofu.c:4043,1
    - Dst: gpgsql_stepx
      Src: /src/gnupg/g10/tofu.c:4045,1
    - Dst: xfree
      Src: /src/gnupg/g10/tofu.c:4051,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/tofu.c:4054,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ctrl
    - kb
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4056
      start: 4019
    functionDepth: 5
    functionLinenumber: 4019
    functionLinenumberEnd: 4056
    functionName: tofu_notice_key_changed
    functionSourceFile: /src/gnupg/g10/tofu.c
    functionUses: 0
    functionsReached:
    - pk_is_primary
    - setup_main_keyids
    - log_error
    - log_assert
    - gpg_error_from_syserror
    - _
    - gpg_error
    - opendbs
    - gpg_strerror
    - xfree
    - hexfingerprint
    - gpgsql_stepx
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t tofu_notice_key_changed (ctrl_t ctrl, kbnode_t kb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getfnc
      Src: /src/gnupg/g10/gpgv.c:135,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/gpgv.c:136,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpgv.c:136,1
    - Dst: strlen
      Src: /src/gnupg/g10/gpgv.c:136,1
    - Dst: strcpy
      Src: /src/gnupg/g10/gpgv.c:137,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/gpgv.c:137,1
    - Dst: stpcpy
      Src: /src/gnupg/g10/gpgv.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - libname
    - (*getfnc)(const char*)
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: make_libversion
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 1
    functionsReached:
    - strlen
    - xmalloc
    - strcpy
    - stpcpy
    - getfnc
    linkageType: ''
    returnType: char
    signature: 'char *

      make_libversion (const char *libname, const char *(*getfnc)(const char*))'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/g10/gpgv.c:155,1
    - Dst: _
      Src: /src/gnupg/g10/gpgv.c:158,1
    - Dst: _
      Src: /src/gnupg/g10/gpgv.c:160,1
    - Dst: make_libversion
      Src: /src/gnupg/g10/gpgv.c:166,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 174
    functionName: my_strusage
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 0
    functionsReached:
    - make_libversion
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage( int level )'
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: early_system_init
      Src: /src/gnupg/g10/gpgv.c:187,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/g10/gpgv.c:188,1
    - Dst: log_set_prefix
      Src: /src/gnupg/g10/gpgv.c:189,1
    - Dst: i18n_init
      Src: /src/gnupg/g10/gpgv.c:192,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/g10/gpgv.c:193,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpgv.c:195,1
    - Dst: gnupg_init_signals
      Src: /src/gnupg/g10/gpgv.c:197,1
    - Dst: tty_no_terminal
      Src: /src/gnupg/g10/gpgv.c:209,1
    - Dst: tty_batchmode
      Src: /src/gnupg/g10/gpgv.c:210,1
    - Dst: dotlock_disable
      Src: /src/gnupg/g10/gpgv.c:211,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpgv.c:212,1
    - Dst: additional_weak_digest
      Src: /src/gnupg/g10/gpgv.c:213,1
    - Dst: gnupg_initialize_compliance
      Src: /src/gnupg/g10/gpgv.c:214,1
    - Dst: gpgrt_argparser
      Src: /src/gnupg/g10/gpgv.c:219,1
    - Dst: gcry_control
      Src: /src/gnupg/g10/gpgv.c:229,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/g10/gpgv.c:232,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g10/gpgv.c:238,1
    - Dst: set_status_fd
      Src: /src/gnupg/g10/gpgv.c:241,1
    - Dst: translate_sys2libc_fd_int
      Src: /src/gnupg/g10/gpgv.c:241,1
    - Dst: log_set_fd
      Src: /src/gnupg/g10/gpgv.c:244,1
    - Dst: translate_sys2libc_fd_int
      Src: /src/gnupg/g10/gpgv.c:244,1
    - Dst: log_set_file
      Src: /src/gnupg/g10/gpgv.c:247,1
    - Dst: log_set_prefix
      Src: /src/gnupg/g10/gpgv.c:248,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/g10/gpgv.c:252,1
    - Dst: additional_weak_digest
      Src: /src/gnupg/g10/gpgv.c:254,1
    - Dst: enable_special_filenames
      Src: /src/gnupg/g10/gpgv.c:258,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/gpgv.c:263,1
    - Dst: xstrconcat
      Src: /src/gnupg/g10/gpgv.c:267,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpgv.c:269,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g10/gpgv.c:274,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/g10/gpgv.c:281,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/g10/gpgv.c:283,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpgv.c:284,1
    - Dst: set_packet_list_mode
      Src: /src/gnupg/g10/gpgv.c:287,1
    - Dst: keydb_add_resource
      Src: /src/gnupg/g10/gpgv.c:291,1
    - Dst: keydb_add_resource
      Src: /src/gnupg/g10/gpgv.c:295,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/g10/gpgv.c:297,1
    - Dst: xcalloc
      Src: /src/gnupg/g10/gpgv.c:299,1
    - Dst: verify_signatures
      Src: /src/gnupg/g10/gpgv.c:301,1
    - Dst: log_error
      Src: /src/gnupg/g10/gpgv.c:302,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/gpgv.c:302,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/gpgv.c:304,1
    - Dst: xfree
      Src: /src/gnupg/g10/gpgv.c:305,1
    - Dst: g10_exit
      Src: /src/gnupg/g10/gpgv.c:308,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 103
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 178
    functionDepth: 4
    functionLinenumber: 178
    functionLinenumberEnd: 310
    functionName: main
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 4
    functionsReached:
    - init_common_subsystems
    - log_set_fd
    - gpgrt_argparser
    - translate_sys2libc_fd_int
    - set_status_fd
    - xstrdup
    - tty_batchmode
    - gpgrt_set_strusage
    - gnupg_init_signals
    - tty_no_terminal
    - gnupg_set_homedir
    - log_error
    - early_system_init
    - log_set_prefix
    - additional_weak_digest
    - gnupg_initialize_compliance
    - log_get_errorcount
    - g10_exit
    - parse_debug_flag
    - FREE_STRLIST
    - gcry_control
    - keydb_add_resource
    - verify_signatures
    - xfree
    - gpg_strerror
    - gpgrt_argparse
    - set_packet_list_mode
    - log_set_file
    - append_to_strlist
    - i18n_init
    - xstrconcat
    - xcalloc
    - dotlock_disable
    - keydb_release
    - enable_special_filenames
    linkageType: ''
    returnType: int
    signature: int main( int argc, char **argv )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_get_errorcount
      Src: /src/gnupg/g10/gpgv.c:318,1
    - Dst: exit
      Src: /src/gnupg/g10/gpgv.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 326
    functionName: g10_exit
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 31
    functionsReached:
    - log_get_errorcount
    - exit
    linkageType: ''
    returnType: void
    signature: void g10_exit (int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctrl
    - kblock
    - pk
    - sig
    argTypes:
    - ctrl_t
    - kbnode_t
    - PKT_public_key*
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 342
    functionName: check_signatures_trust
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t check_signatures_trust (ctrl_t ctrl, kbnode_t kblock,\n
      \                       PKT_public_key *pk, PKT_signature *sig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - ctrl
    - trust_model
    - created
    - nextcheck
    - marginals
    - completes
    - cert_depth
    - min_cert_level
    argTypes:
    - ctrl_t
    - byte*
    - ulong*
    - ulong*
    - byte*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 358
    functionName: read_trust_options
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void read_trust_options (ctrl_t ctrl,\n                    byte *trust_model,
      ulong *created, ulong *nextcheck,\n                    byte *marginals, byte
      *completes, byte *cert_depth,\n                    byte *min_cert_level)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - pk
    argTypes:
    - ctrl_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: cache_disabled_value
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cache_disabled_value (ctrl_t ctrl, PKT_public_key *pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: check_trustdb_stale
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void check_trustdb_stale (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctrl
    - kb
    - pk
    - uid
    argTypes:
    - ctrl_t
    - kbnode_t
    - PKT_public_key*
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 388
    functionName: get_validity_info
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int get_validity_info (ctrl_t ctrl, kbnode_t kb, PKT_public_key *pk,\n
      \                  PKT_user_id *uid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - ctrl
    - kb
    - pk
    - uid
    - sig
    - may_ask
    argTypes:
    - ctrl_t
    - kbnode_t
    - PKT_public_key*
    - PKT_user_id*
    - PKT_signature*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 401
    functionName: get_validity
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int get_validity (ctrl_t ctrl, kbnode_t kb, PKT_public_key
      *pk, PKT_user_id *uid,\n              PKT_signature *sig, int may_ask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: trust_value_to_string
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      trust_value_to_string (unsigned int value)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - key
    - uid
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 417
    functionName: uid_trust_string_fixed
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      uid_trust_string_fixed (ctrl_t ctrl, PKT_public_key *key, PKT_user_id *uid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - pk
    - no_create
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: get_ownertrust_info
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_ownertrust_info (ctrl_t ctrl, PKT_public_key *pk, int no_create)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - pk
    argTypes:
    - ctrl_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 434
    functionName: get_ownertrust
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_ownertrust (ctrl_t ctrl, PKT_public_key *pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - pk
    - no_create
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 443
    functionName: get_ownertrust_string
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_ownertrust_string (ctrl_t ctrl, PKT_public_key *pk, int no_create)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - spec
    argTypes:
    - struct keyserver_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 455
    functionName: keyserver_match
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct keyserver_spec
    signature: 'struct keyserver_spec *

      keyserver_match (struct keyserver_spec *spec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 462
    functionName: keyserver_any_configured
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int keyserver_any_configured (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctrl
    - keyid
    - keyserver
    - flags
    argTypes:
    - ctrl_t
    - u32*
    - struct keyserver_spec*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 474
    functionName: keyserver_import_keyid
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int keyserver_import_keyid (ctrl_t ctrl,\n                        u32
      *keyid,struct keyserver_spec *keyserver,\n                        unsigned int
      flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ctrl
    - fprint
    - fprint_len
    - keyserver
    - flags
    argTypes:
    - ctrl_t
    - byte*
    - size_t
    - struct keyserver_spec*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 486
    functionName: keyserver_import_fpr
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int keyserver_import_fpr (ctrl_t ctrl, const byte *fprint,size_t fprint_len,\n\t\t
      \     struct keyserver_spec *keyserver, unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - fprint
    - fprint_len
    argTypes:
    - ctrl_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 496
    functionName: keyserver_import_fpr_ntds
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int keyserver_import_fpr_ntds (ctrl_t ctrl,\n                           const
      byte *fprint, size_t fprint_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ctrl
    - name
    - dane_mode
    - fpr
    - fpr_len
    argTypes:
    - ctrl_t
    - char*
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 508
    functionName: keyserver_import_cert
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int keyserver_import_cert (ctrl_t ctrl, const char *name, int dane_mode,\n
      \                      unsigned char **fpr,size_t *fpr_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ctrl
    - name
    - flags
    - fpr
    - fpr_len
    argTypes:
    - ctrl_t
    - char*
    - unsigned int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 520
    functionName: keyserver_import_wkd
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keyserver_import_wkd (ctrl_t ctrl, const char *name, unsigned
      int flags,\n                      unsigned char **fpr, size_t *fpr_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - ctrl
    - mbox
    - fpr
    - fprlen
    - keyserver
    - flags
    argTypes:
    - ctrl_t
    - char*
    - unsigned char**
    - size_t*
    - struct keyserver_spec*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 534
    functionName: keyserver_import_mbox
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keyserver_import_mbox (ctrl_t ctrl, const char *mbox,\n
      \                      unsigned char **fpr, size_t *fprlen,\n                       struct
      keyserver_spec *keyserver, unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctrl
    - mbox
    - fpr
    - fprlen
    argTypes:
    - ctrl_t
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 545
    functionName: keyserver_import_ntds
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int keyserver_import_ntds (ctrl_t ctrl, const char *mbox,\n                       unsigned
      char **fpr, size_t *fprlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 552
    functionName: keyserver_import_ldap
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int keyserver_import_ldap (const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ctrl
    - fname
    - buffer
    - buflen
    - r_keyblock
    argTypes:
    - ctrl_t
    - char*
    - void*
    - size_t
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 566
    functionName: read_key_from_file_or_buffer
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t read_key_from_file_or_buffer (ctrl_t ctrl, const char
      *fname,\n                              const void *buffer, size_t buflen,\n
      \                             kbnode_t *r_keyblock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 574
    functionName: import_included_key_block
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t import_included_key_block (ctrl_t ctrl, kbnode_t keyblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - k
    - dek
    argTypes:
    - ctrl_t
    - struct seskey_enc_list*
    - DEK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 587
    functionName: get_session_key
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_session_key (ctrl_t ctrl, struct seskey_enc_list *k,
      DEK *dek)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dek
    - string
    argTypes:
    - DEK*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 596
    functionName: get_override_session_key
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_override_session_key (DEK *dek, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ctrl
    - procctx
    - ed
    - dek
    - compliance_error
    argTypes:
    - ctrl_t
    - void*
    - PKT_encrypted*
    - DEK*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 609
    functionName: decrypt_data
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int decrypt_data (ctrl_t ctrl, void *procctx, PKT_encrypted *ed, DEK
      *dek,\n              int *compliance_error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keyword
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 619
    functionName: display_online_help
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void display_online_help (const char *keyword)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pk
    - n
    argTypes:
    - PKT_public_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 630
    functionName: check_secret_key
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_secret_key (PKT_public_key *pk, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 7
    argNames:
    - cipher_algo
    - s2k
    - create
    - nocache
    - tmp
    - flags
    - canceled
    argTypes:
    - int
    - STRING2KEY*
    - int
    - int
    - char*
    - unsigned int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 649
    functionName: passphrase_to_dek
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: DEK
    signature: "DEK *\npassphrase_to_dek (int cipher_algo, STRING2KEY *s2k, int create,
      int nocache,\n                   const char *tmp, unsigned int flags, int *canceled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cacheid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 655
    functionName: passphrase_clear_cache
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void passphrase_clear_cache (const char *cacheid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - PKT_signature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 662
    functionName: parse_preferred_keyserver
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct keyserver_spec
    signature: 'struct keyserver_spec *

      parse_preferred_keyserver(PKT_signature *sig)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - string
    - require_scheme
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 670
    functionName: parse_keyserver_uri
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: keyserver_spec_t
    signature: keyserver_spec_t parse_keyserver_uri (const char *string, int require_scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keyserver
    argTypes:
    - struct keyserver_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 676
    functionName: free_keyserver_spec
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void free_keyserver_spec (struct keyserver_spec *keyserver)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ctrl
    - attrs
    - count
    - pk
    - uid
    argTypes:
    - ctrl_t
    - struct user_attribute*
    - int
    - PKT_public_key*
    - PKT_user_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 688
    functionName: show_photos
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void show_photos (ctrl_t ctrl, const struct user_attribute *attrs,
      int count,\n             PKT_public_key *pk, PKT_user_id *uid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - attr
    - type
    - len
    argTypes:
    - struct user_attribute*
    - byte*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 697
    functionName: parse_image_header
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parse_image_header (const struct user_attribute *attr, byte *type,
      u32 *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - type
    - string
    argTypes:
    - byte
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 705
    functionName: image_type_to_string
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      image_type_to_string (byte type, int string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - info
    argTypes:
    - char*
    - struct agent_card_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 714
    functionName: agent_scd_getattr
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int agent_scd_getattr (const char *name, struct agent_card_info_s *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 721
    functionName: dotlock_disable
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dotlock_disable (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - file_to_lock
    - flags
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 729
    functionName: dotlock_create
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: dotlock_t
    signature: dotlock_t dotlock_create (const char *file_to_lock, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - dotlock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 735
    functionName: dotlock_destroy
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dotlock_destroy (dotlock_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - h
    - timeout
    argTypes:
    - dotlock_t
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 743
    functionName: dotlock_take
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dotlock_take (dotlock_t h, long timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - dotlock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 750
    functionName: dotlock_release
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dotlock_release (dotlock_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 755
    functionName: dotlock_remove_lockfiles
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dotlock_remove_lockfiles (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - pk
    argTypes:
    - ctrl_t
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 763
    functionName: agent_probe_secret_key
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int agent_probe_secret_key (ctrl_t ctrl, PKT_public_key *pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/gpgv.c:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - keyblock
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 771
    functionName: agent_probe_any_secret_key
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 5
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_probe_any_secret_key (ctrl_t ctrl, kbnode_t keyblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/gpgv.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctrl
    - hexkeygrip
    - r_serialno
    - r_cleartext
    argTypes:
    - ctrl_t
    - char*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 782
    functionName: agent_get_keyinfo
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 8
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_get_keyinfo (ctrl_t ctrl, const char *hexkeygrip,\n
      \                  char **r_serialno, int *r_cleartext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/gpgv.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 9
    argNames:
    - ctrl
    - keyspec
    - options
    - prefix
    - prefixlen
    - stats
    - r_keyblock
    - r_data
    - r_datalen
    argTypes:
    - ctrl_t
    - char*
    - unsigned int
    - void*
    - size_t
    - export_stats_t
    - kbnode_t*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 801
    functionName: export_pubkey_buffer
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 2
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t export_pubkey_buffer (ctrl_t ctrl, const char *keyspec,
      unsigned int options,\n                      const void *prefix, size_t prefixlen,\n
      \                     export_stats_t stats,\n                      kbnode_t
      *r_keyblock, void **r_data, size_t *r_datalen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/gpgv.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctrl
    - fp
    - pk
    - user_id
    argTypes:
    - ctrl_t
    - estream_t
    - PKT_public_key*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 812
    functionName: tofu_write_tfs_record
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 1
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t tofu_write_tfs_record (ctrl_t ctrl, estream_t fp,\n                       PKT_public_key
      *pk, const char *user_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/gpgv.c:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctrl
    - pk
    - user_id
    - policy
    argTypes:
    - ctrl_t
    - PKT_public_key*
    - PKT_user_id*
    - enum tofu_policy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 823
    functionName: tofu_get_policy
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 1
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t tofu_get_policy (ctrl_t ctrl, PKT_public_key *pk, PKT_user_id
      *user_id,\n\t\t enum tofu_policy *policy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - policy
    argTypes:
    - enum tofu_policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 831
    functionName: tofu_policy_str
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      tofu_policy_str (enum tofu_policy policy)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 837
    functionName: tofu_begin_batch_update
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tofu_begin_batch_update (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 843
    functionName: tofu_end_batch_update
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tofu_end_batch_update (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - kb
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 852
    functionName: tofu_notice_key_changed
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t tofu_notice_key_changed (ctrl_t ctrl, kbnode_t kb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - code
    - freeme
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 861
    functionName: revocation_reason_code_to_str
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      revocation_reason_code_to_str (int code, char **freeme)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - sig
    - r_reason
    - r_comment
    - r_commentlen
    argTypes:
    - PKT_signature*
    - char**
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 875
    functionName: get_revocation_reason
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int get_revocation_reason (PKT_signature *sig, char **r_reason,\n
      \                      char **r_comment, size_t *r_commentlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cookie
    - propname
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 883
    functionName: impex_filter_getval
    functionSourceFile: /src/gnupg/g10/gpgv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      impex_filter_getval (void *cookie, const char *propname)'
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: IS_UID_SIG
      Src: /src/gnupg/g10/key-clean.c:77,1
    - Dst: IS_UID_REV
      Src: /src/gnupg/g10/key-clean.c:77,1
    - Dst: is_in_klist
      Src: /src/gnupg/g10/key-clean.c:83,1
    - Dst: check_key_signature
      Src: /src/gnupg/g10/key-clean.c:85,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/key-clean.c:89,1
    - Dst: IS_UID_SIG
      Src: /src/gnupg/g10/key-clean.c:147,1
    - Dst: IS_UID_SIG
      Src: /src/gnupg/g10/key-clean.c:151,1
    - Dst: IS_UID_SIG
      Src: /src/gnupg/g10/key-clean.c:163,1
    - Dst: IS_UID_SIG
      Src: /src/gnupg/g10/key-clean.c:167,1
    - Dst: IS_UID_SIG
      Src: /src/gnupg/g10/key-clean.c:192,1
    - Dst: parse_sig_subpkt
      Src: /src/gnupg/g10/key-clean.c:203,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/g10/key-clean.c:204,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 73
    argCount: 7
    argNames:
    - ctrl
    - keyblock
    - uidnode
    - main_kid
    - klist
    - curtime
    - next_expire
    argTypes:
    - ctrl_t
    - kbnode_t
    - kbnode_t
    - u32*
    - struct key_item*
    - u32
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 52
    functionDepth: 6
    functionLinenumber: 52
    functionLinenumberEnd: 216
    functionName: mark_usable_uid_certs
    functionSourceFile: /src/gnupg/g10/key-clean.c
    functionUses: 1
    functionsReached:
    - buf32_to_u32
    - parse_sig_subpkt
    - IS_UID_REV
    - is_in_klist
    - gpg_err_code
    - IS_UID_SIG
    - check_key_signature
    linkageType: ''
    returnType: void
    signature: "void mark_usable_uid_certs (ctrl_t ctrl, kbnode_t keyblock, kbnode_t
      uidnode,\n                       u32 *main_kid, struct key_item *klist,\n                       u32
      curtime, u32 *next_expire)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: is_trusted_key_sig
    functionSourceFile: /src/gnupg/g10/key-clean.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_trusted_key_sig (kbnode_t node)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/key-clean.c:240,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/key-clean.c:243,1
    - Dst: mark_usable_uid_certs
      Src: /src/gnupg/g10/key-clean.c:248,1
    - Dst: is_trusted_key_sig
      Src: /src/gnupg/g10/key-clean.c:276,1
    - Dst: log_info
      Src: /src/gnupg/g10/key-clean.c:306,1
    - Dst: keystr
      Src: /src/gnupg/g10/key-clean.c:307,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/key-clean.c:313,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 5
    argNames:
    - ctrl
    - keyblock
    - uidnode
    - noisy
    - options
    argTypes:
    - ctrl_t
    - kbnode_t
    - kbnode_t
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 232
    functionDepth: 7
    functionLinenumber: 232
    functionLinenumberEnd: 318
    functionName: clean_sigs_from_uid
    functionSourceFile: /src/gnupg/g10/key-clean.c
    functionUses: 0
    functionsReached:
    - log_assert
    - mark_usable_uid_certs
    - keyid_from_pk
    - is_trusted_key_sig
    - log_info
    - delete_kbnode
    - keystr
    linkageType: ''
    returnType: int
    signature: "int clean_sigs_from_uid (ctrl_t ctrl, kbnode_t keyblock, kbnode_t
      uidnode,\n                     int noisy, unsigned int options)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/key-clean.c:342,1
    - Dst: log_assert
      Src: /src/gnupg/g10/key-clean.c:344,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/key-clean.c:359,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/key-clean.c:368,1
    - Dst: _
      Src: /src/gnupg/g10/key-clean.c:371,1
    - Dst: _
      Src: /src/gnupg/g10/key-clean.c:373,1
    - Dst: _
      Src: /src/gnupg/g10/key-clean.c:375,1
    - Dst: log_info
      Src: /src/gnupg/g10/key-clean.c:377,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/key-clean.c:378,1
    - Dst: xfree
      Src: /src/gnupg/g10/key-clean.c:381,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - keyblock
    - uidnode
    - noisy
    argTypes:
    - kbnode_t
    - kbnode_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 385
    functionName: clean_uid_from_key
    functionSourceFile: /src/gnupg/g10/key-clean.c
    functionUses: 0
    functionsReached:
    - log_assert
    - keystr_from_pk
    - _
    - log_info
    - xfree
    - delete_kbnode
    - utf8_to_native
    linkageType: ''
    returnType: int
    signature: int clean_uid_from_key (kbnode_t keyblock, kbnode_t uidnode, int noisy)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/key-clean.c:397,1
    - Dst: log_assert
      Src: /src/gnupg/g10/key-clean.c:399,1
    - Dst: clean_uid_from_key
      Src: /src/gnupg/g10/key-clean.c:409,1
    - Dst: clean_sigs_from_uid
      Src: /src/gnupg/g10/key-clean.c:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 7
    argNames:
    - ctrl
    - keyblock
    - uidnode
    - noisy
    - options
    - uids_cleaned
    - sigs_cleaned
    argTypes:
    - ctrl_t
    - kbnode_t
    - kbnode_t
    - int
    - unsigned int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 390
    functionDepth: 8
    functionLinenumber: 390
    functionLinenumberEnd: 413
    functionName: clean_one_uid
    functionSourceFile: /src/gnupg/g10/key-clean.c
    functionUses: 1
    functionsReached:
    - clean_sigs_from_uid
    - clean_uid_from_key
    - log_assert
    linkageType: ''
    returnType: void
    signature: "void clean_one_uid (ctrl_t ctrl, kbnode_t keyblock, kbnode_t uidnode,\n
      \              int noisy, unsigned int options,\n               int *uids_cleaned,
      int *sigs_cleaned)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clean_one_uid
      Src: /src/gnupg/g10/key-clean.c:431,1
    - Dst: log_assert
      Src: /src/gnupg/g10/key-clean.c:437,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 6
    argNames:
    - ctrl
    - keyblock
    - noisy
    - options
    - uids_cleaned
    - sigs_cleaned
    argTypes:
    - ctrl_t
    - kbnode_t
    - int
    - unsigned int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 419
    functionDepth: 9
    functionLinenumber: 419
    functionLinenumberEnd: 439
    functionName: clean_all_uids
    functionSourceFile: /src/gnupg/g10/key-clean.c
    functionUses: 2
    functionsReached:
    - clean_one_uid
    - log_assert
    linkageType: ''
    returnType: void
    signature: "void clean_all_uids (ctrl_t ctrl, kbnode_t keyblock, int noisy, unsigned
      int options,\n                int *uids_cleaned, int *sigs_cleaned)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/key-clean.c:454,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-clean.c:458,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/key-clean.c:459,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-clean.c:469,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-clean.c:476,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-clean.c:492,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-clean.c:500,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/key-clean.c:502,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/key-clean.c:507,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 4
    argNames:
    - ctrl
    - subkeynode
    - noisy
    - clean_level
    argTypes:
    - ctrl_t
    - kbnode_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 443
    functionDepth: 5
    functionLinenumber: 443
    functionLinenumberEnd: 510
    functionName: clean_one_subkey
    functionSourceFile: /src/gnupg/g10/key-clean.c
    functionUses: 0
    functionsReached:
    - keyid_from_pk
    - delete_kbnode
    - log_debug
    - log_assert
    linkageType: ''
    returnType: int
    signature: int clean_one_subkey (ctrl_t ctrl, kbnode_t subkeynode, int noisy,
      int clean_level)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/key-clean.c:527,1
    - Dst: log_debug
      Src: /src/gnupg/g10/key-clean.c:531,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/key-clean.c:532,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/key-clean.c:542,1
    - Dst: IS_SUBKEY_SIG
      Src: /src/gnupg/g10/key-clean.c:544,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/key-clean.c:560,1
    - Dst: IS_SUBKEY_SIG
      Src: /src/gnupg/g10/key-clean.c:562,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/key-clean.c:565,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 20
    argCount: 2
    argNames:
    - ctrl
    - subkeynode
    argTypes:
    - ctrl_t
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 517
    functionDepth: 5
    functionLinenumber: 517
    functionLinenumberEnd: 571
    functionName: clean_one_subkey_dupsigs
    functionSourceFile: /src/gnupg/g10/key-clean.c
    functionUses: 0
    functionsReached:
    - log_assert
    - keyid_from_pk
    - IS_SUBKEY_SIG
    - is_deleted_kbnode
    - delete_kbnode
    - log_debug
    linkageType: ''
    returnType: int
    signature: int clean_one_subkey_dupsigs (ctrl_t ctrl, kbnode_t subkeynode)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/g10/key-clean.c:586,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/key-clean.c:587,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/key-clean.c:590,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/key-clean.c:600,1
    - Dst: IS_SUBKEY_SIG
      Src: /src/gnupg/g10/key-clean.c:603,1
    - Dst: IS_SUBKEY_REV
      Src: /src/gnupg/g10/key-clean.c:604,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/key-clean.c:606,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/key-clean.c:618,1
    - Dst: clean_one_subkey
      Src: /src/gnupg/g10/key-clean.c:623,1
    - Dst: is_deleted_kbnode
      Src: /src/gnupg/g10/key-clean.c:634,1
    - Dst: clean_one_subkey_dupsigs
      Src: /src/gnupg/g10/key-clean.c:639,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 37
    argCount: 6
    argNames:
    - ctrl
    - keyblock
    - noisy
    - clean_level
    - subkeys_cleaned
    - sigs_cleaned
    argTypes:
    - ctrl_t
    - kbnode_t
    - int
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 578
    functionDepth: 6
    functionLinenumber: 578
    functionLinenumberEnd: 645
    functionName: clean_all_subkeys
    functionSourceFile: /src/gnupg/g10/key-clean.c
    functionUses: 2
    functionsReached:
    - clean_one_subkey
    - keyid_from_pk
    - IS_SUBKEY_SIG
    - IS_SUBKEY_REV
    - is_deleted_kbnode
    - delete_kbnode
    - log_debug
    - clean_one_subkey_dupsigs
    linkageType: ''
    returnType: void
    signature: "void clean_all_subkeys (ctrl_t ctrl, kbnode_t keyblock, int noisy,
      int clean_level,\n                   int *subkeys_cleaned, int *sigs_cleaned)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_write
      Src: /src/gnupg/g10/cipher-aead.c:47,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/cipher-aead.c:49,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/cipher-aead.c:50,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/cipher-aead.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - a
    - buffer
    - buflen
    argTypes:
    - iobuf_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: my_iobuf_write
    functionSourceFile: /src/gnupg/g10/cipher-aead.c
    functionUses: 0
    functionsReached:
    - iobuf_error
    - gpg_error
    - gpg_err_code
    - iobuf_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t my_iobuf_write (iobuf_t a, const void *buffer, size_t buflen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/g10/cipher-aead.c:73,1
    - Dst: memcpy
      Src: /src/gnupg/g10/cipher-aead.c:78,1
    - Dst: BUG
      Src: /src/gnupg/g10/cipher-aead.c:83,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/cipher-aead.c:96,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/g10/cipher-aead.c:97,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/cipher-aead.c:126,1
    - Dst: gcry_cipher_authenticate
      Src: /src/gnupg/g10/cipher-aead.c:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 2
    argNames:
    - cfx
    - final
    argTypes:
    - cipher_filter_context_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 128
    functionName: set_nonce_and_ad
    functionSourceFile: /src/gnupg/g10/cipher-aead.c
    functionUses: 1
    functionsReached:
    - gcry_cipher_authenticate
    - log_printhex
    - gcry_cipher_setiv
    - BUG
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t set_nonce_and_ad (cipher_filter_context_t *cfx, int final)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/cipher-aead.c:141,1
    - Dst: openpgp_cipher_get_algo_blklen
      Src: /src/gnupg/g10/cipher-aead.c:143,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/cipher-aead.c:145,1
    - Dst: openpgp_aead_algo_info
      Src: /src/gnupg/g10/cipher-aead.c:147,1
    - Dst: log_assert
      Src: /src/gnupg/g10/cipher-aead.c:151,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/cipher-aead.c:157,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/cipher-aead.c:159,1
    - Dst: memset
      Src: /src/gnupg/g10/cipher-aead.c:161,1
    - Dst: init_packet
      Src: /src/gnupg/g10/cipher-aead.c:169,1
    - Dst: log_debug
      Src: /src/gnupg/g10/cipher-aead.c:174,1
    - Dst: print_cipher_algo_note
      Src: /src/gnupg/g10/cipher-aead.c:177,1
    - Dst: build_packet
      Src: /src/gnupg/g10/cipher-aead.c:179,1
    - Dst: log_bug
      Src: /src/gnupg/g10/cipher-aead.c:180,1
    - Dst: log_assert
      Src: /src/gnupg/g10/cipher-aead.c:182,1
    - Dst: gcry_randomize
      Src: /src/gnupg/g10/cipher-aead.c:183,1
    - Dst: my_iobuf_write
      Src: /src/gnupg/g10/cipher-aead.c:184,1
    - Dst: openpgp_cipher_open
      Src: /src/gnupg/g10/cipher-aead.c:188,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/cipher-aead.c:196,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/g10/cipher-aead.c:197,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - cfx
    - a
    argTypes:
    - cipher_filter_context_t*
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 205
    functionName: write_header
    functionSourceFile: /src/gnupg/g10/cipher-aead.c
    functionUses: 11
    functionsReached:
    - openpgp_cipher_open
    - print_cipher_algo_note
    - log_printhex
    - gcry_cipher_setkey
    - log_assert
    - gpg_error_from_syserror
    - init_packet
    - log_bug
    - log_fatal
    - my_iobuf_write
    - build_packet
    - memset
    - openpgp_aead_algo_info
    - gcry_randomize
    - xtrymalloc
    - log_debug
    - openpgp_cipher_get_algo_blklen
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_header (cipher_filter_context_t *cfx, iobuf_t a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_gettag
      Src: /src/gnupg/g10/cipher-aead.c:215,1
    - Dst: my_iobuf_write
      Src: /src/gnupg/g10/cipher-aead.c:218,1
    - Dst: log_error
      Src: /src/gnupg/g10/cipher-aead.c:224,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/cipher-aead.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - cfx
    - a
    argTypes:
    - cipher_filter_context_t*
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 226
    functionName: write_auth_tag
    functionSourceFile: /src/gnupg/g10/cipher-aead.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_gettag
    - gpg_strerror
    - my_iobuf_write
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_auth_tag (cipher_filter_context_t *cfx, iobuf_t a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_nonce_and_ad
      Src: /src/gnupg/g10/cipher-aead.c:236,1
    - Dst: gcry_cipher_final
      Src: /src/gnupg/g10/cipher-aead.c:240,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/g10/cipher-aead.c:243,1
    - Dst: write_auth_tag
      Src: /src/gnupg/g10/cipher-aead.c:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - cfx
    - a
    argTypes:
    - cipher_filter_context_t*
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 230
    functionDepth: 3
    functionLinenumber: 230
    functionLinenumberEnd: 251
    functionName: write_final_chunk
    functionSourceFile: /src/gnupg/g10/cipher-aead.c
    functionUses: 0
    functionsReached:
    - write_auth_tag
    - set_nonce_and_ad
    - gcry_cipher_encrypt
    - gcry_cipher_final
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_final_chunk (cipher_filter_context_t *cfx, iobuf_t
      a)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/g10/cipher-aead.c:264,1
    - Dst: log_debug
      Src: /src/gnupg/g10/cipher-aead.c:296,1
    - Dst: log_assert
      Src: /src/gnupg/g10/cipher-aead.c:317,1
    - Dst: memcpy
      Src: /src/gnupg/g10/cipher-aead.c:326,1
    - Dst: log_debug
      Src: /src/gnupg/g10/cipher-aead.c:336,1
    - Dst: log_debug
      Src: /src/gnupg/g10/cipher-aead.c:343,1
    - Dst: set_nonce_and_ad
      Src: /src/gnupg/g10/cipher-aead.c:344,1
    - Dst: gcry_cipher_final
      Src: /src/gnupg/g10/cipher-aead.c:350,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/cipher-aead.c:354,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/cipher-aead.c:356,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/g10/cipher-aead.c:364,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/cipher-aead.c:369,1
    - Dst: my_iobuf_write
      Src: /src/gnupg/g10/cipher-aead.c:370,1
    - Dst: log_debug
      Src: /src/gnupg/g10/cipher-aead.c:380,1
    - Dst: write_auth_tag
      Src: /src/gnupg/g10/cipher-aead.c:382,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 89
    argCount: 4
    argNames:
    - cfx
    - a
    - buf
    - size
    argTypes:
    - cipher_filter_context_t*
    - iobuf_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 396
    functionName: do_flush
    functionSourceFile: /src/gnupg/g10/cipher-aead.c
    functionUses: 0
    functionsReached:
    - log_printhex
    - log_assert
    - write_auth_tag
    - my_iobuf_write
    - gcry_cipher_encrypt
    - set_nonce_and_ad
    - memcpy
    - gcry_cipher_final
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_flush (cipher_filter_context_t *cfx, iobuf_t a, byte
      *buf, size_t size)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/g10/cipher-aead.c:406,1
    - Dst: log_debug
      Src: /src/gnupg/g10/cipher-aead.c:411,1
    - Dst: log_debug
      Src: /src/gnupg/g10/cipher-aead.c:416,1
    - Dst: set_nonce_and_ad
      Src: /src/gnupg/g10/cipher-aead.c:417,1
    - Dst: gcry_cipher_final
      Src: /src/gnupg/g10/cipher-aead.c:422,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/g10/cipher-aead.c:423,1
    - Dst: my_iobuf_write
      Src: /src/gnupg/g10/cipher-aead.c:427,1
    - Dst: log_debug
      Src: /src/gnupg/g10/cipher-aead.c:436,1
    - Dst: write_auth_tag
      Src: /src/gnupg/g10/cipher-aead.c:438,1
    - Dst: log_debug
      Src: /src/gnupg/g10/cipher-aead.c:447,1
    - Dst: write_final_chunk
      Src: /src/gnupg/g10/cipher-aead.c:448,1
    - Dst: xfree
      Src: /src/gnupg/g10/cipher-aead.c:451,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/g10/cipher-aead.c:453,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - cfx
    - a
    argTypes:
    - cipher_filter_context_t*
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 400
    functionDepth: 4
    functionLinenumber: 400
    functionLinenumberEnd: 456
    functionName: do_free
    functionSourceFile: /src/gnupg/g10/cipher-aead.c
    functionUses: 0
    functionsReached:
    - write_final_chunk
    - write_auth_tag
    - my_iobuf_write
    - gcry_cipher_encrypt
    - xfree
    - gcry_cipher_close
    - set_nonce_and_ad
    - gcry_cipher_final
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_free (cipher_filter_context_t *cfx, iobuf_t a)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: write_header
      Src: /src/gnupg/g10/cipher-aead.c:476,1
    - Dst: do_flush
      Src: /src/gnupg/g10/cipher-aead.c:479,1
    - Dst: do_free
      Src: /src/gnupg/g10/cipher-aead.c:483,1
    - Dst: mem2str
      Src: /src/gnupg/g10/cipher-aead.c:487,1
    - Dst: write_status_printf
      Src: /src/gnupg/g10/cipher-aead.c:491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - opaque
    - control
    - a
    - buf
    - ret_len
    argTypes:
    - void*
    - int
    - iobuf_t
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 462
    functionDepth: 5
    functionLinenumber: 462
    functionLinenumberEnd: 496
    functionName: cipher_filter_aead
    functionSourceFile: /src/gnupg/g10/cipher-aead.c
    functionUses: 0
    functionsReached:
    - write_header
    - write_status_printf
    - do_flush
    - mem2str
    - do_free
    linkageType: ''
    returnType: int
    signature: "int cipher_filter_aead (void *opaque, int control,\n                    iobuf_t
      a, byte *buf, size_t *ret_len)"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: keydb_new
      Src: /src/gnupg/g10/delkey.c:69,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/delkey.c:71,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/delkey.c:74,1
    - Dst: keydb_lock
      Src: /src/gnupg/g10/delkey.c:78,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/delkey.c:81,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/delkey.c:86,1
    - Dst: log_error
      Src: /src/gnupg/g10/delkey.c:89,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:89,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/delkey.c:89,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/delkey.c:90,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/delkey.c:95,1
    - Dst: log_error
      Src: /src/gnupg/g10/delkey.c:98,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:98,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/delkey.c:98,1
    - Dst: find_kbnode
      Src: /src/gnupg/g10/delkey.c:103,1
    - Dst: log_error
      Src: /src/gnupg/g10/delkey.c:106,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/delkey.c:107,1
    - Dst: walk_kbnode
      Src: /src/gnupg/g10/delkey.c:117,1
    - Dst: exact_subkey_match_p
      Src: /src/gnupg/g10/delkey.c:122,1
    - Dst: log_error
      Src: /src/gnupg/g10/delkey.c:127,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/delkey.c:128,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/delkey.c:139,1
    - Dst: have_secret_key_with_kid
      Src: /src/gnupg/g10/delkey.c:143,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/delkey.c:146,1
    - Dst: have_secret_key_with_kid
      Src: /src/gnupg/g10/delkey.c:153,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/delkey.c:155,1
    - Dst: log_error
      Src: /src/gnupg/g10/delkey.c:156,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:156,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/delkey.c:157,1
    - Dst: log_error
      Src: /src/gnupg/g10/delkey.c:166,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:166,1
    - Dst: log_error
      Src: /src/gnupg/g10/delkey.c:172,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:172,1
    - Dst: log_info
      Src: /src/gnupg/g10/delkey.c:173,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:173,1
    - Dst: log_error
      Src: /src/gnupg/g10/delkey.c:179,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:179,1
    - Dst: log_info
      Src: /src/gnupg/g10/delkey.c:180,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:180,1
    - Dst: print_key_info
      Src: /src/gnupg/g10/delkey.c:184,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/delkey.c:185,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/delkey.c:190,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:190,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/delkey.c:195,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:195,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/delkey.c:200,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:200,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/delkey.c:205,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:205,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/delkey.c:210,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/delkey.c:212,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:214,1
    - Dst: cpr_enabled
      Src: /src/gnupg/g10/delkey.c:216,1
    - Dst: cpr_get_answer_is_yes
      Src: /src/gnupg/g10/delkey.c:222,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:224,1
    - Dst: setup_main_keyids
      Src: /src/gnupg/g10/delkey.c:240,1
    - Dst: walk_kbnode
      Src: /src/gnupg/g10/delkey.c:241,1
    - Dst: agent_probe_secret_key
      Src: /src/gnupg/g10/delkey.c:250,1
    - Dst: gpg_format_keydesc
      Src: /src/gnupg/g10/delkey.c:253,1
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/delkey.c:256,1
    - Dst: agent_delete_key
      Src: /src/gnupg/g10/delkey.c:263,1
    - Dst: xfree
      Src: /src/gnupg/g10/delkey.c:265,1
    - Dst: xfree
      Src: /src/gnupg/g10/delkey.c:266,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/delkey.c:269,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/delkey.c:270,1
    - Dst: log_error
      Src: /src/gnupg/g10/delkey.c:271,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:271,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:273,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:273,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/delkey.c:274,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/delkey.c:277,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/delkey.c:278,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/delkey.c:280,1
    - Dst: walk_kbnode
      Src: /src/gnupg/g10/delkey.c:294,1
    - Dst: log_assert
      Src: /src/gnupg/g10/delkey.c:297,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/delkey.c:298,1
    - Dst: walk_kbnode
      Src: /src/gnupg/g10/delkey.c:299,1
    - Dst: delete_kbnode
      Src: /src/gnupg/g10/delkey.c:301,1
    - Dst: commit_kbnode
      Src: /src/gnupg/g10/delkey.c:303,1
    - Dst: keydb_update_keyblock
      Src: /src/gnupg/g10/delkey.c:304,1
    - Dst: log_error
      Src: /src/gnupg/g10/delkey.c:307,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:307,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/delkey.c:307,1
    - Dst: keydb_delete_keyblock
      Src: /src/gnupg/g10/delkey.c:313,1
    - Dst: log_error
      Src: /src/gnupg/g10/delkey.c:316,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:316,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/delkey.c:317,1
    - Dst: clear_ownertrusts
      Src: /src/gnupg/g10/delkey.c:327,1
    - Dst: log_info
      Src: /src/gnupg/g10/delkey.c:330,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:330,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/delkey.c:335,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/delkey.c:336,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 174
    argCount: 5
    argNames:
    - ctrl
    - username
    - secret
    - force
    - r_sec_avail
    argTypes:
    - ctrl_t
    - char*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 50
    functionDepth: 7
    functionLinenumber: 50
    functionLinenumberEnd: 338
    functionName: do_delete_key
    functionSourceFile: /src/gnupg/g10/delkey.c
    functionUses: 0
    functionsReached:
    - gpg_format_keydesc
    - log_assert
    - keydb_update_keyblock
    - walk_kbnode
    - keydb_new
    - have_secret_key_with_kid
    - print_key_info
    - setup_main_keyids
    - cpr_enabled
    - log_error
    - _
    - log_info
    - write_status_error
    - keydb_get_keyblock
    - delete_kbnode
    - tty_printf
    - cpr_get_answer_is_yes
    - gpg_error_from_syserror
    - write_status_text
    - keydb_search
    - commit_kbnode
    - gpg_error
    - gpg_strerror
    - xfree
    - agent_delete_key
    - hexkeygrip_from_pk
    - release_kbnode
    - find_kbnode
    - keyid_from_pk
    - classify_user_id
    - exact_subkey_match_p
    - gpg_err_code
    - agent_probe_secret_key
    - keydb_release
    - keydb_lock
    - keydb_delete_keyblock
    - clear_ownertrusts
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_delete_key (ctrl_t ctrl, const char *username, int
      secret, int force,\n               int *r_sec_avail)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: do_delete_key
      Src: /src/gnupg/g10/delkey.c:356,1
    - Dst: do_delete_key
      Src: /src/gnupg/g10/delkey.c:361,1
    - Dst: do_delete_key
      Src: /src/gnupg/g10/delkey.c:363,1
    - Dst: log_error
      Src: /src/gnupg/g10/delkey.c:367,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:367,1
    - Dst: log_info
      Src: /src/gnupg/g10/delkey.c:369,1
    - Dst: _
      Src: /src/gnupg/g10/delkey.c:369,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/delkey.c:371,1
    - Dst: log_error
      Src: /src/gnupg/g10/delkey.c:378,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/delkey.c:379,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - ctrl
    - names
    - secret
    - allow_both
    argTypes:
    - ctrl_t
    - strlist_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 344
    functionDepth: 8
    functionLinenumber: 344
    functionLinenumberEnd: 385
    functionName: delete_keys
    functionSourceFile: /src/gnupg/g10/delkey.c
    functionUses: 1
    functionsReached:
    - log_error
    - write_status_text
    - _
    - log_info
    - do_delete_key
    - gpg_strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t delete_keys (ctrl_t ctrl, strlist_t names, int secret,
      int allow_both)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_read
      Src: /src/gnupg/g10/mdfilter.c:49,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/mdfilter.c:52,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/mdfilter.c:54,1
    - Dst: mem2str
      Src: /src/gnupg/g10/mdfilter.c:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - opaque
    - control
    - a
    - buf
    - ret_len
    argTypes:
    - void*
    - int
    - IOBUF
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 63
    functionName: md_filter
    functionSourceFile: /src/gnupg/g10/mdfilter.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - mem2str
    - iobuf_read
    linkageType: ''
    returnType: int
    signature: "int md_filter( void *opaque, int control,\n\t       IOBUF a, byte
      *buf, size_t *ret_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/mdfilter.c:69,1
    - Dst: gcry_md_close
      Src: /src/gnupg/g10/mdfilter.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - mfx
    argTypes:
    - md_filter_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: free_md_filter_context
    functionSourceFile: /src/gnupg/g10/mdfilter.c
    functionUses: 3
    functionsReached:
    - gcry_md_close
    linkageType: ''
    returnType: void
    signature: void free_md_filter_context( md_filter_context_t *mfx )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/g10/mdfilter.c:99,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/mdfilter.c:101,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/mdfilter.c:102,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/g10/mdfilter.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - mfx
    argTypes:
    - struct md_thd_filter_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: lock_md
    functionSourceFile: /src/gnupg/g10/mdfilter.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_errno
    - log_fatal
    - npth_mutex_lock
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void lock_md (struct md_thd_filter_context *mfx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/g10/mdfilter.c:109,1
    - Dst: log_fatal
      Src: /src/gnupg/g10/mdfilter.c:111,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/mdfilter.c:112,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/g10/mdfilter.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - mfx
    argTypes:
    - struct md_thd_filter_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: unlock_md
    functionSourceFile: /src/gnupg/g10/mdfilter.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_errno
    - log_fatal
    - npth_mutex_unlock
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void unlock_md (struct md_thd_filter_context * mfx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lock_md
      Src: /src/gnupg/g10/mdfilter.c:121,1
    - Dst: npth_cond_wait
      Src: /src/gnupg/g10/mdfilter.c:126,1
    - Dst: unlock_md
      Src: /src/gnupg/g10/mdfilter.c:129,1
    - Dst: unlock_md
      Src: /src/gnupg/g10/mdfilter.c:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - mfx
    - r_buf
    - r_len
    argTypes:
    - struct md_thd_filter_context*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 148
    functionName: get_buffer_to_hash
    functionSourceFile: /src/gnupg/g10/mdfilter.c
    functionUses: 0
    functionsReached:
    - lock_md
    - npth_cond_wait
    - unlock_md
    linkageType: ''
    returnType: int
    signature: "int get_buffer_to_hash (struct md_thd_filter_context *mfx,\n                    unsigned
      char **r_buf, size_t *r_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lock_md
      Src: /src/gnupg/g10/mdfilter.c:155,1
    - Dst: npth_cond_signal
      Src: /src/gnupg/g10/mdfilter.c:167,1
    - Dst: unlock_md
      Src: /src/gnupg/g10/mdfilter.c:170,1
    - Dst: unlock_md
      Src: /src/gnupg/g10/mdfilter.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - mfx
    argTypes:
    - struct md_thd_filter_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 176
    functionName: put_buffer_to_recv
    functionSourceFile: /src/gnupg/g10/mdfilter.c
    functionUses: 0
    functionsReached:
    - lock_md
    - npth_cond_signal
    - unlock_md
    linkageType: ''
    returnType: int
    signature: int put_buffer_to_recv (struct md_thd_filter_context *mfx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lock_md
      Src: /src/gnupg/g10/mdfilter.c:182,1
    - Dst: unlock_md
      Src: /src/gnupg/g10/mdfilter.c:186,1
    - Dst: npth_cond_wait
      Src: /src/gnupg/g10/mdfilter.c:193,1
    - Dst: unlock_md
      Src: /src/gnupg/g10/mdfilter.c:196,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/g10/mdfilter.c:197,1
    - Dst: unlock_md
      Src: /src/gnupg/g10/mdfilter.c:205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - mfx
    - r_buf
    - len
    argTypes:
    - struct md_thd_filter_context*
    - unsigned char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 207
    functionName: get_buffer_to_fill
    functionSourceFile: /src/gnupg/g10/mdfilter.c
    functionUses: 0
    functionsReached:
    - lock_md
    - gpg_error_from_errno
    - npth_cond_wait
    - unlock_md
    linkageType: ''
    returnType: int
    signature: "int get_buffer_to_fill (struct md_thd_filter_context *mfx,\n                    unsigned
      char **r_buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lock_md
      Src: /src/gnupg/g10/mdfilter.c:214,1
    - Dst: npth_cond_signal
      Src: /src/gnupg/g10/mdfilter.c:226,1
    - Dst: unlock_md
      Src: /src/gnupg/g10/mdfilter.c:229,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/g10/mdfilter.c:230,1
    - Dst: unlock_md
      Src: /src/gnupg/g10/mdfilter.c:233,1
    - Dst: npth_usleep
      Src: /src/gnupg/g10/mdfilter.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - mfx
    - len
    argTypes:
    - struct md_thd_filter_context*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: put_buffer_to_send
    functionSourceFile: /src/gnupg/g10/mdfilter.c
    functionUses: 0
    functionsReached:
    - lock_md
    - unlock_md
    - gpg_error_from_errno
    - npth_usleep
    - npth_cond_signal
    linkageType: ''
    returnType: int
    signature: int put_buffer_to_send (struct md_thd_filter_context *mfx, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_buffer_to_hash
      Src: /src/gnupg/g10/mdfilter.c:251,1
    - Dst: npth_unprotect
      Src: /src/gnupg/g10/mdfilter.c:258,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/mdfilter.c:259,1
    - Dst: npth_protect
      Src: /src/gnupg/g10/mdfilter.c:260,1
    - Dst: put_buffer_to_recv
      Src: /src/gnupg/g10/mdfilter.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 268
    functionName: md_thread
    functionSourceFile: /src/gnupg/g10/mdfilter.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - npth_unprotect
    - npth_protect
    - get_buffer_to_hash
    - put_buffer_to_recv
    linkageType: ''
    returnType: void
    signature: 'void *

      md_thread (void *arg)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_set_buffer_size
      Src: /src/gnupg/g10/mdfilter.c:284,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/mdfilter.c:285,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/mdfilter.c:287,1
    - Dst: npth_mutex_init
      Src: /src/gnupg/g10/mdfilter.c:294,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/g10/mdfilter.c:297,1
    - Dst: npth_cond_init
      Src: /src/gnupg/g10/mdfilter.c:299,1
    - Dst: npth_mutex_destroy
      Src: /src/gnupg/g10/mdfilter.c:302,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/g10/mdfilter.c:303,1
    - Dst: npth_attr_init
      Src: /src/gnupg/g10/mdfilter.c:305,1
    - Dst: npth_cond_destroy
      Src: /src/gnupg/g10/mdfilter.c:308,1
    - Dst: npth_mutex_destroy
      Src: /src/gnupg/g10/mdfilter.c:309,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/g10/mdfilter.c:310,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/g10/mdfilter.c:312,1
    - Dst: npth_create
      Src: /src/gnupg/g10/mdfilter.c:313,1
    - Dst: npth_cond_destroy
      Src: /src/gnupg/g10/mdfilter.c:316,1
    - Dst: npth_mutex_destroy
      Src: /src/gnupg/g10/mdfilter.c:317,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/g10/mdfilter.c:318,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/g10/mdfilter.c:319,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/g10/mdfilter.c:321,1
    - Dst: iobuf_read
      Src: /src/gnupg/g10/mdfilter.c:328,1
    - Dst: get_buffer_to_fill
      Src: /src/gnupg/g10/mdfilter.c:332,1
    - Dst: memcpy
      Src: /src/gnupg/g10/mdfilter.c:337,1
    - Dst: put_buffer_to_send
      Src: /src/gnupg/g10/mdfilter.c:339,1
    - Dst: npth_join
      Src: /src/gnupg/g10/mdfilter.c:345,1
    - Dst: npth_cond_destroy
      Src: /src/gnupg/g10/mdfilter.c:353,1
    - Dst: npth_mutex_destroy
      Src: /src/gnupg/g10/mdfilter.c:354,1
    - Dst: xfree
      Src: /src/gnupg/g10/mdfilter.c:355,1
    - Dst: mem2str
      Src: /src/gnupg/g10/mdfilter.c:359,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 5
    argNames:
    - opaque
    - control
    - a
    - buf
    - ret_len
    argTypes:
    - void*
    - int
    - IOBUF
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 362
    functionName: md_thd_filter
    functionSourceFile: /src/gnupg/g10/mdfilter.c
    functionUses: 0
    functionsReached:
    - npth_attr_init
    - get_buffer_to_fill
    - xtrymalloc
    - memcpy
    - npth_create
    - gpg_error_from_errno
    - iobuf_set_buffer_size
    - gpg_error_from_syserror
    - npth_mutex_init
    - npth_attr_setdetachstate
    - npth_mutex_destroy
    - npth_cond_destroy
    - xfree
    - npth_join
    - npth_cond_init
    - npth_attr_destroy
    - iobuf_read
    - put_buffer_to_send
    - mem2str
    linkageType: ''
    returnType: int
    signature: "int md_thd_filter (void *opaque, int control,\n               IOBUF
      a, byte *buf, size_t *ret_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mfx
    - md
    argTypes:
    - struct md_thd_filter_context*
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 368
    functionName: md_thd_filter_set_md
    functionSourceFile: /src/gnupg/g10/mdfilter.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md_thd_filter_set_md (struct md_thd_filter_context *mfx, gcry_md_hd_t
      md)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc
      Src: /src/gnupg/g10/t-keydb.c:39,1
    - Dst: prepend_srcdir
      Src: /src/gnupg/g10/t-keydb.c:40,1
    - Dst: keydb_add_resource
      Src: /src/gnupg/g10/t-keydb.c:41,1
    - Dst: test_free
      Src: /src/gnupg/g10/t-keydb.c:42,1
    - Dst: ABORT
      Src: /src/gnupg/g10/t-keydb.c:44,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/t-keydb.c:46,1
    - Dst: ABORT
      Src: /src/gnupg/g10/t-keydb.c:48,1
    - Dst: keydb_new
      Src: /src/gnupg/g10/t-keydb.c:49,1
    - Dst: ABORT
      Src: /src/gnupg/g10/t-keydb.c:51,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/t-keydb.c:53,1
    - Dst: ABORT
      Src: /src/gnupg/g10/t-keydb.c:56,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/t-keydb.c:58,1
    - Dst: ABORT
      Src: /src/gnupg/g10/t-keydb.c:60,1
    - Dst: classify_user_id
      Src: /src/gnupg/g10/t-keydb.c:63,1
    - Dst: ABORT
      Src: /src/gnupg/g10/t-keydb.c:66,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/t-keydb.c:68,1
    - Dst: ABORT
      Src: /src/gnupg/g10/t-keydb.c:70,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/t-keydb.c:72,1
    - Dst: ABORT
      Src: /src/gnupg/g10/t-keydb.c:74,1
    - Dst: keydb_get_keyblock
      Src: /src/gnupg/g10/t-keydb.c:76,1
    - Dst: ABORT
      Src: /src/gnupg/g10/t-keydb.c:78,1
    - Dst: ABORT
      Src: /src/gnupg/g10/t-keydb.c:84,1
    - Dst: ABORT
      Src: /src/gnupg/g10/t-keydb.c:91,1
    - Dst: printf
      Src: /src/gnupg/g10/t-keydb.c:96,1
    - Dst: printf
      Src: /src/gnupg/g10/t-keydb.c:97,1
    - Dst: TEST_P
      Src: /src/gnupg/g10/t-keydb.c:100,1
    - Dst: strcmp
      Src: /src/gnupg/g10/t-keydb.c:100,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/t-keydb.c:102,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/t-keydb.c:103,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/t-keydb.c:104,1
    - Dst: keydb_release
      Src: /src/gnupg/g10/t-keydb.c:105,1
    - Dst: xfree
      Src: /src/gnupg/g10/t-keydb.c:106,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 107
    functionName: do_test
    functionSourceFile: /src/gnupg/g10/t-keydb.c
    functionUses: 1
    functionsReached:
    - keydb_new
    - test_free
    - keydb_release
    - printf
    - release_kbnode
    - keydb_search
    - xcalloc
    - prepend_srcdir
    - keydb_add_resource
    - strcmp
    - classify_user_id
    - xfree
    - keydb_get_keyblock
    - TEST_P
    - ABORT
    linkageType: ''
    returnType: void
    signature: void do_test (int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - keyblock
    - type
    - algo
    argTypes:
    - kbnode_t
    - preftype_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionName: is_algo_in_prefs
    functionSourceFile: /src/gnupg/g10/pubkey-enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_algo_in_prefs (kbnode_t keyblock, preftype_t type, int algo)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: log_clock
      Src: /src/gnupg/g10/pubkey-enc.c:85,1
    - Dst: xmalloc_clear
      Src: /src/gnupg/g10/pubkey-enc.c:89,1
    - Dst: enum_secret_keys
      Src: /src/gnupg/g10/pubkey-enc.c:90,1
    - Dst: gnupg_pk_is_allowed
      Src: /src/gnupg/g10/pubkey-enc.c:95,1
    - Dst: nbits_from_pk
      Src: /src/gnupg/g10/pubkey-enc.c:97,1
    - Dst: log_info
      Src: /src/gnupg/g10/pubkey-enc.c:99,1
    - Dst: _
      Src: /src/gnupg/g10/pubkey-enc.c:99,1
    - Dst: keystr_from_pk
      Src: /src/gnupg/g10/pubkey-enc.c:101,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/g10/pubkey-enc.c:102,1
    - Dst: openpgp_pk_test_algo2
      Src: /src/gnupg/g10/pubkey-enc.c:128,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/pubkey-enc.c:134,1
    - Dst: log_info
      Src: /src/gnupg/g10/pubkey-enc.c:142,1
    - Dst: _
      Src: /src/gnupg/g10/pubkey-enc.c:142,1
    - Dst: keystr
      Src: /src/gnupg/g10/pubkey-enc.c:143,1
    - Dst: log_info
      Src: /src/gnupg/g10/pubkey-enc.c:150,1
    - Dst: _
      Src: /src/gnupg/g10/pubkey-enc.c:150,1
    - Dst: get_it
      Src: /src/gnupg/g10/pubkey-enc.c:155,1
    - Dst: log_info
      Src: /src/gnupg/g10/pubkey-enc.c:161,1
    - Dst: _
      Src: /src/gnupg/g10/pubkey-enc.c:161,1
    - Dst: log_info
      Src: /src/gnupg/g10/pubkey-enc.c:163,1
    - Dst: _
      Src: /src/gnupg/g10/pubkey-enc.c:163,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/pubkey-enc.c:169,1
    - Dst: enum_secret_keys
      Src: /src/gnupg/g10/pubkey-enc.c:176,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/pubkey-enc.c:178,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pubkey-enc.c:180,1
    - Dst: log_clock
      Src: /src/gnupg/g10/pubkey-enc.c:189,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 60
    argCount: 3
    argNames:
    - ctrl
    - list
    - dek
    argTypes:
    - ctrl_t
    - struct seskey_enc_list*
    - DEK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 74
    functionDepth: 5
    functionLinenumber: 74
    functionLinenumberEnd: 191
    functionName: get_session_key
    functionSourceFile: /src/gnupg/g10/pubkey-enc.c
    functionUses: 1
    functionsReached:
    - gnupg_compliance_option_string
    - keyid_from_pk
    - keystr_from_pk
    - _
    - openpgp_pk_test_algo2
    - enum_secret_keys
    - xmalloc_clear
    - log_info
    - gpg_err_code
    - gpg_error
    - nbits_from_pk
    - get_it
    - keystr
    - log_clock
    - gnupg_pk_is_allowed
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_session_key (ctrl_t ctrl, struct seskey_enc_list *list,
      DEK *dek)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/pubkey-enc.c:207,1
    - Dst: ecc_build_kdf_params
      Src: /src/gnupg/g10/pubkey-enc.c:209,1
    - Dst: xfree
      Src: /src/gnupg/g10/pubkey-enc.c:219,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pubkey-enc.c:220,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pubkey-enc.c:223,1
    - Dst: xfree
      Src: /src/gnupg/g10/pubkey-enc.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - r_s_data
    - enc
    - sk
    argTypes:
    - gcry_sexp_t*
    - struct seskey_enc_list*
    - PKT_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 195
    functionDepth: 5
    functionLinenumber: 195
    functionLinenumberEnd: 230
    functionName: ecdh_sexp_build
    functionSourceFile: /src/gnupg/g10/pubkey-enc.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - xfree
    - fingerprint_from_pk
    - gcry_sexp_build
    - ecc_build_kdf_params
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ecdh_sexp_build (gcry_sexp_t *r_s_data, struct seskey_enc_list
      *enc,\n                 PKT_public_key *sk)"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: log_clock
      Src: /src/gnupg/g10/pubkey-enc.c:248,1
    - Dst: log_assert
      Src: /src/gnupg/g10/pubkey-enc.c:250,1
    - Dst: hexkeygrip_from_pk
      Src: /src/gnupg/g10/pubkey-enc.c:253,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pubkey-enc.c:262,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pubkey-enc.c:264,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pubkey-enc.c:271,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pubkey-enc.c:273,1
    - Dst: ecdh_sexp_build
      Src: /src/gnupg/g10/pubkey-enc.c:277,1
    - Dst: v5_fingerprint_from_pk
      Src: /src/gnupg/g10/pubkey-enc.c:292,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pubkey-enc.c:297,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pubkey-enc.c:299,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pubkey-enc.c:307,1
    - Dst: gpg_format_keydesc
      Src: /src/gnupg/g10/pubkey-enc.c:313,1
    - Dst: agent_pkdecrypt
      Src: /src/gnupg/g10/pubkey-enc.c:315,1
    - Dst: xfree
      Src: /src/gnupg/g10/pubkey-enc.c:318,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/pubkey-enc.c:319,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/pubkey-enc.c:341,1
    - Dst: log_info
      Src: /src/gnupg/g10/pubkey-enc.c:348,1
    - Dst: _
      Src: /src/gnupg/g10/pubkey-enc.c:348,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pubkey-enc.c:359,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pubkey-enc.c:365,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pubkey-enc.c:379,1
    - Dst: log_info
      Src: /src/gnupg/g10/pubkey-enc.c:395,1
    - Dst: _
      Src: /src/gnupg/g10/pubkey-enc.c:395,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pubkey-enc.c:396,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pubkey-enc.c:401,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pubkey-enc.c:412,1
    - Dst: openpgp_cipher_test_algo
      Src: /src/gnupg/g10/pubkey-enc.c:421,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/pubkey-enc.c:424,1
    - Dst: log_info
      Src: /src/gnupg/g10/pubkey-enc.c:426,1
    - Dst: _
      Src: /src/gnupg/g10/pubkey-enc.c:426,1
    - Dst: openpgp_cipher_get_algo_keylen
      Src: /src/gnupg/g10/pubkey-enc.c:433,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pubkey-enc.c:435,1
    - Dst: memcpy
      Src: /src/gnupg/g10/pubkey-enc.c:441,1
    - Dst: buf16_to_u16
      Src: /src/gnupg/g10/pubkey-enc.c:444,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pubkey-enc.c:449,1
    - Dst: log_clock
      Src: /src/gnupg/g10/pubkey-enc.c:455,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/pubkey-enc.c:457,1
    - Dst: get_pubkeyblock_ext
      Src: /src/gnupg/g10/pubkey-enc.c:464,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pubkey-enc.c:468,1
    - Dst: log_info
      Src: /src/gnupg/g10/pubkey-enc.c:469,1
    - Dst: is_algo_in_prefs
      Src: /src/gnupg/g10/pubkey-enc.c:474,1
    - Dst: log_info
      Src: /src/gnupg/g10/pubkey-enc.c:475,1
    - Dst: _
      Src: /src/gnupg/g10/pubkey-enc.c:475,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/pubkey-enc.c:476,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/pubkey-enc.c:499,1
    - Dst: BUG
      Src: /src/gnupg/g10/pubkey-enc.c:508,1
    - Dst: make_timestamp
      Src: /src/gnupg/g10/pubkey-enc.c:509,1
    - Dst: log_info
      Src: /src/gnupg/g10/pubkey-enc.c:511,1
    - Dst: _
      Src: /src/gnupg/g10/pubkey-enc.c:511,1
    - Dst: keystr
      Src: /src/gnupg/g10/pubkey-enc.c:512,1
    - Dst: asctimestamp
      Src: /src/gnupg/g10/pubkey-enc.c:512,1
    - Dst: log_info
      Src: /src/gnupg/g10/pubkey-enc.c:519,1
    - Dst: _
      Src: /src/gnupg/g10/pubkey-enc.c:519,1
    - Dst: log_printf
      Src: /src/gnupg/g10/pubkey-enc.c:520,1
    - Dst: log_info
      Src: /src/gnupg/g10/pubkey-enc.c:525,1
    - Dst: _
      Src: /src/gnupg/g10/pubkey-enc.c:525,1
    - Dst: log_printf
      Src: /src/gnupg/g10/pubkey-enc.c:526,1
    - Dst: show_revocation_reason
      Src: /src/gnupg/g10/pubkey-enc.c:527,1
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/pubkey-enc.c:530,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/pubkey-enc.c:535,1
    - Dst: hexfingerprint
      Src: /src/gnupg/g10/pubkey-enc.c:536,1
    - Dst: write_status_printf
      Src: /src/gnupg/g10/pubkey-enc.c:542,1
    - Dst: get_ownertrust_info
      Src: /src/gnupg/g10/pubkey-enc.c:544,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/pubkey-enc.c:548,1
    - Dst: xfree
      Src: /src/gnupg/g10/pubkey-enc.c:553,1
    - Dst: xfree
      Src: /src/gnupg/g10/pubkey-enc.c:554,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 179
    argCount: 5
    argNames:
    - ctrl
    - enc
    - dek
    - sk
    - keyid
    argTypes:
    - ctrl_t
    - struct seskey_enc_list*
    - DEK*
    - PKT_public_key*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 233
    functionDepth: 7
    functionLinenumber: 233
    functionLinenumberEnd: 556
    functionName: get_it
    functionSourceFile: /src/gnupg/g10/pubkey-enc.c
    functionUses: 1
    functionsReached:
    - asctimestamp
    - ecdh_sexp_build
    - gpg_format_keydesc
    - log_assert
    - BUG
    - write_status_printf
    - buf16_to_u16
    - memcpy
    - get_pubkeyblock_ext
    - v5_fingerprint_from_pk
    - log_printhex
    - is_algo_in_prefs
    - _
    - openpgp_cipher_test_algo
    - log_info
    - gcry_sexp_release
    - agent_pkdecrypt
    - gcry_sexp_build
    - log_printf
    - openpgp_cipher_get_algo_keylen
    - gpg_error
    - show_revocation_reason
    - xfree
    - get_ownertrust_info
    - keystr
    - openpgp_cipher_algo_name
    - hexkeygrip_from_pk
    - release_kbnode
    - keyid_from_pk
    - is_status_enabled
    - make_timestamp
    - gpg_err_code
    - hexfingerprint
    - log_clock
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_it (ctrl_t ctrl,\n        struct seskey_enc_list *enc,
      DEK *dek, PKT_public_key *sk, u32 *keyid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gnupg/g10/pubkey-enc.c:572,1
    - Dst: strchr
      Src: /src/gnupg/g10/pubkey-enc.c:575,1
    - Dst: DIM
      Src: /src/gnupg/g10/pubkey-enc.c:578,1
    - Dst: hextobyte
      Src: /src/gnupg/g10/pubkey-enc.c:580,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - dek
    - string
    argTypes:
    - DEK*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 589
    functionName: get_override_session_key
    functionSourceFile: /src/gnupg/g10/pubkey-enc.c
    functionUses: 2
    functionsReached:
    - strchr
    - DIM
    - hextobyte
    - atoi
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_override_session_key (DEK *dek, const char *string)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/plaintext.c:68,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:71,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g10/plaintext.c:78,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:81,1
    - Dst: memcmp
      Src: /src/gnupg/g10/plaintext.c:85,1
    - Dst: log_info
      Src: /src/gnupg/g10/plaintext.c:87,1
    - Dst: _
      Src: /src/gnupg/g10/plaintext.c:87,1
    - Dst: make_outfile_name
      Src: /src/gnupg/g10/plaintext.c:93,1
    - Dst: iobuf_get_real_fname
      Src: /src/gnupg/g10/plaintext.c:93,1
    - Dst: ask_outfile_name
      Src: /src/gnupg/g10/plaintext.c:95,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/plaintext.c:98,1
    - Dst: utf8_to_native
      Src: /src/gnupg/g10/plaintext.c:103,1
    - Dst: es_set_binary
      Src: /src/gnupg/g10/plaintext.c:110,1
    - Dst: iobuf_is_pipe_filename
      Src: /src/gnupg/g10/plaintext.c:112,1
    - Dst: gnupg_check_special_filename
      Src: /src/gnupg/g10/plaintext.c:119,1
    - Dst: es_set_binary
      Src: /src/gnupg/g10/plaintext.c:124,1
    - Dst: open_stream_nc
      Src: /src/gnupg/g10/plaintext.c:126,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:128,1
    - Dst: snprintf
      Src: /src/gnupg/g10/plaintext.c:129,1
    - Dst: FD_DBG
      Src: /src/gnupg/g10/plaintext.c:129,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:130,1
    - Dst: _
      Src: /src/gnupg/g10/plaintext.c:130,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/plaintext.c:130,1
    - Dst: overwrite_filep
      Src: /src/gnupg/g10/plaintext.c:136,1
    - Dst: ask_outfile_name
      Src: /src/gnupg/g10/plaintext.c:138,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:141,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/plaintext.c:142,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:145,1
    - Dst: is_secured_filename
      Src: /src/gnupg/g10/plaintext.c:152,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/plaintext.c:154,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:155,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:156,1
    - Dst: _
      Src: /src/gnupg/g10/plaintext.c:156,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/plaintext.c:156,1
    - Dst: has_suffix
      Src: /src/gnupg/g10/plaintext.c:165,1
    - Dst: xstrconcat
      Src: /src/gnupg/g10/plaintext.c:169,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:172,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:173,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/plaintext.c:174,1
    - Dst: es_fopen
      Src: /src/gnupg/g10/plaintext.c:180,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:182,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:183,1
    - Dst: _
      Src: /src/gnupg/g10/plaintext.c:183,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/plaintext.c:184,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/plaintext.c:194,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:195,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:196,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 106
    argCount: 4
    argNames:
    - embedded_name
    - embedded_namelen
    - data
    - pfg
    argTypes:
    - byte*
    - int
    - iobuf_t
    - struct pfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 54
    functionDepth: 7
    functionLinenumber: 54
    functionLinenumberEnd: 205
    functionName: get_output_file
    functionSourceFile: /src/gnupg/g10/plaintext.c
    functionUses: 0
    functionsReached:
    - overwrite_filep
    - es_fopen
    - open_stream_nc
    - utf8_to_native
    - log_error
    - _
    - FD_DBG
    - log_info
    - make_outfile_name
    - iobuf_is_pipe_filename
    - es_set_binary
    - gpg_error_from_syserror
    - iobuf_get_real_fname
    - xtrystrdup
    - gpg_error
    - gpg_strerror
    - xfree
    - gnupg_check_special_filename
    - is_secured_filename
    - xstrconcat
    - snprintf
    - es_fclose
    - has_suffix
    - memcmp
    - gpg_err_set_errno
    - ask_outfile_name
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_output_file (const byte *embedded_name, int embedded_namelen,\n
      \                iobuf_t data, struct pfg *pfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_output_file
      Src: /src/gnupg/g10/plaintext.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - embedded_name
    - embedded_namelen
    - data
    - pfg
    argTypes:
    - byte*
    - int
    - iobuf_t
    - struct pfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 8
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: pfg_open_file
    functionSourceFile: /src/gnupg/g10/plaintext.c
    functionUses: 1
    functionsReached:
    - get_output_file
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t pfg_open_file (const byte *embedded_name, int embedded_namelen,\n
      \              iobuf_t data, struct pfg *pfg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_fcancel
      Src: /src/gnupg/g10/plaintext.c:220,1
    - Dst: log_info
      Src: /src/gnupg/g10/plaintext.c:231,1
    - Dst: _
      Src: /src/gnupg/g10/plaintext.c:231,1
    - Dst: gnupg_remove
      Src: /src/gnupg/g10/plaintext.c:233,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/plaintext.c:238,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:240,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:241,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/plaintext.c:243,1
    - Dst: gnupg_register_partial_file
      Src: /src/gnupg/g10/plaintext.c:247,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:250,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - pfg
    - err
    argTypes:
    - struct pfg*
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: pfg_close_file
    functionSourceFile: /src/gnupg/g10/plaintext.c
    functionUses: 1
    functionsReached:
    - gpgrt_fcancel
    - gnupg_register_partial_file
    - gpg_error_from_syserror
    - log_error
    - es_fclose
    - _
    - log_info
    - gpg_strerror
    - xfree
    - gnupg_remove
    linkageType: ''
    returnType: void
    signature: void pfg_close_file (struct pfg *pfg, gpg_error_t err)
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: is_status_enabled
      Src: /src/gnupg/g10/plaintext.c:279,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/plaintext.c:287,1
    - Dst: snprintf
      Src: /src/gnupg/g10/plaintext.c:289,1
    - Dst: write_status_text_and_buffer
      Src: /src/gnupg/g10/plaintext.c:291,1
    - Dst: snprintf
      Src: /src/gnupg/g10/plaintext.c:296,1
    - Dst: write_status_text
      Src: /src/gnupg/g10/plaintext.c:297,1
    - Dst: pfg_open_file
      Src: /src/gnupg/g10/plaintext.c:303,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:316,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/plaintext.c:317,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/plaintext.c:325,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/plaintext.c:327,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:329,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:330,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/plaintext.c:335,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:346,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/plaintext.c:348,1
    - Dst: es_putc
      Src: /src/gnupg/g10/plaintext.c:351,1
    - Dst: es_ferror
      Src: /src/gnupg/g10/plaintext.c:353,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:354,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/plaintext.c:356,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:357,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/plaintext.c:358,1
    - Dst: iobuf_set_buffer_size
      Src: /src/gnupg/g10/plaintext.c:366,1
    - Dst: es_setbuf
      Src: /src/gnupg/g10/plaintext.c:373,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/plaintext.c:376,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:379,1
    - Dst: iobuf_read
      Src: /src/gnupg/g10/plaintext.c:386,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/plaintext.c:389,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:391,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:392,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:394,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/plaintext.c:398,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:403,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/plaintext.c:405,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:406,1
    - Dst: es_fwrite
      Src: /src/gnupg/g10/plaintext.c:409,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:411,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:412,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/plaintext.c:413,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:414,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:420,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/plaintext.c:425,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:426,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/plaintext.c:426,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/plaintext.c:433,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/plaintext.c:436,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:445,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/plaintext.c:447,1
    - Dst: es_putc
      Src: /src/gnupg/g10/plaintext.c:450,1
    - Dst: es_ferror
      Src: /src/gnupg/g10/plaintext.c:452,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:453,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/plaintext.c:455,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:456,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/plaintext.c:457,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/plaintext.c:462,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:463,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/plaintext.c:463,1
    - Dst: iobuf_set_buffer_size
      Src: /src/gnupg/g10/plaintext.c:467,1
    - Dst: es_setbuf
      Src: /src/gnupg/g10/plaintext.c:475,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/plaintext.c:478,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:481,1
    - Dst: iobuf_read
      Src: /src/gnupg/g10/plaintext.c:493,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/plaintext.c:499,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:504,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/plaintext.c:506,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:507,1
    - Dst: es_fwrite
      Src: /src/gnupg/g10/plaintext.c:510,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:512,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:513,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/plaintext.c:514,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:515,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/plaintext.c:520,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:521,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/plaintext.c:521,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:522,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/plaintext.c:530,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:536,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/plaintext.c:538,1
    - Dst: es_putc
      Src: /src/gnupg/g10/plaintext.c:541,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:543,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:544,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/plaintext.c:545,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/plaintext.c:553,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/plaintext.c:554,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/plaintext.c:564,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/plaintext.c:572,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/plaintext.c:578,1
    - Dst: iobuf_error
      Src: /src/gnupg/g10/plaintext.c:583,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:584,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/plaintext.c:584,1
    - Dst: pfg_close_file
      Src: /src/gnupg/g10/plaintext.c:589,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/plaintext.c:596,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:602,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:603,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/plaintext.c:604,1
    - Dst: pfg_close_file
      Src: /src/gnupg/g10/plaintext.c:608,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 230
    argCount: 4
    argNames:
    - pt
    - mfx
    - nooutput
    - clearsig
    argTypes:
    - PKT_plaintext*
    - md_filter_context_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 259
    functionDepth: 9
    functionLinenumber: 259
    functionLinenumberEnd: 610
    functionName: handle_plaintext
    functionSourceFile: /src/gnupg/g10/plaintext.c
    functionUses: 1
    functionsReached:
    - xmalloc
    - iobuf_error
    - es_fflush
    - xtrymalloc
    - log_error
    - es_putc
    - write_status_text_and_buffer
    - pfg_close_file
    - es_ferror
    - iobuf_set_buffer_size
    - gpg_error_from_syserror
    - write_status_text
    - gcry_md_putc
    - iobuf_get
    - gpg_error
    - gpg_strerror
    - xfree
    - pfg_open_file
    - gcry_md_write
    - es_setbuf
    - snprintf
    - iobuf_read
    - is_status_enabled
    - es_fwrite
    linkageType: ''
    returnType: int
    signature: "int handle_plaintext (PKT_plaintext * pt, md_filter_context_t * mfx,\n\t\t
      \ int nooutput, int clearsig)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/plaintext.c:621,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/g10/plaintext.c:622,1
    - Dst: iobuf_get
      Src: /src/gnupg/g10/plaintext.c:628,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/plaintext.c:631,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/plaintext.c:634,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/plaintext.c:635,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/plaintext.c:639,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/plaintext.c:640,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/plaintext.c:643,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/g10/plaintext.c:646,1
    - Dst: iobuf_set_buffer_size
      Src: /src/gnupg/g10/plaintext.c:652,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/plaintext.c:653,1
    - Dst: iobuf_read
      Src: /src/gnupg/g10/plaintext.c:656,1
    - Dst: gcry_md_write
      Src: /src/gnupg/g10/plaintext.c:659,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:662,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - md
    - md2
    - fp
    - textmode
    argTypes:
    - gcry_md_hd_t
    - gcry_md_hd_t
    - IOBUF
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 664
    functionName: do_hash
    functionSourceFile: /src/gnupg/g10/plaintext.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_md_putc
    - iobuf_push_filter
    - iobuf_read
    - iobuf_get
    - xmalloc
    - memset
    - xfree
    - iobuf_set_buffer_size
    linkageType: ''
    returnType: void
    signature: void do_hash (gcry_md_hd_t md, gcry_md_hd_t md2, IOBUF fp, int textmode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: new_progress_context
      Src: /src/gnupg/g10/plaintext.c:680,1
    - Dst: open_sigfile
      Src: /src/gnupg/g10/plaintext.c:681,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/plaintext.c:686,1
    - Dst: _
      Src: /src/gnupg/g10/plaintext.c:686,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:691,1
    - Dst: tty_enable_completion
      Src: /src/gnupg/g10/plaintext.c:692,1
    - Dst: cpr_get
      Src: /src/gnupg/g10/plaintext.c:693,1
    - Dst: _
      Src: /src/gnupg/g10/plaintext.c:694,1
    - Dst: tty_disable_completion
      Src: /src/gnupg/g10/plaintext.c:695,1
    - Dst: cpr_kill_prompt
      Src: /src/gnupg/g10/plaintext.c:696,1
    - Dst: make_filename
      Src: /src/gnupg/g10/plaintext.c:697,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:698,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/plaintext.c:702,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/plaintext.c:705,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/plaintext.c:706,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/plaintext.c:706,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/plaintext.c:708,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/plaintext.c:710,1
    - Dst: tty_printf
      Src: /src/gnupg/g10/plaintext.c:714,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:719,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:720,1
    - Dst: _
      Src: /src/gnupg/g10/plaintext.c:720,1
    - Dst: strerror
      Src: /src/gnupg/g10/plaintext.c:721,1
    - Dst: log_info
      Src: /src/gnupg/g10/plaintext.c:731,1
    - Dst: _
      Src: /src/gnupg/g10/plaintext.c:731,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/plaintext.c:732,1
    - Dst: log_assert
      Src: /src/gnupg/g10/plaintext.c:733,1
    - Dst: do_hash
      Src: /src/gnupg/g10/plaintext.c:735,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/plaintext.c:736,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:739,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/plaintext.c:740,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 4
    argNames:
    - md
    - md2
    - inname
    - textmode
    argTypes:
    - gcry_md_hd_t
    - gcry_md_hd_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 671
    functionDepth: 5
    functionLinenumber: 671
    functionLinenumberEnd: 742
    functionName: ask_for_detached_datafile
    functionSourceFile: /src/gnupg/g10/plaintext.c
    functionUses: 1
    functionsReached:
    - cpr_kill_prompt
    - log_assert
    - cpr_get
    - open_sigfile
    - log_error
    - _
    - log_info
    - do_hash
    - tty_printf
    - is_secured_file
    - gpg_error_from_syserror
    - tty_enable_completion
    - iobuf_open
    - gpg_error
    - xfree
    - tty_disable_completion
    - make_filename
    - new_progress_context
    - release_progress_context
    - iobuf_close
    - iobuf_get_fd
    - gpg_err_set_errno
    - strerror
    linkageType: ''
    returnType: int
    signature: "int ask_for_detached_datafile (gcry_md_hd_t md, gcry_md_hd_t md2,\n\t\t\t
      \  const char *inname, int textmode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: new_progress_context
      Src: /src/gnupg/g10/plaintext.c:756,1
    - Dst: open_sigfile
      Src: /src/gnupg/g10/plaintext.c:767,1
    - Dst: do_hash
      Src: /src/gnupg/g10/plaintext.c:770,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/plaintext.c:771,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/plaintext.c:772,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:776,1
    - Dst: _
      Src: /src/gnupg/g10/plaintext.c:776,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/plaintext.c:777,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/plaintext.c:778,1
    - Dst: iobuf_open
      Src: /src/gnupg/g10/plaintext.c:784,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/plaintext.c:785,1
    - Dst: iobuf_get_fd
      Src: /src/gnupg/g10/plaintext.c:785,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/plaintext.c:787,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/plaintext.c:789,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:793,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:794,1
    - Dst: _
      Src: /src/gnupg/g10/plaintext.c:794,1
    - Dst: print_fname_stdin
      Src: /src/gnupg/g10/plaintext.c:795,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/plaintext.c:796,1
    - Dst: handle_progress
      Src: /src/gnupg/g10/plaintext.c:799,1
    - Dst: do_hash
      Src: /src/gnupg/g10/plaintext.c:800,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/plaintext.c:801,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/plaintext.c:804,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 5
    argNames:
    - md
    - md2
    - files
    - sigfilename
    - textmode
    argTypes:
    - gcry_md_hd_t
    - gcry_md_hd_t
    - strlist_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 748
    functionDepth: 3
    functionLinenumber: 748
    functionLinenumberEnd: 806
    functionName: hash_datafiles
    functionSourceFile: /src/gnupg/g10/plaintext.c
    functionUses: 1
    functionsReached:
    - print_fname_stdin
    - release_progress_context
    - new_progress_context
    - is_secured_file
    - iobuf_close
    - log_error
    - iobuf_get_fd
    - gpg_error_from_syserror
    - _
    - iobuf_open
    - open_sigfile
    - gpg_error
    - do_hash
    - gpg_err_set_errno
    - handle_progress
    linkageType: ''
    returnType: int
    signature: "int hash_datafiles (gcry_md_hd_t md, gcry_md_hd_t md2, strlist_t files,\n\t\tconst
      char *sigfilename, int textmode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: new_progress_context
      Src: /src/gnupg/g10/plaintext.c:815,1
    - Dst: is_secured_file
      Src: /src/gnupg/g10/plaintext.c:818,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/plaintext.c:821,1
    - Dst: iobuf_fdopen_nc
      Src: /src/gnupg/g10/plaintext.c:824,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/plaintext.c:828,1
    - Dst: log_error
      Src: /src/gnupg/g10/plaintext.c:829,1
    - Dst: _
      Src: /src/gnupg/g10/plaintext.c:829,1
    - Dst: FD_DBG
      Src: /src/gnupg/g10/plaintext.c:830,1
    - Dst: strerror
      Src: /src/gnupg/g10/plaintext.c:830,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/plaintext.c:831,1
    - Dst: handle_progress
      Src: /src/gnupg/g10/plaintext.c:835,1
    - Dst: do_hash
      Src: /src/gnupg/g10/plaintext.c:837,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/plaintext.c:839,1
    - Dst: release_progress_context
      Src: /src/gnupg/g10/plaintext.c:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - md
    - md2
    - data_fd
    - textmode
    argTypes:
    - gcry_md_hd_t
    - gcry_md_hd_t
    - gnupg_fd_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 811
    functionDepth: 2
    functionLinenumber: 811
    functionLinenumberEnd: 843
    functionName: hash_datafile_by_fd
    functionSourceFile: /src/gnupg/g10/plaintext.c
    functionUses: 1
    functionsReached:
    - is_secured_file
    - new_progress_context
    - release_progress_context
    - gpg_error_from_syserror
    - log_error
    - iobuf_close
    - iobuf_fdopen_nc
    - _
    - FD_DBG
    - do_hash
    - gpg_err_set_errno
    - handle_progress
    - strerror
    linkageType: ''
    returnType: int
    signature: "int hash_datafile_by_fd (gcry_md_hd_t md, gcry_md_hd_t md2,\n                     gnupg_fd_t
      data_fd, int textmode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_is_pipe_filename
      Src: /src/gnupg/g10/plaintext.c:856,1
    - Dst: iobuf_is_pipe_filename
      Src: /src/gnupg/g10/plaintext.c:857,1
    - Dst: make_basename
      Src: /src/gnupg/g10/plaintext.c:862,1
    - Dst: iobuf_get_real_fname
      Src: /src/gnupg/g10/plaintext.c:862,1
    - Dst: native_to_utf8
      Src: /src/gnupg/g10/plaintext.c:865,1
    - Dst: make_basename
      Src: /src/gnupg/g10/plaintext.c:866,1
    - Dst: iobuf_get_real_fname
      Src: /src/gnupg/g10/plaintext.c:866,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:867,1
    - Dst: make_basename
      Src: /src/gnupg/g10/plaintext.c:870,1
    - Dst: iobuf_get_real_fname
      Src: /src/gnupg/g10/plaintext.c:870,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/plaintext.c:872,1
    - Dst: strlen
      Src: /src/gnupg/g10/plaintext.c:872,1
    - Dst: strlen
      Src: /src/gnupg/g10/plaintext.c:873,1
    - Dst: memcpy
      Src: /src/gnupg/g10/plaintext.c:874,1
    - Dst: xfree
      Src: /src/gnupg/g10/plaintext.c:875,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/plaintext.c:880,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - filename
    - iobuf
    argTypes:
    - char*
    - IOBUF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 885
    functionName: setup_plaintext_name
    functionSourceFile: /src/gnupg/g10/plaintext.c
    functionUses: 3
    functionsReached:
    - iobuf_is_pipe_filename
    - strlen
    - iobuf_get_real_fname
    - xmalloc
    - xfree
    - make_basename
    - memcpy
    - native_to_utf8
    linkageType: ''
    returnType: PKT_plaintext
    signature: 'PKT_plaintext *

      setup_plaintext_name (const char *filename, IOBUF iobuf)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/objcache.c:115,1
    - Dst: log_info
      Src: /src/gnupg/g10/objcache.c:142,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 146
    functionName: objcache_dump_stats
    functionSourceFile: /src/gnupg/g10/objcache.c
    functionUses: 1
    functionsReached:
    - log_info
    linkageType: ''
    returnType: void
    signature: void objcache_dump_stats (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - name
    - namelen
    argTypes:
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 170
    functionName: uid_table_hasher
    functionSourceFile: /src/gnupg/g10/objcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int uid_table_hasher (const char *name, unsigned namelen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc
      Src: /src/gnupg/g10/objcache.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: uid_table_init
    functionSourceFile: /src/gnupg/g10/objcache.c
    functionUses: 0
    functionsReached:
    - xcalloc
    linkageType: ''
    returnType: void
    signature: void uid_table_init (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ui
    argTypes:
    - uid_item_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: uid_item_ref
    functionSourceFile: /src/gnupg/g10/objcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uid_item_t
    signature: uid_item_t uid_item_ref (uid_item_t ui)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_fatal
      Src: /src/gnupg/g10/objcache.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - uid
    argTypes:
    - uid_item_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: uid_item_unref
    functionSourceFile: /src/gnupg/g10/objcache.c
    functionUses: 0
    functionsReached:
    - log_fatal
    linkageType: ''
    returnType: void
    signature: void uid_item_unref (uid_item_t uid)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: uid_table_init
      Src: /src/gnupg/g10/objcache.c:222,1
    - Dst: uid_table_hasher
      Src: /src/gnupg/g10/objcache.c:224,1
    - Dst: memcmp
      Src: /src/gnupg/g10/objcache.c:226,1
    - Dst: uid_item_ref
      Src: /src/gnupg/g10/objcache.c:227,1
    - Dst: xfree
      Src: /src/gnupg/g10/objcache.c:263,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/objcache.c:269,1
    - Dst: memcmp
      Src: /src/gnupg/g10/objcache.c:278,1
    - Dst: xfree
      Src: /src/gnupg/g10/objcache.c:281,1
    - Dst: uid_item_ref
      Src: /src/gnupg/g10/objcache.c:282,1
    - Dst: memcpy
      Src: /src/gnupg/g10/objcache.c:287,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - name
    - namelen
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 295
    functionName: uid_table_put
    functionSourceFile: /src/gnupg/g10/objcache.c
    functionUses: 0
    functionsReached:
    - uid_item_ref
    - uid_table_hasher
    - memcmp
    - xfree
    - xtrycalloc
    - memcpy
    - uid_table_init
    linkageType: ''
    returnType: uid_item_t
    signature: uid_item_t uid_table_put (const char *name, unsigned int namelen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keyid
    argTypes:
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 310
    functionName: key_table_hasher
    functionSourceFile: /src/gnupg/g10/objcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int key_table_hasher (u32 *keyid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc
      Src: /src/gnupg/g10/objcache.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: key_table_init
    functionSourceFile: /src/gnupg/g10/objcache.c
    functionUses: 0
    functionsReached:
    - xcalloc
    linkageType: ''
    returnType: void
    signature: void key_table_init (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uid_item_unref
      Src: /src/gnupg/g10/objcache.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ki
    argTypes:
    - key_item_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: key_item_free
    functionSourceFile: /src/gnupg/g10/objcache.c
    functionUses: 0
    functionsReached:
    - uid_item_unref
    linkageType: ''
    returnType: void
    signature: void key_item_free (key_item_t ki)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: key_table_init
      Src: /src/gnupg/g10/objcache.c:348,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/objcache.c:356,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/objcache.c:357,1
    - Dst: key_table_hasher
      Src: /src/gnupg/g10/objcache.c:358,1
    - Dst: memcmp
      Src: /src/gnupg/g10/objcache.c:360,1
    - Dst: key_table_hasher
      Src: /src/gnupg/g10/objcache.c:365,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - pk
    - keyid
    argTypes:
    - PKT_public_key*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 341
    functionDepth: 5
    functionLinenumber: 341
    functionLinenumberEnd: 379
    functionName: key_table_get
    functionSourceFile: /src/gnupg/g10/objcache.c
    functionUses: 0
    functionsReached:
    - key_table_init
    - key_table_hasher
    - keyid_from_pk
    - memcmp
    - fingerprint_from_pk
    linkageType: ''
    returnType: key_item_t
    signature: key_item_t key_table_get (PKT_public_key *pk, u32 *keyid)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - arg_a
    - arg_b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 396
    functionName: compare_key_items
    functionSourceFile: /src/gnupg/g10/objcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_key_items (const void *arg_a, const void *arg_b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_table_init
      Src: /src/gnupg/g10/objcache.c:413,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/objcache.c:415,1
    - Dst: keyid_from_pk
      Src: /src/gnupg/g10/objcache.c:416,1
    - Dst: key_table_hasher
      Src: /src/gnupg/g10/objcache.c:417,1
    - Dst: memcmp
      Src: /src/gnupg/g10/objcache.c:419,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g10/objcache.c:437,1
    - Dst: log_info
      Src: /src/gnupg/g10/objcache.c:441,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/objcache.c:442,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/objcache.c:442,1
    - Dst: log_assert
      Src: /src/gnupg/g10/objcache.c:452,1
    - Dst: qsort
      Src: /src/gnupg/g10/objcache.c:455,1
    - Dst: key_item_free
      Src: /src/gnupg/g10/objcache.c:472,1
    - Dst: xfree
      Src: /src/gnupg/g10/objcache.c:475,1
    - Dst: key_item_free
      Src: /src/gnupg/g10/objcache.c:484,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/objcache.c:495,1
    - Dst: memcmp
      Src: /src/gnupg/g10/objcache.c:508,1
    - Dst: memcpy
      Src: /src/gnupg/g10/objcache.c:517,1
    - Dst: uid_item_ref
      Src: /src/gnupg/g10/objcache.c:521,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 73
    argCount: 2
    argNames:
    - pk
    - ui
    argTypes:
    - PKT_public_key*
    - uid_item_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 402
    functionDepth: 5
    functionLinenumber: 402
    functionLinenumberEnd: 527
    functionName: key_table_put
    functionSourceFile: /src/gnupg/g10/objcache.c
    functionUses: 0
    functionsReached:
    - key_table_init
    - gpg_error_from_syserror
    - key_table_hasher
    - log_assert
    - keyid_from_pk
    - uid_item_ref
    - key_item_free
    - xtrycalloc
    - memcmp
    - log_info
    - gpg_strerror
    - qsort
    - fingerprint_from_pk
    - xfree
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: key_item_t
    signature: key_item_t key_table_put (PKT_public_key *pk, uid_item_t ui)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - keyblock
    - uidlen
    argTypes:
    - kbnode_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 550
    functionName: primary_uid_from_keyblock
    functionSourceFile: /src/gnupg/g10/objcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      primary_uid_from_keyblock (kbnode_t keyblock, size_t *uidlen)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: key_table_get
      Src: /src/gnupg/g10/objcache.c:572,1
    - Dst: primary_uid_from_keyblock
      Src: /src/gnupg/g10/objcache.c:577,1
    - Dst: uid_table_put
      Src: /src/gnupg/g10/objcache.c:580,1
    - Dst: log_info
      Src: /src/gnupg/g10/objcache.c:583,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/objcache.c:584,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/objcache.c:584,1
    - Dst: key_table_put
      Src: /src/gnupg/g10/objcache.c:593,1
    - Dst: log_info
      Src: /src/gnupg/g10/objcache.c:595,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/objcache.c:596,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/objcache.c:596,1
    - Dst: uid_item_unref
      Src: /src/gnupg/g10/objcache.c:604,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - keyblock
    argTypes:
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 605
    functionName: cache_put_keyblock
    functionSourceFile: /src/gnupg/g10/objcache.c
    functionUses: 1
    functionsReached:
    - key_table_put
    - uid_table_put
    - primary_uid_from_keyblock
    - key_table_get
    - gpg_error_from_syserror
    - log_info
    - gpg_strerror
    - uid_item_unref
    linkageType: ''
    returnType: void
    signature: void cache_put_keyblock (kbnode_t keyblock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: key_table_get
      Src: /src/gnupg/g10/objcache.c:623,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/objcache.c:631,1
    - Dst: memcpy
      Src: /src/gnupg/g10/objcache.c:634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - keyid
    - r_length
    argTypes:
    - u32*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 642
    functionName: cache_get_uid_bykid
    functionSourceFile: /src/gnupg/g10/objcache.c
    functionUses: 2
    functionsReached:
    - xtrymalloc
    - memcpy
    - key_table_get
    linkageType: ''
    returnType: char
    signature: 'char *

      cache_get_uid_bykid (u32 *keyid, unsigned int *r_length)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: keyid_from_fingerprint
      Src: /src/gnupg/g10/objcache.c:665,1
    - Dst: key_table_hasher
      Src: /src/gnupg/g10/objcache.c:666,1
    - Dst: memcmp
      Src: /src/gnupg/g10/objcache.c:668,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/objcache.c:678,1
    - Dst: memcpy
      Src: /src/gnupg/g10/objcache.c:681,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - fpr
    - fprlen
    - r_length
    argTypes:
    - byte*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 651
    functionDepth: 6
    functionLinenumber: 651
    functionLinenumberEnd: 689
    functionName: cache_get_uid_byfpr
    functionSourceFile: /src/gnupg/g10/objcache.c
    functionUses: 1
    functionsReached:
    - keyid_from_fingerprint
    - key_table_hasher
    - memcmp
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      cache_get_uid_byfpr (const byte *fpr, size_t fprlen, size_t *r_length)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/g10/keydb.c:133,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keydb.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - kid
    argTypes:
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: kid_not_found_p
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 0
    functionsReached:
    - log_debug
    linkageType: ''
    returnType: int
    signature: int kid_not_found_p (u32 *kid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/g10/keydb.c:156,1
    - Dst: xmalloc
      Src: /src/gnupg/g10/keydb.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - kid
    argTypes:
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: kid_not_found_insert
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - log_debug
    linkageType: ''
    returnType: void
    signature: void kid_not_found_insert (u32 *kid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/g10/keydb.c:175,1
    - Dst: DIM
      Src: /src/gnupg/g10/keydb.c:180,1
    - Dst: xfree
      Src: /src/gnupg/g10/keydb.c:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 193
    functionName: kid_not_found_flush
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 0
    functionsReached:
    - DIM
    - xfree
    - log_debug
    linkageType: ''
    returnType: void
    signature: void kid_not_found_flush (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keydb.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - hd
    argTypes:
    - struct keydb_handle_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: keyblock_cache_clear
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 0
    functionsReached:
    - iobuf_close
    linkageType: ''
    returnType: void
    signature: void keyblock_cache_clear (struct keydb_handle_s *hd)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_access
      Src: /src/gnupg/g10/keydb.c:229,1
    - Dst: gnupg_access
      Src: /src/gnupg/g10/keydb.c:230,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:230,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:235,1
    - Dst: strrchr
      Src: /src/gnupg/g10/keydb.c:242,1
    - Dst: strrchr
      Src: /src/gnupg/g10/keydb.c:246,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:252,1
    - Dst: gnupg_access
      Src: /src/gnupg/g10/keydb.c:256,1
    - Dst: try_make_homedir
      Src: /src/gnupg/g10/keydb.c:263,1
    - Dst: gnupg_access
      Src: /src/gnupg/g10/keydb.c:265,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:267,1
    - Dst: parse_comopt
      Src: /src/gnupg/g10/keydb.c:275,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:283,1
    - Dst: dotlock_create
      Src: /src/gnupg/g10/keydb.c:293,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keydb.c:296,1
    - Dst: log_info
      Src: /src/gnupg/g10/keydb.c:302,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keydb.c:303,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:306,1
    - Dst: dotlock_take
      Src: /src/gnupg/g10/keydb.c:311,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keydb.c:313,1
    - Dst: log_info
      Src: /src/gnupg/g10/keydb.c:315,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keydb.c:315,1
    - Dst: keybox_tmp_names
      Src: /src/gnupg/g10/keydb.c:336,1
    - Dst: gnupg_access
      Src: /src/gnupg/g10/keydb.c:340,1
    - Dst: gnupg_access
      Src: /src/gnupg/g10/keydb.c:345,1
    - Dst: gnupg_access
      Src: /src/gnupg/g10/keydb.c:345,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:349,1
    - Dst: umask
      Src: /src/gnupg/g10/keydb.c:355,1
    - Dst: is_secured_filename
      Src: /src/gnupg/g10/keydb.c:356,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g10/keydb.c:359,1
    - Dst: iobuf_create
      Src: /src/gnupg/g10/keydb.c:362,1
    - Dst: umask
      Src: /src/gnupg/g10/keydb.c:363,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keydb.c:366,1
    - Dst: log_error
      Src: /src/gnupg/g10/keydb.c:368,1
    - Dst: _
      Src: /src/gnupg/g10/keydb.c:368,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keydb.c:369,1
    - Dst: log_error
      Src: /src/gnupg/g10/keydb.c:371,1
    - Dst: _
      Src: /src/gnupg/g10/keydb.c:371,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keydb.c:372,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keydb.c:376,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/g10/keydb.c:378,1
    - Dst: es_fopen
      Src: /src/gnupg/g10/keydb.c:384,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keydb.c:386,1
    - Dst: _keybox_write_header_blob
      Src: /src/gnupg/g10/keydb.c:389,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/keydb.c:390,1
    - Dst: log_error
      Src: /src/gnupg/g10/keydb.c:395,1
    - Dst: _
      Src: /src/gnupg/g10/keydb.c:395,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keydb.c:396,1
    - Dst: log_error
      Src: /src/gnupg/g10/keydb.c:398,1
    - Dst: _
      Src: /src/gnupg/g10/keydb.c:398,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keydb.c:399,1
    - Dst: log_info
      Src: /src/gnupg/g10/keydb.c:407,1
    - Dst: _
      Src: /src/gnupg/g10/keydb.c:407,1
    - Dst: log_info
      Src: /src/gnupg/g10/keydb.c:409,1
    - Dst: _
      Src: /src/gnupg/g10/keydb.c:409,1
    - Dst: dotlock_release
      Src: /src/gnupg/g10/keydb.c:417,1
    - Dst: dotlock_destroy
      Src: /src/gnupg/g10/keydb.c:418,1
    - Dst: xfree
      Src: /src/gnupg/g10/keydb.c:420,1
    - Dst: xfree
      Src: /src/gnupg/g10/keydb.c:421,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 108
    argCount: 3
    argNames:
    - filename
    - is_box
    - force_create
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 423
    functionName: maybe_create_keyring_or_box
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 0
    functionsReached:
    - dotlock_create
    - dotlock_take
    - dotlock_release
    - try_make_homedir
    - es_fopen
    - umask
    - log_error
    - _keybox_write_header_blob
    - gnupg_access
    - _
    - iobuf_ioctl
    - log_info
    - gpg_error_from_syserror
    - gpg_error
    - gpg_strerror
    - dotlock_destroy
    - xfree
    - is_secured_filename
    - iobuf_close
    - es_fclose
    - parse_comopt
    - gpg_err_set_errno
    - strrchr
    - iobuf_create
    - keybox_tmp_names
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t maybe_create_keyring_or_box (char *filename, int is_box,
      int force_create)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/g10/keydb.c:444,1
    - Dst: es_fread
      Src: /src/gnupg/g10/keydb.c:449,1
    - Dst: es_fread
      Src: /src/gnupg/g10/keydb.c:453,1
    - Dst: es_fread
      Src: /src/gnupg/g10/keydb.c:455,1
    - Dst: memcmp
      Src: /src/gnupg/g10/keydb.c:456,1
    - Dst: es_fclose
      Src: /src/gnupg/g10/keydb.c:468,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - filename
    - r_found
    - r_openpgp
    argTypes:
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 472
    functionName: rt_from_file
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 4
    functionsReached:
    - es_fclose
    - memcmp
    - es_fopen
    - es_fread
    linkageType: ''
    returnType: KeydbResourceType
    signature: KeydbResourceType rt_from_file (const char *filename, int *r_found,
      int *r_openpgp)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: xasprintf
      Src: /src/gnupg/g10/keydb.c:487,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keydb.c:489,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keydb.c:491,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keydb.c:493,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keydb.c:495,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keydb.c:497,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keydb.c:499,1
    - Dst: format_keyid
      Src: /src/gnupg/g10/keydb.c:500,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keydb.c:502,1
    - Dst: format_keyid
      Src: /src/gnupg/g10/keydb.c:503,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/keydb.c:505,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keydb.c:506,1
    - Dst: format_hexfingerprint
      Src: /src/gnupg/g10/keydb.c:507,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keydb.c:509,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keydb.c:511,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keydb.c:514,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keydb.c:517,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/keydb.c:519,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keydb.c:520,1
    - Dst: bin2hex
      Src: /src/gnupg/g10/keydb.c:522,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keydb.c:523,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keydb.c:525,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keydb.c:527,1
    - Dst: xasprintf
      Src: /src/gnupg/g10/keydb.c:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 1
    argNames:
    - desc
    argTypes:
    - struct keydb_search_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 531
    functionName: keydb_search_desc_dump
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 1
    functionsReached:
    - format_keyid
    - bin2hex
    - format_hexfingerprint
    - xasprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      keydb_search_desc_dump (struct keydb_search_desc *desc)'
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g10/keydb.c:597,1
    - Dst: strncmp
      Src: /src/gnupg/g10/keydb.c:597,1
    - Dst: strlen
      Src: /src/gnupg/g10/keydb.c:602,1
    - Dst: strncmp
      Src: /src/gnupg/g10/keydb.c:602,1
    - Dst: strchr
      Src: /src/gnupg/g10/keydb.c:608,1
    - Dst: log_error
      Src: /src/gnupg/g10/keydb.c:610,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:611,1
    - Dst: strchr
      Src: /src/gnupg/g10/keydb.c:623,1
    - Dst: strchr
      Src: /src/gnupg/g10/keydb.c:625,1
    - Dst: make_filename
      Src: /src/gnupg/g10/keydb.c:628,1
    - Dst: make_filename
      Src: /src/gnupg/g10/keydb.c:630,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g10/keydb.c:630,1
    - Dst: xstrdup
      Src: /src/gnupg/g10/keydb.c:633,1
    - Dst: strlen
      Src: /src/gnupg/g10/keydb.c:643,1
    - Dst: rt_from_file
      Src: /src/gnupg/g10/keydb.c:644,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keydb.c:657,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keydb.c:659,1
    - Dst: rt_from_file
      Src: /src/gnupg/g10/keydb.c:660,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keydb.c:664,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keydb.c:668,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keydb.c:675,1
    - Dst: rt_from_file
      Src: /src/gnupg/g10/keydb.c:676,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keydb.c:682,1
    - Dst: strcmp
      Src: /src/gnupg/g10/keydb.c:686,1
    - Dst: strcpy
      Src: /src/gnupg/g10/keydb.c:694,1
    - Dst: log_error
      Src: /src/gnupg/g10/keydb.c:705,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:706,1
    - Dst: maybe_create_keyring_or_box
      Src: /src/gnupg/g10/keydb.c:710,1
    - Dst: keyring_register_filename
      Src: /src/gnupg/g10/keydb.c:714,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:717,1
    - Dst: maybe_create_keyring_or_box
      Src: /src/gnupg/g10/keydb.c:740,1
    - Dst: keybox_register_file
      Src: /src/gnupg/g10/keydb.c:744,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:748,1
    - Dst: keybox_compress_when_no_other_users
      Src: /src/gnupg/g10/keydb.c:760,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keydb.c:764,1
    - Dst: log_error
      Src: /src/gnupg/g10/keydb.c:775,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:776,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keydb.c:785,1
    - Dst: log_error
      Src: /src/gnupg/g10/keydb.c:787,1
    - Dst: _
      Src: /src/gnupg/g10/keydb.c:787,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keydb.c:788,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keydb.c:789,1
    - Dst: xfree
      Src: /src/gnupg/g10/keydb.c:794,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 117
    argCount: 2
    argNames:
    - url
    - flags
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 579
    functionDepth: 3
    functionLinenumber: 579
    functionLinenumberEnd: 796
    functionName: keydb_add_resource
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 8
    functionsReached:
    - strlen
    - keybox_compress_when_no_other_users
    - gnupg_homedir
    - xstrdup
    - rt_from_file
    - log_error
    - _
    - write_status_error
    - strncmp
    - strcmp
    - strchr
    - gpg_error
    - gpg_strerror
    - xfree
    - keybox_register_file
    - make_filename
    - keyring_register_filename
    - maybe_create_keyring_or_box
    - strcpy
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_add_resource (const char *url, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g10/keydb.c:802,1
    - Dst: log_info
      Src: /src/gnupg/g10/keydb.c:807,1
    - Dst: log_info
      Src: /src/gnupg/g10/keydb.c:812,1
    - Dst: log_info
      Src: /src/gnupg/g10/keydb.c:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 822
    functionName: keydb_dump_stats
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 1
    functionsReached:
    - log_info
    linkageType: ''
    returnType: void
    signature: void keydb_dump_stats (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keydb.c:835,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keydb.c:840,1
    - Dst: keyring_new
      Src: /src/gnupg/g10/keydb.c:850,1
    - Dst: keybox_new_openpgp
      Src: /src/gnupg/g10/keydb.c:861,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/g10/keydb.c:877,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 880
    functionName: internal_keydb_init
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_errno
    - keybox_new_openpgp
    - keyring_new
    - log_assert
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t internal_keydb_init (KEYDB_HANDLE hd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keydb.c:890,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keydb.c:892,1
    - Dst: unlock_all
      Src: /src/gnupg/g10/keydb.c:896,1
    - Dst: keyring_release
      Src: /src/gnupg/g10/keydb.c:904,1
    - Dst: keybox_release
      Src: /src/gnupg/g10/keydb.c:907,1
    - Dst: keyblock_cache_clear
      Src: /src/gnupg/g10/keydb.c:912,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 913
    functionName: internal_keydb_deinit
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 1
    functionsReached:
    - keyblock_cache_clear
    - log_assert
    - keybox_release
    - unlock_all
    - keyring_release
    linkageType: ''
    returnType: void
    signature: void internal_keydb_deinit (KEYDB_HANDLE hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keydb.c:923,1
    - Dst: lock_all
      Src: /src/gnupg/g10/keydb.c:925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 930
    functionName: internal_keydb_lock
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 0
    functionsReached:
    - lock_all
    - log_assert
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t internal_keydb_lock (KEYDB_HANDLE hd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:938,1
    - Dst: internal_keydb_lock
      Src: /src/gnupg/g10/keydb.c:941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 944
    functionName: keydb_lock
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 7
    functionsReached:
    - gpg_error
    - internal_keydb_lock
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_lock (KEYDB_HANDLE hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 955
    functionName: keydb_disable_caching
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void keydb_disable_caching (KEYDB_HANDLE hd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: keyring_get_resource_name
      Src: /src/gnupg/g10/keydb.c:991,1
    - Dst: keybox_get_resource_name
      Src: /src/gnupg/g10/keydb.c:994,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 999
    functionName: keydb_get_resource_name
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 5
    functionsReached:
    - keybox_get_resource_name
    - keyring_get_resource_name
    linkageType: ''
    returnType: char
    signature: 'char *

      keydb_get_resource_name (KEYDB_HANDLE hd)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: keyring_lock
      Src: /src/gnupg/g10/keydb.c:1025,1
    - Dst: keybox_lock
      Src: /src/gnupg/g10/keydb.c:1028,1
    - Dst: keyring_lock
      Src: /src/gnupg/g10/keydb.c:1043,1
    - Dst: keybox_lock
      Src: /src/gnupg/g10/keydb.c:1046,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1003
    functionDepth: 3
    functionLinenumber: 1003
    functionLinenumberEnd: 1058
    functionName: lock_all
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 2
    functionsReached:
    - keyring_lock
    - keybox_lock
    linkageType: ''
    returnType: int
    signature: int lock_all (KEYDB_HANDLE hd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: keyring_fp_close
      Src: /src/gnupg/g10/keydb.c:1073,1
    - Dst: keybox_fp_close
      Src: /src/gnupg/g10/keydb.c:1076,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1061
    functionDepth: 2
    functionLinenumber: 1061
    functionLinenumberEnd: 1080
    functionName: do_fp_close
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 0
    functionsReached:
    - keyring_fp_close
    - keybox_fp_close
    linkageType: ''
    returnType: void
    signature: void do_fp_close (KEYDB_HANDLE hd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: do_fp_close
      Src: /src/gnupg/g10/keydb.c:1087,1
    - Dst: keyring_lock
      Src: /src/gnupg/g10/keydb.c:1099,1
    - Dst: keybox_lock
      Src: /src/gnupg/g10/keydb.c:1102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1082
    functionDepth: 3
    functionLinenumber: 1082
    functionLinenumberEnd: 1107
    functionName: unlock_all
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 1
    functionsReached:
    - keyring_lock
    - keybox_lock
    - do_fp_close
    linkageType: ''
    returnType: void
    signature: void unlock_all (KEYDB_HANDLE hd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: keyring_push_found_state
      Src: /src/gnupg/g10/keydb.c:1146,1
    - Dst: keybox_push_found_state
      Src: /src/gnupg/g10/keydb.c:1149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1155
    functionName: keydb_push_found_state
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 1
    functionsReached:
    - keybox_push_found_state
    - keyring_push_found_state
    linkageType: ''
    returnType: void
    signature: void keydb_push_found_state (KEYDB_HANDLE hd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: keyring_pop_found_state
      Src: /src/gnupg/g10/keydb.c:1178,1
    - Dst: keybox_pop_found_state
      Src: /src/gnupg/g10/keydb.c:1181,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1184
    functionName: keydb_pop_found_state
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 1
    functionsReached:
    - keyring_pop_found_state
    - keybox_pop_found_state
    linkageType: ''
    returnType: void
    signature: void keydb_pop_found_state (KEYDB_HANDLE hd)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/keydb.c:1207,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keydb.c:1209,1
    - Dst: init_packet
      Src: /src/gnupg/g10/keydb.c:1210,1
    - Dst: init_parse_packet
      Src: /src/gnupg/g10/keydb.c:1211,1
    - Dst: set_packet_list_mode
      Src: /src/gnupg/g10/keydb.c:1212,1
    - Dst: parse_packet
      Src: /src/gnupg/g10/keydb.c:1216,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keydb.c:1218,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keydb.c:1220,1
    - Dst: init_packet
      Src: /src/gnupg/g10/keydb.c:1221,1
    - Dst: es_fflush
      Src: /src/gnupg/g10/keydb.c:1226,1
    - Dst: log_error
      Src: /src/gnupg/g10/keydb.c:1227,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keydb.c:1228,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keydb.c:1229,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keydb.c:1231,1
    - Dst: init_packet
      Src: /src/gnupg/g10/keydb.c:1232,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1235,1
    - Dst: log_info
      Src: /src/gnupg/g10/keydb.c:1253,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keydb.c:1254,1
    - Dst: init_packet
      Src: /src/gnupg/g10/keydb.c:1255,1
    - Dst: log_error
      Src: /src/gnupg/g10/keydb.c:1262,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1264,1
    - Dst: log_error
      Src: /src/gnupg/g10/keydb.c:1270,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1272,1
    - Dst: new_kbnode
      Src: /src/gnupg/g10/keydb.c:1277,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/keydb.c:1303,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/keydb.c:1306,1
    - Dst: init_packet
      Src: /src/gnupg/g10/keydb.c:1309,1
    - Dst: set_packet_list_mode
      Src: /src/gnupg/g10/keydb.c:1311,1
    - Dst: release_kbnode
      Src: /src/gnupg/g10/keydb.c:1317,1
    - Dst: free_packet
      Src: /src/gnupg/g10/keydb.c:1323,1
    - Dst: deinit_parse_packet
      Src: /src/gnupg/g10/keydb.c:1324,1
    - Dst: xfree
      Src: /src/gnupg/g10/keydb.c:1325,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 94
    argCount: 4
    argNames:
    - iobuf
    - pk_no
    - uid_no
    - r_keyblock
    argTypes:
    - iobuf_t
    - int
    - int
    - kbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1193
    functionDepth: 4
    functionLinenumber: 1193
    functionLinenumberEnd: 1327
    functionName: keydb_parse_keyblock
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 1
    functionsReached:
    - deinit_parse_packet
    - gpg_error_from_syserror
    - log_error
    - init_packet
    - release_kbnode
    - init_parse_packet
    - parse_packet
    - gpg_error
    - gpg_err_code
    - free_packet
    - gpg_strerror
    - log_info
    - set_packet_list_mode
    - xfree
    - es_fflush
    - new_kbnode
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keydb_parse_keyblock (iobuf_t iobuf, int pk_no, int uid_no,\n
      \                     kbnode_t *r_keyblock)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keydb.c:1345,1
    - Dst: iobuf_seek
      Src: /src/gnupg/g10/keydb.c:1349,1
    - Dst: log_error
      Src: /src/gnupg/g10/keydb.c:1352,1
    - Dst: keyblock_cache_clear
      Src: /src/gnupg/g10/keydb.c:1353,1
    - Dst: keydb_parse_keyblock
      Src: /src/gnupg/g10/keydb.c:1357,1
    - Dst: keyblock_cache_clear
      Src: /src/gnupg/g10/keydb.c:1362,1
    - Dst: log_clock
      Src: /src/gnupg/g10/keydb.c:1364,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1370,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1375,1
    - Dst: keyring_get_keyblock
      Src: /src/gnupg/g10/keydb.c:1378,1
    - Dst: keybox_get_keyblock
      Src: /src/gnupg/g10/keydb.c:1385,1
    - Dst: keydb_parse_keyblock
      Src: /src/gnupg/g10/keydb.c:1389,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keydb.c:1399,1
    - Dst: keyblock_cache_clear
      Src: /src/gnupg/g10/keydb.c:1407,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - hd
    - ret_kb
    argTypes:
    - KEYDB_HANDLE
    - KBNODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1340
    functionDepth: 5
    functionLinenumber: 1340
    functionLinenumberEnd: 1413
    functionName: internal_keydb_get_keyblock
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 1
    functionsReached:
    - log_error
    - keyblock_cache_clear
    - log_assert
    - iobuf_close
    - keybox_get_keyblock
    - keydb_parse_keyblock
    - gpg_error
    - log_clock
    - iobuf_seek
    - keyring_get_keyblock
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t internal_keydb_get_keyblock (KEYDB_HANDLE hd, KBNODE *ret_kb)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keydb.c:1440,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1443,1
    - Dst: kid_not_found_flush
      Src: /src/gnupg/g10/keydb.c:1447,1
    - Dst: keyblock_cache_clear
      Src: /src/gnupg/g10/keydb.c:1448,1
    - Dst: tofu_notice_key_changed
      Src: /src/gnupg/g10/keydb.c:1454,1
    - Dst: memset
      Src: /src/gnupg/g10/keydb.c:1459,1
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/keydb.c:1460,1
    - Dst: log_bug
      Src: /src/gnupg/g10/keydb.c:1467,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/g10/keydb.c:1469,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/keydb.c:1470,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1472,1
    - Dst: log_assert
      Src: /src/gnupg/g10/keydb.c:1473,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1478,1
    - Dst: keyring_update_keyblock
      Src: /src/gnupg/g10/keydb.c:1481,1
    - Dst: build_keyblock_image
      Src: /src/gnupg/g10/keydb.c:1487,1
    - Dst: keybox_update_keyblock
      Src: /src/gnupg/g10/keydb.c:1491,1
    - Dst: iobuf_get_temp_buffer
      Src: /src/gnupg/g10/keydb.c:1492,1
    - Dst: iobuf_get_temp_length
      Src: /src/gnupg/g10/keydb.c:1493,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keydb.c:1494,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - ctrl
    - hd
    - kb
    argTypes:
    - ctrl_t
    - KEYDB_HANDLE
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1432
    functionDepth: 5
    functionLinenumber: 1432
    functionLinenumberEnd: 1503
    functionName: internal_keydb_update_keyblock
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 1
    functionsReached:
    - keyring_update_keyblock
    - keyblock_cache_clear
    - log_assert
    - log_bug
    - iobuf_close
    - keydb_search
    - tofu_notice_key_changed
    - build_keyblock_image
    - gpg_error
    - keybox_update_keyblock
    - kid_not_found_flush
    - memset
    - keydb_search_reset
    - fingerprint_from_pk
    - iobuf_get_temp_buffer
    - iobuf_get_temp_length
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t internal_keydb_update_keyblock (ctrl_t ctrl, KEYDB_HANDLE
      hd, kbnode_t kb)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keydb.c:1523,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1526,1
    - Dst: kid_not_found_flush
      Src: /src/gnupg/g10/keydb.c:1528,1
    - Dst: keyblock_cache_clear
      Src: /src/gnupg/g10/keydb.c:1529,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1539,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1544,1
    - Dst: keyring_insert_keyblock
      Src: /src/gnupg/g10/keydb.c:1547,1
    - Dst: build_keyblock_image
      Src: /src/gnupg/g10/keydb.c:1556,1
    - Dst: keybox_insert_keyblock
      Src: /src/gnupg/g10/keydb.c:1560,1
    - Dst: iobuf_get_temp_buffer
      Src: /src/gnupg/g10/keydb.c:1561,1
    - Dst: iobuf_get_temp_length
      Src: /src/gnupg/g10/keydb.c:1562,1
    - Dst: iobuf_close
      Src: /src/gnupg/g10/keydb.c:1563,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - hd
    - kb
    argTypes:
    - KEYDB_HANDLE
    - kbnode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1517
    functionDepth: 5
    functionLinenumber: 1517
    functionLinenumberEnd: 1572
    functionName: internal_keydb_insert_keyblock
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 1
    functionsReached:
    - keyblock_cache_clear
    - log_assert
    - iobuf_close
    - build_keyblock_image
    - gpg_error
    - keyring_insert_keyblock
    - kid_not_found_flush
    - iobuf_get_temp_buffer
    - iobuf_get_temp_length
    - keybox_insert_keyblock
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t internal_keydb_insert_keyblock (KEYDB_HANDLE hd, kbnode_t
      kb)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keydb.c:1585,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1588,1
    - Dst: kid_not_found_flush
      Src: /src/gnupg/g10/keydb.c:1590,1
    - Dst: keyblock_cache_clear
      Src: /src/gnupg/g10/keydb.c:1591,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1594,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1602,1
    - Dst: keyring_delete_keyblock
      Src: /src/gnupg/g10/keydb.c:1605,1
    - Dst: keybox_delete
      Src: /src/gnupg/g10/keydb.c:1608,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1580
    functionDepth: 3
    functionLinenumber: 1580
    functionLinenumberEnd: 1615
    functionName: internal_keydb_delete_keyblock
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 1
    functionsReached:
    - keyblock_cache_clear
    - log_assert
    - gpg_error
    - keyring_delete_keyblock
    - kid_not_found_flush
    - keybox_delete
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t internal_keydb_delete_keyblock (KEYDB_HANDLE hd)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: keydb_search_reset
      Src: /src/gnupg/g10/keydb.c:1639,1
    - Dst: keyring_is_writable
      Src: /src/gnupg/g10/keydb.c:1650,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/g10/keydb.c:1657,1
    - Dst: BUG
      Src: /src/gnupg/g10/keydb.c:1667,1
    - Dst: keyring_is_writable
      Src: /src/gnupg/g10/keydb.c:1670,1
    - Dst: keybox_is_writable
      Src: /src/gnupg/g10/keydb.c:1674,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1680,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1628
    functionDepth: 2
    functionLinenumber: 1628
    functionLinenumberEnd: 1681
    functionName: keydb_locate_writable
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 2
    functionsReached:
    - keybox_is_writable
    - BUG
    - keyring_is_writable
    - gpg_error
    - keydb_search_reset
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_locate_writable (KEYDB_HANDLE hd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: keyring_is_writable
      Src: /src/gnupg/g10/keydb.c:1695,1
    - Dst: keyring_rebuild_cache
      Src: /src/gnupg/g10/keydb.c:1702,1
    - Dst: log_error
      Src: /src/gnupg/g10/keydb.c:1704,1
    - Dst: _
      Src: /src/gnupg/g10/keydb.c:1704,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keydb.c:1705,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - ctrl
    - noisy
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1685
    functionDepth: 5
    functionLinenumber: 1685
    functionLinenumberEnd: 1712
    functionName: keydb_rebuild_caches
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 2
    functionsReached:
    - log_error
    - keyring_rebuild_cache
    - _
    - keyring_is_writable
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void keydb_rebuild_caches (ctrl_t ctrl, int noisy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1722
    functionName: keydb_get_skipped_counter
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long keydb_get_skipped_counter (KEYDB_HANDLE hd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keydb.c:1738,1
    - Dst: keyblock_cache_clear
      Src: /src/gnupg/g10/keydb.c:1740,1
    - Dst: keyring_search_reset
      Src: /src/gnupg/g10/keydb.c:1753,1
    - Dst: keybox_search_reset
      Src: /src/gnupg/g10/keydb.c:1756,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1732
    functionDepth: 2
    functionLinenumber: 1732
    functionLinenumberEnd: 1764
    functionName: internal_keydb_search_reset
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 1
    functionsReached:
    - keyring_search_reset
    - keybox_search_reset
    - keyblock_cache_clear
    - log_assert
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t internal_keydb_search_reset (KEYDB_HANDLE hd)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/g10/keydb.c:1796,1
    - Dst: write_status_error
      Src: /src/gnupg/g10/keydb.c:1800,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1800,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1801,1
    - Dst: kid_not_found_p
      Src: /src/gnupg/g10/keydb.c:1805,1
    - Dst: log_clock
      Src: /src/gnupg/g10/keydb.c:1808,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1810,1
    - Dst: memcmp
      Src: /src/gnupg/g10/keydb.c:1826,1
    - Dst: keybox_offset
      Src: /src/gnupg/g10/keydb.c:1831,1
    - Dst: log_clock
      Src: /src/gnupg/g10/keydb.c:1836,1
    - Dst: keybox_seek
      Src: /src/gnupg/g10/keydb.c:1841,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keydb.c:1847,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keydb.c:1851,1
    - Dst: BUG
      Src: /src/gnupg/g10/keydb.c:1862,1
    - Dst: keyring_search
      Src: /src/gnupg/g10/keydb.c:1865,1
    - Dst: keybox_search
      Src: /src/gnupg/g10/keydb.c:1870,1
    - Dst: log_debug
      Src: /src/gnupg/g10/keydb.c:1878,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/keydb.c:1885,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keydb.c:1887,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keydb.c:1897,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/keydb.c:1898,1
    - Dst: keyblock_cache_clear
      Src: /src/gnupg/g10/keydb.c:1901,1
    - Dst: keybox_offset
      Src: /src/gnupg/g10/keydb.c:1914,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keydb.c:1915,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g10/keydb.c:1919,1
    - Dst: kid_not_found_insert
      Src: /src/gnupg/g10/keydb.c:1924,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 63
    argCount: 4
    argNames:
    - hd
    - desc
    - ndesc
    - descindex
    argTypes:
    - KEYDB_HANDLE
    - KEYDB_SEARCH_DESC*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1786
    functionDepth: 4
    functionLinenumber: 1786
    functionLinenumberEnd: 1931
    functionName: internal_keydb_search
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 1
    functionsReached:
    - log_assert
    - keybox_search
    - keyblock_cache_clear
    - keybox_seek
    - BUG
    - kid_not_found_p
    - gpg_error
    - memcmp
    - keybox_offset
    - write_status_error
    - gpg_err_code
    - keyring_search
    - gpg_strerror
    - kid_not_found_insert
    - log_clock
    - memcpy
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t internal_keydb_search (KEYDB_HANDLE hd, KEYDB_SEARCH_DESC
      *desc,\n                       size_t ndesc, size_t *descindex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keydb_search_reset
      Src: /src/gnupg/g10/keydb.c:1945,1
    - Dst: memset
      Src: /src/gnupg/g10/keydb.c:1949,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/keydb.c:1951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1952
    functionName: keydb_search_first
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 1
    functionsReached:
    - keydb_search
    - memset
    - keydb_search_reset
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_search_first (KEYDB_HANDLE hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/keydb.c:1964,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/keydb.c:1966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1967
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 1967
    functionName: keydb_search_next
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 1
    functionsReached:
    - keydb_search
    - memset
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_search_next (KEYDB_HANDLE hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/keydb.c:1981,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/keydb.c:1985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - hd
    - kid
    argTypes:
    - KEYDB_HANDLE
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1976
    functionDepth: 0
    functionLinenumber: 1976
    functionLinenumberEnd: 1986
    functionName: keydb_search_kid
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 1
    functionsReached:
    - keydb_search
    - memset
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_search_kid (KEYDB_HANDLE hd, u32 *kid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g10/keydb.c:2000,1
    - Dst: memcpy
      Src: /src/gnupg/g10/keydb.c:2002,1
    - Dst: keydb_search
      Src: /src/gnupg/g10/keydb.c:2004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - hd
    - fpr
    - fprlen
    argTypes:
    - KEYDB_HANDLE
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2005
    functionName: keydb_search_fpr
    functionSourceFile: /src/gnupg/g10/keydb.c
    functionUses: 2
    functionsReached:
    - keydb_search
    - memset
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_search_fpr (KEYDB_HANDLE hd, const byte *fpr, size_t
      fprlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/g10/t-keyid.c:73,1
    - Dst: compare_pubkey_string
      Src: /src/gnupg/g10/t-keyid.c:75,1
    - Dst: fail
      Src: /src/gnupg/g10/t-keyid.c:78,1
    - Dst: log_debug
      Src: /src/gnupg/g10/t-keyid.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 85
    functionName: test_compare_pubkey_string
    functionSourceFile: /src/gnupg/g10/t-keyid.c
    functionUses: 0
    functionsReached:
    - DIM
    - log_debug
    - fail
    - compare_pubkey_string
    linkageType: ''
    returnType: void
    signature: void test_compare_pubkey_string (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/g10/t-keyid.c:100,1
    - Dst: strcmp
      Src: /src/gnupg/g10/t-keyid.c:105,1
    - Dst: fputs
      Src: /src/gnupg/g10/t-keyid.c:107,1
    - Dst: exit
      Src: /src/gnupg/g10/t-keyid.c:112,1
    - Dst: strcmp
      Src: /src/gnupg/g10/t-keyid.c:114,1
    - Dst: strcmp
      Src: /src/gnupg/g10/t-keyid.c:119,1
    - Dst: strncmp
      Src: /src/gnupg/g10/t-keyid.c:124,1
    - Dst: fprintf
      Src: /src/gnupg/g10/t-keyid.c:126,1
    - Dst: exit
      Src: /src/gnupg/g10/t-keyid.c:127,1
    - Dst: test_compare_pubkey_string
      Src: /src/gnupg/g10/t-keyid.c:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 134
    functionName: main
    functionSourceFile: /src/gnupg/g10/t-keyid.c
    functionUses: 4
    functionsReached:
    - exit
    - strcmp
    - fprintf
    - test_compare_pubkey_string
    - fputs
    - strncmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/pkglue.c:44,1
    - Dst: log_assert
      Src: /src/gnupg/g10/pkglue.c:45,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/gnupg/g10/pkglue.c:46,1
    - Dst: log_assert
      Src: /src/gnupg/g10/pkglue.c:47,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/pkglue.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - sexp
    - item
    - mpifmt
    argTypes:
    - gcry_sexp_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: get_mpi_from_sexp
    functionSourceFile: /src/gnupg/g10/pkglue.c
    functionUses: 1
    functionsReached:
    - gcry_sexp_nth_mpi
    - gcry_sexp_find_token
    - gcry_sexp_release
    - log_assert
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t get_mpi_from_sexp (gcry_sexp_t sexp, const char *item, int
      mpifmt)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/pkglue.c:71,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:75,1
    - Dst: gcry_sexp_nth_buffer
      Src: /src/gnupg/g10/pkglue.c:79,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/pkglue.c:82,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/g10/pkglue.c:99,1
    - Dst: gcry_mpi_set_flag
      Src: /src/gnupg/g10/pkglue.c:102,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/pkglue.c:107,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/pkglue.c:109,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 26
    argCount: 3
    argNames:
    - sexp
    - param
    - r_sos
    argTypes:
    - gcry_sexp_t
    - char*
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 113
    functionName: sexp_extract_param_sos
    functionSourceFile: /src/gnupg/g10/pkglue.c
    functionUses: 4
    functionsReached:
    - gcry_mpi_set_opaque
    - gcry_sexp_nth_buffer
    - gpg_error_from_syserror
    - gcry_sexp_find_token
    - gpg_error
    - gcry_sexp_release
    - gcry_mpi_set_flag
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t sexp_extract_param_sos (gcry_sexp_t sexp, const char *param,
      gcry_mpi_t *r_sos)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/g10/pkglue.c:132,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:136,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/g10/pkglue.c:140,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/pkglue.c:143,1
    - Dst: gcry_mpi_set_opaque_copy
      Src: /src/gnupg/g10/pkglue.c:164,1
    - Dst: gcry_mpi_set_flag
      Src: /src/gnupg/g10/pkglue.c:167,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/pkglue.c:172,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/pkglue.c:174,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 28
    argCount: 3
    argNames:
    - sexp
    - param
    - r_sos
    argTypes:
    - gcry_sexp_t
    - char*
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 178
    functionName: sexp_extract_param_sos_nlz
    functionSourceFile: /src/gnupg/g10/pkglue.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_syserror
    - gcry_sexp_find_token
    - gcry_mpi_set_opaque_copy
    - gpg_error
    - gcry_sexp_nth_data
    - gcry_sexp_release
    - gcry_mpi_set_flag
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t sexp_extract_param_sos_nlz (gcry_sexp_t sexp, const char
      *param,\n                            gcry_mpi_t *r_sos)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:195,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:201,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:207,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/g10/pkglue.c:212,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/pkglue.c:214,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:217,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkglue.c:220,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/g10/pkglue.c:225,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/pkglue.c:227,1
    - Dst: openpgp_oid_is_ed25519
      Src: /src/gnupg/g10/pkglue.c:232,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:237,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkglue.c:238,1
    - Dst: BUG
      Src: /src/gnupg/g10/pkglue.c:245,1
    - Dst: openpgp_oid_is_ed25519
      Src: /src/gnupg/g10/pkglue.c:252,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:257,1
    - Dst: BUG
      Src: /src/gnupg/g10/pkglue.c:258,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:262,1
    - Dst: BUG
      Src: /src/gnupg/g10/pkglue.c:263,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:271,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:273,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:279,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:281,1
    - Dst: openpgp_oid_is_ed25519
      Src: /src/gnupg/g10/pkglue.c:289,1
    - Dst: log_assert
      Src: /src/gnupg/g10/pkglue.c:296,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:299,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/g10/pkglue.c:300,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:301,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/g10/pkglue.c:302,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:303,1
    - Dst: gcry_mpi_copy
      Src: /src/gnupg/g10/pkglue.c:306,1
    - Dst: gcry_mpi_copy
      Src: /src/gnupg/g10/pkglue.c:307,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/pkglue.c:311,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/pkglue.c:326,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/g10/pkglue.c:327,1
    - Dst: log_assert
      Src: /src/gnupg/g10/pkglue.c:330,1
    - Dst: memmove
      Src: /src/gnupg/g10/pkglue.c:331,1
    - Dst: memset
      Src: /src/gnupg/g10/pkglue.c:332,1
    - Dst: gcry_mpi_set_opaque_copy
      Src: /src/gnupg/g10/pkglue.c:333,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/pkglue.c:336,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/pkglue.c:340,1
    - Dst: memcpy
      Src: /src/gnupg/g10/pkglue.c:342,1
    - Dst: memset
      Src: /src/gnupg/g10/pkglue.c:343,1
    - Dst: gcry_mpi_set_opaque_copy
      Src: /src/gnupg/g10/pkglue.c:344,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/pkglue.c:350,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/g10/pkglue.c:351,1
    - Dst: log_assert
      Src: /src/gnupg/g10/pkglue.c:354,1
    - Dst: memmove
      Src: /src/gnupg/g10/pkglue.c:355,1
    - Dst: memset
      Src: /src/gnupg/g10/pkglue.c:356,1
    - Dst: gcry_mpi_set_opaque_copy
      Src: /src/gnupg/g10/pkglue.c:357,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/g10/pkglue.c:360,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/pkglue.c:364,1
    - Dst: memcpy
      Src: /src/gnupg/g10/pkglue.c:366,1
    - Dst: memset
      Src: /src/gnupg/g10/pkglue.c:367,1
    - Dst: gcry_mpi_set_opaque_copy
      Src: /src/gnupg/g10/pkglue.c:368,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:376,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/pkglue.c:380,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/pkglue.c:382,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:387,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:389,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:395,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:397,1
    - Dst: BUG
      Src: /src/gnupg/g10/pkglue.c:400,1
    - Dst: gcry_pk_verify
      Src: /src/gnupg/g10/pkglue.c:403,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/pkglue.c:406,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/pkglue.c:407,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/pkglue.c:408,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 125
    argCount: 4
    argNames:
    - pkalgo
    - hash
    - data
    - pkey
    argTypes:
    - pubkey_algo_t
    - gcry_mpi_t
    - gcry_mpi_t*
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 410
    functionName: pk_verify
    functionSourceFile: /src/gnupg/g10/pkglue.c
    functionUses: 2
    functionsReached:
    - gcry_mpi_get_flag
    - log_assert
    - BUG
    - memcpy
    - memmove
    - openpgp_oid_is_ed25519
    - gcry_mpi_copy
    - gcry_mpi_set_opaque_copy
    - gcry_sexp_release
    - gcry_pk_verify
    - gcry_sexp_build
    - gcry_mpi_get_nbits
    - gpg_error_from_syserror
    - gcry_mpi_print
    - gpg_error
    - xfree
    - memset
    - gcry_mpi_get_opaque
    - gcry_mpi_release
    - openpgp_oid_to_str
    linkageType: ''
    returnType: int
    signature: "int pk_verify (pubkey_algo_t pkalgo, gcry_mpi_t hash,\n           gcry_mpi_t
      *data, gcry_mpi_t *pkey)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/g10/pkglue.c:466,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/pkglue.c:469,1
    - Dst: log_error
      Src: /src/gnupg/g10/pkglue.c:470,1
    - Dst: openpgp_oid_to_curve
      Src: /src/gnupg/g10/pkglue.c:473,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:476,1
    - Dst: log_error
      Src: /src/gnupg/g10/pkglue.c:477,1
    - Dst: gnupg_get_ecc_params
      Src: /src/gnupg/g10/pkglue.c:480,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkglue.c:484,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:485,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/g10/pkglue.c:490,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/pkglue.c:492,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkglue.c:504,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:506,1
    - Dst: strcmp
      Src: /src/gnupg/g10/pkglue.c:513,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkglue.c:514,1
    - Dst: log_debug
      Src: /src/gnupg/g10/pkglue.c:526,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/pkglue.c:527,1
    - Dst: gcry_kem_encap
      Src: /src/gnupg/g10/pkglue.c:530,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkglue.c:538,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/pkglue.c:544,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/pkglue.c:545,1
    - Dst: gnupg_ecc_kem_simple_kdf
      Src: /src/gnupg/g10/pkglue.c:547,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkglue.c:555,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/pkglue.c:559,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/pkglue.c:561,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkglue.c:578,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:580,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/pkglue.c:584,1
    - Dst: gcry_kem_encap
      Src: /src/gnupg/g10/pkglue.c:586,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkglue.c:594,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/pkglue.c:600,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/pkglue.c:601,1
    - Dst: v5_fingerprint_from_pk
      Src: /src/gnupg/g10/pkglue.c:606,1
    - Dst: gnupg_kem_combiner
      Src: /src/gnupg/g10/pkglue.c:609,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkglue.c:616,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/pkglue.c:620,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/g10/pkglue.c:622,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/g10/pkglue.c:625,1
    - Dst: log_error
      Src: /src/gnupg/g10/pkglue.c:629,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/pkglue.c:630,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:634,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/gnupg/g10/pkglue.c:638,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/pkglue.c:639,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkglue.c:644,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:647,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/pkglue.c:651,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/pkglue.c:654,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/pkglue.c:657,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/g10/pkglue.c:662,1
    - Dst: log_error
      Src: /src/gnupg/g10/pkglue.c:666,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/pkglue.c:670,1
    - Dst: gcry_mpi_set_opaque_copy
      Src: /src/gnupg/g10/pkglue.c:672,1
    - Dst: gcry_mpi_set_opaque_copy
      Src: /src/gnupg/g10/pkglue.c:674,1
    - Dst: gcry_mpi_set_opaque_copy
      Src: /src/gnupg/g10/pkglue.c:676,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/pkglue.c:679,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/pkglue.c:681,1
    - Dst: wipememory
      Src: /src/gnupg/g10/pkglue.c:685,1
    - Dst: wipememory
      Src: /src/gnupg/g10/pkglue.c:686,1
    - Dst: wipememory
      Src: /src/gnupg/g10/pkglue.c:687,1
    - Dst: wipememory
      Src: /src/gnupg/g10/pkglue.c:688,1
    - Dst: wipememory
      Src: /src/gnupg/g10/pkglue.c:689,1
    - Dst: wipememory
      Src: /src/gnupg/g10/pkglue.c:690,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkglue.c:691,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/g10/pkglue.c:692,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkglue.c:693,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 177
    argCount: 4
    argNames:
    - pk
    - data
    - seskey_algo
    - resarr
    argTypes:
    - PKT_public_key*
    - gcry_mpi_t
    - int
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 420
    functionDepth: 6
    functionLinenumber: 420
    functionLinenumberEnd: 695
    functionName: do_encrypt_kem
    functionSourceFile: /src/gnupg/g10/pkglue.c
    functionUses: 0
    functionsReached:
    - gnupg_kem_combiner
    - gcry_cipher_encrypt
    - gcry_cipher_close
    - xtrymalloc
    - gcry_cipher_get_algo_keylen
    - v5_fingerprint_from_pk
    - gcry_cipher_open
    - log_printhex
    - log_error
    - gcry_mpi_set_opaque_copy
    - wipememory
    - log_info
    - gnupg_get_ecc_params
    - gcry_sexp_build
    - openpgp_oid_to_curve
    - log_debug
    - gcry_cipher_setkey
    - gpg_error_from_syserror
    - gnupg_ecc_kem_simple_kdf
    - strcmp
    - gpg_error
    - gpg_strerror
    - xfree
    - gcry_mpi_get_opaque
    - gcry_mpi_release
    - gcry_kem_encap
    - gcry_md_get_algo_dlen
    - openpgp_oid_to_str
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_encrypt_kem (PKT_public_key *pk, gcry_mpi_t data, int
      seskey_algo,\n                gcry_mpi_t *resarr)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: fingerprint_from_pk
      Src: /src/gnupg/g10/pkglue.c:735,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/g10/pkglue.c:737,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/pkglue.c:740,1
    - Dst: log_error
      Src: /src/gnupg/g10/pkglue.c:741,1
    - Dst: openpgp_oid_to_curve
      Src: /src/gnupg/g10/pkglue.c:744,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:747,1
    - Dst: log_error
      Src: /src/gnupg/g10/pkglue.c:748,1
    - Dst: gnupg_get_ecc_params
      Src: /src/gnupg/g10/pkglue.c:751,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkglue.c:755,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:756,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/pkglue.c:761,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkglue.c:773,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:775,1
    - Dst: log_debug
      Src: /src/gnupg/g10/pkglue.c:793,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/pkglue.c:794,1
    - Dst: gcry_kem_encap
      Src: /src/gnupg/g10/pkglue.c:797,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkglue.c:805,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/pkglue.c:811,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/pkglue.c:812,1
    - Dst: memmove
      Src: /src/gnupg/g10/pkglue.c:830,1
    - Dst: ecc_build_kdf_params
      Src: /src/gnupg/g10/pkglue.c:839,1
    - Dst: log_debug
      Src: /src/gnupg/g10/pkglue.c:848,1
    - Dst: openpgp_md_algo_name
      Src: /src/gnupg/g10/pkglue.c:849,1
    - Dst: openpgp_cipher_algo_name
      Src: /src/gnupg/g10/pkglue.c:850,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:856,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:864,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/gnupg/g10/pkglue.c:868,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/g10/pkglue.c:869,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:871,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/pkglue.c:875,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/pkglue.c:878,1
    - Dst: gnupg_ecc_kem_kdf
      Src: /src/gnupg/g10/pkglue.c:882,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkglue.c:885,1
    - Dst: log_info
      Src: /src/gnupg/g10/pkglue.c:889,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/pkglue.c:894,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/g10/pkglue.c:896,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/g10/pkglue.c:899,1
    - Dst: log_error
      Src: /src/gnupg/g10/pkglue.c:903,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g10/pkglue.c:904,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/g10/pkglue.c:908,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g10/pkglue.c:912,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/pkglue.c:915,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/g10/pkglue.c:920,1
    - Dst: log_error
      Src: /src/gnupg/g10/pkglue.c:924,1
    - Dst: log_printhex
      Src: /src/gnupg/g10/pkglue.c:928,1
    - Dst: gcry_mpi_set_opaque_copy
      Src: /src/gnupg/g10/pkglue.c:930,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/pkglue.c:934,1
    - Dst: gcry_mpi_set_opaque_copy
      Src: /src/gnupg/g10/pkglue.c:938,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/pkglue.c:941,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/g10/pkglue.c:942,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkglue.c:946,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/g10/pkglue.c:947,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkglue.c:948,1
    - Dst: wipememory
      Src: /src/gnupg/g10/pkglue.c:949,1
    - Dst: wipememory
      Src: /src/gnupg/g10/pkglue.c:950,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkglue.c:951,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 160
    argCount: 3
    argNames:
    - pk
    - data
    - resarr
    argTypes:
    - PKT_public_key*
    - gcry_mpi_t
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 700
    functionDepth: 5
    functionLinenumber: 700
    functionLinenumberEnd: 953
    functionName: do_encrypt_ecdh
    functionSourceFile: /src/gnupg/g10/pkglue.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_encrypt
    - gcry_cipher_close
    - xtrymalloc
    - ecc_build_kdf_params
    - gcry_cipher_get_algo_keylen
    - memmove
    - gcry_cipher_open
    - log_printhex
    - log_error
    - gnupg_ecc_kem_kdf
    - gcry_mpi_set_opaque_copy
    - wipememory
    - log_info
    - gnupg_get_ecc_params
    - openpgp_md_algo_name
    - openpgp_oid_to_curve
    - log_debug
    - gcry_cipher_setkey
    - gpg_error_from_syserror
    - gpg_error
    - xfree
    - gpg_strerror
    - openpgp_cipher_algo_name
    - gcry_mpi_get_opaque
    - gcry_mpi_release
    - gcry_kem_encap
    - gcry_md_get_algo_dlen
    - fingerprint_from_pk
    - openpgp_oid_to_str
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_encrypt_ecdh (PKT_public_key *pk, gcry_mpi_t data,  gcry_mpi_t
      *resarr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:969,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:973,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:979,1
    - Dst: gcry_pk_encrypt
      Src: /src/gnupg/g10/pkglue.c:983,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/pkglue.c:987,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/pkglue.c:988,1
    - Dst: get_mpi_from_sexp
      Src: /src/gnupg/g10/pkglue.c:990,1
    - Dst: is_RSA
      Src: /src/gnupg/g10/pkglue.c:991,1
    - Dst: get_mpi_from_sexp
      Src: /src/gnupg/g10/pkglue.c:992,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/pkglue.c:995,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/pkglue.c:996,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/pkglue.c:997,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - pk
    - data
    - resarr
    argTypes:
    - PKT_public_key*
    - gcry_mpi_t
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 958
    functionDepth: 2
    functionLinenumber: 958
    functionLinenumberEnd: 999
    functionName: do_encrypt_rsa_elg
    functionSourceFile: /src/gnupg/g10/pkglue.c
    functionUses: 0
    functionsReached:
    - is_RSA
    - get_mpi_from_sexp
    - gcry_pk_encrypt
    - gcry_sexp_release
    - gcry_sexp_build
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_encrypt_rsa_elg (PKT_public_key *pk, gcry_mpi_t data,
      gcry_mpi_t *resarr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: do_encrypt_kem
      Src: /src/gnupg/g10/pkglue.c:1018,1
    - Dst: do_encrypt_ecdh
      Src: /src/gnupg/g10/pkglue.c:1020,1
    - Dst: do_encrypt_rsa_elg
      Src: /src/gnupg/g10/pkglue.c:1022,1
    - Dst: do_encrypt_rsa_elg
      Src: /src/gnupg/g10/pkglue.c:1024,1
    - Dst: gpg_error
      Src: /src/gnupg/g10/pkglue.c:1026,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - pk
    - data
    - seskey_algo
    - resarr
    argTypes:
    - PKT_public_key*
    - gcry_mpi_t
    - int
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1011
    functionDepth: 7
    functionLinenumber: 1011
    functionLinenumberEnd: 1027
    functionName: pk_encrypt
    functionSourceFile: /src/gnupg/g10/pkglue.c
    functionUses: 2
    functionsReached:
    - do_encrypt_ecdh
    - do_encrypt_rsa_elg
    - gpg_error
    - do_encrypt_kem
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t pk_encrypt (PKT_public_key *pk, gcry_mpi_t data, int seskey_algo,\n
      \           gcry_mpi_t *resarr)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:1039,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:1045,1
    - Dst: is_RSA
      Src: /src/gnupg/g10/pkglue.c:1049,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:1051,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/g10/pkglue.c:1058,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/pkglue.c:1060,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:1063,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkglue.c:1066,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/g10/pkglue.c:1071,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g10/pkglue.c:1073,1
    - Dst: openpgp_oid_is_ed25519
      Src: /src/gnupg/g10/pkglue.c:1078,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/g10/pkglue.c:1083,1
    - Dst: xfree
      Src: /src/gnupg/g10/pkglue.c:1084,1
    - Dst: gcry_pk_testkey
      Src: /src/gnupg/g10/pkglue.c:1092,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/g10/pkglue.c:1093,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - pkalgo
    - skey
    argTypes:
    - pubkey_algo_t
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1096
    functionName: pk_check_secret_key
    functionSourceFile: /src/gnupg/g10/pkglue.c
    functionUses: 1
    functionsReached:
    - is_RSA
    - gpg_error_from_syserror
    - openpgp_oid_is_ed25519
    - gcry_pk_testkey
    - xfree
    - gcry_sexp_release
    - gcry_sexp_build
    - openpgp_oid_to_str
    linkageType: ''
    returnType: int
    signature: int pk_check_secret_key (pubkey_algo_t pkalgo, gcry_mpi_t *skey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/session-env.c:128,1
    - Dst: strcmp
      Src: /src/gnupg/common/session-env.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: session_env_mod_stdenvnames
    functionSourceFile: /src/gnupg/common/session-env.c
    functionUses: 0
    functionsReached:
    - strcmp
    - DIM
    linkageType: ''
    returnType: void
    signature: void session_env_mod_stdenvnames (const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/session-env.c:155,1
    - Dst: strlen
      Src: /src/gnupg/common/session-env.c:156,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/session-env.c:157,1
    - Dst: log_error
      Src: /src/gnupg/common/session-env.c:160,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/session-env.c:161,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/session-env.c:161,1
    - Dst: DIM
      Src: /src/gnupg/common/session-env.c:165,1
    - Dst: stpcpy
      Src: /src/gnupg/common/session-env.c:171,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/session-env.c:173,1
    - Dst: DIM
      Src: /src/gnupg/common/session-env.c:181,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - iterator
    - r_assname
    argTypes:
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 189
    functionName: session_env_list_stdenvnames
    functionSourceFile: /src/gnupg/common/session-env.c
    functionUses: 0
    functionsReached:
    - log_error
    - strlen
    - gpg_error_from_syserror
    - DIM
    - gpgrt_annotate_leaked_object
    - gpg_strerror
    - stpcpy
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      session_env_list_stdenvnames (int *iterator, const char **r_assname)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/common/session-env.c:199,1
    - Dst: xtrycalloc
      Src: /src/gnupg/common/session-env.c:204,1
    - Dst: xfree
      Src: /src/gnupg/common/session-env.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 213
    functionName: session_env_new
    functionSourceFile: /src/gnupg/common/session-env.c
    functionUses: 4
    functionsReached:
    - xfree
    - xtrycalloc
    linkageType: ''
    returnType: session_env_t
    signature: session_env_t session_env_new (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/common/session-env.c:232,1
    - Dst: xfree
      Src: /src/gnupg/common/session-env.c:233,1
    - Dst: xfree
      Src: /src/gnupg/common/session-env.c:234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - se
    argTypes:
    - session_env_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 235
    functionName: session_env_release
    functionSourceFile: /src/gnupg/common/session-env.c
    functionUses: 2
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void session_env_release (session_env_t se)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/session-env.c:244,1
    - Dst: xfree
      Src: /src/gnupg/common/session-env.c:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - se
    - name
    argTypes:
    - session_env_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: delete_var
    functionSourceFile: /src/gnupg/common/session-env.c
    functionUses: 0
    functionsReached:
    - strcmp
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t delete_var (session_env_t se, const char *name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/session-env.c:267,1
    - Dst: strncmp
      Src: /src/gnupg/common/session-env.c:273,1
    - Dst: strlen
      Src: /src/gnupg/common/session-env.c:274,1
    - Dst: strlen
      Src: /src/gnupg/common/session-env.c:276,1
    - Dst: memcpy
      Src: /src/gnupg/common/session-env.c:280,1
    - Dst: xtrycalloc
      Src: /src/gnupg/common/session-env.c:298,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/session-env.c:300,1
    - Dst: xfree
      Src: /src/gnupg/common/session-env.c:304,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/session-env.c:314,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/session-env.c:316,1
    - Dst: memcpy
      Src: /src/gnupg/common/session-env.c:318,1
    - Dst: strcpy
      Src: /src/gnupg/common/session-env.c:321,1
    - Dst: xfree
      Src: /src/gnupg/common/session-env.c:323,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 5
    argNames:
    - se
    - string
    - namelen
    - explicit_value
    - set_default
    argTypes:
    - session_env_t
    - char*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 326
    functionName: update_var
    functionSourceFile: /src/gnupg/common/session-env.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    - gpg_error_from_syserror
    - strlen
    - xfree
    - strcpy
    - xtrycalloc
    - strncmp
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t update_var (session_env_t se, const char *string, size_t
      namelen,\n            const char *explicit_value, int set_default)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/session-env.c:344,1
    - Dst: strchr
      Src: /src/gnupg/common/session-env.c:345,1
    - Dst: gpg_error
      Src: /src/gnupg/common/session-env.c:347,1
    - Dst: delete_var
      Src: /src/gnupg/common/session-env.c:349,1
    - Dst: update_var
      Src: /src/gnupg/common/session-env.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - se
    - string
    argTypes:
    - session_env_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 352
    functionName: session_env_putenv
    functionSourceFile: /src/gnupg/common/session-env.c
    functionUses: 0
    functionsReached:
    - delete_var
    - gpg_error
    - strchr
    - update_var
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t session_env_putenv (session_env_t se, const char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/session-env.c:361,1
    - Dst: delete_var
      Src: /src/gnupg/common/session-env.c:363,1
    - Dst: update_var
      Src: /src/gnupg/common/session-env.c:365,1
    - Dst: strlen
      Src: /src/gnupg/common/session-env.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - se
    - name
    - value
    argTypes:
    - session_env_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 366
    functionName: session_env_setenv
    functionSourceFile: /src/gnupg/common/session-env.c
    functionUses: 2
    functionsReached:
    - delete_var
    - gpg_error
    - update_var
    - strlen
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t session_env_setenv (session_env_t se, const char *name,
      const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/session-env.c:385,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - se
    - name
    argTypes:
    - session_env_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 388
    functionName: session_env_getenv
    functionSourceFile: /src/gnupg/common/session-env.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      session_env_getenv (session_env_t se, const char *name)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/session-env.c:412,1
    - Dst: getenv
      Src: /src/gnupg/common/session-env.c:420,1
    - Dst: strcmp
      Src: /src/gnupg/common/session-env.c:421,1
    - Dst: gnupg_ttyname
      Src: /src/gnupg/common/session-env.c:422,1
    - Dst: gnupg_ttyname
      Src: /src/gnupg/common/session-env.c:424,1
    - Dst: update_var
      Src: /src/gnupg/common/session-env.c:434,1
    - Dst: strlen
      Src: /src/gnupg/common/session-env.c:434,1
    - Dst: strcmp
      Src: /src/gnupg/common/session-env.c:437,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 25
    argCount: 3
    argNames:
    - se
    - name
    - r_default
    argTypes:
    - session_env_t
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 446
    functionName: session_env_getenv_or_default
    functionSourceFile: /src/gnupg/common/session-env.c
    functionUses: 0
    functionsReached:
    - strlen
    - getenv
    - strcmp
    - gnupg_ttyname
    - update_var
    linkageType: ''
    returnType: char
    signature: "char *\nsession_env_getenv_or_default (session_env_t se, const char
      *name,\n                               int *r_default)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - se
    - iterator
    - r_value
    - r_default
    argTypes:
    - session_env_t
    - int*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 476
    functionName: session_env_listenv
    functionSourceFile: /src/gnupg/common/session-env.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\nsession_env_listenv (session_env_t se, int *iterator,\n                     const
      char **r_value, int *r_default)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make
      Src: /src/gnupg/common/exechelp-posix.c:84,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/exechelp-posix.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: my_error_from_syserror
    functionSourceFile: /src/gnupg/common/exechelp-posix.c
    functionUses: 0
    functionsReached:
    - gpg_err_make
    - gpg_err_code_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t my_error_from_syserror (void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/gnupg/common/exechelp-posix.c:115,1
    - Dst: readdir
      Src: /src/gnupg/common/exechelp-posix.c:118,1
    - Dst: atoi
      Src: /src/gnupg/common/exechelp-posix.c:123,1
    - Dst: closedir
      Src: /src/gnupg/common/exechelp-posix.c:127,1
    - Dst: getrlimit
      Src: /src/gnupg/common/exechelp-posix.c:136,1
    - Dst: getrlimit
      Src: /src/gnupg/common/exechelp-posix.c:141,1
    - Dst: sysconf
      Src: /src/gnupg/common/exechelp-posix.c:150,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 177
    functionName: get_max_fds
    functionSourceFile: /src/gnupg/common/exechelp-posix.c
    functionUses: 0
    functionsReached:
    - atoi
    - readdir
    - closedir
    - getrlimit
    - sysconf
    - opendir
    linkageType: ''
    returnType: int
    signature: int get_max_fds (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_max_fds
      Src: /src/gnupg/common/exechelp-posix.c:187,1
    - Dst: close
      Src: /src/gnupg/common/exechelp-posix.c:207,1
    - Dst: close
      Src: /src/gnupg/common/exechelp-posix.c:213,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/exechelp-posix.c:216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - first
    - except
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 217
    functionName: close_all_fds
    functionSourceFile: /src/gnupg/common/exechelp-posix.c
    functionUses: 0
    functionsReached:
    - close
    - get_max_fds
    - gpg_err_set_errno
    linkageType: ''
    returnType: void
    signature: void close_all_fds (int first, const int *except)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnupg/common/exechelp-posix.c:233,1
    - Dst: get_max_fds
      Src: /src/gnupg/common/exechelp-posix.c:239,1
    - Dst: calloc
      Src: /src/gnupg/common/exechelp-posix.c:241,1
    - Dst: fstat
      Src: /src/gnupg/common/exechelp-posix.c:247,1
    - Dst: realloc
      Src: /src/gnupg/common/exechelp-posix.c:254,1
    - Dst: free
      Src: /src/gnupg/common/exechelp-posix.c:257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 267
    functionName: get_all_open_fds
    functionSourceFile: /src/gnupg/common/exechelp-posix.c
    functionUses: 0
    functionsReached:
    - realloc
    - calloc
    - get_max_fds
    - fstat
    - free
    linkageType: ''
    returnType: int
    signature: 'int *

      get_all_open_fds (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/gnupg/common/exechelp-posix.c:275,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exechelp-posix.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filedes
    argTypes:
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 282
    functionName: do_create_pipe
    functionSourceFile: /src/gnupg/common/exechelp-posix.c
    functionUses: 0
    functionsReached:
    - my_error_from_syserror
    - pipe
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_create_pipe (int filedes[2])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/gnupg/common/exechelp-posix.c:292,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exechelp-posix.c:294,1
    - Dst: log_error
      Src: /src/gnupg/common/exechelp-posix.c:295,1
    - Dst: _
      Src: /src/gnupg/common/exechelp-posix.c:295,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/exechelp-posix.c:295,1
    - Dst: es_fdopen
      Src: /src/gnupg/common/exechelp-posix.c:304,1
    - Dst: es_fdopen
      Src: /src/gnupg/common/exechelp-posix.c:309,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exechelp-posix.c:313,1
    - Dst: log_error
      Src: /src/gnupg/common/exechelp-posix.c:314,1
    - Dst: _
      Src: /src/gnupg/common/exechelp-posix.c:314,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/exechelp-posix.c:315,1
    - Dst: close
      Src: /src/gnupg/common/exechelp-posix.c:316,1
    - Dst: close
      Src: /src/gnupg/common/exechelp-posix.c:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - r_fd
    - r_fp
    - outbound
    - nonblock
    argTypes:
    - gnupg_fd_t*
    - estream_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 322
    functionName: create_pipe_and_estream
    functionSourceFile: /src/gnupg/common/exechelp-posix.c
    functionUses: 0
    functionsReached:
    - my_error_from_syserror
    - pipe
    - log_error
    - close
    - _
    - gpg_strerror
    - es_fdopen
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t create_pipe_and_estream (gnupg_fd_t *r_fd, estream_t *r_fp,\n
      \                        int outbound, int nonblock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/exechelp-posix.c:332,1
    - Dst: create_pipe_and_estream
      Src: /src/gnupg/common/exechelp-posix.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - r_fd
    - r_fp
    - nonblock
    argTypes:
    - gnupg_fd_t*
    - estream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: gnupg_create_inbound_pipe
    functionSourceFile: /src/gnupg/common/exechelp-posix.c
    functionUses: 0
    functionsReached:
    - create_pipe_and_estream
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_create_inbound_pipe (gnupg_fd_t *r_fd, estream_t
      *r_fp, int nonblock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/exechelp-posix.c:345,1
    - Dst: create_pipe_and_estream
      Src: /src/gnupg/common/exechelp-posix.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - r_fd
    - r_fp
    - nonblock
    argTypes:
    - gnupg_fd_t*
    - estream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: gnupg_create_outbound_pipe
    functionSourceFile: /src/gnupg/common/exechelp-posix.c
    functionUses: 0
    functionsReached:
    - create_pipe_and_estream
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_create_outbound_pipe (gnupg_fd_t *r_fd, estream_t
      *r_fp, int nonblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_create_pipe
      Src: /src/gnupg/common/exechelp-posix.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - filedes
    - flags
    argTypes:
    - int[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: gnupg_create_pipe
    functionSourceFile: /src/gnupg/common/exechelp-posix.c
    functionUses: 3
    functionsReached:
    - do_create_pipe
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_create_pipe (int filedes[2], int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnupg/common/exechelp-posix.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: gnupg_close_pipe
    functionSourceFile: /src/gnupg/common/exechelp-posix.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void gnupg_close_pipe (int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct tm*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: cmp_time_s
    functionSourceFile: /src/gnupg/common/t-timestuff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_time_s (struct tm *a, struct tm *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/t-timestuff.c:96,1
    - Dst: time
      Src: /src/gnupg/common/t-timestuff.c:100,1
    - Dst: memset
      Src: /src/gnupg/common/t-timestuff.c:108,1
    - Dst: timegm
      Src: /src/gnupg/common/t-timestuff.c:116,1
    - Dst: mktime
      Src: /src/gnupg/common/t-timestuff.c:118,1
    - Dst: fail
      Src: /src/gnupg/common/t-timestuff.c:122,1
    - Dst: gmtime
      Src: /src/gnupg/common/t-timestuff.c:124,1
    - Dst: fail
      Src: /src/gnupg/common/t-timestuff.c:126,1
    - Dst: timegm
      Src: /src/gnupg/common/t-timestuff.c:132,1
    - Dst: mktime
      Src: /src/gnupg/common/t-timestuff.c:134,1
    - Dst: fail
      Src: /src/gnupg/common/t-timestuff.c:137,1
    - Dst: fail
      Src: /src/gnupg/common/t-timestuff.c:139,1
    - Dst: gmtime
      Src: /src/gnupg/common/t-timestuff.c:141,1
    - Dst: fail
      Src: /src/gnupg/common/t-timestuff.c:143,1
    - Dst: cmp_time_s
      Src: /src/gnupg/common/t-timestuff.c:144,1
    - Dst: fail
      Src: /src/gnupg/common/t-timestuff.c:145,1
    - Dst: cmp_time_s
      Src: /src/gnupg/common/t-timestuff.c:146,1
    - Dst: fail
      Src: /src/gnupg/common/t-timestuff.c:147,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 150
    functionName: test_timegm
    functionSourceFile: /src/gnupg/common/t-timestuff.c
    functionUses: 0
    functionsReached:
    - fail
    - DIM
    - mktime
    - timegm
    - cmp_time_s
    - memset
    - time
    - gmtime
    linkageType: ''
    returnType: void
    signature: void test_timegm (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/gnupg/common/t-timestuff.c:165,1
    - Dst: putenv
      Src: /src/gnupg/common/t-timestuff.c:167,1
    - Dst: xstrdup
      Src: /src/gnupg/common/t-timestuff.c:167,1
    - Dst: tzset
      Src: /src/gnupg/common/t-timestuff.c:169,1
    - Dst: test_timegm
      Src: /src/gnupg/common/t-timestuff.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 175
    functionName: main
    functionSourceFile: /src/gnupg/common/t-timestuff.c
    functionUses: 4
    functionsReached:
    - setenv
    - test_timegm
    - putenv
    - tzset
    - xstrdup
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - a
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: count_bits
    functionSourceFile: /src/gnupg/common/openpgp-fpr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int count_bits (const unsigned char *a, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: count_sos_bits
    functionSourceFile: /src/gnupg/common/openpgp-fpr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int count_sos_bits (const unsigned char *a, size_t len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/openpgp-fpr.c:89,1
    - Dst: gpg_error
      Src: /src/gnupg/common/openpgp-fpr.c:111,1
    - Dst: log_assert
      Src: /src/gnupg/common/openpgp-fpr.c:128,1
    - Dst: gcry_md_hash_buffers
      Src: /src/gnupg/common/openpgp-fpr.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 7
    argNames:
    - keyversion
    - pgpalgo
    - timestamp
    - iov
    - iovcnt
    - result
    - r_resultlen
    argTypes:
    - int
    - int
    - unsigned long
    - gcry_buffer_t*
    - int
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 151
    functionName: compute_openpgp_fpr
    functionSourceFile: /src/gnupg/common/openpgp-fpr.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - gcry_md_hash_buffers
    - log_assert
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t compute_openpgp_fpr (int keyversion, int pgpalgo, unsigned
      long timestamp,\n                     gcry_buffer_t *iov, int iovcnt,\n                     unsigned
      char *result, unsigned int *r_resultlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count_bits
      Src: /src/gnupg/common/openpgp-fpr.c:171,1
    - Dst: count_bits
      Src: /src/gnupg/common/openpgp-fpr.c:175,1
    - Dst: compute_openpgp_fpr
      Src: /src/gnupg/common/openpgp-fpr.c:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 8
    argNames:
    - keyversion
    - timestamp
    - m
    - mlen
    - e
    - elen
    - result
    - r_resultlen
    argTypes:
    - int
    - unsigned long
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 191
    functionName: compute_openpgp_fpr_rsa
    functionSourceFile: /src/gnupg/common/openpgp-fpr.c
    functionUses: 0
    functionsReached:
    - compute_openpgp_fpr
    - count_bits
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t compute_openpgp_fpr_rsa (int keyversion, unsigned long
      timestamp,\n                         const unsigned char *m, unsigned int mlen,\n
      \                        const unsigned char *e, unsigned int elen,\n                         unsigned
      char *result, unsigned int *r_resultlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 212
    functionName: default_ecdh_params
    functionSourceFile: /src/gnupg/common/openpgp-fpr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      default_ecdh_params (unsigned int nbits)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_curve_to_oid
      Src: /src/gnupg/common/openpgp-fpr.c:234,1
    - Dst: openpgp_oid_from_str
      Src: /src/gnupg/common/openpgp-fpr.c:236,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/common/openpgp-fpr.c:239,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/openpgp-fpr.c:242,1
    - Dst: count_sos_bits
      Src: /src/gnupg/common/openpgp-fpr.c:253,1
    - Dst: default_ecdh_params
      Src: /src/gnupg/common/openpgp-fpr.c:271,1
    - Dst: compute_openpgp_fpr
      Src: /src/gnupg/common/openpgp-fpr.c:278,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/openpgp-fpr.c:282,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 10
    argNames:
    - keyversion
    - timestamp
    - curvename
    - for_encryption
    - q
    - qlen
    - kdf
    - kdflen
    - result
    - r_resultlen
    argTypes:
    - int
    - unsigned long
    - char*
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 284
    functionName: compute_openpgp_fpr_ecc
    functionSourceFile: /src/gnupg/common/openpgp-fpr.c
    functionUses: 0
    functionsReached:
    - openpgp_oid_from_str
    - gpg_error_from_syserror
    - count_sos_bits
    - openpgp_curve_to_oid
    - compute_openpgp_fpr
    - gcry_mpi_get_opaque
    - default_ecdh_params
    - gcry_mpi_release
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t compute_openpgp_fpr_ecc (int keyversion, unsigned long
      timestamp,\n                         const char *curvename, int for_encryption,\n
      \                        const unsigned char *q, unsigned int qlen,\n                         const
      unsigned char *kdf, unsigned int kdflen,\n                         unsigned
      char *result, unsigned int *r_resultlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: my_gnupg_dirname
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      my_gnupg_dirname (void)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/common/homedir.c:164,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:164,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:165,1
    - Dst: strcpy
      Src: /src/gnupg/common/homedir.c:166,1
    - Dst: strrchr
      Src: /src/gnupg/common/homedir.c:167,1
    - Dst: strcpy
      Src: /src/gnupg/common/homedir.c:174,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 180
    functionName: my_fixed_default_homedir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - strlen
    - xmalloc
    - gpgrt_annotate_leaked_object
    - strcpy
    - strrchr
    linkageType: ''
    returnType: char
    signature: 'char *

      my_fixed_default_homedir (void)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/common/homedir.c:197,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:197,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:198,1
    - Dst: strcpy
      Src: /src/gnupg/common/homedir.c:199,1
    - Dst: strrchr
      Src: /src/gnupg/common/homedir.c:200,1
    - Dst: strcpy
      Src: /src/gnupg/common/homedir.c:205,1
    - Dst: strncmp
      Src: /src/gnupg/common/homedir.c:206,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 221
    functionName: gnupg_registry_dir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 2
    functionsReached:
    - strlen
    - xmalloc
    - gpgrt_annotate_leaked_object
    - strcpy
    - strrchr
    - strncmp
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_registry_dir (void)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/gnupg/common/homedir.c:246,1
    - Dst: dlsym
      Src: /src/gnupg/common/homedir.c:249,1
    - Dst: dlclose
      Src: /src/gnupg/common/homedir.c:252,1
    - Dst: func
      Src: /src/gnupg/common/homedir.c:259,1
    - Dst: wchar_to_utf8
      Src: /src/gnupg/common/homedir.c:260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - HWND
    - int
    - HANDLE
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 263
    functionName: w32_shgetfolderpath
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - func
    - dlopen
    - dlsym
    - wchar_to_utf8
    - dlclose
    linkageType: ''
    returnType: char
    signature: 'char *

      w32_shgetfolderpath (HWND a, int b, HANDLE c, DWORD d)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/common/homedir.c:276,1
    - Dst: es_fopen
      Src: /src/gnupg/common/homedir.c:277,1
    - Dst: log_info
      Src: /src/gnupg/common/homedir.c:280,1
    - Dst: _
      Src: /src/gnupg/common/homedir.c:280,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/homedir.c:281,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/homedir.c:281,1
    - Dst: es_fputs
      Src: /src/gnupg/common/homedir.c:285,1
    - Dst: log_info
      Src: /src/gnupg/common/homedir.c:287,1
    - Dst: _
      Src: /src/gnupg/common/homedir.c:287,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/homedir.c:288,1
    - Dst: es_ferror
      Src: /src/gnupg/common/homedir.c:288,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/homedir.c:289,1
    - Dst: gpg_error
      Src: /src/gnupg/common/homedir.c:290,1
    - Dst: es_fclose
      Src: /src/gnupg/common/homedir.c:291,1
    - Dst: es_fclose
      Src: /src/gnupg/common/homedir.c:293,1
    - Dst: log_info
      Src: /src/gnupg/common/homedir.c:295,1
    - Dst: _
      Src: /src/gnupg/common/homedir.c:295,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/homedir.c:296,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/homedir.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - dname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 302
    functionName: create_common_conf
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - make_filename
    - gpg_error_from_syserror
    - es_fclose
    - _
    - gpg_error
    - log_info
    - es_fopen
    - gpg_strerror
    - es_ferror
    - es_fputs
    linkageType: ''
    returnType: void
    signature: void create_common_conf (const char *dname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_absfilename
      Src: /src/gnupg/common/homedir.c:310,1
    - Dst: make_absfilename
      Src: /src/gnupg/common/homedir.c:311,1
    - Dst: standard_homedir
      Src: /src/gnupg/common/homedir.c:311,1
    - Dst: compare_filenames
      Src: /src/gnupg/common/homedir.c:312,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:313,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: is_gnupg_default_homedir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - standard_homedir
    - compare_filenames
    - xfree
    - make_absfilename
    linkageType: ''
    returnType: int
    signature: int is_gnupg_default_homedir (const char *dir)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/common/homedir.c:341,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:341,1
    - Dst: strcpy
      Src: /src/gnupg/common/homedir.c:345,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:348,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:352,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:353,1
    - Dst: xstrdup
      Src: /src/gnupg/common/homedir.c:355,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:356,1
    - Dst: strstr
      Src: /src/gnupg/common/homedir.c:370,1
    - Dst: xstrdup
      Src: /src/gnupg/common/homedir.c:376,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:388,1
    - Dst: xstrdup
      Src: /src/gnupg/common/homedir.c:390,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:391,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 39
    argCount: 1
    argNames:
    - newdir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 399
    functionName: copy_dir_with_fixup
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - strstr
    - strlen
    - xmalloc
    - strcpy
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      copy_dir_with_fixup (const char *newdir)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: w32_rootdir
      Src: /src/gnupg/common/homedir.c:416,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:419,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:420,1
    - Dst: w32_shgetfolderpath
      Src: /src/gnupg/common/homedir.c:426,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:430,1
    - Dst: my_gnupg_dirname
      Src: /src/gnupg/common/homedir.c:430,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:431,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:432,1
    - Dst: gnupg_access
      Src: /src/gnupg/common/homedir.c:435,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/common/homedir.c:436,1
    - Dst: create_common_conf
      Src: /src/gnupg/common/homedir.c:437,1
    - Dst: my_fixed_default_homedir
      Src: /src/gnupg/common/homedir.c:441,1
    - Dst: my_fixed_default_homedir
      Src: /src/gnupg/common/homedir.c:446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 448
    functionName: standard_homedir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 1
    functionsReached:
    - xstrconcat
    - w32_shgetfolderpath
    - my_gnupg_dirname
    - gnupg_mkdir
    - gnupg_access
    - gpgrt_annotate_leaked_object
    - xfree
    - w32_rootdir
    - my_fixed_default_homedir
    - create_common_conf
    linkageType: ''
    returnType: char
    signature: 'char *

      standard_homedir (void)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: w32_rootdir
      Src: /src/gnupg/common/homedir.c:459,1
    - Dst: standard_homedir
      Src: /src/gnupg/common/homedir.c:461,1
    - Dst: getenv
      Src: /src/gnupg/common/homedir.c:464,1
    - Dst: read_w32_registry_string
      Src: /src/gnupg/common/homedir.c:479,1
    - Dst: gnupg_registry_dir
      Src: /src/gnupg/common/homedir.c:480,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:484,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:490,1
    - Dst: standard_homedir
      Src: /src/gnupg/common/homedir.c:498,1
    - Dst: my_fixed_default_homedir
      Src: /src/gnupg/common/homedir.c:505,1
    - Dst: copy_dir_with_fixup
      Src: /src/gnupg/common/homedir.c:510,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:521,1
    - Dst: is_gnupg_default_homedir
      Src: /src/gnupg/common/homedir.c:525,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 452
    functionDepth: 3
    functionLinenumber: 452
    functionLinenumberEnd: 530
    functionName: default_homedir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 2
    functionsReached:
    - read_w32_registry_string
    - strlen
    - is_gnupg_default_homedir
    - getenv
    - standard_homedir
    - gpgrt_annotate_leaked_object
    - xfree
    - w32_rootdir
    - copy_dir_with_fixup
    - gnupg_registry_dir
    - my_fixed_default_homedir
    linkageType: ''
    returnType: char
    signature: 'char *

      default_homedir (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gnupg/common/homedir.c:538,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/homedir.c:539,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/homedir.c:540,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/homedir.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 542
    functionName: string_is_true
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - atoi
    - ascii_strcasecmp
    linkageType: ''
    returnType: int
    signature: int string_is_true (const char *s)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_access
      Src: /src/gnupg/common/homedir.c:573,1
    - Dst: es_fopen
      Src: /src/gnupg/common/homedir.c:577,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/homedir.c:580,1
    - Dst: log_info
      Src: /src/gnupg/common/homedir.c:581,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/homedir.c:581,1
    - Dst: es_read_line
      Src: /src/gnupg/common/homedir.c:588,1
    - Dst: trim_spaces
      Src: /src/gnupg/common/homedir.c:606,1
    - Dst: DIM
      Src: /src/gnupg/common/homedir.c:614,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:616,1
    - Dst: strncmp
      Src: /src/gnupg/common/homedir.c:617,1
    - Dst: trim_spaces
      Src: /src/gnupg/common/homedir.c:632,1
    - Dst: substitute_envvars
      Src: /src/gnupg/common/homedir.c:633,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/homedir.c:636,1
    - Dst: log_info
      Src: /src/gnupg/common/homedir.c:637,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/homedir.c:638,1
    - Dst: strcmp
      Src: /src/gnupg/common/homedir.c:640,1
    - Dst: string_is_true
      Src: /src/gnupg/common/homedir.c:642,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:646,1
    - Dst: strcmp
      Src: /src/gnupg/common/homedir.c:648,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:650,1
    - Dst: strcmp
      Src: /src/gnupg/common/homedir.c:653,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:655,1
    - Dst: strcmp
      Src: /src/gnupg/common/homedir.c:658,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:660,1
    - Dst: strcmp
      Src: /src/gnupg/common/homedir.c:663,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:665,1
    - Dst: strcmp
      Src: /src/gnupg/common/homedir.c:668,1
    - Dst: string_is_true
      Src: /src/gnupg/common/homedir.c:670,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:671,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:674,1
    - Dst: es_ferror
      Src: /src/gnupg/common/homedir.c:676,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/homedir.c:678,1
    - Dst: log_info
      Src: /src/gnupg/common/homedir.c:679,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/homedir.c:679,1
    - Dst: es_fclose
      Src: /src/gnupg/common/homedir.c:682,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:683,1
    - Dst: strpbrk
      Src: /src/gnupg/common/homedir.c:687,1
    - Dst: log_info
      Src: /src/gnupg/common/homedir.c:691,1
    - Dst: log_info
      Src: /src/gnupg/common/homedir.c:696,1
    - Dst: log_info
      Src: /src/gnupg/common/homedir.c:701,1
    - Dst: log_info
      Src: /src/gnupg/common/homedir.c:706,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:714,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:719,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:720,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:722,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:727,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:728,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:730,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:735,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:736,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:738,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:748,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:749,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:750,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:751,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 131
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 757
    functionName: parse_gpgconf_ctl
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - strpbrk
    - gpg_error_from_syserror
    - strlen
    - es_fclose
    - DIM
    - es_read_line
    - trim_spaces
    - gnupg_access
    - substitute_envvars
    - strcmp
    - gpgrt_annotate_leaked_object
    - log_info
    - gpg_strerror
    - es_fopen
    - xfree
    - string_is_true
    - es_ferror
    - strncmp
    linkageType: ''
    returnType: void
    signature: void parse_gpgconf_ctl (const char *fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:769,1
    - Dst: gnupg_access
      Src: /src/gnupg/common/homedir.c:770,1
    - Dst: strcpy
      Src: /src/gnupg/common/homedir.c:772,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:772,1
    - Dst: parse_gpgconf_ctl
      Src: /src/gnupg/common/homedir.c:773,1
    - Dst: log_get_prefix
      Src: /src/gnupg/common/homedir.c:785,1
    - Dst: log_set_prefix
      Src: /src/gnupg/common/homedir.c:786,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:789,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - dir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 790
    functionName: check_portable_app
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - strlen
    - xstrconcat
    - log_set_prefix
    - gnupg_access
    - strcpy
    - xfree
    - log_get_prefix
    - parse_gpgconf_ctl
    linkageType: ''
    returnType: void
    signature: void check_portable_app (const char *dir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/common/homedir.c:805,1
    - Dst: GetModuleFileNameW
      Src: /src/gnupg/common/homedir.c:806,1
    - Dst: WideCharToMultiByte
      Src: /src/gnupg/common/homedir.c:807,1
    - Dst: log_debug
      Src: /src/gnupg/common/homedir.c:812,1
    - Dst: w32_strerror
      Src: /src/gnupg/common/homedir.c:812,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 816
    functionName: w32_myproc_self
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - WideCharToMultiByte
    - xmalloc
    - GetModuleFileNameW
    - w32_strerror
    - log_debug
    linkageType: ''
    returnType: char
    signature: 'char *

      w32_myproc_self (void)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: w32_myproc_self
      Src: /src/gnupg/common/homedir.c:830,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:831,1
    - Dst: strrchr
      Src: /src/gnupg/common/homedir.c:833,1
    - Dst: check_portable_app
      Src: /src/gnupg/common/homedir.c:838,1
    - Dst: strrchr
      Src: /src/gnupg/common/homedir.c:842,1
    - Dst: strcmp
      Src: /src/gnupg/common/homedir.c:843,1
    - Dst: log_debug
      Src: /src/gnupg/common/homedir.c:851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 820
    functionDepth: 3
    functionLinenumber: 820
    functionLinenumberEnd: 860
    functionName: w32_rootdir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 2
    functionsReached:
    - check_portable_app
    - w32_myproc_self
    - strcmp
    - gpgrt_annotate_leaked_object
    - strrchr
    - log_debug
    linkageType: ''
    returnType: char
    signature: 'char *

      w32_rootdir (void)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/common/homedir.c:880,1
    - Dst: readlink
      Src: /src/gnupg/common/homedir.c:881,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/homedir.c:884,1
    - Dst: getenv
      Src: /src/gnupg/common/homedir.c:887,1
    - Dst: log_info
      Src: /src/gnupg/common/homedir.c:891,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/homedir.c:892,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:893,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:894,1
    - Dst: log_info
      Src: /src/gnupg/common/homedir.c:895,1
    - Dst: log_info
      Src: /src/gnupg/common/homedir.c:907,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:911,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - with_fallback
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 915
    functionName: unix_myproc_self
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - xstrconcat
    - getenv
    - xmalloc
    - log_info
    - gpg_strerror
    - xfree
    - readlink
    linkageType: ''
    returnType: char
    signature: 'char *

      unix_myproc_self (int with_fallback)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/common/homedir.c:931,1
    - Dst: proc_pidpath
      Src: /src/gnupg/common/homedir.c:932,1
    - Dst: getpid
      Src: /src/gnupg/common/homedir.c:932,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/homedir.c:935,1
    - Dst: getenv
      Src: /src/gnupg/common/homedir.c:940,1
    - Dst: log_info
      Src: /src/gnupg/common/homedir.c:942,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/homedir.c:943,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:944,1
    - Dst: unix_myproc_self
      Src: /src/gnupg/common/homedir.c:945,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:949,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - with_fallback
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 953
    functionName: macos_myproc_self
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - getenv
    - unix_myproc_self
    - xmalloc
    - log_info
    - proc_pidpath
    - gpg_strerror
    - xfree
    - getpid
    linkageType: ''
    returnType: char
    signature: 'char *

      macos_myproc_self (int with_fallback)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: macos_myproc_self
      Src: /src/gnupg/common/homedir.c:978,1
    - Dst: unix_myproc_self
      Src: /src/gnupg/common/homedir.c:980,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:984,1
    - Dst: strrchr
      Src: /src/gnupg/common/homedir.c:989,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:992,1
    - Dst: strrchr
      Src: /src/gnupg/common/homedir.c:997,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:1001,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:1008,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:1009,1
    - Dst: parse_gpgconf_ctl
      Src: /src/gnupg/common/homedir.c:1011,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:1012,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 1
    argNames:
    - wantdir
    argTypes:
    - enum wantdir_values
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 969
    functionDepth: 3
    functionLinenumber: 969
    functionLinenumberEnd: 1026
    functionName: unix_rootdir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - xstrconcat
    - unix_myproc_self
    - macos_myproc_self
    - xfree
    - strrchr
    - parse_gpgconf_ctl
    linkageType: ''
    returnType: char
    signature: 'char *

      unix_rootdir (enum wantdir_values wantdir)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: w32_rootdir
      Src: /src/gnupg/common/homedir.c:1045,1
    - Dst: w32_shgetfolderpath
      Src: /src/gnupg/common/homedir.c:1049,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:1052,1
    - Dst: xstrdup
      Src: /src/gnupg/common/homedir.c:1060,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:1062,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1031
    functionDepth: 4
    functionLinenumber: 1031
    functionLinenumberEnd: 1066
    functionName: w32_commondir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - xstrconcat
    - w32_shgetfolderpath
    - gpgrt_annotate_leaked_object
    - w32_rootdir
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      w32_commondir (void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isatty
      Src: /src/gnupg/common/homedir.c:1079,1
    - Dst: _get_osfhandle
      Src: /src/gnupg/common/homedir.c:1082,1
    - Dst: GetConsoleMode
      Src: /src/gnupg/common/homedir.c:1086,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1090
    functionName: gnupg_isatty
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 4
    functionsReached:
    - _get_osfhandle
    - GetConsoleMode
    - isatty
    linkageType: ''
    returnType: int
    signature: int gnupg_isatty (int fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: default_homedir
      Src: /src/gnupg/common/homedir.c:1103,1
    - Dst: copy_dir_with_fixup
      Src: /src/gnupg/common/homedir.c:1106,1
    - Dst: is_gnupg_default_homedir
      Src: /src/gnupg/common/homedir.c:1110,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:1113,1
    - Dst: make_absfilename
      Src: /src/gnupg/common/homedir.c:1114,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:1115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - newdir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1097
    functionDepth: 4
    functionLinenumber: 1097
    functionLinenumberEnd: 1120
    functionName: gnupg_set_homedir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 10
    functionsReached:
    - make_absfilename
    - default_homedir
    - is_gnupg_default_homedir
    - xfree
    - copy_dir_with_fixup
    linkageType: ''
    returnType: void
    signature: void gnupg_set_homedir (const char *newdir)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: standard_homedir
      Src: /src/gnupg/common/homedir.c:1133,1
    - Dst: HAVE_W32_SYSTEM
      Src: /src/gnupg/common/homedir.c:1136,1
    - Dst: compare_filenames
      Src: /src/gnupg/common/homedir.c:1137,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:1140,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:1140,1
    - Dst: strcmp
      Src: /src/gnupg/common/homedir.c:1141,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:1141,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:1141,1
    - Dst: compare_filenames
      Src: /src/gnupg/common/homedir.c:1142,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/common/homedir.c:1146,1
    - Dst: log_fatal
      Src: /src/gnupg/common/homedir.c:1147,1
    - Dst: _
      Src: /src/gnupg/common/homedir.c:1147,1
    - Dst: strerror
      Src: /src/gnupg/common/homedir.c:1148,1
    - Dst: log_info
      Src: /src/gnupg/common/homedir.c:1152,1
    - Dst: _
      Src: /src/gnupg/common/homedir.c:1152,1
    - Dst: create_common_conf
      Src: /src/gnupg/common/homedir.c:1153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - fname
    - quiet
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1130
    functionDepth: 3
    functionLinenumber: 1130
    functionLinenumberEnd: 1156
    functionName: gnupg_maybe_make_homedir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 3
    functionsReached:
    - HAVE_W32_SYSTEM
    - strlen
    - gnupg_mkdir
    - log_fatal
    - compare_filenames
    - _
    - strcmp
    - standard_homedir
    - log_info
    - strerror
    - create_common_conf
    linkageType: ''
    returnType: void
    signature: void gnupg_maybe_make_homedir (const char *fname, int quiet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: w32_myproc_self
      Src: /src/gnupg/common/homedir.c:1166,1
    - Dst: macos_myproc_self
      Src: /src/gnupg/common/homedir.c:1168,1
    - Dst: unix_myproc_self
      Src: /src/gnupg/common/homedir.c:1170,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:1174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1161
    functionDepth: 3
    functionLinenumber: 1161
    functionLinenumberEnd: 1178
    functionName: gnupg_myproc_self
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 1
    functionsReached:
    - w32_myproc_self
    - macos_myproc_self
    - unix_myproc_self
    - xfree
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_myproc_self (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_absfilename
      Src: /src/gnupg/common/homedir.c:1190,1
    - Dst: default_homedir
      Src: /src/gnupg/common/homedir.c:1190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1185
    functionDepth: 4
    functionLinenumber: 1185
    functionLinenumberEnd: 1192
    functionName: gnupg_homedir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 32
    functionsReached:
    - default_homedir
    - make_absfilename
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_homedir (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1200
    functionName: gnupg_default_homedir_p
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnupg_default_homedir_p (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemDirectoryA
      Src: /src/gnupg/common/homedir.c:1216,1
    - Dst: xstrdup
      Src: /src/gnupg/common/homedir.c:1218,1
    - Dst: xstrdup
      Src: /src/gnupg/common/homedir.c:1220,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:1221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1229
    functionName: gnupg_daemon_rootdir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - GetSystemDirectoryA
    - gpgrt_annotate_leaked_object
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_daemon_rootdir (void)'
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_homedir
      Src: /src/gnupg/common/homedir.c:1261,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:1265,1
    - Dst: w32_rootdir
      Src: /src/gnupg/common/homedir.c:1265,1
    - Dst: my_gnupg_dirname
      Src: /src/gnupg/common/homedir.c:1265,1
    - Dst: w32_shgetfolderpath
      Src: /src/gnupg/common/homedir.c:1271,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:1276,1
    - Dst: my_gnupg_dirname
      Src: /src/gnupg/common/homedir.c:1276,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:1277,1
    - Dst: gnupg_access
      Src: /src/gnupg/common/homedir.c:1278,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/common/homedir.c:1279,1
    - Dst: xstrdup
      Src: /src/gnupg/common/homedir.c:1283,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/common/homedir.c:1283,1
    - Dst: ascii_strlwr
      Src: /src/gnupg/common/homedir.c:1303,1
    - Dst: xstrdup
      Src: /src/gnupg/common/homedir.c:1303,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/common/homedir.c:1303,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/common/homedir.c:1307,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:1307,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:1308,1
    - Dst: zb32_encode
      Src: /src/gnupg/common/homedir.c:1309,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:1315,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:1316,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:1317,1
    - Dst: gnupg_stat
      Src: /src/gnupg/common/homedir.c:1324,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/common/homedir.c:1331,1
    - Dst: gnupg_stat
      Src: /src/gnupg/common/homedir.c:1334,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:1348,1
    - Dst: xstrdup
      Src: /src/gnupg/common/homedir.c:1360,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/common/homedir.c:1360,1
    - Dst: xstrdup
      Src: /src/gnupg/common/homedir.c:1368,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/common/homedir.c:1368,1
    - Dst: my_gnupg_dirname
      Src: /src/gnupg/common/homedir.c:1389,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/common/homedir.c:1395,1
    - Dst: unix_rootdir
      Src: /src/gnupg/common/homedir.c:1403,1
    - Dst: snprintf
      Src: /src/gnupg/common/homedir.c:1410,1
    - Dst: getuid
      Src: /src/gnupg/common/homedir.c:1411,1
    - Dst: stat
      Src: /src/gnupg/common/homedir.c:1413,1
    - Dst: S_ISDIR
      Src: /src/gnupg/common/homedir.c:1413,1
    - Dst: getuid
      Src: /src/gnupg/common/homedir.c:1422,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:1429,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:1429,1
    - Dst: strcat
      Src: /src/gnupg/common/homedir.c:1434,1
    - Dst: strcat
      Src: /src/gnupg/common/homedir.c:1435,1
    - Dst: stat
      Src: /src/gnupg/common/homedir.c:1440,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/common/homedir.c:1454,1
    - Dst: stat
      Src: /src/gnupg/common/homedir.c:1460,1
    - Dst: S_ISDIR
      Src: /src/gnupg/common/homedir.c:1468,1
    - Dst: getuid
      Src: /src/gnupg/common/homedir.c:1469,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/common/homedir.c:1487,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/common/homedir.c:1488,1
    - Dst: strlen
      Src: /src/gnupg/common/homedir.c:1488,1
    - Dst: zb32_encode
      Src: /src/gnupg/common/homedir.c:1489,1
    - Dst: strconcat
      Src: /src/gnupg/common/homedir.c:1495,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:1496,1
    - Dst: stat
      Src: /src/gnupg/common/homedir.c:1507,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/common/homedir.c:1514,1
    - Dst: stat
      Src: /src/gnupg/common/homedir.c:1517,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:1531,1
    - Dst: S_ISDIR
      Src: /src/gnupg/common/homedir.c:1536,1
    - Dst: getuid
      Src: /src/gnupg/common/homedir.c:1537,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:1543,1
    - Dst: xstrdup
      Src: /src/gnupg/common/homedir.c:1550,1
    - Dst: xstrdup
      Src: /src/gnupg/common/homedir.c:1557,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/common/homedir.c:1557,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 179
    argCount: 2
    argNames:
    - skip_checks
    - r_info
    argTypes:
    - int
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1248
    functionDepth: 5
    functionLinenumber: 1248
    functionLinenumberEnd: 1563
    functionName: _gnupg_socketdir_internal
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 1
    functionsReached:
    - gcry_md_hash_buffer
    - strlen
    - w32_shgetfolderpath
    - gnupg_homedir
    - xstrdup
    - gnupg_stat
    - zb32_encode
    - gnupg_access
    - w32_rootdir
    - strcat
    - my_gnupg_dirname
    - ascii_strlwr
    - gnupg_mkdir
    - xfree
    - getuid
    - stat
    - xstrconcat
    - snprintf
    - strconcat
    - S_ISDIR
    - unix_rootdir
    linkageType: ''
    returnType: char
    signature: 'char *

      _gnupg_socketdir_internal (int skip_checks, unsigned *r_info)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gnupg_socketdir_internal
      Src: /src/gnupg/common/homedir.c:1578,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:1579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1570
    functionDepth: 6
    functionLinenumber: 1570
    functionLinenumberEnd: 1583
    functionName: gnupg_socketdir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 1
    functionsReached:
    - gpgrt_annotate_leaked_object
    - _gnupg_socketdir_internal
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_socketdir (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:1597,1
    - Dst: w32_commondir
      Src: /src/gnupg/common/homedir.c:1597,1
    - Dst: my_gnupg_dirname
      Src: /src/gnupg/common/homedir.c:1598,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:1599,1
    - Dst: unix_rootdir
      Src: /src/gnupg/common/homedir.c:1603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1589
    functionDepth: 5
    functionLinenumber: 1589
    functionLinenumberEnd: 1609
    functionName: gnupg_sysconfdir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 10
    functionsReached:
    - xstrconcat
    - my_gnupg_dirname
    - gpgrt_annotate_leaked_object
    - unix_rootdir
    - w32_commondir
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_sysconfdir (void)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: w32_rootdir
      Src: /src/gnupg/common/homedir.c:1619,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:1624,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:1625,1
    - Dst: unix_rootdir
      Src: /src/gnupg/common/homedir.c:1632,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:1637,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:1638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1612
    functionDepth: 4
    functionLinenumber: 1612
    functionLinenumberEnd: 1645
    functionName: gnupg_bindir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 2
    functionsReached:
    - xstrconcat
    - gpgrt_annotate_leaked_object
    - w32_rootdir
    - unix_rootdir
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_bindir (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_bindir
      Src: /src/gnupg/common/homedir.c:1654,1
    - Dst: unix_rootdir
      Src: /src/gnupg/common/homedir.c:1659,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:1664,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:1665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1650
    functionDepth: 5
    functionLinenumber: 1650
    functionLinenumberEnd: 1672
    functionName: gnupg_libexecdir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 1
    functionsReached:
    - xstrconcat
    - gpgrt_annotate_leaked_object
    - gnupg_bindir
    - unix_rootdir
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_libexecdir (void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:1682,1
    - Dst: w32_rootdir
      Src: /src/gnupg/common/homedir.c:1682,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:1683,1
    - Dst: unix_rootdir
      Src: /src/gnupg/common/homedir.c:1689,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:1694,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:1695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1674
    functionDepth: 4
    functionLinenumber: 1674
    functionLinenumberEnd: 1702
    functionName: gnupg_libdir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 2
    functionsReached:
    - xstrconcat
    - gpgrt_annotate_leaked_object
    - w32_rootdir
    - unix_rootdir
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_libdir (void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:1712,1
    - Dst: w32_rootdir
      Src: /src/gnupg/common/homedir.c:1712,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:1714,1
    - Dst: unix_rootdir
      Src: /src/gnupg/common/homedir.c:1720,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:1725,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:1726,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1704
    functionDepth: 4
    functionLinenumber: 1704
    functionLinenumberEnd: 1733
    functionName: gnupg_datadir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 3
    functionsReached:
    - xstrconcat
    - gpgrt_annotate_leaked_object
    - w32_rootdir
    - unix_rootdir
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_datadir (void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:1744,1
    - Dst: w32_rootdir
      Src: /src/gnupg/common/homedir.c:1744,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:1746,1
    - Dst: unix_rootdir
      Src: /src/gnupg/common/homedir.c:1752,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:1757,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:1758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1736
    functionDepth: 4
    functionLinenumber: 1736
    functionLinenumberEnd: 1765
    functionName: gnupg_localedir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 1
    functionsReached:
    - xstrconcat
    - gpgrt_annotate_leaked_object
    - w32_rootdir
    - unix_rootdir
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_localedir (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/common/homedir.c:1776,1
    - Dst: gnupg_socketdir
      Src: /src/gnupg/common/homedir.c:1776,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:1777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1769
    functionDepth: 7
    functionLinenumber: 1769
    functionLinenumberEnd: 1780
    functionName: gpg_agent_socket_name
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - gnupg_socketdir
    - make_filename
    - gpgrt_annotate_leaked_object
    linkageType: ''
    returnType: char
    signature: 'char *

      gpg_agent_socket_name (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/common/homedir.c:1790,1
    - Dst: gnupg_socketdir
      Src: /src/gnupg/common/homedir.c:1790,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:1791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1783
    functionDepth: 7
    functionLinenumber: 1783
    functionLinenumberEnd: 1794
    functionName: dirmngr_socket_name
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - gnupg_socketdir
    - make_filename
    - gpgrt_annotate_leaked_object
    linkageType: ''
    returnType: char
    signature: 'char *

      dirmngr_socket_name (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/common/homedir.c:1805,1
    - Dst: gnupg_socketdir
      Src: /src/gnupg/common/homedir.c:1805,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:1806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1798
    functionDepth: 7
    functionLinenumber: 1798
    functionLinenumberEnd: 1809
    functionName: keyboxd_socket_name
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - gnupg_socketdir
    - make_filename
    - gpgrt_annotate_leaked_object
    linkageType: ''
    returnType: char
    signature: 'char *

      keyboxd_socket_name (void)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:1843,1
    - Dst: DIM
      Src: /src/gnupg/common/homedir.c:1851,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/homedir.c:1855,1
    - Dst: rfnc
      Src: /src/gnupg/common/homedir.c:1855,1
    - Dst: gnupg_access
      Src: /src/gnupg/common/homedir.c:1856,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:1859,1
    - Dst: xfree
      Src: /src/gnupg/common/homedir.c:1866,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/homedir.c:1869,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - reset
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1814
    functionDepth: 1
    functionLinenumber: 1814
    functionLinenumberEnd: 1873
    functionName: get_default_pinentry_name
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - xstrconcat
    - DIM
    - gnupg_access
    - gpgrt_annotate_leaked_object
    - xfree
    - rfnc
    linkageType: ''
    returnType: char
    signature: 'char *

      get_default_pinentry_name (int reset)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/homedir.c:1896,1
    - Dst: log_assert
      Src: /src/gnupg/common/homedir.c:1897,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/homedir.c:1898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newdir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1899
    functionName: gnupg_set_builddir
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 1
    functionsReached:
    - xtrystrdup
    - log_assert
    linkageType: ''
    returnType: void
    signature: void gnupg_set_builddir (const char *newdir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/common/homedir.c:1913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1906
    functionDepth: 0
    functionLinenumber: 1906
    functionLinenumberEnd: 1915
    functionName: gnupg_set_builddir_from_env
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - getenv
    linkageType: ''
    returnType: void
    signature: void gnupg_set_builddir_from_env (void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_set_builddir_from_env
      Src: /src/gnupg/common/homedir.c:1923,1
    - Dst: X
      Src: /src/gnupg/common/homedir.c:1944,1
    - Dst: get_default_pinentry_name
      Src: /src/gnupg/common/homedir.c:1951,1
    - Dst: X
      Src: /src/gnupg/common/homedir.c:1958,1
    - Dst: X
      Src: /src/gnupg/common/homedir.c:1965,1
    - Dst: X
      Src: /src/gnupg/common/homedir.c:1972,1
    - Dst: X
      Src: /src/gnupg/common/homedir.c:1979,1
    - Dst: X
      Src: /src/gnupg/common/homedir.c:1986,1
    - Dst: X
      Src: /src/gnupg/common/homedir.c:1993,1
    - Dst: X
      Src: /src/gnupg/common/homedir.c:1997,1
    - Dst: X
      Src: /src/gnupg/common/homedir.c:2000,1
    - Dst: X
      Src: /src/gnupg/common/homedir.c:2003,1
    - Dst: X
      Src: /src/gnupg/common/homedir.c:2006,1
    - Dst: X
      Src: /src/gnupg/common/homedir.c:2009,1
    - Dst: X
      Src: /src/gnupg/common/homedir.c:2012,1
    - Dst: X
      Src: /src/gnupg/common/homedir.c:2015,1
    - Dst: X
      Src: /src/gnupg/common/homedir.c:2018,1
    - Dst: BUG
      Src: /src/gnupg/common/homedir.c:2021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 1
    argNames:
    - which
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2024
      start: 1920
    functionDepth: 2
    functionLinenumber: 1920
    functionLinenumberEnd: 2024
    functionName: gnupg_module_name
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 16
    functionsReached:
    - X
    - get_default_pinentry_name
    - gnupg_set_builddir_from_env
    - BUG
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_module_name (int which)'
  - 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: 1937
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1937
    functionName: X
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_default_pinentry_name
      Src: /src/gnupg/common/homedir.c:2032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 2029
    functionDepth: 2
    functionLinenumber: 2029
    functionLinenumberEnd: 2033
    functionName: gnupg_module_name_flush_some
    functionSourceFile: /src/gnupg/common/homedir.c
    functionUses: 0
    functionsReached:
    - get_default_pinentry_name
    linkageType: ''
    returnType: void
    signature: void gnupg_module_name_flush_some (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/common/mkdir_p.c:56,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/mkdir_p.c:58,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/mkdir_p.c:58,1
    - Dst: make_filename_try
      Src: /src/gnupg/common/mkdir_p.c:63,1
    - Dst: make_filename_try
      Src: /src/gnupg/common/mkdir_p.c:65,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/mkdir_p.c:68,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/mkdir_p.c:68,1
    - Dst: gnupg_stat
      Src: /src/gnupg/common/mkdir_p.c:81,1
    - Dst: S_ISDIR
      Src: /src/gnupg/common/mkdir_p.c:83,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/mkdir_p.c:87,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/mkdir_p.c:114,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/mkdir_p.c:114,1
    - Dst: assert
      Src: /src/gnupg/common/mkdir_p.c:119,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/common/mkdir_p.c:127,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/mkdir_p.c:129,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/mkdir_p.c:129,1
    - Dst: xfree
      Src: /src/gnupg/common/mkdir_p.c:136,1
    - Dst: xfree
      Src: /src/gnupg/common/mkdir_p.c:137,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 1
    argNames:
    - directory_components
    argTypes:
    - char**
    assertStmts:
    - condition: (i >= -1)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/gnupg/common/mkdir_p.c
    constantsTouched: []
    func_position:
      end: 142
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 142
    functionName: gnupg_amkdir_p
    functionSourceFile: /src/gnupg/common/mkdir_p.c
    functionUses: 0
    functionsReached:
    - gpg_err_code_from_syserror
    - assert
    - gnupg_mkdir
    - gpg_err_make
    - xtrycalloc
    - S_ISDIR
    - xfree
    - make_filename_try
    - gnupg_stat
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_amkdir_p (const char **directory_components)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/common/mkdir_p.c:154,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/mkdir_p.c:156,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/mkdir_p.c:156,1
    - Dst: va_start
      Src: /src/gnupg/common/mkdir_p.c:160,1
    - Dst: xtryrealloc
      Src: /src/gnupg/common/mkdir_p.c:168,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/mkdir_p.c:171,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/mkdir_p.c:172,1
    - Dst: va_arg
      Src: /src/gnupg/common/mkdir_p.c:177,1
    - Dst: va_end
      Src: /src/gnupg/common/mkdir_p.c:179,1
    - Dst: gnupg_amkdir_p
      Src: /src/gnupg/common/mkdir_p.c:182,1
    - Dst: xfree
      Src: /src/gnupg/common/mkdir_p.c:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - directory_component
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 187
    functionName: gnupg_mkdir_p
    functionSourceFile: /src/gnupg/common/mkdir_p.c
    functionUses: 0
    functionsReached:
    - va_end
    - gpg_err_code_from_syserror
    - gpg_err_make
    - gnupg_amkdir_p
    - xtryrealloc
    - xfree
    - va_start
    - va_arg
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_mkdir_p (const char *directory_component, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - string
    - c
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: string_count_chr
    functionSourceFile: /src/gnupg/common/mbox-util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int string_count_chr (const char *string, int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - c
    - length
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: mem_count_chr
    functionSourceFile: /src/gnupg/common/mbox-util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mem_count_chr (const void *buffer, int c, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: string_has_ctrl_or_space
    functionSourceFile: /src/gnupg/common/mbox-util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int string_has_ctrl_or_space (const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/common/mbox-util.c:75,1
    - Dst: strstr
      Src: /src/gnupg/common/mbox-util.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: has_dotdot_after_at
    functionSourceFile: /src/gnupg/common/mbox-util.c
    functionUses: 0
    functionsReached:
    - strchr
    - strstr
    linkageType: ''
    returnType: int
    signature: int has_dotdot_after_at (const char *string)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/common/mbox-util.c:109,1
    - Dst: strchr
      Src: /src/gnupg/common/mbox-util.c:110,1
    - Dst: strchr
      Src: /src/gnupg/common/mbox-util.c:112,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 116
    functionName: has_invalid_email_chars
    functionSourceFile: /src/gnupg/common/mbox-util.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int has_invalid_email_chars (const void *buffer, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_invalid_email_chars
      Src: /src/gnupg/common/mbox-util.c:128,1
    - Dst: mem_count_chr
      Src: /src/gnupg/common/mbox-util.c:129,1
    - Dst: gnupg_memstr
      Src: /src/gnupg/common/mbox-util.c:133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - name_arg
    - namelen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: is_valid_mailbox_mem
    functionSourceFile: /src/gnupg/common/mbox-util.c
    functionUses: 2
    functionsReached:
    - has_invalid_email_chars
    - mem_count_chr
    - gnupg_memstr
    linkageType: ''
    returnType: int
    signature: int is_valid_mailbox_mem (const void *name_arg, size_t namelen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_mailbox_mem
      Src: /src/gnupg/common/mbox-util.c:142,1
    - Dst: strlen
      Src: /src/gnupg/common/mbox-util.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: is_valid_mailbox
    functionSourceFile: /src/gnupg/common/mbox-util.c
    functionUses: 9
    functionsReached:
    - is_valid_mailbox_mem
    - strlen
    linkageType: ''
    returnType: int
    signature: int is_valid_mailbox (const char *name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/common/mbox-util.c:158,1
    - Dst: strchr
      Src: /src/gnupg/common/mbox-util.c:163,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/mbox-util.c:167,1
    - Dst: strncpy
      Src: /src/gnupg/common/mbox-util.c:170,1
    - Dst: string_count_chr
      Src: /src/gnupg/common/mbox-util.c:174,1
    - Dst: string_has_ctrl_or_space
      Src: /src/gnupg/common/mbox-util.c:178,1
    - Dst: has_dotdot_after_at
      Src: /src/gnupg/common/mbox-util.c:179,1
    - Dst: xfree
      Src: /src/gnupg/common/mbox-util.c:181,1
    - Dst: is_valid_mailbox
      Src: /src/gnupg/common/mbox-util.c:189,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/mbox-util.c:196,1
    - Dst: strchr
      Src: /src/gnupg/common/mbox-util.c:205,1
    - Dst: strchr
      Src: /src/gnupg/common/mbox-util.c:211,1
    - Dst: strchr
      Src: /src/gnupg/common/mbox-util.c:212,1
    - Dst: memmove
      Src: /src/gnupg/common/mbox-util.c:217,1
    - Dst: strlen
      Src: /src/gnupg/common/mbox-util.c:217,1
    - Dst: ascii_strlwr
      Src: /src/gnupg/common/mbox-util.c:224,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 2
    argNames:
    - userid
    - subaddress
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 225
    functionName: mailbox_from_userid
    functionSourceFile: /src/gnupg/common/mbox-util.c
    functionUses: 19
    functionsReached:
    - strncpy
    - memmove
    - xtrymalloc
    - strlen
    - ascii_strlwr
    - string_has_ctrl_or_space
    - xtrystrdup
    - strchr
    - xfree
    - is_valid_mailbox
    - has_dotdot_after_at
    - string_count_chr
    linkageType: ''
    returnType: char
    signature: 'char *

      mailbox_from_userid (const char *userid, int subaddress)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - uid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: is_valid_user_id
    functionSourceFile: /src/gnupg/common/mbox-util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_valid_user_id (const char *uid)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/common/mbox-util.c:262,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 277
    functionName: is_valid_domain_name
    functionSourceFile: /src/gnupg/common/mbox-util.c
    functionUses: 2
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int is_valid_domain_name (const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: tohex
    functionSourceFile: /src/gnupg/common/convert.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tohex(n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/common/convert.c:56,1
    - Dst: hexdigitp
      Src: /src/gnupg/common/convert.c:56,1
    - Dst: xtoi_2
      Src: /src/gnupg/common/convert.c:58,1
    - Dst: isascii
      Src: /src/gnupg/common/convert.c:61,1
    - Dst: isspace
      Src: /src/gnupg/common/convert.c:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - string
    - buffer
    - length
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: hex2bin
    functionSourceFile: /src/gnupg/common/convert.c
    functionUses: 9
    functionsReached:
    - hexdigitp
    - xtoi_2
    - isspace
    - isascii
    linkageType: ''
    returnType: int
    signature: int hex2bin (const char *string, void *buffer, size_t length)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/common/convert.c:97,1
    - Dst: hexdigitp
      Src: /src/gnupg/common/convert.c:97,1
    - Dst: xtoi_2
      Src: /src/gnupg/common/convert.c:99,1
    - Dst: isascii
      Src: /src/gnupg/common/convert.c:104,1
    - Dst: isspace
      Src: /src/gnupg/common/convert.c:104,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 3
    argNames:
    - string
    - buffer
    - length
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 111
    functionName: hexcolon2bin
    functionSourceFile: /src/gnupg/common/convert.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - xtoi_2
    - isspace
    - isascii
    linkageType: ''
    returnType: int
    signature: int hexcolon2bin (const char *string, void *buffer, size_t length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/convert.c:129,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/convert.c:132,1
    - Dst: tohex
      Src: /src/gnupg/common/convert.c:141,1
    - Dst: tohex
      Src: /src/gnupg/common/convert.c:142,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - buffer
    - length
    - stringbuf
    - with_colon
    argTypes:
    - void*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 147
    functionName: do_bin2hex
    functionSourceFile: /src/gnupg/common/convert.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    - gpg_err_set_errno
    - tohex
    linkageType: ''
    returnType: char
    signature: 'char *

      do_bin2hex (const void *buffer, size_t length, char *stringbuf, int with_colon)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_bin2hex
      Src: /src/gnupg/common/convert.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - length
    - stringbuf
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: bin2hex
    functionSourceFile: /src/gnupg/common/convert.c
    functionUses: 32
    functionsReached:
    - do_bin2hex
    linkageType: ''
    returnType: char
    signature: 'char *

      bin2hex (const void *buffer, size_t length, char *stringbuf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_bin2hex
      Src: /src/gnupg/common/convert.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - length
    - stringbuf
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: bin2hexcolon
    functionSourceFile: /src/gnupg/common/convert.c
    functionUses: 0
    functionsReached:
    - do_bin2hex
    linkageType: ''
    returnType: char
    signature: 'char *

      bin2hexcolon (const void *buffer, size_t length, char *stringbuf)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/common/convert.c:209,1
    - Dst: hexdigitp
      Src: /src/gnupg/common/convert.c:209,1
    - Dst: isascii
      Src: /src/gnupg/common/convert.c:211,1
    - Dst: isspace
      Src: /src/gnupg/common/convert.c:211,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/convert.c:213,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/convert.c:226,1
    - Dst: hexdigitp
      Src: /src/gnupg/common/convert.c:230,1
    - Dst: hexdigitp
      Src: /src/gnupg/common/convert.c:230,1
    - Dst: xtoi_2
      Src: /src/gnupg/common/convert.c:231,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 4
    argNames:
    - hexstring
    - buffer
    - bufsize
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 239
    functionName: hex2str
    functionSourceFile: /src/gnupg/common/convert.c
    functionUses: 1
    functionsReached:
    - hexdigitp
    - gpg_err_set_errno
    - isspace
    - xtoi_2
    - isascii
    linkageType: ''
    returnType: char
    signature: 'char *

      hex2str (const char *hexstring, char *buffer, size_t bufsize, size_t *buflen)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hex2str
      Src: /src/gnupg/common/convert.c:252,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/convert.c:261,1
    - Dst: hex2str
      Src: /src/gnupg/common/convert.c:264,1
    - Dst: BUG
      Src: /src/gnupg/common/convert.c:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - hexstring
    - r_count
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 267
    functionName: hex2str_alloc
    functionSourceFile: /src/gnupg/common/convert.c
    functionUses: 0
    functionsReached:
    - hex2str
    - xtrymalloc
    - BUG
    linkageType: ''
    returnType: char
    signature: 'char *

      hex2str_alloc (const char *hexstring, size_t *r_count)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/common/convert.c:288,1
    - Dst: xtoi_2
      Src: /src/gnupg/common/convert.c:293,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - hexstr
    - buffer_arg
    - buffer_size
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 298
    functionName: hex2fixedbuf
    functionSourceFile: /src/gnupg/common/convert.c
    functionUses: 1
    functionsReached:
    - hexdigitp
    - xtoi_2
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int hex2fixedbuf (const char *hexstr, void *buffer_arg, size_t
      buffer_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: IS_INVALID_TIME_T
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_INVALID_TIME_T(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: IS_INVALID_TIME_T
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_INVALID_TIME_T(a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: timegm_u64
      Src: /src/gnupg/common/gettime.c:86,1
    - Dst: getenv
      Src: /src/gnupg/common/gettime.c:95,1
    - Dst: putenv
      Src: /src/gnupg/common/gettime.c:96,1
    - Dst: tzset
      Src: /src/gnupg/common/gettime.c:97,1
    - Dst: mktime
      Src: /src/gnupg/common/gettime.c:98,1
    - Dst: malloc
      Src: /src/gnupg/common/gettime.c:105,1
    - Dst: strlen
      Src: /src/gnupg/common/gettime.c:105,1
    - Dst: strcpy
      Src: /src/gnupg/common/gettime.c:108,1
    - Dst: strcat
      Src: /src/gnupg/common/gettime.c:109,1
    - Dst: putenv
      Src: /src/gnupg/common/gettime.c:113,1
    - Dst: gnupg_unsetenv
      Src: /src/gnupg/common/gettime.c:116,1
    - Dst: tzset
      Src: /src/gnupg/common/gettime.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - tm
    argTypes:
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 121
    functionName: timegm
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 2
    functionsReached:
    - strlen
    - timegm_u64
    - putenv
    - getenv
    - mktime
    - tzset
    - gnupg_unsetenv
    - strcpy
    - malloc
    - strcat
    linkageType: ''
    returnType: time_t
    signature: time_t timegm (struct tm *tm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SystemTimeToFileTime
      Src: /src/gnupg/common/gettime.c:150,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/gettime.c:152,1
    - Dst: timegm
      Src: /src/gnupg/common/gettime.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - tm
    argTypes:
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 171
    functionName: timegm_u64
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 1
    functionsReached:
    - SystemTimeToFileTime
    - gpg_err_set_errno
    - timegm
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t timegm_u64 (struct tm *tm)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/gnupg/common/gettime.c:179,1
    - Dst: log_fatal
      Src: /src/gnupg/common/gettime.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: gnupg_get_time
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 14
    functionsReached:
    - time
    - log_fatal
    linkageType: ''
    returnType: time_t
    signature: time_t gnupg_get_time (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_r
      Src: /src/gnupg/common/gettime.c:205,1
    - Dst: gmtime
      Src: /src/gnupg/common/gettime.c:209,1
    - Dst: memcpy
      Src: /src/gnupg/common/gettime.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - timep
    - result
    argTypes:
    - time_t*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 214
    functionName: gnupg_gmtime
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 0
    functionsReached:
    - gmtime_r
    - memcpy
    - gmtime
    linkageType: ''
    returnType: struct tm
    signature: 'struct tm *

      gnupg_gmtime (const time_t *timep, struct tm *result)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_get_time
      Src: /src/gnupg/common/gettime.c:221,1
    - Dst: gnupg_gmtime
      Src: /src/gnupg/common/gettime.c:225,1
    - Dst: snprintf
      Src: /src/gnupg/common/gettime.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - timebuf
    argTypes:
    - gnupg_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: gnupg_get_isotime
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 2
    functionsReached:
    - snprintf
    - gnupg_get_time
    - gnupg_gmtime
    linkageType: ''
    returnType: void
    signature: void gnupg_get_isotime (gnupg_isotime_t timebuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/gnupg/common/gettime.c:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - newtime
    - freeze
    argTypes:
    - time_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 265
    functionName: gnupg_set_time
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 1
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void gnupg_set_time (time_t newtime, int freeze)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: gnupg_faked_time_p
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnupg_faked_time_p (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_get_time
      Src: /src/gnupg/common/gettime.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: make_timestamp
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 41
    functionsReached:
    - gnupg_get_time
    linkageType: ''
    returnType: u32
    signature: u32 make_timestamp (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi_1
      Src: /src/gnupg/common/gettime.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 305
    functionName: scan_secondsstr
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 2
    functionsReached:
    - atoi_1
    linkageType: ''
    returnType: u32
    signature: u32 scan_secondsstr (const char *string)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/gettime.c:321,1
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:324,1
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:326,1
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:326,1
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:328,1
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:328,1
    - Dst: atoi
      Src: /src/gnupg/common/gettime.c:330,1
    - Dst: atoi
      Src: /src/gnupg/common/gettime.c:331,1
    - Dst: atoi
      Src: /src/gnupg/common/gettime.c:332,1
    - Dst: memset
      Src: /src/gnupg/common/gettime.c:336,1
    - Dst: mktime
      Src: /src/gnupg/common/gettime.c:341,1
    - Dst: snprintf
      Src: /src/gnupg/common/gettime.c:350,1
    - Dst: isotime2epoch_u64
      Src: /src/gnupg/common/gettime.c:351,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 359
    functionName: scan_isodatestr
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 2
    functionsReached:
    - atoi
    - strlen
    - digitp
    - snprintf
    - mktime
    - memset
    - isotime2epoch_u64
    linkageType: ''
    returnType: u32
    signature: u32 scan_isodatestr( const char *string )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:371,1
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:376,1
    - Dst: isascii
      Src: /src/gnupg/common/gettime.c:380,1
    - Dst: isspace
      Src: /src/gnupg/common/gettime.c:380,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 384
    functionName: isotime_p
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 0
    functionsReached:
    - digitp
    - isspace
    - isascii
    linkageType: ''
    returnType: int
    signature: int isotime_p (const char *string)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:402,1
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:407,1
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:407,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:409,1
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:413,1
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:413,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:415,1
    - Dst: spacep
      Src: /src/gnupg/common/gettime.c:421,1
    - Dst: spacep
      Src: /src/gnupg/common/gettime.c:426,1
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:428,1
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:428,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:430,1
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:439,1
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:439,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:441,1
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:450,1
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:450,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:452,1
    - Dst: spacep
      Src: /src/gnupg/common/gettime.c:456,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 61
    argCount: 2
    argNames:
    - string
    - date_only
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 460
    functionName: isotime_human_p
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 0
    functionsReached:
    - digitp
    - atoi_2
    - spacep
    linkageType: ''
    returnType: int
    signature: int isotime_human_p (const char *string, int date_only)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isotime_p
      Src: /src/gnupg/common/gettime.c:475,1
    - Dst: memcpy
      Src: /src/gnupg/common/gettime.c:477,1
    - Dst: isotime_human_p
      Src: /src/gnupg/common/gettime.c:481,1
    - Dst: memset
      Src: /src/gnupg/common/gettime.c:492,1
    - Dst: spacep
      Src: /src/gnupg/common/gettime.c:494,1
    - Dst: spacep
      Src: /src/gnupg/common/gettime.c:496,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - atime
    - string
    argTypes:
    - gnupg_isotime_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 509
    functionName: string2isotime
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 1
    functionsReached:
    - spacep
    - isotime_p
    - memset
    - memcpy
    - isotime_human_p
    linkageType: ''
    returnType: size_t
    signature: size_t string2isotime (gnupg_isotime_t atime, const char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isotime_p
      Src: /src/gnupg/common/gettime.c:518,1
    - Dst: atoi_4
      Src: /src/gnupg/common/gettime.c:521,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:522,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:523,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:524,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:525,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:526,1
    - Dst: memset
      Src: /src/gnupg/common/gettime.c:533,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - string
    - tmbuf
    argTypes:
    - char*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 542
    functionName: isotime_make_tm
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 0
    functionsReached:
    - isotime_p
    - atoi_2
    - memset
    - atoi_4
    linkageType: ''
    returnType: int
    signature: int isotime_make_tm (const char *string, struct tm *tmbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isotime_make_tm
      Src: /src/gnupg/common/gettime.c:554,1
    - Dst: timegm
      Src: /src/gnupg/common/gettime.c:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 558
    functionName: isotime2epoch
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 1
    functionsReached:
    - isotime_make_tm
    - timegm
    linkageType: ''
    returnType: time_t
    signature: time_t isotime2epoch (const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isotime_make_tm
      Src: /src/gnupg/common/gettime.c:566,1
    - Dst: timegm_u64
      Src: /src/gnupg/common/gettime.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 561
    functionDepth: 3
    functionLinenumber: 561
    functionLinenumberEnd: 570
    functionName: isotime2epoch_u64
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 3
    functionsReached:
    - timegm_u64
    - isotime_make_tm
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t isotime2epoch_u64 (const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_r
      Src: /src/gnupg/common/gettime.c:585,1
    - Dst: gmtime
      Src: /src/gnupg/common/gettime.c:587,1
    - Dst: snprintf
      Src: /src/gnupg/common/gettime.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - timebuf
    - atime
    argTypes:
    - gnupg_isotime_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 593
    functionName: epoch2isotime
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 7
    functionsReached:
    - gmtime_r
    - snprintf
    - gmtime
    linkageType: ''
    returnType: void
    signature: void epoch2isotime (gnupg_isotime_t timebuf, time_t atime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isotime_human_p
      Src: /src/gnupg/common/gettime.c:603,1
    - Dst: atoi_4
      Src: /src/gnupg/common/gettime.c:606,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:607,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:608,1
    - Dst: memset
      Src: /src/gnupg/common/gettime.c:614,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - string
    - t
    argTypes:
    - char*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 623
    functionName: isodate_human_to_tm
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 0
    functionsReached:
    - atoi_2
    - memset
    - atoi_4
    - isotime_human_p
    linkageType: ''
    returnType: int
    signature: int isodate_human_to_tm (const char *string, struct tm *t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/gettime.c:649,1
    - Dst: atoi_4
      Src: /src/gnupg/common/gettime.c:654,1
    - Dst: memset
      Src: /src/gnupg/common/gettime.c:666,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:668,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:669,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:670,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:671,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:672,1
    - Dst: timegm
      Src: /src/gnupg/common/gettime.c:674,1
    - Dst: strtoul
      Src: /src/gnupg/common/gettime.c:677,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - timestamp
    - endp
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 678
    functionName: parse_timestamp
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 5
    functionsReached:
    - strlen
    - timegm
    - atoi_2
    - memset
    - strtoul
    - atoi_4
    linkageType: ''
    returnType: time_t
    signature: time_t parse_timestamp (const char *timestamp, char **endp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stamp
    - days
    argTypes:
    - u32
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 686
    functionName: add_days_to_timestamp
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 add_days_to_timestamp( u32 stamp, u16 days )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnupg/common/gettime.c:708,1
    - Dst: strchr
      Src: /src/gnupg/common/gettime.c:712,1
    - Dst: strchr
      Src: /src/gnupg/common/gettime.c:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - value
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 714
    functionName: strtimevalue
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 1
    functionsReached:
    - sprintf
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      strtimevalue( u32 value )'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_get_time
      Src: /src/gnupg/common/gettime.c:729,1
    - Dst: difftime
      Src: /src/gnupg/common/gettime.c:731,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/gettime.c:733,1
    - Dst: xtryasprintf
      Src: /src/gnupg/common/gettime.c:744,1
    - Dst: xtryasprintf
      Src: /src/gnupg/common/gettime.c:746,1
    - Dst: xtryasprintf
      Src: /src/gnupg/common/gettime.c:748,1
    - Dst: xtryasprintf
      Src: /src/gnupg/common/gettime.c:750,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - since
    - now
    argTypes:
    - time_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 753
    functionName: elapsed_time_string
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 0
    functionsReached:
    - xtrystrdup
    - difftime
    - gnupg_get_time
    - xtryasprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      elapsed_time_string (time_t since, time_t now)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_INVALID_TIME_T
      Src: /src/gnupg/common/gettime.c:766,1
    - Dst: strcpy
      Src: /src/gnupg/common/gettime.c:768,1
    - Dst: gmtime
      Src: /src/gnupg/common/gettime.c:772,1
    - Dst: snprintf
      Src: /src/gnupg/common/gettime.c:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - stamp
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 777
    functionName: strtimestamp
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 9
    functionsReached:
    - snprintf
    - strcpy
    - IS_INVALID_TIME_T
    - gmtime
    linkageType: ''
    returnType: char
    signature: 'char *

      strtimestamp (u32 stamp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_INVALID_TIME_T
      Src: /src/gnupg/common/gettime.c:790,1
    - Dst: strcpy
      Src: /src/gnupg/common/gettime.c:792,1
    - Dst: gmtime
      Src: /src/gnupg/common/gettime.c:796,1
    - Dst: snprintf
      Src: /src/gnupg/common/gettime.c:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - stamp
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 802
    functionName: isotimestamp
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 13
    functionsReached:
    - snprintf
    - strcpy
    - IS_INVALID_TIME_T
    - gmtime
    linkageType: ''
    returnType: char
    signature: 'char *

      isotimestamp (u32 stamp)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_INVALID_TIME_T
      Src: /src/gnupg/common/gettime.c:818,1
    - Dst: strcpy
      Src: /src/gnupg/common/gettime.c:820,1
    - Dst: localtime
      Src: /src/gnupg/common/gettime.c:824,1
    - Dst: mem2str
      Src: /src/gnupg/common/gettime.c:827,1
    - Dst: nl_langinfo
      Src: /src/gnupg/common/gettime.c:827,1
    - Dst: DIM
      Src: /src/gnupg/common/gettime.c:827,1
    - Dst: strstr
      Src: /src/gnupg/common/gettime.c:828,1
    - Dst: strcat
      Src: /src/gnupg/common/gettime.c:829,1
    - Dst: strftime
      Src: /src/gnupg/common/gettime.c:832,1
    - Dst: DIM
      Src: /src/gnupg/common/gettime.c:832,1
    - Dst: setlocale
      Src: /src/gnupg/common/gettime.c:853,1
    - Dst: strftime
      Src: /src/gnupg/common/gettime.c:863,1
    - Dst: DIM
      Src: /src/gnupg/common/gettime.c:863,1
    - Dst: DIM
      Src: /src/gnupg/common/gettime.c:865,1
    - Dst: mem2str
      Src: /src/gnupg/common/gettime.c:867,1
    - Dst: asctime
      Src: /src/gnupg/common/gettime.c:867,1
    - Dst: DIM
      Src: /src/gnupg/common/gettime.c:867,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - stamp
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 870
    functionName: asctimestamp
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 6
    functionsReached:
    - localtime
    - strftime
    - strstr
    - DIM
    - setlocale
    - asctime
    - strcpy
    - mem2str
    - nl_langinfo
    - IS_INVALID_TIME_T
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      asctimestamp (u32 stamp)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_INVALID_TIME_T
      Src: /src/gnupg/common/gettime.c:886,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/gettime.c:888,1
    - Dst: gnupg_gmtime
      Src: /src/gnupg/common/gettime.c:892,1
    - Dst: xtryasprintf
      Src: /src/gnupg/common/gettime.c:895,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - stamp
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 904
    functionName: rfctimestamp
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 1
    functionsReached:
    - xtryasprintf
    - IS_INVALID_TIME_T
    - gpg_err_set_errno
    - gnupg_gmtime
    linkageType: ''
    returnType: char
    signature: 'char *

      rfctimestamp (u32 stamp)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - y
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 917
    functionName: days_per_year
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int days_per_year (int y)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/gnupg/common/gettime.c:937,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - y
    - m
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 938
    functionName: days_per_month
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 0
    functionsReached:
    - BUG
    linkageType: ''
    returnType: int
    signature: int days_per_month (int y, int m)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - year
    - month
    - day
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 957
    functionName: date2jd
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long date2jd (int year, int month, int day)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: date2jd
      Src: /src/gnupg/common/gettime.c:977,1
    - Dst: days_per_year
      Src: /src/gnupg/common/gettime.c:977,1
    - Dst: date2jd
      Src: /src/gnupg/common/gettime.c:981,1
    - Dst: days_per_month
      Src: /src/gnupg/common/gettime.c:981,1
    - Dst: days_per_month
      Src: /src/gnupg/common/gettime.c:989,1
    - Dst: date2jd
      Src: /src/gnupg/common/gettime.c:1007,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - jd
    - year
    - month
    - day
    argTypes:
    - unsigned long
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 1008
    functionName: jd2date
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 0
    functionsReached:
    - date2jd
    - days_per_year
    - days_per_month
    linkageType: ''
    returnType: int
    signature: int jd2date (unsigned long jd, int *year, int *month, int *day)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/gettime.c:1021,1
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:1024,1
    - Dst: gpg_error
      Src: /src/gnupg/common/gettime.c:1025,1
    - Dst: gpg_error
      Src: /src/gnupg/common/gettime.c:1027,1
    - Dst: digitp
      Src: /src/gnupg/common/gettime.c:1029,1
    - Dst: gpg_error
      Src: /src/gnupg/common/gettime.c:1030,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - atime
    argTypes:
    - gnupg_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1032
    functionName: check_isotime
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 0
    functionsReached:
    - digitp
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_isotime (const gnupg_isotime_t atime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_printf
      Src: /src/gnupg/common/gettime.c:1040,1
    - Dst: _
      Src: /src/gnupg/common/gettime.c:1040,1
    - Dst: log_printf
      Src: /src/gnupg/common/gettime.c:1042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - gnupg_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1044
    functionName: dump_isotime
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 1
    functionsReached:
    - log_printf
    - _
    linkageType: ''
    returnType: void
    signature: void dump_isotime (const gnupg_isotime_t t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/gettime.c:1054,1
    - Dst: BUG
      Src: /src/gnupg/common/gettime.c:1055,1
    - Dst: memcpy
      Src: /src/gnupg/common/gettime.c:1056,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - gnupg_isotime_t
    - gnupg_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1061
    functionName: gnupg_copy_time
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 0
    functionsReached:
    - BUG
    - memcpy
    - strlen
    linkageType: ''
    returnType: void
    signature: void gnupg_copy_time (gnupg_isotime_t d, const gnupg_isotime_t s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_isotime
      Src: /src/gnupg/common/gettime.c:1074,1
    - Dst: gpg_error
      Src: /src/gnupg/common/gettime.c:1079,1
    - Dst: atoi_4
      Src: /src/gnupg/common/gettime.c:1081,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:1082,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:1083,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:1084,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:1085,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:1086,1
    - Dst: gpg_error
      Src: /src/gnupg/common/gettime.c:1089,1
    - Dst: date2jd
      Src: /src/gnupg/common/gettime.c:1099,1
    - Dst: jd2date
      Src: /src/gnupg/common/gettime.c:1100,1
    - Dst: gpg_error
      Src: /src/gnupg/common/gettime.c:1104,1
    - Dst: snprintf
      Src: /src/gnupg/common/gettime.c:1106,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - atime
    - nseconds
    argTypes:
    - gnupg_isotime_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1067
    functionDepth: 2
    functionLinenumber: 1067
    functionLinenumberEnd: 1109
    functionName: add_seconds_to_isotime
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 0
    functionsReached:
    - date2jd
    - snprintf
    - check_isotime
    - atoi_2
    - gpg_error
    - jd2date
    - atoi_4
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t add_seconds_to_isotime (gnupg_isotime_t atime, int nseconds)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_isotime
      Src: /src/gnupg/common/gettime.c:1119,1
    - Dst: gpg_error
      Src: /src/gnupg/common/gettime.c:1124,1
    - Dst: atoi_4
      Src: /src/gnupg/common/gettime.c:1126,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:1127,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:1128,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:1129,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:1130,1
    - Dst: atoi_2
      Src: /src/gnupg/common/gettime.c:1131,1
    - Dst: gpg_error
      Src: /src/gnupg/common/gettime.c:1134,1
    - Dst: date2jd
      Src: /src/gnupg/common/gettime.c:1136,1
    - Dst: jd2date
      Src: /src/gnupg/common/gettime.c:1137,1
    - Dst: gpg_error
      Src: /src/gnupg/common/gettime.c:1141,1
    - Dst: snprintf
      Src: /src/gnupg/common/gettime.c:1143,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - atime
    - ndays
    argTypes:
    - gnupg_isotime_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1112
    functionDepth: 2
    functionLinenumber: 1112
    functionLinenumberEnd: 1146
    functionName: add_days_to_isotime
    functionSourceFile: /src/gnupg/common/gettime.c
    functionUses: 0
    functionsReached:
    - date2jd
    - snprintf
    - check_isotime
    - atoi_2
    - gpg_error
    - jd2date
    - atoi_4
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t add_days_to_isotime (gnupg_isotime_t atime, int ndays)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlist_rev
      Src: /src/gnupg/common/t-strlist.c:44,1
    - Dst: fail
      Src: /src/gnupg/common/t-strlist.c:45,1
    - Dst: add_to_strlist
      Src: /src/gnupg/common/t-strlist.c:47,1
    - Dst: add_to_strlist
      Src: /src/gnupg/common/t-strlist.c:48,1
    - Dst: add_to_strlist
      Src: /src/gnupg/common/t-strlist.c:49,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-strlist.c:51,1
    - Dst: fail
      Src: /src/gnupg/common/t-strlist.c:52,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-strlist.c:53,1
    - Dst: fail
      Src: /src/gnupg/common/t-strlist.c:54,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-strlist.c:55,1
    - Dst: fail
      Src: /src/gnupg/common/t-strlist.c:56,1
    - Dst: fail
      Src: /src/gnupg/common/t-strlist.c:58,1
    - Dst: strlist_rev
      Src: /src/gnupg/common/t-strlist.c:60,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-strlist.c:62,1
    - Dst: fail
      Src: /src/gnupg/common/t-strlist.c:63,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-strlist.c:64,1
    - Dst: fail
      Src: /src/gnupg/common/t-strlist.c:65,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-strlist.c:66,1
    - Dst: fail
      Src: /src/gnupg/common/t-strlist.c:67,1
    - Dst: fail
      Src: /src/gnupg/common/t-strlist.c:69,1
    - Dst: free_strlist
      Src: /src/gnupg/common/t-strlist.c:71,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 72
    functionName: test_strlist_rev
    functionSourceFile: /src/gnupg/common/t-strlist.c
    functionUses: 0
    functionsReached:
    - strlist_rev
    - fail
    - add_to_strlist
    - strcmp
    - free_strlist
    linkageType: ''
    returnType: void
    signature: void test_strlist_rev (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/t-strlist.c:178,1
    - Dst: DIM
      Src: /src/gnupg/common/t-strlist.c:179,1
    - Dst: append_to_strlist
      Src: /src/gnupg/common/t-strlist.c:193,1
    - Dst: tokenize_to_strlist
      Src: /src/gnupg/common/t-strlist.c:195,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/t-strlist.c:198,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-strlist.c:204,1
    - Dst: printf
      Src: /src/gnupg/common/t-strlist.c:206,1
    - Dst: fail
      Src: /src/gnupg/common/t-strlist.c:208,1
    - Dst: fail
      Src: /src/gnupg/common/t-strlist.c:213,1
    - Dst: printf
      Src: /src/gnupg/common/t-strlist.c:217,1
    - Dst: printf
      Src: /src/gnupg/common/t-strlist.c:219,1
    - Dst: printf
      Src: /src/gnupg/common/t-strlist.c:220,1
    - Dst: fail
      Src: /src/gnupg/common/t-strlist.c:221,1
    - Dst: strlist_length
      Src: /src/gnupg/common/t-strlist.c:225,1
    - Dst: fail
      Src: /src/gnupg/common/t-strlist.c:226,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-strlist.c:231,1
    - Dst: printf
      Src: /src/gnupg/common/t-strlist.c:233,1
    - Dst: fail
      Src: /src/gnupg/common/t-strlist.c:235,1
    - Dst: printf
      Src: /src/gnupg/common/t-strlist.c:242,1
    - Dst: fail
      Src: /src/gnupg/common/t-strlist.c:243,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-strlist.c:246,1
    - Dst: printf
      Src: /src/gnupg/common/t-strlist.c:248,1
    - Dst: fail
      Src: /src/gnupg/common/t-strlist.c:250,1
    - Dst: free_strlist
      Src: /src/gnupg/common/t-strlist.c:256,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 259
    functionName: test_tokenize_to_strlist
    functionSourceFile: /src/gnupg/common/t-strlist.c
    functionUses: 0
    functionsReached:
    - tokenize_to_strlist
    - gpg_err_code_from_syserror
    - printf
    - fail
    - DIM
    - strcmp
    - strlist_length
    - free_strlist
    - append_to_strlist
    linkageType: ''
    returnType: void
    signature: void test_tokenize_to_strlist (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_strlist_rev
      Src: /src/gnupg/common/t-strlist.c:269,1
    - Dst: test_tokenize_to_strlist
      Src: /src/gnupg/common/t-strlist.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: main
    functionSourceFile: /src/gnupg/common/t-strlist.c
    functionUses: 4
    functionsReached:
    - test_strlist_rev
    - test_tokenize_to_strlist
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: BUG
    functionSourceFile: /src/gnupg/common/logging.h
    functionUses: 91
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUG()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_log
      Src: /src/gnupg/common/logging.h:50,1
    - Dst: abort
      Src: /src/gnupg/common/logging.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - file
    - line
    - func
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: bug_at
    functionSourceFile: /src/gnupg/common/logging.h
    functionUses: 0
    functionsReached:
    - gpgrt_log
    - abort
    linkageType: ''
    returnType: void
    signature: void bug_at (const char *file, int line, const char *func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: BUG
    functionSourceFile: /src/gnupg/common/logging.h
    functionUses: 91
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUG()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_log
      Src: /src/gnupg/common/logging.h:61,1
    - Dst: abort
      Src: /src/gnupg/common/logging.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: bug_at
    functionSourceFile: /src/gnupg/common/logging.h
    functionUses: 0
    functionsReached:
    - gpgrt_log
    - abort
    linkageType: ''
    returnType: void
    signature: void bug_at (const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: return_if_fail
    functionSourceFile: /src/gnupg/common/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_if_fail(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: return_null_if_fail
    functionSourceFile: /src/gnupg/common/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_null_if_fail(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: return_val_if_fail
    functionSourceFile: /src/gnupg/common/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_val_if_fail(expr,val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: never_reached
    functionSourceFile: /src/gnupg/common/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: never_reached()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/common/t-stringhelp.c:58,1
    - Dst: xstrdup
      Src: /src/gnupg/common/t-stringhelp.c:61,1
    - Dst: getpwuid
      Src: /src/gnupg/common/t-stringhelp.c:67,1
    - Dst: getuid
      Src: /src/gnupg/common/t-stringhelp.c:67,1
    - Dst: xstrdup
      Src: /src/gnupg/common/t-stringhelp.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 74
    functionName: gethome
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 0
    functionsReached:
    - getpwuid
    - getenv
    - getuid
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      gethome (void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/common/t-stringhelp.c:85,1
    - Dst: getcwd
      Src: /src/gnupg/common/t-stringhelp.c:86,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:96,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-stringhelp.c:99,1
    - Dst: strerror
      Src: /src/gnupg/common/t-stringhelp.c:100,1
    - Dst: exit
      Src: /src/gnupg/common/t-stringhelp.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 105
    functionName: mygetcwd
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    - xmalloc
    - xfree
    - strerror
    - getcwd
    linkageType: ''
    returnType: char
    signature: 'char *

      mygetcwd (void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: percent_escape
      Src: /src/gnupg/common/t-stringhelp.c:144,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:146,1
    - Dst: percent_escape
      Src: /src/gnupg/common/t-stringhelp.c:149,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:151,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:152,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:153,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 157
    functionName: test_percent_escape
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 0
    functionsReached:
    - strcmp
    - percent_escape
    - xfree
    - fail
    linkageType: ''
    returnType: void
    signature: void test_percent_escape (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compare_filenames
      Src: /src/gnupg/common/t-stringhelp.c:190,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 195
    functionName: test_compare_filenames
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 0
    functionsReached:
    - compare_filenames
    - fail
    linkageType: ''
    returnType: void
    signature: void test_compare_filenames (void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strconcat
      Src: /src/gnupg/common/t-stringhelp.c:203,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:209,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:211,1
    - Dst: strconcat
      Src: /src/gnupg/common/t-stringhelp.c:212,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:218,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:220,1
    - Dst: strconcat
      Src: /src/gnupg/common/t-stringhelp.c:222,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:228,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:230,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:231,1
    - Dst: strconcat
      Src: /src/gnupg/common/t-stringhelp.c:234,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:236,1
    - Dst: strconcat
      Src: /src/gnupg/common/t-stringhelp.c:238,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:240,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:241,1
    - Dst: strconcat
      Src: /src/gnupg/common/t-stringhelp.c:243,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:245,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:246,1
    - Dst: strconcat
      Src: /src/gnupg/common/t-stringhelp.c:248,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:250,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:251,1
    - Dst: strconcat
      Src: /src/gnupg/common/t-stringhelp.c:253,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:254,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:255,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:256,1
    - Dst: strconcat
      Src: /src/gnupg/common/t-stringhelp.c:257,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:258,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:259,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:260,1
    - Dst: strconcat
      Src: /src/gnupg/common/t-stringhelp.c:262,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:263,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:264,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:265,1
    - Dst: strconcat
      Src: /src/gnupg/common/t-stringhelp.c:266,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:267,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:268,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:269,1
    - Dst: strconcat
      Src: /src/gnupg/common/t-stringhelp.c:271,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:272,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:273,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:274,1
    - Dst: strconcat
      Src: /src/gnupg/common/t-stringhelp.c:276,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:277,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:278,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:279,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 280
    functionName: test_strconcat
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 0
    functionsReached:
    - strcmp
    - xfree
    - fail
    - strconcat
    linkageType: ''
    returnType: void
    signature: void test_strconcat (void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xstrconcat
      Src: /src/gnupg/common/t-stringhelp.c:287,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:293,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:294,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/t-stringhelp.c:297,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:299,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/t-stringhelp.c:301,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:303,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:304,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/t-stringhelp.c:306,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:308,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:309,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/t-stringhelp.c:311,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:313,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:314,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/t-stringhelp.c:316,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:317,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:318,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:319,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/t-stringhelp.c:320,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:321,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:322,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:323,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/t-stringhelp.c:325,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:326,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:327,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:328,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/t-stringhelp.c:329,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:330,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:331,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:332,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/t-stringhelp.c:334,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:335,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:336,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:337,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/t-stringhelp.c:339,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:340,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:341,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:342,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 343
    functionName: test_xstrconcat
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 0
    functionsReached:
    - xstrconcat
    - xfree
    - fail
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_xstrconcat (void)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gethome
      Src: /src/gnupg/common/t-stringhelp.c:350,1
    - Dst: strlen
      Src: /src/gnupg/common/t-stringhelp.c:351,1
    - Dst: make_filename_try
      Src: /src/gnupg/common/t-stringhelp.c:353,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:358,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:360,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:361,1
    - Dst: make_filename_try
      Src: /src/gnupg/common/t-stringhelp.c:362,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:367,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:369,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:370,1
    - Dst: make_filename_try
      Src: /src/gnupg/common/t-stringhelp.c:372,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:376,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:381,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:382,1
    - Dst: make_filename_try
      Src: /src/gnupg/common/t-stringhelp.c:384,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:385,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:386,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:387,1
    - Dst: make_filename_try
      Src: /src/gnupg/common/t-stringhelp.c:389,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:390,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:391,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:392,1
    - Dst: make_filename_try
      Src: /src/gnupg/common/t-stringhelp.c:394,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:395,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:396,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:397,1
    - Dst: make_filename_try
      Src: /src/gnupg/common/t-stringhelp.c:399,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:400,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:401,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:402,1
    - Dst: make_filename_try
      Src: /src/gnupg/common/t-stringhelp.c:404,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:405,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:406,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:407,1
    - Dst: make_filename_try
      Src: /src/gnupg/common/t-stringhelp.c:410,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:412,1
    - Dst: strlen
      Src: /src/gnupg/common/t-stringhelp.c:415,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:416,1
    - Dst: strncmp
      Src: /src/gnupg/common/t-stringhelp.c:417,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:418,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:419,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:420,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:424,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:425,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:427,1
    - Dst: make_filename_try
      Src: /src/gnupg/common/t-stringhelp.c:429,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:431,1
    - Dst: strlen
      Src: /src/gnupg/common/t-stringhelp.c:434,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:435,1
    - Dst: strncmp
      Src: /src/gnupg/common/t-stringhelp.c:436,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:437,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:438,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:439,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:443,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:444,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:446,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 447
    functionName: test_make_filename_try
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 0
    functionsReached:
    - gethome
    - fail
    - strlen
    - strcmp
    - xfree
    - make_filename_try
    - strncmp
    linkageType: ''
    returnType: void
    signature: void test_make_filename_try (void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mygetcwd
      Src: /src/gnupg/common/t-stringhelp.c:454,1
    - Dst: strlen
      Src: /src/gnupg/common/t-stringhelp.c:455,1
    - Dst: make_absfilename_try
      Src: /src/gnupg/common/t-stringhelp.c:457,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:459,1
    - Dst: strlen
      Src: /src/gnupg/common/t-stringhelp.c:460,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:461,1
    - Dst: strncmp
      Src: /src/gnupg/common/t-stringhelp.c:462,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:463,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:464,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:465,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:466,1
    - Dst: make_absfilename_try
      Src: /src/gnupg/common/t-stringhelp.c:468,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:470,1
    - Dst: strlen
      Src: /src/gnupg/common/t-stringhelp.c:471,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:472,1
    - Dst: strncmp
      Src: /src/gnupg/common/t-stringhelp.c:473,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:474,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:475,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:476,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:477,1
    - Dst: make_absfilename_try
      Src: /src/gnupg/common/t-stringhelp.c:479,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:481,1
    - Dst: strlen
      Src: /src/gnupg/common/t-stringhelp.c:482,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:483,1
    - Dst: strncmp
      Src: /src/gnupg/common/t-stringhelp.c:484,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:485,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:486,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:487,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:488,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:490,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 491
    functionName: test_make_absfilename_try
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 0
    functionsReached:
    - fail
    - strlen
    - make_absfilename_try
    - strcmp
    - mygetcwd
    - xfree
    - strncmp
    linkageType: ''
    returnType: void
    signature: void test_make_absfilename_try (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/t-stringhelp.c:518,1
    - Dst: xstrdup
      Src: /src/gnupg/common/t-stringhelp.c:533,1
    - Dst: strsplit
      Src: /src/gnupg/common/t-stringhelp.c:534,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:538,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:541,1
    - Dst: printf
      Src: /src/gnupg/common/t-stringhelp.c:543,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:545,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:548,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:549,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 551
    functionName: test_strsplit
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 0
    functionsReached:
    - printf
    - fail
    - DIM
    - strsplit
    - strcmp
    - xfree
    - xstrdup
    linkageType: ''
    returnType: void
    signature: void test_strsplit (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/t-stringhelp.c:655,1
    - Dst: strtokenize
      Src: /src/gnupg/common/t-stringhelp.c:667,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:669,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:675,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:679,1
    - Dst: printf
      Src: /src/gnupg/common/t-stringhelp.c:681,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:683,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:688,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 690
    functionName: test_strtokenize
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 0
    functionsReached:
    - printf
    - fail
    - DIM
    - strtokenize
    - strcmp
    - xfree
    linkageType: ''
    returnType: void
    signature: void test_strtokenize (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/t-stringhelp.c:793,1
    - Dst: strtokenize_nt
      Src: /src/gnupg/common/t-stringhelp.c:805,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:807,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:813,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:817,1
    - Dst: printf
      Src: /src/gnupg/common/t-stringhelp.c:819,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:821,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:826,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 828
    functionName: test_strtokenize_nt
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 0
    functionsReached:
    - printf
    - fail
    - DIM
    - strcmp
    - xfree
    - strtokenize_nt
    linkageType: ''
    returnType: void
    signature: void test_strtokenize_nt (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/t-stringhelp.c:866,1
    - Dst: log_assert
      Src: /src/gnupg/common/t-stringhelp.c:869,1
    - Dst: DIM
      Src: /src/gnupg/common/t-stringhelp.c:869,1
    - Dst: xstrdup
      Src: /src/gnupg/common/t-stringhelp.c:880,1
    - Dst: split_fields
      Src: /src/gnupg/common/t-stringhelp.c:881,1
    - Dst: printf
      Src: /src/gnupg/common/t-stringhelp.c:885,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:887,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:892,1
    - Dst: printf
      Src: /src/gnupg/common/t-stringhelp.c:894,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:897,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:901,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 903
    functionName: test_split_fields
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 0
    functionsReached:
    - printf
    - fail
    - log_assert
    - split_fields
    - DIM
    - strcmp
    - xfree
    - xstrdup
    linkageType: ''
    returnType: void
    signature: void test_split_fields (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/t-stringhelp.c:941,1
    - Dst: log_assert
      Src: /src/gnupg/common/t-stringhelp.c:944,1
    - Dst: DIM
      Src: /src/gnupg/common/t-stringhelp.c:944,1
    - Dst: xstrdup
      Src: /src/gnupg/common/t-stringhelp.c:955,1
    - Dst: split_fields_colon
      Src: /src/gnupg/common/t-stringhelp.c:956,1
    - Dst: printf
      Src: /src/gnupg/common/t-stringhelp.c:960,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:962,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:967,1
    - Dst: printf
      Src: /src/gnupg/common/t-stringhelp.c:969,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:972,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:976,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 978
    functionName: test_split_fields_colon
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 0
    functionsReached:
    - printf
    - fail
    - log_assert
    - DIM
    - strcmp
    - split_fields_colon
    - xfree
    - xstrdup
    linkageType: ''
    returnType: void
    signature: void test_split_fields_colon (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/t-stringhelp.c:989,1
    - Dst: xmalloc
      Src: /src/gnupg/common/t-stringhelp.c:995,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 1011
    functionName: stresc
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      stresc (char *s)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: format_text
      Src: /src/gnupg/common/t-stringhelp.c:1108,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:1111,1
    - Dst: exit
      Src: /src/gnupg/common/t-stringhelp.c:1112,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:1114,1
    - Dst: printf
      Src: /src/gnupg/common/t-stringhelp.c:1116,1
    - Dst: stresc
      Src: /src/gnupg/common/t-stringhelp.c:1117,1
    - Dst: stresc
      Src: /src/gnupg/common/t-stringhelp.c:1117,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:1120,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:1124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1125
    functionName: test_format_text
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 0
    functionsReached:
    - printf
    - fail
    - format_text
    - exit
    - strcmp
    - stresc
    - xfree
    linkageType: ''
    returnType: void
    signature: void test_format_text (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/t-stringhelp.c:1193,1
    - Dst: compare_version_strings
      Src: /src/gnupg/common/t-stringhelp.c:1195,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:1199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1201
    functionName: test_compare_version_strings
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 0
    functionsReached:
    - compare_version_strings
    - DIM
    - fail
    linkageType: ''
    returnType: void
    signature: void test_compare_version_strings (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/t-stringhelp.c:1292,1
    - Dst: replace_substr
      Src: /src/gnupg/common/t-stringhelp.c:1294,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-stringhelp.c:1297,1
    - Dst: strerror
      Src: /src/gnupg/common/t-stringhelp.c:1298,1
    - Dst: exit
      Src: /src/gnupg/common/t-stringhelp.c:1299,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:1301,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-stringhelp.c:1303,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-stringhelp.c:1304,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-stringhelp.c:1305,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-stringhelp.c:1306,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-stringhelp.c:1307,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:1308,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:1310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1312
    functionName: test_replace_substr
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 0
    functionsReached:
    - replace_substr
    - fail
    - DIM
    - exit
    - fprintf
    - strcmp
    - xfree
    - strerror
    linkageType: ''
    returnType: void
    signature: void test_replace_substr (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/t-stringhelp.c:1382,1
    - Dst: gnupg_setenv
      Src: /src/gnupg/common/t-stringhelp.c:1383,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-stringhelp.c:1385,1
    - Dst: strerror
      Src: /src/gnupg/common/t-stringhelp.c:1387,1
    - Dst: exit
      Src: /src/gnupg/common/t-stringhelp.c:1388,1
    - Dst: DIM
      Src: /src/gnupg/common/t-stringhelp.c:1391,1
    - Dst: substitute_envvars
      Src: /src/gnupg/common/t-stringhelp.c:1393,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-stringhelp.c:1396,1
    - Dst: strerror
      Src: /src/gnupg/common/t-stringhelp.c:1397,1
    - Dst: exit
      Src: /src/gnupg/common/t-stringhelp.c:1398,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-stringhelp.c:1400,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-stringhelp.c:1402,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-stringhelp.c:1403,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-stringhelp.c:1404,1
    - Dst: fail
      Src: /src/gnupg/common/t-stringhelp.c:1405,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:1407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1315
    functionDepth: 1
    functionLinenumber: 1315
    functionLinenumberEnd: 1409
    functionName: test_substitute_envvars
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 0
    functionsReached:
    - fail
    - DIM
    - exit
    - substitute_envvars
    - fprintf
    - strcmp
    - gnupg_setenv
    - xfree
    - strerror
    linkageType: ''
    returnType: void
    signature: void test_substitute_envvars (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_percent_escape
      Src: /src/gnupg/common/t-stringhelp.c:1418,1
    - Dst: test_compare_filenames
      Src: /src/gnupg/common/t-stringhelp.c:1419,1
    - Dst: test_strconcat
      Src: /src/gnupg/common/t-stringhelp.c:1420,1
    - Dst: test_xstrconcat
      Src: /src/gnupg/common/t-stringhelp.c:1421,1
    - Dst: test_make_filename_try
      Src: /src/gnupg/common/t-stringhelp.c:1422,1
    - Dst: test_make_absfilename_try
      Src: /src/gnupg/common/t-stringhelp.c:1423,1
    - Dst: test_strsplit
      Src: /src/gnupg/common/t-stringhelp.c:1424,1
    - Dst: test_strtokenize
      Src: /src/gnupg/common/t-stringhelp.c:1425,1
    - Dst: test_strtokenize_nt
      Src: /src/gnupg/common/t-stringhelp.c:1426,1
    - Dst: test_split_fields
      Src: /src/gnupg/common/t-stringhelp.c:1427,1
    - Dst: test_split_fields_colon
      Src: /src/gnupg/common/t-stringhelp.c:1428,1
    - Dst: test_compare_version_strings
      Src: /src/gnupg/common/t-stringhelp.c:1429,1
    - Dst: test_format_text
      Src: /src/gnupg/common/t-stringhelp.c:1430,1
    - Dst: test_replace_substr
      Src: /src/gnupg/common/t-stringhelp.c:1431,1
    - Dst: test_substitute_envvars
      Src: /src/gnupg/common/t-stringhelp.c:1432,1
    - Dst: xfree
      Src: /src/gnupg/common/t-stringhelp.c:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1412
    functionDepth: 2
    functionLinenumber: 1412
    functionLinenumberEnd: 1436
    functionName: main
    functionSourceFile: /src/gnupg/common/t-stringhelp.c
    functionUses: 4
    functionsReached:
    - test_compare_filenames
    - test_strtokenize_nt
    - test_format_text
    - test_make_filename_try
    - test_replace_substr
    - test_xstrconcat
    - test_split_fields
    - test_compare_version_strings
    - test_strsplit
    - xfree
    - test_make_absfilename_try
    - test_strconcat
    - test_split_fields_colon
    - test_strtokenize
    - test_percent_escape
    - test_substitute_envvars
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/iobuf.c:200,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 202
    functionName: fd_cache_strcmp
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int fd_cache_strcmp (const char *a, const char *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:214,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:216,1
    - Dst: fd_cache_strcmp
      Src: /src/gnupg/common/iobuf.c:220,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:223,1
    - Dst: CloseHandle
      Src: /src/gnupg/common/iobuf.c:225,1
    - Dst: close
      Src: /src/gnupg/common/iobuf.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 234
    functionName: fd_cache_invalidate
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - log_assert
    - close
    - CloseHandle
    - fd_cache_strcmp
    - log_debug
    linkageType: ''
    returnType: int
    signature: int fd_cache_invalidate (const char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:249,1
    - Dst: fd_cache_strcmp
      Src: /src/gnupg/common/iobuf.c:253,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:256,1
    - Dst: fsync
      Src: /src/gnupg/common/iobuf.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 266
    functionName: fd_cache_synchronize
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - fsync
    - fd_cache_strcmp
    - log_debug
    linkageType: ''
    returnType: int
    signature: int fd_cache_synchronize (const char *fname)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/common/iobuf.c:283,1
    - Dst: fd_cache_invalidate
      Src: /src/gnupg/common/iobuf.c:285,1
    - Dst: strchr
      Src: /src/gnupg/common/iobuf.c:290,1
    - Dst: fd_cache_invalidate
      Src: /src/gnupg/common/iobuf.c:292,1
    - Dst: gpgrt_fname_to_wchar
      Src: /src/gnupg/common/iobuf.c:308,1
    - Dst: CreateFileW
      Src: /src/gnupg/common/iobuf.c:311,1
    - Dst: gnupg_w32_set_errno
      Src: /src/gnupg/common/iobuf.c:315,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:317,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/iobuf.c:318,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/iobuf.c:318,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:320,1
    - Dst: strchr
      Src: /src/gnupg/common/iobuf.c:337,1
    - Dst: fd_cache_invalidate
      Src: /src/gnupg/common/iobuf.c:339,1
    - Dst: strchr
      Src: /src/gnupg/common/iobuf.c:343,1
    - Dst: fd_cache_invalidate
      Src: /src/gnupg/common/iobuf.c:345,1
    - Dst: strchr
      Src: /src/gnupg/common/iobuf.c:354,1
    - Dst: stat
      Src: /src/gnupg/common/iobuf.c:363,1
    - Dst: S_ISDIR
      Src: /src/gnupg/common/iobuf.c:363,1
    - Dst: S_ISREG
      Src: /src/gnupg/common/iobuf.c:363,1
    - Dst: __set_errno
      Src: /src/gnupg/common/iobuf.c:364,1
    - Dst: open
      Src: /src/gnupg/common/iobuf.c:367,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 3
    argNames:
    - fname
    - mode
    - mode700
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 370
    functionName: direct_open
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - gnupg_w32_set_errno
    - gpg_error_from_syserror
    - open
    - __set_errno
    - fd_cache_invalidate
    - strchr
    - gpgrt_fname_to_wchar
    - gpg_strerror
    - xfree
    - stat
    - S_ISDIR
    - S_ISREG
    - log_debug
    - CreateFileW
    linkageType: ''
    returnType: gnupg_fd_t
    signature: gnupg_fd_t direct_open (const char *fname, const char *mode, int mode700)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:382,1
    - Dst: CloseHandle
      Src: /src/gnupg/common/iobuf.c:386,1
    - Dst: close
      Src: /src/gnupg/common/iobuf.c:388,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:391,1
    - Dst: FD_DBG
      Src: /src/gnupg/common/iobuf.c:391,1
    - Dst: fd_cache_strcmp
      Src: /src/gnupg/common/iobuf.c:397,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:401,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:407,1
    - Dst: xcalloc
      Src: /src/gnupg/common/iobuf.c:408,1
    - Dst: strlen
      Src: /src/gnupg/common/iobuf.c:408,1
    - Dst: strcpy
      Src: /src/gnupg/common/iobuf.c:409,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - fname
    - fp
    argTypes:
    - char*
    - gnupg_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 413
    functionName: fd_cache_close
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - log_assert
    - strlen
    - close
    - xcalloc
    - FD_DBG
    - strcpy
    - CloseHandle
    - fd_cache_strcmp
    - log_debug
    linkageType: ''
    returnType: void
    signature: void fd_cache_close (const char *fname, gnupg_fd_t fp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:423,1
    - Dst: fd_cache_strcmp
      Src: /src/gnupg/common/iobuf.c:426,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:431,1
    - Dst: SetFilePointer
      Src: /src/gnupg/common/iobuf.c:433,1
    - Dst: GetLastError
      Src: /src/gnupg/common/iobuf.c:435,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:436,1
    - Dst: gnupg_w32_set_errno
      Src: /src/gnupg/common/iobuf.c:437,1
    - Dst: lseek
      Src: /src/gnupg/common/iobuf.c:441,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:443,1
    - Dst: strerror
      Src: /src/gnupg/common/iobuf.c:443,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:451,1
    - Dst: direct_open
      Src: /src/gnupg/common/iobuf.c:452,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - fname
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 453
    functionName: fd_cache_open
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - log_assert
    - log_error
    - gnupg_w32_set_errno
    - lseek
    - direct_open
    - GetLastError
    - strerror
    - fd_cache_strcmp
    - log_debug
    - SetFilePointer
    linkageType: ''
    returnType: gnupg_fd_t
    signature: gnupg_fd_t fd_cache_open (const char *fname, const char *mode)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:470,1
    - Dst: memcpy
      Src: /src/gnupg/common/iobuf.c:476,1
    - Dst: ReadFile
      Src: /src/gnupg/common/iobuf.c:499,1
    - Dst: GetLastError
      Src: /src/gnupg/common/iobuf.c:501,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/common/iobuf.c:504,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:505,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/iobuf.c:506,1
    - Dst: read
      Src: /src/gnupg/common/iobuf.c:527,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/iobuf.c:548,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/iobuf.c:549,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:550,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/iobuf.c:550,1
    - Dst: WriteFile
      Src: /src/gnupg/common/iobuf.c:572,1
    - Dst: gnupg_w32_set_errno
      Src: /src/gnupg/common/iobuf.c:574,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/iobuf.c:575,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:576,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/iobuf.c:577,1
    - Dst: write
      Src: /src/gnupg/common/iobuf.c:594,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/iobuf.c:606,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:607,1
    - Dst: strerror
      Src: /src/gnupg/common/iobuf.c:607,1
    - Dst: ReadFile
      Src: /src/gnupg/common/iobuf.c:630,1
    - Dst: GetLastError
      Src: /src/gnupg/common/iobuf.c:632,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/common/iobuf.c:635,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:636,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/iobuf.c:637,1
    - Dst: read
      Src: /src/gnupg/common/iobuf.c:658,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/iobuf.c:676,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/iobuf.c:677,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:678,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/iobuf.c:678,1
    - Dst: memcpy
      Src: /src/gnupg/common/iobuf.c:685,1
    - Dst: mem2str
      Src: /src/gnupg/common/iobuf.c:691,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:698,1
    - Dst: FD_DBG
      Src: /src/gnupg/common/iobuf.c:698,1
    - Dst: fd_cache_close
      Src: /src/gnupg/common/iobuf.c:700,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:702,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 160
    argCount: 5
    argNames:
    - opaque
    - control
    - chain
    - buf
    - ret_len
    argTypes:
    - void*
    - int
    - iobuf_t
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 706
    functionName: file_filter
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - log_assert
    - memcpy
    - WriteFile
    - log_error
    - gnupg_w32_set_errno
    - write
    - FD_DBG
    - gpg_error_from_errno
    - log_debug
    - ReadFile
    - gpg_error_from_syserror
    - gpg_strerror
    - xfree
    - read
    - fd_cache_close
    - gpg_err_code
    - mem2str
    - GetLastError
    - strerror
    linkageType: ''
    returnType: int
    signature: "int file_filter (void *opaque, int control, iobuf_t chain, byte *
      buf,\n\t     size_t * ret_len)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:724,1
    - Dst: es_read
      Src: /src/gnupg/common/iobuf.c:742,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/iobuf.c:745,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:746,1
    - Dst: strerror
      Src: /src/gnupg/common/iobuf.c:746,1
    - Dst: es_read
      Src: /src/gnupg/common/iobuf.c:761,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/iobuf.c:764,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:765,1
    - Dst: strerror
      Src: /src/gnupg/common/iobuf.c:765,1
    - Dst: es_write
      Src: /src/gnupg/common/iobuf.c:786,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/iobuf.c:788,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:789,1
    - Dst: strerror
      Src: /src/gnupg/common/iobuf.c:790,1
    - Dst: mem2str
      Src: /src/gnupg/common/iobuf.c:808,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:815,1
    - Dst: es_fclose
      Src: /src/gnupg/common/iobuf.c:817,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:820,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 77
    argCount: 5
    argNames:
    - opaque
    - control
    - chain
    - buf
    - ret_len
    argTypes:
    - void*
    - int
    - iobuf_t
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 824
    functionName: file_es_filter
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - log_assert
    - es_fclose
    - es_write
    - es_read
    - xfree
    - mem2str
    - strerror
    - log_debug
    linkageType: ''
    returnType: int
    signature: "int file_es_filter (void *opaque, int control, iobuf_t chain, byte
      * buf,\n                size_t * ret_len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:843,1
    - Dst: recv
      Src: /src/gnupg/common/iobuf.c:853,1
    - Dst: WSAGetLastError
      Src: /src/gnupg/common/iobuf.c:856,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/common/iobuf.c:857,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:858,1
    - Dst: send
      Src: /src/gnupg/common/iobuf.c:882,1
    - Dst: WSAGetLastError
      Src: /src/gnupg/common/iobuf.c:885,1
    - Dst: gnupg_w32_set_errno
      Src: /src/gnupg/common/iobuf.c:886,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/iobuf.c:887,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:888,1
    - Dst: mem2str
      Src: /src/gnupg/common/iobuf.c:907,1
    - Dst: closesocket
      Src: /src/gnupg/common/iobuf.c:912,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:913,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 5
    argNames:
    - opaque
    - control
    - chain
    - buf
    - ret_len
    argTypes:
    - void*
    - int
    - iobuf_t
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 916
    functionName: sock_filter
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - log_error
    - log_assert
    - send
    - gnupg_w32_set_errno
    - WSAGetLastError
    - gpg_error_from_syserror
    - recv
    - gpg_error_from_errno
    - xfree
    - mem2str
    - closesocket
    linkageType: ''
    returnType: int
    signature: "int sock_filter (void *opaque, int control, iobuf_t chain, byte *
      buf,\n\t     size_t * ret_len)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:939,1
    - Dst: iobuf_get
      Src: /src/gnupg/common/iobuf.c:962,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:964,1
    - Dst: iobuf_get
      Src: /src/gnupg/common/iobuf.c:983,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:985,1
    - Dst: iobuf_get
      Src: /src/gnupg/common/iobuf.c:1006,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:1013,1
    - Dst: BUG
      Src: /src/gnupg/common/iobuf.c:1034,1
    - Dst: iobuf_read
      Src: /src/gnupg/common/iobuf.c:1040,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:1045,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:1067,1
    - Dst: xmalloc
      Src: /src/gnupg/common/iobuf.c:1072,1
    - Dst: memcpy
      Src: /src/gnupg/common/iobuf.c:1073,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:1091,1
    - Dst: iobuf_put
      Src: /src/gnupg/common/iobuf.c:1093,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:1096,1
    - Dst: iobuf_write
      Src: /src/gnupg/common/iobuf.c:1097,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/iobuf.c:1098,1
    - Dst: iobuf_write
      Src: /src/gnupg/common/iobuf.c:1104,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/iobuf.c:1105,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:1113,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:1114,1
    - Dst: xmalloc
      Src: /src/gnupg/common/iobuf.c:1116,1
    - Dst: memcpy
      Src: /src/gnupg/common/iobuf.c:1117,1
    - Dst: BUG
      Src: /src/gnupg/common/iobuf.c:1123,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1128,1
    - Dst: mem2str
      Src: /src/gnupg/common/iobuf.c:1141,1
    - Dst: iobuf_put
      Src: /src/gnupg/common/iobuf.c:1164,1
    - Dst: iobuf_put
      Src: /src/gnupg/common/iobuf.c:1167,1
    - Dst: iobuf_put
      Src: /src/gnupg/common/iobuf.c:1168,1
    - Dst: iobuf_put
      Src: /src/gnupg/common/iobuf.c:1172,1
    - Dst: iobuf_put
      Src: /src/gnupg/common/iobuf.c:1173,1
    - Dst: iobuf_put
      Src: /src/gnupg/common/iobuf.c:1174,1
    - Dst: iobuf_put
      Src: /src/gnupg/common/iobuf.c:1175,1
    - Dst: iobuf_put
      Src: /src/gnupg/common/iobuf.c:1176,1
    - Dst: iobuf_write
      Src: /src/gnupg/common/iobuf.c:1179,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:1182,1
    - Dst: strerror
      Src: /src/gnupg/common/iobuf.c:1183,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/iobuf.c:1184,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:1186,1
    - Dst: BUG
      Src: /src/gnupg/common/iobuf.c:1191,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:1195,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1198,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:1199,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 187
    argCount: 5
    argNames:
    - opaque
    - control
    - chain
    - buffer
    - ret_len
    argTypes:
    - void*
    - int
    - iobuf_t
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 1203
    functionName: block_filter
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - iobuf_write
    - strerror
    - log_error
    - log_assert
    - gpg_error_from_syserror
    - iobuf_read
    - iobuf_get
    - BUG
    - xmalloc
    - xfree
    - iobuf_put
    - mem2str
    - memcpy
    - log_debug
    linkageType: ''
    returnType: int
    signature: "int block_filter (void *opaque, int control, iobuf_t chain, byte *
      buffer,\n\t      size_t * ret_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - kilobyte
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1226
    functionName: iobuf_set_buffer_size
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int iobuf_set_buffer_size (unsigned int kilobyte)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/common/iobuf.c:1241,1
    - Dst: iobuf_t::filter
      Src: /src/gnupg/common/iobuf.c:1243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - a
    - buf
    argTypes:
    - iobuf_t
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1246
    functionName: iobuf_desc
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - memcpy
    - iobuf_t::filter
    linkageType: ''
    returnType: char
    signature: 'char *

      iobuf_desc (iobuf_t a, byte *buf)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1257,1
    - Dst: iobuf_desc
      Src: /src/gnupg/common/iobuf.c:1258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1248
    functionDepth: 1
    functionLinenumber: 1248
    functionLinenumberEnd: 1261
    functionName: print_chain
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - log_debug
    - iobuf_desc
    linkageType: ''
    returnType: void
    signature: void print_chain (iobuf_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_chain
      Src: /src/gnupg/common/iobuf.c:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1263
    functionDepth: 2
    functionLinenumber: 1263
    functionLinenumberEnd: 1268
    functionName: iobuf_print_chain
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - print_chain
    linkageType: ''
    returnType: int
    signature: int iobuf_print_chain (iobuf_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:1276,1
    - Dst: log_bug
      Src: /src/gnupg/common/iobuf.c:1280,1
    - Dst: xcalloc
      Src: /src/gnupg/common/iobuf.c:1284,1
    - Dst: xmalloc
      Src: /src/gnupg/common/iobuf.c:1286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - use
    - bufsize
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1296
    functionName: iobuf_alloc
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - log_bug
    - xmalloc
    - xcalloc
    - log_assert
    linkageType: ''
    returnType: iobuf_t
    signature: iobuf_t iobuf_alloc (int use, size_t bufsize)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: filter_flush
      Src: /src/gnupg/common/iobuf.c:1312,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:1313,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/iobuf.c:1313,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1316,1
    - Dst: iobuf_desc
      Src: /src/gnupg/common/iobuf.c:1317,1
    - Dst: iobuf_t::filter
      Src: /src/gnupg/common/iobuf.c:1319,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:1321,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/iobuf.c:1321,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:1327,1
    - Dst: memset
      Src: /src/gnupg/common/iobuf.c:1330,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:1331,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:1333,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - a
    argTypes:
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1298
    functionDepth: 1
    functionLinenumber: 1298
    functionLinenumberEnd: 1336
    functionName: iobuf_close
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 63
    functionsReached:
    - log_error
    - gpg_strerror
    - iobuf_t::filter
    - xfree
    - iobuf_desc
    - memset
    - filter_flush
    - log_debug
    linkageType: ''
    returnType: int
    signature: int iobuf_close (iobuf_t a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_get_real_fname
      Src: /src/gnupg/common/iobuf.c:1350,1
    - Dst: xstrdup
      Src: /src/gnupg/common/iobuf.c:1354,1
    - Dst: remove
      Src: /src/gnupg/common/iobuf.c:1356,1
    - Dst: iobuf_t::filter
      Src: /src/gnupg/common/iobuf.c:1366,1
    - Dst: iobuf_close
      Src: /src/gnupg/common/iobuf.c:1369,1
    - Dst: gnupg_remove
      Src: /src/gnupg/common/iobuf.c:1375,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:1377,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - a
    argTypes:
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1338
    functionDepth: 2
    functionLinenumber: 1338
    functionLinenumberEnd: 1381
    functionName: iobuf_cancel
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 16
    functionsReached:
    - iobuf_close
    - remove
    - iobuf_get_real_fname
    - xfree
    - iobuf_t::filter
    - xstrdup
    - gnupg_remove
    linkageType: ''
    returnType: int
    signature: int iobuf_cancel (iobuf_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_alloc
      Src: /src/gnupg/common/iobuf.c:1387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1388
    functionName: iobuf_temp
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 10
    functionsReached:
    - iobuf_alloc
    linkageType: ''
    returnType: iobuf_t
    signature: iobuf_t iobuf_temp (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_alloc
      Src: /src/gnupg/common/iobuf.c:1396,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:1397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1390
    functionDepth: 1
    functionLinenumber: 1390
    functionLinenumberEnd: 1404
    functionName: iobuf_temp_with_content
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 3
    functionsReached:
    - iobuf_alloc
    - log_assert
    linkageType: ''
    returnType: iobuf_t
    signature: iobuf_t iobuf_temp_with_content (const char *buffer, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_check_special_filename
      Src: /src/gnupg/common/iobuf.c:1412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1413
    functionName: iobuf_is_pipe_filename
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 13
    functionsReached:
    - gnupg_check_special_filename
    linkageType: ''
    returnType: int
    signature: int iobuf_is_pipe_filename (const char *fname)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:1428,1
    - Dst: gnupg_check_special_filename
      Src: /src/gnupg/common/iobuf.c:1449,1
    - Dst: do_iobuf_fdopen
      Src: /src/gnupg/common/iobuf.c:1450,1
    - Dst: fd_cache_open
      Src: /src/gnupg/common/iobuf.c:1454,1
    - Dst: direct_open
      Src: /src/gnupg/common/iobuf.c:1456,1
    - Dst: iobuf_alloc
      Src: /src/gnupg/common/iobuf.c:1461,1
    - Dst: xmalloc
      Src: /src/gnupg/common/iobuf.c:1462,1
    - Dst: strlen
      Src: /src/gnupg/common/iobuf.c:1462,1
    - Dst: strcpy
      Src: /src/gnupg/common/iobuf.c:1465,1
    - Dst: xstrdup
      Src: /src/gnupg/common/iobuf.c:1467,1
    - Dst: file_filter
      Src: /src/gnupg/common/iobuf.c:1470,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1472,1
    - Dst: iobuf_desc
      Src: /src/gnupg/common/iobuf.c:1473,1
    - Dst: FD_DBG
      Src: /src/gnupg/common/iobuf.c:1474,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 5
    argNames:
    - fname
    - special_filenames
    - use
    - opentype
    - mode700
    argTypes:
    - char*
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1416
    functionDepth: 4
    functionLinenumber: 1416
    functionLinenumberEnd: 1477
    functionName: do_open
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 1
    functionsReached:
    - file_filter
    - log_assert
    - strlen
    - do_iobuf_fdopen
    - iobuf_desc
    - FD_DBG
    - xmalloc
    - iobuf_alloc
    - strcpy
    - xstrdup
    - gnupg_check_special_filename
    - fd_cache_open
    - direct_open
    - log_debug
    linkageType: ''
    returnType: iobuf_t
    signature: "iobuf_t do_open (const char *fname, int special_filenames,\n\t int
      use, const char *opentype, int mode700)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_open
      Src: /src/gnupg/common/iobuf.c:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1483
    functionName: iobuf_open
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 26
    functionsReached:
    - do_open
    linkageType: ''
    returnType: iobuf_t
    signature: iobuf_t iobuf_open (const char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_open
      Src: /src/gnupg/common/iobuf.c:1488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fname
    - mode700
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1489
    functionName: iobuf_create
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 9
    functionsReached:
    - do_open
    linkageType: ''
    returnType: iobuf_t
    signature: iobuf_t iobuf_create (const char *fname, int mode700)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_open
      Src: /src/gnupg/common/iobuf.c:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1495
    functionName: iobuf_openrw
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - do_open
    linkageType: ''
    returnType: iobuf_t
    signature: iobuf_t iobuf_openrw (const char *fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_alloc
      Src: /src/gnupg/common/iobuf.c:1505,1
    - Dst: strchr
      Src: /src/gnupg/common/iobuf.c:1505,1
    - Dst: xmalloc
      Src: /src/gnupg/common/iobuf.c:1507,1
    - Dst: sprintf
      Src: /src/gnupg/common/iobuf.c:1511,1
    - Dst: FD_DBG
      Src: /src/gnupg/common/iobuf.c:1511,1
    - Dst: file_filter
      Src: /src/gnupg/common/iobuf.c:1514,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1516,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/common/iobuf.c:1518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - fp
    - mode
    - keep_open
    argTypes:
    - gnupg_fd_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1498
    functionDepth: 3
    functionLinenumber: 1498
    functionLinenumberEnd: 1520
    functionName: do_iobuf_fdopen
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 1
    functionsReached:
    - sprintf
    - iobuf_ioctl
    - FD_DBG
    - xmalloc
    - strchr
    - iobuf_alloc
    - file_filter
    - log_debug
    linkageType: ''
    returnType: iobuf_t
    signature: iobuf_t do_iobuf_fdopen (gnupg_fd_t fp, const char *mode, int keep_open)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_iobuf_fdopen
      Src: /src/gnupg/common/iobuf.c:1526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - mode
    argTypes:
    - gnupg_fd_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1523
    functionDepth: 4
    functionLinenumber: 1523
    functionLinenumberEnd: 1527
    functionName: iobuf_fdopen
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 2
    functionsReached:
    - do_iobuf_fdopen
    linkageType: ''
    returnType: iobuf_t
    signature: iobuf_t iobuf_fdopen (gnupg_fd_t fp, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_iobuf_fdopen
      Src: /src/gnupg/common/iobuf.c:1532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - mode
    argTypes:
    - gnupg_fd_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1529
    functionDepth: 4
    functionLinenumber: 1529
    functionLinenumberEnd: 1533
    functionName: iobuf_fdopen_nc
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 5
    functionsReached:
    - do_iobuf_fdopen
    linkageType: ''
    returnType: iobuf_t
    signature: iobuf_t iobuf_fdopen_nc (gnupg_fd_t fp, const char *mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_alloc
      Src: /src/gnupg/common/iobuf.c:1544,1
    - Dst: strchr
      Src: /src/gnupg/common/iobuf.c:1544,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/iobuf.c:1546,1
    - Dst: snprintf
      Src: /src/gnupg/common/iobuf.c:1552,1
    - Dst: file_es_filter
      Src: /src/gnupg/common/iobuf.c:1555,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - estream
    - mode
    - keep_open
    - readlimit
    argTypes:
    - estream_t
    - char*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1536
    functionDepth: 2
    functionLinenumber: 1536
    functionLinenumberEnd: 1560
    functionName: iobuf_esopen
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 2
    functionsReached:
    - snprintf
    - strchr
    - iobuf_alloc
    - file_es_filter
    - xtrymalloc
    - log_debug
    linkageType: ''
    returnType: iobuf_t
    signature: "iobuf_t iobuf_esopen (estream_t estream, const char *mode, int keep_open,\n
      \             size_t readlimit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_alloc
      Src: /src/gnupg/common/iobuf.c:1571,1
    - Dst: strchr
      Src: /src/gnupg/common/iobuf.c:1571,1
    - Dst: xmalloc
      Src: /src/gnupg/common/iobuf.c:1573,1
    - Dst: sprintf
      Src: /src/gnupg/common/iobuf.c:1576,1
    - Dst: sock_filter
      Src: /src/gnupg/common/iobuf.c:1579,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1581,1
    - Dst: iobuf_ioctl
      Src: /src/gnupg/common/iobuf.c:1582,1
    - Dst: do_iobuf_fdopen
      Src: /src/gnupg/common/iobuf.c:1584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1563
    functionDepth: 4
    functionLinenumber: 1563
    functionLinenumberEnd: 1587
    functionName: iobuf_sockopen
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - sprintf
    - sock_filter
    - iobuf_ioctl
    - do_iobuf_fdopen
    - xmalloc
    - strchr
    - iobuf_alloc
    - log_debug
    linkageType: ''
    returnType: iobuf_t
    signature: iobuf_t iobuf_sockopen (int fd, const char *mode)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1600,1
    - Dst: iobuf_desc
      Src: /src/gnupg/common/iobuf.c:1601,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1622,1
    - Dst: fd_cache_invalidate
      Src: /src/gnupg/common/iobuf.c:1626,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1634,1
    - Dst: iobuf_desc
      Src: /src/gnupg/common/iobuf.c:1635,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1658,1
    - Dst: fd_cache_synchronize
      Src: /src/gnupg/common/iobuf.c:1663,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1674,1
    - Dst: iobuf_desc
      Src: /src/gnupg/common/iobuf.c:1675,1
    - Dst: file_filter
      Src: /src/gnupg/common/iobuf.c:1681,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 50
    argCount: 4
    argNames:
    - a
    - cmd
    - intval
    - ptrval
    argTypes:
    - iobuf_t
    - iobuf_ioctl_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1589
    functionDepth: 3
    functionLinenumber: 1589
    functionLinenumberEnd: 1688
    functionName: iobuf_ioctl
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 18
    functionsReached:
    - fd_cache_synchronize
    - fd_cache_invalidate
    - iobuf_desc
    - file_filter
    - log_debug
    linkageType: ''
    returnType: int
    signature: int iobuf_ioctl (iobuf_t a, iobuf_ioctl_t cmd, int intval, void *ptrval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_push_filter2
      Src: /src/gnupg/common/iobuf.c:1700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - ov
    argTypes:
    - iobuf_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1694
    functionDepth: 1
    functionLinenumber: 1694
    functionLinenumberEnd: 1701
    functionName: iobuf_push_filter
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 9
    functionsReached:
    - iobuf_push_filter2
    linkageType: ''
    returnType: int
    signature: "int iobuf_push_filter (iobuf_t a,\n\t\t   int (*f) (void *opaque,
      int control,\n\t\t\t     iobuf_t chain, byte * buf, size_t * len),\n                   void
      *ov)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: filter_flush
      Src: /src/gnupg/common/iobuf.c:1713,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:1718,1
    - Dst: xmalloc
      Src: /src/gnupg/common/iobuf.c:1767,1
    - Dst: memcpy
      Src: /src/gnupg/common/iobuf.c:1768,1
    - Dst: xstrdup
      Src: /src/gnupg/common/iobuf.c:1772,1
    - Dst: xmalloc
      Src: /src/gnupg/common/iobuf.c:1812,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1833,1
    - Dst: iobuf_desc
      Src: /src/gnupg/common/iobuf.c:1834,1
    - Dst: print_chain
      Src: /src/gnupg/common/iobuf.c:1835,1
    - Dst: iobuf_t::filter
      Src: /src/gnupg/common/iobuf.c:1839,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:1841,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/iobuf.c:1841,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 3
    argNames:
    - a
    - ov
    - rel_ov
    argTypes:
    - iobuf_t
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1703
    functionDepth: 2
    functionLinenumber: 1703
    functionLinenumberEnd: 1843
    functionName: iobuf_push_filter2
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 2
    functionsReached:
    - log_error
    - print_chain
    - iobuf_desc
    - xmalloc
    - gpg_strerror
    - iobuf_t::filter
    - xstrdup
    - memcpy
    - filter_flush
    - log_debug
    linkageType: ''
    returnType: int
    signature: "int iobuf_push_filter2 (iobuf_t a,\n\t\t    int (*f) (void *opaque,
      int control,\n\t\t\t      iobuf_t chain, byte * buf, size_t * len),\n\t\t    void
      *ov, int rel_ov)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1860,1
    - Dst: iobuf_desc
      Src: /src/gnupg/common/iobuf.c:1861,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:1865,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:1871,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:1872,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:1873,1
    - Dst: memcpy
      Src: /src/gnupg/common/iobuf.c:1874,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:1875,1
    - Dst: log_bug
      Src: /src/gnupg/common/iobuf.c:1882,1
    - Dst: filter_flush
      Src: /src/gnupg/common/iobuf.c:1885,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:1887,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/iobuf.c:1888,1
    - Dst: iobuf_t::filter
      Src: /src/gnupg/common/iobuf.c:1892,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:1895,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/iobuf.c:1895,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:1900,1
    - Dst: log_bug
      Src: /src/gnupg/common/iobuf.c:1907,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:1913,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:1914,1
    - Dst: memcpy
      Src: /src/gnupg/common/iobuf.c:1915,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:1916,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1918,1
    - Dst: log_bug
      Src: /src/gnupg/common/iobuf.c:1922,1
    - Dst: log_bug
      Src: /src/gnupg/common/iobuf.c:1926,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 2
    argNames:
    - a
    - ov
    argTypes:
    - iobuf_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1849
    functionDepth: 1
    functionLinenumber: 1849
    functionLinenumberEnd: 1930
    functionName: iobuf_pop_filter
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - log_assert
    - log_error
    - log_bug
    - xfree
    - gpg_strerror
    - iobuf_t::filter
    - iobuf_desc
    - memcpy
    - filter_flush
    - log_debug
    linkageType: ''
    returnType: int
    signature: "int iobuf_pop_filter (iobuf_t a, int (*f) (void *opaque, int control,\n
      \                                      iobuf_t chain, byte * buf, size_t * len),\n
      \                 void *ov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: underflow_target
      Src: /src/gnupg/common/iobuf.c:1940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - clear_pending_eof
    argTypes:
    - iobuf_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1937
    functionDepth: 1
    functionLinenumber: 1937
    functionLinenumberEnd: 1941
    functionName: underflow
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 1
    functionsReached:
    - underflow_target
    linkageType: ''
    returnType: int
    signature: int underflow (iobuf_t a, int clear_pending_eof)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1955,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:1967,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:1974,1
    - Dst: memmove
      Src: /src/gnupg/common/iobuf.c:1977,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1987,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:1997,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:1999,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:2000,1
    - Dst: memcpy
      Src: /src/gnupg/common/iobuf.c:2001,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:2002,1
    - Dst: print_chain
      Src: /src/gnupg/common/iobuf.c:2003,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:2017,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/iobuf.c:2018,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:2033,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:2057,1
    - Dst: iobuf_t::filter
      Src: /src/gnupg/common/iobuf.c:2062,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:2064,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:2071,1
    - Dst: iobuf_t::filter
      Src: /src/gnupg/common/iobuf.c:2075,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:2077,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:2083,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/iobuf.c:2086,1
    - Dst: iobuf_t::filter
      Src: /src/gnupg/common/iobuf.c:2097,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:2099,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/iobuf.c:2099,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:2103,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:2120,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:2122,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:2123,1
    - Dst: memcpy
      Src: /src/gnupg/common/iobuf.c:2124,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:2125,1
    - Dst: print_chain
      Src: /src/gnupg/common/iobuf.c:2127,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:2148,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 99
    argCount: 3
    argNames:
    - a
    - clear_pending_eof
    - target
    argTypes:
    - iobuf_t
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 1948
    functionDepth: 2
    functionLinenumber: 1948
    functionLinenumberEnd: 2155
    functionName: underflow_target
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 1
    functionsReached:
    - memmove
    - log_assert
    - print_chain
    - log_error
    - xfree
    - gpg_strerror
    - iobuf_t::filter
    - memcpy
    - log_debug
    linkageType: ''
    returnType: int
    signature: int underflow_target (iobuf_t a, int clear_pending_eof, size_t target)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:2174,1
    - Dst: xrealloc
      Src: /src/gnupg/common/iobuf.c:2177,1
    - Dst: log_bug
      Src: /src/gnupg/common/iobuf.c:2182,1
    - Dst: log_bug
      Src: /src/gnupg/common/iobuf.c:2184,1
    - Dst: iobuf_t::filter
      Src: /src/gnupg/common/iobuf.c:2200,1
    - Dst: log_info
      Src: /src/gnupg/common/iobuf.c:2203,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - a
    argTypes:
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2213
      start: 2158
    functionDepth: 1
    functionLinenumber: 2158
    functionLinenumberEnd: 2213
    functionName: filter_flush
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 3
    functionsReached:
    - log_bug
    - xrealloc
    - log_info
    - iobuf_t::filter
    - log_debug
    linkageType: ''
    returnType: int
    signature: int filter_flush (iobuf_t a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/gnupg/common/iobuf.c:2223,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:2227,1
    - Dst: underflow
      Src: /src/gnupg/common/iobuf.c:2236,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:2239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - a
    argTypes:
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2216
    functionDepth: 2
    functionLinenumber: 2216
    functionLinenumberEnd: 2246
    functionName: iobuf_readbyte
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 2
    functionsReached:
    - log_bug
    - underflow
    - log_assert
    linkageType: ''
    returnType: int
    signature: int iobuf_readbyte (iobuf_t a)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/gnupg/common/iobuf.c:2257,1
    - Dst: iobuf_readbyte
      Src: /src/gnupg/common/iobuf.c:2266,1
    - Dst: memcpy
      Src: /src/gnupg/common/iobuf.c:2299,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:2320,1
    - Dst: underflow
      Src: /src/gnupg/common/iobuf.c:2324,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 63
    argCount: 3
    argNames:
    - a
    - buffer
    - buflen
    argTypes:
    - iobuf_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2249
    functionDepth: 3
    functionLinenumber: 2249
    functionLinenumberEnd: 2355
    functionName: iobuf_read
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 17
    functionsReached:
    - log_bug
    - memcpy
    - underflow
    - iobuf_readbyte
    - log_debug
    linkageType: ''
    returnType: int
    signature: int iobuf_read (iobuf_t a, void *buffer, unsigned int buflen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:2364,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:2365,1
    - Dst: underflow_target
      Src: /src/gnupg/common/iobuf.c:2375,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:2381,1
    - Dst: memcpy
      Src: /src/gnupg/common/iobuf.c:2393,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - a
    - buf
    - buflen
    argTypes:
    - iobuf_t
    - byte*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2396
      start: 2359
    functionDepth: 3
    functionLinenumber: 2359
    functionLinenumberEnd: 2396
    functionName: iobuf_peek
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 1
    functionsReached:
    - underflow_target
    - memcpy
    - log_assert
    linkageType: ''
    returnType: int
    signature: int iobuf_peek (iobuf_t a, byte * buf, unsigned buflen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/gnupg/common/iobuf.c:2408,1
    - Dst: filter_flush
      Src: /src/gnupg/common/iobuf.c:2413,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:2416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - a
    - c
    argTypes:
    - iobuf_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2419
      start: 2401
    functionDepth: 2
    functionLinenumber: 2401
    functionLinenumberEnd: 2419
    functionName: iobuf_writebyte
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 3
    functionsReached:
    - log_bug
    - filter_flush
    - log_assert
    linkageType: ''
    returnType: int
    signature: int iobuf_writebyte (iobuf_t a, unsigned int c)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/gnupg/common/iobuf.c:2430,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:2454,1
    - Dst: memcpy
      Src: /src/gnupg/common/iobuf.c:2469,1
    - Dst: filter_flush
      Src: /src/gnupg/common/iobuf.c:2477,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 3
    argNames:
    - a
    - buffer
    - buflen
    argTypes:
    - iobuf_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2422
    functionDepth: 2
    functionLinenumber: 2422
    functionLinenumberEnd: 2497
    functionName: iobuf_write
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 28
    functionsReached:
    - log_bug
    - memcpy
    - filter_flush
    - log_debug
    linkageType: ''
    returnType: int
    signature: int iobuf_write (iobuf_t a, const void *buffer, unsigned int buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/gnupg/common/iobuf.c:2505,1
    - Dst: iobuf_write
      Src: /src/gnupg/common/iobuf.c:2509,1
    - Dst: strlen
      Src: /src/gnupg/common/iobuf.c:2509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - buf
    argTypes:
    - iobuf_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2510
      start: 2500
    functionDepth: 3
    functionLinenumber: 2500
    functionLinenumberEnd: 2510
    functionName: iobuf_writestr
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 6
    functionsReached:
    - log_bug
    - iobuf_write
    - strlen
    linkageType: ''
    returnType: int
    signature: int iobuf_writestr (iobuf_t a, const char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:2517,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:2518,1
    - Dst: iobuf_flush_temp
      Src: /src/gnupg/common/iobuf.c:2520,1
    - Dst: iobuf_write
      Src: /src/gnupg/common/iobuf.c:2521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - source
    argTypes:
    - iobuf_t
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2514
    functionDepth: 3
    functionLinenumber: 2514
    functionLinenumberEnd: 2522
    functionName: iobuf_write_temp
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 4
    functionsReached:
    - iobuf_flush_temp
    - iobuf_write
    - log_assert
    linkageType: ''
    returnType: int
    signature: int iobuf_write_temp (iobuf_t dest, iobuf_t source)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: filter_flush
      Src: /src/gnupg/common/iobuf.c:2532,1
    - Dst: log_bug
      Src: /src/gnupg/common/iobuf.c:2534,1
    - Dst: iobuf_desc
      Src: /src/gnupg/common/iobuf.c:2535,1
    - Dst: memcpy
      Src: /src/gnupg/common/iobuf.c:2544,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - a
    - buffer
    - buflen
    argTypes:
    - iobuf_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2524
    functionDepth: 2
    functionLinenumber: 2524
    functionLinenumberEnd: 2546
    functionName: iobuf_temp_to_buffer
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - log_bug
    - memcpy
    - filter_flush
    - iobuf_desc
    linkageType: ''
    returnType: size_t
    signature: size_t iobuf_temp_to_buffer (iobuf_t a, byte * buffer, size_t buflen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:2561,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:2562,1
    - Dst: iobuf_error
      Src: /src/gnupg/common/iobuf.c:2564,1
    - Dst: iobuf_set_buffer_size
      Src: /src/gnupg/common/iobuf.c:2568,1
    - Dst: xmalloc
      Src: /src/gnupg/common/iobuf.c:2570,1
    - Dst: iobuf_read
      Src: /src/gnupg/common/iobuf.c:2573,1
    - Dst: iobuf_write
      Src: /src/gnupg/common/iobuf.c:2581,1
    - Dst: wipememory
      Src: /src/gnupg/common/iobuf.c:2589,1
    - Dst: xfree
      Src: /src/gnupg/common/iobuf.c:2590,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - dest
    - source
    argTypes:
    - iobuf_t
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2551
    functionDepth: 4
    functionLinenumber: 2551
    functionLinenumberEnd: 2593
    functionName: iobuf_copy
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 7
    functionsReached:
    - iobuf_write
    - log_assert
    - iobuf_read
    - wipememory
    - xmalloc
    - xfree
    - iobuf_error
    - iobuf_set_buffer_size
    linkageType: ''
    returnType: size_t
    signature: size_t iobuf_copy (iobuf_t dest, iobuf_t source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/gnupg/common/iobuf.c:2600,1
    - Dst: iobuf_pop_filter
      Src: /src/gnupg/common/iobuf.c:2602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - temp
    argTypes:
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2603
      start: 2596
    functionDepth: 2
    functionLinenumber: 2596
    functionLinenumberEnd: 2603
    functionName: iobuf_flush_temp
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 5
    functionsReached:
    - log_bug
    - iobuf_pop_filter
    linkageType: ''
    returnType: void
    signature: void iobuf_flush_temp (iobuf_t temp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - nlimit
    argTypes:
    - iobuf_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2616
      start: 2606
    functionDepth: 0
    functionLinenumber: 2606
    functionLinenumberEnd: 2616
    functionName: iobuf_set_limit
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iobuf_set_limit (iobuf_t a, off_t nlimit)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetFileSizeEx
      Src: /src/gnupg/common/iobuf.c:2637,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:2639,1
    - Dst: w32_strerror
      Src: /src/gnupg/common/iobuf.c:2640,1
    - Dst: fstat
      Src: /src/gnupg/common/iobuf.c:2644,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:2646,1
    - Dst: strerror
      Src: /src/gnupg/common/iobuf.c:2646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2620
    functionDepth: 1
    functionLinenumber: 2620
    functionLinenumberEnd: 2651
    functionName: iobuf_get_filelength
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 5
    functionsReached:
    - log_error
    - fstat
    - GetFileSizeEx
    - w32_strerror
    - strerror
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t iobuf_get_filelength (iobuf_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2669
      start: 2654
    functionDepth: 0
    functionLinenumber: 2654
    functionLinenumberEnd: 2669
    functionName: iobuf_get_fd
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: gnupg_fd_t
    signature: gnupg_fd_t iobuf_get_fd (iobuf_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2672
    functionDepth: 0
    functionLinenumber: 2672
    functionLinenumberEnd: 2676
    functionName: iobuf_tell
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: off_t
    signature: off_t iobuf_tell (iobuf_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/gnupg/common/iobuf.c:2700,1
    - Dst: fseek
      Src: /src/gnupg/common/iobuf.c:2705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - stream
    - newpos
    - whence
    argTypes:
    - FILE*
    - off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2694
    functionDepth: 0
    functionLinenumber: 2694
    functionLinenumberEnd: 2706
    functionName: fseeko
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached:
    - fseek
    linkageType: ''
    returnType: int
    signature: int fseeko (FILE * stream, off_t newpos, int whence)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SetFilePointer
      Src: /src/gnupg/common/iobuf.c:2726,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:2728,1
    - Dst: GetLastError
      Src: /src/gnupg/common/iobuf.c:2729,1
    - Dst: lseek
      Src: /src/gnupg/common/iobuf.c:2733,1
    - Dst: log_error
      Src: /src/gnupg/common/iobuf.c:2735,1
    - Dst: strerror
      Src: /src/gnupg/common/iobuf.c:2735,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:2760,1
    - Dst: iobuf_pop_filter
      Src: /src/gnupg/common/iobuf.c:2762,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - a
    - newpos
    argTypes:
    - iobuf_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2709
    functionDepth: 2
    functionLinenumber: 2709
    functionLinenumberEnd: 2765
    functionName: iobuf_seek
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 2
    functionsReached:
    - iobuf_pop_filter
    - log_error
    - lseek
    - GetLastError
    - strerror
    - log_debug
    - SetFilePointer
    linkageType: ''
    returnType: int
    signature: int iobuf_seek (iobuf_t a, off_t newpos)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2768
    functionDepth: 0
    functionLinenumber: 2768
    functionLinenumberEnd: 2783
    functionName: iobuf_get_real_fname
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      iobuf_get_real_fname (iobuf_t a)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2795
      start: 2785
    functionDepth: 0
    functionLinenumber: 2785
    functionLinenumberEnd: 2795
    functionName: iobuf_get_fname
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      iobuf_get_fname (iobuf_t a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_get_fname
      Src: /src/gnupg/common/iobuf.c:2802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2804
      start: 2797
    functionDepth: 1
    functionLinenumber: 2797
    functionLinenumberEnd: 2804
    functionName: iobuf_get_fname_nonnull
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 6
    functionsReached:
    - iobuf_get_fname
    linkageType: ''
    returnType: char
    signature: 'char *

      iobuf_get_fname_nonnull (iobuf_t a)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:2826,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:2829,1
    - Dst: iobuf_pop_filter
      Src: /src/gnupg/common/iobuf.c:2830,1
    - Dst: xcalloc
      Src: /src/gnupg/common/iobuf.c:2835,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/common/iobuf.c:2840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - a
    - len
    argTypes:
    - iobuf_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2842
      start: 2819
    functionDepth: 2
    functionLinenumber: 2819
    functionLinenumberEnd: 2842
    functionName: iobuf_set_partial_body_length_mode
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 3
    functionsReached:
    - iobuf_pop_filter
    - log_assert
    - iobuf_push_filter
    - xcalloc
    - log_debug
    linkageType: ''
    returnType: void
    signature: void iobuf_set_partial_body_length_mode (iobuf_t a, size_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:2861,1
    - Dst: xrealloc
      Src: /src/gnupg/common/iobuf.c:2867,1
    - Dst: memchr
      Src: /src/gnupg/common/iobuf.c:2885,1
    - Dst: memcpy
      Src: /src/gnupg/common/iobuf.c:2890,1
    - Dst: memcpy
      Src: /src/gnupg/common/iobuf.c:2900,1
    - Dst: iobuf_readbyte
      Src: /src/gnupg/common/iobuf.c:2909,1
    - Dst: iobuf_get
      Src: /src/gnupg/common/iobuf.c:2926,1
    - Dst: log_assert
      Src: /src/gnupg/common/iobuf.c:2932,1
    - Dst: xrealloc
      Src: /src/gnupg/common/iobuf.c:2944,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 4
    argNames:
    - a
    - addr_of_buffer
    - length_of_buffer
    - max_length
    argTypes:
    - iobuf_t
    - byte**
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2956
      start: 2846
    functionDepth: 3
    functionLinenumber: 2846
    functionLinenumberEnd: 2956
    functionName: iobuf_read_line
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 6
    functionsReached:
    - log_assert
    - iobuf_readbyte
    - iobuf_get
    - xrealloc
    - memcpy
    - memchr
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int iobuf_read_line (iobuf_t a, byte ** addr_of_buffer,\n\t\t
      unsigned *length_of_buffer, unsigned *max_length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_readbyte
      Src: /src/gnupg/common/iobuf.c:2968,1
    - Dst: iobuf_readbyte
      Src: /src/gnupg/common/iobuf.c:2988,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - a
    - n
    - partial
    argTypes:
    - iobuf_t
    - unsigned long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3007
      start: 2959
    functionDepth: 3
    functionLinenumber: 2959
    functionLinenumberEnd: 3007
    functionName: iobuf_skip_rest
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 15
    functionsReached:
    - iobuf_readbyte
    linkageType: ''
    returnType: void
    signature: void iobuf_skip_rest (iobuf_t a, unsigned long n, int partial)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3050
      start: 3012
    functionDepth: 0
    functionLinenumber: 3012
    functionLinenumberEnd: 3050
    functionName: is_openpgp_compressed_packet
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_openpgp_compressed_packet (const unsigned char *buf, size_t
      len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_ioctl
      Src: /src/gnupg/common/iobuf.c:3087,1
    - Dst: log_debug
      Src: /src/gnupg/common/iobuf.c:3091,1
    - Dst: DIM
      Src: /src/gnupg/common/iobuf.c:3099,1
    - Dst: memcmp
      Src: /src/gnupg/common/iobuf.c:3101,1
    - Dst: memcmp
      Src: /src/gnupg/common/iobuf.c:3108,1
    - Dst: is_openpgp_compressed_packet
      Src: /src/gnupg/common/iobuf.c:3122,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 1
    argNames:
    - inp
    argTypes:
    - iobuf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3128
      start: 3058
    functionDepth: 4
    functionLinenumber: 3058
    functionLinenumberEnd: 3128
    functionName: is_file_compressed
    functionSourceFile: /src/gnupg/common/iobuf.c
    functionUses: 3
    functionsReached:
    - DIM
    - iobuf_ioctl
    - is_openpgp_compressed_packet
    - memcmp
    - log_debug
    linkageType: ''
    returnType: int
    signature: int is_file_compressed (iobuf_t inp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/common/zb32.c:63,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 2
    argNames:
    - data
    - databits
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 120
    functionName: zb32_encode
    functionSourceFile: /src/gnupg/common/zb32.c
    functionUses: 10
    functionsReached:
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      zb32_encode (const void *data, unsigned int databits)'
  - 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: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: strtoul
    functionSourceFile: /src/gnupg/common/stringhelp.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strtoul(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - s
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: memmove
    functionSourceFile: /src/gnupg/common/stringhelp.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memmove(d, s, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: stricmp
    functionSourceFile: /src/gnupg/common/stringhelp.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stricmp(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: isascii
    functionSourceFile: /src/gnupg/common/stringhelp.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isascii (int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: STR
    functionSourceFile: /src/gnupg/common/stringhelp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: STR2
    functionSourceFile: /src/gnupg/common/stringhelp.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR2(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make
      Src: /src/gnupg/common/recsel.c:82,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/recsel.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: my_error_from_syserror
    functionSourceFile: /src/gnupg/common/recsel.c
    functionUses: 2
    functionsReached:
    - gpg_err_make
    - gpg_err_code_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t my_error_from_syserror (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make
      Src: /src/gnupg/common/recsel.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ec
    argTypes:
    - gpg_err_code_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: my_error
    functionSourceFile: /src/gnupg/common/recsel.c
    functionUses: 0
    functionsReached:
    - gpg_err_make
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t my_error (gpg_err_code_t ec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/common/recsel.c:100,1
    - Dst: strchr
      Src: /src/gnupg/common/recsel.c:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: find_next_lc
    functionSourceFile: /src/gnupg/common/recsel.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      find_next_lc (char *string)'
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/common/recsel.c:192,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/recsel.c:194,1
    - Dst: log_error
      Src: /src/gnupg/common/recsel.c:218,1
    - Dst: recsel_release
      Src: /src/gnupg/common/recsel.c:219,1
    - Dst: xfree
      Src: /src/gnupg/common/recsel.c:220,1
    - Dst: my_error
      Src: /src/gnupg/common/recsel.c:221,1
    - Dst: find_next_lc
      Src: /src/gnupg/common/recsel.c:228,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/recsel.c:232,1
    - Dst: strlen
      Src: /src/gnupg/common/recsel.c:232,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/recsel.c:235,1
    - Dst: recsel_release
      Src: /src/gnupg/common/recsel.c:237,1
    - Dst: xfree
      Src: /src/gnupg/common/recsel.c:238,1
    - Dst: strcpy
      Src: /src/gnupg/common/recsel.c:241,1
    - Dst: strpbrk
      Src: /src/gnupg/common/recsel.c:258,1
    - Dst: log_error
      Src: /src/gnupg/common/recsel.c:261,1
    - Dst: recsel_release
      Src: /src/gnupg/common/recsel.c:262,1
    - Dst: xfree
      Src: /src/gnupg/common/recsel.c:263,1
    - Dst: my_error
      Src: /src/gnupg/common/recsel.c:264,1
    - Dst: strncmp
      Src: /src/gnupg/common/recsel.c:268,1
    - Dst: strncmp
      Src: /src/gnupg/common/recsel.c:273,1
    - Dst: strncmp
      Src: /src/gnupg/common/recsel.c:279,1
    - Dst: strncmp
      Src: /src/gnupg/common/recsel.c:285,1
    - Dst: strncmp
      Src: /src/gnupg/common/recsel.c:290,1
    - Dst: strncmp
      Src: /src/gnupg/common/recsel.c:296,1
    - Dst: strncmp
      Src: /src/gnupg/common/recsel.c:301,1
    - Dst: strncmp
      Src: /src/gnupg/common/recsel.c:306,1
    - Dst: strncmp
      Src: /src/gnupg/common/recsel.c:311,1
    - Dst: strncmp
      Src: /src/gnupg/common/recsel.c:316,1
    - Dst: strncmp
      Src: /src/gnupg/common/recsel.c:321,1
    - Dst: strncmp
      Src: /src/gnupg/common/recsel.c:327,1
    - Dst: strncmp
      Src: /src/gnupg/common/recsel.c:332,1
    - Dst: strncmp
      Src: /src/gnupg/common/recsel.c:338,1
    - Dst: strncmp
      Src: /src/gnupg/common/recsel.c:343,1
    - Dst: strncmp
      Src: /src/gnupg/common/recsel.c:348,1
    - Dst: strncmp
      Src: /src/gnupg/common/recsel.c:353,1
    - Dst: strncmp
      Src: /src/gnupg/common/recsel.c:358,1
    - Dst: log_error
      Src: /src/gnupg/common/recsel.c:365,1
    - Dst: recsel_release
      Src: /src/gnupg/common/recsel.c:366,1
    - Dst: xfree
      Src: /src/gnupg/common/recsel.c:367,1
    - Dst: my_error
      Src: /src/gnupg/common/recsel.c:368,1
    - Dst: strchr
      Src: /src/gnupg/common/recsel.c:375,1
    - Dst: log_error
      Src: /src/gnupg/common/recsel.c:377,1
    - Dst: recsel_release
      Src: /src/gnupg/common/recsel.c:378,1
    - Dst: xfree
      Src: /src/gnupg/common/recsel.c:379,1
    - Dst: my_error
      Src: /src/gnupg/common/recsel.c:380,1
    - Dst: log_error
      Src: /src/gnupg/common/recsel.c:393,1
    - Dst: recsel_release
      Src: /src/gnupg/common/recsel.c:394,1
    - Dst: xfree
      Src: /src/gnupg/common/recsel.c:395,1
    - Dst: my_error
      Src: /src/gnupg/common/recsel.c:396,1
    - Dst: log_error
      Src: /src/gnupg/common/recsel.c:403,1
    - Dst: recsel_release
      Src: /src/gnupg/common/recsel.c:404,1
    - Dst: xfree
      Src: /src/gnupg/common/recsel.c:405,1
    - Dst: my_error
      Src: /src/gnupg/common/recsel.c:406,1
    - Dst: trim_spaces
      Src: /src/gnupg/common/recsel.c:411,1
    - Dst: log_error
      Src: /src/gnupg/common/recsel.c:414,1
    - Dst: recsel_release
      Src: /src/gnupg/common/recsel.c:415,1
    - Dst: xfree
      Src: /src/gnupg/common/recsel.c:416,1
    - Dst: my_error
      Src: /src/gnupg/common/recsel.c:417,1
    - Dst: trim_spaces
      Src: /src/gnupg/common/recsel.c:421,1
    - Dst: log_error
      Src: /src/gnupg/common/recsel.c:425,1
    - Dst: recsel_release
      Src: /src/gnupg/common/recsel.c:426,1
    - Dst: xfree
      Src: /src/gnupg/common/recsel.c:427,1
    - Dst: my_error
      Src: /src/gnupg/common/recsel.c:428,1
    - Dst: strtol
      Src: /src/gnupg/common/recsel.c:431,1
    - Dst: xfree
      Src: /src/gnupg/common/recsel.c:450,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 212
    argCount: 2
    argNames:
    - selector
    - expression
    argTypes:
    - recsel_expr_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 452
    functionName: recsel_parse_expr
    functionSourceFile: /src/gnupg/common/recsel.c
    functionUses: 3
    functionsReached:
    - my_error_from_syserror
    - strpbrk
    - strtol
    - log_error
    - strlen
    - trim_spaces
    - xtrystrdup
    - find_next_lc
    - strchr
    - xfree
    - my_error
    - strcpy
    - strncmp
    - xtrymalloc
    - recsel_release
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t recsel_parse_expr (recsel_expr_t *selector, const char
      *expression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/common/recsel.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - recsel_expr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 464
    functionName: recsel_release
    functionSourceFile: /src/gnupg/common/recsel.c
    functionUses: 4
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void recsel_release (recsel_expr_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 473
    functionName: recsel_set_debug
    functionSourceFile: /src/gnupg/common/recsel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int recsel_set_debug (int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/common/recsel.c:481,1
    - Dst: log_debug
      Src: /src/gnupg/common/recsel.c:484,1
    - Dst: log_debug
      Src: /src/gnupg/common/recsel.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - selector
    argTypes:
    - recsel_expr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 506
    functionName: recsel_dump
    functionSourceFile: /src/gnupg/common/recsel.c
    functionUses: 1
    functionsReached:
    - log_debug
    linkageType: ''
    returnType: void
    signature: void recsel_dump (recsel_expr_t selector)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: getval
      Src: /src/gnupg/common/recsel.c:526,1
    - Dst: log_debug
      Src: /src/gnupg/common/recsel.c:528,1
    - Dst: strlen
      Src: /src/gnupg/common/recsel.c:543,1
    - Dst: strtol
      Src: /src/gnupg/common/recsel.c:544,1
    - Dst: strlen
      Src: /src/gnupg/common/recsel.c:545,1
    - Dst: memcmp
      Src: /src/gnupg/common/recsel.c:551,1
    - Dst: memicmp
      Src: /src/gnupg/common/recsel.c:553,1
    - Dst: gnupg_memstr
      Src: /src/gnupg/common/recsel.c:557,1
    - Dst: memcmp
      Src: /src/gnupg/common/recsel.c:560,1
    - Dst: memistr
      Src: /src/gnupg/common/recsel.c:562,1
    - Dst: memicmp
      Src: /src/gnupg/common/recsel.c:565,1
    - Dst: strcmp
      Src: /src/gnupg/common/recsel.c:590,1
    - Dst: strcasecmp
      Src: /src/gnupg/common/recsel.c:592,1
    - Dst: strcmp
      Src: /src/gnupg/common/recsel.c:596,1
    - Dst: strcasecmp
      Src: /src/gnupg/common/recsel.c:598,1
    - Dst: strcmp
      Src: /src/gnupg/common/recsel.c:602,1
    - Dst: strcasecmp
      Src: /src/gnupg/common/recsel.c:604,1
    - Dst: strcmp
      Src: /src/gnupg/common/recsel.c:608,1
    - Dst: strcasecmp
      Src: /src/gnupg/common/recsel.c:610,1
    - Dst: log_debug
      Src: /src/gnupg/common/recsel.c:639,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 85
    argCount: 3
    argNames:
    - selector
    - (*getval)(void *cookie, const char *propname)
    - cookie
    argTypes:
    - recsel_expr_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 641
    functionName: recsel_select
    functionSourceFile: /src/gnupg/common/recsel.c
    functionUses: 6
    functionsReached:
    - strtol
    - gnupg_memstr
    - strlen
    - getval
    - memicmp
    - strcmp
    - strcasecmp
    - memcmp
    - memistr
    - log_debug
    linkageType: ''
    returnType: int
    signature: "int recsel_select (recsel_expr_t selector,\n               const char
      *(*getval)(void *cookie, const char *propname),\n               void *cookie)"
  - 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: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: tcgetattr
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tcgetattr(A,B)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctermid
      Src: /src/gnupg/common/ttyio.c:127,1
    - Dst: ctermid
      Src: /src/gnupg/common/ttyio.c:129,1
    - Dst: strdup
      Src: /src/gnupg/common/ttyio.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 139
    functionName: tty_get_ttyname
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 0
    functionsReached:
    - ctermid
    - strdup
    linkageType: ''
    returnType: char
    signature: 'char *

      tty_get_ttyname (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcsetattr
      Src: /src/gnupg/common/ttyio.c:150,1
    - Dst: fileno
      Src: /src/gnupg/common/ttyio.c:150,1
    - Dst: log_error
      Src: /src/gnupg/common/ttyio.c:151,1
    - Dst: strerror
      Src: /src/gnupg/common/ttyio.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: cleanup
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 2
    functionsReached:
    - log_error
    - fileno
    - strerror
    - tcsetattr
    linkageType: ''
    returnType: void
    signature: void cleanup(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/common/ttyio.c:167,1
    - Dst: CreateFileA
      Src: /src/gnupg/common/ttyio.c:170,1
    - Dst: log_fatal
      Src: /src/gnupg/common/ttyio.c:174,1
    - Dst: w32_strerror
      Src: /src/gnupg/common/ttyio.c:174,1
    - Dst: memset
      Src: /src/gnupg/common/ttyio.c:176,1
    - Dst: CreateFileA
      Src: /src/gnupg/common/ttyio.c:179,1
    - Dst: log_fatal
      Src: /src/gnupg/common/ttyio.c:183,1
    - Dst: w32_strerror
      Src: /src/gnupg/common/ttyio.c:183,1
    - Dst: SetConsoleMode
      Src: /src/gnupg/common/ttyio.c:185,1
    - Dst: SetConsoleMode
      Src: /src/gnupg/common/ttyio.c:186,1
    - Dst: fopen
      Src: /src/gnupg/common/ttyio.c:189,1
    - Dst: tty_get_ttyname
      Src: /src/gnupg/common/ttyio.c:189,1
    - Dst: log_error
      Src: /src/gnupg/common/ttyio.c:192,1
    - Dst: tty_get_ttyname
      Src: /src/gnupg/common/ttyio.c:192,1
    - Dst: strerror
      Src: /src/gnupg/common/ttyio.c:192,1
    - Dst: exit
      Src: /src/gnupg/common/ttyio.c:193,1
    - Dst: my_rl_init_stream
      Src: /src/gnupg/common/ttyio.c:196,1
    - Dst: atexit
      Src: /src/gnupg/common/ttyio.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 204
    functionName: init_ttyfp
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 0
    functionsReached:
    - atexit
    - log_error
    - log_fatal
    - exit
    - my_rl_init_stream
    - CreateFileA
    - tty_get_ttyname
    - memset
    - w32_strerror
    - fopen
    - strerror
    - SetConsoleMode
    linkageType: ''
    returnType: void
    signature: void init_ttyfp(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - onoff
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: tty_batchmode
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tty_batchmode( int onoff )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - onoff
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: tty_no_terminal
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tty_no_terminal(int onoff)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: utf8_to_wchar
      Src: /src/gnupg/common/ttyio.c:233,1
    - Dst: log_fatal
      Src: /src/gnupg/common/ttyio.c:235,1
    - Dst: strerror
      Src: /src/gnupg/common/ttyio.c:235,1
    - Dst: wcslen
      Src: /src/gnupg/common/ttyio.c:236,1
    - Dst: WriteConsoleW
      Src: /src/gnupg/common/ttyio.c:238,1
    - Dst: log_info
      Src: /src/gnupg/common/ttyio.c:244,1
    - Dst: w32_strerror
      Src: /src/gnupg/common/ttyio.c:244,1
    - Dst: log_info
      Src: /src/gnupg/common/ttyio.c:245,1
    - Dst: strlen
      Src: /src/gnupg/common/ttyio.c:247,1
    - Dst: WriteConsoleA
      Src: /src/gnupg/common/ttyio.c:248,1
    - Dst: log_fatal
      Src: /src/gnupg/common/ttyio.c:249,1
    - Dst: w32_strerror
      Src: /src/gnupg/common/ttyio.c:249,1
    - Dst: log_fatal
      Src: /src/gnupg/common/ttyio.c:254,1
    - Dst: xfree
      Src: /src/gnupg/common/ttyio.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 259
    functionName: w32_write_console
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 0
    functionsReached:
    - strlen
    - wcslen
    - log_fatal
    - WriteConsoleA
    - WriteConsoleW
    - log_info
    - w32_strerror
    - utf8_to_wchar
    - xfree
    - strerror
    linkageType: ''
    returnType: void
    signature: void w32_write_console (const char *string)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init_ttyfp
      Src: /src/gnupg/common/ttyio.c:272,1
    - Dst: va_start
      Src: /src/gnupg/common/ttyio.c:274,1
    - Dst: vasprintf
      Src: /src/gnupg/common/ttyio.c:280,1
    - Dst: log_bug
      Src: /src/gnupg/common/ttyio.c:282,1
    - Dst: w32_write_console
      Src: /src/gnupg/common/ttyio.c:283,1
    - Dst: xfree
      Src: /src/gnupg/common/ttyio.c:284,1
    - Dst: vfprintf
      Src: /src/gnupg/common/ttyio.c:287,1
    - Dst: fflush
      Src: /src/gnupg/common/ttyio.c:288,1
    - Dst: va_end
      Src: /src/gnupg/common/ttyio.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 291
    functionName: tty_printf
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 91
    functionsReached:
    - init_ttyfp
    - va_end
    - vfprintf
    - vasprintf
    - log_bug
    - fflush
    - xfree
    - va_start
    - w32_write_console
    linkageType: ''
    returnType: void
    signature: void tty_printf (const char *fmt, ... )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/common/ttyio.c:303,1
    - Dst: es_vfprintf
      Src: /src/gnupg/common/ttyio.c:304,1
    - Dst: va_end
      Src: /src/gnupg/common/ttyio.c:305,1
    - Dst: init_ttyfp
      Src: /src/gnupg/common/ttyio.c:313,1
    - Dst: va_start
      Src: /src/gnupg/common/ttyio.c:315,1
    - Dst: vasprintf
      Src: /src/gnupg/common/ttyio.c:321,1
    - Dst: log_bug
      Src: /src/gnupg/common/ttyio.c:323,1
    - Dst: w32_write_console
      Src: /src/gnupg/common/ttyio.c:324,1
    - Dst: xfree
      Src: /src/gnupg/common/ttyio.c:325,1
    - Dst: vfprintf
      Src: /src/gnupg/common/ttyio.c:328,1
    - Dst: fflush
      Src: /src/gnupg/common/ttyio.c:329,1
    - Dst: va_end
      Src: /src/gnupg/common/ttyio.c:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - fp
    - fmt
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 333
    functionName: tty_fprintf
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 40
    functionsReached:
    - init_ttyfp
    - va_end
    - vfprintf
    - vasprintf
    - log_bug
    - es_vfprintf
    - fflush
    - xfree
    - va_start
    - w32_write_console
    linkageType: ''
    returnType: void
    signature: void tty_fprintf (estream_t fp, const char *fmt, ... )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: init_ttyfp
      Src: /src/gnupg/common/ttyio.c:345,1
    - Dst: print_utf8_buffer
      Src: /src/gnupg/common/ttyio.c:349,1
    - Dst: iscntrl
      Src: /src/gnupg/common/ttyio.c:357,1
    - Dst: tty_printf
      Src: /src/gnupg/common/ttyio.c:360,1
    - Dst: tty_printf
      Src: /src/gnupg/common/ttyio.c:362,1
    - Dst: tty_printf
      Src: /src/gnupg/common/ttyio.c:364,1
    - Dst: tty_printf
      Src: /src/gnupg/common/ttyio.c:367,1
    - Dst: iscntrl
      Src: /src/gnupg/common/ttyio.c:372,1
    - Dst: putc
      Src: /src/gnupg/common/ttyio.c:374,1
    - Dst: putc
      Src: /src/gnupg/common/ttyio.c:376,1
    - Dst: putc
      Src: /src/gnupg/common/ttyio.c:378,1
    - Dst: fprintf
      Src: /src/gnupg/common/ttyio.c:380,1
    - Dst: putc
      Src: /src/gnupg/common/ttyio.c:383,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - fp
    - p
    - n
    argTypes:
    - estream_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 386
    functionName: do_print_string
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 0
    functionsReached:
    - init_ttyfp
    - iscntrl
    - fprintf
    - print_utf8_buffer
    - tty_printf
    - putc
    linkageType: ''
    returnType: void
    signature: void do_print_string (estream_t fp, const byte *p, size_t n )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: utf8_to_native
      Src: /src/gnupg/common/ttyio.c:406,1
    - Dst: strlen
      Src: /src/gnupg/common/ttyio.c:407,1
    - Dst: tty_fprintf
      Src: /src/gnupg/common/ttyio.c:410,1
    - Dst: xfree
      Src: /src/gnupg/common/ttyio.c:411,1
    - Dst: do_print_string
      Src: /src/gnupg/common/ttyio.c:417,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - fp
    - p
    - n
    - max_n
    argTypes:
    - estream_t
    - byte*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 389
    functionDepth: 4
    functionLinenumber: 389
    functionLinenumberEnd: 419
    functionName: tty_print_utf8_string2
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 9
    functionsReached:
    - tty_fprintf
    - strlen
    - do_print_string
    - xfree
    - utf8_to_native
    linkageType: ''
    returnType: void
    signature: void tty_print_utf8_string2 (estream_t fp, const byte *p, size_t n,
      size_t max_n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tty_print_utf8_string2
      Src: /src/gnupg/common/ttyio.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 5
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: tty_print_utf8_string
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 8
    functionsReached:
    - tty_print_utf8_string2
    linkageType: ''
    returnType: void
    signature: void tty_print_utf8_string (const byte *p, size_t n)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/common/ttyio.c:447,1
    - Dst: _
      Src: /src/gnupg/common/ttyio.c:447,1
    - Dst: exit
      Src: /src/gnupg/common/ttyio.c:448,1
    - Dst: log_error
      Src: /src/gnupg/common/ttyio.c:453,1
    - Dst: _
      Src: /src/gnupg/common/ttyio.c:453,1
    - Dst: exit
      Src: /src/gnupg/common/ttyio.c:454,1
    - Dst: init_ttyfp
      Src: /src/gnupg/common/ttyio.c:458,1
    - Dst: tty_printf
      Src: /src/gnupg/common/ttyio.c:461,1
    - Dst: xmalloc
      Src: /src/gnupg/common/ttyio.c:462,1
    - Dst: SetConsoleMode
      Src: /src/gnupg/common/ttyio.c:467,1
    - Dst: ReadConsoleW
      Src: /src/gnupg/common/ttyio.c:476,1
    - Dst: log_fatal
      Src: /src/gnupg/common/ttyio.c:477,1
    - Dst: w32_strerror
      Src: /src/gnupg/common/ttyio.c:477,1
    - Dst: xfree
      Src: /src/gnupg/common/ttyio.c:482,1
    - Dst: wchar_to_utf8
      Src: /src/gnupg/common/ttyio.c:483,1
    - Dst: log_info
      Src: /src/gnupg/common/ttyio.c:486,1
    - Dst: strerror
      Src: /src/gnupg/common/ttyio.c:486,1
    - Dst: log_fatal
      Src: /src/gnupg/common/ttyio.c:488,1
    - Dst: _
      Src: /src/gnupg/common/ttyio.c:488,1
    - Dst: log_info
      Src: /src/gnupg/common/ttyio.c:495,1
    - Dst: log_fatal
      Src: /src/gnupg/common/ttyio.c:498,1
    - Dst: _
      Src: /src/gnupg/common/ttyio.c:498,1
    - Dst: xrealloc
      Src: /src/gnupg/common/ttyio.c:515,1
    - Dst: xfree
      Src: /src/gnupg/common/ttyio.c:520,1
    - Dst: SetConsoleMode
      Src: /src/gnupg/common/ttyio.c:523,1
    - Dst: tcgetattr
      Src: /src/gnupg/common/ttyio.c:532,1
    - Dst: fileno
      Src: /src/gnupg/common/ttyio.c:532,1
    - Dst: log_fatal
      Src: /src/gnupg/common/ttyio.c:533,1
    - Dst: strerror
      Src: /src/gnupg/common/ttyio.c:533,1
    - Dst: tcsetattr
      Src: /src/gnupg/common/ttyio.c:537,1
    - Dst: fileno
      Src: /src/gnupg/common/ttyio.c:537,1
    - Dst: log_fatal
      Src: /src/gnupg/common/ttyio.c:538,1
    - Dst: strerror
      Src: /src/gnupg/common/ttyio.c:538,1
    - Dst: read
      Src: /src/gnupg/common/ttyio.c:544,1
    - Dst: fileno
      Src: /src/gnupg/common/ttyio.c:544,1
    - Dst: log_info
      Src: /src/gnupg/common/ttyio.c:550,1
    - Dst: _
      Src: /src/gnupg/common/ttyio.c:550,1
    - Dst: xrealloc
      Src: /src/gnupg/common/ttyio.c:559,1
    - Dst: tcsetattr
      Src: /src/gnupg/common/ttyio.c:572,1
    - Dst: fileno
      Src: /src/gnupg/common/ttyio.c:572,1
    - Dst: log_error
      Src: /src/gnupg/common/ttyio.c:573,1
    - Dst: strerror
      Src: /src/gnupg/common/ttyio.c:573,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 94
    argCount: 2
    argNames:
    - prompt
    - hidden
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 581
    functionName: do_get
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 0
    functionsReached:
    - tcsetattr
    - exit
    - tcgetattr
    - xmalloc
    - ReadConsoleW
    - init_ttyfp
    - log_error
    - _
    - log_info
    - w32_strerror
    - tty_printf
    - fileno
    - xfree
    - wchar_to_utf8
    - read
    - log_fatal
    - xrealloc
    - strerror
    - SetConsoleMode
    linkageType: ''
    returnType: char
    signature: 'char *

      do_get (const char *prompt, int hidden)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: init_ttyfp
      Src: /src/gnupg/common/ttyio.c:595,1
    - Dst: my_rl_readline
      Src: /src/gnupg/common/ttyio.c:599,1
    - Dst: xmalloc
      Src: /src/gnupg/common/ttyio.c:604,1
    - Dst: strlen
      Src: /src/gnupg/common/ttyio.c:604,1
    - Dst: strcpy
      Src: /src/gnupg/common/ttyio.c:607,1
    - Dst: trim_spaces
      Src: /src/gnupg/common/ttyio.c:608,1
    - Dst: strlen
      Src: /src/gnupg/common/ttyio.c:609,1
    - Dst: my_rl_add_history
      Src: /src/gnupg/common/ttyio.c:610,1
    - Dst: free
      Src: /src/gnupg/common/ttyio.c:611,1
    - Dst: do_get
      Src: /src/gnupg/common/ttyio.c:621,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - prompt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 586
    functionDepth: 4
    functionLinenumber: 586
    functionLinenumberEnd: 622
    functionName: tty_get
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 19
    functionsReached:
    - init_ttyfp
    - my_rl_add_history
    - strlen
    - trim_spaces
    - xmalloc
    - my_rl_readline
    - strcpy
    - do_get
    - free
    linkageType: ''
    returnType: char
    signature: 'char *

      tty_get( const char *prompt )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/common/ttyio.c:634,1
    - Dst: gpgrt_vasprintf
      Src: /src/gnupg/common/ttyio.c:635,1
    - Dst: log_fatal
      Src: /src/gnupg/common/ttyio.c:636,1
    - Dst: strerror
      Src: /src/gnupg/common/ttyio.c:636,1
    - Dst: va_end
      Src: /src/gnupg/common/ttyio.c:637,1
    - Dst: tty_get
      Src: /src/gnupg/common/ttyio.c:638,1
    - Dst: xfree
      Src: /src/gnupg/common/ttyio.c:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - promptfmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 627
    functionDepth: 5
    functionLinenumber: 627
    functionLinenumberEnd: 641
    functionName: tty_getf
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 1
    functionsReached:
    - va_end
    - gpgrt_vasprintf
    - log_fatal
    - tty_get
    - xfree
    - va_start
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      tty_getf (const char *promptfmt, ... )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_get
      Src: /src/gnupg/common/ttyio.c:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prompt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 644
    functionDepth: 4
    functionLinenumber: 644
    functionLinenumberEnd: 648
    functionName: tty_get_hidden
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 1
    functionsReached:
    - do_get
    linkageType: ''
    returnType: char
    signature: 'char *

      tty_get_hidden( const char *prompt )'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: init_ttyfp
      Src: /src/gnupg/common/ttyio.c:658,1
    - Dst: tty_printf
      Src: /src/gnupg/common/ttyio.c:665,1
    - Dst: putc
      Src: /src/gnupg/common/ttyio.c:669,1
    - Dst: putc
      Src: /src/gnupg/common/ttyio.c:671,1
    - Dst: putc
      Src: /src/gnupg/common/ttyio.c:672,1
    - Dst: fflush
      Src: /src/gnupg/common/ttyio.c:673,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 677
    functionName: tty_kill_prompt
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 18
    functionsReached:
    - init_ttyfp
    - tty_printf
    - putc
    - fflush
    linkageType: ''
    returnType: void
    signature: void tty_kill_prompt (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tty_get
      Src: /src/gnupg/common/ttyio.c:686,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/common/ttyio.c:687,1
    - Dst: answer_is_yes
      Src: /src/gnupg/common/ttyio.c:688,1
    - Dst: xfree
      Src: /src/gnupg/common/ttyio.c:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - prompt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 680
    functionDepth: 5
    functionLinenumber: 680
    functionLinenumberEnd: 692
    functionName: tty_get_answer_is_yes
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 0
    functionsReached:
    - tty_kill_prompt
    - xfree
    - tty_get
    - answer_is_yes
    linkageType: ''
    returnType: int
    signature: int tty_get_answer_is_yes( const char *prompt )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - (*readline_fun) (const char*)
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 712
    functionName: tty_private_set_rl_hooks
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tty_private_set_rl_hooks (void (*init_stream) (FILE *),\n                          void
      (*set_completer) (rl_completion_func_t*),\n                          void (*inhibit_completion)
      (int),\n                          void (*cleanup_after_signal) (void),\n                          char
      *(*readline_fun) (const char*),\n                          void (*add_history_fun)
      (const char*),\n                          int (*rw_history_fun)(const char *,
      int, int))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: my_rl_rw_history
      Src: /src/gnupg/common/ttyio.c:727,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/ttyio.c:728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - filename
    - nlines
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 732
    functionName: tty_read_history
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 3
    functionsReached:
    - my_rl_rw_history
    - gpg_err_code_from_syserror
    linkageType: ''
    returnType: int
    signature: int tty_read_history (const char *filename, int nlines)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: my_rl_rw_history
      Src: /src/gnupg/common/ttyio.c:744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 745
    functionName: tty_write_history
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 2
    functionsReached:
    - my_rl_rw_history
    linkageType: ''
    returnType: int
    signature: int tty_write_history (const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_ttyfp
      Src: /src/gnupg/common/ttyio.c:756,1
    - Dst: my_rl_set_completer
      Src: /src/gnupg/common/ttyio.c:758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - completer
    argTypes:
    - rl_completion_func_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 759
    functionName: tty_enable_completion
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 6
    functionsReached:
    - init_ttyfp
    - my_rl_set_completer
    linkageType: ''
    returnType: void
    signature: void tty_enable_completion (rl_completion_func_t *completer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_ttyfp
      Src: /src/gnupg/common/ttyio.c:768,1
    - Dst: my_rl_inhibit_completion
      Src: /src/gnupg/common/ttyio.c:770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 761
    functionDepth: 2
    functionLinenumber: 761
    functionLinenumberEnd: 771
    functionName: tty_disable_completion
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 6
    functionsReached:
    - init_ttyfp
    - my_rl_inhibit_completion
    linkageType: ''
    returnType: void
    signature: void tty_disable_completion (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/gnupg/common/ttyio.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 780
    functionName: tty_cleanup_after_signal
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 0
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void tty_cleanup_after_signal (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: my_rl_cleanup_after_signal
      Src: /src/gnupg/common/ttyio.c:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 787
    functionName: tty_cleanup_rl_after_signal
    functionSourceFile: /src/gnupg/common/ttyio.c
    functionUses: 0
    functionsReached:
    - my_rl_cleanup_after_signal
    linkageType: ''
    returnType: void
    signature: void tty_cleanup_rl_after_signal (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_fatal
      Src: /src/gnupg/common/miscellaneous.c:46,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/miscellaneous.c:46,1
    - Dst: abort
      Src: /src/gnupg/common/miscellaneous.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - rc
    - text
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: my_gcry_fatalerror_handler
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 0
    functionsReached:
    - log_fatal
    - gpg_strerror
    - abort
    linkageType: ''
    returnType: void
    signature: void my_gcry_fatalerror_handler (void *opaque, int rc, const char *text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_fatal
      Src: /src/gnupg/common/miscellaneous.c:65,1
    - Dst: _
      Src: /src/gnupg/common/miscellaneous.c:65,1
    - Dst: log_fatal
      Src: /src/gnupg/common/miscellaneous.c:68,1
    - Dst: _
      Src: /src/gnupg/common/miscellaneous.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - opaque
    - req_n
    - flags
    argTypes:
    - void*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 74
    functionName: my_gcry_outofcore_handler
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 0
    functionsReached:
    - log_fatal
    - _
    linkageType: ''
    returnType: int
    signature: int my_gcry_outofcore_handler (void *opaque, size_t req_n, unsigned
      int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_set_fatalerror_handler
      Src: /src/gnupg/common/miscellaneous.c:82,1
    - Dst: gcry_set_outofcore_handler
      Src: /src/gnupg/common/miscellaneous.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: setup_libgcrypt_logging
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 2
    functionsReached:
    - gcry_set_fatalerror_handler
    - gcry_set_outofcore_handler
    linkageType: ''
    returnType: void
    signature: void setup_libgcrypt_logging (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/miscellaneous.c:92,1
    - Dst: log_fatal
      Src: /src/gnupg/common/miscellaneous.c:93,1
    - Dst: _
      Src: /src/gnupg/common/miscellaneous.c:93,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/miscellaneous.c:93,1
    - Dst: abort
      Src: /src/gnupg/common/miscellaneous.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: xoutofcore
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 3
    functionsReached:
    - gpg_error_from_syserror
    - log_fatal
    - abort
    - _
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void xoutofcore (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_reallocarray
      Src: /src/gnupg/common/miscellaneous.c:102,1
    - Dst: xoutofcore
      Src: /src/gnupg/common/miscellaneous.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - a
    - oldnmemb
    - nmemb
    - size
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: xreallocarray
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 1
    functionsReached:
    - gpgrt_reallocarray
    - xoutofcore
    linkageType: ''
    returnType: void
    signature: 'void *

      xreallocarray (void *a, size_t oldnmemb, size_t nmemb, size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_algo_name
      Src: /src/gnupg/common/miscellaneous.c:120,1
    - Dst: strcmp
      Src: /src/gnupg/common/miscellaneous.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: gnupg_cipher_algo_name
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gcry_cipher_algo_name
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_cipher_algo_name (int algo)'
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: gnupg_cipher_mode_name
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_cipher_mode_name (int mode)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/common/miscellaneous.c:148,1
    - Dst: _
      Src: /src/gnupg/common/miscellaneous.c:148,1
    - Dst: log_info
      Src: /src/gnupg/common/miscellaneous.c:151,1
    - Dst: _
      Src: /src/gnupg/common/miscellaneous.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - configname
    - configlineno
    - name
    argTypes:
    - char*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: obsolete_option
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 1
    functionsReached:
    - log_info
    - _
    linkageType: ''
    returnType: void
    signature: "void obsolete_option (const char *configname, unsigned int configlineno,\n
      \                const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: print_fname_stdout
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      print_fname_stdout (const char *s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: print_fname_stdin
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      print_fname_stdin (const char *s)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: utf8_to_native
      Src: /src/gnupg/common/miscellaneous.c:199,1
    - Dst: strlen
      Src: /src/gnupg/common/miscellaneous.c:201,1
    - Dst: es_fputs
      Src: /src/gnupg/common/miscellaneous.c:202,1
    - Dst: xfree
      Src: /src/gnupg/common/miscellaneous.c:203,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/common/miscellaneous.c:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - stream
    - buffer
    - length
    - delimiters
    - bytes_written
    argTypes:
    - estream_t
    - void*
    - size_t
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 208
    functionName: do_print_utf8_buffer
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 0
    functionsReached:
    - utf8_to_native
    - strlen
    - es_write_sanitized
    - xfree
    - es_fputs
    linkageType: ''
    returnType: int
    signature: "int do_print_utf8_buffer (estream_t stream,\n                      const
      void *buffer, size_t length,\n                      const char *delimiters,
      size_t *bytes_written)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_print_utf8_buffer
      Src: /src/gnupg/common/miscellaneous.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - stream
    - p
    - n
    - delim
    argTypes:
    - estream_t
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: print_utf8_buffer3
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 0
    functionsReached:
    - do_print_utf8_buffer
    linkageType: ''
    returnType: void
    signature: "void print_utf8_buffer3 (estream_t stream, const void *p, size_t n,\n
      \                   const char *delim)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_print_utf8_buffer
      Src: /src/gnupg/common/miscellaneous.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - stream
    - p
    - n
    - delim
    argTypes:
    - estream_t
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: print_utf8_buffer2
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 4
    functionsReached:
    - do_print_utf8_buffer
    linkageType: ''
    returnType: void
    signature: void print_utf8_buffer2 (estream_t stream, const void *p, size_t n,
      int delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_print_utf8_buffer
      Src: /src/gnupg/common/miscellaneous.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - p
    - n
    argTypes:
    - estream_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: print_utf8_buffer
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 14
    functionsReached:
    - do_print_utf8_buffer
    linkageType: ''
    returnType: void
    signature: void print_utf8_buffer (estream_t stream, const void *p, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_print_utf8_buffer
      Src: /src/gnupg/common/miscellaneous.c:242,1
    - Dst: strlen
      Src: /src/gnupg/common/miscellaneous.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - p
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: print_utf8_string
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 9
    functionsReached:
    - do_print_utf8_buffer
    - strlen
    linkageType: ''
    returnType: void
    signature: void print_utf8_string (estream_t stream, const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/gnupg/common/miscellaneous.c:258,1
    - Dst: tohex
      Src: /src/gnupg/common/miscellaneous.c:258,1
    - Dst: putc
      Src: /src/gnupg/common/miscellaneous.c:259,1
    - Dst: tohex
      Src: /src/gnupg/common/miscellaneous.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - fp
    - buffer
    - length
    - reserved
    argTypes:
    - FILE*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 262
    functionName: print_hexstring
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 0
    functionsReached:
    - putc
    - tohex
    linkageType: ''
    returnType: void
    signature: void print_hexstring (FILE *fp, const void *buffer, size_t length,
      int reserved)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: tohex
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tohex(n)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/common/miscellaneous.c:294,1
    - Dst: sprintf
      Src: /src/gnupg/common/miscellaneous.c:312,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 35
    argCount: 3
    argNames:
    - p_arg
    - n
    - delim
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 321
    functionName: try_make_printable_string
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 1
    functionsReached:
    - sprintf
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      try_make_printable_string (const void *p_arg, size_t n, int delim)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: try_make_printable_string
      Src: /src/gnupg/common/miscellaneous.c:329,1
    - Dst: xoutofcore
      Src: /src/gnupg/common/miscellaneous.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p
    - n
    - delim
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: make_printable_string
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 5
    functionsReached:
    - xoutofcore
    - try_make_printable_string
    linkageType: ''
    returnType: char
    signature: 'char *

      make_printable_string (const void *p, size_t n, int delim )'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/common/miscellaneous.c:346,1
    - Dst: strlen
      Src: /src/gnupg/common/miscellaneous.c:346,1
    - Dst: DECODE_ONE
      Src: /src/gnupg/common/miscellaneous.c:362,1
    - Dst: DECODE_ONE
      Src: /src/gnupg/common/miscellaneous.c:363,1
    - Dst: DECODE_ONE
      Src: /src/gnupg/common/miscellaneous.c:364,1
    - Dst: DECODE_ONE
      Src: /src/gnupg/common/miscellaneous.c:365,1
    - Dst: DECODE_ONE
      Src: /src/gnupg/common/miscellaneous.c:366,1
    - Dst: DECODE_ONE
      Src: /src/gnupg/common/miscellaneous.c:367,1
    - Dst: DECODE_ONE
      Src: /src/gnupg/common/miscellaneous.c:368,1
    - Dst: DECODE_ONE
      Src: /src/gnupg/common/miscellaneous.c:369,1
    - Dst: DECODE_ONE
      Src: /src/gnupg/common/miscellaneous.c:370,1
    - Dst: hextobyte
      Src: /src/gnupg/common/miscellaneous.c:373,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - src
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 409
    functionName: decode_c_string
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 2
    functionsReached:
    - DECODE_ONE
    - xtrymalloc
    - hextobyte
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      decode_c_string (const char *src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _m
    - ','
    - _r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 359
    functionName: DECODE_ONE
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODE_ONE(_m,_r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/gnupg/common/miscellaneous.c:418,1
    - Dst: strncasecmp
      Src: /src/gnupg/common/miscellaneous.c:422,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - multistr
    - match
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 431
    functionName: match_multistr
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 1
    functionsReached:
    - strcspn
    - strncasecmp
    linkageType: ''
    returnType: int
    signature: int match_multistr (const char *multistr,const char *match)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/common/miscellaneous.c:444,1
    - Dst: digitp
      Src: /src/gnupg/common/miscellaneous.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s
    - number
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 453
    functionName: parse_version_number
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 0
    functionsReached:
    - digitp
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_version_number (const char *s, int *number)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_version_number
      Src: /src/gnupg/common/miscellaneous.c:467,1
    - Dst: parse_version_number
      Src: /src/gnupg/common/miscellaneous.c:471,1
    - Dst: parse_version_number
      Src: /src/gnupg/common/miscellaneous.c:475,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - s
    - major
    - minor
    - micro
    argTypes:
    - char*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 479
    functionName: parse_version_string
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 0
    functionsReached:
    - parse_version_number
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_version_string (const char *s, int *major, int *minor, int *micro)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_version_string
      Src: /src/gnupg/common/miscellaneous.c:493,1
    - Dst: parse_version_string
      Src: /src/gnupg/common/miscellaneous.c:498,1
    - Dst: strcmp
      Src: /src/gnupg/common/miscellaneous.c:509,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 510
    functionName: gnupg_compare_version
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 1
    functionsReached:
    - parse_version_string
    - strcmp
    linkageType: ''
    returnType: int
    signature: int gnupg_compare_version (const char *a, const char *b)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/common/miscellaneous.c:536,1
    - Dst: log_printf
      Src: /src/gnupg/common/miscellaneous.c:539,1
    - Dst: log_printf
      Src: /src/gnupg/common/miscellaneous.c:540,1
    - Dst: spacep
      Src: /src/gnupg/common/miscellaneous.c:545,1
    - Dst: strcmp
      Src: /src/gnupg/common/miscellaneous.c:553,1
    - Dst: strcmp
      Src: /src/gnupg/common/miscellaneous.c:553,1
    - Dst: log_info
      Src: /src/gnupg/common/miscellaneous.c:555,1
    - Dst: log_info
      Src: /src/gnupg/common/miscellaneous.c:557,1
    - Dst: exit
      Src: /src/gnupg/common/miscellaneous.c:559,1
    - Dst: digitp
      Src: /src/gnupg/common/miscellaneous.c:561,1
    - Dst: strtoul
      Src: /src/gnupg/common/miscellaneous.c:564,1
    - Dst: strtokenize
      Src: /src/gnupg/common/miscellaneous.c:571,1
    - Dst: strcmp
      Src: /src/gnupg/common/miscellaneous.c:579,1
    - Dst: strcmp
      Src: /src/gnupg/common/miscellaneous.c:586,1
    - Dst: strcmp
      Src: /src/gnupg/common/miscellaneous.c:591,1
    - Dst: log_info
      Src: /src/gnupg/common/miscellaneous.c:594,1
    - Dst: _
      Src: /src/gnupg/common/miscellaneous.c:594,1
    - Dst: xfree
      Src: /src/gnupg/common/miscellaneous.c:598,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 3
    argNames:
    - string
    - debugvar
    - flags
    argTypes:
    - char*
    - unsigned int*
    - struct debug_flags_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 603
    functionName: parse_debug_flag
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 9
    functionsReached:
    - digitp
    - exit
    - spacep
    - _
    - strcmp
    - strtokenize
    - log_info
    - strtoul
    - xfree
    - log_printf
    linkageType: ''
    returnType: int
    signature: "int parse_debug_flag (const char *string, unsigned int *debugvar,\n
      \                 const struct debug_flags_s *flags)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/common/miscellaneous.c:627,1
    - Dst: log_printf
      Src: /src/gnupg/common/miscellaneous.c:630,1
    - Dst: log_printf
      Src: /src/gnupg/common/miscellaneous.c:631,1
    - Dst: spacep
      Src: /src/gnupg/common/miscellaneous.c:636,1
    - Dst: strcmp
      Src: /src/gnupg/common/miscellaneous.c:639,1
    - Dst: strcmp
      Src: /src/gnupg/common/miscellaneous.c:639,1
    - Dst: log_info
      Src: /src/gnupg/common/miscellaneous.c:641,1
    - Dst: log_info
      Src: /src/gnupg/common/miscellaneous.c:643,1
    - Dst: exit
      Src: /src/gnupg/common/miscellaneous.c:645,1
    - Dst: strtokenize
      Src: /src/gnupg/common/miscellaneous.c:650,1
    - Dst: strcmp
      Src: /src/gnupg/common/miscellaneous.c:658,1
    - Dst: strcmp
      Src: /src/gnupg/common/miscellaneous.c:665,1
    - Dst: strcmp
      Src: /src/gnupg/common/miscellaneous.c:670,1
    - Dst: log_info
      Src: /src/gnupg/common/miscellaneous.c:673,1
    - Dst: xfree
      Src: /src/gnupg/common/miscellaneous.c:678,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 3
    argNames:
    - string
    - flagvar
    - flags
    argTypes:
    - char*
    - unsigned int*
    - struct compatibility_flags_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 683
    functionName: parse_compatibility_flags
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 2
    functionsReached:
    - exit
    - spacep
    - strcmp
    - strtokenize
    - log_info
    - xfree
    - log_printf
    linkageType: ''
    returnType: int
    signature: "int parse_compatibility_flags (const char *string, unsigned int *flagvar,\n
      \                          const struct compatibility_flags_s *flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/common/miscellaneous.c:707,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/miscellaneous.c:709,1
    - Dst: gpgrt_b64dec_start
      Src: /src/gnupg/common/miscellaneous.c:711,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/miscellaneous.c:714,1
    - Dst: xfree
      Src: /src/gnupg/common/miscellaneous.c:715,1
    - Dst: gpgrt_b64dec_proc
      Src: /src/gnupg/common/miscellaneous.c:718,1
    - Dst: strlen
      Src: /src/gnupg/common/miscellaneous.c:718,1
    - Dst: gpgrt_b64dec_finish
      Src: /src/gnupg/common/miscellaneous.c:721,1
    - Dst: xfree
      Src: /src/gnupg/common/miscellaneous.c:725,1
    - Dst: gpgrt_b64dec_finish
      Src: /src/gnupg/common/miscellaneous.c:731,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - string
    - title
    - r_buffer
    - r_buflen
    argTypes:
    - char*
    - char*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 733
    functionName: b64decode
    functionSourceFile: /src/gnupg/common/miscellaneous.c
    functionUses: 0
    functionsReached:
    - gpgrt_b64dec_proc
    - gpgrt_b64dec_start
    - gpg_error_from_syserror
    - strlen
    - gpgrt_b64dec_finish
    - xtrystrdup
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t b64decode (const char *string, const char *title,\n           void
      **r_buffer, size_t *r_buflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/common/percent.c:67,1
    - Dst: snprintf
      Src: /src/gnupg/common/percent.c:76,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 88
    functionName: percent_plus_escape
    functionSourceFile: /src/gnupg/common/percent.c
    functionUses: 4
    functionsReached:
    - snprintf
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      percent_plus_escape (const char *string)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/common/percent.c:126,1
    - Dst: snprintf
      Src: /src/gnupg/common/percent.c:136,1
    - Dst: memcpy
      Src: /src/gnupg/common/percent.c:148,1
    - Dst: memcpy
      Src: /src/gnupg/common/percent.c:153,1
    - Dst: snprintf
      Src: /src/gnupg/common/percent.c:162,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 4
    argNames:
    - plus_escape
    - prefix
    - data
    - datalen
    argTypes:
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 171
    functionName: percent_data_escape
    functionSourceFile: /src/gnupg/common/percent.c
    functionUses: 1
    functionsReached:
    - snprintf
    - xtrymalloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *\npercent_data_escape (int plus_escape, const char *prefix,\n
      \                    const void *data, size_t datalen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtoi_2
      Src: /src/gnupg/common/percent.c:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - buffer
    - string
    - withplus
    - nulrepl
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 203
    functionName: do_unescape
    functionSourceFile: /src/gnupg/common/percent.c
    functionUses: 0
    functionsReached:
    - xtoi_2
    linkageType: ''
    returnType: size_t
    signature: "size_t do_unescape (unsigned char *buffer, const unsigned char *string,\n
      \            int withplus, int nulrepl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - string
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 225
    functionName: count_unescape
    functionSourceFile: /src/gnupg/common/percent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t count_unescape (const unsigned char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count_unescape
      Src: /src/gnupg/common/percent.c:235,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/percent.c:236,1
    - Dst: do_unescape
      Src: /src/gnupg/common/percent.c:239,1
    - Dst: assert
      Src: /src/gnupg/common/percent.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - string
    - withplus
    - nulrepl
    argTypes:
    - char*
    - int
    - int
    assertStmts:
    - condition: (n == nbytes)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/gnupg/common/percent.c
    constantsTouched: []
    func_position:
      end: 244
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 244
    functionName: do_plus_or_plain_unescape
    functionSourceFile: /src/gnupg/common/percent.c
    functionUses: 0
    functionsReached:
    - do_unescape
    - xtrymalloc
    - assert
    - count_unescape
    linkageType: ''
    returnType: char
    signature: 'char *

      do_plus_or_plain_unescape (const char *string, int withplus, int nulrepl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_plus_or_plain_unescape
      Src: /src/gnupg/common/percent.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - nulrepl
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: percent_plus_unescape
    functionSourceFile: /src/gnupg/common/percent.c
    functionUses: 3
    functionsReached:
    - do_plus_or_plain_unescape
    linkageType: ''
    returnType: char
    signature: 'char *

      percent_plus_unescape (const char *string, int nulrepl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_plus_or_plain_unescape
      Src: /src/gnupg/common/percent.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - nulrepl
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: percent_unescape
    functionSourceFile: /src/gnupg/common/percent.c
    functionUses: 0
    functionsReached:
    - do_plus_or_plain_unescape
    linkageType: ''
    returnType: char
    signature: 'char *

      percent_unescape (const char *string, int nulrepl)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtoi_2
      Src: /src/gnupg/common/percent.c:280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - string
    - withplus
    - nulrepl
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 294
    functionName: do_unescape_inplace
    functionSourceFile: /src/gnupg/common/percent.c
    functionUses: 0
    functionsReached:
    - xtoi_2
    linkageType: ''
    returnType: size_t
    signature: size_t do_unescape_inplace (char *string, int withplus, int nulrepl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_unescape_inplace
      Src: /src/gnupg/common/percent.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - nulrepl
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: percent_plus_unescape_inplace
    functionSourceFile: /src/gnupg/common/percent.c
    functionUses: 0
    functionsReached:
    - do_unescape_inplace
    linkageType: ''
    returnType: size_t
    signature: size_t percent_plus_unescape_inplace (char *string, int nulrepl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_unescape_inplace
      Src: /src/gnupg/common/percent.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - nulrepl
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 322
    functionName: percent_unescape_inplace
    functionSourceFile: /src/gnupg/common/percent.c
    functionUses: 0
    functionsReached:
    - do_unescape_inplace
    linkageType: ''
    returnType: size_t
    signature: size_t percent_unescape_inplace (char *string, int nulrepl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: _
    functionSourceFile: /src/gnupg/common/simple-pwquery.c
    functionUses: 461
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: digitp
    functionSourceFile: /src/gnupg/common/simple-pwquery.c
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digitp(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: hexdigitp
    functionSourceFile: /src/gnupg/common/simple-pwquery.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hexdigitp(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: xtoi_1
    functionSourceFile: /src/gnupg/common/simple-pwquery.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: xtoi_2
    functionSourceFile: /src/gnupg/common/simple-pwquery.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: my_stpcpy
    functionSourceFile: /src/gnupg/common/simple-pwquery.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      my_stpcpy(char *a,const char *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: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: stpcpy
    functionSourceFile: /src/gnupg/common/simple-pwquery.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stpcpy(a,b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spwq_malloc
      Src: /src/gnupg/common/simple-pwquery.c:106,1
    - Dst: strlen
      Src: /src/gnupg/common/simple-pwquery.c:106,1
    - Dst: strlen
      Src: /src/gnupg/common/simple-pwquery.c:106,1
    - Dst: strcpy
      Src: /src/gnupg/common/simple-pwquery.c:109,1
    - Dst: stpcpy
      Src: /src/gnupg/common/simple-pwquery.c:109,1
    - Dst: stpcpy
      Src: /src/gnupg/common/simple-pwquery.c:109,1
    - Dst: stpcpy
      Src: /src/gnupg/common/simple-pwquery.c:109,1
    - Dst: stpcpy
      Src: /src/gnupg/common/simple-pwquery.c:110,1
    - Dst: assuan_transact
      Src: /src/gnupg/common/simple-pwquery.c:112,1
    - Dst: spwq_free
      Src: /src/gnupg/common/simple-pwquery.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - name
    - value
    argTypes:
    - assuan_context_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 116
    functionName: agent_send_option
    functionSourceFile: /src/gnupg/common/simple-pwquery.c
    functionUses: 0
    functionsReached:
    - spwq_free
    - spwq_malloc
    - strlen
    - assuan_transact
    - strcpy
    - stpcpy
    linkageType: ''
    returnType: int
    signature: int agent_send_option (assuan_context_t ctx, const char *name, const
      char *value)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/common/simple-pwquery.c:130,1
    - Dst: agent_send_option
      Src: /src/gnupg/common/simple-pwquery.c:133,1
    - Dst: getenv
      Src: /src/gnupg/common/simple-pwquery.c:137,1
    - Dst: ttyname
      Src: /src/gnupg/common/simple-pwquery.c:139,1
    - Dst: ttyname
      Src: /src/gnupg/common/simple-pwquery.c:140,1
    - Dst: agent_send_option
      Src: /src/gnupg/common/simple-pwquery.c:144,1
    - Dst: getenv
      Src: /src/gnupg/common/simple-pwquery.c:148,1
    - Dst: agent_send_option
      Src: /src/gnupg/common/simple-pwquery.c:151,1
    - Dst: setlocale
      Src: /src/gnupg/common/simple-pwquery.c:161,1
    - Dst: spwq_malloc
      Src: /src/gnupg/common/simple-pwquery.c:164,1
    - Dst: strlen
      Src: /src/gnupg/common/simple-pwquery.c:164,1
    - Dst: strcpy
      Src: /src/gnupg/common/simple-pwquery.c:167,1
    - Dst: setlocale
      Src: /src/gnupg/common/simple-pwquery.c:170,1
    - Dst: agent_send_option
      Src: /src/gnupg/common/simple-pwquery.c:172,1
    - Dst: setlocale
      Src: /src/gnupg/common/simple-pwquery.c:175,1
    - Dst: spwq_free
      Src: /src/gnupg/common/simple-pwquery.c:176,1
    - Dst: setlocale
      Src: /src/gnupg/common/simple-pwquery.c:183,1
    - Dst: spwq_malloc
      Src: /src/gnupg/common/simple-pwquery.c:186,1
    - Dst: strlen
      Src: /src/gnupg/common/simple-pwquery.c:186,1
    - Dst: strcpy
      Src: /src/gnupg/common/simple-pwquery.c:189,1
    - Dst: setlocale
      Src: /src/gnupg/common/simple-pwquery.c:192,1
    - Dst: agent_send_option
      Src: /src/gnupg/common/simple-pwquery.c:194,1
    - Dst: setlocale
      Src: /src/gnupg/common/simple-pwquery.c:197,1
    - Dst: spwq_free
      Src: /src/gnupg/common/simple-pwquery.c:198,1
    - Dst: getenv
      Src: /src/gnupg/common/simple-pwquery.c:207,1
    - Dst: agent_send_option
      Src: /src/gnupg/common/simple-pwquery.c:212,1
    - Dst: getenv
      Src: /src/gnupg/common/simple-pwquery.c:216,1
    - Dst: agent_send_option
      Src: /src/gnupg/common/simple-pwquery.c:221,1
    - Dst: assuan_transact
      Src: /src/gnupg/common/simple-pwquery.c:226,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 61
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 230
    functionName: agent_send_all_options
    functionSourceFile: /src/gnupg/common/simple-pwquery.c
    functionUses: 0
    functionsReached:
    - spwq_free
    - spwq_malloc
    - strlen
    - getenv
    - setlocale
    - assuan_transact
    - strcpy
    - ttyname
    - agent_send_option
    linkageType: ''
    returnType: int
    signature: int agent_send_all_options (assuan_context_t ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/common/simple-pwquery.c:247,1
    - Dst: _
      Src: /src/gnupg/common/simple-pwquery.c:247,1
    - Dst: assuan_new
      Src: /src/gnupg/common/simple-pwquery.c:253,1
    - Dst: assuan_socket_connect
      Src: /src/gnupg/common/simple-pwquery.c:257,1
    - Dst: log_error
      Src: /src/gnupg/common/simple-pwquery.c:261,1
    - Dst: _
      Src: /src/gnupg/common/simple-pwquery.c:261,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/simple-pwquery.c:262,1
    - Dst: agent_send_all_options
      Src: /src/gnupg/common/simple-pwquery.c:267,1
    - Dst: log_error
      Src: /src/gnupg/common/simple-pwquery.c:271,1
    - Dst: _
      Src: /src/gnupg/common/simple-pwquery.c:271,1
    - Dst: assuan_release
      Src: /src/gnupg/common/simple-pwquery.c:279,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 282
    functionName: agent_open
    functionSourceFile: /src/gnupg/common/simple-pwquery.c
    functionUses: 0
    functionsReached:
    - assuan_new
    - log_error
    - assuan_release
    - _
    - agent_send_all_options
    - gpg_strerror
    - assuan_socket_connect
    linkageType: ''
    returnType: int
    signature: int agent_open (assuan_context_t *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnupg/common/simple-pwquery.c:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - buffer
    - text
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 310
    functionName: copy_and_escape
    functionSourceFile: /src/gnupg/common/simple-pwquery.c
    functionUses: 0
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      copy_and_escape (char *buffer, const char *text)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spwq_free
      Src: /src/gnupg/common/simple-pwquery.c:317,1
    - Dst: spwq_malloc
      Src: /src/gnupg/common/simple-pwquery.c:321,1
    - Dst: strlen
      Src: /src/gnupg/common/simple-pwquery.c:321,1
    - Dst: strcpy
      Src: /src/gnupg/common/simple-pwquery.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 328
    functionName: simple_pw_set_socket
    functionSourceFile: /src/gnupg/common/simple-pwquery.c
    functionUses: 0
    functionsReached:
    - spwq_free
    - strcpy
    - spwq_malloc
    - strlen
    linkageType: ''
    returnType: int
    signature: int simple_pw_set_socket (const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnupg/common/simple-pwquery.c:338,1
    - Dst: gnupg_allow_set_foregound_window
      Src: /src/gnupg/common/simple-pwquery.c:340,1
    - Dst: strtoul
      Src: /src/gnupg/common/simple-pwquery.c:340,1
    - Dst: log_debug
      Src: /src/gnupg/common/simple-pwquery.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 351
    functionName: default_inq_cb
    functionSourceFile: /src/gnupg/common/simple-pwquery.c
    functionUses: 5
    functionsReached:
    - strncmp
    - strtoul
    - log_debug
    - gnupg_allow_set_foregound_window
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t default_inq_cb (void *opaque, const char *line)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: agent_open
      Src: /src/gnupg/common/simple-pwquery.c:379,1
    - Dst: spwq_malloc
      Src: /src/gnupg/common/simple-pwquery.c:396,1
    - Dst: strlen
      Src: /src/gnupg/common/simple-pwquery.c:397,1
    - Dst: strlen
      Src: /src/gnupg/common/simple-pwquery.c:398,1
    - Dst: strlen
      Src: /src/gnupg/common/simple-pwquery.c:399,1
    - Dst: strlen
      Src: /src/gnupg/common/simple-pwquery.c:400,1
    - Dst: strcpy
      Src: /src/gnupg/common/simple-pwquery.c:407,1
    - Dst: stpcpy
      Src: /src/gnupg/common/simple-pwquery.c:410,1
    - Dst: copy_and_escape
      Src: /src/gnupg/common/simple-pwquery.c:411,1
    - Dst: copy_and_escape
      Src: /src/gnupg/common/simple-pwquery.c:413,1
    - Dst: copy_and_escape
      Src: /src/gnupg/common/simple-pwquery.c:415,1
    - Dst: copy_and_escape
      Src: /src/gnupg/common/simple-pwquery.c:417,1
    - Dst: init_membuf_secure
      Src: /src/gnupg/common/simple-pwquery.c:420,1
    - Dst: assuan_transact
      Src: /src/gnupg/common/simple-pwquery.c:422,1
    - Dst: spwq_free
      Src: /src/gnupg/common/simple-pwquery.c:424,1
    - Dst: gpg_err_source
      Src: /src/gnupg/common/simple-pwquery.c:429,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/simple-pwquery.c:430,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/simple-pwquery.c:431,1
    - Dst: gpg_err_source
      Src: /src/gnupg/common/simple-pwquery.c:431,1
    - Dst: get_membuf
      Src: /src/gnupg/common/simple-pwquery.c:435,1
    - Dst: wipememory
      Src: /src/gnupg/common/simple-pwquery.c:437,1
    - Dst: spwq_free
      Src: /src/gnupg/common/simple-pwquery.c:438,1
    - Dst: put_membuf
      Src: /src/gnupg/common/simple-pwquery.c:442,1
    - Dst: get_membuf
      Src: /src/gnupg/common/simple-pwquery.c:443,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/simple-pwquery.c:445,1
    - Dst: assuan_release
      Src: /src/gnupg/common/simple-pwquery.c:452,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 6
    argNames:
    - cacheid
    - tryagain
    - prompt
    - description
    - opt_check
    - errorcode
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 362
    functionDepth: 4
    functionLinenumber: 362
    functionLinenumberEnd: 454
    functionName: simple_pwquery
    functionSourceFile: /src/gnupg/common/simple-pwquery.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - spwq_free
    - spwq_malloc
    - strlen
    - copy_and_escape
    - put_membuf
    - init_membuf_secure
    - gpg_error_from_syserror
    - gpg_err_make
    - assuan_release
    - agent_open
    - assuan_transact
    - wipememory
    - strcpy
    - gpg_err_code
    - stpcpy
    - gpg_err_source
    linkageType: ''
    returnType: char
    signature: "char *\nsimple_pwquery (const char *cacheid,\n                const
      char *tryagain,\n                const char *prompt,\n                const
      char *description,\n                int opt_check,\n                int *errorcode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/simple-pwquery.c:466,1
    - Dst: strcpy
      Src: /src/gnupg/common/simple-pwquery.c:469,1
    - Dst: copy_and_escape
      Src: /src/gnupg/common/simple-pwquery.c:471,1
    - Dst: simple_query
      Src: /src/gnupg/common/simple-pwquery.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cacheid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 476
    functionName: simple_pwclear
    functionSourceFile: /src/gnupg/common/simple-pwquery.c
    functionUses: 0
    functionsReached:
    - copy_and_escape
    - simple_query
    - strcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: int simple_pwclear (const char *cacheid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: agent_open
      Src: /src/gnupg/common/simple-pwquery.c:487,1
    - Dst: assuan_transact
      Src: /src/gnupg/common/simple-pwquery.c:491,1
    - Dst: assuan_release
      Src: /src/gnupg/common/simple-pwquery.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - query
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 481
    functionDepth: 4
    functionLinenumber: 481
    functionLinenumberEnd: 495
    functionName: simple_query
    functionSourceFile: /src/gnupg/common/simple-pwquery.c
    functionUses: 1
    functionsReached:
    - agent_open
    - assuan_release
    - assuan_transact
    linkageType: ''
    returnType: int
    signature: int simple_query (const char *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tocode
    - fromcode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: iconv_open
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iconv_t
    signature: iconv_t iconv_open (const char *tocode, const char *fromcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - cd
    - inbuf
    - inbytesleft
    - outbuf
    - outbytesleft
    argTypes:
    - iconv_t
    - char**
    - size_t*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: iconv
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t iconv (iconv_t cd, char **inbuf, size_t *inbytesleft,\n       char
      **outbuf, size_t *outbytesleft)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cd
    argTypes:
    - iconv_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: iconv_close
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int iconv_close (iconv_t cd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/utf8conv.c:115,1
    - Dst: log_info
      Src: /src/gnupg/common/utf8conv.c:127,1
    - Dst: _
      Src: /src/gnupg/common/utf8conv.c:127,1
    - Dst: log_info
      Src: /src/gnupg/common/utf8conv.c:135,1
    - Dst: _
      Src: /src/gnupg/common/utf8conv.c:135,1
    - Dst: strerror
      Src: /src/gnupg/common/utf8conv.c:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - to
    - from
    - use_fallback
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 148
    functionName: handle_iconv_error
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 0
    functionsReached:
    - strcmp
    - log_info
    - strerror
    - _
    linkageType: ''
    returnType: void
    signature: void handle_iconv_error (const char *to, const char *from, int use_fallback)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GetConsoleOutputCP
      Src: /src/gnupg/common/utf8conv.c:173,1
    - Dst: GetACP
      Src: /src/gnupg/common/utf8conv.c:175,1
    - Dst: sprintf
      Src: /src/gnupg/common/utf8conv.c:176,1
    - Dst: strlen
      Src: /src/gnupg/common/utf8conv.c:198,1
    - Dst: strlen
      Src: /src/gnupg/common/utf8conv.c:198,1
    - Dst: strcmp
      Src: /src/gnupg/common/utf8conv.c:200,1
    - Dst: strlen
      Src: /src/gnupg/common/utf8conv.c:202,1
    - Dst: nl_langinfo
      Src: /src/gnupg/common/utf8conv.c:210,1
    - Dst: strcpy
      Src: /src/gnupg/common/utf8conv.c:216,1
    - Dst: getenv
      Src: /src/gnupg/common/utf8conv.c:217,1
    - Dst: getenv
      Src: /src/gnupg/common/utf8conv.c:220,1
    - Dst: getenv
      Src: /src/gnupg/common/utf8conv.c:222,1
    - Dst: strchr
      Src: /src/gnupg/common/utf8conv.c:226,1
    - Dst: strchr
      Src: /src/gnupg/common/utf8conv.c:229,1
    - Dst: strlen
      Src: /src/gnupg/common/utf8conv.c:231,1
    - Dst: memcpy
      Src: /src/gnupg/common/utf8conv.c:234,1
    - Dst: strlen
      Src: /src/gnupg/common/utf8conv.c:245,1
    - Dst: ascii_memcasecmp
      Src: /src/gnupg/common/utf8conv.c:245,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/utf8conv.c:259,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/utf8conv.c:260,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/utf8conv.c:261,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/utf8conv.c:262,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/utf8conv.c:269,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/utf8conv.c:270,1
    - Dst: iconv_open
      Src: /src/gnupg/common/utf8conv.c:280,1
    - Dst: handle_iconv_error
      Src: /src/gnupg/common/utf8conv.c:283,1
    - Dst: iconv_close
      Src: /src/gnupg/common/utf8conv.c:286,1
    - Dst: iconv_open
      Src: /src/gnupg/common/utf8conv.c:287,1
    - Dst: handle_iconv_error
      Src: /src/gnupg/common/utf8conv.c:290,1
    - Dst: iconv_close
      Src: /src/gnupg/common/utf8conv.c:293,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 69
    argCount: 1
    argNames:
    - newset
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 299
    functionName: set_native_charset
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 1
    functionsReached:
    - ascii_memcasecmp
    - strlen
    - iconv_close
    - sprintf
    - nl_langinfo
    - getenv
    - GetACP
    - strcmp
    - strchr
    - strcpy
    - ascii_strcasecmp
    - iconv_open
    - handle_iconv_error
    - GetConsoleOutputCP
    - memcpy
    linkageType: ''
    returnType: int
    signature: int set_native_charset (const char *newset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: get_native_charset
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_native_charset (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: is_native_utf8
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_native_utf8 (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnupg/common/utf8conv.c:330,1
    - Dst: xmalloc
      Src: /src/gnupg/common/utf8conv.c:341,1
    - Dst: iconv_open
      Src: /src/gnupg/common/utf8conv.c:362,1
    - Dst: handle_iconv_error
      Src: /src/gnupg/common/utf8conv.c:365,1
    - Dst: native_to_utf8
      Src: /src/gnupg/common/utf8conv.c:366,1
    - Dst: xmalloc
      Src: /src/gnupg/common/utf8conv.c:375,1
    - Dst: strlen
      Src: /src/gnupg/common/utf8conv.c:378,1
    - Dst: iconv
      Src: /src/gnupg/common/utf8conv.c:381,1
    - Dst: log_info
      Src: /src/gnupg/common/utf8conv.c:387,1
    - Dst: _
      Src: /src/gnupg/common/utf8conv.c:387,1
    - Dst: strerror
      Src: /src/gnupg/common/utf8conv.c:388,1
    - Dst: strcpy
      Src: /src/gnupg/common/utf8conv.c:391,1
    - Dst: iconv_close
      Src: /src/gnupg/common/utf8conv.c:400,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - orig_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 403
    functionName: native_to_utf8
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 9
    functionsReached:
    - strlen
    - iconv_close
    - iconv
    - _
    - xmalloc
    - iconv_open
    - handle_iconv_error
    - log_info
    - xstrdup
    - strcpy
    - strerror
    - native_to_utf8
    linkageType: ''
    returnType: char
    signature: 'char *

      native_to_utf8 (const char *orig_string)'
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnupg/common/utf8conv.c:439,1
    - Dst: sprintf
      Src: /src/gnupg/common/utf8conv.c:471,1
    - Dst: sprintf
      Src: /src/gnupg/common/utf8conv.c:523,1
    - Dst: sprintf
      Src: /src/gnupg/common/utf8conv.c:536,1
    - Dst: sprintf
      Src: /src/gnupg/common/utf8conv.c:539,1
    - Dst: sprintf
      Src: /src/gnupg/common/utf8conv.c:603,1
    - Dst: xmalloc
      Src: /src/gnupg/common/utf8conv.c:618,1
    - Dst: iconv_open
      Src: /src/gnupg/common/utf8conv.c:630,1
    - Dst: handle_iconv_error
      Src: /src/gnupg/common/utf8conv.c:633,1
    - Dst: xfree
      Src: /src/gnupg/common/utf8conv.c:634,1
    - Dst: utf8_to_native
      Src: /src/gnupg/common/utf8conv.c:635,1
    - Dst: BUG
      Src: /src/gnupg/common/utf8conv.c:645,1
    - Dst: xmalloc
      Src: /src/gnupg/common/utf8conv.c:646,1
    - Dst: iconv
      Src: /src/gnupg/common/utf8conv.c:647,1
    - Dst: log_info
      Src: /src/gnupg/common/utf8conv.c:653,1
    - Dst: _
      Src: /src/gnupg/common/utf8conv.c:653,1
    - Dst: strerror
      Src: /src/gnupg/common/utf8conv.c:654,1
    - Dst: xfree
      Src: /src/gnupg/common/utf8conv.c:657,1
    - Dst: xfree
      Src: /src/gnupg/common/utf8conv.c:659,1
    - Dst: do_utf8_to_native
      Src: /src/gnupg/common/utf8conv.c:660,1
    - Dst: xfree
      Src: /src/gnupg/common/utf8conv.c:668,1
    - Dst: iconv_close
      Src: /src/gnupg/common/utf8conv.c:670,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 193
    argCount: 4
    argNames:
    - string
    - length
    - delim
    - with_iconv
    argTypes:
    - char*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 679
    functionName: do_utf8_to_native
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 1
    functionsReached:
    - do_utf8_to_native
    - iconv_close
    - sprintf
    - _
    - BUG
    - xmalloc
    - iconv_open
    - handle_iconv_error
    - xfree
    - iconv
    - log_info
    - utf8_to_native
    - strerror
    linkageType: ''
    returnType: char
    signature: "char *\ndo_utf8_to_native (const char *string, size_t length, int
      delim,\n                   int with_iconv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_utf8_to_native
      Src: /src/gnupg/common/utf8conv.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - string
    - length
    - delim
    argTypes:
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 687
    functionDepth: 3
    functionLinenumber: 687
    functionLinenumberEnd: 691
    functionName: utf8_to_native
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 28
    functionsReached:
    - do_utf8_to_native
    linkageType: ''
    returnType: char
    signature: 'char *

      utf8_to_native (const char *string, size_t length, int delim)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iconv_open
      Src: /src/gnupg/common/utf8conv.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tocode
    - fromcode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 702
    functionName: jnlib_iconv_open
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 0
    functionsReached:
    - iconv_open
    linkageType: ''
    returnType: jnlib_iconv_t
    signature: jnlib_iconv_t jnlib_iconv_open (const char *tocode, const char *fromcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iconv
      Src: /src/gnupg/common/utf8conv.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cd
    - inbuf
    - inbytesleft
    - outbuf
    - outbytesleft
    argTypes:
    - jnlib_iconv_t
    - char**
    - size_t*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 714
    functionName: jnlib_iconv
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 0
    functionsReached:
    - iconv
    linkageType: ''
    returnType: size_t
    signature: "size_t jnlib_iconv (jnlib_iconv_t cd,\n             const char **inbuf,
      size_t *inbytesleft,\n             char **outbuf, size_t *outbytesleft)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iconv_close
      Src: /src/gnupg/common/utf8conv.c:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cd
    argTypes:
    - jnlib_iconv_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 722
    functionName: jnlib_iconv_close
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 0
    functionsReached:
    - iconv_close
    linkageType: ''
    returnType: int
    signature: int jnlib_iconv_close (jnlib_iconv_t cd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WideCharToMultiByte
      Src: /src/gnupg/common/utf8conv.c:736,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/utf8conv.c:739,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/utf8conv.c:743,1
    - Dst: WideCharToMultiByte
      Src: /src/gnupg/common/utf8conv.c:747,1
    - Dst: xfree
      Src: /src/gnupg/common/utf8conv.c:750,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/utf8conv.c:751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - string
    - codepage
    argTypes:
    - wchar_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 755
    functionName: wchar_to_cp
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 0
    functionsReached:
    - gpg_err_set_errno
    - xtrymalloc
    - WideCharToMultiByte
    - xfree
    linkageType: ''
    returnType: char
    signature: 'char *

      wchar_to_cp (const wchar_t *string, unsigned int codepage)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MultiByteToWideChar
      Src: /src/gnupg/common/utf8conv.c:769,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/utf8conv.c:772,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/utf8conv.c:779,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/utf8conv.c:782,1
    - Dst: MultiByteToWideChar
      Src: /src/gnupg/common/utf8conv.c:786,1
    - Dst: xfree
      Src: /src/gnupg/common/utf8conv.c:789,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/utf8conv.c:790,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - string
    - codepage
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 794
    functionName: cp_to_wchar
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 0
    functionsReached:
    - MultiByteToWideChar
    - xtrymalloc
    - gpg_err_set_errno
    - xfree
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      cp_to_wchar (const char *string, unsigned int codepage)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetConsoleOutputCP
      Src: /src/gnupg/common/utf8conv.c:807,1
    - Dst: GetACP
      Src: /src/gnupg/common/utf8conv.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 812
    functionName: get_w32_codepage
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 0
    functionsReached:
    - GetACP
    - GetConsoleOutputCP
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_w32_codepage (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wchar_to_cp
      Src: /src/gnupg/common/utf8conv.c:821,1
    - Dst: get_w32_codepage
      Src: /src/gnupg/common/utf8conv.c:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 822
    functionName: wchar_to_native
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 0
    functionsReached:
    - wchar_to_cp
    - get_w32_codepage
    linkageType: ''
    returnType: char
    signature: 'char *

      wchar_to_native (const wchar_t *string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cp_to_wchar
      Src: /src/gnupg/common/utf8conv.c:832,1
    - Dst: get_w32_codepage
      Src: /src/gnupg/common/utf8conv.c:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 833
    functionName: native_to_wchar
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 1
    functionsReached:
    - get_w32_codepage
    - cp_to_wchar
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      native_to_wchar (const char *string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wchar_to_cp
      Src: /src/gnupg/common/utf8conv.c:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 844
    functionName: wchar_to_utf8
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 4
    functionsReached:
    - wchar_to_cp
    linkageType: ''
    returnType: char
    signature: 'char *

      wchar_to_utf8 (const wchar_t *string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cp_to_wchar
      Src: /src/gnupg/common/utf8conv.c:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 855
    functionName: utf8_to_wchar
    functionSourceFile: /src/gnupg/common/utf8conv.c
    functionUses: 3
    functionsReached:
    - cp_to_wchar
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      utf8_to_wchar (const char *string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/common/strlist.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sl
    argTypes:
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: free_strlist
    functionSourceFile: /src/gnupg/common/strlist.c
    functionUses: 47
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void free_strlist( strlist_t sl )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wipememory
      Src: /src/gnupg/common/strlist.c:64,1
    - Dst: strlen
      Src: /src/gnupg/common/strlist.c:64,1
    - Dst: xfree
      Src: /src/gnupg/common/strlist.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sl
    argTypes:
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: free_strlist_wipe
    functionSourceFile: /src/gnupg/common/strlist.c
    functionUses: 0
    functionsReached:
    - wipememory
    - xfree
    - strlen
    linkageType: ''
    returnType: void
    signature: void free_strlist_wipe (strlist_t sl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/common/strlist.c:77,1
    - Dst: strlen
      Src: /src/gnupg/common/strlist.c:77,1
    - Dst: strcpy
      Src: /src/gnupg/common/strlist.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - list
    - string
    argTypes:
    - strlist_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: add_to_strlist
    functionSourceFile: /src/gnupg/common/strlist.c
    functionUses: 26
    functionsReached:
    - xmalloc
    - strcpy
    - strlen
    linkageType: ''
    returnType: strlist_t
    signature: strlist_t add_to_strlist( strlist_t *list, const char *string )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/common/strlist.c:93,1
    - Dst: strlen
      Src: /src/gnupg/common/strlist.c:93,1
    - Dst: strcpy
      Src: /src/gnupg/common/strlist.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - list
    - string
    argTypes:
    - strlist_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: add_to_strlist_try
    functionSourceFile: /src/gnupg/common/strlist.c
    functionUses: 4
    functionsReached:
    - strcpy
    - xtrymalloc
    - strlen
    linkageType: ''
    returnType: strlist_t
    signature: strlist_t add_to_strlist_try (strlist_t *list, const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_to_strlist
      Src: /src/gnupg/common/strlist.c:114,1
    - Dst: native_to_utf8
      Src: /src/gnupg/common/strlist.c:117,1
    - Dst: add_to_strlist
      Src: /src/gnupg/common/strlist.c:118,1
    - Dst: xfree
      Src: /src/gnupg/common/strlist.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - list
    - string
    - is_utf8
    argTypes:
    - strlist_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: add_to_strlist2
    functionSourceFile: /src/gnupg/common/strlist.c
    functionUses: 2
    functionsReached:
    - xfree
    - add_to_strlist
    - native_to_utf8
    linkageType: ''
    returnType: strlist_t
    signature: strlist_t add_to_strlist2( strlist_t *list, const char *string, int
      is_utf8 )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: append_to_strlist_try
      Src: /src/gnupg/common/strlist.c:131,1
    - Dst: xoutofcore
      Src: /src/gnupg/common/strlist.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - list
    - string
    argTypes:
    - strlist_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: append_to_strlist
    functionSourceFile: /src/gnupg/common/strlist.c
    functionUses: 9
    functionsReached:
    - xoutofcore
    - append_to_strlist_try
    linkageType: ''
    returnType: strlist_t
    signature: strlist_t append_to_strlist( strlist_t *list, const char *string )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/common/strlist.c:146,1
    - Dst: memcpy
      Src: /src/gnupg/common/strlist.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - list
    - string
    - stringlen
    argTypes:
    - strlist_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: do_append_to_strlist
    functionSourceFile: /src/gnupg/common/strlist.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    - memcpy
    linkageType: ''
    returnType: strlist_t
    signature: strlist_t do_append_to_strlist (strlist_t *list, const char *string,
      size_t stringlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_append_to_strlist
      Src: /src/gnupg/common/strlist.c:170,1
    - Dst: strlen
      Src: /src/gnupg/common/strlist.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - string
    argTypes:
    - strlist_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: append_to_strlist_try
    functionSourceFile: /src/gnupg/common/strlist.c
    functionUses: 1
    functionsReached:
    - do_append_to_strlist
    - strlen
    linkageType: ''
    returnType: strlist_t
    signature: strlist_t append_to_strlist_try (strlist_t *list, const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: append_to_strlist
      Src: /src/gnupg/common/strlist.c:180,1
    - Dst: native_to_utf8
      Src: /src/gnupg/common/strlist.c:183,1
    - Dst: append_to_strlist
      Src: /src/gnupg/common/strlist.c:184,1
    - Dst: xfree
      Src: /src/gnupg/common/strlist.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - list
    - string
    - is_utf8
    argTypes:
    - strlist_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: append_to_strlist2
    functionSourceFile: /src/gnupg/common/strlist.c
    functionUses: 1
    functionsReached:
    - xfree
    - native_to_utf8
    - append_to_strlist
    linkageType: ''
    returnType: strlist_t
    signature: strlist_t append_to_strlist2( strlist_t *list, const char *string,
      int is_utf8 )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/gnupg/common/strlist.c:207,1
    - Dst: strlen
      Src: /src/gnupg/common/strlist.c:211,1
    - Dst: do_append_to_strlist
      Src: /src/gnupg/common/strlist.c:214,1
    - Dst: free_strlist
      Src: /src/gnupg/common/strlist.c:217,1
    - Dst: trim_spaces
      Src: /src/gnupg/common/strlist.c:220,1
    - Dst: strlist_prev
      Src: /src/gnupg/common/strlist.c:223,1
    - Dst: free_strlist
      Src: /src/gnupg/common/strlist.c:226,1
    - Dst: free_strlist
      Src: /src/gnupg/common/strlist.c:231,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/strlist.c:243,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - list
    - string
    - delim
    argTypes:
    - strlist_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 257
    functionName: tokenize_to_strlist
    functionSourceFile: /src/gnupg/common/strlist.c
    functionUses: 3
    functionsReached:
    - strpbrk
    - strlen
    - strlist_prev
    - trim_spaces
    - gpg_err_set_errno
    - do_append_to_strlist
    - free_strlist
    linkageType: ''
    returnType: strlist_t
    signature: strlist_t tokenize_to_strlist (strlist_t *list, const char *string,
      const char *delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/common/strlist.c:270,1
    - Dst: strlen
      Src: /src/gnupg/common/strlist.c:270,1
    - Dst: strcpy
      Src: /src/gnupg/common/strlist.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - list
    argTypes:
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 278
    functionName: strlist_copy
    functionSourceFile: /src/gnupg/common/strlist.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - strcpy
    - strlen
    linkageType: ''
    returnType: strlist_t
    signature: strlist_t strlist_copy (strlist_t list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - head
    - node
    argTypes:
    - strlist_t
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 290
    functionName: strlist_prev
    functionSourceFile: /src/gnupg/common/strlist.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: strlist_t
    signature: strlist_t strlist_prev( strlist_t head, strlist_t node )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 299
    functionName: strlist_last
    functionSourceFile: /src/gnupg/common/strlist.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: strlist_t
    signature: strlist_t strlist_last( strlist_t node )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/common/strlist.c:313,1
    - Dst: strlen
      Src: /src/gnupg/common/strlist.c:313,1
    - Dst: strcpy
      Src: /src/gnupg/common/strlist.c:314,1
    - Dst: xfree
      Src: /src/gnupg/common/strlist.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - list
    argTypes:
    - strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 321
    functionName: strlist_pop
    functionSourceFile: /src/gnupg/common/strlist.c
    functionUses: 1
    functionsReached:
    - xmalloc
    - strcpy
    - xfree
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      strlist_pop (strlist_t *list)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/common/strlist.c:334,1
    - Dst: strlen
      Src: /src/gnupg/common/strlist.c:334,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/strlist.c:336,1
    - Dst: strcpy
      Src: /src/gnupg/common/strlist.c:337,1
    - Dst: xfree
      Src: /src/gnupg/common/strlist.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - list
    - r_result
    argTypes:
    - strlist_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: strlist_pop_try
    functionSourceFile: /src/gnupg/common/strlist.c
    functionUses: 0
    functionsReached:
    - gpg_err_code_from_syserror
    - strlen
    - strcpy
    - xfree
    - xtrymalloc
    linkageType: ''
    returnType: int
    signature: int strlist_pop_try (strlist_t *list, char **r_result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/strlist.c:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - haystack
    - needle
    argTypes:
    - strlist_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: strlist_find
    functionSourceFile: /src/gnupg/common/strlist.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: strlist_t
    signature: strlist_t strlist_find (strlist_t haystack, const char *needle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: strlist_length
    functionSourceFile: /src/gnupg/common/strlist.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int strlist_length (strlist_t list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - list
    argTypes:
    - strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 387
    functionName: strlist_rev
    functionSourceFile: /src/gnupg/common/strlist.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: strlist_t
    signature: strlist_t strlist_rev (strlist_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: fail
    functionSourceFile: /src/gnupg/common/t-exectool.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(msg, err)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/gnupg/common/t-exectool.c:49,1
    - Dst: access
      Src: /src/gnupg/common/t-exectool.c:51,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-exectool.c:53,1
    - Dst: strerror
      Src: /src/gnupg/common/t-exectool.c:54,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-exectool.c:61,1
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/common/t-exectool.c:63,1
    - Dst: fail
      Src: /src/gnupg/common/t-exectool.c:65,1
    - Dst: assert
      Src: /src/gnupg/common/t-exectool.c:67,1
    - Dst: assert
      Src: /src/gnupg/common/t-exectool.c:68,1
    - Dst: free
      Src: /src/gnupg/common/t-exectool.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (result)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/gnupg/common/t-exectool.c
    - condition: (len == 0)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/gnupg/common/t-exectool.c
    constantsTouched: []
    func_position:
      end: 70
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 70
    functionName: test_executing_true
    functionSourceFile: /src/gnupg/common/t-exectool.c
    functionUses: 0
    functionsReached:
    - fail
    - gnupg_exec_tool
    - assert
    - fprintf
    - access
    - strerror
    - free
    linkageType: ''
    returnType: void
    signature: void test_executing_true (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/gnupg/common/t-exectool.c:82,1
    - Dst: access
      Src: /src/gnupg/common/t-exectool.c:84,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-exectool.c:86,1
    - Dst: strerror
      Src: /src/gnupg/common/t-exectool.c:87,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-exectool.c:94,1
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/common/t-exectool.c:96,1
    - Dst: assert
      Src: /src/gnupg/common/t-exectool.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (err == GPG_ERR_GENERAL)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/gnupg/common/t-exectool.c
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: test_executing_false
    functionSourceFile: /src/gnupg/common/t-exectool.c
    functionUses: 0
    functionsReached:
    - gnupg_exec_tool
    - assert
    - fprintf
    - access
    - strerror
    linkageType: ''
    returnType: void
    signature: void test_executing_false (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/gnupg/common/t-exectool.c:109,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-exectool.c:111,1
    - Dst: strerror
      Src: /src/gnupg/common/t-exectool.c:112,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-exectool.c:117,1
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/common/t-exectool.c:119,1
    - Dst: fail
      Src: /src/gnupg/common/t-exectool.c:121,1
    - Dst: assert
      Src: /src/gnupg/common/t-exectool.c:123,1
    - Dst: assert
      Src: /src/gnupg/common/t-exectool.c:126,1
    - Dst: strlen
      Src: /src/gnupg/common/t-exectool.c:126,1
    - Dst: assert
      Src: /src/gnupg/common/t-exectool.c:128,1
    - Dst: assert
      Src: /src/gnupg/common/t-exectool.c:130,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-exectool.c:130,1
    - Dst: free
      Src: /src/gnupg/common/t-exectool.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - vector
    argTypes:
    - char*
    assertStmts:
    - condition: (result)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/gnupg/common/t-exectool.c
    - condition: (len == strlen (vector))
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/gnupg/common/t-exectool.c
    - condition: (result[len] == 0)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/gnupg/common/t-exectool.c
    - condition: (strcmp (result, vector) == 0)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/gnupg/common/t-exectool.c
    constantsTouched: []
    func_position:
      end: 132
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 132
    functionName: test_executing_cat
    functionSourceFile: /src/gnupg/common/t-exectool.c
    functionUses: 0
    functionsReached:
    - fail
    - gnupg_exec_tool
    - assert
    - strlen
    - fprintf
    - strcmp
    - access
    - strerror
    - free
    linkageType: ''
    returnType: void
    signature: void test_executing_cat (const char *vector)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/gnupg/common/t-exectool.c:146,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-exectool.c:148,1
    - Dst: strerror
      Src: /src/gnupg/common/t-exectool.c:149,1
    - Dst: es_fopen
      Src: /src/gnupg/common/t-exectool.c:153,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-exectool.c:156,1
    - Dst: strerror
      Src: /src/gnupg/common/t-exectool.c:157,1
    - Dst: es_fseek
      Src: /src/gnupg/common/t-exectool.c:161,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-exectool.c:164,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/t-exectool.c:165,1
    - Dst: es_ftell
      Src: /src/gnupg/common/t-exectool.c:169,1
    - Dst: es_fseek
      Src: /src/gnupg/common/t-exectool.c:170,1
    - Dst: assert
      Src: /src/gnupg/common/t-exectool.c:171,1
    - Dst: malloc
      Src: /src/gnupg/common/t-exectool.c:173,1
    - Dst: assert
      Src: /src/gnupg/common/t-exectool.c:174,1
    - Dst: es_read
      Src: /src/gnupg/common/t-exectool.c:182,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-exectool.c:185,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/t-exectool.c:186,1
    - Dst: exit
      Src: /src/gnupg/common/t-exectool.c:187,1
    - Dst: es_fclose
      Src: /src/gnupg/common/t-exectool.c:192,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-exectool.c:195,1
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/common/t-exectool.c:197,1
    - Dst: fail
      Src: /src/gnupg/common/t-exectool.c:199,1
    - Dst: assert
      Src: /src/gnupg/common/t-exectool.c:201,1
    - Dst: assert
      Src: /src/gnupg/common/t-exectool.c:204,1
    - Dst: assert
      Src: /src/gnupg/common/t-exectool.c:205,1
    - Dst: memcmp
      Src: /src/gnupg/common/t-exectool.c:205,1
    - Dst: free
      Src: /src/gnupg/common/t-exectool.c:206,1
    - Dst: free
      Src: /src/gnupg/common/t-exectool.c:207,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reference || !"allocating reference buffer failed")
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/gnupg/common/t-exectool.c
    - condition: (result)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/gnupg/common/t-exectool.c
    - condition: (len == reference_len)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/gnupg/common/t-exectool.c
    - condition: (memcmp (result, reference, reference_len) == 0)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/gnupg/common/t-exectool.c
    - condition: (!err || !"rewinding failed")
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/gnupg/common/t-exectool.c
    constantsTouched: []
    func_position:
      end: 208
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 208
    functionName: test_catting_cat
    functionSourceFile: /src/gnupg/common/t-exectool.c
    functionUses: 0
    functionsReached:
    - gnupg_exec_tool
    - assert
    - fail
    - es_fclose
    - exit
    - fprintf
    - es_fseek
    - es_read
    - es_fopen
    - access
    - gpg_strerror
    - es_ftell
    - malloc
    - memcmp
    - strerror
    - free
    linkageType: ''
    returnType: void
    signature: void test_catting_cat (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/t-exectool.c:219,1
    - Dst: test_executing_true
      Src: /src/gnupg/common/t-exectool.c:225,1
    - Dst: test_executing_false
      Src: /src/gnupg/common/t-exectool.c:226,1
    - Dst: test_executing_cat
      Src: /src/gnupg/common/t-exectool.c:227,1
    - Dst: test_executing_cat
      Src: /src/gnupg/common/t-exectool.c:233,1
    - Dst: test_catting_cat
      Src: /src/gnupg/common/t-exectool.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 237
    functionName: main
    functionSourceFile: /src/gnupg/common/t-exectool.c
    functionUses: 4
    functionsReached:
    - test_catting_cat
    - test_executing_cat
    - strcmp
    - test_executing_false
    - test_executing_true
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make
      Src: /src/gnupg/common/pkscreening.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ec
    argTypes:
    - gpg_err_code_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: my_error
    functionSourceFile: /src/gnupg/common/pkscreening.c
    functionUses: 1
    functionsReached:
    - gpg_err_make
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t my_error (gpg_err_code_t ec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_cmp_ui
      Src: /src/gnupg/common/pkscreening.c:44,1
    - Dst: my_error
      Src: /src/gnupg/common/pkscreening.c:45,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/common/pkscreening.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - v
    - a
    argTypes:
    - unsigned int*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 56
    functionName: my_mpi_get_ui
    functionSourceFile: /src/gnupg/common/pkscreening.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_print
    - my_error
    - gcry_mpi_cmp_ui
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t my_mpi_get_ui (unsigned int *v, gcry_mpi_t a)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/pkscreening.c:122,1
    - Dst: gcry_mpi_set_ui
      Src: /src/gnupg/common/pkscreening.c:124,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/common/pkscreening.c:125,1
    - Dst: BUG
      Src: /src/gnupg/common/pkscreening.c:127,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/common/pkscreening.c:132,1
    - Dst: my_error
      Src: /src/gnupg/common/pkscreening.c:133,1
    - Dst: gcry_mpi_new
      Src: /src/gnupg/common/pkscreening.c:140,1
    - Dst: DIM
      Src: /src/gnupg/common/pkscreening.c:141,1
    - Dst: gcry_mpi_mod
      Src: /src/gnupg/common/pkscreening.c:143,1
    - Dst: my_mpi_get_ui
      Src: /src/gnupg/common/pkscreening.c:144,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/pkscreening.c:145,1
    - Dst: gcry_mpi_test_bit
      Src: /src/gnupg/common/pkscreening.c:149,1
    - Dst: my_error
      Src: /src/gnupg/common/pkscreening.c:154,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/pkscreening.c:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - modulus
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 159
    functionName: screen_key_for_roca
    functionSourceFile: /src/gnupg/common/pkscreening.c
    functionUses: 1
    functionsReached:
    - gcry_mpi_test_bit
    - gcry_mpi_get_flag
    - DIM
    - BUG
    - gcry_mpi_mod
    - my_error
    - gpg_err_code
    - gcry_mpi_release
    - gcry_mpi_set_ui
    - gcry_mpi_new
    - gcry_mpi_scan
    - my_mpi_get_ui
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t screen_key_for_roca (gcry_mpi_t modulus)
  - 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: DIM
    functionSourceFile: /src/gnupg/common/mischelp.h
    functionUses: 126
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: DIMof
    functionSourceFile: /src/gnupg/common/mischelp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIMof(type,member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: SUN_LEN
    functionSourceFile: /src/gnupg/common/mischelp.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUN_LEN(ptr)
  - 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: DIM
    functionSourceFile: /src/gnupg/common/t-dotlock.c
    functionUses: 126
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetLastError
      Src: /src/gnupg/common/t-dotlock.c:62,1
    - Dst: FormatMessage
      Src: /src/gnupg/common/t-dotlock.c:63,1
    - Dst: MAKELANGID
      Src: /src/gnupg/common/t-dotlock.c:64,1
    - Dst: DIM
      Src: /src/gnupg/common/t-dotlock.c:65,1
    - Dst: strlen
      Src: /src/gnupg/common/t-dotlock.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ec
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: w32_strerror
    functionSourceFile: /src/gnupg/common/t-dotlock.c
    functionUses: 9
    functionsReached:
    - MAKELANGID
    - strlen
    - DIM
    - FormatMessage
    - GetLastError
    linkageType: ''
    returnType: char
    signature: 'char *

      w32_strerror (int ec)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MultiByteToWideChar
      Src: /src/gnupg/common/t-dotlock.c:82,1
    - Dst: malloc
      Src: /src/gnupg/common/t-dotlock.c:93,1
    - Dst: MultiByteToWideChar
      Src: /src/gnupg/common/t-dotlock.c:97,1
    - Dst: free
      Src: /src/gnupg/common/t-dotlock.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - string
    - codepage
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 104
    functionName: cp_to_wchar
    functionSourceFile: /src/gnupg/common/t-dotlock.c
    functionUses: 2
    functionsReached:
    - MultiByteToWideChar
    - malloc
    - free
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      cp_to_wchar (const char *string, unsigned int codepage)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cp_to_wchar
      Src: /src/gnupg/common/t-dotlock.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: utf8_to_wchar
    functionSourceFile: /src/gnupg/common/t-dotlock.c
    functionUses: 3
    functionsReached:
    - cp_to_wchar
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      utf8_to_wchar (const char *string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: stpcpy
    functionSourceFile: /src/gnupg/common/t-dotlock.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      stpcpy(char *a,const char *b)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/t-dotlock.c:132,1
    - Dst: va_arg
      Src: /src/gnupg/common/t-dotlock.c:133,1
    - Dst: strlen
      Src: /src/gnupg/common/t-dotlock.c:135,1
    - Dst: DIM
      Src: /src/gnupg/common/t-dotlock.c:136,1
    - Dst: malloc
      Src: /src/gnupg/common/t-dotlock.c:143,1
    - Dst: stpcpy
      Src: /src/gnupg/common/t-dotlock.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - s1
    - arg_ptr
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 150
    functionName: do_strconcat
    functionSourceFile: /src/gnupg/common/t-dotlock.c
    functionUses: 0
    functionsReached:
    - strlen
    - DIM
    - malloc
    - va_arg
    - stpcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      do_strconcat (const char *s1, va_list arg_ptr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnupg/common/t-dotlock.c:162,1
    - Dst: va_start
      Src: /src/gnupg/common/t-dotlock.c:165,1
    - Dst: do_strconcat
      Src: /src/gnupg/common/t-dotlock.c:166,1
    - Dst: va_end
      Src: /src/gnupg/common/t-dotlock.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s1
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: strconcat
    functionSourceFile: /src/gnupg/common/t-dotlock.c
    functionUses: 53
    functionsReached:
    - do_strconcat
    - va_end
    - calloc
    - va_start
    linkageType: ''
    returnType: char
    signature: 'char *

      strconcat (const char *s1, ...)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: control_c_handler
    functionSourceFile: /src/gnupg/common/t-dotlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void control_c_handler (int signo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 204
    functionName: ctrl_c_pending
    functionSourceFile: /src/gnupg/common/t-dotlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ctrl_c_pending (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/common/t-dotlock.c:212,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-dotlock.c:213,1
    - Dst: getpid
      Src: /src/gnupg/common/t-dotlock.c:213,1
    - Dst: vfprintf
      Src: /src/gnupg/common/t-dotlock.c:214,1
    - Dst: putc
      Src: /src/gnupg/common/t-dotlock.c:215,1
    - Dst: va_end
      Src: /src/gnupg/common/t-dotlock.c:216,1
    - Dst: exit
      Src: /src/gnupg/common/t-dotlock.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 218
    functionName: die
    functionSourceFile: /src/gnupg/common/t-dotlock.c
    functionUses: 23
    functionsReached:
    - va_end
    - vfprintf
    - exit
    - fprintf
    - va_start
    - getpid
    - putc
    linkageType: ''
    returnType: void
    signature: void die (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/common/t-dotlock.c:229,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-dotlock.c:230,1
    - Dst: getpid
      Src: /src/gnupg/common/t-dotlock.c:230,1
    - Dst: vfprintf
      Src: /src/gnupg/common/t-dotlock.c:231,1
    - Dst: putc
      Src: /src/gnupg/common/t-dotlock.c:232,1
    - Dst: va_end
      Src: /src/gnupg/common/t-dotlock.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 234
    functionName: inf
    functionSourceFile: /src/gnupg/common/t-dotlock.c
    functionUses: 3
    functionsReached:
    - va_end
    - vfprintf
    - fprintf
    - va_start
    - getpid
    - putc
    linkageType: ''
    returnType: void
    signature: void inf (const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/common/t-dotlock.c:243,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-dotlock.c:244,1
    - Dst: getpid
      Src: /src/gnupg/common/t-dotlock.c:245,1
    - Dst: vfprintf
      Src: /src/gnupg/common/t-dotlock.c:246,1
    - Dst: va_end
      Src: /src/gnupg/common/t-dotlock.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - h
    - opaque
    - reason
    - format
    argTypes:
    - dotlock_t
    - void*
    - enum dotlock_reasons
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 249
    functionName: lock_info_cb
    functionSourceFile: /src/gnupg/common/t-dotlock.c
    functionUses: 0
    functionsReached:
    - va_end
    - vfprintf
    - fprintf
    - va_start
    - getpid
    linkageType: ''
    returnType: int
    signature: "int lock_info_cb (dotlock_t h, void *opaque, enum dotlock_reasons
      reason,\n              const char *format, ...)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dotlock_create_with
      Src: /src/gnupg/common/t-dotlock.c:258,1
    - Dst: die
      Src: /src/gnupg/common/t-dotlock.c:260,1
    - Dst: strerror
      Src: /src/gnupg/common/t-dotlock.c:260,1
    - Dst: die
      Src: /src/gnupg/common/t-dotlock.c:262,1
    - Dst: strerror
      Src: /src/gnupg/common/t-dotlock.c:263,1
    - Dst: inf
      Src: /src/gnupg/common/t-dotlock.c:264,1
    - Dst: getrandom
      Src: /src/gnupg/common/t-dotlock.c:271,1
    - Dst: dotlock_take
      Src: /src/gnupg/common/t-dotlock.c:275,1
    - Dst: die
      Src: /src/gnupg/common/t-dotlock.c:276,1
    - Dst: inf
      Src: /src/gnupg/common/t-dotlock.c:277,1
    - Dst: usleep
      Src: /src/gnupg/common/t-dotlock.c:278,1
    - Dst: dotlock_release
      Src: /src/gnupg/common/t-dotlock.c:279,1
    - Dst: die
      Src: /src/gnupg/common/t-dotlock.c:280,1
    - Dst: inf
      Src: /src/gnupg/common/t-dotlock.c:281,1
    - Dst: usleep
      Src: /src/gnupg/common/t-dotlock.c:282,1
    - Dst: ctrl_c_pending
      Src: /src/gnupg/common/t-dotlock.c:284,1
    - Dst: dotlock_destroy
      Src: /src/gnupg/common/t-dotlock.c:285,1
    - Dst: inf
      Src: /src/gnupg/common/t-dotlock.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 287
    functionName: lock_and_unlock
    functionSourceFile: /src/gnupg/common/t-dotlock.c
    functionUses: 0
    functionsReached:
    - ctrl_c_pending
    - usleep
    - getrandom
    - dotlock_take
    - dotlock_release
    - inf
    - dotlock_destroy
    - die
    - strerror
    - dotlock_create_with
    linkageType: ''
    returnType: void
    signature: void lock_and_unlock (const char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/t-dotlock.c:295,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-dotlock.c:300,1
    - Dst: sigaction
      Src: /src/gnupg/common/t-dotlock.c:323,1
    - Dst: dotlock_create
      Src: /src/gnupg/common/t-dotlock.c:327,1
    - Dst: lock_and_unlock
      Src: /src/gnupg/common/t-dotlock.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 333
    functionName: main
    functionSourceFile: /src/gnupg/common/t-dotlock.c
    functionUses: 4
    functionsReached:
    - strcmp
    - sigaction
    - dotlock_create
    - lock_and_unlock
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/mapstrings.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: already_mapped
    functionSourceFile: /src/gnupg/common/mapstrings.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      already_mapped (const char *string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/common/mapstrings.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - string
    - newstring
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: store_mapping
    functionSourceFile: /src/gnupg/common/mapstrings.c
    functionUses: 0
    functionsReached:
    - xmalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      store_mapping (const char *string, char *newstring)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/common/mapstrings.c:127,1
    - Dst: strchr
      Src: /src/gnupg/common/mapstrings.c:130,1
    - Dst: DIM
      Src: /src/gnupg/common/mapstrings.c:132,1
    - Dst: strlen
      Src: /src/gnupg/common/mapstrings.c:133,1
    - Dst: memcmp
      Src: /src/gnupg/common/mapstrings.c:134,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - string
    - begptr
    - endptr
    argTypes:
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 143
    functionName: find_macro
    functionSourceFile: /src/gnupg/common/mapstrings.c
    functionUses: 0
    functionsReached:
    - strchr
    - DIM
    - memcmp
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *\nfind_macro (const char *string,  const char **begptr,\n            const
      char **endptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: already_mapped
      Src: /src/gnupg/common/mapstrings.c:157,1
    - Dst: find_macro
      Src: /src/gnupg/common/mapstrings.c:160,1
    - Dst: init_membuf
      Src: /src/gnupg/common/mapstrings.c:164,1
    - Dst: strlen
      Src: /src/gnupg/common/mapstrings.c:164,1
    - Dst: put_membuf
      Src: /src/gnupg/common/mapstrings.c:167,1
    - Dst: put_membuf_str
      Src: /src/gnupg/common/mapstrings.c:168,1
    - Dst: find_macro
      Src: /src/gnupg/common/mapstrings.c:171,1
    - Dst: put_membuf_str
      Src: /src/gnupg/common/mapstrings.c:172,1
    - Dst: put_membuf
      Src: /src/gnupg/common/mapstrings.c:173,1
    - Dst: get_membuf_shrink
      Src: /src/gnupg/common/mapstrings.c:175,1
    - Dst: log_fatal
      Src: /src/gnupg/common/mapstrings.c:177,1
    - Dst: strerror
      Src: /src/gnupg/common/mapstrings.c:177,1
    - Dst: store_mapping
      Src: /src/gnupg/common/mapstrings.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 180
    functionName: map_static_macro_string
    functionSourceFile: /src/gnupg/common/mapstrings.c
    functionUses: 0
    functionsReached:
    - already_mapped
    - store_mapping
    - get_membuf_shrink
    - init_membuf
    - strlen
    - put_membuf
    - log_fatal
    - put_membuf_str
    - find_macro
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      map_static_macro_string (const char *string)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/mapstrings.c:197,1
    - Dst: xmalloc
      Src: /src/gnupg/common/mapstrings.c:200,1
    - Dst: strlen
      Src: /src/gnupg/common/mapstrings.c:200,1
    - Dst: strcpy
      Src: /src/gnupg/common/mapstrings.c:201,1
    - Dst: va_start
      Src: /src/gnupg/common/mapstrings.c:205,1
    - Dst: vstrconcat
      Src: /src/gnupg/common/mapstrings.c:206,1
    - Dst: va_end
      Src: /src/gnupg/common/mapstrings.c:207,1
    - Dst: log_fatal
      Src: /src/gnupg/common/mapstrings.c:209,1
    - Dst: strerror
      Src: /src/gnupg/common/mapstrings.c:209,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/mapstrings.c:211,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/mapstrings.c:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - domain
    - key1
    - key2
    - string1
    argTypes:
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 217
    functionName: map_static_strings
    functionSourceFile: /src/gnupg/common/mapstrings.c
    functionUses: 1
    functionsReached:
    - vstrconcat
    - va_end
    - strlen
    - log_fatal
    - strcmp
    - xmalloc
    - gpgrt_annotate_leaked_object
    - strcpy
    - va_start
    - strerror
    linkageType: ''
    returnType: char
    signature: "char *\nmap_static_strings (const char *domain, int key1, int key2,\n
      \                   const char *string1, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: pass
    functionSourceFile: /src/gnupg/common/t-session-env.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: fail
    functionSourceFile: /src/gnupg/common/t-session-env.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/common/t-session-env.c:45,1
    - Dst: session_env_listenv
      Src: /src/gnupg/common/t-session-env.c:46,1
    - Dst: printf
      Src: /src/gnupg/common/t-session-env.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - se
    argTypes:
    - session_env_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: listall
    functionSourceFile: /src/gnupg/common/t-session-env.c
    functionUses: 0
    functionsReached:
    - session_env_listenv
    - printf
    linkageType: ''
    returnType: void
    signature: void listall (session_env_t se)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/common/t-session-env.c:60,1
    - Dst: session_env_list_stdenvnames
      Src: /src/gnupg/common/t-session-env.c:62,1
    - Dst: printf
      Src: /src/gnupg/common/t-session-env.c:66,1
    - Dst: printf
      Src: /src/gnupg/common/t-session-env.c:69,1
    - Dst: strlen
      Src: /src/gnupg/common/t-session-env.c:70,1
    - Dst: printf
      Src: /src/gnupg/common/t-session-env.c:73,1
    - Dst: strlen
      Src: /src/gnupg/common/t-session-env.c:74,1
    - Dst: putchar
      Src: /src/gnupg/common/t-session-env.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 78
    functionName: show_stdnames
    functionSourceFile: /src/gnupg/common/t-session-env.c
    functionUses: 0
    functionsReached:
    - session_env_list_stdenvnames
    - putchar
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: void show_stdnames (void)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: session_env_new
      Src: /src/gnupg/common/t-session-env.c:89,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:91,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/t-session-env.c:91,1
    - Dst: session_env_new
      Src: /src/gnupg/common/t-session-env.c:92,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:94,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/t-session-env.c:94,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:96,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/t-session-env.c:97,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:98,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:99,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/t-session-env.c:100,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:101,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:102,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/t-session-env.c:103,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:104,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:107,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:109,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:110,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:112,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:113,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:115,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:118,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:120,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:121,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:123,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:124,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:126,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:127,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:129,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:130,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:132,1
    - Dst: listall
      Src: /src/gnupg/common/t-session-env.c:134,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:137,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:139,1
    - Dst: listall
      Src: /src/gnupg/common/t-session-env.c:141,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:144,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:146,1
    - Dst: listall
      Src: /src/gnupg/common/t-session-env.c:148,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:151,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:153,1
    - Dst: listall
      Src: /src/gnupg/common/t-session-env.c:155,1
    - Dst: session_env_getenv_or_default
      Src: /src/gnupg/common/t-session-env.c:159,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-session-env.c:162,1
    - Dst: exit
      Src: /src/gnupg/common/t-session-env.c:163,1
    - Dst: session_env_getenv
      Src: /src/gnupg/common/t-session-env.c:167,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:169,1
    - Dst: session_env_getenv_or_default
      Src: /src/gnupg/common/t-session-env.c:172,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:174,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:178,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:180,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:181,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:183,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:184,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:186,1
    - Dst: listall
      Src: /src/gnupg/common/t-session-env.c:188,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:191,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:193,1
    - Dst: session_env_getenv
      Src: /src/gnupg/common/t-session-env.c:195,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:197,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-session-env.c:198,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:199,1
    - Dst: session_env_getenv_or_default
      Src: /src/gnupg/common/t-session-env.c:201,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:203,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:205,1
    - Dst: listall
      Src: /src/gnupg/common/t-session-env.c:207,1
    - Dst: session_env_listenv
      Src: /src/gnupg/common/t-session-env.c:213,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:214,1
    - Dst: session_env_release
      Src: /src/gnupg/common/t-session-env.c:218,1
    - Dst: session_env_new
      Src: /src/gnupg/common/t-session-env.c:221,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:223,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/t-session-env.c:223,1
    - Dst: snprintf
      Src: /src/gnupg/common/t-session-env.c:230,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:231,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:233,1
    - Dst: session_env_setenv
      Src: /src/gnupg/common/t-session-env.c:235,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:237,1
    - Dst: session_env_setenv
      Src: /src/gnupg/common/t-session-env.c:238,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:240,1
    - Dst: listall
      Src: /src/gnupg/common/t-session-env.c:242,1
    - Dst: snprintf
      Src: /src/gnupg/common/t-session-env.c:249,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:250,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:252,1
    - Dst: session_env_setenv
      Src: /src/gnupg/common/t-session-env.c:254,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:256,1
    - Dst: session_env_listenv
      Src: /src/gnupg/common/t-session-env.c:262,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:263,1
    - Dst: snprintf
      Src: /src/gnupg/common/t-session-env.c:274,1
    - Dst: snprintf
      Src: /src/gnupg/common/t-session-env.c:276,1
    - Dst: session_env_putenv
      Src: /src/gnupg/common/t-session-env.c:277,1
    - Dst: fail
      Src: /src/gnupg/common/t-session-env.c:279,1
    - Dst: listall
      Src: /src/gnupg/common/t-session-env.c:283,1
    - Dst: session_env_release
      Src: /src/gnupg/common/t-session-env.c:285,1
    - Dst: session_env_release
      Src: /src/gnupg/common/t-session-env.c:287,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 133
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 288
    functionName: test_all
    functionSourceFile: /src/gnupg/common/t-session-env.c
    functionUses: 0
    functionsReached:
    - session_env_putenv
    - fail
    - gpg_error_from_syserror
    - snprintf
    - session_env_new
    - exit
    - session_env_release
    - listall
    - fprintf
    - strcmp
    - gpg_err_code
    - session_env_listenv
    - session_env_getenv_or_default
    - session_env_getenv
    - session_env_setenv
    linkageType: ''
    returnType: void
    signature: void test_all (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/t-session-env.c:297,1
    - Dst: show_stdnames
      Src: /src/gnupg/common/t-session-env.c:304,1
    - Dst: test_all
      Src: /src/gnupg/common/t-session-env.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 308
    functionName: main
    functionSourceFile: /src/gnupg/common/t-session-env.c
    functionUses: 4
    functionsReached:
    - strcmp
    - test_all
    - show_stdnames
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: _
    functionSourceFile: /src/gnupg/common/i18n.h
    functionUses: 465
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: N_
    functionSourceFile: /src/gnupg/common/i18n.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: _
    functionSourceFile: /src/gnupg/common/i18n.h
    functionUses: 465
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: N_
    functionSourceFile: /src/gnupg/common/i18n.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: N_
    functionSourceFile: /src/gnupg/common/i18n.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: _
    functionSourceFile: /src/gnupg/common/i18n.h
    functionUses: 465
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: N_
    functionSourceFile: /src/gnupg/common/i18n.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_(a)
  - 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: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: ngettext
    functionSourceFile: /src/gnupg/common/i18n.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ngettext(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: GNUPG_GCC_ATTR_FORMAT_ARG
    functionSourceFile: /src/gnupg/common/i18n.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GNUPG_GCC_ATTR_FORMAT_ARG(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/common/t-iobuf.c:47,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-iobuf.c:50,1
    - Dst: abort
      Src: /src/gnupg/common/t-iobuf.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: xmalloc
    functionSourceFile: /src/gnupg/common/t-iobuf.c
    functionUses: 160
    functionsReached:
    - fprintf
    - malloc
    - abort
    linkageType: ''
    returnType: void
    signature: 'void *

      xmalloc (size_t n)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem2str
      Src: /src/gnupg/common/t-iobuf.c:67,1
    - Dst: iobuf_readbyte
      Src: /src/gnupg/common/t-iobuf.c:71,1
    - Dst: iobuf_readbyte
      Src: /src/gnupg/common/t-iobuf.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - opaque
    - control
    - chain
    - buf
    - len
    argTypes:
    - void*
    - int
    - iobuf_t
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 93
    functionName: every_other_filter
    functionSourceFile: /src/gnupg/common/t-iobuf.c
    functionUses: 0
    functionsReached:
    - mem2str
    - iobuf_readbyte
    linkageType: ''
    returnType: int
    signature: "int every_other_filter (void *opaque, int control,\n\t\t    iobuf_t
      chain, byte *buf, size_t *len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem2str
      Src: /src/gnupg/common/t-iobuf.c:103,1
    - Dst: iobuf_writebyte
      Src: /src/gnupg/common/t-iobuf.c:113,1
    - Dst: iobuf_writebyte
      Src: /src/gnupg/common/t-iobuf.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - opaque
    - control
    - chain
    - buf
    - len
    argTypes:
    - void*
    - int
    - iobuf_t
    - byte*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 123
    functionName: double_filter
    functionSourceFile: /src/gnupg/common/t-iobuf.c
    functionUses: 0
    functionsReached:
    - mem2str
    - iobuf_writebyte
    linkageType: ''
    returnType: int
    signature: "int double_filter (void *opaque, int control,\n\t       iobuf_t chain,
      byte *buf, size_t *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/common/t-iobuf.c:136,1
    - Dst: strlen
      Src: /src/gnupg/common/t-iobuf.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: content_filter_new
    functionSourceFile: /src/gnupg/common/t-iobuf.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - strlen
    linkageType: ''
    returnType: struct content_filter_state
    signature: 'struct content_filter_state *

      content_filter_new (const char *buffer)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:157,1
    - Dst: memcpy
      Src: /src/gnupg/common/t-iobuf.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - opaque
    - control
    - chain
    - buf
    - len
    argTypes:
    - void*
    - int
    - iobuf_t
    - byte*
    - size_t*
    assertStmts:
    - condition: (toread > 0)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/gnupg/common/t-iobuf.c
    constantsTouched: []
    func_position:
      end: 174
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 174
    functionName: content_filter
    functionSourceFile: /src/gnupg/common/t-iobuf.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: int
    signature: "int content_filter (void *opaque, int control,\n\t\tiobuf_t chain,
      byte *buf, size_t *len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iobuf_temp_with_content
      Src: /src/gnupg/common/t-iobuf.c:192,1
    - Dst: strlen
      Src: /src/gnupg/common/t-iobuf.c:192,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/common/t-iobuf.c:193,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:194,1
    - Dst: iobuf_readbyte
      Src: /src/gnupg/common/t-iobuf.c:197,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:200,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:205,1
    - Dst: strlen
      Src: /src/gnupg/common/t-iobuf.c:205,1
    - Dst: iobuf_close
      Src: /src/gnupg/common/t-iobuf.c:207,1
    - Dst: iobuf_temp_with_content
      Src: /src/gnupg/common/t-iobuf.c:220,1
    - Dst: strlen
      Src: /src/gnupg/common/t-iobuf.c:220,1
    - Dst: iobuf_readbyte
      Src: /src/gnupg/common/t-iobuf.c:225,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:226,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/common/t-iobuf.c:230,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:231,1
    - Dst: iobuf_readbyte
      Src: /src/gnupg/common/t-iobuf.c:233,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:236,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:239,1
    - Dst: strlen
      Src: /src/gnupg/common/t-iobuf.c:239,1
    - Dst: iobuf_close
      Src: /src/gnupg/common/t-iobuf.c:241,1
    - Dst: iobuf_temp_with_content
      Src: /src/gnupg/common/t-iobuf.c:259,1
    - Dst: strlen
      Src: /src/gnupg/common/t-iobuf.c:259,1
    - Dst: xmalloc
      Src: /src/gnupg/common/t-iobuf.c:265,1
    - Dst: iobuf_read_line
      Src: /src/gnupg/common/t-iobuf.c:267,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:268,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:269,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-iobuf.c:269,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:270,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:271,1
    - Dst: free
      Src: /src/gnupg/common/t-iobuf.c:272,1
    - Dst: xmalloc
      Src: /src/gnupg/common/t-iobuf.c:278,1
    - Dst: iobuf_read_line
      Src: /src/gnupg/common/t-iobuf.c:280,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:281,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:282,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-iobuf.c:282,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:283,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:285,1
    - Dst: free
      Src: /src/gnupg/common/t-iobuf.c:286,1
    - Dst: xmalloc
      Src: /src/gnupg/common/t-iobuf.c:292,1
    - Dst: iobuf_read_line
      Src: /src/gnupg/common/t-iobuf.c:294,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:295,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:297,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-iobuf.c:297,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:298,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:300,1
    - Dst: free
      Src: /src/gnupg/common/t-iobuf.c:301,1
    - Dst: iobuf_read_line
      Src: /src/gnupg/common/t-iobuf.c:309,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:310,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:312,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-iobuf.c:312,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:313,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:315,1
    - Dst: free
      Src: /src/gnupg/common/t-iobuf.c:316,1
    - Dst: iobuf_close
      Src: /src/gnupg/common/t-iobuf.c:318,1
    - Dst: iobuf_temp_with_content
      Src: /src/gnupg/common/t-iobuf.c:334,1
    - Dst: strlen
      Src: /src/gnupg/common/t-iobuf.c:334,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/common/t-iobuf.c:335,1
    - Dst: content_filter_new
      Src: /src/gnupg/common/t-iobuf.c:337,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:338,1
    - Dst: iobuf_readbyte
      Src: /src/gnupg/common/t-iobuf.c:343,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:347,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:356,1
    - Dst: iobuf_close
      Src: /src/gnupg/common/t-iobuf.c:365,1
    - Dst: free
      Src: /src/gnupg/common/t-iobuf.c:366,1
    - Dst: iobuf_temp
      Src: /src/gnupg/common/t-iobuf.c:380,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:381,1
    - Dst: iobuf_write
      Src: /src/gnupg/common/t-iobuf.c:383,1
    - Dst: strlen
      Src: /src/gnupg/common/t-iobuf.c:383,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:384,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/common/t-iobuf.c:386,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:387,1
    - Dst: iobuf_write
      Src: /src/gnupg/common/t-iobuf.c:390,1
    - Dst: strlen
      Src: /src/gnupg/common/t-iobuf.c:390,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:391,1
    - Dst: iobuf_temp_to_buffer
      Src: /src/gnupg/common/t-iobuf.c:393,1
    - Dst: printf
      Src: /src/gnupg/common/t-iobuf.c:395,1
    - Dst: printf
      Src: /src/gnupg/common/t-iobuf.c:396,1
    - Dst: fwrite
      Src: /src/gnupg/common/t-iobuf.c:397,1
    - Dst: fputc
      Src: /src/gnupg/common/t-iobuf.c:398,1
    - Dst: fputc
      Src: /src/gnupg/common/t-iobuf.c:399,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:402,1
    - Dst: strlen
      Src: /src/gnupg/common/t-iobuf.c:402,1
    - Dst: strlen
      Src: /src/gnupg/common/t-iobuf.c:402,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:403,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-iobuf.c:403,1
    - Dst: iobuf_close
      Src: /src/gnupg/common/t-iobuf.c:405,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:416,1
    - Dst: iobuf_temp_with_content
      Src: /src/gnupg/common/t-iobuf.c:418,1
    - Dst: strlen
      Src: /src/gnupg/common/t-iobuf.c:418,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:419,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/common/t-iobuf.c:421,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:422,1
    - Dst: iobuf_push_filter
      Src: /src/gnupg/common/t-iobuf.c:423,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:424,1
    - Dst: iobuf_get
      Src: /src/gnupg/common/t-iobuf.c:426,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:432,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:433,1
    - Dst: assert
      Src: /src/gnupg/common/t-iobuf.c:434,1
    - Dst: iobuf_close
      Src: /src/gnupg/common/t-iobuf.c:436,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 123
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (rc == 0)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (size == 5)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (rc == 0)
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (content[2 * (n - 5) + 1] == c)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (n == 10 + (strlen (content) - 10) / 2)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (n == 4)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (strcmp (buffer, "abc\n") == 0)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (n == strlen (content) / 2)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (content[i] == c)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (rc == 0)
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (iobuf)
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (iobuf)
      pos:
        line_end: 418
        line_start: 418
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (rc == 0)
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (max_len == 100)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (sizeof buffer == sizeof content - 1)
      pos:
        line_end: 415
        line_start: 415
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (strcmp (buffer, "mno\n") == 0)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (n == 4)
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (buffer[0] == '3')
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (rc == 0)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (max_len == 100)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (size >= 6)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (n == 4)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (strcmp (buffer, "hij\n") == 0)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (max_len == 0)
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (rc == 0)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (n == 10 || n == 27)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (content[2 * n + 1] == c)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (max_len == 0)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (rc == 0)
      pos:
        line_end: 423
        line_start: 423
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (buffer[1] == '7')
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (n == 27)
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (n == 2)
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (size == 5)
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (strcmp (buffer, "0123456789aabbcc") == 0)
      pos:
        line_end: 402
        line_start: 402
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (size == 5)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (n == 5)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (strcmp (buffer, "defg\n") == 0)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (rc == 0)
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/gnupg/common/t-iobuf.c
    - condition: (n == strlen (content) + 2 * (strlen (content2) + 1))
      pos:
        line_end: 401
        line_start: 401
        source_file: /src/gnupg/common/t-iobuf.c
    constantsTouched: []
    func_position:
      end: 440
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 440
    functionName: main
    functionSourceFile: /src/gnupg/common/t-iobuf.c
    functionUses: 4
    functionsReached:
    - iobuf_temp_with_content
    - iobuf_write
    - printf
    - fwrite
    - assert
    - strlen
    - iobuf_close
    - iobuf_push_filter
    - iobuf_get
    - iobuf_read_line
    - strcmp
    - xmalloc
    - content_filter_new
    - iobuf_temp
    - iobuf_temp_to_buffer
    - fputc
    - iobuf_readbyte
    - free
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/t-mapstrings.c:66,1
    - Dst: map_static_macro_string
      Src: /src/gnupg/common/t-mapstrings.c:68,1
    - Dst: fail
      Src: /src/gnupg/common/t-mapstrings.c:70,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-mapstrings.c:71,1
    - Dst: fail
      Src: /src/gnupg/common/t-mapstrings.c:72,1
    - Dst: DIM
      Src: /src/gnupg/common/t-mapstrings.c:78,1
    - Dst: map_static_macro_string
      Src: /src/gnupg/common/t-mapstrings.c:80,1
    - Dst: fail
      Src: /src/gnupg/common/t-mapstrings.c:82,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-mapstrings.c:83,1
    - Dst: fail
      Src: /src/gnupg/common/t-mapstrings.c:84,1
    - Dst: fail
      Src: /src/gnupg/common/t-mapstrings.c:86,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 88
    functionName: test_map_static_macro_string
    functionSourceFile: /src/gnupg/common/t-mapstrings.c
    functionUses: 0
    functionsReached:
    - strcmp
    - map_static_macro_string
    - DIM
    - fail
    linkageType: ''
    returnType: void
    signature: void test_map_static_macro_string (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: map_static_strings
      Src: /src/gnupg/common/t-mapstrings.c:96,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-mapstrings.c:98,1
    - Dst: fail
      Src: /src/gnupg/common/t-mapstrings.c:99,1
    - Dst: map_static_strings
      Src: /src/gnupg/common/t-mapstrings.c:100,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-mapstrings.c:102,1
    - Dst: fail
      Src: /src/gnupg/common/t-mapstrings.c:103,1
    - Dst: map_static_strings
      Src: /src/gnupg/common/t-mapstrings.c:104,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-mapstrings.c:105,1
    - Dst: fail
      Src: /src/gnupg/common/t-mapstrings.c:106,1
    - Dst: map_static_strings
      Src: /src/gnupg/common/t-mapstrings.c:107,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-mapstrings.c:108,1
    - Dst: fail
      Src: /src/gnupg/common/t-mapstrings.c:109,1
    - Dst: map_static_strings
      Src: /src/gnupg/common/t-mapstrings.c:110,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-mapstrings.c:111,1
    - Dst: fail
      Src: /src/gnupg/common/t-mapstrings.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 113
    functionName: test_map_static_strings
    functionSourceFile: /src/gnupg/common/t-mapstrings.c
    functionUses: 0
    functionsReached:
    - map_static_strings
    - fail
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_map_static_strings (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_map_static_macro_string
      Src: /src/gnupg/common/t-mapstrings.c:122,1
    - Dst: test_map_static_strings
      Src: /src/gnupg/common/t-mapstrings.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: main
    functionSourceFile: /src/gnupg/common/t-mapstrings.c
    functionUses: 4
    functionsReached:
    - test_map_static_macro_string
    - test_map_static_strings
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:88,1
    - Dst: tlv_parser_offset
      Src: /src/gnupg/common/tlv-parser.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - text
    - lno
    - tlv
    argTypes:
    - char*
    - int
    - tlv_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: _tlv_parser_dump_tag
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - tlv_parser_offset
    - log_debug
    linkageType: ''
    returnType: void
    signature: void _tlv_parser_dump_tag (const char *text, int lno, tlv_parser_t
      tlv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:102,1
    - Dst: tlv_parser_offset
      Src: /src/gnupg/common/tlv-parser.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - text
    - text2
    - lno
    - tlv
    argTypes:
    - char*
    - char*
    - int
    - tlv_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: _tlv_parser_dump_state
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - tlv_parser_offset
    - log_debug
    linkageType: ''
    returnType: void
    signature: "void _tlv_parser_dump_state (const char *text, const char *text2,\n
      \                       int lno, tlv_parser_t tlv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/common/tlv-parser.c:119,1
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:120,1
    - Dst: fopen
      Src: /src/gnupg/common/tlv-parser.c:121,1
    - Dst: fwrite
      Src: /src/gnupg/common/tlv-parser.c:122,1
    - Dst: exit
      Src: /src/gnupg/common/tlv-parser.c:123,1
    - Dst: fclose
      Src: /src/gnupg/common/tlv-parser.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - s
    - n
    - name
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 130
    functionName: dump_to_file
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - fwrite
    - snprintf
    - fclose
    - exit
    - fopen
    - log_debug
    linkageType: ''
    returnType: void
    signature: void dump_to_file (const void *s, size_t n, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_ber_header
      Src: /src/gnupg/common/tlv-parser.c:143,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:150,1
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:156,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - buffer
    - size
    - ti
    argTypes:
    - unsigned char**
    - size_t*
    - struct tag_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 162
    functionName: parse_tag
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - parse_ber_header
    - log_debug
    linkageType: ''
    returnType: int
    signature: int parse_tag (unsigned char const **buffer, size_t *size, struct tag_info
      *ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_tag
      Src: /src/gnupg/common/tlv-parser.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - size
    - ti
    argTypes:
    - unsigned char**
    - size_t*
    - struct tag_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: tlv_parse_tag
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - parse_tag
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t tlv_parse_tag (unsigned char const **buffer, size_t *size,
      struct tag_info *ti)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:180,1
    - Dst: tlv_parser_offset
      Src: /src/gnupg/common/tlv-parser.c:181,1
    - Dst: xtrycalloc
      Src: /src/gnupg/common/tlv-parser.c:184,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/tlv-parser.c:187,1
    - Dst: xfree
      Src: /src/gnupg/common/tlv-parser.c:190,1
    - Dst: memcpy
      Src: /src/gnupg/common/tlv-parser.c:193,1
    - Dst: tlv_parser_offset
      Src: /src/gnupg/common/tlv-parser.c:197,1
    - Dst: dump_to_file
      Src: /src/gnupg/common/tlv-parser.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - buffer
    - bufsize
    - verbosity
    - lasttlv
    - lno
    argTypes:
    - unsigned char*
    - size_t
    - int
    - tlv_parser_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 206
    functionName: _tlv_parser_new
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - xfree
    - memcpy
    - dump_to_file
    - xtrycalloc
    - tlv_parser_offset
    - xtrymalloc
    - log_debug
    linkageType: ''
    returnType: tlv_parser_t
    signature: "tlv_parser_t _tlv_parser_new (const unsigned char *buffer, size_t
      bufsize,\n                int verbosity, tlv_parser_t lasttlv, int lno)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:222,1
    - Dst: tlv_parser_offset
      Src: /src/gnupg/common/tlv-parser.c:224,1
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:226,1
    - Dst: xfree
      Src: /src/gnupg/common/tlv-parser.c:228,1
    - Dst: xfree
      Src: /src/gnupg/common/tlv-parser.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - tlv
    - lno
    argTypes:
    - tlv_parser_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 231
    functionName: _tlv_parser_release
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - tlv_parser_offset
    - xfree
    - log_debug
    linkageType: ''
    returnType: tlv_parser_t
    signature: tlv_parser_t _tlv_parser_release (tlv_parser_t tlv, int lno)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:242,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:257,1
    - Dst: _tlv_parser_dump_state
      Src: /src/gnupg/common/tlv-parser.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - tlv
    argTypes:
    - tlv_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 265
    functionName: _tlv_push
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - _tlv_parser_dump_state
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _tlv_push (tlv_parser_t tlv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:278,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:288,1
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:298,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:300,1
    - Dst: _tlv_parser_dump_state
      Src: /src/gnupg/common/tlv-parser.c:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - tlv
    argTypes:
    - tlv_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 308
    functionName: _tlv_pop
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - _tlv_parser_dump_state
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _tlv_pop (tlv_parser_t tlv)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:329,1
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:334,1
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:341,1
    - Dst: _tlv_pop
      Src: /src/gnupg/common/tlv-parser.c:350,1
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:356,1
    - Dst: parse_tag
      Src: /src/gnupg/common/tlv-parser.c:364,1
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:370,1
    - Dst: log_printhex
      Src: /src/gnupg/common/tlv-parser.c:371,1
    - Dst: dump_to_file
      Src: /src/gnupg/common/tlv-parser.c:373,1
    - Dst: cram_octet_string
      Src: /src/gnupg/common/tlv-parser.c:382,1
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:385,1
    - Dst: cram_octet_string
      Src: /src/gnupg/common/tlv-parser.c:387,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:388,1
    - Dst: _tlv_pop
      Src: /src/gnupg/common/tlv-parser.c:397,1
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:402,1
    - Dst: _tlv_parser_dump_tag
      Src: /src/gnupg/common/tlv-parser.c:407,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 54
    argCount: 3
    argNames:
    - tlv
    - flag
    - lno
    argTypes:
    - tlv_parser_t
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 409
    functionName: _tlv_parser_next
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - _tlv_parser_dump_tag
    - _tlv_pop
    - log_printhex
    - parse_tag
    - gpg_error
    - dump_to_file
    - log_debug
    - cram_octet_string
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _tlv_parser_next (tlv_parser_t tlv, unsigned int flag,
      int lno)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlv
    argTypes:
    - tlv_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: tlv_parser_level
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int tlv_parser_level (tlv_parser_t tlv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlv
    argTypes:
    - tlv_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: tlv_parser_offset
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tlv_parser_offset (tlv_parser_t tlv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlv
    argTypes:
    - tlv_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 433
    functionName: tlv_parser_lastfunc
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      tlv_parser_lastfunc (tlv_parser_t tlv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_strerror
      Src: /src/gnupg/common/tlv-parser.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlv
    argTypes:
    - tlv_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 440
    functionName: tlv_parser_lasterrstr
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - gpg_strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      tlv_parser_lasterrstr (tlv_parser_t tlv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlv
    argTypes:
    - tlv_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: tlv_parser_set_pending
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tlv_parser_set_pending (tlv_parser_t tlv)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tlv
    - with_header
    argTypes:
    - tlv_parser_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 461
    functionName: tlv_parser_tag_length
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tlv_parser_tag_length (tlv_parser_t tlv, int with_header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/tlv-parser.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tlv
    argTypes:
    - tlv_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 473
    functionName: tlv_parser_skip
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - log_assert
    linkageType: ''
    returnType: void
    signature: void tlv_parser_skip (tlv_parser_t tlv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:484,1
    - Dst: _tlv_push
      Src: /src/gnupg/common/tlv-parser.c:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - tlv
    argTypes:
    - tlv_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 486
    functionName: tlv_expect_sequence
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - _tlv_push
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t tlv_expect_sequence (tlv_parser_t tlv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:496,1
    - Dst: _tlv_push
      Src: /src/gnupg/common/tlv-parser.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tlv
    - r_tag
    argTypes:
    - tlv_parser_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 491
    functionDepth: 3
    functionLinenumber: 491
    functionLinenumberEnd: 499
    functionName: tlv_expect_context_tag
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - _tlv_push
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t tlv_expect_context_tag (tlv_parser_t tlv, int *r_tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:510,1
    - Dst: _tlv_push
      Src: /src/gnupg/common/tlv-parser.c:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - tlv
    argTypes:
    - tlv_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 504
    functionDepth: 3
    functionLinenumber: 504
    functionLinenumberEnd: 512
    functionName: tlv_expect_set
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - _tlv_push
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t tlv_expect_set (tlv_parser_t tlv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:531,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:540,1
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:543,1
    - Dst: tlv_parser_offset
      Src: /src/gnupg/common/tlv-parser.c:545,1
    - Dst: _tlv_push
      Src: /src/gnupg/common/tlv-parser.c:556,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:559,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 5
    argNames:
    - tlv
    - class
    - tag
    - r_data
    - r_datalen
    argTypes:
    - tlv_parser_t
    - int
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 519
    functionDepth: 3
    functionLinenumber: 519
    functionLinenumberEnd: 564
    functionName: tlv_expect_object
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - tlv_parser_offset
    - gpg_error
    - _tlv_push
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t tlv_expect_object (tlv_parser_t tlv, int class, int tag,\n
      \                  unsigned char const **r_data, size_t *r_datalen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:579,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:581,1
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:584,1
    - Dst: tlv_parser_offset
      Src: /src/gnupg/common/tlv-parser.c:586,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:597,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - tlv
    - r_data
    - r_datalen
    argTypes:
    - tlv_parser_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 602
    functionName: tlv_expect_octet_string
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - tlv_parser_offset
    - gpg_error
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t tlv_expect_octet_string (tlv_parser_t tlv,\n                         unsigned
      char const **r_data, size_t *r_datalen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:617,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:620,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:624,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:631,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:635,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - tlv
    - r_value
    argTypes:
    - tlv_parser_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 639
    functionName: tlv_expect_integer
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t tlv_expect_integer (tlv_parser_t tlv, int *r_value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:659,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:662,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:665,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:669,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/common/tlv-parser.c:671,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - tlv
    - ignore_zero
    - r_value
    argTypes:
    - tlv_parser_t
    - int
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 672
    functionName: tlv_expect_mpinteger
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - gcry_mpi_scan
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t tlv_expect_mpinteger (tlv_parser_t tlv, int ignore_zero,\n
      \                     gcry_mpi_t *r_value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:689,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:692,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:697,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - tlv
    - r_oid
    - r_oidlen
    argTypes:
    - tlv_parser_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 701
    functionName: tlv_expect_object_id
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t tlv_expect_object_id (tlv_parser_t tlv,\n                      unsigned
      char const **r_oid, size_t *r_oidlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-parser.c:711,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - tlv
    argTypes:
    - tlv_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 713
    functionName: tlv_expect_null
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t tlv_expect_null (tlv_parser_t tlv)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: parse_tag
      Src: /src/gnupg/common/tlv-parser.c:778,1
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:782,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/tlv-parser.c:783,1
    - Dst: log_printhex
      Src: /src/gnupg/common/tlv-parser.c:784,1
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:790,1
    - Dst: memmove
      Src: /src/gnupg/common/tlv-parser.c:797,1
    - Dst: memset
      Src: /src/gnupg/common/tlv-parser.c:814,1
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:821,1
    - Dst: log_debug
      Src: /src/gnupg/common/tlv-parser.c:822,1
    - Dst: dump_to_file
      Src: /src/gnupg/common/tlv-parser.c:824,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 2
    argNames:
    - tlv
    - testmode
    argTypes:
    - tlv_parser_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 827
    functionName: cram_octet_string
    functionSourceFile: /src/gnupg/common/tlv-parser.c
    functionUses: 1
    functionsReached:
    - memmove
    - log_printhex
    - parse_tag
    - gpg_strerror
    - memset
    - dump_to_file
    - log_debug
    linkageType: ''
    returnType: size_t
    signature: size_t cram_octet_string (tlv_parser_t tlv, int testmode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: pass
    functionSourceFile: /src/gnupg/common/t-mbox-util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: fail
    functionSourceFile: /src/gnupg/common/t-mbox-util.c
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mailbox_from_userid
      Src: /src/gnupg/common/t-mbox-util.c:92,1
    - Dst: fail
      Src: /src/gnupg/common/t-mbox-util.c:97,1
    - Dst: fail
      Src: /src/gnupg/common/t-mbox-util.c:100,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-mbox-util.c:101,1
    - Dst: fail
      Src: /src/gnupg/common/t-mbox-util.c:102,1
    - Dst: xfree
      Src: /src/gnupg/common/t-mbox-util.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 106
    functionName: run_mbox_test
    functionSourceFile: /src/gnupg/common/t-mbox-util.c
    functionUses: 0
    functionsReached:
    - strcmp
    - fail
    - xfree
    - mailbox_from_userid
    linkageType: ''
    returnType: void
    signature: void run_mbox_test (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mailbox_from_userid
      Src: /src/gnupg/common/t-mbox-util.c:171,1
    - Dst: fail
      Src: /src/gnupg/common/t-mbox-util.c:176,1
    - Dst: fail
      Src: /src/gnupg/common/t-mbox-util.c:179,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-mbox-util.c:180,1
    - Dst: fail
      Src: /src/gnupg/common/t-mbox-util.c:181,1
    - Dst: xfree
      Src: /src/gnupg/common/t-mbox-util.c:183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 185
    functionName: run_mbox_no_sub_test
    functionSourceFile: /src/gnupg/common/t-mbox-util.c
    functionUses: 0
    functionsReached:
    - strcmp
    - fail
    - xfree
    - mailbox_from_userid
    linkageType: ''
    returnType: void
    signature: void run_mbox_no_sub_test (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_domain_name
      Src: /src/gnupg/common/t-mbox-util.c:232,1
    - Dst: fail
      Src: /src/gnupg/common/t-mbox-util.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 235
    functionName: run_dns_test
    functionSourceFile: /src/gnupg/common/t-mbox-util.c
    functionUses: 0
    functionsReached:
    - fail
    - is_valid_domain_name
    linkageType: ''
    returnType: void
    signature: void run_dns_test (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/gnupg/common/t-mbox-util.c:247,1
    - Dst: strchr
      Src: /src/gnupg/common/t-mbox-util.c:249,1
    - Dst: getc
      Src: /src/gnupg/common/t-mbox-util.c:255,1
    - Dst: trim_spaces
      Src: /src/gnupg/common/t-mbox-util.c:259,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/common/t-mbox-util.c:260,1
    - Dst: printf
      Src: /src/gnupg/common/t-mbox-util.c:263,1
    - Dst: xfree
      Src: /src/gnupg/common/t-mbox-util.c:264,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-mbox-util.c:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - no_sub
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 270
    functionName: run_filter
    functionSourceFile: /src/gnupg/common/t-mbox-util.c
    functionUses: 0
    functionsReached:
    - printf
    - getc
    - trim_spaces
    - fprintf
    - strchr
    - xfree
    - fgets
    - mailbox_from_userid
    linkageType: ''
    returnType: void
    signature: void run_filter (int no_sub)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/t-mbox-util.c:285,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-mbox-util.c:290,1
    - Dst: fputs
      Src: /src/gnupg/common/t-mbox-util.c:292,1
    - Dst: exit
      Src: /src/gnupg/common/t-mbox-util.c:299,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-mbox-util.c:301,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-mbox-util.c:306,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-mbox-util.c:312,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-mbox-util.c:317,1
    - Dst: strncmp
      Src: /src/gnupg/common/t-mbox-util.c:322,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-mbox-util.c:324,1
    - Dst: exit
      Src: /src/gnupg/common/t-mbox-util.c:325,1
    - Dst: run_filter
      Src: /src/gnupg/common/t-mbox-util.c:330,1
    - Dst: run_mbox_test
      Src: /src/gnupg/common/t-mbox-util.c:333,1
    - Dst: run_mbox_no_sub_test
      Src: /src/gnupg/common/t-mbox-util.c:334,1
    - Dst: run_dns_test
      Src: /src/gnupg/common/t-mbox-util.c:335,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 273
    functionDepth: 5
    functionLinenumber: 273
    functionLinenumberEnd: 339
    functionName: main
    functionSourceFile: /src/gnupg/common/t-mbox-util.c
    functionUses: 4
    functionsReached:
    - run_mbox_test
    - run_dns_test
    - exit
    - strcmp
    - fprintf
    - run_mbox_no_sub_test
    - fputs
    - run_filter
    - strncmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/common/compliance.c:62,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:63,1
    - Dst: read_w32_registry_string
      Src: /src/gnupg/common/compliance.c:68,1
    - Dst: gnupg_registry_dir
      Src: /src/gnupg/common/compliance.c:69,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:71,1
    - Dst: xfree
      Src: /src/gnupg/common/compliance.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 79
    functionName: get_assumed_de_vs_compliance
    functionSourceFile: /src/gnupg/common/compliance.c
    functionUses: 0
    functionsReached:
    - read_w32_registry_string
    - getenv
    - strcmp
    - xfree
    - gnupg_registry_dir
    linkageType: ''
    returnType: int
    signature: int get_assumed_de_vs_compliance (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_assumed_de_vs_compliance
      Src: /src/gnupg/common/compliance.c:108,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - compliance
    - for_rng
    argTypes:
    - enum gnupg_compliance_mode
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 114
    functionName: get_compliance_cache
    functionSourceFile: /src/gnupg/common/compliance.c
    functionUses: 0
    functionsReached:
    - get_assumed_de_vs_compliance
    linkageType: ''
    returnType: int
    signature: 'int *

      get_compliance_cache (enum gnupg_compliance_mode compliance, int for_rng)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:123,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:129,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:130,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:131,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:132,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:133,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:134,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:135,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:136,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:137,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:138,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:139,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:140,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:141,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:142,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:143,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:144,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:145,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:146,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:147,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:148,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:149,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:150,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:151,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:152,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:153,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:154,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 1
    argNames:
    - gnupg_module_name
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 168
    functionName: gnupg_initialize_compliance
    functionSourceFile: /src/gnupg/common/compliance.c
    functionUses: 2
    functionsReached:
    - log_assert
    linkageType: ''
    returnType: void
    signature: void gnupg_initialize_compliance (int gnupg_module_name)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/common/compliance.c:247,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/common/compliance.c:248,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/common/compliance.c:258,1
    - Dst: openpgp_oid_to_curve
      Src: /src/gnupg/common/compliance.c:259,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:269,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:270,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:271,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/common/compliance.c:277,1
    - Dst: openpgp_oid_to_curve
      Src: /src/gnupg/common/compliance.c:278,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:286,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:287,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:288,1
    - Dst: xfree
      Src: /src/gnupg/common/compliance.c:294,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 71
    argCount: 6
    argNames:
    - compliance
    - algo
    - algo_flags
    - key
    - keylength
    - curvename
    argTypes:
    - enum gnupg_compliance_mode
    - int
    - unsigned int
    - gcry_mpi_t[]
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 302
    functionName: gnupg_pk_is_compliant
    functionSourceFile: /src/gnupg/common/compliance.c
    functionUses: 5
    functionsReached:
    - strcmp
    - xfree
    - openpgp_oid_to_curve
    - openpgp_oid_to_str
    - gcry_mpi_get_nbits
    linkageType: ''
    returnType: int
    signature: "int gnupg_pk_is_compliant (enum gnupg_compliance_mode compliance,
      int algo,\n                       unsigned int algo_flags,\n\t\t       gcry_mpi_t
      key[], unsigned int keylength,\n                       const char *curvename)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:349,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/common/compliance.c:358,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/common/compliance.c:359,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/common/compliance.c:381,1
    - Dst: openpgp_oid_to_curve
      Src: /src/gnupg/common/compliance.c:382,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:388,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:389,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:390,1
    - Dst: xfree
      Src: /src/gnupg/common/compliance.c:392,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/common/compliance.c:406,1
    - Dst: openpgp_oid_to_curve
      Src: /src/gnupg/common/compliance.c:407,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:414,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:415,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:416,1
    - Dst: xfree
      Src: /src/gnupg/common/compliance.c:417,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/common/compliance.c:438,1
    - Dst: openpgp_oid_to_curve
      Src: /src/gnupg/common/compliance.c:439,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:446,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:447,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:448,1
    - Dst: xfree
      Src: /src/gnupg/common/compliance.c:450,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 91
    argCount: 7
    argNames:
    - compliance
    - use
    - algo
    - algo_flags
    - key
    - keylength
    - curvename
    argTypes:
    - enum gnupg_compliance_mode
    - enum pk_use_case
    - int
    - unsigned int
    - gcry_mpi_t[]
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 465
    functionName: gnupg_pk_is_allowed
    functionSourceFile: /src/gnupg/common/compliance.c
    functionUses: 3
    functionsReached:
    - log_assert
    - strcmp
    - xfree
    - openpgp_oid_to_curve
    - openpgp_oid_to_str
    - gcry_mpi_get_nbits
    linkageType: ''
    returnType: int
    signature: "int gnupg_pk_is_allowed (enum gnupg_compliance_mode compliance,\n\t\t
      \    enum pk_use_case use, int algo,\n                     unsigned int algo_flags,
      gcry_mpi_t key[],\n\t\t     unsigned int keylength, const char *curvename)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:495,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:500,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - compliance
    - cipher
    - mode
    argTypes:
    - enum gnupg_compliance_mode
    - cipher_algo_t
    - enum gcry_cipher_modes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 507
    functionName: gnupg_cipher_is_compliant
    functionSourceFile: /src/gnupg/common/compliance.c
    functionUses: 2
    functionsReached:
    - log_assert
    linkageType: ''
    returnType: int
    signature: "int gnupg_cipher_is_compliant (enum gnupg_compliance_mode compliance,\n\t\t\t
      \  cipher_algo_t cipher,\n\t\t\t   enum gcry_cipher_modes mode)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:542,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:559,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:566,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - compliance
    - producer
    - cipher
    - mode
    argTypes:
    - enum gnupg_compliance_mode
    - int
    - cipher_algo_t
    - enum gcry_cipher_modes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 567
    functionName: gnupg_cipher_is_allowed
    functionSourceFile: /src/gnupg/common/compliance.c
    functionUses: 4
    functionsReached:
    - log_assert
    linkageType: ''
    returnType: int
    signature: "int gnupg_cipher_is_allowed (enum gnupg_compliance_mode compliance,
      int producer,\n\t\t\t cipher_algo_t cipher,\n\t\t\t enum gcry_cipher_modes mode)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:590,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - compliance
    - digest
    argTypes:
    - enum gnupg_compliance_mode
    - digest_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 597
    functionName: gnupg_digest_is_compliant
    functionSourceFile: /src/gnupg/common/compliance.c
    functionUses: 1
    functionsReached:
    - log_assert
    linkageType: ''
    returnType: int
    signature: "int gnupg_digest_is_compliant (enum gnupg_compliance_mode compliance,\n
      \                          digest_algo_t digest)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:629,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - compliance
    - producer
    - digest
    argTypes:
    - enum gnupg_compliance_mode
    - int
    - digest_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 637
    functionName: gnupg_digest_is_allowed
    functionSourceFile: /src/gnupg/common/compliance.c
    functionUses: 4
    functionsReached:
    - log_assert
    linkageType: ''
    returnType: int
    signature: "int gnupg_digest_is_allowed (enum gnupg_compliance_mode compliance,
      int producer,\n\t\t\t digest_algo_t digest)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_compliance_cache
      Src: /src/gnupg/common/compliance.c:651,1
    - Dst: gnupg_gcrypt_is_compliant
      Src: /src/gnupg/common/compliance.c:658,1
    - Dst: gcry_get_config
      Src: /src/gnupg/common/compliance.c:668,1
    - Dst: split_fields_colon
      Src: /src/gnupg/common/compliance.c:670,1
    - Dst: DIM
      Src: /src/gnupg/common/compliance.c:670,1
    - Dst: atoi
      Src: /src/gnupg/common/compliance.c:671,1
    - Dst: gcry_free
      Src: /src/gnupg/common/compliance.c:675,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - compliance
    argTypes:
    - enum gnupg_compliance_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 642
    functionDepth: 3
    functionLinenumber: 642
    functionLinenumberEnd: 686
    functionName: gnupg_rng_is_compliant
    functionSourceFile: /src/gnupg/common/compliance.c
    functionUses: 7
    functionsReached:
    - gcry_free
    - atoi
    - DIM
    - gcry_get_config
    - get_compliance_cache
    - split_fields_colon
    - gnupg_gcrypt_is_compliant
    linkageType: ''
    returnType: int
    signature: int gnupg_rng_is_compliant (enum gnupg_compliance_mode compliance)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_compliance_cache
      Src: /src/gnupg/common/compliance.c:697,1
    - Dst: gcry_check_version
      Src: /src/gnupg/common/compliance.c:703,1
    - Dst: gcry_check_version
      Src: /src/gnupg/common/compliance.c:708,1
    - Dst: gcry_get_config
      Src: /src/gnupg/common/compliance.c:717,1
    - Dst: split_fields_colon
      Src: /src/gnupg/common/compliance.c:719,1
    - Dst: DIM
      Src: /src/gnupg/common/compliance.c:719,1
    - Dst: strstr
      Src: /src/gnupg/common/compliance.c:720,1
    - Dst: gcry_free
      Src: /src/gnupg/common/compliance.c:724,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - compliance
    argTypes:
    - enum gnupg_compliance_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 691
    functionDepth: 3
    functionLinenumber: 691
    functionLinenumberEnd: 736
    functionName: gnupg_gcrypt_is_compliant
    functionSourceFile: /src/gnupg/common/compliance.c
    functionUses: 4
    functionsReached:
    - gcry_free
    - gcry_check_version
    - strstr
    - DIM
    - gcry_get_config
    - get_compliance_cache
    - split_fields_colon
    linkageType: ''
    returnType: int
    signature: int gnupg_gcrypt_is_compliant (enum gnupg_compliance_mode compliance)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:750,1
    - Dst: get_assumed_de_vs_compliance
      Src: /src/gnupg/common/compliance.c:752,1
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - compliance
    argTypes:
    - enum gnupg_compliance_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 755
    functionName: gnupg_status_compliance_flag
    functionSourceFile: /src/gnupg/common/compliance.c
    functionUses: 5
    functionsReached:
    - get_assumed_de_vs_compliance
    - log_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_status_compliance_flag (enum gnupg_compliance_mode compliance)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gcry_get_config
      Src: /src/gnupg/common/compliance.c:779,1
    - Dst: split_fields_colon
      Src: /src/gnupg/common/compliance.c:780,1
    - Dst: DIM
      Src: /src/gnupg/common/compliance.c:780,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:782,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:784,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:786,1
    - Dst: strcmp
      Src: /src/gnupg/common/compliance.c:789,1
    - Dst: gcry_free
      Src: /src/gnupg/common/compliance.c:792,1
    - Dst: gcry_check_version
      Src: /src/gnupg/common/compliance.c:809,1
    - Dst: snprintf
      Src: /src/gnupg/common/compliance.c:816,1
    - Dst: snprintf
      Src: /src/gnupg/common/compliance.c:818,1
    - Dst: get_assumed_de_vs_compliance
      Src: /src/gnupg/common/compliance.c:819,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 1
    argNames:
    - compliance
    argTypes:
    - enum gnupg_compliance_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 826
    functionName: gnupg_manu_notation_value
    functionSourceFile: /src/gnupg/common/compliance.c
    functionUses: 1
    functionsReached:
    - gcry_free
    - gcry_check_version
    - snprintf
    - DIM
    - gcry_get_config
    - strcmp
    - split_fields_colon
    - get_assumed_de_vs_compliance
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_manu_notation_value (enum gnupg_compliance_mode compliance)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/compliance.c:842,1
    - Dst: log_info
      Src: /src/gnupg/common/compliance.c:844,1
    - Dst: _
      Src: /src/gnupg/common/compliance.c:844,1
    - Dst: log_info
      Src: /src/gnupg/common/compliance.c:846,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/compliance.c:851,1
    - Dst: log_error
      Src: /src/gnupg/common/compliance.c:854,1
    - Dst: _
      Src: /src/gnupg/common/compliance.c:854,1
    - Dst: log_info
      Src: /src/gnupg/common/compliance.c:856,1
    - Dst: _
      Src: /src/gnupg/common/compliance.c:856,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - string
    - options
    - length
    - quiet
    argTypes:
    - char*
    - struct gnupg_compliance_option[]
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 858
    functionName: gnupg_parse_compliance_option
    functionSourceFile: /src/gnupg/common/compliance.c
    functionUses: 1
    functionsReached:
    - log_info
    - ascii_strcasecmp
    - _
    - log_error
    linkageType: ''
    returnType: int
    signature: "int gnupg_parse_compliance_option (const char *string,\n\t\t\t       struct
      gnupg_compliance_option options[],\n\t\t\t       size_t length,\n\t\t\t       int
      quiet)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/common/compliance.c:875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - compliance
    argTypes:
    - enum gnupg_compliance_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 876
    functionName: gnupg_compliance_option_string
    functionSourceFile: /src/gnupg/common/compliance.c
    functionUses: 15
    functionsReached:
    - log_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_compliance_option_string (enum gnupg_compliance_mode compliance)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - min_rsa
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 884
    functionName: gnupg_set_compliance_extra_info
    functionSourceFile: /src/gnupg/common/compliance.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnupg_set_compliance_extra_info (unsigned int min_rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: isascii
    functionSourceFile: /src/gnupg/common/isascii.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isascii (int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: xtrymalloc
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 76
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrymalloc(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: xtrymalloc_secure
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrymalloc_secure(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: xtrycalloc
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrycalloc(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: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: xtrycalloc_secure
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrycalloc_secure(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: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: xtryrealloc
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtryrealloc(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: xtryreallocarray
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtryreallocarray(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: xtrystrdup
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrystrdup(a)
  - 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: xfree
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 676
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xfree(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: xmalloc
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 162
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xmalloc(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: xmalloc_secure
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xmalloc_secure(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: xcalloc
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xcalloc(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: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: xcalloc_secure
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xcalloc_secure(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: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: xrealloc
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xrealloc(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: xstrdup
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 111
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xstrdup(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: xmalloc_clear
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xmalloc_clear(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: xmalloc_secure_clear
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xmalloc_secure_clear(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/util.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: out_of_core
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 3
    functionsReached:
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t out_of_core (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: gnupg_isatty
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gnupg_isatty(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 436
    functionName: gnupg_ttyname
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gnupg_ttyname(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: _gnupg_ttyname
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      _gnupg_ttyname (int fd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 445
    functionName: gnupg_ttyname
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gnupg_ttyname(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 450
    functionName: spacep
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 65
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: spacep(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 451
    functionName: digitp
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digitp(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: alphap
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: alphap(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 454
    functionName: alnump
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: alnump(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: hexdigitp
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hexdigitp(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 460
    functionName: ascii_isspace
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ascii_isspace(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 463
    functionName: atoi_1
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atoi_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 464
    functionName: atoi_2
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atoi_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 465
    functionName: atoi_4
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atoi_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 467
    functionName: xtoi_1
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 468
    functionName: xtoi_2
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 469
    functionName: xtoi_4
    functionSourceFile: /src/gnupg/common/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: spwq_malloc
    functionSourceFile: /src/gnupg/common/simple-pwquery.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: spwq_malloc(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: spwq_free
    functionSourceFile: /src/gnupg/common/simple-pwquery.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: spwq_free(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: spwq_secure_malloc
    functionSourceFile: /src/gnupg/common/simple-pwquery.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: spwq_secure_malloc(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: spwq_secure_free
    functionSourceFile: /src/gnupg/common/simple-pwquery.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: spwq_secure_free(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/common/t-support.c:46,1
    - Dst: strerror
      Src: /src/gnupg/common/t-support.c:47,1
    - Dst: exit
      Src: /src/gnupg/common/t-support.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: out_of_memory
    functionSourceFile: /src/gnupg/common/t-support.c
    functionUses: 4
    functionsReached:
    - fprintf
    - exit
    - strerror
    linkageType: ''
    returnType: void
    signature: void out_of_memory (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/common/t-support.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: gcry_malloc
    functionSourceFile: /src/gnupg/common/t-support.c
    functionUses: 1
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_malloc (size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/common/t-support.c:61,1
    - Dst: out_of_memory
      Src: /src/gnupg/common/t-support.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: gcry_xmalloc
    functionSourceFile: /src/gnupg/common/t-support.c
    functionUses: 3
    functionsReached:
    - out_of_memory
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_xmalloc (size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/common/t-support.c:70,1
    - Dst: strlen
      Src: /src/gnupg/common/t-support.c:70,1
    - Dst: strcpy
      Src: /src/gnupg/common/t-support.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: gcry_strdup
    functionSourceFile: /src/gnupg/common/t-support.c
    functionUses: 0
    functionsReached:
    - strcpy
    - malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      gcry_strdup (const char *string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnupg/common/t-support.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: gcry_realloc
    functionSourceFile: /src/gnupg/common/t-support.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_realloc (void *a, size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnupg/common/t-support.c:86,1
    - Dst: out_of_memory
      Src: /src/gnupg/common/t-support.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: gcry_xrealloc
    functionSourceFile: /src/gnupg/common/t-support.c
    functionUses: 0
    functionsReached:
    - out_of_memory
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_xrealloc (void *a, size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnupg/common/t-support.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: gcry_calloc
    functionSourceFile: /src/gnupg/common/t-support.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_calloc (size_t n, size_t m)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnupg/common/t-support.c:103,1
    - Dst: out_of_memory
      Src: /src/gnupg/common/t-support.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: gcry_xcalloc
    functionSourceFile: /src/gnupg/common/t-support.c
    functionUses: 0
    functionsReached:
    - calloc
    - out_of_memory
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_xcalloc (size_t n, size_t m)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/common/t-support.c:113,1
    - Dst: strlen
      Src: /src/gnupg/common/t-support.c:113,1
    - Dst: out_of_memory
      Src: /src/gnupg/common/t-support.c:115,1
    - Dst: strcpy
      Src: /src/gnupg/common/t-support.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: gcry_xstrdup
    functionSourceFile: /src/gnupg/common/t-support.c
    functionUses: 0
    functionsReached:
    - strcpy
    - out_of_memory
    - malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      gcry_xstrdup (const char *string)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnupg/common/t-support.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: gcry_free
    functionSourceFile: /src/gnupg/common/t-support.c
    functionUses: 13
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void gcry_free (void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/common/t-support.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts:
    - condition: (!"stub function")
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/gnupg/common/t-support.c
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: gpg_err_code_from_errno
    functionSourceFile: /src/gnupg/common/t-support.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int gpg_err_code_from_errno (int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/common/t-support.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!"stub function")
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/gnupg/common/t-support.c
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: gpg_err_code_from_syserror
    functionSourceFile: /src/gnupg/common/t-support.c
    functionUses: 16
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int gpg_err_code_from_syserror (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: pass
    functionSourceFile: /src/gnupg/common/t-openpgp-oid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: fail
    functionSourceFile: /src/gnupg/common/t-openpgp-oid.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(a,e)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_oid_from_str
      Src: /src/gnupg/common/t-openpgp-oid.c:63,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/t-openpgp-oid.c:64,1
    - Dst: fail
      Src: /src/gnupg/common/t-openpgp-oid.c:65,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/t-openpgp-oid.c:66,1
    - Dst: openpgp_oid_from_str
      Src: /src/gnupg/common/t-openpgp-oid.c:68,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/t-openpgp-oid.c:69,1
    - Dst: fail
      Src: /src/gnupg/common/t-openpgp-oid.c:70,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/t-openpgp-oid.c:71,1
    - Dst: openpgp_oid_from_str
      Src: /src/gnupg/common/t-openpgp-oid.c:73,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/t-openpgp-oid.c:74,1
    - Dst: fail
      Src: /src/gnupg/common/t-openpgp-oid.c:75,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/t-openpgp-oid.c:76,1
    - Dst: openpgp_oid_from_str
      Src: /src/gnupg/common/t-openpgp-oid.c:80,1
    - Dst: fail
      Src: /src/gnupg/common/t-openpgp-oid.c:82,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/common/t-openpgp-oid.c:84,1
    - Dst: fail
      Src: /src/gnupg/common/t-openpgp-oid.c:86,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/t-openpgp-oid.c:86,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-openpgp-oid.c:87,1
    - Dst: fail
      Src: /src/gnupg/common/t-openpgp-oid.c:88,1
    - Dst: xfree
      Src: /src/gnupg/common/t-openpgp-oid.c:89,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/common/t-openpgp-oid.c:91,1
    - Dst: fail
      Src: /src/gnupg/common/t-openpgp-oid.c:94,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/t-openpgp-oid.c:96,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 99
    functionName: test_openpgp_oid_from_str
    functionSourceFile: /src/gnupg/common/t-openpgp-oid.c
    functionUses: 0
    functionsReached:
    - openpgp_oid_from_str
    - fail
    - gpg_error_from_syserror
    - strcmp
    - gpg_err_code
    - xfree
    - gcry_mpi_get_opaque
    - openpgp_oid_to_str
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void test_openpgp_oid_from_str (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/common/t-openpgp-oid.c:132,1
    - Dst: memcpy
      Src: /src/gnupg/common/t-openpgp-oid.c:133,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/common/t-openpgp-oid.c:134,1
    - Dst: fail
      Src: /src/gnupg/common/t-openpgp-oid.c:136,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/t-openpgp-oid.c:136,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/common/t-openpgp-oid.c:138,1
    - Dst: fail
      Src: /src/gnupg/common/t-openpgp-oid.c:140,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/t-openpgp-oid.c:140,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-openpgp-oid.c:141,1
    - Dst: fail
      Src: /src/gnupg/common/t-openpgp-oid.c:142,1
    - Dst: xfree
      Src: /src/gnupg/common/t-openpgp-oid.c:143,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/t-openpgp-oid.c:144,1
    - Dst: openpgp_oidbuf_to_str
      Src: /src/gnupg/common/t-openpgp-oid.c:147,1
    - Dst: fail
      Src: /src/gnupg/common/t-openpgp-oid.c:149,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/t-openpgp-oid.c:149,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-openpgp-oid.c:150,1
    - Dst: fail
      Src: /src/gnupg/common/t-openpgp-oid.c:151,1
    - Dst: xfree
      Src: /src/gnupg/common/t-openpgp-oid.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 155
    functionName: test_openpgp_oid_to_str
    functionSourceFile: /src/gnupg/common/t-openpgp-oid.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_set_opaque
    - fail
    - gpg_error_from_syserror
    - openpgp_oidbuf_to_str
    - strcmp
    - xmalloc
    - xfree
    - memcpy
    - openpgp_oid_to_str
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void test_openpgp_oid_to_str (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_oid_from_str
      Src: /src/gnupg/common/t-openpgp-oid.c:186,1
    - Dst: fail
      Src: /src/gnupg/common/t-openpgp-oid.c:188,1
    - Dst: openpgp_oid_is_ed25519
      Src: /src/gnupg/common/t-openpgp-oid.c:190,1
    - Dst: fail
      Src: /src/gnupg/common/t-openpgp-oid.c:191,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/t-openpgp-oid.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 196
    functionName: test_openpgp_oid_is_ed25519
    functionSourceFile: /src/gnupg/common/t-openpgp-oid.c
    functionUses: 0
    functionsReached:
    - openpgp_oid_from_str
    - openpgp_oid_is_ed25519
    - fail
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void test_openpgp_oid_is_ed25519 (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_enum_curves
      Src: /src/gnupg/common/t-openpgp-oid.c:208,1
    - Dst: printf
      Src: /src/gnupg/common/t-openpgp-oid.c:211,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-openpgp-oid.c:212,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-openpgp-oid.c:214,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-openpgp-oid.c:216,1
    - Dst: fputs
      Src: /src/gnupg/common/t-openpgp-oid.c:223,1
    - Dst: exit
      Src: /src/gnupg/common/t-openpgp-oid.c:224,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 226
    functionName: test_openpgp_enum_curves
    functionSourceFile: /src/gnupg/common/t-openpgp-oid.c
    functionUses: 0
    functionsReached:
    - printf
    - exit
    - openpgp_enum_curves
    - strcmp
    - fputs
    linkageType: ''
    returnType: void
    signature: void test_openpgp_enum_curves (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/t-openpgp-oid.c:280,1
    - Dst: get_keyalgo_string
      Src: /src/gnupg/common/t-openpgp-oid.c:282,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-openpgp-oid.c:285,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-openpgp-oid.c:287,1
    - Dst: exit
      Src: /src/gnupg/common/t-openpgp-oid.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 294
    functionName: test_get_keyalgo_string
    functionSourceFile: /src/gnupg/common/t-openpgp-oid.c
    functionUses: 0
    functionsReached:
    - get_keyalgo_string
    - DIM
    - exit
    - strcmp
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_get_keyalgo_string (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/t-openpgp-oid.c:302,1
    - Dst: test_openpgp_oid_from_str
      Src: /src/gnupg/common/t-openpgp-oid.c:308,1
    - Dst: test_openpgp_oid_to_str
      Src: /src/gnupg/common/t-openpgp-oid.c:309,1
    - Dst: test_openpgp_oid_is_ed25519
      Src: /src/gnupg/common/t-openpgp-oid.c:310,1
    - Dst: test_openpgp_enum_curves
      Src: /src/gnupg/common/t-openpgp-oid.c:311,1
    - Dst: test_get_keyalgo_string
      Src: /src/gnupg/common/t-openpgp-oid.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 315
    functionName: main
    functionSourceFile: /src/gnupg/common/t-openpgp-oid.c
    functionUses: 4
    functionsReached:
    - test_openpgp_oid_from_str
    - test_openpgp_enum_curves
    - test_get_keyalgo_string
    - test_openpgp_oid_to_str
    - strcmp
    - test_openpgp_oid_is_ed25519
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: getenv
    functionSourceFile: /src/gnupg/common/t-support.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: getenv(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: xmalloc
    functionSourceFile: /src/gnupg/common/t-support.h
    functionUses: 163
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xmalloc(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: xcalloc
    functionSourceFile: /src/gnupg/common/t-support.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xcalloc(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: xrealloc
    functionSourceFile: /src/gnupg/common/t-support.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xrealloc(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: xstrdup
    functionSourceFile: /src/gnupg/common/t-support.h
    functionUses: 111
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xstrdup(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: xfree
    functionSourceFile: /src/gnupg/common/t-support.h
    functionUses: 678
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xfree(a)
  - 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: DIM
    functionSourceFile: /src/gnupg/common/t-support.h
    functionUses: 134
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: DIMof
    functionSourceFile: /src/gnupg/common/t-support.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIMof(type,member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: pass
    functionSourceFile: /src/gnupg/common/t-support.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: fail
    functionSourceFile: /src/gnupg/common/t-support.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - errsource
    - verbosity
    - agent_program
    - opt_lc_ctype
    - opt_lc_messages
    - session_env
    argTypes:
    - gpg_err_source_t
    - int
    - char*
    - char*
    - char*
    - session_env_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: gnupg_prepare_get_passphrase
    functionSourceFile: /src/gnupg/common/get-passphrase.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnupg_prepare_get_passphrase (gpg_err_source_t errsource,\n                              int
      verbosity,\n                              const char *agent_program,\n                              const
      char *opt_lc_ctype,\n                              const char *opt_lc_messages,\n
      \                             session_env_t session_env)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_new_gpg_agent
      Src: /src/gnupg/common/get-passphrase.c:91,1
    - Dst: assuan_transact
      Src: /src/gnupg/common/get-passphrase.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 108
    functionName: start_agent
    functionSourceFile: /src/gnupg/common/get-passphrase.c
    functionUses: 59
    functionsReached:
    - assuan_transact
    - start_new_gpg_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t start_agent (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnupg/common/get-passphrase.c:118,1
    - Dst: gnupg_allow_set_foregound_window
      Src: /src/gnupg/common/get-passphrase.c:120,1
    - Dst: strtoul
      Src: /src/gnupg/common/get-passphrase.c:120,1
    - Dst: log_debug
      Src: /src/gnupg/common/get-passphrase.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 127
    functionName: default_inq_cb
    functionSourceFile: /src/gnupg/common/get-passphrase.c
    functionUses: 5
    functionsReached:
    - strncmp
    - strtoul
    - log_debug
    - gnupg_allow_set_foregound_window
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t default_inq_cb (void *opaque, const char *line)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/common/get-passphrase.c:164,1
    - Dst: assuan_transact
      Src: /src/gnupg/common/get-passphrase.c:169,1
    - Dst: gpg_error
      Src: /src/gnupg/common/get-passphrase.c:172,1
    - Dst: percent_plus_escape
      Src: /src/gnupg/common/get-passphrase.c:176,1
    - Dst: percent_plus_escape
      Src: /src/gnupg/common/get-passphrase.c:179,1
    - Dst: percent_plus_escape
      Src: /src/gnupg/common/get-passphrase.c:182,1
    - Dst: snprintf
      Src: /src/gnupg/common/get-passphrase.c:185,1
    - Dst: DIM
      Src: /src/gnupg/common/get-passphrase.c:185,1
    - Dst: xfree
      Src: /src/gnupg/common/get-passphrase.c:193,1
    - Dst: xfree
      Src: /src/gnupg/common/get-passphrase.c:194,1
    - Dst: xfree
      Src: /src/gnupg/common/get-passphrase.c:195,1
    - Dst: init_membuf_secure
      Src: /src/gnupg/common/get-passphrase.c:198,1
    - Dst: init_membuf
      Src: /src/gnupg/common/get-passphrase.c:200,1
    - Dst: assuan_transact
      Src: /src/gnupg/common/get-passphrase.c:201,1
    - Dst: gpg_err_source
      Src: /src/gnupg/common/get-passphrase.c:208,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/get-passphrase.c:209,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/get-passphrase.c:210,1
    - Dst: gpg_err_source
      Src: /src/gnupg/common/get-passphrase.c:210,1
    - Dst: get_membuf
      Src: /src/gnupg/common/get-passphrase.c:217,1
    - Dst: wipememory
      Src: /src/gnupg/common/get-passphrase.c:219,1
    - Dst: xfree
      Src: /src/gnupg/common/get-passphrase.c:220,1
    - Dst: put_membuf
      Src: /src/gnupg/common/get-passphrase.c:224,1
    - Dst: get_membuf
      Src: /src/gnupg/common/get-passphrase.c:225,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/get-passphrase.c:227,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/get-passphrase.c:231,1
    - Dst: xfree
      Src: /src/gnupg/common/get-passphrase.c:232,1
    - Dst: xfree
      Src: /src/gnupg/common/get-passphrase.c:233,1
    - Dst: xfree
      Src: /src/gnupg/common/get-passphrase.c:234,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 8
    argNames:
    - cache_id
    - err_msg
    - prompt
    - desc_msg
    - repeat
    - check_quality
    - use_secmem
    - r_passphrase
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - int
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 236
    functionName: gnupg_get_passphrase
    functionSourceFile: /src/gnupg/common/get-passphrase.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - percent_plus_escape
    - put_membuf
    - snprintf
    - gpg_error_from_syserror
    - DIM
    - gpg_err_make
    - assuan_transact
    - wipememory
    - gpg_error
    - xfree
    - gpg_err_code
    - start_agent
    - init_membuf_secure
    - gpg_err_source
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gnupg_get_passphrase (const char *cache_id,\n                      const
      char *err_msg,\n                      const char *prompt,\n                      const
      char *desc_msg,\n                      int repeat,\n                      int
      check_quality,\n                      int use_secmem,\n                      char
      **r_passphrase)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/common/get-passphrase.c:249,1
    - Dst: snprintf
      Src: /src/gnupg/common/get-passphrase.c:253,1
    - Dst: DIM
      Src: /src/gnupg/common/get-passphrase.c:253,1
    - Dst: assuan_transact
      Src: /src/gnupg/common/get-passphrase.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - cache_id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 256
    functionName: gnupg_clear_passphrase
    functionSourceFile: /src/gnupg/common/get-passphrase.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - snprintf
    - DIM
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_clear_passphrase (const char *cache_id)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/common/xreadline.c:72,1
    - Dst: getc
      Src: /src/gnupg/common/xreadline.c:86,1
    - Dst: getc
      Src: /src/gnupg/common/xreadline.c:93,1
    - Dst: xtryrealloc
      Src: /src/gnupg/common/xreadline.c:103,1
    - Dst: xfree
      Src: /src/gnupg/common/xreadline.c:107,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/xreadline.c:111,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 4
    argNames:
    - fp
    - addr_of_buffer
    - length_of_buffer
    - max_length
    argTypes:
    - FILE*
    - char**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 127
    functionName: read_line
    functionSourceFile: /src/gnupg/common/xreadline.c
    functionUses: 26
    functionsReached:
    - getc
    - xtryrealloc
    - xfree
    - gpg_err_set_errno
    - xtrymalloc
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t read_line (FILE *fp,\n           char **addr_of_buffer, size_t
      *length_of_buffer,\n           size_t *max_length)"
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 1
    argNames:
    - type
    argTypes:
    - pkttype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 87
    functionName: pkttype_str
    functionSourceFile: /src/gnupg/common/openpgpdefs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      pkttype_str (pkttype_t type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: S2K_DECODE_COUNT
    functionSourceFile: /src/gnupg/common/openpgpdefs.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S2K_DECODE_COUNT(_val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/common/membuf.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mb
    - initiallen
    argTypes:
    - membuf_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: init_membuf
    functionSourceFile: /src/gnupg/common/membuf.c
    functionUses: 26
    functionsReached:
    - xtrymalloc
    linkageType: ''
    returnType: void
    signature: void init_membuf (membuf_t *mb, int initiallen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/common/membuf.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mb
    - initiallen
    argTypes:
    - membuf_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: init_membuf_secure
    functionSourceFile: /src/gnupg/common/membuf.c
    functionUses: 7
    functionsReached:
    - xtrymalloc_secure
    linkageType: ''
    returnType: void
    signature: void init_membuf_secure (membuf_t *mb, int initiallen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gnupg/common/membuf.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - mb
    - amount
    argTypes:
    - membuf_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: clear_membuf
    functionSourceFile: /src/gnupg/common/membuf.c
    functionUses: 1
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void clear_membuf (membuf_t *mb, size_t amount)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtryrealloc
      Src: /src/gnupg/common/membuf.c:101,1
    - Dst: wipememory
      Src: /src/gnupg/common/membuf.c:109,1
    - Dst: memcpy
      Src: /src/gnupg/common/membuf.c:115,1
    - Dst: memset
      Src: /src/gnupg/common/membuf.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - mb
    - buf
    - len
    argTypes:
    - membuf_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 119
    functionName: put_membuf
    functionSourceFile: /src/gnupg/common/membuf.c
    functionUses: 22
    functionsReached:
    - wipememory
    - xtryrealloc
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: void put_membuf (membuf_t *mb, const void *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/gnupg/common/membuf.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - buf
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: put_membuf_cb
    functionSourceFile: /src/gnupg/common/membuf.c
    functionUses: 0
    functionsReached:
    - put_membuf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t put_membuf_cb (void *opaque, const void *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/gnupg/common/membuf.c:139,1
    - Dst: strlen
      Src: /src/gnupg/common/membuf.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mb
    - string
    argTypes:
    - membuf_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: put_membuf_str
    functionSourceFile: /src/gnupg/common/membuf.c
    functionUses: 7
    functionsReached:
    - put_membuf
    - strlen
    linkageType: ''
    returnType: void
    signature: void put_membuf_str (membuf_t *mb, const char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/common/membuf.c:150,1
    - Dst: gpgrt_vasprintf
      Src: /src/gnupg/common/membuf.c:151,1
    - Dst: va_end
      Src: /src/gnupg/common/membuf.c:154,1
    - Dst: put_membuf
      Src: /src/gnupg/common/membuf.c:157,1
    - Dst: strlen
      Src: /src/gnupg/common/membuf.c:157,1
    - Dst: xfree
      Src: /src/gnupg/common/membuf.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - mb
    - format
    argTypes:
    - membuf_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 160
    functionName: put_membuf_printf
    functionSourceFile: /src/gnupg/common/membuf.c
    functionUses: 0
    functionsReached:
    - va_end
    - gpgrt_vasprintf
    - strlen
    - put_membuf
    - xfree
    - va_start
    linkageType: ''
    returnType: void
    signature: void put_membuf_printf (membuf_t *mb, const char *format, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wipememory
      Src: /src/gnupg/common/membuf.c:172,1
    - Dst: xfree
      Src: /src/gnupg/common/membuf.c:173,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/membuf.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - mb
    - len
    argTypes:
    - membuf_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 186
    functionName: get_membuf
    functionSourceFile: /src/gnupg/common/membuf.c
    functionUses: 31
    functionsReached:
    - wipememory
    - xfree
    - gpg_err_set_errno
    linkageType: ''
    returnType: void
    signature: 'void *

      get_membuf (membuf_t *mb, size_t *len)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_membuf
      Src: /src/gnupg/common/membuf.c:200,1
    - Dst: xtryrealloc
      Src: /src/gnupg/common/membuf.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - mb
    - len
    argTypes:
    - membuf_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 211
    functionName: get_membuf_shrink
    functionSourceFile: /src/gnupg/common/membuf.c
    functionUses: 1
    functionsReached:
    - get_membuf
    - xtryrealloc
    linkageType: ''
    returnType: void
    signature: 'void *

      get_membuf_shrink (membuf_t *mb, size_t *len)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/membuf.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - mb
    - len
    argTypes:
    - membuf_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 233
    functionName: peek_membuf
    functionSourceFile: /src/gnupg/common/membuf.c
    functionUses: 2
    functionsReached:
    - gpg_err_set_errno
    linkageType: ''
    returnType: void
    signature: 'void *

      peek_membuf (membuf_t *mb, size_t *len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code_to_errno
      Src: /src/gnupg/common/membuf.c:242,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/membuf.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mb
    - err
    argTypes:
    - membuf_t*
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: set_membuf_err
    functionSourceFile: /src/gnupg/common/membuf.c
    functionUses: 1
    functionsReached:
    - gpg_err_code_to_errno
    - gpg_err_code
    linkageType: ''
    returnType: void
    signature: void set_membuf_err (membuf_t *mb, gpg_error_t err)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: snext
    functionSourceFile: /src/gnupg/common/sexp-parse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t snext (unsigned char const **buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/sexp-parse.h:79,1
    - Dst: snext
      Src: /src/gnupg/common/sexp-parse.h:80,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexp-parse.h:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - buf
    - depth
    argTypes:
    - unsigned char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 89
    functionName: sskip
    functionSourceFile: /src/gnupg/common/sexp-parse.h
    functionUses: 0
    functionsReached:
    - gpg_error
    - snext
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t sskip (unsigned char const **buf, int *depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/sexp-parse.h:99,1
    - Dst: memcmp
      Src: /src/gnupg/common/sexp-parse.h:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - buflen
    - token
    argTypes:
    - unsigned char**
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: smatch
    functionSourceFile: /src/gnupg/common/sexp-parse.h
    functionUses: 8
    functionsReached:
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int smatch (unsigned char const **buf, size_t buflen, const char *token)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - help_buffer
    - help_buflen
    - value
    - length
    argTypes:
    - char*
    - size_t
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 134
    functionName: smklen
    functionSourceFile: /src/gnupg/common/sexp-parse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      smklen (char *help_buffer, size_t help_buflen, size_t value, size_t *length)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnupg/common/localename.c:80,1
    - Dst: getenv
      Src: /src/gnupg/common/localename.c:84,1
    - Dst: getenv
      Src: /src/gnupg/common/localename.c:88,1
    - Dst: getenv
      Src: /src/gnupg/common/localename.c:92,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - category
    - categoryname
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 102
    functionName: do_nl_locale_name
    functionSourceFile: /src/gnupg/common/localename.c
    functionUses: 0
    functionsReached:
    - getenv
    - setlocale
    linkageType: ''
    returnType: char
    signature: 'char *

      do_nl_locale_name (int category, const char *categoryname)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gettext_localename
      Src: /src/gnupg/common/localename.c:117,1
    - Dst: do_nl_locale_name
      Src: /src/gnupg/common/localename.c:119,1
    - Dst: strcmp
      Src: /src/gnupg/common/localename.c:123,1
    - Dst: strcmp
      Src: /src/gnupg/common/localename.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: gnupg_messages_locale_name
    functionSourceFile: /src/gnupg/common/localename.c
    functionUses: 1
    functionsReached:
    - strcmp
    - do_nl_locale_name
    - gettext_localename
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_messages_locale_name (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SecureZeroMemory
      Src: /src/gnupg/common/mischelp.c:56,1
    - Dst: explicit_bzero
      Src: /src/gnupg/common/mischelp.c:58,1
    - Dst: memset_ptr
      Src: /src/gnupg/common/mischelp.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: wipememory
    functionSourceFile: /src/gnupg/common/mischelp.c
    functionUses: 14
    functionsReached:
    - memset_ptr
    - explicit_bzero
    - SecureZeroMemory
    linkageType: ''
    returnType: void
    signature: void wipememory (void *ptr, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: compare_filenames
      Src: /src/gnupg/common/mischelp.c:76,1
    - Dst: gpgrt_fname_to_wchar
      Src: /src/gnupg/common/mischelp.c:85,1
    - Dst: CreateFileW
      Src: /src/gnupg/common/mischelp.c:91,1
    - Dst: xfree
      Src: /src/gnupg/common/mischelp.c:92,1
    - Dst: gpgrt_fname_to_wchar
      Src: /src/gnupg/common/mischelp.c:101,1
    - Dst: CreateFileW
      Src: /src/gnupg/common/mischelp.c:104,1
    - Dst: xfree
      Src: /src/gnupg/common/mischelp.c:105,1
    - Dst: GetFileInformationByHandle
      Src: /src/gnupg/common/mischelp.c:114,1
    - Dst: GetFileInformationByHandle
      Src: /src/gnupg/common/mischelp.c:115,1
    - Dst: CloseHandle
      Src: /src/gnupg/common/mischelp.c:119,1
    - Dst: CloseHandle
      Src: /src/gnupg/common/mischelp.c:121,1
    - Dst: stat
      Src: /src/gnupg/common/mischelp.c:126,1
    - Dst: stat
      Src: /src/gnupg/common/mischelp.c:126,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 131
    functionName: same_file_p
    functionSourceFile: /src/gnupg/common/mischelp.c
    functionUses: 1
    functionsReached:
    - GetFileInformationByHandle
    - compare_filenames
    - gpgrt_fname_to_wchar
    - xfree
    - stat
    - CloseHandle
    - CreateFileW
    linkageType: ''
    returnType: int
    signature: int same_file_p (const char *name1, const char *name2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/gnupg/common/ksba-io-support.c:178,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - line
    - linelen
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: has_only_base64
    functionSourceFile: /src/gnupg/common/ksba-io-support.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: int
    signature: int has_only_base64 (const unsigned char *line, int linelen)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - line
    - linelen
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: is_empty_line
    functionSourceFile: /src/gnupg/common/ksba-io-support.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_empty_line (const unsigned char *line, int linelen)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/ksba-io-support.c:212,1
    - Dst: es_getc
      Src: /src/gnupg/common/ksba-io-support.c:214,1
    - Dst: es_ferror
      Src: /src/gnupg/common/ksba-io-support.c:218,1
    - Dst: strncmp
      Src: /src/gnupg/common/ksba-io-support.c:246,1
    - Dst: strncmp
      Src: /src/gnupg/common/ksba-io-support.c:247,1
    - Dst: strncmp
      Src: /src/gnupg/common/ksba-io-support.c:265,1
    - Dst: strncmp
      Src: /src/gnupg/common/ksba-io-support.c:266,1
    - Dst: ascii_memcasecmp
      Src: /src/gnupg/common/ksba-io-support.c:275,1
    - Dst: is_empty_line
      Src: /src/gnupg/common/ksba-io-support.c:282,1
    - Dst: has_only_base64
      Src: /src/gnupg/common/ksba-io-support.c:291,1
    - Dst: strncmp
      Src: /src/gnupg/common/ksba-io-support.c:313,1
    - Dst: strncmp
      Src: /src/gnupg/common/ksba-io-support.c:360,1
    - Dst: log_error
      Src: /src/gnupg/common/ksba-io-support.c:366,1
    - Dst: _
      Src: /src/gnupg/common/ksba-io-support.c:366,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 147
    argCount: 4
    argNames:
    - cb_value
    - buffer
    - count
    - nread
    argTypes:
    - void*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 409
    functionName: base64_reader_cb
    functionSourceFile: /src/gnupg/common/ksba-io-support.c
    functionUses: 0
    functionsReached:
    - ascii_memcasecmp
    - log_error
    - DIM
    - _
    - es_getc
    - has_only_base64
    - es_ferror
    - strncmp
    - is_empty_line
    linkageType: ''
    returnType: int
    signature: int base64_reader_cb (void *cb_value, char *buffer, size_t count, size_t
      *nread)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: es_getc
      Src: /src/gnupg/common/ksba-io-support.c:429,1
    - Dst: parse_ber_header
      Src: /src/gnupg/common/ksba-io-support.c:438,1
    - Dst: log_debug
      Src: /src/gnupg/common/ksba-io-support.c:442,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/ksba-io-support.c:442,1
    - Dst: es_ungetc
      Src: /src/gnupg/common/ksba-io-support.c:457,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - parm
    argTypes:
    - struct reader_cb_parm_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 459
    functionName: starts_with_sequence
    functionSourceFile: /src/gnupg/common/ksba-io-support.c
    functionUses: 0
    functionsReached:
    - parse_ber_header
    - es_ungetc
    - gpg_strerror
    - es_getc
    - log_debug
    linkageType: ''
    returnType: int
    signature: int starts_with_sequence (struct reader_cb_parm_s *parm)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: starts_with_sequence
      Src: /src/gnupg/common/ksba-io-support.c:478,1
    - Dst: es_getc
      Src: /src/gnupg/common/ksba-io-support.c:486,1
    - Dst: es_getc
      Src: /src/gnupg/common/ksba-io-support.c:521,1
    - Dst: es_ferror
      Src: /src/gnupg/common/ksba-io-support.c:525,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 4
    argNames:
    - cb_value
    - buffer
    - count
    - nread
    argTypes:
    - void*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 537
    functionName: simple_reader_cb
    functionSourceFile: /src/gnupg/common/ksba-io-support.c
    functionUses: 0
    functionsReached:
    - es_ferror
    - starts_with_sequence
    - es_getc
    linkageType: ''
    returnType: int
    signature: int simple_reader_cb (void *cb_value, char *buffer, size_t count, size_t
      *nread)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_timestamp
      Src: /src/gnupg/common/ksba-io-support.c:555,1
    - Dst: struct writer_cb_parm_s*::progress::cb
      Src: /src/gnupg/common/ksba-io-support.c:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - parm
    - count
    - force
    argTypes:
    - struct writer_cb_parm_s*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 546
    functionDepth: 3
    functionLinenumber: 546
    functionLinenumberEnd: 566
    functionName: update_write_progress
    functionSourceFile: /src/gnupg/common/ksba-io-support.c
    functionUses: 0
    functionsReached:
    - make_timestamp
    - struct writer_cb_parm_s*::progress::cb
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t update_write_progress (struct writer_cb_parm_s *parm, size_t
      count, int force)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/common/ksba-io-support.c:587,1
    - Dst: es_fputs
      Src: /src/gnupg/common/ksba-io-support.c:588,1
    - Dst: es_fputs
      Src: /src/gnupg/common/ksba-io-support.c:589,1
    - Dst: es_putc
      Src: /src/gnupg/common/ksba-io-support.c:608,1
    - Dst: es_putc
      Src: /src/gnupg/common/ksba-io-support.c:610,1
    - Dst: es_putc
      Src: /src/gnupg/common/ksba-io-support.c:612,1
    - Dst: es_putc
      Src: /src/gnupg/common/ksba-io-support.c:614,1
    - Dst: es_fputs
      Src: /src/gnupg/common/ksba-io-support.c:617,1
    - Dst: es_ferror
      Src: /src/gnupg/common/ksba-io-support.c:627,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/ksba-io-support.c:627,1
    - Dst: update_write_progress
      Src: /src/gnupg/common/ksba-io-support.c:630,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - cb_value
    - buffer
    - count
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 569
    functionDepth: 4
    functionLinenumber: 569
    functionLinenumberEnd: 632
    functionName: base64_writer_cb
    functionSourceFile: /src/gnupg/common/ksba-io-support.c
    functionUses: 0
    functionsReached:
    - update_write_progress
    - gpg_error_from_syserror
    - es_putc
    - es_ferror
    - es_fputs
    linkageType: ''
    returnType: int
    signature: int base64_writer_cb (void *cb_value, const void *buffer, size_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_write
      Src: /src/gnupg/common/ksba-io-support.c:647,1
    - Dst: es_ferror
      Src: /src/gnupg/common/ksba-io-support.c:648,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/ksba-io-support.c:648,1
    - Dst: update_write_progress
      Src: /src/gnupg/common/ksba-io-support.c:650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - cb_value
    - buffer
    - count
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 637
    functionDepth: 4
    functionLinenumber: 637
    functionLinenumberEnd: 652
    functionName: plain_writer_cb
    functionSourceFile: /src/gnupg/common/ksba-io-support.c
    functionUses: 0
    functionsReached:
    - update_write_progress
    - es_ferror
    - gpg_error_from_syserror
    - es_write
    linkageType: ''
    returnType: int
    signature: int plain_writer_cb (void *cb_value, const void *buffer, size_t count)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: es_putc
      Src: /src/gnupg/common/ksba-io-support.c:674,1
    - Dst: es_putc
      Src: /src/gnupg/common/ksba-io-support.c:678,1
    - Dst: es_putc
      Src: /src/gnupg/common/ksba-io-support.c:679,1
    - Dst: es_putc
      Src: /src/gnupg/common/ksba-io-support.c:680,1
    - Dst: es_putc
      Src: /src/gnupg/common/ksba-io-support.c:685,1
    - Dst: es_putc
      Src: /src/gnupg/common/ksba-io-support.c:687,1
    - Dst: es_putc
      Src: /src/gnupg/common/ksba-io-support.c:688,1
    - Dst: es_fputs
      Src: /src/gnupg/common/ksba-io-support.c:693,1
    - Dst: es_fputs
      Src: /src/gnupg/common/ksba-io-support.c:699,1
    - Dst: es_fputs
      Src: /src/gnupg/common/ksba-io-support.c:703,1
    - Dst: es_fputs
      Src: /src/gnupg/common/ksba-io-support.c:704,1
    - Dst: es_fputs
      Src: /src/gnupg/common/ksba-io-support.c:705,1
    - Dst: es_ferror
      Src: /src/gnupg/common/ksba-io-support.c:708,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/ksba-io-support.c:708,1
    - Dst: update_write_progress
      Src: /src/gnupg/common/ksba-io-support.c:710,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - parm
    argTypes:
    - struct writer_cb_parm_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 655
    functionDepth: 4
    functionLinenumber: 655
    functionLinenumberEnd: 712
    functionName: base64_finish_write
    functionSourceFile: /src/gnupg/common/ksba-io-support.c
    functionUses: 0
    functionsReached:
    - update_write_progress
    - gpg_error_from_syserror
    - es_putc
    - es_ferror
    - es_fputs
    linkageType: ''
    returnType: int
    signature: int base64_finish_write (struct writer_cb_parm_s *parm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/common/ksba-io-support.c:747,1
    - Dst: out_of_core
      Src: /src/gnupg/common/ksba-io-support.c:749,1
    - Dst: ksba_reader_new
      Src: /src/gnupg/common/ksba-io-support.c:753,1
    - Dst: xfree
      Src: /src/gnupg/common/ksba-io-support.c:756,1
    - Dst: ksba_reader_set_cb
      Src: /src/gnupg/common/ksba-io-support.c:765,1
    - Dst: ksba_reader_set_cb
      Src: /src/gnupg/common/ksba-io-support.c:770,1
    - Dst: ksba_reader_set_cb
      Src: /src/gnupg/common/ksba-io-support.c:775,1
    - Dst: ksba_reader_set_cb
      Src: /src/gnupg/common/ksba-io-support.c:778,1
    - Dst: ksba_reader_release
      Src: /src/gnupg/common/ksba-io-support.c:782,1
    - Dst: xfree
      Src: /src/gnupg/common/ksba-io-support.c:783,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 4
    argNames:
    - ctx
    - flags
    - fp
    - r_reader
    argTypes:
    - gnupg_ksba_io_t*
    - unsigned int
    - estream_t
    - ksba_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 790
    functionName: gnupg_ksba_create_reader
    functionSourceFile: /src/gnupg/common/ksba-io-support.c
    functionUses: 0
    functionsReached:
    - ksba_reader_release
    - ksba_reader_new
    - ksba_reader_set_cb
    - xfree
    - xtrycalloc
    - out_of_core
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gnupg_ksba_create_reader (gnupg_ksba_io_t *ctx,\n                          unsigned
      int flags, estream_t fp,\n                          ksba_reader_t *r_reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - gnupg_ksba_io_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 798
    functionName: gnupg_ksba_reader_eof_seen
    functionSourceFile: /src/gnupg/common/ksba-io-support.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnupg_ksba_reader_eof_seen (gnupg_ksba_io_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_release
      Src: /src/gnupg/common/ksba-io-support.c:808,1
    - Dst: xfree
      Src: /src/gnupg/common/ksba-io-support.c:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - gnupg_ksba_io_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: gnupg_ksba_destroy_reader
    functionSourceFile: /src/gnupg/common/ksba-io-support.c
    functionUses: 0
    functionsReached:
    - xfree
    - ksba_reader_release
    linkageType: ''
    returnType: void
    signature: void gnupg_ksba_destroy_reader (gnupg_ksba_io_t ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/common/ksba-io-support.c:840,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/ksba-io-support.c:842,1
    - Dst: ksba_writer_new
      Src: /src/gnupg/common/ksba-io-support.c:845,1
    - Dst: xfree
      Src: /src/gnupg/common/ksba-io-support.c:848,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/ksba-io-support.c:857,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/ksba-io-support.c:862,1
    - Dst: ksba_writer_release
      Src: /src/gnupg/common/ksba-io-support.c:863,1
    - Dst: xfree
      Src: /src/gnupg/common/ksba-io-support.c:864,1
    - Dst: ksba_writer_set_cb
      Src: /src/gnupg/common/ksba-io-support.c:868,1
    - Dst: ksba_writer_set_cb
      Src: /src/gnupg/common/ksba-io-support.c:873,1
    - Dst: gpg_error
      Src: /src/gnupg/common/ksba-io-support.c:876,1
    - Dst: ksba_writer_release
      Src: /src/gnupg/common/ksba-io-support.c:880,1
    - Dst: xfree
      Src: /src/gnupg/common/ksba-io-support.c:881,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 5
    argNames:
    - ctx
    - flags
    - pem_name
    - stream
    - r_writer
    argTypes:
    - gnupg_ksba_io_t*
    - unsigned int
    - char*
    - estream_t
    - ksba_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 888
    functionName: gnupg_ksba_create_writer
    functionSourceFile: /src/gnupg/common/ksba-io-support.c
    functionUses: 0
    functionsReached:
    - ksba_writer_new
    - gpg_error_from_syserror
    - ksba_writer_release
    - xtrystrdup
    - gpg_error
    - xfree
    - xtrycalloc
    - ksba_writer_set_cb
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gnupg_ksba_create_writer (gnupg_ksba_io_t *ctx, unsigned
      int flags,\n                          const char *pem_name, estream_t stream,\n
      \                         ksba_writer_t *r_writer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/ksba-io-support.c:899,1
    - Dst: base64_finish_write
      Src: /src/gnupg/common/ksba-io-support.c:906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - gnupg_ksba_io_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 893
    functionDepth: 5
    functionLinenumber: 893
    functionLinenumberEnd: 907
    functionName: gnupg_ksba_finish_writer
    functionSourceFile: /src/gnupg/common/ksba-io-support.c
    functionUses: 0
    functionsReached:
    - base64_finish_write
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_ksba_finish_writer (gnupg_ksba_io_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ksba_writer_release
      Src: /src/gnupg/common/ksba-io-support.c:917,1
    - Dst: xfree
      Src: /src/gnupg/common/ksba-io-support.c:918,1
    - Dst: xfree
      Src: /src/gnupg/common/ksba-io-support.c:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - gnupg_ksba_io_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 920
    functionName: gnupg_ksba_destroy_writer
    functionSourceFile: /src/gnupg/common/ksba-io-support.c
    functionUses: 0
    functionsReached:
    - ksba_writer_release
    - xfree
    linkageType: ''
    returnType: void
    signature: void gnupg_ksba_destroy_writer (gnupg_ksba_io_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - cb
    - ctrl
    argTypes:
    - gnupg_ksba_io_t
    - gnupg_ksba_progress_cb_t
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 941
    functionName: gnupg_ksba_set_progress_cb
    functionSourceFile: /src/gnupg/common/ksba-io-support.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnupg_ksba_set_progress_cb (gnupg_ksba_io_t ctx,\n                            gnupg_ksba_progress_cb_t
      cb, ctrl_t ctrl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - total
    argTypes:
    - gnupg_ksba_io_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 954
    functionName: gnupg_ksba_set_total
    functionSourceFile: /src/gnupg/common/ksba-io-support.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnupg_ksba_set_total (gnupg_ksba_io_t ctx, uint64_t total)
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/common/userids.c:90,1
    - Dst: spacep
      Src: /src/gnupg/common/userids.c:93,1
    - Dst: spacep
      Src: /src/gnupg/common/userids.c:95,1
    - Dst: strlen
      Src: /src/gnupg/common/userids.c:95,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/userids.c:97,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/userids.c:100,1
    - Dst: trim_trailing_spaces
      Src: /src/gnupg/common/userids.c:103,1
    - Dst: gpg_error
      Src: /src/gnupg/common/userids.c:110,1
    - Dst: spacep
      Src: /src/gnupg/common/userids.c:164,1
    - Dst: gpg_error
      Src: /src/gnupg/common/userids.c:166,1
    - Dst: spacep
      Src: /src/gnupg/common/userids.c:182,1
    - Dst: gpg_error
      Src: /src/gnupg/common/userids.c:184,1
    - Dst: strchr
      Src: /src/gnupg/common/userids.c:196,1
    - Dst: gpg_error
      Src: /src/gnupg/common/userids.c:198,1
    - Dst: spacep
      Src: /src/gnupg/common/userids.c:210,1
    - Dst: gpg_error
      Src: /src/gnupg/common/userids.c:212,1
    - Dst: strchr
      Src: /src/gnupg/common/userids.c:228,1
    - Dst: gpg_error
      Src: /src/gnupg/common/userids.c:231,1
    - Dst: strchr
      Src: /src/gnupg/common/userids.c:236,1
    - Dst: gpg_error
      Src: /src/gnupg/common/userids.c:238,1
    - Dst: gpg_error
      Src: /src/gnupg/common/userids.c:244,1
    - Dst: hextobyte
      Src: /src/gnupg/common/userids.c:248,1
    - Dst: hex2bin
      Src: /src/gnupg/common/userids.c:258,1
    - Dst: gpg_error
      Src: /src/gnupg/common/userids.c:260,1
    - Dst: hex2bin
      Src: /src/gnupg/common/userids.c:269,1
    - Dst: gpg_error
      Src: /src/gnupg/common/userids.c:271,1
    - Dst: strspn
      Src: /src/gnupg/common/userids.c:285,1
    - Dst: spacep
      Src: /src/gnupg/common/userids.c:293,1
    - Dst: gpg_error
      Src: /src/gnupg/common/userids.c:298,1
    - Dst: strtoul
      Src: /src/gnupg/common/userids.c:317,1
    - Dst: mem2str
      Src: /src/gnupg/common/userids.c:329,1
    - Dst: strtoul
      Src: /src/gnupg/common/userids.c:330,1
    - Dst: strtoul
      Src: /src/gnupg/common/userids.c:331,1
    - Dst: memset
      Src: /src/gnupg/common/userids.c:343,1
    - Dst: hextobyte
      Src: /src/gnupg/common/userids.c:346,1
    - Dst: gpg_error
      Src: /src/gnupg/common/userids.c:349,1
    - Dst: hextobyte
      Src: /src/gnupg/common/userids.c:370,1
    - Dst: gpg_error
      Src: /src/gnupg/common/userids.c:373,1
    - Dst: hextobyte
      Src: /src/gnupg/common/userids.c:394,1
    - Dst: gpg_error
      Src: /src/gnupg/common/userids.c:397,1
    - Dst: strspn
      Src: /src/gnupg/common/userids.c:412,1
    - Dst: spacep
      Src: /src/gnupg/common/userids.c:413,1
    - Dst: hextobyte
      Src: /src/gnupg/common/userids.c:419,1
    - Dst: strspn
      Src: /src/gnupg/common/userids.c:441,1
    - Dst: hextobyte
      Src: /src/gnupg/common/userids.c:466,1
    - Dst: gpg_error
      Src: /src/gnupg/common/userids.c:491,1
    - Dst: xfree
      Src: /src/gnupg/common/userids.c:498,1
    CyclomaticComplexity: 145
    EdgeCount: 145
    ICount: 295
    argCount: 3
    argNames:
    - name
    - desc
    - openpgp_hack
    argTypes:
    - char*
    - KEYDB_SEARCH_DESC*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 500
    functionName: classify_user_id
    functionSourceFile: /src/gnupg/common/userids.c
    functionUses: 26
    functionsReached:
    - trim_trailing_spaces
    - strlen
    - gpg_error_from_syserror
    - spacep
    - xtrystrdup
    - gpg_error
    - strchr
    - memset
    - hextobyte
    - hex2bin
    - xfree
    - mem2str
    - strtoul
    - strspn
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t classify_user_id (const char *name, KEYDB_SEARCH_DESC *desc,
      int openpgp_hack)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: pass
    functionSourceFile: /src/gnupg/common/t-gettime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: fail
    functionSourceFile: /src/gnupg/common/t-gettime.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scan_secondsstr
      Src: /src/gnupg/common/t-gettime.c:83,1
    - Dst: fail
      Src: /src/gnupg/common/t-gettime.c:86,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-gettime.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 93
    functionName: test_scan_secondsstr
    functionSourceFile: /src/gnupg/common/t-gettime.c
    functionUses: 0
    functionsReached:
    - fprintf
    - scan_secondsstr
    - fail
    linkageType: ''
    returnType: void
    signature: void test_scan_secondsstr (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UINTMAX_C
      Src: /src/gnupg/common/t-gettime.c:117,1
    - Dst: UINTMAX_C
      Src: /src/gnupg/common/t-gettime.c:118,1
    - Dst: UINTMAX_C
      Src: /src/gnupg/common/t-gettime.c:119,1
    - Dst: UINTMAX_C
      Src: /src/gnupg/common/t-gettime.c:120,1
    - Dst: isotime2epoch
      Src: /src/gnupg/common/t-gettime.c:130,1
    - Dst: fail
      Src: /src/gnupg/common/t-gettime.c:133,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-gettime.c:135,1
    - Dst: epoch2isotime
      Src: /src/gnupg/common/t-gettime.c:141,1
    - Dst: strlen
      Src: /src/gnupg/common/t-gettime.c:142,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-gettime.c:145,1
    - Dst: fail
      Src: /src/gnupg/common/t-gettime.c:147,1
    - Dst: strncmp
      Src: /src/gnupg/common/t-gettime.c:149,1
    - Dst: fail
      Src: /src/gnupg/common/t-gettime.c:150,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 153
    functionName: test_isotime2epoch
    functionSourceFile: /src/gnupg/common/t-gettime.c
    functionUses: 0
    functionsReached:
    - UINTMAX_C
    - fail
    - strlen
    - fprintf
    - epoch2isotime
    - isotime2epoch
    - strncmp
    linkageType: ''
    returnType: void
    signature: void test_isotime2epoch (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: string2isotime
      Src: /src/gnupg/common/t-gettime.c:215,1
    - Dst: fail
      Src: /src/gnupg/common/t-gettime.c:218,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-gettime.c:220,1
    - Dst: strlen
      Src: /src/gnupg/common/t-gettime.c:223,1
    - Dst: fail
      Src: /src/gnupg/common/t-gettime.c:225,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-gettime.c:227,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-gettime.c:230,1
    - Dst: fail
      Src: /src/gnupg/common/t-gettime.c:232,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-gettime.c:234,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 238
    functionName: test_string2isotime
    functionSourceFile: /src/gnupg/common/t-gettime.c
    functionUses: 0
    functionsReached:
    - fail
    - strlen
    - fprintf
    - strcmp
    - string2isotime
    linkageType: ''
    returnType: void
    signature: void test_string2isotime (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isodate_human_to_tm
      Src: /src/gnupg/common/t-gettime.c:283,1
    - Dst: fail
      Src: /src/gnupg/common/t-gettime.c:286,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-gettime.c:288,1
    - Dst: fail
      Src: /src/gnupg/common/t-gettime.c:297,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-gettime.c:299,1
    - Dst: fail
      Src: /src/gnupg/common/t-gettime.c:306,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-gettime.c:308,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 312
    functionName: test_isodate_human_to_tm
    functionSourceFile: /src/gnupg/common/t-gettime.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fail
    - isodate_human_to_tm
    linkageType: ''
    returnType: void
    signature: void test_isodate_human_to_tm (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/t-gettime.c:318,1
    - Dst: test_scan_secondsstr
      Src: /src/gnupg/common/t-gettime.c:321,1
    - Dst: test_isotime2epoch
      Src: /src/gnupg/common/t-gettime.c:322,1
    - Dst: test_string2isotime
      Src: /src/gnupg/common/t-gettime.c:323,1
    - Dst: test_isodate_human_to_tm
      Src: /src/gnupg/common/t-gettime.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 315
    functionDepth: 4
    functionLinenumber: 315
    functionLinenumberEnd: 327
    functionName: main
    functionSourceFile: /src/gnupg/common/t-gettime.c
    functionUses: 4
    functionsReached:
    - test_isotime2epoch
    - test_scan_secondsstr
    - strcmp
    - test_isodate_human_to_tm
    - test_string2isotime
    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: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: INT2FD
    functionSourceFile: /src/gnupg/common/sysutils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT2FD(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: FD2INT
    functionSourceFile: /src/gnupg/common/sysutils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FD2INT(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: FD2INT
    functionSourceFile: /src/gnupg/common/sysutils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FD2INT(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: FD_DBG
    functionSourceFile: /src/gnupg/common/sysutils.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FD_DBG(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: FD2NUM
    functionSourceFile: /src/gnupg/common/sysutils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FD2NUM(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: INT2FD
    functionSourceFile: /src/gnupg/common/sysutils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT2FD(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: FD2INT
    functionSourceFile: /src/gnupg/common/sysutils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FD2INT(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: FD_DBG
    functionSourceFile: /src/gnupg/common/sysutils.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FD_DBG(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: FD2NUM
    functionSourceFile: /src/gnupg/common/sysutils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FD2NUM(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: fd_to_handle
    functionSourceFile: /src/gnupg/common/exechelp-w32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fd_to_handle(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: handle_to_fd
    functionSourceFile: /src/gnupg/common/exechelp-w32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: handle_to_fd(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: pid_to_handle
    functionSourceFile: /src/gnupg/common/exechelp-w32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pid_to_handle(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: handle_to_pid
    functionSourceFile: /src/gnupg/common/exechelp-w32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: handle_to_pid(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make
      Src: /src/gnupg/common/exechelp-w32.c:96,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/exechelp-w32.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: my_error_from_syserror
    functionSourceFile: /src/gnupg/common/exechelp-w32.c
    functionUses: 3
    functionsReached:
    - gpg_err_make
    - gpg_err_code_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t my_error_from_syserror (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make
      Src: /src/gnupg/common/exechelp-w32.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errcode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: my_error
    functionSourceFile: /src/gnupg/common/exechelp-w32.c
    functionUses: 3
    functionsReached:
    - gpg_err_make
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t my_error (int errcode)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: get_max_fds
    functionSourceFile: /src/gnupg/common/exechelp-w32.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_max_fds (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - first
    - except
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: close_all_fds
    functionSourceFile: /src/gnupg/common/exechelp-w32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void close_all_fds (int first, const int *except)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnupg/common/exechelp-w32.c:151,1
    - Dst: get_max_fds
      Src: /src/gnupg/common/exechelp-w32.c:157,1
    - Dst: calloc
      Src: /src/gnupg/common/exechelp-w32.c:159,1
    - Dst: fstat
      Src: /src/gnupg/common/exechelp-w32.c:165,1
    - Dst: realloc
      Src: /src/gnupg/common/exechelp-w32.c:172,1
    - Dst: free
      Src: /src/gnupg/common/exechelp-w32.c:175,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 185
    functionName: get_all_open_fds
    functionSourceFile: /src/gnupg/common/exechelp-w32.c
    functionUses: 0
    functionsReached:
    - realloc
    - calloc
    - get_max_fds
    - fstat
    - free
    linkageType: ''
    returnType: int
    signature: 'int *

      get_all_open_fds (void)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/common/exechelp-w32.c:198,1
    - Dst: CreatePipe
      Src: /src/gnupg/common/exechelp-w32.c:202,1
    - Dst: SetHandleInformation
      Src: /src/gnupg/common/exechelp-w32.c:206,1
    - Dst: SetHandleInformation
      Src: /src/gnupg/common/exechelp-w32.c:210,1
    - Dst: log_error
      Src: /src/gnupg/common/exechelp-w32.c:218,1
    - Dst: w32_strerror
      Src: /src/gnupg/common/exechelp-w32.c:218,1
    - Dst: CloseHandle
      Src: /src/gnupg/common/exechelp-w32.c:219,1
    - Dst: CloseHandle
      Src: /src/gnupg/common/exechelp-w32.c:220,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - filedes
    - flags
    argTypes:
    - HANDLE[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 222
    functionName: create_inheritable_pipe
    functionSourceFile: /src/gnupg/common/exechelp-w32.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - log_error
    - SetHandleInformation
    - memset
    - w32_strerror
    - CreatePipe
    linkageType: ''
    returnType: int
    signature: int create_inheritable_pipe (HANDLE filedes[2], int flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: create_inheritable_pipe
      Src: /src/gnupg/common/exechelp-w32.c:241,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exechelp-w32.c:243,1
    - Dst: log_error
      Src: /src/gnupg/common/exechelp-w32.c:244,1
    - Dst: _
      Src: /src/gnupg/common/exechelp-w32.c:244,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/exechelp-w32.c:244,1
    - Dst: es_sysopen
      Src: /src/gnupg/common/exechelp-w32.c:255,1
    - Dst: es_sysopen
      Src: /src/gnupg/common/exechelp-w32.c:261,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exechelp-w32.c:265,1
    - Dst: log_error
      Src: /src/gnupg/common/exechelp-w32.c:266,1
    - Dst: _
      Src: /src/gnupg/common/exechelp-w32.c:266,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/exechelp-w32.c:267,1
    - Dst: CloseHandle
      Src: /src/gnupg/common/exechelp-w32.c:268,1
    - Dst: CloseHandle
      Src: /src/gnupg/common/exechelp-w32.c:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 5
    argNames:
    - r_fd
    - flags
    - r_fp
    - outbound
    - nonblock
    argTypes:
    - gnupg_fd_t*
    - int
    - estream_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 275
    functionName: create_pipe_and_estream
    functionSourceFile: /src/gnupg/common/exechelp-w32.c
    functionUses: 2
    functionsReached:
    - my_error_from_syserror
    - log_error
    - es_sysopen
    - _
    - gpg_strerror
    - create_inheritable_pipe
    - CloseHandle
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t create_pipe_and_estream (gnupg_fd_t *r_fd, int flags,\n
      \                        estream_t *r_fp, int outbound, int nonblock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/exechelp-w32.c:284,1
    - Dst: create_pipe_and_estream
      Src: /src/gnupg/common/exechelp-w32.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - r_fd
    - r_fp
    - nonblock
    argTypes:
    - gnupg_fd_t*
    - estream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 287
    functionName: gnupg_create_inbound_pipe
    functionSourceFile: /src/gnupg/common/exechelp-w32.c
    functionUses: 0
    functionsReached:
    - create_pipe_and_estream
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_create_inbound_pipe (gnupg_fd_t *r_fd, estream_t
      *r_fp, int nonblock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/exechelp-w32.c:297,1
    - Dst: create_pipe_and_estream
      Src: /src/gnupg/common/exechelp-w32.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - r_fd
    - r_fp
    - nonblock
    argTypes:
    - gnupg_fd_t*
    - estream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: gnupg_create_outbound_pipe
    functionSourceFile: /src/gnupg/common/exechelp-w32.c
    functionUses: 0
    functionsReached:
    - create_pipe_and_estream
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_create_outbound_pipe (gnupg_fd_t *r_fd, estream_t
      *r_fp, int nonblock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: create_inheritable_pipe
      Src: /src/gnupg/common/exechelp-w32.c:321,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exechelp-w32.c:322,1
    - Dst: _open_osfhandle
      Src: /src/gnupg/common/exechelp-w32.c:324,1
    - Dst: handle_to_fd
      Src: /src/gnupg/common/exechelp-w32.c:324,1
    - Dst: log_error
      Src: /src/gnupg/common/exechelp-w32.c:327,1
    - Dst: CloseHandle
      Src: /src/gnupg/common/exechelp-w32.c:328,1
    - Dst: CloseHandle
      Src: /src/gnupg/common/exechelp-w32.c:329,1
    - Dst: my_error
      Src: /src/gnupg/common/exechelp-w32.c:331,1
    - Dst: _open_osfhandle
      Src: /src/gnupg/common/exechelp-w32.c:335,1
    - Dst: handle_to_fd
      Src: /src/gnupg/common/exechelp-w32.c:335,1
    - Dst: log_error
      Src: /src/gnupg/common/exechelp-w32.c:338,1
    - Dst: close
      Src: /src/gnupg/common/exechelp-w32.c:339,1
    - Dst: CloseHandle
      Src: /src/gnupg/common/exechelp-w32.c:341,1
    - Dst: my_error
      Src: /src/gnupg/common/exechelp-w32.c:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - filedes
    - flags
    argTypes:
    - int[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 349
    functionName: gnupg_create_pipe
    functionSourceFile: /src/gnupg/common/exechelp-w32.c
    functionUses: 3
    functionsReached:
    - my_error_from_syserror
    - CloseHandle
    - log_error
    - close
    - handle_to_fd
    - my_error
    - create_inheritable_pipe
    - _open_osfhandle
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_create_pipe (int filedes[2], int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnupg/common/exechelp-w32.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: gnupg_close_pipe
    functionSourceFile: /src/gnupg/common/exechelp-w32.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void gnupg_close_pipe (int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: pass
    functionSourceFile: /src/gnupg/common/t-percent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: fail
    functionSourceFile: /src/gnupg/common/t-percent.c
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: percent_plus_escape
      Src: /src/gnupg/common/t-percent.c:75,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-percent.c:78,1
    - Dst: strerror
      Src: /src/gnupg/common/t-percent.c:78,1
    - Dst: exit
      Src: /src/gnupg/common/t-percent.c:79,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-percent.c:81,1
    - Dst: fail
      Src: /src/gnupg/common/t-percent.c:82,1
    - Dst: percent_plus_unescape
      Src: /src/gnupg/common/t-percent.c:83,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-percent.c:86,1
    - Dst: strerror
      Src: /src/gnupg/common/t-percent.c:86,1
    - Dst: exit
      Src: /src/gnupg/common/t-percent.c:87,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-percent.c:89,1
    - Dst: fail
      Src: /src/gnupg/common/t-percent.c:90,1
    - Dst: xfree
      Src: /src/gnupg/common/t-percent.c:91,1
    - Dst: percent_plus_unescape_inplace
      Src: /src/gnupg/common/t-percent.c:93,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-percent.c:95,1
    - Dst: fail
      Src: /src/gnupg/common/t-percent.c:96,1
    - Dst: xfree
      Src: /src/gnupg/common/t-percent.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 99
    functionName: test_percent_plus_escape
    functionSourceFile: /src/gnupg/common/t-percent.c
    functionUses: 0
    functionsReached:
    - percent_plus_unescape
    - fail
    - percent_plus_escape
    - exit
    - fprintf
    - strcmp
    - xfree
    - percent_plus_unescape_inplace
    - strerror
    linkageType: ''
    returnType: void
    signature: void test_percent_plus_escape (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: percent_data_escape
      Src: /src/gnupg/common/t-percent.c:206,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-percent.c:209,1
    - Dst: strerror
      Src: /src/gnupg/common/t-percent.c:209,1
    - Dst: exit
      Src: /src/gnupg/common/t-percent.c:210,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-percent.c:212,1
    - Dst: fail
      Src: /src/gnupg/common/t-percent.c:214,1
    - Dst: percent_plus_unescape_inplace
      Src: /src/gnupg/common/t-percent.c:216,1
    - Dst: strlen
      Src: /src/gnupg/common/t-percent.c:217,1
    - Dst: fail
      Src: /src/gnupg/common/t-percent.c:219,1
    - Dst: memcmp
      Src: /src/gnupg/common/t-percent.c:220,1
    - Dst: fail
      Src: /src/gnupg/common/t-percent.c:226,1
    - Dst: memcmp
      Src: /src/gnupg/common/t-percent.c:228,1
    - Dst: fail
      Src: /src/gnupg/common/t-percent.c:230,1
    - Dst: xfree
      Src: /src/gnupg/common/t-percent.c:232,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 234
    functionName: test_percent_data_escape
    functionSourceFile: /src/gnupg/common/t-percent.c
    functionUses: 0
    functionsReached:
    - percent_data_escape
    - fail
    - strlen
    - exit
    - fprintf
    - strcmp
    - memcmp
    - xfree
    - percent_plus_unescape_inplace
    - strerror
    linkageType: ''
    returnType: void
    signature: void test_percent_data_escape (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: percent_data_escape
      Src: /src/gnupg/common/t-percent.c:290,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-percent.c:293,1
    - Dst: strerror
      Src: /src/gnupg/common/t-percent.c:293,1
    - Dst: exit
      Src: /src/gnupg/common/t-percent.c:294,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-percent.c:296,1
    - Dst: fail
      Src: /src/gnupg/common/t-percent.c:298,1
    - Dst: percent_plus_unescape_inplace
      Src: /src/gnupg/common/t-percent.c:300,1
    - Dst: fail
      Src: /src/gnupg/common/t-percent.c:302,1
    - Dst: memcmp
      Src: /src/gnupg/common/t-percent.c:303,1
    - Dst: fail
      Src: /src/gnupg/common/t-percent.c:304,1
    - Dst: xfree
      Src: /src/gnupg/common/t-percent.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 307
    functionName: test_percent_data_escape_plus
    functionSourceFile: /src/gnupg/common/t-percent.c
    functionUses: 0
    functionsReached:
    - percent_data_escape
    - fail
    - exit
    - fprintf
    - strcmp
    - memcmp
    - xfree
    - percent_plus_unescape_inplace
    - strerror
    linkageType: ''
    returnType: void
    signature: void test_percent_data_escape_plus (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_percent_plus_escape
      Src: /src/gnupg/common/t-percent.c:317,1
    - Dst: test_percent_data_escape
      Src: /src/gnupg/common/t-percent.c:318,1
    - Dst: test_percent_data_escape_plus
      Src: /src/gnupg/common/t-percent.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 321
    functionName: main
    functionSourceFile: /src/gnupg/common/t-percent.c
    functionUses: 4
    functionsReached:
    - test_percent_data_escape
    - test_percent_data_escape_plus
    - test_percent_plus_escape
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/agent-opt.c:44,1
    - Dst: strcmp
      Src: /src/gnupg/common/agent-opt.c:44,1
    - Dst: strcmp
      Src: /src/gnupg/common/agent-opt.c:46,1
    - Dst: strcmp
      Src: /src/gnupg/common/agent-opt.c:48,1
    - Dst: strcmp
      Src: /src/gnupg/common/agent-opt.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: parse_pinentry_mode
    functionSourceFile: /src/gnupg/common/agent-opt.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int parse_pinentry_mode (const char *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - mode
    argTypes:
    - pinentry_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: str_pinentry_mode
    functionSourceFile: /src/gnupg/common/agent-opt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      str_pinentry_mode (pinentry_mode_t mode)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/agent-opt.c:81,1
    - Dst: strcmp
      Src: /src/gnupg/common/agent-opt.c:81,1
    - Dst: strcmp
      Src: /src/gnupg/common/agent-opt.c:83,1
    - Dst: strcmp
      Src: /src/gnupg/common/agent-opt.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: parse_request_origin
    functionSourceFile: /src/gnupg/common/agent-opt.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int parse_request_origin (const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - mode
    argTypes:
    - request_origin_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: str_request_origin
    functionSourceFile: /src/gnupg/common/agent-opt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      str_request_origin (request_origin_t mode)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/common/yesno.c:45,1
    - Dst: _
      Src: /src/gnupg/common/yesno.c:46,1
    - Dst: _
      Src: /src/gnupg/common/yesno.c:48,1
    - Dst: _
      Src: /src/gnupg/common/yesno.c:49,1
    - Dst: match_multistr
      Src: /src/gnupg/common/yesno.c:52,1
    - Dst: strchr
      Src: /src/gnupg/common/yesno.c:54,1
    - Dst: match_multistr
      Src: /src/gnupg/common/yesno.c:57,1
    - Dst: strchr
      Src: /src/gnupg/common/yesno.c:59,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/yesno.c:62,1
    - Dst: strchr
      Src: /src/gnupg/common/yesno.c:64,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 2
    argNames:
    - s
    - def_answer
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 67
    functionName: answer_is_yes_no_default
    functionSourceFile: /src/gnupg/common/yesno.c
    functionUses: 7
    functionsReached:
    - strchr
    - match_multistr
    - ascii_strcasecmp
    - _
    linkageType: ''
    returnType: int
    signature: int answer_is_yes_no_default (const char *s, int def_answer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: answer_is_yes_no_default
      Src: /src/gnupg/common/yesno.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: answer_is_yes
    functionSourceFile: /src/gnupg/common/yesno.c
    functionUses: 27
    functionsReached:
    - answer_is_yes_no_default
    linkageType: ''
    returnType: int
    signature: int answer_is_yes ( const char *s )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/common/yesno.c:82,1
    - Dst: _
      Src: /src/gnupg/common/yesno.c:84,1
    - Dst: _
      Src: /src/gnupg/common/yesno.c:86,1
    - Dst: _
      Src: /src/gnupg/common/yesno.c:87,1
    - Dst: _
      Src: /src/gnupg/common/yesno.c:88,1
    - Dst: _
      Src: /src/gnupg/common/yesno.c:89,1
    - Dst: match_multistr
      Src: /src/gnupg/common/yesno.c:92,1
    - Dst: match_multistr
      Src: /src/gnupg/common/yesno.c:94,1
    - Dst: match_multistr
      Src: /src/gnupg/common/yesno.c:96,1
    - Dst: strchr
      Src: /src/gnupg/common/yesno.c:98,1
    - Dst: strchr
      Src: /src/gnupg/common/yesno.c:100,1
    - Dst: strchr
      Src: /src/gnupg/common/yesno.c:102,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/yesno.c:105,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/yesno.c:107,1
    - Dst: strchr
      Src: /src/gnupg/common/yesno.c:109,1
    - Dst: strchr
      Src: /src/gnupg/common/yesno.c:111,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 114
    functionName: answer_is_yes_no_quit
    functionSourceFile: /src/gnupg/common/yesno.c
    functionUses: 1
    functionsReached:
    - strchr
    - match_multistr
    - ascii_strcasecmp
    - _
    linkageType: ''
    returnType: int
    signature: int answer_is_yes_no_quit ( const char *s )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/common/yesno.c:123,1
    - Dst: _
      Src: /src/gnupg/common/yesno.c:125,1
    - Dst: _
      Src: /src/gnupg/common/yesno.c:126,1
    - Dst: _
      Src: /src/gnupg/common/yesno.c:127,1
    - Dst: match_multistr
      Src: /src/gnupg/common/yesno.c:130,1
    - Dst: match_multistr
      Src: /src/gnupg/common/yesno.c:132,1
    - Dst: strchr
      Src: /src/gnupg/common/yesno.c:134,1
    - Dst: strchr
      Src: /src/gnupg/common/yesno.c:136,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/yesno.c:139,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/yesno.c:141,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/yesno.c:143,1
    - Dst: strchr
      Src: /src/gnupg/common/yesno.c:145,1
    - Dst: strchr
      Src: /src/gnupg/common/yesno.c:147,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 2
    argNames:
    - s
    - def_answer
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 150
    functionName: answer_is_okay_cancel
    functionSourceFile: /src/gnupg/common/yesno.c
    functionUses: 1
    functionsReached:
    - strchr
    - match_multistr
    - ascii_strcasecmp
    - _
    linkageType: ''
    returnType: int
    signature: int answer_is_okay_cancel (const char *s, int def_answer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: pass
    functionSourceFile: /src/gnupg/common/t-sysutils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: fail
    functionSourceFile: /src/gnupg/common/t-sysutils.c
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/t-sysutils.c:48,1
    - Dst: gnupg_tmpfile
      Src: /src/gnupg/common/t-sysutils.c:50,1
    - Dst: fail
      Src: /src/gnupg/common/t-sysutils.c:53,1
    - Dst: fputs
      Src: /src/gnupg/common/t-sysutils.c:56,1
    - Dst: rewind
      Src: /src/gnupg/common/t-sysutils.c:57,1
    - Dst: fgets
      Src: /src/gnupg/common/t-sysutils.c:58,1
    - Dst: fail
      Src: /src/gnupg/common/t-sysutils.c:59,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-sysutils.c:60,1
    - Dst: fail
      Src: /src/gnupg/common/t-sysutils.c:61,1
    - Dst: fgets
      Src: /src/gnupg/common/t-sysutils.c:62,1
    - Dst: fail
      Src: /src/gnupg/common/t-sysutils.c:63,1
    - Dst: fclose
      Src: /src/gnupg/common/t-sysutils.c:69,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 71
    functionName: test_gnupg_tmpfile
    functionSourceFile: /src/gnupg/common/t-sysutils.c
    functionUses: 0
    functionsReached:
    - fail
    - gnupg_tmpfile
    - fclose
    - DIM
    - strcmp
    - fputs
    - rewind
    - fgets
    linkageType: ''
    returnType: void
    signature: void test_gnupg_tmpfile (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/t-sysutils.c:78,1
    - Dst: test_gnupg_tmpfile
      Src: /src/gnupg/common/t-sysutils.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/gnupg/common/t-sysutils.c
    functionUses: 4
    functionsReached:
    - strcmp
    - test_gnupg_tmpfile
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: tohex_lower
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tohex_lower(n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/common/stringhelp.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: change_slashes
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      change_slashes (char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:97,1
    - Dst: strncmp
      Src: /src/gnupg/common/stringhelp.c:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - string
    - keyword
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: has_leading_keyword
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 23
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      has_leading_keyword (const char *string, const char *keyword)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/gnupg/common/stringhelp.c:126,1
    - Dst: toupper
      Src: /src/gnupg/common/stringhelp.c:126,1
    - Dst: toupper
      Src: /src/gnupg/common/stringhelp.c:129,1
    - Dst: toupper
      Src: /src/gnupg/common/stringhelp.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - buffer
    - buflen
    - sub
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 139
    functionName: memistr
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 5
    functionsReached:
    - toupper
    linkageType: ''
    returnType: char
    signature: 'char *

      memistr (const void *buffer, size_t buflen, const char *sub)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_toupper
      Src: /src/gnupg/common/stringhelp.c:151,1
    - Dst: ascii_toupper
      Src: /src/gnupg/common/stringhelp.c:151,1
    - Dst: ascii_toupper
      Src: /src/gnupg/common/stringhelp.c:154,1
    - Dst: ascii_toupper
      Src: /src/gnupg/common/stringhelp.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - buffer
    - buflen
    - sub
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 164
    functionName: ascii_memistr
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 4
    functionsReached:
    - ascii_toupper
    linkageType: ''
    returnType: char
    signature: 'char *

      ascii_memistr ( const void *buffer, size_t buflen, const char *sub )'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - buffer
    - buflen
    - sub
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 193
    functionName: gnupg_memstr
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_memstr (const void *buffer, size_t buflen, const char *sub)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/common/stringhelp.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: mem2str
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 26
    functionsReached:
    - xmalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      mem2str (char *dest, const void *src, size_t n)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/gnupg/common/stringhelp.c:234,1
    - Dst: isspace
      Src: /src/gnupg/common/stringhelp.c:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 248
    functionName: trim_spaces
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 52
    functionsReached:
    - isspace
    linkageType: ''
    returnType: char
    signature: 'char *

      trim_spaces( char *str )'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isspace
      Src: /src/gnupg/common/stringhelp.c:260,1
    - Dst: ascii_isspace
      Src: /src/gnupg/common/stringhelp.c:265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 277
    functionName: ascii_trim_spaces
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 1
    functionsReached:
    - ascii_isspace
    linkageType: ''
    returnType: char
    signature: 'char *

      ascii_trim_spaces (char *str)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/gnupg/common/stringhelp.c:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 300
    functionName: trim_trailing_spaces
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 7
    functionsReached:
    - isspace
    linkageType: ''
    returnType: char
    signature: 'char *

      trim_trailing_spaces( char *string )'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/common/stringhelp.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - line
    - len
    - trimchars
    argTypes:
    - byte*
    - unsigned
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 323
    functionName: trim_trailing_chars
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 2
    functionsReached:
    - strchr
    linkageType: ''
    returnType: unsigned
    signature: unsigned trim_trailing_chars( byte *line, unsigned len, const char
      *trimchars )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trim_trailing_chars
      Src: /src/gnupg/common/stringhelp.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - line
    - len
    argTypes:
    - byte*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: trim_trailing_ws
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 5
    functionsReached:
    - trim_trailing_chars
    linkageType: ''
    returnType: unsigned
    signature: unsigned trim_trailing_ws( byte *line, unsigned len )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/common/stringhelp.c:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - line
    - len
    - trimchars
    argTypes:
    - unsigned char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 355
    functionName: length_sans_trailing_chars
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: size_t
    signature: "size_t length_sans_trailing_chars (const unsigned char *line, size_t
      len,\n                            const char *trimchars )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length_sans_trailing_chars
      Src: /src/gnupg/common/stringhelp.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - line
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: length_sans_trailing_ws
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 2
    functionsReached:
    - length_sans_trailing_chars
    linkageType: ''
    returnType: size_t
    signature: size_t length_sans_trailing_ws (const unsigned char *line, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: riscos_make_basename
      Src: /src/gnupg/common/stringhelp.c:376,1
    - Dst: strrchr
      Src: /src/gnupg/common/stringhelp.c:382,1
    - Dst: strrchr
      Src: /src/gnupg/common/stringhelp.c:384,1
    - Dst: strrchr
      Src: /src/gnupg/common/stringhelp.c:387,1
    - Dst: xstrdup
      Src: /src/gnupg/common/stringhelp.c:390,1
    - Dst: xstrdup
      Src: /src/gnupg/common/stringhelp.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - filepath
    - inputpath
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 395
    functionName: make_basename
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 2
    functionsReached:
    - riscos_make_basename
    - xstrdup
    - strrchr
    linkageType: ''
    returnType: char
    signature: 'char *

      make_basename(const char *filepath, const char *inputpath)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/gnupg/common/stringhelp.c:411,1
    - Dst: strrchr
      Src: /src/gnupg/common/stringhelp.c:413,1
    - Dst: strrchr
      Src: /src/gnupg/common/stringhelp.c:416,1
    - Dst: xstrdup
      Src: /src/gnupg/common/stringhelp.c:419,1
    - Dst: xmalloc
      Src: /src/gnupg/common/stringhelp.c:423,1
    - Dst: strncpy
      Src: /src/gnupg/common/stringhelp.c:424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - filepath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 428
    functionName: make_dirname
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 1
    functionsReached:
    - xmalloc
    - strncpy
    - xstrdup
    - strrchr
    linkageType: ''
    returnType: char
    signature: 'char *

      make_dirname(const char *filepath)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getpwnam
      Src: /src/gnupg/common/stringhelp.c:443,1
    - Dst: getpwuid
      Src: /src/gnupg/common/stringhelp.c:450,1
    - Dst: getuid
      Src: /src/gnupg/common/stringhelp.c:450,1
    - Dst: xstrdup
      Src: /src/gnupg/common/stringhelp.c:456,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/stringhelp.c:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - xmode
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 466
    functionName: get_pwdir
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 0
    functionsReached:
    - getpwnam
    - xtrystrdup
    - getuid
    - xstrdup
    - getpwuid
    linkageType: ''
    returnType: char
    signature: 'char *

      get_pwdir (int xmode, const char *name)'
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:488,1
    - Dst: va_arg
      Src: /src/gnupg/common/stringhelp.c:490,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:492,1
    - Dst: DIM
      Src: /src/gnupg/common/stringhelp.c:493,1
    - Dst: BUG
      Src: /src/gnupg/common/stringhelp.c:496,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/stringhelp.c:497,1
    - Dst: getenv
      Src: /src/gnupg/common/stringhelp.c:510,1
    - Dst: get_pwdir
      Src: /src/gnupg/common/stringhelp.c:512,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:514,1
    - Dst: xstrdup
      Src: /src/gnupg/common/stringhelp.c:522,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/stringhelp.c:525,1
    - Dst: strchr
      Src: /src/gnupg/common/stringhelp.c:529,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:532,1
    - Dst: get_pwdir
      Src: /src/gnupg/common/stringhelp.c:534,1
    - Dst: xfree
      Src: /src/gnupg/common/stringhelp.c:535,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:537,1
    - Dst: xmalloc
      Src: /src/gnupg/common/stringhelp.c:544,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/stringhelp.c:547,1
    - Dst: xfree
      Src: /src/gnupg/common/stringhelp.c:550,1
    - Dst: stpcpy
      Src: /src/gnupg/common/stringhelp.c:556,1
    - Dst: stpcpy
      Src: /src/gnupg/common/stringhelp.c:556,1
    - Dst: stpcpy
      Src: /src/gnupg/common/stringhelp.c:558,1
    - Dst: xfree
      Src: /src/gnupg/common/stringhelp.c:560,1
    - Dst: stpcpy
      Src: /src/gnupg/common/stringhelp.c:565,1
    - Dst: stpcpy
      Src: /src/gnupg/common/stringhelp.c:567,1
    - Dst: stpcpy
      Src: /src/gnupg/common/stringhelp.c:567,1
    - Dst: strchr
      Src: /src/gnupg/common/stringhelp.c:573,1
    - Dst: gnupg_getcwd
      Src: /src/gnupg/common/stringhelp.c:587,1
    - Dst: fprintf
      Src: /src/gnupg/common/stringhelp.c:592,1
    - Dst: strerror
      Src: /src/gnupg/common/stringhelp.c:593,1
    - Dst: exit
      Src: /src/gnupg/common/stringhelp.c:594,1
    - Dst: xfree
      Src: /src/gnupg/common/stringhelp.c:596,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:599,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:599,1
    - Dst: xmalloc
      Src: /src/gnupg/common/stringhelp.c:601,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/stringhelp.c:604,1
    - Dst: xfree
      Src: /src/gnupg/common/stringhelp.c:607,1
    - Dst: xfree
      Src: /src/gnupg/common/stringhelp.c:608,1
    - Dst: memcpy
      Src: /src/gnupg/common/stringhelp.c:616,1
    - Dst: strcpy
      Src: /src/gnupg/common/stringhelp.c:622,1
    - Dst: stpcpy
      Src: /src/gnupg/common/stringhelp.c:622,1
    - Dst: strcpy
      Src: /src/gnupg/common/stringhelp.c:624,1
    - Dst: stpcpy
      Src: /src/gnupg/common/stringhelp.c:624,1
    - Dst: stpcpy
      Src: /src/gnupg/common/stringhelp.c:624,1
    - Dst: xfree
      Src: /src/gnupg/common/stringhelp.c:626,1
    - Dst: xfree
      Src: /src/gnupg/common/stringhelp.c:627,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:631,1
    - Dst: change_slashes
      Src: /src/gnupg/common/stringhelp.c:636,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 102
    argCount: 3
    argNames:
    - xmode
    - first_part
    - arg_ptr
    argTypes:
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 637
    functionName: do_make_filename
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 0
    functionsReached:
    - strlen
    - exit
    - BUG
    - xmalloc
    - xstrdup
    - memcpy
    - xtrymalloc
    - change_slashes
    - DIM
    - get_pwdir
    - fprintf
    - xtrystrdup
    - strchr
    - xfree
    - gnupg_getcwd
    - getenv
    - strcpy
    - gpg_err_set_errno
    - va_arg
    - stpcpy
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      do_make_filename (int xmode, const char *first_part, va_list arg_ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/common/stringhelp.c:648,1
    - Dst: do_make_filename
      Src: /src/gnupg/common/stringhelp.c:649,1
    - Dst: va_end
      Src: /src/gnupg/common/stringhelp.c:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - first_part
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 652
    functionName: make_filename
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 36
    functionsReached:
    - va_end
    - va_start
    - do_make_filename
    linkageType: ''
    returnType: char
    signature: 'char *

      make_filename (const char *first_part, ... )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/common/stringhelp.c:663,1
    - Dst: do_make_filename
      Src: /src/gnupg/common/stringhelp.c:664,1
    - Dst: va_end
      Src: /src/gnupg/common/stringhelp.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - first_part
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 667
    functionName: make_filename_try
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 14
    functionsReached:
    - va_end
    - va_start
    - do_make_filename
    linkageType: ''
    returnType: char
    signature: 'char *

      make_filename_try (const char *first_part, ... )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/common/stringhelp.c:678,1
    - Dst: do_make_filename
      Src: /src/gnupg/common/stringhelp.c:679,1
    - Dst: va_end
      Src: /src/gnupg/common/stringhelp.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - first_part
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 682
    functionName: make_absfilename
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 6
    functionsReached:
    - va_end
    - va_start
    - do_make_filename
    linkageType: ''
    returnType: char
    signature: 'char *

      make_absfilename (const char *first_part, ... )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/common/stringhelp.c:693,1
    - Dst: do_make_filename
      Src: /src/gnupg/common/stringhelp.c:694,1
    - Dst: va_end
      Src: /src/gnupg/common/stringhelp.c:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - first_part
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 697
    functionName: make_absfilename_try
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 3
    functionsReached:
    - va_end
    - va_start
    - do_make_filename
    linkageType: ''
    returnType: char
    signature: 'char *

      make_absfilename_try (const char *first_part, ... )'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/gnupg/common/stringhelp.c:713,1
    - Dst: toupper
      Src: /src/gnupg/common/stringhelp.c:714,1
    - Dst: toupper
      Src: /src/gnupg/common/stringhelp.c:721,1
    - Dst: toupper
      Src: /src/gnupg/common/stringhelp.c:722,1
    - Dst: strcmp
      Src: /src/gnupg/common/stringhelp.c:724,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 726
    functionName: compare_filenames
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 7
    functionsReached:
    - strcmp
    - toupper
    linkageType: ''
    returnType: int
    signature: int compare_filenames (const char *a, const char *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:733,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:734,1
    - Dst: memcmp
      Src: /src/gnupg/common/stringhelp.c:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - fname
    - suffix
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 741
    functionName: has_suffix
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 1
    functionsReached:
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int has_suffix (const char *fname, const char *suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/common/stringhelp.c:751,1
    - Dst: digitp
      Src: /src/gnupg/common/stringhelp.c:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 759
    functionName: string_to_u64
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 4
    functionsReached:
    - digitp
    - spacep
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t string_to_u64 (const char *string)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 787
    functionName: hextobyte
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hextobyte (const char *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 817
    functionName: utf8_charcount
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t utf8_charcount (const char *s, int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetLastError
      Src: /src/gnupg/common/stringhelp.c:831,1
    - Dst: FormatMessage
      Src: /src/gnupg/common/stringhelp.c:832,1
    - Dst: MAKELANGID
      Src: /src/gnupg/common/stringhelp.c:833,1
    - Dst: DIM
      Src: /src/gnupg/common/stringhelp.c:834,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ec
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 842
    functionName: w32_strerror
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 10
    functionsReached:
    - MAKELANGID
    - strlen
    - DIM
    - FormatMessage
    - GetLastError
    linkageType: ''
    returnType: char
    signature: 'char *

      w32_strerror (int ec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 854
    functionName: ascii_isupper
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ascii_isupper (int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 860
    functionName: ascii_islower
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ascii_islower (int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 868
    functionName: ascii_toupper
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ascii_toupper (int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 876
    functionName: ascii_tolower
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ascii_tolower (int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/gnupg/common/stringhelp.c:885,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 889
    functionName: ascii_strlwr
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 5
    functionsReached:
    - isascii
    linkageType: ''
    returnType: char
    signature: 'char *

      ascii_strlwr (char *s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/gnupg/common/stringhelp.c:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 902
    functionName: ascii_strupr
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 6
    functionsReached:
    - isascii
    linkageType: ''
    returnType: char
    signature: 'char *

      ascii_strupr (char *s)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_toupper
      Src: /src/gnupg/common/stringhelp.c:911,1
    - Dst: ascii_toupper
      Src: /src/gnupg/common/stringhelp.c:911,1
    - Dst: ascii_toupper
      Src: /src/gnupg/common/stringhelp.c:914,1
    - Dst: ascii_toupper
      Src: /src/gnupg/common/stringhelp.c:914,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 915
    functionName: ascii_strcasecmp
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 59
    functionsReached:
    - ascii_toupper
    linkageType: ''
    returnType: int
    signature: int ascii_strcasecmp( const char *a, const char *b )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_tolower
      Src: /src/gnupg/common/stringhelp.c:929,1
    - Dst: ascii_tolower
      Src: /src/gnupg/common/stringhelp.c:930,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 941
    functionName: ascii_strncasecmp
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 12
    functionsReached:
    - ascii_tolower
    linkageType: ''
    returnType: int
    signature: int ascii_strncasecmp (const char *a, const char *b, size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_toupper
      Src: /src/gnupg/common/stringhelp.c:954,1
    - Dst: ascii_toupper
      Src: /src/gnupg/common/stringhelp.c:954,1
    - Dst: ascii_toupper
      Src: /src/gnupg/common/stringhelp.c:955,1
    - Dst: ascii_toupper
      Src: /src/gnupg/common/stringhelp.c:955,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - a_arg
    - b_arg
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 958
    functionName: ascii_memcasecmp
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 4
    functionsReached:
    - ascii_toupper
    linkageType: ''
    returnType: int
    signature: int ascii_memcasecmp (const void *a_arg, const void *b_arg, size_t
      n )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 971
    functionName: ascii_strcmp
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ascii_strcmp( const char *a, const char *b )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_memcasecmp
      Src: /src/gnupg/common/stringhelp.c:988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - haystack
    - nhaystack
    - needle
    - nneedle
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 993
    functionName: ascii_memcasemem
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 0
    functionsReached:
    - ascii_memcasecmp
    linkageType: ''
    returnType: void
    signature: "void *\nascii_memcasemem (const void *haystack, size_t nhaystack,\n
      \                 const void *needle, size_t nneedle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1008
    functionName: stpcpy
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      stpcpy(char *a,const char *b)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - accept
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1027
    functionName: strpbrk
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      strpbrk (const char *s, const char *accept)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/common/stringhelp.c:1058,1
    - Dst: strpbrk
      Src: /src/gnupg/common/stringhelp.c:1063,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - stringp
    - delim
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1076
    functionName: strsep
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 8
    functionsReached:
    - strpbrk
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      strsep (char **stringp, const char *delim)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/gnupg/common/stringhelp.c:1086,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1088
    functionName: strlwr
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 9
    functionsReached:
    - tolower
    linkageType: ''
    returnType: char
    signature: 'char *

      strlwr(char *s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/gnupg/common/stringhelp.c:1097,1
    - Dst: toupper
      Src: /src/gnupg/common/stringhelp.c:1097,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1101
    functionName: strcasecmp
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 66
    functionsReached:
    - toupper
    linkageType: ''
    returnType: int
    signature: int strcasecmp( const char *a, const char *b )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/gnupg/common/stringhelp.c:1113,1
    - Dst: toupper
      Src: /src/gnupg/common/stringhelp.c:1113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1116
    functionName: memicmp
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 1
    functionsReached:
    - toupper
    linkageType: ''
    returnType: int
    signature: int memicmp( const char *a, const char *b, size_t n )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - c
    - n
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1130
    functionName: memrchr
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      memrchr (const void *buffer, int c, size_t n)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/common/stringhelp.c:1147,1
    - Dst: xmalloc
      Src: /src/gnupg/common/stringhelp.c:1150,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/stringhelp.c:1153,1
    - Dst: strchr
      Src: /src/gnupg/common/stringhelp.c:1179,1
    - Dst: tohex_lower
      Src: /src/gnupg/common/stringhelp.c:1182,1
    - Dst: tohex_lower
      Src: /src/gnupg/common/stringhelp.c:1183,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - str
    - extra
    - die
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1136
    functionDepth: 1
    functionLinenumber: 1136
    functionLinenumberEnd: 1192
    functionName: do_percent_escape
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - strchr
    - tohex_lower
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      do_percent_escape (const char *str, const char *extra, int die)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_percent_escape
      Src: /src/gnupg/common/stringhelp.c:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - extra
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1197
    functionDepth: 2
    functionLinenumber: 1197
    functionLinenumberEnd: 1201
    functionName: percent_escape
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 12
    functionsReached:
    - do_percent_escape
    linkageType: ''
    returnType: char
    signature: 'char *

      percent_escape (const char *str, const char *extra)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_percent_escape
      Src: /src/gnupg/common/stringhelp.c:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - extra
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1205
    functionDepth: 2
    functionLinenumber: 1205
    functionLinenumberEnd: 1209
    functionName: try_percent_escape
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 0
    functionsReached:
    - do_percent_escape
    linkageType: ''
    returnType: char
    signature: 'char *

      try_percent_escape (const char *str, const char *extra)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:1224,1
    - Dst: va_arg
      Src: /src/gnupg/common/stringhelp.c:1225,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:1227,1
    - Dst: DIM
      Src: /src/gnupg/common/stringhelp.c:1228,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/stringhelp.c:1230,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/stringhelp.c:1236,1
    - Dst: stpcpy
      Src: /src/gnupg/common/stringhelp.c:1240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - s1
    - arg_ptr
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1243
    functionName: vstrconcat
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 1
    functionsReached:
    - strlen
    - DIM
    - gpg_err_set_errno
    - va_arg
    - stpcpy
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      vstrconcat (const char *s1, va_list arg_ptr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/common/stringhelp.c:1256,1
    - Dst: va_start
      Src: /src/gnupg/common/stringhelp.c:1259,1
    - Dst: vstrconcat
      Src: /src/gnupg/common/stringhelp.c:1260,1
    - Dst: va_end
      Src: /src/gnupg/common/stringhelp.c:1261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s1
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1264
    functionName: strconcat
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 55
    functionsReached:
    - xtrystrdup
    - va_end
    - vstrconcat
    - va_start
    linkageType: ''
    returnType: char
    signature: 'char *

      strconcat (const char *s1, ...)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnupg/common/stringhelp.c:1275,1
    - Dst: va_start
      Src: /src/gnupg/common/stringhelp.c:1278,1
    - Dst: vstrconcat
      Src: /src/gnupg/common/stringhelp.c:1279,1
    - Dst: va_end
      Src: /src/gnupg/common/stringhelp.c:1280,1
    - Dst: fputs
      Src: /src/gnupg/common/stringhelp.c:1285,1
    - Dst: fputs
      Src: /src/gnupg/common/stringhelp.c:1287,1
    - Dst: exit
      Src: /src/gnupg/common/stringhelp.c:1288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - s1
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1291
    functionName: xstrconcat
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 41
    functionsReached:
    - vstrconcat
    - va_end
    - xstrdup
    - exit
    - fputs
    - va_start
    linkageType: ''
    returnType: char
    signature: 'char *

      xstrconcat (const char *s1, ...)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/common/stringhelp.c:1308,1
    - Dst: strchr
      Src: /src/gnupg/common/stringhelp.c:1308,1
    - Dst: xtrycalloc
      Src: /src/gnupg/common/stringhelp.c:1311,1
    - Dst: strchr
      Src: /src/gnupg/common/stringhelp.c:1317,1
    - Dst: strchr
      Src: /src/gnupg/common/stringhelp.c:1317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1327
    functionName: strsplit
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 2
    functionsReached:
    - strchr
    - xtrycalloc
    linkageType: ''
    returnType: char
    signature: 'char **

      strsplit (char *string, char delim, char replacement, int *count)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/gnupg/common/stringhelp.c:1348,1
    - Dst: strpbrk
      Src: /src/gnupg/common/stringhelp.c:1348,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/stringhelp.c:1357,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:1360,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/stringhelp.c:1364,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/stringhelp.c:1367,1
    - Dst: strcpy
      Src: /src/gnupg/common/stringhelp.c:1373,1
    - Dst: strpbrk
      Src: /src/gnupg/common/stringhelp.c:1374,1
    - Dst: spacep
      Src: /src/gnupg/common/stringhelp.c:1379,1
    - Dst: spacep
      Src: /src/gnupg/common/stringhelp.c:1381,1
    - Dst: spacep
      Src: /src/gnupg/common/stringhelp.c:1388,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:1390,1
    - Dst: spacep
      Src: /src/gnupg/common/stringhelp.c:1390,1
    - Dst: log_assert
      Src: /src/gnupg/common/stringhelp.c:1396,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1399
    functionName: do_strtokenize
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 0
    functionsReached:
    - strpbrk
    - strlen
    - log_assert
    - spacep
    - strcpy
    - gpg_err_set_errno
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char **

      do_strtokenize (const char *string, const char *delim, int trim)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_strtokenize
      Src: /src/gnupg/common/stringhelp.c:1411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1408
    functionDepth: 2
    functionLinenumber: 1408
    functionLinenumberEnd: 1412
    functionName: strtokenize
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 12
    functionsReached:
    - do_strtokenize
    linkageType: ''
    returnType: char
    signature: 'char **

      strtokenize (const char *string, const char *delim)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_strtokenize
      Src: /src/gnupg/common/stringhelp.c:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1416
    functionDepth: 2
    functionLinenumber: 1416
    functionLinenumberEnd: 1420
    functionName: strtokenize_nt
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 3
    functionsReached:
    - do_strtokenize
    linkageType: ''
    returnType: char
    signature: 'char **

      strtokenize_nt (const char *string, const char *delim)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/common/stringhelp.c:1449,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - string
    - array
    - arraysize
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1459
    functionName: split_fields
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 15
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int split_fields (char *string, const char **array, int arraysize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/common/stringhelp.c:1487,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - string
    - array
    - arraysize
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1496
    functionName: split_fields_colon
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 6
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int split_fields_colon (char *string, const char **array, int arraysize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/common/stringhelp.c:1511,1
    - Dst: digitp
      Src: /src/gnupg/common/stringhelp.c:1513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s
    - number
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1520
    functionName: parse_version_number
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 1
    functionsReached:
    - digitp
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_version_number (const char *s, int *number)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parse_version_number
      Src: /src/gnupg/common/stringhelp.c:1534,1
    - Dst: parse_version_number
      Src: /src/gnupg/common/stringhelp.c:1538,1
    - Dst: parse_version_number
      Src: /src/gnupg/common/stringhelp.c:1544,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - s
    - major
    - minor
    - micro
    argTypes:
    - char*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1551
    functionName: parse_version_string
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 1
    functionsReached:
    - parse_version_number
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_version_string (const char *s, int *major, int *minor, int *micro)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: parse_version_string
      Src: /src/gnupg/common/stringhelp.c:1573,1
    - Dst: parse_version_string
      Src: /src/gnupg/common/stringhelp.c:1578,1
    - Dst: strcmp
      Src: /src/gnupg/common/stringhelp.c:1587,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - my_version
    - req_version
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1598
    functionName: compare_version_strings
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 3
    functionsReached:
    - parse_version_string
    - strcmp
    linkageType: ''
    returnType: int
    signature: int compare_version_strings (const char *my_version, const char *req_version)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/common/stringhelp.c:1621,1
    - Dst: strcspn
      Src: /src/gnupg/common/stringhelp.c:1631,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:1634,1
    - Dst: utf8_charcount
      Src: /src/gnupg/common/stringhelp.c:1649,1
    - Dst: memmove
      Src: /src/gnupg/common/stringhelp.c:1719,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:1719,1
    - Dst: trim_trailing_chars
      Src: /src/gnupg/common/stringhelp.c:1729,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:1729,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:1731,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:1732,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 3
    argNames:
    - text_in
    - target_cols
    - max_cols
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1606
    functionDepth: 1
    functionLinenumber: 1606
    functionLinenumberEnd: 1735
    functionName: format_text
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 5
    functionsReached:
    - memmove
    - utf8_charcount
    - strlen
    - strcspn
    - xtrystrdup
    - trim_trailing_chars
    linkageType: ''
    returnType: char
    signature: 'char *

      format_text (const char *text_in, int target_cols, int max_cols)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:1749,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:1750,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:1751,1
    - Dst: strstr
      Src: /src/gnupg/common/stringhelp.c:1753,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/stringhelp.c:1754,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/stringhelp.c:1757,1
    - Dst: memcpy
      Src: /src/gnupg/common/stringhelp.c:1760,1
    - Dst: memcpy
      Src: /src/gnupg/common/stringhelp.c:1761,1
    - Dst: strcpy
      Src: /src/gnupg/common/stringhelp.c:1762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - string
    - substr
    - replace
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1766
    functionName: replace_substr
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 2
    functionsReached:
    - strstr
    - strlen
    - xtrystrdup
    - strcpy
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      replace_substr (const char *string, const char *substr, const char *replace)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/common/stringhelp.c:1785,1
    - Dst: strchr
      Src: /src/gnupg/common/stringhelp.c:1791,1
    - Dst: memmove
      Src: /src/gnupg/common/stringhelp.c:1797,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:1797,1
    - Dst: alnump
      Src: /src/gnupg/common/stringhelp.c:1821,1
    - Dst: getval
      Src: /src/gnupg/common/stringhelp.c:1829,1
    - Dst: getval
      Src: /src/gnupg/common/stringhelp.c:1836,1
    - Dst: xfree
      Src: /src/gnupg/common/stringhelp.c:1842,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:1845,1
    - Dst: memcpy
      Src: /src/gnupg/common/stringhelp.c:1848,1
    - Dst: memmove
      Src: /src/gnupg/common/stringhelp.c:1852,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:1852,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/stringhelp.c:1860,1
    - Dst: strlen
      Src: /src/gnupg/common/stringhelp.c:1860,1
    - Dst: xfree
      Src: /src/gnupg/common/stringhelp.c:1863,1
    - Dst: memcpy
      Src: /src/gnupg/common/stringhelp.c:1867,1
    - Dst: memcpy
      Src: /src/gnupg/common/stringhelp.c:1868,1
    - Dst: strcpy
      Src: /src/gnupg/common/stringhelp.c:1870,1
    - Dst: xfree
      Src: /src/gnupg/common/stringhelp.c:1872,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 3
    argNames:
    - string
    - (*getval)(void *cookie, const char *name)
    - cookie
    argTypes:
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1879
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1879
    functionName: substitute_vars
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 1
    functionsReached:
    - memmove
    - xtrymalloc
    - strlen
    - getval
    - alnump
    - xtrystrdup
    - strchr
    - xfree
    - strcpy
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *\nsubstitute_vars (const char *string,\n                 const
      char *(*getval)(void *cookie, const char *name),\n                 void *cookie)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/common/stringhelp.c:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cookie
    - name
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1892
    functionName: subst_getenv
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 0
    functionsReached:
    - getenv
    linkageType: ''
    returnType: char
    signature: 'char *

      subst_getenv (void *cookie, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: substitute_vars
      Src: /src/gnupg/common/stringhelp.c:1900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1902
    functionName: substitute_envvars
    functionSourceFile: /src/gnupg/common/stringhelp.c
    functionUses: 3
    functionsReached:
    - substitute_vars
    linkageType: ''
    returnType: char
    signature: 'char *

      substitute_envvars (const char *string)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/t-zb32.c:91,1
    - Dst: zb32_encode
      Src: /src/gnupg/common/t-zb32.c:93,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-zb32.c:96,1
    - Dst: strerror
      Src: /src/gnupg/common/t-zb32.c:97,1
    - Dst: exit
      Src: /src/gnupg/common/t-zb32.c:98,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-zb32.c:101,1
    - Dst: fail
      Src: /src/gnupg/common/t-zb32.c:102,1
    - Dst: xfree
      Src: /src/gnupg/common/t-zb32.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 105
    functionName: test_zb32enc
    functionSourceFile: /src/gnupg/common/t-zb32.c
    functionUses: 0
    functionsReached:
    - zb32_encode
    - fail
    - DIM
    - exit
    - fprintf
    - strcmp
    - xfree
    - strerror
    linkageType: ''
    returnType: void
    signature: void test_zb32enc (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: setmode
      Src: /src/gnupg/common/t-zb32.c:124,1
    - Dst: fileno
      Src: /src/gnupg/common/t-zb32.c:124,1
    - Dst: xmalloc
      Src: /src/gnupg/common/t-zb32.c:133,1
    - Dst: xrealloc
      Src: /src/gnupg/common/t-zb32.c:135,1
    - Dst: fread
      Src: /src/gnupg/common/t-zb32.c:137,1
    - Dst: ferror
      Src: /src/gnupg/common/t-zb32.c:138,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-zb32.c:140,1
    - Dst: strerror
      Src: /src/gnupg/common/t-zb32.c:141,1
    - Dst: xfree
      Src: /src/gnupg/common/t-zb32.c:142,1
    - Dst: fopen
      Src: /src/gnupg/common/t-zb32.c:155,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-zb32.c:158,1
    - Dst: strerror
      Src: /src/gnupg/common/t-zb32.c:159,1
    - Dst: fstat
      Src: /src/gnupg/common/t-zb32.c:163,1
    - Dst: fileno
      Src: /src/gnupg/common/t-zb32.c:163,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-zb32.c:165,1
    - Dst: strerror
      Src: /src/gnupg/common/t-zb32.c:166,1
    - Dst: fclose
      Src: /src/gnupg/common/t-zb32.c:167,1
    - Dst: xmalloc
      Src: /src/gnupg/common/t-zb32.c:172,1
    - Dst: fread
      Src: /src/gnupg/common/t-zb32.c:173,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-zb32.c:175,1
    - Dst: strerror
      Src: /src/gnupg/common/t-zb32.c:176,1
    - Dst: fclose
      Src: /src/gnupg/common/t-zb32.c:177,1
    - Dst: xfree
      Src: /src/gnupg/common/t-zb32.c:178,1
    - Dst: fclose
      Src: /src/gnupg/common/t-zb32.c:181,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - fname
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 186
    functionName: read_file
    functionSourceFile: /src/gnupg/common/t-zb32.c
    functionUses: 2
    functionsReached:
    - fclose
    - fileno
    - xrealloc
    - xmalloc
    - fprintf
    - fstat
    - xfree
    - fopen
    - setmode
    - fread
    - strerror
    - ferror
    linkageType: ''
    returnType: char
    signature: 'char *

      read_file (const char *fname, size_t *r_length)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/common/t-zb32.c:199,1
    - Dst: setmode
      Src: /src/gnupg/common/t-zb32.c:206,1
    - Dst: fileno
      Src: /src/gnupg/common/t-zb32.c:206,1
    - Dst: read_file
      Src: /src/gnupg/common/t-zb32.c:210,1
    - Dst: zb32_encode
      Src: /src/gnupg/common/t-zb32.c:217,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-zb32.c:220,1
    - Dst: strerror
      Src: /src/gnupg/common/t-zb32.c:220,1
    - Dst: xfree
      Src: /src/gnupg/common/t-zb32.c:222,1
    - Dst: fputs
      Src: /src/gnupg/common/t-zb32.c:226,1
    - Dst: putchar
      Src: /src/gnupg/common/t-zb32.c:227,1
    - Dst: xfree
      Src: /src/gnupg/common/t-zb32.c:229,1
    - Dst: xfree
      Src: /src/gnupg/common/t-zb32.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - fname
    - decode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 231
    functionName: endecode_file
    functionSourceFile: /src/gnupg/common/t-zb32.c
    functionUses: 0
    functionsReached:
    - zb32_encode
    - read_file
    - fileno
    - fprintf
    - xfree
    - setmode
    - fputs
    - strerror
    - putchar
    linkageType: ''
    returnType: void
    signature: void endecode_file (const char *fname, int decode)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/t-zb32.c:247,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-zb32.c:252,1
    - Dst: fputs
      Src: /src/gnupg/common/t-zb32.c:254,1
    - Dst: exit
      Src: /src/gnupg/common/t-zb32.c:261,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-zb32.c:263,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-zb32.c:268,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-zb32.c:274,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-zb32.c:279,1
    - Dst: strncmp
      Src: /src/gnupg/common/t-zb32.c:284,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-zb32.c:286,1
    - Dst: exit
      Src: /src/gnupg/common/t-zb32.c:287,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-zb32.c:293,1
    - Dst: exit
      Src: /src/gnupg/common/t-zb32.c:294,1
    - Dst: endecode_file
      Src: /src/gnupg/common/t-zb32.c:299,1
    - Dst: test_zb32enc
      Src: /src/gnupg/common/t-zb32.c:302,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 305
    functionName: main
    functionSourceFile: /src/gnupg/common/t-zb32.c
    functionUses: 4
    functionsReached:
    - test_zb32enc
    - endecode_file
    - exit
    - strcmp
    - fprintf
    - fputs
    - strncmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/common/sexputil.c:61,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/sexputil.c:64,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/common/sexputil.c:67,1
    - Dst: BUG
      Src: /src/gnupg/common/sexputil.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - sexp
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: sexp_to_string
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 1
    functionsReached:
    - BUG
    - xtrymalloc
    - gcry_sexp_sprint
    linkageType: ''
    returnType: char
    signature: 'char *

      sexp_to_string (gcry_sexp_t sexp)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/common/sexputil.c:84,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/common/sexputil.c:87,1
    - Dst: sexp_to_string
      Src: /src/gnupg/common/sexputil.c:89,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/sexputil.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - canon
    - canonlen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: canon_sexp_to_string
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 1
    functionsReached:
    - sexp_to_string
    - gcry_sexp_release
    - gcry_sexp_canon_len
    - gcry_sexp_sscan
    linkageType: ''
    returnType: char
    signature: 'char *

      canon_sexp_to_string (const unsigned char *canon, size_t canonlen)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/common/sexputil.c:104,1
    - Dst: canon_sexp_to_string
      Src: /src/gnupg/common/sexputil.c:107,1
    - Dst: log_printf
      Src: /src/gnupg/common/sexputil.c:108,1
    - Dst: xfree
      Src: /src/gnupg/common/sexputil.c:109,1
    - Dst: log_printf
      Src: /src/gnupg/common/sexputil.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - text
    - sexp
    - sexplen
    argTypes:
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: log_printcanon
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 0
    functionsReached:
    - log_printf
    - xfree
    - canon_sexp_to_string
    - log_debug
    linkageType: ''
    returnType: void
    signature: void log_printcanon (const char *text, const unsigned char *sexp, size_t
      sexplen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/common/sexputil.c:124,1
    - Dst: sexp_to_string
      Src: /src/gnupg/common/sexputil.c:127,1
    - Dst: log_printf
      Src: /src/gnupg/common/sexputil.c:128,1
    - Dst: xfree
      Src: /src/gnupg/common/sexputil.c:129,1
    - Dst: log_printf
      Src: /src/gnupg/common/sexputil.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - text
    - sexp
    argTypes:
    - char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: log_printsexp
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 0
    functionsReached:
    - sexp_to_string
    - log_printf
    - xfree
    - log_debug
    linkageType: ''
    returnType: void
    signature: void log_printsexp (const char *text, gcry_sexp_t sexp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/common/sexputil.c:153,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:155,1
    - Dst: gcry_is_secure
      Src: /src/gnupg/common/sexputil.c:156,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/common/sexputil.c:156,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/sexputil.c:156,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/sexputil.c:158,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/common/sexputil.c:159,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - sexp
    - r_buffer
    - r_buflen
    argTypes:
    - gcry_sexp_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 168
    functionName: make_canon_sexp
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 2
    functionsReached:
    - gpg_error_from_syserror
    - xtrymalloc_secure
    - gpg_error
    - gcry_is_secure
    - gcry_sexp_sprint
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t make_canon_sexp (gcry_sexp_t sexp, unsigned char **r_buffer,
      size_t *r_buflen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/common/sexputil.c:184,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:186,1
    - Dst: xtrycalloc_secure
      Src: /src/gnupg/common/sexputil.c:188,1
    - Dst: xtrycalloc
      Src: /src/gnupg/common/sexputil.c:188,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/sexputil.c:190,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/common/sexputil.c:191,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - sexp
    - secure
    - r_buffer
    - r_buflen
    argTypes:
    - gcry_sexp_t
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 199
    functionName: make_canon_sexp_pad
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 1
    functionsReached:
    - xtrycalloc_secure
    - gpg_error_from_syserror
    - gpg_error
    - xtrycalloc
    - gcry_sexp_sprint
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t make_canon_sexp_pad (gcry_sexp_t sexp, int secure,\n                     unsigned
      char **r_buffer, size_t *r_buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:217,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/common/sexputil.c:218,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/common/sexputil.c:221,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:222,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/sexputil.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - key
    - keylen
    - grip
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 225
    functionName: keygrip_from_canon_sexp
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - gcry_pk_get_keygrip
    - gcry_sexp_release
    - gcry_sexp_sscan
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keygrip_from_canon_sexp (const unsigned char *key, size_t
      keylen,\n                         unsigned char *grip)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/gnupg/common/sexputil.c:245,1
    - Dst: strtoul
      Src: /src/gnupg/common/sexputil.c:248,1
    - Dst: strtoul
      Src: /src/gnupg/common/sexputil.c:251,1
    - Dst: log_bug
      Src: /src/gnupg/common/sexputil.c:255,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - a_orig
    - b_orig
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 263
    functionName: cmp_simple_canon_sexp
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 0
    functionsReached:
    - log_bug
    - strtoul
    linkageType: ''
    returnType: int
    signature: "int cmp_simple_canon_sexp (const unsigned char *a_orig,\n                       const
      unsigned char *b_orig)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/common/sexputil.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - ctx
    - depth
    - aval
    - alen
    - bval
    - blen
    argTypes:
    - void*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 282
    functionName: cmp_canon_sexp_def_tcmp
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int cmp_canon_sexp_def_tcmp (void *ctx, int depth,\n                         const
      unsigned char *aval, size_t alen,\n                         const unsigned char
      *bval, size_t blen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/gnupg/common/sexputil.c:320,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:334,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:336,1
    - Dst: tcmp
      Src: /src/gnupg/common/sexputil.c:346,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 5
    argNames:
    - a
    - alen
    - b
    - blen
    - tcmpctx
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 353
    functionName: cmp_canon_sexp
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 0
    functionsReached:
    - log_bug
    - tcmp
    - parse_sexp
    linkageType: ''
    returnType: int
    signature: "int cmp_canon_sexp (const unsigned char *a, size_t alen,\n                const
      unsigned char *b, size_t blen,\n                int (*tcmp)(void *ctx, int depth,\n
      \                           const unsigned char *aval, size_t avallen,\n                            const
      unsigned char *bval, size_t bvallen),\n                void *tcmpctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/common/sexputil.c:373,1
    - Dst: smklen
      Src: /src/gnupg/common/sexputil.c:380,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/sexputil.c:381,1
    - Dst: stpcpy
      Src: /src/gnupg/common/sexputil.c:385,1
    - Dst: xtoi_1
      Src: /src/gnupg/common/sexputil.c:389,1
    - Dst: xtoi_2
      Src: /src/gnupg/common/sexputil.c:394,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - line
    - nscanned
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 399
    functionName: make_simple_sexp_from_hexstr
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - xtoi_1
    - stpcpy
    - smklen
    - xtrymalloc
    - xtoi_2
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      make_simple_sexp_from_hexstr (const char *line, size_t *nscanned)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: snext
      Src: /src/gnupg/common/sexputil.c:416,1
    - Dst: smatch
      Src: /src/gnupg/common/sexputil.c:419,1
    - Dst: sskip
      Src: /src/gnupg/common/sexputil.c:426,1
    - Dst: snext
      Src: /src/gnupg/common/sexputil.c:432,1
    - Dst: smatch
      Src: /src/gnupg/common/sexputil.c:435,1
    - Dst: snext
      Src: /src/gnupg/common/sexputil.c:437,1
    - Dst: memcpy
      Src: /src/gnupg/common/sexputil.c:440,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/common/sexputil.c:443,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - sigval
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 444
    functionName: hash_algo_from_sigval
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 0
    functionsReached:
    - smatch
    - gcry_md_map_name
    - sskip
    - memcpy
    - snext
    linkageType: ''
    returnType: int
    signature: int hash_algo_from_sigval (const unsigned char *sigval)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/common/sexputil.c:482,1
    - Dst: snprintf
      Src: /src/gnupg/common/sexputil.c:483,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/sexputil.c:485,1
    - Dst: strlen
      Src: /src/gnupg/common/sexputil.c:485,1
    - Dst: strlen
      Src: /src/gnupg/common/sexputil.c:485,1
    - Dst: strlen
      Src: /src/gnupg/common/sexputil.c:486,1
    - Dst: strlen
      Src: /src/gnupg/common/sexputil.c:486,1
    - Dst: strlen
      Src: /src/gnupg/common/sexputil.c:487,1
    - Dst: stpcpy
      Src: /src/gnupg/common/sexputil.c:491,1
    - Dst: stpcpy
      Src: /src/gnupg/common/sexputil.c:492,1
    - Dst: memcpy
      Src: /src/gnupg/common/sexputil.c:495,1
    - Dst: stpcpy
      Src: /src/gnupg/common/sexputil.c:497,1
    - Dst: stpcpy
      Src: /src/gnupg/common/sexputil.c:498,1
    - Dst: memcpy
      Src: /src/gnupg/common/sexputil.c:501,1
    - Dst: stpcpy
      Src: /src/gnupg/common/sexputil.c:503,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 5
    argNames:
    - m_arg
    - mlen
    - e_arg
    - elen
    - r_len
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 509
    functionName: make_canon_sexp_from_rsa_pk
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - memcpy
    - stpcpy
    - xtrymalloc
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\nmake_canon_sexp_from_rsa_pk (const void *m_arg, size_t
      mlen,\n                             const void *e_arg, size_t elen,\n                             size_t
      *r_len)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:535,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:537,1
    - Dst: memcmp
      Src: /src/gnupg/common/sexputil.c:539,1
    - Dst: memcmp
      Src: /src/gnupg/common/sexputil.c:540,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:541,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:542,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:544,1
    - Dst: memcmp
      Src: /src/gnupg/common/sexputil.c:546,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:547,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:550,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:554,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:555,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:569,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:571,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:585,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:596,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 67
    argCount: 6
    argNames:
    - keydata
    - keydatalen
    - r_n
    - r_nlen
    - r_e
    - r_elen
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 603
    functionName: get_rsa_pk_from_canon_sexp
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - memcmp
    - parse_sexp
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_rsa_pk_from_canon_sexp (const unsigned char *keydata,
      size_t keydatalen,\n                            unsigned char const **r_n, size_t
      *r_nlen,\n                            unsigned char const **r_e, size_t *r_elen)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:625,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:627,1
    - Dst: memcmp
      Src: /src/gnupg/common/sexputil.c:629,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:630,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:631,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:633,1
    - Dst: memcmp
      Src: /src/gnupg/common/sexputil.c:635,1
    - Dst: memcmp
      Src: /src/gnupg/common/sexputil.c:637,1
    - Dst: memcmp
      Src: /src/gnupg/common/sexputil.c:638,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:641,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:644,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:648,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:649,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:662,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:664,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:675,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:686,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 60
    argCount: 4
    argNames:
    - keydata
    - keydatalen
    - r_q
    - r_qlen
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 691
    functionName: get_ecc_q_from_canon_sexp
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - memcmp
    - parse_sexp
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_ecc_q_from_canon_sexp (const unsigned char *keydata,
      size_t keydatalen,\n                           unsigned char const **r_q, size_t
      *r_qlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mpi_get_nbits
      Src: /src/gnupg/common/sexputil.c:702,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/sexputil.c:709,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/sexputil.c:711,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/common/sexputil.c:714,1
    - Dst: xfree
      Src: /src/gnupg/common/sexputil.c:717,1
    - Dst: memmove
      Src: /src/gnupg/common/sexputil.c:722,1
    - Dst: memset
      Src: /src/gnupg/common/sexputil.c:723,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/common/sexputil.c:726,1
    - Dst: xfree
      Src: /src/gnupg/common/sexputil.c:729,1
    - Dst: memmove
      Src: /src/gnupg/common/sexputil.c:734,1
    - Dst: memset
      Src: /src/gnupg/common/sexputil.c:735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 5
    argNames:
    - x
    - y
    - p
    - r_buf
    - r_buflen
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 741
    functionName: ec2os
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 0
    functionsReached:
    - memmove
    - gpg_error_from_syserror
    - gcry_mpi_print
    - xfree
    - memset
    - xtrymalloc
    - mpi_get_nbits
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ec2os (gcry_mpi_t x, gcry_mpi_t y, gcry_mpi_t p,\n       unsigned
      char **r_buf, unsigned int *r_buflen)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:781,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:783,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:786,1
    - Dst: memcmp
      Src: /src/gnupg/common/sexputil.c:787,1
    - Dst: memcmp
      Src: /src/gnupg/common/sexputil.c:789,1
    - Dst: memcmp
      Src: /src/gnupg/common/sexputil.c:791,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:794,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:796,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:798,1
    - Dst: memcmp
      Src: /src/gnupg/common/sexputil.c:801,1
    - Dst: memcmp
      Src: /src/gnupg/common/sexputil.c:803,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:811,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:815,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:816,1
    - Dst: memcmp
      Src: /src/gnupg/common/sexputil.c:823,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:834,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:849,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/common/sexputil.c:857,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/sexputil.c:864,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:865,1
    - Dst: parse_sexp
      Src: /src/gnupg/common/sexputil.c:869,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/sexputil.c:871,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/sexputil.c:881,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:882,1
    - Dst: mem2str
      Src: /src/gnupg/common/sexputil.c:884,1
    - Dst: gcry_pk_get_param
      Src: /src/gnupg/common/sexputil.c:885,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/sexputil.c:888,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:889,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/common/sexputil.c:892,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/sexputil.c:893,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/sexputil.c:896,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:897,1
    - Dst: mpi_test_bit
      Src: /src/gnupg/common/sexputil.c:901,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/sexputil.c:904,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/sexputil.c:905,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/sexputil.c:906,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/sexputil.c:907,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sexputil.c:908,1
    - Dst: mpi_new
      Src: /src/gnupg/common/sexputil.c:915,1
    - Dst: mpi_new
      Src: /src/gnupg/common/sexputil.c:916,1
    - Dst: mpi_new
      Src: /src/gnupg/common/sexputil.c:917,1
    - Dst: mpi_new
      Src: /src/gnupg/common/sexputil.c:918,1
    - Dst: mpi_powm
      Src: /src/gnupg/common/sexputil.c:921,1
    - Dst: mpi_mul
      Src: /src/gnupg/common/sexputil.c:922,1
    - Dst: mpi_mod
      Src: /src/gnupg/common/sexputil.c:923,1
    - Dst: mpi_add
      Src: /src/gnupg/common/sexputil.c:924,1
    - Dst: mpi_mod
      Src: /src/gnupg/common/sexputil.c:925,1
    - Dst: mpi_add
      Src: /src/gnupg/common/sexputil.c:926,1
    - Dst: mpi_mod
      Src: /src/gnupg/common/sexputil.c:927,1
    - Dst: mpi_rshift
      Src: /src/gnupg/common/sexputil.c:935,1
    - Dst: mpi_add_ui
      Src: /src/gnupg/common/sexputil.c:936,1
    - Dst: mpi_powm
      Src: /src/gnupg/common/sexputil.c:938,1
    - Dst: mpi_test_bit
      Src: /src/gnupg/common/sexputil.c:940,1
    - Dst: mpi_sub
      Src: /src/gnupg/common/sexputil.c:941,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/sexputil.c:943,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/sexputil.c:944,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/sexputil.c:945,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/sexputil.c:946,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/sexputil.c:947,1
    - Dst: ec2os
      Src: /src/gnupg/common/sexputil.c:949,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/sexputil.c:950,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/sexputil.c:951,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/sexputil.c:952,1
    - Dst: snprintf
      Src: /src/gnupg/common/sexputil.c:956,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/sexputil.c:959,1
    - Dst: strlen
      Src: /src/gnupg/common/sexputil.c:959,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/sexputil.c:961,1
    - Dst: memcpy
      Src: /src/gnupg/common/sexputil.c:965,1
    - Dst: strlen
      Src: /src/gnupg/common/sexputil.c:968,1
    - Dst: memcpy
      Src: /src/gnupg/common/sexputil.c:969,1
    - Dst: memcpy
      Src: /src/gnupg/common/sexputil.c:972,1
    - Dst: log_assert
      Src: /src/gnupg/common/sexputil.c:975,1
    - Dst: memcpy
      Src: /src/gnupg/common/sexputil.c:977,1
    - Dst: xfree
      Src: /src/gnupg/common/sexputil.c:982,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 148
    argCount: 4
    argNames:
    - keydata
    - keydatalen
    - r_newkeydata
    - r_newkeydatalen
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 985
    functionName: uncompress_ecc_q_in_canon_sexp
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 0
    functionsReached:
    - mpi_rshift
    - strlen
    - log_assert
    - ec2os
    - xtrymalloc
    - memcpy
    - gcry_mpi_scan
    - mpi_add
    - mpi_mul
    - gcry_sexp_release
    - mpi_test_bit
    - mpi_powm
    - gpg_error_from_syserror
    - mpi_mod
    - gcry_sexp_extract_param
    - mpi_new
    - gpg_error
    - xfree
    - parse_sexp
    - mpi_add_ui
    - gcry_mpi_release
    - snprintf
    - memcmp
    - gcry_pk_get_param
    - mem2str
    - mpi_sub
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t uncompress_ecc_q_in_canon_sexp (const unsigned char *keydata,\n
      \                               size_t keydatalen,\n                                unsigned
      char **r_newkeydata,\n                                size_t *r_newkeydatalen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_nth
      Src: /src/gnupg/common/sexputil.c:998,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/common/sexputil.c:1001,1
    - Dst: memcpy
      Src: /src/gnupg/common/sexputil.c:1006,1
    - Dst: gcry_pk_map_name
      Src: /src/gnupg/common/sexputil.c:1009,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/common/sexputil.c:1015,1
    - Dst: gcry_sexp_length
      Src: /src/gnupg/common/sexputil.c:1016,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/common/sexputil.c:1018,1
    - Dst: memcmp
      Src: /src/gnupg/common/sexputil.c:1022,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/sexputil.c:1028,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/common/sexputil.c:1030,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/common/sexputil.c:1031,1
    - Dst: memcmp
      Src: /src/gnupg/common/sexputil.c:1032,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/sexputil.c:1034,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/sexputil.c:1038,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 1
    argNames:
    - key
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1041
    functionName: get_pk_algo_from_key
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 1
    functionsReached:
    - gcry_sexp_length
    - gcry_sexp_find_token
    - gcry_pk_map_name
    - gcry_sexp_nth_data
    - memcmp
    - gcry_sexp_release
    - memcpy
    - gcry_sexp_nth
    linkageType: ''
    returnType: int
    signature: int get_pk_algo_from_key (gcry_sexp_t key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/common/sexputil.c:1053,1
    - Dst: get_pk_algo_from_key
      Src: /src/gnupg/common/sexputil.c:1056,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/sexputil.c:1057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - keydata
    - keydatalen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1047
    functionDepth: 2
    functionLinenumber: 1047
    functionLinenumberEnd: 1059
    functionName: get_pk_algo_from_canon_sexp
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 1
    functionsReached:
    - get_pk_algo_from_key
    - gcry_sexp_release
    - gcry_sexp_sscan
    linkageType: ''
    returnType: int
    signature: int get_pk_algo_from_canon_sexp (const unsigned char *keydata, size_t
      keydatalen)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/common/sexputil.c:1077,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/common/sexputil.c:1079,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/sexputil.c:1081,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/common/sexputil.c:1083,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/sexputil.c:1084,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/common/sexputil.c:1087,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/sexputil.c:1088,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/sexputil.c:1090,1
    - Dst: gcry_pk_map_name
      Src: /src/gnupg/common/sexputil.c:1092,1
    - Dst: xtryasprintf
      Src: /src/gnupg/common/sexputil.c:1103,1
    - Dst: gcry_pk_get_nbits
      Src: /src/gnupg/common/sexputil.c:1103,1
    - Dst: gcry_pk_get_curve
      Src: /src/gnupg/common/sexputil.c:1106,1
    - Dst: openpgp_oid_or_name_to_curve
      Src: /src/gnupg/common/sexputil.c:1107,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/sexputil.c:1110,1
    - Dst: xtryasprintf
      Src: /src/gnupg/common/sexputil.c:1112,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/sexputil.c:1114,1
    - Dst: xtryasprintf
      Src: /src/gnupg/common/sexputil.c:1117,1
    - Dst: xfree
      Src: /src/gnupg/common/sexputil.c:1121,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - s_pkey
    - r_algoid
    argTypes:
    - gcry_sexp_t
    - enum gcry_pk_algos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1123
    functionName: pubkey_algo_string
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 3
    functionsReached:
    - gcry_sexp_cadr
    - gcry_sexp_find_token
    - xtrystrdup
    - gcry_pk_get_curve
    - gcry_pk_map_name
    - xtryasprintf
    - openpgp_oid_or_name_to_curve
    - gcry_sexp_release
    - xfree
    - gcry_pk_get_nbits
    - gcry_sexp_nth_string
    linkageType: ''
    returnType: char
    signature: 'char *

      pubkey_algo_string (gcry_sexp_t s_pkey, enum gcry_pk_algos *r_algoid)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_algo_name
      Src: /src/gnupg/common/sexputil.c:1139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1140
    functionName: pubkey_algo_to_string
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 0
    functionsReached:
    - gcry_pk_algo_name
    linkageType: ''
    returnType: char
    signature: 'char *

      pubkey_algo_to_string (int algo)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/sexputil.c:1175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1179
    functionName: hash_algo_to_string
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 0
    functionsReached:
    - DIM
    linkageType: ''
    returnType: char
    signature: 'char *

      hash_algo_to_string (int algo)'
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1195
    functionName: cipher_mode_to_string
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      cipher_mode_to_string (int mode)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/common/sexputil.c:1207,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/common/sexputil.c:1209,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/common/sexputil.c:1211,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/common/sexputil.c:1213,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/common/sexputil.c:1217,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/sexputil.c:1218,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/common/sexputil.c:1222,1
    - Dst: gcry_pk_map_name
      Src: /src/gnupg/common/sexputil.c:1226,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/common/sexputil.c:1229,1
    - Dst: xfree
      Src: /src/gnupg/common/sexputil.c:1230,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/common/sexputil.c:1231,1
    - Dst: openpgp_oid_or_name_to_curve
      Src: /src/gnupg/common/sexputil.c:1232,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/sexputil.c:1233,1
    - Dst: xfree
      Src: /src/gnupg/common/sexputil.c:1236,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/sexputil.c:1237,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - key
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1239
    functionName: get_ecc_curve_from_key
    functionSourceFile: /src/gnupg/common/sexputil.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_cadr
    - gcry_sexp_find_token
    - gcry_pk_map_name
    - xfree
    - openpgp_oid_or_name_to_curve
    - gcry_sexp_release
    - gcry_sexp_nth_string
    linkageType: ''
    returnType: char
    signature: 'char *

      get_ecc_curve_from_key (gcry_sexp_t key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: pass
    functionSourceFile: /src/gnupg/common/t-convert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pass()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: hex2bin
      Src: /src/gnupg/common/t-convert.c:79,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:81,1
    - Dst: memcmp
      Src: /src/gnupg/common/t-convert.c:82,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:84,1
    - Dst: hex2bin
      Src: /src/gnupg/common/t-convert.c:86,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:87,1
    - Dst: hex2bin
      Src: /src/gnupg/common/t-convert.c:88,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:89,1
    - Dst: hex2bin
      Src: /src/gnupg/common/t-convert.c:93,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:95,1
    - Dst: hex2bin
      Src: /src/gnupg/common/t-convert.c:100,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:102,1
    - Dst: memcmp
      Src: /src/gnupg/common/t-convert.c:103,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:104,1
    - Dst: hex2bin
      Src: /src/gnupg/common/t-convert.c:106,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:107,1
    - Dst: hex2bin
      Src: /src/gnupg/common/t-convert.c:108,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:109,1
    - Dst: hex2bin
      Src: /src/gnupg/common/t-convert.c:113,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:115,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 117
    functionName: test_hex2bin
    functionSourceFile: /src/gnupg/common/t-convert.c
    functionUses: 0
    functionsReached:
    - memcmp
    - hex2bin
    - fail
    linkageType: ''
    returnType: void
    signature: void test_hex2bin (void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: hexcolon2bin
      Src: /src/gnupg/common/t-convert.c:171,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:173,1
    - Dst: memcmp
      Src: /src/gnupg/common/t-convert.c:174,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:176,1
    - Dst: hexcolon2bin
      Src: /src/gnupg/common/t-convert.c:178,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:179,1
    - Dst: hexcolon2bin
      Src: /src/gnupg/common/t-convert.c:180,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:181,1
    - Dst: hexcolon2bin
      Src: /src/gnupg/common/t-convert.c:185,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:187,1
    - Dst: hexcolon2bin
      Src: /src/gnupg/common/t-convert.c:192,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:194,1
    - Dst: memcmp
      Src: /src/gnupg/common/t-convert.c:195,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:196,1
    - Dst: hexcolon2bin
      Src: /src/gnupg/common/t-convert.c:198,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:199,1
    - Dst: hexcolon2bin
      Src: /src/gnupg/common/t-convert.c:200,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:201,1
    - Dst: hexcolon2bin
      Src: /src/gnupg/common/t-convert.c:205,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:207,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 211
    functionName: test_hexcolon2bin
    functionSourceFile: /src/gnupg/common/t-convert.c
    functionUses: 0
    functionsReached:
    - memcmp
    - hexcolon2bin
    - fail
    linkageType: ''
    returnType: void
    signature: void test_hexcolon2bin (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bin2hex
      Src: /src/gnupg/common/t-convert.c:224,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:226,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:228,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-convert.c:229,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:230,1
    - Dst: bin2hex
      Src: /src/gnupg/common/t-convert.c:232,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:234,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-convert.c:235,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:236,1
    - Dst: xfree
      Src: /src/gnupg/common/t-convert.c:237,1
    - Dst: bin2hex
      Src: /src/gnupg/common/t-convert.c:239,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:241,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:243,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 244
    functionName: test_bin2hex
    functionSourceFile: /src/gnupg/common/t-convert.c
    functionUses: 0
    functionsReached:
    - strcmp
    - bin2hex
    - xfree
    - fail
    linkageType: ''
    returnType: void
    signature: void test_bin2hex (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bin2hexcolon
      Src: /src/gnupg/common/t-convert.c:257,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:259,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:261,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-convert.c:262,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:263,1
    - Dst: bin2hexcolon
      Src: /src/gnupg/common/t-convert.c:265,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:267,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-convert.c:268,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:269,1
    - Dst: xfree
      Src: /src/gnupg/common/t-convert.c:270,1
    - Dst: bin2hexcolon
      Src: /src/gnupg/common/t-convert.c:272,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:274,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 277
    functionName: test_bin2hexcolon
    functionSourceFile: /src/gnupg/common/t-convert.c
    functionUses: 0
    functionsReached:
    - strcmp
    - fail
    - xfree
    - bin2hexcolon
    linkageType: ''
    returnType: void
    signature: void test_bin2hexcolon (void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: hex2str
      Src: /src/gnupg/common/t-convert.c:365,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:370,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-convert.c:371,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:372,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:374,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:376,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:382,1
    - Dst: assert
      Src: /src/gnupg/common/t-convert.c:391,1
    - Dst: strlen
      Src: /src/gnupg/common/t-convert.c:391,1
    - Dst: strcpy
      Src: /src/gnupg/common/t-convert.c:392,1
    - Dst: hex2str
      Src: /src/gnupg/common/t-convert.c:396,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:401,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-convert.c:402,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:403,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:405,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:407,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:413,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-convert.c:414,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:415,1
    - Dst: hex2str_alloc
      Src: /src/gnupg/common/t-convert.c:425,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:430,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-convert.c:431,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:432,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:434,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:440,1
    - Dst: xfree
      Src: /src/gnupg/common/t-convert.c:442,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (strlen (tests[idx].hex)+1 < sizeof tmpbuf)
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/gnupg/common/t-convert.c
    constantsTouched: []
    func_position:
      end: 444
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 444
    functionName: test_hex2str
    functionSourceFile: /src/gnupg/common/t-convert.c
    functionUses: 0
    functionsReached:
    - fail
    - strlen
    - assert
    - hex2str_alloc
    - strcmp
    - strcpy
    - xfree
    - hex2str
    linkageType: ''
    returnType: void
    signature: void test_hex2str (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/t-convert.c:475,1
    - Dst: hex2fixedbuf
      Src: /src/gnupg/common/t-convert.c:477,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:479,1
    - Dst: memcmp
      Src: /src/gnupg/common/t-convert.c:480,1
    - Dst: fail
      Src: /src/gnupg/common/t-convert.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 484
    functionName: test_hex2fixedbuf
    functionSourceFile: /src/gnupg/common/t-convert.c
    functionUses: 0
    functionsReached:
    - hex2fixedbuf
    - DIM
    - fail
    - memcmp
    linkageType: ''
    returnType: void
    signature: void test_hex2fixedbuf (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_hex2bin
      Src: /src/gnupg/common/t-convert.c:493,1
    - Dst: test_hexcolon2bin
      Src: /src/gnupg/common/t-convert.c:494,1
    - Dst: test_bin2hex
      Src: /src/gnupg/common/t-convert.c:495,1
    - Dst: test_bin2hexcolon
      Src: /src/gnupg/common/t-convert.c:496,1
    - Dst: test_hex2str
      Src: /src/gnupg/common/t-convert.c:497,1
    - Dst: test_hex2fixedbuf
      Src: /src/gnupg/common/t-convert.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 501
    functionName: main
    functionSourceFile: /src/gnupg/common/t-convert.c
    functionUses: 4
    functionsReached:
    - test_bin2hexcolon
    - test_bin2hex
    - test_hex2fixedbuf
    - test_hex2str
    - test_hexcolon2bin
    - test_hex2bin
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nvc_new_private_key
      Src: /src/gnupg/common/t-name-value.c:39,1
    - Dst: nvc_new
      Src: /src/gnupg/common/t-name-value.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: my_nvc_new
    functionSourceFile: /src/gnupg/common/t-name-value.c
    functionUses: 0
    functionsReached:
    - nvc_new_private_key
    - nvc_new
    linkageType: ''
    returnType: nvc_t
    signature: nvc_t my_nvc_new (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nvc_lookup
      Src: /src/gnupg/common/t-name-value.c:50,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:51,1
    - Dst: nvc_lookup
      Src: /src/gnupg/common/t-name-value.c:54,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:55,1
    - Dst: nvc_lookup
      Src: /src/gnupg/common/t-name-value.c:56,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:57,1
    - Dst: nvc_lookup
      Src: /src/gnupg/common/t-name-value.c:59,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pk
    argTypes:
    - nvc_t
    assertStmts:
    - condition: (e)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (e)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (e)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (e)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/gnupg/common/t-name-value.c
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: test_getting_values
    functionSourceFile: /src/gnupg/common/t-name-value.c
    functionUses: 0
    functionsReached:
    - nvc_lookup
    - assert
    linkageType: ''
    returnType: void
    signature: void test_getting_values (nvc_t pk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nvc_get_private_key
      Src: /src/gnupg/common/t-name-value.c:72,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:73,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:74,1
    - Dst: gcry_sexp_dump
      Src: /src/gnupg/common/t-name-value.c:77,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/t-name-value.c:79,1
    - Dst: nvc_get_private_key
      Src: /src/gnupg/common/t-name-value.c:83,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:84,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/t-name-value.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pk
    argTypes:
    - nvc_t
    assertStmts:
    - condition: (key)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (err == 0)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (gpg_err_code (err) == GPG_ERR_MISSING_KEY)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/gnupg/common/t-name-value.c
    constantsTouched: []
    func_position:
      end: 86
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 86
    functionName: test_key_extraction
    functionSourceFile: /src/gnupg/common/t-name-value.c
    functionUses: 0
    functionsReached:
    - assert
    - gcry_sexp_dump
    - gpg_err_code
    - nvc_get_private_key
    - gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: void test_key_extraction (nvc_t pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nvc_first
      Src: /src/gnupg/common/t-name-value.c:96,1
    - Dst: nve_next
      Src: /src/gnupg/common/t-name-value.c:96,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:98,1
    - Dst: nvc_lookup
      Src: /src/gnupg/common/t-name-value.c:101,1
    - Dst: nve_next_value
      Src: /src/gnupg/common/t-name-value.c:103,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pk
    argTypes:
    - nvc_t
    assertStmts:
    - condition: (i == 4)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (i == 3)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/gnupg/common/t-name-value.c
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: test_iteration
    functionSourceFile: /src/gnupg/common/t-name-value.c
    functionUses: 0
    functionsReached:
    - nve_next
    - assert
    - nve_next_value
    - nvc_lookup
    - nvc_first
    linkageType: ''
    returnType: void
    signature: void test_iteration (nvc_t pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nvc_lookup
      Src: /src/gnupg/common/t-name-value.c:114,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:115,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:116,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:116,1
    - Dst: nve_value
      Src: /src/gnupg/common/t-name-value.c:116,1
    - Dst: nvc_lookup
      Src: /src/gnupg/common/t-name-value.c:118,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:119,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:120,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:120,1
    - Dst: nve_value
      Src: /src/gnupg/common/t-name-value.c:120,1
    - Dst: nvc_lookup
      Src: /src/gnupg/common/t-name-value.c:122,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:123,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:124,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:124,1
    - Dst: nve_value
      Src: /src/gnupg/common/t-name-value.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - pk
    argTypes:
    - nvc_t
    assertStmts:
    - condition: (e)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (strcmp (nve_value (e), "WithoutWhitespace") == 0)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (e)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (strcmp (nve_value (e), "With Whitespace") == 0)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (e)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/gnupg/common/t-name-value.c
    - condition: "(strcmp (nve_value (e),\n                  \"Blank lines in continuations
        encode newlines.\\n\"\n                  \"Next paragraph.\") == 0)"
      pos:
        line_end: 125
        line_start: 123
        source_file: /src/gnupg/common/t-name-value.c
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: test_whitespace
    functionSourceFile: /src/gnupg/common/t-name-value.c
    functionUses: 0
    functionsReached:
    - strcmp
    - nve_value
    - nvc_lookup
    - assert
    linkageType: ''
    returnType: void
    signature: void test_whitespace (nvc_t pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/common/t-name-value.c:223,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:224,1
    - Dst: nvc_write
      Src: /src/gnupg/common/t-name-value.c:226,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:227,1
    - Dst: es_ftell
      Src: /src/gnupg/common/t-name-value.c:229,1
    - Dst: xmalloc
      Src: /src/gnupg/common/t-name-value.c:230,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:231,1
    - Dst: es_fseek
      Src: /src/gnupg/common/t-name-value.c:233,1
    - Dst: es_read
      Src: /src/gnupg/common/t-name-value.c:234,1
    - Dst: es_fclose
      Src: /src/gnupg/common/t-name-value.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - pk
    argTypes:
    - nvc_t
    assertStmts:
    - condition: (err == 0)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (sink)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (buf)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/gnupg/common/t-name-value.c
    constantsTouched: []
    func_position:
      end: 239
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 239
    functionName: nvc_to_string
    functionSourceFile: /src/gnupg/common/t-name-value.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - assert
    - es_fclose
    - es_fseek
    - xmalloc
    - es_read
    - es_ftell
    - nvc_write
    linkageType: ''
    returnType: char
    signature: 'char *

      nvc_to_string (nvc_t pk)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: dummy_free
    functionSourceFile: /src/gnupg/common/t-name-value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_free (void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: dummy_realloc
    functionSourceFile: /src/gnupg/common/t-name-value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *dummy_realloc (void *p, size_t s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/t-name-value.c:252,1
    - Dst: strlen
      Src: /src/gnupg/common/t-name-value.c:258,1
    - Dst: es_mopen
      Src: /src/gnupg/common/t-name-value.c:259,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:261,1
    - Dst: nvc_parse_private_key
      Src: /src/gnupg/common/t-name-value.c:264,1
    - Dst: nvc_parse
      Src: /src/gnupg/common/t-name-value.c:266,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:267,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:268,1
    - Dst: nvc_write
      Src: /src/gnupg/common/t-name-value.c:272,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:273,1
    - Dst: nvc_to_string
      Src: /src/gnupg/common/t-name-value.c:276,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:277,1
    - Dst: memcmp
      Src: /src/gnupg/common/t-name-value.c:277,1
    - Dst: es_fclose
      Src: /src/gnupg/common/t-name-value.c:279,1
    - Dst: xfree
      Src: /src/gnupg/common/t-name-value.c:280,1
    - Dst: test_func
      Src: /src/gnupg/common/t-name-value.c:283,1
    - Dst: nvc_release
      Src: /src/gnupg/common/t-name-value.c:285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (source)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (err == 0)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (pk)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (err == 0)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (memcmp (tests[i].value, buf, len) == 0)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/gnupg/common/t-name-value.c
    constantsTouched: []
    func_position:
      end: 287
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 287
    functionName: run_tests
    functionSourceFile: /src/gnupg/common/t-name-value.c
    functionUses: 0
    functionsReached:
    - nvc_to_string
    - nvc_parse
    - es_mopen
    - nvc_parse_private_key
    - assert
    - strlen
    - es_fclose
    - DIM
    - nvc_release
    - test_func
    - memcmp
    - xfree
    - nvc_write
    linkageType: ''
    returnType: void
    signature: void run_tests (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: my_nvc_new
      Src: /src/gnupg/common/t-name-value.c:299,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:300,1
    - Dst: nvc_set
      Src: /src/gnupg/common/t-name-value.c:302,1
    - Dst: nvc_to_string
      Src: /src/gnupg/common/t-name-value.c:303,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:304,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:304,1
    - Dst: xfree
      Src: /src/gnupg/common/t-name-value.c:305,1
    - Dst: nvc_set
      Src: /src/gnupg/common/t-name-value.c:307,1
    - Dst: nvc_to_string
      Src: /src/gnupg/common/t-name-value.c:308,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:309,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:309,1
    - Dst: xfree
      Src: /src/gnupg/common/t-name-value.c:310,1
    - Dst: nvc_set
      Src: /src/gnupg/common/t-name-value.c:312,1
    - Dst: nvc_to_string
      Src: /src/gnupg/common/t-name-value.c:313,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:314,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:314,1
    - Dst: xfree
      Src: /src/gnupg/common/t-name-value.c:315,1
    - Dst: nvc_add
      Src: /src/gnupg/common/t-name-value.c:317,1
    - Dst: nvc_to_string
      Src: /src/gnupg/common/t-name-value.c:318,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:319,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:319,1
    - Dst: xfree
      Src: /src/gnupg/common/t-name-value.c:320,1
    - Dst: nvc_add
      Src: /src/gnupg/common/t-name-value.c:322,1
    - Dst: nvc_to_string
      Src: /src/gnupg/common/t-name-value.c:323,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:324,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:324,1
    - Dst: xfree
      Src: /src/gnupg/common/t-name-value.c:326,1
    - Dst: nvc_delete
      Src: /src/gnupg/common/t-name-value.c:328,1
    - Dst: nvc_lookup
      Src: /src/gnupg/common/t-name-value.c:328,1
    - Dst: nvc_to_string
      Src: /src/gnupg/common/t-name-value.c:329,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:330,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:330,1
    - Dst: xfree
      Src: /src/gnupg/common/t-name-value.c:331,1
    - Dst: nvc_delete
      Src: /src/gnupg/common/t-name-value.c:333,1
    - Dst: nve_next_value
      Src: /src/gnupg/common/t-name-value.c:333,1
    - Dst: nvc_lookup
      Src: /src/gnupg/common/t-name-value.c:333,1
    - Dst: nvc_to_string
      Src: /src/gnupg/common/t-name-value.c:334,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:335,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:335,1
    - Dst: xfree
      Src: /src/gnupg/common/t-name-value.c:336,1
    - Dst: nvc_delete
      Src: /src/gnupg/common/t-name-value.c:338,1
    - Dst: nvc_lookup
      Src: /src/gnupg/common/t-name-value.c:338,1
    - Dst: nvc_to_string
      Src: /src/gnupg/common/t-name-value.c:339,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:340,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:340,1
    - Dst: xfree
      Src: /src/gnupg/common/t-name-value.c:341,1
    - Dst: nvc_delete
      Src: /src/gnupg/common/t-name-value.c:343,1
    - Dst: nvc_first
      Src: /src/gnupg/common/t-name-value.c:343,1
    - Dst: nvc_to_string
      Src: /src/gnupg/common/t-name-value.c:344,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:345,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:345,1
    - Dst: xfree
      Src: /src/gnupg/common/t-name-value.c:346,1
    - Dst: nvc_add
      Src: /src/gnupg/common/t-name-value.c:349,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:350,1
    - Dst: nvc_lookup
      Src: /src/gnupg/common/t-name-value.c:351,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:352,1
    - Dst: nvc_delete_named
      Src: /src/gnupg/common/t-name-value.c:353,1
    - Dst: nvc_lookup
      Src: /src/gnupg/common/t-name-value.c:354,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:355,1
    - Dst: nvc_delete_named
      Src: /src/gnupg/common/t-name-value.c:356,1
    - Dst: nvc_lookup
      Src: /src/gnupg/common/t-name-value.c:357,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:358,1
    - Dst: nvc_add
      Src: /src/gnupg/common/t-name-value.c:362,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:363,1
    - Dst: nvc_add
      Src: /src/gnupg/common/t-name-value.c:364,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:365,1
    - Dst: nvc_lookup
      Src: /src/gnupg/common/t-name-value.c:366,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:367,1
    - Dst: nvc_delete_named
      Src: /src/gnupg/common/t-name-value.c:368,1
    - Dst: nvc_lookup
      Src: /src/gnupg/common/t-name-value.c:369,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:370,1
    - Dst: nvc_set
      Src: /src/gnupg/common/t-name-value.c:372,1
    - Dst: nvc_to_string
      Src: /src/gnupg/common/t-name-value.c:374,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:375,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:375,1
    - Dst: xfree
      Src: /src/gnupg/common/t-name-value.c:378,1
    - Dst: nvc_set
      Src: /src/gnupg/common/t-name-value.c:380,1
    - Dst: nvc_to_string
      Src: /src/gnupg/common/t-name-value.c:382,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:383,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:383,1
    - Dst: xfree
      Src: /src/gnupg/common/t-name-value.c:386,1
    - Dst: nvc_set
      Src: /src/gnupg/common/t-name-value.c:388,1
    - Dst: nvc_to_string
      Src: /src/gnupg/common/t-name-value.c:390,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:391,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:391,1
    - Dst: xfree
      Src: /src/gnupg/common/t-name-value.c:394,1
    - Dst: nvc_set
      Src: /src/gnupg/common/t-name-value.c:396,1
    - Dst: nvc_to_string
      Src: /src/gnupg/common/t-name-value.c:398,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:399,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:399,1
    - Dst: xfree
      Src: /src/gnupg/common/t-name-value.c:402,1
    - Dst: nvc_release
      Src: /src/gnupg/common/t-name-value.c:403,1
    - Dst: my_nvc_new
      Src: /src/gnupg/common/t-name-value.c:405,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:406,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/common/t-name-value.c:408,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:409,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:410,1
    - Dst: nvc_set_private_key
      Src: /src/gnupg/common/t-name-value.c:414,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:415,1
    - Dst: nvc_to_string
      Src: /src/gnupg/common/t-name-value.c:417,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:418,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:418,1
    - Dst: xfree
      Src: /src/gnupg/common/t-name-value.c:419,1
    - Dst: nvc_set_private_key
      Src: /src/gnupg/common/t-name-value.c:423,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:424,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/t-name-value.c:424,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/t-name-value.c:426,1
    - Dst: nvc_release
      Src: /src/gnupg/common/t-name-value.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (e)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/gnupg/common/t-name-value.c
    - condition: '(strcmp (buf, "Foo: Baz\nBar: Bazzel\n") == 0)'
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (key)
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/gnupg/common/t-name-value.c
    - condition: '(strcmp (buf, "Foo: Baz\nFoo: Bar\nBar: Bazzel\n") == 0)'
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/gnupg/common/t-name-value.c
    - condition: "(strcmp (buf, \"Foo: A really long value spanning across multiple\"\n\t\t
        \ \" lines that has to be\\n  wrapped at a convenient space.\\n\")\n\t  ==
        0)"
      pos:
        line_end: 376
        line_start: 374
        source_file: /src/gnupg/common/t-name-value.c
    - condition: "(strcmp (buf, \"Foo: XA really long value spanning across multiple\"\n\t\t
        \ \" lines that has to\\n  be wrapped at a convenient space.\\n\")\n\t  ==
        0)"
      pos:
        line_end: 384
        line_start: 382
        source_file: /src/gnupg/common/t-name-value.c
    - condition: '(strcmp (buf, "Foo: Baz\nFoo: Bar\nBar: Bazzel\n") == 0)'
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (!err)
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (err == 0)
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/gnupg/common/t-name-value.c
    - condition: '(strcmp (buf, "Foo: Baz\nBar: Bazzel\n") == 0)'
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/gnupg/common/t-name-value.c
    - condition: '(strcmp (buf, "Bar: Bazzel\n") == 0)'
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/gnupg/common/t-name-value.c
    - condition: '(strcmp (buf, "Foo: Baz\n") == 0)'
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (strcmp (buf, "") == 0)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (err == 0)
      pos:
        line_end: 414
        line_start: 414
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (!e)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/gnupg/common/t-name-value.c
    - condition: "(strcmp (buf, \"Foo: Areallylongvaluespanningacrossmultiplelinesthat\"\n\t\t
        \ \"hastobewrappedataco\\n nvenientspacethatisnotthere.\\n\")\n\t  == 0)"
      pos:
        line_end: 400
        line_start: 398
        source_file: /src/gnupg/common/t-name-value.c
    - condition: "(strcmp (buf, \"Foo: XXXXA really long value spanning across multiple\"\n\t\t
        \ \" lines that has\\n  to be wrapped at a convenient space.\\n\")\n\t  ==
        0)"
      pos:
        line_end: 392
        line_start: 390
        source_file: /src/gnupg/common/t-name-value.c
    - condition: "(strcmp (buf, \"Foo: Baz\\nFoo: Bar\\nBar: Bazzel\\nDontExistYet:
        Bar\\n\")\n\t  == 0)"
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (!err)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (!e)
      pos:
        line_end: 369
        line_start: 369
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (pk)
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/gnupg/common/t-name-value.c
    - condition: '(strcmp (buf, "Foo: Bar\n") == 0)'
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (pk)
      pos:
        line_end: 405
        line_start: 405
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (!err)
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (e)
      pos:
        line_end: 351
        line_start: 351
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (gpg_err_code (err) == GPG_ERR_MISSING_KEY)
      pos:
        line_end: 423
        line_start: 423
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (e)
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/gnupg/common/t-name-value.c
    - condition: '(strcmp (buf, "Key: (hello world)\n") == 0)'
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/gnupg/common/t-name-value.c
    constantsTouched: []
    func_position:
      end: 428
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 428
    functionName: run_modification_tests
    functionSourceFile: /src/gnupg/common/t-name-value.c
    functionUses: 0
    functionsReached:
    - nvc_to_string
    - my_nvc_new
    - assert
    - nvc_set_private_key
    - strcmp
    - nvc_add
    - nve_next_value
    - nvc_delete_named
    - xfree
    - nvc_lookup
    - gpg_err_code
    - gcry_sexp_release
    - nvc_release
    - nvc_delete
    - gcry_sexp_build
    - nvc_first
    - nvc_set
    linkageType: ''
    returnType: void
    signature: void run_modification_tests (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/common/t-name-value.c:442,1
    - Dst: fstat
      Src: /src/gnupg/common/t-name-value.c:446,1
    - Dst: es_fileno
      Src: /src/gnupg/common/t-name-value.c:446,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/t-name-value.c:450,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:451,1
    - Dst: es_fread
      Src: /src/gnupg/common/t-name-value.c:453,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/common/t-name-value.c:456,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-name-value.c:459,1
    - Dst: exit
      Src: /src/gnupg/common/t-name-value.c:460,1
    - Dst: my_nvc_new
      Src: /src/gnupg/common/t-name-value.c:463,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:464,1
    - Dst: nvc_set_private_key
      Src: /src/gnupg/common/t-name-value.c:466,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:467,1
    - Dst: nvc_write
      Src: /src/gnupg/common/t-name-value.c:469,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:470,1
    - Dst: perror
      Src: /src/gnupg/common/t-name-value.c:475,1
    - Dst: exit
      Src: /src/gnupg/common/t-name-value.c:476,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts:
    - condition: (buf)
      pos:
        line_end: 450
        line_start: 450
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (err == 0)
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (err == 0)
      pos:
        line_end: 466
        line_start: 466
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (pk)
      pos:
        line_end: 463
        line_start: 463
        source_file: /src/gnupg/common/t-name-value.c
    constantsTouched: []
    func_position:
      end: 477
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 477
    functionName: convert
    functionSourceFile: /src/gnupg/common/t-name-value.c
    functionUses: 0
    functionsReached:
    - my_nvc_new
    - assert
    - perror
    - exit
    - gcry_sexp_sscan
    - fstat
    - es_fileno
    - es_fread
    - fprintf
    - nvc_set_private_key
    - es_fopen
    - nvc_write
    - xtrymalloc
    linkageType: ''
    returnType: void
    signature: void convert (const char *fname)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/common/t-name-value.c:490,1
    - Dst: perror
      Src: /src/gnupg/common/t-name-value.c:493,1
    - Dst: exit
      Src: /src/gnupg/common/t-name-value.c:494,1
    - Dst: nvc_parse_private_key
      Src: /src/gnupg/common/t-name-value.c:498,1
    - Dst: nvc_parse
      Src: /src/gnupg/common/t-name-value.c:500,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-name-value.c:503,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/t-name-value.c:504,1
    - Dst: exit
      Src: /src/gnupg/common/t-name-value.c:505,1
    - Dst: nvc_to_string
      Src: /src/gnupg/common/t-name-value.c:508,1
    - Dst: xfree
      Src: /src/gnupg/common/t-name-value.c:509,1
    - Dst: my_nvc_new
      Src: /src/gnupg/common/t-name-value.c:511,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:512,1
    - Dst: nvc_first
      Src: /src/gnupg/common/t-name-value.c:514,1
    - Dst: nve_next
      Src: /src/gnupg/common/t-name-value.c:514,1
    - Dst: strcasecmp
      Src: /src/gnupg/common/t-name-value.c:518,1
    - Dst: nve_name
      Src: /src/gnupg/common/t-name-value.c:518,1
    - Dst: nvc_get_private_key
      Src: /src/gnupg/common/t-name-value.c:520,1
    - Dst: nvc_set_private_key
      Src: /src/gnupg/common/t-name-value.c:527,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:528,1
    - Dst: nvc_add
      Src: /src/gnupg/common/t-name-value.c:532,1
    - Dst: nve_name
      Src: /src/gnupg/common/t-name-value.c:532,1
    - Dst: nve_value
      Src: /src/gnupg/common/t-name-value.c:532,1
    - Dst: assert
      Src: /src/gnupg/common/t-name-value.c:533,1
    - Dst: nvc_to_string
      Src: /src/gnupg/common/t-name-value.c:537,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-name-value.c:539,1
    - Dst: xfree
      Src: /src/gnupg/common/t-name-value.c:540,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts:
    - condition: (err == 0)
      pos:
        line_end: 532
        line_start: 532
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (pk_b)
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/gnupg/common/t-name-value.c
    - condition: (err == 0)
      pos:
        line_end: 527
        line_start: 527
        source_file: /src/gnupg/common/t-name-value.c
    constantsTouched: []
    func_position:
      end: 541
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 541
    functionName: parse
    functionSourceFile: /src/gnupg/common/t-name-value.c
    functionUses: 40
    functionsReached:
    - nvc_to_string
    - nvc_parse
    - nve_next
    - exit
    - nvc_add
    - nve_value
    - es_fopen
    - my_nvc_new
    - perror
    - nvc_first
    - nvc_parse_private_key
    - assert
    - fprintf
    - gpg_strerror
    - xfree
    - nve_name
    - nvc_set_private_key
    - nvc_get_private_key
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void parse (const char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/common/t-name-value.c:547,1
    - Dst: exit
      Src: /src/gnupg/common/t-name-value.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 553
    functionName: print_usage
    functionSourceFile: /src/gnupg/common/t-name-value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void print_usage (void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:563,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:569,1
    - Dst: print_usage
      Src: /src/gnupg/common/t-name-value.c:574,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:577,1
    - Dst: print_usage
      Src: /src/gnupg/common/t-name-value.c:582,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-name-value.c:585,1
    - Dst: print_usage
      Src: /src/gnupg/common/t-name-value.c:590,1
    - Dst: run_tests
      Src: /src/gnupg/common/t-name-value.c:596,1
    - Dst: run_modification_tests
      Src: /src/gnupg/common/t-name-value.c:597,1
    - Dst: run_tests
      Src: /src/gnupg/common/t-name-value.c:599,1
    - Dst: run_modification_tests
      Src: /src/gnupg/common/t-name-value.c:600,1
    - Dst: convert
      Src: /src/gnupg/common/t-name-value.c:604,1
    - Dst: parse
      Src: /src/gnupg/common/t-name-value.c:609,1
    - Dst: parse
      Src: /src/gnupg/common/t-name-value.c:613,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 618
    functionName: main
    functionSourceFile: /src/gnupg/common/t-name-value.c
    functionUses: 4
    functionsReached:
    - run_modification_tests
    - convert
    - strcmp
    - run_tests
    - parse
    - print_usage
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/common/helpfile.c:53,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/helpfile.c:58,1
    - Dst: log_error
      Src: /src/gnupg/common/helpfile.c:59,1
    - Dst: _
      Src: /src/gnupg/common/helpfile.c:59,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/helpfile.c:59,1
    - Dst: es_fgets
      Src: /src/gnupg/common/helpfile.c:64,1
    - Dst: DIM
      Src: /src/gnupg/common/helpfile.c:64,1
    - Dst: strlen
      Src: /src/gnupg/common/helpfile.c:68,1
    - Dst: es_getc
      Src: /src/gnupg/common/helpfile.c:71,1
    - Dst: gpg_error
      Src: /src/gnupg/common/helpfile.c:73,1
    - Dst: log_error
      Src: /src/gnupg/common/helpfile.c:75,1
    - Dst: _
      Src: /src/gnupg/common/helpfile.c:75,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/helpfile.c:76,1
    - Dst: strlen
      Src: /src/gnupg/common/helpfile.c:79,1
    - Dst: spacep
      Src: /src/gnupg/common/helpfile.c:85,1
    - Dst: spacep
      Src: /src/gnupg/common/helpfile.c:89,1
    - Dst: log_info
      Src: /src/gnupg/common/helpfile.c:91,1
    - Dst: _
      Src: /src/gnupg/common/helpfile.c:91,1
    - Dst: _
      Src: /src/gnupg/common/helpfile.c:92,1
    - Dst: trim_trailing_spaces
      Src: /src/gnupg/common/helpfile.c:95,1
    - Dst: strcmp
      Src: /src/gnupg/common/helpfile.c:97,1
    - Dst: init_membuf
      Src: /src/gnupg/common/helpfile.c:100,1
    - Dst: spacep
      Src: /src/gnupg/common/helpfile.c:112,1
    - Dst: trim_trailing_spaces
      Src: /src/gnupg/common/helpfile.c:116,1
    - Dst: is_membuf_ready
      Src: /src/gnupg/common/helpfile.c:118,1
    - Dst: is_membuf_ready
      Src: /src/gnupg/common/helpfile.c:128,1
    - Dst: put_membuf_str
      Src: /src/gnupg/common/helpfile.c:130,1
    - Dst: put_membuf
      Src: /src/gnupg/common/helpfile.c:132,1
    - Dst: put_membuf
      Src: /src/gnupg/common/helpfile.c:134,1
    - Dst: es_ferror
      Src: /src/gnupg/common/helpfile.c:138,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/helpfile.c:140,1
    - Dst: log_error
      Src: /src/gnupg/common/helpfile.c:141,1
    - Dst: _
      Src: /src/gnupg/common/helpfile.c:141,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/helpfile.c:142,1
    - Dst: es_fclose
      Src: /src/gnupg/common/helpfile.c:145,1
    - Dst: is_membuf_ready
      Src: /src/gnupg/common/helpfile.c:146,1
    - Dst: xfree
      Src: /src/gnupg/common/helpfile.c:151,1
    - Dst: get_membuf
      Src: /src/gnupg/common/helpfile.c:151,1
    - Dst: put_membuf
      Src: /src/gnupg/common/helpfile.c:156,1
    - Dst: get_membuf
      Src: /src/gnupg/common/helpfile.c:157,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 74
    argCount: 3
    argNames:
    - key
    - fname
    - flags
    argTypes:
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 162
    functionName: findkey_fname
    functionSourceFile: /src/gnupg/common/helpfile.c
    functionUses: 0
    functionsReached:
    - strlen
    - put_membuf
    - put_membuf_str
    - es_fopen
    - trim_trailing_spaces
    - init_membuf
    - log_error
    - es_fgets
    - DIM
    - _
    - log_info
    - es_ferror
    - gpg_error_from_syserror
    - spacep
    - strcmp
    - gpg_error
    - gpg_strerror
    - xfree
    - es_getc
    - get_membuf
    - es_fclose
    - is_membuf_ready
    linkageType: ''
    returnType: char
    signature: 'char *

      findkey_fname (const char *key, const char *fname, unsigned int flags)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/common/helpfile.c:174,1
    - Dst: strlen
      Src: /src/gnupg/common/helpfile.c:174,1
    - Dst: strlen
      Src: /src/gnupg/common/helpfile.c:175,1
    - Dst: strlen
      Src: /src/gnupg/common/helpfile.c:175,1
    - Dst: stpcpy
      Src: /src/gnupg/common/helpfile.c:178,1
    - Dst: stpcpy
      Src: /src/gnupg/common/helpfile.c:178,1
    - Dst: stpcpy
      Src: /src/gnupg/common/helpfile.c:178,1
    - Dst: stpcpy
      Src: /src/gnupg/common/helpfile.c:178,1
    - Dst: strchr
      Src: /src/gnupg/common/helpfile.c:180,1
    - Dst: strcpy
      Src: /src/gnupg/common/helpfile.c:182,1
    - Dst: stpcpy
      Src: /src/gnupg/common/helpfile.c:182,1
    - Dst: findkey_fname
      Src: /src/gnupg/common/helpfile.c:183,1
    - Dst: strcpy
      Src: /src/gnupg/common/helpfile.c:195,1
    - Dst: findkey_fname
      Src: /src/gnupg/common/helpfile.c:196,1
    - Dst: strcpy
      Src: /src/gnupg/common/helpfile.c:205,1
    - Dst: findkey_fname
      Src: /src/gnupg/common/helpfile.c:206,1
    - Dst: xfree
      Src: /src/gnupg/common/helpfile.c:209,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - domain
    - key
    - locname
    - dirname
    - flags
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 211
    functionName: findkey_locale
    functionSourceFile: /src/gnupg/common/helpfile.c
    functionUses: 0
    functionsReached:
    - strlen
    - strchr
    - strcpy
    - xfree
    - stpcpy
    - xtrymalloc
    - findkey_fname
    linkageType: ''
    returnType: char
    signature: "char *\nfindkey_locale (const char *domain, const char *key, const
      char *locname,\n                const char *dirname, unsigned int flags)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_messages_locale_name
      Src: /src/gnupg/common/helpfile.c:251,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/helpfile.c:253,1
    - Dst: findkey_locale
      Src: /src/gnupg/common/helpfile.c:276,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/common/helpfile.c:277,1
    - Dst: findkey_locale
      Src: /src/gnupg/common/helpfile.c:279,1
    - Dst: gnupg_datadir
      Src: /src/gnupg/common/helpfile.c:280,1
    - Dst: substitute_envvars
      Src: /src/gnupg/common/helpfile.c:284,1
    - Dst: xfree
      Src: /src/gnupg/common/helpfile.c:287,1
    - Dst: trim_trailing_spaces
      Src: /src/gnupg/common/helpfile.c:293,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 4
    argNames:
    - domain
    - key
    - flags
    - override_locale
    argTypes:
    - char*
    - char*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 237
    functionDepth: 6
    functionLinenumber: 237
    functionLinenumberEnd: 296
    functionName: gnupg_get_template
    functionSourceFile: /src/gnupg/common/helpfile.c
    functionUses: 3
    functionsReached:
    - trim_trailing_spaces
    - gnupg_datadir
    - substitute_envvars
    - xtrystrdup
    - findkey_locale
    - xfree
    - gnupg_sysconfdir
    - gnupg_messages_locale_name
    linkageType: ''
    returnType: char
    signature: "char *\ngnupg_get_template (const char *domain, const char *key, unsigned
      int flags,\n                    const char *override_locale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_get_template
      Src: /src/gnupg/common/helpfile.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - only_current
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 299
    functionDepth: 7
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionName: gnupg_get_help_string
    functionSourceFile: /src/gnupg/common/helpfile.c
    functionUses: 1
    functionsReached:
    - gnupg_get_template
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_get_help_string (const char *key, int only_current)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: getenv
    functionSourceFile: /src/gnupg/common/common-defs.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: getenv(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: init_common_subsystems
    functionSourceFile: /src/gnupg/common/init.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: init_common_subsystems(a,b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtryreallocarray
      Src: /src/gnupg/common/w32-cmdline.c:65,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/w32-cmdline.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - parm
    - string
    argTypes:
    - struct add_arg_s*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 77
    functionName: add_arg
    functionSourceFile: /src/gnupg/common/w32-cmdline.c
    functionUses: 0
    functionsReached:
    - xtrystrdup
    - xtryreallocarray
    linkageType: ''
    returnType: int
    signature: int add_arg (struct add_arg_s *parm, const char *string)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/gnupg/common/w32-cmdline.c:95,1
    - Dst: add_arg
      Src: /src/gnupg/common/w32-cmdline.c:99,1
    - Dst: utf8_to_wchar
      Src: /src/gnupg/common/w32-cmdline.c:110,1
    - Dst: FindFirstFileW
      Src: /src/gnupg/common/w32-cmdline.c:114,1
    - Dst: xfree
      Src: /src/gnupg/common/w32-cmdline.c:115,1
    - Dst: add_arg
      Src: /src/gnupg/common/w32-cmdline.c:118,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/w32-cmdline.c:121,1
    - Dst: strlen
      Src: /src/gnupg/common/w32-cmdline.c:121,1
    - Dst: FindClose
      Src: /src/gnupg/common/w32-cmdline.c:124,1
    - Dst: mem2str
      Src: /src/gnupg/common/w32-cmdline.c:127,1
    - Dst: wchar_to_utf8
      Src: /src/gnupg/common/w32-cmdline.c:138,1
    - Dst: mem2str
      Src: /src/gnupg/common/w32-cmdline.c:143,1
    - Dst: xfree
      Src: /src/gnupg/common/w32-cmdline.c:144,1
    - Dst: add_arg
      Src: /src/gnupg/common/w32-cmdline.c:145,1
    - Dst: FindClose
      Src: /src/gnupg/common/w32-cmdline.c:149,1
    - Dst: xfree
      Src: /src/gnupg/common/w32-cmdline.c:150,1
    - Dst: FindNextFileW
      Src: /src/gnupg/common/w32-cmdline.c:156,1
    - Dst: FindClose
      Src: /src/gnupg/common/w32-cmdline.c:158,1
    - Dst: xfree
      Src: /src/gnupg/common/w32-cmdline.c:159,1
    - Dst: add_arg
      Src: /src/gnupg/common/w32-cmdline.c:161,1
    - Dst: strpbrk
      Src: /src/gnupg/common/w32-cmdline.c:167,1
    - Dst: add_arg
      Src: /src/gnupg/common/w32-cmdline.c:171,1
    - Dst: strchr
      Src: /src/gnupg/common/w32-cmdline.c:174,1
    - Dst: add_arg
      Src: /src/gnupg/common/w32-cmdline.c:175,1
    - Dst: strchr
      Src: /src/gnupg/common/w32-cmdline.c:176,1
    - Dst: add_arg
      Src: /src/gnupg/common/w32-cmdline.c:177,1
    - Dst: add_arg
      Src: /src/gnupg/common/w32-cmdline.c:179,1
    - Dst: add_arg
      Src: /src/gnupg/common/w32-cmdline.c:181,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - parm
    - pattern
    argTypes:
    - struct add_arg_s*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 186
    functionName: glob_arg
    functionSourceFile: /src/gnupg/common/w32-cmdline.c
    functionUses: 0
    functionsReached:
    - strpbrk
    - FindNextFileW
    - FindFirstFileW
    - strlen
    - add_arg
    - strchr
    - xfree
    - wchar_to_utf8
    - utf8_to_wchar
    - mem2str
    - xtrymalloc
    - FindClose
    linkageType: ''
    returnType: int
    signature: int glob_arg (struct add_arg_s *parm, const char *pattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: count_leading_backslashes
    functionSourceFile: /src/gnupg/common/w32-cmdline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int count_leading_backslashes (const char *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: count_leading_backslashes
      Src: /src/gnupg/common/w32-cmdline.c:210,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - string
    - endquote
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 237
    functionName: strip_one_arg
    functionSourceFile: /src/gnupg/common/w32-cmdline.c
    functionUses: 0
    functionsReached:
    - count_leading_backslashes
    linkageType: ''
    returnType: void
    signature: void strip_one_arg (char *string, int endquote)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strip_one_arg
      Src: /src/gnupg/common/w32-cmdline.c:268,1
    - Dst: count_leading_backslashes
      Src: /src/gnupg/common/w32-cmdline.c:279,1
    - Dst: strip_one_arg
      Src: /src/gnupg/common/w32-cmdline.c:304,1
    - Dst: strip_one_arg
      Src: /src/gnupg/common/w32-cmdline.c:324,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 65
    argCount: 3
    argNames:
    - string
    - argv
    - argvflags
    argTypes:
    - char*
    - char**
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 333
    functionName: parse_cmdstring
    functionSourceFile: /src/gnupg/common/w32-cmdline.c
    functionUses: 0
    functionsReached:
    - count_leading_backslashes
    - strip_one_arg
    linkageType: ''
    returnType: int
    signature: int parse_cmdstring (char *string, char **argv, unsigned char *argvflags)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: parse_cmdstring
      Src: /src/gnupg/common/w32-cmdline.c:355,1
    - Dst: log_error
      Src: /src/gnupg/common/w32-cmdline.c:358,1
    - Dst: xtrycalloc
      Src: /src/gnupg/common/w32-cmdline.c:361,1
    - Dst: log_error
      Src: /src/gnupg/common/w32-cmdline.c:364,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/w32-cmdline.c:365,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/w32-cmdline.c:365,1
    - Dst: xtrycalloc
      Src: /src/gnupg/common/w32-cmdline.c:370,1
    - Dst: log_error
      Src: /src/gnupg/common/w32-cmdline.c:373,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/w32-cmdline.c:374,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/w32-cmdline.c:374,1
    - Dst: xfree
      Src: /src/gnupg/common/w32-cmdline.c:375,1
    - Dst: parse_cmdstring
      Src: /src/gnupg/common/w32-cmdline.c:382,1
    - Dst: log_error
      Src: /src/gnupg/common/w32-cmdline.c:385,1
    - Dst: xfree
      Src: /src/gnupg/common/w32-cmdline.c:386,1
    - Dst: xfree
      Src: /src/gnupg/common/w32-cmdline.c:387,1
    - Dst: strpbrk
      Src: /src/gnupg/common/w32-cmdline.c:394,1
    - Dst: xtryreallocarray
      Src: /src/gnupg/common/w32-cmdline.c:410,1
    - Dst: log_error
      Src: /src/gnupg/common/w32-cmdline.c:414,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/w32-cmdline.c:415,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/w32-cmdline.c:415,1
    - Dst: xfree
      Src: /src/gnupg/common/w32-cmdline.c:416,1
    - Dst: xfree
      Src: /src/gnupg/common/w32-cmdline.c:417,1
    - Dst: glob_arg
      Src: /src/gnupg/common/w32-cmdline.c:424,1
    - Dst: add_arg
      Src: /src/gnupg/common/w32-cmdline.c:426,1
    - Dst: log_error
      Src: /src/gnupg/common/w32-cmdline.c:429,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/w32-cmdline.c:430,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/w32-cmdline.c:430,1
    - Dst: xfree
      Src: /src/gnupg/common/w32-cmdline.c:432,1
    - Dst: xfree
      Src: /src/gnupg/common/w32-cmdline.c:433,1
    - Dst: xfree
      Src: /src/gnupg/common/w32-cmdline.c:434,1
    - Dst: xfree
      Src: /src/gnupg/common/w32-cmdline.c:435,1
    - Dst: xfree
      Src: /src/gnupg/common/w32-cmdline.c:439,1
    - Dst: xfree
      Src: /src/gnupg/common/w32-cmdline.c:447,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 450
    functionName: w32_parse_commandline
    functionSourceFile: /src/gnupg/common/w32-cmdline.c
    functionUses: 0
    functionsReached:
    - strpbrk
    - xtryreallocarray
    - gpg_error_from_syserror
    - log_error
    - parse_cmdstring
    - add_arg
    - gpg_strerror
    - xfree
    - xtrycalloc
    - glob_arg
    linkageType: ''
    returnType: char
    signature: "char **\nw32_parse_commandline (char *cmdline, int globing, int *r_argc,\n
      \                      int *r_itemsalloced)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:90,1
    - Dst: xtrycalloc
      Src: /src/gnupg/common/audit.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - audit_ctx_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: add_helptag
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - strcmp
    - xtrycalloc
    linkageType: ''
    returnType: void
    signature: void add_helptag (audit_ctx_t ctx, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - audit_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: clear_helptags
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void clear_helptags (audit_ctx_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eventstr_msgidxof
      Src: /src/gnupg/common/audit.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - audit_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: event2str
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - eventstr_msgidxof
    linkageType: ''
    returnType: char
    signature: 'char *

      event2str (audit_event_t event)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/common/audit.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: audit_new
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - xtrycalloc
    linkageType: ''
    returnType: audit_ctx_t
    signature: audit_ctx_t audit_new (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:155,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/common/audit.c:157,1
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:159,1
    - Dst: clear_helptags
      Src: /src/gnupg/common/audit.c:161,1
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - audit_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 163
    functionName: audit_release
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - xfree
    - ksba_cert_release
    - clear_helptags
    linkageType: ''
    returnType: void
    signature: void audit_release (audit_ctx_t ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - type
    argTypes:
    - audit_ctx_t
    - audit_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: audit_set_type
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void audit_set_type (audit_ctx_t ctx, audit_type_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/common/audit.c:195,1
    - Dst: xtryrealloc
      Src: /src/gnupg/common/audit.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - audit_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 232
    functionName: create_log_item
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - xtryrealloc
    - xtrymalloc
    linkageType: ''
    returnType: log_item_t
    signature: log_item_t create_log_item (audit_ctx_t ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: create_log_item
      Src: /src/gnupg/common/audit.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - event
    argTypes:
    - audit_ctx_t
    - audit_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 251
    functionName: audit_log
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - create_log_item
    linkageType: ''
    returnType: void
    signature: void audit_log (audit_ctx_t ctx, audit_event_t event)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: create_log_item
      Src: /src/gnupg/common/audit.c:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - event
    - err
    argTypes:
    - audit_ctx_t
    - audit_event_t
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 273
    functionName: audit_log_ok
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - create_log_item
    linkageType: ''
    returnType: void
    signature: void audit_log_ok (audit_ctx_t ctx, audit_event_t event, gpg_error_t
      err)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: create_log_item
      Src: /src/gnupg/common/audit.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - event
    - value
    argTypes:
    - audit_ctx_t
    - audit_event_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 295
    functionName: audit_log_i
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - create_log_item
    linkageType: ''
    returnType: void
    signature: void audit_log_i (audit_ctx_t ctx, audit_event_t event, int value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/common/audit.c:313,1
    - Dst: create_log_item
      Src: /src/gnupg/common/audit.c:319,1
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - event
    - value
    argTypes:
    - audit_ctx_t
    - audit_event_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 326
    functionName: audit_log_s
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - xtrystrdup
    - create_log_item
    - xfree
    linkageType: ''
    returnType: void
    signature: void audit_log_s (audit_ctx_t ctx, audit_event_t event, const char
      *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: create_log_item
      Src: /src/gnupg/common/audit.c:344,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/common/audit.c:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - event
    - cert
    - err
    argTypes:
    - audit_ctx_t
    - audit_event_t
    - ksba_cert_t
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 354
    functionName: audit_log_cert
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - ksba_cert_ref
    - create_log_item
    linkageType: ''
    returnType: void
    signature: "void audit_log_cert (audit_ctx_t ctx, audit_event_t event,\n                ksba_cert_t
      cert, gpg_error_t err)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:366,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:368,1
    - Dst: es_putc
      Src: /src/gnupg/common/audit.c:370,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - text
    argTypes:
    - audit_ctx_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 375
    functionName: writeout
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - es_fputs
    - es_putc
    linkageType: ''
    returnType: void
    signature: void writeout (audit_ctx_t ctx, const char *text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_vasprintf
      Src: /src/gnupg/common/audit.c:384,1
    - Dst: writeout
      Src: /src/gnupg/common/audit.c:387,1
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:388,1
    - Dst: writeout
      Src: /src/gnupg/common/audit.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - format
    - arg_ptr
    argTypes:
    - audit_ctx_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 392
    functionName: writeout_v
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - writeout
    - xfree
    - gpgrt_vasprintf
    linkageType: ''
    returnType: void
    signature: void writeout_v (audit_ctx_t ctx, const char *format, va_list arg_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:402,1
    - Dst: va_start
      Src: /src/gnupg/common/audit.c:403,1
    - Dst: writeout_v
      Src: /src/gnupg/common/audit.c:404,1
    - Dst: va_end
      Src: /src/gnupg/common/audit.c:405,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:407,1
    - Dst: es_fputc
      Src: /src/gnupg/common/audit.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - format
    argTypes:
    - audit_ctx_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 410
    functionName: writeout_para
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - va_end
    - es_fputc
    - va_start
    - es_fputs
    - writeout_v
    linkageType: ''
    returnType: void
    signature: void writeout_para (audit_ctx_t ctx, const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - audit_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 429
    functionName: enter_li
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - es_fputs
    linkageType: ''
    returnType: void
    signature: void enter_li (audit_ctx_t ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - audit_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 441
    functionName: leave_li
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - es_fputs
    linkageType: ''
    returnType: void
    signature: void leave_li (audit_ctx_t ctx)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:454,1
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:455,1
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:457,1
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:458,1
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:466,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:467,1
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:468,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:469,1
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:470,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:474,1
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:476,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:477,1
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:478,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:479,1
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:480,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:481,1
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:482,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:483,1
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:484,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:485,1
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:486,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:487,1
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:488,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:489,1
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:490,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:491,1
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:492,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:493,1
    - Dst: strchr
      Src: /src/gnupg/common/audit.c:498,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:506,1
    - Dst: es_fprintf
      Src: /src/gnupg/common/audit.c:508,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:510,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:512,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:513,1
    - Dst: es_fprintf
      Src: /src/gnupg/common/audit.c:516,1
    - Dst: va_start
      Src: /src/gnupg/common/audit.c:519,1
    - Dst: writeout_v
      Src: /src/gnupg/common/audit.c:520,1
    - Dst: va_end
      Src: /src/gnupg/common/audit.c:521,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:524,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:529,1
    - Dst: es_fprintf
      Src: /src/gnupg/common/audit.c:531,1
    - Dst: writeout
      Src: /src/gnupg/common/audit.c:534,1
    - Dst: writeout
      Src: /src/gnupg/common/audit.c:535,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:537,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:541,1
    - Dst: es_fputc
      Src: /src/gnupg/common/audit.c:543,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 68
    argCount: 3
    argNames:
    - ctx
    - oktext
    - format
    argTypes:
    - audit_ctx_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 544
    functionName: writeout_li
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - writeout
    - va_end
    - es_fprintf
    - es_fputc
    - _
    - strcmp
    - strchr
    - va_start
    - es_fputs
    - writeout_v
    linkageType: ''
    returnType: void
    signature: void writeout_li (audit_ctx_t ctx, const char *oktext, const char *format,
      ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:557,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:559,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:560,1
    - Dst: es_fprintf
      Src: /src/gnupg/common/audit.c:564,1
    - Dst: va_start
      Src: /src/gnupg/common/audit.c:567,1
    - Dst: writeout_v
      Src: /src/gnupg/common/audit.c:568,1
    - Dst: va_end
      Src: /src/gnupg/common/audit.c:569,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:572,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - format
    argTypes:
    - audit_ctx_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 575
    functionName: writeout_rem
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - va_end
    - es_fprintf
    - va_start
    - es_fputs
    - writeout_v
    linkageType: ''
    returnType: void
    signature: void writeout_rem (audit_ctx_t ctx, const char *format, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - startitem
    - event
    - stopevent
    argTypes:
    - audit_ctx_t
    - log_item_t
    - audit_event_t
    - audit_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 600
    functionName: find_next_log_item
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: log_item_t
    signature: "log_item_t find_next_log_item (audit_ctx_t ctx, log_item_t startitem,\n
      \                   audit_event_t event, audit_event_t stopevent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - event
    - stopevent
    argTypes:
    - audit_ctx_t
    - audit_event_t
    - audit_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 607
    functionName: find_log_item
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - find_next_log_item
    linkageType: ''
    returnType: log_item_t
    signature: log_item_t find_log_item (audit_ctx_t ctx, audit_event_t event, audit_event_t
      stopevent)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/gnupg/common/audit.c:621,1
    - Dst: strtoul
      Src: /src/gnupg/common/audit.c:622,1
    - Dst: BUG
      Src: /src/gnupg/common/audit.c:625,1
    - Dst: bin2hex
      Src: /src/gnupg/common/audit.c:626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - sn
    argTypes:
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 627
    functionName: format_serial
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - bin2hex
    - strtoul
    - BUG
    linkageType: ''
    returnType: char
    signature: 'char *

      format_serial (ksba_const_sexp_t sn)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/common/audit.c:640,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/common/audit.c:642,1
    - Dst: ksba_cert_get_serial
      Src: /src/gnupg/common/audit.c:643,1
    - Dst: format_serial
      Src: /src/gnupg/common/audit.c:646,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/audit.c:648,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/audit.c:651,1
    - Dst: strlen
      Src: /src/gnupg/common/audit.c:651,1
    - Dst: strlen
      Src: /src/gnupg/common/audit.c:651,1
    - Dst: strcpy
      Src: /src/gnupg/common/audit.c:655,1
    - Dst: stpcpy
      Src: /src/gnupg/common/audit.c:655,1
    - Dst: stpcpy
      Src: /src/gnupg/common/audit.c:655,1
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:657,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/audit.c:661,1
    - Dst: ksba_free
      Src: /src/gnupg/common/audit.c:662,1
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 632
    functionDepth: 3
    functionLinenumber: 632
    functionLinenumberEnd: 665
    functionName: get_cert_name
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - format_serial
    - ksba_free
    - strlen
    - xtrystrdup
    - strcpy
    - xfree
    - ksba_cert_get_serial
    - stpcpy
    - xtrymalloc
    - ksba_cert_get_issuer
    linkageType: ''
    returnType: char
    signature: 'char *

      get_cert_name (ksba_cert_t cert)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/common/audit.c:676,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/common/audit.c:678,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/audit.c:681,1
    - Dst: strlen
      Src: /src/gnupg/common/audit.c:681,1
    - Dst: strcpy
      Src: /src/gnupg/common/audit.c:685,1
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - cert
    - idx
    argTypes:
    - ksba_cert_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 692
    functionName: get_cert_subject
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - strlen
    - ksba_cert_get_subject
    - xtrystrdup
    - strcpy
    - xfree
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      get_cert_subject (ksba_cert_t cert, int idx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cert_name
      Src: /src/gnupg/common/audit.c:702,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:703,1
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:704,1
    - Dst: enter_li
      Src: /src/gnupg/common/audit.c:707,1
    - Dst: get_cert_subject
      Src: /src/gnupg/common/audit.c:708,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:710,1
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:711,1
    - Dst: leave_li
      Src: /src/gnupg/common/audit.c:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - cert
    - with_subj
    argTypes:
    - audit_ctx_t
    - ksba_cert_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 696
    functionDepth: 4
    functionLinenumber: 696
    functionLinenumberEnd: 715
    functionName: list_cert
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - writeout_rem
    - enter_li
    - leave_li
    - xfree
    - get_cert_name
    - get_cert_subject
    linkageType: ''
    returnType: void
    signature: void list_cert (audit_ctx_t ctx, ksba_cert_t cert, int with_subj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:725,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:726,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:726,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:730,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:733,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:733,1
    - Dst: list_cert
      Src: /src/gnupg/common/audit.c:736,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:739,1
    - Dst: list_cert
      Src: /src/gnupg/common/audit.c:742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - startitem
    - stopevent
    argTypes:
    - audit_ctx_t
    - log_item_t
    - audit_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 720
    functionDepth: 5
    functionLinenumber: 720
    functionLinenumberEnd: 744
    functionName: list_certchain
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - writeout_rem
    - find_next_log_item
    - writeout_li
    - _
    - list_cert
    linkageType: ''
    returnType: void
    signature: void list_certchain (audit_ctx_t ctx, log_item_t startitem, audit_event_t
      stopevent)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find_log_item
      Src: /src/gnupg/common/audit.c:758,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:759,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:759,1
    - Dst: enter_li
      Src: /src/gnupg/common/audit.c:761,1
    - Dst: find_log_item
      Src: /src/gnupg/common/audit.c:763,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:764,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:764,1
    - Dst: find_log_item
      Src: /src/gnupg/common/audit.c:766,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:767,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:767,1
    - Dst: gcry_cipher_map_name
      Src: /src/gnupg/common/audit.c:770,1
    - Dst: gcry_cipher_mode_from_oid
      Src: /src/gnupg/common/audit.c:771,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/audit.c:774,1
    - Dst: gnupg_cipher_algo_name
      Src: /src/gnupg/common/audit.c:774,1
    - Dst: gnupg_cipher_mode_name
      Src: /src/gnupg/common/audit.c:775,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:776,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:776,1
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:777,1
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:779,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:780,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:780,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:782,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:782,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:784,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:784,1
    - Dst: find_log_item
      Src: /src/gnupg/common/audit.c:787,1
    - Dst: snprintf
      Src: /src/gnupg/common/audit.c:788,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:790,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:790,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:795,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:798,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:798,1
    - Dst: get_cert_name
      Src: /src/gnupg/common/audit.c:801,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:802,1
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:803,1
    - Dst: enter_li
      Src: /src/gnupg/common/audit.c:804,1
    - Dst: get_cert_subject
      Src: /src/gnupg/common/audit.c:805,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:807,1
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:808,1
    - Dst: leave_li
      Src: /src/gnupg/common/audit.c:810,1
    - Dst: leave_li
      Src: /src/gnupg/common/audit.c:814,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - audit_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 749
    functionDepth: 4
    functionLinenumber: 749
    functionLinenumberEnd: 815
    functionName: proc_type_encrypt
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - writeout_rem
    - gcry_cipher_mode_from_oid
    - enter_li
    - gcry_cipher_map_name
    - xstrconcat
    - writeout_li
    - snprintf
    - find_next_log_item
    - leave_li
    - find_log_item
    - _
    - strcmp
    - gnupg_cipher_mode_name
    - xfree
    - gnupg_cipher_algo_name
    - get_cert_name
    - get_cert_subject
    linkageType: ''
    returnType: void
    signature: void proc_type_encrypt (audit_ctx_t ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: find_log_item
      Src: /src/gnupg/common/audit.c:830,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:831,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:831,1
    - Dst: enter_li
      Src: /src/gnupg/common/audit.c:833,1
    - Dst: find_log_item
      Src: /src/gnupg/common/audit.c:835,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:836,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:836,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:841,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:845,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:845,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/common/audit.c:846,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:853,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:857,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/audit.c:862,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/audit.c:865,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:868,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:868,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:869,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:872,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:872,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/common/audit.c:873,1
    - Dst: get_cert_name
      Src: /src/gnupg/common/audit.c:877,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:878,1
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:879,1
    - Dst: enter_li
      Src: /src/gnupg/common/audit.c:880,1
    - Dst: get_cert_subject
      Src: /src/gnupg/common/audit.c:881,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:883,1
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:884,1
    - Dst: leave_li
      Src: /src/gnupg/common/audit.c:886,1
    - Dst: leave_li
      Src: /src/gnupg/common/audit.c:890,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - audit_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 820
    functionDepth: 4
    functionLinenumber: 820
    functionLinenumberEnd: 891
    functionName: proc_type_sign
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - writeout_rem
    - enter_li
    - gcry_md_algo_name
    - find_next_log_item
    - writeout_li
    - leave_li
    - find_log_item
    - _
    - gpg_err_code
    - gpg_strerror
    - xfree
    - get_cert_name
    - get_cert_subject
    linkageType: ''
    returnType: void
    signature: void proc_type_sign (audit_ctx_t ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: find_log_item
      Src: /src/gnupg/common/audit.c:905,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:906,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:907,1
    - Dst: enter_li
      Src: /src/gnupg/common/audit.c:909,1
    - Dst: find_log_item
      Src: /src/gnupg/common/audit.c:911,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:912,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:912,1
    - Dst: find_log_item
      Src: /src/gnupg/common/audit.c:914,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:916,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:916,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:918,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:918,1
    - Dst: gnupg_cipher_algo_name
      Src: /src/gnupg/common/audit.c:918,1
    - Dst: find_log_item
      Src: /src/gnupg/common/audit.c:920,1
    - Dst: gcry_cipher_map_name
      Src: /src/gnupg/common/audit.c:923,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:925,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:925,1
    - Dst: gnupg_cipher_algo_name
      Src: /src/gnupg/common/audit.c:925,1
    - Dst: strcmp
      Src: /src/gnupg/common/audit.c:926,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:927,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:927,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:929,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:929,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:931,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:931,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:936,1
    - Dst: snprintf
      Src: /src/gnupg/common/audit.c:938,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:939,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:939,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:943,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:949,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/audit.c:955,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/audit.c:958,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:960,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:962,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:962,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:964,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:967,1
    - Dst: enter_li
      Src: /src/gnupg/common/audit.c:971,1
    - Dst: get_cert_subject
      Src: /src/gnupg/common/audit.c:972,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:974,1
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:975,1
    - Dst: leave_li
      Src: /src/gnupg/common/audit.c:977,1
    - Dst: leave_li
      Src: /src/gnupg/common/audit.c:981,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - audit_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 896
    functionDepth: 3
    functionLinenumber: 896
    functionLinenumberEnd: 982
    functionName: proc_type_decrypt
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - writeout_rem
    - enter_li
    - gcry_cipher_map_name
    - find_next_log_item
    - writeout_li
    - snprintf
    - leave_li
    - find_log_item
    - _
    - strcmp
    - gpg_err_code
    - gpg_strerror
    - gnupg_cipher_algo_name
    - xfree
    - get_cert_subject
    linkageType: ''
    returnType: void
    signature: void proc_type_decrypt (audit_ctx_t ctx)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: find_log_item
      Src: /src/gnupg/common/audit.c:998,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:999,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:999,1
    - Dst: enter_li
      Src: /src/gnupg/common/audit.c:1000,1
    - Dst: find_log_item
      Src: /src/gnupg/common/audit.c:1002,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:1003,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1003,1
    - Dst: find_log_item
      Src: /src/gnupg/common/audit.c:1007,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:1008,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1008,1
    - Dst: find_log_item
      Src: /src/gnupg/common/audit.c:1023,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:1030,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1030,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:1039,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1039,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/common/audit.c:1040,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:1042,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1042,1
    - Dst: find_log_item
      Src: /src/gnupg/common/audit.c:1049,1
    - Dst: assert
      Src: /src/gnupg/common/audit.c:1050,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:1055,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:1057,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1057,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:1058,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:1061,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:1063,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:1066,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1066,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/common/audit.c:1067,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:1068,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:1071,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1071,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/common/audit.c:1072,1
    - Dst: enter_li
      Src: /src/gnupg/common/audit.c:1074,1
    - Dst: list_certchain
      Src: /src/gnupg/common/audit.c:1077,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:1080,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:1084,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1085,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:1087,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/audit.c:1087,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:1091,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:1095,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1096,1
    - Dst: add_helptag
      Src: /src/gnupg/common/audit.c:1099,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:1100,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/audit.c:1100,1
    - Dst: list_cert
      Src: /src/gnupg/common/audit.c:1101,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:1106,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/audit.c:1111,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1119,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1122,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/audit.c:1124,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:1127,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1127,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/audit.c:1129,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/audit.c:1130,1
    - Dst: add_helptag
      Src: /src/gnupg/common/audit.c:1131,1
    - Dst: leave_li
      Src: /src/gnupg/common/audit.c:1134,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:1136,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:1143,1
    - Dst: snprintf
      Src: /src/gnupg/common/audit.c:1146,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:1147,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1147,1
    - Dst: find_next_log_item
      Src: /src/gnupg/common/audit.c:1149,1
    - Dst: get_cert_name
      Src: /src/gnupg/common/audit.c:1152,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:1153,1
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:1154,1
    - Dst: enter_li
      Src: /src/gnupg/common/audit.c:1155,1
    - Dst: get_cert_subject
      Src: /src/gnupg/common/audit.c:1156,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:1158,1
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:1159,1
    - Dst: leave_li
      Src: /src/gnupg/common/audit.c:1161,1
    - Dst: leave_li
      Src: /src/gnupg/common/audit.c:1163,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 125
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - audit_ctx_t
    assertStmts:
    - condition: (loopitem)
      pos:
        line_end: 1049
        line_start: 1049
        source_file: /src/gnupg/common/audit.c
    constantsTouched: []
    func_position:
      end: 1164
      start: 987
    functionDepth: 6
    functionLinenumber: 987
    functionLinenumberEnd: 1164
    functionName: proc_type_verify
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - list_certchain
    - writeout_rem
    - add_helptag
    - enter_li
    - gcry_md_algo_name
    - assert
    - writeout_li
    - find_next_log_item
    - snprintf
    - leave_li
    - find_log_item
    - _
    - list_cert
    - gpg_strerror
    - gpg_err_code
    - xfree
    - get_cert_name
    - get_cert_subject
    linkageType: ''
    returnType: void
    signature: void proc_type_verify (audit_ctx_t ctx)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: i18n_switchto_utf8
      Src: /src/gnupg/common/audit.c:1184,1
    - Dst: getenv
      Src: /src/gnupg/common/audit.c:1188,1
    - Dst: assert
      Src: /src/gnupg/common/audit.c:1191,1
    - Dst: clear_helptags
      Src: /src/gnupg/common/audit.c:1195,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:1198,1
    - Dst: writeout_para
      Src: /src/gnupg/common/audit.c:1202,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1202,1
    - Dst: DIM
      Src: /src/gnupg/common/audit.c:1210,1
    - Dst: strlen
      Src: /src/gnupg/common/audit.c:1212,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:1218,1
    - Dst: es_fprintf
      Src: /src/gnupg/common/audit.c:1221,1
    - Dst: event2str
      Src: /src/gnupg/common/audit.c:1222,1
    - Dst: es_fprintf
      Src: /src/gnupg/common/audit.c:1224,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:1227,1
    - Dst: writeout
      Src: /src/gnupg/common/audit.c:1228,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:1229,1
    - Dst: es_fprintf
      Src: /src/gnupg/common/audit.c:1232,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:1235,1
    - Dst: writeout
      Src: /src/gnupg/common/audit.c:1236,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/audit.c:1236,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:1237,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:1239,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:1242,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:1244,1
    - Dst: enter_li
      Src: /src/gnupg/common/audit.c:1247,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:1251,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1251,1
    - Dst: proc_type_encrypt
      Src: /src/gnupg/common/audit.c:1254,1
    - Dst: proc_type_sign
      Src: /src/gnupg/common/audit.c:1257,1
    - Dst: proc_type_decrypt
      Src: /src/gnupg/common/audit.c:1260,1
    - Dst: proc_type_verify
      Src: /src/gnupg/common/audit.c:1263,1
    - Dst: find_log_item
      Src: /src/gnupg/common/audit.c:1266,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:1269,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1269,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:1272,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/audit.c:1272,1
    - Dst: add_helptag
      Src: /src/gnupg/common/audit.c:1273,1
    - Dst: find_log_item
      Src: /src/gnupg/common/audit.c:1276,1
    - Dst: writeout_li
      Src: /src/gnupg/common/audit.c:1279,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1279,1
    - Dst: writeout_rem
      Src: /src/gnupg/common/audit.c:1282,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/audit.c:1282,1
    - Dst: add_helptag
      Src: /src/gnupg/common/audit.c:1283,1
    - Dst: leave_li
      Src: /src/gnupg/common/audit.c:1286,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:1294,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:1296,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:1299,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:1306,1
    - Dst: gnupg_get_help_string
      Src: /src/gnupg/common/audit.c:1308,1
    - Dst: writeout_para
      Src: /src/gnupg/common/audit.c:1311,1
    - Dst: xfree
      Src: /src/gnupg/common/audit.c:1312,1
    - Dst: writeout_para
      Src: /src/gnupg/common/audit.c:1315,1
    - Dst: _
      Src: /src/gnupg/common/audit.c:1315,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:1317,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:1319,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:1322,1
    - Dst: es_fputs
      Src: /src/gnupg/common/audit.c:1326,1
    - Dst: clear_helptags
      Src: /src/gnupg/common/audit.c:1329,1
    - Dst: i18n_switchback
      Src: /src/gnupg/common/audit.c:1330,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 115
    argCount: 3
    argNames:
    - ctx
    - out
    - use_html
    argTypes:
    - audit_ctx_t
    - estream_t
    - int
    assertStmts:
    - condition: (!ctx->outstream)
      pos:
        line_end: 1190
        line_start: 1190
        source_file: /src/gnupg/common/audit.c
    constantsTouched: []
    func_position:
      end: 1331
      start: 1170
    functionDepth: 8
    functionLinenumber: 1170
    functionLinenumberEnd: 1331
    functionName: audit_print_result
    functionSourceFile: /src/gnupg/common/audit.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - strlen
    - proc_type_decrypt
    - proc_type_sign
    - gnupg_get_help_string
    - proc_type_encrypt
    - enter_li
    - proc_type_verify
    - writeout_li
    - DIM
    - find_log_item
    - _
    - writeout_para
    - i18n_switchto_utf8
    - assert
    - i18n_switchback
    - gpg_strerror
    - xfree
    - es_fputs
    - writeout
    - writeout_rem
    - add_helptag
    - event2str
    - getenv
    - leave_li
    - clear_helptags
    linkageType: ''
    returnType: void
    signature: void audit_print_result (audit_ctx_t ctx, estream_t out, int use_html)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: tohex
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tohex(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error_t::gpg_err_make
      Src: /src/gnupg/common/sysutils.c:124,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/sysutils.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: gpg_error_t::my_error_from_syserror
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached:
    - gpg_error_t::gpg_err_make
    - gpg_err_code_from_syserror
    linkageType: ''
    returnType: GPGRT_INLINE
    signature: 'GPGRT_INLINE gpg_error_t

      my_error_from_syserror (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make
      Src: /src/gnupg/common/sysutils.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: gpg_error_t
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached:
    - gpg_err_make
    linkageType: ''
    returnType: GPGRT_INLINE
    signature: 'GPGRT_INLINE gpg_error_t

      my_error (int e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/gnupg/common/sysutils.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - op
    - buffer
    - size
    - start
    - arg
    - flag
    argTypes:
    - unsigned long
    - void*
    - unsigned long
    - int*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: setsysinfo
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: "int setsysinfo(unsigned long op, void *buffer, unsigned long size,\n\t\t
      \    int *start, void *arg, unsigned long flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsysinfo
      Src: /src/gnupg/common/sysutils.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: trap_unaligned
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 1
    functionsReached:
    - setsysinfo
    linkageType: ''
    returnType: void
    signature: void trap_unaligned(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: trap_unaligned
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void trap_unaligned(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/gnupg/common/sysutils.c:172,1
    - Dst: setrlimit
      Src: /src/gnupg/common/sysutils.c:175,1
    - Dst: log_fatal
      Src: /src/gnupg/common/sysutils.c:178,1
    - Dst: _
      Src: /src/gnupg/common/sysutils.c:178,1
    - Dst: strerror
      Src: /src/gnupg/common/sysutils.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 182
    functionName: disable_core_dumps
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 1
    functionsReached:
    - getrlimit
    - log_fatal
    - _
    - setrlimit
    - strerror
    linkageType: ''
    returnType: int
    signature: int disable_core_dumps (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/gnupg/common/sysutils.c:193,1
    - Dst: setrlimit
      Src: /src/gnupg/common/sysutils.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 202
    functionName: enable_core_dumps
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached:
    - getrlimit
    - setrlimit
    linkageType: ''
    returnType: int
    signature: int enable_core_dumps (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: any8bitchar
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int any8bitchar (const char *string)
  - BBCount: 75
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 151
    argCount: 1
    argNames:
    - w32_err
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 329
    functionName: map_w32_to_errno
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int map_w32_to_errno (DWORD w32_err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_w32_set_errno
      Src: /src/gnupg/common/sysutils.c:341,1
    - Dst: GetLastError
      Src: /src/gnupg/common/sysutils.c:344,1
    - Dst: _set_errno
      Src: /src/gnupg/common/sysutils.c:345,1
    - Dst: map_w32_to_errno
      Src: /src/gnupg/common/sysutils.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ec
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: gnupg_w32_set_errno
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 4
    functionsReached:
    - _set_errno
    - map_w32_to_errno
    - GetLastError
    - gpgrt_w32_set_errno
    linkageType: ''
    returnType: int
    signature: int gnupg_w32_set_errno (int ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: enable_special_filenames
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_special_filenames (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: disable_translate_sys2libc_fd
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void disable_translate_sys2libc_fd (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_create_nonce
      Src: /src/gnupg/common/sysutils.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rlen
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 385
    functionName: get_session_marker
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 2
    functionsReached:
    - gcry_create_nonce
    linkageType: ''
    returnType: byte
    signature: 'byte *

      get_session_marker (size_t *rlen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_create_nonce
      Src: /src/gnupg/common/sysutils.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 395
    functionName: get_uint_nonce
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached:
    - gcry_create_nonce
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_uint_nonce (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/common/sysutils.c:415,1
    - Dst: make_filename
      Src: /src/gnupg/common/sysutils.c:416,1
    - Dst: make_filename
      Src: /src/gnupg/common/sysutils.c:418,1
    - Dst: m_strdup
      Src: /src/gnupg/common/sysutils.c:421,1
    - Dst: stat
      Src: /src/gnupg/common/sysutils.c:424,1
    - Dst: S_ISDIR
      Src: /src/gnupg/common/sysutils.c:430,1
    - Dst: getuid
      Src: /src/gnupg/common/sysutils.c:434,1
    - Dst: getuid
      Src: /src/gnupg/common/sysutils.c:435,1
    - Dst: log_info
      Src: /src/gnupg/common/sysutils.c:438,1
    - Dst: _
      Src: /src/gnupg/common/sysutils.c:438,1
    - Dst: make_dirname
      Src: /src/gnupg/common/sysutils.c:458,1
    - Dst: stat
      Src: /src/gnupg/common/sysutils.c:459,1
    - Dst: getuid
      Src: /src/gnupg/common/sysutils.c:459,1
    - Dst: S_ISDIR
      Src: /src/gnupg/common/sysutils.c:460,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:462,1
    - Dst: m_free
      Src: /src/gnupg/common/sysutils.c:467,1
    - Dst: log_info
      Src: /src/gnupg/common/sysutils.c:470,1
    - Dst: _
      Src: /src/gnupg/common/sysutils.c:470,1
    - Dst: m_free
      Src: /src/gnupg/common/sysutils.c:478,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 41
    argCount: 3
    argNames:
    - path
    - extension
    - checkonly
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 485
    functionName: check_permissions
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 1
    functionsReached:
    - make_filename
    - _
    - strchr
    - S_ISDIR
    - getuid
    - stat
    - log_info
    - make_dirname
    - xfree
    - m_free
    - m_strdup
    linkageType: ''
    returnType: int
    signature: int check_permissions(const char *path,int extension,int checkonly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: npth_sleep
      Src: /src/gnupg/common/sysutils.c:497,1
    - Dst: Sleep
      Src: /src/gnupg/common/sysutils.c:501,1
    - Dst: sleep
      Src: /src/gnupg/common/sysutils.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - seconds
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 506
    functionName: gnupg_sleep
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 3
    functionsReached:
    - Sleep
    - sleep
    - npth_sleep
    linkageType: ''
    returnType: void
    signature: void gnupg_sleep (unsigned int seconds)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_usleep
      Src: /src/gnupg/common/sysutils.c:518,1
    - Dst: Sleep
      Src: /src/gnupg/common/sysutils.c:522,1
    - Dst: nanosleep
      Src: /src/gnupg/common/sysutils.c:533,1
    - Dst: select
      Src: /src/gnupg/common/sysutils.c:545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - usecs
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 549
    functionName: gnupg_usleep
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 2
    functionsReached:
    - Sleep
    - select
    - npth_usleep
    - nanosleep
    linkageType: ''
    returnType: void
    signature: void gnupg_usleep (unsigned int usecs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _open_osfhandle
      Src: /src/gnupg/common/sysutils.c:568,1
    - Dst: log_error
      Src: /src/gnupg/common/sysutils.c:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - for_write
    argTypes:
    - gnupg_fd_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 572
    functionName: translate_sys2libc_fd
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 1
    functionsReached:
    - _open_osfhandle
    - log_error
    linkageType: ''
    returnType: int
    signature: int translate_sys2libc_fd (gnupg_fd_t fd, int for_write)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: translate_sys2libc_fd
      Src: /src/gnupg/common/sysutils.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - for_write
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 590
    functionName: translate_sys2libc_fd_int
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 7
    functionsReached:
    - translate_sys2libc_fd
    linkageType: ''
    returnType: int
    signature: int translate_sys2libc_fd_int (int fd, int for_write)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/sysutils.c:614,1
    - Dst: strcmp
      Src: /src/gnupg/common/sysutils.c:616,1
    - Dst: strcmp
      Src: /src/gnupg/common/sysutils.c:618,1
    - Dst: strncmp
      Src: /src/gnupg/common/sysutils.c:628,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/sysutils.c:636,1
    - Dst: strtoll
      Src: /src/gnupg/common/sysutils.c:638,1
    - Dst: strtol
      Src: /src/gnupg/common/sysutils.c:640,1
    - Dst: gpg_error
      Src: /src/gnupg/common/sysutils.c:643,1
    - Dst: atoi
      Src: /src/gnupg/common/sysutils.c:649,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - fdstr
    - r_syshd
    argTypes:
    - char*
    - es_syshd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 654
    functionName: gnupg_parse_fdstr
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 2
    functionsReached:
    - strtol
    - atoi
    - strcmp
    - gpg_error
    - strtoll
    - gpg_err_set_errno
    - strncmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_parse_fdstr (const char *fdstr, es_syshd_t *r_syshd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/common/sysutils.c:671,1
    - Dst: atoi
      Src: /src/gnupg/common/sysutils.c:676,1
    - Dst: gnupg_parse_fdstr
      Src: /src/gnupg/common/sysutils.c:681,1
    - Dst: translate_sys2libc_fd
      Src: /src/gnupg/common/sysutils.c:688,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - fname
    - for_write
    - notranslate
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 697
    functionName: check_special_filename
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 3
    functionsReached:
    - digitp
    - translate_sys2libc_fd
    - atoi
    - gnupg_parse_fdstr
    linkageType: ''
    returnType: int
    signature: int check_special_filename (const char *fname, int for_write, int notranslate)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/common/sysutils.c:713,1
    - Dst: gnupg_parse_fdstr
      Src: /src/gnupg/common/sysutils.c:719,1
    - Dst: GetStdHandle
      Src: /src/gnupg/common/sysutils.c:726,1
    - Dst: GetStdHandle
      Src: /src/gnupg/common/sysutils.c:728,1
    - Dst: GetStdHandle
      Src: /src/gnupg/common/sysutils.c:730,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 740
    functionName: gnupg_check_special_filename
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 3
    functionsReached:
    - digitp
    - GetStdHandle
    - gnupg_parse_fdstr
    linkageType: ''
    returnType: gnupg_fd_t
    signature: gnupg_fd_t gnupg_check_special_filename (const char *fname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentProcessId
      Src: /src/gnupg/common/sysutils.c:754,1
    - Dst: memset
      Src: /src/gnupg/common/sysutils.c:759,1
    - Dst: GetTempPath
      Src: /src/gnupg/common/sysutils.c:763,1
    - Dst: strlen
      Src: /src/gnupg/common/sysutils.c:764,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/sysutils.c:766,1
    - Dst: strlen
      Src: /src/gnupg/common/sysutils.c:769,1
    - Dst: stpcpy
      Src: /src/gnupg/common/sysutils.c:770,1
    - Dst: CreateDirectory
      Src: /src/gnupg/common/sysutils.c:774,1
    - Dst: GetTickCount
      Src: /src/gnupg/common/sysutils.c:780,1
    - Dst: tohex
      Src: /src/gnupg/common/sysutils.c:782,1
    - Dst: strcpy
      Src: /src/gnupg/common/sysutils.c:783,1
    - Dst: CreateFile
      Src: /src/gnupg/common/sysutils.c:784,1
    - Dst: _open_osfhandle
      Src: /src/gnupg/common/sysutils.c:794,1
    - Dst: CloseHandle
      Src: /src/gnupg/common/sysutils.c:797,1
    - Dst: fdopen
      Src: /src/gnupg/common/sysutils.c:800,1
    - Dst: close
      Src: /src/gnupg/common/sysutils.c:804,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/sysutils.c:805,1
    - Dst: Sleep
      Src: /src/gnupg/common/sysutils.c:810,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/sysutils.c:812,1
    - Dst: tmpfile
      Src: /src/gnupg/common/sysutils.c:817,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 820
    functionName: gnupg_tmpfile
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 2
    functionsReached:
    - Sleep
    - CloseHandle
    - fdopen
    - strlen
    - tmpfile
    - CreateDirectory
    - close
    - GetTickCount
    - GetTempPath
    - tohex
    - CreateFile
    - memset
    - strcpy
    - gpg_err_set_errno
    - GetCurrentProcessId
    - stpcpy
    - _open_osfhandle
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      gnupg_tmpfile (void)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/gnupg/common/sysutils.c:841,1
    - Dst: open
      Src: /src/gnupg/common/sysutils.c:843,1
    - Dst: fcntl
      Src: /src/gnupg/common/sysutils.c:849,1
    - Dst: open
      Src: /src/gnupg/common/sysutils.c:851,1
    - Dst: fcntl
      Src: /src/gnupg/common/sysutils.c:857,1
    - Dst: open
      Src: /src/gnupg/common/sysutils.c:859,1
    - Dst: fprintf
      Src: /src/gnupg/common/sysutils.c:877,1
    - Dst: fprintf
      Src: /src/gnupg/common/sysutils.c:879,1
    - Dst: fprintf
      Src: /src/gnupg/common/sysutils.c:881,1
    - Dst: fprintf
      Src: /src/gnupg/common/sysutils.c:884,1
    - Dst: exit
      Src: /src/gnupg/common/sysutils.c:889,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 1
    argNames:
    - pgmname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 893
    functionName: gnupg_reopen_std
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 9
    functionsReached:
    - fprintf
    - exit
    - fcntl
    - open
    linkageType: ''
    returnType: void
    signature: void gnupg_reopen_std (const char *pgmname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - 'yes'
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 907
    functionName: gnupg_inhibit_set_foregound_window
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnupg_inhibit_set_foregound_window (int yes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/common/sysutils.c:915,1
    - Dst: AllowSetForegroundWindow
      Src: /src/gnupg/common/sysutils.c:920,1
    - Dst: getenv
      Src: /src/gnupg/common/sysutils.c:922,1
    - Dst: atoi
      Src: /src/gnupg/common/sysutils.c:923,1
    - Dst: log_info
      Src: /src/gnupg/common/sysutils.c:924,1
    - Dst: w32_strerror
      Src: /src/gnupg/common/sysutils.c:925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pid
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 928
    functionName: gnupg_allow_set_foregound_window
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 3
    functionsReached:
    - atoi
    - getenv
    - log_info
    - w32_strerror
    - AllowSetForegroundWindow
    linkageType: ''
    returnType: void
    signature: void gnupg_allow_set_foregound_window (pid_t pid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetLastError
      Src: /src/gnupg/common/sysutils.c:936,1
    - Dst: gnupg_w32_set_errno
      Src: /src/gnupg/common/sysutils.c:940,1
    - Dst: log_info
      Src: /src/gnupg/common/sysutils.c:959,1
    - Dst: _
      Src: /src/gnupg/common/sysutils.c:959,1
    - Dst: gnupg_usleep
      Src: /src/gnupg/common/sysutils.c:962,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - wtime
    - fname
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 964
    functionName: w32_wait_when_sharing_violation
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached:
    - gnupg_w32_set_errno
    - _
    - gnupg_usleep
    - log_info
    - GetLastError
    linkageType: ''
    returnType: int
    signature: int w32_wait_when_sharing_violation (int wtime, const char *fname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: utf8_to_wchar
      Src: /src/gnupg/common/sysutils.c:980,1
    - Dst: DeleteFileW
      Src: /src/gnupg/common/sysutils.c:985,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:987,1
    - Dst: gnupg_w32_set_errno
      Src: /src/gnupg/common/sysutils.c:992,1
    - Dst: w32_wait_when_sharing_violation
      Src: /src/gnupg/common/sysutils.c:993,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:999,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - fname
    - wait_for_access
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 973
    functionDepth: 3
    functionLinenumber: 973
    functionLinenumberEnd: 1001
    functionName: w32_remove
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached:
    - w32_wait_when_sharing_violation
    - gnupg_w32_set_errno
    - DeleteFileW
    - xfree
    - utf8_to_wchar
    linkageType: ''
    returnType: int
    signature: int w32_remove (const char *fname, int wait_for_access)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: w32_remove
      Src: /src/gnupg/common/sysutils.c:1012,1
    - Dst: strcmp
      Src: /src/gnupg/common/sysutils.c:1017,1
    - Dst: remove
      Src: /src/gnupg/common/sysutils.c:1020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - fname
    - wait_for_access
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1008
    functionDepth: 4
    functionLinenumber: 1008
    functionLinenumberEnd: 1022
    functionName: gnupg_remove_ext
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached:
    - strcmp
    - w32_remove
    - remove
    linkageType: ''
    returnType: int
    signature: int gnupg_remove_ext (const char *fname, int wait_for_access)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_remove_ext
      Src: /src/gnupg/common/sysutils.c:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1024
    functionDepth: 5
    functionLinenumber: 1024
    functionLinenumberEnd: 1028
    functionName: gnupg_remove
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 13
    functionsReached:
    - gnupg_remove_ext
    linkageType: ''
    returnType: int
    signature: int gnupg_remove (const char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: any8bitchar
      Src: /src/gnupg/common/sysutils.c:1036,1
    - Dst: any8bitchar
      Src: /src/gnupg/common/sysutils.c:1036,1
    - Dst: utf8_to_wchar
      Src: /src/gnupg/common/sysutils.c:1041,1
    - Dst: utf8_to_wchar
      Src: /src/gnupg/common/sysutils.c:1044,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:1047,1
    - Dst: _wrename
      Src: /src/gnupg/common/sysutils.c:1050,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:1051,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:1052,1
    - Dst: rename
      Src: /src/gnupg/common/sysutils.c:1056,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - oldname
    - newname
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1057
    functionName: w32_rename
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached:
    - utf8_to_wchar
    - xfree
    - rename
    - _wrename
    - any8bitchar
    linkageType: ''
    returnType: int
    signature: int w32_rename (const char *oldname, const char *newname)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_block_all_signals
      Src: /src/gnupg/common/sysutils.c:1072,1
    - Dst: w32_remove
      Src: /src/gnupg/common/sysutils.c:1078,1
    - Dst: w32_rename
      Src: /src/gnupg/common/sysutils.c:1080,1
    - Dst: w32_wait_when_sharing_violation
      Src: /src/gnupg/common/sysutils.c:1082,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/sysutils.c:1084,1
    - Dst: gnupg_remove
      Src: /src/gnupg/common/sysutils.c:1090,1
    - Dst: rename
      Src: /src/gnupg/common/sysutils.c:1092,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/sysutils.c:1093,1
    - Dst: gnupg_unblock_all_signals
      Src: /src/gnupg/common/sysutils.c:1099,1
    - Dst: log_error
      Src: /src/gnupg/common/sysutils.c:1104,1
    - Dst: _
      Src: /src/gnupg/common/sysutils.c:1104,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/sysutils.c:1105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - oldname
    - newname
    - block_signals
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1066
    functionDepth: 6
    functionLinenumber: 1066
    functionLinenumberEnd: 1107
    functionName: gnupg_rename_file
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 3
    functionsReached:
    - my_error_from_syserror
    - gnupg_unblock_all_signals
    - w32_wait_when_sharing_violation
    - log_error
    - gnupg_block_all_signals
    - _
    - w32_rename
    - gpg_strerror
    - rename
    - gnupg_remove
    - w32_remove
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_rename_file (const char *oldname, const char *newname,
      int *block_signals)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - modestr
    - oldmode
    argTypes:
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1145
    functionName: modestr_to_mode
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mode_t
    signature: mode_t modestr_to_mode (const char *modestr, mode_t oldmode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_mkdir
      Src: /src/gnupg/common/sysutils.c:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - modestr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1166
    functionName: gnupg_mkdir
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 14
    functionsReached:
    - gpgrt_mkdir
    linkageType: ''
    returnType: int
    signature: int gnupg_mkdir (const char *name, const char *modestr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_chdir
      Src: /src/gnupg/common/sysutils.c:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1171
    functionDepth: 1
    functionLinenumber: 1171
    functionLinenumberEnd: 1177
    functionName: gnupg_chdir
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 1
    functionsReached:
    - gpgrt_chdir
    linkageType: ''
    returnType: int
    signature: int gnupg_chdir (const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: utf8_to_wchar
      Src: /src/gnupg/common/sysutils.c:1188,1
    - Dst: RemoveDirectoryW
      Src: /src/gnupg/common/sysutils.c:1193,1
    - Dst: gnupg_w32_set_errno
      Src: /src/gnupg/common/sysutils.c:1195,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:1196,1
    - Dst: rmdir
      Src: /src/gnupg/common/sysutils.c:1202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1181
    functionDepth: 2
    functionLinenumber: 1181
    functionLinenumberEnd: 1204
    functionName: gnupg_rmdir
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 1
    functionsReached:
    - gnupg_w32_set_errno
    - RemoveDirectoryW
    - rmdir
    - xfree
    - utf8_to_wchar
    linkageType: ''
    returnType: int
    signature: int gnupg_rmdir (const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/common/sysutils.c:1221,1
    - Dst: stat
      Src: /src/gnupg/common/sysutils.c:1226,1
    - Dst: chmod
      Src: /src/gnupg/common/sysutils.c:1232,1
    - Dst: modestr_to_mode
      Src: /src/gnupg/common/sysutils.c:1232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - name
    - modestr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1234
    functionName: gnupg_chmod
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 3
    functionsReached:
    - chmod
    - strchr
    - modestr_to_mode
    - stat
    linkageType: ''
    returnType: int
    signature: int gnupg_chmod (const char *name, const char *modestr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/sysutils.c:1275,1
    - Dst: strcmp
      Src: /src/gnupg/common/sysutils.c:1276,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/sysutils.c:1278,1
    - Dst: gcry_create_nonce
      Src: /src/gnupg/common/sysutils.c:1286,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/common/sysutils.c:1306,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/sysutils.c:1308,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/sysutils.c:1316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1241
    functionDepth: 2
    functionLinenumber: 1241
    functionLinenumberEnd: 1318
    functionName: gnupg_mkdtemp
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 2
    functionsReached:
    - strlen
    - gnupg_mkdir
    - strcmp
    - gpg_err_set_errno
    - gcry_create_nonce
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_mkdtemp (char *tmpl)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentVariable
      Src: /src/gnupg/common/sysutils.c:1334,1
    - Dst: SetEnvironmentVariable
      Src: /src/gnupg/common/sysutils.c:1336,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/sysutils.c:1338,1
    - Dst: setenv
      Src: /src/gnupg/common/sysutils.c:1345,1
    - Dst: getenv
      Src: /src/gnupg/common/sysutils.c:1347,1
    - Dst: _putenv_s
      Src: /src/gnupg/common/sysutils.c:1350,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/sysutils.c:1354,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/sysutils.c:1367,1
    - Dst: strconcat
      Src: /src/gnupg/common/sysutils.c:1370,1
    - Dst: putenv
      Src: /src/gnupg/common/sysutils.c:1376,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - name
    - value
    - overwrite
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1381
    functionName: gnupg_setenv
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 2
    functionsReached:
    - SetEnvironmentVariable
    - setenv
    - putenv
    - _putenv_s
    - getenv
    - strconcat
    - gpg_err_set_errno
    - GetEnvironmentVariable
    linkageType: ''
    returnType: int
    signature: int gnupg_setenv (const char *name, const char *value, int overwrite)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SetEnvironmentVariable
      Src: /src/gnupg/common/sysutils.c:1394,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/sysutils.c:1396,1
    - Dst: unsetenv
      Src: /src/gnupg/common/sysutils.c:1402,1
    - Dst: _putenv_s
      Src: /src/gnupg/common/sysutils.c:1405,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/sysutils.c:1409,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/sysutils.c:1422,1
    - Dst: strconcat
      Src: /src/gnupg/common/sysutils.c:1425,1
    - Dst: putenv
      Src: /src/gnupg/common/sysutils.c:1429,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:1433,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1442
    functionName: gnupg_unsetenv
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 1
    functionsReached:
    - SetEnvironmentVariable
    - putenv
    - _putenv_s
    - strconcat
    - xfree
    - gpg_err_set_errno
    - unsetenv
    linkageType: ''
    returnType: int
    signature: int gnupg_unsetenv (const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_getcwd
      Src: /src/gnupg/common/sysutils.c:1450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1447
    functionDepth: 1
    functionLinenumber: 1447
    functionLinenumberEnd: 1451
    functionName: gnupg_getcwd
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 3
    functionsReached:
    - gpgrt_getcwd
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_getcwd (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_access
      Src: /src/gnupg/common/sysutils.c:1459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1460
    functionName: gnupg_access
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 26
    functionsReached:
    - gpgrt_access
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gnupg_access (const char *name, int mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: any8bitchar
      Src: /src/gnupg/common/sysutils.c:1479,1
    - Dst: utf8_to_wchar
      Src: /src/gnupg/common/sysutils.c:1485,1
    - Dst: _wstat
      Src: /src/gnupg/common/sysutils.c:1488,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:1489,1
    - Dst: stat
      Src: /src/gnupg/common/sysutils.c:1507,1
    - Dst: stat
      Src: /src/gnupg/common/sysutils.c:1509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - name
    - statbuf
    argTypes:
    - char*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1511
    functionName: gnupg_stat
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 17
    functionsReached:
    - xfree
    - stat
    - utf8_to_wchar
    - _wstat
    - any8bitchar
    linkageType: ''
    returnType: int
    signature: int gnupg_stat (const char *name, struct stat *statbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: any8bitchar
      Src: /src/gnupg/common/sysutils.c:1520,1
    - Dst: utf8_to_wchar
      Src: /src/gnupg/common/sysutils.c:1525,1
    - Dst: _wopen
      Src: /src/gnupg/common/sysutils.c:1528,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:1529,1
    - Dst: open
      Src: /src/gnupg/common/sysutils.c:1533,1
    - Dst: open
      Src: /src/gnupg/common/sysutils.c:1535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - flags
    - mode
    argTypes:
    - char*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1537
    functionName: gnupg_open
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 4
    functionsReached:
    - open
    - xfree
    - utf8_to_wchar
    - _wopen
    - any8bitchar
    linkageType: ''
    returnType: int
    signature: int gnupg_open (const char *name, int flags, unsigned int mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: utf8_to_wchar
      Src: /src/gnupg/common/sysutils.c:1556,1
    - Dst: _wopendir
      Src: /src/gnupg/common/sysutils.c:1559,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:1560,1
    - Dst: opendir
      Src: /src/gnupg/common/sysutils.c:1562,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/sysutils.c:1568,1
    - Dst: _wclosedir
      Src: /src/gnupg/common/sysutils.c:1573,1
    - Dst: closedir
      Src: /src/gnupg/common/sysutils.c:1575,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/sysutils.c:1577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1585
    functionName: gnupg_opendir
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 4
    functionsReached:
    - closedir
    - _wopendir
    - _wclosedir
    - xfree
    - gpg_err_set_errno
    - utf8_to_wchar
    - xtrymalloc
    - opendir
    linkageType: ''
    returnType: gnupg_dir_t
    signature: gnupg_dir_t gnupg_opendir (const char *name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/sysutils.c:1603,1
    - Dst: _wreaddir
      Src: /src/gnupg/common/sysutils.c:1608,1
    - Dst: wchar_to_utf8
      Src: /src/gnupg/common/sysutils.c:1611,1
    - Dst: readdir
      Src: /src/gnupg/common/sysutils.c:1616,1
    - Dst: strlen
      Src: /src/gnupg/common/sysutils.c:1623,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:1630,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/sysutils.c:1631,1
    - Dst: strcpy
      Src: /src/gnupg/common/sysutils.c:1635,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/sysutils.c:1641,1
    - Dst: strcpy
      Src: /src/gnupg/common/sysutils.c:1644,1
    - Dst: strcpy
      Src: /src/gnupg/common/sysutils.c:1650,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:1654,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - gdir
    argTypes:
    - gnupg_dir_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1658
    functionName: gnupg_readdir
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 4
    functionsReached:
    - _wreaddir
    - readdir
    - strlen
    - xfree
    - strcpy
    - wchar_to_utf8
    - gpg_err_set_errno
    - xtrymalloc
    linkageType: ''
    returnType: gnupg_dirent_t
    signature: gnupg_dirent_t gnupg_readdir (gnupg_dir_t gdir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:1674,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:1675,1
    - Dst: _wclosedir
      Src: /src/gnupg/common/sysutils.c:1678,1
    - Dst: closedir
      Src: /src/gnupg/common/sysutils.c:1680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - gdir
    argTypes:
    - gnupg_dir_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1682
    functionName: gnupg_closedir
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 4
    functionsReached:
    - closedir
    - xfree
    - _wclosedir
    linkageType: ''
    returnType: int
    signature: int gnupg_closedir (gnupg_dir_t gdir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_setenv
      Src: /src/gnupg/common/sysutils.c:1690,1
    - Dst: log_info
      Src: /src/gnupg/common/sysutils.c:1692,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/sysutils.c:1693,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/sysutils.c:1693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - name
    - value
    - silent
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1687
    functionDepth: 1
    functionLinenumber: 1687
    functionLinenumberEnd: 1694
    functionName: try_set_envvar
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached:
    - my_error_from_syserror
    - log_info
    - gpg_strerror
    - gnupg_setenv
    linkageType: ''
    returnType: void
    signature: void try_set_envvar (const char *name, const char *value, int silent)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/sysutils.c:1717,1
    - Dst: strtoul
      Src: /src/gnupg/common/sysutils.c:1718,1
    - Dst: getpwnam
      Src: /src/gnupg/common/sysutils.c:1720,1
    - Dst: getpwuid
      Src: /src/gnupg/common/sysutils.c:1722,1
    - Dst: log_error
      Src: /src/gnupg/common/sysutils.c:1727,1
    - Dst: my_error
      Src: /src/gnupg/common/sysutils.c:1728,1
    - Dst: stat
      Src: /src/gnupg/common/sysutils.c:1732,1
    - Dst: try_set_envvar
      Src: /src/gnupg/common/sysutils.c:1733,1
    - Dst: try_set_envvar
      Src: /src/gnupg/common/sysutils.c:1735,1
    - Dst: try_set_envvar
      Src: /src/gnupg/common/sysutils.c:1736,1
    - Dst: try_set_envvar
      Src: /src/gnupg/common/sysutils.c:1738,1
    - Dst: getuid
      Src: /src/gnupg/common/sysutils.c:1741,1
    - Dst: try_set_envvar
      Src: /src/gnupg/common/sysutils.c:1746,1
    - Dst: gnupg_unsetenv
      Src: /src/gnupg/common/sysutils.c:1747,1
    - Dst: log_info
      Src: /src/gnupg/common/sysutils.c:1749,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/sysutils.c:1750,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/sysutils.c:1750,1
    - Dst: initgroups
      Src: /src/gnupg/common/sysutils.c:1752,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/sysutils.c:1754,1
    - Dst: log_error
      Src: /src/gnupg/common/sysutils.c:1756,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/sysutils.c:1757,1
    - Dst: setuid
      Src: /src/gnupg/common/sysutils.c:1761,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/sysutils.c:1763,1
    - Dst: log_error
      Src: /src/gnupg/common/sysutils.c:1764,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/sysutils.c:1765,1
    - Dst: log_info
      Src: /src/gnupg/common/sysutils.c:1773,1
    - Dst: my_error
      Src: /src/gnupg/common/sysutils.c:1774,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - user
    - silent
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1702
    functionDepth: 2
    functionLinenumber: 1702
    functionLinenumberEnd: 1776
    functionName: gnupg_chuid
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 4
    functionsReached:
    - my_error_from_syserror
    - log_error
    - gpg_error_from_syserror
    - getpwnam
    - gnupg_unsetenv
    - getuid
    - my_error
    - gpg_err_set_errno
    - stat
    - getpwuid
    - log_info
    - try_set_envvar
    - strtoul
    - gpg_strerror
    - initgroups
    - setuid
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_chuid (const char *user, int silent)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OpenProcess
      Src: /src/gnupg/common/sysutils.c:1794,1
    - Dst: GetCurrentProcessId
      Src: /src/gnupg/common/sysutils.c:1794,1
    - Dst: OpenProcessToken
      Src: /src/gnupg/common/sysutils.c:1798,1
    - Dst: GetTokenInformation
      Src: /src/gnupg/common/sysutils.c:1801,1
    - Dst: GetLastError
      Src: /src/gnupg/common/sysutils.c:1802,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/sysutils.c:1805,1
    - Dst: GetTokenInformation
      Src: /src/gnupg/common/sysutils.c:1809,1
    - Dst: IsValidSid
      Src: /src/gnupg/common/sysutils.c:1811,1
    - Dst: GetLengthSid
      Src: /src/gnupg/common/sysutils.c:1813,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/sysutils.c:1814,1
    - Dst: CopySid
      Src: /src/gnupg/common/sysutils.c:1817,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:1822,1
    - Dst: CloseHandle
      Src: /src/gnupg/common/sysutils.c:1824,1
    - Dst: CloseHandle
      Src: /src/gnupg/common/sysutils.c:1826,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:1830,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 1834
    functionName: w32_get_user_sid
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - OpenProcess
    - CopySid
    - IsValidSid
    - GetLengthSid
    - xfree
    - OpenProcessToken
    - GetCurrentProcessId
    - GetLastError
    - xtrymalloc
    - GetTokenInformation
    linkageType: ''
    returnType: PSID
    signature: PSID w32_get_user_sid (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: my_error
      Src: /src/gnupg/common/sysutils.c:1853,1
    - Dst: inotify_init
      Src: /src/gnupg/common/sysutils.c:1855,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/sysutils.c:1857,1
    - Dst: inotify_add_watch
      Src: /src/gnupg/common/sysutils.c:1859,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/sysutils.c:1861,1
    - Dst: close
      Src: /src/gnupg/common/sysutils.c:1862,1
    - Dst: my_error
      Src: /src/gnupg/common/sysutils.c:1872,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - r_fd
    - fname
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1843
    functionDepth: 0
    functionLinenumber: 1843
    functionLinenumberEnd: 1875
    functionName: gnupg_inotify_watch_delete_self
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached:
    - my_error_from_syserror
    - inotify_add_watch
    - close
    - my_error
    - inotify_init
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_inotify_watch_delete_self (int *r_fd, const char
      *fname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: my_error
      Src: /src/gnupg/common/sysutils.c:1892,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/sysutils.c:1894,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/sysutils.c:1896,1
    - Dst: inotify_init
      Src: /src/gnupg/common/sysutils.c:1898,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/sysutils.c:1901,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:1902,1
    - Dst: strrchr
      Src: /src/gnupg/common/sysutils.c:1909,1
    - Dst: inotify_add_watch
      Src: /src/gnupg/common/sysutils.c:1912,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/sysutils.c:1915,1
    - Dst: close
      Src: /src/gnupg/common/sysutils.c:1916,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:1917,1
    - Dst: xfree
      Src: /src/gnupg/common/sysutils.c:1921,1
    - Dst: my_error
      Src: /src/gnupg/common/sysutils.c:1929,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - r_fd
    - socket_name
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1932
    functionName: gnupg_inotify_watch_socket
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached:
    - my_error_from_syserror
    - inotify_add_watch
    - close
    - xtrystrdup
    - xfree
    - my_error
    - strrchr
    - inotify_init
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_inotify_watch_socket (int *r_fd, const char *socket_name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: npth_read
      Src: /src/gnupg/common/sysutils.c:1949,1
    - Dst: strlen
      Src: /src/gnupg/common/sysutils.c:1968,1
    - Dst: strcmp
      Src: /src/gnupg/common/sysutils.c:1968,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - fd
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1987
    functionName: gnupg_inotify_has_name
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached:
    - strcmp
    - npth_read
    - strlen
    linkageType: ''
    returnType: int
    signature: int gnupg_inotify_has_name (int fd, const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/gnupg/common/sysutils.c:2004,1
    - Dst: log_error
      Src: /src/gnupg/common/sysutils.c:2005,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/sysutils.c:2006,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/sysutils.c:2006,1
    - Dst: log_error
      Src: /src/gnupg/common/sysutils.c:2008,1
    - Dst: log_error
      Src: /src/gnupg/common/sysutils.c:2010,1
    - Dst: log_error
      Src: /src/gnupg/common/sysutils.c:2012,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/sysutils.c:2020,1
    - Dst: log_error
      Src: /src/gnupg/common/sysutils.c:2022,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/sysutils.c:2023,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/sysutils.c:2023,1
    - Dst: memcpy
      Src: /src/gnupg/common/sysutils.c:2026,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1997
    functionDepth: 1
    functionLinenumber: 1997
    functionLinenumberEnd: 2032
    functionName: gnupg_get_socket_name
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached:
    - my_error_from_syserror
    - log_error
    - getsockname
    - gpg_strerror
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      gnupg_get_socket_name (int fd)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dup
      Src: /src/gnupg/common/sysutils.c:2039,1
    - Dst: close
      Src: /src/gnupg/common/sysutils.c:2042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2044
    functionName: gnupg_fd_valid
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 5
    functionsReached:
    - close
    - dup
    linkageType: ''
    returnType: int
    signature: int gnupg_fd_valid (int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_sysopen_nc
      Src: /src/gnupg/common/sysutils.c:2062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - gnupg_fd_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2063
    functionName: open_stream_nc
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 3
    functionsReached:
    - es_sysopen_nc
    linkageType: ''
    returnType: estream_t
    signature: estream_t open_stream_nc (gnupg_fd_t fd, const char *mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/common/sysutils.c:2074,1
    - Dst: gpgrt_vbsprintf
      Src: /src/gnupg/common/sysutils.c:2075,1
    - Dst: va_end
      Src: /src/gnupg/common/sysutils.c:2076,1
    - Dst: OutputDebugStringA
      Src: /src/gnupg/common/sysutils.c:2078,1
    - Dst: OutputDebugStringA
      Src: /src/gnupg/common/sysutils.c:2080,1
    - Dst: gpgrt_free
      Src: /src/gnupg/common/sysutils.c:2081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2067
    functionDepth: 1
    functionLinenumber: 2067
    functionLinenumberEnd: 2085
    functionName: output_debug_string
    functionSourceFile: /src/gnupg/common/sysutils.c
    functionUses: 0
    functionsReached:
    - va_end
    - OutputDebugStringA
    - va_start
    - gpgrt_vbsprintf
    - gpgrt_free
    linkageType: ''
    returnType: void
    signature: void output_debug_string (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - value
    - buf
    - buflen
    argTypes:
    - unsigned long
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 147
    functionName: make_flagged_int
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t make_flagged_int (unsigned long value, char *buf, size_t buflen)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/openpgp-oid.c:169,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/openpgp-oid.c:172,1
    - Dst: strlen
      Src: /src/gnupg/common/openpgp-oid.c:172,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/openpgp-oid.c:174,1
    - Dst: strtoul
      Src: /src/gnupg/common/openpgp-oid.c:182,1
    - Dst: digitp
      Src: /src/gnupg/common/openpgp-oid.c:183,1
    - Dst: xfree
      Src: /src/gnupg/common/openpgp-oid.c:185,1
    - Dst: gpg_error
      Src: /src/gnupg/common/openpgp-oid.c:186,1
    - Dst: xfree
      Src: /src/gnupg/common/openpgp-oid.c:203,1
    - Dst: gpg_error
      Src: /src/gnupg/common/openpgp-oid.c:204,1
    - Dst: make_flagged_int
      Src: /src/gnupg/common/openpgp-oid.c:211,1
    - Dst: make_flagged_int
      Src: /src/gnupg/common/openpgp-oid.c:216,1
    - Dst: xfree
      Src: /src/gnupg/common/openpgp-oid.c:222,1
    - Dst: gpg_error
      Src: /src/gnupg/common/openpgp-oid.c:223,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/common/openpgp-oid.c:227,1
    - Dst: xfree
      Src: /src/gnupg/common/openpgp-oid.c:230,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/openpgp-oid.c:231,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 2
    argNames:
    - string
    - r_mpi
    argTypes:
    - char*
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 234
    functionName: openpgp_oid_from_str
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 7
    functionsReached:
    - gcry_mpi_set_opaque
    - gpg_error_from_syserror
    - strlen
    - digitp
    - gpg_error
    - xfree
    - make_flagged_int
    - strtoul
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t openpgp_oid_from_str (const char *string, gcry_mpi_t *r_mpi)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/openpgp-oid.c:253,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/openpgp-oid.c:263,1
    - Dst: sprintf
      Src: /src/gnupg/common/openpgp-oid.c:273,1
    - Dst: sprintf
      Src: /src/gnupg/common/openpgp-oid.c:275,1
    - Dst: sprintf
      Src: /src/gnupg/common/openpgp-oid.c:288,1
    - Dst: strlen
      Src: /src/gnupg/common/openpgp-oid.c:289,1
    - Dst: sprintf
      Src: /src/gnupg/common/openpgp-oid.c:301,1
    - Dst: strlen
      Src: /src/gnupg/common/openpgp-oid.c:302,1
    - Dst: xfree
      Src: /src/gnupg/common/openpgp-oid.c:314,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/openpgp-oid.c:315,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 316
    functionName: openpgp_oidbuf_to_str
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 1
    functionsReached:
    - strlen
    - sprintf
    - xtrystrdup
    - xfree
    - gpg_err_set_errno
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      openpgp_oidbuf_to_str (const unsigned char *buf, size_t len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/common/openpgp-oid.c:328,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/common/openpgp-oid.c:329,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/openpgp-oid.c:331,1
    - Dst: openpgp_oidbuf_to_str
      Src: /src/gnupg/common/openpgp-oid.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 336
    functionName: openpgp_oid_to_str
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 16
    functionsReached:
    - gcry_mpi_get_flag
    - gcry_mpi_get_opaque
    - openpgp_oidbuf_to_str
    - gpg_err_set_errno
    linkageType: ''
    returnType: char
    signature: 'char *

      openpgp_oid_to_str (gcry_mpi_t a)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/openpgp-oid.c:345,1
    - Dst: memcmp
      Src: /src/gnupg/common/openpgp-oid.c:346,1
    - Dst: DIM
      Src: /src/gnupg/common/openpgp-oid.c:346,1
    - Dst: DIM
      Src: /src/gnupg/common/openpgp-oid.c:347,1
    - Dst: memcmp
      Src: /src/gnupg/common/openpgp-oid.c:348,1
    - Dst: DIM
      Src: /src/gnupg/common/openpgp-oid.c:348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: openpgp_oidbuf_is_ed25519
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 0
    functionsReached:
    - DIM
    - memcmp
    linkageType: ''
    returnType: int
    signature: int openpgp_oidbuf_is_ed25519 (const void *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/common/openpgp-oid.c:359,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/common/openpgp-oid.c:362,1
    - Dst: openpgp_oidbuf_is_ed25519
      Src: /src/gnupg/common/openpgp-oid.c:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 364
    functionName: openpgp_oid_is_ed25519
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 7
    functionsReached:
    - gcry_mpi_get_flag
    - gcry_mpi_get_opaque
    - openpgp_oidbuf_is_ed25519
    linkageType: ''
    returnType: int
    signature: int openpgp_oid_is_ed25519 (gcry_mpi_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/openpgp-oid.c:373,1
    - Dst: memcmp
      Src: /src/gnupg/common/openpgp-oid.c:374,1
    - Dst: DIM
      Src: /src/gnupg/common/openpgp-oid.c:374,1
    - Dst: DIM
      Src: /src/gnupg/common/openpgp-oid.c:375,1
    - Dst: memcmp
      Src: /src/gnupg/common/openpgp-oid.c:376,1
    - Dst: DIM
      Src: /src/gnupg/common/openpgp-oid.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 377
    functionName: openpgp_oidbuf_is_cv25519
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 0
    functionsReached:
    - DIM
    - memcmp
    linkageType: ''
    returnType: int
    signature: int openpgp_oidbuf_is_cv25519 (const void *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/openpgp-oid.c:384,1
    - Dst: memcmp
      Src: /src/gnupg/common/openpgp-oid.c:385,1
    - Dst: DIM
      Src: /src/gnupg/common/openpgp-oid.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 386
    functionName: openpgp_oidbuf_is_ed448
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 0
    functionsReached:
    - DIM
    - memcmp
    linkageType: ''
    returnType: int
    signature: int openpgp_oidbuf_is_ed448 (const void *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/openpgp-oid.c:393,1
    - Dst: memcmp
      Src: /src/gnupg/common/openpgp-oid.c:394,1
    - Dst: DIM
      Src: /src/gnupg/common/openpgp-oid.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 395
    functionName: openpgp_oidbuf_is_cv448
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 0
    functionsReached:
    - DIM
    - memcmp
    linkageType: ''
    returnType: int
    signature: int openpgp_oidbuf_is_cv448 (const void *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/common/openpgp-oid.c:405,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/common/openpgp-oid.c:408,1
    - Dst: openpgp_oidbuf_is_cv25519
      Src: /src/gnupg/common/openpgp-oid.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 410
    functionName: openpgp_oid_is_cv25519
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 1
    functionsReached:
    - gcry_mpi_get_flag
    - gcry_mpi_get_opaque
    - openpgp_oidbuf_is_cv25519
    linkageType: ''
    returnType: int
    signature: int openpgp_oid_is_cv25519 (gcry_mpi_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/common/openpgp-oid.c:420,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/common/openpgp-oid.c:423,1
    - Dst: openpgp_oidbuf_is_ed448
      Src: /src/gnupg/common/openpgp-oid.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 425
    functionName: openpgp_oid_is_ed448
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 1
    functionsReached:
    - gcry_mpi_get_flag
    - gcry_mpi_get_opaque
    - openpgp_oidbuf_is_ed448
    linkageType: ''
    returnType: int
    signature: int openpgp_oid_is_ed448 (gcry_mpi_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/common/openpgp-oid.c:435,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/common/openpgp-oid.c:438,1
    - Dst: openpgp_oidbuf_is_cv448
      Src: /src/gnupg/common/openpgp-oid.c:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 440
    functionName: openpgp_oid_is_cv448
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - gcry_mpi_get_opaque
    - openpgp_oidbuf_is_cv448
    linkageType: ''
    returnType: int
    signature: int openpgp_oid_is_cv448 (gcry_mpi_t a)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/openpgp-oid.c:462,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/openpgp-oid.c:464,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/openpgp-oid.c:476,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 4
    argNames:
    - name
    - r_nbits
    - r_algo
    - selector
    argTypes:
    - char*
    - unsigned int*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 499
    functionName: openpgp_curve_to_oid
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 5
    functionsReached:
    - ascii_strcasecmp
    linkageType: ''
    returnType: char
    signature: "char *\nopenpgp_curve_to_oid (const char *name, unsigned int *r_nbits,
      int *r_algo,\n                      int selector)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/openpgp-oid.c:524,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - oidstr
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 536
    functionName: openpgp_oid_to_curve
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 9
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      openpgp_oid_to_curve (const char *oidstr, int mode)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/openpgp-oid.c:551,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/openpgp-oid.c:552,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/openpgp-oid.c:554,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - oidname
    - canon
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 558
    functionName: openpgp_oid_or_name_to_curve
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 4
    functionsReached:
    - ascii_strcasecmp
    linkageType: ''
    returnType: char
    signature: 'char *

      openpgp_oid_or_name_to_curve (const char *oidname, int canon)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_build
      Src: /src/gnupg/common/openpgp-oid.c:568,1
    - Dst: gcry_pk_get_curve
      Src: /src/gnupg/common/openpgp-oid.c:570,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/openpgp-oid.c:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 574
    functionName: curve_supported_p
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 0
    functionsReached:
    - gcry_pk_get_curve
    - gcry_sexp_build
    - gcry_sexp_release
    linkageType: ''
    returnType: int
    signature: int curve_supported_p (const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/openpgp-oid.c:585,1
    - Dst: curve_supported_p
      Src: /src/gnupg/common/openpgp-oid.c:587,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - iterp
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 596
    functionName: openpgp_enum_curves
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 3
    functionsReached:
    - curve_supported_p
    - DIM
    linkageType: ''
    returnType: char
    signature: 'char *

      openpgp_enum_curves (int *iterp)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/openpgp-oid.c:614,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/openpgp-oid.c:616,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/openpgp-oid.c:618,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/openpgp-oid.c:620,1
    - Dst: curve_supported_p
      Src: /src/gnupg/common/openpgp-oid.c:621,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 3
    argNames:
    - name
    - r_algo
    - r_nbits
    argTypes:
    - char*
    - int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 631
    functionName: openpgp_is_curve_supported
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 4
    functionsReached:
    - curve_supported_p
    - DIM
    - ascii_strcasecmp
    linkageType: ''
    returnType: char
    signature: "char *\nopenpgp_is_curve_supported (const char *name, int *r_algo,\n
      \                           unsigned int *r_nbits)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - algo
    argTypes:
    - enum gcry_pk_algos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 647
    functionName: map_gcry_pk_to_openpgp
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: pubkey_algo_t
    signature: pubkey_algo_t map_gcry_pk_to_openpgp (enum gcry_pk_algos algo)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - algo
    argTypes:
    - pubkey_algo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 662
    functionName: map_openpgp_pk_to_gcry
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum gcry_pk_algos
    signature: enum gcry_pk_algos map_openpgp_pk_to_gcry (pubkey_algo_t algo)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: xasprintf
      Src: /src/gnupg/common/openpgp-oid.c:711,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/openpgp-oid.c:723,1
    - Dst: openpgp_oid_or_name_to_curve
      Src: /src/gnupg/common/openpgp-oid.c:728,1
    - Dst: xasprintf
      Src: /src/gnupg/common/openpgp-oid.c:730,1
    - Dst: xasprintf
      Src: /src/gnupg/common/openpgp-oid.c:732,1
    - Dst: xasprintf
      Src: /src/gnupg/common/openpgp-oid.c:734,1
    - Dst: xstrdup
      Src: /src/gnupg/common/openpgp-oid.c:736,1
    - Dst: xasprintf
      Src: /src/gnupg/common/openpgp-oid.c:748,1
    - Dst: log_fatal
      Src: /src/gnupg/common/openpgp-oid.c:759,1
    - Dst: xrealloc
      Src: /src/gnupg/common/openpgp-oid.c:760,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 64
    argCount: 3
    argNames:
    - algo
    - nbits
    - curve
    argTypes:
    - enum gcry_pk_algos
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 770
    functionName: get_keyalgo_string
    functionSourceFile: /src/gnupg/common/openpgp-oid.c
    functionUses: 3
    functionsReached:
    - log_fatal
    - xrealloc
    - openpgp_oid_or_name_to_curve
    - xasprintf
    - ascii_strcasecmp
    - xstrdup
    linkageType: ''
    returnType: char
    signature: "char *\nget_keyalgo_string (enum gcry_pk_algos algo,\n                    unsigned
      int nbits, const char *curve)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: i18n_init
      Src: /src/gnupg/common/t-helpfile.c:46,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-helpfile.c:47,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-helpfile.c:52,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-helpfile.c:57,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-helpfile.c:64,1
    - Dst: exit
      Src: /src/gnupg/common/t-helpfile.c:65,1
    - Dst: gnupg_get_template
      Src: /src/gnupg/common/t-helpfile.c:69,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-helpfile.c:72,1
    - Dst: printf
      Src: /src/gnupg/common/t-helpfile.c:79,1
    - Dst: xfree
      Src: /src/gnupg/common/t-helpfile.c:81,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 38
    functionDepth: 7
    functionLinenumber: 38
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/gnupg/common/t-helpfile.c
    functionUses: 4
    functionsReached:
    - i18n_init
    - printf
    - exit
    - strcmp
    - fprintf
    - xfree
    - gnupg_get_template
    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: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: _DOTLOCK_PREFIX1
    functionSourceFile: /src/gnupg/common/dotlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _DOTLOCK_PREFIX1(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: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: _DOTLOCK_PREFIX2
    functionSourceFile: /src/gnupg/common/dotlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _DOTLOCK_PREFIX2(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: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: _DOTLOCK_PREFIX
    functionSourceFile: /src/gnupg/common/dotlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _DOTLOCK_PREFIX(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: TEST_LOG_CAT
    functionSourceFile: /src/gnupg/common/asshelp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_LOG_CAT(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_LOG_CAT
      Src: /src/gnupg/common/asshelp.c:80,1
    - Dst: my_log_monitor
      Src: /src/gnupg/common/asshelp.c:87,1
    - Dst: log_string
      Src: /src/gnupg/common/asshelp.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - hook
    - cat
    - msg
    argTypes:
    - assuan_context_t
    - void*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: my_libassuan_log_handler
    functionSourceFile: /src/gnupg/common/asshelp.c
    functionUses: 0
    functionsReached:
    - TEST_LOG_CAT
    - log_string
    - my_log_monitor
    linkageType: ''
    returnType: int
    signature: "int my_libassuan_log_handler (assuan_context_t ctx, void *hook,\n
      \                         unsigned int cat, const char *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/common/asshelp.c:107,1
    - Dst: atoi
      Src: /src/gnupg/common/asshelp.c:109,1
    - Dst: assuan_set_log_cb
      Src: /src/gnupg/common/asshelp.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - debug_var_address
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: setup_libassuan_logging
    functionSourceFile: /src/gnupg/common/asshelp.c
    functionUses: 4
    functionsReached:
    - getenv
    - atoi
    - assuan_set_log_cb
    linkageType: ''
    returnType: void
    signature: "void setup_libassuan_logging (unsigned int *debug_var_address,\n                         int
      (*log_monitor)(assuan_context_t ctx,\n                                            unsigned
      int cat,\n                                            const char *msg))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - newcats
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: set_libassuan_log_cats
    functionSourceFile: /src/gnupg/common/asshelp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_libassuan_log_cats (unsigned int newcats)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_sock_get_flag
      Src: /src/gnupg/common/asshelp.c:138,1
    - Dst: log_info
      Src: /src/gnupg/common/asshelp.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - assuan_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: log_libassuan_system_error
    functionSourceFile: /src/gnupg/common/asshelp.c
    functionUses: 0
    functionsReached:
    - assuan_sock_get_flag
    - log_info
    linkageType: ''
    returnType: void
    signature: void log_libassuan_system_error (assuan_fd_t fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/gnupg/common/asshelp.c:158,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/asshelp.c:160,1
    - Dst: assuan_transact
      Src: /src/gnupg/common/asshelp.c:163,1
    - Dst: xfree
      Src: /src/gnupg/common/asshelp.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - errsource
    - name
    - value
    - use_putenv
    argTypes:
    - assuan_context_t
    - gpg_err_source_t
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 168
    functionName: send_one_option
    functionSourceFile: /src/gnupg/common/asshelp.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - xfree
    - gpg_error_from_syserror
    - asprintf
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t send_one_option (assuan_context_t ctx, gpg_err_source_t
      errsource,\n                 const char *name, const char *value, int use_putenv)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: session_env_list_stdenvnames
      Src: /src/gnupg/common/asshelp.c:193,1
    - Dst: session_env_getenv_or_default
      Src: /src/gnupg/common/asshelp.c:195,1
    - Dst: send_one_option
      Src: /src/gnupg/common/asshelp.c:200,1
    - Dst: send_one_option
      Src: /src/gnupg/common/asshelp.c:203,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/asshelp.c:204,1
    - Dst: session_env_getenv_or_default
      Src: /src/gnupg/common/asshelp.c:212,1
    - Dst: setlocale
      Src: /src/gnupg/common/asshelp.c:219,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/asshelp.c:222,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/asshelp.c:224,1
    - Dst: setlocale
      Src: /src/gnupg/common/asshelp.c:226,1
    - Dst: send_one_option
      Src: /src/gnupg/common/asshelp.c:230,1
    - Dst: setlocale
      Src: /src/gnupg/common/asshelp.c:236,1
    - Dst: xfree
      Src: /src/gnupg/common/asshelp.c:237,1
    - Dst: setlocale
      Src: /src/gnupg/common/asshelp.c:245,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/asshelp.c:248,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/asshelp.c:250,1
    - Dst: setlocale
      Src: /src/gnupg/common/asshelp.c:252,1
    - Dst: send_one_option
      Src: /src/gnupg/common/asshelp.c:256,1
    - Dst: setlocale
      Src: /src/gnupg/common/asshelp.c:262,1
    - Dst: xfree
      Src: /src/gnupg/common/asshelp.c:263,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 51
    argCount: 5
    argNames:
    - ctx
    - errsource
    - opt_lc_ctype
    - opt_lc_messages
    - session_env
    argTypes:
    - assuan_context_t
    - gpg_err_source_t
    - char*
    - char*
    - session_env_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 270
    functionName: send_pinentry_environment
    functionSourceFile: /src/gnupg/common/asshelp.c
    functionUses: 0
    functionsReached:
    - send_one_option
    - gpg_error_from_syserror
    - setlocale
    - session_env_list_stdenvnames
    - xtrystrdup
    - gpg_err_code
    - xfree
    - session_env_getenv_or_default
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t send_pinentry_environment (assuan_context_t ctx,\n                           gpg_err_source_t
      errsource,\n                           const char *opt_lc_ctype,\n                           const
      char *opt_lc_messages,\n                           session_env_t session_env)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_absfilename_try
      Src: /src/gnupg/common/asshelp.c:285,1
    - Dst: strcmp
      Src: /src/gnupg/common/asshelp.c:287,1
    - Dst: strcmp
      Src: /src/gnupg/common/asshelp.c:288,1
    - Dst: strcmp
      Src: /src/gnupg/common/asshelp.c:289,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/asshelp.c:293,1
    - Dst: dotlock_create
      Src: /src/gnupg/common/asshelp.c:295,1
    - Dst: xfree
      Src: /src/gnupg/common/asshelp.c:296,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/asshelp.c:298,1
    - Dst: dotlock_take
      Src: /src/gnupg/common/asshelp.c:302,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/asshelp.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - lock
    - homedir
    - name
    - verbose
    argTypes:
    - lock_spawn_t*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 306
    functionName: lock_spawning
    functionSourceFile: /src/gnupg/common/asshelp.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - dotlock_create
    - make_absfilename_try
    - dotlock_take
    - strcmp
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t lock_spawning (lock_spawn_t *lock, const char *homedir,
      const char *name,\n               int verbose)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dotlock_destroy
      Src: /src/gnupg/common/asshelp.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - lock
    - name
    argTypes:
    - lock_spawn_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: unlock_spawning
    functionSourceFile: /src/gnupg/common/asshelp.c
    functionUses: 0
    functionsReached:
    - dotlock_destroy
    linkageType: ''
    returnType: void
    signature: void unlock_spawning (lock_spawn_t *lock, const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/common/asshelp.c:355,1
    - Dst: _
      Src: /src/gnupg/common/asshelp.c:356,1
    - Dst: _
      Src: /src/gnupg/common/asshelp.c:358,1
    - Dst: _
      Src: /src/gnupg/common/asshelp.c:359,1
    - Dst: gnupg_usleep
      Src: /src/gnupg/common/asshelp.c:364,1
    - Dst: assuan_socket_connect
      Src: /src/gnupg/common/asshelp.c:366,1
    - Dst: log_info
      Src: /src/gnupg/common/asshelp.c:371,1
    - Dst: _
      Src: /src/gnupg/common/asshelp.c:372,1
    - Dst: _
      Src: /src/gnupg/common/asshelp.c:374,1
    - Dst: _
      Src: /src/gnupg/common/asshelp.c:375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 7
    argNames:
    - secs
    - module_name_id
    - sockname
    - connect_flags
    - verbose
    - ctx
    - did_success_msg
    argTypes:
    - int
    - int
    - char*
    - unsigned int
    - int
    - assuan_context_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 385
    functionName: wait_for_sock
    functionSourceFile: /src/gnupg/common/asshelp.c
    functionUses: 0
    functionsReached:
    - gnupg_usleep
    - log_info
    - _
    - assuan_socket_connect
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t wait_for_sock (int secs, int module_name_id, const char
      *sockname,\n               unsigned int connect_flags,\n               int verbose,
      assuan_context_t ctx, int *did_success_msg)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: assuan_new
      Src: /src/gnupg/common/asshelp.c:422,1
    - Dst: log_error
      Src: /src/gnupg/common/asshelp.c:425,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/asshelp.c:425,1
    - Dst: make_filename
      Src: /src/gnupg/common/asshelp.c:432,1
    - Dst: gnupg_socketdir
      Src: /src/gnupg/common/asshelp.c:432,1
    - Dst: make_filename
      Src: /src/gnupg/common/asshelp.c:440,1
    - Dst: gnupg_socketdir
      Src: /src/gnupg/common/asshelp.c:440,1
    - Dst: make_filename
      Src: /src/gnupg/common/asshelp.c:448,1
    - Dst: gnupg_socketdir
      Src: /src/gnupg/common/asshelp.c:448,1
    - Dst: gpg_error
      Src: /src/gnupg/common/asshelp.c:457,1
    - Dst: assuan_release
      Src: /src/gnupg/common/asshelp.c:458,1
    - Dst: assuan_socket_connect
      Src: /src/gnupg/common/asshelp.c:462,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/common/asshelp.c:475,1
    - Dst: strchr
      Src: /src/gnupg/common/asshelp.c:476,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/asshelp.c:479,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/asshelp.c:482,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/asshelp.c:483,1
    - Dst: xfree
      Src: /src/gnupg/common/asshelp.c:484,1
    - Dst: assuan_release
      Src: /src/gnupg/common/asshelp.c:485,1
    - Dst: strchr
      Src: /src/gnupg/common/asshelp.c:488,1
    - Dst: log_info
      Src: /src/gnupg/common/asshelp.c:494,1
    - Dst: _
      Src: /src/gnupg/common/asshelp.c:494,1
    - Dst: status_cb
      Src: /src/gnupg/common/asshelp.c:498,1
    - Dst: make_absfilename_try
      Src: /src/gnupg/common/asshelp.c:503,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/common/asshelp.c:503,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/asshelp.c:506,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/asshelp.c:507,1
    - Dst: log_error
      Src: /src/gnupg/common/asshelp.c:508,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/asshelp.c:508,1
    - Dst: xfree
      Src: /src/gnupg/common/asshelp.c:509,1
    - Dst: assuan_release
      Src: /src/gnupg/common/asshelp.c:510,1
    - Dst: xfree
      Src: /src/gnupg/common/asshelp.c:511,1
    - Dst: fflush
      Src: /src/gnupg/common/asshelp.c:515,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/asshelp.c:517,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/asshelp.c:518,1
    - Dst: log_error
      Src: /src/gnupg/common/asshelp.c:519,1
    - Dst: strerror
      Src: /src/gnupg/common/asshelp.c:519,1
    - Dst: xfree
      Src: /src/gnupg/common/asshelp.c:520,1
    - Dst: assuan_release
      Src: /src/gnupg/common/asshelp.c:521,1
    - Dst: xfree
      Src: /src/gnupg/common/asshelp.c:522,1
    - Dst: xfree
      Src: /src/gnupg/common/asshelp.c:523,1
    - Dst: lock_spawning
      Src: /src/gnupg/common/asshelp.c:535,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/common/asshelp.c:535,1
    - Dst: assuan_socket_connect
      Src: /src/gnupg/common/asshelp.c:536,1
    - Dst: gnupg_remove_ext
      Src: /src/gnupg/common/asshelp.c:546,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/common/asshelp.c:547,1
    - Dst: gpgrt_process_get_fds
      Src: /src/gnupg/common/asshelp.c:556,1
    - Dst: read
      Src: /src/gnupg/common/asshelp.c:564,1
    - Dst: close
      Src: /src/gnupg/common/asshelp.c:565,1
    - Dst: log_info
      Src: /src/gnupg/common/asshelp.c:569,1
    - Dst: strerror
      Src: /src/gnupg/common/asshelp.c:570,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/common/asshelp.c:580,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/common/asshelp.c:583,1
    - Dst: log_error
      Src: /src/gnupg/common/asshelp.c:587,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/asshelp.c:589,1
    - Dst: wait_for_sock
      Src: /src/gnupg/common/asshelp.c:591,1
    - Dst: unlock_spawning
      Src: /src/gnupg/common/asshelp.c:596,1
    - Dst: xfree
      Src: /src/gnupg/common/asshelp.c:597,1
    - Dst: xfree
      Src: /src/gnupg/common/asshelp.c:598,1
    - Dst: xfree
      Src: /src/gnupg/common/asshelp.c:600,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/asshelp.c:604,1
    - Dst: log_error
      Src: /src/gnupg/common/asshelp.c:605,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/asshelp.c:606,1
    - Dst: assuan_release
      Src: /src/gnupg/common/asshelp.c:607,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/asshelp.c:608,1
    - Dst: log_debug
      Src: /src/gnupg/common/asshelp.c:612,1
    - Dst: assuan_transact
      Src: /src/gnupg/common/asshelp.c:615,1
    - Dst: send_pinentry_environment
      Src: /src/gnupg/common/asshelp.c:621,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/asshelp.c:624,1
    - Dst: gpg_err_source
      Src: /src/gnupg/common/asshelp.c:625,1
    - Dst: assuan_transact
      Src: /src/gnupg/common/asshelp.c:628,1
    - Dst: log_info
      Src: /src/gnupg/common/asshelp.c:632,1
    - Dst: _
      Src: /src/gnupg/common/asshelp.c:632,1
    - Dst: assuan_release
      Src: /src/gnupg/common/asshelp.c:639,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 131
    argCount: 11
    argNames:
    - r_ctx
    - module_name_id
    - errsource
    - program_name
    - opt_lc_ctype
    - opt_lc_messages
    - session_env
    - flags
    - verbose
    - debug
    - status_cb_arg
    argTypes:
    - assuan_context_t*
    - int
    - gpg_err_source_t
    - char*
    - char*
    - char*
    - session_env_t
    - unsigned int
    - int
    - int
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 395
    functionDepth: 7
    functionLinenumber: 395
    functionLinenumberEnd: 645
    functionName: start_new_service
    functionSourceFile: /src/gnupg/common/asshelp.c
    functionUses: 0
    functionsReached:
    - wait_for_sock
    - gnupg_homedir
    - gpg_err_make
    - lock_spawning
    - gpg_err_source
    - log_error
    - close
    - make_absfilename_try
    - _
    - fflush
    - gpgrt_process_get_fds
    - log_info
    - status_cb
    - assuan_socket_connect
    - log_debug
    - assuan_new
    - gpg_err_code_from_syserror
    - gpgrt_process_spawn
    - gnupg_module_name
    - assuan_transact
    - xtrystrdup
    - gpg_error
    - strchr
    - gpg_strerror
    - xfree
    - unlock_spawning
    - gnupg_remove_ext
    - make_filename
    - read
    - gpgrt_process_release
    - assuan_release
    - gnupg_socketdir
    - send_pinentry_environment
    - gpg_err_code
    - strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t start_new_service (assuan_context_t *r_ctx,\n                   int
      module_name_id,\n                   gpg_err_source_t errsource,\n                   const
      char *program_name,\n                   const char *opt_lc_ctype,\n                   const
      char *opt_lc_messages,\n                   session_env_t session_env,\n                   unsigned
      int flags,\n                   int verbose, int debug,\n                   gpg_error_t
      (*status_cb)(ctrl_t, int, ...),\n                   ctrl_t status_cb_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_new_service
      Src: /src/gnupg/common/asshelp.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - r_ctx
    - errsource
    - agent_program
    - opt_lc_ctype
    - opt_lc_messages
    - session_env
    - flags
    - verbose
    - debug
    - status_cb_arg
    argTypes:
    - assuan_context_t*
    - gpg_err_source_t
    - char*
    - char*
    - char*
    - session_env_t
    - unsigned int
    - int
    - int
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 649
    functionDepth: 8
    functionLinenumber: 649
    functionLinenumberEnd: 666
    functionName: start_new_gpg_agent
    functionSourceFile: /src/gnupg/common/asshelp.c
    functionUses: 5
    functionsReached:
    - start_new_service
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t start_new_gpg_agent (assuan_context_t *r_ctx,\n                     gpg_err_source_t
      errsource,\n                     const char *agent_program,\n                     const
      char *opt_lc_ctype,\n                     const char *opt_lc_messages,\n                     session_env_t
      session_env,\n                     unsigned int flags,\n                     int
      verbose, int debug,\n                     gpg_error_t (*status_cb)(ctrl_t, int,
      ...),\n                     ctrl_t status_cb_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_new_service
      Src: /src/gnupg/common/asshelp.c:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - r_ctx
    - errsource
    - keyboxd_program
    - flags
    - verbose
    - debug
    - status_cb_arg
    argTypes:
    - assuan_context_t*
    - gpg_err_source_t
    - char*
    - unsigned int
    - int
    - int
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 672
    functionDepth: 8
    functionLinenumber: 672
    functionLinenumberEnd: 686
    functionName: start_new_keyboxd
    functionSourceFile: /src/gnupg/common/asshelp.c
    functionUses: 2
    functionsReached:
    - start_new_service
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t start_new_keyboxd (assuan_context_t *r_ctx,\n                   gpg_err_source_t
      errsource,\n                   const char *keyboxd_program,\n                   unsigned
      int flags,\n                   int verbose, int debug,\n                   gpg_error_t
      (*status_cb)(ctrl_t, int, ...),\n                   ctrl_t status_cb_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_new_service
      Src: /src/gnupg/common/asshelp.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - r_ctx
    - errsource
    - dirmngr_program
    - flags
    - verbose
    - debug
    - status_cb_arg
    argTypes:
    - assuan_context_t*
    - gpg_err_source_t
    - char*
    - unsigned int
    - int
    - int
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 692
    functionDepth: 8
    functionLinenumber: 692
    functionLinenumberEnd: 709
    functionName: start_new_dirmngr
    functionSourceFile: /src/gnupg/common/asshelp.c
    functionUses: 3
    functionsReached:
    - start_new_service
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t start_new_dirmngr (assuan_context_t *r_ctx,\n                   gpg_err_source_t
      errsource,\n                   const char *dirmngr_program,\n                   unsigned
      int flags,\n                   int verbose, int debug,\n                   gpg_error_t
      (*status_cb)(ctrl_t, int, ...),\n                   ctrl_t status_cb_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_membuf
      Src: /src/gnupg/common/asshelp.c:727,1
    - Dst: assuan_transact
      Src: /src/gnupg/common/asshelp.c:728,1
    - Dst: xfree
      Src: /src/gnupg/common/asshelp.c:735,1
    - Dst: get_membuf
      Src: /src/gnupg/common/asshelp.c:735,1
    - Dst: put_membuf
      Src: /src/gnupg/common/asshelp.c:740,1
    - Dst: get_membuf
      Src: /src/gnupg/common/asshelp.c:741,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/asshelp.c:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - mode
    - r_version
    argTypes:
    - assuan_context_t
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 746
    functionName: get_assuan_server_version
    functionSourceFile: /src/gnupg/common/asshelp.c
    functionUses: 1
    functionsReached:
    - get_membuf
    - init_membuf
    - gpg_error_from_syserror
    - put_membuf
    - assuan_transact
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_assuan_server_version (assuan_context_t ctx, int mode,
      char **r_version)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_strusage
      Src: /src/gnupg/common/asshelp.c:766,1
    - Dst: get_assuan_server_version
      Src: /src/gnupg/common/asshelp.c:768,1
    - Dst: log_log
      Src: /src/gnupg/common/asshelp.c:770,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/asshelp.c:770,1
    - Dst: _
      Src: /src/gnupg/common/asshelp.c:772,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/asshelp.c:773,1
    - Dst: compare_version_strings
      Src: /src/gnupg/common/asshelp.c:774,1
    - Dst: xtryasprintf
      Src: /src/gnupg/common/asshelp.c:778,1
    - Dst: _
      Src: /src/gnupg/common/asshelp.c:778,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/asshelp.c:781,1
    - Dst: log_info
      Src: /src/gnupg/common/asshelp.c:784,1
    - Dst: _
      Src: /src/gnupg/common/asshelp.c:784,1
    - Dst: log_info
      Src: /src/gnupg/common/asshelp.c:787,1
    - Dst: _
      Src: /src/gnupg/common/asshelp.c:787,1
    - Dst: log_info
      Src: /src/gnupg/common/asshelp.c:789,1
    - Dst: _
      Src: /src/gnupg/common/asshelp.c:789,1
    - Dst: status_func
      Src: /src/gnupg/common/asshelp.c:793,1
    - Dst: xfree
      Src: /src/gnupg/common/asshelp.c:795,1
    - Dst: xfree
      Src: /src/gnupg/common/asshelp.c:798,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - ctx
    - servername
    - mode
    - status_func_ctrl
    - print_hints
    argTypes:
    - assuan_context_t
    - char*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 800
    functionName: warn_server_version_mismatch
    functionSourceFile: /src/gnupg/common/asshelp.c
    functionUses: 4
    functionsReached:
    - compare_version_strings
    - gpg_error_from_syserror
    - get_assuan_server_version
    - _
    - status_func
    - log_log
    - gpg_err_code
    - gpg_strerror
    - xtryasprintf
    - log_info
    - xfree
    - gpgrt_strusage
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t warn_server_version_mismatch (assuan_context_t ctx,\n
      \                             const char *servername, int mode,\n                              gpg_error_t
      (*status_func)(ctrl_t ctrl,\n                                                         int
      status_no,\n                                                         ...),\n
      \                             void *status_func_ctrl,\n                              int
      print_hints)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnupg/common/asshelp.c:814,1
    - Dst: perror
      Src: /src/gnupg/common/asshelp.c:821,1
    - Dst: write
      Src: /src/gnupg/common/asshelp.c:823,1
    - Dst: write
      Src: /src/gnupg/common/asshelp.c:828,1
    - Dst: dup2
      Src: /src/gnupg/common/asshelp.c:829,1
    - Dst: perror
      Src: /src/gnupg/common/asshelp.c:830,1
    - Dst: dup2
      Src: /src/gnupg/common/asshelp.c:831,1
    - Dst: close
      Src: /src/gnupg/common/asshelp.c:832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 834
    functionName: w32_ack_to_frontend
    functionSourceFile: /src/gnupg/common/asshelp.c
    functionUses: 0
    functionsReached:
    - open
    - perror
    - close
    - write
    - dup2
    linkageType: ''
    returnType: void
    signature: void w32_ack_to_frontend (void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: do_find_tlv
      Src: /src/gnupg/common/tlv.c:103,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 5
    argNames:
    - buffer
    - length
    - tag
    - nbytes
    - nestlevel
    argTypes:
    - unsigned char*
    - size_t
    - int
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 120
    functionName: do_find_tlv
    functionSourceFile: /src/gnupg/common/tlv.c
    functionUses: 1
    functionsReached:
    - do_find_tlv
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\ndo_find_tlv (const unsigned char *buffer, size_t
      length,\n             int tag, size_t *nbytes, int nestlevel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_find_tlv
      Src: /src/gnupg/common/tlv.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - buffer
    - length
    - tag
    - nbytes
    argTypes:
    - unsigned char*
    - size_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: find_tlv
    functionSourceFile: /src/gnupg/common/tlv.c
    functionUses: 3
    functionsReached:
    - do_find_tlv
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\nfind_tlv (const unsigned char *buffer, size_t length,\n
      \         int tag, size_t *nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_find_tlv
      Src: /src/gnupg/common/tlv.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buffer
    - length
    - tag
    - nbytes
    argTypes:
    - unsigned char*
    - size_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: find_tlv_unchecked
    functionSourceFile: /src/gnupg/common/tlv.c
    functionUses: 0
    functionsReached:
    - do_find_tlv
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\nfind_tlv_unchecked (const unsigned char *buffer,
      size_t length,\n                    int tag, size_t *nbytes)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make
      Src: /src/gnupg/common/tlv.c:174,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/tlv.c:188,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/tlv.c:199,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/tlv.c:207,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/tlv.c:214,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/tlv.c:220,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/tlv.c:229,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 8
    argNames:
    - buffer
    - size
    - r_class
    - r_tag
    - r_constructed
    - r_ndef
    - r_length
    - r_nhdr
    argTypes:
    - unsigned char**
    - size_t*
    - int*
    - int*
    - int*
    - int*
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 239
    functionName: parse_ber_header
    functionSourceFile: /src/gnupg/common/tlv.c
    functionUses: 3
    functionsReached:
    - gpg_err_make
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_ber_header (unsigned char const **buffer, size_t
      *size,\n                  int *r_class, int *r_tag,\n                  int *r_constructed,
      int *r_ndef,\n                  size_t *r_length, size_t *r_nhdr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make
      Src: /src/gnupg/common/tlv.c:277,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/tlv.c:289,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/tlv.c:300,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/tlv.c:303,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 5
    argNames:
    - buf
    - buflen
    - depth
    - tok
    - toklen
    argTypes:
    - unsigned char**
    - size_t*
    - int*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 311
    functionName: parse_sexp
    functionSourceFile: /src/gnupg/common/tlv.c
    functionUses: 4
    functionsReached:
    - gpg_err_make
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_sexp (unsigned char const **buf, size_t *buflen,\n
      \           int *depth, unsigned char const **tok, size_t *toklen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: ulongtobuf
    functionSourceFile: /src/gnupg/common/host2net.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ulongtobuf( p, a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: ushorttobuf
    functionSourceFile: /src/gnupg/common/host2net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ushorttobuf( p, a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: buf16_to_ulong
    functionSourceFile: /src/gnupg/common/host2net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long buf16_to_ulong (const void *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: buf16_to_uint
    functionSourceFile: /src/gnupg/common/host2net.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int buf16_to_uint (const void *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: buf16_to_ushort
    functionSourceFile: /src/gnupg/common/host2net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short buf16_to_ushort (const void *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: buf16_to_u16
    functionSourceFile: /src/gnupg/common/host2net.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 buf16_to_u16 (const void *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: buf32_to_size_t
    functionSourceFile: /src/gnupg/common/host2net.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t buf32_to_size_t (const void *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: buf32_to_ulong
    functionSourceFile: /src/gnupg/common/host2net.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long buf32_to_ulong (const void *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: buf32_to_uint
    functionSourceFile: /src/gnupg/common/host2net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int buf32_to_uint (const void *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: buf32_to_u32
    functionSourceFile: /src/gnupg/common/host2net.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 buf32_to_u32 (const void *buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnupg/common/t-ssh-utils.c:216,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:219,1
    - Dst: strerror
      Src: /src/gnupg/common/t-ssh-utils.c:220,1
    - Dst: exit
      Src: /src/gnupg/common/t-ssh-utils.c:221,1
    - Dst: fstat
      Src: /src/gnupg/common/t-ssh-utils.c:224,1
    - Dst: fileno
      Src: /src/gnupg/common/t-ssh-utils.c:224,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:226,1
    - Dst: strerror
      Src: /src/gnupg/common/t-ssh-utils.c:227,1
    - Dst: exit
      Src: /src/gnupg/common/t-ssh-utils.c:228,1
    - Dst: xmalloc
      Src: /src/gnupg/common/t-ssh-utils.c:232,1
    - Dst: fread
      Src: /src/gnupg/common/t-ssh-utils.c:233,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:235,1
    - Dst: strerror
      Src: /src/gnupg/common/t-ssh-utils.c:236,1
    - Dst: exit
      Src: /src/gnupg/common/t-ssh-utils.c:237,1
    - Dst: fclose
      Src: /src/gnupg/common/t-ssh-utils.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - fname
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 243
    functionName: read_file
    functionSourceFile: /src/gnupg/common/t-ssh-utils.c
    functionUses: 3
    functionsReached:
    - fclose
    - exit
    - fstat
    - fprintf
    - fileno
    - xmalloc
    - fopen
    - fread
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      read_file (const char *fname, size_t *r_length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/gnupg/common/t-ssh-utils.c:254,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/common/t-ssh-utils.c:256,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:259,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/t-ssh-utils.c:260,1
    - Dst: exit
      Src: /src/gnupg/common/t-ssh-utils.c:261,1
    - Dst: xfree
      Src: /src/gnupg/common/t-ssh-utils.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 266
    functionName: read_key
    functionSourceFile: /src/gnupg/common/t-ssh-utils.c
    functionUses: 0
    functionsReached:
    - read_file
    - exit
    - gcry_sexp_sscan
    - fprintf
    - gpg_strerror
    - xfree
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t read_key (const char *fname)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/gnupg/common/t-ssh-utils.c:278,1
    - Dst: gcry_fips_mode_active
      Src: /src/gnupg/common/t-ssh-utils.c:279,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-ssh-utils.c:284,1
    - Dst: keygrip_from_canon_sexp
      Src: /src/gnupg/common/t-ssh-utils.c:292,1
    - Dst: strlen
      Src: /src/gnupg/common/t-ssh-utils.c:293,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:297,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/t-ssh-utils.c:298,1
    - Dst: exit
      Src: /src/gnupg/common/t-ssh-utils.c:299,1
    - Dst: bin2hex
      Src: /src/gnupg/common/t-ssh-utils.c:301,1
    - Dst: xtryasprintf
      Src: /src/gnupg/common/t-ssh-utils.c:303,1
    - Dst: fopen
      Src: /src/gnupg/common/t-ssh-utils.c:304,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:307,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/t-ssh-utils.c:308,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/t-ssh-utils.c:308,1
    - Dst: exit
      Src: /src/gnupg/common/t-ssh-utils.c:309,1
    - Dst: xfree
      Src: /src/gnupg/common/t-ssh-utils.c:311,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:312,1
    - Dst: fclose
      Src: /src/gnupg/common/t-ssh-utils.c:313,1
    - Dst: read_key
      Src: /src/gnupg/common/t-ssh-utils.c:317,1
    - Dst: ssh_get_fingerprint_string
      Src: /src/gnupg/common/t-ssh-utils.c:319,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:322,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/t-ssh-utils.c:323,1
    - Dst: exit
      Src: /src/gnupg/common/t-ssh-utils.c:324,1
    - Dst: puts
      Src: /src/gnupg/common/t-ssh-utils.c:326,1
    - Dst: xfree
      Src: /src/gnupg/common/t-ssh-utils.c:327,1
    - Dst: ssh_get_fingerprint_string
      Src: /src/gnupg/common/t-ssh-utils.c:329,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:334,1
    - Dst: exit
      Src: /src/gnupg/common/t-ssh-utils.c:336,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:341,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/t-ssh-utils.c:342,1
    - Dst: exit
      Src: /src/gnupg/common/t-ssh-utils.c:343,1
    - Dst: puts
      Src: /src/gnupg/common/t-ssh-utils.c:345,1
    - Dst: xfree
      Src: /src/gnupg/common/t-ssh-utils.c:346,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/t-ssh-utils.c:348,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/common/t-ssh-utils.c:354,1
    - Dst: strlen
      Src: /src/gnupg/common/t-ssh-utils.c:355,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:358,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/t-ssh-utils.c:360,1
    - Dst: exit
      Src: /src/gnupg/common/t-ssh-utils.c:361,1
    - Dst: ssh_get_fingerprint_string
      Src: /src/gnupg/common/t-ssh-utils.c:364,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:369,1
    - Dst: exit
      Src: /src/gnupg/common/t-ssh-utils.c:372,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:378,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/t-ssh-utils.c:380,1
    - Dst: exit
      Src: /src/gnupg/common/t-ssh-utils.c:381,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-ssh-utils.c:384,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:386,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:389,1
    - Dst: exit
      Src: /src/gnupg/common/t-ssh-utils.c:391,1
    - Dst: xfree
      Src: /src/gnupg/common/t-ssh-utils.c:393,1
    - Dst: ssh_get_fingerprint_string
      Src: /src/gnupg/common/t-ssh-utils.c:395,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:400,1
    - Dst: exit
      Src: /src/gnupg/common/t-ssh-utils.c:402,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:408,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/t-ssh-utils.c:410,1
    - Dst: exit
      Src: /src/gnupg/common/t-ssh-utils.c:411,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-ssh-utils.c:414,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:416,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ssh-utils.c:419,1
    - Dst: exit
      Src: /src/gnupg/common/t-ssh-utils.c:421,1
    - Dst: xfree
      Src: /src/gnupg/common/t-ssh-utils.c:423,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/t-ssh-utils.c:425,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 92
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 430
    functionName: main
    functionSourceFile: /src/gnupg/common/t-ssh-utils.c
    functionUses: 4
    functionsReached:
    - strlen
    - keygrip_from_canon_sexp
    - exit
    - gcry_sexp_sscan
    - puts
    - xtryasprintf
    - ssh_get_fingerprint_string
    - gcry_sexp_release
    - gpg_error_from_syserror
    - gcry_control
    - strcmp
    - fprintf
    - gpg_strerror
    - fopen
    - xfree
    - gcry_fips_mode_active
    - bin2hex
    - fclose
    - read_key
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/common/comopt.c:80,1
    - Dst: xfree
      Src: /src/gnupg/common/comopt.c:81,1
    - Dst: memset
      Src: /src/gnupg/common/comopt.c:82,1
    - Dst: gpgrt_argparser
      Src: /src/gnupg/common/comopt.c:91,1
    - Dst: log_info
      Src: /src/gnupg/common/comopt.c:97,1
    - Dst: _
      Src: /src/gnupg/common/comopt.c:97,1
    - Dst: gpg_error
      Src: /src/gnupg/common/comopt.c:119,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/common/comopt.c:124,1
    - Dst: strncmp
      Src: /src/gnupg/common/comopt.c:126,1
    - Dst: strncmp
      Src: /src/gnupg/common/comopt.c:127,1
    - Dst: xstrconcat
      Src: /src/gnupg/common/comopt.c:133,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/common/comopt.c:133,1
    - Dst: xfree
      Src: /src/gnupg/common/comopt.c:134,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - module_id
    - verbose
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 139
    functionName: parse_comopt
    functionSourceFile: /src/gnupg/common/comopt.c
    functionUses: 6
    functionsReached:
    - xstrconcat
    - gnupg_module_name
    - _
    - gpgrt_argparser
    - gpg_error
    - log_info
    - memset
    - xfree
    - gpgrt_argparse
    - strncmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_comopt (int module_id, int verbose)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/common/tlv-builder.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - secure
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: tlv_builder_new
    functionSourceFile: /src/gnupg/common/tlv-builder.c
    functionUses: 1
    functionsReached:
    - xtrycalloc
    linkageType: ''
    returnType: tlv_builder_t
    signature: tlv_builder_t tlv_builder_new (int secure)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_reallocarray
      Src: /src/gnupg/common/tlv-builder.c:82,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/tlv-builder.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - tb
    argTypes:
    - tlv_builder_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: ensure_space
    functionSourceFile: /src/gnupg/common/tlv-builder.c
    functionUses: 0
    functionsReached:
    - gpgrt_reallocarray
    - gpg_error_from_syserror
    linkageType: ''
    returnType: int
    signature: int ensure_space (tlv_builder_t tb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure_space
      Src: /src/gnupg/common/tlv-builder.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - tb
    - class
    - tag
    - value
    - valuelen
    argTypes:
    - tlv_builder_t
    - int
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: tlv_builder_add_ptr
    functionSourceFile: /src/gnupg/common/tlv-builder.c
    functionUses: 1
    functionsReached:
    - ensure_space
    linkageType: ''
    returnType: void
    signature: "void tlv_builder_add_ptr (tlv_builder_t tb, int class, int tag,\n
      \                    void *value, size_t valuelen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ensure_space
      Src: /src/gnupg/common/tlv-builder.c:123,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-builder.c:127,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/common/tlv-builder.c:130,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/tlv-builder.c:130,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/tlv-builder.c:133,1
    - Dst: memcpy
      Src: /src/gnupg/common/tlv-builder.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - tb
    - class
    - tag
    - value
    - valuelen
    argTypes:
    - tlv_builder_t
    - int
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 143
    functionName: tlv_builder_add_val
    functionSourceFile: /src/gnupg/common/tlv-builder.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - xtrymalloc_secure
    - gpg_error
    - memcpy
    - ensure_space
    - xtrymalloc
    linkageType: ''
    returnType: void
    signature: "void tlv_builder_add_val (tlv_builder_t tb, int class, int tag,\n
      \                    const void *value, size_t valuelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure_space
      Src: /src/gnupg/common/tlv-builder.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - tb
    - class
    - tag
    argTypes:
    - tlv_builder_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: tlv_builder_add_tag
    functionSourceFile: /src/gnupg/common/tlv-builder.c
    functionUses: 1
    functionsReached:
    - ensure_space
    linkageType: ''
    returnType: void
    signature: void tlv_builder_add_tag (tlv_builder_t tb, int class, int tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure_space
      Src: /src/gnupg/common/tlv-builder.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tb
    argTypes:
    - tlv_builder_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: tlv_builder_add_end
    functionSourceFile: /src/gnupg/common/tlv-builder.c
    functionUses: 1
    functionsReached:
    - ensure_space
    linkageType: ''
    returnType: void
    signature: void tlv_builder_add_end (tlv_builder_t tb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: compute_lengths
      Src: /src/gnupg/common/tlv-builder.c:196,1
    - Dst: get_tlv_length
      Src: /src/gnupg/common/tlv-builder.c:201,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - tb
    - idx
    argTypes:
    - tlv_builder_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 208
    functionName: compute_lengths
    functionSourceFile: /src/gnupg/common/tlv-builder.c
    functionUses: 1
    functionsReached:
    - get_tlv_length
    - compute_lengths
    linkageType: ''
    returnType: size_t
    signature: size_t compute_lengths (tlv_builder_t tb, int idx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-builder.c:229,1
    - Dst: gpg_error
      Src: /src/gnupg/common/tlv-builder.c:237,1
    - Dst: compute_lengths
      Src: /src/gnupg/common/tlv-builder.c:241,1
    - Dst: init_membuf_secure
      Src: /src/gnupg/common/tlv-builder.c:257,1
    - Dst: init_membuf
      Src: /src/gnupg/common/tlv-builder.c:259,1
    - Dst: put_tlv_to_membuf
      Src: /src/gnupg/common/tlv-builder.c:266,1
    - Dst: put_membuf
      Src: /src/gnupg/common/tlv-builder.c:270,1
    - Dst: get_membuf
      Src: /src/gnupg/common/tlv-builder.c:273,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/tlv-builder.c:275,1
    - Dst: xfree
      Src: /src/gnupg/common/tlv-builder.c:280,1
    - Dst: get_membuf
      Src: /src/gnupg/common/tlv-builder.c:280,1
    - Dst: xfree
      Src: /src/gnupg/common/tlv-builder.c:282,1
    - Dst: xfree
      Src: /src/gnupg/common/tlv-builder.c:283,1
    - Dst: xfree
      Src: /src/gnupg/common/tlv-builder.c:284,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 3
    argNames:
    - tb
    - r_obj
    - r_objlen
    argTypes:
    - tlv_builder_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 286
    functionName: tlv_builder_finalize
    functionSourceFile: /src/gnupg/common/tlv-builder.c
    functionUses: 1
    functionsReached:
    - get_membuf
    - init_membuf
    - compute_lengths
    - gpg_error_from_syserror
    - put_membuf
    - gpg_error
    - xfree
    - init_membuf_secure
    - put_tlv_to_membuf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t tlv_builder_finalize (tlv_builder_t tb, void **r_obj, size_t
      *r_objlen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/gnupg/common/tlv-builder.c:309,1
    - Dst: put_membuf
      Src: /src/gnupg/common/tlv-builder.c:337,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - membuf
    - class
    - tag
    - constructed
    - length
    argTypes:
    - membuf_t*
    - int
    - int
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 338
    functionName: put_tlv_to_membuf
    functionSourceFile: /src/gnupg/common/tlv-builder.c
    functionUses: 1
    functionsReached:
    - put_membuf
    - BUG
    linkageType: ''
    returnType: void
    signature: "void put_tlv_to_membuf (membuf_t *membuf, int class, int tag,\n                   int
      constructed, size_t length)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - class
    - tag
    - constructed
    - length
    argTypes:
    - int
    - int
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 388
    functionName: get_tlv_length
    functionSourceFile: /src/gnupg/common/tlv-builder.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t get_tlv_length (int class, int tag, int constructed, size_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/gnupg/common/init.c:91,1
    - Dst: free
      Src: /src/gnupg/common/init.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: run_mem_cleanup
    functionSourceFile: /src/gnupg/common/init.c
    functionUses: 0
    functionsReached:
    - free
    - func
    linkageType: ''
    returnType: void
    signature: void run_mem_cleanup (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/common/init.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 114
    functionName: register_mem_cleanup_func
    functionSourceFile: /src/gnupg/common/init.c
    functionUses: 4
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void register_mem_cleanup_func (void (*func)(void))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/common/init.c:125,1
    - Dst: es_fflush
      Src: /src/gnupg/common/init.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - mode
    - string
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: writestring_via_estream
    functionSourceFile: /src/gnupg/common/init.c
    functionUses: 0
    functionsReached:
    - es_fflush
    - es_fputs
    linkageType: ''
    returnType: int
    signature: int writestring_via_estream (int mode, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: early_system_init
    functionSourceFile: /src/gnupg/common/init.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void early_system_init (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/gnupg/common/init.c:159,1
    - Dst: set_native_charset
      Src: /src/gnupg/common/init.c:162,1
    - Dst: WSAStartup
      Src: /src/gnupg/common/init.c:171,1
    - Dst: GetModuleHandle
      Src: /src/gnupg/common/init.c:174,1
    - Dst: GetProcAddress
      Src: /src/gnupg/common/init.c:176,1
    - Dst: gcry_check_version
      Src: /src/gnupg/common/init.c:181,1
    - Dst: log_fatal
      Src: /src/gnupg/common/init.c:183,1
    - Dst: _
      Src: /src/gnupg/common/init.c:183,1
    - Dst: gcry_check_version
      Src: /src/gnupg/common/init.c:184,1
    - Dst: gpgrt_init
      Src: /src/gnupg/common/init.c:188,1
    - Dst: gpgrt_set_alloc_func
      Src: /src/gnupg/common/init.c:189,1
    - Dst: gettext_use_utf8
      Src: /src/gnupg/common/init.c:195,1
    - Dst: SetConsoleCP
      Src: /src/gnupg/common/init.c:196,1
    - Dst: SetConsoleOutputCP
      Src: /src/gnupg/common/init.c:196,1
    - Dst: GetLastError
      Src: /src/gnupg/common/init.c:200,1
    - Dst: log_info
      Src: /src/gnupg/common/init.c:203,1
    - Dst: w32_strerror
      Src: /src/gnupg/common/init.c:203,1
    - Dst: log_info
      Src: /src/gnupg/common/init.c:204,1
    - Dst: _gpgrt_get_std_stream
      Src: /src/gnupg/common/init.c:216,1
    - Dst: gpgrt_set_usage_outfnc
      Src: /src/gnupg/common/init.c:220,1
    - Dst: gpgrt_set_fixed_string_mapper
      Src: /src/gnupg/common/init.c:223,1
    - Dst: log_set_socket_dir_cb
      Src: /src/gnupg/common/init.c:226,1
    - Dst: GetSystemDEPPolicy
      Src: /src/gnupg/common/init.c:230,1
    - Dst: GetProcessDEPPolicy
      Src: /src/gnupg/common/init.c:235,1
    - Dst: GetCurrentProcess
      Src: /src/gnupg/common/init.c:235,1
    - Dst: log_info
      Src: /src/gnupg/common/init.c:236,1
    - Dst: w32_strerror
      Src: /src/gnupg/common/init.c:237,1
    - Dst: GetLastError
      Src: /src/gnupg/common/init.c:237,1
    - Dst: SetProcessDEPPolicy
      Src: /src/gnupg/common/init.c:239,1
    - Dst: log_info
      Src: /src/gnupg/common/init.c:240,1
    - Dst: w32_strerror
      Src: /src/gnupg/common/init.c:241,1
    - Dst: GetLastError
      Src: /src/gnupg/common/init.c:241,1
    - Dst: prepare_w32_commandline
      Src: /src/gnupg/common/init.c:245,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - errsource
    - argcp
    - argvp
    argTypes:
    - gpg_err_source_t
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 251
    functionName: _init_common_subsystems
    functionSourceFile: /src/gnupg/common/init.c
    functionUses: 0
    functionsReached:
    - gpgrt_set_usage_outfnc
    - WSAStartup
    - GetProcAddress
    - gpgrt_set_fixed_string_mapper
    - GetProcessDEPPolicy
    - SetConsoleCP
    - GetSystemDEPPolicy
    - GetModuleHandle
    - log_set_socket_dir_cb
    - _gpgrt_get_std_stream
    - _
    - gettext_use_utf8
    - gpgrt_set_alloc_func
    - log_info
    - w32_strerror
    - gcry_check_version
    - prepare_w32_commandline
    - SetProcessDEPPolicy
    - atexit
    - SetConsoleOutputCP
    - log_fatal
    - set_native_charset
    - gpgrt_init
    - GetLastError
    - GetCurrentProcess
    linkageType: ''
    returnType: void
    signature: void _init_common_subsystems (gpg_err_source_t errsource, int *argcp,
      char ***argvp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_strusage
      Src: /src/gnupg/common/init.c:270,1
    - Dst: GetCommandLineW
      Src: /src/gnupg/common/init.c:273,1
    - Dst: log_error
      Src: /src/gnupg/common/init.c:276,1
    - Dst: iswascii
      Src: /src/gnupg/common/init.c:285,1
    - Dst: wchar_to_utf8
      Src: /src/gnupg/common/init.c:291,1
    - Dst: log_error
      Src: /src/gnupg/common/init.c:294,1
    - Dst: strerror
      Src: /src/gnupg/common/init.c:294,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/init.c:297,1
    - Dst: w32_parse_commandline
      Src: /src/gnupg/common/init.c:299,1
    - Dst: log_error
      Src: /src/gnupg/common/init.c:302,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/init.c:305,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/gnupg/common/init.c:309,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - r_argc
    - r_argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 313
    functionName: prepare_w32_commandline
    functionSourceFile: /src/gnupg/common/init.c
    functionUses: 1
    functionsReached:
    - w32_parse_commandline
    - log_error
    - gpgrt_annotate_leaked_object
    - GetCommandLineW
    - wchar_to_utf8
    - strerror
    - gpgrt_strusage
    - iswascii
    linkageType: ''
    returnType: void
    signature: void prepare_w32_commandline (int *r_argc, char ***r_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 330
    functionName: xtrymalloc
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 103
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrymalloc(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: xtrycalloc
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 69
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrycalloc(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 332
    functionName: xfree
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 750
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xfree(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    functionName: my_set_errno
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_set_errno(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 339
    functionName: my_set_errno
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_set_errno(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: _
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 488
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: my_fatal_0
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_fatal_0(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: my_fatal_0
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_fatal_0(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: LOCK_all_lockfiles
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCK_all_lockfiles()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: UNLOCK_all_lockfiles
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNLOCK_all_lockfiles()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 402
    functionName: LOCK_all_lockfiles
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCK_all_lockfiles()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 403
    functionName: UNLOCK_all_lockfiles
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNLOCK_all_lockfiles()
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - w32_err
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: map_w32_to_errno
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int map_w32_to_errno (DWORD w32_err)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 456
    functionName: any8bitchar
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int any8bitchar (const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/common/dotlock.c:470,1
    - Dst: log_logv
      Src: /src/gnupg/common/dotlock.c:471,1
    - Dst: va_end
      Src: /src/gnupg/common/dotlock.c:472,1
    - Dst: abort
      Src: /src/gnupg/common/dotlock.c:475,1
    - Dst: vfprintf
      Src: /src/gnupg/common/dotlock.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - h
    - opaque
    - reason
    - format
    argTypes:
    - dotlock_t
    - void*
    - enum dotlock_reasons
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 481
    functionName: default_msg_cb
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached:
    - va_end
    - vfprintf
    - abort
    - va_start
    - log_logv
    linkageType: ''
    returnType: int
    signature: "int default_msg_cb (dotlock_t h, void *opaque, enum dotlock_reasons
      reason,\n                const char *format, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: dotlock_disable
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dotlock_disable (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:500,1
    - Dst: UNLOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - h
    argTypes:
    - dotlock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 511
    functionName: maybe_deadlock
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached:
    - LOCK_all_lockfiles
    - UNLOCK_all_lockfiles
    linkageType: ''
    returnType: int
    signature: int maybe_deadlock (dotlock_t h)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/common/dotlock.c:534,1
    - Dst: open
      Src: /src/gnupg/common/dotlock.c:541,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:545,1
    - Dst: strerror
      Src: /src/gnupg/common/dotlock.c:547,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:549,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:550,1
    - Dst: read
      Src: /src/gnupg/common/dotlock.c:558,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:564,1
    - Dst: strerror
      Src: /src/gnupg/common/dotlock.c:566,1
    - Dst: close
      Src: /src/gnupg/common/dotlock.c:567,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:569,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:570,1
    - Dst: close
      Src: /src/gnupg/common/dotlock.c:581,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:585,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:588,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:589,1
    - Dst: atoi
      Src: /src/gnupg/common/dotlock.c:594,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:597,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:600,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:601,1
    - Dst: memcmp
      Src: /src/gnupg/common/dotlock.c:606,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:611,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 3
    argNames:
    - h
    - same_node
    - r_fd
    argTypes:
    - dotlock_t
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 519
    functionDepth: 5
    functionLinenumber: 519
    functionLinenumberEnd: 613
    functionName: read_lockfile
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached:
    - my_set_errno
    - xtrymalloc
    - atoi
    - open
    - read
    - close
    - dotlock_t::msg_cb
    - xfree
    - memcmp
    - strerror
    linkageType: ''
    returnType: int
    signature: int read_lockfile (dotlock_t h, int *same_node, int *r_fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/gnupg/common/dotlock.c:631,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/dotlock.c:635,1
    - Dst: strlen
      Src: /src/gnupg/common/dotlock.c:635,1
    - Dst: strcpy
      Src: /src/gnupg/common/dotlock.c:638,1
    - Dst: strcat
      Src: /src/gnupg/common/dotlock.c:639,1
    - Dst: link
      Src: /src/gnupg/common/dotlock.c:642,1
    - Dst: stat
      Src: /src/gnupg/common/dotlock.c:644,1
    - Dst: unlink
      Src: /src/gnupg/common/dotlock.c:651,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:652,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - tname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 654
    functionName: use_hardlinks_p
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached:
    - strlen
    - link
    - unlink
    - strcpy
    - xfree
    - stat
    - xtrymalloc
    - strcat
    linkageType: ''
    returnType: int
    signature: int use_hardlinks_p (const char *tname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getppid
      Src: /src/gnupg/common/dotlock.c:663,1
    - Dst: getpid
      Src: /src/gnupg/common/dotlock.c:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - dotlock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 664
    functionName: dotlock_get_process_id
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached:
    - getpid
    - getppid
    linkageType: ''
    returnType: int
    signature: int dotlock_get_process_id (dotlock_t h)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/gnupg/common/dotlock.c:676,1
    - Dst: make_basename
      Src: /src/gnupg/common/dotlock.c:679,1
    - Dst: make_dirname
      Src: /src/gnupg/common/dotlock.c:680,1
    - Dst: opendir
      Src: /src/gnupg/common/dotlock.c:682,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:685,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:686,1
    - Dst: readdir
      Src: /src/gnupg/common/dotlock.c:690,1
    - Dst: strcmp
      Src: /src/gnupg/common/dotlock.c:691,1
    - Dst: strlen
      Src: /src/gnupg/common/dotlock.c:696,1
    - Dst: strlen
      Src: /src/gnupg/common/dotlock.c:697,1
    - Dst: closedir
      Src: /src/gnupg/common/dotlock.c:702,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:703,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:704,1
    - Dst: strcpy
      Src: /src/gnupg/common/dotlock.c:708,1
    - Dst: stpcpy
      Src: /src/gnupg/common/dotlock.c:708,1
    - Dst: stpcpy
      Src: /src/gnupg/common/dotlock.c:708,1
    - Dst: strchr
      Src: /src/gnupg/common/dotlock.c:710,1
    - Dst: strlen
      Src: /src/gnupg/common/dotlock.c:710,1
    - Dst: closedir
      Src: /src/gnupg/common/dotlock.c:713,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:714,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:715,1
    - Dst: closedir
      Src: /src/gnupg/common/dotlock.c:723,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:726,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:727,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:731,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:732,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - h
    argTypes:
    - dotlock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 734
    functionName: dotlock_detect_tname
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached:
    - readdir
    - strlen
    - closedir
    - strcmp
    - strchr
    - xfree
    - strcpy
    - stat
    - make_dirname
    - stpcpy
    - make_basename
    - opendir
    linkageType: ''
    returnType: int
    signature: int dotlock_detect_tname (dotlock_t h)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dotlock_get_process_id
      Src: /src/gnupg/common/dotlock.c:750,1
    - Dst: snprintf
      Src: /src/gnupg/common/dotlock.c:751,1
    - Dst: uname
      Src: /src/gnupg/common/dotlock.c:754,1
    - Dst: strrchr
      Src: /src/gnupg/common/dotlock.c:759,1
    - Dst: LOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:770,1
    - Dst: strlen
      Src: /src/gnupg/common/dotlock.c:774,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/dotlock.c:775,1
    - Dst: UNLOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:779,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:780,1
    - Dst: strlen
      Src: /src/gnupg/common/dotlock.c:783,1
    - Dst: memset
      Src: /src/gnupg/common/dotlock.c:787,1
    - Dst: snprintf
      Src: /src/gnupg/common/dotlock.c:792,1
    - Dst: strlen
      Src: /src/gnupg/common/dotlock.c:793,1
    - Dst: snprintf
      Src: /src/gnupg/common/dotlock.c:794,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:799,1
    - Dst: open
      Src: /src/gnupg/common/dotlock.c:800,1
    - Dst: UNLOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:809,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:810,1
    - Dst: _
      Src: /src/gnupg/common/dotlock.c:811,1
    - Dst: strerror
      Src: /src/gnupg/common/dotlock.c:812,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:813,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:814,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:815,1
    - Dst: write
      Src: /src/gnupg/common/dotlock.c:818,1
    - Dst: write
      Src: /src/gnupg/common/dotlock.c:820,1
    - Dst: strlen
      Src: /src/gnupg/common/dotlock.c:820,1
    - Dst: strlen
      Src: /src/gnupg/common/dotlock.c:820,1
    - Dst: write
      Src: /src/gnupg/common/dotlock.c:822,1
    - Dst: close
      Src: /src/gnupg/common/dotlock.c:824,1
    - Dst: use_hardlinks_p
      Src: /src/gnupg/common/dotlock.c:833,1
    - Dst: unlink
      Src: /src/gnupg/common/dotlock.c:838,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:844,1
    - Dst: strerror
      Src: /src/gnupg/common/dotlock.c:846,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:847,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/dotlock.c:853,1
    - Dst: strlen
      Src: /src/gnupg/common/dotlock.c:853,1
    - Dst: UNLOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:858,1
    - Dst: unlink
      Src: /src/gnupg/common/dotlock.c:859,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:860,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:861,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:862,1
    - Dst: strcpy
      Src: /src/gnupg/common/dotlock.c:865,1
    - Dst: stpcpy
      Src: /src/gnupg/common/dotlock.c:865,1
    - Dst: UNLOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:866,1
    - Dst: dotlock_detect_tname
      Src: /src/gnupg/common/dotlock.c:870,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:872,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:873,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:874,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:875,1
    - Dst: UNLOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:888,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:889,1
    - Dst: _
      Src: /src/gnupg/common/dotlock.c:890,1
    - Dst: strerror
      Src: /src/gnupg/common/dotlock.c:891,1
    - Dst: close
      Src: /src/gnupg/common/dotlock.c:893,1
    - Dst: unlink
      Src: /src/gnupg/common/dotlock.c:894,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:895,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:896,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:897,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 115
    argCount: 2
    argNames:
    - h
    - file_to_lock
    argTypes:
    - dotlock_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 738
    functionDepth: 5
    functionLinenumber: 738
    functionLinenumberEnd: 900
    functionName: dotlock_create_unix
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached:
    - strlen
    - UNLOCK_all_lockfiles
    - xtrymalloc
    - my_set_errno
    - LOCK_all_lockfiles
    - close
    - write
    - _
    - dotlock_detect_tname
    - dotlock_get_process_id
    - unlink
    - xfree
    - memset
    - use_hardlinks_p
    - open
    - snprintf
    - uname
    - dotlock_t::msg_cb
    - strcpy
    - strrchr
    - stpcpy
    - strerror
    linkageType: ''
    returnType: dotlock_t
    signature: dotlock_t dotlock_create_unix (dotlock_t h, const char *file_to_lock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:913,1
    - Dst: strconcat
      Src: /src/gnupg/common/dotlock.c:917,1
    - Dst: UNLOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:921,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:922,1
    - Dst: any8bitchar
      Src: /src/gnupg/common/dotlock.c:934,1
    - Dst: utf8_to_wchar
      Src: /src/gnupg/common/dotlock.c:936,1
    - Dst: CreateFileW
      Src: /src/gnupg/common/dotlock.c:939,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:945,1
    - Dst: CreateFileA
      Src: /src/gnupg/common/dotlock.c:948,1
    - Dst: map_w32_to_errno
      Src: /src/gnupg/common/dotlock.c:954,1
    - Dst: GetLastError
      Src: /src/gnupg/common/dotlock.c:954,1
    - Dst: UNLOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:956,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:957,1
    - Dst: _
      Src: /src/gnupg/common/dotlock.c:958,1
    - Dst: w32_strerror
      Src: /src/gnupg/common/dotlock.c:959,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:960,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:961,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:962,1
    - Dst: UNLOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:965,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - h
    - file_to_lock
    argTypes:
    - dotlock_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 910
    functionDepth: 5
    functionLinenumber: 910
    functionLinenumberEnd: 967
    functionName: dotlock_create_w32
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached:
    - map_w32_to_errno
    - my_set_errno
    - LOCK_all_lockfiles
    - _
    - strconcat
    - CreateFileA
    - dotlock_t::msg_cb
    - xfree
    - w32_strerror
    - utf8_to_wchar
    - UNLOCK_all_lockfiles
    - GetLastError
    - any8bitchar
    - CreateFileW
    linkageType: ''
    returnType: dotlock_t
    signature: dotlock_t dotlock_create_w32 (dotlock_t h, const char *file_to_lock)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/gnupg/common/dotlock.c:1014,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:1031,1
    - Dst: xtrycalloc
      Src: /src/gnupg/common/dotlock.c:1035,1
    - Dst: LOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:1049,1
    - Dst: UNLOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:1052,1
    - Dst: dotlock_create_w32
      Src: /src/gnupg/common/dotlock.c:1057,1
    - Dst: dotlock_create_unix
      Src: /src/gnupg/common/dotlock.c:1059,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - file_to_lock
    - flags
    - msg_cb_arg
    argTypes:
    - char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 997
    functionDepth: 6
    functionLinenumber: 997
    functionLinenumberEnd: 1061
    functionName: dotlock_create_with
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 1
    functionsReached:
    - atexit
    - my_set_errno
    - LOCK_all_lockfiles
    - dotlock_create_w32
    - xtrycalloc
    - dotlock_create_unix
    - UNLOCK_all_lockfiles
    linkageType: ''
    returnType: dotlock_t
    signature: "dotlock_t dotlock_create_with (const char *file_to_lock, unsigned
      int flags,\n                     int (*msg_cb)(dotlock_t, void *,\n                                   enum
      dotlock_reasons reason,\n                                   const char *, ...),\n
      \                    void *msg_cb_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - fd
    argTypes:
    - dotlock_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1071
    functionName: dotlock_set_fd
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dotlock_set_fd (dotlock_t h, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - dotlock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1079
    functionName: dotlock_get_fd
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dotlock_get_fd (dotlock_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotlock_create_with
      Src: /src/gnupg/common/dotlock.c:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file_to_lock
    - flags
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1082
    functionDepth: 7
    functionLinenumber: 1082
    functionLinenumberEnd: 1086
    functionName: dotlock_create
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 8
    functionsReached:
    - dotlock_create_with
    linkageType: ''
    returnType: dotlock_t
    signature: dotlock_t dotlock_create (const char *file_to_lock, unsigned int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnupg/common/dotlock.c:1094,1
    - Dst: unlink
      Src: /src/gnupg/common/dotlock.c:1096,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - dotlock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1097
    functionName: dotlock_destroy_unix
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached:
    - unlink
    linkageType: ''
    returnType: void
    signature: void dotlock_destroy_unix (dotlock_t h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/common/dotlock.c:1110,1
    - Dst: UnlockFileEx
      Src: /src/gnupg/common/dotlock.c:1111,1
    - Dst: CloseHandle
      Src: /src/gnupg/common/dotlock.c:1113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - h
    argTypes:
    - dotlock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1114
    functionName: dotlock_destroy_w32
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - UnlockFileEx
    - memset
    linkageType: ''
    returnType: void
    signature: void dotlock_destroy_w32 (dotlock_t h)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:1128,1
    - Dst: UNLOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:1139,1
    - Dst: dotlock_destroy_w32
      Src: /src/gnupg/common/dotlock.c:1148,1
    - Dst: dotlock_destroy_unix
      Src: /src/gnupg/common/dotlock.c:1150,1
    - Dst: unlink
      Src: /src/gnupg/common/dotlock.c:1159,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:1161,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:1163,1
    - Dst: xfree
      Src: /src/gnupg/common/dotlock.c:1164,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - h
    argTypes:
    - dotlock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1165
    functionName: dotlock_destroy
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 5
    functionsReached:
    - LOCK_all_lockfiles
    - dotlock_destroy_unix
    - unlink
    - xfree
    - dotlock_destroy_w32
    - UNLOCK_all_lockfiles
    linkageType: ''
    returnType: void
    signature: void dotlock_destroy (dotlock_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - dotlock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1173
    functionName: dotlock_is_locked
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dotlock_is_locked (dotlock_t h)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/gnupg/common/dotlock.c:1197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - wtime
    - timeout
    argTypes:
    - int*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1207
    functionName: next_wait_interval
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached:
    - getpid
    linkageType: ''
    returnType: int
    signature: int next_wait_interval (int *wtime, long *timeout)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:1234,1
    - Dst: open
      Src: /src/gnupg/common/dotlock.c:1235,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:1245,1
    - Dst: strerror
      Src: /src/gnupg/common/dotlock.c:1247,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:1248,1
    - Dst: snprintf
      Src: /src/gnupg/common/dotlock.c:1255,1
    - Dst: dotlock_get_process_id
      Src: /src/gnupg/common/dotlock.c:1256,1
    - Dst: write
      Src: /src/gnupg/common/dotlock.c:1257,1
    - Dst: write
      Src: /src/gnupg/common/dotlock.c:1258,1
    - Dst: write
      Src: /src/gnupg/common/dotlock.c:1260,1
    - Dst: close
      Src: /src/gnupg/common/dotlock.c:1261,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:1268,1
    - Dst: strerror
      Src: /src/gnupg/common/dotlock.c:1270,1
    - Dst: close
      Src: /src/gnupg/common/dotlock.c:1271,1
    - Dst: unlink
      Src: /src/gnupg/common/dotlock.c:1272,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:1273,1
    - Dst: link
      Src: /src/gnupg/common/dotlock.c:1282,1
    - Dst: stat
      Src: /src/gnupg/common/dotlock.c:1284,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:1287,1
    - Dst: strerror
      Src: /src/gnupg/common/dotlock.c:1289,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:1293,1
    - Dst: read_lockfile
      Src: /src/gnupg/common/dotlock.c:1305,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:1310,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:1312,1
    - Dst: dotlock_get_process_id
      Src: /src/gnupg/common/dotlock.c:1317,1
    - Dst: kill
      Src: /src/gnupg/common/dotlock.c:1318,1
    - Dst: fstat
      Src: /src/gnupg/common/dotlock.c:1324,1
    - Dst: close
      Src: /src/gnupg/common/dotlock.c:1327,1
    - Dst: unlink
      Src: /src/gnupg/common/dotlock.c:1360,1
    - Dst: close
      Src: /src/gnupg/common/dotlock.c:1361,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:1362,1
    - Dst: _
      Src: /src/gnupg/common/dotlock.c:1363,1
    - Dst: close
      Src: /src/gnupg/common/dotlock.c:1367,1
    - Dst: next_wait_interval
      Src: /src/gnupg/common/dotlock.c:1380,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:1388,1
    - Dst: _
      Src: /src/gnupg/common/dotlock.c:1389,1
    - Dst: maybe_deadlock
      Src: /src/gnupg/common/dotlock.c:1391,1
    - Dst: _
      Src: /src/gnupg/common/dotlock.c:1391,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:1393,1
    - Dst: select
      Src: /src/gnupg/common/dotlock.c:1400,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:1404,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 89
    argCount: 2
    argNames:
    - h
    - timeout
    argTypes:
    - dotlock_t
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1214
    functionDepth: 6
    functionLinenumber: 1214
    functionLinenumberEnd: 1406
    functionName: dotlock_take_unix
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached:
    - select
    - my_set_errno
    - maybe_deadlock
    - open
    - snprintf
    - close
    - link
    - write
    - unlink
    - read_lockfile
    - fstat
    - _
    - next_wait_interval
    - dotlock_t::msg_cb
    - kill
    - stat
    - strerror
    - dotlock_get_process_id
    linkageType: ''
    returnType: int
    signature: int dotlock_take_unix (dotlock_t h, long timeout)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/common/dotlock.c:1423,1
    - Dst: LockFileEx
      Src: /src/gnupg/common/dotlock.c:1424,1
    - Dst: GetLastError
      Src: /src/gnupg/common/dotlock.c:1431,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:1434,1
    - Dst: _
      Src: /src/gnupg/common/dotlock.c:1435,1
    - Dst: w32_strerror
      Src: /src/gnupg/common/dotlock.c:1436,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:1437,1
    - Dst: map_w32_to_errno
      Src: /src/gnupg/common/dotlock.c:1437,1
    - Dst: next_wait_interval
      Src: /src/gnupg/common/dotlock.c:1445,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:1451,1
    - Dst: _
      Src: /src/gnupg/common/dotlock.c:1452,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:1454,1
    - Dst: Sleep
      Src: /src/gnupg/common/dotlock.c:1459,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:1463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - h
    - timeout
    argTypes:
    - dotlock_t
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1413
    functionDepth: 5
    functionLinenumber: 1413
    functionLinenumberEnd: 1465
    functionName: dotlock_take_w32
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached:
    - Sleep
    - my_set_errno
    - _
    - next_wait_interval
    - GetLastError
    - memset
    - dotlock_t::msg_cb
    - w32_strerror
    - map_w32_to_errno
    - LockFileEx
    linkageType: ''
    returnType: int
    signature: int dotlock_take_w32 (dotlock_t h, long timeout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:1482,1
    - Dst: dotlock_take_w32
      Src: /src/gnupg/common/dotlock.c:1488,1
    - Dst: dotlock_take_unix
      Src: /src/gnupg/common/dotlock.c:1490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - h
    - timeout
    argTypes:
    - dotlock_t
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1472
    functionDepth: 7
    functionLinenumber: 1472
    functionLinenumberEnd: 1494
    functionName: dotlock_take
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 7
    functionsReached:
    - dotlock_t::msg_cb
    - dotlock_take_unix
    - dotlock_take_w32
    linkageType: ''
    returnType: int
    signature: int dotlock_take (dotlock_t h, long timeout)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read_lockfile
      Src: /src/gnupg/common/dotlock.c:1506,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:1510,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:1512,1
    - Dst: dotlock_get_process_id
      Src: /src/gnupg/common/dotlock.c:1515,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:1517,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:1519,1
    - Dst: unlink
      Src: /src/gnupg/common/dotlock.c:1523,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:1526,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:1529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - h
    argTypes:
    - dotlock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1500
    functionDepth: 6
    functionLinenumber: 1500
    functionLinenumberEnd: 1535
    functionName: dotlock_release_unix
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached:
    - my_set_errno
    - read_lockfile
    - unlink
    - dotlock_t::msg_cb
    - dotlock_get_process_id
    linkageType: ''
    returnType: int
    signature: int dotlock_release_unix (dotlock_t h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/common/dotlock.c:1546,1
    - Dst: UnlockFileEx
      Src: /src/gnupg/common/dotlock.c:1547,1
    - Dst: GetLastError
      Src: /src/gnupg/common/dotlock.c:1549,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:1551,1
    - Dst: w32_strerror
      Src: /src/gnupg/common/dotlock.c:1553,1
    - Dst: my_set_errno
      Src: /src/gnupg/common/dotlock.c:1554,1
    - Dst: map_w32_to_errno
      Src: /src/gnupg/common/dotlock.c:1554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - h
    argTypes:
    - dotlock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1541
    functionDepth: 5
    functionLinenumber: 1541
    functionLinenumberEnd: 1559
    functionName: dotlock_release_w32
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached:
    - map_w32_to_errno
    - my_set_errno
    - dotlock_t::msg_cb
    - memset
    - w32_strerror
    - UnlockFileEx
    - GetLastError
    linkageType: ''
    returnType: int
    signature: int dotlock_release_w32 (dotlock_t h)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:1573,1
    - Dst: UNLOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:1575,1
    - Dst: dotlock_t::msg_cb
      Src: /src/gnupg/common/dotlock.c:1586,1
    - Dst: dotlock_release_w32
      Src: /src/gnupg/common/dotlock.c:1593,1
    - Dst: dotlock_release_unix
      Src: /src/gnupg/common/dotlock.c:1595,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - h
    argTypes:
    - dotlock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1564
    functionDepth: 7
    functionLinenumber: 1564
    functionLinenumberEnd: 1601
    functionName: dotlock_release
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 7
    functionsReached:
    - LOCK_all_lockfiles
    - dotlock_t::msg_cb
    - dotlock_release_unix
    - UNLOCK_all_lockfiles
    - dotlock_release_w32
    linkageType: ''
    returnType: int
    signature: int dotlock_release (dotlock_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:1616,1
    - Dst: UNLOCK_all_lockfiles
      Src: /src/gnupg/common/dotlock.c:1619,1
    - Dst: dotlock_destroy
      Src: /src/gnupg/common/dotlock.c:1624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1608
    functionDepth: 1
    functionLinenumber: 1608
    functionLinenumberEnd: 1627
    functionName: dotlock_remove_lockfiles
    functionSourceFile: /src/gnupg/common/dotlock.c
    functionUses: 0
    functionsReached:
    - LOCK_all_lockfiles
    - UNLOCK_all_lockfiles
    - dotlock_destroy
    linkageType: ''
    returnType: void
    signature: void dotlock_remove_lockfiles (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error_t::gpg_err_make
      Src: /src/gnupg/common/call-gpg.c:44,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/call-gpg.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: gpg_error_t::my_error_from_syserror
    functionSourceFile: /src/gnupg/common/call-gpg.c
    functionUses: 0
    functionsReached:
    - gpg_error_t::gpg_err_make
    - gpg_err_code_from_syserror
    linkageType: ''
    returnType: GPGRT_INLINE
    signature: 'GPGRT_INLINE gpg_error_t

      my_error_from_syserror (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error_t::gpg_err_make
      Src: /src/gnupg/common/call-gpg.c:50,1
    - Dst: gpg_err_code_from_errno
      Src: /src/gnupg/common/call-gpg.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: gpg_error_t::my_error_from_errno
    functionSourceFile: /src/gnupg/common/call-gpg.c
    functionUses: 0
    functionsReached:
    - gpg_error_t::gpg_err_make
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: GPGRT_INLINE
    signature: 'GPGRT_INLINE gpg_error_t

      my_error_from_errno (int e)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assuan_new
      Src: /src/gnupg/common/call-gpg.c:72,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:75,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:75,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/common/call-gpg.c:81,1
    - Dst: strrchr
      Src: /src/gnupg/common/call-gpg.c:84,1
    - Dst: fflush
      Src: /src/gnupg/common/call-gpg.c:89,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/call-gpg.c:91,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:92,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:92,1
    - Dst: xtrycalloc
      Src: /src/gnupg/common/call-gpg.c:96,1
    - Dst: strlist_length
      Src: /src/gnupg/common/call-gpg.c:96,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/call-gpg.c:99,1
    - Dst: assuan_fd_from_posix_fd
      Src: /src/gnupg/common/call-gpg.c:110,1
    - Dst: fileno
      Src: /src/gnupg/common/call-gpg.c:110,1
    - Dst: assuan_fd_from_posix_fd
      Src: /src/gnupg/common/call-gpg.c:112,1
    - Dst: assuan_fd_from_posix_fd
      Src: /src/gnupg/common/call-gpg.c:114,1
    - Dst: assuan_pipe_connect
      Src: /src/gnupg/common/call-gpg.c:118,1
    - Dst: assuan_release
      Src: /src/gnupg/common/call-gpg.c:122,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:123,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:123,1
    - Dst: gpg_error
      Src: /src/gnupg/common/call-gpg.c:124,1
    - Dst: snprintf
      Src: /src/gnupg/common/call-gpg.c:129,1
    - Dst: assuan_transact
      Src: /src/gnupg/common/call-gpg.c:130,1
    - Dst: assuan_release
      Src: /src/gnupg/common/call-gpg.c:133,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:134,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:134,1
    - Dst: snprintf
      Src: /src/gnupg/common/call-gpg.c:141,1
    - Dst: assuan_transact
      Src: /src/gnupg/common/call-gpg.c:142,1
    - Dst: assuan_release
      Src: /src/gnupg/common/call-gpg.c:145,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:146,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:146,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 6
    argNames:
    - ctrl
    - gpg_program
    - gpg_arguments
    - input_fd
    - output_fd
    - r_ctx
    argTypes:
    - ctrl_t
    - char*
    - strlist_t
    - int
    - int
    - assuan_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 153
    functionName: start_gpg
    functionSourceFile: /src/gnupg/common/call-gpg.c
    functionUses: 0
    functionsReached:
    - assuan_new
    - my_error_from_syserror
    - log_error
    - strlist_length
    - gnupg_module_name
    - assuan_fd_from_posix_fd
    - assuan_release
    - snprintf
    - xtrycalloc
    - fileno
    - assuan_transact
    - fflush
    - gpg_error
    - gpg_strerror
    - assuan_pipe_connect
    - strrchr
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t start_gpg (ctrl_t ctrl, const char *gpg_program, strlist_t
      gpg_arguments,\n           int input_fd, int output_fd, assuan_context_t *r_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_release
      Src: /src/gnupg/common/call-gpg.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: release_gpg
    functionSourceFile: /src/gnupg/common/call-gpg.c
    functionUses: 0
    functionsReached:
    - assuan_release
    linkageType: ''
    returnType: void
    signature: void release_gpg (assuan_context_t ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: es_read
      Src: /src/gnupg/common/call-gpg.c:189,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:192,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:192,1
    - Dst: npth_write
      Src: /src/gnupg/common/call-gpg.c:206,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/call-gpg.c:211,1
    - Dst: es_read
      Src: /src/gnupg/common/call-gpg.c:220,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:223,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:224,1
    - Dst: close
      Src: /src/gnupg/common/call-gpg.c:238,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:239,1
    - Dst: strerror
      Src: /src/gnupg/common/call-gpg.c:239,1
    - Dst: xfree
      Src: /src/gnupg/common/call-gpg.c:240,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 242
    functionName: writer_thread_main
    functionSourceFile: /src/gnupg/common/call-gpg.c
    functionUses: 0
    functionsReached:
    - my_error_from_syserror
    - log_error
    - close
    - npth_write
    - es_read
    - gpg_strerror
    - xfree
    - strerror
    linkageType: ''
    returnType: void
    signature: 'void *

      writer_thread_main (void *arg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/common/call-gpg.c:260,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/call-gpg.c:263,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/call-gpg.c:265,1
    - Dst: npth_attr_init
      Src: /src/gnupg/common/call-gpg.c:272,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/common/call-gpg.c:273,1
    - Dst: npth_create
      Src: /src/gnupg/common/call-gpg.c:275,1
    - Dst: my_error_from_errno
      Src: /src/gnupg/common/call-gpg.c:278,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:279,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:279,1
    - Dst: npth_setname_np
      Src: /src/gnupg/common/call-gpg.c:283,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/common/call-gpg.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 6
    argNames:
    - fd
    - data
    - datalen
    - stream
    - r_thread
    - err_addr
    argTypes:
    - int
    - void*
    - size_t
    - estream_t
    - npth_t*
    - gpg_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 290
    functionName: start_writer
    functionSourceFile: /src/gnupg/common/call-gpg.c
    functionUses: 0
    functionsReached:
    - my_error_from_syserror
    - log_error
    - npth_attr_init
    - npth_create
    - my_error_from_errno
    - npth_attr_destroy
    - npth_attr_setdetachstate
    - npth_setname_np
    - memset
    - gpg_strerror
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t start_writer (int fd, const void *data, size_t datalen,
      estream_t stream,\n              npth_t *r_thread, gpg_error_t *err_addr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: npth_read
      Src: /src/gnupg/common/call-gpg.c:313,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/call-gpg.c:319,1
    - Dst: es_write
      Src: /src/gnupg/common/call-gpg.c:329,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:332,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:333,1
    - Dst: put_membuf
      Src: /src/gnupg/common/call-gpg.c:341,1
    - Dst: close
      Src: /src/gnupg/common/call-gpg.c:346,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:347,1
    - Dst: strerror
      Src: /src/gnupg/common/call-gpg.c:347,1
    - Dst: xfree
      Src: /src/gnupg/common/call-gpg.c:348,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 350
    functionName: reader_thread_main
    functionSourceFile: /src/gnupg/common/call-gpg.c
    functionUses: 0
    functionsReached:
    - my_error_from_syserror
    - log_error
    - put_membuf
    - close
    - es_write
    - gpg_strerror
    - xfree
    - strerror
    - npth_read
    linkageType: ''
    returnType: void
    signature: 'void *

      reader_thread_main (void *arg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/common/call-gpg.c:367,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/call-gpg.c:370,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/call-gpg.c:372,1
    - Dst: npth_attr_init
      Src: /src/gnupg/common/call-gpg.c:378,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/common/call-gpg.c:379,1
    - Dst: npth_create
      Src: /src/gnupg/common/call-gpg.c:381,1
    - Dst: my_error_from_errno
      Src: /src/gnupg/common/call-gpg.c:384,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:385,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:385,1
    - Dst: npth_setname_np
      Src: /src/gnupg/common/call-gpg.c:389,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/common/call-gpg.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 5
    argNames:
    - fd
    - mb
    - stream
    - r_thread
    - err_addr
    argTypes:
    - int
    - membuf_t*
    - estream_t
    - npth_t*
    - gpg_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 396
    functionName: start_reader
    functionSourceFile: /src/gnupg/common/call-gpg.c
    functionUses: 0
    functionsReached:
    - my_error_from_syserror
    - log_error
    - npth_attr_init
    - npth_create
    - my_error_from_errno
    - npth_attr_destroy
    - npth_attr_setdetachstate
    - npth_setname_np
    - memset
    - gpg_strerror
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t start_reader (int fd, membuf_t *mb, estream_t stream,\n
      \             npth_t *r_thread, gpg_error_t *err_addr)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/common/call-gpg.c:428,1
    - Dst: assert
      Src: /src/gnupg/common/call-gpg.c:429,1
    - Dst: gnupg_create_pipe
      Src: /src/gnupg/common/call-gpg.c:432,1
    - Dst: gnupg_create_pipe
      Src: /src/gnupg/common/call-gpg.c:434,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:437,1
    - Dst: _
      Src: /src/gnupg/common/call-gpg.c:437,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:437,1
    - Dst: start_gpg
      Src: /src/gnupg/common/call-gpg.c:442,1
    - Dst: close
      Src: /src/gnupg/common/call-gpg.c:446,1
    - Dst: close
      Src: /src/gnupg/common/call-gpg.c:447,1
    - Dst: start_writer
      Src: /src/gnupg/common/call-gpg.c:450,1
    - Dst: start_reader
      Src: /src/gnupg/common/call-gpg.c:458,1
    - Dst: snprintf
      Src: /src/gnupg/common/call-gpg.c:467,1
    - Dst: assuan_transact
      Src: /src/gnupg/common/call-gpg.c:468,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:471,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:472,1
    - Dst: gpg_strsource
      Src: /src/gnupg/common/call-gpg.c:472,1
    - Dst: assuan_transact
      Src: /src/gnupg/common/call-gpg.c:477,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:480,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:481,1
    - Dst: gpg_strsource
      Src: /src/gnupg/common/call-gpg.c:481,1
    - Dst: npth_join
      Src: /src/gnupg/common/call-gpg.c:486,1
    - Dst: my_error_from_errno
      Src: /src/gnupg/common/call-gpg.c:489,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:490,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:490,1
    - Dst: memset
      Src: /src/gnupg/common/call-gpg.c:494,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:498,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:498,1
    - Dst: npth_join
      Src: /src/gnupg/common/call-gpg.c:503,1
    - Dst: my_error_from_errno
      Src: /src/gnupg/common/call-gpg.c:506,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:507,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:507,1
    - Dst: memset
      Src: /src/gnupg/common/call-gpg.c:510,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:514,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:514,1
    - Dst: npth_detach
      Src: /src/gnupg/common/call-gpg.c:521,1
    - Dst: npth_detach
      Src: /src/gnupg/common/call-gpg.c:523,1
    - Dst: close
      Src: /src/gnupg/common/call-gpg.c:525,1
    - Dst: close
      Src: /src/gnupg/common/call-gpg.c:527,1
    - Dst: close
      Src: /src/gnupg/common/call-gpg.c:529,1
    - Dst: close
      Src: /src/gnupg/common/call-gpg.c:531,1
    - Dst: release_gpg
      Src: /src/gnupg/common/call-gpg.c:532,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 86
    argCount: 9
    argNames:
    - ctrl
    - gpg_program
    - gpg_arguments
    - plain
    - plainlen
    - plain_stream
    - keys
    - reader_mb
    - cipher_stream
    argTypes:
    - ctrl_t
    - char*
    - strlist_t
    - void*
    - size_t
    - estream_t
    - strlist_t
    - membuf_t*
    - estream_t
    assertStmts:
    - condition: ((reader_mb == NULL) != (cipher_stream == NULL))
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/gnupg/common/call-gpg.c
    - condition: ((plain == NULL) != (plain_stream == NULL))
      pos:
        line_end: 427
        line_start: 427
        source_file: /src/gnupg/common/call-gpg.c
    constantsTouched: []
    func_position:
      end: 534
      start: 405
    functionDepth: 4
    functionLinenumber: 405
    functionLinenumberEnd: 534
    functionName: _gpg_encrypt
    functionSourceFile: /src/gnupg/common/call-gpg.c
    functionUses: 1
    functionsReached:
    - release_gpg
    - log_error
    - assert
    - start_gpg
    - close
    - snprintf
    - my_error_from_errno
    - npth_detach
    - _
    - assuan_transact
    - start_writer
    - gpg_strerror
    - memset
    - gnupg_create_pipe
    - gpg_strsource
    - npth_join
    - start_reader
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _gpg_encrypt (ctrl_t ctrl,\n              const char *gpg_program,\n
      \             strlist_t gpg_arguments,\n              const void *plain, size_t
      plainlen,\n              estream_t plain_stream,\n              strlist_t keys,\n
      \             membuf_t *reader_mb,\n              estream_t cipher_stream)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_membuf
      Src: /src/gnupg/common/call-gpg.c:551,1
    - Dst: _gpg_encrypt
      Src: /src/gnupg/common/call-gpg.c:553,1
    - Dst: get_membuf
      Src: /src/gnupg/common/call-gpg.c:561,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/call-gpg.c:564,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:565,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:566,1
    - Dst: xfree
      Src: /src/gnupg/common/call-gpg.c:570,1
    - Dst: get_membuf
      Src: /src/gnupg/common/call-gpg.c:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 8
    argNames:
    - ctrl
    - gpg_program
    - gpg_arguments
    - plain
    - plainlen
    - keys
    - r_ciph
    - r_ciphlen
    argTypes:
    - ctrl_t
    - char*
    - strlist_t
    - void*
    - size_t
    - strlist_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 536
    functionDepth: 5
    functionLinenumber: 536
    functionLinenumberEnd: 572
    functionName: gpg_encrypt_blob
    functionSourceFile: /src/gnupg/common/call-gpg.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - my_error_from_syserror
    - init_membuf
    - log_error
    - _gpg_encrypt
    - gpg_strerror
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gpg_encrypt_blob (ctrl_t ctrl,\n                  const
      char *gpg_program,\n                  strlist_t gpg_arguments,\n                  const
      void *plain, size_t plainlen,\n                  strlist_t keys,\n                  void
      **r_ciph, size_t *r_ciphlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_encrypt
      Src: /src/gnupg/common/call-gpg.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctrl
    - gpg_program
    - gpg_arguments
    - plain_stream
    - keys
    - cipher_stream
    argTypes:
    - ctrl_t
    - char*
    - strlist_t
    - estream_t
    - strlist_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 574
    functionDepth: 5
    functionLinenumber: 574
    functionLinenumberEnd: 586
    functionName: gpg_encrypt_stream
    functionSourceFile: /src/gnupg/common/call-gpg.c
    functionUses: 0
    functionsReached:
    - _gpg_encrypt
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gpg_encrypt_stream (ctrl_t ctrl,\n                    const
      char *gpg_program,\n                    strlist_t gpg_arguments,\n                    estream_t
      plain_stream,\n                    strlist_t keys,\n                    estream_t
      cipher_stream)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/common/call-gpg.c:612,1
    - Dst: assert
      Src: /src/gnupg/common/call-gpg.c:613,1
    - Dst: gnupg_create_pipe
      Src: /src/gnupg/common/call-gpg.c:616,1
    - Dst: gnupg_create_pipe
      Src: /src/gnupg/common/call-gpg.c:618,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:621,1
    - Dst: _
      Src: /src/gnupg/common/call-gpg.c:621,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:621,1
    - Dst: start_gpg
      Src: /src/gnupg/common/call-gpg.c:626,1
    - Dst: close
      Src: /src/gnupg/common/call-gpg.c:630,1
    - Dst: close
      Src: /src/gnupg/common/call-gpg.c:631,1
    - Dst: start_writer
      Src: /src/gnupg/common/call-gpg.c:634,1
    - Dst: start_reader
      Src: /src/gnupg/common/call-gpg.c:642,1
    - Dst: assuan_transact
      Src: /src/gnupg/common/call-gpg.c:649,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:652,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:653,1
    - Dst: gpg_strsource
      Src: /src/gnupg/common/call-gpg.c:653,1
    - Dst: npth_join
      Src: /src/gnupg/common/call-gpg.c:658,1
    - Dst: my_error_from_errno
      Src: /src/gnupg/common/call-gpg.c:661,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:662,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:662,1
    - Dst: memset
      Src: /src/gnupg/common/call-gpg.c:665,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:669,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:669,1
    - Dst: npth_join
      Src: /src/gnupg/common/call-gpg.c:674,1
    - Dst: my_error_from_errno
      Src: /src/gnupg/common/call-gpg.c:677,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:678,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:678,1
    - Dst: memset
      Src: /src/gnupg/common/call-gpg.c:681,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:685,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:685,1
    - Dst: npth_detach
      Src: /src/gnupg/common/call-gpg.c:691,1
    - Dst: npth_detach
      Src: /src/gnupg/common/call-gpg.c:693,1
    - Dst: close
      Src: /src/gnupg/common/call-gpg.c:695,1
    - Dst: close
      Src: /src/gnupg/common/call-gpg.c:697,1
    - Dst: close
      Src: /src/gnupg/common/call-gpg.c:699,1
    - Dst: close
      Src: /src/gnupg/common/call-gpg.c:701,1
    - Dst: release_gpg
      Src: /src/gnupg/common/call-gpg.c:702,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 77
    argCount: 8
    argNames:
    - ctrl
    - gpg_program
    - gpg_arguments
    - ciph
    - ciphlen
    - cipher_stream
    - reader_mb
    - plain_stream
    argTypes:
    - ctrl_t
    - char*
    - strlist_t
    - void*
    - size_t
    - estream_t
    - membuf_t*
    - estream_t
    assertStmts:
    - condition: ((ciph == NULL) != (cipher_stream == NULL))
      pos:
        line_end: 611
        line_start: 611
        source_file: /src/gnupg/common/call-gpg.c
    - condition: ((reader_mb == NULL) != (plain_stream == NULL))
      pos:
        line_end: 612
        line_start: 612
        source_file: /src/gnupg/common/call-gpg.c
    constantsTouched: []
    func_position:
      end: 704
      start: 592
    functionDepth: 4
    functionLinenumber: 592
    functionLinenumberEnd: 704
    functionName: _gpg_decrypt
    functionSourceFile: /src/gnupg/common/call-gpg.c
    functionUses: 0
    functionsReached:
    - release_gpg
    - log_error
    - assert
    - start_gpg
    - close
    - my_error_from_errno
    - npth_detach
    - _
    - assuan_transact
    - start_writer
    - gpg_strerror
    - memset
    - gnupg_create_pipe
    - gpg_strsource
    - npth_join
    - start_reader
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _gpg_decrypt (ctrl_t ctrl,\n              const char *gpg_program,\n
      \             strlist_t gpg_arguments,\n              const void *ciph, size_t
      ciphlen,\n              estream_t cipher_stream,\n              membuf_t *reader_mb,\n
      \             estream_t plain_stream)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_membuf_secure
      Src: /src/gnupg/common/call-gpg.c:720,1
    - Dst: _gpg_decrypt
      Src: /src/gnupg/common/call-gpg.c:722,1
    - Dst: get_membuf
      Src: /src/gnupg/common/call-gpg.c:729,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/call-gpg.c:732,1
    - Dst: log_error
      Src: /src/gnupg/common/call-gpg.c:733,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/call-gpg.c:734,1
    - Dst: xfree
      Src: /src/gnupg/common/call-gpg.c:738,1
    - Dst: get_membuf
      Src: /src/gnupg/common/call-gpg.c:738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 7
    argNames:
    - ctrl
    - gpg_program
    - gpg_arguments
    - ciph
    - ciphlen
    - r_plain
    - r_plainlen
    argTypes:
    - ctrl_t
    - char*
    - strlist_t
    - void*
    - size_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 706
    functionDepth: 5
    functionLinenumber: 706
    functionLinenumberEnd: 740
    functionName: gpg_decrypt_blob
    functionSourceFile: /src/gnupg/common/call-gpg.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - my_error_from_syserror
    - log_error
    - _gpg_decrypt
    - gpg_strerror
    - xfree
    - init_membuf_secure
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gpg_decrypt_blob (ctrl_t ctrl,\n                  const
      char *gpg_program,\n                  strlist_t gpg_arguments,\n                  const
      void *ciph, size_t ciphlen,\n                  void **r_plain, size_t *r_plainlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_decrypt
      Src: /src/gnupg/common/call-gpg.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctrl
    - gpg_program
    - gpg_arguments
    - cipher_stream
    - plain_stream
    argTypes:
    - ctrl_t
    - char*
    - strlist_t
    - estream_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 742
    functionDepth: 5
    functionLinenumber: 742
    functionLinenumberEnd: 752
    functionName: gpg_decrypt_stream
    functionSourceFile: /src/gnupg/common/call-gpg.c
    functionUses: 0
    functionsReached:
    - _gpg_decrypt
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gpg_decrypt_stream (ctrl_t ctrl,\n                    const
      char *gpg_program,\n                    strlist_t gpg_arguments,\n                    estream_t
      cipher_stream,\n                    estream_t plain_stream)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read_w32_registry_string
      Src: /src/gnupg/common/t-w32-reg.c:49,1
    - Dst: fail
      Src: /src/gnupg/common/t-w32-reg.c:54,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-w32-reg.c:55,1
    - Dst: read_w32_reg_string
      Src: /src/gnupg/common/t-w32-reg.c:57,1
    - Dst: fail
      Src: /src/gnupg/common/t-w32-reg.c:61,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-w32-reg.c:62,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-w32-reg.c:63,1
    - Dst: fail
      Src: /src/gnupg/common/t-w32-reg.c:64,1
    - Dst: xfree
      Src: /src/gnupg/common/t-w32-reg.c:67,1
    - Dst: xfree
      Src: /src/gnupg/common/t-w32-reg.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 69
    functionName: test_read_registry
    functionSourceFile: /src/gnupg/common/t-w32-reg.c
    functionUses: 0
    functionsReached:
    - read_w32_registry_string
    - fail
    - fprintf
    - strcmp
    - xfree
    - read_w32_reg_string
    linkageType: ''
    returnType: void
    signature: void test_read_registry (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_w32_reg_string
      Src: /src/gnupg/common/t-w32-reg.c:79,1
    - Dst: printf
      Src: /src/gnupg/common/t-w32-reg.c:80,1
    - Dst: xfree
      Src: /src/gnupg/common/t-w32-reg.c:81,1
    - Dst: test_read_registry
      Src: /src/gnupg/common/t-w32-reg.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/gnupg/common/t-w32-reg.c
    functionUses: 4
    functionsReached:
    - printf
    - xfree
    - read_w32_reg_string
    - test_read_registry
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bindtextdomain
      Src: /src/gnupg/common/i18n.c:85,1
    - Dst: gnupg_localedir
      Src: /src/gnupg/common/i18n.c:85,1
    - Dst: textdomain
      Src: /src/gnupg/common/i18n.c:86,1
    - Dst: setlocale
      Src: /src/gnupg/common/i18n.c:89,1
    - Dst: bindtextdomain
      Src: /src/gnupg/common/i18n.c:90,1
    - Dst: gnupg_localedir
      Src: /src/gnupg/common/i18n.c:90,1
    - Dst: textdomain
      Src: /src/gnupg/common/i18n.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 5
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: i18n_init
    functionSourceFile: /src/gnupg/common/i18n.c
    functionUses: 13
    functionsReached:
    - gnupg_localedir
    - setlocale
    - textdomain
    - bindtextdomain
    linkageType: ''
    returnType: void
    signature: void i18n_init (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gettext_use_utf8
      Src: /src/gnupg/common/i18n.c:105,1
    - Dst: bind_textdomain_codeset
      Src: /src/gnupg/common/i18n.c:107,1
    - Dst: nl_langinfo
      Src: /src/gnupg/common/i18n.c:110,1
    - Dst: xstrdup
      Src: /src/gnupg/common/i18n.c:117,1
    - Dst: bind_textdomain_codeset
      Src: /src/gnupg/common/i18n.c:118,1
    - Dst: xfree
      Src: /src/gnupg/common/i18n.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 128
    functionName: i18n_switchto_utf8
    functionSourceFile: /src/gnupg/common/i18n.c
    functionUses: 4
    functionsReached:
    - gettext_use_utf8
    - bind_textdomain_codeset
    - xfree
    - xstrdup
    - nl_langinfo
    linkageType: ''
    returnType: char
    signature: 'char *

      i18n_switchto_utf8 (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gettext_use_utf8
      Src: /src/gnupg/common/i18n.c:135,1
    - Dst: bind_textdomain_codeset
      Src: /src/gnupg/common/i18n.c:139,1
    - Dst: xfree
      Src: /src/gnupg/common/i18n.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - saved_codeset
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: i18n_switchback
    functionSourceFile: /src/gnupg/common/i18n.c
    functionUses: 4
    functionsReached:
    - bind_textdomain_codeset
    - xfree
    - gettext_use_utf8
    linkageType: ''
    returnType: void
    signature: void i18n_switchback (char *saved_codeset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i18n_switchto_utf8
      Src: /src/gnupg/common/i18n.c:152,1
    - Dst: _
      Src: /src/gnupg/common/i18n.c:153,1
    - Dst: i18n_switchback
      Src: /src/gnupg/common/i18n.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: i18n_utf8
    functionSourceFile: /src/gnupg/common/i18n.c
    functionUses: 0
    functionsReached:
    - i18n_switchback
    - i18n_switchto_utf8
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      i18n_utf8 (const char *string)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/i18n.c:176,1
    - Dst: setlocale
      Src: /src/gnupg/common/i18n.c:193,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/i18n.c:196,1
    - Dst: setlocale
      Src: /src/gnupg/common/i18n.c:199,1
    - Dst: bindtextdomain
      Src: /src/gnupg/common/i18n.c:202,1
    - Dst: gnupg_localedir
      Src: /src/gnupg/common/i18n.c:202,1
    - Dst: gettext
      Src: /src/gnupg/common/i18n.c:203,1
    - Dst: setlocale
      Src: /src/gnupg/common/i18n.c:204,1
    - Dst: bindtextdomain
      Src: /src/gnupg/common/i18n.c:205,1
    - Dst: gnupg_localedir
      Src: /src/gnupg/common/i18n.c:205,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/i18n.c:211,1
    - Dst: strlen
      Src: /src/gnupg/common/i18n.c:211,1
    - Dst: strcpy
      Src: /src/gnupg/common/i18n.c:214,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/i18n.c:219,1
    - Dst: xfree
      Src: /src/gnupg/common/i18n.c:228,1
    - Dst: _
      Src: /src/gnupg/common/i18n.c:229,1
    - Dst: _
      Src: /src/gnupg/common/i18n.c:234,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - lc_messages
    - string
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 162
    functionDepth: 5
    functionLinenumber: 162
    functionLinenumberEnd: 237
    functionName: i18n_localegettext
    functionSourceFile: /src/gnupg/common/i18n.c
    functionUses: 0
    functionsReached:
    - strlen
    - gnupg_localedir
    - setlocale
    - _
    - strcmp
    - xtrystrdup
    - strcpy
    - xfree
    - gettext
    - xtrymalloc
    - bindtextdomain
    linkageType: ''
    returnType: char
    signature: 'char *

      i18n_localegettext (const char *lc_messages, const char *string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - completer
    argTypes:
    - rl_completion_func_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: set_completer
    functionSourceFile: /src/gnupg/common/gpgrlhelp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_completer (rl_completion_func_t *completer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: inhibit_completion
    functionSourceFile: /src/gnupg/common/gpgrlhelp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void inhibit_completion (int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rl_free_line_state
      Src: /src/gnupg/common/gpgrlhelp.c:68,1
    - Dst: rl_cleanup_after_signal
      Src: /src/gnupg/common/gpgrlhelp.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: cleanup_after_signal
    functionSourceFile: /src/gnupg/common/gpgrlhelp.c
    functionUses: 2
    functionsReached:
    - rl_free_line_state
    - rl_cleanup_after_signal
    linkageType: ''
    returnType: void
    signature: void cleanup_after_signal (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: init_stream
    functionSourceFile: /src/gnupg/common/gpgrlhelp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_stream (FILE *fp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: clear_history
      Src: /src/gnupg/common/gpgrlhelp.c:114,1
    - Dst: write_history
      Src: /src/gnupg/common/gpgrlhelp.c:115,1
    - Dst: history_truncate_file
      Src: /src/gnupg/common/gpgrlhelp.c:117,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/gpgrlhelp.c:120,1
    - Dst: clear_history
      Src: /src/gnupg/common/gpgrlhelp.c:126,1
    - Dst: read_history_range
      Src: /src/gnupg/common/gpgrlhelp.c:130,1
    - Dst: read_history
      Src: /src/gnupg/common/gpgrlhelp.c:132,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/gpgrlhelp.c:135,1
    - Dst: stifle_history
      Src: /src/gnupg/common/gpgrlhelp.c:140,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - filename
    - write_mode
    - nlines
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 144
    functionName: read_write_history
    functionSourceFile: /src/gnupg/common/gpgrlhelp.c
    functionUses: 0
    functionsReached:
    - read_history_range
    - write_history
    - stifle_history
    - clear_history
    - history_truncate_file
    - gpg_err_set_errno
    - read_history
    linkageType: ''
    returnType: int
    signature: int read_write_history (const char *filename, int write_mode, int nlines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tty_private_set_rl_hooks
      Src: /src/gnupg/common/gpgrlhelp.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 164
    functionName: gnupg_rl_initialize
    functionSourceFile: /src/gnupg/common/gpgrlhelp.c
    functionUses: 3
    functionsReached:
    - tty_private_set_rl_hooks
    linkageType: ''
    returnType: void
    signature: void gnupg_rl_initialize (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_w32_reg_query_string
      Src: /src/gnupg/common/w32-reg.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - root
    - dir
    - name
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: read_w32_registry_string
    functionSourceFile: /src/gnupg/common/w32-reg.c
    functionUses: 4
    functionsReached:
    - gpgrt_w32_reg_query_string
    linkageType: ''
    returnType: char
    signature: 'char *

      read_w32_registry_string (const char *root, const char *dir, const char *name)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/common/w32-reg.c:90,1
    - Dst: log_info
      Src: /src/gnupg/common/w32-reg.c:93,1
    - Dst: strchr
      Src: /src/gnupg/common/w32-reg.c:97,1
    - Dst: xfree
      Src: /src/gnupg/common/w32-reg.c:100,1
    - Dst: strchr
      Src: /src/gnupg/common/w32-reg.c:104,1
    - Dst: gpgrt_w32_reg_query_string
      Src: /src/gnupg/common/w32-reg.c:108,1
    - Dst: gpgrt_w32_reg_query_string
      Src: /src/gnupg/common/w32-reg.c:112,1
    - Dst: xfree
      Src: /src/gnupg/common/w32-reg.c:114,1
    - Dst: xfree
      Src: /src/gnupg/common/w32-reg.c:118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - key_arg
    - r_hklm_fallback
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 120
    functionName: read_w32_reg_string
    functionSourceFile: /src/gnupg/common/w32-reg.c
    functionUses: 3
    functionsReached:
    - gpgrt_w32_reg_query_string
    - xtrystrdup
    - strchr
    - log_info
    - xfree
    linkageType: ''
    returnType: char
    signature: 'char *

      read_w32_reg_string (const char *key_arg, int *r_hklm_fallback)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibraryEx
      Src: /src/gnupg/common/dynload.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - flag
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: dlopen
    functionSourceFile: /src/gnupg/common/dynload.h
    functionUses: 1
    functionsReached:
    - LoadLibraryEx
    linkageType: ''
    returnType: void
    signature: 'void *

      dlopen (const char *name, int flag)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetProcAddress
      Src: /src/gnupg/common/dynload.h:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - hd
    - sym
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: dlsym
    functionSourceFile: /src/gnupg/common/dynload.h
    functionUses: 1
    functionsReached:
    - GetProcAddress
    linkageType: ''
    returnType: void
    signature: 'void *

      dlsym (void *hd, const char *sym)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/common/dynload.h:75,1
    - Dst: GetLastError
      Src: /src/gnupg/common/dynload.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: dlerror
    functionSourceFile: /src/gnupg/common/dynload.h
    functionUses: 0
    functionsReached:
    - snprintf
    - GetLastError
    linkageType: ''
    returnType: char
    signature: 'char *

      dlerror (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/gnupg/common/dynload.h:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hd
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: dlclose
    functionSourceFile: /src/gnupg/common/dynload.h
    functionUses: 1
    functionsReached:
    - CloseHandle
    linkageType: ''
    returnType: int
    signature: int dlclose (void * hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: pass
    functionSourceFile: /src/gnupg/common/t-recsel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: fail
    functionSourceFile: /src/gnupg/common/t-recsel.c
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(a,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: FREEEXPR
    functionSourceFile: /src/gnupg/common/t-recsel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREEEXPR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: ADDEXPR
    functionSourceFile: /src/gnupg/common/t-recsel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDEXPR(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/t-recsel.c:51,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cookie
    - name
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: test_1_getval
    functionSourceFile: /src/gnupg/common/t-recsel.c
    functionUses: 0
    functionsReached:
    - strcmp
    - fail
    linkageType: ''
    returnType: char
    signature: 'char *

      test_1_getval (void *cookie, const char *name)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/t-recsel.c:69,1
    - Dst: recsel_parse_expr
      Src: /src/gnupg/common/t-recsel.c:71,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:73,1
    - Dst: recsel_dump
      Src: /src/gnupg/common/t-recsel.c:77,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:80,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:81,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:82,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:83,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:84,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:85,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:86,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:87,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:90,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:91,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:92,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:93,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:94,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:95,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:96,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:97,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:100,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:101,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:102,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:103,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:104,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:105,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:107,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 108
    functionName: run_test_1
    functionSourceFile: /src/gnupg/common/t-recsel.c
    functionUses: 0
    functionsReached:
    - fail
    - recsel_select
    - DIM
    - FREEEXPR
    - recsel_dump
    - recsel_parse_expr
    linkageType: ''
    returnType: void
    signature: void run_test_1 (void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: recsel_parse_expr
      Src: /src/gnupg/common/t-recsel.c:118,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:121,1
    - Dst: recsel_dump
      Src: /src/gnupg/common/t-recsel.c:124,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:127,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:128,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:129,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:130,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:131,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:132,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:133,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:134,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:137,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:138,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:139,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:140,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:141,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:142,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:143,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:144,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:147,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:148,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:149,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:150,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:151,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:152,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:154,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 155
    functionName: run_test_1b
    functionSourceFile: /src/gnupg/common/t-recsel.c
    functionUses: 0
    functionsReached:
    - fail
    - recsel_select
    - FREEEXPR
    - recsel_dump
    - recsel_parse_expr
    linkageType: ''
    returnType: void
    signature: void run_test_1b (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/t-recsel.c:161,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-recsel.c:163,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-recsel.c:165,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-recsel.c:167,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-recsel.c:169,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-recsel.c:171,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-recsel.c:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - cookie
    - name
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: test_2_getval
    functionSourceFile: /src/gnupg/common/t-recsel.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      test_2_getval (void *cookie, const char *name)'
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:185,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:186,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:187,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:188,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:189,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:190,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:191,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:192,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:193,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:194,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:195,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:197,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:198,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:199,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:200,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:201,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:202,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:203,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:204,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:205,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:206,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:207,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:208,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:210,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:211,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:212,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:213,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:214,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:215,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:216,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:217,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:218,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:219,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:220,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:221,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:223,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:224,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:225,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:226,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:227,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:228,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:229,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:230,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:232,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:233,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:234,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:235,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:236,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:237,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:238,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:239,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:240,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:242,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:243,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:244,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:245,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:246,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:247,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:248,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:250,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:251,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:252,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:253,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:254,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:255,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:256,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:257,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:258,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:259,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:260,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:261,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:262,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:263,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:264,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:265,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:266,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:267,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:268,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:269,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:270,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:271,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:272,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:273,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:275,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:276,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:277,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:278,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:279,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:280,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:281,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:282,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:285,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:286,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:287,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:288,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:289,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:290,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:291,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:292,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:293,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:294,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:295,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:296,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:297,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:298,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:299,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:300,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:301,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:302,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:303,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:304,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:306,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:307,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:308,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:309,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:310,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:311,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:312,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:313,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:316,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:317,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:318,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:319,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:320,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:321,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:322,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:323,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:325,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:326,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:327,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:328,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:329,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:330,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:331,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:332,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:334,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:335,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:336,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:337,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:338,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:339,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:340,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:341,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:343,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:344,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:345,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:346,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:347,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:348,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:349,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:350,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:353,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:354,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:355,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:356,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:357,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:358,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:359,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:360,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:362,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:363,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:364,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:365,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:366,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:367,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:368,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:369,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:371,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:372,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:373,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:374,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:375,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:376,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:377,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:378,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:380,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:381,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:382,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:383,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:384,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:385,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:386,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:387,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:389,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:390,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:391,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:392,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:393,1
    - Dst: ADDEXPR
      Src: /src/gnupg/common/t-recsel.c:394,1
    - Dst: recsel_select
      Src: /src/gnupg/common/t-recsel.c:395,1
    - Dst: fail
      Src: /src/gnupg/common/t-recsel.c:396,1
    - Dst: FREEEXPR
      Src: /src/gnupg/common/t-recsel.c:399,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 193
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 400
    functionName: run_test_2
    functionSourceFile: /src/gnupg/common/t-recsel.c
    functionUses: 0
    functionsReached:
    - recsel_select
    - FREEEXPR
    - fail
    - ADDEXPR
    linkageType: ''
    returnType: void
    signature: void run_test_2 (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_set_prefix
      Src: /src/gnupg/common/t-recsel.c:409,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-recsel.c:416,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-recsel.c:421,1
    - Dst: fputs
      Src: /src/gnupg/common/t-recsel.c:423,1
    - Dst: exit
      Src: /src/gnupg/common/t-recsel.c:428,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-recsel.c:430,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-recsel.c:435,1
    - Dst: strncmp
      Src: /src/gnupg/common/t-recsel.c:441,1
    - Dst: log_error
      Src: /src/gnupg/common/t-recsel.c:443,1
    - Dst: exit
      Src: /src/gnupg/common/t-recsel.c:444,1
    - Dst: run_test_1
      Src: /src/gnupg/common/t-recsel.c:448,1
    - Dst: run_test_1b
      Src: /src/gnupg/common/t-recsel.c:449,1
    - Dst: run_test_2
      Src: /src/gnupg/common/t-recsel.c:450,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 454
    functionName: main
    functionSourceFile: /src/gnupg/common/t-recsel.c
    functionUses: 6
    functionsReached:
    - log_error
    - log_set_prefix
    - exit
    - run_test_1b
    - strcmp
    - run_test_1
    - run_test_2
    - fputs
    - strncmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/t-w32-cmdline.c:106,1
    - Dst: xstrdup
      Src: /src/gnupg/common/t-w32-cmdline.c:108,1
    - Dst: putchar
      Src: /src/gnupg/common/t-w32-cmdline.c:110,1
    - Dst: printf
      Src: /src/gnupg/common/t-w32-cmdline.c:112,1
    - Dst: w32_parse_commandline
      Src: /src/gnupg/common/t-w32-cmdline.c:113,1
    - Dst: fail
      Src: /src/gnupg/common/t-w32-cmdline.c:117,1
    - Dst: xfree
      Src: /src/gnupg/common/t-w32-cmdline.c:118,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-w32-cmdline.c:123,1
    - Dst: printf
      Src: /src/gnupg/common/t-w32-cmdline.c:132,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-w32-cmdline.c:134,1
    - Dst: printf
      Src: /src/gnupg/common/t-w32-cmdline.c:137,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-w32-cmdline.c:144,1
    - Dst: xfree
      Src: /src/gnupg/common/t-w32-cmdline.c:152,1
    - Dst: xfree
      Src: /src/gnupg/common/t-w32-cmdline.c:154,1
    - Dst: xfree
      Src: /src/gnupg/common/t-w32-cmdline.c:155,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 157
    functionName: test_all
    functionSourceFile: /src/gnupg/common/t-w32-cmdline.c
    functionUses: 1
    functionsReached:
    - printf
    - w32_parse_commandline
    - fail
    - DIM
    - fprintf
    - strcmp
    - xfree
    - xstrdup
    - putchar
    linkageType: ''
    returnType: void
    signature: void test_all (void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/t-w32-cmdline.c:173,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-w32-cmdline.c:178,1
    - Dst: fputs
      Src: /src/gnupg/common/t-w32-cmdline.c:180,1
    - Dst: exit
      Src: /src/gnupg/common/t-w32-cmdline.c:185,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-w32-cmdline.c:187,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-w32-cmdline.c:192,1
    - Dst: strncmp
      Src: /src/gnupg/common/t-w32-cmdline.c:198,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-w32-cmdline.c:200,1
    - Dst: exit
      Src: /src/gnupg/common/t-w32-cmdline.c:201,1
    - Dst: GetCommandLineW
      Src: /src/gnupg/common/t-w32-cmdline.c:213,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-w32-cmdline.c:216,1
    - Dst: exit
      Src: /src/gnupg/common/t-w32-cmdline.c:217,1
    - Dst: wchar_to_utf8
      Src: /src/gnupg/common/t-w32-cmdline.c:220,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-w32-cmdline.c:223,1
    - Dst: exit
      Src: /src/gnupg/common/t-w32-cmdline.c:224,1
    - Dst: printf
      Src: /src/gnupg/common/t-w32-cmdline.c:227,1
    - Dst: w32_parse_commandline
      Src: /src/gnupg/common/t-w32-cmdline.c:228,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-w32-cmdline.c:231,1
    - Dst: exit
      Src: /src/gnupg/common/t-w32-cmdline.c:232,1
    - Dst: printf
      Src: /src/gnupg/common/t-w32-cmdline.c:236,1
    - Dst: fflush
      Src: /src/gnupg/common/t-w32-cmdline.c:237,1
    - Dst: xfree
      Src: /src/gnupg/common/t-w32-cmdline.c:239,1
    - Dst: xfree
      Src: /src/gnupg/common/t-w32-cmdline.c:240,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-w32-cmdline.c:242,1
    - Dst: test_all
      Src: /src/gnupg/common/t-w32-cmdline.c:247,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 161
    functionDepth: 4
    functionLinenumber: 161
    functionLinenumberEnd: 250
    functionName: main
    functionSourceFile: /src/gnupg/common/t-w32-cmdline.c
    functionUses: 6
    functionsReached:
    - printf
    - w32_parse_commandline
    - exit
    - strcmp
    - fprintf
    - fflush
    - test_all
    - GetCommandLineW
    - xfree
    - fputs
    - wchar_to_utf8
    - strncmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/common/xasprintf.c:49,1
    - Dst: gpgrt_vasprintf
      Src: /src/gnupg/common/xasprintf.c:50,1
    - Dst: log_fatal
      Src: /src/gnupg/common/xasprintf.c:51,1
    - Dst: strerror
      Src: /src/gnupg/common/xasprintf.c:51,1
    - Dst: va_end
      Src: /src/gnupg/common/xasprintf.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: xasprintf
    functionSourceFile: /src/gnupg/common/xasprintf.c
    functionUses: 20
    functionsReached:
    - va_end
    - gpgrt_vasprintf
    - log_fatal
    - va_start
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      xasprintf (const char *fmt, ...)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/common/xasprintf.c:64,1
    - Dst: gpgrt_vasprintf
      Src: /src/gnupg/common/xasprintf.c:65,1
    - Dst: va_end
      Src: /src/gnupg/common/xasprintf.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: xtryasprintf
    functionSourceFile: /src/gnupg/common/xasprintf.c
    functionUses: 21
    functionsReached:
    - va_end
    - gpgrt_vasprintf
    - va_start
    linkageType: ''
    returnType: char
    signature: 'char *

      xtryasprintf (const char *fmt, ...)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: statusstr_msgidxof
      Src: /src/gnupg/common/status.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - 'no'
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: get_status_string
    functionSourceFile: /src/gnupg/common/status.c
    functionUses: 11
    functionsReached:
    - statusstr_msgidxof
    linkageType: ''
    returnType: char
    signature: 'char *

      get_status_string ( int no )'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: es_fclose
      Src: /src/gnupg/common/status.c:64,1
    - Dst: es_fdopen
      Src: /src/gnupg/common/status.c:74,1
    - Dst: log_fatal
      Src: /src/gnupg/common/status.c:77,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/status.c:78,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/status.c:78,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 81
    functionName: gnupg_set_status_fd
    functionSourceFile: /src/gnupg/common/status.c
    functionUses: 2
    functionsReached:
    - gpg_error_from_syserror
    - es_fclose
    - log_fatal
    - gpg_strerror
    - es_fdopen
    linkageType: ''
    returnType: void
    signature: void gnupg_set_status_fd (int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/common/status.c:95,1
    - Dst: es_fputs
      Src: /src/gnupg/common/status.c:96,1
    - Dst: get_status_string
      Src: /src/gnupg/common/status.c:96,1
    - Dst: es_putc
      Src: /src/gnupg/common/status.c:99,1
    - Dst: va_start
      Src: /src/gnupg/common/status.c:100,1
    - Dst: es_vfprintf
      Src: /src/gnupg/common/status.c:101,1
    - Dst: va_end
      Src: /src/gnupg/common/status.c:102,1
    - Dst: es_putc
      Src: /src/gnupg/common/status.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - 'no'
    - format
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: gnupg_status_printf
    functionSourceFile: /src/gnupg/common/status.c
    functionUses: 4
    functionsReached:
    - va_end
    - es_vfprintf
    - es_putc
    - get_status_string
    - va_start
    - es_fputs
    linkageType: ''
    returnType: void
    signature: void gnupg_status_printf (int no, const char *format, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/common/status.c:123,1
    - Dst: es_fputs
      Src: /src/gnupg/common/status.c:125,1
    - Dst: es_fputs
      Src: /src/gnupg/common/status.c:126,1
    - Dst: get_status_string
      Src: /src/gnupg/common/status.c:126,1
    - Dst: va_arg
      Src: /src/gnupg/common/status.c:127,1
    - Dst: es_putc
      Src: /src/gnupg/common/status.c:130,1
    - Dst: es_fputs
      Src: /src/gnupg/common/status.c:134,1
    - Dst: es_fputs
      Src: /src/gnupg/common/status.c:136,1
    - Dst: es_fputc
      Src: /src/gnupg/common/status.c:138,1
    - Dst: es_putc
      Src: /src/gnupg/common/status.c:141,1
    - Dst: es_fflush
      Src: /src/gnupg/common/status.c:142,1
    - Dst: va_end
      Src: /src/gnupg/common/status.c:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - dummy
    - 'no'
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 146
    functionName: gnupg_status_strings
    functionSourceFile: /src/gnupg/common/status.c
    functionUses: 0
    functionsReached:
    - va_end
    - es_fputc
    - es_putc
    - get_status_string
    - va_start
    - va_arg
    - es_fflush
    - es_fputs
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gnupg_status_strings (ctrl_t dummy, int no, ...)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code
      Src: /src/gnupg/common/status.c:154,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - err
    argTypes:
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 176
    functionName: get_inv_recpsgnr_code
    functionSourceFile: /src/gnupg/common/status.c
    functionUses: 1
    functionsReached:
    - gpg_err_code
    linkageType: ''
    returnType: char
    signature: 'char *

      get_inv_recpsgnr_code (gpg_error_t err)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: S2K_DECODE_COUNT
      Src: /src/gnupg/common/openpgp-s2k.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - iterations
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 67
    functionName: encode_s2k_iterations
    functionSourceFile: /src/gnupg/common/openpgp-s2k.c
    functionUses: 4
    functionsReached:
    - S2K_DECODE_COUNT
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char encode_s2k_iterations (int iterations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make
      Src: /src/gnupg/common/server-help.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: gpg_error_t
    functionSourceFile: /src/gnupg/common/server-help.c
    functionUses: 0
    functionsReached:
    - gpg_err_make
    linkageType: ''
    returnType: GPGRT_INLINE
    signature: 'GPGRT_INLINE gpg_error_t

      my_error (int e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error_t::gpg_err_make
      Src: /src/gnupg/common/server-help.c:46,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/server-help.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: gpg_error_t::my_error_from_syserror
    functionSourceFile: /src/gnupg/common/server-help.c
    functionUses: 0
    functionsReached:
    - gpg_error_t::gpg_err_make
    - gpg_err_code_from_syserror
    linkageType: ''
    returnType: GPGRT_INLINE
    signature: 'GPGRT_INLINE gpg_error_t

      my_error_from_syserror (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/common/server-help.c:60,1
    - Dst: spacep
      Src: /src/gnupg/common/server-help.c:64,1
    - Dst: spacep
      Src: /src/gnupg/common/server-help.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: skip_options
    functionSourceFile: /src/gnupg/common/server-help.c
    functionUses: 17
    functionsReached:
    - spacep
    linkageType: ''
    returnType: char
    signature: 'char *

      skip_options (const char *line)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/server-help.c:78,1
    - Dst: strstr
      Src: /src/gnupg/common/server-help.c:80,1
    - Dst: skip_options
      Src: /src/gnupg/common/server-help.c:81,1
    - Dst: spacep
      Src: /src/gnupg/common/server-help.c:83,1
    - Dst: spacep
      Src: /src/gnupg/common/server-help.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - line
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: has_option
    functionSourceFile: /src/gnupg/common/server-help.c
    functionUses: 4
    functionsReached:
    - spacep
    - skip_options
    - strstr
    - strlen
    linkageType: ''
    returnType: int
    signature: int has_option (const char *line, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/common/server-help.c:96,1
    - Dst: strlen
      Src: /src/gnupg/common/server-help.c:98,1
    - Dst: spacep
      Src: /src/gnupg/common/server-help.c:102,1
    - Dst: strncmp
      Src: /src/gnupg/common/server-help.c:104,1
    - Dst: spacep
      Src: /src/gnupg/common/server-help.c:106,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - line
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 110
    functionName: has_leading_option
    functionSourceFile: /src/gnupg/common/server-help.c
    functionUses: 11
    functionsReached:
    - strncmp
    - spacep
    - strlen
    linkageType: ''
    returnType: int
    signature: int has_leading_option (const char *line, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/server-help.c:123,1
    - Dst: strstr
      Src: /src/gnupg/common/server-help.c:125,1
    - Dst: spacep
      Src: /src/gnupg/common/server-help.c:126,1
    - Dst: spacep
      Src: /src/gnupg/common/server-help.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - line
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: has_option_name
    functionSourceFile: /src/gnupg/common/server-help.c
    functionUses: 1
    functionsReached:
    - spacep
    - strstr
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      has_option_name (const char *line, const char *name)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: has_option_name
      Src: /src/gnupg/common/server-help.c:146,1
    - Dst: skip_options
      Src: /src/gnupg/common/server-help.c:147,1
    - Dst: spacep
      Src: /src/gnupg/common/server-help.c:150,1
    - Dst: my_error
      Src: /src/gnupg/common/server-help.c:151,1
    - Dst: spacep
      Src: /src/gnupg/common/server-help.c:153,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/server-help.c:157,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/server-help.c:160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - line
    - name
    - r_value
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 162
    functionName: get_option_value
    functionSourceFile: /src/gnupg/common/server-help.c
    functionUses: 1
    functionsReached:
    - my_error_from_syserror
    - has_option_name
    - spacep
    - xtrystrdup
    - skip_options
    - my_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_option_value (char *line, const char *name, char **r_value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/server-help.c:171,1
    - Dst: strstr
      Src: /src/gnupg/common/server-help.c:173,1
    - Dst: skip_options
      Src: /src/gnupg/common/server-help.c:174,1
    - Dst: spacep
      Src: /src/gnupg/common/server-help.c:176,1
    - Dst: spacep
      Src: /src/gnupg/common/server-help.c:177,1
    - Dst: strspn
      Src: /src/gnupg/common/server-help.c:180,1
    - Dst: spacep
      Src: /src/gnupg/common/server-help.c:181,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - line
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: option_value
    functionSourceFile: /src/gnupg/common/server-help.c
    functionUses: 2
    functionsReached:
    - strstr
    - strlen
    - spacep
    - skip_options
    - strspn
    linkageType: ''
    returnType: char
    signature: 'char *

      option_value (const char *line, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make
      Src: /src/gnupg/common/name-value.c:76,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/name-value.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: my_error_from_syserror
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 19
    functionsReached:
    - gpg_err_make
    - gpg_err_code_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t my_error_from_syserror (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make
      Src: /src/gnupg/common/name-value.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ec
    argTypes:
    - gpg_err_code_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: my_error
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 8
    functionsReached:
    - gpg_err_make
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t my_error (gpg_err_code_t ec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/common/name-value.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: nvc_new
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 7
    functionsReached:
    - xtrycalloc
    linkageType: ''
    returnType: nvc_t
    signature: nvc_t nvc_new (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nvc_new
      Src: /src/gnupg/common/name-value.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: nvc_new_private_key
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 1
    functionsReached:
    - nvc_new
    linkageType: ''
    returnType: nvc_t
    signature: nvc_t nvc_new_private_key (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/common/name-value.c:120,1
    - Dst: wipememory
      Src: /src/gnupg/common/name-value.c:122,1
    - Dst: strlen
      Src: /src/gnupg/common/name-value.c:122,1
    - Dst: xfree
      Src: /src/gnupg/common/name-value.c:123,1
    - Dst: free_strlist_wipe
      Src: /src/gnupg/common/name-value.c:125,1
    - Dst: free_strlist
      Src: /src/gnupg/common/name-value.c:127,1
    - Dst: xfree
      Src: /src/gnupg/common/name-value.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - entry
    - private_key_mode
    argTypes:
    - nve_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: nve_release
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 0
    functionsReached:
    - strlen
    - wipememory
    - xfree
    - free_strlist_wipe
    - free_strlist
    linkageType: ''
    returnType: void
    signature: void nve_release (nve_t entry, int private_key_mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nve_release
      Src: /src/gnupg/common/name-value.c:144,1
    - Dst: xfree
      Src: /src/gnupg/common/name-value.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pk
    argTypes:
    - nvc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 148
    functionName: nvc_release
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 8
    functionsReached:
    - nve_release
    - xfree
    linkageType: ''
    returnType: void
    signature: void nvc_release (nvc_t pk)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pk
    - clear
    argTypes:
    - nvc_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: nvc_modified
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nvc_modified (nvc_t pk, int clear)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/name-value.c:178,1
    - Dst: alphap
      Src: /src/gnupg/common/name-value.c:180,1
    - Dst: alnump
      Src: /src/gnupg/common/name-value.c:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: valid_name
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 0
    functionsReached:
    - alnump
    - alphap
    - strlen
    linkageType: ''
    returnType: int
    signature: int valid_name (const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/name-value.c:203,1
    - Dst: strlen
      Src: /src/gnupg/common/name-value.c:210,1
    - Dst: strlen
      Src: /src/gnupg/common/name-value.c:211,1
    - Dst: ascii_isspace
      Src: /src/gnupg/common/name-value.c:222,1
    - Dst: ascii_isspace
      Src: /src/gnupg/common/name-value.c:225,1
    - Dst: snprintf
      Src: /src/gnupg/common/name-value.c:237,1
    - Dst: append_to_strlist_try
      Src: /src/gnupg/common/name-value.c:239,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/name-value.c:241,1
    - Dst: free_strlist_wipe
      Src: /src/gnupg/common/name-value.c:252,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - entry
    argTypes:
    - nve_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 258
    functionName: assert_raw_value
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 0
    functionsReached:
    - my_error_from_syserror
    - ascii_isspace
    - append_to_strlist_try
    - strlen
    - snprintf
    - free_strlist_wipe
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assert_raw_value (nve_t entry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isspace
      Src: /src/gnupg/common/name-value.c:274,1
    - Dst: ascii_isspace
      Src: /src/gnupg/common/name-value.c:281,1
    - Dst: strlen
      Src: /src/gnupg/common/name-value.c:286,1
    - Dst: ascii_isspace
      Src: /src/gnupg/common/name-value.c:287,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - s
    - swallow_ws
    - start
    argTypes:
    - char*
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 304
    functionName: continuation_length
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 0
    functionsReached:
    - ascii_isspace
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t continuation_length (const char *s, int *swallow_ws, const char
      **start)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: continuation_length
      Src: /src/gnupg/common/name-value.c:322,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/name-value.c:327,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/name-value.c:329,1
    - Dst: continuation_length
      Src: /src/gnupg/common/name-value.c:335,1
    - Dst: memcpy
      Src: /src/gnupg/common/name-value.c:337,1
    - Dst: assert
      Src: /src/gnupg/common/name-value.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - entry
    argTypes:
    - nve_t
    assertStmts:
    - condition: (p - entry->value == len)
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/gnupg/common/name-value.c
    constantsTouched: []
    func_position:
      end: 345
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 345
    functionName: assert_value
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 0
    functionsReached:
    - my_error_from_syserror
    - continuation_length
    - assert
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assert_value (nve_t entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pke
    argTypes:
    - nve_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: nve_name
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      nve_name (nve_t pke)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_value
      Src: /src/gnupg/common/name-value.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pke
    argTypes:
    - nve_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: nve_value
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 8
    functionsReached:
    - assert_value
    linkageType: ''
    returnType: char
    signature: 'char *

      nve_value (nve_t pke)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/common/name-value.c:380,1
    - Dst: valid_name
      Src: /src/gnupg/common/name-value.c:382,1
    - Dst: my_error
      Src: /src/gnupg/common/name-value.c:384,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/name-value.c:390,1
    - Dst: nvc_lookup
      Src: /src/gnupg/common/name-value.c:391,1
    - Dst: my_error
      Src: /src/gnupg/common/name-value.c:393,1
    - Dst: xtrycalloc
      Src: /src/gnupg/common/name-value.c:397,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/name-value.c:400,1
    - Dst: nvc_lookup
      Src: /src/gnupg/common/name-value.c:417,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/name-value.c:426,1
    - Dst: xfree
      Src: /src/gnupg/common/name-value.c:458,1
    - Dst: wipememory
      Src: /src/gnupg/common/name-value.c:460,1
    - Dst: strlen
      Src: /src/gnupg/common/name-value.c:460,1
    - Dst: xfree
      Src: /src/gnupg/common/name-value.c:461,1
    - Dst: free_strlist_wipe
      Src: /src/gnupg/common/name-value.c:462,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 5
    argNames:
    - pk
    - name
    - value
    - raw_value
    - preserve_order
    argTypes:
    - nvc_t
    - char*
    - char*
    - strlist_t
    - int
    assertStmts:
    - condition: (value || raw_value)
      pos:
        line_end: 379
        line_start: 379
        source_file: /src/gnupg/common/name-value.c
    constantsTouched: []
    func_position:
      end: 466
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 466
    functionName: _nvc_add
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 0
    functionsReached:
    - my_error_from_syserror
    - assert
    - strlen
    - valid_name
    - xtrycalloc
    - wipememory
    - xfree
    - my_error
    - nvc_lookup
    - ascii_strcasecmp
    - free_strlist_wipe
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _nvc_add (nvc_t pk, char *name, char *value, strlist_t
      raw_value,\n\t  int preserve_order)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/common/name-value.c:476,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/name-value.c:478,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/name-value.c:480,1
    - Dst: xfree
      Src: /src/gnupg/common/name-value.c:483,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/name-value.c:484,1
    - Dst: _nvc_add
      Src: /src/gnupg/common/name-value.c:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pk
    - name
    - value
    argTypes:
    - nvc_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 488
    functionName: nvc_add
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 3
    functionsReached:
    - my_error_from_syserror
    - xtrystrdup
    - xfree
    - _nvc_add
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t nvc_add (nvc_t pk, const char *name, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: valid_name
      Src: /src/gnupg/common/name-value.c:499,1
    - Dst: nvc_lookup
      Src: /src/gnupg/common/name-value.c:502,1
    - Dst: nve_set
      Src: /src/gnupg/common/name-value.c:504,1
    - Dst: nvc_add
      Src: /src/gnupg/common/name-value.c:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pk
    - name
    - value
    argTypes:
    - nvc_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 494
    functionDepth: 3
    functionLinenumber: 494
    functionLinenumberEnd: 507
    functionName: nvc_set
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 11
    functionsReached:
    - nvc_add
    - nvc_lookup
    - nve_set
    - valid_name
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t nvc_set (nvc_t pk, const char *name, const char *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/name-value.c:520,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/name-value.c:527,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/name-value.c:529,1
    - Dst: free_strlist_wipe
      Src: /src/gnupg/common/name-value.c:531,1
    - Dst: wipememory
      Src: /src/gnupg/common/name-value.c:534,1
    - Dst: strlen
      Src: /src/gnupg/common/name-value.c:534,1
    - Dst: xfree
      Src: /src/gnupg/common/name-value.c:535,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - pk
    - e
    - value
    argTypes:
    - nvc_t
    - nve_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 541
    functionName: nve_set
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 1
    functionsReached:
    - my_error_from_syserror
    - strlen
    - strcmp
    - xtrystrdup
    - wipememory
    - xfree
    - free_strlist_wipe
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t nve_set (nvc_t pk, nve_t e, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nve_release
      Src: /src/gnupg/common/name-value.c:558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pk
    - entry
    argTypes:
    - nvc_t
    - nve_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 560
    functionName: nvc_delete
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 1
    functionsReached:
    - nve_release
    linkageType: ''
    returnType: void
    signature: void nvc_delete (nvc_t pk, nve_t entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: valid_name
      Src: /src/gnupg/common/name-value.c:569,1
    - Dst: nvc_lookup
      Src: /src/gnupg/common/name-value.c:572,1
    - Dst: nvc_delete
      Src: /src/gnupg/common/name-value.c:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pk
    - name
    argTypes:
    - nvc_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 574
    functionName: nvc_delete_named
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 1
    functionsReached:
    - nvc_lookup
    - nvc_delete
    - valid_name
    linkageType: ''
    returnType: void
    signature: void nvc_delete_named (nvc_t pk, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pk
    argTypes:
    - nvc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 595
    functionName: nvc_first
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: nve_t
    signature: nve_t nvc_first (nvc_t pk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/name-value.c:609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pk
    - name
    argTypes:
    - nvc_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 613
    functionName: nvc_lookup
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 13
    functionsReached:
    - ascii_strcasecmp
    linkageType: ''
    returnType: nve_t
    signature: nve_t nvc_lookup (nvc_t pk, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - nve_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: nve_next
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: nve_t
    signature: nve_t nve_next (nve_t entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/name-value.c:632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - entry
    - name
    argTypes:
    - nve_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 635
    functionName: nve_next_value
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 2
    functionsReached:
    - ascii_strcasecmp
    linkageType: ''
    returnType: nve_t
    signature: nve_t nve_next_value (nve_t entry, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nvc_lookup
      Src: /src/gnupg/common/name-value.c:649,1
    - Dst: nve_value
      Src: /src/gnupg/common/name-value.c:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - nvc
    - name
    argTypes:
    - nvc_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 653
    functionName: nvc_get_string
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 4
    functionsReached:
    - nve_value
    - nvc_lookup
    linkageType: ''
    returnType: char
    signature: 'char *

      nvc_get_string (nvc_t nvc, const char *name)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nvc_lookup
      Src: /src/gnupg/common/name-value.c:667,1
    - Dst: nve_value
      Src: /src/gnupg/common/name-value.c:670,1
    - Dst: atoi
      Src: /src/gnupg/common/name-value.c:673,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/name-value.c:676,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/name-value.c:676,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - nvc
    - name
    argTypes:
    - nvc_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 679
    functionName: nvc_get_boolean
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 0
    functionsReached:
    - atoi
    - nve_value
    - nvc_lookup
    - ascii_strcasecmp
    linkageType: ''
    returnType: int
    signature: int nvc_get_boolean (nvc_t nvc, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nvc_lookup
      Src: /src/gnupg/common/name-value.c:693,1
    - Dst: my_error
      Src: /src/gnupg/common/name-value.c:695,1
    - Dst: assert_value
      Src: /src/gnupg/common/name-value.c:697,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/common/name-value.c:701,1
    - Dst: strlen
      Src: /src/gnupg/common/name-value.c:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pk
    - retsexp
    argTypes:
    - nvc_t
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 702
    functionName: nvc_get_private_key
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 2
    functionsReached:
    - strlen
    - assert_value
    - gcry_sexp_sscan
    - my_error
    - nvc_lookup
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t nvc_get_private_key (nvc_t pk, gcry_sexp_t *retsexp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: my_error
      Src: /src/gnupg/common/name-value.c:714,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/common/name-value.c:716,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/name-value.c:718,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/name-value.c:720,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/name-value.c:722,1
    - Dst: xfree
      Src: /src/gnupg/common/name-value.c:725,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/name-value.c:726,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/common/name-value.c:729,1
    - Dst: strlen
      Src: /src/gnupg/common/name-value.c:732,1
    - Dst: ascii_isspace
      Src: /src/gnupg/common/name-value.c:733,1
    - Dst: strlen
      Src: /src/gnupg/common/name-value.c:740,1
    - Dst: ascii_isspace
      Src: /src/gnupg/common/name-value.c:746,1
    - Dst: ascii_isspace
      Src: /src/gnupg/common/name-value.c:747,1
    - Dst: nvc_set
      Src: /src/gnupg/common/name-value.c:757,1
    - Dst: xfree
      Src: /src/gnupg/common/name-value.c:758,1
    - Dst: xfree
      Src: /src/gnupg/common/name-value.c:759,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - pk
    - sexp
    argTypes:
    - nvc_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 706
    functionDepth: 4
    functionLinenumber: 706
    functionLinenumberEnd: 761
    functionName: nvc_set_private_key
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 3
    functionsReached:
    - my_error_from_syserror
    - ascii_isspace
    - strlen
    - xfree
    - my_error
    - gcry_sexp_sprint
    - xtrymalloc
    - nvc_set
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t nvc_set_private_key (nvc_t pk, gcry_sexp_t sexp)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: nvc_new_private_key
      Src: /src/gnupg/common/name-value.c:778,1
    - Dst: nvc_new
      Src: /src/gnupg/common/name-value.c:778,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/name-value.c:780,1
    - Dst: es_read_line
      Src: /src/gnupg/common/name-value.c:784,1
    - Dst: ascii_isspace
      Src: /src/gnupg/common/name-value.c:791,1
    - Dst: spacep
      Src: /src/gnupg/common/name-value.c:794,1
    - Dst: append_to_strlist_try
      Src: /src/gnupg/common/name-value.c:797,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/name-value.c:799,1
    - Dst: _nvc_add
      Src: /src/gnupg/common/name-value.c:808,1
    - Dst: strchr
      Src: /src/gnupg/common/name-value.c:822,1
    - Dst: my_error
      Src: /src/gnupg/common/name-value.c:825,1
    - Dst: xtrystrdup
      Src: /src/gnupg/common/name-value.c:832,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/name-value.c:837,1
    - Dst: append_to_strlist_try
      Src: /src/gnupg/common/name-value.c:841,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/name-value.c:843,1
    - Dst: append_to_strlist_try
      Src: /src/gnupg/common/name-value.c:849,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/name-value.c:851,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/name-value.c:857,1
    - Dst: _nvc_add
      Src: /src/gnupg/common/name-value.c:864,1
    - Dst: xfree
      Src: /src/gnupg/common/name-value.c:869,1
    - Dst: gpgrt_free
      Src: /src/gnupg/common/name-value.c:870,1
    - Dst: nvc_release
      Src: /src/gnupg/common/name-value.c:873,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 76
    argCount: 4
    argNames:
    - result
    - errlinep
    - stream
    - for_private_key
    argTypes:
    - nvc_t*
    - int*
    - estream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 878
    functionName: do_nvc_parse
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 0
    functionsReached:
    - my_error_from_syserror
    - nvc_new_private_key
    - ascii_isspace
    - nvc_new
    - append_to_strlist_try
    - gpg_error_from_syserror
    - nvc_release
    - es_read_line
    - spacep
    - xtrystrdup
    - strchr
    - xfree
    - my_error
    - gpgrt_free
    - _nvc_add
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_nvc_parse (nvc_t *result, int *errlinep, estream_t
      stream,\n              int for_private_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_nvc_parse
      Src: /src/gnupg/common/name-value.c:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - result
    - errlinep
    - stream
    argTypes:
    - nvc_t*
    - int*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 888
    functionName: nvc_parse
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 8
    functionsReached:
    - do_nvc_parse
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t nvc_parse (nvc_t *result, int *errlinep, estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_nvc_parse
      Src: /src/gnupg/common/name-value.c:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - result
    - errlinep
    - stream
    argTypes:
    - nvc_t*
    - int*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 899
    functionName: nvc_parse_private_key
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 2
    functionsReached:
    - do_nvc_parse
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t nvc_parse_private_key (nvc_t *result, int *errlinep, estream_t
      stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/common/name-value.c:910,1
    - Dst: assert_raw_value
      Src: /src/gnupg/common/name-value.c:912,1
    - Dst: es_fputs
      Src: /src/gnupg/common/name-value.c:917,1
    - Dst: es_ferror
      Src: /src/gnupg/common/name-value.c:919,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/name-value.c:920,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - entry
    - stream
    argTypes:
    - nve_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 923
    functionName: write_one_entry
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 0
    functionsReached:
    - my_error_from_syserror
    - assert_raw_value
    - es_fputs
    - es_ferror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_one_entry (nve_t entry, estream_t stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/common/name-value.c:937,1
    - Dst: write_one_entry
      Src: /src/gnupg/common/name-value.c:944,1
    - Dst: write_one_entry
      Src: /src/gnupg/common/name-value.c:951,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pk
    - stream
    argTypes:
    - nvc_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 954
    functionName: nvc_write
    functionSourceFile: /src/gnupg/common/name-value.c
    functionUses: 6
    functionsReached:
    - write_one_entry
    - ascii_strcasecmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t nvc_write (nvc_t pk, estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: pass
    functionSourceFile: /src/gnupg/common/t-sexputil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: fail
    functionSourceFile: /src/gnupg/common/t-sexputil.c
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: fail2
    functionSourceFile: /src/gnupg/common/t-sexputil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail2(a,e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hash_algo_from_sigval
      Src: /src/gnupg/common/t-sexputil.c:67,1
    - Dst: fail
      Src: /src/gnupg/common/t-sexputil.c:69,1
    - Dst: hash_algo_from_sigval
      Src: /src/gnupg/common/t-sexputil.c:70,1
    - Dst: fail
      Src: /src/gnupg/common/t-sexputil.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 73
    functionName: test_hash_algo_from_sigval
    functionSourceFile: /src/gnupg/common/t-sexputil.c
    functionUses: 0
    functionsReached:
    - fail
    - hash_algo_from_sigval
    linkageType: ''
    returnType: void
    signature: void test_hash_algo_from_sigval (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: make_canon_sexp_from_rsa_pk
      Src: /src/gnupg/common/t-sexputil.c:148,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-sexputil.c:153,1
    - Dst: exit
      Src: /src/gnupg/common/t-sexputil.c:154,1
    - Dst: fail
      Src: /src/gnupg/common/t-sexputil.c:158,1
    - Dst: memcmp
      Src: /src/gnupg/common/t-sexputil.c:159,1
    - Dst: fail
      Src: /src/gnupg/common/t-sexputil.c:160,1
    - Dst: get_rsa_pk_from_canon_sexp
      Src: /src/gnupg/common/t-sexputil.c:163,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/t-sexputil.c:166,1
    - Dst: fail
      Src: /src/gnupg/common/t-sexputil.c:167,1
    - Dst: fail
      Src: /src/gnupg/common/t-sexputil.c:171,1
    - Dst: memcmp
      Src: /src/gnupg/common/t-sexputil.c:172,1
    - Dst: fail
      Src: /src/gnupg/common/t-sexputil.c:173,1
    - Dst: fail
      Src: /src/gnupg/common/t-sexputil.c:175,1
    - Dst: memcmp
      Src: /src/gnupg/common/t-sexputil.c:176,1
    - Dst: fail
      Src: /src/gnupg/common/t-sexputil.c:177,1
    - Dst: xfree
      Src: /src/gnupg/common/t-sexputil.c:180,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 182
    functionName: test_make_canon_sexp_from_rsa_pk
    functionSourceFile: /src/gnupg/common/t-sexputil.c
    functionUses: 0
    functionsReached:
    - fail
    - exit
    - fprintf
    - memcmp
    - gpg_err_code
    - xfree
    - get_rsa_pk_from_canon_sexp
    - make_canon_sexp_from_rsa_pk
    linkageType: ''
    returnType: void
    signature: void test_make_canon_sexp_from_rsa_pk (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/common/t-sexputil.c:206,1
    - Dst: memcmp
      Src: /src/gnupg/common/t-sexputil.c:212,1
    - Dst: memcmp
      Src: /src/gnupg/common/t-sexputil.c:218,1
    - Dst: memcmp
      Src: /src/gnupg/common/t-sexputil.c:228,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 6
    argNames:
    - opaque
    - depth
    - aval
    - alen
    - bval
    - blen
    argTypes:
    - void*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 229
    functionName: tcmp1
    functionSourceFile: /src/gnupg/common/t-sexputil.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int tcmp1 (void *opaque, int depth,\n       const unsigned char *aval,
      size_t alen,\n       const unsigned char *bval, size_t blen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmp_canon_sexp
      Src: /src/gnupg/common/t-sexputil.c:272,1
    - Dst: strlen
      Src: /src/gnupg/common/t-sexputil.c:272,1
    - Dst: strlen
      Src: /src/gnupg/common/t-sexputil.c:273,1
    - Dst: fail
      Src: /src/gnupg/common/t-sexputil.c:276,1
    - Dst: cmp_canon_sexp
      Src: /src/gnupg/common/t-sexputil.c:277,1
    - Dst: strlen
      Src: /src/gnupg/common/t-sexputil.c:277,1
    - Dst: strlen
      Src: /src/gnupg/common/t-sexputil.c:278,1
    - Dst: fail
      Src: /src/gnupg/common/t-sexputil.c:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 283
    functionName: test_cmp_canon_sexp
    functionSourceFile: /src/gnupg/common/t-sexputil.c
    functionUses: 0
    functionsReached:
    - cmp_canon_sexp
    - fail
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_cmp_canon_sexp (void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_new
      Src: /src/gnupg/common/t-sexputil.c:434,1
    - Dst: fail2
      Src: /src/gnupg/common/t-sexputil.c:436,1
    - Dst: make_canon_sexp
      Src: /src/gnupg/common/t-sexputil.c:437,1
    - Dst: fail2
      Src: /src/gnupg/common/t-sexputil.c:439,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/t-sexputil.c:440,1
    - Dst: gcry_sexp_new
      Src: /src/gnupg/common/t-sexputil.c:444,1
    - Dst: fail2
      Src: /src/gnupg/common/t-sexputil.c:446,1
    - Dst: make_canon_sexp
      Src: /src/gnupg/common/t-sexputil.c:447,1
    - Dst: fail2
      Src: /src/gnupg/common/t-sexputil.c:449,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/t-sexputil.c:450,1
    - Dst: uncompress_ecc_q_in_canon_sexp
      Src: /src/gnupg/common/t-sexputil.c:455,1
    - Dst: fail2
      Src: /src/gnupg/common/t-sexputil.c:457,1
    - Dst: fail
      Src: /src/gnupg/common/t-sexputil.c:459,1
    - Dst: uncompress_ecc_q_in_canon_sexp
      Src: /src/gnupg/common/t-sexputil.c:463,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/t-sexputil.c:464,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-sexputil.c:467,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/t-sexputil.c:468,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-sexputil.c:472,1
    - Dst: fail2
      Src: /src/gnupg/common/t-sexputil.c:480,1
    - Dst: fail
      Src: /src/gnupg/common/t-sexputil.c:482,1
    - Dst: memcmp
      Src: /src/gnupg/common/t-sexputil.c:488,1
    - Dst: fail
      Src: /src/gnupg/common/t-sexputil.c:489,1
    - Dst: xfree
      Src: /src/gnupg/common/t-sexputil.c:493,1
    - Dst: xfree
      Src: /src/gnupg/common/t-sexputil.c:494,1
    - Dst: xfree
      Src: /src/gnupg/common/t-sexputil.c:495,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 497
    functionName: test_ecc_uncompress
    functionSourceFile: /src/gnupg/common/t-sexputil.c
    functionUses: 0
    functionsReached:
    - fail2
    - uncompress_ecc_q_in_canon_sexp
    - fail
    - make_canon_sexp
    - fprintf
    - memcmp
    - gpg_err_code
    - gpg_strerror
    - gcry_sexp_release
    - xfree
    - gcry_sexp_new
    linkageType: ''
    returnType: void
    signature: void test_ecc_uncompress (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_hash_algo_from_sigval
      Src: /src/gnupg/common/t-sexputil.c:508,1
    - Dst: test_make_canon_sexp_from_rsa_pk
      Src: /src/gnupg/common/t-sexputil.c:509,1
    - Dst: test_cmp_canon_sexp
      Src: /src/gnupg/common/t-sexputil.c:510,1
    - Dst: test_ecc_uncompress
      Src: /src/gnupg/common/t-sexputil.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 502
    functionDepth: 4
    functionLinenumber: 502
    functionLinenumberEnd: 514
    functionName: main
    functionSourceFile: /src/gnupg/common/t-sexputil.c
    functionUses: 6
    functionsReached:
    - test_hash_algo_from_sigval
    - test_make_canon_sexp_from_rsa_pk
    - test_cmp_canon_sexp
    - test_ecc_uncompress
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make
      Src: /src/gnupg/common/exectool.c:67,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/exectool.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: my_error_from_syserror
    functionSourceFile: /src/gnupg/common/exectool.c
    functionUses: 27
    functionsReached:
    - gpg_err_make
    - gpg_err_code_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t my_error_from_syserror (void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/gnupg/common/exectool.c:88,1
    - Dst: strlen
      Src: /src/gnupg/common/exectool.c:93,1
    - Dst: strncmp
      Src: /src/gnupg/common/exectool.c:96,1
    - Dst: strchr
      Src: /src/gnupg/common/exectool.c:101,1
    - Dst: strlen
      Src: /src/gnupg/common/exectool.c:105,1
    - Dst: trim_spaces
      Src: /src/gnupg/common/exectool.c:110,1
    - Dst: read_and_log_buffer_t*::status_cb
      Src: /src/gnupg/common/exectool.c:112,1
    - Dst: strncmp
      Src: /src/gnupg/common/exectool.c:118,1
    - Dst: strlen
      Src: /src/gnupg/common/exectool.c:119,1
    - Dst: strlen
      Src: /src/gnupg/common/exectool.c:119,1
    - Dst: log_info
      Src: /src/gnupg/common/exectool.c:124,1
    - Dst: log_info
      Src: /src/gnupg/common/exectool.c:127,1
    - Dst: es_fgetc
      Src: /src/gnupg/common/exectool.c:135,1
    - Dst: es_feof
      Src: /src/gnupg/common/exectool.c:138,1
    - Dst: es_ferror
      Src: /src/gnupg/common/exectool.c:142,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exectool.c:144,1
    - Dst: log_error
      Src: /src/gnupg/common/exectool.c:145,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/exectool.c:146,1
    - Dst: read_and_log_stderr
      Src: /src/gnupg/common/exectool.c:154,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/exectool.c:168,1
    - Dst: log_error
      Src: /src/gnupg/common/exectool.c:171,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/exectool.c:172,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exectool.c:172,1
    - Dst: read_and_log_stderr
      Src: /src/gnupg/common/exectool.c:175,1
    - Dst: memcpy
      Src: /src/gnupg/common/exectool.c:180,1
    - Dst: xfree
      Src: /src/gnupg/common/exectool.c:181,1
    - Dst: read_and_log_stderr
      Src: /src/gnupg/common/exectool.c:188,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 2
    argNames:
    - state
    - fderr
    argTypes:
    - read_and_log_buffer_t*
    - es_poll_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 195
    functionName: read_and_log_stderr
    functionSourceFile: /src/gnupg/common/exectool.c
    functionUses: 1
    functionsReached:
    - my_error_from_syserror
    - strlen
    - log_error
    - trim_spaces
    - es_feof
    - strchr
    - log_info
    - gpg_strerror
    - read_and_log_stderr
    - strrchr
    - memcpy
    - es_fgetc
    - es_ferror
    - strncmp
    - xtrymalloc
    - read_and_log_buffer_t*::status_cb
    - xfree
    linkageType: ''
    returnType: void
    signature: void read_and_log_stderr (read_and_log_buffer_t *state, es_poll_t *fderr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct copy_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: copy_buffer_init
    functionSourceFile: /src/gnupg/common/exectool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void copy_buffer_init (struct copy_buffer *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wipememory
      Src: /src/gnupg/common/exectool.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct copy_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: copy_buffer_shred
    functionSourceFile: /src/gnupg/common/exectool.c
    functionUses: 0
    functionsReached:
    - wipememory
    linkageType: ''
    returnType: void
    signature: void copy_buffer_shred (struct copy_buffer *c)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: es_read
      Src: /src/gnupg/common/exectool.c:239,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exectool.c:241,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/exectool.c:242,1
    - Dst: log_assert
      Src: /src/gnupg/common/exectool.c:248,1
    - Dst: es_write
      Src: /src/gnupg/common/exectool.c:255,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exectool.c:256,1
    - Dst: log_assert
      Src: /src/gnupg/common/exectool.c:260,1
    - Dst: log_assert
      Src: /src/gnupg/common/exectool.c:263,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/exectool.c:267,1
    - Dst: es_fflush
      Src: /src/gnupg/common/exectool.c:273,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exectool.c:274,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - c
    - source
    - sink
    argTypes:
    - struct copy_buffer*
    - estream_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 277
    functionName: copy_buffer_do_copy
    functionSourceFile: /src/gnupg/common/exectool.c
    functionUses: 0
    functionsReached:
    - my_error_from_syserror
    - log_assert
    - es_write
    - es_read
    - gpg_err_code
    - es_fflush
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t copy_buffer_do_copy (struct copy_buffer *c, estream_t source,
      estream_t sink)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_write
      Src: /src/gnupg/common/exectool.c:287,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exectool.c:288,1
    - Dst: log_assert
      Src: /src/gnupg/common/exectool.c:290,1
    - Dst: log_assert
      Src: /src/gnupg/common/exectool.c:293,1
    - Dst: es_fflush
      Src: /src/gnupg/common/exectool.c:298,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exectool.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - c
    - sink
    argTypes:
    - struct copy_buffer*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 302
    functionName: copy_buffer_flush
    functionSourceFile: /src/gnupg/common/exectool.c
    functionUses: 0
    functionsReached:
    - my_error_from_syserror
    - es_fflush
    - log_assert
    - es_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t copy_buffer_flush (struct copy_buffer *c, estream_t sink)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/common/exectool.c:345,1
    - Dst: memset
      Src: /src/gnupg/common/exectool.c:346,1
    - Dst: strcmp
      Src: /src/gnupg/common/exectool.c:350,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/exectool.c:352,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exectool.c:355,1
    - Dst: copy_buffer_init
      Src: /src/gnupg/common/exectool.c:358,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/exectool.c:360,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exectool.c:363,1
    - Dst: copy_buffer_init
      Src: /src/gnupg/common/exectool.c:366,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/exectool.c:368,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exectool.c:371,1
    - Dst: copy_buffer_init
      Src: /src/gnupg/common/exectool.c:374,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/exectool.c:381,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exectool.c:384,1
    - Dst: gnupg_create_outbound_pipe
      Src: /src/gnupg/common/exectool.c:390,1
    - Dst: log_error
      Src: /src/gnupg/common/exectool.c:393,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/exectool.c:394,1
    - Dst: snprintf
      Src: /src/gnupg/common/exectool.c:404,1
    - Dst: snprintf
      Src: /src/gnupg/common/exectool.c:407,1
    - Dst: snprintf
      Src: /src/gnupg/common/exectool.c:411,1
    - Dst: strcmp
      Src: /src/gnupg/common/exectool.c:414,1
    - Dst: gpgrt_spawn_actions_new
      Src: /src/gnupg/common/exectool.c:425,1
    - Dst: gpgrt_spawn_actions_set_inherit_handles
      Src: /src/gnupg/common/exectool.c:430,1
    - Dst: gpgrt_spawn_actions_set_inherit_fds
      Src: /src/gnupg/common/exectool.c:432,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/common/exectool.c:434,1
    - Dst: gpgrt_process_get_streams
      Src: /src/gnupg/common/exectool.c:440,1
    - Dst: CloseHandle
      Src: /src/gnupg/common/exectool.c:444,1
    - Dst: close
      Src: /src/gnupg/common/exectool.c:446,1
    - Dst: log_error
      Src: /src/gnupg/common/exectool.c:453,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/exectool.c:453,1
    - Dst: es_poll
      Src: /src/gnupg/common/exectool.c:475,1
    - Dst: DIM
      Src: /src/gnupg/common/exectool.c:475,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exectool.c:478,1
    - Dst: log_error
      Src: /src/gnupg/common/exectool.c:479,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/exectool.c:479,1
    - Dst: log_debug
      Src: /src/gnupg/common/exectool.c:484,1
    - Dst: log_debug
      Src: /src/gnupg/common/exectool.c:491,1
    - Dst: copy_buffer_do_copy
      Src: /src/gnupg/common/exectool.c:497,1
    - Dst: log_error
      Src: /src/gnupg/common/exectool.c:500,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/exectool.c:501,1
    - Dst: es_feof
      Src: /src/gnupg/common/exectool.c:505,1
    - Dst: copy_buffer_flush
      Src: /src/gnupg/common/exectool.c:507,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/exectool.c:508,1
    - Dst: log_error
      Src: /src/gnupg/common/exectool.c:512,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/exectool.c:513,1
    - Dst: es_fclose
      Src: /src/gnupg/common/exectool.c:518,1
    - Dst: log_assert
      Src: /src/gnupg/common/exectool.c:524,1
    - Dst: copy_buffer_do_copy
      Src: /src/gnupg/common/exectool.c:525,1
    - Dst: log_error
      Src: /src/gnupg/common/exectool.c:528,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/exectool.c:529,1
    - Dst: es_feof
      Src: /src/gnupg/common/exectool.c:533,1
    - Dst: copy_buffer_flush
      Src: /src/gnupg/common/exectool.c:535,1
    - Dst: gpg_err_code
      Src: /src/gnupg/common/exectool.c:536,1
    - Dst: log_error
      Src: /src/gnupg/common/exectool.c:540,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/exectool.c:541,1
    - Dst: es_fclose
      Src: /src/gnupg/common/exectool.c:546,1
    - Dst: copy_buffer_do_copy
      Src: /src/gnupg/common/exectool.c:552,1
    - Dst: log_error
      Src: /src/gnupg/common/exectool.c:555,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/exectool.c:556,1
    - Dst: es_feof
      Src: /src/gnupg/common/exectool.c:560,1
    - Dst: copy_buffer_flush
      Src: /src/gnupg/common/exectool.c:562,1
    - Dst: log_error
      Src: /src/gnupg/common/exectool.c:565,1
    - Dst: gpg_strerror
      Src: /src/gnupg/common/exectool.c:566,1
    - Dst: read_and_log_stderr
      Src: /src/gnupg/common/exectool.c:575,1
    - Dst: read_and_log_stderr
      Src: /src/gnupg/common/exectool.c:578,1
    - Dst: es_fclose
      Src: /src/gnupg/common/exectool.c:579,1
    - Dst: es_fclose
      Src: /src/gnupg/common/exectool.c:580,1
    - Dst: es_fclose
      Src: /src/gnupg/common/exectool.c:581,1
    - Dst: es_fclose
      Src: /src/gnupg/common/exectool.c:582,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/common/exectool.c:584,1
    - Dst: gpgrt_process_ctl
      Src: /src/gnupg/common/exectool.c:589,1
    - Dst: gpg_error
      Src: /src/gnupg/common/exectool.c:591,1
    - Dst: gpgrt_process_terminate
      Src: /src/gnupg/common/exectool.c:596,1
    - Dst: es_fclose
      Src: /src/gnupg/common/exectool.c:598,1
    - Dst: es_fclose
      Src: /src/gnupg/common/exectool.c:599,1
    - Dst: es_fclose
      Src: /src/gnupg/common/exectool.c:600,1
    - Dst: es_fclose
      Src: /src/gnupg/common/exectool.c:601,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/common/exectool.c:602,1
    - Dst: gpgrt_spawn_actions_release
      Src: /src/gnupg/common/exectool.c:603,1
    - Dst: copy_buffer_shred
      Src: /src/gnupg/common/exectool.c:605,1
    - Dst: xfree
      Src: /src/gnupg/common/exectool.c:606,1
    - Dst: copy_buffer_shred
      Src: /src/gnupg/common/exectool.c:607,1
    - Dst: xfree
      Src: /src/gnupg/common/exectool.c:608,1
    - Dst: copy_buffer_shred
      Src: /src/gnupg/common/exectool.c:609,1
    - Dst: xfree
      Src: /src/gnupg/common/exectool.c:610,1
    - Dst: xfree
      Src: /src/gnupg/common/exectool.c:611,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 201
    argCount: 7
    argNames:
    - pgmname
    - argv
    - input
    - inextra
    - output
    - status_cb
    - status_cb_value
    argTypes:
    - char*
    - char*[]
    - estream_t
    - estream_t
    - estream_t
    - exec_tool_status_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 613
    functionName: gnupg_exec_tool_stream
    functionSourceFile: /src/gnupg/common/exectool.c
    functionUses: 16
    functionsReached:
    - log_assert
    - copy_buffer_shred
    - xtrymalloc
    - log_error
    - gpgrt_spawn_actions_set_inherit_handles
    - close
    - DIM
    - es_feof
    - gpgrt_spawn_actions_new
    - es_poll
    - gpgrt_process_wait
    - gnupg_create_outbound_pipe
    - log_debug
    - gpgrt_process_get_streams
    - gpgrt_process_spawn
    - copy_buffer_init
    - strcmp
    - gpg_error
    - memset
    - gpg_strerror
    - xfree
    - copy_buffer_flush
    - my_error_from_syserror
    - gpgrt_spawn_actions_release
    - gpgrt_process_release
    - snprintf
    - copy_buffer_do_copy
    - es_fclose
    - gpgrt_process_terminate
    - gpg_err_code
    - read_and_log_stderr
    - gpgrt_process_ctl
    - gpgrt_spawn_actions_set_inherit_fds
    - CloseHandle
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gnupg_exec_tool_stream (const char *pgmname, const char
      *argv[],\n                        estream_t input, estream_t inextra,\n                        estream_t
      output,\n                        exec_tool_status_cb_t status_cb,\n                        void
      *status_cb_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 621
    functionName: nop_free
    functionSourceFile: /src/gnupg/common/exectool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nop_free (void *ptr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/common/exectool.c:648,1
    - Dst: es_mopen
      Src: /src/gnupg/common/exectool.c:649,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exectool.c:652,1
    - Dst: es_fopenmem
      Src: /src/gnupg/common/exectool.c:655,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exectool.c:658,1
    - Dst: gnupg_exec_tool_stream
      Src: /src/gnupg/common/exectool.c:662,1
    - Dst: es_ftello
      Src: /src/gnupg/common/exectool.c:666,1
    - Dst: es_fseek
      Src: /src/gnupg/common/exectool.c:667,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/exectool.c:671,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exectool.c:674,1
    - Dst: es_read
      Src: /src/gnupg/common/exectool.c:680,1
    - Dst: my_error_from_syserror
      Src: /src/gnupg/common/exectool.c:682,1
    - Dst: log_fatal
      Src: /src/gnupg/common/exectool.c:686,1
    - Dst: es_fclose
      Src: /src/gnupg/common/exectool.c:694,1
    - Dst: es_fclose
      Src: /src/gnupg/common/exectool.c:695,1
    - Dst: xfree
      Src: /src/gnupg/common/exectool.c:698,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 5
    argNames:
    - pgmname
    - argv
    - input_string
    - result
    - resultlen
    argTypes:
    - char*
    - char*[]
    - char*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 631
    functionDepth: 3
    functionLinenumber: 631
    functionLinenumberEnd: 702
    functionName: gnupg_exec_tool
    functionSourceFile: /src/gnupg/common/exectool.c
    functionUses: 4
    functionsReached:
    - my_error_from_syserror
    - es_fopenmem
    - xtrymalloc
    - es_mopen
    - strlen
    - es_fclose
    - log_fatal
    - es_ftello
    - es_fseek
    - es_read
    - xfree
    - gnupg_exec_tool_stream
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gnupg_exec_tool (const char *pgmname, const char *argv[],\n
      \                const char *input_string,\n                 char **result,
      size_t *resultlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: FREE_STRLIST
    functionSourceFile: /src/gnupg/common/strlist.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_STRLIST(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: get_membuf_len
    functionSourceFile: /src/gnupg/common/membuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_membuf_len(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: is_membuf_ready
    functionSourceFile: /src/gnupg/common/membuf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_membuf_ready(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 454
    functionName: iobuf_set_error
    functionSourceFile: /src/gnupg/common/iobuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iobuf_set_error(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 457
    functionName: iobuf_error
    functionSourceFile: /src/gnupg/common/iobuf.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iobuf_error(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: iobuf_get
    functionSourceFile: /src/gnupg/common/iobuf.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iobuf_get(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 505
    functionName: iobuf_get_noeof
    functionSourceFile: /src/gnupg/common/iobuf.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iobuf_get_noeof(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 551
    functionName: iobuf_put
    functionSourceFile: /src/gnupg/common/iobuf.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iobuf_put(a,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 632
    functionName: iobuf_where
    functionSourceFile: /src/gnupg/common/iobuf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iobuf_where(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 637
    functionName: iobuf_id
    functionSourceFile: /src/gnupg/common/iobuf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iobuf_id(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 639
    functionName: iobuf_get_temp_buffer
    functionSourceFile: /src/gnupg/common/iobuf.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iobuf_get_temp_buffer(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 640
    functionName: iobuf_get_temp_length
    functionSourceFile: /src/gnupg/common/iobuf.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iobuf_get_temp_length(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 643
    functionName: iobuf_is_temp
    functionSourceFile: /src/gnupg/common/iobuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iobuf_is_temp(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: set_assuan_context_func
    functionSourceFile: /src/gnupg/common/asshelp2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_assuan_context_func (assuan_context_t (*func)(ctrl_t ctrl))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_vasprintf
      Src: /src/gnupg/common/asshelp2.c:69,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/asshelp2.c:71,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/asshelp2.c:71,1
    - Dst: strlen
      Src: /src/gnupg/common/asshelp2.c:72,1
    - Dst: assuan_write_status
      Src: /src/gnupg/common/asshelp2.c:75,1
    - Dst: xfree
      Src: /src/gnupg/common/asshelp2.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - keyword
    - format
    - arg_ptr
    argTypes:
    - assuan_context_t
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 78
    functionName: vprint_assuan_status
    functionSourceFile: /src/gnupg/common/asshelp2.c
    functionUses: 0
    functionsReached:
    - gpg_err_code_from_syserror
    - gpgrt_vasprintf
    - strlen
    - assuan_write_status
    - gpg_err_make
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t vprint_assuan_status (assuan_context_t ctx,\n                      const
      char *keyword,\n                      const char *format, va_list arg_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/common/asshelp2.c:91,1
    - Dst: vprint_assuan_status
      Src: /src/gnupg/common/asshelp2.c:92,1
    - Dst: va_end
      Src: /src/gnupg/common/asshelp2.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - keyword
    - format
    argTypes:
    - assuan_context_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: print_assuan_status
    functionSourceFile: /src/gnupg/common/asshelp2.c
    functionUses: 1
    functionsReached:
    - va_end
    - va_start
    - vprint_assuan_status
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t print_assuan_status (assuan_context_t ctx,\n                     const
      char *keyword,\n                     const char *format, ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/gnupg/common/asshelp2.c:115,1
    - Dst: DIM
      Src: /src/gnupg/common/asshelp2.c:115,1
    - Dst: DIM
      Src: /src/gnupg/common/asshelp2.c:122,1
    - Dst: assuan_write_status
      Src: /src/gnupg/common/asshelp2.c:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - keyword
    - arg_ptr
    argTypes:
    - assuan_context_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 144
    functionName: vprint_assuan_status_strings
    functionSourceFile: /src/gnupg/common/asshelp2.c
    functionUses: 0
    functionsReached:
    - assuan_write_status
    - DIM
    - va_arg
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t vprint_assuan_status_strings (assuan_context_t ctx,\n
      \                             const char *keyword, va_list arg_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/common/asshelp2.c:154,1
    - Dst: vprint_assuan_status_strings
      Src: /src/gnupg/common/asshelp2.c:155,1
    - Dst: va_end
      Src: /src/gnupg/common/asshelp2.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - keyword
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: print_assuan_status_strings
    functionSourceFile: /src/gnupg/common/asshelp2.c
    functionUses: 1
    functionsReached:
    - vprint_assuan_status_strings
    - va_end
    - va_start
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t print_assuan_status_strings (assuan_context_t ctx, const
      char *keyword, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: the_assuan_ctx_func
      Src: /src/gnupg/common/asshelp2.c:170,1
    - Dst: va_start
      Src: /src/gnupg/common/asshelp2.c:173,1
    - Dst: vprint_assuan_status
      Src: /src/gnupg/common/asshelp2.c:174,1
    - Dst: va_end
      Src: /src/gnupg/common/asshelp2.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ctrl
    - keyword
    - format
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: status_printf
    functionSourceFile: /src/gnupg/common/asshelp2.c
    functionUses: 11
    functionsReached:
    - the_assuan_ctx_func
    - va_end
    - va_start
    - vprint_assuan_status
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t status_printf (ctrl_t ctrl, const char *keyword, const
      char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: the_assuan_ctx_func
      Src: /src/gnupg/common/asshelp2.c:189,1
    - Dst: va_start
      Src: /src/gnupg/common/asshelp2.c:192,1
    - Dst: vprint_assuan_status
      Src: /src/gnupg/common/asshelp2.c:193,1
    - Dst: get_status_string
      Src: /src/gnupg/common/asshelp2.c:193,1
    - Dst: va_end
      Src: /src/gnupg/common/asshelp2.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ctrl
    - 'no'
    - format
    argTypes:
    - ctrl_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 196
    functionName: status_no_printf
    functionSourceFile: /src/gnupg/common/asshelp2.c
    functionUses: 0
    functionsReached:
    - va_end
    - vprint_assuan_status
    - the_assuan_ctx_func
    - get_status_string
    - va_start
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t status_no_printf (ctrl_t ctrl, int no, const char *format,
      ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/common/ssh-utils.c:51,1
    - Dst: gcry_sexp_length
      Src: /src/gnupg/common/ssh-utils.c:52,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/common/ssh-utils.c:54,1
    - Dst: memcmp
      Src: /src/gnupg/common/ssh-utils.c:58,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/ssh-utils.c:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - keyparms
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: is_eddsa
    functionSourceFile: /src/gnupg/common/ssh-utils.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_length
    - gcry_sexp_find_token
    - memcmp
    - gcry_sexp_nth_data
    - gcry_sexp_release
    linkageType: ''
    returnType: int
    signature: int is_eddsa (gcry_sexp_t keyparms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: dummy_realloc
    functionSourceFile: /src/gnupg/common/ssh-utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *dummy_realloc (void *mem, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: dummy_free
    functionSourceFile: /src/gnupg/common/ssh-utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_free (void *mem)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/common/ssh-utils.c:94,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/common/ssh-utils.c:96,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/common/ssh-utils.c:98,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/common/ssh-utils.c:100,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/ssh-utils.c:103,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/common/ssh-utils.c:107,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/ssh-utils.c:108,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/common/ssh-utils.c:112,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/ssh-utils.c:115,1
    - Dst: gcry_md_open
      Src: /src/gnupg/common/ssh-utils.c:119,1
    - Dst: gcry_pk_map_name
      Src: /src/gnupg/common/ssh-utils.c:123,1
    - Dst: gcry_md_write
      Src: /src/gnupg/common/ssh-utils.c:127,1
    - Dst: gcry_md_write
      Src: /src/gnupg/common/ssh-utils.c:132,1
    - Dst: is_eddsa
      Src: /src/gnupg/common/ssh-utils.c:136,1
    - Dst: gcry_md_write
      Src: /src/gnupg/common/ssh-utils.c:142,1
    - Dst: gcry_md_write
      Src: /src/gnupg/common/ssh-utils.c:149,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/common/ssh-utils.c:150,1
    - Dst: gcry_free
      Src: /src/gnupg/common/ssh-utils.c:155,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/common/ssh-utils.c:156,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/ssh-utils.c:157,1
    - Dst: strcmp
      Src: /src/gnupg/common/ssh-utils.c:161,1
    - Dst: strcmp
      Src: /src/gnupg/common/ssh-utils.c:161,1
    - Dst: gcry_md_write
      Src: /src/gnupg/common/ssh-utils.c:162,1
    - Dst: strcmp
      Src: /src/gnupg/common/ssh-utils.c:163,1
    - Dst: strcmp
      Src: /src/gnupg/common/ssh-utils.c:163,1
    - Dst: gcry_md_write
      Src: /src/gnupg/common/ssh-utils.c:164,1
    - Dst: strcmp
      Src: /src/gnupg/common/ssh-utils.c:165,1
    - Dst: strcmp
      Src: /src/gnupg/common/ssh-utils.c:165,1
    - Dst: gcry_md_write
      Src: /src/gnupg/common/ssh-utils.c:166,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/ssh-utils.c:171,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/ssh-utils.c:177,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/common/ssh-utils.c:186,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/ssh-utils.c:189,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/common/ssh-utils.c:198,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/ssh-utils.c:201,1
    - Dst: gcry_md_write
      Src: /src/gnupg/common/ssh-utils.c:210,1
    - Dst: gcry_md_write
      Src: /src/gnupg/common/ssh-utils.c:211,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/gnupg/common/ssh-utils.c:219,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/ssh-utils.c:220,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/ssh-utils.c:224,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/common/ssh-utils.c:228,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/ssh-utils.c:229,1
    - Dst: gcry_md_write
      Src: /src/gnupg/common/ssh-utils.c:232,1
    - Dst: gcry_free
      Src: /src/gnupg/common/ssh-utils.c:233,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/common/ssh-utils.c:243,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/ssh-utils.c:244,1
    - Dst: strlen
      Src: /src/gnupg/common/ssh-utils.c:244,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/common/ssh-utils.c:244,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/ssh-utils.c:247,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/ssh-utils.c:247,1
    - Dst: memcpy
      Src: /src/gnupg/common/ssh-utils.c:251,1
    - Dst: strlen
      Src: /src/gnupg/common/ssh-utils.c:251,1
    - Dst: strlen
      Src: /src/gnupg/common/ssh-utils.c:252,1
    - Dst: bin2hexcolon
      Src: /src/gnupg/common/ssh-utils.c:257,1
    - Dst: gcry_md_read
      Src: /src/gnupg/common/ssh-utils.c:257,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/common/ssh-utils.c:257,1
    - Dst: strlwr
      Src: /src/gnupg/common/ssh-utils.c:258,1
    - Dst: es_mopen
      Src: /src/gnupg/common/ssh-utils.c:268,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/common/ssh-utils.c:268,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/ssh-utils.c:272,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/ssh-utils.c:272,1
    - Dst: gpgrt_b64enc_start
      Src: /src/gnupg/common/ssh-utils.c:276,1
    - Dst: es_fclose
      Src: /src/gnupg/common/ssh-utils.c:279,1
    - Dst: gpgrt_b64enc_write
      Src: /src/gnupg/common/ssh-utils.c:283,1
    - Dst: gcry_md_read
      Src: /src/gnupg/common/ssh-utils.c:283,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/common/ssh-utils.c:284,1
    - Dst: es_fclose
      Src: /src/gnupg/common/ssh-utils.c:287,1
    - Dst: gpgrt_b64enc_finish
      Src: /src/gnupg/common/ssh-utils.c:292,1
    - Dst: es_ftell
      Src: /src/gnupg/common/ssh-utils.c:293,1
    - Dst: es_fclose
      Src: /src/gnupg/common/ssh-utils.c:294,1
    - Dst: strlen
      Src: /src/gnupg/common/ssh-utils.c:306,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/common/ssh-utils.c:310,1
    - Dst: xtrymalloc
      Src: /src/gnupg/common/ssh-utils.c:311,1
    - Dst: gpg_err_make
      Src: /src/gnupg/common/ssh-utils.c:314,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/common/ssh-utils.c:314,1
    - Dst: memcpy
      Src: /src/gnupg/common/ssh-utils.c:317,1
    - Dst: gcry_md_read
      Src: /src/gnupg/common/ssh-utils.c:317,1
    - Dst: gcry_free
      Src: /src/gnupg/common/ssh-utils.c:322,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/ssh-utils.c:323,1
    - Dst: gcry_md_close
      Src: /src/gnupg/common/ssh-utils.c:324,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/ssh-utils.c:325,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 177
    argCount: 5
    argNames:
    - key
    - algo
    - r_fpr
    - r_len
    - as_string
    argTypes:
    - gcry_sexp_t
    - int
    - void**
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 327
    functionName: get_fingerprint
    functionSourceFile: /src/gnupg/common/ssh-utils.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - strlwr
    - bin2hexcolon
    - strlen
    - gcry_sexp_find_token
    - gpg_err_make
    - gcry_mpi_aprint
    - gcry_md_close
    - xtrymalloc
    - gcry_sexp_nth_string
    - memcpy
    - is_eddsa
    - gcry_md_algo_name
    - gcry_sexp_cadr
    - gpgrt_b64enc_finish
    - gcry_sexp_release
    - gcry_md_read
    - gcry_md_open
    - gpg_err_code_from_syserror
    - es_mopen
    - strcmp
    - gcry_sexp_nth_data
    - es_ftell
    - gcry_mpi_release
    - gcry_md_write
    - gcry_free
    - es_fclose
    - gpgrt_b64enc_write
    - gcry_md_get_algo_dlen
    - gcry_pk_map_name
    - gpgrt_b64enc_start
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_fingerprint (gcry_sexp_t key, int algo,\n                 void
      **r_fpr, size_t *r_len, int as_string)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_fingerprint
      Src: /src/gnupg/common/ssh-utils.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - algo
    - r_fpr
    - r_len
    argTypes:
    - gcry_sexp_t
    - int
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 3
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: ssh_get_fingerprint
    functionSourceFile: /src/gnupg/common/ssh-utils.c
    functionUses: 0
    functionsReached:
    - get_fingerprint
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_get_fingerprint (gcry_sexp_t key, int algo,\n                     void
      **r_fpr, size_t *r_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_fingerprint
      Src: /src/gnupg/common/ssh-utils.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - algo
    - r_fprstr
    argTypes:
    - gcry_sexp_t
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 355
    functionName: ssh_get_fingerprint_string
    functionSourceFile: /src/gnupg/common/ssh-utils.c
    functionUses: 1
    functionsReached:
    - get_fingerprint
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ssh_get_fingerprint_string (gcry_sexp_t key, int algo,
      char **r_fprstr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_write
      Src: /src/gnupg/common/ssh-utils.c:371,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/ssh-utils.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - uint32
    argTypes:
    - estream_t
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 378
    functionName: stream_write_uint32
    functionSourceFile: /src/gnupg/common/ssh-utils.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - es_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t stream_write_uint32 (estream_t stream, u32 uint32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_write
      Src: /src/gnupg/common/ssh-utils.c:387,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/ssh-utils.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - buffer
    - size
    argTypes:
    - estream_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 394
    functionName: stream_write_data
    functionSourceFile: /src/gnupg/common/ssh-utils.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - es_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t stream_write_data (estream_t stream, const unsigned char
      *buffer, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_write_uint32
      Src: /src/gnupg/common/ssh-utils.c:403,1
    - Dst: stream_write_data
      Src: /src/gnupg/common/ssh-utils.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - string
    - string_n
    argTypes:
    - estream_t
    - unsigned char*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 412
    functionName: stream_write_string
    functionSourceFile: /src/gnupg/common/ssh-utils.c
    functionUses: 0
    functionsReached:
    - stream_write_uint32
    - stream_write_data
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t stream_write_string (estream_t stream,\n                     const
      unsigned char *string, u32 string_n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_write_string
      Src: /src/gnupg/common/ssh-utils.c:420,1
    - Dst: strlen
      Src: /src/gnupg/common/ssh-utils.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - string
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: stream_write_cstring
    functionSourceFile: /src/gnupg/common/ssh-utils.c
    functionUses: 0
    functionsReached:
    - stream_write_string
    - strlen
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t stream_write_cstring (estream_t stream, const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/common/ssh-utils.c:436,1
    - Dst: stream_write_string
      Src: /src/gnupg/common/ssh-utils.c:440,1
    - Dst: xfree
      Src: /src/gnupg/common/ssh-utils.c:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - stream
    - mpint
    argTypes:
    - estream_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 447
    functionName: stream_write_mpi
    functionSourceFile: /src/gnupg/common/ssh-utils.c
    functionUses: 0
    functionsReached:
    - stream_write_string
    - xfree
    - gcry_mpi_aprint
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t stream_write_mpi (estream_t stream, gcry_mpi_t mpint)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/common/ssh-utils.c:467,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/ssh-utils.c:470,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/common/ssh-utils.c:475,1
    - Dst: gpg_error
      Src: /src/gnupg/common/ssh-utils.c:478,1
    - Dst: stream_write_cstring
      Src: /src/gnupg/common/ssh-utils.c:482,1
    - Dst: stream_write_cstring
      Src: /src/gnupg/common/ssh-utils.c:489,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/ssh-utils.c:497,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/common/ssh-utils.c:498,1
    - Dst: gpg_error
      Src: /src/gnupg/common/ssh-utils.c:501,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/common/ssh-utils.c:506,1
    - Dst: gpg_error
      Src: /src/gnupg/common/ssh-utils.c:509,1
    - Dst: stream_write_string
      Src: /src/gnupg/common/ssh-utils.c:517,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/gnupg/common/ssh-utils.c:527,1
    - Dst: gpg_error
      Src: /src/gnupg/common/ssh-utils.c:530,1
    - Dst: stream_write_mpi
      Src: /src/gnupg/common/ssh-utils.c:533,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/common/ssh-utils.c:534,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/common/ssh-utils.c:540,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/ssh-utils.c:542,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/ssh-utils.c:548,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/common/ssh-utils.c:549,1
    - Dst: es_fclose
      Src: /src/gnupg/common/ssh-utils.c:550,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 74
    argCount: 7
    argNames:
    - sexp
    - identifier
    - is_eddsa_flag
    - curve
    - elems
    - r_blob
    - r_blob_size
    argTypes:
    - gcry_sexp_t
    - char*
    - int
    - char*
    - char*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 553
    functionName: sexp_to_sshblob
    functionSourceFile: /src/gnupg/common/ssh-utils.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - gcry_sexp_nth_mpi
    - es_fclose_snatch
    - gpg_error_from_syserror
    - es_fclose
    - gcry_sexp_cadr
    - gcry_sexp_find_token
    - stream_write_string
    - gpg_error
    - gcry_sexp_nth_data
    - stream_write_cstring
    - gcry_sexp_release
    - stream_write_mpi
    - gcry_mpi_release
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t sexp_to_sshblob (gcry_sexp_t sexp, const char *identifier,
      int is_eddsa_flag,\n                 const char *curve, const char *elems,\n
      \                void **r_blob, size_t *r_blob_size)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: get_pk_algo_from_key
      Src: /src/gnupg/common/ssh-utils.c:571,1
    - Dst: gpg_error
      Src: /src/gnupg/common/ssh-utils.c:573,1
    - Dst: gcry_pk_get_curve
      Src: /src/gnupg/common/ssh-utils.c:577,1
    - Dst: gpg_error
      Src: /src/gnupg/common/ssh-utils.c:579,1
    - Dst: strcmp
      Src: /src/gnupg/common/ssh-utils.c:590,1
    - Dst: strcmp
      Src: /src/gnupg/common/ssh-utils.c:592,1
    - Dst: strcmp
      Src: /src/gnupg/common/ssh-utils.c:594,1
    - Dst: gpg_error
      Src: /src/gnupg/common/ssh-utils.c:597,1
    - Dst: strcmp
      Src: /src/gnupg/common/ssh-utils.c:603,1
    - Dst: strcmp
      Src: /src/gnupg/common/ssh-utils.c:605,1
    - Dst: gpg_error
      Src: /src/gnupg/common/ssh-utils.c:608,1
    - Dst: gpg_error
      Src: /src/gnupg/common/ssh-utils.c:613,1
    - Dst: sexp_to_sshblob
      Src: /src/gnupg/common/ssh-utils.c:620,1
    - Dst: es_fprintf
      Src: /src/gnupg/common/ssh-utils.c:625,1
    - Dst: gpgrt_b64enc_start
      Src: /src/gnupg/common/ssh-utils.c:627,1
    - Dst: es_free
      Src: /src/gnupg/common/ssh-utils.c:630,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/common/ssh-utils.c:631,1
    - Dst: gpgrt_b64enc_write
      Src: /src/gnupg/common/ssh-utils.c:634,1
    - Dst: gpgrt_b64enc_finish
      Src: /src/gnupg/common/ssh-utils.c:635,1
    - Dst: es_free
      Src: /src/gnupg/common/ssh-utils.c:636,1
    - Dst: es_fprintf
      Src: /src/gnupg/common/ssh-utils.c:641,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 3
    argNames:
    - key
    - stream
    - comment
    argTypes:
    - gcry_sexp_t
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 644
    functionName: ssh_public_key_in_base64
    functionSourceFile: /src/gnupg/common/ssh-utils.c
    functionUses: 0
    functionsReached:
    - sexp_to_sshblob
    - es_fprintf
    - es_free
    - gpg_error_from_syserror
    - gpgrt_b64enc_write
    - get_pk_algo_from_key
    - gpgrt_b64enc_finish
    - strcmp
    - gcry_pk_get_curve
    - gpg_error
    - gpgrt_b64enc_start
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_public_key_in_base64 (gcry_sexp_t key, estream_t stream,\n
      \                         const char *comment)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: tlv_parser_new
    functionSourceFile: /src/gnupg/common/tlv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tlv_parser_new(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: tlv_parser_release
    functionSourceFile: /src/gnupg/common/tlv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tlv_parser_release(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: tlv_parser_dump_tag
    functionSourceFile: /src/gnupg/common/tlv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tlv_parser_dump_tag(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: tlv_parser_dump_state
    functionSourceFile: /src/gnupg/common/tlv.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tlv_parser_dump_state(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: tlv_next
    functionSourceFile: /src/gnupg/common/tlv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tlv_next(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: tlv_next_with_flag
    functionSourceFile: /src/gnupg/common/tlv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tlv_next_with_flag(a,b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/common/ccparray.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - cpa
    - initialsize
    argTypes:
    - ccparray_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: ccparray_init
    functionSourceFile: /src/gnupg/common/ccparray.c
    functionUses: 20
    functionsReached:
    - xtrycalloc
    linkageType: ''
    returnType: void
    signature: void ccparray_init (ccparray_t *cpa, unsigned int initialsize)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/common/ccparray.c:109,1
    - Dst: xfree
      Src: /src/gnupg/common/ccparray.c:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - cpa
    - value
    argTypes:
    - ccparray_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 123
    functionName: ccparray_put
    functionSourceFile: /src/gnupg/common/ccparray.c
    functionUses: 20
    functionsReached:
    - xfree
    - xtrycalloc
    linkageType: ''
    returnType: void
    signature: void ccparray_put (ccparray_t *cpa, const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/common/ccparray.c:135,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/common/ccparray.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 148
    functionName: ccparray_get
    functionSourceFile: /src/gnupg/common/ccparray.c
    functionUses: 20
    functionsReached:
    - xfree
    - gpg_err_set_errno
    linkageType: ''
    returnType: char
    signature: 'char **

      ccparray_get (ccparray_t *cpa, size_t *r_count)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sigaction
      Src: /src/gnupg/common/signal.c:62,1
    - Dst: sigemptyset
      Src: /src/gnupg/common/signal.c:68,1
    - Dst: sigaction
      Src: /src/gnupg/common/signal.c:70,1
    - Dst: signal
      Src: /src/gnupg/common/signal.c:74,1
    - Dst: signal
      Src: /src/gnupg/common/signal.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - sig
    - check_ign
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 81
    functionName: init_one_signal
    functionSourceFile: /src/gnupg/common/signal.c
    functionUses: 0
    functionsReached:
    - sigemptyset
    - sigaction
    - signal
    linkageType: ''
    returnType: void
    signature: void init_one_signal (int sig, void (*handler)(int), int check_ign
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigdescr_np
      Src: /src/gnupg/common/signal.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: get_signal_name
    functionSourceFile: /src/gnupg/common/signal.c
    functionUses: 0
    functionsReached:
    - sigdescr_np
    linkageType: ''
    returnType: char
    signature: 'char *

      get_signal_name( int signum )'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: raise
      Src: /src/gnupg/common/signal.c:111,1
    - Dst: cleanup_fnc
      Src: /src/gnupg/common/signal.c:115,1
    - Dst: write
      Src: /src/gnupg/common/signal.c:117,1
    - Dst: log_get_prefix
      Src: /src/gnupg/common/signal.c:118,1
    - Dst: write
      Src: /src/gnupg/common/signal.c:120,1
    - Dst: strlen
      Src: /src/gnupg/common/signal.c:120,1
    - Dst: write
      Src: /src/gnupg/common/signal.c:121,1
    - Dst: get_signal_name
      Src: /src/gnupg/common/signal.c:122,1
    - Dst: write
      Src: /src/gnupg/common/signal.c:124,1
    - Dst: strlen
      Src: /src/gnupg/common/signal.c:124,1
    - Dst: write
      Src: /src/gnupg/common/signal.c:134,1
    - Dst: write
      Src: /src/gnupg/common/signal.c:143,1
    - Dst: write
      Src: /src/gnupg/common/signal.c:151,1
    - Dst: init_one_signal
      Src: /src/gnupg/common/signal.c:154,1
    - Dst: close_fds
      Src: /src/gnupg/common/signal.c:157,1
    - Dst: raise
      Src: /src/gnupg/common/signal.c:159,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 160
    functionName: got_fatal_signal
    functionSourceFile: /src/gnupg/common/signal.c
    functionUses: 0
    functionsReached:
    - raise
    - cleanup_fnc
    - init_one_signal
    - strlen
    - get_signal_name
    - write
    - close_fds
    - log_get_prefix
    linkageType: ''
    returnType: void
    signature: void got_fatal_signal (int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: got_usr_signal
    functionSourceFile: /src/gnupg/common/signal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void got_usr_signal (int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/common/signal.c:175,1
    - Dst: init_one_signal
      Src: /src/gnupg/common/signal.c:179,1
    - Dst: init_one_signal
      Src: /src/gnupg/common/signal.c:180,1
    - Dst: init_one_signal
      Src: /src/gnupg/common/signal.c:181,1
    - Dst: init_one_signal
      Src: /src/gnupg/common/signal.c:182,1
    - Dst: init_one_signal
      Src: /src/gnupg/common/signal.c:183,1
    - Dst: init_one_signal
      Src: /src/gnupg/common/signal.c:184,1
    - Dst: init_one_signal
      Src: /src/gnupg/common/signal.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts:
    - condition: (!mode)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/gnupg/common/signal.c
    constantsTouched: []
    func_position:
      end: 187
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 187
    functionName: gnupg_init_signals
    functionSourceFile: /src/gnupg/common/signal.c
    functionUses: 4
    functionsReached:
    - init_one_signal
    - assert
    linkageType: ''
    returnType: void
    signature: void gnupg_init_signals (int mode, void (*fast_cleanup)(void))
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/gnupg/common/signal.c:205,1
    - Dst: sigfillset
      Src: /src/gnupg/common/signal.c:206,1
    - Dst: sigprocmask
      Src: /src/gnupg/common/signal.c:207,1
    - Dst: log_bug
      Src: /src/gnupg/common/signal.c:213,1
    - Dst: sigprocmask
      Src: /src/gnupg/common/signal.c:214,1
    - Dst: log_bug
      Src: /src/gnupg/common/signal.c:224,1
    - Dst: sigset
      Src: /src/gnupg/common/signal.c:227,1
    - Dst: log_bug
      Src: /src/gnupg/common/signal.c:234,1
    - Dst: sigset
      Src: /src/gnupg/common/signal.c:236,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - block
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 242
    functionName: do_block
    functionSourceFile: /src/gnupg/common/signal.c
    functionUses: 0
    functionsReached:
    - sigset
    - log_bug
    - sigprocmask
    - sigfillset
    linkageType: ''
    returnType: void
    signature: void do_block (int block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_block
      Src: /src/gnupg/common/signal.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: gnupg_block_all_signals
    functionSourceFile: /src/gnupg/common/signal.c
    functionUses: 4
    functionsReached:
    - do_block
    linkageType: ''
    returnType: void
    signature: void gnupg_block_all_signals (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_block
      Src: /src/gnupg/common/signal.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: gnupg_unblock_all_signals
    functionSourceFile: /src/gnupg/common/signal.c
    functionUses: 4
    functionsReached:
    - do_block
    linkageType: ''
    returnType: void
    signature: void gnupg_unblock_all_signals (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/common/t-exechelp.c:44,1
    - Dst: putchar
      Src: /src/gnupg/common/t-exechelp.c:45,1
    - Dst: putchar
      Src: /src/gnupg/common/t-exechelp.c:46,1
    - Dst: putchar
      Src: /src/gnupg/common/t-exechelp.c:47,1
    - Dst: printf
      Src: /src/gnupg/common/t-exechelp.c:49,1
    - Dst: putchar
      Src: /src/gnupg/common/t-exechelp.c:50,1
    - Dst: putchar
      Src: /src/gnupg/common/t-exechelp.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - array
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: print_open_fds
    functionSourceFile: /src/gnupg/common/t-exechelp.c
    functionUses: 0
    functionsReached:
    - putchar
    - printf
    linkageType: ''
    returnType: void
    signature: void print_open_fds (int *array)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_all_open_fds
      Src: /src/gnupg/common/t-exechelp.c:60,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-exechelp.c:63,1
    - Dst: strerror
      Src: /src/gnupg/common/t-exechelp.c:64,1
    - Dst: exit
      Src: /src/gnupg/common/t-exechelp.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: xget_all_open_fds
    functionSourceFile: /src/gnupg/common/t-exechelp.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - strerror
    - get_all_open_fds
    linkageType: ''
    returnType: int
    signature: 'int *

      xget_all_open_fds (void)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_max_fds
      Src: /src/gnupg/common/t-exechelp.c:77,1
    - Dst: snprintf
      Src: /src/gnupg/common/t-exechelp.c:84,1
    - Dst: getpid
      Src: /src/gnupg/common/t-exechelp.c:84,1
    - Dst: system
      Src: /src/gnupg/common/t-exechelp.c:85,1
    - Dst: printf
      Src: /src/gnupg/common/t-exechelp.c:89,1
    - Dst: xget_all_open_fds
      Src: /src/gnupg/common/t-exechelp.c:90,1
    - Dst: print_open_fds
      Src: /src/gnupg/common/t-exechelp.c:91,1
    - Dst: free
      Src: /src/gnupg/common/t-exechelp.c:94,1
    - Dst: dup
      Src: /src/gnupg/common/t-exechelp.c:97,1
    - Dst: dup
      Src: /src/gnupg/common/t-exechelp.c:98,1
    - Dst: dup
      Src: /src/gnupg/common/t-exechelp.c:99,1
    - Dst: dup
      Src: /src/gnupg/common/t-exechelp.c:100,1
    - Dst: close
      Src: /src/gnupg/common/t-exechelp.c:101,1
    - Dst: xget_all_open_fds
      Src: /src/gnupg/common/t-exechelp.c:103,1
    - Dst: print_open_fds
      Src: /src/gnupg/common/t-exechelp.c:105,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-exechelp.c:110,1
    - Dst: exit
      Src: /src/gnupg/common/t-exechelp.c:112,1
    - Dst: free
      Src: /src/gnupg/common/t-exechelp.c:114,1
    - Dst: close_all_fds
      Src: /src/gnupg/common/t-exechelp.c:117,1
    - Dst: xget_all_open_fds
      Src: /src/gnupg/common/t-exechelp.c:120,1
    - Dst: print_open_fds
      Src: /src/gnupg/common/t-exechelp.c:122,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-exechelp.c:127,1
    - Dst: exit
      Src: /src/gnupg/common/t-exechelp.c:129,1
    - Dst: free
      Src: /src/gnupg/common/t-exechelp.c:132,1
    - Dst: get_max_fds
      Src: /src/gnupg/common/t-exechelp.c:136,1
    - Dst: dup
      Src: /src/gnupg/common/t-exechelp.c:141,1
    - Dst: xget_all_open_fds
      Src: /src/gnupg/common/t-exechelp.c:142,1
    - Dst: print_open_fds
      Src: /src/gnupg/common/t-exechelp.c:144,1
    - Dst: free
      Src: /src/gnupg/common/t-exechelp.c:145,1
    - Dst: dup
      Src: /src/gnupg/common/t-exechelp.c:148,1
    - Dst: xget_all_open_fds
      Src: /src/gnupg/common/t-exechelp.c:149,1
    - Dst: print_open_fds
      Src: /src/gnupg/common/t-exechelp.c:151,1
    - Dst: free
      Src: /src/gnupg/common/t-exechelp.c:152,1
    - Dst: close_all_fds
      Src: /src/gnupg/common/t-exechelp.c:156,1
    - Dst: xget_all_open_fds
      Src: /src/gnupg/common/t-exechelp.c:157,1
    - Dst: print_open_fds
      Src: /src/gnupg/common/t-exechelp.c:159,1
    - Dst: free
      Src: /src/gnupg/common/t-exechelp.c:162,1
    - Dst: DIM
      Src: /src/gnupg/common/t-exechelp.c:164,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-exechelp.c:166,1
    - Dst: exit
      Src: /src/gnupg/common/t-exechelp.c:168,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 172
    functionName: test_close_all_fds
    functionSourceFile: /src/gnupg/common/t-exechelp.c
    functionUses: 0
    functionsReached:
    - printf
    - close_all_fds
    - snprintf
    - close
    - get_max_fds
    - dup
    - exit
    - DIM
    - print_open_fds
    - fprintf
    - system
    - xget_all_open_fds
    - getpid
    - free
    linkageType: ''
    returnType: void
    signature: void test_close_all_fds (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnupg/common/t-exechelp.c:192,1
    - Dst: es_sysopen_nc
      Src: /src/gnupg/common/t-exechelp.c:198,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-exechelp.c:201,1
    - Dst: exit
      Src: /src/gnupg/common/t-exechelp.c:202,1
    - Dst: es_write
      Src: /src/gnupg/common/t-exechelp.c:215,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-exechelp.c:218,1
    - Dst: exit
      Src: /src/gnupg/common/t-exechelp.c:219,1
    - Dst: es_fflush
      Src: /src/gnupg/common/t-exechelp.c:222,1
    - Dst: memcpy
      Src: /src/gnupg/common/t-exechelp.c:232,1
    - Dst: es_write
      Src: /src/gnupg/common/t-exechelp.c:234,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-exechelp.c:237,1
    - Dst: exit
      Src: /src/gnupg/common/t-exechelp.c:238,1
    - Dst: es_fclose
      Src: /src/gnupg/common/t-exechelp.c:247,1
    - Dst: exit
      Src: /src/gnupg/common/t-exechelp.c:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 249
    functionName: run_server
    functionSourceFile: /src/gnupg/common/t-exechelp.c
    functionUses: 0
    functionsReached:
    - _get_osfhandle
    - es_fclose
    - exit
    - es_sysopen_nc
    - es_write
    - fprintf
    - es_fflush
    - memcpy
    linkageType: ''
    returnType: void
    signature: void run_server (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/t-exechelp.c:259,1
    - Dst: strcmp
      Src: /src/gnupg/common/t-exechelp.c:264,1
    - Dst: run_server
      Src: /src/gnupg/common/t-exechelp.c:265,1
    - Dst: test_close_all_fds
      Src: /src/gnupg/common/t-exechelp.c:268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 272
    functionName: main
    functionSourceFile: /src/gnupg/common/t-exechelp.c
    functionUses: 6
    functionsReached:
    - strcmp
    - run_server
    - test_close_all_fds
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/common/kem.c:66,1
    - Dst: gpg_error
      Src: /src/gnupg/common/kem.c:67,1
    - Dst: gpg_error
      Src: /src/gnupg/common/kem.c:71,1
    - Dst: memcpy
      Src: /src/gnupg/common/kem.c:121,1
    - Dst: gcry_md_hash_buffers_ext
      Src: /src/gnupg/common/kem.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 59
    argCount: 8
    argNames:
    - digest
    - digestlen
    - key
    - keylen
    - custom
    - customlen
    - data_iov
    - data_iovlen
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 144
    functionName: compute_kmac256
    functionSourceFile: /src/gnupg/common/kem.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - DIM
    - memcpy
    - gcry_md_hash_buffers_ext
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t compute_kmac256 (void *digest, size_t digestlen,\n                 const
      void *key, size_t keylen,\n                 const void *custom, size_t customlen,\n
      \                gcry_buffer_t *data_iov, int data_iovlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_kdf_open
      Src: /src/gnupg/common/kem.c:168,1
    - Dst: gcry_kdf_compute
      Src: /src/gnupg/common/kem.c:173,1
    - Dst: gcry_kdf_final
      Src: /src/gnupg/common/kem.c:174,1
    - Dst: gcry_kdf_close
      Src: /src/gnupg/common/kem.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 8
    argNames:
    - kek
    - kek_len
    - is_pgp
    - hashalgo
    - ecdh
    - ecdh_len
    - kdf_params
    - kdf_params_len
    argTypes:
    - void*
    - size_t
    - int
    - int
    - void*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 179
    functionName: gnupg_ecc_kem_kdf
    functionSourceFile: /src/gnupg/common/kem.c
    functionUses: 1
    functionsReached:
    - gcry_kdf_compute
    - gcry_kdf_close
    - gcry_kdf_open
    - gcry_kdf_final
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gnupg_ecc_kem_kdf (void *kek, size_t kek_len, int is_pgp,\n
      \                  int hashalgo, const void *ecdh, size_t ecdh_len,\n                   const
      unsigned char *kdf_params, size_t kdf_params_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/common/kem.c:195,1
    - Dst: gpg_error
      Src: /src/gnupg/common/kem.c:197,1
    - Dst: memset
      Src: /src/gnupg/common/kem.c:199,1
    - Dst: gcry_md_hash_buffers
      Src: /src/gnupg/common/kem.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 9
    argNames:
    - kek
    - kek_len
    - hashalgo
    - ecdh
    - ecdh_len
    - ecc_ct
    - ecc_ct_len
    - ecc_pk
    - ecc_pk_len
    argTypes:
    - void*
    - size_t
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 210
    functionName: gnupg_ecc_kem_simple_kdf
    functionSourceFile: /src/gnupg/common/kem.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - memset
    - gcry_md_get_algo_dlen
    - gcry_md_hash_buffers
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gnupg_ecc_kem_simple_kdf (void *kek, size_t kek_len,\n
      \                         int hashalgo, const void *ecdh, size_t ecdh_len,\n
      \                         const void *ecc_ct, size_t ecc_ct_len,\n                          const
      void *ecc_pk, size_t ecc_pk_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/common/kem.c:233,1
    - Dst: compute_kmac256
      Src: /src/gnupg/common/kem.c:253,1
    - Dst: strlen
      Src: /src/gnupg/common/kem.c:254,1
    - Dst: strlen
      Src: /src/gnupg/common/kem.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 12
    argNames:
    - kek
    - kek_len
    - ecc_ss
    - ecc_ss_len
    - ecc_ct
    - ecc_ct_len
    - mlkem_ss
    - mlkem_ss_len
    - mlkem_ct
    - mlkem_ct_len
    - fixedinfo
    - fixedinfo_len
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 257
    functionName: gnupg_kem_combiner
    functionSourceFile: /src/gnupg/common/kem.c
    functionUses: 1
    functionsReached:
    - memset
    - compute_kmac256
    - strlen
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gnupg_kem_combiner (void *kek, size_t kek_len,\n                    const
      void *ecc_ss, size_t ecc_ss_len,\n                    const void *ecc_ct, size_t
      ecc_ct_len,\n                    const void *mlkem_ss, size_t mlkem_ss_len,\n
      \                   const void *mlkem_ct, size_t mlkem_ct_len,\n                    const
      void *fixedinfo, size_t fixedinfo_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/common/kem.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - curve
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 334
    functionName: gnupg_get_ecc_params
    functionSourceFile: /src/gnupg/common/kem.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct gnupg_ecc_params
    signature: 'struct gnupg_ecc_params *

      gnupg_get_ecc_params (const char *curve)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: pass
    functionSourceFile: /src/gnupg/common/t-ccparray.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: fail
    functionSourceFile: /src/gnupg/common/t-ccparray.c
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ccparray_init
      Src: /src/gnupg/common/t-ccparray.c:42,1
    - Dst: ccparray_put
      Src: /src/gnupg/common/t-ccparray.c:43,1
    - Dst: ccparray_put
      Src: /src/gnupg/common/t-ccparray.c:44,1
    - Dst: ccparray_put
      Src: /src/gnupg/common/t-ccparray.c:45,1
    - Dst: ccparray_put
      Src: /src/gnupg/common/t-ccparray.c:46,1
    - Dst: ccparray_get
      Src: /src/gnupg/common/t-ccparray.c:47,1
    - Dst: fprintf
      Src: /src/gnupg/common/t-ccparray.c:50,1
    - Dst: strerror
      Src: /src/gnupg/common/t-ccparray.c:50,1
    - Dst: exit
      Src: /src/gnupg/common/t-ccparray.c:51,1
    - Dst: fail
      Src: /src/gnupg/common/t-ccparray.c:55,1
    - Dst: xfree
      Src: /src/gnupg/common/t-ccparray.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 60
    functionName: run_test_1
    functionSourceFile: /src/gnupg/common/t-ccparray.c
    functionUses: 1
    functionsReached:
    - ccparray_get
    - ccparray_put
    - fail
    - exit
    - fprintf
    - ccparray_init
    - xfree
    - strerror
    linkageType: ''
    returnType: void
    signature: void run_test_1 (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ccparray_init
      Src: /src/gnupg/common/t-ccparray.c:70,1
    - Dst: ccparray_put
      Src: /src/gnupg/common/t-ccparray.c:72,1
    - Dst: xfree
      Src: /src/gnupg/common/t-ccparray.c:73,1
    - Dst: ccparray_get
      Src: /src/gnupg/common/t-ccparray.c:73,1
    - Dst: fail
      Src: /src/gnupg/common/t-ccparray.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: run_test_var
    functionSourceFile: /src/gnupg/common/t-ccparray.c
    functionUses: 0
    functionsReached:
    - ccparray_get
    - ccparray_put
    - fail
    - ccparray_init
    - xfree
    linkageType: ''
    returnType: void
    signature: void run_test_var (int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_test_1
      Src: /src/gnupg/common/t-ccparray.c:85,1
    - Dst: run_test_var
      Src: /src/gnupg/common/t-ccparray.c:86,1
    - Dst: run_test_var
      Src: /src/gnupg/common/t-ccparray.c:87,1
    - Dst: run_test_var
      Src: /src/gnupg/common/t-ccparray.c:88,1
    - Dst: run_test_var
      Src: /src/gnupg/common/t-ccparray.c:89,1
    - Dst: run_test_var
      Src: /src/gnupg/common/t-ccparray.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/gnupg/common/t-ccparray.c
    functionUses: 6
    functionsReached:
    - run_test_1
    - run_test_var
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/sm/verify.c:48,1
    - Dst: strcpy
      Src: /src/gnupg/sm/verify.c:51,1
    - Dst: sprintf
      Src: /src/gnupg/sm/verify.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - atime
    argTypes:
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: strtimestamp_r
    functionSourceFile: /src/gnupg/sm/verify.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - sprintf
    - strcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      strtimestamp_r (ksba_isotime_t atime)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_fread
      Src: /src/gnupg/sm/verify.c:69,1
    - Dst: DIM
      Src: /src/gnupg/sm/verify.c:69,1
    - Dst: gcry_md_write
      Src: /src/gnupg/sm/verify.c:70,1
    - Dst: es_ferror
      Src: /src/gnupg/sm/verify.c:73,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/verify.c:75,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:76,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - fp
    - md
    argTypes:
    - estream_t
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 79
    functionName: hash_data
    functionSourceFile: /src/gnupg/sm/verify.c
    functionUses: 2
    functionsReached:
    - gcry_md_write
    - gpg_error_from_syserror
    - log_error
    - DIM
    - es_fread
    - gpg_strerror
    - es_ferror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t hash_data (estream_t fp, gcry_md_hd_t md)
  - BBCount: 79
    BranchProfiles: []
    Callsites:
    - Dst: audit_set_type
      Src: /src/gnupg/sm/verify.c:107,1
    - Dst: keydb_new
      Src: /src/gnupg/sm/verify.c:114,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:117,1
    - Dst: _
      Src: /src/gnupg/sm/verify.c:117,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/verify.c:118,1
    - Dst: gnupg_ksba_create_reader
      Src: /src/gnupg/sm/verify.c:123,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:131,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:131,1
    - Dst: gnupg_ksba_create_writer
      Src: /src/gnupg/sm/verify.c:137,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:143,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:143,1
    - Dst: gnupg_ksba_set_progress_cb
      Src: /src/gnupg/sm/verify.c:148,1
    - Dst: gnupg_ksba_set_total
      Src: /src/gnupg/sm/verify.c:150,1
    - Dst: ksba_cms_new
      Src: /src/gnupg/sm/verify.c:152,1
    - Dst: ksba_cms_set_reader_writer
      Src: /src/gnupg/sm/verify.c:156,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:159,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:160,1
    - Dst: gcry_md_open
      Src: /src/gnupg/sm/verify.c:164,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:167,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:167,1
    - Dst: gcry_md_debug
      Src: /src/gnupg/sm/verify.c:171,1
    - Dst: audit_log
      Src: /src/gnupg/sm/verify.c:173,1
    - Dst: ksba_cms_parse
      Src: /src/gnupg/sm/verify.c:178,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:181,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:181,1
    - Dst: audit_log
      Src: /src/gnupg/sm/verify.c:188,1
    - Dst: log_info
      Src: /src/gnupg/sm/verify.c:190,1
    - Dst: audit_log
      Src: /src/gnupg/sm/verify.c:196,1
    - Dst: ksba_cms_get_digest_algo_list
      Src: /src/gnupg/sm/verify.c:199,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/sm/verify.c:201,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:204,1
    - Dst: strcmp
      Src: /src/gnupg/sm/verify.c:207,1
    - Dst: strcmp
      Src: /src/gnupg/sm/verify.c:208,1
    - Dst: log_info
      Src: /src/gnupg/sm/verify.c:209,1
    - Dst: _
      Src: /src/gnupg/sm/verify.c:209,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/verify.c:210,1
    - Dst: log_debug
      Src: /src/gnupg/sm/verify.c:215,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/sm/verify.c:217,1
    - Dst: audit_log_i
      Src: /src/gnupg/sm/verify.c:218,1
    - Dst: log_debug
      Src: /src/gnupg/sm/verify.c:224,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/sm/verify.c:226,1
    - Dst: audit_log_i
      Src: /src/gnupg/sm/verify.c:227,1
    - Dst: log_info
      Src: /src/gnupg/sm/verify.c:234,1
    - Dst: audit_log
      Src: /src/gnupg/sm/verify.c:236,1
    - Dst: audit_log_ok
      Src: /src/gnupg/sm/verify.c:239,1
    - Dst: hash_data
      Src: /src/gnupg/sm/verify.c:240,1
    - Dst: ksba_cms_set_hash_function
      Src: /src/gnupg/sm/verify.c:244,1
    - Dst: audit_log_ok
      Src: /src/gnupg/sm/verify.c:249,1
    - Dst: gnupg_ksba_finish_writer
      Src: /src/gnupg/sm/verify.c:256,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:259,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:259,1
    - Dst: audit_log_ok
      Src: /src/gnupg/sm/verify.c:260,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:267,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/verify.c:268,1
    - Dst: audit_log
      Src: /src/gnupg/sm/verify.c:269,1
    - Dst: ksba_cms_get_cert
      Src: /src/gnupg/sm/verify.c:273,1
    - Dst: audit_log_cert
      Src: /src/gnupg/sm/verify.c:279,1
    - Dst: keydb_store_cert
      Src: /src/gnupg/sm/verify.c:280,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/verify.c:281,1
    - Dst: ksba_cms_get_issuer_serial
      Src: /src/gnupg/sm/verify.c:304,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/verify.c:305,1
    - Dst: log_info
      Src: /src/gnupg/sm/verify.c:307,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/verify.c:321,1
    - Dst: audit_log_i
      Src: /src/gnupg/sm/verify.c:322,1
    - Dst: log_debug
      Src: /src/gnupg/sm/verify.c:326,1
    - Dst: log_debug
      Src: /src/gnupg/sm/verify.c:328,1
    - Dst: gpgsm_dump_serial
      Src: /src/gnupg/sm/verify.c:329,1
    - Dst: log_printf
      Src: /src/gnupg/sm/verify.c:330,1
    - Dst: gpgsm_format_sn_issuer
      Src: /src/gnupg/sm/verify.c:334,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/verify.c:335,1
    - Dst: xfree
      Src: /src/gnupg/sm/verify.c:336,1
    - Dst: ksba_cms_get_signing_time
      Src: /src/gnupg/sm/verify.c:339,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/verify.c:340,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:344,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:344,1
    - Dst: ksba_cms_get_message_digest
      Src: /src/gnupg/sm/verify.c:348,1
    - Dst: ksba_cms_get_digest_algo
      Src: /src/gnupg/sm/verify.c:352,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/sm/verify.c:353,1
    - Dst: log_debug
      Src: /src/gnupg/sm/verify.c:355,1
    - Dst: gcry_md_is_enabled
      Src: /src/gnupg/sm/verify.c:356,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:358,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/verify.c:360,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/verify.c:364,1
    - Dst: log_assert
      Src: /src/gnupg/sm/verify.c:366,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/verify.c:373,1
    - Dst: ksba_cms_get_sigattr_oids
      Src: /src/gnupg/sm/verify.c:377,1
    - Dst: log_debug
      Src: /src/gnupg/sm/verify.c:384,1
    - Dst: ksba_cms_get_content_oid
      Src: /src/gnupg/sm/verify.c:387,1
    - Dst: strcmp
      Src: /src/gnupg/sm/verify.c:388,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:390,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/verify.c:392,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/verify.c:394,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/verify.c:397,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:402,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:403,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/verify.c:404,1
    - Dst: gpgsm_ksba_cms_get_sig_val
      Src: /src/gnupg/sm/verify.c:410,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:413,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/verify.c:414,1
    - Dst: gpgsm_get_hash_algo_from_sigval
      Src: /src/gnupg/sm/verify.c:418,1
    - Dst: log_debug
      Src: /src/gnupg/sm/verify.c:421,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/sm/verify.c:428,1
    - Dst: keydb_search_issuer_sn
      Src: /src/gnupg/sm/verify.c:429,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/verify.c:432,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:434,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/verify.c:435,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:438,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:439,1
    - Dst: sprintf
      Src: /src/gnupg/sm/verify.c:444,1
    - Dst: gpgsm_format_sn_issuer
      Src: /src/gnupg/sm/verify.c:445,1
    - Dst: percent_plus_escape
      Src: /src/gnupg/sm/verify.c:446,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/verify.c:447,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/verify.c:448,1
    - Dst: xfree
      Src: /src/gnupg/sm/verify.c:450,1
    - Dst: xfree
      Src: /src/gnupg/sm/verify.c:451,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/verify.c:453,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/verify.c:457,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:460,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:460,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/verify.c:461,1
    - Dst: gpgsm_get_fingerprint_hexstring
      Src: /src/gnupg/sm/verify.c:465,1
    - Dst: gpgsm_pubkey_algo_string
      Src: /src/gnupg/sm/verify.c:466,1
    - Dst: gpgsm_get_key_algo_info
      Src: /src/gnupg/sm/verify.c:467,1
    - Dst: log_info
      Src: /src/gnupg/sm/verify.c:474,1
    - Dst: _
      Src: /src/gnupg/sm/verify.c:474,1
    - Dst: dump_isotime
      Src: /src/gnupg/sm/verify.c:482,1
    - Dst: log_printf
      Src: /src/gnupg/sm/verify.c:483,1
    - Dst: log_printf
      Src: /src/gnupg/sm/verify.c:486,1
    - Dst: _
      Src: /src/gnupg/sm/verify.c:486,1
    - Dst: log_info
      Src: /src/gnupg/sm/verify.c:487,1
    - Dst: _
      Src: /src/gnupg/sm/verify.c:487,1
    - Dst: log_info
      Src: /src/gnupg/sm/verify.c:490,1
    - Dst: _
      Src: /src/gnupg/sm/verify.c:490,1
    - Dst: log_printf
      Src: /src/gnupg/sm/verify.c:491,1
    - Dst: pubkey_algo_to_string
      Src: /src/gnupg/sm/verify.c:492,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/sm/verify.c:493,1
    - Dst: log_printf
      Src: /src/gnupg/sm/verify.c:495,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/sm/verify.c:495,1
    - Dst: log_printf
      Src: /src/gnupg/sm/verify.c:496,1
    - Dst: audit_log_i
      Src: /src/gnupg/sm/verify.c:499,1
    - Dst: gnupg_pk_is_allowed
      Src: /src/gnupg/sm/verify.c:503,1
    - Dst: snprintf
      Src: /src/gnupg/sm/verify.c:508,1
    - Dst: gpgsm_get_short_fingerprint
      Src: /src/gnupg/sm/verify.c:509,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:510,1
    - Dst: _
      Src: /src/gnupg/sm/verify.c:510,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/sm/verify.c:512,1
    - Dst: gnupg_digest_is_allowed
      Src: /src/gnupg/sm/verify.c:516,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:518,1
    - Dst: _
      Src: /src/gnupg/sm/verify.c:518,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/sm/verify.c:519,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/sm/verify.c:520,1
    - Dst: gnupg_pk_is_compliant
      Src: /src/gnupg/sm/verify.c:526,1
    - Dst: log_info
      Src: /src/gnupg/sm/verify.c:529,1
    - Dst: _
      Src: /src/gnupg/sm/verify.c:529,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/sm/verify.c:531,1
    - Dst: gcry_md_read
      Src: /src/gnupg/sm/verify.c:542,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/sm/verify.c:544,1
    - Dst: memcmp
      Src: /src/gnupg/sm/verify.c:545,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:549,1
    - Dst: _
      Src: /src/gnupg/sm/verify.c:549,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/verify.c:554,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/verify.c:556,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/sm/verify.c:556,1
    - Dst: gpgsm_fpr_and_name_for_status
      Src: /src/gnupg/sm/verify.c:559,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/verify.c:560,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/verify.c:561,1
    - Dst: xfree
      Src: /src/gnupg/sm/verify.c:562,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/verify.c:563,1
    - Dst: audit_log_i
      Src: /src/gnupg/sm/verify.c:567,1
    - Dst: gcry_md_open
      Src: /src/gnupg/sm/verify.c:568,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:571,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:571,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/verify.c:572,1
    - Dst: gcry_md_debug
      Src: /src/gnupg/sm/verify.c:576,1
    - Dst: ksba_cms_set_hash_function
      Src: /src/gnupg/sm/verify.c:578,1
    - Dst: ksba_cms_hash_signed_attrs
      Src: /src/gnupg/sm/verify.c:579,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:582,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:583,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/verify.c:584,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/verify.c:585,1
    - Dst: gpgsm_check_cms_signature
      Src: /src/gnupg/sm/verify.c:588,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/verify.c:590,1
    - Dst: gpgsm_check_cms_signature
      Src: /src/gnupg/sm/verify.c:594,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:602,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:602,1
    - Dst: gpgsm_fpr_and_name_for_status
      Src: /src/gnupg/sm/verify.c:603,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/verify.c:604,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/verify.c:605,1
    - Dst: xfree
      Src: /src/gnupg/sm/verify.c:606,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/verify.c:607,1
    - Dst: gpgsm_cert_use_verify_p
      Src: /src/gnupg/sm/verify.c:610,1
    - Dst: gpgsm_status_with_err_code
      Src: /src/gnupg/sm/verify.c:613,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/verify.c:614,1
    - Dst: log_debug
      Src: /src/gnupg/sm/verify.c:619,1
    - Dst: audit_log
      Src: /src/gnupg/sm/verify.c:620,1
    - Dst: gpgsm_validate_chain
      Src: /src/gnupg/sm/verify.c:621,1
    - Dst: gpgsm_fpr_and_name_for_status
      Src: /src/gnupg/sm/verify.c:629,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/verify.c:630,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/verify.c:632,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/verify.c:636,1
    - Dst: xfree
      Src: /src/gnupg/sm/verify.c:638,1
    - Dst: gpgsm_get_fingerprint_hexstring
      Src: /src/gnupg/sm/verify.c:645,1
    - Dst: strtimestamp_r
      Src: /src/gnupg/sm/verify.c:646,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/verify.c:647,1
    - Dst: xfree
      Src: /src/gnupg/sm/verify.c:651,1
    - Dst: check_assert_signer_list
      Src: /src/gnupg/sm/verify.c:653,1
    - Dst: xfree
      Src: /src/gnupg/sm/verify.c:654,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/verify.c:656,1
    - Dst: xfree
      Src: /src/gnupg/sm/verify.c:657,1
    - Dst: audit_log_ok
      Src: /src/gnupg/sm/verify.c:660,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:663,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:663,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/verify.c:664,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/verify.c:665,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/verify.c:666,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/verify.c:667,1
    - Dst: gpgsm_status_with_err_code
      Src: /src/gnupg/sm/verify.c:668,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/verify.c:669,1
    - Dst: gpgsm_status_with_err_code
      Src: /src/gnupg/sm/verify.c:671,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/verify.c:672,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/verify.c:673,1
    - Dst: ksba_cert_get_user_data
      Src: /src/gnupg/sm/verify.c:682,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:694,1
    - Dst: gnupg_pk_is_compliant
      Src: /src/gnupg/sm/verify.c:701,1
    - Dst: gnupg_gcrypt_is_compliant
      Src: /src/gnupg/sm/verify.c:703,1
    - Dst: gnupg_digest_is_compliant
      Src: /src/gnupg/sm/verify.c:704,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/verify.c:705,1
    - Dst: gnupg_status_compliance_flag
      Src: /src/gnupg/sm/verify.c:706,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:710,1
    - Dst: _
      Src: /src/gnupg/sm/verify.c:710,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/verify.c:716,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/verify.c:718,1
    - Dst: log_info
      Src: /src/gnupg/sm/verify.c:720,1
    - Dst: _
      Src: /src/gnupg/sm/verify.c:720,1
    - Dst: _
      Src: /src/gnupg/sm/verify.c:721,1
    - Dst: log_printf
      Src: /src/gnupg/sm/verify.c:722,1
    - Dst: gpgsm_es_print_name
      Src: /src/gnupg/sm/verify.c:723,1
    - Dst: log_get_stream
      Src: /src/gnupg/sm/verify.c:723,1
    - Dst: log_printf
      Src: /src/gnupg/sm/verify.c:724,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/verify.c:725,1
    - Dst: ksba_cert_get_user_data
      Src: /src/gnupg/sm/verify.c:734,1
    - Dst: log_info
      Src: /src/gnupg/sm/verify.c:740,1
    - Dst: _
      Src: /src/gnupg/sm/verify.c:740,1
    - Dst: log_info
      Src: /src/gnupg/sm/verify.c:742,1
    - Dst: _
      Src: /src/gnupg/sm/verify.c:743,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/verify.c:747,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:748,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:749,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/verify.c:756,1
    - Dst: xfree
      Src: /src/gnupg/sm/verify.c:764,1
    - Dst: xfree
      Src: /src/gnupg/sm/verify.c:765,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/verify.c:766,1
    - Dst: xfree
      Src: /src/gnupg/sm/verify.c:767,1
    - Dst: xfree
      Src: /src/gnupg/sm/verify.c:768,1
    - Dst: xfree
      Src: /src/gnupg/sm/verify.c:769,1
    - Dst: xfree
      Src: /src/gnupg/sm/verify.c:770,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/verify.c:771,1
    - Dst: ksba_cms_release
      Src: /src/gnupg/sm/verify.c:777,1
    - Dst: gnupg_ksba_destroy_reader
      Src: /src/gnupg/sm/verify.c:778,1
    - Dst: gnupg_ksba_destroy_writer
      Src: /src/gnupg/sm/verify.c:779,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/verify.c:780,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/verify.c:781,1
    - Dst: sprintf
      Src: /src/gnupg/sm/verify.c:786,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/verify.c:787,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/verify.c:789,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/verify.c:791,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 425
    argCount: 4
    argNames:
    - ctrl
    - in_fp
    - data_fp
    - out_fp
    argTypes:
    - ctrl_t
    - estream_t
    - estream_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 87
    functionDepth: 6
    functionLinenumber: 87
    functionLinenumberEnd: 797
    functionName: gpgsm_verify
    functionSourceFile: /src/gnupg/sm/verify.c
    functionUses: 0
    functionsReached:
    - gpgsm_get_key_algo_info
    - audit_log_ok
    - check_assert_signer_list
    - audit_log_cert
    - keydb_search_issuer_sn
    - gcry_md_close
    - gpgsm_fpr_and_name_for_status
    - gpgsm_check_cms_signature
    - gpgsm_validate_chain
    - gpgsm_get_fingerprint_hexstring
    - keydb_store_cert
    - ksba_cert_release
    - gcry_md_open
    - ksba_cms_set_reader_writer
    - sprintf
    - xfree
    - gpgsm_es_print_name
    - gcry_md_enable
    - ksba_cms_set_hash_function
    - gpgsm_status2
    - gpgsm_status
    - ksba_free
    - keydb_search_reset
    - strtimestamp_r
    - ksba_cms_hash_signed_attrs
    - gcry_md_is_enabled
    - gnupg_digest_is_allowed
    - gpgsm_format_sn_issuer
    - keydb_new
    - ksba_cms_get_content_oid
    - log_error
    - ksba_cms_get_issuer_serial
    - gnupg_digest_is_compliant
    - dump_isotime
    - gcry_sexp_release
    - ksba_cms_get_signing_time
    - gcry_md_read
    - gnupg_pk_is_allowed
    - gnupg_compliance_option_string
    - gnupg_pk_is_compliant
    - ksba_cms_new
    - audit_set_type
    - ksba_cms_parse
    - gcry_md_get_algo_dlen
    - gnupg_gcrypt_is_compliant
    - keydb_release
    - gnupg_ksba_create_writer
    - gnupg_ksba_destroy_writer
    - log_assert
    - percent_plus_escape
    - audit_log_i
    - ksba_cms_get_digest_algo
    - ksba_cms_get_sigattr_oids
    - log_get_stream
    - gpgsm_dump_serial
    - audit_log
    - pubkey_algo_to_string
    - ksba_cms_get_digest_algo_list
    - keydb_get_cert
    - gcry_md_debug
    - gpgsm_pubkey_algo_string
    - ksba_cms_release
    - ksba_cms_get_message_digest
    - gnupg_ksba_set_total
    - gnupg_ksba_create_reader
    - gnupg_ksba_set_progress_cb
    - hash_data
    - gnupg_ksba_finish_writer
    - audit_log_s
    - gnupg_ksba_destroy_reader
    - log_printhex
    - gcry_md_algo_name
    - ksba_cert_get_subject
    - _
    - log_info
    - gpgsm_get_hash_algo_from_sigval
    - ksba_cert_get_user_data
    - log_printf
    - log_debug
    - ksba_cms_get_cert
    - gpgsm_cert_use_verify_p
    - gnupg_status_compliance_flag
    - gpgsm_get_short_fingerprint
    - gpgsm_status_with_err_code
    - strcmp
    - gpg_error
    - gpg_strerror
    - gcry_md_map_name
    - snprintf
    - memcmp
    - gpg_err_code
    - gpgsm_ksba_cms_get_sig_val
    - xasprintf
    linkageType: ''
    returnType: int
    signature: "int gpgsm_verify (ctrl_t ctrl, estream_t in_fp, estream_t data_fp,\n
      \             estream_t out_fp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/sm/verify.c:808,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 814
    functionName: is_x509_fingerprint
    functionSourceFile: /src/gnupg/sm/verify.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    linkageType: ''
    returnType: int
    signature: int is_x509_fingerprint (const char *string)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: is_x509_fingerprint
      Src: /src/gnupg/sm/verify.c:845,1
    - Dst: ascii_strupr
      Src: /src/gnupg/sm/verify.c:847,1
    - Dst: strcmp
      Src: /src/gnupg/sm/verify.c:848,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/verify.c:851,1
    - Dst: log_info
      Src: /src/gnupg/sm/verify.c:853,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/verify.c:860,1
    - Dst: es_fopen
      Src: /src/gnupg/sm/verify.c:861,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/verify.c:864,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:865,1
    - Dst: _
      Src: /src/gnupg/sm/verify.c:865,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:866,1
    - Dst: es_fgets
      Src: /src/gnupg/sm/verify.c:872,1
    - Dst: DIM
      Src: /src/gnupg/sm/verify.c:872,1
    - Dst: strlen
      Src: /src/gnupg/sm/verify.c:876,1
    - Dst: es_getc
      Src: /src/gnupg/sm/verify.c:880,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/verify.c:882,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:883,1
    - Dst: _
      Src: /src/gnupg/sm/verify.c:883,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:884,1
    - Dst: spacep
      Src: /src/gnupg/sm/verify.c:892,1
    - Dst: spacep
      Src: /src/gnupg/sm/verify.c:898,1
    - Dst: ascii_strupr
      Src: /src/gnupg/sm/verify.c:901,1
    - Dst: strcmp
      Src: /src/gnupg/sm/verify.c:903,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/verify.c:906,1
    - Dst: log_info
      Src: /src/gnupg/sm/verify.c:908,1
    - Dst: es_feof
      Src: /src/gnupg/sm/verify.c:913,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/verify.c:915,1
    - Dst: log_error
      Src: /src/gnupg/sm/verify.c:916,1
    - Dst: _
      Src: /src/gnupg/sm/verify.c:916,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/verify.c:917,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/verify.c:923,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 66
    argCount: 2
    argNames:
    - ctrl
    - pkhex
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 924
    functionName: check_assert_signer_list
    functionSourceFile: /src/gnupg/sm/verify.c
    functionUses: 2
    functionsReached:
    - is_x509_fingerprint
    - gpg_error_from_syserror
    - log_error
    - es_fclose
    - es_fgets
    - DIM
    - strlen
    - spacep
    - _
    - strcmp
    - es_feof
    - gpg_error
    - log_info
    - es_fopen
    - gpg_strerror
    - es_getc
    - gpgsm_status
    - ascii_strupr
    linkageType: ''
    returnType: void
    signature: void check_assert_signer_list (ctrl_t ctrl, const char *pkhex)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: classify_user_id
      Src: /src/gnupg/sm/delete.c:47,1
    - Dst: log_error
      Src: /src/gnupg/sm/delete.c:50,1
    - Dst: _
      Src: /src/gnupg/sm/delete.c:50,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/delete.c:51,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/delete.c:52,1
    - Dst: keydb_new
      Src: /src/gnupg/sm/delete.c:56,1
    - Dst: log_error
      Src: /src/gnupg/sm/delete.c:59,1
    - Dst: keydb_lock
      Src: /src/gnupg/sm/delete.c:64,1
    - Dst: log_error
      Src: /src/gnupg/sm/delete.c:67,1
    - Dst: _
      Src: /src/gnupg/sm/delete.c:67,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/delete.c:67,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/delete.c:77,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/delete.c:80,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/delete.c:82,1
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/delete.c:87,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/delete.c:90,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/delete.c:91,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/delete.c:100,1
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/delete.c:102,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/delete.c:103,1
    - Dst: memcmp
      Src: /src/gnupg/sm/delete.c:104,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/delete.c:110,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/delete.c:115,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/delete.c:116,1
    - Dst: log_error
      Src: /src/gnupg/sm/delete.c:117,1
    - Dst: _
      Src: /src/gnupg/sm/delete.c:117,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/delete.c:118,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/delete.c:119,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/sm/delete.c:126,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/delete.c:127,1
    - Dst: log_error
      Src: /src/gnupg/sm/delete.c:130,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/delete.c:131,1
    - Dst: keydb_delete
      Src: /src/gnupg/sm/delete.c:135,1
    - Dst: log_info
      Src: /src/gnupg/sm/delete.c:141,1
    - Dst: _
      Src: /src/gnupg/sm/delete.c:141,1
    - Dst: log_info
      Src: /src/gnupg/sm/delete.c:143,1
    - Dst: _
      Src: /src/gnupg/sm/delete.c:143,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/delete.c:149,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/delete.c:150,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 78
    argCount: 2
    argNames:
    - ctrl
    - username
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 152
    functionName: delete_one
    functionSourceFile: /src/gnupg/sm/delete.c
    functionUses: 0
    functionsReached:
    - keydb_search_reset
    - keydb_new
    - log_error
    - _
    - log_info
    - keydb_get_cert
    - ksba_cert_release
    - keydb_search
    - gpg_error
    - gpg_strerror
    - keydb_set_ephemeral
    - keydb_delete
    - classify_user_id
    - gpg_err_code
    - memcmp
    - gpgsm_status2
    - keydb_release
    - keydb_lock
    - gpgsm_get_fingerprint
    linkageType: ''
    returnType: int
    signature: int delete_one (ctrl_t ctrl, const char *username)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/sm/delete.c:164,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/delete.c:165,1
    - Dst: delete_one
      Src: /src/gnupg/sm/delete.c:170,1
    - Dst: log_error
      Src: /src/gnupg/sm/delete.c:173,1
    - Dst: _
      Src: /src/gnupg/sm/delete.c:173,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/delete.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ctrl
    - names
    argTypes:
    - ctrl_t
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 180
    functionName: gpgsm_delete
    functionSourceFile: /src/gnupg/sm/delete.c
    functionUses: 0
    functionsReached:
    - log_error
    - delete_one
    - _
    - gpg_error
    - gpg_strerror
    linkageType: ''
    returnType: int
    signature: int gpgsm_delete (ctrl_t ctrl, strlist_t names)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: trim_spaces
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: trim_spaces(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: my_isascii
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_isascii(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/gnupg/sm/t-minip12.c:62,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:63,1
    - Dst: va_start
      Src: /src/gnupg/sm/t-minip12.c:65,1
    - Dst: vfprintf
      Src: /src/gnupg/sm/t-minip12.c:66,1
    - Dst: va_end
      Src: /src/gnupg/sm/t-minip12.c:67,1
    - Dst: strlen
      Src: /src/gnupg/sm/t-minip12.c:68,1
    - Dst: putc
      Src: /src/gnupg/sm/t-minip12.c:69,1
    - Dst: exit
      Src: /src/gnupg/sm/t-minip12.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: die
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 24
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - exit
    - fprintf
    - fflush
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void die (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/gnupg/sm/t-minip12.c:83,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:84,1
    - Dst: va_start
      Src: /src/gnupg/sm/t-minip12.c:86,1
    - Dst: vfprintf
      Src: /src/gnupg/sm/t-minip12.c:87,1
    - Dst: va_end
      Src: /src/gnupg/sm/t-minip12.c:88,1
    - Dst: strlen
      Src: /src/gnupg/sm/t-minip12.c:89,1
    - Dst: putc
      Src: /src/gnupg/sm/t-minip12.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: err
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 19
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - fprintf
    - fflush
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void err (const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:102,1
    - Dst: va_start
      Src: /src/gnupg/sm/t-minip12.c:104,1
    - Dst: vfprintf
      Src: /src/gnupg/sm/t-minip12.c:105,1
    - Dst: va_end
      Src: /src/gnupg/sm/t-minip12.c:106,1
    - Dst: strlen
      Src: /src/gnupg/sm/t-minip12.c:107,1
    - Dst: putc
      Src: /src/gnupg/sm/t-minip12.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 110
    functionName: inf
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 4
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - fprintf
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void inf (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/gnupg/sm/t-minip12.c:138,1
    - Dst: flockfile
      Src: /src/gnupg/sm/t-minip12.c:140,1
    - Dst: va_start
      Src: /src/gnupg/sm/t-minip12.c:142,1
    - Dst: vfprintf
      Src: /src/gnupg/sm/t-minip12.c:143,1
    - Dst: strlen
      Src: /src/gnupg/sm/t-minip12.c:144,1
    - Dst: putc
      Src: /src/gnupg/sm/t-minip12.c:145,1
    - Dst: va_end
      Src: /src/gnupg/sm/t-minip12.c:146,1
    - Dst: fflush
      Src: /src/gnupg/sm/t-minip12.c:147,1
    - Dst: funlockfile
      Src: /src/gnupg/sm/t-minip12.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 151
    functionName: printresult
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 0
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - flockfile
    - fflush
    - funlockfile
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void printresult (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/sm/t-minip12.c:165,1
    - Dst: va_arg
      Src: /src/gnupg/sm/t-minip12.c:166,1
    - Dst: strlen
      Src: /src/gnupg/sm/t-minip12.c:168,1
    - Dst: DIM
      Src: /src/gnupg/sm/t-minip12.c:169,1
    - Dst: die
      Src: /src/gnupg/sm/t-minip12.c:170,1
    - Dst: xmalloc
      Src: /src/gnupg/sm/t-minip12.c:174,1
    - Dst: malloc
      Src: /src/gnupg/sm/t-minip12.c:174,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/t-minip12.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - xmode
    - s1
    - arg_ptr
    argTypes:
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 179
    functionName: do_strconcat
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 1
    functionsReached:
    - strlen
    - DIM
    - xmalloc
    - malloc
    - va_arg
    - die
    - stpcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      do_strconcat (int xmode, const char *s1, va_list arg_ptr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnupg/sm/t-minip12.c:191,1
    - Dst: va_start
      Src: /src/gnupg/sm/t-minip12.c:194,1
    - Dst: do_strconcat
      Src: /src/gnupg/sm/t-minip12.c:195,1
    - Dst: va_end
      Src: /src/gnupg/sm/t-minip12.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s1
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 199
    functionName: my_xstrconcat
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 0
    functionsReached:
    - va_end
    - do_strconcat
    - va_start
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      my_xstrconcat (const char *s1, ...)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/gnupg/sm/t-minip12.c:208,1
    - Dst: isspace
      Src: /src/gnupg/sm/t-minip12.c:211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 222
    functionName: my_trim_spaces
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 0
    functionsReached:
    - isspace
    linkageType: ''
    returnType: char
    signature: 'char *

      my_trim_spaces (char *str )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/sm/t-minip12.c:232,1
    - Dst: xstrdup
      Src: /src/gnupg/sm/t-minip12.c:233,1
    - Dst: xstrconcat
      Src: /src/gnupg/sm/t-minip12.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 236
    functionName: prepend_srcdir
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 3
    functionsReached:
    - xstrconcat
    - getenv
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      prepend_srcdir (const char *fname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/sm/t-minip12.c:247,1
    - Dst: xmalloc
      Src: /src/gnupg/sm/t-minip12.c:248,1
    - Dst: snprintf
      Src: /src/gnupg/sm/t-minip12.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - buflen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 252
    functionName: hash_buffer
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 17
    functionsReached:
    - xmalloc
    - snprintf
    - gcry_md_hash_buffer
    linkageType: ''
    returnType: char
    signature: 'char *

      hash_buffer (const void *buffer, size_t buflen)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/gnupg/sm/t-minip12.c:265,1
    - Dst: feof
      Src: /src/gnupg/sm/t-minip12.c:267,1
    - Dst: die
      Src: /src/gnupg/sm/t-minip12.c:269,1
    - Dst: strerror
      Src: /src/gnupg/sm/t-minip12.c:269,1
    - Dst: strchr
      Src: /src/gnupg/sm/t-minip12.c:272,1
    - Dst: die
      Src: /src/gnupg/sm/t-minip12.c:274,1
    - Dst: my_isascii
      Src: /src/gnupg/sm/t-minip12.c:276,1
    - Dst: isspace
      Src: /src/gnupg/sm/t-minip12.c:276,1
    - Dst: xstrdup
      Src: /src/gnupg/sm/t-minip12.c:280,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - fp
    - lineno
    argTypes:
    - FILE*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 281
    functionName: read_textline
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 0
    functionsReached:
    - my_isascii
    - feof
    - strchr
    - isspace
    - xstrdup
    - die
    - fgets
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      read_textline (FILE *fp, int *lineno)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:291,1
    - Dst: strchr
      Src: /src/gnupg/sm/t-minip12.c:294,1
    - Dst: err
      Src: /src/gnupg/sm/t-minip12.c:297,1
    - Dst: my_isascii
      Src: /src/gnupg/sm/t-minip12.c:300,1
    - Dst: isspace
      Src: /src/gnupg/sm/t-minip12.c:300,1
    - Dst: xstrdup
      Src: /src/gnupg/sm/t-minip12.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buffer
    - line
    - lineno
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 303
    functionName: copy_data
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 0
    functionsReached:
    - my_isascii
    - strchr
    - xfree
    - isspace
    - xstrdup
    - err
    linkageType: ''
    returnType: void
    signature: void copy_data (char **buffer, const char *line, int lineno)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: my_isascii
      Src: /src/gnupg/sm/t-minip12.c:313,1
    - Dst: tolower
      Src: /src/gnupg/sm/t-minip12.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 315
    functionName: hexdowncase
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 0
    functionsReached:
    - tolower
    - my_isascii
    linkageType: ''
    returnType: void
    signature: void hexdowncase (char *string)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/sm/t-minip12.c:330,1
    - Dst: xstrconcat
      Src: /src/gnupg/sm/t-minip12.c:332,1
    - Dst: fopen
      Src: /src/gnupg/sm/t-minip12.c:333,1
    - Dst: read_textline
      Src: /src/gnupg/sm/t-minip12.c:337,1
    - Dst: strchr
      Src: /src/gnupg/sm/t-minip12.c:339,1
    - Dst: trim_spaces
      Src: /src/gnupg/sm/t-minip12.c:343,1
    - Dst: strcmp
      Src: /src/gnupg/sm/t-minip12.c:344,1
    - Dst: trim_spaces
      Src: /src/gnupg/sm/t-minip12.c:346,1
    - Dst: memmove
      Src: /src/gnupg/sm/t-minip12.c:349,1
    - Dst: strlen
      Src: /src/gnupg/sm/t-minip12.c:349,1
    - Dst: xstrconcat
      Src: /src/gnupg/sm/t-minip12.c:352,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:353,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:360,1
    - Dst: fclose
      Src: /src/gnupg/sm/t-minip12.c:365,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:366,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - varname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 368
    functionName: value_from_gnupg_autogen_rc
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 0
    functionsReached:
    - memmove
    - strlen
    - xstrconcat
    - fclose
    - getenv
    - read_textline
    - trim_spaces
    - strcmp
    - strchr
    - xfree
    - fopen
    linkageType: ''
    returnType: char
    signature: 'char *

      value_from_gnupg_autogen_rc (const char *varname)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/sm/t-minip12.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - opaque
    - cert
    - certlen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: cert_cb
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 0
    functionsReached:
    - log_info
    linkageType: ''
    returnType: void
    signature: void cert_cb (void *opaque, const unsigned char *cert, size_t certlen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnupg/sm/t-minip12.c:394,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:397,1
    - Dst: strerror
      Src: /src/gnupg/sm/t-minip12.c:397,1
    - Dst: fstat
      Src: /src/gnupg/sm/t-minip12.c:401,1
    - Dst: fileno
      Src: /src/gnupg/sm/t-minip12.c:401,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:403,1
    - Dst: strerror
      Src: /src/gnupg/sm/t-minip12.c:403,1
    - Dst: xmalloc
      Src: /src/gnupg/sm/t-minip12.c:408,1
    - Dst: fread
      Src: /src/gnupg/sm/t-minip12.c:409,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:411,1
    - Dst: strerror
      Src: /src/gnupg/sm/t-minip12.c:411,1
    - Dst: fclose
      Src: /src/gnupg/sm/t-minip12.c:414,1
    - Dst: p12_parse
      Src: /src/gnupg/sm/t-minip12.c:416,1
    - Dst: log_info
      Src: /src/gnupg/sm/t-minip12.c:423,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/sm/t-minip12.c:426,1
    - Dst: log_error
      Src: /src/gnupg/sm/t-minip12.c:428,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/t-minip12.c:429,1
    - Dst: log_info
      Src: /src/gnupg/sm/t-minip12.c:432,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/t-minip12.c:433,1
    - Dst: p12_parse_free_kparms
      Src: /src/gnupg/sm/t-minip12.c:436,1
    - Dst: log_error
      Src: /src/gnupg/sm/t-minip12.c:439,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:441,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - name
    - pass
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 443
    functionName: one_file
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 2
    functionsReached:
    - gcry_free
    - p12_parse
    - log_error
    - fclose
    - fileno
    - fprintf
    - fstat
    - xmalloc
    - gcry_mpi_aprint
    - log_info
    - fopen
    - gpg_strerror
    - xfree
    - p12_parse_free_kparms
    - fread
    - strerror
    linkageType: ''
    returnType: int
    signature: int one_file (const char *name, const char *pass)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_buffer
      Src: /src/gnupg/sm/t-minip12.c:452,1
    - Dst: xstrconcat
      Src: /src/gnupg/sm/t-minip12.c:456,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:457,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - opaque
    - cert
    - certlen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 462
    functionName: cert_collect_cb
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 0
    functionsReached:
    - xstrconcat
    - hash_buffer
    - xfree
    linkageType: ''
    returnType: void
    signature: void cert_collect_cb (void *opaque, const unsigned char *cert, size_t
      certlen)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: inf
      Src: /src/gnupg/sm/t-minip12.c:481,1
    - Dst: fopen
      Src: /src/gnupg/sm/t-minip12.c:482,1
    - Dst: err
      Src: /src/gnupg/sm/t-minip12.c:485,1
    - Dst: strerror
      Src: /src/gnupg/sm/t-minip12.c:485,1
    - Dst: printresult
      Src: /src/gnupg/sm/t-minip12.c:486,1
    - Dst: fstat
      Src: /src/gnupg/sm/t-minip12.c:490,1
    - Dst: fileno
      Src: /src/gnupg/sm/t-minip12.c:490,1
    - Dst: err
      Src: /src/gnupg/sm/t-minip12.c:492,1
    - Dst: strerror
      Src: /src/gnupg/sm/t-minip12.c:492,1
    - Dst: printresult
      Src: /src/gnupg/sm/t-minip12.c:493,1
    - Dst: fclose
      Src: /src/gnupg/sm/t-minip12.c:494,1
    - Dst: xmalloc
      Src: /src/gnupg/sm/t-minip12.c:499,1
    - Dst: fread
      Src: /src/gnupg/sm/t-minip12.c:500,1
    - Dst: err
      Src: /src/gnupg/sm/t-minip12.c:502,1
    - Dst: strerror
      Src: /src/gnupg/sm/t-minip12.c:502,1
    - Dst: printresult
      Src: /src/gnupg/sm/t-minip12.c:503,1
    - Dst: fclose
      Src: /src/gnupg/sm/t-minip12.c:504,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:505,1
    - Dst: fclose
      Src: /src/gnupg/sm/t-minip12.c:508,1
    - Dst: p12_parse
      Src: /src/gnupg/sm/t-minip12.c:510,1
    - Dst: inf
      Src: /src/gnupg/sm/t-minip12.c:522,1
    - Dst: xstrconcat
      Src: /src/gnupg/sm/t-minip12.c:523,1
    - Dst: xstrdup
      Src: /src/gnupg/sm/t-minip12.c:526,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/sm/t-minip12.c:529,1
    - Dst: die
      Src: /src/gnupg/sm/t-minip12.c:531,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/t-minip12.c:532,1
    - Dst: inf
      Src: /src/gnupg/sm/t-minip12.c:536,1
    - Dst: snprintf
      Src: /src/gnupg/sm/t-minip12.c:537,1
    - Dst: xstrconcat
      Src: /src/gnupg/sm/t-minip12.c:538,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:539,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/t-minip12.c:541,1
    - Dst: hash_buffer
      Src: /src/gnupg/sm/t-minip12.c:545,1
    - Dst: strlen
      Src: /src/gnupg/sm/t-minip12.c:545,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:546,1
    - Dst: inf
      Src: /src/gnupg/sm/t-minip12.c:551,1
    - Dst: inf
      Src: /src/gnupg/sm/t-minip12.c:552,1
    - Dst: inf
      Src: /src/gnupg/sm/t-minip12.c:553,1
    - Dst: inf
      Src: /src/gnupg/sm/t-minip12.c:554,1
    - Dst: printresult
      Src: /src/gnupg/sm/t-minip12.c:559,1
    - Dst: printresult
      Src: /src/gnupg/sm/t-minip12.c:561,1
    - Dst: printresult
      Src: /src/gnupg/sm/t-minip12.c:563,1
    - Dst: strcmp
      Src: /src/gnupg/sm/t-minip12.c:564,1
    - Dst: printresult
      Src: /src/gnupg/sm/t-minip12.c:566,1
    - Dst: inf
      Src: /src/gnupg/sm/t-minip12.c:567,1
    - Dst: inf
      Src: /src/gnupg/sm/t-minip12.c:568,1
    - Dst: printresult
      Src: /src/gnupg/sm/t-minip12.c:571,1
    - Dst: printresult
      Src: /src/gnupg/sm/t-minip12.c:573,1
    - Dst: strcmp
      Src: /src/gnupg/sm/t-minip12.c:574,1
    - Dst: printresult
      Src: /src/gnupg/sm/t-minip12.c:576,1
    - Dst: inf
      Src: /src/gnupg/sm/t-minip12.c:577,1
    - Dst: inf
      Src: /src/gnupg/sm/t-minip12.c:578,1
    - Dst: printresult
      Src: /src/gnupg/sm/t-minip12.c:582,1
    - Dst: p12_parse_free_kparms
      Src: /src/gnupg/sm/t-minip12.c:586,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:587,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:588,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:589,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:590,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 84
    argCount: 5
    argNames:
    - name
    - desc
    - pass
    - certexpected
    - keyexpected
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 592
    functionName: run_one_test
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 0
    functionsReached:
    - strlen
    - fstat
    - gcry_mpi_aprint
    - xmalloc
    - xstrdup
    - err
    - p12_parse
    - die
    - fread
    - hash_buffer
    - fileno
    - strcmp
    - xfree
    - fopen
    - gpg_strerror
    - p12_parse_free_kparms
    - gcry_free
    - xstrconcat
    - fclose
    - snprintf
    - printresult
    - inf
    - strerror
    linkageType: ''
    returnType: int
    signature: "int run_one_test (const char *name, const char *desc, const char *pass,\n
      \             const char *certexpected, const char *keyexpected)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: inf
      Src: /src/gnupg/sm/t-minip12.c:611,1
    - Dst: xstrdup
      Src: /src/gnupg/sm/t-minip12.c:612,1
    - Dst: strrchr
      Src: /src/gnupg/sm/t-minip12.c:613,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:618,1
    - Dst: xstrdup
      Src: /src/gnupg/sm/t-minip12.c:619,1
    - Dst: fopen
      Src: /src/gnupg/sm/t-minip12.c:622,1
    - Dst: die
      Src: /src/gnupg/sm/t-minip12.c:624,1
    - Dst: strerror
      Src: /src/gnupg/sm/t-minip12.c:624,1
    - Dst: read_textline
      Src: /src/gnupg/sm/t-minip12.c:627,1
    - Dst: strncmp
      Src: /src/gnupg/sm/t-minip12.c:629,1
    - Dst: run_one_test
      Src: /src/gnupg/sm/t-minip12.c:632,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:633,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:634,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:635,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:636,1
    - Dst: copy_data
      Src: /src/gnupg/sm/t-minip12.c:637,1
    - Dst: xstrconcat
      Src: /src/gnupg/sm/t-minip12.c:640,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:641,1
    - Dst: strncmp
      Src: /src/gnupg/sm/t-minip12.c:645,1
    - Dst: copy_data
      Src: /src/gnupg/sm/t-minip12.c:646,1
    - Dst: strncmp
      Src: /src/gnupg/sm/t-minip12.c:647,1
    - Dst: copy_data
      Src: /src/gnupg/sm/t-minip12.c:648,1
    - Dst: strncmp
      Src: /src/gnupg/sm/t-minip12.c:649,1
    - Dst: copy_data
      Src: /src/gnupg/sm/t-minip12.c:652,1
    - Dst: hexdowncase
      Src: /src/gnupg/sm/t-minip12.c:653,1
    - Dst: xstrconcat
      Src: /src/gnupg/sm/t-minip12.c:657,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:658,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:659,1
    - Dst: strncmp
      Src: /src/gnupg/sm/t-minip12.c:664,1
    - Dst: copy_data
      Src: /src/gnupg/sm/t-minip12.c:666,1
    - Dst: hexdowncase
      Src: /src/gnupg/sm/t-minip12.c:667,1
    - Dst: inf
      Src: /src/gnupg/sm/t-minip12.c:670,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:672,1
    - Dst: run_one_test
      Src: /src/gnupg/sm/t-minip12.c:675,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:676,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:677,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:678,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:679,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:680,1
    - Dst: fclose
      Src: /src/gnupg/sm/t-minip12.c:682,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:683,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 64
    argCount: 1
    argNames:
    - descfname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 685
    functionName: run_tests_from_file
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 0
    functionsReached:
    - xstrdup
    - xstrconcat
    - fclose
    - read_textline
    - run_one_test
    - copy_data
    - xfree
    - fopen
    - inf
    - strrchr
    - die
    - hexdowncase
    - strncmp
    - strerror
    linkageType: ''
    returnType: int
    signature: int run_tests_from_file (const char *descfname)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnupg/sm/t-minip12.c:702,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:705,1
    - Dst: strerror
      Src: /src/gnupg/sm/t-minip12.c:705,1
    - Dst: fstat
      Src: /src/gnupg/sm/t-minip12.c:709,1
    - Dst: fileno
      Src: /src/gnupg/sm/t-minip12.c:709,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:711,1
    - Dst: strerror
      Src: /src/gnupg/sm/t-minip12.c:711,1
    - Dst: xmalloc
      Src: /src/gnupg/sm/t-minip12.c:716,1
    - Dst: fread
      Src: /src/gnupg/sm/t-minip12.c:717,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:719,1
    - Dst: strerror
      Src: /src/gnupg/sm/t-minip12.c:719,1
    - Dst: fclose
      Src: /src/gnupg/sm/t-minip12.c:722,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/t-minip12.c:730,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:734,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:740,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:746,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:750,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:759,1
    - Dst: init_membuf
      Src: /src/gnupg/sm/t-minip12.c:760,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/t-minip12.c:764,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:768,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:774,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:779,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:783,1
    - Dst: put_membuf
      Src: /src/gnupg/sm/t-minip12.c:788,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:796,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/t-minip12.c:802,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:805,1
    - Dst: putchar
      Src: /src/gnupg/sm/t-minip12.c:809,1
    - Dst: putchar
      Src: /src/gnupg/sm/t-minip12.c:811,1
    - Dst: putchar
      Src: /src/gnupg/sm/t-minip12.c:814,1
    - Dst: putchar
      Src: /src/gnupg/sm/t-minip12.c:815,1
    - Dst: putchar
      Src: /src/gnupg/sm/t-minip12.c:819,1
    - Dst: putchar
      Src: /src/gnupg/sm/t-minip12.c:820,1
    - Dst: putchar
      Src: /src/gnupg/sm/t-minip12.c:821,1
    - Dst: putchar
      Src: /src/gnupg/sm/t-minip12.c:825,1
    - Dst: putchar
      Src: /src/gnupg/sm/t-minip12.c:826,1
    - Dst: putchar
      Src: /src/gnupg/sm/t-minip12.c:827,1
    - Dst: putchar
      Src: /src/gnupg/sm/t-minip12.c:828,1
    - Dst: putchar
      Src: /src/gnupg/sm/t-minip12.c:832,1
    - Dst: putchar
      Src: /src/gnupg/sm/t-minip12.c:833,1
    - Dst: putchar
      Src: /src/gnupg/sm/t-minip12.c:834,1
    - Dst: putchar
      Src: /src/gnupg/sm/t-minip12.c:835,1
    - Dst: putchar
      Src: /src/gnupg/sm/t-minip12.c:836,1
    - Dst: fwrite
      Src: /src/gnupg/sm/t-minip12.c:838,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:840,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:844,1
    - Dst: fwrite
      Src: /src/gnupg/sm/t-minip12.c:848,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:850,1
    - Dst: fwrite
      Src: /src/gnupg/sm/t-minip12.c:853,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:855,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:863,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 114
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 865
    functionName: cram_file
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - parse_ber_header
    - init_membuf
    - fwrite
    - put_membuf
    - fclose
    - fileno
    - fprintf
    - fstat
    - xmalloc
    - xfree
    - fopen
    - fread
    - strerror
    - putchar
    linkageType: ''
    returnType: int
    signature: int cram_file (const char *name)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/sm/t-minip12.c:883,1
    - Dst: strcmp
      Src: /src/gnupg/sm/t-minip12.c:888,1
    - Dst: fputs
      Src: /src/gnupg/sm/t-minip12.c:890,1
    - Dst: exit
      Src: /src/gnupg/sm/t-minip12.c:899,1
    - Dst: strcmp
      Src: /src/gnupg/sm/t-minip12.c:901,1
    - Dst: strcmp
      Src: /src/gnupg/sm/t-minip12.c:906,1
    - Dst: strcmp
      Src: /src/gnupg/sm/t-minip12.c:911,1
    - Dst: strcmp
      Src: /src/gnupg/sm/t-minip12.c:916,1
    - Dst: strncmp
      Src: /src/gnupg/sm/t-minip12.c:922,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:924,1
    - Dst: exit
      Src: /src/gnupg/sm/t-minip12.c:925,1
    - Dst: fprintf
      Src: /src/gnupg/sm/t-minip12.c:946,1
    - Dst: exit
      Src: /src/gnupg/sm/t-minip12.c:947,1
    - Dst: gcry_control
      Src: /src/gnupg/sm/t-minip12.c:950,1
    - Dst: gcry_control
      Src: /src/gnupg/sm/t-minip12.c:951,1
    - Dst: p12_set_verbosity
      Src: /src/gnupg/sm/t-minip12.c:955,1
    - Dst: cram_file
      Src: /src/gnupg/sm/t-minip12.c:957,1
    - Dst: one_file
      Src: /src/gnupg/sm/t-minip12.c:959,1
    - Dst: p12_set_verbosity
      Src: /src/gnupg/sm/t-minip12.c:966,1
    - Dst: prepend_srcdir
      Src: /src/gnupg/sm/t-minip12.c:967,1
    - Dst: run_tests_from_file
      Src: /src/gnupg/sm/t-minip12.c:968,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:969,1
    - Dst: value_from_gnupg_autogen_rc
      Src: /src/gnupg/sm/t-minip12.c:972,1
    - Dst: xstrconcat
      Src: /src/gnupg/sm/t-minip12.c:975,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:976,1
    - Dst: run_tests_from_file
      Src: /src/gnupg/sm/t-minip12.c:977,1
    - Dst: xfree
      Src: /src/gnupg/sm/t-minip12.c:978,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 79
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 868
    functionDepth: 2
    functionLinenumber: 868
    functionLinenumberEnd: 983
    functionName: main
    functionSourceFile: /src/gnupg/sm/t-minip12.c
    functionUses: 6
    functionsReached:
    - run_tests_from_file
    - xstrconcat
    - exit
    - value_from_gnupg_autogen_rc
    - gcry_control
    - strcmp
    - fprintf
    - prepend_srcdir
    - one_file
    - p12_set_verbosity
    - fputs
    - xfree
    - strncmp
    - cram_file
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 189
    functionName: struct
    functionSourceFile: /src/gnupg/sm/gpgsm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EXTERN_UNLESS_MAIN_MODULE
    signature: EXTERN_UNLESS_MAIN_MODULE struct
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct para_data_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: release_parameter_list
    functionSourceFile: /src/gnupg/sm/certreqgen.c
    functionUses: 5
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_parameter_list (struct para_data_s *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - para
    - key
    - seq
    argTypes:
    - struct para_data_s*
    - enum para_name
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: get_parameter
    functionSourceFile: /src/gnupg/sm/certreqgen.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: struct para_data_s
    signature: 'struct para_data_s *

      get_parameter (struct para_data_s *para, enum para_name key, int seq)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - para
    - key
    - seq
    argTypes:
    - struct para_data_s*
    - enum para_name
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: get_parameter_value
    functionSourceFile: /src/gnupg/sm/certreqgen.c
    functionUses: 3
    functionsReached:
    - get_parameter
    linkageType: ''
    returnType: char
    signature: 'char *

      get_parameter_value (struct para_data_s *para, enum para_name key, int seq)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:171,1
    - Dst: digitp
      Src: /src/gnupg/sm/certreqgen.c:174,1
    - Dst: atoi
      Src: /src/gnupg/sm/certreqgen.c:175,1
    - Dst: gcry_pk_map_name
      Src: /src/gnupg/sm/certreqgen.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - para
    - key
    argTypes:
    - struct para_data_s*
    - enum para_name
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: get_parameter_algo
    functionSourceFile: /src/gnupg/sm/certreqgen.c
    functionUses: 2
    functionsReached:
    - digitp
    - gcry_pk_map_name
    - get_parameter
    - atoi
    linkageType: ''
    returnType: int
    signature: int get_parameter_algo (struct para_data_s *para, enum para_name key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:186,1
    - Dst: strsep
      Src: /src/gnupg/sm/certreqgen.c:195,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/sm/certreqgen.c:199,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/sm/certreqgen.c:201,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/sm/certreqgen.c:202,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/sm/certreqgen.c:204,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - para
    - key
    argTypes:
    - struct para_data_s*
    - enum para_name
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 214
    functionName: parse_parameter_usage
    functionSourceFile: /src/gnupg/sm/certreqgen.c
    functionUses: 1
    functionsReached:
    - strsep
    - get_parameter
    - ascii_strcasecmp
    - log_error
    linkageType: ''
    returnType: int
    signature: int parse_parameter_usage (struct para_data_s *para, enum para_name
      key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:220,1
    - Dst: strtoul
      Src: /src/gnupg/sm/certreqgen.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - para
    - key
    argTypes:
    - struct para_data_s*
    - enum para_name
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: get_parameter_uint
    functionSourceFile: /src/gnupg/sm/certreqgen.c
    functionUses: 1
    functionsReached:
    - strtoul
    - get_parameter
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_parameter_uint (struct para_data_s *para, enum para_name
      key)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/certreqgen.c:271,1
    - Dst: es_fgets
      Src: /src/gnupg/sm/certreqgen.c:275,1
    - Dst: DIM
      Src: /src/gnupg/sm/certreqgen.c:275,1
    - Dst: strlen
      Src: /src/gnupg/sm/certreqgen.c:280,1
    - Dst: spacep
      Src: /src/gnupg/sm/certreqgen.c:285,1
    - Dst: ascii_isspace
      Src: /src/gnupg/sm/certreqgen.c:293,1
    - Dst: ascii_isspace
      Src: /src/gnupg/sm/certreqgen.c:297,1
    - Dst: trim_trailing_spaces
      Src: /src/gnupg/sm/certreqgen.c:300,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/sm/certreqgen.c:302,1
    - Dst: log_info
      Src: /src/gnupg/sm/certreqgen.c:303,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/sm/certreqgen.c:304,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/sm/certreqgen.c:306,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/sm/certreqgen.c:308,1
    - Dst: proc_parameters
      Src: /src/gnupg/sm/certreqgen.c:310,1
    - Dst: release_parameter_list
      Src: /src/gnupg/sm/certreqgen.c:314,1
    - Dst: log_info
      Src: /src/gnupg/sm/certreqgen.c:318,1
    - Dst: strchr
      Src: /src/gnupg/sm/certreqgen.c:324,1
    - Dst: spacep
      Src: /src/gnupg/sm/certreqgen.c:331,1
    - Dst: trim_trailing_spaces
      Src: /src/gnupg/sm/certreqgen.c:339,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/sm/certreqgen.c:342,1
    - Dst: proc_parameters
      Src: /src/gnupg/sm/certreqgen.c:357,1
    - Dst: release_parameter_list
      Src: /src/gnupg/sm/certreqgen.c:361,1
    - Dst: xtrycalloc
      Src: /src/gnupg/sm/certreqgen.c:375,1
    - Dst: strlen
      Src: /src/gnupg/sm/certreqgen.c:375,1
    - Dst: strcpy
      Src: /src/gnupg/sm/certreqgen.c:383,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:390,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:391,1
    - Dst: es_ferror
      Src: /src/gnupg/sm/certreqgen.c:393,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:395,1
    - Dst: strerror
      Src: /src/gnupg/sm/certreqgen.c:395,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:396,1
    - Dst: proc_parameters
      Src: /src/gnupg/sm/certreqgen.c:400,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:407,1
    - Dst: release_parameter_list
      Src: /src/gnupg/sm/certreqgen.c:410,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 115
    argCount: 3
    argNames:
    - ctrl
    - fp
    - out_fp
    argTypes:
    - ctrl_t
    - estream_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 412
    functionName: read_parameters
    functionSourceFile: /src/gnupg/sm/certreqgen.c
    functionUses: 0
    functionsReached:
    - trim_trailing_spaces
    - ascii_isspace
    - strlen
    - log_error
    - es_fgets
    - DIM
    - spacep
    - proc_parameters
    - release_parameter_list
    - strchr
    - memset
    - ascii_strcasecmp
    - log_info
    - xtrycalloc
    - strcpy
    - gpg_error
    - es_ferror
    - strerror
    linkageType: ''
    returnType: int
    signature: int read_parameters (ctrl_t ctrl, estream_t fp, estream_t out_fp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/sm/certreqgen.c:428,1
    - Dst: strchr
      Src: /src/gnupg/sm/certreqgen.c:430,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 434
    functionName: has_invalid_email_chars
    functionSourceFile: /src/gnupg/sm/certreqgen.c
    functionUses: 1
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int has_invalid_email_chars (const char *s)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/sm/certreqgen.c:458,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:458,1
    - Dst: get_parameter_algo
      Src: /src/gnupg/sm/certreqgen.c:464,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:465,1
    - Dst: strncmp
      Src: /src/gnupg/sm/certreqgen.c:469,1
    - Dst: xtrystrdup
      Src: /src/gnupg/sm/certreqgen.c:470,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:474,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:476,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:476,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:478,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:479,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:484,1
    - Dst: get_parameter_uint
      Src: /src/gnupg/sm/certreqgen.c:487,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:491,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:492,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:492,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:494,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:495,1
    - Dst: parse_parameter_usage
      Src: /src/gnupg/sm/certreqgen.c:499,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:501,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:502,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:507,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:509,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:510,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:510,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:511,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:512,1
    - Dst: ksba_dn_teststr
      Src: /src/gnupg/sm/certreqgen.c:514,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:517,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certreqgen.c:518,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:519,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:519,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:522,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:522,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:525,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:526,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:530,1
    - Dst: has_invalid_email_chars
      Src: /src/gnupg/sm/certreqgen.c:532,1
    - Dst: strlen
      Src: /src/gnupg/sm/certreqgen.c:534,1
    - Dst: strlen
      Src: /src/gnupg/sm/certreqgen.c:535,1
    - Dst: strstr
      Src: /src/gnupg/sm/certreqgen.c:536,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:538,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:539,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:539,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:540,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:541,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:546,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certreqgen.c:549,1
    - Dst: hexdigitp
      Src: /src/gnupg/sm/certreqgen.c:553,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:557,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:558,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:558,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:559,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:560,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:566,1
    - Dst: ksba_dn_teststr
      Src: /src/gnupg/sm/certreqgen.c:569,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:572,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certreqgen.c:573,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:574,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:574,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:577,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:577,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:579,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:580,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:585,1
    - Dst: string2isotime
      Src: /src/gnupg/sm/certreqgen.c:586,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:588,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:589,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:589,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:590,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:591,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:596,1
    - Dst: string2isotime
      Src: /src/gnupg/sm/certreqgen.c:597,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:599,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:600,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:600,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:601,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:602,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:606,1
    - Dst: gpgsm_agent_readkey
      Src: /src/gnupg/sm/certreqgen.c:609,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:612,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:613,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:613,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:614,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:615,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:624,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/sm/certreqgen.c:625,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:631,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:632,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:632,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:633,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:634,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:639,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certreqgen.c:640,1
    - Dst: hexdigitp
      Src: /src/gnupg/sm/certreqgen.c:642,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:646,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:647,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:647,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:648,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:649,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:654,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certreqgen.c:655,1
    - Dst: hexdigitp
      Src: /src/gnupg/sm/certreqgen.c:657,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:661,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:662,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:662,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:663,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:664,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:669,1
    - Dst: strpbrk
      Src: /src/gnupg/sm/certreqgen.c:673,1
    - Dst: spacep
      Src: /src/gnupg/sm/certreqgen.c:677,1
    - Dst: strchr
      Src: /src/gnupg/sm/certreqgen.c:679,1
    - Dst: spacep
      Src: /src/gnupg/sm/certreqgen.c:682,1
    - Dst: spacep
      Src: /src/gnupg/sm/certreqgen.c:688,1
    - Dst: hexdigitp
      Src: /src/gnupg/sm/certreqgen.c:690,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:699,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:700,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:700,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:701,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:702,1
    - Dst: gpgsm_agent_readkey
      Src: /src/gnupg/sm/certreqgen.c:709,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:712,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:713,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:713,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:714,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:715,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:716,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:720,1
    - Dst: gpgsm_agent_readkey
      Src: /src/gnupg/sm/certreqgen.c:722,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:725,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:726,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:726,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:727,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:728,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:729,1
    - Dst: sprintf
      Src: /src/gnupg/sm/certreqgen.c:737,1
    - Dst: snprintf
      Src: /src/gnupg/sm/certreqgen.c:738,1
    - Dst: DIM
      Src: /src/gnupg/sm/certreqgen.c:738,1
    - Dst: strlen
      Src: /src/gnupg/sm/certreqgen.c:740,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:744,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certreqgen.c:747,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certreqgen.c:749,1
    - Dst: snprintf
      Src: /src/gnupg/sm/certreqgen.c:754,1
    - Dst: DIM
      Src: /src/gnupg/sm/certreqgen.c:754,1
    - Dst: strlen
      Src: /src/gnupg/sm/certreqgen.c:756,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:760,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:761,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:761,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:762,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:763,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:764,1
    - Dst: gpgsm_agent_genkey
      Src: /src/gnupg/sm/certreqgen.c:766,1
    - Dst: get_parameter
      Src: /src/gnupg/sm/certreqgen.c:769,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:770,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:770,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:771,1
    - Dst: gpg_strsource
      Src: /src/gnupg/sm/certreqgen.c:771,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:772,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:773,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:785,1
    - Dst: gnupg_ksba_create_writer
      Src: /src/gnupg/sm/certreqgen.c:789,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:794,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:794,1
    - Dst: create_request
      Src: /src/gnupg/sm/certreqgen.c:797,1
    - Dst: gnupg_ksba_finish_writer
      Src: /src/gnupg/sm/certreqgen.c:800,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:802,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:802,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/certreqgen.c:805,1
    - Dst: log_info
      Src: /src/gnupg/sm/certreqgen.c:806,1
    - Dst: gnupg_ksba_destroy_writer
      Src: /src/gnupg/sm/certreqgen.c:810,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:814,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:815,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:816,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 229
    argCount: 4
    argNames:
    - ctrl
    - para
    - out_fp
    - outctrl
    argTypes:
    - ctrl_t
    - struct para_data_s*
    - estream_t
    - struct reqgen_ctrl_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 438
    functionDepth: 6
    functionLinenumber: 438
    functionLinenumberEnd: 819
    functionName: proc_parameters
    functionSourceFile: /src/gnupg/sm/certreqgen.c
    functionUses: 1
    functionsReached:
    - gnupg_ksba_create_writer
    - gnupg_ksba_destroy_writer
    - log_assert
    - strlen
    - strstr
    - create_request
    - gpgsm_agent_readkey
    - gnupg_ksba_finish_writer
    - get_parameter_uint
    - ksba_dn_teststr
    - get_parameter
    - log_error
    - get_parameter_algo
    - DIM
    - parse_parameter_usage
    - _
    - log_info
    - strncmp
    - gpgsm_status
    - gpgsm_agent_genkey
    - strpbrk
    - hexdigitp
    - sprintf
    - spacep
    - strcmp
    - xtrystrdup
    - gpg_error
    - strchr
    - xfree
    - gpg_strerror
    - gcry_md_map_name
    - gpg_strsource
    - snprintf
    - string2isotime
    - gpg_err_code
    - get_parameter_value
    - has_invalid_email_chars
    linkageType: ''
    returnType: int
    signature: "int proc_parameters (ctrl_t ctrl, struct para_data_s *para,\n                 estream_t
      out_fp, struct reqgen_ctrl_s *outctrl)"
  - BBCount: 82
    BranchProfiles: []
    Callsites:
    - Dst: ksba_certreq_new
      Src: /src/gnupg/sm/certreqgen.c:853,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/certreqgen.c:857,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/certreqgen.c:858,1
    - Dst: get_pk_algo_from_canon_sexp
      Src: /src/gnupg/sm/certreqgen.c:860,1
    - Dst: get_pk_algo_from_canon_sexp
      Src: /src/gnupg/sm/certreqgen.c:861,1
    - Dst: init_membuf
      Src: /src/gnupg/sm/certreqgen.c:867,1
    - Dst: ksba_certreq_set_hash_function
      Src: /src/gnupg/sm/certreqgen.c:869,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:874,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/sm/certreqgen.c:875,1
    - Dst: gcry_md_open
      Src: /src/gnupg/sm/certreqgen.c:878,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:881,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:881,1
    - Dst: gcry_md_debug
      Src: /src/gnupg/sm/certreqgen.c:885,1
    - Dst: ksba_certreq_set_hash_function
      Src: /src/gnupg/sm/certreqgen.c:886,1
    - Dst: ksba_certreq_set_writer
      Src: /src/gnupg/sm/certreqgen.c:889,1
    - Dst: ksba_certreq_add_subject
      Src: /src/gnupg/sm/certreqgen.c:891,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:891,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:894,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:895,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:900,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certreqgen.c:902,1
    - Dst: strlen
      Src: /src/gnupg/sm/certreqgen.c:902,1
    - Dst: out_of_core
      Src: /src/gnupg/sm/certreqgen.c:905,1
    - Dst: strcpy
      Src: /src/gnupg/sm/certreqgen.c:909,1
    - Dst: strcat
      Src: /src/gnupg/sm/certreqgen.c:910,1
    - Dst: ksba_certreq_add_subject
      Src: /src/gnupg/sm/certreqgen.c:911,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:912,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:915,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:916,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:922,1
    - Dst: strlen
      Src: /src/gnupg/sm/certreqgen.c:924,1
    - Dst: log_assert
      Src: /src/gnupg/sm/certreqgen.c:925,1
    - Dst: snprintf
      Src: /src/gnupg/sm/certreqgen.c:926,1
    - Dst: DIM
      Src: /src/gnupg/sm/certreqgen.c:926,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certreqgen.c:927,1
    - Dst: strlen
      Src: /src/gnupg/sm/certreqgen.c:927,1
    - Dst: out_of_core
      Src: /src/gnupg/sm/certreqgen.c:930,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/certreqgen.c:933,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/certreqgen.c:934,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/certreqgen.c:935,1
    - Dst: strcpy
      Src: /src/gnupg/sm/certreqgen.c:936,1
    - Dst: ksba_certreq_add_subject
      Src: /src/gnupg/sm/certreqgen.c:938,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:939,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:942,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:943,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:949,1
    - Dst: strlen
      Src: /src/gnupg/sm/certreqgen.c:951,1
    - Dst: log_assert
      Src: /src/gnupg/sm/certreqgen.c:952,1
    - Dst: snprintf
      Src: /src/gnupg/sm/certreqgen.c:953,1
    - Dst: DIM
      Src: /src/gnupg/sm/certreqgen.c:953,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certreqgen.c:954,1
    - Dst: strlen
      Src: /src/gnupg/sm/certreqgen.c:954,1
    - Dst: out_of_core
      Src: /src/gnupg/sm/certreqgen.c:957,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/certreqgen.c:960,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/certreqgen.c:961,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/certreqgen.c:962,1
    - Dst: strcpy
      Src: /src/gnupg/sm/certreqgen.c:963,1
    - Dst: ksba_certreq_add_subject
      Src: /src/gnupg/sm/certreqgen.c:965,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:966,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:969,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:970,1
    - Dst: ksba_certreq_set_public_key
      Src: /src/gnupg/sm/certreqgen.c:976,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:979,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:979,1
    - Dst: get_parameter_uint
      Src: /src/gnupg/sm/certreqgen.c:985,1
    - Dst: ksba_certreq_add_extension
      Src: /src/gnupg/sm/certreqgen.c:1025,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:1028,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:1029,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:1037,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certreqgen.c:1043,1
    - Dst: memcpy
      Src: /src/gnupg/sm/certreqgen.c:1047,1
    - Dst: gcry_create_nonce
      Src: /src/gnupg/sm/certreqgen.c:1048,1
    - Dst: ksba_certreq_set_serial
      Src: /src/gnupg/sm/certreqgen.c:1052,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certreqgen.c:1064,1
    - Dst: strlen
      Src: /src/gnupg/sm/certreqgen.c:1064,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certreqgen.c:1067,1
    - Dst: strlen
      Src: /src/gnupg/sm/certreqgen.c:1070,1
    - Dst: strcpy
      Src: /src/gnupg/sm/certreqgen.c:1074,1
    - Dst: xtoi_2
      Src: /src/gnupg/sm/certreqgen.c:1076,1
    - Dst: snprintf
      Src: /src/gnupg/sm/certreqgen.c:1078,1
    - Dst: DIM
      Src: /src/gnupg/sm/certreqgen.c:1078,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certreqgen.c:1079,1
    - Dst: strlen
      Src: /src/gnupg/sm/certreqgen.c:1079,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certreqgen.c:1082,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1083,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/certreqgen.c:1086,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/certreqgen.c:1086,1
    - Dst: memcpy
      Src: /src/gnupg/sm/certreqgen.c:1087,1
    - Dst: strcpy
      Src: /src/gnupg/sm/certreqgen.c:1089,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1090,1
    - Dst: ksba_certreq_set_serial
      Src: /src/gnupg/sm/certreqgen.c:1091,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1092,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:1096,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:1097,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:1106,1
    - Dst: ksba_certreq_set_issuer
      Src: /src/gnupg/sm/certreqgen.c:1113,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:1116,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:1117,1
    - Dst: ksba_certreq_add_extension
      Src: /src/gnupg/sm/certreqgen.c:1126,1
    - Dst: ksba_certreq_add_extension
      Src: /src/gnupg/sm/certreqgen.c:1130,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:1137,1
    - Dst: string2isotime
      Src: /src/gnupg/sm/certreqgen.c:1140,1
    - Dst: BUG
      Src: /src/gnupg/sm/certreqgen.c:1141,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/sm/certreqgen.c:1144,1
    - Dst: ksba_certreq_set_validity
      Src: /src/gnupg/sm/certreqgen.c:1145,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:1148,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:1149,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:1156,1
    - Dst: string2isotime
      Src: /src/gnupg/sm/certreqgen.c:1159,1
    - Dst: BUG
      Src: /src/gnupg/sm/certreqgen.c:1160,1
    - Dst: ksba_certreq_set_validity
      Src: /src/gnupg/sm/certreqgen.c:1161,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:1164,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:1165,1
    - Dst: transform_sigval
      Src: /src/gnupg/sm/certreqgen.c:1185,1
    - Dst: ksba_certreq_set_siginfo
      Src: /src/gnupg/sm/certreqgen.c:1188,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1189,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:1193,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:1194,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:1202,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certreqgen.c:1203,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certreqgen.c:1211,1
    - Dst: strlen
      Src: /src/gnupg/sm/certreqgen.c:1211,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certreqgen.c:1214,1
    - Dst: strcpy
      Src: /src/gnupg/sm/certreqgen.c:1217,1
    - Dst: xtoi_2
      Src: /src/gnupg/sm/certreqgen.c:1219,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:1222,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1223,1
    - Dst: ksba_certreq_add_extension
      Src: /src/gnupg/sm/certreqgen.c:1230,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1232,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:1235,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:1235,1
    - Dst: get_ecc_q_from_canon_sexp
      Src: /src/gnupg/sm/certreqgen.c:1246,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:1249,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:1250,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:1264,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certreqgen.c:1268,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certreqgen.c:1271,1
    - Dst: memcpy
      Src: /src/gnupg/sm/certreqgen.c:1278,1
    - Dst: ksba_certreq_add_extension
      Src: /src/gnupg/sm/certreqgen.c:1279,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1281,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:1284,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:1284,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:1290,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certreqgen.c:1291,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certreqgen.c:1299,1
    - Dst: strlen
      Src: /src/gnupg/sm/certreqgen.c:1299,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certreqgen.c:1302,1
    - Dst: strcpy
      Src: /src/gnupg/sm/certreqgen.c:1305,1
    - Dst: xtoi_2
      Src: /src/gnupg/sm/certreqgen.c:1307,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:1310,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1311,1
    - Dst: ksba_certreq_add_extension
      Src: /src/gnupg/sm/certreqgen.c:1316,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1318,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:1321,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:1321,1
    - Dst: get_ecc_q_from_canon_sexp
      Src: /src/gnupg/sm/certreqgen.c:1336,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:1339,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:1340,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:1351,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certreqgen.c:1355,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certreqgen.c:1358,1
    - Dst: memcpy
      Src: /src/gnupg/sm/certreqgen.c:1363,1
    - Dst: ksba_certreq_add_extension
      Src: /src/gnupg/sm/certreqgen.c:1364,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1366,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:1369,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:1369,1
    - Dst: get_parameter_value
      Src: /src/gnupg/sm/certreqgen.c:1375,1
    - Dst: strpbrk
      Src: /src/gnupg/sm/certreqgen.c:1381,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:1384,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certreqgen.c:1388,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certreqgen.c:1391,1
    - Dst: memcpy
      Src: /src/gnupg/sm/certreqgen.c:1394,1
    - Dst: spacep
      Src: /src/gnupg/sm/certreqgen.c:1398,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:1402,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1403,1
    - Dst: strchr
      Src: /src/gnupg/sm/certreqgen.c:1407,1
    - Dst: spacep
      Src: /src/gnupg/sm/certreqgen.c:1410,1
    - Dst: spacep
      Src: /src/gnupg/sm/certreqgen.c:1414,1
    - Dst: xtrystrdup
      Src: /src/gnupg/sm/certreqgen.c:1417,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certreqgen.c:1420,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1421,1
    - Dst: xtoi_2
      Src: /src/gnupg/sm/certreqgen.c:1425,1
    - Dst: ksba_certreq_add_extension
      Src: /src/gnupg/sm/certreqgen.c:1426,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1428,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1429,1
    - Dst: ksba_certreq_build
      Src: /src/gnupg/sm/certreqgen.c:1441,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:1444,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:1444,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/sm/certreqgen.c:1458,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:1461,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:1461,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/sm/certreqgen.c:1464,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certreqgen.c:1466,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:1467,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certreqgen.c:1468,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certreqgen.c:1471,1
    - Dst: bin2hex
      Src: /src/gnupg/sm/certreqgen.c:1472,1
    - Dst: log_info
      Src: /src/gnupg/sm/certreqgen.c:1475,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/certreqgen.c:1482,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certreqgen.c:1485,1
    - Dst: gpgsm_scd_pksign
      Src: /src/gnupg/sm/certreqgen.c:1487,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1490,1
    - Dst: gpgsm_scd_pksign
      Src: /src/gnupg/sm/certreqgen.c:1493,1
    - Dst: gcry_md_read
      Src: /src/gnupg/sm/certreqgen.c:1494,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/sm/certreqgen.c:1495,1
    - Dst: i18n_switchto_utf8
      Src: /src/gnupg/sm/certreqgen.c:1504,1
    - Dst: percent_plus_escape
      Src: /src/gnupg/sm/certreqgen.c:1505,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen.c:1506,1
    - Dst: i18n_switchback
      Src: /src/gnupg/sm/certreqgen.c:1509,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/certreqgen.c:1512,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certreqgen.c:1515,1
    - Dst: gpgsm_agent_pksign
      Src: /src/gnupg/sm/certreqgen.c:1517,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1521,1
    - Dst: gpgsm_agent_pksign
      Src: /src/gnupg/sm/certreqgen.c:1524,1
    - Dst: gcry_md_read
      Src: /src/gnupg/sm/certreqgen.c:1525,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/sm/certreqgen.c:1526,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1529,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:1533,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:1533,1
    - Dst: transform_sigval
      Src: /src/gnupg/sm/certreqgen.c:1537,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1538,1
    - Dst: ksba_certreq_set_sig_val
      Src: /src/gnupg/sm/certreqgen.c:1541,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1542,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:1546,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:1547,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen.c:1558,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/certreqgen.c:1558,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/certreqgen.c:1559,1
    - Dst: ksba_certreq_release
      Src: /src/gnupg/sm/certreqgen.c:1560,1
    CyclomaticComplexity: 153
    EdgeCount: 153
    ICount: 497
    argCount: 6
    argNames:
    - ctrl
    - para
    - carddirect
    - public
    - sigkey
    - writer
    argTypes:
    - ctrl_t
    - struct para_data_s*
    - char*
    - ksba_const_sexp_t
    - ksba_const_sexp_t
    - ksba_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 824
    functionDepth: 3
    functionLinenumber: 824
    functionLinenumberEnd: 1562
    functionName: create_request
    functionSourceFile: /src/gnupg/sm/certreqgen.c
    functionUses: 1
    functionsReached:
    - ksba_certreq_build
    - strlen
    - log_assert
    - get_ecc_q_from_canon_sexp
    - ksba_certreq_set_validity
    - percent_plus_escape
    - gpgsm_scd_pksign
    - gcry_sexp_sscan
    - BUG
    - ksba_certreq_set_siginfo
    - gpgsm_agent_pksign
    - gcry_sexp_canon_len
    - ksba_certreq_set_public_key
    - get_parameter_uint
    - gcry_md_close
    - xtrymalloc
    - memcpy
    - xtoi_2
    - init_membuf
    - transform_sigval
    - log_error
    - ksba_certreq_set_hash_function
    - DIM
    - ksba_certreq_new
    - _
    - ksba_certreq_set_writer
    - log_info
    - ksba_certreq_set_sig_val
    - gcry_sexp_release
    - gcry_md_read
    - out_of_core
    - strcat
    - gcry_md_debug
    - strpbrk
    - gcry_md_open
    - gcry_pk_get_keygrip
    - i18n_switchto_utf8
    - gpg_error_from_syserror
    - ksba_certreq_set_issuer
    - ksba_certreq_add_extension
    - i18n_switchback
    - spacep
    - strcmp
    - xtrystrdup
    - gnupg_get_isotime
    - gpg_error
    - get_pk_algo_from_canon_sexp
    - gcry_md_map_name
    - gpg_strerror
    - xfree
    - strchr
    - get_membuf
    - ksba_certreq_set_serial
    - ksba_certreq_release
    - ksba_certreq_add_subject
    - snprintf
    - bin2hex
    - gcry_md_get_algo_dlen
    - string2isotime
    - strcpy
    - get_parameter_value
    - stpcpy
    - gcry_create_nonce
    linkageType: ''
    returnType: int
    signature: "int create_request (ctrl_t ctrl,\n                struct para_data_s
      *para,\n                const char *carddirect,\n                ksba_const_sexp_t
      public,\n                ksba_const_sexp_t sigkey,\n                ksba_writer_t
      writer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_parameters
      Src: /src/gnupg/sm/certreqgen.c:1573,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen.c:1576,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen.c:1577,1
    - Dst: gpg_strsource
      Src: /src/gnupg/sm/certreqgen.c:1577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctrl
    - in_stream
    - out_stream
    argTypes:
    - ctrl_t
    - estream_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1568
    functionDepth: 2
    functionLinenumber: 1568
    functionLinenumberEnd: 1583
    functionName: gpgsm_genkey
    functionSourceFile: /src/gnupg/sm/certreqgen.c
    functionUses: 0
    functionsReached:
    - gpg_strsource
    - read_parameters
    - gpg_strerror
    - log_error
    linkageType: ''
    returnType: int
    signature: int gpgsm_genkey (ctrl_t ctrl, estream_t in_stream, estream_t out_stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/sm/keylist.c:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - oid
    - matchflag
    - flag
    argTypes:
    - char*
    - unsigned int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 262
    functionName: get_oid_desc
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      get_oid_desc (const char *oid, unsigned int matchflag, unsigned int *flag)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pubkey_get_npkey
      Src: /src/gnupg/sm/keylist.c:269,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:274,1
    - Dst: mpi_get_nbits
      Src: /src/gnupg/sm/keylist.c:274,1
    - Dst: mpi_print
      Src: /src/gnupg/sm/keylist.c:275,1
    - Dst: putchar
      Src: /src/gnupg/sm/keylist.c:276,1
    - Dst: putchar
      Src: /src/gnupg/sm/keylist.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - cert
    - fp
    argTypes:
    - ksba_cert_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 283
    functionName: print_key_data
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 2
    functionsReached:
    - es_fprintf
    - pubkey_get_npkey
    - mpi_print
    - putchar
    - mpi_get_nbits
    linkageType: ''
    returnType: void
    signature: void print_key_data (ksba_cert_t cert, estream_t fp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_get_rsa_modulus
      Src: /src/gnupg/sm/keylist.c:295,1
    - Dst: screen_key_for_roca
      Src: /src/gnupg/sm/keylist.c:298,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:301,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:304,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:306,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:309,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:310,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/keylist.c:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - cert
    - colon_mode
    - fp
    argTypes:
    - ksba_cert_t
    - int
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 314
    functionName: print_pk_screening
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 2
    functionsReached:
    - es_fprintf
    - gpg_err_code
    - gpgsm_get_rsa_modulus
    - gpg_strerror
    - screen_key_for_roca
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void print_pk_screening (ksba_cert_t cert, int colon_mode, estream_t
      fp)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_user_data
      Src: /src/gnupg/sm/keylist.c:327,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:332,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:334,1
    - Dst: log_debug
      Src: /src/gnupg/sm/keylist.c:337,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:338,1
    - Dst: ksba_cert_get_key_usage
      Src: /src/gnupg/sm/keylist.c:340,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:341,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:343,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:344,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:345,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:346,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:347,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:348,1
    - Dst: log_error
      Src: /src/gnupg/sm/keylist.c:353,1
    - Dst: _
      Src: /src/gnupg/sm/keylist.c:353,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:354,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:375,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:377,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:379,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:381,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:383,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:385,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 3
    argNames:
    - cert
    - algo
    - fp
    argTypes:
    - ksba_cert_t
    - int
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 386
    functionName: print_capabilities
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 1
    functionsReached:
    - log_error
    - es_putc
    - _
    - gpg_strerror
    - gpg_err_code
    - ksba_cert_get_user_data
    - ksba_cert_get_key_usage
    - log_debug
    linkageType: ''
    returnType: void
    signature: void print_capabilities (ksba_cert_t cert, int algo, estream_t fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - t
    - fp
    argTypes:
    - gnupg_isotime_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: print_time
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - es_fputs
    linkageType: ''
    returnType: void
    signature: void print_time (gnupg_isotime_t t, estream_t fp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gnupg/sm/keylist.c:411,1
    - Dst: hexdigitp
      Src: /src/gnupg/sm/keylist.c:426,1
    - Dst: hexdigitp
      Src: /src/gnupg/sm/keylist.c:426,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/keylist.c:430,1
    - Dst: hexdigitp
      Src: /src/gnupg/sm/keylist.c:434,1
    - Dst: xtoi_2
      Src: /src/gnupg/sm/keylist.c:435,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 439
    functionName: email_kludge
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - xtrymalloc
    - xtoi_2
    - strstr
    linkageType: ''
    returnType: char
    signature: 'char *

      email_kludge (const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_user_data
      Src: /src/gnupg/sm/keylist.c:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 456
    functionName: cert_has_de_vs_flag
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - ksba_cert_get_user_data
    linkageType: ''
    returnType: int
    signature: int cert_has_de_vs_flag (ksba_cert_t cert)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cert_has_de_vs_flag
      Src: /src/gnupg/sm/keylist.c:469,1
    - Dst: gnupg_pk_is_compliant
      Src: /src/gnupg/sm/keylist.c:470,1
    - Dst: ksba_cert_get_digest_algo
      Src: /src/gnupg/sm/keylist.c:472,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/sm/keylist.c:473,1
    - Dst: strcmp
      Src: /src/gnupg/sm/keylist.c:474,1
    - Dst: gpgsm_pss_hash_algo_from_cert
      Src: /src/gnupg/sm/keylist.c:478,1
    - Dst: gnupg_digest_is_compliant
      Src: /src/gnupg/sm/keylist.c:480,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:482,1
    - Dst: gnupg_status_compliance_flag
      Src: /src/gnupg/sm/keylist.c:482,1
    - Dst: print_pk_screening
      Src: /src/gnupg/sm/keylist.c:488,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - cert
    - algo
    - nbits
    - curvename
    - fp
    argTypes:
    - ksba_cert_t
    - int
    - unsigned int
    - char*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 489
    functionName: print_compliance_flags
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 1
    functionsReached:
    - gnupg_status_compliance_flag
    - gpgsm_pss_hash_algo_from_cert
    - gnupg_pk_is_compliant
    - print_pk_screening
    - strcmp
    - gnupg_digest_is_compliant
    - ksba_cert_get_digest_algo
    - gcry_md_map_name
    - cert_has_de_vs_flag
    - es_fputs
    linkageType: ''
    returnType: void
    signature: "void print_compliance_flags (ksba_cert_t cert, int algo, unsigned
      int nbits,\n                        const char *curvename, estream_t fp)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_validate_chain
      Src: /src/gnupg/sm/keylist.c:514,1
    - Dst: gpgsm_get_fingerprint_hexstring
      Src: /src/gnupg/sm/keylist.c:521,1
    - Dst: gpgsm_walk_cert_chain
      Src: /src/gnupg/sm/keylist.c:525,1
    - Dst: gpgsm_get_fingerprint_hexstring
      Src: /src/gnupg/sm/keylist.c:528,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/keylist.c:531,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:533,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:544,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:551,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:553,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/sm/keylist.c:562,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/keylist.c:564,1
    - Dst: strcmp
      Src: /src/gnupg/sm/keylist.c:565,1
    - Dst: gpgsm_cert_has_well_known_private_key
      Src: /src/gnupg/sm/keylist.c:569,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:571,1
    - Dst: gpgsm_cert_has_well_known_private_key
      Src: /src/gnupg/sm/keylist.c:587,1
    - Dst: gpgsm_agent_istrusted
      Src: /src/gnupg/sm/keylist.c:591,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:594,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:601,1
    - Dst: gpgsm_get_key_algo_info
      Src: /src/gnupg/sm/keylist.c:603,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:604,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/keylist.c:606,1
    - Dst: print_time
      Src: /src/gnupg/sm/keylist.c:607,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:608,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/keylist.c:609,1
    - Dst: print_time
      Src: /src/gnupg/sm/keylist.c:610,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:611,1
    - Dst: ksba_cert_get_serial
      Src: /src/gnupg/sm/keylist.c:613,1
    - Dst: digitp
      Src: /src/gnupg/sm/keylist.c:621,1
    - Dst: atoi_1
      Src: /src/gnupg/sm/keylist.c:622,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:625,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:627,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:629,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:631,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/sm/keylist.c:633,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/sm/keylist.c:635,1
    - Dst: strlen
      Src: /src/gnupg/sm/keylist.c:635,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:636,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:638,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:640,1
    - Dst: print_capabilities
      Src: /src/gnupg/sm/keylist.c:642,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:643,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:645,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:647,1
    - Dst: gpgsm_get_keygrip_hexstring
      Src: /src/gnupg/sm/keylist.c:652,1
    - Dst: gpgsm_agent_keyinfo
      Src: /src/gnupg/sm/keylist.c:653,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:658,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:660,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:662,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:663,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:665,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:666,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:668,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:669,1
    - Dst: print_compliance_flags
      Src: /src/gnupg/sm/keylist.c:670,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:671,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:672,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:675,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:678,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:679,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:680,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:681,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:682,1
    - Dst: gpgsm_get_fingerprint_hexstring
      Src: /src/gnupg/sm/keylist.c:684,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:685,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:686,1
    - Dst: gpgsm_get_keygrip_hexstring
      Src: /src/gnupg/sm/keylist.c:689,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:691,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:692,1
    - Dst: print_key_data
      Src: /src/gnupg/sm/keylist.c:696,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/keylist.c:699,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:700,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/sm/keylist.c:702,1
    - Dst: strlen
      Src: /src/gnupg/sm/keylist.c:702,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:703,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:704,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:705,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:706,1
    - Dst: email_kludge
      Src: /src/gnupg/sm/keylist.c:713,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:716,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/sm/keylist.c:717,1
    - Dst: strlen
      Src: /src/gnupg/sm/keylist.c:717,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:719,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:720,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:721,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:723,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/keylist.c:725,1
    - Dst: strcmp
      Src: /src/gnupg/sm/keylist.c:730,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:732,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:735,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/sm/keylist.c:736,1
    - Dst: strlen
      Src: /src/gnupg/sm/keylist.c:736,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:737,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:738,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:739,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:740,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:742,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:743,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 154
    argCount: 5
    argNames:
    - ctrl
    - cert
    - validity
    - fp
    - have_secret
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - unsigned int
    - estream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 744
    functionName: list_cert_colon
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - gpgsm_get_key_algo_info
    - es_fprintf
    - strlen
    - digitp
    - ksba_cert_get_serial
    - print_time
    - ksba_cert_get_issuer
    - es_write_sanitized
    - gpgsm_validate_chain
    - ksba_cert_get_subject
    - es_putc
    - gpgsm_get_fingerprint_hexstring
    - ksba_cert_release
    - email_kludge
    - strcmp
    - gnupg_get_isotime
    - print_capabilities
    - xfree
    - print_compliance_flags
    - gpgsm_walk_cert_chain
    - es_fputs
    - gpgsm_agent_istrusted
    - gpgsm_get_keygrip_hexstring
    - print_key_data
    - gpgsm_cert_has_well_known_private_key
    - atoi_1
    - gpg_err_code
    - gpgsm_agent_keyinfo
    - ksba_cert_get_validity
    linkageType: ''
    returnType: void
    signature: "void list_cert_colon (ctrl_t ctrl, ksba_cert_t cert, unsigned int
      validity,\n                 estream_t fp, int have_secret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:751,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/sm/keylist.c:753,1
    - Dst: strlen
      Src: /src/gnupg/sm/keylist.c:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fp
    - string
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 754
    functionName: print_name_raw
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - es_write_sanitized
    - es_fputs
    - strlen
    linkageType: ''
    returnType: void
    signature: void print_name_raw (estream_t fp, const char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:768,1
    - Dst: ksba_name_enum
      Src: /src/gnupg/sm/keylist.c:772,1
    - Dst: ksba_name_get_uri
      Src: /src/gnupg/sm/keylist.c:774,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:775,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/sm/keylist.c:776,1
    - Dst: strlen
      Src: /src/gnupg/sm/keylist.c:776,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:777,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:778,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - fp
    - indent
    - name
    argTypes:
    - estream_t
    - int
    - ksba_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 780
    functionName: print_names_raw
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - ksba_name_enum
    - strlen
    - es_write_sanitized
    - es_putc
    - xfree
    - es_fputs
    - ksba_name_get_uri
    linkageType: ''
    returnType: void
    signature: void print_names_raw (estream_t fp, int indent, ksba_name_t name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/keylist.c:794,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keylist.c:797,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:800,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:800,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:803,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - fp
    - indent
    - der
    - derlen
    argTypes:
    - estream_t
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 804
    functionName: print_utf8_extn_raw
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - parse_ber_header
    - gpg_strerror
    - es_fprintf
    linkageType: ''
    returnType: void
    signature: "void print_utf8_extn_raw (estream_t fp, int indent,\n                     const
      unsigned char *der, size_t derlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/keylist.c:819,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keylist.c:822,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:825,1
    - Dst: _
      Src: /src/gnupg/sm/keylist.c:826,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:826,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:829,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/sm/keylist.c:831,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:832,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - fp
    - indent
    - der
    - derlen
    argTypes:
    - estream_t
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 833
    functionName: print_utf8_extn
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - parse_ber_header
    - es_fprintf
    - es_write_sanitized
    - _
    - gpg_error
    - gpg_strerror
    - es_fputs
    linkageType: ''
    returnType: void
    signature: "void print_utf8_extn (estream_t fp, int indent,\n                 const
      unsigned char *der, size_t derlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:844,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:846,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - fp
    - indent
    - der
    - derlen
    argTypes:
    - estream_t
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 848
    functionName: print_hex_extn
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    linkageType: ''
    returnType: void
    signature: "void print_hex_extn (estream_t fp, int indent,\n                const
      unsigned char *der, size_t derlen)"
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:877,1
    - Dst: gpgsm_get_short_fingerprint
      Src: /src/gnupg/sm/keylist.c:878,1
    - Dst: ksba_cert_get_serial
      Src: /src/gnupg/sm/keylist.c:880,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:881,1
    - Dst: gpgsm_print_serial
      Src: /src/gnupg/sm/keylist.c:882,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:883,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:884,1
    - Dst: gpgsm_print_serial_decimal
      Src: /src/gnupg/sm/keylist.c:885,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:886,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/keylist.c:887,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/sm/keylist.c:889,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:890,1
    - Dst: print_name_raw
      Src: /src/gnupg/sm/keylist.c:891,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/keylist.c:892,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:893,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/sm/keylist.c:894,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:896,1
    - Dst: print_name_raw
      Src: /src/gnupg/sm/keylist.c:897,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/keylist.c:898,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:899,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/keylist.c:902,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:903,1
    - Dst: print_name_raw
      Src: /src/gnupg/sm/keylist.c:904,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/keylist.c:905,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:906,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/keylist.c:907,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:909,1
    - Dst: print_name_raw
      Src: /src/gnupg/sm/keylist.c:910,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/keylist.c:911,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:912,1
    - Dst: gpgsm_get_fingerprint_string
      Src: /src/gnupg/sm/keylist.c:915,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:916,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:917,1
    - Dst: gpgsm_get_fingerprint_string
      Src: /src/gnupg/sm/keylist.c:919,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:920,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:921,1
    - Dst: gpgsm_get_fingerprint_string
      Src: /src/gnupg/sm/keylist.c:923,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:924,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:925,1
    - Dst: gpgsm_pubkey_algo_string
      Src: /src/gnupg/sm/keylist.c:928,1
    - Dst: ksba_cert_get_public_key
      Src: /src/gnupg/sm/keylist.c:943,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/keylist.c:946,1
    - Dst: isotime2epoch
      Src: /src/gnupg/sm/keylist.c:947,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/keylist.c:950,1
    - Dst: log_error
      Src: /src/gnupg/sm/keylist.c:952,1
    - Dst: get_rsa_pk_from_canon_sexp
      Src: /src/gnupg/sm/keylist.c:953,1
    - Dst: compute_openpgp_fpr_rsa
      Src: /src/gnupg/sm/keylist.c:955,1
    - Dst: bin2hex
      Src: /src/gnupg/sm/keylist.c:960,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:961,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:962,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/keylist.c:964,1
    - Dst: gpgsm_get_certid
      Src: /src/gnupg/sm/keylist.c:968,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:969,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:970,1
    - Dst: gpgsm_get_keygrip_hexstring
      Src: /src/gnupg/sm/keylist.c:972,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:973,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:974,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/keylist.c:976,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:977,1
    - Dst: gpgsm_print_time
      Src: /src/gnupg/sm/keylist.c:978,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:979,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:980,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/keylist.c:981,1
    - Dst: gpgsm_print_time
      Src: /src/gnupg/sm/keylist.c:982,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:983,1
    - Dst: ksba_cert_get_digest_algo
      Src: /src/gnupg/sm/keylist.c:985,1
    - Dst: get_oid_desc
      Src: /src/gnupg/sm/keylist.c:986,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:987,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:989,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:992,1
    - Dst: ksba_cert_get_subj_key_id
      Src: /src/gnupg/sm/keylist.c:993,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:994,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:996,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:997,1
    - Dst: gpgsm_print_serial
      Src: /src/gnupg/sm/keylist.c:1000,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/keylist.c:1001,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1002,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1006,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1010,1
    - Dst: ksba_cert_get_auth_key_id
      Src: /src/gnupg/sm/keylist.c:1011,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1012,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1014,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1015,1
    - Dst: gpgsm_print_serial
      Src: /src/gnupg/sm/keylist.c:1018,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/keylist.c:1019,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1020,1
    - Dst: print_names_raw
      Src: /src/gnupg/sm/keylist.c:1021,1
    - Dst: ksba_name_release
      Src: /src/gnupg/sm/keylist.c:1022,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1026,1
    - Dst: gpgsm_print_serial
      Src: /src/gnupg/sm/keylist.c:1027,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/keylist.c:1028,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1029,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1033,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1035,1
    - Dst: ksba_cert_get_key_usage
      Src: /src/gnupg/sm/keylist.c:1036,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1037,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1040,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1040,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1044,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1046,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1048,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1050,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1052,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1054,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1056,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1058,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1060,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1062,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1065,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1067,1
    - Dst: ksba_cert_get_ext_key_usages
      Src: /src/gnupg/sm/keylist.c:1068,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1069,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1072,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1072,1
    - Dst: strchr
      Src: /src/gnupg/sm/keylist.c:1076,1
    - Dst: get_oid_desc
      Src: /src/gnupg/sm/keylist.c:1079,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1080,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1083,1
    - Dst: strchr
      Src: /src/gnupg/sm/keylist.c:1084,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1087,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:1090,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1092,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1095,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1098,1
    - Dst: ksba_cert_get_cert_policies
      Src: /src/gnupg/sm/keylist.c:1099,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1100,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1103,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1103,1
    - Dst: strchr
      Src: /src/gnupg/sm/keylist.c:1107,1
    - Dst: get_oid_desc
      Src: /src/gnupg/sm/keylist.c:1110,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1111,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1114,1
    - Dst: strchr
      Src: /src/gnupg/sm/keylist.c:1115,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1118,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:1121,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1123,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1126,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1128,1
    - Dst: ksba_cert_is_ca
      Src: /src/gnupg/sm/keylist.c:1129,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1132,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1133,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1135,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1135,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1137,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1139,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1140,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1143,1
    - Dst: ksba_cert_get_crl_dist_point
      Src: /src/gnupg/sm/keylist.c:1147,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1150,1
    - Dst: print_names_raw
      Src: /src/gnupg/sm/keylist.c:1151,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1154,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1156,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1158,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1160,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1162,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1164,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1166,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1168,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1169,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1171,1
    - Dst: print_names_raw
      Src: /src/gnupg/sm/keylist.c:1172,1
    - Dst: ksba_name_release
      Src: /src/gnupg/sm/keylist.c:1173,1
    - Dst: ksba_name_release
      Src: /src/gnupg/sm/keylist.c:1174,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1176,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1177,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1178,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1180,1
    - Dst: ksba_cert_get_authority_info_access
      Src: /src/gnupg/sm/keylist.c:1184,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1187,1
    - Dst: get_oid_desc
      Src: /src/gnupg/sm/keylist.c:1188,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1189,1
    - Dst: print_names_raw
      Src: /src/gnupg/sm/keylist.c:1190,1
    - Dst: ksba_name_release
      Src: /src/gnupg/sm/keylist.c:1191,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/keylist.c:1192,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1194,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1195,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1196,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1198,1
    - Dst: ksba_cert_get_subject_info_access
      Src: /src/gnupg/sm/keylist.c:1201,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1204,1
    - Dst: get_oid_desc
      Src: /src/gnupg/sm/keylist.c:1205,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1206,1
    - Dst: print_names_raw
      Src: /src/gnupg/sm/keylist.c:1207,1
    - Dst: ksba_name_release
      Src: /src/gnupg/sm/keylist.c:1208,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/keylist.c:1209,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1211,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1212,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1213,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1215,1
    - Dst: ksba_cert_get_extension
      Src: /src/gnupg/sm/keylist.c:1218,1
    - Dst: get_oid_desc
      Src: /src/gnupg/sm/keylist.c:1223,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1227,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/keylist.c:1233,1
    - Dst: log_assert
      Src: /src/gnupg/sm/keylist.c:1234,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1235,1
    - Dst: print_utf8_extn_raw
      Src: /src/gnupg/sm/keylist.c:1236,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/keylist.c:1241,1
    - Dst: log_assert
      Src: /src/gnupg/sm/keylist.c:1242,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1243,1
    - Dst: print_hex_extn
      Src: /src/gnupg/sm/keylist.c:1244,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1247,1
    - Dst: gpgsm_validate_chain
      Src: /src/gnupg/sm/keylist.c:1253,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1255,1
    - Dst: check_isotime
      Src: /src/gnupg/sm/keylist.c:1256,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1258,1
    - Dst: gpgsm_print_time
      Src: /src/gnupg/sm/keylist.c:1259,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1261,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1262,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1265,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1267,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1267,1
    - Dst: keydb_get_flags
      Src: /src/gnupg/sm/keylist.c:1274,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1276,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1276,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1278,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:1281,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 290
    argCount: 6
    argNames:
    - ctrl
    - hd
    - cert
    - fp
    - have_secret
    - with_validation
    argTypes:
    - ctrl_t
    - KEYDB_HANDLE
    - ksba_cert_t
    - estream_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 854
    functionDepth: 3
    functionLinenumber: 854
    functionLinenumberEnd: 1282
    functionName: list_cert_raw
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - ksba_cert_get_crl_dist_point
    - ksba_free
    - es_fprintf
    - ksba_cert_get_public_key
    - log_assert
    - gpgsm_print_serial
    - print_name_raw
    - get_oid_desc
    - ksba_name_release
    - ksba_cert_get_extension
    - gcry_sexp_canon_len
    - print_hex_extn
    - ksba_cert_get_serial
    - ksba_cert_get_key_usage
    - ksba_cert_is_ca
    - ksba_cert_get_issuer
    - ksba_cert_get_auth_key_id
    - log_error
    - ksba_cert_get_cert_policies
    - gpgsm_validate_chain
    - ksba_cert_get_subject
    - es_putc
    - gpgsm_get_fingerprint_string
    - gpgsm_get_certid
    - gpgsm_print_serial_decimal
    - gpgsm_pubkey_algo_string
    - print_names_raw
    - gpgsm_get_short_fingerprint
    - ksba_cert_get_ext_key_usages
    - check_isotime
    - ksba_cert_get_authority_info_access
    - strchr
    - ksba_cert_get_digest_algo
    - xfree
    - gpg_strerror
    - keydb_get_flags
    - compute_openpgp_fpr_rsa
    - es_fputs
    - get_rsa_pk_from_canon_sexp
    - print_utf8_extn_raw
    - gpgsm_print_time
    - gpgsm_get_keygrip_hexstring
    - bin2hex
    - ksba_cert_get_image
    - ksba_cert_get_subject_info_access
    - gpg_err_code
    - isotime2epoch
    - ksba_cert_get_subj_key_id
    - ksba_cert_get_validity
    linkageType: ''
    returnType: void
    signature: "void list_cert_raw (ctrl_t ctrl, KEYDB_HANDLE hd,\n               ksba_cert_t
      cert, estream_t fp, int have_secret,\n               int with_validation)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1305,1
    - Dst: gpgsm_get_short_fingerprint
      Src: /src/gnupg/sm/keylist.c:1306,1
    - Dst: ksba_cert_get_serial
      Src: /src/gnupg/sm/keylist.c:1308,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1309,1
    - Dst: gpgsm_print_serial
      Src: /src/gnupg/sm/keylist.c:1310,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1311,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1312,1
    - Dst: gpgsm_print_serial_decimal
      Src: /src/gnupg/sm/keylist.c:1313,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1314,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/keylist.c:1315,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/sm/keylist.c:1317,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1318,1
    - Dst: gpgsm_es_print_name
      Src: /src/gnupg/sm/keylist.c:1319,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/keylist.c:1320,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1321,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/sm/keylist.c:1322,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1324,1
    - Dst: gpgsm_es_print_name
      Src: /src/gnupg/sm/keylist.c:1325,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/keylist.c:1326,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1327,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/keylist.c:1330,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1331,1
    - Dst: gpgsm_es_print_name
      Src: /src/gnupg/sm/keylist.c:1332,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/keylist.c:1333,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1334,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/keylist.c:1335,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1337,1
    - Dst: gpgsm_es_print_name
      Src: /src/gnupg/sm/keylist.c:1338,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/keylist.c:1339,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1340,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/keylist.c:1343,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1344,1
    - Dst: gpgsm_print_time
      Src: /src/gnupg/sm/keylist.c:1345,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1346,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/keylist.c:1347,1
    - Dst: gpgsm_print_time
      Src: /src/gnupg/sm/keylist.c:1348,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1349,1
    - Dst: gpgsm_pubkey_algo_string
      Src: /src/gnupg/sm/keylist.c:1355,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1356,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:1357,1
    - Dst: ksba_cert_get_key_usage
      Src: /src/gnupg/sm/keylist.c:1360,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1361,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1363,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1365,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1365,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1369,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1371,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1373,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1375,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1377,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1379,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1381,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1383,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1385,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1387,1
    - Dst: ksba_cert_get_ext_key_usages
      Src: /src/gnupg/sm/keylist.c:1390,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1391,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1393,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1395,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1395,1
    - Dst: strchr
      Src: /src/gnupg/sm/keylist.c:1399,1
    - Dst: get_oid_desc
      Src: /src/gnupg/sm/keylist.c:1402,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1403,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1406,1
    - Dst: strchr
      Src: /src/gnupg/sm/keylist.c:1407,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1410,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:1413,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1415,1
    - Dst: ksba_cert_get_extension
      Src: /src/gnupg/sm/keylist.c:1419,1
    - Dst: strcmp
      Src: /src/gnupg/sm/keylist.c:1422,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/keylist.c:1425,1
    - Dst: log_assert
      Src: /src/gnupg/sm/keylist.c:1426,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1427,1
    - Dst: print_utf8_extn
      Src: /src/gnupg/sm/keylist.c:1428,1
    - Dst: ksba_cert_get_cert_policies
      Src: /src/gnupg/sm/keylist.c:1433,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1434,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1436,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1438,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1438,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/sm/keylist.c:1446,1
    - Dst: strlen
      Src: /src/gnupg/sm/keylist.c:1446,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:1447,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1449,1
    - Dst: ksba_cert_is_ca
      Src: /src/gnupg/sm/keylist.c:1452,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1455,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1456,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1457,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1459,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1459,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1461,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1463,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1464,1
    - Dst: gpgsm_get_fingerprint_string
      Src: /src/gnupg/sm/keylist.c:1469,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1470,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:1471,1
    - Dst: gpgsm_get_fingerprint_string
      Src: /src/gnupg/sm/keylist.c:1474,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1475,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:1476,1
    - Dst: gpgsm_get_fingerprint_string
      Src: /src/gnupg/sm/keylist.c:1478,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1479,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:1480,1
    - Dst: gpgsm_get_keygrip_hexstring
      Src: /src/gnupg/sm/keylist.c:1484,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1487,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:1488,1
    - Dst: print_pk_screening
      Src: /src/gnupg/sm/keylist.c:1493,1
    - Dst: gpgsm_get_keygrip_hexstring
      Src: /src/gnupg/sm/keylist.c:1499,1
    - Dst: gpgsm_agent_keyinfo
      Src: /src/gnupg/sm/keylist.c:1500,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1501,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:1502,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:1503,1
    - Dst: gpgsm_validate_chain
      Src: /src/gnupg/sm/keylist.c:1512,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1514,1
    - Dst: check_isotime
      Src: /src/gnupg/sm/keylist.c:1515,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1517,1
    - Dst: gpgsm_print_time
      Src: /src/gnupg/sm/keylist.c:1518,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1520,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1521,1
    - Dst: ksba_cert_get_user_data
      Src: /src/gnupg/sm/keylist.c:1523,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1528,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1530,1
    - Dst: log_debug
      Src: /src/gnupg/sm/keylist.c:1533,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1534,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1537,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1539,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1539,1
    - Dst: es_fflush
      Src: /src/gnupg/sm/keylist.c:1542,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 176
    argCount: 5
    argNames:
    - ctrl
    - cert
    - fp
    - have_secret
    - with_validation
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - estream_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1288
    functionDepth: 2
    functionLinenumber: 1288
    functionLinenumberEnd: 1543
    functionName: list_cert_std
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - ksba_free
    - es_fprintf
    - log_assert
    - strlen
    - gpgsm_print_serial
    - get_oid_desc
    - ksba_cert_get_extension
    - ksba_cert_get_serial
    - es_fflush
    - ksba_cert_get_key_usage
    - ksba_cert_is_ca
    - ksba_cert_get_issuer
    - ksba_cert_get_cert_policies
    - es_write_sanitized
    - ksba_cert_get_subject
    - gpgsm_validate_chain
    - es_putc
    - ksba_cert_get_user_data
    - gpgsm_get_fingerprint_string
    - log_debug
    - gpgsm_print_serial_decimal
    - gpgsm_pubkey_algo_string
    - ksba_cert_get_ext_key_usages
    - gpgsm_get_short_fingerprint
    - check_isotime
    - print_pk_screening
    - strcmp
    - strchr
    - xfree
    - gpg_strerror
    - es_fputs
    - gpgsm_es_print_name
    - gpgsm_print_time
    - gpgsm_get_keygrip_hexstring
    - ksba_cert_get_image
    - gpg_err_code
    - print_utf8_extn
    - gpgsm_agent_keyinfo
    - ksba_cert_get_validity
    linkageType: ''
    returnType: void
    signature: "void list_cert_std (ctrl_t ctrl, ksba_cert_t cert, estream_t fp, int
      have_secret,\n               int with_validation)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: list_cert_raw
      Src: /src/gnupg/sm/keylist.c:1556,1
    - Dst: list_cert_std
      Src: /src/gnupg/sm/keylist.c:1558,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/sm/keylist.c:1559,1
    - Dst: gpgsm_walk_cert_chain
      Src: /src/gnupg/sm/keylist.c:1560,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1562,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/keylist.c:1565,1
    - Dst: _
      Src: /src/gnupg/sm/keylist.c:1565,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/keylist.c:1568,1
    - Dst: list_cert_raw
      Src: /src/gnupg/sm/keylist.c:1570,1
    - Dst: list_cert_std
      Src: /src/gnupg/sm/keylist.c:1572,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/keylist.c:1575,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 6
    argNames:
    - ctrl
    - hd
    - cert
    - raw_mode
    - fp
    - with_validation
    argTypes:
    - ctrl_t
    - KEYDB_HANDLE
    - ksba_cert_t
    - int
    - estream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1547
    functionDepth: 4
    functionLinenumber: 1547
    functionLinenumberEnd: 1577
    functionName: list_cert_chain
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - list_cert_raw
    - ksba_cert_ref
    - _
    - es_putc
    - gpgsm_walk_cert_chain
    - es_fputs
    - list_cert_std
    - ksba_cert_release
    linkageType: ''
    returnType: void
    signature: "void list_cert_chain (ctrl_t ctrl, KEYDB_HANDLE hd,\n                 ksba_cert_t
      cert, int raw_mode,\n                 estream_t fp, int with_validation)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: keydb_new
      Src: /src/gnupg/sm/keylist.c:1601,1
    - Dst: log_error
      Src: /src/gnupg/sm/keylist.c:1604,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keylist.c:1605,1
    - Dst: xtrycalloc
      Src: /src/gnupg/sm/keylist.c:1617,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/keylist.c:1620,1
    - Dst: log_error
      Src: /src/gnupg/sm/keylist.c:1621,1
    - Dst: classify_user_id
      Src: /src/gnupg/sm/keylist.c:1631,1
    - Dst: log_error
      Src: /src/gnupg/sm/keylist.c:1634,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1635,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/keylist.c:1660,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/keylist.c:1671,1
    - Dst: keydb_get_flags
      Src: /src/gnupg/sm/keylist.c:1678,1
    - Dst: log_error
      Src: /src/gnupg/sm/keylist.c:1681,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1681,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/keylist.c:1684,1
    - Dst: log_error
      Src: /src/gnupg/sm/keylist.c:1687,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1687,1
    - Dst: gpgsm_certs_identical_p
      Src: /src/gnupg/sm/keylist.c:1693,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/keylist.c:1695,1
    - Dst: keydb_get_resource_name
      Src: /src/gnupg/sm/keylist.c:1700,1
    - Dst: es_clearerr
      Src: /src/gnupg/sm/keylist.c:1702,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1709,1
    - Dst: strlen
      Src: /src/gnupg/sm/keylist.c:1710,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1711,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1712,1
    - Dst: gpgsm_get_keygrip_hexstring
      Src: /src/gnupg/sm/keylist.c:1720,1
    - Dst: gpgsm_agent_havekey
      Src: /src/gnupg/sm/keylist.c:1723,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1726,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:1729,1
    - Dst: list_cert_colon
      Src: /src/gnupg/sm/keylist.c:1737,1
    - Dst: list_cert_chain
      Src: /src/gnupg/sm/keylist.c:1739,1
    - Dst: list_cert_raw
      Src: /src/gnupg/sm/keylist.c:1744,1
    - Dst: list_cert_std
      Src: /src/gnupg/sm/keylist.c:1747,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1749,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/keylist.c:1753,1
    - Dst: es_ferror
      Src: /src/gnupg/sm/keylist.c:1757,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/keylist.c:1758,1
    - Dst: es_fflush
      Src: /src/gnupg/sm/keylist.c:1762,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/keylist.c:1763,1
    - Dst: log_error
      Src: /src/gnupg/sm/keylist.c:1767,1
    - Dst: _
      Src: /src/gnupg/sm/keylist.c:1767,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1767,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1771,1
    - Dst: log_error
      Src: /src/gnupg/sm/keylist.c:1774,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1774,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/keylist.c:1777,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/keylist.c:1778,1
    - Dst: xfree
      Src: /src/gnupg/sm/keylist.c:1779,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/keylist.c:1780,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 119
    argCount: 5
    argNames:
    - ctrl
    - names
    - fp
    - mode
    - raw_mode
    argTypes:
    - ctrl_t
    - strlist_t
    - estream_t
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1586
    functionDepth: 5
    functionLinenumber: 1586
    functionLinenumberEnd: 1782
    functionName: list_internal_keys
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - list_cert_raw
    - strlen
    - es_fflush
    - list_cert_std
    - keydb_new
    - log_error
    - es_putc
    - _
    - list_cert_colon
    - keydb_get_cert
    - es_ferror
    - ksba_cert_release
    - gpg_error_from_syserror
    - keydb_search
    - gpg_error
    - gpg_strerror
    - xfree
    - keydb_get_flags
    - xtrycalloc
    - keydb_get_resource_name
    - keydb_set_ephemeral
    - gpgsm_agent_havekey
    - gpgsm_get_keygrip_hexstring
    - gpgsm_certs_identical_p
    - list_cert_chain
    - classify_user_id
    - gpg_err_code
    - keydb_release
    - es_clearerr
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t list_internal_keys (ctrl_t ctrl, strlist_t names, estream_t
      fp,\n                    unsigned int mode, int raw_mode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: keydb_store_cert
      Src: /src/gnupg/sm/keylist.c:1791,1
    - Dst: log_error
      Src: /src/gnupg/sm/keylist.c:1792,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1799,1
    - Dst: strlen
      Src: /src/gnupg/sm/keylist.c:1800,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1801,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1802,1
    - Dst: list_cert_colon
      Src: /src/gnupg/sm/keylist.c:1807,1
    - Dst: list_cert_chain
      Src: /src/gnupg/sm/keylist.c:1809,1
    - Dst: list_cert_raw
      Src: /src/gnupg/sm/keylist.c:1813,1
    - Dst: list_cert_std
      Src: /src/gnupg/sm/keylist.c:1815,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1816,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - cb_value
    - cert
    argTypes:
    - void*
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1786
    functionDepth: 5
    functionLinenumber: 1786
    functionLinenumberEnd: 1818
    functionName: list_external_cb
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - list_cert_raw
    - strlen
    - log_error
    - es_putc
    - list_cert_colon
    - list_cert_chain
    - keydb_store_cert
    - list_cert_std
    linkageType: ''
    returnType: void
    signature: void list_external_cb (void *cb_value, ksba_cert_t cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_dirmngr_lookup
      Src: /src/gnupg/sm/keylist.c:1837,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1838,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1839,1
    - Dst: log_error
      Src: /src/gnupg/sm/keylist.c:1842,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1842,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ctrl
    - names
    - fp
    - raw_mode
    argTypes:
    - ctrl_t
    - strlist_t
    - estream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1824
    functionDepth: 1
    functionLinenumber: 1824
    functionLinenumberEnd: 1844
    functionName: list_external_keys
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - gpgsm_dirmngr_lookup
    - gpg_strerror
    - gpg_err_code
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t list_external_keys (ctrl_t ctrl, strlist_t names, estream_t
      fp, int raw_mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_internal_keys
      Src: /src/gnupg/sm/keylist.c:1864,1
    - Dst: list_external_keys
      Src: /src/gnupg/sm/keylist.c:1866,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ctrl
    - names
    - fp
    - mode
    argTypes:
    - ctrl_t
    - strlist_t
    - estream_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1857
    functionDepth: 6
    functionLinenumber: 1857
    functionLinenumberEnd: 1868
    functionName: gpgsm_list_keys
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - list_external_keys
    - list_internal_keys
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gpgsm_list_keys (ctrl_t ctrl, strlist_t names, estream_t
      fp,\n                 unsigned int mode)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/sm/keylist.c:1889,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/keylist.c:1892,1
    - Dst: log_error
      Src: /src/gnupg/sm/keylist.c:1893,1
    - Dst: _
      Src: /src/gnupg/sm/keylist.c:1893,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1893,1
    - Dst: gnupg_ksba_create_reader
      Src: /src/gnupg/sm/keylist.c:1898,1
    - Dst: log_error
      Src: /src/gnupg/sm/keylist.c:1906,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keylist.c:1906,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/keylist.c:1913,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/sm/keylist.c:1915,1
    - Dst: ksba_cert_read_der
      Src: /src/gnupg/sm/keylist.c:1919,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/keylist.c:1923,1
    - Dst: list_cert_raw
      Src: /src/gnupg/sm/keylist.c:1924,1
    - Dst: es_putc
      Src: /src/gnupg/sm/keylist.c:1925,1
    - Dst: ksba_reader_clear
      Src: /src/gnupg/sm/keylist.c:1928,1
    - Dst: gnupg_ksba_reader_eof_seen
      Src: /src/gnupg/sm/keylist.c:1930,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keylist.c:1933,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/keylist.c:1935,1
    - Dst: gnupg_ksba_destroy_reader
      Src: /src/gnupg/sm/keylist.c:1936,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/keylist.c:1938,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 3
    argNames:
    - ctrl
    - fname
    - outfp
    argTypes:
    - ctrl_t
    - char*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1872
    functionDepth: 4
    functionLinenumber: 1872
    functionLinenumberEnd: 1940
    functionName: do_show_certs
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - ksba_reader_clear
    - ksba_cert_new
    - es_fprintf
    - list_cert_raw
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - _
    - es_putc
    - gnupg_ksba_reader_eof_seen
    - gpg_strerror
    - es_fopen
    - gnupg_ksba_create_reader
    - gpg_err_code
    - ksba_cert_release
    - ksba_cert_read_der
    - gnupg_ksba_destroy_reader
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_show_certs (ctrl_t ctrl, const char *fname, estream_t
      outfp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_show_certs
      Src: /src/gnupg/sm/keylist.c:1952,1
    - Dst: do_show_certs
      Src: /src/gnupg/sm/keylist.c:1957,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ctrl
    - nfiles
    - files
    - fp
    argTypes:
    - ctrl_t
    - int
    - char**
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1945
    functionDepth: 5
    functionLinenumber: 1945
    functionLinenumberEnd: 1963
    functionName: gpgsm_show_certs
    functionSourceFile: /src/gnupg/sm/keylist.c
    functionUses: 0
    functionsReached:
    - do_show_certs
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpgsm_show_certs (ctrl_t ctrl, int nfiles, char **files,
      estream_t fp)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_ext_key_usages
      Src: /src/gnupg/sm/certlist.c:69,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certlist.c:70,1
    - Dst: strchr
      Src: /src/gnupg/sm/certlist.c:84,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certlist.c:91,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certlist.c:95,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certlist.c:98,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certlist.c:100,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certlist.c:105,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certlist.c:114,1
    - Dst: strchr
      Src: /src/gnupg/sm/certlist.c:117,1
    - Dst: xfree
      Src: /src/gnupg/sm/certlist.c:120,1
    - Dst: ksba_cert_get_key_usage
      Src: /src/gnupg/sm/certlist.c:128,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certlist.c:129,1
    - Dst: log_info
      Src: /src/gnupg/sm/certlist.c:133,1
    - Dst: _
      Src: /src/gnupg/sm/certlist.c:133,1
    - Dst: log_error
      Src: /src/gnupg/sm/certlist.c:143,1
    - Dst: _
      Src: /src/gnupg/sm/certlist.c:143,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certlist.c:144,1
    - Dst: xfree
      Src: /src/gnupg/sm/certlist.c:145,1
    - Dst: log_info
      Src: /src/gnupg/sm/certlist.c:154,1
    - Dst: _
      Src: /src/gnupg/sm/certlist.c:154,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certlist.c:156,1
    - Dst: log_info
      Src: /src/gnupg/sm/certlist.c:167,1
    - Dst: _
      Src: /src/gnupg/sm/certlist.c:167,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certlist.c:169,1
    - Dst: gpgsm_is_ecc_key
      Src: /src/gnupg/sm/certlist.c:174,1
    - Dst: log_info
      Src: /src/gnupg/sm/certlist.c:183,1
    - Dst: _
      Src: /src/gnupg/sm/certlist.c:184,1
    - Dst: _
      Src: /src/gnupg/sm/certlist.c:186,1
    - Dst: _
      Src: /src/gnupg/sm/certlist.c:188,1
    - Dst: _
      Src: /src/gnupg/sm/certlist.c:189,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certlist.c:191,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 70
    argCount: 3
    argNames:
    - cert
    - mode
    - silent
    argTypes:
    - ksba_cert_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 192
    functionName: cert_usage_p
    functionSourceFile: /src/gnupg/sm/certlist.c
    functionUses: 0
    functionsReached:
    - ksba_cert_get_ext_key_usages
    - log_error
    - _
    - strcmp
    - strchr
    - gpg_error
    - gpg_err_code
    - xfree
    - log_info
    - gpg_strerror
    - gpgsm_is_ecc_key
    - ksba_cert_get_key_usage
    linkageType: ''
    returnType: int
    signature: int cert_usage_p (ksba_cert_t cert, int mode, int silent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cert_usage_p
      Src: /src/gnupg/sm/certlist.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - silent
    argTypes:
    - ksba_cert_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: gpgsm_cert_use_sign_p
    functionSourceFile: /src/gnupg/sm/certlist.c
    functionUses: 0
    functionsReached:
    - cert_usage_p
    linkageType: ''
    returnType: int
    signature: int gpgsm_cert_use_sign_p (ksba_cert_t cert, int silent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cert_usage_p
      Src: /src/gnupg/sm/certlist.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: gpgsm_cert_use_encrypt_p
    functionSourceFile: /src/gnupg/sm/certlist.c
    functionUses: 0
    functionsReached:
    - cert_usage_p
    linkageType: ''
    returnType: int
    signature: int gpgsm_cert_use_encrypt_p (ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cert_usage_p
      Src: /src/gnupg/sm/certlist.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: gpgsm_cert_use_verify_p
    functionSourceFile: /src/gnupg/sm/certlist.c
    functionUses: 1
    functionsReached:
    - cert_usage_p
    linkageType: ''
    returnType: int
    signature: int gpgsm_cert_use_verify_p (ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cert_usage_p
      Src: /src/gnupg/sm/certlist.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: gpgsm_cert_use_decrypt_p
    functionSourceFile: /src/gnupg/sm/certlist.c
    functionUses: 0
    functionsReached:
    - cert_usage_p
    linkageType: ''
    returnType: int
    signature: int gpgsm_cert_use_decrypt_p (ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cert_usage_p
      Src: /src/gnupg/sm/certlist.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: gpgsm_cert_use_cert_p
    functionSourceFile: /src/gnupg/sm/certlist.c
    functionUses: 0
    functionsReached:
    - cert_usage_p
    linkageType: ''
    returnType: int
    signature: int gpgsm_cert_use_cert_p (ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cert_usage_p
      Src: /src/gnupg/sm/certlist.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: gpgsm_cert_use_ocsp_p
    functionSourceFile: /src/gnupg/sm/certlist.c
    functionUses: 0
    functionsReached:
    - cert_usage_p
    linkageType: ''
    returnType: int
    signature: int gpgsm_cert_use_ocsp_p (ksba_cert_t cert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_extension
      Src: /src/gnupg/sm/certlist.c:242,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certlist.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 247
    functionName: gpgsm_cert_has_well_known_private_key
    functionSourceFile: /src/gnupg/sm/certlist.c
    functionUses: 1
    functionsReached:
    - strcmp
    - ksba_cert_get_extension
    linkageType: ''
    returnType: int
    signature: int gpgsm_cert_has_well_known_private_key (ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/certlist.c:253,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/sm/certlist.c:254,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certlist.c:258,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certlist.c:260,1
    - Dst: xfree
      Src: /src/gnupg/sm/certlist.c:261,1
    - Dst: xfree
      Src: /src/gnupg/sm/certlist.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - subject
    - issuer
    - cert
    argTypes:
    - char*
    - char*
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 264
    functionName: same_subject_issuer
    functionSourceFile: /src/gnupg/sm/certlist.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ksba_cert_get_subject
    - xfree
    - ksba_cert_get_issuer
    linkageType: ''
    returnType: int
    signature: int same_subject_issuer (const char *subject, const char *issuer, ksba_cert_t
      cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/certlist.c:274,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/certlist.c:277,1
    - Dst: memcmp
      Src: /src/gnupg/sm/certlist.c:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - cert_a
    - cert_b
    argTypes:
    - ksba_cert_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 282
    functionName: gpgsm_certs_identical_p
    functionSourceFile: /src/gnupg/sm/certlist.c
    functionUses: 1
    functionsReached:
    - memcmp
    - ksba_cert_get_image
    linkageType: ''
    returnType: int
    signature: int gpgsm_certs_identical_p (ksba_cert_t cert_a, ksba_cert_t cert_b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/certlist.c:292,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/certlist.c:297,1
    - Dst: memcmp
      Src: /src/gnupg/sm/certlist.c:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - cert
    - certlist
    argTypes:
    - ksba_cert_t
    - certlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 303
    functionName: is_cert_in_certlist
    functionSourceFile: /src/gnupg/sm/certlist.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ksba_cert_get_image
    linkageType: ''
    returnType: int
    signature: int is_cert_in_certlist (ksba_cert_t cert, certlist_t certlist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_cert_in_certlist
      Src: /src/gnupg/sm/certlist.c:314,1
    - Dst: xtrycalloc
      Src: /src/gnupg/sm/certlist.c:316,1
    - Dst: out_of_core
      Src: /src/gnupg/sm/certlist.c:318,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/sm/certlist.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ctrl
    - cert
    - listaddr
    - is_encrypt_to
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - certlist_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 326
    functionName: gpgsm_add_cert_to_certlist
    functionSourceFile: /src/gnupg/sm/certlist.c
    functionUses: 0
    functionsReached:
    - is_cert_in_certlist
    - ksba_cert_ref
    - out_of_core
    - xtrycalloc
    linkageType: ''
    returnType: int
    signature: "int gpgsm_add_cert_to_certlist (ctrl_t ctrl, ksba_cert_t cert,\n                            certlist_t
      *listaddr, int is_encrypt_to)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/sm/certlist.c:343,1
    - Dst: classify_user_id
      Src: /src/gnupg/sm/certlist.c:345,1
    - Dst: keydb_new
      Src: /src/gnupg/sm/certlist.c:348,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certlist.c:350,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/certlist.c:359,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/certlist.c:361,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/certlist.c:368,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/sm/certlist.c:369,1
    - Dst: gpgsm_cert_use_sign_p
      Src: /src/gnupg/sm/certlist.c:371,1
    - Dst: gpgsm_cert_use_encrypt_p
      Src: /src/gnupg/sm/certlist.c:372,1
    - Dst: check_validity_period_cm
      Src: /src/gnupg/sm/certlist.c:374,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certlist.c:377,1
    - Dst: same_subject_issuer
      Src: /src/gnupg/sm/certlist.c:382,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certlist.c:386,1
    - Dst: log_info
      Src: /src/gnupg/sm/certlist.c:388,1
    - Dst: _
      Src: /src/gnupg/sm/certlist.c:388,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certlist.c:394,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certlist.c:395,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certlist.c:399,1
    - Dst: log_info
      Src: /src/gnupg/sm/certlist.c:401,1
    - Dst: _
      Src: /src/gnupg/sm/certlist.c:401,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/certlist.c:416,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certlist.c:417,1
    - Dst: gpgsm_add_cert_to_certlist
      Src: /src/gnupg/sm/certlist.c:426,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/certlist.c:437,1
    - Dst: same_subject_issuer
      Src: /src/gnupg/sm/certlist.c:441,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certlist.c:445,1
    - Dst: gpgsm_cert_use_sign_p
      Src: /src/gnupg/sm/certlist.c:446,1
    - Dst: gpgsm_cert_use_encrypt_p
      Src: /src/gnupg/sm/certlist.c:447,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certlist.c:451,1
    - Dst: check_validity_period_cm
      Src: /src/gnupg/sm/certlist.c:452,1
    - Dst: gpgsm_add_cert_to_certlist
      Src: /src/gnupg/sm/certlist.c:468,1
    - Dst: is_cert_in_certlist
      Src: /src/gnupg/sm/certlist.c:472,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certlist.c:476,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certlist.c:480,1
    - Dst: gpgsm_release_certlist
      Src: /src/gnupg/sm/certlist.c:482,1
    - Dst: xfree
      Src: /src/gnupg/sm/certlist.c:484,1
    - Dst: xfree
      Src: /src/gnupg/sm/certlist.c:485,1
    - Dst: is_cert_in_certlist
      Src: /src/gnupg/sm/certlist.c:489,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certlist.c:500,1
    - Dst: gpgsm_get_keygrip_hexstring
      Src: /src/gnupg/sm/certlist.c:501,1
    - Dst: gpgsm_agent_havekey
      Src: /src/gnupg/sm/certlist.c:504,1
    - Dst: xfree
      Src: /src/gnupg/sm/certlist.c:506,1
    - Dst: gpgsm_validate_chain
      Src: /src/gnupg/sm/certlist.c:511,1
    - Dst: xtrycalloc
      Src: /src/gnupg/sm/certlist.c:515,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certlist.c:517,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/certlist.c:530,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certlist.c:531,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certlist.c:532,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certlist.c:533,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 119
    argCount: 5
    argNames:
    - ctrl
    - name
    - secret
    - listaddr
    - is_encrypt_to
    argTypes:
    - ctrl_t
    - char*
    - int
    - certlist_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 534
    functionName: gpgsm_add_to_certlist
    functionSourceFile: /src/gnupg/sm/certlist.c
    functionUses: 0
    functionsReached:
    - gpgsm_cert_use_encrypt_p
    - ksba_cert_get_issuer
    - keydb_new
    - gpgsm_release_certlist
    - gpgsm_validate_chain
    - ksba_cert_get_subject
    - _
    - gpgsm_cert_use_sign_p
    - log_info
    - keydb_get_cert
    - ksba_cert_release
    - check_validity_period_cm
    - gpg_error_from_syserror
    - keydb_search
    - gpg_error
    - gnupg_get_isotime
    - xfree
    - gpgsm_add_cert_to_certlist
    - xtrycalloc
    - gpgsm_agent_havekey
    - gpgsm_get_keygrip_hexstring
    - same_subject_issuer
    - classify_user_id
    - gpg_err_code
    - keydb_release
    - is_cert_in_certlist
    linkageType: ''
    returnType: int
    signature: "int gpgsm_add_to_certlist (ctrl_t ctrl, const char *name, int secret,\n
      \                      certlist_t *listaddr, int is_encrypt_to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certlist.c:543,1
    - Dst: xfree
      Src: /src/gnupg/sm/certlist.c:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - list
    argTypes:
    - certlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 547
    functionName: gpgsm_release_certlist
    functionSourceFile: /src/gnupg/sm/certlist.c
    functionUses: 1
    functionsReached:
    - xfree
    - ksba_cert_release
    linkageType: ''
    returnType: void
    signature: void gpgsm_release_certlist (certlist_t list)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: classify_user_id
      Src: /src/gnupg/sm/certlist.c:565,1
    - Dst: keydb_new
      Src: /src/gnupg/sm/certlist.c:568,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certlist.c:570,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/certlist.c:574,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/certlist.c:577,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/certlist.c:580,1
    - Dst: ksba_cert_get_subj_key_id
      Src: /src/gnupg/sm/certlist.c:585,1
    - Dst: cmp_simple_canon_sexp
      Src: /src/gnupg/sm/certlist.c:588,1
    - Dst: xfree
      Src: /src/gnupg/sm/certlist.c:590,1
    - Dst: xfree
      Src: /src/gnupg/sm/certlist.c:593,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certlist.c:598,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/certlist.c:616,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/certlist.c:618,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/certlist.c:621,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certlist.c:622,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/certlist.c:634,1
    - Dst: gpgsm_certs_identical_p
      Src: /src/gnupg/sm/certlist.c:636,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certlist.c:638,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/certlist.c:643,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/certlist.c:645,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certlist.c:646,1
    - Dst: memcmp
      Src: /src/gnupg/sm/certlist.c:649,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certlist.c:654,1
    - Dst: strcpy
      Src: /src/gnupg/sm/certlist.c:656,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certlist.c:661,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certlist.c:664,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certlist.c:666,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certlist.c:668,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/certlist.c:675,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certlist.c:676,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certlist.c:677,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 5
    argNames:
    - ctrl
    - name
    - keyid
    - r_cert
    - flags
    argTypes:
    - ctrl_t
    - char*
    - ksba_sexp_t
    - ksba_cert_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 678
    functionName: gpgsm_find_cert
    functionSourceFile: /src/gnupg/sm/certlist.c
    functionUses: 0
    functionsReached:
    - keydb_new
    - keydb_set_ephemeral
    - keydb_release
    - gpgsm_certs_identical_p
    - keydb_search
    - ksba_cert_get_image
    - strcmp
    - gpg_error
    - classify_user_id
    - xfree
    - keydb_get_cert
    - gpg_err_code
    - memcmp
    - strcpy
    - ksba_cert_get_validity
    - ksba_cert_get_subj_key_id
    - ksba_cert_release
    - cmp_simple_canon_sexp
    linkageType: ''
    returnType: int
    signature: "int gpgsm_find_cert (ctrl_t ctrl,\n                 const char *name,
      ksba_sexp_t keyid, ksba_cert_t *r_cert,\n                 unsigned int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/sm/misc.c:51,1
    - Dst: _
      Src: /src/gnupg/sm/misc.c:51,1
    - Dst: va_start
      Src: /src/gnupg/sm/misc.c:52,1
    - Dst: log_logv
      Src: /src/gnupg/sm/misc.c:53,1
    - Dst: va_end
      Src: /src/gnupg/sm/misc.c:54,1
    - Dst: log_printf
      Src: /src/gnupg/sm/misc.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: gpgsm_print_further_info
    functionSourceFile: /src/gnupg/sm/misc.c
    functionUses: 0
    functionsReached:
    - va_end
    - _
    - log_info
    - va_start
    - log_logv
    - log_printf
    linkageType: ''
    returnType: void
    signature: void gpgsm_print_further_info (const char *format, ...)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: parse_sexp
      Src: /src/gnupg/sm/misc.c:94,1
    - Dst: parse_sexp
      Src: /src/gnupg/sm/misc.c:96,1
    - Dst: memcmp
      Src: /src/gnupg/sm/misc.c:98,1
    - Dst: memcmp
      Src: /src/gnupg/sm/misc.c:100,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/misc.c:103,1
    - Dst: parse_sexp
      Src: /src/gnupg/sm/misc.c:104,1
    - Dst: parse_sexp
      Src: /src/gnupg/sm/misc.c:106,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/misc.c:109,1
    - Dst: memcmp
      Src: /src/gnupg/sm/misc.c:110,1
    - Dst: memcmp
      Src: /src/gnupg/sm/misc.c:112,1
    - Dst: memcmp
      Src: /src/gnupg/sm/misc.c:114,1
    - Dst: memcmp
      Src: /src/gnupg/sm/misc.c:116,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/misc.c:119,1
    - Dst: parse_sexp
      Src: /src/gnupg/sm/misc.c:122,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/misc.c:126,1
    - Dst: parse_sexp
      Src: /src/gnupg/sm/misc.c:127,1
    - Dst: parse_sexp
      Src: /src/gnupg/sm/misc.c:153,1
    - Dst: memcmp
      Src: /src/gnupg/sm/misc.c:161,1
    - Dst: parse_sexp
      Src: /src/gnupg/sm/misc.c:163,1
    - Dst: memcmp
      Src: /src/gnupg/sm/misc.c:165,1
    - Dst: memcmp
      Src: /src/gnupg/sm/misc.c:166,1
    - Dst: memcmp
      Src: /src/gnupg/sm/misc.c:167,1
    - Dst: memcmp
      Src: /src/gnupg/sm/misc.c:169,1
    - Dst: memcmp
      Src: /src/gnupg/sm/misc.c:170,1
    - Dst: parse_sexp
      Src: /src/gnupg/sm/misc.c:176,1
    - Dst: mdalgo < 0 || mdalgo >
      Src: /src/gnupg/sm/misc.c:190,1
    - Dst: pkalgo < 0 || pkalgo >
      Src: /src/gnupg/sm/misc.c:190,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/misc.c:191,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/misc.c:232,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/sm/misc.c:237,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/sm/misc.c:239,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/sm/misc.c:242,1
    - Dst: make_canon_sexp
      Src: /src/gnupg/sm/misc.c:246,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/misc.c:247,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 130
    argCount: 5
    argNames:
    - sigval
    - sigvallen
    - mdalgo
    - r_newsigval
    - r_newsigvallen
    argTypes:
    - unsigned char*
    - size_t
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 250
    functionName: transform_sigval
    functionSourceFile: /src/gnupg/sm/misc.c
    functionUses: 1
    functionsReached:
    - mdalgo < 0 || mdalgo >
    - make_canon_sexp
    - gpg_error
    - memcmp
    - gcry_sexp_build
    - gcry_sexp_release
    - parse_sexp
    - pkalgo < 0 || pkalgo >
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t transform_sigval (const unsigned char *sigval, size_t
      sigvallen, int mdalgo,\n                  unsigned char **r_newsigval, size_t
      *r_newsigvallen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cms_get_sig_val
      Src: /src/gnupg/sm/misc.c:264,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/misc.c:267,1
    - Dst: log_error
      Src: /src/gnupg/sm/misc.c:270,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/misc.c:271,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/sm/misc.c:274,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/misc.c:275,1
    - Dst: log_error
      Src: /src/gnupg/sm/misc.c:278,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/misc.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - cms
    - idx
    argTypes:
    - ksba_cms_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 284
    functionName: gpgsm_ksba_cms_get_sig_val
    functionSourceFile: /src/gnupg/sm/misc.c
    functionUses: 1
    functionsReached:
    - ksba_free
    - log_error
    - gcry_sexp_sscan
    - gpg_strerror
    - gcry_sexp_canon_len
    - ksba_cms_get_sig_val
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t gpgsm_ksba_cms_get_sig_val (ksba_cms_t cms, int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/sm/misc.c:305,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/sm/misc.c:311,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/sm/misc.c:317,1
    - Dst: memcmp
      Src: /src/gnupg/sm/misc.c:318,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/misc.c:323,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/sm/misc.c:326,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/misc.c:329,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/sm/misc.c:332,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/misc.c:333,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/sm/misc.c:336,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/misc.c:337,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - sigval_arg
    - r_pkalgo_flags
    argTypes:
    - gcry_sexp_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 340
    functionName: gpgsm_get_hash_algo_from_sigval
    functionSourceFile: /src/gnupg/sm/misc.c
    functionUses: 1
    functionsReached:
    - gcry_free
    - gcry_sexp_find_token
    - gcry_sexp_nth_data
    - memcmp
    - gcry_md_map_name
    - gcry_sexp_release
    - gcry_sexp_nth_string
    linkageType: ''
    returnType: int
    signature: "int gpgsm_get_hash_algo_from_sigval (gcry_sexp_t sigval_arg,\n                                 unsigned
      int *r_pkalgo_flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/sm/misc.c:383,1
    - Dst: DIM
      Src: /src/gnupg/sm/misc.c:388,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/sm/misc.c:389,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/sm/misc.c:391,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 1
    argNames:
    - oidstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 395
    functionName: gpgsm_map_cipher_name_to_oid
    functionSourceFile: /src/gnupg/sm/misc.c
    functionUses: 0
    functionsReached:
    - digitp
    - DIM
    - ascii_strcasecmp
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgsm_map_cipher_name_to_oid (const char *oidstr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/sm/export.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: create_duptable
    functionSourceFile: /src/gnupg/sm/export.c
    functionUses: 0
    functionsReached:
    - xtrycalloc
    linkageType: ''
    returnType: duptable_t
    signature: 'duptable_t *

      create_duptable (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:84,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - table
    argTypes:
    - duptable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: destroy_duptable
    functionSourceFile: /src/gnupg/sm/export.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void destroy_duptable (duptable_t *table)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/sm/export.c:108,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/export.c:116,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/export.c:118,1
    - Dst: memcpy
      Src: /src/gnupg/sm/export.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - table
    - fpr
    - exists
    argTypes:
    - duptable_t*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 123
    functionName: insert_duptable
    functionSourceFile: /src/gnupg/sm/export.c
    functionUses: 0
    functionsReached:
    - memcmp
    - xtrymalloc
    - memcpy
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t insert_duptable (duptable_t *table, unsigned char *fpr,
      int *exists)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: create_duptable
      Src: /src/gnupg/sm/export.c:144,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:147,1
    - Dst: strerror
      Src: /src/gnupg/sm/export.c:147,1
    - Dst: keydb_new
      Src: /src/gnupg/sm/export.c:151,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:154,1
    - Dst: xtrycalloc
      Src: /src/gnupg/sm/export.c:166,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:169,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/export.c:170,1
    - Dst: out_of_core
      Src: /src/gnupg/sm/export.c:170,1
    - Dst: classify_user_id
      Src: /src/gnupg/sm/export.c:180,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:183,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/export.c:184,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/export.c:202,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/export.c:205,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/export.c:213,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:216,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/export.c:216,1
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/export.c:220,1
    - Dst: insert_duptable
      Src: /src/gnupg/sm/export.c:221,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:224,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/export.c:225,1
    - Dst: log_info
      Src: /src/gnupg/sm/export.c:231,1
    - Dst: log_info
      Src: /src/gnupg/sm/export.c:233,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/export.c:242,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:245,1
    - Dst: es_putc
      Src: /src/gnupg/sm/export.c:253,1
    - Dst: print_short_info
      Src: /src/gnupg/sm/export.c:254,1
    - Dst: es_putc
      Src: /src/gnupg/sm/export.c:255,1
    - Dst: gnupg_ksba_create_writer
      Src: /src/gnupg/sm/export.c:262,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:268,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/export.c:268,1
    - Dst: ksba_writer_write
      Src: /src/gnupg/sm/export.c:273,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:276,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/export.c:276,1
    - Dst: gnupg_ksba_finish_writer
      Src: /src/gnupg/sm/export.c:283,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:286,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/export.c:286,1
    - Dst: gnupg_ksba_destroy_writer
      Src: /src/gnupg/sm/export.c:289,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/export.c:294,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/export.c:297,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:298,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/export.c:298,1
    - Dst: gnupg_ksba_finish_writer
      Src: /src/gnupg/sm/export.c:301,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:304,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/export.c:304,1
    - Dst: gnupg_ksba_destroy_writer
      Src: /src/gnupg/sm/export.c:310,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/export.c:311,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:312,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/export.c:313,1
    - Dst: destroy_duptable
      Src: /src/gnupg/sm/export.c:314,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 122
    argCount: 3
    argNames:
    - ctrl
    - names
    - stream
    argTypes:
    - ctrl_t
    - strlist_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 315
    functionName: gpgsm_export
    functionSourceFile: /src/gnupg/sm/export.c
    functionUses: 0
    functionsReached:
    - gnupg_ksba_create_writer
    - destroy_duptable
    - gnupg_ksba_destroy_writer
    - gnupg_ksba_finish_writer
    - insert_duptable
    - keydb_new
    - log_error
    - es_putc
    - log_info
    - keydb_get_cert
    - keydb_release
    - out_of_core
    - ksba_cert_release
    - keydb_search
    - gpg_strerror
    - xfree
    - xtrycalloc
    - keydb_set_ephemeral
    - print_short_info
    - ksba_cert_get_image
    - classify_user_id
    - gpg_err_code
    - ksba_writer_write
    - create_duptable
    - gpgsm_get_fingerprint
    - strerror
    linkageType: ''
    returnType: void
    signature: void gpgsm_export (ctrl_t ctrl, strlist_t names, estream_t stream)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: keydb_new
      Src: /src/gnupg/sm/export.c:341,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:344,1
    - Dst: xtrycalloc
      Src: /src/gnupg/sm/export.c:348,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:351,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/export.c:352,1
    - Dst: out_of_core
      Src: /src/gnupg/sm/export.c:352,1
    - Dst: classify_user_id
      Src: /src/gnupg/sm/export.c:356,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:359,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/export.c:360,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/export.c:365,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/export.c:368,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:371,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/export.c:371,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/export.c:376,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/export.c:381,1
    - Dst: gpgsm_certs_identical_p
      Src: /src/gnupg/sm/export.c:383,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/export.c:385,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/export.c:388,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/export.c:390,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/export.c:392,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:396,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/export.c:397,1
    - Dst: gpgsm_get_keygrip_hexstring
      Src: /src/gnupg/sm/export.c:402,1
    - Dst: gpgsm_agent_havekey
      Src: /src/gnupg/sm/export.c:403,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/export.c:406,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:407,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/export.c:407,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/export.c:411,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:414,1
    - Dst: print_short_info
      Src: /src/gnupg/sm/export.c:420,1
    - Dst: es_putc
      Src: /src/gnupg/sm/export.c:421,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/export.c:426,1
    - Dst: gpgsm_get_key_algo_info
      Src: /src/gnupg/sm/export.c:433,1
    - Dst: gnupg_ksba_create_writer
      Src: /src/gnupg/sm/export.c:439,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:445,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/export.c:445,1
    - Dst: gpgsm_format_keydesc
      Src: /src/gnupg/sm/export.c:449,1
    - Dst: export_p12
      Src: /src/gnupg/sm/export.c:450,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:452,1
    - Dst: ksba_writer_write
      Src: /src/gnupg/sm/export.c:455,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:456,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:459,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/export.c:459,1
    - Dst: gnupg_ksba_finish_writer
      Src: /src/gnupg/sm/export.c:466,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:469,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/export.c:469,1
    - Dst: gnupg_ksba_destroy_writer
      Src: /src/gnupg/sm/export.c:472,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/export.c:476,1
    - Dst: gnupg_ksba_destroy_writer
      Src: /src/gnupg/sm/export.c:480,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/export.c:481,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:482,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:483,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/export.c:484,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 114
    argCount: 4
    argNames:
    - ctrl
    - name
    - stream
    - rawmode
    argTypes:
    - ctrl_t
    - char*
    - estream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 325
    functionDepth: 6
    functionLinenumber: 325
    functionLinenumberEnd: 485
    functionName: gpgsm_p12_export
    functionSourceFile: /src/gnupg/sm/export.c
    functionUses: 0
    functionsReached:
    - gpgsm_get_key_algo_info
    - gnupg_ksba_create_writer
    - es_fprintf
    - gnupg_ksba_destroy_writer
    - gpgsm_format_keydesc
    - gnupg_ksba_finish_writer
    - keydb_new
    - log_error
    - es_putc
    - keydb_get_cert
    - out_of_core
    - ksba_cert_release
    - keydb_search
    - gpg_error
    - gpg_strerror
    - xfree
    - xtrycalloc
    - print_short_info
    - export_p12
    - gpgsm_agent_havekey
    - gpgsm_get_keygrip_hexstring
    - gpgsm_certs_identical_p
    - ksba_cert_get_image
    - classify_user_id
    - gpg_err_code
    - ksba_writer_write
    - keydb_release
    linkageType: ''
    returnType: void
    signature: void gpgsm_p12_export (ctrl_t ctrl, const char *name, estream_t stream,
      int rawmode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/sm/export.c:496,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/export.c:498,1
    - Dst: gpgsm_es_print_name
      Src: /src/gnupg/sm/export.c:501,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:502,1
    - Dst: es_putc
      Src: /src/gnupg/sm/export.c:504,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/export.c:506,1
    - Dst: ksba_cert_get_serial
      Src: /src/gnupg/sm/export.c:507,1
    - Dst: digitp
      Src: /src/gnupg/sm/export.c:516,1
    - Dst: atoi_1
      Src: /src/gnupg/sm/export.c:517,1
    - Dst: es_write_hexstring
      Src: /src/gnupg/sm/export.c:519,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:521,1
    - Dst: es_putc
      Src: /src/gnupg/sm/export.c:523,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/export.c:525,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/export.c:527,1
    - Dst: gpgsm_es_print_name
      Src: /src/gnupg/sm/export.c:530,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:531,1
    - Dst: es_putc
      Src: /src/gnupg/sm/export.c:533,1
    - Dst: gpgsm_get_keygrip_hexstring
      Src: /src/gnupg/sm/export.c:535,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/export.c:538,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:539,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - cert
    - stream
    argTypes:
    - ksba_cert_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 541
    functionName: print_short_info
    functionSourceFile: /src/gnupg/sm/export.c
    functionUses: 2
    functionsReached:
    - gpgsm_es_print_name
    - es_write_hexstring
    - es_fprintf
    - digitp
    - gpgsm_get_keygrip_hexstring
    - ksba_cert_get_subject
    - es_putc
    - atoi_1
    - xfree
    - ksba_cert_get_serial
    - es_fputs
    - ksba_cert_get_issuer
    linkageType: ''
    returnType: void
    signature: void print_short_info (ksba_cert_t cert, estream_t stream)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/sm/export.c:558,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/sm/export.c:561,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/export.c:562,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/sm/export.c:564,1
    - Dst: memcmp
      Src: /src/gnupg/sm/export.c:565,1
    - Dst: xtrycalloc
      Src: /src/gnupg/sm/export.c:570,1
    - Dst: strlen
      Src: /src/gnupg/sm/export.c:570,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/export.c:573,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/sm/export.c:580,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/gnupg/sm/export.c:583,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/export.c:584,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/export.c:589,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:590,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/export.c:591,1
    - Dst: gcry_mpi_snew
      Src: /src/gnupg/sm/export.c:596,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/gnupg/sm/export.c:597,1
    - Dst: gcry_mpi_mod
      Src: /src/gnupg/sm/export.c:598,1
    - Dst: gcry_mpi_snew
      Src: /src/gnupg/sm/export.c:600,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/gnupg/sm/export.c:601,1
    - Dst: gcry_mpi_mod
      Src: /src/gnupg/sm/export.c:602,1
    - Dst: memcmp
      Src: /src/gnupg/sm/export.c:604,1
    - Dst: xtrycalloc
      Src: /src/gnupg/sm/export.c:606,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/export.c:609,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/sm/export.c:613,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:616,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/export.c:625,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 1
    argNames:
    - sexp
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 627
    functionName: sexp_to_kparms
    functionSourceFile: /src/gnupg/sm/export.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - gcry_mpi_snew
    - gcry_mpi_sub_ui
    - strlen
    - gcry_sexp_cadr
    - gcry_sexp_find_token
    - gcry_sexp_extract_param
    - memcmp
    - gcry_sexp_nth_data
    - xfree
    - gcry_sexp_release
    - xtrycalloc
    - gcry_mpi_mod
    - gcry_mpi_release
    linkageType: ''
    returnType: gcry_mpi_t
    signature: 'gcry_mpi_t *

      sexp_to_kparms (gcry_sexp_t sexp)'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_agent_keywrap_key
      Src: /src/gnupg/sm/export.c:653,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:656,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/export.c:656,1
    - Dst: gpgsm_agent_export_key
      Src: /src/gnupg/sm/export.c:661,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/sm/export.c:668,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/sm/export.c:672,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:675,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/export.c:680,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/sm/export.c:684,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/export.c:687,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/sm/export.c:690,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:693,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/sm/export.c:695,1
    - Dst: gcry_sexp_create
      Src: /src/gnupg/sm/export.c:700,1
    - Dst: sexp_to_kparms
      Src: /src/gnupg/sm/export.c:706,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/export.c:707,1
    - Dst: log_error
      Src: /src/gnupg/sm/export.c:711,1
    - Dst: p12_raw_build
      Src: /src/gnupg/sm/export.c:720,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/export.c:722,1
    - Dst: gpgsm_agent_ask_passphrase
      Src: /src/gnupg/sm/export.c:728,1
    - Dst: i18n_utf8
      Src: /src/gnupg/sm/export.c:730,1
    - Dst: N_
      Src: /src/gnupg/sm/export.c:730,1
    - Dst: p12_build
      Src: /src/gnupg/sm/export.c:737,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:740,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/export.c:743,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:747,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/export.c:748,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/export.c:752,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:753,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/sm/export.c:755,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:756,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:757,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/export.c:759,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/export.c:765,1
    - Dst: xfree
      Src: /src/gnupg/sm/export.c:770,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 95
    argCount: 8
    argNames:
    - ctrl
    - certimg
    - certimglen
    - prompt
    - keygrip
    - rawmode
    - r_result
    - r_resultlen
    argTypes:
    - ctrl_t
    - unsigned char*
    - size_t
    - char*
    - char*
    - int
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 630
    functionDepth: 3
    functionLinenumber: 630
    functionLinenumberEnd: 778
    functionName: export_p12
    functionSourceFile: /src/gnupg/sm/export.c
    functionUses: 1
    functionsReached:
    - p12_raw_build
    - gpgsm_agent_keywrap_key
    - gcry_cipher_close
    - gcry_cipher_open
    - log_error
    - gcry_sexp_release
    - p12_build
    - i18n_utf8
    - gcry_sexp_create
    - gcry_cipher_setkey
    - gpg_error_from_syserror
    - sexp_to_kparms
    - xtrymalloc_secure
    - gpg_error
    - gpg_strerror
    - xfree
    - gpgsm_agent_ask_passphrase
    - gcry_mpi_release
    - gcry_cipher_decrypt
    - gpgsm_agent_export_key
    - gpg_err_code
    - gpgsm_status
    - N_
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t export_p12 (ctrl_t ctrl, const unsigned char *certimg,
      size_t certimglen,\n            const char *prompt, const char *keygrip, int
      rawmode,\n            void **r_result, size_t *r_resultlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_get_fingerprint_hexstring
      Src: /src/gnupg/sm/import.c:79,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/import.c:81,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/import.c:83,1
    - Dst: xfree
      Src: /src/gnupg/sm/import.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - cert
    - new_cert
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: print_imported_status
    functionSourceFile: /src/gnupg/sm/import.c
    functionUses: 0
    functionsReached:
    - gpgsm_get_fingerprint_hexstring
    - gpgsm_status2
    - xfree
    linkageType: ''
    returnType: void
    signature: void print_imported_status (ctrl_t ctrl, ksba_cert_t cert, int new_cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnupg/sm/import.c:104,1
    - Dst: gpgsm_get_fingerprint_hexstring
      Src: /src/gnupg/sm/import.c:107,1
    - Dst: xfree
      Src: /src/gnupg/sm/import.c:113,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/import.c:117,1
    - Dst: xfree
      Src: /src/gnupg/sm/import.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ctrl
    - cert
    - reason
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 119
    functionName: print_import_problem
    functionSourceFile: /src/gnupg/sm/import.c
    functionUses: 0
    functionsReached:
    - sprintf
    - gpgsm_get_fingerprint_hexstring
    - gpgsm_status2
    - xfree
    linkageType: ''
    returnType: void
    signature: void print_import_problem (ctrl_t ctrl, ksba_cert_t cert, int reason)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/sm/import.c:129,1
    - Dst: _
      Src: /src/gnupg/sm/import.c:129,1
    - Dst: log_info
      Src: /src/gnupg/sm/import.c:132,1
    - Dst: _
      Src: /src/gnupg/sm/import.c:132,1
    - Dst: log_printf
      Src: /src/gnupg/sm/import.c:133,1
    - Dst: log_info
      Src: /src/gnupg/sm/import.c:136,1
    - Dst: _
      Src: /src/gnupg/sm/import.c:136,1
    - Dst: log_info
      Src: /src/gnupg/sm/import.c:138,1
    - Dst: _
      Src: /src/gnupg/sm/import.c:138,1
    - Dst: log_info
      Src: /src/gnupg/sm/import.c:140,1
    - Dst: _
      Src: /src/gnupg/sm/import.c:140,1
    - Dst: log_info
      Src: /src/gnupg/sm/import.c:142,1
    - Dst: _
      Src: /src/gnupg/sm/import.c:142,1
    - Dst: log_info
      Src: /src/gnupg/sm/import.c:144,1
    - Dst: _
      Src: /src/gnupg/sm/import.c:144,1
    - Dst: sprintf
      Src: /src/gnupg/sm/import.c:147,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/import.c:163,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ctrl
    - stats
    argTypes:
    - ctrl_t
    - struct stats_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 164
    functionName: print_imported_summary
    functionSourceFile: /src/gnupg/sm/import.c
    functionUses: 0
    functionsReached:
    - sprintf
    - _
    - log_info
    - gpgsm_status
    - log_printf
    linkageType: ''
    returnType: void
    signature: void print_imported_summary (ctrl_t ctrl, struct stats_s *stats)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:178,1
    - Dst: _
      Src: /src/gnupg/sm/import.c:178,1
    - Dst: print_import_problem
      Src: /src/gnupg/sm/import.c:181,1
    - Dst: gpgsm_basic_cert_check
      Src: /src/gnupg/sm/import.c:195,1
    - Dst: gpgsm_validate_chain
      Src: /src/gnupg/sm/import.c:197,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/import.c:200,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/import.c:201,1
    - Dst: keydb_store_cert
      Src: /src/gnupg/sm/import.c:205,1
    - Dst: print_imported_status
      Src: /src/gnupg/sm/import.c:211,1
    - Dst: print_imported_status
      Src: /src/gnupg/sm/import.c:217,1
    - Dst: log_info
      Src: /src/gnupg/sm/import.c:225,1
    - Dst: log_info
      Src: /src/gnupg/sm/import.c:227,1
    - Dst: log_info
      Src: /src/gnupg/sm/import.c:232,1
    - Dst: log_info
      Src: /src/gnupg/sm/import.c:234,1
    - Dst: gpgsm_walk_cert_chain
      Src: /src/gnupg/sm/import.c:241,1
    - Dst: check_and_store
      Src: /src/gnupg/sm/import.c:243,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/import.c:244,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:249,1
    - Dst: _
      Src: /src/gnupg/sm/import.c:249,1
    - Dst: print_import_problem
      Src: /src/gnupg/sm/import.c:252,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:257,1
    - Dst: _
      Src: /src/gnupg/sm/import.c:257,1
    - Dst: print_import_problem
      Src: /src/gnupg/sm/import.c:263,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/import.c:265,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/import.c:266,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/import.c:267,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 4
    argNames:
    - ctrl
    - stats
    - cert
    - depth
    argTypes:
    - ctrl_t
    - struct stats_s*
    - ksba_cert_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 269
    functionName: check_and_store
    functionSourceFile: /src/gnupg/sm/import.c
    functionUses: 1
    functionsReached:
    - print_import_problem
    - log_error
    - gpgsm_basic_cert_check
    - gpgsm_validate_chain
    - _
    - print_imported_status
    - gpg_err_code
    - keydb_store_cert
    - log_info
    - check_and_store
    - gpgsm_walk_cert_chain
    - ksba_cert_release
    linkageType: ''
    returnType: void
    signature: "void check_and_store (ctrl_t ctrl, struct stats_s *stats,\n                 ksba_cert_t
      cert, int depth)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_ksba_create_reader
      Src: /src/gnupg/sm/import.c:285,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:293,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/import.c:293,1
    - Dst: ksba_cms_release
      Src: /src/gnupg/sm/import.c:302,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/import.c:303,1
    - Dst: ksba_cms_identify
      Src: /src/gnupg/sm/import.c:305,1
    - Dst: ksba_cms_new
      Src: /src/gnupg/sm/import.c:311,1
    - Dst: ksba_cms_set_reader_writer
      Src: /src/gnupg/sm/import.c:315,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:318,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/import.c:319,1
    - Dst: ksba_cms_parse
      Src: /src/gnupg/sm/import.c:325,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:328,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/import.c:328,1
    - Dst: log_info
      Src: /src/gnupg/sm/import.c:333,1
    - Dst: ksba_cms_get_cert
      Src: /src/gnupg/sm/import.c:337,1
    - Dst: check_and_store
      Src: /src/gnupg/sm/import.c:339,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/import.c:340,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:344,1
    - Dst: parse_p12
      Src: /src/gnupg/sm/import.c:351,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/sm/import.c:358,1
    - Dst: ksba_cert_read_der
      Src: /src/gnupg/sm/import.c:362,1
    - Dst: check_and_store
      Src: /src/gnupg/sm/import.c:366,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:371,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/import.c:372,1
    - Dst: ksba_reader_clear
      Src: /src/gnupg/sm/import.c:375,1
    - Dst: gnupg_ksba_reader_eof_seen
      Src: /src/gnupg/sm/import.c:377,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/import.c:380,1
    - Dst: ksba_cms_release
      Src: /src/gnupg/sm/import.c:382,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/import.c:383,1
    - Dst: gnupg_ksba_destroy_reader
      Src: /src/gnupg/sm/import.c:384,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 3
    argNames:
    - ctrl
    - stats
    - fp
    argTypes:
    - ctrl_t
    - struct stats_s*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 386
    functionName: import_one
    functionSourceFile: /src/gnupg/sm/import.c
    functionUses: 3
    functionsReached:
    - ksba_reader_clear
    - parse_p12
    - ksba_cert_new
    - gnupg_ksba_destroy_reader
    - log_error
    - ksba_cms_identify
    - log_info
    - check_and_store
    - ksba_cert_release
    - ksba_cms_get_cert
    - ksba_cms_set_reader_writer
    - ksba_cms_new
    - gpg_error
    - gpg_strerror
    - ksba_cms_release
    - ksba_cert_read_der
    - ksba_cms_parse
    - gnupg_ksba_reader_eof_seen
    - gpg_err_code
    - gnupg_ksba_create_reader
    linkageType: ''
    returnType: int
    signature: int import_one (ctrl_t ctrl, struct stats_s *stats, estream_t fp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: keydb_new
      Src: /src/gnupg/sm/import.c:403,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/import.c:406,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:407,1
    - Dst: _
      Src: /src/gnupg/sm/import.c:407,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/import.c:410,1
    - Dst: es_fgets
      Src: /src/gnupg/sm/import.c:412,1
    - Dst: DIM
      Src: /src/gnupg/sm/import.c:412,1
    - Dst: strlen
      Src: /src/gnupg/sm/import.c:414,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/import.c:416,1
    - Dst: trim_spaces
      Src: /src/gnupg/sm/import.c:419,1
    - Dst: classify_user_id
      Src: /src/gnupg/sm/import.c:425,1
    - Dst: print_import_problem
      Src: /src/gnupg/sm/import.c:428,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/sm/import.c:433,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/import.c:434,1
    - Dst: print_import_problem
      Src: /src/gnupg/sm/import.c:437,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/import.c:442,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/import.c:444,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:447,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/import.c:448,1
    - Dst: gpg_strsource
      Src: /src/gnupg/sm/import.c:448,1
    - Dst: print_import_problem
      Src: /src/gnupg/sm/import.c:449,1
    - Dst: keydb_get_flags
      Src: /src/gnupg/sm/import.c:454,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:457,1
    - Dst: _
      Src: /src/gnupg/sm/import.c:457,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/import.c:457,1
    - Dst: print_imported_status
      Src: /src/gnupg/sm/import.c:458,1
    - Dst: print_imported_status
      Src: /src/gnupg/sm/import.c:464,1
    - Dst: keydb_set_cert_flags
      Src: /src/gnupg/sm/import.c:469,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:473,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/import.c:474,1
    - Dst: print_import_problem
      Src: /src/gnupg/sm/import.c:475,1
    - Dst: print_imported_status
      Src: /src/gnupg/sm/import.c:480,1
    - Dst: es_ferror
      Src: /src/gnupg/sm/import.c:484,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/import.c:486,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:487,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/import.c:487,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/import.c:492,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/import.c:493,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 3
    argNames:
    - ctrl
    - stats
    - fp
    argTypes:
    - ctrl_t
    - struct stats_s*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 495
    functionName: reimport_one
    functionSourceFile: /src/gnupg/sm/import.c
    functionUses: 0
    functionsReached:
    - strlen
    - keydb_search_reset
    - keydb_new
    - print_import_problem
    - log_error
    - es_fgets
    - DIM
    - trim_spaces
    - _
    - print_imported_status
    - keydb_get_cert
    - es_ferror
    - ksba_cert_release
    - keydb_set_cert_flags
    - gpg_error_from_syserror
    - keydb_search
    - gpg_error
    - gpg_strerror
    - keydb_get_flags
    - gpg_strsource
    - keydb_set_ephemeral
    - classify_user_id
    - keydb_release
    linkageType: ''
    returnType: int
    signature: int reimport_one (ctrl_t ctrl, struct stats_s *stats, estream_t fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/import.c:505,1
    - Dst: reimport_one
      Src: /src/gnupg/sm/import.c:507,1
    - Dst: import_one
      Src: /src/gnupg/sm/import.c:509,1
    - Dst: print_imported_summary
      Src: /src/gnupg/sm/import.c:510,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/sm/import.c:514,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:515,1
    - Dst: _
      Src: /src/gnupg/sm/import.c:515,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/import.c:515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ctrl
    - in_fp
    - reimport_mode
    argTypes:
    - ctrl_t
    - estream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 517
    functionName: gpgsm_import
    functionSourceFile: /src/gnupg/sm/import.c
    functionUses: 0
    functionsReached:
    - print_imported_summary
    - import_one
    - log_error
    - reimport_one
    - _
    - log_get_errorcount
    - memset
    - gpg_strerror
    linkageType: ''
    returnType: int
    signature: int gpgsm_import (ctrl_t ctrl, estream_t in_fp, int reimport_mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/import.c:527,1
    - Dst: setmode
      Src: /src/gnupg/sm/import.c:532,1
    - Dst: import_one
      Src: /src/gnupg/sm/import.c:534,1
    - Dst: of
      Src: /src/gnupg/sm/import.c:540,1
    - Dst: import_one
      Src: /src/gnupg/sm/import.c:541,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/import.c:542,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/import.c:543,1
    - Dst: print_imported_summary
      Src: /src/gnupg/sm/import.c:547,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/sm/import.c:551,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:552,1
    - Dst: _
      Src: /src/gnupg/sm/import.c:552,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/import.c:552,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - ctrl
    - nfiles
    - files
    argTypes:
    - ctrl_t
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 554
    functionName: gpgsm_import_files
    functionSourceFile: /src/gnupg/sm/import.c
    functionUses: 0
    functionsReached:
    - print_imported_summary
    - import_one
    - of
    - es_fclose
    - log_error
    - _
    - log_get_errorcount
    - memset
    - gpg_err_code
    - setmode
    - gpg_strerror
    linkageType: ''
    returnType: int
    signature: "int gpgsm_import_files (ctrl_t ctrl, int nfiles, char **files,\n                    estream_t
      (*of)(const char *fname, const char *mode))"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_snew
      Src: /src/gnupg/sm/import.c:563,1
    - Dst: gcry_mpi_snew
      Src: /src/gnupg/sm/import.c:564,1
    - Dst: gcry_mpi_snew
      Src: /src/gnupg/sm/import.c:565,1
    - Dst: gcry_mpi_snew
      Src: /src/gnupg/sm/import.c:566,1
    - Dst: gcry_mpi_mul
      Src: /src/gnupg/sm/import.c:569,1
    - Dst: gcry_mpi_cmp
      Src: /src/gnupg/sm/import.c:570,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:572,1
    - Dst: gcry_mpi_cmp
      Src: /src/gnupg/sm/import.c:577,1
    - Dst: log_info
      Src: /src/gnupg/sm/import.c:581,1
    - Dst: gcry_mpi_copy
      Src: /src/gnupg/sm/import.c:582,1
    - Dst: gcry_mpi_set
      Src: /src/gnupg/sm/import.c:583,1
    - Dst: gcry_mpi_set
      Src: /src/gnupg/sm/import.c:584,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/import.c:585,1
    - Dst: gcry_mpi_invm
      Src: /src/gnupg/sm/import.c:587,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/gnupg/sm/import.c:591,1
    - Dst: gcry_mpi_div
      Src: /src/gnupg/sm/import.c:592,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/gnupg/sm/import.c:593,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:595,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/gnupg/sm/import.c:598,1
    - Dst: gcry_mpi_div
      Src: /src/gnupg/sm/import.c:599,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/gnupg/sm/import.c:600,1
    - Dst: log_info
      Src: /src/gnupg/sm/import.c:602,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/gnupg/sm/import.c:607,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/gnupg/sm/import.c:608,1
    - Dst: gcry_mpi_mul
      Src: /src/gnupg/sm/import.c:609,1
    - Dst: gcry_mpi_invm
      Src: /src/gnupg/sm/import.c:610,1
    - Dst: gcry_mpi_cmp
      Src: /src/gnupg/sm/import.c:611,1
    - Dst: gcry_mpi_gcd
      Src: /src/gnupg/sm/import.c:614,1
    - Dst: gcry_mpi_div
      Src: /src/gnupg/sm/import.c:615,1
    - Dst: gcry_mpi_invm
      Src: /src/gnupg/sm/import.c:616,1
    - Dst: gcry_mpi_cmp
      Src: /src/gnupg/sm/import.c:617,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:619,1
    - Dst: gcry_mpi_invm
      Src: /src/gnupg/sm/import.c:625,1
    - Dst: gcry_mpi_cmp
      Src: /src/gnupg/sm/import.c:626,1
    - Dst: log_info
      Src: /src/gnupg/sm/import.c:628,1
    - Dst: log_info
      Src: /src/gnupg/sm/import.c:633,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/import.c:635,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/import.c:636,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/import.c:637,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/import.c:638,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/import.c:640,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 1
    argNames:
    - skey
    argTypes:
    - struct rsa_secret_key_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 641
    functionName: rsa_key_check
    functionSourceFile: /src/gnupg/sm/import.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_snew
    - gcry_mpi_sub_ui
    - log_error
    - gcry_mpi_cmp_ui
    - gcry_mpi_gcd
    - gcry_mpi_copy
    - gcry_mpi_div
    - gcry_mpi_set
    - gpg_error
    - log_info
    - gcry_mpi_invm
    - gcry_mpi_mul
    - gcry_mpi_cmp
    - gcry_mpi_release
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t rsa_key_check (struct rsa_secret_key_s *skey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_new
      Src: /src/gnupg/sm/import.c:662,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/sm/import.c:670,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:673,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/import.c:673,1
    - Dst: check_and_store
      Src: /src/gnupg/sm/import.c:678,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/import.c:679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - opaque
    - certdata
    - certdatalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 654
    functionDepth: 3
    functionLinenumber: 654
    functionLinenumberEnd: 680
    functionName: store_cert_cb
    functionSourceFile: /src/gnupg/sm/import.c
    functionUses: 0
    functionsReached:
    - ksba_cert_init_from_mem
    - log_error
    - ksba_cert_release
    - gpg_strerror
    - check_and_store
    - ksba_cert_new
    linkageType: ''
    returnType: void
    signature: "void store_cert_cb (void *opaque,\n               const unsigned char
      *certdata, size_t certdatalen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_ec_new
      Src: /src/gnupg/sm/import.c:697,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:700,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/import.c:701,1
    - Dst: gcry_mpi_ec_set_mpi
      Src: /src/gnupg/sm/import.c:704,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:707,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/import.c:708,1
    - Dst: gcry_mpi_ec_get_mpi
      Src: /src/gnupg/sm/import.c:712,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:715,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/sm/import.c:719,1
    - Dst: rsa_key_check
      Src: /src/gnupg/sm/import.c:740,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/sm/import.c:751,1
    - Dst: gcry_ctx_release
      Src: /src/gnupg/sm/import.c:757,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - kparms
    - curve
    - r_skey
    argTypes:
    - gcry_mpi_t*
    - char*
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 759
    functionName: p12_to_skey
    functionSourceFile: /src/gnupg/sm/import.c
    functionUses: 0
    functionsReached:
    - log_error
    - gcry_mpi_ec_new
    - gcry_mpi_ec_get_mpi
    - gcry_ctx_release
    - gcry_mpi_ec_set_mpi
    - gpg_strerror
    - gcry_sexp_build
    - rsa_key_check
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t p12_to_skey (gcry_mpi_t *kparms, const char *curve, gcry_sexp_t
      *r_skey)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/import.c:791,1
    - Dst: init_membuf
      Src: /src/gnupg/sm/import.c:795,1
    - Dst: ksba_reader_read
      Src: /src/gnupg/sm/import.c:797,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/import.c:802,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:803,1
    - Dst: put_membuf
      Src: /src/gnupg/sm/import.c:806,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/import.c:809,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/import.c:813,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/import.c:815,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:819,1
    - Dst: _
      Src: /src/gnupg/sm/import.c:819,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/import.c:819,1
    - Dst: memcmp
      Src: /src/gnupg/sm/import.c:826,1
    - Dst: gpgsm_agent_ask_passphrase
      Src: /src/gnupg/sm/import.c:840,1
    - Dst: i18n_utf8
      Src: /src/gnupg/sm/import.c:842,1
    - Dst: N_
      Src: /src/gnupg/sm/import.c:842,1
    - Dst: p12_parse
      Src: /src/gnupg/sm/import.c:847,1
    - Dst: xfree
      Src: /src/gnupg/sm/import.c:851,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:856,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/import.c:857,1
    - Dst: p12_to_skey
      Src: /src/gnupg/sm/import.c:862,1
    - Dst: p12_parse_free_kparms
      Src: /src/gnupg/sm/import.c:863,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:867,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/import.c:868,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/sm/import.c:873,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/import.c:875,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:876,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/import.c:880,1
    - Dst: make_canon_sexp_pad
      Src: /src/gnupg/sm/import.c:884,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:887,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/import.c:890,1
    - Dst: gpgsm_agent_keywrap_key
      Src: /src/gnupg/sm/import.c:894,1
    - Dst: log_error
      Src: /src/gnupg/sm/import.c:897,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/import.c:897,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/sm/import.c:902,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/sm/import.c:906,1
    - Dst: xfree
      Src: /src/gnupg/sm/import.c:909,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/import.c:913,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/import.c:916,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/sm/import.c:920,1
    - Dst: xfree
      Src: /src/gnupg/sm/import.c:923,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/sm/import.c:925,1
    - Dst: gpgsm_agent_import_key
      Src: /src/gnupg/sm/import.c:929,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/import.c:936,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/import.c:955,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/import.c:956,1
    - Dst: xfree
      Src: /src/gnupg/sm/import.c:959,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/import.c:960,1
    - Dst: xfree
      Src: /src/gnupg/sm/import.c:961,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/sm/import.c:962,1
    - Dst: xfree
      Src: /src/gnupg/sm/import.c:963,1
    - Dst: xfree
      Src: /src/gnupg/sm/import.c:964,1
    - Dst: xfree
      Src: /src/gnupg/sm/import.c:965,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/import.c:965,1
    - Dst: xfree
      Src: /src/gnupg/sm/import.c:966,1
    - Dst: xfree
      Src: /src/gnupg/sm/import.c:967,1
    - Dst: gpgsm_status_with_err_code
      Src: /src/gnupg/sm/import.c:976,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 138
    argCount: 3
    argNames:
    - ctrl
    - reader
    - stats
    argTypes:
    - ctrl_t
    - ksba_reader_t
    - struct stats_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 765
    functionDepth: 3
    functionLinenumber: 765
    functionLinenumberEnd: 981
    functionName: parse_p12
    functionSourceFile: /src/gnupg/sm/import.c
    functionUses: 1
    functionsReached:
    - put_membuf
    - gcry_cipher_encrypt
    - gpgsm_agent_keywrap_key
    - gcry_cipher_close
    - xtrymalloc
    - init_membuf
    - gcry_cipher_open
    - p12_parse
    - log_printhex
    - log_error
    - ksba_reader_read
    - _
    - gcry_sexp_release
    - i18n_utf8
    - gcry_pk_get_keygrip
    - gcry_cipher_setkey
    - gpg_error_from_syserror
    - gpgsm_status_with_err_code
    - gpg_error
    - memset
    - gpg_strerror
    - xfree
    - p12_parse_free_kparms
    - gpgsm_agent_ask_passphrase
    - gcry_mpi_release
    - get_membuf
    - gcry_free
    - p12_to_skey
    - make_canon_sexp_pad
    - memcmp
    - gpg_err_code
    - gpgsm_agent_import_key
    - N_
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_p12 (ctrl_t ctrl, ksba_reader_t reader, struct stats_s
      *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 130
    functionName: flush_istrusted_cache
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void flush_istrusted_cache (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cachep
    argTypes:
    - keyinfo_cache_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: release_a_keyinfo_cache
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_a_keyinfo_cache (keyinfo_cache_item_t *cachep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_a_keyinfo_cache
      Src: /src/gnupg/sm/call-agent.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: gpgsm_flush_keyinfo_cache
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - release_a_keyinfo_cache
    linkageType: ''
    returnType: void
    signature: void gpgsm_flush_keyinfo_cache (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: warn_server_version_mismatch
      Src: /src/gnupg/sm/call-agent.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctrl
    - ctx
    - servername
    - mode
    argTypes:
    - ctrl_t
    - assuan_context_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: warn_version_mismatch
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 4
    functionsReached:
    - warn_server_version_mismatch
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t warn_version_mismatch (ctrl_t ctrl, assuan_context_t ctx,\n
      \                      const char *servername, int mode)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: start_new_gpg_agent
      Src: /src/gnupg/sm/call-agent.c:184,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/call-agent.c:193,1
    - Dst: log_info
      Src: /src/gnupg/sm/call-agent.c:200,1
    - Dst: _
      Src: /src/gnupg/sm/call-agent.c:200,1
    - Dst: warn_version_mismatch
      Src: /src/gnupg/sm/call-agent.c:203,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:209,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/call-agent.c:215,1
    - Dst: str_pinentry_mode
      Src: /src/gnupg/sm/call-agent.c:216,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:217,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:219,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-agent.c:221,1
    - Dst: str_pinentry_mode
      Src: /src/gnupg/sm/call-agent.c:222,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/call-agent.c:223,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/call-agent.c:229,1
    - Dst: str_request_origin
      Src: /src/gnupg/sm/call-agent.c:230,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:231,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:233,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-agent.c:235,1
    - Dst: str_request_origin
      Src: /src/gnupg/sm/call-agent.c:236,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/call-agent.c:237,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:245,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:248,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-agent.c:249,1
    - Dst: _
      Src: /src/gnupg/sm/call-agent.c:249,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/sm/call-agent.c:251,1
    - Dst: gpgsm_status_with_error
      Src: /src/gnupg/sm/call-agent.c:252,1
    - Dst: audit_log_ok
      Src: /src/gnupg/sm/call-agent.c:264,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 173
    functionDepth: 9
    functionLinenumber: 173
    functionLinenumberEnd: 268
    functionName: start_agent
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 61
    functionsReached:
    - gpgsm_status_with_error
    - warn_version_mismatch
    - str_pinentry_mode
    - log_error
    - gnupg_compliance_option_string
    - audit_log_ok
    - _
    - assuan_transact
    - gpg_error
    - log_info
    - gpg_err_code
    - xasprintf
    - xfree
    - gpg_strerror
    - str_request_origin
    - start_new_gpg_agent
    linkageType: ''
    returnType: int
    signature: int start_agent (ctrl_t ctrl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-agent.c:279,1
    - Dst: gpgsm_proxy_pinentry_notify
      Src: /src/gnupg/sm/call-agent.c:281,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-agent.c:283,1
    - Dst: _
      Src: /src/gnupg/sm/call-agent.c:283,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-agent.c:287,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-agent.c:288,1
    - Dst: have_static_passphrase
      Src: /src/gnupg/sm/call-agent.c:290,1
    - Dst: get_static_passphrase
      Src: /src/gnupg/sm/call-agent.c:292,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/sm/call-agent.c:293,1
    - Dst: assuan_send_data
      Src: /src/gnupg/sm/call-agent.c:294,1
    - Dst: strlen
      Src: /src/gnupg/sm/call-agent.c:294,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/sm/call-agent.c:295,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-agent.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 301
    functionName: default_inq_cb
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 5
    functionsReached:
    - gpgsm_proxy_pinentry_notify
    - assuan_send_data
    - log_error
    - strlen
    - assuan_end_confidential
    - assuan_begin_confidential
    - _
    - has_leading_keyword
    - get_static_passphrase
    - have_static_passphrase
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t default_inq_cb (void *opaque, const char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-agent.c:313,1
    - Dst: assuan_send_data
      Src: /src/gnupg/sm/call-agent.c:315,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-agent.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 321
    functionName: sethash_inq_cb
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - log_error
    - assuan_send_data
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t sethash_inq_cb (void *opaque, const char *line)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:341,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:347,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:348,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:350,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:354,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:354,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:355,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:361,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:361,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:362,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:375,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:381,1
    - Dst: strlen
      Src: /src/gnupg/sm/call-agent.c:382,1
    - Dst: sprintf
      Src: /src/gnupg/sm/call-agent.c:384,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:385,1
    - Dst: init_membuf
      Src: /src/gnupg/sm/call-agent.c:391,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:392,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:397,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:397,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:400,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/call-agent.c:402,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:404,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:405,1
    - Dst: out_of_core
      Src: /src/gnupg/sm/call-agent.c:408,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 8
    argNames:
    - ctrl
    - keygrip
    - desc
    - digest
    - digestlen
    - digestalgo
    - r_buf
    - r_buflen
    argTypes:
    - ctrl_t
    - char*
    - char*
    - unsigned char*
    - size_t
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 409
    functionName: gpgsm_agent_pksign
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 1
    functionsReached:
    - get_membuf
    - init_membuf
    - strlen
    - snprintf
    - sprintf
    - DIM
    - assuan_transact
    - gpg_error
    - xfree
    - gcry_sexp_canon_len
    - start_agent
    - out_of_core
    linkageType: ''
    returnType: int
    signature: "int gpgsm_agent_pksign (ctrl_t ctrl, const char *keygrip, const char
      *desc,\n                    unsigned char *digest, size_t digestlen, int digestalgo,\n
      \                   unsigned char **r_buf, size_t *r_buflen )"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:441,1
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:444,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:450,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:451,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:454,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:454,1
    - Dst: init_membuf
      Src: /src/gnupg/sm/call-agent.c:455,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:456,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:460,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:460,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:464,1
    - Dst: get_pk_algo_from_canon_sexp
      Src: /src/gnupg/sm/call-agent.c:465,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:466,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:468,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/call-agent.c:470,1
    - Dst: sprintf
      Src: /src/gnupg/sm/call-agent.c:472,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:473,1
    - Dst: init_membuf
      Src: /src/gnupg/sm/call-agent.c:477,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:479,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:479,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:480,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:485,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:485,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:488,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/sm/call-agent.c:493,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/sm/call-agent.c:498,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/sm/call-agent.c:504,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:510,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:513,1
    - Dst: make_canon_sexp
      Src: /src/gnupg/sm/call-agent.c:517,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/call-agent.c:518,1
    - Dst: log_assert
      Src: /src/gnupg/sm/call-agent.c:522,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/call-agent.c:522,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 78
    argCount: 8
    argNames:
    - ctrl
    - keyid
    - desc
    - digest
    - digestlen
    - digestalgo
    - r_buf
    - r_buflen
    argTypes:
    - ctrl_t
    - char*
    - char*
    - unsigned char*
    - size_t
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 524
    functionName: gpgsm_scd_pksign
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 1
    functionsReached:
    - get_membuf
    - init_membuf
    - log_assert
    - snprintf
    - sprintf
    - DIM
    - make_canon_sexp
    - assuan_transact
    - gpg_error
    - xfree
    - get_pk_algo_from_canon_sexp
    - gcry_sexp_release
    - start_agent
    - gcry_sexp_canon_len
    - stpcpy
    - gcry_sexp_build
    linkageType: ''
    returnType: int
    signature: "int gpgsm_scd_pksign (ctrl_t ctrl, const char *keyid, const char *desc,\n
      \                 unsigned char *digest, size_t digestlen, int digestalgo,\n
      \                 unsigned char **r_buf, size_t *r_buflen )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-agent.c:537,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/sm/call-agent.c:539,1
    - Dst: assuan_send_data
      Src: /src/gnupg/sm/call-agent.c:540,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/sm/call-agent.c:541,1
    - Dst: default_inq_cb
      Src: /src/gnupg/sm/call-agent.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 550
    functionName: inq_ciphertext_cb
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - assuan_end_confidential
    - assuan_begin_confidential
    - has_leading_keyword
    - default_inq_cb
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t inq_ciphertext_cb (void *opaque, const char *line)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/sm/call-agent.c:568,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:569,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/call-agent.c:572,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:574,1
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:576,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:580,1
    - Dst: log_assert
      Src: /src/gnupg/sm/call-agent.c:584,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:584,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:585,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:585,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:586,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:592,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:592,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:593,1
    - Dst: init_membuf
      Src: /src/gnupg/sm/call-agent.c:599,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:604,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:609,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:609,1
    - Dst: put_membuf
      Src: /src/gnupg/sm/call-agent.c:614,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:615,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:617,1
    - Dst: log_assert
      Src: /src/gnupg/sm/call-agent.c:618,1
    - Dst: memcmp
      Src: /src/gnupg/sm/call-agent.c:622,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:623,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:628,1
    - Dst: strtoul
      Src: /src/gnupg/sm/call-agent.c:641,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:643,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:646,1
    - Dst: memmove
      Src: /src/gnupg/sm/call-agent.c:648,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 7
    argNames:
    - ctrl
    - keygrip
    - desc
    - use_kem
    - ciphertext
    - r_buf
    - r_buflen
    argTypes:
    - ctrl_t
    - char*
    - char*
    - int
    - ksba_const_sexp_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 653
    functionName: gpgsm_agent_pkdecrypt
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - memmove
    - init_membuf
    - strlen
    - log_assert
    - snprintf
    - put_membuf
    - DIM
    - assuan_transact
    - gpg_error
    - memcmp
    - xfree
    - gcry_sexp_canon_len
    - start_agent
    - strtoul
    linkageType: ''
    returnType: int
    signature: "int gpgsm_agent_pkdecrypt (ctrl_t ctrl, const char *keygrip, const
      char *desc,\n                       int use_kem, ksba_const_sexp_t ciphertext,\n
      \                      char **r_buf, size_t *r_buflen )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-agent.c:667,1
    - Dst: assuan_send_data
      Src: /src/gnupg/sm/call-agent.c:669,1
    - Dst: default_inq_cb
      Src: /src/gnupg/sm/call-agent.c:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 678
    functionName: inq_genkey_parms
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - default_inq_cb
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t inq_genkey_parms (void *opaque, const char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:696,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:700,1
    - Dst: init_membuf
      Src: /src/gnupg/sm/call-agent.c:704,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/call-agent.c:708,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:710,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/sm/call-agent.c:711,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:712,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:715,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:720,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:720,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:723,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:725,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/call-agent.c:726,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:728,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:729,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - ctrl
    - no_protection
    - keyparms
    - r_pubkey
    argTypes:
    - ctrl_t
    - int
    - ksba_const_sexp_t
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 683
    functionDepth: 3
    functionLinenumber: 683
    functionLinenumberEnd: 733
    functionName: gpgsm_agent_genkey
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 1
    functionsReached:
    - get_membuf
    - init_membuf
    - snprintf
    - assuan_transact
    - gpg_error
    - gnupg_get_isotime
    - xfree
    - gcry_sexp_canon_len
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gpgsm_agent_genkey (ctrl_t ctrl, int no_protection,\n
      \                   ksba_const_sexp_t keyparms, ksba_sexp_t *r_pubkey)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:752,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:758,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:762,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:762,1
    - Dst: init_membuf
      Src: /src/gnupg/sm/call-agent.c:765,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:766,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:771,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:771,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:774,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:776,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/call-agent.c:777,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:779,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:780,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - ctrl
    - fromcard
    - hexkeygrip
    - r_pubkey
    argTypes:
    - ctrl_t
    - int
    - char*
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 784
    functionName: gpgsm_agent_readkey
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 1
    functionsReached:
    - get_membuf
    - init_membuf
    - snprintf
    - DIM
    - assuan_transact
    - gpg_error
    - xfree
    - gcry_sexp_canon_len
    - start_agent
    linkageType: ''
    returnType: int
    signature: "int gpgsm_agent_readkey (ctrl_t ctrl, int fromcard, const char *hexkeygrip,\n
      \                    ksba_sexp_t *r_pubkey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/sm/call-agent.c:797,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/call-agent.c:799,1
    - Dst: memcpy
      Src: /src/gnupg/sm/call-agent.c:802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 806
    functionName: store_serialno
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 2
    functionsReached:
    - hexdigitp
    - xtrymalloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      store_serialno (const char *line)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/sm/call-agent.c:817,1
    - Dst: spacep
      Src: /src/gnupg/sm/call-agent.c:819,1
    - Dst: memcmp
      Src: /src/gnupg/sm/call-agent.c:822,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:824,1
    - Dst: store_serialno
      Src: /src/gnupg/sm/call-agent.c:825,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 829
    functionName: scd_serialno_status_cb
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - memcmp
    - spacep
    - store_serialno
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_serialno_status_cb (void *opaque, const char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:841,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:847,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:852,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:855,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ctrl
    - r_serialno
    argTypes:
    - ctrl_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 860
    functionName: gpgsm_agent_scd_serialno
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - gpg_error
    - xfree
    - start_agent
    linkageType: ''
    returnType: int
    signature: int gpgsm_agent_scd_serialno (ctrl_t ctrl, char **r_serialno)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/sm/call-agent.c:874,1
    - Dst: spacep
      Src: /src/gnupg/sm/call-agent.c:876,1
    - Dst: memcmp
      Src: /src/gnupg/sm/call-agent.c:879,1
    - Dst: append_to_strlist
      Src: /src/gnupg/sm/call-agent.c:881,1
    - Dst: spacep
      Src: /src/gnupg/sm/call-agent.c:886,1
    - Dst: spacep
      Src: /src/gnupg/sm/call-agent.c:890,1
    - Dst: spacep
      Src: /src/gnupg/sm/call-agent.c:892,1
    - Dst: spacep
      Src: /src/gnupg/sm/call-agent.c:897,1
    - Dst: spacep
      Src: /src/gnupg/sm/call-agent.c:899,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 865
    functionDepth: 3
    functionLinenumber: 865
    functionLinenumberEnd: 914
    functionName: scd_keypairinfo_status_cb
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - memcmp
    - spacep
    - append_to_strlist
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t scd_keypairinfo_status_cb (void *opaque, const char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:928,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:934,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:939,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/call-agent.c:942,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ctrl
    - r_list
    argTypes:
    - ctrl_t
    - strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 947
    functionName: gpgsm_agent_scd_keypairinfo
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - gpg_error
    - free_strlist
    - start_agent
    linkageType: ''
    returnType: int
    signature: int gpgsm_agent_scd_keypairinfo (ctrl_t ctrl, strlist_t *r_list)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-agent.c:964,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-agent.c:967,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-agent.c:969,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-agent.c:971,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-agent.c:973,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-agent.c:975,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-agent.c:982,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/call-agent.c:989,1
    - Dst: strlen
      Src: /src/gnupg/sm/call-agent.c:989,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/call-agent.c:991,1
    - Dst: strcpy
      Src: /src/gnupg/sm/call-agent.c:992,1
    - Dst: memset
      Src: /src/gnupg/sm/call-agent.c:993,1
    - Dst: memset
      Src: /src/gnupg/sm/call-agent.c:998,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 1001
    functionName: istrusted_status_cb
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - strlen
    - gpg_error_from_syserror
    - strcpy
    - memset
    - has_leading_keyword
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t istrusted_status_cb (void *opaque, const char *line)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/call-agent.c:1018,1
    - Dst: memset
      Src: /src/gnupg/sm/call-agent.c:1019,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:1022,1
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:1024,1
    - Dst: gpgsm_get_fingerprint_hexstring
      Src: /src/gnupg/sm/call-agent.c:1030,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-agent.c:1033,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:1034,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:1047,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/call-agent.c:1054,1
    - Dst: log_info
      Src: /src/gnupg/sm/call-agent.c:1055,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/call-agent.c:1056,1
    - Dst: flush_istrusted_cache
      Src: /src/gnupg/sm/call-agent.c:1058,1
    - Dst: strcmp
      Src: /src/gnupg/sm/call-agent.c:1068,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:1077,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:1081,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:1081,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:1082,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:1091,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 4
    argNames:
    - ctrl
    - cert
    - hexfpr
    - rootca_flags
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - char*
    - struct rootca_flags_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1008
    functionDepth: 1
    functionLinenumber: 1008
    functionLinenumberEnd: 1093
    functionName: gpgsm_agent_istrusted
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 1
    functionsReached:
    - flush_istrusted_cache
    - log_error
    - snprintf
    - DIM
    - assuan_transact
    - strcmp
    - gpg_error
    - memset
    - gpgsm_get_fingerprint_hexstring
    - gpg_err_code
    - start_agent
    - log_info
    - gpg_strerror
    - xfree
    linkageType: ''
    returnType: int
    signature: "int gpgsm_agent_istrusted (ctrl_t ctrl, ksba_cert_t cert, const char
      *hexfpr,\n                       struct rootca_flags_s *rootca_flags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:1104,1
    - Dst: gpgsm_get_fingerprint_hexstring
      Src: /src/gnupg/sm/call-agent.c:1110,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-agent.c:1113,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:1114,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/sm/call-agent.c:1117,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:1120,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:1121,1
    - Dst: gpgsm_format_name2
      Src: /src/gnupg/sm/call-agent.c:1123,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:1124,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/call-agent.c:1126,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:1127,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:1127,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/call-agent.c:1128,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:1129,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:1131,1
    - Dst: flush_istrusted_cache
      Src: /src/gnupg/sm/call-agent.c:1136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - ctrl
    - cert
    argTypes:
    - ctrl_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1138
    functionName: gpgsm_agent_marktrusted
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - ksba_free
    - flush_istrusted_cache
    - log_error
    - gpg_error_from_syserror
    - snprintf
    - DIM
    - assuan_transact
    - gpg_error
    - gpgsm_get_fingerprint_hexstring
    - xfree
    - start_agent
    - gpgsm_format_name2
    - ksba_cert_get_issuer
    linkageType: ''
    returnType: int
    signature: int gpgsm_agent_marktrusted (ctrl_t ctrl, ksba_cert_t cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:1150,1
    - Dst: strlen
      Src: /src/gnupg/sm/call-agent.c:1154,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:1155,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:1157,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:1157,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:1159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctrl
    - hexkeygrip
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1161
    functionName: gpgsm_agent_havekey
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 3
    functionsReached:
    - strlen
    - snprintf
    - DIM
    - assuan_transact
    - gpg_error
    - start_agent
    linkageType: ''
    returnType: int
    signature: int gpgsm_agent_havekey (ctrl_t ctrl, const char *hexkeygrip)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-agent.c:1171,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/call-agent.c:1176,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:1177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1164
    functionDepth: 1
    functionLinenumber: 1164
    functionLinenumberEnd: 1181
    functionName: learn_status_cb
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - gpgsm_status
    - gpg_error
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t learn_status_cb (void *opaque, const char *line)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/gnupg/sm/call-agent.c:1199,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:1203,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:1206,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/call-agent.c:1210,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:1211,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/sm/call-agent.c:1214,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/sm/call-agent.c:1220,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-agent.c:1223,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/call-agent.c:1223,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/call-agent.c:1224,1
    - Dst: ksba_cert_get_ext_key_usages
      Src: /src/gnupg/sm/call-agent.c:1230,1
    - Dst: strchr
      Src: /src/gnupg/sm/call-agent.c:1234,1
    - Dst: strcmp
      Src: /src/gnupg/sm/call-agent.c:1238,1
    - Dst: log_info
      Src: /src/gnupg/sm/call-agent.c:1243,1
    - Dst: strchr
      Src: /src/gnupg/sm/call-agent.c:1247,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/call-agent.c:1251,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-agent.c:1252,1
    - Dst: _
      Src: /src/gnupg/sm/call-agent.c:1252,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/call-agent.c:1253,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:1254,1
    - Dst: gpgsm_basic_cert_check
      Src: /src/gnupg/sm/call-agent.c:1261,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/call-agent.c:1262,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/call-agent.c:1263,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-agent.c:1264,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/call-agent.c:1264,1
    - Dst: keydb_store_cert
      Src: /src/gnupg/sm/call-agent.c:1269,1
    - Dst: log_info
      Src: /src/gnupg/sm/call-agent.c:1272,1
    - Dst: log_info
      Src: /src/gnupg/sm/call-agent.c:1274,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:1279,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/call-agent.c:1281,1
    - Dst: init_membuf
      Src: /src/gnupg/sm/call-agent.c:1282,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 65
    argCount: 3
    argNames:
    - opaque
    - buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1284
    functionName: learn_cb
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - put_membuf
    - ksba_cert_new
    - init_membuf
    - ksba_cert_init_from_mem
    - log_error
    - _
    - log_info
    - keydb_store_cert
    - ksba_cert_release
    - ksba_cert_get_ext_key_usages
    - strcmp
    - gpg_error
    - strchr
    - gpg_strerror
    - xfree
    - get_membuf
    - gpgsm_basic_cert_check
    - gpg_err_code
    - gpgsm_status
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t learn_cb (void *opaque, const void *buffer, size_t length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:1298,1
    - Dst: warn_version_mismatch
      Src: /src/gnupg/sm/call-agent.c:1302,1
    - Dst: init_membuf
      Src: /src/gnupg/sm/call-agent.c:1306,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:1311,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:1314,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:1318,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:1318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ctrl
    - serialno
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1322
    functionName: gpgsm_agent_learn
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - warn_version_mismatch
    - snprintf
    - assuan_transact
    - xfree
    - start_agent
    linkageType: ''
    returnType: int
    signature: int gpgsm_agent_learn (ctrl_t ctrl, const char *serialno)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:1335,1
    - Dst: strlen
      Src: /src/gnupg/sm/call-agent.c:1341,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:1342,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:1346,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:1346,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:1347,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:1353,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:1353,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:1355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ctrl
    - hexkeygrip
    - desc
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1358
    functionName: gpgsm_agent_passwd
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - DIM
    - assuan_transact
    - gpg_error
    - start_agent
    linkageType: ''
    returnType: int
    signature: int gpgsm_agent_passwd (ctrl_t ctrl, const char *hexkeygrip, const
      char *desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:1371,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:1377,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:1377,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:1379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctrl
    - desc
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1382
    functionName: gpgsm_agent_get_confirmation
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - snprintf
    - DIM
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpgsm_agent_get_confirmation (ctrl_t ctrl, const char *desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:1393,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:1395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1398
    functionName: gpgsm_agent_send_nop
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpgsm_agent_send_nop (ctrl_t ctrl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-agent.c:1415,1
    - Dst: strchr
      Src: /src/gnupg/sm/call-agent.c:1418,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:1419,1
    - Dst: strchr
      Src: /src/gnupg/sm/call-agent.c:1424,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/call-agent.c:1427,1
    - Dst: memcpy
      Src: /src/gnupg/sm/call-agent.c:1430,1
    - Dst: strlen
      Src: /src/gnupg/sm/call-agent.c:1442,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/call-agent.c:1443,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/call-agent.c:1445,1
    - Dst: memcpy
      Src: /src/gnupg/sm/call-agent.c:1446,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1409
    functionDepth: 1
    functionLinenumber: 1409
    functionLinenumberEnd: 1456
    functionName: keyinfo_status_cb
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - strlen
    - gpg_error_from_syserror
    - strchr
    - xfree
    - memcpy
    - has_leading_keyword
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keyinfo_status_cb (void *opaque, const char *line)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:1479,1
    - Dst: strlen
      Src: /src/gnupg/sm/call-agent.c:1483,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:1484,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:1493,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/call-agent.c:1498,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-agent.c:1499,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/call-agent.c:1500,1
    - Dst: release_a_keyinfo_cache
      Src: /src/gnupg/sm/call-agent.c:1502,1
    - Dst: strcmp
      Src: /src/gnupg/sm/call-agent.c:1517,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:1521,1
    - Dst: xtrystrdup
      Src: /src/gnupg/sm/call-agent.c:1526,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/call-agent.c:1528,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:1532,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:1536,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:1536,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:1538,1
    - Dst: strpbrk
      Src: /src/gnupg/sm/call-agent.c:1545,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-agent.c:1546,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:1550,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 3
    argNames:
    - ctrl
    - hexkeygrip
    - r_serialno
    argTypes:
    - ctrl_t
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1469
    functionDepth: 1
    functionLinenumber: 1469
    functionLinenumberEnd: 1554
    functionName: gpgsm_agent_keyinfo
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 2
    functionsReached:
    - strpbrk
    - strlen
    - log_error
    - gpg_error_from_syserror
    - snprintf
    - DIM
    - release_a_keyinfo_cache
    - assuan_transact
    - strcmp
    - gpg_error
    - xtrystrdup
    - gpg_err_code
    - gpg_strerror
    - xfree
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpgsm_agent_keyinfo (ctrl_t ctrl, const char *hexkeygrip,
      char **r_serialno)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:1576,1
    - Dst: percent_plus_escape
      Src: /src/gnupg/sm/call-agent.c:1582,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/call-agent.c:1583,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:1585,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:1585,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:1588,1
    - Dst: init_membuf_secure
      Src: /src/gnupg/sm/call-agent.c:1590,1
    - Dst: assuan_get_flag
      Src: /src/gnupg/sm/call-agent.c:1591,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/sm/call-agent.c:1592,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:1593,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/sm/call-agent.c:1597,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:1600,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:1600,1
    - Dst: put_membuf
      Src: /src/gnupg/sm/call-agent.c:1603,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:1604,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/call-agent.c:1606,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - ctrl
    - desc_msg
    - repeat
    - r_passphrase
    argTypes:
    - ctrl_t
    - char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1563
    functionDepth: 1
    functionLinenumber: 1563
    functionLinenumberEnd: 1609
    functionName: gpgsm_agent_ask_passphrase
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 2
    functionsReached:
    - get_membuf
    - percent_plus_escape
    - gpg_error_from_syserror
    - snprintf
    - assuan_end_confidential
    - DIM
    - assuan_begin_confidential
    - put_membuf
    - assuan_transact
    - xfree
    - assuan_get_flag
    - start_agent
    - init_membuf_secure
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gpgsm_agent_ask_passphrase (ctrl_t ctrl, const char *desc_msg,
      int repeat,\n                            char **r_passphrase)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:1628,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:1634,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:1634,1
    - Dst: init_membuf_secure
      Src: /src/gnupg/sm/call-agent.c:1637,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:1638,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:1643,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:1643,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:1646,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/call-agent.c:1648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - ctrl
    - forexport
    - r_kek
    - r_keklen
    argTypes:
    - ctrl_t
    - int
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1616
    functionDepth: 1
    functionLinenumber: 1616
    functionLinenumberEnd: 1652
    functionName: gpgsm_agent_keywrap_key
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 2
    functionsReached:
    - get_membuf
    - gpg_error_from_syserror
    - snprintf
    - DIM
    - assuan_transact
    - xfree
    - start_agent
    - init_membuf_secure
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gpgsm_agent_keywrap_key (ctrl_t ctrl, int forexport,\n
      \                        void **r_kek, size_t *r_keklen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-agent.c:1664,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/sm/call-agent.c:1666,1
    - Dst: assuan_send_data
      Src: /src/gnupg/sm/call-agent.c:1667,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/sm/call-agent.c:1668,1
    - Dst: default_inq_cb
      Src: /src/gnupg/sm/call-agent.c:1673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1658
    functionDepth: 1
    functionLinenumber: 1658
    functionLinenumberEnd: 1677
    functionName: inq_import_key_parms
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - assuan_end_confidential
    - assuan_begin_confidential
    - has_leading_keyword
    - default_inq_cb
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t inq_import_key_parms (void *opaque, const char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:1689,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/sm/call-agent.c:1698,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:1699,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:1700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ctrl
    - key
    - keylen
    argTypes:
    - ctrl_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1681
    functionDepth: 3
    functionLinenumber: 1681
    functionLinenumberEnd: 1703
    functionName: gpgsm_agent_import_key
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 1
    functionsReached:
    - assuan_transact
    - snprintf
    - gnupg_get_isotime
    - start_agent
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpgsm_agent_import_key (ctrl_t ctrl, const void *key, size_t
      keylen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_agent
      Src: /src/gnupg/sm/call-agent.c:1724,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:1732,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:1732,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:1733,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-agent.c:1739,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-agent.c:1739,1
    - Dst: init_membuf_secure
      Src: /src/gnupg/sm/call-agent.c:1741,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-agent.c:1742,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-agent.c:1747,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:1747,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-agent.c:1750,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/call-agent.c:1752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 5
    argNames:
    - ctrl
    - keygrip
    - desc
    - r_result
    - r_resultlen
    argTypes:
    - ctrl_t
    - char*
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1756
    functionName: gpgsm_agent_export_key
    functionSourceFile: /src/gnupg/sm/call-agent.c
    functionUses: 1
    functionsReached:
    - get_membuf
    - gpg_error_from_syserror
    - snprintf
    - DIM
    - assuan_transact
    - xfree
    - start_agent
    - init_membuf_secure
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gpgsm_agent_export_key (ctrl_t ctrl, const char *keygrip,
      const char *desc,\n                        unsigned char **r_result, size_t
      *r_resultlen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:81,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:82,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:92,1
    - Dst: gnupg_cipher_algo_name
      Src: /src/gnupg/sm/encrypt.c:93,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:94,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/gnupg/sm/encrypt.c:99,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:101,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/gnupg/sm/encrypt.c:103,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:105,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:110,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:111,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/sm/encrypt.c:114,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:117,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:117,1
    - Dst: gcry_randomize
      Src: /src/gnupg/sm/encrypt.c:123,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/sm/encrypt.c:124,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/encrypt.c:125,1
    - Dst: log_info
      Src: /src/gnupg/sm/encrypt.c:127,1
    - Dst: _
      Src: /src/gnupg/sm/encrypt.c:127,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:131,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:131,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/sm/encrypt.c:132,1
    - Dst: gcry_create_nonce
      Src: /src/gnupg/sm/encrypt.c:137,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/sm/encrypt.c:138,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:141,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:141,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/sm/encrypt.c:142,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 1
    argNames:
    - dek
    argTypes:
    - DEK
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 148
    functionName: init_dek
    functionSourceFile: /src/gnupg/sm/encrypt.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - gcry_cipher_open
    - gcry_cipher_setkey
    - log_error
    - gcry_cipher_setiv
    - _
    - gpg_error
    - gpg_strerror
    - gpg_err_code
    - gnupg_cipher_algo_name
    - gcry_randomize
    - log_info
    - gcry_create_nonce
    - gcry_cipher_close
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: int
    signature: int init_dek (DEK dek)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/encrypt.c:158,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/encrypt.c:160,1
    - Dst: strcpy
      Src: /src/gnupg/sm/encrypt.c:161,1
    - Dst: bin2hex
      Src: /src/gnupg/sm/encrypt.c:162,1
    - Dst: strlen
      Src: /src/gnupg/sm/encrypt.c:162,1
    - Dst: strcat
      Src: /src/gnupg/sm/encrypt.c:163,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/sm/encrypt.c:164,1
    - Dst: strlen
      Src: /src/gnupg/sm/encrypt.c:164,1
    - Dst: xfree
      Src: /src/gnupg/sm/encrypt.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - dek
    - r_data
    argTypes:
    - DEK
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 168
    functionName: encode_session_key
    functionSourceFile: /src/gnupg/sm/encrypt.c
    functionUses: 1
    functionsReached:
    - strlen
    - gpg_error_from_syserror
    - bin2hex
    - gcry_sexp_sscan
    - strcpy
    - xfree
    - xtrymalloc
    - strcat
    linkageType: ''
    returnType: int
    signature: int encode_session_key (DEK dek, gcry_sexp_t * r_data)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/sm/encrypt.c:211,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/sm/encrypt.c:214,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/encrypt.c:215,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:219,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:220,1
    - Dst: openpgp_oid_to_curve
      Src: /src/gnupg/sm/encrypt.c:228,1
    - Dst: xfree
      Src: /src/gnupg/sm/encrypt.c:229,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:232,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:233,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:233,1
    - Dst: openpgp_is_curve_supported
      Src: /src/gnupg/sm/encrypt.c:237,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:240,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:241,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:241,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:249,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:250,1
    - Dst: gnupg_get_ecc_params
      Src: /src/gnupg/sm/encrypt.c:290,1
    - Dst: log_info
      Src: /src/gnupg/sm/encrypt.c:294,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:295,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/sm/encrypt.c:300,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/sm/encrypt.c:302,1
    - Dst: log_info
      Src: /src/gnupg/sm/encrypt.c:314,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:316,1
    - Dst: log_debug
      Src: /src/gnupg/sm/encrypt.c:334,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/encrypt.c:335,1
    - Dst: gcry_kem_encap
      Src: /src/gnupg/sm/encrypt.c:338,1
    - Dst: log_info
      Src: /src/gnupg/sm/encrypt.c:346,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/encrypt.c:352,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/encrypt.c:353,1
    - Dst: memmove
      Src: /src/gnupg/sm/encrypt.c:371,1
    - Dst: ecdh_derive_kek
      Src: /src/gnupg/sm/encrypt.c:380,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/encrypt.c:386,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:391,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:393,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/sm/encrypt.c:398,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/encrypt.c:401,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/sm/encrypt.c:405,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:408,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:409,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/sm/encrypt.c:413,1
    - Dst: wipememory
      Src: /src/gnupg/sm/encrypt.c:414,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:417,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:418,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/sm/encrypt.c:422,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:426,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:427,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/encrypt.c:432,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/sm/encrypt.c:434,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:442,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:443,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/encrypt.c:446,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/sm/encrypt.c:447,1
    - Dst: wipememory
      Src: /src/gnupg/sm/encrypt.c:448,1
    - Dst: wipememory
      Src: /src/gnupg/sm/encrypt.c:449,1
    - Dst: xfree
      Src: /src/gnupg/sm/encrypt.c:450,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 171
    argCount: 3
    argNames:
    - dek
    - s_pkey
    - r_encval
    argTypes:
    - DEK
    - gcry_sexp_t
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 452
    functionName: ecdh_encrypt
    functionSourceFile: /src/gnupg/sm/encrypt.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_find_token
    - gcry_cipher_encrypt
    - gcry_sexp_nth_string
    - memmove
    - gcry_cipher_open
    - log_printhex
    - log_error
    - wipememory
    - log_info
    - gnupg_get_ecc_params
    - gcry_sexp_release
    - gcry_sexp_build
    - openpgp_oid_to_curve
    - log_debug
    - openpgp_is_curve_supported
    - gcry_cipher_setkey
    - gpg_error_from_syserror
    - xtrymalloc_secure
    - gcry_sexp_extract_param
    - gpg_error
    - xfree
    - gpg_strerror
    - gcry_mpi_get_opaque
    - gcry_mpi_release
    - gcry_kem_encap
    - ecdh_derive_kek
    - gcry_cipher_close
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ecdh_encrypt (DEK dek, gcry_sexp_t s_pkey, gcry_sexp_t
      *r_encval)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_public_key
      Src: /src/gnupg/sm/encrypt.c:470,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:473,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:474,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/encrypt.c:476,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:479,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:480,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/sm/encrypt.c:482,1
    - Dst: xfree
      Src: /src/gnupg/sm/encrypt.c:483,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:486,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:486,1
    - Dst: log_printsexp
      Src: /src/gnupg/sm/encrypt.c:492,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/encrypt.c:493,1
    - Dst: ecdh_encrypt
      Src: /src/gnupg/sm/encrypt.c:500,1
    - Dst: encode_session_key
      Src: /src/gnupg/sm/encrypt.c:504,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/encrypt.c:507,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:508,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:508,1
    - Dst: log_printsexp
      Src: /src/gnupg/sm/encrypt.c:512,1
    - Dst: gcry_pk_encrypt
      Src: /src/gnupg/sm/encrypt.c:515,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/encrypt.c:517,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/encrypt.c:518,1
    - Dst: log_printsexp
      Src: /src/gnupg/sm/encrypt.c:521,1
    - Dst: make_canon_sexp
      Src: /src/gnupg/sm/encrypt.c:526,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/encrypt.c:527,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 4
    argNames:
    - dek
    - cert
    - pk_algo
    - encval
    argTypes:
    - DEK
    - ksba_cert_t
    - int
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 458
    functionDepth: 4
    functionLinenumber: 458
    functionLinenumberEnd: 530
    functionName: encrypt_dek
    functionSourceFile: /src/gnupg/sm/encrypt.c
    functionUses: 0
    functionsReached:
    - ksba_cert_get_public_key
    - log_printhex
    - log_error
    - ecdh_encrypt
    - encode_session_key
    - make_canon_sexp
    - gcry_sexp_sscan
    - gcry_pk_encrypt
    - gpg_error
    - xfree
    - gcry_sexp_canon_len
    - gpg_strerror
    - gcry_sexp_release
    - log_printsexp
    linkageType: ''
    returnType: int
    signature: "int encrypt_dek (const DEK dek, ksba_cert_t cert, int pk_algo,\n             unsigned
      char **encval)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/gnupg/sm/encrypt.c:551,1
    - Dst: es_getc
      Src: /src/gnupg/sm/encrypt.c:558,1
    - Dst: es_ferror
      Src: /src/gnupg/sm/encrypt.c:561,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/sm/encrypt.c:578,1
    - Dst: memmove
      Src: /src/gnupg/sm/encrypt.c:582,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/sm/encrypt.c:591,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 4
    argNames:
    - cb_value
    - buffer
    - count
    - nread
    argTypes:
    - void*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 597
    functionName: encrypt_cb
    functionSourceFile: /src/gnupg/sm/encrypt.c
    functionUses: 0
    functionsReached:
    - memmove
    - BUG
    - gcry_cipher_encrypt
    - es_getc
    - es_ferror
    linkageType: ''
    returnType: int
    signature: int encrypt_cb (void *cb_value, char *buffer, size_t count, size_t
      *nread)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/encrypt.c:625,1
    - Dst: audit_set_type
      Src: /src/gnupg/sm/encrypt.c:627,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:637,1
    - Dst: _
      Src: /src/gnupg/sm/encrypt.c:637,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/encrypt.c:638,1
    - Dst: audit_log_i
      Src: /src/gnupg/sm/encrypt.c:639,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:640,1
    - Dst: audit_log_i
      Src: /src/gnupg/sm/encrypt.c:646,1
    - Dst: keydb_new
      Src: /src/gnupg/sm/encrypt.c:648,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:651,1
    - Dst: _
      Src: /src/gnupg/sm/encrypt.c:651,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:652,1
    - Dst: ksba_reader_new
      Src: /src/gnupg/sm/encrypt.c:656,1
    - Dst: ksba_reader_set_cb
      Src: /src/gnupg/sm/encrypt.c:658,1
    - Dst: gnupg_ksba_create_writer
      Src: /src/gnupg/sm/encrypt.c:665,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:671,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:671,1
    - Dst: gnupg_ksba_set_progress_cb
      Src: /src/gnupg/sm/encrypt.c:675,1
    - Dst: gnupg_ksba_set_total
      Src: /src/gnupg/sm/encrypt.c:677,1
    - Dst: ksba_cms_new
      Src: /src/gnupg/sm/encrypt.c:679,1
    - Dst: ksba_cms_set_reader_writer
      Src: /src/gnupg/sm/encrypt.c:683,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:686,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:687,1
    - Dst: audit_log
      Src: /src/gnupg/sm/encrypt.c:691,1
    - Dst: xtrycalloc_secure
      Src: /src/gnupg/sm/encrypt.c:694,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/encrypt.c:697,1
    - Dst: gcry_cipher_map_name
      Src: /src/gnupg/sm/encrypt.c:702,1
    - Dst: gcry_cipher_mode_from_oid
      Src: /src/gnupg/sm/encrypt.c:703,1
    - Dst: ksba_cms_set_content_type
      Src: /src/gnupg/sm/encrypt.c:707,1
    - Dst: ksba_cms_set_content_type
      Src: /src/gnupg/sm/encrypt.c:712,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:715,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:716,1
    - Dst: gnupg_cipher_is_allowed
      Src: /src/gnupg/sm/encrypt.c:721,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:723,1
    - Dst: _
      Src: /src/gnupg/sm/encrypt.c:723,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/sm/encrypt.c:725,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:726,1
    - Dst: gnupg_rng_is_compliant
      Src: /src/gnupg/sm/encrypt.c:730,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:732,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:733,1
    - Dst: _
      Src: /src/gnupg/sm/encrypt.c:733,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/sm/encrypt.c:735,1
    - Dst: gpgsm_status_with_error
      Src: /src/gnupg/sm/encrypt.c:736,1
    - Dst: init_dek
      Src: /src/gnupg/sm/encrypt.c:742,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:745,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:746,1
    - Dst: ksba_cms_set_content_enc_algo
      Src: /src/gnupg/sm/encrypt.c:750,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:753,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:754,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/encrypt.c:761,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/encrypt.c:764,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/encrypt.c:768,1
    - Dst: gnupg_cipher_is_compliant
      Src: /src/gnupg/sm/encrypt.c:770,1
    - Dst: gpgsm_get_key_algo_info
      Src: /src/gnupg/sm/encrypt.c:782,1
    - Dst: gnupg_pk_is_compliant
      Src: /src/gnupg/sm/encrypt.c:783,1
    - Dst: snprintf
      Src: /src/gnupg/sm/encrypt.c:788,1
    - Dst: gpgsm_get_short_fingerprint
      Src: /src/gnupg/sm/encrypt.c:789,1
    - Dst: log_info
      Src: /src/gnupg/sm/encrypt.c:790,1
    - Dst: _
      Src: /src/gnupg/sm/encrypt.c:790,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/sm/encrypt.c:793,1
    - Dst: gnupg_pk_is_compliant
      Src: /src/gnupg/sm/encrypt.c:799,1
    - Dst: xfree
      Src: /src/gnupg/sm/encrypt.c:802,1
    - Dst: encrypt_dek
      Src: /src/gnupg/sm/encrypt.c:805,1
    - Dst: audit_log_cert
      Src: /src/gnupg/sm/encrypt.c:808,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:809,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:810,1
    - Dst: ksba_cms_add_recipient
      Src: /src/gnupg/sm/encrypt.c:814,1
    - Dst: audit_log_cert
      Src: /src/gnupg/sm/encrypt.c:817,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:818,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:819,1
    - Dst: xfree
      Src: /src/gnupg/sm/encrypt.c:820,1
    - Dst: ksba_cms_set_enc_val
      Src: /src/gnupg/sm/encrypt.c:824,1
    - Dst: xfree
      Src: /src/gnupg/sm/encrypt.c:825,1
    - Dst: audit_log_cert
      Src: /src/gnupg/sm/encrypt.c:826,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:829,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:830,1
    - Dst: gnupg_gcrypt_is_compliant
      Src: /src/gnupg/sm/encrypt.c:835,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/encrypt.c:836,1
    - Dst: gnupg_status_compliance_flag
      Src: /src/gnupg/sm/encrypt.c:837,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:841,1
    - Dst: _
      Src: /src/gnupg/sm/encrypt.c:841,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:844,1
    - Dst: ksba_cms_build
      Src: /src/gnupg/sm/encrypt.c:852,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:855,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:855,1
    - Dst: gcry_cipher_gettag
      Src: /src/gnupg/sm/encrypt.c:864,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:867,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:867,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/encrypt.c:871,1
    - Dst: ksba_cms_set_message_digest
      Src: /src/gnupg/sm/encrypt.c:872,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:875,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:875,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:884,1
    - Dst: strerror
      Src: /src/gnupg/sm/encrypt.c:884,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/encrypt.c:885,1
    - Dst: gpg_err_code_from_errno
      Src: /src/gnupg/sm/encrypt.c:885,1
    - Dst: gnupg_ksba_finish_writer
      Src: /src/gnupg/sm/encrypt.c:890,1
    - Dst: log_error
      Src: /src/gnupg/sm/encrypt.c:893,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/encrypt.c:893,1
    - Dst: audit_log
      Src: /src/gnupg/sm/encrypt.c:896,1
    - Dst: log_info
      Src: /src/gnupg/sm/encrypt.c:898,1
    - Dst: gcry_cipher_algo_name
      Src: /src/gnupg/sm/encrypt.c:899,1
    - Dst: cipher_mode_to_string
      Src: /src/gnupg/sm/encrypt.c:900,1
    - Dst: ksba_cms_release
      Src: /src/gnupg/sm/encrypt.c:903,1
    - Dst: gnupg_ksba_destroy_writer
      Src: /src/gnupg/sm/encrypt.c:904,1
    - Dst: ksba_reader_release
      Src: /src/gnupg/sm/encrypt.c:905,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/encrypt.c:906,1
    - Dst: xfree
      Src: /src/gnupg/sm/encrypt.c:907,1
    - Dst: xfree
      Src: /src/gnupg/sm/encrypt.c:908,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 196
    argCount: 4
    argNames:
    - ctrl
    - recplist
    - data_fp
    - out_fp
    argTypes:
    - ctrl_t
    - certlist_t
    - estream_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 607
    functionDepth: 6
    functionLinenumber: 607
    functionLinenumberEnd: 910
    functionName: gpgsm_encrypt
    functionSourceFile: /src/gnupg/sm/encrypt.c
    functionUses: 0
    functionsReached:
    - gnupg_ksba_create_writer
    - xtrycalloc_secure
    - gpgsm_get_key_algo_info
    - gnupg_ksba_set_progress_cb
    - gnupg_ksba_destroy_writer
    - gcry_cipher_algo_name
    - ksba_cms_set_enc_val
    - init_dek
    - audit_log_i
    - gnupg_ksba_finish_writer
    - ksba_reader_release
    - audit_log_cert
    - audit_log_s
    - ksba_cms_set_content_type
    - gpgsm_status_with_error
    - audit_log
    - xtrymalloc
    - keydb_new
    - log_printhex
    - log_error
    - _
    - ksba_reader_new
    - ksba_reader_set_cb
    - log_info
    - cipher_mode_to_string
    - ksba_cms_add_recipient
    - keydb_release
    - gnupg_cipher_is_allowed
    - gnupg_cipher_is_compliant
    - ksba_cms_set_content_enc_algo
    - gcry_cipher_mode_from_oid
    - ksba_cms_set_reader_writer
    - gnupg_status_compliance_flag
    - gpg_error_from_syserror
    - gnupg_compliance_option_string
    - gpgsm_get_short_fingerprint
    - gnupg_pk_is_compliant
    - ksba_cms_build
    - ksba_cms_new
    - audit_set_type
    - gpg_error
    - gcry_cipher_gettag
    - memset
    - gpg_strerror
    - xfree
    - ksba_cms_release
    - ksba_cms_set_message_digest
    - gcry_cipher_map_name
    - snprintf
    - gnupg_rng_is_compliant
    - gnupg_ksba_set_total
    - encrypt_dek
    - gnupg_gcrypt_is_compliant
    - gpgsm_status
    - strerror
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: int
    signature: "int gpgsm_encrypt (ctrl_t ctrl, certlist_t recplist, estream_t data_fp,\n
      \              estream_t out_fp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/sm/fingerprint.c:56,1
    - Dst: log_assert
      Src: /src/gnupg/sm/fingerprint.c:57,1
    - Dst: xmalloc
      Src: /src/gnupg/sm/fingerprint.c:59,1
    - Dst: log_assert
      Src: /src/gnupg/sm/fingerprint.c:69,1
    - Dst: ksba_cert_get_user_data
      Src: /src/gnupg/sm/fingerprint.c:70,1
    - Dst: gcry_md_open
      Src: /src/gnupg/sm/fingerprint.c:77,1
    - Dst: log_error
      Src: /src/gnupg/sm/fingerprint.c:80,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/fingerprint.c:80,1
    - Dst: memset
      Src: /src/gnupg/sm/fingerprint.c:81,1
    - Dst: ksba_cert_hash
      Src: /src/gnupg/sm/fingerprint.c:85,1
    - Dst: log_error
      Src: /src/gnupg/sm/fingerprint.c:88,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/fingerprint.c:88,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/fingerprint.c:89,1
    - Dst: memset
      Src: /src/gnupg/sm/fingerprint.c:90,1
    - Dst: gcry_md_final
      Src: /src/gnupg/sm/fingerprint.c:93,1
    - Dst: memcpy
      Src: /src/gnupg/sm/fingerprint.c:94,1
    - Dst: gcry_md_read
      Src: /src/gnupg/sm/fingerprint.c:94,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/fingerprint.c:95,1
    - Dst: ksba_cert_set_user_data
      Src: /src/gnupg/sm/fingerprint.c:99,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - cert
    - algo
    - array
    - r_len
    argTypes:
    - ksba_cert_t
    - int
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 102
    functionName: gpgsm_get_fingerprint
    functionSourceFile: /src/gnupg/sm/fingerprint.c
    functionUses: 2
    functionsReached:
    - gcry_md_open
    - ksba_cert_set_user_data
    - log_assert
    - log_error
    - ksba_cert_hash
    - gcry_md_get_algo_dlen
    - xmalloc
    - gpg_strerror
    - memset
    - ksba_cert_get_user_data
    - gcry_md_final
    - gcry_md_close
    - gcry_md_read
    - memcpy
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\ngpgsm_get_fingerprint (ksba_cert_t cert, int algo,\n
      \                      unsigned char *array, int *r_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/sm/fingerprint.c:116,1
    - Dst: log_assert
      Src: /src/gnupg/sm/fingerprint.c:117,1
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/fingerprint.c:118,1
    - Dst: xmalloc
      Src: /src/gnupg/sm/fingerprint.c:119,1
    - Dst: bin2hexcolon
      Src: /src/gnupg/sm/fingerprint.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - cert
    - algo
    argTypes:
    - ksba_cert_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: gpgsm_get_fingerprint_string
    functionSourceFile: /src/gnupg/sm/fingerprint.c
    functionUses: 2
    functionsReached:
    - bin2hexcolon
    - log_assert
    - gcry_md_get_algo_dlen
    - xmalloc
    - gpgsm_get_fingerprint
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgsm_get_fingerprint_string (ksba_cert_t cert, int algo)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/sm/fingerprint.c:136,1
    - Dst: log_assert
      Src: /src/gnupg/sm/fingerprint.c:137,1
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/fingerprint.c:138,1
    - Dst: xmalloc
      Src: /src/gnupg/sm/fingerprint.c:139,1
    - Dst: bin2hex
      Src: /src/gnupg/sm/fingerprint.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - cert
    - algo
    argTypes:
    - ksba_cert_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 142
    functionName: gpgsm_get_fingerprint_hexstring
    functionSourceFile: /src/gnupg/sm/fingerprint.c
    functionUses: 6
    functionsReached:
    - log_assert
    - bin2hex
    - gcry_md_get_algo_dlen
    - xmalloc
    - gpgsm_get_fingerprint
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgsm_get_fingerprint_hexstring (ksba_cert_t cert, int algo)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/fingerprint.c:152,1
    - Dst: buf32_to_ulong
      Src: /src/gnupg/sm/fingerprint.c:154,1
    - Dst: buf32_to_ulong
      Src: /src/gnupg/sm/fingerprint.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cert
    - r_high
    argTypes:
    - ksba_cert_t
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: gpgsm_get_short_fingerprint
    functionSourceFile: /src/gnupg/sm/fingerprint.c
    functionUses: 4
    functionsReached:
    - gpgsm_get_fingerprint
    - buf32_to_ulong
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long gpgsm_get_short_fingerprint (ksba_cert_t cert, unsigned
      long *r_high)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_public_key
      Src: /src/gnupg/sm/fingerprint.c:171,1
    - Dst: log_debug
      Src: /src/gnupg/sm/fingerprint.c:176,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/fingerprint.c:177,1
    - Dst: log_error
      Src: /src/gnupg/sm/fingerprint.c:180,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/sm/fingerprint.c:183,1
    - Dst: xfree
      Src: /src/gnupg/sm/fingerprint.c:184,1
    - Dst: log_error
      Src: /src/gnupg/sm/fingerprint.c:187,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/fingerprint.c:187,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/sm/fingerprint.c:190,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/fingerprint.c:191,1
    - Dst: log_error
      Src: /src/gnupg/sm/fingerprint.c:194,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/fingerprint.c:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - cert
    - array
    argTypes:
    - ksba_cert_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 201
    functionName: gpgsm_get_keygrip
    functionSourceFile: /src/gnupg/sm/fingerprint.c
    functionUses: 0
    functionsReached:
    - ksba_cert_get_public_key
    - gcry_pk_get_keygrip
    - log_printhex
    - log_error
    - gcry_sexp_sscan
    - xfree
    - gcry_sexp_canon_len
    - gpg_strerror
    - gcry_sexp_release
    - log_debug
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      gpgsm_get_keygrip (ksba_cert_t cert, unsigned char *array)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_get_keygrip
      Src: /src/gnupg/sm/fingerprint.c:211,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/fingerprint.c:213,1
    - Dst: bin2hex
      Src: /src/gnupg/sm/fingerprint.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 217
    functionName: gpgsm_get_keygrip_hexstring
    functionSourceFile: /src/gnupg/sm/fingerprint.c
    functionUses: 7
    functionsReached:
    - bin2hex
    - xtrymalloc
    - gpgsm_get_keygrip
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgsm_get_keygrip_hexstring (ksba_cert_t cert)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_public_key
      Src: /src/gnupg/sm/fingerprint.c:241,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/fingerprint.c:244,1
    - Dst: xfree
      Src: /src/gnupg/sm/fingerprint.c:247,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/sm/fingerprint.c:250,1
    - Dst: xfree
      Src: /src/gnupg/sm/fingerprint.c:251,1
    - Dst: gcry_pk_get_nbits
      Src: /src/gnupg/sm/fingerprint.c:256,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/sm/fingerprint.c:259,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/fingerprint.c:262,1
    - Dst: gcry_pk_get_curve
      Src: /src/gnupg/sm/fingerprint.c:268,1
    - Dst: openpgp_oid_or_name_to_curve
      Src: /src/gnupg/sm/fingerprint.c:271,1
    - Dst: xtrystrdup
      Src: /src/gnupg/sm/fingerprint.c:272,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/fingerprint.c:275,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/fingerprint.c:276,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/sm/fingerprint.c:282,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/fingerprint.c:283,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/sm/fingerprint.c:285,1
    - Dst: memcpy
      Src: /src/gnupg/sm/fingerprint.c:290,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/fingerprint.c:295,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/fingerprint.c:296,1
    - Dst: gcry_pk_map_name
      Src: /src/gnupg/sm/fingerprint.c:297,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 3
    argNames:
    - cert
    - nbits
    - r_curve
    argTypes:
    - ksba_cert_t
    - unsigned int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 298
    functionName: gpgsm_get_key_algo_info
    functionSourceFile: /src/gnupg/sm/fingerprint.c
    functionUses: 4
    functionsReached:
    - ksba_cert_get_public_key
    - gcry_sexp_cadr
    - gcry_sexp_find_token
    - gcry_sexp_sscan
    - gcry_pk_get_curve
    - xtrystrdup
    - openpgp_oid_or_name_to_curve
    - xfree
    - gcry_sexp_canon_len
    - gcry_sexp_release
    - gcry_sexp_nth_data
    - gcry_pk_map_name
    - gcry_pk_get_nbits
    - memcpy
    linkageType: ''
    returnType: int
    signature: int gpgsm_get_key_algo_info (ksba_cert_t cert, unsigned int *nbits,
      char **r_curve)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_get_key_algo_info
      Src: /src/gnupg/sm/fingerprint.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: gpgsm_is_ecc_key
    functionSourceFile: /src/gnupg/sm/fingerprint.c
    functionUses: 1
    functionsReached:
    - gpgsm_get_key_algo_info
    linkageType: ''
    returnType: int
    signature: int gpgsm_is_ecc_key (ksba_cert_t cert)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_public_key
      Src: /src/gnupg/sm/fingerprint.c:322,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/fingerprint.c:325,1
    - Dst: xfree
      Src: /src/gnupg/sm/fingerprint.c:328,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/sm/fingerprint.c:331,1
    - Dst: xfree
      Src: /src/gnupg/sm/fingerprint.c:332,1
    - Dst: pubkey_algo_string
      Src: /src/gnupg/sm/fingerprint.c:336,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/fingerprint.c:340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - cert
    - r_algoid
    argTypes:
    - ksba_cert_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 342
    functionName: gpgsm_pubkey_algo_string
    functionSourceFile: /src/gnupg/sm/fingerprint.c
    functionUses: 3
    functionsReached:
    - ksba_cert_get_public_key
    - gcry_sexp_sscan
    - xfree
    - gcry_sexp_canon_len
    - gcry_sexp_release
    - pubkey_algo_string
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgsm_pubkey_algo_string (ksba_cert_t cert, int *r_algoid)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_public_key
      Src: /src/gnupg/sm/fingerprint.c:361,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/fingerprint.c:364,1
    - Dst: xfree
      Src: /src/gnupg/sm/fingerprint.c:367,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/sm/fingerprint.c:370,1
    - Dst: xfree
      Src: /src/gnupg/sm/fingerprint.c:371,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/sm/fingerprint.c:376,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/sm/fingerprint.c:378,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/sm/fingerprint.c:380,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/sm/fingerprint.c:382,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/fingerprint.c:384,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/sm/fingerprint.c:388,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/fingerprint.c:389,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/sm/fingerprint.c:393,1
    - Dst: gcry_pk_map_name
      Src: /src/gnupg/sm/fingerprint.c:396,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/sm/fingerprint.c:398,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/gnupg/sm/fingerprint.c:400,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/fingerprint.c:403,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/fingerprint.c:404,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/fingerprint.c:405,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 407
    functionName: gpgsm_get_rsa_modulus
    functionSourceFile: /src/gnupg/sm/fingerprint.c
    functionUses: 1
    functionsReached:
    - gcry_sexp_nth_mpi
    - gcry_free
    - ksba_cert_get_public_key
    - gcry_sexp_cadr
    - gcry_sexp_find_token
    - gcry_sexp_sscan
    - gcry_pk_map_name
    - xfree
    - gcry_sexp_canon_len
    - gcry_sexp_release
    - gcry_sexp_nth_string
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t gpgsm_get_rsa_modulus (ksba_cert_t cert)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/sm/fingerprint.c:431,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/sm/fingerprint.c:434,1
    - Dst: strlen
      Src: /src/gnupg/sm/fingerprint.c:434,1
    - Dst: xfree
      Src: /src/gnupg/sm/fingerprint.c:435,1
    - Dst: ksba_cert_get_serial
      Src: /src/gnupg/sm/fingerprint.c:437,1
    - Dst: log_error
      Src: /src/gnupg/sm/fingerprint.c:443,1
    - Dst: xfree
      Src: /src/gnupg/sm/fingerprint.c:444,1
    - Dst: strtoul
      Src: /src/gnupg/sm/fingerprint.c:448,1
    - Dst: log_error
      Src: /src/gnupg/sm/fingerprint.c:452,1
    - Dst: xfree
      Src: /src/gnupg/sm/fingerprint.c:453,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/fingerprint.c:458,1
    - Dst: xfree
      Src: /src/gnupg/sm/fingerprint.c:461,1
    - Dst: sprintf
      Src: /src/gnupg/sm/fingerprint.c:466,1
    - Dst: sprintf
      Src: /src/gnupg/sm/fingerprint.c:469,1
    - Dst: xfree
      Src: /src/gnupg/sm/fingerprint.c:472,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 474
    functionName: gpgsm_get_certid
    functionSourceFile: /src/gnupg/sm/fingerprint.c
    functionUses: 1
    functionsReached:
    - gcry_md_hash_buffer
    - strlen
    - log_error
    - sprintf
    - xfree
    - ksba_cert_get_serial
    - strtoul
    - xtrymalloc
    - ksba_cert_get_issuer
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgsm_get_certid (ksba_cert_t cert)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: have_static_passphrase
    functionSourceFile: /src/gnupg/sm/passphrase.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int have_static_passphrase (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: get_static_passphrase
    functionSourceFile: /src/gnupg/sm/passphrase.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_static_passphrase (void)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/gnupg/sm/passphrase.c:60,1
    - Dst: xmalloc_secure
      Src: /src/gnupg/sm/passphrase.c:72,1
    - Dst: memcpy
      Src: /src/gnupg/sm/passphrase.c:75,1
    - Dst: xfree
      Src: /src/gnupg/sm/passphrase.c:76,1
    - Dst: read
      Src: /src/gnupg/sm/passphrase.c:81,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/passphrase.c:86,1
    - Dst: xfree
      Src: /src/gnupg/sm/passphrase.c:88,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 90
    functionName: read_passphrase_from_fd
    functionSourceFile: /src/gnupg/sm/passphrase.c
    functionUses: 1
    functionsReached:
    - read
    - xfree
    - memcpy
    - tty_printf
    - xmalloc_secure
    linkageType: ''
    returnType: void
    signature: void read_passphrase_from_fd (int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/certchain.c:77,1
    - Dst: memcmp
      Src: /src/gnupg/sm/certchain.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: already_asked_marktrusted
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - gpgsm_get_fingerprint
    - memcmp
    linkageType: ''
    returnType: int
    signature: int already_asked_marktrusted (ksba_cert_t cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/certchain.c:93,1
    - Dst: memcmp
      Src: /src/gnupg/sm/certchain.c:95,1
    - Dst: xtrycalloc
      Src: /src/gnupg/sm/certchain.c:97,1
    - Dst: memcpy
      Src: /src/gnupg/sm/certchain.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 103
    functionName: set_already_asked_marktrusted
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - gpgsm_get_fingerprint
    - memcmp
    - memcpy
    - xtrycalloc
    linkageType: ''
    returnType: void
    signature: void set_already_asked_marktrusted (ksba_cert_t cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/sm/certchain.c:113,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/certchain.c:118,1
    - Dst: es_vfprintf
      Src: /src/gnupg/sm/certchain.c:119,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/certchain.c:120,1
    - Dst: es_fflush
      Src: /src/gnupg/sm/certchain.c:125,1
    - Dst: log_logv
      Src: /src/gnupg/sm/certchain.c:126,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certchain.c:128,1
    - Dst: va_end
      Src: /src/gnupg/sm/certchain.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - is_error
    - listmode
    - fp
    - format
    argTypes:
    - int
    - int
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 131
    functionName: do_list
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - va_end
    - log_printf
    - es_vfprintf
    - es_fflush
    - va_start
    - log_logv
    - es_fputs
    linkageType: ''
    returnType: void
    signature: void do_list (int is_error, int listmode, estream_t fp, const char
      *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/certchain.c:140,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/certchain.c:143,1
    - Dst: memcmp
      Src: /src/gnupg/sm/certchain.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ksba_cert_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: compare_certs
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ksba_cert_get_image
    linkageType: ''
    returnType: int
    signature: int compare_certs (ksba_cert_t a, ksba_cert_t b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_extension
      Src: /src/gnupg/sm/certchain.c:163,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:165,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/certchain.c:169,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:172,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/certchain.c:177,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:180,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/certchain.c:184,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:187,1
    - Dst: ksba_oid_to_str
      Src: /src/gnupg/sm/certchain.c:190,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certchain.c:193,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:198,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:199,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:200,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:200,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:201,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:201,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:203,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certchain.c:204,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:209,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:209,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 3
    argNames:
    - cert
    - listmode
    - listfp
    argTypes:
    - ksba_cert_t
    - int
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 211
    functionName: has_validation_model_chain
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - parse_ber_header
    - ksba_free
    - gpg_error_from_syserror
    - log_error
    - ksba_cert_get_image
    - _
    - strcmp
    - ksba_cert_get_extension
    - gpg_error
    - ksba_oid_to_str
    - gpg_strerror
    - do_list
    linkageType: ''
    returnType: int
    signature: int has_validation_model_chain (ksba_cert_t cert, int listmode, estream_t
      listfp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_extension
      Src: /src/gnupg/sm/certchain.c:238,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:243,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:253,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:260,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:261,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:263,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:269,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:270,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 3
    argNames:
    - cert
    - listmode
    - fp
    argTypes:
    - ksba_cert_t
    - int
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 274
    functionName: unknown_criticals
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - _
    - strcmp
    - ksba_cert_get_extension
    - gpg_error
    - gpg_err_code
    - do_list
    linkageType: ''
    returnType: int
    signature: int unknown_criticals (ksba_cert_t cert, int listmode, estream_t fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_is_ca
      Src: /src/gnupg/sm/certchain.c:288,1
    - Dst: get_regtp_ca_info
      Src: /src/gnupg/sm/certchain.c:293,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:300,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:300,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - ctrl
    - cert
    - chainlen
    - listmode
    - fp
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - int*
    - int
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 304
    functionName: allowed_ca
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - _
    - gpg_error
    - get_regtp_ca_info
    - do_list
    - ksba_cert_is_ca
    linkageType: ''
    returnType: int
    signature: "int allowed_ca (ctrl_t ctrl,\n            ksba_cert_t cert, int *chainlen,
      int listmode, estream_t fp)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_cert_policies
      Src: /src/gnupg/sm/certchain.c:316,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:317,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:328,1
    - Dst: strstr
      Src: /src/gnupg/sm/certchain.c:331,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:335,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:338,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:339,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:340,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/sm/certchain.c:350,1
    - Dst: es_fopen
      Src: /src/gnupg/sm/certchain.c:353,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:357,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:357,1
    - Dst: strerror
      Src: /src/gnupg/sm/certchain.c:358,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:363,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:368,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:369,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:372,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:373,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:374,1
    - Dst: es_fgets
      Src: /src/gnupg/sm/certchain.c:388,1
    - Dst: DIM
      Src: /src/gnupg/sm/certchain.c:388,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certchain.c:390,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:392,1
    - Dst: es_feof
      Src: /src/gnupg/sm/certchain.c:393,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/certchain.c:395,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:400,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:401,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:404,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:405,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:406,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/certchain.c:408,1
    - Dst: strlen
      Src: /src/gnupg/sm/certchain.c:412,1
    - Dst: es_getc
      Src: /src/gnupg/sm/certchain.c:415,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/certchain.c:417,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:418,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:419,1
    - Dst: spacep
      Src: /src/gnupg/sm/certchain.c:424,1
    - Dst: spacep
      Src: /src/gnupg/sm/certchain.c:432,1
    - Dst: strpbrk
      Src: /src/gnupg/sm/certchain.c:434,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/certchain.c:437,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:438,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:439,1
    - Dst: strstr
      Src: /src/gnupg/sm/certchain.c:443,1
    - Dst: strlen
      Src: /src/gnupg/sm/certchain.c:447,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/certchain.c:450,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:451,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 82
    argCount: 3
    argNames:
    - cert
    - listmode
    - fplist
    argTypes:
    - ksba_cert_t
    - int
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 455
    functionName: check_cert_policy
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - strstr
    - strlen
    - es_fopen
    - ksba_cert_get_cert_policies
    - es_fgets
    - DIM
    - _
    - es_feof
    - log_info
    - strpbrk
    - gpg_error_from_syserror
    - spacep
    - gpg_error
    - xfree
    - es_getc
    - es_fclose
    - gpg_err_code
    - do_list
    - gpg_err_set_errno
    - strerror
    linkageType: ''
    returnType: int
    signature: int check_cert_policy (ksba_cert_t cert, int listmode, estream_t fplist)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: keydb_search_reset
      Src: /src/gnupg/sm/certchain.c:472,1
    - Dst: keydb_search_subject
      Src: /src/gnupg/sm/certchain.c:473,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:475,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/certchain.c:476,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:479,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:480,1
    - Dst: gpg_strsource
      Src: /src/gnupg/sm/certchain.c:480,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:481,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:484,1
    - Dst: ksba_cert_get_subj_key_id
      Src: /src/gnupg/sm/certchain.c:485,1
    - Dst: cmp_simple_canon_sexp
      Src: /src/gnupg/sm/certchain.c:487,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/certchain.c:490,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/certchain.c:492,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:495,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:496,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:501,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/sm/certchain.c:507,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:508,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/sm/certchain.c:509,1
    - Dst: keydb_push_found_state
      Src: /src/gnupg/sm/certchain.c:510,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:513,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:516,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/sm/certchain.c:520,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:521,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/sm/certchain.c:522,1
    - Dst: keydb_pop_found_state
      Src: /src/gnupg/sm/certchain.c:534,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/certchain.c:561,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:564,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:565,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:568,1
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/certchain.c:573,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/sm/certchain.c:574,1
    - Dst: keydb_search_fpr
      Src: /src/gnupg/sm/certchain.c:575,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:578,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:579,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:586,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:587,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:588,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:589,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:590,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 76
    argCount: 4
    argNames:
    - ctrl
    - kh
    - issuer
    - keyid
    argTypes:
    - ctrl_t
    - KEYDB_HANDLE
    - char*
    - ksba_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 591
    functionName: find_up_search_by_keyid
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - keydb_search_reset
    - gnupg_copy_time
    - log_error
    - keydb_get_cert
    - ksba_cert_release
    - cmp_simple_canon_sexp
    - strcmp
    - keydb_search_fpr
    - gpg_error
    - gpg_strerror
    - xfree
    - keydb_push_found_state
    - gpg_strsource
    - keydb_search_subject
    - keydb_pop_found_state
    - gpgsm_get_fingerprint
    - ksba_cert_ref
    - ksba_cert_get_subj_key_id
    - ksba_cert_get_validity
    linkageType: ''
    returnType: int
    signature: "int find_up_search_by_keyid (ctrl_t ctrl, KEYDB_HANDLE kh,\n                         const
      char *issuer, ksba_sexp_t keyid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: keydb_store_cert
      Src: /src/gnupg/sm/certchain.c:608,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:609,1
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/certchain.c:612,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:613,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - cb_value
    - cert
    argTypes:
    - void*
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 618
    functionName: find_up_store_certs_cb
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - gpgsm_get_fingerprint
    - keydb_store_cert
    - _
    - log_error
    linkageType: ''
    returnType: void
    signature: void find_up_store_certs_cb (void *cb_value, ksba_cert_t cert)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:642,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:642,1
    - Dst: strstr
      Src: /src/gnupg/sm/certchain.c:647,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certchain.c:650,1
    - Dst: strlen
      Src: /src/gnupg/sm/certchain.c:650,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certchain.c:652,1
    - Dst: strcpy
      Src: /src/gnupg/sm/certchain.c:653,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/certchain.c:653,1
    - Dst: add_to_strlist
      Src: /src/gnupg/sm/certchain.c:654,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:655,1
    - Dst: gpgsm_dirmngr_lookup
      Src: /src/gnupg/sm/certchain.c:657,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/certchain.c:659,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:662,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:662,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:666,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:666,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:667,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:670,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/certchain.c:676,1
    - Dst: find_up_search_by_keyid
      Src: /src/gnupg/sm/certchain.c:678,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/sm/certchain.c:681,1
    - Dst: keydb_search_subject
      Src: /src/gnupg/sm/certchain.c:682,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/certchain.c:684,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - ctrl
    - kh
    - issuer
    - keyid
    argTypes:
    - ctrl_t
    - KEYDB_HANDLE
    - char*
    - ksba_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 626
    functionDepth: 3
    functionLinenumber: 626
    functionLinenumberEnd: 687
    functionName: find_up_external
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - strlen
    - strstr
    - keydb_search_reset
    - find_up_search_by_keyid
    - xtrymalloc
    - log_error
    - _
    - log_info
    - free_strlist
    - gpgsm_dirmngr_lookup
    - gpg_error_from_syserror
    - gpg_error
    - xfree
    - gpg_strerror
    - keydb_set_ephemeral
    - keydb_search_subject
    - add_to_strlist
    - strcpy
    - gpg_err_code
    - stpcpy
    linkageType: ''
    returnType: int
    signature: "int find_up_external (ctrl_t ctrl, KEYDB_HANDLE kh,\n                  const
      char *issuer, ksba_sexp_t keyid)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_authority_info_access
      Src: /src/gnupg/sm/certchain.c:714,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:718,1
    - Dst: ksba_name_enum
      Src: /src/gnupg/sm/certchain.c:720,1
    - Dst: ksba_name_get_uri
      Src: /src/gnupg/sm/certchain.c:722,1
    - Dst: strncmp
      Src: /src/gnupg/sm/certchain.c:725,1
    - Dst: strncmp
      Src: /src/gnupg/sm/certchain.c:725,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:728,1
    - Dst: strncmp
      Src: /src/gnupg/sm/certchain.c:729,1
    - Dst: strncmp
      Src: /src/gnupg/sm/certchain.c:729,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:733,1
    - Dst: ksba_name_release
      Src: /src/gnupg/sm/certchain.c:736,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certchain.c:737,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:739,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:741,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:741,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:741,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:750,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:752,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:755,1
    - Dst: gpgsm_dirmngr_lookup
      Src: /src/gnupg/sm/certchain.c:757,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:764,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:768,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:768,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:769,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:772,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/certchain.c:779,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/sm/certchain.c:780,1
    - Dst: keydb_search_fpr
      Src: /src/gnupg/sm/certchain.c:781,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/certchain.c:782,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 3
    argNames:
    - ctrl
    - kh
    - cert
    argTypes:
    - ctrl_t
    - KEYDB_HANDLE
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 786
    functionName: find_up_via_auth_info_access
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - gpgsm_dirmngr_lookup
    - keydb_set_ephemeral
    - ksba_free
    - log_error
    - _
    - ksba_cert_get_authority_info_access
    - strcmp
    - ksba_name_release
    - gpg_error
    - keydb_search_fpr
    - xfree
    - gpg_err_code
    - gpg_strerror
    - log_info
    - keydb_search_reset
    - ksba_name_enum
    - strncmp
    - ksba_name_get_uri
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t find_up_via_auth_info_access (ctrl_t ctrl, KEYDB_HANDLE
      kh, ksba_cert_t cert)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/certchain.c:806,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:816,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:816,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certchain.c:819,1
    - Dst: strlen
      Src: /src/gnupg/sm/certchain.c:819,1
    - Dst: strcpy
      Src: /src/gnupg/sm/certchain.c:821,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/certchain.c:821,1
    - Dst: gpgsm_format_sn_issuer
      Src: /src/gnupg/sm/certchain.c:824,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certchain.c:827,1
    - Dst: strlen
      Src: /src/gnupg/sm/certchain.c:827,1
    - Dst: strcpy
      Src: /src/gnupg/sm/certchain.c:829,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/certchain.c:829,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certchain.c:832,1
    - Dst: add_to_strlist
      Src: /src/gnupg/sm/certchain.c:833,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:834,1
    - Dst: gpgsm_dirmngr_lookup
      Src: /src/gnupg/sm/certchain.c:836,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/certchain.c:838,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:841,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:841,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:845,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:845,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:846,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:848,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:852,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 5
    argNames:
    - ctrl
    - kh
    - serialno
    - issuer
    - subject_mode
    argTypes:
    - ctrl_t
    - KEYDB_HANDLE
    - ksba_sexp_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 853
    functionName: find_up_dirmngr
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - gpgsm_dirmngr_lookup
    - strlen
    - gpg_error_from_syserror
    - add_to_strlist
    - _
    - gpg_error
    - log_info
    - memset
    - strcpy
    - xfree
    - gpg_strerror
    - stpcpy
    - gpg_err_code
    - xtrymalloc
    - free_strlist
    - gpgsm_format_sn_issuer
    linkageType: ''
    returnType: int
    signature: "int find_up_dirmngr (ctrl_t ctrl, KEYDB_HANDLE kh,\n                 ksba_sexp_t
      serialno, const char *issuer, int subject_mode)"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:870,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certchain.c:873,1
    - Dst: ksba_cert_get_auth_key_id
      Src: /src/gnupg/sm/certchain.c:874,1
    - Dst: ksba_name_enum
      Src: /src/gnupg/sm/certchain.c:876,1
    - Dst: keydb_search_issuer_sn
      Src: /src/gnupg/sm/certchain.c:879,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/sm/certchain.c:881,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certchain.c:884,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:891,1
    - Dst: find_up_dirmngr
      Src: /src/gnupg/sm/certchain.c:892,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:897,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/certchain.c:899,1
    - Dst: keydb_search_issuer_sn
      Src: /src/gnupg/sm/certchain.c:902,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/sm/certchain.c:904,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certchain.c:907,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/certchain.c:909,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:912,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:915,1
    - Dst: find_up_search_by_keyid
      Src: /src/gnupg/sm/certchain.c:922,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certchain.c:924,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/certchain.c:927,1
    - Dst: find_up_search_by_keyid
      Src: /src/gnupg/sm/certchain.c:929,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certchain.c:931,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/certchain.c:932,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:935,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:940,1
    - Dst: find_up_dirmngr
      Src: /src/gnupg/sm/certchain.c:942,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/certchain.c:944,1
    - Dst: find_up_search_by_keyid
      Src: /src/gnupg/sm/certchain.c:946,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/sm/certchain.c:949,1
    - Dst: keydb_search_subject
      Src: /src/gnupg/sm/certchain.c:950,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/certchain.c:952,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:955,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certchain.c:958,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:962,1
    - Dst: find_up_via_auth_info_access
      Src: /src/gnupg/sm/certchain.c:969,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certchain.c:972,1
    - Dst: find_up_external
      Src: /src/gnupg/sm/certchain.c:977,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certchain.c:979,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:987,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:989,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:993,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certchain.c:996,1
    - Dst: gpgsm_dump_serial
      Src: /src/gnupg/sm/certchain.c:997,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certchain.c:998,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certchain.c:1002,1
    - Dst: gpgsm_dump_serial
      Src: /src/gnupg/sm/certchain.c:1003,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certchain.c:1004,1
    - Dst: gpgsm_dump_string
      Src: /src/gnupg/sm/certchain.c:1005,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certchain.c:1006,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certchain.c:1008,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:1012,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:1013,1
    - Dst: ksba_name_release
      Src: /src/gnupg/sm/certchain.c:1014,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:1015,1
    - Dst: keydb_search_subject
      Src: /src/gnupg/sm/certchain.c:1019,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:1020,1
    - Dst: find_up_dirmngr
      Src: /src/gnupg/sm/certchain.c:1026,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/certchain.c:1029,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/sm/certchain.c:1032,1
    - Dst: keydb_search_subject
      Src: /src/gnupg/sm/certchain.c:1033,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/certchain.c:1035,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certchain.c:1038,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:1042,1
    - Dst: find_up_via_auth_info_access
      Src: /src/gnupg/sm/certchain.c:1045,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certchain.c:1048,1
    - Dst: find_up_external
      Src: /src/gnupg/sm/certchain.c:1053,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certchain.c:1055,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 117
    argCount: 5
    argNames:
    - ctrl
    - kh
    - cert
    - issuer
    - find_next
    argTypes:
    - ctrl_t
    - KEYDB_HANDLE
    - ksba_cert_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 863
    functionDepth: 4
    functionLinenumber: 863
    functionLinenumberEnd: 1060
    functionName: find_up
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - ksba_name_release
    - keydb_search_issuer_sn
    - keydb_search_reset
    - find_up_dirmngr
    - gpgsm_dump_serial
    - find_up_search_by_keyid
    - ksba_cert_get_auth_key_id
    - log_error
    - gpgsm_dump_string
    - log_info
    - find_up_external
    - log_printf
    - ksba_name_enum
    - log_debug
    - gpg_error
    - xfree
    - keydb_set_ephemeral
    - keydb_search_subject
    - find_up_via_auth_info_access
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t find_up (ctrl_t ctrl, KEYDB_HANDLE kh,\n         ksba_cert_t
      cert, const char *issuer, int find_next)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/sm/certchain.c:1076,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/certchain.c:1077,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:1080,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1081,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:1085,1
    - Dst: is_root_cert
      Src: /src/gnupg/sm/certchain.c:1087,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1089,1
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/certchain.c:1097,1
    - Dst: memcmp
      Src: /src/gnupg/sm/certchain.c:1100,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/sm/certchain.c:1103,1
    - Dst: keydb_new
      Src: /src/gnupg/sm/certchain.c:1109,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:1112,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1112,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1113,1
    - Dst: find_up
      Src: /src/gnupg/sm/certchain.c:1117,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:1122,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:1123,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:1124,1
    - Dst: gpg_strsource
      Src: /src/gnupg/sm/certchain.c:1124,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1125,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/certchain.c:1129,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:1132,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:1133,1
    - Dst: gpg_strsource
      Src: /src/gnupg/sm/certchain.c:1133,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1134,1
    - Dst: xtrycalloc
      Src: /src/gnupg/sm/certchain.c:1141,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certchain.c:1144,1
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/certchain.c:1147,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/sm/certchain.c:1148,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:1154,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:1155,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/certchain.c:1156,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 3
    argNames:
    - ctrl
    - start
    - r_next
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - ksba_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1065
    functionDepth: 2
    functionLinenumber: 1065
    functionLinenumberEnd: 1158
    functionName: gpgsm_walk_cert_chain
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 3
    functionsReached:
    - ksba_cert_get_issuer
    - keydb_new
    - log_error
    - ksba_cert_get_subject
    - _
    - log_info
    - keydb_get_cert
    - is_root_cert
    - gpg_error_from_syserror
    - gpg_error
    - find_up
    - gpg_strerror
    - xfree
    - xtrycalloc
    - gpg_strsource
    - memcmp
    - gpg_err_code
    - keydb_release
    - gpgsm_get_fingerprint
    - ksba_cert_ref
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpgsm_walk_cert_chain (ctrl_t ctrl, ksba_cert_t start,
      ksba_cert_t *r_next)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:1178,1
    - Dst: ksba_cert_get_auth_key_id
      Src: /src/gnupg/sm/certchain.c:1181,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:1184,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:1187,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:1188,1
    - Dst: ksba_cert_get_serial
      Src: /src/gnupg/sm/certchain.c:1192,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:1195,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:1195,1
    - Dst: ksba_name_enum
      Src: /src/gnupg/sm/certchain.c:1201,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:1203,1
    - Dst: cmp_simple_canon_sexp
      Src: /src/gnupg/sm/certchain.c:1204,1
    - Dst: ksba_cert_get_subj_key_id
      Src: /src/gnupg/sm/certchain.c:1211,1
    - Dst: cmp_simple_canon_sexp
      Src: /src/gnupg/sm/certchain.c:1212,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certchain.c:1220,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certchain.c:1221,1
    - Dst: ksba_name_release
      Src: /src/gnupg/sm/certchain.c:1222,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certchain.c:1223,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certchain.c:1224,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - cert
    - issuerdn
    - subjectdn
    argTypes:
    - ksba_cert_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1226
    functionName: is_root_cert
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 1
    functionsReached:
    - ksba_free
    - log_error
    - cmp_simple_canon_sexp
    - strcmp
    - ksba_name_release
    - gpg_strerror
    - gpg_err_code
    - ksba_cert_get_serial
    - ksba_name_enum
    - ksba_cert_get_subj_key_id
    - ksba_cert_get_auth_key_id
    linkageType: ''
    returnType: int
    signature: int is_root_cert (ksba_cert_t cert, const char *issuerdn, const char
      *subjectdn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/sm/certchain.c:1239,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/certchain.c:1240,1
    - Dst: is_root_cert
      Src: /src/gnupg/sm/certchain.c:1241,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:1242,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:1243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1245
    functionName: gpgsm_is_root_cert
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - is_root_cert
    - ksba_cert_get_subject
    - xfree
    - ksba_cert_get_issuer
    linkageType: ''
    returnType: int
    signature: int gpgsm_is_root_cert (ksba_cert_t cert)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: audit_log_ok
      Src: /src/gnupg/sm/certchain.c:1260,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1261,1
    - Dst: ksba_cert_get_crl_dist_point
      Src: /src/gnupg/sm/certchain.c:1269,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:1270,1
    - Dst: audit_log_ok
      Src: /src/gnupg/sm/certchain.c:1278,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1278,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:1282,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:1283,1
    - Dst: gpgsm_dirmngr_isvalid
      Src: /src/gnupg/sm/certchain.c:1286,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:1290,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/sm/certchain.c:1292,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:1293,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:1299,1
    - Dst: audit_log_ok
      Src: /src/gnupg/sm/certchain.c:1302,1
    - Dst: gpgsm_cert_log_name
      Src: /src/gnupg/sm/certchain.c:1307,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:1308,1
    - Dst: check_isotime
      Src: /src/gnupg/sm/certchain.c:1311,1
    - Dst: xtryasprintf
      Src: /src/gnupg/sm/certchain.c:1316,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1321,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1322,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:1323,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1326,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1326,1
    - Dst: keydb_set_cert_flags
      Src: /src/gnupg/sm/certchain.c:1331,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1336,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1336,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1341,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1341,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1346,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1346,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:1348,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1348,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1354,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1354,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:1355,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 9
    argNames:
    - ctrl
    - chain_model
    - lm
    - fp
    - subject_cert
    - issuer_cert
    - any_revoked
    - any_no_crl
    - any_crl_too_old
    argTypes:
    - ctrl_t
    - int
    - int
    - estream_t
    - ksba_cert_t
    - ksba_cert_t
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1249
    functionDepth: 2
    functionLinenumber: 1249
    functionLinenumberEnd: 1360
    functionName: is_cert_still_valid
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - ksba_cert_get_crl_dist_point
    - keydb_set_cert_flags
    - log_error
    - gpgsm_dirmngr_isvalid
    - audit_log_ok
    - gpgsm_cert_log_name
    - check_isotime
    - _
    - gpg_error
    - xtryasprintf
    - gpg_err_code
    - gpg_strerror
    - xfree
    - do_list
    - log_info
    - gnupg_copy_time
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t is_cert_still_valid (ctrl_t ctrl, int chain_model, int
      lm, estream_t fp,\n                     ksba_cert_t subject_cert, ksba_cert_t
      issuer_cert,\n                     int *any_revoked, int *any_no_crl, int *any_crl_too_old)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/certchain.c:1377,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/certchain.c:1379,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1382,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1383,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:1383,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1384,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/sm/certchain.c:1390,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:1391,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/sm/certchain.c:1392,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:1395,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1397,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1398,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1399,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1400,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:1403,1
    - Dst: dump_isotime
      Src: /src/gnupg/sm/certchain.c:1404,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certchain.c:1405,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1407,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:1410,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1412,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1413,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1414,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1415,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:1418,1
    - Dst: dump_isotime
      Src: /src/gnupg/sm/certchain.c:1419,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certchain.c:1420,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:1423,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1425,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 6
    argNames:
    - current_time
    - subject_cert
    - exptime
    - listmode
    - listfp
    - depth
    argTypes:
    - ksba_isotime_t
    - ksba_cert_t
    - ksba_isotime_t
    - int
    - estream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1368
    functionDepth: 1
    functionLinenumber: 1368
    functionLinenumberEnd: 1429
    functionName: check_validity_period
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - gnupg_copy_time
    - _
    - strcmp
    - dump_isotime
    - gpg_error
    - gpg_strerror
    - log_info
    - do_list
    - log_printf
    - ksba_cert_get_validity
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t check_validity_period (ksba_isotime_t current_time,\n
      \                      ksba_cert_t subject_cert,\n                       ksba_isotime_t
      exptime,\n                       int listmode, estream_t listfp, int depth)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/certchain.c:1448,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/certchain.c:1450,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1453,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1454,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:1454,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1455,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1460,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1461,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1465,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:1467,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1471,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1472,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:1473,1
    - Dst: dump_isotime
      Src: /src/gnupg/sm/certchain.c:1474,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certchain.c:1475,1
    - Dst: dump_isotime
      Src: /src/gnupg/sm/certchain.c:1476,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certchain.c:1477,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1479,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/sm/certchain.c:1483,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:1484,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/sm/certchain.c:1485,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:1487,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1491,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1492,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1493,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1494,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:1497,1
    - Dst: dump_isotime
      Src: /src/gnupg/sm/certchain.c:1498,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certchain.c:1499,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1502,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:1506,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:1507,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1512,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1514,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1516,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1517,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:1521,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1521,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1522,1
    - Dst: dump_isotime
      Src: /src/gnupg/sm/certchain.c:1523,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certchain.c:1524,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:1525,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1525,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1526,1
    - Dst: dump_isotime
      Src: /src/gnupg/sm/certchain.c:1527,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:1528,1
    - Dst: dump_isotime
      Src: /src/gnupg/sm/certchain.c:1529,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certchain.c:1530,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:1533,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1535,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 8
    argNames:
    - current_time
    - check_time
    - subject_cert
    - exptime
    - listmode
    - listfp
    - depth
    - no_log_expired
    argTypes:
    - ksba_isotime_t
    - ksba_isotime_t
    - ksba_cert_t
    - ksba_isotime_t
    - int
    - estream_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1437
    functionDepth: 1
    functionLinenumber: 1437
    functionLinenumberEnd: 1539
    functionName: check_validity_period_cm
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 1
    functionsReached:
    - gnupg_copy_time
    - _
    - strcmp
    - dump_isotime
    - gpg_error
    - gpg_strerror
    - log_info
    - do_list
    - log_printf
    - ksba_cert_get_validity
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t check_validity_period_cm (ksba_isotime_t current_time,\n
      \                         ksba_isotime_t check_time,\n                          ksba_cert_t
      subject_cert,\n                          ksba_isotime_t exptime,\n                          int
      listmode, estream_t listfp, int depth,\n                          int no_log_expired)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: es_fflush
      Src: /src/gnupg/sm/certchain.c:1555,1
    - Dst: gpgsm_get_fingerprint_string
      Src: /src/gnupg/sm/certchain.c:1558,1
    - Dst: es_fflush
      Src: /src/gnupg/sm/certchain.c:1559,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:1560,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1560,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:1561,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1565,1
    - Dst: gpgsm_agent_marktrusted
      Src: /src/gnupg/sm/certchain.c:1567,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:1570,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1570,1
    - Dst: gpgsm_dump_cert
      Src: /src/gnupg/sm/certchain.c:1575,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:1576,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:1580,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:1583,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1583,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:1587,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:1589,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1589,1
    - Dst: set_already_asked_marktrusted
      Src: /src/gnupg/sm/certchain.c:1594,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - ctrl
    - cert
    - listmode
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1547
    functionDepth: 3
    functionLinenumber: 1547
    functionLinenumberEnd: 1597
    functionName: ask_marktrusted
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - gpgsm_agent_marktrusted
    - set_already_asked_marktrusted
    - gpgsm_dump_cert
    - _
    - gpg_error
    - log_info
    - xfree
    - gpg_err_code
    - es_fflush
    - gpgsm_get_fingerprint_string
    linkageType: ''
    returnType: int
    signature: int ask_marktrusted (ctrl_t ctrl, ksba_cert_t cert, int listmode)
  - BBCount: 98
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/sm/certchain.c:1643,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/sm/certchain.c:1644,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:1648,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1650,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1651,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/sm/certchain.c:1653,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/sm/certchain.c:1656,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:1667,1
    - Dst: keydb_new
      Src: /src/gnupg/sm/certchain.c:1671,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:1674,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1674,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1675,1
    - Dst: gpgsm_dump_cert
      Src: /src/gnupg/sm/certchain.c:1680,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/sm/certchain.c:1683,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1690,1
    - Dst: xtrycalloc
      Src: /src/gnupg/sm/certchain.c:1696,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certchain.c:1699,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/sm/certchain.c:1702,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:1708,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:1709,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/sm/certchain.c:1710,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/certchain.c:1711,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1715,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1715,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1716,1
    - Dst: is_root_cert
      Src: /src/gnupg/sm/certchain.c:1722,1
    - Dst: gpgsm_cert_has_well_known_private_key
      Src: /src/gnupg/sm/certchain.c:1730,1
    - Dst: memset
      Src: /src/gnupg/sm/certchain.c:1732,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1734,1
    - Dst: gpgsm_agent_istrusted
      Src: /src/gnupg/sm/certchain.c:1737,1
    - Dst: audit_log_cert
      Src: /src/gnupg/sm/certchain.c:1739,1
    - Dst: has_validation_model_chain
      Src: /src/gnupg/sm/certchain.c:1744,1
    - Dst: check_validity_period_cm
      Src: /src/gnupg/sm/certchain.c:1751,1
    - Dst: check_validity_period
      Src: /src/gnupg/sm/certchain.c:1755,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:1758,1
    - Dst: unknown_criticals
      Src: /src/gnupg/sm/certchain.c:1765,1
    - Dst: check_cert_policy
      Src: /src/gnupg/sm/certchain.c:1772,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:1773,1
    - Dst: gpgsm_check_cert_sig
      Src: /src/gnupg/sm/certchain.c:1788,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1792,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1793,1
    - Dst: gpgsm_dump_cert
      Src: /src/gnupg/sm/certchain.c:1796,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1798,1
    - Dst: allowed_ca
      Src: /src/gnupg/sm/certchain.c:1804,1
    - Dst: ksba_cert_get_user_data
      Src: /src/gnupg/sm/certchain.c:1819,1
    - Dst: gpgsm_is_in_qualified_list
      Src: /src/gnupg/sm/certchain.c:1838,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:1842,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:1845,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:1847,1
    - Dst: ksba_cert_set_user_data
      Src: /src/gnupg/sm/certchain.c:1856,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:1859,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:1860,1
    - Dst: ksba_cert_get_user_data
      Src: /src/gnupg/sm/certchain.c:1873,1
    - Dst: ksba_cert_set_user_data
      Src: /src/gnupg/sm/certchain.c:1890,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:1893,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:1894,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:1903,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1905,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1906,1
    - Dst: gpgsm_cert_has_well_known_private_key
      Src: /src/gnupg/sm/certchain.c:1915,1
    - Dst: already_asked_marktrusted
      Src: /src/gnupg/sm/certchain.c:1916,1
    - Dst: ask_marktrusted
      Src: /src/gnupg/sm/certchain.c:1917,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:1922,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1922,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:1923,1
    - Dst: is_cert_still_valid
      Src: /src/gnupg/sm/certchain.c:1937,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1953,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1953,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1954,1
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/certchain.c:1964,1
    - Dst: memcmp
      Src: /src/gnupg/sm/certchain.c:1967,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:1970,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/sm/certchain.c:1971,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/sm/certchain.c:1977,1
    - Dst: find_up
      Src: /src/gnupg/sm/certchain.c:1978,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:1981,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:1983,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:1983,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:1986,1
    - Dst: gpgsm_dump_string
      Src: /src/gnupg/sm/certchain.c:1987,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certchain.c:1988,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:1992,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:1993,1
    - Dst: gpg_strsource
      Src: /src/gnupg/sm/certchain.c:1993,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:1994,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:1998,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/certchain.c:1999,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:2002,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:2003,1
    - Dst: gpg_strsource
      Src: /src/gnupg/sm/certchain.c:2003,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:2004,1
    - Dst: xtrycalloc
      Src: /src/gnupg/sm/certchain.c:2014,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certchain.c:2017,1
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/certchain.c:2020,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/sm/certchain.c:2021,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certchain.c:2031,1
    - Dst: gpgsm_dump_cert
      Src: /src/gnupg/sm/certchain.c:2032,1
    - Dst: gpgsm_check_cert_sig
      Src: /src/gnupg/sm/certchain.c:2035,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:2038,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:2038,1
    - Dst: gpgsm_dump_cert
      Src: /src/gnupg/sm/certchain.c:2041,1
    - Dst: gpgsm_dump_cert
      Src: /src/gnupg/sm/certchain.c:2042,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:2044,1
    - Dst: find_up
      Src: /src/gnupg/sm/certchain.c:2052,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/certchain.c:2057,1
    - Dst: compare_certs
      Src: /src/gnupg/sm/certchain.c:2058,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:2065,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:2069,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:2070,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:2072,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:2081,1
    - Dst: gpgsm_is_root_cert
      Src: /src/gnupg/sm/certchain.c:2085,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:2086,1
    - Dst: allowed_ca
      Src: /src/gnupg/sm/certchain.c:2093,1
    - Dst: gpgsm_cert_has_well_known_private_key
      Src: /src/gnupg/sm/certchain.c:2106,1
    - Dst: memset
      Src: /src/gnupg/sm/certchain.c:2108,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:2110,1
    - Dst: gpgsm_agent_istrusted
      Src: /src/gnupg/sm/certchain.c:2113,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:2128,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:2129,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:2131,1
    - Dst: gpgsm_cert_use_cert_p
      Src: /src/gnupg/sm/certchain.c:2139,1
    - Dst: sprintf
      Src: /src/gnupg/sm/certchain.c:2143,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/certchain.c:2144,1
    - Dst: is_cert_still_valid
      Src: /src/gnupg/sm/certchain.c:2161,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:2171,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:2171,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:2172,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:2173,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/certchain.c:2179,1
    - Dst: BUG
      Src: /src/gnupg/sm/certchain.c:2184,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/sm/certchain.c:2189,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:2190,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:2199,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:2202,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:2210,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:2212,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:2214,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:2216,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:2218,1
    - Dst: ksba_cert_get_user_data
      Src: /src/gnupg/sm/certchain.c:2239,1
    - Dst: keydb_set_cert_flags
      Src: /src/gnupg/sm/certchain.c:2251,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:2253,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:2256,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:2257,1
    - Dst: ksba_cert_set_user_data
      Src: /src/gnupg/sm/certchain.c:2278,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:2281,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:2282,1
    - Dst: ksba_cert_set_user_data
      Src: /src/gnupg/sm/certchain.c:2300,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:2303,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:2304,1
    - Dst: audit_log
      Src: /src/gnupg/sm/certchain.c:2316,1
    - Dst: audit_log_cert
      Src: /src/gnupg/sm/certchain.c:2319,1
    - Dst: audit_log
      Src: /src/gnupg/sm/certchain.c:2323,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/sm/certchain.c:2327,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:2328,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:2329,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/certchain.c:2330,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:2334,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:2335,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:2338,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:2339,1
    CyclomaticComplexity: 161
    EdgeCount: 161
    ICount: 389
    argCount: 8
    argNames:
    - ctrl
    - cert
    - checktime_arg
    - r_exptime
    - listmode
    - listfp
    - flags
    - rootca_flags
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - ksba_isotime_t
    - ksba_isotime_t
    - int
    - estream_t
    - unsigned int
    - struct rootca_flags_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 1615
    functionDepth: 4
    functionLinenumber: 1615
    functionLinenumberEnd: 2341
    functionName: do_validate_chain
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 0
    functionsReached:
    - allowed_ca
    - check_cert_policy
    - is_cert_still_valid
    - audit_log_cert
    - BUG
    - keydb_search_reset
    - audit_log
    - gpgsm_dump_cert
    - ksba_cert_get_issuer
    - keydb_new
    - gnupg_copy_time
    - gpgsm_is_root_cert
    - log_error
    - gpgsm_dump_string
    - ksba_cert_get_subject
    - _
    - check_validity_period
    - log_info
    - keydb_get_cert
    - ksba_cert_get_user_data
    - log_printf
    - keydb_release
    - ksba_cert_release
    - log_debug
    - is_root_cert
    - check_validity_period_cm
    - keydb_set_cert_flags
    - gpg_error_from_syserror
    - sprintf
    - strcmp
    - gnupg_get_isotime
    - gpg_error
    - xfree
    - memset
    - gpg_strerror
    - xtrycalloc
    - ask_marktrusted
    - find_up
    - gpgsm_is_in_qualified_list
    - gpg_strsource
    - gpgsm_agent_istrusted
    - ksba_cert_set_user_data
    - compare_certs
    - gpgsm_cert_has_well_known_private_key
    - gpgsm_check_cert_sig
    - gpg_err_code
    - already_asked_marktrusted
    - do_list
    - has_validation_model_chain
    - unknown_criticals
    - gpgsm_get_fingerprint
    - ksba_cert_ref
    - memcmp
    - gpgsm_cert_use_cert_p
    - gpgsm_status2
    - ksba_cert_get_validity
    linkageType: ''
    returnType: int
    signature: "int do_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t
      checktime_arg,\n                   ksba_isotime_t r_exptime,\n                   int
      listmode, estream_t listfp, unsigned int flags,\n                   struct rootca_flags_s
      *rootca_flags)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/certchain.c:2380,1
    - Dst: do_validate_chain
      Src: /src/gnupg/sm/certchain.c:2388,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:2402,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:2402,1
    - Dst: do_validate_chain
      Src: /src/gnupg/sm/certchain.c:2403,1
    - Dst: do_list
      Src: /src/gnupg/sm/certchain.c:2411,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:2411,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:2417,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:2417,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 8
    argNames:
    - ctrl
    - cert
    - checktime
    - r_exptime
    - listmode
    - listfp
    - flags
    - retflags
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - ksba_isotime_t
    - ksba_isotime_t
    - int
    - estream_t
    - unsigned int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2356
    functionDepth: 5
    functionLinenumber: 2356
    functionLinenumberEnd: 2420
    functionName: gpgsm_validate_chain
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 6
    functionsReached:
    - _
    - memset
    - do_validate_chain
    - do_list
    linkageType: ''
    returnType: int
    signature: "int gpgsm_validate_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t
      checktime,\n                      ksba_isotime_t r_exptime,\n                      int
      listmode, estream_t listfp, unsigned int flags,\n                      unsigned
      int *retflags)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:2438,1
    - Dst: keydb_new
      Src: /src/gnupg/sm/certchain.c:2442,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:2445,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:2445,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:2446,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/sm/certchain.c:2450,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/certchain.c:2451,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:2454,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:2455,1
    - Dst: is_root_cert
      Src: /src/gnupg/sm/certchain.c:2459,1
    - Dst: gpgsm_check_cert_sig
      Src: /src/gnupg/sm/certchain.c:2461,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:2464,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:2465,1
    - Dst: gpgsm_dump_cert
      Src: /src/gnupg/sm/certchain.c:2468,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:2470,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/sm/certchain.c:2477,1
    - Dst: find_up
      Src: /src/gnupg/sm/certchain.c:2478,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:2481,1
    - Dst: es_fflush
      Src: /src/gnupg/sm/certchain.c:2485,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:2486,1
    - Dst: gpgsm_dump_string
      Src: /src/gnupg/sm/certchain.c:2487,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certchain.c:2488,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:2492,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:2493,1
    - Dst: gpg_strsource
      Src: /src/gnupg/sm/certchain.c:2493,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:2494,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:2498,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/certchain.c:2499,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:2502,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:2503,1
    - Dst: gpg_strsource
      Src: /src/gnupg/sm/certchain.c:2503,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:2504,1
    - Dst: gpgsm_check_cert_sig
      Src: /src/gnupg/sm/certchain.c:2508,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:2511,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:2512,1
    - Dst: gpgsm_dump_cert
      Src: /src/gnupg/sm/certchain.c:2515,1
    - Dst: gpgsm_dump_cert
      Src: /src/gnupg/sm/certchain.c:2516,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certchain.c:2518,1
    - Dst: log_info
      Src: /src/gnupg/sm/certchain.c:2522,1
    - Dst: _
      Src: /src/gnupg/sm/certchain.c:2522,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:2526,1
    - Dst: xfree
      Src: /src/gnupg/sm/certchain.c:2527,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/certchain.c:2528,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:2529,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 78
    argCount: 2
    argNames:
    - ctrl
    - cert
    argTypes:
    - ctrl_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2531
      start: 2427
    functionDepth: 1
    functionLinenumber: 2427
    functionLinenumberEnd: 2531
    functionName: gpgsm_basic_cert_check
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 2
    functionsReached:
    - keydb_search_reset
    - es_fflush
    - gpgsm_dump_cert
    - ksba_cert_get_issuer
    - keydb_new
    - log_error
    - gpgsm_dump_string
    - ksba_cert_get_subject
    - _
    - log_info
    - keydb_get_cert
    - log_printf
    - ksba_cert_release
    - is_root_cert
    - gpg_error
    - find_up
    - gpg_strerror
    - xfree
    - gpg_strsource
    - gpgsm_check_cert_sig
    - gpg_err_code
    - keydb_release
    linkageType: ''
    returnType: int
    signature: int gpgsm_basic_cert_check (ctrl_t ctrl, ksba_cert_t cert)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_user_data
      Src: /src/gnupg/sm/certchain.c:2565,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:2575,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:2577,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:2578,1
    - Dst: memset
      Src: /src/gnupg/sm/certchain.c:2588,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/sm/certchain.c:2591,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/sm/certchain.c:2593,1
    - Dst: DIM
      Src: /src/gnupg/sm/certchain.c:2594,1
    - Dst: gpgsm_walk_cert_chain
      Src: /src/gnupg/sm/certchain.c:2594,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:2596,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/sm/certchain.c:2597,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:2601,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certchain.c:2602,1
    - Dst: DIM
      Src: /src/gnupg/sm/certchain.c:2602,1
    - Dst: gpgsm_is_in_qualified_list
      Src: /src/gnupg/sm/certchain.c:2610,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certchain.c:2611,1
    - Dst: ksba_cert_set_user_data
      Src: /src/gnupg/sm/certchain.c:2615,1
    - Dst: ksba_cert_set_user_data
      Src: /src/gnupg/sm/certchain.c:2618,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:2621,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:2622,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:2624,1
    - Dst: ksba_cert_set_user_data
      Src: /src/gnupg/sm/certchain.c:2632,1
    - Dst: log_error
      Src: /src/gnupg/sm/certchain.c:2634,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certchain.c:2635,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/certchain.c:2637,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 3
    argNames:
    - ctrl
    - cert
    - chainlen
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2548
    functionDepth: 3
    functionLinenumber: 2548
    functionLinenumberEnd: 2639
    functionName: get_regtp_ca_info
    functionSourceFile: /src/gnupg/sm/certchain.c
    functionUses: 1
    functionsReached:
    - gpgsm_walk_cert_chain
    - log_error
    - DIM
    - gpgsm_is_in_qualified_list
    - strcmp
    - memset
    - gpg_strerror
    - gpg_err_code
    - ksba_cert_get_user_data
    - ksba_cert_ref
    - ksba_cert_set_user_data
    - ksba_cert_release
    linkageType: ''
    returnType: int
    signature: int get_regtp_ca_info (ctrl_t ctrl, ksba_cert_t cert, int *chainlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/sm/certcheck.c:49,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/sm/certcheck.c:52,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:53,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/sm/certcheck.c:54,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:55,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/gnupg/sm/certcheck.c:58,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:59,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/sm/certcheck.c:62,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/certcheck.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - key
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: get_dsa_qbits
    functionSourceFile: /src/gnupg/sm/certcheck.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - gcry_sexp_cadr
    - gcry_sexp_find_token
    - gcry_sexp_release
    - gcry_mpi_release
    - gcry_mpi_get_nbits
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_dsa_qbits (gcry_sexp_t key)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_get_nbits
      Src: /src/gnupg/sm/certcheck.c:83,1
    - Dst: get_dsa_qbits
      Src: /src/gnupg/sm/certcheck.c:87,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:91,1
    - Dst: _
      Src: /src/gnupg/sm/certcheck.c:91,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certcheck.c:93,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:103,1
    - Dst: _
      Src: /src/gnupg/sm/certcheck.c:103,1
    - Dst: gcry_pk_algo_name
      Src: /src/gnupg/sm/certcheck.c:104,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certcheck.c:105,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/sm/certcheck.c:110,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:113,1
    - Dst: _
      Src: /src/gnupg/sm/certcheck.c:113,1
    - Dst: gcry_pk_algo_name
      Src: /src/gnupg/sm/certcheck.c:116,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certcheck.c:119,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certcheck.c:122,1
    - Dst: out_of_core
      Src: /src/gnupg/sm/certcheck.c:124,1
    - Dst: memcpy
      Src: /src/gnupg/sm/certcheck.c:125,1
    - Dst: gcry_md_read
      Src: /src/gnupg/sm/certcheck.c:125,1
    - Dst: DIM
      Src: /src/gnupg/sm/certcheck.c:140,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/sm/certcheck.c:141,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certcheck.c:142,1
    - Dst: gcry_md_algo_info
      Src: /src/gnupg/sm/certcheck.c:143,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:145,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certcheck.c:146,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/sm/certcheck.c:149,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:153,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certcheck.c:155,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certcheck.c:164,1
    - Dst: out_of_core
      Src: /src/gnupg/sm/certcheck.c:166,1
    - Dst: log_assert
      Src: /src/gnupg/sm/certcheck.c:171,1
    - Dst: memset
      Src: /src/gnupg/sm/certcheck.c:172,1
    - Dst: memcpy
      Src: /src/gnupg/sm/certcheck.c:174,1
    - Dst: memcpy
      Src: /src/gnupg/sm/certcheck.c:175,1
    - Dst: gcry_md_read
      Src: /src/gnupg/sm/certcheck.c:175,1
    - Dst: log_assert
      Src: /src/gnupg/sm/certcheck.c:176,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certcheck.c:181,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certcheck.c:183,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certcheck.c:184,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/sm/certcheck.c:187,1
    - Dst: xfree
      Src: /src/gnupg/sm/certcheck.c:188,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 6
    argNames:
    - md
    - algo
    - pkalgo
    - nbits
    - pkey
    - r_val
    argTypes:
    - gcry_md_hd_t
    - int
    - int
    - unsigned int
    - gcry_sexp_t
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 190
    functionName: do_encode_md
    functionSourceFile: /src/gnupg/sm/certcheck.c
    functionUses: 1
    functionsReached:
    - gcry_md_algo_info
    - log_assert
    - gcry_pk_get_nbits
    - memcpy
    - xtrymalloc
    - gcry_mpi_scan
    - get_dsa_qbits
    - log_error
    - DIM
    - _
    - log_printf
    - out_of_core
    - gcry_md_read
    - log_debug
    - gpg_error
    - memset
    - xfree
    - gcry_md_test_algo
    - gcry_md_get_algo_dlen
    - gcry_pk_algo_name
    linkageType: ''
    returnType: int
    signature: "int do_encode_md (gcry_md_hd_t md, int algo, int pkalgo, unsigned
      int nbits,\n              gcry_sexp_t pkey, gcry_mpi_t *r_val)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/sm/certcheck.c:203,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/sm/certcheck.c:206,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:207,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/sm/certcheck.c:209,1
    - Dst: memcmp
      Src: /src/gnupg/sm/certcheck.c:212,1
    - Dst: memcmp
      Src: /src/gnupg/sm/certcheck.c:214,1
    - Dst: memcmp
      Src: /src/gnupg/sm/certcheck.c:216,1
    - Dst: memcmp
      Src: /src/gnupg/sm/certcheck.c:218,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:222,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 224
    functionName: pk_algo_from_sexp
    functionSourceFile: /src/gnupg/sm/certcheck.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_cadr
    - gcry_sexp_find_token
    - memcmp
    - gcry_sexp_nth_data
    - gcry_sexp_release
    linkageType: ''
    returnType: int
    signature: int pk_algo_from_sexp (gcry_sexp_t pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certcheck.c:236,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:239,1
    - Dst: _
      Src: /src/gnupg/sm/certcheck.c:239,1
    - Dst: memcpy
      Src: /src/gnupg/sm/certcheck.c:242,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/sm/certcheck.c:244,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:246,1
    - Dst: xfree
      Src: /src/gnupg/sm/certcheck.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - buflen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 249
    functionName: hash_algo_from_buffer
    functionSourceFile: /src/gnupg/sm/certcheck.c
    functionUses: 0
    functionsReached:
    - log_error
    - _
    - xfree
    - gcry_md_map_name
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: int
    signature: int hash_algo_from_buffer (const void *buffer, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certcheck.c:260,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:263,1
    - Dst: _
      Src: /src/gnupg/sm/certcheck.c:263,1
    - Dst: memcpy
      Src: /src/gnupg/sm/certcheck.c:266,1
    - Dst: strtoul
      Src: /src/gnupg/sm/certcheck.c:268,1
    - Dst: xfree
      Src: /src/gnupg/sm/certcheck.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - buffer
    - buflen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 271
    functionName: uint_from_buffer
    functionSourceFile: /src/gnupg/sm/certcheck.c
    functionUses: 0
    functionsReached:
    - log_error
    - _
    - xfree
    - memcpy
    - strtoul
    - xtrymalloc
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int uint_from_buffer (const void *buffer, size_t buflen)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/sm/certcheck.c:283,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:289,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certcheck.c:290,1
    - Dst: hash_algo_from_buffer
      Src: /src/gnupg/sm/certcheck.c:294,1
    - Dst: uint_from_buffer
      Src: /src/gnupg/sm/certcheck.c:295,1
    - Dst: xfree
      Src: /src/gnupg/sm/certcheck.c:296,1
    - Dst: xfree
      Src: /src/gnupg/sm/certcheck.c:297,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:301,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certcheck.c:302,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certcheck.c:306,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:336,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/sm/certcheck.c:337,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certcheck.c:338,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/sm/certcheck.c:341,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:344,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/sm/certcheck.c:345,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certcheck.c:346,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - s_sig
    - silent
    - r_algo
    - r_saltlen
    argTypes:
    - gcry_sexp_t
    - int
    - int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 350
    functionName: extract_pss_params
    functionSourceFile: /src/gnupg/sm/certcheck.c
    functionUses: 0
    functionsReached:
    - log_error
    - gcry_md_algo_name
    - gcry_md_get_algo_dlen
    - gcry_sexp_extract_param
    - gpg_error
    - gpg_strerror
    - xfree
    - uint_from_buffer
    - hash_algo_from_buffer
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t extract_pss_params (gcry_sexp_t s_sig, int silent, int\n
      \                   *r_algo, unsigned int *r_saltlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_sig_val
      Src: /src/gnupg/sm/certcheck.c:362,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/certcheck.c:363,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:366,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certcheck.c:367,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certcheck.c:368,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/sm/certcheck.c:370,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certcheck.c:371,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:374,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certcheck.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - r_sigval
    - cert
    argTypes:
    - gcry_sexp_t*
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 378
    functionName: get_sig_val_from_cert
    functionSourceFile: /src/gnupg/sm/certcheck.c
    functionUses: 0
    functionsReached:
    - ksba_free
    - log_error
    - ksba_cert_get_sig_val
    - gcry_sexp_sscan
    - gpg_error
    - gpg_strerror
    - gcry_sexp_canon_len
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_sig_val_from_cert (gcry_sexp_t *r_sigval, ksba_cert_t
      cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_sig_val_from_cert
      Src: /src/gnupg/sm/certcheck.c:390,1
    - Dst: extract_pss_params
      Src: /src/gnupg/sm/certcheck.c:394,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 398
    functionName: gpgsm_pss_hash_algo_from_cert
    functionSourceFile: /src/gnupg/sm/certcheck.c
    functionUses: 1
    functionsReached:
    - get_sig_val_from_cert
    - extract_pss_params
    - gcry_sexp_release
    linkageType: ''
    returnType: int
    signature: int gpgsm_pss_hash_algo_from_cert (ksba_cert_t cert)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_map_name
      Src: /src/gnupg/sm/certcheck.c:421,1
    - Dst: ksba_cert_get_digest_algo
      Src: /src/gnupg/sm/certcheck.c:421,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certcheck.c:422,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certcheck.c:424,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certcheck.c:426,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certcheck.c:428,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certcheck.c:430,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certcheck.c:432,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certcheck.c:434,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:438,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certcheck.c:441,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certcheck.c:442,1
    - Dst: log_info
      Src: /src/gnupg/sm/certcheck.c:443,1
    - Dst: _
      Src: /src/gnupg/sm/certcheck.c:443,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certcheck.c:444,1
    - Dst: get_sig_val_from_cert
      Src: /src/gnupg/sm/certcheck.c:448,1
    - Dst: gcry_log_debugsxp
      Src: /src/gnupg/sm/certcheck.c:452,1
    - Dst: extract_pss_params
      Src: /src/gnupg/sm/certcheck.c:456,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:459,1
    - Dst: init_membuf
      Src: /src/gnupg/sm/certcheck.c:471,1
    - Dst: ksba_cert_hash
      Src: /src/gnupg/sm/certcheck.c:472,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:477,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certcheck.c:477,1
    - Dst: xfree
      Src: /src/gnupg/sm/certcheck.c:478,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/certcheck.c:478,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/certcheck.c:481,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/certcheck.c:484,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:485,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certcheck.c:485,1
    - Dst: gcry_md_open
      Src: /src/gnupg/sm/certcheck.c:491,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:494,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certcheck.c:494,1
    - Dst: gcry_md_debug
      Src: /src/gnupg/sm/certcheck.c:498,1
    - Dst: ksba_cert_hash
      Src: /src/gnupg/sm/certcheck.c:500,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:503,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certcheck.c:503,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/certcheck.c:504,1
    - Dst: gcry_md_final
      Src: /src/gnupg/sm/certcheck.c:507,1
    - Dst: ksba_cert_get_public_key
      Src: /src/gnupg/sm/certcheck.c:511,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/certcheck.c:512,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:515,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/certcheck.c:516,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certcheck.c:517,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:518,1
    - Dst: xfree
      Src: /src/gnupg/sm/certcheck.c:519,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certcheck.c:520,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/sm/certcheck.c:522,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certcheck.c:523,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:526,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certcheck.c:526,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/certcheck.c:527,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:528,1
    - Dst: xfree
      Src: /src/gnupg/sm/certcheck.c:529,1
    - Dst: gcry_log_debugsxp
      Src: /src/gnupg/sm/certcheck.c:533,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/sm/certcheck.c:537,1
    - Dst: hash_algo_to_string
      Src: /src/gnupg/sm/certcheck.c:541,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/sm/certcheck.c:542,1
    - Dst: gcry_md_read
      Src: /src/gnupg/sm/certcheck.c:543,1
    - Dst: BUG
      Src: /src/gnupg/sm/certcheck.c:546,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/sm/certcheck.c:550,1
    - Dst: xfree
      Src: /src/gnupg/sm/certcheck.c:554,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:558,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certcheck.c:558,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:559,1
    - Dst: do_encode_md
      Src: /src/gnupg/sm/certcheck.c:568,1
    - Dst: pk_algo_from_sexp
      Src: /src/gnupg/sm/certcheck.c:568,1
    - Dst: gcry_pk_get_nbits
      Src: /src/gnupg/sm/certcheck.c:569,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/certcheck.c:572,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:573,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:574,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/sm/certcheck.c:577,1
    - Dst: BUG
      Src: /src/gnupg/sm/certcheck.c:578,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/certcheck.c:579,1
    - Dst: gcry_log_debugsxp
      Src: /src/gnupg/sm/certcheck.c:582,1
    - Dst: gcry_pk_verify
      Src: /src/gnupg/sm/certcheck.c:585,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certcheck.c:587,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certcheck.c:587,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certcheck.c:588,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certcheck.c:589,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certcheck.c:605,1
    - Dst: ksba_cert_get_subj_key_id
      Src: /src/gnupg/sm/certcheck.c:606,1
    - Dst: gpgsm_get_serial
      Src: /src/gnupg/sm/certcheck.c:608,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:614,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/sm/certcheck.c:615,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:620,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certcheck.c:621,1
    - Dst: gcry_pk_verify
      Src: /src/gnupg/sm/certcheck.c:623,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certcheck.c:625,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certcheck.c:625,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/certcheck.c:629,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certcheck.c:634,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certcheck.c:636,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/certcheck.c:640,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:641,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:642,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:643,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 146
    argCount: 2
    argNames:
    - issuer_cert
    - cert
    argTypes:
    - ksba_cert_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 645
    functionName: gpgsm_check_cert_sig
    functionSourceFile: /src/gnupg/sm/certcheck.c
    functionUses: 2
    functionsReached:
    - ksba_cert_get_public_key
    - ksba_free
    - ksba_cert_hash
    - extract_pss_params
    - gcry_sexp_sscan
    - BUG
    - do_encode_md
    - hash_algo_to_string
    - gcry_sexp_canon_len
    - gcry_md_final
    - gcry_md_close
    - gcry_pk_get_nbits
    - pk_algo_from_sexp
    - gcry_log_debugsxp
    - init_membuf
    - log_printhex
    - log_error
    - _
    - log_info
    - gcry_sexp_release
    - gcry_sexp_build
    - gcry_md_read
    - gcry_pk_verify
    - log_debug
    - gcry_md_debug
    - gcry_md_open
    - gpg_error_from_syserror
    - get_sig_val_from_cert
    - strcmp
    - gpg_error
    - ksba_cert_get_digest_algo
    - gpg_strerror
    - gcry_md_map_name
    - xfree
    - gcry_mpi_release
    - get_membuf
    - gcry_md_get_algo_dlen
    - gpg_err_code
    - gpgsm_get_serial
    - ksba_cert_get_subj_key_id
    linkageType: ''
    returnType: int
    signature: int gpgsm_check_cert_sig (ksba_cert_t issuer_cert, ksba_cert_t cert)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: extract_pss_params
      Src: /src/gnupg/sm/certcheck.c:673,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:680,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certcheck.c:681,1
    - Dst: ksba_cert_get_public_key
      Src: /src/gnupg/sm/certcheck.c:685,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/certcheck.c:686,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:689,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certcheck.c:690,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certcheck.c:691,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/certcheck.c:694,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/sm/certcheck.c:696,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certcheck.c:697,1
    - Dst: log_error
      Src: /src/gnupg/sm/certcheck.c:700,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certcheck.c:700,1
    - Dst: pk_algo_from_sexp
      Src: /src/gnupg/sm/certcheck.c:704,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/sm/certcheck.c:710,1
    - Dst: hash_algo_to_string
      Src: /src/gnupg/sm/certcheck.c:714,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/sm/certcheck.c:715,1
    - Dst: gcry_md_read
      Src: /src/gnupg/sm/certcheck.c:716,1
    - Dst: BUG
      Src: /src/gnupg/sm/certcheck.c:719,1
    - Dst: do_encode_md
      Src: /src/gnupg/sm/certcheck.c:726,1
    - Dst: gcry_pk_get_nbits
      Src: /src/gnupg/sm/certcheck.c:727,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:730,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/sm/certcheck.c:734,1
    - Dst: BUG
      Src: /src/gnupg/sm/certcheck.c:735,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/certcheck.c:736,1
    - Dst: gcry_pk_verify
      Src: /src/gnupg/sm/certcheck.c:739,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certcheck.c:741,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certcheck.c:741,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:742,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certcheck.c:743,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 6
    argNames:
    - cert
    - s_sig
    - md
    - mdalgo
    - pkalgoflags
    - r_pkalgo
    argTypes:
    - ksba_cert_t
    - gcry_sexp_t
    - gcry_md_hd_t
    - int
    - unsigned int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 745
    functionName: gpgsm_check_cms_signature
    functionSourceFile: /src/gnupg/sm/certcheck.c
    functionUses: 1
    functionsReached:
    - ksba_cert_get_public_key
    - ksba_free
    - extract_pss_params
    - gcry_sexp_sscan
    - BUG
    - do_encode_md
    - hash_algo_to_string
    - gcry_sexp_canon_len
    - gcry_pk_get_nbits
    - pk_algo_from_sexp
    - log_printhex
    - log_error
    - gcry_sexp_release
    - gcry_md_read
    - gcry_sexp_build
    - gcry_pk_verify
    - log_debug
    - gpg_error
    - gpg_strerror
    - gcry_mpi_release
    - gcry_md_get_algo_dlen
    linkageType: ''
    returnType: int
    signature: "int gpgsm_check_cms_signature (ksba_cert_t cert, gcry_sexp_t s_sig,\n
      \                          gcry_md_hd_t md, int mdalgo,\n                           unsigned
      int pkalgoflags, int *r_pkalgo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_get_keygrip_hexstring
      Src: /src/gnupg/sm/certcheck.c:758,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/certcheck.c:760,1
    - Dst: gpgsm_format_keydesc
      Src: /src/gnupg/sm/certcheck.c:762,1
    - Dst: gpgsm_agent_pksign
      Src: /src/gnupg/sm/certcheck.c:764,1
    - Dst: gcry_md_read
      Src: /src/gnupg/sm/certcheck.c:764,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/sm/certcheck.c:765,1
    - Dst: xfree
      Src: /src/gnupg/sm/certcheck.c:767,1
    - Dst: xfree
      Src: /src/gnupg/sm/certcheck.c:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - ctrl
    - cert
    - md
    - mdalgo
    - r_sigval
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - gcry_md_hd_t
    - int
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 749
    functionDepth: 3
    functionLinenumber: 749
    functionLinenumberEnd: 770
    functionName: gpgsm_create_cms_signature
    functionSourceFile: /src/gnupg/sm/certcheck.c
    functionUses: 0
    functionsReached:
    - gpgsm_format_keydesc
    - gpgsm_get_keygrip_hexstring
    - gcry_md_get_algo_dlen
    - gpg_error
    - gpgsm_agent_pksign
    - xfree
    - gcry_md_read
    linkageType: ''
    returnType: int
    signature: "int gpgsm_create_cms_signature (ctrl_t ctrl, ksba_cert_t cert,\n                            gcry_md_hd_t
      md, int mdalgo,\n                            unsigned char **r_sigval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: set_error
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_error(e,t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtoi_2
      Src: /src/gnupg/sm/server.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 103
    functionName: strcpy_escaped_plus
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - xtoi_2
    linkageType: ''
    returnType: void
    signature: void strcpy_escaped_plus (char *d, const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_send_data
      Src: /src/gnupg/sm/server.c:113,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/sm/server.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cookie
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: data_line_cookie_write
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - gpg_err_set_errno
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t data_line_cookie_write (void *cookie, const void *buffer,
      size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_send_data
      Src: /src/gnupg/sm/server.c:127,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/sm/server.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: data_line_cookie_close
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - gpg_err_set_errno
    linkageType: ''
    returnType: int
    signature: int data_line_cookie_close (void *cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_fclose
      Src: /src/gnupg/sm/server.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: close_message_fp
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - es_fclose
    linkageType: ''
    returnType: void
    signature: void close_message_fp (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: audit_release
      Src: /src/gnupg/sm/server.c:152,1
    - Dst: audit_new
      Src: /src/gnupg/sm/server.c:154,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/server.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: start_audit_session
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - audit_new
    - gpg_error_from_syserror
    - audit_release
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t start_audit_session (ctrl_t ctrl)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:164,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:167,1
    - Dst: session_env_putenv
      Src: /src/gnupg/sm/server.c:175,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:177,1
    - Dst: session_env_setenv
      Src: /src/gnupg/sm/server.c:179,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:181,1
    - Dst: session_env_setenv
      Src: /src/gnupg/sm/server.c:183,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:185,1
    - Dst: session_env_setenv
      Src: /src/gnupg/sm/server.c:187,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:189,1
    - Dst: xfree
      Src: /src/gnupg/sm/server.c:191,1
    - Dst: xtrystrdup
      Src: /src/gnupg/sm/server.c:192,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/server.c:194,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:196,1
    - Dst: xfree
      Src: /src/gnupg/sm/server.c:198,1
    - Dst: xtrystrdup
      Src: /src/gnupg/sm/server.c:199,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/server.c:201,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:203,1
    - Dst: session_env_setenv
      Src: /src/gnupg/sm/server.c:205,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:207,1
    - Dst: session_env_setenv
      Src: /src/gnupg/sm/server.c:209,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:211,1
    - Dst: atoi
      Src: /src/gnupg/sm/server.c:213,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/server.c:215,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:219,1
    - Dst: atoi
      Src: /src/gnupg/sm/server.c:221,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/server.c:238,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:240,1
    - Dst: atoi
      Src: /src/gnupg/sm/server.c:242,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:245,1
    - Dst: atoi
      Src: /src/gnupg/sm/server.c:247,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:250,1
    - Dst: atoi
      Src: /src/gnupg/sm/server.c:252,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:255,1
    - Dst: gpgsm_parse_validation_model
      Src: /src/gnupg/sm/server.c:257,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/server.c:261,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:263,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:267,1
    - Dst: atoi
      Src: /src/gnupg/sm/server.c:269,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:272,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:276,1
    - Dst: atoi
      Src: /src/gnupg/sm/server.c:278,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:281,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:285,1
    - Dst: atoi
      Src: /src/gnupg/sm/server.c:291,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:295,1
    - Dst: atoi
      Src: /src/gnupg/sm/server.c:302,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:306,1
    - Dst: parse_request_origin
      Src: /src/gnupg/sm/server.c:310,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/server.c:312,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:317,1
    - Dst: string_to_u64
      Src: /src/gnupg/sm/server.c:319,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:321,1
    - Dst: atoi
      Src: /src/gnupg/sm/server.c:323,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/server.c:327,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 105
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - assuan_context_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 330
    functionName: option_handler
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 1
    functionsReached:
    - session_env_putenv
    - atoi
    - gpg_error_from_syserror
    - parse_request_origin
    - strcmp
    - xtrystrdup
    - gpg_error
    - string_to_u64
    - xfree
    - session_env_setenv
    - gpgsm_parse_validation_model
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t option_handler (assuan_context_t ctx, const char *key,
      const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:336,1
    - Dst: gpgsm_flush_keyinfo_cache
      Src: /src/gnupg/sm/server.c:340,1
    - Dst: gpgsm_release_certlist
      Src: /src/gnupg/sm/server.c:341,1
    - Dst: gpgsm_release_certlist
      Src: /src/gnupg/sm/server.c:342,1
    - Dst: close_message_fp
      Src: /src/gnupg/sm/server.c:347,1
    - Dst: assuan_close_input_fd
      Src: /src/gnupg/sm/server.c:348,1
    - Dst: assuan_close_output_fd
      Src: /src/gnupg/sm/server.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 351
    functionName: reset_notify
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 1
    functionsReached:
    - close_message_fp
    - assuan_close_input_fd
    - gpgsm_release_certlist
    - assuan_close_output_fd
    - assuan_get_pointer
    - gpgsm_flush_keyinfo_cache
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t reset_notify (assuan_context_t ctx, char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:357,1
    - Dst: strstr
      Src: /src/gnupg/sm/server.c:362,1
    - Dst: strstr
      Src: /src/gnupg/sm/server.c:364,1
    - Dst: strstr
      Src: /src/gnupg/sm/server.c:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 371
    functionName: input_notify
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 1
    functionsReached:
    - assuan_get_pointer
    - strstr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t input_notify (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:376,1
    - Dst: strstr
      Src: /src/gnupg/sm/server.c:380,1
    - Dst: strstr
      Src: /src/gnupg/sm/server.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 385
    functionName: output_notify
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 1
    functionsReached:
    - assuan_get_pointer
    - strstr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t output_notify (assuan_context_t ctx, char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:403,1
    - Dst: start_audit_session
      Src: /src/gnupg/sm/server.c:407,1
    - Dst: gpgsm_add_to_certlist
      Src: /src/gnupg/sm/server.c:412,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/server.c:416,1
    - Dst: get_inv_recpsgnr_code
      Src: /src/gnupg/sm/server.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 400
    functionDepth: 4
    functionLinenumber: 400
    functionLinenumberEnd: 421
    functionName: cmd_recipient
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - get_inv_recpsgnr_code
    - gpgsm_add_to_certlist
    - gpgsm_status2
    - start_audit_session
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_recipient (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:441,1
    - Dst: gpgsm_add_to_certlist
      Src: /src/gnupg/sm/server.c:444,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/server.c:448,1
    - Dst: get_inv_recpsgnr_code
      Src: /src/gnupg/sm/server.c:449,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/server.c:452,1
    - Dst: get_inv_recpsgnr_code
      Src: /src/gnupg/sm/server.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 438
    functionDepth: 4
    functionLinenumber: 438
    functionLinenumberEnd: 456
    functionName: cmd_signer
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - get_inv_recpsgnr_code
    - gpgsm_status2
    - gpgsm_add_to_certlist
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_signer (assuan_context_t ctx, char *line)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:476,1
    - Dst: assuan_get_input_fd
      Src: /src/gnupg/sm/server.c:486,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:488,1
    - Dst: assuan_get_output_fd
      Src: /src/gnupg/sm/server.c:489,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:491,1
    - Dst: open_stream_nc
      Src: /src/gnupg/sm/server.c:493,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:495,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/sm/server.c:495,1
    - Dst: open_stream_nc
      Src: /src/gnupg/sm/server.c:497,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:499,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/sm/server.c:499,1
    - Dst: gpgsm_add_cert_to_certlist
      Src: /src/gnupg/sm/server.c:508,1
    - Dst: start_audit_session
      Src: /src/gnupg/sm/server.c:512,1
    - Dst: gpgsm_encrypt
      Src: /src/gnupg/sm/server.c:514,1
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:514,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/server.c:517,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/server.c:518,1
    - Dst: gpgsm_release_certlist
      Src: /src/gnupg/sm/server.c:520,1
    - Dst: close_message_fp
      Src: /src/gnupg/sm/server.c:524,1
    - Dst: assuan_close_input_fd
      Src: /src/gnupg/sm/server.c:525,1
    - Dst: assuan_close_output_fd
      Src: /src/gnupg/sm/server.c:526,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 473
    functionDepth: 7
    functionLinenumber: 473
    functionLinenumberEnd: 528
    functionName: cmd_encrypt
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - close_message_fp
    - assuan_close_input_fd
    - assuan_get_input_fd
    - gpgsm_release_certlist
    - gpg_err_code_from_syserror
    - set_error
    - assuan_get_output_fd
    - es_fclose
    - start_audit_session
    - assuan_close_output_fd
    - gpgsm_encrypt
    - gpgsm_add_cert_to_certlist
    - open_stream_nc
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_encrypt (assuan_context_t ctx, char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:542,1
    - Dst: assuan_get_input_fd
      Src: /src/gnupg/sm/server.c:551,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:553,1
    - Dst: assuan_get_output_fd
      Src: /src/gnupg/sm/server.c:554,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:556,1
    - Dst: open_stream_nc
      Src: /src/gnupg/sm/server.c:558,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:560,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/sm/server.c:560,1
    - Dst: open_stream_nc
      Src: /src/gnupg/sm/server.c:562,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:564,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/sm/server.c:564,1
    - Dst: start_audit_session
      Src: /src/gnupg/sm/server.c:566,1
    - Dst: gpgsm_decrypt
      Src: /src/gnupg/sm/server.c:568,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/server.c:569,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/server.c:570,1
    - Dst: close_message_fp
      Src: /src/gnupg/sm/server.c:573,1
    - Dst: assuan_close_input_fd
      Src: /src/gnupg/sm/server.c:574,1
    - Dst: assuan_close_output_fd
      Src: /src/gnupg/sm/server.c:575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 578
    functionName: cmd_decrypt
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - close_message_fp
    - assuan_close_input_fd
    - assuan_get_input_fd
    - gpg_err_code_from_syserror
    - set_error
    - assuan_get_output_fd
    - es_fclose
    - assuan_close_output_fd
    - gpgsm_decrypt
    - start_audit_session
    - open_stream_nc
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_decrypt (assuan_context_t ctx, char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:594,1
    - Dst: assuan_get_input_fd
      Src: /src/gnupg/sm/server.c:595,1
    - Dst: assuan_get_output_fd
      Src: /src/gnupg/sm/server.c:596,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:603,1
    - Dst: open_stream_nc
      Src: /src/gnupg/sm/server.c:605,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:607,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/sm/server.c:607,1
    - Dst: open_stream_nc
      Src: /src/gnupg/sm/server.c:611,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:613,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/sm/server.c:613,1
    - Dst: start_audit_session
      Src: /src/gnupg/sm/server.c:616,1
    - Dst: gpgsm_verify
      Src: /src/gnupg/sm/server.c:618,1
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:618,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/server.c:620,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/server.c:621,1
    - Dst: close_message_fp
      Src: /src/gnupg/sm/server.c:624,1
    - Dst: assuan_close_input_fd
      Src: /src/gnupg/sm/server.c:625,1
    - Dst: assuan_close_output_fd
      Src: /src/gnupg/sm/server.c:626,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 590
    functionDepth: 7
    functionLinenumber: 590
    functionLinenumberEnd: 629
    functionName: cmd_verify
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 2
    functionsReached:
    - close_message_fp
    - assuan_close_input_fd
    - assuan_get_input_fd
    - gpg_err_code_from_syserror
    - set_error
    - assuan_get_output_fd
    - es_fclose
    - assuan_close_output_fd
    - gpgsm_verify
    - start_audit_session
    - open_stream_nc
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_verify (assuan_context_t ctx, char *line)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:645,1
    - Dst: has_option
      Src: /src/gnupg/sm/server.c:649,1
    - Dst: has_option
      Src: /src/gnupg/sm/server.c:650,1
    - Dst: skip_options
      Src: /src/gnupg/sm/server.c:652,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/sm/server.c:655,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/server.c:670,1
    - Dst: strlist_pop_try
      Src: /src/gnupg/sm/server.c:670,1
    - Dst: strconcat
      Src: /src/gnupg/sm/server.c:673,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/server.c:675,1
    - Dst: add_to_strlist_try
      Src: /src/gnupg/sm/server.c:676,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/server.c:677,1
    - Dst: xfree
      Src: /src/gnupg/sm/server.c:679,1
    - Dst: xfree
      Src: /src/gnupg/sm/server.c:680,1
    - Dst: add_to_strlist_try
      Src: /src/gnupg/sm/server.c:685,1
    - Dst: out_of_core
      Src: /src/gnupg/sm/server.c:686,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 692
    functionName: cmd_setattr
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - strlist_pop_try
    - FREE_STRLIST
    - gpg_error_from_syserror
    - strconcat
    - gpg_error
    - skip_options
    - xfree
    - has_option
    - add_to_strlist_try
    - out_of_core
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_setattr (assuan_context_t ctx, char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:704,1
    - Dst: assuan_get_input_fd
      Src: /src/gnupg/sm/server.c:712,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:714,1
    - Dst: assuan_get_output_fd
      Src: /src/gnupg/sm/server.c:715,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:717,1
    - Dst: has_option
      Src: /src/gnupg/sm/server.c:719,1
    - Dst: open_stream_nc
      Src: /src/gnupg/sm/server.c:721,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:723,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/sm/server.c:723,1
    - Dst: open_stream_nc
      Src: /src/gnupg/sm/server.c:725,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:727,1
    - Dst: start_audit_session
      Src: /src/gnupg/sm/server.c:729,1
    - Dst: gpgsm_sign
      Src: /src/gnupg/sm/server.c:731,1
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:731,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/server.c:733,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/server.c:734,1
    - Dst: close_message_fp
      Src: /src/gnupg/sm/server.c:737,1
    - Dst: assuan_close_input_fd
      Src: /src/gnupg/sm/server.c:738,1
    - Dst: assuan_close_output_fd
      Src: /src/gnupg/sm/server.c:739,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 701
    functionDepth: 3
    functionLinenumber: 701
    functionLinenumberEnd: 742
    functionName: cmd_sign
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - close_message_fp
    - assuan_close_input_fd
    - assuan_get_input_fd
    - gpg_err_code_from_syserror
    - set_error
    - assuan_get_output_fd
    - gpgsm_sign
    - es_fclose
    - assuan_close_output_fd
    - has_option
    - start_audit_session
    - open_stream_nc
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_sign (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:760,1
    - Dst: assuan_get_input_fd
      Src: /src/gnupg/sm/server.c:762,1
    - Dst: has_option
      Src: /src/gnupg/sm/server.c:763,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:769,1
    - Dst: open_stream_nc
      Src: /src/gnupg/sm/server.c:771,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:773,1
    - Dst: gpgsm_import
      Src: /src/gnupg/sm/server.c:775,1
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:775,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/server.c:776,1
    - Dst: close_message_fp
      Src: /src/gnupg/sm/server.c:779,1
    - Dst: assuan_close_input_fd
      Src: /src/gnupg/sm/server.c:780,1
    - Dst: assuan_close_output_fd
      Src: /src/gnupg/sm/server.c:781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 757
    functionDepth: 4
    functionLinenumber: 757
    functionLinenumberEnd: 784
    functionName: cmd_import
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - gpgsm_import
    - close_message_fp
    - assuan_get_input_fd
    - assuan_close_input_fd
    - set_error
    - es_fclose
    - assuan_close_output_fd
    - has_option
    - open_stream_nc
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_import (assuan_context_t ctx, char *line)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:800,1
    - Dst: has_option
      Src: /src/gnupg/sm/server.c:808,1
    - Dst: has_option
      Src: /src/gnupg/sm/server.c:812,1
    - Dst: has_option
      Src: /src/gnupg/sm/server.c:813,1
    - Dst: has_option
      Src: /src/gnupg/sm/server.c:815,1
    - Dst: has_option
      Src: /src/gnupg/sm/server.c:818,1
    - Dst: has_option
      Src: /src/gnupg/sm/server.c:819,1
    - Dst: skip_options
      Src: /src/gnupg/sm/server.c:822,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/server.c:834,1
    - Dst: strlen
      Src: /src/gnupg/sm/server.c:834,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:837,1
    - Dst: out_of_core
      Src: /src/gnupg/sm/server.c:838,1
    - Dst: strcpy_escaped_plus
      Src: /src/gnupg/sm/server.c:841,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:850,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:853,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:854,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:857,1
    - Dst: es_fopencookie
      Src: /src/gnupg/sm/server.c:864,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:867,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:868,1
    - Dst: gpgsm_p12_export
      Src: /src/gnupg/sm/server.c:872,1
    - Dst: gpgsm_export
      Src: /src/gnupg/sm/server.c:875,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/server.c:876,1
    - Dst: assuan_get_output_fd
      Src: /src/gnupg/sm/server.c:880,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:885,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:886,1
    - Dst: open_stream_nc
      Src: /src/gnupg/sm/server.c:888,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:891,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:892,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/sm/server.c:892,1
    - Dst: gpgsm_p12_export
      Src: /src/gnupg/sm/server.c:896,1
    - Dst: gpgsm_export
      Src: /src/gnupg/sm/server.c:899,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/server.c:900,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:903,1
    - Dst: close_message_fp
      Src: /src/gnupg/sm/server.c:905,1
    - Dst: assuan_close_input_fd
      Src: /src/gnupg/sm/server.c:906,1
    - Dst: assuan_close_output_fd
      Src: /src/gnupg/sm/server.c:907,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 797
    functionDepth: 7
    functionLinenumber: 797
    functionLinenumberEnd: 909
    functionName: cmd_export
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - es_fopencookie
    - close_message_fp
    - strlen
    - assuan_close_output_fd
    - has_option
    - open_stream_nc
    - gpgsm_export
    - xtrymalloc
    - assuan_get_pointer
    - strcpy_escaped_plus
    - set_error
    - skip_options
    - out_of_core
    - free_strlist
    - gpg_err_code_from_syserror
    - gpgsm_p12_export
    - assuan_close_input_fd
    - assuan_get_output_fd
    - es_fclose
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_export (assuan_context_t ctx, char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:922,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/server.c:937,1
    - Dst: strlen
      Src: /src/gnupg/sm/server.c:937,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:940,1
    - Dst: out_of_core
      Src: /src/gnupg/sm/server.c:941,1
    - Dst: strcpy_escaped_plus
      Src: /src/gnupg/sm/server.c:944,1
    - Dst: gpgsm_delete
      Src: /src/gnupg/sm/server.c:950,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:951,1
    - Dst: close_message_fp
      Src: /src/gnupg/sm/server.c:954,1
    - Dst: assuan_close_input_fd
      Src: /src/gnupg/sm/server.c:955,1
    - Dst: assuan_close_output_fd
      Src: /src/gnupg/sm/server.c:956,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 919
    functionDepth: 4
    functionLinenumber: 919
    functionLinenumberEnd: 959
    functionName: cmd_delkeys
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - close_message_fp
    - assuan_close_input_fd
    - strcpy_escaped_plus
    - xtrymalloc
    - strlen
    - assuan_close_output_fd
    - gpgsm_delete
    - out_of_core
    - free_strlist
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_delkeys (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:990,1
    - Dst: assuan_command_parse_fd
      Src: /src/gnupg/sm/server.c:992,1
    - Dst: open_stream_nc
      Src: /src/gnupg/sm/server.c:996,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 984
    functionDepth: 1
    functionLinenumber: 984
    functionLinenumberEnd: 1001
    functionName: cmd_message
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - open_stream_nc
    - assuan_command_parse_fd
    - assuan_get_pointer
    - set_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_message (assuan_context_t ctx, char *line)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:1040,1
    - Dst: has_option
      Src: /src/gnupg/sm/server.c:1049,1
    - Dst: skip_options
      Src: /src/gnupg/sm/server.c:1050,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/server.c:1062,1
    - Dst: strlen
      Src: /src/gnupg/sm/server.c:1062,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:1065,1
    - Dst: out_of_core
      Src: /src/gnupg/sm/server.c:1066,1
    - Dst: strcpy_escaped_plus
      Src: /src/gnupg/sm/server.c:1069,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:1076,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:1077,1
    - Dst: assuan_inquire
      Src: /src/gnupg/sm/server.c:1087,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:1090,1
    - Dst: xfree
      Src: /src/gnupg/sm/server.c:1095,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:1096,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/server.c:1097,1
    - Dst: ksba_dn_der2str
      Src: /src/gnupg/sm/server.c:1099,1
    - Dst: xfree
      Src: /src/gnupg/sm/server.c:1100,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:1103,1
    - Dst: strlen
      Src: /src/gnupg/sm/server.c:1107,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:1108,1
    - Dst: strconcat
      Src: /src/gnupg/sm/server.c:1111,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/server.c:1114,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/server.c:1115,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:1116,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/server.c:1119,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:1120,1
    - Dst: add_to_strlist_try
      Src: /src/gnupg/sm/server.c:1122,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/server.c:1124,1
    - Dst: xfree
      Src: /src/gnupg/sm/server.c:1125,1
    - Dst: xfree
      Src: /src/gnupg/sm/server.c:1128,1
    - Dst: assuan_get_output_fd
      Src: /src/gnupg/sm/server.c:1134,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:1138,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:1139,1
    - Dst: open_stream_nc
      Src: /src/gnupg/sm/server.c:1141,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:1144,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:1145,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/sm/server.c:1145,1
    - Dst: es_fopencookie
      Src: /src/gnupg/sm/server.c:1151,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:1154,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:1155,1
    - Dst: gpgsm_list_keys
      Src: /src/gnupg/sm/server.c:1166,1
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:1166,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/server.c:1168,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/server.c:1169,1
    - Dst: assuan_close_output_fd
      Src: /src/gnupg/sm/server.c:1171,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 91
    argCount: 3
    argNames:
    - ctx
    - line
    - mode
    argTypes:
    - assuan_context_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1037
    functionDepth: 7
    functionLinenumber: 1037
    functionLinenumberEnd: 1173
    functionName: do_listkeys
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 2
    functionsReached:
    - es_fopencookie
    - ksba_free
    - strlen
    - assuan_inquire
    - ksba_dn_der2str
    - assuan_close_output_fd
    - has_option
    - add_to_strlist_try
    - open_stream_nc
    - xtrymalloc
    - assuan_get_pointer
    - strcpy_escaped_plus
    - set_error
    - skip_options
    - out_of_core
    - free_strlist
    - gpg_err_code_from_syserror
    - gpg_error_from_syserror
    - gpgsm_list_keys
    - strcmp
    - gpg_error
    - xfree
    - assuan_get_output_fd
    - es_fclose
    - strconcat
    linkageType: ''
    returnType: int
    signature: int do_listkeys (assuan_context_t ctx, char *line, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_listkeys
      Src: /src/gnupg/sm/server.c:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1179
    functionName: cmd_listkeys
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - do_listkeys
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_listkeys (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_listkeys
      Src: /src/gnupg/sm/server.c:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1185
    functionName: cmd_dumpkeys
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - do_listkeys
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_dumpkeys (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_listkeys
      Src: /src/gnupg/sm/server.c:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1191
    functionName: cmd_listsecretkeys
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - do_listkeys
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_listsecretkeys (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_listkeys
      Src: /src/gnupg/sm/server.c:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1197
    functionName: cmd_dumpsecretkeys
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - do_listkeys
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_dumpsecretkeys (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:1209,1
    - Dst: assuan_get_input_fd
      Src: /src/gnupg/sm/server.c:1216,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:1218,1
    - Dst: assuan_get_output_fd
      Src: /src/gnupg/sm/server.c:1219,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:1221,1
    - Dst: open_stream_nc
      Src: /src/gnupg/sm/server.c:1223,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:1225,1
    - Dst: open_stream_nc
      Src: /src/gnupg/sm/server.c:1227,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/server.c:1230,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:1231,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/sm/server.c:1231,1
    - Dst: gpgsm_genkey
      Src: /src/gnupg/sm/server.c:1233,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/server.c:1234,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/server.c:1235,1
    - Dst: assuan_close_input_fd
      Src: /src/gnupg/sm/server.c:1238,1
    - Dst: assuan_close_output_fd
      Src: /src/gnupg/sm/server.c:1239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1206
    functionDepth: 3
    functionLinenumber: 1206
    functionLinenumberEnd: 1242
    functionName: cmd_genkey
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - assuan_close_input_fd
    - assuan_get_input_fd
    - gpgsm_genkey
    - gpg_err_code_from_syserror
    - set_error
    - assuan_get_output_fd
    - es_fclose
    - assuan_close_output_fd
    - open_stream_nc
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_genkey (assuan_context_t ctx, char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:1257,1
    - Dst: has_option
      Src: /src/gnupg/sm/server.c:1263,1
    - Dst: has_option
      Src: /src/gnupg/sm/server.c:1264,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/server.c:1268,1
    - Dst: es_fopencookie
      Src: /src/gnupg/sm/server.c:1272,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:1274,1
    - Dst: assuan_get_output_fd
      Src: /src/gnupg/sm/server.c:1279,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:1281,1
    - Dst: open_stream_nc
      Src: /src/gnupg/sm/server.c:1283,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:1286,1
    - Dst: audit_print_result
      Src: /src/gnupg/sm/server.c:1290,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/server.c:1293,1
    - Dst: assuan_close_output_fd
      Src: /src/gnupg/sm/server.c:1297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1254
    functionDepth: 9
    functionLinenumber: 1254
    functionLinenumberEnd: 1299
    functionName: cmd_getauditlog
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - es_fopencookie
    - set_error
    - assuan_get_output_fd
    - audit_print_result
    - es_fclose
    - assuan_close_output_fd
    - gpg_error
    - has_option
    - open_stream_nc
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_getauditlog (assuan_context_t ctx, char *line)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:1317,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:1320,1
    - Dst: assuan_send_data
      Src: /src/gnupg/sm/server.c:1323,1
    - Dst: strlen
      Src: /src/gnupg/sm/server.c:1323,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:1325,1
    - Dst: snprintf
      Src: /src/gnupg/sm/server.c:1329,1
    - Dst: getpid
      Src: /src/gnupg/sm/server.c:1329,1
    - Dst: assuan_send_data
      Src: /src/gnupg/sm/server.c:1330,1
    - Dst: strlen
      Src: /src/gnupg/sm/server.c:1330,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:1332,1
    - Dst: gpgsm_agent_send_nop
      Src: /src/gnupg/sm/server.c:1334,1
    - Dst: strncmp
      Src: /src/gnupg/sm/server.c:1336,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/server.c:1344,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/server.c:1351,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/server.c:1358,1
    - Dst: command_has_option
      Src: /src/gnupg/sm/server.c:1362,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/server.c:1363,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:1368,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/server.c:1370,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:1372,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/server.c:1375,1
    - Dst: set_error
      Src: /src/gnupg/sm/server.c:1378,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1314
    functionDepth: 2
    functionLinenumber: 1314
    functionLinenumberEnd: 1381
    functionName: cmd_getinfo
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - strlen
    - command_has_option
    - snprintf
    - set_error
    - strcmp
    - gpg_error
    - gpgsm_agent_send_nop
    - getpid
    - strncmp
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_getinfo (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/sm/server.c:1391,1
    - Dst: skip_options
      Src: /src/gnupg/sm/server.c:1396,1
    - Dst: gpgsm_find_cert
      Src: /src/gnupg/sm/server.c:1398,1
    - Dst: gpgsm_get_keygrip_hexstring
      Src: /src/gnupg/sm/server.c:1401,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/server.c:1402,1
    - Dst: gpgsm_format_keydesc
      Src: /src/gnupg/sm/server.c:1405,1
    - Dst: gpgsm_agent_passwd
      Src: /src/gnupg/sm/server.c:1406,1
    - Dst: xfree
      Src: /src/gnupg/sm/server.c:1407,1
    - Dst: xfree
      Src: /src/gnupg/sm/server.c:1410,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/server.c:1411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1388
    functionDepth: 3
    functionLinenumber: 1388
    functionLinenumberEnd: 1414
    functionName: cmd_passwd
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 2
    functionsReached:
    - gpgsm_find_cert
    - gpgsm_format_keydesc
    - gpgsm_get_keygrip_hexstring
    - gpgsm_agent_passwd
    - skip_options
    - gpg_error
    - xfree
    - ksba_cert_release
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_passwd (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:1422,1
    - Dst: strcmp
      Src: /src/gnupg/sm/server.c:1424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cmd
    - cmdopt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1429
    functionName: command_has_option
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int command_has_option (const char *cmd, const char *cmdopt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_register_command
      Src: /src/gnupg/sm/server.c:1468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1474
    functionName: register_commands
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 1
    functionsReached:
    - assuan_register_command
    linkageType: ''
    returnType: int
    signature: int register_commands (assuan_context_t ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/server.c:1489,1
    - Dst: gpgsm_init_default_ctrl
      Src: /src/gnupg/sm/server.c:1490,1
    - Dst: assuan_fdopen
      Src: /src/gnupg/sm/server.c:1498,1
    - Dst: assuan_fdopen
      Src: /src/gnupg/sm/server.c:1499,1
    - Dst: assuan_new
      Src: /src/gnupg/sm/server.c:1500,1
    - Dst: log_error
      Src: /src/gnupg/sm/server.c:1503,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/server.c:1504,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/server.c:1505,1
    - Dst: assuan_init_pipe_server
      Src: /src/gnupg/sm/server.c:1508,1
    - Dst: log_error
      Src: /src/gnupg/sm/server.c:1511,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/server.c:1512,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/server.c:1513,1
    - Dst: register_commands
      Src: /src/gnupg/sm/server.c:1515,1
    - Dst: log_error
      Src: /src/gnupg/sm/server.c:1518,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/server.c:1519,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/server.c:1520,1
    - Dst: asprintf
      Src: /src/gnupg/sm/server.c:1527,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/sm/server.c:1532,1
    - Dst: dirmngr_socket_name
      Src: /src/gnupg/sm/server.c:1534,1
    - Dst: assuan_set_hello_line
      Src: /src/gnupg/sm/server.c:1537,1
    - Dst: free
      Src: /src/gnupg/sm/server.c:1538,1
    - Dst: assuan_set_hello_line
      Src: /src/gnupg/sm/server.c:1542,1
    - Dst: assuan_register_reset_notify
      Src: /src/gnupg/sm/server.c:1544,1
    - Dst: assuan_register_input_notify
      Src: /src/gnupg/sm/server.c:1545,1
    - Dst: assuan_register_output_notify
      Src: /src/gnupg/sm/server.c:1546,1
    - Dst: assuan_register_option_handler
      Src: /src/gnupg/sm/server.c:1547,1
    - Dst: assuan_set_pointer
      Src: /src/gnupg/sm/server.c:1549,1
    - Dst: xcalloc
      Src: /src/gnupg/sm/server.c:1550,1
    - Dst: assuan_accept
      Src: /src/gnupg/sm/server.c:1559,1
    - Dst: log_info
      Src: /src/gnupg/sm/server.c:1566,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/server.c:1566,1
    - Dst: assuan_process
      Src: /src/gnupg/sm/server.c:1570,1
    - Dst: log_info
      Src: /src/gnupg/sm/server.c:1573,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/server.c:1573,1
    - Dst: gpgsm_release_certlist
      Src: /src/gnupg/sm/server.c:1578,1
    - Dst: gpgsm_release_certlist
      Src: /src/gnupg/sm/server.c:1580,1
    - Dst: xfree
      Src: /src/gnupg/sm/server.c:1582,1
    - Dst: audit_release
      Src: /src/gnupg/sm/server.c:1584,1
    - Dst: gpgsm_deinit_default_ctrl
      Src: /src/gnupg/sm/server.c:1587,1
    - Dst: assuan_release
      Src: /src/gnupg/sm/server.c:1589,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 1
    argNames:
    - default_recplist
    argTypes:
    - certlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1479
    functionDepth: 8
    functionLinenumber: 1479
    functionLinenumberEnd: 1590
    functionName: gpgsm_server
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - assuan_register_input_notify
    - gnupg_homedir
    - register_commands
    - gpgsm_release_certlist
    - gpgsm_exit
    - log_error
    - assuan_set_hello_line
    - dirmngr_socket_name
    - log_info
    - assuan_fdopen
    - gpgsm_deinit_default_ctrl
    - asprintf
    - assuan_new
    - assuan_register_reset_notify
    - memset
    - gpg_strerror
    - assuan_register_output_notify
    - assuan_register_option_handler
    - xfree
    - gpgsm_init_default_ctrl
    - assuan_process
    - assuan_init_pipe_server
    - assuan_release
    - assuan_accept
    - xcalloc
    - audit_release
    - assuan_set_pointer
    - free
    linkageType: ''
    returnType: void
    signature: void gpgsm_server (certlist_t default_recplist)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fdopen
      Src: /src/gnupg/sm/server.c:1604,1
    - Dst: log_fatal
      Src: /src/gnupg/sm/server.c:1607,1
    - Dst: strerror
      Src: /src/gnupg/sm/server.c:1608,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1593
    functionDepth: 1
    functionLinenumber: 1593
    functionLinenumberEnd: 1609
    functionName: gpgsm_init_statusfp
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - log_fatal
    - strerror
    - fdopen
    linkageType: ''
    returnType: void
    signature: void gpgsm_init_statusfp (ctrl_t ctrl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/sm/server.c:1619,1
    - Dst: gpgsm_init_statusfp
      Src: /src/gnupg/sm/server.c:1627,1
    - Dst: fputs
      Src: /src/gnupg/sm/server.c:1629,1
    - Dst: fputs
      Src: /src/gnupg/sm/server.c:1630,1
    - Dst: get_status_string
      Src: /src/gnupg/sm/server.c:1630,1
    - Dst: va_arg
      Src: /src/gnupg/sm/server.c:1632,1
    - Dst: putc
      Src: /src/gnupg/sm/server.c:1634,1
    - Dst: fputs
      Src: /src/gnupg/sm/server.c:1638,1
    - Dst: fputs
      Src: /src/gnupg/sm/server.c:1640,1
    - Dst: putc
      Src: /src/gnupg/sm/server.c:1642,1
    - Dst: putc
      Src: /src/gnupg/sm/server.c:1645,1
    - Dst: ferror
      Src: /src/gnupg/sm/server.c:1650,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/server.c:1651,1
    - Dst: fflush
      Src: /src/gnupg/sm/server.c:1654,1
    - Dst: ferror
      Src: /src/gnupg/sm/server.c:1655,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/server.c:1656,1
    - Dst: vprint_assuan_status_strings
      Src: /src/gnupg/sm/server.c:1661,1
    - Dst: get_status_string
      Src: /src/gnupg/sm/server.c:1662,1
    - Dst: va_end
      Src: /src/gnupg/sm/server.c:1665,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - ctrl
    - 'no'
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1612
    functionDepth: 2
    functionLinenumber: 1612
    functionLinenumberEnd: 1667
    functionName: gpgsm_status2
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 7
    functionsReached:
    - va_end
    - ferror
    - gpg_error_from_syserror
    - vprint_assuan_status_strings
    - gpgsm_init_statusfp
    - fflush
    - get_status_string
    - va_arg
    - fputs
    - va_start
    - putc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpgsm_status2 (ctrl_t ctrl, int no, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/server.c:1672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - 'no'
    - text
    argTypes:
    - ctrl_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1669
    functionDepth: 3
    functionLinenumber: 1669
    functionLinenumberEnd: 1673
    functionName: gpgsm_status
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 8
    functionsReached:
    - gpgsm_status2
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpgsm_status (ctrl_t ctrl, int no, const char *text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/sm/server.c:1681,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/server.c:1683,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/server.c:1685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctrl
    - 'no'
    - text
    - ec
    argTypes:
    - ctrl_t
    - int
    - char*
    - gpg_err_code_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1675
    functionDepth: 3
    functionLinenumber: 1675
    functionLinenumberEnd: 1686
    functionName: gpgsm_status_with_err_code
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 2
    functionsReached:
    - snprintf
    - gpgsm_status2
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gpgsm_status_with_err_code (ctrl_t ctrl, int no, const
      char *text,\n                            gpg_err_code_t ec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/sm/server.c:1694,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/server.c:1696,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/server.c:1698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctrl
    - 'no'
    - text
    - err
    argTypes:
    - ctrl_t
    - int
    - char*
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1688
    functionDepth: 3
    functionLinenumber: 1688
    functionLinenumberEnd: 1699
    functionName: gpgsm_status_with_error
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 2
    functionsReached:
    - snprintf
    - gpgsm_status2
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gpgsm_status_with_error (ctrl_t ctrl, int no, const char
      *text,\n                         gpg_error_t err)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnupg/sm/server.c:1715,1
    - Dst: fputs
      Src: /src/gnupg/sm/server.c:1716,1
    - Dst: get_status_string
      Src: /src/gnupg/sm/server.c:1716,1
    - Dst: fputs
      Src: /src/gnupg/sm/server.c:1717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1705
    functionDepth: 1
    functionLinenumber: 1705
    functionLinenumberEnd: 1718
    functionName: gpgsm_exit_failure_status
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - get_status_string
    - fputs
    linkageType: ''
    returnType: void
    signature: void gpgsm_exit_failure_status (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/sm/server.c:1753,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/server.c:1756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ctrl
    - current
    - total
    argTypes:
    - ctrl_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1722
    functionDepth: 3
    functionLinenumber: 1722
    functionLinenumberEnd: 1757
    functionName: gpgsm_progress_cb
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 0
    functionsReached:
    - snprintf
    - gpgsm_status2
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpgsm_progress_cb (ctrl_t ctrl, uint64_t current, uint64_t
      total)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_inquire
      Src: /src/gnupg/sm/server.c:1769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - line
    argTypes:
    - ctrl_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1763
    functionDepth: 1
    functionLinenumber: 1763
    functionLinenumberEnd: 1770
    functionName: gpgsm_proxy_pinentry_notify
    functionSourceFile: /src/gnupg/sm/server.c
    functionUses: 1
    functionsReached:
    - assuan_inquire
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpgsm_proxy_pinentry_notify (ctrl_t ctrl, const unsigned
      char *line)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/sm/qualified.c:60,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/sm/qualified.c:60,1
    - Dst: es_fopen
      Src: /src/gnupg/sm/qualified.c:61,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/qualified.c:64,1
    - Dst: log_error
      Src: /src/gnupg/sm/qualified.c:65,1
    - Dst: _
      Src: /src/gnupg/sm/qualified.c:65,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/qualified.c:65,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/qualified.c:71,1
    - Dst: es_fgets
      Src: /src/gnupg/sm/qualified.c:75,1
    - Dst: DIM
      Src: /src/gnupg/sm/qualified.c:75,1
    - Dst: es_feof
      Src: /src/gnupg/sm/qualified.c:77,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/qualified.c:78,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/qualified.c:79,1
    - Dst: strlen
      Src: /src/gnupg/sm/qualified.c:82,1
    - Dst: es_getc
      Src: /src/gnupg/sm/qualified.c:85,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/qualified.c:87,1
    - Dst: spacep
      Src: /src/gnupg/sm/qualified.c:93,1
    - Dst: hexdigitp
      Src: /src/gnupg/sm/qualified.c:98,1
    - Dst: spacep
      Src: /src/gnupg/sm/qualified.c:102,1
    - Dst: log_error
      Src: /src/gnupg/sm/qualified.c:104,1
    - Dst: _
      Src: /src/gnupg/sm/qualified.c:104,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/qualified.c:106,1
    - Dst: log_assert
      Src: /src/gnupg/sm/qualified.c:108,1
    - Dst: spacep
      Src: /src/gnupg/sm/qualified.c:110,1
    - Dst: spacep
      Src: /src/gnupg/sm/qualified.c:114,1
    - Dst: log_error
      Src: /src/gnupg/sm/qualified.c:122,1
    - Dst: _
      Src: /src/gnupg/sm/qualified.c:122,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/qualified.c:123,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 50
    argCount: 3
    argNames:
    - key
    - country
    - lnr
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 48
    functionDepth: 6
    functionLinenumber: 48
    functionLinenumberEnd: 127
    functionName: read_list
    functionSourceFile: /src/gnupg/sm/qualified.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - make_filename
    - log_error
    - gpg_error_from_syserror
    - strlen
    - es_fgets
    - DIM
    - spacep
    - log_assert
    - _
    - es_feof
    - gpg_error
    - es_fopen
    - gpg_strerror
    - es_getc
    - gnupg_sysconfdir
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_list (char *key, char *country, int *lnr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_get_fingerprint_hexstring
      Src: /src/gnupg/sm/qualified.c:158,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/qualified.c:160,1
    - Dst: es_fseek
      Src: /src/gnupg/sm/qualified.c:165,1
    - Dst: es_clearerr
      Src: /src/gnupg/sm/qualified.c:166,1
    - Dst: read_list
      Src: /src/gnupg/sm/qualified.c:168,1
    - Dst: strcmp
      Src: /src/gnupg/sm/qualified.c:170,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/qualified.c:173,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/qualified.c:174,1
    - Dst: strcpy
      Src: /src/gnupg/sm/qualified.c:177,1
    - Dst: xfree
      Src: /src/gnupg/sm/qualified.c:179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - ctrl
    - cert
    - country
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 144
    functionDepth: 7
    functionLinenumber: 144
    functionLinenumberEnd: 181
    functionName: gpgsm_is_in_qualified_list
    functionSourceFile: /src/gnupg/sm/qualified.c
    functionUses: 2
    functionsReached:
    - read_list
    - es_fseek
    - strcmp
    - gpg_error
    - gpgsm_get_fingerprint_hexstring
    - gpg_err_code
    - strcpy
    - xfree
    - es_clearerr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpgsm_is_in_qualified_list (ctrl_t ctrl, ksba_cert_t cert,
      char *country)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/qualified.c:196,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/qualified.c:198,1
    - Dst: gpgsm_format_name2
      Src: /src/gnupg/sm/qualified.c:199,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/qualified.c:200,1
    - Dst: i18n_switchto_utf8
      Src: /src/gnupg/sm/qualified.c:202,1
    - Dst: asprintf
      Src: /src/gnupg/sm/qualified.c:204,1
    - Dst: _
      Src: /src/gnupg/sm/qualified.c:205,1
    - Dst: _
      Src: /src/gnupg/sm/qualified.c:214,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/qualified.c:218,1
    - Dst: i18n_switchback
      Src: /src/gnupg/sm/qualified.c:222,1
    - Dst: xfree
      Src: /src/gnupg/sm/qualified.c:223,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/qualified.c:228,1
    - Dst: strlen
      Src: /src/gnupg/sm/qualified.c:228,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/qualified.c:231,1
    - Dst: free
      Src: /src/gnupg/sm/qualified.c:232,1
    - Dst: sprintf
      Src: /src/gnupg/sm/qualified.c:239,1
    - Dst: free
      Src: /src/gnupg/sm/qualified.c:248,1
    - Dst: gpgsm_agent_get_confirmation
      Src: /src/gnupg/sm/qualified.c:251,1
    - Dst: xfree
      Src: /src/gnupg/sm/qualified.c:253,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - ctrl
    - cert
    argTypes:
    - ctrl_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 255
    functionName: gpgsm_qualified_consent
    functionSourceFile: /src/gnupg/sm/qualified.c
    functionUses: 0
    functionsReached:
    - gpgsm_agent_get_confirmation
    - ksba_free
    - i18n_switchto_utf8
    - xtrymalloc
    - gpg_error_from_syserror
    - strlen
    - i18n_switchback
    - free
    - ksba_cert_get_subject
    - sprintf
    - _
    - gpg_error
    - xfree
    - gpgsm_format_name2
    - asprintf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpgsm_qualified_consent (ctrl_t ctrl, ksba_cert_t cert)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/qualified.c:272,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/qualified.c:274,1
    - Dst: gpgsm_format_name2
      Src: /src/gnupg/sm/qualified.c:275,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/qualified.c:276,1
    - Dst: i18n_switchto_utf8
      Src: /src/gnupg/sm/qualified.c:278,1
    - Dst: asprintf
      Src: /src/gnupg/sm/qualified.c:280,1
    - Dst: _
      Src: /src/gnupg/sm/qualified.c:281,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/qualified.c:287,1
    - Dst: i18n_switchback
      Src: /src/gnupg/sm/qualified.c:291,1
    - Dst: xfree
      Src: /src/gnupg/sm/qualified.c:292,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/qualified.c:297,1
    - Dst: strlen
      Src: /src/gnupg/sm/qualified.c:297,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/qualified.c:300,1
    - Dst: free
      Src: /src/gnupg/sm/qualified.c:301,1
    - Dst: sprintf
      Src: /src/gnupg/sm/qualified.c:308,1
    - Dst: free
      Src: /src/gnupg/sm/qualified.c:317,1
    - Dst: gpgsm_agent_get_confirmation
      Src: /src/gnupg/sm/qualified.c:320,1
    - Dst: xfree
      Src: /src/gnupg/sm/qualified.c:322,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - ctrl
    - cert
    argTypes:
    - ctrl_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 324
    functionName: gpgsm_not_qualified_warning
    functionSourceFile: /src/gnupg/sm/qualified.c
    functionUses: 0
    functionsReached:
    - gpgsm_agent_get_confirmation
    - ksba_free
    - i18n_switchto_utf8
    - xtrymalloc
    - gpg_error_from_syserror
    - strlen
    - i18n_switchback
    - free
    - ksba_cert_get_subject
    - sprintf
    - _
    - gpg_error
    - xfree
    - gpgsm_format_name2
    - asprintf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpgsm_not_qualified_warning (ctrl_t ctrl, ksba_cert_t cert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_fread
      Src: /src/gnupg/sm/sign.c:51,1
    - Dst: DIM
      Src: /src/gnupg/sm/sign.c:51,1
    - Dst: gcry_md_write
      Src: /src/gnupg/sm/sign.c:52,1
    - Dst: es_ferror
      Src: /src/gnupg/sm/sign.c:55,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:57,1
    - Dst: strerror
      Src: /src/gnupg/sm/sign.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - fp
    - md
    argTypes:
    - estream_t
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 61
    functionName: hash_data
    functionSourceFile: /src/gnupg/sm/sign.c
    functionUses: 3
    functionsReached:
    - gcry_md_write
    - log_error
    - DIM
    - es_fread
    - es_ferror
    - strerror
    linkageType: ''
    returnType: int
    signature: int hash_data (estream_t fp, gcry_md_hd_t md)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: es_fread
      Src: /src/gnupg/sm/sign.c:75,1
    - Dst: DIM
      Src: /src/gnupg/sm/sign.c:75,1
    - Dst: gcry_md_write
      Src: /src/gnupg/sm/sign.c:79,1
    - Dst: ksba_writer_write_octet_string
      Src: /src/gnupg/sm/sign.c:80,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:83,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:83,1
    - Dst: es_ferror
      Src: /src/gnupg/sm/sign.c:89,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/sign.c:91,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:92,1
    - Dst: strerror
      Src: /src/gnupg/sm/sign.c:92,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:101,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:102,1
    - Dst: ksba_writer_write_octet_string
      Src: /src/gnupg/sm/sign.c:106,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:109,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - fp
    - md
    - writer
    argTypes:
    - estream_t
    - gcry_md_hd_t
    - ksba_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 115
    functionName: hash_and_copy_data
    functionSourceFile: /src/gnupg/sm/sign.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - log_error
    - gpg_error_from_syserror
    - DIM
    - es_fread
    - gpg_error
    - gpg_strerror
    - es_ferror
    - strerror
    - ksba_writer_write_octet_string
    linkageType: ''
    returnType: int
    signature: int hash_and_copy_data (estream_t fp, gcry_md_hd_t md, ksba_writer_t
      writer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: keydb_new
      Src: /src/gnupg/sm/sign.c:129,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:131,1
    - Dst: keydb_search_first
      Src: /src/gnupg/sm/sign.c:132,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/sign.c:135,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/sign.c:141,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:144,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:144,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/sign.c:145,1
    - Dst: gpgsm_cert_use_sign_p
      Src: /src/gnupg/sm/sign.c:149,1
    - Dst: gpgsm_get_keygrip_hexstring
      Src: /src/gnupg/sm/sign.c:151,1
    - Dst: gpgsm_agent_havekey
      Src: /src/gnupg/sm/sign.c:154,1
    - Dst: xfree
      Src: /src/gnupg/sm/sign.c:156,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/sign.c:157,1
    - Dst: xfree
      Src: /src/gnupg/sm/sign.c:161,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/sign.c:165,1
    - Dst: keydb_search_next
      Src: /src/gnupg/sm/sign.c:168,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:170,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:170,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/sign.c:172,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/sign.c:173,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - ctrl
    - r_cert
    argTypes:
    - ctrl_t
    - ksba_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 175
    functionName: gpgsm_get_default_cert
    functionSourceFile: /src/gnupg/sm/sign.c
    functionUses: 0
    functionsReached:
    - keydb_new
    - keydb_search_next
    - keydb_search_first
    - log_error
    - gpgsm_get_keygrip_hexstring
    - gpgsm_agent_havekey
    - gpgsm_cert_use_sign_p
    - gpg_error
    - gpg_strerror
    - keydb_get_cert
    - xfree
    - keydb_release
    - ksba_cert_release
    linkageType: ''
    returnType: int
    signature: int gpgsm_get_default_cert (ctrl_t ctrl, ksba_cert_t *r_cert)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_get_default_cert
      Src: /src/gnupg/sm/sign.c:188,1
    - Dst: log_debug
      Src: /src/gnupg/sm/sign.c:192,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:193,1
    - Dst: classify_user_id
      Src: /src/gnupg/sm/sign.c:199,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:202,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:202,1
    - Dst: keydb_new
      Src: /src/gnupg/sm/sign.c:206,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/sign.c:210,1
    - Dst: log_debug
      Src: /src/gnupg/sm/sign.c:213,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/sign.c:217,1
    - Dst: log_debug
      Src: /src/gnupg/sm/sign.c:220,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/sign.c:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 178
    functionDepth: 4
    functionLinenumber: 178
    functionLinenumberEnd: 226
    functionName: get_default_signer
    functionSourceFile: /src/gnupg/sm/sign.c
    functionUses: 0
    functionsReached:
    - keydb_new
    - log_error
    - gpgsm_get_default_cert
    - keydb_search
    - classify_user_id
    - gpg_strerror
    - keydb_get_cert
    - keydb_release
    - log_debug
    linkageType: ''
    returnType: ksba_cert_t
    signature: ksba_cert_t get_default_signer (ctrl_t ctrl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_ref
      Src: /src/gnupg/sm/sign.c:240,1
    - Dst: gpgsm_is_root_cert
      Src: /src/gnupg/sm/sign.c:255,1
    - Dst: ksba_cms_add_cert
      Src: /src/gnupg/sm/sign.c:258,1
    - Dst: gpgsm_walk_cert_chain
      Src: /src/gnupg/sm/sign.c:267,1
    - Dst: gpgsm_is_root_cert
      Src: /src/gnupg/sm/sign.c:269,1
    - Dst: ksba_cms_add_cert
      Src: /src/gnupg/sm/sign.c:272,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/sign.c:273,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/sign.c:278,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/sign.c:280,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/sign.c:283,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:284,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:284,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - ctrl
    - cms
    - cert
    argTypes:
    - ctrl_t
    - ksba_cms_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 286
    functionName: add_certificate_list
    functionSourceFile: /src/gnupg/sm/sign.c
    functionUses: 0
    functionsReached:
    - gpgsm_is_root_cert
    - log_error
    - ksba_cert_ref
    - gpg_err_code
    - ksba_cms_add_cert
    - gpg_strerror
    - gpgsm_walk_cert_chain
    - ksba_cert_release
    linkageType: ''
    returnType: int
    signature: int add_certificate_list (ctrl_t ctrl, ksba_cms_t cms, ksba_cert_t
      cert)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ksba_der_builder_new
      Src: /src/gnupg/sm/sign.c:305,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/sign.c:308,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:309,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:309,1
    - Dst: strcmp
      Src: /src/gnupg/sm/sign.c:314,1
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/sign.c:317,1
    - Dst: ksba_der_add_tag
      Src: /src/gnupg/sm/sign.c:319,1
    - Dst: ksba_der_add_tag
      Src: /src/gnupg/sm/sign.c:320,1
    - Dst: ksba_der_add_tag
      Src: /src/gnupg/sm/sign.c:321,1
    - Dst: ksba_der_add_ptr
      Src: /src/gnupg/sm/sign.c:322,1
    - Dst: ksba_der_add_end
      Src: /src/gnupg/sm/sign.c:324,1
    - Dst: ksba_der_add_end
      Src: /src/gnupg/sm/sign.c:325,1
    - Dst: ksba_der_add_end
      Src: /src/gnupg/sm/sign.c:326,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:330,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:331,1
    - Dst: ksba_der_builder_get
      Src: /src/gnupg/sm/sign.c:335,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:338,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:339,1
    - Dst: ksba_cms_add_attribute
      Src: /src/gnupg/sm/sign.c:345,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:348,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:352,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:353,1
    - Dst: xfree
      Src: /src/gnupg/sm/sign.c:358,1
    - Dst: ksba_der_release
      Src: /src/gnupg/sm/sign.c:359,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 4
    argNames:
    - cms
    - cert
    - signer
    - attrname
    argTypes:
    - ksba_cms_t
    - ksba_cert_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 361
    functionName: add_system_attribute
    functionSourceFile: /src/gnupg/sm/sign.c
    functionUses: 0
    functionsReached:
    - ksba_der_add_tag
    - ksba_der_add_end
    - log_error
    - gpg_error_from_syserror
    - ksba_der_builder_get
    - ksba_der_release
    - strcmp
    - gpg_error
    - gpg_strerror
    - ksba_der_add_ptr
    - xfree
    - ksba_der_builder_new
    - gpgsm_get_fingerprint
    - ksba_cms_add_attribute
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t add_system_attribute (ksba_cms_t cms, ksba_cert_t cert,
      int signer,\n                      const char *attrname)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: add_system_attribute
      Src: /src/gnupg/sm/sign.c:381,1
    - Dst: strtokenize
      Src: /src/gnupg/sm/sign.c:388,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/sign.c:391,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:392,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:392,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:400,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:401,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/sm/sign.c:407,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/sm/sign.c:409,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:411,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:412,1
    - Dst: ksba_oid_from_str
      Src: /src/gnupg/sm/sign.c:418,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:421,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:422,1
    - Dst: xfree
      Src: /src/gnupg/sm/sign.c:425,1
    - Dst: strchr
      Src: /src/gnupg/sm/sign.c:428,1
    - Dst: hexdigitp
      Src: /src/gnupg/sm/sign.c:434,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:438,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:440,1
    - Dst: xtrystrdup
      Src: /src/gnupg/sm/sign.c:443,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/sign.c:446,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:447,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:447,1
    - Dst: xtoi_2
      Src: /src/gnupg/sm/sign.c:451,1
    - Dst: ksba_cms_add_attribute
      Src: /src/gnupg/sm/sign.c:456,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:459,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:463,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:464,1
    - Dst: xfree
      Src: /src/gnupg/sm/sign.c:469,1
    - Dst: xfree
      Src: /src/gnupg/sm/sign.c:470,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 4
    argNames:
    - cms
    - cert
    - signer
    - attrstr
    argTypes:
    - ksba_cms_t
    - ksba_cert_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 472
    functionName: add_attribute
    functionSourceFile: /src/gnupg/sm/sign.c
    functionUses: 2
    functionsReached:
    - hexdigitp
    - log_error
    - gpg_error_from_syserror
    - add_system_attribute
    - strtokenize
    - ksba_oid_from_str
    - gpg_error
    - strchr
    - gpg_strerror
    - ascii_strcasecmp
    - xfree
    - xtrystrdup
    - xtoi_2
    - ksba_cms_add_attribute
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t add_attribute (ksba_cms_t cms, ksba_cert_t cert, int signer,\n
      \              const char *attrstr)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/sign.c:523,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:526,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/sign.c:528,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:531,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:533,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/sign.c:539,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:542,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/sign.c:544,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:547,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/sign.c:549,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:552,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:554,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/sign.c:561,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:564,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:566,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/sign.c:571,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:574,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/sign.c:576,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:579,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:581,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/sign.c:587,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:590,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/sign.c:596,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:601,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/sign.c:606,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:618,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:620,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/sign.c:629,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:633,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:636,1
    - Dst: ksba_der_builder_new
      Src: /src/gnupg/sm/sign.c:641,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/sign.c:644,1
    - Dst: ksba_der_add_tag
      Src: /src/gnupg/sm/sign.c:647,1
    - Dst: ksba_der_add_val
      Src: /src/gnupg/sm/sign.c:648,1
    - Dst: ksba_der_add_tag
      Src: /src/gnupg/sm/sign.c:649,1
    - Dst: ksba_der_add_tag
      Src: /src/gnupg/sm/sign.c:650,1
    - Dst: ksba_der_add_val
      Src: /src/gnupg/sm/sign.c:651,1
    - Dst: ksba_der_add_der
      Src: /src/gnupg/sm/sign.c:652,1
    - Dst: ksba_der_add_tag
      Src: /src/gnupg/sm/sign.c:653,1
    - Dst: ksba_der_add_val
      Src: /src/gnupg/sm/sign.c:654,1
    - Dst: ksba_der_add_end
      Src: /src/gnupg/sm/sign.c:655,1
    - Dst: ksba_der_add_tag
      Src: /src/gnupg/sm/sign.c:658,1
    - Dst: ksba_der_add_der
      Src: /src/gnupg/sm/sign.c:659,1
    - Dst: ksba_der_add_end
      Src: /src/gnupg/sm/sign.c:660,1
    - Dst: ksba_der_add_tag
      Src: /src/gnupg/sm/sign.c:662,1
    - Dst: ksba_der_add_der
      Src: /src/gnupg/sm/sign.c:663,1
    - Dst: ksba_der_add_end
      Src: /src/gnupg/sm/sign.c:664,1
    - Dst: ksba_der_add_end
      Src: /src/gnupg/sm/sign.c:665,1
    - Dst: ksba_der_add_end
      Src: /src/gnupg/sm/sign.c:666,1
    - Dst: ksba_der_add_end
      Src: /src/gnupg/sm/sign.c:667,1
    - Dst: ksba_der_builder_get
      Src: /src/gnupg/sm/sign.c:669,1
    - Dst: es_fwrite
      Src: /src/gnupg/sm/sign.c:673,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/sign.c:675,1
    - Dst: ksba_der_release
      Src: /src/gnupg/sm/sign.c:681,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/sign.c:682,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 135
    argCount: 4
    argNames:
    - ctrl
    - blob
    - bloblen
    - out_fp
    argTypes:
    - ctrl_t
    - void*
    - size_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 684
    functionName: write_detached_signature
    functionSourceFile: /src/gnupg/sm/sign.c
    functionUses: 0
    functionsReached:
    - parse_ber_header
    - ksba_der_add_tag
    - ksba_free
    - ksba_der_add_end
    - gpg_error_from_syserror
    - ksba_der_add_der
    - ksba_der_builder_get
    - ksba_der_release
    - gpg_error
    - ksba_der_add_val
    - es_fwrite
    - ksba_der_builder_new
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t write_detached_signature (ctrl_t ctrl, const void *blob,
      size_t bloblen,\n                          estream_t out_fp)"
  - BBCount: 78
    BranchProfiles: []
    Callsites:
    - Dst: audit_set_type
      Src: /src/gnupg/sm/sign.c:716,1
    - Dst: keydb_new
      Src: /src/gnupg/sm/sign.c:718,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:721,1
    - Dst: _
      Src: /src/gnupg/sm/sign.c:721,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:722,1
    - Dst: gnupg_rng_is_compliant
      Src: /src/gnupg/sm/sign.c:726,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:728,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:729,1
    - Dst: _
      Src: /src/gnupg/sm/sign.c:729,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/sm/sign.c:731,1
    - Dst: gpgsm_status_with_error
      Src: /src/gnupg/sm/sign.c:732,1
    - Dst: es_fopenmem
      Src: /src/gnupg/sm/sign.c:744,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/sign.c:745,1
    - Dst: gnupg_ksba_create_writer
      Src: /src/gnupg/sm/sign.c:747,1
    - Dst: gnupg_ksba_create_writer
      Src: /src/gnupg/sm/sign.c:751,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:758,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:758,1
    - Dst: gnupg_ksba_set_progress_cb
      Src: /src/gnupg/sm/sign.c:762,1
    - Dst: gnupg_ksba_set_total
      Src: /src/gnupg/sm/sign.c:764,1
    - Dst: ksba_cms_new
      Src: /src/gnupg/sm/sign.c:766,1
    - Dst: ksba_cms_set_reader_writer
      Src: /src/gnupg/sm/sign.c:770,1
    - Dst: log_debug
      Src: /src/gnupg/sm/sign.c:773,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:774,1
    - Dst: ksba_cms_set_content_type
      Src: /src/gnupg/sm/sign.c:780,1
    - Dst: ksba_cms_set_content_type
      Src: /src/gnupg/sm/sign.c:782,1
    - Dst: log_debug
      Src: /src/gnupg/sm/sign.c:789,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:790,1
    - Dst: get_default_signer
      Src: /src/gnupg/sm/sign.c:797,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:800,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/sign.c:801,1
    - Dst: get_inv_recpsgnr_code
      Src: /src/gnupg/sm/sign.c:802,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:803,1
    - Dst: gpgsm_cert_use_sign_p
      Src: /src/gnupg/sm/sign.c:809,1
    - Dst: gpgsm_validate_chain
      Src: /src/gnupg/sm/sign.c:811,1
    - Dst: gpgsm_get_fingerprint_hexstring
      Src: /src/gnupg/sm/sign.c:817,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/sign.c:818,1
    - Dst: get_inv_recpsgnr_code
      Src: /src/gnupg/sm/sign.c:819,1
    - Dst: xfree
      Src: /src/gnupg/sm/sign.c:820,1
    - Dst: xtrycalloc
      Src: /src/gnupg/sm/sign.c:825,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/sign.c:828,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/sign.c:829,1
    - Dst: log_info
      Src: /src/gnupg/sm/sign.c:841,1
    - Dst: xfree
      Src: /src/gnupg/sm/sign.c:848,1
    - Dst: gpgsm_get_key_algo_info
      Src: /src/gnupg/sm/sign.c:849,1
    - Dst: ksba_cert_get_digest_algo
      Src: /src/gnupg/sm/sign.c:872,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/sm/sign.c:874,1
    - Dst: log_info
      Src: /src/gnupg/sm/sign.c:889,1
    - Dst: _
      Src: /src/gnupg/sm/sign.c:889,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/sm/sign.c:892,1
    - Dst: gnupg_digest_is_allowed
      Src: /src/gnupg/sm/sign.c:900,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:902,1
    - Dst: _
      Src: /src/gnupg/sm/sign.c:902,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/sm/sign.c:903,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/sm/sign.c:904,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:905,1
    - Dst: gnupg_pk_is_allowed
      Src: /src/gnupg/sm/sign.c:909,1
    - Dst: snprintf
      Src: /src/gnupg/sm/sign.c:914,1
    - Dst: gpgsm_get_short_fingerprint
      Src: /src/gnupg/sm/sign.c:915,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:916,1
    - Dst: _
      Src: /src/gnupg/sm/sign.c:916,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/sm/sign.c:918,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:919,1
    - Dst: log_info
      Src: /src/gnupg/sm/sign.c:928,1
    - Dst: _
      Src: /src/gnupg/sm/sign.c:928,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/sm/sign.c:929,1
    - Dst: gpgsm_cert_use_sign_p
      Src: /src/gnupg/sm/sign.c:936,1
    - Dst: ksba_cms_add_signer
      Src: /src/gnupg/sm/sign.c:940,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:943,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:943,1
    - Dst: add_certificate_list
      Src: /src/gnupg/sm/sign.c:946,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:949,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:950,1
    - Dst: ksba_cms_add_digest_algo
      Src: /src/gnupg/sm/sign.c:954,1
    - Dst: log_debug
      Src: /src/gnupg/sm/sign.c:957,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:958,1
    - Dst: ksba_cert_get_user_data
      Src: /src/gnupg/sm/sign.c:974,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:978,1
    - Dst: _
      Src: /src/gnupg/sm/sign.c:978,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:979,1
    - Dst: gpgsm_qualified_consent
      Src: /src/gnupg/sm/sign.c:987,1
    - Dst: gpgsm_not_qualified_warning
      Src: /src/gnupg/sm/sign.c:990,1
    - Dst: gcry_md_open
      Src: /src/gnupg/sm/sign.c:998,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:1001,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:1001,1
    - Dst: gcry_md_debug
      Src: /src/gnupg/sm/sign.c:1005,1
    - Dst: ksba_cms_get_digest_algo_list
      Src: /src/gnupg/sm/sign.c:1007,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/sm/sign.c:1009,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:1012,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:1013,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/sm/sign.c:1016,1
    - Dst: audit_log_i
      Src: /src/gnupg/sm/sign.c:1017,1
    - Dst: audit_log
      Src: /src/gnupg/sm/sign.c:1020,1
    - Dst: hash_data
      Src: /src/gnupg/sm/sign.c:1029,1
    - Dst: audit_log
      Src: /src/gnupg/sm/sign.c:1030,1
    - Dst: gcry_md_read
      Src: /src/gnupg/sm/sign.c:1033,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/sm/sign.c:1034,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:1037,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:1038,1
    - Dst: ksba_cms_set_message_digest
      Src: /src/gnupg/sm/sign.c:1041,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:1044,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:1045,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/sm/sign.c:1051,1
    - Dst: ksba_cms_set_signing_time
      Src: /src/gnupg/sm/sign.c:1056,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:1059,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:1060,1
    - Dst: add_attribute
      Src: /src/gnupg/sm/sign.c:1065,1
    - Dst: ksba_cms_add_smime_capability
      Src: /src/gnupg/sm/sign.c:1079,1
    - Dst: ksba_cms_add_smime_capability
      Src: /src/gnupg/sm/sign.c:1081,1
    - Dst: ksba_cms_add_smime_capability
      Src: /src/gnupg/sm/sign.c:1083,1
    - Dst: ksba_cms_add_smime_capability
      Src: /src/gnupg/sm/sign.c:1085,1
    - Dst: ksba_cms_add_smime_capability
      Src: /src/gnupg/sm/sign.c:1087,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:1090,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:1091,1
    - Dst: ksba_cms_build
      Src: /src/gnupg/sm/sign.c:1099,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:1102,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:1102,1
    - Dst: log_assert
      Src: /src/gnupg/sm/sign.c:1112,1
    - Dst: hash_and_copy_data
      Src: /src/gnupg/sm/sign.c:1114,1
    - Dst: audit_log
      Src: /src/gnupg/sm/sign.c:1117,1
    - Dst: gcry_md_read
      Src: /src/gnupg/sm/sign.c:1120,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/sm/sign.c:1121,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:1124,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:1125,1
    - Dst: ksba_cms_set_message_digest
      Src: /src/gnupg/sm/sign.c:1128,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:1132,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:1133,1
    - Dst: gcry_md_open
      Src: /src/gnupg/sm/sign.c:1143,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:1146,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:1146,1
    - Dst: gcry_md_debug
      Src: /src/gnupg/sm/sign.c:1150,1
    - Dst: ksba_cms_set_hash_function
      Src: /src/gnupg/sm/sign.c:1151,1
    - Dst: audit_log_i
      Src: /src/gnupg/sm/sign.c:1157,1
    - Dst: gcry_md_reset
      Src: /src/gnupg/sm/sign.c:1159,1
    - Dst: gcry_md_enable
      Src: /src/gnupg/sm/sign.c:1165,1
    - Dst: audit_log_i
      Src: /src/gnupg/sm/sign.c:1166,1
    - Dst: ksba_cms_hash_signed_attrs
      Src: /src/gnupg/sm/sign.c:1171,1
    - Dst: log_debug
      Src: /src/gnupg/sm/sign.c:1174,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:1175,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/sign.c:1176,1
    - Dst: gpgsm_create_cms_signature
      Src: /src/gnupg/sm/sign.c:1180,1
    - Dst: audit_log_cert
      Src: /src/gnupg/sm/sign.c:1184,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/sign.c:1185,1
    - Dst: ksba_cms_set_sig_val
      Src: /src/gnupg/sm/sign.c:1189,1
    - Dst: xfree
      Src: /src/gnupg/sm/sign.c:1190,1
    - Dst: audit_log_cert
      Src: /src/gnupg/sm/sign.c:1193,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:1194,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:1195,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/sign.c:1196,1
    - Dst: gpgsm_get_fingerprint_hexstring
      Src: /src/gnupg/sm/sign.c:1201,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/sign.c:1204,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/sign.c:1205,1
    - Dst: gpgsm_pubkey_algo_string
      Src: /src/gnupg/sm/sign.c:1210,1
    - Dst: log_info
      Src: /src/gnupg/sm/sign.c:1211,1
    - Dst: _
      Src: /src/gnupg/sm/sign.c:1211,1
    - Dst: pubkey_algo_to_string
      Src: /src/gnupg/sm/sign.c:1212,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/sm/sign.c:1213,1
    - Dst: xfree
      Src: /src/gnupg/sm/sign.c:1215,1
    - Dst: xtryasprintf
      Src: /src/gnupg/sm/sign.c:1217,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/sign.c:1224,1
    - Dst: xfree
      Src: /src/gnupg/sm/sign.c:1225,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/sign.c:1228,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/sign.c:1231,1
    - Dst: xfree
      Src: /src/gnupg/sm/sign.c:1232,1
    - Dst: audit_log_cert
      Src: /src/gnupg/sm/sign.c:1233,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/sign.c:1235,1
    - Dst: gnupg_ksba_finish_writer
      Src: /src/gnupg/sm/sign.c:1240,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:1243,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:1243,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/sm/sign.c:1252,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/sign.c:1253,1
    - Dst: write_detached_signature
      Src: /src/gnupg/sm/sign.c:1257,1
    - Dst: es_free
      Src: /src/gnupg/sm/sign.c:1258,1
    - Dst: audit_log
      Src: /src/gnupg/sm/sign.c:1264,1
    - Dst: log_info
      Src: /src/gnupg/sm/sign.c:1265,1
    - Dst: log_error
      Src: /src/gnupg/sm/sign.c:1269,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/sign.c:1270,1
    - Dst: gpg_strsource
      Src: /src/gnupg/sm/sign.c:1270,1
    - Dst: gpgsm_release_certlist
      Src: /src/gnupg/sm/sign.c:1272,1
    - Dst: xfree
      Src: /src/gnupg/sm/sign.c:1273,1
    - Dst: ksba_cms_release
      Src: /src/gnupg/sm/sign.c:1274,1
    - Dst: gnupg_ksba_destroy_writer
      Src: /src/gnupg/sm/sign.c:1275,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/sign.c:1276,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/sign.c:1277,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/sign.c:1278,1
    CyclomaticComplexity: 132
    EdgeCount: 132
    ICount: 389
    argCount: 5
    argNames:
    - ctrl
    - signerlist
    - data_fp
    - detached
    - out_fp
    argTypes:
    - ctrl_t
    - certlist_t
    - estream_t
    - int
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 694
    functionDepth: 6
    functionLinenumber: 694
    functionLinenumberEnd: 1280
    functionName: gpgsm_sign
    functionSourceFile: /src/gnupg/sm/sign.c
    functionUses: 1
    functionsReached:
    - gpgsm_get_key_algo_info
    - add_attribute
    - gpgsm_qualified_consent
    - audit_log_cert
    - gpgsm_status_with_error
    - gcry_md_close
    - gpgsm_validate_chain
    - gpgsm_get_fingerprint_hexstring
    - ksba_cms_set_signing_time
    - ksba_cert_release
    - gcry_md_open
    - ksba_cms_set_reader_writer
    - ksba_cms_build
    - ksba_cert_get_digest_algo
    - xfree
    - gcry_md_enable
    - ksba_cms_set_hash_function
    - ksba_cms_set_sig_val
    - gpgsm_status2
    - gpgsm_status
    - ksba_cms_add_smime_capability
    - ksba_cms_set_content_type
    - ksba_cms_hash_signed_attrs
    - gnupg_digest_is_allowed
    - keydb_new
    - es_fopenmem
    - gpgsm_release_certlist
    - log_error
    - es_free
    - gcry_md_read
    - gnupg_pk_is_allowed
    - gnupg_compliance_option_string
    - get_inv_recpsgnr_code
    - ksba_cms_new
    - audit_set_type
    - gpg_strsource
    - gnupg_rng_is_compliant
    - gcry_md_get_algo_dlen
    - keydb_release
    - gnupg_ksba_create_writer
    - gpgsm_create_cms_signature
    - gnupg_ksba_destroy_writer
    - log_assert
    - audit_log_i
    - audit_log
    - ksba_cms_add_digest_algo
    - pubkey_algo_to_string
    - ksba_cms_get_digest_algo_list
    - ksba_cms_add_signer
    - gcry_md_debug
    - gpgsm_pubkey_algo_string
    - gpg_error_from_syserror
    - xtrycalloc
    - ksba_cms_release
    - ksba_cms_set_message_digest
    - write_detached_signature
    - get_default_signer
    - gnupg_ksba_set_total
    - gnupg_ksba_set_progress_cb
    - hash_data
    - gnupg_ksba_finish_writer
    - xtryasprintf
    - add_certificate_list
    - gcry_md_algo_name
    - gcry_md_reset
    - _
    - gpgsm_cert_use_sign_p
    - log_info
    - ksba_cert_get_user_data
    - log_debug
    - gpgsm_get_short_fingerprint
    - gpg_error
    - gnupg_get_isotime
    - gpg_strerror
    - gcry_md_map_name
    - gpgsm_not_qualified_warning
    - es_fclose_snatch
    - snprintf
    - es_fclose
    - hash_and_copy_data
    linkageType: ''
    returnType: int
    signature: "int gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,\n            estream_t
      data_fp, int detached, estream_t out_fp)"
  - 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: DIM
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 186
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(v)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - verbose
    - debug
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: p12_set_verbosity
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void p12_set_verbosity (int verbose, int debug)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/sm/minip12.c:196,1
    - Dst: snprintf
      Src: /src/gnupg/sm/minip12.c:198,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:199,1
    - Dst: fopen
      Src: /src/gnupg/sm/minip12.c:200,1
    - Dst: fwrite
      Src: /src/gnupg/sm/minip12.c:201,1
    - Dst: log_assert
      Src: /src/gnupg/sm/minip12.c:202,1
    - Dst: fclose
      Src: /src/gnupg/sm/minip12.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - s
    - n
    - name
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 205
    functionName: dump_to_file
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 3
    functionsReached:
    - fwrite
    - log_assert
    - snprintf
    - getenv
    - fclose
    - fopen
    - log_debug
    linkageType: ''
    returnType: void
    signature: void dump_to_file (const void *s, size_t n, const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:213,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:214,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:216,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:217,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:219,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:220,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:222,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:223,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:225,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:226,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - oid
    - oidlen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 231
    functionName: digest_algo_from_oid
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - DIM
    - memcmp
    linkageType: ''
    returnType: int
    signature: int digest_algo_from_oid (unsigned char const *oid, size_t oidlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ksba_oid_from_str
      Src: /src/gnupg/sm/minip12.c:245,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:248,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:249,1
    - Dst: tlv_builder_add_val
      Src: /src/gnupg/sm/minip12.c:253,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/minip12.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - tb
    - class
    - oid
    argTypes:
    - tlv_builder_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 256
    functionName: builder_add_oid
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - ksba_free
    - log_error
    - ksba_oid_from_str
    - gpg_strerror
    - tlv_builder_add_val
    linkageType: ''
    returnType: int
    signature: int builder_add_oid (tlv_builder_t tb, int class, const char *oid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/sm/minip12.c:277,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/sm/minip12.c:279,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/sm/minip12.c:284,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:287,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:288,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/sm/minip12.c:297,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/minip12.c:300,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:301,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:302,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:307,1
    - Dst: tlv_builder_add_val
      Src: /src/gnupg/sm/minip12.c:316,1
    - Dst: xfree
      Src: /src/gnupg/sm/minip12.c:320,1
    - Dst: xfree
      Src: /src/gnupg/sm/minip12.c:321,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 5
    argNames:
    - tb
    - class
    - tag
    - mpi
    - strip
    argTypes:
    - tlv_builder_t
    - int
    - int
    - gcry_mpi_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 323
    functionName: builder_add_mpi
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - log_error
    - gpg_error_from_syserror
    - xtrymalloc_secure
    - gcry_mpi_aprint
    - gpg_strerror
    - xfree
    - gcry_mpi_get_opaque
    - tlv_builder_add_val
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int builder_add_mpi (tlv_builder_t tb, int class, int tag, gcry_mpi_t
      mpi,\n                 int strip)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/sm/minip12.c:339,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:342,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:348,1
    - Dst: gcry_md_open
      Src: /src/gnupg/sm/minip12.c:366,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:369,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:369,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/sm/minip12.c:373,1
    - Dst: gcry_md_write
      Src: /src/gnupg/sm/minip12.c:374,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:375,1
    - Dst: gcry_md_read
      Src: /src/gnupg/sm/minip12.c:375,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/minip12.c:376,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/sm/minip12.c:378,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/minip12.c:384,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/sm/minip12.c:391,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:394,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:394,1
    - Dst: gcry_mpi_add_ui
      Src: /src/gnupg/sm/minip12.c:397,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/sm/minip12.c:402,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:405,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:406,1
    - Dst: gcry_mpi_add
      Src: /src/gnupg/sm/minip12.c:409,1
    - Dst: gcry_mpi_clear_highbit
      Src: /src/gnupg/sm/minip12.c:410,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/sm/minip12.c:411,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:414,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:415,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/minip12.c:418,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 7
    argNames:
    - id
    - salt
    - saltlen
    - iter
    - pw
    - req_keylen
    - keybuf
    argTypes:
    - int
    - char*
    - size_t
    - int
    - char*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 421
    functionName: string_to_key
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_mpi_add
    - gcry_md_open
    - log_error
    - strlen
    - gcry_md_hash_buffer
    - gcry_md_putc
    - gcry_mpi_print
    - gpg_strerror
    - gcry_mpi_clear_highbit
    - gcry_md_close
    - gcry_mpi_add_ui
    - gcry_md_read
    - memcpy
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: int
    signature: "int string_to_key (int id, char *salt, size_t saltlen, int iter, const
      char *pw,\n               int req_keylen, unsigned char *keybuf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/sm/minip12.c:431,1
    - Dst: string_to_key
      Src: /src/gnupg/sm/minip12.c:432,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/sm/minip12.c:434,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:437,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:437,1
    - Dst: string_to_key
      Src: /src/gnupg/sm/minip12.c:441,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/sm/minip12.c:443,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:446,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 6
    argNames:
    - chd
    - salt
    - saltlen
    - iter
    - pw
    - keybytes
    argTypes:
    - gcry_cipher_hd_t
    - char*
    - size_t
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 450
    functionName: set_key_iv
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - string_to_key
    - gcry_cipher_setkey
    - log_error
    - log_assert
    - gcry_cipher_setiv
    - gpg_strerror
    linkageType: ''
    returnType: int
    signature: "int set_key_iv (gcry_cipher_hd_t chd, char *salt, size_t saltlen,
      int iter,\n            const char *pw, int keybytes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/gnupg/sm/minip12.c:462,1
    - Dst: gcry_malloc_secure
      Src: /src/gnupg/sm/minip12.c:465,1
    - Dst: gcry_kdf_derive
      Src: /src/gnupg/sm/minip12.c:469,1
    - Dst: strlen
      Src: /src/gnupg/sm/minip12.c:469,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:474,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:474,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:475,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/sm/minip12.c:479,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:480,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:483,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:483,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/sm/minip12.c:488,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:491,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:491,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 9
    argNames:
    - chd
    - salt
    - saltlen
    - iter
    - iv
    - ivlen
    - pw
    - cipher_algo
    - digest_algo
    argTypes:
    - gcry_cipher_hd_t
    - char*
    - size_t
    - int
    - void*
    - size_t
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 495
    functionName: set_key_iv_pbes2
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - gcry_kdf_derive
    - gcry_cipher_setkey
    - log_error
    - strlen
    - gcry_cipher_setiv
    - gcry_malloc_secure
    - gpg_strerror
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: int
    signature: "int set_key_iv_pbes2 (gcry_cipher_hd_t chd, char *salt, size_t saltlen,
      int iter,\n                  const void *iv, size_t ivlen, const char *pw,\n
      \                 int cipher_algo, int digest_algo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_open
      Src: /src/gnupg/sm/minip12.c:506,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:509,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:509,1
    - Dst: wipememory
      Src: /src/gnupg/sm/minip12.c:510,1
    - Dst: set_key_iv_pbes2
      Src: /src/gnupg/sm/minip12.c:515,1
    - Dst: set_key_iv
      Src: /src/gnupg/sm/minip12.c:517,1
    - Dst: wipememory
      Src: /src/gnupg/sm/minip12.c:520,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/sm/minip12.c:524,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/sm/minip12.c:525,1
    - Dst: wipememory
      Src: /src/gnupg/sm/minip12.c:529,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:530,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:531,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/sm/minip12.c:536,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 11
    argNames:
    - buffer
    - length
    - salt
    - saltlen
    - iter
    - iv
    - ivlen
    - pw
    - cipher_algo
    - digest_algo
    - encrypt
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - size_t
    - int
    - void*
    - size_t
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 498
    functionDepth: 3
    functionLinenumber: 498
    functionLinenumberEnd: 537
    functionName: crypt_block
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - log_error
    - set_key_iv
    - wipememory
    - gcry_cipher_encrypt
    - gpg_strerror
    - gcry_cipher_close
    - set_key_iv_pbes2
    linkageType: ''
    returnType: void
    signature: "void crypt_block (unsigned char *buffer, size_t length, char *salt,
      size_t saltlen,\n             int iter, const void *iv, size_t ivlen,\n             const
      char *pw, int cipher_algo, int digest_algo, int encrypt)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/sm/minip12.c:595,1
    - Dst: gcry_malloc_secure
      Src: /src/gnupg/sm/minip12.c:596,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:599,1
    - Dst: jnlib_iconv_open
      Src: /src/gnupg/sm/minip12.c:605,1
    - Dst: strlen
      Src: /src/gnupg/sm/minip12.c:610,1
    - Dst: jnlib_iconv
      Src: /src/gnupg/sm/minip12.c:613,1
    - Dst: jnlib_iconv_close
      Src: /src/gnupg/sm/minip12.c:616,1
    - Dst: jnlib_iconv_close
      Src: /src/gnupg/sm/minip12.c:620,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:621,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:624,1
    - Dst: crypt_block
      Src: /src/gnupg/sm/minip12.c:625,1
    - Dst: dump_to_file
      Src: /src/gnupg/sm/minip12.c:627,1
    - Dst: check_fnc
      Src: /src/gnupg/sm/minip12.c:628,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:637,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:644,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:652,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 11
    argNames:
    - ciphertext
    - plaintext
    - length
    - salt
    - saltlen
    - iter
    - iv
    - ivlen
    - pw
    - cipher_algo
    - digest_algo
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - char*
    - size_t
    - int
    - void*
    - size_t
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 549
    functionDepth: 4
    functionLinenumber: 549
    functionLinenumberEnd: 654
    functionName: decrypt_block
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - strlen
    - jnlib_iconv_close
    - crypt_block
    - gcry_malloc_secure
    - jnlib_iconv
    - check_fnc
    - log_info
    - dump_to_file
    - memcpy
    - jnlib_iconv_open
    linkageType: ''
    returnType: size_t
    signature: "size_t decrypt_block (const void *ciphertext, unsigned char *plaintext,
      size_t length,\n               char *salt, size_t saltlen,\n               int
      iter, const void *iv, size_t ivlen,\n               const char *pw, int cipher_algo,
      int digest_algo,\n               int (*check_fnc) (const void *, size_t))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dump_to_file
      Src: /src/gnupg/sm/minip12.c:666,1
    - Dst: tlv_parse_tag
      Src: /src/gnupg/sm/minip12.c:668,1
    - Dst: tlv_parse_tag
      Src: /src/gnupg/sm/minip12.c:672,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - plaintext
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 676
    functionName: bag_decrypted_data_p
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - tlv_parse_tag
    - dump_to_file
    linkageType: ''
    returnType: int
    signature: int bag_decrypted_data_p (const void *plaintext, size_t length)
  - BBCount: 129
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:706,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:708,1
    - Dst: tlv_expect_context_tag
      Src: /src/gnupg/sm/minip12.c:710,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:713,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:715,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:719,1
    - Dst: tlv_expect_integer
      Src: /src/gnupg/sm/minip12.c:721,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:725,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:729,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:731,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:735,1
    - Dst: tlv_expect_object_id
      Src: /src/gnupg/sm/minip12.c:737,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:739,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:739,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:739,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:743,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:745,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:748,1
    - Dst: tlv_expect_object_id
      Src: /src/gnupg/sm/minip12.c:750,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:752,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:753,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:754,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:756,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:757,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:758,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:760,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:761,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:765,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:775,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:777,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:780,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:782,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:785,1
    - Dst: tlv_expect_object_id
      Src: /src/gnupg/sm/minip12.c:787,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:789,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:790,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:792,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:796,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:798,1
    - Dst: tlv_parser_tag_length
      Src: /src/gnupg/sm/minip12.c:800,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:802,1
    - Dst: tlv_expect_octet_string
      Src: /src/gnupg/sm/minip12.c:804,1
    - Dst: tlv_parser_tag_length
      Src: /src/gnupg/sm/minip12.c:806,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:809,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:810,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:814,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:816,1
    - Dst: tlv_expect_integer
      Src: /src/gnupg/sm/minip12.c:818,1
    - Dst: tlv_parser_tag_length
      Src: /src/gnupg/sm/minip12.c:820,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:823,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:829,1
    - Dst: tlv_expect_integer
      Src: /src/gnupg/sm/minip12.c:831,1
    - Dst: tlv_parser_tag_length
      Src: /src/gnupg/sm/minip12.c:832,1
    - Dst: tlv_parser_set_pending
      Src: /src/gnupg/sm/minip12.c:834,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:838,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:840,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:842,1
    - Dst: tlv_expect_object_id
      Src: /src/gnupg/sm/minip12.c:844,1
    - Dst: digest_algo_from_oid
      Src: /src/gnupg/sm/minip12.c:846,1
    - Dst: gpgrt_log_printhex
      Src: /src/gnupg/sm/minip12.c:849,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:850,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:854,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:857,1
    - Dst: tlv_expect_null
      Src: /src/gnupg/sm/minip12.c:859,1
    - Dst: tlv_parser_set_pending
      Src: /src/gnupg/sm/minip12.c:862,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:867,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:869,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:872,1
    - Dst: tlv_expect_object_id
      Src: /src/gnupg/sm/minip12.c:874,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:877,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:878,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:880,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:881,1
    - Dst: gpgrt_log_printhex
      Src: /src/gnupg/sm/minip12.c:885,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:886,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:890,1
    - Dst: tlv_expect_octet_string
      Src: /src/gnupg/sm/minip12.c:892,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:896,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:899,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:904,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:906,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:909,1
    - Dst: tlv_expect_octet_string
      Src: /src/gnupg/sm/minip12.c:911,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:915,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:916,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:920,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:922,1
    - Dst: tlv_expect_integer
      Src: /src/gnupg/sm/minip12.c:924,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:928,1
    - Dst: tlv_next_with_flag
      Src: /src/gnupg/sm/minip12.c:935,1
    - Dst: tlv_expect_object
      Src: /src/gnupg/sm/minip12.c:938,1
    - Dst: dump_to_file
      Src: /src/gnupg/sm/minip12.c:940,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:943,1
    - Dst: gcry_malloc_secure
      Src: /src/gnupg/sm/minip12.c:946,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/minip12.c:949,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:950,1
    - Dst: decrypt_block
      Src: /src/gnupg/sm/minip12.c:953,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:961,1
    - Dst: tlv_parser_new
      Src: /src/gnupg/sm/minip12.c:968,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/minip12.c:971,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:977,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:982,1
    - Dst: tlv_parser_level
      Src: /src/gnupg/sm/minip12.c:990,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:991,1
    - Dst: tlv_parser_level
      Src: /src/gnupg/sm/minip12.c:991,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:998,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1002,1
    - Dst: tlv_expect_object_id
      Src: /src/gnupg/sm/minip12.c:1004,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1006,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:1007,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1007,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1009,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:1010,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1010,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1012,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:1013,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1013,1
    - Dst: gpgrt_log_printhex
      Src: /src/gnupg/sm/minip12.c:1022,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1023,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1028,1
    - Dst: tlv_expect_context_tag
      Src: /src/gnupg/sm/minip12.c:1030,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:1035,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:1039,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:1044,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1046,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:1048,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1051,1
    - Dst: tlv_expect_integer
      Src: /src/gnupg/sm/minip12.c:1053,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1057,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1061,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:1063,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1066,1
    - Dst: tlv_expect_object_id
      Src: /src/gnupg/sm/minip12.c:1068,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1070,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:1071,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1073,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1078,1
    - Dst: tlv_expect_octet_string
      Src: /src/gnupg/sm/minip12.c:1080,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1083,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:1085,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1090,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:1091,1
    - Dst: gcry_calloc
      Src: /src/gnupg/sm/minip12.c:1094,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/minip12.c:1097,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:1098,1
    - Dst: tlv_parser_level
      Src: /src/gnupg/sm/minip12.c:1104,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1105,1
    - Dst: tlv_parser_level
      Src: /src/gnupg/sm/minip12.c:1105,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1109,1
    - Dst: tlv_expect_mpinteger
      Src: /src/gnupg/sm/minip12.c:1113,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/minip12.c:1115,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:1119,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:1120,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:1124,1
    - Dst: tlv_parser_set_pending
      Src: /src/gnupg/sm/minip12.c:1128,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/minip12.c:1129,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:1136,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1138,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:1140,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1143,1
    - Dst: tlv_expect_object_id
      Src: /src/gnupg/sm/minip12.c:1145,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1147,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:1148,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1149,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1151,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1156,1
    - Dst: tlv_expect_context_tag
      Src: /src/gnupg/sm/minip12.c:1158,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1162,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1166,1
    - Dst: tlv_expect_octet_string
      Src: /src/gnupg/sm/minip12.c:1168,1
    - Dst: struct p12_parse_ctx_s*::certcb
      Src: /src/gnupg/sm/minip12.c:1173,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1178,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/minip12.c:1179,1
    - Dst: tlv_expect_set
      Src: /src/gnupg/sm/minip12.c:1183,1
    - Dst: tlv_parser_skip
      Src: /src/gnupg/sm/minip12.c:1185,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:1187,1
    - Dst: tlv_parser_set_pending
      Src: /src/gnupg/sm/minip12.c:1190,1
    - Dst: tlv_parser_set_pending
      Src: /src/gnupg/sm/minip12.c:1193,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/minip12.c:1194,1
    - Dst: tlv_parser_release
      Src: /src/gnupg/sm/minip12.c:1204,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:1205,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:1211,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1217,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:1218,1
    - Dst: tlv_parser_level
      Src: /src/gnupg/sm/minip12.c:1220,1
    - Dst: tlv_parser_lastfunc
      Src: /src/gnupg/sm/minip12.c:1221,1
    - Dst: tlv_parser_lasterrstr
      Src: /src/gnupg/sm/minip12.c:1222,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:1223,1
    CyclomaticComplexity: 253
    EdgeCount: 253
    ICount: 483
    argCount: 2
    argNames:
    - ctx
    - tlv
    argTypes:
    - struct p12_parse_ctx_s*
    - tlv_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 679
    functionDepth: 4
    functionLinenumber: 679
    functionLinenumberEnd: 1225
    functionName: parse_bag_encrypted_data
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - tlv_expect_null
    - tlv_expect_mpinteger
    - gcry_calloc
    - decrypt_block
    - tlv_parser_skip
    - tlv_parser_lasterrstr
    - gpgrt_log_printhex
    - tlv_parser_lastfunc
    - tlv_parser_release
    - memcpy
    - tlv_parser_level
    - tlv_parser_tag_length
    - log_error
    - DIM
    - digest_algo_from_oid
    - log_info
    - dump_to_file
    - log_debug
    - tlv_expect_context_tag
    - gpg_error_from_syserror
    - tlv_expect_set
    - gcry_malloc_secure
    - tlv_expect_integer
    - gpg_error
    - gpg_strerror
    - tlv_parser_set_pending
    - tlv_next_with_flag
    - tlv_expect_object
    - gcry_free
    - tlv_expect_octet_string
    - tlv_expect_sequence
    - struct p12_parse_ctx_s*::certcb
    - tlv_parser_new
    - memcmp
    - tlv_next
    - gpg_err_code
    - tlv_expect_object_id
    linkageType: ''
    returnType: int
    signature: int parse_bag_encrypted_data (struct p12_parse_ctx_s *ctx, tlv_parser_t
      tlv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dump_to_file
      Src: /src/gnupg/sm/minip12.c:1237,1
    - Dst: tlv_parse_tag
      Src: /src/gnupg/sm/minip12.c:1239,1
    - Dst: tlv_parse_tag
      Src: /src/gnupg/sm/minip12.c:1241,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - plaintext
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1246
    functionName: bag_data_p
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - tlv_parse_tag
    - dump_to_file
    linkageType: ''
    returnType: int
    signature: int bag_data_p (const void *plaintext, size_t length)
  - BBCount: 112
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:1273,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1275,1
    - Dst: tlv_expect_context_tag
      Src: /src/gnupg/sm/minip12.c:1277,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1280,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:1282,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1286,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:1288,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1291,1
    - Dst: tlv_expect_object_id
      Src: /src/gnupg/sm/minip12.c:1293,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1296,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:1297,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1298,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1300,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:1301,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1301,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1305,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1314,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:1316,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1319,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:1321,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1324,1
    - Dst: tlv_expect_object_id
      Src: /src/gnupg/sm/minip12.c:1326,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1328,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:1329,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1332,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:1334,1
    - Dst: tlv_parser_tag_length
      Src: /src/gnupg/sm/minip12.c:1336,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1338,1
    - Dst: tlv_expect_octet_string
      Src: /src/gnupg/sm/minip12.c:1340,1
    - Dst: tlv_parser_tag_length
      Src: /src/gnupg/sm/minip12.c:1342,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:1345,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1346,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:1350,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1352,1
    - Dst: tlv_expect_integer
      Src: /src/gnupg/sm/minip12.c:1354,1
    - Dst: tlv_parser_tag_length
      Src: /src/gnupg/sm/minip12.c:1356,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1359,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1365,1
    - Dst: tlv_expect_integer
      Src: /src/gnupg/sm/minip12.c:1367,1
    - Dst: tlv_parser_tag_length
      Src: /src/gnupg/sm/minip12.c:1368,1
    - Dst: tlv_parser_set_pending
      Src: /src/gnupg/sm/minip12.c:1370,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1374,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:1376,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1378,1
    - Dst: tlv_expect_object_id
      Src: /src/gnupg/sm/minip12.c:1380,1
    - Dst: digest_algo_from_oid
      Src: /src/gnupg/sm/minip12.c:1382,1
    - Dst: gpgrt_log_printhex
      Src: /src/gnupg/sm/minip12.c:1385,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1386,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:1390,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1393,1
    - Dst: tlv_expect_null
      Src: /src/gnupg/sm/minip12.c:1395,1
    - Dst: tlv_parser_set_pending
      Src: /src/gnupg/sm/minip12.c:1398,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1403,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:1405,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1408,1
    - Dst: tlv_expect_object_id
      Src: /src/gnupg/sm/minip12.c:1410,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1412,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:1413,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1415,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:1416,1
    - Dst: gpgrt_log_printhex
      Src: /src/gnupg/sm/minip12.c:1420,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1421,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1425,1
    - Dst: tlv_expect_octet_string
      Src: /src/gnupg/sm/minip12.c:1427,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:1431,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1436,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:1438,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1441,1
    - Dst: tlv_expect_octet_string
      Src: /src/gnupg/sm/minip12.c:1443,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/minip12.c:1446,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:1450,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1451,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:1455,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1457,1
    - Dst: tlv_expect_integer
      Src: /src/gnupg/sm/minip12.c:1459,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1463,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1470,1
    - Dst: tlv_expect_octet_string
      Src: /src/gnupg/sm/minip12.c:1472,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:1476,1
    - Dst: gcry_malloc_secure
      Src: /src/gnupg/sm/minip12.c:1479,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/minip12.c:1483,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:1484,1
    - Dst: decrypt_block
      Src: /src/gnupg/sm/minip12.c:1487,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1495,1
    - Dst: tlv_parser_new
      Src: /src/gnupg/sm/minip12.c:1502,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/minip12.c:1505,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:1511,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1513,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:1518,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1524,1
    - Dst: tlv_expect_integer
      Src: /src/gnupg/sm/minip12.c:1529,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1537,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1541,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:1543,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1546,1
    - Dst: tlv_expect_object_id
      Src: /src/gnupg/sm/minip12.c:1548,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1550,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:1551,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:1554,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1557,1
    - Dst: tlv_expect_null
      Src: /src/gnupg/sm/minip12.c:1559,1
    - Dst: tlv_parser_set_pending
      Src: /src/gnupg/sm/minip12.c:1562,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1564,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:1565,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1568,1
    - Dst: tlv_expect_object_id
      Src: /src/gnupg/sm/minip12.c:1570,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/minip12.c:1572,1
    - Dst: ksba_oid_to_str
      Src: /src/gnupg/sm/minip12.c:1573,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1576,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:1580,1
    - Dst: gpgrt_log_printhex
      Src: /src/gnupg/sm/minip12.c:1584,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1585,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1590,1
    - Dst: tlv_expect_octet_string
      Src: /src/gnupg/sm/minip12.c:1592,1
    - Dst: tlv_parser_new
      Src: /src/gnupg/sm/minip12.c:1595,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/minip12.c:1598,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:1605,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1607,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:1609,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1614,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:1615,1
    - Dst: gcry_calloc
      Src: /src/gnupg/sm/minip12.c:1618,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/minip12.c:1621,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:1622,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:1627,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1636,1
    - Dst: tlv_expect_integer
      Src: /src/gnupg/sm/minip12.c:1638,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1642,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:1643,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1648,1
    - Dst: tlv_expect_octet_string
      Src: /src/gnupg/sm/minip12.c:1650,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/minip12.c:1653,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/sm/minip12.c:1654,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:1658,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:1658,1
    - Dst: tlv_parser_level
      Src: /src/gnupg/sm/minip12.c:1666,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1668,1
    - Dst: tlv_parser_level
      Src: /src/gnupg/sm/minip12.c:1668,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1672,1
    - Dst: tlv_expect_mpinteger
      Src: /src/gnupg/sm/minip12.c:1676,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/minip12.c:1678,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:1682,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:1683,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:1689,1
    - Dst: tlv_parser_set_pending
      Src: /src/gnupg/sm/minip12.c:1695,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/minip12.c:1696,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:1702,1
    - Dst: tlv_parser_release
      Src: /src/gnupg/sm/minip12.c:1703,1
    - Dst: log_assert
      Src: /src/gnupg/sm/minip12.c:1704,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1709,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/minip12.c:1710,1
    - Dst: tlv_expect_set
      Src: /src/gnupg/sm/minip12.c:1714,1
    - Dst: tlv_parser_skip
      Src: /src/gnupg/sm/minip12.c:1716,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:1718,1
    - Dst: tlv_parser_set_pending
      Src: /src/gnupg/sm/minip12.c:1721,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:1725,1
    - Dst: tlv_parser_release
      Src: /src/gnupg/sm/minip12.c:1728,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:1731,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1737,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:1738,1
    - Dst: tlv_parser_level
      Src: /src/gnupg/sm/minip12.c:1740,1
    - Dst: tlv_parser_lastfunc
      Src: /src/gnupg/sm/minip12.c:1741,1
    - Dst: tlv_parser_lasterrstr
      Src: /src/gnupg/sm/minip12.c:1742,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:1743,1
    CyclomaticComplexity: 211
    EdgeCount: 211
    ICount: 435
    argCount: 2
    argNames:
    - ctx
    - tlv
    argTypes:
    - struct p12_parse_ctx_s*
    - tlv_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1249
    functionDepth: 4
    functionLinenumber: 1249
    functionLinenumberEnd: 1745
    functionName: parse_shrouded_key_bag
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - ksba_free
    - log_assert
    - tlv_expect_null
    - tlv_expect_mpinteger
    - gcry_calloc
    - decrypt_block
    - ksba_oid_to_str
    - tlv_parser_skip
    - tlv_parser_lasterrstr
    - gpgrt_log_printhex
    - tlv_parser_lastfunc
    - tlv_parser_release
    - memcpy
    - gcry_mpi_scan
    - tlv_parser_level
    - tlv_parser_tag_length
    - log_printhex
    - log_error
    - DIM
    - digest_algo_from_oid
    - log_info
    - log_debug
    - tlv_expect_context_tag
    - gpg_error_from_syserror
    - tlv_expect_set
    - gcry_malloc_secure
    - gpg_error
    - tlv_expect_integer
    - gpg_strerror
    - tlv_parser_set_pending
    - gcry_free
    - tlv_expect_octet_string
    - tlv_expect_sequence
    - tlv_parser_new
    - memcmp
    - tlv_next
    - gpg_err_code
    - tlv_expect_object_id
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_shrouded_key_bag (struct p12_parse_ctx_s *ctx, tlv_parser_t
      tlv)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:1760,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1768,1
    - Dst: tlv_expect_context_tag
      Src: /src/gnupg/sm/minip12.c:1770,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1774,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1778,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:1780,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1783,1
    - Dst: tlv_expect_object_id
      Src: /src/gnupg/sm/minip12.c:1785,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1787,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:1788,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1797,1
    - Dst: tlv_expect_context_tag
      Src: /src/gnupg/sm/minip12.c:1799,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1802,1
    - Dst: tlv_expect_octet_string
      Src: /src/gnupg/sm/minip12.c:1804,1
    - Dst: struct p12_parse_ctx_s*::certcb
      Src: /src/gnupg/sm/minip12.c:1809,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1817,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/minip12.c:1818,1
    - Dst: tlv_expect_set
      Src: /src/gnupg/sm/minip12.c:1822,1
    - Dst: tlv_parser_skip
      Src: /src/gnupg/sm/minip12.c:1824,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:1826,1
    - Dst: tlv_parser_set_pending
      Src: /src/gnupg/sm/minip12.c:1829,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:1835,1
    - Dst: tlv_parser_level
      Src: /src/gnupg/sm/minip12.c:1837,1
    - Dst: tlv_parser_lastfunc
      Src: /src/gnupg/sm/minip12.c:1838,1
    - Dst: tlv_parser_lasterrstr
      Src: /src/gnupg/sm/minip12.c:1839,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:1840,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1842,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 68
    argCount: 2
    argNames:
    - ctx
    - tlv
    argTypes:
    - struct p12_parse_ctx_s*
    - tlv_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1748
    functionDepth: 4
    functionLinenumber: 1748
    functionLinenumberEnd: 1844
    functionName: parse_cert_bag
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - tlv_parser_skip
    - tlv_parser_lasterrstr
    - tlv_parser_lastfunc
    - tlv_parser_level
    - log_error
    - DIM
    - log_info
    - tlv_expect_context_tag
    - tlv_expect_set
    - gpg_error
    - gpg_strerror
    - tlv_parser_set_pending
    - tlv_expect_octet_string
    - tlv_expect_sequence
    - struct p12_parse_ctx_s*::certcb
    - memcmp
    - tlv_next
    - gpg_err_code
    - tlv_expect_object_id
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_cert_bag (struct p12_parse_ctx_s *ctx, tlv_parser_t
      tlv)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:1862,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1869,1
    - Dst: tlv_expect_context_tag
      Src: /src/gnupg/sm/minip12.c:1871,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1874,1
    - Dst: tlv_expect_octet_string
      Src: /src/gnupg/sm/minip12.c:1876,1
    - Dst: tlv_parser_new
      Src: /src/gnupg/sm/minip12.c:1879,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/minip12.c:1882,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:1889,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1895,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:1897,1
    - Dst: tlv_parser_level
      Src: /src/gnupg/sm/minip12.c:1900,1
    - Dst: tlv_parser_dump_state
      Src: /src/gnupg/sm/minip12.c:1901,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1902,1
    - Dst: tlv_parser_level
      Src: /src/gnupg/sm/minip12.c:1902,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:1908,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:1915,1
    - Dst: tlv_expect_object_id
      Src: /src/gnupg/sm/minip12.c:1917,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1921,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:1922,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1923,1
    - Dst: parse_shrouded_key_bag
      Src: /src/gnupg/sm/minip12.c:1925,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1928,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:1929,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:1929,1
    - Dst: parse_cert_bag
      Src: /src/gnupg/sm/minip12.c:1931,1
    - Dst: tlv_parser_skip
      Src: /src/gnupg/sm/minip12.c:1936,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:1937,1
    - Dst: tlv_parser_dump_state
      Src: /src/gnupg/sm/minip12.c:1940,1
    - Dst: tlv_parser_set_pending
      Src: /src/gnupg/sm/minip12.c:1942,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/minip12.c:1943,1
    - Dst: tlv_parser_release
      Src: /src/gnupg/sm/minip12.c:1950,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:1952,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:1958,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:1959,1
    - Dst: tlv_parser_level
      Src: /src/gnupg/sm/minip12.c:1961,1
    - Dst: tlv_parser_lastfunc
      Src: /src/gnupg/sm/minip12.c:1962,1
    - Dst: tlv_parser_lasterrstr
      Src: /src/gnupg/sm/minip12.c:1963,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:1964,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 84
    argCount: 2
    argNames:
    - ctx
    - tlv
    argTypes:
    - struct p12_parse_ctx_s*
    - tlv_parser_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1847
    functionDepth: 5
    functionLinenumber: 1847
    functionLinenumberEnd: 1966
    functionName: parse_bag_data
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - tlv_parser_skip
    - tlv_parser_lasterrstr
    - tlv_parser_lastfunc
    - tlv_parser_release
    - tlv_parser_level
    - log_error
    - parse_cert_bag
    - DIM
    - log_info
    - log_debug
    - tlv_expect_context_tag
    - gpg_error_from_syserror
    - tlv_parser_dump_state
    - gpg_error
    - gpg_strerror
    - tlv_parser_set_pending
    - tlv_expect_octet_string
    - tlv_expect_sequence
    - parse_shrouded_key_bag
    - tlv_parser_new
    - memcmp
    - tlv_next
    - gpg_err_code
    - tlv_expect_object_id
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_bag_data (struct p12_parse_ctx_s *ctx, tlv_parser_t
      tlv)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: tlv_parser_new
      Src: /src/gnupg/sm/minip12.c:2001,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/minip12.c:2004,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:2009,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:2011,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:2015,1
    - Dst: tlv_expect_integer
      Src: /src/gnupg/sm/minip12.c:2017,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:2021,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:2023,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:2026,1
    - Dst: tlv_expect_object_id
      Src: /src/gnupg/sm/minip12.c:2028,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2030,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:2030,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2030,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:2032,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:2036,1
    - Dst: tlv_expect_context_tag
      Src: /src/gnupg/sm/minip12.c:2038,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:2041,1
    - Dst: tlv_expect_octet_string
      Src: /src/gnupg/sm/minip12.c:2043,1
    - Dst: tlv_parser_new
      Src: /src/gnupg/sm/minip12.c:2046,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/minip12.c:2049,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:2057,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:2060,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:2062,1
    - Dst: tlv_parser_level
      Src: /src/gnupg/sm/minip12.c:2065,1
    - Dst: tlv_parser_dump_state
      Src: /src/gnupg/sm/minip12.c:2066,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:2067,1
    - Dst: tlv_parser_level
      Src: /src/gnupg/sm/minip12.c:2067,1
    - Dst: tlv_parser_dump_state
      Src: /src/gnupg/sm/minip12.c:2070,1
    - Dst: tlv_expect_sequence
      Src: /src/gnupg/sm/minip12.c:2071,1
    - Dst: tlv_next
      Src: /src/gnupg/sm/minip12.c:2074,1
    - Dst: tlv_expect_object_id
      Src: /src/gnupg/sm/minip12.c:2076,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2079,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:2080,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2080,1
    - Dst: parse_bag_encrypted_data
      Src: /src/gnupg/sm/minip12.c:2083,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2086,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:2087,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2087,1
    - Dst: parse_bag_data
      Src: /src/gnupg/sm/minip12.c:2090,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2093,1
    - Dst: memcmp
      Src: /src/gnupg/sm/minip12.c:2094,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2095,1
    - Dst: parse_shrouded_key_bag
      Src: /src/gnupg/sm/minip12.c:2098,1
    - Dst: tlv_parser_skip
      Src: /src/gnupg/sm/minip12.c:2103,1
    - Dst: log_info
      Src: /src/gnupg/sm/minip12.c:2104,1
    - Dst: tlv_parser_dump_state
      Src: /src/gnupg/sm/minip12.c:2107,1
    - Dst: tlv_parser_set_pending
      Src: /src/gnupg/sm/minip12.c:2109,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/minip12.c:2110,1
    - Dst: tlv_parser_release
      Src: /src/gnupg/sm/minip12.c:2116,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:2118,1
    - Dst: tlv_parser_release
      Src: /src/gnupg/sm/minip12.c:2120,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:2124,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/minip12.c:2130,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:2131,1
    - Dst: tlv_parser_release
      Src: /src/gnupg/sm/minip12.c:2140,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:2142,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2145,1
    - Dst: tlv_parser_offset
      Src: /src/gnupg/sm/minip12.c:2147,1
    - Dst: tlv_parser_level
      Src: /src/gnupg/sm/minip12.c:2148,1
    - Dst: tlv_parser_lastfunc
      Src: /src/gnupg/sm/minip12.c:2149,1
    - Dst: tlv_parser_lasterrstr
      Src: /src/gnupg/sm/minip12.c:2150,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:2151,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/minip12.c:2155,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:2156,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/minip12.c:2162,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:2163,1
    - Dst: tlv_parser_release
      Src: /src/gnupg/sm/minip12.c:2166,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:2167,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 158
    argCount: 6
    argNames:
    - buffer
    - length
    - pw
    - certcbarg
    - r_badpass
    - r_curve
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - void*
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 1976
    functionDepth: 6
    functionLinenumber: 1976
    functionLinenumberEnd: 2171
    functionName: p12_parse
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 3
    functionsReached:
    - tlv_parser_skip
    - tlv_parser_lasterrstr
    - tlv_parser_lastfunc
    - tlv_parser_release
    - tlv_parser_level
    - parse_bag_encrypted_data
    - log_error
    - DIM
    - log_info
    - tlv_parser_offset
    - log_debug
    - tlv_expect_context_tag
    - gpg_error_from_syserror
    - tlv_parser_dump_state
    - parse_bag_data
    - tlv_expect_integer
    - gpg_error
    - gpg_strerror
    - tlv_parser_set_pending
    - gcry_mpi_release
    - gcry_free
    - tlv_expect_octet_string
    - tlv_expect_sequence
    - parse_shrouded_key_bag
    - tlv_parser_new
    - memcmp
    - tlv_next
    - gpg_err_code
    - tlv_expect_object_id
    linkageType: ''
    returnType: gcry_mpi_t
    signature: "gcry_mpi_t *\np12_parse (const unsigned char *buffer, size_t length,
      const char *pw,\n           void (*certcb)(void*, const unsigned char*, size_t),\n
      \          void *certcbarg, int *r_badpass, char **r_curve)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/minip12.c:2183,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:2184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - kparms
    argTypes:
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2175
    functionDepth: 1
    functionLinenumber: 2175
    functionLinenumberEnd: 2186
    functionName: p12_parse_free_kparms
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 3
    functionsReached:
    - gcry_free
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void p12_parse_free_kparms (gcry_mpi_t *kparms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2208
      start: 2191
    functionDepth: 1
    functionLinenumber: 2191
    functionLinenumberEnd: 2208
    functionName: compute_tag_length
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - log_error
    linkageType: ''
    returnType: size_t
    signature: size_t compute_tag_length (size_t n)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - p
    - tag
    - n
    argTypes:
    - unsigned char*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2232
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2232
    functionName: store_tag_length
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      store_tag_length (unsigned char *p, int tag, size_t n)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2266,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2271,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2276,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2280,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2284,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2292,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2294,1
    - Dst: gcry_malloc
      Src: /src/gnupg/sm/minip12.c:2298,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2301,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2307,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2315,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2318,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2318,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2319,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2319,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2320,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2323,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2326,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2330,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2335,1
    - Dst: gcry_randomize
      Src: /src/gnupg/sm/minip12.c:2343,1
    - Dst: string_to_key
      Src: /src/gnupg/sm/minip12.c:2344,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:2346,1
    - Dst: gcry_md_open
      Src: /src/gnupg/sm/minip12.c:2349,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2352,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:2352,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:2353,1
    - Dst: gcry_md_setkey
      Src: /src/gnupg/sm/minip12.c:2356,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2359,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:2359,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/minip12.c:2360,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:2361,1
    - Dst: gcry_md_write
      Src: /src/gnupg/sm/minip12.c:2364,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2367,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2367,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2368,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2369,1
    - Dst: gcry_md_read
      Src: /src/gnupg/sm/minip12.c:2369,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2370,1
    - Dst: gcry_md_close
      Src: /src/gnupg/sm/minip12.c:2371,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:2377,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 76
    argCount: 3
    argNames:
    - sequences
    - pw
    - r_length
    argTypes:
    - struct buffer_s*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2382
      start: 2238
    functionDepth: 2
    functionLinenumber: 2238
    functionLinenumberEnd: 2382
    functionName: create_final
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - string_to_key
    - gcry_free
    - gcry_md_open
    - gcry_md_write
    - compute_tag_length
    - log_error
    - DIM
    - gcry_md_read
    - gpg_strerror
    - log_debug
    - gcry_randomize
    - gcry_malloc
    - gcry_md_setkey
    - store_tag_length
    - memcpy
    - gcry_md_close
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      create_final (struct buffer_s *sequences, const char *pw, size_t *r_length)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_print
      Src: /src/gnupg/sm/minip12.c:2427,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2430,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:2430,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2434,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2441,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2446,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2455,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2460,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2466,1
    - Dst: gcry_malloc_secure
      Src: /src/gnupg/sm/minip12.c:2473,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2476,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2484,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2490,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2491,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2491,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2492,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2492,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2493,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2497,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2500,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/sm/minip12.c:2508,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2511,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:2512,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:2513,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2516,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/sm/minip12.c:2519,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2522,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:2523,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:2524,1
    - Dst: log_assert
      Src: /src/gnupg/sm/minip12.c:2531,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 89
    argCount: 3
    argNames:
    - kparms
    - mode
    - r_length
    argTypes:
    - gcry_mpi_t*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2543
      start: 2414
    functionDepth: 1
    functionLinenumber: 2414
    functionLinenumberEnd: 2543
    functionName: build_rsa_key_sequence
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - compute_tag_length
    - log_error
    - gcry_mpi_print
    - log_assert
    - DIM
    - gcry_malloc_secure
    - gpg_strerror
    - store_tag_length
    - memcpy
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      build_rsa_key_sequence (gcry_mpi_t *kparms, int mode, size_t *r_length)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2596,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/sm/minip12.c:2600,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/minip12.c:2602,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/minip12.c:2605,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2606,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:2607,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2610,1
    - Dst: openpgp_curve_to_oid
      Src: /src/gnupg/sm/minip12.c:2615,1
    - Dst: xfree
      Src: /src/gnupg/sm/minip12.c:2616,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:2619,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2620,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:2621,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/sm/minip12.c:2630,1
    - Dst: tlv_builder_new
      Src: /src/gnupg/sm/minip12.c:2635,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/minip12.c:2638,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2639,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:2640,1
    - Dst: tlv_builder_add_tag
      Src: /src/gnupg/sm/minip12.c:2644,1
    - Dst: tlv_builder_add_ptr
      Src: /src/gnupg/sm/minip12.c:2645,1
    - Dst: tlv_builder_add_tag
      Src: /src/gnupg/sm/minip12.c:2646,1
    - Dst: builder_add_oid
      Src: /src/gnupg/sm/minip12.c:2647,1
    - Dst: builder_add_oid
      Src: /src/gnupg/sm/minip12.c:2648,1
    - Dst: tlv_builder_add_end
      Src: /src/gnupg/sm/minip12.c:2649,1
    - Dst: tlv_builder_add_tag
      Src: /src/gnupg/sm/minip12.c:2650,1
    - Dst: tlv_builder_add_tag
      Src: /src/gnupg/sm/minip12.c:2651,1
    - Dst: tlv_builder_add_ptr
      Src: /src/gnupg/sm/minip12.c:2652,1
    - Dst: builder_add_mpi
      Src: /src/gnupg/sm/minip12.c:2653,1
    - Dst: tlv_builder_add_tag
      Src: /src/gnupg/sm/minip12.c:2654,1
    - Dst: builder_add_mpi
      Src: /src/gnupg/sm/minip12.c:2655,1
    - Dst: tlv_builder_add_end
      Src: /src/gnupg/sm/minip12.c:2656,1
    - Dst: tlv_builder_add_end
      Src: /src/gnupg/sm/minip12.c:2657,1
    - Dst: tlv_builder_add_end
      Src: /src/gnupg/sm/minip12.c:2658,1
    - Dst: tlv_builder_add_end
      Src: /src/gnupg/sm/minip12.c:2659,1
    - Dst: tlv_builder_finalize
      Src: /src/gnupg/sm/minip12.c:2661,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/minip12.c:2665,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2666,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:2667,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/sm/minip12.c:2674,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/minip12.c:2677,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2678,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/minip12.c:2679,1
    - Dst: xfree
      Src: /src/gnupg/sm/minip12.c:2680,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2683,1
    - Dst: xfree
      Src: /src/gnupg/sm/minip12.c:2684,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 74
    argCount: 3
    argNames:
    - kparms
    - mode
    - r_length
    argTypes:
    - gcry_mpi_t*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2576
    functionDepth: 3
    functionLinenumber: 2576
    functionLinenumberEnd: 2694
    functionName: build_ecc_key_sequence
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - tlv_builder_add_tag
    - tlv_builder_add_ptr
    - tlv_builder_add_end
    - gpg_error_from_syserror
    - log_error
    - tlv_builder_new
    - builder_add_mpi
    - tlv_builder_finalize
    - xtrymalloc_secure
    - openpgp_curve_to_oid
    - gpg_error
    - gpg_strerror
    - memcpy
    - xfree
    - builder_add_oid
    - gcry_mpi_get_opaque
    - xtrymalloc
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      build_ecc_key_sequence (gcry_mpi_t *kparms, int mode, size_t *r_length)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2709,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2713,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2717,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2721,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2725,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2728,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2732,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2734,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2738,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2742,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2745,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2749,1
    - Dst: gcry_malloc
      Src: /src/gnupg/sm/minip12.c:2752,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2755,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2762,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2765,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2765,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2766,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2766,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2767,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2770,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2773,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2776,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2777,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2780,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2781,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2782,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2783,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2784,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2787,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2790,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2793,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2793,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2794,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2795,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2798,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2799,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2807,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2807,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2810,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2811,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:2818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 59
    argCount: 6
    argNames:
    - buffer
    - buflen
    - salt
    - sha1hash
    - keyidstr
    - r_length
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - unsigned char*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2823
      start: 2697
    functionDepth: 1
    functionLinenumber: 2697
    functionLinenumberEnd: 2823
    functionName: build_key_bag
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - compute_tag_length
    - log_error
    - DIM
    - gcry_malloc
    - store_tag_length
    - memcpy
    - log_debug
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\nbuild_key_bag (unsigned char *buffer, size_t buflen,
      char *salt,\n               const unsigned char *sha1hash, const char *keyidstr,\n
      \              size_t *r_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2837,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2841,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2844,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2848,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2855,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2859,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2862,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2866,1
    - Dst: gcry_malloc
      Src: /src/gnupg/sm/minip12.c:2869,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2872,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2879,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2882,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2882,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2883,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2883,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2884,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2887,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2890,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2898,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2901,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2901,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2902,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2902,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2903,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2906,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2906,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2907,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2908,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2911,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2912,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:2917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 4
    argNames:
    - buffer
    - buflen
    - salt
    - r_length
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2922
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2922
    functionName: build_cert_bag
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - compute_tag_length
    - log_error
    - DIM
    - gcry_malloc
    - store_tag_length
    - memcpy
    - log_debug
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\nbuild_cert_bag (unsigned char *buffer, size_t buflen,
      char *salt,\n                size_t *r_length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/sm/minip12.c:2935,1
    - Dst: strlen
      Src: /src/gnupg/sm/minip12.c:2935,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2940,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2945,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2948,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2952,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2956,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2960,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2963,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2967,1
    - Dst: compute_tag_length
      Src: /src/gnupg/sm/minip12.c:2971,1
    - Dst: gcry_malloc
      Src: /src/gnupg/sm/minip12.c:2974,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:2977,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2984,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2987,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2990,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2990,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:2991,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2991,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:2992,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2995,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:2998,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:3001,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:3002,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:3003,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:3004,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:3005,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:3008,1
    - Dst: store_tag_length
      Src: /src/gnupg/sm/minip12.c:3011,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:3012,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:3018,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:3018,1
    - Dst: DIM
      Src: /src/gnupg/sm/minip12.c:3021,1
    - Dst: memcpy
      Src: /src/gnupg/sm/minip12.c:3022,1
    - Dst: log_debug
      Src: /src/gnupg/sm/minip12.c:3028,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 53
    argCount: 5
    argNames:
    - buffer
    - buflen
    - sha1hash
    - keyidstr
    - r_length
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3038
      start: 2925
    functionDepth: 1
    functionLinenumber: 2925
    functionLinenumberEnd: 3038
    functionName: build_cert_sequence
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 0
    functionsReached:
    - compute_tag_length
    - strlen
    - log_assert
    - log_error
    - DIM
    - gcry_malloc
    - store_tag_length
    - memcpy
    - log_debug
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\nbuild_cert_sequence (const unsigned char *buffer,
      size_t buflen,\n                     const unsigned char *sha1hash, const char
      *keyidstr,\n                     size_t *r_length)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/minip12.c:3060,1
    - Dst: strlen
      Src: /src/gnupg/sm/minip12.c:3072,1
    - Dst: gcry_malloc_secure
      Src: /src/gnupg/sm/minip12.c:3073,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:3076,1
    - Dst: jnlib_iconv_open
      Src: /src/gnupg/sm/minip12.c:3080,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:3083,1
    - Dst: strerror
      Src: /src/gnupg/sm/minip12.c:3085,1
    - Dst: strlen
      Src: /src/gnupg/sm/minip12.c:3090,1
    - Dst: jnlib_iconv
      Src: /src/gnupg/sm/minip12.c:3093,1
    - Dst: log_error
      Src: /src/gnupg/sm/minip12.c:3096,1
    - Dst: strerror
      Src: /src/gnupg/sm/minip12.c:3098,1
    - Dst: jnlib_iconv_close
      Src: /src/gnupg/sm/minip12.c:3099,1
    - Dst: jnlib_iconv_close
      Src: /src/gnupg/sm/minip12.c:3103,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/sm/minip12.c:3111,1
    - Dst: sprintf
      Src: /src/gnupg/sm/minip12.c:3112,1
    - Dst: build_cert_sequence
      Src: /src/gnupg/sm/minip12.c:3116,1
    - Dst: gcry_randomize
      Src: /src/gnupg/sm/minip12.c:3122,1
    - Dst: crypt_block
      Src: /src/gnupg/sm/minip12.c:3123,1
    - Dst: build_cert_bag
      Src: /src/gnupg/sm/minip12.c:3127,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:3129,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/sm/minip12.c:3146,1
    - Dst: build_ecc_key_sequence
      Src: /src/gnupg/sm/minip12.c:3147,1
    - Dst: build_rsa_key_sequence
      Src: /src/gnupg/sm/minip12.c:3149,1
    - Dst: gcry_randomize
      Src: /src/gnupg/sm/minip12.c:3154,1
    - Dst: crypt_block
      Src: /src/gnupg/sm/minip12.c:3155,1
    - Dst: build_key_bag
      Src: /src/gnupg/sm/minip12.c:3160,1
    - Dst: build_key_bag
      Src: /src/gnupg/sm/minip12.c:3163,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:3166,1
    - Dst: create_final
      Src: /src/gnupg/sm/minip12.c:3176,1
    - Dst: wipememory
      Src: /src/gnupg/sm/minip12.c:3183,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:3184,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/minip12.c:3187,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    argCount: 6
    argNames:
    - kparms
    - cert
    - certlen
    - pw
    - charset
    - r_length
    argTypes:
    - gcry_mpi_t*
    - void*
    - size_t
    - char*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3191
      start: 3045
    functionDepth: 4
    functionLinenumber: 3045
    functionLinenumberEnd: 3191
    functionName: p12_build
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 1
    functionsReached:
    - gcry_mpi_get_flag
    - strlen
    - gcry_md_hash_buffer
    - create_final
    - build_key_bag
    - build_cert_bag
    - log_error
    - build_rsa_key_sequence
    - wipememory
    - build_ecc_key_sequence
    - jnlib_iconv_open
    - sprintf
    - jnlib_iconv_close
    - build_cert_sequence
    - crypt_block
    - gcry_malloc_secure
    - jnlib_iconv
    - memset
    - gcry_randomize
    - gcry_free
    - strerror
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\np12_build (gcry_mpi_t *kparms, const void *cert,
      size_t certlen,\n           const char *pw, const char *charset, size_t *r_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/sm/minip12.c:3203,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/sm/minip12.c:3209,1
    - Dst: build_ecc_key_sequence
      Src: /src/gnupg/sm/minip12.c:3210,1
    - Dst: build_rsa_key_sequence
      Src: /src/gnupg/sm/minip12.c:3212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - kparms
    - rawmode
    - r_length
    argTypes:
    - gcry_mpi_t*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3196
    functionDepth: 4
    functionLinenumber: 3196
    functionLinenumberEnd: 3218
    functionName: p12_raw_build
    functionSourceFile: /src/gnupg/sm/minip12.c
    functionUses: 1
    functionsReached:
    - gcry_mpi_get_flag
    - build_ecc_key_sequence
    - build_rsa_key_sequence
    - log_assert
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      p12_raw_build (gcry_mpi_t *kparms, int rawmode, size_t *r_length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/decrypt.c:67,1
    - Dst: memcpy
      Src: /src/gnupg/sm/decrypt.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - gcry_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: string_from_gcry_buffer
    functionSourceFile: /src/gnupg/sm/decrypt.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      string_from_gcry_buffer (gcry_buffer_t *buffer)'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/decrypt.c:101,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:105,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/decrypt.c:110,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:114,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/decrypt.c:122,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:126,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/decrypt.c:137,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:141,1
    - Dst: parse_ber_header
      Src: /src/gnupg/sm/decrypt.c:146,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:150,1
    - Dst: ksba_oid_to_str
      Src: /src/gnupg/sm/decrypt.c:154,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/decrypt.c:156,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/sm/decrypt.c:157,1
    - Dst: strcmp
      Src: /src/gnupg/sm/decrypt.c:160,1
    - Dst: strcmp
      Src: /src/gnupg/sm/decrypt.c:162,1
    - Dst: strcmp
      Src: /src/gnupg/sm/decrypt.c:164,1
    - Dst: strcmp
      Src: /src/gnupg/sm/decrypt.c:166,1
    - Dst: strcmp
      Src: /src/gnupg/sm/decrypt.c:168,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:171,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/decrypt.c:172,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 57
    argCount: 6
    argNames:
    - der
    - derlen
    - r_salt
    - r_saltlen
    - r_iterations
    - r_digest
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char**
    - unsigned int*
    - unsigned long*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 175
    functionName: pwri_parse_pbkdf2
    functionSourceFile: /src/gnupg/sm/decrypt.c
    functionUses: 0
    functionsReached:
    - parse_ber_header
    - ksba_free
    - gpg_error_from_syserror
    - ksba_oid_to_str
    - strcmp
    - gpg_error
    - gcry_md_map_name
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t pwri_parse_pbkdf2 (const unsigned char *der, size_t derlen,\n
      \                  unsigned char const **r_salt, unsigned int *r_saltlen,\n
      \                  unsigned long *r_iterations,\n                   int *r_digest)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/sm/decrypt.c:222,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/decrypt.c:232,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:233,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:235,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:236,1
    - Dst: string_from_gcry_buffer
      Src: /src/gnupg/sm/decrypt.c:242,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/decrypt.c:245,1
    - Dst: string_from_gcry_buffer
      Src: /src/gnupg/sm/decrypt.c:251,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/decrypt.c:254,1
    - Dst: log_debug
      Src: /src/gnupg/sm/decrypt.c:267,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/decrypt.c:268,1
    - Dst: log_debug
      Src: /src/gnupg/sm/decrypt.c:270,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/decrypt.c:271,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/decrypt.c:272,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:277,1
    - Dst: log_info
      Src: /src/gnupg/sm/decrypt.c:278,1
    - Dst: strcmp
      Src: /src/gnupg/sm/decrypt.c:281,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:283,1
    - Dst: log_info
      Src: /src/gnupg/sm/decrypt.c:284,1
    - Dst: pwri_parse_pbkdf2
      Src: /src/gnupg/sm/decrypt.c:289,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:293,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:293,1
    - Dst: gnupg_digest_is_compliant
      Src: /src/gnupg/sm/decrypt.c:298,1
    - Dst: gcry_cipher_map_name
      Src: /src/gnupg/sm/decrypt.c:301,1
    - Dst: gcry_cipher_mode_from_oid
      Src: /src/gnupg/sm/decrypt.c:302,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:305,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:306,1
    - Dst: gnupg_cipher_is_compliant
      Src: /src/gnupg/sm/decrypt.c:312,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/gnupg/sm/decrypt.c:314,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/gnupg/sm/decrypt.c:315,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:318,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:319,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:325,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:326,1
    - Dst: gpgsm_agent_ask_passphrase
      Src: /src/gnupg/sm/decrypt.c:330,1
    - Dst: i18n_utf8
      Src: /src/gnupg/sm/decrypt.c:332,1
    - Dst: N_
      Src: /src/gnupg/sm/decrypt.c:332,1
    - Dst: gcry_kdf_derive
      Src: /src/gnupg/sm/decrypt.c:337,1
    - Dst: strlen
      Src: /src/gnupg/sm/decrypt.c:337,1
    - Dst: wipememory
      Src: /src/gnupg/sm/decrypt.c:343,1
    - Dst: strlen
      Src: /src/gnupg/sm/decrypt.c:343,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:344,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:349,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:350,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/decrypt.c:355,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/sm/decrypt.c:359,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/decrypt.c:362,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/sm/decrypt.c:366,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:369,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:369,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/sm/decrypt.c:373,1
    - Dst: wipememory
      Src: /src/gnupg/sm/decrypt.c:374,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/sm/decrypt.c:376,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/sm/decrypt.c:378,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/sm/decrypt.c:381,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/sm/decrypt.c:383,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/sm/decrypt.c:387,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/sm/decrypt.c:389,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:393,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:393,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/decrypt.c:398,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:407,1
    - Dst: memmove
      Src: /src/gnupg/sm/decrypt.c:412,1
    - Dst: wipememory
      Src: /src/gnupg/sm/decrypt.c:418,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:419,1
    - Dst: wipememory
      Src: /src/gnupg/sm/decrypt.c:423,1
    - Dst: strlen
      Src: /src/gnupg/sm/decrypt.c:423,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:424,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/sm/decrypt.c:426,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:427,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:428,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:429,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:430,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:431,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:432,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:433,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 161
    argCount: 5
    argNames:
    - ctrl
    - enc_val
    - r_result
    - r_resultlen
    - parm
    argTypes:
    - ctrl_t
    - gcry_sexp_t
    - unsigned char**
    - unsigned int*
    - struct decrypt_filter_parm_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 435
    functionName: pwri_decrypt
    functionSourceFile: /src/gnupg/sm/decrypt.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - strlen
    - gcry_cipher_setiv
    - gcry_cipher_close
    - pwri_parse_pbkdf2
    - gcry_cipher_get_algo_keylen
    - memmove
    - gcry_cipher_open
    - log_printhex
    - log_error
    - gnupg_digest_is_compliant
    - wipememory
    - log_info
    - gnupg_cipher_is_compliant
    - log_debug
    - i18n_utf8
    - gcry_cipher_mode_from_oid
    - gcry_kdf_derive
    - gcry_cipher_setkey
    - gpg_error_from_syserror
    - string_from_gcry_buffer
    - xtrymalloc_secure
    - gcry_sexp_extract_param
    - strcmp
    - gpg_error
    - gpg_strerror
    - xfree
    - gpgsm_agent_ask_passphrase
    - gcry_cipher_decrypt
    - gcry_cipher_map_name
    - gpg_err_code
    - N_
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t pwri_decrypt (ctrl_t ctrl, gcry_sexp_t enc_val,\n              unsigned
      char **r_result, unsigned int *r_resultlen,\n              struct decrypt_filter_parm_s
      *parm)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/sm/decrypt.c:443,1
    - Dst: memcmp
      Src: /src/gnupg/sm/decrypt.c:445,1
    - Dst: memcmp
      Src: /src/gnupg/sm/decrypt.c:447,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - wrap_algo
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 451
    functionName: determine_wrap_cipher
    functionSourceFile: /src/gnupg/sm/decrypt.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int determine_wrap_cipher (unsigned char *wrap_algo, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/sm/decrypt.c:458,1
    - Dst: memcmp
      Src: /src/gnupg/sm/decrypt.c:463,1
    - Dst: memcmp
      Src: /src/gnupg/sm/decrypt.c:468,1
    - Dst: memcmp
      Src: /src/gnupg/sm/decrypt.c:473,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - kdf_scheme
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 480
    functionName: determine_hashalgo
    functionSourceFile: /src/gnupg/sm/decrypt.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int determine_hashalgo (unsigned char *kdf_scheme, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ksba_oid_from_str
      Src: /src/gnupg/sm/decrypt.c:500,1
    - Dst: get_tlv_length
      Src: /src/gnupg/sm/decrypt.c:504,1
    - Dst: get_tlv_length
      Src: /src/gnupg/sm/decrypt.c:505,1
    - Dst: get_tlv_length
      Src: /src/gnupg/sm/decrypt.c:507,1
    - Dst: get_tlv_length
      Src: /src/gnupg/sm/decrypt.c:517,1
    - Dst: put_tlv_to_membuf
      Src: /src/gnupg/sm/decrypt.c:519,1
    - Dst: put_tlv_to_membuf
      Src: /src/gnupg/sm/decrypt.c:521,1
    - Dst: put_tlv_to_membuf
      Src: /src/gnupg/sm/decrypt.c:523,1
    - Dst: put_membuf
      Src: /src/gnupg/sm/decrypt.c:524,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/decrypt.c:525,1
    - Dst: put_tlv_to_membuf
      Src: /src/gnupg/sm/decrypt.c:529,1
    - Dst: put_membuf
      Src: /src/gnupg/sm/decrypt.c:530,1
    - Dst: put_tlv_to_membuf
      Src: /src/gnupg/sm/decrypt.c:533,1
    - Dst: put_membuf
      Src: /src/gnupg/sm/decrypt.c:534,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/decrypt.c:536,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/decrypt.c:537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 6
    argNames:
    - kek_len
    - wrap_algo_str
    - ukm
    - ukm_len
    - result_p
    - len_p
    argTypes:
    - size_t
    - char*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 540
    functionName: build_shared_info
    functionSourceFile: /src/gnupg/sm/decrypt.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - ksba_free
    - gpg_error_from_syserror
    - put_membuf
    - ksba_oid_from_str
    - get_tlv_length
    - put_tlv_to_membuf
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t build_shared_info (size_t kek_len, const char *wrap_algo_str,\n
      \                  const void *ukm, size_t ukm_len,\n                   unsigned
      char **result_p, size_t *len_p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: build_shared_info
      Src: /src/gnupg/sm/decrypt.c:557,1
    - Dst: gnupg_ecc_kem_kdf
      Src: /src/gnupg/sm/decrypt.c:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - kek_key
    - kek_len
    - hash_algo
    - wrap_algo_str
    - secret
    - secretlen
    - ukm
    - ukmlen
    argTypes:
    - unsigned char*
    - unsigned int
    - int
    - char*
    - void*
    - unsigned int
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 566
    functionName: ecdh_derive_kek
    functionSourceFile: /src/gnupg/sm/decrypt.c
    functionUses: 1
    functionsReached:
    - gnupg_ecc_kem_kdf
    - build_shared_info
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ecdh_derive_kek (unsigned char *kek_key, unsigned int
      kek_len,\n                 int hash_algo, const char *wrap_algo_str,\n                 const
      void *secret, unsigned int secretlen,\n                 const void *ukm, unsigned
      int ukmlen)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/sm/decrypt.c:605,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/decrypt.c:606,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/sm/decrypt.c:610,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/decrypt.c:614,1
    - Dst: log_info
      Src: /src/gnupg/sm/decrypt.c:618,1
    - Dst: log_info
      Src: /src/gnupg/sm/decrypt.c:625,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:626,1
    - Dst: determine_hashalgo
      Src: /src/gnupg/sm/decrypt.c:630,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:633,1
    - Dst: determine_wrap_cipher
      Src: /src/gnupg/sm/decrypt.c:637,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:641,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/gnupg/sm/decrypt.c:645,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:648,1
    - Dst: string_from_gcry_buffer
      Src: /src/gnupg/sm/decrypt.c:652,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/decrypt.c:655,1
    - Dst: build_shared_info
      Src: /src/gnupg/sm/decrypt.c:660,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:662,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/sm/decrypt.c:667,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/sm/decrypt.c:675,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/decrypt.c:677,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:680,1
    - Dst: gpgsm_agent_pkdecrypt
      Src: /src/gnupg/sm/decrypt.c:685,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:688,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/decrypt.c:689,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/decrypt.c:690,1
    - Dst: gcry_free
      Src: /src/gnupg/sm/decrypt.c:691,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/decrypt.c:692,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/decrypt.c:693,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 6
    argNames:
    - ctrl
    - hexkeygrip
    - desc
    - enc_val
    - r_seskey
    - r_seskeylen
    argTypes:
    - ctrl_t
    - char*
    - char*
    - ksba_const_sexp_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 695
    functionName: ecc_kem_pkdecrypt
    functionSourceFile: /src/gnupg/sm/decrypt.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - gpg_error_from_syserror
    - build_shared_info
    - determine_wrap_cipher
    - string_from_gcry_buffer
    - gcry_sexp_sscan
    - gcry_sexp_extract_param
    - gpg_error
    - log_info
    - gcry_sexp_canon_len
    - gcry_sexp_release
    - xfree
    - gcry_sexp_sprint
    - gpgsm_agent_pkdecrypt
    - gcry_mpi_release
    - gcry_sexp_build
    - determine_hashalgo
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ecc_kem_pkdecrypt (ctrl_t ctrl, const char *hexkeygrip,\n
      \                  const char *desc, ksba_const_sexp_t enc_val,\n                   char
      **r_seskey, size_t *r_seskeylen)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: log_printcanon
      Src: /src/gnupg/sm/decrypt.c:711,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/sm/decrypt.c:719,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/decrypt.c:720,1
    - Dst: pwri_decrypt
      Src: /src/gnupg/sm/decrypt.c:724,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/decrypt.c:725,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:728,1
    - Dst: ecc_kem_pkdecrypt
      Src: /src/gnupg/sm/decrypt.c:736,1
    - Dst: gpgsm_agent_pkdecrypt
      Src: /src/gnupg/sm/decrypt.c:739,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:744,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:744,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/decrypt.c:749,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:768,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:782,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:791,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/decrypt.c:799,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/decrypt.c:800,1
    - Dst: log_info
      Src: /src/gnupg/sm/decrypt.c:804,1
    - Dst: _
      Src: /src/gnupg/sm/decrypt.c:804,1
    - Dst: gcry_cipher_algo_name
      Src: /src/gnupg/sm/decrypt.c:805,1
    - Dst: cipher_mode_to_string
      Src: /src/gnupg/sm/decrypt.c:806,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/sm/decrypt.c:808,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:811,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:811,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/sm/decrypt.c:815,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/decrypt.c:816,1
    - Dst: log_info
      Src: /src/gnupg/sm/decrypt.c:818,1
    - Dst: _
      Src: /src/gnupg/sm/decrypt.c:818,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:824,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:824,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/sm/decrypt.c:828,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:831,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:831,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:844,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 89
    argCount: 6
    argNames:
    - ctrl
    - hexkeygrip
    - pk_algo
    - desc
    - enc_val
    - parm
    argTypes:
    - ctrl_t
    - char*
    - int
    - char*
    - ksba_const_sexp_t
    - struct decrypt_filter_parm_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 699
    functionDepth: 4
    functionLinenumber: 699
    functionLinenumberEnd: 846
    functionName: prepare_decryption
    functionSourceFile: /src/gnupg/sm/decrypt.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_algo_name
    - gcry_cipher_setiv
    - gcry_sexp_sscan
    - pwri_decrypt
    - gcry_sexp_canon_len
    - gcry_cipher_open
    - log_printhex
    - log_error
    - _
    - log_info
    - cipher_mode_to_string
    - gcry_sexp_release
    - ecc_kem_pkdecrypt
    - gcry_cipher_setkey
    - log_printcanon
    - gpg_error
    - xfree
    - gpg_strerror
    - gpgsm_agent_pkdecrypt
    - gpg_err_code
    linkageType: ''
    returnType: int
    signature: "int prepare_decryption (ctrl_t ctrl, const char *hexkeygrip,\n                    int
      pk_algo, const char *desc,\n                    ksba_const_sexp_t enc_val,\n
      \                   struct decrypt_filter_parm_s *parm)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:867,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:870,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:882,1
    - Dst: memcpy
      Src: /src/gnupg/sm/decrypt.c:893,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/sm/decrypt.c:898,1
    - Dst: memcpy
      Src: /src/gnupg/sm/decrypt.c:913,1
    - Dst: log_assert
      Src: /src/gnupg/sm/decrypt.c:919,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/sm/decrypt.c:922,1
    - Dst: memcpy
      Src: /src/gnupg/sm/decrypt.c:924,1
    - Dst: memcpy
      Src: /src/gnupg/sm/decrypt.c:925,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/sm/decrypt.c:930,1
    - Dst: memcpy
      Src: /src/gnupg/sm/decrypt.c:931,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 7
    argNames:
    - arg
    - inbuf
    - inlen
    - inused
    - outbuf
    - maxoutlen
    - outlen
    argTypes:
    - void*
    - void*
    - size_t
    - size_t*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 939
    functionName: decrypt_filter
    functionSourceFile: /src/gnupg/sm/decrypt.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - memcpy
    - log_assert
    - gcry_cipher_decrypt
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t decrypt_filter (void *arg,\n                const void
      *inbuf, size_t inlen, size_t *inused,\n                void *outbuf, size_t
      maxoutlen, size_t *outlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:951,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:954,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/sm/decrypt.c:962,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 7
    argNames:
    - arg
    - inbuf
    - inlen
    - inused
    - outbuf
    - maxoutlen
    - outlen
    argTypes:
    - void*
    - void*
    - size_t
    - size_t*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 969
    functionName: decrypt_gcm_filter
    functionSourceFile: /src/gnupg/sm/decrypt.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - gcry_cipher_decrypt
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t decrypt_gcm_filter (void *arg,\n                    const
      void *inbuf, size_t inlen, size_t *inused,\n                    void *outbuf,
      size_t maxoutlen, size_t *outlen)"
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/decrypt.c:989,1
    - Dst: audit_set_type
      Src: /src/gnupg/sm/decrypt.c:991,1
    - Dst: keydb_new
      Src: /src/gnupg/sm/decrypt.c:993,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:996,1
    - Dst: _
      Src: /src/gnupg/sm/decrypt.c:996,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:997,1
    - Dst: gnupg_ksba_create_reader
      Src: /src/gnupg/sm/decrypt.c:1001,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1008,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:1008,1
    - Dst: gnupg_ksba_create_writer
      Src: /src/gnupg/sm/decrypt.c:1012,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1018,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:1018,1
    - Dst: gnupg_ksba_set_progress_cb
      Src: /src/gnupg/sm/decrypt.c:1022,1
    - Dst: gnupg_ksba_set_total
      Src: /src/gnupg/sm/decrypt.c:1024,1
    - Dst: ksba_cms_new
      Src: /src/gnupg/sm/decrypt.c:1026,1
    - Dst: ksba_cms_set_reader_writer
      Src: /src/gnupg/sm/decrypt.c:1030,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1033,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:1034,1
    - Dst: audit_log
      Src: /src/gnupg/sm/decrypt.c:1038,1
    - Dst: ksba_cms_parse
      Src: /src/gnupg/sm/decrypt.c:1043,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1046,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:1046,1
    - Dst: audit_log
      Src: /src/gnupg/sm/decrypt.c:1057,1
    - Dst: ksba_cms_get_content_oid
      Src: /src/gnupg/sm/decrypt.c:1059,1
    - Dst: gcry_cipher_map_name
      Src: /src/gnupg/sm/decrypt.c:1060,1
    - Dst: gcry_cipher_mode_from_oid
      Src: /src/gnupg/sm/decrypt.c:1061,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:1064,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1065,1
    - Dst: strcmp
      Src: /src/gnupg/sm/decrypt.c:1066,1
    - Dst: log_info
      Src: /src/gnupg/sm/decrypt.c:1067,1
    - Dst: _
      Src: /src/gnupg/sm/decrypt.c:1067,1
    - Dst: log_info
      Src: /src/gnupg/sm/decrypt.c:1069,1
    - Dst: _
      Src: /src/gnupg/sm/decrypt.c:1069,1
    - Dst: sprintf
      Src: /src/gnupg/sm/decrypt.c:1073,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/decrypt.c:1074,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/decrypt.c:1076,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:1082,1
    - Dst: gnupg_cipher_is_allowed
      Src: /src/gnupg/sm/decrypt.c:1088,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1090,1
    - Dst: _
      Src: /src/gnupg/sm/decrypt.c:1090,1
    - Dst: gcry_cipher_algo_name
      Src: /src/gnupg/sm/decrypt.c:1092,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/sm/decrypt.c:1093,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:1094,1
    - Dst: gnupg_cipher_is_compliant
      Src: /src/gnupg/sm/decrypt.c:1099,1
    - Dst: audit_log_i
      Src: /src/gnupg/sm/decrypt.c:1101,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/gnupg/sm/decrypt.c:1104,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:1107,1
    - Dst: ksba_cms_get_content_enc_iv
      Src: /src/gnupg/sm/decrypt.c:1111,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1117,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:1117,1
    - Dst: ksba_cms_get_issuer_serial
      Src: /src/gnupg/sm/decrypt.c:1139,1
    - Dst: audit_log_i
      Src: /src/gnupg/sm/decrypt.c:1142,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/decrypt.c:1143,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1149,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:1150,1
    - Dst: log_info
      Src: /src/gnupg/sm/decrypt.c:1156,1
    - Dst: log_info
      Src: /src/gnupg/sm/decrypt.c:1158,1
    - Dst: gpgsm_dump_serial
      Src: /src/gnupg/sm/decrypt.c:1159,1
    - Dst: log_printf
      Src: /src/gnupg/sm/decrypt.c:1160,1
    - Dst: gpgsm_format_sn_issuer
      Src: /src/gnupg/sm/decrypt.c:1165,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/decrypt.c:1166,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:1167,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/sm/decrypt.c:1170,1
    - Dst: keydb_search_issuer_sn
      Src: /src/gnupg/sm/decrypt.c:1171,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1174,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:1175,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/decrypt.c:1179,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1182,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:1182,1
    - Dst: gpgsm_get_short_fingerprint
      Src: /src/gnupg/sm/decrypt.c:1196,1
    - Dst: snprintf
      Src: /src/gnupg/sm/decrypt.c:1197,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/decrypt.c:1199,1
    - Dst: audit_log_cert
      Src: /src/gnupg/sm/decrypt.c:1204,1
    - Dst: gpgsm_cert_use_decrypt_p
      Src: /src/gnupg/sm/decrypt.c:1209,1
    - Dst: sprintf
      Src: /src/gnupg/sm/decrypt.c:1213,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/decrypt.c:1214,1
    - Dst: gpgsm_get_keygrip_hexstring
      Src: /src/gnupg/sm/decrypt.c:1219,1
    - Dst: gpgsm_format_keydesc
      Src: /src/gnupg/sm/decrypt.c:1220,1
    - Dst: gpgsm_get_fingerprint_hexstring
      Src: /src/gnupg/sm/decrypt.c:1222,1
    - Dst: gpgsm_pubkey_algo_string
      Src: /src/gnupg/sm/decrypt.c:1223,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:1224,1
    - Dst: gpgsm_get_key_algo_info
      Src: /src/gnupg/sm/decrypt.c:1225,1
    - Dst: log_info
      Src: /src/gnupg/sm/decrypt.c:1227,1
    - Dst: _
      Src: /src/gnupg/sm/decrypt.c:1227,1
    - Dst: gnupg_pk_is_allowed
      Src: /src/gnupg/sm/decrypt.c:1230,1
    - Dst: snprintf
      Src: /src/gnupg/sm/decrypt.c:1237,1
    - Dst: gpgsm_get_short_fingerprint
      Src: /src/gnupg/sm/decrypt.c:1238,1
    - Dst: log_info
      Src: /src/gnupg/sm/decrypt.c:1239,1
    - Dst: _
      Src: /src/gnupg/sm/decrypt.c:1239,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/sm/decrypt.c:1242,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:1243,1
    - Dst: gnupg_pk_is_compliant
      Src: /src/gnupg/sm/decrypt.c:1250,1
    - Dst: ksba_cms_get_enc_val
      Src: /src/gnupg/sm/decrypt.c:1263,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1265,1
    - Dst: log_info
      Src: /src/gnupg/sm/decrypt.c:1268,1
    - Dst: log_info
      Src: /src/gnupg/sm/decrypt.c:1273,1
    - Dst: prepare_decryption
      Src: /src/gnupg/sm/decrypt.c:1275,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:1277,1
    - Dst: log_info
      Src: /src/gnupg/sm/decrypt.c:1281,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:1282,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/decrypt.c:1283,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/decrypt.c:1284,1
    - Dst: ksba_writer_set_filter
      Src: /src/gnupg/sm/decrypt.c:1289,1
    - Dst: gnupg_gcrypt_is_compliant
      Src: /src/gnupg/sm/decrypt.c:1305,1
    - Dst: gpgsm_validate_chain
      Src: /src/gnupg/sm/decrypt.c:1307,1
    - Dst: audit_log_ok
      Src: /src/gnupg/sm/decrypt.c:1312,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1317,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:1318,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/decrypt.c:1319,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/decrypt.c:1320,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/decrypt.c:1321,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/decrypt.c:1322,1
    - Dst: gpgsm_status_with_err_code
      Src: /src/gnupg/sm/decrypt.c:1323,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/decrypt.c:1326,1
    - Dst: gpgsm_status_with_err_code
      Src: /src/gnupg/sm/decrypt.c:1328,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/decrypt.c:1330,1
    - Dst: ksba_cert_get_user_data
      Src: /src/gnupg/sm/decrypt.c:1332,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/decrypt.c:1340,1
    - Dst: gnupg_status_compliance_flag
      Src: /src/gnupg/sm/decrypt.c:1341,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1350,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1357,1
    - Dst: _
      Src: /src/gnupg/sm/decrypt.c:1357,1
    - Dst: audit_log_ok
      Src: /src/gnupg/sm/decrypt.c:1363,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:1365,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:1366,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/decrypt.c:1367,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:1368,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:1369,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:1370,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:1371,1
    - Dst: ksba_cms_get_issuer_serial
      Src: /src/gnupg/sm/decrypt.c:1384,1
    - Dst: audit_log_i
      Src: /src/gnupg/sm/decrypt.c:1388,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1390,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:1391,1
    - Dst: gpgsm_format_sn_issuer
      Src: /src/gnupg/sm/decrypt.c:1394,1
    - Dst: audit_log_s
      Src: /src/gnupg/sm/decrypt.c:1395,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:1396,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:1397,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:1398,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:1406,1
    - Dst: ksba_writer_set_filter
      Src: /src/gnupg/sm/decrypt.c:1412,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1422,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:1423,1
    - Dst: ksba_writer_write
      Src: /src/gnupg/sm/decrypt.c:1426,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1436,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:1437,1
    - Dst: ksba_cms_get_message_digest
      Src: /src/gnupg/sm/decrypt.c:1450,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1453,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:1453,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/decrypt.c:1457,1
    - Dst: log_info
      Src: /src/gnupg/sm/decrypt.c:1460,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/decrypt.c:1462,1
    - Dst: gcry_cipher_checktag
      Src: /src/gnupg/sm/decrypt.c:1465,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:1466,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1468,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:1468,1
    - Dst: gnupg_ksba_finish_writer
      Src: /src/gnupg/sm/decrypt.c:1475,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1478,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:1478,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/decrypt.c:1481,1
    - Dst: audit_log_ok
      Src: /src/gnupg/sm/decrypt.c:1485,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/decrypt.c:1488,1
    - Dst: log_error
      Src: /src/gnupg/sm/decrypt.c:1489,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/decrypt.c:1490,1
    - Dst: gpg_strsource
      Src: /src/gnupg/sm/decrypt.c:1490,1
    - Dst: xfree
      Src: /src/gnupg/sm/decrypt.c:1492,1
    - Dst: ksba_cms_release
      Src: /src/gnupg/sm/decrypt.c:1493,1
    - Dst: gnupg_ksba_destroy_reader
      Src: /src/gnupg/sm/decrypt.c:1494,1
    - Dst: gnupg_ksba_destroy_writer
      Src: /src/gnupg/sm/decrypt.c:1495,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/decrypt.c:1496,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/sm/decrypt.c:1498,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 303
    argCount: 3
    argNames:
    - ctrl
    - in_fp
    - out_fp
    argTypes:
    - ctrl_t
    - estream_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 974
    functionDepth: 6
    functionLinenumber: 974
    functionLinenumberEnd: 1500
    functionName: gpgsm_decrypt
    functionSourceFile: /src/gnupg/sm/decrypt.c
    functionUses: 1
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - gnupg_ksba_create_writer
    - gpgsm_get_key_algo_info
    - gnupg_ksba_set_progress_cb
    - gnupg_ksba_destroy_writer
    - gcry_cipher_algo_name
    - gpgsm_format_keydesc
    - audit_log_ok
    - audit_log_i
    - gnupg_ksba_finish_writer
    - audit_log_cert
    - audit_log_s
    - keydb_search_issuer_sn
    - gpgsm_cert_use_decrypt_p
    - keydb_search_reset
    - gpgsm_dump_serial
    - audit_log
    - gpgsm_format_sn_issuer
    - gnupg_ksba_destroy_reader
    - keydb_new
    - ksba_cms_get_content_oid
    - ksba_cms_get_enc_val
    - log_printhex
    - log_error
    - gpgsm_validate_chain
    - ksba_cms_get_issuer_serial
    - prepare_decryption
    - _
    - log_info
    - keydb_get_cert
    - gpgsm_get_fingerprint_hexstring
    - ksba_cert_get_user_data
    - log_printf
    - gnupg_pk_is_allowed
    - gnupg_cipher_is_allowed
    - gnupg_cipher_is_compliant
    - ksba_cert_release
    - gcry_cipher_checktag
    - keydb_release
    - gcry_cipher_mode_from_oid
    - ksba_cms_set_reader_writer
    - gpgsm_pubkey_algo_string
    - gnupg_status_compliance_flag
    - gnupg_compliance_option_string
    - gpgsm_get_short_fingerprint
    - sprintf
    - gpgsm_status_with_err_code
    - gnupg_pk_is_compliant
    - ksba_cms_new
    - strcmp
    - audit_set_type
    - gpg_error
    - memset
    - gpg_strerror
    - xfree
    - gpg_strsource
    - ksba_cms_release
    - ksba_cms_parse
    - ksba_cms_get_message_digest
    - gcry_cipher_map_name
    - gpgsm_get_keygrip_hexstring
    - snprintf
    - ksba_cms_get_content_enc_iv
    - gnupg_gcrypt_is_compliant
    - gnupg_ksba_set_total
    - gpg_err_code
    - ksba_writer_set_filter
    - gnupg_ksba_create_reader
    - gpgsm_status2
    - gpgsm_status
    - ksba_writer_write
    - gcry_cipher_close
    linkageType: ''
    returnType: int
    signature: int gpgsm_decrypt (ctrl_t ctrl, estream_t in_fp, estream_t out_fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/call-dirmngr.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mb
    - initiallen
    argTypes:
    - struct membuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: init_membuf
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 41
    functionsReached:
    - xtrymalloc
    linkageType: ''
    returnType: void
    signature: void init_membuf (struct membuf *mb, int initiallen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtryrealloc
      Src: /src/gnupg/sm/call-dirmngr.c:122,1
    - Dst: memcpy
      Src: /src/gnupg/sm/call-dirmngr.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - mb
    - buf
    - len
    argTypes:
    - struct membuf*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 132
    functionName: put_membuf
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 36
    functionsReached:
    - xtryrealloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void put_membuf (struct membuf *mb, const void *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/sm/call-dirmngr.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - mb
    - len
    argTypes:
    - struct membuf*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: get_membuf
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 52
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: 'void *

      get_membuf (struct membuf *mb, size_t *len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: warn_server_version_mismatch
      Src: /src/gnupg/sm/call-dirmngr.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctrl
    - ctx
    - servername
    - mode
    argTypes:
    - ctrl_t
    - assuan_context_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: warn_version_mismatch
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 6
    functionsReached:
    - warn_server_version_mismatch
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t warn_version_mismatch (ctrl_t ctrl, assuan_context_t ctx,\n
      \                      const char *servername, int mode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: warn_version_mismatch
      Src: /src/gnupg/sm/call-dirmngr.c:175,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-dirmngr.c:179,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/call-dirmngr.c:181,1
    - Dst: audit_log_ok
      Src: /src/gnupg/sm/call-dirmngr.c:184,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-dirmngr.c:197,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-dirmngr.c:197,1
    - Dst: strncmp
      Src: /src/gnupg/sm/call-dirmngr.c:198,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-dirmngr.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - ctrl
    - ctx
    - err
    argTypes:
    - ctrl_t
    - assuan_context_t
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 209
    functionName: prepare_dirmngr
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - warn_version_mismatch
    - snprintf
    - audit_log_ok
    - DIM
    - assuan_transact
    - gpg_err_code
    - strncmp
    linkageType: ''
    returnType: void
    signature: void prepare_dirmngr (ctrl_t ctrl, assuan_context_t ctx, gpg_error_t
      err)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:221,1
    - Dst: start_new_dirmngr
      Src: /src/gnupg/sm/call-dirmngr.c:229,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/call-dirmngr.c:234,1
    - Dst: log_info
      Src: /src/gnupg/sm/call-dirmngr.c:241,1
    - Dst: _
      Src: /src/gnupg/sm/call-dirmngr.c:241,1
    - Dst: prepare_dirmngr
      Src: /src/gnupg/sm/call-dirmngr.c:244,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ctrl
    - ctx_r
    argTypes:
    - ctrl_t
    - assuan_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 214
    functionDepth: 9
    functionLinenumber: 214
    functionLinenumberEnd: 250
    functionName: start_dirmngr_ext
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - prepare_dirmngr
    - _
    - gpg_error
    - log_info
    - gpg_err_code
    - start_new_dirmngr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t start_dirmngr_ext (ctrl_t ctrl, assuan_context_t *ctx_r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/sm/call-dirmngr.c:258,1
    - Dst: start_dirmngr_ext
      Src: /src/gnupg/sm/call-dirmngr.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 253
    functionDepth: 10
    functionLinenumber: 253
    functionLinenumberEnd: 269
    functionName: start_dirmngr
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - start_dirmngr_ext
    - log_assert
    linkageType: ''
    returnType: int
    signature: int start_dirmngr (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/sm/call-dirmngr.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 280
    functionName: release_dirmngr
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - log_error
    linkageType: ''
    returnType: void
    signature: void release_dirmngr (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/sm/call-dirmngr.c:288,1
    - Dst: start_dirmngr_ext
      Src: /src/gnupg/sm/call-dirmngr.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 283
    functionDepth: 10
    functionLinenumber: 283
    functionLinenumberEnd: 295
    functionName: start_dirmngr2
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - start_dirmngr_ext
    - log_assert
    linkageType: ''
    returnType: int
    signature: int start_dirmngr2 (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/sm/call-dirmngr.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: release_dirmngr2
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - log_error
    linkageType: ''
    returnType: void
    signature: void release_dirmngr2 (ctrl_t ctrl)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:323,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:327,1
    - Dst: make_simple_sexp_from_hexstr
      Src: /src/gnupg/sm/call-dirmngr.c:331,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:336,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:341,1
    - Dst: hexdigitp
      Src: /src/gnupg/sm/call-dirmngr.c:350,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:353,1
    - Dst: gpgsm_agent_istrusted
      Src: /src/gnupg/sm/call-dirmngr.c:358,1
    - Dst: assuan_send_data
      Src: /src/gnupg/sm/call-dirmngr.c:359,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-dirmngr.c:366,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:367,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/call-dirmngr.c:372,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:375,1
    - Dst: assuan_send_data
      Src: /src/gnupg/sm/call-dirmngr.c:377,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-dirmngr.c:381,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:383,1
    - Dst: gpgsm_find_cert
      Src: /src/gnupg/sm/call-dirmngr.c:390,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-dirmngr.c:394,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/call-dirmngr.c:394,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:395,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/call-dirmngr.c:399,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:401,1
    - Dst: assuan_send_data
      Src: /src/gnupg/sm/call-dirmngr.c:403,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/call-dirmngr.c:404,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-dirmngr.c:408,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 410
    functionName: inq_certificate
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - gpgsm_find_cert
    - assuan_send_data
    - log_error
    - ksba_cert_get_image
    - gpg_error
    - gpg_strerror
    - xfree
    - make_simple_sexp_from_hexstr
    - has_leading_keyword
    - gpgsm_agent_istrusted
    - ksba_cert_release
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t inq_certificate (void *opaque, const char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/sm/call-dirmngr.c:421,1
    - Dst: xtoi_2
      Src: /src/gnupg/sm/call-dirmngr.c:426,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - hexstr
    - fpr
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 428
    functionName: unhexify_fpr
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 2
    functionsReached:
    - hexdigitp
    - xtoi_2
    linkageType: ''
    returnType: int
    signature: int unhexify_fpr (const char *hexstr, unsigned char *fpr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:441,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:443,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:448,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:449,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:450,1
    - Dst: _
      Src: /src/gnupg/sm/call-dirmngr.c:451,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:452,1
    - Dst: _
      Src: /src/gnupg/sm/call-dirmngr.c:453,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:454,1
    - Dst: _
      Src: /src/gnupg/sm/call-dirmngr.c:455,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:456,1
    - Dst: _
      Src: /src/gnupg/sm/call-dirmngr.c:457,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:458,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:460,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:462,1
    - Dst: log_info
      Src: /src/gnupg/sm/call-dirmngr.c:470,1
    - Dst: _
      Src: /src/gnupg/sm/call-dirmngr.c:470,1
    - Dst: log_info
      Src: /src/gnupg/sm/call-dirmngr.c:472,1
    - Dst: _
      Src: /src/gnupg/sm/call-dirmngr.c:472,1
    - Dst: spacep
      Src: /src/gnupg/sm/call-dirmngr.c:475,1
    - Dst: spacep
      Src: /src/gnupg/sm/call-dirmngr.c:477,1
    - Dst: gpgsm_print_further_info
      Src: /src/gnupg/sm/call-dirmngr.c:480,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 485
    functionName: warning_and_note_printer
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - gpgsm_print_further_info
    - spacep
    - _
    - log_info
    - has_leading_keyword
    linkageType: ''
    returnType: int
    signature: int warning_and_note_printer (const char *line)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:494,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/call-dirmngr.c:499,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:500,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:503,1
    - Dst: unhexify_fpr
      Src: /src/gnupg/sm/call-dirmngr.c:506,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:509,1
    - Dst: strlen
      Src: /src/gnupg/sm/call-dirmngr.c:511,1
    - Dst: memcpy
      Src: /src/gnupg/sm/call-dirmngr.c:513,1
    - Dst: spacep
      Src: /src/gnupg/sm/call-dirmngr.c:517,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-dirmngr.c:519,1
    - Dst: xtrystrdup
      Src: /src/gnupg/sm/call-dirmngr.c:520,1
    - Dst: warning_and_note_printer
      Src: /src/gnupg/sm/call-dirmngr.c:522,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 488
    functionDepth: 4
    functionLinenumber: 488
    functionLinenumberEnd: 527
    functionName: isvalid_status_cb
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - strlen
    - spacep
    - xtrystrdup
    - gpg_error
    - warning_and_note_printer
    - xfree
    - unhexify_fpr
    - has_leading_keyword
    - gpgsm_status
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t isvalid_status_cb (void *opaque, const char *line)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: start_dirmngr
      Src: /src/gnupg/sm/call-dirmngr.c:566,1
    - Dst: gpgsm_get_fingerprint_hexstring
      Src: /src/gnupg/sm/call-dirmngr.c:570,1
    - Dst: gpgsm_get_certid
      Src: /src/gnupg/sm/call-dirmngr.c:571,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-dirmngr.c:574,1
    - Dst: release_dirmngr
      Src: /src/gnupg/sm/call-dirmngr.c:575,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:576,1
    - Dst: gpgsm_get_fingerprint_string
      Src: /src/gnupg/sm/call-dirmngr.c:581,1
    - Dst: log_info
      Src: /src/gnupg/sm/call-dirmngr.c:582,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-dirmngr.c:584,1
    - Dst: memset
      Src: /src/gnupg/sm/call-dirmngr.c:594,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-dirmngr.c:603,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-dirmngr.c:607,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-dirmngr.c:607,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-dirmngr.c:612,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-dirmngr.c:613,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-dirmngr.c:615,1
    - Dst: log_info
      Src: /src/gnupg/sm/call-dirmngr.c:619,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/call-dirmngr.c:619,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/call-dirmngr.c:621,1
    - Dst: check_isotime
      Src: /src/gnupg/sm/call-dirmngr.c:622,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/sm/call-dirmngr.c:625,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-dirmngr.c:639,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:640,1
    - Dst: get_cached_cert
      Src: /src/gnupg/sm/call-dirmngr.c:646,1
    - Dst: keydb_new
      Src: /src/gnupg/sm/call-dirmngr.c:652,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:654,1
    - Dst: keydb_search_fpr
      Src: /src/gnupg/sm/call-dirmngr.c:656,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/sm/call-dirmngr.c:658,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-dirmngr.c:661,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/call-dirmngr.c:662,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:663,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/call-dirmngr.c:665,1
    - Dst: gpgsm_cert_use_ocsp_p
      Src: /src/gnupg/sm/call-dirmngr.c:670,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:672,1
    - Dst: gpgsm_validate_chain
      Src: /src/gnupg/sm/call-dirmngr.c:677,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-dirmngr.c:682,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/call-dirmngr.c:683,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:684,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/call-dirmngr.c:688,1
    - Dst: release_dirmngr
      Src: /src/gnupg/sm/call-dirmngr.c:692,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-dirmngr.c:693,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 83
    argCount: 6
    argNames:
    - ctrl
    - cert
    - issuer_cert
    - use_ocsp
    - r_revoked_at
    - r_reason
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - ksba_cert_t
    - int
    - gnupg_isotime_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 549
    functionDepth: 11
    functionLinenumber: 549
    functionLinenumberEnd: 695
    functionName: gpgsm_dirmngr_isvalid
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 1
    functionsReached:
    - get_cached_cert
    - gnupg_copy_time
    - keydb_new
    - log_error
    - gpgsm_validate_chain
    - DIM
    - gpgsm_get_fingerprint_hexstring
    - log_info
    - keydb_get_cert
    - gpgsm_cert_use_ocsp_p
    - gpgsm_get_fingerprint_string
    - gpgsm_get_certid
    - ksba_cert_release
    - release_dirmngr
    - check_isotime
    - assuan_transact
    - keydb_search_fpr
    - gpg_error
    - xfree
    - memset
    - gpg_strerror
    - snprintf
    - gpg_err_code
    - start_dirmngr
    - keydb_release
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gpgsm_dirmngr_isvalid (ctrl_t ctrl,\n                       ksba_cert_t
      cert, ksba_cert_t issuer_cert, int use_ocsp,\n                       gnupg_isotime_t
      r_revoked_at, char **r_reason)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/gnupg/sm/call-dirmngr.c:714,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-dirmngr.c:718,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:721,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/sm/call-dirmngr.c:725,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/sm/call-dirmngr.c:731,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-dirmngr.c:734,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/call-dirmngr.c:734,1
    - Dst: struct lookup_parm_s*::cb
      Src: /src/gnupg/sm/call-dirmngr.c:738,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/call-dirmngr.c:741,1
    - Dst: init_membuf
      Src: /src/gnupg/sm/call-dirmngr.c:742,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - opaque
    - buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 744
    functionName: lookup_cb
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - ksba_cert_init_from_mem
    - log_error
    - put_membuf
    - gpg_error
    - ksba_cert_release
    - gpg_strerror
    - struct lookup_parm_s*::cb
    - ksba_cert_new
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t lookup_cb (void *opaque, const void *buffer, size_t length)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/call-dirmngr.c:766,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 1
    argNames:
    - names
    argTypes:
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 804
    functionName: pattern_from_strlist
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      pattern_from_strlist (strlist_t names)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:812,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/call-dirmngr.c:817,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:818,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:821,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/call-dirmngr.c:826,1
    - Dst: warning_and_note_printer
      Src: /src/gnupg/sm/call-dirmngr.c:829,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 806
    functionDepth: 4
    functionLinenumber: 806
    functionLinenumberEnd: 834
    functionName: lookup_status_cb
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - gpgsm_status
    - gpg_error
    - warning_and_note_printer
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t lookup_status_cb (void *opaque, const char *line)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:855,1
    - Dst: start_dirmngr
      Src: /src/gnupg/sm/call-dirmngr.c:861,1
    - Dst: start_dirmngr2
      Src: /src/gnupg/sm/call-dirmngr.c:868,1
    - Dst: log_fatal
      Src: /src/gnupg/sm/call-dirmngr.c:875,1
    - Dst: pattern_from_strlist
      Src: /src/gnupg/sm/call-dirmngr.c:880,1
    - Dst: release_dirmngr
      Src: /src/gnupg/sm/call-dirmngr.c:884,1
    - Dst: release_dirmngr2
      Src: /src/gnupg/sm/call-dirmngr.c:886,1
    - Dst: out_of_core
      Src: /src/gnupg/sm/call-dirmngr.c:888,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-dirmngr.c:890,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-dirmngr.c:890,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-dirmngr.c:892,1
    - Dst: release_dirmngr
      Src: /src/gnupg/sm/call-dirmngr.c:900,1
    - Dst: release_dirmngr2
      Src: /src/gnupg/sm/call-dirmngr.c:902,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:903,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-dirmngr.c:905,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-dirmngr.c:905,1
    - Dst: init_membuf
      Src: /src/gnupg/sm/call-dirmngr.c:913,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-dirmngr.c:915,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-dirmngr.c:917,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-dirmngr.c:917,1
    - Dst: release_dirmngr
      Src: /src/gnupg/sm/call-dirmngr.c:920,1
    - Dst: release_dirmngr2
      Src: /src/gnupg/sm/call-dirmngr.c:922,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 5
    argNames:
    - ctrl
    - names
    - uri
    - cache_only
    - cb_value
    argTypes:
    - ctrl_t
    - strlist_t
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 842
    functionDepth: 11
    functionLinenumber: 842
    functionLinenumberEnd: 927
    functionName: gpgsm_dirmngr_lookup
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 4
    functionsReached:
    - get_membuf
    - release_dirmngr
    - init_membuf
    - snprintf
    - log_fatal
    - DIM
    - release_dirmngr2
    - assuan_transact
    - gpg_error
    - xfree
    - start_dirmngr
    - start_dirmngr2
    - out_of_core
    - pattern_from_strlist
    linkageType: ''
    returnType: int
    signature: "int gpgsm_dirmngr_lookup (ctrl_t ctrl, strlist_t names, const char
      *uri,\n                      int cache_only,\n                      void (*cb)(void*,
      ksba_cert_t), void *cb_value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/gnupg/sm/call-dirmngr.c:937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 939
    functionName: get_cached_cert_data_cb
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - put_membuf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_cached_cert_data_cb (void *opaque, const void *buffer,
      size_t length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bin2hex
      Src: /src/gnupg/sm/call-dirmngr.c:960,1
    - Dst: snprintf
      Src: /src/gnupg/sm/call-dirmngr.c:961,1
    - Dst: DIM
      Src: /src/gnupg/sm/call-dirmngr.c:961,1
    - Dst: init_membuf
      Src: /src/gnupg/sm/call-dirmngr.c:963,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-dirmngr.c:964,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/call-dirmngr.c:966,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-dirmngr.c:969,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:973,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/sm/call-dirmngr.c:975,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-dirmngr.c:978,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/sm/call-dirmngr.c:981,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-dirmngr.c:982,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-dirmngr.c:985,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/call-dirmngr.c:985,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/call-dirmngr.c:986,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - fpr
    - r_cert
    argTypes:
    - assuan_context_t
    - unsigned char*
    - ksba_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 946
    functionDepth: 2
    functionLinenumber: 946
    functionLinenumberEnd: 992
    functionName: get_cached_cert
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 1
    functionsReached:
    - get_membuf
    - init_membuf
    - ksba_cert_init_from_mem
    - log_error
    - bin2hex
    - snprintf
    - DIM
    - assuan_transact
    - gpg_error
    - ksba_cert_release
    - xfree
    - gpg_strerror
    - ksba_cert_new
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_cached_cert (assuan_context_t ctx,\n                 const
      unsigned char *fpr, ksba_cert_t *r_cert)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/gnupg/sm/call-dirmngr.c:1006,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-dirmngr.c:1007,1
    - Dst: strerror
      Src: /src/gnupg/sm/call-dirmngr.c:1007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - opaque
    - buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1010
    functionName: run_command_cb
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - strerror
    - fwrite
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t run_command_cb (void *opaque, const void *buffer, size_t
      length)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:1025,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:1030,1
    - Dst: gpgsm_find_cert
      Src: /src/gnupg/sm/call-dirmngr.c:1032,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-dirmngr.c:1036,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/call-dirmngr.c:1036,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:1037,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/call-dirmngr.c:1041,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:1043,1
    - Dst: assuan_send_data
      Src: /src/gnupg/sm/call-dirmngr.c:1045,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:1048,1
    - Dst: make_simple_sexp_from_hexstr
      Src: /src/gnupg/sm/call-dirmngr.c:1052,1
    - Dst: gpgsm_find_cert
      Src: /src/gnupg/sm/call-dirmngr.c:1057,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-dirmngr.c:1061,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/call-dirmngr.c:1061,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:1062,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/call-dirmngr.c:1066,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:1068,1
    - Dst: assuan_send_data
      Src: /src/gnupg/sm/call-dirmngr.c:1070,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:1073,1
    - Dst: log_info
      Src: /src/gnupg/sm/call-dirmngr.c:1077,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:1079,1
    - Dst: hexdigitp
      Src: /src/gnupg/sm/call-dirmngr.c:1088,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:1091,1
    - Dst: gpgsm_agent_istrusted
      Src: /src/gnupg/sm/call-dirmngr.c:1096,1
    - Dst: assuan_send_data
      Src: /src/gnupg/sm/call-dirmngr.c:1097,1
    - Dst: log_error
      Src: /src/gnupg/sm/call-dirmngr.c:1104,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:1105,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/call-dirmngr.c:1108,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-dirmngr.c:1109,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1013
    functionDepth: 3
    functionLinenumber: 1013
    functionLinenumberEnd: 1111
    functionName: run_command_inq_cb
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - gpgsm_find_cert
    - hexdigitp
    - assuan_send_data
    - log_error
    - ksba_cert_get_image
    - gpg_error
    - gpg_strerror
    - log_info
    - make_simple_sexp_from_hexstr
    - has_leading_keyword
    - xfree
    - gpgsm_agent_istrusted
    - ksba_cert_release
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t run_command_inq_cb (void *opaque, const char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/sm/call-dirmngr.c:1121,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/call-dirmngr.c:1123,1
    - Dst: gpgsm_status
      Src: /src/gnupg/sm/call-dirmngr.c:1128,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/call-dirmngr.c:1129,1
    - Dst: warning_and_note_printer
      Src: /src/gnupg/sm/call-dirmngr.c:1132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1113
    functionDepth: 4
    functionLinenumber: 1113
    functionLinenumberEnd: 1137
    functionName: run_command_status_cb
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - warning_and_note_printer
    - log_info
    - has_leading_keyword
    - gpgsm_status
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t run_command_status_cb (void *opaque, const char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: start_dirmngr
      Src: /src/gnupg/sm/call-dirmngr.c:1157,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/call-dirmngr.c:1158,1
    - Dst: fputs
      Src: /src/gnupg/sm/call-dirmngr.c:1159,1
    - Dst: _
      Src: /src/gnupg/sm/call-dirmngr.c:1159,1
    - Dst: strlen
      Src: /src/gnupg/sm/call-dirmngr.c:1166,1
    - Dst: strlen
      Src: /src/gnupg/sm/call-dirmngr.c:1168,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/call-dirmngr.c:1169,1
    - Dst: release_dirmngr
      Src: /src/gnupg/sm/call-dirmngr.c:1172,1
    - Dst: out_of_core
      Src: /src/gnupg/sm/call-dirmngr.c:1173,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/call-dirmngr.c:1176,1
    - Dst: isascii
      Src: /src/gnupg/sm/call-dirmngr.c:1182,1
    - Dst: isprint
      Src: /src/gnupg/sm/call-dirmngr.c:1186,1
    - Dst: sprintf
      Src: /src/gnupg/sm/call-dirmngr.c:1188,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/call-dirmngr.c:1197,1
    - Dst: xfree
      Src: /src/gnupg/sm/call-dirmngr.c:1201,1
    - Dst: log_info
      Src: /src/gnupg/sm/call-dirmngr.c:1202,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/call-dirmngr.c:1202,1
    - Dst: release_dirmngr
      Src: /src/gnupg/sm/call-dirmngr.c:1203,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - ctrl
    - command
    - argc
    - argv
    argTypes:
    - ctrl_t
    - char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1146
    functionDepth: 11
    functionLinenumber: 1146
    functionLinenumberEnd: 1205
    functionName: gpgsm_dirmngr_run_command
    functionSourceFile: /src/gnupg/sm/call-dirmngr.c
    functionUses: 0
    functionsReached:
    - release_dirmngr
    - strlen
    - out_of_core
    - sprintf
    - _
    - assuan_transact
    - gpg_err_code
    - start_dirmngr
    - fputs
    - xfree
    - log_info
    - stpcpy
    - gpg_strerror
    - xtrymalloc
    - isprint
    - isascii
    linkageType: ''
    returnType: int
    signature: "int gpgsm_dirmngr_run_command (ctrl_t ctrl, const char *command,\n
      \                          int argc, char **argv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/gnupg/sm/certdump.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - sn
    - r_length
    argTypes:
    - ksba_const_sexp_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: gpgsm_get_serial
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 1
    functionsReached:
    - strtoul
    linkageType: ''
    returnType: void
    signature: 'void *

      gpgsm_get_serial (ksba_const_sexp_t sn, size_t *r_length)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:81,1
    - Dst: _
      Src: /src/gnupg/sm/certdump.c:81,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:83,1
    - Dst: strtoul
      Src: /src/gnupg/sm/certdump.c:87,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:90,1
    - Dst: es_write_hexstring
      Src: /src/gnupg/sm/certdump.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - fp
    - sn
    argTypes:
    - estream_t
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: gpgsm_print_serial
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 2
    functionsReached:
    - es_fputs
    - es_write_hexstring
    - strtoul
    - _
    linkageType: ''
    returnType: void
    signature: void gpgsm_print_serial (estream_t fp, ksba_const_sexp_t sn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:109,1
    - Dst: _
      Src: /src/gnupg/sm/certdump.c:109,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:111,1
    - Dst: strtoul
      Src: /src/gnupg/sm/certdump.c:115,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:118,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/sm/certdump.c:119,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:120,1
    - Dst: gcry_mpi_set_ui
      Src: /src/gnupg/sm/certdump.c:127,1
    - Dst: gcry_mpi_new
      Src: /src/gnupg/sm/certdump.c:128,1
    - Dst: gcry_mpi_div
      Src: /src/gnupg/sm/certdump.c:132,1
    - Dst: gcry_mpi_get_ui
      Src: /src/gnupg/sm/certdump.c:133,1
    - Dst: put_membuf_printf
      Src: /src/gnupg/sm/certdump.c:134,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/gnupg/sm/certdump.c:136,1
    - Dst: put_membuf
      Src: /src/gnupg/sm/certdump.c:140,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/certdump.c:141,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:143,1
    - Dst: strlen
      Src: /src/gnupg/sm/certdump.c:146,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:153,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:154,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/certdump.c:157,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/certdump.c:158,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/sm/certdump.c:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - fp
    - sn
    argTypes:
    - estream_t
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 162
    functionName: gpgsm_print_serial_decimal
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 2
    functionsReached:
    - get_membuf
    - put_membuf_printf
    - gcry_mpi_cmp_ui
    - put_membuf
    - strlen
    - _
    - gcry_mpi_div
    - xfree
    - strtoul
    - gcry_mpi_get_ui
    - gcry_mpi_set_ui
    - es_fputs
    - gcry_mpi_new
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void gpgsm_print_serial_decimal (estream_t fp, ksba_const_sexp_t sn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_printf
      Src: /src/gnupg/sm/certdump.c:174,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certdump.c:176,1
    - Dst: strtoul
      Src: /src/gnupg/sm/certdump.c:180,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certdump.c:183,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certdump.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - sn
    argTypes:
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 190
    functionName: gpgsm_dump_serial
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 3
    functionsReached:
    - log_printf
    - strtoul
    linkageType: ''
    returnType: void
    signature: void gpgsm_dump_serial (ksba_const_sexp_t sn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/gnupg/sm/certdump.c:206,1
    - Dst: strtoul
      Src: /src/gnupg/sm/certdump.c:209,1
    - Dst: BUG
      Src: /src/gnupg/sm/certdump.c:212,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certdump.c:215,1
    - Dst: sprintf
      Src: /src/gnupg/sm/certdump.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - sn
    argTypes:
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 223
    functionName: gpgsm_format_serial
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 0
    functionsReached:
    - sprintf
    - strtoul
    - xtrymalloc
    - BUG
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgsm_format_serial (ksba_const_sexp_t sn)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:232,1
    - Dst: _
      Src: /src/gnupg/sm/certdump.c:232,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/certdump.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - fp
    - t
    argTypes:
    - estream_t
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: gpgsm_print_time
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 2
    functionsReached:
    - es_fputs
    - es_fprintf
    - _
    linkageType: ''
    returnType: void
    signature: void gpgsm_print_time (estream_t fp, ksba_isotime_t t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_printf
      Src: /src/gnupg/sm/certdump.c:244,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certdump.c:255,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certdump.c:258,1
    - Dst: log_printhex
      Src: /src/gnupg/sm/certdump.c:259,1
    - Dst: strlen
      Src: /src/gnupg/sm/certdump.c:259,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certdump.c:260,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 263
    functionName: gpgsm_dump_string
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 3
    functionsReached:
    - log_printf
    - log_printhex
    - strlen
    linkageType: ''
    returnType: void
    signature: void gpgsm_dump_string (const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/sm/certdump.c:275,1
    - Dst: ksba_cert_get_serial
      Src: /src/gnupg/sm/certdump.c:278,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certdump.c:279,1
    - Dst: gpgsm_dump_serial
      Src: /src/gnupg/sm/certdump.c:280,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certdump.c:281,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certdump.c:282,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/certdump.c:284,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certdump.c:285,1
    - Dst: dump_isotime
      Src: /src/gnupg/sm/certdump.c:286,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certdump.c:287,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/certdump.c:288,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certdump.c:289,1
    - Dst: dump_isotime
      Src: /src/gnupg/sm/certdump.c:290,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certdump.c:291,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/sm/certdump.c:293,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certdump.c:294,1
    - Dst: gpgsm_dump_string
      Src: /src/gnupg/sm/certdump.c:295,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certdump.c:296,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certdump.c:297,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/certdump.c:299,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certdump.c:300,1
    - Dst: gpgsm_dump_string
      Src: /src/gnupg/sm/certdump.c:301,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certdump.c:302,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certdump.c:303,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certdump.c:305,1
    - Dst: ksba_cert_get_digest_algo
      Src: /src/gnupg/sm/certdump.c:305,1
    - Dst: gpgsm_get_fingerprint_string
      Src: /src/gnupg/sm/certdump.c:307,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certdump.c:308,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:309,1
    - Dst: log_debug
      Src: /src/gnupg/sm/certdump.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 2
    argNames:
    - text
    - cert
    argTypes:
    - char*
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 312
    functionName: gpgsm_dump_cert
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 3
    functionsReached:
    - ksba_free
    - gpgsm_dump_string
    - ksba_cert_get_subject
    - ksba_cert_get_issuer
    - dump_isotime
    - ksba_cert_get_digest_algo
    - xfree
    - gpgsm_get_fingerprint_string
    - ksba_cert_get_serial
    - gpgsm_dump_serial
    - log_printf
    - log_debug
    - ksba_cert_get_validity
    linkageType: ''
    returnType: void
    signature: void gpgsm_dump_cert (const char *text, ksba_cert_t cert)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_format_serial
      Src: /src/gnupg/sm/certdump.c:326,1
    - Dst: xtrystrdup
      Src: /src/gnupg/sm/certdump.c:328,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certdump.c:331,1
    - Dst: strlen
      Src: /src/gnupg/sm/certdump.c:331,1
    - Dst: strlen
      Src: /src/gnupg/sm/certdump.c:331,1
    - Dst: strcpy
      Src: /src/gnupg/sm/certdump.c:335,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/certdump.c:335,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/certdump.c:335,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:337,1
    - Dst: xtrystrdup
      Src: /src/gnupg/sm/certdump.c:341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - sn
    - issuer
    argTypes:
    - ksba_sexp_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 343
    functionName: gpgsm_format_sn_issuer
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 3
    functionsReached:
    - strlen
    - xtrystrdup
    - gpgsm_format_serial
    - strcpy
    - xfree
    - stpcpy
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgsm_format_sn_issuer (ksba_sexp_t sn, const char *issuer)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/sm/certdump.c:351,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/sm/certdump.c:357,1
    - Dst: ksba_cert_get_serial
      Src: /src/gnupg/sm/certdump.c:358,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certdump.c:361,1
    - Dst: gpgsm_dump_serial
      Src: /src/gnupg/sm/certdump.c:362,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certdump.c:363,1
    - Dst: gpgsm_dump_string
      Src: /src/gnupg/sm/certdump.c:364,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certdump.c:367,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certdump.c:368,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:369,1
    - Dst: log_printf
      Src: /src/gnupg/sm/certdump.c:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - text
    - cert
    argTypes:
    - char*
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 372
    functionName: gpgsm_cert_log_name
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 1
    functionsReached:
    - ksba_free
    - gpgsm_dump_string
    - log_info
    - xfree
    - ksba_cert_get_serial
    - gpgsm_dump_serial
    - log_printf
    - ksba_cert_get_issuer
    linkageType: ''
    returnType: void
    signature: void gpgsm_cert_log_name (const char *text, ksba_cert_t cert)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certdump.c:419,1
    - Dst: memcpy
      Src: /src/gnupg/sm/certdump.c:422,1
    - Dst: trim_trailing_spaces
      Src: /src/gnupg/sm/certdump.c:424,1
    - Dst: digitp
      Src: /src/gnupg/sm/certdump.c:426,1
    - Dst: strcmp
      Src: /src/gnupg/sm/certdump.c:429,1
    - Dst: strcpy
      Src: /src/gnupg/sm/certdump.c:431,1
    - Dst: hexdigitp
      Src: /src/gnupg/sm/certdump.c:440,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certdump.c:446,1
    - Dst: xtoi_2
      Src: /src/gnupg/sm/certdump.c:451,1
    - Dst: hexdigitp
      Src: /src/gnupg/sm/certdump.c:469,1
    - Dst: hexdigitp
      Src: /src/gnupg/sm/certdump.c:469,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certdump.c:486,1
    - Dst: hexdigitp
      Src: /src/gnupg/sm/certdump.c:494,1
    - Dst: xtoi_2
      Src: /src/gnupg/sm/certdump.c:496,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 74
    argCount: 2
    argNames:
    - array
    - string
    argTypes:
    - struct dn_array_s*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 508
    functionName: parse_dn_part
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 0
    functionsReached:
    - trim_trailing_spaces
    - hexdigitp
    - digitp
    - strcmp
    - strcpy
    - memcpy
    - xtrymalloc
    - xtoi_2
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      parse_dn_part (struct dn_array_s *array, const unsigned char *string)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certdump.c:523,1
    - Dst: xtryrealloc
      Src: /src/gnupg/sm/certdump.c:537,1
    - Dst: parse_dn_part
      Src: /src/gnupg/sm/certdump.c:544,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:564,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:565,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:567,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 1
    argNames:
    - string
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 569
    functionName: parse_dn
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 0
    functionsReached:
    - parse_dn_part
    - xtryrealloc
    - xtrymalloc
    - xfree
    linkageType: ''
    returnType: struct dn_array_s
    signature: 'struct dn_array_s *

      parse_dn (const unsigned char *string)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/sm/certdump.c:581,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/certdump.c:593,1
    - Dst: print_utf8_buffer3
      Src: /src/gnupg/sm/certdump.c:595,1
    - Dst: strlen
      Src: /src/gnupg/sm/certdump.c:595,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/sm/certdump.c:598,1
    - Dst: strlen
      Src: /src/gnupg/sm/certdump.c:598,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - stream
    - dn
    - key
    - translate
    argTypes:
    - estream_t
    - struct dn_array_s*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 609
    functionName: print_dn_part
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - strlen
    - es_write_sanitized
    - strcmp
    - print_utf8_buffer3
    linkageType: ''
    returnType: void
    signature: "void print_dn_part (estream_t stream,\n               struct dn_array_s
      *dn, const char *key, int translate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_dn_part
      Src: /src/gnupg/sm/certdump.c:623,1
    - Dst: print_dn_part
      Src: /src/gnupg/sm/certdump.c:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - dn
    - translate
    argTypes:
    - estream_t
    - struct dn_array_s*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 613
    functionDepth: 3
    functionLinenumber: 613
    functionLinenumberEnd: 628
    functionName: print_dn_parts
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 0
    functionsReached:
    - print_dn_part
    linkageType: ''
    returnType: void
    signature: "void print_dn_parts (estream_t stream,\n                struct dn_array_s
      *dn, int translate)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/sm/certdump.c:640,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:642,1
    - Dst: _
      Src: /src/gnupg/sm/certdump.c:642,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/sm/certdump.c:645,1
    - Dst: log_assert
      Src: /src/gnupg/sm/certdump.c:646,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certdump.c:647,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:650,1
    - Dst: _
      Src: /src/gnupg/sm/certdump.c:650,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certdump.c:651,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/sm/certdump.c:654,1
    - Dst: log_assert
      Src: /src/gnupg/sm/certdump.c:655,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:661,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:664,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:666,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:668,1
    - Dst: es_putc
      Src: /src/gnupg/sm/certdump.c:670,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:672,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certdump.c:673,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - fp
    - buf
    - buflen
    argTypes:
    - estream_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 674
    functionName: pretty_es_print_sexp
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 0
    functionsReached:
    - log_assert
    - _
    - gcry_sexp_sscan
    - es_putc
    - xfree
    - gcry_sexp_release
    - gcry_sexp_sprint
    - es_fputs
    - xtrymalloc
    linkageType: ''
    returnType: void
    signature: void pretty_es_print_sexp (estream_t fp, const unsigned char *buf,
      size_t buflen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:686,1
    - Dst: _
      Src: /src/gnupg/sm/certdump.c:686,1
    - Dst: strchr
      Src: /src/gnupg/sm/certdump.c:690,1
    - Dst: print_utf8_buffer
      Src: /src/gnupg/sm/certdump.c:695,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/sm/certdump.c:697,1
    - Dst: pretty_es_print_sexp
      Src: /src/gnupg/sm/certdump.c:702,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/certdump.c:702,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:707,1
    - Dst: _
      Src: /src/gnupg/sm/certdump.c:707,1
    - Dst: parse_dn
      Src: /src/gnupg/sm/certdump.c:710,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/certdump.c:713,1
    - Dst: _
      Src: /src/gnupg/sm/certdump.c:713,1
    - Dst: print_dn_parts
      Src: /src/gnupg/sm/certdump.c:716,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:719,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:720,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:722,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - fp
    - name
    - translate
    argTypes:
    - estream_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 678
    functionDepth: 4
    functionLinenumber: 678
    functionLinenumberEnd: 725
    functionName: gpgsm_es_print_name2
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 0
    functionsReached:
    - pretty_es_print_sexp
    - es_write_sanitized
    - parse_dn
    - _
    - strchr
    - xfree
    - gcry_sexp_canon_len
    - print_utf8_buffer
    - es_fputs
    - print_dn_parts
    linkageType: ''
    returnType: void
    signature: void gpgsm_es_print_name2 (estream_t fp, const char *name, int translate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_write_sanitized
      Src: /src/gnupg/sm/certdump.c:735,1
    - Dst: strlen
      Src: /src/gnupg/sm/certdump.c:735,1
    - Dst: gpgsm_es_print_name2
      Src: /src/gnupg/sm/certdump.c:738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fp
    - name
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 728
    functionDepth: 5
    functionLinenumber: 728
    functionLinenumberEnd: 739
    functionName: gpgsm_es_print_name
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 3
    functionsReached:
    - es_write_sanitized
    - gpgsm_es_print_name2
    - strlen
    linkageType: ''
    returnType: void
    signature: void gpgsm_es_print_name (estream_t fp, const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certdump.c:764,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/sm/certdump.c:775,1
    - Dst: xtryrealloc
      Src: /src/gnupg/sm/certdump.c:779,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:791,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/sm/certdump.c:793,1
    - Dst: memcpy
      Src: /src/gnupg/sm/certdump.c:796,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - cookie
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 801
    functionName: format_name_writer
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 0
    functionsReached:
    - xtryrealloc
    - xfree
    - memcpy
    - gpg_err_set_errno
    - xtrymalloc
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t format_name_writer (void *cookie, const void *buffer,
      size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/certdump.c:816,1
    - Dst: es_fopencookie
      Src: /src/gnupg/sm/certdump.c:819,1
    - Dst: log_error
      Src: /src/gnupg/sm/certdump.c:823,1
    - Dst: strerror
      Src: /src/gnupg/sm/certdump.c:823,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/sm/certdump.c:824,1
    - Dst: gpgsm_es_print_name2
      Src: /src/gnupg/sm/certdump.c:827,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/certdump.c:828,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:831,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/sm/certdump.c:832,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - name
    - translate
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 809
    functionDepth: 5
    functionLinenumber: 809
    functionLinenumberEnd: 836
    functionName: gpgsm_format_name2
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 3
    functionsReached:
    - es_fopencookie
    - log_error
    - es_fclose
    - gpgsm_es_print_name2
    - memset
    - xfree
    - gpg_err_set_errno
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgsm_format_name2 (const char *name, int translate)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_format_name2
      Src: /src/gnupg/sm/certdump.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 839
    functionDepth: 6
    functionLinenumber: 839
    functionLinenumberEnd: 843
    functionName: gpgsm_format_name
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 0
    functionsReached:
    - gpgsm_format_name2
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgsm_format_name (const char *name)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_get_fingerprint_hexstring
      Src: /src/gnupg/sm/certdump.c:855,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/certdump.c:859,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:862,1
    - Dst: gpgsm_format_name2
      Src: /src/gnupg/sm/certdump.c:866,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certdump.c:867,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:871,1
    - Dst: xtrymalloc
      Src: /src/gnupg/sm/certdump.c:875,1
    - Dst: strlen
      Src: /src/gnupg/sm/certdump.c:875,1
    - Dst: strlen
      Src: /src/gnupg/sm/certdump.c:875,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/certdump.c:880,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/certdump.c:880,1
    - Dst: sprintf
      Src: /src/gnupg/sm/certdump.c:885,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:893,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:894,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 849
    functionDepth: 6
    functionLinenumber: 849
    functionLinenumberEnd: 896
    functionName: gpgsm_fpr_and_name_for_status
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 1
    functionsReached:
    - ksba_free
    - xtrymalloc
    - strlen
    - sprintf
    - ksba_cert_get_subject
    - gpgsm_get_fingerprint_hexstring
    - xfree
    - stpcpy
    - gpgsm_format_name2
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgsm_fpr_and_name_for_status (ksba_cert_t cert)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/sm/certdump.c:913,1
    - Dst: gpgsm_format_name2
      Src: /src/gnupg/sm/certdump.c:914,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certdump.c:915,1
    - Dst: ksba_cert_get_serial
      Src: /src/gnupg/sm/certdump.c:917,1
    - Dst: gpgsm_format_serial
      Src: /src/gnupg/sm/certdump.c:918,1
    - Dst: ksba_free
      Src: /src/gnupg/sm/certdump.c:919,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/certdump.c:921,1
    - Dst: sprintf
      Src: /src/gnupg/sm/certdump.c:923,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/sm/certdump.c:926,1
    - Dst: sprintf
      Src: /src/gnupg/sm/certdump.c:928,1
    - Dst: i18n_switchto_utf8
      Src: /src/gnupg/sm/certdump.c:932,1
    - Dst: xtryasprintf
      Src: /src/gnupg/sm/certdump.c:934,1
    - Dst: _
      Src: /src/gnupg/sm/certdump.c:934,1
    - Dst: gpgsm_get_short_fingerprint
      Src: /src/gnupg/sm/certdump.c:941,1
    - Dst: i18n_switchback
      Src: /src/gnupg/sm/certdump.c:944,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:948,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:949,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:953,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:954,1
    - Dst: percent_plus_escape
      Src: /src/gnupg/sm/certdump.c:956,1
    - Dst: xfree
      Src: /src/gnupg/sm/certdump.c:957,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 902
    functionDepth: 6
    functionLinenumber: 902
    functionLinenumberEnd: 959
    functionName: gpgsm_format_keydesc
    functionSourceFile: /src/gnupg/sm/certdump.c
    functionUses: 4
    functionsReached:
    - ksba_free
    - i18n_switchto_utf8
    - gpgsm_get_short_fingerprint
    - percent_plus_escape
    - i18n_switchback
    - sprintf
    - ksba_cert_get_subject
    - _
    - gpgsm_format_serial
    - xtryasprintf
    - xfree
    - ksba_cert_get_serial
    - gpgsm_format_name2
    - ksba_cert_get_validity
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgsm_format_keydesc (ksba_cert_t cert)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:44,1
    - Dst: tty_get
      Src: /src/gnupg/sm/certreqgen-ui.c:45,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/sm/certreqgen-ui.c:46,1
    - Dst: trim_spaces
      Src: /src/gnupg/sm/certreqgen-ui.c:47,1
    - Dst: put_membuf_str
      Src: /src/gnupg/sm/certreqgen-ui.c:50,1
    - Dst: put_membuf_str
      Src: /src/gnupg/sm/certreqgen-ui.c:51,1
    - Dst: put_membuf
      Src: /src/gnupg/sm/certreqgen-ui.c:52,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - mb
    - prefix
    argTypes:
    - membuf_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: ask_mb_lines
    functionSourceFile: /src/gnupg/sm/certreqgen-ui.c
    functionUses: 0
    functionsReached:
    - put_membuf
    - tty_kill_prompt
    - trim_spaces
    - tty_get
    - put_membuf_str
    - xfree
    linkageType: ''
    returnType: void
    signature: void ask_mb_lines (membuf_t *mb, const char *prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf_str
      Src: /src/gnupg/sm/certreqgen-ui.c:63,1
    - Dst: put_membuf_str
      Src: /src/gnupg/sm/certreqgen-ui.c:64,1
    - Dst: put_membuf
      Src: /src/gnupg/sm/certreqgen-ui.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mb
    - key
    - value
    argTypes:
    - membuf_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: store_key_value_lf
    functionSourceFile: /src/gnupg/sm/certreqgen-ui.c
    functionUses: 0
    functionsReached:
    - put_membuf
    - put_membuf_str
    linkageType: ''
    returnType: void
    signature: void store_key_value_lf (membuf_t *mb, const char *key, const char
      *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_membuf_len
      Src: /src/gnupg/sm/certreqgen-ui.c:75,1
    - Dst: put_membuf
      Src: /src/gnupg/sm/certreqgen-ui.c:77,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/certreqgen-ui.c:78,1
    - Dst: put_membuf_str
      Src: /src/gnupg/sm/certreqgen-ui.c:81,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - mb
    - lines
    argTypes:
    - membuf_t*
    - membuf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: store_mb_lines
    functionSourceFile: /src/gnupg/sm/certreqgen-ui.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - put_membuf
    - put_membuf_str
    - xfree
    - get_membuf_len
    linkageType: ''
    returnType: int
    signature: int store_mb_lines (membuf_t *mb, membuf_t *lines)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_agent_readkey
      Src: /src/gnupg/sm/certreqgen-ui.c:102,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/sm/certreqgen-ui.c:105,1
    - Dst: get_pk_algo_from_canon_sexp
      Src: /src/gnupg/sm/certreqgen-ui.c:107,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ctrl
    - hexgrip
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 120
    functionName: check_keygrip
    functionSourceFile: /src/gnupg/sm/certreqgen-ui.c
    functionUses: 2
    functionsReached:
    - gpgsm_agent_readkey
    - get_pk_algo_from_canon_sexp
    - gcry_sexp_canon_len
    - xfree
    linkageType: ''
    returnType: char
    signature: 'char *

      check_keygrip (ctrl_t ctrl, const char *hexgrip)'
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: init_membuf
      Src: /src/gnupg/sm/certreqgen-ui.c:151,1
    - Dst: init_membuf
      Src: /src/gnupg/sm/certreqgen-ui.c:152,1
    - Dst: init_membuf
      Src: /src/gnupg/sm/certreqgen-ui.c:153,1
    - Dst: init_membuf
      Src: /src/gnupg/sm/certreqgen-ui.c:154,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:158,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:158,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:159,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:159,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:160,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:160,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:161,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:161,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:165,1
    - Dst: tty_get
      Src: /src/gnupg/sm/certreqgen-ui.c:166,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:166,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/sm/certreqgen-ui.c:167,1
    - Dst: atoi
      Src: /src/gnupg/sm/certreqgen-ui.c:168,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:179,1
    - Dst: tty_getf
      Src: /src/gnupg/sm/certreqgen-ui.c:180,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:180,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/sm/certreqgen-ui.c:181,1
    - Dst: trim_spaces
      Src: /src/gnupg/sm/certreqgen-ui.c:182,1
    - Dst: atoi
      Src: /src/gnupg/sm/certreqgen-ui.c:183,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:185,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:185,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:190,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:190,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:195,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:195,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:202,1
    - Dst: tty_get
      Src: /src/gnupg/sm/certreqgen-ui.c:203,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:203,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/sm/certreqgen-ui.c:204,1
    - Dst: trim_spaces
      Src: /src/gnupg/sm/certreqgen-ui.c:205,1
    - Dst: strlen
      Src: /src/gnupg/sm/certreqgen-ui.c:209,1
    - Dst: strlen
      Src: /src/gnupg/sm/certreqgen-ui.c:210,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:211,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:211,1
    - Dst: check_keygrip
      Src: /src/gnupg/sm/certreqgen-ui.c:212,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:213,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:213,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:217,1
    - Dst: gpgsm_agent_scd_serialno
      Src: /src/gnupg/sm/certreqgen-ui.c:228,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:231,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:231,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen-ui.c:231,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:234,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:234,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:235,1
    - Dst: gpgsm_agent_scd_keypairinfo
      Src: /src/gnupg/sm/certreqgen-ui.c:237,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:240,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:240,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/certreqgen-ui.c:240,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:246,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:246,1
    - Dst: strchr
      Src: /src/gnupg/sm/certreqgen-ui.c:255,1
    - Dst: gpgsm_agent_readkey
      Src: /src/gnupg/sm/certreqgen-ui.c:259,1
    - Dst: gcry_sexp_new
      Src: /src/gnupg/sm/certreqgen-ui.c:261,1
    - Dst: pubkey_algo_string
      Src: /src/gnupg/sm/certreqgen-ui.c:262,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/sm/certreqgen-ui.c:263,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:265,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:267,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:270,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:275,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:280,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:285,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:288,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:289,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:291,1
    - Dst: tty_get
      Src: /src/gnupg/sm/certreqgen-ui.c:292,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:292,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/sm/certreqgen-ui.c:293,1
    - Dst: trim_spaces
      Src: /src/gnupg/sm/certreqgen-ui.c:294,1
    - Dst: atoi
      Src: /src/gnupg/sm/certreqgen-ui.c:295,1
    - Dst: spacep
      Src: /src/gnupg/sm/certreqgen-ui.c:304,1
    - Dst: spacep
      Src: /src/gnupg/sm/certreqgen-ui.c:306,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:309,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:311,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/certreqgen-ui.c:312,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/certreqgen-ui.c:313,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:319,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:319,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:320,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:320,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:321,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:321,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:322,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:322,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:325,1
    - Dst: tty_get
      Src: /src/gnupg/sm/certreqgen-ui.c:326,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:326,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/sm/certreqgen-ui.c:327,1
    - Dst: trim_spaces
      Src: /src/gnupg/sm/certreqgen-ui.c:328,1
    - Dst: atoi
      Src: /src/gnupg/sm/certreqgen-ui.c:329,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:345,1
    - Dst: tty_get
      Src: /src/gnupg/sm/certreqgen-ui.c:346,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:346,1
    - Dst: tty_kill_prompt
      Src: /src/gnupg/sm/certreqgen-ui.c:347,1
    - Dst: trim_spaces
      Src: /src/gnupg/sm/certreqgen-ui.c:348,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:350,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:350,1
    - Dst: ksba_dn_teststr
      Src: /src/gnupg/sm/certreqgen-ui.c:351,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/certreqgen-ui.c:353,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:354,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:354,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:363,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:363,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:364,1
    - Dst: atoi
      Src: /src/gnupg/sm/certreqgen-ui.c:365,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:365,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:377,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:377,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:378,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:378,1
    - Dst: ask_mb_lines
      Src: /src/gnupg/sm/certreqgen-ui.c:379,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:382,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:382,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:383,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:383,1
    - Dst: ask_mb_lines
      Src: /src/gnupg/sm/certreqgen-ui.c:384,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:387,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:387,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:388,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:388,1
    - Dst: ask_mb_lines
      Src: /src/gnupg/sm/certreqgen-ui.c:389,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:392,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:392,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:393,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:393,1
    - Dst: ask_mb_lines
      Src: /src/gnupg/sm/certreqgen-ui.c:394,1
    - Dst: tty_get_answer_is_yes
      Src: /src/gnupg/sm/certreqgen-ui.c:398,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:399,1
    - Dst: store_key_value_lf
      Src: /src/gnupg/sm/certreqgen-ui.c:403,1
    - Dst: snprintf
      Src: /src/gnupg/sm/certreqgen-ui.c:406,1
    - Dst: store_key_value_lf
      Src: /src/gnupg/sm/certreqgen-ui.c:407,1
    - Dst: store_key_value_lf
      Src: /src/gnupg/sm/certreqgen-ui.c:410,1
    - Dst: store_key_value_lf
      Src: /src/gnupg/sm/certreqgen-ui.c:411,1
    - Dst: store_key_value_lf
      Src: /src/gnupg/sm/certreqgen-ui.c:413,1
    - Dst: store_key_value_lf
      Src: /src/gnupg/sm/certreqgen-ui.c:414,1
    - Dst: store_mb_lines
      Src: /src/gnupg/sm/certreqgen-ui.c:415,1
    - Dst: store_mb_lines
      Src: /src/gnupg/sm/certreqgen-ui.c:417,1
    - Dst: store_mb_lines
      Src: /src/gnupg/sm/certreqgen-ui.c:419,1
    - Dst: put_membuf
      Src: /src/gnupg/sm/certreqgen-ui.c:421,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/certreqgen-ui.c:422,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:426,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:426,1
    - Dst: strchr
      Src: /src/gnupg/sm/certreqgen-ui.c:427,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:428,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:429,1
    - Dst: tty_get_answer_is_yes
      Src: /src/gnupg/sm/certreqgen-ui.c:431,1
    - Dst: es_fopenmem
      Src: /src/gnupg/sm/certreqgen-ui.c:435,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen-ui.c:438,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:438,1
    - Dst: strerror
      Src: /src/gnupg/sm/certreqgen-ui.c:438,1
    - Dst: es_fputs
      Src: /src/gnupg/sm/certreqgen-ui.c:441,1
    - Dst: es_rewind
      Src: /src/gnupg/sm/certreqgen-ui.c:442,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:444,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:444,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:446,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:446,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:447,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:447,1
    - Dst: gpgsm_genkey
      Src: /src/gnupg/sm/certreqgen-ui.c:452,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:458,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:458,1
    - Dst: tty_printf
      Src: /src/gnupg/sm/certreqgen-ui.c:460,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:461,1
    - Dst: log_error
      Src: /src/gnupg/sm/certreqgen-ui.c:467,1
    - Dst: _
      Src: /src/gnupg/sm/certreqgen-ui.c:467,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/certreqgen-ui.c:469,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:470,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:471,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:472,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:473,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:474,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/certreqgen-ui.c:474,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:475,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/certreqgen-ui.c:475,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:476,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/certreqgen-ui.c:476,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:477,1
    - Dst: get_membuf
      Src: /src/gnupg/sm/certreqgen-ui.c:477,1
    - Dst: xfree
      Src: /src/gnupg/sm/certreqgen-ui.c:478,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 251
    argCount: 2
    argNames:
    - ctrl
    - output_stream
    argTypes:
    - ctrl_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 479
    functionName: gpgsm_gencertreq_tty
    functionSourceFile: /src/gnupg/sm/certreqgen-ui.c
    functionUses: 0
    functionsReached:
    - strlen
    - put_membuf
    - gpgsm_agent_readkey
    - tty_get
    - gpgsm_agent_scd_serialno
    - check_keygrip
    - ksba_dn_teststr
    - es_fopenmem
    - init_membuf
    - log_error
    - tty_kill_prompt
    - trim_spaces
    - _
    - es_rewind
    - gcry_sexp_release
    - pubkey_algo_string
    - tty_getf
    - tty_printf
    - free_strlist
    - store_mb_lines
    - spacep
    - strchr
    - xfree
    - gpg_strerror
    - gpgsm_agent_scd_keypairinfo
    - es_fputs
    - gcry_sexp_new
    - tty_get_answer_is_yes
    - store_key_value_lf
    - get_membuf
    - ask_mb_lines
    - gpgsm_genkey
    - atoi
    - snprintf
    - es_fclose
    - gpg_err_code
    - xasprintf
    - strerror
    linkageType: ''
    returnType: void
    signature: void gpgsm_gencertreq_tty (ctrl_t ctrl, estream_t output_stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_test_algo
      Src: /src/gnupg/sm/gpgsm.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 590
    functionName: our_pk_test_algo
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 0
    functionsReached:
    - gcry_pk_test_algo
    linkageType: ''
    returnType: int
    signature: int our_pk_test_algo (int algo)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_test_algo
      Src: /src/gnupg/sm/gpgsm.c:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 612
    functionName: our_cipher_test_algo
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_test_algo
    linkageType: ''
    returnType: int
    signature: int our_cipher_test_algo (int algo)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/sm/gpgsm.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 632
    functionName: our_md_test_algo
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 0
    functionsReached:
    - gcry_md_test_algo
    linkageType: ''
    returnType: int
    signature: int our_md_test_algo (int algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/gnupg/sm/gpgsm.c:643,1
    - Dst: getfnc
      Src: /src/gnupg/sm/gpgsm.c:646,1
    - Dst: xmalloc
      Src: /src/gnupg/sm/gpgsm.c:647,1
    - Dst: strlen
      Src: /src/gnupg/sm/gpgsm.c:647,1
    - Dst: strlen
      Src: /src/gnupg/sm/gpgsm.c:647,1
    - Dst: strcpy
      Src: /src/gnupg/sm/gpgsm.c:648,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/gpgsm.c:648,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/gpgsm.c:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - libname
    - (*getfnc)(const char*)
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 650
    functionName: make_libversion
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 2
    functionsReached:
    - strlen
    - gcry_control
    - xmalloc
    - strcpy
    - stpcpy
    - getfnc
    linkageType: ''
    returnType: char
    signature: 'char *

      make_libversion (const char *libname, const char *(*getfnc)(const char*))'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:668,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:671,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:674,1
    - Dst: make_libversion
      Src: /src/gnupg/sm/gpgsm.c:681,1
    - Dst: make_libversion
      Src: /src/gnupg/sm/gpgsm.c:686,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/sm/gpgsm.c:691,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:692,1
    - Dst: build_list
      Src: /src/gnupg/sm/gpgsm.c:695,1
    - Dst: build_list
      Src: /src/gnupg/sm/gpgsm.c:701,1
    - Dst: build_list
      Src: /src/gnupg/sm/gpgsm.c:707,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 653
    functionDepth: 5
    functionLinenumber: 653
    functionLinenumberEnd: 714
    functionName: my_strusage
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 0
    functionsReached:
    - build_list
    - make_libversion
    - gnupg_homedir
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage( int level )'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/sm/gpgsm.c:721,1
    - Dst: gcry_control
      Src: /src/gnupg/sm/gpgsm.c:725,1
    - Dst: chkf
      Src: /src/gnupg/sm/gpgsm.c:729,1
    - Dst: strlen
      Src: /src/gnupg/sm/gpgsm.c:730,1
    - Dst: mapf
      Src: /src/gnupg/sm/gpgsm.c:730,1
    - Dst: xmalloc
      Src: /src/gnupg/sm/gpgsm.c:731,1
    - Dst: chkf
      Src: /src/gnupg/sm/gpgsm.c:735,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/gpgsm.c:738,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/gpgsm.c:740,1
    - Dst: stpcpy
      Src: /src/gnupg/sm/gpgsm.c:741,1
    - Dst: mapf
      Src: /src/gnupg/sm/gpgsm.c:741,1
    - Dst: strcpy
      Src: /src/gnupg/sm/gpgsm.c:745,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - text
    - (*mapf)(int)
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 747
    functionName: build_list
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 2
    functionsReached:
    - strlen
    - gcry_control
    - xmalloc
    - strcpy
    - mapf
    - stpcpy
    - chkf
    linkageType: ''
    returnType: char
    signature: 'char *

      build_list (const char *text, const char * (*mapf)(int), int (*chkf)(int))'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setmode
      Src: /src/gnupg/sm/gpgsm.c:755,1
    - Dst: fileno
      Src: /src/gnupg/sm/gpgsm.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 759
    functionName: set_binary
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 12
    functionsReached:
    - setmode
    - fileno
    linkageType: ''
    returnType: void
    signature: void set_binary (FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/sm/gpgsm.c:766,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:766,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/gpgsm.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 768
    functionName: wrong_args
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 4
    functionsReached:
    - fprintf
    - gpgsm_exit
    - _
    linkageType: ''
    returnType: void
    signature: void wrong_args (const char *text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: session_env_setenv
      Src: /src/gnupg/sm/gpgsm.c:776,1
    - Dst: log_fatal
      Src: /src/gnupg/sm/gpgsm.c:778,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/gpgsm.c:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 771
    functionDepth: 3
    functionLinenumber: 771
    functionLinenumberEnd: 780
    functionName: set_opt_session_env
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 2
    functionsReached:
    - log_fatal
    - gpg_strerror
    - session_env_setenv
    linkageType: ''
    returnType: void
    signature: void set_opt_session_env (const char *name, const char *value)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/sm/gpgsm.c:790,1
    - Dst: atoi
      Src: /src/gnupg/sm/gpgsm.c:791,1
    - Dst: strcmp
      Src: /src/gnupg/sm/gpgsm.c:795,1
    - Dst: strcmp
      Src: /src/gnupg/sm/gpgsm.c:797,1
    - Dst: strcmp
      Src: /src/gnupg/sm/gpgsm.c:799,1
    - Dst: strcmp
      Src: /src/gnupg/sm/gpgsm.c:801,1
    - Dst: strcmp
      Src: /src/gnupg/sm/gpgsm.c:804,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:816,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:816,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/gpgsm.c:817,1
    - Dst: gcry_control
      Src: /src/gnupg/sm/gpgsm.c:828,1
    - Dst: gcry_control
      Src: /src/gnupg/sm/gpgsm.c:830,1
    - Dst: gcry_control
      Src: /src/gnupg/sm/gpgsm.c:831,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/sm/gpgsm.c:834,1
    - Dst: p12_set_verbosity
      Src: /src/gnupg/sm/gpgsm.c:838,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 839
    functionName: set_debug
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 2
    functionsReached:
    - atoi
    - gpgsm_exit
    - log_error
    - digitp
    - gcry_control
    - _
    - strcmp
    - p12_set_verbosity
    - parse_debug_flag
    linkageType: ''
    returnType: void
    signature: void set_debug (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:859,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:859,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/gpgsm.c:860,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - ret_cmd
    - new_cmd
    argTypes:
    - enum cmd_and_opt_values*
    - enum cmd_and_opt_values
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 864
    functionName: set_cmd
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 2
    functionsReached:
    - gpgsm_exit
    - _
    - log_error
    linkageType: ''
    returnType: void
    signature: void set_cmd (enum cmd_and_opt_values *ret_cmd, enum cmd_and_opt_values
      new_cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_add_to_certlist
      Src: /src/gnupg/sm/gpgsm.c:872,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:877,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/gpgsm.c:877,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/gpgsm.c:878,1
    - Dst: get_inv_recpsgnr_code
      Src: /src/gnupg/sm/gpgsm.c:879,1
    - Dst: log_info
      Src: /src/gnupg/sm/gpgsm.c:882,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:882,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/gpgsm.c:883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - ctrl
    - name
    - recplist
    - is_encrypt_to
    - recp_required
    argTypes:
    - ctrl_t
    - char*
    - certlist_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 868
    functionDepth: 4
    functionLinenumber: 868
    functionLinenumberEnd: 885
    functionName: do_add_recipient
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 0
    functionsReached:
    - log_error
    - get_inv_recpsgnr_code
    - _
    - gpg_strerror
    - gpgsm_add_to_certlist
    - gpgsm_status2
    - log_info
    linkageType: ''
    returnType: void
    signature: "void do_add_recipient (ctrl_t ctrl, const char *name,\n                  certlist_t
      *recplist, int is_encrypt_to, int recp_required)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_parse_validation_model
      Src: /src/gnupg/sm/gpgsm.c:891,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:893,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - model
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 896
    functionName: parse_validation_model
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 2
    functionsReached:
    - gpgsm_parse_validation_model
    - _
    - log_error
    linkageType: ''
    returnType: void
    signature: void parse_validation_model (const char *model)
  - BBCount: 317
    BranchProfiles: []
    Callsites:
    - Dst: early_system_init
      Src: /src/gnupg/sm/gpgsm.c:945,1
    - Dst: gnupg_reopen_std
      Src: /src/gnupg/sm/gpgsm.c:946,1
    - Dst: gnupg_rl_initialize
      Src: /src/gnupg/sm/gpgsm.c:948,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/sm/gpgsm.c:949,1
    - Dst: gcry_control
      Src: /src/gnupg/sm/gpgsm.c:950,1
    - Dst: log_set_prefix
      Src: /src/gnupg/sm/gpgsm.c:955,1
    - Dst: i18n_init
      Src: /src/gnupg/sm/gpgsm.c:958,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/sm/gpgsm.c:959,1
    - Dst: ksba_check_version
      Src: /src/gnupg/sm/gpgsm.c:963,1
    - Dst: log_fatal
      Src: /src/gnupg/sm/gpgsm.c:964,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:964,1
    - Dst: ksba_check_version
      Src: /src/gnupg/sm/gpgsm.c:965,1
    - Dst: gcry_control
      Src: /src/gnupg/sm/gpgsm.c:968,1
    - Dst: disable_core_dumps
      Src: /src/gnupg/sm/gpgsm.c:970,1
    - Dst: gnupg_init_signals
      Src: /src/gnupg/sm/gpgsm.c:972,1
    - Dst: dotlock_create
      Src: /src/gnupg/sm/gpgsm.c:974,1
    - Dst: gnupg_initialize_compliance
      Src: /src/gnupg/sm/gpgsm.c:977,1
    - Dst: session_env_new
      Src: /src/gnupg/sm/gpgsm.c:980,1
    - Dst: log_fatal
      Src: /src/gnupg/sm/gpgsm.c:982,1
    - Dst: strerror
      Src: /src/gnupg/sm/gpgsm.c:983,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/sm/gpgsm.c:996,1
    - Dst: gcry_control
      Src: /src/gnupg/sm/gpgsm.c:1030,1
    - Dst: ksba_set_malloc_hooks
      Src: /src/gnupg/sm/gpgsm.c:1037,1
    - Dst: assuan_set_malloc_hooks
      Src: /src/gnupg/sm/gpgsm.c:1042,1
    - Dst: assuan_set_gpg_err_source
      Src: /src/gnupg/sm/gpgsm.c:1043,1
    - Dst: setup_libassuan_logging
      Src: /src/gnupg/sm/gpgsm.c:1044,1
    - Dst: gnupg_chuid
      Src: /src/gnupg/sm/gpgsm.c:1047,1
    - Dst: log_inc_errorcount
      Src: /src/gnupg/sm/gpgsm.c:1048,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/sm/gpgsm.c:1049,1
    - Dst: memset
      Src: /src/gnupg/sm/gpgsm.c:1052,1
    - Dst: gpgsm_init_default_ctrl
      Src: /src/gnupg/sm/gpgsm.c:1053,1
    - Dst: make_filename
      Src: /src/gnupg/sm/gpgsm.c:1059,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/sm/gpgsm.c:1059,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/sm/gpgsm.c:1062,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/sm/gpgsm.c:1062,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/sm/gpgsm.c:1063,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/sm/gpgsm.c:1063,1
    - Dst: gpgrt_argparser
      Src: /src/gnupg/sm/gpgsm.c:1077,1
    - Dst: log_info
      Src: /src/gnupg/sm/gpgsm.c:1083,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:1083,1
    - Dst: xfree
      Src: /src/gnupg/sm/gpgsm.c:1087,1
    - Dst: xstrdup
      Src: /src/gnupg/sm/gpgsm.c:1088,1
    - Dst: set_cmd
      Src: /src/gnupg/sm/gpgsm.c:1097,1
    - Dst: set_cmd
      Src: /src/gnupg/sm/gpgsm.c:1105,1
    - Dst: set_cmd
      Src: /src/gnupg/sm/gpgsm.c:1110,1
    - Dst: set_cmd
      Src: /src/gnupg/sm/gpgsm.c:1116,1
    - Dst: set_cmd
      Src: /src/gnupg/sm/gpgsm.c:1122,1
    - Dst: set_cmd
      Src: /src/gnupg/sm/gpgsm.c:1129,1
    - Dst: set_cmd
      Src: /src/gnupg/sm/gpgsm.c:1133,1
    - Dst: set_cmd
      Src: /src/gnupg/sm/gpgsm.c:1158,1
    - Dst: set_cmd
      Src: /src/gnupg/sm/gpgsm.c:1163,1
    - Dst: set_cmd
      Src: /src/gnupg/sm/gpgsm.c:1171,1
    - Dst: translate_sys2libc_fd_int
      Src: /src/gnupg/sm/gpgsm.c:1192,1
    - Dst: parse_pinentry_mode
      Src: /src/gnupg/sm/gpgsm.c:1196,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:1198,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:1198,1
    - Dst: parse_request_origin
      Src: /src/gnupg/sm/gpgsm.c:1206,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:1208,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:1208,1
    - Dst: string_to_u64
      Src: /src/gnupg/sm/gpgsm.c:1229,1
    - Dst: xfree
      Src: /src/gnupg/sm/gpgsm.c:1263,1
    - Dst: xstrdup
      Src: /src/gnupg/sm/gpgsm.c:1265,1
    - Dst: gcry_control
      Src: /src/gnupg/sm/gpgsm.c:1290,1
    - Dst: gcry_control
      Src: /src/gnupg/sm/gpgsm.c:1294,1
    - Dst: append_to_strlist
      Src: /src/gnupg/sm/gpgsm.c:1313,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/sm/gpgsm.c:1317,1
    - Dst: enable_core_dumps
      Src: /src/gnupg/sm/gpgsm.c:1328,1
    - Dst: parse_compatibility_flags
      Src: /src/gnupg/sm/gpgsm.c:1335,1
    - Dst: translate_sys2libc_fd_int
      Src: /src/gnupg/sm/gpgsm.c:1344,1
    - Dst: log_set_fd
      Src: /src/gnupg/sm/gpgsm.c:1347,1
    - Dst: translate_sys2libc_fd_int
      Src: /src/gnupg/sm/gpgsm.c:1347,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/sm/gpgsm.c:1369,1
    - Dst: xfree
      Src: /src/gnupg/sm/gpgsm.c:1373,1
    - Dst: make_filename
      Src: /src/gnupg/sm/gpgsm.c:1374,1
    - Dst: xfree
      Src: /src/gnupg/sm/gpgsm.c:1377,1
    - Dst: make_filename
      Src: /src/gnupg/sm/gpgsm.c:1378,1
    - Dst: xfree
      Src: /src/gnupg/sm/gpgsm.c:1381,1
    - Dst: make_filename
      Src: /src/gnupg/sm/gpgsm.c:1382,1
    - Dst: set_opt_session_env
      Src: /src/gnupg/sm/gpgsm.c:1386,1
    - Dst: set_opt_session_env
      Src: /src/gnupg/sm/gpgsm.c:1389,1
    - Dst: set_opt_session_env
      Src: /src/gnupg/sm/gpgsm.c:1392,1
    - Dst: set_opt_session_env
      Src: /src/gnupg/sm/gpgsm.c:1395,1
    - Dst: xstrdup
      Src: /src/gnupg/sm/gpgsm.c:1398,1
    - Dst: xstrdup
      Src: /src/gnupg/sm/gpgsm.c:1399,1
    - Dst: isotime2epoch
      Src: /src/gnupg/sm/gpgsm.c:1409,1
    - Dst: strtoul
      Src: /src/gnupg/sm/gpgsm.c:1411,1
    - Dst: gnupg_set_time
      Src: /src/gnupg/sm/gpgsm.c:1412,1
    - Dst: xfree
      Src: /src/gnupg/sm/gpgsm.c:1422,1
    - Dst: xstrdup
      Src: /src/gnupg/sm/gpgsm.c:1423,1
    - Dst: xstrdup
      Src: /src/gnupg/sm/gpgsm.c:1428,1
    - Dst: xfree
      Src: /src/gnupg/sm/gpgsm.c:1431,1
    - Dst: xfree
      Src: /src/gnupg/sm/gpgsm.c:1436,1
    - Dst: add_to_strlist
      Src: /src/gnupg/sm/gpgsm.c:1451,1
    - Dst: add_to_strlist
      Src: /src/gnupg/sm/gpgsm.c:1456,1
    - Dst: xstrdup
      Src: /src/gnupg/sm/gpgsm.c:1461,1
    - Dst: add_to_strlist
      Src: /src/gnupg/sm/gpgsm.c:1462,1
    - Dst: gcry_control
      Src: /src/gnupg/sm/gpgsm.c:1466,1
    - Dst: gcry_cipher_map_name
      Src: /src/gnupg/sm/gpgsm.c:1476,1
    - Dst: gcry_cipher_ctl
      Src: /src/gnupg/sm/gpgsm.c:1477,1
    - Dst: gcry_pk_map_name
      Src: /src/gnupg/sm/gpgsm.c:1482,1
    - Dst: gcry_pk_ctl
      Src: /src/gnupg/sm/gpgsm.c:1483,1
    - Dst: enable_special_filenames
      Src: /src/gnupg/sm/gpgsm.c:1500,1
    - Dst: disable_translate_sys2libc_fd
      Src: /src/gnupg/sm/gpgsm.c:1504,1
    - Dst: parse_validation_model
      Src: /src/gnupg/sm/gpgsm.c:1507,1
    - Dst: append_to_strlist
      Src: /src/gnupg/sm/gpgsm.c:1510,1
    - Dst: obsolete_option
      Src: /src/gnupg/sm/gpgsm.c:1514,1
    - Dst: add_to_strlist
      Src: /src/gnupg/sm/gpgsm.c:1518,1
    - Dst: add_to_strlist
      Src: /src/gnupg/sm/gpgsm.c:1522,1
    - Dst: add_to_strlist
      Src: /src/gnupg/sm/gpgsm.c:1528,1
    - Dst: gnupg_parse_compliance_option
      Src: /src/gnupg/sm/gpgsm.c:1540,1
    - Dst: DIM
      Src: /src/gnupg/sm/gpgsm.c:1541,1
    - Dst: log_inc_errorcount
      Src: /src/gnupg/sm/gpgsm.c:1544,1
    - Dst: keybox_set_buffersize
      Src: /src/gnupg/sm/gpgsm.c:1555,1
    - Dst: add_to_strlist
      Src: /src/gnupg/sm/gpgsm.c:1559,1
    - Dst: add_to_strlist
      Src: /src/gnupg/sm/gpgsm.c:1567,1
    - Dst: gpgsm_status_with_error
      Src: /src/gnupg/sm/gpgsm.c:1582,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/gpgsm.c:1583,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/sm/gpgsm.c:1589,1
    - Dst: gpgrt_fnameconcat
      Src: /src/gnupg/sm/gpgsm.c:1592,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/sm/gpgsm.c:1592,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/sm/gpgsm.c:1598,1
    - Dst: gpgsm_status_with_error
      Src: /src/gnupg/sm/gpgsm.c:1600,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/gpgsm.c:1601,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/gpgsm.c:1602,1
    - Dst: parse_comopt
      Src: /src/gnupg/sm/gpgsm.c:1606,1
    - Dst: gpgsm_status_with_error
      Src: /src/gnupg/sm/gpgsm.c:1608,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/gpgsm.c:1609,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/gpgsm.c:1610,1
    - Dst: log_info
      Src: /src/gnupg/sm/gpgsm.c:1614,1
    - Dst: log_info
      Src: /src/gnupg/sm/gpgsm.c:1619,1
    - Dst: read_passphrase_from_fd
      Src: /src/gnupg/sm/gpgsm.c:1631,1
    - Dst: gpgsm_init_default_ctrl
      Src: /src/gnupg/sm/gpgsm.c:1635,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/gpgsm.c:1642,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/sm/gpgsm.c:1643,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/sm/gpgsm.c:1643,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/sm/gpgsm.c:1643,1
    - Dst: es_fprintf
      Src: /src/gnupg/sm/gpgsm.c:1644,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/sm/gpgsm.c:1644,1
    - Dst: log_info
      Src: /src/gnupg/sm/gpgsm.c:1649,1
    - Dst: log_info
      Src: /src/gnupg/sm/gpgsm.c:1650,1
    - Dst: log_info
      Src: /src/gnupg/sm/gpgsm.c:1651,1
    - Dst: log_info
      Src: /src/gnupg/sm/gpgsm.c:1656,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:1656,1
    - Dst: log_info
      Src: /src/gnupg/sm/gpgsm.c:1662,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:1662,1
    - Dst: npth_init
      Src: /src/gnupg/sm/gpgsm.c:1667,1
    - Dst: gpgrt_set_syscall_clamp
      Src: /src/gnupg/sm/gpgsm.c:1668,1
    - Dst: assuan_control
      Src: /src/gnupg/sm/gpgsm.c:1669,1
    - Dst: log_set_file
      Src: /src/gnupg/sm/gpgsm.c:1679,1
    - Dst: log_set_prefix
      Src: /src/gnupg/sm/gpgsm.c:1680,1
    - Dst: log_set_prefix
      Src: /src/gnupg/sm/gpgsm.c:1683,1
    - Dst: gnupg_faked_time_p
      Src: /src/gnupg/sm/gpgsm.c:1687,1
    - Dst: log_info
      Src: /src/gnupg/sm/gpgsm.c:1691,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:1691,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/sm/gpgsm.c:1692,1
    - Dst: dump_isotime
      Src: /src/gnupg/sm/gpgsm.c:1693,1
    - Dst: log_printf
      Src: /src/gnupg/sm/gpgsm.c:1694,1
    - Dst: log_info
      Src: /src/gnupg/sm/gpgsm.c:1704,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:1704,1
    - Dst: gcry_control
      Src: /src/gnupg/sm/gpgsm.c:1710,1
    - Dst: set_debug
      Src: /src/gnupg/sm/gpgsm.c:1719,1
    - Dst: parse_compatibility_flags
      Src: /src/gnupg/sm/gpgsm.c:1721,1
    - Dst: gnupg_set_compliance_extra_info
      Src: /src/gnupg/sm/gpgsm.c:1722,1
    - Dst: atexit
      Src: /src/gnupg/sm/gpgsm.c:1727,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:1729,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/gpgsm.c:1730,1
    - Dst: gpgsm_map_cipher_name_to_oid
      Src: /src/gnupg/sm/gpgsm.c:1747,1
    - Dst: log_info
      Src: /src/gnupg/sm/gpgsm.c:1752,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:1752,1
    - Dst: gpgsm_map_cipher_name_to_oid
      Src: /src/gnupg/sm/gpgsm.c:1754,1
    - Dst: log_assert
      Src: /src/gnupg/sm/gpgsm.c:1755,1
    - Dst: gcry_cipher_map_name
      Src: /src/gnupg/sm/gpgsm.c:1764,1
    - Dst: gcry_cipher_mode_from_oid
      Src: /src/gnupg/sm/gpgsm.c:1765,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:1766,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:1766,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/sm/gpgsm.c:1770,1
    - Dst: our_md_test_algo
      Src: /src/gnupg/sm/gpgsm.c:1771,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:1772,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:1772,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/sm/gpgsm.c:1776,1
    - Dst: our_md_test_algo
      Src: /src/gnupg/sm/gpgsm.c:1777,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:1778,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:1778,1
    - Dst: gnupg_cipher_is_allowed
      Src: /src/gnupg/sm/gpgsm.c:1787,1
    - Dst: gcry_cipher_map_name
      Src: /src/gnupg/sm/gpgsm.c:1789,1
    - Dst: gnupg_cipher_is_allowed
      Src: /src/gnupg/sm/gpgsm.c:1791,1
    - Dst: gcry_cipher_mode_from_oid
      Src: /src/gnupg/sm/gpgsm.c:1793,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:1796,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:1796,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/sm/gpgsm.c:1798,1
    - Dst: gnupg_digest_is_allowed
      Src: /src/gnupg/sm/gpgsm.c:1801,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:1806,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:1806,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/sm/gpgsm.c:1808,1
    - Dst: gnupg_digest_is_allowed
      Src: /src/gnupg/sm/gpgsm.c:1811,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:1816,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:1816,1
    - Dst: gnupg_compliance_option_string
      Src: /src/gnupg/sm/gpgsm.c:1818,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/sm/gpgsm.c:1820,1
    - Dst: gpgsm_status_with_error
      Src: /src/gnupg/sm/gpgsm.c:1822,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/gpgsm.c:1823,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/gpgsm.c:1824,1
    - Dst: make_filename
      Src: /src/gnupg/sm/gpgsm.c:1830,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/sm/gpgsm.c:1830,1
    - Dst: gcry_control
      Src: /src/gnupg/sm/gpgsm.c:1831,1
    - Dst: xfree
      Src: /src/gnupg/sm/gpgsm.c:1832,1
    - Dst: set_cmd
      Src: /src/gnupg/sm/gpgsm.c:1836,1
    - Dst: gnupg_inhibit_set_foregound_window
      Src: /src/gnupg/sm/gpgsm.c:1843,1
    - Dst: gpgsm_init_statusfp
      Src: /src/gnupg/sm/gpgsm.c:1848,1
    - Dst: keydb_add_resource
      Src: /src/gnupg/sm/gpgsm.c:1855,1
    - Dst: make_filename
      Src: /src/gnupg/sm/gpgsm.c:1861,1
    - Dst: gnupg_datadir
      Src: /src/gnupg/sm/gpgsm.c:1861,1
    - Dst: gnupg_access
      Src: /src/gnupg/sm/gpgsm.c:1863,1
    - Dst: log_info
      Src: /src/gnupg/sm/gpgsm.c:1865,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:1865,1
    - Dst: gpgsm_import_files
      Src: /src/gnupg/sm/gpgsm.c:1867,1
    - Dst: xfree
      Src: /src/gnupg/sm/gpgsm.c:1869,1
    - Dst: keydb_add_resource
      Src: /src/gnupg/sm/gpgsm.c:1875,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/sm/gpgsm.c:1877,1
    - Dst: audit_release
      Src: /src/gnupg/sm/gpgsm.c:1889,1
    - Dst: audit_new
      Src: /src/gnupg/sm/gpgsm.c:1890,1
    - Dst: open_es_fwrite
      Src: /src/gnupg/sm/gpgsm.c:1892,1
    - Dst: open_es_fwrite
      Src: /src/gnupg/sm/gpgsm.c:1894,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/sm/gpgsm.c:1904,1
    - Dst: gpgsm_add_to_certlist
      Src: /src/gnupg/sm/gpgsm.c:1908,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:1911,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:1911,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/gpgsm.c:1912,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/gpgsm.c:1913,1
    - Dst: get_inv_recpsgnr_code
      Src: /src/gnupg/sm/gpgsm.c:1914,1
    - Dst: gpgsm_status2
      Src: /src/gnupg/sm/gpgsm.c:1915,1
    - Dst: get_inv_recpsgnr_code
      Src: /src/gnupg/sm/gpgsm.c:1916,1
    - Dst: do_add_recipient
      Src: /src/gnupg/sm/gpgsm.c:1927,1
    - Dst: do_add_recipient
      Src: /src/gnupg/sm/gpgsm.c:1932,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/sm/gpgsm.c:1942,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/sm/gpgsm.c:1945,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/gpgsm.c:1946,1
    - Dst: es_printf
      Src: /src/gnupg/sm/gpgsm.c:1954,1
    - Dst: es_printf
      Src: /src/gnupg/sm/gpgsm.c:1955,1
    - Dst: es_printf
      Src: /src/gnupg/sm/gpgsm.c:1957,1
    - Dst: es_printf
      Src: /src/gnupg/sm/gpgsm.c:1960,1
    - Dst: es_printf
      Src: /src/gnupg/sm/gpgsm.c:1961,1
    - Dst: es_printf
      Src: /src/gnupg/sm/gpgsm.c:1962,1
    - Dst: es_printf
      Src: /src/gnupg/sm/gpgsm.c:1966,1
    - Dst: log_debug
      Src: /src/gnupg/sm/gpgsm.c:1979,1
    - Dst: getpid
      Src: /src/gnupg/sm/gpgsm.c:1980,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/sm/gpgsm.c:1981,1
    - Dst: log_debug
      Src: /src/gnupg/sm/gpgsm.c:1982,1
    - Dst: gpgsm_server
      Src: /src/gnupg/sm/gpgsm.c:1984,1
    - Dst: wrong_args
      Src: /src/gnupg/sm/gpgsm.c:1989,1
    - Dst: gpgsm_dirmngr_run_command
      Src: /src/gnupg/sm/gpgsm.c:1991,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/gpgsm.c:1992,1
    - Dst: run_protect_tool
      Src: /src/gnupg/sm/gpgsm.c:1996,1
    - Dst: open_es_fwrite
      Src: /src/gnupg/sm/gpgsm.c:2001,1
    - Dst: set_binary
      Src: /src/gnupg/sm/gpgsm.c:2003,1
    - Dst: gpgsm_encrypt
      Src: /src/gnupg/sm/gpgsm.c:2006,1
    - Dst: gpgsm_encrypt
      Src: /src/gnupg/sm/gpgsm.c:2008,1
    - Dst: open_es_fread
      Src: /src/gnupg/sm/gpgsm.c:2008,1
    - Dst: wrong_args
      Src: /src/gnupg/sm/gpgsm.c:2010,1
    - Dst: gpgrt_fcancel
      Src: /src/gnupg/sm/gpgsm.c:2013,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/gpgsm.c:2015,1
    - Dst: open_es_fwrite
      Src: /src/gnupg/sm/gpgsm.c:2021,1
    - Dst: set_binary
      Src: /src/gnupg/sm/gpgsm.c:2025,1
    - Dst: gpgsm_sign
      Src: /src/gnupg/sm/gpgsm.c:2027,1
    - Dst: gpgsm_sign
      Src: /src/gnupg/sm/gpgsm.c:2029,1
    - Dst: open_es_fread
      Src: /src/gnupg/sm/gpgsm.c:2029,1
    - Dst: wrong_args
      Src: /src/gnupg/sm/gpgsm.c:2032,1
    - Dst: gpgrt_fcancel
      Src: /src/gnupg/sm/gpgsm.c:2035,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/gpgsm.c:2037,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:2042,1
    - Dst: gpgsm_status_with_error
      Src: /src/gnupg/sm/gpgsm.c:2044,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/gpgsm.c:2045,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:2049,1
    - Dst: gpgsm_status_with_error
      Src: /src/gnupg/sm/gpgsm.c:2051,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/gpgsm.c:2052,1
    - Dst: set_binary
      Src: /src/gnupg/sm/gpgsm.c:2059,1
    - Dst: log_info
      Src: /src/gnupg/sm/gpgsm.c:2061,1
    - Dst: open_es_fwrite
      Src: /src/gnupg/sm/gpgsm.c:2063,1
    - Dst: gpgsm_verify
      Src: /src/gnupg/sm/gpgsm.c:2067,1
    - Dst: gpgsm_verify
      Src: /src/gnupg/sm/gpgsm.c:2069,1
    - Dst: open_es_fread
      Src: /src/gnupg/sm/gpgsm.c:2069,1
    - Dst: gpgsm_verify
      Src: /src/gnupg/sm/gpgsm.c:2071,1
    - Dst: open_es_fread
      Src: /src/gnupg/sm/gpgsm.c:2071,1
    - Dst: open_es_fread
      Src: /src/gnupg/sm/gpgsm.c:2072,1
    - Dst: wrong_args
      Src: /src/gnupg/sm/gpgsm.c:2074,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/gpgsm.c:2076,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/sm/gpgsm.c:2084,1
    - Dst: strcmp
      Src: /src/gnupg/sm/gpgsm.c:2087,1
    - Dst: xstrconcat
      Src: /src/gnupg/sm/gpgsm.c:2089,1
    - Dst: open_es_fwrite
      Src: /src/gnupg/sm/gpgsm.c:2090,1
    - Dst: open_es_fwrite
      Src: /src/gnupg/sm/gpgsm.c:2093,1
    - Dst: xfree
      Src: /src/gnupg/sm/gpgsm.c:2097,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:2098,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:2098,1
    - Dst: strerror
      Src: /src/gnupg/sm/gpgsm.c:2098,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/gpgsm.c:2099,1
    - Dst: set_binary
      Src: /src/gnupg/sm/gpgsm.c:2102,1
    - Dst: gpgsm_decrypt
      Src: /src/gnupg/sm/gpgsm.c:2104,1
    - Dst: gpgsm_decrypt
      Src: /src/gnupg/sm/gpgsm.c:2106,1
    - Dst: open_es_fread
      Src: /src/gnupg/sm/gpgsm.c:2106,1
    - Dst: wrong_args
      Src: /src/gnupg/sm/gpgsm.c:2108,1
    - Dst: gpgrt_fcancel
      Src: /src/gnupg/sm/gpgsm.c:2112,1
    - Dst: gnupg_remove
      Src: /src/gnupg/sm/gpgsm.c:2114,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/gpgsm.c:2118,1
    - Dst: gnupg_rename_file
      Src: /src/gnupg/sm/gpgsm.c:2120,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/sm/gpgsm.c:2128,1
    - Dst: xfree
      Src: /src/gnupg/sm/gpgsm.c:2130,1
    - Dst: add_to_strlist
      Src: /src/gnupg/sm/gpgsm.c:2136,1
    - Dst: gpgsm_delete
      Src: /src/gnupg/sm/gpgsm.c:2137,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/gpgsm.c:2138,1
    - Dst: BUG
      Src: /src/gnupg/sm/gpgsm.c:2164,1
    - Dst: open_es_fwrite
      Src: /src/gnupg/sm/gpgsm.c:2167,1
    - Dst: add_to_strlist
      Src: /src/gnupg/sm/gpgsm.c:2169,1
    - Dst: gpgsm_list_keys
      Src: /src/gnupg/sm/gpgsm.c:2170,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/gpgsm.c:2171,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/gpgsm.c:2172,1
    - Dst: open_es_fwrite
      Src: /src/gnupg/sm/gpgsm.c:2180,1
    - Dst: gpgsm_show_certs
      Src: /src/gnupg/sm/gpgsm.c:2181,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/gpgsm.c:2182,1
    - Dst: open_es_fread
      Src: /src/gnupg/sm/gpgsm.c:2194,1
    - Dst: open_es_fread
      Src: /src/gnupg/sm/gpgsm.c:2196,1
    - Dst: wrong_args
      Src: /src/gnupg/sm/gpgsm.c:2198,1
    - Dst: open_es_fwrite
      Src: /src/gnupg/sm/gpgsm.c:2201,1
    - Dst: gpgsm_genkey
      Src: /src/gnupg/sm/gpgsm.c:2204,1
    - Dst: gpgsm_gencertreq_tty
      Src: /src/gnupg/sm/gpgsm.c:2206,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/gpgsm.c:2208,1
    - Dst: gpgsm_import_files
      Src: /src/gnupg/sm/gpgsm.c:2214,1
    - Dst: open_es_fwrite
      Src: /src/gnupg/sm/gpgsm.c:2221,1
    - Dst: add_to_strlist
      Src: /src/gnupg/sm/gpgsm.c:2223,1
    - Dst: gpgsm_export
      Src: /src/gnupg/sm/gpgsm.c:2224,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/gpgsm.c:2225,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/gpgsm.c:2226,1
    - Dst: open_es_fwrite
      Src: /src/gnupg/sm/gpgsm.c:2232,1
    - Dst: gpgsm_p12_export
      Src: /src/gnupg/sm/gpgsm.c:2235,1
    - Dst: wrong_args
      Src: /src/gnupg/sm/gpgsm.c:2237,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/gpgsm.c:2239,1
    - Dst: open_es_fwrite
      Src: /src/gnupg/sm/gpgsm.c:2245,1
    - Dst: gpgsm_p12_export
      Src: /src/gnupg/sm/gpgsm.c:2248,1
    - Dst: wrong_args
      Src: /src/gnupg/sm/gpgsm.c:2250,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/gpgsm.c:2252,1
    - Dst: open_es_fwrite
      Src: /src/gnupg/sm/gpgsm.c:2258,1
    - Dst: gpgsm_p12_export
      Src: /src/gnupg/sm/gpgsm.c:2261,1
    - Dst: wrong_args
      Src: /src/gnupg/sm/gpgsm.c:2263,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/gpgsm.c:2265,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:2271,1
    - Dst: wrong_args
      Src: /src/gnupg/sm/gpgsm.c:2277,1
    - Dst: gpgsm_agent_learn
      Src: /src/gnupg/sm/gpgsm.c:2280,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:2282,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/gpgsm.c:2282,1
    - Dst: wrong_args
      Src: /src/gnupg/sm/gpgsm.c:2288,1
    - Dst: gpgsm_find_cert
      Src: /src/gnupg/sm/gpgsm.c:2295,1
    - Dst: gpgsm_get_keygrip_hexstring
      Src: /src/gnupg/sm/gpgsm.c:2298,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/gpgsm.c:2299,1
    - Dst: gpgsm_format_keydesc
      Src: /src/gnupg/sm/gpgsm.c:2302,1
    - Dst: gpgsm_agent_passwd
      Src: /src/gnupg/sm/gpgsm.c:2303,1
    - Dst: xfree
      Src: /src/gnupg/sm/gpgsm.c:2304,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:2307,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/gpgsm.c:2307,1
    - Dst: xfree
      Src: /src/gnupg/sm/gpgsm.c:2308,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/gpgsm.c:2309,1
    - Dst: add_to_strlist
      Src: /src/gnupg/sm/gpgsm.c:2315,1
    - Dst: keydb_clear_some_cert_flags
      Src: /src/gnupg/sm/gpgsm.c:2316,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/gpgsm.c:2317,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:2322,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:2322,1
    - Dst: gpgsm_status_with_error
      Src: /src/gnupg/sm/gpgsm.c:2323,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/gpgsm.c:2324,1
    - Dst: audit_print_result
      Src: /src/gnupg/sm/gpgsm.c:2332,1
    - Dst: audit_print_result
      Src: /src/gnupg/sm/gpgsm.c:2334,1
    - Dst: audit_release
      Src: /src/gnupg/sm/gpgsm.c:2335,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/gpgsm.c:2337,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/gpgsm.c:2338,1
    - Dst: gpgsm_deinit_default_ctrl
      Src: /src/gnupg/sm/gpgsm.c:2342,1
    - Dst: free_strlist
      Src: /src/gnupg/sm/gpgsm.c:2343,1
    - Dst: gpgsm_release_certlist
      Src: /src/gnupg/sm/gpgsm.c:2345,1
    - Dst: gpgsm_release_certlist
      Src: /src/gnupg/sm/gpgsm.c:2346,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/sm/gpgsm.c:2347,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/sm/gpgsm.c:2348,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/gpgsm.c:2349,1
    CyclomaticComplexity: 326
    EdgeCount: 326
    ICount: 1009
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 900
    functionDepth: 12
    functionLinenumber: 900
    functionLinenumberEnd: 2351
    functionName: main
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 6
    functionsReached:
    - gpgrt_set_syscall_clamp
    - es_fprintf
    - set_debug
    - log_set_fd
    - gnupg_homedir
    - xstrdup
    - gcry_cipher_ctl
    - gpgsm_status_with_error
    - disable_translate_sys2libc_fd
    - gpgrt_set_strusage
    - set_opt_session_env
    - gpgsm_exit
    - gnupg_initialize_compliance
    - DIM
    - parse_validation_model
    - parse_compatibility_flags
    - assuan_control
    - gnupg_cipher_is_allowed
    - parse_debug_flag
    - ksba_cert_release
    - gcry_cipher_mode_from_oid
    - gpgsm_map_cipher_name_to_oid
    - gpgsm_init_statusfp
    - keydb_add_resource
    - gpgsm_decrypt
    - xfree
    - getpid
    - run_protect_tool
    - gnupg_chuid
    - log_fatal
    - parse_comopt
    - gpgrt_set_confdir
    - gcry_pk_map_name
    - gpgsm_status2
    - gnupg_remove
    - isotime2epoch
    - disable_core_dumps
    - gpgrt_fnameconcat
    - dotlock_create
    - gpgrt_argparser
    - read_passphrase_from_fd
    - gnupg_digest_is_allowed
    - gpgsm_dirmngr_run_command
    - gpgsm_release_certlist
    - log_error
    - early_system_init
    - log_get_errorcount
    - dump_isotime
    - gnupg_faked_time_p
    - gpgsm_gencertreq_tty
    - gnupg_compliance_option_string
    - get_inv_recpsgnr_code
    - gpgsm_list_keys
    - set_binary
    - set_cmd
    - gnupg_inhibit_set_foregound_window
    - memset
    - gpgsm_init_default_ctrl
    - i18n_init
    - gnupg_rl_initialize
    - gcry_cipher_map_name
    - assuan_set_gpg_err_source
    - enable_special_filenames
    - gnupg_set_compliance_extra_info
    - init_common_subsystems
    - gpgrt_fcancel
    - log_assert
    - gpgsm_format_keydesc
    - npth_init
    - assuan_set_malloc_hooks
    - BUG
    - translate_sys2libc_fd_int
    - open_es_fwrite
    - keydb_clear_some_cert_flags
    - gnupg_init_signals
    - gnupg_set_homedir
    - parse_request_origin
    - log_set_prefix
    - session_env_new
    - string_to_u64
    - ksba_set_malloc_hooks
    - gpgsm_add_to_certlist
    - gnupg_sleep
    - gpgrt_strusage
    - FREE_STRLIST
    - gpgsm_agent_learn
    - ksba_check_version
    - wrong_args
    - gpgsm_verify
    - gnupg_sysconfdir
    - gnupg_set_time
    - audit_new
    - append_to_strlist
    - do_add_recipient
    - atexit
    - make_filename
    - gpgsm_genkey
    - gcry_pk_ctl
    - xstrconcat
    - add_to_strlist
    - es_printf
    - audit_release
    - strerror
    - gpgsm_delete
    - gpgsm_show_certs
    - obsolete_option
    - gpgsm_export
    - parse_pinentry_mode
    - our_md_test_algo
    - gpgsm_sign
    - audit_print_result
    - _
    - gnupg_access
    - log_info
    - gpgsm_deinit_default_ctrl
    - strtoul
    - gnupg_parse_compliance_option
    - log_printf
    - gpgsm_import_files
    - log_debug
    - open_es_fread
    - free_strlist
    - keybox_set_buffersize
    - gnupg_reopen_std
    - log_inc_errorcount
    - gpgsm_server
    - gcry_control
    - strcmp
    - gpgsm_agent_passwd
    - gpg_error
    - gnupg_get_isotime
    - gpg_strerror
    - enable_core_dumps
    - gcry_md_map_name
    - gpgrt_argparse
    - gpgsm_p12_export
    - log_set_file
    - gpgsm_find_cert
    - gpgsm_get_keygrip_hexstring
    - es_fclose
    - gnupg_rename_file
    - gnupg_datadir
    - gpgsm_encrypt
    - setup_libassuan_logging
    linkageType: ''
    returnType: int
    signature: int main ( int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/gnupg/sm/gpgsm.c:2357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2358
      start: 2354
    functionDepth: 0
    functionLinenumber: 2354
    functionLinenumberEnd: 2358
    functionName: emergency_cleanup
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 1
    functionsReached:
    - gcry_control
    linkageType: ''
    returnType: void
    signature: void emergency_cleanup (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_get_errorcount
      Src: /src/gnupg/sm/gpgsm.c:2366,1
    - Dst: gpgsm_exit_failure_status
      Src: /src/gnupg/sm/gpgsm.c:2379,1
    - Dst: gcry_control
      Src: /src/gnupg/sm/gpgsm.c:2381,1
    - Dst: log_info
      Src: /src/gnupg/sm/gpgsm.c:2384,1
    - Dst: gcry_control
      Src: /src/gnupg/sm/gpgsm.c:2385,1
    - Dst: gcry_control
      Src: /src/gnupg/sm/gpgsm.c:2386,1
    - Dst: gcry_control
      Src: /src/gnupg/sm/gpgsm.c:2389,1
    - Dst: emergency_cleanup
      Src: /src/gnupg/sm/gpgsm.c:2390,1
    - Dst: exit
      Src: /src/gnupg/sm/gpgsm.c:2391,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2361
    functionDepth: 2
    functionLinenumber: 2361
    functionLinenumberEnd: 2392
    functionName: gpgsm_exit
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 5
    functionsReached:
    - exit
    - gcry_control
    - log_get_errorcount
    - log_info
    - gpgsm_exit_failure_status
    - emergency_cleanup
    linkageType: ''
    returnType: void
    signature: void gpgsm_exit (int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlist_copy
      Src: /src/gnupg/sm/gpgsm.c:2398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct server_control_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2395
    functionDepth: 1
    functionLinenumber: 2395
    functionLinenumberEnd: 2405
    functionName: gpgsm_init_default_ctrl
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 2
    functionsReached:
    - strlist_copy
    linkageType: ''
    returnType: void
    signature: void gpgsm_init_default_ctrl (struct server_control_s *ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_keydb_deinit_session_data
      Src: /src/gnupg/sm/gpgsm.c:2415,1
    - Dst: gpgsm_flush_keyinfo_cache
      Src: /src/gnupg/sm/gpgsm.c:2416,1
    - Dst: xfree
      Src: /src/gnupg/sm/gpgsm.c:2417,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/sm/gpgsm.c:2419,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/gpgsm.c:2424,1
    - Dst: xfree
      Src: /src/gnupg/sm/gpgsm.c:2425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2410
    functionDepth: 2
    functionLinenumber: 2410
    functionLinenumberEnd: 2431
    functionName: gpgsm_deinit_default_ctrl
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 2
    functionsReached:
    - FREE_STRLIST
    - gpgsm_keydb_deinit_session_data
    - xfree
    - ksba_cert_release
    - gpgsm_flush_keyinfo_cache
    linkageType: ''
    returnType: void
    signature: void gpgsm_deinit_default_ctrl (ctrl_t ctrl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/sm/gpgsm.c:2437,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/sm/gpgsm.c:2439,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/sm/gpgsm.c:2441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - model
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2445
    functionName: gpgsm_parse_validation_model
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 2
    functionsReached:
    - ascii_strcasecmp
    linkageType: ''
    returnType: int
    signature: int gpgsm_parse_validation_model (const char *model)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: es_fpopen_nc
      Src: /src/gnupg/sm/gpgsm.c:2456,1
    - Dst: gnupg_check_special_filename
      Src: /src/gnupg/sm/gpgsm.c:2458,1
    - Dst: open_stream_nc
      Src: /src/gnupg/sm/gpgsm.c:2461,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:2464,1
    - Dst: FD_DBG
      Src: /src/gnupg/sm/gpgsm.c:2464,1
    - Dst: strerror
      Src: /src/gnupg/sm/gpgsm.c:2465,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/gpgsm.c:2466,1
    - Dst: es_fopen
      Src: /src/gnupg/sm/gpgsm.c:2470,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:2473,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:2473,1
    - Dst: strerror
      Src: /src/gnupg/sm/gpgsm.c:2473,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/gpgsm.c:2474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2477
      start: 2449
    functionDepth: 3
    functionLinenumber: 2449
    functionLinenumberEnd: 2477
    functionName: open_es_fread
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 1
    functionsReached:
    - gpgsm_exit
    - log_error
    - es_fpopen_nc
    - _
    - FD_DBG
    - es_fopen
    - gnupg_check_special_filename
    - strerror
    - open_stream_nc
    linkageType: ''
    returnType: estream_t
    signature: estream_t open_es_fread (const char *filename, const char *mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/gnupg/sm/gpgsm.c:2492,1
    - Dst: es_fpopen_nc
      Src: /src/gnupg/sm/gpgsm.c:2493,1
    - Dst: gnupg_check_special_filename
      Src: /src/gnupg/sm/gpgsm.c:2497,1
    - Dst: open_stream_nc
      Src: /src/gnupg/sm/gpgsm.c:2500,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:2503,1
    - Dst: FD_DBG
      Src: /src/gnupg/sm/gpgsm.c:2504,1
    - Dst: strerror
      Src: /src/gnupg/sm/gpgsm.c:2504,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/gpgsm.c:2505,1
    - Dst: es_fopen
      Src: /src/gnupg/sm/gpgsm.c:2509,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:2512,1
    - Dst: _
      Src: /src/gnupg/sm/gpgsm.c:2512,1
    - Dst: strerror
      Src: /src/gnupg/sm/gpgsm.c:2512,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/gpgsm.c:2513,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2484
    functionDepth: 3
    functionLinenumber: 2484
    functionLinenumberEnd: 2516
    functionName: open_es_fwrite
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 1
    functionsReached:
    - gpgsm_exit
    - log_error
    - es_fpopen_nc
    - _
    - FD_DBG
    - fflush
    - es_fopen
    - gnupg_check_special_filename
    - strerror
    - open_stream_nc
    linkageType: ''
    returnType: estream_t
    signature: estream_t open_es_fwrite (const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_module_name
      Src: /src/gnupg/sm/gpgsm.c:2531,1
    - Dst: xcalloc
      Src: /src/gnupg/sm/gpgsm.c:2535,1
    - Dst: strrchr
      Src: /src/gnupg/sm/gpgsm.c:2536,1
    - Dst: xstrdup
      Src: /src/gnupg/sm/gpgsm.c:2538,1
    - Dst: execv
      Src: /src/gnupg/sm/gpgsm.c:2542,1
    - Dst: log_error
      Src: /src/gnupg/sm/gpgsm.c:2543,1
    - Dst: strerror
      Src: /src/gnupg/sm/gpgsm.c:2543,1
    - Dst: gpgsm_exit
      Src: /src/gnupg/sm/gpgsm.c:2545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2519
    functionDepth: 3
    functionLinenumber: 2519
    functionLinenumberEnd: 2546
    functionName: run_protect_tool
    functionSourceFile: /src/gnupg/sm/gpgsm.c
    functionUses: 1
    functionsReached:
    - xstrdup
    - gpgsm_exit
    - log_error
    - gnupg_module_name
    - xcalloc
    - strrchr
    - execv
    - strerror
    linkageType: ''
    returnType: void
    signature: void run_protect_tool (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:162,1
    - Dst: assuan_release
      Src: /src/gnupg/sm/keydb.c:165,1
    - Dst: kbx_client_data_release
      Src: /src/gnupg/sm/keydb.c:174,1
    - Dst: xfree
      Src: /src/gnupg/sm/keydb.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 179
    functionName: gpgsm_keydb_deinit_session_data
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 1
    functionsReached:
    - assuan_release
    - xfree
    - kbx_client_data_release
    - log_error
    linkageType: ''
    returnType: void
    signature: void gpgsm_keydb_deinit_session_data (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_maybe_make_homedir
      Src: /src/gnupg/sm/keydb.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 4
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: try_make_homedir
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 2
    functionsReached:
    - gnupg_maybe_make_homedir
    linkageType: ''
    returnType: void
    signature: void try_make_homedir (const char *fname)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_access
      Src: /src/gnupg/sm/keydb.c:212,1
    - Dst: gnupg_access
      Src: /src/gnupg/sm/keydb.c:213,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:213,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:218,1
    - Dst: strrchr
      Src: /src/gnupg/sm/keydb.c:225,1
    - Dst: strrchr
      Src: /src/gnupg/sm/keydb.c:229,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:235,1
    - Dst: gnupg_access
      Src: /src/gnupg/sm/keydb.c:239,1
    - Dst: try_make_homedir
      Src: /src/gnupg/sm/keydb.c:246,1
    - Dst: gnupg_access
      Src: /src/gnupg/sm/keydb.c:248,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:250,1
    - Dst: parse_comopt
      Src: /src/gnupg/sm/keydb.c:257,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:265,1
    - Dst: dotlock_create
      Src: /src/gnupg/sm/keydb.c:275,1
    - Dst: log_info
      Src: /src/gnupg/sm/keydb.c:283,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:286,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:288,1
    - Dst: dotlock_take
      Src: /src/gnupg/sm/keydb.c:291,1
    - Dst: log_info
      Src: /src/gnupg/sm/keydb.c:294,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:295,1
    - Dst: gnupg_access
      Src: /src/gnupg/sm/keydb.c:300,1
    - Dst: umask
      Src: /src/gnupg/sm/keydb.c:307,1
    - Dst: es_fopen
      Src: /src/gnupg/sm/keydb.c:308,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/keydb.c:311,1
    - Dst: umask
      Src: /src/gnupg/sm/keydb.c:312,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:313,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:313,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:314,1
    - Dst: umask
      Src: /src/gnupg/sm/keydb.c:317,1
    - Dst: _keybox_write_header_blob
      Src: /src/gnupg/sm/keydb.c:322,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/keydb.c:325,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:326,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:326,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:327,1
    - Dst: log_info
      Src: /src/gnupg/sm/keydb.c:332,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:332,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/keydb.c:336,1
    - Dst: dotlock_release
      Src: /src/gnupg/sm/keydb.c:342,1
    - Dst: dotlock_destroy
      Src: /src/gnupg/sm/keydb.c:343,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 84
    argCount: 3
    argNames:
    - filename
    - force
    - r_created
    argTypes:
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 197
    functionDepth: 4
    functionLinenumber: 197
    functionLinenumberEnd: 346
    functionName: maybe_create_keybox
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 0
    functionsReached:
    - umask
    - gpg_error_from_syserror
    - dotlock_create
    - log_error
    - es_fclose
    - parse_comopt
    - _keybox_write_header_blob
    - gnupg_access
    - dotlock_take
    - _
    - dotlock_release
    - gpg_error
    - try_make_homedir
    - log_info
    - es_fopen
    - gpg_strerror
    - strrchr
    - dotlock_destroy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t maybe_create_keybox (char *filename, int force, int *r_created)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/sm/keydb.c:370,1
    - Dst: strncmp
      Src: /src/gnupg/sm/keydb.c:372,1
    - Dst: strchr
      Src: /src/gnupg/sm/keydb.c:378,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:380,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:381,1
    - Dst: strchr
      Src: /src/gnupg/sm/keydb.c:389,1
    - Dst: make_filename
      Src: /src/gnupg/sm/keydb.c:390,1
    - Dst: make_filename
      Src: /src/gnupg/sm/keydb.c:392,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/sm/keydb.c:392,1
    - Dst: xstrdup
      Src: /src/gnupg/sm/keydb.c:395,1
    - Dst: es_fopen
      Src: /src/gnupg/sm/keydb.c:405,1
    - Dst: es_fread
      Src: /src/gnupg/sm/keydb.c:411,1
    - Dst: es_fclose
      Src: /src/gnupg/sm/keydb.c:421,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:430,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:431,1
    - Dst: maybe_create_keybox
      Src: /src/gnupg/sm/keydb.c:435,1
    - Dst: keybox_register_file
      Src: /src/gnupg/sm/keydb.c:442,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keydb.c:443,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:448,1
    - Dst: keybox_compress_when_no_other_users
      Src: /src/gnupg/sm/keydb.c:457,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:464,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:465,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keydb.c:474,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:476,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:477,1
    - Dst: gpgsm_status_with_error
      Src: /src/gnupg/sm/keydb.c:478,1
    - Dst: xfree
      Src: /src/gnupg/sm/keydb.c:484,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 4
    argNames:
    - ctrl
    - url
    - force
    - auto_created
    argTypes:
    - ctrl_t
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 355
    functionDepth: 5
    functionLinenumber: 355
    functionLinenumberEnd: 486
    functionName: keydb_add_resource
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 9
    functionsReached:
    - keybox_register_file
    - make_filename
    - gpgsm_status_with_error
    - log_error
    - strlen
    - es_fclose
    - keybox_compress_when_no_other_users
    - gnupg_homedir
    - es_fread
    - maybe_create_keybox
    - strchr
    - gpg_error
    - es_fopen
    - gpg_err_code
    - gpg_strerror
    - xstrdup
    - xfree
    - strncmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_add_resource (ctrl_t ctrl, const char *url, int force,
      int *auto_created)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: warn_server_version_mismatch
      Src: /src/gnupg/sm/keydb.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - ctx
    - servername
    argTypes:
    - ctrl_t
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 491
    functionDepth: 3
    functionLinenumber: 491
    functionLinenumberEnd: 498
    functionName: warn_version_mismatch
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 7
    functionsReached:
    - warn_server_version_mismatch
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t warn_version_mismatch (ctrl_t ctrl, assuan_context_t ctx,\n
      \                      const char *servername)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: start_new_keyboxd
      Src: /src/gnupg/sm/keydb.c:512,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keydb.c:518,1
    - Dst: log_info
      Src: /src/gnupg/sm/keydb.c:525,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:525,1
    - Dst: warn_version_mismatch
      Src: /src/gnupg/sm/keydb.c:528,1
    - Dst: assuan_release
      Src: /src/gnupg/sm/keydb.c:534,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - ctrl
    - r_ctx
    argTypes:
    - ctrl_t
    - assuan_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 504
    functionDepth: 9
    functionLinenumber: 504
    functionLinenumberEnd: 539
    functionName: create_new_context
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 1
    functionsReached:
    - warn_version_mismatch
    - assuan_release
    - _
    - log_info
    - gpg_err_code
    - start_new_keyboxd
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t create_new_context (ctrl_t ctrl, assuan_context_t *r_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/sm/keydb.c:559,1
    - Dst: xtrycalloc
      Src: /src/gnupg/sm/keydb.c:569,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/keydb.c:571,1
    - Dst: create_new_context
      Src: /src/gnupg/sm/keydb.c:573,1
    - Dst: xfree
      Src: /src/gnupg/sm/keydb.c:576,1
    - Dst: kbx_client_data_new
      Src: /src/gnupg/sm/keydb.c:580,1
    - Dst: assuan_release
      Src: /src/gnupg/sm/keydb.c:583,1
    - Dst: xfree
      Src: /src/gnupg/sm/keydb.c:584,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - ctrl
    - r_kbl
    argTypes:
    - ctrl_t
    - keydb_local_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 594
    functionName: open_context
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 8
    functionsReached:
    - kbx_client_data_new
    - gpg_error_from_syserror
    - log_assert
    - assuan_release
    - xfree
    - xtrycalloc
    - create_new_context
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t open_context (ctrl_t ctrl, keydb_local_t *r_kbl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:605,1
    - Dst: xcalloc
      Src: /src/gnupg/sm/keydb.c:607,1
    - Dst: open_context
      Src: /src/gnupg/sm/keydb.c:614,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:617,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:617,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:617,1
    - Dst: xfree
      Src: /src/gnupg/sm/keydb.c:618,1
    - Dst: gpg_err_code_to_errno
      Src: /src/gnupg/sm/keydb.c:620,1
    - Dst: gpg_err_code_to_errno
      Src: /src/gnupg/sm/keydb.c:621,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/sm/keydb.c:622,1
    - Dst: log_assert
      Src: /src/gnupg/sm/keydb.c:628,1
    - Dst: keybox_new_x509
      Src: /src/gnupg/sm/keydb.c:638,1
    - Dst: xfree
      Src: /src/gnupg/sm/keydb.c:641,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:655,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 657
    functionName: keydb_new
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 42
    functionsReached:
    - gpg_err_code_to_errno
    - log_error
    - log_assert
    - _
    - xcalloc
    - gpg_strerror
    - xfree
    - open_context
    - gpg_err_set_errno
    - log_clock
    - keybox_new_x509
    linkageType: ''
    returnType: KEYDB_HANDLE
    signature: KEYDB_HANDLE keydb_new (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kbx_client_data_simple
      Src: /src/gnupg/sm/keydb.c:665,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - kcd
    - is_ephemeral
    argTypes:
    - kbx_client_data_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 670
    functionName: kbx_client_set_ephemeral
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 0
    functionsReached:
    - kbx_client_data_simple
    - log_error
    linkageType: ''
    returnType: void
    signature: void kbx_client_set_ephemeral (kbx_client_data_t kcd, int is_ephemeral)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:683,1
    - Dst: log_assert
      Src: /src/gnupg/sm/keydb.c:685,1
    - Dst: kbx_client_set_ephemeral
      Src: /src/gnupg/sm/keydb.c:692,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:694,1
    - Dst: log_fatal
      Src: /src/gnupg/sm/keydb.c:696,1
    - Dst: unlock_all
      Src: /src/gnupg/sm/keydb.c:703,1
    - Dst: keybox_release
      Src: /src/gnupg/sm/keydb.c:711,1
    - Dst: xfree
      Src: /src/gnupg/sm/keydb.c:717,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:719,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 720
    functionName: keydb_release
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 56
    functionsReached:
    - kbx_client_set_ephemeral
    - log_assert
    - log_fatal
    - keybox_release
    - xfree
    - unlock_all
    - log_clock
    linkageType: ''
    returnType: void
    signature: void keydb_release (KEYDB_HANDLE hd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: keybox_get_resource_name
      Src: /src/gnupg/sm/keydb.c:754,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 759
    functionName: keydb_get_resource_name
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 6
    functionsReached:
    - keybox_get_resource_name
    linkageType: ''
    returnType: char
    signature: 'char *

      keydb_get_resource_name (KEYDB_HANDLE hd)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kbx_client_set_ephemeral
      Src: /src/gnupg/sm/keydb.c:776,1
    - Dst: keybox_set_ephemeral
      Src: /src/gnupg/sm/keydb.c:785,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - hd
    - 'yes'
    argTypes:
    - KEYDB_HANDLE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 763
    functionDepth: 2
    functionLinenumber: 763
    functionLinenumberEnd: 794
    functionName: keydb_set_ephemeral
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 8
    functionsReached:
    - kbx_client_set_ephemeral
    - keybox_set_ephemeral
    linkageType: ''
    returnType: int
    signature: int keydb_set_ephemeral (KEYDB_HANDLE hd, int yes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:807,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:812,1
    - Dst: lock_all
      Src: /src/gnupg/sm/keydb.c:813,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:818,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 820
    functionName: keydb_lock
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 8
    functionsReached:
    - lock_all
    - gpg_error
    - log_clock
    - gpg_strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_lock (KEYDB_HANDLE hd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: keybox_lock
      Src: /src/gnupg/sm/keydb.c:842,1
    - Dst: keybox_lock
      Src: /src/gnupg/sm/keydb.c:859,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 868
    functionName: lock_all
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 4
    functionsReached:
    - keybox_lock
    linkageType: ''
    returnType: int
    signature: int lock_all (KEYDB_HANDLE hd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: keybox_fp_close
      Src: /src/gnupg/sm/keydb.c:882,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 886
    functionName: do_fp_close
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 1
    functionsReached:
    - keybox_fp_close
    linkageType: ''
    returnType: void
    signature: void do_fp_close (KEYDB_HANDLE hd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_fp_close
      Src: /src/gnupg/sm/keydb.c:893,1
    - Dst: keybox_lock
      Src: /src/gnupg/sm/keydb.c:905,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 910
    functionName: unlock_all
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 2
    functionsReached:
    - keybox_lock
    - do_fp_close
    linkageType: ''
    returnType: void
    signature: void unlock_all (KEYDB_HANDLE hd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/sm/keydb.c:923,1
    - Dst: keybox_push_found_state
      Src: /src/gnupg/sm/keydb.c:940,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:950,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 951
    functionName: keydb_push_found_state
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 2
    functionsReached:
    - keybox_push_found_state
    - log_clock
    - xfree
    linkageType: ''
    returnType: void
    signature: void keydb_push_found_state (KEYDB_HANDLE hd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/sm/keydb.c:963,1
    - Dst: keybox_pop_found_state
      Src: /src/gnupg/sm/keydb.c:982,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:989,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 990
    functionName: keydb_pop_found_state
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 2
    functionsReached:
    - log_clock
    - xfree
    - keybox_pop_found_state
    linkageType: ''
    returnType: void
    signature: void keydb_pop_found_state (KEYDB_HANDLE hd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1001,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:1004,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1019,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/sm/keydb.c:1022,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/sm/keydb.c:1025,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/sm/keydb.c:1030,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1042,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1050,1
    - Dst: keybox_get_cert
      Src: /src/gnupg/sm/keydb.c:1053,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:1059,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 2
    argNames:
    - hd
    - r_cert
    argTypes:
    - KEYDB_HANDLE
    - ksba_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1061
    functionName: keydb_get_cert
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 16
    functionsReached:
    - ksba_cert_init_from_mem
    - gpg_error
    - ksba_cert_release
    - log_clock
    - ksba_cert_new
    - keybox_get_cert
    linkageType: ''
    returnType: int
    signature: int keydb_get_cert (KEYDB_HANDLE hd, ksba_cert_t *r_cert)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1074,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:1077,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1081,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1102,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1106,1
    - Dst: keybox_get_flags
      Src: /src/gnupg/sm/keydb.c:1109,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:1115,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:1115,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 4
    argNames:
    - hd
    - which
    - idx
    - value
    argTypes:
    - KEYDB_HANDLE
    - int
    - int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1117
    functionName: keydb_get_flags
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 3
    functionsReached:
    - keybox_get_flags
    - gpg_error
    - log_clock
    - gpg_strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_get_flags (KEYDB_HANDLE hd, int which, int idx, unsigned
      int *value)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1132,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:1135,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1145,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1151,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1158,1
    - Dst: keybox_set_flags
      Src: /src/gnupg/sm/keydb.c:1161,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:1167,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:1167,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 4
    argNames:
    - hd
    - which
    - idx
    - value
    argTypes:
    - KEYDB_HANDLE
    - int
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1169
    functionName: do_set_flags
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - log_clock
    - gpg_strerror
    - keybox_set_flags
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_set_flags (KEYDB_HANDLE hd, int which, int idx, unsigned
      int value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/keydb.c:1180,1
    - Dst: log_info
      Src: /src/gnupg/sm/keydb.c:1181,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:1181,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/keydb.c:1182,1
    - Dst: log_info
      Src: /src/gnupg/sm/keydb.c:1183,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:1183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1186
    functionName: keydb_default_status_cb
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 1
    functionsReached:
    - log_info
    - _
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_default_status_cb (void *opaque, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/keydb.c:1206,1
    - Dst: assuan_send_data
      Src: /src/gnupg/sm/keydb.c:1209,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1200
    functionDepth: 1
    functionLinenumber: 1200
    functionLinenumberEnd: 1215
    functionName: store_inq_cb
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - assuan_send_data
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t store_inq_cb (void *opaque, const char *line)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1229,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:1235,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/sm/keydb.c:1242,1
    - Dst: log_debug
      Src: /src/gnupg/sm/keydb.c:1245,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1246,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/keydb.c:1249,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1258,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1268,1
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/keydb.c:1272,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1274,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1278,1
    - Dst: keybox_insert_cert
      Src: /src/gnupg/sm/keydb.c:1281,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:1287,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:1287,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 2
    argNames:
    - hd
    - cert
    argTypes:
    - KEYDB_HANDLE
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1221
    functionDepth: 2
    functionLinenumber: 1221
    functionLinenumberEnd: 1289
    functionName: do_insert_cert
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 0
    functionsReached:
    - keybox_insert_cert
    - ksba_cert_get_image
    - assuan_transact
    - gpg_error
    - gpg_strerror
    - gpgsm_get_fingerprint
    - log_clock
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_insert_cert (KEYDB_HANDLE hd, ksba_cert_t cert)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1306,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1316,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1321,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:1327,1
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/keydb.c:1329,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1331,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1335,1
    - Dst: keybox_update_cert
      Src: /src/gnupg/sm/keydb.c:1338,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:1344,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:1344,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - hd
    - cert
    argTypes:
    - KEYDB_HANDLE
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1295
    functionDepth: 2
    functionLinenumber: 1295
    functionLinenumberEnd: 1347
    functionName: keydb_update_cert
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 0
    functionsReached:
    - keybox_update_cert
    - gpg_error
    - gpg_strerror
    - gpgsm_get_fingerprint
    - log_clock
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_update_cert (KEYDB_HANDLE hd, ksba_cert_t cert)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1359,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1362,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:1368,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1377,1
    - Dst: bin2hex
      Src: /src/gnupg/sm/keydb.c:1381,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1382,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/keydb.c:1383,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1392,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1396,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1400,1
    - Dst: keybox_delete
      Src: /src/gnupg/sm/keydb.c:1403,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:1409,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:1409,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1353
    functionDepth: 2
    functionLinenumber: 1353
    functionLinenumberEnd: 1411
    functionName: keydb_delete
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 1
    functionsReached:
    - bin2hex
    - snprintf
    - assuan_transact
    - gpg_error
    - gpg_strerror
    - keybox_delete
    - log_clock
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_delete (KEYDB_HANDLE hd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1428,1
    - Dst: keydb_search_reset
      Src: /src/gnupg/sm/keydb.c:1433,1
    - Dst: BUG
      Src: /src/gnupg/sm/keydb.c:1442,1
    - Dst: keybox_is_writable
      Src: /src/gnupg/sm/keydb.c:1445,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1451,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - hd
    - reserved
    argTypes:
    - KEYDB_HANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1420
    functionDepth: 1
    functionLinenumber: 1420
    functionLinenumberEnd: 1452
    functionName: keydb_locate_writable
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 2
    functionsReached:
    - gpg_error
    - keybox_is_writable
    - keydb_search_reset
    - BUG
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_locate_writable (KEYDB_HANDLE hd, const char *reserved)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1479
    functionName: keydb_rebuild_caches
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void keydb_rebuild_caches (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1493,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:1496,1
    - Dst: keybox_search_reset
      Src: /src/gnupg/sm/keydb.c:1519,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:1526,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:1526,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1486
    functionDepth: 1
    functionLinenumber: 1486
    functionLinenumberEnd: 1528
    functionName: keydb_search_reset
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 20
    functionsReached:
    - keybox_search_reset
    - gpg_error
    - log_clock
    - gpg_strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keydb_search_reset (KEYDB_HANDLE hd)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: xasprintf
      Src: /src/gnupg/sm/keydb.c:1540,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/keydb.c:1542,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/keydb.c:1544,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/keydb.c:1546,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/keydb.c:1548,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/keydb.c:1550,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/keydb.c:1552,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/keydb.c:1554,1
    - Dst: bin2hexcolon
      Src: /src/gnupg/sm/keydb.c:1557,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/keydb.c:1558,1
    - Dst: xfree
      Src: /src/gnupg/sm/keydb.c:1559,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/keydb.c:1562,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/keydb.c:1564,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/keydb.c:1567,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/keydb.c:1570,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/keydb.c:1572,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/keydb.c:1574,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/keydb.c:1576,1
    - Dst: xasprintf
      Src: /src/gnupg/sm/keydb.c:1578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 1
    argNames:
    - desc
    argTypes:
    - struct keydb_search_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1531
    functionDepth: 2
    functionLinenumber: 1531
    functionLinenumberEnd: 1580
    functionName: keydb_search_desc_dump
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 1
    functionsReached:
    - xfree
    - xasprintf
    - bin2hexcolon
    linkageType: ''
    returnType: char
    signature: 'char *

      keydb_search_desc_dump (struct keydb_search_desc *desc)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/sm/keydb.c:1593,1
    - Dst: atoi
      Src: /src/gnupg/sm/keydb.c:1595,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1596,1
    - Dst: spacep
      Src: /src/gnupg/sm/keydb.c:1600,1
    - Dst: hex2fixedbuf
      Src: /src/gnupg/sm/keydb.c:1602,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1603,1
    - Dst: keydb_default_status_cb
      Src: /src/gnupg/sm/keydb.c:1619,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1585
    functionDepth: 1
    functionLinenumber: 1585
    functionLinenumberEnd: 1622
    functionName: search_status_cb
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 0
    functionsReached:
    - atoi
    - hex2fixedbuf
    - spacep
    - gpg_error
    - has_leading_keyword
    - keydb_default_status_cb
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t search_status_cb (void *opaque, const char *line)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1648,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1653,1
    - Dst: gpgsm_status_with_error
      Src: /src/gnupg/sm/keydb.c:1657,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1658,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1659,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:1663,1
    - Dst: log_debug
      Src: /src/gnupg/sm/keydb.c:1667,1
    - Dst: keydb_search_desc_dump
      Src: /src/gnupg/sm/keydb.c:1670,1
    - Dst: log_debug
      Src: /src/gnupg/sm/keydb.c:1671,1
    - Dst: xfree
      Src: /src/gnupg/sm/keydb.c:1672,1
    - Dst: xfree
      Src: /src/gnupg/sm/keydb.c:1683,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1699,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1707,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1716,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1728,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1733,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1738,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1743,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1748,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1753,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1758,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1763,1
    - Dst: log_assert
      Src: /src/gnupg/sm/keydb.c:1770,1
    - Dst: bin2hex
      Src: /src/gnupg/sm/keydb.c:1771,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1772,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1777,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1783,1
    - Dst: bin2hex
      Src: /src/gnupg/sm/keydb.c:1787,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/sm/keydb.c:1790,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1793,1
    - Dst: xfree
      Src: /src/gnupg/sm/keydb.c:1795,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1800,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1805,1
    - Dst: bin2hex
      Src: /src/gnupg/sm/keydb.c:1812,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1813,1
    - Dst: bin2hex
      Src: /src/gnupg/sm/keydb.c:1820,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1821,1
    - Dst: log_debug
      Src: /src/gnupg/sm/keydb.c:1826,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:1828,1
    - Dst: log_debug
      Src: /src/gnupg/sm/keydb.c:1832,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1836,1
    - Dst: strlen
      Src: /src/gnupg/sm/keydb.c:1843,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1844,1
    - Dst: kbx_client_data_simple
      Src: /src/gnupg/sm/keydb.c:1846,1
    - Dst: strlen
      Src: /src/gnupg/sm/keydb.c:1855,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1856,1
    - Dst: kbx_client_data_cmd
      Src: /src/gnupg/sm/keydb.c:1858,1
    - Dst: kbx_client_data_wait
      Src: /src/gnupg/sm/keydb.c:1859,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keydb.c:1871,1
    - Dst: BUG
      Src: /src/gnupg/sm/keydb.c:1877,1
    - Dst: keybox_search
      Src: /src/gnupg/sm/keydb.c:1880,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1884,1
    - Dst: log_debug
      Src: /src/gnupg/sm/keydb.c:1889,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:1893,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keydb.c:1895,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keydb.c:1906,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keydb.c:1907,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1908,1
    - Dst: log_clock
      Src: /src/gnupg/sm/keydb.c:1910,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:1910,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 158
    argCount: 4
    argNames:
    - ctrl
    - hd
    - desc
    - ndesc
    argTypes:
    - ctrl_t
    - KEYDB_HANDLE
    - KEYDB_SEARCH_DESC*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1644
    functionDepth: 4
    functionLinenumber: 1644
    functionLinenumberEnd: 1912
    functionName: keydb_search
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 29
    functionsReached:
    - keydb_search_desc_dump
    - log_assert
    - gpg_error_from_syserror
    - snprintf
    - bin2hex
    - strlen
    - keybox_search
    - kbx_client_data_wait
    - BUG
    - gpg_error
    - xfree
    - gpg_err_code
    - gpg_strerror
    - gpgsm_status_with_error
    - kbx_client_data_cmd
    - log_clock
    - kbx_client_data_simple
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keydb_search (ctrl_t ctrl, KEYDB_HANDLE hd,\n              KEYDB_SEARCH_DESC
      *desc, size_t ndesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/keydb.c:1920,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/keydb.c:1922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - hd
    argTypes:
    - ctrl_t
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1923
    functionName: keydb_search_first
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 2
    functionsReached:
    - keydb_search
    - memset
    linkageType: ''
    returnType: int
    signature: int keydb_search_first (ctrl_t ctrl, KEYDB_HANDLE hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/keydb.c:1930,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/keydb.c:1932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - hd
    argTypes:
    - ctrl_t
    - KEYDB_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1933
    functionName: keydb_search_next
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 2
    functionsReached:
    - keydb_search
    - memset
    linkageType: ''
    returnType: int
    signature: int keydb_search_next (ctrl_t ctrl, KEYDB_HANDLE hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/keydb.c:1942,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/keydb.c:1946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctrl
    - hd
    - kid
    argTypes:
    - ctrl_t
    - KEYDB_HANDLE
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1947
    functionName: keydb_search_kid
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 1
    functionsReached:
    - keydb_search
    - memset
    linkageType: ''
    returnType: int
    signature: int keydb_search_kid (ctrl_t ctrl, KEYDB_HANDLE hd, u32 *kid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/keydb.c:1954,1
    - Dst: memcpy
      Src: /src/gnupg/sm/keydb.c:1956,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/keydb.c:1958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - hd
    - fpr
    argTypes:
    - ctrl_t
    - KEYDB_HANDLE
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1959
    functionName: keydb_search_fpr
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 5
    functionsReached:
    - keydb_search
    - memset
    - memcpy
    linkageType: ''
    returnType: int
    signature: int keydb_search_fpr (ctrl_t ctrl, KEYDB_HANDLE hd, const byte *fpr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/keydb.c:1967,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/keydb.c:1970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - hd
    - issuer
    argTypes:
    - ctrl_t
    - KEYDB_HANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1972
    functionName: keydb_search_issuer
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 0
    functionsReached:
    - keydb_search
    - memset
    linkageType: ''
    returnType: int
    signature: int keydb_search_issuer (ctrl_t ctrl, KEYDB_HANDLE hd, const char *issuer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/keydb.c:1982,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1986,1
    - Dst: digitp
      Src: /src/gnupg/sm/keydb.c:1988,1
    - Dst: atoi_1
      Src: /src/gnupg/sm/keydb.c:1989,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:1991,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/keydb.c:1994,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ctrl
    - hd
    - issuer
    - serial
    argTypes:
    - ctrl_t
    - KEYDB_HANDLE
    - char*
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1974
    functionDepth: 1
    functionLinenumber: 1974
    functionLinenumberEnd: 1996
    functionName: keydb_search_issuer_sn
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 3
    functionsReached:
    - digitp
    - keydb_search
    - atoi_1
    - gpg_error
    - memset
    linkageType: ''
    returnType: int
    signature: "int keydb_search_issuer_sn (ctrl_t ctrl, KEYDB_HANDLE hd,\n                        const
      char *issuer, ksba_const_sexp_t serial)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/sm/keydb.c:2004,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/keydb.c:2007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - hd
    - name
    argTypes:
    - ctrl_t
    - KEYDB_HANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 1998
    functionDepth: 0
    functionLinenumber: 1998
    functionLinenumberEnd: 2009
    functionName: keydb_search_subject
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 3
    functionsReached:
    - keydb_search
    - memset
    linkageType: ''
    returnType: int
    signature: int keydb_search_subject (ctrl_t ctrl, KEYDB_HANDLE hd, const char
      *name)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/keydb.c:2027,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2029,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:2029,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:2030,1
    - Dst: keydb_new
      Src: /src/gnupg/sm/keydb.c:2033,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2036,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:2036,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:2037,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/keydb.c:2042,1
    - Dst: keydb_lock
      Src: /src/gnupg/sm/keydb.c:2046,1
    - Dst: keydb_search_fpr
      Src: /src/gnupg/sm/keydb.c:2051,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keydb.c:2052,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/keydb.c:2054,1
    - Dst: keydb_set_cert_flags
      Src: /src/gnupg/sm/keydb.c:2063,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2067,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:2068,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2074,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:2074,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:2075,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/keydb.c:2081,1
    - Dst: keydb_locate_writable
      Src: /src/gnupg/sm/keydb.c:2083,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2086,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:2086,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:2086,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/keydb.c:2087,1
    - Dst: do_insert_cert
      Src: /src/gnupg/sm/keydb.c:2091,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2094,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:2094,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:2094,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/keydb.c:2095,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/keydb.c:2098,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 4
    argNames:
    - ctrl
    - cert
    - ephemeral
    - existed
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2017
    functionDepth: 3
    functionLinenumber: 2017
    functionLinenumberEnd: 2100
    functionName: keydb_store_cert
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 5
    functionsReached:
    - keydb_new
    - keydb_set_ephemeral
    - keydb_set_cert_flags
    - log_error
    - keydb_locate_writable
    - _
    - do_insert_cert
    - keydb_search_fpr
    - gpg_error
    - gpg_err_code
    - gpg_strerror
    - keydb_release
    - keydb_lock
    - gpgsm_get_fingerprint
    linkageType: ''
    returnType: int
    signature: int keydb_store_cert (ctrl_t ctrl, ksba_cert_t cert, int ephemeral,
      int *existed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: keydb_get_flags
      Src: /src/gnupg/sm/keydb.c:2113,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2116,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:2116,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:2116,1
    - Dst: do_set_flags
      Src: /src/gnupg/sm/keydb.c:2124,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2127,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:2127,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:2127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - kh
    - which
    - idx
    - mask
    - value
    argTypes:
    - KEYDB_HANDLE
    - int
    - int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2106
    functionDepth: 2
    functionLinenumber: 2106
    functionLinenumberEnd: 2133
    functionName: set_cert_flags
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 4
    functionsReached:
    - log_error
    - do_set_flags
    - _
    - gpg_strerror
    - keydb_get_flags
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t set_cert_flags (KEYDB_HANDLE kh, int which, int idx,\n
      \               unsigned int mask, unsigned int value)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gpgsm_get_fingerprint
      Src: /src/gnupg/sm/keydb.c:2151,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2153,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:2153,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:2154,1
    - Dst: keydb_new
      Src: /src/gnupg/sm/keydb.c:2157,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2160,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:2160,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:2161,1
    - Dst: keydb_set_ephemeral
      Src: /src/gnupg/sm/keydb.c:2164,1
    - Dst: keydb_lock
      Src: /src/gnupg/sm/keydb.c:2168,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2171,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:2171,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:2171,1
    - Dst: keydb_search_fpr
      Src: /src/gnupg/sm/keydb.c:2176,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keydb.c:2179,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2180,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:2180,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:2181,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:2193,1
    - Dst: bin2hex
      Src: /src/gnupg/sm/keydb.c:2197,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:2204,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:2208,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/keydb.c:2210,1
    - Dst: set_cert_flags
      Src: /src/gnupg/sm/keydb.c:2216,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/keydb.c:2219,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 7
    argNames:
    - ctrl
    - cert
    - ephemeral
    - which
    - idx
    - mask
    - value
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - int
    - int
    - int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2140
    functionDepth: 3
    functionLinenumber: 2140
    functionLinenumberEnd: 2221
    functionName: keydb_set_cert_flags
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 4
    functionsReached:
    - keydb_new
    - keydb_set_ephemeral
    - log_error
    - bin2hex
    - snprintf
    - _
    - keydb_search_fpr
    - assuan_transact
    - gpg_error
    - gpg_strerror
    - gpg_err_code
    - keydb_release
    - keydb_lock
    - gpgsm_get_fingerprint
    - set_cert_flags
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keydb_set_cert_flags (ctrl_t ctrl, ksba_cert_t cert, int
      ephemeral,\n                      int which, int idx,\n                      unsigned
      int mask, unsigned int value)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: keydb_new
      Src: /src/gnupg/sm/keydb.c:2238,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2241,1
    - Dst: xtrycalloc
      Src: /src/gnupg/sm/keydb.c:2253,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2256,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:2257,1
    - Dst: out_of_core
      Src: /src/gnupg/sm/keydb.c:2257,1
    - Dst: classify_user_id
      Src: /src/gnupg/sm/keydb.c:2267,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2269,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:2269,1
    - Dst: keydb_lock
      Src: /src/gnupg/sm/keydb.c:2277,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2280,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:2280,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:2280,1
    - Dst: keydb_search
      Src: /src/gnupg/sm/keydb.c:2285,1
    - Dst: gpg_error
      Src: /src/gnupg/sm/keydb.c:2297,1
    - Dst: bin2hex
      Src: /src/gnupg/sm/keydb.c:2301,1
    - Dst: snprintf
      Src: /src/gnupg/sm/keydb.c:2302,1
    - Dst: assuan_transact
      Src: /src/gnupg/sm/keydb.c:2304,1
    - Dst: keydb_get_flags
      Src: /src/gnupg/sm/keydb.c:2311,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2314,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:2314,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:2315,1
    - Dst: do_set_flags
      Src: /src/gnupg/sm/keydb.c:2322,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2325,1
    - Dst: _
      Src: /src/gnupg/sm/keydb.c:2325,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:2325,1
    - Dst: gpg_err_code
      Src: /src/gnupg/sm/keydb.c:2331,1
    - Dst: log_error
      Src: /src/gnupg/sm/keydb.c:2332,1
    - Dst: gpg_strerror
      Src: /src/gnupg/sm/keydb.c:2332,1
    - Dst: xfree
      Src: /src/gnupg/sm/keydb.c:2335,1
    - Dst: keydb_release
      Src: /src/gnupg/sm/keydb.c:2336,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 2
    argNames:
    - ctrl
    - names
    argTypes:
    - ctrl_t
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2225
    functionDepth: 2
    functionLinenumber: 2225
    functionLinenumberEnd: 2337
    functionName: keydb_clear_some_cert_flags
    functionSourceFile: /src/gnupg/sm/keydb.c
    functionUses: 1
    functionsReached:
    - keydb_new
    - log_error
    - bin2hex
    - snprintf
    - keydb_search
    - do_set_flags
    - _
    - assuan_transact
    - gpg_error
    - classify_user_id
    - gpg_strerror
    - gpg_err_code
    - keydb_get_flags
    - xtrycalloc
    - keydb_lock
    - xfree
    - keydb_release
    - out_of_core
    linkageType: ''
    returnType: void
    signature: void keydb_clear_some_cert_flags (ctrl_t ctrl, strlist_t names)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/gnupg/tpm2d/tpm2daemon.c:206,1
    - Dst: getfnc
      Src: /src/gnupg/tpm2d/tpm2daemon.c:209,1
    - Dst: xmalloc
      Src: /src/gnupg/tpm2d/tpm2daemon.c:210,1
    - Dst: strlen
      Src: /src/gnupg/tpm2d/tpm2daemon.c:210,1
    - Dst: strlen
      Src: /src/gnupg/tpm2d/tpm2daemon.c:210,1
    - Dst: strcpy
      Src: /src/gnupg/tpm2d/tpm2daemon.c:211,1
    - Dst: stpcpy
      Src: /src/gnupg/tpm2d/tpm2daemon.c:211,1
    - Dst: stpcpy
      Src: /src/gnupg/tpm2d/tpm2daemon.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - libname
    - (*getfnc)(const char*)
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 213
    functionName: make_libversion
    functionSourceFile: /src/gnupg/tpm2d/tpm2daemon.c
    functionUses: 3
    functionsReached:
    - strlen
    - gcry_control
    - xmalloc
    - strcpy
    - stpcpy
    - getfnc
    linkageType: ''
    returnType: char
    signature: 'char *

      make_libversion (const char *libname, const char *(*getfnc)(const char*))'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2daemon.c:228,1
    - Dst: make_libversion
      Src: /src/gnupg/tpm2d/tpm2daemon.c:232,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2daemon.c:236,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2daemon.c:238,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 245
    functionName: my_strusage
    functionSourceFile: /src/gnupg/tpm2d/tpm2daemon.c
    functionUses: 0
    functionsReached:
    - make_libversion
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage (int level)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_self
      Src: /src/gnupg/tpm2d/tpm2daemon.c:254,1
    - Dst: memcpy
      Src: /src/gnupg/tpm2d/tpm2daemon.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rvalue
    argTypes:
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 260
    functionName: tid_log_callback
    functionSourceFile: /src/gnupg/tpm2d/tpm2daemon.c
    functionUses: 0
    functionsReached:
    - memcpy
    - npth_self
    linkageType: ''
    returnType: int
    signature: int tid_log_callback (unsigned long *rvalue)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/tpm2d/tpm2daemon.c:270,1
    - Dst: atoi
      Src: /src/gnupg/tpm2d/tpm2daemon.c:271,1
    - Dst: strcmp
      Src: /src/gnupg/tpm2d/tpm2daemon.c:275,1
    - Dst: strcmp
      Src: /src/gnupg/tpm2d/tpm2daemon.c:277,1
    - Dst: strcmp
      Src: /src/gnupg/tpm2d/tpm2daemon.c:279,1
    - Dst: strcmp
      Src: /src/gnupg/tpm2d/tpm2daemon.c:281,1
    - Dst: strcmp
      Src: /src/gnupg/tpm2d/tpm2daemon.c:283,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:287,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2daemon.c:287,1
    - Dst: tpm2d_exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:288,1
    - Dst: gcry_control
      Src: /src/gnupg/tpm2d/tpm2daemon.c:298,1
    - Dst: gcry_control
      Src: /src/gnupg/tpm2d/tpm2daemon.c:300,1
    - Dst: gcry_control
      Src: /src/gnupg/tpm2d/tpm2daemon.c:301,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/tpm2d/tpm2daemon.c:304,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 27
    argCount: 1
    argNames:
    - level
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 305
    functionName: set_debug
    functionSourceFile: /src/gnupg/tpm2d/tpm2daemon.c
    functionUses: 3
    functionsReached:
    - tpm2d_exit
    - atoi
    - log_error
    - digitp
    - gcry_control
    - _
    - strcmp
    - parse_debug_flag
    linkageType: ''
    returnType: void
    signature: void set_debug (const char *level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_remove
      Src: /src/gnupg/tpm2d/tpm2daemon.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 6
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: cleanup
    functionSourceFile: /src/gnupg/tpm2d/tpm2daemon.c
    functionUses: 4
    functionsReached:
    - gnupg_remove
    linkageType: ''
    returnType: void
    signature: void cleanup (void)
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: early_system_init
      Src: /src/gnupg/tpm2d/tpm2daemon.c:351,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/tpm2d/tpm2daemon.c:352,1
    - Dst: gcry_control
      Src: /src/gnupg/tpm2d/tpm2daemon.c:353,1
    - Dst: log_set_prefix
      Src: /src/gnupg/tpm2d/tpm2daemon.c:357,1
    - Dst: i18n_init
      Src: /src/gnupg/tpm2d/tpm2daemon.c:360,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/tpm2d/tpm2daemon.c:361,1
    - Dst: assuan_set_malloc_hooks
      Src: /src/gnupg/tpm2d/tpm2daemon.c:366,1
    - Dst: assuan_set_gpg_err_source
      Src: /src/gnupg/tpm2d/tpm2daemon.c:367,1
    - Dst: assuan_sock_init
      Src: /src/gnupg/tpm2d/tpm2daemon.c:368,1
    - Dst: setup_libassuan_logging
      Src: /src/gnupg/tpm2d/tpm2daemon.c:369,1
    - Dst: setup_libgcrypt_logging
      Src: /src/gnupg/tpm2d/tpm2daemon.c:371,1
    - Dst: gcry_control
      Src: /src/gnupg/tpm2d/tpm2daemon.c:372,1
    - Dst: disable_core_dumps
      Src: /src/gnupg/tpm2d/tpm2daemon.c:374,1
    - Dst: getenv
      Src: /src/gnupg/tpm2d/tpm2daemon.c:379,1
    - Dst: strlen
      Src: /src/gnupg/tpm2d/tpm2daemon.c:380,1
    - Dst: strcmp
      Src: /src/gnupg/tpm2d/tpm2daemon.c:380,1
    - Dst: strlen
      Src: /src/gnupg/tpm2d/tpm2daemon.c:380,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tpm2d/tpm2daemon.c:389,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/tpm2d/tpm2daemon.c:398,1
    - Dst: gcry_control
      Src: /src/gnupg/tpm2d/tpm2daemon.c:406,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/tpm2d/tpm2daemon.c:415,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/tpm2d/tpm2daemon.c:415,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/tpm2d/tpm2daemon.c:416,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tpm2d/tpm2daemon.c:416,1
    - Dst: gpgrt_argparser
      Src: /src/gnupg/tpm2d/tpm2daemon.c:428,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:434,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2daemon.c:434,1
    - Dst: xfree
      Src: /src/gnupg/tpm2d/tpm2daemon.c:438,1
    - Dst: xstrdup
      Src: /src/gnupg/tpm2d/tpm2daemon.c:439,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/tpm2d/tpm2daemon.c:452,1
    - Dst: enable_core_dumps
      Src: /src/gnupg/tpm2d/tpm2daemon.c:462,1
    - Dst: log_set_pid_suffix_cb
      Src: /src/gnupg/tpm2d/tpm2daemon.c:466,1
    - Dst: set_libassuan_log_cats
      Src: /src/gnupg/tpm2d/tpm2daemon.c:469,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/tpm2d/tpm2daemon.c:475,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/tpm2d/tpm2daemon.c:500,1
    - Dst: gpgrt_fnameconcat
      Src: /src/gnupg/tpm2d/tpm2daemon.c:503,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/tpm2d/tpm2daemon.c:503,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tpm2d/tpm2daemon.c:512,1
    - Dst: exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:513,1
    - Dst: es_fprintf
      Src: /src/gnupg/tpm2d/tpm2daemon.c:519,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/tpm2d/tpm2daemon.c:520,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/tpm2d/tpm2daemon.c:520,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/tpm2d/tpm2daemon.c:521,1
    - Dst: es_fprintf
      Src: /src/gnupg/tpm2d/tpm2daemon.c:522,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/tpm2d/tpm2daemon.c:522,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:525,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:535,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2daemon.c:535,1
    - Dst: atexit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:538,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:540,1
    - Dst: cleanup
      Src: /src/gnupg/tpm2d/tpm2daemon.c:541,1
    - Dst: exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:542,1
    - Dst: set_debug
      Src: /src/gnupg/tpm2d/tpm2daemon.c:545,1
    - Dst: tpm2d_exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:548,1
    - Dst: es_printf
      Src: /src/gnupg/tpm2d/tpm2daemon.c:551,1
    - Dst: tpm2d_exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:560,1
    - Dst: log_set_file
      Src: /src/gnupg/tpm2d/tpm2daemon.c:566,1
    - Dst: log_set_prefix
      Src: /src/gnupg/tpm2d/tpm2daemon.c:567,1
    - Dst: log_debug
      Src: /src/gnupg/tpm2d/tpm2daemon.c:572,1
    - Dst: getpid
      Src: /src/gnupg/tpm2d/tpm2daemon.c:573,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/tpm2d/tpm2daemon.c:574,1
    - Dst: log_debug
      Src: /src/gnupg/tpm2d/tpm2daemon.c:575,1
    - Dst: sigemptyset
      Src: /src/gnupg/tpm2d/tpm2daemon.c:590,1
    - Dst: sigaction
      Src: /src/gnupg/tpm2d/tpm2daemon.c:592,1
    - Dst: npth_init
      Src: /src/gnupg/tpm2d/tpm2daemon.c:596,1
    - Dst: gpgrt_set_syscall_clamp
      Src: /src/gnupg/tpm2d/tpm2daemon.c:597,1
    - Dst: assuan_control
      Src: /src/gnupg/tpm2d/tpm2daemon.c:598,1
    - Dst: chdir
      Src: /src/gnupg/tpm2d/tpm2daemon.c:605,1
    - Dst: log_debug
      Src: /src/gnupg/tpm2d/tpm2daemon.c:606,1
    - Dst: strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:606,1
    - Dst: log_debug
      Src: /src/gnupg/tpm2d/tpm2daemon.c:608,1
    - Dst: create_socket_name
      Src: /src/gnupg/tpm2d/tpm2daemon.c:617,1
    - Dst: create_server_socket
      Src: /src/gnupg/tpm2d/tpm2daemon.c:618,1
    - Dst: npth_attr_init
      Src: /src/gnupg/tpm2d/tpm2daemon.c:623,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:626,1
    - Dst: strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:627,1
    - Dst: tpm2d_exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:628,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/tpm2d/tpm2daemon.c:630,1
    - Dst: xtrycalloc
      Src: /src/gnupg/tpm2d/tpm2daemon.c:632,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:635,1
    - Dst: strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:636,1
    - Dst: tpm2d_exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:637,1
    - Dst: npth_create
      Src: /src/gnupg/tpm2d/tpm2daemon.c:640,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:643,1
    - Dst: strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:644,1
    - Dst: xfree
      Src: /src/gnupg/tpm2d/tpm2daemon.c:645,1
    - Dst: tpm2d_exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:646,1
    - Dst: npth_setname_np
      Src: /src/gnupg/tpm2d/tpm2daemon.c:648,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/tpm2d/tpm2daemon.c:649,1
    - Dst: handle_connections
      Src: /src/gnupg/tpm2d/tpm2daemon.c:653,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/tpm2d/tpm2daemon.c:655,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:659,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2daemon.c:659,1
    - Dst: create_socket_name
      Src: /src/gnupg/tpm2d/tpm2daemon.c:671,1
    - Dst: create_server_socket
      Src: /src/gnupg/tpm2d/tpm2daemon.c:672,1
    - Dst: fflush
      Src: /src/gnupg/tpm2d/tpm2daemon.c:676,1
    - Dst: fork
      Src: /src/gnupg/tpm2d/tpm2daemon.c:681,1
    - Dst: log_fatal
      Src: /src/gnupg/tpm2d/tpm2daemon.c:684,1
    - Dst: strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:684,1
    - Dst: exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:685,1
    - Dst: close
      Src: /src/gnupg/tpm2d/tpm2daemon.c:691,1
    - Dst: gpgrt_asprintf
      Src: /src/gnupg/tpm2d/tpm2daemon.c:694,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:697,1
    - Dst: kill
      Src: /src/gnupg/tpm2d/tpm2daemon.c:698,1
    - Dst: exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:699,1
    - Dst: putenv
      Src: /src/gnupg/tpm2d/tpm2daemon.c:705,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:707,1
    - Dst: strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:708,1
    - Dst: kill
      Src: /src/gnupg/tpm2d/tpm2daemon.c:709,1
    - Dst: exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:710,1
    - Dst: execvp
      Src: /src/gnupg/tpm2d/tpm2daemon.c:712,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:713,1
    - Dst: strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:713,1
    - Dst: kill
      Src: /src/gnupg/tpm2d/tpm2daemon.c:714,1
    - Dst: exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:715,1
    - Dst: strchr
      Src: /src/gnupg/tpm2d/tpm2daemon.c:723,1
    - Dst: es_printf
      Src: /src/gnupg/tpm2d/tpm2daemon.c:724,1
    - Dst: es_printf
      Src: /src/gnupg/tpm2d/tpm2daemon.c:728,1
    - Dst: xfree
      Src: /src/gnupg/tpm2d/tpm2daemon.c:730,1
    - Dst: exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:731,1
    - Dst: npth_init
      Src: /src/gnupg/tpm2d/tpm2daemon.c:738,1
    - Dst: gpgrt_set_syscall_clamp
      Src: /src/gnupg/tpm2d/tpm2daemon.c:739,1
    - Dst: assuan_control
      Src: /src/gnupg/tpm2d/tpm2daemon.c:740,1
    - Dst: log_test_fd
      Src: /src/gnupg/tpm2d/tpm2daemon.c:748,1
    - Dst: close
      Src: /src/gnupg/tpm2d/tpm2daemon.c:750,1
    - Dst: open
      Src: /src/gnupg/tpm2d/tpm2daemon.c:751,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:753,1
    - Dst: strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:754,1
    - Dst: cleanup
      Src: /src/gnupg/tpm2d/tpm2daemon.c:755,1
    - Dst: exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:756,1
    - Dst: setsid
      Src: /src/gnupg/tpm2d/tpm2daemon.c:761,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:763,1
    - Dst: strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:763,1
    - Dst: cleanup
      Src: /src/gnupg/tpm2d/tpm2daemon.c:764,1
    - Dst: exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:765,1
    - Dst: sigemptyset
      Src: /src/gnupg/tpm2d/tpm2daemon.c:773,1
    - Dst: sigaction
      Src: /src/gnupg/tpm2d/tpm2daemon.c:775,1
    - Dst: gnupg_chdir
      Src: /src/gnupg/tpm2d/tpm2daemon.c:780,1
    - Dst: gnupg_daemon_rootdir
      Src: /src/gnupg/tpm2d/tpm2daemon.c:780,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:782,1
    - Dst: gnupg_daemon_rootdir
      Src: /src/gnupg/tpm2d/tpm2daemon.c:783,1
    - Dst: strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:783,1
    - Dst: exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:784,1
    - Dst: handle_connections
      Src: /src/gnupg/tpm2d/tpm2daemon.c:787,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/tpm2d/tpm2daemon.c:789,1
    - Dst: xfree
      Src: /src/gnupg/tpm2d/tpm2daemon.c:792,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 300
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 325
    functionDepth: 6
    functionLinenumber: 325
    functionLinenumberEnd: 794
    functionName: main
    functionSourceFile: /src/gnupg/tpm2d/tpm2daemon.c
    functionUses: 6
    functionsReached:
    - gpgrt_set_syscall_clamp
    - init_common_subsystems
    - gpgrt_fnameconcat
    - es_fprintf
    - strlen
    - set_debug
    - npth_attr_init
    - gnupg_homedir
    - exit
    - gpgrt_argparser
    - assuan_set_malloc_hooks
    - npth_init
    - setsid
    - xstrdup
    - sigaction
    - fork
    - set_libassuan_log_cats
    - gnupg_daemon_rootdir
    - gpgrt_set_strusage
    - tpm2d_exit
    - gnupg_set_homedir
    - log_error
    - npth_create
    - early_system_init
    - log_set_prefix
    - sigemptyset
    - close
    - execvp
    - _
    - log_test_fd
    - log_get_errorcount
    - fflush
    - kill
    - log_info
    - assuan_control
    - handle_connections
    - gnupg_sleep
    - parse_debug_flag
    - log_set_pid_suffix_cb
    - gpgrt_strusage
    - setup_libgcrypt_logging
    - log_debug
    - gcry_control
    - cleanup
    - strcmp
    - create_socket_name
    - npth_attr_setdetachstate
    - npth_setname_np
    - xfree
    - enable_core_dumps
    - assuan_sock_close
    - gpgrt_argparse
    - xtrycalloc
    - strchr
    - gnupg_sysconfdir
    - log_set_file
    - getpid
    - chdir
    - gpgrt_asprintf
    - i18n_init
    - atexit
    - open
    - npth_attr_destroy
    - putenv
    - getenv
    - create_server_socket
    - log_fatal
    - assuan_set_gpg_err_source
    - assuan_sock_init
    - es_printf
    - gpgrt_set_confdir
    - gnupg_chdir
    - setup_libassuan_logging
    - disable_core_dumps
    - strerror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/gnupg/tpm2d/tpm2daemon.c:799,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/tpm2d/tpm2daemon.c:800,1
    - Dst: exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 802
    functionName: tpm2d_exit
    functionSourceFile: /src/gnupg/tpm2d/tpm2daemon.c
    functionUses: 2
    functionsReached:
    - log_get_errorcount
    - exit
    - gcry_control
    linkageType: ''
    returnType: void
    signature: void tpm2d_exit (int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 809
    functionName: tpm2d_init_default_ctrl
    functionSourceFile: /src/gnupg/tpm2d/tpm2daemon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tpm2d_init_default_ctrl (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/tpm2d/tpm2daemon.c:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 819
    functionName: tpm2d_deinit_default_ctrl
    functionSourceFile: /src/gnupg/tpm2d/tpm2daemon.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void tpm2d_deinit_default_ctrl (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 830
    functionName: tpm2d_get_socket_name
    functionSourceFile: /src/gnupg/tpm2d/tpm2daemon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      tpm2d_get_socket_name (void)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:840,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:846,1
    - Dst: app_dump_state
      Src: /src/gnupg/tpm2d/tpm2daemon.c:851,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:856,1
    - Dst: log_debug
      Src: /src/gnupg/tpm2d/tpm2daemon.c:861,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:866,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:868,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:873,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:874,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/tpm2d/tpm2daemon.c:874,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/tpm2d/tpm2daemon.c:875,1
    - Dst: cleanup
      Src: /src/gnupg/tpm2d/tpm2daemon.c:876,1
    - Dst: tpm2d_exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:877,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:882,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:883,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/tpm2d/tpm2daemon.c:883,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/tpm2d/tpm2daemon.c:883,1
    - Dst: cleanup
      Src: /src/gnupg/tpm2d/tpm2daemon.c:884,1
    - Dst: tpm2d_exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:885,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:889,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 891
    functionName: handle_signal
    functionSourceFile: /src/gnupg/tpm2d/tpm2daemon.c
    functionUses: 0
    functionsReached:
    - tpm2d_exit
    - cleanup
    - log_info
    - log_debug
    - app_dump_state
    - gpgrt_strusage
    linkageType: ''
    returnType: void
    signature: void handle_signal (int signo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/tpm2d/tpm2daemon.c:905,1
    - Dst: gnupg_socketdir
      Src: /src/gnupg/tpm2d/tpm2daemon.c:905,1
    - Dst: strchr
      Src: /src/gnupg/tpm2d/tpm2daemon.c:906,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:908,1
    - Dst: tpm2d_exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - standard_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 900
    functionDepth: 7
    functionLinenumber: 900
    functionLinenumberEnd: 912
    functionName: create_socket_name
    functionSourceFile: /src/gnupg/tpm2d/tpm2daemon.c
    functionUses: 1
    functionsReached:
    - make_filename
    - tpm2d_exit
    - log_error
    - gnupg_socketdir
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      create_socket_name (char *standard_name)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/tpm2d/tpm2daemon.c:930,1
    - Dst: assuan_sock_new
      Src: /src/gnupg/tpm2d/tpm2daemon.c:933,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:936,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2daemon.c:936,1
    - Dst: strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:936,1
    - Dst: tpm2d_exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:937,1
    - Dst: xmalloc
      Src: /src/gnupg/tpm2d/tpm2daemon.c:940,1
    - Dst: assuan_sock_set_sockaddr_un
      Src: /src/gnupg/tpm2d/tpm2daemon.c:946,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:949,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2daemon.c:949,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:951,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:952,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:952,1
    - Dst: tpm2d_exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:953,1
    - Dst: xstrdup
      Src: /src/gnupg/tpm2d/tpm2daemon.c:957,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:959,1
    - Dst: SUN_LEN
      Src: /src/gnupg/tpm2d/tpm2daemon.c:963,1
    - Dst: assuan_sock_bind
      Src: /src/gnupg/tpm2d/tpm2daemon.c:965,1
    - Dst: gnupg_remove
      Src: /src/gnupg/tpm2d/tpm2daemon.c:968,1
    - Dst: assuan_sock_bind
      Src: /src/gnupg/tpm2d/tpm2daemon.c:969,1
    - Dst: assuan_sock_get_nonce
      Src: /src/gnupg/tpm2d/tpm2daemon.c:972,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:973,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2daemon.c:973,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:976,1
    - Dst: log_libassuan_system_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:977,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:978,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2daemon.c:978,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:979,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/tpm2d/tpm2daemon.c:980,1
    - Dst: tpm2d_exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:981,1
    - Dst: gnupg_chmod
      Src: /src/gnupg/tpm2d/tpm2daemon.c:984,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:985,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2daemon.c:985,1
    - Dst: strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:986,1
    - Dst: listen
      Src: /src/gnupg/tpm2d/tpm2daemon.c:988,1
    - Dst: FD2INT
      Src: /src/gnupg/tpm2d/tpm2daemon.c:988,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:990,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:991,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:991,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/tpm2d/tpm2daemon.c:992,1
    - Dst: tpm2d_exit
      Src: /src/gnupg/tpm2d/tpm2daemon.c:993,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:997,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2daemon.c:997,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - name
    - r_redir_name
    - nonce
    argTypes:
    - char*
    - char**
    - assuan_sock_nonce_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 920
    functionDepth: 6
    functionLinenumber: 920
    functionLinenumberEnd: 1000
    functionName: create_server_socket
    functionSourceFile: /src/gnupg/tpm2d/tpm2daemon.c
    functionUses: 2
    functionsReached:
    - FD2INT
    - xmalloc
    - xstrdup
    - assuan_sock_new
    - tpm2d_exit
    - strerror
    - log_error
    - assuan_sock_get_nonce
    - listen
    - _
    - log_info
    - gpg_error_from_syserror
    - assuan_sock_close
    - xfree
    - gpg_strerror
    - assuan_sock_set_sockaddr_un
    - gnupg_chmod
    - SUN_LEN
    - assuan_sock_bind
    - gnupg_remove
    - log_libassuan_system_error
    linkageType: ''
    returnType: gnupg_fd_t
    signature: "gnupg_fd_t create_server_socket (const char *name, char **r_redir_name,\n
      \                     assuan_sock_nonce_t *nonce)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_sock_check_nonce
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1011,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1013,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1013,1
    - Dst: FD_DBG
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1014,1
    - Dst: strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1014,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1015,1
    - Dst: xfree
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1016,1
    - Dst: tpm2d_init_default_ctrl
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1022,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1024,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1024,1
    - Dst: FD_DBG
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1025,1
    - Dst: tpm2d_command_handler
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1031,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1036,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1036,1
    - Dst: FD_DBG
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1037,1
    - Dst: tpm2d_deinit_default_ctrl
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1039,1
    - Dst: xfree
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1040,1
    - Dst: tpm2d_kick_the_loop
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1043,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1046
    functionName: start_connection_thread
    functionSourceFile: /src/gnupg/tpm2d/tpm2daemon.c
    functionUses: 0
    functionsReached:
    - tpm2d_init_default_ctrl
    - tpm2d_command_handler
    - _
    - assuan_sock_check_nonce
    - FD_DBG
    - assuan_sock_close
    - log_info
    - xfree
    - tpm2d_kick_the_loop
    - strerror
    - tpm2d_deinit_default_ctrl
    linkageType: ''
    returnType: void
    signature: 'void *

      start_connection_thread (void *arg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SetEvent
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1056,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1058,1
    - Dst: w32_strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1059,1
    - Dst: write
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1061,1
    - Dst: kill
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1065,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1067,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1068,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1070
    functionName: tpm2d_kick_the_loop
    functionSourceFile: /src/gnupg/tpm2d/tpm2daemon.c
    functionUses: 1
    functionsReached:
    - SetEvent
    - log_error
    - gpg_error_from_syserror
    - write
    - kill
    - gpg_strerror
    - w32_strerror
    linkageType: ''
    returnType: void
    signature: void tpm2d_kick_the_loop (void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_create_pipe
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1097,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1100,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1100,1
    - Dst: npth_attr_init
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1106,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1109,1
    - Dst: strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1109,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1113,1
    - Dst: CreateEvent
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1122,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1124,1
    - Dst: w32_strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1124,1
    - Dst: DuplicateHandle
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1125,1
    - Dst: GetCurrentProcess
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1125,1
    - Dst: GetCurrentProcess
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1126,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1129,1
    - Dst: w32_strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1130,1
    - Dst: CloseHandle
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1131,1
    - Dst: CloseHandle
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1135,1
    - Dst: npth_sigev_init
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1140,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1141,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1142,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1143,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1144,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1145,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1146,1
    - Dst: npth_sigev_fini
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1147,1
    - Dst: getpid
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1148,1
    - Dst: FD_ZERO
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1151,1
    - Dst: FD_SET
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1155,1
    - Dst: FD2INT
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1155,1
    - Dst: FD2NUM
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1156,1
    - Dst: FD_ZERO
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1173,1
    - Dst: FD_SET
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1192,1
    - Dst: npth_pselect
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1198,1
    - Dst: npth_sigev_sigmask
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1199,1
    - Dst: npth_sigev_get_pending
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1202,1
    - Dst: handle_signal
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1203,1
    - Dst: npth_eselect
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1205,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1214,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1214,1
    - Dst: strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1215,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1216,1
    - Dst: FD_ISSET
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1225,1
    - Dst: read
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1229,1
    - Dst: FD_ISSET
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1234,1
    - Dst: FD2INT
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1234,1
    - Dst: assuan_sock_accept
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1240,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1244,1
    - Dst: log_libassuan_system_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1245,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1246,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1246,1
    - Dst: xtrycalloc
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1248,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1250,1
    - Dst: strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1251,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1252,1
    - Dst: snprintf
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1259,1
    - Dst: FD_DBG
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1259,1
    - Dst: npth_create
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1261,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1264,1
    - Dst: strerror
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1265,1
    - Dst: xfree
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1266,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1267,1
    - Dst: npth_setname_np
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1270,1
    - Dst: CloseHandle
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1277,1
    - Dst: close
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1280,1
    - Dst: close
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1281,1
    - Dst: cleanup
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1283,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1284,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1284,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1284,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1284,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/tpm2d/tpm2daemon.c:1285,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 106
    argCount: 1
    argNames:
    - listen_fd
    argTypes:
    - gnupg_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1286
    functionName: handle_connections
    functionSourceFile: /src/gnupg/tpm2d/tpm2daemon.c
    functionUses: 1
    functionsReached:
    - FD2INT
    - npth_attr_init
    - log_libassuan_system_error
    - handle_signal
    - npth_sigev_fini
    - GetCurrentProcess
    - FD_ISSET
    - assuan_sock_accept
    - log_error
    - npth_create
    - close
    - _
    - FD_SET
    - FD_DBG
    - DuplicateHandle
    - FD2NUM
    - log_info
    - w32_strerror
    - npth_eselect
    - npth_sigev_init
    - npth_pselect
    - npth_sigev_sigmask
    - gnupg_sleep
    - gpgrt_strusage
    - npth_sigev_get_pending
    - gpg_error_from_syserror
    - CreateEvent
    - npth_attr_setdetachstate
    - assuan_sock_close
    - npth_setname_np
    - cleanup
    - gpg_strerror
    - xfree
    - xtrycalloc
    - getpid
    - npth_sigev_add
    - FD_ZERO
    - read
    - npth_attr_destroy
    - snprintf
    - gnupg_create_pipe
    - strerror
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void handle_connections (gnupg_fd_t listen_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1293
    functionName: get_active_connection_count
    functionSourceFile: /src/gnupg/tpm2d/tpm2daemon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_active_connection_count (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: TSSINCLUDE
    functionSourceFile: /src/gnupg/tpm2d/ibm-tss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TSSINCLUDE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: VAL
    functionSourceFile: /src/gnupg/tpm2d/ibm-tss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VAL(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - MEMBER
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: VAL_2B
    functionSourceFile: /src/gnupg/tpm2d/ibm-tss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VAL_2B(X, MEMBER)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/tpm2d/ibm-tss.h:46,1
    - Dst: snprintf
      Src: /src/gnupg/tpm2d/ibm-tss.h:53,1
    - Dst: mkdtemp
      Src: /src/gnupg/tpm2d/ibm-tss.h:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 66
    functionName: tpm2_set_unique_tssdir
    functionSourceFile: /src/gnupg/tpm2d/ibm-tss.h
    functionUses: 0
    functionsReached:
    - snprintf
    - getenv
    - mkdtemp
    linkageType: ''
    returnType: char
    signature: 'char *

      tpm2_set_unique_tssdir (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSS_ResponseCode_toString
      Src: /src/gnupg/tpm2d/ibm-tss.h:73,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/ibm-tss.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rc
    - prefix
    argTypes:
    - TPM_RC
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: tpm2_error
    functionSourceFile: /src/gnupg/tpm2d/ibm-tss.h
    functionUses: 0
    functionsReached:
    - TSS_ResponseCode_toString
    - log_error
    linkageType: ''
    returnType: void
    signature: void tpm2_error (TPM_RC rc, const char *prefix)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tpm2_set_unique_tssdir
      Src: /src/gnupg/tpm2d/ibm-tss.h:82,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/ibm-tss.h:85,1
    - Dst: TSS_Create
      Src: /src/gnupg/tpm2d/ibm-tss.h:87,1
    - Dst: tpm2_error
      Src: /src/gnupg/tpm2d/ibm-tss.h:90,1
    - Dst: TSS_SetProperty
      Src: /src/gnupg/tpm2d/ibm-tss.h:93,1
    - Dst: tpm2_error
      Src: /src/gnupg/tpm2d/ibm-tss.h:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - tssc
    argTypes:
    - TSS_CONTEXT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 99
    functionName: TSS_start
    functionSourceFile: /src/gnupg/tpm2d/ibm-tss.h
    functionUses: 0
    functionsReached:
    - tpm2_set_unique_tssdir
    - TSS_SetProperty
    - log_error
    - TSS_Create
    - tpm2_error
    linkageType: ''
    returnType: int
    signature: int TSS_start (TSS_CONTEXT **tssc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSS_Execute
      Src: /src/gnupg/tpm2d/ibm-tss.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - tssContext
    - primaryHandle
    - inSensitive
    - inPublic
    - objectHandle
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - TPM2B_SENSITIVE_CREATE*
    - TPM2B_PUBLIC*
    - TPM_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: tpm2_CreatePrimary
    functionSourceFile: /src/gnupg/tpm2d/ibm-tss.h
    functionUses: 0
    functionsReached:
    - TSS_Execute
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_CreatePrimary (TSS_CONTEXT *tssContext, TPM_HANDLE primaryHandle,\n\t\t
      \   TPM2B_SENSITIVE_CREATE *inSensitive,\n\t\t    TPM2B_PUBLIC *inPublic, TPM_HANDLE
      *objectHandle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSS_Execute
      Src: /src/gnupg/tpm2d/ibm-tss.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tssContext
    - flushHandle
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: tpm2_FlushContext
    functionSourceFile: /src/gnupg/tpm2d/ibm-tss.h
    functionUses: 0
    functionsReached:
    - TSS_Execute
    linkageType: ''
    returnType: TPM_RC
    signature: TPM_RC tpm2_FlushContext (TSS_CONTEXT *tssContext, TPM_HANDLE flushHandle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSS_Execute
      Src: /src/gnupg/tpm2d/ibm-tss.h:163,1
    - Dst: tpm2_error
      Src: /src/gnupg/tpm2d/ibm-tss.h:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - tssContext
    - objectHandle
    - pub
    - auth
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - TPMT_PUBLIC*
    - TPM_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 181
    functionName: tpm2_ReadPublic
    functionSourceFile: /src/gnupg/tpm2d/ibm-tss.h
    functionUses: 0
    functionsReached:
    - tpm2_error
    - TSS_Execute
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_ReadPublic (TSS_CONTEXT *tssContext, TPM_HANDLE objectHandle,\n\t\t
      TPMT_PUBLIC *pub, TPM_HANDLE auth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tpm2d/ibm-tss.h:195,1
    - Dst: memset
      Src: /src/gnupg/tpm2d/ibm-tss.h:196,1
    - Dst: tpm2_ReadPublic
      Src: /src/gnupg/tpm2d/ibm-tss.h:214,1
    - Dst: TSS_Execute
      Src: /src/gnupg/tpm2d/ibm-tss.h:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 8
    argNames:
    - tssContext
    - tpmKey
    - bind
    - sessionType
    - symmetric
    - authHash
    - sessionHandle
    - bindPassword
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - TPM_HANDLE
    - TPM_SE
    - TPMT_SYM_DEF*
    - TPMI_ALG_HASH
    - TPM_HANDLE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 232
    functionName: tpm2_StartAuthSession
    functionSourceFile: /src/gnupg/tpm2d/ibm-tss.h
    functionUses: 0
    functionsReached:
    - tpm2_ReadPublic
    - TSS_Execute
    - memset
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_StartAuthSession (TSS_CONTEXT *tssContext, TPM_HANDLE
      tpmKey,\n\t\t       TPM_HANDLE bind, TPM_SE sessionType,\n\t\t       TPMT_SYM_DEF
      *symmetric, TPMI_ALG_HASH authHash,\n\t\t       TPM_HANDLE *sessionHandle,\n\t\t
      \      const char *bindPassword)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSS_Execute
      Src: /src/gnupg/tpm2d/ibm-tss.h:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 7
    argNames:
    - tssContext
    - keyHandle
    - digest
    - inScheme
    - signature
    - auth
    - authVal
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - DIGEST_2B*
    - TPMT_SIG_SCHEME*
    - TPMT_SIGNATURE*
    - TPM_HANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 261
    functionName: tpm2_Sign
    functionSourceFile: /src/gnupg/tpm2d/ibm-tss.h
    functionUses: 0
    functionsReached:
    - TSS_Execute
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_Sign (TSS_CONTEXT *tssContext, TPM_HANDLE keyHandle, DIGEST_2B
      *digest,\n\t   TPMT_SIG_SCHEME *inScheme, TPMT_SIGNATURE *signature,\n\t   TPM_HANDLE
      auth, const char *authVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSS_Execute
      Src: /src/gnupg/tpm2d/ibm-tss.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - tssContext
    - keyHandle
    - inPoint
    - outPoint
    - auth
    - authVal
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - TPM2B_ECC_POINT*
    - TPM2B_ECC_POINT*
    - TPM_HANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 286
    functionName: tpm2_ECDH_ZGen
    functionSourceFile: /src/gnupg/tpm2d/ibm-tss.h
    functionUses: 0
    functionsReached:
    - TSS_Execute
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_ECDH_ZGen (TSS_CONTEXT *tssContext, TPM_HANDLE keyHandle,\n\t\tTPM2B_ECC_POINT
      *inPoint, TPM2B_ECC_POINT *outPoint,\n\t\tTPM_HANDLE auth, const char *authVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSS_Execute
      Src: /src/gnupg/tpm2d/ibm-tss.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 8
    argNames:
    - tssContext
    - keyHandle
    - cipherText
    - inScheme
    - message
    - auth
    - authVal
    - flags
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - PUBLIC_KEY_RSA_2B*
    - TPMT_RSA_DECRYPT*
    - PUBLIC_KEY_RSA_2B*
    - TPM_HANDLE
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 314
    functionName: tpm2_RSA_Decrypt
    functionSourceFile: /src/gnupg/tpm2d/ibm-tss.h
    functionUses: 0
    functionsReached:
    - TSS_Execute
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_RSA_Decrypt (TSS_CONTEXT *tssContext, TPM_HANDLE keyHandle,\n\t\t
      \ PUBLIC_KEY_RSA_2B *cipherText, TPMT_RSA_DECRYPT *inScheme,\n\t\t  PUBLIC_KEY_RSA_2B
      *message,\n\t\t  TPM_HANDLE auth, const char *authVal, int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSS_Execute
      Src: /src/gnupg/tpm2d/ibm-tss.h:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 7
    argNames:
    - tssContext
    - parentHandle
    - inPrivate
    - inPublic
    - objectHandle
    - auth
    - authVal
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - PRIVATE_2B*
    - TPM2B_PUBLIC*
    - TPM_HANDLE*
    - TPM_HANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 342
    functionName: tpm2_Load
    functionSourceFile: /src/gnupg/tpm2d/ibm-tss.h
    functionUses: 0
    functionsReached:
    - TSS_Execute
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_Load (TSS_CONTEXT *tssContext, TPM_HANDLE parentHandle,\n\t
      \  PRIVATE_2B *inPrivate, TPM2B_PUBLIC *inPublic,\n\t   TPM_HANDLE *objectHandle,\n\t
      \  TPM_HANDLE auth, const char *authVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSS_Execute
      Src: /src/gnupg/tpm2d/ibm-tss.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 10
    argNames:
    - tssContext
    - parentHandle
    - encryptionKey
    - objectPublic
    - duplicate
    - inSymSeed
    - symmetricAlg
    - outPrivate
    - auth
    - authVal
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - DATA_2B*
    - TPM2B_PUBLIC*
    - PRIVATE_2B*
    - ENCRYPTED_SECRET_2B*
    - TPMT_SYM_DEF_OBJECT*
    - PRIVATE_2B*
    - TPM_HANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 373
    functionName: tpm2_Import
    functionSourceFile: /src/gnupg/tpm2d/ibm-tss.h
    functionUses: 0
    functionsReached:
    - TSS_Execute
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_Import (TSS_CONTEXT *tssContext, TPM_HANDLE parentHandle,\n\t
      \    DATA_2B *encryptionKey, TPM2B_PUBLIC *objectPublic,\n\t     PRIVATE_2B
      *duplicate, ENCRYPTED_SECRET_2B *inSymSeed,\n\t     TPMT_SYM_DEF_OBJECT *symmetricAlg,
      PRIVATE_2B *outPrivate,\n\t     TPM_HANDLE auth, const char *authVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tssContext
    - h
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: tpm2_handle_int
    functionSourceFile: /src/gnupg/tpm2d/ibm-tss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TPM_HANDLE
    signature: TPM_HANDLE tpm2_handle_int (TSS_CONTEXT *tssContext, TPM_HANDLE h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tssContext
    - h
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 387
    functionName: tpm2_handle_ext
    functionSourceFile: /src/gnupg/tpm2d/ibm-tss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TPM_HANDLE
    signature: TPM_HANDLE tpm2_handle_ext (TSS_CONTEXT *tssContext, TPM_HANDLE h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tssContext
    - h
    - mso
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - UINT32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: tpm2_handle_mso
    functionSourceFile: /src/gnupg/tpm2d/ibm-tss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tpm2_handle_mso (TSS_CONTEXT *tssContext, TPM_HANDLE h, UINT32
      mso)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: set_error
    functionSourceFile: /src/gnupg/tpm2d/command.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_error(e,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: reset_notify
    functionSourceFile: /src/gnupg/tpm2d/command.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t reset_notify (assuan_context_t ctx, char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/tpm2d/command.c:108,1
    - Dst: strcmp
      Src: /src/gnupg/tpm2d/command.c:110,1
    - Dst: gpg_error
      Src: /src/gnupg/tpm2d/command.c:115,1
    - Dst: strtoul
      Src: /src/gnupg/tpm2d/command.c:116,1
    - Dst: atoi
      Src: /src/gnupg/tpm2d/command.c:118,1
    - Dst: gpg_error
      Src: /src/gnupg/tpm2d/command.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - assuan_context_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 126
    functionName: option_handler
    functionSourceFile: /src/gnupg/tpm2d/command.c
    functionUses: 2
    functionsReached:
    - atoi
    - strcmp
    - gpg_error
    - strtoul
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t option_handler (assuan_context_t ctx, const char *key,
      const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/tpm2d/command.c:139,1
    - Dst: gpgrt_asprintf
      Src: /src/gnupg/tpm2d/command.c:141,1
    - Dst: gpg_error
      Src: /src/gnupg/tpm2d/command.c:143,1
    - Dst: gpg_err_code_from_errno
      Src: /src/gnupg/tpm2d/command.c:143,1
    - Dst: assuan_inquire
      Src: /src/gnupg/tpm2d/command.c:147,1
    - Dst: xfree
      Src: /src/gnupg/tpm2d/command.c:148,1
    - Dst: xfree
      Src: /src/gnupg/tpm2d/command.c:155,1
    - Dst: gpg_error
      Src: /src/gnupg/tpm2d/command.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ctrl
    - info
    - retstr
    argTypes:
    - ctrl_t
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 160
    functionName: pin_cb
    functionSourceFile: /src/gnupg/tpm2d/command.c
    functionUses: 0
    functionsReached:
    - assuan_inquire
    - gpg_error
    - log_debug
    - xfree
    - gpgrt_asprintf
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t pin_cb (ctrl_t ctrl, const char *info, char **retstr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/tpm2d/command.c:174,1
    - Dst: skip_options
      Src: /src/gnupg/tpm2d/command.c:183,1
    - Dst: set_error
      Src: /src/gnupg/tpm2d/command.c:186,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/tpm2d/command.c:189,1
    - Dst: assuan_inquire
      Src: /src/gnupg/tpm2d/command.c:190,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/tpm2d/command.c:191,1
    - Dst: tpm2_start
      Src: /src/gnupg/tpm2d/command.c:195,1
    - Dst: gcry_sexp_new
      Src: /src/gnupg/tpm2d/command.c:197,1
    - Dst: tpm2_import_key
      Src: /src/gnupg/tpm2d/command.c:198,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/tpm2d/command.c:200,1
    - Dst: tpm2_end
      Src: /src/gnupg/tpm2d/command.c:201,1
    - Dst: assuan_send_data
      Src: /src/gnupg/tpm2d/command.c:205,1
    - Dst: xfree
      Src: /src/gnupg/tpm2d/command.c:208,1
    - Dst: xfree
      Src: /src/gnupg/tpm2d/command.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 212
    functionName: cmd_import
    functionSourceFile: /src/gnupg/tpm2d/command.c
    functionUses: 0
    functionsReached:
    - tpm2_import_key
    - tpm2_start
    - assuan_send_data
    - set_error
    - assuan_end_confidential
    - tpm2_end
    - assuan_begin_confidential
    - assuan_inquire
    - skip_options
    - xfree
    - gcry_sexp_release
    - gcry_sexp_new
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_import (assuan_context_t ctx, char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/tpm2d/command.c:225,1
    - Dst: skip_options
      Src: /src/gnupg/tpm2d/command.c:237,1
    - Dst: set_error
      Src: /src/gnupg/tpm2d/command.c:240,1
    - Dst: assuan_inquire
      Src: /src/gnupg/tpm2d/command.c:243,1
    - Dst: assuan_inquire
      Src: /src/gnupg/tpm2d/command.c:247,1
    - Dst: tpm2_start
      Src: /src/gnupg/tpm2d/command.c:251,1
    - Dst: tpm2_load_key
      Src: /src/gnupg/tpm2d/command.c:255,1
    - Dst: tpm2_sign
      Src: /src/gnupg/tpm2d/command.c:259,1
    - Dst: tpm2_flush_handle
      Src: /src/gnupg/tpm2d/command.c:262,1
    - Dst: tpm2_end
      Src: /src/gnupg/tpm2d/command.c:265,1
    - Dst: assuan_send_data
      Src: /src/gnupg/tpm2d/command.c:270,1
    - Dst: xfree
      Src: /src/gnupg/tpm2d/command.c:271,1
    - Dst: xfree
      Src: /src/gnupg/tpm2d/command.c:274,1
    - Dst: xfree
      Src: /src/gnupg/tpm2d/command.c:276,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 279
    functionName: cmd_pksign
    functionSourceFile: /src/gnupg/tpm2d/command.c
    functionUses: 0
    functionsReached:
    - tpm2_start
    - tpm2_flush_handle
    - assuan_send_data
    - set_error
    - tpm2_end
    - assuan_inquire
    - skip_options
    - xfree
    - tpm2_load_key
    - tpm2_sign
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_pksign (assuan_context_t ctx, char *line)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/tpm2d/command.c:292,1
    - Dst: skip_options
      Src: /src/gnupg/tpm2d/command.c:304,1
    - Dst: set_error
      Src: /src/gnupg/tpm2d/command.c:307,1
    - Dst: assuan_inquire
      Src: /src/gnupg/tpm2d/command.c:310,1
    - Dst: assuan_inquire
      Src: /src/gnupg/tpm2d/command.c:314,1
    - Dst: tpm2_start
      Src: /src/gnupg/tpm2d/command.c:318,1
    - Dst: tpm2_load_key
      Src: /src/gnupg/tpm2d/command.c:322,1
    - Dst: tpm2_rsa_decrypt
      Src: /src/gnupg/tpm2d/command.c:327,1
    - Dst: tpm2_ecc_decrypt
      Src: /src/gnupg/tpm2d/command.c:330,1
    - Dst: tpm2_flush_handle
      Src: /src/gnupg/tpm2d/command.c:338,1
    - Dst: tpm2_end
      Src: /src/gnupg/tpm2d/command.c:341,1
    - Dst: assuan_send_data
      Src: /src/gnupg/tpm2d/command.c:346,1
    - Dst: xfree
      Src: /src/gnupg/tpm2d/command.c:347,1
    - Dst: xfree
      Src: /src/gnupg/tpm2d/command.c:350,1
    - Dst: xfree
      Src: /src/gnupg/tpm2d/command.c:351,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 354
    functionName: cmd_pkdecrypt
    functionSourceFile: /src/gnupg/tpm2d/command.c
    functionUses: 0
    functionsReached:
    - tpm2_start
    - tpm2_flush_handle
    - assuan_send_data
    - set_error
    - tpm2_ecc_decrypt
    - tpm2_end
    - assuan_inquire
    - tpm2_rsa_decrypt
    - skip_options
    - xfree
    - tpm2_load_key
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_pkdecrypt (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/tpm2d/command.c:363,1
    - Dst: assuan_set_flag
      Src: /src/gnupg/tpm2d/command.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 370
    functionName: cmd_killtpm2d
    functionSourceFile: /src/gnupg/tpm2d/command.c
    functionUses: 0
    functionsReached:
    - assuan_set_flag
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_killtpm2d (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_register_command
      Src: /src/gnupg/tpm2d/command.c:393,1
    - Dst: assuan_set_hello_line
      Src: /src/gnupg/tpm2d/command.c:398,1
    - Dst: assuan_register_reset_notify
      Src: /src/gnupg/tpm2d/command.c:400,1
    - Dst: assuan_register_option_handler
      Src: /src/gnupg/tpm2d/command.c:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 403
    functionName: register_commands
    functionSourceFile: /src/gnupg/tpm2d/command.c
    functionUses: 2
    functionsReached:
    - assuan_register_reset_notify
    - assuan_register_option_handler
    - assuan_register_command
    - assuan_set_hello_line
    linkageType: ''
    returnType: int
    signature: int register_commands (assuan_context_t ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assuan_new
      Src: /src/gnupg/tpm2d/command.c:416,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/command.c:419,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tpm2d/command.c:420,1
    - Dst: tpm2d_exit
      Src: /src/gnupg/tpm2d/command.c:421,1
    - Dst: assuan_fdopen
      Src: /src/gnupg/tpm2d/command.c:428,1
    - Dst: assuan_fdopen
      Src: /src/gnupg/tpm2d/command.c:429,1
    - Dst: assuan_init_pipe_server
      Src: /src/gnupg/tpm2d/command.c:430,1
    - Dst: assuan_init_socket_server
      Src: /src/gnupg/tpm2d/command.c:434,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/command.c:439,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tpm2d/command.c:440,1
    - Dst: tpm2d_exit
      Src: /src/gnupg/tpm2d/command.c:441,1
    - Dst: register_commands
      Src: /src/gnupg/tpm2d/command.c:443,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/command.c:446,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tpm2d/command.c:447,1
    - Dst: tpm2d_exit
      Src: /src/gnupg/tpm2d/command.c:448,1
    - Dst: assuan_set_pointer
      Src: /src/gnupg/tpm2d/command.c:450,1
    - Dst: xcalloc
      Src: /src/gnupg/tpm2d/command.c:455,1
    - Dst: assuan_accept
      Src: /src/gnupg/tpm2d/command.c:464,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/command.c:471,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tpm2d/command.c:471,1
    - Dst: assuan_process
      Src: /src/gnupg/tpm2d/command.c:475,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/command.c:478,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tpm2d/command.c:478,1
    - Dst: BUG
      Src: /src/gnupg/tpm2d/command.c:494,1
    - Dst: xfree
      Src: /src/gnupg/tpm2d/command.c:498,1
    - Dst: assuan_release
      Src: /src/gnupg/tpm2d/command.c:502,1
    - Dst: tpm2d_exit
      Src: /src/gnupg/tpm2d/command.c:505,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - ctrl
    - fd
    argTypes:
    - ctrl_t
    - gnupg_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 509
    functionName: tpm2d_command_handler
    functionSourceFile: /src/gnupg/tpm2d/command.c
    functionUses: 1
    functionsReached:
    - assuan_new
    - tpm2d_exit
    - log_error
    - assuan_release
    - assuan_accept
    - xcalloc
    - BUG
    - assuan_init_socket_server
    - gpg_strerror
    - register_commands
    - assuan_fdopen
    - log_info
    - xfree
    - assuan_set_pointer
    - assuan_process
    - assuan_init_pipe_server
    linkageType: ''
    returnType: int
    signature: int tpm2d_command_handler (ctrl_t ctrl, gnupg_fd_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: struct
    functionSourceFile: /src/gnupg/tpm2d/tpm2daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EXTERN_UNLESS_MAIN_MODULE
    signature: EXTERN_UNLESS_MAIN_MODULE struct
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - PTR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 176
    functionName: TSS_CONVERT_MARSHAL
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TSS_CONVERT_MARSHAL(TYPE, PTR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - ARG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 192
    functionName: TSS_CONVERT_UNMARSHAL
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TSS_CONVERT_UNMARSHAL(TYPE, ARG)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/gnupg/tpm2d/intel-tss.h:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - alg
    argTypes:
    - TPM_ALG_ID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: TSS_GetDigestSize
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int TSS_GetDigestSize(TPM_ALG_ID alg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/gnupg/tpm2d/intel-tss.h:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - algo
    - alg
    argTypes:
    - int*
    - TPM_ALG_ID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 337
    functionName: TSS_Hash_GetMd
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int TSS_Hash_GetMd(int *algo, TPM_ALG_ID alg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/tpm2d/intel-tss.h:350,1
    - Dst: TSS_Hash_GetMd
      Src: /src/gnupg/tpm2d/intel-tss.h:352,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/intel-tss.h:355,1
    - Dst: gcry_md_open
      Src: /src/gnupg/tpm2d/intel-tss.h:359,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/intel-tss.h:362,1
    - Dst: gpg_strerror
      Src: /src/gnupg/tpm2d/intel-tss.h:363,1
    - Dst: va_arg
      Src: /src/gnupg/tpm2d/intel-tss.h:371,1
    - Dst: va_arg
      Src: /src/gnupg/tpm2d/intel-tss.h:372,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/intel-tss.h:377,1
    - Dst: gcry_md_write
      Src: /src/gnupg/tpm2d/intel-tss.h:381,1
    - Dst: TSS_GetDigestSize
      Src: /src/gnupg/tpm2d/intel-tss.h:384,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/intel-tss.h:387,1
    - Dst: memcpy
      Src: /src/gnupg/tpm2d/intel-tss.h:390,1
    - Dst: gcry_md_read
      Src: /src/gnupg/tpm2d/intel-tss.h:390,1
    - Dst: gcry_md_close
      Src: /src/gnupg/tpm2d/intel-tss.h:394,1
    - Dst: va_end
      Src: /src/gnupg/tpm2d/intel-tss.h:395,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - digest
    argTypes:
    - TPMT_HA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 397
    functionName: TSS_Hash_Generate
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_md_open
    - va_end
    - log_error
    - TSS_GetDigestSize
    - va_arg
    - gpg_strerror
    - va_start
    - TSS_Hash_GetMd
    - gcry_md_close
    - gcry_md_read
    - memcpy
    linkageType: ''
    returnType: TPM_RC
    signature: TPM_RC TSS_Hash_Generate(TPMT_HA *digest, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gnupg/tpm2d/intel-tss.h:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - target
    - buffer
    - size
    - targetSize
    argTypes:
    - TPM2B*
    - uint8_t*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 409
    functionName: TSS_TPM2B_Create
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC TSS_TPM2B_Create(TPM2B *target, uint8_t *buffer, uint16_t size,\n\t\t
      uint16_t targetSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tss2_RC_Decode
      Src: /src/gnupg/tpm2d/intel-tss.h:416,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/intel-tss.h:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rc
    - reason
    argTypes:
    - TPM_RC
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 418
    functionName: tpm2_error
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 2
    functionsReached:
    - Tss2_RC_Decode
    - log_error
    linkageType: ''
    returnType: void
    signature: void tpm2_error(TPM_RC rc, const char *reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSS_Create
      Src: /src/gnupg/tpm2d/intel-tss.h:425,1
    - Dst: tpm2_error
      Src: /src/gnupg/tpm2d/intel-tss.h:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tssc
    argTypes:
    - TSS_CONTEXT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 433
    functionName: TSS_start
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached:
    - TSS_Create
    - tpm2_error
    linkageType: ''
    returnType: int
    signature: int TSS_start (TSS_CONTEXT **tssc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intel_auth_helper
      Src: /src/gnupg/tpm2d/intel-tss.h:445,1
    - Dst: intel_sess_helper
      Src: /src/gnupg/tpm2d/intel-tss.h:446,1
    - Dst: Esys_Import
      Src: /src/gnupg/tpm2d/intel-tss.h:447,1
    - Dst: free
      Src: /src/gnupg/tpm2d/intel-tss.h:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 10
    argNames:
    - tssContext
    - parentHandle
    - encryptionKey
    - objectPublic
    - duplicate
    - inSymSeed
    - symmetricAlg
    - outPrivate
    - auth
    - authVal
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - DATA_2B*
    - TPM2B_PUBLIC*
    - PRIVATE_2B*
    - ENCRYPTED_SECRET_2B*
    - TPMT_SYM_DEF_OBJECT*
    - PRIVATE_2B*
    - TPM_HANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 457
    functionName: tpm2_Import
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached:
    - Esys_Import
    - intel_sess_helper
    - intel_auth_helper
    - free
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_Import(TSS_CONTEXT *tssContext, TPM_HANDLE parentHandle,\n\t
      \   DATA_2B *encryptionKey, TPM2B_PUBLIC *objectPublic,\n\t    PRIVATE_2B *duplicate,
      ENCRYPTED_SECRET_2B *inSymSeed,\n\t    TPMT_SYM_DEF_OBJECT *symmetricAlg, PRIVATE_2B
      *outPrivate,\n\t    TPM_HANDLE auth, const char *authVal)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intel_auth_helper
      Src: /src/gnupg/tpm2d/intel-tss.h:474,1
    - Dst: intel_sess_helper
      Src: /src/gnupg/tpm2d/intel-tss.h:475,1
    - Dst: Esys_Create
      Src: /src/gnupg/tpm2d/intel-tss.h:476,1
    - Dst: free
      Src: /src/gnupg/tpm2d/intel-tss.h:485,1
    - Dst: free
      Src: /src/gnupg/tpm2d/intel-tss.h:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 8
    argNames:
    - tssContext
    - parentHandle
    - inSensitive
    - inPublic
    - outPrivate
    - outPublic
    - auth
    - authVal
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - TPM2B_SENSITIVE_CREATE*
    - TPM2B_PUBLIC*
    - PRIVATE_2B*
    - TPM2B_PUBLIC*
    - TPM_HANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 490
    functionName: tpm2_Create
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached:
    - Esys_Create
    - intel_sess_helper
    - intel_auth_helper
    - free
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_Create(TSS_CONTEXT *tssContext, TPM_HANDLE parentHandle,\n\t
      \   TPM2B_SENSITIVE_CREATE *inSensitive, TPM2B_PUBLIC *inPublic,\n\t    PRIVATE_2B
      *outPrivate, TPM2B_PUBLIC *outPublic,\n\t    TPM_HANDLE auth, const char *authVal)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: intel_sess_helper
      Src: /src/gnupg/tpm2d/intel-tss.h:500,1
    - Dst: Esys_ReadPublic
      Src: /src/gnupg/tpm2d/intel-tss.h:502,1
    - Dst: free
      Src: /src/gnupg/tpm2d/intel-tss.h:509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - tssContext
    - objectHandle
    - pub
    - auth
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - TPMT_PUBLIC*
    - TPM_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 512
    functionName: tpm2_ReadPublic
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 1
    functionsReached:
    - Esys_ReadPublic
    - intel_sess_helper
    - free
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_ReadPublic(TSS_CONTEXT *tssContext, TPM_HANDLE objectHandle,\n\t\tTPMT_PUBLIC
      *pub, TPM_HANDLE auth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intel_auth_helper
      Src: /src/gnupg/tpm2d/intel-tss.h:526,1
    - Dst: intel_sess_helper
      Src: /src/gnupg/tpm2d/intel-tss.h:527,1
    - Dst: Esys_RSA_Decrypt
      Src: /src/gnupg/tpm2d/intel-tss.h:528,1
    - Dst: free
      Src: /src/gnupg/tpm2d/intel-tss.h:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 8
    argNames:
    - tssContext
    - keyHandle
    - cipherText
    - inScheme
    - message
    - auth
    - authVal
    - flags
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - PUBLIC_KEY_RSA_2B*
    - TPMT_RSA_DECRYPT*
    - PUBLIC_KEY_RSA_2B*
    - TPM_HANDLE
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 539
    functionName: tpm2_RSA_Decrypt
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached:
    - intel_sess_helper
    - intel_auth_helper
    - Esys_RSA_Decrypt
    - free
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_RSA_Decrypt(TSS_CONTEXT *tssContext, TPM_HANDLE keyHandle,\n\t\t
      PUBLIC_KEY_RSA_2B *cipherText, TPMT_RSA_DECRYPT *inScheme,\n\t\t PUBLIC_KEY_RSA_2B
      *message,\n\t\t TPM_HANDLE auth, const char *authVal, int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intel_auth_helper
      Src: /src/gnupg/tpm2d/intel-tss.h:554,1
    - Dst: intel_sess_helper
      Src: /src/gnupg/tpm2d/intel-tss.h:555,1
    - Dst: Esys_Sign
      Src: /src/gnupg/tpm2d/intel-tss.h:556,1
    - Dst: free
      Src: /src/gnupg/tpm2d/intel-tss.h:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - tssContext
    - keyHandle
    - digest
    - inScheme
    - signature
    - auth
    - authVal
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - DIGEST_2B*
    - TPMT_SIG_SCHEME*
    - TPMT_SIGNATURE*
    - TPM_HANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 566
    functionName: tpm2_Sign
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached:
    - Esys_Sign
    - intel_sess_helper
    - intel_auth_helper
    - free
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_Sign(TSS_CONTEXT *tssContext, TPM_HANDLE keyHandle, DIGEST_2B
      *digest,\n\t  TPMT_SIG_SCHEME *inScheme, TPMT_SIGNATURE *signature,\n\t  TPM_HANDLE
      auth, const char *authVal)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intel_auth_helper
      Src: /src/gnupg/tpm2d/intel-tss.h:576,1
    - Dst: intel_sess_helper
      Src: /src/gnupg/tpm2d/intel-tss.h:577,1
    - Dst: Esys_ECDH_ZGen
      Src: /src/gnupg/tpm2d/intel-tss.h:578,1
    - Dst: free
      Src: /src/gnupg/tpm2d/intel-tss.h:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - tssContext
    - keyHandle
    - inPoint
    - outPoint
    - auth
    - authVal
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - TPM2B_ECC_POINT*
    - TPM2B_ECC_POINT*
    - TPM_HANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 588
    functionName: tpm2_ECDH_ZGen
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached:
    - Esys_ECDH_ZGen
    - intel_sess_helper
    - intel_auth_helper
    - free
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_ECDH_ZGen(TSS_CONTEXT *tssContext, TPM_HANDLE keyHandle,\n\t
      \      TPM2B_ECC_POINT *inPoint, TPM2B_ECC_POINT *outPoint,\n\t       TPM_HANDLE
      auth, const char *authVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intel_handle
      Src: /src/gnupg/tpm2d/intel-tss.h:600,1
    - Dst: Esys_CreatePrimary
      Src: /src/gnupg/tpm2d/intel-tss.h:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - tssContext
    - primaryHandle
    - inSensitive
    - inPublic
    - objectHandle
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - TPM2B_SENSITIVE_CREATE*
    - TPM2B_PUBLIC*
    - TPM_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 611
    functionName: tpm2_CreatePrimary
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached:
    - Esys_CreatePrimary
    - intel_handle
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_CreatePrimary(TSS_CONTEXT *tssContext, TPM_HANDLE primaryHandle,\n\t\t
      \  TPM2B_SENSITIVE_CREATE *inSensitive,\n\t\t   TPM2B_PUBLIC *inPublic, TPM_HANDLE
      *objectHandle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Esys_FlushContext
      Src: /src/gnupg/tpm2d/intel-tss.h:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tssContext
    - flushHandle
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: tpm2_FlushContext
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached:
    - Esys_FlushContext
    linkageType: ''
    returnType: TPM_RC
    signature: TPM_RC tpm2_FlushContext(TSS_CONTEXT *tssContext, TPM_HANDLE flushHandle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intel_handle
      Src: /src/gnupg/tpm2d/intel-tss.h:626,1
    - Dst: intel_handle
      Src: /src/gnupg/tpm2d/intel-tss.h:627,1
    - Dst: intel_auth_helper
      Src: /src/gnupg/tpm2d/intel-tss.h:629,1
    - Dst: Esys_StartAuthSession
      Src: /src/gnupg/tpm2d/intel-tss.h:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - tssContext
    - tpmKey
    - bind
    - sessionType
    - symmetric
    - authHash
    - sessionHandle
    - bindPassword
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - TPM_HANDLE
    - TPM_SE
    - TPMT_SYM_DEF*
    - TPMI_ALG_HASH
    - TPM_HANDLE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 635
    functionName: tpm2_StartAuthSession
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached:
    - intel_auth_helper
    - Esys_StartAuthSession
    - intel_handle
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_StartAuthSession(TSS_CONTEXT *tssContext, TPM_HANDLE tpmKey,\n\t\t
      \     TPM_HANDLE bind, TPM_SE sessionType,\n\t\t      TPMT_SYM_DEF *symmetric,
      TPMI_ALG_HASH authHash,\n\t\t      TPM_HANDLE *sessionHandle,\n\t\t      const
      char *bindPassword)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intel_auth_helper
      Src: /src/gnupg/tpm2d/intel-tss.h:643,1
    - Dst: intel_sess_helper
      Src: /src/gnupg/tpm2d/intel-tss.h:644,1
    - Dst: Esys_Load
      Src: /src/gnupg/tpm2d/intel-tss.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - tssContext
    - parentHandle
    - inPrivate
    - inPublic
    - objectHandle
    - auth
    - authVal
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - PRIVATE_2B*
    - TPM2B_PUBLIC*
    - TPM_HANDLE*
    - TPM_HANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 647
    functionName: tpm2_Load
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached:
    - Esys_Load
    - intel_sess_helper
    - intel_auth_helper
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_Load(TSS_CONTEXT *tssContext, TPM_HANDLE parentHandle,\n\t
      \ PRIVATE_2B *inPrivate, TPM2B_PUBLIC *inPublic,\n\t  TPM_HANDLE *objectHandle,\n\t
      \ TPM_HANDLE auth, const char *authVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Esys_TR_GetTpmHandle
      Src: /src/gnupg/tpm2d/intel-tss.h:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tssContext
    - esysh
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 657
    functionName: tpm2_handle_ext
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached:
    - Esys_TR_GetTpmHandle
    linkageType: ''
    returnType: TPM_HANDLE
    signature: TPM_HANDLE tpm2_handle_ext(TSS_CONTEXT *tssContext, TPM_HANDLE esysh)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Esys_TR_FromTPMPublic
      Src: /src/gnupg/tpm2d/intel-tss.h:682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - tssContext
    - realh
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 686
    functionName: tpm2_handle_int
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached:
    - Esys_TR_FromTPMPublic
    linkageType: ''
    returnType: TPM_HANDLE
    signature: TPM_HANDLE tpm2_handle_int(TSS_CONTEXT *tssContext, TPM_HANDLE realh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tpm2_handle_ext
      Src: /src/gnupg/tpm2d/intel-tss.h:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tssContext
    - esysh
    - mso
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    - UINT32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: tpm2_handle_mso
    functionSourceFile: /src/gnupg/tpm2d/intel-tss.h
    functionUses: 0
    functionsReached:
    - tpm2_handle_ext
    linkageType: ''
    returnType: int
    signature: int tpm2_handle_mso(TSS_CONTEXT *tssContext, TPM_HANDLE esysh, UINT32
      mso)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSS_start
      Src: /src/gnupg/tpm2d/tpm2.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tssc
    argTypes:
    - TSS_CONTEXT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: tpm2_start
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 3
    functionsReached:
    - TSS_start
    linkageType: ''
    returnType: int
    signature: int tpm2_start (TSS_CONTEXT **tssc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSS_Delete
      Src: /src/gnupg/tpm2d/tpm2.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tssc
    argTypes:
    - TSS_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: tpm2_end
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 3
    functionsReached:
    - TSS_Delete
    linkageType: ''
    returnType: void
    signature: void tpm2_end (TSS_CONTEXT *tssc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tpm2_handle_int
      Src: /src/gnupg/tpm2d/tpm2.c:57,1
    - Dst: tpm2_handle_mso
      Src: /src/gnupg/tpm2d/tpm2.c:58,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:62,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:64,1
    - Dst: VAL
      Src: /src/gnupg/tpm2d/tpm2.c:69,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:85,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:86,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:87,1
    - Dst: tpm2_CreatePrimary
      Src: /src/gnupg/tpm2d/tpm2.c:89,1
    - Dst: tpm2_error
      Src: /src/gnupg/tpm2d/tpm2.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - tssc
    - p
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 96
    functionName: tpm2_get_parent
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 0
    functionsReached:
    - tpm2_handle_mso
    - tpm2_handle_int
    - tpm2_error
    - VAL
    - VAL_2B
    - tpm2_CreatePrimary
    linkageType: ''
    returnType: TPM_HANDLE
    signature: TPM_HANDLE tpm2_get_parent (TSS_CONTEXT *tssc, TPM_HANDLE p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tpm2_handle_mso
      Src: /src/gnupg/tpm2d/tpm2.c:102,1
    - Dst: tpm2_FlushContext
      Src: /src/gnupg/tpm2d/tpm2.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tssc
    - h
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: tpm2_flush_handle
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 2
    functionsReached:
    - tpm2_handle_mso
    - tpm2_FlushContext
    linkageType: ''
    returnType: void
    signature: void tpm2_flush_handle (TSS_CONTEXT *tssc, TPM_HANDLE h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tpm2_StartAuthSession
      Src: /src/gnupg/tpm2d/tpm2.c:119,1
    - Dst: tpm2_error
      Src: /src/gnupg/tpm2d/tpm2.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - tssc
    - handle
    - salt_key
    argTypes:
    - TSS_CONTEXT*
    - TPM_HANDLE*
    - TPM_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 128
    functionName: tpm2_get_hmac_handle
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 0
    functionsReached:
    - tpm2_error
    - tpm2_StartAuthSession
    linkageType: ''
    returnType: int
    signature: "int tpm2_get_hmac_handle (TSS_CONTEXT *tssc, TPM_HANDLE *handle,\n\t\t
      \     TPM_HANDLE salt_key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pin_cb
      Src: /src/gnupg/tpm2d/tpm2.c:139,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2.c:139,1
    - Dst: strlen
      Src: /src/gnupg/tpm2d/tpm2.c:143,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2.c:151,1
    - Dst: tpm2_get_hmac_handle
      Src: /src/gnupg/tpm2d/tpm2.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ctrl
    - tssc
    - ah
    - auth
    argTypes:
    - ctrl_t
    - TSS_CONTEXT*
    - TPM_HANDLE*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 158
    functionName: tpm2_pre_auth
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 0
    functionsReached:
    - tpm2_get_hmac_handle
    - pin_cb
    - log_error
    - strlen
    - _
    linkageType: ''
    returnType: int
    signature: "int tpm2_pre_auth (ctrl_t ctrl, TSS_CONTEXT *tssc,\n\t       gpg_error_t
      (*pin_cb)(ctrl_t ctrl, const char *info,\n\t\t\t\t     char **retstr),\n\t       TPM_HANDLE
      *ah, char **auth)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_free
      Src: /src/gnupg/tpm2d/tpm2.c:164,1
    - Dst: tpm2_error
      Src: /src/gnupg/tpm2d/tpm2.c:168,1
    - Dst: tpm2_flush_handle
      Src: /src/gnupg/tpm2d/tpm2.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - tssc
    - rc
    - ah
    - auth
    - cmd_str
    argTypes:
    - TSS_CONTEXT*
    - TPM_RC
    - TPM_HANDLE
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 180
    functionName: tpm2_post_auth
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 0
    functionsReached:
    - tpm2_error
    - gcry_free
    - tpm2_flush_handle
    linkageType: ''
    returnType: int
    signature: "int tpm2_post_auth (TSS_CONTEXT *tssc, TPM_RC rc, TPM_HANDLE ah,\n\t\tchar
      **auth, const char *cmd_str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_build
      Src: /src/gnupg/tpm2d/tpm2.c:189,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/tpm2d/tpm2.c:192,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tpm2d/tpm2.c:193,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/tpm2d/tpm2.c:196,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/tpm2d/tpm2.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - parent
    - pub
    - pub_len
    - priv
    - priv_len
    - len
    argTypes:
    - uint32_t
    - char*
    - int
    - char*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 201
    functionName: make_tpm2_shadow_info
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_build
    - xtrymalloc
    - gcry_sexp_release
    - gcry_sexp_sprint
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\nmake_tpm2_shadow_info (uint32_t parent, const char
      *pub, int pub_len,\n                       const char *priv, int priv_len, size_t
      *len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/tpm2d/tpm2.c:215,1
    - Dst: snext
      Src: /src/gnupg/tpm2d/tpm2.c:217,1
    - Dst: gpg_error
      Src: /src/gnupg/tpm2d/tpm2.c:219,1
    - Dst: atoi_1
      Src: /src/gnupg/tpm2d/tpm2.c:224,1
    - Dst: snext
      Src: /src/gnupg/tpm2d/tpm2.c:228,1
    - Dst: gpg_error
      Src: /src/gnupg/tpm2d/tpm2.c:230,1
    - Dst: snext
      Src: /src/gnupg/tpm2d/tpm2.c:236,1
    - Dst: gpg_error
      Src: /src/gnupg/tpm2d/tpm2.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 6
    argNames:
    - shadow_info
    - parent
    - pub
    - pub_len
    - priv
    - priv_len
    argTypes:
    - unsigned char*
    - uint32_t*
    - char**
    - int*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 244
    functionName: parse_tpm2_shadow_info
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 0
    functionsReached:
    - atoi_1
    - gpg_error
    - snext
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_tpm2_shadow_info (const unsigned char *shadow_info,\n
      \                       uint32_t *parent,\n                        const char
      **pub, int *pub_len,\n                        const char **priv, int *priv_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_tpm2_shadow_info
      Src: /src/gnupg/tpm2d/tpm2.c:260,1
    - Dst: tpm2_get_parent
      Src: /src/gnupg/tpm2d/tpm2.c:265,1
    - Dst: TPM2B_PRIVATE_Unmarshal
      Src: /src/gnupg/tpm2d/tpm2.c:269,1
    - Dst: TPM2B_PUBLIC_Unmarshal
      Src: /src/gnupg/tpm2d/tpm2.c:273,1
    - Dst: tpm2_Load
      Src: /src/gnupg/tpm2d/tpm2.c:277,1
    - Dst: tpm2_flush_handle
      Src: /src/gnupg/tpm2d/tpm2.c:280,1
    - Dst: tpm2_error
      Src: /src/gnupg/tpm2d/tpm2.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - tssc
    - shadow_info
    - key
    - type
    argTypes:
    - TSS_CONTEXT*
    - unsigned char*
    - TPM_HANDLE*
    - TPMI_ALG_PUBLIC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 289
    functionName: tpm2_load_key
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 2
    functionsReached:
    - tpm2_flush_handle
    - TPM2B_PRIVATE_Unmarshal
    - tpm2_get_parent
    - tpm2_Load
    - parse_tpm2_shadow_info
    - tpm2_error
    - TPM2B_PUBLIC_Unmarshal
    linkageType: ''
    returnType: int
    signature: "int tpm2_load_key (TSS_CONTEXT *tssc, const unsigned char *shadow_info,\n\t
      \      TPM_HANDLE *key, TPMI_ALG_PUBLIC *type)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2.c:325,1
    - Dst: memcpy
      Src: /src/gnupg/tpm2d/tpm2.c:329,1
    - Dst: tpm2_pre_auth
      Src: /src/gnupg/tpm2d/tpm2.c:338,1
    - Dst: tpm2_Sign
      Src: /src/gnupg/tpm2d/tpm2.c:341,1
    - Dst: tpm2_post_auth
      Src: /src/gnupg/tpm2d/tpm2.c:342,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:347,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:349,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:350,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tpm2d/tpm2.c:352,1
    - Dst: memcpy
      Src: /src/gnupg/tpm2d/tpm2.c:358,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:358,1
    - Dst: memcpy
      Src: /src/gnupg/tpm2d/tpm2.c:363,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:363,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:364,1
    - Dst: memcpy
      Src: /src/gnupg/tpm2d/tpm2.c:365,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:365,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:366,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:367,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 8
    argNames:
    - ctrl
    - tssc
    - key
    - type
    - digest
    - digestlen
    - r_sig
    - r_siglen
    argTypes:
    - ctrl_t
    - TSS_CONTEXT*
    - TPM_HANDLE
    - TPMI_ALG_PUBLIC
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 371
    functionName: tpm2_sign
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 1
    functionsReached:
    - xtrymalloc
    - log_error
    - tpm2_Sign
    - memcpy
    - VAL_2B
    - tpm2_pre_auth
    - tpm2_post_auth
    linkageType: ''
    returnType: int
    signature: "int tpm2_sign (ctrl_t ctrl, TSS_CONTEXT *tssc, TPM_HANDLE key,\n\t
      \  gpg_error_t (*pin_cb)(ctrl_t ctrl, const char *info,\n\t\t\t\t char **retstr),\n\t
      \  TPMI_ALG_PUBLIC type,\n\t   const unsigned char *digest, size_t digestlen,\n\t
      \  unsigned char **r_sig, size_t *r_siglen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:382,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/tpm2d/tpm2.c:384,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/gnupg/tpm2d/tpm2.c:387,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/tpm2d/tpm2.c:388,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:389,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/tpm2d/tpm2.c:390,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:390,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:392,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/tpm2d/tpm2.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - s
    - key
    argTypes:
    - TPMT_SENSITIVE*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 396
    functionName: sexp_to_tpm2_sensitive_ecc
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - gcry_mpi_print
    - gcry_sexp_find_token
    - gcry_sexp_release
    - VAL_2B
    - gcry_mpi_release
    linkageType: ''
    returnType: int
    signature: int sexp_to_tpm2_sensitive_ecc (TPMT_SENSITIVE *s, gcry_sexp_t key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/tpm2d/tpm2.c:431,1
    - Dst: strcmp
      Src: /src/gnupg/tpm2d/tpm2.c:432,1
    - Dst: DIM
      Src: /src/gnupg/tpm2d/tpm2.c:434,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2.c:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - curve_name
    - c
    argTypes:
    - char*
    - TPMI_ECC_CURVE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 443
    functionName: tpm2_ecc_curve
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 0
    functionsReached:
    - strcmp
    - DIM
    - log_error
    linkageType: ''
    returnType: int
    signature: int tpm2_ecc_curve (const char *curve_name, TPMI_ECC_CURVE *c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/tpm2d/tpm2.c:455,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/tpm2d/tpm2.c:461,1
    - Dst: tpm2_ecc_curve
      Src: /src/gnupg/tpm2d/tpm2.c:467,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/tpm2d/tpm2.c:471,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/tpm2d/tpm2.c:472,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/tpm2d/tpm2.c:478,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2.c:484,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2.c:493,1
    - Dst: VAL
      Src: /src/gnupg/tpm2d/tpm2.c:501,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:505,1
    - Dst: memcpy
      Src: /src/gnupg/tpm2d/tpm2.c:510,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:510,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:511,1
    - Dst: memcpy
      Src: /src/gnupg/tpm2d/tpm2.c:512,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:512,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:513,1
    - Dst: gcry_free
      Src: /src/gnupg/tpm2d/tpm2.c:516,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/tpm2d/tpm2.c:517,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 2
    argNames:
    - p
    - key
    argTypes:
    - TPMT_PUBLIC*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 519
    functionName: sexp_to_tpm2_public_ecc
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 0
    functionsReached:
    - tpm2_ecc_curve
    - gcry_free
    - log_error
    - gcry_sexp_find_token
    - VAL
    - gcry_sexp_nth_data
    - gcry_sexp_release
    - VAL_2B
    - memcpy
    - gcry_sexp_nth_string
    linkageType: ''
    returnType: int
    signature: int sexp_to_tpm2_public_ecc (TPMT_PUBLIC *p, gcry_sexp_t key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:530,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/tpm2d/tpm2.c:532,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/gnupg/tpm2d/tpm2.c:535,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/tpm2d/tpm2.c:536,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:537,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/tpm2d/tpm2.c:538,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:538,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:540,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/tpm2d/tpm2.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - s
    - key
    argTypes:
    - TPMT_SENSITIVE*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 544
    functionName: sexp_to_tpm2_sensitive_rsa
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - gcry_mpi_print
    - gcry_sexp_find_token
    - gcry_sexp_release
    - VAL_2B
    - gcry_mpi_release
    linkageType: ''
    returnType: int
    signature: int sexp_to_tpm2_sensitive_rsa (TPMT_SENSITIVE *s, gcry_sexp_t key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VAL
      Src: /src/gnupg/tpm2d/tpm2.c:559,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:563,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/tpm2d/tpm2.c:567,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/gnupg/tpm2d/tpm2.c:570,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/tpm2d/tpm2.c:571,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:572,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/tpm2d/tpm2.c:573,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/tpm2d/tpm2.c:574,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:574,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:576,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/tpm2d/tpm2.c:577,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/tpm2d/tpm2.c:581,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/gnupg/tpm2d/tpm2.c:584,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/tpm2d/tpm2.c:585,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/tpm2d/tpm2.c:587,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/tpm2d/tpm2.c:588,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - p
    - key
    argTypes:
    - TPMT_PUBLIC*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 605
    functionName: sexp_to_tpm2_public_rsa
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - gcry_mpi_print
    - gcry_sexp_find_token
    - VAL
    - gcry_sexp_release
    - VAL_2B
    - gcry_mpi_release
    - gcry_mpi_get_nbits
    linkageType: ''
    returnType: int
    signature: int sexp_to_tpm2_public_rsa (TPMT_PUBLIC *p, gcry_sexp_t key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_nth
      Src: /src/gnupg/tpm2d/tpm2.c:614,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/tpm2d/tpm2.c:618,1
    - Dst: sexp_to_tpm2_public_rsa
      Src: /src/gnupg/tpm2d/tpm2.c:621,1
    - Dst: sexp_to_tpm2_sensitive_rsa
      Src: /src/gnupg/tpm2d/tpm2.c:623,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/tpm2d/tpm2.c:627,1
    - Dst: sexp_to_tpm2_public_ecc
      Src: /src/gnupg/tpm2d/tpm2.c:630,1
    - Dst: sexp_to_tpm2_sensitive_ecc
      Src: /src/gnupg/tpm2d/tpm2.c:632,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/tpm2d/tpm2.c:635,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/tpm2d/tpm2.c:638,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - p
    - s
    - s_skey
    argTypes:
    - TPMT_PUBLIC*
    - TPMT_SENSITIVE*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 607
    functionDepth: 3
    functionLinenumber: 607
    functionLinenumberEnd: 640
    functionName: sexp_to_tpm2
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 0
    functionsReached:
    - sexp_to_tpm2_sensitive_ecc
    - sexp_to_tpm2_public_ecc
    - gcry_sexp_find_token
    - sexp_to_tpm2_public_rsa
    - gcry_sexp_release
    - sexp_to_tpm2_sensitive_rsa
    - gcry_sexp_nth
    linkageType: ''
    returnType: int
    signature: int sexp_to_tpm2(TPMT_PUBLIC *p, TPMT_SENSITIVE *s, gcry_sexp_t s_skey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSS_TPMT_PUBLIC_Marshal
      Src: /src/gnupg/tpm2d/tpm2.c:658,1
    - Dst: TSS_GetDigestSize
      Src: /src/gnupg/tpm2d/tpm2.c:663,1
    - Dst: TSS_Hash_Generate
      Src: /src/gnupg/tpm2d/tpm2.c:673,1
    - Dst: memcpy
      Src: /src/gnupg/tpm2d/tpm2.c:678,1
    - Dst: htons
      Src: /src/gnupg/tpm2d/tpm2.c:681,1
    - Dst: memcpy
      Src: /src/gnupg/tpm2d/tpm2.c:682,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - name
    - tpmtPublic
    argTypes:
    - NAME_2B*
    - TPMT_PUBLIC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 688
    functionName: tpm2_ObjectPublic_GetName
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 0
    functionsReached:
    - TSS_GetDigestSize
    - TSS_TPMT_PUBLIC_Marshal
    - htons
    - TSS_Hash_Generate
    - memcpy
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_ObjectPublic_GetName (NAME_2B *name,\n\t\t\t   TPMT_PUBLIC
      *tpmtPublic)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/tpm2d/tpm2.c:707,1
    - Dst: memset
      Src: /src/gnupg/tpm2d/tpm2.c:724,1
    - Dst: TSS_GetDigestSize
      Src: /src/gnupg/tpm2d/tpm2.c:726,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2.c:729,1
    - Dst: TSS_UINT16_Marshal
      Src: /src/gnupg/tpm2d/tpm2.c:743,1
    - Dst: TSS_TPMT_SENSITIVE_Marshal
      Src: /src/gnupg/tpm2d/tpm2.c:749,1
    - Dst: TSS_UINT16_Marshal
      Src: /src/gnupg/tpm2d/tpm2.c:752,1
    - Dst: TSS_Hash_Generate
      Src: /src/gnupg/tpm2d/tpm2.c:760,1
    - Dst: memcpy
      Src: /src/gnupg/tpm2d/tpm2.c:763,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/tpm2d/tpm2.c:764,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/tpm2d/tpm2.c:766,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/tpm2d/tpm2.c:767,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/tpm2d/tpm2.c:769,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/tpm2d/tpm2.c:770,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2.c:780,1
    - Dst: TSS_TPMT_SENSITIVE_Marshal
      Src: /src/gnupg/tpm2d/tpm2.c:784,1
    - Dst: TSS_UINT16_Marshal
      Src: /src/gnupg/tpm2d/tpm2.c:787,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2.c:793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 48
    argCount: 6
    argNames:
    - s
    - name
    - nalg
    - symdef
    - innerkey
    - p
    argTypes:
    - TPMT_SENSITIVE*
    - NAME_2B*
    - TPM_ALG_ID
    - TPMT_SYM_DEF_OBJECT*
    - DATA_2B*
    - PRIVATE_2B*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 798
    functionName: tpm2_SensitiveToDuplicate
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_open
    - gcry_cipher_setkey
    - log_error
    - TSS_GetDigestSize
    - gcry_cipher_setiv
    - gcry_cipher_encrypt
    - memset
    - TSS_TPMT_SENSITIVE_Marshal
    - TSS_UINT16_Marshal
    - TSS_Hash_Generate
    - memcpy
    - gcry_cipher_close
    linkageType: ''
    returnType: TPM_RC
    signature: "TPM_RC tpm2_SensitiveToDuplicate (TPMT_SENSITIVE *s,\n\t\t\t\t  NAME_2B
      *name,\n\t\t\t\t  TPM_ALG_ID nalg,\n\t\t\t\t  TPMT_SYM_DEF_OBJECT *symdef,\n\t\t\t\t
      \ DATA_2B *innerkey,\n\t\t\t\t  PRIVATE_2B *p)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sexp_to_tpm2
      Src: /src/gnupg/tpm2d/tpm2.c:838,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2.c:841,1
    - Dst: pin_cb
      Src: /src/gnupg/tpm2d/tpm2.c:847,1
    - Dst: _
      Src: /src/gnupg/tpm2d/tpm2.c:848,1
    - Dst: strlen
      Src: /src/gnupg/tpm2d/tpm2.c:852,1
    - Dst: TSS_GetDigestSize
      Src: /src/gnupg/tpm2d/tpm2.c:853,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2.c:856,1
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2.c:862,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:864,1
    - Dst: memcpy
      Src: /src/gnupg/tpm2d/tpm2.c:865,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:865,1
    - Dst: tpm2_get_parent
      Src: /src/gnupg/tpm2d/tpm2.c:873,1
    - Dst: tpm2_ObjectPublic_GetName
      Src: /src/gnupg/tpm2d/tpm2.c:874,1
    - Dst: gcry_randomize
      Src: /src/gnupg/tpm2d/tpm2.c:875,1
    - Dst: tpm2_SensitiveToDuplicate
      Src: /src/gnupg/tpm2d/tpm2.c:885,1
    - Dst: tpm2_get_hmac_handle
      Src: /src/gnupg/tpm2d/tpm2.c:891,1
    - Dst: tpm2_flush_handle
      Src: /src/gnupg/tpm2d/tpm2.c:894,1
    - Dst: tpm2_Import
      Src: /src/gnupg/tpm2d/tpm2.c:898,1
    - Dst: tpm2_flush_handle
      Src: /src/gnupg/tpm2d/tpm2.c:901,1
    - Dst: tpm2_error
      Src: /src/gnupg/tpm2d/tpm2.c:904,1
    - Dst: tpm2_flush_handle
      Src: /src/gnupg/tpm2d/tpm2.c:906,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2.c:910,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2.c:915,1
    - Dst: TSS_TPM2B_PUBLIC_Marshal
      Src: /src/gnupg/tpm2d/tpm2.c:924,1
    - Dst: TSS_TPM2B_PRIVATE_Marshal
      Src: /src/gnupg/tpm2d/tpm2.c:931,1
    - Dst: make_tpm2_shadow_info
      Src: /src/gnupg/tpm2d/tpm2.c:935,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 64
    argCount: 6
    argNames:
    - ctrl
    - tssc
    - shadow_info
    - shadow_len
    - s_skey
    - parent
    argTypes:
    - ctrl_t
    - TSS_CONTEXT*
    - unsigned char**
    - size_t*
    - gcry_sexp_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 800
    functionDepth: 4
    functionLinenumber: 800
    functionLinenumberEnd: 938
    functionName: tpm2_import_key
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 1
    functionsReached:
    - strlen
    - TSS_TPM2B_PRIVATE_Marshal
    - make_tpm2_shadow_info
    - memcpy
    - log_error
    - TSS_TPM2B_PUBLIC_Marshal
    - _
    - log_info
    - tpm2_ObjectPublic_GetName
    - tpm2_Import
    - tpm2_SensitiveToDuplicate
    - TSS_GetDigestSize
    - tpm2_get_parent
    - gcry_randomize
    - sexp_to_tpm2
    - tpm2_get_hmac_handle
    - tpm2_flush_handle
    - pin_cb
    - tpm2_error
    - VAL_2B
    linkageType: ''
    returnType: int
    signature: "int tpm2_import_key (ctrl_t ctrl, TSS_CONTEXT *tssc,\n\t\t gpg_error_t
      (*pin_cb)(ctrl_t ctrl, const char *info,\n\t\t\t\t       char **retstr),\n\t\t
      unsigned char **shadow_info, size_t *shadow_len,\n\t\t gcry_sexp_t s_skey, unsigned
      long parent)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2.c:973,1
    - Dst: log_error
      Src: /src/gnupg/tpm2d/tpm2.c:978,1
    - Dst: memcpy
      Src: /src/gnupg/tpm2d/tpm2.c:983,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:983,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:984,1
    - Dst: memcpy
      Src: /src/gnupg/tpm2d/tpm2.c:985,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:985,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:986,1
    - Dst: tpm2_pre_auth
      Src: /src/gnupg/tpm2d/tpm2.c:988,1
    - Dst: tpm2_ECDH_ZGen
      Src: /src/gnupg/tpm2d/tpm2.c:991,1
    - Dst: tpm2_post_auth
      Src: /src/gnupg/tpm2d/tpm2.c:992,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:996,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:997,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tpm2d/tpm2.c:998,1
    - Dst: memcpy
      Src: /src/gnupg/tpm2d/tpm2.c:1000,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:1000,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:1001,1
    - Dst: memcpy
      Src: /src/gnupg/tpm2d/tpm2.c:1002,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:1002,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:1003,1
    - Dst: VAL_2B
      Src: /src/gnupg/tpm2d/tpm2.c:1004,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 7
    argNames:
    - ctrl
    - tssc
    - key
    - ciphertext
    - ciphertext_len
    - decrypt
    - decrypt_len
    argTypes:
    - ctrl_t
    - TSS_CONTEXT*
    - TPM_HANDLE
    - char*
    - int
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 940
    functionDepth: 2
    functionLinenumber: 940
    functionLinenumberEnd: 1007
    functionName: tpm2_ecc_decrypt
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 1
    functionsReached:
    - xtrymalloc
    - log_error
    - tpm2_ECDH_ZGen
    - tpm2_post_auth
    - VAL_2B
    - tpm2_pre_auth
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int tpm2_ecc_decrypt (ctrl_t ctrl, TSS_CONTEXT *tssc, TPM_HANDLE key,\n\t\t
      \ gpg_error_t (*pin_cb)(ctrl_t ctrl, const char *info,\n\t\t\t\t\tchar **retstr),\n\t\t
      \ const char *ciphertext, int ciphertext_len,\n\t\t  char **decrypt, size_t
      *decrypt_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/tpm2d/tpm2.c:1040,1
    - Dst: memcpy
      Src: /src/gnupg/tpm2d/tpm2.c:1045,1
    - Dst: tpm2_pre_auth
      Src: /src/gnupg/tpm2d/tpm2.c:1047,1
    - Dst: tpm2_RSA_Decrypt
      Src: /src/gnupg/tpm2d/tpm2.c:1050,1
    - Dst: tpm2_post_auth
      Src: /src/gnupg/tpm2d/tpm2.c:1052,1
    - Dst: xtrymalloc
      Src: /src/gnupg/tpm2d/tpm2.c:1057,1
    - Dst: memcpy
      Src: /src/gnupg/tpm2d/tpm2.c:1058,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 7
    argNames:
    - ctrl
    - tssc
    - key
    - ciphertext
    - ciphertext_len
    - decrypt
    - decrypt_len
    argTypes:
    - ctrl_t
    - TSS_CONTEXT*
    - TPM_HANDLE
    - char*
    - int
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1009
    functionDepth: 2
    functionLinenumber: 1009
    functionLinenumberEnd: 1061
    functionName: tpm2_rsa_decrypt
    functionSourceFile: /src/gnupg/tpm2d/tpm2.c
    functionUses: 1
    functionsReached:
    - xtrymalloc
    - tpm2_RSA_Decrypt
    - log_info
    - tpm2_post_auth
    - tpm2_pre_auth
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int tpm2_rsa_decrypt (ctrl_t ctrl, TSS_CONTEXT *tssc, TPM_HANDLE key,\n\t\t
      \ gpg_error_t (*pin_cb)(ctrl_t ctrl, const char *info,\n\t\t\t\t\tchar **retstr),\n\t\t
      \ const char *ciphertext, int ciphertext_len,\n\t\t  char **decrypt, size_t
      *decrypt_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g13/keyblob.c:47,1
    - Dst: buf32_to_uint
      Src: /src/gnupg/g13/keyblob.c:49,1
    - Dst: memcmp
      Src: /src/gnupg/g13/keyblob.c:51,1
    - Dst: log_error
      Src: /src/gnupg/g13/keyblob.c:53,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/keyblob.c:54,1
    - Dst: log_error
      Src: /src/gnupg/g13/keyblob.c:58,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/keyblob.c:60,1
    - Dst: log_info
      Src: /src/gnupg/g13/keyblob.c:65,1
    - Dst: log_info
      Src: /src/gnupg/g13/keyblob.c:67,1
    - Dst: log_info
      Src: /src/gnupg/g13/keyblob.c:69,1
    - Dst: buf32_to_uint
      Src: /src/gnupg/g13/keyblob.c:71,1
    - Dst: log_error
      Src: /src/gnupg/g13/keyblob.c:76,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/keyblob.c:77,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 4
    argNames:
    - filename
    - packet
    - packetlen
    - r_headerlen
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 82
    functionName: parse_header
    functionSourceFile: /src/gnupg/g13/keyblob.c
    functionUses: 1
    functionsReached:
    - buf32_to_uint
    - log_error
    - gpg_error
    - memcmp
    - log_info
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_header (const char *filename,\n              const
      unsigned char *packet, size_t packetlen,\n              size_t *r_headerlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/g13/keyblob.c:97,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/keyblob.c:100,1
    - Dst: log_error
      Src: /src/gnupg/g13/keyblob.c:101,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/keyblob.c:101,1
    - Dst: es_fread
      Src: /src/gnupg/g13/keyblob.c:106,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/keyblob.c:108,1
    - Dst: log_error
      Src: /src/gnupg/g13/keyblob.c:109,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/keyblob.c:110,1
    - Dst: es_fclose
      Src: /src/gnupg/g13/keyblob.c:111,1
    - Dst: parse_header
      Src: /src/gnupg/g13/keyblob.c:115,1
    - Dst: es_fclose
      Src: /src/gnupg/g13/keyblob.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - filename
    - r_fp
    - r_headerlen
    argTypes:
    - char*
    - estream_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 122
    functionName: read_keyblob_prefix
    functionSourceFile: /src/gnupg/g13/keyblob.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - parse_header
    - es_fread
    - gpg_strerror
    - es_fopen
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_keyblob_prefix (const char *filename, estream_t *r_fp,
      size_t *r_headerlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_keyblob_prefix
      Src: /src/gnupg/g13/keyblob.c:141,1
    - Dst: es_fclose
      Src: /src/gnupg/g13/keyblob.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctrl
    - filename
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: g13_is_container
    functionSourceFile: /src/gnupg/g13/keyblob.c
    functionUses: 0
    functionsReached:
    - es_fclose
    - read_keyblob_prefix
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t g13_is_container (ctrl_t ctrl, const char *filename)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read_keyblob_prefix
      Src: /src/gnupg/g13/keyblob.c:165,1
    - Dst: log_info
      Src: /src/gnupg/g13/keyblob.c:170,1
    - Dst: assert
      Src: /src/gnupg/g13/keyblob.c:177,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/keyblob.c:181,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g13/keyblob.c:184,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/keyblob.c:187,1
    - Dst: es_fread
      Src: /src/gnupg/g13/keyblob.c:190,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/keyblob.c:192,1
    - Dst: log_error
      Src: /src/gnupg/g13/keyblob.c:193,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/keyblob.c:194,1
    - Dst: xfree
      Src: /src/gnupg/g13/keyblob.c:203,1
    - Dst: es_fclose
      Src: /src/gnupg/g13/keyblob.c:204,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - filename
    - r_enckeyblob
    - r_enckeybloblen
    argTypes:
    - char*
    - void**
    - size_t*
    assertStmts:
    - condition: (headerlen >= 32)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/gnupg/g13/keyblob.c
    constantsTouched: []
    func_position:
      end: 207
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 207
    functionName: g13_keyblob_read
    functionSourceFile: /src/gnupg/g13/keyblob.c
    functionUses: 0
    functionsReached:
    - assert
    - read_keyblob_prefix
    - gpg_error_from_syserror
    - log_error
    - es_fclose
    - es_fread
    - gpg_error
    - log_info
    - gpg_strerror
    - xfree
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t g13_keyblob_read (const char *filename,\n                  void
      **r_enckeyblob, size_t *r_enckeybloblen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g13/be-truecrypt.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mb
    argTypes:
    - membuf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: be_truecrypt_create_new_keys
    functionSourceFile: /src/gnupg/g13/be-truecrypt.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_truecrypt_create_new_keys (membuf_t *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: no_such_backend
    functionSourceFile: /src/gnupg/g13/backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: no_such_backend(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g13/backend.c:42,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/backend.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conttype
    - func
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: _no_such_backend
    functionSourceFile: /src/gnupg/g13/backend.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _no_such_backend (int conttype, const char *func)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g13/backend.c:63,1
    - Dst: DIM
      Src: /src/gnupg/g13/backend.c:64,1
    - Dst: log_info
      Src: /src/gnupg/g13/backend.c:65,1
    - Dst: DIM
      Src: /src/gnupg/g13/backend.c:69,1
    - Dst: strcmp
      Src: /src/gnupg/g13/backend.c:71,1
    - Dst: log_error
      Src: /src/gnupg/g13/backend.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 77
    functionName: be_parse_conttype_name
    functionSourceFile: /src/gnupg/g13/backend.c
    functionUses: 0
    functionsReached:
    - strcmp
    - DIM
    - log_info
    - log_error
    linkageType: ''
    returnType: int
    signature: int be_parse_conttype_name (const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - conttype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: be_is_supported_conttype
    functionSourceFile: /src/gnupg/g13/backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int be_is_supported_conttype (int conttype)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: call_syshelp_set_device
      Src: /src/gnupg/g13/backend.c:113,1
    - Dst: gnupg_access
      Src: /src/gnupg/g13/backend.c:120,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/backend.c:122,1
    - Dst: dotlock_create
      Src: /src/gnupg/g13/backend.c:129,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/backend.c:132,1
    - Dst: dotlock_take
      Src: /src/gnupg/g13/backend.c:135,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/backend.c:137,1
    - Dst: gnupg_stat
      Src: /src/gnupg/g13/backend.c:142,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/backend.c:142,1
    - Dst: dotlock_destroy
      Src: /src/gnupg/g13/backend.c:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - ctrl
    - fname
    - r_lock
    argTypes:
    - ctrl_t
    - char*
    - dotlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 152
    functionName: be_take_lock_for_create
    functionSourceFile: /src/gnupg/g13/backend.c
    functionUses: 0
    functionsReached:
    - call_syshelp_set_device
    - gpg_error_from_syserror
    - dotlock_create
    - gnupg_access
    - dotlock_take
    - gpg_error
    - dotlock_destroy
    - gnupg_stat
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_take_lock_for_create (ctrl_t ctrl, const char *fname,
      dotlock_t *r_lock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: be_encfs_get_detached_name
      Src: /src/gnupg/g13/backend.c:171,1
    - Dst: no_such_backend
      Src: /src/gnupg/g13/backend.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - conttype
    - fname
    - r_name
    - r_isdir
    argTypes:
    - int
    - char*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 179
    functionName: be_get_detached_name
    functionSourceFile: /src/gnupg/g13/backend.c
    functionUses: 0
    functionsReached:
    - no_such_backend
    - be_encfs_get_detached_name
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_get_detached_name (int conttype, const char *fname,\n
      \                     char **r_name, int *r_isdir)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: be_encfs_create_new_keys
      Src: /src/gnupg/g13/backend.c:188,1
    - Dst: be_truecrypt_create_new_keys
      Src: /src/gnupg/g13/backend.c:191,1
    - Dst: no_such_backend
      Src: /src/gnupg/g13/backend.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - conttype
    - mb
    argTypes:
    - int
    - membuf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 199
    functionName: be_create_new_keys
    functionSourceFile: /src/gnupg/g13/backend.c
    functionUses: 0
    functionsReached:
    - no_such_backend
    - be_truecrypt_create_new_keys
    - be_encfs_create_new_keys
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_create_new_keys (int conttype, membuf_t *mb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: be_encfs_create_container
      Src: /src/gnupg/g13/backend.c:213,1
    - Dst: be_dmcrypt_create_container
      Src: /src/gnupg/g13/backend.c:216,1
    - Dst: no_such_backend
      Src: /src/gnupg/g13/backend.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - ctrl
    - conttype
    - fname
    - fd
    - tuples
    - r_id
    argTypes:
    - ctrl_t
    - int
    - char*
    - int
    - tupledesc_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: be_create_container
    functionSourceFile: /src/gnupg/g13/backend.c
    functionUses: 0
    functionsReached:
    - no_such_backend
    - be_dmcrypt_create_container
    - be_encfs_create_container
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_create_container (ctrl_t ctrl, int conttype,\n                     const
      char *fname, int fd, tupledesc_t tuples,\n                     unsigned int
      *r_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: be_encfs_mount_container
      Src: /src/gnupg/g13/backend.c:233,1
    - Dst: be_dmcrypt_mount_container
      Src: /src/gnupg/g13/backend.c:236,1
    - Dst: no_such_backend
      Src: /src/gnupg/g13/backend.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - ctrl
    - conttype
    - fname
    - mountpoint
    - tuples
    - r_id
    argTypes:
    - ctrl_t
    - int
    - char*
    - char*
    - tupledesc_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 241
    functionName: be_mount_container
    functionSourceFile: /src/gnupg/g13/backend.c
    functionUses: 0
    functionsReached:
    - no_such_backend
    - be_encfs_mount_container
    - be_dmcrypt_mount_container
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_mount_container (ctrl_t ctrl, int conttype,\n                    const
      char *fname,  const char *mountpoint,\n                    tupledesc_t tuples,
      unsigned int *r_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g13/backend.c:251,1
    - Dst: be_dmcrypt_umount_container
      Src: /src/gnupg/g13/backend.c:254,1
    - Dst: no_such_backend
      Src: /src/gnupg/g13/backend.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctrl
    - conttype
    - fname
    argTypes:
    - ctrl_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 259
    functionName: be_umount_container
    functionSourceFile: /src/gnupg/g13/backend.c
    functionUses: 0
    functionsReached:
    - no_such_backend
    - gpg_error
    - be_dmcrypt_umount_container
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_umount_container (ctrl_t ctrl, int conttype, const char
      *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g13/backend.c:269,1
    - Dst: be_dmcrypt_suspend_container
      Src: /src/gnupg/g13/backend.c:272,1
    - Dst: no_such_backend
      Src: /src/gnupg/g13/backend.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctrl
    - conttype
    - fname
    argTypes:
    - ctrl_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 277
    functionName: be_suspend_container
    functionSourceFile: /src/gnupg/g13/backend.c
    functionUses: 0
    functionsReached:
    - no_such_backend
    - gpg_error
    - be_dmcrypt_suspend_container
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_suspend_container (ctrl_t ctrl, int conttype, const
      char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g13/backend.c:288,1
    - Dst: be_dmcrypt_resume_container
      Src: /src/gnupg/g13/backend.c:291,1
    - Dst: no_such_backend
      Src: /src/gnupg/g13/backend.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ctrl
    - conttype
    - fname
    - tuples
    argTypes:
    - ctrl_t
    - int
    - char*
    - tupledesc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 296
    functionName: be_resume_container
    functionSourceFile: /src/gnupg/g13/backend.c
    functionUses: 0
    functionsReached:
    - no_such_backend
    - gpg_error
    - be_dmcrypt_resume_container
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_resume_container (ctrl_t ctrl, int conttype, const
      char *fname,\n                     tupledesc_t tuples)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: set_error
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_error(e,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: set_error_fail_cmd
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_error_fail_cmd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/g13/sh-cmd.c:72,1
    - Dst: spacep
      Src: /src/gnupg/g13/sh-cmd.c:76,1
    - Dst: spacep
      Src: /src/gnupg/g13/sh-cmd.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: skip_options
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 27
    functionsReached:
    - spacep
    linkageType: ''
    returnType: char
    signature: 'char *

      skip_options (const char *line)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/g13/sh-cmd.c:90,1
    - Dst: strstr
      Src: /src/gnupg/g13/sh-cmd.c:92,1
    - Dst: skip_options
      Src: /src/gnupg/g13/sh-cmd.c:93,1
    - Dst: spacep
      Src: /src/gnupg/g13/sh-cmd.c:95,1
    - Dst: spacep
      Src: /src/gnupg/g13/sh-cmd.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - line
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: has_option
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 11
    functionsReached:
    - spacep
    - skip_options
    - strstr
    - strlen
    linkageType: ''
    returnType: int
    signature: int has_option (const char *line, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_command_name
      Src: /src/gnupg/g13/sh-cmd.c:105,1
    - Dst: gpg_err_source
      Src: /src/gnupg/g13/sh-cmd.c:108,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-cmd.c:109,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-cmd.c:110,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-cmd.c:112,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-cmd.c:113,1
    - Dst: gpg_strsource
      Src: /src/gnupg/g13/sh-cmd.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - assuan_context_t
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 116
    functionName: leave_cmd
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_strerror
    - assuan_get_command_name
    - gpg_strsource
    - gpg_err_source
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t leave_cmd (assuan_context_t ctx, gpg_error_t err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/sh-cmd.c:125,1
    - Dst: set_error_fail_cmd
      Src: /src/gnupg/g13/sh-cmd.c:133,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-cmd.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - assuan_context_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: option_handler
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 3
    functionsReached:
    - gpg_error
    - set_error_fail_cmd
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t option_handler (assuan_context_t ctx, const char *key,
      const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/sh-cmd.c:145,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-cmd.c:149,1
    - Dst: es_fclose
      Src: /src/gnupg/g13/sh-cmd.c:151,1
    - Dst: assuan_close_input_fd
      Src: /src/gnupg/g13/sh-cmd.c:155,1
    - Dst: assuan_close_output_fd
      Src: /src/gnupg/g13/sh-cmd.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: reset_notify
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 3
    functionsReached:
    - assuan_close_input_fd
    - es_fclose
    - assuan_close_output_fd
    - xfree
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t reset_notify (assuan_context_t ctx, char *line)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/sh-cmd.c:170,1
    - Dst: skip_options
      Src: /src/gnupg/g13/sh-cmd.c:176,1
    - Dst: strcmp
      Src: /src/gnupg/g13/sh-cmd.c:185,1
    - Dst: strcmp
      Src: /src/gnupg/g13/sh-cmd.c:190,1
    - Dst: strchr
      Src: /src/gnupg/g13/sh-cmd.c:193,1
    - Dst: strrchr
      Src: /src/gnupg/g13/sh-cmd.c:197,1
    - Dst: strcmp
      Src: /src/gnupg/g13/sh-cmd.c:198,1
    - Dst: strcmp
      Src: /src/gnupg/g13/sh-cmd.c:205,1
    - Dst: set_error
      Src: /src/gnupg/g13/sh-cmd.c:211,1
    - Dst: es_fopen
      Src: /src/gnupg/g13/sh-cmd.c:217,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-cmd.c:220,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-cmd.c:221,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-cmd.c:222,1
    - Dst: es_fclose
      Src: /src/gnupg/g13/sh-cmd.c:225,1
    - Dst: g13_status
      Src: /src/gnupg/g13/sh-cmd.c:228,1
    - Dst: leave_cmd
      Src: /src/gnupg/g13/sh-cmd.c:233,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 41
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 234
    functionName: cmd_finddevice
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - set_error
    - gpg_error_from_syserror
    - log_error
    - es_fclose
    - g13_status
    - strcmp
    - skip_options
    - strchr
    - es_fopen
    - gpg_strerror
    - strrchr
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_finddevice (assuan_context_t ctx, char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/sh-cmd.c:247,1
    - Dst: skip_options
      Src: /src/gnupg/g13/sh-cmd.c:252,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-cmd.c:262,1
    - Dst: es_fclose
      Src: /src/gnupg/g13/sh-cmd.c:264,1
    - Dst: strcmp
      Src: /src/gnupg/g13/sh-cmd.c:269,1
    - Dst: set_error
      Src: /src/gnupg/g13/sh-cmd.c:273,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g13/sh-cmd.c:277,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-cmd.c:280,1
    - Dst: es_fopen
      Src: /src/gnupg/g13/sh-cmd.c:287,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-cmd.c:290,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-cmd.c:291,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-cmd.c:292,1
    - Dst: es_fclose
      Src: /src/gnupg/g13/sh-cmd.c:296,1
    - Dst: es_fclose
      Src: /src/gnupg/g13/sh-cmd.c:304,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-cmd.c:307,1
    - Dst: leave_cmd
      Src: /src/gnupg/g13/sh-cmd.c:311,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 312
    functionName: cmd_device
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - set_error
    - gpg_error_from_syserror
    - es_fclose
    - log_error
    - strcmp
    - xtrystrdup
    - skip_options
    - xfree
    - es_fopen
    - gpg_strerror
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_device (assuan_context_t ctx, char *line)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/sh-cmd.c:323,1
    - Dst: skip_options
      Src: /src/gnupg/g13/sh-cmd.c:327,1
    - Dst: strcmp
      Src: /src/gnupg/g13/sh-cmd.c:328,1
    - Dst: set_error
      Src: /src/gnupg/g13/sh-cmd.c:330,1
    - Dst: set_error
      Src: /src/gnupg/g13/sh-cmd.c:338,1
    - Dst: sh_is_empty_partition
      Src: /src/gnupg/g13/sh-cmd.c:342,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g13/sh-cmd.c:345,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-cmd.c:346,1
    - Dst: assuan_set_error
      Src: /src/gnupg/g13/sh-cmd.c:347,1
    - Dst: es_fopen
      Src: /src/gnupg/g13/sh-cmd.c:352,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-cmd.c:355,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-cmd.c:356,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-cmd.c:357,1
    - Dst: es_setvbuf
      Src: /src/gnupg/g13/sh-cmd.c:360,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-cmd.c:362,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-cmd.c:363,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-cmd.c:364,1
    - Dst: sh_dmcrypt_create_container
      Src: /src/gnupg/g13/sh-cmd.c:368,1
    - Dst: es_fclose
      Src: /src/gnupg/g13/sh-cmd.c:371,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-cmd.c:373,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-cmd.c:374,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-cmd.c:375,1
    - Dst: es_fclose
      Src: /src/gnupg/g13/sh-cmd.c:382,1
    - Dst: leave_cmd
      Src: /src/gnupg/g13/sh-cmd.c:383,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 384
    functionName: cmd_create
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 0
    functionsReached:
    - sh_is_empty_partition
    - leave_cmd
    - set_error
    - gpg_error_from_syserror
    - log_error
    - sh_dmcrypt_create_container
    - es_fclose
    - assuan_set_error
    - strcmp
    - skip_options
    - gpg_error
    - gpg_err_code
    - es_fopen
    - gpg_strerror
    - es_setvbuf
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_create (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/sh-cmd.c:394,1
    - Dst: skip_options
      Src: /src/gnupg/g13/sh-cmd.c:399,1
    - Dst: set_error
      Src: /src/gnupg/g13/sh-cmd.c:405,1
    - Dst: sh_is_empty_partition
      Src: /src/gnupg/g13/sh-cmd.c:409,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-cmd.c:412,1
    - Dst: assuan_set_error
      Src: /src/gnupg/g13/sh-cmd.c:413,1
    - Dst: g13_keyblob_read
      Src: /src/gnupg/g13/sh-cmd.c:418,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g13/sh-cmd.c:423,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g13/sh-cmd.c:425,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-cmd.c:428,1
    - Dst: leave_cmd
      Src: /src/gnupg/g13/sh-cmd.c:429,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 430
    functionName: cmd_getkeyblob
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 0
    functionsReached:
    - sh_is_empty_partition
    - assuan_send_data
    - leave_cmd
    - set_error
    - assuan_set_error
    - g13_keyblob_read
    - gpg_error
    - skip_options
    - xfree
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_getkeyblob (assuan_context_t ctx, char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/sh-cmd.c:442,1
    - Dst: has_option
      Src: /src/gnupg/g13/sh-cmd.c:449,1
    - Dst: skip_options
      Src: /src/gnupg/g13/sh-cmd.c:451,1
    - Dst: strcmp
      Src: /src/gnupg/g13/sh-cmd.c:453,1
    - Dst: set_error
      Src: /src/gnupg/g13/sh-cmd.c:455,1
    - Dst: set_error
      Src: /src/gnupg/g13/sh-cmd.c:463,1
    - Dst: sh_is_empty_partition
      Src: /src/gnupg/g13/sh-cmd.c:467,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-cmd.c:470,1
    - Dst: assuan_set_error
      Src: /src/gnupg/g13/sh-cmd.c:471,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/g13/sh-cmd.c:479,1
    - Dst: assuan_inquire
      Src: /src/gnupg/g13/sh-cmd.c:480,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/g13/sh-cmd.c:482,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-cmd.c:485,1
    - Dst: _
      Src: /src/gnupg/g13/sh-cmd.c:485,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-cmd.c:485,1
    - Dst: create_tupledesc
      Src: /src/gnupg/g13/sh-cmd.c:488,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g13/sh-cmd.c:493,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-cmd.c:494,1
    - Dst: sh_dmcrypt_mount_container
      Src: /src/gnupg/g13/sh-cmd.c:498,1
    - Dst: destroy_tupledesc
      Src: /src/gnupg/g13/sh-cmd.c:503,1
    - Dst: leave_cmd
      Src: /src/gnupg/g13/sh-cmd.c:504,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 505
    functionName: cmd_mount
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 0
    functionsReached:
    - assuan_inquire
    - has_option
    - create_tupledesc
    - assuan_get_pointer
    - sh_is_empty_partition
    - leave_cmd
    - set_error
    - log_error
    - assuan_begin_confidential
    - _
    - skip_options
    - sh_dmcrypt_mount_container
    - destroy_tupledesc
    - assuan_set_error
    - strcmp
    - gpg_error
    - gpg_strerror
    - assuan_end_confidential
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_mount (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/sh-cmd.c:516,1
    - Dst: skip_options
      Src: /src/gnupg/g13/sh-cmd.c:519,1
    - Dst: strcmp
      Src: /src/gnupg/g13/sh-cmd.c:521,1
    - Dst: set_error
      Src: /src/gnupg/g13/sh-cmd.c:523,1
    - Dst: set_error
      Src: /src/gnupg/g13/sh-cmd.c:531,1
    - Dst: sh_dmcrypt_umount_container
      Src: /src/gnupg/g13/sh-cmd.c:535,1
    - Dst: leave_cmd
      Src: /src/gnupg/g13/sh-cmd.c:538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 539
    functionName: cmd_umount
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - set_error
    - strcmp
    - skip_options
    - sh_dmcrypt_umount_container
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_umount (assuan_context_t ctx, char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/sh-cmd.c:550,1
    - Dst: skip_options
      Src: /src/gnupg/g13/sh-cmd.c:553,1
    - Dst: strcmp
      Src: /src/gnupg/g13/sh-cmd.c:555,1
    - Dst: set_error
      Src: /src/gnupg/g13/sh-cmd.c:557,1
    - Dst: set_error
      Src: /src/gnupg/g13/sh-cmd.c:565,1
    - Dst: sh_is_empty_partition
      Src: /src/gnupg/g13/sh-cmd.c:569,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-cmd.c:572,1
    - Dst: assuan_set_error
      Src: /src/gnupg/g13/sh-cmd.c:573,1
    - Dst: sh_dmcrypt_suspend_container
      Src: /src/gnupg/g13/sh-cmd.c:578,1
    - Dst: leave_cmd
      Src: /src/gnupg/g13/sh-cmd.c:581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 582
    functionName: cmd_suspend
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 0
    functionsReached:
    - sh_is_empty_partition
    - sh_dmcrypt_suspend_container
    - leave_cmd
    - set_error
    - assuan_set_error
    - strcmp
    - skip_options
    - gpg_error
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_suspend (assuan_context_t ctx, char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/sh-cmd.c:593,1
    - Dst: skip_options
      Src: /src/gnupg/g13/sh-cmd.c:599,1
    - Dst: strcmp
      Src: /src/gnupg/g13/sh-cmd.c:601,1
    - Dst: set_error
      Src: /src/gnupg/g13/sh-cmd.c:603,1
    - Dst: set_error
      Src: /src/gnupg/g13/sh-cmd.c:611,1
    - Dst: sh_is_empty_partition
      Src: /src/gnupg/g13/sh-cmd.c:615,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-cmd.c:618,1
    - Dst: assuan_set_error
      Src: /src/gnupg/g13/sh-cmd.c:619,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/g13/sh-cmd.c:627,1
    - Dst: assuan_inquire
      Src: /src/gnupg/g13/sh-cmd.c:628,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/g13/sh-cmd.c:630,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-cmd.c:633,1
    - Dst: _
      Src: /src/gnupg/g13/sh-cmd.c:633,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-cmd.c:633,1
    - Dst: create_tupledesc
      Src: /src/gnupg/g13/sh-cmd.c:636,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g13/sh-cmd.c:641,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-cmd.c:642,1
    - Dst: sh_dmcrypt_resume_container
      Src: /src/gnupg/g13/sh-cmd.c:646,1
    - Dst: destroy_tupledesc
      Src: /src/gnupg/g13/sh-cmd.c:651,1
    - Dst: leave_cmd
      Src: /src/gnupg/g13/sh-cmd.c:652,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 653
    functionName: cmd_resume
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 0
    functionsReached:
    - sh_is_empty_partition
    - leave_cmd
    - set_error
    - log_error
    - assuan_end_confidential
    - assuan_begin_confidential
    - assuan_inquire
    - assuan_set_error
    - _
    - strcmp
    - skip_options
    - gpg_error
    - gpg_strerror
    - gpg_err_code
    - sh_dmcrypt_resume_container
    - destroy_tupledesc
    - create_tupledesc
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_resume (assuan_context_t ctx, char *line)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/sh-cmd.c:668,1
    - Dst: strcmp
      Src: /src/gnupg/g13/sh-cmd.c:672,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g13/sh-cmd.c:675,1
    - Dst: strlen
      Src: /src/gnupg/g13/sh-cmd.c:675,1
    - Dst: strcmp
      Src: /src/gnupg/g13/sh-cmd.c:677,1
    - Dst: snprintf
      Src: /src/gnupg/g13/sh-cmd.c:681,1
    - Dst: getpid
      Src: /src/gnupg/g13/sh-cmd.c:681,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g13/sh-cmd.c:682,1
    - Dst: strlen
      Src: /src/gnupg/g13/sh-cmd.c:682,1
    - Dst: strncmp
      Src: /src/gnupg/g13/sh-cmd.c:684,1
    - Dst: sh_blockdev_getsz
      Src: /src/gnupg/g13/sh-cmd.c:687,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-cmd.c:689,1
    - Dst: strcmp
      Src: /src/gnupg/g13/sh-cmd.c:691,1
    - Dst: es_bsprintf
      Src: /src/gnupg/g13/sh-cmd.c:697,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-cmd.c:705,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g13/sh-cmd.c:708,1
    - Dst: strlen
      Src: /src/gnupg/g13/sh-cmd.c:708,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g13/sh-cmd.c:710,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-cmd.c:712,1
    - Dst: set_error
      Src: /src/gnupg/g13/sh-cmd.c:716,1
    - Dst: leave_cmd
      Src: /src/gnupg/g13/sh-cmd.c:718,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 719
    functionName: cmd_getinfo
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - leave_cmd
    - strlen
    - sh_blockdev_getsz
    - snprintf
    - gpg_error_from_syserror
    - es_bsprintf
    - set_error
    - strcmp
    - log_debug
    - xfree
    - getpid
    - strncmp
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_getinfo (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_command_name
      Src: /src/gnupg/g13/sh-cmd.c:728,1
    - Dst: set_error_fail_cmd
      Src: /src/gnupg/g13/sh-cmd.c:735,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-cmd.c:736,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-cmd.c:736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 738
    functionName: fail_command
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 0
    functionsReached:
    - set_error_fail_cmd
    - gpg_strerror
    - assuan_get_command_name
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t fail_command (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_register_command
      Src: /src/gnupg/g13/sh-cmd.c:768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - fail_all
    argTypes:
    - assuan_context_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 775
    functionName: register_commands
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 3
    functionsReached:
    - assuan_register_command
    linkageType: ''
    returnType: int
    signature: int register_commands (assuan_context_t ctx, int fail_all)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assuan_fdopen
      Src: /src/gnupg/g13/sh-cmd.c:789,1
    - Dst: assuan_fdopen
      Src: /src/gnupg/g13/sh-cmd.c:790,1
    - Dst: assuan_new
      Src: /src/gnupg/g13/sh-cmd.c:791,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-cmd.c:794,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-cmd.c:795,1
    - Dst: assuan_init_pipe_server
      Src: /src/gnupg/g13/sh-cmd.c:799,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-cmd.c:802,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-cmd.c:802,1
    - Dst: register_commands
      Src: /src/gnupg/g13/sh-cmd.c:806,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-cmd.c:809,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-cmd.c:810,1
    - Dst: assuan_set_pointer
      Src: /src/gnupg/g13/sh-cmd.c:814,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g13/sh-cmd.c:817,1
    - Dst: assuan_set_hello_line
      Src: /src/gnupg/g13/sh-cmd.c:824,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-cmd.c:825,1
    - Dst: assuan_register_reset_notify
      Src: /src/gnupg/g13/sh-cmd.c:829,1
    - Dst: assuan_register_option_handler
      Src: /src/gnupg/g13/sh-cmd.c:830,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g13/sh-cmd.c:832,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-cmd.c:835,1
    - Dst: assuan_accept
      Src: /src/gnupg/g13/sh-cmd.c:840,1
    - Dst: assuan_process
      Src: /src/gnupg/g13/sh-cmd.c:842,1
    - Dst: log_info
      Src: /src/gnupg/g13/sh-cmd.c:844,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-cmd.c:844,1
    - Dst: log_info
      Src: /src/gnupg/g13/sh-cmd.c:849,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-cmd.c:849,1
    - Dst: reset_notify
      Src: /src/gnupg/g13/sh-cmd.c:852,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-cmd.c:855,1
    - Dst: assuan_release
      Src: /src/gnupg/g13/sh-cmd.c:859,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 779
    functionDepth: 2
    functionLinenumber: 779
    functionLinenumberEnd: 861
    functionName: syshelp_server
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 0
    functionsReached:
    - xtryasprintf
    - register_commands
    - log_error
    - assuan_set_hello_line
    - log_info
    - assuan_fdopen
    - assuan_new
    - gpg_error_from_syserror
    - assuan_register_reset_notify
    - gpg_strerror
    - xfree
    - assuan_register_option_handler
    - xtrycalloc
    - assuan_process
    - assuan_init_pipe_server
    - assuan_release
    - assuan_accept
    - reset_notify
    - assuan_set_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t syshelp_server (ctrl_t ctrl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g13_status
      Src: /src/gnupg/g13/sh-cmd.c:876,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/g13/sh-cmd.c:879,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g13/sh-cmd.c:880,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g13/sh-cmd.c:882,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/g13/sh-cmd.c:883,1
    - Dst: assuan_write_line
      Src: /src/gnupg/g13/sh-cmd.c:885,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-cmd.c:888,1
    - Dst: _
      Src: /src/gnupg/g13/sh-cmd.c:888,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-cmd.c:888,1
    - Dst: assuan_inquire
      Src: /src/gnupg/g13/sh-cmd.c:893,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-cmd.c:897,1
    - Dst: _
      Src: /src/gnupg/g13/sh-cmd.c:897,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-cmd.c:897,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - ctrl
    - keyblob
    - keybloblen
    - r_enckeyblob
    - r_enckeybloblen
    argTypes:
    - ctrl_t
    - void*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 904
    functionName: sh_encrypt_keyblob
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - log_error
    - assuan_write_line
    - assuan_end_confidential
    - assuan_begin_confidential
    - assuan_inquire
    - _
    - gpg_strerror
    - g13_status
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t sh_encrypt_keyblob (ctrl_t ctrl, const void *keyblob,
      size_t keybloblen,\n                    char **r_enckeyblob, size_t *r_enckeybloblen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/g13/sh-cmd.c:915,1
    - Dst: vprint_assuan_status_strings
      Src: /src/gnupg/g13/sh-cmd.c:917,1
    - Dst: get_status_string
      Src: /src/gnupg/g13/sh-cmd.c:918,1
    - Dst: va_end
      Src: /src/gnupg/g13/sh-cmd.c:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctrl
    - 'no'
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 921
    functionName: g13_status
    functionSourceFile: /src/gnupg/g13/sh-cmd.c
    functionUses: 2
    functionsReached:
    - vprint_assuan_status_strings
    - va_end
    - get_status_string
    - va_start
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t g13_status (ctrl_t ctrl, int no, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 86
    functionName: struct
    functionSourceFile: /src/gnupg/g13/g13-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EXTERN_UNLESS_MAIN_MODULE
    signature: EXTERN_UNLESS_MAIN_MODULE struct
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_write
      Src: /src/gnupg/g13/runner.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - fd
    - buf
    - nbytes
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: writen
    functionSourceFile: /src/gnupg/g13/runner.c
    functionUses: 1
    functionsReached:
    - npth_write
    linkageType: ''
    returnType: int
    signature: int writen (int fd, const void *buf, size_t nbytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g13/runner.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - runner
    - funcname
    argTypes:
    - runner_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: check_already_spawned
    functionSourceFile: /src/gnupg/g13/runner.c
    functionUses: 0
    functionsReached:
    - log_error
    linkageType: ''
    returnType: int
    signature: int check_already_spawned (runner_t runner, const char *funcname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: runner_get_threads
    functionSourceFile: /src/gnupg/g13/runner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int runner_get_threads (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mountinfo_del_mount
      Src: /src/gnupg/g13/runner.c:142,1
    - Dst: log_error
      Src: /src/gnupg/g13/runner.c:144,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/runner.c:145,1
    - Dst: es_fclose
      Src: /src/gnupg/g13/runner.c:147,1
    - Dst: close
      Src: /src/gnupg/g13/runner.c:149,1
    - Dst: close
      Src: /src/gnupg/g13/runner.c:151,1
    - Dst: runner_t::handler_cleanup
      Src: /src/gnupg/g13/runner.c:157,1
    - Dst: gpgrt_process_terminate
      Src: /src/gnupg/g13/runner.c:162,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/g13/runner.c:167,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/g13/runner.c:168,1
    - Dst: xfree
      Src: /src/gnupg/g13/runner.c:171,1
    - Dst: xfree
      Src: /src/gnupg/g13/runner.c:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - runner
    argTypes:
    - runner_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 173
    functionName: runner_release
    functionSourceFile: /src/gnupg/g13/runner.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpgrt_process_release
    - es_fclose
    - close
    - runner_t::handler_cleanup
    - mountinfo_del_mount
    - gpgrt_process_terminate
    - gpg_strerror
    - gpgrt_process_wait
    - xfree
    linkageType: ''
    returnType: void
    signature: void runner_release (runner_t runner)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/g13/runner.c:188,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/runner.c:190,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g13/runner.c:207,1
    - Dst: xfree
      Src: /src/gnupg/g13/runner.c:210,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/runner.c:211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - r_runner
    - name
    argTypes:
    - runner_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 220
    functionName: runner_new
    functionSourceFile: /src/gnupg/g13/runner.c
    functionUses: 0
    functionsReached:
    - xtryasprintf
    - xfree
    - gpg_error_from_syserror
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t runner_new (runner_t *r_runner, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - runner
    argTypes:
    - runner_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: runner_get_rid
    functionSourceFile: /src/gnupg/g13/runner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int runner_get_rid (runner_t runner)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rid
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: runner_find_by_rid
    functionSourceFile: /src/gnupg/g13/runner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: runner_t
    signature: runner_t runner_find_by_rid (unsigned int rid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_already_spawned
      Src: /src/gnupg/g13/runner.c:256,1
    - Dst: close
      Src: /src/gnupg/g13/runner.c:260,1
    - Dst: close
      Src: /src/gnupg/g13/runner.c:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - runner
    - in_fd
    - out_fd
    argTypes:
    - runner_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: runner_set_fds
    functionSourceFile: /src/gnupg/g13/runner.c
    functionUses: 0
    functionsReached:
    - close
    - check_already_spawned
    linkageType: ''
    returnType: void
    signature: void runner_set_fds (runner_t runner, int in_fd, int out_fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_already_spawned
      Src: /src/gnupg/g13/runner.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - runner
    - proc
    argTypes:
    - runner_t
    - gpgrt_process_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 277
    functionName: runner_set_proc
    functionSourceFile: /src/gnupg/g13/runner.c
    functionUses: 0
    functionsReached:
    - check_already_spawned
    linkageType: ''
    returnType: void
    signature: void runner_set_proc (runner_t runner, gpgrt_process_t proc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_already_spawned
      Src: /src/gnupg/g13/runner.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - runner
    - handler
    - handler_cleanup
    - handler_data
    argTypes:
    - runner_t
    - engine_handler_fnc_t
    - engine_handler_cleanup_fnc_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 294
    functionName: runner_set_handler
    functionSourceFile: /src/gnupg/g13/runner.c
    functionUses: 0
    functionsReached:
    - check_already_spawned
    linkageType: ''
    returnType: void
    signature: "void runner_set_handler (runner_t runner,\n                    engine_handler_fnc_t
      handler,\n                    engine_handler_cleanup_fnc_t handler_cleanup,\n
      \                   void *handler_data)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/g13/runner.c:304,1
    - Dst: es_getc
      Src: /src/gnupg/g13/runner.c:320,1
    - Dst: log_info
      Src: /src/gnupg/g13/runner.c:327,1
    - Dst: runner_t::handler
      Src: /src/gnupg/g13/runner.c:335,1
    - Dst: log_debug
      Src: /src/gnupg/g13/runner.c:342,1
    - Dst: log_debug
      Src: /src/gnupg/g13/runner.c:344,1
    - Dst: log_info
      Src: /src/gnupg/g13/runner.c:349,1
    - Dst: runner_t::handler
      Src: /src/gnupg/g13/runner.c:352,1
    - Dst: es_ferror
      Src: /src/gnupg/g13/runner.c:355,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/runner.c:357,1
    - Dst: log_error
      Src: /src/gnupg/g13/runner.c:358,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/runner.c:359,1
    - Dst: es_fclose
      Src: /src/gnupg/g13/runner.c:363,1
    - Dst: log_debug
      Src: /src/gnupg/g13/runner.c:364,1
    - Dst: log_debug
      Src: /src/gnupg/g13/runner.c:372,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/g13/runner.c:373,1
    - Dst: gpgrt_process_ctl
      Src: /src/gnupg/g13/runner.c:375,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/g13/runner.c:376,1
    - Dst: log_error
      Src: /src/gnupg/g13/runner.c:379,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/runner.c:380,1
    - Dst: log_debug
      Src: /src/gnupg/g13/runner.c:381,1
    - Dst: log_debug
      Src: /src/gnupg/g13/runner.c:385,1
    - Dst: runner_release
      Src: /src/gnupg/g13/runner.c:400,1
    - Dst: log_debug
      Src: /src/gnupg/g13/runner.c:401,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 404
    functionName: runner_thread
    functionSourceFile: /src/gnupg/g13/runner.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - log_error
    - es_fclose
    - gpgrt_process_release
    - log_info
    - gpg_strerror
    - es_getc
    - runner_t::handler
    - gpgrt_process_wait
    - gpgrt_process_ctl
    - es_ferror
    - runner_release
    - log_debug
    linkageType: ''
    returnType: void
    signature: 'void *

      runner_thread (void *arg)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_already_spawned
      Src: /src/gnupg/g13/runner.c:416,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/runner.c:417,1
    - Dst: es_fdopen
      Src: /src/gnupg/g13/runner.c:427,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/runner.c:430,1
    - Dst: log_error
      Src: /src/gnupg/g13/runner.c:431,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/runner.c:431,1
    - Dst: npth_attr_init
      Src: /src/gnupg/g13/runner.c:438,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/g13/runner.c:439,1
    - Dst: npth_create
      Src: /src/gnupg/g13/runner.c:441,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/g13/runner.c:444,1
    - Dst: log_error
      Src: /src/gnupg/g13/runner.c:445,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/runner.c:445,1
    - Dst: npth_setname_np
      Src: /src/gnupg/g13/runner.c:448,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/g13/runner.c:457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - runner
    argTypes:
    - runner_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 462
    functionName: runner_spawn
    functionSourceFile: /src/gnupg/g13/runner.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - npth_attr_init
    - npth_create
    - npth_attr_destroy
    - npth_attr_setdetachstate
    - gpg_error_from_errno
    - gpg_error
    - npth_setname_np
    - gpg_strerror
    - es_fdopen
    - check_already_spawned
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t runner_spawn (runner_t runner)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_process_terminate
      Src: /src/gnupg/g13/runner.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - runner
    argTypes:
    - runner_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 479
    functionName: runner_cancel
    functionSourceFile: /src/gnupg/g13/runner.c
    functionUses: 0
    functionsReached:
    - gpgrt_process_terminate
    linkageType: ''
    returnType: void
    signature: void runner_cancel (runner_t runner)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: runner_cancel
      Src: /src/gnupg/g13/runner.c:493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 498
    functionName: runner_cancel_all
    functionSourceFile: /src/gnupg/g13/runner.c
    functionUses: 0
    functionsReached:
    - runner_cancel
    linkageType: ''
    returnType: void
    signature: void runner_cancel_all (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g13/runner.c:511,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/runner.c:512,1
    - Dst: log_error
      Src: /src/gnupg/g13/runner.c:516,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/runner.c:517,1
    - Dst: memchr
      Src: /src/gnupg/g13/runner.c:521,1
    - Dst: log_error
      Src: /src/gnupg/g13/runner.c:523,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/runner.c:524,1
    - Dst: memchr
      Src: /src/gnupg/g13/runner.c:526,1
    - Dst: log_error
      Src: /src/gnupg/g13/runner.c:528,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/runner.c:529,1
    - Dst: writen
      Src: /src/gnupg/g13/runner.c:531,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/runner.c:532,1
    - Dst: writen
      Src: /src/gnupg/g13/runner.c:536,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/runner.c:537,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - runner
    - data
    - datalen
    argTypes:
    - runner_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 540
    functionName: runner_send_line
    functionSourceFile: /src/gnupg/g13/runner.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - log_error
    - gpg_error
    - writen
    - memchr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t runner_send_line (runner_t runner, const void *data, size_t
      datalen)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/g13/g13.c:244,1
    - Dst: _
      Src: /src/gnupg/g13/g13.c:247,1
    - Dst: _
      Src: /src/gnupg/g13/g13.c:250,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g13/g13.c:255,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 231
    functionDepth: 5
    functionLinenumber: 231
    functionLinenumberEnd: 260
    functionName: my_strusage
    functionSourceFile: /src/gnupg/g13/g13.c
    functionUses: 0
    functionsReached:
    - gnupg_homedir
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage( int level )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/g13/g13.c:266,1
    - Dst: _
      Src: /src/gnupg/g13/g13.c:266,1
    - Dst: fputs
      Src: /src/gnupg/g13/g13.c:267,1
    - Dst: putc
      Src: /src/gnupg/g13/g13.c:268,1
    - Dst: g13_exit
      Src: /src/gnupg/g13/g13.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: wrong_args
    functionSourceFile: /src/gnupg/g13/g13.c
    functionUses: 5
    functionsReached:
    - _
    - fprintf
    - g13_exit
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: void wrong_args (const char *text)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/g13/g13.c:280,1
    - Dst: atoi
      Src: /src/gnupg/g13/g13.c:281,1
    - Dst: strcmp
      Src: /src/gnupg/g13/g13.c:285,1
    - Dst: strcmp
      Src: /src/gnupg/g13/g13.c:287,1
    - Dst: strcmp
      Src: /src/gnupg/g13/g13.c:289,1
    - Dst: strcmp
      Src: /src/gnupg/g13/g13.c:291,1
    - Dst: strcmp
      Src: /src/gnupg/g13/g13.c:293,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13.c:301,1
    - Dst: _
      Src: /src/gnupg/g13/g13.c:301,1
    - Dst: g13_exit
      Src: /src/gnupg/g13/g13.c:302,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13.c:313,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13.c:314,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/g13/g13.c:317,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 318
    functionName: set_debug
    functionSourceFile: /src/gnupg/g13/g13.c
    functionUses: 4
    functionsReached:
    - atoi
    - log_error
    - digitp
    - gcry_control
    - _
    - strcmp
    - g13_exit
    - parse_debug_flag
    linkageType: ''
    returnType: void
    signature: void set_debug (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g13/g13.c:331,1
    - Dst: _
      Src: /src/gnupg/g13/g13.c:331,1
    - Dst: g13_exit
      Src: /src/gnupg/g13/g13.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ret_cmd
    - new_cmd
    argTypes:
    - enum cmd_and_opt_values*
    - enum cmd_and_opt_values
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 336
    functionName: set_cmd
    functionSourceFile: /src/gnupg/g13/g13.c
    functionUses: 3
    functionsReached:
    - g13_exit
    - _
    - log_error
    linkageType: ''
    returnType: void
    signature: void set_cmd (enum cmd_and_opt_values *ret_cmd, enum cmd_and_opt_values
      new_cmd)
  - BBCount: 94
    BranchProfiles: []
    Callsites:
    - Dst: early_system_init
      Src: /src/gnupg/g13/g13.c:365,1
    - Dst: gnupg_reopen_std
      Src: /src/gnupg/g13/g13.c:366,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/g13/g13.c:367,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13.c:368,1
    - Dst: log_set_prefix
      Src: /src/gnupg/g13/g13.c:370,1
    - Dst: i18n_init
      Src: /src/gnupg/g13/g13.c:373,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/g13/g13.c:374,1
    - Dst: npth_init
      Src: /src/gnupg/g13/g13.c:376,1
    - Dst: gpgrt_set_syscall_clamp
      Src: /src/gnupg/g13/g13.c:377,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13.c:380,1
    - Dst: disable_core_dumps
      Src: /src/gnupg/g13/g13.c:382,1
    - Dst: g13_init_signals
      Src: /src/gnupg/g13/g13.c:384,1
    - Dst: dotlock_create
      Src: /src/gnupg/g13/g13.c:386,1
    - Dst: session_env_new
      Src: /src/gnupg/g13/g13.c:388,1
    - Dst: log_fatal
      Src: /src/gnupg/g13/g13.c:390,1
    - Dst: strerror
      Src: /src/gnupg/g13/g13.c:391,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/g13/g13.c:399,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/g13/g13.c:409,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13.c:417,1
    - Dst: assuan_set_malloc_hooks
      Src: /src/gnupg/g13/g13.c:431,1
    - Dst: assuan_set_gpg_err_source
      Src: /src/gnupg/g13/g13.c:435,1
    - Dst: setup_libassuan_logging
      Src: /src/gnupg/g13/g13.c:436,1
    - Dst: assuan_control
      Src: /src/gnupg/g13/g13.c:437,1
    - Dst: memset
      Src: /src/gnupg/g13/g13.c:440,1
    - Dst: g13_init_default_ctrl
      Src: /src/gnupg/g13/g13.c:441,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/g13/g13.c:446,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/g13/g13.c:446,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/g13/g13.c:447,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g13/g13.c:447,1
    - Dst: gpgrt_argparser
      Src: /src/gnupg/g13/g13.c:462,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13.c:469,1
    - Dst: _
      Src: /src/gnupg/g13/g13.c:469,1
    - Dst: xfree
      Src: /src/gnupg/g13/g13.c:473,1
    - Dst: xstrdup
      Src: /src/gnupg/g13/g13.c:474,1
    - Dst: set_cmd
      Src: /src/gnupg/g13/g13.c:484,1
    - Dst: set_cmd
      Src: /src/gnupg/g13/g13.c:496,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13.c:509,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13.c:513,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/g13/g13.c:524,1
    - Dst: enable_core_dumps
      Src: /src/gnupg/g13/g13.c:535,1
    - Dst: log_set_fd
      Src: /src/gnupg/g13/g13.c:539,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/g13/g13.c:541,1
    - Dst: xstrdup
      Src: /src/gnupg/g13/g13.c:545,1
    - Dst: xstrdup
      Src: /src/gnupg/g13/g13.c:546,1
    - Dst: xstrdup
      Src: /src/gnupg/g13/g13.c:547,1
    - Dst: xstrdup
      Src: /src/gnupg/g13/g13.c:548,1
    - Dst: xstrdup
      Src: /src/gnupg/g13/g13.c:549,1
    - Dst: xstrdup
      Src: /src/gnupg/g13/g13.c:550,1
    - Dst: isotime2epoch
      Src: /src/gnupg/g13/g13.c:554,1
    - Dst: strtoul
      Src: /src/gnupg/g13/g13.c:556,1
    - Dst: gnupg_set_time
      Src: /src/gnupg/g13/g13.c:557,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13.c:561,1
    - Dst: add_to_strlist
      Src: /src/gnupg/g13/g13.c:566,1
    - Dst: strcmp
      Src: /src/gnupg/g13/g13.c:570,1
    - Dst: be_parse_conttype_name
      Src: /src/gnupg/g13/g13.c:572,1
    - Dst: g13_exit
      Src: /src/gnupg/g13/g13.c:573,1
    - Dst: be_parse_conttype_name
      Src: /src/gnupg/g13/g13.c:575,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/g13/g13.c:592,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g13/g13.c:597,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g13/g13.c:598,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g13/g13.c:599,1
    - Dst: append_to_strlist
      Src: /src/gnupg/g13/g13.c:600,1
    - Dst: gpgrt_fnameconcat
      Src: /src/gnupg/g13/g13.c:605,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g13/g13.c:605,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/g13/g13.c:614,1
    - Dst: g13_exit
      Src: /src/gnupg/g13/g13.c:615,1
    - Dst: g13_init_default_ctrl
      Src: /src/gnupg/g13/g13.c:619,1
    - Dst: fprintf
      Src: /src/gnupg/g13/g13.c:628,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/g13/g13.c:629,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/g13/g13.c:629,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/g13/g13.c:629,1
    - Dst: fprintf
      Src: /src/gnupg/g13/g13.c:630,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/g13/g13.c:630,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13.c:634,1
    - Dst: _
      Src: /src/gnupg/g13/g13.c:634,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13.c:643,1
    - Dst: _
      Src: /src/gnupg/g13/g13.c:643,1
    - Dst: log_set_file
      Src: /src/gnupg/g13/g13.c:649,1
    - Dst: log_set_prefix
      Src: /src/gnupg/g13/g13.c:650,1
    - Dst: gnupg_faked_time_p
      Src: /src/gnupg/g13/g13.c:655,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13.c:659,1
    - Dst: _
      Src: /src/gnupg/g13/g13.c:659,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/g13/g13.c:660,1
    - Dst: dump_isotime
      Src: /src/gnupg/g13/g13.c:661,1
    - Dst: log_printf
      Src: /src/gnupg/g13/g13.c:662,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13.c:666,1
    - Dst: set_debug
      Src: /src/gnupg/g13/g13.c:669,1
    - Dst: g13_install_emergency_cleanup
      Src: /src/gnupg/g13/g13.c:672,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/g13/g13.c:675,1
    - Dst: g13_exit
      Src: /src/gnupg/g13/g13.c:676,1
    - Dst: make_filename
      Src: /src/gnupg/g13/g13.c:681,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g13/g13.c:681,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13.c:682,1
    - Dst: xfree
      Src: /src/gnupg/g13/g13.c:683,1
    - Dst: check_encryption_key
      Src: /src/gnupg/g13/g13.c:698,1
    - Dst: g13_exit
      Src: /src/gnupg/g13/g13.c:701,1
    - Dst: percent_escape
      Src: /src/gnupg/g13/g13.c:711,1
    - Dst: printf
      Src: /src/gnupg/g13/g13.c:713,1
    - Dst: xfree
      Src: /src/gnupg/g13/g13.c:715,1
    - Dst: printf
      Src: /src/gnupg/g13/g13.c:717,1
    - Dst: printf
      Src: /src/gnupg/g13/g13.c:718,1
    - Dst: printf
      Src: /src/gnupg/g13/g13.c:719,1
    - Dst: printf
      Src: /src/gnupg/g13/g13.c:720,1
    - Dst: start_idle_task
      Src: /src/gnupg/g13/g13.c:730,1
    - Dst: g13_server
      Src: /src/gnupg/g13/g13.c:732,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13.c:734,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/g13.c:735,1
    - Dst: gpg_strsource
      Src: /src/gnupg/g13/g13.c:735,1
    - Dst: g13_request_shutdown
      Src: /src/gnupg/g13/g13.c:737,1
    - Dst: wrong_args
      Src: /src/gnupg/g13/g13.c:746,1
    - Dst: call_syshelp_find_device
      Src: /src/gnupg/g13/g13.c:748,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13.c:750,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/g13.c:751,1
    - Dst: gpg_strsource
      Src: /src/gnupg/g13/g13.c:751,1
    - Dst: puts
      Src: /src/gnupg/g13/g13.c:753,1
    - Dst: wrong_args
      Src: /src/gnupg/g13/g13.c:760,1
    - Dst: start_idle_task
      Src: /src/gnupg/g13/g13.c:761,1
    - Dst: g13_create_container
      Src: /src/gnupg/g13/g13.c:762,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13.c:764,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/g13.c:765,1
    - Dst: gpg_strsource
      Src: /src/gnupg/g13/g13.c:765,1
    - Dst: g13_request_shutdown
      Src: /src/gnupg/g13/g13.c:767,1
    - Dst: wrong_args
      Src: /src/gnupg/g13/g13.c:774,1
    - Dst: start_idle_task
      Src: /src/gnupg/g13/g13.c:775,1
    - Dst: g13_mount_container
      Src: /src/gnupg/g13/g13.c:776,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13.c:778,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/g13.c:779,1
    - Dst: gpg_strsource
      Src: /src/gnupg/g13/g13.c:779,1
    - Dst: wrong_args
      Src: /src/gnupg/g13/g13.c:786,1
    - Dst: g13_umount_container
      Src: /src/gnupg/g13/g13.c:787,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13.c:789,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/g13.c:790,1
    - Dst: gpg_strsource
      Src: /src/gnupg/g13/g13.c:790,1
    - Dst: wrong_args
      Src: /src/gnupg/g13/g13.c:798,1
    - Dst: g13_suspend_container
      Src: /src/gnupg/g13/g13.c:799,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13.c:801,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/g13.c:802,1
    - Dst: gpg_strsource
      Src: /src/gnupg/g13/g13.c:802,1
    - Dst: wrong_args
      Src: /src/gnupg/g13/g13.c:810,1
    - Dst: g13_resume_container
      Src: /src/gnupg/g13/g13.c:811,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13.c:813,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/g13.c:814,1
    - Dst: gpg_strsource
      Src: /src/gnupg/g13/g13.c:814,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13.c:819,1
    - Dst: _
      Src: /src/gnupg/g13/g13.c:819,1
    - Dst: g13_deinit_default_ctrl
      Src: /src/gnupg/g13/g13.c:823,1
    - Dst: join_idle_task
      Src: /src/gnupg/g13/g13.c:826,1
    - Dst: g13_exit
      Src: /src/gnupg/g13/g13.c:829,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 340
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 339
    functionDepth: 6
    functionLinenumber: 339
    functionLinenumberEnd: 831
    functionName: main
    functionSourceFile: /src/gnupg/g13/g13.c
    functionUses: 6
    functionsReached:
    - gpgrt_set_syscall_clamp
    - init_common_subsystems
    - gpgrt_fnameconcat
    - start_idle_task
    - set_debug
    - dotlock_create
    - log_set_fd
    - g13_server
    - gnupg_homedir
    - g13_init_signals
    - call_syshelp_find_device
    - npth_init
    - assuan_set_malloc_hooks
    - gpgrt_argparser
    - puts
    - xstrdup
    - g13_suspend_container
    - g13_resume_container
    - gpgrt_set_strusage
    - join_idle_task
    - gnupg_set_homedir
    - printf
    - log_error
    - early_system_init
    - log_set_prefix
    - session_env_new
    - g13_umount_container
    - _
    - g13_request_shutdown
    - log_get_errorcount
    - dump_isotime
    - gnupg_faked_time_p
    - wrong_args
    - log_info
    - assuan_control
    - strtoul
    - log_printf
    - g13_deinit_default_ctrl
    - parse_debug_flag
    - gpgrt_strusage
    - check_encryption_key
    - gnupg_reopen_std
    - gcry_control
    - set_cmd
    - strcmp
    - fprintf
    - gnupg_get_isotime
    - memset
    - xfree
    - enable_core_dumps
    - gpgrt_argparse
    - g13_exit
    - gpg_strerror
    - gnupg_sysconfdir
    - log_set_file
    - gnupg_set_time
    - percent_escape
    - be_parse_conttype_name
    - append_to_strlist
    - gpg_strsource
    - i18n_init
    - g13_init_default_ctrl
    - make_filename
    - g13_mount_container
    - isotime2epoch
    - log_fatal
    - assuan_set_gpg_err_source
    - add_to_strlist
    - g13_install_emergency_cleanup
    - gpgrt_set_confdir
    - g13_create_container
    - setup_libassuan_logging
    - disable_core_dumps
    - strerror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 839
    functionName: g13_init_default_ctrl
    functionSourceFile: /src/gnupg/g13/g13.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void g13_init_default_ctrl (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: call_syshelp_release
      Src: /src/gnupg/g13/g13.c:846,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/g13/g13.c:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 848
    functionName: g13_deinit_default_ctrl
    functionSourceFile: /src/gnupg/g13/g13.c
    functionUses: 1
    functionsReached:
    - call_syshelp_release
    - FREE_STRLIST
    linkageType: ''
    returnType: void
    signature: void g13_deinit_default_ctrl (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 857
    functionName: g13_request_shutdown
    functionSourceFile: /src/gnupg/g13/g13.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void g13_request_shutdown (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g13/g13.c:870,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13.c:875,1
    - Dst: mountinfo_dump_all
      Src: /src/gnupg/g13/g13.c:879,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13.c:883,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13.c:888,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13.c:890,1
    - Dst: runner_get_threads
      Src: /src/gnupg/g13/g13.c:891,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13.c:895,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13.c:896,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/g13/g13.c:896,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/g13/g13.c:896,1
    - Dst: g13_exit
      Src: /src/gnupg/g13/g13.c:897,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13.c:902,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13.c:903,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/g13/g13.c:903,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/g13/g13.c:903,1
    - Dst: g13_exit
      Src: /src/gnupg/g13/g13.c:904,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13.c:909,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 911
    functionName: handle_signal
    functionSourceFile: /src/gnupg/g13/g13.c
    functionUses: 1
    functionsReached:
    - mountinfo_dump_all
    - runner_get_threads
    - log_info
    - g13_exit
    - gpgrt_strusage
    linkageType: ''
    returnType: void
    signature: void handle_signal (int signo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 920
    functionName: handle_tick
    functionSourceFile: /src/gnupg/g13/g13.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handle_tick (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: npth_sigev_init
      Src: /src/gnupg/g13/g13.c:939,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/g13/g13.c:940,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/g13/g13.c:941,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/g13/g13.c:942,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/g13/g13.c:943,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/g13/g13.c:944,1
    - Dst: npth_sigev_fini
      Src: /src/gnupg/g13/g13.c:945,1
    - Dst: npth_clock_gettime
      Src: /src/gnupg/g13/g13.c:948,1
    - Dst: runner_cancel_all
      Src: /src/gnupg/g13/g13.c:956,1
    - Dst: runner_get_threads
      Src: /src/gnupg/g13/g13.c:958,1
    - Dst: npth_clock_gettime
      Src: /src/gnupg/g13/g13.c:962,1
    - Dst: npth_timercmp
      Src: /src/gnupg/g13/g13.c:963,1
    - Dst: handle_tick
      Src: /src/gnupg/g13/g13.c:966,1
    - Dst: npth_clock_gettime
      Src: /src/gnupg/g13/g13.c:967,1
    - Dst: npth_timersub
      Src: /src/gnupg/g13/g13.c:970,1
    - Dst: npth_pselect
      Src: /src/gnupg/g13/g13.c:973,1
    - Dst: npth_sigev_sigmask
      Src: /src/gnupg/g13/g13.c:973,1
    - Dst: npth_sigev_get_pending
      Src: /src/gnupg/g13/g13.c:976,1
    - Dst: handle_signal
      Src: /src/gnupg/g13/g13.c:977,1
    - Dst: npth_eselect
      Src: /src/gnupg/g13/g13.c:979,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13.c:985,1
    - Dst: _
      Src: /src/gnupg/g13/g13.c:985,1
    - Dst: strerror
      Src: /src/gnupg/g13/g13.c:986,1
    - Dst: npth_sleep
      Src: /src/gnupg/g13/g13.c:987,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13.c:1001,1
    - Dst: _
      Src: /src/gnupg/g13/g13.c:1001,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/g13/g13.c:1001,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/g13/g13.c:1001,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 1
    argNames:
    - dummy_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 925
    functionDepth: 3
    functionLinenumber: 925
    functionLinenumberEnd: 1003
    functionName: idle_task
    functionSourceFile: /src/gnupg/g13/g13.c
    functionUses: 1
    functionsReached:
    - handle_signal
    - npth_sleep
    - npth_sigev_fini
    - log_error
    - _
    - npth_clock_gettime
    - log_info
    - runner_cancel_all
    - npth_eselect
    - handle_tick
    - npth_sigev_sigmask
    - npth_sigev_init
    - npth_pselect
    - gpgrt_strusage
    - npth_sigev_get_pending
    - npth_timercmp
    - runner_get_threads
    - npth_sigev_add
    - npth_timersub
    - strerror
    linkageType: ''
    returnType: void
    signature: 'void *

      idle_task (void *dummy_arg)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/gnupg/g13/g13.c:1019,1
    - Dst: sigaddset
      Src: /src/gnupg/g13/g13.c:1020,1
    - Dst: sigaddset
      Src: /src/gnupg/g13/g13.c:1021,1
    - Dst: sigaddset
      Src: /src/gnupg/g13/g13.c:1022,1
    - Dst: sigaddset
      Src: /src/gnupg/g13/g13.c:1023,1
    - Dst: sigaddset
      Src: /src/gnupg/g13/g13.c:1024,1
    - Dst: npth_sigmask
      Src: /src/gnupg/g13/g13.c:1025,1
    - Dst: npth_attr_init
      Src: /src/gnupg/g13/g13.c:1028,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/g13/g13.c:1029,1
    - Dst: npth_create
      Src: /src/gnupg/g13/g13.c:1031,1
    - Dst: log_fatal
      Src: /src/gnupg/g13/g13.c:1034,1
    - Dst: strerror
      Src: /src/gnupg/g13/g13.c:1034,1
    - Dst: npth_setname_np
      Src: /src/gnupg/g13/g13.c:1037,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/g13/g13.c:1039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1040
    functionName: start_idle_task
    functionSourceFile: /src/gnupg/g13/g13.c
    functionUses: 1
    functionsReached:
    - sigaddset
    - npth_attr_init
    - npth_create
    - npth_sigmask
    - log_fatal
    - npth_attr_destroy
    - npth_attr_setdetachstate
    - npth_setname_np
    - sigemptyset
    - strerror
    linkageType: ''
    returnType: void
    signature: void start_idle_task (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_join
      Src: /src/gnupg/g13/g13.c:1053,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13.c:1055,1
    - Dst: strerror
      Src: /src/gnupg/g13/g13.c:1056,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1058
    functionName: join_idle_task
    functionSourceFile: /src/gnupg/g13/g13.c
    functionUses: 1
    functionsReached:
    - strerror
    - npth_join
    - log_error
    linkageType: ''
    returnType: void
    signature: void join_idle_task (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/g13/g13tuple.c:52,1
    - Dst: assert
      Src: /src/gnupg/g13/g13tuple.c:53,1
    - Dst: put_membuf
      Src: /src/gnupg/g13/g13tuple.c:57,1
    - Dst: put_membuf
      Src: /src/gnupg/g13/g13tuple.c:60,1
    - Dst: put_membuf
      Src: /src/gnupg/g13/g13tuple.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - membuf
    - tag
    - value
    - length
    argTypes:
    - membuf_t*
    - int
    - void*
    - size_t
    assertStmts:
    - condition: (tag >= 0 && tag <= 0xffff)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/gnupg/g13/g13tuple.c
    - condition: (length <= 0xffff)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/gnupg/g13/g13tuple.c
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: append_tuple
    functionSourceFile: /src/gnupg/g13/g13tuple.c
    functionUses: 0
    functionsReached:
    - put_membuf
    - assert
    linkageType: ''
    returnType: void
    signature: void append_tuple (membuf_t *membuf, int tag, const void *value, size_t
      length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/gnupg/g13/g13tuple.c:81,1
    - Dst: BUG
      Src: /src/gnupg/g13/g13tuple.c:92,1
    - Dst: append_tuple
      Src: /src/gnupg/g13/g13tuple.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - membuf
    - tag
    - value
    argTypes:
    - membuf_t*
    - int
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 98
    functionName: append_tuple_uint
    functionSourceFile: /src/gnupg/g13/g13tuple.c
    functionUses: 0
    functionsReached:
    - append_tuple
    - BUG
    linkageType: ''
    returnType: void
    signature: void append_tuple_uint (membuf_t *membuf, int tag, unsigned long long
      value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/g13/g13tuple.c:108,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/g13tuple.c:109,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g13/g13tuple.c:111,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/g13tuple.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - r_desc
    - data
    - datalen
    argTypes:
    - tupledesc_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 119
    functionName: create_tupledesc
    functionSourceFile: /src/gnupg/g13/g13tuple.c
    functionUses: 2
    functionsReached:
    - gpg_error
    - memcmp
    - xtrymalloc
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t create_tupledesc (tupledesc_t *r_desc, void *data, size_t
      datalen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g13/g13tuple.c:131,1
    - Dst: xfree
      Src: /src/gnupg/g13/g13tuple.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - tupledesc
    argTypes:
    - tupledesc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: destroy_tupledesc
    functionSourceFile: /src/gnupg/g13/g13tuple.c
    functionUses: 2
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void destroy_tupledesc (tupledesc_t tupledesc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tupledesc
    argTypes:
    - tupledesc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: ref_tupledesc
    functionSourceFile: /src/gnupg/g13/g13tuple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tupledesc_t
    signature: tupledesc_t ref_tupledesc (tupledesc_t tupledesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tupledesc
    - r_datalen
    argTypes:
    - tupledesc_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: get_tupledesc_data
    functionSourceFile: /src/gnupg/g13/g13tuple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      get_tupledesc_data (tupledesc_t tupledesc, size_t *r_datalen)'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - tupledesc
    - tag
    - r_length
    argTypes:
    - tupledesc_t
    - unsigned int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 196
    functionName: find_tuple
    functionSourceFile: /src/gnupg/g13/g13tuple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      find_tuple (tupledesc_t tupledesc, unsigned int tag, size_t *r_length)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g13/g13tuple.c:208,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/g13tuple.c:210,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/g13tuple.c:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - s
    - n
    - r_value
    argTypes:
    - unsigned char*
    - size_t
    - unsigned long long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 225
    functionName: convert_uint
    functionSourceFile: /src/gnupg/g13/g13tuple.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t convert_uint (const unsigned char *s, size_t n, unsigned
      long long *r_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_tuple
      Src: /src/gnupg/g13/g13tuple.c:239,1
    - Dst: convert_uint
      Src: /src/gnupg/g13/g13tuple.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tupledesc
    - tag
    - r_value
    argTypes:
    - tupledesc_t
    - unsigned int
    - unsigned long long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: find_tuple_uint
    functionSourceFile: /src/gnupg/g13/g13tuple.c
    functionUses: 0
    functionsReached:
    - convert_uint
    - find_tuple
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t find_tuple_uint (tupledesc_t tupledesc, unsigned int tag,\n
      \                unsigned long long *r_value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - tupledesc
    - r_tag
    - r_length
    argTypes:
    - tupledesc_t
    - unsigned int*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 275
    functionName: next_tuple
    functionSourceFile: /src/gnupg/g13/g13tuple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      next_tuple (tupledesc_t tupledesc, unsigned int *r_tag, size_t *r_length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: all_printable
    functionSourceFile: /src/gnupg/g13/g13tuple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int all_printable (const void *buf, size_t buflen)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g13/g13tuple.c:300,1
    - Dst: find_tuple
      Src: /src/gnupg/g13/g13tuple.c:302,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13tuple.c:305,1
    - Dst: log_printf
      Src: /src/gnupg/g13/g13tuple.c:307,1
    - Dst: log_printf
      Src: /src/gnupg/g13/g13tuple.c:314,1
    - Dst: all_printable
      Src: /src/gnupg/g13/g13tuple.c:318,1
    - Dst: log_printf
      Src: /src/gnupg/g13/g13tuple.c:319,1
    - Dst: log_printhex
      Src: /src/gnupg/g13/g13tuple.c:321,1
    - Dst: convert_uint
      Src: /src/gnupg/g13/g13tuple.c:327,1
    - Dst: log_printf
      Src: /src/gnupg/g13/g13tuple.c:328,1
    - Dst: log_printhex
      Src: /src/gnupg/g13/g13tuple.c:330,1
    - Dst: log_printhex
      Src: /src/gnupg/g13/g13tuple.c:334,1
    - Dst: next_tuple
      Src: /src/gnupg/g13/g13tuple.c:338,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - tuples
    argTypes:
    - tupledesc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 340
    functionName: dump_tupledesc
    functionSourceFile: /src/gnupg/g13/g13tuple.c
    functionUses: 0
    functionsReached:
    - all_printable
    - log_printhex
    - convert_uint
    - next_tuple
    - log_info
    - log_printf
    - find_tuple
    linkageType: ''
    returnType: void
    signature: void dump_tupledesc (tupledesc_t tuples)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: set_error
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_error(e,t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_command_name
      Src: /src/gnupg/g13/server.c:77,1
    - Dst: gpg_err_source
      Src: /src/gnupg/g13/server.c:80,1
    - Dst: log_error
      Src: /src/gnupg/g13/server.c:81,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/server.c:82,1
    - Dst: log_error
      Src: /src/gnupg/g13/server.c:84,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/server.c:85,1
    - Dst: gpg_strsource
      Src: /src/gnupg/g13/server.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - assuan_context_t
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: leave_cmd
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 9
    functionsReached:
    - log_error
    - gpg_strerror
    - assuan_get_command_name
    - gpg_strsource
    - gpg_err_source
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t leave_cmd (assuan_context_t ctx, gpg_error_t err)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/server.c:97,1
    - Dst: strcmp
      Src: /src/gnupg/g13/server.c:102,1
    - Dst: session_env_putenv
      Src: /src/gnupg/g13/server.c:110,1
    - Dst: strcmp
      Src: /src/gnupg/g13/server.c:112,1
    - Dst: session_env_setenv
      Src: /src/gnupg/g13/server.c:114,1
    - Dst: strcmp
      Src: /src/gnupg/g13/server.c:116,1
    - Dst: session_env_setenv
      Src: /src/gnupg/g13/server.c:118,1
    - Dst: strcmp
      Src: /src/gnupg/g13/server.c:120,1
    - Dst: session_env_setenv
      Src: /src/gnupg/g13/server.c:122,1
    - Dst: strcmp
      Src: /src/gnupg/g13/server.c:124,1
    - Dst: xfree
      Src: /src/gnupg/g13/server.c:126,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g13/server.c:127,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/server.c:129,1
    - Dst: strcmp
      Src: /src/gnupg/g13/server.c:131,1
    - Dst: xfree
      Src: /src/gnupg/g13/server.c:133,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g13/server.c:134,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/server.c:136,1
    - Dst: strcmp
      Src: /src/gnupg/g13/server.c:138,1
    - Dst: session_env_setenv
      Src: /src/gnupg/g13/server.c:140,1
    - Dst: strcmp
      Src: /src/gnupg/g13/server.c:142,1
    - Dst: session_env_setenv
      Src: /src/gnupg/g13/server.c:144,1
    - Dst: strcmp
      Src: /src/gnupg/g13/server.c:146,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/server.c:151,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - assuan_context_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 154
    functionName: option_handler
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 4
    functionsReached:
    - session_env_putenv
    - gpg_error_from_syserror
    - strcmp
    - xtrystrdup
    - gpg_error
    - xfree
    - session_env_setenv
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t option_handler (assuan_context_t ctx, const char *key,
      const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/server.c:161,1
    - Dst: xfree
      Src: /src/gnupg/g13/server.c:165,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/g13/server.c:168,1
    - Dst: assuan_close_input_fd
      Src: /src/gnupg/g13/server.c:170,1
    - Dst: assuan_close_output_fd
      Src: /src/gnupg/g13/server.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: reset_notify
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 4
    functionsReached:
    - assuan_close_input_fd
    - FREE_STRLIST
    - assuan_close_output_fd
    - xfree
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t reset_notify (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/server.c:188,1
    - Dst: xfree
      Src: /src/gnupg/g13/server.c:194,1
    - Dst: skip_options
      Src: /src/gnupg/g13/server.c:198,1
    - Dst: spacep
      Src: /src/gnupg/g13/server.c:199,1
    - Dst: spacep
      Src: /src/gnupg/g13/server.c:202,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/server.c:206,1
    - Dst: percent_plus_unescape_inplace
      Src: /src/gnupg/g13/server.c:212,1
    - Dst: memchr
      Src: /src/gnupg/g13/server.c:214,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/server.c:216,1
    - Dst: g13_is_container
      Src: /src/gnupg/g13/server.c:221,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g13/server.c:226,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/server.c:228,1
    - Dst: leave_cmd
      Src: /src/gnupg/g13/server.c:232,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 233
    functionName: cmd_open
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - gpg_error_from_syserror
    - spacep
    - xtrystrdup
    - gpg_error
    - skip_options
    - xfree
    - g13_is_container
    - percent_plus_unescape_inplace
    - assuan_get_pointer
    - memchr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_open (assuan_context_t ctx, char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/server.c:245,1
    - Dst: skip_options
      Src: /src/gnupg/g13/server.c:250,1
    - Dst: spacep
      Src: /src/gnupg/g13/server.c:251,1
    - Dst: spacep
      Src: /src/gnupg/g13/server.c:254,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/server.c:258,1
    - Dst: percent_plus_unescape_inplace
      Src: /src/gnupg/g13/server.c:264,1
    - Dst: memchr
      Src: /src/gnupg/g13/server.c:266,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/server.c:268,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/server.c:274,1
    - Dst: g13_mount_container
      Src: /src/gnupg/g13/server.c:279,1
    - Dst: leave_cmd
      Src: /src/gnupg/g13/server.c:283,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 284
    functionName: cmd_mount
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 0
    functionsReached:
    - g13_mount_container
    - leave_cmd
    - spacep
    - gpg_error
    - skip_options
    - percent_plus_unescape_inplace
    - assuan_get_pointer
    - memchr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_mount (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/server.c:296,1
    - Dst: skip_options
      Src: /src/gnupg/g13/server.c:301,1
    - Dst: spacep
      Src: /src/gnupg/g13/server.c:302,1
    - Dst: spacep
      Src: /src/gnupg/g13/server.c:305,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/server.c:309,1
    - Dst: percent_plus_unescape_inplace
      Src: /src/gnupg/g13/server.c:315,1
    - Dst: memchr
      Src: /src/gnupg/g13/server.c:317,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/server.c:319,1
    - Dst: g13_umount_container
      Src: /src/gnupg/g13/server.c:324,1
    - Dst: leave_cmd
      Src: /src/gnupg/g13/server.c:328,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 329
    functionName: cmd_umount
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - g13_umount_container
    - spacep
    - gpg_error
    - skip_options
    - percent_plus_unescape_inplace
    - assuan_get_pointer
    - memchr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_umount (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/server.c:339,1
    - Dst: skip_options
      Src: /src/gnupg/g13/server.c:342,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/server.c:345,1
    - Dst: g13_suspend_container
      Src: /src/gnupg/g13/server.c:350,1
    - Dst: leave_cmd
      Src: /src/gnupg/g13/server.c:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 354
    functionName: cmd_suspend
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - gpg_error
    - skip_options
    - g13_suspend_container
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_suspend (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/server.c:364,1
    - Dst: skip_options
      Src: /src/gnupg/g13/server.c:367,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/server.c:370,1
    - Dst: g13_resume_container
      Src: /src/gnupg/g13/server.c:375,1
    - Dst: leave_cmd
      Src: /src/gnupg/g13/server.c:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 379
    functionName: cmd_resume
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - gpg_error
    - skip_options
    - assuan_get_pointer
    - g13_resume_container
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_resume (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/server.c:391,1
    - Dst: skip_options
      Src: /src/gnupg/g13/server.c:394,1
    - Dst: add_to_strlist_try
      Src: /src/gnupg/g13/server.c:396,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/server.c:397,1
    - Dst: leave_cmd
      Src: /src/gnupg/g13/server.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 400
    functionName: cmd_recipient
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - gpg_error_from_syserror
    - skip_options
    - add_to_strlist_try
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_recipient (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/server.c:410,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/server.c:416,1
    - Dst: leave_cmd
      Src: /src/gnupg/g13/server.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 418
    functionName: cmd_signer
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - leave_cmd
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_signer (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/g13/server.c:429,1
    - Dst: xfree
      Src: /src/gnupg/g13/server.c:435,1
    - Dst: skip_options
      Src: /src/gnupg/g13/server.c:439,1
    - Dst: spacep
      Src: /src/gnupg/g13/server.c:440,1
    - Dst: spacep
      Src: /src/gnupg/g13/server.c:443,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/server.c:447,1
    - Dst: percent_plus_unescape_inplace
      Src: /src/gnupg/g13/server.c:453,1
    - Dst: memchr
      Src: /src/gnupg/g13/server.c:455,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/server.c:457,1
    - Dst: g13_create_container
      Src: /src/gnupg/g13/server.c:462,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/g13/server.c:466,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g13/server.c:469,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/server.c:471,1
    - Dst: leave_cmd
      Src: /src/gnupg/g13/server.c:475,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 476
    functionName: cmd_create
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 0
    functionsReached:
    - FREE_STRLIST
    - leave_cmd
    - gpg_error_from_syserror
    - spacep
    - xtrystrdup
    - gpg_error
    - skip_options
    - xfree
    - g13_create_container
    - percent_plus_unescape_inplace
    - assuan_get_pointer
    - memchr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_create (assuan_context_t ctx, char *line)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/g13/server.c:494,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g13/server.c:497,1
    - Dst: strlen
      Src: /src/gnupg/g13/server.c:497,1
    - Dst: strcmp
      Src: /src/gnupg/g13/server.c:499,1
    - Dst: snprintf
      Src: /src/gnupg/g13/server.c:503,1
    - Dst: getpid
      Src: /src/gnupg/g13/server.c:503,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g13/server.c:504,1
    - Dst: strlen
      Src: /src/gnupg/g13/server.c:504,1
    - Dst: strncmp
      Src: /src/gnupg/g13/server.c:506,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/server.c:514,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/server.c:521,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/server.c:528,1
    - Dst: command_has_option
      Src: /src/gnupg/g13/server.c:532,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/server.c:533,1
    - Dst: set_error
      Src: /src/gnupg/g13/server.c:539,1
    - Dst: leave_cmd
      Src: /src/gnupg/g13/server.c:541,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 542
    functionName: cmd_getinfo
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - leave_cmd
    - strlen
    - command_has_option
    - snprintf
    - set_error
    - strcmp
    - gpg_error
    - getpid
    - strncmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_getinfo (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cmd
    - cmdopt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 554
    functionName: command_has_option
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int command_has_option (const char *cmd, const char *cmdopt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_register_command
      Src: /src/gnupg/g13/server.c:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 590
    functionName: register_commands
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 4
    functionsReached:
    - assuan_register_command
    linkageType: ''
    returnType: int
    signature: int register_commands (assuan_context_t ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assuan_fdopen
      Src: /src/gnupg/g13/server.c:608,1
    - Dst: assuan_fdopen
      Src: /src/gnupg/g13/server.c:609,1
    - Dst: assuan_new
      Src: /src/gnupg/g13/server.c:610,1
    - Dst: log_error
      Src: /src/gnupg/g13/server.c:613,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/server.c:614,1
    - Dst: assuan_init_pipe_server
      Src: /src/gnupg/g13/server.c:618,1
    - Dst: log_error
      Src: /src/gnupg/g13/server.c:621,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/server.c:621,1
    - Dst: register_commands
      Src: /src/gnupg/g13/server.c:625,1
    - Dst: log_error
      Src: /src/gnupg/g13/server.c:628,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/server.c:629,1
    - Dst: assuan_set_pointer
      Src: /src/gnupg/g13/server.c:633,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g13/server.c:639,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g13/server.c:642,1
    - Dst: assuan_set_hello_line
      Src: /src/gnupg/g13/server.c:647,1
    - Dst: xfree
      Src: /src/gnupg/g13/server.c:648,1
    - Dst: assuan_set_hello_line
      Src: /src/gnupg/g13/server.c:652,1
    - Dst: assuan_register_reset_notify
      Src: /src/gnupg/g13/server.c:654,1
    - Dst: assuan_register_option_handler
      Src: /src/gnupg/g13/server.c:655,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g13/server.c:657,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/server.c:660,1
    - Dst: assuan_accept
      Src: /src/gnupg/g13/server.c:665,1
    - Dst: assuan_process
      Src: /src/gnupg/g13/server.c:667,1
    - Dst: log_info
      Src: /src/gnupg/g13/server.c:669,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/server.c:669,1
    - Dst: log_info
      Src: /src/gnupg/g13/server.c:674,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/server.c:674,1
    - Dst: reset_notify
      Src: /src/gnupg/g13/server.c:677,1
    - Dst: xfree
      Src: /src/gnupg/g13/server.c:680,1
    - Dst: assuan_release
      Src: /src/gnupg/g13/server.c:684,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 596
    functionDepth: 5
    functionLinenumber: 596
    functionLinenumberEnd: 686
    functionName: g13_server
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 1
    functionsReached:
    - gnupg_homedir
    - xtryasprintf
    - register_commands
    - log_error
    - assuan_set_hello_line
    - log_info
    - assuan_fdopen
    - assuan_new
    - gpg_error_from_syserror
    - assuan_register_reset_notify
    - gpg_strerror
    - xfree
    - assuan_register_option_handler
    - xtrycalloc
    - assuan_process
    - assuan_init_pipe_server
    - assuan_release
    - assuan_accept
    - reset_notify
    - assuan_set_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t g13_server (ctrl_t ctrl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/g13/server.c:698,1
    - Dst: fdopen
      Src: /src/gnupg/g13/server.c:711,1
    - Dst: log_fatal
      Src: /src/gnupg/g13/server.c:715,1
    - Dst: strerror
      Src: /src/gnupg/g13/server.c:716,1
    - Dst: fputs
      Src: /src/gnupg/g13/server.c:720,1
    - Dst: fputs
      Src: /src/gnupg/g13/server.c:721,1
    - Dst: get_status_string
      Src: /src/gnupg/g13/server.c:721,1
    - Dst: va_arg
      Src: /src/gnupg/g13/server.c:723,1
    - Dst: putc
      Src: /src/gnupg/g13/server.c:725,1
    - Dst: fputs
      Src: /src/gnupg/g13/server.c:729,1
    - Dst: fputs
      Src: /src/gnupg/g13/server.c:731,1
    - Dst: putc
      Src: /src/gnupg/g13/server.c:733,1
    - Dst: putc
      Src: /src/gnupg/g13/server.c:736,1
    - Dst: fflush
      Src: /src/gnupg/g13/server.c:737,1
    - Dst: vprint_assuan_status_strings
      Src: /src/gnupg/g13/server.c:741,1
    - Dst: get_status_string
      Src: /src/gnupg/g13/server.c:742,1
    - Dst: va_end
      Src: /src/gnupg/g13/server.c:745,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - ctrl
    - 'no'
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 747
    functionName: g13_status
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 2
    functionsReached:
    - va_end
    - fdopen
    - vprint_assuan_status_strings
    - log_fatal
    - fflush
    - get_status_string
    - va_arg
    - fputs
    - va_start
    - strerror
    - putc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t g13_status (ctrl_t ctrl, int no, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_inquire
      Src: /src/gnupg/g13/server.c:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - line
    argTypes:
    - ctrl_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 758
    functionName: g13_proxy_pinentry_notify
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 0
    functionsReached:
    - assuan_inquire
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t g13_proxy_pinentry_notify (ctrl_t ctrl, const unsigned
      char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_decrypt_blob
      Src: /src/gnupg/g13/server.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ctrl
    - enckeyblob
    - enckeybloblen
    - r_keyblob
    - r_keybloblen
    argTypes:
    - ctrl_t
    - void*
    - size_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 771
    functionDepth: 6
    functionLinenumber: 771
    functionLinenumberEnd: 783
    functionName: g13_keyblob_decrypt
    functionSourceFile: /src/gnupg/g13/server.c
    functionUses: 0
    functionsReached:
    - gpg_decrypt_blob
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t g13_keyblob_decrypt (ctrl_t ctrl, const void *enckeyblob,
      size_t enckeybloblen,\n                     void **r_keyblob, size_t *r_keybloblen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: unref_tupledesc
    functionSourceFile: /src/gnupg/g13/g13tuple.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unref_tupledesc(a)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g13/call-syshelp.c:88,1
    - Dst: xtrycalloc
      Src: /src/gnupg/g13/call-syshelp.c:92,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/call-syshelp.c:94,1
    - Dst: es_fflush
      Src: /src/gnupg/g13/call-syshelp.c:97,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/call-syshelp.c:99,1
    - Dst: log_error
      Src: /src/gnupg/g13/call-syshelp.c:100,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/call-syshelp.c:100,1
    - Dst: assuan_fd_from_posix_fd
      Src: /src/gnupg/g13/call-syshelp.c:104,1
    - Dst: es_fileno
      Src: /src/gnupg/g13/call-syshelp.c:104,1
    - Dst: assuan_new
      Src: /src/gnupg/g13/call-syshelp.c:107,1
    - Dst: log_error
      Src: /src/gnupg/g13/call-syshelp.c:110,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/call-syshelp.c:110,1
    - Dst: assuan_pipe_connect
      Src: /src/gnupg/g13/call-syshelp.c:135,1
    - Dst: log_error
      Src: /src/gnupg/g13/call-syshelp.c:140,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/call-syshelp.c:141,1
    - Dst: gpg_strsource
      Src: /src/gnupg/g13/call-syshelp.c:141,1
    - Dst: log_info
      Src: /src/gnupg/g13/call-syshelp.c:142,1
    - Dst: assuan_release
      Src: /src/gnupg/g13/call-syshelp.c:143,1
    - Dst: log_debug
      Src: /src/gnupg/g13/call-syshelp.c:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - ctrl
    - r_ctx
    argTypes:
    - ctrl_t
    - assuan_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 153
    functionName: start_syshelp
    functionSourceFile: /src/gnupg/g13/call-syshelp.c
    functionUses: 0
    functionsReached:
    - assuan_new
    - log_error
    - gpg_error_from_syserror
    - assuan_fd_from_posix_fd
    - assuan_release
    - es_fileno
    - log_info
    - gpg_strerror
    - assuan_pipe_connect
    - xtrycalloc
    - gpg_strsource
    - es_fflush
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t start_syshelp (ctrl_t ctrl, assuan_context_t *r_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_release
      Src: /src/gnupg/g13/call-syshelp.c:164,1
    - Dst: xfree
      Src: /src/gnupg/g13/call-syshelp.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: call_syshelp_release
    functionSourceFile: /src/gnupg/g13/call-syshelp.c
    functionUses: 1
    functionsReached:
    - assuan_release
    - xfree
    linkageType: ''
    returnType: void
    signature: void call_syshelp_release (ctrl_t ctrl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g13/call-syshelp.c:180,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g13/call-syshelp.c:182,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/call-syshelp.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: finddevice_status_cb
    functionSourceFile: /src/gnupg/g13/call-syshelp.c
    functionUses: 0
    functionsReached:
    - xtrystrdup
    - gpg_error_from_syserror
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t finddevice_status_cb (void *opaque, const char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: start_syshelp
      Src: /src/gnupg/g13/call-syshelp.c:203,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g13/call-syshelp.c:207,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/call-syshelp.c:210,1
    - Dst: assuan_transact
      Src: /src/gnupg/g13/call-syshelp.c:213,1
    - Dst: log_error
      Src: /src/gnupg/g13/call-syshelp.c:219,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/call-syshelp.c:220,1
    - Dst: xfree
      Src: /src/gnupg/g13/call-syshelp.c:227,1
    - Dst: xfree
      Src: /src/gnupg/g13/call-syshelp.c:228,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - ctrl
    - name
    - r_blockdev
    argTypes:
    - ctrl_t
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 230
    functionName: call_syshelp_find_device
    functionSourceFile: /src/gnupg/g13/call-syshelp.c
    functionUses: 1
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - start_syshelp
    - assuan_transact
    - gpg_error
    - xtryasprintf
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t call_syshelp_find_device (ctrl_t ctrl, const char *name,
      char **r_blockdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/gnupg/g13/call-syshelp.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - data
    - datalen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: getkeyblob_data_cb
    functionSourceFile: /src/gnupg/g13/call-syshelp.c
    functionUses: 0
    functionsReached:
    - put_membuf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t getkeyblob_data_cb (void *opaque, const void *data, size_t
      datalen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init_membuf
      Src: /src/gnupg/g13/call-syshelp.c:258,1
    - Dst: start_syshelp
      Src: /src/gnupg/g13/call-syshelp.c:260,1
    - Dst: assuan_transact
      Src: /src/gnupg/g13/call-syshelp.c:264,1
    - Dst: get_membuf
      Src: /src/gnupg/g13/call-syshelp.c:269,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/call-syshelp.c:271,1
    - Dst: xfree
      Src: /src/gnupg/g13/call-syshelp.c:274,1
    - Dst: get_membuf
      Src: /src/gnupg/g13/call-syshelp.c:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ctrl
    - r_enckeyblob
    - r_enckeybloblen
    argTypes:
    - ctrl_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 276
    functionName: call_syshelp_get_keyblob
    functionSourceFile: /src/gnupg/g13/call-syshelp.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - gpg_error_from_syserror
    - start_syshelp
    - assuan_transact
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t call_syshelp_get_keyblob (ctrl_t ctrl,\n                          void
      **r_enckeyblob, size_t *r_enckeybloblen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_syshelp
      Src: /src/gnupg/g13/call-syshelp.c:289,1
    - Dst: xtryasprintf
      Src: /src/gnupg/g13/call-syshelp.c:293,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/call-syshelp.c:296,1
    - Dst: assuan_transact
      Src: /src/gnupg/g13/call-syshelp.c:299,1
    - Dst: xfree
      Src: /src/gnupg/g13/call-syshelp.c:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ctrl
    - fname
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 304
    functionName: call_syshelp_set_device
    functionSourceFile: /src/gnupg/g13/call-syshelp.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_syserror
    - start_syshelp
    - assuan_transact
    - xtryasprintf
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t call_syshelp_set_device (ctrl_t ctrl, const char *fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g13/call-syshelp.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 317
    functionName: create_status_cb
    functionSourceFile: /src/gnupg/g13/call-syshelp.c
    functionUses: 0
    functionsReached:
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t create_status_cb (void *opaque, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g13/call-syshelp.c:328,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/call-syshelp.c:329,1
    - Dst: put_membuf
      Src: /src/gnupg/g13/call-syshelp.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - opaque
    - data
    - datalen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 342
    functionName: create_data_cb
    functionSourceFile: /src/gnupg/g13/call-syshelp.c
    functionUses: 0
    functionsReached:
    - put_membuf
    - gpg_error
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t create_data_cb (void *opaque, const void *data, size_t
      datalen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g13/call-syshelp.c:351,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/call-syshelp.c:357,1
    - Dst: get_membuf
      Src: /src/gnupg/g13/call-syshelp.c:358,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/call-syshelp.c:359,1
    - Dst: log_printhex
      Src: /src/gnupg/g13/call-syshelp.c:365,1
    - Dst: g13_encrypt_keyblob
      Src: /src/gnupg/g13/call-syshelp.c:366,1
    - Dst: wipememory
      Src: /src/gnupg/g13/call-syshelp.c:369,1
    - Dst: xfree
      Src: /src/gnupg/g13/call-syshelp.c:370,1
    - Dst: log_error
      Src: /src/gnupg/g13/call-syshelp.c:372,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/call-syshelp.c:372,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g13/call-syshelp.c:375,1
    - Dst: xfree
      Src: /src/gnupg/g13/call-syshelp.c:376,1
    - Dst: log_error
      Src: /src/gnupg/g13/call-syshelp.c:378,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/call-syshelp.c:379,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/call-syshelp.c:384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 387
    functionName: create_inq_cb
    functionSourceFile: /src/gnupg/g13/call-syshelp.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - g13_encrypt_keyblob
    - log_printhex
    - assuan_send_data
    - gpg_error_from_syserror
    - log_error
    - wipememory
    - gpg_error
    - xfree
    - gpg_strerror
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t create_inq_cb (void *opaque, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g13/call-syshelp.c:399,1
    - Dst: start_syshelp
      Src: /src/gnupg/g13/call-syshelp.c:401,1
    - Dst: init_membuf
      Src: /src/gnupg/g13/call-syshelp.c:410,1
    - Dst: assuan_transact
      Src: /src/gnupg/g13/call-syshelp.c:413,1
    - Dst: log_error
      Src: /src/gnupg/g13/call-syshelp.c:420,1
    - Dst: xfree
      Src: /src/gnupg/g13/call-syshelp.c:426,1
    - Dst: get_membuf
      Src: /src/gnupg/g13/call-syshelp.c:426,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - ctrl
    - conttype
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 428
    functionName: call_syshelp_run_create
    functionSourceFile: /src/gnupg/g13/call-syshelp.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - init_membuf
    - log_error
    - start_syshelp
    - assuan_transact
    - memset
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t call_syshelp_run_create (ctrl_t ctrl, int conttype)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g13/call-syshelp.c:440,1
    - Dst: log_info
      Src: /src/gnupg/g13/call-syshelp.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 447
    functionName: mount_status_cb
    functionSourceFile: /src/gnupg/g13/call-syshelp.c
    functionUses: 0
    functionsReached:
    - log_info
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t mount_status_cb (void *opaque, const char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/g13/call-syshelp.c:457,1
    - Dst: assuan_get_flag
      Src: /src/gnupg/g13/call-syshelp.c:459,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/g13/call-syshelp.c:462,1
    - Dst: assuan_send_data
      Src: /src/gnupg/g13/call-syshelp.c:463,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/g13/call-syshelp.c:465,1
    - Dst: log_error
      Src: /src/gnupg/g13/call-syshelp.c:467,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/call-syshelp.c:468,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/call-syshelp.c:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 474
    functionName: mount_inq_cb
    functionSourceFile: /src/gnupg/g13/call-syshelp.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - log_error
    - assuan_end_confidential
    - assuan_begin_confidential
    - gpg_error
    - assuan_get_flag
    - gpg_strerror
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t mount_inq_cb (void *opaque, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g13/call-syshelp.c:490,1
    - Dst: start_syshelp
      Src: /src/gnupg/g13/call-syshelp.c:492,1
    - Dst: ref_tupledesc
      Src: /src/gnupg/g13/call-syshelp.c:503,1
    - Dst: get_tupledesc_data
      Src: /src/gnupg/g13/call-syshelp.c:504,1
    - Dst: assuan_transact
      Src: /src/gnupg/g13/call-syshelp.c:505,1
    - Dst: unref_tupledesc
      Src: /src/gnupg/g13/call-syshelp.c:512,1
    - Dst: log_error
      Src: /src/gnupg/g13/call-syshelp.c:517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - ctrl
    - conttype
    - mountpoint
    - tuples
    argTypes:
    - ctrl_t
    - int
    - char*
    - tupledesc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 524
    functionName: call_syshelp_run_mount
    functionSourceFile: /src/gnupg/g13/call-syshelp.c
    functionUses: 0
    functionsReached:
    - log_error
    - start_syshelp
    - ref_tupledesc
    - assuan_transact
    - unref_tupledesc
    - memset
    - get_tupledesc_data
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t call_syshelp_run_mount (ctrl_t ctrl, int conttype, const
      char *mountpoint,\n                        tupledesc_t tuples)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_syshelp
      Src: /src/gnupg/g13/call-syshelp.c:538,1
    - Dst: assuan_transact
      Src: /src/gnupg/g13/call-syshelp.c:544,1
    - Dst: log_error
      Src: /src/gnupg/g13/call-syshelp.c:551,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ctrl
    - conttype
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 558
    functionName: call_syshelp_run_umount
    functionSourceFile: /src/gnupg/g13/call-syshelp.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - start_syshelp
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t call_syshelp_run_umount (ctrl_t ctrl, int conttype)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_syshelp
      Src: /src/gnupg/g13/call-syshelp.c:572,1
    - Dst: assuan_transact
      Src: /src/gnupg/g13/call-syshelp.c:578,1
    - Dst: log_error
      Src: /src/gnupg/g13/call-syshelp.c:585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ctrl
    - conttype
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 592
    functionName: call_syshelp_run_suspend
    functionSourceFile: /src/gnupg/g13/call-syshelp.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - start_syshelp
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t call_syshelp_run_suspend (ctrl_t ctrl, int conttype)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/g13/call-syshelp.c:605,1
    - Dst: start_syshelp
      Src: /src/gnupg/g13/call-syshelp.c:607,1
    - Dst: ref_tupledesc
      Src: /src/gnupg/g13/call-syshelp.c:618,1
    - Dst: get_tupledesc_data
      Src: /src/gnupg/g13/call-syshelp.c:619,1
    - Dst: assuan_transact
      Src: /src/gnupg/g13/call-syshelp.c:620,1
    - Dst: unref_tupledesc
      Src: /src/gnupg/g13/call-syshelp.c:624,1
    - Dst: log_error
      Src: /src/gnupg/g13/call-syshelp.c:628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ctrl
    - conttype
    - tuples
    argTypes:
    - ctrl_t
    - int
    - tupledesc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 635
    functionName: call_syshelp_run_resume
    functionSourceFile: /src/gnupg/g13/call-syshelp.c
    functionUses: 0
    functionsReached:
    - log_error
    - start_syshelp
    - ref_tupledesc
    - assuan_transact
    - unref_tupledesc
    - memset
    - get_tupledesc_data
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t call_syshelp_run_resume (ctrl_t ctrl, int conttype, tupledesc_t
      tuples)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: call_syshelp_find_device
      Src: /src/gnupg/g13/mount.c:64,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g13/mount.c:70,1
    - Dst: log_error
      Src: /src/gnupg/g13/mount.c:72,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/mount.c:73,1
    - Dst: gpg_strsource
      Src: /src/gnupg/g13/mount.c:73,1
    - Dst: gnupg_access
      Src: /src/gnupg/g13/mount.c:79,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/mount.c:80,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g13/mount.c:85,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/mount.c:87,1
    - Dst: gnupg_mkdtemp
      Src: /src/gnupg/g13/mount.c:88,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/mount.c:90,1
    - Dst: log_error
      Src: /src/gnupg/g13/mount.c:91,1
    - Dst: _
      Src: /src/gnupg/g13/mount.c:91,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/mount.c:92,1
    - Dst: xfree
      Src: /src/gnupg/g13/mount.c:93,1
    - Dst: dotlock_create
      Src: /src/gnupg/g13/mount.c:105,1
    - Dst: xfree
      Src: /src/gnupg/g13/mount.c:108,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/mount.c:109,1
    - Dst: dotlock_take
      Src: /src/gnupg/g13/mount.c:112,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/mount.c:114,1
    - Dst: gnupg_stat
      Src: /src/gnupg/g13/mount.c:124,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/mount.c:126,1
    - Dst: call_syshelp_set_device
      Src: /src/gnupg/g13/mount.c:134,1
    - Dst: call_syshelp_get_keyblob
      Src: /src/gnupg/g13/mount.c:137,1
    - Dst: g13_keyblob_read
      Src: /src/gnupg/g13/mount.c:140,1
    - Dst: g13_keyblob_decrypt
      Src: /src/gnupg/g13/mount.c:145,1
    - Dst: xfree
      Src: /src/gnupg/g13/mount.c:149,1
    - Dst: create_tupledesc
      Src: /src/gnupg/g13/mount.c:152,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g13/mount.c:157,1
    - Dst: log_error
      Src: /src/gnupg/g13/mount.c:158,1
    - Dst: dump_tupledesc
      Src: /src/gnupg/g13/mount.c:162,1
    - Dst: find_tuple
      Src: /src/gnupg/g13/mount.c:164,1
    - Dst: be_is_supported_conttype
      Src: /src/gnupg/g13/mount.c:169,1
    - Dst: log_error
      Src: /src/gnupg/g13/mount.c:171,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/mount.c:172,1
    - Dst: be_mount_container
      Src: /src/gnupg/g13/mount.c:175,1
    - Dst: g13_request_shutdown
      Src: /src/gnupg/g13/mount.c:179,1
    - Dst: mountinfo_add_mount
      Src: /src/gnupg/g13/mount.c:185,1
    - Dst: percent_plus_escape
      Src: /src/gnupg/g13/mount.c:191,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/mount.c:193,1
    - Dst: g13_status
      Src: /src/gnupg/g13/mount.c:196,1
    - Dst: xfree
      Src: /src/gnupg/g13/mount.c:197,1
    - Dst: destroy_tupledesc
      Src: /src/gnupg/g13/mount.c:203,1
    - Dst: xfree
      Src: /src/gnupg/g13/mount.c:204,1
    - Dst: xfree
      Src: /src/gnupg/g13/mount.c:205,1
    - Dst: dotlock_destroy
      Src: /src/gnupg/g13/mount.c:206,1
    - Dst: xfree
      Src: /src/gnupg/g13/mount.c:207,1
    - Dst: xfree
      Src: /src/gnupg/g13/mount.c:208,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 106
    argCount: 3
    argNames:
    - ctrl
    - filename
    - mountpoint
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 45
    functionDepth: 7
    functionLinenumber: 45
    functionLinenumberEnd: 210
    functionName: g13_mount_container
    functionSourceFile: /src/gnupg/g13/mount.c
    functionUses: 2
    functionsReached:
    - call_syshelp_find_device
    - percent_plus_escape
    - dotlock_create
    - dotlock_take
    - g13_status
    - gnupg_stat
    - create_tupledesc
    - g13_keyblob_decrypt
    - log_error
    - gnupg_access
    - _
    - g13_request_shutdown
    - destroy_tupledesc
    - find_tuple
    - call_syshelp_get_keyblob
    - be_mount_container
    - gnupg_mkdtemp
    - gpg_error_from_syserror
    - dump_tupledesc
    - xtrystrdup
    - gpg_error
    - gpg_strerror
    - xfree
    - dotlock_destroy
    - gpg_strsource
    - mountinfo_add_mount
    - call_syshelp_set_device
    - g13_keyblob_read
    - be_is_supported_conttype
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t g13_mount_container (ctrl_t ctrl, const char *filename,
      const char *mountpoint)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g13/mount.c:222,1
    - Dst: call_syshelp_find_device
      Src: /src/gnupg/g13/mount.c:225,1
    - Dst: be_umount_container
      Src: /src/gnupg/g13/mount.c:230,1
    - Dst: g13_request_shutdown
      Src: /src/gnupg/g13/mount.c:234,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g13/mount.c:237,1
    - Dst: log_error
      Src: /src/gnupg/g13/mount.c:239,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/mount.c:240,1
    - Dst: gpg_strsource
      Src: /src/gnupg/g13/mount.c:240,1
    - Dst: mountinfo_find_mount
      Src: /src/gnupg/g13/mount.c:248,1
    - Dst: runner_find_by_rid
      Src: /src/gnupg/g13/mount.c:252,1
    - Dst: log_error
      Src: /src/gnupg/g13/mount.c:255,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/mount.c:256,1
    - Dst: runner_cancel
      Src: /src/gnupg/g13/mount.c:259,1
    - Dst: runner_release
      Src: /src/gnupg/g13/mount.c:260,1
    - Dst: xfree
      Src: /src/gnupg/g13/mount.c:263,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - ctrl
    - filename
    - mountpoint
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 265
    functionName: g13_umount_container
    functionSourceFile: /src/gnupg/g13/mount.c
    functionUses: 2
    functionsReached:
    - call_syshelp_find_device
    - log_error
    - runner_release
    - g13_request_shutdown
    - be_umount_container
    - gpg_error
    - mountinfo_find_mount
    - gpg_err_code
    - gpg_strerror
    - xfree
    - runner_cancel
    - gpg_strsource
    - runner_find_by_rid
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t g13_umount_container (ctrl_t ctrl, const char *filename,
      const char *mountpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13-common.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: emergency_cleanup
    functionSourceFile: /src/gnupg/g13/g13-common.c
    functionUses: 3
    functionsReached:
    - gcry_control
    linkageType: ''
    returnType: void
    signature: void emergency_cleanup (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_init_signals
      Src: /src/gnupg/g13/g13-common.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: g13_init_signals
    functionSourceFile: /src/gnupg/g13/g13-common.c
    functionUses: 1
    functionsReached:
    - gnupg_init_signals
    linkageType: ''
    returnType: void
    signature: void g13_init_signals (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/gnupg/g13/g13-common.c:63,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13-common.c:65,1
    - Dst: g13_exit
      Src: /src/gnupg/g13/g13-common.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: g13_install_emergency_cleanup
    functionSourceFile: /src/gnupg/g13/g13-common.c
    functionUses: 1
    functionsReached:
    - atexit
    - g13_exit
    - log_error
    linkageType: ''
    returnType: void
    signature: void g13_install_emergency_cleanup (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13-common.c:75,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13-common.c:78,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13-common.c:79,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13-common.c:82,1
    - Dst: emergency_cleanup
      Src: /src/gnupg/g13/g13-common.c:83,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/g13/g13-common.c:84,1
    - Dst: exit
      Src: /src/gnupg/g13/g13-common.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: g13_exit
    functionSourceFile: /src/gnupg/g13/g13-common.c
    functionUses: 6
    functionsReached:
    - log_get_errorcount
    - exit
    - gcry_control
    - emergency_cleanup
    linkageType: ''
    returnType: void
    signature: void g13_exit (int rc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/g13/mountinfo.c:75,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/mountinfo.c:77,1
    - Dst: xfree
      Src: /src/gnupg/g13/mountinfo.c:82,1
    - Dst: assert
      Src: /src/gnupg/g13/mountinfo.c:86,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g13/mountinfo.c:91,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/mountinfo.c:93,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g13/mountinfo.c:94,1
    - Dst: xfree
      Src: /src/gnupg/g13/mountinfo.c:97,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/mountinfo.c:99,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 5
    argNames:
    - container
    - mountpoint
    - conttype
    - rid
    - remove_flag
    argTypes:
    - char*
    - char*
    - int
    - unsigned int
    - int
    assertStmts:
    - condition: (!m->in_use)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/gnupg/g13/mountinfo.c
    constantsTouched: []
    func_position:
      end: 107
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 107
    functionName: mountinfo_add_mount
    functionSourceFile: /src/gnupg/g13/mountinfo.c
    functionUses: 1
    functionsReached:
    - assert
    - gpg_error_from_syserror
    - xtrystrdup
    - xfree
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t mountinfo_add_mount (const char *container, const char
      *mountpoint,\n                     int conttype, unsigned int rid, int remove_flag)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mountinfo_find_mount
      Src: /src/gnupg/g13/mountinfo.c:124,1
    - Dst: rmdir
      Src: /src/gnupg/g13/mountinfo.c:138,1
    - Dst: log_error
      Src: /src/gnupg/g13/mountinfo.c:139,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/mountinfo.c:141,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/mountinfo.c:141,1
    - Dst: xfree
      Src: /src/gnupg/g13/mountinfo.c:144,1
    - Dst: xfree
      Src: /src/gnupg/g13/mountinfo.c:146,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/mountinfo.c:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - container
    - mountpoint
    - rid
    argTypes:
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 151
    functionName: mountinfo_del_mount
    functionSourceFile: /src/gnupg/g13/mountinfo.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_syserror
    - log_error
    - gpg_error
    - mountinfo_find_mount
    - gpg_strerror
    - rmdir
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t mountinfo_del_mount (const char *container, const char
      *mountpoint,\n                     unsigned int rid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/g13/mountinfo.c:167,1
    - Dst: strcmp
      Src: /src/gnupg/g13/mountinfo.c:173,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/mountinfo.c:179,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - container
    - mountpoint
    - r_rid
    argTypes:
    - char*
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 183
    functionName: mountinfo_find_mount
    functionSourceFile: /src/gnupg/g13/mountinfo.c
    functionUses: 2
    functionsReached:
    - strcmp
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t mountinfo_find_mount (const char *container, const char
      *mountpoint,\n                      unsigned int *r_rid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/g13/mountinfo.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 198
    functionName: mountinfo_dump_all
    functionSourceFile: /src/gnupg/g13/mountinfo.c
    functionUses: 1
    functionsReached:
    - log_info
    linkageType: ''
    returnType: void
    signature: void mountinfo_dump_all (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: call_syshelp_run_create
      Src: /src/gnupg/g13/be-dmcrypt.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: be_dmcrypt_create_container
    functionSourceFile: /src/gnupg/g13/be-dmcrypt.c
    functionUses: 1
    functionsReached:
    - call_syshelp_run_create
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_dmcrypt_create_container (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: call_syshelp_set_device
      Src: /src/gnupg/g13/be-dmcrypt.c:56,1
    - Dst: call_syshelp_run_mount
      Src: /src/gnupg/g13/be-dmcrypt.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ctrl
    - fname
    - mountpoint
    - tuples
    argTypes:
    - ctrl_t
    - char*
    - char*
    - tupledesc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: be_dmcrypt_mount_container
    functionSourceFile: /src/gnupg/g13/be-dmcrypt.c
    functionUses: 1
    functionsReached:
    - call_syshelp_set_device
    - call_syshelp_run_mount
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_dmcrypt_mount_container (ctrl_t ctrl,\n                            const
      char *fname, const char *mountpoint,\n                            tupledesc_t
      tuples)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: call_syshelp_set_device
      Src: /src/gnupg/g13/be-dmcrypt.c:73,1
    - Dst: call_syshelp_run_umount
      Src: /src/gnupg/g13/be-dmcrypt.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctrl
    - fname
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: be_dmcrypt_umount_container
    functionSourceFile: /src/gnupg/g13/be-dmcrypt.c
    functionUses: 1
    functionsReached:
    - call_syshelp_set_device
    - call_syshelp_run_umount
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_dmcrypt_umount_container (ctrl_t ctrl, const char *fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: call_syshelp_set_device
      Src: /src/gnupg/g13/be-dmcrypt.c:90,1
    - Dst: call_syshelp_run_suspend
      Src: /src/gnupg/g13/be-dmcrypt.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctrl
    - fname
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: be_dmcrypt_suspend_container
    functionSourceFile: /src/gnupg/g13/be-dmcrypt.c
    functionUses: 1
    functionsReached:
    - call_syshelp_set_device
    - call_syshelp_run_suspend
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_dmcrypt_suspend_container (ctrl_t ctrl, const char *fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: call_syshelp_set_device
      Src: /src/gnupg/g13/be-dmcrypt.c:108,1
    - Dst: call_syshelp_run_resume
      Src: /src/gnupg/g13/be-dmcrypt.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctrl
    - fname
    - tuples
    argTypes:
    - ctrl_t
    - char*
    - tupledesc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 116
    functionName: be_dmcrypt_resume_container
    functionSourceFile: /src/gnupg/g13/be-dmcrypt.c
    functionUses: 1
    functionsReached:
    - call_syshelp_set_device
    - call_syshelp_run_resume
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_dmcrypt_resume_container (ctrl_t ctrl, const char *fname,
      tupledesc_t tuples)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_access
      Src: /src/gnupg/g13/suspend.c:49,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/suspend.c:50,1
    - Dst: strncmp
      Src: /src/gnupg/g13/suspend.c:56,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/suspend.c:59,1
    - Dst: be_suspend_container
      Src: /src/gnupg/g13/suspend.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctrl
    - filename
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: g13_suspend_container
    functionSourceFile: /src/gnupg/g13/suspend.c
    functionUses: 2
    functionsReached:
    - gpg_error_from_syserror
    - gnupg_access
    - gpg_error
    - be_suspend_container
    - strncmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t g13_suspend_container (ctrl_t ctrl, const char *filename)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_access
      Src: /src/gnupg/g13/suspend.c:84,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/suspend.c:85,1
    - Dst: strncmp
      Src: /src/gnupg/g13/suspend.c:91,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/suspend.c:95,1
    - Dst: g13_keyblob_read
      Src: /src/gnupg/g13/suspend.c:102,1
    - Dst: g13_keyblob_decrypt
      Src: /src/gnupg/g13/suspend.c:107,1
    - Dst: xfree
      Src: /src/gnupg/g13/suspend.c:111,1
    - Dst: create_tupledesc
      Src: /src/gnupg/g13/suspend.c:114,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g13/suspend.c:119,1
    - Dst: log_error
      Src: /src/gnupg/g13/suspend.c:120,1
    - Dst: dump_tupledesc
      Src: /src/gnupg/g13/suspend.c:124,1
    - Dst: find_tuple
      Src: /src/gnupg/g13/suspend.c:126,1
    - Dst: be_is_supported_conttype
      Src: /src/gnupg/g13/suspend.c:131,1
    - Dst: log_error
      Src: /src/gnupg/g13/suspend.c:133,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/suspend.c:134,1
    - Dst: be_resume_container
      Src: /src/gnupg/g13/suspend.c:137,1
    - Dst: destroy_tupledesc
      Src: /src/gnupg/g13/suspend.c:140,1
    - Dst: xfree
      Src: /src/gnupg/g13/suspend.c:141,1
    - Dst: xfree
      Src: /src/gnupg/g13/suspend.c:142,1
    - Dst: xfree
      Src: /src/gnupg/g13/suspend.c:143,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - ctrl
    - filename
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 68
    functionDepth: 7
    functionLinenumber: 68
    functionLinenumberEnd: 145
    functionName: g13_resume_container
    functionSourceFile: /src/gnupg/g13/suspend.c
    functionUses: 2
    functionsReached:
    - g13_keyblob_decrypt
    - gpg_error_from_syserror
    - log_error
    - dump_tupledesc
    - g13_keyblob_read
    - gnupg_access
    - be_is_supported_conttype
    - gpg_error
    - destroy_tupledesc
    - xfree
    - gpg_err_code
    - create_tupledesc
    - be_resume_container
    - strncmp
    - find_tuple
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t g13_resume_container (ctrl_t ctrl, const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/g13/sh-blockdev.c:56,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/g13/sh-blockdev.c:59,1
    - Dst: strtoull
      Src: /src/gnupg/g13/sh-blockdev.c:60,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-blockdev.c:63,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-blockdev.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - name
    - r_nblocks
    argTypes:
    - char*
    - unsigned long long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 69
    functionName: sh_blockdev_getsz
    functionSourceFile: /src/gnupg/g13/sh-blockdev.c
    functionUses: 1
    functionsReached:
    - gnupg_exec_tool
    - gpg_error_from_syserror
    - strtoull
    - xfree
    - gpg_err_set_errno
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t sh_blockdev_getsz (const char *name, unsigned long long
      *r_nblocks)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/g13/sh-blockdev.c:89,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-blockdev.c:91,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-blockdev.c:95,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-blockdev.c:96,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-blockdev.c:98,1
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/g13/sh-blockdev.c:106,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-blockdev.c:108,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-blockdev.c:113,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-blockdev.c:114,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-blockdev.c:116,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g13/sh-blockdev.c:120,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-blockdev.c:122,1
    - Dst: es_fopen
      Src: /src/gnupg/g13/sh-blockdev.c:123,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-blockdev.c:126,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-blockdev.c:127,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-blockdev.c:127,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-blockdev.c:128,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-blockdev.c:129,1
    - Dst: es_read
      Src: /src/gnupg/g13/sh-blockdev.c:131,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-blockdev.c:132,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-blockdev.c:134,1
    - Dst: es_fclose
      Src: /src/gnupg/g13/sh-blockdev.c:137,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-blockdev.c:140,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-blockdev.c:141,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-blockdev.c:142,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-blockdev.c:147,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-blockdev.c:149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 152
    functionName: sh_is_empty_partition
    functionSourceFile: /src/gnupg/g13/sh-blockdev.c
    functionUses: 5
    functionsReached:
    - gnupg_exec_tool
    - gpg_error_from_syserror
    - log_error
    - es_fclose
    - gpg_error
    - es_read
    - xfree
    - es_fopen
    - gpg_strerror
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t sh_is_empty_partition (const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init_membuf_secure
      Src: /src/gnupg/g13/create.c:68,1
    - Dst: append_tuple
      Src: /src/gnupg/g13/create.c:70,1
    - Dst: append_tuple
      Src: /src/gnupg/g13/create.c:74,1
    - Dst: append_tuple
      Src: /src/gnupg/g13/create.c:76,1
    - Dst: be_create_new_keys
      Src: /src/gnupg/g13/create.c:78,1
    - Dst: append_tuple
      Src: /src/gnupg/g13/create.c:83,1
    - Dst: get_membuf
      Src: /src/gnupg/g13/create.c:85,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/create.c:88,1
    - Dst: log_debug
      Src: /src/gnupg/g13/create.c:92,1
    - Dst: xfree
      Src: /src/gnupg/g13/create.c:95,1
    - Dst: get_membuf
      Src: /src/gnupg/g13/create.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - ctrl
    - is_detached
    - r_blob
    - r_bloblen
    argTypes:
    - ctrl_t
    - int
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 97
    functionName: create_new_keyblob
    functionSourceFile: /src/gnupg/g13/create.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - gpg_error_from_syserror
    - xfree
    - append_tuple
    - init_membuf_secure
    - be_create_new_keys
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t create_new_keyblob (ctrl_t ctrl, int is_detached,\n                    void
      **r_blob, size_t *r_bloblen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_encrypt_blob
      Src: /src/gnupg/g13/create.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ctrl
    - keyblob
    - keybloblen
    - r_encblob
    - r_encbloblen
    argTypes:
    - ctrl_t
    - void*
    - size_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 6
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: g13_encrypt_keyblob
    functionSourceFile: /src/gnupg/g13/create.c
    functionUses: 1
    functionsReached:
    - gpg_encrypt_blob
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t g13_encrypt_keyblob (ctrl_t ctrl, void *keyblob, size_t
      keybloblen,\n                     void **r_encblob, size_t *r_encbloblen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/g13/create.c:135,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/create.c:138,1
    - Dst: log_error
      Src: /src/gnupg/g13/create.c:139,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/create.c:140,1
    - Dst: assert
      Src: /src/gnupg/g13/create.c:148,1
    - Dst: memcpy
      Src: /src/gnupg/g13/create.c:156,1
    - Dst: es_fwrite
      Src: /src/gnupg/g13/create.c:174,1
    - Dst: es_fwrite
      Src: /src/gnupg/g13/create.c:177,1
    - Dst: memcpy
      Src: /src/gnupg/g13/create.c:187,1
    - Dst: es_fwrite
      Src: /src/gnupg/g13/create.c:188,1
    - Dst: memset
      Src: /src/gnupg/g13/create.c:190,1
    - Dst: es_fwrite
      Src: /src/gnupg/g13/create.c:192,1
    - Dst: es_fwrite
      Src: /src/gnupg/g13/create.c:195,1
    - Dst: es_fclose
      Src: /src/gnupg/g13/create.c:198,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/create.c:200,1
    - Dst: log_error
      Src: /src/gnupg/g13/create.c:201,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/create.c:202,1
    - Dst: remove
      Src: /src/gnupg/g13/create.c:203,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/create.c:211,1
    - Dst: log_error
      Src: /src/gnupg/g13/create.c:212,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/create.c:213,1
    - Dst: es_fclose
      Src: /src/gnupg/g13/create.c:214,1
    - Dst: remove
      Src: /src/gnupg/g13/create.c:215,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 72
    argCount: 3
    argNames:
    - filename
    - keyblob
    - keybloblen
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts:
    - condition: (paddinglen >= 16)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/gnupg/g13/create.c
    constantsTouched: []
    func_position:
      end: 217
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 217
    functionName: write_keyblob
    functionSourceFile: /src/gnupg/g13/create.c
    functionUses: 0
    functionsReached:
    - log_error
    - assert
    - gpg_error_from_syserror
    - es_fclose
    - remove
    - gpg_strerror
    - es_fopen
    - es_fwrite
    - memset
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t write_keyblob (const char *filename,\n               const
      void *keyblob, size_t keybloblen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g13/create.c:239,1
    - Dst: be_take_lock_for_create
      Src: /src/gnupg/g13/create.c:241,1
    - Dst: be_get_detached_name
      Src: /src/gnupg/g13/create.c:246,1
    - Dst: gnupg_stat
      Src: /src/gnupg/g13/create.c:254,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/create.c:256,1
    - Dst: create_new_keyblob
      Src: /src/gnupg/g13/create.c:264,1
    - Dst: g13_encrypt_keyblob
      Src: /src/gnupg/g13/create.c:269,1
    - Dst: create_tupledesc
      Src: /src/gnupg/g13/create.c:275,1
    - Dst: write_keyblob
      Src: /src/gnupg/g13/create.c:283,1
    - Dst: be_create_container
      Src: /src/gnupg/g13/create.c:291,1
    - Dst: destroy_tupledesc
      Src: /src/gnupg/g13/create.c:296,1
    - Dst: xfree
      Src: /src/gnupg/g13/create.c:297,1
    - Dst: xfree
      Src: /src/gnupg/g13/create.c:298,1
    - Dst: xfree
      Src: /src/gnupg/g13/create.c:299,1
    - Dst: dotlock_destroy
      Src: /src/gnupg/g13/create.c:300,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - ctrl
    - filename
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 224
    functionDepth: 7
    functionLinenumber: 224
    functionLinenumberEnd: 303
    functionName: g13_create_container
    functionSourceFile: /src/gnupg/g13/create.c
    functionUses: 2
    functionsReached:
    - g13_encrypt_keyblob
    - be_get_detached_name
    - be_take_lock_for_create
    - create_new_keyblob
    - gpg_error
    - destroy_tupledesc
    - xfree
    - dotlock_destroy
    - write_keyblob
    - gnupg_stat
    - be_create_container
    - create_tupledesc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t g13_create_container (ctrl_t ctrl, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runner_send_line
      Src: /src/gnupg/g13/be-encfs.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - runner
    - data
    - datalen
    argTypes:
    - runner_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: send_cmd_bin
    functionSourceFile: /src/gnupg/g13/be-encfs.c
    functionUses: 0
    functionsReached:
    - runner_send_line
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t send_cmd_bin (runner_t runner, const void *data, size_t
      datalen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/g13/be-encfs.c:66,1
    - Dst: send_cmd_bin
      Src: /src/gnupg/g13/be-encfs.c:67,1
    - Dst: strlen
      Src: /src/gnupg/g13/be-encfs.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - runner
    - string
    argTypes:
    - runner_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: send_cmd
    functionSourceFile: /src/gnupg/g13/be-encfs.c
    functionUses: 0
    functionsReached:
    - send_cmd_bin
    - log_debug
    - strlen
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t send_cmd (runner_t runner, const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/g13/be-encfs.c:83,1
    - Dst: log_error
      Src: /src/gnupg/g13/be-encfs.c:87,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/be-encfs.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mountpoint
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: run_umount_helper
    functionSourceFile: /src/gnupg/g13/be-encfs.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_strerror
    - gpgrt_process_spawn
    linkageType: ''
    returnType: void
    signature: void run_umount_helper (const char *mountpoint)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnupg/g13/be-encfs.c:101,1
    - Dst: spacep
      Src: /src/gnupg/g13/be-encfs.c:103,1
    - Dst: log_info
      Src: /src/gnupg/g13/be-encfs.c:105,1
    - Dst: strcmp
      Src: /src/gnupg/g13/be-encfs.c:106,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/be-encfs.c:110,1
    - Dst: strncmp
      Src: /src/gnupg/g13/be-encfs.c:115,1
    - Dst: spacep
      Src: /src/gnupg/g13/be-encfs.c:117,1
    - Dst: log_info
      Src: /src/gnupg/g13/be-encfs.c:119,1
    - Dst: strcmp
      Src: /src/gnupg/g13/be-encfs.c:120,1
    - Dst: send_cmd
      Src: /src/gnupg/g13/be-encfs.c:121,1
    - Dst: strcmp
      Src: /src/gnupg/g13/be-encfs.c:122,1
    - Dst: send_cmd
      Src: /src/gnupg/g13/be-encfs.c:123,1
    - Dst: strcmp
      Src: /src/gnupg/g13/be-encfs.c:124,1
    - Dst: strcmp
      Src: /src/gnupg/g13/be-encfs.c:125,1
    - Dst: find_tuple
      Src: /src/gnupg/g13/be-encfs.c:132,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/be-encfs.c:134,1
    - Dst: send_cmd_bin
      Src: /src/gnupg/g13/be-encfs.c:135,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g13/be-encfs.c:137,1
    - Dst: gpg_err_source
      Src: /src/gnupg/g13/be-encfs.c:138,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/be-encfs.c:139,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/be-encfs.c:143,1
    - Dst: send_cmd
      Src: /src/gnupg/g13/be-encfs.c:146,1
    - Dst: strstr
      Src: /src/gnupg/g13/be-encfs.c:148,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/be-encfs.c:149,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 4
    argNames:
    - runner
    - line
    - cmd
    - tuples
    argTypes:
    - runner_t
    - char*
    - enum encfs_cmds
    - tupledesc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 154
    functionName: handle_status_line
    functionSourceFile: /src/gnupg/g13/be-encfs.c
    functionUses: 2
    functionsReached:
    - strstr
    - send_cmd
    - spacep
    - strcmp
    - gpg_error
    - log_info
    - gpg_err_code
    - gpg_err_source
    - strncmp
    - find_tuple
    - send_cmd_bin
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t handle_status_line (runner_t runner, const char *line,\n
      \                   enum encfs_cmds cmd, tupledesc_t tuples)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g13/be-encfs.c:165,1
    - Dst: handle_status_line
      Src: /src/gnupg/g13/be-encfs.c:172,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g13/be-encfs.c:173,1
    - Dst: gpg_err_source
      Src: /src/gnupg/g13/be-encfs.c:174,1
    - Dst: destroy_tupledesc
      Src: /src/gnupg/g13/be-encfs.c:178,1
    - Dst: run_umount_helper
      Src: /src/gnupg/g13/be-encfs.c:186,1
    - Dst: runner_cancel
      Src: /src/gnupg/g13/be-encfs.c:190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - opaque
    - runner
    - status_line
    argTypes:
    - void*
    - runner_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 195
    functionName: encfs_handler
    functionSourceFile: /src/gnupg/g13/be-encfs.c
    functionUses: 0
    functionsReached:
    - runner_cancel
    - run_umount_helper
    - gpg_error
    - destroy_tupledesc
    - gpg_err_code
    - handle_status_line
    - gpg_err_source
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t encfs_handler (void *opaque, runner_t runner, const char
      *status_line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroy_tupledesc
      Src: /src/gnupg/g13/be-encfs.c:207,1
    - Dst: xfree
      Src: /src/gnupg/g13/be-encfs.c:208,1
    - Dst: xfree
      Src: /src/gnupg/g13/be-encfs.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: encfs_handler_cleanup
    functionSourceFile: /src/gnupg/g13/be-encfs.c
    functionUses: 0
    functionsReached:
    - destroy_tupledesc
    - xfree
    linkageType: ''
    returnType: void
    signature: void encfs_handler_cleanup (void *opaque)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/g13/be-encfs.c:230,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/be-encfs.c:233,1
    - Dst: ref_tupledesc
      Src: /src/gnupg/g13/be-encfs.c:237,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g13/be-encfs.c:238,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/be-encfs.c:241,1
    - Dst: runner_new
      Src: /src/gnupg/g13/be-encfs.c:245,1
    - Dst: assert
      Src: /src/gnupg/g13/be-encfs.c:259,1
    - Dst: DIM
      Src: /src/gnupg/g13/be-encfs.c:259,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/g13/be-encfs.c:261,1
    - Dst: log_error
      Src: /src/gnupg/g13/be-encfs.c:267,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/be-encfs.c:267,1
    - Dst: gpgrt_process_get_fds
      Src: /src/gnupg/g13/be-encfs.c:271,1
    - Dst: log_error
      Src: /src/gnupg/g13/be-encfs.c:274,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/be-encfs.c:274,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/g13/be-encfs.c:275,1
    - Dst: runner_set_fds
      Src: /src/gnupg/g13/be-encfs.c:279,1
    - Dst: runner_set_handler
      Src: /src/gnupg/g13/be-encfs.c:281,1
    - Dst: runner_set_proc
      Src: /src/gnupg/g13/be-encfs.c:284,1
    - Dst: runner_spawn
      Src: /src/gnupg/g13/be-encfs.c:286,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/g13/be-encfs.c:289,1
    - Dst: runner_get_rid
      Src: /src/gnupg/g13/be-encfs.c:293,1
    - Dst: log_info
      Src: /src/gnupg/g13/be-encfs.c:294,1
    - Dst: runner_release
      Src: /src/gnupg/g13/be-encfs.c:297,1
    - Dst: encfs_handler_cleanup
      Src: /src/gnupg/g13/be-encfs.c:298,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 6
    argNames:
    - ctrl
    - cmd
    - rawdir
    - mountpoint
    - tuples
    - r_id
    argTypes:
    - ctrl_t
    - enum encfs_cmds
    - char*
    - char*
    - tupledesc_t
    - unsigned int*
    assertStmts:
    - condition: (idx <= DIM (argv))
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/gnupg/g13/be-encfs.c
    constantsTouched: []
    func_position:
      end: 300
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 300
    functionName: run_encfs_tool
    functionSourceFile: /src/gnupg/g13/be-encfs.c
    functionUses: 0
    functionsReached:
    - runner_spawn
    - runner_set_proc
    - runner_set_fds
    - log_error
    - runner_set_handler
    - runner_new
    - DIM
    - runner_get_rid
    - encfs_handler_cleanup
    - gpgrt_process_get_fds
    - log_info
    - runner_release
    - gpg_error_from_syserror
    - assert
    - gpgrt_process_spawn
    - ref_tupledesc
    - xtrystrdup
    - gpg_strerror
    - xtrycalloc
    - gpgrt_process_release
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t run_encfs_tool (ctrl_t ctrl, enum encfs_cmds cmd,\n                const
      char *rawdir, const char *mountpoint, tupledesc_t tuples,\n                unsigned
      int *r_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g13/be-encfs.c:315,1
    - Dst: strconcat
      Src: /src/gnupg/g13/be-encfs.c:317,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/be-encfs.c:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - fname
    - r_name
    - r_isdir
    argTypes:
    - char*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 323
    functionName: be_encfs_get_detached_name
    functionSourceFile: /src/gnupg/g13/be-encfs.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - gpg_error_from_syserror
    - strconcat
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_encfs_get_detached_name (const char *fname, char **r_name,
      int *r_isdir)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/g13/be-encfs.c:347,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/be-encfs.c:349,1
    - Dst: gcry_randomize
      Src: /src/gnupg/g13/be-encfs.c:356,1
    - Dst: gcry_randomize
      Src: /src/gnupg/g13/be-encfs.c:365,1
    - Dst: append_tuple
      Src: /src/gnupg/g13/be-encfs.c:374,1
    - Dst: wipememory
      Src: /src/gnupg/g13/be-encfs.c:377,1
    - Dst: xfree
      Src: /src/gnupg/g13/be-encfs.c:378,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - mb
    argTypes:
    - membuf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 381
    functionName: be_encfs_create_new_keys
    functionSourceFile: /src/gnupg/g13/be-encfs.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_syserror
    - xtrymalloc_secure
    - wipememory
    - xfree
    - gcry_randomize
    - append_tuple
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_encfs_create_new_keys (membuf_t *mb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: be_encfs_get_detached_name
      Src: /src/gnupg/g13/be-encfs.c:395,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g13/be-encfs.c:399,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/be-encfs.c:402,1
    - Dst: gnupg_mkdtemp
      Src: /src/gnupg/g13/be-encfs.c:405,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/be-encfs.c:407,1
    - Dst: log_error
      Src: /src/gnupg/g13/be-encfs.c:408,1
    - Dst: _
      Src: /src/gnupg/g13/be-encfs.c:408,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/be-encfs.c:409,1
    - Dst: run_encfs_tool
      Src: /src/gnupg/g13/be-encfs.c:413,1
    - Dst: rmdir
      Src: /src/gnupg/g13/be-encfs.c:417,1
    - Dst: log_error
      Src: /src/gnupg/g13/be-encfs.c:418,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/be-encfs.c:419,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/be-encfs.c:419,1
    - Dst: xfree
      Src: /src/gnupg/g13/be-encfs.c:423,1
    - Dst: xfree
      Src: /src/gnupg/g13/be-encfs.c:424,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - ctrl
    - fname
    - tuples
    - r_id
    argTypes:
    - ctrl_t
    - char*
    - tupledesc_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 386
    functionDepth: 4
    functionLinenumber: 386
    functionLinenumberEnd: 426
    functionName: be_encfs_create_container
    functionSourceFile: /src/gnupg/g13/be-encfs.c
    functionUses: 1
    functionsReached:
    - gnupg_mkdtemp
    - log_error
    - gpg_error_from_syserror
    - run_encfs_tool
    - _
    - xtrystrdup
    - gpg_strerror
    - rmdir
    - xfree
    - be_encfs_get_detached_name
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_encfs_create_container (ctrl_t ctrl, const char *fname,
      tupledesc_t tuples,\n                           unsigned int *r_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/g13/be-encfs.c:442,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/be-encfs.c:443,1
    - Dst: be_encfs_get_detached_name
      Src: /src/gnupg/g13/be-encfs.c:447,1
    - Dst: run_encfs_tool
      Src: /src/gnupg/g13/be-encfs.c:451,1
    - Dst: xfree
      Src: /src/gnupg/g13/be-encfs.c:455,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - ctrl
    - fname
    - mountpoint
    - tuples
    - r_id
    argTypes:
    - ctrl_t
    - char*
    - char*
    - tupledesc_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 431
    functionDepth: 4
    functionLinenumber: 431
    functionLinenumberEnd: 457
    functionName: be_encfs_mount_container
    functionSourceFile: /src/gnupg/g13/be-encfs.c
    functionUses: 1
    functionsReached:
    - log_error
    - run_encfs_tool
    - gpg_error
    - xfree
    - be_encfs_get_detached_name
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_encfs_mount_container (ctrl_t ctrl,\n                          const
      char *fname, const char *mountpoint,\n                          tupledesc_t
      tuples, unsigned int *r_id)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: init_membuf
      Src: /src/gnupg/g13/t-g13tuple.c:72,1
    - Dst: init_membuf
      Src: /src/gnupg/g13/t-g13tuple.c:73,1
    - Dst: append_tuple
      Src: /src/gnupg/g13/t-g13tuple.c:74,1
    - Dst: append_tuple
      Src: /src/gnupg/g13/t-g13tuple.c:75,1
    - Dst: DIM
      Src: /src/gnupg/g13/t-g13tuple.c:76,1
    - Dst: append_tuple
      Src: /src/gnupg/g13/t-g13tuple.c:78,1
    - Dst: append_tuple_uint
      Src: /src/gnupg/g13/t-g13tuple.c:80,1
    - Dst: get_membuf
      Src: /src/gnupg/g13/t-g13tuple.c:83,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/t-g13tuple.c:86,1
    - Dst: fprintf
      Src: /src/gnupg/g13/t-g13tuple.c:87,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/t-g13tuple.c:88,1
    - Dst: exit
      Src: /src/gnupg/g13/t-g13tuple.c:89,1
    - Dst: create_tupledesc
      Src: /src/gnupg/g13/t-g13tuple.c:91,1
    - Dst: fprintf
      Src: /src/gnupg/g13/t-g13tuple.c:94,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/t-g13tuple.c:95,1
    - Dst: exit
      Src: /src/gnupg/g13/t-g13tuple.c:96,1
    - Dst: get_membuf
      Src: /src/gnupg/g13/t-g13tuple.c:98,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/t-g13tuple.c:101,1
    - Dst: fprintf
      Src: /src/gnupg/g13/t-g13tuple.c:102,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/t-g13tuple.c:103,1
    - Dst: exit
      Src: /src/gnupg/g13/t-g13tuple.c:104,1
    - Dst: create_tupledesc
      Src: /src/gnupg/g13/t-g13tuple.c:106,1
    - Dst: fprintf
      Src: /src/gnupg/g13/t-g13tuple.c:109,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/t-g13tuple.c:110,1
    - Dst: exit
      Src: /src/gnupg/g13/t-g13tuple.c:111,1
    - Dst: DIM
      Src: /src/gnupg/g13/t-g13tuple.c:114,1
    - Dst: find_tuple_uint
      Src: /src/gnupg/g13/t-g13tuple.c:116,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g13/t-g13tuple.c:117,1
    - Dst: fprintf
      Src: /src/gnupg/g13/t-g13tuple.c:119,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/t-g13tuple.c:122,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/t-g13tuple.c:122,1
    - Dst: fprintf
      Src: /src/gnupg/g13/t-g13tuple.c:127,1
    - Dst: find_tuple_uint
      Src: /src/gnupg/g13/t-g13tuple.c:133,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g13/t-g13tuple.c:134,1
    - Dst: fprintf
      Src: /src/gnupg/g13/t-g13tuple.c:138,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/t-g13tuple.c:139,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g13/t-g13tuple.c:143,1
    - Dst: fprintf
      Src: /src/gnupg/g13/t-g13tuple.c:145,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/t-g13tuple.c:148,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/t-g13tuple.c:148,1
    - Dst: fprintf
      Src: /src/gnupg/g13/t-g13tuple.c:153,1
    - Dst: find_tuple
      Src: /src/gnupg/g13/t-g13tuple.c:159,1
    - Dst: fprintf
      Src: /src/gnupg/g13/t-g13tuple.c:164,1
    - Dst: memcmp
      Src: /src/gnupg/g13/t-g13tuple.c:169,1
    - Dst: fprintf
      Src: /src/gnupg/g13/t-g13tuple.c:171,1
    - Dst: fprintf
      Src: /src/gnupg/g13/t-g13tuple.c:174,1
    - Dst: fputc
      Src: /src/gnupg/g13/t-g13tuple.c:175,1
    - Dst: destroy_tupledesc
      Src: /src/gnupg/g13/t-g13tuple.c:180,1
    - Dst: destroy_tupledesc
      Src: /src/gnupg/g13/t-g13tuple.c:181,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 182
    functionName: test_tuple_uint
    functionSourceFile: /src/gnupg/g13/t-g13tuple.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - find_tuple_uint
    - init_membuf
    - gpg_error_from_syserror
    - DIM
    - exit
    - fprintf
    - destroy_tupledesc
    - memcmp
    - gpg_strerror
    - gpg_err_code
    - append_tuple
    - create_tupledesc
    - fputc
    - append_tuple_uint
    - find_tuple
    linkageType: ''
    returnType: void
    signature: void test_tuple_uint (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_init
      Src: /src/gnupg/g13/t-g13tuple.c:191,1
    - Dst: strcmp
      Src: /src/gnupg/g13/t-g13tuple.c:197,1
    - Dst: strcmp
      Src: /src/gnupg/g13/t-g13tuple.c:202,1
    - Dst: strcmp
      Src: /src/gnupg/g13/t-g13tuple.c:207,1
    - Dst: strncmp
      Src: /src/gnupg/g13/t-g13tuple.c:213,1
    - Dst: fprintf
      Src: /src/gnupg/g13/t-g13tuple.c:215,1
    - Dst: exit
      Src: /src/gnupg/g13/t-g13tuple.c:216,1
    - Dst: test_tuple_uint
      Src: /src/gnupg/g13/t-g13tuple.c:220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 223
    functionName: main
    functionSourceFile: /src/gnupg/g13/t-g13tuple.c
    functionUses: 6
    functionsReached:
    - test_tuple_uint
    - exit
    - strcmp
    - fprintf
    - gpgrt_init
    - strncmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/g13/g13-syshelp.c:156,1
    - Dst: _
      Src: /src/gnupg/g13/g13-syshelp.c:159,1
    - Dst: _
      Src: /src/gnupg/g13/g13-syshelp.c:162,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g13/g13-syshelp.c:167,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 143
    functionDepth: 5
    functionLinenumber: 143
    functionLinenumberEnd: 172
    functionName: my_strusage
    functionSourceFile: /src/gnupg/g13/g13-syshelp.c
    functionUses: 0
    functionsReached:
    - gnupg_homedir
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage( int level )'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/g13/g13-syshelp.c:182,1
    - Dst: atoi
      Src: /src/gnupg/g13/g13-syshelp.c:183,1
    - Dst: strcmp
      Src: /src/gnupg/g13/g13-syshelp.c:187,1
    - Dst: strcmp
      Src: /src/gnupg/g13/g13-syshelp.c:189,1
    - Dst: strcmp
      Src: /src/gnupg/g13/g13-syshelp.c:191,1
    - Dst: strcmp
      Src: /src/gnupg/g13/g13-syshelp.c:193,1
    - Dst: strcmp
      Src: /src/gnupg/g13/g13-syshelp.c:195,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13-syshelp.c:203,1
    - Dst: _
      Src: /src/gnupg/g13/g13-syshelp.c:203,1
    - Dst: g13_exit
      Src: /src/gnupg/g13/g13-syshelp.c:204,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13-syshelp.c:215,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13-syshelp.c:216,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/g13/g13-syshelp.c:219,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 220
    functionName: set_debug
    functionSourceFile: /src/gnupg/g13/g13-syshelp.c
    functionUses: 5
    functionsReached:
    - atoi
    - log_error
    - digitp
    - gcry_control
    - _
    - strcmp
    - g13_exit
    - parse_debug_flag
    linkageType: ''
    returnType: void
    signature: void set_debug (void)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: early_system_init
      Src: /src/gnupg/g13/g13-syshelp.c:245,1
    - Dst: gnupg_reopen_std
      Src: /src/gnupg/g13/g13-syshelp.c:246,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/g13/g13-syshelp.c:247,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13-syshelp.c:248,1
    - Dst: log_set_prefix
      Src: /src/gnupg/g13/g13-syshelp.c:250,1
    - Dst: i18n_init
      Src: /src/gnupg/g13/g13-syshelp.c:253,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/g13/g13-syshelp.c:254,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13-syshelp.c:257,1
    - Dst: disable_core_dumps
      Src: /src/gnupg/g13/g13-syshelp.c:259,1
    - Dst: g13_init_signals
      Src: /src/gnupg/g13/g13-syshelp.c:261,1
    - Dst: dotlock_create
      Src: /src/gnupg/g13/g13-syshelp.c:263,1
    - Dst: session_env_new
      Src: /src/gnupg/g13/g13-syshelp.c:265,1
    - Dst: log_fatal
      Src: /src/gnupg/g13/g13-syshelp.c:267,1
    - Dst: strerror
      Src: /src/gnupg/g13/g13-syshelp.c:268,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/g13/g13-syshelp.c:276,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13-syshelp.c:290,1
    - Dst: assuan_set_malloc_hooks
      Src: /src/gnupg/g13/g13-syshelp.c:304,1
    - Dst: assuan_set_gpg_err_source
      Src: /src/gnupg/g13/g13-syshelp.c:308,1
    - Dst: setup_libassuan_logging
      Src: /src/gnupg/g13/g13-syshelp.c:309,1
    - Dst: memset
      Src: /src/gnupg/g13/g13-syshelp.c:312,1
    - Dst: g13_syshelp_init_default_ctrl
      Src: /src/gnupg/g13/g13-syshelp.c:313,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/g13/g13-syshelp.c:318,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/g13/g13-syshelp.c:318,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/g13/g13-syshelp.c:319,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g13/g13-syshelp.c:319,1
    - Dst: gpgrt_argparser
      Src: /src/gnupg/g13/g13-syshelp.c:331,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13-syshelp.c:338,1
    - Dst: _
      Src: /src/gnupg/g13/g13-syshelp.c:338,1
    - Dst: xfree
      Src: /src/gnupg/g13/g13-syshelp.c:342,1
    - Dst: xstrdup
      Src: /src/gnupg/g13/g13-syshelp.c:343,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13-syshelp.c:357,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13-syshelp.c:361,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/g13/g13-syshelp.c:370,1
    - Dst: enable_core_dumps
      Src: /src/gnupg/g13/g13-syshelp.c:381,1
    - Dst: log_set_fd
      Src: /src/gnupg/g13/g13-syshelp.c:385,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/g13/g13-syshelp.c:387,1
    - Dst: isotime2epoch
      Src: /src/gnupg/g13/g13-syshelp.c:391,1
    - Dst: strtoul
      Src: /src/gnupg/g13/g13-syshelp.c:393,1
    - Dst: gnupg_set_time
      Src: /src/gnupg/g13/g13-syshelp.c:394,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13-syshelp.c:398,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/g13/g13-syshelp.c:407,1
    - Dst: gpgrt_fnameconcat
      Src: /src/gnupg/g13/g13-syshelp.c:411,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g13/g13-syshelp.c:411,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/g13/g13-syshelp.c:420,1
    - Dst: g13_exit
      Src: /src/gnupg/g13/g13-syshelp.c:421,1
    - Dst: g13_syshelp_init_default_ctrl
      Src: /src/gnupg/g13/g13-syshelp.c:425,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13-syshelp.c:428,1
    - Dst: _
      Src: /src/gnupg/g13/g13-syshelp.c:428,1
    - Dst: log_set_file
      Src: /src/gnupg/g13/g13-syshelp.c:432,1
    - Dst: log_set_prefix
      Src: /src/gnupg/g13/g13-syshelp.c:433,1
    - Dst: gnupg_faked_time_p
      Src: /src/gnupg/g13/g13-syshelp.c:436,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13-syshelp.c:440,1
    - Dst: _
      Src: /src/gnupg/g13/g13-syshelp.c:440,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/g13/g13-syshelp.c:441,1
    - Dst: dump_isotime
      Src: /src/gnupg/g13/g13-syshelp.c:442,1
    - Dst: log_printf
      Src: /src/gnupg/g13/g13-syshelp.c:443,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13-syshelp.c:447,1
    - Dst: set_debug
      Src: /src/gnupg/g13/g13-syshelp.c:450,1
    - Dst: g13_install_emergency_cleanup
      Src: /src/gnupg/g13/g13-syshelp.c:454,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/g13/g13-syshelp.c:457,1
    - Dst: g13_exit
      Src: /src/gnupg/g13/g13-syshelp.c:458,1
    - Dst: make_filename
      Src: /src/gnupg/g13/g13-syshelp.c:463,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/g13/g13-syshelp.c:463,1
    - Dst: gcry_control
      Src: /src/gnupg/g13/g13-syshelp.c:464,1
    - Dst: xfree
      Src: /src/gnupg/g13/g13-syshelp.c:465,1
    - Dst: getenv
      Src: /src/gnupg/g13/g13-syshelp.c:474,1
    - Dst: getuid
      Src: /src/gnupg/g13/g13-syshelp.c:479,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13-syshelp.c:481,1
    - Dst: getuid
      Src: /src/gnupg/g13/g13-syshelp.c:484,1
    - Dst: strtoul
      Src: /src/gnupg/g13/g13-syshelp.c:491,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13-syshelp.c:494,1
    - Dst: strerror
      Src: /src/gnupg/g13/g13-syshelp.c:495,1
    - Dst: getuid
      Src: /src/gnupg/g13/g13-syshelp.c:497,1
    - Dst: getpwuid
      Src: /src/gnupg/g13/g13-syshelp.c:503,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13-syshelp.c:506,1
    - Dst: strerror
      Src: /src/gnupg/g13/g13-syshelp.c:506,1
    - Dst: xstrdup
      Src: /src/gnupg/g13/g13-syshelp.c:508,1
    - Dst: xstrdup
      Src: /src/gnupg/g13/g13-syshelp.c:511,1
    - Dst: strchr
      Src: /src/gnupg/g13/g13-syshelp.c:515,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13-syshelp.c:517,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13-syshelp.c:522,1
    - Dst: getuid
      Src: /src/gnupg/g13/g13-syshelp.c:524,1
    - Dst: xstrdup
      Src: /src/gnupg/g13/g13-syshelp.c:525,1
    - Dst: parse_g13tab
      Src: /src/gnupg/g13/g13-syshelp.c:530,1
    - Dst: syshelp_server
      Src: /src/gnupg/g13/g13-syshelp.c:534,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13-syshelp.c:536,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/g13-syshelp.c:537,1
    - Dst: gpg_strsource
      Src: /src/gnupg/g13/g13-syshelp.c:537,1
    - Dst: g13_syshelp_deinit_default_ctrl
      Src: /src/gnupg/g13/g13-syshelp.c:540,1
    - Dst: g13_exit
      Src: /src/gnupg/g13/g13-syshelp.c:541,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 201
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 223
    functionDepth: 6
    functionLinenumber: 223
    functionLinenumberEnd: 543
    functionName: main
    functionSourceFile: /src/gnupg/g13/g13-syshelp.c
    functionUses: 6
    functionsReached:
    - init_common_subsystems
    - gpgrt_fnameconcat
    - set_debug
    - dotlock_create
    - log_set_fd
    - gnupg_homedir
    - g13_init_signals
    - gpgrt_argparser
    - assuan_set_malloc_hooks
    - xstrdup
    - syshelp_server
    - gpgrt_set_strusage
    - gnupg_set_homedir
    - log_error
    - early_system_init
    - log_set_prefix
    - session_env_new
    - _
    - log_get_errorcount
    - dump_isotime
    - gnupg_faked_time_p
    - log_info
    - getpwuid
    - g13_syshelp_init_default_ctrl
    - strtoul
    - log_printf
    - parse_debug_flag
    - parse_g13tab
    - gnupg_reopen_std
    - g13_syshelp_deinit_default_ctrl
    - gcry_control
    - gnupg_get_isotime
    - strchr
    - memset
    - xfree
    - enable_core_dumps
    - gpgrt_argparse
    - g13_exit
    - getuid
    - gnupg_sysconfdir
    - log_set_file
    - gnupg_set_time
    - gpg_strerror
    - gpg_strsource
    - i18n_init
    - make_filename
    - isotime2epoch
    - getenv
    - log_fatal
    - assuan_set_gpg_err_source
    - g13_install_emergency_cleanup
    - gpgrt_set_confdir
    - setup_libassuan_logging
    - disable_core_dumps
    - strerror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 551
    functionName: g13_syshelp_init_default_ctrl
    functionSourceFile: /src/gnupg/g13/g13-syshelp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void g13_syshelp_init_default_ctrl (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g13/g13-syshelp.c:557,1
    - Dst: release_tab_items
      Src: /src/gnupg/g13/g13-syshelp.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 559
    functionName: g13_syshelp_deinit_default_ctrl
    functionSourceFile: /src/gnupg/g13/g13-syshelp.c
    functionUses: 1
    functionsReached:
    - xfree
    - release_tab_items
    linkageType: ''
    returnType: void
    signature: void g13_syshelp_deinit_default_ctrl (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/g13/g13-syshelp.c:569,1
    - Dst: xfree
      Src: /src/gnupg/g13/g13-syshelp.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tab
    argTypes:
    - tab_item_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 573
    functionName: release_tab_items
    functionSourceFile: /src/gnupg/g13/g13-syshelp.c
    functionUses: 1
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_tab_items (tab_item_t tab)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/g13/g13-syshelp.c:582,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/g13/g13-syshelp.c:582,1
    - Dst: gnupg_access
      Src: /src/gnupg/g13/g13-syshelp.c:583,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13-syshelp.c:585,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13-syshelp.c:586,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13-syshelp.c:587,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13-syshelp.c:588,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13-syshelp.c:589,1
    - Dst: log_info
      Src: /src/gnupg/g13/g13-syshelp.c:590,1
    - Dst: exit
      Src: /src/gnupg/g13/g13-syshelp.c:591,1
    - Dst: xfree
      Src: /src/gnupg/g13/g13-syshelp.c:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 576
    functionDepth: 6
    functionLinenumber: 576
    functionLinenumberEnd: 594
    functionName: g13_syshelp_i_know_what_i_am_doing
    functionSourceFile: /src/gnupg/g13/g13-syshelp.c
    functionUses: 0
    functionsReached:
    - make_filename
    - exit
    - gnupg_access
    - log_info
    - xfree
    - gnupg_sysconfdir
    linkageType: ''
    returnType: void
    signature: void g13_syshelp_i_know_what_i_am_doing (void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/g13/g13-syshelp.c:614,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/g13/g13-syshelp.c:614,1
    - Dst: es_fopen
      Src: /src/gnupg/g13/g13-syshelp.c:615,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/g13-syshelp.c:618,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13-syshelp.c:619,1
    - Dst: _
      Src: /src/gnupg/g13/g13-syshelp.c:619,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/g13-syshelp.c:619,1
    - Dst: es_fgets
      Src: /src/gnupg/g13/g13-syshelp.c:626,1
    - Dst: DIM
      Src: /src/gnupg/g13/g13-syshelp.c:626,1
    - Dst: strlen
      Src: /src/gnupg/g13/g13-syshelp.c:629,1
    - Dst: es_getc
      Src: /src/gnupg/g13/g13-syshelp.c:633,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/g13-syshelp.c:635,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13-syshelp.c:637,1
    - Dst: _
      Src: /src/gnupg/g13/g13-syshelp.c:637,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/g13-syshelp.c:638,1
    - Dst: spacep
      Src: /src/gnupg/g13/g13-syshelp.c:646,1
    - Dst: xfree
      Src: /src/gnupg/g13/g13-syshelp.c:654,1
    - Dst: strtokenize
      Src: /src/gnupg/g13/g13-syshelp.c:655,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/g13-syshelp.c:658,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13-syshelp.c:663,1
    - Dst: _
      Src: /src/gnupg/g13/g13-syshelp.c:663,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/g13-syshelp.c:664,1
    - Dst: strncmp
      Src: /src/gnupg/g13/g13-syshelp.c:668,1
    - Dst: strncmp
      Src: /src/gnupg/g13/g13-syshelp.c:669,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13-syshelp.c:671,1
    - Dst: _
      Src: /src/gnupg/g13/g13-syshelp.c:671,1
    - Dst: strlen
      Src: /src/gnupg/g13/g13-syshelp.c:677,1
    - Dst: strchr
      Src: /src/gnupg/g13/g13-syshelp.c:677,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13-syshelp.c:679,1
    - Dst: _
      Src: /src/gnupg/g13/g13-syshelp.c:679,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13-syshelp.c:686,1
    - Dst: _
      Src: /src/gnupg/g13/g13-syshelp.c:686,1
    - Dst: strcmp
      Src: /src/gnupg/g13/g13-syshelp.c:691,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g13/g13-syshelp.c:694,1
    - Dst: strlen
      Src: /src/gnupg/g13/g13-syshelp.c:694,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/g13-syshelp.c:697,1
    - Dst: strcpy
      Src: /src/gnupg/g13/g13-syshelp.c:703,1
    - Dst: strcmp
      Src: /src/gnupg/g13/g13-syshelp.c:706,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g13/g13-syshelp.c:707,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/g13-syshelp.c:709,1
    - Dst: xfree
      Src: /src/gnupg/g13/g13-syshelp.c:710,1
    - Dst: xtrystrdup
      Src: /src/gnupg/g13/g13-syshelp.c:713,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/g13-syshelp.c:715,1
    - Dst: xfree
      Src: /src/gnupg/g13/g13-syshelp.c:716,1
    - Dst: xfree
      Src: /src/gnupg/g13/g13-syshelp.c:717,1
    - Dst: es_feof
      Src: /src/gnupg/g13/g13-syshelp.c:725,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/g13-syshelp.c:726,1
    - Dst: log_error
      Src: /src/gnupg/g13/g13-syshelp.c:728,1
    - Dst: _
      Src: /src/gnupg/g13/g13-syshelp.c:728,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/g13-syshelp.c:729,1
    - Dst: xfree
      Src: /src/gnupg/g13/g13-syshelp.c:732,1
    - Dst: es_fclose
      Src: /src/gnupg/g13/g13-syshelp.c:733,1
    - Dst: xfree
      Src: /src/gnupg/g13/g13-syshelp.c:734,1
    - Dst: release_tab_items
      Src: /src/gnupg/g13/g13-syshelp.c:737,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 94
    argCount: 1
    argNames:
    - username
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 600
    functionDepth: 6
    functionLinenumber: 600
    functionLinenumberEnd: 741
    functionName: parse_g13tab
    functionSourceFile: /src/gnupg/g13/g13-syshelp.c
    functionUses: 1
    functionsReached:
    - strlen
    - es_fopen
    - release_tab_items
    - xtrymalloc
    - log_error
    - es_fgets
    - DIM
    - _
    - es_feof
    - strncmp
    - gpg_error_from_syserror
    - spacep
    - strcmp
    - xtrystrdup
    - gpg_error
    - strchr
    - gpg_strerror
    - xfree
    - es_getc
    - gnupg_sysconfdir
    - make_filename
    - es_fclose
    - strtokenize
    - strcpy
    linkageType: ''
    returnType: tab_item_t
    signature: tab_item_t parse_g13tab (const char *username)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - string
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: is_valid_algostr
    functionSourceFile: /src/gnupg/g13/sh-dmcrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_valid_algostr (const char *string, size_t len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_stat
      Src: /src/gnupg/g13/sh-dmcrypt.c:117,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:119,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:120,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:120,1
    - Dst: S_ISBLK
      Src: /src/gnupg/g13/sh-dmcrypt.c:123,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:125,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:126,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:126,1
    - Dst: major
      Src: /src/gnupg/g13/sh-dmcrypt.c:129,1
    - Dst: minor
      Src: /src/gnupg/g13/sh-dmcrypt.c:130,1
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/g13/sh-dmcrypt.c:137,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:141,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:142,1
    - Dst: strsplit
      Src: /src/gnupg/g13/sh-dmcrypt.c:145,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:148,1
    - Dst: strcmp
      Src: /src/gnupg/g13/sh-dmcrypt.c:151,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:161,1
    - Dst: strsplit
      Src: /src/gnupg/g13/sh-dmcrypt.c:162,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:165,1
    - Dst: sscanf
      Src: /src/gnupg/g13/sh-dmcrypt.c:169,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:171,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:173,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:180,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:183,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:191,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:192,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:193,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 2
    argNames:
    - devname
    - expect_busy
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 195
    functionName: check_blockdev
    functionSourceFile: /src/gnupg/g13/sh-dmcrypt.c
    functionUses: 0
    functionsReached:
    - minor
    - major
    - gnupg_exec_tool
    - log_error
    - gpg_error_from_syserror
    - strsplit
    - S_ISBLK
    - strcmp
    - gpg_error
    - gpg_strerror
    - xfree
    - gnupg_stat
    - sscanf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_blockdev (const char *devname, int expect_busy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/g13/sh-dmcrypt.c:207,1
    - Dst: memcpy
      Src: /src/gnupg/g13/sh-dmcrypt.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 1
    argNames:
    - r_length
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 239
    functionName: mk_setup_area_prefix
    functionSourceFile: /src/gnupg/g13/sh-dmcrypt.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void *

      mk_setup_area_prefix (size_t *r_length)'
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:267,1
    - Dst: g13_syshelp_i_know_what_i_am_doing
      Src: /src/gnupg/g13/sh-dmcrypt.c:269,1
    - Dst: xtrymalloc
      Src: /src/gnupg/g13/sh-dmcrypt.c:272,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:274,1
    - Dst: init_membuf
      Src: /src/gnupg/g13/sh-dmcrypt.c:277,1
    - Dst: append_tuple
      Src: /src/gnupg/g13/sh-dmcrypt.c:278,1
    - Dst: append_tuple
      Src: /src/gnupg/g13/sh-dmcrypt.c:282,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/g13/sh-dmcrypt.c:286,1
    - Dst: append_tuple
      Src: /src/gnupg/g13/sh-dmcrypt.c:287,1
    - Dst: strlen
      Src: /src/gnupg/g13/sh-dmcrypt.c:287,1
    - Dst: es_fseeko
      Src: /src/gnupg/g13/sh-dmcrypt.c:291,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:293,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:294,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:295,1
    - Dst: es_clearerr
      Src: /src/gnupg/g13/sh-dmcrypt.c:298,1
    - Dst: es_read
      Src: /src/gnupg/g13/sh-dmcrypt.c:301,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:302,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:304,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:309,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:310,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:317,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:319,1
    - Dst: check_blockdev
      Src: /src/gnupg/g13/sh-dmcrypt.c:324,1
    - Dst: sh_blockdev_getsz
      Src: /src/gnupg/g13/sh-dmcrypt.c:329,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:332,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:333,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:338,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:341,1
    - Dst: append_tuple_uint
      Src: /src/gnupg/g13/sh-dmcrypt.c:344,1
    - Dst: append_tuple_uint
      Src: /src/gnupg/g13/sh-dmcrypt.c:346,1
    - Dst: append_tuple_uint
      Src: /src/gnupg/g13/sh-dmcrypt.c:347,1
    - Dst: strconcat
      Src: /src/gnupg/g13/sh-dmcrypt.c:351,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:356,1
    - Dst: gcry_randomize
      Src: /src/gnupg/g13/sh-dmcrypt.c:363,1
    - Dst: append_tuple
      Src: /src/gnupg/g13/sh-dmcrypt.c:364,1
    - Dst: bin2hex
      Src: /src/gnupg/g13/sh-dmcrypt.c:365,1
    - Dst: wipememory
      Src: /src/gnupg/g13/sh-dmcrypt.c:366,1
    - Dst: append_tuple
      Src: /src/gnupg/g13/sh-dmcrypt.c:370,1
    - Dst: append_tuple
      Src: /src/gnupg/g13/sh-dmcrypt.c:371,1
    - Dst: append_tuple
      Src: /src/gnupg/g13/sh-dmcrypt.c:376,1
    - Dst: strlen
      Src: /src/gnupg/g13/sh-dmcrypt.c:376,1
    - Dst: es_bsprintf
      Src: /src/gnupg/g13/sh-dmcrypt.c:377,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:381,1
    - Dst: wipememory
      Src: /src/gnupg/g13/sh-dmcrypt.c:384,1
    - Dst: mk_setup_area_prefix
      Src: /src/gnupg/g13/sh-dmcrypt.c:387,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:390,1
    - Dst: append_tuple
      Src: /src/gnupg/g13/sh-dmcrypt.c:393,1
    - Dst: assert
      Src: /src/gnupg/g13/sh-dmcrypt.c:394,1
    - Dst: memcpy
      Src: /src/gnupg/g13/sh-dmcrypt.c:395,1
    - Dst: get_membuf
      Src: /src/gnupg/g13/sh-dmcrypt.c:399,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:402,1
    - Dst: sh_encrypt_keyblob
      Src: /src/gnupg/g13/sh-dmcrypt.c:405,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:408,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:408,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:411,1
    - Dst: wipememory
      Src: /src/gnupg/g13/sh-dmcrypt.c:412,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:413,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:416,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:419,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:420,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:420,1
    - Dst: memcpy
      Src: /src/gnupg/g13/sh-dmcrypt.c:423,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:431,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:432,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:432,1
    - Dst: memcpy
      Src: /src/gnupg/g13/sh-dmcrypt.c:446,1
    - Dst: BUG
      Src: /src/gnupg/g13/sh-dmcrypt.c:451,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:460,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:461,1
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/g13/sh-dmcrypt.c:462,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:466,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:467,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:471,1
    - Dst: es_fseeko
      Src: /src/gnupg/g13/sh-dmcrypt.c:474,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:476,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:477,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:478,1
    - Dst: es_clearerr
      Src: /src/gnupg/g13/sh-dmcrypt.c:481,1
    - Dst: es_write
      Src: /src/gnupg/g13/sh-dmcrypt.c:487,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:489,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:494,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:500,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:501,1
    - Dst: es_fseeko
      Src: /src/gnupg/g13/sh-dmcrypt.c:505,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:508,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:509,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:510,1
    - Dst: es_clearerr
      Src: /src/gnupg/g13/sh-dmcrypt.c:513,1
    - Dst: es_write
      Src: /src/gnupg/g13/sh-dmcrypt.c:519,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:521,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:526,1
    - Dst: es_fflush
      Src: /src/gnupg/g13/sh-dmcrypt.c:530,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:531,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:534,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:535,1
    - Dst: wipememory
      Src: /src/gnupg/g13/sh-dmcrypt.c:540,1
    - Dst: wipememory
      Src: /src/gnupg/g13/sh-dmcrypt.c:543,1
    - Dst: strlen
      Src: /src/gnupg/g13/sh-dmcrypt.c:543,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:544,1
    - Dst: wipememory
      Src: /src/gnupg/g13/sh-dmcrypt.c:548,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:549,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:551,1
    - Dst: get_membuf
      Src: /src/gnupg/g13/sh-dmcrypt.c:551,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:552,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:553,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:554,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 218
    argCount: 3
    argNames:
    - ctrl
    - devname
    - devfp
    argTypes:
    - ctrl_t
    - char*
    - estream_t
    assertStmts:
    - condition: (n < header_space_size)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/gnupg/g13/sh-dmcrypt.c
    constantsTouched: []
    func_position:
      end: 556
      start: 243
    functionDepth: 7
    functionLinenumber: 243
    functionLinenumberEnd: 556
    functionName: sh_dmcrypt_create_container
    functionSourceFile: /src/gnupg/g13/sh-dmcrypt.c
    functionUses: 1
    functionsReached:
    - g13_syshelp_i_know_what_i_am_doing
    - strlen
    - BUG
    - es_read
    - es_fflush
    - xtrymalloc
    - memcpy
    - init_membuf
    - log_error
    - mk_setup_area_prefix
    - es_write
    - wipememory
    - append_tuple_uint
    - sh_encrypt_keyblob
    - log_debug
    - gnupg_exec_tool
    - gpg_error_from_syserror
    - check_blockdev
    - assert
    - es_bsprintf
    - es_fseeko
    - gpg_error
    - gnupg_get_isotime
    - gpg_strerror
    - xfree
    - gcry_randomize
    - get_membuf
    - sh_blockdev_getsz
    - bin2hex
    - strconcat
    - append_tuple
    - es_clearerr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t sh_dmcrypt_create_container (ctrl_t ctrl, const char *devname,
      estream_t devfp)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:579,1
    - Dst: g13_syshelp_i_know_what_i_am_doing
      Src: /src/gnupg/g13/sh-dmcrypt.c:581,1
    - Dst: check_blockdev
      Src: /src/gnupg/g13/sh-dmcrypt.c:584,1
    - Dst: sh_blockdev_getsz
      Src: /src/gnupg/g13/sh-dmcrypt.c:590,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:593,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:594,1
    - Dst: find_tuple_uint
      Src: /src/gnupg/g13/sh-dmcrypt.c:597,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:600,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:600,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:605,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:607,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:612,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:615,1
    - Dst: find_tuple_uint
      Src: /src/gnupg/g13/sh-dmcrypt.c:619,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:622,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:623,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:628,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:630,1
    - Dst: find_tuple_uint
      Src: /src/gnupg/g13/sh-dmcrypt.c:634,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:637,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:638,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:643,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:645,1
    - Dst: strconcat
      Src: /src/gnupg/g13/sh-dmcrypt.c:651,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:657,1
    - Dst: strrchr
      Src: /src/gnupg/g13/sh-dmcrypt.c:660,1
    - Dst: BUG
      Src: /src/gnupg/g13/sh-dmcrypt.c:662,1
    - Dst: find_tuple
      Src: /src/gnupg/g13/sh-dmcrypt.c:666,1
    - Dst: is_valid_algostr
      Src: /src/gnupg/g13/sh-dmcrypt.c:667,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:669,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:670,1
    - Dst: find_tuple
      Src: /src/gnupg/g13/sh-dmcrypt.c:675,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:679,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:681,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:682,1
    - Dst: bin2hex
      Src: /src/gnupg/g13/sh-dmcrypt.c:685,1
    - Dst: es_bsprintf
      Src: /src/gnupg/g13/sh-dmcrypt.c:688,1
    - Dst: wipememory
      Src: /src/gnupg/g13/sh-dmcrypt.c:691,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:694,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:705,1
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/g13/sh-dmcrypt.c:706,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:710,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:711,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:715,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:716,1
    - Dst: g13_status
      Src: /src/gnupg/g13/sh-dmcrypt.c:719,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:729,1
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/g13/sh-dmcrypt.c:731,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:734,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:734,1
    - Dst: log_info
      Src: /src/gnupg/g13/sh-dmcrypt.c:738,1
    - Dst: wipememory
      Src: /src/gnupg/g13/sh-dmcrypt.c:743,1
    - Dst: wipememory
      Src: /src/gnupg/g13/sh-dmcrypt.c:746,1
    - Dst: strlen
      Src: /src/gnupg/g13/sh-dmcrypt.c:746,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:747,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:749,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:750,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 131
    argCount: 4
    argNames:
    - ctrl
    - devname
    - keyblob
    - nomount
    argTypes:
    - ctrl_t
    - char*
    - tupledesc_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 562
    functionDepth: 7
    functionLinenumber: 562
    functionLinenumberEnd: 752
    functionName: sh_dmcrypt_mount_container
    functionSourceFile: /src/gnupg/g13/sh-dmcrypt.c
    functionUses: 1
    functionsReached:
    - g13_syshelp_i_know_what_i_am_doing
    - strlen
    - BUG
    - g13_status
    - log_error
    - wipememory
    - log_info
    - find_tuple_uint
    - find_tuple
    - log_debug
    - gnupg_exec_tool
    - gpg_error_from_syserror
    - check_blockdev
    - es_bsprintf
    - gpg_error
    - gpg_strerror
    - xfree
    - sh_blockdev_getsz
    - bin2hex
    - strconcat
    - is_valid_algostr
    - strrchr
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t sh_dmcrypt_mount_container (ctrl_t ctrl, const char *devname,\n
      \                           tupledesc_t keyblob, int nomount)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:764,1
    - Dst: g13_syshelp_i_know_what_i_am_doing
      Src: /src/gnupg/g13/sh-dmcrypt.c:766,1
    - Dst: check_blockdev
      Src: /src/gnupg/g13/sh-dmcrypt.c:769,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g13/sh-dmcrypt.c:770,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:772,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:773,1
    - Dst: strconcat
      Src: /src/gnupg/g13/sh-dmcrypt.c:781,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:787,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:797,1
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/g13/sh-dmcrypt.c:798,1
    - Dst: log_info
      Src: /src/gnupg/g13/sh-dmcrypt.c:801,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:804,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:809,1
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/g13/sh-dmcrypt.c:810,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:813,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:813,1
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/g13/sh-dmcrypt.c:820,1
    - Dst: log_info
      Src: /src/gnupg/g13/sh-dmcrypt.c:825,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:828,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:838,1
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/g13/sh-dmcrypt.c:839,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:843,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:844,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:848,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:849,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:853,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:854,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 2
    argNames:
    - ctrl
    - devname
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 756
    functionDepth: 7
    functionLinenumber: 756
    functionLinenumberEnd: 856
    functionName: sh_dmcrypt_umount_container
    functionSourceFile: /src/gnupg/g13/sh-dmcrypt.c
    functionUses: 1
    functionsReached:
    - g13_syshelp_i_know_what_i_am_doing
    - log_error
    - check_blockdev
    - gpg_error_from_syserror
    - gnupg_exec_tool
    - strconcat
    - gpg_error
    - gpg_err_code
    - gpg_strerror
    - log_info
    - xfree
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t sh_dmcrypt_umount_container (ctrl_t ctrl, const char *devname)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:869,1
    - Dst: g13_syshelp_i_know_what_i_am_doing
      Src: /src/gnupg/g13/sh-dmcrypt.c:871,1
    - Dst: check_blockdev
      Src: /src/gnupg/g13/sh-dmcrypt.c:874,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g13/sh-dmcrypt.c:875,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:877,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:878,1
    - Dst: strconcat
      Src: /src/gnupg/g13/sh-dmcrypt.c:886,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:892,1
    - Dst: strrchr
      Src: /src/gnupg/g13/sh-dmcrypt.c:895,1
    - Dst: BUG
      Src: /src/gnupg/g13/sh-dmcrypt.c:897,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:907,1
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/g13/sh-dmcrypt.c:908,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:912,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:913,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:917,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:918,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:930,1
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/g13/sh-dmcrypt.c:931,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:935,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:936,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:940,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:941,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:946,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:947,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 2
    argNames:
    - ctrl
    - devname
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 860
    functionDepth: 7
    functionLinenumber: 860
    functionLinenumberEnd: 949
    functionName: sh_dmcrypt_suspend_container
    functionSourceFile: /src/gnupg/g13/sh-dmcrypt.c
    functionUses: 1
    functionsReached:
    - g13_syshelp_i_know_what_i_am_doing
    - log_error
    - check_blockdev
    - gpg_error_from_syserror
    - gnupg_exec_tool
    - strconcat
    - BUG
    - gpg_error
    - gpg_err_code
    - gpg_strerror
    - xfree
    - strrchr
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t sh_dmcrypt_suspend_container (ctrl_t ctrl, const char *devname)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:970,1
    - Dst: g13_syshelp_i_know_what_i_am_doing
      Src: /src/gnupg/g13/sh-dmcrypt.c:972,1
    - Dst: check_blockdev
      Src: /src/gnupg/g13/sh-dmcrypt.c:975,1
    - Dst: gpg_err_code
      Src: /src/gnupg/g13/sh-dmcrypt.c:976,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:978,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:979,1
    - Dst: strconcat
      Src: /src/gnupg/g13/sh-dmcrypt.c:985,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/g13/sh-dmcrypt.c:991,1
    - Dst: strrchr
      Src: /src/gnupg/g13/sh-dmcrypt.c:994,1
    - Dst: BUG
      Src: /src/gnupg/g13/sh-dmcrypt.c:996,1
    - Dst: find_tuple
      Src: /src/gnupg/g13/sh-dmcrypt.c:1000,1
    - Dst: is_valid_algostr
      Src: /src/gnupg/g13/sh-dmcrypt.c:1001,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:1003,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:1004,1
    - Dst: find_tuple
      Src: /src/gnupg/g13/sh-dmcrypt.c:1009,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:1013,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:1015,1
    - Dst: gpg_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:1016,1
    - Dst: strcpy
      Src: /src/gnupg/g13/sh-dmcrypt.c:1019,1
    - Dst: bin2hex
      Src: /src/gnupg/g13/sh-dmcrypt.c:1020,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:1030,1
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/g13/sh-dmcrypt.c:1031,1
    - Dst: wipememory
      Src: /src/gnupg/g13/sh-dmcrypt.c:1033,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:1036,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:1037,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:1041,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:1042,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:1052,1
    - Dst: gnupg_exec_tool
      Src: /src/gnupg/g13/sh-dmcrypt.c:1053,1
    - Dst: log_error
      Src: /src/gnupg/g13/sh-dmcrypt.c:1057,1
    - Dst: gpg_strerror
      Src: /src/gnupg/g13/sh-dmcrypt.c:1058,1
    - Dst: log_debug
      Src: /src/gnupg/g13/sh-dmcrypt.c:1062,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:1063,1
    - Dst: wipememory
      Src: /src/gnupg/g13/sh-dmcrypt.c:1067,1
    - Dst: wipememory
      Src: /src/gnupg/g13/sh-dmcrypt.c:1070,1
    - Dst: strlen
      Src: /src/gnupg/g13/sh-dmcrypt.c:1070,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:1071,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:1073,1
    - Dst: xfree
      Src: /src/gnupg/g13/sh-dmcrypt.c:1074,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 3
    argNames:
    - ctrl
    - devname
    - keyblob
    argTypes:
    - ctrl_t
    - char*
    - tupledesc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 954
    functionDepth: 7
    functionLinenumber: 954
    functionLinenumberEnd: 1076
    functionName: sh_dmcrypt_resume_container
    functionSourceFile: /src/gnupg/g13/sh-dmcrypt.c
    functionUses: 1
    functionsReached:
    - g13_syshelp_i_know_what_i_am_doing
    - strlen
    - BUG
    - log_error
    - wipememory
    - find_tuple
    - log_debug
    - gnupg_exec_tool
    - gpg_error_from_syserror
    - check_blockdev
    - gpg_error
    - gpg_strerror
    - xfree
    - bin2hex
    - strconcat
    - gpg_err_code
    - is_valid_algostr
    - strcpy
    - strrchr
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t sh_dmcrypt_resume_container (ctrl_t ctrl, const char *devname,\n
      \                            tupledesc_t keyblob)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: PARM_ERROR
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARM_ERROR(t)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: get_assuan_ctx_from_ctrl
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: assuan_context_t
    signature: assuan_context_t get_assuan_ctx_from_ctrl (ctrl_t ctrl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/kbx/kbxserver.c:137,1
    - Dst: assuan_get_output_fd
      Src: /src/gnupg/kbx/kbxserver.c:142,1
    - Dst: get_assuan_ctx_from_ctrl
      Src: /src/gnupg/kbx/kbxserver.c:142,1
    - Dst: open_stream_nc
      Src: /src/gnupg/kbx/kbxserver.c:147,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/kbx/kbxserver.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 154
    functionName: prepare_outstream
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 0
    functionsReached:
    - gpg_err_code_from_syserror
    - log_assert
    - assuan_get_output_fd
    - get_assuan_ctx_from_ctrl
    - open_stream_nc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t prepare_outstream (ctrl_t ctrl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_write
      Src: /src/gnupg/kbx/kbxserver.c:164,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/kbxserver.c:166,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxserver.c:167,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbxserver.c:167,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/kbxserver.c:171,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxserver.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - fp
    - buffer
    - length
    argTypes:
    - estream_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 178
    functionName: kbxd_writen
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - es_write
    - gpg_error
    - gpg_strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t kbxd_writen (estream_t fp, const void *buffer, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_assuan_ctx_from_ctrl
      Src: /src/gnupg/kbx/kbxserver.c:186,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/kbxserver.c:189,1
    - Dst: va_start
      Src: /src/gnupg/kbx/kbxserver.c:191,1
    - Dst: vprint_assuan_status
      Src: /src/gnupg/kbx/kbxserver.c:192,1
    - Dst: va_end
      Src: /src/gnupg/kbx/kbxserver.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctrl
    - keyword
    - format
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: kbxd_status_printf
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 0
    functionsReached:
    - va_end
    - vprint_assuan_status
    - get_assuan_ctx_from_ctrl
    - gpg_error
    - va_start
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t kbxd_status_printf (ctrl_t ctrl, const char *keyword, const
      char *format, ...)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_assuan_ctx_from_ctrl
      Src: /src/gnupg/kbx/kbxserver.c:204,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/kbxserver.c:208,1
    - Dst: ulongtobuf
      Src: /src/gnupg/kbx/kbxserver.c:215,1
    - Dst: kbxd_writen
      Src: /src/gnupg/kbx/kbxserver.c:216,1
    - Dst: kbxd_writen
      Src: /src/gnupg/kbx/kbxserver.c:218,1
    - Dst: es_fflush
      Src: /src/gnupg/kbx/kbxserver.c:219,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/kbxserver.c:221,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxserver.c:222,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbxserver.c:222,1
    - Dst: assuan_send_data
      Src: /src/gnupg/kbx/kbxserver.c:241,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/kbx/kbxserver.c:244,1
    - Dst: assuan_send_data
      Src: /src/gnupg/kbx/kbxserver.c:249,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/kbx/kbxserver.c:251,1
    - Dst: assuan_send_data
      Src: /src/gnupg/kbx/kbxserver.c:259,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/kbx/kbxserver.c:262,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 50
    argCount: 3
    argNames:
    - ctrl
    - buffer_arg
    - size
    argTypes:
    - ctrl_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 275
    functionName: kbxd_write_data_line
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - gpg_error_from_syserror
    - log_error
    - get_assuan_ctx_from_ctrl
    - ulongtobuf
    - gpg_error
    - gpg_strerror
    - kbxd_writen
    - gpg_err_set_errno
    - es_fflush
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t kbxd_write_data_line (ctrl_t ctrl, const void *buffer_arg,
      size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_command_name
      Src: /src/gnupg/kbx/kbxserver.c:285,1
    - Dst: gpg_err_source
      Src: /src/gnupg/kbx/kbxserver.c:288,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxserver.c:289,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbxserver.c:290,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxserver.c:292,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbxserver.c:293,1
    - Dst: gpg_strsource
      Src: /src/gnupg/kbx/kbxserver.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - assuan_context_t
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 296
    functionName: leave_cmd
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 18
    functionsReached:
    - log_error
    - gpg_strerror
    - assuan_get_command_name
    - gpg_strsource
    - gpg_err_source
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t leave_cmd (assuan_context_t ctx, gpg_error_t err)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/kbx/kbxserver.c:304,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/kbxserver.c:307,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbxserver.c:310,1
    - Dst: xtrystrdup
      Src: /src/gnupg/kbx/kbxserver.c:311,1
    - Dst: out_of_core
      Src: /src/gnupg/kbx/kbxserver.c:313,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/kbxserver.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - assuan_context_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: option_handler
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 5
    functionsReached:
    - strcmp
    - xtrystrdup
    - gpg_error
    - xfree
    - out_of_core
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t option_handler (assuan_context_t ctx, const char *key,
      const char *value)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/kbx/kbxserver.c:334,1
    - Dst: has_option
      Src: /src/gnupg/kbx/kbxserver.c:339,1
    - Dst: has_option
      Src: /src/gnupg/kbx/kbxserver.c:340,1
    - Dst: has_option
      Src: /src/gnupg/kbx/kbxserver.c:341,1
    - Dst: has_option
      Src: /src/gnupg/kbx/kbxserver.c:342,1
    - Dst: skip_options
      Src: /src/gnupg/kbx/kbxserver.c:343,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:351,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:358,1
    - Dst: memset
      Src: /src/gnupg/kbx/kbxserver.c:363,1
    - Dst: classify_user_id
      Src: /src/gnupg/kbx/kbxserver.c:370,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/kbxserver.c:386,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/kbxserver.c:389,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/kbxserver.c:393,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/kbxserver.c:396,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbxserver.c:397,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/kbxserver.c:408,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/kbxserver.c:411,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/kbxserver.c:414,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/kbxserver.c:417,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbxserver.c:418,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbxserver.c:426,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbxserver.c:427,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbxserver.c:441,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/kbxserver.c:442,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/kbxserver.c:445,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/kbxserver.c:448,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbxserver.c:454,1
    - Dst: xtrystrdup
      Src: /src/gnupg/kbx/kbxserver.c:455,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/kbxserver.c:458,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbxserver.c:459,1
    - Dst: prepare_outstream
      Src: /src/gnupg/kbx/kbxserver.c:485,1
    - Dst: kbxd_search
      Src: /src/gnupg/kbx/kbxserver.c:489,1
    - Dst: kbxd_search
      Src: /src/gnupg/kbx/kbxserver.c:492,1
    - Dst: leave_cmd
      Src: /src/gnupg/kbx/kbxserver.c:504,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 129
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 505
    functionName: cmd_search
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 0
    functionsReached:
    - prepare_outstream
    - kbxd_search
    - leave_cmd
    - set_error
    - gpg_error_from_syserror
    - xtrystrdup
    - skip_options
    - classify_user_id
    - memset
    - xfree
    - has_option
    - xtrycalloc
    - memcpy
    - xtrymalloc
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_search (assuan_context_t ctx, char *line)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/kbx/kbxserver.c:515,1
    - Dst: has_option
      Src: /src/gnupg/kbx/kbxserver.c:519,1
    - Dst: skip_options
      Src: /src/gnupg/kbx/kbxserver.c:520,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:524,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:530,1
    - Dst: prepare_outstream
      Src: /src/gnupg/kbx/kbxserver.c:538,1
    - Dst: kbxd_search
      Src: /src/gnupg/kbx/kbxserver.c:549,1
    - Dst: kbxd_search
      Src: /src/gnupg/kbx/kbxserver.c:558,1
    - Dst: leave_cmd
      Src: /src/gnupg/kbx/kbxserver.c:566,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 567
    functionName: cmd_next
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 0
    functionsReached:
    - prepare_outstream
    - kbxd_search
    - leave_cmd
    - set_error
    - skip_options
    - has_option
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_next (assuan_context_t ctx, char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/kbx/kbxserver.c:582,1
    - Dst: has_option
      Src: /src/gnupg/kbx/kbxserver.c:589,1
    - Dst: has_option
      Src: /src/gnupg/kbx/kbxserver.c:590,1
    - Dst: skip_options
      Src: /src/gnupg/kbx/kbxserver.c:591,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:594,1
    - Dst: assuan_inquire
      Src: /src/gnupg/kbx/kbxserver.c:605,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxserver.c:608,1
    - Dst: _
      Src: /src/gnupg/kbx/kbxserver.c:608,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbxserver.c:608,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/kbxserver.c:614,1
    - Dst: kbxd_store
      Src: /src/gnupg/kbx/kbxserver.c:618,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbxserver.c:622,1
    - Dst: leave_cmd
      Src: /src/gnupg/kbx/kbxserver.c:623,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 624
    functionName: cmd_store
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - set_error
    - log_error
    - assuan_inquire
    - _
    - kbxd_store
    - skip_options
    - gpg_error
    - gpg_strerror
    - xfree
    - has_option
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_store (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/kbx/kbxserver.c:634,1
    - Dst: skip_options
      Src: /src/gnupg/kbx/kbxserver.c:639,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:642,1
    - Dst: hex2bin
      Src: /src/gnupg/kbx/kbxserver.c:649,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:651,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:656,1
    - Dst: kbxd_delete
      Src: /src/gnupg/kbx/kbxserver.c:660,1
    - Dst: leave_cmd
      Src: /src/gnupg/kbx/kbxserver.c:664,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 665
    functionName: cmd_delete
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - set_error
    - skip_options
    - hex2bin
    - kbxd_delete
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_delete (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/kbx/kbxserver.c:675,1
    - Dst: has_option
      Src: /src/gnupg/kbx/kbxserver.c:677,1
    - Dst: leave_cmd
      Src: /src/gnupg/kbx/kbxserver.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 685
    functionName: cmd_setephemeral
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 0
    functionsReached:
    - has_option
    - leave_cmd
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_setephemeral (assuan_context_t ctx, char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/kbx/kbxserver.c:695,1
    - Dst: has_option
      Src: /src/gnupg/kbx/kbxserver.c:704,1
    - Dst: has_option
      Src: /src/gnupg/kbx/kbxserver.c:705,1
    - Dst: has_option
      Src: /src/gnupg/kbx/kbxserver.c:706,1
    - Dst: skip_options
      Src: /src/gnupg/kbx/kbxserver.c:714,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:717,1
    - Dst: hex2bin
      Src: /src/gnupg/kbx/kbxserver.c:724,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:726,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:731,1
    - Dst: kbxd_putkeyflag
      Src: /src/gnupg/kbx/kbxserver.c:735,1
    - Dst: leave_cmd
      Src: /src/gnupg/kbx/kbxserver.c:738,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 739
    functionName: cmd_putkeyflag
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - set_error
    - kbxd_putkeyflag
    - skip_options
    - hex2bin
    - has_option
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_putkeyflag (assuan_context_t ctx, char *line)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: skip_options
      Src: /src/gnupg/kbx/kbxserver.c:754,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/kbxserver.c:756,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:761,1
    - Dst: assuan_get_pid
      Src: /src/gnupg/kbx/kbxserver.c:765,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/kbxserver.c:768,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:771,1
    - Dst: assuan_get_pid
      Src: /src/gnupg/kbx/kbxserver.c:772,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:773,1
    - Dst: kbxd_commit
      Src: /src/gnupg/kbx/kbxserver.c:775,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/kbxserver.c:777,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:780,1
    - Dst: assuan_get_pid
      Src: /src/gnupg/kbx/kbxserver.c:781,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:782,1
    - Dst: kbxd_rollback
      Src: /src/gnupg/kbx/kbxserver.c:784,1
    - Dst: assuan_get_pid
      Src: /src/gnupg/kbx/kbxserver.c:788,1
    - Dst: assuan_set_okay_line
      Src: /src/gnupg/kbx/kbxserver.c:789,1
    - Dst: assuan_set_okay_line
      Src: /src/gnupg/kbx/kbxserver.c:793,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:797,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:801,1
    - Dst: leave_cmd
      Src: /src/gnupg/kbx/kbxserver.c:805,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 806
    functionName: cmd_transaction
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - set_error
    - assuan_set_okay_line
    - assuan_get_pid
    - strcmp
    - skip_options
    - kbxd_commit
    - kbxd_rollback
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_transaction (assuan_context_t ctx, char *line)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/kbx/kbxserver.c:825,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/kbxserver.c:829,1
    - Dst: assuan_send_data
      Src: /src/gnupg/kbx/kbxserver.c:832,1
    - Dst: strlen
      Src: /src/gnupg/kbx/kbxserver.c:832,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/kbxserver.c:834,1
    - Dst: snprintf
      Src: /src/gnupg/kbx/kbxserver.c:836,1
    - Dst: getpid
      Src: /src/gnupg/kbx/kbxserver.c:836,1
    - Dst: assuan_send_data
      Src: /src/gnupg/kbx/kbxserver.c:837,1
    - Dst: strlen
      Src: /src/gnupg/kbx/kbxserver.c:837,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/kbxserver.c:839,1
    - Dst: get_kbxd_socket_name
      Src: /src/gnupg/kbx/kbxserver.c:841,1
    - Dst: assuan_send_data
      Src: /src/gnupg/kbx/kbxserver.c:844,1
    - Dst: strlen
      Src: /src/gnupg/kbx/kbxserver.c:844,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/kbxserver.c:846,1
    - Dst: snprintf
      Src: /src/gnupg/kbx/kbxserver.c:848,1
    - Dst: assuan_send_data
      Src: /src/gnupg/kbx/kbxserver.c:849,1
    - Dst: strlen
      Src: /src/gnupg/kbx/kbxserver.c:849,1
    - Dst: strncmp
      Src: /src/gnupg/kbx/kbxserver.c:851,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/kbxserver.c:858,1
    - Dst: getenv
      Src: /src/gnupg/kbx/kbxserver.c:861,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:863,1
    - Dst: assuan_send_data
      Src: /src/gnupg/kbx/kbxserver.c:865,1
    - Dst: strlen
      Src: /src/gnupg/kbx/kbxserver.c:865,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/kbxserver.c:868,1
    - Dst: snprintf
      Src: /src/gnupg/kbx/kbxserver.c:870,1
    - Dst: get_kbxd_active_connection_count
      Src: /src/gnupg/kbx/kbxserver.c:871,1
    - Dst: assuan_send_data
      Src: /src/gnupg/kbx/kbxserver.c:872,1
    - Dst: strlen
      Src: /src/gnupg/kbx/kbxserver.c:872,1
    - Dst: set_error
      Src: /src/gnupg/kbx/kbxserver.c:875,1
    - Dst: leave_cmd
      Src: /src/gnupg/kbx/kbxserver.c:877,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 878
    functionName: cmd_getinfo
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - leave_cmd
    - strlen
    - set_error
    - snprintf
    - getenv
    - strcmp
    - get_kbxd_socket_name
    - gpg_error
    - get_kbxd_active_connection_count
    - getpid
    - strncmp
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_getinfo (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/kbx/kbxserver.c:890,1
    - Dst: assuan_set_flag
      Src: /src/gnupg/kbx/kbxserver.c:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 897
    functionName: cmd_killkeyboxd
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 0
    functionsReached:
    - assuan_set_flag
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_killkeyboxd (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kbxd_sighup_action
      Src: /src/gnupg/kbx/kbxserver.c:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 913
    functionName: cmd_reloadkeyboxd
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 0
    functionsReached:
    - kbxd_sighup_action
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_reloadkeyboxd (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_register_command
      Src: /src/gnupg/kbx/kbxserver.c:950,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 956
    functionName: register_commands
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 5
    functionsReached:
    - assuan_register_command
    linkageType: ''
    returnType: int
    signature: int register_commands (assuan_context_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/kbx/kbxserver.c:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 969
    functionName: reset_notify
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 5
    functionsReached:
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t reset_notify (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/kbx/kbxserver.c:980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - cat
    - msg
    argTypes:
    - assuan_context_t
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 993
    functionName: kbxd_assuan_log_monitor
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 0
    functionsReached:
    - assuan_get_pointer
    linkageType: ''
    returnType: int
    signature: "int kbxd_assuan_log_monitor (assuan_context_t ctx, unsigned int cat,\n
      \                        const char *msg)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/kbxserver.c:1007,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxserver.c:1010,1
    - Dst: _
      Src: /src/gnupg/kbx/kbxserver.c:1010,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbxserver.c:1011,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/kbxserver.c:1011,1
    - Dst: assuan_new
      Src: /src/gnupg/kbx/kbxserver.c:1016,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxserver.c:1019,1
    - Dst: _
      Src: /src/gnupg/kbx/kbxserver.c:1019,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbxserver.c:1020,1
    - Dst: kbxd_exit
      Src: /src/gnupg/kbx/kbxserver.c:1021,1
    - Dst: assuan_fdopen
      Src: /src/gnupg/kbx/kbxserver.c:1028,1
    - Dst: assuan_fdopen
      Src: /src/gnupg/kbx/kbxserver.c:1029,1
    - Dst: assuan_init_pipe_server
      Src: /src/gnupg/kbx/kbxserver.c:1030,1
    - Dst: assuan_init_socket_server
      Src: /src/gnupg/kbx/kbxserver.c:1034,1
    - Dst: assuan_release
      Src: /src/gnupg/kbx/kbxserver.c:1041,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxserver.c:1042,1
    - Dst: _
      Src: /src/gnupg/kbx/kbxserver.c:1042,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbxserver.c:1043,1
    - Dst: kbxd_exit
      Src: /src/gnupg/kbx/kbxserver.c:1044,1
    - Dst: register_commands
      Src: /src/gnupg/kbx/kbxserver.c:1047,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxserver.c:1050,1
    - Dst: _
      Src: /src/gnupg/kbx/kbxserver.c:1050,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbxserver.c:1051,1
    - Dst: kbxd_exit
      Src: /src/gnupg/kbx/kbxserver.c:1052,1
    - Dst: xtryasprintf
      Src: /src/gnupg/kbx/kbxserver.c:1058,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/kbx/kbxserver.c:1062,1
    - Dst: assuan_set_pointer
      Src: /src/gnupg/kbx/kbxserver.c:1068,1
    - Dst: assuan_set_hello_line
      Src: /src/gnupg/kbx/kbxserver.c:1070,1
    - Dst: assuan_register_option_handler
      Src: /src/gnupg/kbx/kbxserver.c:1071,1
    - Dst: assuan_register_reset_notify
      Src: /src/gnupg/kbx/kbxserver.c:1072,1
    - Dst: assuan_accept
      Src: /src/gnupg/kbx/kbxserver.c:1082,1
    - Dst: log_info
      Src: /src/gnupg/kbx/kbxserver.c:1087,1
    - Dst: _
      Src: /src/gnupg/kbx/kbxserver.c:1087,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbxserver.c:1087,1
    - Dst: assuan_get_peercred
      Src: /src/gnupg/kbx/kbxserver.c:1096,1
    - Dst: log_info
      Src: /src/gnupg/kbx/kbxserver.c:1097,1
    - Dst: assuan_get_pid
      Src: /src/gnupg/kbx/kbxserver.c:1102,1
    - Dst: assuan_process
      Src: /src/gnupg/kbx/kbxserver.c:1104,1
    - Dst: log_info
      Src: /src/gnupg/kbx/kbxserver.c:1107,1
    - Dst: _
      Src: /src/gnupg/kbx/kbxserver.c:1107,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbxserver.c:1107,1
    - Dst: kbxd_rollback
      Src: /src/gnupg/kbx/kbxserver.c:1125,1
    - Dst: assuan_close_output_fd
      Src: /src/gnupg/kbx/kbxserver.c:1128,1
    - Dst: assuan_release
      Src: /src/gnupg/kbx/kbxserver.c:1131,1
    - Dst: kbxd_exit
      Src: /src/gnupg/kbx/kbxserver.c:1134,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxserver.c:1137,1
    - Dst: BUG
      Src: /src/gnupg/kbx/kbxserver.c:1151,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbxserver.c:1155,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbxserver.c:1162,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbxserver.c:1163,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbxserver.c:1165,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbxserver.c:1167,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 93
    argCount: 3
    argNames:
    - ctrl
    - fd
    - session_id
    argTypes:
    - ctrl_t
    - gnupg_fd_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 999
    functionDepth: 5
    functionLinenumber: 999
    functionLinenumberEnd: 1170
    functionName: kbxd_start_command_handler
    functionSourceFile: /src/gnupg/kbx/kbxserver.c
    functionUses: 0
    functionsReached:
    - kbxd_exit
    - gnupg_homedir
    - assuan_close_output_fd
    - BUG
    - xtryasprintf
    - register_commands
    - assuan_get_peercred
    - log_error
    - assuan_set_hello_line
    - _
    - log_info
    - assuan_fdopen
    - kbxd_rollback
    - assuan_new
    - gpg_error_from_syserror
    - assuan_register_reset_notify
    - assuan_init_socket_server
    - gpg_strerror
    - assuan_register_option_handler
    - xfree
    - xtrycalloc
    - assuan_process
    - assuan_init_pipe_server
    - assuan_get_pid
    - assuan_release
    - assuan_accept
    - assuan_set_pointer
    linkageType: ''
    returnType: void
    signature: void kbxd_start_command_handler (ctrl_t ctrl, gnupg_fd_t fd, unsigned
      int session_id)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/kbx/kbxutil.c:117,1
    - Dst: _
      Src: /src/gnupg/kbx/kbxutil.c:121,1
    - Dst: _
      Src: /src/gnupg/kbx/kbxutil.c:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 132
    functionName: my_strusage
    functionSourceFile: /src/gnupg/kbx/kbxutil.c
    functionUses: 0
    functionsReached:
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage( int level )'
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 167
    functionName: hextobyte
    functionSourceFile: /src/gnupg/kbx/kbxutil.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hextobyte( const byte *s )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hextobyte
      Src: /src/gnupg/kbx/kbxutil.c:182,1
    - Dst: gcry_xstrdup
      Src: /src/gnupg/kbx/kbxutil.c:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: format_fingerprint
    functionSourceFile: /src/gnupg/kbx/kbxutil.c
    functionUses: 0
    functionsReached:
    - hextobyte
    - gcry_xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      format_fingerprint ( const char *s )'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/kbx/kbxutil.c:198,1
    - Dst: strtoul
      Src: /src/gnupg/kbx/kbxutil.c:201,1
    - Dst: mem2str
      Src: /src/gnupg/kbx/kbxutil.c:205,1
    - Dst: strtoul
      Src: /src/gnupg/kbx/kbxutil.c:206,1
    - Dst: strtoul
      Src: /src/gnupg/kbx/kbxutil.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - s
    - kid
    argTypes:
    - char*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 211
    functionName: format_keyid
    functionSourceFile: /src/gnupg/kbx/kbxutil.c
    functionUses: 8
    functionsReached:
    - mem2str
    - strtoul
    - strlen
    linkageType: ''
    returnType: int
    signature: int format_keyid ( const char *s, u32 *kid )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/kbx/kbxutil.c:221,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/kbxutil.c:233,1
    - Dst: xtryrealloc
      Src: /src/gnupg/kbx/kbxutil.c:235,1
    - Dst: log_fatal
      Src: /src/gnupg/kbx/kbxutil.c:237,1
    - Dst: strerror
      Src: /src/gnupg/kbx/kbxutil.c:237,1
    - Dst: es_fread
      Src: /src/gnupg/kbx/kbxutil.c:239,1
    - Dst: es_ferror
      Src: /src/gnupg/kbx/kbxutil.c:240,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxutil.c:242,1
    - Dst: strerror
      Src: /src/gnupg/kbx/kbxutil.c:242,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbxutil.c:243,1
    - Dst: es_fopen
      Src: /src/gnupg/kbx/kbxutil.c:256,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxutil.c:259,1
    - Dst: strerror
      Src: /src/gnupg/kbx/kbxutil.c:259,1
    - Dst: fstat
      Src: /src/gnupg/kbx/kbxutil.c:263,1
    - Dst: es_fileno
      Src: /src/gnupg/kbx/kbxutil.c:263,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxutil.c:265,1
    - Dst: strerror
      Src: /src/gnupg/kbx/kbxutil.c:265,1
    - Dst: es_fclose
      Src: /src/gnupg/kbx/kbxutil.c:266,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/kbxutil.c:271,1
    - Dst: log_fatal
      Src: /src/gnupg/kbx/kbxutil.c:273,1
    - Dst: strerror
      Src: /src/gnupg/kbx/kbxutil.c:273,1
    - Dst: es_fread
      Src: /src/gnupg/kbx/kbxutil.c:274,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxutil.c:276,1
    - Dst: strerror
      Src: /src/gnupg/kbx/kbxutil.c:276,1
    - Dst: es_fclose
      Src: /src/gnupg/kbx/kbxutil.c:277,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbxutil.c:278,1
    - Dst: es_fclose
      Src: /src/gnupg/kbx/kbxutil.c:281,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - fname
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 286
    functionName: read_file
    functionSourceFile: /src/gnupg/kbx/kbxutil.c
    functionUses: 4
    functionsReached:
    - log_error
    - es_fclose
    - log_fatal
    - es_fread
    - strcmp
    - xtryrealloc
    - fstat
    - es_fileno
    - xfree
    - es_fopen
    - strerror
    - es_ferror
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      read_file (const char *fname, size_t *r_length)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/gnupg/kbx/kbxutil.c:299,1
    - Dst: printf
      Src: /src/gnupg/kbx/kbxutil.c:300,1
    - Dst: putchar
      Src: /src/gnupg/kbx/kbxutil.c:306,1
    - Dst: printf
      Src: /src/gnupg/kbx/kbxutil.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 310
    functionName: dump_fpr
    functionSourceFile: /src/gnupg/kbx/kbxutil.c
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: void dump_fpr (const unsigned char *buffer, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/kbx/kbxutil.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: dump_grip
    functionSourceFile: /src/gnupg/kbx/kbxutil.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void dump_grip (const unsigned char *buffer, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/kbx/kbxutil.c:328,1
    - Dst: dump_fpr
      Src: /src/gnupg/kbx/kbxutil.c:332,1
    - Dst: putchar
      Src: /src/gnupg/kbx/kbxutil.c:333,1
    - Dst: fputs
      Src: /src/gnupg/kbx/kbxutil.c:334,1
    - Dst: dump_grip
      Src: /src/gnupg/kbx/kbxutil.c:335,1
    - Dst: putchar
      Src: /src/gnupg/kbx/kbxutil.c:336,1
    - Dst: printf
      Src: /src/gnupg/kbx/kbxutil.c:344,1
    - Dst: dump_fpr
      Src: /src/gnupg/kbx/kbxutil.c:348,1
    - Dst: putchar
      Src: /src/gnupg/kbx/kbxutil.c:349,1
    - Dst: fputs
      Src: /src/gnupg/kbx/kbxutil.c:350,1
    - Dst: dump_grip
      Src: /src/gnupg/kbx/kbxutil.c:351,1
    - Dst: putchar
      Src: /src/gnupg/kbx/kbxutil.c:352,1
    - Dst: printf
      Src: /src/gnupg/kbx/kbxutil.c:364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - info
    - image
    argTypes:
    - keybox_openpgp_info_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 369
    functionName: dump_openpgp_key
    functionSourceFile: /src/gnupg/kbx/kbxutil.c
    functionUses: 0
    functionsReached:
    - printf
    - dump_fpr
    - dump_grip
    - fputs
    - putchar
    linkageType: ''
    returnType: void
    signature: void dump_openpgp_key (keybox_openpgp_info_t info, const unsigned char
      *image)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/gnupg/kbx/kbxutil.c:382,1
    - Dst: _keybox_parse_openpgp
      Src: /src/gnupg/kbx/kbxutil.c:388,1
    - Dst: assert
      Src: /src/gnupg/kbx/kbxutil.c:389,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/kbxutil.c:392,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/kbxutil.c:394,1
    - Dst: es_fflush
      Src: /src/gnupg/kbx/kbxutil.c:402,1
    - Dst: log_info
      Src: /src/gnupg/kbx/kbxutil.c:403,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbxutil.c:404,1
    - Dst: dump_openpgp_key
      Src: /src/gnupg/kbx/kbxutil.c:410,1
    - Dst: _keybox_create_openpgp_blob
      Src: /src/gnupg/kbx/kbxutil.c:413,1
    - Dst: es_fflush
      Src: /src/gnupg/kbx/kbxutil.c:416,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxutil.c:417,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbxutil.c:418,1
    - Dst: _keybox_write_blob
      Src: /src/gnupg/kbx/kbxutil.c:422,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/kbxutil.c:423,1
    - Dst: es_fflush
      Src: /src/gnupg/kbx/kbxutil.c:426,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxutil.c:427,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbxutil.c:428,1
    - Dst: _keybox_destroy_openpgp_info
      Src: /src/gnupg/kbx/kbxutil.c:433,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbxutil.c:438,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - filename
    - dryrun
    argTypes:
    - char*
    - int
    assertStmts:
    - condition: (nparsed <= buflen)
      pos:
        line_end: 388
        line_start: 388
        source_file: /src/gnupg/kbx/kbxutil.c
    constantsTouched: []
    func_position:
      end: 439
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 439
    functionName: import_openpgp
    functionSourceFile: /src/gnupg/kbx/kbxutil.c
    functionUses: 0
    functionsReached:
    - assert
    - _keybox_parse_openpgp
    - log_error
    - _keybox_write_blob
    - read_file
    - _keybox_destroy_openpgp_info
    - gpg_err_code
    - log_info
    - gpg_strerror
    - _keybox_create_openpgp_blob
    - xfree
    - dump_openpgp_key
    - es_fflush
    - _keybox_release_blob
    linkageType: ''
    returnType: void
    signature: void import_openpgp (const char *filename, int dryrun)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: early_system_init
      Src: /src/gnupg/kbx/kbxutil.c:452,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/kbx/kbxutil.c:453,1
    - Dst: gcry_control
      Src: /src/gnupg/kbx/kbxutil.c:454,1
    - Dst: log_set_prefix
      Src: /src/gnupg/kbx/kbxutil.c:455,1
    - Dst: i18n_init
      Src: /src/gnupg/kbx/kbxutil.c:458,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/kbx/kbxutil.c:459,1
    - Dst: setup_libgcrypt_logging
      Src: /src/gnupg/kbx/kbxutil.c:460,1
    - Dst: ksba_set_malloc_hooks
      Src: /src/gnupg/kbx/kbxutil.c:465,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/kbx/kbxutil.c:471,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/kbx/kbxutil.c:506,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxutil.c:509,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/kbx/kbxutil.c:512,1
    - Dst: myexit
      Src: /src/gnupg/kbx/kbxutil.c:513,1
    - Dst: _keybox_dump_file
      Src: /src/gnupg/kbx/kbxutil.c:518,1
    - Dst: _keybox_dump_file
      Src: /src/gnupg/kbx/kbxutil.c:522,1
    - Dst: _keybox_dump_file
      Src: /src/gnupg/kbx/kbxutil.c:528,1
    - Dst: _keybox_dump_file
      Src: /src/gnupg/kbx/kbxutil.c:532,1
    - Dst: _keybox_dump_find_dups
      Src: /src/gnupg/kbx/kbxutil.c:538,1
    - Dst: _keybox_dump_find_dups
      Src: /src/gnupg/kbx/kbxutil.c:542,1
    - Dst: _keybox_dump_cut_records
      Src: /src/gnupg/kbx/kbxutil.c:548,1
    - Dst: _keybox_dump_cut_records
      Src: /src/gnupg/kbx/kbxutil.c:552,1
    - Dst: import_openpgp
      Src: /src/gnupg/kbx/kbxutil.c:558,1
    - Dst: import_openpgp
      Src: /src/gnupg/kbx/kbxutil.c:562,1
    - Dst: wrong_args
      Src: /src/gnupg/kbx/kbxutil.c:570,1
    - Dst: format_fingerprint
      Src: /src/gnupg/kbx/kbxutil.c:571,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxutil.c:573,1
    - Dst: kbxfile_search_by_fpr
      Src: /src/gnupg/kbx/kbxutil.c:576,1
    - Dst: gcry_free
      Src: /src/gnupg/kbx/kbxutil.c:577,1
    - Dst: wrong_args
      Src: /src/gnupg/kbx/kbxutil.c:586,1
    - Dst: format_keyid
      Src: /src/gnupg/kbx/kbxutil.c:587,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbxutil.c:589,1
    - Dst: kbxfile_search_by_kid
      Src: /src/gnupg/kbx/kbxutil.c:592,1
    - Dst: wrong_args
      Src: /src/gnupg/kbx/kbxutil.c:598,1
    - Dst: kbxfile_search_by_uid
      Src: /src/gnupg/kbx/kbxutil.c:599,1
    - Dst: myexit
      Src: /src/gnupg/kbx/kbxutil.c:605,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 106
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 607
    functionName: main
    functionSourceFile: /src/gnupg/kbx/kbxutil.c
    functionUses: 6
    functionsReached:
    - init_common_subsystems
    - kbxfile_search_by_fpr
    - myexit
    - gpgrt_set_strusage
    - log_error
    - early_system_init
    - log_set_prefix
    - log_get_errorcount
    - ksba_set_malloc_hooks
    - kbxfile_search_by_kid
    - format_fingerprint
    - setup_libgcrypt_logging
    - gcry_control
    - _keybox_dump_find_dups
    - wrong_args
    - gpgrt_argparse
    - i18n_init
    - import_openpgp
    - gcry_free
    - kbxfile_search_by_uid
    - format_keyid
    - _keybox_dump_cut_records
    - _keybox_dump_file
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_get_errorcount
      Src: /src/gnupg/kbx/kbxutil.c:619,1
    - Dst: exit
      Src: /src/gnupg/kbx/kbxutil.c:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 622
    functionName: myexit
    functionSourceFile: /src/gnupg/kbx/kbxutil.c
    functionUses: 1
    functionsReached:
    - log_get_errorcount
    - exit
    linkageType: ''
    returnType: void
    signature: void myexit( int rc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/kbx/backend-sqlite.c:205,1
    - Dst: log_fatal
      Src: /src/gnupg/kbx/backend-sqlite.c:207,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-sqlite.c:208,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/kbx/backend-sqlite.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: acquire_mutex
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_errno
    - log_fatal
    - npth_mutex_lock
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void acquire_mutex (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/kbx/backend-sqlite.c:217,1
    - Dst: log_fatal
      Src: /src/gnupg/kbx/backend-sqlite.c:219,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-sqlite.c:220,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/kbx/backend-sqlite.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: release_mutex
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_errno
    - log_fatal
    - npth_mutex_unlock
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void release_mutex (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-sqlite.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sqlstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: show_sqlstr
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - log_info
    linkageType: ''
    returnType: void
    signature: void show_sqlstr (const char *sqlstr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_expanded_sql
      Src: /src/gnupg/kbx/backend-sqlite.c:242,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-sqlite.c:244,1
    - Dst: sqlite3_free
      Src: /src/gnupg/kbx/backend-sqlite.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - stmt
    argTypes:
    - sqlite3_stmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: show_sqlstmt
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - log_info
    - sqlite3_free
    - sqlite3_expanded_sql
    linkageType: ''
    returnType: void
    signature: void show_sqlstmt (sqlite3_stmt *stmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:254,1
    - Dst: gpg_err_code_from_sqlite
      Src: /src/gnupg/kbx/backend-sqlite.c:254,1
    - Dst: show_sqlstr
      Src: /src/gnupg/kbx/backend-sqlite.c:255,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:256,1
    - Dst: sqlite3_errstr
      Src: /src/gnupg/kbx/backend-sqlite.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - res
    - sqlstr
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: diag_prepare_err
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - log_error
    - show_sqlstr
    - gpg_error
    - sqlite3_errstr
    - gpg_err_code_from_sqlite
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t diag_prepare_err (int res, const char *sqlstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:265,1
    - Dst: gpg_err_code_from_sqlite
      Src: /src/gnupg/kbx/backend-sqlite.c:265,1
    - Dst: show_sqlstmt
      Src: /src/gnupg/kbx/backend-sqlite.c:266,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:267,1
    - Dst: sqlite3_errstr
      Src: /src/gnupg/kbx/backend-sqlite.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - res
    - stmt
    argTypes:
    - int
    - sqlite3_stmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 270
    functionName: diag_bind_err
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - log_error
    - show_sqlstmt
    - gpg_error
    - sqlite3_errstr
    - gpg_err_code_from_sqlite
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t diag_bind_err (int res, sqlite3_stmt *stmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:278,1
    - Dst: gpg_err_code_from_sqlite
      Src: /src/gnupg/kbx/backend-sqlite.c:278,1
    - Dst: show_sqlstmt
      Src: /src/gnupg/kbx/backend-sqlite.c:279,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:280,1
    - Dst: sqlite3_errstr
      Src: /src/gnupg/kbx/backend-sqlite.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - res
    - stmt
    argTypes:
    - int
    - sqlite3_stmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: diag_step_err
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - log_error
    - show_sqlstmt
    - gpg_error
    - sqlite3_errstr
    - gpg_err_code_from_sqlite
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t diag_step_err (int res, sqlite3_stmt *stmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - keyid
    - buffer
    argTypes:
    - u32*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: kid_from_u32
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GPGRT_INLINE unsigned
    signature: 'GPGRT_INLINE unsigned *

      kid_from_u32 (u32 *keyid, unsigned char *buffer)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_reset
      Src: /src/gnupg/kbx/backend-sqlite.c:312,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:315,1
    - Dst: gpg_err_code_from_sqlite
      Src: /src/gnupg/kbx/backend-sqlite.c:315,1
    - Dst: show_sqlstmt
      Src: /src/gnupg/kbx/backend-sqlite.c:316,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:317,1
    - Dst: sqlite3_errstr
      Src: /src/gnupg/kbx/backend-sqlite.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - stmt
    argTypes:
    - sqlite3_stmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 322
    functionName: run_sql_reset
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - log_error
    - show_sqlstmt
    - gpg_error
    - sqlite3_reset
    - sqlite3_errstr
    - gpg_err_code_from_sqlite
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t run_sql_reset (sqlite3_stmt *stmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strconcat
      Src: /src/gnupg/kbx/backend-sqlite.c:338,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-sqlite.c:340,1
    - Dst: sqlite3_prepare_v2
      Src: /src/gnupg/kbx/backend-sqlite.c:344,1
    - Dst: diag_prepare_err
      Src: /src/gnupg/kbx/backend-sqlite.c:346,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-sqlite.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - sqlstr
    - extra
    - extra2
    - r_stmt
    argTypes:
    - char*
    - char*
    - char*
    - sqlite3_stmt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 351
    functionName: run_sql_prepare
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - sqlite3_prepare_v2
    - diag_prepare_err
    - strconcat
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t run_sql_prepare (const char *sqlstr, const char *extra,
      const char *extra2,\n                 sqlite3_stmt **r_stmt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_bind_blob
      Src: /src/gnupg/kbx/backend-sqlite.c:362,1
    - Dst: diag_bind_err
      Src: /src/gnupg/kbx/backend-sqlite.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - stmt
    - 'no'
    - blob
    - bloblen
    argTypes:
    - sqlite3_stmt*
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 368
    functionName: run_sql_bind_blob
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - sqlite3_bind_blob
    - diag_bind_err
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t run_sql_bind_blob (sqlite3_stmt *stmt, int no,\n                   const
      void *blob, size_t bloblen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_bind_int
      Src: /src/gnupg/kbx/backend-sqlite.c:378,1
    - Dst: diag_bind_err
      Src: /src/gnupg/kbx/backend-sqlite.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - stmt
    - 'no'
    - value
    argTypes:
    - sqlite3_stmt*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 384
    functionName: run_sql_bind_int
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - sqlite3_bind_int
    - diag_bind_err
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t run_sql_bind_int (sqlite3_stmt *stmt, int no, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_bind_text
      Src: /src/gnupg/kbx/backend-sqlite.c:396,1
    - Dst: diag_bind_err
      Src: /src/gnupg/kbx/backend-sqlite.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - stmt
    - 'no'
    - value
    - valuelen
    argTypes:
    - sqlite3_stmt*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 403
    functionName: run_sql_bind_ntext
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - diag_bind_err
    - sqlite3_bind_text
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t run_sql_bind_ntext (sqlite3_stmt *stmt, int no,\n                    const
      char *value, size_t valuelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_sql_bind_ntext
      Src: /src/gnupg/kbx/backend-sqlite.c:411,1
    - Dst: strlen
      Src: /src/gnupg/kbx/backend-sqlite.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stmt
    - 'no'
    - value
    argTypes:
    - sqlite3_stmt*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 4
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: run_sql_bind_text
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - run_sql_bind_ntext
    - strlen
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t run_sql_bind_text (sqlite3_stmt *stmt, int no, const char
      *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_bind_null
      Src: /src/gnupg/kbx/backend-sqlite.c:427,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/backend-sqlite.c:432,1
    - Dst: strlen
      Src: /src/gnupg/kbx/backend-sqlite.c:432,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-sqlite.c:434,1
    - Dst: strcpy
      Src: /src/gnupg/kbx/backend-sqlite.c:436,1
    - Dst: strcat
      Src: /src/gnupg/kbx/backend-sqlite.c:437,1
    - Dst: sqlite3_bind_text
      Src: /src/gnupg/kbx/backend-sqlite.c:438,1
    - Dst: strlen
      Src: /src/gnupg/kbx/backend-sqlite.c:438,1
    - Dst: diag_bind_err
      Src: /src/gnupg/kbx/backend-sqlite.c:441,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-sqlite.c:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - stmt
    - 'no'
    - value
    argTypes:
    - sqlite3_stmt*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 446
    functionName: run_sql_bind_text_like
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - sqlite3_bind_text
    - gpg_error_from_syserror
    - strlen
    - diag_bind_err
    - strcpy
    - xfree
    - sqlite3_bind_null
    - xtrymalloc
    - strcat
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t run_sql_bind_text_like (sqlite3_stmt *stmt, int no, const
      char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: show_sqlstmt
      Src: /src/gnupg/kbx/backend-sqlite.c:456,1
    - Dst: sqlite3_step
      Src: /src/gnupg/kbx/backend-sqlite.c:457,1
    - Dst: diag_step_err
      Src: /src/gnupg/kbx/backend-sqlite.c:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - stmt
    argTypes:
    - sqlite3_stmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 463
    functionName: run_sql_step
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - show_sqlstmt
    - diag_step_err
    - sqlite3_step
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t run_sql_step (sqlite3_stmt *stmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_step
      Src: /src/gnupg/kbx/backend-sqlite.c:475,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:477,1
    - Dst: gpg_err_code_from_sqlite
      Src: /src/gnupg/kbx/backend-sqlite.c:477,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:483,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:485,1
    - Dst: gpg_err_code_from_sqlite
      Src: /src/gnupg/kbx/backend-sqlite.c:485,1
    - Dst: show_sqlstmt
      Src: /src/gnupg/kbx/backend-sqlite.c:486,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:487,1
    - Dst: sqlite3_errstr
      Src: /src/gnupg/kbx/backend-sqlite.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - stmt
    argTypes:
    - sqlite3_stmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 490
    functionName: run_sql_step_for_select
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - log_error
    - sqlite3_step
    - show_sqlstmt
    - gpg_error
    - sqlite3_errstr
    - gpg_err_code_from_sqlite
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t run_sql_step_for_select (sqlite3_stmt *stmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:502,1
    - Dst: run_sql_bind_blob
      Src: /src/gnupg/kbx/backend-sqlite.c:507,1
    - Dst: run_sql_step
      Src: /src/gnupg/kbx/backend-sqlite.c:512,1
    - Dst: sqlite3_finalize
      Src: /src/gnupg/kbx/backend-sqlite.c:513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - sqlstr
    - ubid
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 496
    functionDepth: 4
    functionLinenumber: 496
    functionLinenumberEnd: 519
    functionName: run_sql_statement_bind_ubid
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - sqlite3_finalize
    - run_sql_step
    - run_sql_prepare
    - run_sql_bind_blob
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t run_sql_statement_bind_ubid (const char *sqlstr, const
      unsigned char *ubid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_sql_statement_bind_ubid
      Src: /src/gnupg/kbx/backend-sqlite.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sqlstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 5
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: run_sql_statement
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - run_sql_statement_bind_ubid
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t run_sql_statement (const char *sqlstr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/kbx/backend-sqlite.c:547,1
    - Dst: gpgrt_vsnprintf
      Src: /src/gnupg/kbx/backend-sqlite.c:548,1
    - Dst: va_end
      Src: /src/gnupg/kbx/backend-sqlite.c:549,1
    - Dst: kbxd_status_printf
      Src: /src/gnupg/kbx/backend-sqlite.c:553,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:554,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:557,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-sqlite.c:557,1
    - Dst: va_start
      Src: /src/gnupg/kbx/backend-sqlite.c:563,1
    - Dst: log_logv
      Src: /src/gnupg/kbx/backend-sqlite.c:564,1
    - Dst: va_end
      Src: /src/gnupg/kbx/backend-sqlite.c:565,1
    - Dst: abort
      Src: /src/gnupg/kbx/backend-sqlite.c:568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - h
    - opaque
    - reason
    - format
    argTypes:
    - dotlock_t
    - void*
    - enum dotlock_reasons
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 571
    functionName: dblock_info_cb
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - gpgrt_vsnprintf
    - va_end
    - log_error
    - abort
    - gpg_error
    - gpg_strerror
    - va_start
    - kbxd_status_printf
    - log_logv
    linkageType: ''
    returnType: int
    signature: "int dblock_info_cb (dotlock_t h, void *opaque, enum dotlock_reasons
      reason,\n                const char *format, ...)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-sqlite.c:592,1
    - Dst: DIM
      Src: /src/gnupg/kbx/backend-sqlite.c:593,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/backend-sqlite.c:595,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-sqlite.c:600,1
    - Dst: replace_substr
      Src: /src/gnupg/kbx/backend-sqlite.c:601,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-sqlite.c:603,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:605,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:609,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:612,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:617,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:620,1
    - Dst: DIM
      Src: /src/gnupg/kbx/backend-sqlite.c:623,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/backend-sqlite.c:625,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:627,1
    - Dst: set_config_value
      Src: /src/gnupg/kbx/backend-sqlite.c:631,1
    - Dst: STR2
      Src: /src/gnupg/kbx/backend-sqlite.c:631,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:634,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-sqlite.c:638,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:642,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:643,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-sqlite.c:644,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 583
    functionDepth: 6
    functionLinenumber: 583
    functionLinenumberEnd: 646
    functionName: migrate_from_v1_to_v2
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - run_sql_statement
    - replace_substr
    - set_config_value
    - log_assert
    - gpg_error_from_syserror
    - STR2
    - log_error
    - DIM
    - strcmp
    - log_info
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t migrate_from_v1_to_v2 (void)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: acquire_mutex
      Src: /src/gnupg/kbx/backend-sqlite.c:664,1
    - Dst: release_mutex
      Src: /src/gnupg/kbx/backend-sqlite.c:668,1
    - Dst: dotlock_create_with
      Src: /src/gnupg/kbx/backend-sqlite.c:675,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-sqlite.c:678,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-sqlite.c:680,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-sqlite.c:680,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-sqlite.c:685,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-sqlite.c:691,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-sqlite.c:692,1
    - Dst: dotlock_take
      Src: /src/gnupg/kbx/backend-sqlite.c:696,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-sqlite.c:698,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-sqlite.c:700,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-sqlite.c:700,1
    - Dst: sqlite3_open_v2
      Src: /src/gnupg/kbx/backend-sqlite.c:709,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:717,1
    - Dst: gpg_err_code_from_sqlite
      Src: /src/gnupg/kbx/backend-sqlite.c:717,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:718,1
    - Dst: sqlite3_errstr
      Src: /src/gnupg/kbx/backend-sqlite.c:718,1
    - Dst: sqlite3_extended_result_codes
      Src: /src/gnupg/kbx/backend-sqlite.c:722,1
    - Dst: DIM
      Src: /src/gnupg/kbx/backend-sqlite.c:726,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:728,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/backend-sqlite.c:732,1
    - Dst: get_config_value
      Src: /src/gnupg/kbx/backend-sqlite.c:735,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/backend-sqlite.c:736,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:743,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-sqlite.c:744,1
    - Dst: atoi
      Src: /src/gnupg/kbx/backend-sqlite.c:748,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:751,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-sqlite.c:754,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-sqlite.c:756,1
    - Dst: get_config_value
      Src: /src/gnupg/kbx/backend-sqlite.c:757,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/backend-sqlite.c:758,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-sqlite.c:759,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:761,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-sqlite.c:762,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-sqlite.c:764,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-sqlite.c:766,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-sqlite.c:774,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-sqlite.c:776,1
    - Dst: set_config_value
      Src: /src/gnupg/kbx/backend-sqlite.c:780,1
    - Dst: STR2
      Src: /src/gnupg/kbx/backend-sqlite.c:780,1
    - Dst: set_config_value
      Src: /src/gnupg/kbx/backend-sqlite.c:782,1
    - Dst: isotimestamp
      Src: /src/gnupg/kbx/backend-sqlite.c:782,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/kbx/backend-sqlite.c:782,1
    - Dst: migrate_from_v1_to_v2
      Src: /src/gnupg/kbx/backend-sqlite.c:785,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-sqlite.c:788,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:789,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:801,1
    - Dst: _
      Src: /src/gnupg/kbx/backend-sqlite.c:801,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-sqlite.c:802,1
    - Dst: dotlock_destroy
      Src: /src/gnupg/kbx/backend-sqlite.c:803,1
    - Dst: release_mutex
      Src: /src/gnupg/kbx/backend-sqlite.c:806,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 97
    argCount: 2
    argNames:
    - ctrl
    - filename
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 653
    functionDepth: 7
    functionLinenumber: 653
    functionLinenumberEnd: 808
    functionName: create_or_open_database
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - set_config_value
    - gnupg_get_time
    - STR2
    - dotlock_take
    - sqlite3_open_v2
    - acquire_mutex
    - sqlite3_errstr
    - migrate_from_v1_to_v2
    - dotlock_create_with
    - run_sql_statement
    - release_mutex
    - log_error
    - DIM
    - isotimestamp
    - _
    - log_info
    - gpg_error_from_syserror
    - strcmp
    - gpg_error
    - gpg_strerror
    - xfree
    - get_config_value
    - dotlock_destroy
    - atoi
    - sqlite3_extended_result_codes
    - gpg_err_code
    - gpg_err_code_from_sqlite
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t create_or_open_database (ctrl_t ctrl, const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/backend-sqlite.c:822,1
    - Dst: strlen
      Src: /src/gnupg/kbx/backend-sqlite.c:822,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-sqlite.c:824,1
    - Dst: strcpy
      Src: /src/gnupg/kbx/backend-sqlite.c:826,1
    - Dst: be_new_backend_id
      Src: /src/gnupg/kbx/backend-sqlite.c:827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ctrl
    - r_hd
    - filename
    - readonly
    argTypes:
    - ctrl_t
    - backend_handle_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 831
    functionName: be_sqlite_add_resource
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - strlen
    - gpg_error_from_syserror
    - be_new_backend_id
    - strcpy
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_sqlite_add_resource (ctrl_t ctrl, backend_handle_t
      *r_hd,\n                        const char *filename, int readonly)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-sqlite.c:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctrl
    - hd
    argTypes:
    - ctrl_t
    - backend_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 846
    functionName: be_sqlite_release_resource
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void be_sqlite_release_resource (ctrl_t ctrl, backend_handle_t hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/backend-sqlite.c:855,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-sqlite.c:857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - backend_hd
    - part
    argTypes:
    - backend_handle_t
    - db_request_part_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 859
    functionName: be_sqlite_init_local
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_sqlite_init_local (backend_handle_t backend_hd, db_request_part_t
      part)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_finalize
      Src: /src/gnupg/kbx/backend-sqlite.c:867,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-sqlite.c:868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - be_sqlite_local_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 869
    functionName: be_sqlite_release_local
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - sqlite3_finalize
    - xfree
    linkageType: ''
    returnType: void
    signature: void be_sqlite_release_local (be_sqlite_local_t ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:881,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:882,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 872
    functionDepth: 6
    functionLinenumber: 872
    functionLinenumberEnd: 887
    functionName: be_sqlite_rollback
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - run_sql_statement
    - gpg_error
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_sqlite_rollback (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:899,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:900,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 890
    functionDepth: 6
    functionLinenumber: 890
    functionLinenumberEnd: 905
    functionName: be_sqlite_commit
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - run_sql_statement
    - gpg_error
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_sqlite_commit (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strconcat
      Src: /src/gnupg/kbx/backend-sqlite.c:921,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-sqlite.c:923,1
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:925,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-sqlite.c:926,1
    - Dst: run_sql_step_for_select
      Src: /src/gnupg/kbx/backend-sqlite.c:930,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/backend-sqlite.c:931,1
    - Dst: sqlite3_column_text
      Src: /src/gnupg/kbx/backend-sqlite.c:933,1
    - Dst: xtrystrdup
      Src: /src/gnupg/kbx/backend-sqlite.c:934,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-sqlite.c:936,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/backend-sqlite.c:940,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:941,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-sqlite.c:943,1
    - Dst: sqlite3_finalize
      Src: /src/gnupg/kbx/backend-sqlite.c:945,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - name
    - r_value
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 911
    functionDepth: 4
    functionLinenumber: 911
    functionLinenumberEnd: 948
    functionName: get_config_value
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 1
    functionsReached:
    - sqlite3_finalize
    - run_sql_step_for_select
    - sqlite3_column_text
    - gpg_error_from_syserror
    - log_assert
    - strconcat
    - xtrystrdup
    - gpg_error
    - xfree
    - gpg_err_code
    - run_sql_prepare
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_config_value (const char *name, char **r_value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:958,1
    - Dst: run_sql_bind_text
      Src: /src/gnupg/kbx/backend-sqlite.c:963,1
    - Dst: run_sql_bind_text
      Src: /src/gnupg/kbx/backend-sqlite.c:965,1
    - Dst: run_sql_step
      Src: /src/gnupg/kbx/backend-sqlite.c:967,1
    - Dst: sqlite3_finalize
      Src: /src/gnupg/kbx/backend-sqlite.c:969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 952
    functionDepth: 5
    functionLinenumber: 952
    functionLinenumberEnd: 972
    functionName: set_config_value
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 2
    functionsReached:
    - run_sql_bind_text
    - sqlite3_finalize
    - run_sql_step
    - run_sql_prepare
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t set_config_value (const char *name, const char *value)
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:992,1
    - Dst: sqlite3_finalize
      Src: /src/gnupg/kbx/backend-sqlite.c:1001,1
    - Dst: sqlite3_finalize
      Src: /src/gnupg/kbx/backend-sqlite.c:1008,1
    - Dst: run_sql_reset
      Src: /src/gnupg/kbx/backend-sqlite.c:1019,1
    - Dst: never_reached
      Src: /src/gnupg/kbx/backend-sqlite.c:1040,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1041,1
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:1047,1
    - Dst: run_sql_bind_text
      Src: /src/gnupg/kbx/backend-sqlite.c:1053,1
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:1058,1
    - Dst: xtrystrdup
      Src: /src/gnupg/kbx/backend-sqlite.c:1067,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-sqlite.c:1070,1
    - Dst: ascii_strlwr
      Src: /src/gnupg/kbx/backend-sqlite.c:1073,1
    - Dst: strlen
      Src: /src/gnupg/kbx/backend-sqlite.c:1079,1
    - Dst: strlen
      Src: /src/gnupg/kbx/backend-sqlite.c:1084,1
    - Dst: run_sql_bind_ntext
      Src: /src/gnupg/kbx/backend-sqlite.c:1085,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-sqlite.c:1086,1
    - Dst: strlen
      Src: /src/gnupg/kbx/backend-sqlite.c:1092,1
    - Dst: run_sql_bind_ntext
      Src: /src/gnupg/kbx/backend-sqlite.c:1093,1
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:1101,1
    - Dst: run_sql_bind_text_like
      Src: /src/gnupg/kbx/backend-sqlite.c:1107,1
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:1114,1
    - Dst: run_sql_bind_text_like
      Src: /src/gnupg/kbx/backend-sqlite.c:1120,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1126,1
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:1131,1
    - Dst: run_sql_bind_text
      Src: /src/gnupg/kbx/backend-sqlite.c:1138,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/backend-sqlite.c:1146,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1147,1
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:1152,1
    - Dst: run_sql_bind_ntext
      Src: /src/gnupg/kbx/backend-sqlite.c:1160,1
    - Dst: run_sql_bind_text
      Src: /src/gnupg/kbx/backend-sqlite.c:1163,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1169,1
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:1178,1
    - Dst: run_sql_bind_text
      Src: /src/gnupg/kbx/backend-sqlite.c:1185,1
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:1192,1
    - Dst: run_sql_bind_blob
      Src: /src/gnupg/kbx/backend-sqlite.c:1199,1
    - Dst: kid_from_u32
      Src: /src/gnupg/kbx/backend-sqlite.c:1200,1
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:1207,1
    - Dst: run_sql_bind_blob
      Src: /src/gnupg/kbx/backend-sqlite.c:1213,1
    - Dst: kid_from_u32
      Src: /src/gnupg/kbx/backend-sqlite.c:1214,1
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:1221,1
    - Dst: run_sql_bind_blob
      Src: /src/gnupg/kbx/backend-sqlite.c:1227,1
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:1234,1
    - Dst: run_sql_bind_blob
      Src: /src/gnupg/kbx/backend-sqlite.c:1240,1
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:1246,1
    - Dst: run_sql_bind_blob
      Src: /src/gnupg/kbx/backend-sqlite.c:1251,1
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:1267,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1275,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1279,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 177
    argCount: 4
    argNames:
    - ctrl
    - ctx
    - desc
    - ndesc
    argTypes:
    - ctrl_t
    - be_sqlite_local_t
    - KEYDB_SEARCH_DESC*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 977
    functionDepth: 5
    functionLinenumber: 977
    functionLinenumberEnd: 1285
    functionName: run_select_statement
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - run_sql_bind_text
    - kid_from_u32
    - sqlite3_finalize
    - gpg_error_from_syserror
    - strlen
    - ascii_strlwr
    - never_reached
    - run_sql_reset
    - xtrystrdup
    - gpg_error
    - xfree
    - log_debug
    - run_sql_bind_blob
    - run_sql_bind_text_like
    - run_sql_prepare
    - run_sql_bind_ntext
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t run_select_statement (ctrl_t ctrl, be_sqlite_local_t ctx,\n
      \                     KEYDB_SEARCH_DESC *desc, unsigned int ndesc)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-sqlite.c:1300,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-sqlite.c:1301,1
    - Dst: create_or_open_database
      Src: /src/gnupg/kbx/backend-sqlite.c:1303,1
    - Dst: acquire_mutex
      Src: /src/gnupg/kbx/backend-sqlite.c:1307,1
    - Dst: be_find_request_part
      Src: /src/gnupg/kbx/backend-sqlite.c:1310,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1329,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:1336,1
    - Dst: run_select_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:1347,1
    - Dst: show_sqlstmt
      Src: /src/gnupg/kbx/backend-sqlite.c:1353,1
    - Dst: run_sql_step_for_select
      Src: /src/gnupg/kbx/backend-sqlite.c:1356,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/backend-sqlite.c:1357,1
    - Dst: sqlite3_column_int
      Src: /src/gnupg/kbx/backend-sqlite.c:1366,1
    - Dst: sqlite3_errcode
      Src: /src/gnupg/kbx/backend-sqlite.c:1367,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1369,1
    - Dst: gpg_err_code_from_sqlite
      Src: /src/gnupg/kbx/backend-sqlite.c:1369,1
    - Dst: show_sqlstmt
      Src: /src/gnupg/kbx/backend-sqlite.c:1370,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1371,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-sqlite.c:1372,1
    - Dst: sqlite3_column_blob
      Src: /src/gnupg/kbx/backend-sqlite.c:1380,1
    - Dst: sqlite3_column_bytes
      Src: /src/gnupg/kbx/backend-sqlite.c:1381,1
    - Dst: sqlite3_errcode
      Src: /src/gnupg/kbx/backend-sqlite.c:1384,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1385,1
    - Dst: gpg_err_code_from_sqlite
      Src: /src/gnupg/kbx/backend-sqlite.c:1385,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1387,1
    - Dst: show_sqlstmt
      Src: /src/gnupg/kbx/backend-sqlite.c:1388,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1389,1
    - Dst: show_sqlstmt
      Src: /src/gnupg/kbx/backend-sqlite.c:1394,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1395,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1396,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/backend-sqlite.c:1400,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/backend-sqlite.c:1413,1
    - Dst: sqlite3_column_int
      Src: /src/gnupg/kbx/backend-sqlite.c:1416,1
    - Dst: sqlite3_errcode
      Src: /src/gnupg/kbx/backend-sqlite.c:1417,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1419,1
    - Dst: gpg_err_code_from_sqlite
      Src: /src/gnupg/kbx/backend-sqlite.c:1419,1
    - Dst: show_sqlstmt
      Src: /src/gnupg/kbx/backend-sqlite.c:1420,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1421,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-sqlite.c:1422,1
    - Dst: sqlite3_column_int
      Src: /src/gnupg/kbx/backend-sqlite.c:1427,1
    - Dst: sqlite3_errcode
      Src: /src/gnupg/kbx/backend-sqlite.c:1428,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1430,1
    - Dst: gpg_err_code_from_sqlite
      Src: /src/gnupg/kbx/backend-sqlite.c:1430,1
    - Dst: show_sqlstmt
      Src: /src/gnupg/kbx/backend-sqlite.c:1431,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1432,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-sqlite.c:1433,1
    - Dst: sqlite3_column_blob
      Src: /src/gnupg/kbx/backend-sqlite.c:1438,1
    - Dst: sqlite3_column_bytes
      Src: /src/gnupg/kbx/backend-sqlite.c:1439,1
    - Dst: sqlite3_errcode
      Src: /src/gnupg/kbx/backend-sqlite.c:1442,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1443,1
    - Dst: gpg_err_code_from_sqlite
      Src: /src/gnupg/kbx/backend-sqlite.c:1443,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1445,1
    - Dst: show_sqlstmt
      Src: /src/gnupg/kbx/backend-sqlite.c:1446,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1447,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-sqlite.c:1448,1
    - Dst: sqlite3_column_int
      Src: /src/gnupg/kbx/backend-sqlite.c:1455,1
    - Dst: sqlite3_errcode
      Src: /src/gnupg/kbx/backend-sqlite.c:1456,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1458,1
    - Dst: gpg_err_code_from_sqlite
      Src: /src/gnupg/kbx/backend-sqlite.c:1458,1
    - Dst: show_sqlstmt
      Src: /src/gnupg/kbx/backend-sqlite.c:1459,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1460,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-sqlite.c:1461,1
    - Dst: sqlite3_column_int
      Src: /src/gnupg/kbx/backend-sqlite.c:1474,1
    - Dst: sqlite3_errcode
      Src: /src/gnupg/kbx/backend-sqlite.c:1475,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1477,1
    - Dst: gpg_err_code_from_sqlite
      Src: /src/gnupg/kbx/backend-sqlite.c:1477,1
    - Dst: show_sqlstmt
      Src: /src/gnupg/kbx/backend-sqlite.c:1478,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1479,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-sqlite.c:1480,1
    - Dst: be_return_pubkey
      Src: /src/gnupg/kbx/backend-sqlite.c:1491,1
    - Dst: be_cache_pubkey
      Src: /src/gnupg/kbx/backend-sqlite.c:1494,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/backend-sqlite.c:1496,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1503,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-sqlite.c:1508,1
    - Dst: release_mutex
      Src: /src/gnupg/kbx/backend-sqlite.c:1512,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 157
    argCount: 5
    argNames:
    - ctrl
    - backend_hd
    - request
    - desc
    - ndesc
    argTypes:
    - ctrl_t
    - backend_handle_t
    - db_request_t
    - KEYDB_SEARCH_DESC*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1291
    functionDepth: 8
    functionLinenumber: 1291
    functionLinenumberEnd: 1514
    functionName: be_sqlite_search
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - run_select_statement
    - run_sql_step_for_select
    - log_assert
    - sqlite3_errcode
    - acquire_mutex
    - memcpy
    - sqlite3_column_bytes
    - run_sql_statement
    - release_mutex
    - sqlite3_column_int
    - log_error
    - be_cache_pubkey
    - be_find_request_part
    - show_sqlstmt
    - gpg_error
    - gpg_strerror
    - be_return_pubkey
    - memcmp
    - create_or_open_database
    - gpg_err_code
    - sqlite3_column_blob
    - gpg_err_code_from_sqlite
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_sqlite_search (ctrl_t ctrl,\n                  backend_handle_t
      backend_hd, db_request_t request,\n                  KEYDB_SEARCH_DESC *desc,
      unsigned int ndesc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:1536,1
    - Dst: run_sql_bind_blob
      Src: /src/gnupg/kbx/backend-sqlite.c:1539,1
    - Dst: run_sql_bind_int
      Src: /src/gnupg/kbx/backend-sqlite.c:1542,1
    - Dst: run_sql_bind_blob
      Src: /src/gnupg/kbx/backend-sqlite.c:1545,1
    - Dst: run_sql_bind_int
      Src: /src/gnupg/kbx/backend-sqlite.c:1548,1
    - Dst: run_sql_step
      Src: /src/gnupg/kbx/backend-sqlite.c:1552,1
    - Dst: sqlite3_finalize
      Src: /src/gnupg/kbx/backend-sqlite.c:1556,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 6
    argNames:
    - mode
    - is_ephemeral
    - pktype
    - ubid
    - blob
    - bloblen
    argTypes:
    - enum kbxd_store_modes
    - int
    - enum pubkey_types
    - unsigned char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1520
    functionDepth: 4
    functionLinenumber: 1520
    functionLinenumberEnd: 1558
    functionName: store_into_pubkey
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - sqlite3_finalize
    - run_sql_bind_blob
    - run_sql_bind_int
    - run_sql_step
    - run_sql_prepare
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t store_into_pubkey (enum kbxd_store_modes mode, int is_ephemeral,\n
      \                  enum pubkey_types pktype, const unsigned char *ubid,\n                   const
      void *blob, size_t bloblen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:1575,1
    - Dst: run_sql_bind_blob
      Src: /src/gnupg/kbx/backend-sqlite.c:1578,1
    - Dst: run_sql_bind_blob
      Src: /src/gnupg/kbx/backend-sqlite.c:1581,1
    - Dst: run_sql_bind_blob
      Src: /src/gnupg/kbx/backend-sqlite.c:1584,1
    - Dst: run_sql_bind_int
      Src: /src/gnupg/kbx/backend-sqlite.c:1587,1
    - Dst: run_sql_bind_blob
      Src: /src/gnupg/kbx/backend-sqlite.c:1590,1
    - Dst: run_sql_step
      Src: /src/gnupg/kbx/backend-sqlite.c:1594,1
    - Dst: sqlite3_finalize
      Src: /src/gnupg/kbx/backend-sqlite.c:1598,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 6
    argNames:
    - ubid
    - subkey
    - keygrip
    - kid
    - fpr
    - fprlen
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1563
    functionDepth: 4
    functionLinenumber: 1563
    functionLinenumberEnd: 1600
    functionName: store_into_fingerprint
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - sqlite3_finalize
    - run_sql_bind_blob
    - run_sql_bind_int
    - run_sql_step
    - run_sql_prepare
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t store_into_fingerprint (const unsigned char *ubid, int
      subkey,\n                        const unsigned char *keygrip,\n                        const
      unsigned char *kid,\n                        const unsigned char *fpr, int fprlen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:1617,1
    - Dst: run_sql_bind_text
      Src: /src/gnupg/kbx/backend-sqlite.c:1621,1
    - Dst: run_sql_bind_text
      Src: /src/gnupg/kbx/backend-sqlite.c:1626,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/kbx/backend-sqlite.c:1629,1
    - Dst: run_sql_bind_text
      Src: /src/gnupg/kbx/backend-sqlite.c:1630,1
    - Dst: run_sql_bind_int
      Src: /src/gnupg/kbx/backend-sqlite.c:1635,1
    - Dst: run_sql_bind_blob
      Src: /src/gnupg/kbx/backend-sqlite.c:1638,1
    - Dst: run_sql_bind_int
      Src: /src/gnupg/kbx/backend-sqlite.c:1641,1
    - Dst: run_sql_step
      Src: /src/gnupg/kbx/backend-sqlite.c:1645,1
    - Dst: sqlite3_finalize
      Src: /src/gnupg/kbx/backend-sqlite.c:1649,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-sqlite.c:1650,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 5
    argNames:
    - ubid
    - pktype
    - uid
    - uidno
    - override_mbox
    argTypes:
    - unsigned char*
    - enum pubkey_types
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1606
    functionDepth: 5
    functionLinenumber: 1606
    functionLinenumberEnd: 1652
    functionName: store_into_userid
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - run_sql_bind_text
    - sqlite3_finalize
    - xfree
    - run_sql_bind_blob
    - run_sql_bind_int
    - run_sql_step
    - run_sql_prepare
    - mailbox_from_userid
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t store_into_userid (const unsigned char *ubid, enum pubkey_types
      pktype,\n                   const char *uid, int uidno, const char *override_mbox)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: run_sql_prepare
      Src: /src/gnupg/kbx/backend-sqlite.c:1668,1
    - Dst: run_sql_bind_text
      Src: /src/gnupg/kbx/backend-sqlite.c:1672,1
    - Dst: run_sql_bind_text
      Src: /src/gnupg/kbx/backend-sqlite.c:1675,1
    - Dst: run_sql_bind_blob
      Src: /src/gnupg/kbx/backend-sqlite.c:1678,1
    - Dst: run_sql_step
      Src: /src/gnupg/kbx/backend-sqlite.c:1682,1
    - Dst: sqlite3_finalize
      Src: /src/gnupg/kbx/backend-sqlite.c:1686,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-sqlite.c:1687,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - ubid
    - sn
    - issuer
    argTypes:
    - unsigned char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1657
    functionDepth: 5
    functionLinenumber: 1657
    functionLinenumberEnd: 1689
    functionName: store_into_issuer
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - run_sql_bind_text
    - sqlite3_finalize
    - xfree
    - run_sql_bind_blob
    - run_sql_step
    - run_sql_prepare
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t store_into_issuer (const unsigned char *ubid,\n                   const
      char *sn, const char *issuer)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-sqlite.c:1717,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-sqlite.c:1718,1
    - Dst: be_is_x509_blob
      Src: /src/gnupg/kbx/backend-sqlite.c:1724,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-sqlite.c:1726,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/kbx/backend-sqlite.c:1728,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/kbx/backend-sqlite.c:1731,1
    - Dst: _keybox_parse_openpgp
      Src: /src/gnupg/kbx/backend-sqlite.c:1737,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-sqlite.c:1740,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-sqlite.c:1740,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1741,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-sqlite.c:1745,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-sqlite.c:1746,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-sqlite.c:1747,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/backend-sqlite.c:1747,1
    - Dst: acquire_mutex
      Src: /src/gnupg/kbx/backend-sqlite.c:1751,1
    - Dst: be_find_request_part
      Src: /src/gnupg/kbx/backend-sqlite.c:1755,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:1762,1
    - Dst: store_into_pubkey
      Src: /src/gnupg/kbx/backend-sqlite.c:1770,1
    - Dst: run_sql_statement_bind_ubid
      Src: /src/gnupg/kbx/backend-sqlite.c:1776,1
    - Dst: run_sql_statement_bind_ubid
      Src: /src/gnupg/kbx/backend-sqlite.c:1780,1
    - Dst: run_sql_statement_bind_ubid
      Src: /src/gnupg/kbx/backend-sqlite.c:1786,1
    - Dst: be_get_x509_keygrip
      Src: /src/gnupg/kbx/backend-sqlite.c:1797,1
    - Dst: store_into_fingerprint
      Src: /src/gnupg/kbx/backend-sqlite.c:1802,1
    - Dst: be_get_x509_serial
      Src: /src/gnupg/kbx/backend-sqlite.c:1809,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-sqlite.c:1812,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/kbx/backend-sqlite.c:1815,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-sqlite.c:1818,1
    - Dst: store_into_issuer
      Src: /src/gnupg/kbx/backend-sqlite.c:1821,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-sqlite.c:1827,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/kbx/backend-sqlite.c:1827,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/backend-sqlite.c:1832,1
    - Dst: store_into_userid
      Src: /src/gnupg/kbx/backend-sqlite.c:1835,1
    - Dst: _keybox_x509_email_kludge
      Src: /src/gnupg/kbx/backend-sqlite.c:1841,1
    - Dst: store_into_userid
      Src: /src/gnupg/kbx/backend-sqlite.c:1844,1
    - Dst: store_into_fingerprint
      Src: /src/gnupg/kbx/backend-sqlite.c:1857,1
    - Dst: store_into_fingerprint
      Src: /src/gnupg/kbx/backend-sqlite.c:1868,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-sqlite.c:1884,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-sqlite.c:1885,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/backend-sqlite.c:1887,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-sqlite.c:1890,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/backend-sqlite.c:1893,1
    - Dst: store_into_userid
      Src: /src/gnupg/kbx/backend-sqlite.c:1897,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-sqlite.c:1898,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:1915,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:1921,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:1922,1
    - Dst: release_mutex
      Src: /src/gnupg/kbx/backend-sqlite.c:1925,1
    - Dst: _keybox_destroy_openpgp_info
      Src: /src/gnupg/kbx/backend-sqlite.c:1927,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/kbx/backend-sqlite.c:1929,1
    - Dst: ksba_free
      Src: /src/gnupg/kbx/backend-sqlite.c:1930,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-sqlite.c:1931,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-sqlite.c:1932,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 163
    argCount: 8
    argNames:
    - ctrl
    - backend_hd
    - request
    - mode
    - pktype
    - ubid
    - blob
    - bloblen
    argTypes:
    - ctrl_t
    - backend_handle_t
    - db_request_t
    - enum kbxd_store_modes
    - enum pubkey_types
    - unsigned char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1696
    functionDepth: 6
    functionLinenumber: 1696
    functionLinenumberEnd: 1934
    functionName: be_sqlite_store
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - ksba_free
    - log_assert
    - acquire_mutex
    - be_is_x509_blob
    - xtrymalloc
    - ksba_cert_new
    - memcpy
    - ksba_cert_get_issuer
    - run_sql_statement
    - _keybox_destroy_openpgp_info
    - release_mutex
    - ksba_cert_init_from_mem
    - log_error
    - ksba_cert_get_subject
    - log_info
    - store_into_pubkey
    - be_get_x509_keygrip
    - ksba_cert_release
    - run_sql_statement_bind_ubid
    - gpg_error_from_syserror
    - be_find_request_part
    - strcmp
    - gpg_error
    - gpg_strerror
    - xfree
    - _keybox_parse_openpgp
    - store_into_issuer
    - store_into_fingerprint
    - memcmp
    - _keybox_x509_email_kludge
    - store_into_userid
    - be_get_x509_serial
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_sqlite_store (ctrl_t ctrl, backend_handle_t backend_hd,\n
      \                db_request_t request, enum kbxd_store_modes mode,\n                 enum
      pubkey_types pktype, const unsigned char *ubid,\n                 const void
      *blob, size_t bloblen)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-sqlite.c:1952,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-sqlite.c:1953,1
    - Dst: acquire_mutex
      Src: /src/gnupg/kbx/backend-sqlite.c:1955,1
    - Dst: be_find_request_part
      Src: /src/gnupg/kbx/backend-sqlite.c:1958,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:1965,1
    - Dst: run_sql_statement_bind_ubid
      Src: /src/gnupg/kbx/backend-sqlite.c:1973,1
    - Dst: run_sql_statement_bind_ubid
      Src: /src/gnupg/kbx/backend-sqlite.c:1976,1
    - Dst: run_sql_statement_bind_ubid
      Src: /src/gnupg/kbx/backend-sqlite.c:1979,1
    - Dst: run_sql_statement_bind_ubid
      Src: /src/gnupg/kbx/backend-sqlite.c:1982,1
    - Dst: sqlite3_finalize
      Src: /src/gnupg/kbx/backend-sqlite.c:1988,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:1995,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:2001,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:2002,1
    - Dst: release_mutex
      Src: /src/gnupg/kbx/backend-sqlite.c:2004,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 4
    argNames:
    - ctrl
    - backend_hd
    - request
    - ubid
    argTypes:
    - ctrl_t
    - backend_handle_t
    - db_request_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 1940
    functionDepth: 6
    functionLinenumber: 1940
    functionLinenumberEnd: 2006
    functionName: be_sqlite_delete
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - run_sql_statement
    - release_mutex
    - sqlite3_finalize
    - run_sql_statement_bind_ubid
    - log_assert
    - log_error
    - be_find_request_part
    - acquire_mutex
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_sqlite_delete (ctrl_t ctrl, backend_handle_t backend_hd,\n
      \                 db_request_t request, const unsigned char *ubid)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-sqlite.c:2028,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-sqlite.c:2029,1
    - Dst: acquire_mutex
      Src: /src/gnupg/kbx/backend-sqlite.c:2031,1
    - Dst: be_find_request_part
      Src: /src/gnupg/kbx/backend-sqlite.c:2034,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:2041,1
    - Dst: run_sql_statement_bind_ubid
      Src: /src/gnupg/kbx/backend-sqlite.c:2052,1
    - Dst: run_sql_statement_bind_ubid
      Src: /src/gnupg/kbx/backend-sqlite.c:2055,1
    - Dst: run_sql_statement_bind_ubid
      Src: /src/gnupg/kbx/backend-sqlite.c:2064,1
    - Dst: run_sql_statement_bind_ubid
      Src: /src/gnupg/kbx/backend-sqlite.c:2067,1
    - Dst: sqlite3_finalize
      Src: /src/gnupg/kbx/backend-sqlite.c:2073,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:2080,1
    - Dst: run_sql_statement
      Src: /src/gnupg/kbx/backend-sqlite.c:2086,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-sqlite.c:2087,1
    - Dst: release_mutex
      Src: /src/gnupg/kbx/backend-sqlite.c:2089,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 6
    argNames:
    - ctrl
    - backend_hd
    - request
    - ubid
    - flags
    - clear
    argTypes:
    - ctrl_t
    - backend_handle_t
    - db_request_t
    - unsigned char*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2015
    functionDepth: 6
    functionLinenumber: 2015
    functionLinenumberEnd: 2091
    functionName: be_sqlite_putkeyflag
    functionSourceFile: /src/gnupg/kbx/backend-sqlite.c
    functionUses: 0
    functionsReached:
    - run_sql_statement
    - release_mutex
    - sqlite3_finalize
    - run_sql_statement_bind_ubid
    - log_assert
    - log_error
    - be_find_request_part
    - acquire_mutex
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_sqlite_putkeyflag (ctrl_t ctrl, backend_handle_t backend_hd,\n
      \                     db_request_t request, const unsigned char *ubid,\n                      unsigned
      int flags, int clear)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/kbx/keybox-util.c:62,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keybox-util.c:62,1
    - Dst: BUG
      Src: /src/gnupg/kbx/keybox-util.c:63,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keybox-util.c:64,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/keybox-util.c:65,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keybox-util.c:65,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/keybox-util.c:66,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keybox-util.c:66,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-util.c:68,1
    - Dst: strcpy
      Src: /src/gnupg/kbx/keybox-util.c:69,1
    - Dst: strcpy
      Src: /src/gnupg/kbx/keybox-util.c:70,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keybox-util.c:70,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/keybox-util.c:72,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keybox-util.c:72,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-util.c:75,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-util.c:76,1
    - Dst: strcpy
      Src: /src/gnupg/kbx/keybox-util.c:79,1
    - Dst: strcpy
      Src: /src/gnupg/kbx/keybox-util.c:80,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keybox-util.c:80,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/keybox-util.c:84,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keybox-util.c:84,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-util.c:86,1
    - Dst: strcpy
      Src: /src/gnupg/kbx/keybox-util.c:87,1
    - Dst: stpcpy
      Src: /src/gnupg/kbx/keybox-util.c:87,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/keybox-util.c:89,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keybox-util.c:89,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-util.c:92,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-util.c:93,1
    - Dst: strcpy
      Src: /src/gnupg/kbx/keybox-util.c:96,1
    - Dst: stpcpy
      Src: /src/gnupg/kbx/keybox-util.c:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 4
    argNames:
    - filename
    - for_keyring
    - r_bakname
    - r_tmpname
    argTypes:
    - char*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 102
    functionName: keybox_tmp_names
    functionSourceFile: /src/gnupg/kbx/keybox-util.c
    functionUses: 2
    functionsReached:
    - gpg_error_from_syserror
    - strlen
    - BUG
    - strcmp
    - strcpy
    - xfree
    - stpcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keybox_tmp_names (const char *filename, int for_keyring,\n
      \                 char **r_bakname, char **r_tmpname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/gnupg/kbx/keybox-file.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: ftello
    functionSourceFile: /src/gnupg/kbx/keybox-file.c
    functionUses: 2
    functionsReached:
    - ftell
    linkageType: ''
    returnType: off_t
    signature: off_t ftello (FILE *stream)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: es_ftello
      Src: /src/gnupg/kbx/keybox-file.c:64,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-file.c:66,1
    - Dst: es_getc
      Src: /src/gnupg/kbx/keybox-file.c:68,1
    - Dst: es_getc
      Src: /src/gnupg/kbx/keybox-file.c:69,1
    - Dst: es_getc
      Src: /src/gnupg/kbx/keybox-file.c:70,1
    - Dst: es_getc
      Src: /src/gnupg/kbx/keybox-file.c:71,1
    - Dst: es_getc
      Src: /src/gnupg/kbx/keybox-file.c:72,1
    - Dst: es_ferror
      Src: /src/gnupg/kbx/keybox-file.c:74,1
    - Dst: es_ferror
      Src: /src/gnupg/kbx/keybox-file.c:76,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-file.c:77,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-file.c:78,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-file.c:83,1
    - Dst: es_fseek
      Src: /src/gnupg/kbx/keybox-file.c:88,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-file.c:89,1
    - Dst: es_fseek
      Src: /src/gnupg/kbx/keybox-file.c:99,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-file.c:100,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-file.c:101,1
    - Dst: es_fseek
      Src: /src/gnupg/kbx/keybox-file.c:107,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-file.c:108,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/keybox-file.c:112,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-file.c:114,1
    - Dst: es_fread
      Src: /src/gnupg/kbx/keybox-file.c:117,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-file.c:119,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-file.c:120,1
    - Dst: _keybox_new_blob
      Src: /src/gnupg/kbx/keybox-file.c:124,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-file.c:126,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 3
    argNames:
    - r_blob
    - fp
    - skipped_deleted
    argTypes:
    - KEYBOXBLOB*
    - estream_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 128
    functionName: _keybox_read_blob
    functionSourceFile: /src/gnupg/kbx/keybox-file.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - es_ftello
    - es_fread
    - es_fseek
    - _keybox_new_blob
    - gpg_error
    - xfree
    - es_getc
    - es_ferror
    - xtrymalloc
    linkageType: ''
    returnType: int
    signature: int _keybox_read_blob (KEYBOXBLOB *r_blob, estream_t fp, int *skipped_deleted)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-file.c:138,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-file.c:141,1
    - Dst: es_fwrite
      Src: /src/gnupg/kbx/keybox-file.c:145,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-file.c:146,1
    - Dst: fwrite
      Src: /src/gnupg/kbx/keybox-file.c:150,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-file.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - blob
    - fp
    - outfp
    argTypes:
    - KEYBOXBLOB
    - estream_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 155
    functionName: _keybox_write_blob
    functionSourceFile: /src/gnupg/kbx/keybox-file.c
    functionUses: 1
    functionsReached:
    - fwrite
    - gpg_error_from_syserror
    - _keybox_get_blob_image
    - gpg_error
    - es_fwrite
    linkageType: ''
    returnType: int
    signature: int _keybox_write_blob (KEYBOXBLOB blob, estream_t fp, FILE *outfp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/kbx/keybox-file.c:165,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-file.c:174,1
    - Dst: time
      Src: /src/gnupg/kbx/keybox-file.c:175,1
    - Dst: es_fwrite
      Src: /src/gnupg/kbx/keybox-file.c:186,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-file.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - fp
    - for_openpgp
    argTypes:
    - estream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 190
    functionName: _keybox_write_header_blob
    functionSourceFile: /src/gnupg/kbx/keybox-file.c
    functionUses: 2
    functionsReached:
    - gpg_error_from_syserror
    - memset
    - es_fwrite
    - time
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _keybox_write_header_blob (estream_t fp, int for_openpgp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ubid
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: blob_table_hasher
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int blob_table_hasher (const unsigned char *ubid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/backend-cache.c:144,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-cache.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: blob_table_init
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t blob_table_init (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-cache.c:158,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-cache.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - blob
    argTypes:
    - blob_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 167
    functionName: blob_unref
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - xfree
    - log_assert
    linkageType: ''
    returnType: void
    signature: void blob_unref (blob_t blob)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/kbx/backend-cache.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - hash
    - ubid
    - r_count
    argTypes:
    - unsigned int
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: find_blob
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: blob_t
    signature: "blob_t find_blob (unsigned int hash, const unsigned char *ubid,\n
      \          unsigned int *r_count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - arg_a
    - arg_b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 204
    functionName: compare_blobs
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_blobs (const void *arg_a, const void *arg_b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: blob_table_hasher
      Src: /src/gnupg/kbx/backend-cache.c:218,1
    - Dst: find_blob
      Src: /src/gnupg/kbx/backend-cache.c:220,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-cache.c:223,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/backend-cache.c:230,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-cache.c:233,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-cache.c:234,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-cache.c:234,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/backend-cache.c:237,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/backend-cache.c:255,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-cache.c:259,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-cache.c:260,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-cache.c:260,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-cache.c:270,1
    - Dst: qsort
      Src: /src/gnupg/kbx/backend-cache.c:273,1
    - Dst: blob_unref
      Src: /src/gnupg/kbx/backend-cache.c:290,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-cache.c:293,1
    - Dst: blob_unref
      Src: /src/gnupg/kbx/backend-cache.c:302,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/backend-cache.c:313,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-cache.c:316,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-cache.c:317,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-cache.c:317,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-cache.c:318,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/backend-cache.c:341,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 82
    argCount: 4
    argNames:
    - ubid
    - pktype
    - blobdata
    - blobdatalen
    argTypes:
    - unsigned char*
    - enum pubkey_types
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 347
    functionName: blob_table_put
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    - gpg_error_from_syserror
    - log_assert
    - find_blob
    - xtrycalloc
    - blob_unref
    - log_info
    - xfree
    - gpg_strerror
    - memcpy
    - qsort
    - blob_table_hasher
    linkageType: ''
    returnType: void
    signature: "void blob_table_put (const unsigned char *ubid, enum pubkey_types
      pktype,\n                const void *blobdata, unsigned int blobdatalen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blob_table_hasher
      Src: /src/gnupg/kbx/backend-cache.c:358,1
    - Dst: find_blob
      Src: /src/gnupg/kbx/backend-cache.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ubid
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 368
    functionName: blob_table_get
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - find_blob
    - blob_table_hasher
    linkageType: ''
    returnType: blob_t
    signature: blob_t blob_table_get (const unsigned char *ubid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kid_l
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: key_table_hasher
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int key_table_hasher (u32 kid_l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/backend-cache.c:390,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-cache.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 394
    functionName: key_table_init
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 2
    functionsReached:
    - gpg_error_from_syserror
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t key_table_init (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-cache.c:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ki
    argTypes:
    - key_item_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 420
    functionName: key_item_unref
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - log_assert
    linkageType: ''
    returnType: void
    signature: void key_item_unref (key_item_t ki)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - hash
    - kid_h
    - kid_l
    - r_count
    argTypes:
    - unsigned int
    - u32
    - u32
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 441
    functionName: find_in_chain
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: key_item_t
    signature: "key_item_t find_in_chain (unsigned int hash, u32 kid_h, u32 kid_l,\n
      \              unsigned int *r_count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - arg_a
    - arg_b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 458
    functionName: compare_key_items
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_key_items (const void *arg_a, const void *arg_b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/backend-cache.c:472,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-cache.c:475,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-cache.c:476,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-cache.c:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 487
    functionName: alloc_more_key_items
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - log_info
    - gpg_strerror
    - xtrymalloc
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t alloc_more_key_items (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/backend-cache.c:502,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-cache.c:505,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-cache.c:506,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-cache.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 517
    functionName: alloc_more_bloblist_items
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - log_info
    - gpg_strerror
    - xtrymalloc
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t alloc_more_bloblist_items (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/kbx/backend-cache.c:535,1
    - Dst: memset
      Src: /src/gnupg/kbx/backend-cache.c:537,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/backend-cache.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - fpr
    - fprlen
    - ubid
    - subkey
    argTypes:
    - unsigned char*
    - unsigned int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 545
    functionName: new_bloblist_item
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: bloblist_t
    signature: "bloblist_t new_bloblist_item (const unsigned char *fpr, unsigned int
      fprlen,\n                   const unsigned char *ubid, int subkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/backend-cache.c:572,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-cache.c:576,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-cache.c:577,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-cache.c:578,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-cache.c:588,1
    - Dst: qsort
      Src: /src/gnupg/kbx/backend-cache.c:591,1
    - Dst: key_item_unref
      Src: /src/gnupg/kbx/backend-cache.c:608,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-cache.c:611,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-cache.c:612,1
    - Dst: key_item_unref
      Src: /src/gnupg/kbx/backend-cache.c:621,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 2
    argNames:
    - hash
    - count
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 624
    functionName: maybe_flush_some_key_buckets
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - key_item_unref
    - log_assert
    - gpg_error_from_syserror
    - gpg_error
    - gpg_strerror
    - log_info
    - qsort
    - xtrycalloc
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t maybe_flush_some_key_buckets (unsigned int hash, unsigned
      int count)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: key_table_hasher
      Src: /src/gnupg/kbx/backend-cache.c:644,1
    - Dst: find_in_chain
      Src: /src/gnupg/kbx/backend-cache.c:647,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/backend-cache.c:657,1
    - Dst: alloc_more_bloblist_items
      Src: /src/gnupg/kbx/backend-cache.c:665,1
    - Dst: new_bloblist_item
      Src: /src/gnupg/kbx/backend-cache.c:671,1
    - Dst: maybe_flush_some_key_buckets
      Src: /src/gnupg/kbx/backend-cache.c:681,1
    - Dst: alloc_more_key_items
      Src: /src/gnupg/kbx/backend-cache.c:690,1
    - Dst: alloc_more_bloblist_items
      Src: /src/gnupg/kbx/backend-cache.c:697,1
    - Dst: new_bloblist_item
      Src: /src/gnupg/kbx/backend-cache.c:714,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 6
    argNames:
    - kid_h
    - kid_l
    - fpr
    - fprlen
    - ubid
    - subkey
    argTypes:
    - u32
    - u32
    - unsigned char*
    - unsigned int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 724
    functionName: do_key_table_put
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - alloc_more_bloblist_items
    - maybe_flush_some_key_buckets
    - key_table_hasher
    - alloc_more_key_items
    - find_in_chain
    - memcmp
    - new_bloblist_item
    linkageType: ''
    returnType: void
    signature: "void do_key_table_put (u32 kid_h, u32 kid_l,\n                  const
      unsigned char *fpr, unsigned int fprlen,\n                  const unsigned char
      *ubid, int subkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buf32_to_u32
      Src: /src/gnupg/kbx/backend-cache.c:740,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/kbx/backend-cache.c:741,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/kbx/backend-cache.c:745,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/kbx/backend-cache.c:746,1
    - Dst: do_key_table_put
      Src: /src/gnupg/kbx/backend-cache.c:748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - fpr
    - fprlen
    - ubid
    - subkey
    argTypes:
    - unsigned char*
    - unsigned int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 729
    functionDepth: 3
    functionLinenumber: 729
    functionLinenumberEnd: 749
    functionName: key_table_put
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 2
    functionsReached:
    - buf32_to_u32
    - do_key_table_put
    linkageType: ''
    returnType: void
    signature: "void key_table_put (const unsigned char *fpr, unsigned int fprlen,\n
      \              const unsigned char *ubid, int subkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buf32_to_u32
      Src: /src/gnupg/kbx/backend-cache.c:764,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/kbx/backend-cache.c:765,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/kbx/backend-cache.c:769,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/kbx/backend-cache.c:770,1
    - Dst: do_key_table_put
      Src: /src/gnupg/kbx/backend-cache.c:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - fpr
    - fprlen
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 754
    functionDepth: 3
    functionLinenumber: 754
    functionLinenumberEnd: 774
    functionName: key_table_put_no_fpr
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - buf32_to_u32
    - do_key_table_put
    linkageType: ''
    returnType: void
    signature: void key_table_put_no_fpr (const unsigned char *fpr, unsigned int fprlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_key_table_put
      Src: /src/gnupg/kbx/backend-cache.c:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - kid_h
    - kid_l
    argTypes:
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 779
    functionDepth: 3
    functionLinenumber: 779
    functionLinenumberEnd: 783
    functionName: key_table_put_no_kid
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - do_key_table_put
    linkageType: ''
    returnType: void
    signature: void key_table_put_no_kid (u32 kid_h, u32 kid_l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key_table_hasher
      Src: /src/gnupg/kbx/backend-cache.c:795,1
    - Dst: find_in_chain
      Src: /src/gnupg/kbx/backend-cache.c:796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - kid_h
    - kid_l
    argTypes:
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 805
    functionName: key_table_get
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 2
    functionsReached:
    - key_table_hasher
    - find_in_chain
    linkageType: ''
    returnType: key_item_t
    signature: key_item_t key_table_get (u32 kid_h, u32 kid_l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_table_get
      Src: /src/gnupg/kbx/backend-cache.c:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - kid_h
    - kid_l
    argTypes:
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 814
    functionName: query_by_kid
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - key_table_get
    linkageType: ''
    returnType: key_item_t
    signature: key_item_t query_by_kid (u32 kid_h, u32 kid_l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buf32_to_u32
      Src: /src/gnupg/kbx/backend-cache.c:833,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/kbx/backend-cache.c:834,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/kbx/backend-cache.c:838,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/kbx/backend-cache.c:839,1
    - Dst: key_table_get
      Src: /src/gnupg/kbx/backend-cache.c:842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - fpr
    - fprlen
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 843
    functionName: query_by_fpr
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - buf32_to_u32
    - key_table_get
    linkageType: ''
    returnType: key_item_t
    signature: key_item_t query_by_fpr (const unsigned char *fpr, unsigned int fprlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blob_table_init
      Src: /src/gnupg/kbx/backend-cache.c:855,1
    - Dst: key_table_init
      Src: /src/gnupg/kbx/backend-cache.c:857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 859
    functionName: be_cache_initialize
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - blob_table_init
    - key_table_init
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_cache_initialize (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/backend-cache.c:872,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-cache.c:874,1
    - Dst: be_new_backend_id
      Src: /src/gnupg/kbx/backend-cache.c:877,1
    - Dst: be_cache_initialize
      Src: /src/gnupg/kbx/backend-cache.c:880,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-cache.c:888,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ctrl
    - r_hd
    argTypes:
    - ctrl_t
    - backend_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 863
    functionDepth: 3
    functionLinenumber: 863
    functionLinenumberEnd: 890
    functionName: be_cache_add_resource
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - be_cache_initialize
    - gpg_error_from_syserror
    - be_new_backend_id
    - xfree
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_cache_add_resource (ctrl_t ctrl, backend_handle_t *r_hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-cache.c:906,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctrl
    - hd
    argTypes:
    - ctrl_t
    - backend_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 907
    functionName: be_cache_release_resource
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void be_cache_release_resource (ctrl_t ctrl, backend_handle_t hd)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-cache.c:931,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-cache.c:932,1
    - Dst: be_find_request_part
      Src: /src/gnupg/kbx/backend-cache.c:934,1
    - Dst: query_by_kid
      Src: /src/gnupg/kbx/backend-cache.c:957,1
    - Dst: key_item_unref
      Src: /src/gnupg/kbx/backend-cache.c:967,1
    - Dst: query_by_fpr
      Src: /src/gnupg/kbx/backend-cache.c:981,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/backend-cache.c:988,1
    - Dst: key_item_unref
      Src: /src/gnupg/kbx/backend-cache.c:993,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-cache.c:1012,1
    - Dst: blob_table_get
      Src: /src/gnupg/kbx/backend-cache.c:1015,1
    - Dst: be_return_pubkey
      Src: /src/gnupg/kbx/backend-cache.c:1018,1
    - Dst: blob_unref
      Src: /src/gnupg/kbx/backend-cache.c:1021,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-cache.c:1025,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-cache.c:1037,1
    - Dst: key_item_unref
      Src: /src/gnupg/kbx/backend-cache.c:1038,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/backend-cache.c:1044,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/backend-cache.c:1047,1
    - Dst: blob_table_get
      Src: /src/gnupg/kbx/backend-cache.c:1058,1
    - Dst: be_return_pubkey
      Src: /src/gnupg/kbx/backend-cache.c:1061,1
    - Dst: blob_unref
      Src: /src/gnupg/kbx/backend-cache.c:1063,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-cache.c:1069,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-cache.c:1073,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-cache.c:1075,1
    - Dst: key_item_unref
      Src: /src/gnupg/kbx/backend-cache.c:1076,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-cache.c:1079,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 106
    argCount: 5
    argNames:
    - ctrl
    - backend_hd
    - request
    - desc
    - ndesc
    argTypes:
    - ctrl_t
    - backend_handle_t
    - db_request_t
    - KEYDB_SEARCH_DESC*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 1083
    functionName: be_cache_search
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - key_item_unref
    - query_by_fpr
    - log_assert
    - be_return_pubkey
    - be_find_request_part
    - blob_unref
    - gpg_error
    - memcmp
    - memcpy
    - blob_table_get
    - query_by_kid
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_cache_search (ctrl_t ctrl, backend_handle_t backend_hd,
      db_request_t request,\n                 KEYDB_SEARCH_DESC *desc, unsigned int
      ndesc)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-cache.c:1097,1
    - Dst: query_by_kid
      Src: /src/gnupg/kbx/backend-cache.c:1104,1
    - Dst: key_item_unref
      Src: /src/gnupg/kbx/backend-cache.c:1113,1
    - Dst: query_by_fpr
      Src: /src/gnupg/kbx/backend-cache.c:1117,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/backend-cache.c:1124,1
    - Dst: key_item_unref
      Src: /src/gnupg/kbx/backend-cache.c:1130,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - ctrl
    - request
    argTypes:
    - ctrl_t
    - db_request_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1089
    functionDepth: 2
    functionLinenumber: 1089
    functionLinenumberEnd: 1134
    functionName: be_cache_mark_final
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - key_item_unref
    - query_by_fpr
    - log_assert
    - memcmp
    - query_by_kid
    linkageType: ''
    returnType: void
    signature: void be_cache_mark_final (ctrl_t ctrl, db_request_t request)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_parse_openpgp
      Src: /src/gnupg/kbx/backend-cache.c:1152,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-cache.c:1155,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-cache.c:1156,1
    - Dst: blob_table_put
      Src: /src/gnupg/kbx/backend-cache.c:1160,1
    - Dst: key_table_put
      Src: /src/gnupg/kbx/backend-cache.c:1163,1
    - Dst: key_table_put
      Src: /src/gnupg/kbx/backend-cache.c:1166,1
    - Dst: _keybox_destroy_openpgp_info
      Src: /src/gnupg/kbx/backend-cache.c:1168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - ctrl
    - ubid
    - blob
    - bloblen
    - pubkey_type
    argTypes:
    - ctrl_t
    - unsigned char*
    - void*
    - unsigned int
    - enum pubkey_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1138
    functionDepth: 2
    functionLinenumber: 1138
    functionLinenumberEnd: 1171
    functionName: be_cache_pubkey
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 1
    functionsReached:
    - key_table_put
    - _keybox_parse_openpgp
    - blob_table_put
    - gpg_strerror
    - log_info
    - _keybox_destroy_openpgp_info
    linkageType: ''
    returnType: void
    signature: "void be_cache_pubkey (ctrl_t ctrl, const unsigned char *ubid,\n                 const
      void *blob, unsigned int bloblen,\n                 enum pubkey_types pubkey_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: key_table_put_no_kid
      Src: /src/gnupg/kbx/backend-cache.c:1190,1
    - Dst: key_table_put_no_fpr
      Src: /src/gnupg/kbx/backend-cache.c:1194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - ctrl
    - pubkey_type
    - desc
    - ndesc
    argTypes:
    - ctrl_t
    - enum pubkey_types
    - KEYDB_SEARCH_DESC*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1176
    functionDepth: 4
    functionLinenumber: 1176
    functionLinenumberEnd: 1201
    functionName: be_cache_not_found
    functionSourceFile: /src/gnupg/kbx/backend-cache.c
    functionUses: 0
    functionsReached:
    - key_table_put_no_kid
    - key_table_put_no_fpr
    linkageType: ''
    returnType: void
    signature: "void be_cache_not_found (ctrl_t ctrl, enum pubkey_types pubkey_type,\n
      \                   KEYDB_SEARCH_DESC *desc, unsigned int ndesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: get32
    functionSourceFile: /src/gnupg/kbx/keybox-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get32(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: get16
    functionSourceFile: /src/gnupg/kbx/keybox-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get16(a)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/gnupg/kbx/keybox-dump.c:44,1
    - Dst: putc
      Src: /src/gnupg/kbx/keybox-dump.c:46,1
    - Dst: putc
      Src: /src/gnupg/kbx/keybox-dump.c:48,1
    - Dst: putc
      Src: /src/gnupg/kbx/keybox-dump.c:50,1
    - Dst: putc
      Src: /src/gnupg/kbx/keybox-dump.c:52,1
    - Dst: putc
      Src: /src/gnupg/kbx/keybox-dump.c:54,1
    - Dst: putc
      Src: /src/gnupg/kbx/keybox-dump.c:56,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:58,1
    - Dst: putc
      Src: /src/gnupg/kbx/keybox-dump.c:61,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - fp
    - p
    - n
    - delim
    argTypes:
    - FILE*
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 63
    functionName: print_string
    functionSourceFile: /src/gnupg/kbx/keybox-dump.c
    functionUses: 9
    functionsReached:
    - fprintf
    - putc
    linkageType: ''
    returnType: void
    signature: void print_string (FILE *fp, const byte *p, size_t n, int delim)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:74,1
    - Dst: fputs
      Src: /src/gnupg/kbx/keybox-dump.c:77,1
    - Dst: fputs
      Src: /src/gnupg/kbx/keybox-dump.c:90,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:96,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/kbx/keybox-dump.c:100,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/keybox-dump.c:101,1
    - Dst: fputs
      Src: /src/gnupg/kbx/keybox-dump.c:102,1
    - Dst: fputs
      Src: /src/gnupg/kbx/keybox-dump.c:104,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/kbx/keybox-dump.c:108,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/keybox-dump.c:109,1
    - Dst: fputs
      Src: /src/gnupg/kbx/keybox-dump.c:110,1
    - Dst: fputs
      Src: /src/gnupg/kbx/keybox-dump.c:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - buffer
    - length
    - unhashed
    - fp
    argTypes:
    - byte*
    - size_t
    - size_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 115
    functionName: print_checksum
    functionSourceFile: /src/gnupg/kbx/keybox-dump.c
    functionUses: 0
    functionsReached:
    - fprintf
    - memcmp
    - fputs
    - gcry_md_hash_buffer
    linkageType: ''
    returnType: int
    signature: int print_checksum (const byte *buffer, size_t length, size_t unhashed,
      FILE *fp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:125,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:128,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-dump.c:130,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:131,1
    - Dst: fputs
      Src: /src/gnupg/kbx/keybox-dump.c:136,1
    - Dst: putc
      Src: /src/gnupg/kbx/keybox-dump.c:140,1
    - Dst: fputs
      Src: /src/gnupg/kbx/keybox-dump.c:141,1
    - Dst: putc
      Src: /src/gnupg/kbx/keybox-dump.c:144,1
    - Dst: putc
      Src: /src/gnupg/kbx/keybox-dump.c:146,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/keybox-dump.c:148,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:149,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-dump.c:151,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:152,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-dump.c:153,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - buffer
    - length
    - fp
    argTypes:
    - byte*
    - size_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 157
    functionName: dump_header_blob
    functionSourceFile: /src/gnupg/kbx/keybox-dump.c
    functionUses: 0
    functionsReached:
    - get32
    - get16
    - fprintf
    - memcmp
    - fputs
    - putc
    linkageType: ''
    returnType: int
    signature: int dump_header_blob (const byte *buffer, size_t length, FILE *fp)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-dump.c:177,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:181,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-dump.c:185,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:187,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:191,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:196,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:200,1
    - Dst: dump_header_blob
      Src: /src/gnupg/kbx/keybox-dump.c:201,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:203,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:206,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:209,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:210,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:214,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:219,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-dump.c:223,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:224,1
    - Dst: fputs
      Src: /src/gnupg/kbx/keybox-dump.c:229,1
    - Dst: fputs
      Src: /src/gnupg/kbx/keybox-dump.c:232,1
    - Dst: putc
      Src: /src/gnupg/kbx/keybox-dump.c:238,1
    - Dst: fputs
      Src: /src/gnupg/kbx/keybox-dump.c:239,1
    - Dst: putc
      Src: /src/gnupg/kbx/keybox-dump.c:242,1
    - Dst: putc
      Src: /src/gnupg/kbx/keybox-dump.c:244,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-dump.c:246,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-dump.c:247,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:249,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:250,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:256,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:264,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:268,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-dump.c:270,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:271,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:273,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:275,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-dump.c:277,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:278,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:287,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:291,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:296,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-dump.c:299,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:301,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:307,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:311,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-dump.c:312,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:313,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:314,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:318,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:322,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:325,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-dump.c:328,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:330,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:336,1
    - Dst: fputs
      Src: /src/gnupg/kbx/keybox-dump.c:339,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-dump.c:340,1
    - Dst: fputs
      Src: /src/gnupg/kbx/keybox-dump.c:343,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:348,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:352,1
    - Dst: putc
      Src: /src/gnupg/kbx/keybox-dump.c:354,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:359,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-dump.c:362,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:363,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-dump.c:364,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:365,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:373,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-dump.c:377,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-dump.c:378,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:381,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:382,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:383,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:387,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:388,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:389,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:393,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:394,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:395,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:402,1
    - Dst: print_string
      Src: /src/gnupg/kbx/keybox-dump.c:405,1
    - Dst: fputs
      Src: /src/gnupg/kbx/keybox-dump.c:406,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:409,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-dump.c:412,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:415,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:416,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:420,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:421,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:425,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:426,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:432,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-dump.c:435,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:436,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-dump.c:437,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:438,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:450,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-dump.c:453,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:464,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:468,1
    - Dst: fputs
      Src: /src/gnupg/kbx/keybox-dump.c:470,1
    - Dst: fputs
      Src: /src/gnupg/kbx/keybox-dump.c:472,1
    - Dst: fputs
      Src: /src/gnupg/kbx/keybox-dump.c:474,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:476,1
    - Dst: fputs
      Src: /src/gnupg/kbx/keybox-dump.c:478,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:480,1
    - Dst: putc
      Src: /src/gnupg/kbx/keybox-dump.c:481,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:484,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:489,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:492,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:493,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-dump.c:495,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:497,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-dump.c:498,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:500,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-dump.c:501,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:503,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:507,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-dump.c:510,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:511,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-dump.c:515,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:516,1
    - Dst: print_checksum
      Src: /src/gnupg/kbx/keybox-dump.c:518,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 256
    argCount: 2
    argNames:
    - blob
    - fp
    argTypes:
    - KEYBOXBLOB
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 520
    functionName: _keybox_dump_blob
    functionSourceFile: /src/gnupg/kbx/keybox-dump.c
    functionUses: 0
    functionsReached:
    - get32
    - get16
    - _keybox_get_blob_image
    - fprintf
    - putc
    - fputs
    - print_string
    - dump_header_blob
    - print_checksum
    linkageType: ''
    returnType: int
    signature: int _keybox_dump_blob (KEYBOXBLOB blob, FILE *fp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-dump.c:533,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-dump.c:537,1
    - Dst: memset
      Src: /src/gnupg/kbx/keybox-dump.c:551,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-dump.c:558,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-dump.c:559,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/kbx/keybox-dump.c:565,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - blob
    - digest
    argTypes:
    - KEYBOXBLOB
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 567
    functionName: hash_blob_rawdata
    functionSourceFile: /src/gnupg/kbx/keybox-dump.c
    functionUses: 0
    functionsReached:
    - get32
    - memset
    - gcry_md_hash_buffer
    - _keybox_get_blob_image
    linkageType: ''
    returnType: int
    signature: int hash_blob_rawdata (KEYBOXBLOB blob, unsigned char *digest)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-dump.c:594,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-dump.c:601,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-dump.c:634,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - blob
    - s
    argTypes:
    - KEYBOXBLOB
    - struct file_stats_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 646
    functionName: update_stats
    functionSourceFile: /src/gnupg/kbx/keybox-dump.c
    functionUses: 0
    functionsReached:
    - get32
    - get16
    - _keybox_get_blob_image
    linkageType: ''
    returnType: int
    signature: int update_stats (KEYBOXBLOB blob, struct file_stats_s *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/kbx/keybox-dump.c:661,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:665,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keybox-dump.c:665,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/kbx/keybox-dump.c:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - filename
    - outfp
    argTypes:
    - char**
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 669
    functionName: open_file
    functionSourceFile: /src/gnupg/kbx/keybox-dump.c
    functionUses: 2
    functionsReached:
    - fprintf
    - es_fopen
    - strerror
    - gpg_err_set_errno
    linkageType: ''
    returnType: estream_t
    signature: estream_t open_file (const char **filename, FILE *outfp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/kbx/keybox-dump.c:683,1
    - Dst: open_file
      Src: /src/gnupg/kbx/keybox-dump.c:685,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-dump.c:686,1
    - Dst: _keybox_read_blob
      Src: /src/gnupg/kbx/keybox-dump.c:690,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/keybox-dump.c:691,1
    - Dst: gpg_err_source
      Src: /src/gnupg/kbx/keybox-dump.c:692,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:698,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:699,1
    - Dst: update_stats
      Src: /src/gnupg/kbx/keybox-dump.c:713,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:717,1
    - Dst: _keybox_dump_blob
      Src: /src/gnupg/kbx/keybox-dump.c:718,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:719,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-dump.c:721,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:727,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/keybox-dump.c:727,1
    - Dst: es_fclose
      Src: /src/gnupg/kbx/keybox-dump.c:730,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:734,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:752,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:755,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:758,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:761,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 3
    argNames:
    - filename
    - stats_only
    - outfp
    argTypes:
    - char*
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 673
    functionDepth: 3
    functionLinenumber: 673
    functionLinenumberEnd: 766
    functionName: _keybox_dump_file
    functionSourceFile: /src/gnupg/kbx/keybox-dump.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_syserror
    - es_fclose
    - _keybox_dump_blob
    - open_file
    - fprintf
    - gpg_err_code
    - memset
    - _keybox_read_blob
    - gpg_strerror
    - gpg_err_source
    - update_stats
    - _keybox_release_blob
    linkageType: ''
    returnType: int
    signature: int _keybox_dump_file (const char *filename, int stats_only, FILE *outfp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/kbx/keybox-dump.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg_a
    - arg_b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 784
    functionName: cmp_dupitems
    functionSourceFile: /src/gnupg/kbx/keybox-dump.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int cmp_dupitems (const void *arg_a, const void *arg_b)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/kbx/keybox-dump.c:801,1
    - Dst: open_file
      Src: /src/gnupg/kbx/keybox-dump.c:803,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-dump.c:804,1
    - Dst: malloc
      Src: /src/gnupg/kbx/keybox-dump.c:807,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-dump.c:810,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:811,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keybox-dump.c:812,1
    - Dst: es_fclose
      Src: /src/gnupg/kbx/keybox-dump.c:814,1
    - Dst: _keybox_read_blob
      Src: /src/gnupg/kbx/keybox-dump.c:819,1
    - Dst: hash_blob_rawdata
      Src: /src/gnupg/kbx/keybox-dump.c:823,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:824,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/keybox-dump.c:825,1
    - Dst: realloc
      Src: /src/gnupg/kbx/keybox-dump.c:832,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-dump.c:835,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:836,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keybox-dump.c:837,1
    - Dst: free
      Src: /src/gnupg/kbx/keybox-dump.c:838,1
    - Dst: es_fclose
      Src: /src/gnupg/kbx/keybox-dump.c:840,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-dump.c:846,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-dump.c:849,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:855,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/keybox-dump.c:855,1
    - Dst: es_fclose
      Src: /src/gnupg/kbx/keybox-dump.c:857,1
    - Dst: qsort
      Src: /src/gnupg/kbx/keybox-dump.c:859,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/keybox-dump.c:863,1
    - Dst: bin2hexcolon
      Src: /src/gnupg/kbx/keybox-dump.c:865,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:866,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:868,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/keybox-dump.c:870,1
    - Dst: putc
      Src: /src/gnupg/kbx/keybox-dump.c:871,1
    - Dst: free
      Src: /src/gnupg/kbx/keybox-dump.c:876,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 3
    argNames:
    - filename
    - print_them
    - outfp
    argTypes:
    - char*
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 879
    functionName: _keybox_dump_find_dups
    functionSourceFile: /src/gnupg/kbx/keybox-dump.c
    functionUses: 1
    functionsReached:
    - bin2hexcolon
    - gpg_error_from_syserror
    - hash_blob_rawdata
    - es_fclose
    - realloc
    - open_file
    - fprintf
    - memcmp
    - memset
    - malloc
    - _keybox_read_blob
    - memcpy
    - gpg_strerror
    - qsort
    - strerror
    - putc
    - _keybox_release_blob
    - free
    linkageType: ''
    returnType: int
    signature: int _keybox_dump_find_dups (const char *filename, int print_them, FILE
      *outfp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: open_file
      Src: /src/gnupg/kbx/keybox-dump.c:892,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-dump.c:893,1
    - Dst: _keybox_read_blob
      Src: /src/gnupg/kbx/keybox-dump.c:895,1
    - Dst: _keybox_write_blob
      Src: /src/gnupg/kbx/keybox-dump.c:901,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:903,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/keybox-dump.c:904,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-dump.c:908,1
    - Dst: fprintf
      Src: /src/gnupg/kbx/keybox-dump.c:915,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/keybox-dump.c:915,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-dump.c:917,1
    - Dst: es_fclose
      Src: /src/gnupg/kbx/keybox-dump.c:919,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - filename
    - from
    - to
    - outfp
    argTypes:
    - char*
    - unsigned long
    - unsigned long
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 883
    functionDepth: 2
    functionLinenumber: 883
    functionLinenumberEnd: 921
    functionName: _keybox_dump_cut_records
    functionSourceFile: /src/gnupg/kbx/keybox-dump.c
    functionUses: 1
    functionsReached:
    - _keybox_write_blob
    - gpg_error_from_syserror
    - es_fclose
    - open_file
    - fprintf
    - gpg_strerror
    - _keybox_read_blob
    - _keybox_release_blob
    linkageType: ''
    returnType: int
    signature: "int _keybox_dump_cut_records (const char *filename, unsigned long
      from,\n                          unsigned long to, FILE *outfp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/kbx/backend-kbx.c:60,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-kbx.c:62,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-kbx.c:64,1
    - Dst: es_fread
      Src: /src/gnupg/kbx/backend-kbx.c:65,1
    - Dst: es_fread
      Src: /src/gnupg/kbx/backend-kbx.c:67,1
    - Dst: es_fread
      Src: /src/gnupg/kbx/backend-kbx.c:69,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/backend-kbx.c:70,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-kbx.c:76,1
    - Dst: es_fclose
      Src: /src/gnupg/kbx/backend-kbx.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 80
    functionName: check_kbx_file_magic
    functionSourceFile: /src/gnupg/kbx/backend-kbx.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - es_fclose
    - es_fread
    - gpg_error
    - memcmp
    - es_fopen
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_kbx_file_magic (const char *filename)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dotlock_create
      Src: /src/gnupg/kbx/backend-kbx.c:96,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-kbx.c:99,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-kbx.c:105,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-kbx.c:106,1
    - Dst: dotlock_take
      Src: /src/gnupg/kbx/backend-kbx.c:110,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-kbx.c:112,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-kbx.c:114,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-kbx.c:114,1
    - Dst: es_fopen
      Src: /src/gnupg/kbx/backend-kbx.c:121,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-kbx.c:124,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-kbx.c:125,1
    - Dst: _
      Src: /src/gnupg/kbx/backend-kbx.c:125,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-kbx.c:126,1
    - Dst: _keybox_write_header_blob
      Src: /src/gnupg/kbx/backend-kbx.c:129,1
    - Dst: es_fclose
      Src: /src/gnupg/kbx/backend-kbx.c:130,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-kbx.c:133,1
    - Dst: _
      Src: /src/gnupg/kbx/backend-kbx.c:133,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-kbx.c:134,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-kbx.c:139,1
    - Dst: _
      Src: /src/gnupg/kbx/backend-kbx.c:139,1
    - Dst: dotlock_release
      Src: /src/gnupg/kbx/backend-kbx.c:145,1
    - Dst: dotlock_destroy
      Src: /src/gnupg/kbx/backend-kbx.c:146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 149
    functionName: create_keybox
    functionSourceFile: /src/gnupg/kbx/backend-kbx.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_syserror
    - dotlock_create
    - log_error
    - es_fclose
    - _keybox_write_header_blob
    - _
    - dotlock_take
    - dotlock_release
    - gpg_strerror
    - log_info
    - es_fopen
    - dotlock_destroy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t create_keybox (const char *filename)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/backend-kbx.c:165,1
    - Dst: strlen
      Src: /src/gnupg/kbx/backend-kbx.c:165,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-kbx.c:167,1
    - Dst: strcpy
      Src: /src/gnupg/kbx/backend-kbx.c:169,1
    - Dst: check_kbx_file_magic
      Src: /src/gnupg/kbx/backend-kbx.c:171,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/backend-kbx.c:172,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-kbx.c:180,1
    - Dst: create_keybox
      Src: /src/gnupg/kbx/backend-kbx.c:183,1
    - Dst: keybox_register_file
      Src: /src/gnupg/kbx/backend-kbx.c:191,1
    - Dst: be_new_backend_id
      Src: /src/gnupg/kbx/backend-kbx.c:195,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-kbx.c:202,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 4
    argNames:
    - ctrl
    - r_hd
    - filename
    - readonly
    argTypes:
    - ctrl_t
    - backend_handle_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 204
    functionName: be_kbx_add_resource
    functionSourceFile: /src/gnupg/kbx/backend-kbx.c
    functionUses: 0
    functionsReached:
    - keybox_register_file
    - strlen
    - gpg_error_from_syserror
    - be_new_backend_id
    - gpg_error
    - strcpy
    - gpg_err_code
    - create_keybox
    - xtrycalloc
    - xfree
    - check_kbx_file_magic
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_kbx_add_resource (ctrl_t ctrl, backend_handle_t *r_hd,\n
      \                    const char *filename, int readonly)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-kbx.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctrl
    - hd
    argTypes:
    - ctrl_t
    - backend_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: be_kbx_release_resource
    functionSourceFile: /src/gnupg/kbx/backend-kbx.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void be_kbx_release_resource (ctrl_t ctrl, backend_handle_t hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keybox_fp_close
      Src: /src/gnupg/kbx/backend-kbx.c:225,1
    - Dst: keybox_release
      Src: /src/gnupg/kbx/backend-kbx.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - kbx_hd
    argTypes:
    - KEYBOX_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: be_kbx_release_kbx_hd
    functionSourceFile: /src/gnupg/kbx/backend-kbx.c
    functionUses: 0
    functionsReached:
    - keybox_release
    - keybox_fp_close
    linkageType: ''
    returnType: void
    signature: void be_kbx_release_kbx_hd (KEYBOX_HANDLE kbx_hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keybox_new_openpgp
      Src: /src/gnupg/kbx/backend-kbx.c:234,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-kbx.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - backend_hd
    - part
    argTypes:
    - backend_handle_t
    - db_request_part_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: be_kbx_init_request_part
    functionSourceFile: /src/gnupg/kbx/backend-kbx.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - keybox_new_openpgp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_kbx_init_request_part (backend_handle_t backend_hd,
      db_request_part_t part)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-kbx.c:253,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-kbx.c:254,1
    - Dst: be_find_request_part
      Src: /src/gnupg/kbx/backend-kbx.c:257,1
    - Dst: keybox_search_reset
      Src: /src/gnupg/kbx/backend-kbx.c:262,1
    - Dst: keybox_search
      Src: /src/gnupg/kbx/backend-kbx.c:264,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-kbx.c:267,1
    - Dst: keybox_get_data
      Src: /src/gnupg/kbx/backend-kbx.c:277,1
    - Dst: be_return_pubkey
      Src: /src/gnupg/kbx/backend-kbx.c:282,1
    - Dst: be_cache_pubkey
      Src: /src/gnupg/kbx/backend-kbx.c:285,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-kbx.c:286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 5
    argNames:
    - ctrl
    - backend_hd
    - request
    - desc
    - ndesc
    argTypes:
    - ctrl_t
    - backend_handle_t
    - db_request_t
    - KEYDB_SEARCH_DESC*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 291
    functionName: be_kbx_search
    functionSourceFile: /src/gnupg/kbx/backend-kbx.c
    functionUses: 0
    functionsReached:
    - be_return_pubkey
    - keybox_search
    - log_assert
    - be_find_request_part
    - gpg_error
    - xfree
    - keybox_get_data
    - be_cache_pubkey
    - keybox_search_reset
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_kbx_search (ctrl_t ctrl, backend_handle_t backend_hd,
      db_request_t request,\n               KEYDB_SEARCH_DESC *desc, unsigned int
      ndesc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-kbx.c:311,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-kbx.c:312,1
    - Dst: memset
      Src: /src/gnupg/kbx/backend-kbx.c:314,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/backend-kbx.c:316,1
    - Dst: be_find_request_part
      Src: /src/gnupg/kbx/backend-kbx.c:319,1
    - Dst: keybox_search_reset
      Src: /src/gnupg/kbx/backend-kbx.c:323,1
    - Dst: keybox_search
      Src: /src/gnupg/kbx/backend-kbx.c:325,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-kbx.c:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - ctrl
    - backend_hd
    - request
    - ubid
    argTypes:
    - ctrl_t
    - backend_handle_t
    - db_request_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 332
    functionName: be_kbx_seek
    functionSourceFile: /src/gnupg/kbx/backend-kbx.c
    functionUses: 0
    functionsReached:
    - log_assert
    - keybox_search
    - be_find_request_part
    - gpg_error
    - memset
    - keybox_search_reset
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_kbx_seek (ctrl_t ctrl, backend_handle_t backend_hd,\n
      \            db_request_t request, const unsigned char *ubid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-kbx.c:349,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-kbx.c:350,1
    - Dst: be_find_request_part
      Src: /src/gnupg/kbx/backend-kbx.c:353,1
    - Dst: keybox_insert_keyblock
      Src: /src/gnupg/kbx/backend-kbx.c:358,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/kbx/backend-kbx.c:363,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/kbx/backend-kbx.c:366,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/kbx/backend-kbx.c:369,1
    - Dst: keybox_insert_cert
      Src: /src/gnupg/kbx/backend-kbx.c:371,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-kbx.c:374,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/kbx/backend-kbx.c:377,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 6
    argNames:
    - ctrl
    - backend_hd
    - request
    - pktype
    - blob
    - bloblen
    argTypes:
    - ctrl_t
    - backend_handle_t
    - db_request_t
    - enum pubkey_types
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 379
    functionName: be_kbx_insert
    functionSourceFile: /src/gnupg/kbx/backend-kbx.c
    functionUses: 0
    functionsReached:
    - keybox_insert_cert
    - ksba_cert_init_from_mem
    - log_assert
    - gcry_md_hash_buffer
    - be_find_request_part
    - gpg_error
    - ksba_cert_release
    - keybox_insert_keyblock
    - ksba_cert_new
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_kbx_insert (ctrl_t ctrl, backend_handle_t backend_hd,\n
      \              db_request_t request, enum pubkey_types pktype,\n               const
      void *blob, size_t bloblen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-kbx.c:395,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-kbx.c:396,1
    - Dst: be_find_request_part
      Src: /src/gnupg/kbx/backend-kbx.c:399,1
    - Dst: keybox_update_keyblock
      Src: /src/gnupg/kbx/backend-kbx.c:408,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/kbx/backend-kbx.c:414,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/kbx/backend-kbx.c:417,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/kbx/backend-kbx.c:420,1
    - Dst: keybox_update_cert
      Src: /src/gnupg/kbx/backend-kbx.c:422,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-kbx.c:425,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/kbx/backend-kbx.c:428,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 6
    argNames:
    - ctrl
    - backend_hd
    - request
    - pktype
    - blob
    - bloblen
    argTypes:
    - ctrl_t
    - backend_handle_t
    - db_request_t
    - enum pubkey_types
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 430
    functionName: be_kbx_update
    functionSourceFile: /src/gnupg/kbx/backend-kbx.c
    functionUses: 0
    functionsReached:
    - keybox_update_cert
    - ksba_cert_init_from_mem
    - log_assert
    - gcry_md_hash_buffer
    - be_find_request_part
    - keybox_update_keyblock
    - gpg_error
    - ksba_cert_release
    - ksba_cert_new
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_kbx_update (ctrl_t ctrl, backend_handle_t backend_hd,\n
      \              db_request_t request, enum pubkey_types pktype,\n               const
      void *blob, size_t bloblen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-kbx.c:443,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-kbx.c:444,1
    - Dst: be_find_request_part
      Src: /src/gnupg/kbx/backend-kbx.c:447,1
    - Dst: keybox_delete
      Src: /src/gnupg/kbx/backend-kbx.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ctrl
    - backend_hd
    - request
    argTypes:
    - ctrl_t
    - backend_handle_t
    - db_request_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 458
    functionName: be_kbx_delete
    functionSourceFile: /src/gnupg/kbx/backend-kbx.c
    functionUses: 0
    functionsReached:
    - be_find_request_part
    - keybox_delete
    - log_assert
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_kbx_delete (ctrl_t ctrl, backend_handle_t backend_hd,
      db_request_t request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: xtoi_1
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: xtoi_2
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: get32
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get32(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: get16
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get16(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-search.c:54,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - blob
    argTypes:
    - KEYBOXBLOB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: blob_get_blob_flags
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - get16
    - _keybox_get_blob_image
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int blob_get_blob_flags (KEYBOXBLOB blob)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-search.c:71,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:78,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:79,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:83,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:86,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:87,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:91,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - blob
    - kid
    argTypes:
    - KEYBOXBLOB
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 96
    functionName: blob_get_first_keyid
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - get32
    - get16
    - _keybox_get_blob_image
    linkageType: ''
    returnType: int
    signature: int blob_get_first_keyid (KEYBOXBLOB blob, u32 *kid)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:128,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:129,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:136,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:141,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:142,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:150,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:151,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 5
    argNames:
    - buffer
    - length
    - what
    - flag_off
    - flag_size
    argTypes:
    - unsigned char*
    - size_t
    - int
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 181
    functionName: _keybox_get_flag_location
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - get16
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _keybox_get_flag_location (const unsigned char *buffer,
      size_t length,\n                           int what, size_t *flag_off, size_t
      *flag_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_get_flag_location
      Src: /src/gnupg/kbx/keybox-search.c:195,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:200,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - buffer
    - length
    - what
    - value
    argTypes:
    - unsigned char*
    - size_t
    - int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 206
    functionName: get_flag_from_image
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - get32
    - _keybox_get_flag_location
    - get16
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t get_flag_from_image (const unsigned char *buffer, size_t
      length,\n                     int what, unsigned int *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-search.c:218,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:223,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:224,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:232,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/keybox-search.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - blob
    - sn
    - snlen
    argTypes:
    - KEYBOXBLOB
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: blob_cmp_sn
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - memcmp
    - get16
    - _keybox_get_blob_image
    linkageType: ''
    returnType: int
    signature: int blob_cmp_sn (KEYBOXBLOB blob, const unsigned char *sn, int snlen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-search.c:253,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:259,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:260,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:271,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/keybox-search.c:275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - blob
    - fpr
    - fprlen
    argTypes:
    - KEYBOXBLOB
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 279
    functionName: blob_cmp_fpr
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - memcmp
    - get16
    - _keybox_get_blob_image
    linkageType: ''
    returnType: int
    signature: int blob_cmp_fpr (KEYBOXBLOB blob, const unsigned char *fpr, unsigned
      int fprlen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-search.c:295,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:301,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:302,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/keybox-search.c:315,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/keybox-search.c:321,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/keybox-search.c:327,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - blob
    - fpr
    - fproff
    - fprlen
    argTypes:
    - KEYBOXBLOB
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 332
    functionName: blob_cmp_fpr_part
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - memcmp
    - get16
    - _keybox_get_blob_image
    linkageType: ''
    returnType: int
    signature: "int blob_cmp_fpr_part (KEYBOXBLOB blob, const unsigned char *fpr,\n
      \                  int fproff, int fprlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-search.c:345,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:351,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:352,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/keybox-search.c:359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - blob
    - ubid
    argTypes:
    - KEYBOXBLOB
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 362
    functionName: blob_cmp_ubid
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - memcmp
    - get16
    - _keybox_get_blob_image
    linkageType: ''
    returnType: int
    signature: int blob_cmp_ubid (KEYBOXBLOB blob, const unsigned char *ubid)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-search.c:376,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:381,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:382,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:390,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:396,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:397,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:411,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:412,1
    - Dst: ascii_memcasemem
      Src: /src/gnupg/kbx/keybox-search.c:419,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/keybox-search.c:424,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:434,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:435,1
    - Dst: ascii_memcasemem
      Src: /src/gnupg/kbx/keybox-search.c:443,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/keybox-search.c:448,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 6
    argNames:
    - blob
    - idx
    - name
    - namelen
    - substr
    - x509
    argTypes:
    - KEYBOXBLOB
    - int
    - char*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 453
    functionName: blob_cmp_name
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - get32
    - get16
    - _keybox_get_blob_image
    - memcmp
    - ascii_memcasemem
    linkageType: ''
    returnType: int
    signature: "int blob_cmp_name (KEYBOXBLOB blob, int idx,\n               const
      char *name, size_t namelen, int substr, int x509)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-search.c:472,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:477,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:478,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:486,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:492,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:493,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:510,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:511,1
    - Dst: is_valid_mailbox_mem
      Src: /src/gnupg/kbx/keybox-search.c:538,1
    - Dst: ascii_memcasemem
      Src: /src/gnupg/kbx/keybox-search.c:557,1
    - Dst: ascii_memcasecmp
      Src: /src/gnupg/kbx/keybox-search.c:562,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 68
    argCount: 5
    argNames:
    - blob
    - name
    - namelen
    - substr
    - x509
    argTypes:
    - KEYBOXBLOB
    - char*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 567
    functionName: blob_cmp_mail
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - get32
    - ascii_memcasecmp
    - is_valid_mailbox_mem
    - get16
    - _keybox_get_blob_image
    - ascii_memcasemem
    linkageType: ''
    returnType: int
    signature: "int blob_cmp_mail (KEYBOXBLOB blob, const char *name, size_t namelen,
      int substr,\n               int x509)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-search.c:584,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:587,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:588,1
    - Dst: _keybox_parse_openpgp
      Src: /src/gnupg/kbx/keybox-search.c:592,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/keybox-search.c:595,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/keybox-search.c:606,1
    - Dst: _keybox_destroy_openpgp_info
      Src: /src/gnupg/kbx/keybox-search.c:617,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - blob
    - grip
    argTypes:
    - KEYBOXBLOB
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 619
    functionName: blob_openpgp_has_grip
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - get32
    - _keybox_get_blob_image
    - _keybox_parse_openpgp
    - memcmp
    - _keybox_destroy_openpgp_info
    linkageType: ''
    returnType: int
    signature: int blob_openpgp_has_grip (KEYBOXBLOB blob, const unsigned char *grip)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-search.c:642,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:645,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:646,1
    - Dst: ksba_reader_new
      Src: /src/gnupg/kbx/keybox-search.c:650,1
    - Dst: ksba_reader_set_mem
      Src: /src/gnupg/kbx/keybox-search.c:653,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/kbx/keybox-search.c:656,1
    - Dst: ksba_cert_read_der
      Src: /src/gnupg/kbx/keybox-search.c:659,1
    - Dst: ksba_cert_get_public_key
      Src: /src/gnupg/kbx/keybox-search.c:662,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/kbx/keybox-search.c:665,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/kbx/keybox-search.c:668,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/kbx/keybox-search.c:671,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/kbx/keybox-search.c:674,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/kbx/keybox-search.c:675,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-search.c:679,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/kbx/keybox-search.c:680,1
    - Dst: ksba_reader_release
      Src: /src/gnupg/kbx/keybox-search.c:681,1
    - Dst: memcmp
      Src: /src/gnupg/kbx/keybox-search.c:682,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-search.c:684,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/kbx/keybox-search.c:685,1
    - Dst: ksba_reader_release
      Src: /src/gnupg/kbx/keybox-search.c:686,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 2
    argNames:
    - blob
    - grip
    argTypes:
    - KEYBOXBLOB
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 688
    functionName: blob_x509_has_grip
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - get32
    - ksba_cert_get_public_key
    - ksba_reader_set_mem
    - gcry_pk_get_keygrip
    - _keybox_get_blob_image
    - ksba_reader_release
    - gcry_sexp_sscan
    - ksba_reader_new
    - ksba_cert_release
    - xfree
    - gcry_sexp_canon_len
    - gcry_sexp_release
    - memcmp
    - ksba_cert_new
    - ksba_cert_read_der
    linkageType: ''
    returnType: int
    signature: int blob_x509_has_grip (KEYBOXBLOB blob, const unsigned char *grip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-search.c:702,1
    - Dst: blob_cmp_fpr_part
      Src: /src/gnupg/kbx/keybox-search.c:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - blob
    - lkid
    argTypes:
    - KEYBOXBLOB
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 712
    functionName: has_short_kid
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - blob_cmp_fpr_part
    - _keybox_get_blob_image
    linkageType: ''
    returnType: int
    signature: int has_short_kid (KEYBOXBLOB blob, u32 lkid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-search.c:720,1
    - Dst: blob_cmp_fpr_part
      Src: /src/gnupg/kbx/keybox-search.c:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - blob
    - mkid
    - lkid
    argTypes:
    - KEYBOXBLOB
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 734
    functionName: has_long_kid
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - blob_cmp_fpr_part
    - _keybox_get_blob_image
    linkageType: ''
    returnType: int
    signature: int has_long_kid (KEYBOXBLOB blob, u32 mkid, u32 lkid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blob_cmp_fpr
      Src: /src/gnupg/kbx/keybox-search.c:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - blob
    - fpr
    - fprlen
    argTypes:
    - KEYBOXBLOB
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 2
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: has_fingerprint
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - blob_cmp_fpr
    linkageType: ''
    returnType: int
    signature: int has_fingerprint (KEYBOXBLOB blob, const unsigned char *fpr, unsigned
      int fprlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blob_get_type
      Src: /src/gnupg/kbx/keybox-search.c:745,1
    - Dst: blob_openpgp_has_grip
      Src: /src/gnupg/kbx/keybox-search.c:746,1
    - Dst: blob_get_type
      Src: /src/gnupg/kbx/keybox-search.c:748,1
    - Dst: blob_x509_has_grip
      Src: /src/gnupg/kbx/keybox-search.c:749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - blob
    - grip
    argTypes:
    - KEYBOXBLOB
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 742
    functionDepth: 2
    functionLinenumber: 742
    functionLinenumberEnd: 752
    functionName: has_keygrip
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - blob_get_type
    - blob_x509_has_grip
    - blob_openpgp_has_grip
    linkageType: ''
    returnType: int
    signature: int has_keygrip (KEYBOXBLOB blob, const unsigned char *grip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blob_cmp_ubid
      Src: /src/gnupg/kbx/keybox-search.c:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - blob
    - ubid
    argTypes:
    - KEYBOXBLOB
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 761
    functionName: has_ubid
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - blob_cmp_ubid
    linkageType: ''
    returnType: int
    signature: int has_ubid (KEYBOXBLOB blob, const unsigned char *ubid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_val_if_fail
      Src: /src/gnupg/kbx/keybox-search.c:769,1
    - Dst: blob_get_type
      Src: /src/gnupg/kbx/keybox-search.c:771,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keybox-search.c:774,1
    - Dst: blob_cmp_name
      Src: /src/gnupg/kbx/keybox-search.c:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - blob
    - name
    argTypes:
    - KEYBOXBLOB
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 776
    functionName: has_issuer
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - return_val_if_fail
    - strlen
    - blob_cmp_name
    - blob_get_type
    linkageType: ''
    returnType: int
    signature: int has_issuer (KEYBOXBLOB blob, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_val_if_fail
      Src: /src/gnupg/kbx/keybox-search.c:784,1
    - Dst: return_val_if_fail
      Src: /src/gnupg/kbx/keybox-search.c:785,1
    - Dst: blob_get_type
      Src: /src/gnupg/kbx/keybox-search.c:787,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keybox-search.c:790,1
    - Dst: blob_cmp_sn
      Src: /src/gnupg/kbx/keybox-search.c:792,1
    - Dst: blob_cmp_name
      Src: /src/gnupg/kbx/keybox-search.c:793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - blob
    - name
    - sn
    - snlen
    argTypes:
    - KEYBOXBLOB
    - char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 794
    functionName: has_issuer_sn
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - strlen
    - blob_get_type
    - blob_cmp_name
    - return_val_if_fail
    - blob_cmp_sn
    linkageType: ''
    returnType: int
    signature: "int has_issuer_sn (KEYBOXBLOB blob, const char *name,\n               const
      unsigned char *sn, int snlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_val_if_fail
      Src: /src/gnupg/kbx/keybox-search.c:799,1
    - Dst: blob_get_type
      Src: /src/gnupg/kbx/keybox-search.c:801,1
    - Dst: blob_cmp_sn
      Src: /src/gnupg/kbx/keybox-search.c:803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - blob
    - sn
    - snlen
    argTypes:
    - KEYBOXBLOB
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 804
    functionName: has_sn
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - return_val_if_fail
    - blob_cmp_sn
    - blob_get_type
    linkageType: ''
    returnType: int
    signature: int has_sn (KEYBOXBLOB blob, const unsigned char *sn, int snlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_val_if_fail
      Src: /src/gnupg/kbx/keybox-search.c:811,1
    - Dst: blob_get_type
      Src: /src/gnupg/kbx/keybox-search.c:813,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keybox-search.c:816,1
    - Dst: blob_cmp_name
      Src: /src/gnupg/kbx/keybox-search.c:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - blob
    - name
    argTypes:
    - KEYBOXBLOB
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 806
    functionDepth: 2
    functionLinenumber: 806
    functionLinenumberEnd: 818
    functionName: has_subject
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - return_val_if_fail
    - strlen
    - blob_cmp_name
    - blob_get_type
    linkageType: ''
    returnType: int
    signature: int has_subject (KEYBOXBLOB blob, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_val_if_fail
      Src: /src/gnupg/kbx/keybox-search.c:827,1
    - Dst: blob_get_type
      Src: /src/gnupg/kbx/keybox-search.c:829,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keybox-search.c:833,1
    - Dst: blob_cmp_name
      Src: /src/gnupg/kbx/keybox-search.c:834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - blob
    - name
    - substr
    argTypes:
    - KEYBOXBLOB
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 821
    functionDepth: 2
    functionLinenumber: 821
    functionLinenumberEnd: 836
    functionName: has_username
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - return_val_if_fail
    - strlen
    - blob_cmp_name
    - blob_get_type
    linkageType: ''
    returnType: int
    signature: int has_username (KEYBOXBLOB blob, const char *name, int substr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_val_if_fail
      Src: /src/gnupg/kbx/keybox-search.c:845,1
    - Dst: blob_get_type
      Src: /src/gnupg/kbx/keybox-search.c:847,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keybox-search.c:854,1
    - Dst: blob_cmp_mail
      Src: /src/gnupg/kbx/keybox-search.c:857,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - blob
    - name
    - substr
    argTypes:
    - KEYBOXBLOB
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 839
    functionDepth: 3
    functionLinenumber: 839
    functionLinenumberEnd: 859
    functionName: has_mail
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - return_val_if_fail
    - blob_cmp_mail
    - strlen
    - blob_get_type
    linkageType: ''
    returnType: int
    signature: int has_mail (KEYBOXBLOB blob, const char *name, int substr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-search.c:868,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-search.c:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - array
    - size
    argTypes:
    - struct sn_array_s*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 870
    functionName: release_sn_array
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_sn_array (struct sn_array_s *array, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:884,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-search.c:888,1
    - Dst: es_fseeko
      Src: /src/gnupg/kbx/keybox-search.c:894,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-search.c:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYBOX_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 905
    functionName: keybox_search_reset
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 4
    functionsReached:
    - _keybox_ll_close
    - es_fseeko
    - gpg_error
    - _keybox_release_blob
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keybox_search_reset (KEYBOX_HANDLE hd)
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:927,1
    - Dst: _keybox_get_blob_fileoffset
      Src: /src/gnupg/kbx/keybox-search.c:933,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-search.c:934,1
    - Dst: keybox_search_reset
      Src: /src/gnupg/kbx/keybox-search.c:956,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keybox-search.c:966,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-search.c:968,1
    - Dst: _keybox_ll_open
      Src: /src/gnupg/kbx/keybox-search.c:976,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-search.c:979,1
    - Dst: es_fseeko
      Src: /src/gnupg/kbx/keybox-search.c:989,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-search.c:991,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/keybox-search.c:992,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/keybox-search.c:993,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-search.c:994,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:995,1
    - Dst: _keybox_read_blob
      Src: /src/gnupg/kbx/keybox-search.c:999,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/keybox-search.c:1002,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/keybox-search.c:1003,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-search.c:1004,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1005,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/keybox-search.c:1033,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-search.c:1036,1
    - Dst: release_sn_array
      Src: /src/gnupg/kbx/keybox-search.c:1037,1
    - Dst: xtoi_1
      Src: /src/gnupg/kbx/keybox-search.c:1045,1
    - Dst: xtoi_2
      Src: /src/gnupg/kbx/keybox-search.c:1049,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/keybox-search.c:1057,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-search.c:1060,1
    - Dst: release_sn_array
      Src: /src/gnupg/kbx/keybox-search.c:1061,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-search.c:1065,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-search.c:1077,1
    - Dst: _keybox_read_blob
      Src: /src/gnupg/kbx/keybox-search.c:1078,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/keybox-search.c:1079,1
    - Dst: gpg_err_source
      Src: /src/gnupg/kbx/keybox-search.c:1080,1
    - Dst: blob_get_type
      Src: /src/gnupg/kbx/keybox-search.c:1089,1
    - Dst: blob_get_blob_flags
      Src: /src/gnupg/kbx/keybox-search.c:1095,1
    - Dst: never_reached
      Src: /src/gnupg/kbx/keybox-search.c:1104,1
    - Dst: has_username
      Src: /src/gnupg/kbx/keybox-search.c:1107,1
    - Dst: has_mail
      Src: /src/gnupg/kbx/keybox-search.c:1112,1
    - Dst: has_mail
      Src: /src/gnupg/kbx/keybox-search.c:1117,1
    - Dst: has_username
      Src: /src/gnupg/kbx/keybox-search.c:1122,1
    - Dst: has_issuer
      Src: /src/gnupg/kbx/keybox-search.c:1131,1
    - Dst: has_issuer_sn
      Src: /src/gnupg/kbx/keybox-search.c:1135,1
    - Dst: has_sn
      Src: /src/gnupg/kbx/keybox-search.c:1141,1
    - Dst: has_subject
      Src: /src/gnupg/kbx/keybox-search.c:1146,1
    - Dst: has_short_kid
      Src: /src/gnupg/kbx/keybox-search.c:1150,1
    - Dst: has_long_kid
      Src: /src/gnupg/kbx/keybox-search.c:1155,1
    - Dst: has_fingerprint
      Src: /src/gnupg/kbx/keybox-search.c:1161,1
    - Dst: has_keygrip
      Src: /src/gnupg/kbx/keybox-search.c:1167,1
    - Dst: has_ubid
      Src: /src/gnupg/kbx/keybox-search.c:1171,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1181,1
    - Dst: blob_get_first_keyid
      Src: /src/gnupg/kbx/keybox-search.c:1196,1
    - Dst: skipfnc
      Src: /src/gnupg/kbx/keybox-search.c:1197,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/keybox-search.c:1210,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-search.c:1212,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-search.c:1217,1
    - Dst: release_sn_array
      Src: /src/gnupg/kbx/keybox-search.c:1222,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 235
    argCount: 6
    argNames:
    - hd
    - desc
    - ndesc
    - want_blobtype
    - r_descindex
    - r_skipped
    argTypes:
    - KEYBOX_HANDLE
    - KEYBOX_SEARCH_DESC*
    - size_t
    - keybox_blobtype_t
    - size_t*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 913
    functionDepth: 4
    functionLinenumber: 913
    functionLinenumberEnd: 1225
    functionName: keybox_search
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 4
    functionsReached:
    - xtoi_1
    - blob_get_blob_flags
    - has_keygrip
    - has_issuer
    - has_mail
    - has_issuer_sn
    - keybox_search_reset
    - gpg_err_source
    - memcpy
    - xtrymalloc
    - xtoi_2
    - skipfnc
    - log_debug
    - has_ubid
    - has_fingerprint
    - gpg_error_from_syserror
    - release_sn_array
    - blob_get_type
    - never_reached
    - es_fseeko
    - gpg_error
    - xfree
    - gpg_strerror
    - xtrycalloc
    - blob_get_first_keyid
    - has_sn
    - _keybox_ll_open
    - has_subject
    - _keybox_get_blob_fileoffset
    - gpg_err_code
    - _keybox_read_blob
    - has_username
    - has_short_kid
    - has_long_kid
    - _keybox_release_blob
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keybox_search (KEYBOX_HANDLE hd, KEYBOX_SEARCH_DESC *desc,
      size_t ndesc,\n               keybox_blobtype_t want_blobtype,\n               size_t
      *r_descindex, unsigned long *r_skipped)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1256,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1258,1
    - Dst: blob_get_type
      Src: /src/gnupg/kbx/keybox-search.c:1260,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1271,1
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-search.c:1274,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1276,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:1277,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:1278,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1280,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:1288,1
    - Dst: get16
      Src: /src/gnupg/kbx/keybox-search.c:1289,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1291,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-search.c:1293,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/keybox-search.c:1300,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-search.c:1302,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-search.c:1303,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 5
    argNames:
    - hd
    - r_buffer
    - r_length
    - r_pubkey_type
    - r_ubid
    argTypes:
    - KEYBOX_HANDLE
    - void**
    - size_t*
    - enum pubkey_types*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1240
    functionDepth: 1
    functionLinenumber: 1240
    functionLinenumberEnd: 1307
    functionName: keybox_get_data
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 1
    functionsReached:
    - get32
    - xtrymalloc
    - get16
    - _keybox_get_blob_image
    - blob_get_type
    - gpg_error_from_syserror
    - gpg_error
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keybox_get_data (KEYBOX_HANDLE hd, void **r_buffer, size_t
      *r_length,\n                 enum pubkey_types *r_pubkey_type, unsigned char
      *r_ubid)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1327,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1329,1
    - Dst: blob_get_type
      Src: /src/gnupg/kbx/keybox-search.c:1331,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1332,1
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-search.c:1334,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1336,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:1337,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:1338,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1340,1
    - Dst: _keybox_get_flag_location
      Src: /src/gnupg/kbx/keybox-search.c:1342,1
    - Dst: iobuf_temp_with_content
      Src: /src/gnupg/kbx/keybox-search.c:1349,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - hd
    - r_iobuf
    - r_pk_no
    - r_uid_no
    argTypes:
    - KEYBOX_HANDLE
    - iobuf_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1314
    functionDepth: 2
    functionLinenumber: 1314
    functionLinenumberEnd: 1351
    functionName: keybox_get_keyblock
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 1
    functionsReached:
    - get32
    - iobuf_temp_with_content
    - _keybox_get_blob_image
    - blob_get_type
    - gpg_error
    - _keybox_get_flag_location
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keybox_get_keyblock (KEYBOX_HANDLE hd, iobuf_t *r_iobuf,\n
      \                    int *r_pk_no, int *r_uid_no)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1370,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1372,1
    - Dst: blob_get_type
      Src: /src/gnupg/kbx/keybox-search.c:1374,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1375,1
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-search.c:1377,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1379,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:1380,1
    - Dst: get32
      Src: /src/gnupg/kbx/keybox-search.c:1381,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1383,1
    - Dst: ksba_reader_new
      Src: /src/gnupg/kbx/keybox-search.c:1385,1
    - Dst: ksba_reader_set_mem
      Src: /src/gnupg/kbx/keybox-search.c:1388,1
    - Dst: ksba_reader_release
      Src: /src/gnupg/kbx/keybox-search.c:1391,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1393,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/kbx/keybox-search.c:1396,1
    - Dst: ksba_reader_release
      Src: /src/gnupg/kbx/keybox-search.c:1399,1
    - Dst: ksba_cert_read_der
      Src: /src/gnupg/kbx/keybox-search.c:1403,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/kbx/keybox-search.c:1406,1
    - Dst: ksba_reader_release
      Src: /src/gnupg/kbx/keybox-search.c:1407,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1409,1
    - Dst: get_flag_from_image
      Src: /src/gnupg/kbx/keybox-search.c:1412,1
    - Dst: ksba_cert_set_user_data
      Src: /src/gnupg/kbx/keybox-search.c:1414,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/kbx/keybox-search.c:1418,1
    - Dst: ksba_reader_release
      Src: /src/gnupg/kbx/keybox-search.c:1419,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1420,1
    - Dst: ksba_reader_release
      Src: /src/gnupg/kbx/keybox-search.c:1424,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - hd
    - r_cert
    argTypes:
    - KEYBOX_HANDLE
    - ksba_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1358
    functionDepth: 2
    functionLinenumber: 1358
    functionLinenumberEnd: 1426
    functionName: keybox_get_cert
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 1
    functionsReached:
    - get32
    - ksba_reader_set_mem
    - _keybox_get_blob_image
    - blob_get_type
    - ksba_reader_release
    - ksba_reader_new
    - gpg_error
    - ksba_cert_release
    - get_flag_from_image
    - ksba_cert_set_user_data
    - ksba_cert_new
    - ksba_cert_read_der
    linkageType: ''
    returnType: int
    signature: int keybox_get_cert (KEYBOX_HANDLE hd, ksba_cert_t *r_cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1442,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1444,1
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-search.c:1446,1
    - Dst: get_flag_from_image
      Src: /src/gnupg/kbx/keybox-search.c:1447,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-search.c:1448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - hd
    - what
    - idx
    - value
    argTypes:
    - KEYBOX_HANDLE
    - int
    - int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1432
    functionDepth: 2
    functionLinenumber: 1432
    functionLinenumberEnd: 1449
    functionName: keybox_get_flags
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - get_flag_from_image
    - _keybox_get_blob_image
    linkageType: ''
    returnType: int
    signature: int keybox_get_flags (KEYBOX_HANDLE hd, int what, int idx, unsigned
      int *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_ftello
      Src: /src/gnupg/kbx/keybox-search.c:1456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYBOX_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1457
    functionName: keybox_offset
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 1
    functionsReached:
    - es_ftello
    linkageType: ''
    returnType: off_t
    signature: off_t keybox_offset (KEYBOX_HANDLE hd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_ll_open
      Src: /src/gnupg/kbx/keybox-search.c:1476,1
    - Dst: es_fseeko
      Src: /src/gnupg/kbx/keybox-search.c:1481,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/kbx/keybox-search.c:1482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - hd
    - offset
    argTypes:
    - KEYBOX_HANDLE
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1459
    functionDepth: 1
    functionLinenumber: 1459
    functionLinenumberEnd: 1485
    functionName: keybox_seek
    functionSourceFile: /src/gnupg/kbx/keybox-search.c
    functionUses: 1
    functionsReached:
    - es_fseeko
    - _keybox_ll_open
    - gpg_error_from_errno
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keybox_seek (KEYBOX_HANDLE hd, off_t offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: same_file_p
      Src: /src/gnupg/kbx/keybox-init.c:66,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-init.c:69,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/keybox-init.c:73,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keybox-init.c:73,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-init.c:75,1
    - Dst: strcpy
      Src: /src/gnupg/kbx/keybox-init.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - fname
    - secret
    - r_token
    argTypes:
    - char*
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 95
    functionName: keybox_register_file
    functionSourceFile: /src/gnupg/kbx/keybox-init.c
    functionUses: 3
    functionsReached:
    - same_file_p
    - gpg_error_from_syserror
    - strlen
    - gpg_error
    - strcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keybox_register_file (const char *fname, int secret, void
      **r_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_access
      Src: /src/gnupg/kbx/keybox-init.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: keybox_is_writable
    functionSourceFile: /src/gnupg/kbx/keybox-init.c
    functionUses: 2
    functionsReached:
    - gnupg_access
    linkageType: ''
    returnType: int
    signature: int keybox_is_writable (void *token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - kbytes
    - reserved
    argTypes:
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: keybox_set_buffersize
    functionSourceFile: /src/gnupg/kbx/keybox-init.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void keybox_set_buffersize (unsigned int kbytes, int reserved)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/kbx/keybox-init.c:123,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keybox-init.c:124,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keybox-init.c:133,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-init.c:138,1
    - Dst: xtryrealloc
      Src: /src/gnupg/kbx/keybox-init.c:154,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-init.c:158,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - resource
    - secret
    - for_openpgp
    argTypes:
    - KB_NAME
    - int
    - int
    assertStmts:
    - condition: (resource && !resource->secret == !secret)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/gnupg/kbx/keybox-init.c
    constantsTouched: []
    func_position:
      end: 169
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 169
    functionName: do_keybox_new
    functionSourceFile: /src/gnupg/kbx/keybox-init.c
    functionUses: 0
    functionsReached:
    - xtryrealloc
    - xfree
    - xtrycalloc
    - assert
    linkageType: ''
    returnType: KEYBOX_HANDLE
    signature: KEYBOX_HANDLE do_keybox_new (KB_NAME resource, int secret, int for_openpgp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_keybox_new
      Src: /src/gnupg/kbx/keybox-init.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - token
    - secret
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: keybox_new_openpgp
    functionSourceFile: /src/gnupg/kbx/keybox-init.c
    functionUses: 2
    functionsReached:
    - do_keybox_new
    linkageType: ''
    returnType: KEYBOX_HANDLE
    signature: KEYBOX_HANDLE keybox_new_openpgp (void *token, int secret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_keybox_new
      Src: /src/gnupg/kbx/keybox-init.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - token
    - secret
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: keybox_new_x509
    functionSourceFile: /src/gnupg/kbx/keybox-init.c
    functionUses: 1
    functionsReached:
    - do_keybox_new
    linkageType: ''
    returnType: KEYBOX_HANDLE
    signature: KEYBOX_HANDLE keybox_new_x509 (void *token, int secret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-init.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYBOX_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: keybox_fp_close
    functionSourceFile: /src/gnupg/kbx/keybox-init.c
    functionUses: 3
    functionsReached:
    - _keybox_ll_close
    linkageType: ''
    returnType: void
    signature: void keybox_fp_close (KEYBOX_HANDLE hd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-init.c:219,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-init.c:220,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-init.c:221,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-init.c:222,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-init.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYBOX_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 224
    functionName: keybox_release
    functionSourceFile: /src/gnupg/kbx/keybox-init.c
    functionUses: 3
    functionsReached:
    - xfree
    - _keybox_release_blob
    linkageType: ''
    returnType: void
    signature: void keybox_release (KEYBOX_HANDLE hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-init.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYBOX_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: keybox_push_found_state
    functionSourceFile: /src/gnupg/kbx/keybox-init.c
    functionUses: 2
    functionsReached:
    - _keybox_release_blob
    linkageType: ''
    returnType: void
    signature: void keybox_push_found_state (KEYBOX_HANDLE hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-init.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYBOX_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 253
    functionName: keybox_pop_found_state
    functionSourceFile: /src/gnupg/kbx/keybox-init.c
    functionUses: 2
    functionsReached:
    - _keybox_release_blob
    linkageType: ''
    returnType: void
    signature: void keybox_pop_found_state (KEYBOX_HANDLE hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYBOX_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: keybox_get_resource_name
    functionSourceFile: /src/gnupg/kbx/keybox-init.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      keybox_get_resource_name (KEYBOX_HANDLE hd)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-init.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hd
    - 'yes'
    argTypes:
    - KEYBOX_HANDLE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: keybox_set_ephemeral
    functionSourceFile: /src/gnupg/kbx/keybox-init.c
    functionUses: 1
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: int
    signature: int keybox_set_ephemeral (KEYBOX_HANDLE hd, int yes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/kbx/keybox-init.c:291,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-init.c:298,1
    - Dst: DIM
      Src: /src/gnupg/kbx/keybox-init.c:302,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/keybox-init.c:310,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keybox-init.c:315,1
    - Dst: es_setvbuf
      Src: /src/gnupg/kbx/keybox-init.c:323,1
    - Dst: es_opaque_set
      Src: /src/gnupg/kbx/keybox-init.c:325,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - rfp
    - fname
    - mode
    argTypes:
    - estream_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 333
    functionName: _keybox_ll_open
    functionSourceFile: /src/gnupg/kbx/keybox-init.c
    functionUses: 2
    functionsReached:
    - es_opaque_set
    - gpg_error_from_syserror
    - DIM
    - log_info
    - es_fopen
    - xtrymalloc
    - es_setvbuf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _keybox_ll_open (estream_t *rfp, const char *fname, unsigned
      int mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: es_opaque_get
      Src: /src/gnupg/kbx/keybox-init.c:348,1
    - Dst: es_fclose
      Src: /src/gnupg/kbx/keybox-init.c:349,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-init.c:350,1
    - Dst: DIM
      Src: /src/gnupg/kbx/keybox-init.c:355,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/keybox-init.c:358,1
    - Dst: DIM
      Src: /src/gnupg/kbx/keybox-init.c:358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - fp
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 364
    functionName: _keybox_ll_close
    functionSourceFile: /src/gnupg/kbx/keybox-init.c
    functionUses: 2
    functionsReached:
    - es_opaque_get
    - log_assert
    - gpg_error_from_syserror
    - es_fclose
    - DIM
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _keybox_ll_close (estream_t fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-init.c:385,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/keybox-init.c:389,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYBOX_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 390
    functionName: _keybox_close_file
    functionSourceFile: /src/gnupg/kbx/keybox-init.c
    functionUses: 0
    functionsReached:
    - _keybox_ll_close
    - log_assert
    linkageType: ''
    returnType: void
    signature: void _keybox_close_file (KEYBOX_HANDLE hd)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: keybox_is_writable
      Src: /src/gnupg/kbx/keybox-init.c:404,1
    - Dst: dotlock_create
      Src: /src/gnupg/kbx/keybox-init.c:410,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-init.c:413,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keybox-init.c:414,1
    - Dst: _keybox_close_file
      Src: /src/gnupg/kbx/keybox-init.c:431,1
    - Dst: dotlock_take
      Src: /src/gnupg/kbx/keybox-init.c:433,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-init.c:435,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/keybox-init.c:436,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keybox-init.c:439,1
    - Dst: dotlock_release
      Src: /src/gnupg/kbx/keybox-init.c:449,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-init.c:451,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keybox-init.c:452,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - hd
    - 'yes'
    - timeout
    argTypes:
    - KEYBOX_HANDLE
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 460
    functionName: keybox_lock
    functionSourceFile: /src/gnupg/kbx/keybox-init.c
    functionUses: 4
    functionsReached:
    - keybox_is_writable
    - gpg_error_from_syserror
    - dotlock_create
    - dotlock_take
    - dotlock_release
    - log_info
    - gpg_err_code
    - _keybox_close_file
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keybox_lock (KEYBOX_HANDLE hd, int yes, long timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: map_assuan_err
    functionSourceFile: /src/gnupg/kbx/keybox-defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: map_assuan_err(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-defs.h:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - blob
    argTypes:
    - KEYBOXBLOB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: blob_get_type
    functionSourceFile: /src/gnupg/kbx/keybox-defs.h
    functionUses: 11
    functionsReached:
    - _keybox_get_blob_image
    linkageType: ''
    returnType: int
    signature: int blob_get_type (KEYBOXBLOB blob)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:75,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:79,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:85,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:88,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:95,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:102,1
    - Dst: buf32_to_ulong
      Src: /src/gnupg/kbx/keybox-openpgp.c:103,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:108,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:118,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:120,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:145,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:156,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:159,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 6
    argNames:
    - bufptr
    - buflen
    - r_data
    - r_datalen
    - r_pkttype
    - r_ntotal
    argTypes:
    - unsigned char**
    - size_t*
    - unsigned char**
    - size_t*
    - int*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 172
    functionName: next_packet
    functionSourceFile: /src/gnupg/kbx/keybox-openpgp.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - buf32_to_ulong
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t next_packet (unsigned char const **bufptr, size_t *buflen,\n
      \            unsigned char const **r_data, size_t *r_datalen, int *r_pkttype,\n
      \            size_t *r_ntotal)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_build
      Src: /src/gnupg/kbx/keybox-openpgp.c:187,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/kbx/keybox-openpgp.c:197,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/kbx/keybox-openpgp.c:207,1
    - Dst: openpgp_oidbuf_to_str
      Src: /src/gnupg/kbx/keybox-openpgp.c:217,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-openpgp.c:219,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/kbx/keybox-openpgp.c:222,1
    - Dst: openpgp_oidbuf_is_cv25519
      Src: /src/gnupg/kbx/keybox-openpgp.c:227,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-openpgp.c:231,1
    - Dst: openpgp_oidbuf_to_str
      Src: /src/gnupg/kbx/keybox-openpgp.c:240,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-openpgp.c:242,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/kbx/keybox-openpgp.c:245,1
    - Dst: openpgp_oidbuf_is_cv25519
      Src: /src/gnupg/kbx/keybox-openpgp.c:247,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-openpgp.c:251,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:257,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/kbx/keybox-openpgp.c:261,1
    - Dst: gcry_pk_get_curve
      Src: /src/gnupg/kbx/keybox-openpgp.c:266,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:267,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keybox-openpgp.c:270,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:271,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/kbx/keybox-openpgp.c:275,1
    - Dst: memset
      Src: /src/gnupg/kbx/keybox-openpgp.c:278,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 3
    argNames:
    - algo
    - kp
    - grip
    argTypes:
    - int
    - struct keyparm_s*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 280
    functionName: keygrip_from_keyparm
    functionSourceFile: /src/gnupg/kbx/keybox-openpgp.c
    functionUses: 0
    functionsReached:
    - gcry_pk_get_keygrip
    - gpg_error_from_syserror
    - openpgp_oidbuf_to_str
    - openpgp_oidbuf_is_cv25519
    - gcry_pk_get_curve
    - gpg_error
    - xfree
    - log_info
    - gcry_sexp_release
    - memset
    - gcry_sexp_build
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keygrip_from_keyparm (int algo, struct keyparm_s *kp, unsigned
      char *grip)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:303,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:306,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:315,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:320,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:326,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:360,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:371,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:378,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:381,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:389,1
    - Dst: datalen < nbytes || nbytes >
      Src: /src/gnupg/kbx/keybox-openpgp.c:394,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:395,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:407,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/keybox-openpgp.c:426,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-openpgp.c:429,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-openpgp.c:433,1
    - Dst: keygrip_from_keyparm
      Src: /src/gnupg/kbx/keybox-openpgp.c:439,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:448,1
    - Dst: gcry_md_open
      Src: /src/gnupg/kbx/keybox-openpgp.c:450,1
    - Dst: gcry_md_write
      Src: /src/gnupg/kbx/keybox-openpgp.c:453,1
    - Dst: gcry_md_write
      Src: /src/gnupg/kbx/keybox-openpgp.c:454,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-openpgp.c:455,1
    - Dst: gcry_md_read
      Src: /src/gnupg/kbx/keybox-openpgp.c:455,1
    - Dst: gcry_md_close
      Src: /src/gnupg/kbx/keybox-openpgp.c:456,1
    - Dst: memset
      Src: /src/gnupg/kbx/keybox-openpgp.c:463,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-openpgp.c:466,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-openpgp.c:488,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/kbx/keybox-openpgp.c:489,1
    - Dst: gcry_md_open
      Src: /src/gnupg/kbx/keybox-openpgp.c:493,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/kbx/keybox-openpgp.c:496,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/kbx/keybox-openpgp.c:497,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/kbx/keybox-openpgp.c:498,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/kbx/keybox-openpgp.c:499,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/kbx/keybox-openpgp.c:500,1
    - Dst: gcry_md_write
      Src: /src/gnupg/kbx/keybox-openpgp.c:501,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-openpgp.c:502,1
    - Dst: gcry_md_read
      Src: /src/gnupg/kbx/keybox-openpgp.c:502,1
    - Dst: gcry_md_close
      Src: /src/gnupg/kbx/keybox-openpgp.c:503,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-openpgp.c:506,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-openpgp.c:515,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/kbx/keybox-openpgp.c:516,1
    - Dst: gcry_md_open
      Src: /src/gnupg/kbx/keybox-openpgp.c:520,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/kbx/keybox-openpgp.c:523,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/kbx/keybox-openpgp.c:524,1
    - Dst: gcry_md_putc
      Src: /src/gnupg/kbx/keybox-openpgp.c:525,1
    - Dst: gcry_md_write
      Src: /src/gnupg/kbx/keybox-openpgp.c:526,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-openpgp.c:527,1
    - Dst: gcry_md_read
      Src: /src/gnupg/kbx/keybox-openpgp.c:527,1
    - Dst: gcry_md_close
      Src: /src/gnupg/kbx/keybox-openpgp.c:528,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-openpgp.c:531,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-openpgp.c:537,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 180
    argCount: 3
    argNames:
    - data
    - datalen
    - ki
    argTypes:
    - unsigned char*
    - size_t
    - struct _keybox_openpgp_key_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 540
    functionName: parse_key
    functionSourceFile: /src/gnupg/kbx/keybox-openpgp.c
    functionUses: 1
    functionsReached:
    - gcry_md_write
    - gcry_md_open
    - gpg_error_from_syserror
    - gcry_md_hash_buffer
    - gcry_md_putc
    - gpg_error
    - memset
    - memcpy
    - xfree
    - keygrip_from_keyparm
    - gcry_md_close
    - gcry_md_read
    - xtrymalloc
    - datalen < nbytes || nbytes >
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_key (const unsigned char *data, size_t datalen,\n
      \          struct _keybox_openpgp_key_info *ki)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/kbx/keybox-openpgp.c:565,1
    - Dst: next_packet
      Src: /src/gnupg/kbx/keybox-openpgp.c:572,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-openpgp.c:587,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keybox-openpgp.c:616,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-openpgp.c:619,1
    - Dst: parse_key
      Src: /src/gnupg/kbx/keybox-openpgp.c:630,1
    - Dst: parse_key
      Src: /src/gnupg/kbx/keybox-openpgp.c:645,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/keybox-openpgp.c:650,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/keybox-openpgp.c:651,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keybox-openpgp.c:661,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-openpgp.c:664,1
    - Dst: parse_key
      Src: /src/gnupg/kbx/keybox-openpgp.c:667,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-openpgp.c:670,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/keybox-openpgp.c:673,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/keybox-openpgp.c:674,1
    - Dst: _keybox_destroy_openpgp_info
      Src: /src/gnupg/kbx/keybox-openpgp.c:690,1
    - Dst: next_packet
      Src: /src/gnupg/kbx/keybox-openpgp.c:697,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 102
    argCount: 5
    argNames:
    - image
    - imagelen
    - only_primary
    - nparsed
    - info
    argTypes:
    - unsigned char*
    - size_t
    - int
    - size_t*
    - keybox_openpgp_info_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 711
    functionName: _keybox_parse_openpgp
    functionSourceFile: /src/gnupg/kbx/keybox-openpgp.c
    functionUses: 4
    functionsReached:
    - next_packet
    - gpg_error_from_syserror
    - gpg_error
    - memset
    - gpg_err_code
    - xfree
    - xtrycalloc
    - parse_key
    - _keybox_destroy_openpgp_info
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _keybox_parse_openpgp (const unsigned char *image, size_t
      imagelen,\n                       int only_primary,\n                       size_t
      *nparsed, keybox_openpgp_info_t info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/kbx/keybox-openpgp.c:721,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-openpgp.c:725,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-openpgp.c:731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - info
    argTypes:
    - keybox_openpgp_info_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 733
    functionName: _keybox_destroy_openpgp_info
    functionSourceFile: /src/gnupg/kbx/keybox-openpgp.c
    functionUses: 5
    functionsReached:
    - xfree
    - log_assert
    linkageType: ''
    returnType: void
    signature: void _keybox_destroy_openpgp_info (keybox_openpgp_info_t info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _keybox_parse_openpgp
      Src: /src/gnupg/kbx/keybox-openpgp.c:742,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/kbx/keybox-openpgp.c:746,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/kbx/keybox-openpgp.c:747,1
    - Dst: _keybox_destroy_openpgp_info
      Src: /src/gnupg/kbx/keybox-openpgp.c:748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - buffer
    - len
    - kid
    argTypes:
    - void*
    - size_t
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 736
    functionDepth: 3
    functionLinenumber: 736
    functionLinenumberEnd: 750
    functionName: kbx_get_first_opgp_keyid
    functionSourceFile: /src/gnupg/kbx/keybox-openpgp.c
    functionUses: 1
    functionsReached:
    - _keybox_parse_openpgp
    - buf32_to_u32
    - _keybox_destroy_openpgp_info
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t kbx_get_first_opgp_keyid (const void *buffer, size_t len,
      u32 *kid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/gnupg/kbx/keybox-update.c:62,1
    - Dst: fseek
      Src: /src/gnupg/kbx/keybox-update.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - stream
    - newpos
    - whence
    argTypes:
    - FILE*
    - off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: fseeko
    functionSourceFile: /src/gnupg/kbx/keybox-update.c
    functionUses: 4
    functionsReached:
    - fseek
    linkageType: ''
    returnType: int
    signature: int fseeko (FILE * stream, off_t newpos, int whence)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: keybox_tmp_names
      Src: /src/gnupg/kbx/keybox-update.c:78,1
    - Dst: _keybox_ll_open
      Src: /src/gnupg/kbx/keybox-update.c:81,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-update.c:84,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-update.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - r_bakfname
    - r_tmpfname
    - r_fp
    argTypes:
    - char**
    - char**
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: create_tmp_file
    functionSourceFile: /src/gnupg/kbx/keybox-update.c
    functionUses: 2
    functionsReached:
    - keybox_tmp_names
    - xfree
    - _keybox_ll_open
    linkageType: ''
    returnType: int
    signature: "int create_tmp_file (const char *template,\n                 char
      **r_bakfname, char **r_tmpfname, estream_t *r_fp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_rename_file
      Src: /src/gnupg/kbx/keybox-update.c:124,1
    - Dst: gnupg_rename_file
      Src: /src/gnupg/kbx/keybox-update.c:130,1
    - Dst: gnupg_unblock_all_signals
      Src: /src/gnupg/kbx/keybox-update.c:133,1
    - Dst: gnupg_unblock_all_signals
      Src: /src/gnupg/kbx/keybox-update.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - bakfname
    - tmpfname
    - fname
    - secret
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 95
    functionDepth: 7
    functionLinenumber: 95
    functionLinenumberEnd: 152
    functionName: rename_tmp_file
    functionSourceFile: /src/gnupg/kbx/keybox-update.c
    functionUses: 2
    functionsReached:
    - gnupg_rename_file
    - gnupg_unblock_all_signals
    linkageType: ''
    returnType: int
    signature: "int rename_tmp_file (const char *bakfname, const char *tmpfname,\n
      \                const char *fname, int secret )"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_access
      Src: /src/gnupg/kbx/keybox-update.c:173,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:174,1
    - Dst: _keybox_ll_open
      Src: /src/gnupg/kbx/keybox-update.c:176,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/keybox-update.c:177,1
    - Dst: _keybox_ll_open
      Src: /src/gnupg/kbx/keybox-update.c:181,1
    - Dst: _keybox_write_header_blob
      Src: /src/gnupg/kbx/keybox-update.c:185,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:188,1
    - Dst: _keybox_write_blob
      Src: /src/gnupg/kbx/keybox-update.c:192,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:195,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:199,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-update.c:213,1
    - Dst: create_tmp_file
      Src: /src/gnupg/kbx/keybox-update.c:218,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:221,1
    - Dst: es_fread
      Src: /src/gnupg/kbx/keybox-update.c:233,1
    - Dst: DIM
      Src: /src/gnupg/kbx/keybox-update.c:233,1
    - Dst: es_fwrite
      Src: /src/gnupg/kbx/keybox-update.c:242,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-update.c:244,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:245,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:246,1
    - Dst: es_ferror
      Src: /src/gnupg/kbx/keybox-update.c:250,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-update.c:252,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:253,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:254,1
    - Dst: DIM
      Src: /src/gnupg/kbx/keybox-update.c:267,1
    - Dst: es_fread
      Src: /src/gnupg/kbx/keybox-update.c:270,1
    - Dst: es_fwrite
      Src: /src/gnupg/kbx/keybox-update.c:275,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-update.c:277,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:278,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:279,1
    - Dst: es_ferror
      Src: /src/gnupg/kbx/keybox-update.c:283,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-update.c:285,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:286,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:287,1
    - Dst: _keybox_read_blob
      Src: /src/gnupg/kbx/keybox-update.c:292,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:295,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:296,1
    - Dst: _keybox_write_blob
      Src: /src/gnupg/kbx/keybox-update.c:304,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:307,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:308,1
    - Dst: es_fread
      Src: /src/gnupg/kbx/keybox-update.c:316,1
    - Dst: DIM
      Src: /src/gnupg/kbx/keybox-update.c:316,1
    - Dst: es_fwrite
      Src: /src/gnupg/kbx/keybox-update.c:318,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-update.c:320,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:321,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:322,1
    - Dst: es_ferror
      Src: /src/gnupg/kbx/keybox-update.c:326,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-update.c:328,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:329,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:330,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:336,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:339,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:342,1
    - Dst: rename_tmp_file
      Src: /src/gnupg/kbx/keybox-update.c:346,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-update.c:349,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-update.c:350,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 131
    argCount: 6
    argNames:
    - mode
    - fname
    - blob
    - secret
    - for_openpgp
    - start_offset
    argTypes:
    - int
    - char*
    - KEYBOXBLOB
    - int
    - int
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 352
    functionName: blob_filecopy
    functionSourceFile: /src/gnupg/kbx/keybox-update.c
    functionUses: 0
    functionsReached:
    - rename_tmp_file
    - _keybox_write_blob
    - gpg_error_from_syserror
    - _keybox_ll_open
    - _keybox_write_header_blob
    - create_tmp_file
    - DIM
    - gnupg_access
    - es_fread
    - gpg_error
    - gpg_err_code
    - es_fwrite
    - _keybox_read_blob
    - xfree
    - _keybox_ll_close
    - es_ferror
    linkageType: ''
    returnType: int
    signature: "int blob_filecopy (int mode, const char *fname, KEYBOXBLOB blob,\n
      \              int secret, int for_openpgp, off_t start_offset)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:366,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:368,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:371,1
    - Dst: _keybox_close_file
      Src: /src/gnupg/kbx/keybox-update.c:377,1
    - Dst: _keybox_parse_openpgp
      Src: /src/gnupg/kbx/keybox-update.c:379,1
    - Dst: assert
      Src: /src/gnupg/kbx/keybox-update.c:382,1
    - Dst: _keybox_create_openpgp_blob
      Src: /src/gnupg/kbx/keybox-update.c:383,1
    - Dst: _keybox_destroy_openpgp_info
      Src: /src/gnupg/kbx/keybox-update.c:385,1
    - Dst: blob_filecopy
      Src: /src/gnupg/kbx/keybox-update.c:388,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-update.c:389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - hd
    - image
    - imagelen
    argTypes:
    - KEYBOX_HANDLE
    - void*
    - size_t
    assertStmts:
    - condition: (nparsed <= imagelen)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/gnupg/kbx/keybox-update.c
    constantsTouched: []
    func_position:
      end: 396
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 396
    functionName: keybox_insert_keyblock
    functionSourceFile: /src/gnupg/kbx/keybox-update.c
    functionUses: 2
    functionsReached:
    - assert
    - _keybox_parse_openpgp
    - blob_filecopy
    - gpg_error
    - _keybox_create_openpgp_blob
    - _keybox_release_blob
    - _keybox_close_file
    - _keybox_destroy_openpgp_info
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keybox_insert_keyblock (KEYBOX_HANDLE hd, const void *image,
      size_t imagelen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:412,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:414,1
    - Dst: blob_get_type
      Src: /src/gnupg/kbx/keybox-update.c:415,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:416,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:419,1
    - Dst: _keybox_get_blob_fileoffset
      Src: /src/gnupg/kbx/keybox-update.c:421,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:423,1
    - Dst: _keybox_close_file
      Src: /src/gnupg/kbx/keybox-update.c:427,1
    - Dst: _keybox_parse_openpgp
      Src: /src/gnupg/kbx/keybox-update.c:430,1
    - Dst: assert
      Src: /src/gnupg/kbx/keybox-update.c:433,1
    - Dst: _keybox_create_openpgp_blob
      Src: /src/gnupg/kbx/keybox-update.c:434,1
    - Dst: _keybox_destroy_openpgp_info
      Src: /src/gnupg/kbx/keybox-update.c:436,1
    - Dst: blob_filecopy
      Src: /src/gnupg/kbx/keybox-update.c:441,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-update.c:442,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - hd
    - image
    - imagelen
    argTypes:
    - KEYBOX_HANDLE
    - void*
    - size_t
    assertStmts:
    - condition: (nparsed <= imagelen)
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/gnupg/kbx/keybox-update.c
    constantsTouched: []
    func_position:
      end: 445
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 445
    functionName: keybox_update_keyblock
    functionSourceFile: /src/gnupg/kbx/keybox-update.c
    functionUses: 2
    functionsReached:
    - assert
    - blob_get_type
    - _keybox_parse_openpgp
    - blob_filecopy
    - gpg_error
    - _keybox_get_blob_fileoffset
    - _keybox_create_openpgp_blob
    - _keybox_release_blob
    - _keybox_close_file
    - _keybox_destroy_openpgp_info
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keybox_update_keyblock (KEYBOX_HANDLE hd, const void *image,
      size_t imagelen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:459,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:461,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:464,1
    - Dst: _keybox_close_file
      Src: /src/gnupg/kbx/keybox-update.c:469,1
    - Dst: _keybox_create_x509_blob
      Src: /src/gnupg/kbx/keybox-update.c:471,1
    - Dst: blob_filecopy
      Src: /src/gnupg/kbx/keybox-update.c:474,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-update.c:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - hd
    - cert
    - sha1_digest
    argTypes:
    - KEYBOX_HANDLE
    - ksba_cert_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 482
    functionName: keybox_insert_cert
    functionSourceFile: /src/gnupg/kbx/keybox-update.c
    functionUses: 2
    functionsReached:
    - _keybox_create_x509_blob
    - blob_filecopy
    - gpg_error
    - _keybox_close_file
    - _keybox_release_blob
    linkageType: ''
    returnType: int
    signature: "int keybox_insert_cert (KEYBOX_HANDLE hd, ksba_cert_t cert,\n                    unsigned
      char *sha1_digest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - hd
    - cert
    - sha1_digest
    argTypes:
    - KEYBOX_HANDLE
    - ksba_cert_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 492
    functionName: keybox_update_cert
    functionSourceFile: /src/gnupg/kbx/keybox-update.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int keybox_update_cert (KEYBOX_HANDLE hd, ksba_cert_t cert,\n                    unsigned
      char *sha1_digest)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:515,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:517,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:519,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:521,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:524,1
    - Dst: _keybox_get_blob_fileoffset
      Src: /src/gnupg/kbx/keybox-update.c:526,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:528,1
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-update.c:530,1
    - Dst: _keybox_get_flag_location
      Src: /src/gnupg/kbx/keybox-update.c:531,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:533,1
    - Dst: _keybox_close_file
      Src: /src/gnupg/kbx/keybox-update.c:537,1
    - Dst: _keybox_ll_open
      Src: /src/gnupg/kbx/keybox-update.c:539,1
    - Dst: es_fseeko
      Src: /src/gnupg/kbx/keybox-update.c:544,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/kbx/keybox-update.c:545,1
    - Dst: es_fwrite
      Src: /src/gnupg/kbx/keybox-update.c:560,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/kbx/keybox-update.c:561,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:569,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/keybox-update.c:573,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:576,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 4
    argNames:
    - hd
    - what
    - idx
    - value
    argTypes:
    - KEYBOX_HANDLE
    - int
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 577
    functionName: keybox_set_flags
    functionSourceFile: /src/gnupg/kbx/keybox-update.c
    functionUses: 1
    functionsReached:
    - gpg_err_code_from_syserror
    - _keybox_get_blob_image
    - _keybox_ll_open
    - es_fseeko
    - gpg_error
    - _keybox_get_blob_fileoffset
    - gpg_err_code
    - es_fwrite
    - _keybox_ll_close
    - _keybox_get_flag_location
    - _keybox_close_file
    linkageType: ''
    returnType: int
    signature: int keybox_set_flags (KEYBOX_HANDLE hd, int what, int idx, unsigned
      int value)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:590,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:592,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:594,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:597,1
    - Dst: _keybox_get_blob_fileoffset
      Src: /src/gnupg/kbx/keybox-update.c:599,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:601,1
    - Dst: _keybox_close_file
      Src: /src/gnupg/kbx/keybox-update.c:604,1
    - Dst: _keybox_ll_open
      Src: /src/gnupg/kbx/keybox-update.c:605,1
    - Dst: es_fseeko
      Src: /src/gnupg/kbx/keybox-update.c:609,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-update.c:610,1
    - Dst: es_fputc
      Src: /src/gnupg/kbx/keybox-update.c:611,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-update.c:612,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:616,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KEYBOX_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 581
    functionDepth: 3
    functionLinenumber: 581
    functionLinenumberEnd: 624
    functionName: keybox_delete
    functionSourceFile: /src/gnupg/kbx/keybox-update.c
    functionUses: 3
    functionsReached:
    - gpg_error_from_syserror
    - es_fputc
    - _keybox_ll_open
    - es_fseeko
    - gpg_error
    - _keybox_get_blob_fileoffset
    - _keybox_ll_close
    - _keybox_close_file
    linkageType: ''
    returnType: int
    signature: int keybox_delete (KEYBOX_HANDLE hd)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: keybox_new_openpgp
      Src: /src/gnupg/kbx/keybox-update.c:646,1
    - Dst: keybox_new_x509
      Src: /src/gnupg/kbx/keybox-update.c:648,1
    - Dst: keybox_fp_close
      Src: /src/gnupg/kbx/keybox-update.c:657,1
    - Dst: keybox_release
      Src: /src/gnupg/kbx/keybox-update.c:658,1
    - Dst: keybox_lock
      Src: /src/gnupg/kbx/keybox-update.c:662,1
    - Dst: keybox_fp_close
      Src: /src/gnupg/kbx/keybox-update.c:664,1
    - Dst: keybox_release
      Src: /src/gnupg/kbx/keybox-update.c:665,1
    - Dst: _keybox_close_file
      Src: /src/gnupg/kbx/keybox-update.c:669,1
    - Dst: gnupg_access
      Src: /src/gnupg/kbx/keybox-update.c:673,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:675,1
    - Dst: _keybox_ll_open
      Src: /src/gnupg/kbx/keybox-update.c:679,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/keybox-update.c:680,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:687,1
    - Dst: _keybox_read_blob
      Src: /src/gnupg/kbx/keybox-update.c:693,1
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-update.c:698,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/kbx/keybox-update.c:701,1
    - Dst: make_timestamp
      Src: /src/gnupg/kbx/keybox-update.c:703,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:705,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-update.c:706,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-update.c:711,1
    - Dst: es_fseek
      Src: /src/gnupg/kbx/keybox-update.c:712,1
    - Dst: es_clearerr
      Src: /src/gnupg/kbx/keybox-update.c:713,1
    - Dst: create_tmp_file
      Src: /src/gnupg/kbx/keybox-update.c:717,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:720,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:721,1
    - Dst: make_timestamp
      Src: /src/gnupg/kbx/keybox-update.c:730,1
    - Dst: _keybox_read_blob
      Src: /src/gnupg/kbx/keybox-update.c:733,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-update.c:734,1
    - Dst: _keybox_get_blob_image
      Src: /src/gnupg/kbx/keybox-update.c:743,1
    - Dst: _keybox_update_header_blob
      Src: /src/gnupg/kbx/keybox-update.c:752,1
    - Dst: _keybox_write_blob
      Src: /src/gnupg/kbx/keybox-update.c:753,1
    - Dst: _keybox_write_header_blob
      Src: /src/gnupg/kbx/keybox-update.c:760,1
    - Dst: _keybox_get_flag_location
      Src: /src/gnupg/kbx/keybox-update.c:772,1
    - Dst: buf16_to_uint
      Src: /src/gnupg/kbx/keybox-update.c:779,1
    - Dst: _keybox_get_flag_location
      Src: /src/gnupg/kbx/keybox-update.c:783,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/kbx/keybox-update.c:788,1
    - Dst: _keybox_write_blob
      Src: /src/gnupg/kbx/keybox-update.c:797,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-update.c:803,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:810,1
    - Dst: _keybox_ll_close
      Src: /src/gnupg/kbx/keybox-update.c:812,1
    - Dst: gnupg_remove
      Src: /src/gnupg/kbx/keybox-update.c:817,1
    - Dst: rename_tmp_file
      Src: /src/gnupg/kbx/keybox-update.c:819,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-update.c:821,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-update.c:822,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-update.c:824,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keybox-update.c:829,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/keybox-update.c:830,1
    - Dst: keybox_fp_close
      Src: /src/gnupg/kbx/keybox-update.c:833,1
    - Dst: keybox_lock
      Src: /src/gnupg/kbx/keybox-update.c:834,1
    - Dst: keybox_release
      Src: /src/gnupg/kbx/keybox-update.c:835,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 129
    argCount: 2
    argNames:
    - token
    - for_openpgp
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 629
    functionDepth: 6
    functionLinenumber: 629
    functionLinenumberEnd: 837
    functionName: keybox_compress_when_no_other_users
    functionSourceFile: /src/gnupg/kbx/keybox-update.c
    functionUses: 2
    functionsReached:
    - _keybox_get_blob_image
    - _keybox_write_blob
    - _keybox_get_flag_location
    - es_fseek
    - keybox_fp_close
    - log_error
    - _keybox_write_header_blob
    - gnupg_access
    - _keybox_close_file
    - keybox_lock
    - keybox_new_openpgp
    - rename_tmp_file
    - keybox_release
    - gpg_error
    - xfree
    - gpg_strerror
    - _keybox_ll_close
    - gnupg_remove
    - keybox_new_x509
    - _keybox_ll_open
    - create_tmp_file
    - buf16_to_uint
    - make_timestamp
    - gpg_err_code
    - _keybox_read_blob
    - buf32_to_u32
    - _keybox_update_header_blob
    - _keybox_release_blob
    - es_clearerr
    linkageType: ''
    returnType: void
    signature: void keybox_compress_when_no_other_users (void *token, int for_openpgp)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnupg/kbx/keybox-errors.c:42,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 1
    argNames:
    - err
    argTypes:
    - KeyboxError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 46
    functionName: keybox_strerror
    functionSourceFile: /src/gnupg/kbx/keybox-errors.c
    functionUses: 0
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      keybox_strerror (KeyboxError err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xstrconcat
      Src: /src/gnupg/kbx/keyboxd.c:275,1
    - Dst: getfnc
      Src: /src/gnupg/kbx/keyboxd.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libname
    - (*getfnc)(const char*)
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: make_libversion
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 4
    functionsReached:
    - xstrconcat
    - getfnc
    linkageType: ''
    returnType: char
    signature: 'char *

      make_libversion (const char *libname, const char *(*getfnc)(const char*))'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:299,1
    - Dst: make_libversion
      Src: /src/gnupg/kbx/keyboxd.c:303,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:308,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:310,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 317
    functionName: my_strusage
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached:
    - make_libversion
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage (int level)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/gnupg/kbx/keyboxd.c:333,1
    - Dst: gcry_control
      Src: /src/gnupg/kbx/keyboxd.c:335,1
    - Dst: gcry_control
      Src: /src/gnupg/kbx/keyboxd.c:336,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/kbx/keyboxd.c:339,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 340
    functionName: set_debug
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 6
    functionsReached:
    - gcry_control
    - parse_debug_flag
    linkageType: ''
    returnType: void
    signature: void set_debug (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_remove
      Src: /src/gnupg/kbx/keyboxd.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 344
    functionDepth: 6
    functionLinenumber: 344
    functionLinenumberEnd: 352
    functionName: remove_socket
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached:
    - gnupg_remove
    linkageType: ''
    returnType: void
    signature: void remove_socket (char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: remove_socket
      Src: /src/gnupg/kbx/keyboxd.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 367
    functionName: cleanup
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 12
    functionsReached:
    - remove_socket
    linkageType: ''
    returnType: void
    signature: void cleanup (void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: parse_debug_flag
      Src: /src/gnupg/kbx/keyboxd.c:393,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/keyboxd.c:401,1
    - Dst: log_set_file
      Src: /src/gnupg/kbx/keyboxd.c:403,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:404,1
    - Dst: xtrystrdup
      Src: /src/gnupg/kbx/keyboxd.c:405,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - pargs
    - reread
    argTypes:
    - gpgrt_argparse_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 416
    functionName: parse_rereadable_options
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached:
    - strcmp
    - xtrystrdup
    - xfree
    - log_set_file
    - parse_debug_flag
    linkageType: ''
    returnType: int
    signature: int parse_rereadable_options (gpgrt_argparse_t *pargs, int reread)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: finalize_rereadable_options
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void finalize_rereadable_options (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_init
      Src: /src/gnupg/kbx/keyboxd.c:434,1
    - Dst: gpgrt_set_syscall_clamp
      Src: /src/gnupg/kbx/keyboxd.c:436,1
    - Dst: gcry_control
      Src: /src/gnupg/kbx/keyboxd.c:442,1
    - Dst: assuan_control
      Src: /src/gnupg/kbx/keyboxd.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 444
    functionName: keyboxd_thread_init_once
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached:
    - assuan_control
    - gpgrt_set_syscall_clamp
    - gcry_control
    - npth_init
    linkageType: ''
    returnType: void
    signature: void keyboxd_thread_init_once (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keyboxd_thread_init_once
      Src: /src/gnupg/kbx/keyboxd.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 451
    functionName: initialize_modules
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached:
    - keyboxd_thread_init_once
    linkageType: ''
    returnType: void
    signature: void initialize_modules (void)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: early_system_init
      Src: /src/gnupg/kbx/keyboxd.c:472,1
    - Dst: get_all_open_fds
      Src: /src/gnupg/kbx/keyboxd.c:478,1
    - Dst: sigprocmask
      Src: /src/gnupg/kbx/keyboxd.c:481,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/kbx/keyboxd.c:486,1
    - Dst: log_set_prefix
      Src: /src/gnupg/kbx/keyboxd.c:487,1
    - Dst: i18n_init
      Src: /src/gnupg/kbx/keyboxd.c:490,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/kbx/keyboxd.c:491,1
    - Dst: gcry_control
      Src: /src/gnupg/kbx/keyboxd.c:492,1
    - Dst: assuan_set_malloc_hooks
      Src: /src/gnupg/kbx/keyboxd.c:497,1
    - Dst: assuan_set_gpg_err_source
      Src: /src/gnupg/kbx/keyboxd.c:498,1
    - Dst: assuan_sock_init
      Src: /src/gnupg/kbx/keyboxd.c:499,1
    - Dst: setup_libassuan_logging
      Src: /src/gnupg/kbx/keyboxd.c:500,1
    - Dst: setup_libgcrypt_logging
      Src: /src/gnupg/kbx/keyboxd.c:502,1
    - Dst: gcry_set_progress_handler
      Src: /src/gnupg/kbx/keyboxd.c:503,1
    - Dst: parse_rereadable_options
      Src: /src/gnupg/kbx/keyboxd.c:506,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/kbx/keyboxd.c:514,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/kbx/keyboxd.c:524,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/kbx/keyboxd.c:532,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/kbx/keyboxd.c:532,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/kbx/keyboxd.c:533,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/kbx/keyboxd.c:533,1
    - Dst: gpgrt_argparser
      Src: /src/gnupg/kbx/keyboxd.c:544,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:549,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:549,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:553,1
    - Dst: xstrdup
      Src: /src/gnupg/kbx/keyboxd.c:554,1
    - Dst: parse_rereadable_options
      Src: /src/gnupg/kbx/keyboxd.c:561,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/kbx/keyboxd.c:571,1
    - Dst: isotime2epoch
      Src: /src/gnupg/kbx/keyboxd.c:579,1
    - Dst: strtoul
      Src: /src/gnupg/kbx/keyboxd.c:581,1
    - Dst: gnupg_set_time
      Src: /src/gnupg/kbx/keyboxd.c:582,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/kbx/keyboxd.c:598,1
    - Dst: gpgrt_fnameconcat
      Src: /src/gnupg/kbx/keyboxd.c:601,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/kbx/keyboxd.c:601,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/kbx/keyboxd.c:611,1
    - Dst: exit
      Src: /src/gnupg/kbx/keyboxd.c:612,1
    - Dst: parse_comopt
      Src: /src/gnupg/kbx/keyboxd.c:615,1
    - Dst: finalize_rereadable_options
      Src: /src/gnupg/kbx/keyboxd.c:622,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:631,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:631,1
    - Dst: bind_textdomain_codeset
      Src: /src/gnupg/kbx/keyboxd.c:642,1
    - Dst: set_debug
      Src: /src/gnupg/kbx/keyboxd.c:652,1
    - Dst: check_for_running_kbxd
      Src: /src/gnupg/kbx/keyboxd.c:653,1
    - Dst: kbxd_exit
      Src: /src/gnupg/kbx/keyboxd.c:654,1
    - Dst: set_debug
      Src: /src/gnupg/kbx/keyboxd.c:657,1
    - Dst: atexit
      Src: /src/gnupg/kbx/keyboxd.c:659,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:661,1
    - Dst: cleanup
      Src: /src/gnupg/kbx/keyboxd.c:662,1
    - Dst: exit
      Src: /src/gnupg/kbx/keyboxd.c:663,1
    - Dst: create_directories
      Src: /src/gnupg/kbx/keyboxd.c:667,1
    - Dst: keyboxd_thread_init_once
      Src: /src/gnupg/kbx/keyboxd.c:671,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/keyboxd.c:672,1
    - Dst: getpid
      Src: /src/gnupg/kbx/keyboxd.c:673,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/kbx/keyboxd.c:674,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/keyboxd.c:675,1
    - Dst: kbxd_exit
      Src: /src/gnupg/kbx/keyboxd.c:679,1
    - Dst: kbxd_exit
      Src: /src/gnupg/kbx/keyboxd.c:682,1
    - Dst: log_set_file
      Src: /src/gnupg/kbx/keyboxd.c:688,1
    - Dst: log_set_prefix
      Src: /src/gnupg/kbx/keyboxd.c:689,1
    - Dst: xstrdup
      Src: /src/gnupg/kbx/keyboxd.c:692,1
    - Dst: initialize_modules
      Src: /src/gnupg/kbx/keyboxd.c:700,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keyboxd.c:702,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:705,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:706,1
    - Dst: kbxd_exit
      Src: /src/gnupg/kbx/keyboxd.c:707,1
    - Dst: kbxd_init_default_ctrl
      Src: /src/gnupg/kbx/keyboxd.c:709,1
    - Dst: kbxd_set_database
      Src: /src/gnupg/kbx/keyboxd.c:712,1
    - Dst: kbxd_start_command_handler
      Src: /src/gnupg/kbx/keyboxd.c:714,1
    - Dst: kbxd_deinit_default_ctrl
      Src: /src/gnupg/kbx/keyboxd.c:715,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:716,1
    - Dst: create_socket_name
      Src: /src/gnupg/kbx/keyboxd.c:728,1
    - Dst: create_server_socket
      Src: /src/gnupg/kbx/keyboxd.c:729,1
    - Dst: fflush
      Src: /src/gnupg/kbx/keyboxd.c:731,1
    - Dst: initialize_modules
      Src: /src/gnupg/kbx/keyboxd.c:736,1
    - Dst: w32_ack_to_frontend
      Src: /src/gnupg/kbx/keyboxd.c:737,1
    - Dst: fork
      Src: /src/gnupg/kbx/keyboxd.c:741,1
    - Dst: log_fatal
      Src: /src/gnupg/kbx/keyboxd.c:744,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:744,1
    - Dst: exit
      Src: /src/gnupg/kbx/keyboxd.c:745,1
    - Dst: close
      Src: /src/gnupg/kbx/keyboxd.c:751,1
    - Dst: sigprocmask
      Src: /src/gnupg/kbx/keyboxd.c:760,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:761,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:762,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:765,1
    - Dst: exit
      Src: /src/gnupg/kbx/keyboxd.c:771,1
    - Dst: initialize_modules
      Src: /src/gnupg/kbx/keyboxd.c:779,1
    - Dst: log_test_fd
      Src: /src/gnupg/kbx/keyboxd.c:790,1
    - Dst: close
      Src: /src/gnupg/kbx/keyboxd.c:792,1
    - Dst: open
      Src: /src/gnupg/kbx/keyboxd.c:793,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:795,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:796,1
    - Dst: cleanup
      Src: /src/gnupg/kbx/keyboxd.c:797,1
    - Dst: exit
      Src: /src/gnupg/kbx/keyboxd.c:798,1
    - Dst: setsid
      Src: /src/gnupg/kbx/keyboxd.c:802,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:804,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:804,1
    - Dst: cleanup
      Src: /src/gnupg/kbx/keyboxd.c:805,1
    - Dst: exit
      Src: /src/gnupg/kbx/keyboxd.c:806,1
    - Dst: log_get_prefix
      Src: /src/gnupg/kbx/keyboxd.c:809,1
    - Dst: log_set_prefix
      Src: /src/gnupg/kbx/keyboxd.c:810,1
    - Dst: sigemptyset
      Src: /src/gnupg/kbx/keyboxd.c:818,1
    - Dst: sigaction
      Src: /src/gnupg/kbx/keyboxd.c:820,1
    - Dst: gnupg_chdir
      Src: /src/gnupg/kbx/keyboxd.c:824,1
    - Dst: gnupg_daemon_rootdir
      Src: /src/gnupg/kbx/keyboxd.c:824,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:826,1
    - Dst: gnupg_daemon_rootdir
      Src: /src/gnupg/kbx/keyboxd.c:827,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:827,1
    - Dst: exit
      Src: /src/gnupg/kbx/keyboxd.c:828,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keyboxd.c:834,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:837,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:838,1
    - Dst: kbxd_exit
      Src: /src/gnupg/kbx/keyboxd.c:839,1
    - Dst: kbxd_init_default_ctrl
      Src: /src/gnupg/kbx/keyboxd.c:841,1
    - Dst: kbxd_set_database
      Src: /src/gnupg/kbx/keyboxd.c:843,1
    - Dst: kbxd_deinit_default_ctrl
      Src: /src/gnupg/kbx/keyboxd.c:844,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:845,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:848,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/kbx/keyboxd.c:848,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/kbx/keyboxd.c:848,1
    - Dst: handle_connections
      Src: /src/gnupg/kbx/keyboxd.c:849,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/kbx/keyboxd.c:850,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 237
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 455
    functionDepth: 6
    functionLinenumber: 455
    functionLinenumberEnd: 854
    functionName: main
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 6
    functionsReached:
    - kbxd_exit
    - init_common_subsystems
    - gpgrt_fnameconcat
    - set_debug
    - initialize_modules
    - gnupg_homedir
    - exit
    - keyboxd_thread_init_once
    - gpgrt_argparser
    - assuan_set_malloc_hooks
    - setsid
    - kbxd_start_command_handler
    - xstrdup
    - log_get_prefix
    - fork
    - sigaction
    - get_all_open_fds
    - gnupg_daemon_rootdir
    - gpgrt_set_strusage
    - gnupg_set_homedir
    - log_error
    - early_system_init
    - log_set_prefix
    - close
    - log_test_fd
    - sigemptyset
    - _
    - log_get_errorcount
    - check_for_running_kbxd
    - fflush
    - bind_textdomain_codeset
    - log_info
    - w32_ack_to_frontend
    - handle_connections
    - parse_rereadable_options
    - strtoul
    - gnupg_sleep
    - log_debug
    - gpgrt_strusage
    - setup_libgcrypt_logging
    - gcry_control
    - sigprocmask
    - cleanup
    - create_socket_name
    - assuan_sock_close
    - xfree
    - gpgrt_argparse
    - xtrycalloc
    - gnupg_sysconfdir
    - getpid
    - gnupg_set_time
    - log_set_file
    - i18n_init
    - atexit
    - open
    - create_directories
    - create_server_socket
    - parse_comopt
    - log_fatal
    - assuan_set_gpg_err_source
    - assuan_sock_init
    - kbxd_set_database
    - gpgrt_set_confdir
    - finalize_rereadable_options
    - kbxd_init_default_ctrl
    - gnupg_chdir
    - setup_libassuan_logging
    - isotime2epoch
    - strerror
    - gcry_set_progress_handler
    - kbxd_deinit_default_ctrl
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/gnupg/kbx/keyboxd.c:863,1
    - Dst: gcry_control
      Src: /src/gnupg/kbx/keyboxd.c:867,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/kbx/keyboxd.c:868,1
    - Dst: exit
      Src: /src/gnupg/kbx/keyboxd.c:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 870
    functionName: kbxd_exit
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 2
    functionsReached:
    - log_get_errorcount
    - exit
    - gcry_control
    - cleanup
    linkageType: ''
    returnType: void
    signature: void kbxd_exit (int rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_self
      Src: /src/gnupg/kbx/keyboxd.c:881,1
    - Dst: struct progress_dispatch_s*::cb
      Src: /src/gnupg/kbx/keyboxd.c:889,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 5
    argNames:
    - data
    - what
    - printchar
    - current
    - total
    argTypes:
    - void*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 890
    functionName: kbxd_libgcrypt_progress_cb
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached:
    - struct progress_dispatch_s*::cb
    - npth_self
    linkageType: ''
    returnType: void
    signature: "void kbxd_libgcrypt_progress_cb (void *data, const char *what, int
      printchar,\n                            int current, int total)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_self
      Src: /src/gnupg/kbx/keyboxd.c:899,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 909
    functionName: unregister_progress_cb
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached:
    - npth_self
    linkageType: ''
    returnType: void
    signature: void unregister_progress_cb (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: npth_self
      Src: /src/gnupg/kbx/keyboxd.c:920,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keyboxd.c:936,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:943,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/keyboxd.c:944,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keyboxd.c:944,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 952
    functionName: kbxd_set_progress_cb
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - gpg_strerror
    - xtrycalloc
    - npth_self
    linkageType: ''
    returnType: void
    signature: "void kbxd_set_progress_cb (void (*cb)(ctrl_t ctrl, const char *what,\n
      \                                int printchar, int current, int total),\n                      ctrl_t
      ctrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 964
    functionName: kbxd_init_default_ctrl
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void kbxd_init_default_ctrl (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kbxd_release_session_info
      Src: /src/gnupg/kbx/keyboxd.c:974,1
    - Dst: unregister_progress_cb
      Src: /src/gnupg/kbx/keyboxd.c:976,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:977,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 978
    functionName: kbxd_deinit_default_ctrl
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 1
    functionsReached:
    - kbxd_release_session_info
    - xfree
    - unregister_progress_cb
    linkageType: ''
    returnType: void
    signature: void kbxd_deinit_default_ctrl (ctrl_t ctrl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strconcat
      Src: /src/gnupg/kbx/keyboxd.c:1001,1
    - Dst: parse_rereadable_options
      Src: /src/gnupg/kbx/keyboxd.c:1006,1
    - Dst: memset
      Src: /src/gnupg/kbx/keyboxd.c:1008,1
    - Dst: gpgrt_argparser
      Src: /src/gnupg/kbx/keyboxd.c:1014,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1018,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1018,1
    - Dst: parse_rereadable_options
      Src: /src/gnupg/kbx/keyboxd.c:1027,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/kbx/keyboxd.c:1030,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:1031,1
    - Dst: finalize_rereadable_options
      Src: /src/gnupg/kbx/keyboxd.c:1032,1
    - Dst: set_debug
      Src: /src/gnupg/kbx/keyboxd.c:1033,1
    - Dst: parse_comopt
      Src: /src/gnupg/kbx/keyboxd.c:1037,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/keyboxd.c:1040,1
    - Dst: log_set_file
      Src: /src/gnupg/kbx/keyboxd.c:1042,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:1043,1
    - Dst: xtrystrdup
      Src: /src/gnupg/kbx/keyboxd.c:1044,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 990
    functionDepth: 4
    functionLinenumber: 990
    functionLinenumberEnd: 1047
    functionName: reread_configuration
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached:
    - set_debug
    - parse_comopt
    - gpgrt_argparser
    - strconcat
    - _
    - strcmp
    - finalize_rereadable_options
    - xtrystrdup
    - log_info
    - memset
    - xfree
    - gpgrt_argparse
    - parse_rereadable_options
    - log_set_file
    linkageType: ''
    returnType: void
    signature: void reread_configuration (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1057
    functionName: get_kbxd_socket_name
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_kbxd_socket_name (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1065
    functionName: get_kbxd_active_connection_count
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_kbxd_active_connection_count (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CreateEvent
      Src: /src/gnupg/kbx/keyboxd.c:1084,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1086,1
    - Dst: w32_strerror
      Src: /src/gnupg/kbx/keyboxd.c:1086,1
    - Dst: DuplicateHandle
      Src: /src/gnupg/kbx/keyboxd.c:1087,1
    - Dst: GetCurrentProcess
      Src: /src/gnupg/kbx/keyboxd.c:1087,1
    - Dst: GetCurrentProcess
      Src: /src/gnupg/kbx/keyboxd.c:1088,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1091,1
    - Dst: w32_strerror
      Src: /src/gnupg/kbx/keyboxd.c:1092,1
    - Dst: CloseHandle
      Src: /src/gnupg/kbx/keyboxd.c:1093,1
    - Dst: CloseHandle
      Src: /src/gnupg/kbx/keyboxd.c:1097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1102
    functionName: create_an_event
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - log_error
    - CreateEvent
    - DuplicateHandle
    - w32_strerror
    - GetCurrentProcess
    linkageType: ''
    returnType: void
    signature: 'void *

      create_an_event (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/kbx/keyboxd.c:1118,1
    - Dst: gnupg_socketdir
      Src: /src/gnupg/kbx/keyboxd.c:1118,1
    - Dst: make_filename
      Src: /src/gnupg/kbx/keyboxd.c:1120,1
    - Dst: strchr
      Src: /src/gnupg/kbx/keyboxd.c:1121,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1123,1
    - Dst: kbxd_exit
      Src: /src/gnupg/kbx/keyboxd.c:1124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - standard_name
    - with_homedir
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1112
    functionDepth: 7
    functionLinenumber: 1112
    functionLinenumberEnd: 1127
    functionName: create_socket_name
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 2
    functionsReached:
    - make_filename
    - kbxd_exit
    - log_error
    - gnupg_socketdir
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      create_socket_name (char *standard_name, int with_homedir)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assuan_sock_new
      Src: /src/gnupg/kbx/keyboxd.c:1143,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1146,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1146,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:1146,1
    - Dst: kbxd_exit
      Src: /src/gnupg/kbx/keyboxd.c:1148,1
    - Dst: assuan_sock_set_flag
      Src: /src/gnupg/kbx/keyboxd.c:1152,1
    - Dst: xmalloc
      Src: /src/gnupg/kbx/keyboxd.c:1154,1
    - Dst: assuan_sock_set_sockaddr_un
      Src: /src/gnupg/kbx/keyboxd.c:1157,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1160,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1160,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1162,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/keyboxd.c:1163,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keyboxd.c:1163,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:1165,1
    - Dst: kbxd_exit
      Src: /src/gnupg/kbx/keyboxd.c:1166,1
    - Dst: SUN_LEN
      Src: /src/gnupg/kbx/keyboxd.c:1169,1
    - Dst: assuan_sock_bind
      Src: /src/gnupg/kbx/keyboxd.c:1170,1
    - Dst: check_for_running_kbxd
      Src: /src/gnupg/kbx/keyboxd.c:1180,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1183,1
    - Dst: N_
      Src: /src/gnupg/kbx/keyboxd.c:1183,1
    - Dst: log_set_prefix
      Src: /src/gnupg/kbx/keyboxd.c:1187,1
    - Dst: log_set_file
      Src: /src/gnupg/kbx/keyboxd.c:1188,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1189,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1189,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/kbx/keyboxd.c:1192,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:1193,1
    - Dst: kbxd_exit
      Src: /src/gnupg/kbx/keyboxd.c:1194,1
    - Dst: gnupg_remove
      Src: /src/gnupg/kbx/keyboxd.c:1197,1
    - Dst: assuan_sock_bind
      Src: /src/gnupg/kbx/keyboxd.c:1198,1
    - Dst: assuan_sock_get_nonce
      Src: /src/gnupg/kbx/keyboxd.c:1200,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1201,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1201,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keyboxd.c:1206,1
    - Dst: log_libassuan_system_error
      Src: /src/gnupg/kbx/keyboxd.c:1207,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1208,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1208,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/keyboxd.c:1209,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/kbx/keyboxd.c:1211,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:1213,1
    - Dst: kbxd_exit
      Src: /src/gnupg/kbx/keyboxd.c:1214,1
    - Dst: gnupg_chmod
      Src: /src/gnupg/kbx/keyboxd.c:1217,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1218,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1218,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:1219,1
    - Dst: listen
      Src: /src/gnupg/kbx/keyboxd.c:1221,1
    - Dst: FD2INT
      Src: /src/gnupg/kbx/keyboxd.c:1221,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1223,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:1223,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/kbx/keyboxd.c:1225,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:1226,1
    - Dst: kbxd_exit
      Src: /src/gnupg/kbx/keyboxd.c:1227,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1231,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1231,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:1233,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 3
    argNames:
    - name
    - cygwin
    - nonce
    argTypes:
    - char*
    - int
    - assuan_sock_nonce_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1134
    functionDepth: 6
    functionLinenumber: 1134
    functionLinenumberEnd: 1235
    functionName: create_server_socket
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 3
    functionsReached:
    - FD2INT
    - kbxd_exit
    - log_libassuan_system_error
    - xmalloc
    - assuan_sock_new
    - log_error
    - assuan_sock_get_nonce
    - log_set_prefix
    - listen
    - _
    - check_for_running_kbxd
    - log_info
    - assuan_sock_set_flag
    - gpg_error_from_syserror
    - assuan_sock_close
    - gpg_strerror
    - xfree
    - log_set_file
    - assuan_sock_set_sockaddr_un
    - gnupg_chmod
    - SUN_LEN
    - assuan_sock_bind
    - gnupg_remove
    - strerror
    - N_
    linkageType: ''
    returnType: gnupg_fd_t
    signature: gnupg_fd_t create_server_socket (char *name, int cygwin, assuan_sock_nonce_t
      *nonce)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/kbx/keyboxd.c:1247,1
    - Dst: gnupg_stat
      Src: /src/gnupg/kbx/keyboxd.c:1248,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/kbx/keyboxd.c:1250,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1251,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1251,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:1252,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1254,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1254,1
    - Dst: gnupg_chmod
      Src: /src/gnupg/kbx/keyboxd.c:1256,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1257,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1257,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:1258,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:1259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - home
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1241
    functionDepth: 3
    functionLinenumber: 1241
    functionLinenumberEnd: 1260
    functionName: create_public_keys_directory
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached:
    - make_filename
    - log_error
    - gnupg_chmod
    - gnupg_mkdir
    - _
    - log_info
    - xfree
    - gnupg_stat
    - strerror
    linkageType: ''
    returnType: void
    signature: void create_public_keys_directory (const char *home)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: standard_homedir
      Src: /src/gnupg/kbx/keyboxd.c:1273,1
    - Dst: make_filename
      Src: /src/gnupg/kbx/keyboxd.c:1276,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/kbx/keyboxd.c:1276,1
    - Dst: gnupg_stat
      Src: /src/gnupg/kbx/keyboxd.c:1277,1
    - Dst: HAVE_W32_SYSTEM
      Src: /src/gnupg/kbx/keyboxd.c:1282,1
    - Dst: compare_filenames
      Src: /src/gnupg/kbx/keyboxd.c:1283,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keyboxd.c:1286,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keyboxd.c:1286,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/keyboxd.c:1287,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keyboxd.c:1287,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keyboxd.c:1288,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/keyboxd.c:1289,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/kbx/keyboxd.c:1293,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1294,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1294,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:1295,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1299,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1299,1
    - Dst: create_public_keys_directory
      Src: /src/gnupg/kbx/keyboxd.c:1300,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1305,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1305,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:1305,1
    - Dst: S_ISDIR
      Src: /src/gnupg/kbx/keyboxd.c:1307,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1309,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1309,1
    - Dst: create_public_keys_directory
      Src: /src/gnupg/kbx/keyboxd.c:1313,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:1315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1269
    functionDepth: 5
    functionLinenumber: 1269
    functionLinenumberEnd: 1316
    functionName: create_directories
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 1
    functionsReached:
    - create_public_keys_directory
    - make_filename
    - HAVE_W32_SYSTEM
    - strlen
    - log_error
    - gnupg_mkdir
    - gnupg_homedir
    - compare_filenames
    - _
    - strcmp
    - standard_homedir
    - log_info
    - S_ISDIR
    - xfree
    - gnupg_stat
    - strerror
    linkageType: ''
    returnType: void
    signature: void create_directories (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1325,1
    - Dst: reread_configuration
      Src: /src/gnupg/kbx/keyboxd.c:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1322
    functionDepth: 1
    functionLinenumber: 1322
    functionLinenumberEnd: 1329
    functionName: kbxd_sighup_action
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 1
    functionsReached:
    - log_info
    - reread_configuration
    linkageType: ''
    returnType: void
    signature: void kbxd_sighup_action (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1333
    functionDepth: 1
    functionLinenumber: 1333
    functionLinenumberEnd: 1339
    functionName: kbxd_sigusr2_action
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached:
    - log_info
    linkageType: ''
    returnType: void
    signature: void kbxd_sigusr2_action (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: kbxd_sighup_action
      Src: /src/gnupg/kbx/keyboxd.c:1351,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1355,1
    - Dst: kbxd_sigusr2_action
      Src: /src/gnupg/kbx/keyboxd.c:1362,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/keyboxd.c:1367,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1372,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1374,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1379,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1380,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/kbx/keyboxd.c:1380,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/kbx/keyboxd.c:1380,1
    - Dst: cleanup
      Src: /src/gnupg/kbx/keyboxd.c:1381,1
    - Dst: kbxd_exit
      Src: /src/gnupg/kbx/keyboxd.c:1382,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1387,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1388,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/kbx/keyboxd.c:1388,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/kbx/keyboxd.c:1388,1
    - Dst: cleanup
      Src: /src/gnupg/kbx/keyboxd.c:1389,1
    - Dst: kbxd_exit
      Src: /src/gnupg/kbx/keyboxd.c:1390,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1394,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1345
    functionDepth: 2
    functionLinenumber: 1345
    functionLinenumberEnd: 1396
    functionName: handle_signal
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 2
    functionsReached:
    - kbxd_exit
    - cleanup
    - kbxd_sighup_action
    - log_info
    - kbxd_sigusr2_action
    - log_debug
    - gpgrt_strusage
    linkageType: ''
    returnType: void
    signature: void handle_signal (int signo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_sock_check_nonce
      Src: /src/gnupg/kbx/keyboxd.c:1404,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1406,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1406,1
    - Dst: FD_DBG
      Src: /src/gnupg/kbx/keyboxd.c:1407,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:1407,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/kbx/keyboxd.c:1408,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:1409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctrl
    - nonce
    argTypes:
    - ctrl_t
    - assuan_sock_nonce_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1414
    functionName: check_nonce
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 2
    functionsReached:
    - _
    - assuan_sock_check_nonce
    - FD_DBG
    - assuan_sock_close
    - log_info
    - xfree
    - strerror
    linkageType: ''
    returnType: int
    signature: int check_nonce (ctrl_t ctrl, assuan_sock_nonce_t *nonce)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: kbxd_init_default_ctrl
      Src: /src/gnupg/kbx/keyboxd.c:1424,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1426,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1426,1
    - Dst: npth_self
      Src: /src/gnupg/kbx/keyboxd.c:1427,1
    - Dst: FD_DBG
      Src: /src/gnupg/kbx/keyboxd.c:1427,1
    - Dst: kbxd_start_command_handler
      Src: /src/gnupg/kbx/keyboxd.c:1432,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1434,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1434,1
    - Dst: npth_self
      Src: /src/gnupg/kbx/keyboxd.c:1435,1
    - Dst: FD_DBG
      Src: /src/gnupg/kbx/keyboxd.c:1435,1
    - Dst: kbxd_deinit_default_ctrl
      Src: /src/gnupg/kbx/keyboxd.c:1437,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:1438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1417
    functionDepth: 6
    functionLinenumber: 1417
    functionLinenumberEnd: 1441
    functionName: do_start_connection_thread
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached:
    - kbxd_deinit_default_ctrl
    - _
    - FD_DBG
    - log_info
    - kbxd_start_command_handler
    - kbxd_init_default_ctrl
    - xfree
    - npth_self
    linkageType: ''
    returnType: void
    signature: 'void *

      do_start_connection_thread (ctrl_t ctrl)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_nonce
      Src: /src/gnupg/kbx/keyboxd.c:1450,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1452,1
    - Dst: npth_self
      Src: /src/gnupg/kbx/keyboxd.c:1453,1
    - Dst: do_start_connection_thread
      Src: /src/gnupg/kbx/keyboxd.c:1457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1445
    functionDepth: 1
    functionLinenumber: 1445
    functionLinenumberEnd: 1458
    functionName: start_connection_thread
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 1
    functionsReached:
    - npth_self
    - do_start_connection_thread
    - check_nonce
    - log_error
    linkageType: ''
    returnType: void
    signature: 'void *

      start_connection_thread (void *arg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SetEvent
      Src: /src/gnupg/kbx/keyboxd.c:1466,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1468,1
    - Dst: w32_strerror
      Src: /src/gnupg/kbx/keyboxd.c:1469,1
    - Dst: write
      Src: /src/gnupg/kbx/keyboxd.c:1472,1
    - Dst: kill
      Src: /src/gnupg/kbx/keyboxd.c:1474,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1476,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/keyboxd.c:1477,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keyboxd.c:1477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1480
    functionName: keyboxd_kick_the_loop
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached:
    - SetEvent
    - log_error
    - gpg_error_from_syserror
    - write
    - kill
    - gpg_strerror
    - w32_strerror
    linkageType: ''
    returnType: void
    signature: void keyboxd_kick_the_loop (void)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: npth_attr_init
      Src: /src/gnupg/kbx/keyboxd.c:1517,1
    - Dst: log_fatal
      Src: /src/gnupg/kbx/keyboxd.c:1519,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:1519,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/kbx/keyboxd.c:1520,1
    - Dst: npth_sigev_init
      Src: /src/gnupg/kbx/keyboxd.c:1523,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/kbx/keyboxd.c:1524,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/kbx/keyboxd.c:1525,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/kbx/keyboxd.c:1526,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/kbx/keyboxd.c:1527,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/kbx/keyboxd.c:1528,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/kbx/keyboxd.c:1529,1
    - Dst: npth_sigev_fini
      Src: /src/gnupg/kbx/keyboxd.c:1530,1
    - Dst: gnupg_create_pipe
      Src: /src/gnupg/kbx/keyboxd.c:1532,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1535,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/keyboxd.c:1535,1
    - Dst: getpid
      Src: /src/gnupg/kbx/keyboxd.c:1540,1
    - Dst: create_an_event
      Src: /src/gnupg/kbx/keyboxd.c:1543,1
    - Dst: gnupg_inotify_watch_socket
      Src: /src/gnupg/kbx/keyboxd.c:1549,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/keyboxd.c:1551,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1552,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/keyboxd.c:1553,1
    - Dst: gnupg_inotify_watch_delete_self
      Src: /src/gnupg/kbx/keyboxd.c:1556,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/kbx/keyboxd.c:1557,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/keyboxd.c:1559,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1560,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/keyboxd.c:1561,1
    - Dst: npth_create
      Src: /src/gnupg/kbx/keyboxd.c:1571,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1573,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:1573,1
    - Dst: npth_create
      Src: /src/gnupg/kbx/keyboxd.c:1581,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1583,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:1583,1
    - Dst: FD_ZERO
      Src: /src/gnupg/kbx/keyboxd.c:1586,1
    - Dst: FD_SET
      Src: /src/gnupg/kbx/keyboxd.c:1587,1
    - Dst: FD2INT
      Src: /src/gnupg/kbx/keyboxd.c:1587,1
    - Dst: FD2NUM
      Src: /src/gnupg/kbx/keyboxd.c:1588,1
    - Dst: FD_SET
      Src: /src/gnupg/kbx/keyboxd.c:1591,1
    - Dst: FD_SET
      Src: /src/gnupg/kbx/keyboxd.c:1597,1
    - Dst: FD_ZERO
      Src: /src/gnupg/kbx/keyboxd.c:1619,1
    - Dst: FD_SET
      Src: /src/gnupg/kbx/keyboxd.c:1623,1
    - Dst: FD_SET
      Src: /src/gnupg/kbx/keyboxd.c:1628,1
    - Dst: FD_SET
      Src: /src/gnupg/kbx/keyboxd.c:1637,1
    - Dst: npth_pselect
      Src: /src/gnupg/kbx/keyboxd.c:1643,1
    - Dst: npth_sigev_sigmask
      Src: /src/gnupg/kbx/keyboxd.c:1644,1
    - Dst: npth_sigev_get_pending
      Src: /src/gnupg/kbx/keyboxd.c:1647,1
    - Dst: handle_signal
      Src: /src/gnupg/kbx/keyboxd.c:1648,1
    - Dst: npth_eselect
      Src: /src/gnupg/kbx/keyboxd.c:1650,1
    - Dst: kbxd_sigusr2_action
      Src: /src/gnupg/kbx/keyboxd.c:1656,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1661,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1661,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:1662,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/kbx/keyboxd.c:1663,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1673,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1679,1
    - Dst: FD_ISSET
      Src: /src/gnupg/kbx/keyboxd.c:1690,1
    - Dst: read
      Src: /src/gnupg/kbx/keyboxd.c:1694,1
    - Dst: FD_ISSET
      Src: /src/gnupg/kbx/keyboxd.c:1702,1
    - Dst: gnupg_inotify_has_name
      Src: /src/gnupg/kbx/keyboxd.c:1703,1
    - Dst: close
      Src: /src/gnupg/kbx/keyboxd.c:1706,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1708,1
    - Dst: FD_ISSET
      Src: /src/gnupg/kbx/keyboxd.c:1712,1
    - Dst: close
      Src: /src/gnupg/kbx/keyboxd.c:1715,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1717,1
    - Dst: DIM
      Src: /src/gnupg/kbx/keyboxd.c:1726,1
    - Dst: FD_ISSET
      Src: /src/gnupg/kbx/keyboxd.c:1730,1
    - Dst: FD2INT
      Src: /src/gnupg/kbx/keyboxd.c:1730,1
    - Dst: assuan_sock_accept
      Src: /src/gnupg/kbx/keyboxd.c:1734,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keyboxd.c:1738,1
    - Dst: log_libassuan_system_error
      Src: /src/gnupg/kbx/keyboxd.c:1739,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1740,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/keyboxd.c:1741,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keyboxd.c:1743,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1745,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:1746,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/kbx/keyboxd.c:1747,1
    - Dst: npth_create
      Src: /src/gnupg/kbx/keyboxd.c:1752,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1756,1
    - Dst: strerror
      Src: /src/gnupg/kbx/keyboxd.c:1757,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/kbx/keyboxd.c:1758,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:1759,1
    - Dst: close
      Src: /src/gnupg/kbx/keyboxd.c:1767,1
    - Dst: close
      Src: /src/gnupg/kbx/keyboxd.c:1769,1
    - Dst: CloseHandle
      Src: /src/gnupg/kbx/keyboxd.c:1772,1
    - Dst: close
      Src: /src/gnupg/kbx/keyboxd.c:1775,1
    - Dst: close
      Src: /src/gnupg/kbx/keyboxd.c:1776,1
    - Dst: cleanup
      Src: /src/gnupg/kbx/keyboxd.c:1778,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1779,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1779,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/kbx/keyboxd.c:1779,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/kbx/keyboxd.c:1779,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/kbx/keyboxd.c:1780,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 155
    argCount: 1
    argNames:
    - listen_fd
    argTypes:
    - gnupg_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1485
    functionDepth: 5
    functionLinenumber: 1485
    functionLinenumberEnd: 1781
    functionName: handle_connections
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 2
    functionsReached:
    - FD2INT
    - CloseHandle
    - npth_attr_init
    - gnupg_homedir
    - log_libassuan_system_error
    - handle_signal
    - kbxd_sigusr2_action
    - npth_sigev_fini
    - gnupg_inotify_watch_socket
    - FD_ISSET
    - assuan_sock_accept
    - log_error
    - npth_create
    - close
    - DIM
    - _
    - gnupg_inotify_has_name
    - FD_SET
    - FD2NUM
    - log_info
    - npth_eselect
    - npth_sigev_init
    - npth_pselect
    - npth_sigev_sigmask
    - gnupg_sleep
    - gpgrt_strusage
    - npth_sigev_get_pending
    - gpg_error_from_syserror
    - create_an_event
    - npth_attr_setdetachstate
    - assuan_sock_close
    - cleanup
    - gpg_strerror
    - xfree
    - xtrycalloc
    - getpid
    - npth_sigev_add
    - FD_ZERO
    - read
    - npth_attr_destroy
    - log_fatal
    - gpg_err_code
    - gnupg_create_pipe
    - gnupg_inotify_watch_delete_self
    - strerror
    linkageType: ''
    returnType: void
    signature: void handle_connections (gnupg_fd_t listen_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/gnupg/kbx/keyboxd.c:1790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - opaque
    - buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1792
    functionName: check_own_socket_pid_cb
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached:
    - put_membuf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_own_socket_pid_cb (void *opaque, const void *buffer,
      size_t length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assuan_new
      Src: /src/gnupg/kbx/keyboxd.c:1807,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1810,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/keyboxd.c:1810,1
    - Dst: assuan_set_flag
      Src: /src/gnupg/kbx/keyboxd.c:1813,1
    - Dst: assuan_socket_connect
      Src: /src/gnupg/kbx/keyboxd.c:1815,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1818,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/keyboxd.c:1818,1
    - Dst: init_membuf
      Src: /src/gnupg/kbx/keyboxd.c:1822,1
    - Dst: assuan_transact
      Src: /src/gnupg/kbx/keyboxd.c:1823,1
    - Dst: put_membuf
      Src: /src/gnupg/kbx/keyboxd.c:1825,1
    - Dst: get_membuf
      Src: /src/gnupg/kbx/keyboxd.c:1826,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1829,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/keyboxd.c:1830,1
    - Dst: strtoul
      Src: /src/gnupg/kbx/keyboxd.c:1833,1
    - Dst: getpid
      Src: /src/gnupg/kbx/keyboxd.c:1833,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1835,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1839,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:1841,1
    - Dst: assuan_release
      Src: /src/gnupg/kbx/keyboxd.c:1845,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - sockname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1799
    functionDepth: 1
    functionLinenumber: 1799
    functionLinenumberEnd: 1848
    functionName: do_check_own_socket
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached:
    - assuan_new
    - get_membuf
    - init_membuf
    - log_error
    - put_membuf
    - assuan_release
    - assuan_transact
    - gpg_strerror
    - strtoul
    - xfree
    - assuan_socket_connect
    - getpid
    - assuan_set_flag
    linkageType: ''
    returnType: int
    signature: int do_check_own_socket (const char *sockname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_filename_try
      Src: /src/gnupg/kbx/keyboxd.c:1858,1
    - Dst: gnupg_socketdir
      Src: /src/gnupg/kbx/keyboxd.c:1858,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/kbx/keyboxd.c:1867,1
    - Dst: do_check_own_socket
      Src: /src/gnupg/kbx/keyboxd.c:1869,1
    - Dst: keyboxd_kick_the_loop
      Src: /src/gnupg/kbx/keyboxd.c:1873,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:1876,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1851
    functionDepth: 7
    functionLinenumber: 1851
    functionLinenumberEnd: 1878
    functionName: check_own_socket_thread
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached:
    - gnupg_socketdir
    - do_check_own_socket
    - xfree
    - make_filename_try
    - keyboxd_kick_the_loop
    - gnupg_sleep
    linkageType: ''
    returnType: void
    signature: 'void *

      check_own_socket_thread (void *arg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_homedir
      Src: /src/gnupg/kbx/keyboxd.c:1885,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/kbx/keyboxd.c:1896,1
    - Dst: gnupg_stat
      Src: /src/gnupg/kbx/keyboxd.c:1899,1
    - Dst: keyboxd_kick_the_loop
      Src: /src/gnupg/kbx/keyboxd.c:1903,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1882
    functionDepth: 5
    functionLinenumber: 1882
    functionLinenumberEnd: 1907
    functionName: check_others_thread
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 0
    functionsReached:
    - gnupg_stat
    - keyboxd_kick_the_loop
    - gnupg_homedir
    - gnupg_sleep
    linkageType: ''
    returnType: void
    signature: 'void *

      check_others_thread (void *arg)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: make_filename_try
      Src: /src/gnupg/kbx/keyboxd.c:1920,1
    - Dst: gnupg_socketdir
      Src: /src/gnupg/kbx/keyboxd.c:1920,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keyboxd.c:1922,1
    - Dst: assuan_new
      Src: /src/gnupg/kbx/keyboxd.c:1924,1
    - Dst: assuan_socket_connect
      Src: /src/gnupg/kbx/keyboxd.c:1926,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keyboxd.c:1927,1
    - Dst: log_error
      Src: /src/gnupg/kbx/keyboxd.c:1931,1
    - Dst: _
      Src: /src/gnupg/kbx/keyboxd.c:1931,1
    - Dst: assuan_release
      Src: /src/gnupg/kbx/keyboxd.c:1934,1
    - Dst: log_info
      Src: /src/gnupg/kbx/keyboxd.c:1939,1
    - Dst: assuan_release
      Src: /src/gnupg/kbx/keyboxd.c:1941,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - silent
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1913
    functionDepth: 7
    functionLinenumber: 1913
    functionLinenumberEnd: 1943
    functionName: check_for_running_kbxd
    functionSourceFile: /src/gnupg/kbx/keyboxd.c
    functionUses: 2
    functionsReached:
    - assuan_new
    - gpg_error_from_syserror
    - log_error
    - assuan_release
    - _
    - gnupg_socketdir
    - xfree
    - log_info
    - make_filename_try
    - assuan_socket_connect
    linkageType: ''
    returnType: int
    signature: int check_for_running_kbxd (int silent)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum database_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: strdbtype
    functionSourceFile: /src/gnupg/kbx/backend-support.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      strdbtype (enum database_types t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: be_new_backend_id
    functionSourceFile: /src/gnupg/kbx/backend-support.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int be_new_backend_id (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-support.c:83,1
    - Dst: be_cache_release_resource
      Src: /src/gnupg/kbx/backend-support.c:86,1
    - Dst: be_kbx_release_resource
      Src: /src/gnupg/kbx/backend-support.c:89,1
    - Dst: be_sqlite_release_resource
      Src: /src/gnupg/kbx/backend-support.c:92,1
    - Dst: log_error
      Src: /src/gnupg/kbx/backend-support.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ctrl
    - hd
    argTypes:
    - ctrl_t
    - backend_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 98
    functionName: be_generic_release_backend
    functionSourceFile: /src/gnupg/kbx/backend-support.c
    functionUses: 0
    functionsReached:
    - be_kbx_release_resource
    - be_cache_release_resource
    - be_sqlite_release_resource
    - log_error
    - xfree
    linkageType: ''
    returnType: void
    signature: void be_generic_release_backend (ctrl_t ctrl, backend_handle_t hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be_kbx_release_kbx_hd
      Src: /src/gnupg/kbx/backend-support.c:113,1
    - Dst: be_sqlite_release_local
      Src: /src/gnupg/kbx/backend-support.c:114,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-support.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - req
    argTypes:
    - db_request_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: be_release_request
    functionSourceFile: /src/gnupg/kbx/backend-support.c
    functionUses: 0
    functionsReached:
    - be_kbx_release_kbx_hd
    - xfree
    - be_sqlite_release_local
    linkageType: ''
    returnType: void
    signature: void be_release_request (db_request_t req)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/backend-support.c:135,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/backend-support.c:137,1
    - Dst: be_kbx_init_request_part
      Src: /src/gnupg/kbx/backend-support.c:141,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-support.c:144,1
    - Dst: be_sqlite_init_local
      Src: /src/gnupg/kbx/backend-support.c:150,1
    - Dst: xfree
      Src: /src/gnupg/kbx/backend-support.c:153,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - backend_hd
    - request
    - r_part
    argTypes:
    - backend_handle_t
    - db_request_t
    - db_request_part_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 162
    functionName: be_find_request_part
    functionSourceFile: /src/gnupg/kbx/backend-support.c
    functionUses: 10
    functionsReached:
    - be_sqlite_init_local
    - gpg_error_from_syserror
    - be_kbx_init_request_part
    - xfree
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_find_request_part (backend_handle_t backend_hd, db_request_t
      request,\n                      db_request_part_t *r_part)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bin2hex
      Src: /src/gnupg/kbx/backend-support.c:175,1
    - Dst: kbxd_status_printf
      Src: /src/gnupg/kbx/backend-support.c:176,1
    - Dst: kbxd_write_data_line
      Src: /src/gnupg/kbx/backend-support.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 9
    argNames:
    - ctrl
    - buffer
    - buflen
    - pubkey_type
    - ubid
    - is_ephemeral
    - is_revoked
    - uid_no
    - pk_no
    argTypes:
    - ctrl_t
    - void*
    - size_t
    - enum pubkey_types
    - unsigned char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 191
    functionName: be_return_pubkey
    functionSourceFile: /src/gnupg/kbx/backend-support.c
    functionUses: 3
    functionsReached:
    - bin2hex
    - kbxd_write_data_line
    - kbxd_status_printf
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_return_pubkey (ctrl_t ctrl, const void *buffer, size_t
      buflen,\n                  enum pubkey_types pubkey_type, const unsigned char
      *ubid,\n                  int is_ephemeral, int is_revoked, int uid_no, int
      pk_no)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: parse_ber_header
      Src: /src/gnupg/kbx/backend-support.c:215,1
    - Dst: parse_ber_header
      Src: /src/gnupg/kbx/backend-support.c:220,1
    - Dst: parse_ber_header
      Src: /src/gnupg/kbx/backend-support.c:227,1
    - Dst: parse_ber_header
      Src: /src/gnupg/kbx/backend-support.c:236,1
    - Dst: parse_ber_header
      Src: /src/gnupg/kbx/backend-support.c:245,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 31
    argCount: 2
    argNames:
    - blob
    - bloblen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 251
    functionName: be_is_x509_blob
    functionSourceFile: /src/gnupg/kbx/backend-support.c
    functionUses: 1
    functionsReached:
    - parse_ber_header
    linkageType: ''
    returnType: int
    signature: int be_is_x509_blob (const unsigned char *blob, size_t bloblen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: be_is_x509_blob
      Src: /src/gnupg/kbx/backend-support.c:264,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/kbx/backend-support.c:271,1
    - Dst: _keybox_parse_openpgp
      Src: /src/gnupg/kbx/backend-support.c:278,1
    - Dst: log_info
      Src: /src/gnupg/kbx/backend-support.c:281,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/backend-support.c:281,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-support.c:282,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/backend-support.c:287,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/backend-support.c:288,1
    - Dst: _keybox_destroy_openpgp_info
      Src: /src/gnupg/kbx/backend-support.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - blob
    - bloblen
    - r_pktype
    - r_ubid
    argTypes:
    - void*
    - size_t
    - enum pubkey_types*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 294
    functionName: be_ubid_from_blob
    functionSourceFile: /src/gnupg/kbx/backend-support.c
    functionUses: 0
    functionsReached:
    - gcry_md_hash_buffer
    - _keybox_parse_openpgp
    - log_assert
    - gpg_error
    - gpg_strerror
    - log_info
    - be_is_x509_blob
    - memcpy
    - _keybox_destroy_openpgp_info
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t be_ubid_from_blob (const void *blob, size_t bloblen,\n
      \                  enum pubkey_types *r_pktype, char *r_ubid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_serial
      Src: /src/gnupg/kbx/backend-support.c:308,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/backend-support.c:311,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/backend-support.c:317,1
    - Dst: strtoul
      Src: /src/gnupg/kbx/backend-support.c:322,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/backend-support.c:326,1
    - Dst: bin2hex
      Src: /src/gnupg/kbx/backend-support.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 332
    functionName: be_get_x509_serial
    functionSourceFile: /src/gnupg/kbx/backend-support.c
    functionUses: 1
    functionsReached:
    - ksba_cert_get_serial
    - bin2hex
    - strtoul
    - log_debug
    linkageType: ''
    returnType: char
    signature: 'char *

      be_get_x509_serial (ksba_cert_t cert)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_public_key
      Src: /src/gnupg/kbx/backend-support.c:346,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-support.c:348,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/kbx/backend-support.c:349,1
    - Dst: ksba_free
      Src: /src/gnupg/kbx/backend-support.c:352,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-support.c:353,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/kbx/backend-support.c:355,1
    - Dst: ksba_free
      Src: /src/gnupg/kbx/backend-support.c:356,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/kbx/backend-support.c:360,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/backend-support.c:361,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/kbx/backend-support.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - cert
    - keygrip
    argTypes:
    - ksba_cert_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 364
    functionName: be_get_x509_keygrip
    functionSourceFile: /src/gnupg/kbx/backend-support.c
    functionUses: 1
    functionsReached:
    - ksba_cert_get_public_key
    - ksba_free
    - gcry_pk_get_keygrip
    - gcry_sexp_sscan
    - gpg_error
    - gcry_sexp_canon_len
    - gcry_sexp_release
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t be_get_x509_keygrip (ksba_cert_t cert, unsigned char *keygrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: take_read_lock
    functionSourceFile: /src/gnupg/kbx/frontend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void take_read_lock (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: take_read_write_lock
    functionSourceFile: /src/gnupg/kbx/frontend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void take_read_write_lock (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: release_lock
    functionSourceFile: /src/gnupg/kbx/frontend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void release_lock (ctrl_t ctrl)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/kbx/frontend.c:88,1
    - Dst: strchr
      Src: /src/gnupg/kbx/frontend.c:90,1
    - Dst: make_filename
      Src: /src/gnupg/kbx/frontend.c:93,1
    - Dst: make_filename
      Src: /src/gnupg/kbx/frontend.c:95,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/kbx/frontend.c:95,1
    - Dst: log_error
      Src: /src/gnupg/kbx/frontend.c:103,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/frontend.c:104,1
    - Dst: be_cache_initialize
      Src: /src/gnupg/kbx/frontend.c:109,1
    - Dst: strlen
      Src: /src/gnupg/kbx/frontend.c:113,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/frontend.c:116,1
    - Dst: strcmp
      Src: /src/gnupg/kbx/frontend.c:118,1
    - Dst: log_error
      Src: /src/gnupg/kbx/frontend.c:122,1
    - Dst: _
      Src: /src/gnupg/kbx/frontend.c:122,1
    - Dst: _
      Src: /src/gnupg/kbx/frontend.c:122,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/frontend.c:123,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/frontend.c:127,1
    - Dst: be_cache_add_resource
      Src: /src/gnupg/kbx/frontend.c:134,1
    - Dst: be_kbx_add_resource
      Src: /src/gnupg/kbx/frontend.c:138,1
    - Dst: be_sqlite_add_resource
      Src: /src/gnupg/kbx/frontend.c:142,1
    - Dst: log_error
      Src: /src/gnupg/kbx/frontend.c:155,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/frontend.c:156,1
    - Dst: be_generic_release_backend
      Src: /src/gnupg/kbx/frontend.c:157,1
    - Dst: xfree
      Src: /src/gnupg/kbx/frontend.c:159,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 3
    argNames:
    - ctrl
    - filename_arg
    - readonly
    argTypes:
    - ctrl_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 161
    functionName: kbxd_set_database
    functionSourceFile: /src/gnupg/kbx/frontend.c
    functionUses: 1
    functionsReached:
    - make_filename
    - be_cache_initialize
    - log_error
    - strlen
    - be_generic_release_backend
    - gnupg_homedir
    - be_sqlite_add_resource
    - be_cache_add_resource
    - _
    - strcmp
    - gpg_error
    - strchr
    - gpg_strerror
    - xfree
    - be_kbx_add_resource
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t kbxd_set_database (ctrl_t ctrl, const char *filename_arg,
      int readonly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be_release_request
      Src: /src/gnupg/kbx/frontend.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: kbxd_release_session_info
    functionSourceFile: /src/gnupg/kbx/frontend.c
    functionUses: 1
    functionsReached:
    - be_release_request
    linkageType: ''
    returnType: void
    signature: void kbxd_release_session_info (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be_sqlite_rollback
      Src: /src/gnupg/kbx/frontend.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 7
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: kbxd_rollback
    functionSourceFile: /src/gnupg/kbx/frontend.c
    functionUses: 2
    functionsReached:
    - be_sqlite_rollback
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t kbxd_rollback (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be_sqlite_commit
      Src: /src/gnupg/kbx/frontend.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 7
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: kbxd_commit
    functionSourceFile: /src/gnupg/kbx/frontend.c
    functionUses: 1
    functionsReached:
    - be_sqlite_commit
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t kbxd_commit (void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: log_printf
      Src: /src/gnupg/kbx/frontend.c:197,1
    - Dst: log_printf
      Src: /src/gnupg/kbx/frontend.c:200,1
    - Dst: log_printf
      Src: /src/gnupg/kbx/frontend.c:203,1
    - Dst: log_printf
      Src: /src/gnupg/kbx/frontend.c:206,1
    - Dst: log_printf
      Src: /src/gnupg/kbx/frontend.c:209,1
    - Dst: log_printf
      Src: /src/gnupg/kbx/frontend.c:212,1
    - Dst: log_printf
      Src: /src/gnupg/kbx/frontend.c:215,1
    - Dst: log_printf
      Src: /src/gnupg/kbx/frontend.c:218,1
    - Dst: log_printf
      Src: /src/gnupg/kbx/frontend.c:222,1
    - Dst: log_printhex
      Src: /src/gnupg/kbx/frontend.c:223,1
    - Dst: log_printf
      Src: /src/gnupg/kbx/frontend.c:226,1
    - Dst: log_printf
      Src: /src/gnupg/kbx/frontend.c:229,1
    - Dst: log_printf
      Src: /src/gnupg/kbx/frontend.c:233,1
    - Dst: log_printf
      Src: /src/gnupg/kbx/frontend.c:236,1
    - Dst: log_printf
      Src: /src/gnupg/kbx/frontend.c:239,1
    - Dst: log_printhex
      Src: /src/gnupg/kbx/frontend.c:240,1
    - Dst: log_printf
      Src: /src/gnupg/kbx/frontend.c:243,1
    - Dst: log_printhex
      Src: /src/gnupg/kbx/frontend.c:244,1
    - Dst: log_printf
      Src: /src/gnupg/kbx/frontend.c:247,1
    - Dst: log_printf
      Src: /src/gnupg/kbx/frontend.c:250,1
    - Dst: log_printf
      Src: /src/gnupg/kbx/frontend.c:253,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 1
    argNames:
    - desc
    argTypes:
    - struct keydb_search_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 255
    functionName: dump_search_desc
    functionSourceFile: /src/gnupg/kbx/frontend.c
    functionUses: 0
    functionsReached:
    - log_printf
    - log_printhex
    linkageType: ''
    returnType: void
    signature: void dump_search_desc (struct keydb_search_desc *desc)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: log_clock
      Src: /src/gnupg/kbx/frontend.c:271,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/frontend.c:275,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/frontend.c:278,1
    - Dst: dump_search_desc
      Src: /src/gnupg/kbx/frontend.c:279,1
    - Dst: take_read_lock
      Src: /src/gnupg/kbx/frontend.c:283,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/frontend.c:288,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/frontend.c:291,1
    - Dst: log_error
      Src: /src/gnupg/kbx/frontend.c:299,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/frontend.c:300,1
    - Dst: be_kbx_search
      Src: /src/gnupg/kbx/frontend.c:315,1
    - Dst: be_sqlite_search
      Src: /src/gnupg/kbx/frontend.c:320,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/frontend.c:325,1
    - Dst: log_error
      Src: /src/gnupg/kbx/frontend.c:330,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/frontend.c:331,1
    - Dst: be_cache_search
      Src: /src/gnupg/kbx/frontend.c:348,1
    - Dst: be_kbx_search
      Src: /src/gnupg/kbx/frontend.c:357,1
    - Dst: be_sqlite_search
      Src: /src/gnupg/kbx/frontend.c:362,1
    - Dst: log_error
      Src: /src/gnupg/kbx/frontend.c:367,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/frontend.c:369,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/frontend.c:374,1
    - Dst: strdbtype
      Src: /src/gnupg/kbx/frontend.c:375,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/frontend.c:375,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/frontend.c:381,1
    - Dst: be_cache_not_found
      Src: /src/gnupg/kbx/frontend.c:390,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/frontend.c:391,1
    - Dst: release_lock
      Src: /src/gnupg/kbx/frontend.c:397,1
    - Dst: log_clock
      Src: /src/gnupg/kbx/frontend.c:399,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 94
    argCount: 4
    argNames:
    - ctrl
    - desc
    - ndesc
    - reset
    argTypes:
    - ctrl_t
    - KEYDB_SEARCH_DESC*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 262
    functionDepth: 9
    functionLinenumber: 262
    functionLinenumberEnd: 401
    functionName: kbxd_search
    functionSourceFile: /src/gnupg/kbx/frontend.c
    functionUses: 2
    functionsReached:
    - take_read_lock
    - be_cache_not_found
    - log_clock
    - gpg_error_from_syserror
    - log_error
    - be_sqlite_search
    - be_cache_search
    - gpg_error
    - gpg_strerror
    - gpg_err_code
    - xtrycalloc
    - be_kbx_search
    - release_lock
    - dump_search_desc
    - strdbtype
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t kbxd_search (ctrl_t ctrl, KEYDB_SEARCH_DESC *desc, unsigned
      int ndesc,\n             int reset)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: log_clock
      Src: /src/gnupg/kbx/frontend.c:418,1
    - Dst: take_read_write_lock
      Src: /src/gnupg/kbx/frontend.c:420,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/frontend.c:425,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/frontend.c:428,1
    - Dst: log_error
      Src: /src/gnupg/kbx/frontend.c:436,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/frontend.c:437,1
    - Dst: be_ubid_from_blob
      Src: /src/gnupg/kbx/frontend.c:442,1
    - Dst: be_kbx_seek
      Src: /src/gnupg/kbx/frontend.c:448,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/frontend.c:451,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/frontend.c:455,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/frontend.c:456,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/frontend.c:463,1
    - Dst: be_kbx_insert
      Src: /src/gnupg/kbx/frontend.c:465,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/frontend.c:471,1
    - Dst: be_kbx_update
      Src: /src/gnupg/kbx/frontend.c:473,1
    - Dst: be_sqlite_store
      Src: /src/gnupg/kbx/frontend.c:479,1
    - Dst: log_error
      Src: /src/gnupg/kbx/frontend.c:484,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/frontend.c:486,1
    - Dst: release_lock
      Src: /src/gnupg/kbx/frontend.c:491,1
    - Dst: log_clock
      Src: /src/gnupg/kbx/frontend.c:493,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 4
    argNames:
    - ctrl
    - blob
    - bloblen
    - mode
    argTypes:
    - ctrl_t
    - void*
    - size_t
    - enum kbxd_store_modes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 407
    functionDepth: 7
    functionLinenumber: 407
    functionLinenumberEnd: 495
    functionName: kbxd_store
    functionSourceFile: /src/gnupg/kbx/frontend.c
    functionUses: 1
    functionsReached:
    - release_lock
    - log_error
    - gpg_error_from_syserror
    - be_kbx_seek
    - gpg_error
    - be_kbx_update
    - gpg_err_code
    - gpg_strerror
    - be_sqlite_store
    - xtrycalloc
    - be_kbx_insert
    - take_read_write_lock
    - log_clock
    - log_debug
    - be_ubid_from_blob
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t kbxd_store (ctrl_t ctrl, const void *blob, size_t bloblen,\n
      \           enum kbxd_store_modes mode)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_clock
      Src: /src/gnupg/kbx/frontend.c:508,1
    - Dst: take_read_write_lock
      Src: /src/gnupg/kbx/frontend.c:510,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/frontend.c:515,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/frontend.c:518,1
    - Dst: log_error
      Src: /src/gnupg/kbx/frontend.c:526,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/frontend.c:527,1
    - Dst: be_kbx_seek
      Src: /src/gnupg/kbx/frontend.c:533,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/frontend.c:536,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/frontend.c:538,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/frontend.c:543,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/frontend.c:544,1
    - Dst: be_kbx_delete
      Src: /src/gnupg/kbx/frontend.c:547,1
    - Dst: be_sqlite_delete
      Src: /src/gnupg/kbx/frontend.c:551,1
    - Dst: log_error
      Src: /src/gnupg/kbx/frontend.c:555,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/frontend.c:557,1
    - Dst: release_lock
      Src: /src/gnupg/kbx/frontend.c:562,1
    - Dst: log_clock
      Src: /src/gnupg/kbx/frontend.c:564,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - ctrl
    - ubid
    argTypes:
    - ctrl_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 501
    functionDepth: 7
    functionLinenumber: 501
    functionLinenumberEnd: 566
    functionName: kbxd_delete
    functionSourceFile: /src/gnupg/kbx/frontend.c
    functionUses: 1
    functionsReached:
    - release_lock
    - log_error
    - gpg_error_from_syserror
    - be_kbx_seek
    - be_kbx_delete
    - gpg_error
    - be_sqlite_delete
    - gpg_err_code
    - gpg_strerror
    - xtrycalloc
    - take_read_write_lock
    - log_clock
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t kbxd_delete (ctrl_t ctrl, const unsigned char *ubid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_clock
      Src: /src/gnupg/kbx/frontend.c:579,1
    - Dst: take_read_write_lock
      Src: /src/gnupg/kbx/frontend.c:581,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/frontend.c:586,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/frontend.c:589,1
    - Dst: log_error
      Src: /src/gnupg/kbx/frontend.c:597,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/frontend.c:598,1
    - Dst: be_sqlite_putkeyflag
      Src: /src/gnupg/kbx/frontend.c:604,1
    - Dst: log_error
      Src: /src/gnupg/kbx/frontend.c:609,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/frontend.c:611,1
    - Dst: release_lock
      Src: /src/gnupg/kbx/frontend.c:616,1
    - Dst: log_clock
      Src: /src/gnupg/kbx/frontend.c:618,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - ctrl
    - ubid
    - flags
    - clear
    argTypes:
    - ctrl_t
    - unsigned char*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 571
    functionDepth: 7
    functionLinenumber: 571
    functionLinenumberEnd: 620
    functionName: kbxd_putkeyflag
    functionSourceFile: /src/gnupg/kbx/frontend.c
    functionUses: 1
    functionsReached:
    - release_lock
    - be_sqlite_putkeyflag
    - log_error
    - gpg_error_from_syserror
    - gpg_error
    - xtrycalloc
    - take_read_write_lock
    - log_clock
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t kbxd_putkeyflag (ctrl_t ctrl, const unsigned char *ubid,\n
      \                unsigned int flags, int clear)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/kbx/kbx-client-util.c:83,1
    - Dst: log_fatal
      Src: /src/gnupg/kbx/kbx-client-util.c:85,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbx-client-util.c:86,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/kbx/kbx-client-util.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - kcd
    argTypes:
    - kbx_client_data_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: lock_datastream
    functionSourceFile: /src/gnupg/kbx/kbx-client-util.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_errno
    - log_fatal
    - npth_mutex_lock
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void lock_datastream (kbx_client_data_t kcd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/kbx/kbx-client-util.c:93,1
    - Dst: log_fatal
      Src: /src/gnupg/kbx/kbx-client-util.c:95,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbx-client-util.c:96,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/kbx/kbx-client-util.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - kcd
    argTypes:
    - kbx_client_data_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: unlock_datastream
    functionSourceFile: /src/gnupg/kbx/kbx-client-util.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_errno
    - log_fatal
    - npth_mutex_unlock
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void unlock_datastream (kbx_client_data_t kcd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_create_inbound_pipe
      Src: /src/gnupg/kbx/kbx-client-util.c:117,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbx-client-util.c:120,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbx-client-util.c:120,1
    - Dst: assuan_sendfd
      Src: /src/gnupg/kbx/kbx-client-util.c:124,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbx-client-util.c:128,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbx-client-util.c:129,1
    - Dst: gpg_strsource
      Src: /src/gnupg/kbx/kbx-client-util.c:129,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbx-client-util.c:131,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbx-client-util.c:132,1
    - Dst: gpg_strsource
      Src: /src/gnupg/kbx/kbx-client-util.c:132,1
    - Dst: es_fclose
      Src: /src/gnupg/kbx/kbx-client-util.c:134,1
    - Dst: CloseHandle
      Src: /src/gnupg/kbx/kbx-client-util.c:136,1
    - Dst: close
      Src: /src/gnupg/kbx/kbx-client-util.c:138,1
    - Dst: assuan_transact
      Src: /src/gnupg/kbx/kbx-client-util.c:143,1
    - Dst: log_info
      Src: /src/gnupg/kbx/kbx-client-util.c:147,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbx-client-util.c:148,1
    - Dst: gpg_strsource
      Src: /src/gnupg/kbx/kbx-client-util.c:148,1
    - Dst: es_fclose
      Src: /src/gnupg/kbx/kbx-client-util.c:149,1
    - Dst: CloseHandle
      Src: /src/gnupg/kbx/kbx-client-util.c:154,1
    - Dst: close
      Src: /src/gnupg/kbx/kbx-client-util.c:156,1
    - Dst: npth_attr_init
      Src: /src/gnupg/kbx/kbx-client-util.c:160,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/kbx/kbx-client-util.c:163,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbx-client-util.c:164,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbx-client-util.c:164,1
    - Dst: es_fclose
      Src: /src/gnupg/kbx/kbx-client-util.c:165,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/kbx/kbx-client-util.c:169,1
    - Dst: npth_create
      Src: /src/gnupg/kbx/kbx-client-util.c:170,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/kbx/kbx-client-util.c:173,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbx-client-util.c:174,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbx-client-util.c:174,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/kbx/kbx-client-util.c:175,1
    - Dst: es_fclose
      Src: /src/gnupg/kbx/kbx-client-util.c:176,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/kbx/kbx-client-util.c:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 1
    argNames:
    - kcd
    argTypes:
    - kbx_client_data_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 183
    functionName: prepare_data_pipe
    functionSourceFile: /src/gnupg/kbx/kbx-client-util.c
    functionUses: 0
    functionsReached:
    - log_error
    - npth_attr_init
    - es_fclose
    - close
    - npth_create
    - npth_attr_destroy
    - npth_attr_setdetachstate
    - assuan_transact
    - gpg_error_from_errno
    - gnupg_create_inbound_pipe
    - gpg_strerror
    - log_info
    - gpg_strsource
    - CloseHandle
    - assuan_sendfd
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t prepare_data_pipe (kbx_client_data_t kcd)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/kbx/kbx-client-util.c:200,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/kbx-client-util.c:204,1
    - Dst: es_read
      Src: /src/gnupg/kbx/kbx-client-util.c:205,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/kbx-client-util.c:207,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/kbx-client-util.c:208,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbx-client-util.c:210,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbx-client-util.c:211,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/kbx/kbx-client-util.c:212,1
    - Dst: buf32_to_size_t
      Src: /src/gnupg/kbx/kbx-client-util.c:218,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/kbx-client-util.c:220,1
    - Dst: log_info
      Src: /src/gnupg/kbx/kbx-client-util.c:223,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/kbx-client-util.c:229,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/kbx-client-util.c:232,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/kbx-client-util.c:234,1
    - Dst: es_read
      Src: /src/gnupg/kbx/kbx-client-util.c:236,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/kbx-client-util.c:238,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/kbx-client-util.c:242,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbx-client-util.c:249,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbx-client-util.c:250,1
    - Dst: gpg_strsource
      Src: /src/gnupg/kbx/kbx-client-util.c:250,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbx-client-util.c:251,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/kbx-client-util.c:258,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbx-client-util.c:266,1
    - Dst: lock_datastream
      Src: /src/gnupg/kbx/kbx-client-util.c:270,1
    - Dst: npth_cond_signal
      Src: /src/gnupg/kbx/kbx-client-util.c:271,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/kbx/kbx-client-util.c:274,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbx-client-util.c:275,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbx-client-util.c:276,1
    - Dst: unlock_datastream
      Src: /src/gnupg/kbx/kbx-client-util.c:278,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/kbx-client-util.c:281,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 284
    functionName: datastream_thread
    functionSourceFile: /src/gnupg/kbx/kbx-client-util.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    - log_error
    - gpg_error_from_syserror
    - unlock_datastream
    - gpg_error_from_errno
    - gpg_error
    - es_read
    - gpg_err_code
    - gpg_strerror
    - log_info
    - buf32_to_size_t
    - gpg_strsource
    - xfree
    - lock_datastream
    - gnupg_sleep
    - log_debug
    - npth_cond_signal
    linkageType: ''
    returnType: void
    signature: 'void *

      datastream_thread (void *arg)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/kbx-client-util.c:300,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/kbx-client-util.c:302,1
    - Dst: npth_mutex_init
      Src: /src/gnupg/kbx/kbx-client-util.c:309,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/kbx/kbx-client-util.c:312,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbx-client-util.c:313,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbx-client-util.c:313,1
    - Dst: npth_cond_init
      Src: /src/gnupg/kbx/kbx-client-util.c:316,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/kbx/kbx-client-util.c:319,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbx-client-util.c:320,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbx-client-util.c:320,1
    - Dst: npth_mutex_destroy
      Src: /src/gnupg/kbx/kbx-client-util.c:321,1
    - Dst: prepare_data_pipe
      Src: /src/gnupg/kbx/kbx-client-util.c:325,1
    - Dst: npth_cond_destroy
      Src: /src/gnupg/kbx/kbx-client-util.c:328,1
    - Dst: npth_mutex_destroy
      Src: /src/gnupg/kbx/kbx-client-util.c:329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - r_kcd
    - ctx
    - dlines
    argTypes:
    - kbx_client_data_t*
    - assuan_context_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 336
    functionName: kbx_client_data_new
    functionSourceFile: /src/gnupg/kbx/kbx-client-util.c
    functionUses: 2
    functionsReached:
    - npth_cond_init
    - log_error
    - npth_mutex_init
    - gpg_error_from_syserror
    - prepare_data_pipe
    - gpg_error_from_errno
    - npth_mutex_destroy
    - gpg_strerror
    - npth_cond_destroy
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t kbx_client_data_new (kbx_client_data_t *r_kcd, assuan_context_t
      ctx,\n                     int dlines)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/kbx/kbx-client-util.c:350,1
    - Dst: npth_join
      Src: /src/gnupg/kbx/kbx-client-util.c:354,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbx-client-util.c:355,1
    - Dst: es_fclose
      Src: /src/gnupg/kbx/kbx-client-util.c:358,1
    - Dst: npth_cond_destroy
      Src: /src/gnupg/kbx/kbx-client-util.c:360,1
    - Dst: npth_mutex_destroy
      Src: /src/gnupg/kbx/kbx-client-util.c:361,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbx-client-util.c:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - kcd
    argTypes:
    - kbx_client_data_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 363
    functionName: kbx_client_data_release
    functionSourceFile: /src/gnupg/kbx/kbx-client-util.c
    functionUses: 2
    functionsReached:
    - log_error
    - es_fclose
    - npth_mutex_destroy
    - npth_cond_destroy
    - xfree
    - npth_join
    linkageType: ''
    returnType: void
    signature: void kbx_client_data_release (kbx_client_data_t kcd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/kbx/kbx-client-util.c:371,1
    - Dst: assuan_transact
      Src: /src/gnupg/kbx/kbx-client-util.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - kcd
    - command
    argTypes:
    - kbx_client_data_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 374
    functionName: kbx_client_data_simple
    functionSourceFile: /src/gnupg/kbx/kbx-client-util.c
    functionUses: 3
    functionsReached:
    - assuan_transact
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t kbx_client_data_simple (kbx_client_data_t kcd, const char
      *command)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/kbx/kbx-client-util.c:389,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/kbx-client-util.c:397,1
    - Dst: assuan_transact
      Src: /src/gnupg/kbx/kbx-client-util.c:398,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/kbx-client-util.c:405,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/kbx-client-util.c:406,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/kbx-client-util.c:407,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbx-client-util.c:408,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/kbx-client-util.c:420,1
    - Dst: init_membuf
      Src: /src/gnupg/kbx/kbx-client-util.c:422,1
    - Dst: assuan_transact
      Src: /src/gnupg/kbx/kbx-client-util.c:423,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/kbx-client-util.c:430,1
    - Dst: gpg_err_code
      Src: /src/gnupg/kbx/kbx-client-util.c:431,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/kbx-client-util.c:432,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbx-client-util.c:433,1
    - Dst: xfree
      Src: /src/gnupg/kbx/kbx-client-util.c:434,1
    - Dst: get_membuf
      Src: /src/gnupg/kbx/kbx-client-util.c:434,1
    - Dst: get_membuf
      Src: /src/gnupg/kbx/kbx-client-util.c:439,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/kbx-client-util.c:442,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - kcd
    - command
    - status_cb_value
    argTypes:
    - kbx_client_data_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 449
    functionName: kbx_client_data_cmd
    functionSourceFile: /src/gnupg/kbx/kbx-client-util.c
    functionUses: 2
    functionsReached:
    - get_membuf
    - init_membuf
    - gpg_error_from_syserror
    - assuan_transact
    - gpg_err_code
    - xfree
    - gpg_strerror
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t kbx_client_data_cmd (kbx_client_data_t kcd, const char
      *command,\n                     gpg_error_t (*status_cb)(void *opaque, const
      char *line),\n                     void *status_cb_value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lock_datastream
      Src: /src/gnupg/kbx/kbx-client-util.c:465,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/kbx-client-util.c:469,1
    - Dst: npth_cond_wait
      Src: /src/gnupg/kbx/kbx-client-util.c:470,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/kbx/kbx-client-util.c:473,1
    - Dst: log_error
      Src: /src/gnupg/kbx/kbx-client-util.c:474,1
    - Dst: gpg_strerror
      Src: /src/gnupg/kbx/kbx-client-util.c:475,1
    - Dst: log_debug
      Src: /src/gnupg/kbx/kbx-client-util.c:478,1
    - Dst: unlock_datastream
      Src: /src/gnupg/kbx/kbx-client-util.c:485,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - kcd
    - r_data
    - r_datalen
    argTypes:
    - kbx_client_data_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 496
    functionName: kbx_client_data_wait
    functionSourceFile: /src/gnupg/kbx/kbx-client-util.c
    functionUses: 2
    functionsReached:
    - log_error
    - gpg_error_from_errno
    - gpg_strerror
    - unlock_datastream
    - lock_datastream
    - npth_cond_wait
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t kbx_client_data_wait (kbx_client_data_t kcd, char **r_data,
      size_t *r_datalen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 55
    functionName: struct
    functionSourceFile: /src/gnupg/kbx/keyboxd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EXTERN_UNLESS_MAIN_MODULE
    signature: EXTERN_UNLESS_MAIN_MODULE struct
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: L_
    functionSourceFile: /src/gnupg/kbx/keyboxd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: L_
    functionSourceFile: /src/gnupg/kbx/keyboxd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: get32
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get32(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: SF_NONE
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SF_NONE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: SF_NOKEY
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SF_NOKEY(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: SF_BAD
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SF_BAD(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: SF_VALID
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SF_VALID(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/keybox-blob.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mb
    - initiallen
    argTypes:
    - struct membuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 266
    functionName: init_membuf
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 51
    functionsReached:
    - xtrymalloc
    linkageType: ''
    returnType: void
    signature: void init_membuf (struct membuf *mb, int initiallen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtryrealloc
      Src: /src/gnupg/kbx/keybox-blob.c:279,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-blob.c:288,1
    - Dst: memset
      Src: /src/gnupg/kbx/keybox-blob.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - mb
    - buf
    - len
    argTypes:
    - struct membuf*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 292
    functionName: put_membuf
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 48
    functionsReached:
    - xtryrealloc
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: void put_membuf (struct membuf *mb, const void *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - mb
    - len
    argTypes:
    - struct membuf*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: get_membuf
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 66
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: 'void *

      get_membuf (struct membuf *mb, size_t *len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/gnupg/kbx/keybox-blob.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mb
    - a
    argTypes:
    - struct membuf*
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: put8
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached:
    - put_membuf
    linkageType: ''
    returnType: void
    signature: void put8 (struct membuf *mb, byte a )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/gnupg/kbx/keybox-blob.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mb
    - a
    argTypes:
    - struct membuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: put16
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached:
    - put_membuf
    linkageType: ''
    returnType: void
    signature: void put16 (struct membuf *mb, u16 a )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/gnupg/kbx/keybox-blob.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - mb
    - a
    argTypes:
    - struct membuf*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 338
    functionName: put32
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached:
    - put_membuf
    linkageType: ''
    returnType: void
    signature: void put32 (struct membuf *mb, u32 a )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keybox-blob.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - blob
    - 'off'
    - val
    argTypes:
    - KEYBOXBLOB
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 361
    functionName: add_fixup
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached:
    - xtrycalloc
    linkageType: ''
    returnType: void
    signature: void add_fixup (KEYBOXBLOB blob, u32 off, u32 val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/keybox-blob.c:379,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-blob.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - blob
    - kinfo
    argTypes:
    - KEYBOXBLOB
    - struct _keybox_openpgp_key_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 390
    functionName: pgp_temp_store_kid
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: int pgp_temp_store_kid (KEYBOXBLOB blob, struct _keybox_openpgp_key_info
      *kinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-blob.c:402,1
    - Dst: memmove
      Src: /src/gnupg/kbx/keybox-blob.c:406,1
    - Dst: memset
      Src: /src/gnupg/kbx/keybox-blob.c:407,1
    - Dst: pgp_temp_store_kid
      Src: /src/gnupg/kbx/keybox-blob.c:408,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-blob.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - blob
    - n
    - kinfo
    argTypes:
    - KEYBOXBLOB
    - int
    - struct _keybox_openpgp_key_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 417
    functionName: pgp_create_key_part_single
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached:
    - memmove
    - gpg_error_from_syserror
    - memset
    - pgp_temp_store_kid
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t pgp_create_key_part_single (KEYBOXBLOB blob, int n,\n
      \                           struct _keybox_openpgp_key_info *kinfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pgp_create_key_part_single
      Src: /src/gnupg/kbx/keybox-blob.c:427,1
    - Dst: pgp_create_key_part_single
      Src: /src/gnupg/kbx/keybox-blob.c:432,1
    - Dst: assert
      Src: /src/gnupg/kbx/keybox-blob.c:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - blob
    - info
    argTypes:
    - KEYBOXBLOB
    - keybox_openpgp_info_t
    assertStmts:
    - condition: (n == blob->nkeys)
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/gnupg/kbx/keybox-blob.c
    constantsTouched: []
    func_position:
      end: 437
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 437
    functionName: pgp_create_key_part
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached:
    - pgp_create_key_part_single
    - assert
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t pgp_create_key_part (KEYBOXBLOB blob, keybox_openpgp_info_t
      info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/kbx/keybox-blob.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - blob
    - info
    argTypes:
    - KEYBOXBLOB
    - keybox_openpgp_info_t
    assertStmts:
    - condition: (n == blob->nuids)
      pos:
        line_end: 457
        line_start: 457
        source_file: /src/gnupg/kbx/keybox-blob.c
    constantsTouched: []
    func_position:
      end: 459
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 459
    functionName: pgp_create_uid_part
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void pgp_create_uid_part (KEYBOXBLOB blob, keybox_openpgp_info_t info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - blob
    - sigstatus
    argTypes:
    - KEYBOXBLOB
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 471
    functionName: pgp_create_sig_part
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pgp_create_sig_part (KEYBOXBLOB blob, u32 *sigstatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_fixup
      Src: /src/gnupg/kbx/keybox-blob.c:482,1
    - Dst: add_fixup
      Src: /src/gnupg/kbx/keybox-blob.c:485,1
    - Dst: put_membuf
      Src: /src/gnupg/kbx/keybox-blob.c:487,1
    - Dst: add_fixup
      Src: /src/gnupg/kbx/keybox-blob.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - blob
    - image
    - imagelen
    argTypes:
    - KEYBOXBLOB
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 491
    functionName: pgp_create_blob_keyblock
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached:
    - put_membuf
    - add_fixup
    linkageType: ''
    returnType: int
    signature: "int pgp_create_blob_keyblock (KEYBOXBLOB blob,\n                          const
      unsigned char *image, size_t imagelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_fixup
      Src: /src/gnupg/kbx/keybox-blob.c:510,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/kbx/keybox-blob.c:512,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-blob.c:514,1
    - Dst: put_membuf
      Src: /src/gnupg/kbx/keybox-blob.c:515,1
    - Dst: add_fixup
      Src: /src/gnupg/kbx/keybox-blob.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - blob
    - cert
    argTypes:
    - KEYBOXBLOB
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 519
    functionName: x509_create_blob_cert
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached:
    - put_membuf
    - add_fixup
    - gpg_error
    - ksba_cert_get_image
    linkageType: ''
    returnType: int
    signature: int x509_create_blob_cert (KEYBOXBLOB blob, ksba_cert_t cert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/gnupg/kbx/keybox-blob.c:533,1
    - Dst: never_reached
      Src: /src/gnupg/kbx/keybox-blob.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - blob
    - seqno
    argTypes:
    - KEYBOXBLOB
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 538
    functionName: write_stored_kid
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached:
    - put_membuf
    - never_reached
    linkageType: ''
    returnType: void
    signature: void write_stored_kid (KEYBOXBLOB blob, int seqno)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - kl
    argTypes:
    - struct keyid_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 551
    functionName: release_kid_list
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_kid_list (struct keyid_list *kl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: put32
      Src: /src/gnupg/kbx/keybox-blob.c:563,1
    - Dst: put8
      Src: /src/gnupg/kbx/keybox-blob.c:564,1
    - Dst: put8
      Src: /src/gnupg/kbx/keybox-blob.c:565,1
    - Dst: put16
      Src: /src/gnupg/kbx/keybox-blob.c:566,1
    - Dst: put32
      Src: /src/gnupg/kbx/keybox-blob.c:568,1
    - Dst: put32
      Src: /src/gnupg/kbx/keybox-blob.c:569,1
    - Dst: put16
      Src: /src/gnupg/kbx/keybox-blob.c:571,1
    - Dst: put16
      Src: /src/gnupg/kbx/keybox-blob.c:573,1
    - Dst: put16
      Src: /src/gnupg/kbx/keybox-blob.c:575,1
    - Dst: put_membuf
      Src: /src/gnupg/kbx/keybox-blob.c:580,1
    - Dst: put_membuf
      Src: /src/gnupg/kbx/keybox-blob.c:582,1
    - Dst: put16
      Src: /src/gnupg/kbx/keybox-blob.c:585,1
    - Dst: put16
      Src: /src/gnupg/kbx/keybox-blob.c:587,1
    - Dst: put16
      Src: /src/gnupg/kbx/keybox-blob.c:588,1
    - Dst: put_membuf
      Src: /src/gnupg/kbx/keybox-blob.c:590,1
    - Dst: log_assert
      Src: /src/gnupg/kbx/keybox-blob.c:594,1
    - Dst: put_membuf
      Src: /src/gnupg/kbx/keybox-blob.c:595,1
    - Dst: put32
      Src: /src/gnupg/kbx/keybox-blob.c:597,1
    - Dst: put16
      Src: /src/gnupg/kbx/keybox-blob.c:598,1
    - Dst: put16
      Src: /src/gnupg/kbx/keybox-blob.c:599,1
    - Dst: put16
      Src: /src/gnupg/kbx/keybox-blob.c:603,1
    - Dst: put_membuf
      Src: /src/gnupg/kbx/keybox-blob.c:605,1
    - Dst: put16
      Src: /src/gnupg/kbx/keybox-blob.c:607,1
    - Dst: put16
      Src: /src/gnupg/kbx/keybox-blob.c:608,1
    - Dst: put32
      Src: /src/gnupg/kbx/keybox-blob.c:612,1
    - Dst: put32
      Src: /src/gnupg/kbx/keybox-blob.c:613,1
    - Dst: put16
      Src: /src/gnupg/kbx/keybox-blob.c:614,1
    - Dst: put8
      Src: /src/gnupg/kbx/keybox-blob.c:615,1
    - Dst: put8
      Src: /src/gnupg/kbx/keybox-blob.c:616,1
    - Dst: put16
      Src: /src/gnupg/kbx/keybox-blob.c:619,1
    - Dst: put16
      Src: /src/gnupg/kbx/keybox-blob.c:620,1
    - Dst: put32
      Src: /src/gnupg/kbx/keybox-blob.c:623,1
    - Dst: put8
      Src: /src/gnupg/kbx/keybox-blob.c:626,1
    - Dst: put8
      Src: /src/gnupg/kbx/keybox-blob.c:627,1
    - Dst: put16
      Src: /src/gnupg/kbx/keybox-blob.c:628,1
    - Dst: put32
      Src: /src/gnupg/kbx/keybox-blob.c:629,1
    - Dst: put32
      Src: /src/gnupg/kbx/keybox-blob.c:630,1
    - Dst: put32
      Src: /src/gnupg/kbx/keybox-blob.c:631,1
    - Dst: make_timestamp
      Src: /src/gnupg/kbx/keybox-blob.c:631,1
    - Dst: put32
      Src: /src/gnupg/kbx/keybox-blob.c:632,1
    - Dst: add_fixup
      Src: /src/gnupg/kbx/keybox-blob.c:649,1
    - Dst: write_stored_kid
      Src: /src/gnupg/kbx/keybox-blob.c:650,1
    - Dst: add_fixup
      Src: /src/gnupg/kbx/keybox-blob.c:654,1
    - Dst: add_fixup
      Src: /src/gnupg/kbx/keybox-blob.c:668,1
    - Dst: put_membuf
      Src: /src/gnupg/kbx/keybox-blob.c:669,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 75
    argCount: 4
    argNames:
    - blob
    - blobtype
    - as_ephemeral
    - want_fpr32
    argTypes:
    - KEYBOXBLOB
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 675
    functionName: create_blob_header
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached:
    - put8
    - put32
    - log_assert
    - put_membuf
    - make_timestamp
    - add_fixup
    - write_stored_kid
    - put16
    linkageType: ''
    returnType: int
    signature: "int create_blob_header (KEYBOXBLOB blob, int blobtype, int as_ephemeral,\n
      \                   int want_fpr32)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - blob
    argTypes:
    - KEYBOXBLOB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 684
    functionName: create_blob_trailer
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int create_blob_trailer (KEYBOXBLOB blob)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/gnupg/kbx/keybox-blob.c:696,1
    - Dst: get_membuf
      Src: /src/gnupg/kbx/keybox-blob.c:700,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-blob.c:702,1
    - Dst: assert
      Src: /src/gnupg/kbx/keybox-blob.c:703,1
    - Dst: add_fixup
      Src: /src/gnupg/kbx/keybox-blob.c:706,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:711,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-blob.c:712,1
    - Dst: assert
      Src: /src/gnupg/kbx/keybox-blob.c:719,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:725,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/kbx/keybox-blob.c:731,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/keybox-blob.c:733,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:736,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-blob.c:737,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-blob.c:739,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - blob
    argTypes:
    - KEYBOXBLOB
    assertStmts:
    - condition: (n >= 20)
      pos:
        line_end: 702
        line_start: 702
        source_file: /src/gnupg/kbx/keybox-blob.c
    - condition: (fl->off+4 <= n)
      pos:
        line_end: 718
        line_start: 718
        source_file: /src/gnupg/kbx/keybox-blob.c
    constantsTouched: []
    func_position:
      end: 745
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 745
    functionName: create_blob_finish
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - assert
    - put_membuf
    - gcry_md_hash_buffer
    - gpg_error_from_syserror
    - add_fixup
    - gpg_error
    - xfree
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: int
    signature: int create_blob_finish (KEYBOXBLOB blob)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keybox-blob.c:779,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-blob.c:781,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keybox-blob.c:784,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-blob.c:787,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keybox-blob.c:794,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-blob.c:797,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keybox-blob.c:805,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-blob.c:808,1
    - Dst: pgp_create_key_part
      Src: /src/gnupg/kbx/keybox-blob.c:813,1
    - Dst: pgp_create_uid_part
      Src: /src/gnupg/kbx/keybox-blob.c:816,1
    - Dst: pgp_create_sig_part
      Src: /src/gnupg/kbx/keybox-blob.c:817,1
    - Dst: init_membuf
      Src: /src/gnupg/kbx/keybox-blob.c:819,1
    - Dst: create_blob_header
      Src: /src/gnupg/kbx/keybox-blob.c:821,1
    - Dst: pgp_create_blob_keyblock
      Src: /src/gnupg/kbx/keybox-blob.c:825,1
    - Dst: create_blob_trailer
      Src: /src/gnupg/kbx/keybox-blob.c:828,1
    - Dst: create_blob_finish
      Src: /src/gnupg/kbx/keybox-blob.c:831,1
    - Dst: release_kid_list
      Src: /src/gnupg/kbx/keybox-blob.c:836,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-blob.c:839,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 70
    argCount: 5
    argNames:
    - r_blob
    - info
    - image
    - imagelen
    - as_ephemeral
    argTypes:
    - KEYBOXBLOB*
    - keybox_openpgp_info_t
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 749
    functionDepth: 4
    functionLinenumber: 749
    functionLinenumberEnd: 843
    functionName: _keybox_create_openpgp_blob
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 3
    functionsReached:
    - init_membuf
    - gpg_error_from_syserror
    - pgp_create_blob_keyblock
    - pgp_create_key_part
    - create_blob_header
    - create_blob_finish
    - pgp_create_uid_part
    - pgp_create_sig_part
    - xtrycalloc
    - create_blob_trailer
    - release_kid_list
    - _keybox_release_blob
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _keybox_create_openpgp_blob (KEYBOXBLOB *r_blob,\n                             keybox_openpgp_info_t
      info,\n                             const unsigned char *image,\n                             size_t
      imagelen,\n                             int as_ephemeral)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gnupg/kbx/keybox-blob.c:858,1
    - Dst: hexdigitp
      Src: /src/gnupg/kbx/keybox-blob.c:873,1
    - Dst: hexdigitp
      Src: /src/gnupg/kbx/keybox-blob.c:873,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/keybox-blob.c:877,1
    - Dst: hexdigitp
      Src: /src/gnupg/kbx/keybox-blob.c:881,1
    - Dst: xtoi_2
      Src: /src/gnupg/kbx/keybox-blob.c:882,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 886
    functionName: _keybox_x509_email_kludge
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 1
    functionsReached:
    - hexdigitp
    - xtrymalloc
    - xtoi_2
    - strstr
    linkageType: ''
    returnType: char
    signature: 'char *

      _keybox_x509_email_kludge (const char *name)'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keybox-blob.c:906,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-blob.c:908,1
    - Dst: ksba_cert_get_serial
      Src: /src/gnupg/kbx/keybox-blob.c:910,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/kbx/keybox-blob.c:914,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:917,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-blob.c:918,1
    - Dst: digitp
      Src: /src/gnupg/kbx/keybox-blob.c:922,1
    - Dst: atoi_1
      Src: /src/gnupg/kbx/keybox-blob.c:923,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:926,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-blob.c:928,1
    - Dst: xtrymalloc
      Src: /src/gnupg/kbx/keybox-blob.c:940,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-blob.c:943,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/kbx/keybox-blob.c:947,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-blob.c:950,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/kbx/keybox-blob.c:954,1
    - Dst: xtryrealloc
      Src: /src/gnupg/kbx/keybox-blob.c:961,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-blob.c:964,1
    - Dst: _keybox_x509_email_kludge
      Src: /src/gnupg/kbx/keybox-blob.c:970,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keybox-blob.c:977,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keybox-blob.c:978,1
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keybox-blob.c:979,1
    - Dst: gpg_error
      Src: /src/gnupg/kbx/keybox-blob.c:982,1
    - Dst: memcpy
      Src: /src/gnupg/kbx/keybox-blob.c:986,1
    - Dst: strlen
      Src: /src/gnupg/kbx/keybox-blob.c:994,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:999,1
    - Dst: init_membuf
      Src: /src/gnupg/kbx/keybox-blob.c:1006,1
    - Dst: create_blob_header
      Src: /src/gnupg/kbx/keybox-blob.c:1009,1
    - Dst: x509_create_blob_cert
      Src: /src/gnupg/kbx/keybox-blob.c:1012,1
    - Dst: create_blob_trailer
      Src: /src/gnupg/kbx/keybox-blob.c:1015,1
    - Dst: create_blob_finish
      Src: /src/gnupg/kbx/keybox-blob.c:1018,1
    - Dst: release_kid_list
      Src: /src/gnupg/kbx/keybox-blob.c:1024,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:1029,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:1030,1
    - Dst: _keybox_release_blob
      Src: /src/gnupg/kbx/keybox-blob.c:1034,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 113
    argCount: 4
    argNames:
    - r_blob
    - cert
    - sha1_digest
    - as_ephemeral
    argTypes:
    - KEYBOXBLOB*
    - ksba_cert_t
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 894
    functionDepth: 4
    functionLinenumber: 894
    functionLinenumberEnd: 1042
    functionName: _keybox_create_x509_blob
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 1
    functionsReached:
    - strlen
    - digitp
    - create_blob_finish
    - gcry_sexp_canon_len
    - ksba_cert_get_serial
    - memcpy
    - xtrymalloc
    - ksba_cert_get_issuer
    - init_membuf
    - ksba_cert_get_subject
    - create_blob_trailer
    - gpg_error_from_syserror
    - create_blob_header
    - gpg_error
    - xfree
    - x509_create_blob_cert
    - xtrycalloc
    - atoi_1
    - xtryrealloc
    - _keybox_x509_email_kludge
    - release_kid_list
    - _keybox_release_blob
    linkageType: ''
    returnType: int
    signature: "int _keybox_create_x509_blob (KEYBOXBLOB *r_blob, ksba_cert_t cert,\n
      \                         unsigned char *sha1_digest, int as_ephemeral)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/kbx/keybox-blob.c:1054,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/kbx/keybox-blob.c:1056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - r_blob
    - image
    - imagelen
    - 'off'
    argTypes:
    - KEYBOXBLOB*
    - unsigned char*
    - size_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1063
    functionName: _keybox_new_blob
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_syserror
    - xtrycalloc
    linkageType: ''
    returnType: int
    signature: "int _keybox_new_blob (KEYBOXBLOB *r_blob,\n                  unsigned
      char *image, size_t imagelen, off_t off)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:1075,1
    - Dst: get_membuf
      Src: /src/gnupg/kbx/keybox-blob.c:1075,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:1077,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:1078,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:1080,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:1081,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:1082,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:1083,1
    - Dst: xfree
      Src: /src/gnupg/kbx/keybox-blob.c:1084,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - blob
    argTypes:
    - KEYBOXBLOB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1085
    functionName: _keybox_release_blob
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 15
    functionsReached:
    - get_membuf
    - xfree
    linkageType: ''
    returnType: void
    signature: void _keybox_release_blob (KEYBOXBLOB blob)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - blob
    - n
    argTypes:
    - KEYBOXBLOB
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1094
    functionName: _keybox_get_blob_image
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      _keybox_get_blob_image ( KEYBOXBLOB blob, size_t *n )'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - blob
    argTypes:
    - KEYBOXBLOB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1100
    functionName: _keybox_get_blob_fileoffset
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: off_t
    signature: off_t _keybox_get_blob_fileoffset (KEYBOXBLOB blob)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_timestamp
      Src: /src/gnupg/kbx/keybox-blob.c:1109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - blob
    - for_openpgp
    argTypes:
    - KEYBOXBLOB
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1104
    functionDepth: 3
    functionLinenumber: 1104
    functionLinenumberEnd: 1120
    functionName: _keybox_update_header_blob
    functionSourceFile: /src/gnupg/kbx/keybox-blob.c
    functionUses: 1
    functionsReached:
    - make_timestamp
    linkageType: ''
    returnType: void
    signature: void _keybox_update_header_blob (KEYBOXBLOB blob, int for_openpgp)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/agent/pkdecrypt.c:53,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:54,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/agent/pkdecrypt.c:58,1
    - Dst: log_error
      Src: /src/gnupg/agent/pkdecrypt.c:61,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/pkdecrypt.c:61,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:62,1
    - Dst: log_printhex
      Src: /src/gnupg/agent/pkdecrypt.c:68,1
    - Dst: log_printhex
      Src: /src/gnupg/agent/pkdecrypt.c:69,1
    - Dst: agent_key_from_file
      Src: /src/gnupg/agent/pkdecrypt.c:71,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/pkdecrypt.c:74,1
    - Dst: log_error
      Src: /src/gnupg/agent/pkdecrypt.c:76,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/pkdecrypt.c:81,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:83,1
    - Dst: agent_is_tpm2_key
      Src: /src/gnupg/agent/pkdecrypt.c:87,1
    - Dst: divert_tpm2_pkdecrypt
      Src: /src/gnupg/agent/pkdecrypt.c:88,1
    - Dst: divert_pkdecrypt
      Src: /src/gnupg/agent/pkdecrypt.c:91,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/pkdecrypt.c:98,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/pkdecrypt.c:99,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:101,1
    - Dst: log_error
      Src: /src/gnupg/agent/pkdecrypt.c:103,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/pkdecrypt.c:103,1
    - Dst: put_membuf_printf
      Src: /src/gnupg/agent/pkdecrypt.c:107,1
    - Dst: put_membuf
      Src: /src/gnupg/agent/pkdecrypt.c:108,1
    - Dst: put_membuf
      Src: /src/gnupg/agent/pkdecrypt.c:109,1
    - Dst: gcry_pk_decrypt
      Src: /src/gnupg/agent/pkdecrypt.c:119,1
    - Dst: log_error
      Src: /src/gnupg/agent/pkdecrypt.c:122,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/pkdecrypt.c:122,1
    - Dst: log_debug
      Src: /src/gnupg/agent/pkdecrypt.c:128,1
    - Dst: gcry_sexp_dump
      Src: /src/gnupg/agent/pkdecrypt.c:129,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/pkdecrypt.c:131,1
    - Dst: log_assert
      Src: /src/gnupg/agent/pkdecrypt.c:132,1
    - Dst: xmalloc
      Src: /src/gnupg/agent/pkdecrypt.c:133,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/pkdecrypt.c:134,1
    - Dst: log_assert
      Src: /src/gnupg/agent/pkdecrypt.c:135,1
    - Dst: put_membuf
      Src: /src/gnupg/agent/pkdecrypt.c:137,1
    - Dst: put_membuf
      Src: /src/gnupg/agent/pkdecrypt.c:142,1
    - Dst: put_membuf
      Src: /src/gnupg/agent/pkdecrypt.c:143,1
    - Dst: put_membuf
      Src: /src/gnupg/agent/pkdecrypt.c:144,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/pkdecrypt.c:150,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/pkdecrypt.c:151,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/pkdecrypt.c:152,1
    - Dst: xfree
      Src: /src/gnupg/agent/pkdecrypt.c:153,1
    - Dst: xfree
      Src: /src/gnupg/agent/pkdecrypt.c:154,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 6
    argNames:
    - ctrl
    - desc_text
    - ciphertext
    - ciphertextlen
    - outbuf
    - r_padding
    argTypes:
    - ctrl_t
    - char*
    - unsigned char*
    - size_t
    - membuf_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 156
    functionName: agent_pkdecrypt
    functionSourceFile: /src/gnupg/agent/pkdecrypt.c
    functionUses: 3
    functionsReached:
    - put_membuf_printf
    - log_assert
    - put_membuf
    - gcry_sexp_dump
    - gcry_sexp_sscan
    - xmalloc
    - gcry_sexp_canon_len
    - gcry_sexp_sprint
    - agent_is_tpm2_key
    - log_printhex
    - log_error
    - gcry_sexp_release
    - gcry_pk_decrypt
    - log_debug
    - divert_pkdecrypt
    - divert_tpm2_pkdecrypt
    - gpg_error
    - gpg_strerror
    - xfree
    - gpg_err_code
    - agent_key_from_file
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_pkdecrypt (ctrl_t ctrl, const char *desc_text,\n
      \                const unsigned char *ciphertext, size_t ciphertextlen,\n                 membuf_t
      *outbuf, int *r_padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: reverse_buffer
    functionSourceFile: /src/gnupg/agent/pkdecrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_buffer (unsigned char *buffer, unsigned int length)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/agent/pkdecrypt.c:184,1
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:188,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/agent/pkdecrypt.c:192,1
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:197,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:198,1
    - Dst: memcpy
      Src: /src/gnupg/agent/pkdecrypt.c:202,1
    - Dst: memcpy
      Src: /src/gnupg/agent/pkdecrypt.c:205,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:208,1
    - Dst: log_printhex
      Src: /src/gnupg/agent/pkdecrypt.c:213,1
    - Dst: mpi_release
      Src: /src/gnupg/agent/pkdecrypt.c:216,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - ecc
    - s_skey
    - ecc_pk
    argTypes:
    - struct gnupg_ecc_params*
    - gcry_sexp_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 218
    functionName: ecc_extract_pk_from_key
    functionSourceFile: /src/gnupg/agent/pkdecrypt.c
    functionUses: 0
    functionsReached:
    - mpi_release
    - log_printhex
    - gcry_sexp_extract_param
    - gpg_error
    - log_info
    - gcry_mpi_get_opaque
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ecc_extract_pk_from_key (const struct gnupg_ecc_params
      *ecc,\n                         gcry_sexp_t s_skey, unsigned char *ecc_pk)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/agent/pkdecrypt.c:230,1
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:234,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/agent/pkdecrypt.c:238,1
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:243,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:244,1
    - Dst: memset
      Src: /src/gnupg/agent/pkdecrypt.c:247,1
    - Dst: memcpy
      Src: /src/gnupg/agent/pkdecrypt.c:248,1
    - Dst: reverse_buffer
      Src: /src/gnupg/agent/pkdecrypt.c:250,1
    - Dst: mpi_release
      Src: /src/gnupg/agent/pkdecrypt.c:251,1
    - Dst: log_printhex
      Src: /src/gnupg/agent/pkdecrypt.c:255,1
    - Dst: mpi_release
      Src: /src/gnupg/agent/pkdecrypt.c:258,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - ecc
    - s_skey
    - ecc_sk
    argTypes:
    - struct gnupg_ecc_params*
    - gcry_sexp_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 260
    functionName: ecc_extract_sk_from_key
    functionSourceFile: /src/gnupg/agent/pkdecrypt.c
    functionUses: 0
    functionsReached:
    - mpi_release
    - log_printhex
    - reverse_buffer
    - gcry_sexp_extract_param
    - gpg_error
    - memset
    - log_info
    - gcry_mpi_get_opaque
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ecc_extract_sk_from_key (const struct gnupg_ecc_params
      *ecc,\n                         gcry_sexp_t s_skey, unsigned char *ecc_sk)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:272,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:274,1
    - Dst: ecc_extract_sk_from_key
      Src: /src/gnupg/agent/pkdecrypt.c:278,1
    - Dst: gcry_kem_decap
      Src: /src/gnupg/agent/pkdecrypt.c:282,1
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:288,1
    - Dst: wipememory
      Src: /src/gnupg/agent/pkdecrypt.c:292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - ecc
    - s_skey
    - ecc_ct
    - ecc_ecdh
    argTypes:
    - struct gnupg_ecc_params*
    - gcry_sexp_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 295
    functionName: ecc_raw_kem
    functionSourceFile: /src/gnupg/agent/pkdecrypt.c
    functionUses: 0
    functionsReached:
    - gcry_kem_decap
    - wipememory
    - gpg_error
    - log_info
    - ecc_extract_sk_from_key
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ecc_raw_kem (const struct gnupg_ecc_params *ecc, gcry_sexp_t
      s_skey,\n             const unsigned char *ecc_ct, unsigned char *ecc_ecdh)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: agent_card_readkey
      Src: /src/gnupg/agent/pkdecrypt.c:304,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/pkdecrypt.c:308,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/agent/pkdecrypt.c:309,1
    - Dst: log_error
      Src: /src/gnupg/agent/pkdecrypt.c:311,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/pkdecrypt.c:312,1
    - Dst: xfree
      Src: /src/gnupg/agent/pkdecrypt.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctrl
    - keygrip
    - r_s_pk
    argTypes:
    - ctrl_t
    - char*
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 316
    functionName: get_cardkey
    functionSourceFile: /src/gnupg/agent/pkdecrypt.c
    functionUses: 0
    functionsReached:
    - log_error
    - gcry_sexp_sscan
    - gpg_strerror
    - gcry_sexp_canon_len
    - xfree
    - agent_card_readkey
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_cardkey (ctrl_t ctrl, const char *keygrip, gcry_sexp_t
      *r_s_pk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_cardkey
      Src: /src/gnupg/agent/pkdecrypt.c:330,1
    - Dst: get_ecc_curve_from_key
      Src: /src/gnupg/agent/pkdecrypt.c:339,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:342,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/pkdecrypt.c:349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - ctrl
    - s_skey
    - r_curve
    argTypes:
    - ctrl_t
    - gcry_sexp_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 351
    functionName: ecc_get_curve
    functionSourceFile: /src/gnupg/agent/pkdecrypt.c
    functionUses: 0
    functionsReached:
    - get_cardkey
    - gpg_error
    - get_ecc_curve_from_key
    - gcry_sexp_release
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ecc_get_curve (ctrl_t ctrl, gcry_sexp_t s_skey, const char
      **r_curve)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:373,1
    - Dst: ecc_get_curve
      Src: /src/gnupg/agent/pkdecrypt.c:375,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/pkdecrypt.c:378,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/pkdecrypt.c:379,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:381,1
    - Dst: log_debug
      Src: /src/gnupg/agent/pkdecrypt.c:386,1
    - Dst: gnupg_get_ecc_params
      Src: /src/gnupg/agent/pkdecrypt.c:388,1
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:392,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:393,1
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:407,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:409,1
    - Dst: ecc_extract_pk_from_key
      Src: /src/gnupg/agent/pkdecrypt.c:412,1
    - Dst: log_printhex
      Src: /src/gnupg/agent/pkdecrypt.c:417,1
    - Dst: agent_is_tpm2_key
      Src: /src/gnupg/agent/pkdecrypt.c:421,1
    - Dst: agent_tpm2d_ecc_kem
      Src: /src/gnupg/agent/pkdecrypt.c:423,1
    - Dst: log_error
      Src: /src/gnupg/agent/pkdecrypt.c:427,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/pkdecrypt.c:427,1
    - Dst: agent_card_ecc_kem
      Src: /src/gnupg/agent/pkdecrypt.c:433,1
    - Dst: log_error
      Src: /src/gnupg/agent/pkdecrypt.c:436,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/pkdecrypt.c:437,1
    - Dst: ecc_raw_kem
      Src: /src/gnupg/agent/pkdecrypt.c:443,1
    - Dst: log_printhex
      Src: /src/gnupg/agent/pkdecrypt.c:449,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 8
    argNames:
    - ctrl
    - s_skey0
    - shadow_info0
    - ecc_ct
    - ecc_point_len
    - ecc_ecdh
    - ecc_pk
    - r_ecc
    argTypes:
    - ctrl_t
    - gcry_sexp_t
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char[]
    - unsigned char[]
    - struct gnupg_ecc_params**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 452
    functionName: ecc_kem_decap
    functionSourceFile: /src/gnupg/agent/pkdecrypt.c
    functionUses: 0
    functionsReached:
    - log_printhex
    - log_error
    - agent_card_ecc_kem
    - agent_tpm2d_ecc_kem
    - gpg_error
    - ecc_get_curve
    - gpg_err_code
    - gnupg_get_ecc_params
    - log_info
    - gpg_strerror
    - ecc_raw_kem
    - agent_is_tpm2_key
    - ecc_extract_pk_from_key
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ecc_kem_decap (ctrl_t ctrl, gcry_sexp_t s_skey0,\n               const
      unsigned char *shadow_info0,\n               const unsigned char *ecc_ct, size_t
      ecc_point_len,\n               unsigned char ecc_ecdh[ECC_POINT_LEN_MAX],\n
      \              unsigned char ecc_pk[ECC_POINT_LEN_MAX],\n               const
      struct gnupg_ecc_params **r_ecc)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: agent_key_from_file
      Src: /src/gnupg/agent/pkdecrypt.c:513,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/pkdecrypt.c:516,1
    - Dst: log_error
      Src: /src/gnupg/agent/pkdecrypt.c:518,1
    - Dst: agent_key_from_file
      Src: /src/gnupg/agent/pkdecrypt.c:522,1
    - Dst: log_error
      Src: /src/gnupg/agent/pkdecrypt.c:528,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/agent/pkdecrypt.c:532,1
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:538,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/agent/pkdecrypt.c:542,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/gnupg/agent/pkdecrypt.c:545,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/agent/pkdecrypt.c:546,1
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:551,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:554,1
    - Dst: ecc_kem_decap
      Src: /src/gnupg/agent/pkdecrypt.c:560,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/agent/pkdecrypt.c:565,1
    - Dst: gnupg_ecc_kem_simple_kdf
      Src: /src/gnupg/agent/pkdecrypt.c:566,1
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:573,1
    - Dst: wipememory
      Src: /src/gnupg/agent/pkdecrypt.c:576,1
    - Dst: log_printhex
      Src: /src/gnupg/agent/pkdecrypt.c:578,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/agent/pkdecrypt.c:581,1
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:585,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/agent/pkdecrypt.c:588,1
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:611,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:612,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/agent/pkdecrypt.c:616,1
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:621,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:623,1
    - Dst: gcry_kem_decap
      Src: /src/gnupg/agent/pkdecrypt.c:626,1
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:632,1
    - Dst: mpi_release
      Src: /src/gnupg/agent/pkdecrypt.c:636,1
    - Dst: gnupg_kem_combiner
      Src: /src/gnupg/agent/pkdecrypt.c:640,1
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:647,1
    - Dst: mpi_release
      Src: /src/gnupg/agent/pkdecrypt.c:651,1
    - Dst: mpi_release
      Src: /src/gnupg/agent/pkdecrypt.c:653,1
    - Dst: log_printhex
      Src: /src/gnupg/agent/pkdecrypt.c:658,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/agent/pkdecrypt.c:661,1
    - Dst: log_error
      Src: /src/gnupg/agent/pkdecrypt.c:666,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/pkdecrypt.c:667,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/agent/pkdecrypt.c:671,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/agent/pkdecrypt.c:674,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/pkdecrypt.c:676,1
    - Dst: mpi_release
      Src: /src/gnupg/agent/pkdecrypt.c:678,1
    - Dst: log_error
      Src: /src/gnupg/agent/pkdecrypt.c:683,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/pkdecrypt.c:683,1
    - Dst: put_membuf_printf
      Src: /src/gnupg/agent/pkdecrypt.c:687,1
    - Dst: put_membuf
      Src: /src/gnupg/agent/pkdecrypt.c:689,1
    - Dst: put_membuf
      Src: /src/gnupg/agent/pkdecrypt.c:690,1
    - Dst: wipememory
      Src: /src/gnupg/agent/pkdecrypt.c:693,1
    - Dst: wipememory
      Src: /src/gnupg/agent/pkdecrypt.c:694,1
    - Dst: wipememory
      Src: /src/gnupg/agent/pkdecrypt.c:695,1
    - Dst: wipememory
      Src: /src/gnupg/agent/pkdecrypt.c:696,1
    - Dst: mpi_release
      Src: /src/gnupg/agent/pkdecrypt.c:698,1
    - Dst: mpi_release
      Src: /src/gnupg/agent/pkdecrypt.c:699,1
    - Dst: mpi_release
      Src: /src/gnupg/agent/pkdecrypt.c:700,1
    - Dst: mpi_release
      Src: /src/gnupg/agent/pkdecrypt.c:701,1
    - Dst: gcry_free
      Src: /src/gnupg/agent/pkdecrypt.c:702,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/pkdecrypt.c:703,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/pkdecrypt.c:704,1
    - Dst: xfree
      Src: /src/gnupg/agent/pkdecrypt.c:705,1
    - Dst: xfree
      Src: /src/gnupg/agent/pkdecrypt.c:706,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 149
    argCount: 4
    argNames:
    - ctrl
    - desc_text
    - s_cipher
    - outbuf
    argTypes:
    - ctrl_t
    - char*
    - gcry_sexp_t
    - membuf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 467
    functionDepth: 4
    functionLinenumber: 467
    functionLinenumberEnd: 708
    functionName: composite_pgp_kem_decrypt
    functionSourceFile: /src/gnupg/agent/pkdecrypt.c
    functionUses: 0
    functionsReached:
    - put_membuf_printf
    - gnupg_kem_combiner
    - put_membuf
    - ecc_kem_decap
    - gcry_cipher_get_algo_keylen
    - gcry_cipher_open
    - log_printhex
    - log_error
    - wipememory
    - log_info
    - gcry_sexp_release
    - gcry_kem_decap
    - gcry_cipher_setkey
    - gnupg_ecc_kem_simple_kdf
    - gcry_sexp_extract_param
    - gpg_error
    - gpg_strerror
    - xfree
    - gcry_mpi_get_opaque
    - gcry_free
    - gcry_cipher_decrypt
    - mpi_release
    - gcry_md_get_algo_dlen
    - gpg_err_code
    - agent_key_from_file
    - gcry_cipher_close
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t composite_pgp_kem_decrypt (ctrl_t ctrl, const char *desc_text,\n
      \                          gcry_sexp_t s_cipher, membuf_t *outbuf)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: agent_key_from_file
      Src: /src/gnupg/agent/pkdecrypt.c:753,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/pkdecrypt.c:756,1
    - Dst: log_error
      Src: /src/gnupg/agent/pkdecrypt.c:758,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/agent/pkdecrypt.c:762,1
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:768,1
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:775,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:776,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/agent/pkdecrypt.c:780,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/agent/pkdecrypt.c:783,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/gnupg/agent/pkdecrypt.c:786,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:789,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/pkdecrypt.c:793,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/pkdecrypt.c:796,1
    - Dst: ecc_kem_decap
      Src: /src/gnupg/agent/pkdecrypt.c:801,1
    - Dst: gnupg_ecc_kem_kdf
      Src: /src/gnupg/agent/pkdecrypt.c:806,1
    - Dst: log_info
      Src: /src/gnupg/agent/pkdecrypt.c:817,1
    - Dst: wipememory
      Src: /src/gnupg/agent/pkdecrypt.c:820,1
    - Dst: log_printhex
      Src: /src/gnupg/agent/pkdecrypt.c:823,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/agent/pkdecrypt.c:826,1
    - Dst: log_error
      Src: /src/gnupg/agent/pkdecrypt.c:830,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/pkdecrypt.c:831,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:837,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/agent/pkdecrypt.c:841,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:846,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/agent/pkdecrypt.c:848,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/pkdecrypt.c:852,1
    - Dst: log_error
      Src: /src/gnupg/agent/pkdecrypt.c:857,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/pkdecrypt.c:857,1
    - Dst: put_membuf_printf
      Src: /src/gnupg/agent/pkdecrypt.c:861,1
    - Dst: put_membuf
      Src: /src/gnupg/agent/pkdecrypt.c:863,1
    - Dst: put_membuf
      Src: /src/gnupg/agent/pkdecrypt.c:864,1
    - Dst: wipememory
      Src: /src/gnupg/agent/pkdecrypt.c:867,1
    - Dst: wipememory
      Src: /src/gnupg/agent/pkdecrypt.c:870,1
    - Dst: xfree
      Src: /src/gnupg/agent/pkdecrypt.c:871,1
    - Dst: mpi_release
      Src: /src/gnupg/agent/pkdecrypt.c:873,1
    - Dst: mpi_release
      Src: /src/gnupg/agent/pkdecrypt.c:874,1
    - Dst: gcry_free
      Src: /src/gnupg/agent/pkdecrypt.c:875,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/pkdecrypt.c:876,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/pkdecrypt.c:877,1
    - Dst: xfree
      Src: /src/gnupg/agent/pkdecrypt.c:878,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 96
    argCount: 5
    argNames:
    - is_pgp
    - ctrl
    - desc_text
    - s_cipher
    - outbuf
    argTypes:
    - int
    - ctrl_t
    - char*
    - gcry_sexp_t
    - membuf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 721
    functionDepth: 4
    functionLinenumber: 721
    functionLinenumberEnd: 880
    functionName: ecc_kem_decrypt
    functionSourceFile: /src/gnupg/agent/pkdecrypt.c
    functionUses: 0
    functionsReached:
    - put_membuf_printf
    - put_membuf
    - xtrymalloc
    - ecc_kem_decap
    - gcry_cipher_get_algo_keylen
    - gcry_cipher_open
    - log_printhex
    - log_error
    - gnupg_ecc_kem_kdf
    - wipememory
    - log_info
    - gcry_sexp_release
    - gcry_cipher_setkey
    - gpg_error_from_syserror
    - gcry_sexp_extract_param
    - gpg_error
    - gpg_strerror
    - xfree
    - gcry_mpi_get_opaque
    - gcry_free
    - gcry_cipher_decrypt
    - mpi_release
    - gpg_err_code
    - agent_key_from_file
    - gcry_cipher_close
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ecc_kem_decrypt (int is_pgp, ctrl_t ctrl, const char *desc_text,\n
      \                gcry_sexp_t s_cipher, membuf_t *outbuf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/agent/pkdecrypt.c:896,1
    - Dst: log_error
      Src: /src/gnupg/agent/pkdecrypt.c:899,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/pkdecrypt.c:899,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:900,1
    - Dst: ecc_kem_decrypt
      Src: /src/gnupg/agent/pkdecrypt.c:904,1
    - Dst: log_error
      Src: /src/gnupg/agent/pkdecrypt.c:909,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:910,1
    - Dst: log_error
      Src: /src/gnupg/agent/pkdecrypt.c:915,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:916,1
    - Dst: log_printhex
      Src: /src/gnupg/agent/pkdecrypt.c:921,1
    - Dst: log_printhex
      Src: /src/gnupg/agent/pkdecrypt.c:922,1
    - Dst: gcry_log_debugsxp
      Src: /src/gnupg/agent/pkdecrypt.c:923,1
    - Dst: composite_pgp_kem_decrypt
      Src: /src/gnupg/agent/pkdecrypt.c:926,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pkdecrypt.c:929,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/pkdecrypt.c:931,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 6
    argNames:
    - ctrl
    - desc_text
    - kemid
    - ciphertext
    - ciphertextlen
    - outbuf
    argTypes:
    - ctrl_t
    - char*
    - int
    - unsigned char*
    - size_t
    - membuf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 888
    functionDepth: 5
    functionLinenumber: 888
    functionLinenumberEnd: 933
    functionName: agent_kem_decrypt
    functionSourceFile: /src/gnupg/agent/pkdecrypt.c
    functionUses: 0
    functionsReached:
    - gcry_log_debugsxp
    - ecc_kem_decrypt
    - log_printhex
    - composite_pgp_kem_decrypt
    - log_error
    - gcry_sexp_sscan
    - gpg_error
    - gpg_strerror
    - gcry_sexp_release
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_kem_decrypt (ctrl_t ctrl, const char *desc_text,
      int kemid,\n                   const unsigned char *ciphertext, size_t ciphertextlen,\n
      \                  membuf_t *outbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: map_assuan_err
    functionSourceFile: /src/gnupg/agent/agent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: map_assuan_err(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 199
    functionName: struct
    functionSourceFile: /src/gnupg/agent/agent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EXTERN_UNLESS_MAIN_MODULE
    signature: EXTERN_UNLESS_MAIN_MODULE struct
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    functionName: L_
    functionSourceFile: /src/gnupg/agent/agent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 406
    functionName: L_
    functionSourceFile: /src/gnupg/agent/agent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/agent.h:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - ctrl
    - digest
    - digestlen
    - algo
    - shadow_info
    - r_sig
    - r_siglen
    argTypes:
    - ctrl_t
    - unsigned char*
    - size_t
    - int
    - unsigned char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 672
    functionName: divert_tpm2_pksign
    functionSourceFile: /src/gnupg/agent/agent.h
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: int
    signature: "int divert_tpm2_pksign (ctrl_t ctrl,\n                    const unsigned
      char *digest,\n                    size_t digestlen, int algo,\n                    const
      unsigned char *shadow_info,\n                    unsigned char **r_sig,\n                    size_t
      *r_siglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/agent.h:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - ctrl
    - cipher
    - shadow_info
    - r_buf
    - r_len
    - r_padding
    argTypes:
    - ctrl_t
    - unsigned char*
    - unsigned char*
    - char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 683
    functionName: divert_tpm2_pkdecrypt
    functionSourceFile: /src/gnupg/agent/agent.h
    functionUses: 1
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: int
    signature: "int divert_tpm2_pkdecrypt (ctrl_t ctrl,\n                       const
      unsigned char *cipher,\n                       const unsigned char *shadow_info,\n
      \                      char **r_buf, size_t *r_len,\n                       int
      *r_padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/agent.h:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - grip
    - s_skey
    argTypes:
    - ctrl_t
    - unsigned char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 690
    functionName: divert_tpm2_writekey
    functionSourceFile: /src/gnupg/agent/agent.h
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: int
    signature: "int divert_tpm2_writekey (ctrl_t ctrl, const unsigned char *grip,\n
      \                     gcry_sexp_t s_skey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/agent.h:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ctrl
    - shadow_info
    - ecc_ct
    - ecc_point_len
    - ecc_ecdh
    argTypes:
    - ctrl_t
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 700
    functionName: agent_tpm2d_ecc_kem
    functionSourceFile: /src/gnupg/agent/agent.h
    functionUses: 1
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: int
    signature: "int agent_tpm2d_ecc_kem (ctrl_t ctrl, const unsigned char *shadow_info,\n
      \                    const unsigned char *ecc_ct,\n                     size_t
      ecc_point_len, unsigned char *ecc_ecdh)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/agent/divert-scd.c:47,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/agent/divert-scd.c:48,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:49,1
    - Dst: gcry_md_algo_info
      Src: /src/gnupg/agent/divert-scd.c:50,1
    - Dst: log_error
      Src: /src/gnupg/agent/divert-scd.c:52,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:53,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/divert-scd.c:56,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/divert-scd.c:58,1
    - Dst: memcpy
      Src: /src/gnupg/agent/divert-scd.c:59,1
    - Dst: memcpy
      Src: /src/gnupg/agent/divert-scd.c:60,1
    - Dst: log_printhex
      Src: /src/gnupg/agent/divert-scd.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - digest
    - digestlen
    - algo
    - r_val
    - r_len
    argTypes:
    - unsigned char*
    - size_t
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 67
    functionName: encode_md_for_card
    functionSourceFile: /src/gnupg/agent/divert-scd.c
    functionUses: 0
    functionsReached:
    - log_printhex
    - log_error
    - gcry_md_algo_info
    - out_of_core
    - DIM
    - gpg_error
    - memcpy
    - gcry_md_test_algo
    - xtrymalloc
    linkageType: ''
    returnType: int
    signature: "int encode_md_for_card (const unsigned char *digest, size_t digestlen,
      int algo,\n                    unsigned char **r_val, size_t *r_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/agent/divert-scd.c:77,1
    - Dst: strcmp
      Src: /src/gnupg/agent/divert-scd.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: has_percent0A_suffix
    functionSourceFile: /src/gnupg/agent/divert-scd.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int has_percent0A_suffix (const char *string)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:128,1
    - Dst: strchr
      Src: /src/gnupg/agent/divert-scd.c:131,1
    - Dst: L_
      Src: /src/gnupg/agent/divert-scd.c:136,1
    - Dst: L_
      Src: /src/gnupg/agent/divert-scd.c:141,1
    - Dst: L_
      Src: /src/gnupg/agent/divert-scd.c:148,1
    - Dst: log_debug
      Src: /src/gnupg/agent/divert-scd.c:156,1
    - Dst: agent_popup_message_stop
      Src: /src/gnupg/agent/divert-scd.c:164,1
    - Dst: strcmp
      Src: /src/gnupg/agent/divert-scd.c:174,1
    - Dst: L_
      Src: /src/gnupg/agent/divert-scd.c:176,1
    - Dst: strconcat
      Src: /src/gnupg/agent/divert-scd.c:180,1
    - Dst: has_percent0A_suffix
      Src: /src/gnupg/agent/divert-scd.c:181,1
    - Dst: strconcat
      Src: /src/gnupg/agent/divert-scd.c:194,1
    - Dst: has_percent0A_suffix
      Src: /src/gnupg/agent/divert-scd.c:195,1
    - Dst: L_
      Src: /src/gnupg/agent/divert-scd.c:198,1
    - Dst: strconcat
      Src: /src/gnupg/agent/divert-scd.c:201,1
    - Dst: L_
      Src: /src/gnupg/agent/divert-scd.c:202,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/divert-scd.c:207,1
    - Dst: agent_popup_message_start
      Src: /src/gnupg/agent/divert-scd.c:210,1
    - Dst: xfree
      Src: /src/gnupg/agent/divert-scd.c:212,1
    - Dst: agent_popup_message_start
      Src: /src/gnupg/agent/divert-scd.c:216,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:219,1
    - Dst: gcry_calloc_secure
      Src: /src/gnupg/agent/divert-scd.c:227,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/divert-scd.c:229,1
    - Dst: strconcat
      Src: /src/gnupg/agent/divert-scd.c:241,1
    - Dst: has_percent0A_suffix
      Src: /src/gnupg/agent/divert-scd.c:242,1
    - Dst: agent_askpin
      Src: /src/gnupg/agent/divert-scd.c:247,1
    - Dst: xfree
      Src: /src/gnupg/agent/divert-scd.c:249,1
    - Dst: gcry_calloc_secure
      Src: /src/gnupg/agent/divert-scd.c:255,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/divert-scd.c:258,1
    - Dst: xfree
      Src: /src/gnupg/agent/divert-scd.c:259,1
    - Dst: agent_askpin
      Src: /src/gnupg/agent/divert-scd.c:266,1
    - Dst: L_
      Src: /src/gnupg/agent/divert-scd.c:268,1
    - Dst: L_
      Src: /src/gnupg/agent/divert-scd.c:270,1
    - Dst: L_
      Src: /src/gnupg/agent/divert-scd.c:271,1
    - Dst: strcmp
      Src: /src/gnupg/agent/divert-scd.c:273,1
    - Dst: L_
      Src: /src/gnupg/agent/divert-scd.c:276,1
    - Dst: L_
      Src: /src/gnupg/agent/divert-scd.c:278,1
    - Dst: L_
      Src: /src/gnupg/agent/divert-scd.c:279,1
    - Dst: xfree
      Src: /src/gnupg/agent/divert-scd.c:280,1
    - Dst: xfree
      Src: /src/gnupg/agent/divert-scd.c:281,1
    - Dst: xfree
      Src: /src/gnupg/agent/divert-scd.c:284,1
    - Dst: asprintf
      Src: /src/gnupg/agent/divert-scd.c:291,1
    - Dst: L_
      Src: /src/gnupg/agent/divert-scd.c:292,1
    - Dst: strconcat
      Src: /src/gnupg/agent/divert-scd.c:298,1
    - Dst: has_percent0A_suffix
      Src: /src/gnupg/agent/divert-scd.c:299,1
    - Dst: agent_askpin
      Src: /src/gnupg/agent/divert-scd.c:304,1
    - Dst: xfree
      Src: /src/gnupg/agent/divert-scd.c:306,1
    - Dst: xfree
      Src: /src/gnupg/agent/divert-scd.c:307,1
    - Dst: strncpy
      Src: /src/gnupg/agent/divert-scd.c:312,1
    - Dst: xfree
      Src: /src/gnupg/agent/divert-scd.c:315,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 108
    argCount: 5
    argNames:
    - opaque
    - desc_text
    - info
    - buf
    - maxbuf
    argTypes:
    - void*
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 317
    functionName: getpin_cb
    functionSourceFile: /src/gnupg/agent/divert-scd.c
    functionUses: 0
    functionsReached:
    - strncpy
    - has_percent0A_suffix
    - agent_popup_message_stop
    - gpg_error_from_syserror
    - agent_askpin
    - L_
    - gcry_calloc_secure
    - strconcat
    - strcmp
    - gpg_error
    - strchr
    - xfree
    - agent_popup_message_start
    - log_debug
    - asprintf
    linkageType: ''
    returnType: int
    signature: "int getpin_cb (void *opaque, const char *desc_text, const char *info,\n
      \          char *buf, size_t maxbuf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bin2hex
      Src: /src/gnupg/agent/divert-scd.c:339,1
    - Dst: agent_card_pksign
      Src: /src/gnupg/agent/divert-scd.c:345,1
    - Dst: agent_card_pksign
      Src: /src/gnupg/agent/divert-scd.c:352,1
    - Dst: encode_md_for_card
      Src: /src/gnupg/agent/divert-scd.c:361,1
    - Dst: agent_card_pksign
      Src: /src/gnupg/agent/divert-scd.c:364,1
    - Dst: xfree
      Src: /src/gnupg/agent/divert-scd.c:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 7
    argNames:
    - ctrl
    - grip
    - digest
    - digestlen
    - algo
    - r_sig
    - r_siglen
    argTypes:
    - ctrl_t
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 377
    functionName: divert_pksign
    functionSourceFile: /src/gnupg/agent/divert-scd.c
    functionUses: 0
    functionsReached:
    - bin2hex
    - agent_card_pksign
    - xfree
    - encode_md_for_card
    linkageType: ''
    returnType: int
    signature: "int divert_pksign (ctrl_t ctrl, const unsigned char *grip,\n               const
      unsigned char *digest, size_t digestlen, int algo,\n               unsigned
      char **r_sig,\n               size_t *r_siglen)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: bin2hex
      Src: /src/gnupg/agent/divert-scd.c:400,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:406,1
    - Dst: snext
      Src: /src/gnupg/agent/divert-scd.c:408,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:410,1
    - Dst: smatch
      Src: /src/gnupg/agent/divert-scd.c:411,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:412,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:414,1
    - Dst: snext
      Src: /src/gnupg/agent/divert-scd.c:416,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:418,1
    - Dst: smatch
      Src: /src/gnupg/agent/divert-scd.c:421,1
    - Dst: sskip
      Src: /src/gnupg/agent/divert-scd.c:424,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:425,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:427,1
    - Dst: snext
      Src: /src/gnupg/agent/divert-scd.c:429,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:431,1
    - Dst: smatch
      Src: /src/gnupg/agent/divert-scd.c:434,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:437,1
    - Dst: snext
      Src: /src/gnupg/agent/divert-scd.c:439,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:441,1
    - Dst: smatch
      Src: /src/gnupg/agent/divert-scd.c:442,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:443,1
    - Dst: snext
      Src: /src/gnupg/agent/divert-scd.c:444,1
    - Dst: smatch
      Src: /src/gnupg/agent/divert-scd.c:446,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:449,1
    - Dst: snext
      Src: /src/gnupg/agent/divert-scd.c:451,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:453,1
    - Dst: smatch
      Src: /src/gnupg/agent/divert-scd.c:454,1
    - Dst: snext
      Src: /src/gnupg/agent/divert-scd.c:456,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:459,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:461,1
    - Dst: snext
      Src: /src/gnupg/agent/divert-scd.c:462,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:464,1
    - Dst: smatch
      Src: /src/gnupg/agent/divert-scd.c:466,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:467,1
    - Dst: snext
      Src: /src/gnupg/agent/divert-scd.c:468,1
    - Dst: smatch
      Src: /src/gnupg/agent/divert-scd.c:474,1
    - Dst: log_info
      Src: /src/gnupg/agent/divert-scd.c:475,1
    - Dst: smatch
      Src: /src/gnupg/agent/divert-scd.c:476,1
    - Dst: log_info
      Src: /src/gnupg/agent/divert-scd.c:477,1
    - Dst: smatch
      Src: /src/gnupg/agent/divert-scd.c:478,1
    - Dst: log_info
      Src: /src/gnupg/agent/divert-scd.c:479,1
    - Dst: log_printhex
      Src: /src/gnupg/agent/divert-scd.c:481,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:483,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:487,1
    - Dst: agent_card_pkdecrypt
      Src: /src/gnupg/agent/divert-scd.c:491,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 84
    argCount: 6
    argNames:
    - ctrl
    - grip
    - cipher
    - r_buf
    - r_len
    - r_padding
    argTypes:
    - ctrl_t
    - unsigned char*
    - unsigned char*
    - char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 500
    functionName: divert_pkdecrypt
    functionSourceFile: /src/gnupg/agent/divert-scd.c
    functionUses: 1
    functionsReached:
    - smatch
    - log_printhex
    - agent_card_pkdecrypt
    - bin2hex
    - gpg_error
    - log_info
    - sskip
    - snext
    linkageType: ''
    returnType: int
    signature: "int divert_pkdecrypt (ctrl_t ctrl,\n                  const unsigned
      char *grip,\n                  const unsigned char *cipher,\n                  char
      **r_buf, size_t *r_len, int *r_padding)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bin2hex
      Src: /src/gnupg/agent/divert-scd.c:512,1
    - Dst: agent_card_pkdecrypt
      Src: /src/gnupg/agent/divert-scd.c:513,1
    - Dst: memcpy
      Src: /src/gnupg/agent/divert-scd.c:519,1
    - Dst: memcpy
      Src: /src/gnupg/agent/divert-scd.c:524,1
    - Dst: memset
      Src: /src/gnupg/agent/divert-scd.c:525,1
    - Dst: memcpy
      Src: /src/gnupg/agent/divert-scd.c:528,1
    - Dst: log_info
      Src: /src/gnupg/agent/divert-scd.c:532,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-scd.c:534,1
    - Dst: xfree
      Src: /src/gnupg/agent/divert-scd.c:537,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - ctrl
    - ecc_ct
    - ecc_point_len
    - ecc_ecdh
    argTypes:
    - ctrl_t
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 539
    functionName: agent_card_ecc_kem
    functionSourceFile: /src/gnupg/agent/divert-scd.c
    functionUses: 1
    functionsReached:
    - agent_card_pkdecrypt
    - bin2hex
    - gpg_error
    - log_info
    - memset
    - xfree
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_card_ecc_kem (ctrl_t ctrl, const unsigned char *ecc_ct,\n
      \                   size_t ecc_point_len, unsigned char *ecc_ecdh)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: agent_card_writekey
      Src: /src/gnupg/agent/divert-scd.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctrl
    - force
    - serialno
    - keyref
    - keydata
    - keydatalen
    argTypes:
    - ctrl_t
    - int
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 548
    functionName: divert_writekey
    functionSourceFile: /src/gnupg/agent/divert-scd.c
    functionUses: 0
    functionsReached:
    - agent_card_writekey
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t divert_writekey (ctrl_t ctrl, int force, const char *serialno,\n
      \                const char *keyref, const char *keydata, size_t keydatalen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: agent_card_scd
      Src: /src/gnupg/agent/divert-scd.c:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - cmdline
    - assuan_context
    argTypes:
    - ctrl_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 554
    functionName: divert_generic_cmd
    functionSourceFile: /src/gnupg/agent/divert-scd.c
    functionUses: 0
    functionsReached:
    - agent_card_scd
    linkageType: ''
    returnType: int
    signature: int divert_generic_cmd (ctrl_t ctrl, const char *cmdline, void *assuan_context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wipememory
      Src: /src/gnupg/agent/genkey.c:41,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:43,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: clear_ephemeral_keys
    functionSourceFile: /src/gnupg/agent/genkey.c
    functionUses: 0
    functionsReached:
    - wipememory
    - xfree
    linkageType: ''
    returnType: void
    signature: void clear_ephemeral_keys (ctrl_t ctrl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/agent/genkey.c:63,1
    - Dst: log_error
      Src: /src/gnupg/agent/genkey.c:65,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/genkey.c:66,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/genkey.c:69,1
    - Dst: log_assert
      Src: /src/gnupg/agent/genkey.c:70,1
    - Dst: gcry_malloc_secure
      Src: /src/gnupg/agent/genkey.c:71,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/genkey.c:74,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/genkey.c:77,1
    - Dst: log_assert
      Src: /src/gnupg/agent/genkey.c:78,1
    - Dst: agent_protect
      Src: /src/gnupg/agent/genkey.c:84,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:87,1
    - Dst: memcmp
      Src: /src/gnupg/agent/genkey.c:96,1
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/genkey.c:100,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/genkey.c:103,1
    - Dst: memcpy
      Src: /src/gnupg/agent/genkey.c:106,1
    - Dst: wipememory
      Src: /src/gnupg/agent/genkey.c:112,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:113,1
    - Dst: agent_write_private_key
      Src: /src/gnupg/agent/genkey.c:121,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/genkey.c:128,1
    - Dst: agent_write_status
      Src: /src/gnupg/agent/genkey.c:129,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:133,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 6
    argNames:
    - ctrl
    - private
    - passphrase
    - force
    - s2k_count
    - timestamp
    argTypes:
    - ctrl_t
    - gcry_sexp_t
    - char*
    - int
    - unsigned long
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 135
    functionName: store_key
    functionSourceFile: /src/gnupg/agent/genkey.c
    functionUses: 0
    functionsReached:
    - agent_write_private_key
    - gcry_pk_get_keygrip
    - log_assert
    - log_error
    - gpg_error_from_syserror
    - bin2hex
    - agent_protect
    - xtrycalloc
    - gcry_malloc_secure
    - wipememory
    - gpg_error
    - memcmp
    - xfree
    - gcry_sexp_sprint
    - memcpy
    - agent_write_status
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t store_key (ctrl_t ctrl, gcry_sexp_t private,\n           const
      char *passphrase, int force,\n           unsigned long s2k_count, time_t timestamp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/gnupg/agent/genkey.c:146,1
    - Dst: isdigit
      Src: /src/gnupg/agent/genkey.c:146,1
    - Dst: ispunct
      Src: /src/gnupg/agent/genkey.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: nonalpha_count
    functionSourceFile: /src/gnupg/agent/genkey.c
    functionUses: 0
    functionsReached:
    - isdigit
    - ispunct
    - isascii
    linkageType: ''
    returnType: size_t
    signature: size_t nonalpha_count (const char *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_module_name
      Src: /src/gnupg/agent/genkey.c:161,1
    - Dst: strchr
      Src: /src/gnupg/agent/genkey.c:178,1
    - Dst: strchr
      Src: /src/gnupg/agent/genkey.c:178,1
    - Dst: make_absfilename_try
      Src: /src/gnupg/agent/genkey.c:180,1
    - Dst: make_filename_try
      Src: /src/gnupg/agent/genkey.c:182,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/agent/genkey.c:182,1
    - Dst: log_error
      Src: /src/gnupg/agent/genkey.c:185,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/genkey.c:186,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/genkey.c:186,1
    - Dst: gnupg_access
      Src: /src/gnupg/agent/genkey.c:192,1
    - Dst: log_error
      Src: /src/gnupg/agent/genkey.c:194,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/genkey.c:195,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/genkey.c:195,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:196,1
    - Dst: log_assert
      Src: /src/gnupg/agent/genkey.c:205,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/agent/genkey.c:207,1
    - Dst: gpgrt_process_get_streams
      Src: /src/gnupg/agent/genkey.c:215,1
    - Dst: es_set_binary
      Src: /src/gnupg/agent/genkey.c:218,1
    - Dst: es_fwrite
      Src: /src/gnupg/agent/genkey.c:219,1
    - Dst: strlen
      Src: /src/gnupg/agent/genkey.c:219,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/genkey.c:221,1
    - Dst: log_error
      Src: /src/gnupg/agent/genkey.c:222,1
    - Dst: _
      Src: /src/gnupg/agent/genkey.c:222,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/genkey.c:222,1
    - Dst: es_fflush
      Src: /src/gnupg/agent/genkey.c:226,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/genkey.c:227,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/agent/genkey.c:228,1
    - Dst: gpgrt_process_ctl
      Src: /src/gnupg/agent/genkey.c:229,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/agent/genkey.c:234,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:237,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - ctrl
    - pw
    - flags
    argTypes:
    - ctrl_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 157
    functionDepth: 6
    functionLinenumber: 157
    functionLinenumberEnd: 239
    functionName: do_check_passphrase_pattern
    functionSourceFile: /src/gnupg/agent/genkey.c
    functionUses: 0
    functionsReached:
    - log_assert
    - strlen
    - es_fflush
    - log_error
    - make_absfilename_try
    - gnupg_access
    - _
    - gpgrt_process_wait
    - gpgrt_process_get_streams
    - es_set_binary
    - gpg_error_from_syserror
    - gpgrt_process_spawn
    - gnupg_module_name
    - strchr
    - gpg_strerror
    - xfree
    - gnupg_sysconfdir
    - gpgrt_process_release
    - es_fclose
    - es_fwrite
    - gpgrt_process_ctl
    - make_filename_try
    linkageType: ''
    returnType: int
    signature: int do_check_passphrase_pattern (ctrl_t ctrl, const char *pw, unsigned
      int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: agent_get_confirmation
      Src: /src/gnupg/agent/genkey.c:245,1
    - Dst: L_
      Src: /src/gnupg/agent/genkey.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - desc
    - anyway_btn
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: take_this_one_anyway
    functionSourceFile: /src/gnupg/agent/genkey.c
    functionUses: 0
    functionsReached:
    - agent_get_confirmation
    - L_
    linkageType: ''
    returnType: int
    signature: int take_this_one_anyway (ctrl_t ctrl, const char *desc, const char
      *anyway_btn)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnupg/agent/genkey.c:282,1
    - Dst: L_
      Src: /src/gnupg/agent/genkey.c:284,1
    - Dst: xstrdup
      Src: /src/gnupg/agent/genkey.c:293,1
    - Dst: take_this_one_anyway
      Src: /src/gnupg/agent/genkey.c:295,1
    - Dst: L_
      Src: /src/gnupg/agent/genkey.c:296,1
    - Dst: utf8_charcount
      Src: /src/gnupg/agent/genkey.c:304,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/genkey.c:308,1
    - Dst: xtryasprintf
      Src: /src/gnupg/agent/genkey.c:312,1
    - Dst: ngettext
      Src: /src/gnupg/agent/genkey.c:313,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/genkey.c:318,1
    - Dst: nonalpha_count
      Src: /src/gnupg/agent/genkey.c:323,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/genkey.c:327,1
    - Dst: xtryasprintf
      Src: /src/gnupg/agent/genkey.c:331,1
    - Dst: ngettext
      Src: /src/gnupg/agent/genkey.c:332,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/genkey.c:339,1
    - Dst: do_check_passphrase_pattern
      Src: /src/gnupg/agent/genkey.c:350,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/genkey.c:354,1
    - Dst: xtryasprintf
      Src: /src/gnupg/agent/genkey.c:358,1
    - Dst: L_
      Src: /src/gnupg/agent/genkey.c:359,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/genkey.c:363,1
    - Dst: strconcat
      Src: /src/gnupg/agent/genkey.c:373,1
    - Dst: L_
      Src: /src/gnupg/agent/genkey.c:374,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/genkey.c:382,1
    - Dst: strlen
      Src: /src/gnupg/agent/genkey.c:386,1
    - Dst: strcmp
      Src: /src/gnupg/agent/genkey.c:387,1
    - Dst: take_this_one_anyway
      Src: /src/gnupg/agent/genkey.c:395,1
    - Dst: L_
      Src: /src/gnupg/agent/genkey.c:395,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:396,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:401,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:402,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:403,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 77
    argCount: 4
    argNames:
    - ctrl
    - pw
    - flags
    - failed_constraint
    argTypes:
    - ctrl_t
    - char*
    - unsigned int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 260
    functionDepth: 7
    functionLinenumber: 260
    functionLinenumberEnd: 405
    functionName: check_passphrase_constraints
    functionSourceFile: /src/gnupg/agent/genkey.c
    functionUses: 0
    functionsReached:
    - utf8_charcount
    - do_check_passphrase_pattern
    - gpg_error_from_syserror
    - strlen
    - L_
    - ngettext
    - nonalpha_count
    - strconcat
    - strcmp
    - gpg_error
    - xtryasprintf
    - xfree
    - take_this_one_anyway
    - xstrdup
    linkageType: ''
    returnType: int
    signature: "int check_passphrase_constraints (ctrl_t ctrl, const char *pw, unsigned
      int flags,\n\t\t\t      char **failed_constraint)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/agent/genkey.c:415,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/genkey.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pi
    argTypes:
    - struct pin_entry_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 418
    functionName: reenter_compare_cb
    functionSourceFile: /src/gnupg/agent/genkey.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t reenter_compare_cb (struct pin_entry_info_s *pi)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnupg/agent/genkey.c:432,1
    - Dst: pinentry_loopback
      Src: /src/gnupg/agent/genkey.c:443,1
    - Dst: gcry_calloc_secure
      Src: /src/gnupg/agent/genkey.c:458,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/genkey.c:460,1
    - Dst: gcry_calloc_secure
      Src: /src/gnupg/agent/genkey.c:461,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/genkey.c:464,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:465,1
    - Dst: agent_askpin
      Src: /src/gnupg/agent/genkey.c:478,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:479,1
    - Dst: check_passphrase_constraints
      Src: /src/gnupg/agent/genkey.c:483,1
    - Dst: agent_askpin
      Src: /src/gnupg/agent/genkey.c:493,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/genkey.c:494,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/genkey.c:497,1
    - Dst: L_
      Src: /src/gnupg/agent/genkey.c:497,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/genkey.c:500,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/genkey.c:508,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/genkey.c:510,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:513,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:514,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:515,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 3
    argNames:
    - ctrl
    - prompt
    - r_passphrase
    argTypes:
    - ctrl_t
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 426
    functionDepth: 8
    functionLinenumber: 426
    functionLinenumberEnd: 517
    functionName: agent_ask_new_passphrase
    functionSourceFile: /src/gnupg/agent/genkey.c
    functionUses: 0
    functionsReached:
    - pinentry_loopback
    - gpg_error_from_syserror
    - agent_askpin
    - check_passphrase_constraints
    - L_
    - gcry_calloc_secure
    - xtrystrdup
    - xfree
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_ask_new_passphrase (ctrl_t ctrl, const char *prompt,\n
      \                         char **r_passphrase)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/agent/genkey.c:543,1
    - Dst: log_error
      Src: /src/gnupg/agent/genkey.c:546,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/genkey.c:546,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/genkey.c:547,1
    - Dst: agent_get_cache
      Src: /src/gnupg/agent/genkey.c:557,1
    - Dst: agent_ask_new_passphrase
      Src: /src/gnupg/agent/genkey.c:565,1
    - Dst: L_
      Src: /src/gnupg/agent/genkey.c:566,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/genkey.c:571,1
    - Dst: gcry_pk_genkey
      Src: /src/gnupg/agent/genkey.c:577,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/genkey.c:578,1
    - Dst: log_error
      Src: /src/gnupg/agent/genkey.c:581,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/genkey.c:581,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:582,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/genkey.c:587,1
    - Dst: log_error
      Src: /src/gnupg/agent/genkey.c:590,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/genkey.c:591,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:592,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/genkey.c:593,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/genkey.c:595,1
    - Dst: log_error
      Src: /src/gnupg/agent/genkey.c:598,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/genkey.c:599,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/genkey.c:600,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:601,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/genkey.c:602,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/genkey.c:604,1
    - Dst: log_info
      Src: /src/gnupg/agent/genkey.c:608,1
    - Dst: store_key
      Src: /src/gnupg/agent/genkey.c:610,1
    - Dst: gcry_create_nonce
      Src: /src/gnupg/agent/genkey.c:618,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/genkey.c:619,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/genkey.c:623,1
    - Dst: agent_write_status
      Src: /src/gnupg/agent/genkey.c:625,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/agent/genkey.c:631,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/genkey.c:633,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/genkey.c:634,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:640,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/genkey.c:643,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/genkey.c:646,1
    - Dst: log_debug
      Src: /src/gnupg/agent/genkey.c:652,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/genkey.c:653,1
    - Dst: log_assert
      Src: /src/gnupg/agent/genkey.c:654,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/genkey.c:655,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/genkey.c:658,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/genkey.c:659,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/genkey.c:660,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/genkey.c:663,1
    - Dst: log_assert
      Src: /src/gnupg/agent/genkey.c:664,1
    - Dst: put_membuf
      Src: /src/gnupg/agent/genkey.c:665,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/genkey.c:666,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:667,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 87
    argCount: 8
    argNames:
    - ctrl
    - flags
    - cache_nonce
    - timestamp
    - keyparam
    - keyparamlen
    - override_passphrase
    - outbuf
    argTypes:
    - ctrl_t
    - unsigned int
    - char*
    - time_t
    - char*
    - size_t
    - char*
    - membuf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 530
    functionDepth: 9
    functionLinenumber: 530
    functionLinenumberEnd: 670
    functionName: agent_genkey
    functionSourceFile: /src/gnupg/agent/genkey.c
    functionUses: 2
    functionsReached:
    - log_assert
    - put_membuf
    - L_
    - gcry_sexp_find_token
    - gcry_sexp_sscan
    - gcry_sexp_sprint
    - xtrymalloc
    - agent_write_status
    - log_error
    - log_info
    - gcry_sexp_release
    - out_of_core
    - log_debug
    - agent_put_cache
    - gcry_pk_get_keygrip
    - gcry_pk_genkey
    - gpg_error
    - gpg_strerror
    - xfree
    - agent_ask_new_passphrase
    - store_key
    - bin2hex
    - agent_get_cache
    - gcry_create_nonce
    linkageType: ''
    returnType: int
    signature: "int agent_genkey (ctrl_t ctrl, unsigned int flags,\n              const
      char *cache_nonce, time_t timestamp,\n              const char *keyparam, size_t
      keyparamlen,\n              const char *override_passphrase, membuf_t *outbuf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: store_key
      Src: /src/gnupg/agent/genkey.c:687,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:697,1
    - Dst: agent_ask_new_passphrase
      Src: /src/gnupg/agent/genkey.c:700,1
    - Dst: L_
      Src: /src/gnupg/agent/genkey.c:701,1
    - Dst: store_key
      Src: /src/gnupg/agent/genkey.c:704,1
    - Dst: xfree
      Src: /src/gnupg/agent/genkey.c:708,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - ctrl
    - s_skey
    - passphrase_addr
    argTypes:
    - ctrl_t
    - gcry_sexp_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 678
    functionDepth: 9
    functionLinenumber: 678
    functionLinenumberEnd: 712
    functionName: agent_protect_and_store
    functionSourceFile: /src/gnupg/agent/genkey.c
    functionUses: 0
    functionsReached:
    - agent_ask_new_passphrase
    - store_key
    - L_
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_protect_and_store (ctrl_t ctrl, gcry_sexp_t s_skey,\n
      \                        char **passphrase_addr)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/sexp-secret.c:38,1
    - Dst: snext
      Src: /src/gnupg/agent/sexp-secret.c:40,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/sexp-secret.c:42,1
    - Dst: smatch
      Src: /src/gnupg/agent/sexp-secret.c:43,1
    - Dst: smatch
      Src: /src/gnupg/agent/sexp-secret.c:45,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/sexp-secret.c:46,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/sexp-secret.c:48,1
    - Dst: snext
      Src: /src/gnupg/agent/sexp-secret.c:50,1
    - Dst: smatch
      Src: /src/gnupg/agent/sexp-secret.c:51,1
    - Dst: snext
      Src: /src/gnupg/agent/sexp-secret.c:58,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/sexp-secret.c:60,1
    - Dst: memcmp
      Src: /src/gnupg/agent/sexp-secret.c:61,1
    - Dst: snext
      Src: /src/gnupg/agent/sexp-secret.c:64,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/sexp-secret.c:66,1
    - Dst: memcpy
      Src: /src/gnupg/agent/sexp-secret.c:68,1
    - Dst: snext
      Src: /src/gnupg/agent/sexp-secret.c:79,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/sexp-secret.c:83,1
    - Dst: strcmp
      Src: /src/gnupg/agent/sexp-secret.c:85,1
    - Dst: strcmp
      Src: /src/gnupg/agent/sexp-secret.c:86,1
    - Dst: strcmp
      Src: /src/gnupg/agent/sexp-secret.c:87,1
    - Dst: snprintf
      Src: /src/gnupg/agent/sexp-secret.c:93,1
    - Dst: memmove
      Src: /src/gnupg/agent/sexp-secret.c:94,1
    - Dst: memset
      Src: /src/gnupg/agent/sexp-secret.c:95,1
    - Dst: snext
      Src: /src/gnupg/agent/sexp-secret.c:106,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/sexp-secret.c:108,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/sexp-secret.c:112,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/sexp-secret.c:116,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 2
    argNames:
    - buf
    - buflen_p
    argTypes:
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 120
    functionName: fixup_when_ecc_private_key
    functionSourceFile: /src/gnupg/agent/sexp-secret.c
    functionUses: 0
    functionsReached:
    - memmove
    - smatch
    - snprintf
    - strcmp
    - gpg_error
    - memcmp
    - memset
    - memcpy
    - snext
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t fixup_when_ecc_private_key (unsigned char *buf, size_t
      *buflen_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/sexp-secret.c:135,1
    - Dst: fixup_when_ecc_private_key
      Src: /src/gnupg/agent/sexp-secret.c:136,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/agent/sexp-secret.c:138,1
    - Dst: wipememory
      Src: /src/gnupg/agent/sexp-secret.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - result
    - r_erroff
    - buf
    argTypes:
    - gcry_sexp_t*
    - size_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: sexp_sscan_private_key
    functionSourceFile: /src/gnupg/agent/sexp-secret.c
    functionUses: 0
    functionsReached:
    - wipememory
    - fixup_when_ecc_private_key
    - gcry_sexp_canon_len
    - gcry_sexp_sscan
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t sexp_sscan_private_key (gcry_sexp_t *result, size_t *r_erroff,\n
      \                       unsigned char *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/agent/learncard.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - KEYPAIR_INFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: release_keypair_info
    functionSourceFile: /src/gnupg/agent/learncard.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_keypair_info (KEYPAIR_INFO info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/agent/learncard.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - CERTINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: release_certinfo
    functionSourceFile: /src/gnupg/agent/learncard.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_certinfo (CERTINFO info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/agent/learncard.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - SINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: release_sinfo
    functionSourceFile: /src/gnupg/agent/learncard.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_sinfo (SINFO info)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: agent_write_status
      Src: /src/gnupg/agent/learncard.c:137,1
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/learncard.c:141,1
    - Dst: strlen
      Src: /src/gnupg/agent/learncard.c:141,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/learncard.c:144,1
    - Dst: strcpy
      Src: /src/gnupg/agent/learncard.c:147,1
    - Dst: hexdigitp
      Src: /src/gnupg/agent/learncard.c:148,1
    - Dst: spacep
      Src: /src/gnupg/agent/learncard.c:150,1
    - Dst: spacep
      Src: /src/gnupg/agent/learncard.c:155,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/learncard.c:157,1
    - Dst: xfree
      Src: /src/gnupg/agent/learncard.c:158,1
    - Dst: spacep
      Src: /src/gnupg/agent/learncard.c:162,1
    - Dst: spacep
      Src: /src/gnupg/agent/learncard.c:165,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/learncard.c:169,1
    - Dst: xfree
      Src: /src/gnupg/agent/learncard.c:170,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 178
    functionName: kpinfo_cb
    functionSourceFile: /src/gnupg/agent/learncard.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - strlen
    - spacep
    - gpg_error
    - strcpy
    - xfree
    - xtrycalloc
    - out_of_core
    - agent_write_status
    linkageType: ''
    returnType: void
    signature: void kpinfo_cb (void *opaque, const char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: agent_write_status
      Src: /src/gnupg/agent/learncard.c:194,1
    - Dst: strtol
      Src: /src/gnupg/agent/learncard.c:198,1
    - Dst: spacep
      Src: /src/gnupg/agent/learncard.c:199,1
    - Dst: spacep
      Src: /src/gnupg/agent/learncard.c:201,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/learncard.c:205,1
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/learncard.c:210,1
    - Dst: strlen
      Src: /src/gnupg/agent/learncard.c:210,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/learncard.c:213,1
    - Dst: strcpy
      Src: /src/gnupg/agent/learncard.c:217,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 221
    functionName: certinfo_cb
    functionSourceFile: /src/gnupg/agent/learncard.c
    functionUses: 0
    functionsReached:
    - strtol
    - strlen
    - spacep
    - gpg_error
    - strcpy
    - xtrycalloc
    - out_of_core
    - agent_write_status
    linkageType: ''
    returnType: void
    signature: void certinfo_cb (void *opaque, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/learncard.c:236,1
    - Dst: strlen
      Src: /src/gnupg/agent/learncard.c:236,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/learncard.c:239,1
    - Dst: memcpy
      Src: /src/gnupg/agent/learncard.c:242,1
    - Dst: strcpy
      Src: /src/gnupg/agent/learncard.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - opaque
    - keyword
    - keywordlen
    - data
    argTypes:
    - void*
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 250
    functionName: sinfo_cb
    functionSourceFile: /src/gnupg/agent/learncard.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    - memcpy
    - xtrycalloc
    - out_of_core
    linkageType: ''
    returnType: void
    signature: "void sinfo_cb (void *opaque, const char *keyword, size_t keywordlen,\n
      \         const char *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: agent_card_readcert
      Src: /src/gnupg/agent/learncard.c:261,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/learncard.c:266,1
    - Dst: log_info
      Src: /src/gnupg/agent/learncard.c:277,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/learncard.c:278,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/learncard.c:283,1
    - Dst: xfree
      Src: /src/gnupg/agent/learncard.c:284,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/learncard.c:286,1
    - Dst: assuan_write_line
      Src: /src/gnupg/agent/learncard.c:288,1
    - Dst: log_error
      Src: /src/gnupg/agent/learncard.c:291,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/learncard.c:292,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - ctrl
    - id
    - assuan_context
    argTypes:
    - ctrl_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 296
    functionName: send_cert_back
    functionSourceFile: /src/gnupg/agent/learncard.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - log_error
    - assuan_write_line
    - agent_card_readcert
    - log_info
    - gpg_err_code
    - gpg_strerror
    - xfree
    linkageType: ''
    returnType: int
    signature: int send_cert_back (ctrl_t ctrl, const char *id, void *assuan_context)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/agent/learncard.c:328,1
    - Dst: memset
      Src: /src/gnupg/agent/learncard.c:329,1
    - Dst: memset
      Src: /src/gnupg/agent/learncard.c:330,1
    - Dst: agent_card_learn
      Src: /src/gnupg/agent/learncard.c:335,1
    - Dst: log_debug
      Src: /src/gnupg/agent/learncard.c:341,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/learncard.c:341,1
    - Dst: strcmp
      Src: /src/gnupg/agent/learncard.c:348,1
    - Dst: assuan_write_status
      Src: /src/gnupg/agent/learncard.c:351,1
    - Dst: log_info
      Src: /src/gnupg/agent/learncard.c:360,1
    - Dst: log_info
      Src: /src/gnupg/agent/learncard.c:372,1
    - Dst: send_cert_back
      Src: /src/gnupg/agent/learncard.c:377,1
    - Dst: log_info
      Src: /src/gnupg/agent/learncard.c:390,1
    - Dst: agent_write_status
      Src: /src/gnupg/agent/learncard.c:397,1
    - Dst: xtoi_2
      Src: /src/gnupg/agent/learncard.c:402,1
    - Dst: agent_key_available
      Src: /src/gnupg/agent/learncard.c:404,1
    - Dst: agent_card_readkey
      Src: /src/gnupg/agent/learncard.c:408,1
    - Dst: log_debug
      Src: /src/gnupg/agent/learncard.c:411,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/learncard.c:411,1
    - Dst: agent_card_getattr
      Src: /src/gnupg/agent/learncard.c:419,1
    - Dst: agent_write_shadow_key
      Src: /src/gnupg/agent/learncard.c:421,1
    - Dst: xfree
      Src: /src/gnupg/agent/learncard.c:424,1
    - Dst: xfree
      Src: /src/gnupg/agent/learncard.c:426,1
    - Dst: log_info
      Src: /src/gnupg/agent/learncard.c:431,1
    - Dst: strcmp
      Src: /src/gnupg/agent/learncard.c:440,1
    - Dst: send_cert_back
      Src: /src/gnupg/agent/learncard.c:445,1
    - Dst: release_keypair_info
      Src: /src/gnupg/agent/learncard.c:454,1
    - Dst: release_certinfo
      Src: /src/gnupg/agent/learncard.c:455,1
    - Dst: release_sinfo
      Src: /src/gnupg/agent/learncard.c:456,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 89
    argCount: 5
    argNames:
    - ctrl
    - send
    - assuan_context
    - force
    - demand_sn
    argTypes:
    - ctrl_t
    - int
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 458
    functionName: agent_handle_learn
    functionSourceFile: /src/gnupg/agent/learncard.c
    functionUses: 0
    functionsReached:
    - send_cert_back
    - release_keypair_info
    - agent_key_available
    - assuan_write_status
    - agent_card_getattr
    - strcmp
    - release_sinfo
    - gpg_strerror
    - memset
    - log_info
    - xtoi_2
    - agent_card_readkey
    - xfree
    - release_certinfo
    - agent_write_shadow_key
    - agent_card_learn
    - agent_write_status
    - log_debug
    linkageType: ''
    returnType: int
    signature: "int agent_handle_learn (ctrl_t ctrl, int send, void *assuan_context,
      int force,\n                    const char *demand_sn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: agent_tpm2d_pksign
      Src: /src/gnupg/agent/divert-tpm2.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - ctrl
    - digest
    - digestlen
    - algo
    - shadow_info
    - r_sig
    - r_siglen
    argTypes:
    - ctrl_t
    - unsigned char*
    - size_t
    - int
    - unsigned char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: divert_tpm2_pksign
    functionSourceFile: /src/gnupg/agent/divert-tpm2.c
    functionUses: 0
    functionsReached:
    - agent_tpm2d_pksign
    linkageType: ''
    returnType: int
    signature: "int divert_tpm2_pksign (ctrl_t ctrl,\n                    const unsigned
      char *digest, size_t digestlen, int algo,\n                    const unsigned
      char *shadow_info, unsigned char **r_sig,\n                    size_t *r_siglen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: agent_public_key_from_file
      Src: /src/gnupg/agent/divert-tpm2.c:38,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/divert-tpm2.c:39,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/divert-tpm2.c:40,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/divert-tpm2.c:41,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/divert-tpm2.c:42,1
    - Dst: agent_shadow_key_type
      Src: /src/gnupg/agent/divert-tpm2.c:44,1
    - Dst: xfree
      Src: /src/gnupg/agent/divert-tpm2.c:45,1
    - Dst: log_error
      Src: /src/gnupg/agent/divert-tpm2.c:48,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/divert-tpm2.c:48,1
    - Dst: agent_delete_key
      Src: /src/gnupg/agent/divert-tpm2.c:52,1
    - Dst: log_error
      Src: /src/gnupg/agent/divert-tpm2.c:55,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/divert-tpm2.c:55,1
    - Dst: xfree
      Src: /src/gnupg/agent/divert-tpm2.c:56,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/divert-tpm2.c:60,1
    - Dst: agent_write_private_key
      Src: /src/gnupg/agent/divert-tpm2.c:61,1
    - Dst: xfree
      Src: /src/gnupg/agent/divert-tpm2.c:63,1
    - Dst: log_error
      Src: /src/gnupg/agent/divert-tpm2.c:66,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/divert-tpm2.c:66,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/divert-tpm2.c:68,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/divert-tpm2.c:69,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/divert-tpm2.c:73,1
    - Dst: agent_write_private_key
      Src: /src/gnupg/agent/divert-tpm2.c:74,1
    - Dst: xfree
      Src: /src/gnupg/agent/divert-tpm2.c:76,1
    - Dst: log_error
      Src: /src/gnupg/agent/divert-tpm2.c:78,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/divert-tpm2.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 4
    argNames:
    - ctrl
    - grip
    - shadow_info
    - s_key
    argTypes:
    - ctrl_t
    - unsigned char*
    - unsigned char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 83
    functionName: agent_write_tpm2_shadow_key
    functionSourceFile: /src/gnupg/agent/divert-tpm2.c
    functionUses: 0
    functionsReached:
    - agent_write_private_key
    - agent_shadow_key_type
    - agent_public_key_from_file
    - log_error
    - xfree
    - gpg_strerror
    - gcry_sexp_release
    - gcry_sexp_sprint
    - agent_delete_key
    - gcry_sexp_canon_len
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_write_tpm2_shadow_key (ctrl_t ctrl, const unsigned
      char *grip,\n\t\t\t     unsigned char *shadow_info,\n\t\t\t     gcry_sexp_t
      s_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: agent_tpm2d_writekey
      Src: /src/gnupg/agent/divert-tpm2.c:93,1
    - Dst: agent_write_tpm2_shadow_key
      Src: /src/gnupg/agent/divert-tpm2.c:95,1
    - Dst: xfree
      Src: /src/gnupg/agent/divert-tpm2.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctrl
    - grip
    - s_skey
    argTypes:
    - ctrl_t
    - unsigned char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: divert_tpm2_writekey
    functionSourceFile: /src/gnupg/agent/divert-tpm2.c
    functionUses: 0
    functionsReached:
    - agent_write_tpm2_shadow_key
    - agent_tpm2d_writekey
    - xfree
    linkageType: ''
    returnType: int
    signature: "int divert_tpm2_writekey (ctrl_t ctrl, const unsigned char *grip,\n
      \                     gcry_sexp_t s_skey)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-tpm2.c:115,1
    - Dst: snext
      Src: /src/gnupg/agent/divert-tpm2.c:117,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-tpm2.c:119,1
    - Dst: smatch
      Src: /src/gnupg/agent/divert-tpm2.c:120,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-tpm2.c:121,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-tpm2.c:123,1
    - Dst: snext
      Src: /src/gnupg/agent/divert-tpm2.c:125,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-tpm2.c:127,1
    - Dst: smatch
      Src: /src/gnupg/agent/divert-tpm2.c:128,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-tpm2.c:133,1
    - Dst: snext
      Src: /src/gnupg/agent/divert-tpm2.c:135,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-tpm2.c:137,1
    - Dst: smatch
      Src: /src/gnupg/agent/divert-tpm2.c:138,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-tpm2.c:139,1
    - Dst: snext
      Src: /src/gnupg/agent/divert-tpm2.c:140,1
    - Dst: smatch
      Src: /src/gnupg/agent/divert-tpm2.c:151,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-tpm2.c:154,1
    - Dst: snext
      Src: /src/gnupg/agent/divert-tpm2.c:156,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-tpm2.c:158,1
    - Dst: smatch
      Src: /src/gnupg/agent/divert-tpm2.c:159,1
    - Dst: snext
      Src: /src/gnupg/agent/divert-tpm2.c:161,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-tpm2.c:164,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-tpm2.c:166,1
    - Dst: snext
      Src: /src/gnupg/agent/divert-tpm2.c:167,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-tpm2.c:169,1
    - Dst: smatch
      Src: /src/gnupg/agent/divert-tpm2.c:171,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-tpm2.c:172,1
    - Dst: snext
      Src: /src/gnupg/agent/divert-tpm2.c:173,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-tpm2.c:176,1
    - Dst: agent_tpm2d_pkdecrypt
      Src: /src/gnupg/agent/divert-tpm2.c:178,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 6
    argNames:
    - ctrl
    - cipher
    - shadow_info
    - r_buf
    - r_len
    - r_padding
    argTypes:
    - ctrl_t
    - unsigned char*
    - unsigned char*
    - char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 179
    functionName: divert_tpm2_pkdecrypt
    functionSourceFile: /src/gnupg/agent/divert-tpm2.c
    functionUses: 1
    functionsReached:
    - agent_tpm2d_pkdecrypt
    - gpg_error
    - smatch
    - snext
    linkageType: ''
    returnType: int
    signature: "int divert_tpm2_pkdecrypt (ctrl_t ctrl,\n                       const
      unsigned char *cipher,\n                       const unsigned char *shadow_info,\n
      \                      char **r_buf, size_t *r_len, int *r_padding)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: agent_tpm2d_pkdecrypt
      Src: /src/gnupg/agent/divert-tpm2.c:191,1
    - Dst: memcpy
      Src: /src/gnupg/agent/divert-tpm2.c:197,1
    - Dst: memcpy
      Src: /src/gnupg/agent/divert-tpm2.c:199,1
    - Dst: log_info
      Src: /src/gnupg/agent/divert-tpm2.c:203,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/divert-tpm2.c:205,1
    - Dst: xfree
      Src: /src/gnupg/agent/divert-tpm2.c:208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - ctrl
    - shadow_info
    - ecc_ct
    - ecc_point_len
    - ecc_ecdh
    argTypes:
    - ctrl_t
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 210
    functionName: agent_tpm2d_ecc_kem
    functionSourceFile: /src/gnupg/agent/divert-tpm2.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - log_info
    - xfree
    - memcpy
    - agent_tpm2d_pkdecrypt
    linkageType: ''
    returnType: int
    signature: "int agent_tpm2d_ecc_kem (ctrl_t ctrl,\n                     const
      unsigned char *shadow_info,\n                     const unsigned char *ecc_ct,\n
      \                    size_t ecc_point_len, unsigned char *ecc_ecdh)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/agent/protect-tool.c:153,1
    - Dst: _
      Src: /src/gnupg/agent/protect-tool.c:156,1
    - Dst: _
      Src: /src/gnupg/agent/protect-tool.c:158,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 165
    functionName: my_strusage
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 0
    functionsReached:
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage (int level)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/agent/protect-tool.c:195,1
    - Dst: log_error
      Src: /src/gnupg/agent/protect-tool.c:198,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/protect-tool.c:199,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/protect-tool.c:202,1
    - Dst: log_assert
      Src: /src/gnupg/agent/protect-tool.c:203,1
    - Dst: xmalloc
      Src: /src/gnupg/agent/protect-tool.c:204,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/protect-tool.c:205,1
    - Dst: log_assert
      Src: /src/gnupg/agent/protect-tool.c:206,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/protect-tool.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - fname
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: make_canonical
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 0
    functionsReached:
    - log_assert
    - log_error
    - gcry_sexp_sscan
    - xmalloc
    - gpg_strerror
    - gcry_sexp_release
    - gcry_sexp_sprint
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      make_canonical (const char *fname, const char *buf, size_t buflen)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/agent/protect-tool.c:219,1
    - Dst: log_error
      Src: /src/gnupg/agent/protect-tool.c:222,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/protect-tool.c:223,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/protect-tool.c:226,1
    - Dst: log_assert
      Src: /src/gnupg/agent/protect-tool.c:227,1
    - Dst: xmalloc
      Src: /src/gnupg/agent/protect-tool.c:228,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/protect-tool.c:229,1
    - Dst: log_assert
      Src: /src/gnupg/agent/protect-tool.c:230,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/protect-tool.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 233
    functionName: make_advanced
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 0
    functionsReached:
    - log_assert
    - log_error
    - gcry_sexp_sscan
    - xmalloc
    - gpg_strerror
    - gcry_sexp_release
    - gcry_sexp_sprint
    linkageType: ''
    returnType: char
    signature: 'char *

      make_advanced (const unsigned char *buf, size_t buflen)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/agent/protect-tool.c:243,1
    - Dst: es_set_binary
      Src: /src/gnupg/agent/protect-tool.c:248,1
    - Dst: xmalloc
      Src: /src/gnupg/agent/protect-tool.c:256,1
    - Dst: xrealloc
      Src: /src/gnupg/agent/protect-tool.c:258,1
    - Dst: es_fread
      Src: /src/gnupg/agent/protect-tool.c:260,1
    - Dst: es_ferror
      Src: /src/gnupg/agent/protect-tool.c:261,1
    - Dst: log_error
      Src: /src/gnupg/agent/protect-tool.c:263,1
    - Dst: strerror
      Src: /src/gnupg/agent/protect-tool.c:263,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:264,1
    - Dst: es_fopen
      Src: /src/gnupg/agent/protect-tool.c:277,1
    - Dst: log_error
      Src: /src/gnupg/agent/protect-tool.c:280,1
    - Dst: strerror
      Src: /src/gnupg/agent/protect-tool.c:280,1
    - Dst: fstat
      Src: /src/gnupg/agent/protect-tool.c:284,1
    - Dst: es_fileno
      Src: /src/gnupg/agent/protect-tool.c:284,1
    - Dst: log_error
      Src: /src/gnupg/agent/protect-tool.c:286,1
    - Dst: strerror
      Src: /src/gnupg/agent/protect-tool.c:286,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/protect-tool.c:287,1
    - Dst: xmalloc
      Src: /src/gnupg/agent/protect-tool.c:292,1
    - Dst: es_fread
      Src: /src/gnupg/agent/protect-tool.c:293,1
    - Dst: log_error
      Src: /src/gnupg/agent/protect-tool.c:295,1
    - Dst: strerror
      Src: /src/gnupg/agent/protect-tool.c:295,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/protect-tool.c:296,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:297,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/protect-tool.c:300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - fname
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 305
    functionName: read_file
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 5
    functionsReached:
    - es_set_binary
    - log_error
    - es_fclose
    - es_fread
    - strcmp
    - xmalloc
    - xrealloc
    - fstat
    - xfree
    - es_fopen
    - es_fileno
    - es_ferror
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      read_file (const char *fname, size_t *r_length)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/gnupg/agent/protect-tool.c:315,1
    - Dst: memcmp
      Src: /src/gnupg/agent/protect-tool.c:318,1
    - Dst: log_error
      Src: /src/gnupg/agent/protect-tool.c:320,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:321,1
    - Dst: make_canonical
      Src: /src/gnupg/agent/protect-tool.c:324,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 327
    functionName: read_key
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 1
    functionsReached:
    - log_error
    - read_file
    - make_canonical
    - memcmp
    - xfree
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      read_key (const char *fname)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read_key
      Src: /src/gnupg/agent/protect-tool.c:340,1
    - Dst: get_passphrase
      Src: /src/gnupg/agent/protect-tool.c:344,1
    - Dst: agent_protect
      Src: /src/gnupg/agent/protect-tool.c:345,1
    - Dst: release_passphrase
      Src: /src/gnupg/agent/protect-tool.c:346,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:347,1
    - Dst: log_error
      Src: /src/gnupg/agent/protect-tool.c:350,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/protect-tool.c:350,1
    - Dst: make_advanced
      Src: /src/gnupg/agent/protect-tool.c:356,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:357,1
    - Dst: strlen
      Src: /src/gnupg/agent/protect-tool.c:361,1
    - Dst: fwrite
      Src: /src/gnupg/agent/protect-tool.c:364,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 366
    functionName: read_and_protect
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 0
    functionsReached:
    - fwrite
    - log_error
    - strlen
    - agent_protect
    - make_advanced
    - get_passphrase
    - read_key
    - xfree
    - gpg_strerror
    - release_passphrase
    linkageType: ''
    returnType: void
    signature: void read_and_protect (const char *fname)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: read_key
      Src: /src/gnupg/agent/protect-tool.c:379,1
    - Dst: agent_unprotect
      Src: /src/gnupg/agent/protect-tool.c:383,1
    - Dst: get_passphrase
      Src: /src/gnupg/agent/protect-tool.c:383,1
    - Dst: release_passphrase
      Src: /src/gnupg/agent/protect-tool.c:385,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:386,1
    - Dst: log_info
      Src: /src/gnupg/agent/protect-tool.c:390,1
    - Dst: log_error
      Src: /src/gnupg/agent/protect-tool.c:391,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/protect-tool.c:391,1
    - Dst: log_info
      Src: /src/gnupg/agent/protect-tool.c:397,1
    - Dst: log_info
      Src: /src/gnupg/agent/protect-tool.c:401,1
    - Dst: fixup_when_ecc_private_key
      Src: /src/gnupg/agent/protect-tool.c:404,1
    - Dst: log_error
      Src: /src/gnupg/agent/protect-tool.c:407,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/protect-tool.c:407,1
    - Dst: make_advanced
      Src: /src/gnupg/agent/protect-tool.c:412,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:413,1
    - Dst: strlen
      Src: /src/gnupg/agent/protect-tool.c:417,1
    - Dst: fwrite
      Src: /src/gnupg/agent/protect-tool.c:420,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:421,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - ctrl
    - fname
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 422
    functionName: read_and_unprotect
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 0
    functionsReached:
    - fwrite
    - log_error
    - strlen
    - agent_unprotect
    - make_advanced
    - get_passphrase
    - read_key
    - xfree
    - log_info
    - gpg_strerror
    - release_passphrase
    - fixup_when_ecc_private_key
    linkageType: ''
    returnType: void
    signature: void read_and_unprotect (ctrl_t ctrl, const char *fname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read_key
      Src: /src/gnupg/agent/protect-tool.c:435,1
    - Dst: agent_shadow_key
      Src: /src/gnupg/agent/protect-tool.c:439,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:440,1
    - Dst: log_error
      Src: /src/gnupg/agent/protect-tool.c:443,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/protect-tool.c:443,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/protect-tool.c:446,1
    - Dst: log_assert
      Src: /src/gnupg/agent/protect-tool.c:447,1
    - Dst: make_advanced
      Src: /src/gnupg/agent/protect-tool.c:451,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:452,1
    - Dst: strlen
      Src: /src/gnupg/agent/protect-tool.c:456,1
    - Dst: fwrite
      Src: /src/gnupg/agent/protect-tool.c:459,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 461
    functionName: read_and_shadow
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 0
    functionsReached:
    - agent_shadow_key
    - fwrite
    - log_error
    - log_assert
    - strlen
    - make_advanced
    - read_key
    - xfree
    - gpg_strerror
    - gcry_sexp_canon_len
    linkageType: ''
    returnType: void
    signature: void read_and_shadow (const char *fname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read_key
      Src: /src/gnupg/agent/protect-tool.c:471,1
    - Dst: agent_get_shadow_info
      Src: /src/gnupg/agent/protect-tool.c:475,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:476,1
    - Dst: log_error
      Src: /src/gnupg/agent/protect-tool.c:479,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/protect-tool.c:479,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/protect-tool.c:482,1
    - Dst: log_assert
      Src: /src/gnupg/agent/protect-tool.c:483,1
    - Dst: make_advanced
      Src: /src/gnupg/agent/protect-tool.c:487,1
    - Dst: fwrite
      Src: /src/gnupg/agent/protect-tool.c:490,1
    - Dst: strlen
      Src: /src/gnupg/agent/protect-tool.c:490,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:491,1
    - Dst: fwrite
      Src: /src/gnupg/agent/protect-tool.c:494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 495
    functionName: show_shadow_info
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 0
    functionsReached:
    - agent_get_shadow_info
    - fwrite
    - log_error
    - log_assert
    - strlen
    - make_advanced
    - read_key
    - gpg_strerror
    - xfree
    - gcry_sexp_canon_len
    linkageType: ''
    returnType: void
    signature: void show_shadow_info (const char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read_key
      Src: /src/gnupg/agent/protect-tool.c:505,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/protect-tool.c:509,1
    - Dst: log_assert
      Src: /src/gnupg/agent/protect-tool.c:510,1
    - Dst: fwrite
      Src: /src/gnupg/agent/protect-tool.c:514,1
    - Dst: make_advanced
      Src: /src/gnupg/agent/protect-tool.c:518,1
    - Dst: fwrite
      Src: /src/gnupg/agent/protect-tool.c:521,1
    - Dst: strlen
      Src: /src/gnupg/agent/protect-tool.c:521,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:522,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 526
    functionName: show_file
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 0
    functionsReached:
    - fwrite
    - log_assert
    - strlen
    - make_advanced
    - read_key
    - xfree
    - gcry_sexp_canon_len
    linkageType: ''
    returnType: void
    signature: void show_file (const char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read_key
      Src: /src/gnupg/agent/protect-tool.c:536,1
    - Dst: gcry_sexp_new
      Src: /src/gnupg/agent/protect-tool.c:540,1
    - Dst: log_error
      Src: /src/gnupg/agent/protect-tool.c:542,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:545,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/agent/protect-tool.c:547,1
    - Dst: log_error
      Src: /src/gnupg/agent/protect-tool.c:549,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/protect-tool.c:552,1
    - Dst: printf
      Src: /src/gnupg/agent/protect-tool.c:555,1
    - Dst: putchar
      Src: /src/gnupg/agent/protect-tool.c:556,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 557
    functionName: show_keygrip
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 0
    functionsReached:
    - gcry_pk_get_keygrip
    - printf
    - log_error
    - read_key
    - xfree
    - gcry_sexp_release
    - gcry_sexp_new
    - putchar
    linkageType: ''
    returnType: void
    signature: void show_keygrip (const char *fname)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: early_system_init
      Src: /src/gnupg/agent/protect-tool.c:571,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/agent/protect-tool.c:572,1
    - Dst: gcry_control
      Src: /src/gnupg/agent/protect-tool.c:573,1
    - Dst: log_set_prefix
      Src: /src/gnupg/agent/protect-tool.c:574,1
    - Dst: i18n_init
      Src: /src/gnupg/agent/protect-tool.c:577,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/agent/protect-tool.c:578,1
    - Dst: setup_libgcrypt_logging
      Src: /src/gnupg/agent/protect-tool.c:580,1
    - Dst: gcry_control
      Src: /src/gnupg/agent/protect-tool.c:581,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/agent/protect-tool.c:586,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/agent/protect-tool.c:593,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/agent/protect-tool.c:616,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/agent/protect-tool.c:618,1
    - Dst: exit
      Src: /src/gnupg/agent/protect-tool.c:619,1
    - Dst: gpgrt_usage
      Src: /src/gnupg/agent/protect-tool.c:625,1
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/protect-tool.c:628,1
    - Dst: log_error
      Src: /src/gnupg/agent/protect-tool.c:631,1
    - Dst: strerror
      Src: /src/gnupg/agent/protect-tool.c:632,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/protect-tool.c:633,1
    - Dst: gnupg_prepare_get_passphrase
      Src: /src/gnupg/agent/protect-tool.c:637,1
    - Dst: percent_plus_unescape
      Src: /src/gnupg/agent/protect-tool.c:643,1
    - Dst: read_and_protect
      Src: /src/gnupg/agent/protect-tool.c:646,1
    - Dst: read_and_unprotect
      Src: /src/gnupg/agent/protect-tool.c:648,1
    - Dst: read_and_shadow
      Src: /src/gnupg/agent/protect-tool.c:650,1
    - Dst: show_shadow_info
      Src: /src/gnupg/agent/protect-tool.c:652,1
    - Dst: show_keygrip
      Src: /src/gnupg/agent/protect-tool.c:654,1
    - Dst: get_standard_s2k_count
      Src: /src/gnupg/agent/protect-tool.c:659,1
    - Dst: show_file
      Src: /src/gnupg/agent/protect-tool.c:662,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:664,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/protect-tool.c:666,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 111
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 563
    functionDepth: 5
    functionLinenumber: 563
    functionLinenumberEnd: 668
    functionName: main
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 6
    functionsReached:
    - read_and_shadow
    - init_common_subsystems
    - percent_plus_unescape
    - exit
    - get_standard_s2k_count
    - gpgrt_set_strusage
    - gnupg_set_homedir
    - show_keygrip
    - log_error
    - early_system_init
    - log_set_prefix
    - gpgrt_usage
    - read_and_unprotect
    - read_and_protect
    - log_get_errorcount
    - gnupg_prepare_get_passphrase
    - agent_exit
    - setup_libgcrypt_logging
    - gcry_control
    - xfree
    - xtrycalloc
    - gpgrt_argparse
    - i18n_init
    - show_shadow_info
    - show_file
    - strerror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_get_errorcount
      Src: /src/gnupg/agent/protect-tool.c:673,1
    - Dst: exit
      Src: /src/gnupg/agent/protect-tool.c:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 675
    functionName: agent_exit
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 1
    functionsReached:
    - log_get_errorcount
    - exit
    linkageType: ''
    returnType: void
    signature: void agent_exit (int rc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnupg/agent/protect-tool.c:696,1
    - Dst: i18n_switchto_utf8
      Src: /src/gnupg/agent/protect-tool.c:698,1
    - Dst: _
      Src: /src/gnupg/agent/protect-tool.c:706,1
    - Dst: _
      Src: /src/gnupg/agent/protect-tool.c:711,1
    - Dst: _
      Src: /src/gnupg/agent/protect-tool.c:717,1
    - Dst: _
      Src: /src/gnupg/agent/protect-tool.c:722,1
    - Dst: i18n_switchback
      Src: /src/gnupg/agent/protect-tool.c:725,1
    - Dst: gnupg_get_passphrase
      Src: /src/gnupg/agent/protect-tool.c:727,1
    - Dst: _
      Src: /src/gnupg/agent/protect-tool.c:727,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/protect-tool.c:731,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/protect-tool.c:732,1
    - Dst: log_info
      Src: /src/gnupg/agent/protect-tool.c:733,1
    - Dst: _
      Src: /src/gnupg/agent/protect-tool.c:733,1
    - Dst: log_error
      Src: /src/gnupg/agent/protect-tool.c:735,1
    - Dst: _
      Src: /src/gnupg/agent/protect-tool.c:735,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/protect-tool.c:736,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/protect-tool.c:737,1
    - Dst: log_assert
      Src: /src/gnupg/agent/protect-tool.c:739,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - promptno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 742
    functionName: get_passphrase
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 6
    functionsReached:
    - i18n_switchto_utf8
    - log_error
    - log_assert
    - i18n_switchback
    - _
    - agent_exit
    - gpg_err_code
    - log_info
    - gpg_strerror
    - xstrdup
    - gnupg_get_passphrase
    linkageType: ''
    returnType: char
    signature: 'char *

      get_passphrase (int promptno)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wipememory
      Src: /src/gnupg/agent/protect-tool.c:750,1
    - Dst: strlen
      Src: /src/gnupg/agent/protect-tool.c:750,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pw
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 753
    functionName: release_passphrase
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 2
    functionsReached:
    - wipememory
    - xfree
    - strlen
    linkageType: ''
    returnType: void
    signature: void release_passphrase (char *pw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctrl
    - grip
    argTypes:
    - ctrl_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 763
    functionName: agent_key_available
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int agent_key_available (ctrl_t ctrl, const unsigned char *grip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - key
    - cache_mode
    argTypes:
    - ctrl_t
    - char*
    - cache_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 772
    functionName: agent_get_cache
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      agent_get_cache (ctrl_t ctrl, const char *key, cache_mode_t cache_mode)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_passphrase
      Src: /src/gnupg/agent/protect-tool.c:793,1
    - Dst: strlen
      Src: /src/gnupg/agent/protect-tool.c:794,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:797,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect-tool.c:798,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect-tool.c:801,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:802,1
    - Dst: struct pin_entry_info_s*::check_cb
      Src: /src/gnupg/agent/protect-tool.c:808,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 7
    argNames:
    - ctrl
    - desc_text
    - prompt_text
    - initial_errtext
    - pininfo
    - keyinfo
    - cache_mode
    argTypes:
    - ctrl_t
    - char*
    - char*
    - char*
    - struct pin_entry_info_s*
    - char*
    - cache_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 813
    functionName: agent_askpin
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 2
    functionsReached:
    - strlen
    - struct pin_entry_info_s*::check_cb
    - get_passphrase
    - gpg_error
    - xfree
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_askpin (ctrl_t ctrl,\n              const char *desc_text,
      const char *prompt_text,\n              const char *initial_errtext,\n              struct
      pin_entry_info_s *pininfo,\n              const char *keyinfo, cache_mode_t
      cache_mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bin2hex
      Src: /src/gnupg/agent/protect-tool.c:835,1
    - Dst: strcpy
      Src: /src/gnupg/agent/protect-tool.c:836,1
    - Dst: make_advanced
      Src: /src/gnupg/agent/protect-tool.c:837,1
    - Dst: printf
      Src: /src/gnupg/agent/protect-tool.c:840,1
    - Dst: strlen
      Src: /src/gnupg/agent/protect-tool.c:841,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect-tool.c:842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 10
    argNames:
    - ctrl
    - grip
    - buffer
    - length
    - force
    - serialno
    - keyref
    - dispserialno
    - timestamp
    - linkattr
    argTypes:
    - ctrl_t
    - unsigned char*
    - void*
    - size_t
    - int
    - char*
    - char*
    - char*
    - time_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 817
    functionDepth: 2
    functionLinenumber: 817
    functionLinenumberEnd: 846
    functionName: agent_write_private_key
    functionSourceFile: /src/gnupg/agent/protect-tool.c
    functionUses: 2
    functionsReached:
    - printf
    - strlen
    - bin2hex
    - make_advanced
    - strcpy
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_write_private_key (ctrl_t ctrl, const unsigned char
      *grip,\n                         const void *buffer, size_t length, int force,\n
      \                        const char *serialno, const char *keyref,\n                         const
      char *dispserialno, time_t timestamp,\n                         const char *linkattr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - b0
    - ','
    - b1
    - ','
    - b2
    - ','
    - b3
    - )
    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: uint32_construct
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uint32_construct(b0, b1, b2, b3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_realloc
      Src: /src/gnupg/agent/command-ssh.c:419,1
    - Dst: gcry_malloc_secure
      Src: /src/gnupg/agent/command-ssh.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 424
    functionName: realloc_secure
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - gcry_malloc_secure
    - gcry_realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      realloc_secure (void *a, size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/agent/command-ssh.c:437,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command-ssh.c:439,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command-ssh.c:441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - curve_name
    - r_canon_name
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 448
    functionName: ssh_identifier_from_curve_name
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - strcmp
    - DIM
    linkageType: ''
    returnType: char
    signature: "char *\nssh_identifier_from_curve_name (const char *curve_name,\n
      \                               const char **r_canon_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_fgetc
      Src: /src/gnupg/agent/command-ssh.c:463,1
    - Dst: es_ferror
      Src: /src/gnupg/agent/command-ssh.c:466,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:467,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - stream
    - b
    argTypes:
    - estream_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 479
    functionName: stream_read_byte
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - es_fgetc
    - es_ferror
    - gpg_error
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t stream_read_byte (estream_t stream, unsigned char *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_fputc
      Src: /src/gnupg/agent/command-ssh.c:488,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - b
    argTypes:
    - estream_t
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 495
    functionName: stream_write_byte
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - es_fputc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t stream_write_byte (estream_t stream, unsigned char b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_read
      Src: /src/gnupg/agent/command-ssh.c:507,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:509,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:513,1
    - Dst: uint32_construct
      Src: /src/gnupg/agent/command-ssh.c:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - stream
    - uint32
    argTypes:
    - estream_t
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 525
    functionName: stream_read_uint32
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - uint32_construct
    - gpg_error
    - es_read
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t stream_read_uint32 (estream_t stream, u32 *uint32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_write
      Src: /src/gnupg/agent/command-ssh.c:540,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - uint32
    argTypes:
    - estream_t
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 547
    functionName: stream_write_uint32
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_syserror
    - es_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t stream_write_uint32 (estream_t stream, u32 uint32)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_read
      Src: /src/gnupg/agent/command-ssh.c:557,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:559,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - buffer
    - size
    argTypes:
    - estream_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 569
    functionName: stream_read_data
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - es_read
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t stream_read_data (estream_t stream, unsigned char *buffer,
      size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_read
      Src: /src/gnupg/agent/command-ssh.c:585,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:587,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - stream
    - size
    argTypes:
    - estream_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 596
    functionName: stream_read_skip
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - es_read
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t stream_read_skip (estream_t stream, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_write
      Src: /src/gnupg/agent/command-ssh.c:606,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - buffer
    - size
    argTypes:
    - estream_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 613
    functionName: stream_write_data
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_syserror
    - es_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t stream_write_data (estream_t stream, const unsigned char
      *buffer, size_t size)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stream_read_uint32
      Src: /src/gnupg/agent/command-ssh.c:631,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/agent/command-ssh.c:639,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/command-ssh.c:641,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:644,1
    - Dst: stream_read_data
      Src: /src/gnupg/agent/command-ssh.c:649,1
    - Dst: stream_read_skip
      Src: /src/gnupg/agent/command-ssh.c:659,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:670,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 4
    argNames:
    - stream
    - secure
    - string
    - string_size
    argTypes:
    - estream_t
    - unsigned int
    - unsigned char**
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 673
    functionName: stream_read_string
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - stream_read_uint32
    - gpg_error_from_syserror
    - xtrymalloc_secure
    - stream_read_skip
    - xfree
    - xtrymalloc
    - stream_read_data
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t stream_read_string (estream_t stream, unsigned int secure,\n\t\t
      \   unsigned char **string, u32 *string_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stream_read_uint32
      Src: /src/gnupg/agent/command-ssh.c:690,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:698,1
    - Dst: _
      Src: /src/gnupg/agent/command-ssh.c:698,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/agent/command-ssh.c:705,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/command-ssh.c:707,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:710,1
    - Dst: stream_read_data
      Src: /src/gnupg/agent/command-ssh.c:715,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/agent/command-ssh.c:720,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:724,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - stream
    - secure
    - r_mpi
    argTypes:
    - estream_t
    - unsigned int
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 726
    functionName: stream_read_blob
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - stream_read_uint32
    - gcry_mpi_set_opaque
    - log_error
    - gpg_error_from_syserror
    - xtrymalloc_secure
    - _
    - xfree
    - xtrymalloc
    - stream_read_data
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t stream_read_blob (estream_t stream, unsigned int secure,
      gcry_mpi_t *r_mpi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_read_string
      Src: /src/gnupg/agent/command-ssh.c:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - string
    argTypes:
    - estream_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 730
    functionDepth: 3
    functionLinenumber: 730
    functionLinenumberEnd: 734
    functionName: stream_read_cstring
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - stream_read_string
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t stream_read_cstring (estream_t stream, char **string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_write_uint32
      Src: /src/gnupg/agent/command-ssh.c:744,1
    - Dst: stream_write_data
      Src: /src/gnupg/agent/command-ssh.c:748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - string
    - string_n
    argTypes:
    - estream_t
    - unsigned char*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 753
    functionName: stream_write_string
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 3
    functionsReached:
    - stream_write_uint32
    - stream_write_data
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t stream_write_string (estream_t stream,\n\t\t     const
      unsigned char *string, u32 string_n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_write_string
      Src: /src/gnupg/agent/command-ssh.c:761,1
    - Dst: strlen
      Src: /src/gnupg/agent/command-ssh.c:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - string
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 765
    functionName: stream_write_cstring
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 1
    functionsReached:
    - stream_write_string
    - strlen
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t stream_write_cstring (estream_t stream, const char *string)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stream_read_string
      Src: /src/gnupg/agent/command-ssh.c:779,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:787,1
    - Dst: _
      Src: /src/gnupg/agent/command-ssh.c:787,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/agent/command-ssh.c:792,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:800,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - stream
    - secure
    - mpint
    argTypes:
    - estream_t
    - unsigned int
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 769
    functionDepth: 3
    functionLinenumber: 769
    functionLinenumberEnd: 803
    functionName: stream_read_mpi
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - log_error
    - _
    - xfree
    - stream_read_string
    - gcry_mpi_scan
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t stream_read_mpi (estream_t stream, unsigned int secure,
      gcry_mpi_t *mpint)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/agent/command-ssh.c:815,1
    - Dst: stream_write_string
      Src: /src/gnupg/agent/command-ssh.c:819,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - stream
    - mpint
    argTypes:
    - estream_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 826
    functionName: stream_write_mpi
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 1
    functionsReached:
    - stream_write_string
    - xfree
    - gcry_mpi_aprint
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t stream_write_mpi (estream_t stream, gcry_mpi_t mpint)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_read
      Src: /src/gnupg/agent/command-ssh.c:841,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:845,1
    - Dst: es_write
      Src: /src/gnupg/agent/command-ssh.c:848,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:851,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - estream_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 857
    functionName: stream_copy
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - es_write
    - es_read
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t stream_copy (estream_t dst, estream_t src)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/command-ssh.c:870,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:873,1
    - Dst: make_filename_try
      Src: /src/gnupg/agent/command-ssh.c:880,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/agent/command-ssh.c:880,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:883,1
    - Dst: es_fopen
      Src: /src/gnupg/agent/command-ssh.c:888,1
    - Dst: es_fopen
      Src: /src/gnupg/agent/command-ssh.c:891,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:894,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:895,1
    - Dst: _
      Src: /src/gnupg/agent/command-ssh.c:895,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command-ssh.c:896,1
    - Dst: es_fputs
      Src: /src/gnupg/agent/command-ssh.c:899,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/command-ssh.c:900,1
    - Dst: es_fopen
      Src: /src/gnupg/agent/command-ssh.c:901,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:906,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:907,1
    - Dst: _
      Src: /src/gnupg/agent/command-ssh.c:907,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command-ssh.c:908,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/command-ssh.c:918,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:919,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:920,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - r_cf
    - append
    argTypes:
    - ssh_control_file_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 864
    functionDepth: 5
    functionLinenumber: 864
    functionLinenumberEnd: 926
    functionName: open_control_file
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - log_error
    - es_fclose
    - gnupg_homedir
    - xtrycalloc
    - _
    - es_fopen
    - gpg_strerror
    - xfree
    - make_filename_try
    - es_fputs
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t open_control_file (ssh_control_file_t *r_cf, int append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_fseek
      Src: /src/gnupg/agent/command-ssh.c:932,1
    - Dst: es_clearerr
      Src: /src/gnupg/agent/command-ssh.c:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cf
    argTypes:
    - ssh_control_file_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 935
    functionName: rewind_control_file
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - es_fseek
    - es_clearerr
    linkageType: ''
    returnType: void
    signature: void rewind_control_file (ssh_control_file_t cf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_fclose
      Src: /src/gnupg/agent/command-ssh.c:943,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:944,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cf
    argTypes:
    - ssh_control_file_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 946
    functionName: close_control_file
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - es_fclose
    - xfree
    linkageType: ''
    returnType: void
    signature: void close_control_file (ssh_control_file_t cf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: es_clearerr
      Src: /src/gnupg/agent/command-ssh.c:960,1
    - Dst: es_fgets
      Src: /src/gnupg/agent/command-ssh.c:964,1
    - Dst: DIM
      Src: /src/gnupg/agent/command-ssh.c:964,1
    - Dst: es_feof
      Src: /src/gnupg/agent/command-ssh.c:966,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:967,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:968,1
    - Dst: strlen
      Src: /src/gnupg/agent/command-ssh.c:972,1
    - Dst: es_getc
      Src: /src/gnupg/agent/command-ssh.c:975,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:977,1
    - Dst: spacep
      Src: /src/gnupg/agent/command-ssh.c:982,1
    - Dst: spacep
      Src: /src/gnupg/agent/command-ssh.c:991,1
    - Dst: hexdigitp
      Src: /src/gnupg/agent/command-ssh.c:995,1
    - Dst: spacep
      Src: /src/gnupg/agent/command-ssh.c:998,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:1000,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1001,1
    - Dst: strtol
      Src: /src/gnupg/agent/command-ssh.c:1004,1
    - Dst: spacep
      Src: /src/gnupg/agent/command-ssh.c:1006,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:1008,1
    - Dst: spacep
      Src: /src/gnupg/agent/command-ssh.c:1017,1
    - Dst: strcspn
      Src: /src/gnupg/agent/command-ssh.c:1021,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:1024,1
    - Dst: memcmp
      Src: /src/gnupg/agent/command-ssh.c:1028,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:1033,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 57
    argCount: 1
    argNames:
    - cf
    argTypes:
    - ssh_control_file_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 1046
    functionName: read_control_file_item
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - strtol
    - gpg_error_from_syserror
    - strlen
    - log_error
    - es_fgets
    - DIM
    - spacep
    - strcspn
    - es_feof
    - gpg_error
    - memcmp
    - es_getc
    - es_clearerr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_control_file_item (ssh_control_file_t cf)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/agent/command-ssh.c:1062,1
    - Dst: strlen
      Src: /src/gnupg/agent/command-ssh.c:1062,1
    - Dst: rewind_control_file
      Src: /src/gnupg/agent/command-ssh.c:1073,1
    - Dst: read_control_file_item
      Src: /src/gnupg/agent/command-ssh.c:1074,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command-ssh.c:1078,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 6
    argNames:
    - cf
    - hexgrip
    - r_disabled
    - r_ttl
    - r_confirm
    - r_lnr
    argTypes:
    - ssh_control_file_t
    - char*
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1056
    functionDepth: 2
    functionLinenumber: 1056
    functionLinenumberEnd: 1093
    functionName: search_control_file
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - read_control_file_item
    - strlen
    - rewind_control_file
    - log_assert
    - strcmp
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t search_control_file (ssh_control_file_t cf, const char
      *hexgrip,\n                     int *r_disabled, int *r_ttl, int *r_confirm,
      int *r_lnr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open_control_file
      Src: /src/gnupg/agent/command-ssh.c:1115,1
    - Dst: search_control_file
      Src: /src/gnupg/agent/command-ssh.c:1119,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command-ssh.c:1120,1
    - Dst: time
      Src: /src/gnupg/agent/command-ssh.c:1123,1
    - Dst: ssh_get_fingerprint_string
      Src: /src/gnupg/agent/command-ssh.c:1125,1
    - Dst: ssh_get_fingerprint_string
      Src: /src/gnupg/agent/command-ssh.c:1130,1
    - Dst: localtime
      Src: /src/gnupg/agent/command-ssh.c:1136,1
    - Dst: es_fprintf
      Src: /src/gnupg/agent/command-ssh.c:1137,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:1150,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:1151,1
    - Dst: close_control_file
      Src: /src/gnupg/agent/command-ssh.c:1152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - ctrl
    - spec
    - hexgrip
    - key
    - ttl
    - confirm
    argTypes:
    - ctrl_t
    - ssh_key_type_spec_t*
    - char*
    - gcry_sexp_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1102
    functionDepth: 6
    functionLinenumber: 1102
    functionLinenumberEnd: 1154
    functionName: add_control_entry
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - ssh_get_fingerprint_string
    - open_control_file
    - localtime
    - search_control_file
    - es_fprintf
    - close_control_file
    - gpg_err_code
    - xfree
    - time
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t add_control_entry (ctrl_t ctrl, ssh_key_type_spec_t *spec,\n
      \                  const char *hexgrip, gcry_sexp_t key,\n                   int
      ttl, int confirm)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/agent/command-ssh.c:1164,1
    - Dst: open_control_file
      Src: /src/gnupg/agent/command-ssh.c:1167,1
    - Dst: search_control_file
      Src: /src/gnupg/agent/command-ssh.c:1170,1
    - Dst: close_control_file
      Src: /src/gnupg/agent/command-ssh.c:1174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - hexgrip
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1158
    functionDepth: 6
    functionLinenumber: 1158
    functionLinenumberEnd: 1177
    functionName: ttl_from_sshcontrol
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - close_control_file
    - open_control_file
    - search_control_file
    - strlen
    linkageType: ''
    returnType: int
    signature: int ttl_from_sshcontrol (const char *hexgrip)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/agent/command-ssh.c:1187,1
    - Dst: open_control_file
      Src: /src/gnupg/agent/command-ssh.c:1190,1
    - Dst: search_control_file
      Src: /src/gnupg/agent/command-ssh.c:1193,1
    - Dst: close_control_file
      Src: /src/gnupg/agent/command-ssh.c:1198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - hexgrip
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1181
    functionDepth: 6
    functionLinenumber: 1181
    functionLinenumberEnd: 1201
    functionName: confirm_flag_from_sshcontrol
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - close_control_file
    - open_control_file
    - search_control_file
    - strlen
    linkageType: ''
    returnType: int
    signature: int confirm_flag_from_sshcontrol (const char *hexgrip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open_control_file
      Src: /src/gnupg/agent/command-ssh.c:1215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1209
    functionDepth: 6
    functionLinenumber: 1209
    functionLinenumberEnd: 1218
    functionName: ssh_open_control_file
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - open_control_file
    linkageType: ''
    returnType: ssh_control_file_t
    signature: ssh_control_file_t ssh_open_control_file (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close_control_file
      Src: /src/gnupg/agent/command-ssh.c:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cf
    argTypes:
    - ssh_control_file_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1222
    functionDepth: 1
    functionLinenumber: 1222
    functionLinenumberEnd: 1226
    functionName: ssh_close_control_file
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - close_control_file
    linkageType: ''
    returnType: void
    signature: void ssh_close_control_file (ssh_control_file_t cf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read_control_file_item
      Src: /src/gnupg/agent/command-ssh.c:1241,1
    - Dst: strcpy
      Src: /src/gnupg/agent/command-ssh.c:1246,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - cf
    - r_hexgrip
    - r_disabled
    - r_ttl
    - r_confirm
    argTypes:
    - ssh_control_file_t
    - char*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1233
    functionDepth: 2
    functionLinenumber: 1233
    functionLinenumberEnd: 1255
    functionName: ssh_read_control_file
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - read_control_file_item
    - strcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_read_control_file (ssh_control_file_t cf,\n                       char
      *r_hexgrip,\n                       int *r_disabled, int *r_ttl, int *r_confirm)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1277,1
    - Dst: search_control_file
      Src: /src/gnupg/agent/command-ssh.c:1279,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command-ssh.c:1281,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - cf
    - hexgrip
    - r_disabled
    - r_ttl
    - r_confirm
    argTypes:
    - ssh_control_file_t
    - char*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1260
    functionDepth: 3
    functionLinenumber: 1260
    functionLinenumberEnd: 1284
    functionName: ssh_search_control_file
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - gpg_err_code
    - search_control_file
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_search_control_file (ssh_control_file_t cf,\n                         const
      char *hexgrip,\n                         int *r_disabled, int *r_ttl, int *r_confirm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_release
      Src: /src/gnupg/agent/command-ssh.c:1304,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:1305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mpi_list
    argTypes:
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1307
    functionName: mpint_list_free
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - xfree
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void mpint_list_free (gcry_mpi_t *mpi_list)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/agent/command-ssh.c:1332,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1339,1
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/command-ssh.c:1343,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:1346,1
    - Dst: strchr
      Src: /src/gnupg/agent/command-ssh.c:1354,1
    - Dst: stream_read_mpi
      Src: /src/gnupg/agent/command-ssh.c:1357,1
    - Dst: stream_read_mpi
      Src: /src/gnupg/agent/command-ssh.c:1359,1
    - Dst: mpint_list_free
      Src: /src/gnupg/agent/command-ssh.c:1369,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 5
    argNames:
    - stream
    - secret
    - spec
    - cert
    - mpi_list
    argTypes:
    - estream_t
    - int
    - ssh_key_type_spec_t*
    - estream_t
    - gcry_mpi_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1315
    functionDepth: 4
    functionLinenumber: 1315
    functionLinenumberEnd: 1372
    functionName: ssh_receive_mpint_list
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - strlen
    - stream_read_mpi
    - gpg_error
    - strchr
    - mpint_list_free
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_receive_mpint_list (estream_t stream, int secret,\n\t\t\tssh_key_type_spec_t
      *spec, estream_t cert,\n                        gcry_mpi_t **mpi_list)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/agent/command-ssh.c:1384,1
    - Dst: gcry_mpi_cmp
      Src: /src/gnupg/agent/command-ssh.c:1392,1
    - Dst: gcry_mpi_invm
      Src: /src/gnupg/agent/command-ssh.c:1403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - elems
    - mpis
    argTypes:
    - char*
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1408
    functionName: ssh_key_modifier_rsa
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gcry_mpi_invm
    - gcry_mpi_cmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ssh_key_modifier_rsa (const char *elems, gcry_mpi_t *mpis)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_nth
      Src: /src/gnupg/agent/command-ssh.c:1429,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1432,1
    - Dst: strlen
      Src: /src/gnupg/agent/command-ssh.c:1437,1
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/command-ssh.c:1439,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:1442,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/command-ssh.c:1448,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1451,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/gnupg/agent/command-ssh.c:1455,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1458,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:1461,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/command-ssh.c:1474,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:1477,1
    - Dst: gcry_mpi_print
      Src: /src/gnupg/agent/command-ssh.c:1481,1
    - Dst: memmove
      Src: /src/gnupg/agent/command-ssh.c:1484,1
    - Dst: memset
      Src: /src/gnupg/agent/command-ssh.c:1485,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/agent/command-ssh.c:1490,1
    - Dst: stream_write_string
      Src: /src/gnupg/agent/command-ssh.c:1494,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:1495,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:1498,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:1499,1
    - Dst: mpint_list_free
      Src: /src/gnupg/agent/command-ssh.c:1500,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 3
    argNames:
    - spec
    - signature_blob
    - s_signature
    argTypes:
    - ssh_key_type_spec_t*
    - estream_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1411
    functionDepth: 2
    functionLinenumber: 1411
    functionLinenumberEnd: 1502
    functionName: ssh_signature_encoder_rsa
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - memmove
    - gpg_error_from_syserror
    - strlen
    - gcry_mpi_print
    - stream_write_string
    - gcry_sexp_find_token
    - gcry_mpi_aprint
    - gpg_error
    - mpint_list_free
    - memset
    - xfree
    - gcry_sexp_release
    - xtrycalloc
    - xtrymalloc
    - gcry_sexp_nth
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_signature_encoder_rsa (ssh_key_type_spec_t *spec,\n
      \                          estream_t signature_blob,\n                           gcry_sexp_t
      s_signature)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_nth
      Src: /src/gnupg/agent/command-ssh.c:1524,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1527,1
    - Dst: strlen
      Src: /src/gnupg/agent/command-ssh.c:1532,1
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/command-ssh.c:1534,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:1537,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/command-ssh.c:1543,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1546,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/gnupg/agent/command-ssh.c:1550,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1553,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:1556,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/agent/command-ssh.c:1570,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1576,1
    - Dst: memset
      Src: /src/gnupg/agent/command-ssh.c:1580,1
    - Dst: memcpy
      Src: /src/gnupg/agent/command-ssh.c:1582,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:1585,1
    - Dst: stream_write_string
      Src: /src/gnupg/agent/command-ssh.c:1591,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:1594,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:1595,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:1596,1
    - Dst: mpint_list_free
      Src: /src/gnupg/agent/command-ssh.c:1597,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 3
    argNames:
    - spec
    - signature_blob
    - s_signature
    argTypes:
    - ssh_key_type_spec_t*
    - estream_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1506
    functionDepth: 2
    functionLinenumber: 1506
    functionLinenumberEnd: 1599
    functionName: ssh_signature_encoder_dsa
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - gpg_error_from_syserror
    - strlen
    - stream_write_string
    - gcry_sexp_find_token
    - gcry_mpi_aprint
    - gpg_error
    - mpint_list_free
    - memset
    - xfree
    - gcry_sexp_release
    - xtrycalloc
    - memcpy
    - gcry_sexp_nth
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_signature_encoder_dsa (ssh_key_type_spec_t *spec,\n
      \                          estream_t signature_blob,\n                           gcry_sexp_t
      s_signature)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_nth
      Src: /src/gnupg/agent/command-ssh.c:1620,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1623,1
    - Dst: strlen
      Src: /src/gnupg/agent/command-ssh.c:1628,1
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/command-ssh.c:1630,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:1633,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/command-ssh.c:1639,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1642,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/gnupg/agent/command-ssh.c:1646,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1649,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:1652,1
    - Dst: DIM
      Src: /src/gnupg/agent/command-ssh.c:1663,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/agent/command-ssh.c:1665,1
    - Dst: stream_write_uint32
      Src: /src/gnupg/agent/command-ssh.c:1671,1
    - Dst: DIM
      Src: /src/gnupg/agent/command-ssh.c:1675,1
    - Dst: stream_write_string
      Src: /src/gnupg/agent/command-ssh.c:1677,1
    - Dst: DIM
      Src: /src/gnupg/agent/command-ssh.c:1683,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:1684,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:1685,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:1686,1
    - Dst: mpint_list_free
      Src: /src/gnupg/agent/command-ssh.c:1687,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 3
    argNames:
    - spec
    - stream
    - s_signature
    argTypes:
    - ssh_key_type_spec_t*
    - estream_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1603
    functionDepth: 2
    functionLinenumber: 1603
    functionLinenumberEnd: 1689
    functionName: ssh_signature_encoder_ecdsa
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - gpg_error_from_syserror
    - strlen
    - stream_write_string
    - gcry_sexp_find_token
    - DIM
    - gcry_mpi_aprint
    - gpg_error
    - mpint_list_free
    - xfree
    - gcry_sexp_release
    - xtrycalloc
    - stream_write_uint32
    - gcry_sexp_nth
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_signature_encoder_ecdsa (ssh_key_type_spec_t *spec,\n
      \                            estream_t stream, gcry_sexp_t s_signature)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_nth
      Src: /src/gnupg/agent/command-ssh.c:1708,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1711,1
    - Dst: strlen
      Src: /src/gnupg/agent/command-ssh.c:1716,1
    - Dst: DIM
      Src: /src/gnupg/agent/command-ssh.c:1718,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1720,1
    - Dst: DIM
      Src: /src/gnupg/agent/command-ssh.c:1724,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/command-ssh.c:1726,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1729,1
    - Dst: gcry_sexp_nth_buffer
      Src: /src/gnupg/agent/command-ssh.c:1733,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1736,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:1740,1
    - Dst: stream_write_uint32
      Src: /src/gnupg/agent/command-ssh.c:1746,1
    - Dst: DIM
      Src: /src/gnupg/agent/command-ssh.c:1750,1
    - Dst: stream_write_data
      Src: /src/gnupg/agent/command-ssh.c:1752,1
    - Dst: DIM
      Src: /src/gnupg/agent/command-ssh.c:1758,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:1759,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:1760,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:1761,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 3
    argNames:
    - spec
    - stream
    - s_signature
    argTypes:
    - ssh_key_type_spec_t*
    - estream_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1693
    functionDepth: 1
    functionLinenumber: 1693
    functionLinenumberEnd: 1763
    functionName: ssh_signature_encoder_eddsa
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - stream_write_data
    - gcry_sexp_nth_buffer
    - strlen
    - gcry_sexp_find_token
    - DIM
    - gpg_error
    - xfree
    - gcry_sexp_release
    - stream_write_uint32
    - gcry_sexp_nth
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_signature_encoder_eddsa (ssh_key_type_spec_t *spec,\n
      \                            estream_t stream, gcry_sexp_t s_signature)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1797,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/agent/command-ssh.c:1798,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1799,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/agent/command-ssh.c:1802,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1803,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/command-ssh.c:1805,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/command-ssh.c:1813,1
    - Dst: strlen
      Src: /src/gnupg/agent/command-ssh.c:1834,1
    - Dst: es_fopenmem
      Src: /src/gnupg/agent/command-ssh.c:1836,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:1839,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/command-ssh.c:1845,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:1848,1
    - Dst: es_fputs
      Src: /src/gnupg/agent/command-ssh.c:1853,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/command-ssh.c:1855,1
    - Dst: gcry_pk_algo_name
      Src: /src/gnupg/agent/command-ssh.c:1855,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:1858,1
    - Dst: strlwr
      Src: /src/gnupg/agent/command-ssh.c:1861,1
    - Dst: es_fputs
      Src: /src/gnupg/agent/command-ssh.c:1865,1
    - Dst: es_fprintf
      Src: /src/gnupg/agent/command-ssh.c:1871,1
    - Dst: es_fputs
      Src: /src/gnupg/agent/command-ssh.c:1882,1
    - Dst: es_putc
      Src: /src/gnupg/agent/command-ssh.c:1886,1
    - Dst: es_ferror
      Src: /src/gnupg/agent/command-ssh.c:1887,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:1889,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/agent/command-ssh.c:1892,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:1894,1
    - Dst: gcry_sexp_build_array
      Src: /src/gnupg/agent/command-ssh.c:1899,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/command-ssh.c:1906,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:1907,1
    - Dst: es_free
      Src: /src/gnupg/agent/command-ssh.c:1908,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:1909,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 81
    argCount: 6
    argNames:
    - r_sexp
    - key_spec
    - secret
    - curve_name
    - mpis
    - comment
    argTypes:
    - gcry_sexp_t*
    - ssh_key_type_spec_t
    - int
    - char*
    - gcry_mpi_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1774
    functionDepth: 1
    functionLinenumber: 1774
    functionLinenumberEnd: 1912
    functionName: sexp_key_construct
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - strlwr
    - es_fprintf
    - strlen
    - xtrymalloc
    - es_fopenmem
    - es_free
    - es_putc
    - es_ferror
    - gcry_sexp_build
    - gpg_error_from_syserror
    - xtrystrdup
    - gpg_error
    - xfree
    - es_fputs
    - es_fclose_snatch
    - es_fclose
    - gcry_pk_algo_name
    - gcry_sexp_build_array
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t sexp_key_construct (gcry_sexp_t *r_sexp,\n\t\t    ssh_key_type_spec_t
      key_spec, int secret,\n\t\t    const char *curve_name, gcry_mpi_t *mpis,\n                    const
      char *comment)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/agent/command-ssh.c:1938,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:1941,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/agent/command-ssh.c:1946,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1949,1
    - Dst: strncmp
      Src: /src/gnupg/agent/command-ssh.c:1953,1
    - Dst: strncmp
      Src: /src/gnupg/agent/command-ssh.c:1954,1
    - Dst: strncmp
      Src: /src/gnupg/agent/command-ssh.c:1955,1
    - Dst: strncmp
      Src: /src/gnupg/agent/command-ssh.c:1957,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1961,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/agent/command-ssh.c:1966,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1969,1
    - Dst: gcry_pk_get_curve
      Src: /src/gnupg/agent/command-ssh.c:1979,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1982,1
    - Dst: ssh_identifier_from_curve_name
      Src: /src/gnupg/agent/command-ssh.c:1986,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:1989,1
    - Dst: stream_write_cstring
      Src: /src/gnupg/agent/command-ssh.c:1992,1
    - Dst: stream_write_cstring
      Src: /src/gnupg/agent/command-ssh.c:1995,1
    - Dst: stream_write_cstring
      Src: /src/gnupg/agent/command-ssh.c:2002,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:2010,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/command-ssh.c:2011,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:2014,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/agent/command-ssh.c:2019,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:2022,1
    - Dst: stream_write_string
      Src: /src/gnupg/agent/command-ssh.c:2030,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/gnupg/agent/command-ssh.c:2040,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:2043,1
    - Dst: stream_write_mpi
      Src: /src/gnupg/agent/command-ssh.c:2046,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/agent/command-ssh.c:2047,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/agent/command-ssh.c:2053,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:2055,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:2065,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:2066,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/command-ssh.c:2067,1
    - Dst: es_free
      Src: /src/gnupg/agent/command-ssh.c:2068,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 109
    argCount: 5
    argNames:
    - sexp
    - with_secret
    - key_spec
    - r_blob
    - r_blob_size
    argTypes:
    - gcry_sexp_t
    - int
    - ssh_key_type_spec_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 1920
    functionDepth: 1
    functionLinenumber: 1920
    functionLinenumberEnd: 2071
    functionName: ssh_key_to_blob
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - gcry_sexp_nth_mpi
    - stream_write_mpi
    - es_fclose_snatch
    - gpg_error_from_syserror
    - es_free
    - es_fclose
    - gcry_sexp_cadr
    - gcry_sexp_find_token
    - stream_write_string
    - gcry_pk_get_curve
    - gpg_error
    - gcry_sexp_nth_data
    - ssh_identifier_from_curve_name
    - stream_write_cstring
    - gcry_sexp_release
    - strncmp
    - gcry_mpi_release
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_key_to_blob (gcry_sexp_t sexp, int with_secret,\n
      \                ssh_key_type_spec_t key_spec,\n                 void **r_blob,
      size_t *r_blob_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/agent/command-ssh.c:2091,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command-ssh.c:2092,1
    - Dst: DIM
      Src: /src/gnupg/agent/command-ssh.c:2096,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:2097,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - ssh_name
    - algo
    - spec
    argTypes:
    - char*
    - int
    - ssh_key_type_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2084
    functionDepth: 1
    functionLinenumber: 2084
    functionLinenumberEnd: 2105
    functionName: ssh_key_type_lookup
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gpg_error
    - DIM
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_key_type_lookup (const char *ssh_name, int algo,\n\t\t
      \    ssh_key_type_spec_t *spec)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: stream_read_cstring
      Src: /src/gnupg/agent/command-ssh.c:2128,1
    - Dst: ssh_key_type_lookup
      Src: /src/gnupg/agent/command-ssh.c:2132,1
    - Dst: stream_read_string
      Src: /src/gnupg/agent/command-ssh.c:2144,1
    - Dst: es_fopenmem_init
      Src: /src/gnupg/agent/command-ssh.c:2147,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2148,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:2151,1
    - Dst: stream_read_cstring
      Src: /src/gnupg/agent/command-ssh.c:2156,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command-ssh.c:2159,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2161,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:2162,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:2163,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2166,1
    - Dst: stream_read_string
      Src: /src/gnupg/agent/command-ssh.c:2169,1
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/command-ssh.c:2190,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:2193,1
    - Dst: stream_read_blob
      Src: /src/gnupg/agent/command-ssh.c:2197,1
    - Dst: stream_read_uint32
      Src: /src/gnupg/agent/command-ssh.c:2206,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:2211,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/agent/command-ssh.c:2214,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:2217,1
    - Dst: stream_read_data
      Src: /src/gnupg/agent/command-ssh.c:2220,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2223,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/agent/command-ssh.c:2226,1
    - Dst: stream_read_skip
      Src: /src/gnupg/agent/command-ssh.c:2230,1
    - Dst: stream_read_string
      Src: /src/gnupg/agent/command-ssh.c:2253,1
    - Dst: ssh_identifier_from_curve_name
      Src: /src/gnupg/agent/command-ssh.c:2258,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:2260,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2261,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2264,1
    - Dst: ssh_receive_mpint_list
      Src: /src/gnupg/agent/command-ssh.c:2266,1
    - Dst: ssh_receive_mpint_list
      Src: /src/gnupg/agent/command-ssh.c:2272,1
    - Dst: stream_read_cstring
      Src: /src/gnupg/agent/command-ssh.c:2279,1
    - Dst: sexp_key_construct
      Src: /src/gnupg/agent/command-ssh.c:2296,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/command-ssh.c:2306,1
    - Dst: mpint_list_free
      Src: /src/gnupg/agent/command-ssh.c:2307,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2308,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2309,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 132
    argCount: 5
    argNames:
    - stream
    - key_new
    - secret
    - read_comment
    - key_spec
    argTypes:
    - estream_t
    - gcry_sexp_t*
    - int
    - int
    - ssh_key_type_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2113
    functionDepth: 5
    functionLinenumber: 2113
    functionLinenumberEnd: 2312
    functionName: ssh_receive_key
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - sexp_key_construct
    - ssh_key_type_lookup
    - stream_read_uint32
    - gcry_mpi_set_opaque
    - stream_read_cstring
    - log_error
    - ssh_receive_mpint_list
    - es_fopenmem_init
    - stream_read_blob
    - gpg_error_from_syserror
    - xtrymalloc_secure
    - strcmp
    - gpg_error
    - stream_read_skip
    - xfree
    - ssh_identifier_from_curve_name
    - xtrycalloc
    - stream_read_data
    - es_fclose
    - mpint_list_free
    - stream_read_string
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_receive_key (estream_t stream, gcry_sexp_t *key_new,
      int secret,\n                 int read_comment, ssh_key_type_spec_t *key_spec)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_pk_algo_from_key
      Src: /src/gnupg/agent/command-ssh.c:2329,1
    - Dst: ssh_key_type_lookup
      Src: /src/gnupg/agent/command-ssh.c:2333,1
    - Dst: ssh_key_to_blob
      Src: /src/gnupg/agent/command-ssh.c:2337,1
    - Dst: stream_write_string
      Src: /src/gnupg/agent/command-ssh.c:2341,1
    - Dst: stream_write_cstring
      Src: /src/gnupg/agent/command-ssh.c:2346,1
    - Dst: ssh_key_extract_comment
      Src: /src/gnupg/agent/command-ssh.c:2349,1
    - Dst: stream_write_cstring
      Src: /src/gnupg/agent/command-ssh.c:2351,1
    - Dst: stream_write_cstring
      Src: /src/gnupg/agent/command-ssh.c:2353,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2359,1
    - Dst: es_free
      Src: /src/gnupg/agent/command-ssh.c:2360,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - stream
    - key
    - override_comment
    argTypes:
    - estream_t
    - gcry_sexp_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2318
    functionDepth: 2
    functionLinenumber: 2318
    functionLinenumberEnd: 2363
    functionName: ssh_send_key_public
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - es_free
    - stream_write_string
    - get_pk_algo_from_key
    - stream_write_cstring
    - xfree
    - ssh_key_to_blob
    - ssh_key_extract_comment
    - ssh_key_type_lookup
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_send_key_public (estream_t stream, gcry_sexp_t key,\n
      \                    const char *override_comment)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/agent/command-ssh.c:2377,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:2380,1
    - Dst: stream_write_data
      Src: /src/gnupg/agent/command-ssh.c:2384,1
    - Dst: es_fseek
      Src: /src/gnupg/agent/command-ssh.c:2388,1
    - Dst: ssh_receive_key
      Src: /src/gnupg/agent/command-ssh.c:2392,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/command-ssh.c:2395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - blob
    - blob_size
    - key_public
    - key_spec
    argTypes:
    - unsigned char*
    - size_t
    - gcry_sexp_t*
    - ssh_key_type_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2397
      start: 2369
    functionDepth: 6
    functionLinenumber: 2369
    functionLinenumberEnd: 2397
    functionName: ssh_read_key_public_from_blob
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - stream_write_data
    - ssh_receive_key
    - gpg_error_from_syserror
    - es_fclose
    - es_fseek
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_read_key_public_from_blob (unsigned char *blob, size_t
      blob_size,\n\t\t\t       gcry_sexp_t *key_public,\n\t\t\t       ssh_key_type_spec_t
      *key_spec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/agent/command-ssh.c:2407,1
    - Dst: gcry_pk_testkey
      Src: /src/gnupg/agent/command-ssh.c:2409,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:2410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - buffer
    argTypes:
    - gcry_sexp_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2404
    functionDepth: 1
    functionLinenumber: 2404
    functionLinenumberEnd: 2414
    functionName: ssh_key_grip
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - gcry_pk_testkey
    - gpg_error
    - gcry_pk_get_keygrip
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ssh_key_grip (gcry_sexp_t key, unsigned char *buffer)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: agent_card_readkey
      Src: /src/gnupg/agent/command-ssh.c:2437,1
    - Dst: log_info
      Src: /src/gnupg/agent/command-ssh.c:2441,1
    - Dst: _
      Src: /src/gnupg/agent/command-ssh.c:2441,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command-ssh.c:2441,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/command-ssh.c:2445,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/agent/command-ssh.c:2446,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:2449,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command-ssh.c:2450,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2451,1
    - Dst: hex2bin
      Src: /src/gnupg/agent/command-ssh.c:2455,1
    - Dst: agent_key_available
      Src: /src/gnupg/agent/command-ssh.c:2456,1
    - Dst: agent_card_getattr
      Src: /src/gnupg/agent/command-ssh.c:2461,1
    - Dst: agent_write_shadow_key
      Src: /src/gnupg/agent/command-ssh.c:2463,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2465,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2468,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:2469,1
    - Dst: agent_card_getattr
      Src: /src/gnupg/agent/command-ssh.c:2481,1
    - Dst: xtryasprintf
      Src: /src/gnupg/agent/command-ssh.c:2484,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2485,1
    - Dst: xtryasprintf
      Src: /src/gnupg/agent/command-ssh.c:2488,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:2491,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2492,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:2493,1
    - Dst: spacep
      Src: /src/gnupg/agent/command-ssh.c:2498,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2502,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 4
    argNames:
    - ctrl
    - keyinfo
    - r_pk
    - cardsn
    argTypes:
    - ctrl_t
    - struct card_key_info_s*
    - gcry_sexp_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2505
      start: 2422
    functionDepth: 2
    functionLinenumber: 2422
    functionLinenumberEnd: 2505
    functionName: card_key_available
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - agent_key_available
    - log_error
    - gpg_error_from_syserror
    - spacep
    - _
    - gcry_sexp_sscan
    - agent_card_getattr
    - xtryasprintf
    - gpg_strerror
    - log_info
    - gcry_sexp_canon_len
    - xfree
    - agent_card_readkey
    - hex2bin
    - gcry_sexp_release
    - agent_write_shadow_key
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t card_key_available (ctrl_t ctrl, const struct card_key_info_s
      *keyinfo,\n                    gcry_sexp_t *r_pk, char **cardsn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: agent_card_serialno
      Src: /src/gnupg/agent/command-ssh.c:2518,1
    - Dst: log_info
      Src: /src/gnupg/agent/command-ssh.c:2522,1
    - Dst: _
      Src: /src/gnupg/agent/command-ssh.c:2522,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command-ssh.c:2523,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2527,1
    - Dst: agent_card_keyinfo
      Src: /src/gnupg/agent/command-ssh.c:2529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2507
    functionDepth: 1
    functionLinenumber: 2507
    functionLinenumberEnd: 2534
    functionName: get_ssh_keyinfo_on_cards
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - _
    - agent_card_keyinfo
    - gpg_strerror
    - log_info
    - agent_card_serialno
    - xfree
    linkageType: ''
    returnType: struct card_key_info_s
    signature: 'struct card_key_info_s *

      get_ssh_keyinfo_on_cards (ctrl_t ctrl)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtryreallocarray
      Src: /src/gnupg/agent/command-ssh.c:2549,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:2552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - array
    - key
    - cardsn
    - order
    argTypes:
    - struct key_collection_s*
    - gcry_sexp_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2540
    functionDepth: 1
    functionLinenumber: 2540
    functionLinenumberEnd: 2561
    functionName: add_to_key_array
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - xtryreallocarray
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t add_to_key_array (struct key_collection_s *array, gcry_sexp_t
      key,\n                  char *cardsn, int order)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:2573,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2574,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - array
    argTypes:
    - struct key_collection_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2564
    functionDepth: 1
    functionLinenumber: 2564
    functionLinenumberEnd: 2578
    functionName: free_key_array
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - xfree
    - gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: void free_key_array (struct key_collection_s *array)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/agent/command-ssh.c:2594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - arg_a
    - arg_b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2596
      start: 2582
    functionDepth: 0
    functionLinenumber: 2582
    functionLinenumberEnd: 2596
    functionName: compare_key_collection_items
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int compare_key_collection_items (const void *arg_a, const void *arg_b)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: open_control_file
      Src: /src/gnupg/agent/command-ssh.c:2614,1
    - Dst: get_ssh_keyinfo_on_cards
      Src: /src/gnupg/agent/command-ssh.c:2619,1
    - Dst: make_filename_try
      Src: /src/gnupg/agent/command-ssh.c:2623,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/agent/command-ssh.c:2623,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:2627,1
    - Dst: ssh_close_control_file
      Src: /src/gnupg/agent/command-ssh.c:2628,1
    - Dst: agent_card_free_keyinfo
      Src: /src/gnupg/agent/command-ssh.c:2629,1
    - Dst: gnupg_opendir
      Src: /src/gnupg/agent/command-ssh.c:2632,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:2635,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2636,1
    - Dst: ssh_close_control_file
      Src: /src/gnupg/agent/command-ssh.c:2637,1
    - Dst: agent_card_free_keyinfo
      Src: /src/gnupg/agent/command-ssh.c:2638,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2641,1
    - Dst: gnupg_readdir
      Src: /src/gnupg/agent/command-ssh.c:2643,1
    - Dst: strlen
      Src: /src/gnupg/agent/command-ssh.c:2650,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command-ssh.c:2651,1
    - Dst: strncpy
      Src: /src/gnupg/agent/command-ssh.c:2653,1
    - Dst: hex2bin
      Src: /src/gnupg/agent/command-ssh.c:2656,1
    - Dst: memcmp
      Src: /src/gnupg/agent/command-ssh.c:2661,1
    - Dst: search_control_file
      Src: /src/gnupg/agent/command-ssh.c:2668,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command-ssh.c:2676,1
    - Dst: card_key_available
      Src: /src/gnupg/agent/command-ssh.c:2697,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2703,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2704,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2705,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2706,1
    - Dst: agent_public_key_from_file
      Src: /src/gnupg/agent/command-ssh.c:2715,1
    - Dst: agent_ssh_key_from_file
      Src: /src/gnupg/agent/command-ssh.c:2718,1
    - Dst: add_to_key_array
      Src: /src/gnupg/agent/command-ssh.c:2739,1
    - Dst: gnupg_closedir
      Src: /src/gnupg/agent/command-ssh.c:2742,1
    - Dst: ssh_close_control_file
      Src: /src/gnupg/agent/command-ssh.c:2743,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:2744,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2745,1
    - Dst: gnupg_closedir
      Src: /src/gnupg/agent/command-ssh.c:2750,1
    - Dst: ssh_close_control_file
      Src: /src/gnupg/agent/command-ssh.c:2751,1
    - Dst: card_key_available
      Src: /src/gnupg/agent/command-ssh.c:2757,1
    - Dst: add_to_key_array
      Src: /src/gnupg/agent/command-ssh.c:2760,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:2763,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2764,1
    - Dst: qsort
      Src: /src/gnupg/agent/command-ssh.c:2770,1
    - Dst: log_debug
      Src: /src/gnupg/agent/command-ssh.c:2774,1
    - Dst: ssh_send_key_public
      Src: /src/gnupg/agent/command-ssh.c:2782,1
    - Dst: gcry_log_debugsxp
      Src: /src/gnupg/agent/command-ssh.c:2787,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command-ssh.c:2788,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command-ssh.c:2789,1
    - Dst: agent_card_free_keyinfo
      Src: /src/gnupg/agent/command-ssh.c:2804,1
    - Dst: free_key_array
      Src: /src/gnupg/agent/command-ssh.c:2805,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 127
    argCount: 3
    argNames:
    - ctrl
    - key_blobs
    - r_key_counter
    argTypes:
    - ctrl_t
    - estream_t
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2807
      start: 2599
    functionDepth: 6
    functionLinenumber: 2599
    functionLinenumberEnd: 2807
    functionName: ssh_send_available_keys
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - gnupg_opendir
    - strlen
    - gnupg_homedir
    - gcry_log_debugsxp
    - strncpy
    - ssh_close_control_file
    - agent_public_key_from_file
    - ssh_send_key_public
    - add_to_key_array
    - hex2bin
    - gcry_sexp_release
    - qsort
    - log_debug
    - agent_ssh_key_from_file
    - open_control_file
    - gnupg_readdir
    - search_control_file
    - gnupg_closedir
    - gpg_error_from_syserror
    - strcmp
    - free_key_array
    - xfree
    - card_key_available
    - get_ssh_keyinfo_on_cards
    - memcmp
    - gpg_err_code
    - make_filename_try
    - agent_card_free_keyinfo
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ssh_send_available_keys (ctrl_t ctrl, estream_t key_blobs,
      u32 *r_key_counter)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/agent/command-ssh.c:2836,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:2839,1
    - Dst: ssh_send_available_keys
      Src: /src/gnupg/agent/command-ssh.c:2843,1
    - Dst: es_fseek
      Src: /src/gnupg/agent/command-ssh.c:2846,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:2848,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:2856,1
    - Dst: stream_write_uint32
      Src: /src/gnupg/agent/command-ssh.c:2858,1
    - Dst: stream_copy
      Src: /src/gnupg/agent/command-ssh.c:2860,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:2864,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command-ssh.c:2865,1
    - Dst: gpg_strsource
      Src: /src/gnupg/agent/command-ssh.c:2865,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:2866,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/command-ssh.c:2869,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - ctrl
    - request
    - response
    argTypes:
    - ctrl_t
    - estream_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2820
    functionDepth: 7
    functionLinenumber: 2820
    functionLinenumberEnd: 2872
    functionName: ssh_handler_request_identities
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - gpg_error_from_syserror
    - log_error
    - es_fclose
    - gpg_strsource
    - es_fseek
    - stream_copy
    - gpg_strerror
    - stream_write_byte
    - stream_write_uint32
    - ssh_send_available_keys
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_handler_request_identities (ctrl_t ctrl,\n                                estream_t
      request, estream_t response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/agent/command-ssh.c:2883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - data
    - data_n
    - md_algorithm
    - hash
    argTypes:
    - unsigned char*
    - size_t
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2886
      start: 2879
    functionDepth: 1
    functionLinenumber: 2879
    functionLinenumberEnd: 2886
    functionName: data_hash
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - gcry_md_hash_buffer
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t data_hash (unsigned char *data, size_t data_n,\n\t   int
      md_algorithm, unsigned char *hash)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:2914,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/command-ssh.c:2917,1
    - Dst: confirm_flag_from_sshcontrol
      Src: /src/gnupg/agent/command-ssh.c:2920,1
    - Dst: agent_raw_key_from_file
      Src: /src/gnupg/agent/command-ssh.c:2926,1
    - Dst: ssh_get_fingerprint_string
      Src: /src/gnupg/agent/command-ssh.c:2929,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/command-ssh.c:2932,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/agent/command-ssh.c:2934,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:2935,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:2937,1
    - Dst: xtryasprintf
      Src: /src/gnupg/agent/command-ssh.c:2940,1
    - Dst: L_
      Src: /src/gnupg/agent/command-ssh.c:2940,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2945,1
    - Dst: gcry_free
      Src: /src/gnupg/agent/command-ssh.c:2946,1
    - Dst: agent_get_confirmation
      Src: /src/gnupg/agent/command-ssh.c:2947,1
    - Dst: L_
      Src: /src/gnupg/agent/command-ssh.c:2947,1
    - Dst: L_
      Src: /src/gnupg/agent/command-ssh.c:2947,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:2948,1
    - Dst: agent_pksign_do
      Src: /src/gnupg/agent/command-ssh.c:2955,1
    - Dst: L_
      Src: /src/gnupg/agent/command-ssh.c:2956,1
    - Dst: es_fopenmem
      Src: /src/gnupg/agent/command-ssh.c:2965,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:2968,1
    - Dst: stream_write_cstring
      Src: /src/gnupg/agent/command-ssh.c:2972,1
    - Dst: ssh_key_type_spec_t*::signature_encoder
      Src: /src/gnupg/agent/command-ssh.c:2976,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/agent/command-ssh.c:2980,1
    - Dst: es_free
      Src: /src/gnupg/agent/command-ssh.c:2989,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/command-ssh.c:2990,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:2991,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 6
    argNames:
    - ctrl
    - spec
    - hash
    - hashlen
    - r_sig
    - r_siglen
    argTypes:
    - ctrl_t
    - ssh_key_type_spec_t*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2895
    functionDepth: 7
    functionLinenumber: 2895
    functionLinenumberEnd: 2994
    functionName: data_sign
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_find_token
    - L_
    - xtryasprintf
    - gcry_sexp_nth_string
    - es_fopenmem
    - ssh_get_fingerprint_string
    - es_free
    - agent_pksign_do
    - stream_write_cstring
    - gcry_sexp_release
    - gpg_error_from_syserror
    - gpg_error
    - xfree
    - gcry_free
    - es_fclose_snatch
    - bin2hex
    - es_fclose
    - agent_raw_key_from_file
    - confirm_flag_from_sshcontrol
    - agent_get_confirmation
    - ssh_key_type_spec_t*::signature_encoder
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t data_sign (ctrl_t ctrl, ssh_key_type_spec_t *spec,\n           const
      void *hash, size_t hashlen,\n\t   unsigned char **r_sig, size_t *r_siglen)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: stream_read_string
      Src: /src/gnupg/agent/command-ssh.c:3018,1
    - Dst: ssh_read_key_public_from_blob
      Src: /src/gnupg/agent/command-ssh.c:3022,1
    - Dst: stream_read_string
      Src: /src/gnupg/agent/command-ssh.c:3027,1
    - Dst: stream_read_uint32
      Src: /src/gnupg/agent/command-ssh.c:3035,1
    - Dst: gcry_pk_get_nbits
      Src: /src/gnupg/agent/command-ssh.c:3061,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:3064,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:3077,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:3086,1
    - Dst: ssh_key_grip
      Src: /src/gnupg/agent/command-ssh.c:3095,1
    - Dst: memcpy
      Src: /src/gnupg/agent/command-ssh.c:3099,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/agent/command-ssh.c:3108,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:3111,1
    - Dst: data_hash
      Src: /src/gnupg/agent/command-ssh.c:3114,1
    - Dst: memcpy
      Src: /src/gnupg/agent/command-ssh.c:3117,1
    - Dst: data_sign
      Src: /src/gnupg/agent/command-ssh.c:3123,1
    - Dst: data_sign
      Src: /src/gnupg/agent/command-ssh.c:3125,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:3131,1
    - Dst: stream_write_string
      Src: /src/gnupg/agent/command-ssh.c:3134,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:3140,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command-ssh.c:3141,1
    - Dst: gpg_strsource
      Src: /src/gnupg/agent/command-ssh.c:3141,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:3142,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:3149,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:3150,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:3151,1
    - Dst: es_free
      Src: /src/gnupg/agent/command-ssh.c:3152,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 107
    argCount: 3
    argNames:
    - ctrl
    - request
    - response
    argTypes:
    - ctrl_t
    - estream_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3155
      start: 2998
    functionDepth: 8
    functionLinenumber: 2998
    functionLinenumberEnd: 3155
    functionName: ssh_handler_sign_request
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - stream_read_uint32
    - data_sign
    - log_error
    - es_free
    - ssh_read_key_public_from_blob
    - stream_write_string
    - gcry_md_get_algo_dlen
    - gpg_strsource
    - gpg_error
    - ssh_key_grip
    - xfree
    - data_hash
    - gpg_strerror
    - gcry_sexp_release
    - stream_write_byte
    - gcry_pk_get_nbits
    - memcpy
    - stream_read_string
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ssh_handler_sign_request (ctrl_t ctrl, estream_t request,
      estream_t response)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/command-ssh.c:3168,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:3170,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/agent/command-ssh.c:3172,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:3173,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:3175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - key
    - r_comment
    argTypes:
    - gcry_sexp_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3178
      start: 3161
    functionDepth: 1
    functionLinenumber: 3161
    functionLinenumberEnd: 3178
    functionName: ssh_key_extract_comment
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - gcry_sexp_find_token
    - gcry_sexp_nth_string
    - gcry_sexp_release
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ssh_key_extract_comment (gcry_sexp_t key, char **r_comment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/command-ssh.c:3193,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/agent/command-ssh.c:3194,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:3197,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/command-ssh.c:3201,1
    - Dst: agent_protect
      Src: /src/gnupg/agent/command-ssh.c:3205,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:3218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - key
    - passphrase
    - buffer
    - buffer_n
    argTypes:
    - gcry_sexp_t
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3221
      start: 3185
    functionDepth: 1
    functionLinenumber: 3185
    functionLinenumberEnd: 3221
    functionName: ssh_key_to_protected_buffer
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - agent_protect
    - xtrymalloc_secure
    - xfree
    - gcry_sexp_sprint
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_key_to_protected_buffer (gcry_sexp_t key, const char
      *passphrase,\n\t\t\t     unsigned char **buffer, size_t *buffer_n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/agent/command-ssh.c:3232,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:3234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pi
    argTypes:
    - struct pin_entry_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3235
      start: 3227
    functionDepth: 1
    functionLinenumber: 3227
    functionLinenumberEnd: 3235
    functionName: reenter_compare_cb
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t reenter_compare_cb (struct pin_entry_info_s *pi)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnupg/agent/command-ssh.c:3253,1
    - Dst: ssh_key_grip
      Src: /src/gnupg/agent/command-ssh.c:3260,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/command-ssh.c:3264,1
    - Dst: ssh_get_fingerprint_string
      Src: /src/gnupg/agent/command-ssh.c:3266,1
    - Dst: agent_key_available
      Src: /src/gnupg/agent/command-ssh.c:3272,1
    - Dst: ssh_key_extract_comment
      Src: /src/gnupg/agent/command-ssh.c:3275,1
    - Dst: asprintf
      Src: /src/gnupg/agent/command-ssh.c:3279,1
    - Dst: L_
      Src: /src/gnupg/agent/command-ssh.c:3280,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:3287,1
    - Dst: gcry_calloc_secure
      Src: /src/gnupg/agent/command-ssh.c:3291,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:3294,1
    - Dst: gcry_calloc_secure
      Src: /src/gnupg/agent/command-ssh.c:3297,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:3300,1
    - Dst: agent_askpin
      Src: /src/gnupg/agent/command-ssh.c:3312,1
    - Dst: agent_askpin
      Src: /src/gnupg/agent/command-ssh.c:3321,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command-ssh.c:3322,1
    - Dst: L_
      Src: /src/gnupg/agent/command-ssh.c:3325,1
    - Dst: ssh_key_to_protected_buffer
      Src: /src/gnupg/agent/command-ssh.c:3330,1
    - Dst: agent_write_private_key
      Src: /src/gnupg/agent/command-ssh.c:3336,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/command-ssh.c:3342,1
    - Dst: add_control_entry
      Src: /src/gnupg/agent/command-ssh.c:3348,1
    - Dst: wipememory
      Src: /src/gnupg/agent/command-ssh.c:3353,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:3354,1
    - Dst: wipememory
      Src: /src/gnupg/agent/command-ssh.c:3356,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:3357,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:3358,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:3359,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:3360,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:3361,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 84
    argCount: 5
    argNames:
    - ctrl
    - spec
    - key
    - ttl
    - confirm
    argTypes:
    - ctrl_t
    - ssh_key_type_spec_t*
    - gcry_sexp_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3364
      start: 3243
    functionDepth: 7
    functionLinenumber: 3243
    functionLinenumberEnd: 3364
    functionName: ssh_identity_register
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - agent_write_private_key
    - ssh_get_fingerprint_string
    - agent_key_available
    - agent_put_cache
    - add_control_entry
    - gpg_error_from_syserror
    - agent_askpin
    - bin2hex
    - L_
    - gcry_calloc_secure
    - wipememory
    - ssh_key_grip
    - gpg_err_code
    - xfree
    - ssh_key_to_protected_buffer
    - ssh_key_extract_comment
    - asprintf
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_identity_register (ctrl_t ctrl, ssh_key_type_spec_t
      *spec,\n                       gcry_sexp_t key, int ttl, int confirm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssh_key_grip
      Src: /src/gnupg/agent/command-ssh.c:3376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3388
      start: 3370
    functionDepth: 2
    functionLinenumber: 3370
    functionLinenumberEnd: 3388
    functionName: ssh_identity_drop
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - ssh_key_grip
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ssh_identity_drop (gcry_sexp_t key)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ssh_receive_key
      Src: /src/gnupg/agent/command-ssh.c:3407,1
    - Dst: stream_read_byte
      Src: /src/gnupg/agent/command-ssh.c:3413,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command-ssh.c:3416,1
    - Dst: stream_read_uint32
      Src: /src/gnupg/agent/command-ssh.c:3427,1
    - Dst: ssh_identity_register
      Src: /src/gnupg/agent/command-ssh.c:3452,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:3456,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:3459,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:3461,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - ctrl
    - request
    - response
    argTypes:
    - ctrl_t
    - estream_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3464
      start: 3391
    functionDepth: 8
    functionLinenumber: 3391
    functionLinenumberEnd: 3464
    functionName: ssh_handler_add_identity
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - stream_read_uint32
    - ssh_receive_key
    - ssh_identity_register
    - gpg_err_code
    - gcry_sexp_release
    - stream_write_byte
    - stream_read_byte
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ssh_handler_add_identity (ctrl_t ctrl, estream_t request,
      estream_t response)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stream_read_string
      Src: /src/gnupg/agent/command-ssh.c:3484,1
    - Dst: ssh_read_key_public_from_blob
      Src: /src/gnupg/agent/command-ssh.c:3488,1
    - Dst: ssh_identity_drop
      Src: /src/gnupg/agent/command-ssh.c:3492,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:3496,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command-ssh.c:3497,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:3500,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:3502,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - ctrl
    - request
    - response
    argTypes:
    - ctrl_t
    - estream_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3505
      start: 3467
    functionDepth: 7
    functionLinenumber: 3467
    functionLinenumberEnd: 3505
    functionName: ssh_handler_remove_identity
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - ssh_read_key_public_from_blob
    - ssh_identity_drop
    - xfree
    - gcry_sexp_release
    - stream_write_byte
    - stream_read_string
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_handler_remove_identity (ctrl_t ctrl,\n\t\t\t     estream_t
      request, estream_t response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3519
      start: 3508
    functionDepth: 0
    functionLinenumber: 3508
    functionLinenumberEnd: 3519
    functionName: ssh_identities_remove_all
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ssh_identities_remove_all (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssh_identities_remove_all
      Src: /src/gnupg/agent/command-ssh.c:3532,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:3535,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:3537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctrl
    - request
    - response
    argTypes:
    - ctrl_t
    - estream_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3540
      start: 3522
    functionDepth: 2
    functionLinenumber: 3522
    functionLinenumberEnd: 3540
    functionName: ssh_handler_remove_all_identities
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - stream_write_byte
    - ssh_identities_remove_all
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ssh_handler_remove_all_identities (ctrl_t ctrl,\n\t\t\t\t
      \  estream_t request, estream_t response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:3549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3553
      start: 3543
    functionDepth: 1
    functionLinenumber: 3543
    functionLinenumberEnd: 3553
    functionName: ssh_lock
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ssh_lock (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:3561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3565
      start: 3556
    functionDepth: 1
    functionLinenumber: 3556
    functionLinenumberEnd: 3565
    functionName: ssh_unlock
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ssh_unlock (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssh_lock
      Src: /src/gnupg/agent/command-ssh.c:3577,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:3580,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:3582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctrl
    - request
    - response
    argTypes:
    - ctrl_t
    - estream_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3585
      start: 3568
    functionDepth: 2
    functionLinenumber: 3568
    functionLinenumberEnd: 3585
    functionName: ssh_handler_lock
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - stream_write_byte
    - ssh_lock
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ssh_handler_lock (ctrl_t ctrl, estream_t request, estream_t
      response)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssh_unlock
      Src: /src/gnupg/agent/command-ssh.c:3597,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:3600,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:3602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctrl
    - request
    - response
    argTypes:
    - ctrl_t
    - estream_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3605
      start: 3588
    functionDepth: 2
    functionLinenumber: 3588
    functionLinenumberEnd: 3605
    functionName: ssh_handler_unlock
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - ssh_unlock
    - stream_write_byte
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ssh_handler_unlock (ctrl_t ctrl, estream_t request, estream_t
      response)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: stream_read_cstring
      Src: /src/gnupg/agent/command-ssh.c:3617,1
    - Dst: log_info
      Src: /src/gnupg/agent/command-ssh.c:3622,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command-ssh.c:3623,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:3627,1
    - Dst: stream_read_cstring
      Src: /src/gnupg/agent/command-ssh.c:3628,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command-ssh.c:3629,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:3634,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:3637,1
    - Dst: stream_read_cstring
      Src: /src/gnupg/agent/command-ssh.c:3638,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:3642,1
    - Dst: log_debug
      Src: /src/gnupg/agent/command-ssh.c:3646,1
    - Dst: session_env_setenv
      Src: /src/gnupg/agent/command-ssh.c:3647,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:3651,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command-ssh.c:3652,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command-ssh.c:3658,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:3660,1
    - Dst: stream_write_cstring
      Src: /src/gnupg/agent/command-ssh.c:3662,1
    - Dst: session_env_list_stdenvnames
      Src: /src/gnupg/agent/command-ssh.c:3663,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command-ssh.c:3666,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:3668,1
    - Dst: log_info
      Src: /src/gnupg/agent/command-ssh.c:3669,1
    - Dst: log_info
      Src: /src/gnupg/agent/command-ssh.c:3676,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command-ssh.c:3677,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:3682,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:3684,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:3686,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:3687,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:3688,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 3
    argNames:
    - ctrl
    - request
    - response
    argTypes:
    - ctrl_t
    - estream_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3690
      start: 3608
    functionDepth: 4
    functionLinenumber: 3608
    functionLinenumberEnd: 3690
    functionName: ssh_handler_extension
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - stream_read_cstring
    - log_error
    - strcmp
    - session_env_list_stdenvnames
    - gpg_error
    - gpg_err_code
    - log_info
    - xfree
    - session_env_setenv
    - gpg_strerror
    - stream_write_cstring
    - stream_write_byte
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ssh_handler_extension (ctrl_t ctrl, estream_t request,
      estream_t response)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/agent/command-ssh.c:3703,1
    - Dst: DIM
      Src: /src/gnupg/agent/command-ssh.c:3706,1
    - Dst: log_info
      Src: /src/gnupg/agent/command-ssh.c:3709,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3716
      start: 3697
    functionDepth: 1
    functionLinenumber: 3697
    functionLinenumberEnd: 3716
    functionName: request_spec_lookup
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - DIM
    - log_info
    linkageType: ''
    returnType: ssh_request_spec_t
    signature: 'ssh_request_spec_t *

      request_spec_lookup (int type)'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: stream_read_string
      Src: /src/gnupg/agent/command-ssh.c:3748,1
    - Dst: log_info
      Src: /src/gnupg/agent/command-ssh.c:3753,1
    - Dst: request_spec_lookup
      Src: /src/gnupg/agent/command-ssh.c:3764,1
    - Dst: es_mopen
      Src: /src/gnupg/agent/command-ssh.c:3773,1
    - Dst: es_mopen
      Src: /src/gnupg/agent/command-ssh.c:3775,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:3778,1
    - Dst: es_setvbuf
      Src: /src/gnupg/agent/command-ssh.c:3781,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:3784,1
    - Dst: stream_write_data
      Src: /src/gnupg/agent/command-ssh.c:3787,1
    - Dst: es_rewind
      Src: /src/gnupg/agent/command-ssh.c:3790,1
    - Dst: es_fopenmem
      Src: /src/gnupg/agent/command-ssh.c:3792,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:3795,1
    - Dst: log_info
      Src: /src/gnupg/agent/command-ssh.c:3800,1
    - Dst: log_info
      Src: /src/gnupg/agent/command-ssh.c:3808,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command-ssh.c:3809,1
    - Dst: log_info
      Src: /src/gnupg/agent/command-ssh.c:3811,1
    - Dst: es_ftell
      Src: /src/gnupg/agent/command-ssh.c:3821,1
    - Dst: log_info
      Src: /src/gnupg/agent/command-ssh.c:3823,1
    - Dst: es_fseek
      Src: /src/gnupg/agent/command-ssh.c:3826,1
    - Dst: stream_write_uint32
      Src: /src/gnupg/agent/command-ssh.c:3833,1
    - Dst: stream_copy
      Src: /src/gnupg/agent/command-ssh.c:3840,1
    - Dst: es_fflush
      Src: /src/gnupg/agent/command-ssh.c:3844,1
    - Dst: es_feof
      Src: /src/gnupg/agent/command-ssh.c:3850,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:3851,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command-ssh.c:3852,1
    - Dst: log_info
      Src: /src/gnupg/agent/command-ssh.c:3857,1
    - Dst: stream_write_uint32
      Src: /src/gnupg/agent/command-ssh.c:3858,1
    - Dst: stream_write_byte
      Src: /src/gnupg/agent/command-ssh.c:3861,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/command-ssh.c:3868,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/command-ssh.c:3869,1
    - Dst: xfree
      Src: /src/gnupg/agent/command-ssh.c:3870,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 102
    argCount: 2
    argNames:
    - ctrl
    - stream_sock
    argTypes:
    - ctrl_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3873
      start: 3721
    functionDepth: 3
    functionLinenumber: 3721
    functionLinenumberEnd: 3873
    functionName: ssh_request_process
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - es_fseek
    - es_fflush
    - es_setvbuf
    - es_fopenmem
    - log_error
    - stream_copy
    - es_feof
    - es_rewind
    - log_info
    - stream_write_data
    - es_mopen
    - gpg_error_from_syserror
    - gpg_strerror
    - xfree
    - es_ftell
    - stream_write_byte
    - request_spec_lookup
    - es_fclose
    - stream_write_uint32
    - stream_read_string
    linkageType: ''
    returnType: int
    signature: int ssh_request_process (ctrl_t ctrl, estream_t stream_sock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/gnupg/agent/command-ssh.c:3892,1
    - Dst: FD2INT
      Src: /src/gnupg/agent/command-ssh.c:3892,1
    - Dst: getsockopt
      Src: /src/gnupg/agent/command-ssh.c:3909,1
    - Dst: FD2INT
      Src: /src/gnupg/agent/command-ssh.c:3909,1
    - Dst: getsockopt
      Src: /src/gnupg/agent/command-ssh.c:3915,1
    - Dst: FD2INT
      Src: /src/gnupg/agent/command-ssh.c:3915,1
    - Dst: getsockopt
      Src: /src/gnupg/agent/command-ssh.c:3925,1
    - Dst: FD2INT
      Src: /src/gnupg/agent/command-ssh.c:3925,1
    - Dst: getpeerucred
      Src: /src/gnupg/agent/command-ssh.c:3935,1
    - Dst: FD2INT
      Src: /src/gnupg/agent/command-ssh.c:3935,1
    - Dst: ucred_getpid
      Src: /src/gnupg/agent/command-ssh.c:3937,1
    - Dst: ucred_geteuid
      Src: /src/gnupg/agent/command-ssh.c:3938,1
    - Dst: ucred_free
      Src: /src/gnupg/agent/command-ssh.c:3939,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - fd
    - out
    argTypes:
    - gnupg_fd_t
    - struct peer_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3948
      start: 3877
    functionDepth: 1
    functionLinenumber: 3877
    functionLinenumberEnd: 3948
    functionName: get_client_info
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - getsockopt
    - FD2INT
    - getpeerucred
    - ucred_free
    - ucred_geteuid
    - ucred_getpid
    linkageType: ''
    returnType: void
    signature: void get_client_info (gnupg_fd_t fd, struct peer_info_s *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: agent_copy_startup_env
      Src: /src/gnupg/agent/command-ssh.c:3958,1
    - Dst: es_setvbuf
      Src: /src/gnupg/agent/command-ssh.c:3964,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:3967,1
    - Dst: strerror
      Src: /src/gnupg/agent/command-ssh.c:3968,1
    - Dst: ssh_request_process
      Src: /src/gnupg/agent/command-ssh.c:3973,1
    - Dst: es_fgetc
      Src: /src/gnupg/agent/command-ssh.c:3979,1
    - Dst: es_ungetc
      Src: /src/gnupg/agent/command-ssh.c:3982,1
    - Dst: agent_reset_daemon
      Src: /src/gnupg/agent/command-ssh.c:3986,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/command-ssh.c:3989,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ctrl
    - stream
    argTypes:
    - ctrl_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3990
      start: 3952
    functionDepth: 4
    functionLinenumber: 3952
    functionLinenumberEnd: 3990
    functionName: start_command_handler_ssh_stream
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - agent_reset_daemon
    - log_error
    - es_fclose
    - es_ungetc
    - agent_copy_startup_env
    - es_fgetc
    - ssh_request_process
    - strerror
    - es_setvbuf
    linkageType: ''
    returnType: void
    signature: void start_command_handler_ssh_stream (ctrl_t ctrl, estream_t stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_client_info
      Src: /src/gnupg/agent/command-ssh.c:4008,1
    - Dst: es_sysopen
      Src: /src/gnupg/agent/command-ssh.c:4013,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:4016,1
    - Dst: _
      Src: /src/gnupg/agent/command-ssh.c:4016,1
    - Dst: strerror
      Src: /src/gnupg/agent/command-ssh.c:4017,1
    - Dst: start_command_handler_ssh_stream
      Src: /src/gnupg/agent/command-ssh.c:4021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ctrl
    - sock_client
    argTypes:
    - ctrl_t
    - gnupg_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4022
      start: 3994
    functionDepth: 5
    functionLinenumber: 3994
    functionLinenumberEnd: 4022
    functionName: start_command_handler_ssh
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - log_error
    - es_sysopen
    - start_command_handler_ssh_stream
    - _
    - strerror
    - get_client_info
    linkageType: ''
    returnType: void
    signature: void start_command_handler_ssh (ctrl_t ctrl, gnupg_fd_t sock_client)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: agent_copy_startup_env
      Src: /src/gnupg/agent/command-ssh.c:4041,1
    - Dst: uint32_construct
      Src: /src/gnupg/agent/command-ssh.c:4047,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:4050,1
    - Dst: request_spec_lookup
      Src: /src/gnupg/agent/command-ssh.c:4054,1
    - Dst: es_mopen
      Src: /src/gnupg/agent/command-ssh.c:4063,1
    - Dst: es_mopen
      Src: /src/gnupg/agent/command-ssh.c:4065,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:4068,1
    - Dst: es_setvbuf
      Src: /src/gnupg/agent/command-ssh.c:4073,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:4075,1
    - Dst: stream_write_data
      Src: /src/gnupg/agent/command-ssh.c:4079,1
    - Dst: es_rewind
      Src: /src/gnupg/agent/command-ssh.c:4082,1
    - Dst: es_fopenmem
      Src: /src/gnupg/agent/command-ssh.c:4084,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:4087,1
    - Dst: log_info
      Src: /src/gnupg/agent/command-ssh.c:4092,1
    - Dst: log_info
      Src: /src/gnupg/agent/command-ssh.c:4100,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command-ssh.c:4101,1
    - Dst: log_info
      Src: /src/gnupg/agent/command-ssh.c:4103,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/command-ssh.c:4107,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/agent/command-ssh.c:4123,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:4125,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command-ssh.c:4126,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command-ssh.c:4126,1
    - Dst: log_info
      Src: /src/gnupg/agent/command-ssh.c:4132,1
    - Dst: log_error
      Src: /src/gnupg/agent/command-ssh.c:4136,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command-ssh.c:4137,1
    - Dst: es_free
      Src: /src/gnupg/agent/command-ssh.c:4138,1
    - Dst: memcpy
      Src: /src/gnupg/agent/command-ssh.c:4147,1
    - Dst: es_free
      Src: /src/gnupg/agent/command-ssh.c:4148,1
    - Dst: agent_reset_daemon
      Src: /src/gnupg/agent/command-ssh.c:4164,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 93
    argCount: 3
    argNames:
    - ctrl
    - request
    - maxreqlen
    argTypes:
    - ctrl_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4167
      start: 4030
    functionDepth: 2
    functionLinenumber: 4030
    functionLinenumberEnd: 4167
    functionName: serve_mmapped_ssh_request
    functionSourceFile: /src/gnupg/agent/command-ssh.c
    functionUses: 0
    functionsReached:
    - uint32_construct
    - es_fopenmem
    - stream_write_data
    - es_fclose_snatch
    - agent_reset_daemon
    - es_mopen
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - es_free
    - agent_copy_startup_env
    - es_rewind
    - log_info
    - gpg_strerror
    - memcpy
    - es_setvbuf
    - request_spec_lookup
    linkageType: ''
    returnType: int
    signature: "int serve_mmapped_ssh_request (ctrl_t ctrl,\n                           unsigned
      char *request, size_t maxreqlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_init
      Src: /src/gnupg/agent/call-pinentry.c:116,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/call-pinentry.c:118,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-pinentry.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: initialize_module_call_pinentry
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - npth_mutex_init
    - log_fatal
    - strerror
    linkageType: ''
    returnType: void
    signature: void initialize_module_call_pinentry (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/agent/call-pinentry.c:131,1
    - Dst: assuan_get_pid
      Src: /src/gnupg/agent/call-pinentry.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: agent_query_dump_state
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - assuan_get_pid
    - log_info
    linkageType: ''
    returnType: void
    signature: void agent_query_dump_state (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: agent_popup_message_stop
      Src: /src/gnupg/agent/call-pinentry.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: agent_reset_query
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - agent_popup_message_stop
    linkageType: ''
    returnType: void
    signature: void agent_reset_query (ctrl_t ctrl)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/agent/call-pinentry.c:161,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/call-pinentry.c:162,1
    - Dst: gpg_strsource
      Src: /src/gnupg/agent/call-pinentry.c:162,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:168,1
    - Dst: gpg_err_make
      Src: /src/gnupg/agent/call-pinentry.c:186,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:186,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/agent/call-pinentry.c:194,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-pinentry.c:197,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-pinentry.c:197,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/agent/call-pinentry.c:199,1
    - Dst: assuan_release
      Src: /src/gnupg/agent/call-pinentry.c:201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - ctrl
    - rc
    argTypes:
    - ctrl_t
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 204
    functionName: unlock_pinentry
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - npth_mutex_unlock
    - log_error
    - assuan_release
    - gpg_err_make
    - gpg_error_from_errno
    - gpg_err_code
    - gpg_strerror
    - gpg_strsource
    - strerror
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t unlock_pinentry (ctrl_t ctrl, gpg_error_t rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: session_env_list_stdenvnames
      Src: /src/gnupg/agent/call-pinentry.c:215,1
    - Dst: strcmp
      Src: /src/gnupg/agent/call-pinentry.c:228,1
    - Dst: strcmp
      Src: /src/gnupg/agent/call-pinentry.c:229,1
    - Dst: strcmp
      Src: /src/gnupg/agent/call-pinentry.c:230,1
    - Dst: session_env_getenv
      Src: /src/gnupg/agent/call-pinentry.c:232,1
    - Dst: log_debug
      Src: /src/gnupg/agent/call-pinentry.c:236,1
    - Dst: gnupg_setenv
      Src: /src/gnupg/agent/call-pinentry.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - ctrl
    - debug_mode
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 242
    functionName: atfork_core
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - strcmp
    - session_env_list_stdenvnames
    - gnupg_setenv
    - session_env_getenv
    - log_debug
    linkageType: ''
    returnType: void
    signature: void atfork_core (ctrl_t ctrl, int debug_mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/gnupg/agent/call-pinentry.c:254,1
    - Dst: atfork_core
      Src: /src/gnupg/agent/call-pinentry.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - opaque
    - where
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: atfork_cb
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - atfork_core
    - gcry_control
    linkageType: ''
    returnType: void
    signature: void atfork_cb (void *opaque, int where)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-pinentry.c:270,1
    - Dst: strtokenize
      Src: /src/gnupg/agent/call-pinentry.c:272,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/call-pinentry.c:274,1
    - Dst: strcmp
      Src: /src/gnupg/agent/call-pinentry.c:276,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 282
    functionName: getinfo_features_cb
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - strtokenize
    - strcmp
    - xfree
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t getinfo_features_cb (void *opaque, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/gnupg/agent/call-pinentry.c:296,1
    - Dst: strtoul
      Src: /src/gnupg/agent/call-pinentry.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - opaque
    - buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 301
    functionName: getinfo_pid_cb
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - strncpy
    - strtoul
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t getinfo_pid_cb (void *opaque, const void *buffer, size_t
      length)
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: npth_clock_gettime
      Src: /src/gnupg/agent/call-pinentry.c:333,1
    - Dst: npth_mutex_timedlock
      Src: /src/gnupg/agent/call-pinentry.c:335,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:339,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/agent/call-pinentry.c:341,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-pinentry.c:342,1
    - Dst: _
      Src: /src/gnupg/agent/call-pinentry.c:342,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/call-pinentry.c:343,1
    - Dst: log_info
      Src: /src/gnupg/agent/call-pinentry.c:351,1
    - Dst: fflush
      Src: /src/gnupg/agent/call-pinentry.c:354,1
    - Dst: fflush
      Src: /src/gnupg/agent/call-pinentry.c:355,1
    - Dst: fflush
      Src: /src/gnupg/agent/call-pinentry.c:357,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:360,1
    - Dst: gpg_err_code_from_errno
      Src: /src/gnupg/agent/call-pinentry.c:360,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-pinentry.c:362,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-pinentry.c:362,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:368,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/agent/call-pinentry.c:374,1
    - Dst: strrchr
      Src: /src/gnupg/agent/call-pinentry.c:375,1
    - Dst: session_env_getenv
      Src: /src/gnupg/agent/call-pinentry.c:390,1
    - Dst: assuan_fd_from_posix_fd
      Src: /src/gnupg/agent/call-pinentry.c:401,1
    - Dst: fileno
      Src: /src/gnupg/agent/call-pinentry.c:401,1
    - Dst: assuan_new
      Src: /src/gnupg/agent/call-pinentry.c:404,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-pinentry.c:407,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/call-pinentry.c:407,1
    - Dst: assuan_set_flag
      Src: /src/gnupg/agent/call-pinentry.c:418,1
    - Dst: assuan_pipe_connect
      Src: /src/gnupg/agent/call-pinentry.c:425,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-pinentry.c:430,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/call-pinentry.c:431,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:432,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:432,1
    - Dst: log_debug
      Src: /src/gnupg/agent/call-pinentry.c:436,1
    - Dst: atfork_core
      Src: /src/gnupg/agent/call-pinentry.c:439,1
    - Dst: session_env_getenv
      Src: /src/gnupg/agent/call-pinentry.c:441,1
    - Dst: asprintf
      Src: /src/gnupg/agent/call-pinentry.c:445,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:446,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/call-pinentry.c:446,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:447,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:449,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:450,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:451,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:454,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:459,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:460,1
    - Dst: log_info
      Src: /src/gnupg/agent/call-pinentry.c:463,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:467,1
    - Dst: session_env_getenv
      Src: /src/gnupg/agent/call-pinentry.c:470,1
    - Dst: asprintf
      Src: /src/gnupg/agent/call-pinentry.c:474,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:475,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/call-pinentry.c:475,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:476,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:478,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:480,1
    - Dst: session_env_getenv
      Src: /src/gnupg/agent/call-pinentry.c:482,1
    - Dst: asprintf
      Src: /src/gnupg/agent/call-pinentry.c:486,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:487,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/call-pinentry.c:487,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:488,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:490,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:492,1
    - Dst: asprintf
      Src: /src/gnupg/agent/call-pinentry.c:497,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:498,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/call-pinentry.c:498,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:499,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:501,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:503,1
    - Dst: asprintf
      Src: /src/gnupg/agent/call-pinentry.c:508,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:509,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/call-pinentry.c:509,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:510,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:512,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:514,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:527,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:529,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:530,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:537,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:539,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:540,1
    - Dst: N_
      Src: /src/gnupg/agent/call-pinentry.c:556,1
    - Dst: N_
      Src: /src/gnupg/agent/call-pinentry.c:557,1
    - Dst: N_
      Src: /src/gnupg/agent/call-pinentry.c:558,1
    - Dst: N_
      Src: /src/gnupg/agent/call-pinentry.c:559,1
    - Dst: N_
      Src: /src/gnupg/agent/call-pinentry.c:560,1
    - Dst: N_
      Src: /src/gnupg/agent/call-pinentry.c:561,1
    - Dst: N_
      Src: /src/gnupg/agent/call-pinentry.c:562,1
    - Dst: N_
      Src: /src/gnupg/agent/call-pinentry.c:564,1
    - Dst: N_
      Src: /src/gnupg/agent/call-pinentry.c:565,1
    - Dst: N_
      Src: /src/gnupg/agent/call-pinentry.c:566,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:577,1
    - Dst: strchr
      Src: /src/gnupg/agent/call-pinentry.c:578,1
    - Dst: asprintf
      Src: /src/gnupg/agent/call-pinentry.c:580,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:581,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/call-pinentry.c:581,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:582,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:584,1
    - Dst: xtryasprintf
      Src: /src/gnupg/agent/call-pinentry.c:593,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:596,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:600,1
    - Dst: xtryasprintf
      Src: /src/gnupg/agent/call-pinentry.c:607,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:609,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:612,1
    - Dst: strcmp
      Src: /src/gnupg/agent/call-pinentry.c:620,1
    - Dst: get_agent_socket_name
      Src: /src/gnupg/agent/call-pinentry.c:623,1
    - Dst: asprintf
      Src: /src/gnupg/agent/call-pinentry.c:628,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:632,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:634,1
    - Dst: uname
      Src: /src/gnupg/agent/call-pinentry.c:646,1
    - Dst: xtryasprintf
      Src: /src/gnupg/agent/call-pinentry.c:650,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:654,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:658,1
    - Dst: init_membuf
      Src: /src/gnupg/agent/call-pinentry.c:671,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:672,1
    - Dst: put_membuf_str
      Src: /src/gnupg/agent/call-pinentry.c:676,1
    - Dst: put_membuf_str
      Src: /src/gnupg/agent/call-pinentry.c:677,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:678,1
    - Dst: put_membuf_str
      Src: /src/gnupg/agent/call-pinentry.c:680,1
    - Dst: put_membuf_str
      Src: /src/gnupg/agent/call-pinentry.c:681,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:682,1
    - Dst: put_membuf_str
      Src: /src/gnupg/agent/call-pinentry.c:684,1
    - Dst: put_membuf
      Src: /src/gnupg/agent/call-pinentry.c:685,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/call-pinentry.c:686,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:694,1
    - Dst: log_info
      Src: /src/gnupg/agent/call-pinentry.c:699,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-pinentry.c:703,1
    - Dst: agent_inq_pinentry_launched
      Src: /src/gnupg/agent/call-pinentry.c:706,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:707,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:708,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:709,1
    - Dst: gpg_err_make
      Src: /src/gnupg/agent/call-pinentry.c:709,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:710,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:714,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 191
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 717
    functionName: start_pinentry
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - put_membuf
    - L_
    - gpg_err_make
    - put_membuf_str
    - xtryasprintf
    - npth_mutex_timedlock
    - init_membuf
    - log_error
    - _
    - N_
    - gpg_error_from_errno
    - fflush
    - npth_clock_gettime
    - log_info
    - get_agent_socket_name
    - session_env_getenv
    - assuan_fd_from_posix_fd
    - out_of_core
    - log_debug
    - asprintf
    - assuan_new
    - gnupg_module_name
    - unlock_pinentry
    - atfork_core
    - fileno
    - assuan_transact
    - strcmp
    - gpg_error
    - strchr
    - gpg_strerror
    - xfree
    - assuan_pipe_connect
    - agent_inq_pinentry_launched
    - get_membuf
    - uname
    - gpg_err_code
    - strrchr
    - assuan_set_flag
    - strerror
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t start_pinentry (ctrl_t ctrl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: npth_clock_gettime
      Src: /src/gnupg/agent/call-pinentry.c:734,1
    - Dst: npth_mutex_timedlock
      Src: /src/gnupg/agent/call-pinentry.c:736,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:740,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:742,1
    - Dst: npth_mutex_trylock
      Src: /src/gnupg/agent/call-pinentry.c:748,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:750,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/agent/call-pinentry.c:753,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-pinentry.c:755,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-pinentry.c:756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ctrl
    - waitseconds
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 758
    functionName: pinentry_active_p
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - npth_mutex_unlock
    - log_error
    - gpg_error
    - npth_mutex_trylock
    - npth_clock_gettime
    - npth_mutex_timedlock
    - strerror
    linkageType: ''
    returnType: int
    signature: int pinentry_active_p (ctrl_t ctrl, int waitseconds)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:771,1
    - Dst: memcpy
      Src: /src/gnupg/agent/call-pinentry.c:775,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - opaque
    - buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 779
    functionName: getpin_cb
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t getpin_cb (void *opaque, const void *buffer, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 788
    functionName: all_digitsp
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int all_digitsp( const char *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/agent/call-pinentry.c:801,1
    - Dst: strlen
      Src: /src/gnupg/agent/call-pinentry.c:801,1
    - Dst: spacep
      Src: /src/gnupg/agent/call-pinentry.c:804,1
    - Dst: xtoi_2
      Src: /src/gnupg/agent/call-pinentry.c:809,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 825
    functionName: unescape_passphrase_string
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - spacep
    - xtoi_2
    - xtrymalloc_secure
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      unescape_passphrase_string (const unsigned char *s)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/agent/call-pinentry.c:841,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pw
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 847
    functionName: estimate_passphrase_quality
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - spacep
    linkageType: ''
    returnType: int
    signature: int estimate_passphrase_quality (const char *pw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_random_bytes_secure
      Src: /src/gnupg/agent/call-pinentry.c:864,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-pinentry.c:867,1
    - Dst: zb32_encode
      Src: /src/gnupg/agent/call-pinentry.c:871,1
    - Dst: gcry_free
      Src: /src/gnupg/agent/call-pinentry.c:872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 874
    functionName: generate_pin
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - zb32_encode
    - gcry_random_bytes_secure
    - log_error
    linkageType: ''
    returnType: char
    signature: 'char *

      generate_pin (void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/agent/call-pinentry.c:899,1
    - Dst: strlen
      Src: /src/gnupg/agent/call-pinentry.c:899,1
    - Dst: memcmp
      Src: /src/gnupg/agent/call-pinentry.c:901,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - parm
    - pin
    argTypes:
    - struct inq_cb_parm_s*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 905
    functionName: is_generated_pin
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcmp
    - gcry_md_hash_buffer
    linkageType: ''
    returnType: int
    signature: int is_generated_pin (struct inq_cb_parm_s *parm, const char *pin)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-pinentry.c:916,1
    - Dst: unescape_passphrase_string
      Src: /src/gnupg/agent/call-pinentry.c:921,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/call-pinentry.c:923,1
    - Dst: estimate_passphrase_quality
      Src: /src/gnupg/agent/call-pinentry.c:926,1
    - Dst: check_passphrase_constraints
      Src: /src/gnupg/agent/call-pinentry.c:927,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:929,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/call-pinentry.c:930,1
    - Dst: strlen
      Src: /src/gnupg/agent/call-pinentry.c:930,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:931,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-pinentry.c:934,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-pinentry.c:941,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:943,1
    - Dst: unescape_passphrase_string
      Src: /src/gnupg/agent/call-pinentry.c:947,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/call-pinentry.c:949,1
    - Dst: is_generated_pin
      Src: /src/gnupg/agent/call-pinentry.c:952,1
    - Dst: check_passphrase_constraints
      Src: /src/gnupg/agent/call-pinentry.c:953,1
    - Dst: percent_unescape_inplace
      Src: /src/gnupg/agent/call-pinentry.c:959,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/call-pinentry.c:960,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-pinentry.c:964,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:965,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/call-pinentry.c:970,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:972,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:973,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-pinentry.c:976,1
    - Dst: generate_pin
      Src: /src/gnupg/agent/call-pinentry.c:981,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-pinentry.c:984,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:985,1
    - Dst: assuan_get_flag
      Src: /src/gnupg/agent/call-pinentry.c:988,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/agent/call-pinentry.c:989,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/call-pinentry.c:990,1
    - Dst: strlen
      Src: /src/gnupg/agent/call-pinentry.c:990,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/agent/call-pinentry.c:992,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/agent/call-pinentry.c:993,1
    - Dst: strlen
      Src: /src/gnupg/agent/call-pinentry.c:993,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:995,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-pinentry.c:999,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:1000,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 908
    functionDepth: 8
    functionLinenumber: 908
    functionLinenumberEnd: 1005
    functionName: inq_cb
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 8
    functionsReached:
    - assuan_send_data
    - check_passphrase_constraints
    - gpg_error_from_syserror
    - strlen
    - snprintf
    - log_error
    - is_generated_pin
    - percent_unescape_inplace
    - generate_pin
    - assuan_begin_confidential
    - assuan_end_confidential
    - gcry_md_hash_buffer
    - gpg_error
    - xfree
    - assuan_get_flag
    - unescape_passphrase_string
    - estimate_passphrase_quality
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t inq_cb (void *opaque, const char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: try_percent_escape
      Src: /src/gnupg/agent/call-pinentry.c:1021,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1021,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1022,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1022,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:1023,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1024,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1025,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1026,1
    - Dst: gnupg_get_help_string
      Src: /src/gnupg/agent/call-pinentry.c:1031,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1043,1
    - Dst: strcmp
      Src: /src/gnupg/agent/call-pinentry.c:1044,1
    - Dst: try_percent_escape
      Src: /src/gnupg/agent/call-pinentry.c:1047,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:1048,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1049,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1049,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:1050,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1051,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1052,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1053,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1009
    functionDepth: 8
    functionLinenumber: 1009
    functionLinenumberEnd: 1059
    functionName: setup_genpin
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - try_percent_escape
    - snprintf
    - L_
    - DIM
    - assuan_transact
    - strcmp
    - gnupg_get_help_string
    - xfree
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t setup_genpin (ctrl_t ctrl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: N_
      Src: /src/gnupg/agent/call-pinentry.c:1071,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1086,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1086,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1087,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1089,1
    - Dst: gnupg_get_help_string
      Src: /src/gnupg/agent/call-pinentry.c:1094,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1098,1
    - Dst: try_percent_escape
      Src: /src/gnupg/agent/call-pinentry.c:1099,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:1100,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1103,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1103,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1105,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:1110,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1063
    functionDepth: 8
    functionLinenumber: 1063
    functionLinenumberEnd: 1117
    functionName: setup_formatted_passphrase
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - try_percent_escape
    - snprintf
    - DIM
    - L_
    - assuan_transact
    - gnupg_get_help_string
    - gpg_err_code
    - xfree
    - N_
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t setup_formatted_passphrase (ctrl_t ctrl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: N_
      Src: /src/gnupg/agent/call-pinentry.c:1130,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1145,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1145,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1146,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1148,1
    - Dst: gnupg_get_help_string
      Src: /src/gnupg/agent/call-pinentry.c:1153,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1157,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-pinentry.c:1160,1
    - Dst: try_percent_escape
      Src: /src/gnupg/agent/call-pinentry.c:1163,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:1164,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1167,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1167,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1169,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:1174,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1175,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1121
    functionDepth: 8
    functionLinenumber: 1121
    functionLinenumberEnd: 1181
    functionName: setup_enforced_constraints
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - log_error
    - try_percent_escape
    - snprintf
    - DIM
    - L_
    - assuan_transact
    - gnupg_get_help_string
    - gpg_err_code
    - xfree
    - N_
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t setup_enforced_constraints (ctrl_t ctrl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: try_percent_escape
      Src: /src/gnupg/agent/call-pinentry.c:1197,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1197,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1198,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1198,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:1199,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1200,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1202,1
    - Dst: gnupg_get_help_string
      Src: /src/gnupg/agent/call-pinentry.c:1207,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1218,1
    - Dst: strcmp
      Src: /src/gnupg/agent/call-pinentry.c:1219,1
    - Dst: try_percent_escape
      Src: /src/gnupg/agent/call-pinentry.c:1224,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:1225,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1226,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1226,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:1227,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1228,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1185
    functionDepth: 8
    functionLinenumber: 1185
    functionLinenumberEnd: 1236
    functionName: setup_qualitybar
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - try_percent_escape
    - snprintf
    - L_
    - DIM
    - assuan_transact
    - strcmp
    - gnupg_get_help_string
    - xfree
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t setup_qualitybar (ctrl_t ctrl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-pinentry.c:1246,1
    - Dst: strcmp
      Src: /src/gnupg/agent/call-pinentry.c:1248,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-pinentry.c:1251,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-pinentry.c:1255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1240
    functionDepth: 1
    functionLinenumber: 1240
    functionLinenumberEnd: 1261
    functionName: pinentry_status_cb
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - strcmp
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t pinentry_status_cb (void *opaque, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1272,1
    - Dst: strchr
      Src: /src/gnupg/agent/call-pinentry.c:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - line
    - linelen
    - desc
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1281
    functionName: build_cmd_setdesc
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strchr
    linkageType: ''
    returnType: void
    signature: void build_cmd_setdesc (char *line, size_t linelen, const char *desc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/gnupg/agent/call-pinentry.c:1302,1
    - Dst: FD_SET
      Src: /src/gnupg/agent/call-pinentry.c:1303,1
    - Dst: FD2INT
      Src: /src/gnupg/agent/call-pinentry.c:1303,1
    - Dst: npth_select
      Src: /src/gnupg/agent/call-pinentry.c:1304,1
    - Dst: FD2NUM
      Src: /src/gnupg/agent/call-pinentry.c:1304,1
    - Dst: assuan_pipe_kill_server
      Src: /src/gnupg/agent/call-pinentry.c:1319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1322
    functionName: watch_sock
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - FD_ZERO
    - FD2INT
    - assuan_pipe_kill_server
    - FD_SET
    - npth_select
    - FD2NUM
    linkageType: ''
    returnType: void
    signature: 'void *

      watch_sock (void *arg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_attr_init
      Src: /src/gnupg/agent/call-pinentry.c:1331,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-pinentry.c:1334,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-pinentry.c:1334,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/agent/call-pinentry.c:1335,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/agent/call-pinentry.c:1337,1
    - Dst: npth_create
      Src: /src/gnupg/agent/call-pinentry.c:1339,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/agent/call-pinentry.c:1340,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-pinentry.c:1343,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-pinentry.c:1343,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/agent/call-pinentry.c:1344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - sock_p
    - thread_p
    argTypes:
    - gnupg_fd_t*
    - npth_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1348
    functionName: watch_sock_start
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - log_error
    - npth_attr_init
    - npth_create
    - npth_attr_destroy
    - npth_attr_setdetachstate
    - gpg_error_from_errno
    - strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t watch_sock_start (gnupg_fd_t *sock_p, npth_t *thread_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_join
      Src: /src/gnupg/agent/call-pinentry.c:1356,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-pinentry.c:1358,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-pinentry.c:1358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sock_p
    - thread_p
    argTypes:
    - gnupg_fd_t*
    - npth_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1350
    functionDepth: 1
    functionLinenumber: 1350
    functionLinenumberEnd: 1359
    functionName: watch_sock_end
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - strerror
    - npth_join
    - log_error
    linkageType: ''
    returnType: void
    signature: void watch_sock_end (gnupg_fd_t *sock_p, npth_t *thread_p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: watch_sock_start
      Src: /src/gnupg/agent/call-pinentry.c:1374,1
    - Dst: assuan_get_flag
      Src: /src/gnupg/agent/call-pinentry.c:1382,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/agent/call-pinentry.c:1383,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1384,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/agent/call-pinentry.c:1388,1
    - Dst: is_generated_pin
      Src: /src/gnupg/agent/call-pinentry.c:1390,1
    - Dst: gpg_err_source
      Src: /src/gnupg/agent/call-pinentry.c:1398,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1398,1
    - Dst: gpg_err_make
      Src: /src/gnupg/agent/call-pinentry.c:1399,1
    - Dst: gpg_err_source
      Src: /src/gnupg/agent/call-pinentry.c:1399,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1403,1
    - Dst: gpg_err_make
      Src: /src/gnupg/agent/call-pinentry.c:1404,1
    - Dst: gpg_err_source
      Src: /src/gnupg/agent/call-pinentry.c:1404,1
    - Dst: watch_sock_end
      Src: /src/gnupg/agent/call-pinentry.c:1406,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - ctrl
    - parm
    argTypes:
    - ctrl_t
    - struct entry_parm_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1365
    functionDepth: 2
    functionLinenumber: 1365
    functionLinenumberEnd: 1409
    functionName: do_getpin
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - watch_sock_end
    - assuan_end_confidential
    - is_generated_pin
    - assuan_begin_confidential
    - gpg_err_make
    - assuan_transact
    - assuan_get_flag
    - watch_sock_start
    - gpg_err_code
    - gpg_err_source
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_getpin (ctrl_t ctrl, struct entry_parm_s *parm)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:1435,1
    - Dst: pinentry_loopback
      Src: /src/gnupg/agent/call-pinentry.c:1442,1
    - Dst: memcpy
      Src: /src/gnupg/agent/call-pinentry.c:1447,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:1448,1
    - Dst: struct pin_entry_info_s*::check_cb
      Src: /src/gnupg/agent/call-pinentry.c:1454,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:1458,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:1462,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1464,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1467,1
    - Dst: strstr
      Src: /src/gnupg/agent/call-pinentry.c:1471,1
    - Dst: strstr
      Src: /src/gnupg/agent/call-pinentry.c:1473,1
    - Dst: start_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1475,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1486,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1486,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1491,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1491,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1493,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1495,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1496,1
    - Dst: build_cmd_setdesc
      Src: /src/gnupg/agent/call-pinentry.c:1498,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1498,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1499,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1501,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1503,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1503,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1504,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1504,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1505,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1507,1
    - Dst: setup_qualitybar
      Src: /src/gnupg/agent/call-pinentry.c:1514,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1516,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1521,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1521,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1522,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1525,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1530,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1530,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1531,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1532,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1539,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1539,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1540,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1541,1
    - Dst: memset
      Src: /src/gnupg/agent/call-pinentry.c:1553,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1564,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1564,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1564,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1566,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1569,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1575,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1575,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1575,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1576,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1579,1
    - Dst: do_getpin
      Src: /src/gnupg/agent/call-pinentry.c:1582,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1586,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1587,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1588,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1590,1
    - Dst: all_digitsp
      Src: /src/gnupg/agent/call-pinentry.c:1595,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1596,1
    - Dst: strlen
      Src: /src/gnupg/agent/call-pinentry.c:1598,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1599,1
    - Dst: strlen
      Src: /src/gnupg/agent/call-pinentry.c:1600,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1601,1
    - Dst: struct pin_entry_info_s*::check_cb
      Src: /src/gnupg/agent/call-pinentry.c:1608,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1612,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1614,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1615,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1616,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1621,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1621,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1624,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1632,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1643,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:1643,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 130
    argCount: 7
    argNames:
    - ctrl
    - desc_text
    - prompt_text
    - initial_errtext
    - pininfo
    - keyinfo
    - cache_mode
    argTypes:
    - ctrl_t
    - char*
    - char*
    - char*
    - struct pin_entry_info_s*
    - char*
    - cache_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1415
    functionDepth: 9
    functionLinenumber: 1415
    functionLinenumberEnd: 1645
    functionName: agent_askpin
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 3
    functionsReached:
    - pinentry_loopback
    - strstr
    - do_getpin
    - strlen
    - L_
    - struct pin_entry_info_s*::check_cb
    - all_digitsp
    - memcpy
    - DIM
    - setup_qualitybar
    - start_pinentry
    - unlock_pinentry
    - assuan_transact
    - gpg_error
    - xfree
    - memset
    - build_cmd_setdesc
    - snprintf
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_askpin (ctrl_t ctrl,\n              const char *desc_text,
      const char *prompt_text,\n              const char *initial_errtext,\n              struct
      pin_entry_info_s *pininfo,\n              const char *keyinfo, cache_mode_t
      cache_mode)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:1670,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:1678,1
    - Dst: pinentry_loopback
      Src: /src/gnupg/agent/call-pinentry.c:1683,1
    - Dst: memcpy
      Src: /src/gnupg/agent/call-pinentry.c:1689,1
    - Dst: wipememory
      Src: /src/gnupg/agent/call-pinentry.c:1690,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:1691,1
    - Dst: struct pin_entry_info_s*::check_cb
      Src: /src/gnupg/agent/call-pinentry.c:1697,1
    - Dst: pinentry_loopback
      Src: /src/gnupg/agent/call-pinentry.c:1705,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:1710,1
    - Dst: start_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1713,1
    - Dst: strstr
      Src: /src/gnupg/agent/call-pinentry.c:1719,1
    - Dst: strstr
      Src: /src/gnupg/agent/call-pinentry.c:1722,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1723,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1723,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1733,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1733,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1738,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1738,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1740,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1742,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1743,1
    - Dst: build_cmd_setdesc
      Src: /src/gnupg/agent/call-pinentry.c:1746,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1746,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1748,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1748,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1749,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1751,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1753,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1753,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1754,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1756,1
    - Dst: setup_qualitybar
      Src: /src/gnupg/agent/call-pinentry.c:1761,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1763,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1768,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1768,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1769,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1772,1
    - Dst: setup_formatted_passphrase
      Src: /src/gnupg/agent/call-pinentry.c:1775,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1777,1
    - Dst: memset
      Src: /src/gnupg/agent/call-pinentry.c:1782,1
    - Dst: gcry_malloc_secure
      Src: /src/gnupg/agent/call-pinentry.c:1784,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1786,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/call-pinentry.c:1786,1
    - Dst: do_getpin
      Src: /src/gnupg/agent/call-pinentry.c:1788,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-pinentry.c:1790,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1793,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1800,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1800,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1801,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1802,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1809,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1809,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1810,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1811,1
    - Dst: setup_genpin
      Src: /src/gnupg/agent/call-pinentry.c:1817,1
    - Dst: setup_enforced_constraints
      Src: /src/gnupg/agent/call-pinentry.c:1819,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1821,1
    - Dst: memset
      Src: /src/gnupg/agent/call-pinentry.c:1828,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1839,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1839,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1839,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1841,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1844,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1850,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1850,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1850,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1851,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1854,1
    - Dst: do_getpin
      Src: /src/gnupg/agent/call-pinentry.c:1857,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1861,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1862,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1863,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1865,1
    - Dst: all_digitsp
      Src: /src/gnupg/agent/call-pinentry.c:1870,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1871,1
    - Dst: strlen
      Src: /src/gnupg/agent/call-pinentry.c:1873,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1874,1
    - Dst: strlen
      Src: /src/gnupg/agent/call-pinentry.c:1875,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1876,1
    - Dst: struct pin_entry_info_s*::check_cb
      Src: /src/gnupg/agent/call-pinentry.c:1883,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1886,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1888,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1889,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1890,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1895,1
    - Dst: L_
      Src: /src/gnupg/agent/call-pinentry.c:1895,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1898,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1906,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1917,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:1917,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 152
    argCount: 9
    argNames:
    - ctrl
    - retpass
    - desc
    - prompt
    - errtext
    - with_qualitybar
    - keyinfo
    - cache_mode
    - pininfo
    argTypes:
    - ctrl_t
    - char**
    - char*
    - char*
    - char*
    - int
    - char*
    - cache_mode_t
    - struct pin_entry_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1655
    functionDepth: 9
    functionLinenumber: 1655
    functionLinenumberEnd: 1919
    functionName: agent_get_passphrase
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 1
    functionsReached:
    - pinentry_loopback
    - strstr
    - do_getpin
    - strlen
    - L_
    - struct pin_entry_info_s*::check_cb
    - all_digitsp
    - memcpy
    - setup_formatted_passphrase
    - DIM
    - wipememory
    - out_of_core
    - setup_qualitybar
    - start_pinentry
    - unlock_pinentry
    - assuan_transact
    - gcry_malloc_secure
    - gpg_error
    - setup_enforced_constraints
    - xfree
    - memset
    - build_cmd_setdesc
    - snprintf
    - setup_genpin
    - gpg_err_code
    linkageType: ''
    returnType: int
    signature: "int agent_get_passphrase (ctrl_t ctrl,\n                      char
      **retpass, const char *desc, const char *prompt,\n                      const
      char *errtext, int with_qualitybar,\n\t\t      const char *keyinfo, cache_mode_t
      cache_mode,\n                      struct pin_entry_info_s *pininfo)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:1941,1
    - Dst: pinentry_loopback_confirm
      Src: /src/gnupg/agent/call-pinentry.c:1944,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:1946,1
    - Dst: start_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1949,1
    - Dst: build_cmd_setdesc
      Src: /src/gnupg/agent/call-pinentry.c:1954,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1954,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1956,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1956,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1957,1
    - Dst: gpg_err_source
      Src: /src/gnupg/agent/call-pinentry.c:1961,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1961,1
    - Dst: gpg_err_make
      Src: /src/gnupg/agent/call-pinentry.c:1962,1
    - Dst: gpg_err_source
      Src: /src/gnupg/agent/call-pinentry.c:1962,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1965,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1969,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1969,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1970,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1973,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1982,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1982,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1983,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:1989,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:1991,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:1991,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:1992,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:1996,1
    - Dst: watch_sock_start
      Src: /src/gnupg/agent/call-pinentry.c:2003,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:2006,1
    - Dst: gpg_err_source
      Src: /src/gnupg/agent/call-pinentry.c:2008,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/call-pinentry.c:2009,1
    - Dst: gpg_err_make
      Src: /src/gnupg/agent/call-pinentry.c:2010,1
    - Dst: gpg_err_source
      Src: /src/gnupg/agent/call-pinentry.c:2010,1
    - Dst: watch_sock_end
      Src: /src/gnupg/agent/call-pinentry.c:2012,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:2015,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 5
    argNames:
    - ctrl
    - desc
    - ok
    - notok
    - with_cancel
    argTypes:
    - ctrl_t
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 1930
    functionDepth: 4
    functionLinenumber: 1930
    functionLinenumberEnd: 2017
    functionName: agent_get_confirmation
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 4
    functionsReached:
    - watch_sock_end
    - snprintf
    - DIM
    - pinentry_loopback_confirm
    - start_pinentry
    - gpg_err_make
    - unlock_pinentry
    - assuan_transact
    - gpg_error
    - gpg_err_code
    - watch_sock_start
    - gpg_err_source
    - build_cmd_setdesc
    linkageType: ''
    returnType: int
    signature: "int agent_get_confirmation (ctrl_t ctrl,\n                        const
      char *desc, const char *ok,\n                        const char *notok, int
      with_cancel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: watch_sock_start
      Src: /src/gnupg/agent/call-pinentry.c:2029,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:2037,1
    - Dst: watch_sock_end
      Src: /src/gnupg/agent/call-pinentry.c:2039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2042
      start: 2022
    functionDepth: 2
    functionLinenumber: 2022
    functionLinenumberEnd: 2042
    functionName: popup_message_thread
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - watch_sock_end
    - watch_sock_start
    linkageType: ''
    returnType: void
    signature: 'void *

      popup_message_thread (void *arg)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:2062,1
    - Dst: pinentry_loopback_confirm
      Src: /src/gnupg/agent/call-pinentry.c:2065,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:2067,1
    - Dst: start_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:2070,1
    - Dst: build_cmd_setdesc
      Src: /src/gnupg/agent/call-pinentry.c:2075,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:2075,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:2077,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:2077,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:2078,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:2080,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:2084,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:2084,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:2085,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:2087,1
    - Dst: npth_attr_init
      Src: /src/gnupg/agent/call-pinentry.c:2090,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:2092,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/agent/call-pinentry.c:2092,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/agent/call-pinentry.c:2093,1
    - Dst: npth_create
      Src: /src/gnupg/agent/call-pinentry.c:2096,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/agent/call-pinentry.c:2098,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/agent/call-pinentry.c:2101,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-pinentry.c:2102,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-pinentry.c:2103,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:2104,1
    - Dst: npth_setname_np
      Src: /src/gnupg/agent/call-pinentry.c:2106,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - ctrl
    - desc
    - ok_btn
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2051
    functionDepth: 4
    functionLinenumber: 2051
    functionLinenumberEnd: 2109
    functionName: agent_popup_message_start
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 1
    functionsReached:
    - npth_attr_destroy
    - log_error
    - npth_attr_init
    - snprintf
    - npth_create
    - DIM
    - pinentry_loopback_confirm
    - start_pinentry
    - unlock_pinentry
    - npth_attr_setdetachstate
    - assuan_transact
    - gpg_error_from_errno
    - gpg_error
    - npth_setname_np
    - strerror
    - build_cmd_setdesc
    linkageType: ''
    returnType: int
    signature: int agent_popup_message_start (ctrl_t ctrl, const char *desc, const
      char *ok_btn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/agent/call-pinentry.c:2124,1
    - Dst: assuan_pipe_kill_server
      Src: /src/gnupg/agent/call-pinentry.c:2131,1
    - Dst: npth_join
      Src: /src/gnupg/agent/call-pinentry.c:2134,1
    - Dst: log_debug
      Src: /src/gnupg/agent/call-pinentry.c:2136,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-pinentry.c:2137,1
    - Dst: memset
      Src: /src/gnupg/agent/call-pinentry.c:2140,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:2143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2144
      start: 2112
    functionDepth: 2
    functionLinenumber: 2112
    functionLinenumberEnd: 2144
    functionName: agent_popup_message_stop
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 2
    functionsReached:
    - unlock_pinentry
    - assuan_pipe_kill_server
    - memset
    - strerror
    - log_debug
    - npth_join
    linkageType: ''
    returnType: void
    signature: void agent_popup_message_stop (ctrl_t ctrl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-pinentry.c:2156,1
    - Dst: start_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:2158,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-pinentry.c:2162,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-pinentry.c:2162,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-pinentry.c:2166,1
    - Dst: unlock_pinentry
      Src: /src/gnupg/agent/call-pinentry.c:2169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ctrl
    - keyinfo
    - cache_mode
    argTypes:
    - ctrl_t
    - char*
    - cache_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2170
      start: 2146
    functionDepth: 4
    functionLinenumber: 2146
    functionLinenumberEnd: 2170
    functionName: agent_clear_passphrase
    functionSourceFile: /src/gnupg/agent/call-pinentry.c
    functionUses: 1
    functionsReached:
    - snprintf
    - start_pinentry
    - DIM
    - unlock_pinentry
    - assuan_transact
    - gpg_error
    linkageType: ''
    returnType: int
    signature: "int agent_clear_passphrase (ctrl_t ctrl,\n\t\t\tconst char *keyinfo,
      cache_mode_t cache_mode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/agent/call-daemon.c:112,1
    - Dst: assuan_pipe_wait_server_termination
      Src: /src/gnupg/agent/call-daemon.c:114,1
    - Dst: log_info
      Src: /src/gnupg/agent/call-daemon.c:115,1
    - Dst: agent_flush_cache
      Src: /src/gnupg/agent/call-daemon.c:117,1
    - Dst: npth_mutex_lock
      Src: /src/gnupg/agent/call-daemon.c:119,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:122,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-daemon.c:123,1
    - Dst: assuan_release
      Src: /src/gnupg/agent/call-daemon.c:132,1
    - Dst: assuan_release
      Src: /src/gnupg/agent/call-daemon.c:138,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-daemon.c:143,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/agent/call-daemon.c:146,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:148,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-daemon.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 153
    functionName: wait_child_thread
    functionSourceFile: /src/gnupg/agent/call-daemon.c
    functionUses: 0
    functionsReached:
    - npth_mutex_lock
    - npth_mutex_unlock
    - log_error
    - assuan_release
    - log_info
    - xfree
    - assuan_pipe_wait_server_termination
    - strerror
    - agent_flush_cache
    linkageType: ''
    returnType: void
    signature: 'void *

      wait_child_thread (void *arg)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:170,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-daemon.c:172,1
    - Dst: npth_mutex_lock
      Src: /src/gnupg/agent/call-daemon.c:174,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:177,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-daemon.c:178,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-daemon.c:179,1
    - Dst: assuan_release
      Src: /src/gnupg/agent/call-daemon.c:184,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/agent/call-daemon.c:188,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:191,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-daemon.c:192,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-daemon.c:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - type
    - ctrl
    - rc
    argTypes:
    - enum daemon_type
    - ctrl_t
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 196
    functionName: daemon_unlock
    functionSourceFile: /src/gnupg/agent/call-daemon.c
    functionUses: 0
    functionsReached:
    - npth_mutex_lock
    - npth_mutex_unlock
    - log_error
    - assuan_release
    - gpg_error
    - strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t daemon_unlock (enum daemon_type type, ctrl_t ctrl, gpg_error_t
      rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/gnupg/agent/call-daemon.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - where
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 208
    functionName: atfork_cb
    functionSourceFile: /src/gnupg/agent/call-daemon.c
    functionUses: 0
    functionsReached:
    - gcry_control
    linkageType: ''
    returnType: void
    signature: void atfork_cb (void *opaque, int where)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_module_name
      Src: /src/gnupg/agent/call-daemon.c:228,1
    - Dst: log_assert
      Src: /src/gnupg/agent/call-daemon.c:230,1
    - Dst: log_assert
      Src: /src/gnupg/agent/call-daemon.c:232,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-daemon.c:232,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-daemon.c:235,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:245,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-daemon.c:246,1
    - Dst: npth_mutex_lock
      Src: /src/gnupg/agent/call-daemon.c:251,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:254,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-daemon.c:255,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-daemon.c:256,1
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/call-daemon.c:263,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/call-daemon.c:266,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/agent/call-daemon.c:267,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:269,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-daemon.c:270,1
    - Dst: log_info
      Src: /src/gnupg/agent/call-daemon.c:287,1
    - Dst: assuan_new
      Src: /src/gnupg/agent/call-daemon.c:292,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:295,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/call-daemon.c:295,1
    - Dst: assuan_socket_connect
      Src: /src/gnupg/agent/call-daemon.c:302,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:305,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/call-daemon.c:306,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-daemon.c:307,1
    - Dst: log_info
      Src: /src/gnupg/agent/call-daemon.c:312,1
    - Dst: log_info
      Src: /src/gnupg/agent/call-daemon.c:319,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-daemon.c:321,1
    - Dst: log_info
      Src: /src/gnupg/agent/call-daemon.c:327,1
    - Dst: agent_flush_cache
      Src: /src/gnupg/agent/call-daemon.c:329,1
    - Dst: fflush
      Src: /src/gnupg/agent/call-daemon.c:331,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/call-daemon.c:334,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:336,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-daemon.c:336,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/agent/call-daemon.c:348,1
    - Dst: strrchr
      Src: /src/gnupg/agent/call-daemon.c:350,1
    - Dst: gnupg_default_homedir_p
      Src: /src/gnupg/agent/call-daemon.c:357,1
    - Dst: make_absfilename_try
      Src: /src/gnupg/agent/call-daemon.c:361,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/agent/call-daemon.c:361,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:364,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/call-daemon.c:365,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/call-daemon.c:365,1
    - Dst: assuan_fd_from_posix_fd
      Src: /src/gnupg/agent/call-daemon.c:376,1
    - Dst: fileno
      Src: /src/gnupg/agent/call-daemon.c:376,1
    - Dst: assuan_pipe_connect
      Src: /src/gnupg/agent/call-daemon.c:382,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:387,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/call-daemon.c:388,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-daemon.c:389,1
    - Dst: log_info
      Src: /src/gnupg/agent/call-daemon.c:394,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-daemon.c:403,1
    - Dst: init_membuf
      Src: /src/gnupg/agent/call-daemon.c:405,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-daemon.c:406,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/call-daemon.c:409,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/call-daemon.c:412,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:414,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-daemon.c:415,1
    - Dst: memcpy
      Src: /src/gnupg/agent/call-daemon.c:418,1
    - Dst: log_debug
      Src: /src/gnupg/agent/call-daemon.c:421,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-daemon.c:424,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-daemon.c:433,1
    - Dst: get_agent_daemon_notify_event
      Src: /src/gnupg/agent/call-daemon.c:434,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-daemon.c:436,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-daemon.c:438,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/call-daemon.c:449,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/call-daemon.c:452,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:453,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-daemon.c:453,1
    - Dst: npth_attr_init
      Src: /src/gnupg/agent/call-daemon.c:458,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/agent/call-daemon.c:461,1
    - Dst: npth_create
      Src: /src/gnupg/agent/call-daemon.c:462,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:464,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-daemon.c:464,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/agent/call-daemon.c:465,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-daemon.c:468,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-daemon.c:472,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/agent/call-daemon.c:476,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:478,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-daemon.c:478,1
    - Dst: daemon_unlock
      Src: /src/gnupg/agent/call-daemon.c:479,1
    - Dst: assuan_release
      Src: /src/gnupg/agent/call-daemon.c:481,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/agent/call-daemon.c:487,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:489,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-daemon.c:489,1
    - Dst: daemon_unlock
      Src: /src/gnupg/agent/call-daemon.c:493,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 174
    argCount: 3
    argNames:
    - type
    - ctrl
    - require_socket
    argTypes:
    - enum daemon_type
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 216
    functionDepth: 5
    functionLinenumber: 216
    functionLinenumberEnd: 498
    functionName: daemon_start
    functionSourceFile: /src/gnupg/agent/call-daemon.c
    functionUses: 0
    functionsReached:
    - log_assert
    - npth_attr_init
    - gnupg_homedir
    - agent_flush_cache
    - xtrymalloc
    - memcpy
    - init_membuf
    - npth_mutex_lock
    - log_error
    - npth_create
    - DIM
    - make_absfilename_try
    - fflush
    - log_info
    - assuan_fd_from_posix_fd
    - assuan_socket_connect
    - log_debug
    - assuan_new
    - gpg_error_from_syserror
    - gnupg_module_name
    - gnupg_default_homedir_p
    - fileno
    - assuan_transact
    - npth_attr_setdetachstate
    - gpg_error
    - gpg_strerror
    - xfree
    - assuan_pipe_connect
    - xtrycalloc
    - get_membuf
    - daemon_unlock
    - npth_mutex_unlock
    - npth_attr_destroy
    - snprintf
    - assuan_release
    - strrchr
    - strerror
    - get_agent_daemon_notify_event
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t daemon_start (enum daemon_type type, ctrl_t ctrl, int require_socket)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_init
      Src: /src/gnupg/agent/call-daemon.c:513,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/call-daemon.c:515,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-daemon.c:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 518
    functionName: initialize_module_daemon
    functionSourceFile: /src/gnupg/agent/call-daemon.c
    functionUses: 0
    functionsReached:
    - npth_mutex_init
    - log_fatal
    - strerror
    linkageType: ''
    returnType: void
    signature: void initialize_module_daemon (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/agent/call-daemon.c:531,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/agent/call-daemon.c:532,1
    - Dst: log_info
      Src: /src/gnupg/agent/call-daemon.c:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 538
    functionName: agent_daemon_dump_state
    functionSourceFile: /src/gnupg/agent/call-daemon.c
    functionUses: 0
    functionsReached:
    - gnupg_module_name
    - log_info
    linkageType: ''
    returnType: void
    signature: void agent_daemon_dump_state (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum daemon_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 548
    functionName: agent_daemon_check_running
    functionSourceFile: /src/gnupg/agent/call-daemon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int agent_daemon_check_running (enum daemon_type type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-daemon.c:562,1
    - Dst: agent_flush_cache
      Src: /src/gnupg/agent/call-daemon.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum daemon_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 565
    functionName: agent_kill_daemon
    functionSourceFile: /src/gnupg/agent/call-daemon.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - agent_flush_cache
    linkageType: ''
    returnType: void
    signature: void agent_kill_daemon (enum daemon_type type)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/agent/call-daemon.c:576,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:579,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-daemon.c:580,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-daemon.c:606,1
    - Dst: assuan_release
      Src: /src/gnupg/agent/call-daemon.c:611,1
    - Dst: BUG
      Src: /src/gnupg/agent/call-daemon.c:617,1
    - Dst: BUG
      Src: /src/gnupg/agent/call-daemon.c:628,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-daemon.c:631,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/agent/call-daemon.c:636,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-daemon.c:638,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-daemon.c:638,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 639
    functionName: agent_reset_daemon
    functionSourceFile: /src/gnupg/agent/call-daemon.c
    functionUses: 2
    functionsReached:
    - npth_mutex_lock
    - npth_mutex_unlock
    - log_error
    - assuan_release
    - BUG
    - assuan_transact
    - xfree
    - strerror
    linkageType: ''
    returnType: void
    signature: void agent_reset_daemon (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - ctrl
    argTypes:
    - enum daemon_type
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: daemon_type_ctx
    functionSourceFile: /src/gnupg/agent/call-daemon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: assuan_context_t
    signature: assuan_context_t daemon_type_ctx (enum daemon_type type, ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/gnupg/agent/gpg-agent.c:555,1
    - Dst: getfnc
      Src: /src/gnupg/agent/gpg-agent.c:558,1
    - Dst: xmalloc
      Src: /src/gnupg/agent/gpg-agent.c:559,1
    - Dst: strlen
      Src: /src/gnupg/agent/gpg-agent.c:559,1
    - Dst: strlen
      Src: /src/gnupg/agent/gpg-agent.c:559,1
    - Dst: strcpy
      Src: /src/gnupg/agent/gpg-agent.c:560,1
    - Dst: stpcpy
      Src: /src/gnupg/agent/gpg-agent.c:560,1
    - Dst: stpcpy
      Src: /src/gnupg/agent/gpg-agent.c:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - libname
    - (*getfnc)(const char*)
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 562
    functionName: make_libversion
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 5
    functionsReached:
    - strlen
    - gcry_control
    - xmalloc
    - strcpy
    - stpcpy
    - getfnc
    linkageType: ''
    returnType: char
    signature: 'char *

      make_libversion (const char *libname, const char *(*getfnc)(const char*))'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:584,1
    - Dst: make_libversion
      Src: /src/gnupg/agent/gpg-agent.c:588,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:593,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:595,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 602
    functionName: my_strusage
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - make_libversion
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage (int level)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/agent/gpg-agent.c:615,1
    - Dst: atoi
      Src: /src/gnupg/agent/gpg-agent.c:616,1
    - Dst: strcmp
      Src: /src/gnupg/agent/gpg-agent.c:620,1
    - Dst: strcmp
      Src: /src/gnupg/agent/gpg-agent.c:622,1
    - Dst: strcmp
      Src: /src/gnupg/agent/gpg-agent.c:624,1
    - Dst: strcmp
      Src: /src/gnupg/agent/gpg-agent.c:626,1
    - Dst: strcmp
      Src: /src/gnupg/agent/gpg-agent.c:628,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:640,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:640,1
    - Dst: gcry_control
      Src: /src/gnupg/agent/gpg-agent.c:651,1
    - Dst: gcry_control
      Src: /src/gnupg/agent/gpg-agent.c:653,1
    - Dst: gcry_control
      Src: /src/gnupg/agent/gpg-agent.c:654,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/agent/gpg-agent.c:657,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 658
    functionName: set_debug
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 8
    functionsReached:
    - atoi
    - log_error
    - digitp
    - gcry_control
    - _
    - strcmp
    - parse_debug_flag
    linkageType: ''
    returnType: void
    signature: void set_debug (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_remove
      Src: /src/gnupg/agent/gpg-agent.c:671,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - name
    - redir_name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 663
    functionDepth: 6
    functionLinenumber: 663
    functionLinenumberEnd: 674
    functionName: remove_socket
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 1
    functionsReached:
    - gnupg_remove
    linkageType: ''
    returnType: void
    signature: void remove_socket (char *name, char *redir_name)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/agent/gpg-agent.c:715,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:717,1
    - Dst: strtoul
      Src: /src/gnupg/agent/gpg-agent.c:719,1
    - Dst: getpid
      Src: /src/gnupg/agent/gpg-agent.c:719,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:720,1
    - Dst: strtoul
      Src: /src/gnupg/agent/gpg-agent.c:722,1
    - Dst: getpid
      Src: /src/gnupg/agent/gpg-agent.c:723,1
    - Dst: getenv
      Src: /src/gnupg/agent/gpg-agent.c:726,1
    - Dst: strtokenize
      Src: /src/gnupg/agent/gpg-agent.c:729,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:732,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/gpg-agent.c:733,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/gpg-agent.c:733,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/gpg-agent.c:734,1
    - Dst: getenv
      Src: /src/gnupg/agent/gpg-agent.c:746,1
    - Dst: atoi
      Src: /src/gnupg/agent/gpg-agent.c:748,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:751,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:758,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:766,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:779,1
    - Dst: fstat
      Src: /src/gnupg/agent/gpg-agent.c:783,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/gpg-agent.c:784,1
    - Dst: gnupg_get_socket_name
      Src: /src/gnupg/agent/gpg-agent.c:788,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/gpg-agent.c:792,1
    - Dst: DIM
      Src: /src/gnupg/agent/gpg-agent.c:803,1
    - Dst: strcmp
      Src: /src/gnupg/agent/gpg-agent.c:805,1
    - Dst: DIM
      Src: /src/gnupg/agent/gpg-agent.c:805,1
    - Dst: gnupg_get_socket_name
      Src: /src/gnupg/agent/gpg-agent.c:810,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:815,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:820,1
    - Dst: close
      Src: /src/gnupg/agent/gpg-agent.c:822,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:827,1
    - Dst: close
      Src: /src/gnupg/agent/gpg-agent.c:829,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:837,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 4
    argNames:
    - r_fd
    - r_fd_extra
    - r_fd_browser
    - r_fd_ssh
    argTypes:
    - gnupg_fd_t*
    - gnupg_fd_t*
    - gnupg_fd_t*
    - gnupg_fd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 838
    functionName: map_supervised_sockets
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - atoi
    - log_error
    - gpg_error_from_syserror
    - getenv
    - log_fatal
    - DIM
    - close
    - fstat
    - strtokenize
    - strcmp
    - gpg_strerror
    - strtoul
    - log_info
    - gnupg_get_socket_name
    - xfree
    - agent_exit
    - getpid
    linkageType: ''
    returnType: void
    signature: "void map_supervised_sockets (gnupg_fd_t *r_fd,\n                        gnupg_fd_t
      *r_fd_extra,\n                        gnupg_fd_t *r_fd_browser,\n                        gnupg_fd_t
      *r_fd_ssh)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: deinitialize_module_cache
      Src: /src/gnupg/agent/gpg-agent.c:852,1
    - Dst: remove_socket
      Src: /src/gnupg/agent/gpg-agent.c:855,1
    - Dst: remove_socket
      Src: /src/gnupg/agent/gpg-agent.c:857,1
    - Dst: remove_socket
      Src: /src/gnupg/agent/gpg-agent.c:859,1
    - Dst: remove_socket
      Src: /src/gnupg/agent/gpg-agent.c:860,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 862
    functionName: cleanup
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 16
    functionsReached:
    - deinitialize_module_cache
    - remove_socket
    linkageType: ''
    returnType: void
    signature: void cleanup (void)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:883,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:886,1
    - Dst: memset
      Src: /src/gnupg/agent/gpg-agent.c:890,1
    - Dst: memset
      Src: /src/gnupg/agent/gpg-agent.c:908,1
    - Dst: set_s2k_calibration_time
      Src: /src/gnupg/agent/gpg-agent.c:913,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/agent/gpg-agent.c:923,1
    - Dst: strcmp
      Src: /src/gnupg/agent/gpg-agent.c:933,1
    - Dst: log_set_file
      Src: /src/gnupg/agent/gpg-agent.c:935,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:936,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/gpg-agent.c:937,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:945,1
    - Dst: make_filename_try
      Src: /src/gnupg/agent/gpg-agent.c:946,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:950,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/gpg-agent.c:951,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/agent/gpg-agent.c:1012,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:1014,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:1014,1
    - Dst: set_s2k_calibration_time
      Src: /src/gnupg/agent/gpg-agent.c:1024,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 184
    argCount: 2
    argNames:
    - pargs
    - reread
    argTypes:
    - gpgrt_argparse_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 871
    functionDepth: 3
    functionLinenumber: 871
    functionLinenumberEnd: 1034
    functionName: parse_rereadable_options
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 2
    functionsReached:
    - set_s2k_calibration_time
    - log_error
    - _
    - strcmp
    - xtrystrdup
    - memset
    - xfree
    - gcry_md_map_name
    - make_filename_try
    - log_set_file
    - parse_debug_flag
    linkageType: ''
    returnType: int
    signature: int parse_rereadable_options (gpgrt_argparse_t *pargs, int reread)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1049
    functionName: finalize_rereadable_options
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void finalize_rereadable_options (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_init
      Src: /src/gnupg/agent/gpg-agent.c:1060,1
    - Dst: gpgrt_set_syscall_clamp
      Src: /src/gnupg/agent/gpg-agent.c:1062,1
    - Dst: gcry_control
      Src: /src/gnupg/agent/gpg-agent.c:1068,1
    - Dst: assuan_control
      Src: /src/gnupg/agent/gpg-agent.c:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1070
    functionName: agent_thread_init_once
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - assuan_control
    - gpgrt_set_syscall_clamp
    - gcry_control
    - npth_init
    linkageType: ''
    returnType: void
    signature: void agent_thread_init_once (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: agent_thread_init_once
      Src: /src/gnupg/agent/gpg-agent.c:1076,1
    - Dst: initialize_module_cache
      Src: /src/gnupg/agent/gpg-agent.c:1077,1
    - Dst: initialize_module_call_pinentry
      Src: /src/gnupg/agent/gpg-agent.c:1078,1
    - Dst: initialize_module_daemon
      Src: /src/gnupg/agent/gpg-agent.c:1079,1
    - Dst: initialize_module_trustlist
      Src: /src/gnupg/agent/gpg-agent.c:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1073
    functionDepth: 2
    functionLinenumber: 1073
    functionLinenumberEnd: 1081
    functionName: initialize_modules
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 1
    functionsReached:
    - initialize_module_cache
    - agent_thread_init_once
    - initialize_module_daemon
    - initialize_module_trustlist
    - initialize_module_call_pinentry
    linkageType: ''
    returnType: void
    signature: void initialize_modules (void)
  - BBCount: 118
    BranchProfiles: []
    Callsites:
    - Dst: early_system_init
      Src: /src/gnupg/agent/gpg-agent.c:1106,1
    - Dst: get_all_open_fds
      Src: /src/gnupg/agent/gpg-agent.c:1112,1
    - Dst: sigprocmask
      Src: /src/gnupg/agent/gpg-agent.c:1115,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/agent/gpg-agent.c:1120,1
    - Dst: gcry_control
      Src: /src/gnupg/agent/gpg-agent.c:1121,1
    - Dst: log_set_prefix
      Src: /src/gnupg/agent/gpg-agent.c:1125,1
    - Dst: i18n_init
      Src: /src/gnupg/agent/gpg-agent.c:1128,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/agent/gpg-agent.c:1129,1
    - Dst: assuan_set_malloc_hooks
      Src: /src/gnupg/agent/gpg-agent.c:1134,1
    - Dst: assuan_set_gpg_err_source
      Src: /src/gnupg/agent/gpg-agent.c:1135,1
    - Dst: assuan_sock_init
      Src: /src/gnupg/agent/gpg-agent.c:1136,1
    - Dst: setup_libassuan_logging
      Src: /src/gnupg/agent/gpg-agent.c:1137,1
    - Dst: setup_libgcrypt_logging
      Src: /src/gnupg/agent/gpg-agent.c:1139,1
    - Dst: gcry_control
      Src: /src/gnupg/agent/gpg-agent.c:1140,1
    - Dst: gcry_set_progress_handler
      Src: /src/gnupg/agent/gpg-agent.c:1141,1
    - Dst: disable_core_dumps
      Src: /src/gnupg/agent/gpg-agent.c:1143,1
    - Dst: parse_rereadable_options
      Src: /src/gnupg/agent/gpg-agent.c:1146,1
    - Dst: getenv
      Src: /src/gnupg/agent/gpg-agent.c:1148,1
    - Dst: strlen
      Src: /src/gnupg/agent/gpg-agent.c:1149,1
    - Dst: strcmp
      Src: /src/gnupg/agent/gpg-agent.c:1149,1
    - Dst: strlen
      Src: /src/gnupg/agent/gpg-agent.c:1149,1
    - Dst: session_env_new
      Src: /src/gnupg/agent/gpg-agent.c:1160,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/gpg-agent.c:1162,1
    - Dst: getenv
      Src: /src/gnupg/agent/gpg-agent.c:1165,1
    - Dst: session_env_setenv
      Src: /src/gnupg/agent/gpg-agent.c:1167,1
    - Dst: gnupg_ttyname
      Src: /src/gnupg/agent/gpg-agent.c:1171,1
    - Dst: session_env_setenv
      Src: /src/gnupg/agent/gpg-agent.c:1173,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/gpg-agent.c:1176,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/gpg-agent.c:1177,1
    - Dst: getenv
      Src: /src/gnupg/agent/gpg-agent.c:1180,1
    - Dst: xstrdup
      Src: /src/gnupg/agent/gpg-agent.c:1182,1
    - Dst: getenv
      Src: /src/gnupg/agent/gpg-agent.c:1183,1
    - Dst: xstrdup
      Src: /src/gnupg/agent/gpg-agent.c:1185,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/agent/gpg-agent.c:1194,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/agent/gpg-agent.c:1204,1
    - Dst: gcry_control
      Src: /src/gnupg/agent/gpg-agent.c:1208,1
    - Dst: gcry_control
      Src: /src/gnupg/agent/gpg-agent.c:1216,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/agent/gpg-agent.c:1224,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/agent/gpg-agent.c:1224,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/agent/gpg-agent.c:1225,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/agent/gpg-agent.c:1225,1
    - Dst: gpgrt_argparser
      Src: /src/gnupg/agent/gpg-agent.c:1238,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:1243,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:1243,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:1247,1
    - Dst: xstrdup
      Src: /src/gnupg/agent/gpg-agent.c:1248,1
    - Dst: parse_rereadable_options
      Src: /src/gnupg/agent/gpg-agent.c:1255,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/agent/gpg-agent.c:1267,1
    - Dst: xstrdup
      Src: /src/gnupg/agent/gpg-agent.c:1277,1
    - Dst: xstrdup
      Src: /src/gnupg/agent/gpg-agent.c:1278,1
    - Dst: xstrdup
      Src: /src/gnupg/agent/gpg-agent.c:1279,1
    - Dst: xstrdup
      Src: /src/gnupg/agent/gpg-agent.c:1280,1
    - Dst: xstrdup
      Src: /src/gnupg/agent/gpg-agent.c:1281,1
    - Dst: xstrdup
      Src: /src/gnupg/agent/gpg-agent.c:1283,1
    - Dst: obsolete_option
      Src: /src/gnupg/agent/gpg-agent.c:1288,1
    - Dst: isotime2epoch
      Src: /src/gnupg/agent/gpg-agent.c:1293,1
    - Dst: strtoul
      Src: /src/gnupg/agent/gpg-agent.c:1295,1
    - Dst: gnupg_set_time
      Src: /src/gnupg/agent/gpg-agent.c:1296,1
    - Dst: session_env_mod_stdenvnames
      Src: /src/gnupg/agent/gpg-agent.c:1304,1
    - Dst: gcry_control
      Src: /src/gnupg/agent/gpg-agent.c:1337,1
    - Dst: obsolete_option
      Src: /src/gnupg/agent/gpg-agent.c:1350,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:1369,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:1369,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/agent/gpg-agent.c:1372,1
    - Dst: gpgrt_fnameconcat
      Src: /src/gnupg/agent/gpg-agent.c:1375,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/agent/gpg-agent.c:1375,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/agent/gpg-agent.c:1384,1
    - Dst: exit
      Src: /src/gnupg/agent/gpg-agent.c:1385,1
    - Dst: finalize_rereadable_options
      Src: /src/gnupg/agent/gpg-agent.c:1387,1
    - Dst: parse_comopt
      Src: /src/gnupg/agent/gpg-agent.c:1390,1
    - Dst: bind_textdomain_codeset
      Src: /src/gnupg/agent/gpg-agent.c:1404,1
    - Dst: set_debug
      Src: /src/gnupg/agent/gpg-agent.c:1414,1
    - Dst: check_for_running_agent
      Src: /src/gnupg/agent/gpg-agent.c:1415,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/gpg-agent.c:1416,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:1420,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:1420,1
    - Dst: strcmp
      Src: /src/gnupg/agent/gpg-agent.c:1427,1
    - Dst: strcmp
      Src: /src/gnupg/agent/gpg-agent.c:1428,1
    - Dst: strcmp
      Src: /src/gnupg/agent/gpg-agent.c:1440,1
    - Dst: strcmp
      Src: /src/gnupg/agent/gpg-agent.c:1441,1
    - Dst: set_debug
      Src: /src/gnupg/agent/gpg-agent.c:1448,1
    - Dst: atexit
      Src: /src/gnupg/agent/gpg-agent.c:1450,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:1452,1
    - Dst: cleanup
      Src: /src/gnupg/agent/gpg-agent.c:1453,1
    - Dst: exit
      Src: /src/gnupg/agent/gpg-agent.c:1454,1
    - Dst: create_directories
      Src: /src/gnupg/agent/gpg-agent.c:1459,1
    - Dst: agent_thread_init_once
      Src: /src/gnupg/agent/gpg-agent.c:1463,1
    - Dst: log_debug
      Src: /src/gnupg/agent/gpg-agent.c:1464,1
    - Dst: getpid
      Src: /src/gnupg/agent/gpg-agent.c:1465,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/agent/gpg-agent.c:1466,1
    - Dst: log_debug
      Src: /src/gnupg/agent/gpg-agent.c:1467,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/gpg-agent.c:1474,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/gpg-agent.c:1477,1
    - Dst: es_printf
      Src: /src/gnupg/agent/gpg-agent.c:1482,1
    - Dst: es_printf
      Src: /src/gnupg/agent/gpg-agent.c:1483,1
    - Dst: es_printf
      Src: /src/gnupg/agent/gpg-agent.c:1485,1
    - Dst: es_printf
      Src: /src/gnupg/agent/gpg-agent.c:1487,1
    - Dst: es_printf
      Src: /src/gnupg/agent/gpg-agent.c:1489,1
    - Dst: es_printf
      Src: /src/gnupg/agent/gpg-agent.c:1491,1
    - Dst: es_printf
      Src: /src/gnupg/agent/gpg-agent.c:1493,1
    - Dst: es_printf
      Src: /src/gnupg/agent/gpg-agent.c:1495,1
    - Dst: es_printf
      Src: /src/gnupg/agent/gpg-agent.c:1497,1
    - Dst: es_printf
      Src: /src/gnupg/agent/gpg-agent.c:1499,1
    - Dst: es_printf
      Src: /src/gnupg/agent/gpg-agent.c:1501,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/gpg-agent.c:1504,1
    - Dst: log_set_file
      Src: /src/gnupg/agent/gpg-agent.c:1510,1
    - Dst: log_set_prefix
      Src: /src/gnupg/agent/gpg-agent.c:1511,1
    - Dst: xstrdup
      Src: /src/gnupg/agent/gpg-agent.c:1514,1
    - Dst: gnupg_ttyname
      Src: /src/gnupg/agent/gpg-agent.c:1518,1
    - Dst: xstrdup
      Src: /src/gnupg/agent/gpg-agent.c:1519,1
    - Dst: gnupg_ttyname
      Src: /src/gnupg/agent/gpg-agent.c:1519,1
    - Dst: getenv
      Src: /src/gnupg/agent/gpg-agent.c:1520,1
    - Dst: xstrdup
      Src: /src/gnupg/agent/gpg-agent.c:1521,1
    - Dst: getenv
      Src: /src/gnupg/agent/gpg-agent.c:1521,1
    - Dst: initialize_modules
      Src: /src/gnupg/agent/gpg-agent.c:1529,1
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/gpg-agent.c:1531,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:1534,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:1535,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/gpg-agent.c:1536,1
    - Dst: session_env_new
      Src: /src/gnupg/agent/gpg-agent.c:1539,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:1542,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:1543,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:1544,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/gpg-agent.c:1545,1
    - Dst: agent_init_default_ctrl
      Src: /src/gnupg/agent/gpg-agent.c:1547,1
    - Dst: start_command_handler
      Src: /src/gnupg/agent/gpg-agent.c:1548,1
    - Dst: agent_deinit_default_ctrl
      Src: /src/gnupg/agent/gpg-agent.c:1549,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:1550,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:1560,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/agent/gpg-agent.c:1561,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/agent/gpg-agent.c:1561,1
    - Dst: initialize_modules
      Src: /src/gnupg/agent/gpg-agent.c:1568,1
    - Dst: log_set_prefix
      Src: /src/gnupg/agent/gpg-agent.c:1574,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:1576,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/agent/gpg-agent.c:1577,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/agent/gpg-agent.c:1577,1
    - Dst: gnupg_unsetenv
      Src: /src/gnupg/agent/gpg-agent.c:1582,1
    - Dst: gnupg_unsetenv
      Src: /src/gnupg/agent/gpg-agent.c:1583,1
    - Dst: map_supervised_sockets
      Src: /src/gnupg/agent/gpg-agent.c:1587,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/gpg-agent.c:1589,1
    - Dst: sigprocmask
      Src: /src/gnupg/agent/gpg-agent.c:1594,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:1595,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:1596,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:1599,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:1602,1
    - Dst: handle_connections
      Src: /src/gnupg/agent/gpg-agent.c:1604,1
    - Dst: gnupg_unsetenv
      Src: /src/gnupg/agent/gpg-agent.c:1627,1
    - Dst: gnupg_unsetenv
      Src: /src/gnupg/agent/gpg-agent.c:1633,1
    - Dst: create_socket_name
      Src: /src/gnupg/agent/gpg-agent.c:1636,1
    - Dst: create_server_socket
      Src: /src/gnupg/agent/gpg-agent.c:1637,1
    - Dst: create_socket_name
      Src: /src/gnupg/agent/gpg-agent.c:1643,1
    - Dst: create_socket_name
      Src: /src/gnupg/agent/gpg-agent.c:1645,1
    - Dst: create_server_socket
      Src: /src/gnupg/agent/gpg-agent.c:1648,1
    - Dst: create_socket_name
      Src: /src/gnupg/agent/gpg-agent.c:1656,1
    - Dst: create_socket_name
      Src: /src/gnupg/agent/gpg-agent.c:1658,1
    - Dst: create_server_socket
      Src: /src/gnupg/agent/gpg-agent.c:1661,1
    - Dst: create_socket_name
      Src: /src/gnupg/agent/gpg-agent.c:1666,1
    - Dst: create_server_socket
      Src: /src/gnupg/agent/gpg-agent.c:1667,1
    - Dst: getpid
      Src: /src/gnupg/agent/gpg-agent.c:1675,1
    - Dst: fflush
      Src: /src/gnupg/agent/gpg-agent.c:1677,1
    - Dst: initialize_modules
      Src: /src/gnupg/agent/gpg-agent.c:1683,1
    - Dst: fork
      Src: /src/gnupg/agent/gpg-agent.c:1687,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/gpg-agent.c:1690,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:1690,1
    - Dst: exit
      Src: /src/gnupg/agent/gpg-agent.c:1691,1
    - Dst: close
      Src: /src/gnupg/agent/gpg-agent.c:1698,1
    - Dst: sigprocmask
      Src: /src/gnupg/agent/gpg-agent.c:1707,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:1708,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:1709,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:1712,1
    - Dst: asprintf
      Src: /src/gnupg/agent/gpg-agent.c:1718,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:1721,1
    - Dst: kill
      Src: /src/gnupg/agent/gpg-agent.c:1722,1
    - Dst: exit
      Src: /src/gnupg/agent/gpg-agent.c:1723,1
    - Dst: asprintf
      Src: /src/gnupg/agent/gpg-agent.c:1725,1
    - Dst: getpid
      Src: /src/gnupg/agent/gpg-agent.c:1726,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:1728,1
    - Dst: kill
      Src: /src/gnupg/agent/gpg-agent.c:1729,1
    - Dst: exit
      Src: /src/gnupg/agent/gpg-agent.c:1730,1
    - Dst: putenv
      Src: /src/gnupg/agent/gpg-agent.c:1744,1
    - Dst: putenv
      Src: /src/gnupg/agent/gpg-agent.c:1745,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:1747,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:1748,1
    - Dst: kill
      Src: /src/gnupg/agent/gpg-agent.c:1749,1
    - Dst: exit
      Src: /src/gnupg/agent/gpg-agent.c:1750,1
    - Dst: close_all_fds
      Src: /src/gnupg/agent/gpg-agent.c:1757,1
    - Dst: execvp
      Src: /src/gnupg/agent/gpg-agent.c:1760,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:1761,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:1761,1
    - Dst: kill
      Src: /src/gnupg/agent/gpg-agent.c:1762,1
    - Dst: exit
      Src: /src/gnupg/agent/gpg-agent.c:1763,1
    - Dst: strchr
      Src: /src/gnupg/agent/gpg-agent.c:1773,1
    - Dst: es_printf
      Src: /src/gnupg/agent/gpg-agent.c:1774,1
    - Dst: es_printf
      Src: /src/gnupg/agent/gpg-agent.c:1781,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:1787,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:1788,1
    - Dst: exit
      Src: /src/gnupg/agent/gpg-agent.c:1790,1
    - Dst: initialize_modules
      Src: /src/gnupg/agent/gpg-agent.c:1799,1
    - Dst: log_test_fd
      Src: /src/gnupg/agent/gpg-agent.c:1810,1
    - Dst: close
      Src: /src/gnupg/agent/gpg-agent.c:1812,1
    - Dst: open
      Src: /src/gnupg/agent/gpg-agent.c:1813,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:1815,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:1816,1
    - Dst: cleanup
      Src: /src/gnupg/agent/gpg-agent.c:1817,1
    - Dst: exit
      Src: /src/gnupg/agent/gpg-agent.c:1818,1
    - Dst: setsid
      Src: /src/gnupg/agent/gpg-agent.c:1822,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:1824,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:1824,1
    - Dst: cleanup
      Src: /src/gnupg/agent/gpg-agent.c:1825,1
    - Dst: exit
      Src: /src/gnupg/agent/gpg-agent.c:1826,1
    - Dst: log_get_prefix
      Src: /src/gnupg/agent/gpg-agent.c:1829,1
    - Dst: log_set_prefix
      Src: /src/gnupg/agent/gpg-agent.c:1830,1
    - Dst: sigemptyset
      Src: /src/gnupg/agent/gpg-agent.c:1844,1
    - Dst: sigaction
      Src: /src/gnupg/agent/gpg-agent.c:1846,1
    - Dst: gnupg_chdir
      Src: /src/gnupg/agent/gpg-agent.c:1850,1
    - Dst: gnupg_daemon_rootdir
      Src: /src/gnupg/agent/gpg-agent.c:1850,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:1852,1
    - Dst: gnupg_daemon_rootdir
      Src: /src/gnupg/agent/gpg-agent.c:1853,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:1853,1
    - Dst: exit
      Src: /src/gnupg/agent/gpg-agent.c:1854,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:1857,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/agent/gpg-agent.c:1857,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/agent/gpg-agent.c:1857,1
    - Dst: w32_ack_to_frontend
      Src: /src/gnupg/agent/gpg-agent.c:1859,1
    - Dst: handle_connections
      Src: /src/gnupg/agent/gpg-agent.c:1861,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/agent/gpg-agent.c:1863,1
    CyclomaticComplexity: 147
    EdgeCount: 147
    ICount: 462
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1085
    functionDepth: 6
    functionLinenumber: 1085
    functionLinenumberEnd: 1867
    functionName: main
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 6
    functionsReached:
    - set_debug
    - gnupg_homedir
    - start_command_handler
    - xstrdup
    - gpgrt_set_strusage
    - execvp
    - gnupg_ttyname
    - fflush
    - w32_ack_to_frontend
    - parse_rereadable_options
    - asprintf
    - xfree
    - getpid
    - agent_deinit_default_ctrl
    - putenv
    - log_fatal
    - parse_comopt
    - gpgrt_set_confdir
    - finalize_rereadable_options
    - agent_init_default_ctrl
    - isotime2epoch
    - disable_core_dumps
    - gcry_set_progress_handler
    - gpgrt_fnameconcat
    - strlen
    - agent_thread_init_once
    - exit
    - gpgrt_argparser
    - gnupg_unsetenv
    - setsid
    - log_get_prefix
    - fork
    - get_all_open_fds
    - log_error
    - early_system_init
    - log_test_fd
    - log_get_errorcount
    - session_env_setenv
    - handle_connections
    - agent_exit
    - sigprocmask
    - create_socket_name
    - i18n_init
    - session_env_mod_stdenvnames
    - open
    - create_directories
    - getenv
    - assuan_set_gpg_err_source
    - assuan_sock_init
    - gnupg_chdir
    - sigemptyset
    - init_common_subsystems
    - initialize_modules
    - assuan_set_malloc_hooks
    - sigaction
    - gnupg_set_homedir
    - log_set_prefix
    - session_env_new
    - close
    - kill
    - gnupg_sleep
    - gpgrt_strusage
    - gpg_error_from_syserror
    - cleanup
    - assuan_sock_close
    - strchr
    - xtrycalloc
    - gnupg_sysconfdir
    - gnupg_set_time
    - atexit
    - es_printf
    - strerror
    - obsolete_option
    - gnupg_daemon_rootdir
    - _
    - bind_textdomain_codeset
    - log_info
    - strtoul
    - log_debug
    - setup_libgcrypt_logging
    - gcry_control
    - strcmp
    - gpg_strerror
    - gpgrt_argparse
    - log_set_file
    - check_for_running_agent
    - close_all_fds
    - create_server_socket
    - setup_libassuan_logging
    - map_supervised_sockets
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/gnupg/agent/gpg-agent.c:1880,1
    - Dst: gcry_control
      Src: /src/gnupg/agent/gpg-agent.c:1886,1
    - Dst: gcry_control
      Src: /src/gnupg/agent/gpg-agent.c:1887,1
    - Dst: gcry_control
      Src: /src/gnupg/agent/gpg-agent.c:1890,1
    - Dst: gcry_control
      Src: /src/gnupg/agent/gpg-agent.c:1892,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/agent/gpg-agent.c:1893,1
    - Dst: exit
      Src: /src/gnupg/agent/gpg-agent.c:1894,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1872
    functionDepth: 0
    functionLinenumber: 1872
    functionLinenumberEnd: 1895
    functionName: agent_exit
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 4
    functionsReached:
    - log_get_errorcount
    - exit
    - gcry_control
    - cleanup
    linkageType: ''
    returnType: void
    signature: void agent_exit (int rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_self
      Src: /src/gnupg/agent/gpg-agent.c:1906,1
    - Dst: struct progress_dispatch_s*::cb
      Src: /src/gnupg/agent/gpg-agent.c:1914,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 5
    argNames:
    - data
    - what
    - printchar
    - current
    - total
    argTypes:
    - void*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1901
    functionDepth: 1
    functionLinenumber: 1901
    functionLinenumberEnd: 1915
    functionName: agent_libgcrypt_progress_cb
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - struct progress_dispatch_s*::cb
    - npth_self
    linkageType: ''
    returnType: void
    signature: "void agent_libgcrypt_progress_cb (void *data, const char *what, int
      printchar,\n                             int current, int total)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_self
      Src: /src/gnupg/agent/gpg-agent.c:1924,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1920
    functionDepth: 1
    functionLinenumber: 1920
    functionLinenumberEnd: 1934
    functionName: unregister_progress_cb
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 1
    functionsReached:
    - npth_self
    linkageType: ''
    returnType: void
    signature: void unregister_progress_cb (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: npth_self
      Src: /src/gnupg/agent/gpg-agent.c:1945,1
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/gpg-agent.c:1961,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:1968,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/gpg-agent.c:1969,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/gpg-agent.c:1969,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1939
    functionDepth: 1
    functionLinenumber: 1939
    functionLinenumberEnd: 1977
    functionName: agent_set_progress_cb
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - gpg_strerror
    - xtrycalloc
    - npth_self
    linkageType: ''
    returnType: void
    signature: "void agent_set_progress_cb (void (*cb)(ctrl_t ctrl, const char *what,\n
      \                                 int printchar, int current, int total),\n
      \                      ctrl_t ctrl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/agent/gpg-agent.c:1988,1
    - Dst: session_env_setenv
      Src: /src/gnupg/agent/gpg-agent.c:1993,1
    - Dst: session_env_setenv
      Src: /src/gnupg/agent/gpg-agent.c:1994,1
    - Dst: session_env_setenv
      Src: /src/gnupg/agent/gpg-agent.c:1995,1
    - Dst: session_env_setenv
      Src: /src/gnupg/agent/gpg-agent.c:1996,1
    - Dst: session_env_setenv
      Src: /src/gnupg/agent/gpg-agent.c:1997,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2000,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/gpg-agent.c:2001,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2004,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/gpg-agent.c:2005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 1985
    functionDepth: 3
    functionLinenumber: 1985
    functionLinenumberEnd: 2008
    functionName: agent_init_default_ctrl
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 1
    functionsReached:
    - xtrystrdup
    - xfree
    - session_env_setenv
    - log_assert
    linkageType: ''
    returnType: void
    signature: void agent_init_default_ctrl (ctrl_t ctrl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unregister_progress_cb
      Src: /src/gnupg/agent/gpg-agent.c:2016,1
    - Dst: session_env_release
      Src: /src/gnupg/agent/gpg-agent.c:2017,1
    - Dst: clear_ephemeral_keys
      Src: /src/gnupg/agent/gpg-agent.c:2018,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2020,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2023,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 2013
    functionDepth: 1
    functionLinenumber: 2013
    functionLinenumberEnd: 2026
    functionName: agent_deinit_default_ctrl
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 1
    functionsReached:
    - session_env_release
    - unregister_progress_cb
    - xfree
    - clear_ephemeral_keys
    linkageType: ''
    returnType: void
    signature: void agent_deinit_default_ctrl (ctrl_t ctrl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: session_env_list_stdenvnames
      Src: /src/gnupg/agent/gpg-agent.c:2040,1
    - Dst: session_env_getenv
      Src: /src/gnupg/agent/gpg-agent.c:2042,1
    - Dst: session_env_setenv
      Src: /src/gnupg/agent/gpg-agent.c:2043,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/gpg-agent.c:2047,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/gpg-agent.c:2048,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/gpg-agent.c:2051,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/gpg-agent.c:2052,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2055,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/gpg-agent.c:2056,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 2033
    functionDepth: 3
    functionLinenumber: 2033
    functionLinenumberEnd: 2059
    functionName: agent_copy_startup_env
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 2
    functionsReached:
    - gpg_error_from_syserror
    - log_error
    - session_env_list_stdenvnames
    - xtrystrdup
    - gpg_strerror
    - session_env_setenv
    - session_env_getenv
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_copy_startup_env (ctrl_t ctrl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strconcat
      Src: /src/gnupg/agent/gpg-agent.c:2082,1
    - Dst: parse_rereadable_options
      Src: /src/gnupg/agent/gpg-agent.c:2087,1
    - Dst: memset
      Src: /src/gnupg/agent/gpg-agent.c:2089,1
    - Dst: gpgrt_argparser
      Src: /src/gnupg/agent/gpg-agent.c:2095,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2099,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2099,1
    - Dst: parse_rereadable_options
      Src: /src/gnupg/agent/gpg-agent.c:2108,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/agent/gpg-agent.c:2111,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2112,1
    - Dst: finalize_rereadable_options
      Src: /src/gnupg/agent/gpg-agent.c:2114,1
    - Dst: set_debug
      Src: /src/gnupg/agent/gpg-agent.c:2115,1
    - Dst: parse_comopt
      Src: /src/gnupg/agent/gpg-agent.c:2118,1
    - Dst: strcmp
      Src: /src/gnupg/agent/gpg-agent.c:2121,1
    - Dst: log_set_file
      Src: /src/gnupg/agent/gpg-agent.c:2123,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2124,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/gpg-agent.c:2125,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2071
    functionDepth: 4
    functionLinenumber: 2071
    functionLinenumberEnd: 2128
    functionName: reread_configuration
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 1
    functionsReached:
    - set_debug
    - parse_comopt
    - gpgrt_argparser
    - strconcat
    - _
    - strcmp
    - finalize_rereadable_options
    - xtrystrdup
    - log_info
    - memset
    - xfree
    - gpgrt_argparse
    - parse_rereadable_options
    - log_set_file
    linkageType: ''
    returnType: void
    signature: void reread_configuration (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2139
    functionName: get_agent_socket_name
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_agent_socket_name (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2143
    functionDepth: 0
    functionLinenumber: 2143
    functionLinenumberEnd: 2149
    functionName: get_agent_ssh_socket_name
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_agent_ssh_socket_name (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2153
    functionDepth: 0
    functionLinenumber: 2153
    functionLinenumberEnd: 2157
    functionName: get_agent_active_connection_count
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_agent_active_connection_count (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CreateEvent
      Src: /src/gnupg/agent/gpg-agent.c:2176,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2178,1
    - Dst: w32_strerror
      Src: /src/gnupg/agent/gpg-agent.c:2178,1
    - Dst: DuplicateHandle
      Src: /src/gnupg/agent/gpg-agent.c:2179,1
    - Dst: GetCurrentProcess
      Src: /src/gnupg/agent/gpg-agent.c:2179,1
    - Dst: GetCurrentProcess
      Src: /src/gnupg/agent/gpg-agent.c:2180,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2183,1
    - Dst: w32_strerror
      Src: /src/gnupg/agent/gpg-agent.c:2184,1
    - Dst: CloseHandle
      Src: /src/gnupg/agent/gpg-agent.c:2185,1
    - Dst: CloseHandle
      Src: /src/gnupg/agent/gpg-agent.c:2189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2194
      start: 2164
    functionDepth: 1
    functionLinenumber: 2164
    functionLinenumberEnd: 2194
    functionName: create_an_event
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 1
    functionsReached:
    - CloseHandle
    - log_error
    - CreateEvent
    - DuplicateHandle
    - w32_strerror
    - GetCurrentProcess
    linkageType: ''
    returnType: void
    signature: 'void *

      create_an_event (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_an_event
      Src: /src/gnupg/agent/gpg-agent.c:2202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2205
    functionName: get_agent_daemon_notify_event
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 1
    functionsReached:
    - create_an_event
    linkageType: ''
    returnType: void
    signature: 'void *

      get_agent_daemon_notify_event (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/agent/gpg-agent.c:2222,1
    - Dst: gnupg_socketdir
      Src: /src/gnupg/agent/gpg-agent.c:2222,1
    - Dst: make_filename
      Src: /src/gnupg/agent/gpg-agent.c:2224,1
    - Dst: strchr
      Src: /src/gnupg/agent/gpg-agent.c:2225,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2227,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/gpg-agent.c:2228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - standard_name
    - with_homedir
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2216
    functionDepth: 7
    functionLinenumber: 2216
    functionLinenumberEnd: 2231
    functionName: create_socket_name
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 3
    functionsReached:
    - make_filename
    - log_error
    - gnupg_socketdir
    - strchr
    - agent_exit
    linkageType: ''
    returnType: char
    signature: 'char *

      create_socket_name (char *standard_name, int with_homedir)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2252,1
    - Dst: assuan_sock_new
      Src: /src/gnupg/agent/gpg-agent.c:2255,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2258,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2258,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:2258,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/gpg-agent.c:2260,1
    - Dst: assuan_sock_set_flag
      Src: /src/gnupg/agent/gpg-agent.c:2264,1
    - Dst: xmalloc
      Src: /src/gnupg/agent/gpg-agent.c:2266,1
    - Dst: assuan_sock_set_sockaddr_un
      Src: /src/gnupg/agent/gpg-agent.c:2272,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2275,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2275,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2277,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/gpg-agent.c:2278,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/gpg-agent.c:2278,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2280,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/gpg-agent.c:2281,1
    - Dst: xstrdup
      Src: /src/gnupg/agent/gpg-agent.c:2285,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2287,1
    - Dst: SUN_LEN
      Src: /src/gnupg/agent/gpg-agent.c:2291,1
    - Dst: assuan_sock_bind
      Src: /src/gnupg/agent/gpg-agent.c:2292,1
    - Dst: check_for_running_agent
      Src: /src/gnupg/agent/gpg-agent.c:2310,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2313,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2313,1
    - Dst: log_set_prefix
      Src: /src/gnupg/agent/gpg-agent.c:2317,1
    - Dst: log_set_file
      Src: /src/gnupg/agent/gpg-agent.c:2318,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2319,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2319,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/agent/gpg-agent.c:2322,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2323,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/gpg-agent.c:2324,1
    - Dst: gnupg_remove
      Src: /src/gnupg/agent/gpg-agent.c:2327,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2328,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2328,1
    - Dst: assuan_sock_bind
      Src: /src/gnupg/agent/gpg-agent.c:2329,1
    - Dst: assuan_sock_get_nonce
      Src: /src/gnupg/agent/gpg-agent.c:2331,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2332,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2332,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/gpg-agent.c:2335,1
    - Dst: log_libassuan_system_error
      Src: /src/gnupg/agent/gpg-agent.c:2336,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2339,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2339,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/gpg-agent.c:2340,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/agent/gpg-agent.c:2342,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2344,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/gpg-agent.c:2345,1
    - Dst: gnupg_chmod
      Src: /src/gnupg/agent/gpg-agent.c:2348,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2349,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2349,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:2350,1
    - Dst: listen
      Src: /src/gnupg/agent/gpg-agent.c:2352,1
    - Dst: FD2INT
      Src: /src/gnupg/agent/gpg-agent.c:2352,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2354,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:2355,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/agent/gpg-agent.c:2357,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2358,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/gpg-agent.c:2359,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2363,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2363,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2365,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 5
    argNames:
    - name
    - primary
    - cygwin
    - r_redir_name
    - nonce
    argTypes:
    - char*
    - int
    - int
    - char**
    - assuan_sock_nonce_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2242
    functionDepth: 6
    functionLinenumber: 2242
    functionLinenumberEnd: 2367
    functionName: create_server_socket
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 4
    functionsReached:
    - FD2INT
    - log_libassuan_system_error
    - xmalloc
    - xstrdup
    - assuan_sock_new
    - log_error
    - assuan_sock_get_nonce
    - log_set_prefix
    - listen
    - _
    - log_info
    - agent_exit
    - assuan_sock_set_flag
    - gpg_error_from_syserror
    - assuan_sock_close
    - xfree
    - gpg_strerror
    - log_set_file
    - assuan_sock_set_sockaddr_un
    - check_for_running_agent
    - gnupg_chmod
    - SUN_LEN
    - assuan_sock_bind
    - gnupg_remove
    - strerror
    linkageType: ''
    returnType: gnupg_fd_t
    signature: "gnupg_fd_t create_server_socket (char *name, int primary, int cygwin,\n
      \                     char **r_redir_name, assuan_sock_nonce_t *nonce)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/agent/gpg-agent.c:2379,1
    - Dst: gnupg_stat
      Src: /src/gnupg/agent/gpg-agent.c:2380,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/agent/gpg-agent.c:2382,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2383,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2383,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:2384,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2386,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2386,1
    - Dst: gnupg_chmod
      Src: /src/gnupg/agent/gpg-agent.c:2388,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2389,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2389,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:2390,1
    - Dst: gnupg_chmod
      Src: /src/gnupg/agent/gpg-agent.c:2397,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2398,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2398,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:2399,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2401,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - home
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2373
    functionDepth: 3
    functionLinenumber: 2373
    functionLinenumberEnd: 2402
    functionName: create_private_keys_directory
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - make_filename
    - log_error
    - gnupg_chmod
    - gnupg_mkdir
    - _
    - log_info
    - xfree
    - gnupg_stat
    - strerror
    linkageType: ''
    returnType: void
    signature: void create_private_keys_directory (const char *home)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: standard_homedir
      Src: /src/gnupg/agent/gpg-agent.c:2415,1
    - Dst: make_filename
      Src: /src/gnupg/agent/gpg-agent.c:2418,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/agent/gpg-agent.c:2418,1
    - Dst: gnupg_stat
      Src: /src/gnupg/agent/gpg-agent.c:2419,1
    - Dst: HAVE_W32_SYSTEM
      Src: /src/gnupg/agent/gpg-agent.c:2424,1
    - Dst: compare_filenames
      Src: /src/gnupg/agent/gpg-agent.c:2425,1
    - Dst: strlen
      Src: /src/gnupg/agent/gpg-agent.c:2428,1
    - Dst: strlen
      Src: /src/gnupg/agent/gpg-agent.c:2428,1
    - Dst: strcmp
      Src: /src/gnupg/agent/gpg-agent.c:2429,1
    - Dst: strlen
      Src: /src/gnupg/agent/gpg-agent.c:2429,1
    - Dst: strlen
      Src: /src/gnupg/agent/gpg-agent.c:2430,1
    - Dst: strcmp
      Src: /src/gnupg/agent/gpg-agent.c:2431,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/agent/gpg-agent.c:2435,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2436,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2436,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:2437,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2441,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2441,1
    - Dst: create_private_keys_directory
      Src: /src/gnupg/agent/gpg-agent.c:2442,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2447,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2447,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:2447,1
    - Dst: S_ISDIR
      Src: /src/gnupg/agent/gpg-agent.c:2449,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2451,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2451,1
    - Dst: create_private_keys_directory
      Src: /src/gnupg/agent/gpg-agent.c:2455,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2457,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2411
    functionDepth: 5
    functionLinenumber: 2411
    functionLinenumberEnd: 2458
    functionName: create_directories
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 2
    functionsReached:
    - make_filename
    - HAVE_W32_SYSTEM
    - strlen
    - log_error
    - gnupg_mkdir
    - gnupg_homedir
    - create_private_keys_directory
    - compare_filenames
    - _
    - strcmp
    - standard_homedir
    - log_info
    - S_ISDIR
    - xfree
    - gnupg_stat
    - strerror
    linkageType: ''
    returnType: void
    signature: void create_directories (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2466,1
    - Dst: agent_flush_cache
      Src: /src/gnupg/agent/gpg-agent.c:2469,1
    - Dst: reread_configuration
      Src: /src/gnupg/agent/gpg-agent.c:2470,1
    - Dst: agent_reload_trustlist
      Src: /src/gnupg/agent/gpg-agent.c:2471,1
    - Dst: gnupg_module_name_flush_some
      Src: /src/gnupg/agent/gpg-agent.c:2475,1
    - Dst: agent_kill_daemon
      Src: /src/gnupg/agent/gpg-agent.c:2478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2463
    functionDepth: 3
    functionLinenumber: 2463
    functionLinenumberEnd: 2479
    functionName: agent_sighup_action
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - reread_configuration
    - gnupg_module_name_flush_some
    - agent_reload_trustlist
    - agent_kill_daemon
    - log_info
    - agent_flush_cache
    linkageType: ''
    returnType: void
    signature: void agent_sighup_action (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2487,1
    - Dst: bump_card_eventcounter
      Src: /src/gnupg/agent/gpg-agent.c:2489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2490
      start: 2483
    functionDepth: 1
    functionLinenumber: 2483
    functionLinenumberEnd: 2490
    functionName: agent_sigusr2_action
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - bump_card_eventcounter
    - log_info
    linkageType: ''
    returnType: void
    signature: void agent_sigusr2_action (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: agent_sighup_action
      Src: /src/gnupg/agent/gpg-agent.c:2503,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2507,1
    - Dst: agent_query_dump_state
      Src: /src/gnupg/agent/gpg-agent.c:2511,1
    - Dst: agent_daemon_dump_state
      Src: /src/gnupg/agent/gpg-agent.c:2512,1
    - Dst: agent_sigusr2_action
      Src: /src/gnupg/agent/gpg-agent.c:2516,1
    - Dst: log_debug
      Src: /src/gnupg/agent/gpg-agent.c:2521,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2526,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2528,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2533,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2534,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/agent/gpg-agent.c:2534,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/agent/gpg-agent.c:2534,1
    - Dst: cleanup
      Src: /src/gnupg/agent/gpg-agent.c:2535,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/gpg-agent.c:2536,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2541,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2542,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/agent/gpg-agent.c:2542,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/agent/gpg-agent.c:2542,1
    - Dst: cleanup
      Src: /src/gnupg/agent/gpg-agent.c:2543,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/gpg-agent.c:2544,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2548,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2496
    functionDepth: 4
    functionLinenumber: 2496
    functionLinenumberEnd: 2550
    functionName: handle_signal
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 3
    functionsReached:
    - agent_sighup_action
    - agent_sigusr2_action
    - cleanup
    - gpgrt_strusage
    - log_info
    - log_debug
    - agent_exit
    - agent_daemon_dump_state
    - agent_query_dump_state
    linkageType: ''
    returnType: void
    signature: void handle_signal (int signo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_sock_check_nonce
      Src: /src/gnupg/agent/gpg-agent.c:2558,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2560,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2560,1
    - Dst: FD_DBG
      Src: /src/gnupg/agent/gpg-agent.c:2561,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:2561,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/agent/gpg-agent.c:2562,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctrl
    - nonce
    argTypes:
    - ctrl_t
    - assuan_sock_nonce_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2568
      start: 2555
    functionDepth: 1
    functionLinenumber: 2555
    functionLinenumberEnd: 2568
    functionName: check_nonce
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 4
    functionsReached:
    - _
    - assuan_sock_check_nonce
    - FD_DBG
    - assuan_sock_close
    - log_info
    - xfree
    - strerror
    linkageType: ''
    returnType: int
    signature: int check_nonce (ctrl_t ctrl, assuan_sock_nonce_t *nonce)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: DefWindowProc
      Src: /src/gnupg/agent/gpg-agent.c:2591,1
    - Dst: npth_protect
      Src: /src/gnupg/agent/gpg-agent.c:2603,1
    - Dst: log_debug
      Src: /src/gnupg/agent/gpg-agent.c:2604,1
    - Dst: npth_unprotect
      Src: /src/gnupg/agent/gpg-agent.c:2605,1
    - Dst: OpenFileMapping
      Src: /src/gnupg/agent/gpg-agent.c:2608,1
    - Dst: npth_protect
      Src: /src/gnupg/agent/gpg-agent.c:2611,1
    - Dst: log_debug
      Src: /src/gnupg/agent/gpg-agent.c:2612,1
    - Dst: npth_unprotect
      Src: /src/gnupg/agent/gpg-agent.c:2613,1
    - Dst: npth_protect
      Src: /src/gnupg/agent/gpg-agent.c:2619,1
    - Dst: w32_get_user_sid
      Src: /src/gnupg/agent/gpg-agent.c:2621,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2624,1
    - Dst: GetSecurityInfo
      Src: /src/gnupg/agent/gpg-agent.c:2628,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2634,1
    - Dst: ConvertSidToStringSid
      Src: /src/gnupg/agent/gpg-agent.c:2642,1
    - Dst: log_debug
      Src: /src/gnupg/agent/gpg-agent.c:2644,1
    - Dst: LocalFree
      Src: /src/gnupg/agent/gpg-agent.c:2645,1
    - Dst: ConvertSidToStringSid
      Src: /src/gnupg/agent/gpg-agent.c:2646,1
    - Dst: log_debug
      Src: /src/gnupg/agent/gpg-agent.c:2648,1
    - Dst: LocalFree
      Src: /src/gnupg/agent/gpg-agent.c:2649,1
    - Dst: EqualSid
      Src: /src/gnupg/agent/gpg-agent.c:2652,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2654,1
    - Dst: MapViewOfFile
      Src: /src/gnupg/agent/gpg-agent.c:2658,1
    - Dst: log_debug
      Src: /src/gnupg/agent/gpg-agent.c:2660,1
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/gpg-agent.c:2666,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2669,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:2670,1
    - Dst: session_env_new
      Src: /src/gnupg/agent/gpg-agent.c:2673,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2676,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:2677,1
    - Dst: agent_init_default_ctrl
      Src: /src/gnupg/agent/gpg-agent.c:2681,1
    - Dst: serve_mmapped_ssh_request
      Src: /src/gnupg/agent/gpg-agent.c:2682,1
    - Dst: agent_deinit_default_ctrl
      Src: /src/gnupg/agent/gpg-agent.c:2684,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2688,1
    - Dst: UnmapViewOfFile
      Src: /src/gnupg/agent/gpg-agent.c:2690,1
    - Dst: LocalFree
      Src: /src/gnupg/agent/gpg-agent.c:2692,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2693,1
    - Dst: CloseHandle
      Src: /src/gnupg/agent/gpg-agent.c:2694,1
    - Dst: npth_unprotect
      Src: /src/gnupg/agent/gpg-agent.c:2696,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 4
    argNames:
    - hwnd
    - msg
    - wparam
    - lparam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2575
    functionDepth: 4
    functionLinenumber: 2575
    functionLinenumberEnd: 2699
    functionName: putty_message_proc
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - GetSecurityInfo
    - npth_unprotect
    - npth_protect
    - LocalFree
    - log_error
    - session_env_new
    - UnmapViewOfFile
    - EqualSid
    - DefWindowProc
    - log_debug
    - ConvertSidToStringSid
    - MapViewOfFile
    - xfree
    - xtrycalloc
    - agent_deinit_default_ctrl
    - serve_mmapped_ssh_request
    - w32_get_user_sid
    - agent_init_default_ctrl
    - strerror
    - OpenFileMapping
    linkageType: ''
    returnType: LRESULT
    signature: LRESULT putty_message_proc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM
      lparam)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2716,1
    - Dst: npth_unprotect
      Src: /src/gnupg/agent/gpg-agent.c:2721,1
    - Dst: RegisterClass
      Src: /src/gnupg/agent/gpg-agent.c:2725,1
    - Dst: npth_protect
      Src: /src/gnupg/agent/gpg-agent.c:2727,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2728,1
    - Dst: CreateWindowEx
      Src: /src/gnupg/agent/gpg-agent.c:2731,1
    - Dst: npth_protect
      Src: /src/gnupg/agent/gpg-agent.c:2739,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2740,1
    - Dst: GetMessage
      Src: /src/gnupg/agent/gpg-agent.c:2744,1
    - Dst: TranslateMessage
      Src: /src/gnupg/agent/gpg-agent.c:2746,1
    - Dst: DispatchMessage
      Src: /src/gnupg/agent/gpg-agent.c:2747,1
    - Dst: npth_protect
      Src: /src/gnupg/agent/gpg-agent.c:2751,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2754,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2756
      start: 2705
    functionDepth: 1
    functionLinenumber: 2705
    functionLinenumberEnd: 2756
    functionName: putty_message_thread
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - DispatchMessage
    - log_error
    - CreateWindowEx
    - RegisterClass
    - log_info
    - TranslateMessage
    - npth_unprotect
    - npth_protect
    - GetMessage
    linkageType: ''
    returnType: void
    signature: 'void *

      putty_message_thread (void *arg)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2769,1
    - Dst: npth_unprotect
      Src: /src/gnupg/agent/gpg-agent.c:2777,1
    - Dst: CreateNamedPipeA
      Src: /src/gnupg/agent/gpg-agent.c:2778,1
    - Dst: npth_protect
      Src: /src/gnupg/agent/gpg-agent.c:2786,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2787,1
    - Dst: GetLastError
      Src: /src/gnupg/agent/gpg-agent.c:2787,1
    - Dst: ConnectNamedPipe
      Src: /src/gnupg/agent/gpg-agent.c:2791,1
    - Dst: npth_protect
      Src: /src/gnupg/agent/gpg-agent.c:2793,1
    - Dst: CloseHandle
      Src: /src/gnupg/agent/gpg-agent.c:2794,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2795,1
    - Dst: GetLastError
      Src: /src/gnupg/agent/gpg-agent.c:2795,1
    - Dst: npth_protect
      Src: /src/gnupg/agent/gpg-agent.c:2799,1
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/gpg-agent.c:2800,1
    - Dst: CloseHandle
      Src: /src/gnupg/agent/gpg-agent.c:2803,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2804,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:2805,1
    - Dst: GetNamedPipeClientProcessId
      Src: /src/gnupg/agent/gpg-agent.c:2810,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2811,1
    - Dst: GetLastError
      Src: /src/gnupg/agent/gpg-agent.c:2811,1
    - Dst: session_env_new
      Src: /src/gnupg/agent/gpg-agent.c:2816,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2819,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:2820,1
    - Dst: agent_deinit_default_ctrl
      Src: /src/gnupg/agent/gpg-agent.c:2821,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2822,1
    - Dst: CloseHandle
      Src: /src/gnupg/agent/gpg-agent.c:2823,1
    - Dst: agent_init_default_ctrl
      Src: /src/gnupg/agent/gpg-agent.c:2826,1
    - Dst: es_sysopen
      Src: /src/gnupg/agent/gpg-agent.c:2830,1
    - Dst: agent_deinit_default_ctrl
      Src: /src/gnupg/agent/gpg-agent.c:2833,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2834,1
    - Dst: CloseHandle
      Src: /src/gnupg/agent/gpg-agent.c:2835,1
    - Dst: start_command_handler_ssh_stream
      Src: /src/gnupg/agent/gpg-agent.c:2839,1
    - Dst: agent_deinit_default_ctrl
      Src: /src/gnupg/agent/gpg-agent.c:2841,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2842,1
    - Dst: CloseHandle
      Src: /src/gnupg/agent/gpg-agent.c:2843,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2847,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2761
    functionDepth: 5
    functionLinenumber: 2761
    functionLinenumberEnd: 2849
    functionName: win32_openssh_thread
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - agent_deinit_default_ctrl
    - strerror
    - log_error
    - es_sysopen
    - ConnectNamedPipe
    - session_env_new
    - start_command_handler_ssh_stream
    - xtrycalloc
    - GetNamedPipeClientProcessId
    - log_info
    - xfree
    - CreateNamedPipeA
    - npth_unprotect
    - npth_protect
    - agent_init_default_ctrl
    - GetLastError
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: 'void *

      win32_openssh_thread (void *arg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: agent_init_default_ctrl
      Src: /src/gnupg/agent/gpg-agent.c:2857,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2859,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2859,1
    - Dst: npth_self
      Src: /src/gnupg/agent/gpg-agent.c:2860,1
    - Dst: FD_DBG
      Src: /src/gnupg/agent/gpg-agent.c:2860,1
    - Dst: start_command_handler
      Src: /src/gnupg/agent/gpg-agent.c:2862,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2864,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2864,1
    - Dst: npth_self
      Src: /src/gnupg/agent/gpg-agent.c:2865,1
    - Dst: FD_DBG
      Src: /src/gnupg/agent/gpg-agent.c:2865,1
    - Dst: agent_deinit_default_ctrl
      Src: /src/gnupg/agent/gpg-agent.c:2867,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2871
      start: 2853
    functionDepth: 4
    functionLinenumber: 2853
    functionLinenumberEnd: 2871
    functionName: do_start_connection_thread
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 1
    functionsReached:
    - agent_deinit_default_ctrl
    - _
    - FD_DBG
    - start_command_handler
    - log_info
    - xfree
    - agent_init_default_ctrl
    - npth_self
    linkageType: ''
    returnType: void
    signature: 'void *

      do_start_connection_thread (ctrl_t ctrl)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_nonce
      Src: /src/gnupg/agent/gpg-agent.c:2880,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2882,1
    - Dst: npth_self
      Src: /src/gnupg/agent/gpg-agent.c:2883,1
    - Dst: do_start_connection_thread
      Src: /src/gnupg/agent/gpg-agent.c:2887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2888
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2888
    functionName: start_connection_thread_std
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - npth_self
    - do_start_connection_thread
    - check_nonce
    - log_error
    linkageType: ''
    returnType: void
    signature: 'void *

      start_connection_thread_std (void *arg)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_nonce
      Src: /src/gnupg/agent/gpg-agent.c:2897,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2899,1
    - Dst: npth_self
      Src: /src/gnupg/agent/gpg-agent.c:2900,1
    - Dst: do_start_connection_thread
      Src: /src/gnupg/agent/gpg-agent.c:2905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2906
      start: 2892
    functionDepth: 1
    functionLinenumber: 2892
    functionLinenumberEnd: 2906
    functionName: start_connection_thread_extra
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - npth_self
    - do_start_connection_thread
    - check_nonce
    - log_error
    linkageType: ''
    returnType: void
    signature: 'void *

      start_connection_thread_extra (void *arg)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_nonce
      Src: /src/gnupg/agent/gpg-agent.c:2915,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2917,1
    - Dst: npth_self
      Src: /src/gnupg/agent/gpg-agent.c:2918,1
    - Dst: do_start_connection_thread
      Src: /src/gnupg/agent/gpg-agent.c:2923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2924
      start: 2910
    functionDepth: 1
    functionLinenumber: 2910
    functionLinenumberEnd: 2924
    functionName: start_connection_thread_browser
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - npth_self
    - do_start_connection_thread
    - check_nonce
    - log_error
    linkageType: ''
    returnType: void
    signature: 'void *

      start_connection_thread_browser (void *arg)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_nonce
      Src: /src/gnupg/agent/gpg-agent.c:2933,1
    - Dst: agent_init_default_ctrl
      Src: /src/gnupg/agent/gpg-agent.c:2937,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2939,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2939,1
    - Dst: npth_self
      Src: /src/gnupg/agent/gpg-agent.c:2940,1
    - Dst: FD_DBG
      Src: /src/gnupg/agent/gpg-agent.c:2940,1
    - Dst: start_command_handler_ssh
      Src: /src/gnupg/agent/gpg-agent.c:2942,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:2944,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:2944,1
    - Dst: npth_self
      Src: /src/gnupg/agent/gpg-agent.c:2945,1
    - Dst: FD_DBG
      Src: /src/gnupg/agent/gpg-agent.c:2945,1
    - Dst: agent_deinit_default_ctrl
      Src: /src/gnupg/agent/gpg-agent.c:2947,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:2948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2951
      start: 2928
    functionDepth: 6
    functionLinenumber: 2928
    functionLinenumberEnd: 2951
    functionName: start_connection_thread_ssh
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - agent_deinit_default_ctrl
    - _
    - FD_DBG
    - log_info
    - xfree
    - agent_init_default_ctrl
    - start_command_handler_ssh
    - check_nonce
    - npth_self
    linkageType: ''
    returnType: void
    signature: 'void *

      start_connection_thread_ssh (void *arg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SetEvent
      Src: /src/gnupg/agent/gpg-agent.c:2959,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2961,1
    - Dst: w32_strerror
      Src: /src/gnupg/agent/gpg-agent.c:2962,1
    - Dst: write
      Src: /src/gnupg/agent/gpg-agent.c:2965,1
    - Dst: kill
      Src: /src/gnupg/agent/gpg-agent.c:2967,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:2969,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/gpg-agent.c:2970,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/gpg-agent.c:2970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2973
      start: 2954
    functionDepth: 1
    functionLinenumber: 2954
    functionLinenumberEnd: 2973
    functionName: agent_kick_the_loop
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - SetEvent
    - log_error
    - gpg_error_from_syserror
    - write
    - kill
    - gpg_strerror
    - w32_strerror
    linkageType: ''
    returnType: void
    signature: void agent_kick_the_loop (void)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: npth_attr_init
      Src: /src/gnupg/agent/gpg-agent.c:3018,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/gpg-agent.c:3020,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:3021,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/agent/gpg-agent.c:3022,1
    - Dst: npth_sigev_init
      Src: /src/gnupg/agent/gpg-agent.c:3025,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/agent/gpg-agent.c:3026,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/agent/gpg-agent.c:3027,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/agent/gpg-agent.c:3028,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/agent/gpg-agent.c:3029,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/agent/gpg-agent.c:3030,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/agent/gpg-agent.c:3031,1
    - Dst: npth_sigev_fini
      Src: /src/gnupg/agent/gpg-agent.c:3032,1
    - Dst: gnupg_create_pipe
      Src: /src/gnupg/agent/gpg-agent.c:3034,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:3037,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/gpg-agent.c:3037,1
    - Dst: getpid
      Src: /src/gnupg/agent/gpg-agent.c:3042,1
    - Dst: get_agent_daemon_notify_event
      Src: /src/gnupg/agent/gpg-agent.c:3045,1
    - Dst: create_an_event
      Src: /src/gnupg/agent/gpg-agent.c:3046,1
    - Dst: gnupg_inotify_watch_socket
      Src: /src/gnupg/agent/gpg-agent.c:3052,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/gpg-agent.c:3054,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:3055,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/gpg-agent.c:3056,1
    - Dst: gnupg_inotify_watch_delete_self
      Src: /src/gnupg/agent/gpg-agent.c:3061,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/agent/gpg-agent.c:3062,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/gpg-agent.c:3064,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:3065,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/gpg-agent.c:3066,1
    - Dst: npth_create
      Src: /src/gnupg/agent/gpg-agent.c:3076,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:3078,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:3078,1
    - Dst: npth_create
      Src: /src/gnupg/agent/gpg-agent.c:3087,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:3089,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:3089,1
    - Dst: npth_create
      Src: /src/gnupg/agent/gpg-agent.c:3100,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:3102,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:3102,1
    - Dst: npth_create
      Src: /src/gnupg/agent/gpg-agent.c:3109,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:3111,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:3111,1
    - Dst: FD_ZERO
      Src: /src/gnupg/agent/gpg-agent.c:3119,1
    - Dst: FD_SET
      Src: /src/gnupg/agent/gpg-agent.c:3120,1
    - Dst: FD2INT
      Src: /src/gnupg/agent/gpg-agent.c:3120,1
    - Dst: FD2NUM
      Src: /src/gnupg/agent/gpg-agent.c:3121,1
    - Dst: FD_SET
      Src: /src/gnupg/agent/gpg-agent.c:3124,1
    - Dst: FD2INT
      Src: /src/gnupg/agent/gpg-agent.c:3124,1
    - Dst: FD2INT
      Src: /src/gnupg/agent/gpg-agent.c:3125,1
    - Dst: FD2NUM
      Src: /src/gnupg/agent/gpg-agent.c:3126,1
    - Dst: FD_SET
      Src: /src/gnupg/agent/gpg-agent.c:3130,1
    - Dst: FD2INT
      Src: /src/gnupg/agent/gpg-agent.c:3130,1
    - Dst: FD2INT
      Src: /src/gnupg/agent/gpg-agent.c:3131,1
    - Dst: FD2NUM
      Src: /src/gnupg/agent/gpg-agent.c:3132,1
    - Dst: FD_SET
      Src: /src/gnupg/agent/gpg-agent.c:3136,1
    - Dst: FD2INT
      Src: /src/gnupg/agent/gpg-agent.c:3136,1
    - Dst: FD2INT
      Src: /src/gnupg/agent/gpg-agent.c:3137,1
    - Dst: FD2NUM
      Src: /src/gnupg/agent/gpg-agent.c:3138,1
    - Dst: FD_SET
      Src: /src/gnupg/agent/gpg-agent.c:3142,1
    - Dst: FD_SET
      Src: /src/gnupg/agent/gpg-agent.c:3148,1
    - Dst: FD_ZERO
      Src: /src/gnupg/agent/gpg-agent.c:3173,1
    - Dst: FD_SET
      Src: /src/gnupg/agent/gpg-agent.c:3177,1
    - Dst: FD_SET
      Src: /src/gnupg/agent/gpg-agent.c:3182,1
    - Dst: FD_SET
      Src: /src/gnupg/agent/gpg-agent.c:3193,1
    - Dst: agent_cache_expiration
      Src: /src/gnupg/agent/gpg-agent.c:3198,1
    - Dst: npth_pselect
      Src: /src/gnupg/agent/gpg-agent.c:3201,1
    - Dst: npth_sigev_sigmask
      Src: /src/gnupg/agent/gpg-agent.c:3202,1
    - Dst: npth_sigev_get_pending
      Src: /src/gnupg/agent/gpg-agent.c:3205,1
    - Dst: handle_signal
      Src: /src/gnupg/agent/gpg-agent.c:3206,1
    - Dst: npth_eselect
      Src: /src/gnupg/agent/gpg-agent.c:3208,1
    - Dst: agent_sigusr2_action
      Src: /src/gnupg/agent/gpg-agent.c:3214,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:3219,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:3219,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:3220,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/agent/gpg-agent.c:3221,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:3229,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:3230,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/agent/gpg-agent.c:3230,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/agent/gpg-agent.c:3230,1
    - Dst: cleanup
      Src: /src/gnupg/agent/gpg-agent.c:3231,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/gpg-agent.c:3232,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:3242,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:3248,1
    - Dst: FD_ISSET
      Src: /src/gnupg/agent/gpg-agent.c:3257,1
    - Dst: read
      Src: /src/gnupg/agent/gpg-agent.c:3261,1
    - Dst: FD_ISSET
      Src: /src/gnupg/agent/gpg-agent.c:3269,1
    - Dst: gnupg_inotify_has_name
      Src: /src/gnupg/agent/gpg-agent.c:3270,1
    - Dst: close
      Src: /src/gnupg/agent/gpg-agent.c:3276,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:3278,1
    - Dst: FD_ISSET
      Src: /src/gnupg/agent/gpg-agent.c:3282,1
    - Dst: close
      Src: /src/gnupg/agent/gpg-agent.c:3285,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:3287,1
    - Dst: DIM
      Src: /src/gnupg/agent/gpg-agent.c:3296,1
    - Dst: FD_ISSET
      Src: /src/gnupg/agent/gpg-agent.c:3300,1
    - Dst: FD2INT
      Src: /src/gnupg/agent/gpg-agent.c:3300,1
    - Dst: assuan_sock_accept
      Src: /src/gnupg/agent/gpg-agent.c:3304,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/gpg-agent.c:3308,1
    - Dst: log_libassuan_system_error
      Src: /src/gnupg/agent/gpg-agent.c:3309,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:3310,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/gpg-agent.c:3311,1
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/gpg-agent.c:3313,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:3315,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:3316,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/agent/gpg-agent.c:3317,1
    - Dst: session_env_new
      Src: /src/gnupg/agent/gpg-agent.c:3319,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:3321,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:3322,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:3323,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/agent/gpg-agent.c:3324,1
    - Dst: npth_create
      Src: /src/gnupg/agent/gpg-agent.c:3329,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:3333,1
    - Dst: strerror
      Src: /src/gnupg/agent/gpg-agent.c:3334,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/agent/gpg-agent.c:3335,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:3336,1
    - Dst: close
      Src: /src/gnupg/agent/gpg-agent.c:3344,1
    - Dst: close
      Src: /src/gnupg/agent/gpg-agent.c:3346,1
    - Dst: CloseHandle
      Src: /src/gnupg/agent/gpg-agent.c:3349,1
    - Dst: close
      Src: /src/gnupg/agent/gpg-agent.c:3352,1
    - Dst: close
      Src: /src/gnupg/agent/gpg-agent.c:3353,1
    - Dst: cleanup
      Src: /src/gnupg/agent/gpg-agent.c:3355,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:3356,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:3356,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/agent/gpg-agent.c:3356,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/agent/gpg-agent.c:3356,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/agent/gpg-agent.c:3357,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 200
    argCount: 5
    argNames:
    - listen_fd
    - listen_fd_extra
    - listen_fd_browser
    - listen_fd_ssh
    - reliable_homedir_inotify
    argTypes:
    - gnupg_fd_t
    - gnupg_fd_t
    - gnupg_fd_t
    - gnupg_fd_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3358
      start: 2978
    functionDepth: 5
    functionLinenumber: 2978
    functionLinenumberEnd: 3358
    functionName: handle_connections
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 3
    functionsReached:
    - FD2INT
    - CloseHandle
    - npth_attr_init
    - gnupg_homedir
    - log_libassuan_system_error
    - handle_signal
    - npth_sigev_fini
    - gnupg_inotify_watch_socket
    - FD_ISSET
    - assuan_sock_accept
    - log_error
    - npth_create
    - close
    - DIM
    - session_env_new
    - _
    - gnupg_inotify_has_name
    - FD_SET
    - FD2NUM
    - log_info
    - npth_eselect
    - agent_exit
    - npth_sigev_init
    - npth_pselect
    - npth_sigev_sigmask
    - gnupg_sleep
    - gpgrt_strusage
    - npth_sigev_get_pending
    - agent_sigusr2_action
    - gpg_error_from_syserror
    - create_an_event
    - npth_attr_setdetachstate
    - cleanup
    - assuan_sock_close
    - gpg_strerror
    - xfree
    - xtrycalloc
    - getpid
    - npth_sigev_add
    - FD_ZERO
    - agent_cache_expiration
    - read
    - npth_attr_destroy
    - log_fatal
    - gpg_err_code
    - gnupg_create_pipe
    - gnupg_inotify_watch_delete_self
    - strerror
    - get_agent_daemon_notify_event
    linkageType: ''
    returnType: void
    signature: "void handle_connections (gnupg_fd_t listen_fd,\n                    gnupg_fd_t
      listen_fd_extra,\n                    gnupg_fd_t listen_fd_browser,\n                    gnupg_fd_t
      listen_fd_ssh,\n                    int reliable_homedir_inotify)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/gnupg/agent/gpg-agent.c:3367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - opaque
    - buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3363
    functionDepth: 0
    functionLinenumber: 3363
    functionLinenumberEnd: 3369
    functionName: check_own_socket_pid_cb
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - put_membuf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_own_socket_pid_cb (void *opaque, const void *buffer,
      size_t length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assuan_new
      Src: /src/gnupg/agent/gpg-agent.c:3384,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:3387,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/gpg-agent.c:3387,1
    - Dst: assuan_set_flag
      Src: /src/gnupg/agent/gpg-agent.c:3390,1
    - Dst: assuan_socket_connect
      Src: /src/gnupg/agent/gpg-agent.c:3392,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:3395,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/gpg-agent.c:3395,1
    - Dst: init_membuf
      Src: /src/gnupg/agent/gpg-agent.c:3399,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/gpg-agent.c:3400,1
    - Dst: put_membuf
      Src: /src/gnupg/agent/gpg-agent.c:3402,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/gpg-agent.c:3403,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:3406,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/gpg-agent.c:3407,1
    - Dst: strtoul
      Src: /src/gnupg/agent/gpg-agent.c:3410,1
    - Dst: getpid
      Src: /src/gnupg/agent/gpg-agent.c:3410,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:3412,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:3416,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:3418,1
    - Dst: assuan_release
      Src: /src/gnupg/agent/gpg-agent.c:3422,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - sockname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3425
      start: 3376
    functionDepth: 1
    functionLinenumber: 3376
    functionLinenumberEnd: 3425
    functionName: do_check_own_socket
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 1
    functionsReached:
    - assuan_new
    - get_membuf
    - init_membuf
    - log_error
    - put_membuf
    - assuan_release
    - assuan_transact
    - gpg_strerror
    - strtoul
    - xfree
    - assuan_socket_connect
    - getpid
    - assuan_set_flag
    linkageType: ''
    returnType: int
    signature: int do_check_own_socket (const char *sockname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_filename_try
      Src: /src/gnupg/agent/gpg-agent.c:3435,1
    - Dst: gnupg_socketdir
      Src: /src/gnupg/agent/gpg-agent.c:3435,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/agent/gpg-agent.c:3444,1
    - Dst: do_check_own_socket
      Src: /src/gnupg/agent/gpg-agent.c:3446,1
    - Dst: agent_kick_the_loop
      Src: /src/gnupg/agent/gpg-agent.c:3450,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:3453,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3455
      start: 3428
    functionDepth: 7
    functionLinenumber: 3428
    functionLinenumberEnd: 3455
    functionName: check_own_socket_thread
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - gnupg_socketdir
    - do_check_own_socket
    - xfree
    - make_filename_try
    - agent_kick_the_loop
    - gnupg_sleep
    linkageType: ''
    returnType: void
    signature: 'void *

      check_own_socket_thread (void *arg)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_homedir
      Src: /src/gnupg/agent/gpg-agent.c:3462,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/agent/gpg-agent.c:3473,1
    - Dst: kill
      Src: /src/gnupg/agent/gpg-agent.c:3478,1
    - Dst: gnupg_stat
      Src: /src/gnupg/agent/gpg-agent.c:3484,1
    - Dst: agent_kick_the_loop
      Src: /src/gnupg/agent/gpg-agent.c:3488,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3492
      start: 3459
    functionDepth: 5
    functionLinenumber: 3459
    functionLinenumberEnd: 3492
    functionName: check_others_thread
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 0
    functionsReached:
    - gnupg_homedir
    - kill
    - gnupg_stat
    - agent_kick_the_loop
    - gnupg_sleep
    linkageType: ''
    returnType: void
    signature: 'void *

      check_others_thread (void *arg)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: make_filename_try
      Src: /src/gnupg/agent/gpg-agent.c:3504,1
    - Dst: gnupg_socketdir
      Src: /src/gnupg/agent/gpg-agent.c:3504,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/gpg-agent.c:3506,1
    - Dst: assuan_new
      Src: /src/gnupg/agent/gpg-agent.c:3508,1
    - Dst: assuan_socket_connect
      Src: /src/gnupg/agent/gpg-agent.c:3510,1
    - Dst: xfree
      Src: /src/gnupg/agent/gpg-agent.c:3511,1
    - Dst: log_error
      Src: /src/gnupg/agent/gpg-agent.c:3515,1
    - Dst: _
      Src: /src/gnupg/agent/gpg-agent.c:3515,1
    - Dst: assuan_release
      Src: /src/gnupg/agent/gpg-agent.c:3518,1
    - Dst: log_info
      Src: /src/gnupg/agent/gpg-agent.c:3523,1
    - Dst: assuan_release
      Src: /src/gnupg/agent/gpg-agent.c:3525,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - silent
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3497
    functionDepth: 7
    functionLinenumber: 3497
    functionLinenumberEnd: 3527
    functionName: check_for_running_agent
    functionSourceFile: /src/gnupg/agent/gpg-agent.c
    functionUses: 2
    functionsReached:
    - assuan_new
    - gpg_error_from_syserror
    - log_error
    - assuan_release
    - _
    - gnupg_socketdir
    - xfree
    - log_info
    - make_filename_try
    - assuan_socket_connect
    linkageType: ''
    returnType: int
    signature: int check_for_running_agent (int silent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: pass
    functionSourceFile: /src/gnupg/agent/t-protect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: fail
    functionSourceFile: /src/gnupg/agent/t-protect.c
    functionUses: 65
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/agent/t-protect.c:195,1
    - Dst: agent_protect
      Src: /src/gnupg/agent/t-protect.c:197,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/t-protect.c:200,1
    - Dst: printf
      Src: /src/gnupg/agent/t-protect.c:202,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/t-protect.c:203,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/t-protect.c:204,1
    - Dst: abort
      Src: /src/gnupg/agent/t-protect.c:205,1
    - Dst: assert
      Src: /src/gnupg/agent/t-protect.c:210,1
    - Dst: assert
      Src: /src/gnupg/agent/t-protect.c:211,1
    - Dst: assert
      Src: /src/gnupg/agent/t-protect.c:217,1
    - Dst: assert
      Src: /src/gnupg/agent/t-protect.c:219,1
    - Dst: memcmp
      Src: /src/gnupg/agent/t-protect.c:219,1
    - Dst: assert
      Src: /src/gnupg/agent/t-protect.c:222,1
    - Dst: xfree
      Src: /src/gnupg/agent/t-protect.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (! specs[i].result)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/gnupg/agent/t-protect.c
    - condition: (! specs[i].resultlen)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/gnupg/agent/t-protect.c
    - condition: (specs[i].resultlen == specs[i].resultlen_expected)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/gnupg/agent/t-protect.c
    - condition: (! specs[i].result)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/gnupg/agent/t-protect.c
    - condition: "(! memcmp (specs[i].result, specs[i].result_expected,\n\t\t\t\t
        \ specs[i].resultlen))"
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/gnupg/agent/t-protect.c
    constantsTouched: []
    func_position:
      end: 227
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 227
    functionName: test_agent_protect
    functionSourceFile: /src/gnupg/agent/t-protect.c
    functionUses: 0
    functionsReached:
    - printf
    - assert
    - DIM
    - agent_protect
    - abort
    - memcmp
    - gpg_err_code
    - gpg_strerror
    - xfree
    linkageType: ''
    returnType: void
    signature: void test_agent_protect (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 238
    functionName: test_agent_unprotect
    functionSourceFile: /src/gnupg/agent/t-protect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_agent_unprotect (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 252
    functionName: test_agent_private_key_type
    functionSourceFile: /src/gnupg/agent/t-protect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_agent_private_key_type (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/agent/t-protect.c:271,1
    - Dst: make_shadow_info
      Src: /src/gnupg/agent/t-protect.c:273,1
    - Dst: pass
      Src: /src/gnupg/agent/t-protect.c:275,1
    - Dst: fail
      Src: /src/gnupg/agent/t-protect.c:277,1
    - Dst: fail
      Src: /src/gnupg/agent/t-protect.c:279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: test_make_shadow_info
    functionSourceFile: /src/gnupg/agent/t-protect.c
    functionUses: 0
    functionsReached:
    - make_shadow_info
    - DIM
    - pass
    - fail
    linkageType: ''
    returnType: void
    signature: void test_make_shadow_info (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 300
    functionName: test_agent_shadow_key
    functionSourceFile: /src/gnupg/agent/t-protect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_agent_shadow_key (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 311
    functionName: test_agent_get_shadow_info
    functionSourceFile: /src/gnupg/agent/t-protect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_agent_get_shadow_info (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: test_agent_protect_shared_secret
    functionSourceFile: /src/gnupg/agent/t-protect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_agent_protect_shared_secret (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/gnupg/agent/t-protect.c:329,1
    - Dst: test_agent_protect
      Src: /src/gnupg/agent/t-protect.c:331,1
    - Dst: test_agent_unprotect
      Src: /src/gnupg/agent/t-protect.c:332,1
    - Dst: test_agent_private_key_type
      Src: /src/gnupg/agent/t-protect.c:333,1
    - Dst: test_make_shadow_info
      Src: /src/gnupg/agent/t-protect.c:334,1
    - Dst: test_agent_shadow_key
      Src: /src/gnupg/agent/t-protect.c:335,1
    - Dst: test_agent_get_shadow_info
      Src: /src/gnupg/agent/t-protect.c:336,1
    - Dst: test_agent_protect_shared_secret
      Src: /src/gnupg/agent/t-protect.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 340
    functionName: main
    functionSourceFile: /src/gnupg/agent/t-protect.c
    functionUses: 6
    functionsReached:
    - test_agent_unprotect
    - gcry_control
    - test_agent_private_key_type
    - test_agent_shadow_key
    - test_make_shadow_info
    - test_agent_protect_shared_secret
    - test_agent_get_shadow_info
    - test_agent_protect
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/t-protect.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - s_pgp
    - passphrase
    - r_key
    argTypes:
    - gcry_sexp_t
    - char*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: convert_from_openpgp_native
    functionSourceFile: /src/gnupg/agent/t-protect.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t convert_from_openpgp_native (gcry_sexp_t s_pgp, const
      char *passphrase,\n                             unsigned char **r_key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_init
      Src: /src/gnupg/agent/trustlist.c:92,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/trustlist.c:94,1
    - Dst: strerror
      Src: /src/gnupg/agent/trustlist.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: initialize_module_trustlist
    functionSourceFile: /src/gnupg/agent/trustlist.c
    functionUses: 1
    functionsReached:
    - npth_mutex_init
    - log_fatal
    - strerror
    linkageType: ''
    returnType: void
    signature: void initialize_module_trustlist (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/agent/trustlist.c:107,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/trustlist.c:109,1
    - Dst: strerror
      Src: /src/gnupg/agent/trustlist.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: lock_trusttable
    functionSourceFile: /src/gnupg/agent/trustlist.c
    functionUses: 0
    functionsReached:
    - strerror
    - log_fatal
    - npth_mutex_lock
    linkageType: ''
    returnType: void
    signature: void lock_trusttable (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/agent/trustlist.c:118,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/trustlist.c:120,1
    - Dst: strerror
      Src: /src/gnupg/agent/trustlist.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: unlock_trusttable
    functionSourceFile: /src/gnupg/agent/trustlist.c
    functionUses: 0
    functionsReached:
    - strerror
    - log_fatal
    - npth_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void unlock_trusttable (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: clear_trusttable
    functionSourceFile: /src/gnupg/agent/trustlist.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void clear_trusttable (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/agent/trustlist.c:140,1
    - Dst: strchr
      Src: /src/gnupg/agent/trustlist.c:141,1
    - Dst: make_absfilename
      Src: /src/gnupg/agent/trustlist.c:144,1
    - Dst: make_filename
      Src: /src/gnupg/agent/trustlist.c:146,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/agent/trustlist.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 6
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: make_sys_trustlist_name
    functionSourceFile: /src/gnupg/agent/trustlist.c
    functionUses: 0
    functionsReached:
    - strchr
    - gnupg_sysconfdir
    - make_absfilename
    - make_filename
    linkageType: ''
    returnType: char
    signature: 'char *

      make_sys_trustlist_name (void)'
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/agent/trustlist.c:178,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/trustlist.c:181,1
    - Dst: log_error
      Src: /src/gnupg/agent/trustlist.c:182,1
    - Dst: _
      Src: /src/gnupg/agent/trustlist.c:182,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/trustlist.c:182,1
    - Dst: es_read_line
      Src: /src/gnupg/agent/trustlist.c:187,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/trustlist.c:195,1
    - Dst: spacep
      Src: /src/gnupg/agent/trustlist.c:206,1
    - Dst: strncmp
      Src: /src/gnupg/agent/trustlist.c:211,1
    - Dst: spacep
      Src: /src/gnupg/agent/trustlist.c:212,1
    - Dst: log_error
      Src: /src/gnupg/agent/trustlist.c:220,1
    - Dst: _
      Src: /src/gnupg/agent/trustlist.c:220,1
    - Dst: make_sys_trustlist_name
      Src: /src/gnupg/agent/trustlist.c:226,1
    - Dst: strcmp
      Src: /src/gnupg/agent/trustlist.c:227,1
    - Dst: log_info
      Src: /src/gnupg/agent/trustlist.c:228,1
    - Dst: _
      Src: /src/gnupg/agent/trustlist.c:228,1
    - Dst: gnupg_access
      Src: /src/gnupg/agent/trustlist.c:230,1
    - Dst: log_info
      Src: /src/gnupg/agent/trustlist.c:234,1
    - Dst: _
      Src: /src/gnupg/agent/trustlist.c:234,1
    - Dst: read_one_trustfile
      Src: /src/gnupg/agent/trustlist.c:238,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:246,1
    - Dst: xtryrealloc
      Src: /src/gnupg/agent/trustlist.c:256,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/trustlist.c:259,1
    - Dst: memset
      Src: /src/gnupg/agent/trustlist.c:268,1
    - Dst: spacep
      Src: /src/gnupg/agent/trustlist.c:274,1
    - Dst: hexcolon2bin
      Src: /src/gnupg/agent/trustlist.c:278,1
    - Dst: log_error
      Src: /src/gnupg/agent/trustlist.c:281,1
    - Dst: _
      Src: /src/gnupg/agent/trustlist.c:281,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/trustlist.c:284,1
    - Dst: spacep
      Src: /src/gnupg/agent/trustlist.c:290,1
    - Dst: log_error
      Src: /src/gnupg/agent/trustlist.c:310,1
    - Dst: _
      Src: /src/gnupg/agent/trustlist.c:310,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/trustlist.c:313,1
    - Dst: spacep
      Src: /src/gnupg/agent/trustlist.c:319,1
    - Dst: log_error
      Src: /src/gnupg/agent/trustlist.c:321,1
    - Dst: _
      Src: /src/gnupg/agent/trustlist.c:321,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/trustlist.c:324,1
    - Dst: spacep
      Src: /src/gnupg/agent/trustlist.c:333,1
    - Dst: strcspn
      Src: /src/gnupg/agent/trustlist.c:337,1
    - Dst: log_error
      Src: /src/gnupg/agent/trustlist.c:340,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/trustlist.c:344,1
    - Dst: memcmp
      Src: /src/gnupg/agent/trustlist.c:349,1
    - Dst: memcmp
      Src: /src/gnupg/agent/trustlist.c:351,1
    - Dst: memcmp
      Src: /src/gnupg/agent/trustlist.c:353,1
    - Dst: memcmp
      Src: /src/gnupg/agent/trustlist.c:355,1
    - Dst: memcmp
      Src: /src/gnupg/agent/trustlist.c:357,1
    - Dst: memcmp
      Src: /src/gnupg/agent/trustlist.c:359,1
    - Dst: log_error
      Src: /src/gnupg/agent/trustlist.c:362,1
    - Dst: es_ferror
      Src: /src/gnupg/agent/trustlist.c:369,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/trustlist.c:370,1
    - Dst: log_error
      Src: /src/gnupg/agent/trustlist.c:373,1
    - Dst: _
      Src: /src/gnupg/agent/trustlist.c:373,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/trustlist.c:374,1
    - Dst: agent_print_status
      Src: /src/gnupg/agent/trustlist.c:375,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/trustlist.c:377,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/trustlist.c:381,1
    - Dst: gpgrt_free
      Src: /src/gnupg/agent/trustlist.c:382,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 148
    argCount: 6
    argNames:
    - ctrl
    - fname
    - systrust
    - addr_of_table
    - addr_of_tablesize
    - addr_of_tableidx
    argTypes:
    - ctrl_t
    - char*
    - int
    - trustitem_t**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 153
    functionDepth: 7
    functionLinenumber: 153
    functionLinenumberEnd: 387
    functionName: read_one_trustfile
    functionSourceFile: /src/gnupg/agent/trustlist.c
    functionUses: 1
    functionsReached:
    - make_sys_trustlist_name
    - es_fopen
    - gpgrt_free
    - log_error
    - _
    - gnupg_access
    - read_one_trustfile
    - log_info
    - es_ferror
    - strncmp
    - gpg_error_from_syserror
    - agent_print_status
    - es_read_line
    - spacep
    - strcmp
    - gpg_error
    - gpg_strerror
    - xfree
    - memset
    - hexcolon2bin
    - strcspn
    - es_fclose
    - xtryrealloc
    - memcmp
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t read_one_trustfile (ctrl_t ctrl,\n                    const
      char *fname, int systrust,\n                    trustitem_t **addr_of_table,\n
      \                   size_t *addr_of_tablesize,\n                    int *addr_of_tableidx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/trustlist.c:404,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/trustlist.c:406,1
    - Dst: make_filename_try
      Src: /src/gnupg/agent/trustlist.c:413,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/agent/trustlist.c:413,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/trustlist.c:416,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:417,1
    - Dst: gnupg_access
      Src: /src/gnupg/agent/trustlist.c:422,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/trustlist.c:430,1
    - Dst: log_error
      Src: /src/gnupg/agent/trustlist.c:431,1
    - Dst: _
      Src: /src/gnupg/agent/trustlist.c:431,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/trustlist.c:431,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:433,1
    - Dst: make_sys_trustlist_name
      Src: /src/gnupg/agent/trustlist.c:434,1
    - Dst: read_one_trustfile
      Src: /src/gnupg/agent/trustlist.c:437,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:439,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:443,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/trustlist.c:444,1
    - Dst: clear_trusttable
      Src: /src/gnupg/agent/trustlist.c:447,1
    - Dst: xtryrealloc
      Src: /src/gnupg/agent/trustlist.c:454,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/trustlist.c:457,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:458,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:463,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 392
    functionDepth: 8
    functionLinenumber: 392
    functionLinenumberEnd: 467
    functionName: read_trustfiles
    functionSourceFile: /src/gnupg/agent/trustlist.c
    functionUses: 0
    functionsReached:
    - clear_trusttable
    - gpg_error_from_syserror
    - log_error
    - gnupg_homedir
    - xtrycalloc
    - gnupg_access
    - _
    - make_sys_trustlist_name
    - gpg_error
    - read_one_trustfile
    - xfree
    - gpg_strerror
    - gpg_err_code
    - make_filename_try
    - xtryrealloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_trustfiles (ctrl_t ctrl)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: hexcolon2bin
      Src: /src/gnupg/agent/trustlist.c:489,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/trustlist.c:491,1
    - Dst: lock_trusttable
      Src: /src/gnupg/agent/trustlist.c:497,1
    - Dst: read_trustfiles
      Src: /src/gnupg/agent/trustlist.c:503,1
    - Dst: log_error
      Src: /src/gnupg/agent/trustlist.c:506,1
    - Dst: _
      Src: /src/gnupg/agent/trustlist.c:506,1
    - Dst: memcmp
      Src: /src/gnupg/agent/trustlist.c:514,1
    - Dst: unlock_trusttable
      Src: /src/gnupg/agent/trustlist.c:529,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/trustlist.c:535,1
    - Dst: agent_write_status
      Src: /src/gnupg/agent/trustlist.c:536,1
    - Dst: agent_write_status
      Src: /src/gnupg/agent/trustlist.c:539,1
    - Dst: agent_write_status
      Src: /src/gnupg/agent/trustlist.c:541,1
    - Dst: agent_write_status
      Src: /src/gnupg/agent/trustlist.c:543,1
    - Dst: agent_write_status
      Src: /src/gnupg/agent/trustlist.c:545,1
    - Dst: agent_write_status
      Src: /src/gnupg/agent/trustlist.c:548,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/trustlist.c:552,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/trustlist.c:556,1
    - Dst: unlock_trusttable
      Src: /src/gnupg/agent/trustlist.c:560,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 60
    argCount: 5
    argNames:
    - ctrl
    - fpr
    - listmode
    - r_disabled
    - already_locked
    argTypes:
    - ctrl_t
    - char*
    - int
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 476
    functionDepth: 9
    functionLinenumber: 476
    functionLinenumberEnd: 562
    functionName: istrusted_internal
    functionSourceFile: /src/gnupg/agent/trustlist.c
    functionUses: 0
    functionsReached:
    - log_error
    - bin2hex
    - _
    - unlock_trusttable
    - gpg_error
    - read_trustfiles
    - hexcolon2bin
    - memcmp
    - lock_trusttable
    - agent_write_status
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t istrusted_internal (ctrl_t ctrl, const char *fpr, int
      listmode, int *r_disabled,\n                    int already_locked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: istrusted_internal
      Src: /src/gnupg/agent/trustlist.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - fpr
    - r_disabled
    argTypes:
    - ctrl_t
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 10
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: agent_istrusted
    functionSourceFile: /src/gnupg/agent/trustlist.c
    functionUses: 4
    functionsReached:
    - istrusted_internal
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_istrusted (ctrl_t ctrl, const char *fpr, int *r_disabled)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lock_trusttable
      Src: /src/gnupg/agent/trustlist.c:586,1
    - Dst: read_trustfiles
      Src: /src/gnupg/agent/trustlist.c:590,1
    - Dst: unlock_trusttable
      Src: /src/gnupg/agent/trustlist.c:593,1
    - Dst: log_error
      Src: /src/gnupg/agent/trustlist.c:594,1
    - Dst: _
      Src: /src/gnupg/agent/trustlist.c:594,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/trustlist.c:606,1
    - Dst: add_to_strlist_try
      Src: /src/gnupg/agent/trustlist.c:609,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/trustlist.c:611,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/trustlist.c:620,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/trustlist.c:621,1
    - Dst: unlock_trusttable
      Src: /src/gnupg/agent/trustlist.c:627,1
    - Dst: istrusted_internal
      Src: /src/gnupg/agent/trustlist.c:634,1
    - Dst: unlock_trusttable
      Src: /src/gnupg/agent/trustlist.c:640,1
    - Dst: free_strlist
      Src: /src/gnupg/agent/trustlist.c:641,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 3
    argNames:
    - ctrl
    - assuan_context
    - status_mode
    argTypes:
    - ctrl_t
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 575
    functionDepth: 10
    functionLinenumber: 575
    functionLinenumberEnd: 643
    functionName: agent_listtrusted
    functionSourceFile: /src/gnupg/agent/trustlist.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - log_error
    - gpg_error_from_syserror
    - bin2hex
    - istrusted_internal
    - _
    - free_strlist
    - unlock_trusttable
    - read_trustfiles
    - add_to_strlist_try
    - lock_trusttable
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_listtrusted (ctrl_t ctrl, void *assuan_context, int
      status_mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/agent/trustlist.c:653,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/trustlist.c:656,1
    - Dst: log_assert
      Src: /src/gnupg/agent/trustlist.c:670,1
    - Dst: strlen
      Src: /src/gnupg/agent/trustlist.c:670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 673
    functionName: insert_colons
    functionSourceFile: /src/gnupg/agent/trustlist.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    - log_assert
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      insert_colons (const char *string)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/agent/trustlist.c:686,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/trustlist.c:691,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/trustlist.c:699,1
    - Dst: strlen
      Src: /src/gnupg/agent/trustlist.c:699,1
    - Dst: stpcpy
      Src: /src/gnupg/agent/trustlist.c:704,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - name
    - replstring
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 709
    functionName: reformat_name
    functionSourceFile: /src/gnupg/agent/trustlist.c
    functionUses: 0
    functionsReached:
    - xtrystrdup
    - stpcpy
    - xtrymalloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      reformat_name (const char *name, const char *replstring)'
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: make_filename_try
      Src: /src/gnupg/agent/trustlist.c:736,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/agent/trustlist.c:736,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/trustlist.c:738,1
    - Dst: gnupg_access
      Src: /src/gnupg/agent/trustlist.c:740,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:742,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/trustlist.c:743,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:745,1
    - Dst: agent_istrusted
      Src: /src/gnupg/agent/trustlist.c:747,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/trustlist.c:755,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/trustlist.c:763,1
    - Dst: reformat_name
      Src: /src/gnupg/agent/trustlist.c:768,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/trustlist.c:770,1
    - Dst: xtryasprintf
      Src: /src/gnupg/agent/trustlist.c:773,1
    - Dst: L_
      Src: /src/gnupg/agent/trustlist.c:782,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:788,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/trustlist.c:789,1
    - Dst: agent_get_confirmation
      Src: /src/gnupg/agent/trustlist.c:791,1
    - Dst: L_
      Src: /src/gnupg/agent/trustlist.c:791,1
    - Dst: L_
      Src: /src/gnupg/agent/trustlist.c:791,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:792,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/trustlist.c:795,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:799,1
    - Dst: insert_colons
      Src: /src/gnupg/agent/trustlist.c:804,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:807,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/trustlist.c:808,1
    - Dst: xtryasprintf
      Src: /src/gnupg/agent/trustlist.c:816,1
    - Dst: L_
      Src: /src/gnupg/agent/trustlist.c:826,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:832,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:833,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/trustlist.c:834,1
    - Dst: L_
      Src: /src/gnupg/agent/trustlist.c:841,1
    - Dst: strcmp
      Src: /src/gnupg/agent/trustlist.c:842,1
    - Dst: L_
      Src: /src/gnupg/agent/trustlist.c:844,1
    - Dst: strcmp
      Src: /src/gnupg/agent/trustlist.c:845,1
    - Dst: agent_get_confirmation
      Src: /src/gnupg/agent/trustlist.c:847,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:848,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/trustlist.c:849,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:853,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:854,1
    - Dst: lock_trusttable
      Src: /src/gnupg/agent/trustlist.c:862,1
    - Dst: clear_trusttable
      Src: /src/gnupg/agent/trustlist.c:863,1
    - Dst: istrusted_internal
      Src: /src/gnupg/agent/trustlist.c:864,1
    - Dst: unlock_trusttable
      Src: /src/gnupg/agent/trustlist.c:866,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:867,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:868,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/trustlist.c:869,1
    - Dst: make_filename_try
      Src: /src/gnupg/agent/trustlist.c:872,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/agent/trustlist.c:872,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/trustlist.c:875,1
    - Dst: unlock_trusttable
      Src: /src/gnupg/agent/trustlist.c:876,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:877,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:878,1
    - Dst: gnupg_access
      Src: /src/gnupg/agent/trustlist.c:881,1
    - Dst: es_fopen
      Src: /src/gnupg/agent/trustlist.c:883,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/trustlist.c:886,1
    - Dst: log_error
      Src: /src/gnupg/agent/trustlist.c:887,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/trustlist.c:887,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:888,1
    - Dst: unlock_trusttable
      Src: /src/gnupg/agent/trustlist.c:889,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:890,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:891,1
    - Dst: es_fputs
      Src: /src/gnupg/agent/trustlist.c:894,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/trustlist.c:895,1
    - Dst: es_fopen
      Src: /src/gnupg/agent/trustlist.c:897,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/trustlist.c:900,1
    - Dst: log_error
      Src: /src/gnupg/agent/trustlist.c:901,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/trustlist.c:901,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:902,1
    - Dst: unlock_trusttable
      Src: /src/gnupg/agent/trustlist.c:903,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:904,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:905,1
    - Dst: es_fputs
      Src: /src/gnupg/agent/trustlist.c:910,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:911,1
    - Dst: reformat_name
      Src: /src/gnupg/agent/trustlist.c:912,1
    - Dst: strchr
      Src: /src/gnupg/agent/trustlist.c:913,1
    - Dst: es_write_sanitized
      Src: /src/gnupg/agent/trustlist.c:917,1
    - Dst: strlen
      Src: /src/gnupg/agent/trustlist.c:917,1
    - Dst: es_fputs
      Src: /src/gnupg/agent/trustlist.c:920,1
    - Dst: es_fprintf
      Src: /src/gnupg/agent/trustlist.c:921,1
    - Dst: es_ferror
      Src: /src/gnupg/agent/trustlist.c:922,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/trustlist.c:923,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/trustlist.c:925,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/trustlist.c:926,1
    - Dst: clear_trusttable
      Src: /src/gnupg/agent/trustlist.c:928,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:929,1
    - Dst: unlock_trusttable
      Src: /src/gnupg/agent/trustlist.c:930,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:931,1
    - Dst: xfree
      Src: /src/gnupg/agent/trustlist.c:932,1
    - Dst: bump_key_eventcounter
      Src: /src/gnupg/agent/trustlist.c:934,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 122
    argCount: 4
    argNames:
    - ctrl
    - name
    - fpr
    - flag
    argTypes:
    - ctrl_t
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 718
    functionDepth: 11
    functionLinenumber: 718
    functionLinenumberEnd: 936
    functionName: agent_marktrusted
    functionSourceFile: /src/gnupg/agent/trustlist.c
    functionUses: 1
    functionsReached:
    - es_fprintf
    - strlen
    - gnupg_homedir
    - L_
    - xtryasprintf
    - es_fopen
    - lock_trusttable
    - clear_trusttable
    - log_error
    - es_write_sanitized
    - istrusted_internal
    - gnupg_access
    - reformat_name
    - insert_colons
    - es_ferror
    - out_of_core
    - gpg_error_from_syserror
    - strcmp
    - gpg_error
    - strchr
    - xfree
    - gpg_strerror
    - agent_istrusted
    - es_fputs
    - bump_key_eventcounter
    - es_fclose
    - unlock_trusttable
    - agent_get_confirmation
    - gpg_err_code
    - make_filename_try
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_marktrusted (ctrl_t ctrl, const char *name, const
      char *fpr, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_trusttable
      Src: /src/gnupg/agent/trustlist.c:946,1
    - Dst: clear_trusttable
      Src: /src/gnupg/agent/trustlist.c:947,1
    - Dst: unlock_trusttable
      Src: /src/gnupg/agent/trustlist.c:948,1
    - Dst: bump_key_eventcounter
      Src: /src/gnupg/agent/trustlist.c:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 941
    functionDepth: 2
    functionLinenumber: 941
    functionLinenumberEnd: 950
    functionName: agent_reload_trustlist
    functionSourceFile: /src/gnupg/agent/trustlist.c
    functionUses: 1
    functionsReached:
    - unlock_trusttable
    - bump_key_eventcounter
    - lock_trusttable
    - clear_trusttable
    linkageType: ''
    returnType: void
    signature: void agent_reload_trustlist (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: set_error
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_error(e,t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_membuf
      Src: /src/gnupg/agent/command.c:183,1
    - Dst: wipememory
      Src: /src/gnupg/agent/command.c:186,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mb
    argTypes:
    - membuf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: clear_outbuf
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - wipememory
    - xfree
    linkageType: ''
    returnType: void
    signature: void clear_outbuf (membuf_t *mb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_membuf
      Src: /src/gnupg/agent/command.c:201,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/command.c:203,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:204,1
    - Dst: memset
      Src: /src/gnupg/agent/command.c:205,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - mb
    argTypes:
    - assuan_context_t
    - membuf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 208
    functionName: write_and_clear_outbuf
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - assuan_send_data
    - memset
    - xfree
    - out_of_core
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_and_clear_outbuf (assuan_context_t ctx, membuf_t
      *mb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/command.c:218,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:220,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/command.c:225,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 230
    functionName: clear_nonce_cache
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - agent_put_cache
    - xfree
    linkageType: ''
    returnType: void
    signature: void clear_nonce_cache (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:239,1
    - Dst: memset
      Src: /src/gnupg/agent/command.c:243,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:246,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:249,1
    - Dst: clear_nonce_cache
      Src: /src/gnupg/agent/command.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 258
    functionName: reset_notify
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 6
    functionsReached:
    - memset
    - clear_nonce_cache
    - assuan_get_pointer
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t reset_notify (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: plus_to_blank
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void plus_to_blank (char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/agent/command.c:282,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:285,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - string
    - len
    argTypes:
    - assuan_context_t
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: parse_hexstring
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - set_error
    linkageType: ''
    returnType: int
    signature: int parse_hexstring (assuan_context_t ctx, const char *string, size_t
      *len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_hexstring
      Src: /src/gnupg/agent/command.c:302,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:307,1
    - Dst: hex2bin
      Src: /src/gnupg/agent/command.c:309,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - string
    - buf
    argTypes:
    - assuan_context_t
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 313
    functionName: parse_keygrip
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - hex2bin
    - set_error
    - parse_hexstring
    linkageType: ''
    returnType: int
    signature: int parse_keygrip (assuan_context_t ctx, const char *string, unsigned
      char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/gnupg/agent/command.c:326,1
    - Dst: spacep
      Src: /src/gnupg/agent/command.c:328,1
    - Dst: spacep
      Src: /src/gnupg/agent/command.c:334,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - string
    - r_ttl
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 338
    functionName: parse_ttl
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - strtol
    - spacep
    linkageType: ''
    returnType: size_t
    signature: size_t parse_ttl (const char *string, int *r_ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/agent/command.c:353,1
    - Dst: vprint_assuan_status_strings
      Src: /src/gnupg/agent/command.c:354,1
    - Dst: va_end
      Src: /src/gnupg/agent/command.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctrl
    - keyword
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 357
    functionName: agent_write_status
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 6
    functionsReached:
    - vprint_assuan_status_strings
    - va_end
    - va_start
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_write_status (ctrl_t ctrl, const char *keyword, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/agent/command.c:369,1
    - Dst: vprint_assuan_status
      Src: /src/gnupg/agent/command.c:370,1
    - Dst: va_end
      Src: /src/gnupg/agent/command.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - keyword
    - format
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: agent_print_status
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 1
    functionsReached:
    - va_end
    - va_start
    - vprint_assuan_status
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_print_status (ctrl_t ctrl, const char *keyword, const
      char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/agent/command.c:387,1
    - Dst: DIM
      Src: /src/gnupg/agent/command.c:387,1
    - Dst: assuan_inquire
      Src: /src/gnupg/agent/command.c:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - pid
    - extra
    argTypes:
    - ctrl_t
    - unsigned long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: agent_inq_pinentry_launched
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 1
    functionsReached:
    - snprintf
    - DIM
    - assuan_inquire
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_inq_pinentry_launched (ctrl_t ctrl, unsigned long
      pid, const char *extra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:402,1
    - Dst: agent_print_status
      Src: /src/gnupg/agent/command.c:403,1
    - Dst: agent_print_status
      Src: /src/gnupg/agent/command.c:405,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 5
    argNames:
    - ctrl
    - what
    - printchar
    - current
    - total
    argTypes:
    - ctrl_t
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 407
    functionName: progress_cb
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 6
    functionsReached:
    - strcmp
    - agent_print_status
    linkageType: ''
    returnType: void
    signature: "void progress_cb (ctrl_t ctrl, const char *what, int printchar,\n
      \            int current, int total)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_command_name
      Src: /src/gnupg/agent/command.c:418,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command.c:424,1
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:426,1
    - Dst: gpg_err_make
      Src: /src/gnupg/agent/command.c:429,1
    - Dst: gpg_err_source
      Src: /src/gnupg/agent/command.c:429,1
    - Dst: gpg_err_source
      Src: /src/gnupg/agent/command.c:434,1
    - Dst: gpg_err_make
      Src: /src/gnupg/agent/command.c:435,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command.c:435,1
    - Dst: gpg_err_source
      Src: /src/gnupg/agent/command.c:437,1
    - Dst: log_error
      Src: /src/gnupg/agent/command.c:438,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command.c:439,1
    - Dst: log_error
      Src: /src/gnupg/agent/command.c:441,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command.c:442,1
    - Dst: gpg_strsource
      Src: /src/gnupg/agent/command.c:442,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - assuan_context_t
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 445
    functionName: leave_cmd
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 26
    functionsReached:
    - log_error
    - gpg_err_make
    - gpg_err_code
    - gpg_strerror
    - assuan_get_command_name
    - gpg_strsource
    - gpg_err_source
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t leave_cmd (assuan_context_t ctx, gpg_error_t err)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: agent_card_keyinfo
      Src: /src/gnupg/agent/command.c:466,1
    - Dst: agent_card_free_keyinfo
      Src: /src/gnupg/agent/command.c:468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 476
    functionName: get_keyinfo_on_cards
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - agent_card_free_keyinfo
    - agent_card_keyinfo
    linkageType: ''
    returnType: struct card_key_info_s
    signature: 'struct card_key_info_s *

      get_keyinfo_on_cards (ctrl_t ctrl)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:496,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:501,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:501,1
    - Dst: agent_print_status
      Src: /src/gnupg/agent/command.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 507
    functionName: cmd_geteventcounter
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - agent_print_status
    - gpg_error
    - leave_cmd
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_geteventcounter (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 518
    functionName: bump_key_eventcounter
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bump_key_eventcounter (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 529
    functionName: bump_card_eventcounter
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bump_card_eventcounter (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:542,1
    - Dst: hexdigitp
      Src: /src/gnupg/agent/command.c:550,1
    - Dst: strchr
      Src: /src/gnupg/agent/command.c:554,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:562,1
    - Dst: strcpy
      Src: /src/gnupg/agent/command.c:567,1
    - Dst: agent_istrusted
      Src: /src/gnupg/agent/command.c:573,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command.c:574,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command.c:576,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:577,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:579,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 539
    functionDepth: 11
    functionLinenumber: 539
    functionLinenumberEnd: 580
    functionName: cmd_istrusted
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - leave_cmd
    - set_error
    - strchr
    - gpg_error
    - strcpy
    - gpg_err_code
    - agent_istrusted
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_istrusted (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:591,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:595,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:598,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:598,1
    - Dst: agent_listtrusted
      Src: /src/gnupg/agent/command.c:600,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 588
    functionDepth: 11
    functionLinenumber: 588
    functionLinenumberEnd: 602
    functionName: cmd_listtrusted
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - gpg_error
    - has_option
    - agent_listtrusted
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_listtrusted (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:612,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:619,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:619,1
    - Dst: hexdigitp
      Src: /src/gnupg/agent/command.c:622,1
    - Dst: spacep
      Src: /src/gnupg/agent/command.c:624,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:625,1
    - Dst: strcpy
      Src: /src/gnupg/agent/command.c:629,1
    - Dst: spacep
      Src: /src/gnupg/agent/command.c:636,1
    - Dst: spacep
      Src: /src/gnupg/agent/command.c:639,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:640,1
    - Dst: spacep
      Src: /src/gnupg/agent/command.c:641,1
    - Dst: agent_marktrusted
      Src: /src/gnupg/agent/command.c:644,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:645,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 609
    functionDepth: 12
    functionLinenumber: 609
    functionLinenumberEnd: 646
    functionName: cmd_marktrusted
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - leave_cmd
    - set_error
    - spacep
    - gpg_error
    - strcpy
    - agent_marktrusted
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_marktrusted (assuan_context_t ctx, char *line)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:663,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:676,1
    - Dst: has_option_name
      Src: /src/gnupg/agent/command.c:678,1
    - Dst: option_value
      Src: /src/gnupg/agent/command.c:680,1
    - Dst: atoi
      Src: /src/gnupg/agent/command.c:681,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:686,1
    - Dst: parse_keygrip
      Src: /src/gnupg/agent/command.c:693,1
    - Dst: agent_key_info_from_file
      Src: /src/gnupg/agent/command.c:697,1
    - Dst: agent_write_status
      Src: /src/gnupg/agent/command.c:710,1
    - Dst: parse_keygrip
      Src: /src/gnupg/agent/command.c:719,1
    - Dst: agent_key_available
      Src: /src/gnupg/agent/command.c:723,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:735,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:744,1
    - Dst: make_filename_try
      Src: /src/gnupg/agent/command.c:748,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/agent/command.c:748,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:752,1
    - Dst: gnupg_opendir
      Src: /src/gnupg/agent/command.c:755,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:758,1
    - Dst: gnupg_readdir
      Src: /src/gnupg/agent/command.c:763,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:765,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:766,1
    - Dst: strncpy
      Src: /src/gnupg/agent/command.c:768,1
    - Dst: hex2bin
      Src: /src/gnupg/agent/command.c:771,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:776,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:780,1
    - Dst: get_keyinfo_on_cards
      Src: /src/gnupg/agent/command.c:787,1
    - Dst: hex2bin
      Src: /src/gnupg/agent/command.c:790,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:795,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:799,1
    - Dst: gnupg_closedir
      Src: /src/gnupg/agent/command.c:806,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:807,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:808,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 108
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 660
    functionDepth: 5
    functionLinenumber: 660
    functionLinenumberEnd: 809
    functionName: cmd_havekey
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - gnupg_opendir
    - agent_key_available
    - strlen
    - gnupg_homedir
    - has_option
    - agent_write_status
    - assuan_get_pointer
    - strncpy
    - leave_cmd
    - skip_options
    - hex2bin
    - gnupg_readdir
    - gnupg_closedir
    - gpg_error_from_syserror
    - get_keyinfo_on_cards
    - strcmp
    - gpg_error
    - xfree
    - parse_keygrip
    - assuan_send_data
    - atoi
    - has_option_name
    - agent_key_info_from_file
    - option_value
    - make_filename_try
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_havekey (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:821,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:824,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:825,1
    - Dst: parse_keygrip
      Src: /src/gnupg/agent/command.c:826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 834
    functionName: cmd_sigkey
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - skip_options
    - has_option
    - parse_keygrip
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_sigkey (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:854,1
    - Dst: strchr
      Src: /src/gnupg/agent/command.c:860,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:865,1
    - Dst: plus_to_blank
      Src: /src/gnupg/agent/command.c:871,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:873,1
    - Dst: strconcat
      Src: /src/gnupg/agent/command.c:877,1
    - Dst: _
      Src: /src/gnupg/agent/command.c:879,1
    - Dst: _
      Src: /src/gnupg/agent/command.c:880,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/command.c:883,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/command.c:885,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 887
    functionName: cmd_setkeydesc
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - set_error
    - plus_to_blank
    - strconcat
    - _
    - xtrystrdup
    - strchr
    - xfree
    - out_of_core
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_setkeydesc (assuan_context_t ctx, char *line)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:904,1
    - Dst: has_option_name
      Src: /src/gnupg/agent/command.c:912,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:914,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:916,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:918,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:920,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:922,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:924,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:926,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:928,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:930,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:934,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:941,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:942,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:943,1
    - Dst: strtoul
      Src: /src/gnupg/agent/command.c:948,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/agent/command.c:951,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:953,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:957,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:971,1
    - Dst: print_assuan_status
      Src: /src/gnupg/agent/command.c:976,1
    - Dst: assuan_inquire
      Src: /src/gnupg/agent/command.c:978,1
    - Dst: parse_hexstring
      Src: /src/gnupg/agent/command.c:989,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:998,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:1004,1
    - Dst: xtoi_2
      Src: /src/gnupg/agent/command.c:1011,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:1017,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 87
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 898
    functionDepth: 3
    functionLinenumber: 898
    functionLinenumberEnd: 1018
    functionName: cmd_sethash
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - print_assuan_status
    - leave_cmd
    - has_option_name
    - set_error
    - assuan_inquire
    - skip_options
    - xfree
    - has_option
    - gcry_md_test_algo
    - strtoul
    - xtoi_2
    - assuan_get_pointer
    - parse_hexstring
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_sethash (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:1031,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:1036,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/command.c:1042,1
    - Dst: init_membuf
      Src: /src/gnupg/agent/command.c:1049,1
    - Dst: agent_pksign
      Src: /src/gnupg/agent/command.c:1051,1
    - Dst: clear_outbuf
      Src: /src/gnupg/agent/command.c:1054,1
    - Dst: write_and_clear_outbuf
      Src: /src/gnupg/agent/command.c:1056,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1058,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1059,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:1061,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1026
    functionDepth: 2
    functionLinenumber: 1026
    functionLinenumberEnd: 1062
    functionName: cmd_pksign
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - init_membuf
    - leave_cmd
    - xtrystrdup
    - skip_options
    - write_and_clear_outbuf
    - xfree
    - agent_pksign
    - clear_outbuf
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_pksign (assuan_context_t ctx, char *line)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:1078,1
    - Dst: has_option_name
      Src: /src/gnupg/agent/command.c:1086,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:1093,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:1095,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:1097,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:1100,1
    - Dst: print_assuan_status
      Src: /src/gnupg/agent/command.c:1105,1
    - Dst: assuan_inquire
      Src: /src/gnupg/agent/command.c:1107,1
    - Dst: init_membuf
      Src: /src/gnupg/agent/command.c:1112,1
    - Dst: agent_pkdecrypt
      Src: /src/gnupg/agent/command.c:1115,1
    - Dst: agent_kem_decrypt
      Src: /src/gnupg/agent/command.c:1118,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1120,1
    - Dst: clear_outbuf
      Src: /src/gnupg/agent/command.c:1122,1
    - Dst: print_assuan_status
      Src: /src/gnupg/agent/command.c:1126,1
    - Dst: write_and_clear_outbuf
      Src: /src/gnupg/agent/command.c:1130,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1132,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:1134,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1074
    functionDepth: 6
    functionLinenumber: 1074
    functionLinenumberEnd: 1135
    functionName: cmd_pkdecrypt
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - print_assuan_status
    - init_membuf
    - leave_cmd
    - has_option_name
    - set_error
    - assuan_inquire
    - strcmp
    - agent_kem_decrypt
    - write_and_clear_outbuf
    - xfree
    - agent_pkdecrypt
    - clear_outbuf
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_pkdecrypt (assuan_context_t ctx, char *line)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:1163,1
    - Dst: init_membuf
      Src: /src/gnupg/agent/command.c:1179,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:1182,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:1182,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:1184,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:1186,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:1188,1
    - Dst: option_value
      Src: /src/gnupg/agent/command.c:1189,1
    - Dst: spacep
      Src: /src/gnupg/agent/command.c:1192,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/command.c:1196,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:1200,1
    - Dst: has_option_name
      Src: /src/gnupg/agent/command.c:1204,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:1208,1
    - Dst: isotime2epoch
      Src: /src/gnupg/agent/command.c:1211,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:1214,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:1220,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/command.c:1226,1
    - Dst: print_assuan_status
      Src: /src/gnupg/agent/command.c:1231,1
    - Dst: assuan_inquire
      Src: /src/gnupg/agent/command.c:1234,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/agent/command.c:1243,1
    - Dst: assuan_inquire
      Src: /src/gnupg/agent/command.c:1244,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/agent/command.c:1245,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1251,1
    - Dst: agent_get_cache
      Src: /src/gnupg/agent/command.c:1258,1
    - Dst: agent_genkey
      Src: /src/gnupg/agent/command.c:1261,1
    - Dst: wipememory
      Src: /src/gnupg/agent/command.c:1270,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:1270,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1271,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1273,1
    - Dst: clear_outbuf
      Src: /src/gnupg/agent/command.c:1275,1
    - Dst: write_and_clear_outbuf
      Src: /src/gnupg/agent/command.c:1277,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1278,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1279,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:1280,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 81
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1160
    functionDepth: 3
    functionLinenumber: 1160
    functionLinenumberEnd: 1281
    functionName: cmd_genkey
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - strlen
    - agent_genkey
    - assuan_inquire
    - write_and_clear_outbuf
    - has_option
    - assuan_get_pointer
    - init_membuf
    - leave_cmd
    - set_error
    - assuan_begin_confidential
    - wipememory
    - skip_options
    - clear_outbuf
    - gpg_error_from_syserror
    - spacep
    - xtrystrdup
    - gpg_error
    - xfree
    - print_assuan_status
    - has_option_name
    - assuan_end_confidential
    - agent_get_cache
    - option_value
    - isotime2epoch
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_genkey (assuan_context_t ctx, char *line)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:1292,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:1300,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:1300,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:1302,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:1304,1
    - Dst: split_fields
      Src: /src/gnupg/agent/command.c:1306,1
    - Dst: DIM
      Src: /src/gnupg/agent/command.c:1306,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:1309,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:1313,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:1315,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:1317,1
    - Dst: parse_keygrip
      Src: /src/gnupg/agent/command.c:1321,1
    - Dst: agent_raw_key_from_file
      Src: /src/gnupg/agent/command.c:1331,1
    - Dst: nvc_lookup
      Src: /src/gnupg/agent/command.c:1340,1
    - Dst: nvc_delete
      Src: /src/gnupg/agent/command.c:1346,1
    - Dst: nve_value
      Src: /src/gnupg/agent/command.c:1352,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:1354,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:1354,1
    - Dst: nvc_new_private_key
      Src: /src/gnupg/agent/command.c:1360,1
    - Dst: nvc_set
      Src: /src/gnupg/agent/command.c:1362,1
    - Dst: nvc_set_private_key
      Src: /src/gnupg/agent/command.c:1365,1
    - Dst: agent_update_private_key
      Src: /src/gnupg/agent/command.c:1367,1
    - Dst: nvc_release
      Src: /src/gnupg/agent/command.c:1370,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command.c:1371,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:1375,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1289
    functionDepth: 5
    functionLinenumber: 1289
    functionLinenumberEnd: 1376
    functionName: cmd_keyattr
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - strlen
    - split_fields
    - nve_value
    - has_option
    - assuan_get_pointer
    - nvc_set
    - nvc_new_private_key
    - leave_cmd
    - DIM
    - skip_options
    - gcry_sexp_release
    - nvc_release
    - strcmp
    - gpg_error
    - parse_keygrip
    - assuan_send_data
    - agent_update_private_key
    - nvc_set_private_key
    - agent_raw_key_from_file
    - nvc_lookup
    - nvc_delete
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_keyattr (assuan_context_t ctx, char *line)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:1389,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:1398,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:1398,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:1400,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:1401,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:1402,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:1404,1
    - Dst: agent_card_getattr
      Src: /src/gnupg/agent/command.c:1412,1
    - Dst: log_error
      Src: /src/gnupg/agent/command.c:1415,1
    - Dst: _
      Src: /src/gnupg/agent/command.c:1415,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command.c:1416,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:1421,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:1421,1
    - Dst: agent_card_getattr
      Src: /src/gnupg/agent/command.c:1422,1
    - Dst: agent_card_readkey
      Src: /src/gnupg/agent/command.c:1425,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/command.c:1428,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/agent/command.c:1429,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/agent/command.c:1433,1
    - Dst: gcry_pk_testkey
      Src: /src/gnupg/agent/command.c:1435,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:1437,1
    - Dst: agent_key_available
      Src: /src/gnupg/agent/command.c:1442,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/command.c:1448,1
    - Dst: agent_card_getattr
      Src: /src/gnupg/agent/command.c:1449,1
    - Dst: agent_write_shadow_key
      Src: /src/gnupg/agent/command.c:1450,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1452,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1457,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1458,1
    - Dst: parse_keygrip
      Src: /src/gnupg/agent/command.c:1462,1
    - Dst: agent_public_key_from_file
      Src: /src/gnupg/agent/command.c:1466,1
    - Dst: es_fopenmem
      Src: /src/gnupg/agent/command.c:1475,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:1478,1
    - Dst: ssh_public_key_in_base64
      Src: /src/gnupg/agent/command.c:1482,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/command.c:1485,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/agent/command.c:1489,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/command.c:1495,1
    - Dst: log_assert
      Src: /src/gnupg/agent/command.c:1496,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/command.c:1497,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:1500,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/command.c:1503,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:1509,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1512,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command.c:1513,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:1514,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 88
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1386
    functionDepth: 3
    functionLinenumber: 1386
    functionLinenumberEnd: 1515
    functionName: cmd_readkey
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - agent_key_available
    - log_assert
    - gcry_sexp_sscan
    - gcry_sexp_canon_len
    - has_option
    - gcry_sexp_sprint
    - xtrymalloc
    - assuan_get_pointer
    - es_fopenmem
    - leave_cmd
    - agent_public_key_from_file
    - log_error
    - _
    - ssh_public_key_in_base64
    - skip_options
    - gcry_sexp_release
    - agent_card_readkey
    - agent_write_shadow_key
    - gcry_pk_get_keygrip
    - gpg_error_from_syserror
    - agent_card_getattr
    - strcmp
    - gpg_error
    - gpg_strerror
    - xfree
    - parse_keygrip
    - es_fclose_snatch
    - assuan_send_data
    - bin2hex
    - es_fclose
    - gcry_pk_testkey
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_readkey (assuan_context_t ctx, char *line)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: agent_key_info_from_file
      Src: /src/gnupg/agent/command.c:1595,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command.c:1599,1
    - Dst: agent_raw_key_from_file
      Src: /src/gnupg/agent/command.c:1615,1
    - Dst: nvc_get_boolean
      Src: /src/gnupg/agent/command.c:1622,1
    - Dst: nvc_get_boolean
      Src: /src/gnupg/agent/command.c:1625,1
    - Dst: nvc_release
      Src: /src/gnupg/agent/command.c:1628,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command.c:1630,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:1633,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/command.c:1639,1
    - Dst: snprintf
      Src: /src/gnupg/agent/command.c:1642,1
    - Dst: strcpy
      Src: /src/gnupg/agent/command.c:1644,1
    - Dst: strcat
      Src: /src/gnupg/agent/command.c:1648,1
    - Dst: strcat
      Src: /src/gnupg/agent/command.c:1650,1
    - Dst: strcat
      Src: /src/gnupg/agent/command.c:1652,1
    - Dst: strcat
      Src: /src/gnupg/agent/command.c:1654,1
    - Dst: strcpy
      Src: /src/gnupg/agent/command.c:1656,1
    - Dst: agent_raw_key_from_file
      Src: /src/gnupg/agent/command.c:1685,1
    - Dst: ssh_get_fingerprint_string
      Src: /src/gnupg/agent/command.c:1687,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command.c:1688,1
    - Dst: agent_get_cache
      Src: /src/gnupg/agent/command.c:1695,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1697,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:1701,1
    - Dst: parse_shadow_info
      Src: /src/gnupg/agent/command.c:1703,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:1707,1
    - Dst: xstrdup
      Src: /src/gnupg/agent/command.c:1709,1
    - Dst: log_error
      Src: /src/gnupg/agent/command.c:1714,1
    - Dst: agent_write_status
      Src: /src/gnupg/agent/command.c:1721,1
    - Dst: xtryasprintf
      Src: /src/gnupg/agent/command.c:1736,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:1744,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:1746,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:1746,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1747,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1751,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1752,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1753,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1754,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1755,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 111
    argCount: 12
    argNames:
    - ctrl
    - grip
    - ctx
    - data
    - with_ssh_fpr
    - in_ssh
    - ttl
    - disabled
    - confirm
    - on_card
    - need_attr
    - list_mode
    argTypes:
    - ctrl_t
    - unsigned char*
    - assuan_context_t
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1573
    functionDepth: 4
    functionLinenumber: 1573
    functionLinenumberEnd: 1757
    functionName: do_one_keyinfo
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - strlen
    - parse_shadow_info
    - xtryasprintf
    - xstrdup
    - agent_write_status
    - ssh_get_fingerprint_string
    - log_error
    - gcry_sexp_release
    - nvc_release
    - strcat
    - nvc_get_boolean
    - gpg_error_from_syserror
    - strcmp
    - gpg_error
    - xfree
    - assuan_send_data
    - bin2hex
    - snprintf
    - agent_get_cache
    - agent_raw_key_from_file
    - agent_key_info_from_file
    - gpg_err_code
    - strcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_one_keyinfo (ctrl_t ctrl, const unsigned char *grip,
      assuan_context_t ctx,\n                int data, int with_ssh_fpr, int in_ssh,\n
      \               int ttl, int disabled, int confirm, int on_card,\n                const
      char *need_attr, int list_mode)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:1765,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:1780,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:1783,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:1784,1
    - Dst: has_option_name
      Src: /src/gnupg/agent/command.c:1786,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:1788,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:1790,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:1792,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:1800,1
    - Dst: get_option_value
      Src: /src/gnupg/agent/command.c:1802,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:1805,1
    - Dst: strconcat
      Src: /src/gnupg/agent/command.c:1808,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:1811,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1814,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:1818,1
    - Dst: ssh_open_control_file
      Src: /src/gnupg/agent/command.c:1821,1
    - Dst: get_keyinfo_on_cards
      Src: /src/gnupg/agent/command.c:1823,1
    - Dst: ssh_read_control_file
      Src: /src/gnupg/agent/command.c:1829,1
    - Dst: hex2bin
      Src: /src/gnupg/agent/command.c:1832,1
    - Dst: memcmp
      Src: /src/gnupg/agent/command.c:1837,1
    - Dst: do_one_keyinfo
      Src: /src/gnupg/agent/command.c:1840,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command.c:1844,1
    - Dst: make_filename_try
      Src: /src/gnupg/agent/command.c:1857,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/agent/command.c:1857,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:1861,1
    - Dst: gnupg_opendir
      Src: /src/gnupg/agent/command.c:1864,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:1867,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1868,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1871,1
    - Dst: gnupg_readdir
      Src: /src/gnupg/agent/command.c:1873,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:1875,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:1876,1
    - Dst: strncpy
      Src: /src/gnupg/agent/command.c:1878,1
    - Dst: hex2bin
      Src: /src/gnupg/agent/command.c:1881,1
    - Dst: ssh_search_control_file
      Src: /src/gnupg/agent/command.c:1887,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command.c:1891,1
    - Dst: memcmp
      Src: /src/gnupg/agent/command.c:1897,1
    - Dst: do_one_keyinfo
      Src: /src/gnupg/agent/command.c:1900,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command.c:1904,1
    - Dst: parse_keygrip
      Src: /src/gnupg/agent/command.c:1913,1
    - Dst: ssh_search_control_file
      Src: /src/gnupg/agent/command.c:1919,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command.c:1923,1
    - Dst: memcmp
      Src: /src/gnupg/agent/command.c:1929,1
    - Dst: do_one_keyinfo
      Src: /src/gnupg/agent/command.c:1932,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1937,1
    - Dst: ssh_close_control_file
      Src: /src/gnupg/agent/command.c:1938,1
    - Dst: gnupg_closedir
      Src: /src/gnupg/agent/command.c:1939,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command.c:1940,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:1941,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 123
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1762
    functionDepth: 7
    functionLinenumber: 1762
    functionLinenumberEnd: 1943
    functionName: cmd_keyinfo
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - gnupg_opendir
    - strlen
    - gnupg_homedir
    - has_option
    - ssh_search_control_file
    - ssh_open_control_file
    - assuan_get_pointer
    - do_one_keyinfo
    - get_option_value
    - strncpy
    - ssh_read_control_file
    - ssh_close_control_file
    - leave_cmd
    - skip_options
    - hex2bin
    - gnupg_readdir
    - gnupg_closedir
    - gpg_error_from_syserror
    - get_keyinfo_on_cards
    - strcmp
    - xfree
    - parse_keygrip
    - has_option_name
    - strconcat
    - memcmp
    - gpg_err_code
    - make_filename_try
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_keyinfo (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/agent/command.c:1954,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:1955,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:1957,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/agent/command.c:1960,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:1962,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/command.c:1965,1
    - Dst: assuan_set_okay_line
      Src: /src/gnupg/agent/command.c:1966,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:1967,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/agent/command.c:1970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - via_data
    - pw
    argTypes:
    - assuan_context_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1948
    functionDepth: 2
    functionLinenumber: 1948
    functionLinenumberEnd: 1972
    functionName: send_back_passphrase
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - gpg_error_from_syserror
    - strlen
    - bin2hex
    - assuan_set_okay_line
    - assuan_begin_confidential
    - assuan_end_confidential
    - xtrymalloc_secure
    - xfree
    linkageType: ''
    returnType: int
    signature: int send_back_passphrase (assuan_context_t ctx, int via_data, const
      char *pw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:1982,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:1984,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pi
    argTypes:
    - struct pin_entry_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1977
    functionDepth: 1
    functionLinenumber: 1977
    functionLinenumberEnd: 1985
    functionName: reenter_passphrase_cmp_cb
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t reenter_passphrase_cmp_cb (struct pin_entry_info_s *pi)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:2021,1
    - Dst: _
      Src: /src/gnupg/agent/command.c:2030,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2039,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2040,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2041,1
    - Dst: has_option_name
      Src: /src/gnupg/agent/command.c:2042,1
    - Dst: option_value
      Src: /src/gnupg/agent/command.c:2044,1
    - Dst: atoi
      Src: /src/gnupg/agent/command.c:2046,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2050,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2051,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:2052,1
    - Dst: strchr
      Src: /src/gnupg/agent/command.c:2055,1
    - Dst: strchr
      Src: /src/gnupg/agent/command.c:2062,1
    - Dst: strchr
      Src: /src/gnupg/agent/command.c:2069,1
    - Dst: strchr
      Src: /src/gnupg/agent/command.c:2076,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:2082,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:2083,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:2085,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:2089,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/command.c:2093,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:2096,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:2100,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:2102,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:2104,1
    - Dst: agent_get_cache
      Src: /src/gnupg/agent/command.c:2107,1
    - Dst: send_back_passphrase
      Src: /src/gnupg/agent/command.c:2110,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2111,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:2116,1
    - Dst: plus_to_blank
      Src: /src/gnupg/agent/command.c:2125,1
    - Dst: plus_to_blank
      Src: /src/gnupg/agent/command.c:2127,1
    - Dst: plus_to_blank
      Src: /src/gnupg/agent/command.c:2129,1
    - Dst: gcry_calloc_secure
      Src: /src/gnupg/agent/command.c:2141,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:2144,1
    - Dst: gcry_calloc_secure
      Src: /src/gnupg/agent/command.c:2147,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:2150,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2166,1
    - Dst: agent_get_passphrase
      Src: /src/gnupg/agent/command.c:2168,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2176,1
    - Dst: check_passphrase_constraints
      Src: /src/gnupg/agent/command.c:2182,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2200,1
    - Dst: agent_get_passphrase
      Src: /src/gnupg/agent/command.c:2202,1
    - Dst: L_
      Src: /src/gnupg/agent/command.c:2203,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command.c:2208,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/command.c:2211,1
    - Dst: L_
      Src: /src/gnupg/agent/command.c:2211,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:2214,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/command.c:2226,1
    - Dst: send_back_passphrase
      Src: /src/gnupg/agent/command.c:2227,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2233,1
    - Dst: agent_get_passphrase
      Src: /src/gnupg/agent/command.c:2235,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2238,1
    - Dst: check_passphrase_constraints
      Src: /src/gnupg/agent/command.c:2248,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2260,1
    - Dst: agent_get_passphrase
      Src: /src/gnupg/agent/command.c:2262,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:2267,1
    - Dst: try_percent_escape
      Src: /src/gnupg/agent/command.c:2269,1
    - Dst: _
      Src: /src/gnupg/agent/command.c:2270,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:2273,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/command.c:2282,1
    - Dst: send_back_passphrase
      Src: /src/gnupg/agent/command.c:2283,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2289,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2290,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2291,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2292,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2293,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2294,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:2295,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 181
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2018
    functionDepth: 8
    functionLinenumber: 2018
    functionLinenumberEnd: 2296
    functionName: cmd_get_passphrase
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - send_back_passphrase
    - strlen
    - try_percent_escape
    - L_
    - has_option
    - assuan_get_pointer
    - leave_cmd
    - set_error
    - _
    - plus_to_blank
    - skip_options
    - agent_put_cache
    - check_passphrase_constraints
    - gpg_error_from_syserror
    - gcry_calloc_secure
    - strcmp
    - xtrystrdup
    - strchr
    - gpg_error
    - xfree
    - has_option_name
    - atoi
    - agent_get_cache
    - gpg_err_code
    - option_value
    - agent_get_passphrase
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_get_passphrase (assuan_context_t ctx, char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:2310,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:2316,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:2316,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2318,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2320,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:2323,1
    - Dst: strchr
      Src: /src/gnupg/agent/command.c:2329,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:2332,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:2333,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/command.c:2335,1
    - Dst: agent_clear_passphrase
      Src: /src/gnupg/agent/command.c:2337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2307
    functionDepth: 1
    functionLinenumber: 2307
    functionLinenumberEnd: 2340
    functionName: cmd_clear_passphrase
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - agent_put_cache
    - leave_cmd
    - strlen
    - set_error
    - skip_options
    - gpg_error
    - strchr
    - agent_clear_passphrase
    - has_option
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_clear_passphrase (assuan_context_t ctx, char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:2357,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:2363,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:2363,1
    - Dst: strchr
      Src: /src/gnupg/agent/command.c:2369,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:2374,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:2376,1
    - Dst: plus_to_blank
      Src: /src/gnupg/agent/command.c:2384,1
    - Dst: agent_get_confirmation
      Src: /src/gnupg/agent/command.c:2386,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:2387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2388
      start: 2354
    functionDepth: 5
    functionLinenumber: 2354
    functionLinenumberEnd: 2388
    functionName: cmd_get_confirmation
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - set_error
    - plus_to_blank
    - strcmp
    - gpg_error
    - strchr
    - agent_get_confirmation
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_get_confirmation (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:2403,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2408,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2409,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2410,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:2411,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:2415,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:2415,1
    - Dst: agent_handle_learn
      Src: /src/gnupg/agent/command.c:2417,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:2418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2419
      start: 2400
    functionDepth: 3
    functionLinenumber: 2400
    functionLinenumberEnd: 2419
    functionName: cmd_learn
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - agent_handle_learn
    - leave_cmd
    - gpg_error
    - skip_options
    - has_option
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_learn (assuan_context_t ctx, char *line)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:2434,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:2447,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:2447,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2449,1
    - Dst: option_value
      Src: /src/gnupg/agent/command.c:2450,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2451,1
    - Dst: spacep
      Src: /src/gnupg/agent/command.c:2454,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/command.c:2458,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:2462,1
    - Dst: option_value
      Src: /src/gnupg/agent/command.c:2467,1
    - Dst: spacep
      Src: /src/gnupg/agent/command.c:2470,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/command.c:2474,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:2478,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:2483,1
    - Dst: parse_keygrip
      Src: /src/gnupg/agent/command.c:2485,1
    - Dst: agent_key_from_file
      Src: /src/gnupg/agent/command.c:2490,1
    - Dst: log_error
      Src: /src/gnupg/agent/command.c:2499,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:2500,1
    - Dst: gcry_create_nonce
      Src: /src/gnupg/agent/command.c:2510,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/command.c:2511,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/command.c:2514,1
    - Dst: assuan_write_status
      Src: /src/gnupg/agent/command.c:2517,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2518,1
    - Dst: agent_get_cache
      Src: /src/gnupg/agent/command.c:2529,1
    - Dst: agent_protect_and_store
      Src: /src/gnupg/agent/command.c:2530,1
    - Dst: gcry_create_nonce
      Src: /src/gnupg/agent/command.c:2540,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/command.c:2541,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/command.c:2544,1
    - Dst: assuan_write_status
      Src: /src/gnupg/agent/command.c:2547,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2548,1
    - Dst: gcry_create_nonce
      Src: /src/gnupg/agent/command.c:2560,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/command.c:2561,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/command.c:2564,1
    - Dst: assuan_write_status
      Src: /src/gnupg/agent/command.c:2567,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2568,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/command.c:2577,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/command.c:2578,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2581,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2585,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2589,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command.c:2590,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2591,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2592,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2593,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:2594,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 104
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2431
    functionDepth: 10
    functionLinenumber: 2431
    functionLinenumberEnd: 2595
    functionName: cmd_passwd
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 2
    functionsReached:
    - has_option
    - assuan_get_pointer
    - leave_cmd
    - log_error
    - assuan_write_status
    - skip_options
    - gcry_sexp_release
    - agent_put_cache
    - gpg_error_from_syserror
    - spacep
    - xtrystrdup
    - gpg_error
    - xfree
    - parse_keygrip
    - bin2hex
    - agent_get_cache
    - agent_protect_and_store
    - option_value
    - agent_key_from_file
    - gcry_create_nonce
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_passwd (assuan_context_t ctx, char *line)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:2613,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:2623,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:2623,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:2626,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2628,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2629,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:2630,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:2635,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:2644,1
    - Dst: parse_hexstring
      Src: /src/gnupg/agent/command.c:2652,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:2663,1
    - Dst: hex2str
      Src: /src/gnupg/agent/command.c:2670,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:2670,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:2671,1
    - Dst: print_assuan_status
      Src: /src/gnupg/agent/command.c:2679,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/agent/command.c:2682,1
    - Dst: assuan_inquire
      Src: /src/gnupg/agent/command.c:2683,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/agent/command.c:2684,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:2688,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/command.c:2695,1
    - Dst: wipememory
      Src: /src/gnupg/agent/command.c:2699,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2700,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:2705,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2610
    functionDepth: 3
    functionLinenumber: 2610
    functionLinenumberEnd: 2706
    functionName: cmd_preset_passphrase
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - print_assuan_status
    - agent_put_cache
    - leave_cmd
    - set_error
    - strlen
    - assuan_end_confidential
    - assuan_begin_confidential
    - assuan_inquire
    - wipememory
    - gpg_error
    - skip_options
    - xfree
    - has_option
    - hex2str
    - assuan_get_pointer
    - parse_hexstring
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_preset_passphrase (assuan_context_t ctx, char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:2720,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/command.c:2728,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:2730,1
    - Dst: split_fields
      Src: /src/gnupg/agent/command.c:2732,1
    - Dst: DIM
      Src: /src/gnupg/agent/command.c:2732,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:2735,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:2737,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:2738,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:2740,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:2741,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:2743,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:2744,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2745,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2748,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:2749,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:2749,1
    - Dst: divert_generic_cmd
      Src: /src/gnupg/agent/command.c:2756,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:2759,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2762
      start: 2715
    functionDepth: 2
    functionLinenumber: 2715
    functionLinenumberEnd: 2762
    functionName: cmd_scd
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - gpg_error_from_syserror
    - split_fields
    - DIM
    - strcmp
    - xtrystrdup
    - gpg_error
    - divert_generic_cmd
    - xfree
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_scd (assuan_context_t ctx, char *line)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:2784,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2786,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:2789,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:2789,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/agent/command.c:2791,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2792,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2794,1
    - Dst: gcry_random_bytes
      Src: /src/gnupg/agent/command.c:2798,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:2799,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:2801,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2804,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2806,1
    - Dst: gcry_random_bytes
      Src: /src/gnupg/agent/command.c:2810,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:2811,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:2813,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:2817,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/agent/command.c:2818,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:2820,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2821
      start: 2781
    functionDepth: 1
    functionLinenumber: 2781
    functionLinenumberEnd: 2821
    functionName: cmd_keywrap_key
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - assuan_send_data
    - gpg_error_from_syserror
    - set_error
    - assuan_end_confidential
    - assuan_begin_confidential
    - gcry_random_bytes
    - gpg_error
    - xfree
    - has_option
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_keywrap_key (assuan_context_t ctx, char *line)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:2841,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:2868,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:2868,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:2872,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2876,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2877,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:2878,1
    - Dst: has_option_name
      Src: /src/gnupg/agent/command.c:2879,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:2883,1
    - Dst: isotime2epoch
      Src: /src/gnupg/agent/command.c:2886,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:2889,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:2895,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/command.c:2901,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/agent/command.c:2905,1
    - Dst: assuan_inquire
      Src: /src/gnupg/agent/command.c:2906,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/agent/command.c:2908,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:2913,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/agent/command.c:2917,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:2920,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/agent/command.c:2924,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/agent/command.c:2928,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/agent/command.c:2932,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/command.c:2935,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2937,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/command.c:2941,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/agent/command.c:2945,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/agent/command.c:2948,1
    - Dst: memcmp
      Src: /src/gnupg/agent/command.c:2949,1
    - Dst: memcmp
      Src: /src/gnupg/agent/command.c:2951,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/agent/command.c:2953,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:2957,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:2964,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:2976,1
    - Dst: convert_from_openpgp
      Src: /src/gnupg/agent/command.c:2978,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/command.c:2983,1
    - Dst: log_assert
      Src: /src/gnupg/agent/command.c:2988,1
    - Dst: gcry_create_nonce
      Src: /src/gnupg/agent/command.c:2992,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/command.c:2993,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/command.c:2996,1
    - Dst: assuan_write_status
      Src: /src/gnupg/agent/command.c:2998,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:3005,1
    - Dst: gcry_sexp_nth
      Src: /src/gnupg/agent/command.c:3010,1
    - Dst: gcry_sexp_nth
      Src: /src/gnupg/agent/command.c:3011,1
    - Dst: log_error
      Src: /src/gnupg/agent/command.c:3014,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3015,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/agent/command.c:3018,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/agent/command.c:3019,1
    - Dst: log_error
      Src: /src/gnupg/agent/command.c:3021,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3023,1
    - Dst: agent_key_available
      Src: /src/gnupg/agent/command.c:3031,1
    - Dst: agent_key_available
      Src: /src/gnupg/agent/command.c:3032,1
    - Dst: log_error
      Src: /src/gnupg/agent/command.c:3034,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3035,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3040,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/command.c:3041,1
    - Dst: make_canon_sexp
      Src: /src/gnupg/agent/command.c:3042,1
    - Dst: agent_write_private_key
      Src: /src/gnupg/agent/command.c:3044,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3046,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/command.c:3047,1
    - Dst: make_canon_sexp
      Src: /src/gnupg/agent/command.c:3049,1
    - Dst: agent_write_private_key
      Src: /src/gnupg/agent/command.c:3051,1
    - Dst: agent_key_available
      Src: /src/gnupg/agent/command.c:3058,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3059,1
    - Dst: xtryasprintf
      Src: /src/gnupg/agent/command.c:3066,1
    - Dst: _
      Src: /src/gnupg/agent/command.c:3067,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:3070,1
    - Dst: agent_ask_new_passphrase
      Src: /src/gnupg/agent/command.c:3072,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3073,1
    - Dst: agent_protect
      Src: /src/gnupg/agent/command.c:3083,1
    - Dst: agent_write_private_key
      Src: /src/gnupg/agent/command.c:3086,1
    - Dst: agent_write_private_key
      Src: /src/gnupg/agent/command.c:3091,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command.c:3095,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command.c:3096,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command.c:3097,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3098,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3099,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3100,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/command.c:3101,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3102,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3103,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3104,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:3106,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 188
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3107
      start: 2838
    functionDepth: 9
    functionLinenumber: 2838
    functionLinenumberEnd: 3107
    functionName: cmd_import_key
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - agent_key_available
    - convert_from_openpgp
    - log_assert
    - assuan_inquire
    - gcry_sexp_sscan
    - xtryasprintf
    - gcry_sexp_canon_len
    - has_option
    - assuan_get_pointer
    - gcry_cipher_open
    - leave_cmd
    - set_error
    - assuan_write_status
    - log_error
    - assuan_begin_confidential
    - agent_protect
    - _
    - skip_options
    - gcry_sexp_release
    - agent_put_cache
    - gcry_pk_get_keygrip
    - gcry_cipher_setkey
    - gpg_error_from_syserror
    - xtrymalloc_secure
    - xtrystrdup
    - gpg_error
    - gcry_sexp_nth_data
    - xfree
    - gcry_sexp_nth
    - agent_ask_new_passphrase
    - agent_write_private_key
    - gcry_cipher_decrypt
    - has_option_name
    - assuan_end_confidential
    - bin2hex
    - make_canon_sexp
    - memcmp
    - isotime2epoch
    - gcry_create_nonce
    - gcry_cipher_close
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_import_key (assuan_context_t ctx, char *line)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:3128,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:3145,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3145,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:3147,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:3148,1
    - Dst: option_value
      Src: /src/gnupg/agent/command.c:3152,1
    - Dst: spacep
      Src: /src/gnupg/agent/command.c:3155,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/command.c:3159,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:3163,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:3167,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:3171,1
    - Dst: parse_keygrip
      Src: /src/gnupg/agent/command.c:3175,1
    - Dst: agent_key_available
      Src: /src/gnupg/agent/command.c:3179,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3181,1
    - Dst: agent_raw_key_from_file
      Src: /src/gnupg/agent/command.c:3191,1
    - Dst: agent_key_from_file
      Src: /src/gnupg/agent/command.c:3193,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3202,1
    - Dst: agent_ask_new_passphrase
      Src: /src/gnupg/agent/command.c:3213,1
    - Dst: _
      Src: /src/gnupg/agent/command.c:3214,1
    - Dst: convert_to_openpgp
      Src: /src/gnupg/agent/command.c:3220,1
    - Dst: gcry_create_nonce
      Src: /src/gnupg/agent/command.c:3226,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/command.c:3227,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/command.c:3230,1
    - Dst: assuan_write_status
      Src: /src/gnupg/agent/command.c:3233,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3234,1
    - Dst: make_canon_sexp_pad
      Src: /src/gnupg/agent/command.c:3243,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command.c:3247,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/agent/command.c:3250,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/agent/command.c:3254,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/command.c:3260,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:3263,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/agent/command.c:3267,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3270,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/command.c:3272,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/agent/command.c:3275,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:3276,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/agent/command.c:3277,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3281,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3282,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3283,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/command.c:3284,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3285,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command.c:3286,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3287,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3289,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:3291,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 113
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3292
      start: 3125
    functionDepth: 9
    functionLinenumber: 3125
    functionLinenumberEnd: 3292
    functionName: cmd_export_key
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - agent_key_available
    - convert_to_openpgp
    - gcry_cipher_encrypt
    - has_option
    - xtrymalloc
    - assuan_get_pointer
    - gcry_cipher_open
    - leave_cmd
    - set_error
    - assuan_write_status
    - assuan_begin_confidential
    - _
    - skip_options
    - gcry_sexp_release
    - agent_put_cache
    - gcry_cipher_setkey
    - gpg_error_from_syserror
    - spacep
    - xtrystrdup
    - gpg_error
    - xfree
    - parse_keygrip
    - agent_ask_new_passphrase
    - assuan_send_data
    - make_canon_sexp_pad
    - bin2hex
    - assuan_end_confidential
    - agent_raw_key_from_file
    - option_value
    - agent_key_from_file
    - gcry_create_nonce
    - gcry_cipher_close
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_export_key (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:3306,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:3312,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3312,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:3314,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:3315,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:3316,1
    - Dst: parse_keygrip
      Src: /src/gnupg/agent/command.c:3325,1
    - Dst: agent_delete_key
      Src: /src/gnupg/agent/command.c:3329,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3335,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:3338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3339
      start: 3303
    functionDepth: 1
    functionLinenumber: 3303
    functionLinenumberEnd: 3339
    functionName: cmd_delete_key
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - skip_options
    - gpg_error
    - xfree
    - has_option
    - agent_delete_key
    - parse_keygrip
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_delete_key (assuan_context_t ctx, char *line)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:3358,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:3375,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3375,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:3377,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:3378,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/command.c:3382,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:3384,1
    - Dst: split_fields
      Src: /src/gnupg/agent/command.c:3386,1
    - Dst: DIM
      Src: /src/gnupg/agent/command.c:3386,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3389,1
    - Dst: parse_keygrip
      Src: /src/gnupg/agent/command.c:3393,1
    - Dst: agent_key_available
      Src: /src/gnupg/agent/command.c:3397,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3399,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:3406,1
    - Dst: agent_key_from_file
      Src: /src/gnupg/agent/command.c:3411,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3419,1
    - Dst: isotime2epoch
      Src: /src/gnupg/agent/command.c:3429,1
    - Dst: parse_hexstring
      Src: /src/gnupg/agent/command.c:3434,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:3440,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/command.c:3444,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:3447,1
    - Dst: hex2bin
      Src: /src/gnupg/agent/command.c:3450,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:3452,1
    - Dst: isotime2epoch
      Src: /src/gnupg/agent/command.c:3458,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3462,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/command.c:3469,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/agent/command.c:3472,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:3475,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/command.c:3478,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command.c:3479,1
    - Dst: snprintf
      Src: /src/gnupg/agent/command.c:3485,1
    - Dst: snprintf
      Src: /src/gnupg/agent/command.c:3492,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:3494,1
    - Dst: memcpy
      Src: /src/gnupg/agent/command.c:3495,1
    - Dst: memcpy
      Src: /src/gnupg/agent/command.c:3497,1
    - Dst: divert_writekey
      Src: /src/gnupg/agent/command.c:3501,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3502,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3505,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3506,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command.c:3507,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3508,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:3509,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 102
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3510
      start: 3355
    functionDepth: 3
    functionLinenumber: 3355
    functionLinenumberEnd: 3510
    functionName: cmd_keytocard
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - agent_key_available
    - strlen
    - split_fields
    - divert_writekey
    - has_option
    - gcry_sexp_sprint
    - xtrymalloc
    - memcpy
    - assuan_get_pointer
    - leave_cmd
    - set_error
    - DIM
    - skip_options
    - hex2bin
    - gcry_sexp_release
    - gpg_error_from_syserror
    - xtrymalloc_secure
    - strcmp
    - xtrystrdup
    - gpg_error
    - xfree
    - parse_keygrip
    - snprintf
    - agent_key_from_file
    - isotime2epoch
    - parse_hexstring
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_keytocard (assuan_context_t ctx, char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:3521,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3530,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:3534,1
    - Dst: strchr
      Src: /src/gnupg/agent/command.c:3539,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:3547,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:3553,1
    - Dst: agent_get_cache
      Src: /src/gnupg/agent/command.c:3558,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3561,1
    - Dst: percent_unescape_inplace
      Src: /src/gnupg/agent/command.c:3565,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:3566,1
    - Dst: wipememory
      Src: /src/gnupg/agent/command.c:3567,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3570,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:3571,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3572
      start: 3518
    functionDepth: 2
    functionLinenumber: 3518
    functionLinenumberEnd: 3572
    functionName: cmd_get_secret
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - leave_cmd
    - set_error
    - percent_unescape_inplace
    - agent_get_cache
    - wipememory
    - skip_options
    - gpg_error
    - strchr
    - xfree
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_get_secret (assuan_context_t ctx, char *line)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:3588,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3603,1
    - Dst: has_option
      Src: /src/gnupg/agent/command.c:3607,1
    - Dst: skip_options
      Src: /src/gnupg/agent/command.c:3608,1
    - Dst: strchr
      Src: /src/gnupg/agent/command.c:3615,1
    - Dst: strchr
      Src: /src/gnupg/agent/command.c:3624,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:3637,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/command.c:3640,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:3643,1
    - Dst: parse_ttl
      Src: /src/gnupg/agent/command.c:3646,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:3648,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:3653,1
    - Dst: percent_unescape_inplace
      Src: /src/gnupg/agent/command.c:3660,1
    - Dst: print_assuan_status
      Src: /src/gnupg/agent/command.c:3665,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/agent/command.c:3668,1
    - Dst: assuan_inquire
      Src: /src/gnupg/agent/command.c:3669,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/agent/command.c:3671,1
    - Dst: percent_data_escape
      Src: /src/gnupg/agent/command.c:3681,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:3684,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/command.c:3687,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3691,1
    - Dst: wipememory
      Src: /src/gnupg/agent/command.c:3694,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:3694,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3695,1
    - Dst: wipememory
      Src: /src/gnupg/agent/command.c:3699,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3700,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:3702,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 84
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3703
      start: 3585
    functionDepth: 3
    functionLinenumber: 3585
    functionLinenumberEnd: 3703
    functionName: cmd_put_secret
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - percent_data_escape
    - percent_unescape_inplace
    - strlen
    - assuan_inquire
    - has_option
    - assuan_get_pointer
    - leave_cmd
    - set_error
    - assuan_begin_confidential
    - wipememory
    - skip_options
    - parse_ttl
    - agent_put_cache
    - gpg_error_from_syserror
    - xtrystrdup
    - gpg_error
    - strchr
    - xfree
    - print_assuan_status
    - assuan_end_confidential
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_put_secret (assuan_context_t ctx, char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:3713,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:3720,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3720,1
    - Dst: parse_keygrip
      Src: /src/gnupg/agent/command.c:3722,1
    - Dst: agent_key_available
      Src: /src/gnupg/agent/command.c:3726,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3728,1
    - Dst: agent_key_from_file
      Src: /src/gnupg/agent/command.c:3732,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3737,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3743,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command.c:3744,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3745,1
    - Dst: divert_tpm2_writekey
      Src: /src/gnupg/agent/command.c:3749,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/command.c:3750,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:3753,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3754
      start: 3710
    functionDepth: 1
    functionLinenumber: 3710
    functionLinenumberEnd: 3754
    functionName: cmd_keytotpm
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - agent_key_available
    - leave_cmd
    - divert_tpm2_writekey
    - gpg_error
    - xfree
    - gcry_sexp_release
    - agent_key_from_file
    - parse_keygrip
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_keytotpm (assuan_context_t ctx, char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:3766,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:3773,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3773,1
    - Dst: strchr
      Src: /src/gnupg/agent/command.c:3778,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:3785,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:3788,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:3792,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:3796,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3798,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:3800,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3801
      start: 3763
    functionDepth: 1
    functionLinenumber: 3763
    functionLinenumberEnd: 3801
    functionName: cmd_getval
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - assuan_send_data
    - set_error
    - strcmp
    - gpg_error
    - strchr
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_getval (assuan_context_t ctx, char *line)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:3825,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:3834,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3834,1
    - Dst: strchr
      Src: /src/gnupg/agent/command.c:3839,1
    - Dst: strchr
      Src: /src/gnupg/agent/command.c:3848,1
    - Dst: percent_plus_unescape_inplace
      Src: /src/gnupg/agent/command.c:3851,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:3855,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:3859,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3868,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/command.c:3873,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:3873,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:3875,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:3879,1
    - Dst: strcpy
      Src: /src/gnupg/agent/command.c:3880,1
    - Dst: memcpy
      Src: /src/gnupg/agent/command.c:3881,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:3887,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3888
      start: 3822
    functionDepth: 2
    functionLinenumber: 3822
    functionLinenumberEnd: 3888
    functionName: cmd_putval
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - set_error
    - strlen
    - gpg_error_from_syserror
    - strcmp
    - gpg_error
    - strchr
    - xfree
    - strcpy
    - memcpy
    - percent_plus_unescape_inplace
    - xtrymalloc
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_putval (assuan_context_t ctx, char *line)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:3903,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:3914,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3914,1
    - Dst: session_env_new
      Src: /src/gnupg/agent/command.c:3916,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:3918,1
    - Dst: session_env_list_stdenvnames
      Src: /src/gnupg/agent/command.c:3921,1
    - Dst: session_env_getenv
      Src: /src/gnupg/agent/command.c:3923,1
    - Dst: session_env_setenv
      Src: /src/gnupg/agent/command.c:3925,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/command.c:3929,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:3930,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/command.c:3933,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:3934,1
    - Dst: session_env_release
      Src: /src/gnupg/agent/command.c:3938,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3939,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3940,1
    - Dst: session_env_release
      Src: /src/gnupg/agent/command.c:3944,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3946,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:3948,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3953
      start: 3900
    functionDepth: 3
    functionLinenumber: 3900
    functionLinenumberEnd: 3953
    functionName: cmd_updatestartuptty
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - gpg_error_from_syserror
    - session_env_new
    - session_env_release
    - session_env_list_stdenvnames
    - gpg_error
    - xtrystrdup
    - xfree
    - session_env_setenv
    - session_env_getenv
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_updatestartuptty (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:3964,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:3969,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3969,1
    - Dst: assuan_set_flag
      Src: /src/gnupg/agent/command.c:3972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3974
      start: 3961
    functionDepth: 1
    functionLinenumber: 3961
    functionLinenumberEnd: 3974
    functionName: cmd_killagent
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - assuan_set_flag
    - leave_cmd
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_killagent (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:3985,1
    - Dst: leave_cmd
      Src: /src/gnupg/agent/command.c:3990,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:3990,1
    - Dst: agent_sighup_action
      Src: /src/gnupg/agent/command.c:3992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3994
      start: 3982
    functionDepth: 4
    functionLinenumber: 3982
    functionLinenumberEnd: 3994
    functionName: cmd_reloadagent
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - agent_sighup_action
    - gpg_error
    - leave_cmd
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_reloadagent (assuan_context_t ctx, char *line)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:4025,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4028,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:4031,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:4031,1
    - Dst: strncmp
      Src: /src/gnupg/agent/command.c:4033,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:4041,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:4048,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:4055,1
    - Dst: command_has_option
      Src: /src/gnupg/agent/command.c:4059,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:4060,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4065,1
    - Dst: snprintf
      Src: /src/gnupg/agent/command.c:4069,1
    - Dst: get_standard_s2k_count
      Src: /src/gnupg/agent/command.c:4069,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:4070,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:4070,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4072,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:4074,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4076,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:4078,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:4082,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4085,1
    - Dst: snprintf
      Src: /src/gnupg/agent/command.c:4089,1
    - Dst: getpid
      Src: /src/gnupg/agent/command.c:4089,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:4090,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:4090,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4092,1
    - Dst: get_agent_socket_name
      Src: /src/gnupg/agent/command.c:4094,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:4097,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:4097,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:4099,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4101,1
    - Dst: get_agent_ssh_socket_name
      Src: /src/gnupg/agent/command.c:4103,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:4106,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:4106,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:4108,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4110,1
    - Dst: agent_daemon_check_running
      Src: /src/gnupg/agent/command.c:4112,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:4112,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4114,1
    - Dst: session_env_list_stdenvnames
      Src: /src/gnupg/agent/command.c:4120,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:4122,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:4122,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:4124,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4129,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4130,1
    - Dst: session_env_list_stdenvnames
      Src: /src/gnupg/agent/command.c:4137,1
    - Dst: session_env_getenv_or_default
      Src: /src/gnupg/agent/command.c:4139,1
    - Dst: xtryasprintf
      Src: /src/gnupg/agent/command.c:4143,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/command.c:4145,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:4148,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:4148,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:4150,1
    - Dst: strncmp
      Src: /src/gnupg/agent/command.c:4157,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:4164,1
    - Dst: getenv
      Src: /src/gnupg/agent/command.c:4167,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:4169,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:4171,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:4171,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4174,1
    - Dst: snprintf
      Src: /src/gnupg/agent/command.c:4178,1
    - Dst: get_agent_active_connection_count
      Src: /src/gnupg/agent/command.c:4179,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:4180,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:4180,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4182,1
    - Dst: gcry_get_config
      Src: /src/gnupg/agent/command.c:4187,1
    - Dst: split_fields_colon
      Src: /src/gnupg/agent/command.c:4189,1
    - Dst: DIM
      Src: /src/gnupg/agent/command.c:4189,1
    - Dst: atoi
      Src: /src/gnupg/agent/command.c:4190,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:4193,1
    - Dst: gcry_free
      Src: /src/gnupg/agent/command.c:4194,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4196,1
    - Dst: snprintf
      Src: /src/gnupg/agent/command.c:4200,1
    - Dst: get_calibrated_s2k_count
      Src: /src/gnupg/agent/command.c:4200,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:4201,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:4201,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4203,1
    - Dst: snprintf
      Src: /src/gnupg/agent/command.c:4207,1
    - Dst: get_standard_s2k_time
      Src: /src/gnupg/agent/command.c:4207,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/command.c:4208,1
    - Dst: strlen
      Src: /src/gnupg/agent/command.c:4208,1
    - Dst: set_error
      Src: /src/gnupg/agent/command.c:4211,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 116
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4213
      start: 4022
    functionDepth: 3
    functionLinenumber: 4022
    functionLinenumberEnd: 4213
    functionName: cmd_getinfo
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - strlen
    - xtryasprintf
    - session_env_getenv_or_default
    - get_standard_s2k_count
    - assuan_get_pointer
    - get_standard_s2k_time
    - set_error
    - DIM
    - session_env_list_stdenvnames
    - get_agent_socket_name
    - get_agent_ssh_socket_name
    - strncmp
    - agent_daemon_check_running
    - command_has_option
    - gpg_error_from_syserror
    - get_agent_active_connection_count
    - strcmp
    - gpg_error
    - split_fields_colon
    - getpid
    - gcry_free
    - assuan_send_data
    - atoi
    - snprintf
    - getenv
    - get_calibrated_s2k_count
    - gcry_get_config
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_getinfo (assuan_context_t ctx, char *line)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:4222,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4225,1
    - Dst: gnupg_compare_version
      Src: /src/gnupg/agent/command.c:4230,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4232,1
    - Dst: atoi
      Src: /src/gnupg/agent/command.c:4234,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:4238,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4241,1
    - Dst: session_env_putenv
      Src: /src/gnupg/agent/command.c:4249,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4251,1
    - Dst: session_env_setenv
      Src: /src/gnupg/agent/command.c:4253,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4255,1
    - Dst: session_env_setenv
      Src: /src/gnupg/agent/command.c:4258,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4260,1
    - Dst: session_env_setenv
      Src: /src/gnupg/agent/command.c:4263,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4265,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:4268,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/command.c:4269,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/command.c:4271,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4273,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:4276,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/command.c:4277,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/command.c:4279,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4281,1
    - Dst: session_env_setenv
      Src: /src/gnupg/agent/command.c:4283,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4285,1
    - Dst: session_env_setenv
      Src: /src/gnupg/agent/command.c:4287,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4289,1
    - Dst: atoi
      Src: /src/gnupg/agent/command.c:4290,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4291,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4293,1
    - Dst: parse_pinentry_mode
      Src: /src/gnupg/agent/command.c:4295,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:4297,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:4299,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4303,1
    - Dst: atoi
      Src: /src/gnupg/agent/command.c:4305,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4307,1
    - Dst: strtoul
      Src: /src/gnupg/agent/command.c:4309,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4315,1
    - Dst: log_assert
      Src: /src/gnupg/agent/command.c:4317,1
    - Dst: parse_request_origin
      Src: /src/gnupg/agent/command.c:4318,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:4324,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/command.c:4331,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 84
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - assuan_context_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4334
      start: 4219
    functionDepth: 3
    functionLinenumber: 4219
    functionLinenumberEnd: 4334
    functionName: option_handler
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 6
    functionsReached:
    - session_env_putenv
    - atoi
    - log_assert
    - parse_request_origin
    - gnupg_compare_version
    - strcmp
    - xtrystrdup
    - gpg_error
    - xfree
    - session_env_setenv
    - parse_pinentry_mode
    - strtoul
    - out_of_core
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t option_handler (assuan_context_t ctx, const char *key,
      const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:4344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - assuan_context_t
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4350
      start: 4341
    functionDepth: 1
    functionLinenumber: 4341
    functionLinenumberEnd: 4350
    functionName: post_cmd_notify
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - assuan_get_pointer
    linkageType: ''
    returnType: void
    signature: void post_cmd_notify (assuan_context_t ctx, gpg_error_t err)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/agent/command.c:4361,1
    - Dst: strncmp
      Src: /src/gnupg/agent/command.c:4377,1
    - Dst: strtoul
      Src: /src/gnupg/agent/command.c:4378,1
    - Dst: getpid
      Src: /src/gnupg/agent/command.c:4378,1
    - Dst: strncmp
      Src: /src/gnupg/agent/command.c:4393,1
    - Dst: spacep
      Src: /src/gnupg/agent/command.c:4394,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - hook
    - direction
    - line
    - linelen
    argTypes:
    - assuan_context_t
    - void*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4400
      start: 4357
    functionDepth: 1
    functionLinenumber: 4357
    functionLinenumberEnd: 4400
    functionName: io_monitor
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 0
    functionsReached:
    - spacep
    - strtoul
    - getpid
    - strncmp
    - assuan_get_pointer
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int io_monitor (assuan_context_t ctx, void *hook, int direction,\n
      \           const char *line, size_t linelen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4407,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4409,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4411,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4414,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4416,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4419,1
    - Dst: strcmp
      Src: /src/gnupg/agent/command.c:4421,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - cmd
    - cmdopt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4426
      start: 4404
    functionDepth: 0
    functionLinenumber: 4404
    functionLinenumberEnd: 4426
    functionName: command_has_option
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 3
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int command_has_option (const char *cmd, const char *cmdopt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_register_command
      Src: /src/gnupg/agent/command.c:4483,1
    - Dst: assuan_register_post_cmd_notify
      Src: /src/gnupg/agent/command.c:4488,1
    - Dst: assuan_register_reset_notify
      Src: /src/gnupg/agent/command.c:4489,1
    - Dst: assuan_register_option_handler
      Src: /src/gnupg/agent/command.c:4490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4492
      start: 4431
    functionDepth: 1
    functionLinenumber: 4431
    functionLinenumberEnd: 4492
    functionName: register_commands
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 6
    functionsReached:
    - assuan_register_reset_notify
    - assuan_register_option_handler
    - assuan_register_command
    - assuan_register_post_cmd_notify
    linkageType: ''
    returnType: int
    signature: int register_commands (assuan_context_t ctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: agent_copy_startup_env
      Src: /src/gnupg/agent/command.c:4507,1
    - Dst: assuan_new
      Src: /src/gnupg/agent/command.c:4511,1
    - Dst: log_error
      Src: /src/gnupg/agent/command.c:4514,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command.c:4514,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/command.c:4515,1
    - Dst: assuan_fdopen
      Src: /src/gnupg/agent/command.c:4522,1
    - Dst: assuan_fdopen
      Src: /src/gnupg/agent/command.c:4523,1
    - Dst: assuan_init_pipe_server
      Src: /src/gnupg/agent/command.c:4524,1
    - Dst: assuan_init_socket_server
      Src: /src/gnupg/agent/command.c:4528,1
    - Dst: assuan_init_socket_server
      Src: /src/gnupg/agent/command.c:4534,1
    - Dst: log_error
      Src: /src/gnupg/agent/command.c:4538,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command.c:4539,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/command.c:4540,1
    - Dst: register_commands
      Src: /src/gnupg/agent/command.c:4542,1
    - Dst: log_error
      Src: /src/gnupg/agent/command.c:4545,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command.c:4546,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/command.c:4547,1
    - Dst: assuan_set_pointer
      Src: /src/gnupg/agent/command.c:4550,1
    - Dst: xcalloc
      Src: /src/gnupg/agent/command.c:4551,1
    - Dst: assuan_set_io_monitor
      Src: /src/gnupg/agent/command.c:4559,1
    - Dst: agent_set_progress_cb
      Src: /src/gnupg/agent/command.c:4560,1
    - Dst: assuan_accept
      Src: /src/gnupg/agent/command.c:4567,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command.c:4568,1
    - Dst: log_info
      Src: /src/gnupg/agent/command.c:4574,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command.c:4574,1
    - Dst: assuan_get_peercred
      Src: /src/gnupg/agent/command.c:4578,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/command.c:4586,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command.c:4590,1
    - Dst: assuan_get_pid
      Src: /src/gnupg/agent/command.c:4591,1
    - Dst: assuan_get_pid
      Src: /src/gnupg/agent/command.c:4597,1
    - Dst: getpid
      Src: /src/gnupg/agent/command.c:4605,1
    - Dst: assuan_process
      Src: /src/gnupg/agent/command.c:4607,1
    - Dst: log_info
      Src: /src/gnupg/agent/command.c:4610,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/command.c:4610,1
    - Dst: agent_card_free_keyinfo
      Src: /src/gnupg/agent/command.c:4616,1
    - Dst: clear_nonce_cache
      Src: /src/gnupg/agent/command.c:4619,1
    - Dst: agent_reset_daemon
      Src: /src/gnupg/agent/command.c:4622,1
    - Dst: agent_reset_query
      Src: /src/gnupg/agent/command.c:4625,1
    - Dst: assuan_release
      Src: /src/gnupg/agent/command.c:4628,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:4629,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:4630,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:4631,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/command.c:4633,1
    - Dst: xfree
      Src: /src/gnupg/agent/command.c:4634,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 79
    argCount: 3
    argNames:
    - ctrl
    - listen_fd
    - fd
    argTypes:
    - ctrl_t
    - gnupg_fd_t
    - gnupg_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4636
      start: 4499
    functionDepth: 4
    functionLinenumber: 4499
    functionLinenumberEnd: 4636
    functionName: start_command_handler
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 4
    functionsReached:
    - register_commands
    - assuan_get_peercred
    - log_error
    - log_info
    - assuan_fdopen
    - agent_exit
    - agent_card_free_keyinfo
    - assuan_new
    - assuan_init_socket_server
    - gpg_strerror
    - xfree
    - agent_set_progress_cb
    - getpid
    - assuan_process
    - assuan_init_pipe_server
    - agent_reset_daemon
    - clear_nonce_cache
    - assuan_get_pid
    - assuan_release
    - assuan_accept
    - agent_reset_query
    - xcalloc
    - agent_copy_startup_env
    - gpg_err_code
    - assuan_set_io_monitor
    - assuan_set_pointer
    linkageType: ''
    returnType: void
    signature: void start_command_handler (ctrl_t ctrl, gnupg_fd_t listen_fd, gnupg_fd_t
      fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_assuan_status
      Src: /src/gnupg/agent/command.c:4649,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/agent/command.c:4653,1
    - Dst: assuan_inquire
      Src: /src/gnupg/agent/command.c:4654,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/agent/command.c:4655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - ctrl
    - keyword
    - buffer
    - size
    - max_length
    argTypes:
    - ctrl_t
    - char*
    - unsigned char**
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4657
      start: 4641
    functionDepth: 3
    functionLinenumber: 4641
    functionLinenumberEnd: 4657
    functionName: pinentry_loopback
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 3
    functionsReached:
    - print_assuan_status
    - assuan_end_confidential
    - assuan_begin_confidential
    - assuan_inquire
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t pinentry_loopback(ctrl_t ctrl, const char *keyword,\n
      \                 unsigned char **buffer, size_t *size,\n                  size_t
      max_length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: print_assuan_status
      Src: /src/gnupg/agent/command.c:4670,1
    - Dst: print_assuan_status
      Src: /src/gnupg/agent/command.c:4672,1
    - Dst: print_assuan_status
      Src: /src/gnupg/agent/command.c:4674,1
    - Dst: assuan_inquire
      Src: /src/gnupg/agent/command.c:4677,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - ctrl
    - desc
    - ask_confirmation
    - ok
    - notok
    argTypes:
    - ctrl_t
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4680
      start: 4661
    functionDepth: 3
    functionLinenumber: 4661
    functionLinenumberEnd: 4680
    functionName: pinentry_loopback_confirm
    functionSourceFile: /src/gnupg/agent/command.c
    functionUses: 2
    functionsReached:
    - print_assuan_status
    - assuan_inquire
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t pinentry_loopback_confirm (ctrl_t ctrl, const char *desc,\n
      \                          int ask_confirmation,\n                           const
      char *ok, const char *notok)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: trans
    functionSourceFile: /src/gnupg/agent/trans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      trans (const char *text)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/cvt-openpgp.c:66,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/cvt-openpgp.c:72,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/cvt-openpgp.c:78,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:84,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cvt-openpgp.c:89,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cvt-openpgp.c:91,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/cvt-openpgp.c:96,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:101,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/agent/cvt-openpgp.c:105,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:106,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:108,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - pubkey_algo
    - curve
    - pkey
    - grip
    argTypes:
    - int
    - char*
    - gcry_mpi_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 110
    functionName: get_keygrip
    functionSourceFile: /src/gnupg/agent/cvt-openpgp.c
    functionUses: 17
    functionsReached:
    - gcry_pk_get_keygrip
    - strcmp
    - gpg_error
    - gcry_sexp_release
    - gcry_sexp_build
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_keygrip (int pubkey_algo, const char *curve, gcry_mpi_t
      *pkey,\n             unsigned char *grip)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/cvt-openpgp.c:128,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/cvt-openpgp.c:135,1
    - Dst: gcry_mpi_cmp
      Src: /src/gnupg/agent/cvt-openpgp.c:148,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/cvt-openpgp.c:152,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:160,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cvt-openpgp.c:165,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cvt-openpgp.c:169,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/cvt-openpgp.c:174,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:179,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - r_key
    - pubkey_algo
    - skey
    - curve
    argTypes:
    - gcry_sexp_t*
    - int
    - gcry_mpi_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 186
    functionName: convert_secret_key
    functionSourceFile: /src/gnupg/agent/cvt-openpgp.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gpg_error
    - gcry_sexp_build
    - gcry_mpi_cmp
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t convert_secret_key (gcry_sexp_t *r_key, int pubkey_algo,
      gcry_mpi_t *skey,\n                    const char *curve)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/cvt-openpgp.c:206,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/cvt-openpgp.c:214,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/cvt-openpgp.c:223,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:232,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cvt-openpgp.c:237,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cvt-openpgp.c:242,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/cvt-openpgp.c:249,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:254,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - r_key
    - pubkey_algo
    - skey
    - curve
    - transfer_key
    argTypes:
    - gcry_sexp_t*
    - int
    - gcry_mpi_t*
    - char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 261
    functionName: convert_transfer_key
    functionSourceFile: /src/gnupg/agent/cvt-openpgp.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gpg_error
    - gcry_sexp_build
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t convert_transfer_key (gcry_sexp_t *r_key, int pubkey_algo,
      gcry_mpi_t *skey,\n                      const char *curve, gcry_sexp_t transfer_key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/gnupg/agent/cvt-openpgp.c:275,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:277,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/agent/cvt-openpgp.c:279,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/cvt-openpgp.c:281,1
    - Dst: s2k_hash_passphrase
      Src: /src/gnupg/agent/cvt-openpgp.c:283,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/agent/cvt-openpgp.c:287,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 7
    argNames:
    - passphrase
    - hd
    - protect_algo
    - s2k_mode
    - s2k_algo
    - s2k_salt
    - s2k_count
    argTypes:
    - char*
    - gcry_cipher_hd_t
    - int
    - int
    - int
    - byte*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 291
    functionName: hash_passphrase_and_set_key
    functionSourceFile: /src/gnupg/agent/cvt-openpgp.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_setkey
    - gpg_error_from_syserror
    - s2k_hash_passphrase
    - xtrymalloc_secure
    - gpg_error
    - xfree
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t hash_passphrase_and_set_key (const char *passphrase,\n
      \                            gcry_cipher_hd_t hd, int protect_algo,\n                             int
      s2k_mode, int s2k_algo,\n                             byte *s2k_salt, u32 s2k_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: checksum
    functionSourceFile: /src/gnupg/agent/cvt-openpgp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 checksum (const unsigned char *p, unsigned int n)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - pubkey_algo
    - npkey
    - nskey
    argTypes:
    - int
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 318
    functionName: get_npkey_nskey
    functionSourceFile: /src/gnupg/agent/cvt-openpgp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void get_npkey_nskey (int pubkey_algo, size_t *npkey, size_t *nskey)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/agent/cvt-openpgp.c:345,1
    - Dst: _
      Src: /src/gnupg/agent/cvt-openpgp.c:345,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:346,1
    - Dst: gcry_pk_test_algo
      Src: /src/gnupg/agent/cvt-openpgp.c:349,1
    - Dst: log_info
      Src: /src/gnupg/agent/cvt-openpgp.c:351,1
    - Dst: _
      Src: /src/gnupg/agent/cvt-openpgp.c:351,1
    - Dst: gcry_pk_algo_name
      Src: /src/gnupg/agent/cvt-openpgp.c:352,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:353,1
    - Dst: get_npkey_nskey
      Src: /src/gnupg/agent/cvt-openpgp.c:359,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:361,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:363,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:365,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/agent/cvt-openpgp.c:371,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:372,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 7
    argNames:
    - pubkey_algo
    - skey
    - skeysize
    - s2k_mode
    - r_npkey
    - r_nskey
    - r_skeylen
    argTypes:
    - int
    - gcry_mpi_t*
    - size_t
    - int
    - unsigned int*
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 382
    functionName: prepare_unprotect
    functionSourceFile: /src/gnupg/agent/cvt-openpgp.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - _
    - gcry_pk_test_algo
    - gpg_error
    - gcry_pk_algo_name
    - log_info
    - get_npkey_nskey
    linkageType: ''
    returnType: int
    signature: "int prepare_unprotect (int pubkey_algo, gcry_mpi_t *skey, size_t skeysize,\n
      \                  int s2k_mode,\n                   unsigned int *r_npkey,
      unsigned int *r_nskey,\n                   unsigned int *r_skeylen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/agent/cvt-openpgp.c:396,1
    - Dst: gcry_mpi_set_opaque_copy
      Src: /src/gnupg/agent/cvt-openpgp.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - r_mpi
    - pubkey_algo
    - buffer
    - buflen
    - r_nbytes
    argTypes:
    - gcry_mpi_t*
    - int
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 414
    functionName: scan_pgp_format
    functionSourceFile: /src/gnupg/agent/cvt-openpgp.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_set_opaque_copy
    - gcry_mpi_scan
    linkageType: ''
    returnType: int
    signature: "int scan_pgp_format (gcry_mpi_t *r_mpi, int pubkey_algo,\n                 const
      unsigned char *buffer,\n                 size_t buflen, size_t *r_nbytes)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: prepare_unprotect
      Src: /src/gnupg/agent/cvt-openpgp.c:438,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/agent/cvt-openpgp.c:452,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:453,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/agent/cvt-openpgp.c:455,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/agent/cvt-openpgp.c:458,1
    - Dst: checksum
      Src: /src/gnupg/agent/cvt-openpgp.c:475,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/agent/cvt-openpgp.c:479,1
    - Dst: checksum
      Src: /src/gnupg/agent/cvt-openpgp.c:484,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:485,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:490,1
    - Dst: gcry_cipher_test_algo
      Src: /src/gnupg/agent/cvt-openpgp.c:496,1
    - Dst: log_info
      Src: /src/gnupg/agent/cvt-openpgp.c:501,1
    - Dst: _
      Src: /src/gnupg/agent/cvt-openpgp.c:501,1
    - Dst: gnupg_cipher_algo_name
      Src: /src/gnupg/agent/cvt-openpgp.c:502,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:503,1
    - Dst: gcry_md_test_algo
      Src: /src/gnupg/agent/cvt-openpgp.c:506,1
    - Dst: log_info
      Src: /src/gnupg/agent/cvt-openpgp.c:508,1
    - Dst: _
      Src: /src/gnupg/agent/cvt-openpgp.c:508,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/agent/cvt-openpgp.c:509,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:510,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/agent/cvt-openpgp.c:513,1
    - Dst: log_error
      Src: /src/gnupg/agent/cvt-openpgp.c:520,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/cvt-openpgp.c:521,1
    - Dst: hash_passphrase_and_set_key
      Src: /src/gnupg/agent/cvt-openpgp.c:525,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/cvt-openpgp.c:529,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/agent/cvt-openpgp.c:533,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/agent/cvt-openpgp.c:545,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/cvt-openpgp.c:547,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:548,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/agent/cvt-openpgp.c:550,1
    - Dst: buf16_to_u16
      Src: /src/gnupg/agent/cvt-openpgp.c:554,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/agent/cvt-openpgp.c:555,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/cvt-openpgp.c:558,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/cvt-openpgp.c:559,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/agent/cvt-openpgp.c:562,1
    - Dst: log_error
      Src: /src/gnupg/agent/cvt-openpgp.c:573,1
    - Dst: gcry_md_open
      Src: /src/gnupg/agent/cvt-openpgp.c:578,1
    - Dst: BUG
      Src: /src/gnupg/agent/cvt-openpgp.c:579,1
    - Dst: gcry_md_write
      Src: /src/gnupg/agent/cvt-openpgp.c:580,1
    - Dst: gcry_md_final
      Src: /src/gnupg/agent/cvt-openpgp.c:581,1
    - Dst: memcmp
      Src: /src/gnupg/agent/cvt-openpgp.c:582,1
    - Dst: gcry_md_read
      Src: /src/gnupg/agent/cvt-openpgp.c:582,1
    - Dst: gcry_md_close
      Src: /src/gnupg/agent/cvt-openpgp.c:584,1
    - Dst: log_error
      Src: /src/gnupg/agent/cvt-openpgp.c:592,1
    - Dst: buf16_to_u16
      Src: /src/gnupg/agent/cvt-openpgp.c:598,1
    - Dst: checksum
      Src: /src/gnupg/agent/cvt-openpgp.c:599,1
    - Dst: scan_pgp_format
      Src: /src/gnupg/agent/cvt-openpgp.c:614,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/agent/cvt-openpgp.c:625,1
    - Dst: log_assert
      Src: /src/gnupg/agent/cvt-openpgp.c:627,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/agent/cvt-openpgp.c:640,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:646,1
    - Dst: log_assert
      Src: /src/gnupg/agent/cvt-openpgp.c:653,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/agent/cvt-openpgp.c:660,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/cvt-openpgp.c:662,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:663,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/agent/cvt-openpgp.c:665,1
    - Dst: buf16_to_ushort
      Src: /src/gnupg/agent/cvt-openpgp.c:668,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/cvt-openpgp.c:670,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:671,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/agent/cvt-openpgp.c:674,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/cvt-openpgp.c:677,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/cvt-openpgp.c:678,1
    - Dst: gcry_cipher_sync
      Src: /src/gnupg/agent/cvt-openpgp.c:682,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/agent/cvt-openpgp.c:685,1
    - Dst: checksum
      Src: /src/gnupg/agent/cvt-openpgp.c:686,1
    - Dst: scan_pgp_format
      Src: /src/gnupg/agent/cvt-openpgp.c:687,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:688,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/agent/cvt-openpgp.c:698,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/agent/cvt-openpgp.c:709,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/cvt-openpgp.c:712,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:716,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:720,1
    - Dst: convert_secret_key
      Src: /src/gnupg/agent/cvt-openpgp.c:722,1
    - Dst: gcry_pk_testkey
      Src: /src/gnupg/agent/cvt-openpgp.c:727,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:730,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:732,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 186
    argCount: 16
    argNames:
    - passphrase
    - pkt_version
    - pubkey_algo
    - is_protected
    - curve
    - skey
    - skeysize
    - protect_algo
    - protect_iv
    - protect_ivlen
    - s2k_mode
    - s2k_algo
    - s2k_salt
    - s2k_count
    - desired_csum
    - r_key
    argTypes:
    - char*
    - int
    - int
    - int
    - char*
    - gcry_mpi_t*
    - size_t
    - int
    - void*
    - size_t
    - int
    - int
    - byte*
    - u32
    - u16
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 736
    functionName: do_unprotect
    functionSourceFile: /src/gnupg/agent/cvt-openpgp.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - gcry_cipher_setiv
    - log_assert
    - gcry_mpi_aprint
    - BUG
    - gcry_md_final
    - checksum
    - gcry_md_close
    - buf16_to_u16
    - buf16_to_ushort
    - scan_pgp_format
    - gcry_cipher_open
    - gcry_cipher_sync
    - gcry_md_algo_name
    - log_error
    - _
    - log_info
    - gcry_sexp_release
    - gcry_md_read
    - gcry_cipher_test_algo
    - gcry_md_open
    - gpg_error_from_syserror
    - prepare_unprotect
    - xtrymalloc_secure
    - gpg_error
    - xfree
    - gpg_strerror
    - gnupg_cipher_algo_name
    - gcry_md_test_algo
    - hash_passphrase_and_set_key
    - gcry_mpi_get_opaque
    - gcry_mpi_release
    - gcry_md_write
    - gcry_cipher_decrypt
    - gcry_pk_testkey
    - memcmp
    - convert_secret_key
    - gcry_cipher_close
    linkageType: ''
    returnType: int
    signature: "int do_unprotect (const char *passphrase,\n              int pkt_version,
      int pubkey_algo, int is_protected,\n              const char *curve, gcry_mpi_t
      *skey, size_t skeysize,\n              int protect_algo, void *protect_iv, size_t
      protect_ivlen,\n              int s2k_mode, int s2k_algo, byte *s2k_salt, u32
      s2k_count,\n              u16 desired_csum, gcry_sexp_t *r_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_unprotect
      Src: /src/gnupg/agent/cvt-openpgp.c:747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pi
    argTypes:
    - struct pin_entry_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 741
    functionDepth: 3
    functionLinenumber: 741
    functionLinenumberEnd: 761
    functionName: try_do_unprotect_cb
    functionSourceFile: /src/gnupg/agent/cvt-openpgp.c
    functionUses: 0
    functionsReached:
    - do_unprotect
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t try_do_unprotect_cb (struct pin_entry_info_s *pi)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/cvt-openpgp.c:805,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/cvt-openpgp.c:809,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/agent/cvt-openpgp.c:812,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:818,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/cvt-openpgp.c:819,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/agent/cvt-openpgp.c:822,1
    - Dst: memcmp
      Src: /src/gnupg/agent/cvt-openpgp.c:825,1
    - Dst: memcmp
      Src: /src/gnupg/agent/cvt-openpgp.c:827,1
    - Dst: memcmp
      Src: /src/gnupg/agent/cvt-openpgp.c:829,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/agent/cvt-openpgp.c:836,1
    - Dst: gcry_cipher_map_name
      Src: /src/gnupg/agent/cvt-openpgp.c:839,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:840,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/agent/cvt-openpgp.c:842,1
    - Dst: memcpy
      Src: /src/gnupg/agent/cvt-openpgp.c:845,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/agent/cvt-openpgp.c:848,1
    - Dst: strtol
      Src: /src/gnupg/agent/cvt-openpgp.c:851,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:852,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/agent/cvt-openpgp.c:854,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/agent/cvt-openpgp.c:857,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:858,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/agent/cvt-openpgp.c:860,1
    - Dst: memcpy
      Src: /src/gnupg/agent/cvt-openpgp.c:863,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/agent/cvt-openpgp.c:865,1
    - Dst: strtoul
      Src: /src/gnupg/agent/cvt-openpgp.c:868,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:869,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:872,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/cvt-openpgp.c:873,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/agent/cvt-openpgp.c:876,1
    - Dst: gcry_pk_map_name
      Src: /src/gnupg/agent/cvt-openpgp.c:879,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:880,1
    - Dst: get_npkey_nskey
      Src: /src/gnupg/agent/cvt-openpgp.c:882,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:888,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/cvt-openpgp.c:889,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/agent/cvt-openpgp.c:892,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:897,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/cvt-openpgp.c:898,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/agent/cvt-openpgp.c:905,1
    - Dst: DIM
      Src: /src/gnupg/agent/cvt-openpgp.c:914,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/agent/cvt-openpgp.c:920,1
    - Dst: gcry_mpi_set_opaque_copy
      Src: /src/gnupg/agent/cvt-openpgp.c:925,1
    - Dst: gcry_mpi_set_flag
      Src: /src/gnupg/agent/cvt-openpgp.c:930,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/agent/cvt-openpgp.c:934,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:942,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/cvt-openpgp.c:943,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/agent/cvt-openpgp.c:946,1
    - Dst: strtoul
      Src: /src/gnupg/agent/cvt-openpgp.c:949,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:950,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:956,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:957,1
    - Dst: log_debug
      Src: /src/gnupg/agent/cvt-openpgp.c:960,1
    - Dst: log_debug
      Src: /src/gnupg/agent/cvt-openpgp.c:961,1
    - Dst: log_debug
      Src: /src/gnupg/agent/cvt-openpgp.c:962,1
    - Dst: log_debug
      Src: /src/gnupg/agent/cvt-openpgp.c:963,1
    - Dst: log_printhex
      Src: /src/gnupg/agent/cvt-openpgp.c:964,1
    - Dst: log_debug
      Src: /src/gnupg/agent/cvt-openpgp.c:965,1
    - Dst: log_debug
      Src: /src/gnupg/agent/cvt-openpgp.c:966,1
    - Dst: log_debug
      Src: /src/gnupg/agent/cvt-openpgp.c:967,1
    - Dst: log_printhex
      Src: /src/gnupg/agent/cvt-openpgp.c:968,1
    - Dst: log_debug
      Src: /src/gnupg/agent/cvt-openpgp.c:969,1
    - Dst: log_debug
      Src: /src/gnupg/agent/cvt-openpgp.c:970,1
    - Dst: gcry_log_debugmpi
      Src: /src/gnupg/agent/cvt-openpgp.c:972,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/agent/cvt-openpgp.c:972,1
    - Dst: get_keygrip
      Src: /src/gnupg/agent/cvt-openpgp.c:976,1
    - Dst: agent_key_available
      Src: /src/gnupg/agent/cvt-openpgp.c:980,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:982,1
    - Dst: prepare_unprotect
      Src: /src/gnupg/agent/cvt-openpgp.c:988,1
    - Dst: DIM
      Src: /src/gnupg/agent/cvt-openpgp.c:988,1
    - Dst: convert_transfer_key
      Src: /src/gnupg/agent/cvt-openpgp.c:993,1
    - Dst: xtrycalloc_secure
      Src: /src/gnupg/agent/cvt-openpgp.c:1002,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/cvt-openpgp.c:1005,1
    - Dst: DIM
      Src: /src/gnupg/agent/cvt-openpgp.c:1027,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:1031,1
    - Dst: try_do_unprotect_cb
      Src: /src/gnupg/agent/cvt-openpgp.c:1034,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/cvt-openpgp.c:1035,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:1036,1
    - Dst: agent_get_cache
      Src: /src/gnupg/agent/cvt-openpgp.c:1042,1
    - Dst: strlen
      Src: /src/gnupg/agent/cvt-openpgp.c:1045,1
    - Dst: strcpy
      Src: /src/gnupg/agent/cvt-openpgp.c:1046,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:1047,1
    - Dst: try_do_unprotect_cb
      Src: /src/gnupg/agent/cvt-openpgp.c:1050,1
    - Dst: strlen
      Src: /src/gnupg/agent/cvt-openpgp.c:1054,1
    - Dst: strcpy
      Src: /src/gnupg/agent/cvt-openpgp.c:1055,1
    - Dst: try_do_unprotect_cb
      Src: /src/gnupg/agent/cvt-openpgp.c:1056,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/cvt-openpgp.c:1058,1
    - Dst: agent_askpin
      Src: /src/gnupg/agent/cvt-openpgp.c:1059,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/cvt-openpgp.c:1063,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/cvt-openpgp.c:1065,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:1067,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/agent/cvt-openpgp.c:1074,1
    - Dst: make_canon_sexp_pad
      Src: /src/gnupg/agent/cvt-openpgp.c:1079,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:1082,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:1083,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:1084,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:1085,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/agent/cvt-openpgp.c:1087,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:1090,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:1096,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:1100,1
    CyclomaticComplexity: 120
    EdgeCount: 120
    ICount: 273
    argCount: 9
    argNames:
    - ctrl
    - s_pgp
    - dontcare_exist
    - grip
    - prompt
    - cache_nonce
    - passphrase
    - r_key
    - r_passphrase
    argTypes:
    - ctrl_t
    - gcry_sexp_t
    - int
    - unsigned char*
    - char*
    - char*
    - char*
    - unsigned char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 768
    functionDepth: 4
    functionLinenumber: 768
    functionLinenumberEnd: 1103
    functionName: convert_from_openpgp_main
    functionSourceFile: /src/gnupg/agent/cvt-openpgp.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - xtrycalloc_secure
    - agent_key_available
    - strlen
    - gcry_sexp_find_token
    - memcpy
    - gcry_sexp_nth_string
    - gcry_mpi_scan
    - convert_transfer_key
    - log_printhex
    - agent_askpin
    - DIM
    - gcry_mpi_set_opaque_copy
    - gcry_sexp_release
    - gcry_mpi_set_flag
    - strtoul
    - log_debug
    - strtol
    - gpg_error_from_syserror
    - prepare_unprotect
    - xtrystrdup
    - get_keygrip
    - gcry_sexp_nth_data
    - xfree
    - gcry_md_map_name
    - get_npkey_nskey
    - gpg_error
    - try_do_unprotect_cb
    - gcry_mpi_release
    - gcry_cipher_map_name
    - make_canon_sexp_pad
    - agent_get_cache
    - memcmp
    - gcry_pk_map_name
    - gpg_err_code
    - strcpy
    - gcry_log_debugmpi
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t convert_from_openpgp_main (ctrl_t ctrl, gcry_sexp_t s_pgp,
      int dontcare_exist,\n                           unsigned char *grip, const char
      *prompt,\n                           const char *cache_nonce, const char *passphrase,\n
      \                          unsigned char **r_key, char **r_passphrase)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convert_from_openpgp_main
      Src: /src/gnupg/agent/cvt-openpgp.c:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ctrl
    - s_pgp
    - dontcare_exist
    - grip
    - prompt
    - cache_nonce
    - r_key
    - r_passphrase
    argTypes:
    - ctrl_t
    - gcry_sexp_t
    - int
    - unsigned char*
    - char*
    - char*
    - unsigned char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1118
    functionDepth: 5
    functionLinenumber: 1118
    functionLinenumberEnd: 1127
    functionName: convert_from_openpgp
    functionSourceFile: /src/gnupg/agent/cvt-openpgp.c
    functionUses: 1
    functionsReached:
    - convert_from_openpgp_main
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t convert_from_openpgp (ctrl_t ctrl, gcry_sexp_t s_pgp,
      int dontcare_exist,\n                      unsigned char *grip, const char *prompt,\n
      \                     const char *cache_nonce,\n                      unsigned
      char **r_key, char **r_passphrase)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:1141,1
    - Dst: convert_from_openpgp_main
      Src: /src/gnupg/agent/cvt-openpgp.c:1143,1
    - Dst: agent_protect
      Src: /src/gnupg/agent/cvt-openpgp.c:1155,1
    - Dst: agent_write_private_key
      Src: /src/gnupg/agent/cvt-openpgp.c:1158,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:1162,1
    - Dst: agent_write_private_key
      Src: /src/gnupg/agent/cvt-openpgp.c:1167,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/cvt-openpgp.c:1169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ctrl
    - s_pgp
    - passphrase
    - r_key
    argTypes:
    - ctrl_t
    - gcry_sexp_t
    - char*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1132
    functionDepth: 5
    functionLinenumber: 1132
    functionLinenumberEnd: 1175
    functionName: convert_from_openpgp_native
    functionSourceFile: /src/gnupg/agent/cvt-openpgp.c
    functionUses: 0
    functionsReached:
    - agent_write_private_key
    - convert_from_openpgp_main
    - agent_protect
    - gpg_error
    - xfree
    - gcry_sexp_canon_len
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t convert_from_openpgp_native (ctrl_t ctrl,\n                             gcry_sexp_t
      s_pgp, const char *passphrase,\n                             unsigned char **r_key)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/agent/cvt-openpgp.c:1198,1
    - Dst: log_assert
      Src: /src/gnupg/agent/cvt-openpgp.c:1199,1
    - Dst: DIM
      Src: /src/gnupg/agent/cvt-openpgp.c:1199,1
    - Dst: gcry_mpi_get_flag
      Src: /src/gnupg/agent/cvt-openpgp.c:1206,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/agent/cvt-openpgp.c:1208,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/agent/cvt-openpgp.c:1210,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/cvt-openpgp.c:1212,1
    - Dst: memcpy
      Src: /src/gnupg/agent/cvt-openpgp.c:1215,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/agent/cvt-openpgp.c:1222,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/agent/cvt-openpgp.c:1223,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:1228,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/agent/cvt-openpgp.c:1235,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/cvt-openpgp.c:1238,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:1240,1
    - Dst: memcpy
      Src: /src/gnupg/agent/cvt-openpgp.c:1248,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:1250,1
    - Dst: log_assert
      Src: /src/gnupg/agent/cvt-openpgp.c:1253,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/agent/cvt-openpgp.c:1256,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/agent/cvt-openpgp.c:1259,1
    - Dst: hash_passphrase_and_set_key
      Src: /src/gnupg/agent/cvt-openpgp.c:1262,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/agent/cvt-openpgp.c:1265,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/agent/cvt-openpgp.c:1267,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/cvt-openpgp.c:1268,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:1271,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/agent/cvt-openpgp.c:1278,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/agent/cvt-openpgp.c:1281,1
    - Dst: gcry_mpi_set_flag
      Src: /src/gnupg/agent/cvt-openpgp.c:1282,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 63
    argCount: 11
    argNames:
    - array
    - npkey
    - nskey
    - passphrase
    - protect_algo
    - protect_iv
    - protect_ivlen
    - s2k_mode
    - s2k_algo
    - s2k_salt
    - s2k_count
    argTypes:
    - gcry_mpi_t*
    - int
    - int
    - char*
    - int
    - void*
    - size_t
    - int
    - int
    - byte*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1183
    functionDepth: 2
    functionLinenumber: 1183
    functionLinenumberEnd: 1284
    functionName: apply_protection
    functionSourceFile: /src/gnupg/agent/cvt-openpgp.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - log_assert
    - gcry_md_hash_buffer
    - gcry_cipher_setiv
    - gcry_mpi_aprint
    - gcry_cipher_encrypt
    - memcpy
    - gcry_cipher_open
    - gcry_mpi_set_opaque
    - DIM
    - gcry_mpi_set_flag
    - gcry_mpi_get_nbits
    - gpg_error_from_syserror
    - xtrymalloc_secure
    - xfree
    - hash_passphrase_and_set_key
    - gcry_mpi_get_opaque
    - gcry_mpi_release
    - gcry_cipher_close
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t apply_protection (gcry_mpi_t *array, int npkey, int nskey,\n
      \                 const char *passphrase,\n                  int protect_algo,
      void *protect_iv, size_t protect_ivlen,\n                  int s2k_mode, int
      s2k_algo, byte *s2k_salt, u32 s2k_count)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/cvt-openpgp.c:1321,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/cvt-openpgp.c:1323,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/cvt-openpgp.c:1325,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/cvt-openpgp.c:1328,1
    - Dst: log_error
      Src: /src/gnupg/agent/cvt-openpgp.c:1332,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:1333,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/agent/cvt-openpgp.c:1336,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:1337,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/agent/cvt-openpgp.c:1339,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:1342,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:1343,1
    - Dst: BUG
      Src: /src/gnupg/agent/cvt-openpgp.c:1347,1
    - Dst: strlwr
      Src: /src/gnupg/agent/cvt-openpgp.c:1352,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cvt-openpgp.c:1353,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/agent/cvt-openpgp.c:1359,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cvt-openpgp.c:1363,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/agent/cvt-openpgp.c:1369,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cvt-openpgp.c:1373,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/agent/cvt-openpgp.c:1379,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cvt-openpgp.c:1383,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cvt-openpgp.c:1383,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/cvt-openpgp.c:1390,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/cvt-openpgp.c:1391,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/agent/cvt-openpgp.c:1392,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cvt-openpgp.c:1395,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cvt-openpgp.c:1396,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cvt-openpgp.c:1397,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/agent/cvt-openpgp.c:1403,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cvt-openpgp.c:1408,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:1410,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:1411,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:1414,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:1415,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 83
    argCount: 10
    argNames:
    - s_key
    - req_private_key_data
    - r_algoname
    - r_npkey
    - r_nskey
    - r_elems
    - array
    - arraysize
    - r_curve
    - r_flags
    argTypes:
    - gcry_sexp_t
    - int
    - char**
    - int*
    - int*
    - char**
    - gcry_mpi_t*
    - int
    - gcry_sexp_t*
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1431
    functionName: extract_private_key
    functionSourceFile: /src/gnupg/agent/cvt-openpgp.c
    functionUses: 0
    functionsReached:
    - strlwr
    - log_error
    - gcry_sexp_cadr
    - gcry_sexp_find_token
    - BUG
    - strcmp
    - gcry_sexp_extract_param
    - gpg_error
    - xfree
    - gcry_sexp_release
    - gcry_sexp_nth_string
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t extract_private_key (gcry_sexp_t s_key, int req_private_key_data,\n
      \                    const char **r_algoname, int *r_npkey, int *r_nskey,\n
      \                    const char **r_elems,\n                     gcry_mpi_t
      *array, int arraysize,\n                     gcry_sexp_t *r_curve, gcry_sexp_t
      *r_flags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/agent/cvt-openpgp.c:1456,1
    - Dst: extract_private_key
      Src: /src/gnupg/agent/cvt-openpgp.c:1459,1
    - Dst: DIM
      Src: /src/gnupg/agent/cvt-openpgp.c:1460,1
    - Dst: gcry_create_nonce
      Src: /src/gnupg/agent/cvt-openpgp.c:1464,1
    - Dst: gcry_create_nonce
      Src: /src/gnupg/agent/cvt-openpgp.c:1465,1
    - Dst: get_standard_s2k_count_rfc4880
      Src: /src/gnupg/agent/cvt-openpgp.c:1469,1
    - Dst: apply_protection
      Src: /src/gnupg/agent/cvt-openpgp.c:1470,1
    - Dst: snprintf
      Src: /src/gnupg/agent/cvt-openpgp.c:1483,1
    - Dst: init_membuf
      Src: /src/gnupg/agent/cvt-openpgp.c:1485,1
    - Dst: put_membuf_str
      Src: /src/gnupg/agent/cvt-openpgp.c:1486,1
    - Dst: put_membuf_str
      Src: /src/gnupg/agent/cvt-openpgp.c:1489,1
    - Dst: put_membuf_str
      Src: /src/gnupg/agent/cvt-openpgp.c:1492,1
    - Dst: put_membuf_str
      Src: /src/gnupg/agent/cvt-openpgp.c:1494,1
    - Dst: put_membuf
      Src: /src/gnupg/agent/cvt-openpgp.c:1495,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/cvt-openpgp.c:1499,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/cvt-openpgp.c:1501,1
    - Dst: gcry_sexp_build_array
      Src: /src/gnupg/agent/cvt-openpgp.c:1503,1
    - Dst: xfree
      Src: /src/gnupg/agent/cvt-openpgp.c:1504,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/cvt-openpgp.c:1507,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:1519,1
    - Dst: make_canon_sexp_pad
      Src: /src/gnupg/agent/cvt-openpgp.c:1521,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:1522,1
    - Dst: DIM
      Src: /src/gnupg/agent/cvt-openpgp.c:1525,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/agent/cvt-openpgp.c:1526,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:1527,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/cvt-openpgp.c:1528,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 5
    argNames:
    - ctrl
    - s_key
    - passphrase
    - r_transferkey
    - r_transferkeylen
    argTypes:
    - ctrl_t
    - gcry_sexp_t
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1437
    functionDepth: 3
    functionLinenumber: 1437
    functionLinenumberEnd: 1531
    functionName: convert_to_openpgp
    functionSourceFile: /src/gnupg/agent/cvt-openpgp.c
    functionUses: 1
    functionsReached:
    - get_membuf
    - init_membuf
    - gpg_error_from_syserror
    - put_membuf
    - snprintf
    - make_canon_sexp_pad
    - DIM
    - extract_private_key
    - put_membuf_str
    - get_standard_s2k_count_rfc4880
    - xfree
    - gcry_sexp_build
    - apply_protection
    - gcry_sexp_release
    - gcry_sexp_build_array
    - gcry_create_nonce
    - gcry_mpi_release
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t convert_to_openpgp (ctrl_t ctrl, gcry_sexp_t s_key, const
      char *passphrase,\n                    unsigned char **r_transferkey, size_t
      *r_transferkeylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetProcessTimes
      Src: /src/gnupg/agent/protect.c:128,1
    - Dst: GetCurrentProcess
      Src: /src/gnupg/agent/protect.c:128,1
    - Dst: clock_gettime
      Src: /src/gnupg/agent/protect.c:134,1
    - Dst: clock
      Src: /src/gnupg/agent/protect.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct calibrate_time_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 140
    functionName: calibrate_get_time
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 0
    functionsReached:
    - GetCurrentProcess
    - GetProcessTimes
    - clock_gettime
    - clock
    linkageType: ''
    returnType: void
    signature: void calibrate_get_time (struct calibrate_time_s *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calibrate_get_time
      Src: /src/gnupg/agent/protect.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - starttime
    argTypes:
    - struct calibrate_time_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 167
    functionName: calibrate_elapsed_time
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 0
    functionsReached:
    - calibrate_get_time
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long calibrate_elapsed_time (struct calibrate_time_s *starttime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calibrate_get_time
      Src: /src/gnupg/agent/protect.c:179,1
    - Dst: hash_passphrase
      Src: /src/gnupg/agent/protect.c:180,1
    - Dst: BUG
      Src: /src/gnupg/agent/protect.c:183,1
    - Dst: calibrate_elapsed_time
      Src: /src/gnupg/agent/protect.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 185
    functionName: calibrate_s2k_count_one
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 0
    functionsReached:
    - calibrate_elapsed_time
    - hash_passphrase
    - BUG
    - calibrate_get_time
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long calibrate_s2k_count_one (unsigned long count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calibrate_s2k_count_one
      Src: /src/gnupg/agent/protect.c:198,1
    - Dst: log_info
      Src: /src/gnupg/agent/protect.c:200,1
    - Dst: calibrate_s2k_count_one
      Src: /src/gnupg/agent/protect.c:213,1
    - Dst: log_info
      Src: /src/gnupg/agent/protect.c:214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 218
    functionName: calibrate_s2k_count
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 0
    functionsReached:
    - calibrate_s2k_count_one
    - log_info
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long calibrate_s2k_count (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - milliseconds
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: set_s2k_calibration_time
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_s2k_calibration_time (unsigned int milliseconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calibrate_s2k_count
      Src: /src/gnupg/agent/protect.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 4
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: get_calibrated_s2k_count
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 1
    functionsReached:
    - calibrate_s2k_count
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long get_calibrated_s2k_count (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_calibrated_s2k_count
      Src: /src/gnupg/agent/protect.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 5
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: get_standard_s2k_count
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 2
    functionsReached:
    - get_calibrated_s2k_count
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long get_standard_s2k_count (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calibrate_s2k_count_one
      Src: /src/gnupg/agent/protect.c:264,1
    - Dst: get_standard_s2k_count
      Src: /src/gnupg/agent/protect.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 6
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: get_standard_s2k_time
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 1
    functionsReached:
    - calibrate_s2k_count_one
    - get_standard_s2k_count
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long get_standard_s2k_time (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_standard_s2k_count
      Src: /src/gnupg/agent/protect.c:278,1
    - Dst: S2K_DECODE_COUNT
      Src: /src/gnupg/agent/protect.c:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 270
    functionDepth: 6
    functionLinenumber: 270
    functionLinenumberEnd: 293
    functionName: get_standard_s2k_count_rfc4880
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 1
    functionsReached:
    - S2K_DECODE_COUNT
    - get_standard_s2k_count
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char get_standard_s2k_count_rfc4880 (void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:310,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:312,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:314,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:315,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:317,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:320,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:322,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:327,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:329,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:336,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:338,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:340,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:342,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:345,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:349,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/agent/protect.c:353,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - plainkey
    - sha1hash
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 357
    functionName: calculate_mic
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - smatch
    - snext
    - gcry_md_hash_buffer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t calculate_mic (const unsigned char *plainkey, unsigned
      char *sha1hash)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_open
      Src: /src/gnupg/agent/protect.c:405,1
    - Dst: gcry_malloc_secure
      Src: /src/gnupg/agent/protect.c:422,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/protect.c:425,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/protect.c:436,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/protect.c:438,1
    - Dst: gcry_create_nonce
      Src: /src/gnupg/agent/protect.c:441,1
    - Dst: gcry_malloc_secure
      Src: /src/gnupg/agent/protect.c:452,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/protect.c:454,1
    - Dst: hash_passphrase
      Src: /src/gnupg/agent/protect.c:457,1
    - Dst: get_standard_s2k_count
      Src: /src/gnupg/agent/protect.c:459,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/agent/protect.c:462,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:463,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/agent/protect.c:471,1
    - Dst: gcry_cipher_authenticate
      Src: /src/gnupg/agent/protect.c:476,1
    - Dst: gcry_cipher_authenticate
      Src: /src/gnupg/agent/protect.c:478,1
    - Dst: gcry_cipher_authenticate
      Src: /src/gnupg/agent/protect.c:480,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:489,1
    - Dst: log_assert
      Src: /src/gnupg/agent/protect.c:493,1
    - Dst: gcry_cipher_final
      Src: /src/gnupg/agent/protect.c:494,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/agent/protect.c:495,1
    - Dst: log_assert
      Src: /src/gnupg/agent/protect.c:498,1
    - Dst: gcry_cipher_gettag
      Src: /src/gnupg/agent/protect.c:499,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/protect.c:507,1
    - Dst: snprintf
      Src: /src/gnupg/agent/protect.c:520,1
    - Dst: get_standard_s2k_count
      Src: /src/gnupg/agent/protect.c:521,1
    - Dst: xtryasprintf
      Src: /src/gnupg/agent/protect.c:522,1
    - Dst: strlen
      Src: /src/gnupg/agent/protect.c:524,1
    - Dst: strlen
      Src: /src/gnupg/agent/protect.c:526,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/protect.c:531,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:532,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:533,1
    - Dst: strlen
      Src: /src/gnupg/agent/protect.c:538,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:540,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:541,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:542,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:543,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:544,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/protect.c:548,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:549,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:550,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 89
    argCount: 10
    argNames:
    - hashbegin
    - hashlen
    - protbegin
    - protlen
    - passphrase
    - timestamp_exp
    - timestamp_exp_len
    - result
    - resultlen
    - s2k_count
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - char*
    - char*
    - size_t
    - unsigned char**
    - size_t*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 379
    functionDepth: 6
    functionLinenumber: 379
    functionLinenumberEnd: 552
    functionName: do_encryption
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_authenticate
    - gcry_cipher_setiv
    - log_assert
    - strlen
    - gcry_cipher_encrypt
    - xtryasprintf
    - xtrymalloc
    - memcpy
    - gcry_cipher_final
    - get_standard_s2k_count
    - gcry_cipher_open
    - out_of_core
    - gcry_cipher_setkey
    - gpg_error_from_syserror
    - gcry_malloc_secure
    - gcry_cipher_gettag
    - hash_passphrase
    - xfree
    - snprintf
    - gcry_create_nonce
    - gcry_cipher_close
    linkageType: ''
    returnType: int
    signature: "int do_encryption (const unsigned char *hashbegin, size_t hashlen,\n
      \              const unsigned char *protbegin, size_t protlen,\n               const
      char *passphrase,\n               const char *timestamp_exp, size_t timestamp_exp_len,\n
      \              unsigned char **result, size_t *resultlen,\n\t       unsigned
      long s2k_count)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:579,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/agent/protect.c:580,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:586,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:589,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:591,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:592,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:593,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:595,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:599,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:601,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:604,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:607,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:623,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:626,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:628,1
    - Dst: memcmp
      Src: /src/gnupg/agent/protect.c:631,1
    - Dst: memcmp
      Src: /src/gnupg/agent/protect.c:642,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:651,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:654,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:656,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:659,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:666,1
    - Dst: log_assert
      Src: /src/gnupg/agent/protect.c:671,1
    - Dst: sskip
      Src: /src/gnupg/agent/protect.c:672,1
    - Dst: log_assert
      Src: /src/gnupg/agent/protect.c:675,1
    - Dst: do_encryption
      Src: /src/gnupg/agent/protect.c:678,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/protect.c:694,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/protect.c:697,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:698,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:701,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:703,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:705,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:708,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:711,1
    - Dst: log_assert
      Src: /src/gnupg/agent/protect.c:713,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:714,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 99
    argCount: 5
    argNames:
    - plainkey
    - passphrase
    - result
    - resultlen
    - s2k_count
    argTypes:
    - unsigned char*
    - char*
    - unsigned char**
    - size_t*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 558
    functionDepth: 7
    functionLinenumber: 558
    functionLinenumberEnd: 717
    functionName: agent_protect
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 7
    functionsReached:
    - smatch
    - xtrymalloc
    - log_assert
    - out_of_core
    - gpg_error
    - gnupg_get_isotime
    - memcmp
    - do_encryption
    - xfree
    - sskip
    - memcpy
    - snext
    linkageType: ''
    returnType: int
    signature: "int agent_protect (const unsigned char *plainkey, const char *passphrase,\n
      \              unsigned char **result, size_t *resultlen,\n\t       unsigned
      long s2k_count)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/gnupg/agent/protect.c:738,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:745,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:750,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/agent/protect.c:753,1
    - Dst: gcry_malloc_secure
      Src: /src/gnupg/agent/protect.c:760,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/protect.c:762,1
    - Dst: gcry_malloc_secure
      Src: /src/gnupg/agent/protect.c:769,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/protect.c:771,1
    - Dst: hash_passphrase
      Src: /src/gnupg/agent/protect.c:774,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/agent/protect.c:777,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:778,1
    - Dst: gcry_cipher_setiv
      Src: /src/gnupg/agent/protect.c:785,1
    - Dst: gcry_cipher_authenticate
      Src: /src/gnupg/agent/protect.c:793,1
    - Dst: gcry_cipher_authenticate
      Src: /src/gnupg/agent/protect.c:796,1
    - Dst: gcry_cipher_final
      Src: /src/gnupg/agent/protect.c:802,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/agent/protect.c:803,1
    - Dst: gcry_cipher_checktag
      Src: /src/gnupg/agent/protect.c:808,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/protect.c:809,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:812,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/agent/protect.c:818,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/protect.c:824,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:827,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:834,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:835,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/protect.c:839,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:842,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:843,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 15
    argNames:
    - aad_begin
    - aad_len
    - aadhole_begin
    - aadhole_len
    - protected
    - protectedlen
    - passphrase
    - s2ksalt
    - s2kcount
    - iv
    - ivlen
    - prot_cipher
    - prot_cipher_keylen
    - is_ocb
    - result
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - char*
    - unsigned char*
    - unsigned long
    - unsigned char*
    - size_t
    - int
    - int
    - int
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 847
    functionName: do_decryption
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_authenticate
    - gcry_cipher_setkey
    - gcry_cipher_checktag
    - gcry_cipher_setiv
    - gcry_malloc_secure
    - gpg_error
    - hash_passphrase
    - xfree
    - gpg_err_code
    - gcry_sexp_canon_len
    - out_of_core
    - gcry_cipher_final
    - gcry_cipher_close
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_decryption (const unsigned char *aad_begin, size_t
      aad_len,\n               const unsigned char *aadhole_begin, size_t aadhole_len,\n
      \              const unsigned char *protected, size_t protectedlen,\n               const
      char *passphrase,\n               const unsigned char *s2ksalt, unsigned long
      s2kcount,\n               const unsigned char *iv, size_t ivlen,\n               int
      prot_cipher, int prot_cipher_keylen, int is_ocb,\n               unsigned char
      **result)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:877,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/protect.c:882,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:884,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/protect.c:885,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:887,1
    - Dst: gcry_malloc_secure
      Src: /src/gnupg/agent/protect.c:889,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/protect.c:891,1
    - Dst: strcpy
      Src: /src/gnupg/agent/protect.c:894,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:896,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:903,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:904,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:911,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:915,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:934,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:935,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:937,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:938,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:940,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:943,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:950,1
    - Dst: log_assert
      Src: /src/gnupg/agent/protect.c:955,1
    - Dst: sskip
      Src: /src/gnupg/agent/protect.c:958,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:966,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:967,1
    - Dst: sskip
      Src: /src/gnupg/agent/protect.c:970,1
    - Dst: sskip
      Src: /src/gnupg/agent/protect.c:979,1
    - Dst: log_assert
      Src: /src/gnupg/agent/protect.c:982,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:988,1
    - Dst: wipememory
      Src: /src/gnupg/agent/protect.c:998,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:999,1
    - Dst: wipememory
      Src: /src/gnupg/agent/protect.c:1003,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:1004,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1005,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 121
    argCount: 8
    argNames:
    - protectedkey
    - replacepos
    - cleartext
    - sha1hash
    - result
    - resultlen
    - cutoff
    - cutlen
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char**
    - size_t*
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 1006
    functionName: merge_lists
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 0
    functionsReached:
    - smatch
    - log_assert
    - gcry_malloc_secure
    - wipememory
    - gpg_error
    - strcpy
    - gcry_sexp_canon_len
    - memcpy
    - xfree
    - sskip
    - out_of_core
    - snext
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t merge_lists (const unsigned char *protectedkey,\n             size_t
      replacepos,\n             const unsigned char *cleartext,\n             unsigned
      char *sha1hash,\n             unsigned char **result, size_t *resultlen,\n             size_t
      *cutoff, size_t *cutlen)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1053,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1055,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1057,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:1058,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1059,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1061,1
    - Dst: sskip
      Src: /src/gnupg/agent/protect.c:1066,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1072,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1074,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:1077,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1080,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1090,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1092,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:1093,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1095,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1097,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1099,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:1100,1
    - Dst: sskip
      Src: /src/gnupg/agent/protect.c:1106,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1122,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1125,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1127,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:1128,1
    - Dst: sskip
      Src: /src/gnupg/agent/protect.c:1132,1
    - Dst: sskip
      Src: /src/gnupg/agent/protect.c:1141,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1145,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1147,1
    - Dst: DIM
      Src: /src/gnupg/agent/protect.c:1153,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:1154,1
    - Dst: DIM
      Src: /src/gnupg/agent/protect.c:1161,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1162,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/agent/protect.c:1168,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/protect.c:1170,1
    - Dst: convert_from_openpgp_native
      Src: /src/gnupg/agent/protect.c:1174,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/protect.c:1175,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/protect.c:1179,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1185,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1187,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1189,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:1190,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1191,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1192,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1194,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1197,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1199,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1204,1
    - Dst: strtoul
      Src: /src/gnupg/agent/protect.c:1214,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1216,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1220,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1225,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1229,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1234,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1239,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1241,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1243,1
    - Dst: do_decryption
      Src: /src/gnupg/agent/protect.c:1246,1
    - Dst: merge_lists
      Src: /src/gnupg/agent/protect.c:1256,1
    - Dst: wipememory
      Src: /src/gnupg/agent/protect.c:1262,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:1263,1
    - Dst: calculate_mic
      Src: /src/gnupg/agent/protect.c:1269,1
    - Dst: memcmp
      Src: /src/gnupg/agent/protect.c:1270,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1271,1
    - Dst: wipememory
      Src: /src/gnupg/agent/protect.c:1274,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:1275,1
    - Dst: memmove
      Src: /src/gnupg/agent/protect.c:1284,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/protect.c:1289,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 174
    argCount: 6
    argNames:
    - ctrl
    - protectedkey
    - passphrase
    - protected_at
    - result
    - resultlen
    argTypes:
    - ctrl_t
    - unsigned char*
    - char*
    - gnupg_isotime_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1013
    functionDepth: 2
    functionLinenumber: 1013
    functionLinenumberEnd: 1291
    functionName: agent_unprotect
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 2
    functionsReached:
    - do_decryption
    - memmove
    - smatch
    - calculate_mic
    - merge_lists
    - DIM
    - gcry_sexp_sscan
    - wipememory
    - gpg_error
    - memcmp
    - xfree
    - gcry_sexp_canon_len
    - convert_from_openpgp_native
    - gcry_sexp_release
    - sskip
    - strtoul
    - memcpy
    - snext
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_unprotect (ctrl_t ctrl,\n                 const
      unsigned char *protectedkey, const char *passphrase,\n                 gnupg_isotime_t
      protected_at,\n                 unsigned char **result, size_t *resultlen)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1313,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:1316,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1325,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1336,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:1339,1
    - Dst: sskip
      Src: /src/gnupg/agent/protect.c:1343,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1347,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:1350,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1355,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1365,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:1368,1
    - Dst: sskip
      Src: /src/gnupg/agent/protect.c:1372,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1376,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:1379,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:1385,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:1387,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 1
    argNames:
    - privatekey
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1390
    functionName: agent_private_key_type
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 1
    functionsReached:
    - sskip
    - smatch
    - snext
    linkageType: ''
    returnType: int
    signature: int agent_private_key_type (const unsigned char *privatekey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1411,1
    - Dst: gcry_kdf_derive
      Src: /src/gnupg/agent/protect.c:1412,1
    - Dst: strlen
      Src: /src/gnupg/agent/protect.c:1412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 7
    argNames:
    - passphrase
    - hashalgo
    - s2kmode
    - s2ksalt
    - s2kcount
    - key
    - keylen
    argTypes:
    - char*
    - int
    - int
    - unsigned char*
    - unsigned long
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1418
    functionName: hash_passphrase
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 4
    functionsReached:
    - gpg_error
    - gcry_kdf_derive
    - strlen
    linkageType: ''
    returnType: int
    signature: "int hash_passphrase (const char *passphrase, int hashalgo,\n                 int
      s2kmode,\n                 const unsigned char *s2ksalt,\n                 unsigned
      long s2kcount,\n                 unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_passphrase
      Src: /src/gnupg/agent/protect.c:1428,1
    - Dst: S2K_DECODE_COUNT
      Src: /src/gnupg/agent/protect.c:1429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - passphrase
    - hashalgo
    - s2kmode
    - s2ksalt
    - s2kcount
    - key
    - keylen
    argTypes:
    - char*
    - int
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1421
    functionDepth: 2
    functionLinenumber: 1421
    functionLinenumberEnd: 1431
    functionName: s2k_hash_passphrase
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 1
    functionsReached:
    - S2K_DECODE_COUNT
    - hash_passphrase
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t s2k_hash_passphrase (const char *passphrase, int hashalgo,\n
      \                    int s2kmode,\n                     const unsigned char
      *s2ksalt,\n                     unsigned int s2kcount,\n                     unsigned
      char *key, size_t keylen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/protect.c:1449,1
    - Dst: strlen
      Src: /src/gnupg/agent/protect.c:1450,1
    - Dst: stpcpy
      Src: /src/gnupg/agent/protect.c:1454,1
    - Dst: smklen
      Src: /src/gnupg/agent/protect.c:1454,1
    - Dst: xtoi_2
      Src: /src/gnupg/agent/protect.c:1456,1
    - Dst: stpcpy
      Src: /src/gnupg/agent/protect.c:1457,1
    - Dst: smklen
      Src: /src/gnupg/agent/protect.c:1457,1
    - Dst: strlen
      Src: /src/gnupg/agent/protect.c:1457,1
    - Dst: stpcpy
      Src: /src/gnupg/agent/protect.c:1458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - serialno
    - idstring
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1462
    functionName: make_shadow_info
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 2
    functionsReached:
    - strlen
    - stpcpy
    - smklen
    - xtrymalloc
    - xtoi_2
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      make_shadow_info (const char *serialno, const char *idstring)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/protect.c:1482,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/protect.c:1483,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1486,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1489,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1492,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1494,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:1495,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1496,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1498,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1501,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1503,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1509,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1512,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1514,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1516,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1518,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1521,1
    - Dst: log_assert
      Src: /src/gnupg/agent/protect.c:1528,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/protect.c:1533,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/protect.c:1536,1
    - Dst: stpcpy
      Src: /src/gnupg/agent/protect.c:1537,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:1539,1
    - Dst: sprintf
      Src: /src/gnupg/agent/protect.c:1541,1
    - Dst: strlen
      Src: /src/gnupg/agent/protect.c:1541,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:1542,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:1545,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 4
    argNames:
    - pubkey
    - shadow_info
    - type
    - result
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1549
    functionName: agent_shadow_key_type
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 1
    functionsReached:
    - smatch
    - log_assert
    - strlen
    - out_of_core
    - sprintf
    - gpg_error
    - gcry_sexp_canon_len
    - memcpy
    - stpcpy
    - xtrymalloc
    - snext
    linkageType: ''
    returnType: int
    signature: "int agent_shadow_key_type (const unsigned char *pubkey,\n                       const
      unsigned char *shadow_info,\n                       const unsigned char *type,\n
      \                      unsigned char **result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: agent_shadow_key_type
      Src: /src/gnupg/agent/protect.c:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pubkey
    - shadow_info
    - result
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1551
    functionDepth: 2
    functionLinenumber: 1551
    functionLinenumberEnd: 1557
    functionName: agent_shadow_key
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 2
    functionsReached:
    - agent_shadow_key_type
    linkageType: ''
    returnType: int
    signature: "int agent_shadow_key (const unsigned char *pubkey,\n                  const
      unsigned char *shadow_info,\n                  unsigned char **result)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1573,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1576,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1578,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:1579,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1580,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1582,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1585,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1587,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1593,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1595,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1598,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1600,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:1601,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1604,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1606,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1609,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1614,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1616,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:1619,1
    - Dst: smatch
      Src: /src/gnupg/agent/protect.c:1619,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1622,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1627,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/protect.c:1633,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/protect.c:1635,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:1636,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 3
    argNames:
    - shadowkey
    - shadow_info
    - shadow_type
    argTypes:
    - unsigned char*
    - unsigned char**
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1642
    functionName: agent_get_shadow_info_type
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 0
    functionsReached:
    - smatch
    - gpg_error_from_syserror
    - gpg_error
    - memcpy
    - xtrymalloc
    - snext
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_get_shadow_info_type (const unsigned char *shadowkey,\n
      \                           unsigned char const **shadow_info,\n                            unsigned
      char **shadow_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: agent_get_shadow_info_type
      Src: /src/gnupg/agent/protect.c:1649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - shadowkey
    - shadow_info
    argTypes:
    - unsigned char*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1645
    functionDepth: 2
    functionLinenumber: 1645
    functionLinenumberEnd: 1650
    functionName: agent_get_shadow_info
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 2
    functionsReached:
    - agent_get_shadow_info_type
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_get_shadow_info (const unsigned char *shadowkey,\n
      \                      unsigned char const **shadow_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_canon_sexp
      Src: /src/gnupg/agent/protect.c:1661,1
    - Dst: agent_get_shadow_info_type
      Src: /src/gnupg/agent/protect.c:1665,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:1666,1
    - Dst: strcmp
      Src: /src/gnupg/agent/protect.c:1670,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:1671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - s_skey
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1653
    functionDepth: 2
    functionLinenumber: 1653
    functionLinenumberEnd: 1673
    functionName: agent_is_tpm2_key
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 2
    functionsReached:
    - strcmp
    - make_canon_sexp
    - xfree
    - agent_get_shadow_info_type
    linkageType: ''
    returnType: int
    signature: int agent_is_tpm2_key (gcry_sexp_t s_skey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: agent_get_shadow_info_type
      Src: /src/gnupg/agent/protect.c:1680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - shadowkey
    - shadow_type
    argTypes:
    - unsigned char*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1676
    functionDepth: 2
    functionLinenumber: 1676
    functionLinenumberEnd: 1681
    functionName: agent_get_shadow_type
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 0
    functionsReached:
    - agent_get_shadow_info_type
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_get_shadow_type (const unsigned char *shadowkey,\n
      \                      unsigned char **shadow_type)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1707,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1709,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1711,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/protect.c:1715,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/protect.c:1717,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1721,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:1726,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/protect.c:1729,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/protect.c:1734,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:1739,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/protect.c:1742,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:1744,1
    - Dst: snext
      Src: /src/gnupg/agent/protect.c:1749,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/protect.c:1755,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:1760,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:1765,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/protect.c:1768,1
    - Dst: memcpy
      Src: /src/gnupg/agent/protect.c:1770,1
    - Dst: strtol
      Src: /src/gnupg/agent/protect.c:1773,1
    - Dst: xfree
      Src: /src/gnupg/agent/protect.c:1774,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 4
    argNames:
    - shadow_info
    - r_hexsn
    - r_idstr
    - r_pinlen
    argTypes:
    - unsigned char*
    - char**
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1691
    functionDepth: 2
    functionLinenumber: 1691
    functionLinenumberEnd: 1778
    functionName: parse_shadow_info
    functionSourceFile: /src/gnupg/agent/protect.c
    functionUses: 1
    functionsReached:
    - strtol
    - gpg_error_from_syserror
    - bin2hex
    - gpg_error
    - xfree
    - memcpy
    - xtrymalloc
    - snext
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_shadow_info (const unsigned char *shadow_info,\n
      \                  char **r_hexsn, char **r_idstr, int *r_pinlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: daemon_start
      Src: /src/gnupg/agent/call-tpm2d.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 6
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: start_tpm2d
    functionSourceFile: /src/gnupg/agent/call-tpm2d.c
    functionUses: 0
    functionsReached:
    - daemon_start
    linkageType: ''
    returnType: int
    signature: int start_tpm2d (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: daemon_unlock
      Src: /src/gnupg/agent/call-tpm2d.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctrl
    - err
    argTypes:
    - ctrl_t
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: unlock_tpm2d
    functionSourceFile: /src/gnupg/agent/call-tpm2d.c
    functionUses: 0
    functionsReached:
    - daemon_unlock
    linkageType: ''
    returnType: int
    signature: int unlock_tpm2d (ctrl_t ctrl, gpg_error_t err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: daemon_type_ctx
      Src: /src/gnupg/agent/call-tpm2d.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: daemon_ctx
    functionSourceFile: /src/gnupg/agent/call-tpm2d.c
    functionUses: 0
    functionsReached:
    - daemon_type_ctx
    linkageType: ''
    returnType: assuan_context_t
    signature: assuan_context_t daemon_ctx (ctrl_t ctrl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-tpm2d.c:55,1
    - Dst: struct inq_parm_s*::getpin_cb
      Src: /src/gnupg/agent/call-tpm2d.c:57,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/call-tpm2d.c:59,1
    - Dst: strlen
      Src: /src/gnupg/agent/call-tpm2d.c:59,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-tpm2d.c:64,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-tpm2d.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 69
    functionName: inq_needpin
    functionSourceFile: /src/gnupg/agent/call-tpm2d.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - log_error
    - strlen
    - struct inq_parm_s*::getpin_cb
    - gpg_error
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t inq_needpin (void *opaque, const char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-tpm2d.c:76,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/call-tpm2d.c:77,1
    - Dst: inq_needpin
      Src: /src/gnupg/agent/call-tpm2d.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: inq_keydata
    functionSourceFile: /src/gnupg/agent/call-tpm2d.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - inq_needpin
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t inq_keydata (void *opaque, const char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-tpm2d.c:87,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/call-tpm2d.c:88,1
    - Dst: inq_keydata
      Src: /src/gnupg/agent/call-tpm2d.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: inq_extra
    functionSourceFile: /src/gnupg/agent/call-tpm2d.c
    functionUses: 0
    functionsReached:
    - inq_keydata
    - assuan_send_data
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t inq_extra (void *opaque, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_tpm2d
      Src: /src/gnupg/agent/call-tpm2d.c:105,1
    - Dst: init_membuf
      Src: /src/gnupg/agent/call-tpm2d.c:110,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-tpm2d.c:112,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/call-tpm2d.c:117,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/call-tpm2d.c:118,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/call-tpm2d.c:119,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-tpm2d.c:122,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-tpm2d.c:124,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-tpm2d.c:124,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-tpm2d.c:128,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-tpm2d.c:129,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-tpm2d.c:132,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/call-tpm2d.c:132,1
    - Dst: unlock_tpm2d
      Src: /src/gnupg/agent/call-tpm2d.c:133,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/call-tpm2d.c:136,1
    - Dst: unlock_tpm2d
      Src: /src/gnupg/agent/call-tpm2d.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - ctrl
    - shadow_info
    - s_skey
    argTypes:
    - ctrl_t
    - unsigned char**
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 93
    functionDepth: 7
    functionLinenumber: 93
    functionLinenumberEnd: 139
    functionName: agent_tpm2d_writekey
    functionSourceFile: /src/gnupg/agent/call-tpm2d.c
    functionUses: 1
    functionsReached:
    - start_tpm2d
    - get_membuf
    - unlock_tpm2d
    - init_membuf
    - snprintf
    - assuan_transact
    - xfree
    - gcry_sexp_sprint
    - daemon_ctx
    - xtrymalloc
    linkageType: ''
    returnType: int
    signature: "int agent_tpm2d_writekey (ctrl_t ctrl, unsigned char **shadow_info,\n\t\t
      \     gcry_sexp_t s_skey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bin2hex
      Src: /src/gnupg/agent/call-tpm2d.c:146,1
    - Dst: agent_get_cache
      Src: /src/gnupg/agent/call-tpm2d.c:147,1
    - Dst: agent_get_passphrase
      Src: /src/gnupg/agent/call-tpm2d.c:150,1
    - Dst: _
      Src: /src/gnupg/agent/call-tpm2d.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - prompt
    - passphrase
    argTypes:
    - ctrl_t
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 155
    functionName: pin_cb
    functionSourceFile: /src/gnupg/agent/call-tpm2d.c
    functionUses: 3
    functionsReached:
    - bin2hex
    - _
    - agent_get_passphrase
    - agent_get_cache
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t pin_cb (ctrl_t ctrl, const char *prompt, char **passphrase)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_tpm2d
      Src: /src/gnupg/agent/call-tpm2d.c:168,1
    - Dst: init_membuf
      Src: /src/gnupg/agent/call-tpm2d.c:172,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-tpm2d.c:174,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/call-tpm2d.c:178,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-tpm2d.c:183,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-tpm2d.c:185,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-tpm2d.c:185,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/call-tpm2d.c:191,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/call-tpm2d.c:192,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-tpm2d.c:195,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-tpm2d.c:200,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/call-tpm2d.c:200,1
    - Dst: unlock_tpm2d
      Src: /src/gnupg/agent/call-tpm2d.c:201,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/call-tpm2d.c:204,1
    - Dst: unlock_tpm2d
      Src: /src/gnupg/agent/call-tpm2d.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 6
    argNames:
    - ctrl
    - digest
    - digestlen
    - shadow_info
    - r_sig
    - r_siglen
    argTypes:
    - ctrl_t
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 157
    functionDepth: 7
    functionLinenumber: 157
    functionLinenumberEnd: 207
    functionName: agent_tpm2d_pksign
    functionSourceFile: /src/gnupg/agent/call-tpm2d.c
    functionUses: 1
    functionsReached:
    - start_tpm2d
    - agent_put_cache
    - get_membuf
    - init_membuf
    - unlock_tpm2d
    - snprintf
    - bin2hex
    - assuan_transact
    - xfree
    - gcry_sexp_canon_len
    - daemon_ctx
    linkageType: ''
    returnType: int
    signature: "int agent_tpm2d_pksign (ctrl_t ctrl, const unsigned char *digest,\n\t\t
      \   size_t digestlen, const unsigned char *shadow_info,\n\t\t    unsigned char
      **r_sig, size_t *r_siglen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_tpm2d
      Src: /src/gnupg/agent/call-tpm2d.c:220,1
    - Dst: init_membuf
      Src: /src/gnupg/agent/call-tpm2d.c:224,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-tpm2d.c:226,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/call-tpm2d.c:230,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-tpm2d.c:235,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-tpm2d.c:237,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-tpm2d.c:237,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/call-tpm2d.c:243,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/call-tpm2d.c:244,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-tpm2d.c:247,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-tpm2d.c:252,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/call-tpm2d.c:252,1
    - Dst: unlock_tpm2d
      Src: /src/gnupg/agent/call-tpm2d.c:253,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/call-tpm2d.c:256,1
    - Dst: unlock_tpm2d
      Src: /src/gnupg/agent/call-tpm2d.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 6
    argNames:
    - ctrl
    - cipher
    - cipherlen
    - shadow_info
    - r_buf
    - r_len
    argTypes:
    - ctrl_t
    - unsigned char*
    - size_t
    - unsigned char*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 209
    functionDepth: 7
    functionLinenumber: 209
    functionLinenumberEnd: 259
    functionName: agent_tpm2d_pkdecrypt
    functionSourceFile: /src/gnupg/agent/call-tpm2d.c
    functionUses: 2
    functionsReached:
    - start_tpm2d
    - agent_put_cache
    - get_membuf
    - init_membuf
    - unlock_tpm2d
    - snprintf
    - bin2hex
    - assuan_transact
    - xfree
    - gcry_sexp_canon_len
    - daemon_ctx
    linkageType: ''
    returnType: int
    signature: "int agent_tpm2d_pkdecrypt (ctrl_t ctrl, const unsigned char *cipher,\n\t\t
      \      size_t cipherlen, const unsigned char *shadow_info,\n\t\t       char
      **r_buf, size_t *r_len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/agent/w32main.c:54,1
    - Dst: strlen
      Src: /src/gnupg/agent/w32main.c:54,1
    - Dst: strcpy
      Src: /src/gnupg/agent/w32main.c:57,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/w32main.c:95,1
    - Dst: xfree
      Src: /src/gnupg/agent/w32main.c:98,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 165
    functionName: build_argv
    functionSourceFile: /src/gnupg/agent/w32main.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    - malloc
    - xfree
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char **

      build_argv (char *cmdline_arg, int reserved)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/agent/w32main.c:177,1
    - Dst: DefWindowProc
      Src: /src/gnupg/agent/w32main.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - hwnd
    - msg
    - wparam
    - lparam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 183
    functionName: wndw_proc
    functionSourceFile: /src/gnupg/agent/w32main.c
    functionUses: 0
    functionsReached:
    - fprintf
    - DefWindowProc
    linkageType: ''
    returnType: LRESULT
    signature: LRESULT wndw_proc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: w32_poll_events
    functionSourceFile: /src/gnupg/agent/w32main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void w32_poll_events (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RegisterClass
      Src: /src/gnupg/agent/w32main.c:213,1
    - Dst: log_error
      Src: /src/gnupg/agent/w32main.c:215,1
    - Dst: ExitThread
      Src: /src/gnupg/agent/w32main.c:216,1
    - Dst: CreateWindow
      Src: /src/gnupg/agent/w32main.c:218,1
    - Dst: log_error
      Src: /src/gnupg/agent/w32main.c:223,1
    - Dst: ExitThread
      Src: /src/gnupg/agent/w32main.c:224,1
    - Dst: UpdateWindow
      Src: /src/gnupg/agent/w32main.c:227,1
    - Dst: memset
      Src: /src/gnupg/agent/w32main.c:229,1
    - Dst: LoadIcon
      Src: /src/gnupg/agent/w32main.c:235,1
    - Dst: MAKEINTRESOURCE
      Src: /src/gnupg/agent/w32main.c:235,1
    - Dst: mem2str
      Src: /src/gnupg/agent/w32main.c:236,1
    - Dst: Shell_NotifyIcon
      Src: /src/gnupg/agent/w32main.c:238,1
    - Dst: DestroyIcon
      Src: /src/gnupg/agent/w32main.c:239,1
    - Dst: fprintf
      Src: /src/gnupg/agent/w32main.c:241,1
    - Dst: GetMessage
      Src: /src/gnupg/agent/w32main.c:242,1
    - Dst: log_error
      Src: /src/gnupg/agent/w32main.c:246,1
    - Dst: w32_strerror
      Src: /src/gnupg/agent/w32main.c:246,1
    - Dst: TranslateMessage
      Src: /src/gnupg/agent/w32main.c:249,1
    - Dst: DispatchMessage
      Src: /src/gnupg/agent/w32main.c:250,1
    - Dst: fprintf
      Src: /src/gnupg/agent/w32main.c:252,1
    - Dst: ExitThread
      Src: /src/gnupg/agent/w32main.c:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 255
    functionName: handle_taskbar
    functionSourceFile: /src/gnupg/agent/w32main.c
    functionUses: 0
    functionsReached:
    - DispatchMessage
    - Shell_NotifyIcon
    - log_error
    - MAKEINTRESOURCE
    - UpdateWindow
    - fprintf
    - RegisterClass
    - LoadIcon
    - memset
    - w32_strerror
    - DestroyIcon
    - TranslateMessage
    - CreateWindow
    - mem2str
    - ExitThread
    - GetMessage
    linkageType: ''
    returnType: void
    signature: 'void *

      handle_taskbar (void *ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/agent/w32main.c:270,1
    - Dst: fprintf
      Src: /src/gnupg/agent/w32main.c:274,1
    - Dst: CreateThread
      Src: /src/gnupg/agent/w32main.c:275,1
    - Dst: fprintf
      Src: /src/gnupg/agent/w32main.c:278,1
    - Dst: CloseHandle
      Src: /src/gnupg/agent/w32main.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 283
    functionName: w32_setup_taskbar
    functionSourceFile: /src/gnupg/agent/w32main.c
    functionUses: 0
    functionsReached:
    - fprintf
    - CreateThread
    - memset
    - CloseHandle
    linkageType: ''
    returnType: int
    signature: int w32_setup_taskbar (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: build_argv
      Src: /src/gnupg/agent/w32main.c:297,1
    - Dst: GetCommandLineA
      Src: /src/gnupg/agent/w32main.c:297,1
    - Dst: w32_main
      Src: /src/gnupg/agent/w32main.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - hinst
    - hprev
    - cmdline
    - showcmd
    argTypes:
    - HINSTANCE
    - HINSTANCE
    - LPSTR
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 306
    functionName: WinMain
    functionSourceFile: /src/gnupg/agent/w32main.c
    functionUses: 0
    functionsReached:
    - w32_main
    - GetCommandLineA
    - build_argv
    linkageType: ''
    returnType: int
    signature: int WinMain (HINSTANCE hinst, HINSTANCE hprev, LPSTR cmdline, int showcmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bin2hex
      Src: /src/gnupg/agent/findkey.c:68,1
    - Dst: strcpy
      Src: /src/gnupg/agent/findkey.c:69,1
    - Dst: make_filename_try
      Src: /src/gnupg/agent/findkey.c:71,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/agent/findkey.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - grip
    - for_new
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 5
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: fname_from_keygrip
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 0
    functionsReached:
    - bin2hex
    - gnupg_homedir
    - strcpy
    - make_filename_try
    linkageType: ''
    returnType: char
    signature: 'char *

      fname_from_keygrip (const unsigned char *grip, int for_new)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_fclose_snatch
      Src: /src/gnupg/agent/findkey.c:85,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:87,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/findkey.c:88,1
    - Dst: wipememory
      Src: /src/gnupg/agent/findkey.c:92,1
    - Dst: gpgrt_free
      Src: /src/gnupg/agent/findkey.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - fp
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 95
    functionName: wipe_and_fclose
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 0
    functionsReached:
    - es_fclose_snatch
    - log_error
    - es_fclose
    - wipememory
    - gpgrt_free
    linkageType: ''
    returnType: void
    signature: void wipe_and_fclose (estream_t fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/findkey.c:114,1
    - Dst: memcpy
      Src: /src/gnupg/agent/findkey.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 127
    functionName: linefeed_to_percent0A
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      linefeed_to_percent0A (const char *string)'
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/findkey.c:164,1
    - Dst: fname_from_keygrip
      Src: /src/gnupg/agent/findkey.c:165,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:167,1
    - Dst: read_key_file
      Src: /src/gnupg/agent/findkey.c:169,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/findkey.c:172,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:176,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:176,1
    - Dst: nvc_modified
      Src: /src/gnupg/agent/findkey.c:181,1
    - Dst: nvc_new_private_key
      Src: /src/gnupg/agent/findkey.c:187,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:190,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/findkey.c:197,1
    - Dst: is_shadowed_key
      Src: /src/gnupg/agent/findkey.c:197,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/findkey.c:201,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/agent/findkey.c:202,1
    - Dst: nvc_set_private_key
      Src: /src/gnupg/agent/findkey.c:205,1
    - Dst: nvc_get_string
      Src: /src/gnupg/agent/findkey.c:214,1
    - Dst: strcmp
      Src: /src/gnupg/agent/findkey.c:215,1
    - Dst: nvc_modified
      Src: /src/gnupg/agent/findkey.c:217,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:219,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/findkey.c:223,1
    - Dst: is_shadowed_key
      Src: /src/gnupg/agent/findkey.c:223,1
    - Dst: log_info
      Src: /src/gnupg/agent/findkey.c:225,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:234,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/findkey.c:235,1
    - Dst: percent_plus_escape
      Src: /src/gnupg/agent/findkey.c:248,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:251,1
    - Dst: strconcat
      Src: /src/gnupg/agent/findkey.c:257,1
    - Dst: strconcat
      Src: /src/gnupg/agent/findkey.c:259,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:262,1
    - Dst: strlen
      Src: /src/gnupg/agent/findkey.c:266,1
    - Dst: nvc_lookup
      Src: /src/gnupg/agent/findkey.c:267,1
    - Dst: nve_next_value
      Src: /src/gnupg/agent/findkey.c:269,1
    - Dst: nve_value
      Src: /src/gnupg/agent/findkey.c:270,1
    - Dst: strncmp
      Src: /src/gnupg/agent/findkey.c:270,1
    - Dst: nvc_add
      Src: /src/gnupg/agent/findkey.c:277,1
    - Dst: strtokenize
      Src: /src/gnupg/agent/findkey.c:285,1
    - Dst: strcmp
      Src: /src/gnupg/agent/findkey.c:288,1
    - Dst: nve_set
      Src: /src/gnupg/agent/findkey.c:292,1
    - Dst: nvc_lookup
      Src: /src/gnupg/agent/findkey.c:303,1
    - Dst: epoch2isotime
      Src: /src/gnupg/agent/findkey.c:307,1
    - Dst: nvc_add
      Src: /src/gnupg/agent/findkey.c:308,1
    - Dst: nvc_add
      Src: /src/gnupg/agent/findkey.c:316,1
    - Dst: nvc_modified
      Src: /src/gnupg/agent/findkey.c:323,1
    - Dst: memcmp
      Src: /src/gnupg/agent/findkey.c:336,1
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/findkey.c:340,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:343,1
    - Dst: memcpy
      Src: /src/gnupg/agent/findkey.c:346,1
    - Dst: es_fopenmem
      Src: /src/gnupg/agent/findkey.c:351,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:354,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:355,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:355,1
    - Dst: nvc_write
      Src: /src/gnupg/agent/findkey.c:359,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:362,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:362,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/agent/findkey.c:366,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:368,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:369,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:370,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/findkey.c:373,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:378,1
    - Dst: fname_from_keygrip
      Src: /src/gnupg/agent/findkey.c:385,1
    - Dst: es_fopen
      Src: /src/gnupg/agent/findkey.c:386,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:389,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:390,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:390,1
    - Dst: nvc_write
      Src: /src/gnupg/agent/findkey.c:394,1
    - Dst: es_fflush
      Src: /src/gnupg/agent/findkey.c:395,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:396,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:399,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:399,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/findkey.c:404,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:406,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:407,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:407,1
    - Dst: gnupg_rename_file
      Src: /src/gnupg/agent/findkey.c:414,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:417,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:418,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:418,1
    - Dst: bump_key_eventcounter
      Src: /src/gnupg/agent/findkey.c:424,1
    - Dst: gnupg_unblock_all_signals
      Src: /src/gnupg/agent/findkey.c:428,1
    - Dst: wipe_and_fclose
      Src: /src/gnupg/agent/findkey.c:430,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/findkey.c:432,1
    - Dst: gnupg_remove
      Src: /src/gnupg/agent/findkey.c:434,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:435,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:436,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:437,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:438,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:439,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:440,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:441,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/findkey.c:442,1
    - Dst: nvc_release
      Src: /src/gnupg/agent/findkey.c:443,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 200
    argCount: 10
    argNames:
    - ctrl
    - grip
    - buffer
    - length
    - force
    - serialno
    - keyref
    - dispserialno
    - timestamp
    - linkattr
    argTypes:
    - ctrl_t
    - unsigned char*
    - void*
    - size_t
    - int
    - char*
    - char*
    - char*
    - time_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 137
    functionDepth: 7
    functionLinenumber: 137
    functionLinenumberEnd: 445
    functionName: agent_write_private_key
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 5
    functionsReached:
    - fname_from_keygrip
    - nve_set
    - percent_plus_escape
    - strlen
    - gcry_sexp_sscan
    - wipe_and_fclose
    - nvc_add
    - nve_next_value
    - nve_value
    - es_fopen
    - nvc_modified
    - es_fflush
    - memcpy
    - nvc_new_private_key
    - es_fopenmem
    - log_error
    - log_info
    - gcry_sexp_release
    - nvc_release
    - is_shadowed_key
    - strncmp
    - gnupg_unblock_all_signals
    - gpg_error_from_syserror
    - read_key_file
    - strcmp
    - xtrystrdup
    - gpg_error
    - gpg_strerror
    - xfree
    - xtrycalloc
    - gnupg_remove
    - es_fclose_snatch
    - bump_key_eventcounter
    - es_fclose
    - gnupg_rename_file
    - nvc_set_private_key
    - strconcat
    - strtokenize
    - memcmp
    - gpg_err_code
    - nvc_lookup
    - epoch2isotime
    - nvc_write
    - nvc_get_string
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_write_private_key (ctrl_t ctrl,\n                         const
      unsigned char *grip,\n                         const void *buffer, size_t length,
      int force,\n                         const char *serialno, const char *keyref,\n
      \                        const char *dispserialno,\n                         time_t
      timestamp, const char *linkattr)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/agent/findkey.c:465,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/findkey.c:469,1
    - Dst: es_fopenmem
      Src: /src/gnupg/agent/findkey.c:473,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:476,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:477,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:477,1
    - Dst: nvc_write
      Src: /src/gnupg/agent/findkey.c:481,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:484,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:484,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/agent/findkey.c:488,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:490,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:491,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:492,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/findkey.c:495,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:502,1
    - Dst: fname_from_keygrip
      Src: /src/gnupg/agent/findkey.c:509,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:512,1
    - Dst: fname_from_keygrip
      Src: /src/gnupg/agent/findkey.c:515,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:518,1
    - Dst: es_fopen
      Src: /src/gnupg/agent/findkey.c:522,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:525,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:526,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:526,1
    - Dst: nvc_write
      Src: /src/gnupg/agent/findkey.c:530,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:533,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:533,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/findkey.c:538,1
    - Dst: gnupg_rename_file
      Src: /src/gnupg/agent/findkey.c:541,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:544,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:545,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:545,1
    - Dst: gnupg_unblock_all_signals
      Src: /src/gnupg/agent/findkey.c:553,1
    - Dst: wipe_and_fclose
      Src: /src/gnupg/agent/findkey.c:555,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/findkey.c:557,1
    - Dst: gnupg_remove
      Src: /src/gnupg/agent/findkey.c:559,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:560,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:561,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 86
    argCount: 3
    argNames:
    - ctrl
    - grip
    - pk
    argTypes:
    - ctrl_t
    - unsigned char*
    - nvc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 448
    functionDepth: 7
    functionLinenumber: 448
    functionLinenumberEnd: 563
    functionName: agent_update_private_key
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 1
    functionsReached:
    - es_fopenmem
    - es_fclose_snatch
    - fname_from_keygrip
    - gnupg_unblock_all_signals
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - gnupg_rename_file
    - wipe_and_fclose
    - gpg_error
    - memcmp
    - gpg_strerror
    - xfree
    - es_fopen
    - nvc_write
    - gnupg_remove
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t agent_update_private_key (ctrl_t ctrl, const unsigned char
      *grip, nvc_t pk)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/agent/findkey.c:578,1
    - Dst: agent_unprotect
      Src: /src/gnupg/agent/findkey.c:581,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/findkey.c:591,1
    - Dst: L_
      Src: /src/gnupg/agent/findkey.c:591,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:594,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/agent/findkey.c:598,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/agent/findkey.c:599,1
    - Dst: add_days_to_isotime
      Src: /src/gnupg/agent/findkey.c:600,1
    - Dst: strcmp
      Src: /src/gnupg/agent/findkey.c:603,1
    - Dst: xtryasprintf
      Src: /src/gnupg/agent/findkey.c:606,1
    - Dst: L_
      Src: /src/gnupg/agent/findkey.c:607,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:611,1
    - Dst: agent_get_confirmation
      Src: /src/gnupg/agent/findkey.c:620,1
    - Dst: L_
      Src: /src/gnupg/agent/findkey.c:621,1
    - Dst: agent_get_confirmation
      Src: /src/gnupg/agent/findkey.c:627,1
    - Dst: L_
      Src: /src/gnupg/agent/findkey.c:628,1
    - Dst: L_
      Src: /src/gnupg/agent/findkey.c:629,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/findkey.c:632,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/findkey.c:633,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:636,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 1
    argNames:
    - pi
    argTypes:
    - struct pin_entry_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 568
    functionDepth: 5
    functionLinenumber: 568
    functionLinenumberEnd: 640
    functionName: try_unprotect_cb
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 0
    functionsReached:
    - add_days_to_isotime
    - gpg_error_from_syserror
    - log_assert
    - L_
    - agent_unprotect
    - strcmp
    - xtrystrdup
    - gnupg_get_isotime
    - xtryasprintf
    - agent_get_confirmation
    - gpg_err_code
    - xfree
    - gnupg_copy_time
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t try_unprotect_cb (struct pin_entry_info_s *pi)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 665
    functionName: has_comment_expando
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int has_comment_expando (const char *string)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/agent/findkey.c:699,1
    - Dst: strlen
      Src: /src/gnupg/agent/findkey.c:700,1
    - Dst: memcpy
      Src: /src/gnupg/agent/findkey.c:727,1
    - Dst: memcpy
      Src: /src/gnupg/agent/findkey.c:740,1
    - Dst: ssh_get_fingerprint_string
      Src: /src/gnupg/agent/findkey.c:750,1
    - Dst: stpcpy
      Src: /src/gnupg/agent/findkey.c:755,1
    - Dst: strlen
      Src: /src/gnupg/agent/findkey.c:757,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/findkey.c:785,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:788,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:789,1
    - Dst: log_assert
      Src: /src/gnupg/agent/findkey.c:795,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:796,1
    - Dst: strlen
      Src: /src/gnupg/agent/findkey.c:803,1
    - Dst: strcmp
      Src: /src/gnupg/agent/findkey.c:804,1
    - Dst: spacep
      Src: /src/gnupg/agent/findkey.c:808,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 82
    argCount: 4
    argNames:
    - in
    - comment
    - key
    - result
    argTypes:
    - char*
    - char*
    - gcry_sexp_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 681
    functionDepth: 4
    functionLinenumber: 681
    functionLinenumberEnd: 813
    functionName: agent_modify_description
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 0
    functionsReached:
    - ssh_get_fingerprint_string
    - xtrymalloc
    - strlen
    - gpg_error_from_syserror
    - log_assert
    - spacep
    - strcmp
    - xfree
    - stpcpy
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_modify_description (const char *in, const char *comment,\n
      \                         const gcry_sexp_t key, char **result)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: bin2hex
      Src: /src/gnupg/agent/findkey.c:842,1
    - Dst: agent_get_cache
      Src: /src/gnupg/agent/findkey.c:849,1
    - Dst: agent_unprotect
      Src: /src/gnupg/agent/findkey.c:852,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:858,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:859,1
    - Dst: log_info
      Src: /src/gnupg/agent/findkey.c:864,1
    - Dst: _
      Src: /src/gnupg/agent/findkey.c:864,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:864,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:865,1
    - Dst: agent_get_cache
      Src: /src/gnupg/agent/findkey.c:876,1
    - Dst: agent_unprotect
      Src: /src/gnupg/agent/findkey.c:879,1
    - Dst: agent_store_cache_hit
      Src: /src/gnupg/agent/findkey.c:883,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:887,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:888,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:892,1
    - Dst: agent_get_cache
      Src: /src/gnupg/agent/findkey.c:914,1
    - Dst: agent_unprotect
      Src: /src/gnupg/agent/findkey.c:917,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:924,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:925,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:929,1
    - Dst: pinentry_active_p
      Src: /src/gnupg/agent/findkey.c:943,1
    - Dst: pinentry_active_p
      Src: /src/gnupg/agent/findkey.c:946,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/agent/findkey.c:950,1
    - Dst: gcry_calloc_secure
      Src: /src/gnupg/agent/findkey.c:957,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:959,1
    - Dst: agent_askpin
      Src: /src/gnupg/agent/findkey.c:971,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:976,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:977,1
    - Dst: agent_clear_passphrase
      Src: /src/gnupg/agent/findkey.c:979,1
    - Dst: log_assert
      Src: /src/gnupg/agent/findkey.c:984,1
    - Dst: log_assert
      Src: /src/gnupg/agent/findkey.c:992,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/findkey.c:993,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/agent/findkey.c:994,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:998,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:999,1
    - Dst: wipememory
      Src: /src/gnupg/agent/findkey.c:1000,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1001,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1002,1
    - Dst: agent_protect_and_store
      Src: /src/gnupg/agent/findkey.c:1005,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/findkey.c:1006,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:1009,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:1010,1
    - Dst: wipememory
      Src: /src/gnupg/agent/findkey.c:1011,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1012,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1013,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/findkey.c:1020,1
    - Dst: lookup_ttl
      Src: /src/gnupg/agent/findkey.c:1021,1
    - Dst: agent_store_cache_hit
      Src: /src/gnupg/agent/findkey.c:1022,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/findkey.c:1024,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1026,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1029,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 114
    argCount: 8
    argNames:
    - ctrl
    - cache_nonce
    - desc_text
    - keybuf
    - grip
    - cache_mode
    - lookup_ttl
    - r_passphrase
    argTypes:
    - ctrl_t
    - char*
    - char*
    - unsigned char**
    - unsigned char*
    - cache_mode_t
    - lookup_ttl_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 826
    functionDepth: 10
    functionLinenumber: 826
    functionLinenumberEnd: 1031
    functionName: unprotect
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 12
    functionsReached:
    - log_assert
    - pinentry_active_p
    - agent_unprotect
    - gcry_sexp_sscan
    - gcry_sexp_canon_len
    - lookup_ttl
    - agent_askpin
    - log_error
    - _
    - wipememory
    - log_info
    - gcry_sexp_release
    - gnupg_sleep
    - agent_put_cache
    - gpg_error_from_syserror
    - gcry_calloc_secure
    - xtrystrdup
    - xfree
    - gpg_strerror
    - agent_store_cache_hit
    - bin2hex
    - agent_get_cache
    - agent_clear_passphrase
    - agent_protect_and_store
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t unprotect (ctrl_t ctrl, const char *cache_nonce, const
      char *desc_text,\n           unsigned char **keybuf, const unsigned char *grip,\n
      \          cache_mode_t cache_mode, lookup_ttl_t lookup_ttl,\n           char
      **r_passphrase)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/findkey.c:1062,1
    - Dst: fname_from_keygrip
      Src: /src/gnupg/agent/findkey.c:1063,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:1066,1
    - Dst: memcmp
      Src: /src/gnupg/agent/findkey.c:1075,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/findkey.c:1080,1
    - Dst: es_fopenmem_init
      Src: /src/gnupg/agent/findkey.c:1084,1
    - Dst: es_fopen
      Src: /src/gnupg/agent/findkey.c:1089,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:1093,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/findkey.c:1094,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:1095,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:1095,1
    - Dst: es_fread
      Src: /src/gnupg/agent/findkey.c:1099,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:1101,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:1102,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:1103,1
    - Dst: es_fseek
      Src: /src/gnupg/agent/findkey.c:1107,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:1109,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:1110,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:1110,1
    - Dst: nvc_parse_private_key
      Src: /src/gnupg/agent/findkey.c:1119,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:1122,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:1123,1
    - Dst: nvc_get_private_key
      Src: /src/gnupg/agent/findkey.c:1126,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:1128,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:1129,1
    - Dst: nvc_get_string
      Src: /src/gnupg/agent/findkey.c:1134,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/findkey.c:1137,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:1140,1
    - Dst: nvc_delete_named
      Src: /src/gnupg/agent/findkey.c:1145,1
    - Dst: fstat
      Src: /src/gnupg/agent/findkey.c:1158,1
    - Dst: es_fileno
      Src: /src/gnupg/agent/findkey.c:1158,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:1160,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:1161,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:1161,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/findkey.c:1167,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:1170,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:1171,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:1172,1
    - Dst: es_fread
      Src: /src/gnupg/agent/findkey.c:1176,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:1178,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:1179,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:1180,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/agent/findkey.c:1188,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:1190,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:1191,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1197,1
    - Dst: nvc_release
      Src: /src/gnupg/agent/findkey.c:1201,1
    - Dst: wipe_and_fclose
      Src: /src/gnupg/agent/findkey.c:1203,1
    - Dst: es_fclose
      Src: /src/gnupg/agent/findkey.c:1205,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1206,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 108
    argCount: 5
    argNames:
    - ctrl
    - grip
    - result
    - r_keymeta
    - r_orig_key_value
    argTypes:
    - ctrl_t
    - unsigned char*
    - gcry_sexp_t*
    - nvc_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1042
    functionDepth: 6
    functionLinenumber: 1042
    functionLinenumberEnd: 1208
    functionName: read_key_file
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 1
    functionsReached:
    - fname_from_keygrip
    - gcry_sexp_sscan
    - fstat
    - es_fileno
    - es_fseek
    - wipe_and_fclose
    - es_fopen
    - xtrymalloc
    - log_error
    - es_fopenmem_init
    - nvc_release
    - gpg_error_from_syserror
    - nvc_parse_private_key
    - es_fread
    - xtrystrdup
    - gpg_error
    - gpg_strerror
    - xfree
    - es_fclose
    - nvc_delete_named
    - memcmp
    - gpg_err_code
    - nvc_get_private_key
    - nvc_get_string
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t read_key_file (ctrl_t ctrl, const unsigned char *grip,\n
      \              gcry_sexp_t *result, nvc_t *r_keymeta, char **r_orig_key_value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fname_from_keygrip
      Src: /src/gnupg/agent/findkey.c:1218,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:1221,1
    - Dst: gnupg_remove_ext
      Src: /src/gnupg/agent/findkey.c:1226,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:1227,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - grip
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1212
    functionDepth: 6
    functionLinenumber: 1212
    functionLinenumberEnd: 1230
    functionName: remove_key_file
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 0
    functionsReached:
    - gnupg_remove_ext
    - fname_from_keygrip
    - xfree
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t remove_key_file (const unsigned char *grip)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: bin2hex
      Src: /src/gnupg/agent/findkey.c:1250,1
    - Dst: nvc_get_string
      Src: /src/gnupg/agent/findkey.c:1256,1
    - Dst: strcmp
      Src: /src/gnupg/agent/findkey.c:1256,1
    - Dst: nvc_get_string
      Src: /src/gnupg/agent/findkey.c:1259,1
    - Dst: strchr
      Src: /src/gnupg/agent/findkey.c:1261,1
    - Dst: linefeed_to_percent0A
      Src: /src/gnupg/agent/findkey.c:1262,1
    - Dst: parse_shadow_info
      Src: /src/gnupg/agent/findkey.c:1269,1
    - Dst: strlen
      Src: /src/gnupg/agent/findkey.c:1273,1
    - Dst: strncmp
      Src: /src/gnupg/agent/findkey.c:1274,1
    - Dst: strncmp
      Src: /src/gnupg/agent/findkey.c:1277,1
    - Dst: atoi_4
      Src: /src/gnupg/agent/findkey.c:1284,1
    - Dst: atoi_4
      Src: /src/gnupg/agent/findkey.c:1285,1
    - Dst: snprintf
      Src: /src/gnupg/agent/findkey.c:1286,1
    - Dst: memmove
      Src: /src/gnupg/agent/findkey.c:1291,1
    - Dst: memmove
      Src: /src/gnupg/agent/findkey.c:1293,1
    - Dst: agent_card_serialno
      Src: /src/gnupg/agent/findkey.c:1309,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1314,1
    - Dst: agent_card_keyinfo
      Src: /src/gnupg/agent/findkey.c:1315,1
    - Dst: agent_card_free_keyinfo
      Src: /src/gnupg/agent/findkey.c:1319,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/findkey.c:1327,1
    - Dst: asprintf
      Src: /src/gnupg/agent/findkey.c:1331,1
    - Dst: L_
      Src: /src/gnupg/agent/findkey.c:1335,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/findkey.c:1338,1
    - Dst: agent_get_confirmation
      Src: /src/gnupg/agent/findkey.c:1341,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/findkey.c:1343,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/findkey.c:1344,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1346,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1353,1
    - Dst: gcry_free
      Src: /src/gnupg/agent/findkey.c:1354,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 4
    argNames:
    - ctrl
    - grip
    - keymeta
    - shadow_info
    argTypes:
    - ctrl_t
    - unsigned char*
    - nvc_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1236
    functionDepth: 5
    functionLinenumber: 1236
    functionLinenumberEnd: 1356
    functionName: prompt_for_card
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 0
    functionsReached:
    - strlen
    - parse_shadow_info
    - L_
    - atoi_4
    - memmove
    - linefeed_to_percent0A
    - strncmp
    - out_of_core
    - asprintf
    - strcmp
    - strchr
    - agent_card_keyinfo
    - xfree
    - gpg_error
    - agent_card_serialno
    - gcry_free
    - bin2hex
    - snprintf
    - agent_get_confirmation
    - gpg_err_code
    - agent_card_free_keyinfo
    - nvc_get_string
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t prompt_for_card (ctrl_t ctrl, const unsigned char *grip,\n
      \                nvc_t keymeta, const unsigned char *shadow_info)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/findkey.c:1405,1
    - Dst: read_key_file
      Src: /src/gnupg/agent/findkey.c:1413,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/findkey.c:1416,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/findkey.c:1417,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:1419,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:1420,1
    - Dst: make_canon_sexp
      Src: /src/gnupg/agent/findkey.c:1427,1
    - Dst: nvc_release
      Src: /src/gnupg/agent/findkey.c:1430,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1431,1
    - Dst: nvc_get_string
      Src: /src/gnupg/agent/findkey.c:1437,1
    - Dst: isotime2epoch
      Src: /src/gnupg/agent/findkey.c:1440,1
    - Dst: nvc_get_string
      Src: /src/gnupg/agent/findkey.c:1445,1
    - Dst: strcmp
      Src: /src/gnupg/agent/findkey.c:1448,1
    - Dst: strcmp
      Src: /src/gnupg/agent/findkey.c:1449,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/findkey.c:1456,1
    - Dst: nvc_get_string
      Src: /src/gnupg/agent/findkey.c:1458,1
    - Dst: strchr
      Src: /src/gnupg/agent/findkey.c:1460,1
    - Dst: linefeed_to_percent0A
      Src: /src/gnupg/agent/findkey.c:1461,1
    - Dst: xtryasprintf
      Src: /src/gnupg/agent/findkey.c:1465,1
    - Dst: L_
      Src: /src/gnupg/agent/findkey.c:1465,1
    - Dst: gcry_free
      Src: /src/gnupg/agent/findkey.c:1471,1
    - Dst: agent_get_confirmation
      Src: /src/gnupg/agent/findkey.c:1473,1
    - Dst: L_
      Src: /src/gnupg/agent/findkey.c:1474,1
    - Dst: L_
      Src: /src/gnupg/agent/findkey.c:1474,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1475,1
    - Dst: agent_private_key_type
      Src: /src/gnupg/agent/findkey.c:1482,1
    - Dst: agent_unprotect
      Src: /src/gnupg/agent/findkey.c:1491,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:1493,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:1494,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1497,1
    - Dst: nvc_get_string
      Src: /src/gnupg/agent/findkey.c:1512,1
    - Dst: strchr
      Src: /src/gnupg/agent/findkey.c:1514,1
    - Dst: linefeed_to_percent0A
      Src: /src/gnupg/agent/findkey.c:1515,1
    - Dst: has_comment_expando
      Src: /src/gnupg/agent/findkey.c:1519,1
    - Dst: strconcat
      Src: /src/gnupg/agent/findkey.c:1521,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/findkey.c:1530,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/agent/findkey.c:1532,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/findkey.c:1533,1
    - Dst: agent_modify_description
      Src: /src/gnupg/agent/findkey.c:1539,1
    - Dst: gcry_free
      Src: /src/gnupg/agent/findkey.c:1541,1
    - Dst: unprotect
      Src: /src/gnupg/agent/findkey.c:1545,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:1548,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:1549,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1552,1
    - Dst: agent_get_shadow_info_type
      Src: /src/gnupg/agent/findkey.c:1562,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/findkey.c:1565,1
    - Dst: log_assert
      Src: /src/gnupg/agent/findkey.c:1566,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/findkey.c:1567,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/findkey.c:1570,1
    - Dst: memcpy
      Src: /src/gnupg/agent/findkey.c:1575,1
    - Dst: strcmp
      Src: /src/gnupg/agent/findkey.c:1580,1
    - Dst: prompt_for_card
      Src: /src/gnupg/agent/findkey.c:1582,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:1587,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:1587,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1589,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/findkey.c:1592,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:1595,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/findkey.c:1596,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/findkey.c:1599,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1603,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1606,1
    - Dst: nvc_release
      Src: /src/gnupg/agent/findkey.c:1609,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1610,1
    - Dst: sexp_sscan_private_key
      Src: /src/gnupg/agent/findkey.c:1614,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1615,1
    - Dst: nvc_release
      Src: /src/gnupg/agent/findkey.c:1616,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1617,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:1620,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:1621,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1624,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 141
    argCount: 10
    argNames:
    - ctrl
    - cache_nonce
    - desc_text
    - grip
    - shadow_info
    - cache_mode
    - lookup_ttl
    - result
    - r_passphrase
    - r_timestamp
    argTypes:
    - ctrl_t
    - char*
    - char*
    - unsigned char*
    - unsigned char**
    - cache_mode_t
    - lookup_ttl_t
    - gcry_sexp_t*
    - char**
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1378
    functionDepth: 11
    functionLinenumber: 1378
    functionLinenumberEnd: 1630
    functionName: agent_key_from_file
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 7
    functionsReached:
    - log_assert
    - L_
    - agent_unprotect
    - gcry_sexp_find_token
    - xtryasprintf
    - gcry_sexp_canon_len
    - xtrymalloc
    - gcry_sexp_nth_string
    - memcpy
    - has_comment_expando
    - linefeed_to_percent0A
    - log_error
    - agent_get_shadow_info_type
    - gcry_sexp_release
    - nvc_release
    - out_of_core
    - sexp_sscan_private_key
    - agent_private_key_type
    - agent_modify_description
    - read_key_file
    - strcmp
    - unprotect
    - gpg_error
    - strchr
    - gpg_strerror
    - xfree
    - gcry_free
    - bin2hex
    - make_canon_sexp
    - strconcat
    - agent_get_confirmation
    - gpg_err_code
    - isotime2epoch
    - nvc_get_string
    - prompt_for_card
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_key_from_file (ctrl_t ctrl, const char *cache_nonce,\n
      \                    const char *desc_text,\n                     const unsigned
      char *grip, unsigned char **shadow_info,\n                     cache_mode_t
      cache_mode, lookup_ttl_t lookup_ttl,\n                     gcry_sexp_t *result,
      char **r_passphrase,\n                     time_t *r_timestamp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_canon_sexp
      Src: /src/gnupg/agent/findkey.c:1643,1
    - Dst: agent_private_key_type
      Src: /src/gnupg/agent/findkey.c:1647,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/findkey.c:1648,1
    - Dst: wipememory
      Src: /src/gnupg/agent/findkey.c:1650,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s_skey
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1636
    functionDepth: 2
    functionLinenumber: 1636
    functionLinenumberEnd: 1653
    functionName: is_shadowed_key
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 1
    functionsReached:
    - agent_private_key_type
    - make_canon_sexp
    - wipememory
    - gpg_error
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t is_shadowed_key (gcry_sexp_t s_skey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_key_file
      Src: /src/gnupg/agent/findkey.c:1671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ctrl
    - grip
    - result
    - r_keymeta
    argTypes:
    - ctrl_t
    - unsigned char*
    - gcry_sexp_t*
    - nvc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1660
    functionDepth: 7
    functionLinenumber: 1660
    functionLinenumberEnd: 1675
    functionName: agent_raw_key_from_file
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 4
    functionsReached:
    - read_key_file
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_raw_key_from_file (ctrl_t ctrl, const unsigned char
      *grip,\n                         gcry_sexp_t *result, nvc_t *r_keymeta)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: read_key_file
      Src: /src/gnupg/agent/findkey.c:1714,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/findkey.c:1724,1
    - Dst: nvc_get_boolean
      Src: /src/gnupg/agent/findkey.c:1726,1
    - Dst: nvc_release
      Src: /src/gnupg/agent/findkey.c:1727,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/findkey.c:1731,1
    - Dst: DIM
      Src: /src/gnupg/agent/findkey.c:1736,1
    - Dst: extract_private_key
      Src: /src/gnupg/agent/findkey.c:1739,1
    - Dst: DIM
      Src: /src/gnupg/agent/findkey.c:1740,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/findkey.c:1743,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/findkey.c:1749,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/agent/findkey.c:1751,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/findkey.c:1755,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/agent/findkey.c:1757,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/findkey.c:1759,1
    - Dst: log_assert
      Src: /src/gnupg/agent/findkey.c:1763,1
    - Dst: init_membuf
      Src: /src/gnupg/agent/findkey.c:1765,1
    - Dst: put_membuf_printf
      Src: /src/gnupg/agent/findkey.c:1767,1
    - Dst: put_membuf_printf
      Src: /src/gnupg/agent/findkey.c:1772,1
    - Dst: log_assert
      Src: /src/gnupg/agent/findkey.c:1773,1
    - Dst: DIM
      Src: /src/gnupg/agent/findkey.c:1773,1
    - Dst: put_membuf_str
      Src: /src/gnupg/agent/findkey.c:1776,1
    - Dst: put_membuf_str
      Src: /src/gnupg/agent/findkey.c:1779,1
    - Dst: log_assert
      Src: /src/gnupg/agent/findkey.c:1780,1
    - Dst: DIM
      Src: /src/gnupg/agent/findkey.c:1780,1
    - Dst: put_membuf_str
      Src: /src/gnupg/agent/findkey.c:1787,1
    - Dst: log_assert
      Src: /src/gnupg/agent/findkey.c:1788,1
    - Dst: DIM
      Src: /src/gnupg/agent/findkey.c:1788,1
    - Dst: put_membuf
      Src: /src/gnupg/agent/findkey.c:1793,1
    - Dst: log_assert
      Src: /src/gnupg/agent/findkey.c:1794,1
    - Dst: DIM
      Src: /src/gnupg/agent/findkey.c:1794,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/findkey.c:1797,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:1800,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/agent/findkey.c:1802,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/findkey.c:1803,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/findkey.c:1804,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/findkey.c:1805,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/findkey.c:1806,1
    - Dst: gcry_sexp_build_array
      Src: /src/gnupg/agent/findkey.c:1810,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1811,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/agent/findkey.c:1813,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/findkey.c:1814,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/findkey.c:1815,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/findkey.c:1816,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/findkey.c:1817,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 89
    argCount: 5
    argNames:
    - ctrl
    - grip
    - result
    - for_ssh
    - r_sshorder
    argTypes:
    - ctrl_t
    - unsigned char*
    - gcry_sexp_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1683
    functionDepth: 7
    functionLinenumber: 1683
    functionLinenumberEnd: 1822
    functionName: public_key_from_file
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 3
    functionsReached:
    - put_membuf_printf
    - log_assert
    - put_membuf
    - gcry_sexp_find_token
    - put_membuf_str
    - init_membuf
    - DIM
    - extract_private_key
    - gcry_sexp_release
    - nvc_release
    - nvc_get_boolean
    - gpg_error_from_syserror
    - read_key_file
    - gpg_error
    - gcry_sexp_nth_data
    - xfree
    - gcry_mpi_release
    - get_membuf
    - gcry_sexp_build_array
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t public_key_from_file (ctrl_t ctrl, const unsigned char
      *grip,\n                      gcry_sexp_t *result, int for_ssh, int *r_sshorder)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: public_key_from_file
      Src: /src/gnupg/agent/findkey.c:1829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - grip
    - result
    argTypes:
    - ctrl_t
    - unsigned char*
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1824
    functionDepth: 8
    functionLinenumber: 1824
    functionLinenumberEnd: 1830
    functionName: agent_public_key_from_file
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 3
    functionsReached:
    - public_key_from_file
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_public_key_from_file (ctrl_t ctrl,\n                            const
      unsigned char *grip,\n                            gcry_sexp_t *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: public_key_from_file
      Src: /src/gnupg/agent/findkey.c:1837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctrl
    - grip
    - result
    - r_order
    argTypes:
    - ctrl_t
    - unsigned char*
    - gcry_sexp_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1832
    functionDepth: 8
    functionLinenumber: 1832
    functionLinenumberEnd: 1838
    functionName: agent_ssh_key_from_file
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 1
    functionsReached:
    - public_key_from_file
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_ssh_key_from_file (ctrl_t ctrl,\n                         const
      unsigned char *grip,\n                         gcry_sexp_t *result, int *r_order)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/agent/findkey.c:1854,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/findkey.c:1860,1
    - Dst: strcpy
      Src: /src/gnupg/agent/findkey.c:1861,1
    - Dst: make_filename
      Src: /src/gnupg/agent/findkey.c:1863,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/agent/findkey.c:1863,1
    - Dst: gnupg_access
      Src: /src/gnupg/agent/findkey.c:1865,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1866,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - ctrl
    - grip
    argTypes:
    - ctrl_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1843
    functionDepth: 5
    functionLinenumber: 1843
    functionLinenumberEnd: 1868
    functionName: agent_key_available
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 10
    functionsReached:
    - make_filename
    - bin2hex
    - gnupg_homedir
    - gnupg_access
    - memcmp
    - strcpy
    - xfree
    linkageType: ''
    returnType: int
    signature: int agent_key_available (ctrl_t ctrl, const unsigned char *grip)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: read_key_file
      Src: /src/gnupg/agent/findkey.c:1895,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/findkey.c:1898,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/findkey.c:1899,1
    - Dst: make_canon_sexp
      Src: /src/gnupg/agent/findkey.c:1903,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/findkey.c:1904,1
    - Dst: agent_private_key_type
      Src: /src/gnupg/agent/findkey.c:1909,1
    - Dst: agent_get_shadow_info_type
      Src: /src/gnupg/agent/findkey.c:1925,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/findkey.c:1928,1
    - Dst: log_assert
      Src: /src/gnupg/agent/findkey.c:1929,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/findkey.c:1930,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:1932,1
    - Dst: memcpy
      Src: /src/gnupg/agent/findkey.c:1934,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/findkey.c:1939,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:1946,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 5
    argNames:
    - ctrl
    - grip
    - r_keytype
    - r_shadow_info
    - r_shadow_info_type
    argTypes:
    - ctrl_t
    - unsigned char*
    - int*
    - unsigned char**
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1875
    functionDepth: 7
    functionLinenumber: 1875
    functionLinenumberEnd: 1948
    functionName: agent_key_info_from_file
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 2
    functionsReached:
    - agent_private_key_type
    - agent_get_shadow_info_type
    - log_assert
    - gpg_error_from_syserror
    - read_key_file
    - make_canon_sexp
    - gpg_error
    - gpg_err_code
    - gcry_sexp_canon_len
    - gcry_sexp_release
    - memcpy
    - xfree
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_key_info_from_file (ctrl_t ctrl, const unsigned
      char *grip,\n                          int *r_keytype, unsigned char **r_shadow_info,\n
      \                         unsigned char **r_shadow_info_type)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/findkey.c:1981,1
    - Dst: read_key_file
      Src: /src/gnupg/agent/findkey.c:1985,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/findkey.c:1986,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/findkey.c:1987,1
    - Dst: make_canon_sexp
      Src: /src/gnupg/agent/findkey.c:1991,1
    - Dst: agent_private_key_type
      Src: /src/gnupg/agent/findkey.c:1995,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/findkey.c:1998,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/findkey.c:2007,1
    - Dst: xtryasprintf
      Src: /src/gnupg/agent/findkey.c:2012,1
    - Dst: L_
      Src: /src/gnupg/agent/findkey.c:2013,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/findkey.c:2024,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/agent/findkey.c:2026,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/findkey.c:2027,1
    - Dst: agent_modify_description
      Src: /src/gnupg/agent/findkey.c:2031,1
    - Dst: agent_get_confirmation
      Src: /src/gnupg/agent/findkey.c:2036,1
    - Dst: L_
      Src: /src/gnupg/agent/findkey.c:2037,1
    - Dst: L_
      Src: /src/gnupg/agent/findkey.c:2037,1
    - Dst: ssh_open_control_file
      Src: /src/gnupg/agent/findkey.c:2041,1
    - Dst: ssh_search_control_file
      Src: /src/gnupg/agent/findkey.c:2044,1
    - Dst: agent_get_confirmation
      Src: /src/gnupg/agent/findkey.c:2046,1
    - Dst: L_
      Src: /src/gnupg/agent/findkey.c:2048,1
    - Dst: L_
      Src: /src/gnupg/agent/findkey.c:2051,1
    - Dst: L_
      Src: /src/gnupg/agent/findkey.c:2051,1
    - Dst: remove_key_file
      Src: /src/gnupg/agent/findkey.c:2057,1
    - Dst: remove_key_file
      Src: /src/gnupg/agent/findkey.c:2061,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:2065,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/findkey.c:2066,1
    - Dst: ssh_close_control_file
      Src: /src/gnupg/agent/findkey.c:2071,1
    - Dst: gcry_free
      Src: /src/gnupg/agent/findkey.c:2072,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:2073,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:2074,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:2075,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/findkey.c:2076,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 75
    argCount: 5
    argNames:
    - ctrl
    - desc_text
    - grip
    - force
    - only_stubs
    argTypes:
    - ctrl_t
    - char*
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 1964
    functionDepth: 7
    functionLinenumber: 1964
    functionLinenumberEnd: 2078
    functionName: agent_delete_key
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 4
    functionsReached:
    - remove_key_file
    - L_
    - gcry_sexp_find_token
    - xtryasprintf
    - ssh_search_control_file
    - ssh_open_control_file
    - gcry_sexp_nth_string
    - ssh_close_control_file
    - log_error
    - gcry_sexp_release
    - agent_private_key_type
    - agent_modify_description
    - read_key_file
    - gpg_error
    - xfree
    - gcry_free
    - bin2hex
    - make_canon_sexp
    - agent_get_confirmation
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_delete_key (ctrl_t ctrl, const char *desc_text,\n
      \                 const unsigned char *grip, int force, int only_stubs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/agent/findkey.c:2098,1
    - Dst: spacep
      Src: /src/gnupg/agent/findkey.c:2100,1
    - Dst: make_shadow_info
      Src: /src/gnupg/agent/findkey.c:2103,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/findkey.c:2105,1
    - Dst: agent_shadow_key
      Src: /src/gnupg/agent/findkey.c:2107,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:2108,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:2111,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:2111,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/findkey.c:2115,1
    - Dst: agent_write_private_key
      Src: /src/gnupg/agent/findkey.c:2116,1
    - Dst: xfree
      Src: /src/gnupg/agent/findkey.c:2118,1
    - Dst: log_error
      Src: /src/gnupg/agent/findkey.c:2120,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/findkey.c:2120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 7
    argNames:
    - ctrl
    - grip
    - serialno
    - keyid
    - pkbuf
    - force
    - dispserialno
    argTypes:
    - ctrl_t
    - unsigned char*
    - char*
    - char*
    - unsigned char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2085
    functionDepth: 3
    functionLinenumber: 2085
    functionLinenumberEnd: 2123
    functionName: agent_write_shadow_key
    functionSourceFile: /src/gnupg/agent/findkey.c
    functionUses: 3
    functionsReached:
    - agent_write_private_key
    - agent_shadow_key
    - gpg_error_from_syserror
    - make_shadow_info
    - log_error
    - spacep
    - xfree
    - gpg_strerror
    - gcry_sexp_canon_len
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_write_shadow_key (ctrl_t ctrl, const unsigned char
      *grip,\n                        const char *serialno, const char *keyid,\n                        const
      unsigned char *pkbuf, int force,\n                        const char *dispserialno)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/agent/preset-passphrase.c:102,1
    - Dst: _
      Src: /src/gnupg/agent/preset-passphrase.c:106,1
    - Dst: _
      Src: /src/gnupg/agent/preset-passphrase.c:109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 116
    functionName: my_strusage
    functionSourceFile: /src/gnupg/agent/preset-passphrase.c
    functionUses: 0
    functionsReached:
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage (int level)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/gnupg/agent/preset-passphrase.c:132,1
    - Dst: log_error
      Src: /src/gnupg/agent/preset-passphrase.c:135,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/preset-passphrase.c:136,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/preset-passphrase.c:136,1
    - Dst: strchr
      Src: /src/gnupg/agent/preset-passphrase.c:140,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/preset-passphrase.c:153,1
    - Dst: strlen
      Src: /src/gnupg/agent/preset-passphrase.c:153,1
    - Dst: log_error
      Src: /src/gnupg/agent/preset-passphrase.c:157,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/preset-passphrase.c:158,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/preset-passphrase.c:158,1
    - Dst: asprintf
      Src: /src/gnupg/agent/preset-passphrase.c:162,1
    - Dst: wipememory
      Src: /src/gnupg/agent/preset-passphrase.c:166,1
    - Dst: strlen
      Src: /src/gnupg/agent/preset-passphrase.c:166,1
    - Dst: xfree
      Src: /src/gnupg/agent/preset-passphrase.c:167,1
    - Dst: log_error
      Src: /src/gnupg/agent/preset-passphrase.c:171,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/preset-passphrase.c:172,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/preset-passphrase.c:172,1
    - Dst: wipememory
      Src: /src/gnupg/agent/preset-passphrase.c:176,1
    - Dst: simple_query
      Src: /src/gnupg/agent/preset-passphrase.c:178,1
    - Dst: log_error
      Src: /src/gnupg/agent/preset-passphrase.c:181,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/preset-passphrase.c:181,1
    - Dst: wipememory
      Src: /src/gnupg/agent/preset-passphrase.c:185,1
    - Dst: strlen
      Src: /src/gnupg/agent/preset-passphrase.c:185,1
    - Dst: xfree
      Src: /src/gnupg/agent/preset-passphrase.c:186,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - keygrip
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 121
    functionDepth: 5
    functionLinenumber: 121
    functionLinenumberEnd: 187
    functionName: preset_passphrase
    functionSourceFile: /src/gnupg/agent/preset-passphrase.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - read
    - bin2hex
    - strlen
    - simple_query
    - wipememory
    - strchr
    - gpg_strerror
    - xfree
    - asprintf
    linkageType: ''
    returnType: void
    signature: void preset_passphrase (const char *keygrip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/gnupg/agent/preset-passphrase.c:196,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/preset-passphrase.c:198,1
    - Dst: simple_query
      Src: /src/gnupg/agent/preset-passphrase.c:200,1
    - Dst: log_error
      Src: /src/gnupg/agent/preset-passphrase.c:203,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/preset-passphrase.c:203,1
    - Dst: xfree
      Src: /src/gnupg/agent/preset-passphrase.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - keygrip
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 190
    functionDepth: 5
    functionLinenumber: 190
    functionLinenumberEnd: 208
    functionName: forget_passphrase
    functionSourceFile: /src/gnupg/agent/preset-passphrase.c
    functionUses: 0
    functionsReached:
    - log_error
    - simple_query
    - gpg_error_from_syserror
    - gpg_strerror
    - xfree
    - asprintf
    linkageType: ''
    returnType: void
    signature: void forget_passphrase (const char *keygrip)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: early_system_init
      Src: /src/gnupg/agent/preset-passphrase.c:218,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/agent/preset-passphrase.c:219,1
    - Dst: log_set_prefix
      Src: /src/gnupg/agent/preset-passphrase.c:220,1
    - Dst: i18n_init
      Src: /src/gnupg/agent/preset-passphrase.c:223,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/agent/preset-passphrase.c:224,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/agent/preset-passphrase.c:229,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/agent/preset-passphrase.c:234,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/agent/preset-passphrase.c:245,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/agent/preset-passphrase.c:247,1
    - Dst: exit
      Src: /src/gnupg/agent/preset-passphrase.c:248,1
    - Dst: gpgrt_usage
      Src: /src/gnupg/agent/preset-passphrase.c:253,1
    - Dst: make_filename
      Src: /src/gnupg/agent/preset-passphrase.c:257,1
    - Dst: gnupg_socketdir
      Src: /src/gnupg/agent/preset-passphrase.c:257,1
    - Dst: simple_pw_set_socket
      Src: /src/gnupg/agent/preset-passphrase.c:258,1
    - Dst: xfree
      Src: /src/gnupg/agent/preset-passphrase.c:259,1
    - Dst: preset_passphrase
      Src: /src/gnupg/agent/preset-passphrase.c:263,1
    - Dst: forget_passphrase
      Src: /src/gnupg/agent/preset-passphrase.c:265,1
    - Dst: log_error
      Src: /src/gnupg/agent/preset-passphrase.c:267,1
    - Dst: agent_exit
      Src: /src/gnupg/agent/preset-passphrase.c:269,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 211
    functionDepth: 7
    functionLinenumber: 211
    functionLinenumberEnd: 271
    functionName: main
    functionSourceFile: /src/gnupg/agent/preset-passphrase.c
    functionUses: 9
    functionsReached:
    - i18n_init
    - gpgrt_set_strusage
    - make_filename
    - init_common_subsystems
    - gnupg_set_homedir
    - preset_passphrase
    - log_error
    - early_system_init
    - log_set_prefix
    - exit
    - gpgrt_usage
    - simple_pw_set_socket
    - forget_passphrase
    - log_get_errorcount
    - gnupg_socketdir
    - xfree
    - gpgrt_argparse
    - agent_exit
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_get_errorcount
      Src: /src/gnupg/agent/preset-passphrase.c:277,1
    - Dst: exit
      Src: /src/gnupg/agent/preset-passphrase.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: agent_exit
    functionSourceFile: /src/gnupg/agent/preset-passphrase.c
    functionUses: 10
    functionsReached:
    - log_get_errorcount
    - exit
    linkageType: ''
    returnType: void
    signature: void agent_exit (int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: daemon_start
      Src: /src/gnupg/agent/call-scd.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 6
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: start_scd
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 0
    functionsReached:
    - daemon_start
    linkageType: ''
    returnType: int
    signature: int start_scd (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: daemon_unlock
      Src: /src/gnupg/agent/call-scd.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctrl
    - err
    argTypes:
    - ctrl_t
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: unlock_scd
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 0
    functionsReached:
    - daemon_unlock
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t unlock_scd (ctrl_t ctrl, gpg_error_t err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: daemon_type_ctx
      Src: /src/gnupg/agent/call-scd.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: daemon_ctx
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 3
    functionsReached:
    - daemon_type_ctx
    linkageType: ''
    returnType: assuan_context_t
    signature: assuan_context_t daemon_ctx (ctrl_t ctrl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:128,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-scd.c:134,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/call-scd.c:139,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/call-scd.c:142,1
    - Dst: memcpy
      Src: /src/gnupg/agent/call-scd.c:145,1
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:149,1
    - Dst: log_debug
      Src: /src/gnupg/agent/call-scd.c:157,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/call-scd.c:158,1
    - Dst: log_debug
      Src: /src/gnupg/agent/call-scd.c:164,1
    - Dst: agent_put_cache
      Src: /src/gnupg/agent/call-scd.c:165,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:169,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 1
    argNames:
    - args
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 171
    functionName: handle_pincache_put
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 0
    functionsReached:
    - agent_put_cache
    - xtrymalloc
    - gpg_error_from_syserror
    - log_error
    - spacep
    - xfree
    - memcpy
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t handle_pincache_put (const char *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-scd.c:183,1
    - Dst: handle_pincache_put
      Src: /src/gnupg/agent/call-scd.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 188
    functionName: pincache_put_cb
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 0
    functionsReached:
    - handle_pincache_put
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t pincache_put_cb (void *opaque, const char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/agent/call-scd.c:202,1
    - Dst: strlen
      Src: /src/gnupg/agent/call-scd.c:204,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-scd.c:207,1
    - Dst: log_debug
      Src: /src/gnupg/agent/call-scd.c:208,1
    - Dst: agent_get_cache
      Src: /src/gnupg/agent/call-scd.c:212,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:215,1
    - Dst: log_debug
      Src: /src/gnupg/agent/call-scd.c:219,1
    - Dst: log_debug
      Src: /src/gnupg/agent/call-scd.c:223,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/call-scd.c:224,1
    - Dst: strlen
      Src: /src/gnupg/agent/call-scd.c:224,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:227,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - args
    - ctx
    argTypes:
    - char*
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 229
    functionName: handle_pincache_get
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - strlen
    - agent_get_cache
    - gpg_error
    - xfree
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t handle_pincache_get (const char *args, assuan_context_t
      ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:241,1
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:243,1
    - Dst: memcmp
      Src: /src/gnupg/agent/call-scd.c:245,1
    - Dst: struct learn_parm_s*::certinfo_cb
      Src: /src/gnupg/agent/call-scd.c:247,1
    - Dst: memcmp
      Src: /src/gnupg/agent/call-scd.c:249,1
    - Dst: struct learn_parm_s*::kpinfo_cb
      Src: /src/gnupg/agent/call-scd.c:251,1
    - Dst: memcmp
      Src: /src/gnupg/agent/call-scd.c:253,1
    - Dst: handle_pincache_put
      Src: /src/gnupg/agent/call-scd.c:254,1
    - Dst: struct learn_parm_s*::sinfo_cb
      Src: /src/gnupg/agent/call-scd.c:257,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 261
    functionName: learn_status_cb
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 0
    functionsReached:
    - handle_pincache_put
    - struct learn_parm_s*::kpinfo_cb
    - spacep
    - memcmp
    - struct learn_parm_s*::sinfo_cb
    - struct learn_parm_s*::certinfo_cb
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t learn_status_cb (void *opaque, const char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_scd
      Src: /src/gnupg/agent/call-scd.c:282,1
    - Dst: memset
      Src: /src/gnupg/agent/call-scd.c:286,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-scd.c:295,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-scd.c:297,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-scd.c:299,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:299,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:303,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - ctrl
    - demand_sn
    - kpinfo_cb_arg
    - certinfo_cb_arg
    - sinfo_cb_arg
    argTypes:
    - ctrl_t
    - char*
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 268
    functionDepth: 7
    functionLinenumber: 268
    functionLinenumberEnd: 306
    functionName: agent_card_learn
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 1
    functionsReached:
    - snprintf
    - assuan_transact
    - memset
    - start_scd
    - daemon_ctx
    - unlock_scd
    linkageType: ''
    returnType: int
    signature: "int agent_card_learn (ctrl_t ctrl,\n                  const char *demand_sn,\n
      \                 void (*kpinfo_cb)(void*, const char *),\n                  void
      *kpinfo_cb_arg,\n                  void (*certinfo_cb)(void*, const char *),\n
      \                 void *certinfo_cb_arg,\n                  void (*sinfo_cb)(void*,
      const char *, size_t, const char *),\n                  void *sinfo_cb_arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:319,1
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:321,1
    - Dst: memcmp
      Src: /src/gnupg/agent/call-scd.c:324,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-scd.c:327,1
    - Dst: hexdigitp
      Src: /src/gnupg/agent/call-scd.c:328,1
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:330,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-scd.c:331,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/call-scd.c:332,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/call-scd.c:334,1
    - Dst: memcpy
      Src: /src/gnupg/agent/call-scd.c:335,1
    - Dst: memcmp
      Src: /src/gnupg/agent/call-scd.c:338,1
    - Dst: handle_pincache_put
      Src: /src/gnupg/agent/call-scd.c:339,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 342
    functionName: get_serialno_cb
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - handle_pincache_put
    - out_of_core
    - spacep
    - gpg_error
    - memcmp
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_serialno_cb (void *opaque, const char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: start_scd
      Src: /src/gnupg/agent/call-scd.c:356,1
    - Dst: strcpy
      Src: /src/gnupg/agent/call-scd.c:361,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-scd.c:363,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-scd.c:363,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-scd.c:365,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:365,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:370,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:371,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:376,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ctrl
    - r_serialno
    - demand
    argTypes:
    - ctrl_t
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 349
    functionDepth: 7
    functionLinenumber: 349
    functionLinenumberEnd: 378
    functionName: agent_card_serialno
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 2
    functionsReached:
    - snprintf
    - DIM
    - assuan_transact
    - strcpy
    - xfree
    - start_scd
    - daemon_ctx
    - unlock_scd
    linkageType: ''
    returnType: int
    signature: int agent_card_serialno (ctrl_t ctrl, char **r_serialno, const char
      *demand)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-scd.c:393,1
    - Dst: gcry_malloc_secure
      Src: /src/gnupg/agent/call-scd.c:397,1
    - Dst: out_of_core
      Src: /src/gnupg/agent/call-scd.c:399,1
    - Dst: struct inq_needpin_parm_s*::getpin_cb
      Src: /src/gnupg/agent/call-scd.c:401,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/agent/call-scd.c:405,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/call-scd.c:406,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/agent/call-scd.c:407,1
    - Dst: wipememory
      Src: /src/gnupg/agent/call-scd.c:409,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:410,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-scd.c:412,1
    - Dst: struct inq_needpin_parm_s*::getpin_cb
      Src: /src/gnupg/agent/call-scd.c:414,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-scd.c:417,1
    - Dst: struct inq_needpin_parm_s*::getpin_cb
      Src: /src/gnupg/agent/call-scd.c:419,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-scd.c:422,1
    - Dst: handle_pincache_get
      Src: /src/gnupg/agent/call-scd.c:424,1
    - Dst: strncmp
      Src: /src/gnupg/agent/call-scd.c:431,1
    - Dst: assuan_get_flag
      Src: /src/gnupg/agent/call-scd.c:437,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/agent/call-scd.c:438,1
    - Dst: assuan_inquire
      Src: /src/gnupg/agent/call-scd.c:439,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/agent/call-scd.c:441,1
    - Dst: assuan_get_flag
      Src: /src/gnupg/agent/call-scd.c:445,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/agent/call-scd.c:446,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/call-scd.c:447,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/agent/call-scd.c:449,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:450,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-scd.c:453,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/call-scd.c:454,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-scd.c:458,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-scd.c:459,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 463
    functionName: inq_needpin
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 1
    functionsReached:
    - struct inq_needpin_parm_s*::getpin_cb
    - assuan_send_data
    - handle_pincache_get
    - log_error
    - assuan_end_confidential
    - assuan_begin_confidential
    - assuan_inquire
    - gcry_malloc_secure
    - wipememory
    - gpg_error
    - xfree
    - assuan_get_flag
    - gpg_strerror
    - has_leading_keyword
    - strncmp
    - out_of_core
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t inq_needpin (void *opaque, const char *line)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 482
    functionName: hash_algo_option
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      hash_algo_option (int algo)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stpcpy
      Src: /src/gnupg/agent/call-scd.c:495,1
    - Dst: stpcpy
      Src: /src/gnupg/agent/call-scd.c:497,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-scd.c:498,1
    - Dst: sprintf
      Src: /src/gnupg/agent/call-scd.c:500,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-scd.c:503,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ctrl
    - indata
    - indatalen
    argTypes:
    - ctrl_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 510
    functionName: prepare_setdata
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 0
    functionsReached:
    - sprintf
    - DIM
    - assuan_transact
    - stpcpy
    - daemon_ctx
    linkageType: ''
    returnType: int
    signature: int prepare_setdata (ctrl_t ctrl, const unsigned char *indata, size_t
      indatalen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_scd
      Src: /src/gnupg/agent/call-scd.c:532,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-scd.c:539,1
    - Dst: prepare_setdata
      Src: /src/gnupg/agent/call-scd.c:541,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:543,1
    - Dst: init_membuf
      Src: /src/gnupg/agent/call-scd.c:545,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:546,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-scd.c:555,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-scd.c:557,1
    - Dst: hash_algo_option
      Src: /src/gnupg/agent/call-scd.c:558,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-scd.c:559,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:559,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:568,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/call-scd.c:568,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:569,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/call-scd.c:572,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:573,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 9
    argNames:
    - ctrl
    - keyid
    - getpin_cb_arg
    - desc_text
    - mdalgo
    - indata
    - indatalen
    - r_buf
    - r_buflen
    argTypes:
    - ctrl_t
    - char*
    - void*
    - char*
    - int
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 515
    functionDepth: 7
    functionLinenumber: 515
    functionLinenumberEnd: 574
    functionName: agent_card_pksign
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 1
    functionsReached:
    - get_membuf
    - init_membuf
    - prepare_setdata
    - snprintf
    - assuan_transact
    - gpg_error
    - xfree
    - start_scd
    - daemon_ctx
    - hash_algo_option
    - unlock_scd
    linkageType: ''
    returnType: int
    signature: "int agent_card_pksign (ctrl_t ctrl,\n                   const char
      *keyid,\n                   int (*getpin_cb)(void *, const char *,\n                                    const
      char *, char*, size_t),\n                   void *getpin_cb_arg,\n                   const
      char *desc_text,\n                   int mdalgo,\n                   const unsigned
      char *indata, size_t indatalen,\n                   unsigned char **r_buf, size_t
      *r_buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-scd.c:587,1
    - Dst: atoi
      Src: /src/gnupg/agent/call-scd.c:590,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-scd.c:592,1
    - Dst: handle_pincache_put
      Src: /src/gnupg/agent/call-scd.c:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 596
    functionName: padding_info_cb
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 0
    functionsReached:
    - handle_pincache_put
    - atoi
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t padding_info_cb (void *opaque, const char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_scd
      Src: /src/gnupg/agent/call-scd.c:623,1
    - Dst: prepare_setdata
      Src: /src/gnupg/agent/call-scd.c:629,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:631,1
    - Dst: init_membuf
      Src: /src/gnupg/agent/call-scd.c:633,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:634,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-scd.c:641,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-scd.c:641,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-scd.c:642,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:642,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:649,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/call-scd.c:649,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:650,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/call-scd.c:652,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:654,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-scd.c:654,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:656,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 9
    argNames:
    - ctrl
    - keyid
    - getpin_cb_arg
    - desc_text
    - indata
    - indatalen
    - r_buf
    - r_buflen
    - r_padding
    argTypes:
    - ctrl_t
    - char*
    - void*
    - char*
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 604
    functionDepth: 7
    functionLinenumber: 604
    functionLinenumberEnd: 657
    functionName: agent_card_pkdecrypt
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 2
    functionsReached:
    - get_membuf
    - init_membuf
    - prepare_setdata
    - snprintf
    - DIM
    - assuan_transact
    - gpg_error
    - xfree
    - start_scd
    - daemon_ctx
    - unlock_scd
    linkageType: ''
    returnType: int
    signature: "int agent_card_pkdecrypt (ctrl_t ctrl,\n                      const
      char *keyid,\n                      int (*getpin_cb)(void *, const char *,\n
      \                                      const char *, char*, size_t),\n                      void
      *getpin_cb_arg,\n                      const char *desc_text,\n                      const
      unsigned char *indata, size_t indatalen,\n                      unsigned char
      **r_buf, size_t *r_buflen, int *r_padding)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_scd
      Src: /src/gnupg/agent/call-scd.c:672,1
    - Dst: init_membuf
      Src: /src/gnupg/agent/call-scd.c:676,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-scd.c:677,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-scd.c:677,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-scd.c:678,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:678,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:684,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/call-scd.c:684,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:685,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/call-scd.c:687,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:689,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-scd.c:689,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ctrl
    - id
    - r_buf
    - r_buflen
    argTypes:
    - ctrl_t
    - char*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 662
    functionDepth: 7
    functionLinenumber: 662
    functionLinenumberEnd: 692
    functionName: agent_card_readcert
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 1
    functionsReached:
    - get_membuf
    - init_membuf
    - snprintf
    - DIM
    - assuan_transact
    - gpg_error
    - xfree
    - start_scd
    - daemon_ctx
    - unlock_scd
    linkageType: ''
    returnType: int
    signature: "int agent_card_readcert (ctrl_t ctrl,\n                     const
      char *id, char **r_buf, size_t *r_buflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-scd.c:709,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/call-scd.c:721,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/call-scd.c:724,1
    - Dst: split_fields
      Src: /src/gnupg/agent/call-scd.c:728,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-scd.c:728,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/call-scd.c:731,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/call-scd.c:733,1
    - Dst: pincache_put_cb
      Src: /src/gnupg/agent/call-scd.c:736,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:739,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 701
    functionDepth: 3
    functionLinenumber: 701
    functionLinenumberEnd: 741
    functionName: readkey_status_cb
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 0
    functionsReached:
    - pincache_put_cb
    - gpg_error_from_syserror
    - split_fields
    - DIM
    - xtrystrdup
    - xfree
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t readkey_status_cb (void *opaque, const char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/agent/call-scd.c:757,1
    - Dst: start_scd
      Src: /src/gnupg/agent/call-scd.c:763,1
    - Dst: init_membuf
      Src: /src/gnupg/agent/call-scd.c:767,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-scd.c:768,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-scd.c:768,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-scd.c:770,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:770,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:776,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/call-scd.c:776,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:777,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:778,1
    - Dst: get_membuf
      Src: /src/gnupg/agent/call-scd.c:780,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:783,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:784,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-scd.c:784,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/call-scd.c:787,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:789,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:790,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:791,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-scd.c:791,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:796,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:798,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - ctrl
    - id
    - r_buf
    - r_keyref
    argTypes:
    - ctrl_t
    - char*
    - unsigned char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 747
    functionDepth: 7
    functionLinenumber: 747
    functionLinenumberEnd: 799
    functionName: agent_card_readkey
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 4
    functionsReached:
    - get_membuf
    - init_membuf
    - snprintf
    - DIM
    - assuan_transact
    - gpg_error
    - memset
    - xfree
    - gcry_sexp_canon_len
    - start_scd
    - daemon_ctx
    - unlock_scd
    linkageType: ''
    returnType: int
    signature: "int agent_card_readkey (ctrl_t ctrl, const char *id,\n                    unsigned
      char **r_buf, char **r_keyref)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_keyword
      Src: /src/gnupg/agent/call-scd.c:809,1
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/call-scd.c:810,1
    - Dst: inq_needpin
      Src: /src/gnupg/agent/call-scd.c:812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 813
    functionName: inq_writekey_parms
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - inq_needpin
    - has_leading_keyword
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t inq_writekey_parms (void *opaque, const char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_scd
      Src: /src/gnupg/agent/call-scd.c:832,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-scd.c:836,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-scd.c:836,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:837,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-scd.c:845,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:845,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 7
    argNames:
    - ctrl
    - force
    - serialno
    - keyref
    - keydata
    - keydatalen
    - getpin_cb_arg
    argTypes:
    - ctrl_t
    - int
    - char*
    - char*
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 817
    functionDepth: 7
    functionLinenumber: 817
    functionLinenumberEnd: 849
    functionName: agent_card_writekey
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 1
    functionsReached:
    - snprintf
    - DIM
    - assuan_transact
    - start_scd
    - daemon_ctx
    - unlock_scd
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_card_writekey (ctrl_t ctrl,  int force, const char
      *serialno,\n                     const char *keyref,\n                     const
      char *keydata, size_t keydatalen,\n                     int (*getpin_cb)(void
      *, const char *,\n                                      const char *, char*,
      size_t),\n                     void *getpin_cb_arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:873,1
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:875,1
    - Dst: memcmp
      Src: /src/gnupg/agent/call-scd.c:879,1
    - Dst: percent_plus_unescape
      Src: /src/gnupg/agent/call-scd.c:881,1
    - Dst: memcmp
      Src: /src/gnupg/agent/call-scd.c:885,1
    - Dst: handle_pincache_put
      Src: /src/gnupg/agent/call-scd.c:886,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 862
    functionDepth: 3
    functionLinenumber: 862
    functionLinenumberEnd: 889
    functionName: card_getattr_cb
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 0
    functionsReached:
    - handle_pincache_put
    - memcmp
    - spacep
    - percent_plus_unescape
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t card_getattr_cb (void *opaque, const char *line)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-scd.c:907,1
    - Dst: memset
      Src: /src/gnupg/agent/call-scd.c:909,1
    - Dst: strlen
      Src: /src/gnupg/agent/call-scd.c:911,1
    - Dst: strlen
      Src: /src/gnupg/agent/call-scd.c:914,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-scd.c:914,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-scd.c:915,1
    - Dst: stpcpy
      Src: /src/gnupg/agent/call-scd.c:917,1
    - Dst: stpcpy
      Src: /src/gnupg/agent/call-scd.c:917,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-scd.c:919,1
    - Dst: start_scd
      Src: /src/gnupg/agent/call-scd.c:921,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-scd.c:925,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:925,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/agent/call-scd.c:929,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-scd.c:932,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:937,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:939,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - ctrl
    - name
    - result
    - keygrip
    argTypes:
    - ctrl_t
    - char*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 896
    functionDepth: 7
    functionLinenumber: 896
    functionLinenumberEnd: 940
    functionName: agent_card_getattr
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 3
    functionsReached:
    - start_scd
    - strlen
    - snprintf
    - DIM
    - assuan_transact
    - gpg_error_from_errno
    - gpg_error
    - memset
    - xfree
    - stpcpy
    - daemon_ctx
    - unlock_scd
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_card_getattr (ctrl_t ctrl, const char *name, char
      **result,\n                    const char *keygrip)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:959,1
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:961,1
    - Dst: memcmp
      Src: /src/gnupg/agent/call-scd.c:964,1
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/call-scd.c:974,1
    - Dst: hexdigitp
      Src: /src/gnupg/agent/call-scd.c:978,1
    - Dst: memcpy
      Src: /src/gnupg/agent/call-scd.c:984,1
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:992,1
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:1001,1
    - Dst: hexdigitp
      Src: /src/gnupg/agent/call-scd.c:1004,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/call-scd.c:1010,1
    - Dst: memcpy
      Src: /src/gnupg/agent/call-scd.c:1014,1
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:1022,1
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:1028,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/call-scd.c:1031,1
    - Dst: memcpy
      Src: /src/gnupg/agent/call-scd.c:1034,1
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:1037,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/call-scd.c:1043,1
    - Dst: memcmp
      Src: /src/gnupg/agent/call-scd.c:1050,1
    - Dst: handle_pincache_put
      Src: /src/gnupg/agent/call-scd.c:1051,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:1056,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:1057,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:1058,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/call-scd.c:1060,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:1064,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-scd.c:1066,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 91
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 950
    functionDepth: 2
    functionLinenumber: 950
    functionLinenumberEnd: 1068
    functionName: card_keyinfo_cb
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - handle_pincache_put
    - xtrymalloc
    - gpg_error_from_syserror
    - spacep
    - xtrystrdup
    - gpg_error
    - memcmp
    - xfree
    - xtrycalloc
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t card_keyinfo_cb (void *opaque, const char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:1079,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:1080,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:1081,1
    - Dst: xfree
      Src: /src/gnupg/agent/call-scd.c:1082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct card_key_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1084
    functionName: agent_card_free_keyinfo
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 4
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void agent_card_free_keyinfo (struct card_key_info_s *l)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/call-scd.c:1108,1
    - Dst: memset
      Src: /src/gnupg/agent/call-scd.c:1111,1
    - Dst: snprintf
      Src: /src/gnupg/agent/call-scd.c:1112,1
    - Dst: start_scd
      Src: /src/gnupg/agent/call-scd.c:1114,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-scd.c:1118,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:1118,1
    - Dst: agent_card_free_keyinfo
      Src: /src/gnupg/agent/call-scd.c:1127,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:1129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - ctrl
    - keygrip
    - cap
    - result
    argTypes:
    - ctrl_t
    - char*
    - int
    - struct card_key_info_s**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1091
    functionDepth: 7
    functionLinenumber: 1091
    functionLinenumberEnd: 1130
    functionName: agent_card_keyinfo
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 3
    functionsReached:
    - snprintf
    - assuan_transact
    - agent_card_free_keyinfo
    - gpg_error
    - memset
    - start_scd
    - daemon_ctx
    - unlock_scd
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_card_keyinfo (ctrl_t ctrl, const char *keygrip,
      int cap,\n                    struct card_key_info_s **result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:1140,1
    - Dst: assuan_write_line
      Src: /src/gnupg/agent/call-scd.c:1146,1
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:1150,1
    - Dst: DIM
      Src: /src/gnupg/agent/call-scd.c:1150,1
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:1155,1
    - Dst: spacep
      Src: /src/gnupg/agent/call-scd.c:1157,1
    - Dst: strcmp
      Src: /src/gnupg/agent/call-scd.c:1161,1
    - Dst: handle_pincache_put
      Src: /src/gnupg/agent/call-scd.c:1162,1
    - Dst: assuan_write_status
      Src: /src/gnupg/agent/call-scd.c:1164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1132
    functionDepth: 2
    functionLinenumber: 1132
    functionLinenumberEnd: 1167
    functionName: pass_status_thru
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 0
    functionsReached:
    - handle_pincache_put
    - assuan_write_line
    - assuan_write_status
    - DIM
    - spacep
    - strcmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t pass_status_thru (void *opaque, const char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_send_data
      Src: /src/gnupg/agent/call-scd.c:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - opaque
    - buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1176
    functionName: pass_data_thru
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t pass_data_thru (void *opaque, const void *buffer, size_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_set_flag
      Src: /src/gnupg/agent/call-scd.c:1190,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:1190,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-scd.c:1191,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1196
    functionName: devinfo_watch_thread
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 0
    functionsReached:
    - assuan_transact
    - daemon_ctx
    - assuan_set_flag
    linkageType: ''
    returnType: void
    signature: 'void *

      devinfo_watch_thread (void *arg)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: daemon_start
      Src: /src/gnupg/agent/call-scd.c:1215,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:1221,1
    - Dst: npth_attr_init
      Src: /src/gnupg/agent/call-scd.c:1223,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/agent/call-scd.c:1227,1
    - Dst: npth_create
      Src: /src/gnupg/agent/call-scd.c:1228,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/agent/call-scd.c:1229,1
    - Dst: log_error
      Src: /src/gnupg/agent/call-scd.c:1232,1
    - Dst: strerror
      Src: /src/gnupg/agent/call-scd.c:1232,1
    - Dst: assuan_get_active_fds
      Src: /src/gnupg/agent/call-scd.c:1236,1
    - Dst: assuan_get_active_fds
      Src: /src/gnupg/agent/call-scd.c:1239,1
    - Dst: FD_ZERO
      Src: /src/gnupg/agent/call-scd.c:1248,1
    - Dst: FD_SET
      Src: /src/gnupg/agent/call-scd.c:1249,1
    - Dst: FD2INT
      Src: /src/gnupg/agent/call-scd.c:1249,1
    - Dst: FD2NUM
      Src: /src/gnupg/agent/call-scd.c:1250,1
    - Dst: npth_select
      Src: /src/gnupg/agent/call-scd.c:1252,1
    - Dst: shutdown
      Src: /src/gnupg/agent/call-scd.c:1260,1
    - Dst: shutdown
      Src: /src/gnupg/agent/call-scd.c:1262,1
    - Dst: shutdown
      Src: /src/gnupg/agent/call-scd.c:1265,1
    - Dst: npth_join
      Src: /src/gnupg/agent/call-scd.c:1268,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:1270,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - ctrl
    - assuan_context
    argTypes:
    - ctrl_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1198
    functionDepth: 6
    functionLinenumber: 1198
    functionLinenumberEnd: 1271
    functionName: agent_card_devinfo
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 0
    functionsReached:
    - FD_ZERO
    - FD2INT
    - unlock_scd
    - assuan_get_active_fds
    - log_error
    - npth_attr_init
    - npth_create
    - npth_attr_destroy
    - npth_attr_setdetachstate
    - FD_SET
    - shutdown
    - FD2NUM
    - npth_select
    - daemon_ctx
    - daemon_start
    - strerror
    - npth_join
    linkageType: ''
    returnType: int
    signature: int agent_card_devinfo (ctrl_t ctrl, void *assuan_context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/agent/call-scd.c:1289,1
    - Dst: agent_card_devinfo
      Src: /src/gnupg/agent/call-scd.c:1290,1
    - Dst: start_scd
      Src: /src/gnupg/agent/call-scd.c:1292,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:1296,1
    - Dst: assuan_get_flag
      Src: /src/gnupg/agent/call-scd.c:1304,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:1304,1
    - Dst: assuan_set_flag
      Src: /src/gnupg/agent/call-scd.c:1305,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:1305,1
    - Dst: assuan_transact
      Src: /src/gnupg/agent/call-scd.c:1306,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:1306,1
    - Dst: assuan_set_flag
      Src: /src/gnupg/agent/call-scd.c:1311,1
    - Dst: daemon_ctx
      Src: /src/gnupg/agent/call-scd.c:1311,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:1314,1
    - Dst: unlock_scd
      Src: /src/gnupg/agent/call-scd.c:1317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - ctrl
    - cmdline
    - getpin_cb_arg
    - assuan_context
    argTypes:
    - ctrl_t
    - char*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1277
    functionDepth: 7
    functionLinenumber: 1277
    functionLinenumberEnd: 1318
    functionName: agent_card_scd
    functionSourceFile: /src/gnupg/agent/call-scd.c
    functionUses: 1
    functionsReached:
    - agent_card_devinfo
    - strcmp
    - assuan_transact
    - assuan_get_flag
    - start_scd
    - daemon_ctx
    - assuan_set_flag
    - unlock_scd
    linkageType: ''
    returnType: int
    signature: "int agent_card_scd (ctrl_t ctrl, const char *cmdline,\n                int
      (*getpin_cb)(void *, const char *,\n                                 const char
      *, char*, size_t),\n                void *getpin_cb_arg, void *assuan_context)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/agent/pksign.c:46,1
    - Dst: strlen
      Src: /src/gnupg/agent/pksign.c:47,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pksign.c:50,1
    - Dst: ascii_tolower
      Src: /src/gnupg/agent/pksign.c:55,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/pksign.c:58,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/pksign.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - md
    - mdlen
    - algo
    - r_hash
    - raw_value
    argTypes:
    - byte*
    - size_t
    - int
    - gcry_sexp_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 72
    functionName: do_encode_md
    functionSourceFile: /src/gnupg/agent/pksign.c
    functionUses: 3
    functionsReached:
    - ascii_tolower
    - strlen
    - gcry_md_algo_name
    - gpg_error
    - gcry_sexp_build
    linkageType: ''
    returnType: int
    signature: "int do_encode_md (const byte * md, size_t mdlen, int algo, gcry_sexp_t
      * r_hash,\n\t      int raw_value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/pksign.c:84,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/pksign.c:86,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/pksign.c:88,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/pksign.c:90,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/agent/pksign.c:93,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/pksign.c:94,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/agent/pksign.c:95,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/pksign.c:96,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/gnupg/agent/pksign.c:99,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/pksign.c:100,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/gnupg/agent/pksign.c:103,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/agent/pksign.c:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - key
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 107
    functionName: get_dsa_qbits
    functionSourceFile: /src/gnupg/agent/pksign.c
    functionUses: 1
    functionsReached:
    - gcry_sexp_nth_mpi
    - gcry_sexp_cadr
    - gcry_sexp_find_token
    - gcry_sexp_release
    - gcry_mpi_release
    - gcry_mpi_get_nbits
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_dsa_qbits (gcry_sexp_t key)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - mdlen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: rfc6979_hash_algo_string
    functionSourceFile: /src/gnupg/agent/pksign.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rfc6979_hash_algo_string (size_t mdlen)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/pksign.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - nbits
    - md
    - mdlen
    - r_hash
    argTypes:
    - size_t
    - byte*
    - size_t
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 149
    functionName: do_encode_eddsa
    functionSourceFile: /src/gnupg/agent/pksign.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_build
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_encode_eddsa (size_t nbits, const byte *md, size_t
      mdlen,\n                 gcry_sexp_t *r_hash)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_get_nbits
      Src: /src/gnupg/agent/pksign.c:164,1
    - Dst: get_dsa_qbits
      Src: /src/gnupg/agent/pksign.c:166,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pksign.c:168,1
    - Dst: log_error
      Src: /src/gnupg/agent/pksign.c:174,1
    - Dst: _
      Src: /src/gnupg/agent/pksign.c:174,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pksign.c:176,1
    - Dst: log_error
      Src: /src/gnupg/agent/pksign.c:185,1
    - Dst: _
      Src: /src/gnupg/agent/pksign.c:185,1
    - Dst: gcry_pk_algo_name
      Src: /src/gnupg/agent/pksign.c:186,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pksign.c:187,1
    - Dst: log_error
      Src: /src/gnupg/agent/pksign.c:200,1
    - Dst: _
      Src: /src/gnupg/agent/pksign.c:200,1
    - Dst: gcry_pk_get_nbits
      Src: /src/gnupg/agent/pksign.c:202,1
    - Dst: gcry_pk_algo_name
      Src: /src/gnupg/agent/pksign.c:203,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pksign.c:204,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/pksign.c:212,1
    - Dst: rfc6979_hash_algo_string
      Src: /src/gnupg/agent/pksign.c:214,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 5
    argNames:
    - md
    - mdlen
    - pkalgo
    - pkey
    - r_hash
    argTypes:
    - byte*
    - size_t
    - int
    - gcry_sexp_t
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 219
    functionName: do_encode_dsa
    functionSourceFile: /src/gnupg/agent/pksign.c
    functionUses: 0
    functionsReached:
    - get_dsa_qbits
    - log_error
    - _
    - gpg_error
    - gcry_pk_algo_name
    - rfc6979_hash_algo_string
    - gcry_pk_get_nbits
    - gcry_sexp_build
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_encode_dsa (const byte *md, size_t mdlen, int pkalgo,
      gcry_sexp_t pkey,\n               gcry_sexp_t *r_hash)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/pksign.c:239,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/pksign.c:242,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/pksign.c:244,1
    - Dst: log_assert
      Src: /src/gnupg/agent/pksign.c:251,1
    - Dst: memset
      Src: /src/gnupg/agent/pksign.c:252,1
    - Dst: memcpy
      Src: /src/gnupg/agent/pksign.c:255,1
    - Dst: log_assert
      Src: /src/gnupg/agent/pksign.c:257,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/pksign.c:260,1
    - Dst: xfree
      Src: /src/gnupg/agent/pksign.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - md
    - mdlen
    - nbits
    - r_hash
    argTypes:
    - byte*
    - size_t
    - unsigned int
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 267
    functionName: do_encode_raw_pkcs1
    functionSourceFile: /src/gnupg/agent/pksign.c
    functionUses: 0
    functionsReached:
    - log_assert
    - gpg_error_from_syserror
    - gpg_error
    - memset
    - memcpy
    - xfree
    - gcry_sexp_build
    - xtrymalloc
    linkageType: ''
    returnType: int
    signature: "int do_encode_raw_pkcs1 (const byte *md, size_t mdlen, unsigned int
      nbits,\n                     gcry_sexp_t *r_hash)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/agent/pksign.c:315,1
    - Dst: agent_key_from_file
      Src: /src/gnupg/agent/pksign.c:317,1
    - Dst: gpg_err_code
      Src: /src/gnupg/agent/pksign.c:320,1
    - Dst: log_error
      Src: /src/gnupg/agent/pksign.c:324,1
    - Dst: get_pk_algo_from_key
      Src: /src/gnupg/agent/pksign.c:328,1
    - Dst: agent_card_serialno
      Src: /src/gnupg/agent/pksign.c:349,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pksign.c:352,1
    - Dst: bin2hex
      Src: /src/gnupg/agent/pksign.c:355,1
    - Dst: agent_card_readkey
      Src: /src/gnupg/agent/pksign.c:356,1
    - Dst: xfree
      Src: /src/gnupg/agent/pksign.c:359,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pksign.c:360,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/agent/pksign.c:363,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/agent/pksign.c:364,1
    - Dst: xfree
      Src: /src/gnupg/agent/pksign.c:367,1
    - Dst: xfree
      Src: /src/gnupg/agent/pksign.c:368,1
    - Dst: xfree
      Src: /src/gnupg/agent/pksign.c:369,1
    - Dst: log_error
      Src: /src/gnupg/agent/pksign.c:370,1
    - Dst: agent_card_getattr
      Src: /src/gnupg/agent/pksign.c:378,1
    - Dst: agent_write_shadow_key
      Src: /src/gnupg/agent/pksign.c:380,1
    - Dst: xfree
      Src: /src/gnupg/agent/pksign.c:383,1
    - Dst: get_pk_algo_from_key
      Src: /src/gnupg/agent/pksign.c:385,1
    - Dst: xfree
      Src: /src/gnupg/agent/pksign.c:387,1
    - Dst: xfree
      Src: /src/gnupg/agent/pksign.c:388,1
    - Dst: xfree
      Src: /src/gnupg/agent/pksign.c:389,1
    - Dst: agent_public_key_from_file
      Src: /src/gnupg/agent/pksign.c:394,1
    - Dst: log_error
      Src: /src/gnupg/agent/pksign.c:397,1
    - Dst: agent_is_tpm2_key
      Src: /src/gnupg/agent/pksign.c:403,1
    - Dst: divert_tpm2_pksign
      Src: /src/gnupg/agent/pksign.c:404,1
    - Dst: divert_pksign
      Src: /src/gnupg/agent/pksign.c:409,1
    - Dst: log_error
      Src: /src/gnupg/agent/pksign.c:417,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/pksign.c:417,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/pksign.c:444,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/pksign.c:449,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/pksign.c:479,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pksign.c:484,1
    - Dst: xfree
      Src: /src/gnupg/agent/pksign.c:486,1
    - Dst: log_error
      Src: /src/gnupg/agent/pksign.c:489,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/pksign.c:490,1
    - Dst: do_encode_eddsa
      Src: /src/gnupg/agent/pksign.c:500,1
    - Dst: gcry_pk_get_nbits
      Src: /src/gnupg/agent/pksign.c:500,1
    - Dst: do_encode_raw_pkcs1
      Src: /src/gnupg/agent/pksign.c:503,1
    - Dst: gcry_pk_get_nbits
      Src: /src/gnupg/agent/pksign.c:504,1
    - Dst: do_encode_dsa
      Src: /src/gnupg/agent/pksign.c:507,1
    - Dst: log_info
      Src: /src/gnupg/agent/pksign.c:512,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/pksign.c:514,1
    - Dst: do_encode_md
      Src: /src/gnupg/agent/pksign.c:517,1
    - Dst: gcry_log_debugsxp
      Src: /src/gnupg/agent/pksign.c:526,1
    - Dst: gcry_log_debugsxp
      Src: /src/gnupg/agent/pksign.c:527,1
    - Dst: gcry_pk_sign
      Src: /src/gnupg/agent/pksign.c:531,1
    - Dst: log_error
      Src: /src/gnupg/agent/pksign.c:534,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/pksign.c:534,1
    - Dst: gcry_log_debugsxp
      Src: /src/gnupg/agent/pksign.c:539,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/agent/pksign.c:555,1
    - Dst: do_encode_dsa
      Src: /src/gnupg/agent/pksign.c:560,1
    - Dst: do_encode_raw_pkcs1
      Src: /src/gnupg/agent/pksign.c:562,1
    - Dst: gcry_pk_get_nbits
      Src: /src/gnupg/agent/pksign.c:563,1
    - Dst: do_encode_md
      Src: /src/gnupg/agent/pksign.c:565,1
    - Dst: gcry_pk_verify
      Src: /src/gnupg/agent/pksign.c:570,1
    - Dst: log_error
      Src: /src/gnupg/agent/pksign.c:574,1
    - Dst: _
      Src: /src/gnupg/agent/pksign.c:574,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/pksign.c:575,1
    - Dst: gcry_log_debugsxp
      Src: /src/gnupg/agent/pksign.c:578,1
    - Dst: gcry_log_debugsxp
      Src: /src/gnupg/agent/pksign.c:579,1
    - Dst: gcry_log_debugsxp
      Src: /src/gnupg/agent/pksign.c:580,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/pksign.c:582,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/pksign.c:591,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/pksign.c:592,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/pksign.c:593,1
    - Dst: xfree
      Src: /src/gnupg/agent/pksign.c:594,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 170
    argCount: 8
    argNames:
    - ctrl
    - cache_nonce
    - desc_text
    - signature_sexp
    - cache_mode
    - lookup_ttl
    - overridedata
    - overridedatalen
    argTypes:
    - ctrl_t
    - char*
    - char*
    - gcry_sexp_t*
    - cache_mode_t
    - lookup_ttl_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 279
    functionDepth: 12
    functionLinenumber: 279
    functionLinenumberEnd: 597
    functionName: agent_pksign_do
    functionSourceFile: /src/gnupg/agent/pksign.c
    functionUses: 1
    functionsReached:
    - divert_tpm2_pksign
    - gcry_sexp_sscan
    - do_encode_md
    - gcry_sexp_canon_len
    - agent_is_tpm2_key
    - gcry_pk_get_nbits
    - do_encode_dsa
    - gcry_log_debugsxp
    - do_encode_eddsa
    - agent_public_key_from_file
    - log_error
    - divert_pksign
    - _
    - log_info
    - gcry_sexp_release
    - agent_card_readkey
    - agent_write_shadow_key
    - gcry_sexp_build
    - gcry_pk_verify
    - agent_card_getattr
    - gpg_error
    - xfree
    - gpg_strerror
    - agent_card_serialno
    - do_encode_raw_pkcs1
    - gcry_pk_sign
    - bin2hex
    - get_pk_algo_from_key
    - gpg_err_code
    - agent_key_from_file
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_pksign_do (ctrl_t ctrl, const char *cache_nonce,\n
      \                const char *desc_text,\n\t\t gcry_sexp_t *signature_sexp,\n
      \                cache_mode_t cache_mode, lookup_ttl_t lookup_ttl,\n                 const
      void *overridedata, size_t overridedatalen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: agent_pksign_do
      Src: /src/gnupg/agent/pksign.c:612,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/pksign.c:617,1
    - Dst: log_assert
      Src: /src/gnupg/agent/pksign.c:618,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/pksign.c:619,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/pksign.c:622,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/agent/pksign.c:625,1
    - Dst: log_assert
      Src: /src/gnupg/agent/pksign.c:626,1
    - Dst: put_membuf
      Src: /src/gnupg/agent/pksign.c:627,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/agent/pksign.c:630,1
    - Dst: xfree
      Src: /src/gnupg/agent/pksign.c:631,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - ctrl
    - cache_nonce
    - desc_text
    - outbuf
    - cache_mode
    argTypes:
    - ctrl_t
    - char*
    - char*
    - membuf_t*
    - cache_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 603
    functionDepth: 13
    functionLinenumber: 603
    functionLinenumberEnd: 634
    functionName: agent_pksign
    functionSourceFile: /src/gnupg/agent/pksign.c
    functionUses: 4
    functionsReached:
    - gpg_error_from_syserror
    - log_assert
    - put_membuf
    - agent_pksign_do
    - xfree
    - gcry_sexp_release
    - gcry_sexp_sprint
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t agent_pksign (ctrl_t ctrl, const char *cache_nonce, const
      char *desc_text,\n              membuf_t *outbuf, cache_mode_t cache_mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_init
      Src: /src/gnupg/agent/cache.c:101,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/cache.c:104,1
    - Dst: strerror
      Src: /src/gnupg/agent/cache.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: initialize_module_cache
    functionSourceFile: /src/gnupg/agent/cache.c
    functionUses: 2
    functionsReached:
    - npth_mutex_init
    - log_fatal
    - strerror
    linkageType: ''
    returnType: void
    signature: void initialize_module_cache (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/cache.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: deinitialize_module_cache
    functionSourceFile: /src/gnupg/agent/cache.c
    functionUses: 1
    functionsReached:
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void deinitialize_module_cache (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_open
      Src: /src/gnupg/agent/cache.c:131,1
    - Dst: gcry_random_bytes
      Src: /src/gnupg/agent/cache.c:135,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/cache.c:137,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/agent/cache.c:140,1
    - Dst: xfree
      Src: /src/gnupg/agent/cache.c:141,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/agent/cache.c:145,1
    - Dst: log_error
      Src: /src/gnupg/agent/cache.c:150,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/cache.c:151,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cache.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 154
    functionName: init_encryption
    functionSourceFile: /src/gnupg/agent/cache.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_open
    - gcry_cipher_setkey
    - gpg_error_from_syserror
    - log_error
    - gcry_random_bytes
    - gpg_error
    - xfree
    - gpg_strerror
    - gcry_cipher_close
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t init_encryption (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/agent/cache.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct secret_data_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: release_data
    functionSourceFile: /src/gnupg/agent/cache.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_data (struct secret_data_s *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: init_encryption
      Src: /src/gnupg/agent/cache.c:174,1
    - Dst: strlen
      Src: /src/gnupg/agent/cache.c:178,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/agent/cache.c:187,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/cache.c:189,1
    - Dst: memcpy
      Src: /src/gnupg/agent/cache.c:190,1
    - Dst: xtrymalloc
      Src: /src/gnupg/agent/cache.c:192,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/cache.c:195,1
    - Dst: xfree
      Src: /src/gnupg/agent/cache.c:196,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/agent/cache.c:201,1
    - Dst: xfree
      Src: /src/gnupg/agent/cache.c:203,1
    - Dst: xfree
      Src: /src/gnupg/agent/cache.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - string
    - r_data
    argTypes:
    - char*
    - struct secret_data_s**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 211
    functionName: new_data
    functionSourceFile: /src/gnupg/agent/cache.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    - gpg_error_from_syserror
    - strlen
    - xtrymalloc_secure
    - gcry_cipher_encrypt
    - xfree
    - init_encryption
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t new_data (const char *string, struct secret_data_s **r_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - ITEM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: insert_to_timer_list_new
    functionSourceFile: /src/gnupg/agent/cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void insert_to_timer_list_new (ITEM entry)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - ts
    - entry
    argTypes:
    - struct timespec*
    - ITEM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 264
    functionName: insert_to_timer_list
    functionSourceFile: /src/gnupg/agent/cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void insert_to_timer_list (struct timespec *ts, ITEM entry)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - entry
    argTypes:
    - ITEM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 290
    functionName: remove_from_timer_list
    functionSourceFile: /src/gnupg/agent/cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_from_timer_list (ITEM entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - entry
    argTypes:
    - ITEM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 313
    functionName: remove_from_timer_list_new
    functionSourceFile: /src/gnupg/agent/cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_from_timer_list_new (ITEM entry)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_get_time
      Src: /src/gnupg/agent/cache.c:319,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - r
    argTypes:
    - ITEM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 368
    functionName: compute_expiration
    functionSourceFile: /src/gnupg/agent/cache.c
    functionUses: 0
    functionsReached:
    - gnupg_get_time
    linkageType: ''
    returnType: int
    signature: int compute_expiration (ITEM r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: remove_from_timer_list
      Src: /src/gnupg/agent/cache.c:375,1
    - Dst: remove_from_timer_list_new
      Src: /src/gnupg/agent/cache.c:376,1
    - Dst: compute_expiration
      Src: /src/gnupg/agent/cache.c:379,1
    - Dst: insert_to_timer_list_new
      Src: /src/gnupg/agent/cache.c:381,1
    - Dst: agent_kick_the_loop
      Src: /src/gnupg/agent/cache.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - entry
    - is_new_entry
    argTypes:
    - ITEM
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 384
    functionName: update_expiration
    functionSourceFile: /src/gnupg/agent/cache.c
    functionUses: 0
    functionsReached:
    - compute_expiration
    - remove_from_timer_list
    - insert_to_timer_list_new
    - remove_from_timer_list_new
    - agent_kick_the_loop
    linkageType: ''
    returnType: void
    signature: void update_expiration (ITEM entry, int is_new_entry)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/agent/cache.c:399,1
    - Dst: log_debug
      Src: /src/gnupg/agent/cache.c:405,1
    - Dst: release_data
      Src: /src/gnupg/agent/cache.c:409,1
    - Dst: compute_expiration
      Src: /src/gnupg/agent/cache.c:413,1
    - Dst: insert_to_timer_list_new
      Src: /src/gnupg/agent/cache.c:414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - e
    argTypes:
    - ITEM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 417
    functionName: do_expire
    functionSourceFile: /src/gnupg/agent/cache.c
    functionUses: 0
    functionsReached:
    - compute_expiration
    - insert_to_timer_list_new
    - release_data
    - log_debug
    linkageType: ''
    returnType: int
    signature: int do_expire (ITEM e)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/agent/cache.c:431,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/cache.c:433,1
    - Dst: strerror
      Src: /src/gnupg/agent/cache.c:433,1
    - Dst: npth_clock_gettime
      Src: /src/gnupg/agent/cache.c:435,1
    - Dst: npth_timercmp
      Src: /src/gnupg/agent/cache.c:438,1
    - Dst: npth_timersub
      Src: /src/gnupg/agent/cache.c:441,1
    - Dst: do_expire
      Src: /src/gnupg/agent/cache.c:449,1
    - Dst: log_debug
      Src: /src/gnupg/agent/cache.c:454,1
    - Dst: remove_from_timer_list_new
      Src: /src/gnupg/agent/cache.c:470,1
    - Dst: xfree
      Src: /src/gnupg/agent/cache.c:472,1
    - Dst: insert_to_timer_list
      Src: /src/gnupg/agent/cache.c:483,1
    - Dst: npth_timeradd
      Src: /src/gnupg/agent/cache.c:497,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/agent/cache.c:501,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/cache.c:503,1
    - Dst: strerror
      Src: /src/gnupg/agent/cache.c:503,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 420
    functionDepth: 4
    functionLinenumber: 420
    functionLinenumberEnd: 506
    functionName: agent_cache_expiration
    functionSourceFile: /src/gnupg/agent/cache.c
    functionUses: 1
    functionsReached:
    - npth_timercmp
    - npth_mutex_lock
    - npth_timeradd
    - npth_mutex_unlock
    - insert_to_timer_list
    - log_fatal
    - npth_timersub
    - npth_clock_gettime
    - do_expire
    - xfree
    - remove_from_timer_list_new
    - strerror
    - log_debug
    linkageType: ''
    returnType: struct timespec
    signature: 'struct timespec *

      agent_cache_expiration (void)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/agent/cache.c:516,1
    - Dst: npth_mutex_lock
      Src: /src/gnupg/agent/cache.c:518,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/cache.c:520,1
    - Dst: strerror
      Src: /src/gnupg/agent/cache.c:520,1
    - Dst: log_debug
      Src: /src/gnupg/agent/cache.c:529,1
    - Dst: release_data
      Src: /src/gnupg/agent/cache.c:530,1
    - Dst: update_expiration
      Src: /src/gnupg/agent/cache.c:533,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/agent/cache.c:537,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/cache.c:539,1
    - Dst: strerror
      Src: /src/gnupg/agent/cache.c:539,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - pincache_only
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 540
    functionName: agent_flush_cache
    functionSourceFile: /src/gnupg/agent/cache.c
    functionUses: 4
    functionsReached:
    - npth_mutex_lock
    - npth_mutex_unlock
    - log_fatal
    - update_expiration
    - strerror
    - release_data
    - log_debug
    linkageType: ''
    returnType: void
    signature: void agent_flush_cache (int pincache_only)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cache_mode_t
    - cache_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 553
    functionName: cache_mode_equal
    functionSourceFile: /src/gnupg/agent/cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cache_mode_equal (cache_mode_t a, cache_mode_t b)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/agent/cache.c:571,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/cache.c:573,1
    - Dst: strerror
      Src: /src/gnupg/agent/cache.c:573,1
    - Dst: log_debug
      Src: /src/gnupg/agent/cache.c:576,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cache.c:597,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cache.c:604,1
    - Dst: cache_mode_equal
      Src: /src/gnupg/agent/cache.c:609,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cache.c:611,1
    - Dst: release_data
      Src: /src/gnupg/agent/cache.c:618,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/agent/cache.c:623,1
    - Dst: new_data
      Src: /src/gnupg/agent/cache.c:626,1
    - Dst: log_error
      Src: /src/gnupg/agent/cache.c:628,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/cache.c:628,1
    - Dst: update_expiration
      Src: /src/gnupg/agent/cache.c:629,1
    - Dst: xtrycalloc
      Src: /src/gnupg/agent/cache.c:634,1
    - Dst: strlen
      Src: /src/gnupg/agent/cache.c:634,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/cache.c:636,1
    - Dst: strcpy
      Src: /src/gnupg/agent/cache.c:639,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/agent/cache.c:641,1
    - Dst: new_data
      Src: /src/gnupg/agent/cache.c:644,1
    - Dst: xfree
      Src: /src/gnupg/agent/cache.c:646,1
    - Dst: update_expiration
      Src: /src/gnupg/agent/cache.c:651,1
    - Dst: log_error
      Src: /src/gnupg/agent/cache.c:655,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/cache.c:655,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/agent/cache.c:659,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/cache.c:661,1
    - Dst: strerror
      Src: /src/gnupg/agent/cache.c:661,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 78
    argCount: 5
    argNames:
    - ctrl
    - key
    - cache_mode
    - data
    - ttl
    argTypes:
    - ctrl_t
    - char*
    - cache_mode_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 562
    functionDepth: 4
    functionLinenumber: 562
    functionLinenumberEnd: 664
    functionName: agent_put_cache
    functionSourceFile: /src/gnupg/agent/cache.c
    functionUses: 14
    functionsReached:
    - new_data
    - gnupg_get_time
    - npth_mutex_lock
    - npth_mutex_unlock
    - log_error
    - strlen
    - gpg_error_from_syserror
    - log_fatal
    - cache_mode_equal
    - update_expiration
    - strcmp
    - gpg_strerror
    - strcpy
    - xfree
    - xtrycalloc
    - strerror
    - release_data
    - log_debug
    linkageType: ''
    returnType: int
    signature: "int agent_put_cache (ctrl_t ctrl, const char *key, cache_mode_t cache_mode,\n
      \                const char *data, int ttl)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/agent/cache.c:683,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/cache.c:685,1
    - Dst: strerror
      Src: /src/gnupg/agent/cache.c:685,1
    - Dst: log_debug
      Src: /src/gnupg/agent/cache.c:696,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cache.c:703,1
    - Dst: cache_mode_equal
      Src: /src/gnupg/agent/cache.c:707,1
    - Dst: strcmp
      Src: /src/gnupg/agent/cache.c:709,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/agent/cache.c:721,1
    - Dst: update_expiration
      Src: /src/gnupg/agent/cache.c:722,1
    - Dst: log_debug
      Src: /src/gnupg/agent/cache.c:725,1
    - Dst: gpg_error
      Src: /src/gnupg/agent/cache.c:727,1
    - Dst: init_encryption
      Src: /src/gnupg/agent/cache.c:728,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/agent/cache.c:730,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/agent/cache.c:731,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/agent/cache.c:734,1
    - Dst: xfree
      Src: /src/gnupg/agent/cache.c:740,1
    - Dst: log_error
      Src: /src/gnupg/agent/cache.c:742,1
    - Dst: gpg_strerror
      Src: /src/gnupg/agent/cache.c:743,1
    - Dst: log_debug
      Src: /src/gnupg/agent/cache.c:749,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/agent/cache.c:752,1
    - Dst: log_fatal
      Src: /src/gnupg/agent/cache.c:754,1
    - Dst: strerror
      Src: /src/gnupg/agent/cache.c:754,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 52
    argCount: 3
    argNames:
    - ctrl
    - key
    - cache_mode
    argTypes:
    - ctrl_t
    - char*
    - cache_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 669
    functionDepth: 4
    functionLinenumber: 669
    functionLinenumberEnd: 757
    functionName: agent_get_cache
    functionSourceFile: /src/gnupg/agent/cache.c
    functionUses: 10
    functionsReached:
    - gcry_cipher_decrypt
    - gnupg_get_time
    - npth_mutex_lock
    - npth_mutex_unlock
    - gpg_error_from_syserror
    - log_error
    - log_fatal
    - cache_mode_equal
    - update_expiration
    - xtrymalloc_secure
    - strcmp
    - gpg_error
    - xfree
    - gpg_strerror
    - init_encryption
    - strerror
    - log_debug
    linkageType: ''
    returnType: char
    signature: 'char *

      agent_get_cache (ctrl_t ctrl, const char *key, cache_mode_t cache_mode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key::key
      Src: /src/gnupg/agent/cache.c:783,1
    - Dst: xtrystrdup
      Src: /src/gnupg/agent/cache.c:783,1
    - Dst: xfree::xfree
      Src: /src/gnupg/agent/cache.c:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 791
    functionName: agent_store_cache_hit
    functionSourceFile: /src/gnupg/agent/cache.c
    functionUses: 1
    functionsReached:
    - xtrystrdup
    - key::key
    - xfree::xfree
    linkageType: ''
    returnType: void
    signature: void agent_store_cache_hit (const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:42,1
    - Dst: ldap_uri_p
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:43,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:46,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - test_count
    - test
    argTypes:
    - int
    - struct test_ldap_uri_p*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: check_ldap_uri_p
    functionSourceFile: /src/gnupg/dirmngr/t-ldap-parse-uri.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fail
    - printf
    - ldap_uri_p
    linkageType: ''
    returnType: void
    signature: void check_ldap_uri_p (int test_count, struct test_ldap_uri_p *test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_ldap_uri_p
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 86
    functionName: test_ldap_uri_p
    functionSourceFile: /src/gnupg/dirmngr/t-ldap-parse-uri.c
    functionUses: 0
    functionsReached:
    - check_ldap_uri_p
    linkageType: ''
    returnType: void
    signature: void test_ldap_uri_p (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: cmp
    functionSourceFile: /src/gnupg/dirmngr/t-ldap-parse-uri.c
    functionUses: 720
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp (const char *a, const char *b)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:118,1
    - Dst: ldap_parse_uri
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:119,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:122,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:123,1
    - Dst: cmp
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:126,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:128,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:130,1
    - Dst: cmp
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:133,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:135,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:137,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:142,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:144,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:149,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:151,1
    - Dst: cmp
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:154,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:156,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:158,1
    - Dst: cmp
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:161,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:163,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:165,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:173,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:175,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:179,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:180,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:184,1
    - Dst: cmp
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:185,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:187,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:190,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:193,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 2
    argNames:
    - test_count
    - test
    argTypes:
    - int
    - struct test_ldap_parse_uri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 194
    functionName: check_ldap_parse_uri
    functionSourceFile: /src/gnupg/dirmngr/t-ldap-parse-uri.c
    functionUses: 0
    functionsReached:
    - printf
    - fail
    - ldap_parse_uri
    - fprintf
    - strcmp
    - cmp
    - http_release_parsed_uri
    linkageType: ''
    returnType: void
    signature: void check_ldap_parse_uri (int test_count, struct test_ldap_parse_uri
      *test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_ldap_parse_uri
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 216
    functionName: test_ldap_parse_uri
    functionSourceFile: /src/gnupg/dirmngr/t-ldap-parse-uri.c
    functionUses: 0
    functionsReached:
    - check_ldap_parse_uri
    linkageType: ''
    returnType: void
    signature: void test_ldap_parse_uri (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ldap_escape_filter
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:227,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:229,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:231,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:233,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - test_count
    - test
    argTypes:
    - int
    - struct test_ldap_escape_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 237
    functionName: check_ldap_escape_filter
    functionSourceFile: /src/gnupg/dirmngr/t-ldap-parse-uri.c
    functionUses: 0
    functionsReached:
    - printf
    - fail
    - ldap_escape_filter
    - strcmp
    - xfree
    linkageType: ''
    returnType: void
    signature: void check_ldap_escape_filter (int test_count, struct test_ldap_escape_filter
      *test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_ldap_escape_filter
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 254
    functionName: test_ldap_escape_filter
    functionSourceFile: /src/gnupg/dirmngr/t-ldap-parse-uri.c
    functionUses: 0
    functionsReached:
    - check_ldap_escape_filter
    linkageType: ''
    returnType: void
    signature: void test_ldap_escape_filter (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:268,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:273,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:275,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:279,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:281,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:286,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:288,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:289,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:294,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:295,1
    - Dst: test_ldap_uri_p
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:298,1
    - Dst: test_ldap_parse_uri
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:299,1
    - Dst: test_ldap_escape_filter
      Src: /src/gnupg/dirmngr/t-ldap-parse-uri.c:300,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 303
    functionName: main
    functionSourceFile: /src/gnupg/dirmngr/t-ldap-parse-uri.c
    functionUses: 9
    functionsReached:
    - test_ldap_escape_filter
    - exit
    - strcmp
    - fprintf
    - test_ldap_parse_uri
    - fputs
    - strncmp
    - test_ldap_uri_p
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: npth_unprotect
    functionSourceFile: /src/gnupg/dirmngr/dirmngr_ldap.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void npth_unprotect (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: npth_protect
    functionSourceFile: /src/gnupg/dirmngr/dirmngr_ldap.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void npth_protect (void)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 193
    functionName: my_strusage
    functionSourceFile: /src/gnupg/dirmngr/dirmngr_ldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage (int level)'
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: early_system_init
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:206,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:208,1
    - Dst: log_set_prefix
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:209,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:211,1
    - Dst: es_set_binary
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:213,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:225,1
    - Dst: getenv
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:245,1
    - Dst: log_get_prefix
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:255,1
    - Dst: log_set_prefix
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:256,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:265,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:272,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:275,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:275,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:279,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:283,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:290,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:301,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:302,1
    - Dst: sigemptyset
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:311,1
    - Dst: sigaction
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:313,1
    - Dst: signal
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:315,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:317,1
    - Dst: connect_ldap
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:321,1
    - Dst: process_filter
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:327,1
    - Dst: process_filter
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:333,1
    - Dst: ldap_unbind
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:336,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:339,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 129
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 341
    functionName: main
    functionSourceFile: /src/gnupg/dirmngr/dirmngr_ldap.c
    functionUses: 9
    functionsReached:
    - init_common_subsystems
    - exit
    - log_get_prefix
    - sigaction
    - gpgrt_set_strusage
    - log_error
    - early_system_init
    - log_set_prefix
    - process_filter
    - log_get_errorcount
    - es_set_binary
    - xtrystrdup
    - strchr
    - xfree
    - signal
    - gpgrt_argparse
    - ldap_unbind
    - atoi
    - getenv
    - log_fatal
    - connect_ldap
    - sigemptyset
    - strerror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _exit
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: catch_alarm
    functionSourceFile: /src/gnupg/dirmngr/dirmngr_ldap.c
    functionUses: 0
    functionsReached:
    - _exit
    linkageType: ''
    returnType: void
    signature: void catch_alarm (int dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:359,1
    - Dst: _exit
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 363
    functionName: alarm_thread
    functionSourceFile: /src/gnupg/dirmngr/dirmngr_ldap.c
    functionUses: 0
    functionsReached:
    - _exit
    - WaitForSingleObject
    linkageType: ''
    returnType: DWORD
    signature: DWORD alarm_thread (void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:384,1
    - Dst: CreateWaitableTimer
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:389,1
    - Dst: SetWaitableTimer
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:391,1
    - Dst: CreateThread
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:393,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:394,1
    - Dst: SetWaitableTimer
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:397,1
    - Dst: alarm
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 402
    functionName: set_timeout
    functionSourceFile: /src/gnupg/dirmngr/dirmngr_ldap.c
    functionUses: 0
    functionsReached:
    - log_error
    - alarm
    - CreateThread
    - CreateWaitableTimer
    - memset
    - SetWaitableTimer
    linkageType: ''
    returnType: void
    signature: void set_timeout (void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:423,1
    - Dst: set_timeout
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:430,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:432,1
    - Dst: ldap_sslinit
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:433,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:434,1
    - Dst: LdapGetLastError
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:437,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:438,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:439,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:440,1
    - Dst: ldap_set_option
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:445,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:448,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:449,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:450,1
    - Dst: xtryasprintf
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:455,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:460,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:463,1
    - Dst: ldap_initialize
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:464,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:465,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:468,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:469,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:470,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:471,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:474,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:478,1
    - Dst: ldap_set_option
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:488,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:491,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:491,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:492,1
    - Dst: ldap_set_option
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:505,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:508,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:509,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:510,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:521,1
    - Dst: ldap_start_tls_s
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:522,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:529,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:532,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:533,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:534,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:543,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:545,1
    - Dst: ldap_bind_s
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:546,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:547,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:550,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:551,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:552,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:556,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:563,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:566,1
    - Dst: ldap_simple_bind_s
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:567,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:568,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:571,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:571,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:572,1
    - Dst: ldap_unbind
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:585,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 111
    argCount: 1
    argNames:
    - r_ld
    argTypes:
    - LDAP**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 590
    functionName: connect_ldap
    functionSourceFile: /src/gnupg/dirmngr/dirmngr_ldap.c
    functionUses: 1
    functionsReached:
    - ldap_set_option
    - ldap_bind_s
    - xtryasprintf
    - npth_unprotect
    - npth_protect
    - ldap_err2string
    - log_error
    - ldap_initialize
    - log_info
    - LdapGetLastError
    - ldap_err_to_gpg_err
    - gpg_error_from_syserror
    - ldap_start_tls_s
    - gpg_error
    - xfree
    - set_timeout
    - ldap_unbind
    - ldap_sslinit
    - ldap_simple_bind_s
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t connect_ldap (LDAP **r_ld)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:600,1
    - Dst: ldap_first_entry
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:600,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:600,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:602,1
    - Dst: ldap_next_entry
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:602,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:602,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:608,1
    - Dst: es_fwrite
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:613,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:615,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:616,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:622,1
    - Dst: ldap_first_attribute
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:622,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:623,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:625,1
    - Dst: ldap_next_attribute
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:625,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:626,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:632,1
    - Dst: set_timeout
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:634,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:645,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:648,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:651,1
    - Dst: ldap_memfree
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:658,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:663,1
    - Dst: ldap_get_values_len
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:664,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:665,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:670,1
    - Dst: ldap_memfree
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:671,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:677,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:680,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:688,1
    - Dst: es_fwrite
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:695,1
    - Dst: es_fwrite
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:696,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:698,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:699,1
    - Dst: ldap_value_free_len
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:700,1
    - Dst: ldap_memfree
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:701,1
    - Dst: ber_free
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:702,1
    - Dst: es_fwrite
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:720,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:722,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:723,1
    - Dst: ldap_value_free_len
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:724,1
    - Dst: ldap_memfree
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:725,1
    - Dst: ber_free
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:726,1
    - Dst: es_fwrite
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:731,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:734,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:735,1
    - Dst: ldap_value_free_len
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:736,1
    - Dst: ldap_memfree
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:737,1
    - Dst: ber_free
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:738,1
    - Dst: ldap_value_free_len
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:746,1
    - Dst: ldap_memfree
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:747,1
    - Dst: ber_free
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:751,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:755,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 96
    argCount: 3
    argNames:
    - ld
    - msg
    - want_attr
    argTypes:
    - LDAP*
    - LDAPMessage*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 758
    functionName: print_ldap_entries
    functionSourceFile: /src/gnupg/dirmngr/dirmngr_ldap.c
    functionUses: 0
    functionsReached:
    - ldap_memfree
    - ldap_get_values_len
    - ber_free
    - ldap_next_entry
    - log_error
    - strlen
    - strchr
    - log_info
    - es_fwrite
    - ldap_first_entry
    - npth_unprotect
    - npth_protect
    - set_timeout
    - ascii_strcasecmp
    - strerror
    - ldap_value_free_len
    - ldap_next_attribute
    - ldap_first_attribute
    linkageType: ''
    returnType: int
    signature: int print_ldap_entries (LDAP *ld, LDAPMessage *msg, char *want_attr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:776,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:778,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:780,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:781,1
    - Dst: set_timeout
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:787,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:788,1
    - Dst: ldap_search_st
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:789,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:793,1
    - Dst: es_fwrite
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:796,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:798,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:798,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:804,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:805,1
    - Dst: print_ldap_entries
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:814,1
    - Dst: ldap_msgfree
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:816,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - ld
    - base
    - scope
    - filter
    argTypes:
    - LDAP*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 763
    functionDepth: 3
    functionLinenumber: 763
    functionLinenumberEnd: 818
    functionName: fetch_ldap
    functionSourceFile: /src/gnupg/dirmngr/dirmngr_ldap.c
    functionUses: 0
    functionsReached:
    - ldap_err2string
    - npth_protect
    - log_error
    - print_ldap_entries
    - log_info
    - set_timeout
    - es_fwrite
    - npth_unprotect
    - ldap_search_st
    - ldap_msgfree
    - log_printf
    - strerror
    linkageType: ''
    returnType: int
    signature: int fetch_ldap (LDAP *ld, const char *base, int scope, const char *filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ldap_parse_extfilter
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:843,1
    - Dst: fetch_ldap
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:845,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:850,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr_ldap.c:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ld
    - string
    argTypes:
    - LDAP*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 836
    functionDepth: 4
    functionLinenumber: 836
    functionLinenumberEnd: 853
    functionName: process_filter
    functionSourceFile: /src/gnupg/dirmngr/dirmngr_ldap.c
    functionUses: 1
    functionsReached:
    - fetch_ldap
    - xfree
    - ldap_parse_extfilter
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t process_filter (LDAP *ld, const char *string)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/http-ntbtls.c:55,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/http-ntbtls.c:56,1
    - Dst: ntbtls_check_context
      Src: /src/gnupg/dirmngr/http-ntbtls.c:56,1
    - Dst: ntbtls_x509_get_peer_cert
      Src: /src/gnupg/dirmngr/http-ntbtls.c:60,1
    - Dst: cache_cert
      Src: /src/gnupg/dirmngr/http-ntbtls.c:68,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/http-ntbtls.c:69,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http-ntbtls.c:74,1
    - Dst: cert_cache_any_in_class
      Src: /src/gnupg/dirmngr/http-ntbtls.c:104,1
    - Dst: validate_cert_chain
      Src: /src/gnupg/dirmngr/http-ntbtls.c:111,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/http-ntbtls.c:114,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 5
    argNames:
    - opaque
    - http
    - session
    - http_flags
    - tls_context
    argTypes:
    - void*
    - http_t
    - http_session_t
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 116
    functionName: gnupg_http_tls_verify_cb
    functionSourceFile: /src/gnupg/dirmngr/http-ntbtls.c
    functionUses: 0
    functionsReached:
    - cache_cert
    - validate_cert_chain
    - log_assert
    - ntbtls_check_context
    - ntbtls_x509_get_peer_cert
    - gpg_error
    - cert_cache_any_in_class
    - ksba_cert_release
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gnupg_http_tls_verify_cb (void *opaque,\n                          http_t
      http,\n                          http_session_t session,\n                          unsigned
      int http_flags,\n                          void *tls_context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http-ntbtls.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - opaque
    - http
    - session
    - flags
    - tls_context
    argTypes:
    - void*
    - http_t
    - http_session_t
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: gnupg_http_tls_verify_cb
    functionSourceFile: /src/gnupg/dirmngr/http-ntbtls.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gnupg_http_tls_verify_cb (void *opaque,\n                          http_t
      http,\n                          http_session_t session,\n                          unsigned
      int flags,\n                          void *tls_context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:98,1
    - Dst: sscanf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:102,1
    - Dst: timegm
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - timestr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 119
    functionName: ldap2epochtime
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - memset
    - sscanf
    - timegm
    linkageType: ''
    returnType: time_t
    signature: time_t ldap2epochtime (const char *timestr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:133,1
    - Dst: xstrdup
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tm
    argTypes:
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 142
    functionName: tm2ldaptime
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - snprintf
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      tm2ldaptime (struct tm *tm)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_r
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:150,1
    - Dst: tm2ldaptime
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:151,1
    - Dst: xstrdup
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - stamp
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: epoch2ldaptime
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - gmtime_r
    - tm2ldaptime
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      epoch2ldaptime (time_t stamp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - vals
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: my_ldap_value_free
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - ldap_value_free
    linkageType: ''
    returnType: void
    signature: void my_ldap_value_free (char **vals)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - l_err
    argTypes:
    - ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: my_ldap_return_with_check
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - log_error
    linkageType: ''
    returnType: int
    signature: int my_ldap_return_with_check (ULONG l_err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ldap_parse_result
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:194,1
    - Dst: my_ldap_return_with_check
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:200,1
    - Dst: ldap_parse_result
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - ld
    - result
    - errcodep
    - matcheddnp
    - errmsgp
    - referralsp
    - serverctrlsp
    - freeit
    argTypes:
    - LDAP*
    - LDAPMessage*
    - int*
    - char**
    - char**
    - char***
    - LDAPControl***
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 205
    functionName: my_ldap_parse_result
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - ldap_parse_result
    - my_ldap_return_with_check
    linkageType: ''
    returnType: int
    signature: "int my_ldap_parse_result (LDAP *ld, LDAPMessage *result,\n                      int
      *errcodep, char **matcheddnp, char **errmsgp,\n                      char ***referralsp,
      LDAPControl ***serverctrlsp,\n                      int freeit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ldap_parse_page_control
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:215,1
    - Dst: my_ldap_return_with_check
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:218,1
    - Dst: ldap_parse_page_control
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ld
    - ctrls
    - count
    - cookie
    argTypes:
    - LDAP*
    - LDAPControl**
    - int*
    - struct berval**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 222
    functionName: my_ldap_parse_page_control
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - ldap_parse_page_control
    - my_ldap_return_with_check
    linkageType: ''
    returnType: int
    signature: "int my_ldap_parse_page_control (LDAP *ld, LDAPControl **ctrls,\n                            int
      *count, struct berval **cookie)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ks_print_help
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 249
    functionName: ks_ldap_help_variables
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - ks_print_help
    linkageType: ''
    returnType: void
    signature: void ks_ldap_help_variables (ctrl_t ctrl)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:259,1
    - Dst: w32_get_user_sid
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:269,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:272,1
    - Dst: ConvertSidToStringSid
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:276,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:278,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:283,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:296,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:297,1
    - Dst: LocalFree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:298,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:305,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:309,1
    - Dst: basedn_from_rootdse
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:310,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:311,1
    - Dst: map_rid_to_dn
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:312,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:313,1
    - Dst: map_rid_to_dn
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:314,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:315,1
    - Dst: map_rid_to_dn
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:316,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:317,1
    - Dst: map_rid_to_dn
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:318,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:319,1
    - Dst: map_rid_to_dn
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:320,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:321,1
    - Dst: map_rid_to_dn
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:322,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:323,1
    - Dst: map_rid_to_dn
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:324,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:325,1
    - Dst: map_rid_to_dn
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:326,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:327,1
    - Dst: map_rid_to_dn
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:328,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 2
    argNames:
    - cookie
    - name
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 334
    functionName: getval_for_filter
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - ConvertSidToStringSid
    - log_error
    - strcmp
    - w32_get_user_sid
    - strchr
    - basedn_from_rootdse
    - map_rid_to_dn
    - gpg_err_set_errno
    - LocalFree
    linkageType: ''
    returnType: char
    signature: 'char *

      getval_for_filter (void *cookie, const char *name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ks_print_help
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:367,1
    - Dst: ks_print_help
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctrl
    - uri
    argTypes:
    - ctrl_t
    - parsed_uri_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 374
    functionName: ks_ldap_help
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - ks_print_help
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_ldap_help (ctrl_t ctrl, parsed_uri_t uri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 388
    functionName: ks_ldap_new_state
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - xtrycalloc
    linkageType: ''
    returnType: struct ks_engine_ldap_local_s
    signature: 'struct ks_engine_ldap_local_s *

      ks_ldap_new_state (void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ldap_unbind
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:397,1
    - Dst: ldap_msgfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:402,1
    - Dst: ber_bvfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:407,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:411,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:414,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct ks_engine_ldap_local_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 422
    functionName: ks_ldap_clear_state
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - ber_bvfree
    - xfree
    - ldap_msgfree
    - ldap_unbind
    linkageType: ''
    returnType: struct ks_engine_ldap_local_s
    signature: 'struct ks_engine_ldap_local_s *

      ks_ldap_clear_state (struct ks_engine_ldap_local_s *state)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ks_ldap_clear_state
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:431,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct ks_engine_ldap_local_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 433
    functionName: ks_ldap_free_state
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - xfree
    - ks_ldap_clear_state
    linkageType: ''
    returnType: void
    signature: void ks_ldap_free_state (struct ks_engine_ldap_local_s *state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ks_ldap_clear_state
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:447,1
    - Dst: ks_ldap_new_state
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:448,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:449,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:458,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:459,1
    - Dst: ks_ldap_free_state
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:467,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - ctrl
    - ks_get_flags
    - first_mode
    - next_mode
    argTypes:
    - ctrl_t
    - unsigned int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 472
    functionName: ks_ldap_prepare_my_state
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - ks_ldap_new_state
    - ks_ldap_clear_state
    - log_error
    - gpg_error_from_syserror
    - gpg_error
    - ks_ldap_free_state
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ks_ldap_prepare_my_state (ctrl_t ctrl, unsigned int ks_get_flags,\n
      \                         int *first_mode, int *next_mode)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: classify_user_id
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:493,1
    - Dst: xasprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:500,1
    - Dst: ldap_escape_filter
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:501,1
    - Dst: xasprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:506,1
    - Dst: ldap_escape_filter
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:507,1
    - Dst: ldap_escape_filter
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:511,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:520,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:521,1
    - Dst: xasprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:526,1
    - Dst: xasprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:529,1
    - Dst: xasprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:534,1
    - Dst: ldap_escape_filter
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:535,1
    - Dst: xasprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:537,1
    - Dst: ldap_escape_filter
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:538,1
    - Dst: xasprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:543,1
    - Dst: ldap_escape_filter
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:544,1
    - Dst: xasprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:546,1
    - Dst: ldap_escape_filter
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:547,1
    - Dst: xasprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:551,1
    - Dst: xasprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:554,1
    - Dst: bin2hex
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:561,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:563,1
    - Dst: xasprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:564,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:584,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:588,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:589,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 4
    argNames:
    - keyspec
    - filter
    - only_exact
    - serverinfo
    argTypes:
    - char*
    - char**
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 595
    functionName: keyspec_to_ldap_filter
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - strlen
    - gpg_error_from_syserror
    - bin2hex
    - ldap_escape_filter
    - log_error
    - gpg_error
    - classify_user_id
    - xfree
    - xasprintf
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keyspec_to_ldap_filter (const char *keyspec, char **filter,
      int only_exact,\n                        unsigned int serverinfo)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: xasprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:613,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:615,1
    - Dst: ldap_search_s
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:616,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:618,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:620,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:621,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:625,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:627,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:628,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:630,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:632,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:636,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:637,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:640,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:642,1
    - Dst: split_fields
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:649,1
    - Dst: DIM
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:649,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:650,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:653,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:656,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:660,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:665,1
    - Dst: ldap_msgfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:672,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 3
    argNames:
    - ldap_conn
    - basedn_search
    - r_serverinfo
    argTypes:
    - LDAP*
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 674
    functionName: interrogate_ldap_dn
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - ldap_get_values
    - atoi
    - split_fields
    - my_ldap_value_free
    - DIM
    - xtrystrdup
    - ldap_search_s
    - xfree
    - xasprintf
    - ascii_strcasecmp
    - npth_unprotect
    - npth_protect
    - ldap_msgfree
    - log_debug
    linkageType: ''
    returnType: char
    signature: "char *\ninterrogate_ldap_dn (LDAP *ldap_conn, const char *basedn_search,\n
      \                    unsigned int *r_serverinfo)"
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: ldapserver_parse_one
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:728,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:730,1
    - Dst: uri_query_value
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:745,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:757,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:760,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:766,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:782,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:791,1
    - Dst: ldap_sslinit
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:792,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:793,1
    - Dst: LdapGetLastError
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:796,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:797,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:798,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:799,1
    - Dst: ldap_set_option
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:804,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:807,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:808,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:809,1
    - Dst: xtryasprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:815,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:820,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:823,1
    - Dst: ldap_initialize
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:824,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:825,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:828,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:829,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:830,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:831,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:834,1
    - Dst: ldap_set_option
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:841,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:844,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:845,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:846,1
    - Dst: ldap_set_option
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:856,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:859,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:860,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:861,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:865,1
    - Dst: ldap_set_option
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:876,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:880,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:881,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:882,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:893,1
    - Dst: ldap_start_tls_s
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:894,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:901,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:904,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:905,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:906,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:915,1
    - Dst: ldap_bind_s
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:916,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:917,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:920,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:921,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:922,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:926,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:928,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:929,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:935,1
    - Dst: ldap_simple_bind_s
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:936,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:937,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:940,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:940,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:941,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:945,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:951,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:960,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:963,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:968,1
    - Dst: interrogate_ldap_dn
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:982,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:985,1
    - Dst: interrogate_ldap_dn
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:987,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:991,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:999,1
    - Dst: ldap_search_s
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1000,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1002,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1004,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1010,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1011,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1012,1
    - Dst: interrogate_ldap_dn
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1024,1
    - Dst: ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1027,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1029,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1035,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1047,1
    - Dst: ldap_search_s
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1048,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1050,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1052,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1060,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1063,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1065,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1067,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1069,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1073,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1076,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1078,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1082,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1091,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1095,1
    - Dst: ldap_msgfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1098,1
    - Dst: ldap_msgfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1104,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1110,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1111,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1116,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1118,1
    - Dst: ldapserver_list_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1122,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1126,1
    - Dst: ldap_unbind
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1128,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1135,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1139,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 254
    argCount: 7
    argNames:
    - uri
    - generic
    - ldap_connp
    - r_basedn
    - r_host
    - r_use_tls
    - r_serverinfo
    argTypes:
    - parsed_uri_t
    - unsigned int
    - LDAP**
    - char**
    - char**
    - int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 696
    functionDepth: 3
    functionLinenumber: 696
    functionLinenumberEnd: 1145
    functionName: my_ldap_connect
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - ldap_get_values
    - ldap_set_option
    - ldap_bind_s
    - ldap_search_s
    - xtryasprintf
    - npth_unprotect
    - npth_protect
    - interrogate_ldap_dn
    - ldapserver_parse_one
    - ldap_err2string
    - log_error
    - ldap_initialize
    - log_info
    - LdapGetLastError
    - log_debug
    - ldap_err_to_gpg_err
    - gpg_error_from_syserror
    - my_ldap_value_free
    - xtrystrdup
    - gpg_error
    - ldap_start_tls_s
    - xfree
    - strchr
    - ldap_unbind
    - ldap_sslinit
    - ldap_simple_bind_s
    - uri_query_value
    - atoi
    - ldapserver_list_free
    - ldap_msgfree
    - ldap_value_free
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t my_ldap_connect (parsed_uri_t uri, unsigned int generic,
      LDAP **ldap_connp,\n                 char **r_basedn, char **r_host, int *r_use_tls,\n
      \                unsigned int *r_serverinfo)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1156,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1161,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1163,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1165,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1166,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1168,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1171,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1172,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1173,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1174,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1176,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1178,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1180,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1183,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1185,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1187,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1189,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1191,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1194,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1195,1
    - Dst: ldap2epochtime
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1195,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1197,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1199,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1201,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1204,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1205,1
    - Dst: ldap2epochtime
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1205,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1207,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1209,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1211,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1214,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1215,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1217,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1219,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1221,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1226,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1228,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1230,1
    - Dst: rfc4517toisotime
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1234,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1235,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1237,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1239,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 4
    argNames:
    - output
    - ldap_conn
    - certid
    - message
    argTypes:
    - estream_t
    - LDAP*
    - char*
    - LDAPMessage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1150
    functionDepth: 3
    functionLinenumber: 1150
    functionLinenumberEnd: 1240
    functionName: extract_keys
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - ldap_get_values
    - atoi
    - strlen
    - my_ldap_value_free
    - strcmp
    - ldap2epochtime
    - rfc4517toisotime
    linkageType: ''
    returnType: void
    signature: "void extract_keys (estream_t output,\n\t      LDAP *ldap_conn, const
      char *certid, LDAPMessage *message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1247,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1248,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1250,1
    - Dst: dirmngr_status_printf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1251,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1244
    functionDepth: 1
    functionLinenumber: 1244
    functionLinenumberEnd: 1253
    functionName: no_ldap_due_to_tor
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - dirmngr_status_printf
    - gpg_error
    - _
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t no_ldap_due_to_tor (ctrl_t ctrl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1280,1
    - Dst: strlist_find
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1283,1
    - Dst: add_to_strlist
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1287,1
    - Dst: es_fopenmem
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1291,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1294,1
    - Dst: extract_keys
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1299,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1301,1
    - Dst: ldap_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1306,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1307,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1313,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1314,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1315,1
    - Dst: ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1317,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1322,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1325,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - ldap_conn
    - msg
    - serverinfo
    - fp
    - seenp
    argTypes:
    - LDAP*
    - LDAPMessage*
    - unsigned int
    - estream_t*
    - strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1259
    functionDepth: 4
    functionLinenumber: 1259
    functionLinenumberEnd: 1330
    functionName: return_one_keyblock
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - es_fputs
    - ldap_get_values
    - es_fprintf
    - gpg_error_from_syserror
    - log_error
    - my_ldap_value_free
    - add_to_strlist
    - ldap_to_gpg_err
    - gpg_error
    - strlist_find
    - extract_keys
    - ldap_value_free
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t return_one_keyblock (LDAP *ldap_conn, LDAPMessage *msg,
      unsigned int serverinfo,\n                     estream_t *fp, strlist_t *seenp)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ldap_get_dn
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1351,1
    - Dst: es_fopenmem
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1354,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1357,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1365,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1367,1
    - Dst: ldap_first_attribute
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1367,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1368,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1370,1
    - Dst: ldap_next_attribute
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1370,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1371,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1373,1
    - Dst: ldap_get_values_len
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1374,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1375,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1380,1
    - Dst: ldap_memfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1381,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1390,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1392,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1396,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1408,1
    - Dst: memchr
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1411,1
    - Dst: es_fwrite
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1414,1
    - Dst: es_fwrite
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1418,1
    - Dst: es_fwrite
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1421,1
    - Dst: es_fwrite
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1423,1
    - Dst: ldap_value_free_len
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1427,1
    - Dst: ldap_memfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1429,1
    - Dst: es_fwrite
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1434,1
    - Dst: ldap_value_free_len
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1440,1
    - Dst: ldap_memfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1441,1
    - Dst: ldap_memfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1443,1
    - Dst: ber_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1444,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1448,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1449,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1449,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 80
    argCount: 3
    argNames:
    - ld
    - msg
    - fp
    argTypes:
    - LDAP*
    - LDAPMessage*
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1336
    functionDepth: 1
    functionLinenumber: 1336
    functionLinenumberEnd: 1451
    functionName: return_all_attributes
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - ldap_get_values_len
    - es_fopenmem
    - ldap_memfree
    - ber_free
    - es_fprintf
    - gpg_error_from_syserror
    - log_error
    - ldap_value_free_len
    - log_info
    - ascii_strcasecmp
    - es_fwrite
    - npth_unprotect
    - npth_protect
    - gpg_strerror
    - memchr
    - ldap_get_dn
    - ldap_next_attribute
    - ldap_first_attribute
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t return_all_attributes (LDAP *ld, LDAPMessage *msg, estream_t
      *fp)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ldap_create_page_control
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1476,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1481,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1482,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1483,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1491,1
    - Dst: ldap_search_ext_s
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1492,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1496,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1499,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1500,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1500,1
    - Dst: my_ldap_parse_result
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1506,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1510,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1511,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1512,1
    - Dst: ber_bvfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1518,1
    - Dst: my_ldap_parse_page_control
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1521,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1526,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1527,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1528,1
    - Dst: ldap_count_entries
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1543,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1549,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1557,1
    - Dst: ldap_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1560,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1562,1
    - Dst: ldap_controls_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1570,1
    - Dst: ldap_control_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1572,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 8
    argNames:
    - ctrl
    - keyspec
    - ldap_conn
    - basedn
    - scope
    - filter
    - attrs
    - r_message
    argTypes:
    - ctrl_t
    - char*
    - LDAP*
    - char*
    - int
    - char*
    - char**
    - LDAPMessage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1456
    functionDepth: 3
    functionLinenumber: 1456
    functionLinenumberEnd: 1574
    functionName: search_and_parse
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - ldap_create_page_control
    - ldap_err_to_gpg_err
    - ldap_err2string
    - log_error
    - my_ldap_parse_result
    - ber_bvfree
    - ldap_search_ext_s
    - my_ldap_parse_page_control
    - ldap_to_gpg_err
    - ldap_controls_free
    - gpg_error
    - log_info
    - npth_unprotect
    - npth_protect
    - ldap_control_free
    - ldap_count_entries
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t search_and_parse (ctrl_t ctrl, const char *keyspec,\n
      \                 LDAP *ldap_conn, char *basedn, int scope, char *filter,\n
      \                 char **attrs, LDAPMessage **r_message)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ks_action_parse_uri
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1589,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1598,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1599,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1600,1
    - Dst: ks_ldap_query
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1603,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1606,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1607,1
    - Dst: nvc_parse
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1608,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1609,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1609,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1612,1
    - Dst: release_uri_item_list
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1613,1
    - Dst: nvc_release
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1616,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - ctrl
    - uri
    argTypes:
    - ctrl_t
    - parsed_uri_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1579
    functionDepth: 1
    functionLinenumber: 1579
    functionLinenumberEnd: 1620
    functionName: fetch_rootdse
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - release_uri_item_list
    - nvc_parse
    - log_error
    - es_fclose
    - ks_ldap_query
    - strcmp
    - gpg_strerror
    - ks_action_parse_uri
    - nvc_release
    linkageType: ''
    returnType: nvc_t
    signature: nvc_t fetch_rootdse (ctrl_t ctrl, parsed_uri_t uri)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ks_action_parse_uri
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1637,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1641,1
    - Dst: ks_ldap_query
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1645,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1649,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1649,1
    - Dst: nvc_parse
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1652,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1654,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1654,1
    - Dst: nvc_get_string
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1657,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1659,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1660,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1660,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1663,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1666,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1667,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1667,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1672,1
    - Dst: release_uri_item_list
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1673,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1674,1
    - Dst: nvc_release
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1675,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - ctrl
    - rid
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1625
    functionDepth: 2
    functionLinenumber: 1625
    functionLinenumberEnd: 1677
    functionName: map_rid_to_dn
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 1
    functionsReached:
    - release_uri_item_list
    - nvc_parse
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - ks_ldap_query
    - strconcat
    - xtrystrdup
    - gpg_error
    - gpg_strerror
    - ks_action_parse_uri
    - xfree
    - nvc_release
    - nvc_get_string
    linkageType: ''
    returnType: char
    signature: 'char *

      map_rid_to_dn (ctrl_t ctrl, const char *rid)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fetch_rootdse
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1689,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1693,1
    - Dst: nvc_write
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1694,1
    - Dst: log_get_stream
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1694,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1695,1
    - Dst: nvc_get_string
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1698,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1699,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctrl
    - uri
    argTypes:
    - ctrl_t
    - parsed_uri_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1682
    functionDepth: 2
    functionLinenumber: 1682
    functionLinenumberEnd: 1700
    functionName: basedn_from_rootdse
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 1
    functionsReached:
    - log_get_stream
    - fetch_rootdse
    - xtrystrdup
    - nvc_write
    - nvc_get_string
    - log_debug
    linkageType: ''
    returnType: char
    signature: 'char *

      basedn_from_rootdse (ctrl_t ctrl, parsed_uri_t uri)'
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1740,1
    - Dst: no_ldap_due_to_tor
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1742,1
    - Dst: ks_ldap_prepare_my_state
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1745,1
    - Dst: ldap_msgfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1757,1
    - Dst: search_and_parse
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1762,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1779,1
    - Dst: ldap_first_entry
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1781,1
    - Dst: ldap_next_entry
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1783,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1785,1
    - Dst: return_one_keyblock
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1789,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1795,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1807,1
    - Dst: my_ldap_connect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1814,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1819,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1827,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1828,1
    - Dst: keyspec_to_ldap_filter
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1831,1
    - Dst: isotime2rfc4517
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1839,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1842,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1845,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1847,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1850,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1853,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1858,1
    - Dst: search_and_parse
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1863,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1869,1
    - Dst: ldap_first_entry
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1870,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1871,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1873,1
    - Dst: ldap_next_entry
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1874,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1875,1
    - Dst: return_one_keyblock
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1877,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1885,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1895,1
    - Dst: dirmngr_status_printf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1898,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1908,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1911,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1918,1
    - Dst: ldap_msgfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1930,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1933,1
    - Dst: es_fseek
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1937,1
    - Dst: free_strlist
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1941,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1942,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1943,1
    - Dst: ldap_unbind
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1946,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1948,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 141
    argCount: 6
    argNames:
    - ctrl
    - uri
    - keyspec
    - ks_get_flags
    - newer
    - r_fp
    argTypes:
    - ctrl_t
    - parsed_uri_t
    - char*
    - unsigned int
    - gnupg_isotime_t
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1708
    functionDepth: 5
    functionLinenumber: 1708
    functionLinenumberEnd: 1951
    functionName: ks_ldap_get
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - ldap_next_entry
    - log_assert
    - es_fseek
    - npth_unprotect
    - npth_protect
    - return_one_keyblock
    - dirmngr_status_printf
    - my_ldap_connect
    - free_strlist
    - log_debug
    - ks_ldap_prepare_my_state
    - gpg_error_from_syserror
    - xtrystrdup
    - gpg_error
    - xfree
    - ldap_first_entry
    - ldap_unbind
    - search_and_parse
    - isotime2rfc4517
    - es_fclose
    - dirmngr_use_tor
    - strconcat
    - keyspec_to_ldap_filter
    - no_ldap_due_to_tor
    - gpg_err_code
    - ldap_msgfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ks_ldap_get (ctrl_t ctrl, parsed_uri_t uri, const char
      *keyspec,\n\t     unsigned int ks_get_flags, gnupg_isotime_t newer, estream_t
      *r_fp)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1970,1
    - Dst: no_ldap_due_to_tor
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1972,1
    - Dst: my_ldap_connect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1976,1
    - Dst: keyspec_to_ldap_filter
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1986,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1989,1
    - Dst: es_fopenmem
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1994,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:1997,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2018,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2020,1
    - Dst: ldap_search_s
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2021,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2023,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2025,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2030,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2032,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2033,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2034,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2040,1
    - Dst: ldap_first_entry
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2041,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2042,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2044,1
    - Dst: ldap_next_entry
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2045,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2046,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2048,1
    - Dst: strlist_find
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2049,1
    - Dst: add_to_strlist
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2051,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2054,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2060,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2063,1
    - Dst: free_strlist
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2067,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2071,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2074,1
    - Dst: ldap_first_entry
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2076,1
    - Dst: ldap_next_entry
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2078,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2083,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2086,1
    - Dst: strlist_find
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2091,1
    - Dst: add_to_strlist
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2093,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2095,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2097,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2099,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2100,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2102,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2107,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2108,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2109,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2110,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2112,1
    - Dst: es_fputc
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2114,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2116,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2121,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2122,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2122,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2124,1
    - Dst: es_fputc
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2126,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2130,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2131,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2133,1
    - Dst: ldap2epochtime
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2134,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2136,1
    - Dst: es_fputc
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2138,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2140,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2141,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2143,1
    - Dst: ldap2epochtime
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2144,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2146,1
    - Dst: es_fputc
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2148,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2150,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2153,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2154,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2156,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2158,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2161,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2162,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2164,1
    - Dst: es_fputc
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2166,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2168,1
    - Dst: rfc4517toisotime
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2172,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2174,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2176,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2178,1
    - Dst: ldap_first_entry
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2181,1
    - Dst: ldap_next_entry
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2183,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2185,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2188,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2192,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2202,1
    - Dst: ldap_get_values
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2204,1
    - Dst: try_percent_escape
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2209,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2214,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2215,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2216,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2219,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2221,1
    - Dst: ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2224,1
    - Dst: my_ldap_value_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2228,1
    - Dst: ldap_msgfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2232,1
    - Dst: free_strlist
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2233,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2237,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2242,1
    - Dst: es_fseek
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2248,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2253,1
    - Dst: ldap_unbind
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2256,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2258,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 162
    argCount: 4
    argNames:
    - ctrl
    - uri
    - pattern
    - r_fp
    argTypes:
    - ctrl_t
    - parsed_uri_t
    - char*
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 1956
    functionDepth: 4
    functionLinenumber: 1956
    functionLinenumberEnd: 2261
    functionName: ks_ldap_search
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - ldap_get_values
    - ldap_next_entry
    - es_fprintf
    - es_fputc
    - strlen
    - try_percent_escape
    - es_fseek
    - ldap_search_s
    - ascii_strcasecmp
    - npth_unprotect
    - npth_protect
    - strlist_find
    - ldap_err2string
    - es_fopenmem
    - log_error
    - my_ldap_connect
    - free_strlist
    - log_debug
    - ldap_err_to_gpg_err
    - gpg_error_from_syserror
    - my_ldap_value_free
    - xfree
    - ldap_first_entry
    - ldap_unbind
    - rfc4517toisotime
    - es_fputs
    - atoi
    - es_fclose
    - dirmngr_use_tor
    - add_to_strlist
    - keyspec_to_ldap_filter
    - no_ldap_due_to_tor
    - ldap_msgfree
    - ldap2epochtime
    - ldap_value_free
    - strcasecmp
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ks_ldap_search (ctrl_t ctrl, parsed_uri_t uri, const char
      *pattern,\n\t\testream_t *r_fp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2318,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2331,1
    - Dst: xrealloc
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2338,1
    - Dst: xstrdup
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2341,1
    - Dst: xrealloc
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2352,1
    - Dst: xmalloc
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2355,1
    - Dst: xmalloc
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2361,1
    - Dst: xstrdup
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2363,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - modlistp
    - attr
    - value
    argTypes:
    - LDAPMod***
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2372
    functionName: modlist_add
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - strcmp
    - xmalloc
    - xrealloc
    - xstrdup
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void modlist_add (LDAPMod ***modlistp, char *attr, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2377
    functionDepth: 0
    functionLinenumber: 2377
    functionLinenumberEnd: 2390
    functionName: modlist_lookup
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: 'char **

      modlist_lookup (LDAPMod **modlist, const char *attr)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2405,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2413,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2416,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2428,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2437,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2441,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2442,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2444,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2447,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2448,1
    - Dst: es_fseek
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2454,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - modlist
    - output
    argTypes:
    - LDAPMod**
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2457
      start: 2396
    functionDepth: 0
    functionLinenumber: 2396
    functionLinenumberEnd: 2457
    functionName: modlist_dump
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - es_fseek
    - es_fopenmem
    - es_fprintf
    - strlen
    linkageType: ''
    returnType: estream_t
    signature: estream_t modlist_dump (LDAPMod **modlist, estream_t output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2484,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2486,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2489,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - modlist
    argTypes:
    - LDAPMod**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2492
    functionName: modlist_free
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void modlist_free (LDAPMod **modlist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xrealloc
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - LDAPMod***
    - LDAPMod**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2530
      start: 2499
    functionDepth: 0
    functionLinenumber: 2499
    functionLinenumberEnd: 2530
    functionName: modlists_join
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - xrealloc
    linkageType: ''
    returnType: void
    signature: void modlists_join (LDAPMod ***one, LDAPMod **two)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2540,1
    - Dst: hexdigitp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2555,1
    - Dst: hexdigitp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2556,1
    - Dst: hextobyte
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2558,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2559,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2572
      start: 2534
    functionDepth: 0
    functionLinenumber: 2534
    functionLinenumberEnd: 2572
    functionName: uncescape
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - strchr
    - hextobyte
    - log_assert
    linkageType: ''
    returnType: void
    signature: void uncescape (char *str)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: trim_trailing_spaces
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2589,1
    - Dst: strsplit
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2591,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2600,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2601,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2602,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2603,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2604,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2613,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2615,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2631,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2633,1
    - Dst: strspn
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2634,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2638,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2668,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2669,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2678,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2682,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2683,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2690,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2707,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2714,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2715,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2719,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2726,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2735,1
    - Dst: isodate_human_to_tm
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2743,1
    - Dst: tm2ldaptime
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2744,1
    - Dst: parse_timestamp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2745,1
    - Dst: gnupg_gmtime
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2749,1
    - Dst: tm2ldaptime
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2752,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2759,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2765,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2766,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2774,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2783,1
    - Dst: isodate_human_to_tm
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2791,1
    - Dst: tm2ldaptime
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2792,1
    - Dst: parse_timestamp
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2793,1
    - Dst: gnupg_gmtime
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2796,1
    - Dst: tm2ldaptime
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2799,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2806,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2812,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2813,1
    - Dst: uncescape
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2822,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2823,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2824,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2826,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2827,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2832,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 141
    argCount: 4
    argNames:
    - modlist
    - extract_state
    - line
    - schemav2
    argTypes:
    - LDAPMod***
    - int*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2579
    functionDepth: 4
    functionLinenumber: 2579
    functionLinenumberEnd: 2833
    functionName: extract_attributes
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - trim_trailing_spaces
    - gnupg_gmtime
    - atoi
    - strlen
    - modlist_add
    - log_error
    - snprintf
    - strsplit
    - parse_timestamp
    - memset
    - ascii_strcasecmp
    - tm2ldaptime
    - isodate_human_to_tm
    - xfree
    - uncescape
    - strspn
    - mailbox_from_userid
    linkageType: ''
    returnType: void
    signature: "void extract_attributes (LDAPMod ***modlist, int *extract_state,\n
      \                   char *line, int schemav2)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2864,1
    - Dst: no_ldap_due_to_tor
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2866,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2873,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2878,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2881,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2884,1
    - Dst: my_ldap_connect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2890,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2910,1
    - Dst: xtryasprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2917,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2920,1
    - Dst: ldap_add_s
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2923,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2924,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2928,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2935,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2938,1
    - Dst: es_fopen
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2945,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2947,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2948,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2948,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2952,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2953,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2953,1
    - Dst: es_fwrite
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2954,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2954,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2955,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2962,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2963,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2964,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2965,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2966,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2967,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2968,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2969,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2970,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2971,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2974,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2975,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2976,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2985,1
    - Dst: extract_attributes
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2989,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:2998,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3001,1
    - Dst: armor_data
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3003,1
    - Dst: modlist_add
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3007,1
    - Dst: modlists_join
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3012,1
    - Dst: modlist_dump
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3016,1
    - Dst: copy_stream
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3019,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3020,1
    - Dst: modlist_lookup
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3041,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3045,1
    - Dst: xtryasprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3049,1
    - Dst: modlist_lookup
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3053,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3057,1
    - Dst: xtryasprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3061,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3065,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3069,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3071,1
    - Dst: ldap_modify_s
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3072,1
    - Dst: ldap_add_s
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3074,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3075,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3077,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3081,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3082,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3083,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3089,1
    - Dst: ldap_unbind
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3092,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3094,1
    - Dst: modlist_free
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3096,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3097,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3099,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3100,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 157
    argCount: 6
    argNames:
    - ctrl
    - uri
    - data
    - datalen
    - info_arg
    - infolen_arg
    argTypes:
    - ctrl_t
    - parsed_uri_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3102
      start: 2838
    functionDepth: 5
    functionLinenumber: 2838
    functionLinenumberEnd: 3102
    functionName: ks_ldap_put
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - ldap_modify_s
    - es_fprintf
    - strlen
    - armor_data
    - modlist_dump
    - xtryasprintf
    - es_fopen
    - npth_unprotect
    - npth_protect
    - memcpy
    - xtrymalloc
    - ldap_err2string
    - ldap_add_s
    - extract_attributes
    - log_error
    - my_ldap_connect
    - log_debug
    - ldap_err_to_gpg_err
    - gpg_error_from_syserror
    - modlist_add
    - xtrystrdup
    - strchr
    - copy_stream
    - memset
    - xfree
    - gpg_strerror
    - ldap_unbind
    - modlist_free
    - modlist_lookup
    - es_fclose
    - dirmngr_use_tor
    - no_ldap_due_to_tor
    - es_fwrite
    - modlists_join
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ks_ldap_put (ctrl_t ctrl, parsed_uri_t uri,\n\t     void
      *data, size_t datalen,\n\t     void *info_arg, size_t infolen_arg)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3121,1
    - Dst: no_ldap_due_to_tor
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3123,1
    - Dst: my_ldap_connect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3129,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3133,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3135,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3142,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3143,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3150,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3152,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3157,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3165,1
    - Dst: xtryasprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3166,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3175,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3181,1
    - Dst: xtryasprintf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3182,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3185,1
    - Dst: ldap_delete_ext_s
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3186,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3187,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3191,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3196,1
    - Dst: ldap_err2string
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3197,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3198,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3202,1
    - Dst: ldap_unbind
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3208,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3209,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3210,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 3
    argNames:
    - ctrl
    - uri
    - fprlist
    argTypes:
    - ctrl_t
    - parsed_uri_t
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3212
      start: 3108
    functionDepth: 4
    functionLinenumber: 3108
    functionLinenumberEnd: 3212
    functionName: ks_ldap_del
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 0
    functionsReached:
    - ldap_err2string
    - ldap_err_to_gpg_err
    - npth_protect
    - strlen
    - log_error
    - dirmngr_use_tor
    - gpg_error
    - no_ldap_due_to_tor
    - log_info
    - xfree
    - xtryasprintf
    - npth_unprotect
    - ldap_delete_ext_s
    - ldap_unbind
    - my_ldap_connect
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_ldap_del (ctrl_t ctrl, parsed_uri_t uri, strlist_t fprlist)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3242,1
    - Dst: no_ldap_due_to_tor
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3243,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3249,1
    - Dst: substitute_vars
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3251,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3254,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3255,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3256,1
    - Dst: ks_ldap_prepare_my_state
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3262,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3270,1
    - Dst: ldap_parse_extfilter
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3273,1
    - Dst: isotime2rfc4517
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3280,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3283,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3287,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3290,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3291,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3294,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3297,1
    - Dst: ldap_msgfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3311,1
    - Dst: search_and_parse
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3314,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3331,1
    - Dst: ldap_first_entry
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3333,1
    - Dst: ldap_next_entry
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3335,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3337,1
    - Dst: return_all_attributes
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3341,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3346,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3358,1
    - Dst: my_ldap_connect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3367,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3372,1
    - Dst: basedn_from_rootdse
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3378,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3383,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3384,1
    - Dst: search_and_parse
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3387,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3393,1
    - Dst: ldap_first_entry
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3394,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3395,1
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3397,1
    - Dst: ldap_next_entry
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3398,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3399,1
    - Dst: return_all_attributes
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3401,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3408,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3418,1
    - Dst: dirmngr_status_printf
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3421,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3431,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3434,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3441,1
    - Dst: ldap_msgfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3453,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3456,1
    - Dst: es_fseek
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3460,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3464,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3465,1
    - Dst: ldap_unbind
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3468,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3470,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-ldap.c:3471,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 162
    argCount: 7
    argNames:
    - ctrl
    - uri
    - ks_get_flags
    - filter_arg
    - attrs
    - newer
    - r_fp
    argTypes:
    - ctrl_t
    - parsed_uri_t
    - unsigned int
    - char*
    - char**
    - gnupg_isotime_t
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3474
      start: 3220
    functionDepth: 4
    functionLinenumber: 3220
    functionLinenumberEnd: 3474
    functionName: ks_ldap_query
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-ldap.c
    functionUses: 2
    functionsReached:
    - return_all_attributes
    - ldap_next_entry
    - log_assert
    - es_fseek
    - npth_unprotect
    - npth_protect
    - substitute_vars
    - log_error
    - dirmngr_status_printf
    - my_ldap_connect
    - log_debug
    - ks_ldap_prepare_my_state
    - gpg_error_from_syserror
    - basedn_from_rootdse
    - strchr
    - gpg_error
    - gpg_strerror
    - xfree
    - ldap_first_entry
    - xtrystrdup
    - ldap_unbind
    - search_and_parse
    - isotime2rfc4517
    - es_fclose
    - dirmngr_use_tor
    - strconcat
    - no_ldap_due_to_tor
    - gpg_err_code
    - ldap_parse_extfilter
    - ldap_msgfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ks_ldap_query (ctrl_t ctrl, parsed_uri_t uri, unsigned
      int ks_get_flags,\n               const char *filter_arg, char **attrs,\n               gnupg_isotime_t
      newer, estream_t *r_fp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: my_select
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_select(a,b,c,d,e)
  - 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: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: my_accept
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_accept(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: my_select
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_select(a,b,c,d,e)
  - 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: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: my_accept
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_accept(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: sock_close
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sock_close(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: sock_close
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sock_close(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSACleanup
      Src: /src/gnupg/dirmngr/http.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: deinit_sockets
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - WSACleanup
    linkageType: ''
    returnType: void
    signature: void deinit_sockets (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/gnupg/dirmngr/http.c:404,1
    - Dst: MAKEWORD
      Src: /src/gnupg/dirmngr/http.c:404,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:406,1
    - Dst: WSAGetLastError
      Src: /src/gnupg/dirmngr/http.c:407,1
    - Dst: LOBYTE
      Src: /src/gnupg/dirmngr/http.c:410,1
    - Dst: HIBYTE
      Src: /src/gnupg/dirmngr/http.c:411,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:413,1
    - Dst: LOBYTE
      Src: /src/gnupg/dirmngr/http.c:414,1
    - Dst: HIBYTE
      Src: /src/gnupg/dirmngr/http.c:414,1
    - Dst: WSACleanup
      Src: /src/gnupg/dirmngr/http.c:416,1
    - Dst: atexit
      Src: /src/gnupg/dirmngr/http.c:419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 421
    functionName: init_sockets
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - atexit
    - WSAStartup
    - log_error
    - LOBYTE
    - WSAGetLastError
    - WSACleanup
    - MAKEWORD
    - HIBYTE
    linkageType: ''
    returnType: void
    signature: void init_sockets (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/http.c:432,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/dirmngr/http.c:436,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/http.c:437,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:443,1
    - Dst: FD_DBG
      Src: /src/gnupg/dirmngr/http.c:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - lnr
    - fd
    argTypes:
    - int
    - assuan_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 446
    functionName: _my_socket_new
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - assuan_sock_close
    - FD_DBG
    - gpg_err_set_errno
    - xtrymalloc
    - log_debug
    linkageType: ''
    returnType: my_socket_t
    signature: my_socket_t _my_socket_new (int lnr, assuan_fd_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 448
    functionName: my_socket_new
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_socket_new(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:455,1
    - Dst: FD_DBG
      Src: /src/gnupg/dirmngr/http.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - lnr
    - so
    argTypes:
    - int
    - my_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 458
    functionName: _my_socket_ref
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - FD_DBG
    - log_debug
    linkageType: ''
    returnType: my_socket_t
    signature: my_socket_t _my_socket_ref (int lnr, my_socket_t so)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 460
    functionName: my_socket_ref
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_socket_ref(a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:473,1
    - Dst: FD_DBG
      Src: /src/gnupg/dirmngr/http.c:474,1
    - Dst: preclose
      Src: /src/gnupg/dirmngr/http.c:479,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/dirmngr/http.c:480,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:481,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - lnr
    - so
    - preclosearg
    argTypes:
    - int
    - my_socket_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 484
    functionName: _my_socket_unref
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - assuan_sock_close
    - FD_DBG
    - xfree
    - preclose
    - log_debug
    linkageType: ''
    returnType: void
    signature: "void _my_socket_unref (int lnr, my_socket_t so,\n                  void
      (*preclose)(void*), void *preclosearg)"
  - 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: 486
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 486
    functionName: my_socket_unref
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_socket_unref(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/http.c:497,1
    - Dst: recv
      Src: /src/gnupg/dirmngr/http.c:499,1
    - Dst: FD2INT
      Src: /src/gnupg/dirmngr/http.c:499,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/http.c:501,1
    - Dst: npth_read
      Src: /src/gnupg/dirmngr/http.c:507,1
    - Dst: read
      Src: /src/gnupg/dirmngr/http.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - buffer
    - size
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 512
    functionName: my_gnutls_read
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - FD2INT
    - read
    - recv
    - npth_unprotect
    - npth_protect
    - npth_read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t my_gnutls_read (gnutls_transport_ptr_t ptr, void *buffer, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/http.c:520,1
    - Dst: send
      Src: /src/gnupg/dirmngr/http.c:522,1
    - Dst: FD2INT
      Src: /src/gnupg/dirmngr/http.c:522,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/http.c:524,1
    - Dst: npth_write
      Src: /src/gnupg/dirmngr/http.c:531,1
    - Dst: write
      Src: /src/gnupg/dirmngr/http.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - buffer
    - size
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 536
    functionName: my_gnutls_write
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - FD2INT
    - send
    - npth_write
    - write
    - npth_unprotect
    - npth_protect
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t my_gnutls_write (gnutls_transport_ptr_t ptr, const void *buffer,
      size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/http.c:549,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/http.c:550,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/http.c:551,1
    - Dst: http_t::session::verify_cb
      Src: /src/gnupg/dirmngr/http.c:553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - opaque
    - tls
    - verify_flags
    argTypes:
    - void*
    - ntbtls_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 557
    functionName: my_ntbtls_verify_cb
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - http_t::session::verify_cb
    - log_assert
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t my_ntbtls_verify_cb (void *opaque, ntbtls_t tls, unsigned
      int verify_flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/http.c:573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - opaque
    argTypes:
    - estream_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 578
    functionName: fp_onclose_notification
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - log_assert
    linkageType: ''
    returnType: void
    signature: void fp_onclose_notification (estream_t stream, void *opaque)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/http.c:598,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:598,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:598,1
    - Dst: stpcpy
      Src: /src/gnupg/dirmngr/http.c:601,1
    - Dst: strcpy
      Src: /src/gnupg/dirmngr/http.c:625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - prefix
    - suffix
    - data
    - len
    argTypes:
    - char*
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 627
    functionName: make_header_line
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - stpcpy
    - strcpy
    - xtrymalloc
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *\nmake_header_line (const char *prefix, const char *suffix,\n
      \                 const void *data, size_t len )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - verbose
    - debug
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 638
    functionName: http_set_verbose
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void http_set_verbose (int verbose, int debug)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 648
    functionName: http_register_tls_callback
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void http_register_tls_callback (gpg_error_t (*cb)(http_t, http_session_t,
      int))
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free_strlist
      Src: /src/gnupg/dirmngr/http.c:663,1
    - Dst: gnupg_access
      Src: /src/gnupg/dirmngr/http.c:670,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:671,1
    - Dst: _
      Src: /src/gnupg/dirmngr/http.c:671,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/http.c:671,1
    - Dst: add_to_strlist
      Src: /src/gnupg/dirmngr/http.c:672,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:673,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 676
    functionName: http_register_tls_ca
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - strlen
    - add_to_strlist
    - _
    - gnupg_access
    - strcmp
    - gpg_strerror
    - log_info
    - free_strlist
    linkageType: ''
    returnType: void
    signature: void http_register_tls_ca (const char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free_strlist
      Src: /src/gnupg/dirmngr/http.c:693,1
    - Dst: gnupg_access
      Src: /src/gnupg/dirmngr/http.c:700,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:701,1
    - Dst: _
      Src: /src/gnupg/dirmngr/http.c:701,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/http.c:701,1
    - Dst: add_to_strlist
      Src: /src/gnupg/dirmngr/http.c:702,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:703,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:703,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 706
    functionName: http_register_cfg_ca
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - strlen
    - add_to_strlist
    - _
    - gnupg_access
    - strcmp
    - gpg_strerror
    - log_info
    - free_strlist
    linkageType: ''
    returnType: void
    signature: void http_register_cfg_ca (const char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: http_register_netactivity_cb
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void http_register_netactivity_cb (void (*cb)(void))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: netactivity_cb
      Src: /src/gnupg/dirmngr/http.c:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 724
    functionName: notify_netactivity
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - netactivity_cb
    linkageType: ''
    returnType: void
    signature: void notify_netactivity (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntbtls_release
      Src: /src/gnupg/dirmngr/http.c:739,1
    - Dst: gnutls_transport_get_ptr
      Src: /src/gnupg/dirmngr/http.c:741,1
    - Dst: my_socket_unref
      Src: /src/gnupg/dirmngr/http.c:742,1
    - Dst: gnutls_deinit
      Src: /src/gnupg/dirmngr/http.c:743,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnupg/dirmngr/http.c:745,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sess
    argTypes:
    - http_session_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 750
    functionName: close_tls_session
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - ntbtls_release
    - gnutls_transport_get_ptr
    - gnutls_deinit
    - xfree
    - my_socket_unref
    - gnutls_certificate_free_credentials
    linkageType: ''
    returnType: void
    signature: void close_tls_session (http_session_t sess)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/http.c:761,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:765,1
    - Dst: close_tls_session
      Src: /src/gnupg/dirmngr/http.c:770,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - lnr
    - sess
    argTypes:
    - int
    - http_session_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 774
    functionName: session_unref
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - close_tls_session
    - xfree
    - log_debug
    - log_assert
    linkageType: ''
    returnType: void
    signature: void session_unref (int lnr, http_session_t sess)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 776
    functionName: http_session_unref
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: http_session_unref(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_session_unref
      Src: /src/gnupg/dirmngr/http.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - http_session_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 782
    functionName: http_session_release
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - http_session_unref
    linkageType: ''
    returnType: void
    signature: void http_session_release (http_session_t sess)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/http.c:792,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:794,1
    - Dst: my_socket_ref
      Src: /src/gnupg/dirmngr/http.c:795,1
    - Dst: http_session_ref
      Src: /src/gnupg/dirmngr/http.c:798,1
    - Dst: es_fopencookie
      Src: /src/gnupg/dirmngr/http.c:799,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:802,1
    - Dst: my_socket_unref
      Src: /src/gnupg/dirmngr/http.c:803,1
    - Dst: http_session_unref
      Src: /src/gnupg/dirmngr/http.c:805,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:806,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - hd
    - use_tls
    - session
    argTypes:
    - http_t
    - int
    - http_session_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 811
    functionName: make_fp_write
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - es_fopencookie
    - http_session_unref
    - my_socket_ref
    - gpg_error_from_syserror
    - http_session_ref
    - xfree
    - xtrycalloc
    - my_socket_unref
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t make_fp_write (http_t hd, int use_tls, http_session_t session)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/http.c:821,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:823,1
    - Dst: my_socket_ref
      Src: /src/gnupg/dirmngr/http.c:824,1
    - Dst: http_session_ref
      Src: /src/gnupg/dirmngr/http.c:827,1
    - Dst: es_fopencookie
      Src: /src/gnupg/dirmngr/http.c:828,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:831,1
    - Dst: my_socket_unref
      Src: /src/gnupg/dirmngr/http.c:832,1
    - Dst: http_session_unref
      Src: /src/gnupg/dirmngr/http.c:834,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:835,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - hd
    - use_tls
    - session
    argTypes:
    - http_t
    - int
    - http_session_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 840
    functionName: make_fp_read
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - es_fopencookie
    - http_session_unref
    - my_socket_ref
    - gpg_error_from_syserror
    - http_session_ref
    - xfree
    - xtrycalloc
    - my_socket_unref
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t make_fp_read (http_t hd, int use_tls, http_session_t session)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/http.c:861,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:863,1
    - Dst: ntbtls_new
      Src: /src/gnupg/dirmngr/http.c:876,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:879,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/http.c:879,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnupg/dirmngr/http.c:894,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:897,1
    - Dst: gnutls_strerror
      Src: /src/gnupg/dirmngr/http.c:898,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:899,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/gnupg/dirmngr/http.c:941,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:945,1
    - Dst: gnutls_strerror
      Src: /src/gnupg/dirmngr/http.c:946,1
    - Dst: gnutls_certificate_set_x509_system_trust
      Src: /src/gnupg/dirmngr/http.c:960,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:962,1
    - Dst: gnutls_strerror
      Src: /src/gnupg/dirmngr/http.c:962,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:966,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/gnupg/dirmngr/http.c:975,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:979,1
    - Dst: gnutls_strerror
      Src: /src/gnupg/dirmngr/http.c:980,1
    - Dst: gnutls_init
      Src: /src/gnupg/dirmngr/http.c:985,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:988,1
    - Dst: gnutls_strerror
      Src: /src/gnupg/dirmngr/http.c:988,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:989,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnupg/dirmngr/http.c:994,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnupg/dirmngr/http.c:996,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:1001,1
    - Dst: gnutls_strerror
      Src: /src/gnupg/dirmngr/http.c:1002,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:1003,1
    - Dst: gnutls_credentials_set
      Src: /src/gnupg/dirmngr/http.c:1007,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:1011,1
    - Dst: gnutls_strerror
      Src: /src/gnupg/dirmngr/http.c:1011,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:1012,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:1024,1
    - Dst: http_session_unref
      Src: /src/gnupg/dirmngr/http.c:1029,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 88
    argCount: 5
    argNames:
    - r_session
    - intended_hostname
    - flags
    - verify_cb
    - verify_cb_value
    argTypes:
    - http_session_t*
    - char*
    - unsigned int
    - http_verify_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 1034
    functionName: http_session_new
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - http_session_unref
    - gnutls_credentials_set
    - gnutls_strerror
    - log_error
    - gpg_error_from_syserror
    - gnutls_certificate_allocate_credentials
    - gnutls_init
    - gnutls_certificate_set_x509_trust_file
    - gpg_error
    - ntbtls_new
    - gpg_strerror
    - log_info
    - gnutls_certificate_set_x509_system_trust
    - xtrycalloc
    - gnutls_transport_set_ptr
    - gnutls_priority_set_direct
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t http_session_new (http_session_t *r_session,\n                  const
      char *intended_hostname, unsigned int flags,\n                  http_verify_cb_t
      verify_cb, void *verify_cb_value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:1046,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sess
    argTypes:
    - http_session_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1050
    functionName: http_session_ref
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 2
    functionsReached:
    - log_debug
    linkageType: ''
    returnType: http_session_t
    signature: http_session_t http_session_ref (http_session_t sess)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - http_session_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1060
    functionName: http_session_set_log_cb
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void http_session_set_log_cb (http_session_t sess,\n                         void
      (*cb)(http_session_t, gpg_error_t,\n                                    const
      char *hostname,\n                                    const void **certs, size_t
      *certlens))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sess
    - timeout
    argTypes:
    - http_session_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1069
    functionName: http_session_set_timeout
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void http_session_set_timeout (http_session_t sess, unsigned int timeout)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:1090,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/http.c:1093,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:1095,1
    - Dst: http_session_ref
      Src: /src/gnupg/dirmngr/http.c:1099,1
    - Dst: parse_uri
      Src: /src/gnupg/dirmngr/http.c:1101,1
    - Dst: send_request
      Src: /src/gnupg/dirmngr/http.c:1103,1
    - Dst: my_socket_unref
      Src: /src/gnupg/dirmngr/http.c:1109,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/http.c:1111,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/http.c:1113,1
    - Dst: http_session_unref
      Src: /src/gnupg/dirmngr/http.c:1114,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:1115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 11
    argNames:
    - ctrl
    - r_hd
    - reqtype
    - url
    - httphost
    - auth
    - flags
    - proxy
    - session
    - srvtag
    - headers
    argTypes:
    - ctrl_t
    - http_t*
    - http_req_t
    - char*
    - char*
    - char*
    - unsigned int
    - char*
    - http_session_t
    - char*
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1120
    functionName: http_open
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - http_session_unref
    - gpg_error_from_syserror
    - es_fclose
    - gpg_err_make
    - http_session_ref
    - send_request
    - xfree
    - xtrycalloc
    - my_socket_unref
    - parse_uri
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t http_open (ctrl_t ctrl, http_t *r_hd, http_req_t reqtype,
      const char *url,\n           const char *httphost,\n           const char *auth,
      unsigned int flags, const char *proxy,\n           http_session_t session, const
      char *srvtag, strlist_t headers)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assuan_sock_get_flag
      Src: /src/gnupg/dirmngr/http.c:1140,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:1142,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:1143,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/http.c:1152,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:1154,1
    - Dst: connect_server
      Src: /src/gnupg/dirmngr/http.c:1163,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:1167,1
    - Dst: my_socket_new
      Src: /src/gnupg/dirmngr/http.c:1170,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:1173,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/dirmngr/http.c:1173,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:1174,1
    - Dst: make_fp_write
      Src: /src/gnupg/dirmngr/http.c:1180,1
    - Dst: make_fp_read
      Src: /src/gnupg/dirmngr/http.c:1184,1
    - Dst: es_onclose
      Src: /src/gnupg/dirmngr/http.c:1190,1
    - Dst: es_onclose
      Src: /src/gnupg/dirmngr/http.c:1192,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/http.c:1198,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/http.c:1200,1
    - Dst: my_socket_unref
      Src: /src/gnupg/dirmngr/http.c:1201,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:1202,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 7
    argNames:
    - ctrl
    - r_hd
    - server
    - port
    - flags
    - srvtag
    - timeout
    argTypes:
    - ctrl_t
    - http_t*
    - char*
    - unsigned short
    - unsigned int
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1126
    functionDepth: 2
    functionLinenumber: 1126
    functionLinenumberEnd: 1207
    functionName: http_raw_connect
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - make_fp_write
    - es_onclose
    - gpg_err_code_from_syserror
    - gpg_error_from_syserror
    - log_error
    - es_fclose
    - gpg_err_make
    - make_fp_read
    - my_socket_new
    - connect_server
    - xfree
    - xtrycalloc
    - my_socket_unref
    - assuan_sock_get_flag
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t http_raw_connect (ctrl_t ctrl, http_t *r_hd,\n                  const
      char *server, unsigned short port,\n                  unsigned int flags, const
      char *srvtag, unsigned int timeout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:1218,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/http.c:1219,1
    - Dst: es_fflush
      Src: /src/gnupg/dirmngr/http.c:1220,1
    - Dst: es_fflush
      Src: /src/gnupg/dirmngr/http.c:1224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - hd
    argTypes:
    - http_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1225
    functionName: http_start_data
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - es_fflush
    - es_fputs
    - log_debug
    linkageType: ''
    returnType: void
    signature: void http_start_data (http_t hd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: http_start_data
      Src: /src/gnupg/dirmngr/http.c:1237,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:1243,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/http.c:1248,1
    - Dst: shutdown
      Src: /src/gnupg/dirmngr/http.c:1259,1
    - Dst: FD2INT
      Src: /src/gnupg/dirmngr/http.c:1259,1
    - Dst: make_fp_read
      Src: /src/gnupg/dirmngr/http.c:1266,1
    - Dst: parse_response
      Src: /src/gnupg/dirmngr/http.c:1273,1
    - Dst: es_onclose
      Src: /src/gnupg/dirmngr/http.c:1276,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - hd
    argTypes:
    - http_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1279
    functionName: http_wait_response
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - FD2INT
    - parse_response
    - es_onclose
    - es_fclose
    - gpg_err_make
    - make_fp_read
    - shutdown
    - http_start_data
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t http_wait_response (http_t hd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http_open
      Src: /src/gnupg/dirmngr/http.c:1294,1
    - Dst: http_wait_response
      Src: /src/gnupg/dirmngr/http.c:1299,1
    - Dst: http_close
      Src: /src/gnupg/dirmngr/http.c:1301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 9
    argNames:
    - ctrl
    - r_hd
    - document
    - auth
    - flags
    - proxy
    - session
    - srvtag
    - headers
    argTypes:
    - ctrl_t
    - http_t*
    - char*
    - char*
    - unsigned int
    - char*
    - http_session_t
    - char*
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1286
    functionDepth: 3
    functionLinenumber: 1286
    functionLinenumberEnd: 1304
    functionName: http_open_document
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - http_wait_response
    - http_close
    - http_open
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t http_open_document (ctrl_t ctrl, http_t *r_hd, const char
      *document,\n                    const char *auth, unsigned int flags, const
      char *proxy,\n                    http_session_t session,\n                    const
      char *srvtag, strlist_t headers)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/http.c:1313,1
    - Dst: es_onclose
      Src: /src/gnupg/dirmngr/http.c:1317,1
    - Dst: es_onclose
      Src: /src/gnupg/dirmngr/http.c:1319,1
    - Dst: my_socket_unref
      Src: /src/gnupg/dirmngr/http.c:1322,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/http.c:1324,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/http.c:1326,1
    - Dst: http_session_unref
      Src: /src/gnupg/dirmngr/http.c:1327,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/http.c:1329,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:1333,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:1334,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:1337,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:1338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - hd
    - keep_read_stream
    argTypes:
    - http_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1339
    functionName: http_close
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 1
    functionsReached:
    - http_session_unref
    - es_onclose
    - log_assert
    - es_fclose
    - xfree
    - my_socket_unref
    - http_release_parsed_uri
    linkageType: ''
    returnType: void
    signature: void http_close (http_t hd, int keep_read_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - http_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1346
    functionName: http_get_read_ptr
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: estream_t
    signature: estream_t http_get_read_ptr (http_t hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - http_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1352
    functionName: http_get_write_ptr
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: estream_t
    signature: estream_t http_get_write_ptr (http_t hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - http_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1358
    functionName: http_get_status_code
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int http_get_status_code (http_t hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hd
    - what
    argTypes:
    - http_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1376
    functionName: http_get_tls_info
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      http_get_tls_info (http_t hd, const char *what)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/http.c:1386,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:1386,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:1388,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/dirmngr/http.c:1388,1
    - Dst: strcpy
      Src: /src/gnupg/dirmngr/http.c:1389,1
    - Dst: strcpy
      Src: /src/gnupg/dirmngr/http.c:1390,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:1390,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:1391,1
    - Dst: do_parse_uri
      Src: /src/gnupg/dirmngr/http.c:1392,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/http.c:1395,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:1398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ret_uri
    - uri
    - no_scheme_check
    - force_tls
    argTypes:
    - parsed_uri_t*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1399
    functionName: parse_uri
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 7
    functionsReached:
    - gpg_err_code_from_syserror
    - do_parse_uri
    - strlen
    - gpg_err_make
    - strcpy
    - xtrycalloc
    - http_release_parsed_uri
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_uri (parsed_uri_t *ret_uri, const char *uri,\n           int
      no_scheme_check, int force_tls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_uri
      Src: /src/gnupg/dirmngr/http.c:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret_uri
    - uri
    - flags
    argTypes:
    - parsed_uri_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1408
    functionDepth: 2
    functionLinenumber: 1408
    functionLinenumberEnd: 1413
    functionName: http_parse_uri
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - parse_uri
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t http_parse_uri (parsed_uri_t *ret_uri, const char *uri,\n
      \               unsigned int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:1426,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:1431,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:1433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - uri
    argTypes:
    - parsed_uri_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1435
    functionName: http_release_parsed_uri
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 3
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void http_release_parsed_uri (parsed_uri_t uri)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:1447,1
    - Dst: strspn
      Src: /src/gnupg/dirmngr/http.c:1464,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/http.c:1465,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/http.c:1471,1
    - Dst: tolower
      Src: /src/gnupg/dirmngr/http.c:1475,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:1477,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:1482,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:1487,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:1487,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:1488,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:1489,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:1495,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:1503,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:1508,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:1509,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:1515,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/http.c:1526,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:1535,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/http.c:1542,1
    - Dst: tolower
      Src: /src/gnupg/dirmngr/http.c:1550,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/http.c:1553,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/http.c:1572,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/http.c:1575,1
    - Dst: remove_escapes
      Src: /src/gnupg/dirmngr/http.c:1579,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:1581,1
    - Dst: is_onion_address
      Src: /src/gnupg/dirmngr/http.c:1591,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/http.c:1604,1
    - Dst: remove_escapes
      Src: /src/gnupg/dirmngr/http.c:1608,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:1610,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/http.c:1622,1
    - Dst: parse_tuple
      Src: /src/gnupg/dirmngr/http.c:1624,1
    - Dst: is_onion_address
      Src: /src/gnupg/dirmngr/http.c:1636,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 139
    argCount: 4
    argNames:
    - uri
    - only_local_part
    - no_scheme_check
    - force_tls
    argTypes:
    - parsed_uri_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1640
    functionName: do_parse_uri
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 1
    functionsReached:
    - is_onion_address
    - atoi
    - strlen
    - tolower
    - strcmp
    - strchr
    - remove_escapes
    - strncmp
    - strspn
    - parse_tuple
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t do_parse_uri (parsed_uri_t uri, int only_local_part,\n
      \             int no_scheme_check, int force_tls)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isxdigit
      Src: /src/gnupg/dirmngr/http.c:1657,1
    - Dst: isxdigit
      Src: /src/gnupg/dirmngr/http.c:1657,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1689
    functionName: remove_escapes
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 1
    functionsReached:
    - isxdigit
    linkageType: ''
    returnType: int
    signature: int remove_escapes (char *string)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/http.c:1715,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/http.c:1721,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/http.c:1726,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/http.c:1726,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/http.c:1736,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 4
    argNames:
    - buffer
    - data
    - datalen
    - special
    argTypes:
    - char*
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1743
    functionName: escape_data
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strchr
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t escape_data (char *buffer, const void *data, size_t datalen,\n
      \            const char *special)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: escape_data
      Src: /src/gnupg/dirmngr/http.c:1750,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:1750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - string
    - special
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1746
    functionDepth: 1
    functionLinenumber: 1746
    functionLinenumberEnd: 1751
    functionName: insert_escapes
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - escape_data
    - strlen
    linkageType: ''
    returnType: int
    signature: "int insert_escapes (char *buffer, const char *string,\n\t\tconst char
      *special)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert_escapes
      Src: /src/gnupg/dirmngr/http.c:1766,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/http.c:1767,1
    - Dst: insert_escapes
      Src: /src/gnupg/dirmngr/http.c:1770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - string
    - specials
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1760
    functionDepth: 2
    functionLinenumber: 1760
    functionLinenumberEnd: 1774
    functionName: http_escape_string
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - insert_escapes
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      http_escape_string (const char *string, const char *specials)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: escape_data
      Src: /src/gnupg/dirmngr/http.c:1788,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/http.c:1789,1
    - Dst: escape_data
      Src: /src/gnupg/dirmngr/http.c:1792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - data
    - datalen
    - specials
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1782
    functionDepth: 1
    functionLinenumber: 1782
    functionLinenumberEnd: 1796
    functionName: http_escape_data
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    - escape_data
    linkageType: ''
    returnType: char
    signature: 'char *

      http_escape_data (const void *data, size_t datalen, const char *specials)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/dirmngr/http.c:1807,1
    - Dst: remove_escapes
      Src: /src/gnupg/dirmngr/http.c:1809,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:1811,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/http.c:1813,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:1819,1
    - Dst: remove_escapes
      Src: /src/gnupg/dirmngr/http.c:1825,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:1827,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1799
    functionDepth: 1
    functionLinenumber: 1799
    functionLinenumberEnd: 1834
    functionName: parse_tuple
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 1
    functionsReached:
    - strlen
    - strchr
    - remove_escapes
    - xfree
    - xtrycalloc
    linkageType: ''
    returnType: uri_tuple_t
    signature: uri_tuple_t parse_tuple (char *string)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/dirmngr/http.c:1855,1
    - Dst: digitp
      Src: /src/gnupg/dirmngr/http.c:1857,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1838
    functionDepth: 0
    functionLinenumber: 1838
    functionLinenumberEnd: 1861
    functionName: is_hostname_port
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - digitp
    - strchr
    linkageType: ''
    returnType: int
    signature: int is_hostname_port (const char *string)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/http.c:1870,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:1871,1
    - Dst: DeleteSecurityContext
      Src: /src/gnupg/dirmngr/http.c:1874,1
    - Dst: FreeCredentialsHandle
      Src: /src/gnupg/dirmngr/http.c:1876,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:1878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - proxy_info_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1879
      start: 1865
    functionDepth: 1
    functionLinenumber: 1865
    functionLinenumberEnd: 1879
    functionName: release_proxy_info
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - FreeCredentialsHandle
    - DeleteSecurityContext
    - xfree
    - http_release_parsed_uri
    linkageType: ''
    returnType: void
    signature: void release_proxy_info (proxy_info_t proxy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WinHttpCloseHandle
      Src: /src/gnupg/dirmngr/http.c:1894,1
    - Dst: WinHttpOpen
      Src: /src/gnupg/dirmngr/http.c:1902,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:1909,1
    - Dst: w32_strerror
      Src: /src/gnupg/dirmngr/http.c:1909,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - clear
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1885
    functionDepth: 1
    functionLinenumber: 1885
    functionLinenumberEnd: 1915
    functionName: w32_get_internet_session
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - WinHttpOpen
    - WinHttpCloseHandle
    - w32_strerror
    - log_error
    linkageType: ''
    returnType: HINTERNET
    signature: HINTERNET w32_get_internet_session (int clear)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: utf8_to_wchar
      Src: /src/gnupg/dirmngr/http.c:1931,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:1934,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/http.c:1935,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:1935,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:1949,1
    - Dst: WinHttpGetProxyForUrl
      Src: /src/gnupg/dirmngr/http.c:1950,1
    - Dst: w32_get_internet_session
      Src: /src/gnupg/dirmngr/http.c:1950,1
    - Dst: GetLastError
      Src: /src/gnupg/dirmngr/http.c:1953,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:1957,1
    - Dst: WinHttpGetDefaultProxyConfiguration
      Src: /src/gnupg/dirmngr/http.c:1958,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:1961,1
    - Dst: w32_strerror
      Src: /src/gnupg/dirmngr/http.c:1962,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:1963,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:1971,1
    - Dst: w32_strerror
      Src: /src/gnupg/dirmngr/http.c:1972,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:1973,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:1977,1
    - Dst: wchar_to_utf8
      Src: /src/gnupg/dirmngr/http.c:1981,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:1983,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/http.c:1984,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:1984,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:1988,1
    - Dst: spacep
      Src: /src/gnupg/dirmngr/http.c:1992,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:2004,1
    - Dst: GlobalFree
      Src: /src/gnupg/dirmngr/http.c:2009,1
    - Dst: GlobalFree
      Src: /src/gnupg/dirmngr/http.c:2011,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 1921
    functionDepth: 2
    functionLinenumber: 1921
    functionLinenumberEnd: 2013
    functionName: w32_get_proxy
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - GlobalFree
    - log_error
    - gpg_error_from_syserror
    - spacep
    - WinHttpGetDefaultProxyConfiguration
    - gpg_strerror
    - WinHttpGetProxyForUrl
    - log_info
    - utf8_to_wchar
    - w32_strerror
    - w32_get_internet_session
    - xfree
    - GetLastError
    - wchar_to_utf8
    - log_debug
    linkageType: ''
    returnType: char
    signature: 'char *

      w32_get_proxy (const char *url)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/dirmngr/http.c:2041,1
    - Dst: w32_get_proxy
      Src: /src/gnupg/dirmngr/http.c:2045,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/http.c:2051,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2054,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:2055,1
    - Dst: parse_uri
      Src: /src/gnupg/dirmngr/http.c:2059,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/http.c:2060,1
    - Dst: is_hostname_port
      Src: /src/gnupg/dirmngr/http.c:2061,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/http.c:2064,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2066,1
    - Dst: parse_uri
      Src: /src/gnupg/dirmngr/http.c:2067,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:2069,1
    - Dst: remove_escapes
      Src: /src/gnupg/dirmngr/http.c:2076,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:2078,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:2080,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:2081,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:2082,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:2084,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:2088,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/http.c:2089,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:2090,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:2093,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:2102,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 3
    argNames:
    - hd
    - override_proxy
    - r_proxy
    argTypes:
    - http_t
    - char*
    - proxy_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2025
    functionDepth: 3
    functionLinenumber: 2025
    functionLinenumberEnd: 2106
    functionName: get_proxy_for_url
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - is_hostname_port
    - log_error
    - gpg_error_from_syserror
    - getenv
    - gpg_err_make
    - strconcat
    - strcmp
    - gpg_error
    - remove_escapes
    - gpg_err_code
    - xfree
    - gpg_strerror
    - xtrycalloc
    - log_info
    - parse_uri
    - w32_get_proxy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_proxy_for_url (http_t hd, const char *override_proxy,
      proxy_info_t *r_proxy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:2117,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:2118,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:2122,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:2123,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:2126,1
    - Dst: ntbtls_check_version
      Src: /src/gnupg/dirmngr/http.c:2128,1
    - Dst: gnutls_check_version
      Src: /src/gnupg/dirmngr/http.c:2130,1
    - Dst: assuan_sock_get_flag
      Src: /src/gnupg/dirmngr/http.c:2135,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:2137,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:2138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - hd
    argTypes:
    - http_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2142
      start: 2110
    functionDepth: 1
    functionLinenumber: 2110
    functionLinenumberEnd: 2142
    functionName: send_request_basic_checks
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - log_error
    - gnutls_check_version
    - gpg_error
    - assuan_sock_get_flag
    - log_debug
    - ntbtls_check_version
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t send_request_basic_checks (http_t hd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:2157,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/http.c:2158,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2161,1
    - Dst: ntbtls_set_hostname
      Src: /src/gnupg/dirmngr/http.c:2166,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:2170,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/http.c:2170,1
    - Dst: gnutls_server_name_set
      Src: /src/gnupg/dirmngr/http.c:2174,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:2177,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:2179,1
    - Dst: gnutls_strerror
      Src: /src/gnupg/dirmngr/http.c:2179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - hd
    - name
    argTypes:
    - http_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2146
    functionDepth: 1
    functionLinenumber: 2146
    functionLinenumberEnd: 2185
    functionName: send_request_set_sni
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gpg_error_from_syserror
    - strlen
    - ntbtls_set_hostname
    - xtrystrdup
    - log_info
    - xfree
    - gpg_strerror
    - gnutls_server_name_set
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t send_request_set_sni (http_t hd, const char *name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: my_socket_ref
      Src: /src/gnupg/dirmngr/http.c:2198,1
    - Dst: es_fopencookie
      Src: /src/gnupg/dirmngr/http.c:2203,1
    - Dst: es_fdopen_nc
      Src: /src/gnupg/dirmngr/http.c:2206,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2210,1
    - Dst: es_fopencookie
      Src: /src/gnupg/dirmngr/http.c:2215,1
    - Dst: es_fdopen_nc
      Src: /src/gnupg/dirmngr/http.c:2218,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2222,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/http.c:2223,1
    - Dst: ntbtls_set_transport
      Src: /src/gnupg/dirmngr/http.c:2227,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:2230,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/http.c:2231,1
    - Dst: gpg_strsource
      Src: /src/gnupg/dirmngr/http.c:2231,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/http.c:2232,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/http.c:2233,1
    - Dst: ntbtls_set_verify_cb
      Src: /src/gnupg/dirmngr/http.c:2239,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:2243,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/http.c:2244,1
    - Dst: ntbtls_handshake
      Src: /src/gnupg/dirmngr/http.c:2249,1
    - Dst: ntbtls_get_last_alert
      Src: /src/gnupg/dirmngr/http.c:2254,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:2256,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:2261,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/http.c:2262,1
    - Dst: gpg_strsource
      Src: /src/gnupg/dirmngr/http.c:2262,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 1
    argNames:
    - hd
    argTypes:
    - http_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2190
    functionDepth: 1
    functionLinenumber: 2190
    functionLinenumberEnd: 2287
    functionName: run_ntbtls_handshake
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - es_fopencookie
    - es_fdopen_nc
    - my_socket_ref
    - gpg_error_from_syserror
    - log_error
    - es_fclose
    - gpg_strsource
    - ntbtls_handshake
    - log_info
    - gpg_strerror
    - ntbtls_set_transport
    - ntbtls_get_last_alert
    - ntbtls_set_verify_cb
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t run_ntbtls_handshake (http_t hd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: my_socket_ref
      Src: /src/gnupg/dirmngr/http.c:2301,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnupg/dirmngr/http.c:2302,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnupg/dirmngr/http.c:2303,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnupg/dirmngr/http.c:2305,1
    - Dst: gnutls_handshake
      Src: /src/gnupg/dirmngr/http.c:2311,1
    - Dst: gnutls_alert_get
      Src: /src/gnupg/dirmngr/http.c:2322,1
    - Dst: gnutls_alert_get_name
      Src: /src/gnupg/dirmngr/http.c:2323,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:2324,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:2329,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:2335,1
    - Dst: gnutls_strerror
      Src: /src/gnupg/dirmngr/http.c:2335,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:2336,1
    - Dst: tls_callback
      Src: /src/gnupg/dirmngr/http.c:2342,1
    - Dst: http_verify_server_credentials
      Src: /src/gnupg/dirmngr/http.c:2344,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:2347,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/http.c:2348,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - hd
    - server
    argTypes:
    - http_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2357
      start: 2293
    functionDepth: 1
    functionLinenumber: 2293
    functionLinenumberEnd: 2357
    functionName: run_gnutls_handshake
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - tls_callback
    - gnutls_transport_set_push_function
    - my_socket_ref
    - gnutls_alert_get
    - gnutls_strerror
    - gnutls_transport_set_pull_function
    - http_verify_server_credentials
    - gnutls_alert_get_name
    - gnutls_handshake
    - gpg_error
    - log_info
    - gnutls_transport_set_ptr
    - gpg_strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t run_gnutls_handshake (http_t hd, const char *server)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/http.c:2385,1
    - Dst: b64decode
      Src: /src/gnupg/dirmngr/http.c:2388,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:2392,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:2395,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/http.c:2396,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:2398,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/http.c:2405,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2409,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:2413,1
    - Dst: utf8_to_wchar
      Src: /src/gnupg/dirmngr/http.c:2414,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:2415,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2418,1
    - Dst: QuerySecurityPackageInfoW
      Src: /src/gnupg/dirmngr/http.c:2427,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:2430,1
    - Dst: w32_strerror
      Src: /src/gnupg/dirmngr/http.c:2431,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:2432,1
    - Dst: FreeContextBuffer
      Src: /src/gnupg/dirmngr/http.c:2436,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/http.c:2438,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2441,1
    - Dst: AcquireCredentialsHandleW
      Src: /src/gnupg/dirmngr/http.c:2448,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:2457,1
    - Dst: w32_strerror
      Src: /src/gnupg/dirmngr/http.c:2457,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:2458,1
    - Dst: InitializeSecurityContextW
      Src: /src/gnupg/dirmngr/http.c:2481,1
    - Dst: CompleteAuthToken
      Src: /src/gnupg/dirmngr/http.c:2501,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:2502,1
    - Dst: w32_strerror
      Src: /src/gnupg/dirmngr/http.c:2502,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:2503,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:2511,1
    - Dst: w32_strerror
      Src: /src/gnupg/dirmngr/http.c:2511,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:2512,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:2521,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:2528,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 102
    argCount: 2
    argNames:
    - proxy
    - inputstring
    argTypes:
    - proxy_info_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2531
      start: 2365
    functionDepth: 2
    functionLinenumber: 2365
    functionLinenumberEnd: 2531
    functionName: proxy_get_token
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - InitializeSecurityContextW
    - log_error
    - gpg_error_from_syserror
    - AcquireCredentialsHandleW
    - strconcat
    - gpg_error
    - gpg_strerror
    - log_debug
    - xfree
    - utf8_to_wchar
    - w32_strerror
    - CompleteAuthToken
    - QuerySecurityPackageInfoW
    - strncmp
    - xtrymalloc
    - b64decode
    - FreeContextBuffer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t proxy_get_token (proxy_info_t proxy, const char *inputstring)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: make_header_line
      Src: /src/gnupg/dirmngr/http.c:2560,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:2563,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2565,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:2570,1
    - Dst: es_bsprintf
      Src: /src/gnupg/dirmngr/http.c:2571,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2581,1
    - Dst: log_debug_string
      Src: /src/gnupg/dirmngr/http.c:2586,1
    - Dst: make_fp_write
      Src: /src/gnupg/dirmngr/http.c:2590,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/http.c:2595,1
    - Dst: es_fflush
      Src: /src/gnupg/dirmngr/http.c:2595,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2597,1
    - Dst: http_wait_response
      Src: /src/gnupg/dirmngr/http.c:2606,1
    - Dst: es_clearerr
      Src: /src/gnupg/dirmngr/http.c:2611,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:2620,1
    - Dst: http_get_header
      Src: /src/gnupg/dirmngr/http.c:2622,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:2625,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/dirmngr/http.c:2627,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:2638,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:2639,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:2644,1
    - Dst: proxy_get_token
      Src: /src/gnupg/dirmngr/http.c:2645,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:2650,1
    - Dst: make_header_line
      Src: /src/gnupg/dirmngr/http.c:2651,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2656,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:2667,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:2670,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:2672,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:2677,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:2679,1
    - Dst: proxy_get_token
      Src: /src/gnupg/dirmngr/http.c:2683,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:2688,1
    - Dst: make_header_line
      Src: /src/gnupg/dirmngr/http.c:2689,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2694,1
    - Dst: BUG
      Src: /src/gnupg/dirmngr/http.c:2703,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:2707,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:2711,1
    - Dst: es_bsprintf
      Src: /src/gnupg/dirmngr/http.c:2712,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:2713,1
    - Dst: _
      Src: /src/gnupg/dirmngr/http.c:2713,1
    - Dst: http_get_status_code
      Src: /src/gnupg/dirmngr/http.c:2715,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/http.c:2722,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/http.c:2730,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:2736,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:2737,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:2738,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 143
    argCount: 5
    argNames:
    - hd
    - proxy
    - httphost
    - server
    - port
    argTypes:
    - http_t
    - proxy_info_t
    - char*
    - char*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2535
    functionDepth: 3
    functionLinenumber: 2535
    functionLinenumberEnd: 2740
    functionName: run_proxy_connect
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - strlen
    - http_wait_response
    - BUG
    - es_fflush
    - proxy_get_token
    - log_error
    - log_debug_string
    - _
    - make_header_line
    - log_debug
    - make_fp_write
    - gpg_error_from_syserror
    - es_bsprintf
    - gpg_error
    - xfree
    - es_fputs
    - es_fclose
    - http_get_header
    - http_get_status_code
    - has_leading_keyword
    - es_clearerr
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t run_proxy_connect (http_t hd, proxy_info_t proxy,\n                   const
      char *httphost, const char *server,\n                   unsigned short port)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_header_line
      Src: /src/gnupg/dirmngr/http.c:2759,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:2762,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2764,1
    - Dst: es_bsprintf
      Src: /src/gnupg/dirmngr/http.c:2768,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2779,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:2786,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:2787,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 8
    argNames:
    - hd
    - proxy
    - httphost
    - server
    - port
    - relpath
    - authstr
    - r_request
    argTypes:
    - http_t
    - proxy_info_t
    - char*
    - char*
    - unsigned short
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2789
      start: 2745
    functionDepth: 1
    functionLinenumber: 2745
    functionLinenumberEnd: 2789
    functionName: mk_proxy_request
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - strlen
    - gpg_error_from_syserror
    - es_bsprintf
    - xfree
    - make_header_line
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t mk_proxy_request (http_t hd, proxy_info_t proxy,\n                  const
      char *httphost, const char *server,\n                  unsigned short port,
      const char *relpath,\n                  const char *authstr,\n                  char
      **r_request)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/http.c:2810,1
    - Dst: es_bsprintf
      Src: /src/gnupg/dirmngr/http.c:2812,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2822,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:2829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 7
    argNames:
    - hd
    - httphost
    - server
    - port
    - relpath
    - authstr
    - r_request
    argTypes:
    - http_t
    - char*
    - char*
    - unsigned short
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2831
      start: 2794
    functionDepth: 1
    functionLinenumber: 2794
    functionLinenumberEnd: 2831
    functionName: mk_std_request
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - snprintf
    - es_bsprintf
    - xfree
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t mk_std_request (http_t hd,\n                const char
      *httphost, const char *server,\n                unsigned short port, const char
      *relpath,\n                const char *authstr,\n                char **r_request)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: send_request_basic_checks
      Src: /src/gnupg/dirmngr/http.c:2856,1
    - Dst: send_request_set_sni
      Src: /src/gnupg/dirmngr/http.c:2871,1
    - Dst: get_proxy_for_url
      Src: /src/gnupg/dirmngr/http.c:2874,1
    - Dst: connect_server
      Src: /src/gnupg/dirmngr/http.c:2880,1
    - Dst: connect_server
      Src: /src/gnupg/dirmngr/http.c:2887,1
    - Dst: my_socket_new
      Src: /src/gnupg/dirmngr/http.c:2893,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2896,1
    - Dst: run_proxy_connect
      Src: /src/gnupg/dirmngr/http.c:2902,1
    - Dst: run_ntbtls_handshake
      Src: /src/gnupg/dirmngr/http.c:2913,1
    - Dst: run_gnutls_handshake
      Src: /src/gnupg/dirmngr/http.c:2915,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/http.c:2928,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2931,1
    - Dst: remove_escapes
      Src: /src/gnupg/dirmngr/http.c:2934,1
    - Dst: remove_escapes
      Src: /src/gnupg/dirmngr/http.c:2938,1
    - Dst: make_header_line
      Src: /src/gnupg/dirmngr/http.c:2942,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:2943,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:2945,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2949,1
    - Dst: build_rel_path
      Src: /src/gnupg/dirmngr/http.c:2954,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2957,1
    - Dst: mk_proxy_request
      Src: /src/gnupg/dirmngr/http.c:2962,1
    - Dst: mk_std_request
      Src: /src/gnupg/dirmngr/http.c:2965,1
    - Dst: log_debug_string
      Src: /src/gnupg/dirmngr/http.c:2971,1
    - Dst: make_fp_write
      Src: /src/gnupg/dirmngr/http.c:2975,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/http.c:2979,1
    - Dst: es_fflush
      Src: /src/gnupg/dirmngr/http.c:2979,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2981,1
    - Dst: log_debug_string
      Src: /src/gnupg/dirmngr/http.c:2988,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/http.c:2989,1
    - Dst: es_fflush
      Src: /src/gnupg/dirmngr/http.c:2989,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/http.c:2990,1
    - Dst: es_fflush
      Src: /src/gnupg/dirmngr/http.c:2990,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:2992,1
    - Dst: es_free
      Src: /src/gnupg/dirmngr/http.c:2998,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:2999,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:3000,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:3001,1
    - Dst: release_proxy_info
      Src: /src/gnupg/dirmngr/http.c:3002,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 106
    argCount: 8
    argNames:
    - ctrl
    - hd
    - httphost
    - auth
    - override_proxy
    - srvtag
    - timeout
    - headers
    argTypes:
    - ctrl_t
    - http_t
    - char*
    - char*
    - char*
    - char*
    - unsigned int
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3005
      start: 2838
    functionDepth: 4
    functionLinenumber: 2838
    functionLinenumberEnd: 3005
    functionName: send_request
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 1
    functionsReached:
    - strlen
    - build_rel_path
    - get_proxy_for_url
    - run_proxy_connect
    - connect_server
    - remove_escapes
    - es_fflush
    - es_free
    - log_debug_string
    - make_header_line
    - mk_proxy_request
    - send_request_set_sni
    - make_fp_write
    - release_proxy_info
    - gpg_error_from_syserror
    - xtrystrdup
    - xfree
    - es_fputs
    - run_ntbtls_handshake
    - run_gnutls_handshake
    - send_request_basic_checks
    - mk_std_request
    - my_socket_new
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t send_request (ctrl_t ctrl,\n              http_t hd, const
      char *httphost, const char *auth,\n\t      const char *override_proxy,\n              const
      char *srvtag, unsigned int timeout,\n              strlist_t headers)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: insert_escapes
      Src: /src/gnupg/dirmngr/http.c:3021,1
    - Dst: insert_escapes
      Src: /src/gnupg/dirmngr/http.c:3026,1
    - Dst: insert_escapes
      Src: /src/gnupg/dirmngr/http.c:3030,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/http.c:3036,1
    - Dst: insert_escapes
      Src: /src/gnupg/dirmngr/http.c:3039,1
    - Dst: insert_escapes
      Src: /src/gnupg/dirmngr/http.c:3045,1
    - Dst: insert_escapes
      Src: /src/gnupg/dirmngr/http.c:3051,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - uri
    argTypes:
    - parsed_uri_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3057
      start: 3013
    functionDepth: 2
    functionLinenumber: 3013
    functionLinenumberEnd: 3057
    functionName: build_rel_path
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 1
    functionsReached:
    - insert_escapes
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      build_rel_path (parsed_uri_t uri)'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3081
      start: 3063
    functionDepth: 0
    functionLinenumber: 3063
    functionLinenumberEnd: 3081
    functionName: capitalize_header_name
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void capitalize_header_name (char *name)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:3094,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:3109,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/http.c:3110,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/dirmngr/http.c:3112,1
    - Dst: strcpy
      Src: /src/gnupg/dirmngr/http.c:3113,1
    - Dst: stpcpy
      Src: /src/gnupg/dirmngr/http.c:3113,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:3114,1
    - Dst: capitalize_header_name
      Src: /src/gnupg/dirmngr/http.c:3119,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/http.c:3120,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:3131,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:3132,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:3137,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/http.c:3141,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/dirmngr/http.c:3143,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:3144,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/http.c:3151,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:3151,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/dirmngr/http.c:3153,1
    - Dst: strcpy
      Src: /src/gnupg/dirmngr/http.c:3154,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/http.c:3155,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:3155,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:3158,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/dirmngr/http.c:3159,1
    - Dst: strcpy
      Src: /src/gnupg/dirmngr/http.c:3161,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 2
    argNames:
    - hd
    - line
    argTypes:
    - http_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3166
      start: 3087
    functionDepth: 1
    functionLinenumber: 3087
    functionLinenumberEnd: 3166
    functionName: store_header
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - gpg_err_code_from_syserror
    - strlen
    - strconcat
    - strcmp
    - strchr
    - strcpy
    - xfree
    - capitalize_header_name
    - stpcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t store_header (http_t hd, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:3184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - hd
    - name
    - skip
    argTypes:
    - http_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3192
      start: 3178
    functionDepth: 0
    functionLinenumber: 3178
    functionLinenumberEnd: 3192
    functionName: http_get_header
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      http_get_header (http_t hd, const char *name, unsigned int skip)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/http.c:3208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3216
      start: 3199
    functionDepth: 0
    functionLinenumber: 3199
    functionLinenumberEnd: 3216
    functionName: http_get_header_names
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - xtrycalloc
    linkageType: ''
    returnType: char
    signature: 'char **

      http_get_header_names (http_t hd)'
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:3235,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:3236,1
    - Dst: es_read_line
      Src: /src/gnupg/dirmngr/http.c:3244,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:3247,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:3249,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:3251,1
    - Dst: log_debug_string
      Src: /src/gnupg/dirmngr/http.c:3254,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/http.c:3258,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:3260,1
    - Dst: strpbrk
      Src: /src/gnupg/dirmngr/http.c:3263,1
    - Dst: strspn
      Src: /src/gnupg/dirmngr/http.c:3266,1
    - Dst: strpbrk
      Src: /src/gnupg/dirmngr/http.c:3272,1
    - Dst: isdigit
      Src: /src/gnupg/dirmngr/http.c:3274,1
    - Dst: isdigit
      Src: /src/gnupg/dirmngr/http.c:3274,1
    - Dst: isdigit
      Src: /src/gnupg/dirmngr/http.c:3275,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/http.c:3282,1
    - Dst: es_read_line
      Src: /src/gnupg/dirmngr/http.c:3288,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:3291,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:3294,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:3299,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:3300,1
    - Dst: store_header
      Src: /src/gnupg/dirmngr/http.c:3303,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:3305,1
    - Dst: http_get_header
      Src: /src/gnupg/dirmngr/http.c:3313,1
    - Dst: string_to_u64
      Src: /src/gnupg/dirmngr/http.c:3317,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 64
    argCount: 1
    argNames:
    - hd
    argTypes:
    - http_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3322
      start: 3223
    functionDepth: 2
    functionLinenumber: 3223
    functionLinenumberEnd: 3322
    functionName: parse_response
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 1
    functionsReached:
    - strpbrk
    - atoi
    - gpg_error_from_syserror
    - log_debug_string
    - strlen
    - isdigit
    - es_read_line
    - strcmp
    - http_get_header
    - gpg_error
    - strchr
    - xfree
    - log_info
    - store_header
    - string_to_u64
    - strspn
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_response (http_t hd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/gnupg/dirmngr/http.c:3335,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:3337,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/http.c:3337,1
    - Dst: setsockopt
      Src: /src/gnupg/dirmngr/http.c:3341,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:3342,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/http.c:3342,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/http.c:3345,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/http.c:3346,1
    - Dst: bind
      Src: /src/gnupg/dirmngr/http.c:3348,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:3350,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/http.c:3350,1
    - Dst: sock_close
      Src: /src/gnupg/dirmngr/http.c:3351,1
    - Dst: listen
      Src: /src/gnupg/dirmngr/http.c:3355,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:3357,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/http.c:3357,1
    - Dst: sock_close
      Src: /src/gnupg/dirmngr/http.c:3358,1
    - Dst: FD_ZERO
      Src: /src/gnupg/dirmngr/http.c:3364,1
    - Dst: FD_SET
      Src: /src/gnupg/dirmngr/http.c:3365,1
    - Dst: my_select
      Src: /src/gnupg/dirmngr/http.c:3367,1
    - Dst: FD_ISSET
      Src: /src/gnupg/dirmngr/http.c:3370,1
    - Dst: my_accept
      Src: /src/gnupg/dirmngr/http.c:3374,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:3378,1
    - Dst: inet_ntoa
      Src: /src/gnupg/dirmngr/http.c:3378,1
    - Dst: fflush
      Src: /src/gnupg/dirmngr/http.c:3380,1
    - Dst: fflush
      Src: /src/gnupg/dirmngr/http.c:3381,1
    - Dst: fork
      Src: /src/gnupg/dirmngr/http.c:3382,1
    - Dst: fdopen
      Src: /src/gnupg/dirmngr/http.c:3387,1
    - Dst: getc
      Src: /src/gnupg/dirmngr/http.c:3388,1
    - Dst: putchar
      Src: /src/gnupg/dirmngr/http.c:3389,1
    - Dst: fclose
      Src: /src/gnupg/dirmngr/http.c:3390,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/http.c:3391,1
    - Dst: sock_close
      Src: /src/gnupg/dirmngr/http.c:3393,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3398
      start: 3325
    functionDepth: 1
    functionLinenumber: 3325
    functionLinenumberEnd: 3398
    functionName: start_server
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 1
    functionsReached:
    - my_accept
    - setsockopt
    - bind
    - exit
    - htons
    - fork
    - FD_ISSET
    - sock_close
    - log_error
    - getc
    - listen
    - FD_SET
    - fflush
    - log_info
    - socket
    - my_select
    - fdopen
    - inet_ntoa
    - memset
    - putchar
    - FD_ZERO
    - fclose
    - strerror
    linkageType: ''
    returnType: int
    signature: int start_server ()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assuan_sock_get_flag
      Src: /src/gnupg/dirmngr/http.c:3412,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct sockaddr_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3440
      start: 3407
    functionDepth: 1
    functionLinenumber: 3407
    functionLinenumberEnd: 3440
    functionName: use_socks
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - assuan_sock_get_flag
    linkageType: ''
    returnType: int
    signature: int use_socks (struct sockaddr_storage *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: use_socks
      Src: /src/gnupg/dirmngr/http.c:3450,1
    - Dst: assuan_sock_new
      Src: /src/gnupg/dirmngr/http.c:3459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - addr
    - type
    - proto
    argTypes:
    - struct sockaddr_storage*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3460
      start: 3445
    functionDepth: 1
    functionLinenumber: 3445
    functionLinenumberEnd: 3460
    functionName: my_sock_new_for_addr
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - assuan_sock_new
    - use_socks
    linkageType: ''
    returnType: assuan_fd_t
    signature: assuan_fd_t my_sock_new_for_addr (struct sockaddr_storage *addr, int
      type, int proto)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: WSAGetLastError
      Src: /src/gnupg/dirmngr/http.c:3471,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:3487,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3488
      start: 3465
    functionDepth: 0
    functionLinenumber: 3465
    functionLinenumberEnd: 3488
    functionName: my_wsagetlasterror
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - WSAGetLastError
    - gpg_err_make
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t my_wsagetlasterror (void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assuan_sock_connect
      Src: /src/gnupg/dirmngr/http.c:3530,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:3531,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/dirmngr/http.c:3531,1
    - Dst: ioctlsocket
      Src: /src/gnupg/dirmngr/http.c:3541,1
    - Dst: FD2INT
      Src: /src/gnupg/dirmngr/http.c:3541,1
    - Dst: my_wsagetlasterror
      Src: /src/gnupg/dirmngr/http.c:3542,1
    - Dst: fcntl
      Src: /src/gnupg/dirmngr/http.c:3545,1
    - Dst: fcntl
      Src: /src/gnupg/dirmngr/http.c:3546,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:3547,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/dirmngr/http.c:3547,1
    - Dst: assuan_sock_connect
      Src: /src/gnupg/dirmngr/http.c:3551,1
    - Dst: RESTORE_BLOCKING
      Src: /src/gnupg/dirmngr/http.c:3554,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:3557,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/dirmngr/http.c:3557,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/http.c:3558,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/http.c:3560,1
    - Dst: RESTORE_BLOCKING
      Src: /src/gnupg/dirmngr/http.c:3564,1
    - Dst: FD_ZERO
      Src: /src/gnupg/dirmngr/http.c:3568,1
    - Dst: FD_SET
      Src: /src/gnupg/dirmngr/http.c:3569,1
    - Dst: FD2INT
      Src: /src/gnupg/dirmngr/http.c:3569,1
    - Dst: my_select
      Src: /src/gnupg/dirmngr/http.c:3574,1
    - Dst: FD2NUM
      Src: /src/gnupg/dirmngr/http.c:3574,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:3577,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/dirmngr/http.c:3577,1
    - Dst: RESTORE_BLOCKING
      Src: /src/gnupg/dirmngr/http.c:3578,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:3585,1
    - Dst: FD_ISSET
      Src: /src/gnupg/dirmngr/http.c:3587,1
    - Dst: FD2INT
      Src: /src/gnupg/dirmngr/http.c:3587,1
    - Dst: FD_ISSET
      Src: /src/gnupg/dirmngr/http.c:3587,1
    - Dst: FD2INT
      Src: /src/gnupg/dirmngr/http.c:3587,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:3590,1
    - Dst: getsockopt
      Src: /src/gnupg/dirmngr/http.c:3594,1
    - Dst: FD2INT
      Src: /src/gnupg/dirmngr/http.c:3594,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:3598,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/dirmngr/http.c:3598,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:3601,1
    - Dst: gpg_err_code_from_errno
      Src: /src/gnupg/dirmngr/http.c:3601,1
    - Dst: RESTORE_BLOCKING
      Src: /src/gnupg/dirmngr/http.c:3605,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 4
    argNames:
    - sock
    - addr
    - addrlen
    - timeout
    argTypes:
    - assuan_fd_t
    - struct sockaddr*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3610
      start: 3502
    functionDepth: 1
    functionLinenumber: 3502
    functionLinenumberEnd: 3610
    functionName: connect_with_timeout
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - FD_ZERO
    - FD2INT
    - getsockopt
    - gpg_err_code_from_syserror
    - my_select
    - ioctlsocket
    - gpg_err_make
    - FD_SET
    - FD2NUM
    - gpg_err_code
    - fcntl
    - RESTORE_BLOCKING
    - my_wsagetlasterror
    - FD_ISSET
    - assuan_sock_connect
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t connect_with_timeout (assuan_fd_t sock,\n                      struct
      sockaddr *addr, int addrlen,\n                      unsigned int timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3519
      start: 3516
    functionDepth: 0
    functionLinenumber: 3516
    functionLinenumberEnd: 3519
    functionName: RESTORE_BLOCKING
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESTORE_BLOCKING()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3524
      start: 3520
    functionDepth: 0
    functionLinenumber: 3520
    functionLinenumberEnd: 3524
    functionName: RESTORE_BLOCKING
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESTORE_BLOCKING()
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: init_sockets
      Src: /src/gnupg/dirmngr/http.c:3636,1
    - Dst: check_inet_support
      Src: /src/gnupg/dirmngr/http.c:3639,1
    - Dst: is_onion_address
      Src: /src/gnupg/dirmngr/http.c:3642,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:3647,1
    - Dst: assuan_sock_connect_byname
      Src: /src/gnupg/dirmngr/http.c:3649,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:3653,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/dirmngr/http.c:3655,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:3656,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/http.c:3656,1
    - Dst: notify_netactivity
      Src: /src/gnupg/dirmngr/http.c:3660,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:3666,1
    - Dst: get_dns_srv
      Src: /src/gnupg/dirmngr/http.c:3675,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:3677,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/http.c:3678,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/http.c:3687,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:3689,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/dirmngr/http.c:3689,1
    - Dst: strncpy
      Src: /src/gnupg/dirmngr/http.c:3692,1
    - Dst: DIMof
      Src: /src/gnupg/dirmngr/http.c:3692,1
    - Dst: DIMof
      Src: /src/gnupg/dirmngr/http.c:3693,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:3703,1
    - Dst: resolve_dns_name
      Src: /src/gnupg/dirmngr/http.c:3705,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:3710,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/http.c:3711,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/dirmngr/http.c:3727,1
    - Dst: my_sock_new_for_addr
      Src: /src/gnupg/dirmngr/http.c:3728,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:3740,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/dirmngr/http.c:3741,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:3742,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/http.c:3742,1
    - Dst: free_dns_addrinfo
      Src: /src/gnupg/dirmngr/http.c:3743,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:3744,1
    - Dst: connect_with_timeout
      Src: /src/gnupg/dirmngr/http.c:3749,1
    - Dst: notify_netactivity
      Src: /src/gnupg/dirmngr/http.c:3758,1
    - Dst: free_dns_addrinfo
      Src: /src/gnupg/dirmngr/http.c:3761,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:3764,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:3770,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/http.c:3774,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:3778,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:3783,1
    - Dst: WSAGetLastError
      Src: /src/gnupg/dirmngr/http.c:3784,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:3786,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/http.c:3787,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/http.c:3790,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/dirmngr/http.c:3793,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 97
    argCount: 7
    argNames:
    - ctrl
    - server
    - port
    - flags
    - srvtag
    - timeout
    - r_sock
    argTypes:
    - ctrl_t
    - char*
    - unsigned short
    - unsigned int
    - char*
    - unsigned int
    - assuan_fd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3799
      start: 3619
    functionDepth: 2
    functionLinenumber: 3619
    functionLinenumberEnd: 3799
    functionName: connect_server
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 2
    functionsReached:
    - my_sock_new_for_addr
    - gpg_err_make
    - free_dns_addrinfo
    - strncpy
    - is_onion_address
    - assuan_sock_connect_byname
    - log_error
    - get_dns_srv
    - log_info
    - DIMof
    - log_debug
    - init_sockets
    - gpg_err_code_from_syserror
    - notify_netactivity
    - assuan_sock_close
    - gpg_strerror
    - xfree
    - xtrycalloc
    - connect_with_timeout
    - resolve_dns_name
    - WSAGetLastError
    - check_inet_support
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t connect_server (ctrl_t ctrl, const char *server, unsigned
      short port,\n                unsigned int flags, const char *srvtag, unsigned
      int timeout,\n                assuan_fd_t *r_sock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/http.c:3814,1
    - Dst: recv
      Src: /src/gnupg/dirmngr/http.c:3816,1
    - Dst: FD2INT
      Src: /src/gnupg/dirmngr/http.c:3816,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/http.c:3818,1
    - Dst: npth_read
      Src: /src/gnupg/dirmngr/http.c:3824,1
    - Dst: read
      Src: /src/gnupg/dirmngr/http.c:3826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - sock
    - buffer
    - size
    argTypes:
    - assuan_fd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3834
      start: 3804
    functionDepth: 1
    functionLinenumber: 3804
    functionLinenumberEnd: 3834
    functionName: read_server
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - FD2INT
    - read
    - recv
    - npth_unprotect
    - npth_protect
    - npth_read
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t read_server (assuan_fd_t sock, void *buffer, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: npth_unprotect
      Src: /src/gnupg/dirmngr/http.c:3848,1
    - Dst: send
      Src: /src/gnupg/dirmngr/http.c:3850,1
    - Dst: FD2INT
      Src: /src/gnupg/dirmngr/http.c:3850,1
    - Dst: npth_protect
      Src: /src/gnupg/dirmngr/http.c:3852,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:3856,1
    - Dst: WSAGetLastError
      Src: /src/gnupg/dirmngr/http.c:3856,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:3857,1
    - Dst: npth_write
      Src: /src/gnupg/dirmngr/http.c:3861,1
    - Dst: write
      Src: /src/gnupg/dirmngr/http.c:3863,1
    - Dst: my_select
      Src: /src/gnupg/dirmngr/http.c:3875,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:3878,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/http.c:3878,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:3879,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - sock
    - data
    - length
    argTypes:
    - assuan_fd_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3887
      start: 3837
    functionDepth: 1
    functionLinenumber: 3837
    functionLinenumberEnd: 3887
    functionName: write_server
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - FD2INT
    - my_select
    - gpg_error_from_syserror
    - send
    - WSAGetLastError
    - npth_write
    - write
    - gpg_error
    - log_info
    - npth_unprotect
    - npth_protect
    - strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_server (assuan_fd_t sock, const char *data, size_t
      length)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/http.c:3913,1
    - Dst: ntbtls_get_stream
      Src: /src/gnupg/dirmngr/http.c:3925,1
    - Dst: es_fread
      Src: /src/gnupg/dirmngr/http.c:3926,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:3928,1
    - Dst: gnutls_record_recv
      Src: /src/gnupg/dirmngr/http.c:3937,1
    - Dst: my_select
      Src: /src/gnupg/dirmngr/http.c:3949,1
    - Dst: close_tls_session
      Src: /src/gnupg/dirmngr/http.c:3958,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:3961,1
    - Dst: gnutls_strerror
      Src: /src/gnupg/dirmngr/http.c:3961,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/http.c:3962,1
    - Dst: read_server
      Src: /src/gnupg/dirmngr/http.c:3971,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:3973,1
    - Dst: gnupg_memstr
      Src: /src/gnupg/dirmngr/http.c:4009,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/http.c:4018,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/http.c:4020,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:4024,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/http.c:4026,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:4029,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:4030,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/http.c:4031,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/http.c:4034,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/http.c:4037,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 111
    argCount: 3
    argNames:
    - cookie
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4056
      start: 3892
    functionDepth: 2
    functionLinenumber: 3892
    functionLinenumberEnd: 4056
    functionName: cookie_read
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - ntbtls_get_stream
    - my_select
    - gnutls_strerror
    - gnupg_memstr
    - log_assert
    - xtrymalloc
    - gpg_error_from_syserror
    - log_error
    - es_fread
    - log_info
    - xfree
    - gnutls_record_recv
    - gpg_err_set_errno
    - close_tls_session
    - gpg_strerror
    - memcpy
    - read_server
    - log_debug
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t cookie_read (void *cookie, void *buffer, size_t size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ntbtls_get_stream
      Src: /src/gnupg/dirmngr/http.c:4071,1
    - Dst: es_fflush
      Src: /src/gnupg/dirmngr/http.c:4073,1
    - Dst: es_fwrite
      Src: /src/gnupg/dirmngr/http.c:4075,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/http.c:4077,1
    - Dst: gnutls_record_send
      Src: /src/gnupg/dirmngr/http.c:4086,1
    - Dst: my_select
      Src: /src/gnupg/dirmngr/http.c:4098,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:4101,1
    - Dst: gnutls_strerror
      Src: /src/gnupg/dirmngr/http.c:4102,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/http.c:4103,1
    - Dst: write_server
      Src: /src/gnupg/dirmngr/http.c:4113,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/http.c:4115,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 3
    argNames:
    - cookie
    - buffer_arg
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4123
      start: 4059
    functionDepth: 2
    functionLinenumber: 4059
    functionLinenumberEnd: 4123
    functionName: cookie_write
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - ntbtls_get_stream
    - my_select
    - gnutls_strerror
    - write_server
    - gnutls_record_send
    - log_info
    - es_fwrite
    - gpg_err_set_errno
    - es_fflush
    - log_debug
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t cookie_write (void *cookie, const void *buffer_arg, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_server
      Src: /src/gnupg/dirmngr/http.c:4131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cookie
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4132
      start: 4127
    functionDepth: 2
    functionLinenumber: 4127
    functionLinenumberEnd: 4132
    functionName: simple_cookie_read
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - read_server
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t simple_cookie_read (void *cookie, void *buffer, size_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_server
      Src: /src/gnupg/dirmngr/http.c:4141,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/http.c:4143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cookie
    - buffer_arg
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4150
      start: 4134
    functionDepth: 2
    functionLinenumber: 4134
    functionLinenumberEnd: 4150
    functionName: simple_cookie_write
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - gpg_err_set_errno
    - write_server
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t simple_cookie_write (void *cookie, const void *buffer_arg,
      size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_bye
      Src: /src/gnupg/dirmngr/http.c:4164,1
    - Dst: my_select
      Src: /src/gnupg/dirmngr/http.c:4172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4175
      start: 4156
    functionDepth: 1
    functionLinenumber: 4156
    functionLinenumberEnd: 4175
    functionName: send_gnutls_bye
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - gnutls_bye
    - my_select
    linkageType: ''
    returnType: void
    signature: void send_gnutls_bye (void *opaque)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: my_socket_unref
      Src: /src/gnupg/dirmngr/http.c:4192,1
    - Dst: my_socket_unref
      Src: /src/gnupg/dirmngr/http.c:4197,1
    - Dst: my_socket_unref
      Src: /src/gnupg/dirmngr/http.c:4201,1
    - Dst: http_session_unref
      Src: /src/gnupg/dirmngr/http.c:4204,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:4205,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/http.c:4206,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4208
      start: 4179
    functionDepth: 1
    functionLinenumber: 4179
    functionLinenumberEnd: 4208
    functionName: cookie_close
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - my_socket_unref
    - xfree
    - http_session_unref
    linkageType: ''
    returnType: int
    signature: int cookie_close (void *cookie)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_type_get
      Src: /src/gnupg/dirmngr/http.c:4232,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:4234,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:4236,1
    - Dst: gnutls_certificate_verify_peers2
      Src: /src/gnupg/dirmngr/http.c:4239,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:4242,1
    - Dst: gnutls_strerror
      Src: /src/gnupg/dirmngr/http.c:4242,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:4244,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:4250,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnupg/dirmngr/http.c:4251,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:4254,1
    - Dst: gnutls_free
      Src: /src/gnupg/dirmngr/http.c:4255,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:4260,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/http.c:4264,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:4266,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:4268,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnupg/dirmngr/http.c:4271,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:4274,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:4276,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnupg/dirmngr/http.c:4283,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:4287,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnupg/dirmngr/http.c:4292,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:4295,1
    - Dst: gnutls_strerror
      Src: /src/gnupg/dirmngr/http.c:4296,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:4298,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnupg/dirmngr/http.c:4301,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:4303,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:4305,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnupg/dirmngr/http.c:4308,1
    - Dst: DIM
      Src: /src/gnupg/dirmngr/http.c:4319,1
    - Dst: http_session_t::cert_log_cb
      Src: /src/gnupg/dirmngr/http.c:4326,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:4332,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 1
    argNames:
    - sess
    argTypes:
    - http_session_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4334
      start: 4215
    functionDepth: 1
    functionLinenumber: 4215
    functionLinenumberEnd: 4334
    functionName: http_verify_server_credentials
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_strerror
    - log_error
    - DIM
    - gnutls_certificate_verify_peers2
    - gpg_error
    - gnutls_certificate_type_get
    - log_info
    - strchr
    - gnutls_free
    - gnutls_certificate_get_peers
    - gnutls_certificate_verification_status_print
    - gnutls_x509_crt_check_hostname
    - http_session_t::cert_log_cb
    - gnutls_x509_crt_import
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t http_verify_server_credentials (http_session_t sess)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/http.c:4345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - uri
    - key
    argTypes:
    - parsed_uri_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4349
      start: 4339
    functionDepth: 0
    functionLinenumber: 4339
    functionLinenumberEnd: 4349
    functionName: uri_query_lookup
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct uri_tuple_s
    signature: 'struct uri_tuple_s *

      uri_query_lookup (parsed_uri_t uri, const char *key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri_query_lookup
      Src: /src/gnupg/dirmngr/http.c:4355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - url
    - key
    argTypes:
    - parsed_uri_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4351
    functionDepth: 1
    functionLinenumber: 4351
    functionLinenumberEnd: 4357
    functionName: uri_query_value
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 1
    functionsReached:
    - uri_query_lookup
    linkageType: ''
    returnType: char
    signature: 'char *

      uri_query_value (parsed_uri_t url, const char *key)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/http.c:4390,1
    - Dst: DIM
      Src: /src/gnupg/dirmngr/http.c:4394,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/http.c:4400,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/http.c:4401,1
    - Dst: DIM
      Src: /src/gnupg/dirmngr/http.c:4408,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:4411,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/dirmngr/http.c:4413,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/http.c:4414,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/dirmngr/http.c:4416,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/http.c:4417,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - parsed_uri_t
    - parsed_uri_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4422
      start: 4365
    functionDepth: 2
    functionLinenumber: 4365
    functionLinenumberEnd: 4422
    functionName: same_host_p
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - ascii_strncasecmp
    - DIM
    - ascii_strcasecmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int same_host_p (parsed_uri_t a, parsed_uri_t b)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:4443,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:4446,1
    - Dst: _
      Src: /src/gnupg/dirmngr/http.c:4446,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/http.c:4452,1
    - Dst: _
      Src: /src/gnupg/dirmngr/http.c:4452,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:4453,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:4458,1
    - Dst: http_parse_uri
      Src: /src/gnupg/dirmngr/http.c:4460,1
    - Dst: dirmngr_status_printf
      Src: /src/gnupg/dirmngr/http.c:4469,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/http.c:4474,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:4475,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:4479,1
    - Dst: dirmngr_status_printf
      Src: /src/gnupg/dirmngr/http.c:4480,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/http.c:4484,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/http.c:4491,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/http.c:4492,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:4495,1
    - Dst: http_parse_uri
      Src: /src/gnupg/dirmngr/http.c:4499,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/http.c:4501,1
    - Dst: same_host_p
      Src: /src/gnupg/dirmngr/http.c:4504,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/http.c:4509,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/http.c:4510,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/http.c:4511,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:4514,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/http.c:4528,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/http.c:4529,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:4530,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/http.c:4534,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/http.c:4535,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/http.c:4536,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/http.c:4539,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http.c:4539,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/http.c:4543,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/http.c:4544,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/http.c:4545,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/http.c:4553,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/http.c:4555,1
    - Dst: strcpy
      Src: /src/gnupg/dirmngr/http.c:4558,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/http.c:4560,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/http.c:4561,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/http.c:4563,1
    - Dst: _
      Src: /src/gnupg/dirmngr/http.c:4563,1
    - Dst: dirmngr_status_printf
      Src: /src/gnupg/dirmngr/http.c:4564,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 4
    argNames:
    - info
    - status_code
    - location
    - r_url
    argTypes:
    - http_redir_info_t*
    - unsigned int
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4572
      start: 4430
    functionDepth: 3
    functionLinenumber: 4430
    functionLinenumberEnd: 4572
    functionName: http_prepare_redirect
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - http_parse_uri
    - log_error
    - gpg_error_from_syserror
    - strlen
    - _
    - xtrystrdup
    - gpg_error
    - same_host_p
    - log_info
    - memcpy
    - strcpy
    - dirmngr_status_printf
    - xtrymalloc
    - http_release_parsed_uri
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t http_prepare_redirect (http_redir_info_t *info, unsigned
      int status_code,\n                       const char *location, char **r_url)"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - status
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4596
      start: 4577
    functionDepth: 0
    functionLinenumber: 4577
    functionLinenumberEnd: 4596
    functionName: http_status2string
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      http_status2string (unsigned int status)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: w32_get_internet_session
      Src: /src/gnupg/dirmngr/http.c:4604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4606
      start: 4600
    functionDepth: 2
    functionLinenumber: 4600
    functionLinenumberEnd: 4606
    functionName: http_reinitialize
    functionSourceFile: /src/gnupg/dirmngr/http.c
    functionUses: 0
    functionsReached:
    - w32_get_internet_session
    linkageType: ''
    returnType: void
    signature: void http_reinitialize (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_rwlock_init
      Src: /src/gnupg/dirmngr/certcache.c:123,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/certcache.c:125,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:125,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/certcache.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: init_cache_lock
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - log_fatal
    - strerror
    - _
    - npth_rwlock_init
    linkageType: ''
    returnType: void
    signature: void init_cache_lock (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_rwlock_rdlock
      Src: /src/gnupg/dirmngr/certcache.c:134,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/certcache.c:136,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:136,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/certcache.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: acquire_cache_read_lock
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - log_fatal
    - strerror
    - npth_rwlock_rdlock
    - _
    linkageType: ''
    returnType: void
    signature: void acquire_cache_read_lock (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_rwlock_wrlock
      Src: /src/gnupg/dirmngr/certcache.c:145,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/certcache.c:147,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:147,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/certcache.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: acquire_cache_write_lock
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - strerror
    - log_fatal
    - npth_rwlock_wrlock
    - _
    linkageType: ''
    returnType: void
    signature: void acquire_cache_write_lock (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_rwlock_unlock
      Src: /src/gnupg/dirmngr/certcache.c:156,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/certcache.c:158,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:158,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/certcache.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: release_cache_lock
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - npth_rwlock_unlock
    - log_fatal
    - strerror
    - _
    linkageType: ''
    returnType: void
    signature: void release_cache_lock (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmp_simple_canon_sexp
      Src: /src/gnupg/dirmngr/certcache.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - serial1
    - serial2
    argTypes:
    - ksba_sexp_t
    - ksba_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: compare_serialno
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - cmp_simple_canon_sexp
    linkageType: ''
    returnType: int
    signature: int compare_serialno (ksba_sexp_t serial1, ksba_sexp_t serial2 )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unhexify
      Src: /src/gnupg/dirmngr/certcache.c:185,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/certcache.c:186,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/certcache.c:187,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/certcache.c:187,1
    - Dst: stpcpy
      Src: /src/gnupg/dirmngr/certcache.c:190,1
    - Dst: unhexify
      Src: /src/gnupg/dirmngr/certcache.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - hexsn
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 196
    functionName: hexsn_to_sexp
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - unhexify
    - stpcpy
    - xtrymalloc
    linkageType: ''
    returnType: ksba_sexp_t
    signature: ksba_sexp_t hexsn_to_sexp (const char *hexsn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_open
      Src: /src/gnupg/dirmngr/certcache.c:207,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/certcache.c:209,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:209,1
    - Dst: ksba_cert_hash
      Src: /src/gnupg/dirmngr/certcache.c:211,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:214,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:214,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/certcache.c:215,1
    - Dst: gcry_md_final
      Src: /src/gnupg/dirmngr/certcache.c:219,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/certcache.c:220,1
    - Dst: gcry_md_read
      Src: /src/gnupg/dirmngr/certcache.c:220,1
    - Dst: gcry_md_close
      Src: /src/gnupg/dirmngr/certcache.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - cert
    - digest
    argTypes:
    - ksba_cert_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 224
    functionName: cert_compute_fpr
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - gcry_md_open
    - log_error
    - ksba_cert_hash
    - log_fatal
    - gpg_strerror
    - memset
    - gcry_md_final
    - gcry_md_close
    - gcry_md_read
    - memcpy
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      cert_compute_fpr (ksba_cert_t cert, unsigned char *digest)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/certcache.c:238,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/certcache.c:240,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/certcache.c:242,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ci
    argTypes:
    - cert_item_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 251
    functionName: clean_cache_slot
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - ksba_free
    - ksba_cert_release
    linkageType: ''
    returnType: void
    signature: void clean_cache_slot (cert_item_t ci)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/dirmngr/certcache.c:281,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:282,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/dirmngr/certcache.c:284,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/certcache.c:286,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:287,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:314,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:314,1
    - Dst: assert
      Src: /src/gnupg/dirmngr/certcache.c:315,1
    - Dst: clean_cache_slot
      Src: /src/gnupg/dirmngr/certcache.c:324,1
    - Dst: cert_compute_fpr
      Src: /src/gnupg/dirmngr/certcache.c:336,1
    - Dst: memcmp
      Src: /src/gnupg/dirmngr/certcache.c:339,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:342,1
    - Dst: memcmp
      Src: /src/gnupg/dirmngr/certcache.c:346,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:347,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/certcache.c:354,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/certcache.c:356,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/dirmngr/certcache.c:361,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/certcache.c:363,1
    - Dst: ksba_cert_get_serial
      Src: /src/gnupg/dirmngr/certcache.c:364,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/dirmngr/certcache.c:365,1
    - Dst: clean_cache_slot
      Src: /src/gnupg/dirmngr/certcache.c:368,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:369,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/dirmngr/certcache.c:371,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 65
    argCount: 4
    argNames:
    - cert
    - permanent
    - trustclass
    - fpr_buffer
    argTypes:
    - ksba_cert_t
    - int
    - unsigned int
    - void*
    assertStmts:
    - condition: (idx < 256)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/gnupg/dirmngr/certcache.c
    constantsTouched: []
    func_position:
      end: 381
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 381
    functionName: put_cert
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - assert
    - ksba_cert_get_subject
    - ksba_cert_get_issuer
    - _
    - xtrycalloc
    - strcmp
    - gpg_error_from_errno
    - gnupg_get_isotime
    - gpg_error
    - log_info
    - clean_cache_slot
    - memcmp
    - cert_compute_fpr
    - ksba_cert_get_serial
    - ksba_cert_ref
    - memcpy
    - ksba_cert_get_validity
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t put_cert (ksba_cert_t cert, int permanent, unsigned int
      trustclass,\n          void *fpr_buffer)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_opendir
      Src: /src/gnupg/dirmngr/certcache.c:401,1
    - Dst: gnupg_readdir
      Src: /src/gnupg/dirmngr/certcache.c:407,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/certcache.c:412,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/certcache.c:413,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/certcache.c:413,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:416,1
    - Dst: make_filename
      Src: /src/gnupg/dirmngr/certcache.c:417,1
    - Dst: es_fopen
      Src: /src/gnupg/dirmngr/certcache.c:418,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:421,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:421,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/certcache.c:422,1
    - Dst: create_estream_ksba_reader
      Src: /src/gnupg/dirmngr/certcache.c:426,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/certcache.c:429,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/dirmngr/certcache.c:433,1
    - Dst: ksba_cert_read_der
      Src: /src/gnupg/dirmngr/certcache.c:435,1
    - Dst: ksba_reader_release
      Src: /src/gnupg/dirmngr/certcache.c:436,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/certcache.c:437,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:440,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:440,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:441,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:442,1
    - Dst: put_cert
      Src: /src/gnupg/dirmngr/certcache.c:446,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/certcache.c:447,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:448,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:448,1
    - Dst: http_register_cfg_ca
      Src: /src/gnupg/dirmngr/certcache.c:452,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:455,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:455,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:457,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:457,1
    - Dst: get_fingerprint_hexstring_colon
      Src: /src/gnupg/dirmngr/certcache.c:460,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:461,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:461,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:462,1
    - Dst: cert_log_name
      Src: /src/gnupg/dirmngr/certcache.c:464,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:464,1
    - Dst: cert_log_subject
      Src: /src/gnupg/dirmngr/certcache.c:465,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:465,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/certcache.c:468,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:469,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:471,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:471,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:472,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:473,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:476,1
    - Dst: gnupg_closedir
      Src: /src/gnupg/dirmngr/certcache.c:477,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 2
    argNames:
    - dirname
    - trustclass
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 388
    functionDepth: 4
    functionLinenumber: 388
    functionLinenumberEnd: 479
    functionName: load_certs_from_dir
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - gnupg_opendir
    - strlen
    - ksba_reader_release
    - create_estream_ksba_reader
    - es_fopen
    - cert_log_subject
    - ksba_cert_new
    - log_error
    - _
    - log_info
    - cert_log_name
    - get_fingerprint_hexstring_colon
    - ksba_cert_release
    - gnupg_readdir
    - gnupg_closedir
    - strcmp
    - xfree
    - gpg_strerror
    - ksba_cert_read_der
    - make_filename
    - es_fclose
    - gpg_err_code
    - http_register_cfg_ca
    - put_cert
    - strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t load_certs_from_dir (const char *dirname, unsigned int
      trustclass)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/dirmngr/certcache.c:498,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/certcache.c:501,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/certcache.c:502,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:503,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:503,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:503,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:505,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:505,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:505,1
    - Dst: gnupg_ksba_create_reader
      Src: /src/gnupg/dirmngr/certcache.c:509,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:515,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:515,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:522,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/dirmngr/certcache.c:524,1
    - Dst: ksba_cert_read_der
      Src: /src/gnupg/dirmngr/certcache.c:526,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/certcache.c:529,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:532,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:532,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:533,1
    - Dst: put_cert
      Src: /src/gnupg/dirmngr/certcache.c:537,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/certcache.c:538,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:539,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:539,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/certcache.c:540,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:541,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:543,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:543,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:544,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:549,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:549,1
    - Dst: get_fingerprint_hexstring_colon
      Src: /src/gnupg/dirmngr/certcache.c:550,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:551,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:551,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:552,1
    - Dst: cert_log_name
      Src: /src/gnupg/dirmngr/certcache.c:554,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:554,1
    - Dst: cert_log_subject
      Src: /src/gnupg/dirmngr/certcache.c:555,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:555,1
    - Dst: ksba_reader_clear
      Src: /src/gnupg/dirmngr/certcache.c:558,1
    - Dst: gnupg_ksba_reader_eof_seen
      Src: /src/gnupg/dirmngr/certcache.c:560,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:563,1
    - Dst: gnupg_ksba_destroy_reader
      Src: /src/gnupg/dirmngr/certcache.c:564,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/certcache.c:565,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 3
    argNames:
    - fname
    - trustclasses
    - no_error
    argTypes:
    - char*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 488
    functionDepth: 4
    functionLinenumber: 488
    functionLinenumberEnd: 568
    functionName: load_certs_from_file
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - ksba_reader_clear
    - es_fopen
    - cert_log_subject
    - ksba_cert_new
    - gnupg_ksba_destroy_reader
    - log_error
    - _
    - log_info
    - cert_log_name
    - get_fingerprint_hexstring_colon
    - ksba_cert_release
    - gpg_error_from_syserror
    - gpg_strerror
    - xfree
    - ksba_cert_read_der
    - es_fclose
    - gnupg_ksba_reader_eof_seen
    - gpg_err_code
    - gnupg_ksba_create_reader
    - put_cert
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t load_certs_from_file (const char *fname, unsigned int
      trustclasses,\n                      int no_error)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/gnupg/dirmngr/certcache.c:596,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:599,1
    - Dst: w32_strerror
      Src: /src/gnupg/dirmngr/certcache.c:599,1
    - Dst: GetProcAddress
      Src: /src/gnupg/dirmngr/certcache.c:604,1
    - Dst: GetProcAddress
      Src: /src/gnupg/dirmngr/certcache.c:606,1
    - Dst: GetProcAddress
      Src: /src/gnupg/dirmngr/certcache.c:608,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:613,1
    - Dst: pCertOpenSystemStore
      Src: /src/gnupg/dirmngr/certcache.c:622,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:625,1
    - Dst: w32_strerror
      Src: /src/gnupg/dirmngr/certcache.c:626,1
    - Dst: pCertEnumCertificatesInStore
      Src: /src/gnupg/dirmngr/certcache.c:631,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:635,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/dirmngr/certcache.c:637,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/dirmngr/certcache.c:639,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:644,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:644,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:645,1
    - Dst: put_cert
      Src: /src/gnupg/dirmngr/certcache.c:649,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/certcache.c:652,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/certcache.c:655,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:655,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/certcache.c:657,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:658,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:661,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:661,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:662,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:667,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:667,1
    - Dst: get_fingerprint_hexstring_colon
      Src: /src/gnupg/dirmngr/certcache.c:668,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:669,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:669,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:670,1
    - Dst: cert_log_name
      Src: /src/gnupg/dirmngr/certcache.c:672,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:672,1
    - Dst: cert_log_subject
      Src: /src/gnupg/dirmngr/certcache.c:673,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:673,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:678,1
    - Dst: pCertCloseStore
      Src: /src/gnupg/dirmngr/certcache.c:679,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/certcache.c:682,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 1
    argNames:
    - storename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 576
    functionDepth: 4
    functionLinenumber: 576
    functionLinenumberEnd: 685
    functionName: load_certs_from_w32_store
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - GetProcAddress
    - pCertEnumCertificatesInStore
    - cert_log_subject
    - ksba_cert_new
    - ksba_cert_init_from_mem
    - log_error
    - _
    - log_info
    - w32_strerror
    - cert_log_name
    - get_fingerprint_hexstring_colon
    - ksba_cert_release
    - log_debug
    - pCertCloseStore
    - LoadLibrary
    - gpg_strerror
    - xfree
    - pCertOpenSystemStore
    - gpg_err_code
    - put_cert
    linkageType: ''
    returnType: void
    signature: void load_certs_from_w32_store (const char *storename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load_certs_from_w32_store
      Src: /src/gnupg/dirmngr/certcache.c:695,1
    - Dst: load_certs_from_w32_store
      Src: /src/gnupg/dirmngr/certcache.c:696,1
    - Dst: DIM
      Src: /src/gnupg/dirmngr/certcache.c:719,1
    - Dst: gnupg_access
      Src: /src/gnupg/dirmngr/certcache.c:720,1
    - Dst: load_certs_from_file
      Src: /src/gnupg/dirmngr/certcache.c:723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 690
    functionDepth: 5
    functionLinenumber: 690
    functionLinenumberEnd: 729
    functionName: load_certs_from_system
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - load_certs_from_file
    - DIM
    - load_certs_from_w32_store
    - gnupg_access
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t load_certs_from_system (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:741,1
    - Dst: acquire_cache_write_lock
      Src: /src/gnupg/dirmngr/certcache.c:742,1
    - Dst: load_certs_from_system
      Src: /src/gnupg/dirmngr/certcache.c:744,1
    - Dst: make_filename_try
      Src: /src/gnupg/dirmngr/certcache.c:746,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/dirmngr/certcache.c:746,1
    - Dst: load_certs_from_dir
      Src: /src/gnupg/dirmngr/certcache.c:748,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:749,1
    - Dst: make_filename_try
      Src: /src/gnupg/dirmngr/certcache.c:751,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/dirmngr/certcache.c:751,1
    - Dst: load_certs_from_dir
      Src: /src/gnupg/dirmngr/certcache.c:753,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:754,1
    - Dst: load_certs_from_file
      Src: /src/gnupg/dirmngr/certcache.c:767,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:770,1
    - Dst: cert_cache_print_stats
      Src: /src/gnupg/dirmngr/certcache.c:772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - hkp_cacerts
    argTypes:
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 733
    functionDepth: 6
    functionLinenumber: 733
    functionLinenumberEnd: 773
    functionName: cert_cache_init
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - load_certs_from_file
    - release_cache_lock
    - load_certs_from_system
    - cert_cache_print_stats
    - xfree
    - make_filename_try
    - gnupg_sysconfdir
    - acquire_cache_write_lock
    - init_cache_lock
    - load_certs_from_dir
    linkageType: ''
    returnType: void
    signature: void cert_cache_init (strlist_t hkp_cacerts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: acquire_cache_write_lock
      Src: /src/gnupg/dirmngr/certcache.c:786,1
    - Dst: clean_cache_slot
      Src: /src/gnupg/dirmngr/certcache.c:790,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:799,1
    - Dst: http_register_cfg_ca
      Src: /src/gnupg/dirmngr/certcache.c:805,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:810,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - full
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 777
    functionDepth: 3
    functionLinenumber: 777
    functionLinenumberEnd: 811
    functionName: cert_cache_deinit
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - release_cache_lock
    - clean_cache_slot
    - xfree
    - http_register_cfg_ca
    - acquire_cache_write_lock
    linkageType: ''
    returnType: void
    signature: void cert_cache_deinit (int full)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: acquire_cache_read_lock
      Src: /src/gnupg/dirmngr/certcache.c:827,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:850,1
    - Dst: dirmngr_status_helpf
      Src: /src/gnupg/dirmngr/certcache.c:852,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:853,1
    - Dst: dirmngr_status_helpf
      Src: /src/gnupg/dirmngr/certcache.c:855,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:856,1
    - Dst: dirmngr_status_helpf
      Src: /src/gnupg/dirmngr/certcache.c:858,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:859,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 865
    functionName: cert_cache_print_stats
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 1
    functionsReached:
    - release_cache_lock
    - dirmngr_status_helpf
    - acquire_cache_read_lock
    - _
    linkageType: ''
    returnType: void
    signature: void cert_cache_print_stats (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mask
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 874
    functionName: cert_cache_any_in_class
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cert_cache_any_in_class (unsigned int mask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: acquire_cache_write_lock
      Src: /src/gnupg/dirmngr/certcache.c:883,1
    - Dst: put_cert
      Src: /src/gnupg/dirmngr/certcache.c:884,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:885,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/certcache.c:886,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:887,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:887,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:889,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:889,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/certcache.c:890,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:891,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:893,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:893,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 878
    functionDepth: 4
    functionLinenumber: 878
    functionLinenumberEnd: 895
    functionName: cache_cert
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 1
    functionsReached:
    - release_cache_lock
    - log_error
    - _
    - put_cert
    - log_info
    - gpg_err_code
    - gpg_strerror
    - acquire_cache_write_lock
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cache_cert (ksba_cert_t cert)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: acquire_cache_write_lock
      Src: /src/gnupg/dirmngr/certcache.c:907,1
    - Dst: put_cert
      Src: /src/gnupg/dirmngr/certcache.c:908,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:909,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/certcache.c:910,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/certcache.c:913,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:914,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:916,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:916,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:916,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - cert
    - fpr_buffer
    argTypes:
    - ksba_cert_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 902
    functionDepth: 4
    functionLinenumber: 902
    functionLinenumberEnd: 918
    functionName: cache_cert_silent
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - release_cache_lock
    - log_error
    - _
    - put_cert
    - log_info
    - gpg_err_code
    - gpg_strerror
    - acquire_cache_write_lock
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cache_cert_silent (ksba_cert_t cert, void *fpr_buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: acquire_cache_read_lock
      Src: /src/gnupg/dirmngr/certcache.c:933,1
    - Dst: memcmp
      Src: /src/gnupg/dirmngr/certcache.c:935,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/dirmngr/certcache.c:937,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:938,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - fpr
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 928
    functionDepth: 2
    functionLinenumber: 928
    functionLinenumberEnd: 944
    functionName: get_cert_byfpr
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - release_cache_lock
    - ksba_cert_ref
    - memcmp
    - acquire_cache_read_lock
    linkageType: ''
    returnType: ksba_cert_t
    signature: ksba_cert_t get_cert_byfpr (const unsigned char *fpr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/dirmngr/certcache.c:960,1
    - Dst: hexdigitp
      Src: /src/gnupg/dirmngr/certcache.c:962,1
    - Dst: hexdigitp
      Src: /src/gnupg/dirmngr/certcache.c:962,1
    - Dst: xtoi_2
      Src: /src/gnupg/dirmngr/certcache.c:966,1
    - Dst: hexdigitp
      Src: /src/gnupg/dirmngr/certcache.c:974,1
    - Dst: hexdigitp
      Src: /src/gnupg/dirmngr/certcache.c:974,1
    - Dst: xtoi_2
      Src: /src/gnupg/dirmngr/certcache.c:975,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:979,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:979,1
    - Dst: get_cert_byfpr
      Src: /src/gnupg/dirmngr/certcache.c:983,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 984
    functionName: get_cert_byhexfpr
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - log_error
    - _
    - strchr
    - get_cert_byfpr
    - xtoi_2
    linkageType: ''
    returnType: ksba_cert_t
    signature: ksba_cert_t get_cert_byhexfpr (const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: acquire_cache_read_lock
      Src: /src/gnupg/dirmngr/certcache.c:996,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/certcache.c:1000,1
    - Dst: compare_serialno
      Src: /src/gnupg/dirmngr/certcache.c:1001,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/dirmngr/certcache.c:1003,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:1004,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:1009,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - issuer_dn
    - serialno
    argTypes:
    - char*
    - ksba_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 989
    functionDepth: 2
    functionLinenumber: 989
    functionLinenumberEnd: 1011
    functionName: get_cert_bysn
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - release_cache_lock
    - compare_serialno
    - acquire_cache_read_lock
    - strcmp
    - ksba_cert_ref
    linkageType: ''
    returnType: ksba_cert_t
    signature: ksba_cert_t get_cert_bysn (const char *issuer_dn, ksba_sexp_t serialno)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: acquire_cache_read_lock
      Src: /src/gnupg/dirmngr/certcache.c:1023,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/certcache.c:1027,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/dirmngr/certcache.c:1030,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:1031,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:1036,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - issuer_dn
    - seq
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1016
    functionDepth: 2
    functionLinenumber: 1016
    functionLinenumberEnd: 1038
    functionName: get_cert_byissuer
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - strcmp
    - release_cache_lock
    - ksba_cert_ref
    - acquire_cache_read_lock
    linkageType: ''
    returnType: ksba_cert_t
    signature: ksba_cert_t get_cert_byissuer (const char *issuer_dn, unsigned int
      seq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: acquire_cache_read_lock
      Src: /src/gnupg/dirmngr/certcache.c:1053,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/certcache.c:1058,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/dirmngr/certcache.c:1061,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:1062,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:1067,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - subject_dn
    - seq
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1043
    functionDepth: 2
    functionLinenumber: 1043
    functionLinenumberEnd: 1069
    functionName: get_cert_bysubject
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - strcmp
    - release_cache_lock
    - ksba_cert_ref
    - acquire_cache_read_lock
    linkageType: ''
    returnType: ksba_cert_t
    signature: ksba_cert_t get_cert_bysubject (const char *subject_dn, unsigned int
      seq)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/gnupg/dirmngr/certcache.c:1087,1
    - Dst: spacep
      Src: /src/gnupg/dirmngr/certcache.c:1125,1
    - Dst: spacep
      Src: /src/gnupg/dirmngr/certcache.c:1140,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/certcache.c:1148,1
    - Dst: spacep
      Src: /src/gnupg/dirmngr/certcache.c:1160,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/certcache.c:1176,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/certcache.c:1182,1
    - Dst: strspn
      Src: /src/gnupg/dirmngr/certcache.c:1207,1
    - Dst: spacep
      Src: /src/gnupg/dirmngr/certcache.c:1210,1
    - Dst: strspn
      Src: /src/gnupg/dirmngr/certcache.c:1250,1
    - Dst: spacep
      Src: /src/gnupg/dirmngr/certcache.c:1251,1
    - Dst: hextobyte
      Src: /src/gnupg/dirmngr/certcache.c:1257,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 134
    argCount: 3
    argNames:
    - pattern
    - r_offset
    - r_sn_offset
    argTypes:
    - char*
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1276
    functionName: classify_pattern
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - strchr
    - spacep
    - strspn
    - hextobyte
    linkageType: ''
    returnType: enum pattern_class
    signature: enum pattern_class classify_pattern (const char *pattern, size_t *r_offset,
      size_t *r_sn_offset)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:1297,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:1305,1
    - Dst: get_cert_byhexfpr
      Src: /src/gnupg/dirmngr/certcache.c:1309,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:1310,1
    - Dst: hexsn_to_sexp
      Src: /src/gnupg/dirmngr/certcache.c:1314,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/certcache.c:1316,1
    - Dst: get_cert_bysn
      Src: /src/gnupg/dirmngr/certcache.c:1319,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:1320,1
    - Dst: for
      Src: /src/gnupg/dirmngr/certcache.c:1325,1
    - Dst: get_cert_byissuer
      Src: /src/gnupg/dirmngr/certcache.c:1325,1
    - Dst: retfnc
      Src: /src/gnupg/dirmngr/certcache.c:1327,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1328,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:1332,1
    - Dst: for
      Src: /src/gnupg/dirmngr/certcache.c:1336,1
    - Dst: get_cert_bysubject
      Src: /src/gnupg/dirmngr/certcache.c:1336,1
    - Dst: retfnc
      Src: /src/gnupg/dirmngr/certcache.c:1338,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1339,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:1343,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:1354,1
    - Dst: retfnc
      Src: /src/gnupg/dirmngr/certcache.c:1359,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1360,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:1361,1
    - Dst: get_cert_bysn
      Src: /src/gnupg/dirmngr/certcache.c:1380,1
    - Dst: serial_hex
      Src: /src/gnupg/dirmngr/certcache.c:1387,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:1390,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:1396,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/certcache.c:1396,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:1403,1
    - Dst: cache_cert
      Src: /src/gnupg/dirmngr/certcache.c:1406,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/certcache.c:1411,1
    - Dst: ca_cert_fetch
      Src: /src/gnupg/dirmngr/certcache.c:1422,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:1425,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:1425,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:1426,1
    - Dst: fetch_next_ksba_cert
      Src: /src/gnupg/dirmngr/certcache.c:1431,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:1434,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:1434,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:1435,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/dirmngr/certcache.c:1439,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/certcache.c:1440,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/certcache.c:1442,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/certcache.c:1445,1
    - Dst: ksba_cert_get_serial
      Src: /src/gnupg/dirmngr/certcache.c:1449,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/certcache.c:1453,1
    - Dst: dump_serial
      Src: /src/gnupg/dirmngr/certcache.c:1454,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/certcache.c:1455,1
    - Dst: dump_string
      Src: /src/gnupg/dirmngr/certcache.c:1456,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/certcache.c:1457,1
    - Dst: if
      Src: /src/gnupg/dirmngr/certcache.c:1460,1
    - Dst: compare_serialno
      Src: /src/gnupg/dirmngr/certcache.c:1460,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/certcache.c:1462,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/certcache.c:1463,1
    - Dst: cache_cert
      Src: /src/gnupg/dirmngr/certcache.c:1464,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/certcache.c:1466,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/certcache.c:1470,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/certcache.c:1471,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1472,1
    - Dst: acquire_cache_read_lock
      Src: /src/gnupg/dirmngr/certcache.c:1509,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/certcache.c:1513,1
    - Dst: memcmp
      Src: /src/gnupg/dirmngr/certcache.c:1515,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/dirmngr/certcache.c:1517,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:1518,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/certcache.c:1520,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:1524,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/certcache.c:1526,1
    - Dst: get_cert_bysubject
      Src: /src/gnupg/dirmngr/certcache.c:1532,1
    - Dst: ksba_cert_get_subj_key_id
      Src: /src/gnupg/dirmngr/certcache.c:1535,1
    - Dst: cmp_simple_canon_sexp
      Src: /src/gnupg/dirmngr/certcache.c:1536,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:1538,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/certcache.c:1541,1
    - Dst: is_trusted_cert
      Src: /src/gnupg/dirmngr/certcache.c:1545,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1548,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1559,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:1564,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1566,1
    - Dst: acquire_cache_read_lock
      Src: /src/gnupg/dirmngr/certcache.c:1579,1
    - Dst: ksba_cert_get_subj_key_id
      Src: /src/gnupg/dirmngr/certcache.c:1582,1
    - Dst: cmp_simple_canon_sexp
      Src: /src/gnupg/dirmngr/certcache.c:1584,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/certcache.c:1586,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/dirmngr/certcache.c:1587,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:1588,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/certcache.c:1590,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/certcache.c:1594,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:1596,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/certcache.c:1600,1
    - Dst: get_cert_local_ski
      Src: /src/gnupg/dirmngr/certcache.c:1606,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/certcache.c:1614,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:1617,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/certcache.c:1617,1
    - Dst: get_cert_local
      Src: /src/gnupg/dirmngr/certcache.c:1620,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:1621,1
    - Dst: cache_cert
      Src: /src/gnupg/dirmngr/certcache.c:1625,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/certcache.c:1630,1
    - Dst: ca_cert_fetch
      Src: /src/gnupg/dirmngr/certcache.c:1640,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:1643,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:1643,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:1644,1
    - Dst: fetch_next_ksba_cert
      Src: /src/gnupg/dirmngr/certcache.c:1649,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:1652,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:1652,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:1653,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/dirmngr/certcache.c:1657,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/certcache.c:1658,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:1660,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1661,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/certcache.c:1663,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/certcache.c:1670,1
    - Dst: dump_string
      Src: /src/gnupg/dirmngr/certcache.c:1671,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/certcache.c:1672,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/certcache.c:1674,1
    - Dst: cache_cert
      Src: /src/gnupg/dirmngr/certcache.c:1679,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/certcache.c:1681,1
    - Dst: ksba_cert_get_subj_key_id
      Src: /src/gnupg/dirmngr/certcache.c:1686,1
    - Dst: cmp_simple_canon_sexp
      Src: /src/gnupg/dirmngr/certcache.c:1688,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/certcache.c:1690,1
    - Dst: cache_cert
      Src: /src/gnupg/dirmngr/certcache.c:1691,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/certcache.c:1693,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/certcache.c:1698,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1699,1
    - Dst: end_cert_fetch
      Src: /src/gnupg/dirmngr/certcache.c:1703,1
    - Dst: cert_compute_fpr
      Src: /src/gnupg/dirmngr/certcache.c:1718,1
    - Dst: acquire_cache_read_lock
      Src: /src/gnupg/dirmngr/certcache.c:1720,1
    - Dst: memcmp
      Src: /src/gnupg/dirmngr/certcache.c:1722,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:1728,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:1734,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:1735,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/dirmngr/certcache.c:1755,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:1758,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:1758,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:1759,1
    - Dst: ksba_cert_get_auth_key_id
      Src: /src/gnupg/dirmngr/certcache.c:1765,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:1768,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:1768,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:1769,1
    - Dst: ksba_name_enum
      Src: /src/gnupg/dirmngr/certcache.c:1773,1
    - Dst: find_cert_bysn
      Src: /src/gnupg/dirmngr/certcache.c:1776,1
    - Dst: find_cert_bysubject
      Src: /src/gnupg/dirmngr/certcache.c:1784,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:1792,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/certcache.c:1795,1
    - Dst: dump_serial
      Src: /src/gnupg/dirmngr/certcache.c:1796,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/certcache.c:1797,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/certcache.c:1801,1
    - Dst: dump_serial
      Src: /src/gnupg/dirmngr/certcache.c:1802,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/certcache.c:1803,1
    - Dst: dump_string
      Src: /src/gnupg/dirmngr/certcache.c:1804,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/certcache.c:1805,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/certcache.c:1807,1
    - Dst: ksba_name_release
      Src: /src/gnupg/dirmngr/certcache.c:1809,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:1810,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:1811,1
    - Dst: get_cert_bysubject
      Src: /src/gnupg/dirmngr/certcache.c:1819,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:1826,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:1828,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1831,1
    - Dst: gnupg_ksba_create_reader
      Src: /src/gnupg/dirmngr/certcache.c:1857,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1867,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/dirmngr/certcache.c:1869,1
    - Dst: ksba_cert_read_der
      Src: /src/gnupg/dirmngr/certcache.c:1871,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/certcache.c:1874,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/certcache.c:1884,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/certcache.c:1887,1
    - Dst: cert_compute_fpr
      Src: /src/gnupg/dirmngr/certcache.c:1890,1
    - Dst: get_cert_byfpr
      Src: /src/gnupg/dirmngr/certcache.c:1891,1
    - Dst: ksba_reader_clear
      Src: /src/gnupg/dirmngr/certcache.c:1899,1
    - Dst: gnupg_ksba_reader_eof_seen
      Src: /src/gnupg/dirmngr/certcache.c:1901,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1904,1
    - Dst: gnupg_ksba_destroy_reader
      Src: /src/gnupg/dirmngr/certcache.c:1905,1
    - Dst: release_certlist
      Src: /src/gnupg/dirmngr/certcache.c:1907,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1922,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 259
    argCount: 2
    argNames:
    - pattern
    - retfnc_data
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1283
    functionDepth: 5
    functionLinenumber: 1283
    functionLinenumberEnd: 1925
    functionName: get_certs_bypattern
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - ksba_reader_clear
    - find_cert_bysn
    - ksba_free
    - compare_serialno
    - get_cert_byhexfpr
    - acquire_cache_read_lock
    - dump_string
    - ksba_name_release
    - for
    - ksba_cert_get_serial
    - if
    - release_certlist
    - is_trusted_cert
    - ksba_cert_new
    - ksba_cert_get_issuer
    - ksba_cert_get_auth_key_id
    - gnupg_ksba_destroy_reader
    - cache_cert
    - log_error
    - ksba_cert_get_subject
    - _
    - dump_serial
    - get_cert_byfpr
    - log_info
    - ksba_cert_get_subj_key_id
    - log_printf
    - ksba_name_enum
    - ksba_cert_release
    - log_debug
    - cmp_simple_canon_sexp
    - serial_hex
    - release_cache_lock
    - find_cert_bysubject
    - gpg_error_from_syserror
    - hexsn_to_sexp
    - strcmp
    - gpg_error
    - xfree
    - gpg_strerror
    - get_cert_local_ski
    - xtrycalloc
    - fetch_next_ksba_cert
    - get_cert_local
    - ksba_cert_read_der
    - get_cert_bysn
    - get_cert_byissuer
    - get_cert_bysubject
    - retfnc
    - ca_cert_fetch
    - strconcat
    - gnupg_ksba_reader_eof_seen
    - memcmp
    - gpg_err_code
    - gnupg_ksba_create_reader
    - cert_compute_fpr
    - ksba_cert_ref
    - strerror
    - end_cert_fetch
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_certs_bypattern (const char *pattern,\n                     gpg_error_t
      (*retfnc)(void*,ksba_cert_t),\n                     void *retfnc_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cert_bysn
      Src: /src/gnupg/dirmngr/certcache.c:1319,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1317
    functionDepth: 3
    functionLinenumber: 1317
    functionLinenumberEnd: 1321
    functionName: ''
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 4747
    functionsReached:
    - get_cert_bysn
    - gpg_error
    linkageType: ''
    returnType: else
    signature: 'else '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: for
      Src: /src/gnupg/dirmngr/certcache.c:1325,1
    - Dst: get_cert_byissuer
      Src: /src/gnupg/dirmngr/certcache.c:1325,1
    - Dst: retfnc
      Src: /src/gnupg/dirmngr/certcache.c:1327,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1324
    functionDepth: 3
    functionLinenumber: 1324
    functionLinenumberEnd: 1330
    functionName: PATTERN_ISSUER
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - retfnc
    - get_cert_byissuer
    - ksba_cert_release
    - for
    linkageType: ''
    returnType: case
    signature: case PATTERN_ISSUER
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: for
      Src: /src/gnupg/dirmngr/certcache.c:1336,1
    - Dst: get_cert_bysubject
      Src: /src/gnupg/dirmngr/certcache.c:1336,1
    - Dst: retfnc
      Src: /src/gnupg/dirmngr/certcache.c:1338,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1335
    functionDepth: 3
    functionLinenumber: 1335
    functionLinenumberEnd: 1341
    functionName: PATTERN_SUBJECT
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - retfnc
    - get_cert_bysubject
    - ksba_cert_release
    - for
    linkageType: ''
    returnType: case
    signature: case PATTERN_SUBJECT
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cert_compute_fpr
      Src: /src/gnupg/dirmngr/certcache.c:1718,1
    - Dst: acquire_cache_read_lock
      Src: /src/gnupg/dirmngr/certcache.c:1720,1
    - Dst: memcmp
      Src: /src/gnupg/dirmngr/certcache.c:1722,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:1728,1
    - Dst: release_cache_lock
      Src: /src/gnupg/dirmngr/certcache.c:1734,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:1735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - cert
    - trustclasses
    argTypes:
    - ksba_cert_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1712
    functionDepth: 2
    functionLinenumber: 1712
    functionLinenumberEnd: 1736
    functionName: is_trusted_cert
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 1
    functionsReached:
    - release_cache_lock
    - acquire_cache_read_lock
    - gpg_error
    - memcmp
    - cert_compute_fpr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t is_trusted_cert (ksba_cert_t cert, unsigned int trustclasses)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/dirmngr/certcache.c:1755,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/certcache.c:1758,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:1758,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:1759,1
    - Dst: ksba_cert_get_auth_key_id
      Src: /src/gnupg/dirmngr/certcache.c:1765,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:1768,1
    - Dst: _
      Src: /src/gnupg/dirmngr/certcache.c:1768,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/certcache.c:1769,1
    - Dst: ksba_name_enum
      Src: /src/gnupg/dirmngr/certcache.c:1773,1
    - Dst: find_cert_bysn
      Src: /src/gnupg/dirmngr/certcache.c:1776,1
    - Dst: find_cert_bysubject
      Src: /src/gnupg/dirmngr/certcache.c:1784,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/certcache.c:1792,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/certcache.c:1795,1
    - Dst: dump_serial
      Src: /src/gnupg/dirmngr/certcache.c:1796,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/certcache.c:1797,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/certcache.c:1801,1
    - Dst: dump_serial
      Src: /src/gnupg/dirmngr/certcache.c:1802,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/certcache.c:1803,1
    - Dst: dump_string
      Src: /src/gnupg/dirmngr/certcache.c:1804,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/certcache.c:1805,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/certcache.c:1807,1
    - Dst: ksba_name_release
      Src: /src/gnupg/dirmngr/certcache.c:1809,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:1810,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:1811,1
    - Dst: get_cert_bysubject
      Src: /src/gnupg/dirmngr/certcache.c:1819,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/certcache.c:1826,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/certcache.c:1828,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1831,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 3
    argNames:
    - ctrl
    - cert
    - r_cert
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - ksba_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1743
    functionDepth: 3
    functionLinenumber: 1743
    functionLinenumberEnd: 1836
    functionName: find_issuing_cert
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - find_cert_bysn
    - find_cert_bysubject
    - get_cert_bysubject
    - log_printf
    - log_error
    - _
    - dump_string
    - ksba_name_release
    - gpg_error
    - dump_serial
    - log_info
    - gpg_strerror
    - xfree
    - ksba_cert_get_issuer
    - ksba_name_enum
    - ksba_cert_release
    - ksba_cert_get_auth_key_id
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t find_issuing_cert (ctrl_t ctrl, ksba_cert_t cert, ksba_cert_t
      *r_cert)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_ksba_create_reader
      Src: /src/gnupg/dirmngr/certcache.c:1857,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1867,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/dirmngr/certcache.c:1869,1
    - Dst: ksba_cert_read_der
      Src: /src/gnupg/dirmngr/certcache.c:1871,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/certcache.c:1874,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/certcache.c:1884,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/certcache.c:1887,1
    - Dst: cert_compute_fpr
      Src: /src/gnupg/dirmngr/certcache.c:1890,1
    - Dst: get_cert_byfpr
      Src: /src/gnupg/dirmngr/certcache.c:1891,1
    - Dst: ksba_reader_clear
      Src: /src/gnupg/dirmngr/certcache.c:1899,1
    - Dst: gnupg_ksba_reader_eof_seen
      Src: /src/gnupg/dirmngr/certcache.c:1901,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1904,1
    - Dst: gnupg_ksba_destroy_reader
      Src: /src/gnupg/dirmngr/certcache.c:1905,1
    - Dst: release_certlist
      Src: /src/gnupg/dirmngr/certcache.c:1907,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - r_certlist
    - fp
    argTypes:
    - certlist_t*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1845
    functionDepth: 3
    functionLinenumber: 1845
    functionLinenumberEnd: 1912
    functionName: read_certlist_from_stream
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 0
    functionsReached:
    - ksba_reader_clear
    - gpg_error_from_syserror
    - gnupg_ksba_destroy_reader
    - gnupg_ksba_reader_eof_seen
    - ksba_cert_release
    - gpg_err_code
    - get_cert_byfpr
    - gnupg_ksba_create_reader
    - xtrycalloc
    - release_certlist
    - ksba_cert_new
    - ksba_cert_read_der
    - cert_compute_fpr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_certlist_from_stream (certlist_t *r_certlist, estream_t
      fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/certcache.c:1922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cl
    argTypes:
    - certlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1925
    functionName: release_certlist
    functionSourceFile: /src/gnupg/dirmngr/certcache.c
    functionUses: 8
    functionsReached:
    - ksba_cert_release
    linkageType: ''
    returnType: void
    signature: void release_certlist (certlist_t cl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldapserver.c:37,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldapserver.c:38,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/ldapserver.c:40,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ldapserver.c:40,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldapserver.c:41,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldapserver.c:42,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldapserver.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - servers
    argTypes:
    - ldap_server_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: ldapserver_list_free
    functionSourceFile: /src/gnupg/dirmngr/ldapserver.c
    functionUses: 1
    functionsReached:
    - memset
    - xfree
    - strlen
    linkageType: ''
    returnType: void
    signature: void ldapserver_list_free (ldap_server_t servers)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/ldapserver.c:84,1
    - Dst: strtokenize
      Src: /src/gnupg/dirmngr/ldapserver.c:91,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ldapserver.c:103,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/ldapserver.c:110,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ldapserver.c:114,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldapserver.c:123,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldapserver.c:123,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldapserver.c:126,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ldapserver.c:131,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ldapserver.c:140,1
    - Dst: strtokenize
      Src: /src/gnupg/dirmngr/ldapserver.c:150,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldapserver.c:153,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldapserver.c:154,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldapserver.c:154,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ldapserver.c:163,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ldapserver.c:168,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ldapserver.c:173,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ldapserver.c:178,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ldapserver.c:182,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ldapserver.c:186,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldapserver.c:193,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldapserver.c:193,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldapserver.c:196,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldapserver.c:201,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldapserver.c:215,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldapserver.c:215,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldapserver.c:217,1
    - Dst: ldapserver_list_free
      Src: /src/gnupg/dirmngr/ldapserver.c:218,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldapserver.c:221,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 104
    argCount: 3
    argNames:
    - line
    - filename
    - lineno
    argTypes:
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 224
    functionName: ldapserver_parse_one
    functionSourceFile: /src/gnupg/dirmngr/ldapserver.c
    functionUses: 1
    functionsReached:
    - atoi
    - log_error
    - gpg_error_from_syserror
    - _
    - strtokenize
    - xtrystrdup
    - ldapserver_list_free
    - gpg_strerror
    - ascii_strcasecmp
    - log_info
    - xtrycalloc
    - xfree
    linkageType: ''
    returnType: ldap_server_t
    signature: "ldap_server_t ldapserver_parse_one (const char *line,\n\t\t      const
      char *filename, unsigned int lineno)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct ldapserver_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: ldapserver_iter_next
    functionSourceFile: /src/gnupg/dirmngr/ldapserver.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ldapserver_iter_next (struct ldapserver_iter *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct ldapserver_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: ldapserver_iter_end_p
    functionSourceFile: /src/gnupg/dirmngr/ldapserver.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ldapserver_iter_end_p (struct ldapserver_iter *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ldapservers_from_ctrl
      Src: /src/gnupg/dirmngr/ldapserver.h:72,1
    - Dst: ldapserver_iter_end_p
      Src: /src/gnupg/dirmngr/ldapserver.h:74,1
    - Dst: ldapserver_iter_next
      Src: /src/gnupg/dirmngr/ldapserver.h:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - iter
    - ctrl
    argTypes:
    - struct ldapserver_iter*
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: ldapserver_iter_begin
    functionSourceFile: /src/gnupg/dirmngr/ldapserver.h
    functionUses: 0
    functionsReached:
    - ldapserver_iter_end_p
    - get_ldapservers_from_ctrl
    - ldapserver_iter_next
    linkageType: ''
    returnType: void
    signature: void ldapserver_iter_begin (struct ldapserver_iter *iter, ctrl_t ctrl)
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: LDAP_E_ERROR
      Src: /src/gnupg/dirmngr/ldap-misc.c:165,1
    - Dst: LDAP_X_ERROR
      Src: /src/gnupg/dirmngr/ldap-misc.c:167,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 227
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 176
    functionName: ldap_err_to_gpg_err
    functionSourceFile: /src/gnupg/dirmngr/ldap-misc.c
    functionUses: 6
    functionsReached:
    - LDAP_X_ERROR
    - LDAP_E_ERROR
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t ldap_err_to_gpg_err (int code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ldap_get_option
      Src: /src/gnupg/dirmngr/ldap-misc.c:186,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ldap-misc.c:187,1
    - Dst: ldap_err_to_gpg_err
      Src: /src/gnupg/dirmngr/ldap-misc.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ld
    argTypes:
    - LDAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 197
    functionName: ldap_to_gpg_err
    functionSourceFile: /src/gnupg/dirmngr/ldap-misc.c
    functionUses: 2
    functionsReached:
    - ldap_err_to_gpg_err
    - ldap_get_option
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t ldap_to_gpg_err (LDAP *ld)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/ldap-misc.c:244,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ldap-misc.c:244,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap-misc.c:247,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldap-misc.c:265,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ldap-misc.c:266,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/ldap-misc.c:275,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/ldap-misc.c:281,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/ldap-misc.c:287,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldap-misc.c:300,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ldap-misc.c:301,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ldap-misc.c:304,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldap-misc.c:307,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ldap-misc.c:308,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ldap-misc.c:312,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap-misc.c:314,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap-misc.c:319,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap-misc.c:320,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap-misc.c:327,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap-misc.c:331,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 84
    argCount: 5
    argNames:
    - string
    - silent
    - r_base
    - r_scope
    - r_filter
    argTypes:
    - char*
    - int
    - char**
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 334
    functionName: ldap_parse_extfilter
    functionSourceFile: /src/gnupg/dirmngr/ldap-misc.c
    functionUses: 2
    functionsReached:
    - gpg_error_from_syserror
    - strlen
    - xtrystrdup
    - gpg_error
    - log_info
    - xfree
    - strncmp
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ldap_parse_extfilter (const char *string, int silent,\n
      \                     char **r_base, int *r_scope, char **r_filter)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isotime_p
      Src: /src/gnupg/dirmngr/ldap-misc.c:348,1
    - Dst: atoi_4
      Src: /src/gnupg/dirmngr/ldap-misc.c:354,1
    - Dst: atoi_2
      Src: /src/gnupg/dirmngr/ldap-misc.c:355,1
    - Dst: atoi_2
      Src: /src/gnupg/dirmngr/ldap-misc.c:356,1
    - Dst: atoi_2
      Src: /src/gnupg/dirmngr/ldap-misc.c:357,1
    - Dst: atoi_2
      Src: /src/gnupg/dirmngr/ldap-misc.c:358,1
    - Dst: atoi_2
      Src: /src/gnupg/dirmngr/ldap-misc.c:359,1
    - Dst: gpgrt_bsprintf
      Src: /src/gnupg/dirmngr/ldap-misc.c:369,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 371
    functionName: isotime2rfc4517
    functionSourceFile: /src/gnupg/dirmngr/ldap-misc.c
    functionUses: 2
    functionsReached:
    - isotime_p
    - atoi_2
    - atoi_4
    - gpgrt_bsprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      isotime2rfc4517 (const char *string)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/dirmngr/ldap-misc.c:385,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ldap-misc.c:386,1
    - Dst: atoi_4
      Src: /src/gnupg/dirmngr/ldap-misc.c:387,1
    - Dst: atoi_2
      Src: /src/gnupg/dirmngr/ldap-misc.c:388,1
    - Dst: atoi_2
      Src: /src/gnupg/dirmngr/ldap-misc.c:389,1
    - Dst: atoi_2
      Src: /src/gnupg/dirmngr/ldap-misc.c:390,1
    - Dst: digitp
      Src: /src/gnupg/dirmngr/ldap-misc.c:393,1
    - Dst: digitp
      Src: /src/gnupg/dirmngr/ldap-misc.c:393,1
    - Dst: atoi_2
      Src: /src/gnupg/dirmngr/ldap-misc.c:395,1
    - Dst: digitp
      Src: /src/gnupg/dirmngr/ldap-misc.c:397,1
    - Dst: digitp
      Src: /src/gnupg/dirmngr/ldap-misc.c:397,1
    - Dst: atoi_2
      Src: /src/gnupg/dirmngr/ldap-misc.c:399,1
    - Dst: digitp
      Src: /src/gnupg/dirmngr/ldap-misc.c:406,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ldap-misc.c:407,1
    - Dst: digitp
      Src: /src/gnupg/dirmngr/ldap-misc.c:409,1
    - Dst: spacep
      Src: /src/gnupg/dirmngr/ldap-misc.c:412,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ldap-misc.c:415,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ldap-misc.c:417,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/ldap-misc.c:419,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 2
    argNames:
    - timebuf
    - string
    argTypes:
    - gnupg_isotime_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 422
    functionName: rfc4517toisotime
    functionSourceFile: /src/gnupg/dirmngr/ldap-misc.c
    functionUses: 2
    functionsReached:
    - digitp
    - snprintf
    - spacep
    - atoi_2
    - gpg_error
    - atoi_4
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t rfc4517toisotime (gnupg_isotime_t timebuf, const char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ks_print_help
      Src: /src/gnupg/dirmngr/ks-engine-kdns.c:54,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-kdns.c:55,1
    - Dst: ks_print_help
      Src: /src/gnupg/dirmngr/ks-engine-kdns.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctrl
    - uri
    argTypes:
    - ctrl_t
    - parsed_uri_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 61
    functionName: ks_kdns_help
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-kdns.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ks_print_help
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_kdns_help (ctrl_t ctrl, parsed_uri_t uri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-kdns.c:74,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-kdns.c:75,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-kdns.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctrl
    - uri
    - r_fp
    argTypes:
    - ctrl_t
    - parsed_uri_t
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: ks_kdns_fetch
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-kdns.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_kdns_fetch (ctrl_t ctrl, parsed_uri_t uri, estream_t
      *r_fp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/gnupg/dirmngr/cdblib.c:125,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:129,1
    - Dst: _get_osfhandle
      Src: /src/gnupg/dirmngr/cdblib.c:134,1
    - Dst: CreateFileMapping
      Src: /src/gnupg/dirmngr/cdblib.c:137,1
    - Dst: MapViewOfFile
      Src: /src/gnupg/dirmngr/cdblib.c:140,1
    - Dst: mmap
      Src: /src/gnupg/dirmngr/cdblib.c:146,1
    - Dst: madvise
      Src: /src/gnupg/dirmngr/cdblib.c:163,1
    - Dst: madvise
      Src: /src/gnupg/dirmngr/cdblib.c:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - cdbp
    - fd
    argTypes:
    - struct cdb*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 171
    functionName: cdb_init
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 0
    functionsReached:
    - _get_osfhandle
    - fstat
    - mmap
    - MapViewOfFile
    - gpg_err_set_errno
    - CreateFileMapping
    - madvise
    linkageType: ''
    returnType: int
    signature: int cdb_init(struct cdb *cdbp, int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnmapViewOfFile
      Src: /src/gnupg/dirmngr/cdblib.c:181,1
    - Dst: CloseHandle
      Src: /src/gnupg/dirmngr/cdblib.c:182,1
    - Dst: munmap
      Src: /src/gnupg/dirmngr/cdblib.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cdbp
    argTypes:
    - struct cdb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 190
    functionName: cdb_free
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - UnmapViewOfFile
    - munmap
    linkageType: ''
    returnType: void
    signature: void cdb_free(struct cdb *cdbp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:202,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/cdblib.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - cdbp
    - buf
    - len
    - pos
    argTypes:
    - struct cdb*
    - void*
    - unsigned
    - cdbi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: cdb_read
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gpg_err_set_errno
    linkageType: ''
    returnType: int
    signature: int cdb_read(const struct cdb *cdbp, void *buf, unsigned len, cdbi_t
      pos)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cdb_hash
      Src: /src/gnupg/dirmngr/cdblib.c:231,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:237,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:241,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:246,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:256,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:259,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:261,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:264,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:266,1
    - Dst: memcmp
      Src: /src/gnupg/dirmngr/cdblib.c:269,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:270,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:273,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 3
    argNames:
    - cdbp
    - key
    - klen
    argTypes:
    - struct cdb*
    - void*
    - cdbi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 289
    functionName: cdb_find
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 0
    functionsReached:
    - gpg_err_set_errno
    - cdb_hash
    - cdb_unpack
    - memcmp
    linkageType: ''
    returnType: int
    signature: int cdb_find(struct cdb *cdbp, const void *key, cdbi_t klen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cdb_hash
      Src: /src/gnupg/dirmngr/cdblib.c:319,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:324,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:328,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - cdbfp
    - cdbp
    - key
    - klen
    argTypes:
    - struct cdb_find*
    - struct cdb*
    - void*
    - cdbi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 348
    functionName: cdb_findinit
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 0
    functionsReached:
    - gpg_err_set_errno
    - cdb_hash
    - cdb_unpack
    linkageType: ''
    returnType: int
    signature: "int cdb_findinit(struct cdb_find *cdbfp, struct cdb *cdbp,\n             const
      void *key, cdbi_t klen)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:361,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:364,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:370,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:373,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:375,1
    - Dst: memcmp
      Src: /src/gnupg/dirmngr/cdblib.c:378,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:380,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:383,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:405,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:406,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:412,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:421,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:427,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:432,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:434,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:438,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 1
    argNames:
    - cdbfp
    argTypes:
    - struct cdb_find*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 444
    functionName: cdb_findnext
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 0
    functionsReached:
    - gpg_err_set_errno
    - cdb_unpack
    - memcmp
    linkageType: ''
    returnType: int
    signature: int cdb_findnext(struct cdb_find *cdbfp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/gnupg/dirmngr/cdblib.c:452,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - fd
    - buf
    - len
    argTypes:
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 463
    functionName: cdb_bread
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 0
    functionsReached:
    - gpg_err_set_errno
    - read
    linkageType: ''
    returnType: int
    signature: int cdb_bread(int fd, void *buf, int len)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cdb_hash
      Src: /src/gnupg/dirmngr/cdblib.c:479,1
    - Dst: lseek
      Src: /src/gnupg/dirmngr/cdblib.c:482,1
    - Dst: cdb_bread
      Src: /src/gnupg/dirmngr/cdblib.c:482,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:484,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:488,1
    - Dst: lseek
      Src: /src/gnupg/dirmngr/cdblib.c:491,1
    - Dst: cdb_bread
      Src: /src/gnupg/dirmngr/cdblib.c:493,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:495,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:498,1
    - Dst: lseek
      Src: /src/gnupg/dirmngr/cdblib.c:501,1
    - Dst: cdb_bread
      Src: /src/gnupg/dirmngr/cdblib.c:501,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:503,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:508,1
    - Dst: cdb_bread
      Src: /src/gnupg/dirmngr/cdblib.c:513,1
    - Dst: memcmp
      Src: /src/gnupg/dirmngr/cdblib.c:515,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 4
    argNames:
    - fd
    - key
    - klen
    - dlenp
    argTypes:
    - int
    - void*
    - unsigned
    - cdbi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 529
    functionName: cdb_seek
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 0
    functionsReached:
    - cdb_bread
    - cdb_hash
    - lseek
    - memcmp
    - cdb_unpack
    linkageType: ''
    returnType: int
    signature: int cdb_seek(int fd, const void *key, unsigned klen, cdbi_t *dlenp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 539
    functionName: cdb_unpack
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: cdbi_t
    signature: cdbi_t cdb_unpack(const unsigned char buf[4])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:557,1
    - Dst: cdb_hash
      Src: /src/gnupg/dirmngr/cdblib.c:560,1
    - Dst: malloc
      Src: /src/gnupg/dirmngr/cdblib.c:563,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:565,1
    - Dst: cdb_pack
      Src: /src/gnupg/dirmngr/cdblib.c:576,1
    - Dst: cdb_pack
      Src: /src/gnupg/dirmngr/cdblib.c:577,1
    - Dst: make_write
      Src: /src/gnupg/dirmngr/cdblib.c:578,1
    - Dst: make_write
      Src: /src/gnupg/dirmngr/cdblib.c:579,1
    - Dst: make_write
      Src: /src/gnupg/dirmngr/cdblib.c:580,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - cdbmp
    - key
    - klen
    - val
    - vlen
    argTypes:
    - struct cdb_make*
    - void*
    - cdbi_t
    - void*
    - cdbi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 583
    functionName: cdb_make_add
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 0
    functionsReached:
    - cdb_pack
    - cdb_hash
    - malloc
    - gpg_err_set_errno
    - make_write
    linkageType: ''
    returnType: int
    signature: "int cdb_make_add(struct cdb_make *cdbmp,\n\t     const void *key,
      cdbi_t klen,\n\t     const void *val, cdbi_t vlen)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cdb_hash
      Src: /src/gnupg/dirmngr/cdblib.c:592,1
    - Dst: make_find
      Src: /src/gnupg/dirmngr/cdblib.c:600,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:605,1
    - Dst: malloc
      Src: /src/gnupg/dirmngr/cdblib.c:621,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:623,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:635,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:641,1
    - Dst: cdb_pack
      Src: /src/gnupg/dirmngr/cdblib.c:650,1
    - Dst: cdb_pack
      Src: /src/gnupg/dirmngr/cdblib.c:651,1
    - Dst: make_write
      Src: /src/gnupg/dirmngr/cdblib.c:652,1
    - Dst: make_write
      Src: /src/gnupg/dirmngr/cdblib.c:653,1
    - Dst: make_write
      Src: /src/gnupg/dirmngr/cdblib.c:654,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 6
    argNames:
    - cdbmp
    - key
    - klen
    - val
    - vlen
    - flags
    argTypes:
    - struct cdb_make*
    - void*
    - cdbi_t
    - void*
    - cdbi_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 657
    functionName: cdb_make_put
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 0
    functionsReached:
    - cdb_pack
    - cdb_hash
    - make_find
    - malloc
    - gpg_err_set_errno
    - make_write
    linkageType: ''
    returnType: int
    signature: "int cdb_make_put(struct cdb_make *cdbmp,\n\t     const void *key,
      cdbi_t klen,\n\t     const void *val, cdbi_t vlen,\n\t     int flags)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/gnupg/dirmngr/cdblib.c:664,1
    - Dst: read
      Src: /src/gnupg/dirmngr/cdblib.c:664,1
    - Dst: cdb_unpack
      Src: /src/gnupg/dirmngr/cdblib.c:666,1
    - Dst: read
      Src: /src/gnupg/dirmngr/cdblib.c:670,1
    - Dst: memcmp
      Src: /src/gnupg/dirmngr/cdblib.c:672,1
    - Dst: read
      Src: /src/gnupg/dirmngr/cdblib.c:678,1
    - Dst: memcmp
      Src: /src/gnupg/dirmngr/cdblib.c:680,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - fd
    - pos
    - key
    - klen
    argTypes:
    - int
    - cdbi_t
    - char*
    - cdbi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 684
    functionName: match
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 33
    functionsReached:
    - memcmp
    - read
    - cdb_unpack
    - lseek
    linkageType: ''
    returnType: int
    signature: int match(int fd, cdbi_t pos, const char *key, cdbi_t klen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/gnupg/dirmngr/cdblib.c:704,1
    - Dst: match
      Src: /src/gnupg/dirmngr/cdblib.c:710,1
    - Dst: lseek
      Src: /src/gnupg/dirmngr/cdblib.c:715,1
    - Dst: lseek
      Src: /src/gnupg/dirmngr/cdblib.c:723,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 5
    argNames:
    - cdbmp
    - key
    - klen
    - hval
    - rlp
    argTypes:
    - struct cdb_make*
    - void*
    - cdbi_t
    - cdbi_t
    - struct cdb_rl**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 726
    functionName: make_find
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 1
    functionsReached:
    - match
    - write
    - lseek
    linkageType: ''
    returnType: int
    signature: "int make_find (struct cdb_make *cdbmp,\n           const void *key,
      cdbi_t klen, cdbi_t hval,\n           struct cdb_rl **rlp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_find
      Src: /src/gnupg/dirmngr/cdblib.c:732,1
    - Dst: cdb_hash
      Src: /src/gnupg/dirmngr/cdblib.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cdbmp
    - key
    - klen
    argTypes:
    - struct cdb_make*
    - void*
    - cdbi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 728
    functionDepth: 3
    functionLinenumber: 728
    functionLinenumberEnd: 733
    functionName: cdb_make_exists
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 0
    functionsReached:
    - cdb_hash
    - make_find
    linkageType: ''
    returnType: int
    signature: "int cdb_make_exists(struct cdb_make *cdbmp,\n                const
      void *key, cdbi_t klen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - num
    - buf
    argTypes:
    - cdbi_t
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 743
    functionName: cdb_pack
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cdb_pack(cdbi_t num, unsigned char buf[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/cdblib.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cdbmp
    - fd
    argTypes:
    - struct cdb_make*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 757
    functionName: cdb_make_start
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int cdb_make_start(struct cdb_make *cdbmp, int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/gnupg/dirmngr/cdblib.c:764,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - buf
    - len
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 774
    functionName: ewrite
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: int
    signature: int ewrite(int fd, const char *buf, int len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/cdblib.c:782,1
    - Dst: ewrite
      Src: /src/gnupg/dirmngr/cdblib.c:783,1
    - Dst: ewrite
      Src: /src/gnupg/dirmngr/cdblib.c:789,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/cdblib.c:796,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - cdbmp
    - ptr
    - len
    argTypes:
    - struct cdb_make*
    - char*
    - cdbi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 800
    functionName: make_write
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 2
    functionsReached:
    - ewrite
    - memcpy
    linkageType: ''
    returnType: int
    signature: int make_write(struct cdb_make *cdbmp, const char *ptr, cdbi_t len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:814,1
    - Dst: malloc
      Src: /src/gnupg/dirmngr/cdblib.c:837,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/cdblib.c:839,1
    - Dst: cdb_pack
      Src: /src/gnupg/dirmngr/cdblib.c:862,1
    - Dst: cdb_pack
      Src: /src/gnupg/dirmngr/cdblib.c:863,1
    - Dst: make_write
      Src: /src/gnupg/dirmngr/cdblib.c:865,1
    - Dst: free
      Src: /src/gnupg/dirmngr/cdblib.c:866,1
    - Dst: free
      Src: /src/gnupg/dirmngr/cdblib.c:870,1
    - Dst: ewrite
      Src: /src/gnupg/dirmngr/cdblib.c:872,1
    - Dst: cdb_pack
      Src: /src/gnupg/dirmngr/cdblib.c:877,1
    - Dst: cdb_pack
      Src: /src/gnupg/dirmngr/cdblib.c:878,1
    - Dst: lseek
      Src: /src/gnupg/dirmngr/cdblib.c:880,1
    - Dst: ewrite
      Src: /src/gnupg/dirmngr/cdblib.c:881,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 1
    argNames:
    - cdbmp
    argTypes:
    - struct cdb_make*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 885
    functionName: cdb_make_finish_internal
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 0
    functionsReached:
    - cdb_pack
    - lseek
    - ewrite
    - malloc
    - gpg_err_set_errno
    - make_write
    - free
    linkageType: ''
    returnType: int
    signature: int cdb_make_finish_internal(struct cdb_make *cdbmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnupg/dirmngr/cdblib.c:896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cdbmp
    argTypes:
    - struct cdb_make*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 899
    functionName: cdb_make_free
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void cdb_make_free(struct cdb_make *cdbmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdb_make_finish_internal
      Src: /src/gnupg/dirmngr/cdblib.c:909,1
    - Dst: cdb_make_free
      Src: /src/gnupg/dirmngr/cdblib.c:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cdbmp
    argTypes:
    - struct cdb_make*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 906
    functionDepth: 3
    functionLinenumber: 906
    functionLinenumberEnd: 912
    functionName: cdb_make_finish
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 0
    functionsReached:
    - cdb_make_free
    - cdb_make_finish_internal
    linkageType: ''
    returnType: int
    signature: int cdb_make_finish(struct cdb_make *cdbmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - cdbi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 924
    functionName: cdb_hash
    functionSourceFile: /src/gnupg/dirmngr/cdblib.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: cdbi_t
    signature: cdbi_t cdb_hash(const void *buf, cdbi_t len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/dirmngr/t-ldap-misc.c:91,1
    - Dst: ldap_parse_extfilter
      Src: /src/gnupg/dirmngr/t-ldap-misc.c:94,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/t-ldap-misc.c:97,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/t-ldap-misc.c:99,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/t-ldap-misc.c:107,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/t-ldap-misc.c:108,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/t-ldap-misc.c:114,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-ldap-misc.c:120,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/t-ldap-misc.c:122,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-ldap-misc.c:127,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/t-ldap-misc.c:129,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/t-ldap-misc.c:135,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/t-ldap-misc.c:139,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/t-ldap-misc.c:140,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/t-ldap-misc.c:143,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 144
    functionName: test_ldap_parse_extfilter
    functionSourceFile: /src/gnupg/dirmngr/t-ldap-misc.c
    functionUses: 0
    functionsReached:
    - DIM
    - exit
    - fprintf
    - strcmp
    - gpg_err_code
    - ldap_parse_extfilter
    - gpg_strerror
    - xfree
    linkageType: ''
    returnType: void
    signature: void test_ldap_parse_extfilter (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ldap_parse_extfilter
      Src: /src/gnupg/dirmngr/t-ldap-misc.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: main
    functionSourceFile: /src/gnupg/dirmngr/t-ldap-misc.c
    functionUses: 9
    functionsReached:
    - test_ldap_parse_extfilter
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/dirmngr/misc.c:47,1
    - Dst: hexdigitp
      Src: /src/gnupg/dirmngr/misc.c:47,1
    - Dst: xtoi_2
      Src: /src/gnupg/dirmngr/misc.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - result
    - string
    argTypes:
    - unsigned char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: unhexify
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 1
    functionsReached:
    - hexdigitp
    - xtoi_2
    linkageType: ''
    returnType: size_t
    signature: size_t unhexify (unsigned char *result, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/dirmngr/misc.c:61,1
    - Dst: hexify_data
      Src: /src/gnupg/dirmngr/misc.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: hashify_data
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 0
    functionsReached:
    - hexify_data
    - gcry_md_hash_buffer
    linkageType: ''
    returnType: char
    signature: 'char *

      hashify_data( const char* data, size_t len )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnupg/dirmngr/misc.c:71,1
    - Dst: stpcpy
      Src: /src/gnupg/dirmngr/misc.c:75,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/misc.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - data
    - len
    - with_prefix
    argTypes:
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: hexify_data
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 1
    functionsReached:
    - xmalloc
    - stpcpy
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      hexify_data (const unsigned char* data, size_t len, int with_prefix)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/gnupg/dirmngr/misc.c:96,1
    - Dst: xmalloc
      Src: /src/gnupg/dirmngr/misc.c:102,1
    - Dst: sprintf
      Src: /src/gnupg/dirmngr/misc.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - serial
    argTypes:
    - ksba_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 110
    functionName: serial_hex
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 1
    functionsReached:
    - xmalloc
    - sprintf
    - strtoul
    linkageType: ''
    returnType: char
    signature: 'char *

      serial_hex (ksba_sexp_t serial )'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/gnupg/dirmngr/misc.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - serial
    - length
    argTypes:
    - ksba_sexp_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 133
    functionName: serial_to_buffer
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 0
    functionsReached:
    - strtoul
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      serial_to_buffer (const ksba_sexp_t serial, size_t *length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtoi_2
      Src: /src/gnupg/dirmngr/misc.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 157
    functionName: unpercent_string
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 1
    functionsReached:
    - xtoi_2
    linkageType: ''
    returnType: char
    signature: 'char *

      unpercent_string (char *string)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/dirmngr/misc.c:169,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/misc.c:172,1
    - Dst: _
      Src: /src/gnupg/dirmngr/misc.c:172,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/misc.c:173,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/dirmngr/misc.c:175,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/misc.c:176,1
    - Dst: _
      Src: /src/gnupg/dirmngr/misc.c:176,1
    - Dst: gcry_strerror
      Src: /src/gnupg/dirmngr/misc.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - canon
    - r_sexp
    argTypes:
    - unsigned char*
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 180
    functionName: canon_sexp_to_gcry
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 0
    functionsReached:
    - log_error
    - gcry_sexp_sscan
    - _
    - gpg_error
    - gcry_sexp_canon_len
    - gcry_strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t canon_sexp_to_gcry (const unsigned char *canon, gcry_sexp_t
      *r_sexp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_open
      Src: /src/gnupg/dirmngr/misc.c:194,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/misc.c:196,1
    - Dst: _
      Src: /src/gnupg/dirmngr/misc.c:196,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/misc.c:196,1
    - Dst: ksba_cert_hash
      Src: /src/gnupg/dirmngr/misc.c:198,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/misc.c:201,1
    - Dst: _
      Src: /src/gnupg/dirmngr/misc.c:201,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/misc.c:201,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/misc.c:202,1
    - Dst: gcry_md_final
      Src: /src/gnupg/dirmngr/misc.c:206,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/misc.c:207,1
    - Dst: gcry_md_read
      Src: /src/gnupg/dirmngr/misc.c:207,1
    - Dst: gcry_md_close
      Src: /src/gnupg/dirmngr/misc.c:209,1
    - Dst: xmalloc
      Src: /src/gnupg/dirmngr/misc.c:210,1
    - Dst: sprintf
      Src: /src/gnupg/dirmngr/misc.c:213,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/misc.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 215
    functionName: get_fingerprint_hexstring
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 11
    functionsReached:
    - gcry_md_open
    - ksba_cert_hash
    - log_error
    - strlen
    - sprintf
    - log_fatal
    - _
    - xmalloc
    - gpg_strerror
    - memset
    - gcry_md_final
    - gcry_md_close
    - gcry_md_read
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      get_fingerprint_hexstring (ksba_cert_t cert)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_open
      Src: /src/gnupg/dirmngr/misc.c:228,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/misc.c:230,1
    - Dst: _
      Src: /src/gnupg/dirmngr/misc.c:230,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/misc.c:230,1
    - Dst: ksba_cert_hash
      Src: /src/gnupg/dirmngr/misc.c:232,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/misc.c:235,1
    - Dst: _
      Src: /src/gnupg/dirmngr/misc.c:235,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/misc.c:235,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/misc.c:236,1
    - Dst: gcry_md_final
      Src: /src/gnupg/dirmngr/misc.c:240,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/misc.c:241,1
    - Dst: gcry_md_read
      Src: /src/gnupg/dirmngr/misc.c:241,1
    - Dst: gcry_md_close
      Src: /src/gnupg/dirmngr/misc.c:243,1
    - Dst: xmalloc
      Src: /src/gnupg/dirmngr/misc.c:244,1
    - Dst: sprintf
      Src: /src/gnupg/dirmngr/misc.c:247,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/misc.c:247,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/misc.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 250
    functionName: get_fingerprint_hexstring_colon
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 3
    functionsReached:
    - gcry_md_open
    - ksba_cert_hash
    - log_error
    - strlen
    - sprintf
    - log_fatal
    - _
    - xmalloc
    - gpg_strerror
    - memset
    - gcry_md_final
    - gcry_md_close
    - gcry_md_read
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      get_fingerprint_hexstring_colon (ksba_cert_t cert)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serial_hex
      Src: /src/gnupg/dirmngr/misc.c:259,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/misc.c:260,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/misc.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - serialno
    argTypes:
    - ksba_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: dump_serial
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 7
    functionsReached:
    - serial_hex
    - log_printf
    - xfree
    linkageType: ''
    returnType: void
    signature: void dump_serial (ksba_sexp_t serialno)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/misc.c:272,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/misc.c:283,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/misc.c:286,1
    - Dst: log_printhex
      Src: /src/gnupg/dirmngr/misc.c:287,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/misc.c:287,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/misc.c:288,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 291
    functionName: dump_string
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 7
    functionsReached:
    - log_printf
    - log_printhex
    - strlen
    linkageType: ''
    returnType: void
    signature: void dump_string (const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/misc.c:303,1
    - Dst: ksba_cert_get_serial
      Src: /src/gnupg/dirmngr/misc.c:306,1
    - Dst: serial_hex
      Src: /src/gnupg/dirmngr/misc.c:307,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/misc.c:308,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/misc.c:309,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/misc.c:310,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/dirmngr/misc.c:312,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/misc.c:313,1
    - Dst: dump_isotime
      Src: /src/gnupg/dirmngr/misc.c:314,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/misc.c:315,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/dirmngr/misc.c:316,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/misc.c:317,1
    - Dst: dump_isotime
      Src: /src/gnupg/dirmngr/misc.c:318,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/misc.c:319,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/dirmngr/misc.c:321,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/misc.c:322,1
    - Dst: dump_string
      Src: /src/gnupg/dirmngr/misc.c:323,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/misc.c:324,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/misc.c:325,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/dirmngr/misc.c:327,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/misc.c:328,1
    - Dst: dump_string
      Src: /src/gnupg/dirmngr/misc.c:329,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/misc.c:330,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/misc.c:331,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/dirmngr/misc.c:332,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/misc.c:334,1
    - Dst: dump_string
      Src: /src/gnupg/dirmngr/misc.c:335,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/misc.c:336,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/misc.c:337,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/misc.c:340,1
    - Dst: ksba_cert_get_digest_algo
      Src: /src/gnupg/dirmngr/misc.c:340,1
    - Dst: get_fingerprint_hexstring
      Src: /src/gnupg/dirmngr/misc.c:342,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/misc.c:343,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/misc.c:344,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/misc.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 2
    argNames:
    - text
    - cert
    argTypes:
    - char*
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 347
    functionName: dump_cert
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 3
    functionsReached:
    - serial_hex
    - ksba_free
    - ksba_cert_get_subject
    - ksba_cert_get_issuer
    - get_fingerprint_hexstring
    - dump_string
    - dump_isotime
    - ksba_cert_get_digest_algo
    - xfree
    - ksba_cert_get_serial
    - log_printf
    - log_debug
    - ksba_cert_get_validity
    linkageType: ''
    returnType: void
    signature: void dump_cert (const char *text, ksba_cert_t cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/dirmngr/misc.c:356,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/dirmngr/misc.c:362,1
    - Dst: ksba_cert_get_serial
      Src: /src/gnupg/dirmngr/misc.c:363,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/misc.c:366,1
    - Dst: dump_serial
      Src: /src/gnupg/dirmngr/misc.c:367,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/misc.c:368,1
    - Dst: dump_string
      Src: /src/gnupg/dirmngr/misc.c:369,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/misc.c:372,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/misc.c:373,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/misc.c:374,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/misc.c:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - text
    - cert
    argTypes:
    - char*
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 377
    functionName: cert_log_name
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 4
    functionsReached:
    - ksba_free
    - dump_string
    - dump_serial
    - log_info
    - xfree
    - ksba_cert_get_serial
    - log_printf
    - ksba_cert_get_issuer
    linkageType: ''
    returnType: void
    signature: void cert_log_name (const char *text, ksba_cert_t cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/dirmngr/misc.c:384,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/dirmngr/misc.c:389,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/misc.c:392,1
    - Dst: dump_string
      Src: /src/gnupg/dirmngr/misc.c:393,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/misc.c:394,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/misc.c:397,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/misc.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - text
    - cert
    argTypes:
    - char*
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 400
    functionName: cert_log_subject
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 3
    functionsReached:
    - ksba_cert_get_subject
    - dump_string
    - log_info
    - xfree
    - log_printf
    linkageType: ''
    returnType: void
    signature: void cert_log_subject (const char *text, ksba_cert_t cert)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/misc.c:416,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/dirmngr/misc.c:419,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/dirmngr/misc.c:421,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/misc.c:423,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/misc.c:423,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/misc.c:427,1
    - Dst: dump_cert
      Src: /src/gnupg/dirmngr/misc.c:428,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/misc.c:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - sess
    - err
    - hostname
    - certs
    - certlens
    argTypes:
    - http_session_t
    - gpg_error_t
    - char*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 433
    functionName: cert_log_cb
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 1
    functionsReached:
    - ksba_cert_init_from_mem
    - log_error
    - snprintf
    - ksba_cert_release
    - gpg_strerror
    - dump_cert
    - ksba_cert_new
    - log_debug
    linkageType: ''
    returnType: void
    signature: "void cert_log_cb (http_session_t sess, gpg_error_t err,\n             const
      char *hostname, const void **certs, size_t *certlens)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/dirmngr/misc.c:450,1
    - Dst: hexdigitp
      Src: /src/gnupg/dirmngr/misc.c:450,1
    - Dst: xtoi_2
      Src: /src/gnupg/dirmngr/misc.c:453,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - string
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 478
    functionName: remove_percent_escapes
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - xtoi_2
    linkageType: ''
    returnType: int
    signature: int remove_percent_escapes (unsigned char *string)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/dirmngr/misc.c:496,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/misc.c:509,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/misc.c:512,1
    - Dst: _
      Src: /src/gnupg/dirmngr/misc.c:512,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/misc.c:512,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/misc.c:515,1
    - Dst: strlwr
      Src: /src/gnupg/dirmngr/misc.c:517,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/misc.c:518,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/misc.c:521,1
    - Dst: remove_percent_escapes
      Src: /src/gnupg/dirmngr/misc.c:525,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/misc.c:526,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/misc.c:528,1
    - Dst: _
      Src: /src/gnupg/dirmngr/misc.c:528,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/misc.c:529,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - url
    - port
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 534
    functionName: host_and_port_from_url
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 0
    functionsReached:
    - strlwr
    - atoi
    - log_error
    - strlen
    - _
    - xtrystrdup
    - strchr
    - xfree
    - strerror
    - remove_percent_escapes
    linkageType: ''
    returnType: char
    signature: 'char *

      host_and_port_from_url (const char *url, int *port)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/misc.c:545,1
    - Dst: es_rewind
      Src: /src/gnupg/dirmngr/misc.c:549,1
    - Dst: es_fread
      Src: /src/gnupg/dirmngr/misc.c:553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - cb_value
    - buffer
    - count
    - r_nread
    argTypes:
    - void*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 557
    functionName: my_estream_ksba_reader_cb
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - es_rewind
    - es_fread
    linkageType: ''
    returnType: int
    signature: "int my_estream_ksba_reader_cb (void *cb_value, char *buffer, size_t
      count,\n                           size_t *r_nread)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_new
      Src: /src/gnupg/dirmngr/misc.c:568,1
    - Dst: ksba_reader_set_cb
      Src: /src/gnupg/dirmngr/misc.c:570,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/misc.c:573,1
    - Dst: _
      Src: /src/gnupg/dirmngr/misc.c:573,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/misc.c:574,1
    - Dst: ksba_reader_release
      Src: /src/gnupg/dirmngr/misc.c:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - r_reader
    - fp
    argTypes:
    - ksba_reader_t*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 580
    functionName: create_estream_ksba_reader
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 1
    functionsReached:
    - log_error
    - ksba_reader_release
    - _
    - ksba_reader_new
    - ksba_reader_set_cb
    - gpg_strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t create_estream_ksba_reader (ksba_reader_t *r_reader, estream_t
      fp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/dirmngr/misc.c:594,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/misc.c:596,1
    - Dst: gpgrt_b64enc_start
      Src: /src/gnupg/dirmngr/misc.c:598,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/misc.c:601,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/misc.c:602,1
    - Dst: gpgrt_b64enc_write
      Src: /src/gnupg/dirmngr/misc.c:605,1
    - Dst: gpgrt_b64enc_finish
      Src: /src/gnupg/dirmngr/misc.c:606,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/misc.c:608,1
    - Dst: es_ftell
      Src: /src/gnupg/dirmngr/misc.c:615,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/misc.c:618,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/misc.c:619,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/misc.c:623,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/misc.c:626,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/misc.c:627,1
    - Dst: es_rewind
      Src: /src/gnupg/dirmngr/misc.c:631,1
    - Dst: es_read
      Src: /src/gnupg/dirmngr/misc.c:632,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/misc.c:634,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/misc.c:635,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/misc.c:639,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - r_string
    - data
    - datalen
    argTypes:
    - char**
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 643
    functionName: armor_data
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 1
    functionsReached:
    - es_fopenmem
    - xtrymalloc
    - gpg_error_from_syserror
    - gpgrt_b64enc_write
    - es_fclose
    - gpgrt_b64enc_finish
    - es_rewind
    - es_read
    - es_ftell
    - gpgrt_b64enc_start
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t armor_data (char **r_string, const void *data, size_t datalen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_read
      Src: /src/gnupg/dirmngr/misc.c:654,1
    - Dst: es_write
      Src: /src/gnupg/dirmngr/misc.c:658,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/misc.c:661,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - estream_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 662
    functionName: copy_stream
    functionSourceFile: /src/gnupg/dirmngr/misc.c
    functionUses: 1
    functionsReached:
    - es_read
    - gpg_error_from_syserror
    - es_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t copy_stream (estream_t in, estream_t out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - issuer_hash
    - cert_id
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: fakecrl_isvalid
    functionSourceFile: /src/gnupg/dirmngr/fakecrl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t fakecrl_isvalid (ctrl_t ctrl, const char *issuer_hash,
      const char *cert_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ks_print_help
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:45,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:46,1
    - Dst: ks_print_help
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctrl
    - uri
    argTypes:
    - ctrl_t
    - parsed_uri_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: ks_finger_help
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-finger.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ks_print_help
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_finger_help (ctrl_t ctrl, parsed_uri_t uri)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:69,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:70,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:72,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:74,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:76,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:79,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:80,1
    - Dst: http_raw_connect
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:85,1
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:86,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:92,1
    - Dst: http_get_write_ptr
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:96,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:99,1
    - Dst: http_close
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:100,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:101,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:105,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:105,1
    - Dst: es_fflush
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:105,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:107,1
    - Dst: http_close
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:108,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:109,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:112,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:113,1
    - Dst: http_get_read_ptr
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:115,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:118,1
    - Dst: http_close
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:119,1
    - Dst: http_close
      Src: /src/gnupg/dirmngr/ks-engine-finger.c:123,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 3
    argNames:
    - ctrl
    - uri
    - r_fp
    argTypes:
    - ctrl_t
    - parsed_uri_t
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 127
    functionName: ks_finger_fetch
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-finger.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - es_fclose
    - http_get_read_ptr
    - dirmngr_use_tor
    - http_get_write_ptr
    - strcmp
    - xtrystrdup
    - gpg_error
    - strchr
    - xfree
    - http_raw_connect
    - http_close
    - es_fflush
    - es_fputs
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_finger_fetch (ctrl_t ctrl, parsed_uri_t uri, estream_t
      *r_fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - keyword
    - format
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: dirmngr_status_printf
    functionSourceFile: /src/gnupg/dirmngr/t-support.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t dirmngr_status_printf (ctrl_t ctrl, const char *keyword,\n
      \                      const char *format, ...)"
  - 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: DIM
    functionSourceFile: /src/gnupg/dirmngr/t-support.h
    functionUses: 258
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: DIMof
    functionSourceFile: /src/gnupg/dirmngr/t-support.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIMof(type,member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: pass
    functionSourceFile: /src/gnupg/dirmngr/t-support.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: fail
    functionSourceFile: /src/gnupg/dirmngr/t-support.h
    functionUses: 69
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - domain
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 80
    functionName: hash_domain
    functionSourceFile: /src/gnupg/dirmngr/domaininfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 hash_domain (const char *domain)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dirmngr_status_helpf
      Src: /src/gnupg/dirmngr/domaininfo.c:115,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 121
    functionName: domaininfo_print_stats
    functionSourceFile: /src/gnupg/dirmngr/domaininfo.c
    functionUses: 0
    functionsReached:
    - dirmngr_status_helpf
    linkageType: ''
    returnType: void
    signature: void domaininfo_print_stats (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_domain
      Src: /src/gnupg/dirmngr/domaininfo.c:131,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/domaininfo.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - domain
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: domaininfo_is_wkd_not_supported
    functionSourceFile: /src/gnupg/dirmngr/domaininfo.c
    functionUses: 0
    functionsReached:
    - strcmp
    - hash_domain
    linkageType: ''
    returnType: int
    signature: int domaininfo_is_wkd_not_supported (const char *domain)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hash_domain
      Src: /src/gnupg/dirmngr/domaininfo.c:155,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/domaininfo.c:157,1
    - Dst: callback
      Src: /src/gnupg/dirmngr/domaininfo.c:159,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/domaininfo.c:163,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/domaininfo.c:163,1
    - Dst: strcpy
      Src: /src/gnupg/dirmngr/domaininfo.c:166,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/domaininfo.c:171,1
    - Dst: callback
      Src: /src/gnupg/dirmngr/domaininfo.c:173,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/domaininfo.c:174,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/domaininfo.c:190,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/domaininfo.c:194,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/domaininfo.c:195,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/dirmngr/domaininfo.c:195,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/domaininfo.c:204,1
    - Dst: callback
      Src: /src/gnupg/dirmngr/domaininfo.c:265,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/domaininfo.c:271,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/domaininfo.c:279,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/domaininfo.c:285,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 1
    argNames:
    - domain
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 288
    functionName: insert_or_update
    functionSourceFile: /src/gnupg/dirmngr/domaininfo.c
    functionUses: 0
    functionsReached:
    - gpg_err_code_from_syserror
    - strlen
    - log_error
    - log_assert
    - strcmp
    - hash_domain
    - strcpy
    - xfree
    - gpg_strerror
    - xtrycalloc
    - log_info
    - callback
    linkageType: ''
    returnType: void
    signature: "void insert_or_update (const char *domain,\n                  void
      (*callback)(domaininfo_t di, int insert_mode))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - di
    - insert_mode
    argTypes:
    - domaininfo_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 304
    functionName: set_no_name_cb
    functionSourceFile: /src/gnupg/dirmngr/domaininfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_no_name_cb (domaininfo_t di, int insert_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert_or_update
      Src: /src/gnupg/dirmngr/domaininfo.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - domain
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: domaininfo_set_no_name
    functionSourceFile: /src/gnupg/dirmngr/domaininfo.c
    functionUses: 0
    functionsReached:
    - insert_or_update
    linkageType: ''
    returnType: void
    signature: void domaininfo_set_no_name (const char *domain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - di
    - insert_mode
    argTypes:
    - domaininfo_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 325
    functionName: set_wkd_supported_cb
    functionSourceFile: /src/gnupg/dirmngr/domaininfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wkd_supported_cb (domaininfo_t di, int insert_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert_or_update
      Src: /src/gnupg/dirmngr/domaininfo.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - domain
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: domaininfo_set_wkd_supported
    functionSourceFile: /src/gnupg/dirmngr/domaininfo.c
    functionUses: 0
    functionsReached:
    - insert_or_update
    linkageType: ''
    returnType: void
    signature: void domaininfo_set_wkd_supported (const char *domain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - di
    - insert_mode
    argTypes:
    - domaininfo_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: set_wkd_not_supported_cb
    functionSourceFile: /src/gnupg/dirmngr/domaininfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wkd_not_supported_cb (domaininfo_t di, int insert_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert_or_update
      Src: /src/gnupg/dirmngr/domaininfo.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - domain
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 352
    functionName: domaininfo_set_wkd_not_supported
    functionSourceFile: /src/gnupg/dirmngr/domaininfo.c
    functionUses: 0
    functionsReached:
    - insert_or_update
    linkageType: ''
    returnType: void
    signature: void domaininfo_set_wkd_not_supported (const char *domain)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - di
    - insert_mode
    argTypes:
    - domaininfo_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 371
    functionName: set_wkd_not_found_cb
    functionSourceFile: /src/gnupg/dirmngr/domaininfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wkd_not_found_cb (domaininfo_t di, int insert_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert_or_update
      Src: /src/gnupg/dirmngr/domaininfo.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - domain
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 379
    functionName: domaininfo_set_wkd_not_found
    functionSourceFile: /src/gnupg/dirmngr/domaininfo.c
    functionUses: 0
    functionsReached:
    - insert_or_update
    linkageType: ''
    returnType: void
    signature: void domaininfo_set_wkd_not_found (const char *domain)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dirmngr_status_helpf
      Src: /src/gnupg/dirmngr/workqueue.c:70,1
    - Dst: dirmngr_status_helpf
      Src: /src/gnupg/dirmngr/workqueue.c:72,1
    - Dst: wqitem_t::func
      Src: /src/gnupg/dirmngr/workqueue.c:74,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/workqueue.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 87
    functionName: workqueue_dump_queue
    functionSourceFile: /src/gnupg/dirmngr/workqueue.c
    functionUses: 0
    functionsReached:
    - dirmngr_status_helpf
    - wqitem_t::func
    - strlen
    linkageType: ''
    returnType: void
    signature: void workqueue_dump_queue (ctrl_t ctrl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/workqueue.c:98,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/workqueue.c:98,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/workqueue.c:100,1
    - Dst: strcpy
      Src: /src/gnupg/dirmngr/workqueue.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - func
    - args
    - session_id
    - need_network
    argTypes:
    - wqtask_t
    - char*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 115
    functionName: workqueue_add_task
    functionSourceFile: /src/gnupg/dirmngr/workqueue.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    - gpg_error_from_syserror
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t workqueue_add_task (wqtask_t func, const char *args, unsigned
      int session_id,\n                    int need_network)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/workqueue.c:123,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/workqueue.c:126,1
    - Dst: wqitem_t::func
      Src: /src/gnupg/dirmngr/workqueue.c:128,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/workqueue.c:129,1
    - Dst: wqitem_t::func
      Src: /src/gnupg/dirmngr/workqueue.c:131,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/workqueue.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctrl
    - item
    argTypes:
    - ctrl_t
    - wqitem_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: run_a_task
    functionSourceFile: /src/gnupg/dirmngr/workqueue.c
    functionUses: 0
    functionsReached:
    - strlen
    - log_assert
    - log_info
    - xfree
    - wqitem_t::func
    linkageType: ''
    returnType: void
    signature: void run_a_task (ctrl_t ctrl, wqitem_t item)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/dirmngr/workqueue.c:148,1
    - Dst: run_a_task
      Src: /src/gnupg/dirmngr/workqueue.c:168,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - ctrl
    - with_network
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 170
    functionName: workqueue_run_global_tasks
    functionSourceFile: /src/gnupg/dirmngr/workqueue.c
    functionUses: 0
    functionsReached:
    - log_info
    - run_a_task
    linkageType: ''
    returnType: void
    signature: void workqueue_run_global_tasks (ctrl_t ctrl, int with_network)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/workqueue.c:204,1
    - Dst: dirmngr_init_default_ctrl
      Src: /src/gnupg/dirmngr/workqueue.c:206,1
    - Dst: run_a_task
      Src: /src/gnupg/dirmngr/workqueue.c:210,1
    - Dst: dirmngr_deinit_default_ctrl
      Src: /src/gnupg/dirmngr/workqueue.c:213,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 214
    functionName: workqueue_run_post_session_tasks
    functionSourceFile: /src/gnupg/dirmngr/workqueue.c
    functionUses: 0
    functionsReached:
    - dirmngr_init_default_ctrl
    - memset
    - run_a_task
    - dirmngr_deinit_default_ctrl
    linkageType: ''
    returnType: void
    signature: void workqueue_run_post_session_tasks (unsigned int session_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/validate.c:82,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/validate.c:83,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/validate.c:84,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/validate.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: check_header_constants
    functionSourceFile: /src/gnupg/dirmngr/validate.c
    functionUses: 0
    functionsReached:
    - log_assert
    linkageType: ''
    returnType: void
    signature: void check_header_constants (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_extension
      Src: /src/gnupg/dirmngr/validate.c:121,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/validate.c:126,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/validate.c:136,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:144,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:144,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:146,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/validate.c:149,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 153
    functionName: unknown_criticals
    functionSourceFile: /src/gnupg/dirmngr/validate.c
    functionUses: 1
    functionsReached:
    - log_error
    - _
    - strcmp
    - ksba_cert_get_extension
    - gpg_error
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t unknown_criticals (ksba_cert_t cert)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_cert_policies
      Src: /src/gnupg/dirmngr/validate.c:170,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/validate.c:171,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:181,1
    - Dst: strstr
      Src: /src/gnupg/dirmngr/validate.c:184,1
    - Dst: strstr
      Src: /src/gnupg/dirmngr/validate.c:189,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/validate.c:194,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/validate.c:197,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:204,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:204,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:209,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:209,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:210,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/validate.c:213,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 215
    functionName: check_cert_policy
    functionSourceFile: /src/gnupg/dirmngr/validate.c
    functionUses: 1
    functionsReached:
    - ksba_free
    - strlen
    - strstr
    - ksba_cert_get_cert_policies
    - _
    - gpg_error
    - log_info
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_cert_policy (ksba_cert_t cert)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_is_ca
      Src: /src/gnupg/dirmngr/validate.c:224,1
    - Dst: is_trusted_cert
      Src: /src/gnupg/dirmngr/validate.c:229,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:239,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:239,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:243,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:243,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - cert
    - chainlen
    argTypes:
    - ksba_cert_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 248
    functionName: allowed_ca
    functionSourceFile: /src/gnupg/dirmngr/validate.c
    functionUses: 1
    functionsReached:
    - log_error
    - _
    - gpg_error
    - log_info
    - is_trusted_cert
    - ksba_cert_is_ca
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t allowed_ca (ksba_cert_t cert, int *chainlen)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/validate.c:261,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/validate.c:262,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:266,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:266,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:267,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:271,1
    - Dst: assert
      Src: /src/gnupg/dirmngr/validate.c:275,1
    - Dst: cert_log_name
      Src: /src/gnupg/dirmngr/validate.c:285,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:285,1
    - Dst: cert_log_name
      Src: /src/gnupg/dirmngr/validate.c:290,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:290,1
    - Dst: crl_cache_cert_isvalid
      Src: /src/gnupg/dirmngr/validate.c:291,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/validate.c:292,1
    - Dst: crl_cache_reload_crl
      Src: /src/gnupg/dirmngr/validate.c:294,1
    - Dst: crl_cache_cert_isvalid
      Src: /src/gnupg/dirmngr/validate.c:296,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:299,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/validate.c:300,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/validate.c:301,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:315,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:317,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:319,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:321,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:325,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/validate.c:326,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 2
    argNames:
    - ctrl
    - chain
    argTypes:
    - ctrl_t
    - chain_item_t
    assertStmts:
    - condition: (ci->cert)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/gnupg/dirmngr/validate.c
    constantsTouched: []
    func_position:
      end: 329
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 329
    functionName: check_revocations
    functionSourceFile: /src/gnupg/dirmngr/validate.c
    functionUses: 0
    functionsReached:
    - crl_cache_cert_isvalid
    - log_error
    - log_assert
    - assert
    - crl_cache_reload_crl
    - _
    - gpg_error
    - log_info
    - gpg_err_code
    - gpg_strerror
    - cert_log_name
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_revocations (ctrl_t ctrl, chain_item_t chain)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/validate.c:350,1
    - Dst: ksba_cert_get_auth_key_id
      Src: /src/gnupg/dirmngr/validate.c:353,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/validate.c:356,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:359,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/validate.c:360,1
    - Dst: ksba_cert_get_serial
      Src: /src/gnupg/dirmngr/validate.c:364,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:367,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/validate.c:367,1
    - Dst: ksba_name_enum
      Src: /src/gnupg/dirmngr/validate.c:373,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/validate.c:375,1
    - Dst: cmp_simple_canon_sexp
      Src: /src/gnupg/dirmngr/validate.c:376,1
    - Dst: ksba_cert_get_subj_key_id
      Src: /src/gnupg/dirmngr/validate.c:383,1
    - Dst: cmp_simple_canon_sexp
      Src: /src/gnupg/dirmngr/validate.c:384,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/validate.c:392,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/validate.c:393,1
    - Dst: ksba_name_release
      Src: /src/gnupg/dirmngr/validate.c:394,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/validate.c:395,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/validate.c:396,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - cert
    - issuerdn
    - subjectdn
    argTypes:
    - ksba_cert_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 398
    functionName: is_root_cert
    functionSourceFile: /src/gnupg/dirmngr/validate.c
    functionUses: 5
    functionsReached:
    - ksba_free
    - log_error
    - cmp_simple_canon_sexp
    - strcmp
    - ksba_name_release
    - gpg_strerror
    - gpg_err_code
    - ksba_cert_get_serial
    - ksba_name_enum
    - ksba_cert_get_subj_key_id
    - ksba_cert_get_auth_key_id
    linkageType: ''
    returnType: int
    signature: int is_root_cert (ksba_cert_t cert, const char *issuerdn, const char
      *subjectdn)
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: check_header_constants
      Src: /src/gnupg/dirmngr/validate.c:430,1
    - Dst: dump_cert
      Src: /src/gnupg/dirmngr/validate.c:440,1
    - Dst: check_cert_use_ocsp
      Src: /src/gnupg/dirmngr/validate.c:443,1
    - Dst: check_cert_use_crl
      Src: /src/gnupg/dirmngr/validate.c:445,1
    - Dst: ksba_cert_get_user_data
      Src: /src/gnupg/dirmngr/validate.c:456,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/dirmngr/validate.c:464,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:467,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/dirmngr/validate.c:476,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/validate.c:487,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/validate.c:488,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/dirmngr/validate.c:489,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/dirmngr/validate.c:490,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:494,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:494,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:495,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/dirmngr/validate.c:503,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/dirmngr/validate.c:505,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:508,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:508,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/validate.c:509,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:510,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/dirmngr/validate.c:518,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/validate.c:519,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/dirmngr/validate.c:520,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/validate.c:524,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:526,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:526,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:527,1
    - Dst: dump_isotime
      Src: /src/gnupg/dirmngr/validate.c:528,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/validate.c:529,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:530,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/validate.c:535,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:537,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:537,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:538,1
    - Dst: dump_isotime
      Src: /src/gnupg/dirmngr/validate.c:539,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/validate.c:540,1
    - Dst: unknown_criticals
      Src: /src/gnupg/dirmngr/validate.c:547,1
    - Dst: check_cert_policy
      Src: /src/gnupg/dirmngr/validate.c:552,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/validate.c:553,1
    - Dst: is_root_cert
      Src: /src/gnupg/dirmngr/validate.c:562,1
    - Dst: allowed_ca
      Src: /src/gnupg/dirmngr/validate.c:574,1
    - Dst: is_trusted_cert
      Src: /src/gnupg/dirmngr/validate.c:578,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/validate.c:582,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:586,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:586,1
    - Dst: get_fingerprint_hexstring
      Src: /src/gnupg/dirmngr/validate.c:587,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:588,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:588,1
    - Dst: dump_cert
      Src: /src/gnupg/dirmngr/validate.c:589,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/validate.c:597,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:601,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:601,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/validate.c:603,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/validate.c:612,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/validate.c:615,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/dirmngr/validate.c:618,1
    - Dst: cert_compute_fpr
      Src: /src/gnupg/dirmngr/validate.c:620,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:628,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:630,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:641,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:641,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:642,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/validate.c:647,1
    - Dst: find_issuing_cert
      Src: /src/gnupg/dirmngr/validate.c:648,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/validate.c:651,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:653,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:653,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:654,1
    - Dst: dump_string
      Src: /src/gnupg/dirmngr/validate.c:655,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/validate.c:656,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:659,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:659,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/validate.c:660,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:662,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/validate.c:669,1
    - Dst: dump_cert
      Src: /src/gnupg/dirmngr/validate.c:670,1
    - Dst: check_cert_sig
      Src: /src/gnupg/dirmngr/validate.c:676,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:679,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:679,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/validate.c:681,1
    - Dst: find_up
      Src: /src/gnupg/dirmngr/validate.c:687,1
    - Dst: keydb_get_cert
      Src: /src/gnupg/dirmngr/validate.c:692,1
    - Dst: compare_certs
      Src: /src/gnupg/dirmngr/validate.c:693,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:698,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/validate.c:699,1
    - Dst: do_list
      Src: /src/gnupg/dirmngr/validate.c:703,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:703,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/validate.c:705,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:714,1
    - Dst: allowed_ca
      Src: /src/gnupg/dirmngr/validate.c:723,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:728,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:728,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:730,1
    - Dst: check_cert_use_cert
      Src: /src/gnupg/dirmngr/validate.c:736,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/validate.c:744,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/validate.c:747,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/dirmngr/validate.c:750,1
    - Dst: cert_compute_fpr
      Src: /src/gnupg/dirmngr/validate.c:752,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:758,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:758,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:771,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:773,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:780,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:780,1
    - Dst: cert_log_name
      Src: /src/gnupg/dirmngr/validate.c:782,1
    - Dst: check_revocations
      Src: /src/gnupg/dirmngr/validate.c:805,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:811,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:813,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:816,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/dirmngr/validate.c:829,1
    - Dst: ksba_cert_set_user_data
      Src: /src/gnupg/dirmngr/validate.c:833,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:837,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/validate.c:838,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/dirmngr/validate.c:845,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/validate.c:846,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/validate.c:847,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/validate.c:848,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/validate.c:850,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/validate.c:855,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/validate.c:856,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/validate.c:861,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 258
    argCount: 5
    argNames:
    - ctrl
    - cert
    - r_exptime
    - flags
    - r_trust_anchor
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - ksba_isotime_t
    - unsigned int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 414
    functionDepth: 4
    functionLinenumber: 414
    functionLinenumberEnd: 865
    functionName: validate_cert_chain
    functionSourceFile: /src/gnupg/dirmngr/validate.c
    functionUses: 1
    functionsReached:
    - allowed_ca
    - gnupg_get_time
    - ksba_free
    - check_cert_policy
    - get_fingerprint_hexstring
    - dump_string
    - find_issuing_cert
    - is_trusted_cert
    - gnupg_copy_time
    - ksba_cert_get_issuer
    - log_error
    - ksba_cert_get_subject
    - _
    - dump_isotime
    - gpg_error_from_errno
    - log_info
    - keydb_get_cert
    - ksba_cert_get_user_data
    - cert_log_name
    - dump_cert
    - log_printf
    - ksba_cert_release
    - log_debug
    - is_root_cert
    - check_header_constants
    - check_cert_use_crl
    - strcmp
    - gnupg_get_isotime
    - gpg_error
    - gpg_strerror
    - xfree
    - find_up
    - xtrycalloc
    - check_cert_use_cert
    - ksba_cert_set_user_data
    - check_cert_sig
    - check_revocations
    - compare_certs
    - gpg_err_code
    - unknown_criticals
    - cert_compute_fpr
    - do_list
    - ksba_cert_ref
    - check_cert_use_ocsp
    - ksba_cert_get_validity
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t validate_cert_chain (ctrl_t ctrl, ksba_cert_t cert, ksba_isotime_t
      r_exptime,\n                     unsigned int flags, char **r_trust_anchor)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/dirmngr/validate.c:880,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/dirmngr/validate.c:883,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/validate.c:884,1
    - Dst: gcry_sexp_nth_data
      Src: /src/gnupg/dirmngr/validate.c:886,1
    - Dst: memcmp
      Src: /src/gnupg/dirmngr/validate.c:889,1
    - Dst: memcmp
      Src: /src/gnupg/dirmngr/validate.c:891,1
    - Dst: memcmp
      Src: /src/gnupg/dirmngr/validate.c:893,1
    - Dst: memcmp
      Src: /src/gnupg/dirmngr/validate.c:895,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/validate.c:899,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 901
    functionName: pk_algo_from_sexp
    functionSourceFile: /src/gnupg/dirmngr/validate.c
    functionUses: 2
    functionsReached:
    - gcry_sexp_cadr
    - gcry_sexp_find_token
    - memcmp
    - gcry_sexp_nth_data
    - gcry_sexp_release
    linkageType: ''
    returnType: int
    signature: int pk_algo_from_sexp (gcry_sexp_t pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/validate.c:913,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:916,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:916,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/validate.c:919,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/dirmngr/validate.c:921,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:923,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/validate.c:924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - buflen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 926
    functionName: hash_algo_from_buffer
    functionSourceFile: /src/gnupg/dirmngr/validate.c
    functionUses: 1
    functionsReached:
    - log_error
    - _
    - xfree
    - gcry_md_map_name
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: int
    signature: int hash_algo_from_buffer (const void *buffer, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/validate.c:937,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:940,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:940,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/validate.c:943,1
    - Dst: strtoul
      Src: /src/gnupg/dirmngr/validate.c:945,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/validate.c:946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - buffer
    - buflen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 948
    functionName: uint_from_buffer
    functionSourceFile: /src/gnupg/dirmngr/validate.c
    functionUses: 1
    functionsReached:
    - log_error
    - _
    - xfree
    - memcpy
    - strtoul
    - xtrymalloc
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int uint_from_buffer (const void *buffer, size_t buflen)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_digest_algo
      Src: /src/gnupg/dirmngr/validate.c:972,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/dirmngr/validate.c:973,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/validate.c:974,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:978,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:978,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:979,1
    - Dst: ksba_cert_get_sig_val
      Src: /src/gnupg/dirmngr/validate.c:983,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/dirmngr/validate.c:984,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:987,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/validate.c:988,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:989,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/dirmngr/validate.c:991,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/validate.c:992,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:995,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/validate.c:995,1
    - Dst: gcry_log_debugsxp
      Src: /src/gnupg/dirmngr/validate.c:999,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/dirmngr/validate.c:1006,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/validate.c:1011,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:1012,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/validate.c:1013,1
    - Dst: hash_algo_from_buffer
      Src: /src/gnupg/dirmngr/validate.c:1016,1
    - Dst: uint_from_buffer
      Src: /src/gnupg/dirmngr/validate.c:1017,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/validate.c:1018,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/validate.c:1019,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:1022,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/validate.c:1023,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:1024,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/validate.c:1028,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:1029,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:1043,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/dirmngr/validate.c:1044,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/validate.c:1045,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:1046,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/dirmngr/validate.c:1049,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:1051,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/dirmngr/validate.c:1052,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/validate.c:1053,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:1054,1
    - Dst: hash_algo_to_string
      Src: /src/gnupg/dirmngr/validate.c:1058,1
    - Dst: gcry_md_open
      Src: /src/gnupg/dirmngr/validate.c:1059,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:1062,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/validate.c:1062,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/validate.c:1063,1
    - Dst: gcry_md_debug
      Src: /src/gnupg/dirmngr/validate.c:1067,1
    - Dst: ksba_cert_hash
      Src: /src/gnupg/dirmngr/validate.c:1069,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:1072,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/validate.c:1072,1
    - Dst: gcry_md_close
      Src: /src/gnupg/dirmngr/validate.c:1073,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/validate.c:1074,1
    - Dst: gcry_md_final
      Src: /src/gnupg/dirmngr/validate.c:1077,1
    - Dst: ksba_cert_get_public_key
      Src: /src/gnupg/dirmngr/validate.c:1080,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/dirmngr/validate.c:1081,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:1084,1
    - Dst: gcry_md_close
      Src: /src/gnupg/dirmngr/validate.c:1085,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/validate.c:1086,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/validate.c:1087,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:1088,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/dirmngr/validate.c:1090,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/validate.c:1091,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:1094,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/validate.c:1094,1
    - Dst: gcry_md_close
      Src: /src/gnupg/dirmngr/validate.c:1095,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/validate.c:1096,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/dirmngr/validate.c:1110,1
    - Dst: gcry_md_read
      Src: /src/gnupg/dirmngr/validate.c:1111,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/dirmngr/validate.c:1114,1
    - Dst: pk_algo_from_sexp
      Src: /src/gnupg/dirmngr/validate.c:1123,1
    - Dst: gcry_pk_get_nbits
      Src: /src/gnupg/dirmngr/validate.c:1127,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:1132,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:1134,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:1141,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:1141,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:1143,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:1150,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:1150,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:1156,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/dirmngr/validate.c:1165,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/dirmngr/validate.c:1170,1
    - Dst: gcry_pk_verify
      Src: /src/gnupg/dirmngr/validate.c:1175,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/validate.c:1177,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/validate.c:1177,1
    - Dst: gcry_md_close
      Src: /src/gnupg/dirmngr/validate.c:1180,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/validate.c:1181,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/validate.c:1182,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/validate.c:1183,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 143
    argCount: 2
    argNames:
    - issuer_cert
    - cert
    argTypes:
    - ksba_cert_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 1185
    functionName: check_cert_sig
    functionSourceFile: /src/gnupg/dirmngr/validate.c
    functionUses: 3
    functionsReached:
    - ksba_free
    - ksba_cert_get_public_key
    - ksba_cert_hash
    - gcry_sexp_sscan
    - hash_algo_to_string
    - gcry_sexp_canon_len
    - gcry_md_final
    - gcry_md_close
    - gcry_pk_get_nbits
    - pk_algo_from_sexp
    - gcry_log_debugsxp
    - log_error
    - gcry_md_algo_name
    - _
    - gcry_sexp_release
    - gcry_md_read
    - gcry_sexp_build
    - gcry_pk_verify
    - log_debug
    - gcry_md_debug
    - gcry_md_open
    - ksba_cert_get_sig_val
    - gcry_sexp_extract_param
    - strcmp
    - gpg_error
    - ksba_cert_get_digest_algo
    - gpg_strerror
    - gcry_md_map_name
    - uint_from_buffer
    - xfree
    - hash_algo_from_buffer
    - gcry_md_get_algo_dlen
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_cert_sig (ksba_cert_t issuer_cert, ksba_cert_t cert)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_ext_key_usages
      Src: /src/gnupg/dirmngr/validate.c:1198,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/validate.c:1199,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/validate.c:1213,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/validate.c:1220,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/validate.c:1224,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/validate.c:1227,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/validate.c:1229,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/validate.c:1234,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/validate.c:1243,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/validate.c:1246,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/validate.c:1249,1
    - Dst: ksba_cert_get_key_usage
      Src: /src/gnupg/dirmngr/validate.c:1257,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/validate.c:1258,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:1263,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:1263,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/validate.c:1273,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:1273,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/validate.c:1274,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/validate.c:1275,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:1286,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:1287,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:1288,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:1296,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:1297,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:1298,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:1304,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:1304,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:1314,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:1314,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/validate.c:1321,1
    - Dst: _
      Src: /src/gnupg/dirmngr/validate.c:1321,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/validate.c:1326,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 77
    argCount: 2
    argNames:
    - cert
    - mode
    argTypes:
    - ksba_cert_t
    - enum cert_usage_modes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1327
    functionName: check_cert_usage
    functionSourceFile: /src/gnupg/dirmngr/validate.c
    functionUses: 0
    functionsReached:
    - ksba_free
    - ksba_cert_get_ext_key_usages
    - log_error
    - _
    - strcmp
    - strchr
    - gpg_error
    - gpg_err_code
    - log_info
    - gpg_strerror
    - ksba_cert_get_key_usage
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_cert_usage (ksba_cert_t cert, enum cert_usage_modes
      mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_cert_usage
      Src: /src/gnupg/dirmngr/validate.c:1334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1331
    functionDepth: 2
    functionLinenumber: 1331
    functionLinenumberEnd: 1335
    functionName: check_cert_use_cert
    functionSourceFile: /src/gnupg/dirmngr/validate.c
    functionUses: 1
    functionsReached:
    - check_cert_usage
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_cert_use_cert (ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_cert_usage
      Src: /src/gnupg/dirmngr/validate.c:1342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1339
    functionDepth: 2
    functionLinenumber: 1339
    functionLinenumberEnd: 1343
    functionName: check_cert_use_ocsp
    functionSourceFile: /src/gnupg/dirmngr/validate.c
    functionUses: 1
    functionsReached:
    - check_cert_usage
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_cert_use_ocsp (ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_cert_usage
      Src: /src/gnupg/dirmngr/validate.c:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1346
    functionDepth: 2
    functionLinenumber: 1346
    functionLinenumberEnd: 1350
    functionName: check_cert_use_crl
    functionSourceFile: /src/gnupg/dirmngr/validate.c
    functionUses: 1
    functionsReached:
    - check_cert_usage
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_cert_use_crl (ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: PARM_ERROR
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARM_ERROR(t)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: get_ldapservers_from_ctrl
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ldap_server_t
    signature: ldap_server_t get_ldapservers_from_ctrl (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/server.c:162,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - list
    argTypes:
    - uri_item_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: release_uri_item_list
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 2
    functionsReached:
    - xfree
    - http_release_parsed_uri
    linkageType: ''
    returnType: void
    signature: void release_uri_item_list (uri_item_t list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_uri_item_list
      Src: /src/gnupg/dirmngr/server.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: release_ctrl_keyservers
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - release_uri_item_list
    linkageType: ''
    returnType: void
    signature: void release_ctrl_keyservers (ctrl_t ctrl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_command_name
      Src: /src/gnupg/dirmngr/server.c:187,1
    - Dst: gpg_err_source
      Src: /src/gnupg/dirmngr/server.c:190,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:191,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:192,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:194,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:195,1
    - Dst: gpg_strsource
      Src: /src/gnupg/dirmngr/server.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - assuan_context_t
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 198
    functionName: leave_cmd
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 58
    functionsReached:
    - log_error
    - gpg_strerror
    - assuan_get_command_name
    - gpg_strsource
    - gpg_err_source
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t leave_cmd (assuan_context_t ctx, gpg_error_t err)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:206,1
    - Dst: memchr
      Src: /src/gnupg/dirmngr/server.c:223,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/server.c:225,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/server.c:228,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/server.c:233,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/server.c:235,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/server.c:243,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/server.c:246,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 3
    argNames:
    - ctx
    - buffer_arg
    - size
    argTypes:
    - assuan_context_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 259
    functionName: data_line_write
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - gpg_err_set_errno
    - assuan_send_data
    - assuan_get_pointer
    - memchr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t data_line_write (assuan_context_t ctx, const void *buffer_arg,
      size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data_line_write
      Src: /src/gnupg/dirmngr/server.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cookie
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: data_line_cookie_write
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - data_line_write
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t data_line_cookie_write (void *cookie, const void *buffer,
      size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:282,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/server.c:287,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/server.c:290,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/server.c:292,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 297
    functionName: data_line_cookie_close
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - gpg_err_set_errno
    - log_debug
    - assuan_get_pointer
    linkageType: ''
    returnType: int
    signature: int data_line_cookie_close (void *cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: count_colons
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int count_colons (const char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtoi_2
      Src: /src/gnupg/dirmngr/server.c:330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 339
    functionName: strcpy_escaped_plus
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 3
    functionsReached:
    - xtoi_2
    linkageType: ''
    returnType: void
    signature: void strcpy_escaped_plus (char *d, const unsigned char *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/server.c:362,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/server.c:362,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:365,1
    - Dst: free_strlist
      Src: /src/gnupg/dirmngr/server.c:366,1
    - Dst: strcpy_escaped_plus
      Src: /src/gnupg/dirmngr/server.c:371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - line
    - r_list
    argTypes:
    - char*
    - strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 379
    functionName: percentplus_line_to_strlist
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - strcpy_escaped_plus
    - gpg_error_from_syserror
    - strlen
    - xtrymalloc
    - free_strlist
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t percentplus_line_to_strlist (char *line, strlist_t *r_list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/dirmngr/server.c:391,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:394,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:396,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - string
    - len
    argTypes:
    - assuan_context_t
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 399
    functionName: parse_hexstring
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 4
    functionsReached:
    - hexdigitp
    - set_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_hexstring (assuan_context_t ctx, const char *string,
      size_t *len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assuan_sock_connect_byname
      Src: /src/gnupg/dirmngr/server.c:416,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/dirmngr/server.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 426
    functionName: is_tor_running
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - assuan_sock_connect_byname
    - assuan_sock_close
    linkageType: ''
    returnType: int
    signature: int is_tor_running (ctrl_t ctrl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/server.c:444,1
    - Dst: assuan_get_peercred
      Src: /src/gnupg/dirmngr/server.c:444,1
    - Dst: getuid
      Src: /src/gnupg/dirmngr/server.c:445,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:448,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - failtext
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 451
    functionName: check_owner_permission
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - getuid
    - gpg_err_code
    - assuan_get_peercred
    - set_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_owner_permission (assuan_context_t ctx, const char
      *failtext)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/server.c:465,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/server.c:465,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:467,1
    - Dst: assuan_inquire
      Src: /src/gnupg/dirmngr/server.c:470,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:472,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:476,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:476,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:477,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:483,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/dirmngr/server.c:487,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/dirmngr/server.c:490,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/server.c:493,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:497,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - ctrl
    - name
    - command
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 499
    functionName: do_get_cert_local
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - ksba_cert_init_from_mem
    - gpg_error_from_syserror
    - log_error
    - assuan_inquire
    - _
    - strconcat
    - xtrystrdup
    - ksba_cert_release
    - xfree
    - gpg_strerror
    - ksba_cert_new
    linkageType: ''
    returnType: ksba_cert_t
    signature: ksba_cert_t do_get_cert_local (ctrl_t ctrl, const char *name, const
      char *command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/server.c:514,1
    - Dst: do_get_cert_local
      Src: /src/gnupg/dirmngr/server.c:517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctrl
    - name
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 519
    functionName: get_cert_local
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 2
    functionsReached:
    - log_debug
    - do_get_cert_local
    linkageType: ''
    returnType: ksba_cert_t
    signature: ksba_cert_t get_cert_local (ctrl_t ctrl, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/server.c:533,1
    - Dst: do_get_cert_local
      Src: /src/gnupg/dirmngr/server.c:536,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctrl
    - name
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 537
    functionName: get_issuing_cert_local
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - log_debug
    - do_get_cert_local
    linkageType: ''
    returnType: ksba_cert_t
    signature: ksba_cert_t get_issuing_cert_local (ctrl_t ctrl, const char *name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/server.c:555,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/server.c:560,1
    - Dst: serial_hex
      Src: /src/gnupg/dirmngr/server.c:564,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/server.c:567,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/server.c:571,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:574,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/server.c:574,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:575,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:578,1
    - Dst: assuan_inquire
      Src: /src/gnupg/dirmngr/server.c:580,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:582,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:585,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:585,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:586,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:592,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/dirmngr/server.c:596,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/dirmngr/server.c:599,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/server.c:602,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:606,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - ctrl
    - name
    - keyid
    argTypes:
    - ctrl_t
    - char*
    - ksba_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 608
    functionName: get_cert_local_ski
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 1
    functionsReached:
    - serial_hex
    - ksba_cert_init_from_mem
    - log_error
    - assuan_inquire
    - _
    - strconcat
    - ksba_cert_release
    - xfree
    - gpg_strerror
    - strerror
    - ksba_cert_new
    - log_debug
    linkageType: ''
    returnType: ksba_cert_t
    signature: ksba_cert_t get_cert_local_ski (ctrl_t ctrl, const char *name, ksba_sexp_t
      keyid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:624,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/server.c:626,1
    - Dst: assuan_inquire
      Src: /src/gnupg/dirmngr/server.c:627,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:631,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:631,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:632,1
    - Dst: spacep
      Src: /src/gnupg/dirmngr/server.c:636,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:639,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:640,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - ctrl
    - hexfpr
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 642
    functionName: get_istrusted_from_client
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - log_error
    - snprintf
    - assuan_inquire
    - spacep
    - _
    - gpg_error
    - gpg_strerror
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_istrusted_from_client (ctrl_t ctrl, const char *hexfpr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:654,1
    - Dst: assuan_inquire
      Src: /src/gnupg/dirmngr/server.c:660,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:672,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/dirmngr/server.c:674,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/dirmngr/server.c:677,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:680,1
    - Dst: crl_cache_reload_crl
      Src: /src/gnupg/dirmngr/server.c:682,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/server.c:685,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:686,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 688
    functionName: inquire_cert_and_load_crl
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - ksba_cert_init_from_mem
    - crl_cache_reload_crl
    - assuan_inquire
    - gpg_error
    - ksba_cert_release
    - xfree
    - ksba_cert_new
    - assuan_get_pointer
    linkageType: ''
    returnType: int
    signature: int inquire_cert_and_load_crl (assuan_context_t ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:695,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:698,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/server.c:700,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:703,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/server.c:705,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:708,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:710,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:711,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/server.c:713,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:714,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:716,1
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/server.c:719,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:720,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:722,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/server.c:724,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:728,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - assuan_context_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 731
    functionName: option_handler
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 7
    functionsReached:
    - atoi
    - gpg_error_from_syserror
    - dirmngr_use_tor
    - strcmp
    - xtrystrdup
    - gpg_error
    - xfree
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t option_handler (assuan_context_t ctx, const char *key,
      const char *value)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:751,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:766,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:767,1
    - Dst: skip_options
      Src: /src/gnupg/dirmngr/server.c:768,1
    - Dst: PARM_ERROR
      Src: /src/gnupg/dirmngr/server.c:772,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/server.c:780,1
    - Dst: PARM_ERROR
      Src: /src/gnupg/dirmngr/server.c:783,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:787,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:789,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:791,1
    - Dst: PARM_ERROR
      Src: /src/gnupg/dirmngr/server.c:795,1
    - Dst: spacep
      Src: /src/gnupg/dirmngr/server.c:798,1
    - Dst: PARM_ERROR
      Src: /src/gnupg/dirmngr/server.c:803,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/dirmngr/server.c:816,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/server.c:817,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:819,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/dirmngr/server.c:826,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/server.c:826,1
    - Dst: zb32_encode
      Src: /src/gnupg/dirmngr/server.c:827,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:830,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/server.c:833,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:836,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/dirmngr/server.c:846,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/server.c:846,1
    - Dst: bin2hex
      Src: /src/gnupg/dirmngr/server.c:847,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:850,1
    - Dst: ascii_strlwr
      Src: /src/gnupg/dirmngr/server.c:853,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/server.c:854,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:857,1
    - Dst: get_dns_cert
      Src: /src/gnupg/dirmngr/server.c:867,1
    - Dst: data_line_write
      Src: /src/gnupg/dirmngr/server.c:873,1
    - Dst: bin2hex
      Src: /src/gnupg/dirmngr/server.c:882,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:884,1
    - Dst: assuan_write_status
      Src: /src/gnupg/dirmngr/server.c:887,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:888,1
    - Dst: assuan_write_status
      Src: /src/gnupg/dirmngr/server.c:896,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:903,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:904,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:905,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:906,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:907,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:908,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:909,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 117
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 748
    functionDepth: 4
    functionLinenumber: 748
    functionLinenumberEnd: 910
    functionName: cmd_dns_cert
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - gcry_md_hash_buffer
    - PARM_ERROR
    - strlen
    - has_option
    - assuan_get_pointer
    - zb32_encode
    - leave_cmd
    - set_error
    - assuan_write_status
    - skip_options
    - get_dns_cert
    - gpg_error_from_syserror
    - ascii_strlwr
    - spacep
    - strcmp
    - strchr
    - xfree
    - mailbox_from_userid
    - data_line_write
    - bin2hex
    - strconcat
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_dns_cert (assuan_context_t ctx, char *line)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:937,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:938,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:939,1
    - Dst: skip_options
      Src: /src/gnupg/dirmngr/server.c:941,1
    - Dst: mailbox_from_userid
      Src: /src/gnupg/dirmngr/server.c:944,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/server.c:945,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:947,1
    - Dst: domaininfo_is_wkd_not_supported
      Src: /src/gnupg/dirmngr/server.c:958,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:960,1
    - Dst: dirmngr_status_printf
      Src: /src/gnupg/dirmngr/server.c:961,1
    - Dst: is_valid_domain_name
      Src: /src/gnupg/dirmngr/server.c:970,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/server.c:974,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:977,1
    - Dst: resolve_dns_name
      Src: /src/gnupg/dirmngr/server.c:984,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:988,1
    - Dst: free_dns_addrinfo
      Src: /src/gnupg/dirmngr/server.c:993,1
    - Dst: get_dns_srv
      Src: /src/gnupg/dirmngr/server.c:1007,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/server.c:1012,1
    - Dst: is_valid_domain_name
      Src: /src/gnupg/dirmngr/server.c:1021,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:1023,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:1024,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:1025,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/server.c:1032,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/server.c:1036,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/server.c:1037,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/server.c:1040,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/server.c:1043,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/server.c:1046,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:1049,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:1050,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/server.c:1055,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:1059,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/dirmngr/server.c:1063,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/server.c:1063,1
    - Dst: zb32_encode
      Src: /src/gnupg/dirmngr/server.c:1064,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:1067,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/server.c:1073,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/server.c:1084,1
    - Dst: http_escape_string
      Src: /src/gnupg/dirmngr/server.c:1097,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/server.c:1100,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:1111,1
    - Dst: dirmngr_status_printf
      Src: /src/gnupg/dirmngr/server.c:1115,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:1124,1
    - Dst: es_fopencookie
      Src: /src/gnupg/dirmngr/server.c:1132,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:1134,1
    - Dst: ks_action_fetch
      Src: /src/gnupg/dirmngr/server.c:1145,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/server.c:1146,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/server.c:1151,1
    - Dst: domaininfo_set_wkd_supported
      Src: /src/gnupg/dirmngr/server.c:1154,1
    - Dst: domaininfo_set_no_name
      Src: /src/gnupg/dirmngr/server.c:1159,1
    - Dst: domaininfo_set_wkd_not_found
      Src: /src/gnupg/dirmngr/server.c:1166,1
    - Dst: workqueue_add_task
      Src: /src/gnupg/dirmngr/server.c:1167,1
    - Dst: domaininfo_set_wkd_not_supported
      Src: /src/gnupg/dirmngr/server.c:1171,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:1182,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:1183,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:1184,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:1185,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 150
    argCount: 3
    argNames:
    - ctrl
    - ctx
    - line
    argTypes:
    - ctrl_t
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 916
    functionDepth: 4
    functionLinenumber: 916
    functionLinenumberEnd: 1187
    functionName: proc_wkd_get
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - es_fopencookie
    - domaininfo_is_wkd_not_supported
    - strlen
    - gcry_md_hash_buffer
    - http_escape_string
    - ascii_strcasecmp
    - has_option
    - free_dns_addrinfo
    - domaininfo_set_wkd_not_supported
    - ks_action_fetch
    - domaininfo_set_wkd_supported
    - zb32_encode
    - set_error
    - log_error
    - domaininfo_set_wkd_not_found
    - get_dns_srv
    - skip_options
    - is_valid_domain_name
    - dirmngr_status_printf
    - domaininfo_set_no_name
    - log_debug
    - gpg_error_from_syserror
    - xtrystrdup
    - strchr
    - gpg_error
    - xfree
    - mailbox_from_userid
    - workqueue_add_task
    - snprintf
    - resolve_dns_name
    - es_fclose
    - strconcat
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t proc_wkd_get (ctrl_t ctrl, assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:1198,1
    - Dst: proc_wkd_get
      Src: /src/gnupg/dirmngr/server.c:1201,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1195
    functionDepth: 5
    functionLinenumber: 1195
    functionLinenumberEnd: 1204
    functionName: cmd_wkd_get
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - proc_wkd_get
    - leave_cmd
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_wkd_get (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/server.c:1217,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:1219,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:1219,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:1219,1
    - Dst: proc_wkd_get
      Src: /src/gnupg/dirmngr/server.c:1222,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctrl
    - domain
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1209
    functionDepth: 5
    functionLinenumber: 1209
    functionLinenumberEnd: 1227
    functionName: task_check_wkd_support
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - proc_wkd_get
    - strconcat
    - gpg_strerror
    - xfree
    linkageType: ''
    returnType: char
    signature: 'char *

      task_check_wkd_support (ctrl_t ctrl, const char *domain)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:1243,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:1248,1
    - Dst: skip_options
      Src: /src/gnupg/dirmngr/server.c:1249,1
    - Dst: spacep
      Src: /src/gnupg/dirmngr/server.c:1250,1
    - Dst: ldapserver_list_free
      Src: /src/gnupg/dirmngr/server.c:1256,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:1262,1
    - Dst: ldapserver_iter_begin
      Src: /src/gnupg/dirmngr/server.c:1271,1
    - Dst: ldapserver_iter_end_p
      Src: /src/gnupg/dirmngr/server.c:1272,1
    - Dst: ldapserver_iter_next
      Src: /src/gnupg/dirmngr/server.c:1273,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/server.c:1277,1
    - Dst: xtryasprintf
      Src: /src/gnupg/dirmngr/server.c:1281,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:1291,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:1291,1
    - Dst: dirmngr_status
      Src: /src/gnupg/dirmngr/server.c:1292,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:1293,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:1295,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/server.c:1299,1
    - Dst: ldapserver_parse_one
      Src: /src/gnupg/dirmngr/server.c:1302,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:1304,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:1304,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:1310,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:1313,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:1313,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1239
    functionDepth: 2
    functionLinenumber: 1239
    functionLinenumberEnd: 1315
    functionName: cmd_ldapserver
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - ldapserver_iter_begin
    - leave_cmd
    - ldapserver_iter_next
    - gpg_error_from_syserror
    - snprintf
    - ldapserver_parse_one
    - spacep
    - ldapserver_list_free
    - skip_options
    - ldapserver_iter_end_p
    - xtryasprintf
    - xfree
    - has_option
    - gpg_error
    - dirmngr_status
    - strncmp
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_ldapserver (assuan_context_t ctx, char *line)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:1345,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:1353,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:1354,1
    - Dst: skip_options
      Src: /src/gnupg/dirmngr/server.c:1355,1
    - Dst: xstrdup
      Src: /src/gnupg/dirmngr/server.c:1360,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/server.c:1362,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:1365,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:1366,1
    - Dst: PARM_ERROR
      Src: /src/gnupg/dirmngr/server.c:1366,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:1366,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/server.c:1369,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:1371,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:1372,1
    - Dst: PARM_ERROR
      Src: /src/gnupg/dirmngr/server.c:1372,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/server.c:1375,1
    - Dst: spacep
      Src: /src/gnupg/dirmngr/server.c:1376,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/server.c:1380,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/server.c:1383,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:1385,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:1386,1
    - Dst: PARM_ERROR
      Src: /src/gnupg/dirmngr/server.c:1386,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:1403,1
    - Dst: ocsp_isvalid
      Src: /src/gnupg/dirmngr/server.c:1405,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/server.c:1408,1
    - Dst: dirmngr_status_printf
      Src: /src/gnupg/dirmngr/server.c:1409,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/server.c:1412,1
    - Dst: gpg_err_source
      Src: /src/gnupg/dirmngr/server.c:1413,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/server.c:1417,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:1423,1
    - Dst: fakecrl_isvalid
      Src: /src/gnupg/dirmngr/server.c:1424,1
    - Dst: crl_cache_isvalid
      Src: /src/gnupg/dirmngr/server.c:1430,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:1438,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:1442,1
    - Dst: inquire_cert_and_load_crl
      Src: /src/gnupg/dirmngr/server.c:1443,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:1450,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:1453,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/server.c:1456,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:1460,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:1461,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 75
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1342
    functionDepth: 2
    functionLinenumber: 1342
    functionLinenumberEnd: 1462
    functionName: cmd_isvalid
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - strlen
    - PARM_ERROR
    - inquire_cert_and_load_crl
    - has_option
    - xstrdup
    - gpg_err_source
    - assuan_get_pointer
    - leave_cmd
    - _
    - skip_options
    - log_info
    - fakecrl_isvalid
    - dirmngr_status_printf
    - spacep
    - strchr
    - gpg_error
    - xfree
    - ocsp_isvalid
    - log_fatal
    - gpg_err_code
    - crl_cache_isvalid
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_isvalid (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/dirmngr/server.c:1485,1
    - Dst: hexdigitp
      Src: /src/gnupg/dirmngr/server.c:1485,1
    - Dst: xtoi_2
      Src: /src/gnupg/dirmngr/server.c:1489,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - line
    - fpr
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1498
    functionName: get_fingerprint_from_line
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - xtoi_2
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      get_fingerprint_from_line (const char *line, unsigned char *fpr)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:1525,1
    - Dst: get_fingerprint_from_line
      Src: /src/gnupg/dirmngr/server.c:1530,1
    - Dst: get_cert_byfpr
      Src: /src/gnupg/dirmngr/server.c:1531,1
    - Dst: assuan_inquire
      Src: /src/gnupg/dirmngr/server.c:1540,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:1544,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:1544,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:1544,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:1549,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/dirmngr/server.c:1552,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/dirmngr/server.c:1554,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:1556,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/server.c:1561,1
    - Dst: crl_cache_cert_isvalid
      Src: /src/gnupg/dirmngr/server.c:1563,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/server.c:1564,1
    - Dst: crl_cache_reload_crl
      Src: /src/gnupg/dirmngr/server.c:1566,1
    - Dst: crl_cache_cert_isvalid
      Src: /src/gnupg/dirmngr/server.c:1568,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/server.c:1572,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:1573,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1522
    functionDepth: 3
    functionLinenumber: 1522
    functionLinenumberEnd: 1574
    functionName: cmd_checkcrl
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - crl_cache_cert_isvalid
    - leave_cmd
    - ksba_cert_init_from_mem
    - log_error
    - log_assert
    - crl_cache_reload_crl
    - assuan_inquire
    - _
    - gpg_error
    - get_cert_byfpr
    - gpg_strerror
    - xfree
    - get_fingerprint_from_line
    - gpg_err_code
    - ksba_cert_release
    - ksba_cert_new
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_checkcrl (assuan_context_t ctx, char *line)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:1607,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:1615,1
    - Dst: skip_options
      Src: /src/gnupg/dirmngr/server.c:1616,1
    - Dst: get_fingerprint_from_line
      Src: /src/gnupg/dirmngr/server.c:1618,1
    - Dst: get_cert_byfpr
      Src: /src/gnupg/dirmngr/server.c:1619,1
    - Dst: assuan_inquire
      Src: /src/gnupg/dirmngr/server.c:1628,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:1632,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:1632,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:1632,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:1637,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/dirmngr/server.c:1640,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/dirmngr/server.c:1642,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:1644,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/server.c:1649,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:1652,1
    - Dst: ocsp_isvalid
      Src: /src/gnupg/dirmngr/server.c:1654,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/server.c:1657,1
    - Dst: dirmngr_status_printf
      Src: /src/gnupg/dirmngr/server.c:1658,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/server.c:1663,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:1664,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1604
    functionDepth: 3
    functionLinenumber: 1604
    functionLinenumberEnd: 1665
    functionName: cmd_checkocsp
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - log_assert
    - assuan_inquire
    - has_option
    - ksba_cert_new
    - assuan_get_pointer
    - leave_cmd
    - ksba_cert_init_from_mem
    - log_error
    - _
    - skip_options
    - get_cert_byfpr
    - get_fingerprint_from_line
    - dirmngr_status_printf
    - ksba_cert_release
    - gpg_error
    - gpg_strerror
    - xfree
    - ocsp_isvalid
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_checkocsp (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:1672,1
    - Dst: fetch_cert_by_url
      Src: /src/gnupg/dirmngr/server.c:1678,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:1681,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:1681,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:1681,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/server.c:1686,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/server.c:1688,1
    - Dst: assuan_write_line
      Src: /src/gnupg/dirmngr/server.c:1690,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:1693,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:1693,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:1693,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - url
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1700
    functionName: lookup_cert_by_url
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - log_error
    - fetch_cert_by_url
    - assuan_write_line
    - _
    - gpg_strerror
    - assuan_get_pointer
    linkageType: ''
    returnType: int
    signature: int lookup_cert_by_url (assuan_context_t ctx, const char *url)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/dirmngr/server.c:1712,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:1714,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/server.c:1717,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/server.c:1719,1
    - Dst: assuan_write_line
      Src: /src/gnupg/dirmngr/server.c:1721,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:1724,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:1724,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:1724,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - opaque
    - cert
    argTypes:
    - void*
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1704
    functionDepth: 1
    functionLinenumber: 1704
    functionLinenumberEnd: 1726
    functionName: return_one_cert
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - log_error
    - assuan_write_line
    - ksba_cert_get_image
    - _
    - gpg_error
    - gpg_strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t return_one_cert (void *opaque, ksba_cert_t cert)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:1742,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/server.c:1760,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/server.c:1760,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/server.c:1763,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/server.c:1766,1
    - Dst: strcpy_escaped_plus
      Src: /src/gnupg/dirmngr/server.c:1767,1
    - Dst: get_certs_bypattern
      Src: /src/gnupg/dirmngr/server.c:1781,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/server.c:1787,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/server.c:1788,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/server.c:1794,1
    - Dst: ldapserver_iter_begin
      Src: /src/gnupg/dirmngr/server.c:1808,1
    - Dst: ldapserver_iter_end_p
      Src: /src/gnupg/dirmngr/server.c:1809,1
    - Dst: ldapserver_iter_next
      Src: /src/gnupg/dirmngr/server.c:1811,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/server.c:1816,1
    - Dst: start_cert_fetch
      Src: /src/gnupg/dirmngr/server.c:1821,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/server.c:1822,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/server.c:1825,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:1832,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:1832,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:1832,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:1839,1
    - Dst: fetch_next_cert
      Src: /src/gnupg/dirmngr/server.c:1840,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/server.c:1841,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/server.c:1847,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/server.c:1853,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:1860,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:1865,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:1865,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:1866,1
    - Dst: end_cert_fetch
      Src: /src/gnupg/dirmngr/server.c:1867,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/server.c:1872,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/server.c:1877,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/server.c:1879,1
    - Dst: assuan_write_line
      Src: /src/gnupg/dirmngr/server.c:1881,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:1884,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:1884,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:1884,1
    - Dst: end_cert_fetch
      Src: /src/gnupg/dirmngr/server.c:1885,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/server.c:1892,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:1892,1
    - Dst: end_cert_fetch
      Src: /src/gnupg/dirmngr/server.c:1898,1
    - Dst: sprintf
      Src: /src/gnupg/dirmngr/server.c:1907,1
    - Dst: assuan_write_status
      Src: /src/gnupg/dirmngr/server.c:1908,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:1912,1
    - Dst: free_strlist
      Src: /src/gnupg/dirmngr/server.c:1915,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 120
    argCount: 4
    argNames:
    - ctx
    - line
    - single
    - cache_only
    argTypes:
    - assuan_context_t
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1731
    functionDepth: 6
    functionLinenumber: 1731
    functionLinenumberEnd: 1917
    functionName: lookup_cert_by_pattern
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - ldapserver_iter_begin
    - strlen
    - xtrymalloc
    - assuan_get_pointer
    - strcpy_escaped_plus
    - start_cert_fetch
    - ldapserver_iter_next
    - log_error
    - assuan_write_line
    - assuan_write_status
    - fetch_next_cert
    - get_certs_bypattern
    - _
    - gpg_error_from_errno
    - ldapserver_iter_end_p
    - log_info
    - free_strlist
    - log_debug
    - sprintf
    - gpg_error
    - memset
    - gpg_strerror
    - xfree
    - assuan_send_data
    - gpg_err_code
    - end_cert_fetch
    linkageType: ''
    returnType: int
    signature: "int lookup_cert_by_pattern (assuan_context_t ctx, char *line,\n                        int
      single, int cache_only)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: has_leading_option
      Src: /src/gnupg/dirmngr/server.c:1945,1
    - Dst: has_leading_option
      Src: /src/gnupg/dirmngr/server.c:1946,1
    - Dst: has_leading_option
      Src: /src/gnupg/dirmngr/server.c:1947,1
    - Dst: skip_options
      Src: /src/gnupg/dirmngr/server.c:1948,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:1951,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:1953,1
    - Dst: lookup_cert_by_url
      Src: /src/gnupg/dirmngr/server.c:1955,1
    - Dst: lookup_cert_by_pattern
      Src: /src/gnupg/dirmngr/server.c:1957,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:1959,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 1939
    functionDepth: 7
    functionLinenumber: 1939
    functionLinenumberEnd: 1960
    functionName: cmd_lookup
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - has_leading_option
    - lookup_cert_by_pattern
    - skip_options
    - gpg_error
    - lookup_cert_by_url
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_lookup (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:1978,1
    - Dst: has_leading_option
      Src: /src/gnupg/dirmngr/server.c:1980,1
    - Dst: skip_options
      Src: /src/gnupg/dirmngr/server.c:1982,1
    - Dst: crl_fetch
      Src: /src/gnupg/dirmngr/server.c:1988,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:1990,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:1990,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:1991,1
    - Dst: crl_cache_insert
      Src: /src/gnupg/dirmngr/server.c:1994,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:1996,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:1996,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:1997,1
    - Dst: crl_close_reader
      Src: /src/gnupg/dirmngr/server.c:1998,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/server.c:2005,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/server.c:2005,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:2007,1
    - Dst: strcpy_escaped_plus
      Src: /src/gnupg/dirmngr/server.c:2010,1
    - Dst: crl_cache_load
      Src: /src/gnupg/dirmngr/server.c:2011,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:2012,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:2016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 1975
    functionDepth: 1
    functionLinenumber: 1975
    functionLinenumberEnd: 2017
    functionName: cmd_loadcrl
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - strcpy_escaped_plus
    - crl_cache_insert
    - xtrymalloc
    - leave_cmd
    - log_error
    - strlen
    - gpg_error_from_syserror
    - has_leading_option
    - crl_cache_load
    - _
    - skip_options
    - gpg_strerror
    - crl_fetch
    - xfree
    - crl_close_reader
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_loadcrl (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_fopencookie
      Src: /src/gnupg/dirmngr/server.c:2035,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:2037,1
    - Dst: crl_cache_list
      Src: /src/gnupg/dirmngr/server.c:2040,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/server.c:2041,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:2043,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2027
    functionDepth: 1
    functionLinenumber: 2027
    functionLinenumberEnd: 2044
    functionName: cmd_listcrls
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - es_fopencookie
    - leave_cmd
    - set_error
    - es_fclose
    - crl_cache_list
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_listcrls (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:2063,1
    - Dst: assuan_inquire
      Src: /src/gnupg/dirmngr/server.c:2071,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:2075,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:2075,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:2075,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:2080,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/dirmngr/server.c:2083,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/dirmngr/server.c:2085,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:2087,1
    - Dst: cache_cert
      Src: /src/gnupg/dirmngr/server.c:2091,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/server.c:2094,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:2095,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2060
    functionDepth: 5
    functionLinenumber: 2060
    functionLinenumberEnd: 2096
    functionName: cmd_cachecert
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - cache_cert
    - leave_cmd
    - ksba_cert_init_from_mem
    - log_error
    - assuan_inquire
    - _
    - gpg_error
    - ksba_cert_release
    - gpg_strerror
    - xfree
    - ksba_cert_new
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_cachecert (assuan_context_t ctx, char *line)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:2125,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2133,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2134,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2135,1
    - Dst: skip_options
      Src: /src/gnupg/dirmngr/server.c:2136,1
    - Dst: assuan_inquire
      Src: /src/gnupg/dirmngr/server.c:2139,1
    - Dst: assuan_inquire
      Src: /src/gnupg/dirmngr/server.c:2142,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:2146,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:2146,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:2146,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:2151,1
    - Dst: es_fopenmem_init
      Src: /src/gnupg/dirmngr/server.c:2156,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:2158,1
    - Dst: read_certlist_from_stream
      Src: /src/gnupg/dirmngr/server.c:2161,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/server.c:2162,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:2164,1
    - Dst: ksba_cert_ref
      Src: /src/gnupg/dirmngr/server.c:2169,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/dirmngr/server.c:2175,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/dirmngr/server.c:2177,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:2179,1
    - Dst: cert_compute_fpr
      Src: /src/gnupg/dirmngr/server.c:2193,1
    - Dst: get_cert_byfpr
      Src: /src/gnupg/dirmngr/server.c:2194,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/server.c:2197,1
    - Dst: cache_cert
      Src: /src/gnupg/dirmngr/server.c:2209,1
    - Dst: validate_cert_chain
      Src: /src/gnupg/dirmngr/server.c:2212,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/server.c:2220,1
    - Dst: release_certlist
      Src: /src/gnupg/dirmngr/server.c:2221,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:2222,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2122
    functionDepth: 5
    functionLinenumber: 2122
    functionLinenumberEnd: 2223
    functionName: cmd_validate
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - validate_cert_chain
    - assuan_inquire
    - has_option
    - release_certlist
    - ksba_cert_new
    - assuan_get_pointer
    - cache_cert
    - leave_cmd
    - ksba_cert_init_from_mem
    - log_error
    - read_certlist_from_stream
    - _
    - skip_options
    - get_cert_byfpr
    - es_fopenmem_init
    - ksba_cert_release
    - gpg_error_from_syserror
    - gpg_error
    - gpg_strerror
    - xfree
    - es_fclose
    - cert_compute_fpr
    - ksba_cert_ref
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_validate (assuan_context_t ctx, char *line)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:2244,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:2245,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:2247,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:2249,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:2251,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:2253,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:2254,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:2256,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:2258,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:2260,1
    - Dst: ks_action_parse_uri
      Src: /src/gnupg/dirmngr/server.c:2263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - uri
    - r_item
    argTypes:
    - char*
    - uri_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2229
    functionDepth: 1
    functionLinenumber: 2229
    functionLinenumberEnd: 2264
    functionName: make_keyserver_item
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ks_action_parse_uri
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t make_keyserver_item (const char *uri, uri_item_t *r_item)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:2289,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:2298,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:2298,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:2299,1
    - Dst: make_keyserver_item
      Src: /src/gnupg/dirmngr/server.c:2304,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:2321,1
    - Dst: dirmngr_never_use_tor_p
      Src: /src/gnupg/dirmngr/server.c:2331,1
    - Dst: is_tor_running
      Src: /src/gnupg/dirmngr/server.c:2331,1
    - Dst: dirmngr_never_use_tor_p
      Src: /src/gnupg/dirmngr/server.c:2342,1
    - Dst: is_tor_running
      Src: /src/gnupg/dirmngr/server.c:2342,1
    - Dst: release_uri_item_list
      Src: /src/gnupg/dirmngr/server.c:2364,1
    - Dst: release_uri_item_list
      Src: /src/gnupg/dirmngr/server.c:2365,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 57
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2271
    functionDepth: 2
    functionLinenumber: 2271
    functionLinenumberEnd: 2368
    functionName: ensure_keyserver
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - release_uri_item_list
    - dirmngr_never_use_tor_p
    - make_keyserver_item
    - strcmp
    - gpg_error
    - is_tor_running
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ensure_keyserver (ctrl_t ctrl)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:2391,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2397,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2398,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2399,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2400,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2401,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2402,1
    - Dst: skip_options
      Src: /src/gnupg/dirmngr/server.c:2403,1
    - Dst: ks_action_help
      Src: /src/gnupg/dirmngr/server.c:2408,1
    - Dst: ensure_keyserver
      Src: /src/gnupg/dirmngr/server.c:2414,1
    - Dst: assuan_set_error
      Src: /src/gnupg/dirmngr/server.c:2417,1
    - Dst: ks_action_resolve
      Src: /src/gnupg/dirmngr/server.c:2421,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:2428,1
    - Dst: check_owner_permission
      Src: /src/gnupg/dirmngr/server.c:2433,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:2441,1
    - Dst: ks_hkp_mark_host
      Src: /src/gnupg/dirmngr/server.c:2445,1
    - Dst: ks_hkp_print_hosttable
      Src: /src/gnupg/dirmngr/server.c:2452,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:2461,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:2461,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:2462,1
    - Dst: make_keyserver_item
      Src: /src/gnupg/dirmngr/server.c:2465,1
    - Dst: release_ctrl_keyservers
      Src: /src/gnupg/dirmngr/server.c:2470,1
    - Dst: ensure_keyserver
      Src: /src/gnupg/dirmngr/server.c:2483,1
    - Dst: assuan_set_error
      Src: /src/gnupg/dirmngr/server.c:2486,1
    - Dst: dirmngr_status
      Src: /src/gnupg/dirmngr/server.c:2493,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/server.c:2498,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/server.c:2499,1
    - Dst: count_colons
      Src: /src/gnupg/dirmngr/server.c:2500,1
    - Dst: dirmngr_status
      Src: /src/gnupg/dirmngr/server.c:2501,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:2509,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 88
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2510
      start: 2388
    functionDepth: 3
    functionLinenumber: 2388
    functionLinenumberEnd: 2510
    functionName: cmd_keyserver
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - ks_action_help
    - leave_cmd
    - set_error
    - ks_hkp_mark_host
    - make_keyserver_item
    - ensure_keyserver
    - assuan_set_error
    - ks_hkp_print_hosttable
    - strcmp
    - release_ctrl_keyservers
    - skip_options
    - count_colons
    - has_option
    - check_owner_permission
    - dirmngr_status
    - ks_action_resolve
    - strncmp
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_keyserver (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:2522,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2527,1
    - Dst: skip_options
      Src: /src/gnupg/dirmngr/server.c:2529,1
    - Dst: percentplus_line_to_strlist
      Src: /src/gnupg/dirmngr/server.c:2531,1
    - Dst: ensure_keyserver
      Src: /src/gnupg/dirmngr/server.c:2535,1
    - Dst: es_fopencookie
      Src: /src/gnupg/dirmngr/server.c:2540,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:2542,1
    - Dst: ks_action_search
      Src: /src/gnupg/dirmngr/server.c:2545,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/server.c:2547,1
    - Dst: free_strlist
      Src: /src/gnupg/dirmngr/server.c:2551,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:2552,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2553
      start: 2519
    functionDepth: 3
    functionLinenumber: 2519
    functionLinenumberEnd: 2553
    functionName: cmd_ks_search
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - es_fopencookie
    - leave_cmd
    - set_error
    - ks_action_search
    - es_fclose
    - ensure_keyserver
    - skip_options
    - percentplus_line_to_strlist
    - has_option
    - free_strlist
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_ks_search (assuan_context_t ctx, char *line)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:2569,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2579,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2581,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2583,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2585,1
    - Dst: option_value
      Src: /src/gnupg/dirmngr/server.c:2587,1
    - Dst: string2isotime
      Src: /src/gnupg/dirmngr/server.c:2588,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:2590,1
    - Dst: skip_options
      Src: /src/gnupg/dirmngr/server.c:2593,1
    - Dst: percentplus_line_to_strlist
      Src: /src/gnupg/dirmngr/server.c:2599,1
    - Dst: PARM_ERROR
      Src: /src/gnupg/dirmngr/server.c:2605,1
    - Dst: PARM_ERROR
      Src: /src/gnupg/dirmngr/server.c:2613,1
    - Dst: add_to_strlist_try
      Src: /src/gnupg/dirmngr/server.c:2620,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:2622,1
    - Dst: PARM_ERROR
      Src: /src/gnupg/dirmngr/server.c:2632,1
    - Dst: add_to_strlist_try
      Src: /src/gnupg/dirmngr/server.c:2636,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:2638,1
    - Dst: ensure_keyserver
      Src: /src/gnupg/dirmngr/server.c:2644,1
    - Dst: es_fopencookie
      Src: /src/gnupg/dirmngr/server.c:2649,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:2651,1
    - Dst: ks_action_get
      Src: /src/gnupg/dirmngr/server.c:2657,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/server.c:2659,1
    - Dst: free_strlist
      Src: /src/gnupg/dirmngr/server.c:2664,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:2665,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 67
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2666
      start: 2566
    functionDepth: 3
    functionLinenumber: 2566
    functionLinenumberEnd: 2666
    functionName: cmd_ks_get
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - es_fopencookie
    - leave_cmd
    - set_error
    - PARM_ERROR
    - gpg_error_from_syserror
    - ks_action_get
    - es_fclose
    - ensure_keyserver
    - string2isotime
    - skip_options
    - option_value
    - has_option
    - percentplus_line_to_strlist
    - add_to_strlist_try
    - free_strlist
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_ks_get (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:2676,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2680,1
    - Dst: skip_options
      Src: /src/gnupg/dirmngr/server.c:2682,1
    - Dst: es_fopencookie
      Src: /src/gnupg/dirmngr/server.c:2685,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:2687,1
    - Dst: ks_action_fetch
      Src: /src/gnupg/dirmngr/server.c:2693,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/server.c:2694,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:2698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2673
    functionDepth: 1
    functionLinenumber: 2673
    functionLinenumberEnd: 2699
    functionName: cmd_ks_fetch
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - es_fopencookie
    - leave_cmd
    - set_error
    - es_fclose
    - skip_options
    - has_option
    - ks_action_fetch
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_ks_fetch (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:2723,1
    - Dst: skip_options
      Src: /src/gnupg/dirmngr/server.c:2731,1
    - Dst: ensure_keyserver
      Src: /src/gnupg/dirmngr/server.c:2733,1
    - Dst: assuan_inquire
      Src: /src/gnupg/dirmngr/server.c:2738,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:2742,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:2742,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:2742,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:2748,1
    - Dst: assuan_inquire
      Src: /src/gnupg/dirmngr/server.c:2753,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:2757,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:2757,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:2757,1
    - Dst: ks_action_put
      Src: /src/gnupg/dirmngr/server.c:2762,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:2766,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:2767,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:2768,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2769
      start: 2720
    functionDepth: 3
    functionLinenumber: 2720
    functionLinenumberEnd: 2769
    functionName: cmd_ks_put
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - log_error
    - assuan_inquire
    - ensure_keyserver
    - _
    - skip_options
    - gpg_error
    - gpg_strerror
    - ks_action_put
    - xfree
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_ks_put (assuan_context_t ctx, char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:2780,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2785,1
    - Dst: skip_options
      Src: /src/gnupg/dirmngr/server.c:2787,1
    - Dst: percentplus_line_to_strlist
      Src: /src/gnupg/dirmngr/server.c:2789,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:2795,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:2801,1
    - Dst: ensure_keyserver
      Src: /src/gnupg/dirmngr/server.c:2805,1
    - Dst: ks_action_del
      Src: /src/gnupg/dirmngr/server.c:2809,1
    - Dst: free_strlist
      Src: /src/gnupg/dirmngr/server.c:2812,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:2813,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2814
      start: 2777
    functionDepth: 3
    functionLinenumber: 2777
    functionLinenumberEnd: 2814
    functionName: cmd_ks_del
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - set_error
    - ensure_keyserver
    - skip_options
    - percentplus_line_to_strlist
    - has_option
    - ks_action_del
    - free_strlist
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_ks_del (assuan_context_t ctx, char *line)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:2838,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2852,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2854,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2856,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2858,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2860,1
    - Dst: option_value
      Src: /src/gnupg/dirmngr/server.c:2862,1
    - Dst: string2isotime
      Src: /src/gnupg/dirmngr/server.c:2863,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:2865,1
    - Dst: get_option_value
      Src: /src/gnupg/dirmngr/server.c:2868,1
    - Dst: strtokenize
      Src: /src/gnupg/dirmngr/server.c:2873,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:2876,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:2877,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:2880,1
    - Dst: skip_options
      Src: /src/gnupg/dirmngr/server.c:2882,1
    - Dst: ks_ldap_help_variables
      Src: /src/gnupg/dirmngr/server.c:2888,1
    - Dst: PARM_ERROR
      Src: /src/gnupg/dirmngr/server.c:2898,1
    - Dst: es_fopencookie
      Src: /src/gnupg/dirmngr/server.c:2904,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:2907,1
    - Dst: ks_action_query
      Src: /src/gnupg/dirmngr/server.c:2915,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/server.c:2920,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:2921,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:2923,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2924
      start: 2835
    functionDepth: 2
    functionLinenumber: 2835
    functionLinenumberEnd: 2924
    functionName: cmd_ad_query
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - es_fopencookie
    - get_option_value
    - ks_ldap_help_variables
    - leave_cmd
    - set_error
    - gpg_error_from_syserror
    - PARM_ERROR
    - es_fclose
    - ks_action_query
    - strtokenize
    - string2isotime
    - skip_options
    - xfree
    - option_value
    - has_option
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_ad_query (assuan_context_t ctx, char *line)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:2938,1
    - Dst: has_option_name
      Src: /src/gnupg/dirmngr/server.c:2945,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2947,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2949,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2951,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:2955,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:2962,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:2966,1
    - Dst: skip_options
      Src: /src/gnupg/dirmngr/server.c:2971,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:2978,1
    - Dst: parse_hexstring
      Src: /src/gnupg/dirmngr/server.c:2984,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:2993,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:2999,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:3016,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:3022,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:3027,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 60
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3028
      start: 2934
    functionDepth: 1
    functionLinenumber: 2934
    functionLinenumberEnd: 3028
    functionName: cmd_timestamp
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - has_option_name
    - set_error
    - skip_options
    - gpg_error
    - has_option
    - assuan_get_pointer
    - parse_hexstring
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_timestamp (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:3039,1
    - Dst: dirmngr_load_swdb
      Src: /src/gnupg/dirmngr/server.c:3042,1
    - Dst: has_option
      Src: /src/gnupg/dirmngr/server.c:3042,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:3044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3045
      start: 3036
    functionDepth: 1
    functionLinenumber: 3036
    functionLinenumberEnd: 3045
    functionName: cmd_loadswdb
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - has_option
    - dirmngr_load_swdb
    - leave_cmd
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_loadswdb (assuan_context_t ctx, char *line)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:3067,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:3071,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/server.c:3074,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/server.c:3074,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:3076,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/server.c:3078,1
    - Dst: getpid
      Src: /src/gnupg/dirmngr/server.c:3078,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/server.c:3079,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/server.c:3079,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:3081,1
    - Dst: dirmngr_get_current_socket_name
      Src: /src/gnupg/dirmngr/server.c:3083,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/server.c:3084,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/server.c:3084,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:3086,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/server.c:3088,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/server.c:3089,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/server.c:3089,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:3091,1
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/server.c:3095,1
    - Dst: is_tor_running
      Src: /src/gnupg/dirmngr/server.c:3098,1
    - Dst: assuan_write_status
      Src: /src/gnupg/dirmngr/server.c:3099,1
    - Dst: assuan_set_okay_line
      Src: /src/gnupg/dirmngr/server.c:3103,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:3107,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:3109,1
    - Dst: standard_resolver_p
      Src: /src/gnupg/dirmngr/server.c:3111,1
    - Dst: assuan_set_okay_line
      Src: /src/gnupg/dirmngr/server.c:3112,1
    - Dst: assuan_set_okay_line
      Src: /src/gnupg/dirmngr/server.c:3117,1
    - Dst: recursive_resolver_p
      Src: /src/gnupg/dirmngr/server.c:3117,1
    - Dst: assuan_set_okay_line
      Src: /src/gnupg/dirmngr/server.c:3121,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:3126,1
    - Dst: workqueue_dump_queue
      Src: /src/gnupg/dirmngr/server.c:3128,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:3131,1
    - Dst: cert_cache_print_stats
      Src: /src/gnupg/dirmngr/server.c:3133,1
    - Dst: domaininfo_print_stats
      Src: /src/gnupg/dirmngr/server.c:3134,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/server.c:3137,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:3144,1
    - Dst: getenv
      Src: /src/gnupg/dirmngr/server.c:3147,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:3150,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/server.c:3153,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/server.c:3153,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/server.c:3157,1
    - Dst: w32_get_user_sid
      Src: /src/gnupg/dirmngr/server.c:3162,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:3165,1
    - Dst: ConvertSidToStringSid
      Src: /src/gnupg/dirmngr/server.c:3169,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:3171,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/server.c:3174,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/server.c:3174,1
    - Dst: LocalFree
      Src: /src/gnupg/dirmngr/server.c:3175,1
    - Dst: set_error
      Src: /src/gnupg/dirmngr/server.c:3179,1
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:3182,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 74
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3183
      start: 3064
    functionDepth: 3
    functionLinenumber: 3064
    functionLinenumberEnd: 3183
    functionName: cmd_getinfo
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - strlen
    - LocalFree
    - assuan_get_pointer
    - standard_resolver_p
    - leave_cmd
    - assuan_set_okay_line
    - assuan_write_status
    - set_error
    - recursive_resolver_p
    - workqueue_dump_queue
    - dirmngr_get_current_socket_name
    - strncmp
    - ConvertSidToStringSid
    - cert_cache_print_stats
    - strcmp
    - gpg_error
    - getpid
    - assuan_send_data
    - snprintf
    - getenv
    - domaininfo_print_stats
    - dirmngr_use_tor
    - w32_get_user_sid
    - is_tor_running
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_getinfo (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:3195,1
    - Dst: assuan_set_flag
      Src: /src/gnupg/dirmngr/server.c:3200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3202
      start: 3192
    functionDepth: 1
    functionLinenumber: 3192
    functionLinenumberEnd: 3202
    functionName: cmd_killdirmngr
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - assuan_set_flag
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_killdirmngr (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dirmngr_sighup_action
      Src: /src/gnupg/dirmngr/server.c:3216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3210
    functionDepth: 1
    functionLinenumber: 3210
    functionLinenumberEnd: 3218
    functionName: cmd_reloaddirmngr
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - dirmngr_sighup_action
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_reloaddirmngr (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leave_cmd
      Src: /src/gnupg/dirmngr/server.c:3231,1
    - Dst: crl_cache_flush
      Src: /src/gnupg/dirmngr/server.c:3231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3232
      start: 3226
    functionDepth: 1
    functionLinenumber: 3226
    functionLinenumberEnd: 3232
    functionName: cmd_flushcrls
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - leave_cmd
    - crl_cache_flush
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_flushcrls (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_register_command
      Src: /src/gnupg/dirmngr/server.c:3275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3281
      start: 3237
    functionDepth: 1
    functionLinenumber: 3237
    functionLinenumberEnd: 3281
    functionName: register_commands
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 7
    functionsReached:
    - assuan_register_command
    linkageType: ''
    returnType: int
    signature: int register_commands (assuan_context_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:3288,1
    - Dst: ldapserver_list_free
      Src: /src/gnupg/dirmngr/server.c:3292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3296
      start: 3285
    functionDepth: 1
    functionLinenumber: 3285
    functionLinenumberEnd: 3296
    functionName: reset_notify
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 7
    functionsReached:
    - ldapserver_list_free
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t reset_notify (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/dirmngr/server.c:3307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - cat
    - msg
    argTypes:
    - assuan_context_t
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3320
      start: 3303
    functionDepth: 1
    functionLinenumber: 3303
    functionLinenumberEnd: 3320
    functionName: dirmngr_assuan_log_monitor
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - assuan_get_pointer
    linkageType: ''
    returnType: int
    signature: "int dirmngr_assuan_log_monitor (assuan_context_t ctx, unsigned int
      cat,\n                            const char *msg)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/server.c:3335,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/server.c:3337,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:3340,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:3340,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/server.c:3341,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:3342,1
    - Dst: dirmngr_init_default_ctrl
      Src: /src/gnupg/dirmngr/server.c:3346,1
    - Dst: assuan_new
      Src: /src/gnupg/dirmngr/server.c:3348,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:3351,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:3351,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:3352,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/server.c:3353,1
    - Dst: assuan_fdopen
      Src: /src/gnupg/dirmngr/server.c:3360,1
    - Dst: assuan_fdopen
      Src: /src/gnupg/dirmngr/server.c:3361,1
    - Dst: assuan_init_pipe_server
      Src: /src/gnupg/dirmngr/server.c:3362,1
    - Dst: assuan_init_socket_server
      Src: /src/gnupg/dirmngr/server.c:3366,1
    - Dst: assuan_release
      Src: /src/gnupg/dirmngr/server.c:3371,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:3372,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:3372,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:3373,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/server.c:3374,1
    - Dst: register_commands
      Src: /src/gnupg/dirmngr/server.c:3377,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:3380,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:3380,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:3381,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/server.c:3382,1
    - Dst: xtryasprintf
      Src: /src/gnupg/dirmngr/server.c:3388,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/dirmngr/server.c:3392,1
    - Dst: assuan_set_pointer
      Src: /src/gnupg/dirmngr/server.c:3398,1
    - Dst: assuan_set_hello_line
      Src: /src/gnupg/dirmngr/server.c:3400,1
    - Dst: assuan_register_option_handler
      Src: /src/gnupg/dirmngr/server.c:3401,1
    - Dst: assuan_register_reset_notify
      Src: /src/gnupg/dirmngr/server.c:3402,1
    - Dst: assuan_accept
      Src: /src/gnupg/dirmngr/server.c:3408,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/server.c:3413,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:3413,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:3413,1
    - Dst: assuan_get_peercred
      Src: /src/gnupg/dirmngr/server.c:3422,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/server.c:3423,1
    - Dst: assuan_process
      Src: /src/gnupg/dirmngr/server.c:3429,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/server.c:3432,1
    - Dst: _
      Src: /src/gnupg/dirmngr/server.c:3432,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/server.c:3432,1
    - Dst: ldap_wrapper_connection_cleanup
      Src: /src/gnupg/dirmngr/server.c:3439,1
    - Dst: ldapserver_list_free
      Src: /src/gnupg/dirmngr/server.c:3441,1
    - Dst: release_ctrl_keyservers
      Src: /src/gnupg/dirmngr/server.c:3445,1
    - Dst: assuan_release
      Src: /src/gnupg/dirmngr/server.c:3448,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/server.c:3451,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/server.c:3454,1
    - Dst: ks_ldap_free_state
      Src: /src/gnupg/dirmngr/server.c:3459,1
    - Dst: release_ctrl_ocsp_certs
      Src: /src/gnupg/dirmngr/server.c:3462,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:3463,1
    - Dst: dirmngr_deinit_default_ctrl
      Src: /src/gnupg/dirmngr/server.c:3464,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/server.c:3465,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 2
    argNames:
    - fd
    - session_id
    argTypes:
    - assuan_fd_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3467
      start: 3326
    functionDepth: 5
    functionLinenumber: 3326
    functionLinenumberEnd: 3467
    functionName: start_command_handler
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 4
    functionsReached:
    - dirmngr_deinit_default_ctrl
    - gnupg_homedir
    - xtryasprintf
    - register_commands
    - assuan_get_peercred
    - release_ctrl_ocsp_certs
    - log_error
    - assuan_set_hello_line
    - _
    - release_ctrl_keyservers
    - log_info
    - ks_ldap_free_state
    - assuan_fdopen
    - assuan_new
    - assuan_register_reset_notify
    - assuan_init_socket_server
    - xfree
    - gpg_strerror
    - assuan_register_option_handler
    - xtrycalloc
    - assuan_process
    - assuan_init_pipe_server
    - dirmngr_exit
    - assuan_release
    - ldap_wrapper_connection_cleanup
    - assuan_accept
    - ldapserver_list_free
    - dirmngr_init_default_ctrl
    - assuan_set_pointer
    - strerror
    linkageType: ''
    returnType: void
    signature: void start_command_handler (assuan_fd_t fd, unsigned int session_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/dirmngr/server.c:3480,1
    - Dst: vprint_assuan_status_strings
      Src: /src/gnupg/dirmngr/server.c:3484,1
    - Dst: va_end
      Src: /src/gnupg/dirmngr/server.c:3487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctrl
    - keyword
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3489
      start: 3473
    functionDepth: 2
    functionLinenumber: 3473
    functionLinenumberEnd: 3489
    functionName: dirmngr_status
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 2
    functionsReached:
    - vprint_assuan_status_strings
    - va_end
    - va_start
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t dirmngr_status (ctrl_t ctrl, const char *keyword, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/dirmngr/server.c:3508,1
    - Dst: assuan_write_status
      Src: /src/gnupg/dirmngr/server.c:3513,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - ctrl
    - text
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3519
      start: 3493
    functionDepth: 1
    functionLinenumber: 3493
    functionLinenumberEnd: 3519
    functionName: dirmngr_status_help
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - assuan_write_status
    - DIM
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t dirmngr_status_help (ctrl_t ctrl, const char *text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/dirmngr/server.c:3532,1
    - Dst: es_vbsprintf
      Src: /src/gnupg/dirmngr/server.c:3535,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/server.c:3536,1
    - Dst: dirmngr_status_help
      Src: /src/gnupg/dirmngr/server.c:3538,1
    - Dst: es_free
      Src: /src/gnupg/dirmngr/server.c:3539,1
    - Dst: log_logv
      Src: /src/gnupg/dirmngr/server.c:3543,1
    - Dst: va_end
      Src: /src/gnupg/dirmngr/server.c:3546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ctrl
    - format
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3548
      start: 3525
    functionDepth: 2
    functionLinenumber: 3525
    functionLinenumberEnd: 3548
    functionName: dirmngr_status_helpf
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 3
    functionsReached:
    - es_vbsprintf
    - va_end
    - es_free
    - gpg_error_from_syserror
    - va_start
    - dirmngr_status_help
    - log_logv
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t dirmngr_status_helpf (ctrl_t ctrl, const char *format,
      ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/dirmngr/server.c:3564,1
    - Dst: vprint_assuan_status
      Src: /src/gnupg/dirmngr/server.c:3565,1
    - Dst: va_end
      Src: /src/gnupg/dirmngr/server.c:3566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ctrl
    - keyword
    - format
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3568
      start: 3553
    functionDepth: 2
    functionLinenumber: 3553
    functionLinenumberEnd: 3568
    functionName: dirmngr_status_printf
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 7
    functionsReached:
    - va_end
    - va_start
    - vprint_assuan_status
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t dirmngr_status_printf (ctrl_t ctrl, const char *keyword,\n
      \                      const char *format, ...)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/gnupg/dirmngr/server.c:3578,1
    - Dst: dirmngr_status
      Src: /src/gnupg/dirmngr/server.c:3588,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/server.c:3592,1
    - Dst: time
      Src: /src/gnupg/dirmngr/server.c:3594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3600
      start: 3573
    functionDepth: 3
    functionLinenumber: 3573
    functionLinenumberEnd: 3600
    functionName: dirmngr_tick
    functionSourceFile: /src/gnupg/dirmngr/server.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - dirmngr_status
    - time
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t dirmngr_tick (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - set
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: DNS_POLL2EV
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_POLL2EV(set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - set
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: DNS_EV2POLL
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_EV2POLL(set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 355
    functionName: dns_header
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_header(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: union
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DNS_PRAGMA_EXTENSION
    signature: DNS_PRAGMA_EXTENSION union
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    functionName: dns_p_calcsize
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_p_calcsize(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - P
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    functionName: dns_p_sizeof
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_p_sizeof(P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - P
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 407
    functionName: dns_p_opcode
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_p_opcode(P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 517
    functionName: dns_rr_i_save
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rr_i_save(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: dns_rr_i_rewind
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rr_i_rewind(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 519
    functionName: dns_rr_i_count
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rr_i_count(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rr
    - ','
    - P
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 524
    functionName: dns_rr_foreach_
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rr_foreach_(rr, P, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 526
    functionName: dns_rr_foreach
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rr_foreach(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 711
    functionName: DNS_OPT_INIT
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_OPT_INIT(opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - any
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 800
    functionName: DNS_ANY_INIT
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ANY_INIT(any)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1191
    functionName: DNS_TRACE_ID_C
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_TRACE_ID_C(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - te
    argTypes:
    - struct dns_trace_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1253
    functionName: dns_te_datasize
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t dns_te_datasize(const struct dns_trace_event *te)
  - 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: 1300
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1300
    functionName: DNS_PP_MIN
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_PP_MIN(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: 1301
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1301
    functionName: DNS_PP_MAX
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_PP_MAX(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - j
    - ','
    - k
    - ','
    - N
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1302
    functionName: DNS_PP_NARG_
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_PP_NARG_(a, b, c, d, e, f, g, h, i, j, k, N,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1303
    functionName: DNS_PP_NARG
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_PP_NARG(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - F
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1304
    functionName: DNS_PP_CALL
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_PP_CALL(F, ...)
  - 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: 1305
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1305
    functionName: DNS_PP_PASTE
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_PP_PASTE(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: 1306
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1306
    functionName: DNS_PP_XPASTE
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_PP_XPASTE(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1307
    functionName: DNS_PP_STRINGIFY_
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_PP_STRINGIFY_(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1308
    functionName: DNS_PP_STRINGIFY
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_PP_STRINGIFY(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1320
    functionName: DNS_PP_DEC
    functionSourceFile: /src/gnupg/dirmngr/dns.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_PP_DEC(N)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/dirmngr/loadswdb.c:54,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/loadswdb.c:55,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/loadswdb.c:58,1
    - Dst: es_read_line
      Src: /src/gnupg/dirmngr/loadswdb.c:66,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/loadswdb.c:70,1
    - Dst: split_fields
      Src: /src/gnupg/dirmngr/loadswdb.c:77,1
    - Dst: DIM
      Src: /src/gnupg/dirmngr/loadswdb.c:77,1
    - Dst: DIM
      Src: /src/gnupg/dirmngr/loadswdb.c:77,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/loadswdb.c:83,1
    - Dst: string2isotime
      Src: /src/gnupg/dirmngr/loadswdb.c:85,1
    - Dst: isotime2epoch
      Src: /src/gnupg/dirmngr/loadswdb.c:86,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/loadswdb.c:88,1
    - Dst: string2isotime
      Src: /src/gnupg/dirmngr/loadswdb.c:90,1
    - Dst: isotime2epoch
      Src: /src/gnupg/dirmngr/loadswdb.c:91,1
    - Dst: es_ferror
      Src: /src/gnupg/dirmngr/loadswdb.c:94,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/loadswdb.c:96,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/loadswdb.c:101,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/loadswdb.c:110,1
    - Dst: _
      Src: /src/gnupg/dirmngr/loadswdb.c:110,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/loadswdb.c:110,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/loadswdb.c:111,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/loadswdb.c:112,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 52
    argCount: 3
    argNames:
    - fname
    - r_filedate
    - r_verified
    argTypes:
    - char*
    - time_t*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 114
    functionName: time_of_saved_swdb
    functionSourceFile: /src/gnupg/dirmngr/loadswdb.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - split_fields
    - log_error
    - es_fclose
    - DIM
    - es_read_line
    - _
    - strcmp
    - gpg_error
    - string2isotime
    - gpg_err_code
    - es_fopen
    - es_ferror
    - gpg_strerror
    - xfree
    - isotime2epoch
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t time_of_saved_swdb (const char *fname, time_t *r_filedate,
      time_t *r_verified)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ks_http_fetch
      Src: /src/gnupg/dirmngr/loadswdb.c:129,1
    - Dst: es_fopenmem
      Src: /src/gnupg/dirmngr/loadswdb.c:136,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/loadswdb.c:139,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/loadswdb.c:140,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/loadswdb.c:140,1
    - Dst: es_read
      Src: /src/gnupg/dirmngr/loadswdb.c:146,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/loadswdb.c:148,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/loadswdb.c:149,1
    - Dst: es_fname_get
      Src: /src/gnupg/dirmngr/loadswdb.c:150,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/loadswdb.c:150,1
    - Dst: es_write
      Src: /src/gnupg/dirmngr/loadswdb.c:156,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/loadswdb.c:158,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/loadswdb.c:159,1
    - Dst: es_fname_get
      Src: /src/gnupg/dirmngr/loadswdb.c:160,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/loadswdb.c:160,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/loadswdb.c:165,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/loadswdb.c:166,1
    - Dst: es_fname_get
      Src: /src/gnupg/dirmngr/loadswdb.c:167,1
    - Dst: es_rewind
      Src: /src/gnupg/dirmngr/loadswdb.c:172,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/loadswdb.c:177,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/loadswdb.c:178,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - ctrl
    - url
    - r_fp
    argTypes:
    - ctrl_t
    - char*
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 180
    functionName: fetch_file
    functionSourceFile: /src/gnupg/dirmngr/loadswdb.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - ks_http_fetch
    - es_fname_get
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - es_write
    - gpg_error
    - es_read
    - gpg_strerror
    - es_rewind
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t fetch_file (ctrl_t ctrl, const char *url, estream_t *r_fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/loadswdb.c:196,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/loadswdb.c:199,1
    - Dst: split_fields
      Src: /src/gnupg/dirmngr/loadswdb.c:204,1
    - Dst: DIM
      Src: /src/gnupg/dirmngr/loadswdb.c:204,1
    - Dst: parse_timestamp
      Src: /src/gnupg/dirmngr/loadswdb.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - opaque
    - keyword
    - args
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 207
    functionName: verify_status_cb
    functionSourceFile: /src/gnupg/dirmngr/loadswdb.c
    functionUses: 0
    functionsReached:
    - split_fields
    - DIM
    - parse_timestamp
    - strcmp
    - log_debug
    linkageType: ''
    returnType: void
    signature: void verify_status_cb (void *opaque, const char *keyword, char *args)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_get_time
      Src: /src/gnupg/dirmngr/loadswdb.c:227,1
    - Dst: make_filename_try
      Src: /src/gnupg/dirmngr/loadswdb.c:233,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/dirmngr/loadswdb.c:233,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/loadswdb.c:236,1
    - Dst: get_uint_nonce
      Src: /src/gnupg/dirmngr/loadswdb.c:251,1
    - Dst: time_of_saved_swdb
      Src: /src/gnupg/dirmngr/loadswdb.c:263,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/loadswdb.c:264,1
    - Dst: make_filename_try
      Src: /src/gnupg/dirmngr/loadswdb.c:277,1
    - Dst: gnupg_datadir
      Src: /src/gnupg/dirmngr/loadswdb.c:277,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/loadswdb.c:280,1
    - Dst: fetch_file
      Src: /src/gnupg/dirmngr/loadswdb.c:285,1
    - Dst: fetch_file
      Src: /src/gnupg/dirmngr/loadswdb.c:288,1
    - Dst: ccparray_init
      Src: /src/gnupg/dirmngr/loadswdb.c:293,1
    - Dst: ccparray_put
      Src: /src/gnupg/dirmngr/loadswdb.c:294,1
    - Dst: ccparray_put
      Src: /src/gnupg/dirmngr/loadswdb.c:295,1
    - Dst: ccparray_put
      Src: /src/gnupg/dirmngr/loadswdb.c:296,1
    - Dst: ccparray_put
      Src: /src/gnupg/dirmngr/loadswdb.c:297,1
    - Dst: ccparray_put
      Src: /src/gnupg/dirmngr/loadswdb.c:298,1
    - Dst: ccparray_put
      Src: /src/gnupg/dirmngr/loadswdb.c:299,1
    - Dst: ccparray_put
      Src: /src/gnupg/dirmngr/loadswdb.c:300,1
    - Dst: ccparray_put
      Src: /src/gnupg/dirmngr/loadswdb.c:301,1
    - Dst: ccparray_get
      Src: /src/gnupg/dirmngr/loadswdb.c:302,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/loadswdb.c:305,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/loadswdb.c:310,1
    - Dst: gnupg_exec_tool_stream
      Src: /src/gnupg/dirmngr/loadswdb.c:311,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/dirmngr/loadswdb.c:311,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/loadswdb.c:315,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/loadswdb.c:318,1
    - Dst: es_bsprintf
      Src: /src/gnupg/dirmngr/loadswdb.c:333,1
    - Dst: getpid
      Src: /src/gnupg/dirmngr/loadswdb.c:333,1
    - Dst: es_bsprintf
      Src: /src/gnupg/dirmngr/loadswdb.c:335,1
    - Dst: getpid
      Src: /src/gnupg/dirmngr/loadswdb.c:335,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/loadswdb.c:339,1
    - Dst: make_filename_try
      Src: /src/gnupg/dirmngr/loadswdb.c:342,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/dirmngr/loadswdb.c:342,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/loadswdb.c:343,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/loadswdb.c:346,1
    - Dst: es_fopen
      Src: /src/gnupg/dirmngr/loadswdb.c:351,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/loadswdb.c:354,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/loadswdb.c:355,1
    - Dst: _
      Src: /src/gnupg/dirmngr/loadswdb.c:355,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/loadswdb.c:355,1
    - Dst: epoch2isotime
      Src: /src/gnupg/dirmngr/loadswdb.c:359,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/loadswdb.c:360,1
    - Dst: epoch2isotime
      Src: /src/gnupg/dirmngr/loadswdb.c:361,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/loadswdb.c:362,1
    - Dst: es_fseek
      Src: /src/gnupg/dirmngr/loadswdb.c:364,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/loadswdb.c:366,1
    - Dst: copy_stream
      Src: /src/gnupg/dirmngr/loadswdb.c:370,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/loadswdb.c:375,1
    - Dst: _
      Src: /src/gnupg/dirmngr/loadswdb.c:375,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/loadswdb.c:375,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/loadswdb.c:379,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/loadswdb.c:381,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/loadswdb.c:382,1
    - Dst: _
      Src: /src/gnupg/dirmngr/loadswdb.c:382,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/loadswdb.c:382,1
    - Dst: gnupg_rename_file
      Src: /src/gnupg/dirmngr/loadswdb.c:387,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/loadswdb.c:390,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/loadswdb.c:395,1
    - Dst: gnupg_remove
      Src: /src/gnupg/dirmngr/loadswdb.c:397,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/loadswdb.c:398,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/loadswdb.c:399,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/loadswdb.c:400,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/loadswdb.c:401,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/loadswdb.c:402,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/loadswdb.c:403,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 138
    argCount: 2
    argNames:
    - ctrl
    - force
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 214
    functionDepth: 7
    functionLinenumber: 214
    functionLinenumberEnd: 405
    functionName: dirmngr_load_swdb
    functionSourceFile: /src/gnupg/dirmngr/loadswdb.c
    functionUses: 1
    functionsReached:
    - gnupg_get_time
    - ccparray_put
    - es_fprintf
    - gnupg_homedir
    - es_fseek
    - es_fopen
    - gnupg_exec_tool_stream
    - log_error
    - _
    - log_debug
    - get_uint_nonce
    - ccparray_get
    - gpg_error_from_syserror
    - gnupg_module_name
    - es_bsprintf
    - copy_stream
    - gpg_error
    - xfree
    - gpg_strerror
    - getpid
    - fetch_file
    - time_of_saved_swdb
    - es_fclose
    - gnupg_rename_file
    - gnupg_datadir
    - ccparray_init
    - gpg_err_code
    - epoch2isotime
    - make_filename_try
    - gnupg_remove
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t dirmngr_load_swdb (ctrl_t ctrl, int force)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: http_prepare_redirect
      Src: /src/gnupg/dirmngr/t-http-basic.c:148,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/t-http-basic.c:149,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-http-basic.c:150,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/t-http-basic.c:151,1
    - Dst: http_prepare_redirect
      Src: /src/gnupg/dirmngr/t-http-basic.c:152,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/t-http-basic.c:153,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-http-basic.c:154,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/t-http-basic.c:155,1
    - Dst: http_prepare_redirect
      Src: /src/gnupg/dirmngr/t-http-basic.c:158,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/t-http-basic.c:159,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-http-basic.c:160,1
    - Dst: DIM
      Src: /src/gnupg/dirmngr/t-http-basic.c:162,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/t-http-basic.c:164,1
    - Dst: http_prepare_redirect
      Src: /src/gnupg/dirmngr/t-http-basic.c:170,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-http-basic.c:172,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/t-http-basic.c:173,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-http-basic.c:174,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-http-basic.c:178,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-http-basic.c:179,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/t-http-basic.c:181,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/t-http-basic.c:182,1
    - Dst: fail
      Src: /src/gnupg/dirmngr/t-http-basic.c:183,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/t-http-basic.c:186,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 188
    functionName: test_http_prepare_redirect
    functionSourceFile: /src/gnupg/dirmngr/t-http-basic.c
    functionUses: 0
    functionsReached:
    - fail
    - DIM
    - strcmp
    - fprintf
    - memset
    - gpg_err_code
    - xfree
    - http_prepare_redirect
    linkageType: ''
    returnType: void
    signature: void test_http_prepare_redirect (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_prepare_redirect
      Src: /src/gnupg/dirmngr/t-http-basic.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 5
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: main
    functionSourceFile: /src/gnupg/dirmngr/t-http-basic.c
    functionUses: 11
    functionsReached:
    - test_http_prepare_redirect
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:133,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:133,1
    - Dst: strcpy
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:136,1
    - Dst: xtryrealloc
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:165,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 180
    functionName: create_new_hostinfo
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - strlen
    - xtryrealloc
    - strcpy
    - xfree
    - xtrymalloc
    linkageType: ''
    returnType: int
    signature: int create_new_hostinfo (const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: find_hostinfo
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - ascii_strcasecmp
    linkageType: ''
    returnType: int
    signature: int find_hostinfo (const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:203,1
    - Dst: assert
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:204,1
    - Dst: assert
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:205,1
    - Dst: assert
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:206,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - xa
    - xb
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (a >= 0 && a < hosttable_size)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
    - condition: (hosttable[a])
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
    - condition: (hosttable[b])
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
    - condition: (b >= 0 && b < hosttable_size)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
    constantsTouched: []
    func_position:
      end: 209
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 209
    functionName: sort_hostpool
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - ascii_strcasecmp
    - assert
    linkageType: ''
    returnType: int
    signature: int sort_hostpool (const void *xa, const void *xb)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - hi
    - tblidx
    argTypes:
    - hostinfo_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: host_in_pool_p
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int host_in_pool_p (hostinfo_t hi, int tblidx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:248,1
    - Dst: get_uint_nonce
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:260,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:262,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - hi
    argTypes:
    - hostinfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 264
    functionName: select_random_host
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - get_uint_nonce
    - xtrymalloc
    - xfree
    linkageType: ''
    returnType: int
    signature: int select_random_host (hostinfo_t hi)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - aibuf
    argTypes:
    - dns_addrinfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 284
    functionName: arecords_is_pool
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int arecords_is_pool (dns_addrinfo_t aibuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:294,1
    - Dst: assuan_sock_connect_byname
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:297,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:300,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:304,1
    - Dst: dirmngr_status
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 309
    functionName: tor_not_running_p
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - assuan_sock_connect_byname
    - dirmngr_use_tor
    - assuan_sock_close
    - log_info
    - dirmngr_status
    linkageType: ''
    returnType: int
    signature: int tor_not_running_p (ctrl_t ctrl)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: find_hostinfo
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:327,1
    - Dst: resolve_dns_addr
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:333,1
    - Dst: is_ip_address
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:336,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:340,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:342,1
    - Dst: resolve_dns_addr
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:350,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:356,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:357,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:361,1
    - Dst: is_ip_address
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:366,1
    - Dst: find_hostinfo
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:370,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:371,1
    - Dst: create_new_hostinfo
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:376,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:380,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:381,1
    - Dst: BUG
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:397,1
    - Dst: xtryrealloc
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:420,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:431,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:436,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 6
    argNames:
    - ctrl
    - name
    - is_pool
    - ai
    - protocol
    - port
    argTypes:
    - ctrl_t
    - char*
    - int
    - dns_addrinfo_t
    - enum ks_protocol
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 437
    functionName: add_host
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - find_hostinfo
    - gpg_error_from_syserror
    - log_error
    - log_assert
    - resolve_dns_addr
    - BUG
    - is_ip_address
    - xtrystrdup
    - xtryrealloc
    - log_info
    - gpg_strerror
    - xfree
    - create_new_hostinfo
    - strerror
    linkageType: ''
    returnType: void
    signature: "void add_host (ctrl_t ctrl, const char *name, int is_pool,\n          const
      dns_addrinfo_t ai,\n          enum ks_protocol protocol, unsigned short port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hi
    argTypes:
    - hostinfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 445
    functionName: hostinfo_sort_pool
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: void hostinfo_sort_pool (hostinfo_t hi)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:484,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:486,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:489,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:492,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:493,1
    - Dst: find_hostinfo
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:502,1
    - Dst: create_new_hostinfo
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:505,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:507,1
    - Dst: is_onion_address
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:509,1
    - Dst: is_ip_address
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:516,1
    - Dst: get_dns_srv
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:524,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:527,1
    - Dst: tor_not_running_p
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:528,1
    - Dst: resolve_dns_name
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:540,1
    - Dst: dirmngr_tick
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:545,1
    - Dst: add_host
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:546,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:550,1
    - Dst: resolve_dns_name
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:561,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:564,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:564,1
    - Dst: arecords_is_pool
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:575,1
    - Dst: dirmngr_tick
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:590,1
    - Dst: add_host
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:592,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:598,1
    - Dst: free_dns_addrinfo
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:599,1
    - Dst: hostinfo_sort_pool
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:602,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:609,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:611,1
    - Dst: select_random_host
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:625,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:628,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:631,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:634,1
    - Dst: assert
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:638,1
    - Dst: assert
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:640,1
    - Dst: is_ip_address
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:642,1
    - Dst: resolve_dns_name
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:650,1
    - Dst: resolve_dns_addr
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:658,1
    - Dst: free_dns_addrinfo
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:669,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:673,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:675,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:680,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:683,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:686,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:707,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:710,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:713,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:719,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 154
    argCount: 9
    argNames:
    - ctrl
    - name
    - srvtag
    - force_reselect
    - protocol
    - r_host
    - r_portstr
    - r_httpflags
    - r_httphost
    argTypes:
    - ctrl_t
    - char*
    - char*
    - int
    - enum ks_protocol
    - char**
    - char*
    - unsigned int*
    - char**
    assertStmts:
    - condition: (hi)
      pos:
        line_end: 639
        line_start: 639
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
    - condition: (hi->poolidx >= 0 && hi->poolidx < hosttable_size)
      pos:
        line_end: 637
        line_start: 637
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
    constantsTouched: []
    func_position:
      end: 722
      start: 462
    functionDepth: 4
    functionLinenumber: 462
    functionLinenumberEnd: 722
    functionName: map_host
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - find_hostinfo
    - tor_not_running_p
    - free_dns_addrinfo
    - add_host
    - is_onion_address
    - log_error
    - arecords_is_pool
    - get_dns_srv
    - is_ip_address
    - gpg_error_from_syserror
    - dirmngr_tick
    - select_random_host
    - assert
    - resolve_dns_addr
    - xtrystrdup
    - gpg_error
    - xfree
    - gpg_strerror
    - hostinfo_sort_pool
    - snprintf
    - resolve_dns_name
    - gpg_err_code
    - create_new_hostinfo
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t map_host (ctrl_t ctrl, const char *name, const char *srvtag,
      int force_reselect,\n          enum ks_protocol protocol, char **r_host, char
      *r_portstr,\n          unsigned int *r_httpflags, char **r_httphost)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: http_parse_uri
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:737,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:741,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:743,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:752,1
    - Dst: find_hostinfo
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:757,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:761,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:764,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:771,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:772,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 728
    functionDepth: 3
    functionLinenumber: 728
    functionLinenumberEnd: 774
    functionName: mark_host_dead
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - http_parse_uri
    - gnupg_get_time
    - find_hostinfo
    - log_error
    - strconcat
    - strcmp
    - log_info
    - xfree
    - http_release_parsed_uri
    linkageType: ''
    returnType: int
    signature: int mark_host_dead (const char *name)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:786,1
    - Dst: npth_mutex_lock
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:789,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:790,1
    - Dst: find_hostinfo
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:792,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:795,1
    - Dst: ks_printf_help
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:803,1
    - Dst: ks_printf_help
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:809,1
    - Dst: assert
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:819,1
    - Dst: host_in_pool_p
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:830,1
    - Dst: ks_printf_help
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:843,1
    - Dst: ks_printf_help
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:850,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:857,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:858,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 51
    argCount: 3
    argNames:
    - ctrl
    - name
    - alive
    argTypes:
    - ctrl_t
    - char*
    - int
    assertStmts:
    - condition: (n >= 0 && n < hosttable_size)
      pos:
        line_end: 818
        line_start: 818
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
    constantsTouched: []
    func_position:
      end: 861
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 861
    functionName: ks_hkp_mark_host
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 1
    functionsReached:
    - npth_mutex_lock
    - host_in_pool_p
    - find_hostinfo
    - assert
    - npth_mutex_unlock
    - log_fatal
    - strcmp
    - gpg_error
    - ks_printf_help
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_hkp_mark_host (ctrl_t ctrl, const char *name, int alive)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ks_print_help
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:876,1
    - Dst: npth_mutex_lock
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:880,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:881,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:883,1
    - Dst: elapsed_time_string
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:889,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:899,1
    - Dst: is_ip_address
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:905,1
    - Dst: resolve_dns_name
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:911,1
    - Dst: is_ip_address
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:915,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:917,1
    - Dst: resolve_dns_addr
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:922,1
    - Dst: is_ip_address
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:924,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:928,1
    - Dst: free_dns_addrinfo
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:933,1
    - Dst: resolve_dns_name
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:942,1
    - Dst: resolve_dns_addr
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:949,1
    - Dst: free_dns_addrinfo
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:954,1
    - Dst: ks_printf_help
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:961,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:973,1
    - Dst: ks_printf_help
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:978,1
    - Dst: init_membuf
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:984,1
    - Dst: put_membuf_printf
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:985,1
    - Dst: put_membuf_printf
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:988,1
    - Dst: put_membuf_printf
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:990,1
    - Dst: put_membuf
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:992,1
    - Dst: get_membuf
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:993,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:996,1
    - Dst: ks_print_help
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:999,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1000,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1007,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1008,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 82
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 865
    functionDepth: 3
    functionLinenumber: 865
    functionLinenumberEnd: 1010
    functionName: ks_hkp_print_hosttable
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 1
    functionsReached:
    - get_membuf
    - put_membuf_printf
    - gnupg_get_time
    - npth_mutex_lock
    - init_membuf
    - npth_mutex_unlock
    - gpg_error_from_syserror
    - put_membuf
    - ks_print_help
    - log_fatal
    - resolve_dns_name
    - resolve_dns_addr
    - is_ip_address
    - elapsed_time_string
    - xfree
    - ks_printf_help
    - free_dns_addrinfo
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_hkp_print_hosttable (ctrl_t ctrl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ks_print_help
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1034,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1035,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1036,1
    - Dst: ks_print_help
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1037,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ctrl
    - uri
    argTypes:
    - ctrl_t
    - parsed_uri_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1042
    functionName: ks_hkp_help
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ks_print_help
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_hkp_help (ctrl_t ctrl, parsed_uri_t uri)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1065,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1065,1
    - Dst: npth_mutex_lock
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1078,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1079,1
    - Dst: map_host
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1082,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1085,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1086,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1098,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1099,1
    - Dst: strcpy
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1100,1
    - Dst: strcpy
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1102,1
    - Dst: is_ip_address
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1104,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1105,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1107,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1108,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1113,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1116,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 9
    argNames:
    - ctrl
    - scheme
    - host
    - port
    - force_reselect
    - no_srv
    - r_hostport
    - r_httpflags
    - r_httphost
    argTypes:
    - ctrl_t
    - char*
    - char*
    - unsigned short
    - int
    - int
    - char**
    - unsigned int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1051
    functionDepth: 5
    functionLinenumber: 1051
    functionLinenumberEnd: 1119
    functionName: make_host_part
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - npth_mutex_unlock
    - npth_mutex_lock
    - map_host
    - gpg_error_from_syserror
    - snprintf
    - log_fatal
    - strconcat
    - strcmp
    - is_ip_address
    - strcpy
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t make_host_part (ctrl_t ctrl,\n                const char
      *scheme, const char *host, unsigned short port,\n                int force_reselect,
      int no_srv,\n                char **r_hostport, unsigned int *r_httpflags, char
      **r_httphost)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_host_part
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1134,1
    - Dst: ks_printf_help
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1139,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1141,1
    - Dst: ks_printf_help
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1145,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctrl
    - uri
    argTypes:
    - ctrl_t
    - parsed_uri_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1125
    functionDepth: 6
    functionLinenumber: 1125
    functionLinenumberEnd: 1149
    functionName: ks_hkp_resolve
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - gpg_strerror
    - make_host_part
    - xfree
    - ks_printf_help
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_hkp_resolve (ctrl_t ctrl, parsed_uri_t uri)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1161,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1162,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1177,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1181,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1182,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 1
    argNames:
    - curtime
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1155
    functionDepth: 1
    functionLinenumber: 1155
    functionLinenumberEnd: 1183
    functionName: ks_hkp_housekeeping
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - npth_mutex_unlock
    - log_info
    - log_fatal
    - npth_mutex_lock
    linkageType: ''
    returnType: void
    signature: void ks_hkp_housekeeping (time_t curtime)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1194,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1195,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1209,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1211,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1213
    functionName: ks_hkp_reload
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - npth_mutex_unlock
    - log_info
    - log_fatal
    - npth_mutex_lock
    linkageType: ''
    returnType: void
    signature: void ks_hkp_reload (void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: http_parse_uri
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1238,1
    - Dst: http_session_new
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1250,1
    - Dst: http_session_set_log_cb
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1256,1
    - Dst: http_session_set_timeout
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1257,1
    - Dst: http_open
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1259,1
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1266,1
    - Dst: http_get_write_ptr
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1275,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1279,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1282,1
    - Dst: post_cb
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1284,1
    - Dst: http_start_data
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1287,1
    - Dst: es_ferror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1288,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1289,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1295,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1295,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1296,1
    - Dst: dirmngr_tick
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1301,1
    - Dst: http_wait_response
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1302,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1305,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1305,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1306,1
    - Dst: http_get_tls_info
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1310,1
    - Dst: http_get_status_code
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1318,1
    - Dst: http_get_status_code
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1320,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1330,1
    - Dst: http_prepare_redirect
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1331,1
    - Dst: http_get_status_code
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1331,1
    - Dst: http_get_header
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1332,1
    - Dst: http_close
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1338,1
    - Dst: http_session_release
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1340,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1346,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1346,1
    - Dst: http_get_status_code
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1347,1
    - Dst: http_get_status_code
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1348,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1350,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1351,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1352,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1353,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1354,1
    - Dst: http_get_read_ptr
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1363,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1366,1
    - Dst: http_close
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1372,1
    - Dst: http_close
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1376,1
    - Dst: http_session_release
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1377,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1378,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1379,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 108
    argCount: 8
    argNames:
    - ctrl
    - request
    - hostportstr
    - httphost
    - httpflags
    - post_cb_value
    - r_fp
    - r_http_status
    argTypes:
    - ctrl_t
    - char*
    - char*
    - char*
    - unsigned int
    - void*
    - estream_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1222
    functionDepth: 4
    functionLinenumber: 1222
    functionLinenumberEnd: 1381
    functionName: send_request
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 1
    functionsReached:
    - es_fprintf
    - http_wait_response
    - http_get_tls_info
    - http_session_set_timeout
    - http_session_set_log_cb
    - http_start_data
    - http_release_parsed_uri
    - http_open
    - http_session_new
    - http_prepare_redirect
    - log_error
    - http_session_release
    - _
    - es_ferror
    - gpg_error_from_syserror
    - dirmngr_tick
    - http_get_read_ptr
    - http_get_write_ptr
    - gpg_error
    - gpg_strerror
    - xfree
    - es_fputs
    - http_parse_uri
    - dirmngr_use_tor
    - http_get_header
    - post_cb
    - http_get_status_code
    - http_close
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t send_request (ctrl_t ctrl, const char *request, const
      char *hostportstr,\n              const char *httphost, unsigned int httpflags,\n
      \             gpg_error_t (*post_cb)(void *, http_t), void *post_cb_value,\n
      \             estream_t *r_fp, unsigned int *r_http_status)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1400,1
    - Dst: tor_not_running_p
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1403,1
    - Dst: mark_host_dead
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1414,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1421,1
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1427,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1429,1
    - Dst: dirmngr_status
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1430,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1441,1
    - Dst: http_status2string
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1442,1
    - Dst: mark_host_dead
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1443,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1451,1
    - Dst: http_status2string
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1452,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 6
    argNames:
    - ctrl
    - err
    - request
    - http_status
    - tries_left
    - extra_tries_left
    argTypes:
    - ctrl_t
    - gpg_error_t
    - char*
    - unsigned int
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1390
    functionDepth: 4
    functionLinenumber: 1390
    functionLinenumberEnd: 1476
    functionName: handle_send_request_error
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - http_status2string
    - mark_host_dead
    - dirmngr_use_tor
    - log_info
    - gpg_err_code
    - tor_not_running_p
    - dirmngr_status
    linkageType: ''
    returnType: int
    signature: "int handle_send_request_error (ctrl_t ctrl, gpg_error_t err, const
      char *request,\n                           unsigned int http_status, unsigned
      int *tries_left,\n                           unsigned int *extra_tries_left)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: classify_user_id
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1507,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1510,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1519,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1522,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1527,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1528,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1536,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1540,1
    - Dst: bin2hex
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1547,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1551,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1560,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1561,1
    - Dst: make_host_part
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1562,1
    - Dst: http_escape_string
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1568,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1571,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1575,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1576,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1580,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1583,1
    - Dst: send_request
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1589,1
    - Dst: handle_send_request_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1591,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1601,1
    - Dst: dirmngr_status
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1602,1
    - Dst: dirmngr_status
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1606,1
    - Dst: es_getc
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1612,1
    - Dst: es_ferror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1615,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1615,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1615,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1616,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1616,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1623,1
    - Dst: es_ungetc
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1626,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1634,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1635,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1636,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1637,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1638,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 109
    argCount: 5
    argNames:
    - ctrl
    - uri
    - pattern
    - r_fp
    - r_http_status
    argTypes:
    - ctrl_t
    - parsed_uri_t
    - char*
    - estream_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1483
    functionDepth: 6
    functionLinenumber: 1483
    functionLinenumberEnd: 1640
    functionName: ks_hkp_search
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - handle_send_request_error
    - strlen
    - log_assert
    - http_escape_string
    - make_host_part
    - log_error
    - send_request
    - es_ungetc
    - es_ferror
    - gpg_error_from_syserror
    - xtrystrdup
    - gpg_error
    - xfree
    - gpg_strerror
    - es_getc
    - dirmngr_status
    - snprintf
    - bin2hex
    - es_fclose
    - strconcat
    - classify_user_id
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ks_hkp_search (ctrl_t ctrl, parsed_uri_t uri, const char
      *pattern,\n               estream_t *r_fp, unsigned int *r_http_status)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: classify_user_id
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1672,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1675,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1679,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1682,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1688,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1689,1
    - Dst: bin2hex
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1693,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1701,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1704,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1709,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1710,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1719,1
    - Dst: http_escape_string
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1722,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1726,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1733,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1734,1
    - Dst: make_host_part
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1735,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1741,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1742,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1749,1
    - Dst: send_request
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1754,1
    - Dst: handle_send_request_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1756,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1764,1
    - Dst: dirmngr_status
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1765,1
    - Dst: dirmngr_status
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1769,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1778,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1779,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1780,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1781,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1782,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1783,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 92
    argCount: 4
    argNames:
    - ctrl
    - uri
    - keyspec
    - r_fp
    argTypes:
    - ctrl_t
    - parsed_uri_t
    - char*
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1647
    functionDepth: 6
    functionLinenumber: 1647
    functionLinenumberEnd: 1785
    functionName: ks_hkp_get
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - handle_send_request_error
    - log_error
    - log_assert
    - snprintf
    - bin2hex
    - gpg_error_from_syserror
    - strlen
    - http_escape_string
    - es_fclose
    - strconcat
    - send_request
    - xtrystrdup
    - gpg_error
    - classify_user_id
    - xfree
    - gpg_err_code
    - dirmngr_status
    - make_host_part
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_hkp_get (ctrl_t ctrl, parsed_uri_t uri, const char *keyspec,
      estream_t *r_fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_get_write_ptr
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1806,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1807,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1809,1
    - Dst: http_start_data
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1812,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1813,1
    - Dst: es_write
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1813,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - opaque
    - http
    argTypes:
    - void*
    - http_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1798
    functionDepth: 1
    functionLinenumber: 1798
    functionLinenumberEnd: 1816
    functionName: put_post_cb
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - strlen
    - gpg_error_from_syserror
    - http_get_write_ptr
    - es_write
    - http_start_data
    - es_fputs
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t put_post_cb (void *opaque, http_t http)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: armor_data
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1838,1
    - Dst: http_escape_string
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1842,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1845,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1848,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1854,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1855,1
    - Dst: make_host_part
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1856,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1862,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1863,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1866,1
    - Dst: send_request
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1871,1
    - Dst: handle_send_request_error
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1873,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1883,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1884,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1885,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1886,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1887,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1888,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 4
    argNames:
    - ctrl
    - uri
    - data
    - datalen
    argTypes:
    - ctrl_t
    - parsed_uri_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1820
    functionDepth: 6
    functionLinenumber: 1820
    functionLinenumberEnd: 1890
    functionName: ks_hkp_put
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - handle_send_request_error
    - gpg_error_from_syserror
    - armor_data
    - es_fclose
    - http_escape_string
    - strconcat
    - send_request
    - xfree
    - make_host_part
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_hkp_put (ctrl_t ctrl, parsed_uri_t uri, const void *data,
      size_t datalen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_init
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1897,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1899,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/ks-engine-hkp.c:1899,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1892
    functionDepth: 1
    functionLinenumber: 1892
    functionLinenumberEnd: 1900
    functionName: ks_hkp_init
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-hkp.c
    functionUses: 0
    functionsReached:
    - npth_mutex_init
    - log_fatal
    - strerror
    linkageType: ''
    returnType: void
    signature: void ks_hkp_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: cdb_datapos
    functionSourceFile: /src/gnupg/dirmngr/cdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cdb_datapos(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: cdb_datalen
    functionSourceFile: /src/gnupg/dirmngr/cdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cdb_datalen(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: cdb_keypos
    functionSourceFile: /src/gnupg/dirmngr/cdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cdb_keypos(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: cdb_keylen
    functionSourceFile: /src/gnupg/dirmngr/cdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cdb_keylen(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: cdb_fileno
    functionSourceFile: /src/gnupg/dirmngr/cdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cdb_fileno(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: setenv
    functionSourceFile: /src/gnupg/dirmngr/ldap-wrapper.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setenv(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: pth_close
    functionSourceFile: /src/gnupg/dirmngr/ldap-wrapper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pth_close(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: SAFE_CLOSE
    functionSourceFile: /src/gnupg/dirmngr/ldap-wrapper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_CLOSE(fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:133,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:134,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:135,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: lock_reaper_list
    functionSourceFile: /src/gnupg/dirmngr/ldap-wrapper.c
    functionUses: 0
    functionsReached:
    - log_fatal
    - npth_mutex_lock
    - gpg_error_from_syserror
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void lock_reaper_list (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:142,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:143,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:144,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: unlock_reaper_list
    functionSourceFile: /src/gnupg/dirmngr/ldap-wrapper.c
    functionUses: 0
    functionsReached:
    - log_fatal
    - npth_mutex_unlock
    - gpg_error_from_syserror
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void unlock_reaper_list (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_read
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - reader
    - buffer
    - count
    argTypes:
    - ksba_reader_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 165
    functionName: read_buffer
    functionSourceFile: /src/gnupg/dirmngr/ldap-wrapper.c
    functionUses: 0
    functionsReached:
    - ksba_reader_read
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_buffer (ksba_reader_t reader, unsigned char *buffer,
      size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_process_terminate
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:174,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:175,1
    - Dst: ksba_reader_release
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:177,1
    - Dst: SAFE_CLOSE
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:178,1
    - Dst: SAFE_CLOSE
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:179,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:180,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct wrapper_context_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: destroy_wrapper
    functionSourceFile: /src/gnupg/dirmngr/ldap-wrapper.c
    functionUses: 0
    functionsReached:
    - gpgrt_process_release
    - gpgrt_process_terminate
    - ksba_reader_release
    - SAFE_CLOSE
    - xfree
    linkageType: ''
    returnType: void
    signature: void destroy_wrapper (struct wrapper_context_s *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:199,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:205,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:210,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:212,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:215,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:218,1
    - Dst: xtryrealloc
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:227,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:228,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:231,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:231,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:231,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:237,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - struct wrapper_context_s*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 241
    functionName: print_log_line
    functionSourceFile: /src/gnupg/dirmngr/ldap-wrapper.c
    functionUses: 0
    functionsReached:
    - strlen
    - log_error
    - _
    - xtryrealloc
    - strchr
    - log_info
    - memcpy
    - strerror
    - log_printf
    - xtrymalloc
    linkageType: ''
    returnType: void
    signature: void print_log_line (struct wrapper_context_s *ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: es_read
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:253,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:258,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:259,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:261,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:261,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:262,1
    - Dst: print_log_line
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:264,1
    - Dst: SAFE_CLOSE
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:265,1
    - Dst: print_log_line
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:270,1
    - Dst: time
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct wrapper_context_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 274
    functionName: read_log_data
    functionSourceFile: /src/gnupg/dirmngr/ldap-wrapper.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - _
    - print_log_line
    - SAFE_CLOSE
    - es_read
    - gpg_err_code
    - gpg_strerror
    - time
    linkageType: ''
    returnType: int
    signature: int read_log_data (struct wrapper_context_s *ctx)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: npth_clock_gettime
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:297,1
    - Dst: lock_reaper_list
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:306,1
    - Dst: npth_cond_wait
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:310,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:311,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:312,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:312,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:322,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:323,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:326,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:327,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:328,1
    - Dst: unlock_reaper_list
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:330,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:331,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:340,1
    - Dst: unlock_reaper_list
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:356,1
    - Dst: npth_clock_gettime
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:359,1
    - Dst: npth_timercmp
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:360,1
    - Dst: npth_clock_gettime
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:363,1
    - Dst: npth_timersub
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:366,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:374,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:378,1
    - Dst: es_poll
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:383,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:386,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:387,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:388,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:392,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:395,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:403,1
    - Dst: time
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:415,1
    - Dst: lock_reaper_list
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:419,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:428,1
    - Dst: read_log_data
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:431,1
    - Dst: SAFE_CLOSE
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:433,1
    - Dst: gpgrt_process_wait
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:442,1
    - Dst: gpgrt_process_ctl
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:447,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:450,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:450,1
    - Dst: gpgrt_process_release
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:452,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:457,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:457,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:460,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:460,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:463,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:465,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:465,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:466,1
    - Dst: gpgrt_process_terminate
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:474,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:476,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:476,1
    - Dst: SAFE_CLOSE
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:480,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:490,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:492,1
    - Dst: destroy_wrapper
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:514,1
    - Dst: unlock_reaper_list
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:519,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 135
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 524
    functionName: ldap_reaper_thread
    functionSourceFile: /src/gnupg/dirmngr/ldap-wrapper.c
    functionUses: 0
    functionsReached:
    - log_assert
    - log_error
    - _
    - SAFE_CLOSE
    - es_poll
    - npth_clock_gettime
    - gpgrt_process_wait
    - log_info
    - destroy_wrapper
    - gnupg_sleep
    - log_debug
    - npth_timercmp
    - unlock_reaper_list
    - gpg_error_from_syserror
    - gpg_strerror
    - xfree
    - read_log_data
    - xtrycalloc
    - time
    - gpgrt_process_release
    - gpgrt_process_terminate
    - lock_reaper_list
    - npth_timersub
    - gpg_err_code
    - gpgrt_process_ctl
    - npth_cond_wait
    linkageType: ''
    returnType: void
    signature: 'void *

      ldap_reaper_thread (void *dummy)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: npth_cond_init
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:543,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:544,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:545,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:545,1
    - Dst: npth_attr_init
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:548,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:549,1
    - Dst: npth_create
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:551,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:553,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:554,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:555,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:556,1
    - Dst: npth_setname_np
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:558,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 560
    functionName: ldap_reaper_launch_thread
    functionSourceFile: /src/gnupg/dirmngr/ldap-wrapper.c
    functionUses: 0
    functionsReached:
    - dirmngr_exit
    - npth_cond_init
    - gpg_error_from_syserror
    - npth_attr_init
    - npth_create
    - log_error
    - log_fatal
    - npth_attr_destroy
    - npth_attr_setdetachstate
    - npth_setname_np
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void ldap_reaper_launch_thread (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock_reaper_list
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:569,1
    - Dst: npth_cond_signal
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:572,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:573,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:574,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:574,1
    - Dst: unlock_reaper_list
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:576,1
    - Dst: gnupg_usleep
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 579
    functionName: ldap_wrapper_wait_connections
    functionSourceFile: /src/gnupg/dirmngr/ldap-wrapper.c
    functionUses: 0
    functionsReached:
    - unlock_reaper_list
    - gpg_error_from_syserror
    - log_error
    - lock_reaper_list
    - gnupg_usleep
    - gpg_strerror
    - npth_cond_signal
    linkageType: ''
    returnType: void
    signature: void ldap_wrapper_wait_connections (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lock_reaper_list
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:592,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:598,1
    - Dst: SAFE_CLOSE
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:605,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:612,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:613,1
    - Dst: unlock_reaper_list
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:617,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - reader
    argTypes:
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 618
    functionName: ldap_wrapper_release_context
    functionSourceFile: /src/gnupg/dirmngr/ldap-wrapper.c
    functionUses: 0
    functionsReached:
    - unlock_reaper_list
    - SAFE_CLOSE
    - lock_reaper_list
    - gpg_strerror
    - log_info
    - log_debug
    linkageType: ''
    returnType: void
    signature: void ldap_wrapper_release_context (ksba_reader_t reader)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lock_reaper_list
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:628,1
    - Dst: gpgrt_process_terminate
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:636,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:638,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:639,1
    - Dst: unlock_reaper_list
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:642,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 643
    functionName: ldap_wrapper_connection_cleanup
    functionSourceFile: /src/gnupg/dirmngr/ldap-wrapper.c
    functionUses: 1
    functionsReached:
    - unlock_reaper_list
    - gpgrt_process_terminate
    - lock_reaper_list
    - log_info
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void ldap_wrapper_connection_cleanup (ctrl_t ctrl)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:680,1
    - Dst: npth_clock_gettime
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:684,1
    - Dst: npth_clock_gettime
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:689,1
    - Dst: npth_timercmp
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:690,1
    - Dst: dirmngr_tick
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:692,1
    - Dst: SAFE_CLOSE
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:696,1
    - Dst: npth_clock_gettime
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:699,1
    - Dst: npth_timersub
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:702,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:710,1
    - Dst: es_poll
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:715,1
    - Dst: DIM
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:715,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:718,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:719,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:720,1
    - Dst: SAFE_CLOSE
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:721,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:726,1
    - Dst: es_read
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:746,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:748,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:749,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:753,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:754,1
    - Dst: SAFE_CLOSE
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:755,1
    - Dst: time
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:768,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 4
    argNames:
    - cb_value
    - buffer
    - count
    - nread
    argTypes:
    - void*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 649
    functionDepth: 4
    functionLinenumber: 649
    functionLinenumberEnd: 774
    functionName: reader_callback
    functionSourceFile: /src/gnupg/dirmngr/ldap-wrapper.c
    functionUses: 0
    functionsReached:
    - npth_timercmp
    - dirmngr_tick
    - gpg_error_from_syserror
    - log_error
    - DIM
    - SAFE_CLOSE
    - npth_timersub
    - es_poll
    - npth_clock_gettime
    - memset
    - gpg_strerror
    - es_read
    - gpg_err_code
    - time
    - log_debug
    linkageType: ''
    returnType: int
    signature: int reader_callback (void *cb_value, char *buffer, size_t count,  size_t
      *nread)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ldap_reaper_launch_thread
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:810,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:817,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:824,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:827,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:828,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:828,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:828,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:832,1
    - Dst: setenv
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:835,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:841,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:844,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:845,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:845,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:845,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:846,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:850,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:856,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:857,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:858,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:858,1
    - Dst: gpgrt_process_get_streams
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:861,1
    - Dst: gpgrt_process_ctl
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:863,1
    - Dst: time
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:870,1
    - Dst: ksba_reader_new
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:872,1
    - Dst: ksba_reader_set_cb
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:874,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:877,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:878,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:878,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:879,1
    - Dst: destroy_wrapper
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:880,1
    - Dst: ksba_reader_release
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:881,1
    - Dst: lock_reaper_list
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:887,1
    - Dst: npth_cond_signal
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:892,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:893,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:894,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:894,1
    - Dst: unlock_reaper_list
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:896,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:900,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:903,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:904,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:906,1
    - Dst: read_buffer
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:917,1
    - Dst: ldap_wrapper_release_context
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:920,1
    - Dst: ksba_reader_release
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:921,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:923,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:924,1
    - Dst: ksba_reader_unread
      Src: /src/gnupg/dirmngr/ldap-wrapper.c:928,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 81
    argCount: 3
    argNames:
    - ctrl
    - reader
    - argv
    argTypes:
    - ctrl_t
    - ksba_reader_t*
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 790
    functionDepth: 3
    functionLinenumber: 790
    functionLinenumberEnd: 932
    functionName: ldap_wrapper
    functionSourceFile: /src/gnupg/dirmngr/ldap-wrapper.c
    functionUses: 0
    functionsReached:
    - setenv
    - ldap_wrapper_release_context
    - ksba_reader_release
    - log_error
    - _
    - ksba_reader_new
    - ksba_reader_set_cb
    - destroy_wrapper
    - log_printf
    - log_debug
    - gpgrt_process_get_streams
    - unlock_reaper_list
    - gpg_error_from_syserror
    - gpgrt_process_spawn
    - gnupg_module_name
    - strcmp
    - gpg_error
    - xfree
    - gpg_strerror
    - xtrycalloc
    - time
    - npth_cond_signal
    - ksba_reader_unread
    - read_buffer
    - ldap_reaper_launch_thread
    - lock_reaper_list
    - gpg_err_code
    - gpgrt_process_ctl
    - strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ldap_wrapper (ctrl_t ctrl, ksba_reader_t *reader, const
      char *argv[])
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-action.c:55,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/ks-action.c:57,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ks-action.c:57,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-action.c:59,1
    - Dst: strcpy
      Src: /src/gnupg/dirmngr/ks-action.c:63,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/ks-action.c:66,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/ks-action.c:71,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-action.c:73,1
    - Dst: http_parse_uri
      Src: /src/gnupg/dirmngr/ks-action.c:75,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ks-action.c:77,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/ks-action.c:81,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-action.c:83,1
    - Dst: http_parse_uri
      Src: /src/gnupg/dirmngr/ks-action.c:85,1
    - Dst: ldap_uri_p
      Src: /src/gnupg/dirmngr/ks-action.c:87,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:98,1
    - Dst: http_parse_uri
      Src: /src/gnupg/dirmngr/ks-action.c:102,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:105,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/ks-action.c:107,1
    - Dst: ldap_parse_uri
      Src: /src/gnupg/dirmngr/ks-action.c:111,1
    - Dst: http_parse_uri
      Src: /src/gnupg/dirmngr/ks-action.c:120,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-action.c:123,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-action.c:125,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 2
    argNames:
    - uri
    - r_parseduri
    argTypes:
    - char*
    - uri_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 129
    functionName: ks_action_parse_uri
    functionSourceFile: /src/gnupg/dirmngr/ks-action.c
    functionUses: 3
    functionsReached:
    - http_parse_uri
    - gpg_error_from_syserror
    - strlen
    - ldap_parse_uri
    - ldap_uri_p
    - strconcat
    - strcmp
    - gpg_error
    - strchr
    - strcpy
    - xfree
    - strncmp
    - xtrymalloc
    - http_release_parsed_uri
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_action_parse_uri (const char *uri, uri_item_t *r_parseduri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dirmngr_status_help
      Src: /src/gnupg/dirmngr/ks-action.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctrl
    - text
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: ks_print_help
    functionSourceFile: /src/gnupg/dirmngr/ks-action.c
    functionUses: 6
    functionsReached:
    - dirmngr_status_help
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_print_help (ctrl_t ctrl, const char *text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/dirmngr/ks-action.c:148,1
    - Dst: es_vbsprintf
      Src: /src/gnupg/dirmngr/ks-action.c:149,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-action.c:150,1
    - Dst: va_end
      Src: /src/gnupg/dirmngr/ks-action.c:151,1
    - Dst: dirmngr_status_help
      Src: /src/gnupg/dirmngr/ks-action.c:153,1
    - Dst: es_free
      Src: /src/gnupg/dirmngr/ks-action.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctrl
    - format
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 156
    functionName: ks_printf_help
    functionSourceFile: /src/gnupg/dirmngr/ks-action.c
    functionUses: 3
    functionsReached:
    - es_vbsprintf
    - va_end
    - gpg_error_from_syserror
    - es_free
    - va_start
    - dirmngr_status_help
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_printf_help (ctrl_t ctrl, const char *format, ...)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ks_print_help
      Src: /src/gnupg/dirmngr/ks-action.c:172,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/ks-action.c:178,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/ks-action.c:183,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-action.c:185,1
    - Dst: http_parse_uri
      Src: /src/gnupg/dirmngr/ks-action.c:188,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-action.c:189,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ks-action.c:192,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/ks-action.c:196,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-action.c:198,1
    - Dst: http_parse_uri
      Src: /src/gnupg/dirmngr/ks-action.c:201,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-action.c:202,1
    - Dst: ldap_uri_p
      Src: /src/gnupg/dirmngr/ks-action.c:205,1
    - Dst: ldap_parse_uri
      Src: /src/gnupg/dirmngr/ks-action.c:206,1
    - Dst: http_parse_uri
      Src: /src/gnupg/dirmngr/ks-action.c:210,1
    - Dst: ks_hkp_help
      Src: /src/gnupg/dirmngr/ks-action.c:218,1
    - Dst: ks_http_help
      Src: /src/gnupg/dirmngr/ks-action.c:220,1
    - Dst: ks_finger_help
      Src: /src/gnupg/dirmngr/ks-action.c:222,1
    - Dst: ks_kdns_help
      Src: /src/gnupg/dirmngr/ks-action.c:224,1
    - Dst: ks_ldap_help
      Src: /src/gnupg/dirmngr/ks-action.c:227,1
    - Dst: ks_print_help
      Src: /src/gnupg/dirmngr/ks-action.c:231,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/ks-action.c:234,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 2
    argNames:
    - ctrl
    - url
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 236
    functionName: ks_action_help
    functionSourceFile: /src/gnupg/dirmngr/ks-action.c
    functionUses: 1
    functionsReached:
    - http_parse_uri
    - gpg_error_from_syserror
    - ks_ldap_help
    - ks_print_help
    - ldap_parse_uri
    - ks_finger_help
    - ldap_uri_p
    - strconcat
    - strchr
    - xfree
    - ks_kdns_help
    - ks_http_help
    - strncmp
    - http_release_parsed_uri
    - ks_hkp_help
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_action_help (ctrl_t ctrl, const char *url)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ks_hkp_resolve
      Src: /src/gnupg/dirmngr/ks-action.c:253,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-action.c:260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ctrl
    - keyservers
    argTypes:
    - ctrl_t
    - uri_item_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 241
    functionDepth: 7
    functionLinenumber: 241
    functionLinenumberEnd: 262
    functionName: ks_action_resolve
    functionSourceFile: /src/gnupg/dirmngr/ks-action.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - ks_hkp_resolve
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_action_resolve (ctrl_t ctrl, uri_item_t keyservers)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-action.c:278,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:293,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:294,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:295,1
    - Dst: ks_ldap_search
      Src: /src/gnupg/dirmngr/ks-action.c:303,1
    - Dst: ks_hkp_search
      Src: /src/gnupg/dirmngr/ks-action.c:307,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-action.c:311,1
    - Dst: copy_stream
      Src: /src/gnupg/dirmngr/ks-action.c:321,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/ks-action.c:322,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-action.c:330,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-action.c:332,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 4
    argNames:
    - ctrl
    - keyservers
    - patterns
    - outfp
    argTypes:
    - ctrl_t
    - uri_item_t
    - strlist_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 267
    functionDepth: 7
    functionLinenumber: 267
    functionLinenumberEnd: 334
    functionName: ks_action_search
    functionSourceFile: /src/gnupg/dirmngr/ks-action.c
    functionUses: 1
    functionsReached:
    - es_fclose
    - ks_ldap_search
    - strcmp
    - ks_hkp_search
    - gpg_error
    - copy_stream
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ks_action_search (ctrl_t ctrl, uri_item_t keyservers,\n\t\t
      \ strlist_t patterns, estream_t outfp)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-action.c:353,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:363,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:364,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:365,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:366,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:373,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:374,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:375,1
    - Dst: ldapserver_parse_one
      Src: /src/gnupg/dirmngr/ks-action.c:381,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-action.c:385,1
    - Dst: ldapserver_list_free
      Src: /src/gnupg/dirmngr/ks-action.c:389,1
    - Dst: ks_ldap_get
      Src: /src/gnupg/dirmngr/ks-action.c:404,1
    - Dst: ks_hkp_get
      Src: /src/gnupg/dirmngr/ks-action.c:409,1
    - Dst: ks_http_fetch
      Src: /src/gnupg/dirmngr/ks-action.c:411,1
    - Dst: BUG
      Src: /src/gnupg/dirmngr/ks-action.c:415,1
    - Dst: copy_stream
      Src: /src/gnupg/dirmngr/ks-action.c:429,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/ks-action.c:434,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-action.c:444,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 49
    argCount: 6
    argNames:
    - ctrl
    - keyservers
    - patterns
    - ks_get_flags
    - newer
    - outfp
    argTypes:
    - ctrl_t
    - uri_item_t
    - strlist_t
    - unsigned int
    - gnupg_isotime_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 339
    functionDepth: 7
    functionLinenumber: 339
    functionLinenumberEnd: 448
    functionName: ks_action_get
    functionSourceFile: /src/gnupg/dirmngr/ks-action.c
    functionUses: 1
    functionsReached:
    - ks_http_fetch
    - es_fclose
    - BUG
    - strcmp
    - ldapserver_list_free
    - gpg_error
    - copy_stream
    - ks_hkp_get
    - ldapserver_parse_one
    - ks_ldap_get
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ks_action_get (ctrl_t ctrl, uri_item_t keyservers,\n\t
      \      strlist_t patterns, unsigned int ks_get_flags,\n               gnupg_isotime_t
      newer, estream_t outfp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-action.c:462,1
    - Dst: http_parse_uri
      Src: /src/gnupg/dirmngr/ks-action.c:464,1
    - Dst: ks_http_fetch
      Src: /src/gnupg/dirmngr/ks-action.c:470,1
    - Dst: copy_stream
      Src: /src/gnupg/dirmngr/ks-action.c:473,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/ks-action.c:474,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-action.c:479,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:481,1
    - Dst: ks_finger_fetch
      Src: /src/gnupg/dirmngr/ks-action.c:483,1
    - Dst: copy_stream
      Src: /src/gnupg/dirmngr/ks-action.c:486,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/ks-action.c:487,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:490,1
    - Dst: ks_kdns_fetch
      Src: /src/gnupg/dirmngr/ks-action.c:492,1
    - Dst: copy_stream
      Src: /src/gnupg/dirmngr/ks-action.c:495,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/ks-action.c:496,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-action.c:500,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/ks-action.c:502,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - ctrl
    - url
    - outfp
    argTypes:
    - ctrl_t
    - char*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 454
    functionDepth: 4
    functionLinenumber: 454
    functionLinenumberEnd: 504
    functionName: ks_action_fetch
    functionSourceFile: /src/gnupg/dirmngr/ks-action.c
    functionUses: 2
    functionsReached:
    - http_parse_uri
    - ks_http_fetch
    - ks_finger_fetch
    - ks_kdns_fetch
    - es_fclose
    - strcmp
    - copy_stream
    - gpg_error
    - http_release_parsed_uri
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_action_fetch (ctrl_t ctrl, const char *url, estream_t
      outfp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ldapserver_parse_one
      Src: /src/gnupg/dirmngr/ks-action.c:539,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ks-action.c:543,1
    - Dst: ldapserver_list_free
      Src: /src/gnupg/dirmngr/ks-action.c:547,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:562,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:563,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:564,1
    - Dst: ks_ldap_put
      Src: /src/gnupg/dirmngr/ks-action.c:573,1
    - Dst: ks_hkp_put
      Src: /src/gnupg/dirmngr/ks-action.c:578,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-action.c:589,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 35
    argCount: 6
    argNames:
    - ctrl
    - keyservers
    - data
    - datalen
    - info
    - infolen
    argTypes:
    - ctrl_t
    - uri_item_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 514
    functionDepth: 7
    functionLinenumber: 514
    functionLinenumberEnd: 593
    functionName: ks_action_put
    functionSourceFile: /src/gnupg/dirmngr/ks-action.c
    functionUses: 1
    functionsReached:
    - ks_ldap_put
    - strcmp
    - ldapserver_list_free
    - gpg_error
    - ldapserver_parse_one
    - ks_hkp_put
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ks_action_put (ctrl_t ctrl, uri_item_t keyservers,\n\t
      \      void *data, size_t datalen,\n\t       void *info, size_t infolen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:610,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:611,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:612,1
    - Dst: ks_ldap_del
      Src: /src/gnupg/dirmngr/ks-action.c:616,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-action.c:624,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - ctrl
    - keyservers
    - fprlist
    argTypes:
    - ctrl_t
    - uri_item_t
    - strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 599
    functionDepth: 5
    functionLinenumber: 599
    functionLinenumberEnd: 628
    functionName: ks_action_del
    functionSourceFile: /src/gnupg/dirmngr/ks-action.c
    functionUses: 1
    functionsReached:
    - strcmp
    - gpg_error
    - ks_ldap_del
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_action_del (ctrl_t ctrl, uri_item_t keyservers, strlist_t
      fprlist)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ks_action_parse_uri
      Src: /src/gnupg/dirmngr/ks-action.c:646,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:657,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:658,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-action.c:659,1
    - Dst: ks_ldap_query
      Src: /src/gnupg/dirmngr/ks-action.c:662,1
    - Dst: copy_stream
      Src: /src/gnupg/dirmngr/ks-action.c:665,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-action.c:668,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/ks-action.c:670,1
    - Dst: release_uri_item_list
      Src: /src/gnupg/dirmngr/ks-action.c:671,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-action.c:682,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 7
    argNames:
    - ctrl
    - url
    - ks_get_flags
    - filter
    - attrs
    - newer
    - outfp
    argTypes:
    - ctrl_t
    - char*
    - unsigned int
    - char*
    - char**
    - gnupg_isotime_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 633
    functionDepth: 5
    functionLinenumber: 633
    functionLinenumberEnd: 684
    functionName: ks_action_query
    functionSourceFile: /src/gnupg/dirmngr/ks-action.c
    functionUses: 1
    functionsReached:
    - release_uri_item_list
    - es_fclose
    - ks_ldap_query
    - strcmp
    - copy_stream
    - gpg_error
    - ks_action_parse_uri
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ks_action_query (ctrl_t ctrl, const char *url, unsigned
      int ks_get_flags,\n                 const char *filter, char **attrs,\n                 gnupg_isotime_t
      newer, estream_t outfp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ldap.c:78,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ldap.c:87,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap.c:91,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldap.c:91,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldap.c:95,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldap.c:95,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/ldap.c:96,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap.c:98,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldap.c:98,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/ldap.c:98,1
    - Dst: xstrdup
      Src: /src/gnupg/dirmngr/ldap.c:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 108
    functionName: add_server_to_servers
    functionSourceFile: /src/gnupg/dirmngr/ldap.c
    functionUses: 0
    functionsReached:
    - xstrdup
    - log_error
    - _
    - strcmp
    - strchr
    - log_info
    - xtrycalloc
    - strerror
    linkageType: ''
    returnType: void
    signature: void add_server_to_servers (const char *host, int port)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/ldap.c:164,1
    - Dst: sprintf
      Src: /src/gnupg/dirmngr/ldap.c:182,1
    - Dst: ldap_wrapper
      Src: /src/gnupg/dirmngr/ldap.c:206,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 15
    argNames:
    - ctrl
    - ignore_timeout
    - multi_mode
    - tls_mode
    - ntds
    - areconly
    - proxy
    - host
    - port
    - user
    - pass
    - base
    - filter
    - attr
    - reader
    argTypes:
    - ctrl_t
    - int
    - int
    - int
    - int
    - int
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - char*
    - ksba_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 207
    functionName: run_ldap_wrapper
    functionSourceFile: /src/gnupg/dirmngr/ldap.c
    functionUses: 0
    functionsReached:
    - snprintf
    - sprintf
    - ldap_wrapper
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t run_ldap_wrapper (ctrl_t ctrl,\n                  int
      ignore_timeout,\n                  int multi_mode,\n                  int tls_mode,\n
      \                 int ntds,\n                  int areconly,\n                  const
      char *proxy,\n                  const char *host, int port,\n                  const
      char *user, const char *pass,\n                  const char *base, const char
      *filter, const char *attr,\n                  ksba_reader_t *reader)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ldap_is_ldap_url
      Src: /src/gnupg/dirmngr/ldap.c:222,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap.c:224,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldap.c:224,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ldap.c:225,1
    - Dst: ldap_url_parse
      Src: /src/gnupg/dirmngr/ldap.c:228,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap.c:230,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldap.c:230,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ldap.c:231,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ldap.c:236,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldap.c:239,1
    - Dst: free
      Src: /src/gnupg/dirmngr/ldap.c:240,1
    - Dst: strdup
      Src: /src/gnupg/dirmngr/ldap.c:242,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap.c:245,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap.c:251,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldap.c:251,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ldap.c:252,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ldap.c:257,1
    - Dst: run_ldap_wrapper
      Src: /src/gnupg/dirmngr/ldap.c:262,1
    - Dst: add_server_to_servers
      Src: /src/gnupg/dirmngr/ldap.c:284,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ldap.c:294,1
    - Dst: ldapserver_iter_begin
      Src: /src/gnupg/dirmngr/ldap.c:297,1
    - Dst: ldapserver_iter_end_p
      Src: /src/gnupg/dirmngr/ldap.c:298,1
    - Dst: ldapserver_iter_next
      Src: /src/gnupg/dirmngr/ldap.c:299,1
    - Dst: run_ldap_wrapper
      Src: /src/gnupg/dirmngr/ldap.c:310,1
    - Dst: ldap_free_urldesc
      Src: /src/gnupg/dirmngr/ldap.c:329,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 3
    argNames:
    - ctrl
    - url
    - reader
    argTypes:
    - ctrl_t
    - char*
    - ksba_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 215
    functionDepth: 5
    functionLinenumber: 215
    functionLinenumberEnd: 331
    functionName: url_fetch_ldap
    functionSourceFile: /src/gnupg/dirmngr/ldap.c
    functionUses: 0
    functionsReached:
    - ldapserver_iter_begin
    - ldap_is_ldap_url
    - ldapserver_iter_next
    - add_server_to_servers
    - log_error
    - gpg_error_from_syserror
    - ldap_url_parse
    - _
    - run_ldap_wrapper
    - strcmp
    - ldapserver_iter_end_p
    - gpg_error
    - ldap_free_urldesc
    - log_info
    - strdup
    - log_debug
    - free
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t url_fetch_ldap (ctrl_t ctrl, const char *url, ksba_reader_t
      *reader)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ldap.c:341,1
    - Dst: ldapserver_iter_begin
      Src: /src/gnupg/dirmngr/ldap.c:348,1
    - Dst: ldapserver_iter_end_p
      Src: /src/gnupg/dirmngr/ldap.c:348,1
    - Dst: ldapserver_iter_next
      Src: /src/gnupg/dirmngr/ldap.c:349,1
    - Dst: run_ldap_wrapper
      Src: /src/gnupg/dirmngr/ldap.c:361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - ctrl
    - dn
    - attr
    - reader
    argTypes:
    - ctrl_t
    - char*
    - char*
    - ksba_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 337
    functionDepth: 5
    functionLinenumber: 337
    functionLinenumberEnd: 378
    functionName: attr_fetch_ldap
    functionSourceFile: /src/gnupg/dirmngr/ldap.c
    functionUses: 0
    functionsReached:
    - ldapserver_iter_begin
    - ldapserver_iter_next
    - run_ldap_wrapper
    - ldapserver_iter_end_p
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t attr_fetch_ldap (ctrl_t ctrl,\n                 const
      char *dn, const char *attr, ksba_reader_t *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/gnupg/dirmngr/ldap.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 389
    functionName: rfc2254_need_escape
    functionSourceFile: /src/gnupg/dirmngr/ldap.c
    functionUses: 0
    functionsReached:
    - strpbrk
    linkageType: ''
    returnType: int
    signature: int rfc2254_need_escape (const char *value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/ldap.c:409,1
    - Dst: stpcpy
      Src: /src/gnupg/dirmngr/ldap.c:416,1
    - Dst: stpcpy
      Src: /src/gnupg/dirmngr/ldap.c:417,1
    - Dst: stpcpy
      Src: /src/gnupg/dirmngr/ldap.c:418,1
    - Dst: stpcpy
      Src: /src/gnupg/dirmngr/ldap.c:419,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 424
    functionName: rfc2254_escape
    functionSourceFile: /src/gnupg/dirmngr/ldap.c
    functionUses: 0
    functionsReached:
    - stpcpy
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      rfc2254_escape (const char *value)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ldap.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 434
    functionName: extfilt_need_escape
    functionSourceFile: /src/gnupg/dirmngr/ldap.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int extfilt_need_escape (const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/ldap.c:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 464
    functionName: extfilt_escape
    functionSourceFile: /src/gnupg/dirmngr/ldap.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      extfilt_escape (const char *value)'
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: rfc2254_need_escape
      Src: /src/gnupg/dirmngr/ldap.c:501,1
    - Dst: rfc2254_escape
      Src: /src/gnupg/dirmngr/ldap.c:502,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap.c:504,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/ldap.c:507,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap.c:510,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ldap.c:513,1
    - Dst: extfilt_need_escape
      Src: /src/gnupg/dirmngr/ldap.c:529,1
    - Dst: extfilt_escape
      Src: /src/gnupg/dirmngr/ldap.c:530,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap.c:532,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/ldap.c:535,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap.c:538,1
    - Dst: extfilt_need_escape
      Src: /src/gnupg/dirmngr/ldap.c:548,1
    - Dst: extfilt_escape
      Src: /src/gnupg/dirmngr/ldap.c:549,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap.c:551,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/ldap.c:554,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap.c:557,1
    - Dst: rfc2254_need_escape
      Src: /src/gnupg/dirmngr/ldap.c:572,1
    - Dst: rfc2254_escape
      Src: /src/gnupg/dirmngr/ldap.c:573,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap.c:575,1
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/ldap.c:578,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap.c:584,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ldap.c:592,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap.c:595,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap.c:597,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 84
    argCount: 2
    argNames:
    - pattern
    - r_result
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 601
    functionName: make_one_filter
    functionSourceFile: /src/gnupg/dirmngr/ldap.c
    functionUses: 0
    functionsReached:
    - strlen
    - gpg_error_from_syserror
    - extfilt_need_escape
    - strconcat
    - rfc2254_need_escape
    - gpg_error
    - extfilt_escape
    - xfree
    - rfc2254_escape
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t make_one_filter (const char *pattern, char **r_result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/ldap.c:616,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/ldap.c:618,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ldap.c:622,1
    - Dst: ldapserver_iter_begin
      Src: /src/gnupg/dirmngr/ldap.c:624,1
    - Dst: ldapserver_iter_end_p
      Src: /src/gnupg/dirmngr/ldap.c:624,1
    - Dst: ldapserver_iter_next
      Src: /src/gnupg/dirmngr/ldap.c:625,1
    - Dst: run_ldap_wrapper
      Src: /src/gnupg/dirmngr/ldap.c:629,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap.c:646,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - ctrl
    - r_context
    - dn
    argTypes:
    - ctrl_t
    - cert_fetch_context_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 609
    functionDepth: 5
    functionLinenumber: 609
    functionLinenumberEnd: 650
    functionName: start_cacert_fetch_ldap
    functionSourceFile: /src/gnupg/dirmngr/ldap.c
    functionUses: 0
    functionsReached:
    - ldapserver_iter_begin
    - ldapserver_iter_next
    - run_ldap_wrapper
    - ldapserver_iter_end_p
    - gpg_error_from_errno
    - gpg_error
    - xfree
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t start_cacert_fetch_ldap (ctrl_t ctrl, cert_fetch_context_t
      *r_context,\n                         const char *dn)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ldap.c:675,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap.c:677,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ldap.c:683,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap.c:685,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ldap.c:689,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap.c:691,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ldap.c:694,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap.c:696,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ldap.c:699,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap.c:701,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ldap.c:711,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/ldap.c:740,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/ldap.c:756,1
    - Dst: DIM
      Src: /src/gnupg/dirmngr/ldap.c:777,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ldap.c:782,1
    - Dst: make_one_filter
      Src: /src/gnupg/dirmngr/ldap.c:787,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/ldap.c:795,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ldap.c:798,1
    - Dst: ldap_wrapper
      Src: /src/gnupg/dirmngr/ldap.c:802,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap.c:805,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap.c:811,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap.c:812,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap.c:813,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap.c:814,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap.c:815,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap.c:816,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 116
    argCount: 4
    argNames:
    - ctrl
    - r_context
    - patterns
    - server
    argTypes:
    - ctrl_t
    - cert_fetch_context_t*
    - strlist_t
    - ldap_server_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 656
    functionDepth: 4
    functionLinenumber: 656
    functionLinenumberEnd: 818
    functionName: start_cert_fetch_ldap
    functionSourceFile: /src/gnupg/dirmngr/ldap.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - ldap_wrapper
    - snprintf
    - DIM
    - xtrystrdup
    - gpg_error
    - xfree
    - xtrycalloc
    - make_one_filter
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t start_cert_fetch_ldap (ctrl_t ctrl, cert_fetch_context_t
      *r_context,\n                       strlist_t patterns, const ldap_server_t
      server)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_read
      Src: /src/gnupg/dirmngr/ldap.c:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - reader
    - buffer
    - count
    argTypes:
    - ksba_reader_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 837
    functionName: read_buffer
    functionSourceFile: /src/gnupg/dirmngr/ldap.c
    functionUses: 1
    functionsReached:
    - ksba_reader_read
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_buffer (ksba_reader_t reader, unsigned char *buffer,
      size_t count)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: read_buffer
      Src: /src/gnupg/dirmngr/ldap.c:861,1
    - Dst: buf32_to_ulong
      Src: /src/gnupg/dirmngr/ldap.c:864,1
    - Dst: ksba_cms_new
      Src: /src/gnupg/dirmngr/ldap.c:875,1
    - Dst: ksba_cms_set_reader_writer
      Src: /src/gnupg/dirmngr/ldap.c:878,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap.c:881,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap.c:882,1
    - Dst: ksba_cms_parse
      Src: /src/gnupg/dirmngr/ldap.c:888,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap.c:891,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ldap.c:892,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap.c:897,1
    - Dst: ksba_cms_get_cert
      Src: /src/gnupg/dirmngr/ldap.c:902,1
    - Dst: check_and_store
      Src: /src/gnupg/dirmngr/ldap.c:904,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/ldap.c:905,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap.c:909,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/ldap.c:916,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/ldap.c:918,1
    - Dst: read_buffer
      Src: /src/gnupg/dirmngr/ldap.c:920,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap.c:930,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/ldap.c:932,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/ldap.c:934,1
    - Dst: read_buffer
      Src: /src/gnupg/dirmngr/ldap.c:937,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ldap.c:945,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ldap.c:947,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ldap.c:950,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ldap.c:954,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ldap.c:957,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/dirmngr/ldap.c:961,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ldap.c:964,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/ldap.c:979,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ldap.c:988,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ldap.c:991,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ldap.c:991,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap.c:1000,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/ldap.c:1003,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ldap.c:1006,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 107
    argCount: 3
    argNames:
    - context
    - value
    - valuelen
    argTypes:
    - cert_fetch_context_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 844
    functionDepth: 3
    functionLinenumber: 844
    functionLinenumberEnd: 1011
    functionName: fetch_next_cert_ldap
    functionSourceFile: /src/gnupg/dirmngr/ldap.c
    functionUses: 0
    functionsReached:
    - ascii_strcasecmp
    - xtrymalloc
    - log_error
    - _
    - gpg_error_from_errno
    - log_info
    - check_and_store
    - ksba_cert_release
    - log_debug
    - ksba_cms_get_cert
    - ksba_cms_set_reader_writer
    - ksba_cms_new
    - strcmp
    - strchr
    - gpg_error
    - gpg_strerror
    - xfree
    - ksba_cms_parse
    - buf32_to_ulong
    - read_buffer
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t fetch_next_cert_ldap (cert_fetch_context_t context,\n
      \                     unsigned char **value, size_t *valuelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap.c:1021,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ldap.c:1022,1
    - Dst: ldap_wrapper_release_context
      Src: /src/gnupg/dirmngr/ldap.c:1023,1
    - Dst: ksba_reader_release
      Src: /src/gnupg/dirmngr/ldap.c:1024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - cert_fetch_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1014
    functionDepth: 3
    functionLinenumber: 1014
    functionLinenumberEnd: 1026
    functionName: end_cert_fetch_ldap
    functionSourceFile: /src/gnupg/dirmngr/ldap.c
    functionUses: 0
    functionsReached:
    - ldap_wrapper_release_context
    - xfree
    - ksba_reader_release
    linkageType: ''
    returnType: void
    signature: void end_cert_fetch_ldap (cert_fetch_context_t context)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: init_asctobin
    functionSourceFile: /src/gnupg/dirmngr/dirmngr-client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_asctobin (void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:167,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:171,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:175,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 184
    functionName: my_strusage
    functionSourceFile: /src/gnupg/dirmngr/dirmngr-client.c
    functionUses: 0
    functionsReached:
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage (int level)'
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: early_system_init
      Src: /src/gnupg/dirmngr/dirmngr-client.c:203,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/dirmngr/dirmngr-client.c:204,1
    - Dst: log_set_prefix
      Src: /src/gnupg/dirmngr/dirmngr-client.c:205,1
    - Dst: gpgrt_set_fixed_string_mapper
      Src: /src/gnupg/dirmngr/dirmngr-client.c:209,1
    - Dst: WSAStartup
      Src: /src/gnupg/dirmngr/dirmngr-client.c:217,1
    - Dst: assuan_set_assuan_log_prefix
      Src: /src/gnupg/dirmngr/dirmngr-client.c:222,1
    - Dst: log_get_prefix
      Src: /src/gnupg/dirmngr/dirmngr-client.c:222,1
    - Dst: assuan_set_gpg_err_source
      Src: /src/gnupg/dirmngr/dirmngr-client.c:223,1
    - Dst: i18n_init
      Src: /src/gnupg/dirmngr/dirmngr-client.c:226,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/dirmngr/dirmngr-client.c:232,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/dirmngr/dirmngr-client.c:258,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/dirmngr/dirmngr-client.c:260,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/dirmngr-client.c:261,1
    - Dst: gpgrt_usage
      Src: /src/gnupg/dirmngr/dirmngr-client.c:268,1
    - Dst: gpgrt_usage
      Src: /src/gnupg/dirmngr/dirmngr-client.c:275,1
    - Dst: read_certificate
      Src: /src/gnupg/dirmngr/dirmngr-client.c:279,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:281,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:281,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:282,1
    - Dst: read_certificate
      Src: /src/gnupg/dirmngr/dirmngr-client.c:286,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:288,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:288,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:289,1
    - Dst: gpgrt_usage
      Src: /src/gnupg/dirmngr/dirmngr-client.c:294,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/dirmngr/dirmngr-client.c:297,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/dirmngr-client.c:298,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:302,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:302,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/dirmngr-client.c:303,1
    - Dst: start_new_dirmngr
      Src: /src/gnupg/dirmngr/dirmngr-client.c:306,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/dirmngr/dirmngr-client.c:310,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:317,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:317,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:317,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/dirmngr-client.c:318,1
    - Dst: squid_loop_body
      Src: /src/gnupg/dirmngr/dirmngr-client.c:325,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/dirmngr-client.c:327,1
    - Dst: do_lookup
      Src: /src/gnupg/dirmngr/dirmngr-client.c:336,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:339,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:339,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:339,1
    - Dst: do_loadcrl
      Src: /src/gnupg/dirmngr/dirmngr-client.c:351,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:354,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:354,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:355,1
    - Dst: do_cache
      Src: /src/gnupg/dirmngr/dirmngr-client.c:363,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr-client.c:364,1
    - Dst: do_validate
      Src: /src/gnupg/dirmngr/dirmngr-client.c:368,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr-client.c:369,1
    - Dst: do_check
      Src: /src/gnupg/dirmngr/dirmngr-client.c:373,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr-client.c:374,1
    - Dst: assuan_release
      Src: /src/gnupg/dirmngr/dirmngr-client.c:377,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr-client.c:382,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:382,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/dirmngr-client.c:389,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr-client.c:392,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:392,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:396,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:396,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:397,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:404,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:404,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:405,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr-client.c:411,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:411,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/dirmngr-client.c:414,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr-client.c:417,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:417,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:422,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:422,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:422,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 175
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 188
    functionDepth: 9
    functionLinenumber: 188
    functionLinenumberEnd: 425
    functionName: main
    functionSourceFile: /src/gnupg/dirmngr/dirmngr-client.c
    functionUses: 11
    functionsReached:
    - WSAStartup
    - gpgrt_set_fixed_string_mapper
    - exit
    - squid_loop_body
    - do_cache
    - do_validate
    - log_get_prefix
    - gpgrt_set_strusage
    - do_lookup
    - log_error
    - early_system_init
    - log_set_prefix
    - gpgrt_usage
    - _
    - log_get_errorcount
    - log_info
    - gnupg_module_name
    - do_loadcrl
    - assuan_set_assuan_log_prefix
    - gpg_strerror
    - xfree
    - gpgrt_argparse
    - i18n_init
    - do_check
    - assuan_release
    - assuan_set_gpg_err_source
    - read_certificate
    - gpg_err_code
    - start_new_dirmngr
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr-client.c:435,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 437
    functionName: status_cb
    functionSourceFile: /src/gnupg/dirmngr/dirmngr-client.c
    functionUses: 4
    functionsReached:
    - log_info
    - _
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t status_cb (void *opaque, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_b64enc_write
      Src: /src/gnupg/dirmngr/dirmngr-client.c:448,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:450,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:450,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - opaque
    - buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 454
    functionName: data_cb
    functionSourceFile: /src/gnupg/dirmngr/dirmngr-client.c
    functionUses: 2
    functionsReached:
    - gpgrt_b64enc_write
    - gpg_strerror
    - _
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t data_cb (void *opaque, const void *buffer, size_t length)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: init_asctobin
      Src: /src/gnupg/dirmngr/dirmngr-client.c:477,1
    - Dst: es_fopen
      Src: /src/gnupg/dirmngr/dirmngr-client.c:479,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:481,1
    - Dst: xmalloc
      Src: /src/gnupg/dirmngr/dirmngr-client.c:486,1
    - Dst: es_getc
      Src: /src/gnupg/dirmngr/dirmngr-client.c:488,1
    - Dst: es_getc
      Src: /src/gnupg/dirmngr/dirmngr-client.c:497,1
    - Dst: es_getc
      Src: /src/gnupg/dirmngr/dirmngr-client.c:500,1
    - Dst: hexdigitp
      Src: /src/gnupg/dirmngr/dirmngr-client.c:503,1
    - Dst: hexdigitp
      Src: /src/gnupg/dirmngr/dirmngr-client.c:503,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:505,1
    - Dst: es_getc
      Src: /src/gnupg/dirmngr/dirmngr-client.c:508,1
    - Dst: xtoi_2
      Src: /src/gnupg/dirmngr/dirmngr-client.c:512,1
    - Dst: xrealloc
      Src: /src/gnupg/dirmngr/dirmngr-client.c:549,1
    - Dst: BUG
      Src: /src/gnupg/dirmngr/dirmngr-client.c:592,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/dirmngr-client.c:597,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr-client.c:601,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:602,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:607,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr-client.c:608,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:609,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 114
    argCount: 4
    argNames:
    - fname
    - rbuf
    - rbuflen
    - no_errmsg
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 615
    functionName: read_pem_certificate
    functionSourceFile: /src/gnupg/dirmngr/dirmngr-client.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - gpg_error_from_syserror
    - log_error
    - es_fclose
    - BUG
    - xrealloc
    - xmalloc
    - gpg_error
    - es_fopen
    - xfree
    - es_getc
    - init_asctobin
    - xtoi_2
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t read_pem_certificate (const char *fname, unsigned char
      **rbuf, size_t *rbuflen,\n                      int no_errmsg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: read_pem_certificate
      Src: /src/gnupg/dirmngr/dirmngr-client.c:630,1
    - Dst: read_pem_certificate
      Src: /src/gnupg/dirmngr/dirmngr-client.c:636,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/dirmngr/dirmngr-client.c:640,1
    - Dst: es_fopen
      Src: /src/gnupg/dirmngr/dirmngr-client.c:643,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:645,1
    - Dst: xmalloc
      Src: /src/gnupg/dirmngr/dirmngr-client.c:654,1
    - Dst: xrealloc
      Src: /src/gnupg/dirmngr/dirmngr-client.c:656,1
    - Dst: es_fread
      Src: /src/gnupg/dirmngr/dirmngr-client.c:658,1
    - Dst: es_ferror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:659,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:661,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr-client.c:662,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/dirmngr-client.c:664,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/dirmngr-client.c:672,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - fname
    - rbuf
    - rbuflen
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 676
    functionName: read_certificate
    functionSourceFile: /src/gnupg/dirmngr/dirmngr-client.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_syserror
    - es_fclose
    - es_fread
    - log_get_errorcount
    - read_pem_certificate
    - xmalloc
    - xrealloc
    - es_fopen
    - xfree
    - es_ferror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_certificate (const char *fname, unsigned char **rbuf,
      size_t *rbuflen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/dirmngr-client.c:686,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/dirmngr-client.c:688,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/dirmngr-client.c:690,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/dirmngr-client.c:694,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/dirmngr-client.c:696,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/dirmngr-client.c:701,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/dirmngr-client.c:703,1
    - Dst: assuan_send_data
      Src: /src/gnupg/dirmngr/dirmngr-client.c:708,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr-client.c:712,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:712,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:713,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - opaque
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 721
    functionName: inq_cert
    functionSourceFile: /src/gnupg/dirmngr/dirmngr-client.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - _
    - gpg_error
    - log_info
    - strncmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t inq_cert (void *opaque, const char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/dirmngr-client.c:732,1
    - Dst: assuan_transact
      Src: /src/gnupg/dirmngr/dirmngr-client.c:737,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr-client.c:743,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - cert
    - certlen
    argTypes:
    - assuan_context_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 745
    functionName: do_check
    functionSourceFile: /src/gnupg/dirmngr/dirmngr-client.c
    functionUses: 1
    functionsReached:
    - assuan_transact
    - log_info
    - gpg_strerror
    - memset
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_check (assuan_context_t ctx, const unsigned char *cert,
      size_t certlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/dirmngr-client.c:755,1
    - Dst: assuan_transact
      Src: /src/gnupg/dirmngr/dirmngr-client.c:760,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr-client.c:764,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - cert
    - certlen
    argTypes:
    - assuan_context_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 766
    functionName: do_cache
    functionSourceFile: /src/gnupg/dirmngr/dirmngr-client.c
    functionUses: 1
    functionsReached:
    - assuan_transact
    - log_info
    - gpg_strerror
    - memset
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_cache (assuan_context_t ctx, const unsigned char *cert,
      size_t certlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/dirmngr-client.c:776,1
    - Dst: assuan_transact
      Src: /src/gnupg/dirmngr/dirmngr-client.c:781,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr-client.c:785,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - cert
    - certlen
    argTypes:
    - assuan_context_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 787
    functionName: do_validate
    functionSourceFile: /src/gnupg/dirmngr/dirmngr-client.c
    functionUses: 1
    functionsReached:
    - assuan_transact
    - log_info
    - gpg_strerror
    - memset
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_validate (assuan_context_t ctx, const unsigned char
      *cert, size_t certlen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnupg/dirmngr/dirmngr-client.c:798,1
    - Dst: canonicalize_file_name
      Src: /src/gnupg/dirmngr/dirmngr-client.c:802,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:805,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:806,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:807,1
    - Dst: xstrdup
      Src: /src/gnupg/dirmngr/dirmngr-client.c:810,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:814,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:814,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:815,1
    - Dst: xmalloc
      Src: /src/gnupg/dirmngr/dirmngr-client.c:819,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dirmngr-client.c:819,1
    - Dst: stpcpy
      Src: /src/gnupg/dirmngr/dirmngr-client.c:820,1
    - Dst: stpcpy
      Src: /src/gnupg/dirmngr/dirmngr-client.c:822,1
    - Dst: sprintf
      Src: /src/gnupg/dirmngr/dirmngr-client.c:827,1
    - Dst: assuan_transact
      Src: /src/gnupg/dirmngr/dirmngr-client.c:837,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr-client.c:841,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:841,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr-client.c:842,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr-client.c:843,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - ctx
    - filename
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 845
    functionName: do_loadcrl
    functionSourceFile: /src/gnupg/dirmngr/dirmngr-client.c
    functionUses: 1
    functionsReached:
    - log_error
    - strlen
    - sprintf
    - _
    - assuan_transact
    - xmalloc
    - gpg_error
    - canonicalize_file_name
    - log_info
    - gpg_strerror
    - xfree
    - xstrdup
    - stpcpy
    - strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_loadcrl (assuan_context_t ctx, const char *filename)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr-client.c:859,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:859,1
    - Dst: gpgrt_b64enc_start
      Src: /src/gnupg/dirmngr/dirmngr-client.c:861,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:863,1
    - Dst: xmalloc
      Src: /src/gnupg/dirmngr/dirmngr-client.c:865,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dirmngr-client.c:865,1
    - Dst: stpcpy
      Src: /src/gnupg/dirmngr/dirmngr-client.c:867,1
    - Dst: stpcpy
      Src: /src/gnupg/dirmngr/dirmngr-client.c:869,1
    - Dst: stpcpy
      Src: /src/gnupg/dirmngr/dirmngr-client.c:871,1
    - Dst: sprintf
      Src: /src/gnupg/dirmngr/dirmngr-client.c:876,1
    - Dst: assuan_transact
      Src: /src/gnupg/dirmngr/dirmngr-client.c:887,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr-client.c:892,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:892,1
    - Dst: gpgrt_b64enc_finish
      Src: /src/gnupg/dirmngr/dirmngr-client.c:894,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr-client.c:896,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - pattern
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 898
    functionName: do_lookup
    functionSourceFile: /src/gnupg/dirmngr/dirmngr-client.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_syserror
    - strlen
    - sprintf
    - _
    - gpgrt_b64enc_finish
    - assuan_transact
    - xmalloc
    - log_info
    - gpg_strerror
    - xfree
    - stpcpy
    - gpgrt_b64enc_start
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_lookup (assuan_context_t ctx, const char *pattern)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read_pem_certificate
      Src: /src/gnupg/dirmngr/dirmngr-client.c:910,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/dirmngr-client.c:911,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:915,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:915,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:916,1
    - Dst: puts
      Src: /src/gnupg/dirmngr/dirmngr-client.c:917,1
    - Dst: do_check
      Src: /src/gnupg/dirmngr/dirmngr-client.c:921,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr-client.c:922,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr-client.c:926,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:926,1
    - Dst: puts
      Src: /src/gnupg/dirmngr/dirmngr-client.c:927,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/dirmngr-client.c:933,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr-client.c:934,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:934,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr-client.c:936,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr-client.c:936,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr-client.c:937,1
    - Dst: puts
      Src: /src/gnupg/dirmngr/dirmngr-client.c:939,1
    - Dst: fflush
      Src: /src/gnupg/dirmngr/dirmngr-client.c:942,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 945
    functionName: squid_loop_body
    functionSourceFile: /src/gnupg/dirmngr/dirmngr-client.c
    functionUses: 1
    functionsReached:
    - do_check
    - log_error
    - _
    - puts
    - read_pem_certificate
    - fflush
    - gpg_strerror
    - gpg_err_code
    - xfree
    - log_info
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t squid_loop_body (assuan_context_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - M
    - ','
    - m
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: DNS_GNUC_2VER
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_GNUC_2VER(M, m, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - M
    - ','
    - m
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: DNS_GNUC_PREREQ
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_GNUC_PREREQ(M, m, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - M
    - ','
    - m
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: DNS_MSC_2VER
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_MSC_2VER(M, m, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - M
    - ','
    - m
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: DNS_MSC_PREREQ
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_MSC_PREREQ(M, m, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - M
    - ','
    - m
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: DNS_SUNPRO_PREREQ
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SUNPRO_PREREQ(M, m, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: dns_has_builtin
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_has_builtin(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: dns_has_builtin
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_has_builtin(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: dns_has_extension
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_has_extension(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: dns_has_extension
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_has_extension(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - def
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: dns_same_type
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_same_type(a, b, def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - def
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: dns_same_type
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_same_type(a, b, def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: dns_isarray
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_isarray(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: dns_inline_assert
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_inline_assert(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: dns_assume
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_assume(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: dns_assume
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_assume(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: dns_assume
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_assume(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: lengthof
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lengthof(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: endof
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: endof(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: dns_static_assert
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_static_assert(cond, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: dns_static_assert
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_static_assert(cond, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: dns_static_assert
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_static_assert(cond, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: dns_debug_p
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int *dns_debug_p(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: DNS_SAY_
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SAY_(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: DNS_SAY
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SAY(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - P
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 254
    functionName: DNS_SHOW_
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SHOW_(P, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: DNS_SHOW
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SHOW(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: DNS_CARP
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_CARP(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: dns_vendor
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dns_vendor(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: dns_v_rel
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dns_v_rel(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: dns_v_abi
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dns_v_abi(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: dns_v_api
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dns_v_api(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: dns_syerr
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_syerr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: dns_soerr
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_soerr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 329
    functionName: dns_syerr
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_syerr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 330
    functionName: dns_soerr
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_soerr()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dns.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 367
    functionName: dns_strerror
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - strerror
    linkageType: ''
    returnType: char
    signature: char *dns_strerror(int error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 400
    functionName: DNS_ATOMIC_FETCH_ADD
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ATOMIC_FETCH_ADD(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 403
    functionName: DNS_ATOMIC_FETCH_ADD
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ATOMIC_FETCH_ADD(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 409
    functionName: DNS_ATOMIC_FETCH_SUB
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ATOMIC_FETCH_SUB(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 412
    functionName: DNS_ATOMIC_FETCH_SUB
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ATOMIC_FETCH_SUB(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_ATOMIC_FETCH_ADD
      Src: /src/gnupg/dirmngr/dns.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - dns_atomic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: dns_atomic_fetch_add
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_ATOMIC_FETCH_ADD
    linkageType: ''
    returnType: unsigned
    signature: unsigned dns_atomic_fetch_add(dns_atomic_t *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_ATOMIC_FETCH_SUB
      Src: /src/gnupg/dirmngr/dns.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - dns_atomic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: dns_atomic_fetch_sub
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_ATOMIC_FETCH_SUB
    linkageType: ''
    returnType: unsigned
    signature: unsigned dns_atomic_fetch_sub(dns_atomic_t *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/gnupg/dirmngr/dns.c:464,1
    - Dst: assert
      Src: /src/gnupg/dirmngr/dns.c:465,1
    - Dst: DNS_RANDOM
      Src: /src/gnupg/dirmngr/dns.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ok && "1 == RAND_bytes()")
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/gnupg/dirmngr/dns.c
    constantsTouched: []
    func_position:
      end: 471
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 471
    functionName: dns_random_
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - RAND_bytes
    - DNS_RANDOM
    - assert
    linkageType: ''
    returnType: unsigned
    signature: unsigned dns_random_(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 477
    functionName: dns_random_p
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dns_random_f
    signature: dns_random_f **dns_random_p(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tea
    - key
    - cycles
    argTypes:
    - struct dns_k_tea*
    - uint32_t[]
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: dns_k_tea_init
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void dns_k_tea_init(struct dns_k_tea *tea, uint32_t key[], unsigned
      cycles)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - tea
    - v
    - w
    argTypes:
    - struct dns_k_tea*
    - uint32_t[]
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 519
    functionName: dns_k_tea_encrypt
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_k_tea_encrypt(struct dns_k_tea *tea, uint32_t v[], uint32_t
      *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 556
    functionName: dns_k_permutor_powof
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned dns_k_permutor_powof(unsigned n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_k_permutor_powof
      Src: /src/gnupg/dirmngr/dns.c:567,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:574,1
    - Dst: dns_random
      Src: /src/gnupg/dirmngr/dns.c:575,1
    - Dst: dns_k_tea_init
      Src: /src/gnupg/dirmngr/dns.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - p
    - low
    - high
    argTypes:
    - struct dns_k_permutor*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 580
    functionName: dns_k_permutor_init
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - lengthof
    - dns_k_permutor_powof
    - dns_k_tea_init
    - dns_random
    linkageType: ''
    returnType: void
    signature: void dns_k_permutor_init(struct dns_k_permutor *p, unsigned low, unsigned
      high)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:586,1
    - Dst: dns_k_tea_encrypt
      Src: /src/gnupg/dirmngr/dns.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - p
    - k
    - x
    argTypes:
    - struct dns_k_permutor*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 594
    functionName: dns_k_permutor_F
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_k_tea_encrypt
    - memset
    linkageType: ''
    returnType: unsigned
    signature: unsigned dns_k_permutor_F(struct dns_k_permutor *p, unsigned k, unsigned
      x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_k_permutor_F
      Src: /src/gnupg/dirmngr/dns.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - struct dns_k_permutor*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 613
    functionName: dns_k_permutor_E
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_k_permutor_F
    linkageType: ''
    returnType: unsigned
    signature: unsigned dns_k_permutor_E(struct dns_k_permutor *p, unsigned n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_k_permutor_F
      Src: /src/gnupg/dirmngr/dns.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - struct dns_k_permutor*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 632
    functionName: dns_k_permutor_D
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_k_permutor_F
    linkageType: ''
    returnType: DNS_NOTUSED
    signature: DNS_NOTUSED dns_k_permutor_D(struct dns_k_permutor *p, unsigned n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_k_permutor_E
      Src: /src/gnupg/dirmngr/dns.c:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct dns_k_permutor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 635
    functionDepth: 3
    functionLinenumber: 635
    functionLinenumberEnd: 643
    functionName: dns_k_permutor_step
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_k_permutor_E
    linkageType: ''
    returnType: unsigned
    signature: unsigned dns_k_permutor_step(struct dns_k_permutor *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - n
    - s
    argTypes:
    - unsigned short
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 706
    functionName: dns_k_shuffle16
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short dns_k_shuffle16(unsigned short n, unsigned s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - do_statement
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 730
    functionName: DNS_SM_SAVE_AND_DO
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SM_SAVE_AND_DO(do_statement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 733
    functionName: DNS_SM_YIELD
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SM_YIELD(rv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/gnupg/dirmngr/dns.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - clk
    argTypes:
    - struct dns_clock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: dns_begin
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void dns_begin(struct dns_clock *clk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/gnupg/dirmngr/dns.c:762,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:766,1
    - Dst: difftime
      Src: /src/gnupg/dirmngr/dns.c:766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - clk
    argTypes:
    - struct dns_clock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 771
    functionName: dns_elapsed
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_PP_MIN
    - difftime
    - time
    linkageType: ''
    returnType: time_t
    signature: time_t dns_elapsed(struct dns_clock *clk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - src
    - m
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 781
    functionName: dns_strnlen
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DNS_NOTUSED
    signature: DNS_NOTUSED dns_strnlen(const char *src, size_t m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_strnlen
      Src: /src/gnupg/dirmngr/dns.c:785,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:788,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - dst
    - lim
    - src
    - max
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 794
    functionName: dns_strnlcpy
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_PP_MIN
    - dns_strnlen
    - memcpy
    linkageType: ''
    returnType: DNS_NOTUSED
    signature: DNS_NOTUSED dns_strnlcpy(char *dst, size_t lim, const char *src, size_t
      max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - af
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 813
    functionName: dns_af_len
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t dns_af_len(int af)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 816
    functionName: dns_sa_family
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_sa_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: 818
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 818
    functionName: dns_sa_len
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_sa_len(sa)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - af
    - sa
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 832
    functionName: dns_sa_port
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short *dns_sa_port(int af, void *sa)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - af
    - sa
    - size
    argTypes:
    - int
    - void*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 859
    functionName: dns_sa_addr
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *dns_sa_addr(int af, const void *sa, socklen_t *size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_sa_family
      Src: /src/gnupg/dirmngr/dns.c:867,1
    - Dst: dns_strnlen
      Src: /src/gnupg/dirmngr/dns.c:873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - sa
    - size
    argTypes:
    - void*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 884
    functionName: dns_sa_path
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_strnlen
    - dns_sa_family
    linkageType: ''
    returnType: DNS_NOTUSED
    signature: DNS_NOTUSED *dns_sa_path(void *sa, socklen_t *size)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_sa_family
      Src: /src/gnupg/dirmngr/dns.c:890,1
    - Dst: dns_sa_family
      Src: /src/gnupg/dirmngr/dns.c:890,1
    - Dst: dns_sa_family
      Src: /src/gnupg/dirmngr/dns.c:893,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:897,1
    - Dst: dns_sa_port
      Src: /src/gnupg/dirmngr/dns.c:897,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:897,1
    - Dst: dns_sa_port
      Src: /src/gnupg/dirmngr/dns.c:897,1
    - Dst: dns_sa_addr
      Src: /src/gnupg/dirmngr/dns.c:900,1
    - Dst: dns_sa_addr
      Src: /src/gnupg/dirmngr/dns.c:901,1
    - Dst: ntohl
      Src: /src/gnupg/dirmngr/dns.c:903,1
    - Dst: ntohl
      Src: /src/gnupg/dirmngr/dns.c:903,1
    - Dst: ntohl
      Src: /src/gnupg/dirmngr/dns.c:905,1
    - Dst: ntohl
      Src: /src/gnupg/dirmngr/dns.c:905,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:914,1
    - Dst: dns_sa_port
      Src: /src/gnupg/dirmngr/dns.c:914,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:914,1
    - Dst: dns_sa_port
      Src: /src/gnupg/dirmngr/dns.c:914,1
    - Dst: dns_sa_addr
      Src: /src/gnupg/dirmngr/dns.c:917,1
    - Dst: dns_sa_addr
      Src: /src/gnupg/dirmngr/dns.c:918,1
    - Dst: dns_strnlcpy
      Src: /src/gnupg/dirmngr/dns.c:932,1
    - Dst: dns_sa_path
      Src: /src/gnupg/dirmngr/dns.c:932,1
    - Dst: dns_strnlcpy
      Src: /src/gnupg/dirmngr/dns.c:933,1
    - Dst: dns_sa_path
      Src: /src/gnupg/dirmngr/dns.c:933,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dns.c:935,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 941
    functionName: dns_sa_cmp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - ntohl
    - htons
    - dns_strnlcpy
    - strcmp
    - dns_sa_path
    - dns_sa_port
    - dns_sa_family
    - dns_sa_addr
    linkageType: ''
    returnType: int
    signature: int dns_sa_cmp(void *a, void *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WSAStringToAddressA
      Src: /src/gnupg/dirmngr/dns.c:951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - af
    - src
    - dst
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 966
    functionName: dns_inet_pton
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - WSAStringToAddressA
    linkageType: ''
    returnType: int
    signature: int dns_inet_pton(int af, const void *src, void *dst)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:972,1
    - Dst: WSAAddressToStringA
      Src: /src/gnupg/dirmngr/dns.c:988,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - af
    - src
    - dst
    - lim
    argTypes:
    - int
    - void*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 992
    functionName: dns_inet_ntop
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - WSAAddressToStringA
    - memset
    - dns_sa_len
    linkageType: ''
    returnType: char
    signature: char *dns_inet_ntop(int af, const void *src, void *dst, unsigned long
      lim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 995
    functionName: dns_inet_pton
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_inet_pton(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 996
    functionName: dns_inet_ntop
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_inet_ntop(...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_inet_pton
      Src: /src/gnupg/dirmngr/dns.c:1000,1
    - Dst: dns_soerr
      Src: /src/gnupg/dirmngr/dns.c:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - af
    - src
    - dst
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1008
    functionName: dns_pton
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_inet_pton
    - dns_soerr
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_pton(int af, const void *src, void *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_inet_ntop
      Src: /src/gnupg/dirmngr/dns.c:1012,1
    - Dst: dns_soerr
      Src: /src/gnupg/dirmngr/dns.c:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - af
    - src
    - dst
    - lim
    argTypes:
    - int
    - void*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1011
    functionDepth: 2
    functionLinenumber: 1011
    functionLinenumberEnd: 1013
    functionName: dns_ntop
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_soerr
    - dns_inet_ntop
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_ntop(int af, const void *src, void *dst, unsigned long
      lim)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - dst
    - src
    - lim
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1034
    functionName: dns_strlcpy
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t dns_strlcpy(char *dst, const char *src, size_t lim)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/gnupg/dirmngr/dns.c:1038,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - dst
    - src
    - lim
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1058
    functionName: dns_strlcat
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: size_t
    signature: size_t dns_strlcat(char *dst, const char *src, size_t lim)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnupg/dirmngr/dns.c:1069,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - p
    - nmemb
    - size
    - error
    argTypes:
    - void*
    - size_t
    - size_t
    - dns_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1073
    functionName: dns_reallocarray
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void *dns_reallocarray(void *p, size_t nmemb, size_t size, dns_error_t
      *error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/gnupg/dirmngr/dns.c:1084,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - sp
    - delim
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1093
    functionName: dns_strsep
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - strcspn
    linkageType: ''
    returnType: char
    signature: char *dns_strsep(char **sp, const char *delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1097
    functionName: dns_strsep
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_strsep(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1102
    functionName: strcasecmp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 94
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strcasecmp(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1103
    functionName: strncasecmp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strncasecmp(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/gnupg/dirmngr/dns.c:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1108
    functionName: dns_isalpha
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: _Bool
    signature: _Bool dns_isalpha(unsigned char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/gnupg/dirmngr/dns.c:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1112
    functionName: dns_isdigit
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: _Bool
    signature: _Bool dns_isdigit(unsigned char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/gnupg/dirmngr/dns.c:1115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1116
    functionName: dns_isalnum
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - isalnum
    linkageType: ''
    returnType: _Bool
    signature: _Bool dns_isalnum(unsigned char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/gnupg/dirmngr/dns.c:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1120
    functionName: dns_isspace
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - isspace
    linkageType: ''
    returnType: _Bool
    signature: _Bool dns_isspace(unsigned char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isgraph
      Src: /src/gnupg/dirmngr/dns.c:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1124
    functionName: dns_isgraph
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - isgraph
    linkageType: ''
    returnType: _Bool
    signature: _Bool dns_isgraph(unsigned char c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/gnupg/dirmngr/dns.c:1137,1
    - Dst: FD_ZERO
      Src: /src/gnupg/dirmngr/dns.c:1138,1
    - Dst: FD_SET
      Src: /src/gnupg/dirmngr/dns.c:1141,1
    - Dst: FD_SET
      Src: /src/gnupg/dirmngr/dns.c:1144,1
    - Dst: select
      Src: /src/gnupg/dirmngr/dns.c:1146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - fd
    - events
    - timeout
    argTypes:
    - int
    - short
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1149
    functionName: dns_poll
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - FD_ZERO
    - select
    - FD_SET
    linkageType: ''
    returnType: int
    signature: int dns_poll(int fd, short events, int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_sigmask
      Src: /src/gnupg/dirmngr/dns.c:1155,1
    - Dst: sigprocmask
      Src: /src/gnupg/dirmngr/dns.c:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - how
    - set
    - oset
    argTypes:
    - int
    - sigset_t*
    - sigset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1159
    functionName: dns_sigmask
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - pthread_sigmask
    - sigprocmask
    linkageType: ''
    returnType: DNS_NOTUSED
    signature: DNS_NOTUSED dns_sigmask(int how, const sigset_t *set, sigset_t *oset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnupg/dirmngr/dns.c:1164,1
    - Dst: dns_soerr
      Src: /src/gnupg/dirmngr/dns.c:1167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - fd
    - src
    - len
    - flags
    - error
    argTypes:
    - int
    - void*
    - size_t
    - int
    - dns_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1173
    functionName: dns_send
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - send
    - dns_soerr
    linkageType: ''
    returnType: size_t
    signature: size_t dns_send(int fd, const void *src, size_t len, int flags, dns_error_t
      *error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/gnupg/dirmngr/dns.c:1176,1
    - Dst: dns_soerr
      Src: /src/gnupg/dirmngr/dns.c:1179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - fd
    - dst
    - lim
    - flags
    - error
    argTypes:
    - int
    - void*
    - size_t
    - int
    - dns_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1188
    functionName: dns_recv
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_soerr
    - recv
    linkageType: ''
    returnType: size_t
    signature: size_t dns_recv(int fd, void *dst, size_t lim, int flags, dns_error_t
      *error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_send
      Src: /src/gnupg/dirmngr/dns.c:1192,1
    - Dst: dns_send
      Src: /src/gnupg/dirmngr/dns.c:1194,1
    - Dst: sigemptyset
      Src: /src/gnupg/dirmngr/dns.c:1204,1
    - Dst: sigpending
      Src: /src/gnupg/dirmngr/dns.c:1205,1
    - Dst: sigismember
      Src: /src/gnupg/dirmngr/dns.c:1207,1
    - Dst: sigemptyset
      Src: /src/gnupg/dirmngr/dns.c:1208,1
    - Dst: sigaddset
      Src: /src/gnupg/dirmngr/dns.c:1209,1
    - Dst: sigemptyset
      Src: /src/gnupg/dirmngr/dns.c:1210,1
    - Dst: dns_sigmask
      Src: /src/gnupg/dirmngr/dns.c:1212,1
    - Dst: dns_send
      Src: /src/gnupg/dirmngr/dns.c:1216,1
    - Dst: sigismember
      Src: /src/gnupg/dirmngr/dns.c:1218,1
    - Dst: sigtimedwait
      Src: /src/gnupg/dirmngr/dns.c:1223,1
    - Dst: dns_sigmask
      Src: /src/gnupg/dirmngr/dns.c:1227,1
    - Dst: dns_send
      Src: /src/gnupg/dirmngr/dns.c:1240,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 5
    argNames:
    - fd
    - src
    - len
    - flags
    - _error
    argTypes:
    - int
    - void*
    - size_t
    - int
    - dns_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1190
    functionDepth: 2
    functionLinenumber: 1190
    functionLinenumberEnd: 1242
    functionName: dns_send_nopipe
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - sigtimedwait
    - sigaddset
    - sigpending
    - sigismember
    - dns_sigmask
    - dns_send
    - sigemptyset
    linkageType: ''
    returnType: size_t
    signature: size_t dns_send_nopipe(int fd, const void *src, size_t len, int flags,
      dns_error_t *_error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/gnupg/dirmngr/dns.c:1246,1
    - Dst: dns_soerr
      Src: /src/gnupg/dirmngr/dns.c:1247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - addr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1249
    functionName: dns_connect
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_soerr
    - connect
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_connect(int fd, const struct sockaddr *addr, socklen_t
      addrlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/dirmngr/dns.c:1258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - dst
    - src
    - lim
    - fc
    argTypes:
    - char*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1276
    functionName: dns_fopen_addflag
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_fopen_addflag(char *dst, const char *src, size_t lim,
      int fc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/dirmngr/dns.c:1283,1
    - Dst: dns_fopen_addflag
      Src: /src/gnupg/dirmngr/dns.c:1290,1
    - Dst: fopen
      Src: /src/gnupg/dirmngr/dns.c:1292,1
    - Dst: dns_fopen_addflag
      Src: /src/gnupg/dirmngr/dns.c:1295,1
    - Dst: fopen
      Src: /src/gnupg/dirmngr/dns.c:1297,1
    - Dst: fopen
      Src: /src/gnupg/dirmngr/dns.c:1300,1
    - Dst: dns_syerr
      Src: /src/gnupg/dirmngr/dns.c:1307,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 3
    argNames:
    - path
    - mode
    - _error
    argTypes:
    - char*
    - char*
    - dns_error_t*
    assertStmts:
    - condition: (path && mode && *mode)
      pos:
        line_end: 1282
        line_start: 1282
        source_file: /src/gnupg/dirmngr/dns.c
    constantsTouched: []
    func_position:
      end: 1312
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1312
    functionName: dns_fopen
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_syerr
    - dns_fopen_addflag
    - fopen
    - assert
    linkageType: ''
    returnType: FILE
    signature: FILE *dns_fopen(const char *path, const char *mode, dns_error_t *_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:1344,1
    - Dst: dns_isgraph
      Src: /src/gnupg/dirmngr/dns.c:1355,1
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:1361,1
    - Dst: DNS_SM_YIELD
      Src: /src/gnupg/dirmngr/dns.c:1362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - dst
    - lim
    - src
    - len
    - state
    argTypes:
    - void*
    - size_t
    - unsigned char*
    - size_t
    - struct dns_hxd_lines_i*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1369
    functionName: dns_hxd_lines
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_strlcpy
    - memcpy
    - DNS_SM_YIELD
    - dns_isgraph
    linkageType: ''
    returnType: size_t
    signature: size_t dns_hxd_lines(void *dst, size_t lim, const unsigned char *src,
      size_t len, struct dns_hxd_lines_i *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - error
    - ','
    - r
    - ','
    - f
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1385
    functionName: DNS_CHECK_OVERFLOW
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_CHECK_OVERFLOW(error, r, f, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - r
    - n
    - clamp
    argTypes:
    - uintmax_t*
    - uintmax_t
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1394
    functionName: dns_clamp_overflow
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_clamp_overflow(uintmax_t *r, uintmax_t n, uintmax_t
      clamp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:1398,1
    - Dst: UINTMAX_C
      Src: /src/gnupg/dirmngr/dns.c:1398,1
    - Dst: dns_clamp_overflow
      Src: /src/gnupg/dirmngr/dns.c:1401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - r
    - a
    - b
    - clamp
    argTypes:
    - uintmax_t*
    - uintmax_t
    - uintmax_t
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1396
    functionDepth: 1
    functionLinenumber: 1396
    functionLinenumberEnd: 1403
    functionName: dns_add_overflow
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_PP_MIN
    - dns_clamp_overflow
    - UINTMAX_C
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_add_overflow(uintmax_t *r, uintmax_t a, uintmax_t b,
      uintmax_t clamp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:1407,1
    - Dst: UINTMAX_C
      Src: /src/gnupg/dirmngr/dns.c:1407,1
    - Dst: dns_clamp_overflow
      Src: /src/gnupg/dirmngr/dns.c:1410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - r
    - a
    - b
    - clamp
    argTypes:
    - uintmax_t*
    - uintmax_t
    - uintmax_t
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1412
    functionName: dns_mul_overflow
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_PP_MIN
    - dns_clamp_overflow
    - UINTMAX_C
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_mul_overflow(uintmax_t *r, uintmax_t a, uintmax_t b,
      uintmax_t clamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - src
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1424
    functionName: DNS_B_INIT
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_B_INIT(src, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - src
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1425
    functionDepth: 0
    functionLinenumber: 1425
    functionLinenumberEnd: 1426
    functionName: DNS_B_FROM
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_B_FROM(src, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - src
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1427
    functionName: DNS_B_INTO
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_B_INTO(src, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct dns_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1440
    functionName: dns_b_tell
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t dns_b_tell(struct dns_buf *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - b
    - n
    - error
    argTypes:
    - struct dns_buf*
    - size_t
    - dns_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1447
    functionName: dns_b_setoverflow
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_b_setoverflow(struct dns_buf *b, size_t n, dns_error_t
      error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_B_INTO
      Src: /src/gnupg/dirmngr/dns.c:1452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - b
    - src
    - n
    argTypes:
    - struct dns_buf*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1455
    functionName: dns_b_into
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_B_INTO
    linkageType: ''
    returnType: DNS_NOTUSED
    signature: 'DNS_NOTUSED *

      dns_b_into(struct dns_buf *b, void *src, size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_b_setoverflow
      Src: /src/gnupg/dirmngr/dns.c:1461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - b
    - uc
    argTypes:
    - struct dns_buf*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1466
    functionName: dns_b_putc
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_b_setoverflow
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_b_putc(struct dns_buf *b, unsigned char uc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_b_setoverflow
      Src: /src/gnupg/dirmngr/dns.c:1473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - b
    - uc
    - p
    argTypes:
    - struct dns_buf*
    - unsigned char
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 1478
    functionName: dns_b_pputc
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_b_setoverflow
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_b_pputc(struct dns_buf *b, unsigned char uc, size_t
      p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:1483,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - u
    argTypes:
    - struct dns_buf*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1480
    functionDepth: 2
    functionLinenumber: 1480
    functionLinenumberEnd: 1484
    functionName: dns_b_put16
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_b_putc
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_b_put16(struct dns_buf *b, uint16_t u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_b_pputc
      Src: /src/gnupg/dirmngr/dns.c:1489,1
    - Dst: dns_b_pputc
      Src: /src/gnupg/dirmngr/dns.c:1489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - b
    - u
    - p
    argTypes:
    - struct dns_buf*
    - uint16_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1486
    functionDepth: 2
    functionLinenumber: 1486
    functionLinenumberEnd: 1493
    functionName: dns_b_pput16
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_b_pputc
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_b_pput16(struct dns_buf *b, uint16_t u, size_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:1498,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:1498,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:1499,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:1499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - u
    argTypes:
    - struct dns_buf*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1495
    functionDepth: 2
    functionLinenumber: 1495
    functionLinenumberEnd: 1500
    functionName: dns_error_t::dns_b_put32
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_b_putc
    linkageType: ''
    returnType: DNS_NOTUSED
    signature: 'DNS_NOTUSED dns_error_t

      dns_b_put32(struct dns_buf *b, uint32_t u)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:1505,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:1507,1
    - Dst: dns_b_setoverflow
      Src: /src/gnupg/dirmngr/dns.c:1511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - b
    - src
    - len
    argTypes:
    - struct dns_buf*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1502
    functionDepth: 1
    functionLinenumber: 1502
    functionLinenumberEnd: 1514
    functionName: dns_b_put
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_PP_MIN
    - memcpy
    - dns_b_setoverflow
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_b_put(struct dns_buf *b, const void *src, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_b_put
      Src: /src/gnupg/dirmngr/dns.c:1519,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - src
    argTypes:
    - struct dns_buf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1516
    functionDepth: 2
    functionLinenumber: 1516
    functionLinenumberEnd: 1520
    functionName: dns_b_puts
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_b_put
    - strlen
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_b_puts(struct dns_buf *b, const void *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:1536,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:1537,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:1540,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:1548,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - b
    - u
    - width
    argTypes:
    - struct dns_buf*
    - uintmax_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1522
    functionDepth: 2
    functionLinenumber: 1522
    functionLinenumberEnd: 1560
    functionName: dns_error_t::dns_b_fmtju
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_PP_MIN
    - dns_b_putc
    linkageType: ''
    returnType: DNS_NOTUSED
    signature: 'DNS_NOTUSED dns_error_t

      dns_b_fmtju(struct dns_buf *b, const uintmax_t u, const unsigned width)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct dns_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1569
    functionName: dns_b_popc
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_b_popc(struct dns_buf *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_b_setoverflow
      Src: /src/gnupg/dirmngr/dns.c:1581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - b
    - n
    argTypes:
    - struct dns_buf*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1571
    functionDepth: 1
    functionLinenumber: 1571
    functionLinenumberEnd: 1592
    functionName: dns_b_tolstring
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_b_setoverflow
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_b_tolstring(struct dns_buf *b, size_t *n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_b_tolstring
      Src: /src/gnupg/dirmngr/dns.c:1598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct dns_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1594
    functionDepth: 2
    functionLinenumber: 1594
    functionLinenumberEnd: 1599
    functionName: dns_b_tostring
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_b_tolstring
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_b_tostring(struct dns_buf *b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_b_tolstring
      Src: /src/gnupg/dirmngr/dns.c:1605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct dns_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1601
    functionDepth: 2
    functionLinenumber: 1601
    functionLinenumberEnd: 1607
    functionName: dns_b_strlen
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_b_tolstring
    linkageType: ''
    returnType: size_t
    signature: size_t dns_b_strlen(struct dns_buf *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_b_strlen
      Src: /src/gnupg/dirmngr/dns.c:1612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct dns_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1609
    functionDepth: 3
    functionLinenumber: 1609
    functionLinenumberEnd: 1614
    functionName: dns_b_strllen
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_b_strlen
    linkageType: ''
    returnType: size_t
    signature: size_t dns_b_strllen(struct dns_buf *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_B_FROM
      Src: /src/gnupg/dirmngr/dns.c:1619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - b
    - src
    - n
    argTypes:
    - struct dns_buf*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1616
    functionDepth: 1
    functionLinenumber: 1616
    functionLinenumberEnd: 1622
    functionName: dns_b_from
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_B_FROM
    linkageType: ''
    returnType: DNS_NOTUSED
    signature: 'DNS_NOTUSED *

      dns_b_from(const struct dns_buf *b, const void *src, size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_b_setoverflow
      Src: /src/gnupg/dirmngr/dns.c:1630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - _b
    - eof
    argTypes:
    - struct dns_buf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1624
    functionDepth: 1
    functionLinenumber: 1624
    functionLinenumberEnd: 1633
    functionName: dns_b_getc
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_b_setoverflow
    linkageType: ''
    returnType: int
    signature: int dns_b_getc(const struct dns_buf *_b, const int eof)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_b_getc
      Src: /src/gnupg/dirmngr/dns.c:1640,1
    - Dst: dns_b_getc
      Src: /src/gnupg/dirmngr/dns.c:1641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - eof
    argTypes:
    - struct dns_buf*
    - intmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1635
    functionDepth: 2
    functionLinenumber: 1635
    functionLinenumberEnd: 1644
    functionName: dns_b_get16
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_b_getc
    linkageType: ''
    returnType: intmax_t
    signature: intmax_t dns_b_get16(const struct dns_buf *b, const intmax_t eof)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_b_get16
      Src: /src/gnupg/dirmngr/dns.c:1651,1
    - Dst: dns_b_get16
      Src: /src/gnupg/dirmngr/dns.c:1652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - eof
    argTypes:
    - struct dns_buf*
    - intmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1646
    functionDepth: 3
    functionLinenumber: 1646
    functionLinenumberEnd: 1655
    functionName: dns_b_get32
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_b_get16
    linkageType: ''
    returnType: DNS_NOTUSED
    signature: DNS_NOTUSED dns_b_get32(const struct dns_buf *b, const intmax_t eof)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:1661,1
    - Dst: dns_b_put
      Src: /src/gnupg/dirmngr/dns.c:1664,1
    - Dst: dns_b_setoverflow
      Src: /src/gnupg/dirmngr/dns.c:1668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - _src
    - n
    argTypes:
    - struct dns_buf*
    - struct dns_buf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1657
    functionDepth: 2
    functionLinenumber: 1657
    functionLinenumberEnd: 1671
    functionName: dns_b_move
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_PP_MIN
    - dns_b_put
    - dns_b_setoverflow
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_b_move(struct dns_buf *dst, const struct dns_buf *_src,
      size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1682
    functionName: DNS_TIME_C
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_TIME_C(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_CHECK_OVERFLOW
      Src: /src/gnupg/dirmngr/dns.c:1689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - dns_time_t*
    - dns_time_t
    - dns_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1687
    functionDepth: 1
    functionLinenumber: 1687
    functionLinenumberEnd: 1691
    functionName: dns_time_add
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_CHECK_OVERFLOW
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_time_add(dns_time_t *r, dns_time_t a, dns_time_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_CHECK_OVERFLOW
      Src: /src/gnupg/dirmngr/dns.c:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - dns_time_t*
    - dns_time_t
    - dns_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1693
    functionDepth: 1
    functionLinenumber: 1693
    functionLinenumberEnd: 1697
    functionName: dns_time_mul
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_CHECK_OVERFLOW
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_time_mul(dns_time_t *r, dns_time_t a, dns_time_t b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNS_TIME_C
      Src: /src/gnupg/dirmngr/dns.c:1701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - dns_time_t*
    - dns_time_t
    - dns_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1707
    functionName: dns_time_diff
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_TIME_C
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_time_diff(dns_time_t *r, dns_time_t a, dns_time_t b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DNS_PP_MAX
      Src: /src/gnupg/dirmngr/dns.c:1711,1
    - Dst: DNS_PP_MAX
      Src: /src/gnupg/dirmngr/dns.c:1712,1
    - Dst: dns_time_mul
      Src: /src/gnupg/dirmngr/dns.c:1718,1
    - Dst: DNS_TIME_C
      Src: /src/gnupg/dirmngr/dns.c:1718,1
    - Dst: dns_time_add
      Src: /src/gnupg/dirmngr/dns.c:1719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ts
    - rup
    argTypes:
    - struct timespec*
    - _Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1709
    functionDepth: 2
    functionLinenumber: 1709
    functionLinenumberEnd: 1725
    functionName: dns_ts2us
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_time_mul
    - dns_time_add
    - DNS_PP_MAX
    - DNS_TIME_C
    linkageType: ''
    returnType: dns_microseconds_t
    signature: dns_microseconds_t dns_ts2us(const struct timespec *ts, _Bool rup)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ts
    - tv
    argTypes:
    - struct timespec*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1736
    functionName: dns_tv2ts
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct timespec
    signature: struct timespec *dns_tv2ts(struct timespec *ts, const struct timeval
      *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_B_INTO
      Src: /src/gnupg/dirmngr/dns.c:1739,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:1741,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:1742,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:1743,1
    - Dst: dns_b_strllen
      Src: /src/gnupg/dirmngr/dns.c:1745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - _dst
    - lim
    - us
    argTypes:
    - void*
    - size_t
    - dns_microseconds_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1738
    functionDepth: 4
    functionLinenumber: 1738
    functionLinenumberEnd: 1746
    functionName: dns_utime_print
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_B_INTO
    - dns_b_strllen
    - dns_b_putc
    - dns_b_fmtju
    linkageType: ''
    returnType: size_t
    signature: size_t dns_utime_print(void *_dst, size_t lim, dns_microseconds_t us)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/gnupg/dirmngr/dns.c:1758,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:1758,1
    - Dst: ntohs
      Src: /src/gnupg/dirmngr/dns.c:1760,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:1760,1
    - Dst: ntohs
      Src: /src/gnupg/dirmngr/dns.c:1762,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:1762,1
    - Dst: ntohs
      Src: /src/gnupg/dirmngr/dns.c:1764,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:1764,1
    - Dst: ntohs
      Src: /src/gnupg/dirmngr/dns.c:1769,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:1769,1
    - Dst: ntohs
      Src: /src/gnupg/dirmngr/dns.c:1771,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:1771,1
    - Dst: ntohs
      Src: /src/gnupg/dirmngr/dns.c:1773,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:1773,1
    - Dst: ntohs
      Src: /src/gnupg/dirmngr/dns.c:1775,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:1775,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - P
    - section
    argTypes:
    - struct dns_packet*
    - enum dns_section
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1753
    functionDepth: 1
    functionLinenumber: 1753
    functionLinenumberEnd: 1779
    functionName: dns_p_count
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_header
    - ntohs
    linkageType: ''
    returnType: unsigned
    signature: unsigned dns_p_count(struct dns_packet *P, enum dns_section section)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/dirmngr/dns.c:1786,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:1788,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:1792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - P
    - size
    argTypes:
    - struct dns_packet*
    - size_t
    assertStmts:
    - condition: (size >= offsetof(struct dns_packet, data) + 12)
      pos:
        line_end: 1785
        line_start: 1785
        source_file: /src/gnupg/dirmngr/dns.c
    constantsTouched: []
    func_position:
      end: 1795
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1795
    functionName: dns_p_init
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - memset
    - assert
    linkageType: ''
    returnType: struct dns_packet
    signature: struct dns_packet *dns_p_init(struct dns_packet *P, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_init
      Src: /src/gnupg/dirmngr/dns.c:1799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - P
    argTypes:
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1798
    functionDepth: 1
    functionLinenumber: 1798
    functionLinenumberEnd: 1800
    functionName: dns_p_reset
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_p_init
    linkageType: ''
    returnType: struct dns_packet
    signature: struct dns_packet *dns_p_reset(struct dns_packet *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_count
      Src: /src/gnupg/dirmngr/dns.c:1805,1
    - Dst: dns_d_skip
      Src: /src/gnupg/dirmngr/dns.c:1808,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:1817,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - P
    argTypes:
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1803
    functionDepth: 2
    functionLinenumber: 1803
    functionLinenumberEnd: 1820
    functionName: dns_p_qend
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_PP_MIN
    - dns_p_count
    - dns_d_skip
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short dns_p_qend(struct dns_packet *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_calcsize
      Src: /src/gnupg/dirmngr/dns.c:1825,1
    - Dst: dns_p_init
      Src: /src/gnupg/dirmngr/dns.c:1827,1
    - Dst: malloc
      Src: /src/gnupg/dirmngr/dns.c:1827,1
    - Dst: dns_syerr
      Src: /src/gnupg/dirmngr/dns.c:1828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - len
    - error
    argTypes:
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1831
    functionName: dns_p_make
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_syerr
    - dns_p_calcsize
    - malloc
    - dns_p_init
    linkageType: ''
    returnType: struct dns_packet
    signature: struct dns_packet *dns_p_make(size_t len, int *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:1835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - P
    argTypes:
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1836
    functionName: dns_p_free
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void dns_p_free(struct dns_packet *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_free
      Src: /src/gnupg/dirmngr/dns.c:1841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct dns_packet**
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1840
    functionDepth: 1
    functionLinenumber: 1840
    functionLinenumberEnd: 1846
    functionName: dns_p_setptr
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_p_free
    linkageType: ''
    returnType: struct dns_packet
    signature: struct dns_packet *dns_p_setptr(struct dns_packet **dst, struct dns_packet
      *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:1850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct dns_packet**
    - struct dns_packet**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1849
    functionDepth: 2
    functionLinenumber: 1849
    functionLinenumberEnd: 1855
    functionName: dns_p_movptr
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_p_setptr
    linkageType: ''
    returnType: struct dns_packet
    signature: struct dns_packet *dns_p_movptr(struct dns_packet **dst, struct dns_packet
      **src)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_make
      Src: /src/gnupg/dirmngr/dns.c:1864,1
    - Dst: dns_p_sizeof
      Src: /src/gnupg/dirmngr/dns.c:1870,1
    - Dst: realloc
      Src: /src/gnupg/dirmngr/dns.c:1880,1
    - Dst: dns_p_calcsize
      Src: /src/gnupg/dirmngr/dns.c:1880,1
    - Dst: dns_syerr
      Src: /src/gnupg/dirmngr/dns.c:1881,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - P
    argTypes:
    - struct dns_packet**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1858
    functionDepth: 2
    functionLinenumber: 1858
    functionLinenumberEnd: 1887
    functionName: dns_p_grow
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_syerr
    - realloc
    - dns_p_calcsize
    - dns_p_make
    - dns_p_sizeof
    linkageType: ''
    returnType: int
    signature: int dns_p_grow(struct dns_packet **P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:1894,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:1896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - P
    - P0
    argTypes:
    - struct dns_packet*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1890
    functionDepth: 1
    functionLinenumber: 1890
    functionLinenumberEnd: 1899
    functionName: dns_p_copy
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_PP_MIN
    - memcpy
    linkageType: ''
    returnType: struct dns_packet
    signature: struct dns_packet *dns_p_copy(struct dns_packet *P, const struct dns_packet
      *P0)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:1903,1
    - Dst: dns_p_make
      Src: /src/gnupg/dirmngr/dns.c:1916,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:1921,1
    - Dst: dns_rr_copy
      Src: /src/gnupg/dirmngr/dns.c:1922,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:1928,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:1931,1
    - Dst: dns_rr_cmp
      Src: /src/gnupg/dirmngr/dns.c:1932,1
    - Dst: dns_rr_copy
      Src: /src/gnupg/dirmngr/dns.c:1936,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:1944,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:1947,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 5
    argNames:
    - A
    - Amask
    - B
    - Bmask
    - error_
    argTypes:
    - struct dns_packet*
    - enum dns_section
    - struct dns_packet*
    - enum dns_section
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1902
    functionDepth: 2
    functionLinenumber: 1902
    functionLinenumberEnd: 1955
    functionName: dns_p_merge
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_rr_foreach
    - dns_rr_cmp
    - dns_rr_copy
    - DNS_PP_MIN
    - dns_p_setptr
    - dns_p_make
    linkageType: ''
    returnType: struct dns_packet
    signature: struct dns_packet *dns_p_merge(struct dns_packet *A, enum dns_section
      Amask, struct dns_packet *B, enum dns_section Bmask, int *error_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:1970,1
    - Dst: dns_l_skip
      Src: /src/gnupg/dirmngr/dns.c:1979,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:1982,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - P
    - dn
    argTypes:
    - struct dns_packet*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1960
    functionDepth: 1
    functionLinenumber: 1960
    functionLinenumberEnd: 1989
    functionName: dns_p_dictadd
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_l_skip
    - lengthof
    linkageType: ''
    returnType: void
    signature: void dns_p_dictadd(struct dns_packet *P, unsigned short dn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/gnupg/dirmngr/dns.c:1995,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:1998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count_net
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1992
    functionDepth: 0
    functionLinenumber: 1992
    functionLinenumberEnd: 1999
    functionName: plus1_ns
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - ntohs
    - htons
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t plus1_ns (uint16_t count_net)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: dns_d_push
      Src: /src/gnupg/dirmngr/dns.c:2005,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:2024,1
    - Dst: dns_any_push
      Src: /src/gnupg/dirmngr/dns.c:2030,1
    - Dst: dns_p_count
      Src: /src/gnupg/dirmngr/dns.c:2036,1
    - Dst: dns_p_study
      Src: /src/gnupg/dirmngr/dns.c:2039,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2042,1
    - Dst: plus1_ns
      Src: /src/gnupg/dirmngr/dns.c:2042,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2042,1
    - Dst: dns_p_count
      Src: /src/gnupg/dirmngr/dns.c:2054,1
    - Dst: dns_p_study
      Src: /src/gnupg/dirmngr/dns.c:2057,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2060,1
    - Dst: plus1_ns
      Src: /src/gnupg/dirmngr/dns.c:2060,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2060,1
    - Dst: dns_p_count
      Src: /src/gnupg/dirmngr/dns.c:2070,1
    - Dst: dns_p_study
      Src: /src/gnupg/dirmngr/dns.c:2073,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2076,1
    - Dst: plus1_ns
      Src: /src/gnupg/dirmngr/dns.c:2076,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2076,1
    - Dst: dns_p_study
      Src: /src/gnupg/dirmngr/dns.c:2084,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2087,1
    - Dst: plus1_ns
      Src: /src/gnupg/dirmngr/dns.c:2087,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2087,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 103
    argCount: 8
    argNames:
    - P
    - section
    - dn
    - dnlen
    - type
    - class
    - ttl
    - any
    argTypes:
    - struct dns_packet*
    - enum dns_section
    - void*
    - size_t
    - enum dns_type
    - enum dns_class
    - unsigned
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2001
    functionDepth: 2
    functionLinenumber: 2001
    functionLinenumberEnd: 2117
    functionName: dns_p_push
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_any_push
    - dns_p_study
    - dns_d_push
    - DNS_PP_MIN
    - dns_header
    - dns_p_count
    - plus1_ns
    linkageType: ''
    returnType: int
    signature: int dns_p_push(struct dns_packet *P, enum dns_section section, const
      void *dn, size_t dnlen, enum dns_type type, enum dns_class class, unsigned ttl,
      const void *any)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/dirmngr/dns.c:2133,1
    - Dst: vsnprintf
      Src: /src/gnupg/dirmngr/dns.c:2134,1
    - Dst: va_end
      Src: /src/gnupg/dirmngr/dns.c:2136,1
    - Dst: DNS_PP_MAX
      Src: /src/gnupg/dirmngr/dns.c:2139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - dst
    - lim
    - _error
    - fmt
    argTypes:
    - void*
    - size_t
    - dns_error_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2129
    functionDepth: 1
    functionLinenumber: 2129
    functionLinenumberEnd: 2140
    functionName: dns_p_lines_fmt
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_end
    - DNS_PP_MAX
    - va_start
    linkageType: ''
    returnType: size_t
    signature: size_t dns_p_lines_fmt(void *dst, size_t lim, dns_error_t *_error,
      const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2142
    functionDepth: 0
    functionLinenumber: 2142
    functionLinenumberEnd: 2149
    functionName: DNS_P_LINE
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_P_LINE(...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DNS_P_LINE
      Src: /src/gnupg/dirmngr/dns.c:2159,1
    - Dst: DNS_P_LINE
      Src: /src/gnupg/dirmngr/dns.c:2160,1
    - Dst: ntohs
      Src: /src/gnupg/dirmngr/dns.c:2160,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2160,1
    - Dst: DNS_P_LINE
      Src: /src/gnupg/dirmngr/dns.c:2161,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2161,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2161,1
    - Dst: DNS_P_LINE
      Src: /src/gnupg/dirmngr/dns.c:2162,1
    - Dst: dns_stropcode
      Src: /src/gnupg/dirmngr/dns.c:2162,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2162,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2162,1
    - Dst: DNS_P_LINE
      Src: /src/gnupg/dirmngr/dns.c:2163,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2163,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2163,1
    - Dst: DNS_P_LINE
      Src: /src/gnupg/dirmngr/dns.c:2164,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2164,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2164,1
    - Dst: DNS_P_LINE
      Src: /src/gnupg/dirmngr/dns.c:2165,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2165,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2165,1
    - Dst: DNS_P_LINE
      Src: /src/gnupg/dirmngr/dns.c:2166,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2166,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2166,1
    - Dst: DNS_P_LINE
      Src: /src/gnupg/dirmngr/dns.c:2167,1
    - Dst: dns_strrcode
      Src: /src/gnupg/dirmngr/dns.c:2167,1
    - Dst: dns_p_rcode
      Src: /src/gnupg/dirmngr/dns.c:2167,1
    - Dst: dns_p_rcode
      Src: /src/gnupg/dirmngr/dns.c:2167,1
    - Dst: dns_rr_grep
      Src: /src/gnupg/dirmngr/dns.c:2169,1
    - Dst: DNS_P_LINE
      Src: /src/gnupg/dirmngr/dns.c:2171,1
    - Dst: DNS_P_LINE
      Src: /src/gnupg/dirmngr/dns.c:2172,1
    - Dst: dns_strsection
      Src: /src/gnupg/dirmngr/dns.c:2172,1
    - Dst: dns_p_count
      Src: /src/gnupg/dirmngr/dns.c:2172,1
    - Dst: dns_rr_print
      Src: /src/gnupg/dirmngr/dns.c:2175,1
    - Dst: dns_strlcat
      Src: /src/gnupg/dirmngr/dns.c:2177,1
    - Dst: DNS_SM_YIELD
      Src: /src/gnupg/dirmngr/dns.c:2178,1
    - Dst: DNS_SM_YIELD
      Src: /src/gnupg/dirmngr/dns.c:2190,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 6
    argNames:
    - dst
    - lim
    - _error
    - P
    - I
    - state
    argTypes:
    - void*
    - size_t
    - dns_error_t*
    - struct dns_packet*
    - struct dns_rr_i*
    - struct dns_p_lines_i*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2150
    functionDepth: 2
    functionLinenumber: 2150
    functionLinenumberEnd: 2197
    functionName: dns_p_lines
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_stropcode
    - dns_p_rcode
    - DNS_SM_YIELD
    - dns_rr_grep
    - dns_header
    - dns_strrcode
    - DNS_P_LINE
    - dns_p_count
    - dns_strsection
    - ntohs
    - dns_strlcat
    - dns_rr_print
    linkageType: ''
    returnType: size_t
    signature: size_t dns_p_lines(void *dst, size_t lim, dns_error_t *_error, struct
      dns_packet *P, struct dns_rr_i *I, struct dns_p_lines_i *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_lines
      Src: /src/gnupg/dirmngr/dns.c:2209,1
    - Dst: fwrite
      Src: /src/gnupg/dirmngr/dns.c:2211,1
    - Dst: fwrite
      Src: /src/gnupg/dirmngr/dns.c:2213,1
    - Dst: fputc
      Src: /src/gnupg/dirmngr/dns.c:2214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - P
    - I
    - fp
    argTypes:
    - struct dns_packet*
    - struct dns_rr_i*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2203
    functionDepth: 3
    functionLinenumber: 2203
    functionLinenumberEnd: 2217
    functionName: dns_p_dump3
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - fputc
    - fwrite
    - dns_p_lines
    linkageType: ''
    returnType: void
    signature: void dns_p_dump3(struct dns_packet *P, struct dns_rr_i *I, FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_dump3
      Src: /src/gnupg/dirmngr/dns.c:2222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - fp
    argTypes:
    - struct dns_packet*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2220
    functionDepth: 4
    functionLinenumber: 2220
    functionLinenumberEnd: 2223
    functionName: dns_p_dump
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_p_dump3
    linkageType: ''
    returnType: void
    signature: void dns_p_dump(struct dns_packet *P, FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct dns_s_memo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2226
    functionDepth: 0
    functionLinenumber: 2226
    functionLinenumberEnd: 2227
    functionName: dns_s_unstudy
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_s_unstudy(struct dns_s_memo *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_s_unstudy
      Src: /src/gnupg/dirmngr/dns.c:2230,1
    - Dst: dns_s_unstudy
      Src: /src/gnupg/dirmngr/dns.c:2231,1
    - Dst: dns_s_unstudy
      Src: /src/gnupg/dirmngr/dns.c:2232,1
    - Dst: dns_s_unstudy
      Src: /src/gnupg/dirmngr/dns.c:2233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct dns_p_memo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2237
      start: 2229
    functionDepth: 1
    functionLinenumber: 2229
    functionLinenumberEnd: 2237
    functionName: dns_m_unstudy
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_s_unstudy
    linkageType: ''
    returnType: void
    signature: void dns_m_unstudy(struct dns_p_memo *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_count
      Src: /src/gnupg/dirmngr/dns.c:2242,1
    - Dst: dns_rr_skip
      Src: /src/gnupg/dirmngr/dns.c:2245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - m
    - section
    - base
    - P
    argTypes:
    - struct dns_s_memo*
    - enum dns_section
    - unsigned short
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2239
    functionDepth: 2
    functionLinenumber: 2239
    functionLinenumberEnd: 2251
    functionName: dns_s_study
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_p_count
    - dns_rr_skip
    linkageType: ''
    returnType: int
    signature: int dns_s_study(struct dns_s_memo *m, enum dns_section section, unsigned
      short base, struct dns_packet *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_s_study
      Src: /src/gnupg/dirmngr/dns.c:2257,1
    - Dst: dns_s_study
      Src: /src/gnupg/dirmngr/dns.c:2259,1
    - Dst: dns_s_study
      Src: /src/gnupg/dirmngr/dns.c:2261,1
    - Dst: dns_s_study
      Src: /src/gnupg/dirmngr/dns.c:2263,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:2269,1
    - Dst: dns_m_unstudy
      Src: /src/gnupg/dirmngr/dns.c:2278,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - m
    - P
    argTypes:
    - struct dns_p_memo*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2253
    functionDepth: 3
    functionLinenumber: 2253
    functionLinenumberEnd: 2281
    functionName: dns_m_study
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_s_study
    - dns_rr_foreach
    - dns_m_unstudy
    linkageType: ''
    returnType: int
    signature: int dns_m_study(struct dns_p_memo *m, struct dns_packet *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_m_study
      Src: /src/gnupg/dirmngr/dns.c:2284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - P
    argTypes:
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2283
    functionDepth: 4
    functionLinenumber: 2283
    functionLinenumberEnd: 2285
    functionName: dns_p_study
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_m_study
    linkageType: ''
    returnType: int
    signature: int dns_p_study(struct dns_packet *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - P
    argTypes:
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2288
    functionDepth: 1
    functionLinenumber: 2288
    functionLinenumberEnd: 2290
    functionName: dns_p_rcode
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_header
    linkageType: ''
    returnType: enum dns_rcode
    signature: enum dns_rcode dns_p_rcode(struct dns_packet *P)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_movptr
      Src: /src/gnupg/dirmngr/dns.c:2307,1
    - Dst: dns_p_reset
      Src: /src/gnupg/dirmngr/dns.c:2308,1
    - Dst: dns_p_make
      Src: /src/gnupg/dirmngr/dns.c:2309,1
    - Dst: dns_p_push
      Src: /src/gnupg/dirmngr/dns.c:2313,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:2316,1
    - Dst: DNS_OPT_INIT
      Src: /src/gnupg/dirmngr/dns.c:2319,1
    - Dst: dns_p_push
      Src: /src/gnupg/dirmngr/dns.c:2324,1
    - Dst: dns_opt_class
      Src: /src/gnupg/dirmngr/dns.c:2324,1
    - Dst: dns_opt_ttl
      Src: /src/gnupg/dirmngr/dns.c:2324,1
    - Dst: dns_p_free
      Src: /src/gnupg/dirmngr/dns.c:2332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 6
    argNames:
    - _Q
    - qname
    - qlen
    - qtype
    - qclass
    - qflags
    argTypes:
    - struct dns_packet**
    - char*
    - size_t
    - enum dns_type
    - enum dns_class
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2301
    functionDepth: 3
    functionLinenumber: 2301
    functionLinenumberEnd: 2335
    functionName: dns_q_make2
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_p_reset
    - dns_p_movptr
    - dns_opt_ttl
    - dns_opt_class
    - dns_header
    - dns_p_push
    - dns_p_make
    - DNS_OPT_INIT
    - dns_p_free
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_q_make2(struct dns_packet **_Q, const char *qname,
      size_t qlen, enum dns_type qtype, enum dns_class qclass, int qflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_q_make2
      Src: /src/gnupg/dirmngr/dns.c:2340,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:2340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - Q
    - qname
    - qtype
    - qclass
    - qflags
    argTypes:
    - struct dns_packet**
    - char*
    - enum dns_type
    - enum dns_class
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 2337
    functionDepth: 4
    functionLinenumber: 2337
    functionLinenumberEnd: 2341
    functionName: dns_q_make
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_q_make2
    - strlen
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_q_make(struct dns_packet **Q, const char *qname, enum
      dns_type qtype, enum dns_class qclass, int qflags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/dirmngr/dns.c:2351,1
    - Dst: dns_rr_parse
      Src: /src/gnupg/dirmngr/dns.c:2352,1
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:2354,1
    - Dst: dns_q_make2
      Src: /src/gnupg/dirmngr/dns.c:2358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - Q
    - qflags
    argTypes:
    - struct dns_packet**
    - int
    assertStmts:
    - condition: (Q && *Q)
      pos:
        line_end: 2350
        line_start: 2350
        source_file: /src/gnupg/dirmngr/dns.c
    constantsTouched: []
    func_position:
      end: 2359
      start: 2343
    functionDepth: 4
    functionLinenumber: 2343
    functionLinenumberEnd: 2359
    functionName: dns_q_remake
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_d_expand
    - dns_rr_parse
    - dns_q_make2
    - assert
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_q_remake(struct dns_packet **Q, int qflags)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:2386,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:2386,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:2388,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 6
    argNames:
    - dst
    - lim
    - src
    - nxt
    - data
    - end
    argTypes:
    - unsigned char*
    - size_t
    - unsigned short
    - unsigned short*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2370
    functionDepth: 1
    functionLinenumber: 2370
    functionLinenumberEnd: 2416
    functionName: dns_l_expand
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_PP_MIN
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t dns_l_expand(unsigned char *dst, size_t lim, unsigned short
      src, unsigned short *nxt, const unsigned char *data, size_t end)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - src
    - data
    - end
    argTypes:
    - unsigned short
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2444
      start: 2419
    functionDepth: 0
    functionLinenumber: 2419
    functionLinenumberEnd: 2444
    functionName: dns_l_skip
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short dns_l_skip(unsigned short src, const unsigned char *data,
      size_t end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - _src
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2450
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2450
    functionName: dns_d_isanchored
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _Bool
    signature: _Bool dns_d_isanchored(const void *_src, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/gnupg/dirmngr/dns.c:2457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - _src
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2453
    functionDepth: 0
    functionLinenumber: 2453
    functionLinenumberEnd: 2463
    functionName: dns_d_ndots
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: size_t
    signature: size_t dns_d_ndots(const void *_src, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:2495,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 5
    argNames:
    - dst_
    - lim
    - src_
    - len
    - flags
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2498
      start: 2466
    functionDepth: 1
    functionLinenumber: 2466
    functionLinenumberEnd: 2498
    functionName: dns_d_trim
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_PP_MIN
    linkageType: ''
    returnType: size_t
    signature: size_t dns_d_trim(void *dst_, size_t lim, const void *src_, size_t
      len, int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_d_trim
      Src: /src/gnupg/dirmngr/dns.c:2503,1
    - Dst: dns_d_anchor
      Src: /src/gnupg/dirmngr/dns.c:2505,1
    - Dst: memmove
      Src: /src/gnupg/dirmngr/dns.c:2507,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:2507,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:2510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - dst
    - lim
    - src
    - len
    - flags
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2514
      start: 2501
    functionDepth: 2
    functionLinenumber: 2501
    functionLinenumberEnd: 2514
    functionName: dns_d_init
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_d_anchor
    - DNS_PP_MIN
    - dns_d_trim
    - memmove
    linkageType: ''
    returnType: char
    signature: char *dns_d_init(void *dst, size_t lim, const void *src, size_t len,
      int flags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gnupg/dirmngr/dns.c:2521,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:2521,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:2530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - dst
    - lim
    - src
    - len
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2533
      start: 2517
    functionDepth: 1
    functionLinenumber: 2517
    functionLinenumberEnd: 2533
    functionName: dns_d_anchor
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - DNS_PP_MIN
    - memmove
    linkageType: ''
    returnType: size_t
    signature: size_t dns_d_anchor(void *dst, size_t lim, const void *src, size_t
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/gnupg/dirmngr/dns.c:2540,1
    - Dst: memmove
      Src: /src/gnupg/dirmngr/dns.c:2552,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:2552,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:2555,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - dst
    - lim
    - src
    - len
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2558
      start: 2536
    functionDepth: 1
    functionLinenumber: 2536
    functionLinenumberEnd: 2558
    functionName: dns_d_cleave
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_PP_MIN
    - memmove
    - memchr
    linkageType: ''
    returnType: size_t
    signature: size_t dns_d_cleave(void *dst, size_t lim, const void *src, size_t
      len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_l_expand
      Src: /src/gnupg/dirmngr/dns.c:2612,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:2613,1
    - Dst: dns_l_expand
      Src: /src/gnupg/dirmngr/dns.c:2616,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:2620,1
    - Dst: dns_l_expand
      Src: /src/gnupg/dirmngr/dns.c:2621,1
    - Dst: dns_l_expand
      Src: /src/gnupg/dirmngr/dns.c:2622,1
    - Dst: dns_assume
      Src: /src/gnupg/dirmngr/dns.c:2631,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 6
    argNames:
    - dst_
    - lim
    - src_
    - len
    - P
    - error
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - struct dns_packet*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2649
      start: 2561
    functionDepth: 2
    functionLinenumber: 2561
    functionLinenumberEnd: 2649
    functionName: dns_d_comp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - lengthof
    - dns_assume
    - strcasecmp
    - dns_l_expand
    linkageType: ''
    returnType: size_t
    signature: size_t dns_d_comp(void *dst_, size_t lim, const void *src_, size_t
      len, struct dns_packet *P, int *error)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - src
    - P
    argTypes:
    - unsigned short
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2652
    functionDepth: 0
    functionLinenumber: 2652
    functionLinenumberEnd: 2686
    functionName: dns_d_skip
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short dns_d_skip(unsigned short src, struct dns_packet *P)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:2711,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:2722,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:2722,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:2757,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:2764,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 5
    argNames:
    - dst
    - lim
    - src
    - P
    - error
    argTypes:
    - void*
    - size_t
    - unsigned short
    - struct dns_packet*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2691
    functionDepth: 1
    functionLinenumber: 2691
    functionLinenumberEnd: 2767
    functionName: dns_d_expand
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - DNS_PP_MIN
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t dns_d_expand(void *dst, size_t lim, unsigned short src, struct
      dns_packet *P, int *error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_d_comp
      Src: /src/gnupg/dirmngr/dns.c:2775,1
    - Dst: dns_p_dictadd
      Src: /src/gnupg/dirmngr/dns.c:2784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - P
    - dn
    - len
    argTypes:
    - struct dns_packet*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2787
      start: 2770
    functionDepth: 3
    functionLinenumber: 2770
    functionLinenumberEnd: 2787
    functionName: dns_d_push
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_p_dictadd
    - dns_d_comp
    linkageType: ''
    returnType: int
    signature: int dns_d_push(struct dns_packet *P, const void *dn, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_d_anchor
      Src: /src/gnupg/dirmngr/dns.c:2797,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:2801,1
    - Dst: dns_rr_grep
      Src: /src/gnupg/dirmngr/dns.c:2806,1
    - Dst: dns_cname_parse
      Src: /src/gnupg/dirmngr/dns.c:2809,1
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:2813,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 6
    argNames:
    - dst
    - lim
    - dn
    - len
    - P
    - error_
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - struct dns_packet*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2790
    functionDepth: 2
    functionLinenumber: 2790
    functionLinenumberEnd: 2818
    functionName: dns_d_cname
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_d_anchor
    - dns_cname_parse
    - dns_rr_grep
    - memset
    - dns_strlcpy
    linkageType: ''
    returnType: size_t
    signature: size_t dns_d_cname(void *dst, size_t lim, const void *dn, size_t len,
      struct dns_packet *P, int *error_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:2832,1
    - Dst: dns_any_parse
      Src: /src/gnupg/dirmngr/dns.c:2837,1
    - Dst: dns_any_init
      Src: /src/gnupg/dirmngr/dns.c:2837,1
    - Dst: dns_p_push
      Src: /src/gnupg/dirmngr/dns.c:2840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - P
    - rr
    - Q
    argTypes:
    - struct dns_packet*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2841
      start: 2826
    functionDepth: 3
    functionLinenumber: 2826
    functionLinenumberEnd: 2841
    functionName: dns_rr_copy
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_any_init
    - dns_any_parse
    - dns_p_push
    - dns_d_expand
    linkageType: ''
    returnType: int
    signature: int dns_rr_copy(struct dns_packet *P, struct dns_rr *rr, struct dns_packet
      *Q)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_d_skip
      Src: /src/gnupg/dirmngr/dns.c:2851,1
    - Dst: dns_p_qend
      Src: /src/gnupg/dirmngr/dns.c:2864,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:2882,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - rr
    - src
    - P
    argTypes:
    - struct dns_rr*
    - unsigned short
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2901
      start: 2844
    functionDepth: 3
    functionLinenumber: 2844
    functionLinenumberEnd: 2901
    functionName: dns_rr_parse
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - DNS_PP_MIN
    - dns_d_skip
    - dns_p_qend
    linkageType: ''
    returnType: int
    signature: int dns_rr_parse(struct dns_rr *rr, unsigned short src, struct dns_packet
      *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_d_skip
      Src: /src/gnupg/dirmngr/dns.c:2907,1
    - Dst: dns_p_qend
      Src: /src/gnupg/dirmngr/dns.c:2914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - src
    - P
    argTypes:
    - unsigned short
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2931
      start: 2904
    functionDepth: 3
    functionLinenumber: 2904
    functionLinenumberEnd: 2931
    functionName: dns_rr_len
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_d_skip
    - dns_p_qend
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short dns_rr_len(const unsigned short src, struct dns_packet
      *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_len
      Src: /src/gnupg/dirmngr/dns.c:2935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - P
    argTypes:
    - unsigned short
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2936
      start: 2934
    functionDepth: 4
    functionLinenumber: 2934
    functionLinenumberEnd: 2936
    functionName: dns_rr_skip
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_rr_len
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short dns_rr_skip(unsigned short src, struct dns_packet *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_skip
      Src: /src/gnupg/dirmngr/dns.c:2956,1
    - Dst: dns_p_count
      Src: /src/gnupg/dirmngr/dns.c:2959,1
    - Dst: dns_p_count
      Src: /src/gnupg/dirmngr/dns.c:2963,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - src
    - P
    argTypes:
    - unsigned short
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2967
      start: 2939
    functionDepth: 5
    functionLinenumber: 2939
    functionLinenumberEnd: 2967
    functionName: dns_rr_section
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_p_count
    - dns_rr_skip
    linkageType: ''
    returnType: enum dns_section
    signature: enum dns_section dns_rr_section(unsigned short src, struct dns_packet
      *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_parse
      Src: /src/gnupg/dirmngr/dns.c:2974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - src
    - P
    argTypes:
    - unsigned short
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2978
      start: 2970
    functionDepth: 4
    functionLinenumber: 2970
    functionLinenumberEnd: 2978
    functionName: dns_rr_type
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_rr_parse
    linkageType: ''
    returnType: enum dns_type
    signature: enum dns_type dns_rr_type(unsigned short src, struct dns_packet *P)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:2997,1
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:3001,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:3005,1
    - Dst: dns_any_parse
      Src: /src/gnupg/dirmngr/dns.c:3015,1
    - Dst: dns_any_init
      Src: /src/gnupg/dirmngr/dns.c:3015,1
    - Dst: dns_any_parse
      Src: /src/gnupg/dirmngr/dns.c:3018,1
    - Dst: dns_any_init
      Src: /src/gnupg/dirmngr/dns.c:3018,1
    - Dst: dns_any_cmp
      Src: /src/gnupg/dirmngr/dns.c:3021,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - r0
    - P0
    - r1
    - P1
    argTypes:
    - struct dns_rr*
    - struct dns_packet*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3022
      start: 2981
    functionDepth: 2
    functionLinenumber: 2981
    functionLinenumberEnd: 3022
    functionName: dns_rr_cmp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_any_parse
    - dns_any_cmp
    - dns_d_expand
    - dns_any_init
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int dns_rr_cmp(struct dns_rr *r0, struct dns_packet *P0, struct dns_rr
      *r1, struct dns_packet *P1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:3028,1
    - Dst: dns_rr_cmp
      Src: /src/gnupg/dirmngr/dns.c:3029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rr0
    - P0
    - P1
    argTypes:
    - struct dns_rr*
    - struct dns_packet*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3034
      start: 3025
    functionDepth: 3
    functionLinenumber: 3025
    functionLinenumberEnd: 3034
    functionName: dns_rr_exists
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_rr_foreach
    - dns_rr_cmp
    linkageType: ''
    returnType: _Bool
    signature: _Bool dns_rr_exists(struct dns_rr *rr0, struct dns_packet *P0, struct
      dns_packet *P1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rr
    argTypes:
    - struct dns_rr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3037
    functionDepth: 0
    functionLinenumber: 3037
    functionLinenumberEnd: 3039
    functionName: dns_rr_offset
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short dns_rr_offset(struct dns_rr *rr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:3057,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:3061,1
    - Dst: dns_any_parse
      Src: /src/gnupg/dirmngr/dns.c:3069,1
    - Dst: dns_any_cmp
      Src: /src/gnupg/dirmngr/dns.c:3072,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 3
    argNames:
    - rr
    - i
    - P
    argTypes:
    - struct dns_rr*
    - struct dns_rr_i*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3077
      start: 3042
    functionDepth: 2
    functionLinenumber: 3042
    functionLinenumberEnd: 3077
    functionName: dns_rr_i_match
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_any_cmp
    - dns_any_parse
    - strcasecmp
    - dns_d_expand
    linkageType: ''
    returnType: _Bool
    signature: _Bool dns_rr_i_match(struct dns_rr *rr, struct dns_rr_i *i, struct
      dns_packet *P)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_skip
      Src: /src/gnupg/dirmngr/dns.c:3096,1
    - Dst: dns_rr_parse
      Src: /src/gnupg/dirmngr/dns.c:3097,1
    - Dst: dns_rr_section
      Src: /src/gnupg/dirmngr/dns.c:3100,1
    - Dst: dns_rr_i_match
      Src: /src/gnupg/dirmngr/dns.c:3102,1
    - Dst: dns_rr_offset
      Src: /src/gnupg/dirmngr/dns.c:3113,1
    - Dst: dns_rr_skip
      Src: /src/gnupg/dirmngr/dns.c:3115,1
    - Dst: dns_rr_parse
      Src: /src/gnupg/dirmngr/dns.c:3116,1
    - Dst: dns_rr_section
      Src: /src/gnupg/dirmngr/dns.c:3119,1
    - Dst: dns_rr_i_match
      Src: /src/gnupg/dirmngr/dns.c:3121,1
    - Dst: struct dns_rr_i*::sort
      Src: /src/gnupg/dirmngr/dns.c:3124,1
    - Dst: dns_rr_offset
      Src: /src/gnupg/dirmngr/dns.c:3128,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 2
    argNames:
    - i
    - P
    argTypes:
    - struct dns_rr_i*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3129
      start: 3080
    functionDepth: 6
    functionLinenumber: 3080
    functionLinenumberEnd: 3129
    functionName: dns_rr_i_start
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_rr_offset
    - dns_rr_i_match
    - dns_rr_section
    - dns_rr_skip
    - dns_rr_parse
    - struct dns_rr_i*::sort
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short dns_rr_i_start(struct dns_rr_i *i, struct dns_packet
      *P)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_parse
      Src: /src/gnupg/dirmngr/dns.c:3136,1
    - Dst: dns_rr_section
      Src: /src/gnupg/dirmngr/dns.c:3139,1
    - Dst: dns_rr_skip
      Src: /src/gnupg/dirmngr/dns.c:3141,1
    - Dst: dns_rr_skip
      Src: /src/gnupg/dirmngr/dns.c:3143,1
    - Dst: dns_rr_parse
      Src: /src/gnupg/dirmngr/dns.c:3144,1
    - Dst: dns_rr_section
      Src: /src/gnupg/dirmngr/dns.c:3147,1
    - Dst: dns_rr_i_match
      Src: /src/gnupg/dirmngr/dns.c:3149,1
    - Dst: struct dns_rr_i*::sort
      Src: /src/gnupg/dirmngr/dns.c:3152,1
    - Dst: dns_rr_offset
      Src: /src/gnupg/dirmngr/dns.c:3163,1
    - Dst: dns_rr_skip
      Src: /src/gnupg/dirmngr/dns.c:3165,1
    - Dst: dns_rr_parse
      Src: /src/gnupg/dirmngr/dns.c:3166,1
    - Dst: dns_rr_section
      Src: /src/gnupg/dirmngr/dns.c:3169,1
    - Dst: dns_rr_i_match
      Src: /src/gnupg/dirmngr/dns.c:3171,1
    - Dst: struct dns_rr_i*::sort
      Src: /src/gnupg/dirmngr/dns.c:3174,1
    - Dst: struct dns_rr_i*::sort
      Src: /src/gnupg/dirmngr/dns.c:3177,1
    - Dst: dns_rr_offset
      Src: /src/gnupg/dirmngr/dns.c:3183,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 3
    argNames:
    - rp
    - i
    - P
    argTypes:
    - unsigned short
    - struct dns_rr_i*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3184
      start: 3132
    functionDepth: 6
    functionLinenumber: 3132
    functionLinenumberEnd: 3184
    functionName: dns_rr_i_skip
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_rr_offset
    - dns_rr_i_match
    - dns_rr_skip
    - dns_rr_section
    - dns_rr_parse
    - struct dns_rr_i*::sort
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short dns_rr_i_skip(unsigned short rp, struct dns_rr_i *i,
      struct dns_packet *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - i
    - P
    argTypes:
    - struct dns_rr*
    - struct dns_rr*
    - struct dns_rr_i*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3192
      start: 3187
    functionDepth: 0
    functionLinenumber: 3187
    functionLinenumberEnd: 3192
    functionName: dns_rr_i_packet
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dns_rr_i_packet(struct dns_rr *a, struct dns_rr *b, struct dns_rr_i
      *i, struct dns_packet *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_cmp
      Src: /src/gnupg/dirmngr/dns.c:3206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - a
    - b
    - i
    - P
    argTypes:
    - struct dns_rr*
    - struct dns_rr*
    - struct dns_rr_i*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3207
      start: 3195
    functionDepth: 3
    functionLinenumber: 3195
    functionLinenumberEnd: 3207
    functionName: dns_rr_i_order
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_rr_cmp
    linkageType: ''
    returnType: int
    signature: int dns_rr_i_order(struct dns_rr *a, struct dns_rr *b, struct dns_rr_i
      *i, struct dns_packet *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_random
      Src: /src/gnupg/dirmngr/dns.c:3217,1
    - Dst: dns_k_shuffle16
      Src: /src/gnupg/dirmngr/dns.c:3222,1
    - Dst: dns_k_shuffle16
      Src: /src/gnupg/dirmngr/dns.c:3222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - a
    - b
    - i
    - P
    argTypes:
    - struct dns_rr*
    - struct dns_rr*
    - struct dns_rr_i*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3223
      start: 3210
    functionDepth: 1
    functionLinenumber: 3210
    functionLinenumberEnd: 3223
    functionName: dns_rr_i_shuffle
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_k_shuffle16
    - dns_random
    linkageType: ''
    returnType: int
    signature: int dns_rr_i_shuffle(struct dns_rr *a, struct dns_rr *b, struct dns_rr_i
      *i, struct dns_packet *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct dns_rr_i*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3231
      start: 3226
    functionDepth: 0
    functionLinenumber: 3226
    functionLinenumberEnd: 3231
    functionName: dns_rr_i_init
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_rr_i_init(struct dns_rr_i *i)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_i_start
      Src: /src/gnupg/dirmngr/dns.c:3243,1
    - Dst: dns_rr_parse
      Src: /src/gnupg/dirmngr/dns.c:3249,1
    - Dst: dns_rr_section
      Src: /src/gnupg/dirmngr/dns.c:3252,1
    - Dst: dns_rr_i_skip
      Src: /src/gnupg/dirmngr/dns.c:3258,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - rr
    - lim
    - i
    - P
    - error_
    argTypes:
    - struct dns_rr*
    - unsigned
    - struct dns_rr_i*
    - struct dns_packet*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3270
      start: 3234
    functionDepth: 7
    functionLinenumber: 3234
    functionLinenumberEnd: 3270
    functionName: dns_rr_grep
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 2
    functionsReached:
    - dns_rr_i_start
    - dns_rr_parse
    - dns_rr_i_skip
    - dns_rr_section
    linkageType: ''
    returnType: unsigned
    signature: unsigned dns_rr_grep(struct dns_rr *rr, unsigned lim, struct dns_rr_i
      *i, struct dns_packet *P, int *error_)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DNS_B_INTO
      Src: /src/gnupg/dirmngr/dns.c:3274,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:3281,1
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:3283,1
    - Dst: dns_b_put
      Src: /src/gnupg/dirmngr/dns.c:3285,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:3285,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:3288,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:3289,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:3292,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:3293,1
    - Dst: dns_strclass
      Src: /src/gnupg/dirmngr/dns.c:3293,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:3294,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:3295,1
    - Dst: dns_strtype
      Src: /src/gnupg/dirmngr/dns.c:3295,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:3300,1
    - Dst: dns_any_parse
      Src: /src/gnupg/dirmngr/dns.c:3302,1
    - Dst: dns_any_init
      Src: /src/gnupg/dirmngr/dns.c:3302,1
    - Dst: dns_any_print
      Src: /src/gnupg/dirmngr/dns.c:3305,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:3306,1
    - Dst: dns_b_strllen
      Src: /src/gnupg/dirmngr/dns.c:3308,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 5
    argNames:
    - _dst
    - lim
    - rr
    - P
    - _error
    argTypes:
    - void*
    - size_t
    - struct dns_rr*
    - struct dns_packet*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3313
      start: 3273
    functionDepth: 4
    functionLinenumber: 3273
    functionLinenumberEnd: 3313
    functionName: dns_rr_print
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - DNS_B_INTO
    - dns_strtype
    - dns_any_print
    - dns_b_fmtju
    - dns_b_putc
    - dns_any_parse
    - dns_strclass
    - dns_b_puts
    - dns_b_strllen
    - DNS_PP_MIN
    - dns_d_expand
    - dns_b_put
    - dns_any_init
    linkageType: ''
    returnType: size_t
    signature: size_t dns_rr_print(void *_dst, size_t lim, struct dns_rr *rr, struct
      dns_packet *P, int *_error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/gnupg/dirmngr/dns.c:3327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - a
    - rr
    - P
    argTypes:
    - struct dns_a*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3330
      start: 3316
    functionDepth: 0
    functionLinenumber: 3316
    functionLinenumberEnd: 3330
    functionName: dns_a_parse
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - htonl
    linkageType: ''
    returnType: int
    signature: int dns_a_parse(struct dns_a *a, struct dns_rr *rr, struct dns_packet
      *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_a_parse
      Src: /src/gnupg/dirmngr/dns.c:3332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg0
    - rr
    - P
    argTypes:
    - union dns_any*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3333
      start: 3331
    functionDepth: 1
    functionLinenumber: 3331
    functionLinenumberEnd: 3333
    functionName: dns_a_parse0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_a_parse
    linkageType: ''
    returnType: int
    signature: int dns_a_parse0(union dns_any *arg0, struct dns_rr *rr, struct dns_packet
      *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/gnupg/dirmngr/dns.c:3344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - P
    - a
    argTypes:
    - struct dns_packet*
    - struct dns_a*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3352
      start: 3335
    functionDepth: 0
    functionLinenumber: 3335
    functionLinenumberEnd: 3352
    functionName: dns_a_push
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: int
    signature: int dns_a_push(struct dns_packet *P, struct dns_a *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_a_push
      Src: /src/gnupg/dirmngr/dns.c:3354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - a
    argTypes:
    - struct dns_packet*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3355
      start: 3353
    functionDepth: 1
    functionLinenumber: 3353
    functionLinenumberEnd: 3355
    functionName: dns_a_push0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_a_push
    linkageType: ''
    returnType: int
    signature: int dns_a_push0(struct dns_packet *P, void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_B_INTO
      Src: /src/gnupg/dirmngr/dns.c:3359,1
    - Dst: ntohl
      Src: /src/gnupg/dirmngr/dns.c:3360,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:3364,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:3365,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:3369,1
    - Dst: dns_b_strllen
      Src: /src/gnupg/dirmngr/dns.c:3371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - _dst
    - lim
    - a
    argTypes:
    - void*
    - size_t
    - struct dns_a*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3372
      start: 3358
    functionDepth: 4
    functionLinenumber: 3358
    functionLinenumberEnd: 3372
    functionName: dns_a_arpa
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_B_INTO
    - dns_b_fmtju
    - ntohl
    - dns_b_putc
    - dns_b_puts
    - dns_b_strllen
    linkageType: ''
    returnType: size_t
    signature: size_t dns_a_arpa(void *_dst, size_t lim, const struct dns_a *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/gnupg/dirmngr/dns.c:3376,1
    - Dst: ntohl
      Src: /src/gnupg/dirmngr/dns.c:3376,1
    - Dst: ntohl
      Src: /src/gnupg/dirmngr/dns.c:3378,1
    - Dst: ntohl
      Src: /src/gnupg/dirmngr/dns.c:3378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct dns_a*
    - struct dns_a*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3382
      start: 3375
    functionDepth: 0
    functionLinenumber: 3375
    functionLinenumberEnd: 3382
    functionName: dns_a_cmp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: int
    signature: int dns_a_cmp(const struct dns_a *a, const struct dns_a *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_a_cmp
      Src: /src/gnupg/dirmngr/dns.c:3384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3385
      start: 3383
    functionDepth: 1
    functionLinenumber: 3383
    functionLinenumberEnd: 3385
    functionName: dns_a_cmp0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_a_cmp
    linkageType: ''
    returnType: int
    signature: int dns_a_cmp0(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_inet_ntop
      Src: /src/gnupg/dirmngr/dns.c:3390,1
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:3392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - lim
    - a
    argTypes:
    - void*
    - size_t
    - struct dns_a*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3393
      start: 3387
    functionDepth: 2
    functionLinenumber: 3387
    functionLinenumberEnd: 3393
    functionName: dns_a_print
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_inet_ntop
    - dns_strlcpy
    linkageType: ''
    returnType: size_t
    signature: size_t dns_a_print(void *dst, size_t lim, struct dns_a *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_a_print
      Src: /src/gnupg/dirmngr/dns.c:3395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - lim
    - a
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3394
    functionDepth: 3
    functionLinenumber: 3394
    functionLinenumberEnd: 3396
    functionName: dns_a_print0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_a_print
    linkageType: ''
    returnType: size_t
    signature: size_t dns_a_print0(void *dst, size_t lim, void *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:3402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - aaaa
    - rr
    - P
    argTypes:
    - struct dns_aaaa*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3405
      start: 3398
    functionDepth: 0
    functionLinenumber: 3398
    functionLinenumberEnd: 3405
    functionName: dns_aaaa_parse
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int dns_aaaa_parse(struct dns_aaaa *aaaa, struct dns_rr *rr, struct
      dns_packet *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_aaaa_parse
      Src: /src/gnupg/dirmngr/dns.c:3407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg0
    - rr
    - P
    argTypes:
    - union dns_any*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3408
      start: 3406
    functionDepth: 1
    functionLinenumber: 3406
    functionLinenumberEnd: 3408
    functionName: dns_aaaa_parse0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_aaaa_parse
    linkageType: ''
    returnType: int
    signature: int dns_aaaa_parse0(union dns_any *arg0, struct dns_rr *rr, struct
      dns_packet *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:3418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - P
    - aaaa
    argTypes:
    - struct dns_packet*
    - struct dns_aaaa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3423
      start: 3411
    functionDepth: 0
    functionLinenumber: 3411
    functionLinenumberEnd: 3423
    functionName: dns_aaaa_push
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int dns_aaaa_push(struct dns_packet *P, struct dns_aaaa *aaaa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_aaaa_push
      Src: /src/gnupg/dirmngr/dns.c:3425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - aaaa
    argTypes:
    - struct dns_packet*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3426
      start: 3424
    functionDepth: 1
    functionLinenumber: 3424
    functionLinenumberEnd: 3426
    functionName: dns_aaaa_push0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_aaaa_push
    linkageType: ''
    returnType: int
    signature: int dns_aaaa_push0(struct dns_packet *P, void *aaaa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:3432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct dns_aaaa*
    - struct dns_aaaa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3438
      start: 3428
    functionDepth: 1
    functionLinenumber: 3428
    functionLinenumberEnd: 3438
    functionName: dns_aaaa_cmp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - lengthof
    linkageType: ''
    returnType: int
    signature: int dns_aaaa_cmp(const struct dns_aaaa *a, const struct dns_aaaa *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_aaaa_cmp
      Src: /src/gnupg/dirmngr/dns.c:3440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3441
      start: 3439
    functionDepth: 2
    functionLinenumber: 3439
    functionLinenumberEnd: 3441
    functionName: dns_aaaa_cmp0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_aaaa_cmp
    linkageType: ''
    returnType: int
    signature: int dns_aaaa_cmp0(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_B_INTO
      Src: /src/gnupg/dirmngr/dns.c:3446,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:3454,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:3455,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:3460,1
    - Dst: dns_b_strllen
      Src: /src/gnupg/dirmngr/dns.c:3462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - _dst
    - lim
    - aaaa
    argTypes:
    - void*
    - size_t
    - struct dns_aaaa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3463
      start: 3443
    functionDepth: 4
    functionLinenumber: 3443
    functionLinenumberEnd: 3463
    functionName: dns_aaaa_arpa
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_B_INTO
    - dns_b_strllen
    - dns_b_putc
    - dns_b_puts
    linkageType: ''
    returnType: size_t
    signature: size_t dns_aaaa_arpa(void *_dst, size_t lim, const struct dns_aaaa
      *aaaa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_inet_ntop
      Src: /src/gnupg/dirmngr/dns.c:3469,1
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:3471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - lim
    - aaaa
    argTypes:
    - void*
    - size_t
    - struct dns_aaaa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3472
      start: 3466
    functionDepth: 2
    functionLinenumber: 3466
    functionLinenumberEnd: 3472
    functionName: dns_aaaa_print
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_inet_ntop
    - dns_strlcpy
    linkageType: ''
    returnType: size_t
    signature: size_t dns_aaaa_print(void *dst, size_t lim, struct dns_aaaa *aaaa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_aaaa_print
      Src: /src/gnupg/dirmngr/dns.c:3474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - lim
    - aaaa
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3475
      start: 3473
    functionDepth: 3
    functionLinenumber: 3473
    functionLinenumberEnd: 3475
    functionName: dns_aaaa_print0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_aaaa_print
    linkageType: ''
    returnType: size_t
    signature: size_t dns_aaaa_print0(void *dst, size_t lim, void *aaaa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:3487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - mx
    - rr
    - P
    argTypes:
    - struct dns_mx*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3493
      start: 3477
    functionDepth: 2
    functionLinenumber: 3477
    functionLinenumberEnd: 3493
    functionName: dns_mx_parse
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_d_expand
    linkageType: ''
    returnType: int
    signature: int dns_mx_parse(struct dns_mx *mx, struct dns_rr *rr, struct dns_packet
      *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_mx_parse
      Src: /src/gnupg/dirmngr/dns.c:3495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg0
    - rr
    - P
    argTypes:
    - union dns_any*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3496
      start: 3494
    functionDepth: 3
    functionLinenumber: 3494
    functionLinenumberEnd: 3496
    functionName: dns_mx_parse0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_mx_parse
    linkageType: ''
    returnType: int
    signature: int dns_mx_parse0(union dns_any *arg0, struct dns_rr *rr, struct dns_packet
      *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_d_push
      Src: /src/gnupg/dirmngr/dns.c:3512,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:3512,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - P
    - mx
    argTypes:
    - struct dns_packet*
    - struct dns_mx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3525
      start: 3499
    functionDepth: 4
    functionLinenumber: 3499
    functionLinenumberEnd: 3525
    functionName: dns_mx_push
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_d_push
    - strlen
    linkageType: ''
    returnType: int
    signature: int dns_mx_push(struct dns_packet *P, struct dns_mx *mx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_mx_push
      Src: /src/gnupg/dirmngr/dns.c:3527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - mx
    argTypes:
    - struct dns_packet*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3528
      start: 3526
    functionDepth: 5
    functionLinenumber: 3526
    functionLinenumberEnd: 3528
    functionName: dns_mx_push0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_mx_push
    linkageType: ''
    returnType: int
    signature: int dns_mx_push0(struct dns_packet *P, void *mx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:3536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct dns_mx*
    - struct dns_mx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3537
      start: 3530
    functionDepth: 0
    functionLinenumber: 3530
    functionLinenumberEnd: 3537
    functionName: dns_mx_cmp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int dns_mx_cmp(const struct dns_mx *a, const struct dns_mx *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_mx_cmp
      Src: /src/gnupg/dirmngr/dns.c:3539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3540
      start: 3538
    functionDepth: 1
    functionLinenumber: 3538
    functionLinenumberEnd: 3540
    functionName: dns_mx_cmp0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_mx_cmp
    linkageType: ''
    returnType: int
    signature: int dns_mx_cmp0(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_B_INTO
      Src: /src/gnupg/dirmngr/dns.c:3544,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:3546,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:3547,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:3548,1
    - Dst: dns_b_strllen
      Src: /src/gnupg/dirmngr/dns.c:3550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - _dst
    - lim
    - mx
    argTypes:
    - void*
    - size_t
    - struct dns_mx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3551
      start: 3543
    functionDepth: 4
    functionLinenumber: 3543
    functionLinenumberEnd: 3551
    functionName: dns_mx_print
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_B_INTO
    - dns_b_fmtju
    - dns_b_putc
    - dns_b_puts
    - dns_b_strllen
    linkageType: ''
    returnType: size_t
    signature: size_t dns_mx_print(void *_dst, size_t lim, struct dns_mx *mx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_mx_print
      Src: /src/gnupg/dirmngr/dns.c:3553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _dst
    - lim
    - mx
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3554
      start: 3552
    functionDepth: 5
    functionLinenumber: 3552
    functionLinenumberEnd: 3554
    functionName: dns_mx_print0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_mx_print
    linkageType: ''
    returnType: size_t
    signature: size_t dns_mx_print0(void *_dst, size_t lim, void *mx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:3557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - lim
    - mx
    argTypes:
    - void*
    - size_t
    - struct dns_mx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3558
      start: 3556
    functionDepth: 1
    functionLinenumber: 3556
    functionLinenumberEnd: 3558
    functionName: dns_mx_cname
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_strlcpy
    linkageType: ''
    returnType: size_t
    signature: size_t dns_mx_cname(void *dst, size_t lim, struct dns_mx *mx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_mx_cname
      Src: /src/gnupg/dirmngr/dns.c:3560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - lim
    - mx
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3561
      start: 3559
    functionDepth: 2
    functionLinenumber: 3559
    functionLinenumberEnd: 3561
    functionName: dns_mx_cname0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_mx_cname
    linkageType: ''
    returnType: size_t
    signature: size_t dns_mx_cname0(void *dst, size_t lim, void *mx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:3567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ns
    - rr
    - P
    argTypes:
    - struct dns_ns*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3573
      start: 3563
    functionDepth: 2
    functionLinenumber: 3563
    functionLinenumberEnd: 3573
    functionName: dns_ns_parse
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_d_expand
    linkageType: ''
    returnType: int
    signature: int dns_ns_parse(struct dns_ns *ns, struct dns_rr *rr, struct dns_packet
      *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ns_parse
      Src: /src/gnupg/dirmngr/dns.c:3575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg0
    - rr
    - P
    argTypes:
    - union dns_any*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3576
      start: 3574
    functionDepth: 3
    functionLinenumber: 3574
    functionLinenumberEnd: 3576
    functionName: dns_ns_parse0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_ns_parse
    linkageType: ''
    returnType: int
    signature: int dns_ns_parse0(union dns_any *arg0, struct dns_rr *rr, struct dns_packet
      *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_d_push
      Src: /src/gnupg/dirmngr/dns.c:3589,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:3589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - P
    - ns
    argTypes:
    - struct dns_packet*
    - struct dns_ns*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3602
      start: 3579
    functionDepth: 4
    functionLinenumber: 3579
    functionLinenumberEnd: 3602
    functionName: dns_ns_push
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_d_push
    - strlen
    linkageType: ''
    returnType: int
    signature: int dns_ns_push(struct dns_packet *P, struct dns_ns *ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ns_push
      Src: /src/gnupg/dirmngr/dns.c:3604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - ns
    argTypes:
    - struct dns_packet*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3605
      start: 3603
    functionDepth: 5
    functionLinenumber: 3603
    functionLinenumberEnd: 3605
    functionName: dns_ns_push0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_ns_push
    linkageType: ''
    returnType: int
    signature: int dns_ns_push0(struct dns_packet *P, void *ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:3608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct dns_ns*
    - struct dns_ns*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3609
      start: 3607
    functionDepth: 0
    functionLinenumber: 3607
    functionLinenumberEnd: 3609
    functionName: dns_ns_cmp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int dns_ns_cmp(const struct dns_ns *a, const struct dns_ns *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ns_cmp
      Src: /src/gnupg/dirmngr/dns.c:3611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3612
      start: 3610
    functionDepth: 1
    functionLinenumber: 3610
    functionLinenumberEnd: 3612
    functionName: dns_ns_cmp0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_ns_cmp
    linkageType: ''
    returnType: int
    signature: int dns_ns_cmp0(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:3615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - lim
    - ns
    argTypes:
    - void*
    - size_t
    - struct dns_ns*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3616
      start: 3614
    functionDepth: 1
    functionLinenumber: 3614
    functionLinenumberEnd: 3616
    functionName: dns_ns_print
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_strlcpy
    linkageType: ''
    returnType: size_t
    signature: size_t dns_ns_print(void *dst, size_t lim, struct dns_ns *ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ns_print
      Src: /src/gnupg/dirmngr/dns.c:3618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - lim
    - ns
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3619
      start: 3617
    functionDepth: 2
    functionLinenumber: 3617
    functionLinenumberEnd: 3619
    functionName: dns_ns_print0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_ns_print
    linkageType: ''
    returnType: size_t
    signature: size_t dns_ns_print0(void *dst, size_t lim, void *ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:3622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - lim
    - ns
    argTypes:
    - void*
    - size_t
    - struct dns_ns*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3623
      start: 3621
    functionDepth: 1
    functionLinenumber: 3621
    functionLinenumberEnd: 3623
    functionName: dns_ns_cname
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_strlcpy
    linkageType: ''
    returnType: size_t
    signature: size_t dns_ns_cname(void *dst, size_t lim, struct dns_ns *ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ns_cname
      Src: /src/gnupg/dirmngr/dns.c:3625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - lim
    - ns
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3626
      start: 3624
    functionDepth: 2
    functionLinenumber: 3624
    functionLinenumberEnd: 3626
    functionName: dns_ns_cname0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_ns_cname
    linkageType: ''
    returnType: size_t
    signature: size_t dns_ns_cname0(void *dst, size_t lim, void *ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ns_parse
      Src: /src/gnupg/dirmngr/dns.c:3629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cname
    - rr
    - P
    argTypes:
    - struct dns_cname*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3630
      start: 3628
    functionDepth: 3
    functionLinenumber: 3628
    functionLinenumberEnd: 3630
    functionName: dns_cname_parse
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_ns_parse
    linkageType: ''
    returnType: int
    signature: int dns_cname_parse(struct dns_cname *cname, struct dns_rr *rr, struct
      dns_packet *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_cname_parse
      Src: /src/gnupg/dirmngr/dns.c:3632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg0
    - rr
    - P
    argTypes:
    - union dns_any*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3633
      start: 3631
    functionDepth: 4
    functionLinenumber: 3631
    functionLinenumberEnd: 3633
    functionName: dns_cname_parse0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_cname_parse
    linkageType: ''
    returnType: int
    signature: int dns_cname_parse0(union dns_any *arg0, struct dns_rr *rr, struct
      dns_packet *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ns_push
      Src: /src/gnupg/dirmngr/dns.c:3637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - cname
    argTypes:
    - struct dns_packet*
    - struct dns_cname*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3638
      start: 3636
    functionDepth: 5
    functionLinenumber: 3636
    functionLinenumberEnd: 3638
    functionName: dns_cname_push
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_ns_push
    linkageType: ''
    returnType: int
    signature: int dns_cname_push(struct dns_packet *P, struct dns_cname *cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_cname_push
      Src: /src/gnupg/dirmngr/dns.c:3640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - cname
    argTypes:
    - struct dns_packet*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3641
      start: 3639
    functionDepth: 6
    functionLinenumber: 3639
    functionLinenumberEnd: 3641
    functionName: dns_cname_push0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_cname_push
    linkageType: ''
    returnType: int
    signature: int dns_cname_push0(struct dns_packet *P, void *cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:3644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct dns_cname*
    - struct dns_cname*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3645
      start: 3643
    functionDepth: 0
    functionLinenumber: 3643
    functionLinenumberEnd: 3645
    functionName: dns_cname_cmp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int dns_cname_cmp(const struct dns_cname *a, const struct dns_cname
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_cname_cmp
      Src: /src/gnupg/dirmngr/dns.c:3647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3648
      start: 3646
    functionDepth: 1
    functionLinenumber: 3646
    functionLinenumberEnd: 3648
    functionName: dns_cname_cmp0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_cname_cmp
    linkageType: ''
    returnType: int
    signature: int dns_cname_cmp0(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ns_print
      Src: /src/gnupg/dirmngr/dns.c:3651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - lim
    - cname
    argTypes:
    - void*
    - size_t
    - struct dns_cname*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3652
      start: 3650
    functionDepth: 2
    functionLinenumber: 3650
    functionLinenumberEnd: 3652
    functionName: dns_cname_print
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_ns_print
    linkageType: ''
    returnType: size_t
    signature: size_t dns_cname_print(void *dst, size_t lim, struct dns_cname *cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_cname_print
      Src: /src/gnupg/dirmngr/dns.c:3654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - lim
    - cname
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3655
      start: 3653
    functionDepth: 3
    functionLinenumber: 3653
    functionLinenumberEnd: 3655
    functionName: dns_cname_print0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_cname_print
    linkageType: ''
    returnType: size_t
    signature: size_t dns_cname_print0(void *dst, size_t lim, void *cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:3658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - lim
    - cname
    argTypes:
    - void*
    - size_t
    - struct dns_cname*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3659
      start: 3657
    functionDepth: 1
    functionLinenumber: 3657
    functionLinenumberEnd: 3659
    functionName: dns_cname_cname
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_strlcpy
    linkageType: ''
    returnType: size_t
    signature: size_t dns_cname_cname(void *dst, size_t lim, struct dns_cname *cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_cname_cname
      Src: /src/gnupg/dirmngr/dns.c:3661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - lim
    - cname
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3662
      start: 3660
    functionDepth: 2
    functionLinenumber: 3660
    functionLinenumberEnd: 3662
    functionName: dns_cname_cname0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_cname_cname
    linkageType: ''
    returnType: size_t
    signature: size_t dns_cname_cname0(void *dst, size_t lim, void *cname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:3678,1
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:3679,1
    - Dst: dns_d_skip
      Src: /src/gnupg/dirmngr/dns.c:3684,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:3689,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - soa
    - rr
    - P
    argTypes:
    - struct dns_soa*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3700
      start: 3664
    functionDepth: 2
    functionLinenumber: 3664
    functionLinenumberEnd: 3700
    functionName: dns_soa_parse
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - lengthof
    - dns_d_skip
    - dns_d_expand
    linkageType: ''
    returnType: int
    signature: int dns_soa_parse(struct dns_soa *soa, struct dns_rr *rr, struct dns_packet
      *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_soa_parse
      Src: /src/gnupg/dirmngr/dns.c:3702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg0
    - rr
    - P
    argTypes:
    - union dns_any*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3703
      start: 3701
    functionDepth: 3
    functionLinenumber: 3701
    functionLinenumberEnd: 3703
    functionName: dns_soa_parse0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_soa_parse
    linkageType: ''
    returnType: int
    signature: int dns_soa_parse0(union dns_any *arg0, struct dns_rr *rr, struct dns_packet
      *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:3723,1
    - Dst: dns_d_push
      Src: /src/gnupg/dirmngr/dns.c:3724,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:3724,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:3729,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - P
    - soa
    argTypes:
    - struct dns_packet*
    - struct dns_soa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3752
      start: 3706
    functionDepth: 4
    functionLinenumber: 3706
    functionLinenumberEnd: 3752
    functionName: dns_soa_push
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_d_push
    - lengthof
    - strlen
    linkageType: ''
    returnType: int
    signature: int dns_soa_push(struct dns_packet *P, struct dns_soa *soa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_soa_push
      Src: /src/gnupg/dirmngr/dns.c:3754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - soa
    argTypes:
    - struct dns_packet*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3755
      start: 3753
    functionDepth: 5
    functionLinenumber: 3753
    functionLinenumberEnd: 3755
    functionName: dns_soa_push0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_soa_push
    linkageType: ''
    returnType: int
    signature: int dns_soa_push0(struct dns_packet *P, void *soa)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:3760,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:3763,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct dns_soa*
    - struct dns_soa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3792
      start: 3757
    functionDepth: 0
    functionLinenumber: 3757
    functionLinenumberEnd: 3792
    functionName: dns_soa_cmp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int dns_soa_cmp(const struct dns_soa *a, const struct dns_soa *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_soa_cmp
      Src: /src/gnupg/dirmngr/dns.c:3794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3795
      start: 3793
    functionDepth: 1
    functionLinenumber: 3793
    functionLinenumberEnd: 3795
    functionName: dns_soa_cmp0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_soa_cmp
    linkageType: ''
    returnType: int
    signature: int dns_soa_cmp0(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_B_INTO
      Src: /src/gnupg/dirmngr/dns.c:3799,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:3801,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:3802,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:3803,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:3804,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:3805,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:3806,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:3807,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:3808,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:3809,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:3810,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:3811,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:3812,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:3813,1
    - Dst: dns_b_strllen
      Src: /src/gnupg/dirmngr/dns.c:3815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - _dst
    - lim
    - soa
    argTypes:
    - void*
    - size_t
    - struct dns_soa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3816
      start: 3798
    functionDepth: 4
    functionLinenumber: 3798
    functionLinenumberEnd: 3816
    functionName: dns_soa_print
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_B_INTO
    - dns_b_fmtju
    - dns_b_putc
    - dns_b_puts
    - dns_b_strllen
    linkageType: ''
    returnType: size_t
    signature: size_t dns_soa_print(void *_dst, size_t lim, struct dns_soa *soa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_soa_print
      Src: /src/gnupg/dirmngr/dns.c:3818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _dst
    - lim
    - soa
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3819
      start: 3817
    functionDepth: 5
    functionLinenumber: 3817
    functionLinenumberEnd: 3819
    functionName: dns_soa_print0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_soa_print
    linkageType: ''
    returnType: size_t
    signature: size_t dns_soa_print0(void *_dst, size_t lim, void *soa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:3827,1
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:3849,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - srv
    - rr
    - P
    argTypes:
    - struct dns_srv*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3855
      start: 3821
    functionDepth: 2
    functionLinenumber: 3821
    functionLinenumberEnd: 3855
    functionName: dns_srv_parse
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - memset
    - dns_d_expand
    linkageType: ''
    returnType: int
    signature: int dns_srv_parse(struct dns_srv *srv, struct dns_rr *rr, struct dns_packet
      *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_srv_parse
      Src: /src/gnupg/dirmngr/dns.c:3857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg0
    - rr
    - P
    argTypes:
    - union dns_any*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3858
      start: 3856
    functionDepth: 3
    functionLinenumber: 3856
    functionLinenumberEnd: 3858
    functionName: dns_srv_parse0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_srv_parse
    linkageType: ''
    returnType: int
    signature: int dns_srv_parse0(union dns_any *arg0, struct dns_rr *rr, struct dns_packet
      *P)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_d_comp
      Src: /src/gnupg/dirmngr/dns.c:3884,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:3884,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - P
    - srv
    argTypes:
    - struct dns_packet*
    - struct dns_srv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3908
      start: 3861
    functionDepth: 3
    functionLinenumber: 3861
    functionLinenumberEnd: 3908
    functionName: dns_srv_push
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_d_comp
    - strlen
    linkageType: ''
    returnType: int
    signature: int dns_srv_push(struct dns_packet *P, struct dns_srv *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_srv_push
      Src: /src/gnupg/dirmngr/dns.c:3910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - srv
    argTypes:
    - struct dns_packet*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3911
      start: 3909
    functionDepth: 4
    functionLinenumber: 3909
    functionLinenumberEnd: 3911
    functionName: dns_srv_push0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_srv_push
    linkageType: ''
    returnType: int
    signature: int dns_srv_push0(struct dns_packet *P, void *srv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:3929,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct dns_srv*
    - struct dns_srv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3930
      start: 3913
    functionDepth: 0
    functionLinenumber: 3913
    functionLinenumberEnd: 3930
    functionName: dns_srv_cmp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int dns_srv_cmp(const struct dns_srv *a, const struct dns_srv *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_srv_cmp
      Src: /src/gnupg/dirmngr/dns.c:3932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3933
      start: 3931
    functionDepth: 1
    functionLinenumber: 3931
    functionLinenumberEnd: 3933
    functionName: dns_srv_cmp0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_srv_cmp
    linkageType: ''
    returnType: int
    signature: int dns_srv_cmp0(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_B_INTO
      Src: /src/gnupg/dirmngr/dns.c:3937,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:3939,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:3940,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:3941,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:3942,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:3943,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:3944,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:3945,1
    - Dst: dns_b_strllen
      Src: /src/gnupg/dirmngr/dns.c:3947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - _dst
    - lim
    - srv
    argTypes:
    - void*
    - size_t
    - struct dns_srv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3948
      start: 3936
    functionDepth: 4
    functionLinenumber: 3936
    functionLinenumberEnd: 3948
    functionName: dns_srv_print
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_B_INTO
    - dns_b_fmtju
    - dns_b_putc
    - dns_b_puts
    - dns_b_strllen
    linkageType: ''
    returnType: size_t
    signature: size_t dns_srv_print(void *_dst, size_t lim, struct dns_srv *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_srv_print
      Src: /src/gnupg/dirmngr/dns.c:3950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _dst
    - lim
    - srv
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3951
      start: 3949
    functionDepth: 5
    functionLinenumber: 3949
    functionLinenumberEnd: 3951
    functionName: dns_srv_print0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_srv_print
    linkageType: ''
    returnType: size_t
    signature: size_t dns_srv_print0(void *_dst, size_t lim, void *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:3954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - lim
    - srv
    argTypes:
    - void*
    - size_t
    - struct dns_srv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3955
      start: 3953
    functionDepth: 1
    functionLinenumber: 3953
    functionLinenumberEnd: 3955
    functionName: dns_srv_cname
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_strlcpy
    linkageType: ''
    returnType: size_t
    signature: size_t dns_srv_cname(void *dst, size_t lim, struct dns_srv *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_srv_cname
      Src: /src/gnupg/dirmngr/dns.c:3957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - lim
    - srv
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3958
      start: 3956
    functionDepth: 2
    functionLinenumber: 3956
    functionLinenumberEnd: 3958
    functionName: dns_srv_cname0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_srv_cname
    linkageType: ''
    returnType: size_t
    signature: size_t dns_srv_cname0(void *dst, size_t lim, void *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - opt
    argTypes:
    - struct dns_opt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3968
      start: 3960
    functionDepth: 0
    functionLinenumber: 3960
    functionLinenumberEnd: 3968
    functionName: dns_opt_ttl
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_opt_ttl(const struct dns_opt *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opt
    argTypes:
    - struct dns_opt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3973
      start: 3971
    functionDepth: 0
    functionLinenumber: 3971
    functionLinenumberEnd: 3973
    functionName: dns_opt_class
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short dns_opt_class(const struct dns_opt *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/dirmngr/dns.c:3977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - opt
    - size
    argTypes:
    - struct dns_opt*
    - size_t
    assertStmts:
    - condition: (size >= offsetof(struct dns_opt, data))
      pos:
        line_end: 3976
        line_start: 3976
        source_file: /src/gnupg/dirmngr/dns.c
    constantsTouched: []
    func_position:
      end: 3987
      start: 3976
    functionDepth: 0
    functionLinenumber: 3976
    functionLinenumberEnd: 3987
    functionName: dns_opt_init
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: struct dns_opt
    signature: struct dns_opt *dns_opt_init(struct dns_opt *opt, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_opt_init
      Src: /src/gnupg/dirmngr/dns.c:3991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - any
    - size
    argTypes:
    - union dns_any*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3992
      start: 3990
    functionDepth: 1
    functionLinenumber: 3990
    functionLinenumberEnd: 3992
    functionName: dns_opt_initany
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_opt_init
    linkageType: ''
    returnType: union dns_any
    signature: union dns_any *dns_opt_initany(union dns_any *any, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DNS_B_FROM
      Src: /src/gnupg/dirmngr/dns.c:3996,1
    - Dst: DNS_B_INTO
      Src: /src/gnupg/dirmngr/dns.c:3997,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:4000,1
    - Dst: dns_b_get16
      Src: /src/gnupg/dirmngr/dns.c:4008,1
    - Dst: dns_b_get16
      Src: /src/gnupg/dirmngr/dns.c:4010,1
    - Dst: dns_b_put16
      Src: /src/gnupg/dirmngr/dns.c:4015,1
    - Dst: dns_b_put16
      Src: /src/gnupg/dirmngr/dns.c:4016,1
    - Dst: dns_b_move
      Src: /src/gnupg/dirmngr/dns.c:4017,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - opt
    - rr
    - P
    argTypes:
    - struct dns_opt*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4024
      start: 3995
    functionDepth: 3
    functionLinenumber: 3995
    functionLinenumberEnd: 4024
    functionName: dns_opt_parse
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_B_INTO
    - dns_b_put16
    - DNS_B_FROM
    - dns_b_get16
    - dns_header
    - dns_b_move
    linkageType: ''
    returnType: int
    signature: int dns_opt_parse(struct dns_opt *opt, struct dns_rr *rr, struct dns_packet
      *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_opt_parse
      Src: /src/gnupg/dirmngr/dns.c:4026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg0
    - rr
    - P
    argTypes:
    - union dns_any*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4027
      start: 4025
    functionDepth: 4
    functionLinenumber: 4025
    functionLinenumberEnd: 4027
    functionName: dns_opt_parse0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_opt_parse
    linkageType: ''
    returnType: int
    signature: int dns_opt_parse0(union dns_any *arg0, struct dns_rr *rr, struct dns_packet
      *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DNS_B_FROM
      Src: /src/gnupg/dirmngr/dns.c:4031,1
    - Dst: DNS_B_INTO
      Src: /src/gnupg/dirmngr/dns.c:4032,1
    - Dst: dns_b_put16
      Src: /src/gnupg/dirmngr/dns.c:4036,1
    - Dst: dns_b_move
      Src: /src/gnupg/dirmngr/dns.c:4042,1
    - Dst: dns_b_pput16
      Src: /src/gnupg/dirmngr/dns.c:4046,1
    - Dst: dns_b_tell
      Src: /src/gnupg/dirmngr/dns.c:4046,1
    - Dst: dns_b_tell
      Src: /src/gnupg/dirmngr/dns.c:4050,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - P
    - opt
    argTypes:
    - struct dns_packet*
    - struct dns_opt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4056
      start: 4030
    functionDepth: 3
    functionLinenumber: 4030
    functionLinenumberEnd: 4056
    functionName: dns_opt_push
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_B_INTO
    - dns_b_pput16
    - dns_b_put16
    - DNS_B_FROM
    - dns_b_tell
    - dns_b_move
    linkageType: ''
    returnType: int
    signature: int dns_opt_push(struct dns_packet *P, struct dns_opt *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_opt_push
      Src: /src/gnupg/dirmngr/dns.c:4058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - opt
    argTypes:
    - struct dns_packet*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4059
      start: 4057
    functionDepth: 4
    functionLinenumber: 4057
    functionLinenumberEnd: 4059
    functionName: dns_opt_push0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_opt_push
    linkageType: ''
    returnType: int
    signature: int dns_opt_push0(struct dns_packet *P, void *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct dns_opt*
    - struct dns_opt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4066
      start: 4061
    functionDepth: 0
    functionLinenumber: 4061
    functionLinenumberEnd: 4066
    functionName: dns_opt_cmp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dns_opt_cmp(const struct dns_opt *a, const struct dns_opt *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_opt_cmp
      Src: /src/gnupg/dirmngr/dns.c:4068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4069
      start: 4067
    functionDepth: 1
    functionLinenumber: 4067
    functionLinenumberEnd: 4069
    functionName: dns_opt_cmp0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_opt_cmp
    linkageType: ''
    returnType: int
    signature: int dns_opt_cmp0(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_B_INTO
      Src: /src/gnupg/dirmngr/dns.c:4073,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:4076,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:4079,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:4080,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:4083,1
    - Dst: dns_b_strllen
      Src: /src/gnupg/dirmngr/dns.c:4085,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - _dst
    - lim
    - opt
    argTypes:
    - void*
    - size_t
    - struct dns_opt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4086
      start: 4072
    functionDepth: 4
    functionLinenumber: 4072
    functionLinenumberEnd: 4086
    functionName: dns_opt_print
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_B_INTO
    - dns_b_strllen
    - dns_b_putc
    - dns_b_fmtju
    linkageType: ''
    returnType: size_t
    signature: size_t dns_opt_print(void *_dst, size_t lim, struct dns_opt *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_opt_print
      Src: /src/gnupg/dirmngr/dns.c:4088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _dst
    - lim
    - opt
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4089
      start: 4087
    functionDepth: 5
    functionLinenumber: 4087
    functionLinenumberEnd: 4089
    functionName: dns_opt_print0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_opt_print
    linkageType: ''
    returnType: size_t
    signature: size_t dns_opt_print0(void *_dst, size_t lim, void *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ns_parse
      Src: /src/gnupg/dirmngr/dns.c:4092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - rr
    - P
    argTypes:
    - struct dns_ptr*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4093
      start: 4091
    functionDepth: 3
    functionLinenumber: 4091
    functionLinenumberEnd: 4093
    functionName: dns_ptr_parse
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_ns_parse
    linkageType: ''
    returnType: int
    signature: int dns_ptr_parse(struct dns_ptr *ptr, struct dns_rr *rr, struct dns_packet
      *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ns_parse0
      Src: /src/gnupg/dirmngr/dns.c:4095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - rr
    - P
    argTypes:
    - union dns_any*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4096
      start: 4094
    functionDepth: 4
    functionLinenumber: 4094
    functionLinenumberEnd: 4096
    functionName: dns_ptr_parse0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_ns_parse0
    linkageType: ''
    returnType: int
    signature: int dns_ptr_parse0(union dns_any *ptr, struct dns_rr *rr, struct dns_packet
      *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ns_push
      Src: /src/gnupg/dirmngr/dns.c:4100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - ptr
    argTypes:
    - struct dns_packet*
    - struct dns_ptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4101
      start: 4099
    functionDepth: 5
    functionLinenumber: 4099
    functionLinenumberEnd: 4101
    functionName: dns_ptr_push
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_ns_push
    linkageType: ''
    returnType: int
    signature: int dns_ptr_push(struct dns_packet *P, struct dns_ptr *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ns_push
      Src: /src/gnupg/dirmngr/dns.c:4103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - ptr
    argTypes:
    - struct dns_packet*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4104
      start: 4102
    functionDepth: 5
    functionLinenumber: 4102
    functionLinenumberEnd: 4104
    functionName: dns_ptr_push0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_ns_push
    linkageType: ''
    returnType: int
    signature: int dns_ptr_push0(struct dns_packet *P, void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_aaaa_arpa
      Src: /src/gnupg/dirmngr/dns.c:4109,1
    - Dst: dns_a_arpa
      Src: /src/gnupg/dirmngr/dns.c:4111,1
    - Dst: dns_a_arpa
      Src: /src/gnupg/dirmngr/dns.c:4115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - dst
    - lim
    - af
    - addr
    argTypes:
    - void*
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4118
      start: 4106
    functionDepth: 5
    functionLinenumber: 4106
    functionLinenumberEnd: 4118
    functionName: dns_ptr_qname
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_a_arpa
    - dns_aaaa_arpa
    linkageType: ''
    returnType: size_t
    signature: size_t dns_ptr_qname(void *dst, size_t lim, int af, void *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:4122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct dns_ptr*
    - struct dns_ptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4123
      start: 4121
    functionDepth: 0
    functionLinenumber: 4121
    functionLinenumberEnd: 4123
    functionName: dns_ptr_cmp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int dns_ptr_cmp(const struct dns_ptr *a, const struct dns_ptr *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ptr_cmp
      Src: /src/gnupg/dirmngr/dns.c:4125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4126
      start: 4124
    functionDepth: 1
    functionLinenumber: 4124
    functionLinenumberEnd: 4126
    functionName: dns_ptr_cmp0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_ptr_cmp
    linkageType: ''
    returnType: int
    signature: int dns_ptr_cmp0(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ns_print
      Src: /src/gnupg/dirmngr/dns.c:4130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - lim
    - ptr
    argTypes:
    - void*
    - size_t
    - struct dns_ptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4131
      start: 4129
    functionDepth: 2
    functionLinenumber: 4129
    functionLinenumberEnd: 4131
    functionName: dns_ptr_print
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_ns_print
    linkageType: ''
    returnType: size_t
    signature: size_t dns_ptr_print(void *dst, size_t lim, struct dns_ptr *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ns_print
      Src: /src/gnupg/dirmngr/dns.c:4133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - lim
    - ptr
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4134
      start: 4132
    functionDepth: 2
    functionLinenumber: 4132
    functionLinenumberEnd: 4134
    functionName: dns_ptr_print0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_ns_print
    linkageType: ''
    returnType: size_t
    signature: size_t dns_ptr_print0(void *dst, size_t lim, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:4137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - lim
    - ptr
    argTypes:
    - void*
    - size_t
    - struct dns_ptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4138
      start: 4136
    functionDepth: 1
    functionLinenumber: 4136
    functionLinenumberEnd: 4138
    functionName: dns_ptr_cname
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_strlcpy
    linkageType: ''
    returnType: size_t
    signature: size_t dns_ptr_cname(void *dst, size_t lim, struct dns_ptr *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ptr_cname
      Src: /src/gnupg/dirmngr/dns.c:4140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - lim
    - ptr
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4141
      start: 4139
    functionDepth: 2
    functionLinenumber: 4139
    functionLinenumberEnd: 4141
    functionName: dns_ptr_cname0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_ptr_cname
    linkageType: ''
    returnType: size_t
    signature: size_t dns_ptr_cname0(void *dst, size_t lim, void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:4157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - fp
    - rr
    - P
    argTypes:
    - struct dns_sshfp*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4165
      start: 4143
    functionDepth: 0
    functionLinenumber: 4143
    functionLinenumberEnd: 4165
    functionName: dns_sshfp_parse
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int dns_sshfp_parse(struct dns_sshfp *fp, struct dns_rr *rr, struct
      dns_packet *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_sshfp_parse
      Src: /src/gnupg/dirmngr/dns.c:4167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg0
    - rr
    - P
    argTypes:
    - union dns_any*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4168
      start: 4166
    functionDepth: 1
    functionLinenumber: 4166
    functionLinenumberEnd: 4168
    functionName: dns_sshfp_parse0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_sshfp_parse
    linkageType: ''
    returnType: int
    signature: int dns_sshfp_parse0(union dns_any *arg0, struct dns_rr *rr, struct
      dns_packet *P)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:4186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - P
    - fp
    argTypes:
    - struct dns_packet*
    - struct dns_sshfp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4200
      start: 4171
    functionDepth: 0
    functionLinenumber: 4171
    functionLinenumberEnd: 4200
    functionName: dns_sshfp_push
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int dns_sshfp_push(struct dns_packet *P, struct dns_sshfp *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_sshfp_push
      Src: /src/gnupg/dirmngr/dns.c:4202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - fp
    argTypes:
    - struct dns_packet*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4203
      start: 4201
    functionDepth: 1
    functionLinenumber: 4201
    functionLinenumberEnd: 4203
    functionName: dns_sshfp_push0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_sshfp_push
    linkageType: ''
    returnType: int
    signature: int dns_sshfp_push0(struct dns_packet *P, void *fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/dirmngr/dns.c:4213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct dns_sshfp*
    - struct dns_sshfp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4219
      start: 4205
    functionDepth: 0
    functionLinenumber: 4205
    functionLinenumberEnd: 4219
    functionName: dns_sshfp_cmp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int dns_sshfp_cmp(const struct dns_sshfp *a, const struct dns_sshfp
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_sshfp_cmp
      Src: /src/gnupg/dirmngr/dns.c:4221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4222
      start: 4220
    functionDepth: 1
    functionLinenumber: 4220
    functionLinenumberEnd: 4222
    functionName: dns_sshfp_cmp0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_sshfp_cmp
    linkageType: ''
    returnType: int
    signature: int dns_sshfp_cmp0(const void *a, const void *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DNS_B_INTO
      Src: /src/gnupg/dirmngr/dns.c:4228,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:4231,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:4232,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:4233,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:4234,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:4239,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:4240,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:4245,1
    - Dst: dns_b_strllen
      Src: /src/gnupg/dirmngr/dns.c:4250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - _dst
    - lim
    - fp
    argTypes:
    - void*
    - size_t
    - struct dns_sshfp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4251
      start: 4225
    functionDepth: 4
    functionLinenumber: 4225
    functionLinenumberEnd: 4251
    functionName: dns_sshfp_print
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_B_INTO
    - dns_b_strllen
    - dns_b_putc
    - dns_b_fmtju
    linkageType: ''
    returnType: size_t
    signature: size_t dns_sshfp_print(void *_dst, size_t lim, struct dns_sshfp *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_sshfp_print
      Src: /src/gnupg/dirmngr/dns.c:4253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _dst
    - lim
    - fp
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4254
      start: 4252
    functionDepth: 5
    functionLinenumber: 4252
    functionLinenumberEnd: 4254
    functionName: dns_sshfp_print0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_sshfp_print
    linkageType: ''
    returnType: size_t
    signature: size_t dns_sshfp_print0 (void *_dst, size_t lim, void *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/dirmngr/dns.c:4257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - txt
    - size
    argTypes:
    - struct dns_txt*
    - size_t
    assertStmts:
    - condition: (size > offsetof(struct dns_txt, data))
      pos:
        line_end: 4256
        line_start: 4256
        source_file: /src/gnupg/dirmngr/dns.c
    constantsTouched: []
    func_position:
      end: 4263
      start: 4256
    functionDepth: 0
    functionLinenumber: 4256
    functionLinenumberEnd: 4263
    functionName: dns_txt_init
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: struct dns_txt
    signature: struct dns_txt *dns_txt_init(struct dns_txt *txt, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - any
    - size
    argTypes:
    - union dns_any*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4270
      start: 4266
    functionDepth: 0
    functionLinenumber: 4266
    functionLinenumberEnd: 4270
    functionName: dns_txt_initany
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: union dns_any
    signature: union dns_any *dns_txt_initany(union dns_any *any, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:4291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - txt
    - rr
    - P
    argTypes:
    - struct dns_txt*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4300
      start: 4273
    functionDepth: 0
    functionLinenumber: 4273
    functionLinenumberEnd: 4300
    functionName: dns_txt_parse
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int dns_txt_parse(struct dns_txt *txt, struct dns_rr *rr, struct dns_packet
      *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_txt_parse
      Src: /src/gnupg/dirmngr/dns.c:4302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg0
    - rr
    - P
    argTypes:
    - union dns_any*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4303
      start: 4301
    functionDepth: 1
    functionLinenumber: 4301
    functionLinenumberEnd: 4303
    functionName: dns_txt_parse0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_txt_parse
    linkageType: ''
    returnType: int
    signature: int dns_txt_parse0(union dns_any *arg0, struct dns_rr *rr, struct dns_packet
      *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:4327,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:4337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - P
    - txt
    argTypes:
    - struct dns_packet*
    - struct dns_txt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4346
      start: 4306
    functionDepth: 1
    functionLinenumber: 4306
    functionLinenumberEnd: 4346
    functionName: dns_txt_push
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_PP_MIN
    - memcpy
    linkageType: ''
    returnType: int
    signature: int dns_txt_push(struct dns_packet *P, struct dns_txt *txt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_txt_push
      Src: /src/gnupg/dirmngr/dns.c:4348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - txt
    argTypes:
    - struct dns_packet*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4349
      start: 4347
    functionDepth: 2
    functionLinenumber: 4347
    functionLinenumberEnd: 4349
    functionName: dns_txt_push0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_txt_push
    linkageType: ''
    returnType: int
    signature: int dns_txt_push0(struct dns_packet *P, void *txt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct dns_txt*
    - struct dns_txt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4356
      start: 4351
    functionDepth: 0
    functionLinenumber: 4351
    functionLinenumberEnd: 4356
    functionName: dns_txt_cmp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dns_txt_cmp(const struct dns_txt *a, const struct dns_txt *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_txt_cmp
      Src: /src/gnupg/dirmngr/dns.c:4358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4359
      start: 4357
    functionDepth: 1
    functionLinenumber: 4357
    functionLinenumberEnd: 4359
    functionName: dns_txt_cmp0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_txt_cmp
    linkageType: ''
    returnType: int
    signature: int dns_txt_cmp0(const void *a, const void *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DNS_B_FROM
      Src: /src/gnupg/dirmngr/dns.c:4363,1
    - Dst: DNS_B_INTO
      Src: /src/gnupg/dirmngr/dns.c:4364,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:4369,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:4373,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:4374,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:4376,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:4380,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:4381,1
    - Dst: dns_b_popc
      Src: /src/gnupg/dirmngr/dns.c:4384,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:4386,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:4387,1
    - Dst: dns_b_strllen
      Src: /src/gnupg/dirmngr/dns.c:4390,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - _dst
    - lim
    - txt
    argTypes:
    - void*
    - size_t
    - struct dns_txt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4391
      start: 4362
    functionDepth: 4
    functionLinenumber: 4362
    functionLinenumberEnd: 4391
    functionName: dns_txt_print
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_B_INTO
    - dns_b_popc
    - dns_b_fmtju
    - DNS_B_FROM
    - dns_b_putc
    - dns_b_strllen
    linkageType: ''
    returnType: size_t
    signature: size_t dns_txt_print(void *_dst, size_t lim, struct dns_txt *txt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_txt_print
      Src: /src/gnupg/dirmngr/dns.c:4393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _dst
    - lim
    - txt
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4394
      start: 4392
    functionDepth: 5
    functionLinenumber: 4392
    functionLinenumberEnd: 4394
    functionName: dns_txt_print0
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_txt_print
    linkageType: ''
    returnType: size_t
    signature: size_t dns_txt_print0(void *_dst, size_t lim, void *txt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: endof
      Src: /src/gnupg/dirmngr/dns.c:4426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum dns_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4433
      start: 4423
    functionDepth: 1
    functionLinenumber: 4423
    functionLinenumberEnd: 4433
    functionName: dns_rrtype
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - endof
    linkageType: ''
    returnType: struct dns_rrtype
    signature: struct dns_rrtype *dns_rrtype(enum dns_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_static_assert
      Src: /src/gnupg/dirmngr/dns.c:4437,1
    - Dst: dns_same_type
      Src: /src/gnupg/dirmngr/dns.c:4437,1
    - Dst: dns_txt_init
      Src: /src/gnupg/dirmngr/dns.c:4438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - any
    - size
    argTypes:
    - union dns_any*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4439
      start: 4436
    functionDepth: 1
    functionLinenumber: 4436
    functionLinenumberEnd: 4439
    functionName: dns_any_init
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 3
    functionsReached:
    - dns_same_type
    - dns_txt_init
    - dns_static_assert
    linkageType: ''
    returnType: union dns_any
    signature: union dns_any *dns_any_init(union dns_any *any, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_static_assert
      Src: /src/gnupg/dirmngr/dns.c:4443,1
    - Dst: dns_same_type
      Src: /src/gnupg/dirmngr/dns.c:4443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - any
    argTypes:
    - union dns_any*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4445
      start: 4442
    functionDepth: 1
    functionLinenumber: 4442
    functionLinenumberEnd: 4445
    functionName: dns_any_sizeof
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_same_type
    - dns_static_assert
    linkageType: ''
    returnType: size_t
    signature: size_t dns_any_sizeof(union dns_any *any)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dns_rrtype*::init
      Src: /src/gnupg/dirmngr/dns.c:4448,1
    - Dst: dns_any_sizeof
      Src: /src/gnupg/dirmngr/dns.c:4448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - any
    - t
    argTypes:
    - union dns_any*
    - struct dns_rrtype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4449
      start: 4447
    functionDepth: 2
    functionLinenumber: 4447
    functionLinenumberEnd: 4449
    functionName: dns_any_reinit
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - struct dns_rrtype*::init
    - dns_any_sizeof
    linkageType: ''
    returnType: union dns_any
    signature: union dns_any *dns_any_reinit(union dns_any *any, const struct dns_rrtype
      *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rrtype
      Src: /src/gnupg/dirmngr/dns.c:4454,1
    - Dst: struct dns_rrtype*::parse
      Src: /src/gnupg/dirmngr/dns.c:4455,1
    - Dst: dns_any_reinit
      Src: /src/gnupg/dirmngr/dns.c:4455,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:4460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - any
    - rr
    - P
    argTypes:
    - union dns_any*
    - struct dns_rr*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4464
      start: 4451
    functionDepth: 3
    functionLinenumber: 4451
    functionLinenumberEnd: 4464
    functionName: dns_any_parse
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 4
    functionsReached:
    - dns_any_reinit
    - memcpy
    - struct dns_rrtype*::parse
    - dns_rrtype
    linkageType: ''
    returnType: int
    signature: int dns_any_parse(union dns_any *any, struct dns_rr *rr, struct dns_packet
      *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rrtype
      Src: /src/gnupg/dirmngr/dns.c:4470,1
    - Dst: struct dns_rrtype*::push
      Src: /src/gnupg/dirmngr/dns.c:4471,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:4479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - P
    - any
    - type
    argTypes:
    - struct dns_packet*
    - union dns_any*
    - enum dns_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4483
      start: 4467
    functionDepth: 2
    functionLinenumber: 4467
    functionLinenumberEnd: 4483
    functionName: dns_any_push
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - memcpy
    - struct dns_rrtype*::push
    - dns_rrtype
    linkageType: ''
    returnType: int
    signature: int dns_any_push(struct dns_packet *P, union dns_any *any, enum dns_type
      type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rrtype
      Src: /src/gnupg/dirmngr/dns.c:4493,1
    - Dst: struct dns_rrtype*::cmp
      Src: /src/gnupg/dirmngr/dns.c:4494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - a
    - x
    - b
    - y
    argTypes:
    - union dns_any*
    - enum dns_type
    - union dns_any*
    - enum dns_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4497
      start: 4486
    functionDepth: 2
    functionLinenumber: 4486
    functionLinenumberEnd: 4497
    functionName: dns_any_cmp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 2
    functionsReached:
    - struct dns_rrtype*::cmp
    - dns_rrtype
    linkageType: ''
    returnType: int
    signature: int dns_any_cmp(const union dns_any *a, enum dns_type x, const union
      dns_any *b, enum dns_type y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rrtype
      Src: /src/gnupg/dirmngr/dns.c:4504,1
    - Dst: struct dns_rrtype*::print
      Src: /src/gnupg/dirmngr/dns.c:4505,1
    - Dst: dns_b_from
      Src: /src/gnupg/dirmngr/dns.c:4507,1
    - Dst: dns_b_into
      Src: /src/gnupg/dirmngr/dns.c:4508,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:4510,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:4513,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:4514,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:4517,1
    - Dst: dns_b_strllen
      Src: /src/gnupg/dirmngr/dns.c:4519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - _dst
    - lim
    - any
    - type
    argTypes:
    - void*
    - size_t
    - union dns_any*
    - enum dns_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4520
      start: 4500
    functionDepth: 4
    functionLinenumber: 4500
    functionLinenumberEnd: 4520
    functionName: dns_any_print
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_b_into
    - struct dns_rrtype*::print
    - dns_b_fmtju
    - dns_b_putc
    - dns_b_strllen
    - dns_b_from
    - dns_rrtype
    linkageType: ''
    returnType: size_t
    signature: size_t dns_any_print(void *_dst, size_t lim, union dns_any *any, enum
      dns_type type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rrtype
      Src: /src/gnupg/dirmngr/dns.c:4526,1
    - Dst: struct dns_rrtype*::cname
      Src: /src/gnupg/dirmngr/dns.c:4527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - dst
    - lim
    - any
    - type
    argTypes:
    - void*
    - size_t
    - union dns_any*
    - enum dns_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4530
      start: 4523
    functionDepth: 2
    functionLinenumber: 4523
    functionLinenumberEnd: 4530
    functionName: dns_any_cname
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - struct dns_rrtype*::cname
    - dns_rrtype
    linkageType: ''
    returnType: size_t
    signature: size_t dns_any_cname(void *dst, size_t lim, union dns_any *any, enum
      dns_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_random
      Src: /src/gnupg/dirmngr/dns.c:4552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4558
      start: 4545
    functionDepth: 0
    functionLinenumber: 4545
    functionLinenumberEnd: 4558
    functionName: dns_trace_mkid
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_random
    linkageType: ''
    returnType: dns_trace_id_t
    signature: dns_trace_id_t dns_trace_mkid(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/gnupg/dirmngr/dns.c:4578,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:4586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ss
    - fd
    argTypes:
    - struct sockaddr_storage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4588
      start: 4575
    functionDepth: 0
    functionLinenumber: 4575
    functionLinenumberEnd: 4588
    functionName: dns_te_initname
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - f
    - memset
    linkageType: ''
    returnType: void
    signature: void dns_te_initname(struct sockaddr_storage *ss, int fd, int (* STDCALL
      f)(socket_fd_t, struct sockaddr *, socklen_t *))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_te_initname
      Src: /src/gnupg/dirmngr/dns.c:4591,1
    - Dst: dns_te_initname
      Src: /src/gnupg/dirmngr/dns.c:4592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - local
    - remote
    - fd
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4593
      start: 4590
    functionDepth: 1
    functionLinenumber: 4590
    functionLinenumberEnd: 4593
    functionName: dns_te_initnames
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_te_initname
    linkageType: ''
    returnType: void
    signature: void dns_te_initnames(struct sockaddr_storage *local, struct sockaddr_storage
      *remote, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:4597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - te
    - type
    argTypes:
    - struct dns_trace_event*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4600
      start: 4595
    functionDepth: 0
    functionLinenumber: 4595
    functionLinenumberEnd: 4600
    functionName: dns_te_init
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: struct dns_trace_event
    signature: struct dns_trace_event *dns_te_init(struct dns_trace_event *te, int
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4604
      start: 4602
    functionDepth: 0
    functionLinenumber: 4602
    functionLinenumberEnd: 4604
    functionName: dns_trace_abi
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dns_trace_abi(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/dirmngr/dns.c:4610,1
    - Dst: dns_trace_mkid
      Src: /src/gnupg/dirmngr/dns.c:4619,1
    - Dst: dns_syerr
      Src: /src/gnupg/dirmngr/dns.c:4623,1
    - Dst: dns_trace_close
      Src: /src/gnupg/dirmngr/dns.c:4625,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - fp
    - error
    argTypes:
    - FILE*
    - dns_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4628
      start: 4606
    functionDepth: 1
    functionLinenumber: 4606
    functionLinenumberEnd: 4628
    functionName: dns_trace_open
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_trace_close
    - dns_syerr
    - malloc
    - dns_trace_mkid
    linkageType: ''
    returnType: struct dns_trace
    signature: struct dns_trace *dns_trace_open(FILE *fp, dns_error_t *error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_trace_release
      Src: /src/gnupg/dirmngr/dns.c:4631,1
    - Dst: fclose
      Src: /src/gnupg/dirmngr/dns.c:4635,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:4636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - trace
    argTypes:
    - struct dns_trace*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4637
      start: 4630
    functionDepth: 1
    functionLinenumber: 4630
    functionLinenumberEnd: 4637
    functionName: dns_trace_close
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - fclose
    - dns_trace_release
    - free
    linkageType: ''
    returnType: void
    signature: void dns_trace_close(struct dns_trace *trace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_atomic_fetch_add
      Src: /src/gnupg/dirmngr/dns.c:4640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - trace
    argTypes:
    - struct dns_trace*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4641
      start: 4639
    functionDepth: 2
    functionLinenumber: 4639
    functionLinenumberEnd: 4641
    functionName: dns_trace_acquire
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_atomic_fetch_add
    linkageType: ''
    returnType: dns_refcount_t
    signature: dns_refcount_t dns_trace_acquire(struct dns_trace *trace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_trace_acquire
      Src: /src/gnupg/dirmngr/dns.c:4644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - trace
    argTypes:
    - struct dns_trace*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4645
      start: 4643
    functionDepth: 3
    functionLinenumber: 4643
    functionLinenumberEnd: 4645
    functionName: dns_trace_acquire_p
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_trace_acquire
    linkageType: ''
    returnType: struct dns_trace
    signature: struct dns_trace *dns_trace_acquire_p(struct dns_trace *trace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_atomic_fetch_sub
      Src: /src/gnupg/dirmngr/dns.c:4648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - trace
    argTypes:
    - struct dns_trace*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4649
      start: 4647
    functionDepth: 2
    functionLinenumber: 4647
    functionLinenumberEnd: 4649
    functionName: dns_trace_release
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_atomic_fetch_sub
    linkageType: ''
    returnType: dns_refcount_t
    signature: dns_refcount_t dns_trace_release(struct dns_trace *trace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - trace
    argTypes:
    - struct dns_trace*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4653
      start: 4651
    functionDepth: 0
    functionLinenumber: 4651
    functionLinenumberEnd: 4653
    functionName: dns_trace_id
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dns_trace_id_t
    signature: dns_trace_id_t dns_trace_id(struct dns_trace *trace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_trace_mkid
      Src: /src/gnupg/dirmngr/dns.c:4656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - trace
    - id
    argTypes:
    - struct dns_trace*
    - dns_trace_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4658
      start: 4655
    functionDepth: 1
    functionLinenumber: 4655
    functionLinenumberEnd: 4658
    functionName: dns_trace_setid
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_trace_mkid
    linkageType: ''
    returnType: dns_trace_id_t
    signature: dns_trace_id_t dns_trace_setid(struct dns_trace *trace, dns_trace_id_t
      id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_trace_fget
      Src: /src/gnupg/dirmngr/dns.c:4661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - trace
    - tp
    - error
    argTypes:
    - struct dns_trace*
    - struct dns_trace_event**
    - dns_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4662
      start: 4660
    functionDepth: 1
    functionLinenumber: 4660
    functionLinenumberEnd: 4662
    functionName: dns_trace_get
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_trace_fget
    linkageType: ''
    returnType: struct dns_trace_event
    signature: struct dns_trace_event *dns_trace_get(struct dns_trace *trace, struct
      dns_trace_event **tp, dns_error_t *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_trace_fput
      Src: /src/gnupg/dirmngr/dns.c:4665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - trace
    - te
    - data
    - datasize
    argTypes:
    - struct dns_trace*
    - struct dns_trace_event*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4666
      start: 4664
    functionDepth: 1
    functionLinenumber: 4664
    functionLinenumberEnd: 4666
    functionName: dns_trace_put
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_trace_fput
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_trace_put(struct dns_trace *trace, const struct dns_trace_event
      *te, const void *data, size_t datasize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/gnupg/dirmngr/dns.c:4672,1
    - Dst: dns_tv2ts
      Src: /src/gnupg/dirmngr/dns.c:4673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - trace
    - te
    argTypes:
    - struct dns_trace*
    - struct dns_trace_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4677
      start: 4668
    functionDepth: 1
    functionLinenumber: 4668
    functionLinenumberEnd: 4677
    functionName: dns_trace_tag
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    - dns_tv2ts
    linkageType: ''
    returnType: struct dns_trace_event
    signature: struct dns_trace_event *dns_trace_tag(struct dns_trace *trace, struct
      dns_trace_event *te)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_trace_put
      Src: /src/gnupg/dirmngr/dns.c:4680,1
    - Dst: dns_trace_tag
      Src: /src/gnupg/dirmngr/dns.c:4680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - trace
    - te
    - data
    - datasize
    argTypes:
    - struct dns_trace*
    - struct dns_trace_event*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4681
      start: 4679
    functionDepth: 2
    functionLinenumber: 4679
    functionLinenumberEnd: 4681
    functionName: dns_trace_tag_and_put
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_trace_put
    - dns_trace_tag
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_trace_tag_and_put(struct dns_trace *trace, struct dns_trace_event
      *te, const void *data, size_t datasize)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/gnupg/dirmngr/dns.c:4689,1
    - Dst: realloc
      Src: /src/gnupg/dirmngr/dns.c:4694,1
    - Dst: DNS_PP_MAX
      Src: /src/gnupg/dirmngr/dns.c:4694,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:4700,1
    - Dst: dns_te_datasize
      Src: /src/gnupg/dirmngr/dns.c:4702,1
    - Dst: fread
      Src: /src/gnupg/dirmngr/dns.c:4704,1
    - Dst: dns_te_datasize
      Src: /src/gnupg/dirmngr/dns.c:4704,1
    - Dst: dns_te_datasize
      Src: /src/gnupg/dirmngr/dns.c:4706,1
    - Dst: ferror
      Src: /src/gnupg/dirmngr/dns.c:4712,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - tp
    - fp
    - error
    argTypes:
    - struct dns_trace_event**
    - FILE*
    - dns_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4717
      start: 4683
    functionDepth: 1
    functionLinenumber: 4683
    functionLinenumberEnd: 4717
    functionName: dns_trace_fget
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_te_datasize
    - realloc
    - DNS_PP_MAX
    - fread
    - memcpy
    - ferror
    linkageType: ''
    returnType: struct dns_trace_event
    signature: struct dns_trace_event *dns_trace_fget(struct dns_trace_event **tp,
      FILE *fp, dns_error_t *error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:4723,1
    - Dst: fseek
      Src: /src/gnupg/dirmngr/dns.c:4727,1
    - Dst: fwrite
      Src: /src/gnupg/dirmngr/dns.c:4729,1
    - Dst: fwrite
      Src: /src/gnupg/dirmngr/dns.c:4732,1
    - Dst: fflush
      Src: /src/gnupg/dirmngr/dns.c:4734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - te
    - data
    - datasize
    - fp
    argTypes:
    - struct dns_trace_event*
    - void*
    - size_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4738
      start: 4719
    functionDepth: 0
    functionLinenumber: 4719
    functionLinenumberEnd: 4738
    functionName: dns_trace_fput
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - fflush
    - memcpy
    - fwrite
    - fseek
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_trace_fput(const struct dns_trace_event *te, const
      void *data, size_t datasize, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:4746,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:4747,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:4747,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:4747,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:4749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - trace
    - host
    - addr
    argTypes:
    - struct dns_trace*
    - char*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4750
      start: 4740
    functionDepth: 1
    functionLinenumber: 4740
    functionLinenumberEnd: 4750
    functionName: dns_trace_setcname
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - lengthof
    - DNS_PP_MIN
    - dns_strlcpy
    - memcpy
    - dns_sa_len
    linkageType: ''
    returnType: void
    signature: void dns_trace_setcname(struct dns_trace *trace, const char *host,
      const struct sockaddr *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: endof
      Src: /src/gnupg/dirmngr/dns.c:4757,1
    - Dst: dns_sa_cmp
      Src: /src/gnupg/dirmngr/dns.c:4758,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - trace
    - addr
    argTypes:
    - struct dns_trace*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4763
      start: 4752
    functionDepth: 3
    functionLinenumber: 4752
    functionLinenumberEnd: 4763
    functionName: dns_trace_cname
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_sa_cmp
    - endof
    linkageType: ''
    returnType: char
    signature: char *dns_trace_cname(struct dns_trace *trace, const struct sockaddr
      *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_te_init
      Src: /src/gnupg/dirmngr/dns.c:4770,1
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:4771,1
    - Dst: dns_trace_tag_and_put
      Src: /src/gnupg/dirmngr/dns.c:4775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - trace
    - qname
    - qtype
    - qclass
    - error
    argTypes:
    - struct dns_trace*
    - char*
    - enum dns_type
    - enum dns_class
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4776
      start: 4765
    functionDepth: 3
    functionLinenumber: 4765
    functionLinenumberEnd: 4776
    functionName: dns_trace_res_submit
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_te_init
    - dns_strlcpy
    - dns_trace_tag_and_put
    linkageType: ''
    returnType: void
    signature: void dns_trace_res_submit(struct dns_trace *trace, const char *qname,
      enum dns_type qtype, enum dns_class qclass, int error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_te_init
      Src: /src/gnupg/dirmngr/dns.c:4785,1
    - Dst: dns_trace_tag_and_put
      Src: /src/gnupg/dirmngr/dns.c:4789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - trace
    - packet
    - error
    argTypes:
    - struct dns_trace*
    - struct dns_packet*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4790
      start: 4778
    functionDepth: 3
    functionLinenumber: 4778
    functionLinenumberEnd: 4790
    functionName: dns_trace_res_fetch
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_te_init
    - dns_trace_tag_and_put
    linkageType: ''
    returnType: void
    signature: void dns_trace_res_fetch(struct dns_trace *trace, const struct dns_packet
      *packet, int error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_te_init
      Src: /src/gnupg/dirmngr/dns.c:4798,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:4799,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:4799,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:4799,1
    - Dst: dns_trace_cname
      Src: /src/gnupg/dirmngr/dns.c:4800,1
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:4801,1
    - Dst: dns_trace_tag_and_put
      Src: /src/gnupg/dirmngr/dns.c:4803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - trace
    - packet
    - haddr
    - error
    argTypes:
    - struct dns_trace*
    - struct dns_packet*
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4804
      start: 4792
    functionDepth: 4
    functionLinenumber: 4792
    functionLinenumberEnd: 4804
    functionName: dns_trace_so_submit
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_trace_cname
    - dns_te_init
    - DNS_PP_MIN
    - dns_strlcpy
    - dns_trace_tag_and_put
    - memcpy
    - dns_sa_len
    linkageType: ''
    returnType: void
    signature: void dns_trace_so_submit(struct dns_trace *trace, const struct dns_packet
      *packet, const struct sockaddr *haddr, int error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_te_init
      Src: /src/gnupg/dirmngr/dns.c:4811,1
    - Dst: dns_trace_tag_and_put
      Src: /src/gnupg/dirmngr/dns.c:4813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - trace
    - packet
    - error
    argTypes:
    - struct dns_trace*
    - struct dns_packet*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4814
      start: 4806
    functionDepth: 3
    functionLinenumber: 4806
    functionLinenumberEnd: 4814
    functionName: dns_trace_so_verify
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_te_init
    - dns_trace_tag_and_put
    linkageType: ''
    returnType: void
    signature: void dns_trace_so_verify(struct dns_trace *trace, const struct dns_packet
      *packet, int error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_te_init
      Src: /src/gnupg/dirmngr/dns.c:4823,1
    - Dst: dns_trace_tag_and_put
      Src: /src/gnupg/dirmngr/dns.c:4827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - trace
    - packet
    - error
    argTypes:
    - struct dns_trace*
    - struct dns_packet*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4828
      start: 4816
    functionDepth: 3
    functionLinenumber: 4816
    functionLinenumberEnd: 4828
    functionName: dns_trace_so_fetch
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_te_init
    - dns_trace_tag_and_put
    linkageType: ''
    returnType: void
    signature: void dns_trace_so_fetch(struct dns_trace *trace, const struct dns_packet
      *packet, int error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_te_init
      Src: /src/gnupg/dirmngr/dns.c:4835,1
    - Dst: dns_te_initname
      Src: /src/gnupg/dirmngr/dns.c:4836,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:4837,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:4837,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:4837,1
    - Dst: dns_trace_tag_and_put
      Src: /src/gnupg/dirmngr/dns.c:4840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - trace
    - fd
    - socktype
    - dst
    - error
    argTypes:
    - struct dns_trace*
    - int
    - int
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4841
      start: 4830
    functionDepth: 3
    functionLinenumber: 4830
    functionLinenumberEnd: 4841
    functionName: dns_trace_sys_connect
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_te_init
    - DNS_PP_MIN
    - dns_te_initname
    - dns_trace_tag_and_put
    - memcpy
    - dns_sa_len
    linkageType: ''
    returnType: void
    signature: void dns_trace_sys_connect(struct dns_trace *trace, int fd, int socktype,
      const struct sockaddr *dst, int error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_te_init
      Src: /src/gnupg/dirmngr/dns.c:4848,1
    - Dst: dns_te_initnames
      Src: /src/gnupg/dirmngr/dns.c:4849,1
    - Dst: dns_trace_tag_and_put
      Src: /src/gnupg/dirmngr/dns.c:4852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - trace
    - fd
    - socktype
    - data
    - datasize
    - error
    argTypes:
    - struct dns_trace*
    - int
    - int
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4853
      start: 4843
    functionDepth: 3
    functionLinenumber: 4843
    functionLinenumberEnd: 4853
    functionName: dns_trace_sys_send
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_te_init
    - dns_trace_tag_and_put
    - dns_te_initnames
    linkageType: ''
    returnType: void
    signature: void dns_trace_sys_send(struct dns_trace *trace, int fd, int socktype,
      const void *data, size_t datasize, int error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_te_init
      Src: /src/gnupg/dirmngr/dns.c:4860,1
    - Dst: dns_te_initnames
      Src: /src/gnupg/dirmngr/dns.c:4861,1
    - Dst: dns_trace_tag_and_put
      Src: /src/gnupg/dirmngr/dns.c:4864,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - trace
    - fd
    - socktype
    - data
    - datasize
    - error
    argTypes:
    - struct dns_trace*
    - int
    - int
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4865
      start: 4855
    functionDepth: 3
    functionLinenumber: 4855
    functionLinenumberEnd: 4865
    functionName: dns_trace_sys_recv
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_te_init
    - dns_trace_tag_and_put
    - dns_te_initnames
    linkageType: ''
    returnType: void
    signature: void dns_trace_sys_recv(struct dns_trace *trace, int fd, int socktype,
      const void *data, size_t datasize, int error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_make
      Src: /src/gnupg/dirmngr/dns.c:4876,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:4879,1
    - Dst: dns_p_study
      Src: /src/gnupg/dirmngr/dns.c:4881,1
    - Dst: dns_reallocarray
      Src: /src/gnupg/dirmngr/dns.c:4883,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:4888,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:4889,1
    - Dst: dns_p_lines
      Src: /src/gnupg/dirmngr/dns.c:4892,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/dns.c:4897,1
    - Dst: fwrite
      Src: /src/gnupg/dirmngr/dns.c:4898,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:4908,1
    - Dst: dns_p_free
      Src: /src/gnupg/dirmngr/dns.c:4909,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 5
    argNames:
    - trace
    - prefix
    - data
    - datasize
    - fp
    argTypes:
    - struct dns_trace*
    - char*
    - unsigned char*
    - size_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4912
      start: 4867
    functionDepth: 5
    functionLinenumber: 4867
    functionLinenumberEnd: 4912
    functionName: dns_trace_dump_packet
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_p_free
    - fwrite
    - dns_p_study
    - dns_p_lines
    - memset
    - fputs
    - dns_p_make
    - memcpy
    - dns_reallocarray
    - free
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_trace_dump_packet(struct dns_trace *trace, const char
      *prefix, const unsigned char *data, size_t datasize, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_hxd_lines
      Src: /src/gnupg/dirmngr/dns.c:4919,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/dns.c:4922,1
    - Dst: fwrite
      Src: /src/gnupg/dirmngr/dns.c:4923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - trace
    - prefix
    - data
    - datasize
    - fp
    argTypes:
    - struct dns_trace*
    - char*
    - unsigned char*
    - size_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4927
      start: 4914
    functionDepth: 2
    functionLinenumber: 4914
    functionLinenumberEnd: 4927
    functionName: dns_trace_dump_data
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_hxd_lines
    - fwrite
    - fputs
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_trace_dump_data(struct dns_trace *trace, const char
      *prefix, const unsigned char *data, size_t datasize, FILE *fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_sa_addr
      Src: /src/gnupg/dirmngr/dns.c:4935,1
    - Dst: dns_ntop
      Src: /src/gnupg/dirmngr/dns.c:4938,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:4940,1
    - Dst: dns_sa_path
      Src: /src/gnupg/dirmngr/dns.c:4941,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:4942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - trace
    - prefix
    - ss
    - fp
    argTypes:
    - struct dns_trace*
    - char*
    - struct sockaddr_storage*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4948
      start: 4929
    functionDepth: 3
    functionLinenumber: 4929
    functionLinenumberEnd: 4948
    functionName: dns_trace_dump_addr
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - fprintf
    - dns_sa_path
    - dns_ntop
    - dns_sa_addr
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_trace_dump_addr(struct dns_trace *trace, const char
      *prefix, const struct sockaddr_storage *ss, FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_utime_print
      Src: /src/gnupg/dirmngr/dns.c:4953,1
    - Dst: dns_ts2us
      Src: /src/gnupg/dirmngr/dns.c:4953,1
    - Dst: dns_utime_print
      Src: /src/gnupg/dirmngr/dns.c:4954,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:4956,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:4957,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:4958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - trace
    - prefix
    - te
    - elapsed
    - fp
    argTypes:
    - struct dns_trace*
    - char*
    - struct dns_trace_event*
    - dns_microseconds_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4960
      start: 4950
    functionDepth: 5
    functionLinenumber: 4950
    functionLinenumberEnd: 4960
    functionName: dns_trace_dump_meta
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - fprintf
    - dns_ts2us
    - dns_utime_print
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_trace_dump_meta(struct dns_trace *trace, const char
      *prefix, const struct dns_trace_event *te, dns_microseconds_t elapsed, FILE
      *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:4963,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:4963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - trace
    - prefix
    - error
    - fp
    argTypes:
    - struct dns_trace*
    - char*
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4965
      start: 4962
    functionDepth: 1
    functionLinenumber: 4962
    functionLinenumberEnd: 4965
    functionName: dns_trace_dump_error
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - fprintf
    - dns_strerror
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_trace_dump_error(struct dns_trace *trace, const char
      *prefix, int error, FILE *fp)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/gnupg/dirmngr/dns.c:4979,1
    - Dst: dns_trace_fget
      Src: /src/gnupg/dirmngr/dns.c:4982,1
    - Dst: dns_te_datasize
      Src: /src/gnupg/dirmngr/dns.c:4983,1
    - Dst: dns_ts2us
      Src: /src/gnupg/dirmngr/dns.c:4988,1
    - Dst: dns_time_diff
      Src: /src/gnupg/dirmngr/dns.c:4990,1
    - Dst: dns_ts2us
      Src: /src/gnupg/dirmngr/dns.c:4990,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:4994,1
    - Dst: dns_trace_dump_meta
      Src: /src/gnupg/dirmngr/dns.c:4995,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:4996,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:4997,1
    - Dst: dns_strtype
      Src: /src/gnupg/dirmngr/dns.c:4997,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:4998,1
    - Dst: dns_strclass
      Src: /src/gnupg/dirmngr/dns.c:4998,1
    - Dst: dns_trace_dump_error
      Src: /src/gnupg/dirmngr/dns.c:4999,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5002,1
    - Dst: dns_trace_dump_meta
      Src: /src/gnupg/dirmngr/dns.c:5003,1
    - Dst: dns_trace_dump_error
      Src: /src/gnupg/dirmngr/dns.c:5004,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5007,1
    - Dst: dns_trace_dump_packet
      Src: /src/gnupg/dirmngr/dns.c:5008,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5010,1
    - Dst: dns_trace_dump_data
      Src: /src/gnupg/dirmngr/dns.c:5011,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5017,1
    - Dst: dns_trace_dump_meta
      Src: /src/gnupg/dirmngr/dns.c:5018,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5019,1
    - Dst: dns_trace_dump_addr
      Src: /src/gnupg/dirmngr/dns.c:5020,1
    - Dst: dns_trace_dump_error
      Src: /src/gnupg/dirmngr/dns.c:5021,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5024,1
    - Dst: dns_trace_dump_packet
      Src: /src/gnupg/dirmngr/dns.c:5025,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5027,1
    - Dst: dns_trace_dump_data
      Src: /src/gnupg/dirmngr/dns.c:5028,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5034,1
    - Dst: dns_trace_dump_meta
      Src: /src/gnupg/dirmngr/dns.c:5035,1
    - Dst: dns_trace_dump_error
      Src: /src/gnupg/dirmngr/dns.c:5036,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5039,1
    - Dst: dns_trace_dump_packet
      Src: /src/gnupg/dirmngr/dns.c:5040,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5042,1
    - Dst: dns_trace_dump_data
      Src: /src/gnupg/dirmngr/dns.c:5043,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5049,1
    - Dst: dns_trace_dump_meta
      Src: /src/gnupg/dirmngr/dns.c:5050,1
    - Dst: dns_trace_dump_error
      Src: /src/gnupg/dirmngr/dns.c:5051,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5054,1
    - Dst: dns_trace_dump_packet
      Src: /src/gnupg/dirmngr/dns.c:5055,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5057,1
    - Dst: dns_trace_dump_data
      Src: /src/gnupg/dirmngr/dns.c:5058,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5065,1
    - Dst: dns_trace_dump_meta
      Src: /src/gnupg/dirmngr/dns.c:5066,1
    - Dst: dns_trace_dump_addr
      Src: /src/gnupg/dirmngr/dns.c:5067,1
    - Dst: dns_trace_dump_addr
      Src: /src/gnupg/dirmngr/dns.c:5068,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5069,1
    - Dst: dns_trace_dump_error
      Src: /src/gnupg/dirmngr/dns.c:5070,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5076,1
    - Dst: dns_trace_dump_meta
      Src: /src/gnupg/dirmngr/dns.c:5077,1
    - Dst: dns_trace_dump_addr
      Src: /src/gnupg/dirmngr/dns.c:5078,1
    - Dst: dns_trace_dump_addr
      Src: /src/gnupg/dirmngr/dns.c:5079,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5080,1
    - Dst: dns_trace_dump_error
      Src: /src/gnupg/dirmngr/dns.c:5081,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5084,1
    - Dst: dns_trace_dump_data
      Src: /src/gnupg/dirmngr/dns.c:5085,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5093,1
    - Dst: dns_trace_dump_meta
      Src: /src/gnupg/dirmngr/dns.c:5094,1
    - Dst: dns_trace_dump_addr
      Src: /src/gnupg/dirmngr/dns.c:5095,1
    - Dst: dns_trace_dump_addr
      Src: /src/gnupg/dirmngr/dns.c:5096,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5097,1
    - Dst: dns_trace_dump_error
      Src: /src/gnupg/dirmngr/dns.c:5098,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5101,1
    - Dst: dns_trace_dump_data
      Src: /src/gnupg/dirmngr/dns.c:5102,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5109,1
    - Dst: dns_trace_dump_meta
      Src: /src/gnupg/dirmngr/dns.c:5110,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:5113,1
    - Dst: dns_trace_dump_data
      Src: /src/gnupg/dirmngr/dns.c:5114,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:5128,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 146
    argCount: 2
    argNames:
    - trace
    - fp
    argTypes:
    - struct dns_trace*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5131
      start: 4967
    functionDepth: 6
    functionLinenumber: 4967
    functionLinenumberEnd: 5131
    functionName: dns_trace_dump
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_time_diff
    - dns_ts2us
    - dns_te_datasize
    - dns_trace_dump_meta
    - dns_strtype
    - dns_trace_dump_error
    - dns_trace_dump_packet
    - dns_trace_dump_data
    - free
    - dns_strclass
    - fprintf
    - dns_trace_fget
    - dns_trace_dump_addr
    - fseek
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_trace_dump(struct dns_trace *trace, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/dirmngr/dns.c:5163,1
    - Dst: dns_syerr
      Src: /src/gnupg/dirmngr/dns.c:5172,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:5174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - error
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5177
      start: 5159
    functionDepth: 1
    functionLinenumber: 5159
    functionLinenumberEnd: 5177
    functionName: dns_hosts_open
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_syerr
    - malloc
    - free
    linkageType: ''
    returnType: struct dns_hosts
    signature: struct dns_hosts *dns_hosts_open(int *error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_hosts_release
      Src: /src/gnupg/dirmngr/dns.c:5183,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:5189,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:5192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - hosts
    argTypes:
    - struct dns_hosts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5195
      start: 5180
    functionDepth: 1
    functionLinenumber: 5180
    functionLinenumberEnd: 5195
    functionName: dns_hosts_close
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_hosts_release
    - free
    linkageType: ''
    returnType: void
    signature: void dns_hosts_close(struct dns_hosts *hosts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_atomic_fetch_add
      Src: /src/gnupg/dirmngr/dns.c:5199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hosts
    argTypes:
    - struct dns_hosts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5200
      start: 5198
    functionDepth: 2
    functionLinenumber: 5198
    functionLinenumberEnd: 5200
    functionName: dns_hosts_acquire
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_atomic_fetch_add
    linkageType: ''
    returnType: dns_refcount_t
    signature: dns_refcount_t dns_hosts_acquire(struct dns_hosts *hosts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_atomic_fetch_sub
      Src: /src/gnupg/dirmngr/dns.c:5204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hosts
    argTypes:
    - struct dns_hosts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5205
      start: 5203
    functionDepth: 2
    functionLinenumber: 5203
    functionLinenumberEnd: 5205
    functionName: dns_hosts_release
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_atomic_fetch_sub
    linkageType: ''
    returnType: dns_refcount_t
    signature: dns_refcount_t dns_hosts_release(struct dns_hosts *hosts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_hosts_release
      Src: /src/gnupg/dirmngr/dns.c:5210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hosts
    argTypes:
    - struct dns_hosts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5213
      start: 5208
    functionDepth: 3
    functionLinenumber: 5208
    functionLinenumberEnd: 5213
    functionName: dns_hosts_mortal
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_hosts_release
    linkageType: ''
    returnType: struct dns_hosts
    signature: struct dns_hosts *dns_hosts_mortal(struct dns_hosts *hosts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_hosts_open
      Src: /src/gnupg/dirmngr/dns.c:5220,1
    - Dst: dns_hosts_loadpath
      Src: /src/gnupg/dirmngr/dns.c:5223,1
    - Dst: dns_hosts_close
      Src: /src/gnupg/dirmngr/dns.c:5230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - error_
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5233
      start: 5216
    functionDepth: 2
    functionLinenumber: 5216
    functionLinenumberEnd: 5233
    functionName: dns_hosts_local
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_hosts_loadpath
    - dns_hosts_close
    - dns_hosts_open
    linkageType: ''
    returnType: struct dns_hosts
    signature: struct dns_hosts *dns_hosts_local(int *error_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5237
      start: 5236
    functionDepth: 0
    functionLinenumber: 5236
    functionLinenumberEnd: 5237
    functionName: dns_hosts_issep
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_hosts_issep(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5238
      start: 5237
    functionDepth: 0
    functionLinenumber: 5237
    functionLinenumberEnd: 5238
    functionName: dns_hosts_iscom
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_hosts_iscom(ch)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DNS_PP_MAX
      Src: /src/gnupg/dirmngr/dns.c:5241,1
    - Dst: rewind
      Src: /src/gnupg/dirmngr/dns.c:5245,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:5248,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:5253,1
    - Dst: fgetc
      Src: /src/gnupg/dirmngr/dns.c:5256,1
    - Dst: dns_hosts_iscom
      Src: /src/gnupg/dirmngr/dns.c:5257,1
    - Dst: dns_hosts_issep
      Src: /src/gnupg/dirmngr/dns.c:5262,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/dns.c:5279,1
    - Dst: dns_inet_pton
      Src: /src/gnupg/dirmngr/dns.c:5280,1
    - Dst: dns_d_anchor
      Src: /src/gnupg/dirmngr/dns.c:5287,1
    - Dst: dns_hosts_insert
      Src: /src/gnupg/dirmngr/dns.c:5289,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 2
    argNames:
    - hosts
    - fp
    argTypes:
    - struct dns_hosts*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5298
      start: 5239
    functionDepth: 2
    functionLinenumber: 5239
    functionLinenumberEnd: 5298
    functionName: dns_hosts_loadfile
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_d_anchor
    - DNS_PP_MAX
    - dns_hosts_issep
    - strchr
    - memset
    - rewind
    - dns_inet_pton
    - dns_hosts_iscom
    - dns_hosts_insert
    - fgetc
    linkageType: ''
    returnType: int
    signature: int dns_hosts_loadfile(struct dns_hosts *hosts, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_fopen
      Src: /src/gnupg/dirmngr/dns.c:5305,1
    - Dst: dns_hosts_loadfile
      Src: /src/gnupg/dirmngr/dns.c:5308,1
    - Dst: fclose
      Src: /src/gnupg/dirmngr/dns.c:5310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - hosts
    - path
    argTypes:
    - struct dns_hosts*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5313
      start: 5301
    functionDepth: 3
    functionLinenumber: 5301
    functionLinenumberEnd: 5313
    functionName: dns_hosts_loadpath
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_fopen
    - fclose
    - dns_hosts_loadfile
    linkageType: ''
    returnType: int
    signature: int dns_hosts_loadpath(struct dns_hosts *hosts, const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_inet_ntop
      Src: /src/gnupg/dirmngr/dns.c:5324,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/dns.c:5326,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:5328,1
    - Dst: fputc
      Src: /src/gnupg/dirmngr/dns.c:5329,1
    - Dst: fputc
      Src: /src/gnupg/dirmngr/dns.c:5331,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/dns.c:5333,1
    - Dst: fputc
      Src: /src/gnupg/dirmngr/dns.c:5334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - hosts
    - fp
    argTypes:
    - struct dns_hosts*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5338
      start: 5316
    functionDepth: 2
    functionLinenumber: 5316
    functionLinenumberEnd: 5338
    functionName: dns_hosts_dump
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_inet_ntop
    - fputc
    - fputs
    - strlen
    linkageType: ''
    returnType: int
    signature: int dns_hosts_dump(struct dns_hosts *hosts, FILE *fp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/dirmngr/dns.c:5345,1
    - Dst: dns_d_anchor
      Src: /src/gnupg/dirmngr/dns.c:5348,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:5348,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:5352,1
    - Dst: dns_aaaa_arpa
      Src: /src/gnupg/dirmngr/dns.c:5354,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:5358,1
    - Dst: dns_a_arpa
      Src: /src/gnupg/dirmngr/dns.c:5360,1
    - Dst: dns_syerr
      Src: /src/gnupg/dirmngr/dns.c:5377,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:5379,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 5
    argNames:
    - hosts
    - af
    - addr
    - host
    - alias
    argTypes:
    - struct dns_hosts*
    - int
    - void*
    - void*
    - _Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5382
      start: 5341
    functionDepth: 5
    functionLinenumber: 5341
    functionLinenumberEnd: 5382
    functionName: dns_hosts_insert
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_syerr
    - strlen
    - dns_d_anchor
    - free
    - malloc
    - dns_a_arpa
    - memcpy
    - dns_aaaa_arpa
    linkageType: ''
    returnType: int
    signature: int dns_hosts_insert(struct dns_hosts *hosts, int af, const void *addr,
      const void *host, _Bool alias)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_calcsize
      Src: /src/gnupg/dirmngr/dns.c:5386,1
    - Dst: dns_p_init
      Src: /src/gnupg/dirmngr/dns.c:5387,1
    - Dst: dns_rr_parse
      Src: /src/gnupg/dirmngr/dns.c:5395,1
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:5398,1
    - Dst: dns_p_push
      Src: /src/gnupg/dirmngr/dns.c:5403,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:5409,1
    - Dst: dns_p_push
      Src: /src/gnupg/dirmngr/dns.c:5412,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:5425,1
    - Dst: dns_p_push
      Src: /src/gnupg/dirmngr/dns.c:5428,1
    - Dst: dns_p_copy
      Src: /src/gnupg/dirmngr/dns.c:5438,1
    - Dst: dns_p_make
      Src: /src/gnupg/dirmngr/dns.c:5438,1
    - Dst: dns_p_free
      Src: /src/gnupg/dirmngr/dns.c:5447,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 54
    argCount: 3
    argNames:
    - hosts
    - Q
    - error_
    argTypes:
    - struct dns_hosts*
    - struct dns_packet*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5450
      start: 5385
    functionDepth: 4
    functionLinenumber: 5385
    functionLinenumberEnd: 5450
    functionName: dns_hosts_query
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_p_free
    - dns_p_make
    - dns_p_copy
    - dns_p_push
    - dns_d_expand
    - dns_rr_parse
    - dns_p_calcsize
    - strcasecmp
    - dns_p_init
    linkageType: ''
    returnType: struct dns_packet
    signature: struct dns_packet *dns_hosts_query(struct dns_hosts *hosts, struct
      dns_packet *Q, int *error_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/dirmngr/dns.c:5468,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:5476,1
    - Dst: gethostname
      Src: /src/gnupg/dirmngr/dns.c:5481,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/dns.c:5488,1
    - Dst: dns_d_anchor
      Src: /src/gnupg/dirmngr/dns.c:5489,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:5489,1
    - Dst: dns_d_cleave
      Src: /src/gnupg/dirmngr/dns.c:5490,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:5490,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:5492,1
    - Dst: dns_resconf_acquire
      Src: /src/gnupg/dirmngr/dns.c:5495,1
    - Dst: dns_syerr
      Src: /src/gnupg/dirmngr/dns.c:5499,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:5501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - error
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5504
      start: 5458
    functionDepth: 2
    functionLinenumber: 5458
    functionLinenumberEnd: 5504
    functionName: dns_resconf_open
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_resconf_acquire
    - dns_syerr
    - strlen
    - dns_d_anchor
    - htons
    - strchr
    - memset
    - malloc
    - gethostname
    - dns_d_cleave
    - free
    linkageType: ''
    returnType: struct dns_resolv_conf
    signature: struct dns_resolv_conf *dns_resconf_open(int *error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_resconf_release
      Src: /src/gnupg/dirmngr/dns.c:5508,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:5511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - resconf
    argTypes:
    - struct dns_resolv_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5512
      start: 5507
    functionDepth: 1
    functionLinenumber: 5507
    functionLinenumberEnd: 5512
    functionName: dns_resconf_close
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_resconf_release
    - free
    linkageType: ''
    returnType: void
    signature: void dns_resconf_close(struct dns_resolv_conf *resconf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_atomic_fetch_add
      Src: /src/gnupg/dirmngr/dns.c:5516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resconf
    argTypes:
    - struct dns_resolv_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5517
      start: 5515
    functionDepth: 2
    functionLinenumber: 5515
    functionLinenumberEnd: 5517
    functionName: dns_resconf_acquire
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_atomic_fetch_add
    linkageType: ''
    returnType: dns_refcount_t
    signature: dns_refcount_t dns_resconf_acquire(struct dns_resolv_conf *resconf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_atomic_fetch_sub
      Src: /src/gnupg/dirmngr/dns.c:5521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resconf
    argTypes:
    - struct dns_resolv_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5522
      start: 5520
    functionDepth: 2
    functionLinenumber: 5520
    functionLinenumberEnd: 5522
    functionName: dns_resconf_release
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_atomic_fetch_sub
    linkageType: ''
    returnType: dns_refcount_t
    signature: dns_refcount_t dns_resconf_release(struct dns_resolv_conf *resconf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_resconf_release
      Src: /src/gnupg/dirmngr/dns.c:5527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - resconf
    argTypes:
    - struct dns_resolv_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5530
      start: 5525
    functionDepth: 3
    functionLinenumber: 5525
    functionLinenumberEnd: 5530
    functionName: dns_resconf_mortal
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_resconf_release
    linkageType: ''
    returnType: struct dns_resolv_conf
    signature: struct dns_resolv_conf *dns_resconf_mortal(struct dns_resolv_conf *resconf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_resconf_open
      Src: /src/gnupg/dirmngr/dns.c:5537,1
    - Dst: dns_resconf_loadpath
      Src: /src/gnupg/dirmngr/dns.c:5540,1
    - Dst: dns_nssconf_loadpath
      Src: /src/gnupg/dirmngr/dns.c:5552,1
    - Dst: dns_resconf_close
      Src: /src/gnupg/dirmngr/dns.c:5561,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - error_
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5564
      start: 5533
    functionDepth: 3
    functionLinenumber: 5533
    functionLinenumberEnd: 5564
    functionName: dns_resconf_local
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_nssconf_loadpath
    - dns_resconf_close
    - dns_resconf_loadpath
    - dns_resconf_open
    linkageType: ''
    returnType: struct dns_resolv_conf
    signature: struct dns_resolv_conf *dns_resconf_local(int *error_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_resconf_local
      Src: /src/gnupg/dirmngr/dns.c:5570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - error
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5574
      start: 5567
    functionDepth: 4
    functionLinenumber: 5567
    functionLinenumberEnd: 5574
    functionName: dns_resconf_root
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_resconf_local
    linkageType: ''
    returnType: struct dns_resolv_conf
    signature: struct dns_resolv_conf *dns_resconf_root(int *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:5578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resconf
    argTypes:
    - struct dns_resolv_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5579
      start: 5577
    functionDepth: 1
    functionLinenumber: 5577
    functionLinenumberEnd: 5579
    functionName: dns_resconf_timeout
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_PP_MIN
    linkageType: ''
    returnType: time_t
    signature: time_t dns_resconf_timeout(const struct dns_resolv_conf *resconf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:5638,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:5639,1
    - Dst: strncasecmp
      Src: /src/gnupg/dirmngr/dns.c:5643,1
    - Dst: strncasecmp
      Src: /src/gnupg/dirmngr/dns.c:5646,1
    - Dst: strncasecmp
      Src: /src/gnupg/dirmngr/dns.c:5649,1
    - Dst: strncasecmp
      Src: /src/gnupg/dirmngr/dns.c:5652,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - word
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5656
      start: 5611
    functionDepth: 1
    functionLinenumber: 5611
    functionLinenumberEnd: 5656
    functionName: dns_resconf_keyword
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - lengthof
    - strncasecmp
    - strcasecmp
    linkageType: ''
    returnType: enum dns_resconf_keyword
    signature: enum dns_resconf_keyword dns_resconf_keyword(const char *word)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:5665,1
    - Dst: dns_isdigit
      Src: /src/gnupg/dirmngr/dns.c:5676,1
    - Dst: endof
      Src: /src/gnupg/dirmngr/dns.c:5688,1
    - Dst: dns_pton
      Src: /src/gnupg/dirmngr/dns.c:5696,1
    - Dst: dns_sa_addr
      Src: /src/gnupg/dirmngr/dns.c:5696,1
    - Dst: dns_sa_port
      Src: /src/gnupg/dirmngr/dns.c:5700,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:5700,1
    - Dst: dns_sa_family
      Src: /src/gnupg/dirmngr/dns.c:5701,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - ss
    - src
    argTypes:
    - struct sockaddr_storage*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5704
      start: 5660
    functionDepth: 2
    functionLinenumber: 5660
    functionLinenumberEnd: 5704
    functionName: dns_resconf_pton
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_pton
    - dns_isdigit
    - endof
    - htons
    - memset
    - dns_sa_port
    - dns_sa_family
    - dns_sa_addr
    linkageType: ''
    returnType: int
    signature: int dns_resconf_pton(struct sockaddr_storage *ss, const char *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5707
      start: 5706
    functionDepth: 0
    functionLinenumber: 5706
    functionLinenumberEnd: 5707
    functionName: dns_resconf_issep
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_resconf_issep(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5708
      start: 5707
    functionDepth: 0
    functionLinenumber: 5707
    functionLinenumberEnd: 5708
    functionName: dns_resconf_iscom
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_resconf_iscom(ch)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: rewind
      Src: /src/gnupg/dirmngr/dns.c:5715,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:5718,1
    - Dst: getc
      Src: /src/gnupg/dirmngr/dns.c:5722,1
    - Dst: dns_resconf_issep
      Src: /src/gnupg/dirmngr/dns.c:5723,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:5727,1
    - Dst: dns_resconf_iscom
      Src: /src/gnupg/dirmngr/dns.c:5730,1
    - Dst: getc
      Src: /src/gnupg/dirmngr/dns.c:5733,1
    - Dst: dns_resconf_keyword
      Src: /src/gnupg/dirmngr/dns.c:5751,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:5753,1
    - Dst: dns_resconf_pton
      Src: /src/gnupg/dirmngr/dns.c:5756,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:5764,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:5766,1
    - Dst: dns_d_anchor
      Src: /src/gnupg/dirmngr/dns.c:5771,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:5771,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:5776,1
    - Dst: dns_resconf_keyword
      Src: /src/gnupg/dirmngr/dns.c:5777,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:5797,1
    - Dst: dns_resconf_keyword
      Src: /src/gnupg/dirmngr/dns.c:5798,1
    - Dst: dns_resconf_keyword
      Src: /src/gnupg/dirmngr/dns.c:5815,1
    - Dst: dns_isdigit
      Src: /src/gnupg/dirmngr/dns.c:5821,1
    - Dst: dns_isdigit
      Src: /src/gnupg/dirmngr/dns.c:5830,1
    - Dst: dns_isdigit
      Src: /src/gnupg/dirmngr/dns.c:5839,1
    - Dst: dns_resconf_keyword
      Src: /src/gnupg/dirmngr/dns.c:5864,1
    - Dst: dns_isdigit
      Src: /src/gnupg/dirmngr/dns.c:5891,1
    - Dst: dns_resconf_setiface
      Src: /src/gnupg/dirmngr/dns.c:5896,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 157
    argCount: 2
    argNames:
    - resconf
    - fp
    argTypes:
    - struct dns_resolv_conf*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5905
      start: 5709
    functionDepth: 3
    functionLinenumber: 5709
    functionLinenumberEnd: 5905
    functionName: dns_resconf_loadfile
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_resconf_setiface
    - strlen
    - dns_d_anchor
    - getc
    - dns_resconf_keyword
    - dns_resconf_issep
    - dns_isdigit
    - dns_resconf_pton
    - memset
    - rewind
    - lengthof
    - dns_resconf_iscom
    linkageType: ''
    returnType: int
    signature: int dns_resconf_loadfile(struct dns_resolv_conf *resconf, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_fopen
      Src: /src/gnupg/dirmngr/dns.c:5912,1
    - Dst: dns_resconf_loadfile
      Src: /src/gnupg/dirmngr/dns.c:5915,1
    - Dst: fclose
      Src: /src/gnupg/dirmngr/dns.c:5917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - resconf
    - path
    argTypes:
    - struct dns_resolv_conf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5920
      start: 5908
    functionDepth: 4
    functionLinenumber: 5908
    functionLinenumberEnd: 5920
    functionName: dns_resconf_loadpath
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_fopen
    - fclose
    - dns_resconf_loadfile
    linkageType: ''
    returnType: int
    signature: int dns_resconf_loadpath(struct dns_resolv_conf *resconf, const char
      *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cf
    argTypes:
    - struct dns_anyconf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5933
      start: 5930
    functionDepth: 0
    functionLinenumber: 5930
    functionLinenumberEnd: 5933
    functionName: dns_anyconf_reset
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_anyconf_reset(struct dns_anyconf *cf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: endof
      Src: /src/gnupg/dirmngr/dns.c:5937,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:5937,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cf
    argTypes:
    - struct dns_anyconf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5945
      start: 5936
    functionDepth: 1
    functionLinenumber: 5936
    functionLinenumberEnd: 5945
    functionName: dns_anyconf_push
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - lengthof
    - endof
    linkageType: ''
    returnType: int
    signature: int dns_anyconf_push(struct dns_anyconf *cf)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cf
    argTypes:
    - struct dns_anyconf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5954
      start: 5948
    functionDepth: 0
    functionLinenumber: 5948
    functionLinenumberEnd: 5954
    functionName: dns_anyconf_pop
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_anyconf_pop(struct dns_anyconf *cf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: endof
      Src: /src/gnupg/dirmngr/dns.c:5958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - ch
    argTypes:
    - struct dns_anyconf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5964
      start: 5957
    functionDepth: 1
    functionLinenumber: 5957
    functionLinenumberEnd: 5964
    functionName: dns_anyconf_addc
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - endof
    linkageType: ''
    returnType: int
    signature: int dns_anyconf_addc(struct dns_anyconf *cf, int ch)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dns_isalpha
      Src: /src/gnupg/dirmngr/dns.c:5986,1
    - Dst: dns_isdigit
      Src: /src/gnupg/dirmngr/dns.c:5990,1
    - Dst: dns_isalnum
      Src: /src/gnupg/dirmngr/dns.c:5994,1
    - Dst: dns_isspace
      Src: /src/gnupg/dirmngr/dns.c:5998,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 2
    argNames:
    - pat
    - mc
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6016
      start: 5967
    functionDepth: 1
    functionLinenumber: 5967
    functionLinenumberEnd: 6016
    functionName: dns_anyconf_match
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_isspace
    - dns_isalnum
    - dns_isdigit
    - dns_isalpha
    linkageType: ''
    returnType: _Bool
    signature: _Bool dns_anyconf_match(const char *pat, int mc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/gnupg/dirmngr/dns.c:6021,1
    - Dst: ungetc
      Src: /src/gnupg/dirmngr/dns.c:6022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6024
      start: 6019
    functionDepth: 0
    functionLinenumber: 6019
    functionLinenumberEnd: 6024
    functionName: dns_anyconf_peek
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - getc
    - ungetc
    linkageType: ''
    returnType: int
    signature: int dns_anyconf_peek(FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/gnupg/dirmngr/dns.c:6031,1
    - Dst: dns_anyconf_match
      Src: /src/gnupg/dirmngr/dns.c:6032,1
    - Dst: ungetc
      Src: /src/gnupg/dirmngr/dns.c:6037,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pat
    - fp
    argTypes:
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6043
      start: 6027
    functionDepth: 2
    functionLinenumber: 6027
    functionLinenumberEnd: 6043
    functionName: dns_anyconf_skip
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - getc
    - dns_anyconf_match
    - ungetc
    linkageType: ''
    returnType: size_t
    signature: size_t dns_anyconf_skip(const char *pat, FILE *fp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/gnupg/dirmngr/dns.c:6050,1
    - Dst: dns_anyconf_match
      Src: /src/gnupg/dirmngr/dns.c:6051,1
    - Dst: dns_anyconf_addc
      Src: /src/gnupg/dirmngr/dns.c:6052,1
    - Dst: ungetc
      Src: /src/gnupg/dirmngr/dns.c:6057,1
    - Dst: dns_anyconf_push
      Src: /src/gnupg/dirmngr/dns.c:6064,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - cf
    - pat
    - fp
    - error
    argTypes:
    - struct dns_anyconf*
    - char*
    - FILE*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6073
      start: 6046
    functionDepth: 2
    functionLinenumber: 6046
    functionLinenumberEnd: 6073
    functionName: dns_anyconf_scan
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_anyconf_push
    - getc
    - dns_anyconf_addc
    - dns_anyconf_match
    - ungetc
    linkageType: ''
    returnType: size_t
    signature: size_t dns_anyconf_scan(struct dns_anyconf *cf, const char *pat, FILE
      *fp, int *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6079,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6082,1
    - Dst: fputc
      Src: /src/gnupg/dirmngr/dns.c:6085,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - fp
    argTypes:
    - struct dns_anyconf*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6086
      start: 6076
    functionDepth: 0
    functionLinenumber: 6076
    functionLinenumberEnd: 6086
    functionName: dns_anyconf_dump
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fputc
    linkageType: ''
    returnType: DNS_NOTUSED
    signature: DNS_NOTUSED dns_anyconf_dump(struct dns_anyconf *cf, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:6120,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:6121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - word
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6126
      start: 6105
    functionDepth: 1
    functionLinenumber: 6105
    functionLinenumberEnd: 6126
    functionName: dns_nssconf_keyword
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - lengthof
    - strcasecmp
    linkageType: ''
    returnType: enum dns_nssconf_keyword
    signature: enum dns_nssconf_keyword dns_nssconf_keyword(const char *word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:6147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6148
      start: 6129
    functionDepth: 1
    functionLinenumber: 6129
    functionLinenumberEnd: 6148
    functionName: dns_nssconf_c2k
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - lengthof
    linkageType: ''
    returnType: enum dns_nssconf_keyword
    signature: enum dns_nssconf_keyword dns_nssconf_c2k(int ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:6167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6168
      start: 6151
    functionDepth: 1
    functionLinenumber: 6151
    functionLinenumberEnd: 6168
    functionName: dns_nssconf_k2c
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - lengthof
    linkageType: ''
    returnType: DNS_PRAGMA_PUSH
    signature: DNS_PRAGMA_PUSH dns_nssconf_k2c(int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:6183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6184
      start: 6170
    functionDepth: 1
    functionLinenumber: 6170
    functionLinenumberEnd: 6184
    functionName: dns_nssconf_k2s
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - lengthof
    linkageType: ''
    returnType: char
    signature: char *dns_nssconf_k2s(int k)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/gnupg/dirmngr/dns.c:6196,1
    - Dst: ferror
      Src: /src/gnupg/dirmngr/dns.c:6196,1
    - Dst: dns_anyconf_reset
      Src: /src/gnupg/dirmngr/dns.c:6197,1
    - Dst: dns_anyconf_skip
      Src: /src/gnupg/dirmngr/dns.c:6199,1
    - Dst: dns_anyconf_scan
      Src: /src/gnupg/dirmngr/dns.c:6201,1
    - Dst: dns_nssconf_keyword
      Src: /src/gnupg/dirmngr/dns.c:6204,1
    - Dst: dns_anyconf_pop
      Src: /src/gnupg/dirmngr/dns.c:6207,1
    - Dst: dns_anyconf_skip
      Src: /src/gnupg/dirmngr/dns.c:6209,1
    - Dst: dns_anyconf_scan
      Src: /src/gnupg/dirmngr/dns.c:6214,1
    - Dst: dns_anyconf_skip
      Src: /src/gnupg/dirmngr/dns.c:6215,1
    - Dst: dns_anyconf_peek
      Src: /src/gnupg/dirmngr/dns.c:6217,1
    - Dst: dns_anyconf_skip
      Src: /src/gnupg/dirmngr/dns.c:6218,1
    - Dst: dns_anyconf_scan
      Src: /src/gnupg/dirmngr/dns.c:6220,1
    - Dst: dns_anyconf_skip
      Src: /src/gnupg/dirmngr/dns.c:6221,1
    - Dst: dns_anyconf_scan
      Src: /src/gnupg/dirmngr/dns.c:6222,1
    - Dst: dns_anyconf_pop
      Src: /src/gnupg/dirmngr/dns.c:6223,1
    - Dst: dns_anyconf_skip
      Src: /src/gnupg/dirmngr/dns.c:6224,1
    - Dst: dns_anyconf_skip
      Src: /src/gnupg/dirmngr/dns.c:6227,1
    - Dst: dns_anyconf_skip
      Src: /src/gnupg/dirmngr/dns.c:6230,1
    - Dst: endof
      Src: /src/gnupg/dirmngr/dns.c:6233,1
    - Dst: dns_nssconf_keyword
      Src: /src/gnupg/dirmngr/dns.c:6236,1
    - Dst: dns_nssconf_k2c
      Src: /src/gnupg/dirmngr/dns.c:6242,1
    - Dst: dns_nssconf_keyword
      Src: /src/gnupg/dirmngr/dns.c:6249,1
    - Dst: dns_nssconf_keyword
      Src: /src/gnupg/dirmngr/dns.c:6250,1
    - Dst: dns_nssconf_k2c
      Src: /src/gnupg/dirmngr/dns.c:6257,1
    - Dst: dns_nssconf_k2c
      Src: /src/gnupg/dirmngr/dns.c:6274,1
    - Dst: dns_anyconf_reset
      Src: /src/gnupg/dirmngr/dns.c:6278,1
    - Dst: dns_anyconf_skip
      Src: /src/gnupg/dirmngr/dns.c:6281,1
    - Dst: strncpy
      Src: /src/gnupg/dirmngr/dns.c:6285,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 2
    argNames:
    - resconf
    - fp
    argTypes:
    - struct dns_resolv_conf*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6288
      start: 6186
    functionDepth: 3
    functionLinenumber: 6186
    functionLinenumberEnd: 6288
    functionName: dns_nssconf_loadfile
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - strncpy
    - dns_anyconf_skip
    - dns_anyconf_reset
    - endof
    - dns_nssconf_keyword
    - dns_anyconf_peek
    - feof
    - dns_anyconf_scan
    - dns_nssconf_k2c
    - ferror
    - dns_anyconf_pop
    linkageType: ''
    returnType: DNS_PRAGMA_POP
    signature: DNS_PRAGMA_POP dns_nssconf_loadfile(struct dns_resolv_conf *resconf,
      FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_fopen
      Src: /src/gnupg/dirmngr/dns.c:6295,1
    - Dst: dns_nssconf_loadfile
      Src: /src/gnupg/dirmngr/dns.c:6298,1
    - Dst: fclose
      Src: /src/gnupg/dirmngr/dns.c:6300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - resconf
    - path
    argTypes:
    - struct dns_resolv_conf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6303
      start: 6291
    functionDepth: 4
    functionLinenumber: 6291
    functionLinenumberEnd: 6303
    functionName: dns_nssconf_loadpath
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_fopen
    - fclose
    - dns_nssconf_loadfile
    linkageType: ''
    returnType: int
    signature: int dns_nssconf_loadpath(struct dns_resolv_conf *resconf, const char
      *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:6313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - resconf
    - state
    argTypes:
    - struct dns_resolv_conf*
    - dns_nssconf_i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6314
      start: 6312
    functionDepth: 1
    functionLinenumber: 6312
    functionLinenumberEnd: 6314
    functionName: dns_nssconf_peek
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - lengthof
    linkageType: ''
    returnType: int
    signature: int dns_nssconf_peek(const struct dns_resolv_conf *resconf, dns_nssconf_i
      state)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_nssconf_peek
      Src: /src/gnupg/dirmngr/dns.c:6325,1
    - Dst: dns_nssconf_c2k
      Src: /src/gnupg/dirmngr/dns.c:6326,1
    - Dst: dns_nssconf_peek
      Src: /src/gnupg/dirmngr/dns.c:6339,1
    - Dst: dns_nssconf_peek
      Src: /src/gnupg/dirmngr/dns.c:6339,1
    - Dst: dns_nssconf_c2k
      Src: /src/gnupg/dirmngr/dns.c:6340,1
    - Dst: dns_nssconf_c2k
      Src: /src/gnupg/dirmngr/dns.c:6341,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 3
    argNames:
    - src
    - resconf
    - state
    argTypes:
    - struct dns_nssconf_source*
    - struct dns_resolv_conf*
    - dns_nssconf_i*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6375
      start: 6316
    functionDepth: 2
    functionLinenumber: 6316
    functionLinenumberEnd: 6375
    functionName: dns_nssconf_next
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_nssconf_peek
    - dns_nssconf_c2k
    linkageType: ''
    returnType: _Bool
    signature: _Bool dns_nssconf_next(struct dns_nssconf_source *src, const struct
      dns_resolv_conf *resconf, dns_nssconf_i *state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/gnupg/dirmngr/dns.c:6390,1
    - Dst: fputc
      Src: /src/gnupg/dirmngr/dns.c:6393,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6395,1
    - Dst: dns_nssconf_k2s
      Src: /src/gnupg/dirmngr/dns.c:6395,1
    - Dst: dns_nssconf_k2s
      Src: /src/gnupg/dirmngr/dns.c:6395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - status
    - action
    - count
    - fp
    argTypes:
    - int
    - int
    - unsigned*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6400
      start: 6378
    functionDepth: 2
    functionLinenumber: 6378
    functionLinenumberEnd: 6400
    functionName: dns_nssconf_dump_status
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fputc
    - dns_nssconf_k2s
    linkageType: ''
    returnType: int
    signature: int dns_nssconf_dump_status(int status, int action, unsigned *count,
      FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnupg/dirmngr/dns.c:6407,1
    - Dst: dns_nssconf_next
      Src: /src/gnupg/dirmngr/dns.c:6409,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6412,1
    - Dst: dns_nssconf_k2s
      Src: /src/gnupg/dirmngr/dns.c:6412,1
    - Dst: dns_nssconf_dump_status
      Src: /src/gnupg/dirmngr/dns.c:6414,1
    - Dst: dns_nssconf_dump_status
      Src: /src/gnupg/dirmngr/dns.c:6415,1
    - Dst: dns_nssconf_dump_status
      Src: /src/gnupg/dirmngr/dns.c:6416,1
    - Dst: dns_nssconf_dump_status
      Src: /src/gnupg/dirmngr/dns.c:6417,1
    - Dst: fputc
      Src: /src/gnupg/dirmngr/dns.c:6420,1
    - Dst: fputc
      Src: /src/gnupg/dirmngr/dns.c:6423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - resconf
    - fp
    argTypes:
    - struct dns_resolv_conf*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6426
      start: 6403
    functionDepth: 3
    functionLinenumber: 6403
    functionLinenumberEnd: 6426
    functionName: dns_nssconf_dump
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_nssconf_next
    - dns_nssconf_dump_status
    - fprintf
    - fputs
    - fputc
    - dns_nssconf_k2s
    linkageType: ''
    returnType: int
    signature: int dns_nssconf_dump(struct dns_resolv_conf *resconf, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/dirmngr/dns.c:6430,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:6433,1
    - Dst: dns_pton
      Src: /src/gnupg/dirmngr/dns.c:6434,1
    - Dst: dns_sa_addr
      Src: /src/gnupg/dirmngr/dns.c:6434,1
    - Dst: dns_sa_port
      Src: /src/gnupg/dirmngr/dns.c:6437,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:6437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - resconf
    - addr
    - port
    argTypes:
    - struct dns_resolv_conf*
    - char*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6441
      start: 6429
    functionDepth: 2
    functionLinenumber: 6429
    functionLinenumberEnd: 6441
    functionName: dns_resconf_setiface
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_pton
    - htons
    - strchr
    - memset
    - dns_sa_port
    - dns_sa_addr
    linkageType: ''
    returnType: int
    signature: int dns_resconf_setiface(struct dns_resolv_conf *resconf, const char
      *addr, unsigned short port)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_d_isanchored
      Src: /src/gnupg/dirmngr/dns.c:6464,1
    - Dst: dns_d_anchor
      Src: /src/gnupg/dirmngr/dns.c:6465,1
    - Dst: DNS_SM_YIELD
      Src: /src/gnupg/dirmngr/dns.c:6466,1
    - Dst: dns_d_ndots
      Src: /src/gnupg/dirmngr/dns.c:6470,1
    - Dst: dns_d_anchor
      Src: /src/gnupg/dirmngr/dns.c:6473,1
    - Dst: DNS_SM_YIELD
      Src: /src/gnupg/dirmngr/dns.c:6474,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:6477,1
    - Dst: DNS_B_INTO
      Src: /src/gnupg/dirmngr/dns.c:6478,1
    - Dst: dns_b_put
      Src: /src/gnupg/dirmngr/dns.c:6481,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:6482,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:6483,1
    - Dst: dns_d_isanchored
      Src: /src/gnupg/dirmngr/dns.c:6484,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:6484,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:6485,1
    - Dst: dns_b_strllen
      Src: /src/gnupg/dirmngr/dns.c:6486,1
    - Dst: DNS_SM_YIELD
      Src: /src/gnupg/dirmngr/dns.c:6487,1
    - Dst: dns_d_anchor
      Src: /src/gnupg/dirmngr/dns.c:6491,1
    - Dst: DNS_SM_YIELD
      Src: /src/gnupg/dirmngr/dns.c:6492,1
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:6497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 6
    argNames:
    - dst
    - lim
    - qname
    - qlen
    - resconf
    - state
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - struct dns_resolv_conf*
    - dns_resconf_i_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6498
      start: 6458
    functionDepth: 4
    functionLinenumber: 6458
    functionLinenumberEnd: 6498
    functionName: dns_resconf_search
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_B_INTO
    - strlen
    - dns_d_anchor
    - dns_d_isanchored
    - dns_b_putc
    - dns_d_ndots
    - DNS_SM_YIELD
    - dns_b_puts
    - dns_b_strllen
    - dns_b_put
    - lengthof
    - dns_strlcpy
    linkageType: ''
    returnType: size_t
    signature: size_t dns_resconf_search(void *dst, size_t lim, const void *qname,
      size_t qlen, struct dns_resolv_conf *resconf, dns_resconf_i_t *state)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:6508,1
    - Dst: dns_inet_ntop
      Src: /src/gnupg/dirmngr/dns.c:6512,1
    - Dst: dns_sa_addr
      Src: /src/gnupg/dirmngr/dns.c:6512,1
    - Dst: ntohs
      Src: /src/gnupg/dirmngr/dns.c:6513,1
    - Dst: dns_sa_port
      Src: /src/gnupg/dirmngr/dns.c:6513,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6516,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6518,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6522,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:6524,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6525,1
    - Dst: fputc
      Src: /src/gnupg/dirmngr/dns.c:6527,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/dns.c:6530,1
    - Dst: dns_nssconf_dump
      Src: /src/gnupg/dirmngr/dns.c:6531,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6533,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:6535,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6538,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6540,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6542,1
    - Dst: fputc
      Src: /src/gnupg/dirmngr/dns.c:6546,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6549,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6552,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6554,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6556,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6558,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6564,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6567,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6570,1
    - Dst: fputc
      Src: /src/gnupg/dirmngr/dns.c:6574,1
    - Dst: dns_inet_ntop
      Src: /src/gnupg/dirmngr/dns.c:6580,1
    - Dst: dns_sa_addr
      Src: /src/gnupg/dirmngr/dns.c:6580,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:6582,1
    - Dst: ntohs
      Src: /src/gnupg/dirmngr/dns.c:6582,1
    - Dst: dns_sa_port
      Src: /src/gnupg/dirmngr/dns.c:6582,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 2
    argNames:
    - resconf
    - fp
    argTypes:
    - struct dns_resolv_conf*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6586
      start: 6504
    functionDepth: 4
    functionLinenumber: 6504
    functionLinenumberEnd: 6586
    functionName: dns_resconf_dump
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_nssconf_dump
    - lengthof
    - fprintf
    - dns_sa_port
    - dns_inet_ntop
    - fputs
    - ntohs
    - fputc
    - dns_sa_addr
    linkageType: ''
    returnType: int
    signature: int dns_resconf_dump(struct dns_resolv_conf *resconf, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/dirmngr/dns.c:6621,1
    - Dst: dns_hints_acquire
      Src: /src/gnupg/dirmngr/dns.c:6626,1
    - Dst: dns_syerr
      Src: /src/gnupg/dirmngr/dns.c:6630,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:6632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - resconf
    - error
    argTypes:
    - struct dns_resolv_conf*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6635
      start: 6615
    functionDepth: 1
    functionLinenumber: 6615
    functionLinenumberEnd: 6635
    functionName: dns_hints_open
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_syerr
    - dns_hints_acquire
    - malloc
    - free
    linkageType: ''
    returnType: struct dns_hints
    signature: struct dns_hints *dns_hints_open(struct dns_resolv_conf *resconf, int
      *error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_hints_release
      Src: /src/gnupg/dirmngr/dns.c:6641,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:6647,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:6650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - H
    argTypes:
    - struct dns_hints*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6653
      start: 6638
    functionDepth: 1
    functionLinenumber: 6638
    functionLinenumberEnd: 6653
    functionName: dns_hints_close
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_hints_release
    - free
    linkageType: ''
    returnType: void
    signature: void dns_hints_close(struct dns_hints *H)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_atomic_fetch_add
      Src: /src/gnupg/dirmngr/dns.c:6657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - H
    argTypes:
    - struct dns_hints*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6658
      start: 6656
    functionDepth: 2
    functionLinenumber: 6656
    functionLinenumberEnd: 6658
    functionName: dns_hints_acquire
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_atomic_fetch_add
    linkageType: ''
    returnType: dns_refcount_t
    signature: dns_refcount_t dns_hints_acquire(struct dns_hints *H)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_atomic_fetch_sub
      Src: /src/gnupg/dirmngr/dns.c:6662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - H
    argTypes:
    - struct dns_hints*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6663
      start: 6661
    functionDepth: 2
    functionLinenumber: 6661
    functionLinenumberEnd: 6663
    functionName: dns_hints_release
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_atomic_fetch_sub
    linkageType: ''
    returnType: dns_refcount_t
    signature: dns_refcount_t dns_hints_release(struct dns_hints *H)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_hints_release
      Src: /src/gnupg/dirmngr/dns.c:6668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hints
    argTypes:
    - struct dns_hints*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6671
      start: 6666
    functionDepth: 3
    functionLinenumber: 6666
    functionLinenumberEnd: 6671
    functionName: dns_hints_mortal
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_hints_release
    linkageType: ''
    returnType: struct dns_hints
    signature: struct dns_hints *dns_hints_mortal(struct dns_hints *hints)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_resconf_acquire
      Src: /src/gnupg/dirmngr/dns.c:6679,1
    - Dst: dns_resconf_local
      Src: /src/gnupg/dirmngr/dns.c:6680,1
    - Dst: dns_hints_open
      Src: /src/gnupg/dirmngr/dns.c:6683,1
    - Dst: dns_hints_insert_resconf
      Src: /src/gnupg/dirmngr/dns.c:6688,1
    - Dst: dns_resconf_close
      Src: /src/gnupg/dirmngr/dns.c:6691,1
    - Dst: dns_resconf_close
      Src: /src/gnupg/dirmngr/dns.c:6697,1
    - Dst: dns_hints_close
      Src: /src/gnupg/dirmngr/dns.c:6698,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - resconf
    - error_
    argTypes:
    - struct dns_resolv_conf*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6701
      start: 6674
    functionDepth: 4
    functionLinenumber: 6674
    functionLinenumberEnd: 6701
    functionName: dns_hints_local
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_resconf_acquire
    - dns_resconf_close
    - dns_hints_open
    - dns_resconf_local
    - dns_hints_close
    - dns_hints_insert_resconf
    linkageType: ''
    returnType: struct dns_hints
    signature: struct dns_hints *dns_hints_local(struct dns_resolv_conf *resconf,
      int *error_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_hints_open
      Src: /src/gnupg/dirmngr/dns.c:6739,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:6742,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:6745,1
    - Dst: dns_pton
      Src: /src/gnupg/dirmngr/dns.c:6746,1
    - Dst: dns_sa_addr
      Src: /src/gnupg/dirmngr/dns.c:6746,1
    - Dst: dns_sa_port
      Src: /src/gnupg/dirmngr/dns.c:6749,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:6749,1
    - Dst: dns_hints_insert
      Src: /src/gnupg/dirmngr/dns.c:6752,1
    - Dst: dns_hints_close
      Src: /src/gnupg/dirmngr/dns.c:6760,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - resconf
    - error_
    argTypes:
    - struct dns_resolv_conf*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6763
      start: 6704
    functionDepth: 2
    functionLinenumber: 6704
    functionLinenumberEnd: 6763
    functionName: dns_hints_root
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_pton
    - dns_hints_open
    - htons
    - dns_hints_close
    - memset
    - dns_sa_port
    - lengthof
    - dns_hints_insert
    - dns_sa_addr
    linkageType: ''
    returnType: struct dns_hints
    signature: struct dns_hints *dns_hints_root(struct dns_resolv_conf *resconf, int
      *error_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:6770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - H
    - zone
    argTypes:
    - struct dns_hints*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6775
      start: 6766
    functionDepth: 0
    functionLinenumber: 6766
    functionLinenumberEnd: 6775
    functionName: dns_hints_fetch
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: struct dns_hints_soa
    signature: struct dns_hints_soa *dns_hints_fetch(struct dns_hints *H, const char
      *zone)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_hints_fetch
      Src: /src/gnupg/dirmngr/dns.c:6783,1
    - Dst: malloc
      Src: /src/gnupg/dirmngr/dns.c:6784,1
    - Dst: dns_syerr
      Src: /src/gnupg/dirmngr/dns.c:6785,1
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:6787,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:6793,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:6795,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:6795,1
    - Dst: DNS_PP_MAX
      Src: /src/gnupg/dirmngr/dns.c:6797,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:6799,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - H
    - zone
    - sa
    - priority
    argTypes:
    - struct dns_hints*
    - char*
    - struct sockaddr*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6803
      start: 6778
    functionDepth: 1
    functionLinenumber: 6778
    functionLinenumberEnd: 6803
    functionName: dns_hints_insert
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_syerr
    - DNS_PP_MAX
    - malloc
    - memcpy
    - lengthof
    - dns_hints_fetch
    - dns_strlcpy
    - dns_sa_len
    linkageType: ''
    returnType: int
    signature: int dns_hints_insert(struct dns_hints *H, const char *zone, const struct
      sockaddr *sa, unsigned priority)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_sa_family
      Src: /src/gnupg/dirmngr/dns.c:6809,1
    - Dst: dns_sa_addr
      Src: /src/gnupg/dirmngr/dns.c:6812,1
    - Dst: htonl
      Src: /src/gnupg/dirmngr/dns.c:6813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sa
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6814
      start: 6806
    functionDepth: 1
    functionLinenumber: 6806
    functionLinenumberEnd: 6814
    functionName: dns_hints_isinaddr_any
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_sa_family
    - htonl
    - dns_sa_addr
    linkageType: ''
    returnType: _Bool
    signature: _Bool dns_hints_isinaddr_any(const void *sa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:6820,1
    - Dst: dns_hints_isinaddr_any
      Src: /src/gnupg/dirmngr/dns.c:6839,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:6840,1
    - Dst: htonl
      Src: /src/gnupg/dirmngr/dns.c:6841,1
    - Dst: dns_hints_insert
      Src: /src/gnupg/dirmngr/dns.c:6847,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - H
    - zone
    - resconf
    - error_
    argTypes:
    - struct dns_hints*
    - char*
    - struct dns_resolv_conf*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6858
      start: 6816
    functionDepth: 2
    functionLinenumber: 6816
    functionLinenumberEnd: 6858
    functionName: dns_hints_insert_resconf
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_hints_isinaddr_any
    - lengthof
    - dns_hints_insert
    - memcpy
    - htonl
    linkageType: ''
    returnType: unsigned
    signature: unsigned dns_hints_insert_resconf(struct dns_hints *H, const char *zone,
      const struct dns_resolv_conf *resconf, int *error_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_k_shuffle16
      Src: /src/gnupg/dirmngr/dns.c:6867,1
    - Dst: dns_k_shuffle16
      Src: /src/gnupg/dirmngr/dns.c:6867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - i
    - soa
    argTypes:
    - unsigned
    - unsigned
    - struct dns_hints_i*
    - struct dns_hints_soa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6868
      start: 6861
    functionDepth: 1
    functionLinenumber: 6861
    functionLinenumberEnd: 6868
    functionName: dns_hints_i_cmp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_k_shuffle16
    linkageType: ''
    returnType: int
    signature: int dns_hints_i_cmp(unsigned a, unsigned b, struct dns_hints_i *i,
      struct dns_hints_soa *soa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_hints_i_cmp
      Src: /src/gnupg/dirmngr/dns.c:6877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - i
    - soa
    argTypes:
    - struct dns_hints_i*
    - struct dns_hints_soa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6882
      start: 6871
    functionDepth: 2
    functionLinenumber: 6871
    functionLinenumberEnd: 6882
    functionName: dns_hints_i_start
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_hints_i_cmp
    linkageType: ''
    returnType: unsigned
    signature: unsigned dns_hints_i_start(struct dns_hints_i *i, struct dns_hints_soa
      *soa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_hints_i_cmp
      Src: /src/gnupg/dirmngr/dns.c:6889,1
    - Dst: dns_hints_i_cmp
      Src: /src/gnupg/dirmngr/dns.c:6896,1
    - Dst: dns_hints_i_cmp
      Src: /src/gnupg/dirmngr/dns.c:6899,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - p0
    - i
    - soa
    argTypes:
    - unsigned
    - struct dns_hints_i*
    - struct dns_hints_soa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6907
      start: 6885
    functionDepth: 2
    functionLinenumber: 6885
    functionLinenumberEnd: 6907
    functionName: dns_hints_i_skip
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_hints_i_cmp
    linkageType: ''
    returnType: unsigned
    signature: unsigned dns_hints_i_skip(unsigned p0, struct dns_hints_i *i, struct
      dns_hints_soa *soa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_random
      Src: /src/gnupg/dirmngr/dns.c:6917,1
    - Dst: dns_hints_fetch
      Src: /src/gnupg/dirmngr/dns.c:6920,1
    - Dst: dns_hints_i_start
      Src: /src/gnupg/dirmngr/dns.c:6921,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - i
    - hints
    argTypes:
    - struct dns_hints_i*
    - struct dns_hints*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6925
      start: 6910
    functionDepth: 3
    functionLinenumber: 6910
    functionLinenumberEnd: 6925
    functionName: dns_hints_i_init
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_hints_i_start
    - dns_hints_fetch
    - dns_random
    linkageType: ''
    returnType: struct dns_hints_i
    signature: struct dns_hints_i *dns_hints_i_init(struct dns_hints_i *i, struct
      dns_hints *hints)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_hints_fetch
      Src: /src/gnupg/dirmngr/dns.c:6932,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:6939,1
    - Dst: dns_hints_i_skip
      Src: /src/gnupg/dirmngr/dns.c:6945,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - sa
    - sa_len
    - lim
    - i
    - H
    argTypes:
    - struct sockaddr**
    - socklen_t*
    - unsigned
    - struct dns_hints_i*
    - struct dns_hints*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6949
      start: 6928
    functionDepth: 3
    functionLinenumber: 6928
    functionLinenumberEnd: 6949
    functionName: dns_hints_grep
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_hints_i_skip
    - dns_hints_fetch
    - dns_sa_len
    linkageType: ''
    returnType: unsigned
    signature: unsigned dns_hints_grep(struct sockaddr **sa, socklen_t *sa_len, unsigned
      lim, struct dns_hints_i *i, struct dns_hints *H)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_calcsize
      Src: /src/gnupg/dirmngr/dns.c:6953,1
    - Dst: dns_rr_grep
      Src: /src/gnupg/dirmngr/dns.c:6966,1
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:6969,1
    - Dst: dns_p_init
      Src: /src/gnupg/dirmngr/dns.c:6974,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:6975,1
    - Dst: dns_rr_copy
      Src: /src/gnupg/dirmngr/dns.c:6977,1
    - Dst: dns_p_push
      Src: /src/gnupg/dirmngr/dns.c:6980,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:6980,1
    - Dst: dns_hints_i_init
      Src: /src/gnupg/dirmngr/dns.c:6986,1
    - Dst: dns_hints_grep
      Src: /src/gnupg/dirmngr/dns.c:6988,1
    - Dst: dns_p_push
      Src: /src/gnupg/dirmngr/dns.c:6992,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:6992,1
    - Dst: dns_sa_addr
      Src: /src/gnupg/dirmngr/dns.c:6992,1
    - Dst: dns_d_cleave
      Src: /src/gnupg/dirmngr/dns.c:6995,1
    - Dst: dns_p_copy
      Src: /src/gnupg/dirmngr/dns.c:6997,1
    - Dst: dns_p_make
      Src: /src/gnupg/dirmngr/dns.c:6997,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 3
    argNames:
    - hints
    - Q
    - error_
    argTypes:
    - struct dns_hints*
    - struct dns_packet*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7007
      start: 6952
    functionDepth: 8
    functionLinenumber: 6952
    functionLinenumberEnd: 7007
    functionName: dns_hints_query
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - strlen
    - dns_rr_copy
    - dns_rr_grep
    - dns_hints_i_init
    - dns_header
    - dns_d_cleave
    - dns_p_copy
    - dns_p_push
    - dns_d_expand
    - dns_sa_addr
    - dns_hints_grep
    - dns_p_calcsize
    - dns_p_make
    - dns_p_init
    linkageType: ''
    returnType: struct dns_packet
    signature: struct dns_packet *dns_hints_query(struct dns_hints *hints, struct
      dns_packet *Q, int *error_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_sa_addr
      Src: /src/gnupg/dirmngr/dns.c:7023,1
    - Dst: memcmp
      Src: /src/gnupg/dirmngr/dns.c:7026,1
    - Dst: dns_sa_port
      Src: /src/gnupg/dirmngr/dns.c:7029,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:7031,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:7035,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - hints
    - af
    - addr
    argTypes:
    - struct dns_hints*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7036
      start: 7011
    functionDepth: 1
    functionLinenumber: 7011
    functionLinenumberEnd: 7036
    functionName: dns_hints_port
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - memcmp
    - dns_sa_port
    - htons
    - dns_sa_addr
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short dns_hints_port(struct dns_hints *hints, int af, void
      *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:7046,1
    - Dst: dns_ntop
      Src: /src/gnupg/dirmngr/dns.c:7051,1
    - Dst: dns_sa_addr
      Src: /src/gnupg/dirmngr/dns.c:7051,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:7054,1
    - Dst: ntohs
      Src: /src/gnupg/dirmngr/dns.c:7054,1
    - Dst: dns_sa_port
      Src: /src/gnupg/dirmngr/dns.c:7054,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - hints
    - fp
    argTypes:
    - struct dns_hints*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7059
      start: 7039
    functionDepth: 3
    functionLinenumber: 7039
    functionLinenumberEnd: 7059
    functionName: dns_hints_dump
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_ntop
    - fprintf
    - dns_sa_port
    - ntohs
    - dns_sa_addr
    linkageType: ''
    returnType: int
    signature: int dns_hints_dump(struct dns_hints *hints, FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_atomic_fetch_add
      Src: /src/gnupg/dirmngr/dns.c:7068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cache
    argTypes:
    - struct dns_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7069
      start: 7067
    functionDepth: 2
    functionLinenumber: 7067
    functionLinenumberEnd: 7069
    functionName: dns_cache_acquire
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_atomic_fetch_add
    linkageType: ''
    returnType: dns_refcount_t
    signature: dns_refcount_t dns_cache_acquire(struct dns_cache *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_atomic_fetch_sub
      Src: /src/gnupg/dirmngr/dns.c:7073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cache
    argTypes:
    - struct dns_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7074
      start: 7072
    functionDepth: 2
    functionLinenumber: 7072
    functionLinenumberEnd: 7074
    functionName: dns_cache_release
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_atomic_fetch_sub
    linkageType: ''
    returnType: dns_refcount_t
    signature: dns_refcount_t dns_cache_release(struct dns_cache *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - query
    - cache
    - error
    argTypes:
    - struct dns_packet*
    - struct dns_cache*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7083
      start: 7077
    functionDepth: 0
    functionLinenumber: 7077
    functionLinenumberEnd: 7083
    functionName: dns_cache_query
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct dns_packet
    signature: struct dns_packet *dns_cache_query(struct dns_packet *query, struct
      dns_cache *cache, int *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - query
    - cache
    argTypes:
    - struct dns_packet*
    - struct dns_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7091
      start: 7086
    functionDepth: 0
    functionLinenumber: 7086
    functionLinenumberEnd: 7091
    functionName: dns_cache_submit
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dns_cache_submit(struct dns_packet *query, struct dns_cache *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cache
    argTypes:
    - struct dns_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7098
      start: 7094
    functionDepth: 0
    functionLinenumber: 7094
    functionLinenumberEnd: 7098
    functionName: dns_cache_check
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dns_cache_check(struct dns_cache *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cache
    - error
    argTypes:
    - struct dns_cache*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7106
      start: 7101
    functionDepth: 0
    functionLinenumber: 7101
    functionLinenumberEnd: 7106
    functionName: dns_cache_fetch
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct dns_packet
    signature: struct dns_packet *dns_cache_fetch(struct dns_cache *cache, int *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cache
    argTypes:
    - struct dns_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7113
      start: 7109
    functionDepth: 0
    functionLinenumber: 7109
    functionLinenumberEnd: 7113
    functionName: dns_cache_pollfd
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dns_cache_pollfd(struct dns_cache *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cache
    argTypes:
    - struct dns_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7120
      start: 7116
    functionDepth: 0
    functionLinenumber: 7116
    functionLinenumberEnd: 7120
    functionName: dns_cache_events
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: short
    signature: short dns_cache_events(struct dns_cache *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cache
    argTypes:
    - struct dns_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7127
      start: 7123
    functionDepth: 0
    functionLinenumber: 7123
    functionLinenumberEnd: 7127
    functionName: dns_cache_clear
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_cache_clear(struct dns_cache *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cache
    argTypes:
    - struct dns_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7147
      start: 7130
    functionDepth: 0
    functionLinenumber: 7130
    functionLinenumberEnd: 7147
    functionName: dns_cache_init
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct dns_cache
    signature: struct dns_cache *dns_cache_init(struct dns_cache *cache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct dns_cache*::release
      Src: /src/gnupg/dirmngr/dns.c:7152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cache
    argTypes:
    - struct dns_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7153
      start: 7150
    functionDepth: 0
    functionLinenumber: 7150
    functionLinenumberEnd: 7153
    functionName: dns_cache_close
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - struct dns_cache*::release
    linkageType: ''
    returnType: void
    signature: void dns_cache_close(struct dns_cache *cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct dns_options*::closefd::cb
      Src: /src/gnupg/dirmngr/dns.c:7163,1
    - Dst: closesocket
      Src: /src/gnupg/dirmngr/dns.c:7167,1
    - Dst: close
      Src: /src/gnupg/dirmngr/dns.c:7169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - fd
    - opts
    argTypes:
    - int*
    - struct dns_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7173
      start: 7161
    functionDepth: 0
    functionLinenumber: 7161
    functionLinenumberEnd: 7173
    functionName: dns_socketclose
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - struct dns_options*::closefd::cb
    - close
    - closesocket
    linkageType: ''
    returnType: void
    signature: void dns_socketclose(int *fd, const struct dns_options *opts)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/gnupg/dirmngr/dns.c:7211,1
    - Dst: fcntl
      Src: /src/gnupg/dirmngr/dns.c:7215,1
    - Dst: fcntl
      Src: /src/gnupg/dirmngr/dns.c:7220,1
    - Dst: fcntl
      Src: /src/gnupg/dirmngr/dns.c:7222,1
    - Dst: ioctlsocket
      Src: /src/gnupg/dirmngr/dns.c:7226,1
    - Dst: setsockopt
      Src: /src/gnupg/dirmngr/dns.c:7233,1
    - Dst: dns_sa_port
      Src: /src/gnupg/dirmngr/dns.c:7254,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:7258,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:7258,1
    - Dst: dns_random
      Src: /src/gnupg/dirmngr/dns.c:7261,1
    - Dst: dns_sa_port
      Src: /src/gnupg/dirmngr/dns.c:7263,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:7263,1
    - Dst: bind
      Src: /src/gnupg/dirmngr/dns.c:7265,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:7265,1
    - Dst: bind
      Src: /src/gnupg/dirmngr/dns.c:7273,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:7273,1
    - Dst: dns_soerr
      Src: /src/gnupg/dirmngr/dns.c:7278,1
    - Dst: dns_syerr
      Src: /src/gnupg/dirmngr/dns.c:7283,1
    - Dst: dns_socketclose
      Src: /src/gnupg/dirmngr/dns.c:7290,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 55
    argCount: 3
    argNames:
    - local
    - type
    - error_
    argTypes:
    - struct sockaddr*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7293
      start: 7198
    functionDepth: 1
    functionLinenumber: 7198
    functionLinenumberEnd: 7293
    functionName: dns_socket
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_soerr
    - socket
    - dns_syerr
    - setsockopt
    - ioctlsocket
    - bind
    - htons
    - dns_socketclose
    - dns_sa_port
    - fcntl
    - dns_random
    - memcpy
    - dns_sa_len
    linkageType: ''
    returnType: int
    signature: int dns_socket(struct sockaddr *local, int type, int *error_)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: struct dns_socket*::opts::closefd::cb
      Src: /src/gnupg/dirmngr/dns.c:7379,1
    - Dst: DNS_PP_MAX
      Src: /src/gnupg/dirmngr/dns.c:7386,1
    - Dst: realloc
      Src: /src/gnupg/dirmngr/dns.c:7389,1
    - Dst: dns_syerr
      Src: /src/gnupg/dirmngr/dns.c:7390,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - so
    - fd
    argTypes:
    - struct dns_socket*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7400
      start: 7372
    functionDepth: 1
    functionLinenumber: 7372
    functionLinenumberEnd: 7400
    functionName: dns_so_closefd
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_syerr
    - struct dns_socket*::opts::closefd::cb
    - DNS_PP_MAX
    - realloc
    linkageType: ''
    returnType: int
    signature: int dns_so_closefd(struct dns_socket *so, int *fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_socketclose
      Src: /src/gnupg/dirmngr/dns.c:7410,1
    - Dst: dns_socketclose
      Src: /src/gnupg/dirmngr/dns.c:7412,1
    - Dst: dns_socketclose
      Src: /src/gnupg/dirmngr/dns.c:7416,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:7418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - so
    - which
    argTypes:
    - struct dns_socket*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7422
      start: 7408
    functionDepth: 1
    functionLinenumber: 7408
    functionLinenumberEnd: 7422
    functionName: dns_so_closefds
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_socketclose
    - free
    linkageType: ''
    returnType: void
    signature: void dns_so_closefds(struct dns_socket *so, int which)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:7437,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:7437,1
    - Dst: dns_socket
      Src: /src/gnupg/dirmngr/dns.c:7439,1
    - Dst: dns_k_permutor_init
      Src: /src/gnupg/dirmngr/dns.c:7442,1
    - Dst: dns_so_destroy
      Src: /src/gnupg/dirmngr/dns.c:7446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - so
    - local
    - type
    - opts
    - error
    argTypes:
    - struct dns_socket*
    - struct sockaddr*
    - int
    - struct dns_options*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7449
      start: 7427
    functionDepth: 2
    functionLinenumber: 7427
    functionLinenumberEnd: 7449
    functionName: dns_so_init
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_socket
    - dns_so_destroy
    - dns_k_permutor_init
    - memcpy
    - dns_sa_len
    linkageType: ''
    returnType: struct dns_socket
    signature: struct dns_socket *dns_so_init(struct dns_socket *so, const struct
      sockaddr *local, int type, const struct dns_options *opts, int *error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnupg/dirmngr/dns.c:7455,1
    - Dst: dns_so_init
      Src: /src/gnupg/dirmngr/dns.c:7458,1
    - Dst: dns_syerr
      Src: /src/gnupg/dirmngr/dns.c:7463,1
    - Dst: dns_so_close
      Src: /src/gnupg/dirmngr/dns.c:7465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - local
    - type
    - opts
    - error
    argTypes:
    - struct sockaddr*
    - int
    - struct dns_options*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7468
      start: 7452
    functionDepth: 3
    functionLinenumber: 7452
    functionLinenumberEnd: 7468
    functionName: dns_so_open
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_so_init
    - dns_syerr
    - malloc
    - dns_so_close
    linkageType: ''
    returnType: struct dns_socket
    signature: struct dns_socket *dns_so_open(const struct sockaddr *local, int type,
      const struct dns_options *opts, int *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_so_reset
      Src: /src/gnupg/dirmngr/dns.c:7472,1
    - Dst: dns_so_closefds
      Src: /src/gnupg/dirmngr/dns.c:7473,1
    - Dst: dns_trace_close
      Src: /src/gnupg/dirmngr/dns.c:7474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - so
    argTypes:
    - struct dns_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7475
      start: 7471
    functionDepth: 2
    functionLinenumber: 7471
    functionLinenumberEnd: 7475
    functionName: dns_so_destroy
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_trace_close
    - dns_so_closefds
    - dns_so_reset
    linkageType: ''
    returnType: void
    signature: void dns_so_destroy(struct dns_socket *so)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_so_destroy
      Src: /src/gnupg/dirmngr/dns.c:7482,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:7484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - so
    argTypes:
    - struct dns_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7485
      start: 7478
    functionDepth: 3
    functionLinenumber: 7478
    functionLinenumberEnd: 7485
    functionName: dns_so_close
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_so_destroy
    - free
    linkageType: ''
    returnType: void
    signature: void dns_so_close(struct dns_socket *so)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:7489,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:7491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - so
    argTypes:
    - struct dns_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7492
      start: 7488
    functionDepth: 2
    functionLinenumber: 7488
    functionLinenumberEnd: 7492
    functionName: dns_so_reset
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_p_setptr
    - memset
    linkageType: ''
    returnType: void
    signature: void dns_so_reset(struct dns_socket *so)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_k_permutor_step
      Src: /src/gnupg/dirmngr/dns.c:7496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - so
    argTypes:
    - struct dns_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7497
      start: 7495
    functionDepth: 4
    functionLinenumber: 7495
    functionLinenumberEnd: 7497
    functionName: dns_so_mkqid
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_k_permutor_step
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short dns_so_mkqid(struct dns_socket *so)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNS_PP_MAX
      Src: /src/gnupg/dirmngr/dns.c:7503,1
    - Dst: realloc
      Src: /src/gnupg/dirmngr/dns.c:7506,1
    - Dst: dns_syerr
      Src: /src/gnupg/dirmngr/dns.c:7507,1
    - Dst: dns_p_init
      Src: /src/gnupg/dirmngr/dns.c:7509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - so
    - len
    argTypes:
    - struct dns_socket*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7512
      start: 7502
    functionDepth: 1
    functionLinenumber: 7502
    functionLinenumberEnd: 7512
    functionName: dns_so_newanswer
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_syerr
    - dns_p_init
    - DNS_PP_MAX
    - realloc
    linkageType: ''
    returnType: int
    signature: int dns_so_newanswer(struct dns_socket *so, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_so_reset
      Src: /src/gnupg/dirmngr/dns.c:7519,1
    - Dst: dns_rr_parse
      Src: /src/gnupg/dirmngr/dns.c:7521,1
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:7524,1
    - Dst: dns_so_newanswer
      Src: /src/gnupg/dirmngr/dns.c:7535,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:7538,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:7538,1
    - Dst: dns_begin
      Src: /src/gnupg/dirmngr/dns.c:7543,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:7545,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:7546,1
    - Dst: dns_so_mkqid
      Src: /src/gnupg/dirmngr/dns.c:7546,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:7548,1
    - Dst: dns_trace_so_submit
      Src: /src/gnupg/dirmngr/dns.c:7553,1
    - Dst: dns_syerr
      Src: /src/gnupg/dirmngr/dns.c:7557,1
    - Dst: dns_so_reset
      Src: /src/gnupg/dirmngr/dns.c:7559,1
    - Dst: dns_trace_so_submit
      Src: /src/gnupg/dirmngr/dns.c:7560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - so
    - Q
    - host
    argTypes:
    - struct dns_socket*
    - struct dns_packet*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7562
      start: 7515
    functionDepth: 5
    functionLinenumber: 7515
    functionLinenumberEnd: 7562
    functionName: dns_so_submit
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_syerr
    - dns_begin
    - dns_header
    - dns_so_mkqid
    - dns_so_reset
    - dns_d_expand
    - dns_trace_so_submit
    - dns_so_newanswer
    - dns_rr_parse
    - memcpy
    - dns_sa_len
    linkageType: ''
    returnType: int
    signature: int dns_so_submit(struct dns_socket *so, struct dns_packet *Q, struct
      sockaddr *host)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:7574,1
    - Dst: dns_p_count
      Src: /src/gnupg/dirmngr/dns.c:7577,1
    - Dst: dns_rr_parse
      Src: /src/gnupg/dirmngr/dns.c:7580,1
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:7586,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:7591,1
    - Dst: dns_trace_so_verify
      Src: /src/gnupg/dirmngr/dns.c:7594,1
    - Dst: DNS_SHOW
      Src: /src/gnupg/dirmngr/dns.c:7600,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:7600,1
    - Dst: dns_trace_so_verify
      Src: /src/gnupg/dirmngr/dns.c:7601,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 2
    argNames:
    - so
    - P
    argTypes:
    - struct dns_socket*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7604
      start: 7565
    functionDepth: 4
    functionLinenumber: 7565
    functionLinenumberEnd: 7604
    functionName: dns_so_verify
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_strerror
    - DNS_SHOW
    - dns_header
    - dns_p_count
    - dns_trace_so_verify
    - dns_d_expand
    - dns_rr_parse
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int dns_so_verify(struct dns_socket *so, struct dns_packet *P)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getpeername
      Src: /src/gnupg/dirmngr/dns.c:7614,1
    - Dst: dns_sa_cmp
      Src: /src/gnupg/dirmngr/dns.c:7617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - so
    argTypes:
    - struct dns_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7618
      start: 7607
    functionDepth: 3
    functionLinenumber: 7607
    functionLinenumberEnd: 7618
    functionName: dns_so_tcp_keep
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_sa_cmp
    - getpeername
    linkageType: ''
    returnType: _Bool
    signature: _Bool dns_so_tcp_keep(struct dns_socket *so)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - so
    - length
    argTypes:
    - struct dns_socket*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7630
      start: 7625
    functionDepth: 0
    functionLinenumber: 7625
    functionLinenumberEnd: 7630
    functionName: dns_so_tcp_send_buffer
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *dns_so_tcp_send_buffer(struct dns_socket *so, size_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - so
    - length
    argTypes:
    - struct dns_socket*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7637
      start: 7633
    functionDepth: 0
    functionLinenumber: 7633
    functionLinenumberEnd: 7637
    functionName: dns_so_tcp_recv_expect
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_so_tcp_recv_expect(struct dns_socket *so, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - so
    argTypes:
    - struct dns_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7642
      start: 7640
    functionDepth: 0
    functionLinenumber: 7640
    functionLinenumberEnd: 7642
    functionName: dns_so_tcp_recv_buffer
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *dns_so_tcp_recv_buffer(struct dns_socket *so)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_send_nopipe
      Src: /src/gnupg/dirmngr/dns.c:7667,1
    - Dst: dns_trace_sys_send
      Src: /src/gnupg/dirmngr/dns.c:7668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - so
    argTypes:
    - struct dns_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7678
      start: 7654
    functionDepth: 4
    functionLinenumber: 7654
    functionLinenumberEnd: 7678
    functionName: dns_so_tcp_send
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_send_nopipe
    - dns_trace_sys_send
    linkageType: ''
    returnType: int
    signature: int dns_so_tcp_send(struct dns_socket *so)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_recv
      Src: /src/gnupg/dirmngr/dns.c:7691,1
    - Dst: dns_trace_sys_recv
      Src: /src/gnupg/dirmngr/dns.c:7692,1
    - Dst: dns_so_newanswer
      Src: /src/gnupg/dirmngr/dns.c:7703,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - so
    argTypes:
    - struct dns_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7715
      start: 7681
    functionDepth: 4
    functionLinenumber: 7681
    functionLinenumberEnd: 7715
    functionName: dns_so_tcp_recv
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_so_newanswer
    - dns_trace_sys_recv
    - dns_recv
    linkageType: ''
    returnType: int
    signature: int dns_so_tcp_recv(struct dns_socket *so)
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: dns_so_closefd
      Src: /src/gnupg/dirmngr/dns.c:7734,1
    - Dst: dns_so_closefd
      Src: /src/gnupg/dirmngr/dns.c:7736,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:7741,1
    - Dst: dns_socket
      Src: /src/gnupg/dirmngr/dns.c:7744,1
    - Dst: dns_connect
      Src: /src/gnupg/dirmngr/dns.c:7751,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:7751,1
    - Dst: dns_trace_sys_connect
      Src: /src/gnupg/dirmngr/dns.c:7752,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:7760,1
    - Dst: connect
      Src: /src/gnupg/dirmngr/dns.c:7762,1
    - Dst: dns_send
      Src: /src/gnupg/dirmngr/dns.c:7772,1
    - Dst: dns_trace_sys_send
      Src: /src/gnupg/dirmngr/dns.c:7773,1
    - Dst: dns_recv
      Src: /src/gnupg/dirmngr/dns.c:7782,1
    - Dst: dns_trace_sys_recv
      Src: /src/gnupg/dirmngr/dns.c:7783,1
    - Dst: dns_so_verify
      Src: /src/gnupg/dirmngr/dns.c:7791,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:7796,1
    - Dst: dns_so_closefd
      Src: /src/gnupg/dirmngr/dns.c:7803,1
    - Dst: dns_so_closefd
      Src: /src/gnupg/dirmngr/dns.c:7805,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:7810,1
    - Dst: dns_so_tcp_keep
      Src: /src/gnupg/dirmngr/dns.c:7814,1
    - Dst: dns_so_closefd
      Src: /src/gnupg/dirmngr/dns.c:7820,1
    - Dst: dns_socket
      Src: /src/gnupg/dirmngr/dns.c:7823,1
    - Dst: dns_connect
      Src: /src/gnupg/dirmngr/dns.c:7828,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:7828,1
    - Dst: dns_trace_sys_connect
      Src: /src/gnupg/dirmngr/dns.c:7829,1
    - Dst: dns_so_tcp_send
      Src: /src/gnupg/dirmngr/dns.c:7835,1
    - Dst: dns_so_tcp_recv
      Src: /src/gnupg/dirmngr/dns.c:7840,1
    - Dst: dns_so_closefd
      Src: /src/gnupg/dirmngr/dns.c:7847,1
    - Dst: dns_so_verify
      Src: /src/gnupg/dirmngr/dns.c:7851,1
    - Dst: dns_so_closefd
      Src: /src/gnupg/dirmngr/dns.c:7856,1
    - Dst: dns_socket
      Src: /src/gnupg/dirmngr/dns.c:7859,1
    - Dst: dns_connect
      Src: /src/gnupg/dirmngr/dns.c:7866,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:7866,1
    - Dst: dns_trace_sys_connect
      Src: /src/gnupg/dirmngr/dns.c:7867,1
    - Dst: dns_p_movptr
      Src: /src/gnupg/dirmngr/dns.c:7874,1
    - Dst: dns_p_grow
      Src: /src/gnupg/dirmngr/dns.c:7877,1
    - Dst: dns_so_tcp_send_buffer
      Src: /src/gnupg/dirmngr/dns.c:7880,1
    - Dst: dns_so_tcp_send
      Src: /src/gnupg/dirmngr/dns.c:7892,1
    - Dst: dns_so_tcp_recv_expect
      Src: /src/gnupg/dirmngr/dns.c:7895,1
    - Dst: dns_so_tcp_recv
      Src: /src/gnupg/dirmngr/dns.c:7900,1
    - Dst: dns_so_tcp_recv_buffer
      Src: /src/gnupg/dirmngr/dns.c:7903,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:7926,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:7927,1
    - Dst: dns_so_tcp_send_buffer
      Src: /src/gnupg/dirmngr/dns.c:7933,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:7937,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:7940,1
    - Dst: dns_so_tcp_send
      Src: /src/gnupg/dirmngr/dns.c:7946,1
    - Dst: dns_so_tcp_recv_expect
      Src: /src/gnupg/dirmngr/dns.c:7950,1
    - Dst: dns_so_tcp_recv
      Src: /src/gnupg/dirmngr/dns.c:7954,1
    - Dst: dns_so_tcp_recv_buffer
      Src: /src/gnupg/dirmngr/dns.c:7957,1
    - Dst: dns_so_tcp_send_buffer
      Src: /src/gnupg/dirmngr/dns.c:7972,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:7980,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:7981,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:7986,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:7987,1
    - Dst: dns_so_tcp_send
      Src: /src/gnupg/dirmngr/dns.c:7992,1
    - Dst: dns_so_tcp_recv_expect
      Src: /src/gnupg/dirmngr/dns.c:7997,1
    - Dst: dns_so_tcp_recv
      Src: /src/gnupg/dirmngr/dns.c:8000,1
    - Dst: dns_so_tcp_recv_buffer
      Src: /src/gnupg/dirmngr/dns.c:8003,1
    - Dst: dns_so_tcp_recv_expect
      Src: /src/gnupg/dirmngr/dns.c:8055,1
    - Dst: dns_so_tcp_recv
      Src: /src/gnupg/dirmngr/dns.c:8058,1
    - Dst: dns_p_movptr
      Src: /src/gnupg/dirmngr/dns.c:8067,1
    - Dst: DNS_CARP
      Src: /src/gnupg/dirmngr/dns.c:8085,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 313
    argCount: 1
    argNames:
    - so
    argTypes:
    - struct dns_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8105
      start: 7724
    functionDepth: 5
    functionLinenumber: 7724
    functionLinenumberEnd: 8105
    functionName: dns_so_check
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_trace_sys_connect
    - strlen
    - dns_recv
    - dns_so_tcp_recv
    - memcpy
    - connect
    - DNS_CARP
    - dns_socket
    - dns_p_grow
    - dns_so_tcp_send_buffer
    - dns_so_tcp_recv_expect
    - dns_so_verify
    - dns_so_closefd
    - dns_so_tcp_keep
    - memset
    - dns_connect
    - dns_trace_sys_send
    - dns_trace_sys_recv
    - dns_p_movptr
    - dns_so_tcp_recv_buffer
    - dns_header
    - dns_send
    - dns_so_tcp_send
    - dns_sa_len
    linkageType: ''
    returnType: int
    signature: int dns_so_check(struct dns_socket *so)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_trace_so_fetch
      Src: /src/gnupg/dirmngr/dns.c:8116,1
    - Dst: dns_trace_so_fetch
      Src: /src/gnupg/dirmngr/dns.c:8121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - so
    - error
    argTypes:
    - struct dns_socket*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8125
      start: 8108
    functionDepth: 4
    functionLinenumber: 8108
    functionLinenumberEnd: 8125
    functionName: dns_so_fetch
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_trace_so_fetch
    linkageType: ''
    returnType: struct dns_packet
    signature: struct dns_packet *dns_so_fetch(struct dns_socket *so, int *error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_so_submit
      Src: /src/gnupg/dirmngr/dns.c:8133,1
    - Dst: dns_so_check
      Src: /src/gnupg/dirmngr/dns.c:8137,1
    - Dst: dns_so_fetch
      Src: /src/gnupg/dirmngr/dns.c:8140,1
    - Dst: dns_so_reset
      Src: /src/gnupg/dirmngr/dns.c:8143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - so
    - Q
    - host
    - error_
    argTypes:
    - struct dns_socket*
    - struct dns_packet*
    - struct sockaddr*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8150
      start: 8128
    functionDepth: 6
    functionLinenumber: 8128
    functionLinenumberEnd: 8150
    functionName: dns_so_query
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_so_check
    - dns_so_fetch
    - dns_so_submit
    - dns_so_reset
    linkageType: ''
    returnType: struct dns_packet
    signature: struct dns_packet *dns_so_query(struct dns_socket *so, struct dns_packet
      *Q, struct sockaddr *host, int *error_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_elapsed
      Src: /src/gnupg/dirmngr/dns.c:8154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - so
    argTypes:
    - struct dns_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8155
      start: 8153
    functionDepth: 2
    functionLinenumber: 8153
    functionLinenumberEnd: 8155
    functionName: dns_so_elapsed
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_elapsed
    linkageType: ''
    returnType: time_t
    signature: time_t dns_so_elapsed(struct dns_socket *so)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_so_closefds
      Src: /src/gnupg/dirmngr/dns.c:8159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - so
    argTypes:
    - struct dns_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8160
      start: 8158
    functionDepth: 2
    functionLinenumber: 8158
    functionLinenumberEnd: 8160
    functionName: dns_so_clear
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_so_closefds
    linkageType: ''
    returnType: void
    signature: void dns_so_clear(struct dns_socket *so)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DNS_POLL2EV
      Src: /src/gnupg/dirmngr/dns.c:8189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - so
    - type
    argTypes:
    - struct dns_socket*
    - enum dns_events
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8193
      start: 8163
    functionDepth: 1
    functionLinenumber: 8163
    functionLinenumberEnd: 8193
    functionName: dns_so_events2
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_POLL2EV
    linkageType: ''
    returnType: int
    signature: int dns_so_events2(struct dns_socket *so, enum dns_events type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_so_events2
      Src: /src/gnupg/dirmngr/dns.c:8197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - so
    argTypes:
    - struct dns_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8198
      start: 8196
    functionDepth: 2
    functionLinenumber: 8196
    functionLinenumberEnd: 8198
    functionName: dns_so_events
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_so_events2
    linkageType: ''
    returnType: int
    signature: int dns_so_events(struct dns_socket *so)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - so
    argTypes:
    - struct dns_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8214
      start: 8201
    functionDepth: 0
    functionLinenumber: 8201
    functionLinenumberEnd: 8214
    functionName: dns_so_pollfd
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dns_so_pollfd(struct dns_socket *so)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_poll
      Src: /src/gnupg/dirmngr/dns.c:8218,1
    - Dst: dns_so_pollfd
      Src: /src/gnupg/dirmngr/dns.c:8218,1
    - Dst: dns_so_events2
      Src: /src/gnupg/dirmngr/dns.c:8218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - so
    - timeout
    argTypes:
    - struct dns_socket*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8219
      start: 8217
    functionDepth: 2
    functionLinenumber: 8217
    functionLinenumberEnd: 8219
    functionName: dns_so_poll
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_poll
    - dns_so_events2
    - dns_so_pollfd
    linkageType: ''
    returnType: int
    signature: int dns_so_poll(struct dns_socket *so, int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - so
    argTypes:
    - struct dns_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8224
      start: 8222
    functionDepth: 0
    functionLinenumber: 8222
    functionLinenumberEnd: 8224
    functionName: dns_so_stat
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct dns_stat
    signature: struct dns_stat *dns_so_stat(struct dns_socket *so)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - so
    argTypes:
    - struct dns_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8229
      start: 8227
    functionDepth: 0
    functionLinenumber: 8227
    functionLinenumberEnd: 8229
    functionName: dns_so_trace
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct dns_trace
    signature: struct dns_trace *dns_so_trace(struct dns_socket *so)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_trace_acquire_p
      Src: /src/gnupg/dirmngr/dns.c:8234,1
    - Dst: dns_trace_close
      Src: /src/gnupg/dirmngr/dns.c:8235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - so
    - trace
    argTypes:
    - struct dns_socket*
    - struct dns_trace*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8236
      start: 8232
    functionDepth: 4
    functionLinenumber: 8232
    functionLinenumberEnd: 8236
    functionName: dns_so_settrace
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_trace_close
    - dns_trace_acquire_p
    linkageType: ''
    returnType: void
    signature: void dns_so_settrace(struct dns_socket *so, struct dns_trace *trace)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - tcp
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8337
      start: 8327
    functionDepth: 0
    functionLinenumber: 8327
    functionLinenumberEnd: 8337
    functionName: dns_res_tcp2type
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dns_res_tcp2type(int tcp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_resconf_acquire
      Src: /src/gnupg/dirmngr/dns.c:8351,1
    - Dst: dns_hosts_acquire
      Src: /src/gnupg/dirmngr/dns.c:8353,1
    - Dst: dns_hints_acquire
      Src: /src/gnupg/dirmngr/dns.c:8355,1
    - Dst: dns_cache_acquire
      Src: /src/gnupg/dirmngr/dns.c:8357,1
    - Dst: malloc
      Src: /src/gnupg/dirmngr/dns.c:8370,1
    - Dst: dns_res_tcp2type
      Src: /src/gnupg/dirmngr/dns.c:8374,1
    - Dst: dns_so_init
      Src: /src/gnupg/dirmngr/dns.c:8376,1
    - Dst: dns_syerr
      Src: /src/gnupg/dirmngr/dns.c:8386,1
    - Dst: dns_res_close
      Src: /src/gnupg/dirmngr/dns.c:8390,1
    - Dst: dns_resconf_close
      Src: /src/gnupg/dirmngr/dns.c:8392,1
    - Dst: dns_hosts_close
      Src: /src/gnupg/dirmngr/dns.c:8393,1
    - Dst: dns_hints_close
      Src: /src/gnupg/dirmngr/dns.c:8394,1
    - Dst: dns_cache_close
      Src: /src/gnupg/dirmngr/dns.c:8395,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 6
    argNames:
    - resconf
    - hosts
    - hints
    - cache
    - opts
    - _error
    argTypes:
    - struct dns_resolv_conf*
    - struct dns_hosts*
    - struct dns_hints*
    - struct dns_cache*
    - struct dns_options*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8398
      start: 8339
    functionDepth: 3
    functionLinenumber: 8339
    functionLinenumberEnd: 8398
    functionName: dns_res_open
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_close
    - dns_resconf_acquire
    - dns_so_init
    - dns_hosts_acquire
    - dns_syerr
    - dns_cache_acquire
    - dns_cache_close
    - dns_resconf_close
    - dns_hints_close
    - dns_hints_acquire
    - malloc
    - dns_hosts_close
    - dns_res_tcp2type
    linkageType: ''
    returnType: struct dns_resolver
    signature: struct dns_resolver *dns_res_open(struct dns_resolv_conf *resconf,
      struct dns_hosts *hosts, struct dns_hints *hints, struct dns_cache *cache, const
      struct dns_options *opts, int *_error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_resconf_local
      Src: /src/gnupg/dirmngr/dns.c:8407,1
    - Dst: dns_hosts_local
      Src: /src/gnupg/dirmngr/dns.c:8410,1
    - Dst: dns_hints_local
      Src: /src/gnupg/dirmngr/dns.c:8413,1
    - Dst: dns_resconf_local
      Src: /src/gnupg/dirmngr/dns.c:8417,1
    - Dst: dns_res_open
      Src: /src/gnupg/dirmngr/dns.c:8420,1
    - Dst: dns_resconf_close
      Src: /src/gnupg/dirmngr/dns.c:8426,1
    - Dst: dns_hosts_close
      Src: /src/gnupg/dirmngr/dns.c:8427,1
    - Dst: dns_hints_close
      Src: /src/gnupg/dirmngr/dns.c:8428,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - opts
    - error
    argTypes:
    - struct dns_options*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8431
      start: 8401
    functionDepth: 5
    functionLinenumber: 8401
    functionLinenumberEnd: 8431
    functionName: dns_res_stub
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_hosts_local
    - dns_resconf_close
    - dns_resconf_local
    - dns_hints_close
    - dns_hints_local
    - dns_hosts_close
    - dns_res_open
    linkageType: ''
    returnType: struct dns_resolver
    signature: struct dns_resolver *dns_res_stub(const struct dns_options *opts, int
      *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:8437,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:8438,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:8439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - R
    - frame
    argTypes:
    - struct dns_resolver*
    - struct dns_res_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8440
      start: 8434
    functionDepth: 2
    functionLinenumber: 8434
    functionLinenumberEnd: 8440
    functionName: dns_res_frame_destroy
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_p_setptr
    linkageType: ''
    returnType: void
    signature: void dns_res_frame_destroy(struct dns_resolver *R, struct dns_res_frame
      *frame)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:8444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - R
    - frame
    argTypes:
    - struct dns_resolver*
    - struct dns_res_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8456
      start: 8443
    functionDepth: 0
    functionLinenumber: 8443
    functionLinenumberEnd: 8456
    functionName: dns_res_frame_init
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void dns_res_frame_init(struct dns_resolver *R, struct dns_res_frame
      *frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_res_frame_destroy
      Src: /src/gnupg/dirmngr/dns.c:8460,1
    - Dst: dns_res_frame_init
      Src: /src/gnupg/dirmngr/dns.c:8461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - R
    - frame
    argTypes:
    - struct dns_resolver*
    - struct dns_res_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8462
      start: 8459
    functionDepth: 3
    functionLinenumber: 8459
    functionLinenumberEnd: 8462
    functionName: dns_res_frame_reset
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_frame_init
    - dns_res_frame_destroy
    linkageType: ''
    returnType: void
    signature: void dns_res_frame_reset(struct dns_resolver *R, struct dns_res_frame
      *frame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: endof
      Src: /src/gnupg/dirmngr/dns.c:8468,1
    - Dst: dns_p_movptr
      Src: /src/gnupg/dirmngr/dns.c:8471,1
    - Dst: dns_res_frame_reset
      Src: /src/gnupg/dirmngr/dns.c:8472,1
    - Dst: dns_p_movptr
      Src: /src/gnupg/dirmngr/dns.c:8473,1
    - Dst: dns_q_make
      Src: /src/gnupg/dirmngr/dns.c:8475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - R
    - F
    - qname
    - qtype
    - qclass
    argTypes:
    - struct dns_resolver*
    - struct dns_res_frame*
    - char*
    - enum dns_type
    - enum dns_class
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8476
      start: 8465
    functionDepth: 5
    functionLinenumber: 8465
    functionLinenumberEnd: 8476
    functionName: dns_res_frame_prepare
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - endof
    - dns_q_make
    - dns_p_movptr
    - dns_res_frame_reset
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_res_frame_prepare(struct dns_resolver *R, struct dns_res_frame
      *F, const char *qname, enum dns_type qtype, enum dns_class qclass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_so_reset
      Src: /src/gnupg/dirmngr/dns.c:8482,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:8483,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:8485,1
    - Dst: dns_res_frame_destroy
      Src: /src/gnupg/dirmngr/dns.c:8486,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:8488,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:8490,1
    - Dst: dns_res_frame_init
      Src: /src/gnupg/dirmngr/dns.c:8491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - R
    argTypes:
    - struct dns_resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8492
      start: 8479
    functionDepth: 3
    functionLinenumber: 8479
    functionLinenumberEnd: 8492
    functionName: dns_res_reset
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_frame_destroy
    - dns_p_setptr
    - memset
    - dns_so_reset
    - dns_res_frame_init
    - lengthof
    linkageType: ''
    returnType: void
    signature: void dns_res_reset(struct dns_resolver *R)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_res_release
      Src: /src/gnupg/dirmngr/dns.c:8496,1
    - Dst: dns_res_reset
      Src: /src/gnupg/dirmngr/dns.c:8499,1
    - Dst: dns_so_destroy
      Src: /src/gnupg/dirmngr/dns.c:8501,1
    - Dst: dns_hints_close
      Src: /src/gnupg/dirmngr/dns.c:8503,1
    - Dst: dns_hosts_close
      Src: /src/gnupg/dirmngr/dns.c:8504,1
    - Dst: dns_resconf_close
      Src: /src/gnupg/dirmngr/dns.c:8505,1
    - Dst: dns_cache_close
      Src: /src/gnupg/dirmngr/dns.c:8506,1
    - Dst: dns_trace_close
      Src: /src/gnupg/dirmngr/dns.c:8507,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:8509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - R
    argTypes:
    - struct dns_resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8510
      start: 8495
    functionDepth: 4
    functionLinenumber: 8495
    functionLinenumberEnd: 8510
    functionName: dns_res_close
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_res_release
    - dns_trace_close
    - dns_res_reset
    - dns_so_destroy
    - dns_resconf_close
    - dns_cache_close
    - dns_hints_close
    - dns_hosts_close
    - free
    linkageType: ''
    returnType: void
    signature: void dns_res_close(struct dns_resolver *R)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_atomic_fetch_add
      Src: /src/gnupg/dirmngr/dns.c:8514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - R
    argTypes:
    - struct dns_resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8515
      start: 8513
    functionDepth: 2
    functionLinenumber: 8513
    functionLinenumberEnd: 8515
    functionName: dns_res_acquire
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_atomic_fetch_add
    linkageType: ''
    returnType: dns_refcount_t
    signature: dns_refcount_t dns_res_acquire(struct dns_resolver *R)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_atomic_fetch_sub
      Src: /src/gnupg/dirmngr/dns.c:8519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - R
    argTypes:
    - struct dns_resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8520
      start: 8518
    functionDepth: 2
    functionLinenumber: 8518
    functionLinenumberEnd: 8520
    functionName: dns_res_release
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_atomic_fetch_sub
    linkageType: ''
    returnType: dns_refcount_t
    signature: dns_refcount_t dns_res_release(struct dns_resolver *R)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_res_release
      Src: /src/gnupg/dirmngr/dns.c:8525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct dns_resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8527
      start: 8523
    functionDepth: 3
    functionLinenumber: 8523
    functionLinenumberEnd: 8527
    functionName: dns_res_mortal
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_release
    linkageType: ''
    returnType: struct dns_resolver
    signature: struct dns_resolver *dns_res_mortal(struct dns_resolver *res)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_make
      Src: /src/gnupg/dirmngr/dns.c:8538,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:8541,1
    - Dst: dns_rr_copy
      Src: /src/gnupg/dirmngr/dns.c:8542,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:8548,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:8551,1
    - Dst: dns_rr_cmp
      Src: /src/gnupg/dirmngr/dns.c:8552,1
    - Dst: dns_rr_copy
      Src: /src/gnupg/dirmngr/dns.c:8559,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:8561,1
    - Dst: DNS_PP_MAX
      Src: /src/gnupg/dirmngr/dns.c:8563,1
    - Dst: dns_p_free
      Src: /src/gnupg/dirmngr/dns.c:8578,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 3
    argNames:
    - P0
    - P1
    - error_
    argTypes:
    - struct dns_packet*
    - struct dns_packet*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8581
      start: 8530
    functionDepth: 4
    functionLinenumber: 8530
    functionLinenumberEnd: 8581
    functionName: dns_res_merge
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_rr_foreach
    - dns_rr_cmp
    - dns_rr_copy
    - DNS_PP_MAX
    - dns_p_setptr
    - dns_p_make
    - dns_p_free
    linkageType: ''
    returnType: struct dns_packet
    signature: struct dns_packet *dns_res_merge(struct dns_packet *P0, struct dns_packet
      *P1, int *error_)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_calcsize
      Src: /src/gnupg/dirmngr/dns.c:8585,1
    - Dst: dns_p_init
      Src: /src/gnupg/dirmngr/dns.c:8586,1
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:8594,1
    - Dst: dns_rr_type
      Src: /src/gnupg/dirmngr/dns.c:8598,1
    - Dst: dns_p_push
      Src: /src/gnupg/dirmngr/dns.c:8601,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:8601,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:8608,1
    - Dst: dns_rr_copy
      Src: /src/gnupg/dirmngr/dns.c:8611,1
    - Dst: dns_p_count
      Src: /src/gnupg/dirmngr/dns.c:8616,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:8624,1
    - Dst: dns_rr_copy
      Src: /src/gnupg/dirmngr/dns.c:8627,1
    - Dst: dns_p_count
      Src: /src/gnupg/dirmngr/dns.c:8632,1
    - Dst: dns_p_copy
      Src: /src/gnupg/dirmngr/dns.c:8636,1
    - Dst: dns_p_make
      Src: /src/gnupg/dirmngr/dns.c:8636,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 2
    argNames:
    - R
    - Q
    argTypes:
    - struct dns_resolver*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8637
      start: 8584
    functionDepth: 5
    functionLinenumber: 8584
    functionLinenumberEnd: 8637
    functionName: dns_res_glue
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_rr_foreach
    - strlen
    - dns_rr_copy
    - dns_p_init
    - dns_p_count
    - dns_p_copy
    - dns_p_push
    - dns_d_expand
    - dns_p_calcsize
    - dns_p_make
    - dns_rr_type
    linkageType: ''
    returnType: struct dns_packet
    signature: struct dns_packet *dns_res_glue(struct dns_resolver *R, struct dns_packet
      *Q)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_ns_parse
      Src: /src/gnupg/dirmngr/dns.c:8658,1
    - Dst: dns_rr_grep
      Src: /src/gnupg/dirmngr/dns.c:8664,1
    - Dst: dns_ns_parse
      Src: /src/gnupg/dirmngr/dns.c:8666,1
    - Dst: dns_rr_grep
      Src: /src/gnupg/dirmngr/dns.c:8672,1
    - Dst: dns_rr_offset
      Src: /src/gnupg/dirmngr/dns.c:8676,1
    - Dst: dns_rr_offset
      Src: /src/gnupg/dirmngr/dns.c:8676,1
    - Dst: dns_rr_i_shuffle
      Src: /src/gnupg/dirmngr/dns.c:8679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - a
    - b
    - i
    - P
    argTypes:
    - struct dns_rr*
    - struct dns_rr*
    - struct dns_rr_i*
    - struct dns_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8681
      start: 8652
    functionDepth: 8
    functionLinenumber: 8652
    functionLinenumberEnd: 8681
    functionName: dns_res_nameserv_cmp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_rr_i_shuffle
    - dns_rr_offset
    - dns_ns_parse
    - dns_rr_grep
    linkageType: ''
    returnType: int
    signature: int dns_res_nameserv_cmp(struct dns_rr *a, struct dns_rr *b, struct
      dns_rr_i *i, struct dns_packet *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sp
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8686
      start: 8684
    functionDepth: 0
    functionLinenumber: 8684
    functionLinenumberEnd: 8686
    functionName: dgoto
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dgoto(sp, i)
  - BBCount: 139
    BranchProfiles: []
    Callsites:
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8709,1
    - Dst: dns_res_glue
      Src: /src/gnupg/dirmngr/dns.c:8714,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8715,1
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:8717,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:8722,1
    - Dst: dns_rr_type
      Src: /src/gnupg/dirmngr/dns.c:8722,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8723,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:8726,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8729,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8737,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8739,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8742,1
    - Dst: dns_p_movptr
      Src: /src/gnupg/dirmngr/dns.c:8772,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8773,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8776,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:8779,1
    - Dst: dns_hosts_query
      Src: /src/gnupg/dirmngr/dns.c:8779,1
    - Dst: dns_p_count
      Src: /src/gnupg/dirmngr/dns.c:8782,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8783,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:8785,1
    - Dst: dns_resconf_search
      Src: /src/gnupg/dirmngr/dns.c:8789,1
    - Dst: dns_q_make2
      Src: /src/gnupg/dirmngr/dns.c:8790,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:8793,1
    - Dst: dns_hosts_query
      Src: /src/gnupg/dirmngr/dns.c:8793,1
    - Dst: dns_p_count
      Src: /src/gnupg/dirmngr/dns.c:8796,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8797,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:8799,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8803,1
    - Dst: dns_q_make
      Src: /src/gnupg/dirmngr/dns.c:8807,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:8810,1
    - Dst: struct dns_resolver*::cache::query
      Src: /src/gnupg/dirmngr/dns.c:8810,1
    - Dst: dns_p_count
      Src: /src/gnupg/dirmngr/dns.c:8811,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8812,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:8814,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8816,1
    - Dst: struct dns_resolver*::cache::submit
      Src: /src/gnupg/dirmngr/dns.c:8822,1
    - Dst: struct dns_resolver*::cache::check
      Src: /src/gnupg/dirmngr/dns.c:8827,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:8834,1
    - Dst: struct dns_resolver*::cache::fetch
      Src: /src/gnupg/dirmngr/dns.c:8834,1
    - Dst: dns_p_count
      Src: /src/gnupg/dirmngr/dns.c:8835,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8836,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:8838,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8840,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8844,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8850,1
    - Dst: dns_resconf_search
      Src: /src/gnupg/dirmngr/dns.c:8861,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8862,1
    - Dst: dns_q_make2
      Src: /src/gnupg/dirmngr/dns.c:8864,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:8869,1
    - Dst: dns_hints_query
      Src: /src/gnupg/dirmngr/dns.c:8869,1
    - Dst: dns_rr_i_init
      Src: /src/gnupg/dirmngr/dns.c:8874,1
    - Dst: dns_rr_i_save
      Src: /src/gnupg/dirmngr/dns.c:8883,1
    - Dst: dns_rr_grep
      Src: /src/gnupg/dirmngr/dns.c:8886,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8888,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8890,1
    - Dst: dns_rr_i_init
      Src: /src/gnupg/dirmngr/dns.c:8893,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8896,1
    - Dst: endof
      Src: /src/gnupg/dirmngr/dns.c:8899,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8900,1
    - Dst: dns_ns_parse
      Src: /src/gnupg/dirmngr/dns.c:8902,1
    - Dst: dns_res_frame_prepare
      Src: /src/gnupg/dirmngr/dns.c:8904,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8909,1
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:8911,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:8916,1
    - Dst: dns_rr_copy
      Src: /src/gnupg/dirmngr/dns.c:8919,1
    - Dst: dns_rr_i_rewind
      Src: /src/gnupg/dirmngr/dns.c:8922,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8925,1
    - Dst: dns_ns_parse
      Src: /src/gnupg/dirmngr/dns.c:8935,1
    - Dst: dns_rr_grep
      Src: /src/gnupg/dirmngr/dns.c:8942,1
    - Dst: dns_rr_i_count
      Src: /src/gnupg/dirmngr/dns.c:8943,1
    - Dst: dns_rr_i_init
      Src: /src/gnupg/dirmngr/dns.c:8946,1
    - Dst: dns_rr_grep
      Src: /src/gnupg/dirmngr/dns.c:8950,1
    - Dst: dns_rr_i_init
      Src: /src/gnupg/dirmngr/dns.c:8953,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8954,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8957,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8960,1
    - Dst: dns_a_parse
      Src: /src/gnupg/dirmngr/dns.c:8963,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:8966,1
    - Dst: dns_hints_port
      Src: /src/gnupg/dirmngr/dns.c:8970,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:8972,1
    - Dst: dns_a_print
      Src: /src/gnupg/dirmngr/dns.c:8976,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:8977,1
    - Dst: dns_so_mkqid
      Src: /src/gnupg/dirmngr/dns.c:8977,1
    - Dst: DNS_SHOW
      Src: /src/gnupg/dirmngr/dns.c:8978,1
    - Dst: dns_trace_setcname
      Src: /src/gnupg/dirmngr/dns.c:8981,1
    - Dst: dns_so_submit
      Src: /src/gnupg/dirmngr/dns.c:8983,1
    - Dst: dns_so_elapsed
      Src: /src/gnupg/dirmngr/dns.c:8989,1
    - Dst: dns_resconf_timeout
      Src: /src/gnupg/dirmngr/dns.c:8989,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8990,1
    - Dst: dns_so_check
      Src: /src/gnupg/dirmngr/dns.c:8992,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:8994,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:8998,1
    - Dst: dns_so_fetch
      Src: /src/gnupg/dirmngr/dns.c:8998,1
    - Dst: DNS_SHOW
      Src: /src/gnupg/dirmngr/dns.c:9002,1
    - Dst: dns_p_rcode
      Src: /src/gnupg/dirmngr/dns.c:9005,1
    - Dst: dns_p_rcode
      Src: /src/gnupg/dirmngr/dns.c:9006,1
    - Dst: dns_p_rcode
      Src: /src/gnupg/dirmngr/dns.c:9007,1
    - Dst: dns_q_remake
      Src: /src/gnupg/dirmngr/dns.c:9011,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9014,1
    - Dst: dns_rr_parse
      Src: /src/gnupg/dirmngr/dns.c:9018,1
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:9021,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:9026,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9027,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:9030,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9033,1
    - Dst: dns_p_movptr
      Src: /src/gnupg/dirmngr/dns.c:9044,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9046,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:9049,1
    - Dst: dns_p_movptr
      Src: /src/gnupg/dirmngr/dns.c:9050,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9052,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:9056,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9057,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9061,1
    - Dst: dns_ns_parse
      Src: /src/gnupg/dirmngr/dns.c:9071,1
    - Dst: dns_rr_grep
      Src: /src/gnupg/dirmngr/dns.c:9078,1
    - Dst: dns_rr_i_count
      Src: /src/gnupg/dirmngr/dns.c:9079,1
    - Dst: dns_rr_i_init
      Src: /src/gnupg/dirmngr/dns.c:9082,1
    - Dst: dns_rr_grep
      Src: /src/gnupg/dirmngr/dns.c:9086,1
    - Dst: dns_rr_i_init
      Src: /src/gnupg/dirmngr/dns.c:9089,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9090,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9093,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9096,1
    - Dst: dns_aaaa_parse
      Src: /src/gnupg/dirmngr/dns.c:9099,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:9102,1
    - Dst: dns_hints_port
      Src: /src/gnupg/dirmngr/dns.c:9106,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:9108,1
    - Dst: dns_aaaa_print
      Src: /src/gnupg/dirmngr/dns.c:9112,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:9113,1
    - Dst: dns_so_mkqid
      Src: /src/gnupg/dirmngr/dns.c:9113,1
    - Dst: DNS_SHOW
      Src: /src/gnupg/dirmngr/dns.c:9114,1
    - Dst: dns_trace_setcname
      Src: /src/gnupg/dirmngr/dns.c:9117,1
    - Dst: dns_so_submit
      Src: /src/gnupg/dirmngr/dns.c:9119,1
    - Dst: dns_so_elapsed
      Src: /src/gnupg/dirmngr/dns.c:9125,1
    - Dst: dns_resconf_timeout
      Src: /src/gnupg/dirmngr/dns.c:9125,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9126,1
    - Dst: dns_so_check
      Src: /src/gnupg/dirmngr/dns.c:9128,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9130,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:9134,1
    - Dst: dns_so_fetch
      Src: /src/gnupg/dirmngr/dns.c:9134,1
    - Dst: DNS_SHOW
      Src: /src/gnupg/dirmngr/dns.c:9138,1
    - Dst: dns_p_rcode
      Src: /src/gnupg/dirmngr/dns.c:9141,1
    - Dst: dns_p_rcode
      Src: /src/gnupg/dirmngr/dns.c:9142,1
    - Dst: dns_p_rcode
      Src: /src/gnupg/dirmngr/dns.c:9143,1
    - Dst: dns_q_remake
      Src: /src/gnupg/dirmngr/dns.c:9147,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9150,1
    - Dst: dns_rr_parse
      Src: /src/gnupg/dirmngr/dns.c:9154,1
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:9157,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:9162,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9163,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:9166,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9169,1
    - Dst: dns_p_movptr
      Src: /src/gnupg/dirmngr/dns.c:9180,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9182,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:9185,1
    - Dst: dns_p_movptr
      Src: /src/gnupg/dirmngr/dns.c:9186,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9188,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:9192,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9193,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9197,1
    - Dst: endof
      Src: /src/gnupg/dirmngr/dns.c:9199,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9200,1
    - Dst: dns_cname_parse
      Src: /src/gnupg/dirmngr/dns.c:9202,1
    - Dst: dns_res_frame_prepare
      Src: /src/gnupg/dirmngr/dns.c:9204,1
    - Dst: dns_rr_type
      Src: /src/gnupg/dirmngr/dns.c:9204,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9209,1
    - Dst: dns_res_merge
      Src: /src/gnupg/dirmngr/dns.c:9211,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:9214,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9216,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9222,1
    - Dst: dns_rr_i_init
      Src: /src/gnupg/dirmngr/dns.c:9227,1
    - Dst: endof
      Src: /src/gnupg/dirmngr/dns.c:9231,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9232,1
    - Dst: dns_rr_grep
      Src: /src/gnupg/dirmngr/dns.c:9234,1
    - Dst: dns_ns_parse
      Src: /src/gnupg/dirmngr/dns.c:9246,1
    - Dst: dns_mx_parse
      Src: /src/gnupg/dirmngr/dns.c:9255,1
    - Dst: dns_srv_parse
      Src: /src/gnupg/dirmngr/dns.c:9264,1
    - Dst: dns_res_frame_prepare
      Src: /src/gnupg/dirmngr/dns.c:9276,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9281,1
    - Dst: dns_res_frame_prepare
      Src: /src/gnupg/dirmngr/dns.c:9290,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9296,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9299,1
    - Dst: dns_rr_foreach
      Src: /src/gnupg/dirmngr/dns.c:9310,1
    - Dst: dns_rr_exists
      Src: /src/gnupg/dirmngr/dns.c:9313,1
    - Dst: dns_rr_copy
      Src: /src/gnupg/dirmngr/dns.c:9316,1
    - Dst: dns_p_grow
      Src: /src/gnupg/dirmngr/dns.c:9319,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9324,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9330,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:9334,1
    - Dst: dns_p_make
      Src: /src/gnupg/dirmngr/dns.c:9334,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:9337,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:9338,1
    - Dst: dns_p_push
      Src: /src/gnupg/dirmngr/dns.c:9340,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:9340,1
    - Dst: dgoto
      Src: /src/gnupg/dirmngr/dns.c:9343,1
    CyclomaticComplexity: 180
    EdgeCount: 180
    ICount: 492
    argCount: 1
    argNames:
    - R
    argTypes:
    - struct dns_resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9365
      start: 8687
    functionDepth: 9
    functionLinenumber: 8687
    functionLinenumberEnd: 9365
    functionName: dns_res_exec
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_mx_parse
    - dns_rr_foreach
    - strlen
    - dns_cname_parse
    - struct dns_resolver*::cache::check
    - htons
    - dns_rr_grep
    - dns_a_parse
    - dns_res_merge
    - dns_rr_parse
    - dns_q_make2
    - dns_so_check
    - dns_so_fetch
    - dns_p_grow
    - dns_ns_parse
    - dns_so_elapsed
    - dns_p_count
    - dns_a_print
    - struct dns_resolver*::cache::fetch
    - dns_d_expand
    - dns_res_frame_prepare
    - dns_rr_i_init
    - dns_p_make
    - struct dns_resolver*::cache::query
    - dns_aaaa_parse
    - dns_hints_port
    - dns_q_make
    - dns_so_submit
    - dns_res_glue
    - dns_rr_copy
    - dns_p_setptr
    - memset
    - dns_aaaa_print
    - dns_trace_setcname
    - dns_rr_i_save
    - struct dns_resolver*::cache::submit
    - dgoto
    - dns_rr_type
    - DNS_SHOW
    - dns_hosts_query
    - dns_srv_parse
    - endof
    - dns_p_rcode
    - dns_p_movptr
    - dns_header
    - dns_hints_query
    - dns_q_remake
    - dns_so_mkqid
    - dns_rr_i_count
    - dns_rr_exists
    - dns_resconf_timeout
    - dns_p_push
    - dns_resconf_search
    - dns_rr_i_rewind
    linkageType: ''
    returnType: int
    signature: int dns_res_exec(struct dns_resolver *R)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct dns_resolver*::cache::clear
      Src: /src/gnupg/dirmngr/dns.c:9373,1
    - Dst: dns_so_clear
      Src: /src/gnupg/dirmngr/dns.c:9376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - R
    argTypes:
    - struct dns_resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9379
      start: 9370
    functionDepth: 3
    functionLinenumber: 9370
    functionLinenumberEnd: 9379
    functionName: dns_res_clear
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - struct dns_resolver*::cache::clear
    - dns_so_clear
    linkageType: ''
    returnType: void
    signature: void dns_res_clear(struct dns_resolver *R)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct dns_resolver*::cache::events
      Src: /src/gnupg/dirmngr/dns.c:9387,1
    - Dst: DNS_POLL2EV
      Src: /src/gnupg/dirmngr/dns.c:9389,1
    - Dst: dns_so_events2
      Src: /src/gnupg/dirmngr/dns.c:9391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - R
    - type
    argTypes:
    - struct dns_resolver*
    - enum dns_events
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9393
      start: 9382
    functionDepth: 2
    functionLinenumber: 9382
    functionLinenumberEnd: 9393
    functionName: dns_res_events2
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_POLL2EV
    - dns_so_events2
    - struct dns_resolver*::cache::events
    linkageType: ''
    returnType: int
    signature: int dns_res_events2(struct dns_resolver *R, enum dns_events type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_res_events2
      Src: /src/gnupg/dirmngr/dns.c:9397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - R
    argTypes:
    - struct dns_resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9398
      start: 9396
    functionDepth: 3
    functionLinenumber: 9396
    functionLinenumberEnd: 9398
    functionName: dns_res_events
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_events2
    linkageType: ''
    returnType: int
    signature: int dns_res_events(struct dns_resolver *R)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct dns_resolver*::cache::pollfd
      Src: /src/gnupg/dirmngr/dns.c:9404,1
    - Dst: dns_so_pollfd
      Src: /src/gnupg/dirmngr/dns.c:9406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - R
    argTypes:
    - struct dns_resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9408
      start: 9401
    functionDepth: 1
    functionLinenumber: 9401
    functionLinenumberEnd: 9408
    functionName: dns_res_pollfd
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_so_pollfd
    - struct dns_resolver*::cache::pollfd
    linkageType: ''
    returnType: int
    signature: int dns_res_pollfd(struct dns_resolver *R)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_so_elapsed
      Src: /src/gnupg/dirmngr/dns.c:9419,1
    - Dst: dns_resconf_timeout
      Src: /src/gnupg/dirmngr/dns.c:9421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - R
    argTypes:
    - struct dns_resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9435
      start: 9411
    functionDepth: 3
    functionLinenumber: 9411
    functionLinenumberEnd: 9435
    functionName: dns_res_timeout
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_resconf_timeout
    - dns_so_elapsed
    linkageType: ''
    returnType: time_t
    signature: time_t dns_res_timeout(struct dns_resolver *R)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_elapsed
      Src: /src/gnupg/dirmngr/dns.c:9439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - R
    argTypes:
    - struct dns_resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9440
      start: 9438
    functionDepth: 2
    functionLinenumber: 9438
    functionLinenumberEnd: 9440
    functionName: dns_res_elapsed
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_elapsed
    linkageType: ''
    returnType: time_t
    signature: time_t dns_res_elapsed(struct dns_resolver *R)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_poll
      Src: /src/gnupg/dirmngr/dns.c:9444,1
    - Dst: dns_res_pollfd
      Src: /src/gnupg/dirmngr/dns.c:9444,1
    - Dst: dns_res_events2
      Src: /src/gnupg/dirmngr/dns.c:9444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - R
    - timeout
    argTypes:
    - struct dns_resolver*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9445
      start: 9443
    functionDepth: 3
    functionLinenumber: 9443
    functionLinenumberEnd: 9445
    functionName: dns_res_poll
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_pollfd
    - dns_poll
    - dns_res_events2
    linkageType: ''
    returnType: int
    signature: int dns_res_poll(struct dns_resolver *R, int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_res_reset
      Src: /src/gnupg/dirmngr/dns.c:9449,1
    - Dst: dns_d_init
      Src: /src/gnupg/dirmngr/dns.c:9452,1
    - Dst: dns_begin
      Src: /src/gnupg/dirmngr/dns.c:9457,1
    - Dst: dns_trace_res_submit
      Src: /src/gnupg/dirmngr/dns.c:9459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - R
    - qname
    - qlen
    - qtype
    - qclass
    argTypes:
    - struct dns_resolver*
    - char*
    - size_t
    - enum dns_type
    - enum dns_class
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9462
      start: 9448
    functionDepth: 4
    functionLinenumber: 9448
    functionLinenumberEnd: 9462
    functionName: dns_res_submit2
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_d_init
    - dns_begin
    - dns_res_reset
    - dns_trace_res_submit
    linkageType: ''
    returnType: int
    signature: int dns_res_submit2(struct dns_resolver *R, const char *qname, size_t
      qlen, enum dns_type qtype, enum dns_class qclass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_res_submit2
      Src: /src/gnupg/dirmngr/dns.c:9466,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:9466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - R
    - qname
    - qtype
    - qclass
    argTypes:
    - struct dns_resolver*
    - char*
    - enum dns_type
    - enum dns_class
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9467
      start: 9465
    functionDepth: 5
    functionLinenumber: 9465
    functionLinenumberEnd: 9467
    functionName: dns_res_submit
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_submit2
    - strlen
    linkageType: ''
    returnType: int
    signature: int dns_res_submit(struct dns_resolver *R, const char *qname, enum
      dns_type qtype, enum dns_class qclass)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_res_exec
      Src: /src/gnupg/dirmngr/dns.c:9474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - R
    argTypes:
    - struct dns_resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9479
      start: 9470
    functionDepth: 10
    functionLinenumber: 9470
    functionLinenumberEnd: 9479
    functionName: dns_res_check
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_exec
    linkageType: ''
    returnType: int
    signature: int dns_res_check(struct dns_resolver *R)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_movptr
      Src: /src/gnupg/dirmngr/dns.c:9491,1
    - Dst: dns_trace_res_fetch
      Src: /src/gnupg/dirmngr/dns.c:9496,1
    - Dst: dns_trace_res_fetch
      Src: /src/gnupg/dirmngr/dns.c:9501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - R
    - _error
    argTypes:
    - struct dns_resolver*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9503
      start: 9482
    functionDepth: 4
    functionLinenumber: 9482
    functionLinenumberEnd: 9503
    functionName: dns_res_fetch
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_trace_res_fetch
    - dns_p_movptr
    linkageType: ''
    returnType: struct dns_packet
    signature: struct dns_packet *dns_res_fetch(struct dns_resolver *R, int *_error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_res_fetch
      Src: /src/gnupg/dirmngr/dns.c:9510,1
    - Dst: dns_p_study
      Src: /src/gnupg/dirmngr/dns.c:9512,1
    - Dst: dns_p_free
      Src: /src/gnupg/dirmngr/dns.c:9519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - R
    - _error
    argTypes:
    - struct dns_resolver*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9522
      start: 9506
    functionDepth: 5
    functionLinenumber: 9506
    functionLinenumberEnd: 9522
    functionName: dns_res_fetch_and_study
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_p_study
    - dns_res_fetch
    - dns_p_free
    linkageType: ''
    returnType: struct dns_packet
    signature: struct dns_packet *dns_res_fetch_and_study(struct dns_resolver *R,
      int *_error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_res_submit
      Src: /src/gnupg/dirmngr/dns.c:9528,1
    - Dst: dns_res_check
      Src: /src/gnupg/dirmngr/dns.c:9531,1
    - Dst: dns_res_elapsed
      Src: /src/gnupg/dirmngr/dns.c:9532,1
    - Dst: dns_res_poll
      Src: /src/gnupg/dirmngr/dns.c:9538,1
    - Dst: dns_res_fetch
      Src: /src/gnupg/dirmngr/dns.c:9542,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - res
    - qname
    - qtype
    - qclass
    - timeout
    - error_
    argTypes:
    - struct dns_resolver*
    - char*
    - enum dns_type
    - enum dns_class
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9547
      start: 9525
    functionDepth: 11
    functionLinenumber: 9525
    functionLinenumberEnd: 9547
    functionName: dns_res_query
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_submit
    - dns_res_elapsed
    - dns_res_check
    - dns_res_fetch
    - dns_res_poll
    linkageType: ''
    returnType: struct dns_packet
    signature: struct dns_packet *dns_res_query(struct dns_resolver *res, const char
      *qname, enum dns_type qtype, enum dns_class qclass, int timeout, int *error_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_so_stat
      Src: /src/gnupg/dirmngr/dns.c:9551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct dns_resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9552
      start: 9550
    functionDepth: 1
    functionLinenumber: 9550
    functionLinenumberEnd: 9552
    functionName: dns_res_stat
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_so_stat
    linkageType: ''
    returnType: struct dns_stat
    signature: struct dns_stat *dns_res_stat(struct dns_resolver *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_hints_acquire
      Src: /src/gnupg/dirmngr/dns.c:9556,1
    - Dst: dns_hints_close
      Src: /src/gnupg/dirmngr/dns.c:9557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - res
    - hints
    argTypes:
    - struct dns_resolver*
    - struct dns_hints*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9559
      start: 9555
    functionDepth: 3
    functionLinenumber: 9555
    functionLinenumberEnd: 9559
    functionName: dns_res_sethints
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_hints_close
    - dns_hints_acquire
    linkageType: ''
    returnType: void
    signature: void dns_res_sethints(struct dns_resolver *res, struct dns_hints *hints)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct dns_resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9564
      start: 9562
    functionDepth: 0
    functionLinenumber: 9562
    functionLinenumberEnd: 9564
    functionName: dns_res_trace
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct dns_trace
    signature: struct dns_trace *dns_res_trace(struct dns_resolver *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_trace_acquire_p
      Src: /src/gnupg/dirmngr/dns.c:9569,1
    - Dst: dns_trace_close
      Src: /src/gnupg/dirmngr/dns.c:9570,1
    - Dst: dns_so_settrace
      Src: /src/gnupg/dirmngr/dns.c:9571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - res
    - trace
    argTypes:
    - struct dns_resolver*
    - struct dns_trace*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9572
      start: 9567
    functionDepth: 5
    functionLinenumber: 9567
    functionLinenumberEnd: 9572
    functionName: dns_res_settrace
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_so_settrace
    - dns_trace_close
    - dns_trace_acquire_p
    linkageType: ''
    returnType: void
    signature: void dns_res_settrace(struct dns_resolver *res, struct dns_trace *trace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - af
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9616
      start: 9615
    functionDepth: 0
    functionLinenumber: 9615
    functionLinenumberEnd: 9616
    functionName: DNS_AI_AF2INDEX
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_AI_AF2INDEX(af)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ai_af2index
      Src: /src/gnupg/dirmngr/dns.c:9628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dns_ai_setaf
    argTypes:
    - type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9631
      start: 9619
    functionDepth: 0
    functionLinenumber: 9619
    functionLinenumberEnd: 9631
    functionName: dns_static_assert
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 2
    functionsReached:
    - dns_ai_af2index
    linkageType: ''
    returnType: void
    signature: "void dns_static_assert(dns_same_type(unsigned long, ((struct dns_addrinfo
      *)0)->af.todo, 1), \"internal type mismatch\");\n\n\treturn (af > 0 && af <=
      DNS_AI_AFMAX)? DNS_AI_AF2INDEX(af) : 0;\n}\n\nstatic int dns_ai_setaf(struct
      dns_addrinfo *ai, int af, int qtype)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_static_assert
      Src: /src/gnupg/dirmngr/dns.c:9641,1
    - Dst: dns_static_assert
      Src: /src/gnupg/dirmngr/dns.c:9642,1
    - Dst: dns_static_assert
      Src: /src/gnupg/dirmngr/dns.c:9643,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:9656,1
    - Dst: DNS_AI_AF2INDEX
      Src: /src/gnupg/dirmngr/dns.c:9663,1
    - Dst: DNS_SM_YIELD
      Src: /src/gnupg/dirmngr/dns.c:9666,1
    - Dst: dns_ai_setaf
      Src: /src/gnupg/dirmngr/dns.c:9666,1
    - Dst: DNS_SM_YIELD
      Src: /src/gnupg/dirmngr/dns.c:9668,1
    - Dst: dns_ai_setaf
      Src: /src/gnupg/dirmngr/dns.c:9668,1
    - Dst: DNS_AI_AF2INDEX
      Src: /src/gnupg/dirmngr/dns.c:9676,1
    - Dst: DNS_SM_YIELD
      Src: /src/gnupg/dirmngr/dns.c:9677,1
    - Dst: dns_ai_setaf
      Src: /src/gnupg/dirmngr/dns.c:9677,1
    - Dst: DNS_AI_AF2INDEX
      Src: /src/gnupg/dirmngr/dns.c:9678,1
    - Dst: DNS_SM_YIELD
      Src: /src/gnupg/dirmngr/dns.c:9679,1
    - Dst: dns_ai_setaf
      Src: /src/gnupg/dirmngr/dns.c:9679,1
    - Dst: dns_ai_setaf
      Src: /src/gnupg/dirmngr/dns.c:9684,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct dns_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9685
      start: 9638
    functionDepth: 1
    functionLinenumber: 9638
    functionLinenumberEnd: 9685
    functionName: dns_ai_nextaf
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_AI_AF2INDEX
    - DNS_SM_YIELD
    - dns_static_assert
    - dns_ai_setaf
    - lengthof
    linkageType: ''
    returnType: int
    signature: int dns_ai_nextaf(struct dns_addrinfo *ai)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct dns_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9692
      start: 9690
    functionDepth: 0
    functionLinenumber: 9690
    functionLinenumberEnd: 9692
    functionName: dns_ai_qtype
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum dns_type
    signature: enum dns_type dns_ai_qtype(struct dns_addrinfo *ai)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - port
    - serv
    - hints
    argTypes:
    - unsigned short*
    - char*
    - struct addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9723
      start: 9699
    functionDepth: 0
    functionLinenumber: 9699
    functionLinenumberEnd: 9723
    functionName: dns_ai_parseport
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dns_error_t
    signature: dns_error_t dns_ai_parseport(unsigned short *port, const char *serv,
      const struct addrinfo *hints)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dns_res_acquire
      Src: /src/gnupg/dirmngr/dns.c:9732,1
    - Dst: malloc
      Src: /src/gnupg/dirmngr/dns.c:9744,1
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:9753,1
    - Dst: dns_ai_parseport
      Src: /src/gnupg/dirmngr/dns.c:9759,1
    - Dst: DNS_AI_AF2INDEX
      Src: /src/gnupg/dirmngr/dns.c:9771,1
    - Dst: DNS_AI_AF2INDEX
      Src: /src/gnupg/dirmngr/dns.c:9774,1
    - Dst: DNS_AI_AF2INDEX
      Src: /src/gnupg/dirmngr/dns.c:9779,1
    - Dst: DNS_AI_AF2INDEX
      Src: /src/gnupg/dirmngr/dns.c:9779,1
    - Dst: DNS_AI_AF2INDEX
      Src: /src/gnupg/dirmngr/dns.c:9782,1
    - Dst: DNS_AI_AF2INDEX
      Src: /src/gnupg/dirmngr/dns.c:9785,1
    - Dst: dns_syerr
      Src: /src/gnupg/dirmngr/dns.c:9794,1
    - Dst: dns_ai_close
      Src: /src/gnupg/dirmngr/dns.c:9798,1
    - Dst: dns_res_close
      Src: /src/gnupg/dirmngr/dns.c:9799,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 6
    argNames:
    - host
    - serv
    - qtype
    - hints
    - res
    - _error
    argTypes:
    - char*
    - char*
    - enum dns_type
    - struct addrinfo*
    - struct dns_resolver*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9802
      start: 9726
    functionDepth: 5
    functionLinenumber: 9726
    functionLinenumberEnd: 9802
    functionName: dns_ai_open
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_close
    - DNS_AI_AF2INDEX
    - dns_syerr
    - dns_res_acquire
    - malloc
    - dns_ai_close
    - dns_strlcpy
    - dns_ai_parseport
    linkageType: ''
    returnType: struct dns_addrinfo
    signature: struct dns_addrinfo *dns_ai_open(const char *host, const char *serv,
      enum dns_type qtype, const struct addrinfo *hints, struct dns_resolver *res,
      int *_error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_res_close
      Src: /src/gnupg/dirmngr/dns.c:9809,1
    - Dst: dns_trace_close
      Src: /src/gnupg/dirmngr/dns.c:9810,1
    - Dst: dns_p_free
      Src: /src/gnupg/dirmngr/dns.c:9813,1
    - Dst: dns_p_free
      Src: /src/gnupg/dirmngr/dns.c:9815,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:9816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct dns_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9817
      start: 9805
    functionDepth: 5
    functionLinenumber: 9805
    functionLinenumberEnd: 9817
    functionName: dns_ai_close
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_res_close
    - dns_trace_close
    - free
    - dns_p_free
    linkageType: ''
    returnType: void
    signature: void dns_ai_close(struct dns_addrinfo *ai)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:9831,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:9834,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:9836,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:9840,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:9843,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:9845,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:9854,1
    - Dst: malloc
      Src: /src/gnupg/dirmngr/dns.c:9860,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:9860,1
    - Dst: dns_syerr
      Src: /src/gnupg/dirmngr/dns.c:9861,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:9863,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:9869,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:9869,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:9870,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:9873,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:9873,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 4
    argNames:
    - ent
    - any
    - type
    - ai
    argTypes:
    - struct addrinfo**
    - union dns_any*
    - enum dns_type
    - struct dns_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9878
      start: 9820
    functionDepth: 1
    functionLinenumber: 9820
    functionLinenumberEnd: 9878
    functionName: dns_ai_setent
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_syerr
    - strlen
    - htons
    - memset
    - malloc
    - memcpy
    - dns_sa_len
    linkageType: ''
    returnType: int
    signature: int dns_ai_setent(struct addrinfo **ent, union dns_any *any, enum dns_type
      type, struct dns_addrinfo *ai)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - which
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9899
      start: 9898
    functionDepth: 0
    functionLinenumber: 9898
    functionLinenumberEnd: 9899
    functionName: dns_ai_goto
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_ai_goto(which)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: dns_ai_nextaf
      Src: /src/gnupg/dirmngr/dns.c:9916,1
    - Dst: dns_ai_goto
      Src: /src/gnupg/dirmngr/dns.c:9917,1
    - Dst: dns_inet_pton
      Src: /src/gnupg/dirmngr/dns.c:9921,1
    - Dst: dns_ai_setent
      Src: /src/gnupg/dirmngr/dns.c:9924,1
    - Dst: dns_ai_goto
      Src: /src/gnupg/dirmngr/dns.c:9926,1
    - Dst: dns_inet_pton
      Src: /src/gnupg/dirmngr/dns.c:9930,1
    - Dst: dns_ai_setent
      Src: /src/gnupg/dirmngr/dns.c:9933,1
    - Dst: dns_ai_goto
      Src: /src/gnupg/dirmngr/dns.c:9935,1
    - Dst: dns_ai_goto
      Src: /src/gnupg/dirmngr/dns.c:9940,1
    - Dst: assert
      Src: /src/gnupg/dirmngr/dns.c:9944,1
    - Dst: dns_res_submit
      Src: /src/gnupg/dirmngr/dns.c:9946,1
    - Dst: dns_ai_qtype
      Src: /src/gnupg/dirmngr/dns.c:9946,1
    - Dst: dns_res_check
      Src: /src/gnupg/dirmngr/dns.c:9951,1
    - Dst: dns_res_fetch_and_study
      Src: /src/gnupg/dirmngr/dns.c:9956,1
    - Dst: dns_p_free
      Src: /src/gnupg/dirmngr/dns.c:9959,1
    - Dst: dns_p_movptr
      Src: /src/gnupg/dirmngr/dns.c:9960,1
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:9963,1
    - Dst: dns_d_cname
      Src: /src/gnupg/dirmngr/dns.c:9967,1
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:9970,1
    - Dst: dns_rr_i_init
      Src: /src/gnupg/dirmngr/dns.c:9971,1
    - Dst: dns_ai_qtype
      Src: /src/gnupg/dirmngr/dns.c:9974,1
    - Dst: dns_rr_grep
      Src: /src/gnupg/dirmngr/dns.c:9979,1
    - Dst: dns_ai_goto
      Src: /src/gnupg/dirmngr/dns.c:9980,1
    - Dst: dns_any_parse
      Src: /src/gnupg/dirmngr/dns.c:9982,1
    - Dst: dns_ai_setent
      Src: /src/gnupg/dirmngr/dns.c:9990,1
    - Dst: dns_any_cname
      Src: /src/gnupg/dirmngr/dns.c:9992,1
    - Dst: dns_ai_goto
      Src: /src/gnupg/dirmngr/dns.c:9993,1
    - Dst: dns_d_cname
      Src: /src/gnupg/dirmngr/dns.c:10002,1
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:10017,1
    - Dst: dns_rr_i_init
      Src: /src/gnupg/dirmngr/dns.c:10018,1
    - Dst: dns_rr_grep
      Src: /src/gnupg/dirmngr/dns.c:10025,1
    - Dst: dns_rr_i_count
      Src: /src/gnupg/dirmngr/dns.c:10026,1
    - Dst: dns_ai_goto
      Src: /src/gnupg/dirmngr/dns.c:10027,1
    - Dst: dns_ai_goto
      Src: /src/gnupg/dirmngr/dns.c:10029,1
    - Dst: dns_any_parse
      Src: /src/gnupg/dirmngr/dns.c:10032,1
    - Dst: dns_ai_setent
      Src: /src/gnupg/dirmngr/dns.c:10035,1
    - Dst: dns_rr_grep
      Src: /src/gnupg/dirmngr/dns.c:10044,1
    - Dst: dns_ai_goto
      Src: /src/gnupg/dirmngr/dns.c:10045,1
    - Dst: dns_ai_goto
      Src: /src/gnupg/dirmngr/dns.c:10048,1
    - Dst: dns_res_submit
      Src: /src/gnupg/dirmngr/dns.c:10050,1
    - Dst: dns_res_check
      Src: /src/gnupg/dirmngr/dns.c:10056,1
    - Dst: dns_res_fetch_and_study
      Src: /src/gnupg/dirmngr/dns.c:10061,1
    - Dst: dns_p_merge
      Src: /src/gnupg/dirmngr/dns.c:10064,1
    - Dst: dns_p_setptr
      Src: /src/gnupg/dirmngr/dns.c:10065,1
    - Dst: dns_p_free
      Src: /src/gnupg/dirmngr/dns.c:10070,1
    - Dst: dns_d_cname
      Src: /src/gnupg/dirmngr/dns.c:10073,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:10073,1
    - Dst: dns_ai_goto
      Src: /src/gnupg/dirmngr/dns.c:10074,1
    - Dst: dns_ai_goto
      Src: /src/gnupg/dirmngr/dns.c:10076,1
    - Dst: dns_p_rcode
      Src: /src/gnupg/dirmngr/dns.c:10081,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 145
    argCount: 2
    argNames:
    - ent
    - ai
    argTypes:
    - struct addrinfo**
    - struct dns_addrinfo*
    assertStmts:
    - condition: (ai->res)
      pos:
        line_end: 9943
        line_start: 9943
        source_file: /src/gnupg/dirmngr/dns.c
    constantsTouched: []
    func_position:
      end: 10095
      start: 9900
    functionDepth: 11
    functionLinenumber: 9900
    functionLinenumberEnd: 10095
    functionName: dns_ai_nextent
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_ai_qtype
    - strlen
    - dns_any_parse
    - dns_rr_grep
    - dns_p_merge
    - dns_ai_nextaf
    - dns_d_expand
    - dns_inet_pton
    - dns_rr_i_init
    - dns_ai_goto
    - dns_p_free
    - assert
    - dns_res_fetch_and_study
    - dns_p_setptr
    - dns_strlcpy
    - dns_res_submit
    - dns_res_check
    - dns_any_cname
    - dns_p_rcode
    - dns_p_movptr
    - dns_ai_setent
    - dns_rr_i_count
    - dns_d_cname
    linkageType: ''
    returnType: int
    signature: int dns_ai_nextent(struct addrinfo **ent, struct dns_addrinfo *ai)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_res_elapsed
      Src: /src/gnupg/dirmngr/dns.c:10099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct dns_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10100
      start: 10098
    functionDepth: 3
    functionLinenumber: 10098
    functionLinenumberEnd: 10100
    functionName: dns_ai_elapsed
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_elapsed
    linkageType: ''
    returnType: time_t
    signature: time_t dns_ai_elapsed(struct dns_addrinfo *ai)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_res_clear
      Src: /src/gnupg/dirmngr/dns.c:10105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct dns_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10106
      start: 10103
    functionDepth: 4
    functionLinenumber: 10103
    functionLinenumberEnd: 10106
    functionName: dns_ai_clear
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_clear
    linkageType: ''
    returnType: void
    signature: void dns_ai_clear(struct dns_addrinfo *ai)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_res_events
      Src: /src/gnupg/dirmngr/dns.c:10110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct dns_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10111
      start: 10109
    functionDepth: 4
    functionLinenumber: 10109
    functionLinenumberEnd: 10111
    functionName: dns_ai_events
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_events
    linkageType: ''
    returnType: int
    signature: int dns_ai_events(struct dns_addrinfo *ai)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_res_pollfd
      Src: /src/gnupg/dirmngr/dns.c:10115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct dns_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10116
      start: 10114
    functionDepth: 2
    functionLinenumber: 10114
    functionLinenumberEnd: 10116
    functionName: dns_ai_pollfd
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_pollfd
    linkageType: ''
    returnType: int
    signature: int dns_ai_pollfd(struct dns_addrinfo *ai)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_res_timeout
      Src: /src/gnupg/dirmngr/dns.c:10120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct dns_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10121
      start: 10119
    functionDepth: 4
    functionLinenumber: 10119
    functionLinenumberEnd: 10121
    functionName: dns_ai_timeout
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_timeout
    linkageType: ''
    returnType: time_t
    signature: time_t dns_ai_timeout(struct dns_addrinfo *ai)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_res_poll
      Src: /src/gnupg/dirmngr/dns.c:10125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ai
    - timeout
    argTypes:
    - struct dns_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10126
      start: 10124
    functionDepth: 4
    functionLinenumber: 10124
    functionLinenumberEnd: 10126
    functionName: dns_ai_poll
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_poll
    linkageType: ''
    returnType: int
    signature: int dns_ai_poll(struct dns_addrinfo *ai, int timeout)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DNS_B_INTO
      Src: /src/gnupg/dirmngr/dns.c:10130,1
    - Dst: DNS_PP_MAX
      Src: /src/gnupg/dirmngr/dns.c:10131,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10134,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10135,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10136,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10138,1
    - Dst: dns_strtype
      Src: /src/gnupg/dirmngr/dns.c:10138,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10140,1
    - Dst: dns_strtype
      Src: /src/gnupg/dirmngr/dns.c:10140,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10142,1
    - Dst: dns_strtype
      Src: /src/gnupg/dirmngr/dns.c:10142,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10144,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10146,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10148,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10151,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10154,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:10157,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:10160,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10162,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10165,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10168,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:10171,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:10174,1
    - Dst: dns_inet_ntop
      Src: /src/gnupg/dirmngr/dns.c:10176,1
    - Dst: dns_sa_family
      Src: /src/gnupg/dirmngr/dns.c:10176,1
    - Dst: dns_sa_addr
      Src: /src/gnupg/dirmngr/dns.c:10176,1
    - Dst: dns_sa_family
      Src: /src/gnupg/dirmngr/dns.c:10176,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10177,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10178,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10179,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:10180,1
    - Dst: ntohs
      Src: /src/gnupg/dirmngr/dns.c:10180,1
    - Dst: dns_sa_port
      Src: /src/gnupg/dirmngr/dns.c:10180,1
    - Dst: dns_sa_family
      Src: /src/gnupg/dirmngr/dns.c:10180,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:10181,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10183,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10184,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:10185,1
    - Dst: dns_b_strllen
      Src: /src/gnupg/dirmngr/dns.c:10187,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 4
    argNames:
    - _dst
    - lim
    - ent
    - ai
    argTypes:
    - void*
    - size_t
    - struct addrinfo*
    - struct dns_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10188
      start: 10129
    functionDepth: 4
    functionLinenumber: 10129
    functionLinenumberEnd: 10188
    functionName: dns_ai_print
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_B_INTO
    - dns_strtype
    - dns_b_fmtju
    - ntohs
    - dns_b_putc
    - DNS_PP_MAX
    - dns_b_puts
    - dns_sa_port
    - dns_b_strllen
    - dns_inet_ntop
    - dns_sa_family
    - dns_sa_addr
    linkageType: ''
    returnType: size_t
    signature: size_t dns_ai_print(void *_dst, size_t lim, struct addrinfo *ent, struct
      dns_addrinfo *ai)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_res_stat
      Src: /src/gnupg/dirmngr/dns.c:10192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct dns_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10193
      start: 10191
    functionDepth: 2
    functionLinenumber: 10191
    functionLinenumberEnd: 10193
    functionName: dns_ai_stat
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_stat
    linkageType: ''
    returnType: struct dns_stat
    signature: struct dns_stat *dns_ai_stat(struct dns_addrinfo *ai)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct dns_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10198
      start: 10196
    functionDepth: 0
    functionLinenumber: 10196
    functionLinenumberEnd: 10198
    functionName: dns_ai_trace
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct dns_trace
    signature: struct dns_trace *dns_ai_trace(struct dns_addrinfo *ai)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_trace_acquire_p
      Src: /src/gnupg/dirmngr/dns.c:10203,1
    - Dst: dns_trace_close
      Src: /src/gnupg/dirmngr/dns.c:10204,1
    - Dst: dns_res_settrace
      Src: /src/gnupg/dirmngr/dns.c:10206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ai
    - trace
    argTypes:
    - struct dns_addrinfo*
    - struct dns_trace*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10207
      start: 10201
    functionDepth: 6
    functionLinenumber: 10201
    functionLinenumberEnd: 10207
    functionName: dns_ai_settrace
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_settrace
    - dns_trace_close
    - dns_trace_acquire_p
    linkageType: ''
    returnType: void
    signature: void dns_ai_settrace(struct dns_addrinfo *ai, struct dns_trace *trace)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DNS_B_INTO
      Src: /src/gnupg/dirmngr/dns.c:10230,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:10233,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10235,1
    - Dst: dns_b_putc
      Src: /src/gnupg/dirmngr/dns.c:10238,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:10243,1
    - Dst: dns_b_tostring
      Src: /src/gnupg/dirmngr/dns.c:10245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - section
    - _dst
    argTypes:
    - enum dns_section
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10246
      start: 10229
    functionDepth: 3
    functionLinenumber: 10229
    functionLinenumberEnd: 10246
    functionName: '*(dns_strsection)(enum dns_section section, char *_dst)'
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_B_INTO
    - dns_b_fmtju
    - dns_b_putc
    - dns_b_puts
    - dns_b_tostring
    - lengthof
    linkageType: ''
    returnType: char
    signature: char *(dns_strsection)(enum dns_section section, char *_dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:10255,1
    - Dst: dns_strsep
      Src: /src/gnupg/dirmngr/dns.c:10258,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:10259,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:10260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - src
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10268
      start: 10249
    functionDepth: 1
    functionLinenumber: 10249
    functionLinenumberEnd: 10268
    functionName: dns_isection
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_strsep
    - lengthof
    - dns_strlcpy
    - strcasecmp
    linkageType: ''
    returnType: enum dns_section
    signature: enum dns_section dns_isection(const char *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DNS_B_INTO
      Src: /src/gnupg/dirmngr/dns.c:10279,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:10282,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10284,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:10290,1
    - Dst: dns_b_tostring
      Src: /src/gnupg/dirmngr/dns.c:10292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - type
    - _dst
    argTypes:
    - enum dns_class
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10293
      start: 10278
    functionDepth: 3
    functionLinenumber: 10278
    functionLinenumberEnd: 10293
    functionName: '*(dns_strclass)(enum dns_class type, char *_dst)'
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_B_INTO
    - dns_b_fmtju
    - dns_b_puts
    - dns_b_tostring
    - lengthof
    linkageType: ''
    returnType: char
    signature: char *(dns_strclass)(enum dns_class type, char *_dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:10299,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:10300,1
    - Dst: dns_isdigit
      Src: /src/gnupg/dirmngr/dns.c:10305,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:10310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10311
      start: 10296
    functionDepth: 1
    functionLinenumber: 10296
    functionLinenumberEnd: 10311
    functionName: dns_iclass
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_PP_MIN
    - lengthof
    - strcasecmp
    - dns_isdigit
    linkageType: ''
    returnType: enum dns_class
    signature: enum dns_class dns_iclass(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DNS_B_INTO
      Src: /src/gnupg/dirmngr/dns.c:10315,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:10318,1
    - Dst: dns_b_puts
      Src: /src/gnupg/dirmngr/dns.c:10320,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:10326,1
    - Dst: dns_b_tostring
      Src: /src/gnupg/dirmngr/dns.c:10328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - type
    - _dst
    argTypes:
    - enum dns_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10329
      start: 10314
    functionDepth: 3
    functionLinenumber: 10314
    functionLinenumberEnd: 10329
    functionName: '*(dns_strtype)(enum dns_type type, char *_dst)'
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_B_INTO
    - dns_b_fmtju
    - dns_b_puts
    - dns_b_tostring
    - lengthof
    linkageType: ''
    returnType: char
    signature: char *(dns_strtype)(enum dns_type type, char *_dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:10335,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:10336,1
    - Dst: dns_isdigit
      Src: /src/gnupg/dirmngr/dns.c:10341,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:10346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10347
      start: 10332
    functionDepth: 1
    functionLinenumber: 10332
    functionLinenumberEnd: 10347
    functionName: dns_itype
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_PP_MIN
    - lengthof
    - strcasecmp
    - dns_isdigit
    linkageType: ''
    returnType: enum dns_type
    signature: enum dns_type dns_itype(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/dirmngr/dns.c:10363,1
    - Dst: dns_b_fmtju
      Src: /src/gnupg/dirmngr/dns.c:10364,1
    - Dst: dns_b_into
      Src: /src/gnupg/dirmngr/dns.c:10364,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:10364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - code
    - dst
    - lim
    argTypes:
    - int
    - char*
    - size_t
    assertStmts:
    - condition: (lim > 0)
      pos:
        line_end: 10362
        line_start: 10362
        source_file: /src/gnupg/dirmngr/dns.c
    constantsTouched: []
    func_position:
      end: 10373
      start: 10358
    functionDepth: 2
    functionLinenumber: 10358
    functionLinenumberEnd: 10373
    functionName: dns__strcode
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_b_fmtju
    - dns_b_into
    - DNS_PP_MIN
    - assert
    linkageType: ''
    returnType: char
    signature: char *dns__strcode(int code, volatile char *dst, size_t lim)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:10376,1
    - Dst: dns__strcode
      Src: /src/gnupg/dirmngr/dns.c:10379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - opcode
    argTypes:
    - enum dns_opcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10382
      start: 10375
    functionDepth: 3
    functionLinenumber: 10375
    functionLinenumberEnd: 10382
    functionName: dns_stropcode
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - lengthof
    - dns__strcode
    linkageType: ''
    returnType: char
    signature: char *dns_stropcode(enum dns_opcode opcode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:10388,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:10389,1
    - Dst: dns_isdigit
      Src: /src/gnupg/dirmngr/dns.c:10394,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:10399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10400
      start: 10385
    functionDepth: 1
    functionLinenumber: 10385
    functionLinenumberEnd: 10400
    functionName: dns_iopcode
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_PP_MIN
    - lengthof
    - strcasecmp
    - dns_isdigit
    linkageType: ''
    returnType: enum dns_opcode
    signature: enum dns_opcode dns_iopcode(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:10420,1
    - Dst: dns__strcode
      Src: /src/gnupg/dirmngr/dns.c:10423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rcode
    argTypes:
    - enum dns_rcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10426
      start: 10419
    functionDepth: 3
    functionLinenumber: 10419
    functionLinenumberEnd: 10426
    functionName: dns_strrcode
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - lengthof
    - dns__strcode
    linkageType: ''
    returnType: char
    signature: char *dns_strrcode(enum dns_rcode rcode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:10432,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:10433,1
    - Dst: dns_isdigit
      Src: /src/gnupg/dirmngr/dns.c:10438,1
    - Dst: DNS_PP_MIN
      Src: /src/gnupg/dirmngr/dns.c:10443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10444
      start: 10429
    functionDepth: 1
    functionLinenumber: 10429
    functionLinenumberEnd: 10444
    functionName: dns_ircode
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - DNS_PP_MIN
    - lengthof
    - strcasecmp
    - dns_isdigit
    linkageType: ''
    returnType: enum dns_rcode
    signature: enum dns_rcode dns_ircode(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_hxd_lines
      Src: /src/gnupg/dirmngr/dns.c:10502,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/dns.c:10503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - src
    - len
    - fp
    argTypes:
    - unsigned char*
    - size_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10505
      start: 10498
    functionDepth: 2
    functionLinenumber: 10498
    functionLinenumberEnd: 10505
    functionName: hexdump
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 2
    functionsReached:
    - dns_hxd_lines
    - fputs
    linkageType: ''
    returnType: void
    signature: void hexdump(const unsigned char *src, size_t len, FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/dirmngr/dns.c:10511,1
    - Dst: vfprintf
      Src: /src/gnupg/dirmngr/dns.c:10514,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/dns.c:10516,1
    - Dst: verrx
      Src: /src/gnupg/dirmngr/dns.c:10518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10520
      start: 10508
    functionDepth: 0
    functionLinenumber: 10508
    functionLinenumberEnd: 10520
    functionName: panic
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - verrx
    - exit
    - vfprintf
    - va_start
    linkageType: ''
    returnType: DNS_NORETURN
    signature: DNS_NORETURN panic(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fn
    - ','
    - ln
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10524
      start: 10522
    functionDepth: 0
    functionLinenumber: 10522
    functionLinenumberEnd: 10524
    functionName: panic_
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: panic_(fn, ln, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10526
      start: 10524
    functionDepth: 0
    functionLinenumber: 10524
    functionLinenumberEnd: 10526
    functionName: panic
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: panic(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnupg/dirmngr/dns.c:10531,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10532,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:10532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10535
      start: 10528
    functionDepth: 1
    functionLinenumber: 10528
    functionLinenumberEnd: 10535
    functionName: grow
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 5
    functionsReached:
    - panic
    - dns_strerror
    - realloc
    linkageType: ''
    returnType: void
    signature: void *grow(unsigned char *p, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10543
      start: 10538
    functionDepth: 1
    functionLinenumber: 10538
    functionLinenumberEnd: 10543
    functionName: add
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 23
    functionsReached:
    - panic
    linkageType: ''
    returnType: size_t
    signature: size_t add(size_t a, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/gnupg/dirmngr/dns.c:10547,1
    - Dst: grow
      Src: /src/gnupg/dirmngr/dns.c:10549,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:10550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - dst
    - osize
    - src
    - len
    argTypes:
    - unsigned char**
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10553
      start: 10546
    functionDepth: 2
    functionLinenumber: 10546
    functionLinenumberEnd: 10553
    functionName: append
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - add
    - memcpy
    - grow
    linkageType: ''
    returnType: size_t
    signature: size_t append(unsigned char **dst, size_t osize, const void *src, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/gnupg/dirmngr/dns.c:10561,1
    - Dst: append
      Src: /src/gnupg/dirmngr/dns.c:10562,1
    - Dst: ferror
      Src: /src/gnupg/dirmngr/dns.c:10564,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10565,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:10565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - dst
    - osize
    - fp
    - path
    argTypes:
    - unsigned char**
    - size_t
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10568
      start: 10556
    functionDepth: 3
    functionLinenumber: 10556
    functionLinenumberEnd: 10568
    functionName: slurp
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_strerror
    - panic
    - append
    - fread
    - ferror
    linkageType: ''
    returnType: size_t
    signature: size_t slurp(unsigned char **dst, size_t osize, FILE *fp, const char
      *path)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_resconf_open
      Src: /src/gnupg/dirmngr/dns.c:10580,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10581,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:10581,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dns.c:10589,1
    - Dst: dns_resconf_loadfile
      Src: /src/gnupg/dirmngr/dns.c:10590,1
    - Dst: dns_resconf_loadpath
      Src: /src/gnupg/dirmngr/dns.c:10592,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10595,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:10595,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dns.c:10601,1
    - Dst: dns_nssconf_loadfile
      Src: /src/gnupg/dirmngr/dns.c:10602,1
    - Dst: dns_nssconf_loadpath
      Src: /src/gnupg/dirmngr/dns.c:10604,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10607,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:10607,1
    - Dst: dns_nssconf_loadpath
      Src: /src/gnupg/dirmngr/dns.c:10613,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10616,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:10616,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10620
      start: 10571
    functionDepth: 5
    functionLinenumber: 10571
    functionLinenumberEnd: 10620
    functionName: resconf
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_strerror
    - panic
    - dns_nssconf_loadpath
    - dns_resconf_loadpath
    - strcmp
    - dns_resconf_loadfile
    - dns_nssconf_loadfile
    - dns_resconf_open
    linkageType: ''
    returnType: struct dns_resolv_conf
    signature: struct dns_resolv_conf *resconf(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_hosts_local
      Src: /src/gnupg/dirmngr/dns.c:10636,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10637,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:10637,1
    - Dst: dns_hosts_open
      Src: /src/gnupg/dirmngr/dns.c:10642,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10643,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:10643,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dns.c:10648,1
    - Dst: dns_hosts_loadfile
      Src: /src/gnupg/dirmngr/dns.c:10649,1
    - Dst: dns_hosts_loadpath
      Src: /src/gnupg/dirmngr/dns.c:10651,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10654,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:10654,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10658
      start: 10623
    functionDepth: 4
    functionLinenumber: 10623
    functionLinenumberEnd: 10658
    functionName: hosts
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_strerror
    - dns_hosts_loadpath
    - dns_hosts_local
    - dns_hosts_open
    - panic
    - strcmp
    - dns_hosts_loadfile
    linkageType: ''
    returnType: struct dns_hosts
    signature: struct dns_hosts *hosts(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cache_resi
      Src: /src/gnupg/dirmngr/dns.c:10671,1
    - Dst: cache_open
      Src: /src/gnupg/dirmngr/dns.c:10675,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10676,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:10676,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dns.c:10681,1
    - Dst: cache_loadfile
      Src: /src/gnupg/dirmngr/dns.c:10682,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10683,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:10683,1
    - Dst: cache_loadpath
      Src: /src/gnupg/dirmngr/dns.c:10684,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10685,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:10685,1
    - Dst: cache_resi
      Src: /src/gnupg/dirmngr/dns.c:10688,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10689
      start: 10664
    functionDepth: 1
    functionLinenumber: 10664
    functionLinenumberEnd: 10689
    functionName: cache
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 47
    functionsReached:
    - dns_strerror
    - cache_loadpath
    - cache_resi
    - cache_loadfile
    - panic
    - strcmp
    - cache_open
    linkageType: ''
    returnType: struct dns_cache
    signature: struct dns_cache *cache(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10691
      start: 10691
    functionDepth: 0
    functionLinenumber: 10691
    functionLinenumberEnd: 10691
    functionName: cache
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 47
    functionsReached: []
    linkageType: ''
    returnType: struct dns_cache
    signature: struct dns_cache *cache(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dns.c:10701,1
    - Dst: fopen
      Src: /src/gnupg/dirmngr/dns.c:10706,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10707,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dns.c:10707,1
    - Dst: dns_trace_close
      Src: /src/gnupg/dirmngr/dns.c:10708,1
    - Dst: dns_trace_open
      Src: /src/gnupg/dirmngr/dns.c:10709,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10710,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:10710,1
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:10711,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - mode
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10714
      start: 10695
    functionDepth: 2
    functionLinenumber: 10695
    functionLinenumberEnd: 10714
    functionName: trace
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 2
    functionsReached:
    - dns_strerror
    - dns_trace_close
    - panic
    - dns_trace_open
    - strcmp
    - fopen
    - dns_strlcpy
    - strerror
    linkageType: ''
    returnType: struct dns_trace
    signature: struct dns_trace *trace(const char *mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_dump3
      Src: /src/gnupg/dirmngr/dns.c:10720,1
    - Dst: hexdump
      Src: /src/gnupg/dirmngr/dns.c:10723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - P
    - fp
    argTypes:
    - struct dns_packet*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10724
      start: 10717
    functionDepth: 4
    functionLinenumber: 10717
    functionLinenumberEnd: 10724
    functionName: print_packet
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - hexdump
    - dns_p_dump3
    linkageType: ''
    returnType: void
    signature: void print_packet(struct dns_packet *P, FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/dirmngr/dns.c:10812,1
    - Dst: dns_d_init
      Src: /src/gnupg/dirmngr/dns.c:10814,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:10814,1
    - Dst: puts
      Src: /src/gnupg/dirmngr/dns.c:10817,1
    - Dst: dns_d_cleave
      Src: /src/gnupg/dirmngr/dns.c:10818,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:10818,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:10818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10821
      start: 10806
    functionDepth: 3
    functionLinenumber: 10806
    functionLinenumberEnd: 10821
    functionName: parse_domain
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - printf
    - strlen
    - dns_d_init
    - puts
    - dns_d_cleave
    linkageType: ''
    returnType: int
    signature: int parse_domain(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_d_trim
      Src: /src/gnupg/dirmngr/dns.c:10828,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:10828,1
    - Dst: puts
      Src: /src/gnupg/dirmngr/dns.c:10830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10834
      start: 10824
    functionDepth: 2
    functionLinenumber: 10824
    functionLinenumberEnd: 10834
    functionName: trim_domain
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - puts
    - dns_d_trim
    - strlen
    linkageType: ''
    returnType: int
    signature: int trim_domain(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gnupg/dirmngr/dns.c:10846,1
    - Dst: slurp
      Src: /src/gnupg/dirmngr/dns.c:10848,1
    - Dst: dns_p_make
      Src: /src/gnupg/dirmngr/dns.c:10850,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10851,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:10851,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:10853,1
    - Dst: grow
      Src: /src/gnupg/dirmngr/dns.c:10857,1
    - Dst: dns_d_expand
      Src: /src/gnupg/dirmngr/dns.c:10859,1
    - Dst: add
      Src: /src/gnupg/dirmngr/dns.c:10860,1
    - Dst: grow
      Src: /src/gnupg/dirmngr/dns.c:10861,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10865,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:10865,1
    - Dst: fwrite
      Src: /src/gnupg/dirmngr/dns.c:10867,1
    - Dst: fflush
      Src: /src/gnupg/dirmngr/dns.c:10868,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:10870,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:10871,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:10872,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10875
      start: 10837
    functionDepth: 4
    functionLinenumber: 10837
    functionLinenumberEnd: 10875
    functionName: expand_domain
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_strerror
    - atoi
    - fwrite
    - panic
    - grow
    - add
    - fflush
    - slurp
    - dns_d_expand
    - memcpy
    - dns_p_make
    - free
    linkageType: ''
    returnType: int
    signature: int expand_domain(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resconf
      Src: /src/gnupg/dirmngr/dns.c:10881,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/dns.c:10883,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:10886,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:10889,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/dns.c:10891,1
    - Dst: dns_resconf_dump
      Src: /src/gnupg/dirmngr/dns.c:10893,1
    - Dst: resconf
      Src: /src/gnupg/dirmngr/dns.c:10893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - DNS_NOTUSED
    - DNS_NOTUSED
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10896
      start: 10878
    functionDepth: 6
    functionLinenumber: 10878
    functionLinenumberEnd: 10896
    functionName: show_resconf
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - fprintf
    - dns_resconf_dump
    - resconf
    - fputs
    linkageType: ''
    returnType: int
    signature: int show_resconf(int argc DNS_NOTUSED, char *argv[] DNS_NOTUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resconf
      Src: /src/gnupg/dirmngr/dns.c:10902,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/dns.c:10904,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:10907,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:10910,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/dns.c:10912,1
    - Dst: dns_nssconf_dump
      Src: /src/gnupg/dirmngr/dns.c:10914,1
    - Dst: resconf
      Src: /src/gnupg/dirmngr/dns.c:10914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - DNS_NOTUSED
    - DNS_NOTUSED
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10917
      start: 10899
    functionDepth: 6
    functionLinenumber: 10899
    functionLinenumberEnd: 10917
    functionName: show_nssconf
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - fprintf
    - dns_nssconf_dump
    - resconf
    - fputs
    linkageType: ''
    returnType: int
    signature: int show_nssconf(int argc DNS_NOTUSED, char *argv[] DNS_NOTUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hosts
      Src: /src/gnupg/dirmngr/dns.c:10923,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/dns.c:10925,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:10928,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/dns.c:10930,1
    - Dst: dns_hosts_dump
      Src: /src/gnupg/dirmngr/dns.c:10932,1
    - Dst: hosts
      Src: /src/gnupg/dirmngr/dns.c:10932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - DNS_NOTUSED
    - DNS_NOTUSED
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10935
      start: 10920
    functionDepth: 5
    functionLinenumber: 10920
    functionLinenumberEnd: 10935
    functionName: show_hosts
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - fprintf
    - dns_hosts_dump
    - fputs
    - hosts
    linkageType: ''
    returnType: int
    signature: int show_hosts(int argc DNS_NOTUSED, char *argv[] DNS_NOTUSED)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_calcsize
      Src: /src/gnupg/dirmngr/dns.c:10939,1
    - Dst: dns_p_init
      Src: /src/gnupg/dirmngr/dns.c:10940,1
    - Dst: hosts
      Src: /src/gnupg/dirmngr/dns.c:10951,1
    - Dst: strstr
      Src: /src/gnupg/dirmngr/dns.c:10953,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/dns.c:10955,1
    - Dst: dns_pton
      Src: /src/gnupg/dirmngr/dns.c:10957,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10958,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:10958,1
    - Dst: dns_ptr_qname
      Src: /src/gnupg/dirmngr/dns.c:10960,1
    - Dst: dns_strlcpy
      Src: /src/gnupg/dirmngr/dns.c:10962,1
    - Dst: dns_p_push
      Src: /src/gnupg/dirmngr/dns.c:10964,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10965,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:10965,1
    - Dst: dns_hosts_query
      Src: /src/gnupg/dirmngr/dns.c:10967,1
    - Dst: hosts
      Src: /src/gnupg/dirmngr/dns.c:10967,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:10968,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:10968,1
    - Dst: print_packet
      Src: /src/gnupg/dirmngr/dns.c:10970,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:10972,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10975
      start: 10938
    functionDepth: 6
    functionLinenumber: 10938
    functionLinenumberEnd: 10975
    functionName: query_hosts
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_pton
    - dns_strerror
    - dns_ptr_qname
    - strstr
    - panic
    - dns_hosts_query
    - free
    - print_packet
    - strchr
    - dns_p_push
    - dns_strlcpy
    - dns_p_calcsize
    - hosts
    - dns_p_init
    linkageType: ''
    returnType: int
    signature: int query_hosts(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnupg/dirmngr/dns.c:10983,1
    - Dst: dns_resconf_search
      Src: /src/gnupg/dirmngr/dns.c:10985,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:10985,1
    - Dst: resconf
      Src: /src/gnupg/dirmngr/dns.c:10985,1
    - Dst: puts
      Src: /src/gnupg/dirmngr/dns.c:10986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10989
      start: 10978
    functionDepth: 6
    functionLinenumber: 10978
    functionLinenumberEnd: 10989
    functionName: search_list
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - resconf
    - printf
    - strlen
    - puts
    - dns_resconf_search
    linkageType: ''
    returnType: int
    signature: int search_list(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gnupg/dirmngr/dns.c:10996,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/dns.c:10997,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:10999,1
    - Dst: dns_k_permutor_init
      Src: /src/gnupg/dirmngr/dns.c:11001,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:11004,1
    - Dst: dns_k_permutor_step
      Src: /src/gnupg/dirmngr/dns.c:11004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11008
      start: 10992
    functionDepth: 4
    functionLinenumber: 10992
    functionLinenumberEnd: 11008
    functionName: permute_set
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - fprintf
    - dns_k_permutor_step
    - atoi
    - dns_k_permutor_init
    linkageType: ''
    returnType: int
    signature: int permute_set(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gnupg/dirmngr/dns.c:11015,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/dns.c:11016,1
    - Dst: dns_random
      Src: /src/gnupg/dirmngr/dns.c:11016,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:11018,1
    - Dst: dns_k_shuffle16
      Src: /src/gnupg/dirmngr/dns.c:11018,1
    - Dst: dns_random
      Src: /src/gnupg/dirmngr/dns.c:11020,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:11023,1
    - Dst: dns_k_shuffle16
      Src: /src/gnupg/dirmngr/dns.c:11023,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11027
      start: 11011
    functionDepth: 1
    functionLinenumber: 11011
    functionLinenumberEnd: 11027
    functionName: shuffle_16
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - fprintf
    - dns_k_shuffle16
    - atoi
    - dns_random
    linkageType: ''
    returnType: int
    signature: int shuffle_16(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gnupg/dirmngr/dns.c:11034,1
    - Dst: dns_random
      Src: /src/gnupg/dirmngr/dns.c:11040,1
    - Dst: hexdump
      Src: /src/gnupg/dirmngr/dns.c:11048,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11054
      start: 11030
    functionDepth: 3
    functionLinenumber: 11030
    functionLinenumberEnd: 11054
    functionName: dump_random
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - hexdump
    - atoi
    - dns_random
    linkageType: ''
    returnType: int
    signature: int dump_random(int argc, char *argv[])
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_p_calcsize
      Src: /src/gnupg/dirmngr/dns.c:11058,1
    - Dst: dns_p_init
      Src: /src/gnupg/dirmngr/dns.c:11059,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:11067,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/dns.c:11069,1
    - Dst: dns_pton
      Src: /src/gnupg/dirmngr/dns.c:11071,1
    - Dst: dns_sa_addr
      Src: /src/gnupg/dirmngr/dns.c:11071,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11072,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:11072,1
    - Dst: dns_sa_port
      Src: /src/gnupg/dirmngr/dns.c:11074,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:11074,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns.c:11076,1
    - Dst: resconf
      Src: /src/gnupg/dirmngr/dns.c:11076,1
    - Dst: dns_sa_len
      Src: /src/gnupg/dirmngr/dns.c:11076,1
    - Dst: resconf
      Src: /src/gnupg/dirmngr/dns.c:11076,1
    - Dst: dns_inet_ntop
      Src: /src/gnupg/dirmngr/dns.c:11078,1
    - Dst: dns_sa_addr
      Src: /src/gnupg/dirmngr/dns.c:11078,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11079,1
    - Dst: dns_p_push
      Src: /src/gnupg/dirmngr/dns.c:11086,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:11086,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11087,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:11087,1
    - Dst: dns_header
      Src: /src/gnupg/dirmngr/dns.c:11089,1
    - Dst: strstr
      Src: /src/gnupg/dirmngr/dns.c:11091,1
    - Dst: strstr
      Src: /src/gnupg/dirmngr/dns.c:11093,1
    - Dst: dns_res_tcp2type
      Src: /src/gnupg/dirmngr/dns.c:11096,1
    - Dst: resconf
      Src: /src/gnupg/dirmngr/dns.c:11096,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:11098,1
    - Dst: dns_strtype
      Src: /src/gnupg/dirmngr/dns.c:11098,1
    - Dst: dns_so_open
      Src: /src/gnupg/dirmngr/dns.c:11100,1
    - Dst: resconf
      Src: /src/gnupg/dirmngr/dns.c:11100,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11101,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:11101,1
    - Dst: dns_so_query
      Src: /src/gnupg/dirmngr/dns.c:11103,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11105,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:11105,1
    - Dst: dns_so_elapsed
      Src: /src/gnupg/dirmngr/dns.c:11106,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11107,1
    - Dst: dns_so_poll
      Src: /src/gnupg/dirmngr/dns.c:11109,1
    - Dst: print_packet
      Src: /src/gnupg/dirmngr/dns.c:11112,1
    - Dst: dns_so_close
      Src: /src/gnupg/dirmngr/dns.c:11114,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11117
      start: 11057
    functionDepth: 7
    functionLinenumber: 11057
    functionLinenumberEnd: 11117
    functionName: send_query
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_strtype
    - resconf
    - strlen
    - strstr
    - htons
    - dns_so_query
    - dns_sa_port
    - memcpy
    - dns_res_tcp2type
    - dns_sa_addr
    - dns_pton
    - dns_p_init
    - dns_so_elapsed
    - dns_p_calcsize
    - panic
    - print_packet
    - fprintf
    - strchr
    - memset
    - dns_so_open
    - dns_strerror
    - dns_so_poll
    - dns_so_close
    - dns_header
    - dns_p_push
    - dns_inet_ntop
    - dns_sa_len
    linkageType: ''
    returnType: int
    signature: int send_query(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/dirmngr/dns.c:11122,1
    - Dst: dns_inet_pton
      Src: /src/gnupg/dirmngr/dns.c:11126,1
    - Dst: dns_ptr_qname
      Src: /src/gnupg/dirmngr/dns.c:11126,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11127,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:11129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11132
      start: 11120
    functionDepth: 6
    functionLinenumber: 11120
    functionLinenumberEnd: 11132
    functionName: print_arpa
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_ptr_qname
    - panic
    - fprintf
    - strchr
    - dns_inet_pton
    linkageType: ''
    returnType: int
    signature: int print_arpa(int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dns.c:11145,1
    - Dst: load
      Src: /src/gnupg/dirmngr/dns.c:11149,1
    - Dst: resconf
      Src: /src/gnupg/dirmngr/dns.c:11149,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11150,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:11150,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dns.c:11152,1
    - Dst: dns_hints_dump
      Src: /src/gnupg/dirmngr/dns.c:11153,1
    - Dst: dns_p_calcsize
      Src: /src/gnupg/dirmngr/dns.c:11155,1
    - Dst: dns_p_init
      Src: /src/gnupg/dirmngr/dns.c:11158,1
    - Dst: dns_p_push
      Src: /src/gnupg/dirmngr/dns.c:11160,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:11160,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11161,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:11161,1
    - Dst: dns_hints_query
      Src: /src/gnupg/dirmngr/dns.c:11163,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11164,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:11164,1
    - Dst: print_packet
      Src: /src/gnupg/dirmngr/dns.c:11166,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:11168,1
    - Dst: dns_hints_close
      Src: /src/gnupg/dirmngr/dns.c:11171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11174
      start: 11135
    functionDepth: 9
    functionLinenumber: 11135
    functionLinenumberEnd: 11174
    functionName: show_hints
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_strerror
    - load
    - resconf
    - dns_hints_dump
    - strlen
    - panic
    - free
    - print_packet
    - strcmp
    - dns_hints_query
    - dns_hints_close
    - dns_p_push
    - dns_p_calcsize
    - dns_p_init
    linkageType: ''
    returnType: int
    signature: int show_hints(int argc, char *argv[])
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gnupg/dirmngr/dns.c:11178,1
    - Dst: resconf
      Src: /src/gnupg/dirmngr/dns.c:11195,1
    - Dst: dns_res_open
      Src: /src/gnupg/dirmngr/dns.c:11197,1
    - Dst: resconf
      Src: /src/gnupg/dirmngr/dns.c:11197,1
    - Dst: hosts
      Src: /src/gnupg/dirmngr/dns.c:11197,1
    - Dst: dns_hints_mortal
      Src: /src/gnupg/dirmngr/dns.c:11197,1
    - Dst: hints
      Src: /src/gnupg/dirmngr/dns.c:11197,1
    - Dst: resconf
      Src: /src/gnupg/dirmngr/dns.c:11197,1
    - Dst: cache
      Src: /src/gnupg/dirmngr/dns.c:11197,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11199,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:11199,1
    - Dst: dns_res_settrace
      Src: /src/gnupg/dirmngr/dns.c:11201,1
    - Dst: trace
      Src: /src/gnupg/dirmngr/dns.c:11201,1
    - Dst: dns_res_submit
      Src: /src/gnupg/dirmngr/dns.c:11203,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11204,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:11204,1
    - Dst: dns_res_check
      Src: /src/gnupg/dirmngr/dns.c:11206,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11208,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:11208,1
    - Dst: dns_res_elapsed
      Src: /src/gnupg/dirmngr/dns.c:11209,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11210,1
    - Dst: dns_res_poll
      Src: /src/gnupg/dirmngr/dns.c:11212,1
    - Dst: dns_res_fetch
      Src: /src/gnupg/dirmngr/dns.c:11215,1
    - Dst: print_packet
      Src: /src/gnupg/dirmngr/dns.c:11216,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:11217,1
    - Dst: dns_res_stat
      Src: /src/gnupg/dirmngr/dns.c:11219,1
    - Dst: putchar
      Src: /src/gnupg/dirmngr/dns.c:11220,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/dns.c:11221,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/dns.c:11222,1
    - Dst: resolve_addrinfo
      Src: /src/gnupg/dirmngr/dns.c:11233,1
    - Dst: strstr
      Src: /src/gnupg/dirmngr/dns.c:11234,1
    - Dst: resconf
      Src: /src/gnupg/dirmngr/dns.c:11248,1
    - Dst: dns_res_open
      Src: /src/gnupg/dirmngr/dns.c:11250,1
    - Dst: resconf
      Src: /src/gnupg/dirmngr/dns.c:11250,1
    - Dst: hosts
      Src: /src/gnupg/dirmngr/dns.c:11250,1
    - Dst: dns_hints_mortal
      Src: /src/gnupg/dirmngr/dns.c:11250,1
    - Dst: hints
      Src: /src/gnupg/dirmngr/dns.c:11250,1
    - Dst: resconf
      Src: /src/gnupg/dirmngr/dns.c:11250,1
    - Dst: cache
      Src: /src/gnupg/dirmngr/dns.c:11250,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11251,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:11251,1
    - Dst: dns_ai_open
      Src: /src/gnupg/dirmngr/dns.c:11253,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11254,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:11254,1
    - Dst: dns_ai_settrace
      Src: /src/gnupg/dirmngr/dns.c:11256,1
    - Dst: trace
      Src: /src/gnupg/dirmngr/dns.c:11256,1
    - Dst: dns_ai_nextent
      Src: /src/gnupg/dirmngr/dns.c:11259,1
    - Dst: dns_ai_print
      Src: /src/gnupg/dirmngr/dns.c:11261,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/dns.c:11263,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dns.c:11265,1
    - Dst: dns_ai_elapsed
      Src: /src/gnupg/dirmngr/dns.c:11271,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11272,1
    - Dst: dns_ai_poll
      Src: /src/gnupg/dirmngr/dns.c:11274,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11278,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:11278,1
    - Dst: dns_res_close
      Src: /src/gnupg/dirmngr/dns.c:11282,1
    - Dst: dns_ai_close
      Src: /src/gnupg/dirmngr/dns.c:11283,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11293,1
    - Dst: dns_trace_dump
      Src: /src/gnupg/dirmngr/dns.c:11295,1
    - Dst: trace
      Src: /src/gnupg/dirmngr/dns.c:11295,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns.c:11309,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:11311,1
    - Dst: inet_addr
      Src: /src/gnupg/dirmngr/dns.c:11312,1
    - Dst: socket
      Src: /src/gnupg/dirmngr/dns.c:11314,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11315,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dns.c:11315,1
    - Dst: bind
      Src: /src/gnupg/dirmngr/dns.c:11317,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11318,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:11318,1
    - Dst: dns_p_calcsize
      Src: /src/gnupg/dirmngr/dns.c:11321,1
    - Dst: dns_p_init
      Src: /src/gnupg/dirmngr/dns.c:11322,1
    - Dst: recvfrom
      Src: /src/gnupg/dirmngr/dns.c:11332,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11335,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dns.c:11335,1
    - Dst: dns_p_dump
      Src: /src/gnupg/dirmngr/dns.c:11339,1
    - Dst: sendto
      Src: /src/gnupg/dirmngr/dns.c:11341,1
    - Dst: dns_isection
      Src: /src/gnupg/dirmngr/dns.c:11353,1
    - Dst: dns_strsection
      Src: /src/gnupg/dirmngr/dns.c:11354,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/dns.c:11356,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 2
    argNames:
    - DNS_NOTUSED
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11359
      start: 11177
    functionDepth: 12
    functionLinenumber: 11177
    functionLinenumberEnd: 11359
    functionName: resolve_query
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_res_close
    - resconf
    - strstr
    - dns_res_elapsed
    - dns_res_settrace
    - bind
    - htons
    - dns_ai_print
    - dns_ai_close
    - dns_res_stat
    - dns_ai_settrace
    - printf
    - dns_p_init
    - cache
    - hints
    - dns_res_fetch
    - dns_p_dump
    - dns_strsection
    - dns_res_open
    - dns_p_calcsize
    - hosts
    - socket
    - trace
    - dns_ai_poll
    - resolve_addrinfo
    - dns_ai_open
    - panic
    - dns_isection
    - print_packet
    - memset
    - putchar
    - dns_ai_elapsed
    - dns_strerror
    - dns_res_submit
    - recvfrom
    - dns_res_check
    - dns_ai_nextent
    - dns_trace_dump
    - sendto
    - dns_hints_mortal
    - fputs
    - inet_addr
    - strerror
    - dns_res_poll
    - free
    linkageType: ''
    returnType: int
    signature: int resolve_query(int argc DNS_NOTUSED, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_iclass
      Src: /src/gnupg/dirmngr/dns.c:11367,1
    - Dst: dns_strclass
      Src: /src/gnupg/dirmngr/dns.c:11368,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/dns.c:11370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11373
      start: 11362
    functionDepth: 2
    functionLinenumber: 11362
    functionLinenumberEnd: 11373
    functionName: iclass
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - printf
    - dns_strclass
    - dns_iclass
    linkageType: ''
    returnType: int
    signature: int iclass(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_itype
      Src: /src/gnupg/dirmngr/dns.c:11381,1
    - Dst: dns_strtype
      Src: /src/gnupg/dirmngr/dns.c:11382,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/dns.c:11384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11387
      start: 11376
    functionDepth: 2
    functionLinenumber: 11376
    functionLinenumberEnd: 11387
    functionName: itype
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_itype
    - printf
    - dns_strtype
    linkageType: ''
    returnType: int
    signature: int itype(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_iopcode
      Src: /src/gnupg/dirmngr/dns.c:11394,1
    - Dst: dns_stropcode
      Src: /src/gnupg/dirmngr/dns.c:11395,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/dns.c:11397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11400
      start: 11390
    functionDepth: 4
    functionLinenumber: 11390
    functionLinenumberEnd: 11400
    functionName: iopcode
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_stropcode
    - dns_iopcode
    - printf
    linkageType: ''
    returnType: int
    signature: int iopcode(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ircode
      Src: /src/gnupg/dirmngr/dns.c:11407,1
    - Dst: dns_strrcode
      Src: /src/gnupg/dirmngr/dns.c:11408,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/dns.c:11410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11413
      start: 11403
    functionDepth: 4
    functionLinenumber: 11403
    functionLinenumberEnd: 11413
    functionName: ircode
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_strrcode
    - printf
    - dns_ircode
    linkageType: ''
    returnType: int
    signature: int ircode(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: 11417
      start: 11416
    functionDepth: 0
    functionLinenumber: 11416
    functionLinenumberEnd: 11417
    functionName: SIZE1
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIZE1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11418
      start: 11417
    functionDepth: 0
    functionLinenumber: 11417
    functionLinenumberEnd: 11418
    functionName: SIZE2
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIZE2(x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11419
      start: 11418
    functionDepth: 0
    functionLinenumber: 11418
    functionLinenumberEnd: 11419
    functionName: SIZE3
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIZE3(x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11420
      start: 11419
    functionDepth: 0
    functionLinenumber: 11419
    functionLinenumberEnd: 11420
    functionName: SIZE4
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIZE4(x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11421
      start: 11420
    functionDepth: 0
    functionLinenumber: 11420
    functionLinenumberEnd: 11421
    functionName: SIZE
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIZE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIZE
      Src: /src/gnupg/dirmngr/dns.c:11424,1
    - Dst: SIZE
      Src: /src/gnupg/dirmngr/dns.c:11425,1
    - Dst: SIZE
      Src: /src/gnupg/dirmngr/dns.c:11426,1
    - Dst: SIZE
      Src: /src/gnupg/dirmngr/dns.c:11427,1
    - Dst: SIZE
      Src: /src/gnupg/dirmngr/dns.c:11428,1
    - Dst: SIZE
      Src: /src/gnupg/dirmngr/dns.c:11429,1
    - Dst: SIZE
      Src: /src/gnupg/dirmngr/dns.c:11430,1
    - Dst: SIZE
      Src: /src/gnupg/dirmngr/dns.c:11430,1
    - Dst: SIZE
      Src: /src/gnupg/dirmngr/dns.c:11430,1
    - Dst: SIZE
      Src: /src/gnupg/dirmngr/dns.c:11430,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:11434,1
    - Dst: DNS_PP_MAX
      Src: /src/gnupg/dirmngr/dns.c:11435,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:11435,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:11437,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/dns.c:11438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - DNS_NOTUSED
    - DNS_NOTUSED
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11441
      start: 11422
    functionDepth: 1
    functionLinenumber: 11422
    functionLinenumberEnd: 11441
    functionName: sizes
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - printf
    - strlen
    - DNS_PP_MAX
    - lengthof
    - SIZE
    linkageType: ''
    returnType: int
    signature: int sizes(int argc DNS_NOTUSED, char *argv[] DNS_NOTUSED)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnupg/dirmngr/dns.c:11498,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/dns.c:11499,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:11501,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:11502,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:11503,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:11506,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:11507,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns.c:11509,1
    - Dst: putc
      Src: /src/gnupg/dirmngr/dns.c:11510,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/dns.c:11512,1
    - Dst: putc
      Src: /src/gnupg/dirmngr/dns.c:11513,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/dns.c:11516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - progname
    - fp
    argTypes:
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11517
      start: 11478
    functionDepth: 1
    functionLinenumber: 11478
    functionLinenumberEnd: 11517
    functionName: print_usage
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - strlen
    - fprintf
    - fputs
    - lengthof
    - putc
    linkageType: ''
    returnType: void
    signature: void print_usage(const char *progname, FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:11521,1
    - Dst: dns_v_rel
      Src: /src/gnupg/dirmngr/dns.c:11521,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:11522,1
    - Dst: dns_vendor
      Src: /src/gnupg/dirmngr/dns.c:11522,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:11523,1
    - Dst: dns_v_rel
      Src: /src/gnupg/dirmngr/dns.c:11523,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:11524,1
    - Dst: dns_v_abi
      Src: /src/gnupg/dirmngr/dns.c:11524,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/dns.c:11525,1
    - Dst: dns_v_api
      Src: /src/gnupg/dirmngr/dns.c:11525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - progname
    - fp
    argTypes:
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11526
      start: 11520
    functionDepth: 1
    functionLinenumber: 11520
    functionLinenumberEnd: 11526
    functionName: print_version
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 1
    functionsReached:
    - dns_vendor
    - fprintf
    - dns_v_abi
    - dns_v_rel
    - dns_v_api
    linkageType: ''
    returnType: void
    signature: void print_version(const char *progname, FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_trace_close
      Src: /src/gnupg/dirmngr/dns.c:11530,1
    - Dst: dns_hosts_close
      Src: /src/gnupg/dirmngr/dns.c:11532,1
    - Dst: dns_resconf_close
      Src: /src/gnupg/dirmngr/dns.c:11534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11536
      start: 11529
    functionDepth: 2
    functionLinenumber: 11529
    functionLinenumberEnd: 11536
    functionName: main_exit
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 0
    functionsReached:
    - dns_hosts_close
    - dns_trace_close
    - dns_resconf_close
    linkageType: ''
    returnType: void
    signature: void main_exit(void)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/gnupg/dirmngr/dns.c:11545,1
    - Dst: getopt
      Src: /src/gnupg/dirmngr/dns.c:11547,1
    - Dst: assert
      Src: /src/gnupg/dirmngr/dns.c:11550,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:11550,1
    - Dst: assert
      Src: /src/gnupg/dirmngr/dns.c:11556,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:11556,1
    - Dst: assert
      Src: /src/gnupg/dirmngr/dns.c:11562,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:11562,1
    - Dst: assert
      Src: /src/gnupg/dirmngr/dns.c:11568,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:11568,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:11578,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:11579,1
    - Dst: dns_isdigit
      Src: /src/gnupg/dirmngr/dns.c:11586,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11592,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:11596,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:11598,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/dns.c:11600,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11603,1
    - Dst: resconf
      Src: /src/gnupg/dirmngr/dns.c:11608,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/dns.c:11611,1
    - Dst: dns_pton
      Src: /src/gnupg/dirmngr/dns.c:11612,1
    - Dst: dns_sa_addr
      Src: /src/gnupg/dirmngr/dns.c:11613,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11615,1
    - Dst: dns_strerror
      Src: /src/gnupg/dirmngr/dns.c:11615,1
    - Dst: dns_sa_port
      Src: /src/gnupg/dirmngr/dns.c:11617,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:11617,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11623,1
    - Dst: dns_sa_port
      Src: /src/gnupg/dirmngr/dns.c:11624,1
    - Dst: htons
      Src: /src/gnupg/dirmngr/dns.c:11624,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/dns.c:11624,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11630,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/dns.c:11631,1
    - Dst: panic
      Src: /src/gnupg/dirmngr/dns.c:11632,1
    - Dst: print_version
      Src: /src/gnupg/dirmngr/dns.c:11648,1
    - Dst: print_usage
      Src: /src/gnupg/dirmngr/dns.c:11652,1
    - Dst: print_usage
      Src: /src/gnupg/dirmngr/dns.c:11656,1
    - Dst: lengthof
      Src: /src/gnupg/dirmngr/dns.c:11665,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dns.c:11666,1
    - Dst: run
      Src: /src/gnupg/dirmngr/dns.c:11667,1
    - Dst: print_usage
      Src: /src/gnupg/dirmngr/dns.c:11670,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 97
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (MAIN.resconf.count < lengthof(MAIN.resconf.path))
      pos:
        line_end: 11549
        line_start: 11549
        source_file: /src/gnupg/dirmngr/dns.c
    - condition: (MAIN.nssconf.count < lengthof(MAIN.nssconf.path))
      pos:
        line_end: 11555
        line_start: 11555
        source_file: /src/gnupg/dirmngr/dns.c
    - condition: (MAIN.hosts.count < lengthof(MAIN.hosts.path))
      pos:
        line_end: 11561
        line_start: 11561
        source_file: /src/gnupg/dirmngr/dns.c
    - condition: (MAIN.cache.count < lengthof(MAIN.cache.path))
      pos:
        line_end: 11567
        line_start: 11567
        source_file: /src/gnupg/dirmngr/dns.c
    constantsTouched: []
    func_position:
      end: 11673
      start: 11538
    functionDepth: 6
    functionLinenumber: 11538
    functionLinenumberEnd: 11673
    functionName: main
    functionSourceFile: /src/gnupg/dirmngr/dns.c
    functionUses: 11
    functionsReached:
    - resconf
    - dns_isdigit
    - htons
    - print_version
    - dns_sa_port
    - dns_sa_addr
    - dns_pton
    - run
    - getopt
    - assert
    - panic
    - strcmp
    - strchr
    - lengthof
    - print_usage
    - dns_strerror
    - atexit
    - atoi
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlfetch.c:75,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlfetch.c:75,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/dirmngr/crlfetch.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - reader
    - cb_ctx
    argTypes:
    - ksba_reader_t
    - struct reader_cb_context_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 78
    functionName: register_file_reader
    functionSourceFile: /src/gnupg/dirmngr/crlfetch.c
    functionUses: 0
    functionsReached:
    - gnupg_sleep
    - log_info
    - _
    linkageType: ''
    returnType: void
    signature: void register_file_reader (ksba_reader_t reader, struct reader_cb_context_s
      *cb_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - reader
    argTypes:
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: get_file_reader
    functionSourceFile: /src/gnupg/dirmngr/crlfetch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct reader_cb_context_s
    signature: 'struct reader_cb_context_s *

      get_file_reader (ksba_reader_t reader)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: es_read
      Src: /src/gnupg/dirmngr/crlfetch.c:107,1
    - Dst: es_feof
      Src: /src/gnupg/dirmngr/crlfetch.c:112,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:113,1
    - Dst: es_ferror
      Src: /src/gnupg/dirmngr/crlfetch.c:114,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:115,1
    - Dst: gpgrt_b64dec_start
      Src: /src/gnupg/dirmngr/crlfetch.c:129,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/crlfetch.c:131,1
    - Dst: gpgrt_b64dec_proc
      Src: /src/gnupg/dirmngr/crlfetch.c:138,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:142,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 4
    argNames:
    - opaque
    - buffer
    - nbytes
    - nread
    argTypes:
    - void*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 149
    functionName: my_es_read
    functionSourceFile: /src/gnupg/dirmngr/crlfetch.c
    functionUses: 0
    functionsReached:
    - gpgrt_b64dec_proc
    - gpgrt_b64dec_start
    - gpg_error_from_syserror
    - es_feof
    - gpg_error
    - es_read
    - es_ferror
    linkageType: ''
    returnType: int
    signature: int my_es_read (void *opaque, char *buffer, size_t nbytes, size_t *nread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:156,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlfetch.c:157,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlfetch.c:159,1
    - Dst: dirmngr_status_printf
      Src: /src/gnupg/dirmngr/crlfetch.c:160,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: no_crl_due_to_tor
    functionSourceFile: /src/gnupg/dirmngr/crlfetch.c
    functionUses: 0
    functionsReached:
    - dirmngr_status_printf
    - gpg_error
    - _
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t no_crl_due_to_tor (ctrl_t ctrl)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:178,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlfetch.c:181,1
    - Dst: http_parse_uri
      Src: /src/gnupg/dirmngr/crlfetch.c:183,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/crlfetch.c:184,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlfetch.c:189,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlfetch.c:189,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:191,1
    - Dst: ks_http_fetch
      Src: /src/gnupg/dirmngr/crlfetch.c:200,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlfetch.c:208,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlfetch.c:208,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlfetch.c:208,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/crlfetch.c:213,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/crlfetch.c:215,1
    - Dst: ksba_reader_new
      Src: /src/gnupg/dirmngr/crlfetch.c:216,1
    - Dst: ksba_reader_set_cb
      Src: /src/gnupg/dirmngr/crlfetch.c:219,1
    - Dst: register_file_reader
      Src: /src/gnupg/dirmngr/crlfetch.c:229,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlfetch.c:236,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlfetch.c:236,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlfetch.c:237,1
    - Dst: ksba_reader_release
      Src: /src/gnupg/dirmngr/crlfetch.c:238,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlfetch.c:240,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlfetch.c:248,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlfetch.c:248,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:250,1
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/crlfetch.c:252,1
    - Dst: no_crl_due_to_tor
      Src: /src/gnupg/dirmngr/crlfetch.c:254,1
    - Dst: url_fetch_ldap
      Src: /src/gnupg/dirmngr/crlfetch.c:259,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:261,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/crlfetch.c:266,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 3
    argNames:
    - ctrl
    - url
    - reader
    argTypes:
    - ctrl_t
    - char*
    - ksba_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 168
    functionDepth: 6
    functionLinenumber: 168
    functionLinenumberEnd: 268
    functionName: crl_fetch
    functionSourceFile: /src/gnupg/dirmngr/crlfetch.c
    functionUses: 1
    functionsReached:
    - ksba_reader_release
    - register_file_reader
    - http_release_parsed_uri
    - ks_http_fetch
    - log_error
    - _
    - ksba_reader_new
    - ksba_reader_set_cb
    - log_info
    - gpg_error_from_syserror
    - no_crl_due_to_tor
    - url_fetch_ldap
    - gpg_error
    - gpg_strerror
    - xfree
    - xtrycalloc
    - http_parse_uri
    - es_fclose
    - dirmngr_use_tor
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t crl_fetch (ctrl_t ctrl, const char *url, ksba_reader_t
      *reader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/crlfetch.c:276,1
    - Dst: no_crl_due_to_tor
      Src: /src/gnupg/dirmngr/crlfetch.c:278,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlfetch.c:282,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlfetch.c:282,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:284,1
    - Dst: attr_fetch_ldap
      Src: /src/gnupg/dirmngr/crlfetch.c:288,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ctrl
    - issuer
    - reader
    argTypes:
    - ctrl_t
    - char*
    - ksba_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 273
    functionDepth: 6
    functionLinenumber: 273
    functionLinenumberEnd: 296
    functionName: crl_fetch_default
    functionSourceFile: /src/gnupg/dirmngr/crlfetch.c
    functionUses: 0
    functionsReached:
    - log_error
    - no_crl_due_to_tor
    - dirmngr_use_tor
    - _
    - gpg_error
    - attr_fetch_ldap
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t crl_fetch_default (ctrl_t ctrl, const char *issuer, ksba_reader_t
      *reader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/crlfetch.c:306,1
    - Dst: no_crl_due_to_tor
      Src: /src/gnupg/dirmngr/crlfetch.c:308,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlfetch.c:312,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlfetch.c:312,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:314,1
    - Dst: start_cacert_fetch_ldap
      Src: /src/gnupg/dirmngr/crlfetch.c:317,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ctrl
    - context
    - dn
    argTypes:
    - ctrl_t
    - cert_fetch_context_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 303
    functionDepth: 6
    functionLinenumber: 303
    functionLinenumberEnd: 324
    functionName: ca_cert_fetch
    functionSourceFile: /src/gnupg/dirmngr/crlfetch.c
    functionUses: 1
    functionsReached:
    - log_error
    - no_crl_due_to_tor
    - dirmngr_use_tor
    - _
    - gpg_error
    - start_cacert_fetch_ldap
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ca_cert_fetch (ctrl_t ctrl, cert_fetch_context_t *context,
      const char *dn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/crlfetch.c:331,1
    - Dst: no_crl_due_to_tor
      Src: /src/gnupg/dirmngr/crlfetch.c:333,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlfetch.c:337,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlfetch.c:337,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:339,1
    - Dst: start_cert_fetch_ldap
      Src: /src/gnupg/dirmngr/crlfetch.c:342,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ctrl
    - context
    - patterns
    - server
    argTypes:
    - ctrl_t
    - cert_fetch_context_t*
    - strlist_t
    - ldap_server_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 327
    functionDepth: 5
    functionLinenumber: 327
    functionLinenumberEnd: 350
    functionName: start_cert_fetch
    functionSourceFile: /src/gnupg/dirmngr/crlfetch.c
    functionUses: 1
    functionsReached:
    - log_error
    - no_crl_due_to_tor
    - dirmngr_use_tor
    - _
    - gpg_error
    - start_cert_fetch_ldap
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t start_cert_fetch (ctrl_t ctrl, cert_fetch_context_t *context,\n
      \                 strlist_t patterns, const ldap_server_t server)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_next_cert_ldap
      Src: /src/gnupg/dirmngr/crlfetch.c:358,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - context
    - value
    - valuelen
    argTypes:
    - cert_fetch_context_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 353
    functionDepth: 4
    functionLinenumber: 353
    functionLinenumberEnd: 365
    functionName: fetch_next_cert
    functionSourceFile: /src/gnupg/dirmngr/crlfetch.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - fetch_next_cert_ldap
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t fetch_next_cert (cert_fetch_context_t context,\n                 unsigned
      char **value, size_t * valuelen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fetch_next_cert_ldap
      Src: /src/gnupg/dirmngr/crlfetch.c:381,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:383,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:386,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/dirmngr/crlfetch.c:391,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlfetch.c:394,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/dirmngr/crlfetch.c:398,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlfetch.c:399,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/crlfetch.c:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - context
    - r_cert
    argTypes:
    - cert_fetch_context_t
    - ksba_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 370
    functionDepth: 4
    functionLinenumber: 370
    functionLinenumberEnd: 407
    functionName: fetch_next_ksba_cert
    functionSourceFile: /src/gnupg/dirmngr/crlfetch.c
    functionUses: 1
    functionsReached:
    - ksba_cert_init_from_mem
    - fetch_next_cert_ldap
    - gpg_error
    - ksba_cert_release
    - xfree
    - ksba_cert_new
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t fetch_next_ksba_cert (cert_fetch_context_t context, ksba_cert_t
      *r_cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end_cert_fetch_ldap
      Src: /src/gnupg/dirmngr/crlfetch.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - cert_fetch_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 410
    functionDepth: 4
    functionLinenumber: 410
    functionLinenumberEnd: 418
    functionName: end_cert_fetch
    functionSourceFile: /src/gnupg/dirmngr/crlfetch.c
    functionUses: 2
    functionsReached:
    - end_cert_fetch_ldap
    linkageType: ''
    returnType: void
    signature: void end_cert_fetch (cert_fetch_context_t context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ks_http_fetch
      Src: /src/gnupg/dirmngr/crlfetch.c:432,1
    - Dst: es_fopenmem
      Src: /src/gnupg/dirmngr/crlfetch.c:437,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/crlfetch.c:440,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlfetch.c:441,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlfetch.c:441,1
    - Dst: es_read
      Src: /src/gnupg/dirmngr/crlfetch.c:447,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/crlfetch.c:449,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlfetch.c:450,1
    - Dst: es_fname_get
      Src: /src/gnupg/dirmngr/crlfetch.c:451,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlfetch.c:451,1
    - Dst: es_write
      Src: /src/gnupg/dirmngr/crlfetch.c:457,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/crlfetch.c:459,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlfetch.c:460,1
    - Dst: es_fname_get
      Src: /src/gnupg/dirmngr/crlfetch.c:461,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlfetch.c:461,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:466,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlfetch.c:467,1
    - Dst: es_fname_get
      Src: /src/gnupg/dirmngr/crlfetch.c:468,1
    - Dst: es_rewind
      Src: /src/gnupg/dirmngr/crlfetch.c:473,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/crlfetch.c:478,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/crlfetch.c:479,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - ctrl
    - url
    - r_fp
    argTypes:
    - ctrl_t
    - char*
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 481
    functionName: read_cert_via_http
    functionSourceFile: /src/gnupg/dirmngr/crlfetch.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - ks_http_fetch
    - es_fname_get
    - log_error
    - gpg_error_from_syserror
    - es_fclose
    - es_write
    - gpg_error
    - es_read
    - gpg_strerror
    - es_rewind
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_cert_via_http (ctrl_t ctrl, const char *url, estream_t
      *r_fp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_new
      Src: /src/gnupg/dirmngr/crlfetch.c:498,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/crlfetch.c:502,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/crlfetch.c:502,1
    - Dst: read_cert_via_http
      Src: /src/gnupg/dirmngr/crlfetch.c:508,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/dirmngr/crlfetch.c:512,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/crlfetch.c:514,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/dirmngr/crlfetch.c:518,1
    - Dst: es_free
      Src: /src/gnupg/dirmngr/crlfetch.c:519,1
    - Dst: url_fetch_ldap
      Src: /src/gnupg/dirmngr/crlfetch.c:526,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:530,1
    - Dst: ksba_cert_read_der
      Src: /src/gnupg/dirmngr/crlfetch.c:535,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/dirmngr/crlfetch.c:540,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlfetch.c:543,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/crlfetch.c:547,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/crlfetch.c:550,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/crlfetch.c:554,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/crlfetch.c:558,1
    - Dst: ldap_wrapper_release_context
      Src: /src/gnupg/dirmngr/crlfetch.c:560,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 4
    argNames:
    - ctrl
    - url
    - value
    - valuelen
    argTypes:
    - ctrl_t
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 485
    functionDepth: 6
    functionLinenumber: 485
    functionLinenumberEnd: 564
    functionName: fetch_cert_by_url
    functionSourceFile: /src/gnupg/dirmngr/crlfetch.c
    functionUses: 1
    functionsReached:
    - es_fclose_snatch
    - ksba_cert_init_from_mem
    - gpg_error_from_syserror
    - es_free
    - ldap_wrapper_release_context
    - read_cert_via_http
    - ksba_cert_get_image
    - url_fetch_ldap
    - gpg_error
    - ksba_cert_release
    - memcpy
    - strncmp
    - xtrymalloc
    - ksba_cert_new
    - ksba_cert_read_der
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t fetch_cert_by_url (ctrl_t ctrl, const char *url,\n\t\t
      \  unsigned char **value, size_t *valuelen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_file_reader
      Src: /src/gnupg/dirmngr/crlfetch.c:578,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/crlfetch.c:583,1
    - Dst: gpgrt_b64dec_finish
      Src: /src/gnupg/dirmngr/crlfetch.c:586,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlfetch.c:588,1
    - Dst: ldap_wrapper_release_context
      Src: /src/gnupg/dirmngr/crlfetch.c:593,1
    - Dst: ksba_reader_release
      Src: /src/gnupg/dirmngr/crlfetch.c:598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - reader
    argTypes:
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 569
    functionDepth: 3
    functionLinenumber: 569
    functionLinenumberEnd: 599
    functionName: crl_close_reader
    functionSourceFile: /src/gnupg/dirmngr/crlfetch.c
    functionUses: 1
    functionsReached:
    - get_file_reader
    - es_fclose
    - ldap_wrapper_release_context
    - ksba_reader_release
    - gpgrt_b64dec_finish
    - xfree
    linkageType: ''
    returnType: void
    signature: void crl_close_reader (ksba_reader_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: map_assuan_err
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: map_assuan_err(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 174
    functionName: struct
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: EXTERN_UNLESS_MAIN_MODULE
    signature: EXTERN_UNLESS_MAIN_MODULE struct
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:475,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:478,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:480,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 487
    functionName: my_strusage
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 0
    functionsReached:
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage( int level )'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dirmngr.c:501,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dirmngr.c:504,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/dirmngr/dirmngr.c:505,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dirmngr.c:508,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dirmngr.c:511,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/dirmngr/dirmngr.c:512,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dirmngr.c:516,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - arg
    - oid
    - buffer
    - length
    - resultsize
    - result
    - resultlen
    argTypes:
    - void*
    - char*
    - void*
    - size_t
    - size_t
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 518
    functionName: my_ksba_hash_buffer
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gpg_error
    - gcry_md_hash_buffer
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t my_ksba_hash_buffer (void *arg, const char *oid,\n                     const
      void *buffer, size_t length, size_t resultsize,\n                     unsigned
      char *result, size_t *resultlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dirmngr.c:528,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dirmngr.c:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - level
    - text
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 533
    functionName: my_gnutls_log
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 0
    functionsReached:
    - log_debug
    - strlen
    linkageType: ''
    returnType: void
    signature: void my_gnutls_log (int level, const char *text)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/dirmngr/dirmngr.c:543,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/dirmngr.c:544,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dirmngr.c:548,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dirmngr.c:550,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dirmngr.c:552,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dirmngr.c:554,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dirmngr.c:557,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:569,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:569,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:570,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:570,1
    - Dst: gcry_control
      Src: /src/gnupg/dirmngr/dirmngr.c:580,1
    - Dst: gcry_control
      Src: /src/gnupg/dirmngr/dirmngr.c:586,1
    - Dst: ntbtls_set_debug
      Src: /src/gnupg/dirmngr/dirmngr.c:591,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnupg/dirmngr/dirmngr.c:596,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnupg/dirmngr/dirmngr.c:597,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/dirmngr/dirmngr.c:602,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 603
    functionName: set_debug
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 11
    functionsReached:
    - atoi
    - gnutls_global_set_log_level
    - log_error
    - digitp
    - gnutls_global_set_log_function
    - gcry_control
    - _
    - strcmp
    - log_info
    - ntbtls_set_debug
    - parse_debug_flag
    linkageType: ''
    returnType: void
    signature: void set_debug (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/dirmngr.c:609,1
    - Dst: enable_dns_tormode
      Src: /src/gnupg/dirmngr/dirmngr.c:613,1
    - Dst: assuan_sock_set_flag
      Src: /src/gnupg/dirmngr/dirmngr.c:614,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:616,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:616,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:617,1
    - Dst: disable_dns_tormode
      Src: /src/gnupg/dirmngr/dirmngr.c:621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 622
    functionName: set_tor_mode
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 0
    functionsReached:
    - disable_dns_tormode
    - log_error
    - dirmngr_use_tor
    - enable_dns_tormode
    - log_info
    - assuan_sock_set_flag
    - strerror
    linkageType: ''
    returnType: void
    signature: void set_tor_mode (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_sock_connect_byname
      Src: /src/gnupg/dirmngr/dirmngr.c:634,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/dirmngr/dirmngr.c:640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 650
    functionName: dirmngr_use_tor
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 16
    functionsReached:
    - assuan_sock_connect_byname
    - assuan_sock_close
    linkageType: ''
    returnType: int
    signature: int dirmngr_use_tor (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 659
    functionName: dirmngr_never_use_tor_p
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dirmngr_never_use_tor_p (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/dirmngr.c:665,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:665,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/dirmngr.c:666,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/dirmngr.c:667,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/dirmngr.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 669
    functionName: wrong_args
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 7
    functionsReached:
    - dirmngr_exit
    - es_fprintf
    - es_putc
    - _
    - es_fputs
    linkageType: ''
    returnType: void
    signature: void wrong_args (const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ldap_wrapper_wait_connections
      Src: /src/gnupg/dirmngr/dirmngr.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 673
    functionDepth: 3
    functionLinenumber: 673
    functionLinenumberEnd: 679
    functionName: shutdown_reaper
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 0
    functionsReached:
    - ldap_wrapper_wait_connections
    linkageType: ''
    returnType: void
    signature: void shutdown_reaper (void)
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr.c:716,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr.c:722,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/dirmngr/dirmngr.c:725,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/dirmngr/dirmngr.c:726,1
    - Dst: http_register_tls_ca
      Src: /src/gnupg/dirmngr/dirmngr.c:727,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/dirmngr/dirmngr.c:728,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/dirmngr/dirmngr.c:729,1
    - Dst: enable_standard_resolver
      Src: /src/gnupg/dirmngr/dirmngr.c:734,1
    - Dst: set_dns_timeout
      Src: /src/gnupg/dirmngr/dirmngr.c:735,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr.c:741,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/dirmngr/dirmngr.c:752,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dirmngr.c:762,1
    - Dst: log_set_file
      Src: /src/gnupg/dirmngr/dirmngr.c:764,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr.c:765,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/dirmngr.c:766,1
    - Dst: parse_fingerprint_item
      Src: /src/gnupg/dirmngr/dirmngr.c:795,1
    - Dst: make_absfilename
      Src: /src/gnupg/dirmngr/dirmngr.c:811,1
    - Dst: http_register_tls_ca
      Src: /src/gnupg/dirmngr/dirmngr.c:812,1
    - Dst: add_to_strlist
      Src: /src/gnupg/dirmngr/dirmngr.c:813,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr.c:814,1
    - Dst: parse_fingerprint_item
      Src: /src/gnupg/dirmngr/dirmngr.c:821,1
    - Dst: add_to_strlist
      Src: /src/gnupg/dirmngr/dirmngr.c:837,1
    - Dst: add_to_strlist
      Src: /src/gnupg/dirmngr/dirmngr.c:841,1
    - Dst: enable_standard_resolver
      Src: /src/gnupg/dirmngr/dirmngr.c:852,1
    - Dst: enable_recursive_resolver
      Src: /src/gnupg/dirmngr/dirmngr.c:853,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/dirmngr.c:862,1
    - Dst: ldapserver_parse_one
      Src: /src/gnupg/dirmngr/dirmngr.c:865,1
    - Dst: ldapserver_list_free
      Src: /src/gnupg/dirmngr/dirmngr.c:871,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dirmngr.c:882,1
    - Dst: FREE_STRLIST
      Src: /src/gnupg/dirmngr/dirmngr.c:883,1
    - Dst: add_to_strlist
      Src: /src/gnupg/dirmngr/dirmngr.c:885,1
    - Dst: set_dns_nameserver
      Src: /src/gnupg/dirmngr/dirmngr.c:889,1
    - Dst: set_dns_timeout
      Src: /src/gnupg/dirmngr/dirmngr.c:893,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr.c:913,1
    - Dst: xstrdup
      Src: /src/gnupg/dirmngr/dirmngr.c:914,1
    - Dst: parse_compatibility_flags
      Src: /src/gnupg/dirmngr/dirmngr.c:918,1
    - Dst: strpbrk
      Src: /src/gnupg/dirmngr/dirmngr.c:927,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dirmngr.c:929,1
    - Dst: set_dns_verbose
      Src: /src/gnupg/dirmngr/dirmngr.c:939,1
    - Dst: http_set_verbose
      Src: /src/gnupg/dirmngr/dirmngr.c:940,1
    - Dst: set_dns_disable_ipv4
      Src: /src/gnupg/dirmngr/dirmngr.c:941,1
    - Dst: set_dns_disable_ipv6
      Src: /src/gnupg/dirmngr/dirmngr.c:942,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 248
    argCount: 2
    argNames:
    - pargs
    - reread
    argTypes:
    - gpgrt_argparse_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 687
    functionDepth: 3
    functionLinenumber: 687
    functionLinenumberEnd: 945
    functionName: parse_rereadable_options
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 4
    functionsReached:
    - parse_fingerprint_item
    - xstrdup
    - ldapserver_parse_one
    - make_absfilename
    - set_dns_verbose
    - parse_compatibility_flags
    - strncmp
    - enable_standard_resolver
    - parse_debug_flag
    - strpbrk
    - http_set_verbose
    - FREE_STRLIST
    - strcmp
    - xtrystrdup
    - enable_recursive_resolver
    - set_dns_disable_ipv4
    - xfree
    - set_dns_disable_ipv6
    - log_set_file
    - set_dns_timeout
    - set_dns_nameserver
    - add_to_strlist
    - http_register_tls_ca
    - ldapserver_list_free
    linkageType: ''
    returnType: int
    signature: int parse_rereadable_options (gpgrt_argparse_t *pargs, int reread)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: set_debug
      Src: /src/gnupg/dirmngr/dirmngr.c:958,1
    - Dst: set_tor_mode
      Src: /src/gnupg/dirmngr/dirmngr.c:968,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - enum cmd_and_opt_values
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 950
    functionDepth: 2
    functionLinenumber: 950
    functionLinenumberEnd: 971
    functionName: post_option_parsing
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 0
    functionsReached:
    - set_tor_mode
    - set_debug
    linkageType: ''
    returnType: void
    signature: void post_option_parsing (enum cmd_and_opt_values cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/dirmngr.c:980,1
    - Dst: npth_getspecific
      Src: /src/gnupg/dirmngr/dirmngr.c:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r_suffix
    argTypes:
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 984
    functionName: pid_suffix_callback
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 0
    functionsReached:
    - npth_getspecific
    - memset
    linkageType: ''
    returnType: int
    signature: int pid_suffix_callback (unsigned long *r_suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_logv_prefix
      Src: /src/gnupg/dirmngr/dirmngr.c:994,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/dirmngr.c:998,1
    - Dst: log_logv_prefix
      Src: /src/gnupg/dirmngr/dirmngr.c:999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - opaque
    - level
    - fmt
    - argv
    argTypes:
    - void*
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1001
    functionName: my_ntbtls_log_handler
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 0
    functionsReached:
    - log_logv_prefix
    - snprintf
    linkageType: ''
    returnType: void
    signature: void my_ntbtls_log_handler (void *opaque, int level, const char *fmt,
      va_list argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: npth_init
      Src: /src/gnupg/dirmngr/dirmngr.c:1014,1
    - Dst: npth_key_create
      Src: /src/gnupg/dirmngr/dirmngr.c:1019,1
    - Dst: npth_setspecific
      Src: /src/gnupg/dirmngr/dirmngr.c:1020,1
    - Dst: log_set_pid_suffix_cb
      Src: /src/gnupg/dirmngr/dirmngr.c:1021,1
    - Dst: gpgrt_set_syscall_clamp
      Src: /src/gnupg/dirmngr/dirmngr.c:1024,1
    - Dst: gcry_control
      Src: /src/gnupg/dirmngr/dirmngr.c:1031,1
    - Dst: assuan_control
      Src: /src/gnupg/dirmngr/dirmngr.c:1032,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1033
    functionName: dirmngr_thread_init
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 0
    functionsReached:
    - gpgrt_set_syscall_clamp
    - npth_key_create
    - gcry_control
    - npth_init
    - log_set_pid_suffix_cb
    - assuan_control
    - npth_setspecific
    linkageType: ''
    returnType: void
    signature: void dirmngr_thread_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dirmngr_thread_init
      Src: /src/gnupg/dirmngr/dirmngr.c:1039,1
    - Dst: cert_cache_init
      Src: /src/gnupg/dirmngr/dirmngr.c:1040,1
    - Dst: crl_cache_init
      Src: /src/gnupg/dirmngr/dirmngr.c:1041,1
    - Dst: ks_hkp_init
      Src: /src/gnupg/dirmngr/dirmngr.c:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1036
    functionDepth: 7
    functionLinenumber: 1036
    functionLinenumberEnd: 1043
    functionName: initialize_modules
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 2
    functionsReached:
    - crl_cache_init
    - ks_hkp_init
    - dirmngr_thread_init
    - cert_cache_init
    linkageType: ''
    returnType: void
    signature: void initialize_modules (void)
  - BBCount: 95
    BranchProfiles: []
    Callsites:
    - Dst: early_system_init
      Src: /src/gnupg/dirmngr/dirmngr.c:1070,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/dirmngr/dirmngr.c:1071,1
    - Dst: log_set_prefix
      Src: /src/gnupg/dirmngr/dirmngr.c:1072,1
    - Dst: i18n_init
      Src: /src/gnupg/dirmngr/dirmngr.c:1075,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/dirmngr/dirmngr.c:1076,1
    - Dst: gcry_control
      Src: /src/gnupg/dirmngr/dirmngr.c:1078,1
    - Dst: ksba_check_version
      Src: /src/gnupg/dirmngr/dirmngr.c:1082,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/dirmngr.c:1083,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1083,1
    - Dst: ksba_check_version
      Src: /src/gnupg/dirmngr/dirmngr.c:1084,1
    - Dst: ksba_set_malloc_hooks
      Src: /src/gnupg/dirmngr/dirmngr.c:1086,1
    - Dst: ksba_set_hash_buffer_function
      Src: /src/gnupg/dirmngr/dirmngr.c:1087,1
    - Dst: ntbtls_check_version
      Src: /src/gnupg/dirmngr/dirmngr.c:1091,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/dirmngr.c:1092,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1092,1
    - Dst: ntbtls_check_version
      Src: /src/gnupg/dirmngr/dirmngr.c:1093,1
    - Dst: gnutls_global_init
      Src: /src/gnupg/dirmngr/dirmngr.c:1095,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/dirmngr.c:1097,1
    - Dst: gnutls_strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:1097,1
    - Dst: assuan_set_malloc_hooks
      Src: /src/gnupg/dirmngr/dirmngr.c:1104,1
    - Dst: assuan_set_assuan_log_prefix
      Src: /src/gnupg/dirmngr/dirmngr.c:1105,1
    - Dst: log_get_prefix
      Src: /src/gnupg/dirmngr/dirmngr.c:1105,1
    - Dst: assuan_set_gpg_err_source
      Src: /src/gnupg/dirmngr/dirmngr.c:1106,1
    - Dst: assuan_sock_init
      Src: /src/gnupg/dirmngr/dirmngr.c:1107,1
    - Dst: setup_libassuan_logging
      Src: /src/gnupg/dirmngr/dirmngr.c:1108,1
    - Dst: setup_libgcrypt_logging
      Src: /src/gnupg/dirmngr/dirmngr.c:1110,1
    - Dst: ntbtls_set_log_handler
      Src: /src/gnupg/dirmngr/dirmngr.c:1113,1
    - Dst: getenv
      Src: /src/gnupg/dirmngr/dirmngr.c:1117,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dirmngr.c:1118,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dirmngr.c:1118,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dirmngr.c:1118,1
    - Dst: parse_rereadable_options
      Src: /src/gnupg/dirmngr/dirmngr.c:1122,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/dirmngr/dirmngr.c:1140,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/dirmngr/dirmngr.c:1149,1
    - Dst: dirmngr_socket_name
      Src: /src/gnupg/dirmngr/dirmngr.c:1156,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/dirmngr/dirmngr.c:1159,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/dirmngr/dirmngr.c:1159,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/dirmngr/dirmngr.c:1160,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/dirmngr/dirmngr.c:1160,1
    - Dst: gpgrt_argparser
      Src: /src/gnupg/dirmngr/dirmngr.c:1172,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:1177,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1177,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr.c:1181,1
    - Dst: xstrdup
      Src: /src/gnupg/dirmngr/dirmngr.c:1182,1
    - Dst: parse_rereadable_options
      Src: /src/gnupg/dirmngr/dirmngr.c:1189,1
    - Dst: isotime2epoch
      Src: /src/gnupg/dirmngr/dirmngr.c:1230,1
    - Dst: strtoul
      Src: /src/gnupg/dirmngr/dirmngr.c:1232,1
    - Dst: gnupg_set_time
      Src: /src/gnupg/dirmngr/dirmngr.c:1233,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/dirmngr/dirmngr.c:1253,1
    - Dst: gpgrt_fnameconcat
      Src: /src/gnupg/dirmngr/dirmngr.c:1256,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/dirmngr/dirmngr.c:1256,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/dirmngr/dirmngr.c:1265,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/dirmngr.c:1266,1
    - Dst: parse_comopt
      Src: /src/gnupg/dirmngr/dirmngr.c:1269,1
    - Dst: xstrdup
      Src: /src/gnupg/dirmngr/dirmngr.c:1279,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/dirmngr/dirmngr.c:1279,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/dirmngr.c:1283,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/dirmngr/dirmngr.c:1284,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/dirmngr/dirmngr.c:1284,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/dirmngr/dirmngr.c:1284,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/dirmngr.c:1285,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/dirmngr/dirmngr.c:1285,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:1289,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:1299,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1299,1
    - Dst: gnupg_access
      Src: /src/gnupg/dirmngr/dirmngr.c:1302,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/dirmngr.c:1303,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/dirmngr/dirmngr.c:1303,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:1304,1
    - Dst: gnupg_faked_time_p
      Src: /src/gnupg/dirmngr/dirmngr.c:1310,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:1314,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1314,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/dirmngr/dirmngr.c:1315,1
    - Dst: dump_isotime
      Src: /src/gnupg/dirmngr/dirmngr.c:1316,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/dirmngr.c:1317,1
    - Dst: post_option_parsing
      Src: /src/gnupg/dirmngr/dirmngr.c:1320,1
    - Dst: make_filename
      Src: /src/gnupg/dirmngr/dirmngr.c:1328,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/dirmngr/dirmngr.c:1328,1
    - Dst: parse_ldapserver_file
      Src: /src/gnupg/dirmngr/dirmngr.c:1331,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr.c:1332,1
    - Dst: parse_ldapserver_file
      Src: /src/gnupg/dirmngr/dirmngr.c:1335,1
    - Dst: signal
      Src: /src/gnupg/dirmngr/dirmngr.c:1343,1
    - Dst: wrong_args
      Src: /src/gnupg/dirmngr/dirmngr.c:1355,1
    - Dst: log_set_file
      Src: /src/gnupg/dirmngr/dirmngr.c:1359,1
    - Dst: log_set_prefix
      Src: /src/gnupg/dirmngr/dirmngr.c:1360,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dirmngr.c:1365,1
    - Dst: getpid
      Src: /src/gnupg/dirmngr/dirmngr.c:1366,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/dirmngr/dirmngr.c:1367,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dirmngr.c:1368,1
    - Dst: initialize_modules
      Src: /src/gnupg/dirmngr/dirmngr.c:1371,1
    - Dst: http_register_netactivity_cb
      Src: /src/gnupg/dirmngr/dirmngr.c:1372,1
    - Dst: start_command_handler
      Src: /src/gnupg/dirmngr/dirmngr.c:1374,1
    - Dst: shutdown_reaper
      Src: /src/gnupg/dirmngr/dirmngr.c:1375,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:1383,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1383,1
    - Dst: fstat
      Src: /src/gnupg/dirmngr/dirmngr.c:1392,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1394,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/dirmngr.c:1395,1
    - Dst: gnupg_get_socket_name
      Src: /src/gnupg/dirmngr/dirmngr.c:1397,1
    - Dst: log_set_file
      Src: /src/gnupg/dirmngr/dirmngr.c:1402,1
    - Dst: log_set_prefix
      Src: /src/gnupg/dirmngr/dirmngr.c:1403,1
    - Dst: xstrdup
      Src: /src/gnupg/dirmngr/dirmngr.c:1406,1
    - Dst: log_set_prefix
      Src: /src/gnupg/dirmngr/dirmngr.c:1409,1
    - Dst: initialize_modules
      Src: /src/gnupg/dirmngr/dirmngr.c:1411,1
    - Dst: http_register_netactivity_cb
      Src: /src/gnupg/dirmngr/dirmngr.c:1412,1
    - Dst: handle_connections
      Src: /src/gnupg/dirmngr/dirmngr.c:1413,1
    - Dst: shutdown_reaper
      Src: /src/gnupg/dirmngr/dirmngr.c:1414,1
    - Dst: wrong_args
      Src: /src/gnupg/dirmngr/dirmngr.c:1425,1
    - Dst: log_set_file
      Src: /src/gnupg/dirmngr/dirmngr.c:1430,1
    - Dst: log_set_prefix
      Src: /src/gnupg/dirmngr/dirmngr.c:1431,1
    - Dst: xstrdup
      Src: /src/gnupg/dirmngr/dirmngr.c:1434,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dirmngr.c:1439,1
    - Dst: getpid
      Src: /src/gnupg/dirmngr/dirmngr.c:1440,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/dirmngr/dirmngr.c:1441,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dirmngr.c:1442,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/dirmngr.c:1446,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1448,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1448,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/dirmngr.c:1449,1
    - Dst: assuan_sock_new
      Src: /src/gnupg/dirmngr/dirmngr.c:1452,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1455,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1455,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:1455,1
    - Dst: cleanup
      Src: /src/gnupg/dirmngr/dirmngr.c:1456,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/dirmngr.c:1457,1
    - Dst: assuan_sock_set_sockaddr_un
      Src: /src/gnupg/dirmngr/dirmngr.c:1463,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1468,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1468,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1470,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:1472,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dirmngr.c:1472,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/dirmngr.c:1473,1
    - Dst: xstrdup
      Src: /src/gnupg/dirmngr/dirmngr.c:1477,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:1479,1
    - Dst: SUN_LEN
      Src: /src/gnupg/dirmngr/dirmngr.c:1484,1
    - Dst: assuan_sock_bind
      Src: /src/gnupg/dirmngr/dirmngr.c:1486,1
    - Dst: gnupg_remove
      Src: /src/gnupg/dirmngr/dirmngr.c:1499,1
    - Dst: assuan_sock_bind
      Src: /src/gnupg/dirmngr/dirmngr.c:1500,1
    - Dst: assuan_sock_get_nonce
      Src: /src/gnupg/dirmngr/dirmngr.c:1503,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1504,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1504,1
    - Dst: log_libassuan_system_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1507,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1508,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1508,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:1510,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dirmngr.c:1510,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/dirmngr/dirmngr.c:1511,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/dirmngr.c:1512,1
    - Dst: gnupg_chmod
      Src: /src/gnupg/dirmngr/dirmngr.c:1516,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1517,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1517,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:1518,1
    - Dst: listen
      Src: /src/gnupg/dirmngr/dirmngr.c:1520,1
    - Dst: FD2INT
      Src: /src/gnupg/dirmngr/dirmngr.c:1520,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1522,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:1523,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/dirmngr/dirmngr.c:1524,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/dirmngr.c:1525,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:1529,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1529,1
    - Dst: es_fflush
      Src: /src/gnupg/dirmngr/dirmngr.c:1531,1
    - Dst: getpid
      Src: /src/gnupg/dirmngr/dirmngr.c:1540,1
    - Dst: es_printf
      Src: /src/gnupg/dirmngr/dirmngr.c:1541,1
    - Dst: w32_ack_to_frontend
      Src: /src/gnupg/dirmngr/dirmngr.c:1543,1
    - Dst: fork
      Src: /src/gnupg/dirmngr/dirmngr.c:1545,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/dirmngr.c:1548,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1548,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:1548,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/dirmngr.c:1549,1
    - Dst: close
      Src: /src/gnupg/dirmngr/dirmngr.c:1560,1
    - Dst: asprintf
      Src: /src/gnupg/dirmngr/dirmngr.c:1563,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1566,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1566,1
    - Dst: kill
      Src: /src/gnupg/dirmngr/dirmngr.c:1567,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/dirmngr.c:1568,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/dirmngr.c:1574,1
    - Dst: es_printf
      Src: /src/gnupg/dirmngr/dirmngr.c:1575,1
    - Dst: es_printf
      Src: /src/gnupg/dirmngr/dirmngr.c:1579,1
    - Dst: free
      Src: /src/gnupg/dirmngr/dirmngr.c:1581,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/dirmngr.c:1582,1
    - Dst: log_test_fd
      Src: /src/gnupg/dirmngr/dirmngr.c:1600,1
    - Dst: close
      Src: /src/gnupg/dirmngr/dirmngr.c:1602,1
    - Dst: open
      Src: /src/gnupg/dirmngr/dirmngr.c:1603,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1605,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:1606,1
    - Dst: cleanup
      Src: /src/gnupg/dirmngr/dirmngr.c:1607,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/dirmngr.c:1608,1
    - Dst: setsid
      Src: /src/gnupg/dirmngr/dirmngr.c:1613,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1615,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:1615,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/dirmngr.c:1616,1
    - Dst: log_get_prefix
      Src: /src/gnupg/dirmngr/dirmngr.c:1619,1
    - Dst: log_set_prefix
      Src: /src/gnupg/dirmngr/dirmngr.c:1620,1
    - Dst: gnupg_chdir
      Src: /src/gnupg/dirmngr/dirmngr.c:1628,1
    - Dst: gnupg_daemon_rootdir
      Src: /src/gnupg/dirmngr/dirmngr.c:1628,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1630,1
    - Dst: gnupg_daemon_rootdir
      Src: /src/gnupg/dirmngr/dirmngr.c:1631,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:1631,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/dirmngr.c:1632,1
    - Dst: initialize_modules
      Src: /src/gnupg/dirmngr/dirmngr.c:1636,1
    - Dst: http_register_netactivity_cb
      Src: /src/gnupg/dirmngr/dirmngr.c:1637,1
    - Dst: handle_connections
      Src: /src/gnupg/dirmngr/dirmngr.c:1639,1
    - Dst: shutdown_reaper
      Src: /src/gnupg/dirmngr/dirmngr.c:1640,1
    - Dst: wrong_args
      Src: /src/gnupg/dirmngr/dirmngr.c:1646,1
    - Dst: crl_cache_init
      Src: /src/gnupg/dirmngr/dirmngr.c:1647,1
    - Dst: crl_cache_list
      Src: /src/gnupg/dirmngr/dirmngr.c:1648,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dirmngr.c:1654,1
    - Dst: dirmngr_init_default_ctrl
      Src: /src/gnupg/dirmngr/dirmngr.c:1655,1
    - Dst: initialize_modules
      Src: /src/gnupg/dirmngr/dirmngr.c:1657,1
    - Dst: crl_cache_load
      Src: /src/gnupg/dirmngr/dirmngr.c:1660,1
    - Dst: crl_cache_load
      Src: /src/gnupg/dirmngr/dirmngr.c:1664,1
    - Dst: dirmngr_deinit_default_ctrl
      Src: /src/gnupg/dirmngr/dirmngr.c:1666,1
    - Dst: wrong_args
      Src: /src/gnupg/dirmngr/dirmngr.c:1674,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dirmngr.c:1676,1
    - Dst: dirmngr_init_default_ctrl
      Src: /src/gnupg/dirmngr/dirmngr.c:1677,1
    - Dst: initialize_modules
      Src: /src/gnupg/dirmngr/dirmngr.c:1679,1
    - Dst: crl_fetch
      Src: /src/gnupg/dirmngr/dirmngr.c:1681,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1683,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1683,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:1684,1
    - Dst: crl_cache_insert
      Src: /src/gnupg/dirmngr/dirmngr.c:1687,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1689,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1689,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:1690,1
    - Dst: crl_close_reader
      Src: /src/gnupg/dirmngr/dirmngr.c:1691,1
    - Dst: dirmngr_deinit_default_ctrl
      Src: /src/gnupg/dirmngr/dirmngr.c:1693,1
    - Dst: wrong_args
      Src: /src/gnupg/dirmngr/dirmngr.c:1699,1
    - Dst: crl_cache_flush
      Src: /src/gnupg/dirmngr/dirmngr.c:1700,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/dirmngr.c:1703,1
    - Dst: es_printf
      Src: /src/gnupg/dirmngr/dirmngr.c:1709,1
    - Dst: es_printf
      Src: /src/gnupg/dirmngr/dirmngr.c:1710,1
    - Dst: es_printf
      Src: /src/gnupg/dirmngr/dirmngr.c:1712,1
    - Dst: percent_escape
      Src: /src/gnupg/dirmngr/dirmngr.c:1715,1
    - Dst: get_default_keyserver
      Src: /src/gnupg/dirmngr/dirmngr.c:1715,1
    - Dst: es_printf
      Src: /src/gnupg/dirmngr/dirmngr.c:1716,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr.c:1718,1
    - Dst: es_printf
      Src: /src/gnupg/dirmngr/dirmngr.c:1720,1
    - Dst: gpgconf_versions
      Src: /src/gnupg/dirmngr/dirmngr.c:1724,1
    - Dst: cleanup
      Src: /src/gnupg/dirmngr/dirmngr.c:1726,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 395
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1047
    functionDepth: 8
    functionLinenumber: 1047
    functionLinenumberEnd: 1728
    functionName: main
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 11
    functionsReached:
    - es_fprintf
    - gnupg_homedir
    - start_command_handler
    - xstrdup
    - http_register_netactivity_cb
    - gpgrt_set_strusage
    - w32_ack_to_frontend
    - parse_rereadable_options
    - gnutls_global_init
    - asprintf
    - xfree
    - crl_cache_flush
    - getpid
    - ntbtls_set_log_handler
    - log_fatal
    - parse_comopt
    - gpgconf_versions
    - gpgrt_set_confdir
    - dirmngr_init_default_ctrl
    - shutdown_reaper
    - gnupg_remove
    - isotime2epoch
    - gpgrt_fnameconcat
    - strlen
    - exit
    - gpgrt_argparser
    - setsid
    - log_get_prefix
    - fork
    - log_error
    - early_system_init
    - log_test_fd
    - dirmngr_socket_name
    - log_get_errorcount
    - dump_isotime
    - gnupg_faked_time_p
    - handle_connections
    - strncmp
    - crl_close_reader
    - gnutls_strerror
    - crl_cache_list
    - assuan_set_assuan_log_prefix
    - memset
    - i18n_init
    - parse_ldapserver_file
    - open
    - getenv
    - assuan_set_gpg_err_source
    - assuan_sock_init
    - SUN_LEN
    - gnupg_chdir
    - init_common_subsystems
    - initialize_modules
    - dirmngr_deinit_default_ctrl
    - ksba_set_hash_buffer_function
    - assuan_set_malloc_hooks
    - assuan_sock_new
    - ntbtls_check_version
    - gnupg_set_homedir
    - log_set_prefix
    - close
    - listen
    - kill
    - ksba_set_malloc_hooks
    - gnupg_sleep
    - gpgrt_strusage
    - gpg_error_from_syserror
    - cleanup
    - assuan_sock_close
    - strchr
    - ksba_check_version
    - wrong_args
    - crl_fetch
    - gnupg_sysconfdir
    - assuan_sock_set_sockaddr_un
    - gnupg_set_time
    - percent_escape
    - make_filename
    - dirmngr_exit
    - get_default_keyserver
    - es_printf
    - assuan_sock_bind
    - strerror
    - free
    - FD2INT
    - fstat
    - gnupg_get_socket_name
    - es_fflush
    - gnupg_daemon_rootdir
    - post_option_parsing
    - assuan_sock_get_nonce
    - _
    - gnupg_access
    - log_info
    - crl_cache_init
    - strtoul
    - log_printf
    - log_debug
    - setup_libgcrypt_logging
    - crl_cache_insert
    - gcry_control
    - strcmp
    - gnupg_get_isotime
    - gpg_strerror
    - signal
    - gpgrt_argparse
    - log_set_file
    - gnupg_chmod
    - crl_cache_load
    - setup_libassuan_logging
    - log_libassuan_system_error
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: crl_cache_deinit
      Src: /src/gnupg/dirmngr/dirmngr.c:1734,1
    - Dst: cert_cache_deinit
      Src: /src/gnupg/dirmngr/dirmngr.c:1735,1
    - Dst: reload_dns_stuff
      Src: /src/gnupg/dirmngr/dirmngr.c:1736,1
    - Dst: ldapserver_list_free
      Src: /src/gnupg/dirmngr/dirmngr.c:1739,1
    - Dst: gnupg_remove
      Src: /src/gnupg/dirmngr/dirmngr.c:1747,1
    - Dst: gnupg_remove
      Src: /src/gnupg/dirmngr/dirmngr.c:1749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1731
    functionDepth: 6
    functionLinenumber: 1731
    functionLinenumberEnd: 1751
    functionName: cleanup
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 22
    functionsReached:
    - crl_cache_deinit
    - ldapserver_list_free
    - reload_dns_stuff
    - gnupg_remove
    - cert_cache_deinit
    linkageType: ''
    returnType: void
    signature: void cleanup (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/gnupg/dirmngr/dirmngr.c:1757,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/dirmngr.c:1758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1759
    functionName: dirmngr_exit
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 4
    functionsReached:
    - exit
    - cleanup
    linkageType: ''
    returnType: void
    signature: void dirmngr_exit (int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnupg/dirmngr/dirmngr.c:1767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1770
    functionName: dirmngr_init_default_ctrl
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 3
    functionsReached:
    - xstrdup
    linkageType: ''
    returnType: void
    signature: void dirmngr_init_default_ctrl (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr.c:1780,1
    - Dst: nvc_release
      Src: /src/gnupg/dirmngr/dirmngr.c:1782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1773
    functionDepth: 1
    functionLinenumber: 1773
    functionLinenumberEnd: 1784
    functionName: dirmngr_deinit_default_ctrl
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 3
    functionsReached:
    - nvc_release
    - xfree
    linkageType: ''
    returnType: void
    signature: void dirmngr_deinit_default_ctrl (ctrl_t ctrl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/dirmngr/dirmngr.c:1812,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/dirmngr/dirmngr.c:1815,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:1818,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:1818,1
    - Dst: es_fgets
      Src: /src/gnupg/dirmngr/dirmngr.c:1824,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dirmngr.c:1827,1
    - Dst: es_feof
      Src: /src/gnupg/dirmngr/dirmngr.c:1829,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1833,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1833,1
    - Dst: es_fgetc
      Src: /src/gnupg/dirmngr/dirmngr.c:1835,1
    - Dst: spacep
      Src: /src/gnupg/dirmngr/dirmngr.c:1841,1
    - Dst: ldapserver_parse_one
      Src: /src/gnupg/dirmngr/dirmngr.c:1847,1
    - Dst: es_ferror
      Src: /src/gnupg/dirmngr/dirmngr.c:1855,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1856,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1856,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:1856,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/dirmngr.c:1857,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 2
    argNames:
    - filename
    - ignore_enoent
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1802
    functionDepth: 2
    functionLinenumber: 1802
    functionLinenumberEnd: 1860
    functionName: parse_ldapserver_file
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 1
    functionsReached:
    - gpg_err_code_from_syserror
    - strlen
    - log_error
    - es_fclose
    - es_fgets
    - spacep
    - _
    - es_feof
    - log_info
    - es_fopen
    - es_ferror
    - es_fgetc
    - ldapserver_parse_one
    - strerror
    linkageType: ''
    returnType: ldap_server_t
    signature: ldap_server_t parse_ldapserver_file (const char* filename, int ignore_enoent)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/gnupg/dirmngr/dirmngr.c:1884,1
    - Dst: xcalloc
      Src: /src/gnupg/dirmngr/dirmngr.c:1886,1
    - Dst: hexdigitp
      Src: /src/gnupg/dirmngr/dirmngr.c:1887,1
    - Dst: spacep
      Src: /src/gnupg/dirmngr/dirmngr.c:1891,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1893,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1893,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr.c:1895,1
    - Dst: hex2bin
      Src: /src/gnupg/dirmngr/dirmngr.c:1901,1
    - Dst: make_filename
      Src: /src/gnupg/dirmngr/dirmngr.c:1908,1
    - Dst: make_filename
      Src: /src/gnupg/dirmngr/dirmngr.c:1913,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/dirmngr/dirmngr.c:1913,1
    - Dst: es_fopen
      Src: /src/gnupg/dirmngr/dirmngr.c:1916,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dirmngr.c:1919,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1920,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1920,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:1920,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr.c:1921,1
    - Dst: es_fgets
      Src: /src/gnupg/dirmngr/dirmngr.c:1929,1
    - Dst: DIM
      Src: /src/gnupg/dirmngr/dirmngr.c:1929,1
    - Dst: es_feof
      Src: /src/gnupg/dirmngr/dirmngr.c:1931,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dirmngr.c:1933,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1934,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1934,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:1935,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/dirmngr.c:1938,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr.c:1944,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr.c:1948,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dirmngr.c:1953,1
    - Dst: es_getc
      Src: /src/gnupg/dirmngr/dirmngr.c:1956,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1958,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1960,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1960,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:1961,1
    - Dst: spacep
      Src: /src/gnupg/dirmngr/dirmngr.c:1967,1
    - Dst: xcalloc
      Src: /src/gnupg/dirmngr/dirmngr.c:1972,1
    - Dst: hexdigitp
      Src: /src/gnupg/dirmngr/dirmngr.c:1976,1
    - Dst: spacep
      Src: /src/gnupg/dirmngr/dirmngr.c:1980,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:1982,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1982,1
    - Dst: hex2bin
      Src: /src/gnupg/dirmngr/dirmngr.c:1988,1
    - Dst: spacep
      Src: /src/gnupg/dirmngr/dirmngr.c:1992,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:1995,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:1995,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 84
    argCount: 3
    argNames:
    - string
    - optionname
    - want_binary
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1867
    functionDepth: 5
    functionLinenumber: 1867
    functionLinenumberEnd: 1998
    functionName: parse_fingerprint_item
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 1
    functionsReached:
    - strlen
    - gnupg_homedir
    - es_fopen
    - log_error
    - es_fgets
    - DIM
    - _
    - es_feof
    - hex2bin
    - log_info
    - strpbrk
    - hexdigitp
    - gpg_error_from_syserror
    - spacep
    - gpg_error
    - xfree
    - gpg_strerror
    - es_getc
    - make_filename
    - es_fclose
    - xcalloc
    linkageType: ''
    returnType: fingerprint_list_t
    signature: "fingerprint_list_t parse_fingerprint_item (const char *string,\n                        const
      char *optionname, int want_binary)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strconcat
      Src: /src/gnupg/dirmngr/dirmngr.c:2029,1
    - Dst: parse_rereadable_options
      Src: /src/gnupg/dirmngr/dirmngr.c:2034,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dirmngr.c:2036,1
    - Dst: gpgrt_argparser
      Src: /src/gnupg/dirmngr/dirmngr.c:2042,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2046,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:2046,1
    - Dst: parse_rereadable_options
      Src: /src/gnupg/dirmngr/dirmngr.c:2055,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/dirmngr/dirmngr.c:2058,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr.c:2059,1
    - Dst: post_option_parsing
      Src: /src/gnupg/dirmngr/dirmngr.c:2060,1
    - Dst: parse_comopt
      Src: /src/gnupg/dirmngr/dirmngr.c:2064,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dirmngr.c:2067,1
    - Dst: log_set_file
      Src: /src/gnupg/dirmngr/dirmngr.c:2069,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dirmngr.c:2070,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/dirmngr.c:2071,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 2018
    functionDepth: 4
    functionLinenumber: 2018
    functionLinenumberEnd: 2074
    functionName: reread_configuration
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 2
    functionsReached:
    - post_option_parsing
    - parse_comopt
    - gpgrt_argparser
    - strconcat
    - _
    - strcmp
    - xtrystrdup
    - log_info
    - memset
    - xfree
    - gpgrt_argparse
    - parse_rereadable_options
    - log_set_file
    linkageType: ''
    returnType: void
    signature: void reread_configuration (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2082,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:2082,1
    - Dst: reread_configuration
      Src: /src/gnupg/dirmngr/dirmngr.c:2084,1
    - Dst: set_tor_mode
      Src: /src/gnupg/dirmngr/dirmngr.c:2085,1
    - Dst: cert_cache_deinit
      Src: /src/gnupg/dirmngr/dirmngr.c:2086,1
    - Dst: crl_cache_deinit
      Src: /src/gnupg/dirmngr/dirmngr.c:2087,1
    - Dst: cert_cache_init
      Src: /src/gnupg/dirmngr/dirmngr.c:2088,1
    - Dst: crl_cache_init
      Src: /src/gnupg/dirmngr/dirmngr.c:2089,1
    - Dst: http_reinitialize
      Src: /src/gnupg/dirmngr/dirmngr.c:2090,1
    - Dst: reload_dns_stuff
      Src: /src/gnupg/dirmngr/dirmngr.c:2091,1
    - Dst: ks_hkp_reload
      Src: /src/gnupg/dirmngr/dirmngr.c:2092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2079
    functionDepth: 7
    functionLinenumber: 2079
    functionLinenumberEnd: 2093
    functionName: dirmngr_sighup_action
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 1
    functionsReached:
    - ks_hkp_reload
    - reread_configuration
    - http_reinitialize
    - set_tor_mode
    - _
    - log_info
    - cert_cache_init
    - crl_cache_deinit
    - crl_cache_init
    - cert_cache_deinit
    - reload_dns_stuff
    linkageType: ''
    returnType: void
    signature: void dirmngr_sighup_action (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2100
    functionDepth: 0
    functionLinenumber: 2100
    functionLinenumberEnd: 2104
    functionName: netactivity_action
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void netactivity_action (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dirmngr_sighup_action
      Src: /src/gnupg/dirmngr/dirmngr.c:2115,1
    - Dst: cert_cache_print_stats
      Src: /src/gnupg/dirmngr/dirmngr.c:2120,1
    - Dst: domaininfo_print_stats
      Src: /src/gnupg/dirmngr/dirmngr.c:2121,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2125,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:2125,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2130,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:2130,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2132,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:2132,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2137,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:2137,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2138,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/dirmngr/dirmngr.c:2138,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/dirmngr/dirmngr.c:2138,1
    - Dst: cleanup
      Src: /src/gnupg/dirmngr/dirmngr.c:2139,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/dirmngr.c:2140,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2145,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:2145,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2146,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/dirmngr/dirmngr.c:2146,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/dirmngr/dirmngr.c:2146,1
    - Dst: cleanup
      Src: /src/gnupg/dirmngr/dirmngr.c:2147,1
    - Dst: dirmngr_exit
      Src: /src/gnupg/dirmngr/dirmngr.c:2148,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2152,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:2152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2109
    functionDepth: 8
    functionLinenumber: 2109
    functionLinenumberEnd: 2154
    functionName: handle_signal
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 4
    functionsReached:
    - dirmngr_exit
    - cert_cache_print_stats
    - domaininfo_print_stats
    - _
    - cleanup
    - dirmngr_sighup_action
    - log_info
    - gpgrt_strusage
    linkageType: ''
    returnType: void
    signature: void handle_signal (int signo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_get_time
      Src: /src/gnupg/dirmngr/dirmngr.c:2168,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2171,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2176,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dirmngr.c:2178,1
    - Dst: dirmngr_init_default_ctrl
      Src: /src/gnupg/dirmngr/dirmngr.c:2179,1
    - Dst: dns_stuff_housekeeping
      Src: /src/gnupg/dirmngr/dirmngr.c:2181,1
    - Dst: ks_hkp_housekeeping
      Src: /src/gnupg/dirmngr/dirmngr.c:2182,1
    - Dst: dirmngr_load_swdb
      Src: /src/gnupg/dirmngr/dirmngr.c:2187,1
    - Dst: workqueue_run_global_tasks
      Src: /src/gnupg/dirmngr/dirmngr.c:2188,1
    - Dst: workqueue_run_global_tasks
      Src: /src/gnupg/dirmngr/dirmngr.c:2191,1
    - Dst: dirmngr_deinit_default_ctrl
      Src: /src/gnupg/dirmngr/dirmngr.c:2193,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2159
    functionDepth: 8
    functionLinenumber: 2159
    functionLinenumberEnd: 2200
    functionName: housekeeping_thread
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 0
    functionsReached:
    - gnupg_get_time
    - ks_hkp_housekeeping
    - dirmngr_deinit_default_ctrl
    - dns_stuff_housekeeping
    - workqueue_run_global_tasks
    - dirmngr_load_swdb
    - dirmngr_init_default_ctrl
    - memset
    - log_info
    linkageType: ''
    returnType: void
    signature: 'void *

      housekeeping_thread (void *arg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - curtime
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2212
    functionDepth: 0
    functionLinenumber: 2212
    functionLinenumberEnd: 2227
    functionName: time_for_housekeeping_p
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int time_for_housekeeping_p (time_t curtime)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: time_for_housekeeping_p
      Src: /src/gnupg/dirmngr/dirmngr.c:2240,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/dirmngr/dirmngr.c:2240,1
    - Dst: npth_attr_init
      Src: /src/gnupg/dirmngr/dirmngr.c:2246,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:2248,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:2248,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/dirmngr/dirmngr.c:2251,1
    - Dst: npth_create
      Src: /src/gnupg/dirmngr/dirmngr.c:2252,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:2254,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:2255,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/dirmngr/dirmngr.c:2256,1
    - Dst: gnupg_stat
      Src: /src/gnupg/dirmngr/dirmngr.c:2262,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/dirmngr/dirmngr.c:2262,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2235
    functionDepth: 5
    functionLinenumber: 2235
    functionLinenumberEnd: 2267
    functionName: handle_tick
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 1
    functionsReached:
    - gnupg_get_time
    - time_for_housekeeping_p
    - log_error
    - npth_attr_init
    - npth_create
    - npth_attr_destroy
    - gnupg_homedir
    - npth_attr_setdetachstate
    - log_info
    - gnupg_stat
    - strerror
    linkageType: ''
    returnType: void
    signature: void handle_tick (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_sock_check_nonce
      Src: /src/gnupg/dirmngr/dirmngr.c:2275,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2277,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:2277,1
    - Dst: FD_DBG
      Src: /src/gnupg/dirmngr/dirmngr.c:2278,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:2278,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/dirmngr/dirmngr.c:2279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - nonce
    argTypes:
    - assuan_fd_t
    - assuan_sock_nonce_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2272
    functionDepth: 1
    functionLinenumber: 2272
    functionLinenumberEnd: 2284
    functionName: check_nonce
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 9
    functionsReached:
    - _
    - assuan_sock_check_nonce
    - FD_DBG
    - assuan_sock_close
    - log_info
    - strerror
    linkageType: ''
    returnType: int
    signature: int check_nonce (assuan_fd_t fd, assuan_sock_nonce_t *nonce)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/dirmngr.c:2296,1
    - Dst: check_nonce
      Src: /src/gnupg/dirmngr/dirmngr.c:2300,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:2302,1
    - Dst: npth_setspecific
      Src: /src/gnupg/dirmngr/dirmngr.c:2307,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2312,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:2312,1
    - Dst: FD_DBG
      Src: /src/gnupg/dirmngr/dirmngr.c:2312,1
    - Dst: start_command_handler
      Src: /src/gnupg/dirmngr/dirmngr.c:2317,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2320,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:2320,1
    - Dst: FD_DBG
      Src: /src/gnupg/dirmngr/dirmngr.c:2320,1
    - Dst: workqueue_run_post_session_tasks
      Src: /src/gnupg/dirmngr/dirmngr.c:2323,1
    - Dst: npth_setspecific
      Src: /src/gnupg/dirmngr/dirmngr.c:2327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2331
      start: 2288
    functionDepth: 3
    functionLinenumber: 2288
    functionLinenumberEnd: 2331
    functionName: start_connection_thread
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 4
    functionsReached:
    - workqueue_run_post_session_tasks
    - log_error
    - _
    - FD_DBG
    - start_command_handler
    - log_info
    - memset
    - check_nonce
    - npth_setspecific
    linkageType: ''
    returnType: void
    signature: 'void *

      start_connection_thread (void *arg)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/gnupg/dirmngr/dirmngr.c:2346,1
    - Dst: npth_read
      Src: /src/gnupg/dirmngr/dirmngr.c:2350,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dirmngr.c:2353,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dirmngr.c:2355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - fd
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2336
    functionDepth: 0
    functionLinenumber: 2336
    functionLinenumberEnd: 2359
    functionName: my_inotify_is_name
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcmp
    - npth_read
    - strrchr
    linkageType: ''
    returnType: int
    signature: int my_inotify_is_name (int fd, const char *name)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: npth_attr_init
      Src: /src/gnupg/dirmngr/dirmngr.c:2382,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/dirmngr/dirmngr.c:2383,1
    - Dst: npth_sigev_init
      Src: /src/gnupg/dirmngr/dirmngr.c:2386,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/dirmngr/dirmngr.c:2387,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/dirmngr/dirmngr.c:2388,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/dirmngr/dirmngr.c:2389,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/dirmngr/dirmngr.c:2390,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/dirmngr/dirmngr.c:2391,1
    - Dst: npth_sigev_fini
      Src: /src/gnupg/dirmngr/dirmngr.c:2392,1
    - Dst: inotify_init
      Src: /src/gnupg/dirmngr/dirmngr.c:2398,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2399,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:2400,1
    - Dst: strrchr
      Src: /src/gnupg/dirmngr/dirmngr.c:2405,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/dirmngr.c:2406,1
    - Dst: inotify_add_watch
      Src: /src/gnupg/dirmngr/dirmngr.c:2408,1
    - Dst: close
      Src: /src/gnupg/dirmngr/dirmngr.c:2410,1
    - Dst: FD_ZERO
      Src: /src/gnupg/dirmngr/dirmngr.c:2421,1
    - Dst: FD_SET
      Src: /src/gnupg/dirmngr/dirmngr.c:2422,1
    - Dst: FD2INT
      Src: /src/gnupg/dirmngr/dirmngr.c:2422,1
    - Dst: FD2NUM
      Src: /src/gnupg/dirmngr/dirmngr.c:2423,1
    - Dst: FD_SET
      Src: /src/gnupg/dirmngr/dirmngr.c:2426,1
    - Dst: npth_clock_gettime
      Src: /src/gnupg/dirmngr/dirmngr.c:2431,1
    - Dst: FD_ZERO
      Src: /src/gnupg/dirmngr/dirmngr.c:2452,1
    - Dst: FD_SET
      Src: /src/gnupg/dirmngr/dirmngr.c:2456,1
    - Dst: npth_clock_gettime
      Src: /src/gnupg/dirmngr/dirmngr.c:2464,1
    - Dst: npth_timercmp
      Src: /src/gnupg/dirmngr/dirmngr.c:2465,1
    - Dst: handle_tick
      Src: /src/gnupg/dirmngr/dirmngr.c:2469,1
    - Dst: npth_clock_gettime
      Src: /src/gnupg/dirmngr/dirmngr.c:2470,1
    - Dst: npth_timersub
      Src: /src/gnupg/dirmngr/dirmngr.c:2475,1
    - Dst: npth_pselect
      Src: /src/gnupg/dirmngr/dirmngr.c:2478,1
    - Dst: npth_sigev_sigmask
      Src: /src/gnupg/dirmngr/dirmngr.c:2479,1
    - Dst: npth_sigev_get_pending
      Src: /src/gnupg/dirmngr/dirmngr.c:2482,1
    - Dst: handle_signal
      Src: /src/gnupg/dirmngr/dirmngr.c:2483,1
    - Dst: npth_eselect
      Src: /src/gnupg/dirmngr/dirmngr.c:2485,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:2491,1
    - Dst: _
      Src: /src/gnupg/dirmngr/dirmngr.c:2491,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:2492,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/dirmngr/dirmngr.c:2493,1
    - Dst: FD_ISSET
      Src: /src/gnupg/dirmngr/dirmngr.c:2511,1
    - Dst: my_inotify_is_name
      Src: /src/gnupg/dirmngr/dirmngr.c:2512,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2515,1
    - Dst: FD_ISSET
      Src: /src/gnupg/dirmngr/dirmngr.c:2519,1
    - Dst: FD2INT
      Src: /src/gnupg/dirmngr/dirmngr.c:2519,1
    - Dst: assuan_sock_accept
      Src: /src/gnupg/dirmngr/dirmngr.c:2524,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dirmngr.c:2528,1
    - Dst: log_libassuan_system_error
      Src: /src/gnupg/dirmngr/dirmngr.c:2529,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:2530,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:2530,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dirmngr.c:2538,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/dirmngr.c:2540,1
    - Dst: FD_DBG
      Src: /src/gnupg/dirmngr/dirmngr.c:2541,1
    - Dst: npth_create
      Src: /src/gnupg/dirmngr/dirmngr.c:2543,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dirmngr.c:2547,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/dirmngr.c:2548,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/dirmngr/dirmngr.c:2549,1
    - Dst: npth_setname_np
      Src: /src/gnupg/dirmngr/dirmngr.c:2551,1
    - Dst: close
      Src: /src/gnupg/dirmngr/dirmngr.c:2558,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/dirmngr/dirmngr.c:2560,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/dirmngr/dirmngr.c:2562,1
    - Dst: cleanup
      Src: /src/gnupg/dirmngr/dirmngr.c:2563,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dirmngr.c:2564,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/dirmngr/dirmngr.c:2564,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/dirmngr/dirmngr.c:2564,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 98
    argCount: 1
    argNames:
    - listen_fd
    argTypes:
    - assuan_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2365
    functionDepth: 2
    functionLinenumber: 2365
    functionLinenumberEnd: 2565
    functionName: handle_connections
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 4
    functionsReached:
    - FD2INT
    - inotify_add_watch
    - log_assert
    - npth_attr_init
    - log_libassuan_system_error
    - handle_signal
    - npth_sigev_fini
    - FD_ISSET
    - assuan_sock_accept
    - log_error
    - npth_create
    - close
    - _
    - FD_SET
    - FD_DBG
    - FD2NUM
    - log_info
    - npth_clock_gettime
    - npth_eselect
    - handle_tick
    - npth_sigev_init
    - npth_pselect
    - npth_sigev_sigmask
    - gnupg_sleep
    - gpgrt_strusage
    - npth_sigev_get_pending
    - npth_timercmp
    - gpg_error_from_syserror
    - npth_attr_setdetachstate
    - assuan_sock_close
    - npth_setname_np
    - cleanup
    - gpg_strerror
    - memset
    - npth_sigev_add
    - inotify_init
    - FD_ZERO
    - my_inotify_is_name
    - npth_attr_destroy
    - snprintf
    - npth_timersub
    - strrchr
    - strerror
    linkageType: ''
    returnType: void
    signature: void handle_connections (assuan_fd_t listen_fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dirmngr_socket_name
      Src: /src/gnupg/dirmngr/dirmngr.c:2573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2574
      start: 2567
    functionDepth: 8
    functionLinenumber: 2567
    functionLinenumberEnd: 2574
    functionName: dirmngr_get_current_socket_name
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 1
    functionsReached:
    - dirmngr_socket_name
    linkageType: ''
    returnType: char
    signature: 'char *

      dirmngr_get_current_socket_name (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - blurb
    - r_len
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2601
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2601
    functionName: get_revision_from_blurb
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_revision_from_blurb (const char *blurb, int *r_len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/dirmngr.c:2615,1
    - Dst: npth_get_version
      Src: /src/gnupg/dirmngr/dirmngr.c:2616,1
    - Dst: npth_get_version
      Src: /src/gnupg/dirmngr/dirmngr.c:2616,1
    - Dst: get_revision_from_blurb
      Src: /src/gnupg/dirmngr/dirmngr.c:2619,1
    - Dst: assuan_check_version
      Src: /src/gnupg/dirmngr/dirmngr.c:2619,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/dirmngr.c:2620,1
    - Dst: assuan_check_version
      Src: /src/gnupg/dirmngr/dirmngr.c:2621,1
    - Dst: get_revision_from_blurb
      Src: /src/gnupg/dirmngr/dirmngr.c:2623,1
    - Dst: ksba_check_version
      Src: /src/gnupg/dirmngr/dirmngr.c:2623,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/dirmngr.c:2624,1
    - Dst: ksba_check_version
      Src: /src/gnupg/dirmngr/dirmngr.c:2625,1
    - Dst: get_revision_from_blurb
      Src: /src/gnupg/dirmngr/dirmngr.c:2628,1
    - Dst: ntbtls_check_version
      Src: /src/gnupg/dirmngr/dirmngr.c:2628,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/dirmngr.c:2629,1
    - Dst: ntbtls_check_version
      Src: /src/gnupg/dirmngr/dirmngr.c:2630,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/dirmngr.c:2632,1
    - Dst: gnutls_check_version
      Src: /src/gnupg/dirmngr/dirmngr.c:2633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2608
    functionDepth: 1
    functionLinenumber: 2608
    functionLinenumberEnd: 2636
    functionName: gpgconf_versions
    functionSourceFile: /src/gnupg/dirmngr/dirmngr.c
    functionUses: 1
    functionsReached:
    - es_fprintf
    - gnutls_check_version
    - assuan_check_version
    - npth_get_version
    - ksba_check_version
    - get_revision_from_blurb
    - ntbtls_check_version
    linkageType: ''
    returnType: void
    signature: void gpgconf_versions (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: init_sockets
    functionSourceFile: /src/gnupg/dirmngr/t-dns-stuff.c
    functionUses: 1
    functionsReached:
    - WSAStartup
    linkageType: ''
    returnType: void
    signature: void init_sockets (void)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_init
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:60,1
    - Dst: log_set_prefix
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:61,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:67,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:72,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:74,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:87,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:89,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:94,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:100,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:105,1
    - Dst: enable_standard_resolver
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:107,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:110,1
    - Dst: enable_recursive_resolver
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:112,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:115,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:120,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:125,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:130,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:135,1
    - Dst: set_dns_timeout
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:140,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:140,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:144,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:146,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:147,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:160,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:161,1
    - Dst: set_dns_verbose
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:164,1
    - Dst: init_sockets
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:165,1
    - Dst: enable_dns_tormode
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:168,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:179,1
    - Dst: get_dns_cert
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:181,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:184,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:185,1
    - Dst: gpg_strsource
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:185,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:189,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:197,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:199,1
    - Dst: putchar
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:200,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:203,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:206,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:208,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:212,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:213,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:214,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:220,1
    - Dst: get_dns_cname
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:221,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:223,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:224,1
    - Dst: gpg_strsource
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:224,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:227,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:229,1
    - Dst: get_dns_srv
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:237,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:240,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:241,1
    - Dst: gpg_strsource
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:241,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:244,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:247,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:248,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:249,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:250,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:253,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:262,1
    - Dst: resolve_dns_name
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:264,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:267,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:268,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:269,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:273,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:276,1
    - Dst: resolve_dns_addr
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:281,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:286,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:286,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:289,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:290,1
    - Dst: resolve_dns_addr
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:293,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:297,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:297,1
    - Dst: is_ip_address
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:300,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:301,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:302,1
    - Dst: putchar
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:304,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:306,1
    - Dst: free_dns_addrinfo
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:307,1
    - Dst: reload_dns_stuff
      Src: /src/gnupg/dirmngr/t-dns-stuff.c:310,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 169
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 313
    functionName: main
    functionSourceFile: /src/gnupg/dirmngr/t-dns-stuff.c
    functionUses: 11
    functionsReached:
    - exit
    - enable_dns_tormode
    - free_dns_addrinfo
    - set_dns_verbose
    - printf
    - log_set_prefix
    - get_dns_srv
    - is_ip_address
    - get_dns_cert
    - strncmp
    - enable_standard_resolver
    - init_sockets
    - resolve_dns_addr
    - get_dns_cname
    - strcmp
    - enable_recursive_resolver
    - fprintf
    - gpg_strerror
    - xfree
    - reload_dns_stuff
    - gpg_strsource
    - set_dns_timeout
    - putchar
    - atoi
    - resolve_dns_name
    - gpgrt_init
    - fputs
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: dns_free
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_free(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: my_unprotect
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_unprotect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: my_protect
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_protect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: my_unprotect
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_unprotect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: my_protect
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_protect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - 'yes'
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: enable_standard_resolver
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_standard_resolver (int yes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: standard_resolver_p
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int standard_resolver_p (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - 'yes'
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: enable_recursive_resolver
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_recursive_resolver (int yes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: recursive_resolver_p
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int recursive_resolver_p (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_snprintf
      Src: /src/gnupg/dirmngr/dns-stuff.c:234,1
    - Dst: getpid
      Src: /src/gnupg/dirmngr/dns-stuff.c:235,1
    - Dst: gpgrt_snprintf
      Src: /src/gnupg/dirmngr/dns-stuff.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - new_circuit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: enable_dns_tormode
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 2
    functionsReached:
    - getpid
    - gpgrt_snprintf
    linkageType: ''
    returnType: void
    signature: void enable_dns_tormode (int new_circuit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: disable_dns_tormode
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void disable_dns_tormode (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - verbose
    - debug
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: set_dns_verbose
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_dns_verbose (int verbose, int debug)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - 'yes'
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: set_dns_disable_ipv4
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_dns_disable_ipv4 (int yes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - 'yes'
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: set_dns_disable_ipv6
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_dns_disable_ipv6 (int yes)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - seconds
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: set_dns_timeout
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_dns_timeout (int seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/gnupg/dirmngr/dns-stuff.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ipaddr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 308
    functionName: set_dns_nameserver
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 1
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: void
    signature: void set_dns_nameserver (const char *ipaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ai
    argTypes:
    - dns_addrinfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: free_dns_addrinfo
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 5
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void free_dns_addrinfo (dns_addrinfo_t ai)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 340
    functionName: get_h_errno_as_gpg_error
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_h_errno_as_gpg_error (void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:350,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:351,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:352,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:353,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:355,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:357,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:358,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:359,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:360,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:363,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:365,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:367,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 1
    argNames:
    - ec
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 370
    functionName: map_eai_to_gpg_error
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t map_eai_to_gpg_error (int ec)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code_from_errno
      Src: /src/gnupg/dirmngr/dns-stuff.c:400,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:405,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 1
    argNames:
    - serr
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 406
    functionName: libdns_error_to_gpg_error
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t libdns_error_to_gpg_error (int serr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/gnupg/dirmngr/dns-stuff.c:423,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:425,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dns-stuff.c:426,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:426,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 440
    functionName: resolv_conf_changed_p
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - gpg_strerror
    - gpg_error_from_syserror
    - stat
    - log_error
    linkageType: ''
    returnType: int
    signature: int resolv_conf_changed_p (void)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns-stuff.c:458,1
    - Dst: dns_resconf_open
      Src: /src/gnupg/dirmngr/dns-stuff.c:460,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:463,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:464,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dns-stuff.c:465,1
    - Dst: set_dns_nameserver
      Src: /src/gnupg/dirmngr/dns-stuff.c:472,1
    - Dst: xtryasprintf
      Src: /src/gnupg/dirmngr/dns-stuff.c:477,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:479,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:481,1
    - Dst: dns_resconf_pton
      Src: /src/gnupg/dirmngr/dns-stuff.c:482,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:484,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dns-stuff.c:485,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:491,1
    - Dst: xtryasprintf
      Src: /src/gnupg/dirmngr/dns-stuff.c:492,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:494,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:496,1
    - Dst: dns_resconf_pton
      Src: /src/gnupg/dirmngr/dns-stuff.c:497,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:500,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dns-stuff.c:501,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:514,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:517,1
    - Dst: GetNetworkParams
      Src: /src/gnupg/dirmngr/dns-stuff.c:521,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:523,1
    - Dst: w32_strerror
      Src: /src/gnupg/dirmngr/dns-stuff.c:523,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:524,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:525,1
    - Dst: DIM
      Src: /src/gnupg/dirmngr/dns-stuff.c:530,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dns-stuff.c:534,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:535,1
    - Dst: dns_resconf_pton
      Src: /src/gnupg/dirmngr/dns-stuff.c:536,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:539,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dns-stuff.c:540,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:544,1
    - Dst: resolv_conf_changed_p
      Src: /src/gnupg/dirmngr/dns-stuff.c:549,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:550,1
    - Dst: dns_resconf_loadpath
      Src: /src/gnupg/dirmngr/dns-stuff.c:551,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:554,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dns-stuff.c:554,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:559,1
    - Dst: dns_nssconf_loadpath
      Src: /src/gnupg/dirmngr/dns-stuff.c:560,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/dns-stuff.c:565,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:566,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dns-stuff.c:566,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dns-stuff.c:568,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/dns-stuff.c:574,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns-stuff.c:582,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dns-stuff.c:585,1
    - Dst: strcat
      Src: /src/gnupg/dirmngr/dns-stuff.c:586,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:589,1
    - Dst: dns_hosts_open
      Src: /src/gnupg/dirmngr/dns-stuff.c:595,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:598,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:599,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dns-stuff.c:599,1
    - Dst: xtryasprintf
      Src: /src/gnupg/dirmngr/dns-stuff.c:605,1
    - Dst: getenv
      Src: /src/gnupg/dirmngr/dns-stuff.c:606,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:609,1
    - Dst: dns_hosts_loadpath
      Src: /src/gnupg/dirmngr/dns-stuff.c:613,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:614,1
    - Dst: dns_hosts_loadpath
      Src: /src/gnupg/dirmngr/dns-stuff.c:616,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:620,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:621,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dns-stuff.c:621,1
    - Dst: recursive_resolver_p
      Src: /src/gnupg/dirmngr/dns-stuff.c:626,1
    - Dst: dns_hints_root
      Src: /src/gnupg/dirmngr/dns-stuff.c:630,1
    - Dst: dns_hints_local
      Src: /src/gnupg/dirmngr/dns-stuff.c:631,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:634,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:635,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dns-stuff.c:635,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dns-stuff.c:644,1
    - Dst: dirmngr_status_printf
      Src: /src/gnupg/dirmngr/dns-stuff.c:650,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dns-stuff.c:653,1
    - Dst: gpg_strsource
      Src: /src/gnupg/dirmngr/dns-stuff.c:653,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:655,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 130
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 446
    functionDepth: 5
    functionLinenumber: 446
    functionLinenumberEnd: 657
    functionName: libdns_init
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - strlen
    - xtryasprintf
    - xtrymalloc
    - dns_hosts_loadpath
    - GetNetworkParams
    - log_error
    - recursive_resolver_p
    - DIM
    - w32_strerror
    - resolv_conf_changed_p
    - dirmngr_status_printf
    - log_debug
    - strcat
    - gpg_error_from_syserror
    - dns_resconf_pton
    - gpg_error
    - strchr
    - gpg_strerror
    - memset
    - xfree
    - dns_resconf_open
    - dns_hints_local
    - libdns_error_to_gpg_error
    - gpg_strsource
    - set_dns_nameserver
    - dns_hosts_open
    - getenv
    - dns_nssconf_loadpath
    - dns_resconf_loadpath
    - gpg_err_code
    - dns_hints_root
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t libdns_init (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns-stuff.c:672,1
    - Dst: dns_hints_close
      Src: /src/gnupg/dirmngr/dns-stuff.c:673,1
    - Dst: dns_hosts_close
      Src: /src/gnupg/dirmngr/dns-stuff.c:674,1
    - Dst: dns_resconf_close
      Src: /src/gnupg/dirmngr/dns-stuff.c:675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 663
    functionDepth: 2
    functionLinenumber: 663
    functionLinenumberEnd: 676
    functionName: libdns_deinit
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - dns_hosts_close
    - dns_hints_close
    - memset
    - dns_resconf_close
    linkageType: ''
    returnType: void
    signature: void libdns_deinit (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libdns_deinit
      Src: /src/gnupg/dirmngr/dns-stuff.c:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - force
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 682
    functionDepth: 3
    functionLinenumber: 682
    functionLinenumberEnd: 702
    functionName: reload_dns_stuff
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 3
    functionsReached:
    - libdns_deinit
    linkageType: ''
    returnType: void
    signature: void reload_dns_stuff (int force)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 714
    functionName: dns_stuff_housekeeping
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_stuff_housekeeping (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: resolv_conf_changed_p
      Src: /src/gnupg/dirmngr/dns-stuff.c:738,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dns-stuff.c:741,1
    - Dst: libdns_deinit
      Src: /src/gnupg/dirmngr/dns-stuff.c:748,1
    - Dst: libdns_init
      Src: /src/gnupg/dirmngr/dns-stuff.c:751,1
    - Dst: set_dns_timeout
      Src: /src/gnupg/dirmngr/dns-stuff.c:756,1
    - Dst: dns_res_open
      Src: /src/gnupg/dirmngr/dns-stuff.c:758,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:761,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - ctrl
    - r_res
    argTypes:
    - ctrl_t
    - struct dns_resolver**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 723
    functionDepth: 6
    functionLinenumber: 723
    functionLinenumberEnd: 765
    functionName: libdns_res_open
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - libdns_init
    - dns_res_open
    - libdns_deinit
    - resolv_conf_changed_p
    - libdns_error_to_gpg_error
    - set_dns_timeout
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t libdns_res_open (ctrl_t ctrl, struct dns_resolver **r_res)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/dns-stuff.c:775,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dns-stuff.c:780,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - err
    argTypes:
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 787
    functionName: libdns_switch_port_p
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - gpg_err_code
    - log_debug
    linkageType: ''
    returnType: int
    signature: int libdns_switch_port_p (gpg_error_t err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:797,1
    - Dst: dns_res_submit
      Src: /src/gnupg/dirmngr/dns-stuff.c:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - res
    - qname
    - qtype
    - qclass
    argTypes:
    - struct dns_resolver*
    - char*
    - enum dns_type
    - enum dns_class
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 793
    functionDepth: 6
    functionLinenumber: 793
    functionLinenumberEnd: 798
    functionName: libdns_res_submit
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - dns_res_submit
    - libdns_error_to_gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t libdns_res_submit (struct dns_resolver *res, const char
      *qname,\n                   enum dns_type qtype, enum dns_class qclass)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:809,1
    - Dst: dns_res_check
      Src: /src/gnupg/dirmngr/dns-stuff.c:809,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/dns-stuff.c:810,1
    - Dst: dns_res_elapsed
      Src: /src/gnupg/dirmngr/dns-stuff.c:812,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:814,1
    - Dst: my_unprotect
      Src: /src/gnupg/dirmngr/dns-stuff.c:818,1
    - Dst: dns_res_poll
      Src: /src/gnupg/dirmngr/dns-stuff.c:819,1
    - Dst: my_protect
      Src: /src/gnupg/dirmngr/dns-stuff.c:820,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct dns_resolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 804
    functionDepth: 11
    functionLinenumber: 804
    functionLinenumberEnd: 824
    functionName: libdns_res_wait
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - my_protect
    - dns_res_elapsed
    - dns_res_check
    - gpg_error
    - gpg_err_code
    - my_unprotect
    - libdns_error_to_gpg_error
    - dns_res_poll
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t libdns_res_wait (struct dns_resolver *res)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns-stuff.c:850,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/dns-stuff.c:859,1
    - Dst: libdns_res_open
      Src: /src/gnupg/dirmngr/dns-stuff.c:863,1
    - Dst: is_ip_address
      Src: /src/gnupg/dirmngr/dns-stuff.c:868,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns-stuff.c:872,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:874,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns-stuff.c:874,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:877,1
    - Dst: strcpy
      Src: /src/gnupg/dirmngr/dns-stuff.c:880,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns-stuff.c:881,1
    - Dst: dns_ai_open
      Src: /src/gnupg/dirmngr/dns-stuff.c:886,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:889,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:896,1
    - Dst: dns_ai_nextent
      Src: /src/gnupg/dirmngr/dns-stuff.c:896,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/dns-stuff.c:897,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/dns-stuff.c:903,1
    - Dst: dns_ai_elapsed
      Src: /src/gnupg/dirmngr/dns-stuff.c:905,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:907,1
    - Dst: my_unprotect
      Src: /src/gnupg/dirmngr/dns-stuff.c:911,1
    - Dst: dns_ai_poll
      Src: /src/gnupg/dirmngr/dns-stuff.c:912,1
    - Dst: my_protect
      Src: /src/gnupg/dirmngr/dns-stuff.c:913,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/dns-stuff.c:921,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:924,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns-stuff.c:929,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns-stuff.c:930,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:933,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:936,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns-stuff.c:944,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:948,1
    - Dst: dns_ai_close
      Src: /src/gnupg/dirmngr/dns-stuff.c:952,1
    - Dst: dns_res_close
      Src: /src/gnupg/dirmngr/dns-stuff.c:953,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:959,1
    - Dst: free_dns_addrinfo
      Src: /src/gnupg/dirmngr/dns-stuff.c:962,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:967,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 98
    argCount: 7
    argNames:
    - ctrl
    - name
    - port
    - want_family
    - want_socktype
    - r_dai
    - r_canonname
    argTypes:
    - ctrl_t
    - char*
    - unsigned short
    - int
    - int
    - dns_addrinfo_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 829
    functionDepth: 12
    functionLinenumber: 829
    functionLinenumberEnd: 969
    functionName: resolve_name_libdns
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - dns_res_close
    - my_protect
    - strlen
    - dns_ai_close
    - my_unprotect
    - free_dns_addrinfo
    - memcpy
    - xtrymalloc
    - is_ip_address
    - dns_ai_poll
    - gpg_error_from_syserror
    - dns_ai_open
    - xtrystrdup
    - gpg_error
    - memset
    - xfree
    - libdns_error_to_gpg_error
    - dns_ai_elapsed
    - libdns_res_open
    - snprintf
    - dns_ai_nextent
    - strcpy
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t resolve_name_libdns (ctrl_t ctrl, const char *name, unsigned
      short port,\n                     int want_family, int want_socktype,\n                     dns_addrinfo_t
      *r_dai, char **r_canonname)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns-stuff.c:991,1
    - Dst: is_ip_address
      Src: /src/gnupg/dirmngr/dns-stuff.c:997,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/dns-stuff.c:1001,1
    - Dst: getaddrinfo
      Src: /src/gnupg/dirmngr/dns-stuff.c:1008,1
    - Dst: map_eai_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1012,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/dns-stuff.c:1013,1
    - Dst: get_dns_cname
      Src: /src/gnupg/dirmngr/dns-stuff.c:1021,1
    - Dst: getaddrinfo
      Src: /src/gnupg/dirmngr/dns-stuff.c:1024,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:1025,1
    - Dst: map_eai_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1029,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/dns-stuff.c:1040,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:1043,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:1057,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns-stuff.c:1062,1
    - Dst: freeaddrinfo
      Src: /src/gnupg/dirmngr/dns-stuff.c:1069,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:1074,1
    - Dst: free_dns_addrinfo
      Src: /src/gnupg/dirmngr/dns-stuff.c:1077,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 73
    argCount: 7
    argNames:
    - ctrl
    - name
    - port
    - want_family
    - want_socktype
    - r_dai
    - r_canonname
    argTypes:
    - ctrl_t
    - char*
    - unsigned short
    - int
    - int
    - dns_addrinfo_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 974
    functionDepth: 2
    functionLinenumber: 974
    functionLinenumberEnd: 1082
    functionName: resolve_name_standard
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - freeaddrinfo
    - snprintf
    - get_dns_cname
    - getaddrinfo
    - is_ip_address
    - xtrystrdup
    - free_dns_addrinfo
    - memset
    - map_eai_to_gpg_error
    - gpg_err_code
    - xfree
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t resolve_name_standard (ctrl_t ctrl, const char *name,
      unsigned short port,\n                       int want_family, int want_socktype,\n
      \                      dns_addrinfo_t *r_dai, char **r_canonname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: resolve_name_libdns
      Src: /src/gnupg/dirmngr/dns-stuff.c:1107,1
    - Dst: libdns_switch_port_p
      Src: /src/gnupg/dirmngr/dns-stuff.c:1109,1
    - Dst: resolve_name_libdns
      Src: /src/gnupg/dirmngr/dns-stuff.c:1110,1
    - Dst: resolve_name_standard
      Src: /src/gnupg/dirmngr/dns-stuff.c:1115,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dns-stuff.c:1118,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dns-stuff.c:1118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 7
    argNames:
    - ctrl
    - name
    - port
    - want_family
    - want_socktype
    - r_ai
    - r_canonname
    argTypes:
    - ctrl_t
    - char*
    - unsigned short
    - int
    - int
    - dns_addrinfo_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1097
    functionDepth: 13
    functionLinenumber: 1097
    functionLinenumberEnd: 1120
    functionName: resolve_dns_name
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 5
    functionsReached:
    - resolve_name_standard
    - resolve_name_libdns
    - libdns_switch_port_p
    - gpg_strerror
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t resolve_dns_name (ctrl_t ctrl, const char *name, unsigned
      short port,\n                  int want_family, int want_socktype,\n                  dns_addrinfo_t
      *r_ai, char **r_canonname)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: dns_aaaa_arpa
      Src: /src/gnupg/dirmngr/dns-stuff.c:1144,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1145,1
    - Dst: dns_a_arpa
      Src: /src/gnupg/dirmngr/dns-stuff.c:1150,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1151,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1154,1
    - Dst: libdns_res_open
      Src: /src/gnupg/dirmngr/dns-stuff.c:1159,1
    - Dst: libdns_res_submit
      Src: /src/gnupg/dirmngr/dns-stuff.c:1163,1
    - Dst: libdns_res_wait
      Src: /src/gnupg/dirmngr/dns-stuff.c:1167,1
    - Dst: dns_res_fetch
      Src: /src/gnupg/dirmngr/dns-stuff.c:1171,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1174,1
    - Dst: dns_p_rcode
      Src: /src/gnupg/dirmngr/dns-stuff.c:1179,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1184,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns-stuff.c:1197,1
    - Dst: dns_rr_i_init
      Src: /src/gnupg/dirmngr/dns-stuff.c:1198,1
    - Dst: dns_rr_grep
      Src: /src/gnupg/dirmngr/dns-stuff.c:1203,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1205,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1209,1
    - Dst: dns_ptr_parse
      Src: /src/gnupg/dirmngr/dns-stuff.c:1209,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/dns-stuff.c:1214,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:1217,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns-stuff.c:1222,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns-stuff.c:1223,1
    - Dst: getnameinfo
      Src: /src/gnupg/dirmngr/dns-stuff.c:1240,1
    - Dst: map_eai_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1244,1
    - Dst: strcat
      Src: /src/gnupg/dirmngr/dns-stuff.c:1248,1
    - Dst: dns_free
      Src: /src/gnupg/dirmngr/dns-stuff.c:1252,1
    - Dst: dns_res_close
      Src: /src/gnupg/dirmngr/dns-stuff.c:1253,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 89
    argCount: 5
    argNames:
    - ctrl
    - addr
    - addrlen
    - flags
    - r_name
    argTypes:
    - ctrl_t
    - struct sockaddr_storage*
    - int
    - unsigned int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1125
    functionDepth: 12
    functionLinenumber: 1125
    functionLinenumberEnd: 1255
    functionName: resolve_addr_libdns
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - dns_res_close
    - strlen
    - dns_rr_grep
    - map_eai_to_gpg_error
    - getnameinfo
    - dns_res_fetch
    - dns_a_arpa
    - dns_rr_i_init
    - strcat
    - dns_aaaa_arpa
    - libdns_res_submit
    - gpg_error_from_syserror
    - xtrystrdup
    - gpg_error
    - memset
    - libdns_error_to_gpg_error
    - dns_free
    - libdns_res_open
    - libdns_res_wait
    - dns_p_rcode
    - dns_ptr_parse
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t resolve_addr_libdns (ctrl_t ctrl,\n                     const
      struct sockaddr_storage *addr, int addrlen,\n                     unsigned int
      flags, char **r_name)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:1272,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:1274,1
    - Dst: getnameinfo
      Src: /src/gnupg/dirmngr/dns-stuff.c:1279,1
    - Dst: getnameinfo
      Src: /src/gnupg/dirmngr/dns-stuff.c:1292,1
    - Dst: strcat
      Src: /src/gnupg/dirmngr/dns-stuff.c:1295,1
    - Dst: map_eai_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1299,1
    - Dst: xtryrealloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:1302,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns-stuff.c:1302,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:1304,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:1313,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 4
    argNames:
    - addr
    - addrlen
    - flags
    - r_name
    argTypes:
    - struct sockaddr_storage*
    - int
    - unsigned int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1260
    functionDepth: 2
    functionLinenumber: 1260
    functionLinenumberEnd: 1318
    functionName: resolve_addr_standard
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - getnameinfo
    - gpg_error_from_syserror
    - strlen
    - xtryrealloc
    - xfree
    - map_eai_to_gpg_error
    - xtrymalloc
    - strcat
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t resolve_addr_standard (const struct sockaddr_storage *addr,
      int addrlen,\n                       unsigned int flags, char **r_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: resolve_addr_libdns
      Src: /src/gnupg/dirmngr/dns-stuff.c:1333,1
    - Dst: libdns_switch_port_p
      Src: /src/gnupg/dirmngr/dns-stuff.c:1334,1
    - Dst: resolve_addr_libdns
      Src: /src/gnupg/dirmngr/dns-stuff.c:1335,1
    - Dst: resolve_addr_standard
      Src: /src/gnupg/dirmngr/dns-stuff.c:1339,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dns-stuff.c:1342,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dns-stuff.c:1342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - ctrl
    - addr
    - addrlen
    - flags
    - r_name
    argTypes:
    - ctrl_t
    - struct sockaddr_storage*
    - int
    - unsigned int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1322
    functionDepth: 13
    functionLinenumber: 1322
    functionLinenumberEnd: 1344
    functionName: resolve_dns_addr
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 4
    functionsReached:
    - libdns_switch_port_p
    - gpg_strerror
    - resolve_addr_libdns
    - resolve_addr_standard
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t resolve_dns_addr (ctrl_t ctrl,\n                  const
      struct sockaddr_storage *addr, int addrlen,\n                  unsigned int
      flags, char **r_name)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/dirmngr/dns-stuff.c:1383,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/dns-stuff.c:1402,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/dns-stuff.c:1407,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1413
    functionName: is_ip_address
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 7
    functionsReached:
    - strchr
    - atoi
    linkageType: ''
    returnType: int
    signature: int is_ip_address (const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns-stuff.c:1422,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/dns-stuff.c:1423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1427
    functionName: is_onion_address
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 3
    functionsReached:
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int is_onion_address (const char *name)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: libdns_res_open
      Src: /src/gnupg/dirmngr/dns-stuff.c:1453,1
    - Dst: dns_d_anchor
      Src: /src/gnupg/dirmngr/dns-stuff.c:1457,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns-stuff.c:1457,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1459,1
    - Dst: libdns_res_submit
      Src: /src/gnupg/dirmngr/dns-stuff.c:1463,1
    - Dst: libdns_res_wait
      Src: /src/gnupg/dirmngr/dns-stuff.c:1467,1
    - Dst: dns_res_fetch
      Src: /src/gnupg/dirmngr/dns-stuff.c:1471,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1474,1
    - Dst: dns_p_rcode
      Src: /src/gnupg/dirmngr/dns-stuff.c:1479,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1482,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns-stuff.c:1488,1
    - Dst: dns_rr_i_init
      Src: /src/gnupg/dirmngr/dns-stuff.c:1489,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1494,1
    - Dst: dns_rr_grep
      Src: /src/gnupg/dirmngr/dns-stuff.c:1495,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:1509,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:1511,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns-stuff.c:1514,1
    - Dst: buf16_to_u16
      Src: /src/gnupg/dirmngr/dns-stuff.c:1527,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:1538,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:1540,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns-stuff.c:1543,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:1556,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:1559,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns-stuff.c:1562,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:1569,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:1572,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:1573,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns-stuff.c:1577,1
    - Dst: dns_free
      Src: /src/gnupg/dirmngr/dns-stuff.c:1598,1
    - Dst: dns_res_close
      Src: /src/gnupg/dirmngr/dns-stuff.c:1599,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 117
    argCount: 8
    argNames:
    - ctrl
    - name
    - want_certtype
    - r_key
    - r_keylen
    - r_fpr
    - r_fprlen
    - r_url
    argTypes:
    - ctrl_t
    - char*
    - int
    - void**
    - size_t*
    - unsigned char**
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1432
    functionDepth: 12
    functionLinenumber: 1432
    functionLinenumberEnd: 1601
    functionName: get_dns_cert_libdns
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - dns_res_close
    - strlen
    - dns_rr_grep
    - buf16_to_u16
    - memcpy
    - xtrymalloc
    - dns_res_fetch
    - dns_rr_i_init
    - libdns_res_submit
    - gpg_error_from_syserror
    - gpg_error
    - memset
    - xfree
    - libdns_error_to_gpg_error
    - dns_free
    - libdns_res_open
    - libdns_res_wait
    - dns_d_anchor
    - dns_p_rcode
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_dns_cert_libdns (ctrl_t ctrl, const char *name, int
      want_certtype,\n                     void **r_key, size_t *r_keylen,\n                     unsigned
      char **r_fpr, size_t *r_fprlen, char **r_url)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:1618,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:1620,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1622,1
    - Dst: res_query
      Src: /src/gnupg/dirmngr/dns-stuff.c:1623,1
    - Dst: ntohs
      Src: /src/gnupg/dirmngr/dns-stuff.c:1631,1
    - Dst: dn_skipname
      Src: /src/gnupg/dirmngr/dns-stuff.c:1642,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1645,1
    - Dst: dn_skipname
      Src: /src/gnupg/dirmngr/dns-stuff.c:1660,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1663,1
    - Dst: buf16_to_u16
      Src: /src/gnupg/dirmngr/dns-stuff.c:1674,1
    - Dst: buf16_to_u16
      Src: /src/gnupg/dirmngr/dns-stuff.c:1687,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:1699,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:1701,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns-stuff.c:1704,1
    - Dst: buf16_to_u16
      Src: /src/gnupg/dirmngr/dns-stuff.c:1718,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:1732,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:1734,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns-stuff.c:1737,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:1750,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:1753,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns-stuff.c:1756,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:1763,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:1766,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:1767,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns-stuff.c:1771,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:1794,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1806,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 114
    argCount: 7
    argNames:
    - name
    - want_certtype
    - r_key
    - r_keylen
    - r_fpr
    - r_fprlen
    - r_url
    argTypes:
    - char*
    - int
    - void**
    - size_t*
    - unsigned char**
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1606
    functionDepth: 1
    functionLinenumber: 1606
    functionLinenumberEnd: 1809
    functionName: get_dns_cert_standard
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - gpg_error
    - xfree
    - dn_skipname
    - res_query
    - buf16_to_u16
    - memcpy
    - ntohs
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_dns_cert_standard (const char *name, int want_certtype,\n
      \                      void **r_key, size_t *r_keylen,\n                       unsigned
      char **r_fpr, size_t *r_fprlen, char **r_url)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_dns_cert_libdns
      Src: /src/gnupg/dirmngr/dns-stuff.c:1840,1
    - Dst: libdns_switch_port_p
      Src: /src/gnupg/dirmngr/dns-stuff.c:1842,1
    - Dst: get_dns_cert_libdns
      Src: /src/gnupg/dirmngr/dns-stuff.c:1843,1
    - Dst: get_dns_cert_standard
      Src: /src/gnupg/dirmngr/dns-stuff.c:1848,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dns-stuff.c:1852,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dns-stuff.c:1852,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 8
    argNames:
    - ctrl
    - name
    - want_certtype
    - r_key
    - r_keylen
    - r_fpr
    - r_fprlen
    - r_url
    argTypes:
    - ctrl_t
    - char*
    - int
    - void**
    - size_t*
    - unsigned char**
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1822
    functionDepth: 13
    functionLinenumber: 1822
    functionLinenumberEnd: 1854
    functionName: get_dns_cert
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 2
    functionsReached:
    - libdns_switch_port_p
    - get_dns_cert_standard
    - gpg_strerror
    - get_dns_cert_libdns
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_dns_cert (ctrl_t ctrl, const char *name, int want_certtype,\n
      \             void **r_key, size_t *r_keylen,\n              unsigned char **r_fpr,
      size_t *r_fprlen, char **r_url)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1867
    functionName: priosort
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int priosort(const void *a,const void *b)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: libdns_res_open
      Src: /src/gnupg/dirmngr/dns-stuff.c:1887,1
    - Dst: dns_d_anchor
      Src: /src/gnupg/dirmngr/dns-stuff.c:1891,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns-stuff.c:1891,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1893,1
    - Dst: libdns_res_submit
      Src: /src/gnupg/dirmngr/dns-stuff.c:1897,1
    - Dst: libdns_res_wait
      Src: /src/gnupg/dirmngr/dns-stuff.c:1901,1
    - Dst: dns_res_fetch
      Src: /src/gnupg/dirmngr/dns-stuff.c:1905,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1908,1
    - Dst: dns_p_rcode
      Src: /src/gnupg/dirmngr/dns-stuff.c:1913,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1916,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns-stuff.c:1922,1
    - Dst: dns_rr_i_init
      Src: /src/gnupg/dirmngr/dns-stuff.c:1923,1
    - Dst: dns_rr_grep
      Src: /src/gnupg/dirmngr/dns-stuff.c:1928,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1934,1
    - Dst: dns_srv_parse
      Src: /src/gnupg/dirmngr/dns-stuff.c:1934,1
    - Dst: xtryrealloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:1938,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:1941,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns-stuff.c:1945,1
    - Dst: mem2str
      Src: /src/gnupg/dirmngr/dns-stuff.c:1951,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns-stuff.c:1954,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns-stuff.c:1955,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:1963,1
    - Dst: dns_free
      Src: /src/gnupg/dirmngr/dns-stuff.c:1966,1
    - Dst: dns_res_close
      Src: /src/gnupg/dirmngr/dns-stuff.c:1967,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 74
    argCount: 4
    argNames:
    - ctrl
    - name
    - list
    - r_count
    argTypes:
    - ctrl_t
    - char*
    - struct srventry**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1874
    functionDepth: 12
    functionLinenumber: 1874
    functionLinenumberEnd: 1969
    functionName: getsrv_libdns
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - dns_res_close
    - strlen
    - dns_rr_grep
    - dns_res_fetch
    - dns_rr_i_init
    - libdns_res_submit
    - gpg_error_from_syserror
    - gpg_error
    - memset
    - xfree
    - libdns_error_to_gpg_error
    - dns_free
    - libdns_res_open
    - libdns_res_wait
    - dns_d_anchor
    - dns_srv_parse
    - dns_p_rcode
    - xtryrealloc
    - mem2str
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t getsrv_libdns (ctrl_t ctrl,\n               const char
      *name, struct srventry **list, unsigned int *r_count)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:1995,1
    - Dst: my_unprotect
      Src: /src/gnupg/dirmngr/dns-stuff.c:1997,1
    - Dst: res_query
      Src: /src/gnupg/dirmngr/dns-stuff.c:1998,1
    - Dst: my_protect
      Src: /src/gnupg/dirmngr/dns-stuff.c:1999,1
    - Dst: get_h_errno_as_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2001,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2003,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2005,1
    - Dst: ntohs
      Src: /src/gnupg/dirmngr/dns-stuff.c:2006,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2007,1
    - Dst: dn_skipname
      Src: /src/gnupg/dirmngr/dns-stuff.c:2013,1
    - Dst: xtryrealloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:2025,1
    - Dst: memset
      Src: /src/gnupg/dirmngr/dns-stuff.c:2029,1
    - Dst: dn_skipname
      Src: /src/gnupg/dirmngr/dns-stuff.c:2033,1
    - Dst: buf16_to_u16
      Src: /src/gnupg/dirmngr/dns-stuff.c:2042,1
    - Dst: buf16_to_u16
      Src: /src/gnupg/dirmngr/dns-stuff.c:2055,1
    - Dst: buf16_to_ushort
      Src: /src/gnupg/dirmngr/dns-stuff.c:2058,1
    - Dst: buf16_to_ushort
      Src: /src/gnupg/dirmngr/dns-stuff.c:2060,1
    - Dst: buf16_to_ushort
      Src: /src/gnupg/dirmngr/dns-stuff.c:2062,1
    - Dst: dn_expand
      Src: /src/gnupg/dirmngr/dns-stuff.c:2067,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:2070,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:2086,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2088,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2095,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 3
    argNames:
    - name
    - list
    - r_count
    argTypes:
    - char*
    - struct srventry**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 1976
    functionDepth: 2
    functionLinenumber: 1976
    functionLinenumberEnd: 2098
    functionName: getsrv_standard
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - buf16_to_ushort
    - my_protect
    - dn_expand
    - get_h_errno_as_gpg_error
    - gpg_error
    - xtryrealloc
    - memset
    - dn_skipname
    - res_query
    - buf16_to_u16
    - my_unprotect
    - xfree
    - ntohs
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t getsrv_standard (const char *name,\n                 struct
      srventry **list, unsigned int *r_count)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: xtryasprintf
      Src: /src/gnupg/dirmngr/dns-stuff.c:2122,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:2126,1
    - Dst: getsrv_libdns
      Src: /src/gnupg/dirmngr/dns-stuff.c:2136,1
    - Dst: libdns_switch_port_p
      Src: /src/gnupg/dirmngr/dns-stuff.c:2137,1
    - Dst: getsrv_libdns
      Src: /src/gnupg/dirmngr/dns-stuff.c:2138,1
    - Dst: getsrv_standard
      Src: /src/gnupg/dirmngr/dns-stuff.c:2142,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/dns-stuff.c:2146,1
    - Dst: qsort
      Src: /src/gnupg/dirmngr/dns-stuff.c:2154,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns-stuff.c:2170,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns-stuff.c:2171,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns-stuff.c:2172,1
    - Dst: srand
      Src: /src/gnupg/dirmngr/dns-stuff.c:2189,1
    - Dst: time
      Src: /src/gnupg/dirmngr/dns-stuff.c:2189,1
    - Dst: getpid
      Src: /src/gnupg/dirmngr/dns-stuff.c:2189,1
    - Dst: rand
      Src: /src/gnupg/dirmngr/dns-stuff.c:2204,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns-stuff.c:2215,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns-stuff.c:2216,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/dns-stuff.c:2217,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dns-stuff.c:2228,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dns-stuff.c:2228,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dns-stuff.c:2230,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:2234,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 6
    argNames:
    - ctrl
    - name
    - service
    - proto
    - list
    - r_count
    argTypes:
    - ctrl_t
    - char*
    - char*
    - char*
    - struct srventry**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2105
    functionDepth: 13
    functionLinenumber: 2105
    functionLinenumberEnd: 2236
    functionName: get_dns_srv
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 4
    functionsReached:
    - getsrv_libdns
    - gpg_error_from_syserror
    - libdns_switch_port_p
    - rand
    - getsrv_standard
    - xtryasprintf
    - gpg_err_code
    - gpg_strerror
    - qsort
    - xfree
    - srand
    - getpid
    - time
    - memcpy
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_dns_srv (ctrl_t ctrl,\n             const char *name,
      const char *service, const char *proto,\n             struct srventry **list,
      unsigned int *r_count)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: libdns_res_open
      Src: /src/gnupg/dirmngr/dns-stuff.c:2251,1
    - Dst: libdns_res_submit
      Src: /src/gnupg/dirmngr/dns-stuff.c:2255,1
    - Dst: libdns_res_wait
      Src: /src/gnupg/dirmngr/dns-stuff.c:2259,1
    - Dst: dns_res_fetch
      Src: /src/gnupg/dirmngr/dns-stuff.c:2263,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2266,1
    - Dst: dns_p_rcode
      Src: /src/gnupg/dirmngr/dns-stuff.c:2271,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2274,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2281,1
    - Dst: dns_p_study
      Src: /src/gnupg/dirmngr/dns-stuff.c:2281,1
    - Dst: dns_d_cname
      Src: /src/gnupg/dirmngr/dns-stuff.c:2285,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns-stuff.c:2285,1
    - Dst: libdns_error_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2287,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/dns-stuff.c:2292,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:2294,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns-stuff.c:2299,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns-stuff.c:2300,1
    - Dst: dns_free
      Src: /src/gnupg/dirmngr/dns-stuff.c:2304,1
    - Dst: dns_res_close
      Src: /src/gnupg/dirmngr/dns-stuff.c:2305,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 3
    argNames:
    - ctrl
    - name
    - r_cname
    argTypes:
    - ctrl_t
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2307
      start: 2242
    functionDepth: 12
    functionLinenumber: 2242
    functionLinenumberEnd: 2307
    functionName: get_dns_cname_libdns
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - dns_res_close
    - libdns_res_wait
    - libdns_res_submit
    - strlen
    - gpg_error_from_syserror
    - dns_p_rcode
    - dns_p_study
    - xtrystrdup
    - gpg_error
    - dns_res_fetch
    - dns_d_cname
    - libdns_error_to_gpg_error
    - dns_free
    - libdns_res_open
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_dns_cname_libdns (ctrl_t ctrl, const char *name, char
      **r_cname)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: my_unprotect
      Src: /src/gnupg/dirmngr/dns-stuff.c:2334,1
    - Dst: res_query
      Src: /src/gnupg/dirmngr/dns-stuff.c:2335,1
    - Dst: my_protect
      Src: /src/gnupg/dirmngr/dns-stuff.c:2336,1
    - Dst: get_h_errno_as_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2338,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2340,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2342,1
    - Dst: ntohs
      Src: /src/gnupg/dirmngr/dns-stuff.c:2343,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2344,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2346,1
    - Dst: dn_skipname
      Src: /src/gnupg/dirmngr/dns-stuff.c:2350,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2352,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2356,1
    - Dst: dn_skipname
      Src: /src/gnupg/dirmngr/dns-stuff.c:2358,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2360,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2363,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:2366,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:2368,1
    - Dst: dn_expand
      Src: /src/gnupg/dirmngr/dns-stuff.c:2370,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:2373,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2374,1
    - Dst: xtryrealloc
      Src: /src/gnupg/dirmngr/dns-stuff.c:2376,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/dns-stuff.c:2376,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/dns-stuff.c:2379,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/dns-stuff.c:2380,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2389,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 2
    argNames:
    - name
    - r_cname
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2312
    functionDepth: 2
    functionLinenumber: 2312
    functionLinenumberEnd: 2392
    functionName: get_dns_cname_standard
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 0
    functionsReached:
    - my_protect
    - gpg_error_from_syserror
    - strlen
    - dn_expand
    - get_h_errno_as_gpg_error
    - gpg_error
    - xtryrealloc
    - xfree
    - dn_skipname
    - res_query
    - my_unprotect
    - ntohs
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_dns_cname_standard (const char *name, char **r_cname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_dns_cname_libdns
      Src: /src/gnupg/dirmngr/dns-stuff.c:2405,1
    - Dst: libdns_switch_port_p
      Src: /src/gnupg/dirmngr/dns-stuff.c:2406,1
    - Dst: get_dns_cname_libdns
      Src: /src/gnupg/dirmngr/dns-stuff.c:2407,1
    - Dst: get_dns_cname_standard
      Src: /src/gnupg/dirmngr/dns-stuff.c:2412,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dns-stuff.c:2414,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dns-stuff.c:2416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ctrl
    - name
    - r_cname
    argTypes:
    - ctrl_t
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2418
      start: 2395
    functionDepth: 13
    functionLinenumber: 2395
    functionLinenumberEnd: 2418
    functionName: get_dns_cname
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 2
    functionsReached:
    - get_dns_cname_standard
    - libdns_switch_port_p
    - get_dns_cname_libdns
    - gpg_strerror
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_dns_cname (ctrl_t ctrl, const char *name, char **r_cname)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getaddrinfo
      Src: /src/gnupg/dirmngr/dns-stuff.c:2449,1
    - Dst: map_eai_to_gpg_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2452,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/dns-stuff.c:2453,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/dns-stuff.c:2453,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dns-stuff.c:2461,1
    - Dst: WSAAddressToString
      Src: /src/gnupg/dirmngr/dns-stuff.c:2467,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dns-stuff.c:2469,1
    - Dst: WSAGetLastError
      Src: /src/gnupg/dirmngr/dns-stuff.c:2470,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/dns-stuff.c:2472,1
    - Dst: IN6_IS_ADDR_LINKLOCAL
      Src: /src/gnupg/dirmngr/dns-stuff.c:2487,1
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/gnupg/dirmngr/dns-stuff.c:2488,1
    - Dst: freeaddrinfo
      Src: /src/gnupg/dirmngr/dns-stuff.c:2500,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/dns-stuff.c:2511,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - r_v4
    - r_v6
    argTypes:
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2424
    functionDepth: 2
    functionLinenumber: 2424
    functionLinenumberEnd: 2517
    functionName: check_inet_support
    functionSourceFile: /src/gnupg/dirmngr/dns-stuff.c
    functionUses: 1
    functionsReached:
    - IN6_IS_ADDR_LOOPBACK
    - log_error
    - freeaddrinfo
    - WSAGetLastError
    - getaddrinfo
    - gpg_strerror
    - map_eai_to_gpg_error
    - WSAAddressToString
    - IN6_IS_ADDR_LINKLOCAL
    - log_info
    - log_debug
    linkageType: ''
    returnType: void
    signature: void check_inet_support (int *r_v4, int *r_v6)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/ocsp.c:65,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/ocsp.c:67,1
    - Dst: assert
      Src: /src/gnupg/dirmngr/ocsp.c:75,1
    - Dst: es_fread
      Src: /src/gnupg/dirmngr/ocsp.c:76,1
    - Dst: es_ferror
      Src: /src/gnupg/dirmngr/ocsp.c:77,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/ocsp.c:79,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:80,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:80,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/ocsp.c:81,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:82,1
    - Dst: es_feof
      Src: /src/gnupg/dirmngr/ocsp.c:85,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:98,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:98,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:100,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:101,1
    - Dst: xtryrealloc
      Src: /src/gnupg/dirmngr/ocsp.c:105,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/ocsp.c:108,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - fp
    - r_buffer
    - r_buflen
    argTypes:
    - estream_t
    - unsigned char**
    - size_t*
    assertStmts:
    - condition: (nbytes < bufsize)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/gnupg/dirmngr/ocsp.c
    constantsTouched: []
    func_position:
      end: 114
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 114
    functionName: read_response
    functionSourceFile: /src/gnupg/dirmngr/ocsp.c
    functionUses: 0
    functionsReached:
    - assert
    - log_error
    - _
    - es_fread
    - gpg_error_from_errno
    - es_feof
    - gpg_error
    - xfree
    - xtryrealloc
    - strerror
    - es_ferror
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_response (estream_t fp, unsigned char **r_buffer,
      size_t *r_buflen)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/ocsp.c:144,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:148,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:149,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:150,1
    - Dst: dirmngr_status_printf
      Src: /src/gnupg/dirmngr/ocsp.c:151,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:157,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:157,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:158,1
    - Dst: ksba_ocsp_add_target
      Src: /src/gnupg/dirmngr/ocsp.c:161,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:164,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:164,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ocsp.c:164,1
    - Dst: ksba_ocsp_set_nonce
      Src: /src/gnupg/dirmngr/ocsp.c:170,1
    - Dst: ksba_ocsp_set_nonce
      Src: /src/gnupg/dirmngr/ocsp.c:176,1
    - Dst: gcry_create_nonce
      Src: /src/gnupg/dirmngr/ocsp.c:179,1
    - Dst: ksba_ocsp_set_nonce
      Src: /src/gnupg/dirmngr/ocsp.c:180,1
    - Dst: ksba_ocsp_build_request
      Src: /src/gnupg/dirmngr/ocsp.c:183,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:186,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:186,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ocsp.c:186,1
    - Dst: http_open
      Src: /src/gnupg/dirmngr/ocsp.c:191,1
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/ocsp.c:193,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:199,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:199,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ocsp.c:199,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:200,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ocsp.c:205,1
    - Dst: http_get_write_ptr
      Src: /src/gnupg/dirmngr/ocsp.c:205,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ocsp.c:207,1
    - Dst: http_get_write_ptr
      Src: /src/gnupg/dirmngr/ocsp.c:207,1
    - Dst: http_start_data
      Src: /src/gnupg/dirmngr/ocsp.c:211,1
    - Dst: es_fwrite
      Src: /src/gnupg/dirmngr/ocsp.c:212,1
    - Dst: http_get_write_ptr
      Src: /src/gnupg/dirmngr/ocsp.c:212,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/ocsp.c:214,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:215,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/ocsp.c:215,1
    - Dst: http_close
      Src: /src/gnupg/dirmngr/ocsp.c:216,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:217,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:218,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:221,1
    - Dst: http_wait_response
      Src: /src/gnupg/dirmngr/ocsp.c:224,1
    - Dst: http_get_status_code
      Src: /src/gnupg/dirmngr/ocsp.c:225,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:228,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:228,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ocsp.c:229,1
    - Dst: http_get_status_code
      Src: /src/gnupg/dirmngr/ocsp.c:232,1
    - Dst: http_get_header
      Src: /src/gnupg/dirmngr/ocsp.c:237,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ocsp.c:239,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:239,1
    - Dst: http_get_status_code
      Src: /src/gnupg/dirmngr/ocsp.c:240,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:243,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/ocsp.c:244,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/ocsp.c:246,1
    - Dst: http_close
      Src: /src/gnupg/dirmngr/ocsp.c:250,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:255,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:256,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:256,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:261,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:265,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:265,1
    - Dst: http_get_status_code
      Src: /src/gnupg/dirmngr/ocsp.c:266,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:267,1
    - Dst: http_close
      Src: /src/gnupg/dirmngr/ocsp.c:271,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:272,1
    - Dst: read_response
      Src: /src/gnupg/dirmngr/ocsp.c:276,1
    - Dst: http_get_read_ptr
      Src: /src/gnupg/dirmngr/ocsp.c:276,1
    - Dst: http_close
      Src: /src/gnupg/dirmngr/ocsp.c:277,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:280,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:280,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ocsp.c:281,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:282,1
    - Dst: ksba_ocsp_parse_response
      Src: /src/gnupg/dirmngr/ocsp.c:287,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:291,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:291,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ocsp.c:292,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:293,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:294,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ocsp.c:316,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:316,1
    - Dst: ksba_ocsp_get_sig_val
      Src: /src/gnupg/dirmngr/ocsp.c:320,1
    - Dst: hash_algo_from_sigval
      Src: /src/gnupg/dirmngr/ocsp.c:322,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ocsp.c:326,1
    - Dst: gcry_md_open
      Src: /src/gnupg/dirmngr/ocsp.c:329,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:332,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:332,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ocsp.c:333,1
    - Dst: gcry_md_debug
      Src: /src/gnupg/dirmngr/ocsp.c:337,1
    - Dst: ksba_ocsp_hash_response
      Src: /src/gnupg/dirmngr/ocsp.c:339,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:342,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:342,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ocsp.c:343,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:347,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:347,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:348,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:352,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:353,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:356,1
    - Dst: gcry_md_close
      Src: /src/gnupg/dirmngr/ocsp.c:359,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 175
    argCount: 8
    argNames:
    - ctrl
    - ocsp
    - url
    - cert
    - issuer_cert
    - r_sigval
    - r_produced_at
    - r_md
    argTypes:
    - ctrl_t
    - ksba_ocsp_t
    - char*
    - ksba_cert_t
    - ksba_cert_t
    - ksba_sexp_t*
    - ksba_isotime_t
    - gcry_md_hd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 363
    functionName: do_ocsp_request
    functionSourceFile: /src/gnupg/dirmngr/ocsp.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - http_wait_response
    - ksba_ocsp_set_nonce
    - ksba_ocsp_build_request
    - http_start_data
    - gcry_md_close
    - http_open
    - log_error
    - ksba_ocsp_parse_response
    - _
    - gpg_error_from_errno
    - log_info
    - read_response
    - dirmngr_status_printf
    - hash_algo_from_sigval
    - gcry_md_debug
    - gcry_md_open
    - http_get_read_ptr
    - http_get_write_ptr
    - ksba_ocsp_get_sig_val
    - xtrystrdup
    - gpg_error
    - gpg_strerror
    - xfree
    - gcry_create_nonce
    - ksba_ocsp_hash_response
    - ksba_ocsp_add_target
    - dirmngr_use_tor
    - http_get_header
    - http_get_status_code
    - es_fwrite
    - http_close
    - strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_ocsp_request (ctrl_t ctrl, ksba_ocsp_t ocsp,\n                 const
      char *url, ksba_cert_t cert, ksba_cert_t issuer_cert,\n                 ksba_sexp_t
      *r_sigval, ksba_isotime_t r_produced_at,\n                 gcry_md_hd_t *r_md)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_fingerprint_hexstring
      Src: /src/gnupg/dirmngr/ocsp.c:378,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ocsp.c:379,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:386,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:386,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:387,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:389,1
    - Dst: get_fingerprint_hexstring
      Src: /src/gnupg/dirmngr/ocsp.c:409,1
    - Dst: dirmngr_status
      Src: /src/gnupg/dirmngr/ocsp.c:410,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ctrl
    - cert
    - signer_fpr_list
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - fingerprint_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 416
    functionName: validate_responder_cert
    functionSourceFile: /src/gnupg/dirmngr/ocsp.c
    functionUses: 0
    functionsReached:
    - log_error
    - _
    - get_fingerprint_hexstring
    - strcmp
    - gpg_error
    - xfree
    - dirmngr_status
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t validate_responder_cert (ctrl_t ctrl, ksba_cert_t cert,\n
      \                        fingerprint_list_t signer_fpr_list)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_public_key
      Src: /src/gnupg/dirmngr/ocsp.c:432,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:434,1
    - Dst: canon_sexp_to_gcry
      Src: /src/gnupg/dirmngr/ocsp.c:437,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:438,1
    - Dst: gcry_md_get_algo
      Src: /src/gnupg/dirmngr/ocsp.c:444,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/dirmngr/ocsp.c:445,1
    - Dst: pk_algo_from_sexp
      Src: /src/gnupg/dirmngr/ocsp.c:447,1
    - Dst: gcry_pk_get_nbits
      Src: /src/gnupg/dirmngr/ocsp.c:451,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:456,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:458,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:465,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:465,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:467,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:474,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:474,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:480,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/dirmngr/ocsp.c:489,1
    - Dst: gcry_md_read
      Src: /src/gnupg/dirmngr/ocsp.c:490,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/dirmngr/ocsp.c:492,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ocsp.c:492,1
    - Dst: ascii_tolower
      Src: /src/gnupg/dirmngr/ocsp.c:499,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/dirmngr/ocsp.c:501,1
    - Dst: gcry_md_read
      Src: /src/gnupg/dirmngr/ocsp.c:504,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:507,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:510,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:510,1
    - Dst: gcry_strerror
      Src: /src/gnupg/dirmngr/ocsp.c:510,1
    - Dst: gcry_log_debugsxp
      Src: /src/gnupg/dirmngr/ocsp.c:516,1
    - Dst: gcry_log_debugsxp
      Src: /src/gnupg/dirmngr/ocsp.c:517,1
    - Dst: gcry_pk_verify
      Src: /src/gnupg/dirmngr/ocsp.c:520,1
    - Dst: validate_responder_cert
      Src: /src/gnupg/dirmngr/ocsp.c:524,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/ocsp.c:527,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/ocsp.c:528,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 5
    argNames:
    - ctrl
    - cert
    - s_sig
    - md
    - signer_fpr_list
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - gcry_sexp_t
    - gcry_md_hd_t
    - fingerprint_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 420
    functionDepth: 4
    functionLinenumber: 420
    functionLinenumberEnd: 530
    functionName: check_signature_core
    functionSourceFile: /src/gnupg/dirmngr/ocsp.c
    functionUses: 0
    functionsReached:
    - ksba_cert_get_public_key
    - canon_sexp_to_gcry
    - strlen
    - gcry_strerror
    - gcry_pk_get_nbits
    - pk_algo_from_sexp
    - gcry_log_debugsxp
    - log_error
    - gcry_md_algo_name
    - validate_responder_cert
    - _
    - gcry_md_get_algo
    - gcry_sexp_release
    - gcry_md_read
    - gcry_pk_verify
    - gcry_sexp_build
    - gpg_error
    - xfree
    - ascii_tolower
    - gcry_md_get_algo_dlen
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t check_signature_core (ctrl_t ctrl, ksba_cert_t cert, gcry_sexp_t
      s_sig,\n                      gcry_md_hd_t md, fingerprint_list_t signer_fpr_list)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_final
      Src: /src/gnupg/dirmngr/ocsp.c:549,1
    - Dst: release_ctrl_ocsp_certs
      Src: /src/gnupg/dirmngr/ocsp.c:552,1
    - Dst: get_cert_byhexfpr
      Src: /src/gnupg/dirmngr/ocsp.c:559,1
    - Dst: get_cert_local
      Src: /src/gnupg/dirmngr/ocsp.c:561,1
    - Dst: check_signature_core
      Src: /src/gnupg/dirmngr/ocsp.c:564,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/ocsp.c:566,1
    - Dst: ksba_ocsp_get_cert
      Src: /src/gnupg/dirmngr/ocsp.c:582,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/ocsp.c:588,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ocsp.c:591,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:592,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:592,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ocsp.c:593,1
    - Dst: cache_cert_silent
      Src: /src/gnupg/dirmngr/ocsp.c:595,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:601,1
    - Dst: ksba_ocsp_get_responder_id
      Src: /src/gnupg/dirmngr/ocsp.c:605,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:608,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:608,1
    - Dst: gcry_strerror
      Src: /src/gnupg/dirmngr/ocsp.c:609,1
    - Dst: find_cert_bysubject
      Src: /src/gnupg/dirmngr/ocsp.c:612,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:615,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/ocsp.c:617,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/ocsp.c:620,1
    - Dst: dump_serial
      Src: /src/gnupg/dirmngr/ocsp.c:621,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/ocsp.c:622,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/ocsp.c:624,1
    - Dst: check_signature_core
      Src: /src/gnupg/dirmngr/ocsp.c:629,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/ocsp.c:630,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/ocsp.c:633,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/ocsp.c:634,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:637,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/ocsp.c:639,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/ocsp.c:642,1
    - Dst: dump_serial
      Src: /src/gnupg/dirmngr/ocsp.c:643,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/ocsp.c:644,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/ocsp.c:646,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ocsp.c:646,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/ocsp.c:648,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/ocsp.c:649,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:652,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:652,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:653,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 68
    argCount: 5
    argNames:
    - ctrl
    - ocsp
    - s_sig
    - md
    - signer_fpr_list
    argTypes:
    - ctrl_t
    - ksba_ocsp_t
    - gcry_sexp_t
    - gcry_md_hd_t
    - fingerprint_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 539
    functionDepth: 5
    functionLinenumber: 539
    functionLinenumberEnd: 654
    functionName: check_signature
    functionSourceFile: /src/gnupg/dirmngr/ocsp.c
    functionUses: 2
    functionsReached:
    - ksba_free
    - get_cert_byhexfpr
    - cache_cert_silent
    - gcry_md_final
    - gcry_strerror
    - xtrymalloc
    - release_ctrl_ocsp_certs
    - log_error
    - ksba_ocsp_get_responder_id
    - _
    - dump_serial
    - log_printf
    - ksba_cert_release
    - find_cert_bysubject
    - gpg_error_from_syserror
    - check_signature_core
    - gpg_error
    - gpg_strerror
    - xfree
    - ksba_ocsp_get_cert
    - get_cert_local
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t check_signature (ctrl_t ctrl,\n                 ksba_ocsp_t
      ocsp, gcry_sexp_t s_sig, gcry_md_hd_t md,\n                 fingerprint_list_t
      signer_fpr_list)"
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_ref
      Src: /src/gnupg/dirmngr/ocsp.c:695,1
    - Dst: find_issuing_cert
      Src: /src/gnupg/dirmngr/ocsp.c:697,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:700,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:700,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ocsp.c:701,1
    - Dst: get_cert_local
      Src: /src/gnupg/dirmngr/ocsp.c:707,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:710,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:710,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:711,1
    - Dst: get_issuing_cert_local
      Src: /src/gnupg/dirmngr/ocsp.c:714,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:717,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:717,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:718,1
    - Dst: ksba_ocsp_new
      Src: /src/gnupg/dirmngr/ocsp.c:724,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:727,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:727,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ocsp.c:728,1
    - Dst: ksba_cert_get_authority_info_access
      Src: /src/gnupg/dirmngr/ocsp.c:739,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ocsp.c:742,1
    - Dst: ksba_name_enum
      Src: /src/gnupg/dirmngr/ocsp.c:744,1
    - Dst: ksba_name_get_uri
      Src: /src/gnupg/dirmngr/ocsp.c:746,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/dirmngr/ocsp.c:747,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/dirmngr/ocsp.c:748,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:751,1
    - Dst: ksba_name_release
      Src: /src/gnupg/dirmngr/ocsp.c:754,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/ocsp.c:755,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/ocsp.c:757,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:759,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:759,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ocsp.c:759,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ocsp.c:766,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:766,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:767,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ocsp.c:772,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:772,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:773,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ocsp.c:779,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:779,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ocsp.c:784,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:784,1
    - Dst: do_ocsp_request
      Src: /src/gnupg/dirmngr/ocsp.c:788,1
    - Dst: ksba_ocsp_get_responder_id
      Src: /src/gnupg/dirmngr/ocsp.c:799,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ocsp.c:801,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:801,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ocsp.c:801,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ocsp.c:804,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/ocsp.c:806,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/ocsp.c:809,1
    - Dst: dump_serial
      Src: /src/gnupg/dirmngr/ocsp.c:810,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/ocsp.c:811,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/ocsp.c:813,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/ocsp.c:815,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/ocsp.c:816,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:823,1
    - Dst: canon_sexp_to_gcry
      Src: /src/gnupg/dirmngr/ocsp.c:826,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:828,1
    - Dst: check_signature
      Src: /src/gnupg/dirmngr/ocsp.c:830,1
    - Dst: ksba_ocsp_get_status
      Src: /src/gnupg/dirmngr/ocsp.c:836,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:841,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:841,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ocsp.c:842,1
    - Dst: ksba_cert_set_user_data
      Src: /src/gnupg/dirmngr/ocsp.c:851,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:855,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ocsp.c:856,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ocsp.c:894,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:894,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:895,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:896,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:897,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:898,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ocsp.c:901,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:901,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:909,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/dirmngr/ocsp.c:911,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:916,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:918,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/dirmngr/ocsp.c:921,1
    - Dst: add_seconds_to_isotime
      Src: /src/gnupg/dirmngr/ocsp.c:922,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ocsp.c:924,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:926,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:926,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ocsp.c:927,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:929,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/dirmngr/ocsp.c:933,1
    - Dst: add_seconds_to_isotime
      Src: /src/gnupg/dirmngr/ocsp.c:934,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ocsp.c:936,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:938,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:938,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ocsp.c:939,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:942,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/dirmngr/ocsp.c:948,1
    - Dst: add_seconds_to_isotime
      Src: /src/gnupg/dirmngr/ocsp.c:949,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ocsp.c:951,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ocsp.c:953,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ocsp.c:953,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/ocsp.c:954,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ocsp.c:957,1
    - Dst: gcry_md_close
      Src: /src/gnupg/dirmngr/ocsp.c:963,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/ocsp.c:964,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:965,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/ocsp.c:966,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/ocsp.c:967,1
    - Dst: ksba_ocsp_release
      Src: /src/gnupg/dirmngr/ocsp.c:968,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:969,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 213
    argCount: 6
    argNames:
    - ctrl
    - cert
    - cert_fpr
    - force_default_responder
    - r_revoked_at
    - r_reason
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - char*
    - int
    - ksba_isotime_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 663
    functionDepth: 4
    functionLinenumber: 663
    functionLinenumberEnd: 971
    functionName: ocsp_isvalid
    functionSourceFile: /src/gnupg/dirmngr/ocsp.c
    functionUses: 2
    functionsReached:
    - ksba_free
    - ksba_ocsp_get_status
    - canon_sexp_to_gcry
    - ksba_name_release
    - check_signature
    - get_issuing_cert_local
    - find_issuing_cert
    - gcry_md_close
    - gnupg_copy_time
    - do_ocsp_request
    - log_error
    - ksba_ocsp_get_responder_id
    - _
    - dump_serial
    - log_info
    - gcry_sexp_release
    - ksba_name_enum
    - log_printf
    - ksba_cert_release
    - ksba_cert_get_authority_info_access
    - strcmp
    - ksba_ocsp_release
    - gpg_error
    - gnupg_get_isotime
    - gpg_strerror
    - xfree
    - ksba_cert_set_user_data
    - get_cert_local
    - ksba_name_get_uri
    - ascii_strncasecmp
    - ksba_ocsp_new
    - add_seconds_to_isotime
    - gpg_err_code
    - ksba_cert_ref
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ocsp_isvalid (ctrl_t ctrl, ksba_cert_t cert, const char
      *cert_fpr,\n              int force_default_responder, ksba_isotime_t r_revoked_at,\n
      \             const char **r_reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ocsp.c:981,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 984
    functionName: release_ctrl_ocsp_certs
    functionSourceFile: /src/gnupg/dirmngr/ocsp.c
    functionUses: 2
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_ctrl_ocsp_certs (ctrl_t ctrl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ks_print_help
      Src: /src/gnupg/dirmngr/ks-engine-http.c:54,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ks-engine-http.c:55,1
    - Dst: ks_print_help
      Src: /src/gnupg/dirmngr/ks-engine-http.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ctrl
    - uri
    argTypes:
    - ctrl_t
    - parsed_uri_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 61
    functionName: ks_http_help
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-http.c
    functionUses: 1
    functionsReached:
    - strcmp
    - ks_print_help
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ks_http_help (ctrl_t ctrl, parsed_uri_t uri)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: http_parse_uri
      Src: /src/gnupg/dirmngr/ks-engine-http.c:83,1
    - Dst: http_session_new
      Src: /src/gnupg/dirmngr/ks-engine-http.c:102,1
    - Dst: http_session_set_log_cb
      Src: /src/gnupg/dirmngr/ks-engine-http.c:106,1
    - Dst: http_session_set_timeout
      Src: /src/gnupg/dirmngr/ks-engine-http.c:107,1
    - Dst: http_open
      Src: /src/gnupg/dirmngr/ks-engine-http.c:110,1
    - Dst: dirmngr_use_tor
      Src: /src/gnupg/dirmngr/ks-engine-http.c:117,1
    - Dst: http_get_write_ptr
      Src: /src/gnupg/dirmngr/ks-engine-http.c:126,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/ks-engine-http.c:131,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/ks-engine-http.c:134,1
    - Dst: http_start_data
      Src: /src/gnupg/dirmngr/ks-engine-http.c:135,1
    - Dst: es_ferror
      Src: /src/gnupg/dirmngr/ks-engine-http.c:136,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/ks-engine-http.c:137,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-http.c:141,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ks-engine-http.c:141,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ks-engine-http.c:142,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/ks-engine-http.c:143,1
    - Dst: gpg_err_source
      Src: /src/gnupg/dirmngr/ks-engine-http.c:144,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/ks-engine-http.c:148,1
    - Dst: http_parse_uri
      Src: /src/gnupg/dirmngr/ks-engine-http.c:149,1
    - Dst: dirmngr_status_printf
      Src: /src/gnupg/dirmngr/ks-engine-http.c:154,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/ks-engine-http.c:160,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/ks-engine-http.c:163,1
    - Dst: http_parse_uri
      Src: /src/gnupg/dirmngr/ks-engine-http.c:164,1
    - Dst: dirmngr_status_printf
      Src: /src/gnupg/dirmngr/ks-engine-http.c:169,1
    - Dst: dirmngr_tick
      Src: /src/gnupg/dirmngr/ks-engine-http.c:178,1
    - Dst: http_wait_response
      Src: /src/gnupg/dirmngr/ks-engine-http.c:179,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-http.c:182,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ks-engine-http.c:182,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/ks-engine-http.c:183,1
    - Dst: http_get_status_code
      Src: /src/gnupg/dirmngr/ks-engine-http.c:187,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-http.c:197,1
    - Dst: http_prepare_redirect
      Src: /src/gnupg/dirmngr/ks-engine-http.c:198,1
    - Dst: http_get_status_code
      Src: /src/gnupg/dirmngr/ks-engine-http.c:198,1
    - Dst: http_get_header
      Src: /src/gnupg/dirmngr/ks-engine-http.c:199,1
    - Dst: http_close
      Src: /src/gnupg/dirmngr/ks-engine-http.c:205,1
    - Dst: http_session_release
      Src: /src/gnupg/dirmngr/ks-engine-http.c:207,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ks-engine-http.c:213,1
    - Dst: _
      Src: /src/gnupg/dirmngr/ks-engine-http.c:213,1
    - Dst: http_get_status_code
      Src: /src/gnupg/dirmngr/ks-engine-http.c:214,1
    - Dst: http_get_status_code
      Src: /src/gnupg/dirmngr/ks-engine-http.c:215,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-http.c:217,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-http.c:218,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-http.c:219,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-http.c:220,1
    - Dst: http_get_read_ptr
      Src: /src/gnupg/dirmngr/ks-engine-http.c:225,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/ks-engine-http.c:228,1
    - Dst: http_close
      Src: /src/gnupg/dirmngr/ks-engine-http.c:234,1
    - Dst: http_close
      Src: /src/gnupg/dirmngr/ks-engine-http.c:238,1
    - Dst: http_session_release
      Src: /src/gnupg/dirmngr/ks-engine-http.c:239,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/ks-engine-http.c:240,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/ks-engine-http.c:241,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/ks-engine-http.c:242,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 118
    argCount: 4
    argNames:
    - ctrl
    - url
    - flags
    - r_fp
    argTypes:
    - ctrl_t
    - char*
    - unsigned int
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 244
    functionName: ks_http_fetch
    functionSourceFile: /src/gnupg/dirmngr/ks-engine-http.c
    functionUses: 5
    functionsReached:
    - es_fprintf
    - http_wait_response
    - http_session_set_timeout
    - http_session_set_log_cb
    - http_start_data
    - gpg_err_source
    - http_release_parsed_uri
    - http_open
    - http_session_new
    - http_prepare_redirect
    - log_error
    - http_session_release
    - _
    - dirmngr_status_printf
    - es_ferror
    - gpg_error_from_syserror
    - dirmngr_tick
    - http_get_read_ptr
    - http_get_write_ptr
    - gpg_error
    - gpg_strerror
    - xfree
    - es_fputs
    - http_parse_uri
    - dirmngr_use_tor
    - http_get_header
    - http_get_status_code
    - gpg_err_code
    - http_close
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ks_http_fetch (ctrl_t ctrl, const char *url, unsigned
      int flags,\n               estream_t *r_fp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - protos
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: LDAP_P
    functionSourceFile: /src/gnupg/dirmngr/ldap-url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDAP_P(protos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: LDAP_VFREE
    functionSourceFile: /src/gnupg/dirmngr/ldap-url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDAP_VFREE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: ldap_utf8_strtok
    functionSourceFile: /src/gnupg/dirmngr/ldap-url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ldap_utf8_strtok(n,d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LDAP_MALLOC
      Src: /src/gnupg/dirmngr/ldap-url.c:121,1
    - Dst: LDAP_REALLOC::LDAP_REALLOC
      Src: /src/gnupg/dirmngr/ldap-url.c:135,1
    - Dst: LDAP_STRDUP
      Src: /src/gnupg/dirmngr/ldap-url.c:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - a
    - s
    argTypes:
    - char***
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 155
    functionName: ldap_charray_add
    functionSourceFile: /src/gnupg/dirmngr/ldap-url.c
    functionUses: 0
    functionsReached:
    - LDAP_REALLOC::LDAP_REALLOC
    - LDAP_STRDUP
    - LDAP_MALLOC
    linkageType: ''
    returnType: int
    signature: "int ldap_charray_add(\n    char\t***a,\n    char\t*s\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LDAP_REALLOC
      Src: /src/gnupg/dirmngr/ldap-url.c:173,1
    - Dst: LDAP_STRDUP
      Src: /src/gnupg/dirmngr/ldap-url.c:182,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - a
    - s
    argTypes:
    - char***
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 195
    functionName: ldap_charray_merge
    functionSourceFile: /src/gnupg/dirmngr/ldap-url.c
    functionUses: 0
    functionsReached:
    - LDAP_STRDUP
    - LDAP_FREE
    - LDAP_REALLOC
    linkageType: ''
    returnType: int
    signature: "int ldap_charray_merge(\n    char\t***a,\n    char\t**s\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:208,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 213
    functionName: ldap_charray_free
    functionSourceFile: /src/gnupg/dirmngr/ldap-url.c
    functionUses: 0
    functionsReached:
    - LDAP_FREE
    linkageType: ''
    returnType: void
    signature: void ldap_charray_free( char **a )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/ldap-url.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - a
    - s
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 232
    functionName: ldap_charray_inlist
    functionSourceFile: /src/gnupg/dirmngr/ldap-url.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: "int ldap_charray_inlist(\n    char\t**a,\n    char\t*s\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LDAP_MALLOC::LDAP_MALLOC
      Src: /src/gnupg/dirmngr/ldap-url.c:243,1
    - Dst: LDAP_STRDUP
      Src: /src/gnupg/dirmngr/ldap-url.c:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 263
    functionName: ldap_charray_dup
    functionSourceFile: /src/gnupg/dirmngr/ldap-url.c
    functionUses: 0
    functionsReached:
    - LDAP_MALLOC::LDAP_MALLOC
    - LDAP_STRDUP
    linkageType: ''
    returnType: char
    signature: 'char **

      ldap_charray_dup( char **a )'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LDAP_STRDUP
      Src: /src/gnupg/dirmngr/ldap-url.c:273,1
    - Dst: ldap_utf8_strchr
      Src: /src/gnupg/dirmngr/ldap-url.c:280,1
    - Dst: LDAP_MALLOC
      Src: /src/gnupg/dirmngr/ldap-url.c:285,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:288,1
    - Dst: ldap_utf8_strtok
      Src: /src/gnupg/dirmngr/ldap-url.c:294,1
    - Dst: ldap_utf8_strtok
      Src: /src/gnupg/dirmngr/ldap-url.c:296,1
    - Dst: LDAP_STRDUP
      Src: /src/gnupg/dirmngr/ldap-url.c:298,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:302,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:304,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:305,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 316
    functionName: ldap_str2charray
    functionSourceFile: /src/gnupg/dirmngr/ldap-url.c
    functionUses: 0
    functionsReached:
    - LDAP_FREE
    - ldap_utf8_strchr
    - ldap_utf8_strtok
    - LDAP_STRDUP
    - LDAP_MALLOC
    linkageType: ''
    returnType: char
    signature: 'char **

      ldap_str2charray( const char *str_in, const char *brkstr )'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ldap-url.c:326,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ldap-url.c:330,1
    - Dst: LDAP_MALLOC
      Src: /src/gnupg/dirmngr/ldap-url.c:340,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/ldap-url.c:349,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ldap-url.c:353,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/ldap-url.c:354,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - a
    - sep
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 360
    functionName: ldap_charray2str
    functionSourceFile: /src/gnupg/dirmngr/ldap-url.c
    functionUses: 0
    functionsReached:
    - memcpy
    - LDAP_MALLOC
    - strlen
    linkageType: ''
    returnType: char
    signature: char * ldap_charray2str( char **a, const char *sep )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_url_prefix
      Src: /src/gnupg/dirmngr/ldap-url.c:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - url
    argTypes:
    - LDAP_CONST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 409
    functionName: ldap_is_ldap_url
    functionSourceFile: /src/gnupg/dirmngr/ldap-url.c
    functionUses: 1
    functionsReached:
    - skip_url_prefix
    linkageType: ''
    returnType: int
    signature: int ldap_is_ldap_url( LDAP_CONST char *url )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/gnupg/dirmngr/ldap-url.c:439,1
    - Dst: strncasecmp
      Src: /src/gnupg/dirmngr/ldap-url.c:444,1
    - Dst: strncasecmp
      Src: /src/gnupg/dirmngr/ldap-url.c:452,1
    - Dst: strncasecmp
      Src: /src/gnupg/dirmngr/ldap-url.c:460,1
    - Dst: strncasecmp
      Src: /src/gnupg/dirmngr/ldap-url.c:469,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - url
    - enclosedp
    - scheme
    argTypes:
    - char*
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 478
    functionName: skip_url_prefix
    functionSourceFile: /src/gnupg/dirmngr/ldap-url.c
    functionUses: 1
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: char
    signature: "char *\nskip_url_prefix(\n\tconst char *url,\n\tint *enclosedp,\n\tconst
      char **scheme )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/ldap-url.c:483,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/ldap-url.c:486,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/ldap-url.c:489,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/ldap-url.c:492,1
    - Dst: strcasecmp
      Src: /src/gnupg/dirmngr/ldap-url.c:495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 500
    functionName: str2scope
    functionSourceFile: /src/gnupg/dirmngr/ldap-url.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int str2scope( const char *p )
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: LDAP_LOG
      Src: /src/gnupg/dirmngr/ldap-url.c:528,1
    - Dst: Debug
      Src: /src/gnupg/dirmngr/ldap-url.c:530,1
    - Dst: skip_url_prefix
      Src: /src/gnupg/dirmngr/ldap-url.c:536,1
    - Dst: assert
      Src: /src/gnupg/dirmngr/ldap-url.c:542,1
    - Dst: LDAP_STRDUP
      Src: /src/gnupg/dirmngr/ldap-url.c:545,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ldap-url.c:551,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:554,1
    - Dst: LDAP_CALLOC
      Src: /src/gnupg/dirmngr/ldap-url.c:562,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:565,1
    - Dst: LDAP_STRDUP
      Src: /src/gnupg/dirmngr/ldap-url.c:579,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:582,1
    - Dst: ldap_free_urldesc
      Src: /src/gnupg/dirmngr/ldap-url.c:583,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ldap-url.c:588,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ldap-url.c:597,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:599,1
    - Dst: ldap_free_urldesc
      Src: /src/gnupg/dirmngr/ldap-url.c:600,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ldap-url.c:604,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ldap-url.c:606,1
    - Dst: ldap_pvt_hex_unescape
      Src: /src/gnupg/dirmngr/ldap-url.c:611,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:614,1
    - Dst: ldap_free_urldesc
      Src: /src/gnupg/dirmngr/ldap-url.c:615,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/ldap-url.c:619,1
    - Dst: ldap_pvt_hex_unescape
      Src: /src/gnupg/dirmngr/ldap-url.c:622,1
    - Dst: LDAP_STRDUP
      Src: /src/gnupg/dirmngr/ldap-url.c:625,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:628,1
    - Dst: ldap_free_urldesc
      Src: /src/gnupg/dirmngr/ldap-url.c:629,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ldap-url.c:642,1
    - Dst: ldap_pvt_hex_unescape
      Src: /src/gnupg/dirmngr/ldap-url.c:649,1
    - Dst: LDAP_STRDUP
      Src: /src/gnupg/dirmngr/ldap-url.c:650,1
    - Dst: LDAP_STRDUP
      Src: /src/gnupg/dirmngr/ldap-url.c:652,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:656,1
    - Dst: ldap_free_urldesc
      Src: /src/gnupg/dirmngr/ldap-url.c:657,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:664,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ldap-url.c:670,1
    - Dst: ldap_pvt_hex_unescape
      Src: /src/gnupg/dirmngr/ldap-url.c:679,1
    - Dst: LDAP_STRDUP
      Src: /src/gnupg/dirmngr/ldap-url.c:680,1
    - Dst: LDAP_STRDUP
      Src: /src/gnupg/dirmngr/ldap-url.c:682,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:686,1
    - Dst: ldap_free_urldesc
      Src: /src/gnupg/dirmngr/ldap-url.c:687,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:693,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ldap-url.c:700,1
    - Dst: ldap_pvt_hex_unescape
      Src: /src/gnupg/dirmngr/ldap-url.c:709,1
    - Dst: ldap_str2charray
      Src: /src/gnupg/dirmngr/ldap-url.c:710,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:713,1
    - Dst: ldap_free_urldesc
      Src: /src/gnupg/dirmngr/ldap-url.c:714,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:721,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ldap-url.c:728,1
    - Dst: ldap_pvt_hex_unescape
      Src: /src/gnupg/dirmngr/ldap-url.c:737,1
    - Dst: str2scope
      Src: /src/gnupg/dirmngr/ldap-url.c:738,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:741,1
    - Dst: ldap_free_urldesc
      Src: /src/gnupg/dirmngr/ldap-url.c:742,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:749,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ldap-url.c:756,1
    - Dst: ldap_pvt_hex_unescape
      Src: /src/gnupg/dirmngr/ldap-url.c:765,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:769,1
    - Dst: ldap_free_urldesc
      Src: /src/gnupg/dirmngr/ldap-url.c:770,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:774,1
    - Dst: LDAP_STRDUP
      Src: /src/gnupg/dirmngr/ldap-url.c:775,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:778,1
    - Dst: ldap_free_urldesc
      Src: /src/gnupg/dirmngr/ldap-url.c:779,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:786,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/ldap-url.c:793,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:797,1
    - Dst: ldap_free_urldesc
      Src: /src/gnupg/dirmngr/ldap-url.c:798,1
    - Dst: ldap_str2charray
      Src: /src/gnupg/dirmngr/ldap-url.c:803,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:806,1
    - Dst: ldap_free_urldesc
      Src: /src/gnupg/dirmngr/ldap-url.c:807,1
    - Dst: ldap_pvt_hex_unescape
      Src: /src/gnupg/dirmngr/ldap-url.c:812,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:822,1
    - Dst: ldap_free_urldesc
      Src: /src/gnupg/dirmngr/ldap-url.c:823,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:829,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 209
    argCount: 2
    argNames:
    - url_in
    - ludpp
    argTypes:
    - LDAP_CONST*
    - LDAPURLDesc**
    assertStmts:
    - condition: ( scheme )
      pos:
        line_end: 541
        line_start: 541
        source_file: /src/gnupg/dirmngr/ldap-url.c
    constantsTouched: []
    func_position:
      end: 831
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 831
    functionName: ldap_url_parse_ext
    functionSourceFile: /src/gnupg/dirmngr/ldap-url.c
    functionUses: 0
    functionsReached:
    - LDAP_FREE
    - atoi
    - assert
    - strlen
    - Debug
    - LDAP_CALLOC
    - LDAP_LOG
    - ldap_free_urldesc
    - strchr
    - skip_url_prefix
    - ldap_pvt_hex_unescape
    - str2scope
    - LDAP_STRDUP
    - ldap_str2charray
    linkageType: ''
    returnType: int
    signature: int ldap_url_parse_ext( LDAP_CONST char *url_in, LDAPURLDesc **ludpp
      )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ldap_url_parse_ext
      Src: /src/gnupg/dirmngr/ldap-url.c:836,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:847,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ldap-url.c:852,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ldap-url.c:855,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ldap-url.c:858,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - url_in
    - ludpp
    argTypes:
    - LDAP_CONST*
    - LDAPURLDesc**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 833
    functionDepth: 3
    functionLinenumber: 833
    functionLinenumberEnd: 864
    functionName: ldap_url_parse
    functionSourceFile: /src/gnupg/dirmngr/ldap-url.c
    functionUses: 1
    functionsReached:
    - strcmp
    - LDAP_FREE
    - ldap_url_parse_ext
    linkageType: ''
    returnType: int
    signature: int ldap_url_parse( LDAP_CONST char *url_in, LDAPURLDesc **ludpp )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:875,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:879,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:883,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:887,1
    - Dst: LDAP_VFREE
      Src: /src/gnupg/dirmngr/ldap-url.c:891,1
    - Dst: LDAP_VFREE
      Src: /src/gnupg/dirmngr/ldap-url.c:895,1
    - Dst: LDAP_FREE
      Src: /src/gnupg/dirmngr/ldap-url.c:898,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - ludp
    argTypes:
    - LDAPURLDesc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 899
    functionName: ldap_free_urldesc
    functionSourceFile: /src/gnupg/dirmngr/ldap-url.c
    functionUses: 2
    functionsReached:
    - LDAP_FREE
    - LDAP_VFREE
    linkageType: ''
    returnType: void
    signature: void ldap_free_urldesc( LDAPURLDesc *ludp )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 908
    functionName: ldap_int_unhex
    functionSourceFile: /src/gnupg/dirmngr/ldap-url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ldap_int_unhex( int c )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ldap_int_unhex
      Src: /src/gnupg/dirmngr/ldap-url.c:924,1
    - Dst: ldap_int_unhex
      Src: /src/gnupg/dirmngr/ldap-url.c:928,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 935
    functionName: ldap_pvt_hex_unescape
    functionSourceFile: /src/gnupg/dirmngr/ldap-url.c
    functionUses: 1
    functionsReached:
    - ldap_int_unhex
    linkageType: ''
    returnType: void
    signature: void ldap_pvt_hex_unescape( char *s )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_parse_uri
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:40,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: ldap_uri_p
    functionSourceFile: /src/gnupg/dirmngr/ldap-parse-uri.c
    functionUses: 5
    functionsReached:
    - http_parse_uri
    - http_release_parsed_uri
    linkageType: ''
    returnType: int
    signature: int ldap_uri_p (const char *url)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ldap_url_parse
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:81,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:84,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:95,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:98,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:103,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:106,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:111,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:112,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:115,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:121,1
    - Dst: add
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:129,1
    - Dst: add
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:130,1
    - Dst: add
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:131,1
    - Dst: add
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:132,1
    - Dst: add
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:133,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:135,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:138,1
    - Dst: copy
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:155,1
    - Dst: ascii_strlwr
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:157,1
    - Dst: copy
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:159,1
    - Dst: copy
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:160,1
    - Dst: copy
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:161,1
    - Dst: calloc
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:165,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:168,1
    - Dst: copy
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:172,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:173,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:176,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:184,1
    - Dst: ldap_free_urldesc
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:197,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:202,1
    - Dst: gpg_err_make
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:207,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 2
    argNames:
    - purip
    - uri
    argTypes:
    - parsed_uri_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 208
    functionName: ldap_parse_uri
    functionSourceFile: /src/gnupg/dirmngr/ldap-parse-uri.c
    functionUses: 5
    functionsReached:
    - ascii_strncasecmp
    - copy
    - gpg_err_code_from_syserror
    - atoi
    - log_error
    - strlen
    - ascii_strlwr
    - ldap_url_parse
    - calloc
    - gpg_err_make
    - ldap_free_urldesc
    - add
    - strcmp
    - xtrycalloc
    - strncmp
    - http_release_parsed_uri
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ldap_parse_uri (parsed_uri_t *purip, const char *uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: add
    functionSourceFile: /src/gnupg/dirmngr/ldap-parse-uri.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - to
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: copy
    functionSourceFile: /src/gnupg/dirmngr/ldap-parse-uri.c
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: copy(to, s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:220,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:221,1
    - Dst: xstrdup
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:223,1
    - Dst: xmalloc
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:227,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:227,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:233,1
    - Dst: snprintf
      Src: /src/gnupg/dirmngr/ldap-parse-uri.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - filter
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 259
    functionName: ldap_escape_filter
    functionSourceFile: /src/gnupg/dirmngr/ldap-parse-uri.c
    functionUses: 4
    functionsReached:
    - strlen
    - strcspn
    - snprintf
    - xmalloc
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      ldap_escape_filter (const char *filter)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gnupg/dirmngr/http-common.c:43,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/http-common.c:44,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/http-common.c:44,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/http-common.c:47,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/http-common.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - name_only
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 50
    functionName: get_default_keyserver
    functionSourceFile: /src/gnupg/dirmngr/http-common.c
    functionUses: 1
    functionsReached:
    - strlen
    - strchr
    - log_assert
    - strstr
    linkageType: ''
    returnType: char
    signature: 'char *

      get_default_keyserver (int name_only)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/crlcache.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: get_current_cache
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - log_fatal
    linkageType: ''
    returnType: crl_cache_t
    signature: crl_cache_t get_current_cache (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/dirmngr/crlcache.c:215,1
    - Dst: gnupg_opendir
      Src: /src/gnupg/dirmngr/crlcache.c:216,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:219,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:219,1
    - Dst: gnupg_mkdir
      Src: /src/gnupg/dirmngr/crlcache.c:220,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:223,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:223,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:224,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:225,1
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/dirmngr/crlcache.c:226,1
    - Dst: gnupg_closedir
      Src: /src/gnupg/dirmngr/crlcache.c:231,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 234
    functionName: create_directory_if_needed
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - gnupg_opendir
    - make_filename
    - gnupg_closedir
    - log_error
    - gnupg_mkdir
    - _
    - log_info
    - xfree
    - gpg_err_set_errno
    - strerror
    linkageType: ''
    returnType: int
    signature: int create_directory_if_needed (const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/dirmngr/crlcache.c:242,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/crlcache.c:249,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/crlcache.c:249,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:251,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:251,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:252,1
    - Dst: gnupg_opendir
      Src: /src/gnupg/dirmngr/crlcache.c:257,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:260,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:260,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:261,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:262,1
    - Dst: gnupg_readdir
      Src: /src/gnupg/dirmngr/crlcache.c:266,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/crlcache.c:268,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/crlcache.c:268,1
    - Dst: make_filename
      Src: /src/gnupg/dirmngr/crlcache.c:270,1
    - Dst: gnupg_stat
      Src: /src/gnupg/dirmngr/crlcache.c:277,1
    - Dst: S_ISREG
      Src: /src/gnupg/dirmngr/crlcache.c:277,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:281,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:281,1
    - Dst: gnupg_remove
      Src: /src/gnupg/dirmngr/crlcache.c:282,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:284,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:285,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:290,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:290,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:291,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:294,1
    - Dst: gnupg_closedir
      Src: /src/gnupg/dirmngr/crlcache.c:295,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - force
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 239
    functionDepth: 6
    functionLinenumber: 239
    functionLinenumberEnd: 297
    functionName: cleanup_cache_dir
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - gnupg_opendir
    - make_filename
    - gnupg_readdir
    - gnupg_closedir
    - log_error
    - _
    - strcmp
    - gnupg_remove
    - xfree
    - log_info
    - S_ISREG
    - gnupg_stat
    - strerror
    linkageType: ''
    returnType: int
    signature: int cleanup_cache_dir (int force)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: es_getc
      Src: /src/gnupg/dirmngr/crlcache.c:319,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/crlcache.c:326,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/crlcache.c:329,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/crlcache.c:332,1
    - Dst: xtryrealloc
      Src: /src/gnupg/dirmngr/crlcache.c:337,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/crlcache.c:340,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:341,1
    - Dst: xtryrealloc
      Src: /src/gnupg/dirmngr/crlcache.c:355,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/crlcache.c:357,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/crlcache.c:360,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:361,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - fp
    - r_err
    argTypes:
    - estream_t
    - gpg_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 364
    functionName: next_line_from_file
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - xtryrealloc
    - xtrystrdup
    - xfree
    - memcpy
    - es_getc
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      next_line_from_file (estream_t fp, gpg_error_t *r_err)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cdb_fileno
      Src: /src/gnupg/dirmngr/crlcache.c:375,1
    - Dst: cdb_free
      Src: /src/gnupg/dirmngr/crlcache.c:376,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:377,1
    - Dst: close
      Src: /src/gnupg/dirmngr/crlcache.c:378,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:379,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:379,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:379,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:381,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:382,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - entry
    argTypes:
    - crl_cache_entry_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 385
    functionName: release_one_cache_entry
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - cdb_free
    - log_error
    - close
    - _
    - cdb_fileno
    - xfree
    - strerror
    linkageType: ''
    returnType: void
    signature: void release_one_cache_entry (crl_cache_entry_t entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_one_cache_entry
      Src: /src/gnupg/dirmngr/crlcache.c:400,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cache
    argTypes:
    - crl_cache_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 404
    functionName: release_cache
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - xfree
    - release_one_cache_entry
    linkageType: ''
    returnType: void
    signature: void release_cache (crl_cache_t cache)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/dirmngr/crlcache.c:414,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:417,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:417,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:418,1
    - Dst: create_directory_if_needed
      Src: /src/gnupg/dirmngr/crlcache.c:421,1
    - Dst: create_directory_if_needed
      Src: /src/gnupg/dirmngr/crlcache.c:422,1
    - Dst: es_fopen
      Src: /src/gnupg/dirmngr/crlcache.c:424,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:427,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:427,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:428,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:431,1
    - Dst: es_ferror
      Src: /src/gnupg/dirmngr/crlcache.c:432,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:434,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:434,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:435,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/crlcache.c:436,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/crlcache.c:439,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:441,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:441,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:442,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:446,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:446,1
    - Dst: es_fopen
      Src: /src/gnupg/dirmngr/crlcache.c:448,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:451,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:451,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:452,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 409
    functionDepth: 4
    functionLinenumber: 409
    functionLinenumberEnd: 458
    functionName: open_dir_file
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - log_error
    - es_fclose
    - create_directory_if_needed
    - _
    - es_fopen
    - log_info
    - es_ferror
    - strerror
    linkageType: ''
    returnType: estream_t
    signature: estream_t open_dir_file (const char *fname)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: next_line_from_file
      Src: /src/gnupg/dirmngr/crlcache.c:472,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:479,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:479,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:480,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:481,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:483,1
    - Dst: strtol
      Src: /src/gnupg/dirmngr/crlcache.c:490,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:494,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:494,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/crlcache.c:495,1
    - Dst: cleanup_cache_dir
      Src: /src/gnupg/dirmngr/crlcache.c:497,1
    - Dst: open_dir_file
      Src: /src/gnupg/dirmngr/crlcache.c:500,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:503,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:504,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:510,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:510,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:511,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:512,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:514,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 4
    argNames:
    - fpadr
    - fname
    - lineno
    - cleanup_on_mismatch
    argTypes:
    - estream_t*
    - char*
    - unsigned int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 461
    functionDepth: 7
    functionLinenumber: 461
    functionLinenumberEnd: 516
    functionName: check_dir_version
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - strtol
    - log_error
    - es_fclose
    - next_line_from_file
    - open_dir_file
    - _
    - gpg_error
    - xfree
    - cleanup_cache_dir
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t check_dir_version (estream_t *fpadr, const char *fname,\n
      \                        unsigned int *lineno,\n                         int
      cleanup_on_mismatch)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/crlcache.c:537,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/crlcache.c:539,1
    - Dst: make_filename
      Src: /src/gnupg/dirmngr/crlcache.c:541,1
    - Dst: open_dir_file
      Src: /src/gnupg/dirmngr/crlcache.c:544,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:547,1
    - Dst: check_dir_version
      Src: /src/gnupg/dirmngr/crlcache.c:551,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:559,1
    - Dst: next_line_from_file
      Src: /src/gnupg/dirmngr/crlcache.c:560,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/crlcache.c:568,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/crlcache.c:571,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/crlcache.c:578,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/crlcache.c:587,1
    - Dst: unpercent_string
      Src: /src/gnupg/dirmngr/crlcache.c:595,1
    - Dst: unpercent_string
      Src: /src/gnupg/dirmngr/crlcache.c:596,1
    - Dst: strncpy
      Src: /src/gnupg/dirmngr/crlcache.c:598,1
    - Dst: strncpy
      Src: /src/gnupg/dirmngr/crlcache.c:602,1
    - Dst: unpercent_string
      Src: /src/gnupg/dirmngr/crlcache.c:609,1
    - Dst: unpercent_string
      Src: /src/gnupg/dirmngr/crlcache.c:613,1
    - Dst: xtrystrdup
      Src: /src/gnupg/dirmngr/crlcache.c:617,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:621,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:621,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:629,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:629,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:631,1
    - Dst: find_entry
      Src: /src/gnupg/dirmngr/crlcache.c:634,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:638,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:638,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:640,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:653,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:653,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:657,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:662,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:662,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:662,1
    - Dst: es_ferror
      Src: /src/gnupg/dirmngr/crlcache.c:665,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:667,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:667,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:667,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:668,1
    - Dst: assert
      Src: /src/gnupg/dirmngr/crlcache.c:675,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/crlcache.c:676,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:679,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:679,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:685,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:685,1
    - Dst: check_isotime
      Src: /src/gnupg/dirmngr/crlcache.c:688,1
    - Dst: check_isotime
      Src: /src/gnupg/dirmngr/crlcache.c:689,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:692,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:692,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/crlcache.c:697,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:698,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:698,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:704,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:704,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:705,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:705,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:706,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/crlcache.c:711,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:712,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:713,1
    - Dst: release_cache
      Src: /src/gnupg/dirmngr/crlcache.c:716,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 152
    argCount: 1
    argNames:
    - r_cache
    argTypes:
    - crl_cache_t*
    assertStmts:
    - condition: (entry->lineno)
      pos:
        line_end: 674
        line_start: 674
        source_file: /src/gnupg/dirmngr/crlcache.c
    constantsTouched: []
    func_position:
      end: 721
      start: 524
    functionDepth: 8
    functionLinenumber: 524
    functionLinenumberEnd: 721
    functionName: open_dir
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - strlen
    - find_entry
    - open_dir_file
    - strncpy
    - log_error
    - release_cache
    - unpercent_string
    - _
    - log_info
    - es_ferror
    - gpg_error_from_syserror
    - assert
    - check_isotime
    - next_line_from_file
    - xtrystrdup
    - gpg_error
    - strchr
    - xfree
    - gpg_strerror
    - xtrycalloc
    - check_dir_version
    - make_filename
    - atoi
    - es_fclose
    - strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t open_dir (crl_cache_t *r_cache)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:728,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:730,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:732,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - s
    - fp
    argTypes:
    - char*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 735
    functionName: write_percented_string
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - es_fputs
    - es_putc
    linkageType: ''
    returnType: void
    signature: void write_percented_string (const char *s, estream_t fp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:742,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:744,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:746,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:747,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:748,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:749,1
    - Dst: write_percented_string
      Src: /src/gnupg/dirmngr/crlcache.c:750,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:751,1
    - Dst: write_percented_string
      Src: /src/gnupg/dirmngr/crlcache.c:752,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:753,1
    - Dst: es_fwrite
      Src: /src/gnupg/dirmngr/crlcache.c:754,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:755,1
    - Dst: es_fwrite
      Src: /src/gnupg/dirmngr/crlcache.c:756,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:757,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:758,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:759,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:761,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:762,1
    - Dst: write_percented_string
      Src: /src/gnupg/dirmngr/crlcache.c:764,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:765,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:767,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:768,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:770,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:771,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - fp
    - e
    argTypes:
    - estream_t
    - crl_cache_entry_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 772
    functionName: write_dir_line_crl
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - es_putc
    - es_fwrite
    - write_percented_string
    - es_fputs
    linkageType: ''
    returnType: void
    signature: void write_dir_line_crl (estream_t fp, crl_cache_entry_t e)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/dirmngr/crlcache.c:789,1
    - Dst: es_fopen
      Src: /src/gnupg/dirmngr/crlcache.c:797,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/crlcache.c:800,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:801,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:801,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:802,1
    - Dst: check_dir_version
      Src: /src/gnupg/dirmngr/crlcache.c:805,1
    - Dst: es_rewind
      Src: /src/gnupg/dirmngr/crlcache.c:808,1
    - Dst: uname
      Src: /src/gnupg/dirmngr/crlcache.c:822,1
    - Dst: gpgrt_asprintf
      Src: /src/gnupg/dirmngr/crlcache.c:828,1
    - Dst: getpid
      Src: /src/gnupg/dirmngr/crlcache.c:829,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/crlcache.c:832,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:833,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:833,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:834,1
    - Dst: make_filename
      Src: /src/gnupg/dirmngr/crlcache.c:840,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:841,1
    - Dst: es_fopen
      Src: /src/gnupg/dirmngr/crlcache.c:843,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/crlcache.c:846,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:847,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:847,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:848,1
    - Dst: next_line_from_file
      Src: /src/gnupg/dirmngr/crlcache.c:852,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/crlcache.c:860,1
    - Dst: strchr
      Src: /src/gnupg/dirmngr/crlcache.c:861,1
    - Dst: find_entry
      Src: /src/gnupg/dirmngr/crlcache.c:867,1
    - Dst: write_dir_line_crl
      Src: /src/gnupg/dirmngr/crlcache.c:877,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:884,1
    - Dst: getpid
      Src: /src/gnupg/dirmngr/crlcache.c:886,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:887,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:888,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:893,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:894,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:895,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:901,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:902,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:905,1
    - Dst: es_ferror
      Src: /src/gnupg/dirmngr/crlcache.c:907,1
    - Dst: es_ferror
      Src: /src/gnupg/dirmngr/crlcache.c:907,1
    - Dst: write_dir_line_crl
      Src: /src/gnupg/dirmngr/crlcache.c:914,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:921,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:921,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:921,1
    - Dst: es_ferror
      Src: /src/gnupg/dirmngr/crlcache.c:924,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/crlcache.c:926,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:927,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:927,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:927,1
    - Dst: es_ferror
      Src: /src/gnupg/dirmngr/crlcache.c:929,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/crlcache.c:931,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:932,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:932,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:932,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/crlcache.c:938,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/crlcache.c:940,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/crlcache.c:942,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:943,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:943,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:943,1
    - Dst: gnupg_remove
      Src: /src/gnupg/dirmngr/crlcache.c:950,1
    - Dst: rename
      Src: /src/gnupg/dirmngr/crlcache.c:952,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/crlcache.c:954,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:955,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:955,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:956,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:962,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/crlcache.c:963,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:964,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/crlcache.c:967,1
    - Dst: gnupg_remove
      Src: /src/gnupg/dirmngr/crlcache.c:969,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:971,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 126
    argCount: 1
    argNames:
    - cache
    argTypes:
    - crl_cache_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 776
    functionDepth: 8
    functionLinenumber: 776
    functionLinenumberEnd: 973
    functionName: update_dir
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - es_fprintf
    - find_entry
    - es_fopen
    - log_error
    - write_dir_line_crl
    - _
    - es_putc
    - gpg_error_from_errno
    - es_rewind
    - rename
    - es_ferror
    - next_line_from_file
    - strchr
    - xfree
    - gpg_strerror
    - es_fputs
    - gpgrt_asprintf
    - getpid
    - check_dir_version
    - make_filename
    - es_fclose
    - uname
    - gnupg_remove
    - strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t update_dir (crl_cache_t cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnupg/dirmngr/crlcache.c:985,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/crlcache.c:985,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/crlcache.c:986,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/crlcache.c:987,1
    - Dst: strcpy
      Src: /src/gnupg/dirmngr/crlcache.c:988,1
    - Dst: make_filename
      Src: /src/gnupg/dirmngr/crlcache.c:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - issuer_hash
    argTypes:
    - char*
    assertStmts:
    - condition: (strlen (issuer_hash) == 40)
      pos:
        line_end: 984
        line_start: 984
        source_file: /src/gnupg/dirmngr/crlcache.c
    constantsTouched: []
    func_position:
      end: 990
      start: 980
    functionDepth: 3
    functionLinenumber: 980
    functionLinenumberEnd: 990
    functionName: make_db_file_name
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - make_filename
    - strlen
    - assert
    - strcpy
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      make_db_file_name (const char *issuer_hash)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/crlcache.c:1005,1
    - Dst: es_fopen
      Src: /src/gnupg/dirmngr/crlcache.c:1006,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1009,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1009,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1009,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1010,1
    - Dst: gcry_md_open
      Src: /src/gnupg/dirmngr/crlcache.c:1014,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1017,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1017,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1018,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1019,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/crlcache.c:1020,1
    - Dst: sprintf
      Src: /src/gnupg/dirmngr/crlcache.c:1025,1
    - Dst: gcry_md_write
      Src: /src/gnupg/dirmngr/crlcache.c:1026,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/crlcache.c:1026,1
    - Dst: es_fread
      Src: /src/gnupg/dirmngr/crlcache.c:1030,1
    - Dst: es_ferror
      Src: /src/gnupg/dirmngr/crlcache.c:1031,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1033,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1033,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1033,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1034,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/crlcache.c:1035,1
    - Dst: gcry_md_close
      Src: /src/gnupg/dirmngr/crlcache.c:1036,1
    - Dst: gcry_md_write
      Src: /src/gnupg/dirmngr/crlcache.c:1041,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/crlcache.c:1043,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1044,1
    - Dst: gcry_md_final
      Src: /src/gnupg/dirmngr/crlcache.c:1045,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/crlcache.c:1047,1
    - Dst: gcry_md_read
      Src: /src/gnupg/dirmngr/crlcache.c:1047,1
    - Dst: gcry_md_close
      Src: /src/gnupg/dirmngr/crlcache.c:1048,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - fname
    - md5buffer
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1050
    functionName: hash_dbfile
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_md_open
    - xtrymalloc
    - log_error
    - strlen
    - es_fclose
    - sprintf
    - _
    - es_fread
    - es_fopen
    - xfree
    - gpg_strerror
    - gcry_md_final
    - memcpy
    - gcry_md_close
    - es_ferror
    - gcry_md_read
    - strerror
    linkageType: ''
    returnType: int
    signature: int hash_dbfile (const char *fname, unsigned char *md5buffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/dirmngr/crlcache.c:1059,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1061,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1061,1
    - Dst: unhexify
      Src: /src/gnupg/dirmngr/crlcache.c:1064,1
    - Dst: hash_dbfile
      Src: /src/gnupg/dirmngr/crlcache.c:1066,1
    - Dst: memcmp
      Src: /src/gnupg/dirmngr/crlcache.c:1069,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - fname
    - md5hexvalue
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1054
    functionDepth: 2
    functionLinenumber: 1054
    functionLinenumberEnd: 1070
    functionName: check_dbfile
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - hash_dbfile
    - log_error
    - strlen
    - _
    - unhexify
    - memcmp
    linkageType: ''
    returnType: int
    signature: int check_dbfile (const char *fname, const char *md5hexvalue)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1114,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1114,1
    - Dst: cdb_fileno
      Src: /src/gnupg/dirmngr/crlcache.c:1120,1
    - Dst: cdb_free
      Src: /src/gnupg/dirmngr/crlcache.c:1121,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1122,1
    - Dst: close
      Src: /src/gnupg/dirmngr/crlcache.c:1124,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1125,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1125,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1125,1
    - Dst: make_db_file_name
      Src: /src/gnupg/dirmngr/crlcache.c:1130,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:1132,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1132,1
    - Dst: check_dbfile
      Src: /src/gnupg/dirmngr/crlcache.c:1136,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/crlcache.c:1142,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1145,1
    - Dst: gnupg_open
      Src: /src/gnupg/dirmngr/crlcache.c:1148,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1151,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1151,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1152,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1153,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1155,1
    - Dst: cdb_init
      Src: /src/gnupg/dirmngr/crlcache.c:1158,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1160,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1160,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1161,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1162,1
    - Dst: close
      Src: /src/gnupg/dirmngr/crlcache.c:1164,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1165,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1168,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 2
    argNames:
    - cache
    - entry
    argTypes:
    - crl_cache_t
    - crl_cache_entry_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1076
    functionDepth: 4
    functionLinenumber: 1076
    functionLinenumberEnd: 1174
    functionName: lock_db_file
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - check_dbfile
    - cdb_free
    - log_error
    - close
    - make_db_file_name
    - _
    - cdb_fileno
    - xfree
    - log_info
    - gnupg_open
    - xtrycalloc
    - cdb_init
    - strerror
    linkageType: ''
    returnType: struct cdb
    signature: 'struct cdb *

      lock_db_file (crl_cache_t cache, crl_cache_entry_t entry)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1181,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1181,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1183,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1183,1
    - Dst: assert
      Src: /src/gnupg/dirmngr/crlcache.c:1200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - cache
    - entry
    argTypes:
    - crl_cache_t
    - crl_cache_entry_t
    assertStmts:
    - condition: (eprev)
      pos:
        line_end: 1199
        line_start: 1199
        source_file: /src/gnupg/dirmngr/crlcache.c
    constantsTouched: []
    func_position:
      end: 1207
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1207
    functionName: unlock_db_file
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - assert
    - _
    - log_error
    linkageType: ''
    returnType: void
    signature: void unlock_db_file (crl_cache_t cache, crl_cache_entry_t entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/crlcache.c:1215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - first
    - issuer_hash
    argTypes:
    - crl_cache_entry_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1218
    functionName: find_entry
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: crl_cache_entry_t
    signature: crl_cache_entry_t find_entry (crl_cache_entry_t first, const char *issuer_hash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1231,1
    - Dst: open_dir
      Src: /src/gnupg/dirmngr/crlcache.c:1235,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/crlcache.c:1237,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1237,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1223
    functionDepth: 9
    functionLinenumber: 1223
    functionLinenumberEnd: 1240
    functionName: crl_cache_init
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 3
    functionsReached:
    - log_error
    - log_fatal
    - _
    - open_dir
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void crl_cache_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_cache
      Src: /src/gnupg/dirmngr/crlcache.c:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1245
    functionDepth: 3
    functionLinenumber: 1245
    functionLinenumberEnd: 1253
    functionName: crl_cache_deinit
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 2
    functionsReached:
    - release_cache
    linkageType: ''
    returnType: void
    signature: void crl_cache_deinit (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crl_cache_deinit
      Src: /src/gnupg/dirmngr/crlcache.c:1262,1
    - Dst: cleanup_cache_dir
      Src: /src/gnupg/dirmngr/crlcache.c:1263,1
    - Dst: crl_cache_init
      Src: /src/gnupg/dirmngr/crlcache.c:1264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1257
    functionDepth: 10
    functionLinenumber: 1257
    functionLinenumberEnd: 1267
    functionName: crl_cache_flush
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 2
    functionsReached:
    - crl_cache_init
    - cleanup_cache_dir
    - crl_cache_deinit
    linkageType: ''
    returnType: int
    signature: int crl_cache_flush (void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: get_current_cache
      Src: /src/gnupg/dirmngr/crlcache.c:1281,1
    - Dst: find_entry
      Src: /src/gnupg/dirmngr/crlcache.c:1291,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:1294,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1294,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/dirmngr/crlcache.c:1298,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/crlcache.c:1299,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:1301,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1301,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/dirmngr/crlcache.c:1311,1
    - Dst: add_seconds_to_isotime
      Src: /src/gnupg/dirmngr/crlcache.c:1312,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/crlcache.c:1313,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:1315,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1315,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:1323,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1323,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:1332,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1332,1
    - Dst: lock_db_file
      Src: /src/gnupg/dirmngr/crlcache.c:1337,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1343,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1343,1
    - Dst: unlock_db_file
      Src: /src/gnupg/dirmngr/crlcache.c:1345,1
    - Dst: cdb_find
      Src: /src/gnupg/dirmngr/crlcache.c:1349,1
    - Dst: cdb_datalen
      Src: /src/gnupg/dirmngr/crlcache.c:1352,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1355,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1355,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/crlcache.c:1356,1
    - Dst: log_printhex
      Src: /src/gnupg/dirmngr/crlcache.c:1357,1
    - Dst: hexify_data
      Src: /src/gnupg/dirmngr/crlcache.c:1362,1
    - Dst: cdb_read
      Src: /src/gnupg/dirmngr/crlcache.c:1364,1
    - Dst: cdb_datapos
      Src: /src/gnupg/dirmngr/crlcache.c:1364,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1365,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1365,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1366,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:1368,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1368,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1370,1
    - Dst: hexify_data
      Src: /src/gnupg/dirmngr/crlcache.c:1378,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:1379,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1379,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1381,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1387,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1387,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1388,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1398,1
    - Dst: get_istrusted_from_client
      Src: /src/gnupg/dirmngr/crlcache.c:1401,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:1404,1
    - Dst: unlock_db_file
      Src: /src/gnupg/dirmngr/crlcache.c:1414,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 77
    argCount: 5
    argNames:
    - ctrl
    - issuer_hash
    - sn
    - snlen
    - force_refresh
    argTypes:
    - ctrl_t
    - char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1276
    functionDepth: 5
    functionLinenumber: 1276
    functionLinenumberEnd: 1417
    functionName: cache_isvalid
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 1
    functionsReached:
    - find_entry
    - get_istrusted_from_client
    - gnupg_copy_time
    - cdb_find
    - log_printhex
    - log_error
    - _
    - cdb_read
    - log_info
    - log_printf
    - hexify_data
    - unlock_db_file
    - strcmp
    - gnupg_get_isotime
    - get_current_cache
    - xfree
    - cdb_datapos
    - cdb_datalen
    - add_seconds_to_isotime
    - lock_db_file
    - strerror
    linkageType: ''
    returnType: crl_cache_result_t
    signature: "crl_cache_result_t cache_isvalid (ctrl_t ctrl, const char *issuer_hash,\n
      \              const unsigned char *sn, size_t snlen,\n               int force_refresh)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/dirmngr/crlcache.c:1435,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/crlcache.c:1440,1
    - Dst: unhexify
      Src: /src/gnupg/dirmngr/crlcache.c:1445,1
    - Dst: cache_isvalid
      Src: /src/gnupg/dirmngr/crlcache.c:1447,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ctrl
    - issuer_hash
    - serialno
    - force_refresh
    argTypes:
    - ctrl_t
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1426
    functionDepth: 6
    functionLinenumber: 1426
    functionLinenumberEnd: 1453
    functionName: crl_cache_isvalid
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 1
    functionsReached:
    - strlen
    - unhexify
    - xfree
    - xtrymalloc
    - cache_isvalid
    linkageType: ''
    returnType: crl_cache_result_t
    signature: "crl_cache_result_t crl_cache_isvalid (ctrl_t ctrl, const char *issuer_hash,
      const char *serialno,\n                   int force_refresh)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/dirmngr/crlcache.c:1476,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1479,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1480,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/dirmngr/crlcache.c:1482,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/crlcache.c:1482,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1483,1
    - Dst: sprintf
      Src: /src/gnupg/dirmngr/crlcache.c:1485,1
    - Dst: ksba_cert_get_serial
      Src: /src/gnupg/dirmngr/crlcache.c:1488,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1491,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1492,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1497,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1498,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1499,1
    - Dst: strtoul
      Src: /src/gnupg/dirmngr/crlcache.c:1502,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1506,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1507,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1508,1
    - Dst: cache_isvalid
      Src: /src/gnupg/dirmngr/crlcache.c:1513,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1520,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1523,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1526,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1529,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/crlcache.c:1532,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1535,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 3
    argNames:
    - ctrl
    - cert
    - force_refresh
    argTypes:
    - ctrl_t
    - ksba_cert_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1461
    functionDepth: 6
    functionLinenumber: 1461
    functionLinenumberEnd: 1537
    functionName: crl_cache_cert_isvalid
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 2
    functionsReached:
    - gcry_md_hash_buffer
    - log_error
    - strlen
    - sprintf
    - log_fatal
    - gpg_error
    - xfree
    - ksba_cert_get_serial
    - strtoul
    - cache_isvalid
    - ksba_cert_get_issuer
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t crl_cache_cert_isvalid (ctrl_t ctrl, ksba_cert_t cert,\n
      \                       int force_refresh)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/crlcache.c:1549,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1552,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1552,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/crlcache.c:1555,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/dirmngr/crlcache.c:1557,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1559,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - buflen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1562
    functionName: hash_algo_from_buffer
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 2
    functionsReached:
    - log_error
    - _
    - xfree
    - gcry_md_map_name
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: int
    signature: int hash_algo_from_buffer (const void *buffer, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/crlcache.c:1573,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1576,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1576,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/crlcache.c:1579,1
    - Dst: strtoul
      Src: /src/gnupg/dirmngr/crlcache.c:1581,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - buffer
    - buflen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1567
    functionDepth: 1
    functionLinenumber: 1567
    functionLinenumberEnd: 1584
    functionName: uint_from_buffer
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 2
    functionsReached:
    - log_error
    - _
    - xfree
    - memcpy
    - strtoul
    - xtrymalloc
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int uint_from_buffer (const void *buffer, size_t buflen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ksba_crl_get_digest_algo
      Src: /src/gnupg/dirmngr/crlcache.c:1597,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/crlcache.c:1598,1
    - Dst: ksba_crl_get_sig_val
      Src: /src/gnupg/dirmngr/crlcache.c:1606,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/dirmngr/crlcache.c:1607,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/crlcache.c:1610,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1611,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1611,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1612,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/dirmngr/crlcache.c:1614,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/crlcache.c:1615,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1618,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1618,1
    - Dst: gcry_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1619,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/dirmngr/crlcache.c:1623,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/crlcache.c:1625,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1628,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1629,1
    - Dst: hash_algo_from_buffer
      Src: /src/gnupg/dirmngr/crlcache.c:1632,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1633,1
    - Dst: gcry_md_map_name
      Src: /src/gnupg/dirmngr/crlcache.c:1637,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1640,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1640,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1641,1
    - Dst: gcry_md_open
      Src: /src/gnupg/dirmngr/crlcache.c:1644,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1647,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1647,1
    - Dst: gcry_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1648,1
    - Dst: gcry_md_debug
      Src: /src/gnupg/dirmngr/crlcache.c:1652,1
    - Dst: ksba_crl_set_hash_function
      Src: /src/gnupg/dirmngr/crlcache.c:1654,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 4
    argNames:
    - crl
    - md
    - algo
    - use_pss
    argTypes:
    - ksba_crl_t
    - gcry_md_hd_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1590
    functionDepth: 1
    functionLinenumber: 1590
    functionLinenumberEnd: 1656
    functionName: start_sig_check
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - ksba_free
    - gcry_sexp_sscan
    - gcry_sexp_canon_len
    - gcry_strerror
    - ksba_crl_get_digest_algo
    - log_error
    - _
    - ksba_crl_get_sig_val
    - gcry_sexp_release
    - gcry_md_debug
    - ksba_crl_set_hash_function
    - gcry_md_open
    - gcry_sexp_extract_param
    - strcmp
    - gpg_error
    - gpg_strerror
    - xfree
    - gcry_md_map_name
    - hash_algo_from_buffer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t start_sig_check (ksba_crl_t crl, gcry_md_hd_t *md, int
      *algo, int *use_pss)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_final
      Src: /src/gnupg/dirmngr/crlcache.c:1676,1
    - Dst: ksba_crl_get_sig_val
      Src: /src/gnupg/dirmngr/crlcache.c:1679,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/dirmngr/crlcache.c:1680,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1683,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1683,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1684,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/dirmngr/crlcache.c:1687,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1690,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1690,1
    - Dst: gcry_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1691,1
    - Dst: ksba_crl_get_sig_val
      Src: /src/gnupg/dirmngr/crlcache.c:1703,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/dirmngr/crlcache.c:1704,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/crlcache.c:1707,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1708,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1708,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1709,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/dirmngr/crlcache.c:1712,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/crlcache.c:1713,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1716,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1716,1
    - Dst: gcry_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1717,1
    - Dst: gcry_sexp_extract_param
      Src: /src/gnupg/dirmngr/crlcache.c:1721,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/crlcache.c:1724,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1727,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1728,1
    - Dst: hash_algo_from_buffer
      Src: /src/gnupg/dirmngr/crlcache.c:1731,1
    - Dst: uint_from_buffer
      Src: /src/gnupg/dirmngr/crlcache.c:1732,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1733,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1734,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1737,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1739,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1754,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/dirmngr/crlcache.c:1755,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1756,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/dirmngr/crlcache.c:1760,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1762,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/dirmngr/crlcache.c:1763,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1764,1
    - Dst: dump_cert
      Src: /src/gnupg/dirmngr/crlcache.c:1772,1
    - Dst: ksba_cert_get_public_key
      Src: /src/gnupg/dirmngr/crlcache.c:1773,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/dirmngr/crlcache.c:1774,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1777,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1777,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1778,1
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/dirmngr/crlcache.c:1781,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1784,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1784,1
    - Dst: gcry_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1785,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/dirmngr/crlcache.c:1792,1
    - Dst: hash_algo_to_string
      Src: /src/gnupg/dirmngr/crlcache.c:1796,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/dirmngr/crlcache.c:1797,1
    - Dst: gcry_md_read
      Src: /src/gnupg/dirmngr/crlcache.c:1798,1
    - Dst: pk_algo_from_sexp
      Src: /src/gnupg/dirmngr/crlcache.c:1801,1
    - Dst: gcry_pk_get_nbits
      Src: /src/gnupg/dirmngr/crlcache.c:1805,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1810,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1812,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1819,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1819,1
    - Dst: gcry_pk_algo_name
      Src: /src/gnupg/dirmngr/crlcache.c:1820,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1821,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/dirmngr/crlcache.c:1826,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1829,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1829,1
    - Dst: gcry_pk_algo_name
      Src: /src/gnupg/dirmngr/crlcache.c:1832,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1835,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/dirmngr/crlcache.c:1844,1
    - Dst: gcry_md_read
      Src: /src/gnupg/dirmngr/crlcache.c:1846,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/dirmngr/crlcache.c:1851,1
    - Dst: hash_algo_to_string
      Src: /src/gnupg/dirmngr/crlcache.c:1853,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/dirmngr/crlcache.c:1854,1
    - Dst: gcry_md_read
      Src: /src/gnupg/dirmngr/crlcache.c:1855,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1859,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1859,1
    - Dst: gcry_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1859,1
    - Dst: gcry_pk_verify
      Src: /src/gnupg/dirmngr/crlcache.c:1864,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/crlcache.c:1866,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1866,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1869,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:1870,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/crlcache.c:1871,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/crlcache.c:1872,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/dirmngr/crlcache.c:1873,1
    - Dst: gcry_md_close
      Src: /src/gnupg/dirmngr/crlcache.c:1874,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 138
    argCount: 5
    argNames:
    - crl
    - md
    - algo
    - issuer_cert
    - use_pss
    argTypes:
    - ksba_crl_t
    - gcry_md_hd_t
    - int
    - ksba_cert_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1664
    functionDepth: 3
    functionLinenumber: 1664
    functionLinenumberEnd: 1877
    functionName: finish_sig_check
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - ksba_free
    - ksba_cert_get_public_key
    - gcry_sexp_sscan
    - hash_algo_to_string
    - gcry_sexp_canon_len
    - gcry_md_final
    - gcry_strerror
    - gcry_pk_get_nbits
    - gcry_md_close
    - pk_algo_from_sexp
    - log_error
    - gcry_md_algo_name
    - _
    - ksba_crl_get_sig_val
    - gcry_sexp_release
    - dump_cert
    - gcry_sexp_build
    - gcry_md_read
    - gcry_pk_verify
    - log_debug
    - gcry_sexp_extract_param
    - gpg_error
    - gpg_strerror
    - xfree
    - uint_from_buffer
    - hash_algo_from_buffer
    - gcry_md_get_algo_dlen
    - gcry_pk_algo_name
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t finish_sig_check (ksba_crl_t crl, gcry_md_hd_t md, int
      algo,\n                  ksba_cert_t issuer_cert, int use_pss)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_close
      Src: /src/gnupg/dirmngr/crlcache.c:1887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - crl
    - md
    argTypes:
    - ksba_crl_t
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1882
    functionDepth: 1
    functionLinenumber: 1882
    functionLinenumberEnd: 1888
    functionName: abort_sig_check
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - gcry_md_close
    linkageType: ''
    returnType: void
    signature: void abort_sig_check (ksba_crl_t crl, gcry_md_hd_t md)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ksba_crl_parse
      Src: /src/gnupg/dirmngr/crlcache.c:1930,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1933,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1933,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1933,1
    - Dst: start_sig_check
      Src: /src/gnupg/dirmngr/crlcache.c:1941,1
    - Dst: ksba_crl_get_update_times
      Src: /src/gnupg/dirmngr/crlcache.c:1945,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1948,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1948,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1949,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1950,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:1955,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1955,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:1959,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1959,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/dirmngr/crlcache.c:1961,1
    - Dst: add_seconds_to_isotime
      Src: /src/gnupg/dirmngr/crlcache.c:1962,1
    - Dst: ksba_crl_get_item
      Src: /src/gnupg/dirmngr/crlcache.c:1976,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1979,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1979,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1980,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:1981,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/crlcache.c:1982,1
    - Dst: serial_to_buffer
      Src: /src/gnupg/dirmngr/crlcache.c:1985,1
    - Dst: BUG
      Src: /src/gnupg/dirmngr/crlcache.c:1987,1
    - Dst: memcpy
      Src: /src/gnupg/dirmngr/crlcache.c:1989,1
    - Dst: cdb_make_add
      Src: /src/gnupg/dirmngr/crlcache.c:1990,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/crlcache.c:1993,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:1994,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:1994,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:1996,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/crlcache.c:2000,1
    - Dst: ksba_crl_get_issuer
      Src: /src/gnupg/dirmngr/crlcache.c:2018,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2021,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2021,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2022,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:2023,1
    - Dst: ksba_crl_get_auth_key_id
      Src: /src/gnupg/dirmngr/crlcache.c:2031,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:2036,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2036,1
    - Dst: ksba_name_enum
      Src: /src/gnupg/dirmngr/crlcache.c:2039,1
    - Dst: find_cert_bysn
      Src: /src/gnupg/dirmngr/crlcache.c:2041,1
    - Dst: find_cert_bysubject
      Src: /src/gnupg/dirmngr/crlcache.c:2043,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:2048,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/crlcache.c:2051,1
    - Dst: dump_serial
      Src: /src/gnupg/dirmngr/crlcache.c:2052,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/crlcache.c:2053,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/crlcache.c:2057,1
    - Dst: dump_serial
      Src: /src/gnupg/dirmngr/crlcache.c:2058,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/crlcache.c:2059,1
    - Dst: dump_string
      Src: /src/gnupg/dirmngr/crlcache.c:2060,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/crlcache.c:2061,1
    - Dst: log_printf
      Src: /src/gnupg/dirmngr/crlcache.c:2063,1
    - Dst: ksba_name_release
      Src: /src/gnupg/dirmngr/crlcache.c:2065,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:2066,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:2067,1
    - Dst: find_cert_bysubject
      Src: /src/gnupg/dirmngr/crlcache.c:2070,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:2074,1
    - Dst: finish_sig_check
      Src: /src/gnupg/dirmngr/crlcache.c:2078,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2082,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2082,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2083,1
    - Dst: validate_cert_chain
      Src: /src/gnupg/dirmngr/crlcache.c:2087,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2095,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2095,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2097,1
    - Dst: log_debug
      Src: /src/gnupg/dirmngr/crlcache.c:2105,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:2106,1
    - Dst: log_assert
      Src: /src/gnupg/dirmngr/crlcache.c:2111,1
    - Dst: abort_sig_check
      Src: /src/gnupg/dirmngr/crlcache.c:2115,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/crlcache.c:2116,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 132
    argCount: 8
    argNames:
    - ctrl
    - crl
    - cdb
    - fname
    - r_crlissuer
    - thisupdate
    - nextupdate
    - r_trust_anchor
    argTypes:
    - ctrl_t
    - ksba_crl_t
    - struct cdb_make*
    - char*
    - char**
    - ksba_isotime_t
    - ksba_isotime_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 1906
    functionDepth: 5
    functionLinenumber: 1906
    functionLinenumberEnd: 2118
    functionName: crl_parse_insert
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - find_cert_bysn
    - ksba_free
    - validate_cert_chain
    - ksba_crl_get_update_times
    - log_assert
    - ksba_crl_get_auth_key_id
    - BUG
    - dump_string
    - ksba_name_release
    - ksba_crl_get_item
    - memcpy
    - gnupg_copy_time
    - log_error
    - _
    - gpg_error_from_errno
    - dump_serial
    - log_info
    - ksba_name_enum
    - log_printf
    - ksba_cert_release
    - finish_sig_check
    - log_debug
    - ksba_crl_parse
    - find_cert_bysubject
    - ksba_crl_get_issuer
    - gpg_error
    - gpg_strerror
    - xfree
    - abort_sig_check
    - cdb_make_add
    - start_sig_check
    - add_seconds_to_isotime
    - serial_to_buffer
    - strerror
    linkageType: ''
    returnType: int
    signature: "int crl_parse_insert (ctrl_t ctrl, ksba_crl_t crl,\n                  struct
      cdb_make *cdb, const char *fname,\n                  char **r_crlissuer,\n                  ksba_isotime_t
      thisupdate, ksba_isotime_t nextupdate,\n                  char **r_trust_anchor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ksba_crl_get_crl_number
      Src: /src/gnupg/dirmngr/crlcache.c:2131,1
    - Dst: serial_hex
      Src: /src/gnupg/dirmngr/crlcache.c:2134,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/crlcache.c:2135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - crl
    argTypes:
    - ksba_crl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2124
    functionDepth: 1
    functionLinenumber: 2124
    functionLinenumberEnd: 2137
    functionName: get_crl_number
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 1
    functionsReached:
    - serial_hex
    - ksba_free
    - ksba_crl_get_crl_number
    linkageType: ''
    returnType: char
    signature: 'char *

      get_crl_number (ksba_crl_t crl)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ksba_crl_get_auth_key_id
      Src: /src/gnupg/dirmngr/crlcache.c:2155,1
    - Dst: serial_hex
      Src: /src/gnupg/dirmngr/crlcache.c:2158,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/crlcache.c:2159,1
    - Dst: xstrdup
      Src: /src/gnupg/dirmngr/crlcache.c:2162,1
    - Dst: ksba_name_enum
      Src: /src/gnupg/dirmngr/crlcache.c:2165,1
    - Dst: ksba_name_get_uri
      Src: /src/gnupg/dirmngr/crlcache.c:2167,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/crlcache.c:2168,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:2169,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/crlcache.c:2171,1
    - Dst: ksba_name_enum
      Src: /src/gnupg/dirmngr/crlcache.c:2175,1
    - Dst: ksba_name_get_uri
      Src: /src/gnupg/dirmngr/crlcache.c:2177,1
    - Dst: strcat
      Src: /src/gnupg/dirmngr/crlcache.c:2179,1
    - Dst: strcat
      Src: /src/gnupg/dirmngr/crlcache.c:2180,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:2181,1
    - Dst: ksba_name_release
      Src: /src/gnupg/dirmngr/crlcache.c:2184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - crl
    - serialno
    argTypes:
    - ksba_crl_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2143
    functionDepth: 1
    functionLinenumber: 2143
    functionLinenumberEnd: 2186
    functionName: get_auth_key_id
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 8
    functionsReached:
    - serial_hex
    - ksba_free
    - strlen
    - strcat
    - ksba_crl_get_auth_key_id
    - ksba_name_release
    - xfree
    - xstrdup
    - ksba_name_enum
    - xtrymalloc
    - ksba_name_get_uri
    linkageType: ''
    returnType: char
    signature: 'char *

      get_auth_key_id (ksba_crl_t crl, char **serialno)'
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: get_current_cache
      Src: /src/gnupg/dirmngr/crlcache.c:2208,1
    - Dst: ksba_crl_new
      Src: /src/gnupg/dirmngr/crlcache.c:2234,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2237,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2237,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2237,1
    - Dst: ksba_crl_set_reader
      Src: /src/gnupg/dirmngr/crlcache.c:2241,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2244,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2244,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2244,1
    - Dst: uname
      Src: /src/gnupg/dirmngr/crlcache.c:2259,1
    - Dst: gpgrt_asprintf
      Src: /src/gnupg/dirmngr/crlcache.c:2265,1
    - Dst: getpid
      Src: /src/gnupg/dirmngr/crlcache.c:2266,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/crlcache.c:2269,1
    - Dst: make_filename
      Src: /src/gnupg/dirmngr/crlcache.c:2275,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:2276,1
    - Dst: gnupg_remove
      Src: /src/gnupg/dirmngr/crlcache.c:2277,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:2278,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2278,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/crlcache.c:2281,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2282,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2282,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2283,1
    - Dst: gnupg_open
      Src: /src/gnupg/dirmngr/crlcache.c:2288,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/crlcache.c:2291,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2292,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2292,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2293,1
    - Dst: cdb_make_start
      Src: /src/gnupg/dirmngr/crlcache.c:2296,1
    - Dst: crl_parse_insert
      Src: /src/gnupg/dirmngr/crlcache.c:2298,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2302,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2302,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2302,1
    - Dst: cdb_make_finish
      Src: /src/gnupg/dirmngr/crlcache.c:2304,1
    - Dst: cdb_make_finish
      Src: /src/gnupg/dirmngr/crlcache.c:2309,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/crlcache.c:2311,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2312,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2312,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2313,1
    - Dst: close
      Src: /src/gnupg/dirmngr/crlcache.c:2316,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/crlcache.c:2318,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2319,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2319,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2320,1
    - Dst: hash_dbfile
      Src: /src/gnupg/dirmngr/crlcache.c:2330,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:2332,1
    - Dst: hexify_data
      Src: /src/gnupg/dirmngr/crlcache.c:2335,1
    - Dst: gnupg_get_isotime
      Src: /src/gnupg/dirmngr/crlcache.c:2340,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/crlcache.c:2341,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:2344,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2344,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2348,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2348,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:2351,1
    - Dst: ksba_crl_get_extension
      Src: /src/gnupg/dirmngr/crlcache.c:2357,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/crlcache.c:2363,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/crlcache.c:2364,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/crlcache.c:2368,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2373,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2373,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:2374,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:2376,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/crlcache.c:2379,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/crlcache.c:2380,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2384,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2384,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2384,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:2385,1
    - Dst: hashify_data
      Src: /src/gnupg/dirmngr/crlcache.c:2391,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/crlcache.c:2391,1
    - Dst: xtrycalloc
      Src: /src/gnupg/dirmngr/crlcache.c:2394,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/crlcache.c:2397,1
    - Dst: xtrymalloc
      Src: /src/gnupg/dirmngr/crlcache.c:2400,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/crlcache.c:2400,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/crlcache.c:2401,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/crlcache.c:2402,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/crlcache.c:2403,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/crlcache.c:2406,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:2407,1
    - Dst: stpcpy
      Src: /src/gnupg/dirmngr/crlcache.c:2412,1
    - Dst: stpcpy
      Src: /src/gnupg/dirmngr/crlcache.c:2413,1
    - Dst: stpcpy
      Src: /src/gnupg/dirmngr/crlcache.c:2414,1
    - Dst: strcpy
      Src: /src/gnupg/dirmngr/crlcache.c:2415,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/dirmngr/crlcache.c:2416,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/dirmngr/crlcache.c:2417,1
    - Dst: gnupg_copy_time
      Src: /src/gnupg/dirmngr/crlcache.c:2418,1
    - Dst: get_crl_number
      Src: /src/gnupg/dirmngr/crlcache.c:2419,1
    - Dst: get_auth_key_id
      Src: /src/gnupg/dirmngr/crlcache.c:2420,1
    - Dst: find_entry
      Src: /src/gnupg/dirmngr/crlcache.c:2429,1
    - Dst: make_db_file_name
      Src: /src/gnupg/dirmngr/crlcache.c:2433,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:2435,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2435,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/crlcache.c:2446,1
    - Dst: cdb_fileno
      Src: /src/gnupg/dirmngr/crlcache.c:2448,1
    - Dst: cdb_free
      Src: /src/gnupg/dirmngr/crlcache.c:2449,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:2450,1
    - Dst: close
      Src: /src/gnupg/dirmngr/crlcache.c:2452,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2453,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2453,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2454,1
    - Dst: gnupg_remove
      Src: /src/gnupg/dirmngr/crlcache.c:2462,1
    - Dst: rename
      Src: /src/gnupg/dirmngr/crlcache.c:2464,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/crlcache.c:2466,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2467,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2467,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2468,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:2471,1
    - Dst: update_dir
      Src: /src/gnupg/dirmngr/crlcache.c:2478,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2481,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2481,1
    - Dst: release_one_cache_entry
      Src: /src/gnupg/dirmngr/crlcache.c:2488,1
    - Dst: close
      Src: /src/gnupg/dirmngr/crlcache.c:2490,1
    - Dst: gnupg_remove
      Src: /src/gnupg/dirmngr/crlcache.c:2493,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:2494,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:2496,1
    - Dst: ksba_crl_release
      Src: /src/gnupg/dirmngr/crlcache.c:2497,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:2498,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:2499,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:2500,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:2501,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 183
    argCount: 3
    argNames:
    - ctrl
    - url
    - reader
    argTypes:
    - ctrl_t
    - char*
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2205
    functionDepth: 9
    functionLinenumber: 2205
    functionLinenumberEnd: 2503
    functionName: crl_cache_insert
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 2
    functionsReached:
    - get_auth_key_id
    - strlen
    - find_entry
    - hashify_data
    - cdb_fileno
    - xtrymalloc
    - release_one_cache_entry
    - gnupg_copy_time
    - get_crl_number
    - log_error
    - cdb_make_start
    - ksba_crl_get_extension
    - close
    - _
    - gpg_error_from_errno
    - log_info
    - rename
    - ksba_crl_set_reader
    - cdb_make_finish
    - ksba_crl_new
    - hexify_data
    - hash_dbfile
    - cdb_free
    - gpg_error_from_syserror
    - strcmp
    - gpg_error
    - get_current_cache
    - gpg_strerror
    - xfree
    - gnupg_open
    - crl_parse_insert
    - gnupg_get_isotime
    - xtrycalloc
    - getpid
    - gpgrt_asprintf
    - make_filename
    - uname
    - make_db_file_name
    - ksba_crl_release
    - gpg_err_code
    - strcpy
    - update_dir
    - gnupg_remove
    - stpcpy
    - strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t crl_cache_insert (ctrl_t ctrl, const char *url, ksba_reader_t
      reader)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:2518,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:2519,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2519,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:2520,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:2521,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:2522,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:2523,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:2524,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:2525,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:2529,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:2532,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:2534,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:2535,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:2537,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:2545,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2545,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:2551,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2551,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:2555,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2555,1
    - Dst: lock_db_file
      Src: /src/gnupg/dirmngr/crlcache.c:2557,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:2559,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:2562,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2562,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:2564,1
    - Dst: cdb_findinit
      Src: /src/gnupg/dirmngr/crlcache.c:2566,1
    - Dst: cdb_findnext
      Src: /src/gnupg/dirmngr/crlcache.c:2567,1
    - Dst: cdb_datalen
      Src: /src/gnupg/dirmngr/crlcache.c:2577,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2580,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2580,1
    - Dst: cdb_read
      Src: /src/gnupg/dirmngr/crlcache.c:2585,1
    - Dst: cdb_datapos
      Src: /src/gnupg/dirmngr/crlcache.c:2585,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2587,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2587,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2588,1
    - Dst: cdb_keylen
      Src: /src/gnupg/dirmngr/crlcache.c:2593,1
    - Dst: cdb_read
      Src: /src/gnupg/dirmngr/crlcache.c:2596,1
    - Dst: cdb_keypos
      Src: /src/gnupg/dirmngr/crlcache.c:2596,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2598,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2598,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2598,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:2604,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:2606,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:2607,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:2610,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:2612,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:2614,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:2616,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:2618,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:2620,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:2622,1
    - Dst: es_fputs
      Src: /src/gnupg/dirmngr/crlcache.c:2624,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:2626,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2629,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2629,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2629,1
    - Dst: unlock_db_file
      Src: /src/gnupg/dirmngr/crlcache.c:2631,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:2632,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2632,1
    - Dst: es_putc
      Src: /src/gnupg/dirmngr/crlcache.c:2633,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:2635,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 86
    argCount: 3
    argNames:
    - cache
    - e
    - fp
    argTypes:
    - crl_cache_t
    - crl_cache_entry_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2508
    functionDepth: 5
    functionLinenumber: 2508
    functionLinenumberEnd: 2636
    functionName: list_one_crl_entry
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 0
    functionsReached:
    - cdb_keylen
    - es_fprintf
    - cdb_findnext
    - strerror
    - log_error
    - lock_db_file
    - unlock_db_file
    - es_putc
    - _
    - cdb_keypos
    - cdb_read
    - gpg_error
    - cdb_findinit
    - es_fputs
    - cdb_datapos
    - cdb_datalen
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t list_one_crl_entry (crl_cache_t cache, crl_cache_entry_t
      e, estream_t fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_current_cache
      Src: /src/gnupg/dirmngr/crlcache.c:2644,1
    - Dst: es_fprintf
      Src: /src/gnupg/dirmngr/crlcache.c:2651,1
    - Dst: list_one_crl_entry
      Src: /src/gnupg/dirmngr/crlcache.c:2656,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - fp
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2659
      start: 2641
    functionDepth: 6
    functionLinenumber: 2641
    functionLinenumberEnd: 2659
    functionName: crl_cache_list
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 2
    functionsReached:
    - list_one_crl_entry
    - get_current_cache
    - es_fprintf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t crl_cache_list (estream_t fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/gnupg/dirmngr/crlcache.c:2670,1
    - Dst: gpg_error_from_errno
      Src: /src/gnupg/dirmngr/crlcache.c:2673,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2674,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2674,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2674,1
    - Dst: create_estream_ksba_reader
      Src: /src/gnupg/dirmngr/crlcache.c:2678,1
    - Dst: crl_cache_insert
      Src: /src/gnupg/dirmngr/crlcache.c:2681,1
    - Dst: ksba_reader_release
      Src: /src/gnupg/dirmngr/crlcache.c:2682,1
    - Dst: es_fclose
      Src: /src/gnupg/dirmngr/crlcache.c:2684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ctrl
    - filename
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2663
    functionDepth: 10
    functionLinenumber: 2663
    functionLinenumberEnd: 2686
    functionName: crl_cache_load
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 2
    functionsReached:
    - crl_cache_insert
    - log_error
    - es_fclose
    - ksba_reader_release
    - _
    - gpg_error_from_errno
    - create_estream_ksba_reader
    - es_fopen
    - strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t crl_cache_load (ctrl_t ctrl, const char *filename)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:2707,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:2709,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:2709,1
    - Dst: ksba_cert_get_crl_dist_point
      Src: /src/gnupg/dirmngr/crlcache.c:2710,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:2719,1
    - Dst: ksba_name_enum
      Src: /src/gnupg/dirmngr/crlcache.c:2727,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:2729,1
    - Dst: ksba_name_get_uri
      Src: /src/gnupg/dirmngr/crlcache.c:2730,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/crlcache.c:2734,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/crlcache.c:2735,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/crlcache.c:2740,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/crlcache.c:2741,1
    - Dst: crl_close_reader
      Src: /src/gnupg/dirmngr/crlcache.c:2751,1
    - Dst: crl_fetch
      Src: /src/gnupg/dirmngr/crlcache.c:2752,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2755,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2755,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2756,1
    - Dst: dirmngr_status_printf
      Src: /src/gnupg/dirmngr/crlcache.c:2758,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:2766,1
    - Dst: crl_cache_insert
      Src: /src/gnupg/dirmngr/crlcache.c:2767,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2770,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2770,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2771,1
    - Dst: dirmngr_status_printf
      Src: /src/gnupg/dirmngr/crlcache.c:2773,1
    - Dst: gpg_err_code
      Src: /src/gnupg/dirmngr/crlcache.c:2782,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:2794,1
    - Dst: ksba_cert_get_issuer
      Src: /src/gnupg/dirmngr/crlcache.c:2796,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2799,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/crlcache.c:2800,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:2805,1
    - Dst: crl_close_reader
      Src: /src/gnupg/dirmngr/crlcache.c:2806,1
    - Dst: crl_fetch_default
      Src: /src/gnupg/dirmngr/crlcache.c:2807,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2810,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2811,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/crlcache.c:2816,1
    - Dst: crl_cache_insert
      Src: /src/gnupg/dirmngr/crlcache.c:2817,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/crlcache.c:2820,1
    - Dst: _
      Src: /src/gnupg/dirmngr/crlcache.c:2820,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/crlcache.c:2821,1
    - Dst: crl_close_reader
      Src: /src/gnupg/dirmngr/crlcache.c:2827,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/crlcache.c:2828,1
    - Dst: ksba_name_release
      Src: /src/gnupg/dirmngr/crlcache.c:2829,1
    - Dst: ksba_name_release
      Src: /src/gnupg/dirmngr/crlcache.c:2830,1
    - Dst: ksba_free
      Src: /src/gnupg/dirmngr/crlcache.c:2831,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 89
    argCount: 2
    argNames:
    - ctrl
    - cert
    argTypes:
    - ctrl_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2691
    functionDepth: 10
    functionLinenumber: 2691
    functionLinenumberEnd: 2833
    functionName: crl_cache_reload_crl
    functionSourceFile: /src/gnupg/dirmngr/crlcache.c
    functionUses: 3
    functionsReached:
    - ksba_cert_get_crl_dist_point
    - ksba_free
    - crl_fetch_default
    - ksba_name_release
    - ksba_cert_get_issuer
    - log_error
    - _
    - log_info
    - dirmngr_status_printf
    - ksba_name_enum
    - crl_close_reader
    - strncmp
    - crl_cache_insert
    - gpg_error
    - xfree
    - crl_fetch
    - gpg_strerror
    - ksba_name_get_uri
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t crl_cache_reload_crl (ctrl_t ctrl, ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_verify_server_credentials
      Src: /src/gnupg/dirmngr/t-http.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - hd
    - session
    - reserved
    argTypes:
    - http_t
    - http_session_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: verify_callback
    functionSourceFile: /src/gnupg/dirmngr/t-http.c
    functionUses: 0
    functionsReached:
    - http_verify_server_credentials
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t verify_callback (http_t hd, http_session_t session, int
      reserved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/t-http.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - text
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: my_gnutls_log
    functionSourceFile: /src/gnupg/dirmngr/t-http.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void my_gnutls_log (int level, const char *text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntbtls_x509_get_peer_cert
      Src: /src/gnupg/dirmngr/t-http.c:142,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/t-http.c:146,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/t-http.c:152,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/t-http.c:153,1
    - Dst: gpg_error
      Src: /src/gnupg/dirmngr/t-http.c:158,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/dirmngr/t-http.c:165,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/t-http.c:166,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/t-http.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 5
    argNames:
    - opaque
    - http
    - session
    - http_flags
    - tls_context
    argTypes:
    - void*
    - http_t
    - http_session_t
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 168
    functionName: my_http_tls_verify_cb
    functionSourceFile: /src/gnupg/dirmngr/t-http.c
    functionUses: 0
    functionsReached:
    - ntbtls_x509_get_peer_cert
    - gpg_error
    - log_info
    - gpg_strerror
    - ksba_cert_release
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t my_http_tls_verify_cb (void *opaque,\n                       http_t
      http,\n                       http_session_t session,\n                       unsigned
      int http_flags,\n                       void *tls_context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnupg/dirmngr/t-http.c:181,1
    - Dst: xmalloc
      Src: /src/gnupg/dirmngr/t-http.c:184,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/t-http.c:184,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/t-http.c:184,1
    - Dst: strcpy
      Src: /src/gnupg/dirmngr/t-http.c:185,1
    - Dst: strcat
      Src: /src/gnupg/dirmngr/t-http.c:186,1
    - Dst: strcat
      Src: /src/gnupg/dirmngr/t-http.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: prepend_srcdir
    functionSourceFile: /src/gnupg/dirmngr/t-http.c
    functionUses: 4
    functionsReached:
    - strlen
    - getenv
    - xmalloc
    - strcpy
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      prepend_srcdir (const char *fname)'
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_init
      Src: /src/gnupg/dirmngr/t-http.c:209,1
    - Dst: log_set_prefix
      Src: /src/gnupg/dirmngr/t-http.c:210,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-http.c:216,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-http.c:221,1
    - Dst: fputs
      Src: /src/gnupg/dirmngr/t-http.c:223,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/t-http.c:236,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-http.c:238,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-http.c:243,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-http.c:249,1
    - Dst: atoi
      Src: /src/gnupg/dirmngr/t-http.c:254,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-http.c:258,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-http.c:267,1
    - Dst: strtoul
      Src: /src/gnupg/dirmngr/t-http.c:272,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-http.c:276,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-http.c:281,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-http.c:286,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-http.c:291,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-http.c:296,1
    - Dst: strcmp
      Src: /src/gnupg/dirmngr/t-http.c:301,1
    - Dst: strncmp
      Src: /src/gnupg/dirmngr/t-http.c:306,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/t-http.c:308,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/t-http.c:309,1
    - Dst: fprintf
      Src: /src/gnupg/dirmngr/t-http.c:314,1
    - Dst: exit
      Src: /src/gnupg/dirmngr/t-http.c:315,1
    - Dst: prepend_srcdir
      Src: /src/gnupg/dirmngr/t-http.c:319,1
    - Dst: http_set_verbose
      Src: /src/gnupg/dirmngr/t-http.c:325,1
    - Dst: assuan_sock_init
      Src: /src/gnupg/dirmngr/t-http.c:328,1
    - Dst: enable_dns_tormode
      Src: /src/gnupg/dirmngr/t-http.c:332,1
    - Dst: assuan_sock_set_flag
      Src: /src/gnupg/dirmngr/t-http.c:333,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/t-http.c:335,1
    - Dst: strerror
      Src: /src/gnupg/dirmngr/t-http.c:335,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/t-http.c:336,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/t-http.c:341,1
    - Dst: http_session_new
      Src: /src/gnupg/dirmngr/t-http.c:342,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/t-http.c:347,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/t-http.c:347,1
    - Dst: ntbtls_set_debug
      Src: /src/gnupg/dirmngr/t-http.c:348,1
    - Dst: gnutls_global_init
      Src: /src/gnupg/dirmngr/t-http.c:352,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/t-http.c:354,1
    - Dst: gnutls_strerror
      Src: /src/gnupg/dirmngr/t-http.c:354,1
    - Dst: http_register_tls_callback
      Src: /src/gnupg/dirmngr/t-http.c:356,1
    - Dst: http_register_tls_ca
      Src: /src/gnupg/dirmngr/t-http.c:357,1
    - Dst: http_session_new
      Src: /src/gnupg/dirmngr/t-http.c:359,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/t-http.c:364,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/t-http.c:364,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnupg/dirmngr/t-http.c:379,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnupg/dirmngr/t-http.c:381,1
    - Dst: http_parse_uri
      Src: /src/gnupg/dirmngr/t-http.c:389,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/t-http.c:392,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/t-http.c:392,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-http.c:396,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-http.c:398,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-http.c:401,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-http.c:402,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-http.c:403,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-http.c:404,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-http.c:407,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-http.c:410,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/t-http.c:411,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-http.c:412,1
    - Dst: putchar
      Src: /src/gnupg/dirmngr/t-http.c:414,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-http.c:418,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-http.c:421,1
    - Dst: strlen
      Src: /src/gnupg/dirmngr/t-http.c:422,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-http.c:423,1
    - Dst: putchar
      Src: /src/gnupg/dirmngr/t-http.c:425,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-http.c:427,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-http.c:433,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-http.c:436,1
    - Dst: fflush
      Src: /src/gnupg/dirmngr/t-http.c:440,1
    - Dst: http_release_parsed_uri
      Src: /src/gnupg/dirmngr/t-http.c:441,1
    - Dst: http_session_set_timeout
      Src: /src/gnupg/dirmngr/t-http.c:445,1
    - Dst: http_open_document
      Src: /src/gnupg/dirmngr/t-http.c:447,1
    - Dst: log_error
      Src: /src/gnupg/dirmngr/t-http.c:451,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/t-http.c:451,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/t-http.c:454,1
    - Dst: http_get_status_code
      Src: /src/gnupg/dirmngr/t-http.c:455,1
    - Dst: http_get_header_names
      Src: /src/gnupg/dirmngr/t-http.c:461,1
    - Dst: log_fatal
      Src: /src/gnupg/dirmngr/t-http.c:463,1
    - Dst: gpg_strerror
      Src: /src/gnupg/dirmngr/t-http.c:464,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/dirmngr/t-http.c:464,1
    - Dst: printf
      Src: /src/gnupg/dirmngr/t-http.c:466,1
    - Dst: http_get_header
      Src: /src/gnupg/dirmngr/t-http.c:466,1
    - Dst: xfree
      Src: /src/gnupg/dirmngr/t-http.c:467,1
    - Dst: fflush
      Src: /src/gnupg/dirmngr/t-http.c:469,1
    - Dst: http_get_status_code
      Src: /src/gnupg/dirmngr/t-http.c:471,1
    - Dst: es_getc
      Src: /src/gnupg/dirmngr/t-http.c:480,1
    - Dst: http_get_read_ptr
      Src: /src/gnupg/dirmngr/t-http.c:480,1
    - Dst: putchar
      Src: /src/gnupg/dirmngr/t-http.c:484,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/t-http.c:486,1
    - Dst: log_info
      Src: /src/gnupg/dirmngr/t-http.c:492,1
    - Dst: http_get_header
      Src: /src/gnupg/dirmngr/t-http.c:492,1
    - Dst: http_close
      Src: /src/gnupg/dirmngr/t-http.c:495,1
    - Dst: http_session_release
      Src: /src/gnupg/dirmngr/t-http.c:497,1
    - Dst: gnutls_global_deinit
      Src: /src/gnupg/dirmngr/t-http.c:499,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 205
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 503
    functionName: main
    functionSourceFile: /src/gnupg/dirmngr/t-http.c
    functionUses: 11
    functionsReached:
    - strlen
    - gnutls_global_set_log_function
    - exit
    - enable_dns_tormode
    - http_session_set_timeout
    - http_get_header_names
    - http_release_parsed_uri
    - http_session_new
    - printf
    - log_error
    - http_session_release
    - log_set_prefix
    - fflush
    - log_info
    - http_register_tls_callback
    - assuan_sock_set_flag
    - strtoul
    - strncmp
    - gnutls_global_init
    - http_set_verbose
    - gnutls_strerror
    - gpg_error_from_syserror
    - http_get_read_ptr
    - http_open_document
    - strcmp
    - fprintf
    - prepend_srcdir
    - gpg_strerror
    - xfree
    - es_getc
    - putchar
    - http_parse_uri
    - atoi
    - gnutls_global_set_log_level
    - gnutls_global_deinit
    - log_fatal
    - assuan_sock_init
    - http_register_tls_ca
    - http_get_header
    - gpgrt_init
    - ntbtls_set_debug
    - http_get_status_code
    - fputs
    - http_close
    - strerror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 220
    functionName: app_get_slot
    functionSourceFile: /src/gnupg/scd/app-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int app_get_slot (app_t app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: APP_CARD
    functionSourceFile: /src/gnupg/scd/app-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APP_CARD(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: SW_EXACT_LENGTH_P
    functionSourceFile: /src/gnupg/scd/apdu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SW_EXACT_LENGTH_P(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:165,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:166,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - cdf_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: release_cdflist
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_cdflist (cdf_object_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:181,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - prkdf_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: release_prkdflist
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_prkdflist (prkdf_object_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_cdflist
      Src: /src/gnupg/scd/app-sc-hsm.c:195,1
    - Dst: release_cdflist
      Src: /src/gnupg/scd/app-sc-hsm.c:196,1
    - Dst: release_prkdflist
      Src: /src/gnupg/scd/app-sc-hsm.c:197,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: do_deinit
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - xfree
    - release_prkdflist
    - release_cdflist
    linkageType: ''
    returnType: void
    signature: void do_deinit (app_t app)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:215,1
    - Dst: apdu_send_le
      Src: /src/gnupg/scd/app-sc-hsm.c:219,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:224,1
    - Dst: iso7816_map_sw
      Src: /src/gnupg/scd/app-sc-hsm.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - slot
    - result
    - resultlen
    argTypes:
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 229
    functionName: list_ef
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - xfree
    - apdu_send_le
    - iso7816_map_sw
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t list_ef (int slot, unsigned char **result, size_t *resultlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apdu_send_le
      Src: /src/gnupg/scd/app-sc-hsm.c:250,1
    - Dst: iso7816_map_sw
      Src: /src/gnupg/scd/app-sc-hsm.c:256,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-sc-hsm.c:259,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-sc-hsm.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - slot
    - efid
    - efid_desc
    - buffer
    - buflen
    - maxread
    argTypes:
    - int
    - unsigned short
    - char*
    - unsigned char**
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 264
    functionName: select_and_read_binary
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_strerror
    - apdu_send_le
    - iso7816_map_sw
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t select_and_read_binary (int slot, unsigned short efid,
      const char *efid_desc,\n                        unsigned char **buffer, size_t
      *buflen, int maxread)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnupg/scd/app-sc-hsm.c:283,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:284,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-sc-hsm.c:287,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:290,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-sc-hsm.c:292,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-sc-hsm.c:294,1
    - Dst: xtoi_2
      Src: /src/gnupg/scd/app-sc-hsm.c:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - certid
    - r_objid
    - r_objidlen
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 300
    functionName: parse_certid
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - gpg_error_from_syserror
    - gpg_error
    - strncmp
    - xtrymalloc
    - xtoi_2
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_certid (const char *certid, unsigned char **r_objid,
      size_t *r_objidlen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parse_certid
      Src: /src/gnupg/scd/app-sc-hsm.c:314,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-sc-hsm.c:319,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-sc-hsm.c:323,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:325,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:327,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - app
    - certid
    - r_cdf
    argTypes:
    - app_t
    - char*
    - cdf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 330
    functionName: cdf_object_from_certid
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - parse_certid
    - gpg_error
    - memcmp
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cdf_object_from_certid (app_t app, const char *certid,
      cdf_object_t *r_cdf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_certid
      Src: /src/gnupg/scd/app-sc-hsm.c:345,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-sc-hsm.c:350,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:352,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:354,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - app
    - keyidstr
    - r_prkdf
    argTypes:
    - app_t
    - char*
    - prkdf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 357
    functionName: prkdf_object_from_keyidstr
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - parse_certid
    - gpg_error
    - memcmp
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t prkdf_object_from_keyidstr (app_t app, const char *keyidstr,\n
      \                           prkdf_object_t *r_prkdf)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/scd/app-sc-hsm.c:370,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:372,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:376,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 3
    argNames:
    - der
    - derlen
    - usageflags
    argTypes:
    - unsigned char*
    - size_t
    - keyusage_flags_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 423
    functionName: parse_keyusage_flags
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - memset
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_keyusage_flags (const unsigned char *der, size_t
      derlen,\n                      keyusage_flags_t *usageflags)"
  - BBCount: 73
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:483,1
    - Dst: select_and_read_binary
      Src: /src/gnupg/scd/app-sc-hsm.c:485,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-sc-hsm.c:485,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:493,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:496,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-sc-hsm.c:499,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-sc-hsm.c:500,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:513,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:516,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:530,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:533,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-sc-hsm.c:534,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:545,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:548,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-sc-hsm.c:549,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:560,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:563,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-sc-hsm.c:564,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:579,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:582,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:595,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:599,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:610,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:614,1
    - Dst: parse_keyusage_flags
      Src: /src/gnupg/scd/app-sc-hsm.c:618,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:627,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-sc-hsm.c:629,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:632,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:642,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-sc-hsm.c:644,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:647,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:657,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-sc-hsm.c:659,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:662,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:686,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:689,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:698,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:704,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:711,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:714,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:722,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:725,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:739,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:742,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-sc-hsm.c:753,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-sc-hsm.c:756,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-sc-hsm.c:762,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-sc-hsm.c:765,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:766,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-sc-hsm.c:770,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app-sc-hsm.c:775,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:777,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:778,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:779,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:780,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:784,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:789,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:794,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:799,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:804,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:809,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:814,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:819,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:824,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:829,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:831,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:833,1
    - Dst: select_and_read_binary
      Src: /src/gnupg/scd/app-sc-hsm.c:836,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-sc-hsm.c:836,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-sc-hsm.c:842,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-sc-hsm.c:845,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-sc-hsm.c:849,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-sc-hsm.c:852,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:853,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-sc-hsm.c:857,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app-sc-hsm.c:861,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:863,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:864,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-sc-hsm.c:870,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-sc-hsm.c:871,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:875,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:881,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:882,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:887,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:888,1
    CyclomaticComplexity: 141
    EdgeCount: 141
    ICount: 327
    argCount: 4
    argNames:
    - app
    - fid
    - prkdresult
    - cdresult
    argTypes:
    - app_t
    - unsigned short
    - prkdf_object_t*
    - cdf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 903
    functionName: read_ef_prkd
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - parse_ber_header
    - log_error
    - gpg_error_from_syserror
    - app_get_slot
    - parse_keyusage_flags
    - gpg_error
    - select_and_read_binary
    - gpg_strerror
    - gpg_err_code
    - xfree
    - xtrycalloc
    - memcpy
    - log_printf
    - xtrymalloc
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t read_ef_prkd (app_t app, unsigned short fid, prkdf_object_t
      *prkdresult,\n              cdf_object_t *cdresult)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:955,1
    - Dst: select_and_read_binary
      Src: /src/gnupg/scd/app-sc-hsm.c:957,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-sc-hsm.c:957,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:965,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:968,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-sc-hsm.c:971,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-sc-hsm.c:971,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:981,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:984,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:992,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:995,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:1008,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1012,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:1022,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1025,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:1031,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1035,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:1042,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1045,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1050,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:1057,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1060,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-sc-hsm.c:1073,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-sc-hsm.c:1076,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-sc-hsm.c:1080,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-sc-hsm.c:1083,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:1084,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-sc-hsm.c:1088,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app-sc-hsm.c:1092,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:1094,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1099,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-sc-hsm.c:1100,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:1104,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:1110,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:1111,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 124
    argCount: 3
    argNames:
    - app
    - fid
    - result
    argTypes:
    - app_t
    - unsigned short
    - cdf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 1121
    functionName: read_ef_cd
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - parse_ber_header
    - log_error
    - gpg_error_from_syserror
    - app_get_slot
    - gpg_error
    - select_and_read_binary
    - gpg_strerror
    - xfree
    - memcpy
    - xtrycalloc
    - log_printf
    - xtrymalloc
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_ef_cd (app_t app, unsigned short fid, cdf_object_t
      *result)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: select_and_read_binary
      Src: /src/gnupg/scd/app-sc-hsm.c:1207,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-sc-hsm.c:1207,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:1215,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1218,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1221,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-sc-hsm.c:1221,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-sc-hsm.c:1225,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1228,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1229,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-sc-hsm.c:1234,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-sc-hsm.c:1237,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-sc-hsm.c:1242,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:1245,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1197
    functionDepth: 3
    functionLinenumber: 1197
    functionLinenumberEnd: 1247
    functionName: read_serialno
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - parse_ber_header
    - log_error
    - find_tlv
    - gpg_error_from_syserror
    - app_get_slot
    - gpg_error
    - select_and_read_binary
    - gpg_strerror
    - memcpy
    - xfree
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_serialno(app_t app)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: read_serialno
      Src: /src/gnupg/scd/app-sc-hsm.c:1261,1
    - Dst: list_ef
      Src: /src/gnupg/scd/app-sc-hsm.c:1265,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-sc-hsm.c:1265,1
    - Dst: read_ef_prkd
      Src: /src/gnupg/scd/app-sc-hsm.c:1276,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-sc-hsm.c:1279,1
    - Dst: read_ef_cd
      Src: /src/gnupg/scd/app-sc-hsm.c:1285,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-sc-hsm.c:1287,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:1295,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1253
    functionDepth: 4
    functionLinenumber: 1253
    functionLinenumberEnd: 1298
    functionName: read_meta
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - read_ef_prkd
    - app_get_slot
    - read_serialno
    - list_ef
    - gpg_err_code
    - xfree
    - read_ef_cd
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_meta (app_t app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-sc-hsm.c:1312,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-sc-hsm.c:1314,1
    - Dst: stpcpy
      Src: /src/gnupg/scd/app-sc-hsm.c:1315,1
    - Dst: bin2hex
      Src: /src/gnupg/scd/app-sc-hsm.c:1316,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-sc-hsm.c:1318,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-sc-hsm.c:1319,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-sc-hsm.c:1320,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:1322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctrl
    - certtype
    - certinfo
    argTypes:
    - ctrl_t
    - char*
    - cdf_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1305
    functionDepth: 2
    functionLinenumber: 1305
    functionLinenumberEnd: 1325
    functionName: send_certinfo
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - strlen
    - bin2hex
    - send_status_info
    - xfree
    - stpcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t send_certinfo (ctrl_t ctrl, const char *certtype, cdf_object_t
      certinfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/scd/app-sc-hsm.c:1345,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1348,1
    - Dst: readcert_by_cdf
      Src: /src/gnupg/scd/app-sc-hsm.c:1350,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/scd/app-sc-hsm.c:1354,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/scd/app-sc-hsm.c:1356,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:1357,1
    - Dst: app_help_get_keygrip_string
      Src: /src/gnupg/scd/app-sc-hsm.c:1359,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/scd/app-sc-hsm.c:1360,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - app
    - prkdf
    - r_gripstr
    argTypes:
    - app_t
    - prkdf_object_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1363
    functionName: keygripstr_from_prkdf
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - readcert_by_cdf
    - ksba_cert_init_from_mem
    - gpg_error
    - memcmp
    - xfree
    - ksba_cert_release
    - app_help_get_keygrip_string
    - ksba_cert_new
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keygripstr_from_prkdf (app_t app, prkdf_object_t prkdf,
      char *r_gripstr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-sc-hsm.c:1379,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-sc-hsm.c:1381,1
    - Dst: stpcpy
      Src: /src/gnupg/scd/app-sc-hsm.c:1382,1
    - Dst: bin2hex
      Src: /src/gnupg/scd/app-sc-hsm.c:1383,1
    - Dst: keygripstr_from_prkdf
      Src: /src/gnupg/scd/app-sc-hsm.c:1385,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1388,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-sc-hsm.c:1393,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-sc-hsm.c:1393,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-sc-hsm.c:1394,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-sc-hsm.c:1396,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:1399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - app
    - ctrl
    - keyinfo
    argTypes:
    - app_t
    - ctrl_t
    - prkdf_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1369
    functionDepth: 2
    functionLinenumber: 1369
    functionLinenumberEnd: 1402
    functionName: send_keypairinfo
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - log_error
    - bin2hex
    - log_assert
    - strlen
    - send_status_info
    - keygripstr_from_prkdf
    - xfree
    - stpcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t send_keypairinfo (app_t app, ctrl_t ctrl, prkdf_object_t
      keyinfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: send_certinfo
      Src: /src/gnupg/scd/app-sc-hsm.c:1416,1
    - Dst: send_certinfo
      Src: /src/gnupg/scd/app-sc-hsm.c:1418,1
    - Dst: send_keypairinfo
      Src: /src/gnupg/scd/app-sc-hsm.c:1423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - app
    - ctrl
    - flags
    argTypes:
    - app_t
    - ctrl_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1426
    functionName: do_learn_status
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - send_certinfo
    - send_keypairinfo
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_learn_status (app_t app, ctrl_t ctrl, unsigned int flags)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-sc-hsm.c:1452,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-sc-hsm.c:1454,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-sc-hsm.c:1455,1
    - Dst: select_and_read_binary
      Src: /src/gnupg/scd/app-sc-hsm.c:1460,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-sc-hsm.c:1460,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1464,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:1466,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-sc-hsm.c:1467,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-sc-hsm.c:1467,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:1474,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1485,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-sc-hsm.c:1489,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:1491,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1504,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:1510,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1516,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-sc-hsm.c:1520,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-sc-hsm.c:1521,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-sc-hsm.c:1529,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-sc-hsm.c:1531,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:1537,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 73
    argCount: 4
    argNames:
    - app
    - cdf
    - r_cert
    - r_certlen
    argTypes:
    - app_t
    - cdf_object_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1539
    functionName: readcert_by_cdf
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 1
    functionsReached:
    - parse_ber_header
    - memmove
    - gpg_error_from_syserror
    - log_error
    - log_assert
    - app_get_slot
    - select_and_read_binary
    - gpg_error
    - gpg_strerror
    - memcpy
    - xfree
    - log_printf
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t readcert_by_cdf (app_t app, cdf_object_t cdf,\n                 unsigned
      char **r_cert, size_t *r_certlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cdf_object_from_certid
      Src: /src/gnupg/scd/app-sc-hsm.c:1559,1
    - Dst: readcert_by_cdf
      Src: /src/gnupg/scd/app-sc-hsm.c:1561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - app
    - certid
    - r_cert
    - r_certlen
    argTypes:
    - app_t
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1563
    functionName: do_readcert
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - readcert_by_cdf
    - cdf_object_from_certid
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_readcert (app_t app, const char *certid,\n             unsigned
      char **r_cert, size_t *r_certlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/scd/app-sc-hsm.c:1572,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-sc-hsm.c:1585,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-sc-hsm.c:1587,1
    - Dst: stpcpy
      Src: /src/gnupg/scd/app-sc-hsm.c:1588,1
    - Dst: bin2hex
      Src: /src/gnupg/scd/app-sc-hsm.c:1589,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-sc-hsm.c:1591,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-sc-hsm.c:1591,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:1592,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-sc-hsm.c:1596,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-sc-hsm.c:1598,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1603,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - app
    - ctrl
    - name
    argTypes:
    - app_t
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1569
    functionDepth: 2
    functionLinenumber: 1569
    functionLinenumberEnd: 1604
    functionName: do_getattr
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - strlen
    - bin2hex
    - send_status_info
    - strcmp
    - gpg_error
    - xfree
    - stpcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_getattr (app_t app, ctrl_t ctrl, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/scd/app-sc-hsm.c:1630,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-sc-hsm.c:1632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - dig
    - diglen
    - prefix
    - prefixlen
    - buff
    - bufflen
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1633
    functionName: apply_PKCS_padding
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void apply_PKCS_padding(const unsigned char *dig, int diglen,\n                   const
      unsigned char *prefix, int prefixlen,\n                   unsigned char *buff,
      int bufflen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:1653,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1656,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:1663,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1666,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-sc-hsm.c:1673,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1676,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1681,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-sc-hsm.c:1682,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 4
    argNames:
    - di
    - dilen
    - hash
    - hashlen
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1641
    functionDepth: 1
    functionLinenumber: 1641
    functionLinenumberEnd: 1685
    functionName: hash_from_digestinfo
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - parse_ber_header
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int hash_from_digestinfo (const unsigned char *di, size_t dilen,\n
      \                     unsigned char *hash, size_t *hashlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: apdu_send_simple
      Src: /src/gnupg/scd/app-sc-hsm.c:1700,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-sc-hsm.c:1700,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1708,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1710,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1715,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1716,1
    - Dst: memset
      Src: /src/gnupg/scd/app-sc-hsm.c:1719,1
    - Dst: iso7816_check_pinpad
      Src: /src/gnupg/scd/app-sc-hsm.c:1727,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-sc-hsm.c:1727,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-sc-hsm.c:1729,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-sc-hsm.c:1732,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-sc-hsm.c:1732,1
    - Dst: iso7816_verify_kp
      Src: /src/gnupg/scd/app-sc-hsm.c:1736,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-sc-hsm.c:1736,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-sc-hsm.c:1737,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-sc-hsm.c:1741,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-sc-hsm.c:1744,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-sc-hsm.c:1744,1
    - Dst: iso7816_verify
      Src: /src/gnupg/scd/app-sc-hsm.c:1748,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-sc-hsm.c:1748,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-sc-hsm.c:1749,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:1750,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1754,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-sc-hsm.c:1754,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app-sc-hsm.c:1757,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 2
    argNames:
    - app
    - pincb_arg
    argTypes:
    - app_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1690
    functionDepth: 1
    functionLinenumber: 1690
    functionLinenumberEnd: 1759
    functionName: verify_pin
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - iso7816_check_pinpad
    - log_error
    - strlen
    - app_get_slot
    - pincb
    - gpg_error
    - memset
    - log_info
    - gpg_strerror
    - iso7816_verify_kp
    - xfree
    - apdu_send_simple
    - log_debug
    - iso7816_verify
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t verify_pin (app_t app, gpg_error_t (*pincb)(void*, const
      char *, char **),\n            void *pincb_arg)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1819,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1822,1
    - Dst: prkdf_object_from_keyidstr
      Src: /src/gnupg/scd/app-sc-hsm.c:1824,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1830,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1831,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1842,1
    - Dst: apply_PKCS_padding
      Src: /src/gnupg/scd/app-sc-hsm.c:1845,1
    - Dst: apply_PKCS_padding
      Src: /src/gnupg/scd/app-sc-hsm.c:1849,1
    - Dst: apply_PKCS_padding
      Src: /src/gnupg/scd/app-sc-hsm.c:1853,1
    - Dst: apply_PKCS_padding
      Src: /src/gnupg/scd/app-sc-hsm.c:1857,1
    - Dst: apply_PKCS_padding
      Src: /src/gnupg/scd/app-sc-hsm.c:1861,1
    - Dst: apply_PKCS_padding
      Src: /src/gnupg/scd/app-sc-hsm.c:1865,1
    - Dst: apply_PKCS_padding
      Src: /src/gnupg/scd/app-sc-hsm.c:1869,1
    - Dst: hash_from_digestinfo
      Src: /src/gnupg/scd/app-sc-hsm.c:1878,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1881,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-sc-hsm.c:1882,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1887,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-sc-hsm.c:1890,1
    - Dst: verify_pin
      Src: /src/gnupg/scd/app-sc-hsm.c:1895,1
    - Dst: apdu_send_le
      Src: /src/gnupg/scd/app-sc-hsm.c:1899,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-sc-hsm.c:1899,1
    - Dst: iso7816_map_sw
      Src: /src/gnupg/scd/app-sc-hsm.c:1902,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 54
    argCount: 9
    argNames:
    - app
    - ctrl
    - keyidstr
    - hashalgo
    - pincb_arg
    - indata
    - indatalen
    - outdata
    - outdatalen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - int
    - void*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1778
    functionDepth: 2
    functionLinenumber: 1778
    functionLinenumberEnd: 1903
    functionName: do_sign
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 2
    functionsReached:
    - apdu_send_le
    - log_error
    - iso7816_map_sw
    - app_get_slot
    - gpg_error
    - hash_from_digestinfo
    - gpg_strerror
    - prkdf_object_from_keyidstr
    - apply_PKCS_padding
    - memcpy
    - verify_pin
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_sign (app_t app, ctrl_t ctrl, const char *keyidstr,
      int hashalgo,\n         gpg_error_t (*pincb)(void*, const char *, char **),\n
      \        void *pincb_arg,\n         const void *indata, size_t indatalen,\n
      \        unsigned char **outdata, size_t *outdatalen )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1925,1
    - Dst: prkdf_object_from_keyidstr
      Src: /src/gnupg/scd/app-sc-hsm.c:1927,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1932,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1934,1
    - Dst: do_sign
      Src: /src/gnupg/scd/app-sc-hsm.c:1938,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 8
    argNames:
    - app
    - ctrl
    - keyidstr
    - pincb_arg
    - indata
    - indatalen
    - outdata
    - outdatalen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - void*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1913
    functionDepth: 1
    functionLinenumber: 1913
    functionLinenumberEnd: 1940
    functionName: do_auth
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - prkdf_object_from_keyidstr
    - gpg_error
    - do_sign
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_auth (app_t app, ctrl_t ctrl, const char *keyidstr,\n
      \        gpg_error_t (*pincb)(void*, const char *, char **),\n         void
      *pincb_arg,\n         const void *indata, size_t indatalen,\n         unsigned
      char **outdata, size_t *outdatalen )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1954,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1956,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1958,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:1967,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-sc-hsm.c:1972,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-sc-hsm.c:1974,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-sc-hsm.c:1976,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - src
    - srclen
    - dst
    - dstlen
    argTypes:
    - unsigned char*
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1947
    functionDepth: 1
    functionLinenumber: 1947
    functionLinenumberEnd: 1981
    functionName: strip_PKCS15_padding
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - xtrymalloc
    - memcpy
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t strip_PKCS15_padding(unsigned char *src, int srclen, unsigned
      char **dst,\n                     size_t *dstlen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:2006,1
    - Dst: prkdf_object_from_keyidstr
      Src: /src/gnupg/scd/app-sc-hsm.c:2008,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-sc-hsm.c:2013,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:2014,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:2018,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-sc-hsm.c:2024,1
    - Dst: memset
      Src: /src/gnupg/scd/app-sc-hsm.c:2030,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-sc-hsm.c:2032,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-sc-hsm.c:2034,1
    - Dst: verify_pin
      Src: /src/gnupg/scd/app-sc-hsm.c:2037,1
    - Dst: apdu_send_le
      Src: /src/gnupg/scd/app-sc-hsm.c:2041,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-sc-hsm.c:2041,1
    - Dst: iso7816_map_sw
      Src: /src/gnupg/scd/app-sc-hsm.c:2044,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-sc-hsm.c:2047,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-sc-hsm.c:2047,1
    - Dst: strip_PKCS15_padding
      Src: /src/gnupg/scd/app-sc-hsm.c:2051,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-sc-hsm.c:2052,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 9
    argNames:
    - app
    - ctrl
    - keyidstr
    - pincb_arg
    - indata
    - indatalen
    - outdata
    - outdatalen
    - r_info
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - void*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 1987
    functionDepth: 2
    functionLinenumber: 1987
    functionLinenumberEnd: 2058
    functionName: do_decipher
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - apdu_send_le
    - log_error
    - app_get_slot
    - strip_PKCS15_padding
    - gpg_error
    - memset
    - gpg_strerror
    - xfree
    - prkdf_object_from_keyidstr
    - verify_pin
    - memcpy
    - iso7816_map_sw
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_decipher (app_t app, ctrl_t ctrl, const char *keyidstr,\n
      \            gpg_error_t (*pincb)(void*, const char *, char **),\n             void
      *pincb_arg,\n             const void *indata, size_t indatalen,\n             unsigned
      char **outdata, size_t *outdatalen,\n             unsigned int *r_info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-sc-hsm.c:2068,1
    - Dst: iso7816_select_application
      Src: /src/gnupg/scd/app-sc-hsm.c:2071,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-sc-hsm.c:2076,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-sc-hsm.c:2079,1
    - Dst: read_meta
      Src: /src/gnupg/scd/app-sc-hsm.c:2083,1
    - Dst: do_deinit
      Src: /src/gnupg/scd/app-sc-hsm.c:2103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2065
    functionDepth: 5
    functionLinenumber: 2065
    functionLinenumberEnd: 2107
    functionName: app_select_sc_hsm
    functionSourceFile: /src/gnupg/scd/app-sc-hsm.c
    functionUses: 0
    functionsReached:
    - read_meta
    - iso7816_select_application
    - gpg_error_from_syserror
    - app_get_slot
    - do_deinit
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t app_select_sc_hsm (app_t app)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:115,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 147
    argCount: 1
    argNames:
    - sw
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 116
    functionName: map_sw
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 4
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t map_sw (int sw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sw
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: iso7816_map_sw
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 4
    functionsReached:
    - map_sw
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t iso7816_map_sw (int sw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apdu_send_simple
      Src: /src/gnupg/scd/iso7816.c:142,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - slot
    - aid
    - aidlen
    - flags
    argTypes:
    - int
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: iso7816_select_application
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 1
    functionsReached:
    - apdu_send_simple
    - map_sw
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_select_application (int slot, const char *aid,
      size_t aidlen,\n                            unsigned int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: apdu_send
      Src: /src/gnupg/scd/iso7816.c:167,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - slot
    - aid
    - aidlen
    - flags
    - result
    - resultlen
    argTypes:
    - int
    - char*
    - size_t
    - unsigned int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: iso7816_select_application_ext
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - map_sw
    - apdu_send
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_select_application_ext (int slot, const char *aid,
      size_t aidlen,\n                                unsigned int flags,\n                                unsigned
      char **result, size_t *resultlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apdu_send_simple
      Src: /src/gnupg/scd/iso7816.c:180,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: iso7816_select_mf
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - apdu_send_simple
    - map_sw
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t iso7816_select_mf (int slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apdu_send_simple
      Src: /src/gnupg/scd/iso7816.c:196,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - slot
    - tag
    - is_dir
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 199
    functionName: iso7816_select_file
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - apdu_send_simple
    - map_sw
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t iso7816_select_file (int slot, int tag, int is_dir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:213,1
    - Dst: apdu_send_simple
      Src: /src/gnupg/scd/iso7816.c:229,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - slot
    - path
    - pathlen
    - topdf
    argTypes:
    - int
    - unsigned short*
    - size_t
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 232
    functionName: iso7816_select_path
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - apdu_send_simple
    - gpg_error
    - map_sw
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_select_path (int slot, const unsigned short *path,
      size_t pathlen,\n                     unsigned short topdf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:243,1
    - Dst: apdu_send
      Src: /src/gnupg/scd/iso7816.c:247,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:252,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - slot
    - list_dirs
    - result
    - resultlen
    argTypes:
    - int
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 257
    functionName: iso7816_list_directory
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - map_sw
    - xfree
    - apdu_send
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_list_directory (int slot, int list_dirs,\n                        unsigned
      char **result, size_t *resultlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: apdu_send
      Src: /src/gnupg/scd/iso7816.c:278,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:283,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 11
    argNames:
    - slot
    - extended_mode
    - class
    - ins
    - p0
    - p1
    - lc
    - data
    - r_sw
    - result
    - resultlen
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - void*
    - unsigned int*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 290
    functionName: iso7816_send_apdu
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - map_sw
    - xfree
    - apdu_send
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_send_apdu (int slot, int extended_mode,\n                   int
      class, int ins, int p0, int p1,\n                   int lc, const void *data,\n
      \                  unsigned int *r_sw,\n                   unsigned char **result,
      size_t *resultlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: apdu_send_direct
      Src: /src/gnupg/scd/iso7816.c:313,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:331,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 7
    argNames:
    - slot
    - apdudata
    - apdudatalen
    - handle_more
    - r_sw
    - result
    - resultlen
    argTypes:
    - int
    - void*
    - size_t
    - int
    - unsigned int*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 338
    functionName: iso7816_apdu_direct
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - map_sw
    - apdu_send_direct
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_apdu_direct (int slot, const void *apdudata, size_t
      apdudatalen,\n                     int handle_more, unsigned int *r_sw,\n                     unsigned
      char **result, size_t *resultlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apdu_check_pinpad
      Src: /src/gnupg/scd/iso7816.c:348,1
    - Dst: iso7816_map_sw
      Src: /src/gnupg/scd/iso7816.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - slot
    - command
    - pininfo
    argTypes:
    - int
    - int
    - pininfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 350
    functionName: iso7816_check_pinpad
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 1
    functionsReached:
    - iso7816_map_sw
    - apdu_check_pinpad
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t iso7816_check_pinpad (int slot, int command, pininfo_t
      *pininfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apdu_pinpad_verify
      Src: /src/gnupg/scd/iso7816.c:361,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - slot
    - chvno
    - pininfo
    argTypes:
    - int
    - int
    - pininfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 363
    functionName: iso7816_verify_kp
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 1
    functionsReached:
    - apdu_pinpad_verify
    - map_sw
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t iso7816_verify_kp (int slot, int chvno, pininfo_t *pininfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apdu_send_simple
      Src: /src/gnupg/scd/iso7816.c:372,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - slot
    - chvno
    - chv
    - chvlen
    argTypes:
    - int
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 374
    functionName: iso7816_verify
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 1
    functionsReached:
    - apdu_send_simple
    - map_sw
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t iso7816_verify (int slot, int chvno, const char *chv, size_t
      chvlen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: iso7816_apdu_direct
      Src: /src/gnupg/scd/iso7816.c:392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - slot
    - chvno
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 406
    functionName: iso7816_verify_status
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - iso7816_apdu_direct
    linkageType: ''
    returnType: int
    signature: int iso7816_verify_status (int slot, int chvno)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apdu_pinpad_modify
      Src: /src/gnupg/scd/iso7816.c:419,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - slot
    - chvno
    - is_exchange
    - pininfo
    argTypes:
    - int
    - int
    - int
    - pininfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 422
    functionName: iso7816_change_reference_data_kp
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - map_sw
    - apdu_pinpad_modify
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_change_reference_data_kp (int slot, int chvno,
      int is_exchange,\n                                  pininfo_t *pininfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:440,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/iso7816.c:442,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:444,1
    - Dst: gpg_err_code_from_errno
      Src: /src/gnupg/scd/iso7816.c:444,1
    - Dst: memcpy
      Src: /src/gnupg/scd/iso7816.c:446,1
    - Dst: memcpy
      Src: /src/gnupg/scd/iso7816.c:447,1
    - Dst: apdu_send_simple
      Src: /src/gnupg/scd/iso7816.c:449,1
    - Dst: wipememory
      Src: /src/gnupg/scd/iso7816.c:451,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:452,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:453,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 6
    argNames:
    - slot
    - chvno
    - oldchv
    - oldchvlen
    - newchv
    - newchvlen
    argTypes:
    - int
    - int
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 455
    functionName: iso7816_change_reference_data
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - map_sw
    - wipememory
    - gpg_error
    - xfree
    - memcpy
    - apdu_send_simple
    - xtrymalloc
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_change_reference_data (int slot, int chvno,\n
      \                              const char *oldchv, size_t oldchvlen,\n                               const
      char *newchv, size_t newchvlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:465,1
    - Dst: apdu_send_simple
      Src: /src/gnupg/scd/iso7816.c:467,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - slot
    - chvno
    - data
    - datalen
    argTypes:
    - int
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 470
    functionName: iso7816_reset_retry_counter_with_rc
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - apdu_send_simple
    - gpg_error
    - map_sw
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_reset_retry_counter_with_rc (int slot, int chvno,\n
      \                                    const char *data, size_t datalen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apdu_send_simple
      Src: /src/gnupg/scd/iso7816.c:479,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - slot
    - chvno
    - newchv
    - newchvlen
    argTypes:
    - int
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 482
    functionName: iso7816_reset_retry_counter
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - apdu_send_simple
    - map_sw
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_reset_retry_counter (int slot, int chvno,\n                             const
      char *newchv, size_t newchvlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apdu_send_le
      Src: /src/gnupg/scd/iso7816.c:518,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - slot
    - occurrence
    - tag
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 521
    functionName: iso7816_select_data
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - map_sw
    - apdu_send_le
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t iso7816_select_data (int slot, int occurrence, int tag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:535,1
    - Dst: apdu_send_le
      Src: /src/gnupg/scd/iso7816.c:546,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:552,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - slot
    - extended_mode
    - tag
    - result
    - resultlen
    argTypes:
    - int
    - int
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 559
    functionName: iso7816_get_data
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - map_sw
    - xfree
    - apdu_send_le
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_get_data (int slot, int extended_mode, int tag,\n
      \                 unsigned char **result, size_t *resultlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:576,1
    - Dst: apdu_send_le
      Src: /src/gnupg/scd/iso7816.c:610,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:616,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:619,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 5
    argNames:
    - slot
    - extended_mode
    - tag
    - result
    - resultlen
    argTypes:
    - int
    - int
    - unsigned int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 623
    functionName: iso7816_get_data_odd
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - map_sw
    - xfree
    - apdu_send_le
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_get_data_odd (int slot, int extended_mode, unsigned
      int tag,\n                      unsigned char **result, size_t *resultlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apdu_send_simple
      Src: /src/gnupg/scd/iso7816.c:636,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - slot
    - extended_mode
    - tag
    - data
    - datalen
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 640
    functionName: iso7816_put_data
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - apdu_send_simple
    - map_sw
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_put_data (int slot, int extended_mode, int tag,\n
      \                 const void *data, size_t datalen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apdu_send_simple
      Src: /src/gnupg/scd/iso7816.c:649,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - slot
    - extended_mode
    - tag
    - data
    - datalen
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 653
    functionName: iso7816_put_data_odd
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - apdu_send_simple
    - map_sw
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_put_data_odd (int slot, int extended_mode, int
      tag,\n                      const void *data, size_t datalen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:666,1
    - Dst: apdu_send_simple
      Src: /src/gnupg/scd/iso7816.c:668,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 5
    argNames:
    - slot
    - p1
    - p2
    - data
    - datalen
    argTypes:
    - int
    - int
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 671
    functionName: iso7816_manage_security_env
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - apdu_send_simple
    - gpg_error
    - map_sw
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_manage_security_env (int slot, int p1, int p2,\n
      \                            const unsigned char *data, size_t datalen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:686,1
    - Dst: apdu_send_le
      Src: /src/gnupg/scd/iso7816.c:695,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:703,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:706,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 7
    argNames:
    - slot
    - extended_mode
    - data
    - datalen
    - le
    - result
    - resultlen
    argTypes:
    - int
    - int
    - unsigned char*
    - size_t
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 710
    functionName: iso7816_compute_ds
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - map_sw
    - xfree
    - apdu_send_le
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_compute_ds (int slot, int extended_mode,\n                    const
      unsigned char *data, size_t datalen, int le,\n                    unsigned char
      **result, size_t *resultlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:728,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/iso7816.c:740,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:742,1
    - Dst: gpg_err_code_from_errno
      Src: /src/gnupg/scd/iso7816.c:742,1
    - Dst: memcpy
      Src: /src/gnupg/scd/iso7816.c:745,1
    - Dst: apdu_send_le
      Src: /src/gnupg/scd/iso7816.c:746,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:750,1
    - Dst: apdu_send_le
      Src: /src/gnupg/scd/iso7816.c:754,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:762,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:765,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 8
    argNames:
    - slot
    - extended_mode
    - data
    - datalen
    - le
    - padind
    - result
    - resultlen
    argTypes:
    - int
    - int
    - unsigned char*
    - size_t
    - int
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 769
    functionName: iso7816_decipher
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - map_sw
    - apdu_send_le
    - gpg_error
    - xfree
    - memcpy
    - xtrymalloc
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_decipher (int slot, int extended_mode,\n                  const
      unsigned char *data, size_t datalen, int le,\n                  int padind,
      unsigned char **result, size_t *resultlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:786,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/iso7816.c:796,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/iso7816.c:798,1
    - Dst: memcpy
      Src: /src/gnupg/scd/iso7816.c:814,1
    - Dst: apdu_send_le
      Src: /src/gnupg/scd/iso7816.c:815,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:819,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:823,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:826,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 7
    argNames:
    - slot
    - extended_mode
    - data
    - datalen
    - le
    - result
    - resultlen
    argTypes:
    - int
    - int
    - unsigned char*
    - size_t
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 776
    functionDepth: 2
    functionLinenumber: 776
    functionLinenumberEnd: 830
    functionName: iso7816_pso_csv
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - map_sw
    - apdu_send_le
    - gpg_error_from_syserror
    - gpg_error
    - xfree
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_pso_csv (int slot, int extended_mode,\n                 const
      unsigned char *data, size_t datalen, int le,\n                 unsigned char
      **result, size_t *resultlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:843,1
    - Dst: apdu_send_le
      Src: /src/gnupg/scd/iso7816.c:852,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:860,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:863,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 7
    argNames:
    - slot
    - extended_mode
    - data
    - datalen
    - le
    - result
    - resultlen
    argTypes:
    - int
    - int
    - unsigned char*
    - size_t
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 867
    functionName: iso7816_internal_authenticate
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - map_sw
    - xfree
    - apdu_send_le
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_internal_authenticate (int slot, int extended_mode,\n
      \                              const unsigned char *data, size_t datalen,\n
      \                              int le,\n                               unsigned
      char **result, size_t *resultlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:881,1
    - Dst: apdu_send_le
      Src: /src/gnupg/scd/iso7816.c:890,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:898,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:901,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 9
    argNames:
    - slot
    - extended_mode
    - algoref
    - keyref
    - data
    - datalen
    - le
    - result
    - resultlen
    argTypes:
    - int
    - int
    - int
    - int
    - unsigned char*
    - size_t
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 905
    functionName: iso7816_general_authenticate
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - map_sw
    - xfree
    - apdu_send_le
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_general_authenticate (int slot, int extended_mode,\n
      \                             int algoref, int keyref,\n                              const
      unsigned char *data, size_t datalen,\n                              int le,\n
      \                             unsigned char **result, size_t *resultlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:920,1
    - Dst: apdu_send_le
      Src: /src/gnupg/scd/iso7816.c:924,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:932,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:935,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 9
    argNames:
    - slot
    - extended_mode
    - p1
    - p2
    - data
    - datalen
    - le
    - result
    - resultlen
    argTypes:
    - int
    - int
    - int
    - int
    - char*
    - size_t
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 939
    functionName: do_generate_keypair
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - map_sw
    - xfree
    - apdu_send_le
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_generate_keypair (int slot, int extended_mode, int
      p1, int p2,\n                     const char *data, size_t datalen, int le,\n
      \                    unsigned char **result, size_t *resultlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_generate_keypair
      Src: /src/gnupg/scd/iso7816.c:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - slot
    - extended_mode
    - p1
    - p2
    - data
    - datalen
    - le
    - result
    - resultlen
    argTypes:
    - int
    - int
    - int
    - int
    - char*
    - size_t
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 950
    functionName: iso7816_generate_keypair
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - do_generate_keypair
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_generate_keypair (int slot, int extended_mode,
      int p1, int p2,\n                          const char *data, size_t datalen,\n
      \                         int le,\n                          unsigned char **result,
      size_t *resultlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_generate_keypair
      Src: /src/gnupg/scd/iso7816.c:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - slot
    - extended_mode
    - data
    - datalen
    - le
    - result
    - resultlen
    argTypes:
    - int
    - int
    - char*
    - size_t
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 961
    functionName: iso7816_read_public_key
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - do_generate_keypair
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_read_public_key (int slot, int extended_mode,\n
      \                        const char *data, size_t datalen,\n                         int
      le,\n                         unsigned char **result, size_t *resultlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:973,1
    - Dst: apdu_send_le
      Src: /src/gnupg/scd/iso7816.c:979,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:985,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:986,1
    - Dst: memcpy
      Src: /src/gnupg/scd/iso7816.c:990,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:993,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - slot
    - length
    - buffer
    argTypes:
    - int
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 998
    functionName: iso7816_get_challenge
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - map_sw
    - apdu_send_le
    - gpg_error
    - xfree
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t iso7816_get_challenge (int slot, int length, unsigned char
      *buffer)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:1021,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:1028,1
    - Dst: apdu_send_le
      Src: /src/gnupg/scd/iso7816.c:1035,1
    - Dst: SW_EXACT_LENGTH_P
      Src: /src/gnupg/scd/iso7816.c:1038,1
    - Dst: apdu_send_le
      Src: /src/gnupg/scd/iso7816.c:1041,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:1059,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:1060,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:1063,1
    - Dst: xtryrealloc
      Src: /src/gnupg/scd/iso7816.c:1067,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/iso7816.c:1070,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:1071,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:1072,1
    - Dst: memcpy
      Src: /src/gnupg/scd/iso7816.c:1078,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:1080,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 7
    argNames:
    - slot
    - extended_mode
    - offset
    - nmax
    - result
    - resultlen
    - r_sw
    argTypes:
    - int
    - int
    - size_t
    - size_t
    - unsigned char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1005
    functionDepth: 2
    functionLinenumber: 1005
    functionLinenumberEnd: 1100
    functionName: iso7816_read_binary_ext
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - SW_EXACT_LENGTH_P
    - map_sw
    - apdu_send_le
    - gpg_error_from_syserror
    - xtryrealloc
    - gpg_error
    - xfree
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_read_binary_ext (int slot, int extended_mode,\n
      \                        size_t offset, size_t nmax,\n                         unsigned
      char **result, size_t *resultlen,\n                         int *r_sw)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iso7816_read_binary_ext
      Src: /src/gnupg/scd/iso7816.c:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - slot
    - offset
    - nmax
    - result
    - resultlen
    argTypes:
    - int
    - size_t
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1103
    functionDepth: 3
    functionLinenumber: 1103
    functionLinenumberEnd: 1109
    functionName: iso7816_read_binary
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - iso7816_read_binary_ext
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_read_binary (int slot, size_t offset, size_t nmax,\n
      \                    unsigned char **result, size_t *resultlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:1133,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:1141,1
    - Dst: apdu_send_le
      Src: /src/gnupg/scd/iso7816.c:1145,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:1156,1
    - Dst: xfree
      Src: /src/gnupg/scd/iso7816.c:1157,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:1160,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 7
    argNames:
    - slot
    - recno
    - reccount
    - short_ef
    - result
    - resultlen
    - r_sw
    argTypes:
    - int
    - int
    - int
    - int
    - unsigned char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1120
    functionDepth: 2
    functionLinenumber: 1120
    functionLinenumberEnd: 1166
    functionName: iso7816_read_record_ext
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - map_sw
    - xfree
    - apdu_send_le
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_read_record_ext (int slot, int recno, int reccount,
      int short_ef,\n                         unsigned char **result, size_t *resultlen,\n
      \                        int *r_sw)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iso7816_read_record_ext
      Src: /src/gnupg/scd/iso7816.c:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - slot
    - recno
    - reccount
    - short_ef
    - result
    - resultlen
    argTypes:
    - int
    - int
    - int
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1169
    functionDepth: 3
    functionLinenumber: 1169
    functionLinenumberEnd: 1175
    functionName: iso7816_read_record
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - iso7816_read_record_ext
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_read_record (int slot, int recno, int reccount,
      int short_ef,\n                     unsigned char **result, size_t *resultlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/iso7816.c:1189,1
    - Dst: apdu_send_simple
      Src: /src/gnupg/scd/iso7816.c:1191,1
    - Dst: map_sw
      Src: /src/gnupg/scd/iso7816.c:1194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - slot
    - extended_mode
    - offset
    - data
    - datalen
    argTypes:
    - int
    - int
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1180
    functionDepth: 2
    functionLinenumber: 1180
    functionLinenumberEnd: 1195
    functionName: iso7816_update_binary
    functionSourceFile: /src/gnupg/scd/iso7816.c
    functionUses: 0
    functionsReached:
    - apdu_send_simple
    - gpg_error
    - map_sw
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iso7816_update_binary (int slot, int extended_mode, size_t
      offset,\n                       const void *data, size_t datalen)"
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/gnupg/scd/atr.c:52,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:58,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:63,1
    - Dst: es_putc
      Src: /src/gnupg/scd/atr.c:64,1
    - Dst: es_fputs
      Src: /src/gnupg/scd/atr.c:67,1
    - Dst: es_fputs
      Src: /src/gnupg/scd/atr.c:69,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:71,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:85,1
    - Dst: es_fputs
      Src: /src/gnupg/scd/atr.c:88,1
    - Dst: es_fputs
      Src: /src/gnupg/scd/atr.c:95,1
    - Dst: es_fputs
      Src: /src/gnupg/scd/atr.c:98,1
    - Dst: es_fputs
      Src: /src/gnupg/scd/atr.c:100,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:102,1
    - Dst: es_fputs
      Src: /src/gnupg/scd/atr.c:103,1
    - Dst: es_fputs
      Src: /src/gnupg/scd/atr.c:106,1
    - Dst: es_fputs
      Src: /src/gnupg/scd/atr.c:108,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:110,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:112,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:121,1
    - Dst: es_fputs
      Src: /src/gnupg/scd/atr.c:132,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:134,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:147,1
    - Dst: es_fputs
      Src: /src/gnupg/scd/atr.c:150,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:162,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:167,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:175,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:183,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:195,1
    - Dst: es_fputs
      Src: /src/gnupg/scd/atr.c:198,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:212,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:220,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:229,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:241,1
    - Dst: es_fputs
      Src: /src/gnupg/scd/atr.c:244,1
    - Dst: es_fputs
      Src: /src/gnupg/scd/atr.c:257,1
    - Dst: es_fputs
      Src: /src/gnupg/scd/atr.c:262,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:264,1
    - Dst: es_putc
      Src: /src/gnupg/scd/atr.c:265,1
    - Dst: es_fputs
      Src: /src/gnupg/scd/atr.c:269,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:271,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:273,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/atr.c:277,1
    - Dst: es_putc
      Src: /src/gnupg/scd/atr.c:281,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/scd/atr.c:282,1
    - Dst: log_error
      Src: /src/gnupg/scd/atr.c:284,1
    - Dst: strerror
      Src: /src/gnupg/scd/atr.c:284,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 186
    argCount: 2
    argNames:
    - buffer
    - buflen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 289
    functionName: atr_dump
    functionSourceFile: /src/gnupg/scd/atr.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - es_fclose_snatch
    - es_fprintf
    - log_error
    - es_putc
    - es_fputs
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      atr_dump (const void *buffer, size_t buflen)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - a
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: app_help_count_bits
    functionSourceFile: /src/gnupg/scd/app-help.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int app_help_count_bits (const unsigned char *a, size_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_sscan
      Src: /src/gnupg/scd/app-help.c:77,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/scd/app-help.c:81,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-help.c:83,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-help.c:84,1
    - Dst: get_pk_algo_from_key
      Src: /src/gnupg/scd/app-help.c:88,1
    - Dst: pubkey_algo_string
      Src: /src/gnupg/scd/app-help.c:92,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-help.c:95,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-help.c:96,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-help.c:104,1
    - Dst: bin2hex
      Src: /src/gnupg/scd/app-help.c:107,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 6
    argNames:
    - pk
    - pklen
    - hexkeygrip
    - r_pkey
    - r_algo
    - r_algostr
    argTypes:
    - void*
    - size_t
    - char*
    - gcry_sexp_t*
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 110
    functionName: app_help_get_keygrip_string_pk
    functionSourceFile: /src/gnupg/scd/app-help.c
    functionUses: 0
    functionsReached:
    - gcry_pk_get_keygrip
    - gpg_error_from_syserror
    - bin2hex
    - get_pk_algo_from_key
    - gcry_sexp_sscan
    - gpg_error
    - gcry_sexp_release
    - pubkey_algo_string
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t app_help_get_keygrip_string_pk (const void *pk, size_t
      pklen, char *hexkeygrip,\n                                gcry_sexp_t *r_pkey,
      int *r_algo,\n                                char **r_algostr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_public_key
      Src: /src/gnupg/scd/app-help.c:130,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-help.c:132,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/scd/app-help.c:133,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-help.c:135,1
    - Dst: app_help_get_keygrip_string_pk
      Src: /src/gnupg/scd/app-help.c:136,1
    - Dst: ksba_free
      Src: /src/gnupg/scd/app-help.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - cert
    - hexkeygrip
    - r_pkey
    - r_algo
    argTypes:
    - ksba_cert_t
    - char*
    - gcry_sexp_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 140
    functionName: app_help_get_keygrip_string
    functionSourceFile: /src/gnupg/scd/app-help.c
    functionUses: 1
    functionsReached:
    - ksba_cert_get_public_key
    - ksba_free
    - gpg_error
    - gcry_sexp_canon_len
    - app_help_get_keygrip_string_pk
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t app_help_get_keygrip_string (ksba_cert_t cert, char *hexkeygrip,\n
      \                            gcry_sexp_t *r_pkey, int *r_algo)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_new
      Src: /src/gnupg/scd/app-help.c:157,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/scd/app-help.c:161,1
    - Dst: ksba_cert_get_public_key
      Src: /src/gnupg/scd/app-help.c:165,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-help.c:168,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/scd/app-help.c:171,1
    - Dst: uncompress_ecc_q_in_canon_sexp
      Src: /src/gnupg/scd/app-help.c:173,1
    - Dst: ksba_free
      Src: /src/gnupg/scd/app-help.c:178,1
    - Dst: ksba_free
      Src: /src/gnupg/scd/app-help.c:190,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/scd/app-help.c:191,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 4
    argNames:
    - cert
    - certlen
    - r_pk
    - r_pklen
    argTypes:
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 193
    functionName: app_help_pubkey_from_cert
    functionSourceFile: /src/gnupg/scd/app-help.c
    functionUses: 0
    functionsReached:
    - ksba_cert_get_public_key
    - uncompress_ecc_q_in_canon_sexp
    - ksba_cert_init_from_mem
    - ksba_free
    - gpg_error
    - ksba_cert_release
    - gcry_sexp_canon_len
    - ksba_cert_new
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t app_help_pubkey_from_cert (const void *cert, size_t certlen,\n
      \                          unsigned char **r_pk, size_t *r_pklen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: iso7816_select_file
      Src: /src/gnupg/scd/app-help.c:213,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-help.c:216,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-help.c:216,1
    - Dst: iso7816_read_binary
      Src: /src/gnupg/scd/app-help.c:220,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-help.c:223,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-help.c:224,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-help.c:230,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-help.c:231,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-help.c:237,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-help.c:241,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-help.c:242,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-help.c:243,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-help.c:252,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-help.c:253,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-help.c:263,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-help.c:265,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-help.c:285,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 3
    argNames:
    - slot
    - fid
    - r_certoff
    argTypes:
    - int
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 288
    functionName: app_help_read_length_of_cert
    functionSourceFile: /src/gnupg/scd/app-help.c
    functionUses: 0
    functionsReached:
    - parse_ber_header
    - gpg_strerror
    - log_info
    - xfree
    - iso7816_select_file
    - iso7816_read_binary
    linkageType: ''
    returnType: size_t
    signature: size_t app_help_read_length_of_cert (int slot, int fid, size_t *r_certoff)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/scd/app-geldkarte.c:72,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-geldkarte.c:73,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-geldkarte.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: do_deinit
    functionSourceFile: /src/gnupg/scd/app-geldkarte.c
    functionUses: 1
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void do_deinit (app_t app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-geldkarte.c:85,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-geldkarte.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - name
    - string
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: send_one_string
    functionSourceFile: /src/gnupg/scd/app-geldkarte.c
    functionUses: 0
    functionsReached:
    - send_status_info
    - strlen
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t send_one_string (ctrl_t ctrl, const char *name, const char
      *string)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/scd/app-geldkarte.c:98,1
    - Dst: send_one_string
      Src: /src/gnupg/scd/app-geldkarte.c:99,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-geldkarte.c:100,1
    - Dst: send_one_string
      Src: /src/gnupg/scd/app-geldkarte.c:101,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-geldkarte.c:102,1
    - Dst: send_one_string
      Src: /src/gnupg/scd/app-geldkarte.c:103,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-geldkarte.c:104,1
    - Dst: send_one_string
      Src: /src/gnupg/scd/app-geldkarte.c:105,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-geldkarte.c:106,1
    - Dst: send_one_string
      Src: /src/gnupg/scd/app-geldkarte.c:107,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-geldkarte.c:108,1
    - Dst: send_one_string
      Src: /src/gnupg/scd/app-geldkarte.c:109,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-geldkarte.c:110,1
    - Dst: send_one_string
      Src: /src/gnupg/scd/app-geldkarte.c:111,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-geldkarte.c:112,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-geldkarte.c:114,1
    - Dst: send_one_string
      Src: /src/gnupg/scd/app-geldkarte.c:115,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-geldkarte.c:117,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-geldkarte.c:119,1
    - Dst: send_one_string
      Src: /src/gnupg/scd/app-geldkarte.c:120,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-geldkarte.c:122,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-geldkarte.c:124,1
    - Dst: send_one_string
      Src: /src/gnupg/scd/app-geldkarte.c:126,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-geldkarte.c:128,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-geldkarte.c:130,1
    - Dst: send_one_string
      Src: /src/gnupg/scd/app-geldkarte.c:132,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-geldkarte.c:134,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-geldkarte.c:136,1
    - Dst: send_one_string
      Src: /src/gnupg/scd/app-geldkarte.c:138,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-geldkarte.c:141,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - app
    - ctrl
    - name
    argTypes:
    - app_t
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 144
    functionName: do_getattr
    functionSourceFile: /src/gnupg/scd/app-geldkarte.c
    functionUses: 0
    functionsReached:
    - strcmp
    - snprintf
    - send_one_string
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_getattr (app_t app, ctrl_t ctrl, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-geldkarte.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - app
    - ctrl
    - flags
    argTypes:
    - app_t
    - ctrl_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 173
    functionName: do_learn_status
    functionSourceFile: /src/gnupg/scd/app-geldkarte.c
    functionUses: 0
    functionsReached:
    - do_getattr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_learn_status (app_t app, ctrl_t ctrl, unsigned int flags)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/scd/app-geldkarte.c:185,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-geldkarte.c:222,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 2
    argNames:
    - string
    - length
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 252
    functionName: copy_bcd
    functionSourceFile: /src/gnupg/scd/app-geldkarte.c
    functionUses: 0
    functionsReached:
    - xtrystrdup
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      copy_bcd (const unsigned char *string, size_t length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: copy_bcd
      Src: /src/gnupg/scd/app-geldkarte.c:262,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-geldkarte.c:264,1
    - Dst: strtol
      Src: /src/gnupg/scd/app-geldkarte.c:265,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-geldkarte.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - string
    - length
    - result
    argTypes:
    - unsigned char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 268
    functionName: bcd_to_int
    functionSourceFile: /src/gnupg/scd/app-geldkarte.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - strtol
    - xfree
    - copy_bcd
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t bcd_to_int (const unsigned char *string, size_t length,
      int *result)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-geldkarte.c:278,1
    - Dst: iso7816_select_application
      Src: /src/gnupg/scd/app-geldkarte.c:284,1
    - Dst: iso7816_read_record
      Src: /src/gnupg/scd/app-geldkarte.c:291,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-geldkarte.c:296,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-geldkarte.c:309,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-geldkarte.c:321,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-geldkarte.c:324,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-geldkarte.c:327,1
    - Dst: app_munge_serialno
      Src: /src/gnupg/scd/app-geldkarte.c:329,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-geldkarte.c:335,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/scd/app-geldkarte.c:338,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-geldkarte.c:342,1
    - Dst: copy_bcd
      Src: /src/gnupg/scd/app-geldkarte.c:345,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/scd/app-geldkarte.c:348,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-geldkarte.c:352,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-geldkarte.c:354,1
    - Dst: copy_bcd
      Src: /src/gnupg/scd/app-geldkarte.c:357,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/gnupg/scd/app-geldkarte.c:360,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-geldkarte.c:364,1
    - Dst: isascii
      Src: /src/gnupg/scd/app-geldkarte.c:365,1
    - Dst: isascii
      Src: /src/gnupg/scd/app-geldkarte.c:366,1
    - Dst: isascii
      Src: /src/gnupg/scd/app-geldkarte.c:367,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-geldkarte.c:380,1
    - Dst: iso7816_read_record
      Src: /src/gnupg/scd/app-geldkarte.c:381,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-geldkarte.c:386,1
    - Dst: bcd_to_int
      Src: /src/gnupg/scd/app-geldkarte.c:389,1
    - Dst: bcd_to_int
      Src: /src/gnupg/scd/app-geldkarte.c:391,1
    - Dst: bcd_to_int
      Src: /src/gnupg/scd/app-geldkarte.c:393,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-geldkarte.c:405,1
    - Dst: do_deinit
      Src: /src/gnupg/scd/app-geldkarte.c:407,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 103
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 409
    functionName: app_select_geldkarte
    functionSourceFile: /src/gnupg/scd/app-geldkarte.c
    functionUses: 0
    functionsReached:
    - iso7816_select_application
    - gpg_err_code_from_syserror
    - copy_bcd
    - gpg_error_from_syserror
    - bcd_to_int
    - snprintf
    - app_get_slot
    - iso7816_read_record
    - gpg_error
    - xfree
    - memcpy
    - do_deinit
    - xtrycalloc
    - xtrymalloc
    - app_munge_serialno
    - isascii
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t app_select_geldkarte (app_t app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:227,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: flush_fid_cache
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void flush_fid_cache (app_t app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flush_fid_cache
      Src: /src/gnupg/scd/app-nks.c:239,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: do_deinit
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 2
    functionsReached:
    - xfree
    - flush_fid_cache
    linkageType: ''
    returnType: void
    signature: void do_deinit (app_t app)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: all_zero_p
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int all_zero_p (void *buffer, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: app_get_serialno
      Src: /src/gnupg/scd/app-nks.c:267,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:268,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 271
    functionName: get_dispserialno
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - app_get_serialno
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      get_dispserialno (app_t app)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:294,1
    - Dst: readcert_from_ef
      Src: /src/gnupg/scd/app-nks.c:297,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:300,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-nks.c:301,1
    - Dst: app_help_pubkey_from_cert
      Src: /src/gnupg/scd/app-nks.c:305,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:306,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:308,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-nks.c:309,1
    - Dst: iso7816_select_file
      Src: /src/gnupg/scd/app-nks.c:314,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:314,1
    - Dst: iso7816_read_record
      Src: /src/gnupg/scd/app-nks.c:317,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:317,1
    - Dst: iso7816_read_record
      Src: /src/gnupg/scd/app-nks.c:321,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:321,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:325,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:340,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:342,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:347,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:348,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-nks.c:377,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-nks.c:380,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:381,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:382,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-nks.c:386,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:387,1
    - Dst: make_canon_sexp_from_rsa_pk
      Src: /src/gnupg/scd/app-nks.c:394,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:398,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:399,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 5
    argNames:
    - app
    - pkfid
    - cfid
    - r_pk
    - r_pklen
    argTypes:
    - app_t
    - int
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 274
    functionDepth: 4
    functionLinenumber: 274
    functionLinenumberEnd: 401
    functionName: pubkey_from_pk_file
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - app_help_pubkey_from_cert
    - log_error
    - gpg_error_from_syserror
    - readcert_from_ef
    - app_get_slot
    - iso7816_read_record
    - gpg_error
    - gpg_strerror
    - xfree
    - memcpy
    - iso7816_select_file
    - xtrymalloc
    - make_canon_sexp_from_rsa_pk
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t pubkey_from_pk_file (app_t app, int pkfid, int cfid,\n
      \                    unsigned char **r_pk, size_t *r_pklen)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:430,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-nks.c:433,1
    - Dst: xtrystrdup
      Src: /src/gnupg/scd/app-nks.c:438,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-nks.c:440,1
    - Dst: pubkey_from_pk_file
      Src: /src/gnupg/scd/app-nks.c:445,1
    - Dst: app_help_get_keygrip_string_pk
      Src: /src/gnupg/scd/app-nks.c:447,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:449,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-nks.c:468,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:470,1
    - Dst: xtrystrdup
      Src: /src/gnupg/scd/app-nks.c:471,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-nks.c:481,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-nks.c:488,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:496,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 57
    argCount: 6
    argNames:
    - app
    - pkfid
    - cfid
    - r_gripstr
    - r_algo
    - r_algostr
    argTypes:
    - app_t
    - int
    - int
    - char*
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 414
    functionDepth: 5
    functionLinenumber: 414
    functionLinenumberEnd: 498
    functionName: keygripstr_from_pk_file
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - pubkey_from_pk_file
    - gpg_error_from_syserror
    - xtrystrdup
    - gpg_error
    - xfree
    - xtrycalloc
    - app_help_get_keygrip_string_pk
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t keygripstr_from_pk_file (app_t app, int pkfid, int cfid,
      char *r_gripstr,\n                         int *r_algo, char **r_algostr)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:512,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:513,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-nks.c:522,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app-nks.c:531,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:532,1
    - Dst: switch_application
      Src: /src/gnupg/scd/app-nks.c:535,1
    - Dst: switch_application
      Src: /src/gnupg/scd/app-nks.c:559,1
    - Dst: keygripstr_from_pk_file
      Src: /src/gnupg/scd/app-nks.c:564,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-nks.c:569,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-nks.c:570,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-nks.c:573,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:578,1
    - Dst: parse_keyref
      Src: /src/gnupg/scd/app-nks.c:589,1
    - Dst: switch_application
      Src: /src/gnupg/scd/app-nks.c:594,1
    - Dst: keygripstr_from_pk_file
      Src: /src/gnupg/scd/app-nks.c:600,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:604,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-nks.c:605,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 73
    argCount: 4
    argNames:
    - app
    - keyref
    - r_idx
    - r_algo
    argTypes:
    - app_t
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 504
    functionDepth: 6
    functionLinenumber: 504
    functionLinenumberEnd: 611
    functionName: find_fid_by_keyref
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - parse_keyref
    - strlen
    - log_error
    - keygripstr_from_pk_file
    - strcmp
    - gpg_error
    - log_info
    - gpg_strerror
    - switch_application
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t find_fid_by_keyref (app_t app, const char *keyref, int
      *r_idx, int *r_algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: switch_application
      Src: /src/gnupg/scd/app-nks.c:622,1
    - Dst: iso7816_verify_status
      Src: /src/gnupg/scd/app-nks.c:627,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - app
    - nks_app_id
    - pwid
    argTypes:
    - app_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 619
    functionDepth: 4
    functionLinenumber: 619
    functionLinenumberEnd: 628
    functionName: get_chv_status
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - app_get_slot
    - iso7816_verify_status
    - switch_application
    linkageType: ''
    returnType: int
    signature: int get_chv_status (app_t app, int nks_app_id, int pwid)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: switch_application
      Src: /src/gnupg/scd/app-nks.c:654,1
    - Dst: DIM
      Src: /src/gnupg/scd/app-nks.c:658,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-nks.c:659,1
    - Dst: DIM
      Src: /src/gnupg/scd/app-nks.c:661,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:662,1
    - Dst: app_get_serialno
      Src: /src/gnupg/scd/app-nks.c:668,1
    - Dst: send_status_direct
      Src: /src/gnupg/scd/app-nks.c:671,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:672,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-nks.c:686,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:686,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-nks.c:693,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:693,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-nks.c:700,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:700,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-nks.c:705,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-nks.c:706,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:707,1
    - Dst: get_chv_status
      Src: /src/gnupg/scd/app-nks.c:731,1
    - Dst: get_chv_status
      Src: /src/gnupg/scd/app-nks.c:732,1
    - Dst: get_chv_status
      Src: /src/gnupg/scd/app-nks.c:736,1
    - Dst: get_chv_status
      Src: /src/gnupg/scd/app-nks.c:737,1
    - Dst: get_chv_status
      Src: /src/gnupg/scd/app-nks.c:739,1
    - Dst: get_chv_status
      Src: /src/gnupg/scd/app-nks.c:741,1
    - Dst: get_chv_status
      Src: /src/gnupg/scd/app-nks.c:743,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-nks.c:744,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-nks.c:746,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:747,1
    - Dst: app_get_serialno
      Src: /src/gnupg/scd/app-nks.c:753,1
    - Dst: get_dispserialno
      Src: /src/gnupg/scd/app-nks.c:754,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-nks.c:755,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-nks.c:756,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:756,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:759,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:760,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:761,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:766,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 3
    argNames:
    - app
    - ctrl
    - name
    argTypes:
    - app_t
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 771
    functionName: do_getattr
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 1
    functionsReached:
    - strlen
    - snprintf
    - DIM
    - send_status_info
    - app_get_serialno
    - strcmp
    - gpg_error
    - xfree
    - ascii_strcasecmp
    - switch_application
    - get_chv_status
    - get_dispserialno
    - send_status_direct
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_getattr (app_t app, ctrl_t ctrl, const char *name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/scd/app-nks.c:782,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/scd/app-nks.c:784,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/scd/app-nks.c:787,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/scd/app-nks.c:790,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/scd/app-nks.c:792,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:795,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:799,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:799,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:800,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:800,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:802,1
    - Dst: xtoi_4
      Src: /src/gnupg/scd/app-nks.c:803,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:812,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 23
    argCount: 4
    argNames:
    - app
    - keyref
    - want_keypair
    - r_fididx
    argTypes:
    - app_t
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 816
    functionName: parse_keyref
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 1
    functionsReached:
    - hexdigitp
    - gpg_error
    - ascii_strncasecmp
    - xtoi_4
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_keyref (app_t app, const char *keyref, int want_keypair,
      int *r_fididx)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - app
    - nks_app_id
    argTypes:
    - app_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 836
    functionName: get_nks_tag
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_nks_tag (app_t app, int nks_app_id)'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - usagebuf
    - i
    argTypes:
    - char[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 851
    functionName: set_usage_string
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_usage_string (char usagebuf[5], int i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_nks_tag
      Src: /src/gnupg/scd/app-nks.c:860,1
    - Dst: app_help_read_length_of_cert
      Src: /src/gnupg/scd/app-nks.c:875,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:875,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-nks.c:882,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-nks.c:883,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-nks.c:885,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:886,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:887,1
    - Dst: keygripstr_from_pk_file
      Src: /src/gnupg/scd/app-nks.c:897,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:901,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-nks.c:902,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-nks.c:905,1
    - Dst: set_usage_string
      Src: /src/gnupg/scd/app-nks.c:907,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-nks.c:908,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:910,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:911,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:913,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:916,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - app
    - ctrl
    - flags
    - nks_app_id
    argTypes:
    - app_t
    - ctrl_t
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 853
    functionDepth: 6
    functionLinenumber: 853
    functionLinenumberEnd: 919
    functionName: do_learn_status_core
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - strlen
    - log_error
    - snprintf
    - send_status_info
    - app_get_slot
    - keygripstr_from_pk_file
    - gpg_strerror
    - set_usage_string
    - xfree
    - get_nks_tag
    - app_help_read_length_of_cert
    linkageType: ''
    returnType: void
    signature: "void do_learn_status_core (app_t app, ctrl_t ctrl, unsigned int flags,\n
      \                     int nks_app_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-nks.c:927,1
    - Dst: switch_application
      Src: /src/gnupg/scd/app-nks.c:929,1
    - Dst: do_learn_status_core
      Src: /src/gnupg/scd/app-nks.c:933,1
    - Dst: switch_application
      Src: /src/gnupg/scd/app-nks.c:938,1
    - Dst: do_learn_status_core
      Src: /src/gnupg/scd/app-nks.c:942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - app
    - ctrl
    - flags
    argTypes:
    - app_t
    - ctrl_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 922
    functionDepth: 7
    functionLinenumber: 922
    functionLinenumberEnd: 945
    functionName: do_learn_status
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - switch_application
    - do_learn_status_core
    - do_getattr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_learn_status (app_t app, ctrl_t ctrl, unsigned int flags)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: iso7816_select_file
      Src: /src/gnupg/scd/app-nks.c:967,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:967,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:970,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-nks.c:971,1
    - Dst: iso7816_read_binary
      Src: /src/gnupg/scd/app-nks.c:975,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:975,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:978,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-nks.c:979,1
    - Dst: all_zero_p
      Src: /src/gnupg/scd/app-nks.c:983,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-nks.c:985,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:986,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-nks.c:993,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1003,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-nks.c:1007,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-nks.c:1009,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1025,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-nks.c:1031,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1037,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-nks.c:1041,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-nks.c:1042,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:1050,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 70
    argCount: 4
    argNames:
    - app
    - fid
    - cert
    - certlen
    argTypes:
    - app_t
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 950
    functionDepth: 4
    functionLinenumber: 950
    functionLinenumberEnd: 1052
    functionName: readcert_from_ef
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 1
    functionsReached:
    - all_zero_p
    - parse_ber_header
    - memmove
    - log_error
    - log_assert
    - app_get_slot
    - gpg_error
    - gpg_strerror
    - log_info
    - xfree
    - iso7816_select_file
    - iso7816_read_binary
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t readcert_from_ef (app_t app, int fid, unsigned char **cert,
      size_t *certlen)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: switch_application
      Src: /src/gnupg/scd/app-nks.c:1103,1
    - Dst: keygripstr_from_pk_file
      Src: /src/gnupg/scd/app-nks.c:1113,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:1118,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-nks.c:1119,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-nks.c:1126,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1160,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1162,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 5
    argNames:
    - app
    - want_keygripstr
    - capability
    - keygripstr
    - idx_p
    argTypes:
    - app_t
    - char*
    - int
    - char[]
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1070
    functionDepth: 6
    functionLinenumber: 1070
    functionLinenumberEnd: 1165
    functionName: iterate_over_filelist
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - log_error
    - keygripstr_from_pk_file
    - strcmp
    - gpg_error
    - gpg_strerror
    - switch_application
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t iterate_over_filelist (app_t app, const char *want_keygripstr,
      int capability,\n                       char keygripstr[2*KEYGRIP_LEN+1], int
      *idx_p)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:1184,1
    - Dst: iterate_over_filelist
      Src: /src/gnupg/scd/app-nks.c:1189,1
    - Dst: parse_keyref
      Src: /src/gnupg/scd/app-nks.c:1198,1
    - Dst: switch_application
      Src: /src/gnupg/scd/app-nks.c:1202,1
    - Dst: readcert_from_ef
      Src: /src/gnupg/scd/app-nks.c:1217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - app
    - certid
    - cert
    - certlen
    argTypes:
    - app_t
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1172
    functionDepth: 7
    functionLinenumber: 1172
    functionLinenumberEnd: 1218
    functionName: do_readcert
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - parse_keyref
    - strlen
    - readcert_from_ef
    - switch_application
    - iterate_over_filelist
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_readcert (app_t app, const char *certid,\n             unsigned
      char **cert, size_t *certlen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/scd/app-nks.c:1243,1
    - Dst: iso7816_select_path
      Src: /src/gnupg/scd/app-nks.c:1250,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:1250,1
    - Dst: DIM
      Src: /src/gnupg/scd/app-nks.c:1250,1
    - Dst: iso7816_read_record
      Src: /src/gnupg/scd/app-nks.c:1256,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:1256,1
    - Dst: all_zero_p
      Src: /src/gnupg/scd/app-nks.c:1260,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:1262,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1263,1
    - Dst: iso7816_read_record
      Src: /src/gnupg/scd/app-nks.c:1266,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:1266,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:1270,1
    - Dst: make_canon_sexp_from_rsa_pk
      Src: /src/gnupg/scd/app-nks.c:1281,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-nks.c:1285,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:1288,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:1289,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:1291,1
    - Dst: iterate_over_filelist
      Src: /src/gnupg/scd/app-nks.c:1296,1
    - Dst: pubkey_from_pk_file
      Src: /src/gnupg/scd/app-nks.c:1300,1
    - Dst: app_help_get_keygrip_string_pk
      Src: /src/gnupg/scd/app-nks.c:1308,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-nks.c:1312,1
    - Dst: get_nks_tag
      Src: /src/gnupg/scd/app-nks.c:1313,1
    - Dst: set_usage_string
      Src: /src/gnupg/scd/app-nks.c:1315,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-nks.c:1316,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:1317,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:1318,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:1319,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:1321,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:1323,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-nks.c:1326,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:1329,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:1329,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:1330,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:1330,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1333,1
    - Dst: pubkey_from_pk_file
      Src: /src/gnupg/scd/app-nks.c:1337,1
    - Dst: xtoi_4
      Src: /src/gnupg/scd/app-nks.c:1337,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1341,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:1344,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 66
    argCount: 6
    argNames:
    - app
    - ctrl
    - keyid
    - flags
    - pk
    - pklen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - unsigned int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1229
    functionDepth: 7
    functionLinenumber: 1229
    functionLinenumberEnd: 1346
    functionName: do_readkey
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - strlen
    - app_get_slot
    - all_zero_p
    - DIM
    - send_status_info
    - iterate_over_filelist
    - xtoi_4
    - app_help_get_keygrip_string_pk
    - strncmp
    - get_nks_tag
    - iso7816_select_path
    - hexdigitp
    - pubkey_from_pk_file
    - gpg_error_from_syserror
    - strcmp
    - gpg_error
    - xfree
    - make_canon_sexp_from_rsa_pk
    - snprintf
    - iso7816_read_record
    - set_usage_string
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_readkey (app_t app, ctrl_t ctrl, const char *keyid,
      unsigned int flags,\n            unsigned char **pk, size_t *pklen)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnupg/scd/app-nks.c:1365,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-nks.c:1367,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-nks.c:1369,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-nks.c:1371,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-nks.c:1373,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1376,1
    - Dst: switch_application
      Src: /src/gnupg/scd/app-nks.c:1379,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:1383,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:1383,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:1384,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:1384,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1386,1
    - Dst: xtoi_4
      Src: /src/gnupg/scd/app-nks.c:1387,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1394,1
    - Dst: flush_fid_cache
      Src: /src/gnupg/scd/app-nks.c:1405,1
    - Dst: parse_pwidstr
      Src: /src/gnupg/scd/app-nks.c:1410,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1412,1
    - Dst: verify_pin
      Src: /src/gnupg/scd/app-nks.c:1413,1
    - Dst: iso7816_select_file
      Src: /src/gnupg/scd/app-nks.c:1418,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:1418,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:1421,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-nks.c:1422,1
    - Dst: iso7816_update_binary
      Src: /src/gnupg/scd/app-nks.c:1426,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:1426,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:1429,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-nks.c:1430,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 6
    argNames:
    - app
    - ctrl
    - certid
    - pincb_arg
    - cert
    - certlen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1351
    functionDepth: 3
    functionLinenumber: 1351
    functionLinenumberEnd: 1435
    functionName: do_writecert
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - parse_pwidstr
    - log_error
    - app_get_slot
    - iso7816_update_binary
    - flush_fid_cache
    - iso7816_select_file
    - gpg_error
    - gpg_strerror
    - switch_application
    - xtoi_4
    - verify_pin
    - strncmp
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_writecert (app_t app, ctrl_t ctrl,\n              const
      char *certid,\n              gpg_error_t (*pincb)(void*, const char *, char
      **),\n              void *pincb_arg,\n              const unsigned char *cert,
      size_t certlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/scd/app-nks.c:1463,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1466,1
    - Dst: do_readkey
      Src: /src/gnupg/scd/app-nks.c:1468,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1469,1
    - Dst: get_rsa_pk_from_canon_sexp
      Src: /src/gnupg/scd/app-nks.c:1472,1
    - Dst: app_help_count_bits
      Src: /src/gnupg/scd/app-nks.c:1478,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:1481,1
    - Dst: _
      Src: /src/gnupg/scd/app-nks.c:1481,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1482,1
    - Dst: app_help_count_bits
      Src: /src/gnupg/scd/app-nks.c:1486,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:1489,1
    - Dst: _
      Src: /src/gnupg/scd/app-nks.c:1489,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1491,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1502,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 7
    argNames:
    - app
    - ctrl
    - keyid
    - flags
    - pincb_arg
    - keydata
    - keydatalen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - unsigned int
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1445
    functionDepth: 2
    functionLinenumber: 1445
    functionLinenumberEnd: 1527
    functionName: do_writekey
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - do_readkey
    - log_error
    - _
    - strcmp
    - gpg_error
    - get_rsa_pk_from_canon_sexp
    - app_help_count_bits
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_writekey (app_t app, ctrl_t ctrl,\n             const
      char *keyid, unsigned int flags,\n             gpg_error_t (*pincb)(void*, const
      char *, char **),\n             void *pincb_arg,\n             const unsigned
      char *keydata, size_t keydatalen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_dispserialno
      Src: /src/gnupg/scd/app-nks.c:1538,1
    - Dst: xtryasprintf
      Src: /src/gnupg/scd/app-nks.c:1543,1
    - Dst: _
      Src: /src/gnupg/scd/app-nks.c:1543,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:1551,1
    - Dst: xtryasprintf
      Src: /src/gnupg/scd/app-nks.c:1562,1
    - Dst: _
      Src: /src/gnupg/scd/app-nks.c:1562,1
    - Dst: strconcat
      Src: /src/gnupg/scd/app-nks.c:1565,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:1567,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:1571,1
    - Dst: strconcat
      Src: /src/gnupg/scd/app-nks.c:1576,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:1579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - app
    - remaining
    - firstline
    - extraline
    argTypes:
    - app_t
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1532
    functionDepth: 2
    functionLinenumber: 1532
    functionLinenumberEnd: 1584
    functionName: make_prompt
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - _
    - strconcat
    - xtryasprintf
    - xfree
    - get_dispserialno
    linkageType: ''
    returnType: char
    signature: "char *\nmake_prompt (app_t app, int remaining, const char *firstline,\n
      \            const char *extraline)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:1590,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:1592,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1593,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:1595,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:1597,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pinvalue
    - minlen
    - maxlen
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1587
    functionDepth: 1
    functionLinenumber: 1587
    functionLinenumberEnd: 1601
    functionName: basic_pin_checks
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error
    - strlen
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t basic_pin_checks (const char *pinvalue, int minlen, int
      maxlen)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/scd/app-nks.c:1619,1
    - Dst: iso7816_verify_status
      Src: /src/gnupg/scd/app-nks.c:1648,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:1648,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-nks.c:1655,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-nks.c:1660,1
    - Dst: _
      Src: /src/gnupg/scd/app-nks.c:1662,1
    - Dst: iso7816_check_pinpad
      Src: /src/gnupg/scd/app-nks.c:1666,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:1666,1
    - Dst: make_prompt
      Src: /src/gnupg/scd/app-nks.c:1668,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-nks.c:1669,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:1670,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-nks.c:1673,1
    - Dst: _
      Src: /src/gnupg/scd/app-nks.c:1673,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-nks.c:1674,1
    - Dst: iso7816_verify_kp
      Src: /src/gnupg/scd/app-nks.c:1678,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:1678,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-nks.c:1679,1
    - Dst: make_prompt
      Src: /src/gnupg/scd/app-nks.c:1685,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-nks.c:1686,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:1687,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-nks.c:1690,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-nks.c:1690,1
    - Dst: basic_pin_checks
      Src: /src/gnupg/scd/app-nks.c:1694,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:1697,1
    - Dst: iso7816_verify
      Src: /src/gnupg/scd/app-nks.c:1701,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:1701,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:1702,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:1703,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-nks.c:1708,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:1709,1
    - Dst: _
      Src: /src/gnupg/scd/app-nks.c:1709,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:1711,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 4
    argNames:
    - app
    - pwid
    - desc
    - pincb_arg
    argTypes:
    - app_t
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1605
    functionDepth: 4
    functionLinenumber: 1605
    functionLinenumberEnd: 1716
    functionName: verify_pin
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 3
    functionsReached:
    - iso7816_check_pinpad
    - strlen
    - log_error
    - app_get_slot
    - basic_pin_checks
    - _
    - pincb
    - log_info
    - memset
    - iso7816_verify_status
    - xfree
    - gpg_strerror
    - iso7816_verify_kp
    - gpg_err_code
    - make_prompt
    - iso7816_verify
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t verify_pin (app_t app, int pwid, const char *desc,\n            gpg_error_t
      (*pincb)(void*, const char *, char **),\n            void *pincb_arg)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/scd/app-nks.c:1780,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1781,1
    - Dst: find_fid_by_keyref
      Src: /src/gnupg/scd/app-nks.c:1784,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-nks.c:1791,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1792,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app-nks.c:1797,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1798,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/scd/app-nks.c:1803,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:1810,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1811,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-nks.c:1818,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-nks.c:1819,1
    - Dst: gcry_md_get_asnoid
      Src: /src/gnupg/scd/app-nks.c:1825,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:1828,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1829,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-nks.c:1832,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:1834,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1836,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-nks.c:1839,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-nks.c:1840,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:1844,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1846,1
    - Dst: X
      Src: /src/gnupg/scd/app-nks.c:1862,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-nks.c:1872,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-nks.c:1873,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-nks.c:1880,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-nks.c:1882,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1885,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-nks.c:1886,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-nks.c:1932,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:1932,1
    - Dst: verify_pin
      Src: /src/gnupg/scd/app-nks.c:1944,1
    - Dst: iso7816_compute_ds
      Src: /src/gnupg/scd/app-nks.c:1947,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:1947,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 102
    argCount: 9
    argNames:
    - app
    - ctrl
    - keyidstr
    - hashalgo
    - pincb_arg
    - indata
    - indatalen
    - outdata
    - outdatalen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - int
    - void*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1723
    functionDepth: 7
    functionLinenumber: 1723
    functionLinenumberEnd: 1950
    functionName: do_sign
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 3
    functionsReached:
    - find_fid_by_keyref
    - X
    - log_error
    - log_assert
    - iso7816_manage_security_env
    - app_get_slot
    - gcry_md_get_algo_dlen
    - iso7816_compute_ds
    - gpg_error
    - memcmp
    - log_info
    - gcry_md_get_asnoid
    - verify_pin
    - memcpy
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_sign (app_t app, ctrl_t ctrl, const char *keyidstr,
      int hashalgo,\n         gpg_error_t (*pincb)(void*, const char *, char **),\n
      \        void *pincb_arg,\n         const void *indata, size_t indatalen,\n
      \        unsigned char **outdata, size_t *outdatalen )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - algo
    - ','
    - prefix
    - ','
    - plaindigestlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1862
    functionName: X
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(algo,prefix,plaindigestlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - algo
    - ','
    - prefix
    - ','
    - plaindigestlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1891
    functionDepth: 0
    functionLinenumber: 1891
    functionLinenumberEnd: 1899
    functionName: X
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(algo,prefix,plaindigestlen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1977,1
    - Dst: find_fid_by_keyref
      Src: /src/gnupg/scd/app-nks.c:1979,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:1984,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-nks.c:1995,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:1995,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-nks.c:2006,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:2006,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-nks.c:2020,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:2020,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:2027,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-nks.c:2027,1
    - Dst: verify_pin
      Src: /src/gnupg/scd/app-nks.c:2037,1
    - Dst: iso7816_decipher
      Src: /src/gnupg/scd/app-nks.c:2041,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:2041,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 9
    argNames:
    - app
    - ctrl
    - keyidstr
    - pincb_arg
    - indata
    - indatalen
    - outdata
    - outdatalen
    - r_info
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - void*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 1957
    functionDepth: 7
    functionLinenumber: 1957
    functionLinenumberEnd: 2047
    functionName: do_decipher
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - find_fid_by_keyref
    - log_error
    - iso7816_manage_security_env
    - app_get_slot
    - gpg_error
    - gpg_strerror
    - iso7816_decipher
    - verify_pin
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_decipher (app_t app, ctrl_t ctrl, const char *keyidstr,\n
      \            gpg_error_t (*pincb)(void*, const char *, char **),\n             void
      *pincb_arg,\n             const void *indata, size_t indatalen,\n             unsigned
      char **outdata, size_t *outdatalen,\n             unsigned int *r_info)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/scd/app-nks.c:2087,1
    - Dst: _
      Src: /src/gnupg/scd/app-nks.c:2094,1
    - Dst: _
      Src: /src/gnupg/scd/app-nks.c:2095,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-nks.c:2097,1
    - Dst: _
      Src: /src/gnupg/scd/app-nks.c:2102,1
    - Dst: _
      Src: /src/gnupg/scd/app-nks.c:2104,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-nks.c:2107,1
    - Dst: _
      Src: /src/gnupg/scd/app-nks.c:2112,1
    - Dst: _
      Src: /src/gnupg/scd/app-nks.c:2114,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-nks.c:2117,1
    - Dst: _
      Src: /src/gnupg/scd/app-nks.c:2122,1
    - Dst: _
      Src: /src/gnupg/scd/app-nks.c:2124,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-nks.c:2127,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:2128,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:2128,1
    - Dst: xtoi_2
      Src: /src/gnupg/scd/app-nks.c:2132,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-nks.c:2137,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:2138,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:2138,1
    - Dst: xtoi_2
      Src: /src/gnupg/scd/app-nks.c:2142,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-nks.c:2147,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:2148,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:2148,1
    - Dst: xtoi_2
      Src: /src/gnupg/scd/app-nks.c:2152,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-nks.c:2157,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:2158,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-nks.c:2158,1
    - Dst: xtoi_2
      Src: /src/gnupg/scd/app-nks.c:2162,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 5
    argNames:
    - app
    - pwidstr
    - new_mode
    - r_nks_app_id
    - r_pwid
    argTypes:
    - app_t
    - char*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2174
    functionName: parse_pwidstr
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 1
    functionsReached:
    - hexdigitp
    - _
    - strcmp
    - strncmp
    - xtoi_2
    linkageType: ''
    returnType: char
    signature: "char *\nparse_pwidstr (app_t app, const char *pwidstr, int new_mode,\n
      \              int *r_nks_app_id, int *r_pwid)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/scd/app-nks.c:2201,1
    - Dst: parse_pwidstr
      Src: /src/gnupg/scd/app-nks.c:2205,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:2207,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:2210,1
    - Dst: switch_application
      Src: /src/gnupg/scd/app-nks.c:2212,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-nks.c:2220,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-nks.c:2223,1
    - Dst: memset
      Src: /src/gnupg/scd/app-nks.c:2228,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-nks.c:2246,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-nks.c:2248,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-nks.c:2250,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-nks.c:2252,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:2256,1
    - Dst: parse_pwidstr
      Src: /src/gnupg/scd/app-nks.c:2259,1
    - Dst: iso7816_verify_status
      Src: /src/gnupg/scd/app-nks.c:2260,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:2260,1
    - Dst: parse_pwidstr
      Src: /src/gnupg/scd/app-nks.c:2265,1
    - Dst: iso7816_verify_status
      Src: /src/gnupg/scd/app-nks.c:2266,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:2266,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-nks.c:2274,1
    - Dst: make_prompt
      Src: /src/gnupg/scd/app-nks.c:2277,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-nks.c:2278,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:2279,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:2282,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-nks.c:2282,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:2285,1
    - Dst: basic_pin_checks
      Src: /src/gnupg/scd/app-nks.c:2286,1
    - Dst: make_prompt
      Src: /src/gnupg/scd/app-nks.c:2292,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-nks.c:2293,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:2294,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:2297,1
    - Dst: _
      Src: /src/gnupg/scd/app-nks.c:2297,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-nks.c:2297,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-nks.c:2300,1
    - Dst: basic_pin_checks
      Src: /src/gnupg/scd/app-nks.c:2302,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-nks.c:2311,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-nks.c:2314,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-nks.c:2317,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-nks.c:2318,1
    - Dst: iso7816_reset_retry_counter_with_rc
      Src: /src/gnupg/scd/app-nks.c:2319,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:2319,1
    - Dst: wipememory
      Src: /src/gnupg/scd/app-nks.c:2321,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:2322,1
    - Dst: iso7816_change_reference_data
      Src: /src/gnupg/scd/app-nks.c:2325,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:2325,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:2329,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:2330,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 98
    argCount: 5
    argNames:
    - app
    - ctrl
    - pwidstr
    - flags
    - pincb_arg
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2332
      start: 2179
    functionDepth: 4
    functionLinenumber: 2179
    functionLinenumberEnd: 2332
    functionName: do_change_pin
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - parse_pwidstr
    - strlen
    - app_get_slot
    - iso7816_reset_retry_counter_with_rc
    - xtrymalloc
    - memcpy
    - log_error
    - basic_pin_checks
    - _
    - iso7816_change_reference_data
    - wipememory
    - pincb
    - log_info
    - gpg_error_from_syserror
    - strcmp
    - gpg_error
    - memset
    - xfree
    - switch_application
    - xtrycalloc
    - gpg_strerror
    - make_prompt
    - iso7816_verify_status
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_change_pin (app_t app, ctrl_t ctrl,  const char *pwidstr,\n
      \              unsigned int flags,\n               gpg_error_t (*pincb)(void*,
      const char *, char **),\n               void *pincb_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_pwidstr
      Src: /src/gnupg/scd/app-nks.c:2348,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:2350,1
    - Dst: switch_application
      Src: /src/gnupg/scd/app-nks.c:2352,1
    - Dst: verify_pin
      Src: /src/gnupg/scd/app-nks.c:2356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - app
    - ctrl
    - pwidstr
    - pincb_arg
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2357
      start: 2336
    functionDepth: 1
    functionLinenumber: 2336
    functionLinenumberEnd: 2357
    functionName: do_check_pin
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - parse_pwidstr
    - gpg_error
    - switch_application
    - verify_pin
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_check_pin (app_t app, ctrl_t ctrl, const char *pwidstr,\n
      \             gpg_error_t (*pincb)(void*, const char *, char **),\n              void
      *pincb_arg)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:2377,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:2386,1
    - Dst: app_get_serialno
      Src: /src/gnupg/scd/app-nks.c:2392,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-nks.c:2394,1
    - Dst: iterate_over_filelist
      Src: /src/gnupg/scd/app-nks.c:2399,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-nks.c:2414,1
    - Dst: get_nks_tag
      Src: /src/gnupg/scd/app-nks.c:2415,1
    - Dst: set_usage_string
      Src: /src/gnupg/scd/app-nks.c:2417,1
    - Dst: send_keyinfo
      Src: /src/gnupg/scd/app-nks.c:2418,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:2422,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 5
    argNames:
    - app
    - ctrl
    - action
    - want_keygripstr
    - capability
    argTypes:
    - app_t
    - ctrl_t
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2424
      start: 2361
    functionDepth: 7
    functionLinenumber: 2361
    functionLinenumberEnd: 2424
    functionName: do_with_keygrip
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - send_keyinfo
    - gpg_error_from_syserror
    - snprintf
    - app_get_serialno
    - gpg_error
    - set_usage_string
    - xfree
    - iterate_over_filelist
    - get_nks_tag
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_with_keygrip (app_t app, ctrl_t ctrl, int action,\n
      \                const char *want_keygripstr, int capability)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iso7816_apdu_direct
      Src: /src/gnupg/scd/app-nks.c:2435,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:2466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2428
    functionDepth: 3
    functionLinenumber: 2428
    functionLinenumberEnd: 2468
    functionName: get_nks_version
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - xfree
    - iso7816_apdu_direct
    linkageType: ''
    returnType: int
    signature: int get_nks_version (int slot)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/scd/app-nks.c:2484,1
    - Dst: iso7816_select_application
      Src: /src/gnupg/scd/app-nks.c:2489,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:2489,1
    - Dst: iso7816_select_application
      Src: /src/gnupg/scd/app-nks.c:2492,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:2492,1
    - Dst: iso7816_select_application
      Src: /src/gnupg/scd/app-nks.c:2495,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:2495,1
    - Dst: iso7816_select_file
      Src: /src/gnupg/scd/app-nks.c:2510,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:2510,1
    - Dst: iso7816_read_record
      Src: /src/gnupg/scd/app-nks.c:2512,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:2512,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-nks.c:2516,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-nks.c:2518,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-nks.c:2522,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-nks.c:2525,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-nks.c:2534,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-nks.c:2537,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 2
    argNames:
    - app
    - nks_app_id
    argTypes:
    - app_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2540
      start: 2473
    functionDepth: 4
    functionLinenumber: 2473
    functionLinenumberEnd: 2540
    functionName: switch_application
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 9
    functionsReached:
    - iso7816_select_application
    - log_error
    - find_tlv
    - app_get_slot
    - iso7816_read_record
    - memcmp
    - log_info
    - xfree
    - gpg_strerror
    - iso7816_select_file
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t switch_application (app_t app, int nks_app_id)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-nks.c:2547,1
    - Dst: iso7816_select_application
      Src: /src/gnupg/scd/app-nks.c:2551,1
    - Dst: iso7816_select_application
      Src: /src/gnupg/scd/app-nks.c:2555,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-nks.c:2561,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-nks.c:2564,1
    - Dst: gpg_err_code_from_errno
      Src: /src/gnupg/scd/app-nks.c:2564,1
    - Dst: get_nks_version
      Src: /src/gnupg/scd/app-nks.c:2568,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-nks.c:2575,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-nks.c:2577,1
    - Dst: do_deinit
      Src: /src/gnupg/scd/app-nks.c:2606,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2544
    functionDepth: 4
    functionLinenumber: 2544
    functionLinenumberEnd: 2608
    functionName: app_select_nks
    functionSourceFile: /src/gnupg/scd/app-nks.c
    functionUses: 0
    functionsReached:
    - iso7816_select_application
    - app_get_slot
    - get_nks_version
    - gpg_error
    - log_info
    - do_deinit
    - xtrycalloc
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t app_select_nks (app_t app)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - t
    argTypes:
    - cardtype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: strcardtype
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      strcardtype (cardtype_t t)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - apptype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: strapptype
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      strapptype (apptype_t t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strapptype
      Src: /src/gnupg/scd/app.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: xstrapptype
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - strapptype
    linkageType: ''
    returnType: char
    signature: 'char *

      xstrapptype (app_t app)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app.c:164,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 169
    functionName: apptype_from_name
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - ascii_strcasecmp
    linkageType: ''
    returnType: apptype_t
    signature: apptype_t apptype_from_name (const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/scd/app.c:183,1
    - Dst: strlen
      Src: /src/gnupg/scd/app.c:189,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/scd/app.c:190,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - keyref
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 194
    functionName: apptype_from_keyref
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - strchr
    - ascii_strncasecmp
    - strlen
    linkageType: ''
    returnType: apptype_t
    signature: apptype_t apptype_from_keyref (const char *keyref)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/scd/app.c:214,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app.c:216,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app.c:218,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app.c:221,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - sna
    - snalen
    - snb
    - snblen
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 222
    functionName: is_same_serialno
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int is_same_serialno (const unsigned char *sna, size_t snalen,\n                  const
      unsigned char *snb, size_t snblen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtokenize
      Src: /src/gnupg/scd/app.c:238,1
    - Dst: log_fatal
      Src: /src/gnupg/scd/app.c:240,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:241,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app.c:241,1
    - Dst: ascii_strlwr
      Src: /src/gnupg/scd/app.c:246,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app.c:248,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:252,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app.c:258,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:262,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app.c:271,1
    - Dst: DIM
      Src: /src/gnupg/scd/app.c:271,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:273,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:275,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 276
    functionName: app_update_priority_list
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - log_assert
    - ascii_strlwr
    - log_fatal
    - DIM
    - strtokenize
    - strcmp
    - gpg_strerror
    - log_info
    - xfree
    linkageType: ''
    returnType: void
    signature: void app_update_priority_list (const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/scd/app.c:287,1
    - Dst: send_status_direct
      Src: /src/gnupg/scd/app.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - opaque
    - what
    - pc
    - cur
    - tot
    argTypes:
    - void*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 290
    functionName: print_progress_line
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - snprintf
    - send_status_direct
    linkageType: ''
    returnType: void
    signature: void print_progress_line (void *opaque, const char *what, int pc, int
      cur, int tot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/scd/app.c:304,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app.c:306,1
    - Dst: log_error
      Src: /src/gnupg/scd/app.c:307,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:308,1
    - Dst: apdu_set_progress_cb
      Src: /src/gnupg/scd/app.c:312,1
    - Dst: apdu_set_prompt_cb
      Src: /src/gnupg/scd/app.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - card
    - ctrl
    argTypes:
    - card_t
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 316
    functionName: lock_card
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - npth_mutex_lock
    - log_error
    - gpg_error_from_syserror
    - apdu_set_prompt_cb
    - apdu_set_progress_cb
    - gpg_strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t lock_card (card_t card, ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apdu_set_progress_cb
      Src: /src/gnupg/scd/app.c:323,1
    - Dst: apdu_set_prompt_cb
      Src: /src/gnupg/scd/app.c:324,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/app.c:326,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app.c:328,1
    - Dst: log_error
      Src: /src/gnupg/scd/app.c:329,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - card
    argTypes:
    - card_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 332
    functionName: unlock_card
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - npth_mutex_unlock
    - log_error
    - gpg_error_from_syserror
    - apdu_set_prompt_cb
    - apdu_set_progress_cb
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void unlock_card (card_t card)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/scd/app.c:338,1
    - Dst: npth_cond_wait
      Src: /src/gnupg/scd/app.c:341,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/app.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 344
    functionName: card_list_r_lock
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - npth_mutex_unlock
    - npth_cond_wait
    - npth_mutex_lock
    linkageType: ''
    returnType: void
    signature: void card_list_r_lock (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/scd/app.c:349,1
    - Dst: npth_cond_broadcast
      Src: /src/gnupg/scd/app.c:351,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/app.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 353
    functionName: card_list_r_unlock
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - npth_mutex_unlock
    - npth_mutex_lock
    - npth_cond_broadcast
    linkageType: ''
    returnType: void
    signature: void card_list_r_unlock (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/scd/app.c:359,1
    - Dst: npth_cond_wait
      Src: /src/gnupg/scd/app.c:363,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/app.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 367
    functionName: card_list_w_lock
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - npth_mutex_unlock
    - npth_cond_wait
    - npth_mutex_lock
    linkageType: ''
    returnType: void
    signature: void card_list_w_lock (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/scd/app.c:372,1
    - Dst: npth_cond_broadcast
      Src: /src/gnupg/scd/app.c:374,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/app.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 376
    functionName: card_list_w_unlock
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - npth_mutex_unlock
    - npth_mutex_lock
    - npth_cond_broadcast
    linkageType: ''
    returnType: void
    signature: void card_list_w_unlock (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SetEvent
      Src: /src/gnupg/scd/app.c:383,1
    - Dst: log_error
      Src: /src/gnupg/scd/app.c:384,1
    - Dst: w32_strerror
      Src: /src/gnupg/scd/app.c:385,1
    - Dst: npth_mutex_lock
      Src: /src/gnupg/scd/app.c:387,1
    - Dst: write
      Src: /src/gnupg/scd/app.c:389,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/app.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 392
    functionName: card_list_signal
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - npth_mutex_lock
    - SetEvent
    - npth_mutex_unlock
    - log_error
    - write
    - w32_strerror
    linkageType: ''
    returnType: void
    signature: void card_list_signal (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/scd/app.c:407,1
    - Dst: npth_cond_broadcast
      Src: /src/gnupg/scd/app.c:409,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/app.c:411,1
    - Dst: FD_ZERO
      Src: /src/gnupg/scd/app.c:415,1
    - Dst: FD_SET
      Src: /src/gnupg/scd/app.c:416,1
    - Dst: FD2INT
      Src: /src/gnupg/scd/app.c:416,1
    - Dst: FD2NUM
      Src: /src/gnupg/scd/app.c:417,1
    - Dst: npth_eselect
      Src: /src/gnupg/scd/app.c:420,1
    - Dst: FD_SET
      Src: /src/gnupg/scd/app.c:423,1
    - Dst: npth_pselect
      Src: /src/gnupg/scd/app.c:427,1
    - Dst: npth_sigev_sigmask
      Src: /src/gnupg/scd/app.c:428,1
    - Dst: FD_ISSET
      Src: /src/gnupg/scd/app.c:433,1
    - Dst: FD_ISSET
      Src: /src/gnupg/scd/app.c:446,1
    - Dst: read
      Src: /src/gnupg/scd/app.c:450,1
    - Dst: npth_mutex_lock
      Src: /src/gnupg/scd/app.c:457,1
    - Dst: npth_cond_wait
      Src: /src/gnupg/scd/app.c:462,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/app.c:466,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 468
    functionName: card_list_wait
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - FD_ZERO
    - FD2INT
    - npth_mutex_unlock
    - npth_mutex_lock
    - read
    - FD_SET
    - FD2NUM
    - npth_eselect
    - npth_cond_broadcast
    - npth_cond_wait
    - npth_sigev_sigmask
    - npth_pselect
    - FD_ISSET
    linkageType: ''
    returnType: int
    signature: int card_list_wait (ctrl_t ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: card_list_r_lock
      Src: /src/gnupg/scd/app.c:479,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:482,1
    - Dst: strcardtype
      Src: /src/gnupg/scd/app.c:483,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:486,1
    - Dst: strapptype
      Src: /src/gnupg/scd/app.c:487,1
    - Dst: card_list_r_unlock
      Src: /src/gnupg/scd/app.c:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 490
    functionName: app_dump_state
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 1
    functionsReached:
    - strapptype
    - card_list_r_unlock
    - card_list_r_lock
    - log_info
    - strcardtype
    linkageType: ''
    returnType: void
    signature: void app_dump_state (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:512,1
    - Dst: card_list_w_lock
      Src: /src/gnupg/scd/app.c:514,1
    - Dst: send_status_direct
      Src: /src/gnupg/scd/app.c:521,1
    - Dst: card_get_serialno
      Src: /src/gnupg/scd/app.c:527,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app.c:528,1
    - Dst: strcardtype
      Src: /src/gnupg/scd/app.c:529,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:530,1
    - Dst: send_status_direct
      Src: /src/gnupg/scd/app.c:533,1
    - Dst: strapptype
      Src: /src/gnupg/scd/app.c:533,1
    - Dst: send_status_direct
      Src: /src/gnupg/scd/app.c:535,1
    - Dst: card_list_wait
      Src: /src/gnupg/scd/app.c:540,1
    - Dst: card_list_w_unlock
      Src: /src/gnupg/scd/app.c:543,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:545,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - ctrl
    - keep_looping
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 546
    functionName: app_send_devinfo
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - card_list_w_unlock
    - strapptype
    - card_list_wait
    - snprintf
    - card_get_serialno
    - gpg_error
    - xfree
    - strcardtype
    - card_list_w_lock
    - send_status_direct
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t app_send_devinfo (ctrl_t ctrl, int keep_looping)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/scd/app.c:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 559
    functionName: is_app_allowed
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int is_app_allowed (const char *name)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:584,1
    - Dst: is_same_serialno
      Src: /src/gnupg/scd/app.c:588,1
    - Dst: apptype_from_name
      Src: /src/gnupg/scd/app.c:593,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app.c:605,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:606,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app.c:611,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:612,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:616,1
    - Dst: strapptype
      Src: /src/gnupg/scd/app.c:617,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:619,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 4
    argNames:
    - card
    - name
    - serialno_bin
    - serialno_bin_len
    argTypes:
    - card_t
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 620
    functionName: check_application_conflict
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - is_same_serialno
    - apptype_from_name
    - strapptype
    - gpg_error
    - log_info
    - ascii_strcasecmp
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t check_application_conflict (card_t card, const char *name,\n
      \                           const unsigned char *serialno_bin,\n                            size_t
      serialno_bin_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apdu_reset
      Src: /src/gnupg/scd/app.c:629,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:631,1
    - Dst: scd_kick_the_loop
      Src: /src/gnupg/scd/app.c:634,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/scd/app.c:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - card
    argTypes:
    - card_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 638
    functionName: card_reset
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - apdu_reset
    - gnupg_sleep
    - scd_kick_the_loop
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t card_reset (card_t card)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X
      Src: /src/gnupg/scd/app.c:654,1
    - Dst: apdu_get_atr
      Src: /src/gnupg/scd/app.c:666,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app.c:674,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:679,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - slot
    - atr
    - atrlen
    argTypes:
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 681
    functionName: atr_to_cardtype
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - X
    - memcmp
    - xfree
    - apdu_get_atr
    linkageType: ''
    returnType: cardtype_t
    signature: cardtype_t atr_to_cardtype (int slot, const unsigned char *atr, size_t
      atrlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 648
    functionName: X
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app.c:698,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app.c:701,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:702,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:702,1
    - Dst: npth_mutex_init
      Src: /src/gnupg/scd/app.c:709,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app.c:711,1
    - Dst: log_error
      Src: /src/gnupg/scd/app.c:712,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:712,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:713,1
    - Dst: lock_card
      Src: /src/gnupg/scd/app.c:717,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:720,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app.c:724,1
    - Dst: iso7816_select_file
      Src: /src/gnupg/scd/app.c:730,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app.c:731,1
    - Dst: iso7816_select_application
      Src: /src/gnupg/scd/app.c:746,1
    - Dst: iso7816_apdu_direct
      Src: /src/gnupg/scd/app.c:748,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:754,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app.c:755,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app.c:762,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app.c:765,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app.c:768,1
    - Dst: memset
      Src: /src/gnupg/scd/app.c:776,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app.c:777,1
    - Dst: app_munge_serialno
      Src: /src/gnupg/scd/app.c:778,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app.c:782,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:791,1
    - Dst: iso7816_select_application_ext
      Src: /src/gnupg/scd/app.c:793,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:801,1
    - Dst: atr_to_cardtype
      Src: /src/gnupg/scd/app.c:804,1
    - Dst: apdu_get_atr
      Src: /src/gnupg/scd/app.c:813,1
    - Dst: atr_to_cardtype
      Src: /src/gnupg/scd/app.c:821,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:822,1
    - Dst: iso7816_select_file
      Src: /src/gnupg/scd/app.c:827,1
    - Dst: iso7816_read_binary
      Src: /src/gnupg/scd/app.c:829,1
    - Dst: find_tlv_unchecked
      Src: /src/gnupg/scd/app.c:835,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:845,1
    - Dst: memmove
      Src: /src/gnupg/scd/app.c:853,1
    - Dst: app_munge_serialno
      Src: /src/gnupg/scd/app.c:856,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:861,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app.c:867,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app.c:870,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:871,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:871,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app.c:890,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app.c:891,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:896,1
    - Dst: is_app_allowed
      Src: /src/gnupg/scd/app.c:903,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app.c:904,1
    - Dst: select_func
      Src: /src/gnupg/scd/app.c:905,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app.c:907,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:908,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:914,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:915,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:917,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:918,1
    - Dst: unlock_card
      Src: /src/gnupg/scd/app.c:919,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:920,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:921,1
    - Dst: unlock_card
      Src: /src/gnupg/scd/app.c:929,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 136
    argCount: 4
    argNames:
    - slot
    - ctrl
    - name
    - periodical_check_needed
    argTypes:
    - int
    - ctrl_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 685
    functionDepth: 4
    functionLinenumber: 685
    functionLinenumberEnd: 931
    functionName: app_new_register
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - iso7816_select_application_ext
    - iso7816_apdu_direct
    - memcpy
    - xtrymalloc
    - iso7816_read_binary
    - memmove
    - log_printhex
    - log_error
    - log_info
    - iso7816_select_application
    - gpg_error_from_syserror
    - npth_mutex_init
    - find_tlv
    - atr_to_cardtype
    - apdu_get_atr
    - strcmp
    - find_tlv_unchecked
    - gpg_error
    - unlock_card
    - gpg_strerror
    - xfree
    - memset
    - xtrycalloc
    - select_func
    - is_app_allowed
    - lock_card
    - gpg_err_code
    - iso7816_select_file
    - app_munge_serialno
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t app_new_register (int slot, ctrl_t ctrl, const char *name,\n
      \                 int periodical_check_needed)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/scd/app.c:953,1
    - Dst: apdu_dev_list_start
      Src: /src/gnupg/scd/app.c:955,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/app.c:958,1
    - Dst: apdu_open_reader
      Src: /src/gnupg/scd/app.c:967,1
    - Dst: apdu_connect
      Src: /src/gnupg/scd/app.c:971,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:975,1
    - Dst: card_list_w_lock
      Src: /src/gnupg/scd/app.c:979,1
    - Dst: app_new_register
      Src: /src/gnupg/scd/app.c:980,1
    - Dst: card_list_w_unlock
      Src: /src/gnupg/scd/app.c:982,1
    - Dst: pincache_put
      Src: /src/gnupg/scd/app.c:988,1
    - Dst: apdu_close_reader
      Src: /src/gnupg/scd/app.c:989,1
    - Dst: apdu_dev_list_finish
      Src: /src/gnupg/scd/app.c:993,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/app.c:994,1
    - Dst: scd_kick_the_loop
      Src: /src/gnupg/scd/app.c:998,1
    - Dst: card_list_w_lock
      Src: /src/gnupg/scd/app.c:1001,1
    - Dst: lock_card
      Src: /src/gnupg/scd/app.c:1004,1
    - Dst: is_same_serialno
      Src: /src/gnupg/scd/app.c:1007,1
    - Dst: unlock_card
      Src: /src/gnupg/scd/app.c:1010,1
    - Dst: check_application_conflict
      Src: /src/gnupg/scd/app.c:1016,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app.c:1019,1
    - Dst: apptype_from_name
      Src: /src/gnupg/scd/app.c:1021,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:1024,1
    - Dst: select_additional_application_internal
      Src: /src/gnupg/scd/app.c:1027,1
    - Dst: unlock_card
      Src: /src/gnupg/scd/app.c:1044,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:1047,1
    - Dst: card_list_w_unlock
      Src: /src/gnupg/scd/app.c:1048,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 5
    argNames:
    - ctrl
    - name
    - scan
    - serialno_bin
    - serialno_bin_len
    argTypes:
    - ctrl_t
    - char*
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 938
    functionDepth: 5
    functionLinenumber: 938
    functionLinenumberEnd: 1051
    functionName: select_application
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 5
    functionsReached:
    - apdu_connect
    - apdu_dev_list_start
    - is_same_serialno
    - npth_mutex_lock
    - app_new_register
    - card_list_w_lock
    - card_list_w_unlock
    - apptype_from_name
    - unlock_card
    - gpg_error
    - pincache_put
    - apdu_close_reader
    - apdu_dev_list_finish
    - select_additional_application_internal
    - apdu_open_reader
    - npth_mutex_unlock
    - check_application_conflict
    - scd_kick_the_loop
    - lock_card
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t select_application (ctrl_t ctrl, const char *name,\n                    int
      scan, const unsigned char *serialno_bin,\n                    size_t serialno_bin_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: card_list_r_lock
      Src: /src/gnupg/scd/app.c:1064,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:1069,1
    - Dst: is_same_serialno
      Src: /src/gnupg/scd/app.c:1077,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:1083,1
    - Dst: card_unref_locked
      Src: /src/gnupg/scd/app.c:1093,1
    - Dst: send_serialno_and_app_status
      Src: /src/gnupg/scd/app.c:1097,1
    - Dst: card_list_r_unlock
      Src: /src/gnupg/scd/app.c:1100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - ctrl
    - serialno
    - serialnolen
    argTypes:
    - ctrl_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1057
    functionDepth: 2
    functionLinenumber: 1057
    functionLinenumberEnd: 1102
    functionName: app_switch_current_card
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - is_same_serialno
    - card_list_r_unlock
    - send_serialno_and_app_status
    - card_list_r_lock
    - gpg_error
    - card_unref_locked
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t app_switch_current_card (ctrl_t ctrl,\n                         const
      unsigned char *serialno, size_t serialnolen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app.c:1125,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app.c:1128,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:1129,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:1129,1
    - Dst: is_app_allowed
      Src: /src/gnupg/scd/app.c:1138,1
    - Dst: select_func
      Src: /src/gnupg/scd/app.c:1140,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app.c:1145,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:1146,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:1155,1
    - Dst: strapptype
      Src: /src/gnupg/scd/app.c:1156,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:1160,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 2
    argNames:
    - card
    - req_apptype
    argTypes:
    - card_t
    - apptype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1162
    functionName: select_additional_application_internal
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 1
    functionsReached:
    - select_func
    - strapptype
    - gpg_error_from_syserror
    - is_app_allowed
    - gpg_error
    - gpg_strerror
    - log_info
    - gpg_err_code
    - xtrycalloc
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t select_additional_application_internal (card_t card, apptype_t
      req_apptype)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_app_allowed
      Src: /src/gnupg/scd/app.c:1193,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app.c:1204,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app.c:1207,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:1208,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:1208,1
    - Dst: select_func
      Src: /src/gnupg/scd/app.c:1212,1
    - Dst: log_error
      Src: /src/gnupg/scd/app.c:1215,1
    - Dst: strapptype
      Src: /src/gnupg/scd/app.c:1216,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:1216,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:1218,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:1227,1
    - Dst: strapptype
      Src: /src/gnupg/scd/app.c:1228,1
    - Dst: run_reselect
      Src: /src/gnupg/scd/app.c:1236,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 2
    argNames:
    - ctrl
    - card
    argTypes:
    - ctrl_t
    - card_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1167
    functionDepth: 1
    functionLinenumber: 1167
    functionLinenumberEnd: 1240
    functionName: select_all_additional_applications_internal
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - select_func
    - strapptype
    - gpg_error_from_syserror
    - log_error
    - is_app_allowed
    - gpg_strerror
    - log_info
    - xfree
    - xtrycalloc
    - run_reselect
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t select_all_additional_applications_internal (ctrl_t ctrl,
      card_t card)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: apptype_from_name
      Src: /src/gnupg/scd/app.c:1258,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:1260,1
    - Dst: select_additional_application_internal
      Src: /src/gnupg/scd/app.c:1265,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:1270,1
    - Dst: select_all_additional_applications_internal
      Src: /src/gnupg/scd/app.c:1275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - card
    - ctrl
    - name
    argTypes:
    - card_t
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: select_additional_application
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - apptype_from_name
    - select_all_additional_applications_internal
    - gpg_error
    - select_additional_application_internal
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t select_additional_application (card_t card, ctrl_t ctrl,
      const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/scd/app.c:1291,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app.c:1293,1
    - Dst: is_app_allowed
      Src: /src/gnupg/scd/app.c:1298,1
    - Dst: stpcpy
      Src: /src/gnupg/scd/app.c:1299,1
    - Dst: stpcpy
      Src: /src/gnupg/scd/app.c:1299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1282
    functionDepth: 1
    functionLinenumber: 1282
    functionLinenumberEnd: 1303
    functionName: get_supported_applications
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - stpcpy
    - is_app_allowed
    - xtrymalloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      get_supported_applications (void)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/scd/app.c:1326,1
    - Dst: app_t::fnc::deinit
      Src: /src/gnupg/scd/app.c:1332,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:1336,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:1339,1
    - Dst: unlock_card
      Src: /src/gnupg/scd/app.c:1340,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:1341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - card
    argTypes:
    - card_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1307
    functionDepth: 2
    functionLinenumber: 1307
    functionLinenumberEnd: 1342
    functionName: deallocate_card
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - unlock_card
    - xfree
    - app_t::fnc::deinit
    - log_error
    linkageType: ''
    returnType: void
    signature: void deallocate_card (card_t card)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lock_card
      Src: /src/gnupg/scd/app.c:1355,1
    - Dst: run_reselect
      Src: /src/gnupg/scd/app.c:1374,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:1380,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:1381,1
    - Dst: app_t::fnc::with_keygrip
      Src: /src/gnupg/scd/app.c:1385,1
    - Dst: run_reselect
      Src: /src/gnupg/scd/app.c:1391,1
    - Dst: unlock_card
      Src: /src/gnupg/scd/app.c:1393,1
    - Dst: unlock_card
      Src: /src/gnupg/scd/app.c:1405,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 4
    argNames:
    - ctrl
    - action
    - keygrip_str
    - capability
    argTypes:
    - ctrl_t
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1345
    functionDepth: 2
    functionLinenumber: 1345
    functionLinenumberEnd: 1409
    functionName: do_with_keygrip
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - xstrapptype
    - unlock_card
    - lock_card
    - app_t::fnc::with_keygrip
    - run_reselect
    - log_debug
    linkageType: ''
    returnType: card_t
    signature: "card_t do_with_keygrip (ctrl_t ctrl, int action, const char *keygrip_str,\n
      \                int capability)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: card_list_r_lock
      Src: /src/gnupg/scd/app.c:1418,1
    - Dst: do_with_keygrip
      Src: /src/gnupg/scd/app.c:1420,1
    - Dst: card_list_r_unlock
      Src: /src/gnupg/scd/app.c:1425,1
    - Dst: lock_card
      Src: /src/gnupg/scd/app.c:1429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctrl
    - keygrip
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1413
    functionDepth: 2
    functionLinenumber: 1413
    functionLinenumberEnd: 1431
    functionName: card_get
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - lock_card
    - card_list_r_lock
    - card_list_r_unlock
    - do_with_keygrip
    linkageType: ''
    returnType: card_t
    signature: card_t card_get (ctrl_t ctrl, const char *keygrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlock_card
      Src: /src/gnupg/scd/app.c:1441,1
    - Dst: card_list_r_unlock
      Src: /src/gnupg/scd/app.c:1442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - card
    argTypes:
    - card_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1434
    functionDepth: 2
    functionLinenumber: 1434
    functionLinenumberEnd: 1443
    functionName: card_put
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - unlock_card
    - card_list_r_unlock
    linkageType: ''
    returnType: void
    signature: void card_put (card_t card)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/gnupg/scd/app.c:1455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - card
    argTypes:
    - card_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1458
    functionName: card_unref_locked
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 1
    functionsReached:
    - log_bug
    linkageType: ''
    returnType: void
    signature: void card_unref_locked (card_t card)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/scd/app.c:1483,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app.c:1503,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app.c:1505,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app.c:1506,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:1529,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app.c:1538,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app.c:1540,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app.c:1541,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app.c:1542,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:1544,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app.c:1549,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app.c:1551,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app.c:1552,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:1554,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 1
    argNames:
    - card
    argTypes:
    - card_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1478
    functionDepth: 1
    functionLinenumber: 1478
    functionLinenumberEnd: 1558
    functionName: app_munge_serialno
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 2
    functionsReached:
    - gpg_error_from_syserror
    - memcmp
    - xfree
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t app_munge_serialno (card_t card)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/gnupg/scd/app.c:1574,1
    - Dst: bin2hex
      Src: /src/gnupg/scd/app.c:1576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - card
    argTypes:
    - card_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1565
    functionDepth: 2
    functionLinenumber: 1565
    functionLinenumberEnd: 1579
    functionName: card_get_serialno
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 1
    functionsReached:
    - xtrystrdup
    - bin2hex
    linkageType: ''
    returnType: char
    signature: 'char *

      card_get_serialno (card_t card)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/scd/app.c:1587,1
    - Dst: card_get_serialno
      Src: /src/gnupg/scd/app.c:1590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1582
    functionDepth: 3
    functionLinenumber: 1582
    functionLinenumberEnd: 1591
    functionName: app_get_serialno
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 3
    functionsReached:
    - card_get_serialno
    - gpg_err_set_errno
    linkageType: ''
    returnType: char
    signature: 'char *

      app_get_serialno (app_t app)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/scd/app.c:1605,1
    - Dst: xtryasprintf
      Src: /src/gnupg/scd/app.c:1616,1
    - Dst: xtryasprintf
      Src: /src/gnupg/scd/app.c:1621,1
    - Dst: card_get_serialno
      Src: /src/gnupg/scd/app.c:1628,1
    - Dst: strlen
      Src: /src/gnupg/scd/app.c:1629,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app.c:1629,1
    - Dst: atoi_4
      Src: /src/gnupg/scd/app.c:1631,1
    - Dst: atoi_4
      Src: /src/gnupg/scd/app.c:1632,1
    - Dst: xtryasprintf
      Src: /src/gnupg/scd/app.c:1634,1
    - Dst: xtryasprintf
      Src: /src/gnupg/scd/app.c:1639,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:1642,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:1648,1
    - Dst: card_get_serialno
      Src: /src/gnupg/scd/app.c:1655,1
    - Dst: strlen
      Src: /src/gnupg/scd/app.c:1656,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app.c:1658,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app.c:1660,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:1665,1
    - Dst: card_get_serialno
      Src: /src/gnupg/scd/app.c:1672,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 2
    argNames:
    - card
    - nofallback
    argTypes:
    - card_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1598
    functionDepth: 3
    functionLinenumber: 1598
    functionLinenumberEnd: 1675
    functionName: card_get_dispserialno
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - strlen
    - card_get_serialno
    - memcmp
    - xtryasprintf
    - xfree
    - memcpy
    - strncmp
    - atoi_4
    linkageType: ''
    returnType: char
    signature: 'char *

      card_get_dispserialno (card_t card, int nofallback)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/gnupg/scd/app.c:1683,1
    - Dst: card_get_dispserialno
      Src: /src/gnupg/scd/app.c:1686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - app
    - nofallback
    argTypes:
    - app_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1678
    functionDepth: 4
    functionLinenumber: 1678
    functionLinenumberEnd: 1687
    functionName: app_get_dispserialno
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - card_get_dispserialno
    - gpg_err_set_errno
    linkageType: ''
    returnType: char
    signature: 'char *

      app_get_dispserialno (app_t app, int nofallback)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:1698,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:1699,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:1700,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:1710,1
    - Dst: app_t::fnc::prep_reselect
      Src: /src/gnupg/scd/app.c:1712,1
    - Dst: log_error
      Src: /src/gnupg/scd/app.c:1714,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:1715,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:1716,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:1716,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:1720,1
    - Dst: app_t::fnc::reselect
      Src: /src/gnupg/scd/app.c:1722,1
    - Dst: log_error
      Src: /src/gnupg/scd/app.c:1725,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:1726,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:1726,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:1730,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:1730,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - ctrl
    - c
    - a
    - a_prev
    argTypes:
    - ctrl_t
    - card_t
    - app_t
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1691
    functionDepth: 2
    functionLinenumber: 1691
    functionLinenumberEnd: 1733
    functionName: run_reselect
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 2
    functionsReached:
    - xstrapptype
    - log_error
    - app_t::fnc::reselect
    - gpg_error
    - log_info
    - gpg_strerror
    - app_t::fnc::prep_reselect
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t run_reselect (ctrl_t ctrl, card_t c, app_t a, app_t a_prev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app.c:1764,1
    - Dst: iso7816_get_data
      Src: /src/gnupg/scd/app.c:1766,1
    - Dst: app_t::fnc::check_aid
      Src: /src/gnupg/scd/app.c:1770,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:1771,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - app
    - ctrl
    argTypes:
    - app_t
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1744
    functionDepth: 3
    functionLinenumber: 1744
    functionLinenumberEnd: 1777
    functionName: check_external_interference
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - iso7816_get_data
    - app_get_slot
    - xfree
    - app_t::fnc::check_aid
    linkageType: ''
    returnType: int
    signature: int check_external_interference (app_t app, ctrl_t ctrl)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:1793,1
    - Dst: check_external_interference
      Src: /src/gnupg/scd/app.c:1797,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:1800,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:1801,1
    - Dst: card_t::app::fnc::reselect
      Src: /src/gnupg/scd/app.c:1803,1
    - Dst: log_error
      Src: /src/gnupg/scd/app.c:1805,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:1806,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:1806,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:1815,1
    - Dst: strapptype
      Src: /src/gnupg/scd/app.c:1816,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:1828,1
    - Dst: strapptype
      Src: /src/gnupg/scd/app.c:1829,1
    - Dst: strapptype
      Src: /src/gnupg/scd/app.c:1830,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:1835,1
    - Dst: strapptype
      Src: /src/gnupg/scd/app.c:1836,1
    - Dst: strapptype
      Src: /src/gnupg/scd/app.c:1837,1
    - Dst: apptype_from_keyref
      Src: /src/gnupg/scd/app.c:1844,1
    - Dst: check_external_interference
      Src: /src/gnupg/scd/app.c:1851,1
    - Dst: strlen
      Src: /src/gnupg/scd/app.c:1854,1
    - Dst: app_t::fnc::with_keygrip
      Src: /src/gnupg/scd/app.c:1861,1
    - Dst: check_external_interference
      Src: /src/gnupg/scd/app.c:1865,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:1882,1
    - Dst: run_reselect
      Src: /src/gnupg/scd/app.c:1884,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:1898,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:1899,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 70
    argCount: 3
    argNames:
    - ctrl
    - card
    - keyref
    argTypes:
    - ctrl_t
    - card_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1784
    functionDepth: 4
    functionLinenumber: 1784
    functionLinenumberEnd: 1905
    functionName: maybe_switch_app
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - check_external_interference
    - xstrapptype
    - strapptype
    - log_error
    - strlen
    - gpg_error
    - gpg_strerror
    - log_info
    - app_t::fnc::with_keygrip
    - card_t::app::fnc::reselect
    - run_reselect
    - apptype_from_keyref
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t maybe_switch_app (ctrl_t ctrl, card_t card, const char
      *keyref)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: send_status_direct
      Src: /src/gnupg/scd/app.c:1919,1
    - Dst: strcardtype
      Src: /src/gnupg/scd/app.c:1919,1
    - Dst: send_status_printf
      Src: /src/gnupg/scd/app.c:1921,1
    - Dst: send_status_direct
      Src: /src/gnupg/scd/app.c:1923,1
    - Dst: strapptype
      Src: /src/gnupg/scd/app.c:1923,1
    - Dst: send_status_printf
      Src: /src/gnupg/scd/app.c:1925,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:1929,1
    - Dst: app_t::fnc::learn_status
      Src: /src/gnupg/scd/app.c:1932,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - card
    - app
    - ctrl
    - flags
    argTypes:
    - card_t
    - app_t
    - ctrl_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1909
    functionDepth: 1
    functionLinenumber: 1909
    functionLinenumberEnd: 1937
    functionName: write_learn_status_core
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - strapptype
    - send_status_printf
    - gpg_error
    - app_t::fnc::learn_status
    - strcardtype
    - send_status_direct
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t write_learn_status_core (card_t card, app_t app, ctrl_t
      ctrl,\n                         unsigned int flags)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: maybe_switch_app
      Src: /src/gnupg/scd/app.c:1951,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:1954,1
    - Dst: write_learn_status_core
      Src: /src/gnupg/scd/app.c:1957,1
    - Dst: fnc::prep_reselect
      Src: /src/gnupg/scd/app.c:1970,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:1972,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:1974,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:1975,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:1976,1
    - Dst: app_t::fnc::reselect
      Src: /src/gnupg/scd/app.c:1979,1
    - Dst: write_learn_status_core
      Src: /src/gnupg/scd/app.c:1983,1
    - Dst: fnc::prep_reselect
      Src: /src/gnupg/scd/app.c:1991,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:1993,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:1995,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:1996,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:1996,1
    - Dst: app_t::fnc::reselect
      Src: /src/gnupg/scd/app.c:1998,1
    - Dst: log_error
      Src: /src/gnupg/scd/app.c:2001,1
    - Dst: strapptype
      Src: /src/gnupg/scd/app.c:2002,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:2002,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 3
    argNames:
    - card
    - ctrl
    - flags
    argTypes:
    - card_t
    - ctrl_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 1942
    functionDepth: 5
    functionLinenumber: 1942
    functionLinenumberEnd: 2011
    functionName: app_write_learn_status
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - xstrapptype
    - strapptype
    - log_error
    - write_learn_status_core
    - app_t::fnc::reselect
    - gpg_error
    - log_info
    - gpg_strerror
    - maybe_switch_app
    - fnc::prep_reselect
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t app_write_learn_status (card_t card, ctrl_t ctrl, unsigned
      int flags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: maybe_switch_app
      Src: /src/gnupg/scd/app.c:2024,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2027,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:2031,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:2032,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2034,1
    - Dst: card_t::app::fnc::readcert
      Src: /src/gnupg/scd/app.c:2036,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - card
    - ctrl
    - certid
    - cert
    - certlen
    argTypes:
    - card_t
    - ctrl_t
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 2018
    functionDepth: 5
    functionLinenumber: 2018
    functionLinenumberEnd: 2040
    functionName: app_readcert
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - card_t::app::fnc::readcert
    - xstrapptype
    - gpg_error
    - maybe_switch_app
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t app_readcert (card_t card, ctrl_t ctrl, const char *certid,\n
      \             unsigned char **cert, size_t *certlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2063,1
    - Dst: maybe_switch_app
      Src: /src/gnupg/scd/app.c:2065,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2068,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:2072,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:2073,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2075,1
    - Dst: card_t::app::fnc::readkey
      Src: /src/gnupg/scd/app.c:2077,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 6
    argNames:
    - card
    - ctrl
    - keyid
    - flags
    - pk
    - pklen
    argTypes:
    - card_t
    - ctrl_t
    - char*
    - unsigned int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2051
    functionDepth: 5
    functionLinenumber: 2051
    functionLinenumberEnd: 2081
    functionName: app_readkey
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - card_t::app::fnc::readkey
    - xstrapptype
    - gpg_error
    - maybe_switch_app
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t app_readkey (card_t card, ctrl_t ctrl, const char *keyid,
      unsigned int flags,\n             unsigned char **pk, size_t *pklen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2091,1
    - Dst: maybe_switch_app
      Src: /src/gnupg/scd/app.c:2093,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app.c:2095,1
    - Dst: send_status_direct
      Src: /src/gnupg/scd/app.c:2097,1
    - Dst: strcardtype
      Src: /src/gnupg/scd/app.c:2097,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app.c:2099,1
    - Dst: send_status_direct
      Src: /src/gnupg/scd/app.c:2101,1
    - Dst: strapptype
      Src: /src/gnupg/scd/app.c:2101,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app.c:2103,1
    - Dst: app_get_serialno
      Src: /src/gnupg/scd/app.c:2107,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2109,1
    - Dst: send_status_direct
      Src: /src/gnupg/scd/app.c:2112,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:2113,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2117,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:2121,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:2122,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2124,1
    - Dst: card_t::app::fnc::getattr
      Src: /src/gnupg/scd/app.c:2126,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - card
    - ctrl
    - name
    argTypes:
    - card_t
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2085
    functionDepth: 5
    functionLinenumber: 2085
    functionLinenumberEnd: 2130
    functionName: app_getattr
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - xstrapptype
    - strapptype
    - card_t::app::fnc::getattr
    - strcmp
    - app_get_serialno
    - gpg_error
    - xfree
    - log_debug
    - strcardtype
    - maybe_switch_app
    - send_status_direct
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t app_getattr (card_t card, ctrl_t ctrl, const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2143,1
    - Dst: maybe_switch_app
      Src: /src/gnupg/scd/app.c:2145,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2148,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:2152,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:2153,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2155,1
    - Dst: card_t::app::fnc::setattr
      Src: /src/gnupg/scd/app.c:2157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 6
    argNames:
    - card
    - ctrl
    - name
    - pincb_arg
    - value
    - valuelen
    argTypes:
    - card_t
    - ctrl_t
    - char*
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2134
    functionDepth: 5
    functionLinenumber: 2134
    functionLinenumberEnd: 2162
    functionName: app_setattr
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - xstrapptype
    - card_t::app::fnc::setattr
    - gpg_error
    - maybe_switch_app
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t app_setattr (card_t card, ctrl_t ctrl, const char *name,\n
      \            gpg_error_t (*pincb)(void*, const char *, char **),\n             void
      *pincb_arg,\n             const unsigned char *value, size_t valuelen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2178,1
    - Dst: maybe_switch_app
      Src: /src/gnupg/scd/app.c:2180,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2183,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:2187,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:2188,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2190,1
    - Dst: card_t::app::fnc::sign
      Src: /src/gnupg/scd/app.c:2192,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:2199,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:2199,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 9
    argNames:
    - card
    - ctrl
    - keyidstr
    - hashalgo
    - pincb_arg
    - indata
    - indatalen
    - outdata
    - outdatalen
    argTypes:
    - card_t
    - ctrl_t
    - char*
    - int
    - void*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2168
    functionDepth: 5
    functionLinenumber: 2168
    functionLinenumberEnd: 2201
    functionName: app_sign
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - xstrapptype
    - gpg_error
    - log_info
    - gpg_strerror
    - card_t::app::fnc::sign
    - maybe_switch_app
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t app_sign (card_t card, ctrl_t ctrl, const char *keyidstr,
      int hashalgo,\n          gpg_error_t (*pincb)(void*, const char *, char **),\n
      \         void *pincb_arg,\n          const void *indata, size_t indatalen,\n
      \         unsigned char **outdata, size_t *outdatalen )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2218,1
    - Dst: maybe_switch_app
      Src: /src/gnupg/scd/app.c:2220,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2223,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2228,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:2231,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:2232,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2234,1
    - Dst: card_t::app::fnc::auth
      Src: /src/gnupg/scd/app.c:2236,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:2243,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:2243,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 8
    argNames:
    - card
    - ctrl
    - keyidstr
    - pincb_arg
    - indata
    - indatalen
    - outdata
    - outdatalen
    argTypes:
    - card_t
    - ctrl_t
    - char*
    - void*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2208
    functionDepth: 5
    functionLinenumber: 2208
    functionLinenumberEnd: 2245
    functionName: app_auth
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - xstrapptype
    - gpg_error
    - card_t::app::fnc::auth
    - log_info
    - gpg_strerror
    - maybe_switch_app
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t app_auth (card_t card, ctrl_t ctrl, const char *keyidstr,\n
      \         gpg_error_t (*pincb)(void*, const char *, char **),\n          void
      *pincb_arg,\n          const void *indata, size_t indatalen,\n          unsigned
      char **outdata, size_t *outdatalen )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2264,1
    - Dst: maybe_switch_app
      Src: /src/gnupg/scd/app.c:2266,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2269,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:2273,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:2274,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2276,1
    - Dst: card_t::app::fnc::decipher
      Src: /src/gnupg/scd/app.c:2278,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:2286,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:2286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 9
    argNames:
    - card
    - ctrl
    - keyidstr
    - pincb_arg
    - indata
    - indatalen
    - outdata
    - outdatalen
    - r_info
    argTypes:
    - card_t
    - ctrl_t
    - char*
    - void*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2288
      start: 2251
    functionDepth: 5
    functionLinenumber: 2251
    functionLinenumberEnd: 2288
    functionName: app_decipher
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - xstrapptype
    - gpg_error
    - log_info
    - gpg_strerror
    - maybe_switch_app
    - card_t::app::fnc::decipher
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t app_decipher (card_t card, ctrl_t ctrl, const char *keyidstr,\n
      \             gpg_error_t (*pincb)(void*, const char *, char **),\n              void
      *pincb_arg,\n              const void *indata, size_t indatalen,\n              unsigned
      char **outdata, size_t *outdatalen,\n              unsigned int *r_info)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2302,1
    - Dst: maybe_switch_app
      Src: /src/gnupg/scd/app.c:2304,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2307,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:2311,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:2312,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2314,1
    - Dst: card_t::app::fnc::writecert
      Src: /src/gnupg/scd/app.c:2316,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:2321,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:2321,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 6
    argNames:
    - card
    - ctrl
    - certidstr
    - pincb_arg
    - data
    - datalen
    argTypes:
    - card_t
    - ctrl_t
    - char*
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2323
      start: 2292
    functionDepth: 5
    functionLinenumber: 2292
    functionLinenumberEnd: 2323
    functionName: app_writecert
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - xstrapptype
    - card_t::app::fnc::writecert
    - gpg_error
    - log_info
    - gpg_strerror
    - maybe_switch_app
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t app_writecert (card_t card, ctrl_t ctrl,\n               const
      char *certidstr,\n               gpg_error_t (*pincb)(void*, const char *, char
      **),\n               void *pincb_arg,\n               const unsigned char *data,
      size_t datalen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2337,1
    - Dst: maybe_switch_app
      Src: /src/gnupg/scd/app.c:2339,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2342,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:2346,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:2347,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2349,1
    - Dst: card_t::app::fnc::writekey
      Src: /src/gnupg/scd/app.c:2351,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:2356,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:2356,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 7
    argNames:
    - card
    - ctrl
    - keyidstr
    - flags
    - pincb_arg
    - keydata
    - keydatalen
    argTypes:
    - card_t
    - ctrl_t
    - char*
    - unsigned int
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2358
      start: 2327
    functionDepth: 5
    functionLinenumber: 2327
    functionLinenumberEnd: 2358
    functionName: app_writekey
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - xstrapptype
    - gpg_error
    - log_info
    - gpg_strerror
    - card_t::app::fnc::writekey
    - maybe_switch_app
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t app_writekey (card_t card, ctrl_t ctrl,\n              const
      char *keyidstr, unsigned int flags,\n              gpg_error_t (*pincb)(void*,
      const char *, char **),\n              void *pincb_arg,\n              const
      unsigned char *keydata, size_t keydatalen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2371,1
    - Dst: maybe_switch_app
      Src: /src/gnupg/scd/app.c:2373,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2376,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:2380,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:2381,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2383,1
    - Dst: card_t::app::fnc::genkey
      Src: /src/gnupg/scd/app.c:2385,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:2390,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:2390,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 7
    argNames:
    - card
    - ctrl
    - keynostr
    - keytype
    - flags
    - createtime
    - pincb_arg
    argTypes:
    - card_t
    - ctrl_t
    - char*
    - char*
    - unsigned int
    - time_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2362
    functionDepth: 5
    functionLinenumber: 2362
    functionLinenumberEnd: 2392
    functionName: app_genkey
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - xstrapptype
    - card_t::app::fnc::genkey
    - gpg_error
    - log_info
    - gpg_strerror
    - maybe_switch_app
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t app_genkey (card_t card, ctrl_t ctrl, const char *keynostr,\n
      \           const char *keytype, unsigned int flags, time_t createtime,\n            gpg_error_t
      (*pincb)(void*, const char *, char **),\n            void *pincb_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2404,1
    - Dst: iso7816_get_challenge
      Src: /src/gnupg/scd/app.c:2406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - card
    - ctrl
    - nbytes
    - buffer
    argTypes:
    - card_t
    - ctrl_t
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2398
    functionDepth: 3
    functionLinenumber: 2398
    functionLinenumberEnd: 2407
    functionName: app_get_challenge
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - iso7816_get_challenge
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t app_get_challenge (card_t card, ctrl_t ctrl,\n                   size_t
      nbytes, unsigned char *buffer)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2420,1
    - Dst: maybe_switch_app
      Src: /src/gnupg/scd/app.c:2422,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2425,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:2429,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:2430,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2432,1
    - Dst: card_t::app::fnc::change_pin
      Src: /src/gnupg/scd/app.c:2434,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:2439,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:2439,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 5
    argNames:
    - card
    - ctrl
    - chvnostr
    - flags
    - pincb_arg
    argTypes:
    - card_t
    - ctrl_t
    - char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2411
    functionDepth: 6
    functionLinenumber: 2411
    functionLinenumberEnd: 2441
    functionName: app_change_pin
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - xstrapptype
    - card_t::app::fnc::change_pin
    - gpg_error
    - log_info
    - gpg_strerror
    - maybe_switch_app
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t app_change_pin (card_t card, ctrl_t ctrl, const char *chvnostr,\n
      \               unsigned int flags,\n                gpg_error_t (*pincb)(void*,
      const char *, char **),\n                void *pincb_arg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2455,1
    - Dst: maybe_switch_app
      Src: /src/gnupg/scd/app.c:2457,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2460,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:2464,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:2465,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2467,1
    - Dst: card_t::app::fnc::check_pin
      Src: /src/gnupg/scd/app.c:2469,1
    - Dst: log_info
      Src: /src/gnupg/scd/app.c:2474,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:2474,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - card
    - ctrl
    - keyidstr
    - pincb_arg
    argTypes:
    - card_t
    - ctrl_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2476
      start: 2447
    functionDepth: 5
    functionLinenumber: 2447
    functionLinenumberEnd: 2476
    functionName: app_check_pin
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - xstrapptype
    - card_t::app::fnc::check_pin
    - gpg_error
    - log_info
    - gpg_strerror
    - maybe_switch_app
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t app_check_pin (card_t card, ctrl_t ctrl, const char *keyidstr,\n
      \              gpg_error_t (*pincb)(void*, const char *, char **),\n               void
      *pincb_arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/scd/app.c:2486,1
    - Dst: make_filename
      Src: /src/gnupg/scd/app.c:2487,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/scd/app.c:2487,1
    - Dst: es_fopen
      Src: /src/gnupg/scd/app.c:2488,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/app.c:2491,1
    - Dst: es_fclose
      Src: /src/gnupg/scd/app.c:2495,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:2497,1
    - Dst: make_filename
      Src: /src/gnupg/scd/app.c:2499,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/scd/app.c:2499,1
    - Dst: gpgrt_asprintf
      Src: /src/gnupg/scd/app.c:2500,1
    - Dst: log_error
      Src: /src/gnupg/scd/app.c:2501,1
    - Dst: sprintf
      Src: /src/gnupg/scd/app.c:2509,1
    - Dst: sprintf
      Src: /src/gnupg/scd/app.c:2510,1
    - Dst: sprintf
      Src: /src/gnupg/scd/app.c:2511,1
    - Dst: make_filename
      Src: /src/gnupg/scd/app.c:2524,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/scd/app.c:2524,1
    - Dst: gpgrt_spawn_actions_new
      Src: /src/gnupg/scd/app.c:2525,1
    - Dst: gpgrt_spawn_actions_set_env_rev
      Src: /src/gnupg/scd/app.c:2530,1
    - Dst: gpgrt_process_spawn
      Src: /src/gnupg/scd/app.c:2531,1
    - Dst: gpgrt_spawn_actions_release
      Src: /src/gnupg/scd/app.c:2533,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app.c:2535,1
    - Dst: log_error
      Src: /src/gnupg/scd/app.c:2536,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:2537,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:2538,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:2539,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:2541,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 3
    argNames:
    - slot
    - old_status
    - cur_status
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2478
    functionDepth: 5
    functionLinenumber: 2478
    functionLinenumberEnd: 2542
    functionName: report_change
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - make_filename
    - es_fprintf
    - gpgrt_spawn_actions_release
    - log_error
    - gpgrt_process_spawn
    - snprintf
    - es_fclose
    - gnupg_homedir
    - sprintf
    - gpgrt_spawn_actions_new
    - es_fopen
    - xfree
    - gpg_err_code
    - gpg_strerror
    - gpgrt_spawn_actions_set_env_rev
    - gpgrt_asprintf
    linkageType: ''
    returnType: void
    signature: void report_change (int slot, int old_status, int cur_status)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: card_list_w_lock
      Src: /src/gnupg/scd/app.c:2552,1
    - Dst: lock_card
      Src: /src/gnupg/scd/app.c:2558,1
    - Dst: apdu_get_status
      Src: /src/gnupg/scd/app.c:2569,1
    - Dst: unlock_card
      Src: /src/gnupg/scd/app.c:2580,1
    - Dst: report_change
      Src: /src/gnupg/scd/app.c:2587,1
    - Dst: send_client_notifications
      Src: /src/gnupg/scd/app.c:2588,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app.c:2594,1
    - Dst: pincache_put
      Src: /src/gnupg/scd/app.c:2595,1
    - Dst: apdu_close_reader
      Src: /src/gnupg/scd/app.c:2596,1
    - Dst: deallocate_card
      Src: /src/gnupg/scd/app.c:2597,1
    - Dst: unlock_card
      Src: /src/gnupg/scd/app.c:2604,1
    - Dst: unlock_card
      Src: /src/gnupg/scd/app.c:2611,1
    - Dst: card_list_signal
      Src: /src/gnupg/scd/app.c:2616,1
    - Dst: card_list_w_unlock
      Src: /src/gnupg/scd/app.c:2618,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2545
    functionDepth: 6
    functionLinenumber: 2545
    functionLinenumberEnd: 2621
    functionName: scd_update_reader_status_file
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - card_list_w_unlock
    - apdu_get_status
    - send_client_notifications
    - deallocate_card
    - unlock_card
    - lock_card
    - pincache_put
    - apdu_close_reader
    - report_change
    - card_list_w_lock
    - log_debug
    - card_list_signal
    linkageType: ''
    returnType: int
    signature: int scd_update_reader_status_file (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_init
      Src: /src/gnupg/scd/app.c:2635,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app.c:2637,1
    - Dst: log_error
      Src: /src/gnupg/scd/app.c:2638,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:2638,1
    - Dst: npth_mutex_init
      Src: /src/gnupg/scd/app.c:2646,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app.c:2648,1
    - Dst: log_error
      Src: /src/gnupg/scd/app.c:2649,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:2649,1
    - Dst: npth_cond_init
      Src: /src/gnupg/scd/app.c:2653,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app.c:2656,1
    - Dst: log_error
      Src: /src/gnupg/scd/app.c:2657,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:2657,1
    - Dst: scd_init_event
      Src: /src/gnupg/scd/app.c:2662,1
    - Dst: gnupg_create_pipe
      Src: /src/gnupg/scd/app.c:2664,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app.c:2667,1
    - Dst: log_error
      Src: /src/gnupg/scd/app.c:2668,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:2668,1
    - Dst: fcntl
      Src: /src/gnupg/scd/app.c:2673,1
    - Dst: log_error
      Src: /src/gnupg/scd/app.c:2674,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app.c:2675,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app.c:2675,1
    - Dst: apdu_init
      Src: /src/gnupg/scd/app.c:2678,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2679
      start: 2627
    functionDepth: 1
    functionLinenumber: 2627
    functionLinenumberEnd: 2679
    functionName: initialize_module_command
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - apdu_init
    - npth_cond_init
    - log_error
    - npth_mutex_init
    - gpg_error_from_syserror
    - gpg_strerror
    - fcntl
    - gnupg_create_pipe
    - scd_init_event
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t initialize_module_command (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg_a
    - arg_b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2690
      start: 2683
    functionDepth: 0
    functionLinenumber: 2683
    functionLinenumberEnd: 2690
    functionName: compare_card_list_items
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_card_list_items (const void *arg_a, const void *arg_b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: card_get_serialno
      Src: /src/gnupg/scd/app.c:2704,1
    - Dst: select_all_additional_applications_internal
      Src: /src/gnupg/scd/app.c:2713,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:2716,1
    - Dst: init_membuf
      Src: /src/gnupg/scd/app.c:2720,1
    - Dst: put_membuf_str
      Src: /src/gnupg/scd/app.c:2721,1
    - Dst: put_membuf
      Src: /src/gnupg/scd/app.c:2727,1
    - Dst: put_membuf_str
      Src: /src/gnupg/scd/app.c:2728,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:2728,1
    - Dst: put_membuf
      Src: /src/gnupg/scd/app.c:2734,1
    - Dst: put_membuf_str
      Src: /src/gnupg/scd/app.c:2735,1
    - Dst: xstrapptype
      Src: /src/gnupg/scd/app.c:2735,1
    - Dst: put_membuf
      Src: /src/gnupg/scd/app.c:2737,1
    - Dst: get_membuf
      Src: /src/gnupg/scd/app.c:2738,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app.c:2741,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:2742,1
    - Dst: send_status_direct
      Src: /src/gnupg/scd/app.c:2745,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:2746,1
    - Dst: send_status_direct
      Src: /src/gnupg/scd/app.c:2749,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:2751,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - card
    - with_apps
    - ctrl
    argTypes:
    - card_t
    - int
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2694
    functionDepth: 3
    functionLinenumber: 2694
    functionLinenumberEnd: 2753
    functionName: send_serialno_and_app_status
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 1
    functionsReached:
    - get_membuf
    - init_membuf
    - xstrapptype
    - gpg_error_from_syserror
    - put_membuf
    - card_get_serialno
    - select_all_additional_applications_internal
    - put_membuf_str
    - xfree
    - send_status_direct
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t send_serialno_and_app_status (card_t card, int with_apps,
      ctrl_t ctrl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: card_list_r_lock
      Src: /src/gnupg/scd/app.c:2765,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2770,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app.c:2773,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app.c:2776,1
    - Dst: qsort
      Src: /src/gnupg/scd/app.c:2781,1
    - Dst: lock_card
      Src: /src/gnupg/scd/app.c:2787,1
    - Dst: send_serialno_and_app_status
      Src: /src/gnupg/scd/app.c:2788,1
    - Dst: unlock_card
      Src: /src/gnupg/scd/app.c:2789,1
    - Dst: card_list_r_unlock
      Src: /src/gnupg/scd/app.c:2797,1
    - Dst: xfree
      Src: /src/gnupg/scd/app.c:2798,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - ctrl
    - with_apps
    argTypes:
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2757
    functionDepth: 4
    functionLinenumber: 2757
    functionLinenumberEnd: 2800
    functionName: send_card_and_app_list
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - card_list_r_unlock
    - gpg_error_from_syserror
    - send_serialno_and_app_status
    - card_list_r_lock
    - unlock_card
    - gpg_error
    - lock_card
    - xfree
    - qsort
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t send_card_and_app_list (ctrl_t ctrl, int with_apps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_card_and_app_list
      Src: /src/gnupg/scd/app.c:2807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2804
    functionDepth: 5
    functionLinenumber: 2804
    functionLinenumberEnd: 2808
    functionName: app_send_card_list
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - send_card_and_app_list
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t app_send_card_list (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send_card_and_app_list
      Src: /src/gnupg/scd/app.c:2817,1
    - Dst: send_serialno_and_app_status
      Src: /src/gnupg/scd/app.c:2819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - card
    - ctrl
    argTypes:
    - card_t
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2820
      start: 2813
    functionDepth: 5
    functionLinenumber: 2813
    functionLinenumberEnd: 2820
    functionName: app_send_active_apps
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - send_card_and_app_list
    - send_serialno_and_app_status
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t app_send_active_apps (card_t card, ctrl_t ctrl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: select_all_additional_applications_internal
      Src: /src/gnupg/scd/app.c:2835,1
    - Dst: apptype_from_name
      Src: /src/gnupg/scd/app.c:2841,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app.c:2844,1
    - Dst: maybe_switch_app
      Src: /src/gnupg/scd/app.c:2849,1
    - Dst: send_serialno_and_app_status
      Src: /src/gnupg/scd/app.c:2855,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - card
    - ctrl
    - appname
    argTypes:
    - card_t
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2859
      start: 2826
    functionDepth: 5
    functionLinenumber: 2826
    functionLinenumberEnd: 2859
    functionName: app_switch_active_app
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - apptype_from_name
    - send_serialno_and_app_status
    - select_all_additional_applications_internal
    - gpg_error
    - maybe_switch_app
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t app_switch_active_app (card_t card, ctrl_t ctrl, const
      char *appname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: card_list_r_lock
      Src: /src/gnupg/scd/app.c:2893,1
    - Dst: do_with_keygrip
      Src: /src/gnupg/scd/app.c:2894,1
    - Dst: card_list_r_unlock
      Src: /src/gnupg/scd/app.c:2895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ctrl
    - action
    - keygrip_str
    - capability
    argTypes:
    - ctrl_t
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2897
      start: 2887
    functionDepth: 2
    functionLinenumber: 2887
    functionLinenumberEnd: 2897
    functionName: app_do_with_keygrip
    functionSourceFile: /src/gnupg/scd/app.c
    functionUses: 0
    functionsReached:
    - card_list_r_lock
    - card_list_r_unlock
    - do_with_keygrip
    linkageType: ''
    returnType: card_t
    signature: "card_t app_do_with_keygrip (ctrl_t ctrl, int action, const char *keygrip_str,\n
      \                    int capability)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: struct
    functionSourceFile: /src/gnupg/scd/scdaemon.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: EXTERN_UNLESS_MAIN_MODULE
    signature: EXTERN_UNLESS_MAIN_MODULE struct
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:259,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 265
    functionName: do_deinit
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 3
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void do_deinit (app_t app)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-piv.c:293,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:295,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:296,1
    - Dst: iso7816_get_data_odd
      Src: /src/gnupg/scd/app-piv.c:306,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:306,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:315,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-piv.c:317,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-piv.c:339,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-piv.c:341,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:345,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:347,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 5
    argNames:
    - app
    - tag
    - result
    - resultlen
    - get_immediate
    argTypes:
    - app_t
    - int
    - unsigned char**
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 355
    functionName: get_cached_data
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - iso7816_get_data_odd
    - memmove
    - gpg_error_from_syserror
    - find_tlv
    - log_assert
    - app_get_slot
    - xfree
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_cached_data (app_t app, int tag,\n                 unsigned
      char **result, size_t *resultlen,\n                 int get_immediate)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:372,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-piv.c:376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - app
    - tag
    argTypes:
    - app_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 380
    functionName: flush_cached_data
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - xfree
    - log_assert
    linkageType: ''
    returnType: void
    signature: void flush_cached_data (app_t app, int tag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:409,1
    - Dst: get_cached_data
      Src: /src/gnupg/scd/app-piv.c:413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - app
    - tag
    - result
    - nbytes
    - r_err
    argTypes:
    - app_t
    - int
    - unsigned char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 431
    functionName: get_one_do
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - get_cached_data
    linkageType: ''
    returnType: void
    signature: "void *\nget_one_do (app_t app, int tag, unsigned char **result, size_t
      *nbytes,\n            int *r_err)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: iso7816_get_data_odd
      Src: /src/gnupg/scd/app-piv.c:446,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-piv.c:450,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-piv.c:454,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-piv.c:455,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-piv.c:460,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-piv.c:464,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-piv.c:467,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-piv.c:468,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-piv.c:471,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:475,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 434
    functionDepth: 3
    functionLinenumber: 434
    functionLinenumberEnd: 477
    functionName: dump_all_do
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - iso7816_get_data_odd
    - log_printhex
    - log_info
    - gpg_strerror
    - gpg_err_code
    - xfree
    - log_printf
    linkageType: ''
    returnType: void
    signature: void dump_all_do (int slot)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - buffer
    - tag
    - length
    argTypes:
    - unsigned char*
    - unsigned int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 528
    functionName: add_tlv
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t add_tlv (unsigned char *buffer, unsigned int tag, size_t length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/scd/app-piv.c:558,1
    - Dst: va_arg
      Src: /src/gnupg/scd/app-piv.c:560,1
    - Dst: va_arg
      Src: /src/gnupg/scd/app-piv.c:562,1
    - Dst: va_arg
      Src: /src/gnupg/scd/app-piv.c:564,1
    - Dst: DIM
      Src: /src/gnupg/scd/app-piv.c:565,1
    - Dst: va_end
      Src: /src/gnupg/scd/app-piv.c:567,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:568,1
    - Dst: va_end
      Src: /src/gnupg/scd/app-piv.c:573,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-piv.c:585,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-piv.c:586,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-piv.c:590,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-piv.c:594,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/scd/app-piv.c:598,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-piv.c:598,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:601,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-piv.c:612,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-piv.c:616,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:617,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-piv.c:621,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:628,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 3
    argNames:
    - secure
    - r_result
    - r_resultlen
    argTypes:
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 630
    functionName: concat_tlv_list
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - va_end
    - log_assert
    - gpg_error_from_syserror
    - DIM
    - xtrymalloc_secure
    - gpg_error
    - add_tlv
    - xfree
    - memcpy
    - va_start
    - va_arg
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t concat_tlv_list (int secure, unsigned char **r_result,
      size_t *r_resultlen, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/scd/app-piv.c:657,1
    - Dst: va_arg
      Src: /src/gnupg/scd/app-piv.c:659,1
    - Dst: va_arg
      Src: /src/gnupg/scd/app-piv.c:661,1
    - Dst: va_arg
      Src: /src/gnupg/scd/app-piv.c:662,1
    - Dst: DIM
      Src: /src/gnupg/scd/app-piv.c:663,1
    - Dst: va_end
      Src: /src/gnupg/scd/app-piv.c:665,1
    - Dst: va_end
      Src: /src/gnupg/scd/app-piv.c:670,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-piv.c:700,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-piv.c:703,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-piv.c:704,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:707,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:713,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-piv.c:715,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-piv.c:718,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:719,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-piv.c:722,1
    - Dst: iso7816_put_data_odd
      Src: /src/gnupg/scd/app-piv.c:723,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:727,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 2
    argNames:
    - slot
    - tag
    argTypes:
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 637
    functionDepth: 3
    functionLinenumber: 637
    functionLinenumberEnd: 729
    functionName: put_data
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - iso7816_put_data_odd
    - va_end
    - gpg_error_from_syserror
    - log_assert
    - DIM
    - add_tlv
    - xfree
    - memcpy
    - va_start
    - va_arg
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t put_data (int slot, unsigned int tag, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-piv.c:740,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-piv.c:742,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-piv.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - keyrefstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 748
    functionName: parse_chv_keyref
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - ascii_strcasecmp
    linkageType: ''
    returnType: int
    signature: int parse_chv_keyref (const char *keyrefstr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_chv_keyref
      Src: /src/gnupg/scd/app-piv.c:760,1
    - Dst: iso7816_verify_status
      Src: /src/gnupg/scd/app-piv.c:763,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - app
    - keyrefstr
    argTypes:
    - app_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 755
    functionDepth: 4
    functionLinenumber: 755
    functionLinenumberEnd: 764
    functionName: get_chv_status
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 1
    functionsReached:
    - parse_chv_keyref
    - app_get_slot
    - iso7816_verify_status
    linkageType: ''
    returnType: int
    signature: int get_chv_status (app_t app, const char *keyrefstr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/scd/app-piv.c:793,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-piv.c:794,1
    - Dst: DIM
      Src: /src/gnupg/scd/app-piv.c:796,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:797,1
    - Dst: app_get_serialno
      Src: /src/gnupg/scd/app-piv.c:800,1
    - Dst: send_status_direct
      Src: /src/gnupg/scd/app-piv.c:804,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:805,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-piv.c:811,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-piv.c:811,1
    - Dst: app_get_dispserialno
      Src: /src/gnupg/scd/app-piv.c:815,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-piv.c:819,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-piv.c:820,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:822,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:825,1
    - Dst: get_chv_status
      Src: /src/gnupg/scd/app-piv.c:831,1
    - Dst: get_chv_status
      Src: /src/gnupg/scd/app-piv.c:832,1
    - Dst: get_chv_status
      Src: /src/gnupg/scd/app-piv.c:833,1
    - Dst: send_status_printf
      Src: /src/gnupg/scd/app-piv.c:834,1
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-piv.c:841,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:844,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:845,1
    - Dst: send_status_printf
      Src: /src/gnupg/scd/app-piv.c:846,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:848,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-piv.c:854,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-piv.c:854,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-piv.c:859,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-piv.c:859,1
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-piv.c:863,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-piv.c:866,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:867,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 3
    argNames:
    - app
    - ctrl
    - name
    argTypes:
    - app_t
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 769
    functionDepth: 5
    functionLinenumber: 769
    functionLinenumberEnd: 872
    functionName: do_getattr
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 2
    functionsReached:
    - strlen
    - find_tlv
    - send_status_printf
    - DIM
    - send_status_info
    - app_get_serialno
    - gpg_error
    - xfree
    - ascii_strcasecmp
    - app_get_dispserialno
    - get_chv_status
    - get_one_do
    - send_status_direct
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_getattr (app_t app, ctrl_t ctrl, const char *name)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_open
      Src: /src/gnupg/scd/app-piv.c:891,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/scd/app-piv.c:894,1
    - Dst: iso7816_general_authenticate
      Src: /src/gnupg/scd/app-piv.c:904,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:904,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-piv.c:908,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:909,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:913,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:916,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:917,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/scd/app-piv.c:920,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:929,1
    - Dst: gcry_create_nonce
      Src: /src/gnupg/scd/app-piv.c:932,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:936,1
    - Dst: iso7816_general_authenticate
      Src: /src/gnupg/scd/app-piv.c:937,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:937,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-piv.c:941,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:942,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:946,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:949,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:950,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/scd/app-piv.c:954,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:957,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:959,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:964,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/scd/app-piv.c:965,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 3
    argNames:
    - app
    - value
    - valuelen
    argTypes:
    - app_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 877
    functionDepth: 3
    functionLinenumber: 877
    functionLinenumberEnd: 967
    functionName: auth_adm_key
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_setkey
    - log_error
    - find_tlv
    - app_get_slot
    - gpg_error
    - memcmp
    - gpg_err_code
    - xfree
    - gcry_create_nonce
    - iso7816_general_authenticate
    - memcpy
    - gcry_cipher_close
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t auth_adm_key (app_t app, const unsigned char *value, size_t
      valuelen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_open
      Src: /src/gnupg/scd/app-piv.c:982,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/scd/app-piv.c:985,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/scd/app-piv.c:986,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:997,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:1010,1
    - Dst: iso7816_apdu_direct
      Src: /src/gnupg/scd/app-piv.c:1011,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:1011,1
    - Dst: wipememory
      Src: /src/gnupg/scd/app-piv.c:1013,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:1015,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-piv.c:1017,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1018,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1021,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - app
    - value
    - valuelen
    argTypes:
    - app_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 971
    functionDepth: 3
    functionLinenumber: 971
    functionLinenumberEnd: 1026
    functionName: set_adm_key
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_open
    - gcry_cipher_setkey
    - iso7816_apdu_direct
    - log_error
    - app_get_slot
    - wipememory
    - gpg_error
    - gpg_err_code
    - memcpy
    - gcry_cipher_close
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t set_adm_key (app_t app, const unsigned char *value, size_t
      valuelen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/gnupg/scd/app-piv.c:1056,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-piv.c:1057,1
    - Dst: DIM
      Src: /src/gnupg/scd/app-piv.c:1059,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1060,1
    - Dst: flush_cached_data
      Src: /src/gnupg/scd/app-piv.c:1066,1
    - Dst: auth_adm_key
      Src: /src/gnupg/scd/app-piv.c:1072,1
    - Dst: set_adm_key
      Src: /src/gnupg/scd/app-piv.c:1076,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1080,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 6
    argNames:
    - app
    - ctrl
    - name
    - pincb_arg
    - value
    - valuelen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1030
    functionDepth: 4
    functionLinenumber: 1030
    functionLinenumberEnd: 1085
    functionName: do_setattr
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - flush_cached_data
    - auth_adm_key
    - DIM
    - set_adm_key
    - gpg_error
    - ascii_strcasecmp
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_setattr (app_t app, ctrl_t ctrl, const char *name,\n
      \           gpg_error_t (*pincb)(void*, const char *, char **),\n            void
      *pincb_arg,\n            const unsigned char *value, size_t valuelen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_keygrip_by_tag
      Src: /src/gnupg/scd/app-piv.c:1100,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-piv.c:1106,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-piv.c:1107,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-piv.c:1108,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-piv.c:1109,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-piv.c:1110,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-piv.c:1115,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-piv.c:1117,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - app
    - ctrl
    - dobj
    - only_keypair
    argTypes:
    - app_t
    - ctrl_t
    - data_object_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1124
    functionName: send_keypair_and_cert_info
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - send_status_info
    - get_keygrip_by_tag
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t send_keypair_and_cert_info (app_t app, ctrl_t ctrl, data_object_t
      dobj,\n                            int only_keypair)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-piv.c:1135,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-piv.c:1136,1
    - Dst: send_keypair_and_cert_info
      Src: /src/gnupg/scd/app-piv.c:1140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - app
    - ctrl
    - flags
    argTypes:
    - app_t
    - ctrl_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1128
    functionDepth: 2
    functionLinenumber: 1128
    functionLinenumberEnd: 1145
    functionName: do_learn_status
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - send_keypair_and_cert_info
    - do_getattr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_learn_status (app_t app, ctrl_t ctrl, unsigned int flags)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-piv.c:1169,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1172,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:1176,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:1181,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:1184,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1185,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:1188,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:1191,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1192,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:1201,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1202,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:1207,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1209,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:1214,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1215,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:1223,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1226,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-piv.c:1232,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:1234,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:1238,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1243,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 5
    argNames:
    - app
    - tag
    - r_cert
    - r_certlen
    - r_mechanism
    argTypes:
    - app_t
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1154
    functionDepth: 3
    functionLinenumber: 1154
    functionLinenumberEnd: 1245
    functionName: readcert_by_tag
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - log_error
    - find_tlv
    - gpg_error_from_syserror
    - gpg_error
    - xfree
    - memcpy
    - get_one_do
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t readcert_by_tag (app_t app, unsigned int tag,\n                 unsigned
      char **r_cert, size_t *r_certlen, int *r_mechanism)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-piv.c:1263,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:1266,1
    - Dst: readcert_by_tag
      Src: /src/gnupg/scd/app-piv.c:1271,1
    - Dst: genkey_parse_rsa
      Src: /src/gnupg/scd/app-piv.c:1277,1
    - Dst: genkey_parse_ecc
      Src: /src/gnupg/scd/app-piv.c:1280,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1282,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/gnupg/scd/app-piv.c:1286,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:1288,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1289,1
    - Dst: bin2hex
      Src: /src/gnupg/scd/app-piv.c:1293,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/scd/app-piv.c:1298,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/scd/app-piv.c:1301,1
    - Dst: app_help_get_keygrip_string
      Src: /src/gnupg/scd/app-piv.c:1304,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-piv.c:1308,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/scd/app-piv.c:1309,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1310,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1313,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 4
    argNames:
    - app
    - tag
    - r_keygripstr
    - r_got_cert
    argTypes:
    - app_t
    - unsigned int
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1250
    functionDepth: 4
    functionLinenumber: 1250
    functionLinenumberEnd: 1317
    functionName: get_keygrip_by_tag
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 1
    functionsReached:
    - gcry_pk_get_keygrip
    - genkey_parse_ecc
    - ksba_cert_init_from_mem
    - gpg_error_from_syserror
    - log_error
    - bin2hex
    - genkey_parse_rsa
    - gpg_error
    - ksba_cert_release
    - xfree
    - app_help_get_keygrip_string
    - gcry_sexp_release
    - xtrymalloc
    - ksba_cert_new
    - readcert_by_tag
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_keygrip_by_tag (app_t app, unsigned int tag,\n                    char
      **r_keygripstr, int *r_got_cert)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/scd/app-piv.c:1330,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-piv.c:1335,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-piv.c:1340,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-piv.c:1345,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-piv.c:1350,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1359,1
    - Dst: get_keygrip_by_tag
      Src: /src/gnupg/scd/app-piv.c:1360,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-piv.c:1362,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1364,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1368,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 2
    argNames:
    - app
    - keyref
    argTypes:
    - app_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1323
    functionDepth: 5
    functionLinenumber: 1323
    functionLinenumberEnd: 1372
    functionName: find_dobj_by_keyref
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - ascii_strncasecmp
    - strlen
    - strcmp
    - get_keygrip_by_tag
    - xfree
    - ascii_strcasecmp
    - strncmp
    linkageType: ''
    returnType: data_object_t
    signature: data_object_t find_dobj_by_keyref (app_t app, const char *keyref)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-piv.c:1380,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-piv.c:1380,1
    - Dst: xtoi_2
      Src: /src/gnupg/scd/app-piv.c:1382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - dobj
    argTypes:
    - data_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1383
    functionName: keyref_from_dobj
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - xtoi_2
    linkageType: ''
    returnType: int
    signature: int keyref_from_dobj (data_object_t dobj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/scd/app-piv.c:1403,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/scd/app-piv.c:1404,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-piv.c:1405,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-piv.c:1405,1
    - Dst: xtoi_2
      Src: /src/gnupg/scd/app-piv.c:1413,1
    - Dst: iso7816_apdu_direct
      Src: /src/gnupg/scd/app-piv.c:1415,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:1415,1
    - Dst: find_dobj_by_keyref
      Src: /src/gnupg/scd/app-piv.c:1425,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1427,1
    - Dst: readcert_by_tag
      Src: /src/gnupg/scd/app-piv.c:1429,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1433,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1436,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - app
    - certid
    - r_cert
    - r_certlen
    argTypes:
    - app_t
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1390
    functionDepth: 6
    functionLinenumber: 1390
    functionLinenumberEnd: 1439
    functionName: do_readcert
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - ascii_strncasecmp
    - iso7816_apdu_direct
    - strlen
    - app_get_slot
    - gpg_error
    - xfree
    - xtoi_2
    - find_dobj_by_keyref
    - readcert_by_tag
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_readcert (app_t app, const char *certid,\n             unsigned
      char **r_cert, size_t *r_certlen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: find_dobj_by_keyref
      Src: /src/gnupg/scd/app-piv.c:1467,1
    - Dst: keyref_from_dobj
      Src: /src/gnupg/scd/app-piv.c:1468,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1470,1
    - Dst: readcert_by_tag
      Src: /src/gnupg/scd/app-piv.c:1474,1
    - Dst: app_help_pubkey_from_cert
      Src: /src/gnupg/scd/app-piv.c:1480,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:1483,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-piv.c:1484,1
    - Dst: genkey_parse_rsa
      Src: /src/gnupg/scd/app-piv.c:1492,1
    - Dst: genkey_parse_ecc
      Src: /src/gnupg/scd/app-piv.c:1495,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1497,1
    - Dst: make_canon_sexp
      Src: /src/gnupg/scd/app-piv.c:1501,1
    - Dst: app_help_get_keygrip_string_pk
      Src: /src/gnupg/scd/app-piv.c:1513,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:1517,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-piv.c:1518,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-piv.c:1523,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-piv.c:1524,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-piv.c:1525,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-piv.c:1526,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-piv.c:1527,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-piv.c:1529,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1531,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-piv.c:1542,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1543,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1544,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 6
    argNames:
    - app
    - ctrl
    - keyrefstr
    - flags
    - r_pk
    - r_pklen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - unsigned int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1453
    functionDepth: 6
    functionLinenumber: 1453
    functionLinenumberEnd: 1546
    functionName: do_readkey
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 1
    functionsReached:
    - keyref_from_dobj
    - genkey_parse_ecc
    - app_help_pubkey_from_cert
    - log_error
    - snprintf
    - strlen
    - genkey_parse_rsa
    - make_canon_sexp
    - send_status_info
    - gpg_error
    - gpg_strerror
    - xfree
    - gcry_sexp_release
    - app_help_get_keygrip_string_pk
    - find_dobj_by_keyref
    - readcert_by_tag
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_readkey (app_t app, ctrl_t ctrl, const char *keyrefstr,
      unsigned int flags,\n            unsigned char **r_pk, size_t *r_pklen)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: readcert_by_tag
      Src: /src/gnupg/scd/app-piv.c:1570,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1586,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:1587,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/scd/app-piv.c:1594,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/scd/app-piv.c:1598,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:1601,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-piv.c:1602,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1605,1
    - Dst: ksba_cert_get_public_key
      Src: /src/gnupg/scd/app-piv.c:1608,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1611,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/scd/app-piv.c:1614,1
    - Dst: gcry_sexp_new
      Src: /src/gnupg/scd/app-piv.c:1615,1
    - Dst: gcry_sexp_find_token
      Src: /src/gnupg/scd/app-piv.c:1619,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1622,1
    - Dst: gcry_sexp_cadr
      Src: /src/gnupg/scd/app-piv.c:1627,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-piv.c:1628,1
    - Dst: gcry_sexp_nth_string
      Src: /src/gnupg/scd/app-piv.c:1631,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:1634,1
    - Dst: gcry_pk_map_name
      Src: /src/gnupg/scd/app-piv.c:1638,1
    - Dst: gcry_pk_get_nbits
      Src: /src/gnupg/scd/app-piv.c:1642,1
    - Dst: gcry_pk_get_curve
      Src: /src/gnupg/scd/app-piv.c:1651,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-piv.c:1652,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-piv.c:1654,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1658,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:1659,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-piv.c:1660,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1666,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:1667,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-piv.c:1668,1
    - Dst: gcry_free
      Src: /src/gnupg/scd/app-piv.c:1674,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-piv.c:1675,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-piv.c:1676,1
    - Dst: ksba_free
      Src: /src/gnupg/scd/app-piv.c:1677,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1678,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 96
    argCount: 3
    argNames:
    - app
    - dobj
    - r_mechanism
    argTypes:
    - app_t
    - data_object_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1552
    functionDepth: 4
    functionLinenumber: 1552
    functionLinenumberEnd: 1680
    functionName: get_key_algorithm_by_dobj
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - ksba_cert_get_public_key
    - ksba_free
    - gcry_sexp_find_token
    - gcry_sexp_canon_len
    - gcry_pk_get_nbits
    - gcry_sexp_nth_string
    - ksba_cert_new
    - ksba_cert_init_from_mem
    - log_error
    - gcry_sexp_cadr
    - gcry_sexp_release
    - gpg_error_from_syserror
    - strcmp
    - gcry_pk_get_curve
    - gpg_error
    - gpg_strerror
    - xfree
    - gcry_sexp_new
    - gcry_free
    - gcry_pk_map_name
    - readcert_by_tag
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_key_algorithm_by_dobj (app_t app, data_object_t dobj,
      int *r_mechanism)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/scd/app-piv.c:1703,1
    - Dst: pincache_put
      Src: /src/gnupg/scd/app-piv.c:1704,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:1704,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 5
    argNames:
    - app
    - ctrl
    - pinno
    - pin
    - pinlen
    argTypes:
    - app_t
    - ctrl_t
    - int
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1684
    functionDepth: 1
    functionLinenumber: 1684
    functionLinenumberEnd: 1717
    functionName: cache_pin
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - snprintf
    - app_get_slot
    - pincache_put
    linkageType: ''
    returnType: void
    signature: "void cache_pin (app_t app, ctrl_t ctrl, int pinno,\n           const
      char *pin, unsigned int pinlen)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/scd/app-piv.c:1754,1
    - Dst: pincache_get
      Src: /src/gnupg/scd/app-piv.c:1755,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:1755,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - app
    - ctrl
    - pinno
    - r_pin
    argTypes:
    - app_t
    - ctrl_t
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1723
    functionDepth: 1
    functionLinenumber: 1723
    functionLinenumberEnd: 1759
    functionName: pin_from_cache
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - snprintf
    - pincache_get
    - app_get_slot
    linkageType: ''
    returnType: int
    signature: int pin_from_cache (app_t app, ctrl_t ctrl, int pinno, char **r_pin)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: app_get_dispserialno
      Src: /src/gnupg/scd/app-piv.c:1769,1
    - Dst: xtryasprintf
      Src: /src/gnupg/scd/app-piv.c:1776,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:1776,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1784,1
    - Dst: xtryasprintf
      Src: /src/gnupg/scd/app-piv.c:1793,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:1793,1
    - Dst: strconcat
      Src: /src/gnupg/scd/app-piv.c:1796,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1798,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1802,1
    - Dst: strconcat
      Src: /src/gnupg/scd/app-piv.c:1807,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - app
    - remaining
    - firstline
    argTypes:
    - app_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1764
    functionDepth: 5
    functionLinenumber: 1764
    functionLinenumberEnd: 1813
    functionName: make_prompt
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 2
    functionsReached:
    - _
    - strconcat
    - xtryasprintf
    - app_get_dispserialno
    - xfree
    linkageType: ''
    returnType: char
    signature: 'char *

      make_prompt (app_t app, int remaining, const char *firstline)'
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/scd/app-piv.c:1842,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:1851,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:1852,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:1859,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:1860,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:1867,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:1868,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1875,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1878,1
    - Dst: pin_from_cache
      Src: /src/gnupg/scd/app-piv.c:1883,1
    - Dst: make_prompt
      Src: /src/gnupg/scd/app-piv.c:1887,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-piv.c:1888,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1889,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-piv.c:1894,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:1894,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-piv.c:1894,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-piv.c:1898,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:1901,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:1901,1
    - Dst: wipememory
      Src: /src/gnupg/scd/app-piv.c:1903,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1904,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1905,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:1909,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:1909,1
    - Dst: wipememory
      Src: /src/gnupg/scd/app-piv.c:1910,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1911,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1912,1
    - Dst: strspn
      Src: /src/gnupg/scd/app-piv.c:1914,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:1916,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:1916,1
    - Dst: wipememory
      Src: /src/gnupg/scd/app-piv.c:1917,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1918,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:1919,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/scd/app-piv.c:1922,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:1925,1
    - Dst: wipememory
      Src: /src/gnupg/scd/app-piv.c:1926,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1927,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:1931,1
    - Dst: wipememory
      Src: /src/gnupg/scd/app-piv.c:1932,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1933,1
    - Dst: memset
      Src: /src/gnupg/scd/app-piv.c:1940,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 89
    argCount: 10
    argNames:
    - app
    - ctrl
    - keyref
    - ask_new
    - remaining
    - no_cache
    - pincb_arg
    - r_pin
    - r_pinlen
    - r_unpaddedpinlen
    argTypes:
    - app_t
    - ctrl_t
    - int
    - int
    - int
    - int
    - void*
    - char**
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1818
    functionDepth: 1
    functionLinenumber: 1818
    functionLinenumberEnd: 1948
    functionName: ask_and_prepare_chv
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - strlen
    - log_error
    - gpg_error_from_syserror
    - _
    - xtrymalloc_secure
    - wipememory
    - pincb
    - gpg_error
    - pin_from_cache
    - xfree
    - log_info
    - gpg_strerror
    - memcpy
    - memset
    - make_prompt
    - strspn
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ask_and_prepare_chv (app_t app, ctrl_t ctrl,\n                     int
      keyref, int ask_new, int remaining, int no_cache,\n                     gpg_error_t
      (*pincb)(void*,const char *,char **),\n                     void *pincb_arg,
      char **r_pin, unsigned int *r_pinlen,\n                     unsigned int *r_unpaddedpinlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: iso7816_verify_status
      Src: /src/gnupg/scd/app-piv.c:1964,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:1964,1
    - Dst: ask_and_prepare_chv
      Src: /src/gnupg/scd/app-piv.c:1975,1
    - Dst: iso7816_verify
      Src: /src/gnupg/scd/app-piv.c:1981,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:1981,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:1984,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-piv.c:1985,1
    - Dst: cache_pin
      Src: /src/gnupg/scd/app-piv.c:1986,1
    - Dst: cache_pin
      Src: /src/gnupg/scd/app-piv.c:1989,1
    - Dst: wipememory
      Src: /src/gnupg/scd/app-piv.c:1991,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:1992,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - app
    - ctrl
    - keyref
    - force
    - pincb_arg
    argTypes:
    - app_t
    - ctrl_t
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1995
      start: 1954
    functionDepth: 4
    functionLinenumber: 1954
    functionLinenumberEnd: 1995
    functionName: verify_chv
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - log_error
    - cache_pin
    - app_get_slot
    - wipememory
    - gpg_strerror
    - iso7816_verify_status
    - xfree
    - ask_and_prepare_chv
    - iso7816_verify
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t verify_chv (app_t app, ctrl_t ctrl, int keyref, int force,\n
      \           gpg_error_t (*pincb)(void*,const char *,char **), void *pincb_arg)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2029,1
    - Dst: parse_chv_keyref
      Src: /src/gnupg/scd/app-piv.c:2034,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2037,1
    - Dst: cache_pin
      Src: /src/gnupg/scd/app-piv.c:2041,1
    - Dst: iso7816_apdu_direct
      Src: /src/gnupg/scd/app-piv.c:2050,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:2050,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2060,1
    - Dst: iso7816_apdu_direct
      Src: /src/gnupg/scd/app-piv.c:2073,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:2073,1
    - Dst: ask_and_prepare_chv
      Src: /src/gnupg/scd/app-piv.c:2081,1
    - Dst: iso7816_verify
      Src: /src/gnupg/scd/app-piv.c:2091,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:2091,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:2094,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-piv.c:2095,1
    - Dst: ask_and_prepare_chv
      Src: /src/gnupg/scd/app-piv.c:2101,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/scd/app-piv.c:2109,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:2112,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:2115,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:2116,1
    - Dst: iso7816_reset_retry_counter_with_rc
      Src: /src/gnupg/scd/app-piv.c:2117,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:2117,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:2120,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:2122,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-piv.c:2123,1
    - Dst: iso7816_change_reference_data
      Src: /src/gnupg/scd/app-piv.c:2127,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:2127,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:2131,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-piv.c:2132,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:2136,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:2137,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 5
    argNames:
    - app
    - ctrl
    - pwidstr
    - flags
    - pincb_arg
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2008
    functionDepth: 3
    functionLinenumber: 2008
    functionLinenumberEnd: 2139
    functionName: do_change_chv
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - iso7816_apdu_direct
    - log_error
    - gpg_error_from_syserror
    - cache_pin
    - app_get_slot
    - iso7816_change_reference_data
    - xtrymalloc_secure
    - iso7816_reset_retry_counter_with_rc
    - parse_chv_keyref
    - gpg_error
    - gpg_strerror
    - xfree
    - ask_and_prepare_chv
    - memcpy
    - iso7816_verify
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_change_chv (app_t app, ctrl_t ctrl, const char *pwidstr,\n
      \              unsigned int flags,\n               gpg_error_t (*pincb)(void*,
      const char *, char **),\n               void *pincb_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_chv_keyref
      Src: /src/gnupg/scd/app-piv.c:2153,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2155,1
    - Dst: verify_chv
      Src: /src/gnupg/scd/app-piv.c:2157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - app
    - ctrl
    - pwidstr
    - pincb_arg
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2144
    functionDepth: 5
    functionLinenumber: 2144
    functionLinenumberEnd: 2158
    functionName: do_check_chv
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - verify_chv
    - gpg_error
    - parse_chv_keyref
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_check_chv (app_t app, ctrl_t ctrl, const char *pwidstr,\n
      \             gpg_error_t (*pincb)(void*, const char *, char **),\n              void
      *pincb_arg)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2197,1
    - Dst: find_dobj_by_keyref
      Src: /src/gnupg/scd/app-piv.c:2201,1
    - Dst: keyref_from_dobj
      Src: /src/gnupg/scd/app-piv.c:2202,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2204,1
    - Dst: get_key_algorithm_by_dobj
      Src: /src/gnupg/scd/app-piv.c:2217,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2241,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:2242,1
    - Dst: gcry_md_get_asnoid
      Src: /src/gnupg/scd/app-piv.c:2250,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2253,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app-piv.c:2254,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:2258,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2260,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:2261,1
    - Dst: gcry_md_get_asnoid
      Src: /src/gnupg/scd/app-piv.c:2304,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app-piv.c:2306,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/scd/app-piv.c:2311,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-piv.c:2316,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:2319,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:2322,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:2323,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:2328,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2332,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:2333,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2343,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:2344,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-piv.c:2348,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:2351,1
    - Dst: memset
      Src: /src/gnupg/scd/app-piv.c:2358,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:2361,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-piv.c:2363,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:2365,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2372,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app-piv.c:2373,1
    - Dst: verify_chv
      Src: /src/gnupg/scd/app-piv.c:2378,1
    - Dst: concat_tlv_list
      Src: /src/gnupg/scd/app-piv.c:2383,1
    - Dst: iso7816_general_authenticate
      Src: /src/gnupg/scd/app-piv.c:2392,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:2392,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:2401,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-piv.c:2405,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-piv.c:2410,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:2423,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:2426,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-piv.c:2429,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:2430,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-piv.c:2440,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:2443,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:2446,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:2447,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:2448,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2456,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:2457,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:2464,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:2473,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:2474,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 199
    argCount: 9
    argNames:
    - app
    - ctrl
    - keyidstr
    - hashalgo
    - pincb_arg
    - indata_arg
    - indatalen
    - r_outdata
    - r_outdatalen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - int
    - void*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2476
      start: 2171
    functionDepth: 6
    functionLinenumber: 2171
    functionLinenumberEnd: 2476
    functionName: do_sign
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 3
    functionsReached:
    - log_assert
    - app_get_slot
    - memcpy
    - xtrymalloc
    - memmove
    - log_error
    - gcry_md_get_asnoid
    - log_debug
    - keyref_from_dobj
    - gpg_error_from_syserror
    - find_tlv
    - gpg_error
    - memset
    - get_key_algorithm_by_dobj
    - xfree
    - xtrycalloc
    - verify_chv
    - iso7816_general_authenticate
    - gcry_md_get_algo_dlen
    - memcmp
    - concat_tlv_list
    - find_dobj_by_keyref
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_sign (app_t app, ctrl_t ctrl, const char *keyidstr,
      int hashalgo,\n         gpg_error_t (*pincb)(void*, const char *, char **),\n
      \        void *pincb_arg,\n         const void *indata_arg, size_t indatalen,\n
      \        unsigned char **r_outdata, size_t *r_outdatalen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_sign
      Src: /src/gnupg/scd/app-piv.c:2492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - app
    - ctrl
    - keyidstr
    - pincb_arg
    - indata
    - indatalen
    - r_outdata
    - r_outdatalen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - void*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2485
    functionDepth: 0
    functionLinenumber: 2485
    functionLinenumberEnd: 2494
    functionName: do_auth
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - do_sign
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_auth (app_t app, ctrl_t ctrl, const char *keyidstr,\n
      \        gpg_error_t (*pincb)(void*, const char *, char **),\n         void
      *pincb_arg,\n         const void *indata, size_t indatalen,\n         unsigned
      char **r_outdata, size_t *r_outdatalen)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2524,1
    - Dst: find_dobj_by_keyref
      Src: /src/gnupg/scd/app-piv.c:2528,1
    - Dst: keyref_from_dobj
      Src: /src/gnupg/scd/app-piv.c:2529,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2531,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2538,1
    - Dst: get_key_algorithm_by_dobj
      Src: /src/gnupg/scd/app-piv.c:2542,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2561,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app-piv.c:2562,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-piv.c:2580,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:2583,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:2586,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2592,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:2593,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-piv.c:2600,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:2603,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:2606,1
    - Dst: verify_chv
      Src: /src/gnupg/scd/app-piv.c:2612,1
    - Dst: concat_tlv_list
      Src: /src/gnupg/scd/app-piv.c:2617,1
    - Dst: iso7816_general_authenticate
      Src: /src/gnupg/scd/app-piv.c:2628,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:2628,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:2637,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-piv.c:2639,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2644,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:2645,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:2652,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:2662,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:2663,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 104
    argCount: 9
    argNames:
    - app
    - ctrl
    - keyidstr
    - pincb_arg
    - indata_arg
    - indatalen
    - r_outdata
    - r_outdatalen
    - r_info
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - void*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2665
      start: 2499
    functionDepth: 6
    functionLinenumber: 2499
    functionLinenumberEnd: 2665
    functionName: do_decipher
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - memmove
    - keyref_from_dobj
    - find_dobj_by_keyref
    - gpg_error_from_syserror
    - log_error
    - find_tlv
    - app_get_slot
    - gpg_error
    - xfree
    - get_key_algorithm_by_dobj
    - concat_tlv_list
    - xtrycalloc
    - verify_chv
    - iso7816_general_authenticate
    - memcpy
    - log_debug
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_decipher (app_t app, ctrl_t ctrl, const char *keyidstr,\n
      \            gpg_error_t (*pincb)(void*, const char *, char **),\n             void
      *pincb_arg,\n             const void *indata_arg, size_t indatalen,\n             unsigned
      char **r_outdata, size_t *r_outdatalen,\n             unsigned int *r_info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-piv.c:2681,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:2683,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:2687,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:2687,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2688,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-piv.c:2692,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:2692,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-piv.c:2694,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:2694,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-piv.c:2696,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:2696,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - app
    - dobj
    - generating
    - force
    argTypes:
    - app_t
    - data_object_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2698
      start: 2673
    functionDepth: 1
    functionLinenumber: 2673
    functionLinenumberEnd: 2698
    functionName: does_key_exist
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - log_error
    - _
    - gpg_error
    - xfree
    - log_info
    - get_one_do
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t does_key_exist (app_t app, data_object_t dobj, int generating,
      int force)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-piv.c:2726,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2731,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-piv.c:2734,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2752,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-piv.c:2756,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-piv.c:2769,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2779,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-piv.c:2785,1
    - Dst: gcry_mpi_snew
      Src: /src/gnupg/scd/app-piv.c:2790,1
    - Dst: gcry_mpi_snew
      Src: /src/gnupg/scd/app-piv.c:2791,1
    - Dst: gcry_mpi_snew
      Src: /src/gnupg/scd/app-piv.c:2792,1
    - Dst: gcry_mpi_snew
      Src: /src/gnupg/scd/app-piv.c:2793,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/scd/app-piv.c:2795,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/scd/app-piv.c:2796,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/scd/app-piv.c:2797,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/gnupg/scd/app-piv.c:2799,1
    - Dst: gcry_mpi_invm
      Src: /src/gnupg/scd/app-piv.c:2800,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/gnupg/scd/app-piv.c:2802,1
    - Dst: gcry_mpi_invm
      Src: /src/gnupg/scd/app-piv.c:2803,1
    - Dst: gcry_mpi_invm
      Src: /src/gnupg/scd/app-piv.c:2805,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/scd/app-piv.c:2807,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/scd/app-piv.c:2808,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/scd/app-piv.c:2809,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-piv.c:2811,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-piv.c:2812,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-piv.c:2813,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-piv.c:2814,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-piv.c:2815,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-piv.c:2816,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-piv.c:2817,1
    - Dst: concat_tlv_list
      Src: /src/gnupg/scd/app-piv.c:2820,1
    - Dst: iso7816_send_apdu
      Src: /src/gnupg/scd/app-piv.c:2835,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:2835,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:2848,1
    - Dst: concat_tlv_list
      Src: /src/gnupg/scd/app-piv.c:2849,1
    - Dst: put_data
      Src: /src/gnupg/scd/app-piv.c:2857,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:2857,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:2863,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:2864,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:2865,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:2866,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 107
    argCount: 6
    argNames:
    - app
    - dobj
    - keyref
    - buf
    - buflen
    - depth
    argTypes:
    - app_t
    - data_object_t
    - int
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2703
    functionDepth: 4
    functionLinenumber: 2703
    functionLinenumberEnd: 2868
    functionName: writekey_rsa
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - put_data
    - gcry_mpi_snew
    - gcry_mpi_sub_ui
    - app_get_slot
    - gcry_mpi_aprint
    - gpg_error
    - log_info
    - xfree
    - concat_tlv_list
    - parse_sexp
    - iso7816_send_apdu
    - gcry_mpi_invm
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t writekey_rsa (app_t app, data_object_t dobj, int keyref,\n
      \             const unsigned char *buf, size_t buflen, int depth)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-piv.c:2890,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2895,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-piv.c:2898,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:2901,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-piv.c:2906,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-piv.c:2909,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:2912,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:2915,1
    - Dst: openpgp_oid_or_name_to_curve
      Src: /src/gnupg/scd/app-piv.c:2921,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:2922,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-piv.c:2924,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-piv.c:2926,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2930,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2947,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-piv.c:2951,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-piv.c:2964,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:2974,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-piv.c:2979,1
    - Dst: concat_tlv_list
      Src: /src/gnupg/scd/app-piv.c:2981,1
    - Dst: iso7816_send_apdu
      Src: /src/gnupg/scd/app-piv.c:2987,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:2987,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:3000,1
    - Dst: concat_tlv_list
      Src: /src/gnupg/scd/app-piv.c:3001,1
    - Dst: put_data
      Src: /src/gnupg/scd/app-piv.c:3008,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:3008,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:3015,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 97
    argCount: 6
    argNames:
    - app
    - dobj
    - keyref
    - buf
    - buflen
    - depth
    argTypes:
    - app_t
    - data_object_t
    - int
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3017
      start: 2873
    functionDepth: 4
    functionLinenumber: 2873
    functionLinenumberEnd: 3017
    functionName: writekey_ecc
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - put_data
    - gpg_error_from_syserror
    - app_get_slot
    - strcmp
    - gpg_error
    - memcmp
    - openpgp_oid_or_name_to_curve
    - memcpy
    - xfree
    - parse_sexp
    - log_info
    - concat_tlv_list
    - iso7816_send_apdu
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t writekey_ecc (app_t app, data_object_t dobj, int keyref,\n
      \             const unsigned char *buf, size_t buflen, int depth)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3052,1
    - Dst: find_dobj_by_keyref
      Src: /src/gnupg/scd/app-piv.c:3057,1
    - Dst: keyref_from_dobj
      Src: /src/gnupg/scd/app-piv.c:3058,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3060,1
    - Dst: does_key_exist
      Src: /src/gnupg/scd/app-piv.c:3063,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-piv.c:3071,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-piv.c:3073,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:3075,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:3079,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-piv.c:3080,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:3081,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-piv.c:3082,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3083,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-piv.c:3086,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-piv.c:3088,1
    - Dst: flush_cached_data
      Src: /src/gnupg/scd/app-piv.c:3093,1
    - Dst: put_data
      Src: /src/gnupg/scd/app-piv.c:3094,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:3094,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:3099,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-piv.c:3100,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:3105,1
    - Dst: writekey_rsa
      Src: /src/gnupg/scd/app-piv.c:3106,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:3107,1
    - Dst: writekey_ecc
      Src: /src/gnupg/scd/app-piv.c:3108,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3110,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-piv.c:3115,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3116,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:3117,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:3117,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-piv.c:3117,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 65
    argCount: 7
    argNames:
    - app
    - ctrl
    - keyrefstr
    - flags
    - pincb_arg
    - keydata
    - keydatalen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - unsigned int
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3031
    functionDepth: 6
    functionLinenumber: 3031
    functionLinenumberEnd: 3122
    functionName: do_writekey
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - put_data
    - flush_cached_data
    - keyref_from_dobj
    - log_error
    - app_get_slot
    - _
    - writekey_rsa
    - does_key_exist
    - gpg_error
    - memcmp
    - log_info
    - gpg_strerror
    - gpg_err_code
    - parse_sexp
    - writekey_ecc
    - find_dobj_by_keyref
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_writekey (app_t app, ctrl_t ctrl,\n             const
      char *keyrefstr, unsigned int flags,\n             gpg_error_t (*pincb)(void*,
      const char *, char **),\n             void *pincb_arg,\n             const unsigned
      char *keydata, size_t keydatalen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:3140,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:3143,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:3143,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3144,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:3148,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:3151,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:3151,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3152,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-piv.c:3161,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:3164,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:3171,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:3175,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-piv.c:3177,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:3180,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:3187,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:3191,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/scd/app-piv.c:3193,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:3197,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:3198,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 3
    argNames:
    - data
    - datalen
    - r_sexp
    argTypes:
    - unsigned char*
    - size_t
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3200
      start: 3128
    functionDepth: 3
    functionLinenumber: 3128
    functionLinenumberEnd: 3200
    functionName: genkey_parse_rsa
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 2
    functionsReached:
    - log_error
    - find_tlv
    - gpg_error_from_syserror
    - _
    - gpg_error
    - xfree
    - memcpy
    - gcry_sexp_build
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t genkey_parse_rsa (const unsigned char *data, size_t datalen,\n
      \                 gcry_sexp_t *r_sexp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:3218,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:3221,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:3221,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3222,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3232,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/scd/app-piv.c:3237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - data
    - datalen
    - mechanism
    - r_sexp
    argTypes:
    - unsigned char*
    - size_t
    - int
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3242
      start: 3207
    functionDepth: 3
    functionLinenumber: 3207
    functionLinenumberEnd: 3242
    functionName: genkey_parse_ecc
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 2
    functionsReached:
    - log_error
    - find_tlv
    - _
    - gpg_error
    - gcry_sexp_build
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t genkey_parse_ecc (const unsigned char *data, size_t datalen,
      int mechanism,\n                  gcry_sexp_t *r_sexp)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/scd/app-piv.c:3287,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-piv.c:3289,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-piv.c:3291,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-piv.c:3293,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3296,1
    - Dst: flush_cached_data
      Src: /src/gnupg/scd/app-piv.c:3301,1
    - Dst: find_dobj_by_keyref
      Src: /src/gnupg/scd/app-piv.c:3304,1
    - Dst: keyref_from_dobj
      Src: /src/gnupg/scd/app-piv.c:3305,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3307,1
    - Dst: does_key_exist
      Src: /src/gnupg/scd/app-piv.c:3310,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-piv.c:3316,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:3316,1
    - Dst: time
      Src: /src/gnupg/scd/app-piv.c:3317,1
    - Dst: iso7816_generate_keypair
      Src: /src/gnupg/scd/app-piv.c:3324,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:3324,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-piv.c:3329,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3330,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:3331,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:3331,1
    - Dst: time
      Src: /src/gnupg/scd/app-piv.c:3336,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-piv.c:3337,1
    - Dst: ngettext
      Src: /src/gnupg/scd/app-piv.c:3337,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:3344,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3347,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:3348,1
    - Dst: _
      Src: /src/gnupg/scd/app-piv.c:3348,1
    - Dst: flush_cached_data
      Src: /src/gnupg/scd/app-piv.c:3353,1
    - Dst: put_data
      Src: /src/gnupg/scd/app-piv.c:3354,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:3354,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:3360,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-piv.c:3361,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:3366,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 7
    argNames:
    - app
    - ctrl
    - keyrefstr
    - keytype
    - flags
    - createtime
    - pincb_arg
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - char*
    - unsigned int
    - time_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3368
      start: 3260
    functionDepth: 6
    functionLinenumber: 3260
    functionLinenumberEnd: 3368
    functionName: do_genkey
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - put_data
    - flush_cached_data
    - keyref_from_dobj
    - log_error
    - find_tlv
    - ngettext
    - app_get_slot
    - _
    - iso7816_generate_keypair
    - strcmp
    - does_key_exist
    - gpg_error
    - log_info
    - gpg_err_code
    - gpg_strerror
    - xfree
    - time
    - find_dobj_by_keyref
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_genkey (app_t app, ctrl_t ctrl, const char *keyrefstr,
      const char *keytype,\n           unsigned int flags, time_t createtime,\n           gpg_error_t
      (*pincb)(void*, const char *, char **),\n           void *pincb_arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:3376,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:3381,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:3386,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - name
    - namelenp
    argTypes:
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3392
      start: 3373
    functionDepth: 0
    functionLinenumber: 3373
    functionLinenumberEnd: 3392
    functionName: map_curve_name_to_oid
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      map_curve_name_to_oid (const unsigned char *name, size_t *namelenp)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: map_curve_name_to_oid
      Src: /src/gnupg/scd/app-piv.c:3414,1
    - Dst: map_curve_name_to_oid
      Src: /src/gnupg/scd/app-piv.c:3415,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:3417,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:3427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 6
    argNames:
    - opaque
    - depth
    - aval
    - alen
    - bval
    - blen
    argTypes:
    - void*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3428
      start: 3401
    functionDepth: 1
    functionLinenumber: 3401
    functionLinenumberEnd: 3428
    functionName: my_cmp_public_key
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - memcmp
    - map_curve_name_to_oid
    linkageType: ''
    returnType: int
    signature: "int my_cmp_public_key (void *opaque, int depth,\n                   const
      unsigned char *aval, size_t alen,\n                   const unsigned char *bval,
      size_t blen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3453,1
    - Dst: find_dobj_by_keyref
      Src: /src/gnupg/scd/app-piv.c:3455,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3457,1
    - Dst: flush_cached_data
      Src: /src/gnupg/scd/app-piv.c:3459,1
    - Dst: do_readkey
      Src: /src/gnupg/scd/app-piv.c:3468,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-piv.c:3471,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3472,1
    - Dst: app_help_pubkey_from_cert
      Src: /src/gnupg/scd/app-piv.c:3477,1
    - Dst: cmp_canon_sexp
      Src: /src/gnupg/scd/app-piv.c:3480,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3483,1
    - Dst: flush_cached_data
      Src: /src/gnupg/scd/app-piv.c:3487,1
    - Dst: put_data
      Src: /src/gnupg/scd/app-piv.c:3488,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:3488,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-piv.c:3494,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3495,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:3497,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-piv.c:3498,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:3501,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:3502,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 6
    argNames:
    - app
    - ctrl
    - certrefstr
    - pincb_arg
    - cert
    - certlen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3504
      start: 3434
    functionDepth: 6
    functionLinenumber: 3434
    functionLinenumberEnd: 3504
    functionName: do_writecert
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - put_data
    - flush_cached_data
    - do_readkey
    - app_help_pubkey_from_cert
    - log_error
    - cmp_canon_sexp
    - app_get_slot
    - gpg_error
    - gpg_err_code
    - gpg_strerror
    - xfree
    - find_dobj_by_keyref
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_writecert (app_t app, ctrl_t ctrl,\n              const
      char *certrefstr,\n              gpg_error_t (*pincb)(void*, const char *, char
      **),\n              void *pincb_arg,\n              const unsigned char *cert,
      size_t certlen)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3525,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3535,1
    - Dst: app_get_serialno
      Src: /src/gnupg/scd/app-piv.c:3542,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:3545,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:3555,1
    - Dst: get_keygrip_by_tag
      Src: /src/gnupg/scd/app-piv.c:3556,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-piv.c:3561,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-piv.c:3567,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-piv.c:3578,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-piv.c:3583,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-piv.c:3588,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-piv.c:3592,1
    - Dst: send_keyinfo
      Src: /src/gnupg/scd/app-piv.c:3593,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3607,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3609,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:3612,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:3613,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 73
    argCount: 5
    argNames:
    - app
    - ctrl
    - action
    - want_keygripstr
    - capability
    argTypes:
    - app_t
    - ctrl_t
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3615
      start: 3508
    functionDepth: 5
    functionLinenumber: 3508
    functionLinenumberEnd: 3615
    functionName: do_with_keygrip
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 2
    functionsReached:
    - send_keyinfo
    - gpg_error_from_syserror
    - snprintf
    - app_get_serialno
    - get_keygrip_by_tag
    - gpg_error
    - strcmp
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_with_keygrip (app_t app, ctrl_t ctrl, int action,\n
      \                const char *want_keygripstr, int capability)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - app
    - ctrl
    argTypes:
    - app_t
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3632
      start: 3622
    functionDepth: 0
    functionLinenumber: 3622
    functionLinenumberEnd: 3632
    functionName: do_prep_reselect
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_prep_reselect (app_t app, ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3648,1
    - Dst: iso7816_select_application
      Src: /src/gnupg/scd/app-piv.c:3650,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:3650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - app
    - ctrl
    argTypes:
    - app_t
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3653
      start: 3637
    functionDepth: 3
    functionLinenumber: 3637
    functionLinenumberEnd: 3653
    functionName: do_reselect
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - app_get_slot
    - gpg_error
    - iso7816_select_application
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_reselect (app_t app, ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:3664,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - app
    - ctrl
    - aid
    - aidlen
    argTypes:
    - app_t
    - ctrl_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3668
      start: 3657
    functionDepth: 1
    functionLinenumber: 3657
    functionLinenumberEnd: 3668
    functionName: do_check_aid
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - memcmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_check_aid (app_t app, ctrl_t ctrl, const unsigned char
      *aid, size_t aidlen)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-piv.c:3676,1
    - Dst: iso7816_select_application_ext
      Src: /src/gnupg/scd/app-piv.c:3687,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-piv.c:3702,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-piv.c:3703,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:3706,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:3715,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-piv.c:3719,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:3723,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:3724,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:3727,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3728,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:3733,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3734,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:3739,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:3742,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3743,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:3746,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-piv.c:3749,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:3752,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-piv.c:3753,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-piv.c:3758,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:3761,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-piv.c:3769,1
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-piv.c:3774,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:3776,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-piv.c:3779,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-piv.c:3782,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-piv.c:3785,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-piv.c:3789,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-piv.c:3789,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-piv.c:3790,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-piv.c:3792,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-piv.c:3795,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-piv.c:3795,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-piv.c:3796,1
    - Dst: app_munge_serialno
      Src: /src/gnupg/scd/app-piv.c:3797,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-piv.c:3797,1
    - Dst: dump_all_do
      Src: /src/gnupg/scd/app-piv.c:3807,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:3830,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-piv.c:3831,1
    - Dst: do_deinit
      Src: /src/gnupg/scd/app-piv.c:3833,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 111
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3835
      start: 3673
    functionDepth: 3
    functionLinenumber: 3673
    functionLinenumberEnd: 3835
    functionName: app_select_piv
    functionSourceFile: /src/gnupg/scd/app-piv.c
    functionUses: 0
    functionsReached:
    - iso7816_select_application_ext
    - log_printhex
    - APP_CARD
    - log_error
    - find_tlv
    - gpg_error_from_syserror
    - dump_all_do
    - app_get_slot
    - gpg_error
    - memcmp
    - log_info
    - memcpy
    - xfree
    - xtrycalloc
    - get_one_do
    - do_deinit
    - xtrymalloc
    - app_munge_serialno
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t app_select_piv (app_t app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: set_error
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 69
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_error(e,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: IS_LOCKED
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_LOCKED(c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/command.c:130,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:130,1
    - Dst: spacep
      Src: /src/gnupg/scd/command.c:135,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/command.c:137,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/command.c:137,1
    - Dst: xtoi_2
      Src: /src/gnupg/scd/command.c:139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 147
    functionName: hex_to_buffer
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 1
    functionsReached:
    - hexdigitp
    - strlen
    - spacep
    - xtrymalloc
    - xtoi_2
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      hex_to_buffer (const char *string, size_t *r_length)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:158,1
    - Dst: IS_LOCKED
      Src: /src/gnupg/scd/command.c:162,1
    - Dst: card_reset
      Src: /src/gnupg/scd/command.c:163,1
    - Dst: card_unref_locked
      Src: /src/gnupg/scd/command.c:168,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:170,1
    - Dst: log_info
      Src: /src/gnupg/scd/command.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ctrl
    - send_reset
    - keep_lock
    argTypes:
    - ctrl_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 179
    functionName: do_reset
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - IS_LOCKED
    - card_get
    - card_reset
    - log_info
    - card_unref_locked
    - card_put
    linkageType: ''
    returnType: void
    signature: void do_reset (ctrl_t ctrl, int send_reset, int keep_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:186,1
    - Dst: do_reset
      Src: /src/gnupg/scd/command.c:188,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: reset_notify
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 8
    functionsReached:
    - has_option
    - assuan_get_pointer
    - do_reset
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t reset_notify (assuan_context_t ctx, char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:196,1
    - Dst: strcmp
      Src: /src/gnupg/scd/command.c:198,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:203,1
    - Dst: strtoull
      Src: /src/gnupg/scd/command.c:205,1
    - Dst: strtoul
      Src: /src/gnupg/scd/command.c:207,1
    - Dst: atoi
      Src: /src/gnupg/scd/command.c:210,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - key
    - value
    argTypes:
    - assuan_context_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 218
    functionName: option_handler
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 8
    functionsReached:
    - atoi
    - strtoull
    - strcmp
    - gpg_error
    - strtoul
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t option_handler (assuan_context_t ctx, const char *key,
      const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:229,1
    - Dst: IS_LOCKED
      Src: /src/gnupg/scd/command.c:231,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:232,1
    - Dst: select_application
      Src: /src/gnupg/scd/command.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 222
    functionDepth: 6
    functionLinenumber: 222
    functionLinenumberEnd: 238
    functionName: open_card
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - select_application
    - IS_LOCKED
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t open_card (ctrl_t ctrl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:250,1
    - Dst: hex_to_buffer
      Src: /src/gnupg/scd/command.c:253,1
    - Dst: check_application_conflict
      Src: /src/gnupg/scd/command.c:260,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/command.c:262,1
    - Dst: select_additional_application
      Src: /src/gnupg/scd/command.c:265,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:268,1
    - Dst: card_unref_locked
      Src: /src/gnupg/scd/command.c:277,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:278,1
    - Dst: select_application
      Src: /src/gnupg/scd/command.c:281,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:283,1
    - Dst: select_additional_application
      Src: /src/gnupg/scd/command.c:288,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:290,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:297,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 5
    argNames:
    - card_p
    - ctrl
    - apptypestr
    - serialno
    - opt_all
    argTypes:
    - card_t*
    - ctrl_t
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 242
    functionDepth: 6
    functionLinenumber: 242
    functionLinenumberEnd: 299
    functionName: open_card_with_request
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - check_application_conflict
    - select_additional_application
    - card_get
    - gpg_err_code
    - xfree
    - hex_to_buffer
    - card_unref_locked
    - select_application
    - card_put
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t open_card_with_request (card_t *card_p, ctrl_t ctrl,\n
      \                       const char *apptypestr, const char *serialno,\n                        int
      opt_all)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:329,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:334,1
    - Dst: IS_LOCKED
      Src: /src/gnupg/scd/command.c:338,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:339,1
    - Dst: has_option_name
      Src: /src/gnupg/scd/command.c:341,1
    - Dst: set_error
      Src: /src/gnupg/scd/command.c:344,1
    - Dst: spacep
      Src: /src/gnupg/scd/command.c:346,1
    - Dst: skip_options
      Src: /src/gnupg/scd/command.c:354,1
    - Dst: open_card_with_request
      Src: /src/gnupg/scd/command.c:358,1
    - Dst: card_get_serialno
      Src: /src/gnupg/scd/command.c:375,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:376,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:378,1
    - Dst: assuan_write_status
      Src: /src/gnupg/scd/command.c:380,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:381,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 326
    functionDepth: 7
    functionLinenumber: 326
    functionLinenumberEnd: 383
    functionName: cmd_serialno
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - IS_LOCKED
    - has_option_name
    - set_error
    - assuan_write_status
    - card_get_serialno
    - spacep
    - open_card_with_request
    - gpg_error
    - skip_options
    - xfree
    - has_option
    - card_put
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_serialno (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hex_to_buffer
      Src: /src/gnupg/scd/command.c:397,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/command.c:400,1
    - Dst: app_switch_current_card
      Src: /src/gnupg/scd/command.c:406,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ctrl
    - line
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 411
    functionName: switchcard_core
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - hex_to_buffer
    - xfree
    - app_switch_current_card
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t switchcard_core (ctrl_t ctrl, const char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:426,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:429,1
    - Dst: skip_options
      Src: /src/gnupg/scd/command.c:432,1
    - Dst: switchcard_core
      Src: /src/gnupg/scd/command.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 423
    functionDepth: 7
    functionLinenumber: 423
    functionLinenumberEnd: 435
    functionName: cmd_switchcard
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - switchcard_core
    - skip_options
    - open_card
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_switchcard (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:449,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:453,1
    - Dst: skip_options
      Src: /src/gnupg/scd/command.c:456,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:457,1
    - Dst: app_switch_active_app
      Src: /src/gnupg/scd/command.c:460,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:461,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 446
    functionDepth: 7
    functionLinenumber: 446
    functionLinenumberEnd: 467
    functionName: cmd_switchapp
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - app_switch_active_app
    - card_get
    - skip_options
    - gpg_error
    - open_card
    - card_put
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_switchapp (assuan_context_t ctx, char *line)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:549,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:551,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:552,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:553,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:554,1
    - Dst: has_option_name
      Src: /src/gnupg/scd/command.c:560,1
    - Dst: set_error
      Src: /src/gnupg/scd/command.c:564,1
    - Dst: spacep
      Src: /src/gnupg/scd/command.c:566,1
    - Dst: skip_options
      Src: /src/gnupg/scd/command.c:572,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:573,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:576,1
    - Dst: switchcard_core
      Src: /src/gnupg/scd/command.c:581,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:586,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:588,1
    - Dst: apdu_get_reader_name
      Src: /src/gnupg/scd/command.c:599,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:602,1
    - Dst: out_of_core
      Src: /src/gnupg/scd/command.c:603,1
    - Dst: send_status_direct
      Src: /src/gnupg/scd/command.c:605,1
    - Dst: card_get_serialno
      Src: /src/gnupg/scd/command.c:608,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:611,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:612,1
    - Dst: assuan_write_status
      Src: /src/gnupg/scd/command.c:615,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:618,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:619,1
    - Dst: out_of_core
      Src: /src/gnupg/scd/command.c:620,1
    - Dst: gpgrt_asprintf
      Src: /src/gnupg/scd/command.c:627,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:630,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:631,1
    - Dst: out_of_core
      Src: /src/gnupg/scd/command.c:632,1
    - Dst: assuan_inquire
      Src: /src/gnupg/scd/command.c:634,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:635,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/command.c:638,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:639,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:640,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:641,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:642,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:647,1
    - Dst: app_write_learn_status
      Src: /src/gnupg/scd/command.c:661,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:663,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 72
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 546
    functionDepth: 7
    functionLinenumber: 546
    functionLinenumberEnd: 665
    functionName: cmd_learn
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - strlen
    - assuan_inquire
    - has_option
    - assuan_get_pointer
    - set_error
    - assuan_write_status
    - log_error
    - card_get_serialno
    - skip_options
    - out_of_core
    - card_put
    - apdu_get_reader_name
    - app_write_learn_status
    - spacep
    - gpg_error
    - xfree
    - gpg_strerror
    - gpgrt_asprintf
    - switchcard_core
    - has_option_name
    - card_get
    - open_card
    - gpg_err_code
    - send_status_direct
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_learn (assuan_context_t ctx, char *line)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:676,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:683,1
    - Dst: xtrystrdup
      Src: /src/gnupg/scd/command.c:686,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/command.c:688,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:690,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:693,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:696,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:697,1
    - Dst: app_readcert
      Src: /src/gnupg/scd/command.c:700,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:702,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:702,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:703,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:704,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:708,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:709,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 673
    functionDepth: 7
    functionLinenumber: 673
    functionLinenumberEnd: 715
    functionName: cmd_readcert
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 2
    functionsReached:
    - app_readcert
    - assuan_send_data
    - strlen
    - gpg_error_from_syserror
    - log_error
    - card_get
    - xtrystrdup
    - gpg_error
    - open_card
    - xfree
    - gpg_strerror
    - card_put
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_readcert (assuan_context_t ctx, char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: app_readkey
      Src: /src/gnupg/scd/command.c:728,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/command.c:733,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/command.c:734,1
    - Dst: app_readcert
      Src: /src/gnupg/scd/command.c:740,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:742,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:742,1
    - Dst: app_help_pubkey_from_cert
      Src: /src/gnupg/scd/command.c:745,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:746,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:748,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:749,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:753,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:753,1
    - Dst: app_help_get_keygrip_string_pk
      Src: /src/gnupg/scd/command.c:760,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:765,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:766,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/command.c:772,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:773,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:774,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:777,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:779,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 6
    argNames:
    - card
    - ctrl
    - line
    - opt_info
    - pk_p
    - pklen_p
    argTypes:
    - card_t
    - ctrl_t
    - char*
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 718
    functionDepth: 6
    functionLinenumber: 718
    functionLinenumberEnd: 783
    functionName: do_readkey
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 2
    functionsReached:
    - app_readcert
    - log_error
    - app_help_pubkey_from_cert
    - strlen
    - send_status_info
    - gpg_strerror
    - gpg_err_code
    - xfree
    - app_help_get_keygrip_string_pk
    - app_readkey
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_readkey (card_t card, ctrl_t ctrl, const char *line,\n
      \           int opt_info, unsigned char **pk_p, size_t *pklen_p)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:796,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:807,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:810,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:812,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:814,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:816,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:818,1
    - Dst: skip_options
      Src: /src/gnupg/scd/command.c:821,1
    - Dst: xtrystrdup
      Src: /src/gnupg/scd/command.c:823,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/command.c:825,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:827,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:830,1
    - Dst: do_readkey
      Src: /src/gnupg/scd/command.c:833,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:834,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:837,1
    - Dst: es_fopenmem
      Src: /src/gnupg/scd/command.c:851,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/command.c:854,1
    - Dst: gcry_sexp_new
      Src: /src/gnupg/scd/command.c:858,1
    - Dst: es_fclose
      Src: /src/gnupg/scd/command.c:861,1
    - Dst: ssh_public_key_in_base64
      Src: /src/gnupg/scd/command.c:865,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/command.c:868,1
    - Dst: es_fclose
      Src: /src/gnupg/scd/command.c:869,1
    - Dst: es_fclose_snatch
      Src: /src/gnupg/scd/command.c:873,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/command.c:874,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:876,1
    - Dst: es_free
      Src: /src/gnupg/scd/command.c:877,1
    - Dst: gcry_sexp_new
      Src: /src/gnupg/scd/command.c:885,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/scd/command.c:889,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/command.c:890,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/command.c:893,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/command.c:894,1
    - Dst: log_assert
      Src: /src/gnupg/scd/command.c:897,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/scd/command.c:899,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/command.c:900,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:902,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:903,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:906,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:909,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:910,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 81
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 793
    functionDepth: 7
    functionLinenumber: 793
    functionLinenumberEnd: 912
    functionName: cmd_readkey
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - do_readkey
    - strlen
    - log_assert
    - has_option
    - gcry_sexp_sprint
    - xtrymalloc
    - assuan_get_pointer
    - es_fopenmem
    - es_free
    - ssh_public_key_in_base64
    - skip_options
    - gcry_sexp_release
    - card_put
    - gpg_error_from_syserror
    - xtrystrdup
    - gpg_error
    - xfree
    - gcry_sexp_new
    - es_fclose_snatch
    - assuan_send_data
    - es_fclose
    - card_get
    - open_card
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_readkey (assuan_context_t ctx, char *line)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:925,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:931,1
    - Dst: skip_options
      Src: /src/gnupg/scd/command.c:933,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:936,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/command.c:939,1
    - Dst: set_error
      Src: /src/gnupg/scd/command.c:942,1
    - Dst: set_error
      Src: /src/gnupg/scd/command.c:944,1
    - Dst: set_error
      Src: /src/gnupg/scd/command.c:946,1
    - Dst: set_error
      Src: /src/gnupg/scd/command.c:951,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/command.c:953,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/command.c:956,1
    - Dst: out_of_core
      Src: /src/gnupg/scd/command.c:958,1
    - Dst: memcpy
      Src: /src/gnupg/scd/command.c:962,1
    - Dst: xtoi_2
      Src: /src/gnupg/scd/command.c:968,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:970,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 974
    functionName: cmd_setdata
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - set_error
    - out_of_core
    - gpg_error
    - skip_options
    - xfree
    - memcpy
    - has_option
    - xtrymalloc
    - xtoi_2
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_setdata (assuan_context_t ctx, char *line)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/scd/command.c:995,1
    - Dst: gpgrt_asprintf
      Src: /src/gnupg/scd/command.c:996,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:998,1
    - Dst: gpg_err_code_from_errno
      Src: /src/gnupg/scd/command.c:998,1
    - Dst: assuan_inquire
      Src: /src/gnupg/scd/command.c:999,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1000,1
    - Dst: log_debug
      Src: /src/gnupg/scd/command.c:1005,1
    - Dst: assuan_inquire
      Src: /src/gnupg/scd/command.c:1006,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1010,1
    - Dst: log_debug
      Src: /src/gnupg/scd/command.c:1016,1
    - Dst: gpgrt_asprintf
      Src: /src/gnupg/scd/command.c:1018,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1020,1
    - Dst: gpg_err_code_from_errno
      Src: /src/gnupg/scd/command.c:1020,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/scd/command.c:1024,1
    - Dst: assuan_inquire
      Src: /src/gnupg/scd/command.c:1025,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/scd/command.c:1026,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1027,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1034,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1035,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - opaque
    - info
    - retstr
    argTypes:
    - void*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 1039
    functionName: pin_cb
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 4
    functionsReached:
    - assuan_end_confidential
    - assuan_inquire
    - assuan_begin_confidential
    - gpg_error
    - log_debug
    - xfree
    - gpgrt_asprintf
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t pin_cb (void *opaque, const char *info, char **retstr)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:1049,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:1058,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:1060,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:1062,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:1064,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:1066,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:1068,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:1070,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:1072,1
    - Dst: strstr
      Src: /src/gnupg/scd/command.c:1074,1
    - Dst: set_error
      Src: /src/gnupg/scd/command.c:1077,1
    - Dst: skip_options
      Src: /src/gnupg/scd/command.c:1079,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:1081,1
    - Dst: xtrystrdup
      Src: /src/gnupg/scd/command.c:1087,1
    - Dst: out_of_core
      Src: /src/gnupg/scd/command.c:1089,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:1093,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:1096,1
    - Dst: app_sign
      Src: /src/gnupg/scd/command.c:1099,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:1104,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1107,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1109,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:1112,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:1112,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:1116,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1117,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1046
    functionDepth: 7
    functionLinenumber: 1046
    functionLinenumberEnd: 1123
    functionName: cmd_pksign
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - set_error
    - strstr
    - strlen
    - log_error
    - card_get
    - xtrystrdup
    - skip_options
    - gpg_error
    - open_card
    - xfree
    - has_option
    - gpg_strerror
    - app_sign
    - out_of_core
    - card_put
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_pksign (assuan_context_t ctx, char *line)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:1131,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:1140,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:1143,1
    - Dst: skip_options
      Src: /src/gnupg/scd/command.c:1146,1
    - Dst: xtrystrdup
      Src: /src/gnupg/scd/command.c:1151,1
    - Dst: out_of_core
      Src: /src/gnupg/scd/command.c:1153,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:1157,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1162,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:1167,1
    - Dst: app_auth
      Src: /src/gnupg/scd/command.c:1170,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:1173,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1176,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1178,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:1181,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:1181,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:1186,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1187,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1128
    functionDepth: 7
    functionLinenumber: 1128
    functionLinenumberEnd: 1191
    functionName: cmd_pkauth
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - strlen
    - log_error
    - card_get
    - xtrystrdup
    - skip_options
    - app_auth
    - open_card
    - xfree
    - has_option
    - gpg_error
    - gpg_strerror
    - out_of_core
    - card_put
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_pkauth (assuan_context_t ctx, char *line)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:1199,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:1208,1
    - Dst: xtrystrdup
      Src: /src/gnupg/scd/command.c:1211,1
    - Dst: out_of_core
      Src: /src/gnupg/scd/command.c:1213,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:1217,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:1220,1
    - Dst: app_decipher
      Src: /src/gnupg/scd/command.c:1223,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:1226,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1229,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1231,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:1234,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:1234,1
    - Dst: send_status_direct
      Src: /src/gnupg/scd/command.c:1244,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:1245,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1246,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1196
    functionDepth: 7
    functionLinenumber: 1196
    functionLinenumberEnd: 1252
    functionName: cmd_pkdecrypt
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - app_decipher
    - assuan_send_data
    - strlen
    - log_error
    - card_get
    - xtrystrdup
    - gpg_error
    - open_card
    - xfree
    - gpg_strerror
    - send_status_direct
    - out_of_core
    - card_put
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_pkdecrypt (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:1271,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:1277,1
    - Dst: spacep
      Src: /src/gnupg/scd/command.c:1281,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:1286,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:1289,1
    - Dst: app_getattr
      Src: /src/gnupg/scd/command.c:1294,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:1295,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1268
    functionDepth: 7
    functionLinenumber: 1268
    functionLinenumberEnd: 1301
    functionName: cmd_getattr
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - app_getattr
    - strlen
    - spacep
    - card_get
    - gpg_error
    - open_card
    - card_put
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_getattr (assuan_context_t ctx, char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:1324,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:1333,1
    - Dst: skip_options
      Src: /src/gnupg/scd/command.c:1334,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:1336,1
    - Dst: xtrystrdup
      Src: /src/gnupg/scd/command.c:1341,1
    - Dst: out_of_core
      Src: /src/gnupg/scd/command.c:1343,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:1345,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1348,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1349,1
    - Dst: spacep
      Src: /src/gnupg/scd/command.c:1353,1
    - Dst: spacep
      Src: /src/gnupg/scd/command.c:1357,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/scd/command.c:1363,1
    - Dst: assuan_inquire
      Src: /src/gnupg/scd/command.c:1364,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/scd/command.c:1365,1
    - Dst: app_setattr
      Src: /src/gnupg/scd/command.c:1368,1
    - Dst: wipememory
      Src: /src/gnupg/scd/command.c:1370,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1371,1
    - Dst: percent_plus_unescape_inplace
      Src: /src/gnupg/scd/command.c:1377,1
    - Dst: app_setattr
      Src: /src/gnupg/scd/command.c:1378,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:1382,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1383,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - ctx
    - orig_line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1321
    functionDepth: 7
    functionLinenumber: 1321
    functionLinenumberEnd: 1385
    functionName: cmd_setattr
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - assuan_end_confidential
    - assuan_begin_confidential
    - spacep
    - card_get
    - assuan_inquire
    - wipememory
    - xtrystrdup
    - skip_options
    - gpg_error
    - open_card
    - xfree
    - has_option
    - app_setattr
    - percent_plus_unescape_inplace
    - out_of_core
    - card_put
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_setattr (assuan_context_t ctx, char *orig_line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:1402,1
    - Dst: skip_options
      Src: /src/gnupg/scd/command.c:1409,1
    - Dst: set_error
      Src: /src/gnupg/scd/command.c:1412,1
    - Dst: spacep
      Src: /src/gnupg/scd/command.c:1414,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:1418,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:1421,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1423,1
    - Dst: xtrystrdup
      Src: /src/gnupg/scd/command.c:1425,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:1428,1
    - Dst: out_of_core
      Src: /src/gnupg/scd/command.c:1429,1
    - Dst: assuan_inquire
      Src: /src/gnupg/scd/command.c:1433,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:1437,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1438,1
    - Dst: app_writecert
      Src: /src/gnupg/scd/command.c:1443,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:1445,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1446,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1447,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1399
    functionDepth: 7
    functionLinenumber: 1399
    functionLinenumberEnd: 1450
    functionName: cmd_writecert
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 2
    functionsReached:
    - set_error
    - app_writecert
    - assuan_inquire
    - spacep
    - card_get
    - xtrystrdup
    - skip_options
    - gpg_error
    - open_card
    - xfree
    - out_of_core
    - card_put
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_writecert (assuan_context_t ctx, char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:1470,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:1473,1
    - Dst: skip_options
      Src: /src/gnupg/scd/command.c:1478,1
    - Dst: set_error
      Src: /src/gnupg/scd/command.c:1481,1
    - Dst: spacep
      Src: /src/gnupg/scd/command.c:1483,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:1487,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:1490,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1492,1
    - Dst: xtrystrdup
      Src: /src/gnupg/scd/command.c:1494,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:1497,1
    - Dst: out_of_core
      Src: /src/gnupg/scd/command.c:1498,1
    - Dst: assuan_begin_confidential
      Src: /src/gnupg/scd/command.c:1502,1
    - Dst: assuan_inquire
      Src: /src/gnupg/scd/command.c:1503,1
    - Dst: assuan_end_confidential
      Src: /src/gnupg/scd/command.c:1504,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1507,1
    - Dst: app_writekey
      Src: /src/gnupg/scd/command.c:1512,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:1514,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1515,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1516,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1467
    functionDepth: 7
    functionLinenumber: 1467
    functionLinenumberEnd: 1519
    functionName: cmd_writekey
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 2
    functionsReached:
    - set_error
    - assuan_end_confidential
    - assuan_begin_confidential
    - spacep
    - card_get
    - assuan_inquire
    - xtrystrdup
    - skip_options
    - gpg_error
    - open_card
    - xfree
    - has_option
    - app_writekey
    - out_of_core
    - card_put
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_writekey (assuan_context_t ctx, char *line)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:1553,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:1563,1
    - Dst: has_option_name
      Src: /src/gnupg/scd/command.c:1565,1
    - Dst: set_error
      Src: /src/gnupg/scd/command.c:1568,1
    - Dst: isotime2epoch
      Src: /src/gnupg/scd/command.c:1569,1
    - Dst: set_error
      Src: /src/gnupg/scd/command.c:1571,1
    - Dst: get_option_value
      Src: /src/gnupg/scd/command.c:1576,1
    - Dst: skip_options
      Src: /src/gnupg/scd/command.c:1580,1
    - Dst: set_error
      Src: /src/gnupg/scd/command.c:1583,1
    - Dst: spacep
      Src: /src/gnupg/scd/command.c:1587,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:1591,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:1594,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1597,1
    - Dst: xtrystrdup
      Src: /src/gnupg/scd/command.c:1601,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/command.c:1604,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:1605,1
    - Dst: app_genkey
      Src: /src/gnupg/scd/command.c:1608,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:1611,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1614,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1615,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1550
    functionDepth: 7
    functionLinenumber: 1550
    functionLinenumberEnd: 1617
    functionName: cmd_genkey
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - get_option_value
    - has_option_name
    - set_error
    - gpg_error_from_syserror
    - spacep
    - card_get
    - xtrystrdup
    - skip_options
    - gpg_error
    - open_card
    - xfree
    - has_option
    - app_genkey
    - isotime2epoch
    - card_put
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_genkey (assuan_context_t ctx, char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:1631,1
    - Dst: set_error
      Src: /src/gnupg/scd/command.c:1638,1
    - Dst: strtoul
      Src: /src/gnupg/scd/command.c:1640,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:1642,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:1645,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1647,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/command.c:1649,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:1652,1
    - Dst: out_of_core
      Src: /src/gnupg/scd/command.c:1653,1
    - Dst: app_get_challenge
      Src: /src/gnupg/scd/command.c:1656,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:1657,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:1660,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1661,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1664,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1628
    functionDepth: 7
    functionLinenumber: 1628
    functionLinenumberEnd: 1667
    functionName: cmd_random
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - app_get_challenge
    - set_error
    - out_of_core
    - card_get
    - gpg_error
    - open_card
    - xfree
    - strtoul
    - xtrymalloc
    - card_put
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_random (assuan_context_t ctx, char *line)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:1685,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:1692,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:1694,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:1696,1
    - Dst: skip_options
      Src: /src/gnupg/scd/command.c:1699,1
    - Dst: set_error
      Src: /src/gnupg/scd/command.c:1702,1
    - Dst: spacep
      Src: /src/gnupg/scd/command.c:1704,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:1709,1
    - Dst: set_error
      Src: /src/gnupg/scd/command.c:1714,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:1717,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:1720,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1722,1
    - Dst: xtrystrdup
      Src: /src/gnupg/scd/command.c:1724,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:1727,1
    - Dst: out_of_core
      Src: /src/gnupg/scd/command.c:1728,1
    - Dst: app_change_pin
      Src: /src/gnupg/scd/command.c:1730,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:1731,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:1733,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:1733,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1734,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1682
    functionDepth: 7
    functionLinenumber: 1682
    functionLinenumberEnd: 1737
    functionName: cmd_passwd
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 2
    functionsReached:
    - set_error
    - strlen
    - log_error
    - spacep
    - card_get
    - xtrystrdup
    - skip_options
    - gpg_error
    - open_card
    - app_change_pin
    - has_option
    - gpg_strerror
    - xfree
    - out_of_core
    - card_put
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_passwd (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:1779,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:1784,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:1787,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1789,1
    - Dst: xtrystrdup
      Src: /src/gnupg/scd/command.c:1794,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:1797,1
    - Dst: out_of_core
      Src: /src/gnupg/scd/command.c:1798,1
    - Dst: app_check_pin
      Src: /src/gnupg/scd/command.c:1801,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:1802,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:1803,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:1805,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:1805,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1776
    functionDepth: 7
    functionLinenumber: 1776
    functionLinenumberEnd: 1808
    functionName: cmd_checkpin
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - log_error
    - card_get
    - xtrystrdup
    - gpg_error
    - open_card
    - xfree
    - gpg_strerror
    - app_check_pin
    - out_of_core
    - card_put
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_checkpin (assuan_context_t ctx, char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:1824,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1831,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:1837,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/scd/command.c:1840,1
    - Dst: send_status_printf
      Src: /src/gnupg/scd/command.c:1844,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:1851,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:1851,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1821
    functionDepth: 1
    functionLinenumber: 1821
    functionLinenumberEnd: 1853
    functionName: cmd_lock
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - log_error
    - send_status_printf
    - gpg_error
    - gpg_strerror
    - has_option
    - gnupg_sleep
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_lock (assuan_context_t ctx, char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:1863,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1871,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1876,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:1879,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:1879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1860
    functionDepth: 1
    functionLinenumber: 1860
    functionLinenumberEnd: 1881
    functionName: cmd_unlock
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - gpg_strerror
    - assuan_get_pointer
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_unlock (assuan_context_t ctx, char *line)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:1922,1
    - Dst: strcmp
      Src: /src/gnupg/scd/command.c:1926,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:1929,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:1929,1
    - Dst: strcmp
      Src: /src/gnupg/scd/command.c:1931,1
    - Dst: snprintf
      Src: /src/gnupg/scd/command.c:1935,1
    - Dst: getpid
      Src: /src/gnupg/scd/command.c:1935,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:1936,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:1936,1
    - Dst: strncmp
      Src: /src/gnupg/scd/command.c:1938,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1947,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1954,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1961,1
    - Dst: command_has_option
      Src: /src/gnupg/scd/command.c:1965,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1966,1
    - Dst: strcmp
      Src: /src/gnupg/scd/command.c:1971,1
    - Dst: scd_get_socket_name
      Src: /src/gnupg/scd/command.c:1973,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:1975,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:1975,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:1977,1
    - Dst: strcmp
      Src: /src/gnupg/scd/command.c:1979,1
    - Dst: snprintf
      Src: /src/gnupg/scd/command.c:1983,1
    - Dst: get_active_connection_count
      Src: /src/gnupg/scd/command.c:1983,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:1984,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:1984,1
    - Dst: strcmp
      Src: /src/gnupg/scd/command.c:1986,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:1990,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:1995,1
    - Dst: strcmp
      Src: /src/gnupg/scd/command.c:1997,1
    - Dst: ccid_get_reader_list
      Src: /src/gnupg/scd/command.c:2000,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:2006,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:2006,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:2008,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:2009,1
    - Dst: strcmp
      Src: /src/gnupg/scd/command.c:2011,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:2012,1
    - Dst: strcmp
      Src: /src/gnupg/scd/command.c:2013,1
    - Dst: get_supported_applications
      Src: /src/gnupg/scd/command.c:2015,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:2017,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:2017,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:2020,1
    - Dst: strcmp
      Src: /src/gnupg/scd/command.c:2022,1
    - Dst: app_send_card_list
      Src: /src/gnupg/scd/command.c:2025,1
    - Dst: strcmp
      Src: /src/gnupg/scd/command.c:2027,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:2029,1
    - Dst: app_send_active_apps
      Src: /src/gnupg/scd/command.c:2035,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:2036,1
    - Dst: strcmp
      Src: /src/gnupg/scd/command.c:2039,1
    - Dst: app_send_active_apps
      Src: /src/gnupg/scd/command.c:2041,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/scd/command.c:2043,1
    - Dst: strtoul
      Src: /src/gnupg/scd/command.c:2045,1
    - Dst: app_openpgp_manufacturer
      Src: /src/gnupg/scd/command.c:2046,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:2047,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:2047,1
    - Dst: has_leading_keyword
      Src: /src/gnupg/scd/command.c:2049,1
    - Dst: strtoul
      Src: /src/gnupg/scd/command.c:2051,1
    - Dst: apdu_strerror
      Src: /src/gnupg/scd/command.c:2052,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:2053,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:2053,1
    - Dst: strcmp
      Src: /src/gnupg/scd/command.c:2055,1
    - Dst: app_dump_state
      Src: /src/gnupg/scd/command.c:2057,1
    - Dst: set_error
      Src: /src/gnupg/scd/command.c:2060,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 88
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 1919
    functionDepth: 7
    functionLinenumber: 1919
    functionLinenumberEnd: 2062
    functionName: cmd_getinfo
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - scd_get_socket_name
    - strlen
    - get_active_connection_count
    - app_dump_state
    - assuan_get_pointer
    - set_error
    - app_send_card_list
    - strncmp
    - strtoul
    - card_put
    - ccid_get_reader_list
    - apdu_strerror
    - command_has_option
    - strcmp
    - gpg_error
    - xfree
    - getpid
    - assuan_send_data
    - snprintf
    - card_get
    - app_openpgp_manufacturer
    - open_card
    - has_leading_keyword
    - get_supported_applications
    - app_send_active_apps
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_getinfo (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:2078,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:2079,1
    - Dst: card_unref_locked
      Src: /src/gnupg/scd/command.c:2087,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:2088,1
    - Dst: log_info
      Src: /src/gnupg/scd/command.c:2093,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2075
    functionDepth: 3
    functionLinenumber: 2075
    functionLinenumberEnd: 2096
    functionName: cmd_restart
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - card_get
    - log_info
    - card_unref_locked
    - card_put
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_restart (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:2106,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:2111,1
    - Dst: apdu_disconnect
      Src: /src/gnupg/scd/command.c:2114,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:2115,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:2119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2103
    functionDepth: 3
    functionLinenumber: 2103
    functionLinenumberEnd: 2120
    functionName: cmd_disconnect
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - card_get
    - gpg_error
    - apdu_disconnect
    - card_put
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_disconnect (assuan_context_t ctx, char *line)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:2146,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:2156,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:2158,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:2161,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:2162,1
    - Dst: has_option_name
      Src: /src/gnupg/scd/command.c:2164,1
    - Dst: strtoul
      Src: /src/gnupg/scd/command.c:2167,1
    - Dst: skip_options
      Src: /src/gnupg/scd/command.c:2174,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:2176,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:2179,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:2181,1
    - Dst: apdu_get_atr
      Src: /src/gnupg/scd/command.c:2189,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:2192,1
    - Dst: atr_dump
      Src: /src/gnupg/scd/command.c:2199,1
    - Dst: strchr
      Src: /src/gnupg/scd/command.c:2202,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:2204,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:2206,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:2209,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:2209,1
    - Dst: es_free
      Src: /src/gnupg/scd/command.c:2210,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:2213,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:2220,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:2223,1
    - Dst: bin2hex
      Src: /src/gnupg/scd/command.c:2229,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/command.c:2230,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:2230,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:2232,1
    - Dst: hex_to_buffer
      Src: /src/gnupg/scd/command.c:2235,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/command.c:2238,1
    - Dst: apdu_send_direct
      Src: /src/gnupg/scd/command.c:2247,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:2252,1
    - Dst: apdu_strerror
      Src: /src/gnupg/scd/command.c:2252,1
    - Dst: iso7816_map_sw
      Src: /src/gnupg/scd/command.c:2253,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:2257,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:2258,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:2261,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:2264,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2143
    functionDepth: 7
    functionLinenumber: 2143
    functionLinenumberEnd: 2266
    functionName: cmd_apdu
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 2
    functionsReached:
    - strlen
    - has_option
    - assuan_get_pointer
    - iso7816_map_sw
    - apdu_send_direct
    - es_free
    - log_error
    - send_status_info
    - skip_options
    - strtoul
    - card_put
    - apdu_strerror
    - gpg_error_from_syserror
    - apdu_get_atr
    - gpg_error
    - strchr
    - xfree
    - hex_to_buffer
    - assuan_send_data
    - has_option_name
    - atr_dump
    - bin2hex
    - card_get
    - open_card
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_apdu (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:2276,1
    - Dst: assuan_set_flag
      Src: /src/gnupg/scd/command.c:2281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2283
      start: 2273
    functionDepth: 1
    functionLinenumber: 2273
    functionLinenumberEnd: 2283
    functionName: cmd_killscd
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - assuan_set_flag
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_killscd (assuan_context_t ctx, char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:2319,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:2322,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:2326,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:2328,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:2330,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:2332,1
    - Dst: skip_options
      Src: /src/gnupg/scd/command.c:2335,1
    - Dst: app_do_with_keygrip
      Src: /src/gnupg/scd/command.c:2342,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:2345,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2312
    functionDepth: 3
    functionLinenumber: 2312
    functionLinenumberEnd: 2347
    functionName: cmd_keyinfo
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - app_do_with_keygrip
    - gpg_error
    - skip_options
    - has_option
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_keyinfo (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtryasprintf
      Src: /src/gnupg/scd/command.c:2360,1
    - Dst: assuan_write_status
      Src: /src/gnupg/scd/command.c:2370,1
    - Dst: assuan_send_data
      Src: /src/gnupg/scd/command.c:2372,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:2372,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:2374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - ctrl
    - data
    - keygrip_str
    - serialno
    - idstr
    - usage
    argTypes:
    - ctrl_t
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2353
    functionDepth: 2
    functionLinenumber: 2353
    functionLinenumberEnd: 2376
    functionName: send_keyinfo
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 2
    functionsReached:
    - assuan_send_data
    - strlen
    - assuan_write_status
    - xtryasprintf
    - xfree
    linkageType: ''
    returnType: void
    signature: "void send_keyinfo (ctrl_t ctrl, int data, const char *keygrip_str,\n
      \             const char *serialno, const char *idstr, const char *usage)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assuan_get_pointer
      Src: /src/gnupg/scd/command.c:2401,1
    - Dst: has_option
      Src: /src/gnupg/scd/command.c:2406,1
    - Dst: app_send_devinfo
      Src: /src/gnupg/scd/command.c:2413,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/command.c:2419,1
    - Dst: open_card
      Src: /src/gnupg/scd/command.c:2428,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/command.c:2429,1
    - Dst: card_get
      Src: /src/gnupg/scd/command.c:2434,1
    - Dst: card_unref_locked
      Src: /src/gnupg/scd/command.c:2440,1
    - Dst: card_put
      Src: /src/gnupg/scd/command.c:2441,1
    - Dst: app_send_devinfo
      Src: /src/gnupg/scd/command.c:2445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2398
    functionDepth: 7
    functionLinenumber: 2398
    functionLinenumberEnd: 2449
    functionName: cmd_devinfo
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - app_send_devinfo
    - card_get
    - open_card
    - gpg_err_code
    - has_option
    - card_unref_locked
    - card_put
    - assuan_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_devinfo (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/scd/command.c:2455,1
    - Dst: strcmp
      Src: /src/gnupg/scd/command.c:2457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cmd
    - cmdopt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2452
    functionDepth: 0
    functionLinenumber: 2452
    functionLinenumberEnd: 2462
    functionName: command_has_option
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 4
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int command_has_option (const char *cmd, const char *cmdopt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_register_command
      Src: /src/gnupg/scd/command.c:2509,1
    - Dst: assuan_set_hello_line
      Src: /src/gnupg/scd/command.c:2514,1
    - Dst: assuan_register_reset_notify
      Src: /src/gnupg/scd/command.c:2516,1
    - Dst: assuan_register_option_handler
      Src: /src/gnupg/scd/command.c:2517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2519
      start: 2466
    functionDepth: 1
    functionLinenumber: 2466
    functionLinenumberEnd: 2519
    functionName: register_commands
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 8
    functionsReached:
    - assuan_register_reset_notify
    - assuan_register_option_handler
    - assuan_register_command
    - assuan_set_hello_line
    linkageType: ''
    returnType: int
    signature: int register_commands (assuan_context_t ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assuan_new
      Src: /src/gnupg/scd/command.c:2531,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:2534,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:2535,1
    - Dst: scd_exit
      Src: /src/gnupg/scd/command.c:2536,1
    - Dst: assuan_fdopen
      Src: /src/gnupg/scd/command.c:2543,1
    - Dst: assuan_fdopen
      Src: /src/gnupg/scd/command.c:2544,1
    - Dst: assuan_init_pipe_server
      Src: /src/gnupg/scd/command.c:2545,1
    - Dst: assuan_init_socket_server
      Src: /src/gnupg/scd/command.c:2549,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:2554,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:2555,1
    - Dst: scd_exit
      Src: /src/gnupg/scd/command.c:2556,1
    - Dst: register_commands
      Src: /src/gnupg/scd/command.c:2558,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:2561,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:2562,1
    - Dst: scd_exit
      Src: /src/gnupg/scd/command.c:2563,1
    - Dst: assuan_set_pointer
      Src: /src/gnupg/scd/command.c:2565,1
    - Dst: xcalloc
      Src: /src/gnupg/scd/command.c:2569,1
    - Dst: assuan_accept
      Src: /src/gnupg/scd/command.c:2578,1
    - Dst: log_info
      Src: /src/gnupg/scd/command.c:2585,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:2585,1
    - Dst: assuan_process
      Src: /src/gnupg/scd/command.c:2589,1
    - Dst: log_info
      Src: /src/gnupg/scd/command.c:2592,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:2592,1
    - Dst: do_reset
      Src: /src/gnupg/scd/command.c:2598,1
    - Dst: BUG
      Src: /src/gnupg/scd/command.c:2611,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:2615,1
    - Dst: assuan_release
      Src: /src/gnupg/scd/command.c:2619,1
    - Dst: scd_exit
      Src: /src/gnupg/scd/command.c:2622,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 2
    argNames:
    - ctrl
    - fd
    argTypes:
    - ctrl_t
    - gnupg_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2524
    functionDepth: 4
    functionLinenumber: 2524
    functionLinenumberEnd: 2623
    functionName: scd_command_handler
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - assuan_new
    - scd_exit
    - log_error
    - assuan_release
    - assuan_accept
    - xcalloc
    - do_reset
    - BUG
    - assuan_init_socket_server
    - gpg_strerror
    - register_commands
    - assuan_fdopen
    - log_info
    - xfree
    - assuan_set_pointer
    - assuan_process
    - assuan_init_pipe_server
    linkageType: ''
    returnType: void
    signature: void scd_command_handler (ctrl_t ctrl, gnupg_fd_t fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/scd/command.c:2639,1
    - Dst: va_arg
      Src: /src/gnupg/scd/command.c:2643,1
    - Dst: DIM
      Src: /src/gnupg/scd/command.c:2644,1
    - Dst: va_arg
      Src: /src/gnupg/scd/command.c:2646,1
    - Dst: DIM
      Src: /src/gnupg/scd/command.c:2654,1
    - Dst: sprintf
      Src: /src/gnupg/scd/command.c:2659,1
    - Dst: assuan_write_status
      Src: /src/gnupg/scd/command.c:2670,1
    - Dst: va_end
      Src: /src/gnupg/scd/command.c:2672,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - ctrl
    - keyword
    argTypes:
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2673
      start: 2629
    functionDepth: 1
    functionLinenumber: 2629
    functionLinenumberEnd: 2673
    functionName: send_status_info
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 12
    functionsReached:
    - va_end
    - assuan_write_status
    - sprintf
    - DIM
    - va_start
    - va_arg
    linkageType: ''
    returnType: void
    signature: void send_status_info (ctrl_t ctrl, const char *keyword, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/scd/command.c:2682,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:2684,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:2685,1
    - Dst: assuan_write_status
      Src: /src/gnupg/scd/command.c:2687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - keyword
    - args
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2688
      start: 2677
    functionDepth: 1
    functionLinenumber: 2677
    functionLinenumberEnd: 2688
    functionName: send_status_direct
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 9
    functionsReached:
    - assuan_write_status
    - gpg_error
    - strchr
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t send_status_direct (ctrl_t ctrl, const char *keyword, const
      char *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/scd/command.c:2704,1
    - Dst: vprint_assuan_status
      Src: /src/gnupg/scd/command.c:2705,1
    - Dst: va_end
      Src: /src/gnupg/scd/command.c:2706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ctrl
    - keyword
    - format
    argTypes:
    - ctrl_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2708
      start: 2694
    functionDepth: 2
    functionLinenumber: 2694
    functionLinenumberEnd: 2708
    functionName: send_status_printf
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 3
    functionsReached:
    - va_end
    - va_start
    - vprint_assuan_status
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t send_status_printf (ctrl_t ctrl, const char *keyword, const
      char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_randomize
      Src: /src/gnupg/scd/command.c:2724,1
    - Dst: gcry_cipher_setkey
      Src: /src/gnupg/scd/command.c:2728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hd
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2716
    functionDepth: 1
    functionLinenumber: 2716
    functionLinenumberEnd: 2729
    functionName: set_key_for_pincache
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_setkey
    - gcry_randomize
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t set_key_for_pincache (gcry_cipher_hd_t hd)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnupg/scd/command.c:2775,1
    - Dst: xtrycalloc_secure
      Src: /src/gnupg/scd/command.c:2790,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/command.c:2793,1
    - Dst: memcpy
      Src: /src/gnupg/scd/command.c:2796,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/scd/command.c:2800,1
    - Dst: set_key_for_pincache
      Src: /src/gnupg/scd/command.c:2803,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/command.c:2808,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/command.c:2811,1
    - Dst: gcry_cipher_encrypt
      Src: /src/gnupg/scd/command.c:2815,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/scd/command.c:2819,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:2821,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:2823,1
    - Dst: bin2hex
      Src: /src/gnupg/scd/command.c:2826,1
    - Dst: strlen
      Src: /src/gnupg/scd/command.c:2826,1
    - Dst: send_status_direct
      Src: /src/gnupg/scd/command.c:2829,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:2832,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:2833,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/scd/command.c:2834,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:2836,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:2836,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 6
    argNames:
    - ctrl
    - slot
    - appname
    - pinref
    - pin
    - pinlen
    argTypes:
    - ctrl_t
    - int
    - char*
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2837
      start: 2738
    functionDepth: 2
    functionLinenumber: 2738
    functionLinenumberEnd: 2837
    functionName: pincache_put
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 10
    functionsReached:
    - xtrycalloc_secure
    - gcry_cipher_open
    - xtrymalloc
    - gpg_error_from_syserror
    - strlen
    - snprintf
    - log_error
    - bin2hex
    - gcry_cipher_encrypt
    - xfree
    - set_key_for_pincache
    - send_status_direct
    - gpg_strerror
    - memcpy
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: "void pincache_put (ctrl_t ctrl, int slot, const char *appname, const
      char *pinref,\n              const char *pin, unsigned int pinlen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:2862,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:2867,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:2868,1
    - Dst: snprintf
      Src: /src/gnupg/scd/command.c:2872,1
    - Dst: assuan_inquire
      Src: /src/gnupg/scd/command.c:2877,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/command.c:2879,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:2881,1
    - Dst: log_info
      Src: /src/gnupg/scd/command.c:2882,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:2887,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:2888,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:2893,1
    - Dst: hex2str
      Src: /src/gnupg/scd/command.c:2898,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/command.c:2900,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:2901,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:2902,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/command.c:2908,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/scd/command.c:2913,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/command.c:2916,1
    - Dst: gcry_cipher_open
      Src: /src/gnupg/scd/command.c:2920,1
    - Dst: set_key_for_pincache
      Src: /src/gnupg/scd/command.c:2923,1
    - Dst: gcry_cipher_decrypt
      Src: /src/gnupg/scd/command.c:2927,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:2931,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/command.c:2932,1
    - Dst: gcry_cipher_close
      Src: /src/gnupg/scd/command.c:2940,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:2941,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:2942,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 68
    argCount: 5
    argNames:
    - ctrl
    - slot
    - appname
    - pinref
    - r_pin
    argTypes:
    - ctrl_t
    - int
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2944
      start: 2847
    functionDepth: 2
    functionLinenumber: 2847
    functionLinenumberEnd: 2944
    functionName: pincache_get
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 2
    functionsReached:
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - log_error
    - gpg_error_from_syserror
    - snprintf
    - assuan_inquire
    - xtrymalloc_secure
    - gpg_error
    - gpg_err_code
    - log_info
    - gpg_strerror
    - set_key_for_pincache
    - xfree
    - hex2str
    - gcry_cipher_close
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t pincache_get (ctrl_t ctrl, int slot, const char *appname,
      const char *pinref,\n              char **r_pin)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_inquire
      Src: /src/gnupg/scd/command.c:2967,1
    - Dst: xfree
      Src: /src/gnupg/scd/command.c:2969,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - opaque
    - 'on'
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2972
      start: 2947
    functionDepth: 1
    functionLinenumber: 2947
    functionLinenumberEnd: 2972
    functionName: popup_prompt
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 0
    functionsReached:
    - assuan_inquire
    - xfree
    linkageType: ''
    returnType: void
    signature: void popup_prompt (void *opaque, int on)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assuan_write_status
      Src: /src/gnupg/scd/command.c:3005,1
    - Dst: assuan_write_status
      Src: /src/gnupg/scd/command.c:3007,1
    - Dst: card_unref_locked
      Src: /src/gnupg/scd/command.c:3024,1
    - Dst: log_info
      Src: /src/gnupg/scd/command.c:3038,1
    - Dst: log_info
      Src: /src/gnupg/scd/command.c:3044,1
    - Dst: SetEvent
      Src: /src/gnupg/scd/command.c:3046,1
    - Dst: log_error
      Src: /src/gnupg/scd/command.c:3047,1
    - Dst: w32_strerror
      Src: /src/gnupg/scd/command.c:3048,1
    - Dst: DIM
      Src: /src/gnupg/scd/command.c:3049,1
    - Dst: assuan_get_pid
      Src: /src/gnupg/scd/command.c:3056,1
    - Dst: log_info
      Src: /src/gnupg/scd/command.c:3068,1
    - Dst: log_info
      Src: /src/gnupg/scd/command.c:3074,1
    - Dst: kill
      Src: /src/gnupg/scd/command.c:3076,1
    - Dst: DIM
      Src: /src/gnupg/scd/command.c:3077,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 55
    argCount: 2
    argNames:
    - card
    - removal
    argTypes:
    - card_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3088
      start: 2985
    functionDepth: 1
    functionLinenumber: 2985
    functionLinenumberEnd: 3088
    functionName: send_client_notifications
    functionSourceFile: /src/gnupg/scd/command.c
    functionUses: 1
    functionsReached:
    - SetEvent
    - log_error
    - assuan_write_status
    - assuan_get_pid
    - DIM
    - kill
    - log_info
    - w32_strerror
    - card_unref_locked
    linkageType: ''
    returnType: void
    signature: void send_client_notifications (card_t card, int removal)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: app_help_read_length_of_cert
      Src: /src/gnupg/scd/app-dinsig.c:102,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-dinsig.c:102,1
    - Dst: sprintf
      Src: /src/gnupg/scd/app-dinsig.c:106,1
    - Dst: sprintf
      Src: /src/gnupg/scd/app-dinsig.c:107,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-dinsig.c:108,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-dinsig.c:109,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-dinsig.c:110,1
    - Dst: iso7816_read_binary
      Src: /src/gnupg/scd/app-dinsig.c:115,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-dinsig.c:115,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-dinsig.c:119,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-dinsig.c:120,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/scd/app-dinsig.c:124,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-dinsig.c:127,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/scd/app-dinsig.c:130,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-dinsig.c:131,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-dinsig.c:134,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-dinsig.c:135,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/scd/app-dinsig.c:136,1
    - Dst: app_help_get_keygrip_string
      Src: /src/gnupg/scd/app-dinsig.c:139,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-dinsig.c:142,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/scd/app-dinsig.c:143,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:144,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/scd/app-dinsig.c:146,1
    - Dst: sprintf
      Src: /src/gnupg/scd/app-dinsig.c:148,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-dinsig.c:149,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-dinsig.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 3
    argNames:
    - app
    - ctrl
    - flags
    argTypes:
    - app_t
    - ctrl_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 86
    functionDepth: 5
    functionLinenumber: 86
    functionLinenumberEnd: 154
    functionName: do_learn_status
    functionSourceFile: /src/gnupg/scd/app-dinsig.c
    functionUses: 0
    functionsReached:
    - ksba_cert_init_from_mem
    - strlen
    - log_error
    - sprintf
    - send_status_info
    - app_get_slot
    - gpg_error
    - ksba_cert_release
    - log_info
    - gpg_strerror
    - xfree
    - iso7816_read_binary
    - app_help_get_keygrip_string
    - ksba_cert_new
    - app_help_read_length_of_cert
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_learn_status (app_t app, ctrl_t ctrl, unsigned int flags)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnupg/scd/app-dinsig.c:181,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:182,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-dinsig.c:184,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-dinsig.c:184,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-dinsig.c:185,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-dinsig.c:185,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:187,1
    - Dst: xtoi_4
      Src: /src/gnupg/scd/app-dinsig.c:188,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:190,1
    - Dst: iso7816_select_file
      Src: /src/gnupg/scd/app-dinsig.c:195,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-dinsig.c:195,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-dinsig.c:198,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-dinsig.c:198,1
    - Dst: iso7816_read_binary
      Src: /src/gnupg/scd/app-dinsig.c:202,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-dinsig.c:202,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-dinsig.c:205,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-dinsig.c:206,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-dinsig.c:212,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:213,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-dinsig.c:220,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:230,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-dinsig.c:234,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-dinsig.c:236,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:252,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-dinsig.c:258,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:263,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-dinsig.c:265,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-dinsig.c:266,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-dinsig.c:274,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 75
    argCount: 4
    argNames:
    - app
    - certid
    - cert
    - certlen
    argTypes:
    - app_t
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 166
    functionDepth: 4
    functionLinenumber: 166
    functionLinenumberEnd: 276
    functionName: do_readcert
    functionSourceFile: /src/gnupg/scd/app-dinsig.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - xtoi_4
    - parse_ber_header
    - memmove
    - log_error
    - log_assert
    - app_get_slot
    - gpg_error
    - gpg_strerror
    - log_info
    - xfree
    - iso7816_select_file
    - strncmp
    - iso7816_read_binary
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_readcert (app_t app, const char *certid,\n             unsigned
      char **cert, size_t *certlen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/scd/app-dinsig.c:292,1
    - Dst: iso7816_check_pinpad
      Src: /src/gnupg/scd/app-dinsig.c:298,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-dinsig.c:298,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-dinsig.c:300,1
    - Dst: _
      Src: /src/gnupg/scd/app-dinsig.c:301,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-dinsig.c:305,1
    - Dst: _
      Src: /src/gnupg/scd/app-dinsig.c:305,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-dinsig.c:306,1
    - Dst: iso7816_verify_kp
      Src: /src/gnupg/scd/app-dinsig.c:309,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-dinsig.c:309,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-dinsig.c:311,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-dinsig.c:317,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-dinsig.c:320,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-dinsig.c:320,1
    - Dst: digitp
      Src: /src/gnupg/scd/app-dinsig.c:326,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-dinsig.c:330,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-dinsig.c:331,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:332,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-dinsig.c:335,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-dinsig.c:337,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-dinsig.c:339,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:340,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-dinsig.c:342,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-dinsig.c:344,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-dinsig.c:346,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:347,1
    - Dst: iso7816_verify
      Src: /src/gnupg/scd/app-dinsig.c:350,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-dinsig.c:350,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-dinsig.c:351,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-dinsig.c:352,1
    - Dst: iso7816_verify
      Src: /src/gnupg/scd/app-dinsig.c:372,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-dinsig.c:372,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-dinsig.c:375,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-dinsig.c:380,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 2
    argNames:
    - app
    - pincb_arg
    argTypes:
    - app_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 280
    functionDepth: 4
    functionLinenumber: 280
    functionLinenumberEnd: 385
    functionName: verify_pin
    functionSourceFile: /src/gnupg/scd/app-dinsig.c
    functionUses: 6
    functionsReached:
    - iso7816_check_pinpad
    - log_error
    - digitp
    - strlen
    - app_get_slot
    - _
    - pincb
    - gpg_error
    - memset
    - log_info
    - gpg_strerror
    - iso7816_verify_kp
    - xfree
    - gpg_err_code
    - iso7816_verify
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t verify_pin (app_t app,\n            gpg_error_t (*pincb)(void*,
      const char *, char **),\n            void *pincb_arg)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:419,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:422,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-dinsig.c:426,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:427,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-dinsig.c:429,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-dinsig.c:429,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-dinsig.c:430,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-dinsig.c:430,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:432,1
    - Dst: xtoi_4
      Src: /src/gnupg/scd/app-dinsig.c:433,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:435,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-dinsig.c:444,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-dinsig.c:446,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:449,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-dinsig.c:450,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-dinsig.c:458,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-dinsig.c:460,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:468,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-dinsig.c:469,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-dinsig.c:475,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-dinsig.c:477,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-dinsig.c:482,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:485,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-dinsig.c:486,1
    - Dst: verify_pin
      Src: /src/gnupg/scd/app-dinsig.c:489,1
    - Dst: iso7816_compute_ds
      Src: /src/gnupg/scd/app-dinsig.c:491,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-dinsig.c:491,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 49
    argCount: 9
    argNames:
    - app
    - ctrl
    - keyidstr
    - hashalgo
    - pincb_arg
    - indata
    - indatalen
    - outdata
    - outdatalen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - int
    - void*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 494
    functionName: do_sign
    functionSourceFile: /src/gnupg/scd/app-dinsig.c
    functionUses: 4
    functionsReached:
    - hexdigitp
    - app_get_slot
    - iso7816_compute_ds
    - gpg_error
    - memcmp
    - xtoi_4
    - verify_pin
    - strncmp
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_sign (app_t app, ctrl_t ctrl, const char *keyidstr,
      int hashalgo,\n         gpg_error_t (*pincb)(void*, const char *, char **),\n
      \        void *pincb_arg,\n         const void *indata, size_t indatalen,\n
      \        unsigned char **outdata, size_t *outdatalen )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-dinsig.c:513,1
    - Dst: verify_pin
      Src: /src/gnupg/scd/app-dinsig.c:524,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-dinsig.c:534,1
    - Dst: _
      Src: /src/gnupg/scd/app-dinsig.c:534,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-dinsig.c:537,1
    - Dst: _
      Src: /src/gnupg/scd/app-dinsig.c:537,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-dinsig.c:537,1
    - Dst: iso7816_change_reference_data
      Src: /src/gnupg/scd/app-dinsig.c:541,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-dinsig.c:541,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-dinsig.c:543,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-dinsig.c:544,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - app
    - ctrl
    - chvnostr
    - flags
    - pincb_arg
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 501
    functionDepth: 3
    functionLinenumber: 501
    functionLinenumberEnd: 546
    functionName: do_change_pin
    functionSourceFile: /src/gnupg/scd/app-dinsig.c
    functionUses: 0
    functionsReached:
    - log_error
    - strlen
    - app_get_slot
    - iso7816_change_reference_data
    - _
    - pincb
    - gpg_error
    - gpg_strerror
    - xfree
    - verify_pin
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_change_pin (app_t app, ctrl_t ctrl,  const char *chvnostr,\n
      \              unsigned int flags,\n               gpg_error_t (*pincb)(void*,
      const char *, char **),\n               void *pincb_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-dinsig.c:556,1
    - Dst: iso7816_select_application
      Src: /src/gnupg/scd/app-dinsig.c:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 552
    functionDepth: 3
    functionLinenumber: 552
    functionLinenumberEnd: 581
    functionName: app_select_dinsig
    functionSourceFile: /src/gnupg/scd/app-dinsig.c
    functionUses: 0
    functionsReached:
    - app_get_slot
    - iso7816_select_application
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t app_select_dinsig (app_t app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/gnupg/scd/scdaemon.c:295,1
    - Dst: getfnc
      Src: /src/gnupg/scd/scdaemon.c:298,1
    - Dst: xmalloc
      Src: /src/gnupg/scd/scdaemon.c:299,1
    - Dst: strlen
      Src: /src/gnupg/scd/scdaemon.c:299,1
    - Dst: strlen
      Src: /src/gnupg/scd/scdaemon.c:299,1
    - Dst: strcpy
      Src: /src/gnupg/scd/scdaemon.c:300,1
    - Dst: stpcpy
      Src: /src/gnupg/scd/scdaemon.c:300,1
    - Dst: stpcpy
      Src: /src/gnupg/scd/scdaemon.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - libname
    - (*getfnc)(const char*)
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 302
    functionName: make_libversion
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 6
    functionsReached:
    - strlen
    - gcry_control
    - xmalloc
    - strcpy
    - stpcpy
    - getfnc
    linkageType: ''
    returnType: char
    signature: 'char *

      make_libversion (const char *libname, const char *(*getfnc)(const char*))'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/scd/scdaemon.c:319,1
    - Dst: make_libversion
      Src: /src/gnupg/scd/scdaemon.c:323,1
    - Dst: make_libversion
      Src: /src/gnupg/scd/scdaemon.c:328,1
    - Dst: _
      Src: /src/gnupg/scd/scdaemon.c:332,1
    - Dst: _
      Src: /src/gnupg/scd/scdaemon.c:334,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 341
    functionName: my_strusage
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 0
    functionsReached:
    - make_libversion
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage (int level)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_self
      Src: /src/gnupg/scd/scdaemon.c:350,1
    - Dst: memcpy
      Src: /src/gnupg/scd/scdaemon.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rvalue
    argTypes:
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 356
    functionName: tid_log_callback
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 0
    functionsReached:
    - memcpy
    - npth_self
    linkageType: ''
    returnType: int
    signature: int tid_log_callback (unsigned long *rvalue)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/scd/scdaemon.c:366,1
    - Dst: atoi
      Src: /src/gnupg/scd/scdaemon.c:367,1
    - Dst: strcmp
      Src: /src/gnupg/scd/scdaemon.c:371,1
    - Dst: strcmp
      Src: /src/gnupg/scd/scdaemon.c:373,1
    - Dst: strcmp
      Src: /src/gnupg/scd/scdaemon.c:375,1
    - Dst: strcmp
      Src: /src/gnupg/scd/scdaemon.c:377,1
    - Dst: strcmp
      Src: /src/gnupg/scd/scdaemon.c:379,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:391,1
    - Dst: _
      Src: /src/gnupg/scd/scdaemon.c:391,1
    - Dst: scd_exit
      Src: /src/gnupg/scd/scdaemon.c:392,1
    - Dst: gcry_control
      Src: /src/gnupg/scd/scdaemon.c:402,1
    - Dst: gcry_control
      Src: /src/gnupg/scd/scdaemon.c:404,1
    - Dst: gcry_control
      Src: /src/gnupg/scd/scdaemon.c:405,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/scd/scdaemon.c:408,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 30
    argCount: 1
    argNames:
    - level
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 409
    functionName: set_debug
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 13
    functionsReached:
    - atoi
    - scd_exit
    - log_error
    - digitp
    - gcry_control
    - _
    - strcmp
    - parse_debug_flag
    linkageType: ''
    returnType: void
    signature: void set_debug (const char *level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_remove
      Src: /src/gnupg/scd/scdaemon.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 413
    functionDepth: 6
    functionLinenumber: 413
    functionLinenumberEnd: 425
    functionName: cleanup
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 25
    functionsReached:
    - gnupg_remove
    linkageType: ''
    returnType: void
    signature: void cleanup (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: npth_sigev_init
      Src: /src/gnupg/scd/scdaemon.c:431,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/scd/scdaemon.c:432,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/scd/scdaemon.c:433,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/scd/scdaemon.c:434,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/scd/scdaemon.c:435,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/scd/scdaemon.c:436,1
    - Dst: npth_sigev_add
      Src: /src/gnupg/scd/scdaemon.c:437,1
    - Dst: npth_sigev_fini
      Src: /src/gnupg/scd/scdaemon.c:438,1
    - Dst: getpid
      Src: /src/gnupg/scd/scdaemon.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 441
    functionName: setup_signal_mask
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 0
    functionsReached:
    - npth_sigev_init
    - getpid
    - npth_sigev_add
    - npth_sigev_fini
    linkageType: ''
    returnType: void
    signature: void setup_signal_mask (void)
  - BBCount: 86
    BranchProfiles: []
    Callsites:
    - Dst: early_system_init
      Src: /src/gnupg/scd/scdaemon.c:470,1
    - Dst: gpgrt_set_strusage
      Src: /src/gnupg/scd/scdaemon.c:471,1
    - Dst: gcry_control
      Src: /src/gnupg/scd/scdaemon.c:472,1
    - Dst: log_set_prefix
      Src: /src/gnupg/scd/scdaemon.c:476,1
    - Dst: i18n_init
      Src: /src/gnupg/scd/scdaemon.c:479,1
    - Dst: init_common_subsystems
      Src: /src/gnupg/scd/scdaemon.c:480,1
    - Dst: ksba_set_malloc_hooks
      Src: /src/gnupg/scd/scdaemon.c:482,1
    - Dst: assuan_set_malloc_hooks
      Src: /src/gnupg/scd/scdaemon.c:487,1
    - Dst: assuan_set_gpg_err_source
      Src: /src/gnupg/scd/scdaemon.c:488,1
    - Dst: assuan_sock_init
      Src: /src/gnupg/scd/scdaemon.c:489,1
    - Dst: setup_libassuan_logging
      Src: /src/gnupg/scd/scdaemon.c:490,1
    - Dst: setup_libgcrypt_logging
      Src: /src/gnupg/scd/scdaemon.c:492,1
    - Dst: gcry_control
      Src: /src/gnupg/scd/scdaemon.c:493,1
    - Dst: disable_core_dumps
      Src: /src/gnupg/scd/scdaemon.c:495,1
    - Dst: getenv
      Src: /src/gnupg/scd/scdaemon.c:501,1
    - Dst: strlen
      Src: /src/gnupg/scd/scdaemon.c:502,1
    - Dst: strcmp
      Src: /src/gnupg/scd/scdaemon.c:502,1
    - Dst: strlen
      Src: /src/gnupg/scd/scdaemon.c:502,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/scd/scdaemon.c:511,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/scd/scdaemon.c:520,1
    - Dst: gcry_control
      Src: /src/gnupg/scd/scdaemon.c:528,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/scd/scdaemon.c:536,1
    - Dst: gnupg_sysconfdir
      Src: /src/gnupg/scd/scdaemon.c:536,1
    - Dst: gpgrt_set_confdir
      Src: /src/gnupg/scd/scdaemon.c:537,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/scd/scdaemon.c:537,1
    - Dst: gpgrt_argparser
      Src: /src/gnupg/scd/scdaemon.c:549,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:555,1
    - Dst: _
      Src: /src/gnupg/scd/scdaemon.c:555,1
    - Dst: xfree
      Src: /src/gnupg/scd/scdaemon.c:559,1
    - Dst: xstrdup
      Src: /src/gnupg/scd/scdaemon.c:560,1
    - Dst: parse_debug_flag
      Src: /src/gnupg/scd/scdaemon.c:574,1
    - Dst: enable_core_dumps
      Src: /src/gnupg/scd/scdaemon.c:584,1
    - Dst: ccid_set_debug_level
      Src: /src/gnupg/scd/scdaemon.c:589,1
    - Dst: ccid_set_debug_level
      Src: /src/gnupg/scd/scdaemon.c:589,1
    - Dst: log_set_pid_suffix_cb
      Src: /src/gnupg/scd/scdaemon.c:593,1
    - Dst: set_libassuan_log_cats
      Src: /src/gnupg/scd/scdaemon.c:599,1
    - Dst: gnupg_set_homedir
      Src: /src/gnupg/scd/scdaemon.c:604,1
    - Dst: add_to_strlist
      Src: /src/gnupg/scd/scdaemon.c:629,1
    - Dst: parse_compatibility_flags
      Src: /src/gnupg/scd/scdaemon.c:639,1
    - Dst: gpgrt_argparse
      Src: /src/gnupg/scd/scdaemon.c:660,1
    - Dst: gpgrt_fnameconcat
      Src: /src/gnupg/scd/scdaemon.c:663,1
    - Dst: gnupg_homedir
      Src: /src/gnupg/scd/scdaemon.c:663,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/scd/scdaemon.c:672,1
    - Dst: exit
      Src: /src/gnupg/scd/scdaemon.c:673,1
    - Dst: parse_comopt
      Src: /src/gnupg/scd/scdaemon.c:676,1
    - Dst: exit
      Src: /src/gnupg/scd/scdaemon.c:677,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/scdaemon.c:690,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/scd/scdaemon.c:691,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/scd/scdaemon.c:691,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/scd/scdaemon.c:691,1
    - Dst: es_fprintf
      Src: /src/gnupg/scd/scdaemon.c:692,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/scd/scdaemon.c:692,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:695,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:705,1
    - Dst: _
      Src: /src/gnupg/scd/scdaemon.c:705,1
    - Dst: atexit
      Src: /src/gnupg/scd/scdaemon.c:708,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:710,1
    - Dst: cleanup
      Src: /src/gnupg/scd/scdaemon.c:711,1
    - Dst: exit
      Src: /src/gnupg/scd/scdaemon.c:712,1
    - Dst: set_debug
      Src: /src/gnupg/scd/scdaemon.c:715,1
    - Dst: initialize_module_command
      Src: /src/gnupg/scd/scdaemon.c:717,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:719,1
    - Dst: cleanup
      Src: /src/gnupg/scd/scdaemon.c:720,1
    - Dst: exit
      Src: /src/gnupg/scd/scdaemon.c:721,1
    - Dst: scd_exit
      Src: /src/gnupg/scd/scdaemon.c:725,1
    - Dst: es_printf
      Src: /src/gnupg/scd/scdaemon.c:729,1
    - Dst: es_printf
      Src: /src/gnupg/scd/scdaemon.c:730,1
    - Dst: es_printf
      Src: /src/gnupg/scd/scdaemon.c:732,1
    - Dst: scd_exit
      Src: /src/gnupg/scd/scdaemon.c:734,1
    - Dst: log_set_file
      Src: /src/gnupg/scd/scdaemon.c:740,1
    - Dst: log_set_prefix
      Src: /src/gnupg/scd/scdaemon.c:741,1
    - Dst: log_debug
      Src: /src/gnupg/scd/scdaemon.c:748,1
    - Dst: getpid
      Src: /src/gnupg/scd/scdaemon.c:749,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/scd/scdaemon.c:750,1
    - Dst: log_debug
      Src: /src/gnupg/scd/scdaemon.c:751,1
    - Dst: app_update_priority_list
      Src: /src/gnupg/scd/scdaemon.c:755,1
    - Dst: sigemptyset
      Src: /src/gnupg/scd/scdaemon.c:770,1
    - Dst: sigaction
      Src: /src/gnupg/scd/scdaemon.c:772,1
    - Dst: npth_init
      Src: /src/gnupg/scd/scdaemon.c:776,1
    - Dst: setup_signal_mask
      Src: /src/gnupg/scd/scdaemon.c:777,1
    - Dst: gpgrt_set_syscall_clamp
      Src: /src/gnupg/scd/scdaemon.c:778,1
    - Dst: assuan_control
      Src: /src/gnupg/scd/scdaemon.c:779,1
    - Dst: chdir
      Src: /src/gnupg/scd/scdaemon.c:786,1
    - Dst: log_debug
      Src: /src/gnupg/scd/scdaemon.c:787,1
    - Dst: strerror
      Src: /src/gnupg/scd/scdaemon.c:787,1
    - Dst: log_debug
      Src: /src/gnupg/scd/scdaemon.c:789,1
    - Dst: create_socket_name
      Src: /src/gnupg/scd/scdaemon.c:798,1
    - Dst: create_server_socket
      Src: /src/gnupg/scd/scdaemon.c:799,1
    - Dst: npth_attr_init
      Src: /src/gnupg/scd/scdaemon.c:803,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:806,1
    - Dst: strerror
      Src: /src/gnupg/scd/scdaemon.c:807,1
    - Dst: scd_exit
      Src: /src/gnupg/scd/scdaemon.c:808,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/scd/scdaemon.c:810,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/scdaemon.c:812,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:815,1
    - Dst: strerror
      Src: /src/gnupg/scd/scdaemon.c:816,1
    - Dst: scd_exit
      Src: /src/gnupg/scd/scdaemon.c:817,1
    - Dst: npth_create
      Src: /src/gnupg/scd/scdaemon.c:820,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:823,1
    - Dst: strerror
      Src: /src/gnupg/scd/scdaemon.c:824,1
    - Dst: xfree
      Src: /src/gnupg/scd/scdaemon.c:825,1
    - Dst: scd_exit
      Src: /src/gnupg/scd/scdaemon.c:826,1
    - Dst: npth_setname_np
      Src: /src/gnupg/scd/scdaemon.c:828,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/scd/scdaemon.c:829,1
    - Dst: handle_connections
      Src: /src/gnupg/scd/scdaemon.c:833,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/scd/scdaemon.c:835,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:839,1
    - Dst: _
      Src: /src/gnupg/scd/scdaemon.c:839,1
    - Dst: create_socket_name
      Src: /src/gnupg/scd/scdaemon.c:851,1
    - Dst: create_server_socket
      Src: /src/gnupg/scd/scdaemon.c:852,1
    - Dst: fflush
      Src: /src/gnupg/scd/scdaemon.c:856,1
    - Dst: fork
      Src: /src/gnupg/scd/scdaemon.c:861,1
    - Dst: log_fatal
      Src: /src/gnupg/scd/scdaemon.c:864,1
    - Dst: strerror
      Src: /src/gnupg/scd/scdaemon.c:864,1
    - Dst: exit
      Src: /src/gnupg/scd/scdaemon.c:865,1
    - Dst: close
      Src: /src/gnupg/scd/scdaemon.c:871,1
    - Dst: gpgrt_asprintf
      Src: /src/gnupg/scd/scdaemon.c:874,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:877,1
    - Dst: kill
      Src: /src/gnupg/scd/scdaemon.c:878,1
    - Dst: exit
      Src: /src/gnupg/scd/scdaemon.c:879,1
    - Dst: putenv
      Src: /src/gnupg/scd/scdaemon.c:885,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:887,1
    - Dst: strerror
      Src: /src/gnupg/scd/scdaemon.c:888,1
    - Dst: kill
      Src: /src/gnupg/scd/scdaemon.c:889,1
    - Dst: exit
      Src: /src/gnupg/scd/scdaemon.c:890,1
    - Dst: execvp
      Src: /src/gnupg/scd/scdaemon.c:892,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:893,1
    - Dst: strerror
      Src: /src/gnupg/scd/scdaemon.c:893,1
    - Dst: kill
      Src: /src/gnupg/scd/scdaemon.c:894,1
    - Dst: exit
      Src: /src/gnupg/scd/scdaemon.c:895,1
    - Dst: strchr
      Src: /src/gnupg/scd/scdaemon.c:903,1
    - Dst: es_printf
      Src: /src/gnupg/scd/scdaemon.c:904,1
    - Dst: es_printf
      Src: /src/gnupg/scd/scdaemon.c:908,1
    - Dst: xfree
      Src: /src/gnupg/scd/scdaemon.c:910,1
    - Dst: exit
      Src: /src/gnupg/scd/scdaemon.c:911,1
    - Dst: npth_init
      Src: /src/gnupg/scd/scdaemon.c:918,1
    - Dst: setup_signal_mask
      Src: /src/gnupg/scd/scdaemon.c:919,1
    - Dst: gpgrt_set_syscall_clamp
      Src: /src/gnupg/scd/scdaemon.c:920,1
    - Dst: assuan_control
      Src: /src/gnupg/scd/scdaemon.c:921,1
    - Dst: log_test_fd
      Src: /src/gnupg/scd/scdaemon.c:929,1
    - Dst: close
      Src: /src/gnupg/scd/scdaemon.c:931,1
    - Dst: open
      Src: /src/gnupg/scd/scdaemon.c:932,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:934,1
    - Dst: strerror
      Src: /src/gnupg/scd/scdaemon.c:935,1
    - Dst: cleanup
      Src: /src/gnupg/scd/scdaemon.c:936,1
    - Dst: exit
      Src: /src/gnupg/scd/scdaemon.c:937,1
    - Dst: setsid
      Src: /src/gnupg/scd/scdaemon.c:942,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:944,1
    - Dst: strerror
      Src: /src/gnupg/scd/scdaemon.c:944,1
    - Dst: cleanup
      Src: /src/gnupg/scd/scdaemon.c:945,1
    - Dst: exit
      Src: /src/gnupg/scd/scdaemon.c:946,1
    - Dst: sigemptyset
      Src: /src/gnupg/scd/scdaemon.c:954,1
    - Dst: sigaction
      Src: /src/gnupg/scd/scdaemon.c:956,1
    - Dst: gnupg_chdir
      Src: /src/gnupg/scd/scdaemon.c:961,1
    - Dst: gnupg_daemon_rootdir
      Src: /src/gnupg/scd/scdaemon.c:961,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:963,1
    - Dst: gnupg_daemon_rootdir
      Src: /src/gnupg/scd/scdaemon.c:964,1
    - Dst: strerror
      Src: /src/gnupg/scd/scdaemon.c:964,1
    - Dst: exit
      Src: /src/gnupg/scd/scdaemon.c:965,1
    - Dst: handle_connections
      Src: /src/gnupg/scd/scdaemon.c:968,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/scd/scdaemon.c:970,1
    - Dst: xfree
      Src: /src/gnupg/scd/scdaemon.c:973,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 366
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 443
    functionDepth: 6
    functionLinenumber: 443
    functionLinenumberEnd: 975
    functionName: main
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 11
    functionsReached:
    - gpgrt_set_syscall_clamp
    - es_fprintf
    - scd_exit
    - set_debug
    - npth_attr_init
    - gnupg_homedir
    - xstrdup
    - initialize_module_command
    - gpgrt_set_strusage
    - app_update_priority_list
    - execvp
    - fflush
    - parse_compatibility_flags
    - assuan_control
    - parse_debug_flag
    - npth_attr_setdetachstate
    - xfree
    - ccid_set_debug_level
    - getpid
    - npth_attr_destroy
    - putenv
    - parse_comopt
    - log_fatal
    - gpgrt_set_confdir
    - disable_core_dumps
    - gpgrt_fnameconcat
    - strlen
    - exit
    - gpgrt_argparser
    - setsid
    - fork
    - set_libassuan_log_cats
    - log_error
    - early_system_init
    - log_test_fd
    - log_get_errorcount
    - handle_connections
    - create_socket_name
    - npth_setname_np
    - chdir
    - i18n_init
    - open
    - getenv
    - assuan_set_gpg_err_source
    - assuan_sock_init
    - gnupg_chdir
    - sigemptyset
    - init_common_subsystems
    - npth_init
    - assuan_set_malloc_hooks
    - sigaction
    - gnupg_set_homedir
    - npth_create
    - log_set_prefix
    - close
    - kill
    - ksba_set_malloc_hooks
    - gnupg_sleep
    - log_set_pid_suffix_cb
    - gpgrt_strusage
    - cleanup
    - assuan_sock_close
    - strchr
    - xtrycalloc
    - gnupg_sysconfdir
    - atexit
    - add_to_strlist
    - es_printf
    - strerror
    - gnupg_daemon_rootdir
    - _
    - log_info
    - log_debug
    - setup_libgcrypt_logging
    - gcry_control
    - strcmp
    - enable_core_dumps
    - gpgrt_argparse
    - log_set_file
    - gpgrt_asprintf
    - setup_signal_mask
    - create_server_socket
    - setup_libassuan_logging
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apdu_prepare_exit
      Src: /src/gnupg/scd/scdaemon.c:980,1
    - Dst: update_random_seed_file
      Src: /src/gnupg/scd/scdaemon.c:983,1
    - Dst: gcry_control
      Src: /src/gnupg/scd/scdaemon.c:989,1
    - Dst: gcry_control
      Src: /src/gnupg/scd/scdaemon.c:990,1
    - Dst: gcry_control
      Src: /src/gnupg/scd/scdaemon.c:993,1
    - Dst: gcry_control
      Src: /src/gnupg/scd/scdaemon.c:995,1
    - Dst: log_get_errorcount
      Src: /src/gnupg/scd/scdaemon.c:996,1
    - Dst: exit
      Src: /src/gnupg/scd/scdaemon.c:997,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 998
    functionName: scd_exit
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 3
    functionsReached:
    - exit
    - gcry_control
    - apdu_prepare_exit
    - log_get_errorcount
    - update_random_seed_file
    linkageType: ''
    returnType: void
    signature: void scd_exit (int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1005
    functionName: scd_init_default_ctrl
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scd_init_default_ctrl (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/scd/scdaemon.c:1012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1015
    functionName: scd_deinit_default_ctrl
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void scd_deinit_default_ctrl (ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1026
    functionName: scd_get_socket_name
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      scd_get_socket_name (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CreateEvent
      Src: /src/gnupg/scd/scdaemon.c:1041,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:1043,1
    - Dst: w32_strerror
      Src: /src/gnupg/scd/scdaemon.c:1043,1
    - Dst: DuplicateHandle
      Src: /src/gnupg/scd/scdaemon.c:1044,1
    - Dst: GetCurrentProcess
      Src: /src/gnupg/scd/scdaemon.c:1044,1
    - Dst: GetCurrentProcess
      Src: /src/gnupg/scd/scdaemon.c:1045,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:1048,1
    - Dst: w32_strerror
      Src: /src/gnupg/scd/scdaemon.c:1049,1
    - Dst: CloseHandle
      Src: /src/gnupg/scd/scdaemon.c:1050,1
    - Dst: CloseHandle
      Src: /src/gnupg/scd/scdaemon.c:1054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - e_p
    - events
    argTypes:
    - HANDLE*
    - HANDLE[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1057
    functionName: scd_init_event
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 1
    functionsReached:
    - CloseHandle
    - log_error
    - CreateEvent
    - DuplicateHandle
    - w32_strerror
    - GetCurrentProcess
    linkageType: ''
    returnType: void
    signature: void scd_init_event (HANDLE *e_p, HANDLE events[2])
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:1065,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:1071,1
    - Dst: app_dump_state
      Src: /src/gnupg/scd/scdaemon.c:1075,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:1079,1
    - Dst: log_debug
      Src: /src/gnupg/scd/scdaemon.c:1084,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:1089,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:1091,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:1096,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:1097,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/scd/scdaemon.c:1097,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/scd/scdaemon.c:1097,1
    - Dst: cleanup
      Src: /src/gnupg/scd/scdaemon.c:1098,1
    - Dst: scd_exit
      Src: /src/gnupg/scd/scdaemon.c:1099,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:1104,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:1105,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/scd/scdaemon.c:1105,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/scd/scdaemon.c:1105,1
    - Dst: cleanup
      Src: /src/gnupg/scd/scdaemon.c:1106,1
    - Dst: scd_exit
      Src: /src/gnupg/scd/scdaemon.c:1107,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:1111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1059
    functionDepth: 3
    functionLinenumber: 1059
    functionLinenumberEnd: 1113
    functionName: handle_signal
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 5
    functionsReached:
    - scd_exit
    - cleanup
    - log_info
    - log_debug
    - app_dump_state
    - gpgrt_strusage
    linkageType: ''
    returnType: void
    signature: void handle_signal (int signo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_filename
      Src: /src/gnupg/scd/scdaemon.c:1127,1
    - Dst: gnupg_socketdir
      Src: /src/gnupg/scd/scdaemon.c:1127,1
    - Dst: strchr
      Src: /src/gnupg/scd/scdaemon.c:1128,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:1130,1
    - Dst: scd_exit
      Src: /src/gnupg/scd/scdaemon.c:1131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - standard_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1122
    functionDepth: 7
    functionLinenumber: 1122
    functionLinenumberEnd: 1134
    functionName: create_socket_name
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 4
    functionsReached:
    - make_filename
    - scd_exit
    - log_error
    - gnupg_socketdir
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      create_socket_name (char *standard_name)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/scd/scdaemon.c:1152,1
    - Dst: assuan_sock_new
      Src: /src/gnupg/scd/scdaemon.c:1155,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:1158,1
    - Dst: _
      Src: /src/gnupg/scd/scdaemon.c:1158,1
    - Dst: strerror
      Src: /src/gnupg/scd/scdaemon.c:1158,1
    - Dst: scd_exit
      Src: /src/gnupg/scd/scdaemon.c:1159,1
    - Dst: xmalloc
      Src: /src/gnupg/scd/scdaemon.c:1162,1
    - Dst: assuan_sock_set_sockaddr_un
      Src: /src/gnupg/scd/scdaemon.c:1168,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:1171,1
    - Dst: _
      Src: /src/gnupg/scd/scdaemon.c:1171,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:1173,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/scdaemon.c:1174,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/scdaemon.c:1174,1
    - Dst: scd_exit
      Src: /src/gnupg/scd/scdaemon.c:1175,1
    - Dst: xstrdup
      Src: /src/gnupg/scd/scdaemon.c:1179,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:1181,1
    - Dst: SUN_LEN
      Src: /src/gnupg/scd/scdaemon.c:1185,1
    - Dst: assuan_sock_bind
      Src: /src/gnupg/scd/scdaemon.c:1187,1
    - Dst: gnupg_remove
      Src: /src/gnupg/scd/scdaemon.c:1190,1
    - Dst: assuan_sock_bind
      Src: /src/gnupg/scd/scdaemon.c:1191,1
    - Dst: assuan_sock_get_nonce
      Src: /src/gnupg/scd/scdaemon.c:1194,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:1195,1
    - Dst: _
      Src: /src/gnupg/scd/scdaemon.c:1195,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/scdaemon.c:1198,1
    - Dst: log_libassuan_system_error
      Src: /src/gnupg/scd/scdaemon.c:1199,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:1200,1
    - Dst: _
      Src: /src/gnupg/scd/scdaemon.c:1200,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/scdaemon.c:1201,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/scd/scdaemon.c:1202,1
    - Dst: scd_exit
      Src: /src/gnupg/scd/scdaemon.c:1203,1
    - Dst: gnupg_chmod
      Src: /src/gnupg/scd/scdaemon.c:1206,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:1207,1
    - Dst: _
      Src: /src/gnupg/scd/scdaemon.c:1207,1
    - Dst: strerror
      Src: /src/gnupg/scd/scdaemon.c:1208,1
    - Dst: listen
      Src: /src/gnupg/scd/scdaemon.c:1210,1
    - Dst: FD2INT
      Src: /src/gnupg/scd/scdaemon.c:1210,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:1212,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/scdaemon.c:1213,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/scdaemon.c:1213,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/scd/scdaemon.c:1214,1
    - Dst: scd_exit
      Src: /src/gnupg/scd/scdaemon.c:1215,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:1219,1
    - Dst: _
      Src: /src/gnupg/scd/scdaemon.c:1219,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - name
    - r_redir_name
    - nonce
    argTypes:
    - char*
    - char**
    - assuan_sock_nonce_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1142
    functionDepth: 6
    functionLinenumber: 1142
    functionLinenumberEnd: 1222
    functionName: create_server_socket
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 5
    functionsReached:
    - FD2INT
    - scd_exit
    - xmalloc
    - xstrdup
    - assuan_sock_new
    - strerror
    - log_error
    - assuan_sock_get_nonce
    - listen
    - _
    - log_info
    - gpg_error_from_syserror
    - assuan_sock_close
    - xfree
    - gpg_strerror
    - assuan_sock_set_sockaddr_un
    - gnupg_chmod
    - SUN_LEN
    - assuan_sock_bind
    - gnupg_remove
    - log_libassuan_system_error
    linkageType: ''
    returnType: gnupg_fd_t
    signature: "gnupg_fd_t create_server_socket (const char *name, char **r_redir_name,\n
      \                     assuan_sock_nonce_t *nonce)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_sock_check_nonce
      Src: /src/gnupg/scd/scdaemon.c:1233,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:1235,1
    - Dst: _
      Src: /src/gnupg/scd/scdaemon.c:1235,1
    - Dst: FD_DBG
      Src: /src/gnupg/scd/scdaemon.c:1236,1
    - Dst: strerror
      Src: /src/gnupg/scd/scdaemon.c:1236,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/scd/scdaemon.c:1237,1
    - Dst: xfree
      Src: /src/gnupg/scd/scdaemon.c:1238,1
    - Dst: scd_init_default_ctrl
      Src: /src/gnupg/scd/scdaemon.c:1244,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:1246,1
    - Dst: _
      Src: /src/gnupg/scd/scdaemon.c:1246,1
    - Dst: FD_DBG
      Src: /src/gnupg/scd/scdaemon.c:1247,1
    - Dst: scd_command_handler
      Src: /src/gnupg/scd/scdaemon.c:1249,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:1259,1
    - Dst: _
      Src: /src/gnupg/scd/scdaemon.c:1259,1
    - Dst: FD_DBG
      Src: /src/gnupg/scd/scdaemon.c:1260,1
    - Dst: scd_deinit_default_ctrl
      Src: /src/gnupg/scd/scdaemon.c:1262,1
    - Dst: xfree
      Src: /src/gnupg/scd/scdaemon.c:1263,1
    - Dst: scd_kick_the_loop
      Src: /src/gnupg/scd/scdaemon.c:1266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1227
    functionDepth: 5
    functionLinenumber: 1227
    functionLinenumberEnd: 1269
    functionName: start_connection_thread
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 4
    functionsReached:
    - scd_deinit_default_ctrl
    - scd_command_handler
    - _
    - assuan_sock_check_nonce
    - FD_DBG
    - assuan_sock_close
    - scd_kick_the_loop
    - log_info
    - xfree
    - scd_init_default_ctrl
    - strerror
    linkageType: ''
    returnType: void
    signature: 'void *

      start_connection_thread (void *arg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SetEvent
      Src: /src/gnupg/scd/scdaemon.c:1277,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:1279,1
    - Dst: w32_strerror
      Src: /src/gnupg/scd/scdaemon.c:1280,1
    - Dst: write
      Src: /src/gnupg/scd/scdaemon.c:1282,1
    - Dst: kill
      Src: /src/gnupg/scd/scdaemon.c:1284,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:1286,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/scdaemon.c:1287,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/scdaemon.c:1287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1289
    functionName: scd_kick_the_loop
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 3
    functionsReached:
    - SetEvent
    - log_error
    - gpg_error_from_syserror
    - write
    - kill
    - gpg_strerror
    - w32_strerror
    linkageType: ''
    returnType: void
    signature: void scd_kick_the_loop (void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gnupg_create_pipe
      Src: /src/gnupg/scd/scdaemon.c:1316,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:1319,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/scdaemon.c:1319,1
    - Dst: npth_attr_init
      Src: /src/gnupg/scd/scdaemon.c:1325,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:1328,1
    - Dst: strerror
      Src: /src/gnupg/scd/scdaemon.c:1328,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/scd/scdaemon.c:1332,1
    - Dst: scd_init_event
      Src: /src/gnupg/scd/scdaemon.c:1335,1
    - Dst: FD_ZERO
      Src: /src/gnupg/scd/scdaemon.c:1338,1
    - Dst: FD_SET
      Src: /src/gnupg/scd/scdaemon.c:1342,1
    - Dst: FD2INT
      Src: /src/gnupg/scd/scdaemon.c:1342,1
    - Dst: FD2NUM
      Src: /src/gnupg/scd/scdaemon.c:1343,1
    - Dst: FD_ZERO
      Src: /src/gnupg/scd/scdaemon.c:1360,1
    - Dst: scd_update_reader_status_file
      Src: /src/gnupg/scd/scdaemon.c:1364,1
    - Dst: FD_SET
      Src: /src/gnupg/scd/scdaemon.c:1379,1
    - Dst: npth_pselect
      Src: /src/gnupg/scd/scdaemon.c:1387,1
    - Dst: npth_sigev_sigmask
      Src: /src/gnupg/scd/scdaemon.c:1388,1
    - Dst: npth_sigev_get_pending
      Src: /src/gnupg/scd/scdaemon.c:1391,1
    - Dst: handle_signal
      Src: /src/gnupg/scd/scdaemon.c:1392,1
    - Dst: npth_eselect
      Src: /src/gnupg/scd/scdaemon.c:1394,1
    - Dst: log_debug
      Src: /src/gnupg/scd/scdaemon.c:1400,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:1406,1
    - Dst: _
      Src: /src/gnupg/scd/scdaemon.c:1406,1
    - Dst: strerror
      Src: /src/gnupg/scd/scdaemon.c:1407,1
    - Dst: gnupg_sleep
      Src: /src/gnupg/scd/scdaemon.c:1408,1
    - Dst: FD_ISSET
      Src: /src/gnupg/scd/scdaemon.c:1417,1
    - Dst: read
      Src: /src/gnupg/scd/scdaemon.c:1421,1
    - Dst: FD_ISSET
      Src: /src/gnupg/scd/scdaemon.c:1426,1
    - Dst: FD2INT
      Src: /src/gnupg/scd/scdaemon.c:1426,1
    - Dst: assuan_sock_accept
      Src: /src/gnupg/scd/scdaemon.c:1432,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/scdaemon.c:1436,1
    - Dst: log_libassuan_system_error
      Src: /src/gnupg/scd/scdaemon.c:1437,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:1438,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/scdaemon.c:1438,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/scdaemon.c:1440,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:1442,1
    - Dst: strerror
      Src: /src/gnupg/scd/scdaemon.c:1443,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/scd/scdaemon.c:1444,1
    - Dst: snprintf
      Src: /src/gnupg/scd/scdaemon.c:1451,1
    - Dst: FD_DBG
      Src: /src/gnupg/scd/scdaemon.c:1452,1
    - Dst: npth_create
      Src: /src/gnupg/scd/scdaemon.c:1454,1
    - Dst: log_error
      Src: /src/gnupg/scd/scdaemon.c:1457,1
    - Dst: strerror
      Src: /src/gnupg/scd/scdaemon.c:1458,1
    - Dst: xfree
      Src: /src/gnupg/scd/scdaemon.c:1459,1
    - Dst: assuan_sock_close
      Src: /src/gnupg/scd/scdaemon.c:1460,1
    - Dst: npth_setname_np
      Src: /src/gnupg/scd/scdaemon.c:1463,1
    - Dst: CloseHandle
      Src: /src/gnupg/scd/scdaemon.c:1470,1
    - Dst: close
      Src: /src/gnupg/scd/scdaemon.c:1473,1
    - Dst: close
      Src: /src/gnupg/scd/scdaemon.c:1474,1
    - Dst: cleanup
      Src: /src/gnupg/scd/scdaemon.c:1476,1
    - Dst: log_info
      Src: /src/gnupg/scd/scdaemon.c:1477,1
    - Dst: _
      Src: /src/gnupg/scd/scdaemon.c:1477,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/scd/scdaemon.c:1477,1
    - Dst: gpgrt_strusage
      Src: /src/gnupg/scd/scdaemon.c:1477,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/scd/scdaemon.c:1478,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 88
    argCount: 1
    argNames:
    - listen_fd
    argTypes:
    - gnupg_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1295
    functionDepth: 7
    functionLinenumber: 1295
    functionLinenumberEnd: 1479
    functionName: handle_connections
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 5
    functionsReached:
    - FD2INT
    - CloseHandle
    - npth_attr_init
    - log_libassuan_system_error
    - handle_signal
    - scd_init_event
    - FD_ISSET
    - assuan_sock_accept
    - log_error
    - npth_create
    - close
    - _
    - FD_SET
    - FD_DBG
    - FD2NUM
    - log_info
    - scd_update_reader_status_file
    - npth_eselect
    - npth_sigev_sigmask
    - npth_pselect
    - gnupg_sleep
    - log_debug
    - gpgrt_strusage
    - npth_sigev_get_pending
    - gpg_error_from_syserror
    - npth_attr_setdetachstate
    - assuan_sock_close
    - npth_setname_np
    - cleanup
    - gpg_strerror
    - xfree
    - xtrycalloc
    - FD_ZERO
    - read
    - npth_attr_destroy
    - snprintf
    - gnupg_create_pipe
    - strerror
    linkageType: ''
    returnType: void
    signature: void handle_connections (gnupg_fd_t listen_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1482
    functionDepth: 0
    functionLinenumber: 1482
    functionLinenumberEnd: 1486
    functionName: get_active_connection_count
    functionSourceFile: /src/gnupg/scd/scdaemon.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_active_connection_count (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: SCARD_CTL_CODE
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCARD_CTL_CODE(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: SCARD_CTL_CODE
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCARD_CTL_CODE(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: PCSC_ERR_MASK
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCSC_ERR_MASK(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 379
    functionName: all_zero_p
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int all_zero_p (const void *buffer, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/scd/apdu.c:389,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:392,1
    - Dst: strerror
      Src: /src/gnupg/scd/apdu.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 397
    functionName: lock_slot
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - strerror
    - npth_mutex_lock
    - log_error
    linkageType: ''
    returnType: int
    signature: int lock_slot (int slot)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_trylock
      Src: /src/gnupg/scd/apdu.c:405,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:410,1
    - Dst: strerror
      Src: /src/gnupg/scd/apdu.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 415
    functionName: trylock_slot
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - npth_mutex_trylock
    - strerror
    - log_error
    linkageType: ''
    returnType: int
    signature: int trylock_slot (int slot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/apdu.c:423,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:425,1
    - Dst: strerror
      Src: /src/gnupg/scd/apdu.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionName: unlock_slot
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - strerror
    - npth_mutex_unlock
    - log_error
    linkageType: ''
    returnType: void
    signature: void unlock_slot (int slot)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:448,1
    - Dst: lock_slot
      Src: /src/gnupg/scd/apdu.c:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 481
    functionName: new_reader_slot
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - lock_slot
    - log_error
    linkageType: ''
    returnType: int
    signature: int new_reader_slot (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dump_status_reader
      Src: /src/gnupg/scd/apdu.c:491,1
    - Dst: log_info
      Src: /src/gnupg/scd/apdu.c:495,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/apdu.c:496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 498
    functionName: dump_reader_status
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - dump_status_reader
    - log_info
    - log_printhex
    linkageType: ''
    returnType: void
    signature: void dump_reader_status (int slot)
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 1
    argNames:
    - err
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 532
    functionName: host_sw_string
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      host_sw_string (long err)'
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: host_sw_string
      Src: /src/gnupg/scd/apdu.c:571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 63
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 574
    functionName: apdu_strerror
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 3
    functionsReached:
    - host_sw_string
    linkageType: ''
    returnType: char
    signature: 'char *

      apdu_strerror (int rc)'
  - BBCount: 41
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 123
    argCount: 1
    argNames:
    - err
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 632
    functionName: pcsc_error_string
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      pcsc_error_string (long err)'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: PCSC_ERR_MASK
      Src: /src/gnupg/scd/apdu.c:640,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - ec
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 665
    functionName: pcsc_error_to_sw
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - PCSC_ERR_MASK
    linkageType: ''
    returnType: int
    signature: int pcsc_error_to_sw (long ec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/scd/apdu.c:672,1
    - Dst: log_printf
      Src: /src/gnupg/scd/apdu.c:674,1
    - Dst: log_printf
      Src: /src/gnupg/scd/apdu.c:676,1
    - Dst: log_printf
      Src: /src/gnupg/scd/apdu.c:678,1
    - Dst: log_printf
      Src: /src/gnupg/scd/apdu.c:679,1
    - Dst: log_info
      Src: /src/gnupg/scd/apdu.c:682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 683
    functionName: dump_pcsc_reader_status
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - log_printf
    - log_info
    linkageType: ''
    returnType: void
    signature: void dump_pcsc_reader_status (int slot)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/scd/apdu.c:693,1
    - Dst: pcsc_get_status_change
      Src: /src/gnupg/scd/apdu.c:696,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:701,1
    - Dst: pcsc_error_string
      Src: /src/gnupg/scd/apdu.c:702,1
    - Dst: pcsc_error_to_sw
      Src: /src/gnupg/scd/apdu.c:703,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:711,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - slot
    - status
    - on_wire
    argTypes:
    - int
    - unsigned int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 753
    functionName: pcsc_get_status
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - pcsc_error_string
    - log_error
    - pcsc_error_to_sw
    - pcsc_get_status_change
    - memset
    - log_debug
    linkageType: ''
    returnType: int
    signature: int pcsc_get_status (int slot, unsigned int *status, int on_wire)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reset_pcsc_reader
      Src: /src/gnupg/scd/apdu.c:771,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:778,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/apdu.c:781,1
    - Dst: pcsc_transmit
      Src: /src/gnupg/scd/apdu.c:790,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:795,1
    - Dst: pcsc_error_string
      Src: /src/gnupg/scd/apdu.c:796,1
    - Dst: scd_kick_the_loop
      Src: /src/gnupg/scd/apdu.c:803,1
    - Dst: pcsc_error_to_sw
      Src: /src/gnupg/scd/apdu.c:806,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 6
    argNames:
    - slot
    - apdu
    - apdulen
    - buffer
    - buflen
    - pininfo
    argTypes:
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - pininfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 807
    functionName: pcsc_send_apdu
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - pcsc_error_string
    - log_printhex
    - log_error
    - pcsc_error_to_sw
    - scd_kick_the_loop
    - log_debug
    - reset_pcsc_reader
    - pcsc_transmit
    linkageType: ''
    returnType: int
    signature: "int pcsc_send_apdu (int slot, unsigned char *apdu, size_t apdulen,\n
      \               unsigned char *buffer, size_t *buflen,\n                pininfo_t
      *pininfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcsc_control
      Src: /src/gnupg/scd/apdu.c:822,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:826,1
    - Dst: pcsc_error_string
      Src: /src/gnupg/scd/apdu.c:827,1
    - Dst: pcsc_error_to_sw
      Src: /src/gnupg/scd/apdu.c:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - slot
    - ioctl_code
    - cntlbuf
    - len
    - buffer
    - buflen
    argTypes:
    - int
    - pcsc_dword_t
    - unsigned char*
    - size_t
    - unsigned char*
    - pcsc_dword_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 815
    functionDepth: 2
    functionLinenumber: 815
    functionLinenumberEnd: 832
    functionName: control_pcsc
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - pcsc_control
    - pcsc_error_string
    - pcsc_error_to_sw
    - log_error
    linkageType: ''
    returnType: int
    signature: "int control_pcsc (int slot, pcsc_dword_t ioctl_code,\n              const
      unsigned char *cntlbuf, size_t len,\n              unsigned char *buffer, pcsc_dword_t
      *buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/scd/apdu.c:839,1
    - Dst: pcsc_release_context
      Src: /src/gnupg/scd/apdu.c:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 842
    functionName: release_pcsc_context
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - pcsc_release_context
    - log_assert
    linkageType: ''
    returnType: void
    signature: void release_pcsc_context (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/scd/apdu.c:849,1
    - Dst: release_pcsc_context
      Src: /src/gnupg/scd/apdu.c:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 853
    functionName: close_pcsc_reader
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - release_pcsc_context
    - log_assert
    linkageType: ''
    returnType: int
    signature: int close_pcsc_reader (int slot)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/scd/apdu.c:862,1
    - Dst: pcsc_connect
      Src: /src/gnupg/scd/apdu.c:870,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:880,1
    - Dst: pcsc_error_string
      Src: /src/gnupg/scd/apdu.c:881,1
    - Dst: pcsc_cancel
      Src: /src/gnupg/scd/apdu.c:885,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:886,1
    - Dst: pcsc_error_string
      Src: /src/gnupg/scd/apdu.c:887,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:889,1
    - Dst: pcsc_vendor_specific_init
      Src: /src/gnupg/scd/apdu.c:898,1
    - Dst: DIM
      Src: /src/gnupg/scd/apdu.c:900,1
    - Dst: pcsc_status
      Src: /src/gnupg/scd/apdu.c:902,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:907,1
    - Dst: pcsc_error_string
      Src: /src/gnupg/scd/apdu.c:908,1
    - Dst: DIM
      Src: /src/gnupg/scd/apdu.c:911,1
    - Dst: log_bug
      Src: /src/gnupg/scd/apdu.c:912,1
    - Dst: dump_reader_status
      Src: /src/gnupg/scd/apdu.c:918,1
    - Dst: pcsc_error_to_sw
      Src: /src/gnupg/scd/apdu.c:919,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 857
    functionDepth: 2
    functionLinenumber: 857
    functionLinenumberEnd: 920
    functionName: connect_pcsc_card
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - pcsc_error_string
    - log_error
    - log_assert
    - log_bug
    - DIM
    - pcsc_error_to_sw
    - dump_reader_status
    - pcsc_status
    - pcsc_connect
    - pcsc_cancel
    - pcsc_vendor_specific_init
    linkageType: ''
    returnType: int
    signature: int connect_pcsc_card (int slot)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/scd/apdu.c:928,1
    - Dst: pcsc_disconnect
      Src: /src/gnupg/scd/apdu.c:933,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:936,1
    - Dst: pcsc_error_string
      Src: /src/gnupg/scd/apdu.c:937,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 942
    functionName: disconnect_pcsc_card
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - pcsc_error_string
    - log_error
    - pcsc_disconnect
    - log_assert
    linkageType: ''
    returnType: int
    signature: int disconnect_pcsc_card (int slot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disconnect_pcsc_card
      Src: /src/gnupg/scd/apdu.c:952,1
    - Dst: connect_pcsc_card
      Src: /src/gnupg/scd/apdu.c:954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 947
    functionDepth: 3
    functionLinenumber: 947
    functionLinenumberEnd: 957
    functionName: reset_pcsc_reader
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 1
    functionsReached:
    - connect_pcsc_card
    - disconnect_pcsc_card
    linkageType: ''
    returnType: int
    signature: int reset_pcsc_reader (int slot)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: control_pcsc
      Src: /src/gnupg/scd/apdu.c:974,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:977,1
    - Dst: buf16_to_uint
      Src: /src/gnupg/scd/apdu.c:993,1
    - Dst: buf32_to_uint
      Src: /src/gnupg/scd/apdu.c:995,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:1005,1
    - Dst: strstr
      Src: /src/gnupg/scd/apdu.c:1019,1
    - Dst: control_pcsc
      Src: /src/gnupg/scd/apdu.c:1022,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:1030,1
    - Dst: strstr
      Src: /src/gnupg/scd/apdu.c:1033,1
    - Dst: strstr
      Src: /src/gnupg/scd/apdu.c:1038,1
    - Dst: strstr
      Src: /src/gnupg/scd/apdu.c:1039,1
    - Dst: strstr
      Src: /src/gnupg/scd/apdu.c:1040,1
    - Dst: strstr
      Src: /src/gnupg/scd/apdu.c:1041,1
    - Dst: strstr
      Src: /src/gnupg/scd/apdu.c:1042,1
    - Dst: control_pcsc
      Src: /src/gnupg/scd/apdu.c:1050,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1053,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:1082,1
    - Dst: control_pcsc
      Src: /src/gnupg/scd/apdu.c:1094,1
    - Dst: control_pcsc
      Src: /src/gnupg/scd/apdu.c:1103,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:1110,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 87
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 962
    functionDepth: 3
    functionLinenumber: 962
    functionLinenumberEnd: 1131
    functionName: pcsc_vendor_specific_init
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 1
    functionsReached:
    - buf32_to_uint
    - control_pcsc
    - log_error
    - strstr
    - buf16_to_uint
    - log_debug
    linkageType: ''
    returnType: int
    signature: int pcsc_vendor_specific_init (int slot)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/gnupg/scd/apdu.c:1144,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1147,1
    - Dst: dlerror
      Src: /src/gnupg/scd/apdu.c:1148,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1152,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1153,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1154,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1155,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1158,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1160,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1163,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1165,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1168,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1170,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1173,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1175,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1176,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1179,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1181,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1182,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1183,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1184,1
    - Dst: dlsym
      Src: /src/gnupg/scd/apdu.c:1185,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1203,1
    - Dst: dlclose
      Src: /src/gnupg/scd/apdu.c:1218,1
    - Dst: pcsc_establish_context
      Src: /src/gnupg/scd/apdu.c:1224,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1228,1
    - Dst: pcsc_error_string
      Src: /src/gnupg/scd/apdu.c:1229,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1133
    functionDepth: 1
    functionLinenumber: 1133
    functionLinenumberEnd: 1234
    functionName: pcsc_init
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - pcsc_error_string
    - dlerror
    - log_error
    - pcsc_establish_context
    - dlopen
    - dlsym
    - dlclose
    linkageType: ''
    returnType: int
    signature: int pcsc_init (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: new_reader_slot
      Src: /src/gnupg/scd/apdu.c:1243,1
    - Dst: xtrystrdup
      Src: /src/gnupg/scd/apdu.c:1248,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1251,1
    - Dst: close_pcsc_reader
      Src: /src/gnupg/scd/apdu.c:1252,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:1254,1
    - Dst: dump_reader_status
      Src: /src/gnupg/scd/apdu.c:1269,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:1270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - rdrname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1238
    functionDepth: 3
    functionLinenumber: 1238
    functionLinenumberEnd: 1272
    functionName: open_pcsc_reader
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - log_error
    - close_pcsc_reader
    - new_reader_slot
    - unlock_slot
    - dump_reader_status
    - xtrystrdup
    linkageType: ''
    returnType: int
    signature: int open_pcsc_reader (const char *rdrname)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:1301,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - slot
    - command
    - pininfo
    argTypes:
    - int
    - int
    - pininfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1308
    functionName: check_pcsc_pinpad
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - log_debug
    linkageType: ''
    returnType: int
    signature: int check_pcsc_pinpad (int slot, int command, pininfo_t *pininfo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reset_pcsc_reader
      Src: /src/gnupg/scd/apdu.c:1330,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/apdu.c:1336,1
    - Dst: memset
      Src: /src/gnupg/scd/apdu.c:1367,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:1370,1
    - Dst: control_pcsc
      Src: /src/gnupg/scd/apdu.c:1373,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:1375,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1378,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:1383,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 6
    argNames:
    - slot
    - class
    - ins
    - p0
    - p1
    - pininfo
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - pininfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1311
    functionDepth: 4
    functionLinenumber: 1311
    functionLinenumberEnd: 1385
    functionName: pcsc_pinpad_verify
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - control_pcsc
    - log_error
    - memset
    - xfree
    - xtrymalloc
    - reset_pcsc_reader
    - log_debug
    linkageType: ''
    returnType: int
    signature: "int pcsc_pinpad_verify (int slot, int class, int ins, int p0, int
      p1,\n                    pininfo_t *pininfo)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reset_pcsc_reader
      Src: /src/gnupg/scd/apdu.c:1400,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/apdu.c:1406,1
    - Dst: memset
      Src: /src/gnupg/scd/apdu.c:1448,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:1451,1
    - Dst: control_pcsc
      Src: /src/gnupg/scd/apdu.c:1454,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:1456,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1459,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:1464,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 6
    argNames:
    - slot
    - class
    - ins
    - p0
    - p1
    - pininfo
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - pininfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1389
    functionDepth: 4
    functionLinenumber: 1389
    functionLinenumberEnd: 1466
    functionName: pcsc_pinpad_modify
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - control_pcsc
    - log_error
    - memset
    - xfree
    - xtrymalloc
    - reset_pcsc_reader
    - log_debug
    linkageType: ''
    returnType: int
    signature: "int pcsc_pinpad_modify (int slot, int class, int ins, int p0, int
      p1,\n                    pininfo_t *pininfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/scd/apdu.c:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1474
    functionDepth: 1
    functionLinenumber: 1474
    functionLinenumberEnd: 1478
    functionName: dump_ccid_reader_status
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - log_info
    linkageType: ''
    returnType: void
    signature: void dump_ccid_reader_status (int slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ccid_close_reader
      Src: /src/gnupg/scd/apdu.c:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1480
    functionDepth: 1
    functionLinenumber: 1480
    functionLinenumberEnd: 1486
    functionName: close_ccid_reader
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - ccid_close_reader
    linkageType: ''
    returnType: int
    signature: int close_ccid_reader (int slot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ccid_get_atr
      Src: /src/gnupg/scd/apdu.c:1497,1
    - Dst: log_assert
      Src: /src/gnupg/scd/apdu.c:1501,1
    - Dst: memcpy
      Src: /src/gnupg/scd/apdu.c:1503,1
    - Dst: dump_reader_status
      Src: /src/gnupg/scd/apdu.c:1504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1489
    functionDepth: 2
    functionLinenumber: 1489
    functionLinenumberEnd: 1506
    functionName: reset_ccid_reader
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - dump_reader_status
    - ccid_get_atr
    - memcpy
    - log_assert
    linkageType: ''
    returnType: int
    signature: int reset_ccid_reader (int slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ccid_set_progress_cb
      Src: /src/gnupg/scd/apdu.c:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slot
    - cb
    - cb_arg
    argTypes:
    - int
    - gcry_handler_progress_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1515
    functionName: set_progress_cb_ccid_reader
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - ccid_set_progress_cb
    linkageType: ''
    returnType: int
    signature: int set_progress_cb_ccid_reader (int slot, gcry_handler_progress_t
      cb, void *cb_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ccid_set_prompt_cb
      Src: /src/gnupg/scd/apdu.c:1522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - slot
    - cb_arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1517
    functionDepth: 1
    functionLinenumber: 1517
    functionLinenumberEnd: 1523
    functionName: set_prompt_cb_ccid_reader
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - ccid_set_prompt_cb
    linkageType: ''
    returnType: int
    signature: int set_prompt_cb_ccid_reader (int slot, void (*cb) (void *, int ),
      void *cb_arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ccid_slot_status
      Src: /src/gnupg/scd/apdu.c:1532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - slot
    - status
    - on_wire
    argTypes:
    - int
    - unsigned int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1526
    functionDepth: 1
    functionLinenumber: 1526
    functionLinenumberEnd: 1544
    functionName: get_status_ccid
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - ccid_slot_status
    linkageType: ''
    returnType: int
    signature: int get_status_ccid (int slot, unsigned int *status, int on_wire)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reset_ccid_reader
      Src: /src/gnupg/scd/apdu.c:1560,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:1567,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/apdu.c:1570,1
    - Dst: ccid_transceive_secure
      Src: /src/gnupg/scd/apdu.c:1575,1
    - Dst: ccid_transceive
      Src: /src/gnupg/scd/apdu.c:1579,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1583,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 6
    argNames:
    - slot
    - apdu
    - apdulen
    - buffer
    - buflen
    - pininfo
    argTypes:
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - pininfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1550
    functionDepth: 3
    functionLinenumber: 1550
    functionLinenumberEnd: 1587
    functionName: send_apdu_ccid
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - log_printhex
    - log_error
    - reset_ccid_reader
    - ccid_transceive_secure
    - ccid_transceive
    - log_debug
    linkageType: ''
    returnType: int
    signature: "int send_apdu_ccid (int slot, unsigned char *apdu, size_t apdulen,\n
      \               unsigned char *buffer, size_t *buflen,\n                pininfo_t
      *pininfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ccid_transceive_secure
      Src: /src/gnupg/scd/apdu.c:1599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - slot
    - command
    - pininfo
    argTypes:
    - int
    - int
    - pininfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1593
    functionDepth: 1
    functionLinenumber: 1593
    functionLinenumberEnd: 1601
    functionName: check_ccid_pinpad
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - ccid_transceive_secure
    linkageType: ''
    returnType: int
    signature: int check_ccid_pinpad (int slot, int command, pininfo_t *pininfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ccid_transceive_secure
      Src: /src/gnupg/scd/apdu.c:1617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - slot
    - class
    - ins
    - p0
    - p1
    - pininfo
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - pininfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1604
    functionDepth: 1
    functionLinenumber: 1604
    functionLinenumberEnd: 1628
    functionName: ccid_pinpad_operation
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - ccid_transceive_secure
    linkageType: ''
    returnType: int
    signature: "int ccid_pinpad_operation (int slot, int class, int ins, int p0, int
      p1,\n                       pininfo_t *pininfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: new_reader_slot
      Src: /src/gnupg/scd/apdu.c:1642,1
    - Dst: ccid_open_reader
      Src: /src/gnupg/scd/apdu.c:1647,1
    - Dst: ccid_get_atr
      Src: /src/gnupg/scd/apdu.c:1651,1
    - Dst: ccid_close_reader
      Src: /src/gnupg/scd/apdu.c:1655,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:1663,1
    - Dst: ccid_require_get_status
      Src: /src/gnupg/scd/apdu.c:1668,1
    - Dst: dump_reader_status
      Src: /src/gnupg/scd/apdu.c:1685,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:1686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - dl
    - r_cciderr
    argTypes:
    - struct dev_list*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1632
    functionDepth: 3
    functionLinenumber: 1632
    functionLinenumberEnd: 1688
    functionName: open_ccid_reader
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - ccid_require_get_status
    - new_reader_slot
    - unlock_slot
    - dump_reader_status
    - ccid_open_reader
    - ccid_get_atr
    - ccid_close_reader
    linkageType: ''
    returnType: int
    signature: int open_ccid_reader (struct dev_list *dl, int *r_cciderr)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1728
    functionName: rapdu_status_to_sw
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rapdu_status_to_sw (int status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rapdu_release
      Src: /src/gnupg/scd/apdu.c:1735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1732
    functionDepth: 0
    functionLinenumber: 1732
    functionLinenumberEnd: 1737
    functionName: close_rapdu_reader
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - rapdu_release
    linkageType: ''
    returnType: int
    signature: int close_rapdu_reader (int slot)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rapdu_send_cmd
      Src: /src/gnupg/scd/apdu.c:1749,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1752,1
    - Dst: strerror
      Src: /src/gnupg/scd/apdu.c:1753,1
    - Dst: rapdu_strerror
      Src: /src/gnupg/scd/apdu.c:1753,1
    - Dst: rapdu_msg_release
      Src: /src/gnupg/scd/apdu.c:1754,1
    - Dst: rapdu_status_to_sw
      Src: /src/gnupg/scd/apdu.c:1755,1
    - Dst: rapdu_read_msg
      Src: /src/gnupg/scd/apdu.c:1757,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1760,1
    - Dst: strerror
      Src: /src/gnupg/scd/apdu.c:1761,1
    - Dst: rapdu_strerror
      Src: /src/gnupg/scd/apdu.c:1761,1
    - Dst: rapdu_msg_release
      Src: /src/gnupg/scd/apdu.c:1762,1
    - Dst: rapdu_status_to_sw
      Src: /src/gnupg/scd/apdu.c:1763,1
    - Dst: rapdu_status_to_sw
      Src: /src/gnupg/scd/apdu.c:1767,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1768,1
    - Dst: rapdu_strerror
      Src: /src/gnupg/scd/apdu.c:1769,1
    - Dst: rapdu_msg_release
      Src: /src/gnupg/scd/apdu.c:1770,1
    - Dst: DIM
      Src: /src/gnupg/scd/apdu.c:1773,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1775,1
    - Dst: rapdu_msg_release
      Src: /src/gnupg/scd/apdu.c:1776,1
    - Dst: memcpy
      Src: /src/gnupg/scd/apdu.c:1780,1
    - Dst: rapdu_msg_release
      Src: /src/gnupg/scd/apdu.c:1782,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1740
    functionDepth: 1
    functionLinenumber: 1740
    functionLinenumberEnd: 1784
    functionName: reset_rapdu_reader
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - rapdu_read_msg
    - log_error
    - DIM
    - rapdu_send_cmd
    - rapdu_strerror
    - rapdu_msg_release
    - rapdu_status_to_sw
    - memcpy
    - strerror
    linkageType: ''
    returnType: int
    signature: int reset_rapdu_reader (int slot)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rapdu_set_reader
      Src: /src/gnupg/scd/apdu.c:1798,1
    - Dst: rapdu_send_cmd
      Src: /src/gnupg/scd/apdu.c:1799,1
    - Dst: rapdu_set_reader
      Src: /src/gnupg/scd/apdu.c:1800,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1803,1
    - Dst: strerror
      Src: /src/gnupg/scd/apdu.c:1804,1
    - Dst: rapdu_strerror
      Src: /src/gnupg/scd/apdu.c:1804,1
    - Dst: rapdu_status_to_sw
      Src: /src/gnupg/scd/apdu.c:1805,1
    - Dst: rapdu_read_msg
      Src: /src/gnupg/scd/apdu.c:1807,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1810,1
    - Dst: strerror
      Src: /src/gnupg/scd/apdu.c:1811,1
    - Dst: rapdu_strerror
      Src: /src/gnupg/scd/apdu.c:1811,1
    - Dst: rapdu_msg_release
      Src: /src/gnupg/scd/apdu.c:1812,1
    - Dst: rapdu_status_to_sw
      Src: /src/gnupg/scd/apdu.c:1813,1
    - Dst: rapdu_status_to_sw
      Src: /src/gnupg/scd/apdu.c:1817,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1818,1
    - Dst: rapdu_strerror
      Src: /src/gnupg/scd/apdu.c:1819,1
    - Dst: rapdu_msg_release
      Src: /src/gnupg/scd/apdu.c:1820,1
    - Dst: rapdu_msg_release
      Src: /src/gnupg/scd/apdu.c:1825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - slot
    - status
    - on_wire
    argTypes:
    - int
    - unsigned int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1787
    functionDepth: 1
    functionLinenumber: 1787
    functionLinenumberEnd: 1827
    functionName: my_rapdu_get_status
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - rapdu_read_msg
    - log_error
    - rapdu_send_cmd
    - rapdu_strerror
    - rapdu_status_to_sw
    - rapdu_msg_release
    - rapdu_set_reader
    - strerror
    linkageType: ''
    returnType: int
    signature: int my_rapdu_get_status (int slot, unsigned int *status, int on_wire)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_printhex
      Src: /src/gnupg/scd/apdu.c:1847,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1851,1
    - Dst: rapdu_send_apdu
      Src: /src/gnupg/scd/apdu.c:1855,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1858,1
    - Dst: strerror
      Src: /src/gnupg/scd/apdu.c:1859,1
    - Dst: rapdu_strerror
      Src: /src/gnupg/scd/apdu.c:1859,1
    - Dst: rapdu_msg_release
      Src: /src/gnupg/scd/apdu.c:1860,1
    - Dst: rapdu_status_to_sw
      Src: /src/gnupg/scd/apdu.c:1861,1
    - Dst: rapdu_read_msg
      Src: /src/gnupg/scd/apdu.c:1863,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1866,1
    - Dst: strerror
      Src: /src/gnupg/scd/apdu.c:1867,1
    - Dst: rapdu_strerror
      Src: /src/gnupg/scd/apdu.c:1867,1
    - Dst: rapdu_msg_release
      Src: /src/gnupg/scd/apdu.c:1868,1
    - Dst: rapdu_status_to_sw
      Src: /src/gnupg/scd/apdu.c:1869,1
    - Dst: rapdu_status_to_sw
      Src: /src/gnupg/scd/apdu.c:1873,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1874,1
    - Dst: rapdu_strerror
      Src: /src/gnupg/scd/apdu.c:1875,1
    - Dst: rapdu_msg_release
      Src: /src/gnupg/scd/apdu.c:1876,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1882,1
    - Dst: rapdu_msg_release
      Src: /src/gnupg/scd/apdu.c:1883,1
    - Dst: memcpy
      Src: /src/gnupg/scd/apdu.c:1888,1
    - Dst: rapdu_msg_release
      Src: /src/gnupg/scd/apdu.c:1890,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 6
    argNames:
    - slot
    - apdu
    - apdulen
    - buffer
    - buflen
    - pininfo
    argTypes:
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - pininfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1833
    functionDepth: 1
    functionLinenumber: 1833
    functionLinenumberEnd: 1892
    functionName: my_rapdu_send_apdu
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - rapdu_read_msg
    - log_printhex
    - log_error
    - rapdu_strerror
    - rapdu_msg_release
    - rapdu_status_to_sw
    - memcpy
    - rapdu_send_apdu
    - strerror
    linkageType: ''
    returnType: int
    signature: "int my_rapdu_send_apdu (int slot, unsigned char *apdu, size_t apdulen,\n
      \                   unsigned char *buffer, size_t *buflen,\n                    pininfo_t
      *pininfo)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: new_reader_slot
      Src: /src/gnupg/scd/apdu.c:1911,1
    - Dst: rapdu_new
      Src: /src/gnupg/scd/apdu.c:1916,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:1920,1
    - Dst: rapdu_set_reader
      Src: /src/gnupg/scd/apdu.c:1924,1
    - Dst: rapdu_set_iofunc
      Src: /src/gnupg/scd/apdu.c:1926,1
    - Dst: rapdu_set_cookie
      Src: /src/gnupg/scd/apdu.c:1930,1
    - Dst: rapdu_send_cmd
      Src: /src/gnupg/scd/apdu.c:1934,1
    - Dst: rapdu_send_cmd
      Src: /src/gnupg/scd/apdu.c:1936,1
    - Dst: log_info
      Src: /src/gnupg/scd/apdu.c:1939,1
    - Dst: strerror
      Src: /src/gnupg/scd/apdu.c:1940,1
    - Dst: rapdu_strerror
      Src: /src/gnupg/scd/apdu.c:1940,1
    - Dst: rapdu_read_msg
      Src: /src/gnupg/scd/apdu.c:1943,1
    - Dst: log_info
      Src: /src/gnupg/scd/apdu.c:1946,1
    - Dst: strerror
      Src: /src/gnupg/scd/apdu.c:1947,1
    - Dst: rapdu_strerror
      Src: /src/gnupg/scd/apdu.c:1947,1
    - Dst: log_info
      Src: /src/gnupg/scd/apdu.c:1952,1
    - Dst: rapdu_strerror
      Src: /src/gnupg/scd/apdu.c:1953,1
    - Dst: DIM
      Src: /src/gnupg/scd/apdu.c:1956,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:1958,1
    - Dst: memcpy
      Src: /src/gnupg/scd/apdu.c:1962,1
    - Dst: dump_reader_status
      Src: /src/gnupg/scd/apdu.c:1973,1
    - Dst: rapdu_msg_release
      Src: /src/gnupg/scd/apdu.c:1974,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:1975,1
    - Dst: rapdu_msg_release
      Src: /src/gnupg/scd/apdu.c:1979,1
    - Dst: rapdu_release
      Src: /src/gnupg/scd/apdu.c:1980,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:1982,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 6
    argNames:
    - portno
    - cookie
    - length
    - readfnc_value
    - writefnc_value
    - closefnc_value
    argTypes:
    - int
    - unsigned char*
    - size_t
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1894
    functionDepth: 3
    functionLinenumber: 1894
    functionLinenumberEnd: 1984
    functionName: open_rapdu_reader
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - rapdu_read_msg
    - log_error
    - rapdu_set_cookie
    - DIM
    - new_reader_slot
    - rapdu_release
    - unlock_slot
    - rapdu_send_cmd
    - rapdu_strerror
    - dump_reader_status
    - rapdu_msg_release
    - log_info
    - memcpy
    - rapdu_set_reader
    - strerror
    - rapdu_set_iofunc
    - rapdu_new
    linkageType: ''
    returnType: int
    signature: "int open_rapdu_reader (int portno,\n                   const unsigned
      char *cookie, size_t length,\n                   int (*readfnc) (void *opaque,\n
      \                                  void *buffer, size_t size),\n                   void
      *readfnc_value,\n                   int (*writefnc) (void *opaque,\n                                    const
      void *buffer, size_t size),\n                   void *writefnc_value,\n                   void
      (*closefnc) (void *opaque),\n                   void *closefnc_value)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/apdu.c:1996,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/apdu.c:2001,1
    - Dst: ccid_dev_scan
      Src: /src/gnupg/scd/apdu.c:2011,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:2014,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2021,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:2023,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/apdu.c:2024,1
    - Dst: pcsc_init
      Src: /src/gnupg/scd/apdu.c:2037,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:2039,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/apdu.c:2040,1
    - Dst: pcsc_list_readers
      Src: /src/gnupg/scd/apdu.c:2044,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/apdu.c:2047,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/apdu.c:2050,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:2052,1
    - Dst: release_pcsc_context
      Src: /src/gnupg/scd/apdu.c:2054,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:2055,1
    - Dst: pcsc_list_readers
      Src: /src/gnupg/scd/apdu.c:2058,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:2062,1
    - Dst: pcsc_error_string
      Src: /src/gnupg/scd/apdu.c:2063,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:2064,1
    - Dst: release_pcsc_context
      Src: /src/gnupg/scd/apdu.c:2066,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:2067,1
    - Dst: iso7816_map_sw
      Src: /src/gnupg/scd/apdu.c:2068,1
    - Dst: pcsc_error_to_sw
      Src: /src/gnupg/scd/apdu.c:2068,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:2087,1
    - Dst: log_info
      Src: /src/gnupg/scd/apdu.c:2091,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:2098,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 75
    argCount: 2
    argNames:
    - portstr
    - l_p
    argTypes:
    - char*
    - struct dev_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 1993
    functionDepth: 3
    functionLinenumber: 1993
    functionLinenumberEnd: 2114
    functionName: apdu_dev_list_start
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 1
    functionsReached:
    - pcsc_list_readers
    - pcsc_error_string
    - ccid_dev_scan
    - gpg_error_from_syserror
    - log_error
    - iso7816_map_sw
    - release_pcsc_context
    - pcsc_error_to_sw
    - gpg_error
    - xfree
    - log_info
    - xtrymalloc
    - log_debug
    - pcsc_init
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t apdu_dev_list_start (const char *portstr, struct dev_list
      **l_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ccid_dev_scan_finish
      Src: /src/gnupg/scd/apdu.c:2123,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:2130,1
    - Dst: npth_mutex_lock
      Src: /src/gnupg/scd/apdu.c:2134,1
    - Dst: release_pcsc_context
      Src: /src/gnupg/scd/apdu.c:2136,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/apdu.c:2137,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:2139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - dl
    argTypes:
    - struct dev_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2116
    functionDepth: 1
    functionLinenumber: 2116
    functionLinenumberEnd: 2140
    functionName: apdu_dev_list_finish
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 1
    functionsReached:
    - npth_mutex_unlock
    - npth_mutex_lock
    - release_pcsc_context
    - xfree
    - ccid_dev_scan_finish
    linkageType: ''
    returnType: void
    signature: void apdu_dev_list_finish (struct dev_list *dl)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnupg/scd/apdu.c:2158,1
    - Dst: atoi
      Src: /src/gnupg/scd/apdu.c:2162,1
    - Dst: npth_mutex_lock
      Src: /src/gnupg/scd/apdu.c:2166,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/apdu.c:2171,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/apdu.c:2174,1
    - Dst: open_ccid_reader
      Src: /src/gnupg/scd/apdu.c:2196,1
    - Dst: npth_mutex_lock
      Src: /src/gnupg/scd/apdu.c:2202,1
    - Dst: ccid_get_BAI
      Src: /src/gnupg/scd/apdu.c:2205,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2208,1
    - Dst: ccid_compare_BAI
      Src: /src/gnupg/scd/apdu.c:2214,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2220,1
    - Dst: open_ccid_reader
      Src: /src/gnupg/scd/apdu.c:2222,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/apdu.c:2227,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:2233,1
    - Dst: log_info
      Src: /src/gnupg/scd/apdu.c:2235,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/apdu.c:2245,1
    - Dst: open_pcsc_reader
      Src: /src/gnupg/scd/apdu.c:2255,1
    - Dst: npth_mutex_lock
      Src: /src/gnupg/scd/apdu.c:2261,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2267,1
    - Dst: strcmp
      Src: /src/gnupg/scd/apdu.c:2272,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2278,1
    - Dst: strncmp
      Src: /src/gnupg/scd/apdu.c:2282,1
    - Dst: strlen
      Src: /src/gnupg/scd/apdu.c:2282,1
    - Dst: open_pcsc_reader
      Src: /src/gnupg/scd/apdu.c:2285,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/apdu.c:2288,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:2294,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/apdu.c:2300,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 88
    argCount: 1
    argNames:
    - dl
    argTypes:
    - struct dev_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2143
    functionDepth: 4
    functionLinenumber: 2143
    functionLinenumberEnd: 2306
    functionName: apdu_open_reader
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 1
    functionsReached:
    - ccid_get_BAI
    - npth_mutex_unlock
    - npth_mutex_lock
    - atoi
    - log_error
    - strlen
    - open_ccid_reader
    - strcmp
    - open_pcsc_reader
    - strchr
    - ccid_compare_BAI
    - log_info
    - strncmp
    - log_debug
    linkageType: ''
    returnType: int
    signature: int apdu_open_reader (struct dev_list *dl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: open_rapdu_reader
      Src: /src/gnupg/scd/apdu.c:2329,1
    - Dst: atoi
      Src: /src/gnupg/scd/apdu.c:2329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 6
    argNames:
    - portstr
    - cookie
    - length
    - readfnc_value
    - writefnc_value
    - closefnc_value
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2316
    functionDepth: 4
    functionLinenumber: 2316
    functionLinenumberEnd: 2351
    functionName: apdu_open_remote_reader
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached:
    - open_rapdu_reader
    - atoi
    linkageType: ''
    returnType: int
    signature: "int apdu_open_remote_reader (const char *portstr,\n                         const
      unsigned char *cookie, size_t length,\n                         int (*readfnc)
      (void *opaque,\n                                         void *buffer, size_t
      size),\n                         void *readfnc_value,\n                         int
      (*writefnc) (void *opaque,\n                                          const
      void *buffer, size_t size),\n                         void *writefnc_value,\n
      \                        void (*closefnc) (void *opaque),\n                         void
      *closefnc_value)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2360,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2365,1
    - Dst: apdu_disconnect
      Src: /src/gnupg/scd/apdu.c:2368,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2376,1
    - Dst: npth_mutex_lock
      Src: /src/gnupg/scd/apdu.c:2380,1
    - Dst: close_reader
      Src: /src/gnupg/scd/apdu.c:2381,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:2382,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/apdu.c:2385,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2387,1
    - Dst: npth_mutex_lock
      Src: /src/gnupg/scd/apdu.c:2390,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:2391,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/apdu.c:2394,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2396,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2354
    functionDepth: 1
    functionLinenumber: 2354
    functionLinenumberEnd: 2398
    functionName: apdu_close_reader
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 2
    functionsReached:
    - npth_mutex_lock
    - npth_mutex_unlock
    - apdu_disconnect
    - xfree
    - close_reader
    - log_debug
    linkageType: ''
    returnType: int
    signature: int apdu_close_reader (int slot)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_lock
      Src: /src/gnupg/scd/apdu.c:2414,1
    - Dst: apdu_disconnect
      Src: /src/gnupg/scd/apdu.c:2418,1
    - Dst: close_reader
      Src: /src/gnupg/scd/apdu.c:2420,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:2421,1
    - Dst: npth_mutex_unlock
      Src: /src/gnupg/scd/apdu.c:2425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2405
    functionDepth: 1
    functionLinenumber: 2405
    functionLinenumberEnd: 2428
    functionName: apdu_prepare_exit
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 1
    functionsReached:
    - npth_mutex_unlock
    - npth_mutex_lock
    - apdu_disconnect
    - xfree
    - close_reader
    linkageType: ''
    returnType: void
    signature: void apdu_prepare_exit (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - slot
    - used
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2441
    functionName: apdu_enum_reader
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int apdu_enum_reader (int slot, int *used)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2458,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2463,1
    - Dst: lock_slot
      Src: /src/gnupg/scd/apdu.c:2472,1
    - Dst: connect_card
      Src: /src/gnupg/scd/apdu.c:2475,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:2476,1
    - Dst: apdu_get_status_internal
      Src: /src/gnupg/scd/apdu.c:2486,1
    - Dst: apdu_reset
      Src: /src/gnupg/scd/apdu.c:2498,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2502,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2508
      start: 2451
    functionDepth: 2
    functionLinenumber: 2451
    functionLinenumberEnd: 2508
    functionName: apdu_connect
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 1
    functionsReached:
    - apdu_reset
    - apdu_get_status_internal
    - connect_card
    - unlock_slot
    - lock_slot
    - log_debug
    linkageType: ''
    returnType: int
    signature: int apdu_connect (int slot)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2517,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2522,1
    - Dst: lock_slot
      Src: /src/gnupg/scd/apdu.c:2528,1
    - Dst: disconnect_card
      Src: /src/gnupg/scd/apdu.c:2531,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:2532,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2539,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2511
    functionDepth: 2
    functionLinenumber: 2511
    functionLinenumberEnd: 2541
    functionName: apdu_disconnect
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 3
    functionsReached:
    - lock_slot
    - disconnect_card
    - log_debug
    - unlock_slot
    linkageType: ''
    returnType: int
    signature: int apdu_disconnect (int slot)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lock_slot
      Src: /src/gnupg/scd/apdu.c:2556,1
    - Dst: set_progress_cb
      Src: /src/gnupg/scd/apdu.c:2559,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:2560,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - slot
    - cb
    - cb_arg
    argTypes:
    - int
    - gcry_handler_progress_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2546
    functionDepth: 2
    functionLinenumber: 2546
    functionLinenumberEnd: 2566
    functionName: apdu_set_progress_cb
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 2
    functionsReached:
    - lock_slot
    - set_progress_cb
    - unlock_slot
    linkageType: ''
    returnType: int
    signature: int apdu_set_progress_cb (int slot, gcry_handler_progress_t cb, void
      *cb_arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lock_slot
      Src: /src/gnupg/scd/apdu.c:2579,1
    - Dst: set_prompt_cb
      Src: /src/gnupg/scd/apdu.c:2582,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:2583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - slot
    - cb_arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2569
    functionDepth: 2
    functionLinenumber: 2569
    functionLinenumberEnd: 2589
    functionName: apdu_set_prompt_cb
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 2
    functionsReached:
    - lock_slot
    - set_prompt_cb
    - unlock_slot
    linkageType: ''
    returnType: int
    signature: int apdu_set_prompt_cb (int slot, void (*cb) (void *, int), void *cb_arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2599,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2604,1
    - Dst: lock_slot
      Src: /src/gnupg/scd/apdu.c:2608,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2611,1
    - Dst: reset_reader
      Src: /src/gnupg/scd/apdu.c:2616,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:2618,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2620,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2593
    functionDepth: 2
    functionLinenumber: 2593
    functionLinenumberEnd: 2622
    functionName: apdu_reset
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 2
    functionsReached:
    - lock_slot
    - unlock_slot
    - log_debug
    - reset_reader
    linkageType: ''
    returnType: int
    signature: int apdu_reset (int slot)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2636,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2642,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/apdu.c:2646,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2650,1
    - Dst: memcpy
      Src: /src/gnupg/scd/apdu.c:2653,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - slot
    - atrlen
    argTypes:
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2628
    functionDepth: 0
    functionLinenumber: 2628
    functionLinenumberEnd: 2656
    functionName: apdu_get_atr
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 3
    functionsReached:
    - xtrymalloc
    - memcpy
    - log_debug
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      apdu_get_atr (int slot, size_t *atrlen)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lock_slot
      Src: /src/gnupg/scd/apdu.c:2680,1
    - Dst: trylock_slot
      Src: /src/gnupg/scd/apdu.c:2680,1
    - Dst: get_status_reader
      Src: /src/gnupg/scd/apdu.c:2684,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:2686,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - slot
    - hang
    - status
    - on_wire
    argTypes:
    - int
    - int
    - unsigned int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2698
      start: 2671
    functionDepth: 2
    functionLinenumber: 2671
    functionLinenumberEnd: 2698
    functionName: apdu_get_status_internal
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 1
    functionsReached:
    - lock_slot
    - trylock_slot
    - get_status_reader
    - unlock_slot
    linkageType: ''
    returnType: int
    signature: int apdu_get_status_internal (int slot, int hang, unsigned int *status,
      int on_wire)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2708,1
    - Dst: apdu_get_status_internal
      Src: /src/gnupg/scd/apdu.c:2709,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2713,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2716,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - slot
    - hang
    - status
    argTypes:
    - int
    - int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2702
    functionDepth: 3
    functionLinenumber: 2702
    functionLinenumberEnd: 2719
    functionName: apdu_get_status
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 1
    functionsReached:
    - apdu_get_status_internal
    - log_debug
    linkageType: ''
    returnType: int
    signature: int apdu_get_status (int slot, int hang, unsigned int *status)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lock_slot
      Src: /src/gnupg/scd/apdu.c:2738,1
    - Dst: check_pinpad
      Src: /src/gnupg/scd/apdu.c:2741,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:2742,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - slot
    - command
    - pininfo
    argTypes:
    - int
    - int
    - pininfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2725
    functionDepth: 2
    functionLinenumber: 2725
    functionLinenumberEnd: 2747
    functionName: apdu_check_pinpad
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 1
    functionsReached:
    - lock_slot
    - check_pinpad
    - unlock_slot
    linkageType: ''
    returnType: int
    signature: int apdu_check_pinpad (int slot, int command, pininfo_t *pininfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lock_slot
      Src: /src/gnupg/scd/apdu.c:2761,1
    - Dst: pinpad_verify
      Src: /src/gnupg/scd/apdu.c:2764,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:2766,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 6
    argNames:
    - slot
    - class
    - ins
    - p0
    - p1
    - pininfo
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - pininfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2750
    functionDepth: 2
    functionLinenumber: 2750
    functionLinenumberEnd: 2771
    functionName: apdu_pinpad_verify
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 1
    functionsReached:
    - lock_slot
    - pinpad_verify
    - unlock_slot
    linkageType: ''
    returnType: int
    signature: "int apdu_pinpad_verify (int slot, int class, int ins, int p0, int
      p1,\n                    pininfo_t *pininfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lock_slot
      Src: /src/gnupg/scd/apdu.c:2785,1
    - Dst: pinpad_modify
      Src: /src/gnupg/scd/apdu.c:2788,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:2790,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 6
    argNames:
    - slot
    - class
    - ins
    - p0
    - p1
    - pininfo
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - pininfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2795
      start: 2774
    functionDepth: 2
    functionLinenumber: 2774
    functionLinenumberEnd: 2795
    functionName: apdu_pinpad_modify
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 1
    functionsReached:
    - lock_slot
    - pinpad_modify
    - unlock_slot
    linkageType: ''
    returnType: int
    signature: "int apdu_pinpad_modify (int slot, int class, int ins, int p0, int
      p1,\n                    pininfo_t *pininfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: send_apdu_reader
      Src: /src/gnupg/scd/apdu.c:2808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 6
    argNames:
    - slot
    - apdu
    - apdulen
    - buffer
    - buflen
    - pininfo
    argTypes:
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - pininfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2814
      start: 2800
    functionDepth: 0
    functionLinenumber: 2800
    functionLinenumberEnd: 2814
    functionName: send_apdu
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 7
    functionsReached:
    - send_apdu_reader
    linkageType: ''
    returnType: int
    signature: "int send_apdu (int slot, unsigned char *apdu, size_t apdulen,\n           unsigned
      char *buffer, size_t *buflen, pininfo_t *pininfo)"
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:2859,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/apdu.c:2912,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/apdu.c:2927,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:2930,1
    - Dst: lock_slot
      Src: /src/gnupg/scd/apdu.c:2942,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:2944,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:2945,1
    - Dst: memcpy
      Src: /src/gnupg/scd/apdu.c:2964,1
    - Dst: log_assert
      Src: /src/gnupg/scd/apdu.c:2983,1
    - Dst: memcpy
      Src: /src/gnupg/scd/apdu.c:2999,1
    - Dst: log_assert
      Src: /src/gnupg/scd/apdu.c:3013,1
    - Dst: memset
      Src: /src/gnupg/scd/apdu.c:3014,1
    - Dst: send_apdu
      Src: /src/gnupg/scd/apdu.c:3016,1
    - Dst: log_info
      Src: /src/gnupg/scd/apdu.c:3019,1
    - Dst: apdu_strerror
      Src: /src/gnupg/scd/apdu.c:3020,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:3021,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:3022,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:3023,1
    - Dst: SW_EXACT_LENGTH_P
      Src: /src/gnupg/scd/apdu.c:3028,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:3039,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:3047,1
    - Dst: all_zero_p
      Src: /src/gnupg/scd/apdu.c:3053,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:3054,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/apdu.c:3056,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/apdu.c:3064,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:3067,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:3068,1
    - Dst: memcpy
      Src: /src/gnupg/scd/apdu.c:3072,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/apdu.c:3084,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:3087,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:3088,1
    - Dst: log_assert
      Src: /src/gnupg/scd/apdu.c:3091,1
    - Dst: memcpy
      Src: /src/gnupg/scd/apdu.c:3092,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:3101,1
    - Dst: log_assert
      Src: /src/gnupg/scd/apdu.c:3111,1
    - Dst: memset
      Src: /src/gnupg/scd/apdu.c:3112,1
    - Dst: send_apdu
      Src: /src/gnupg/scd/apdu.c:3114,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:3117,1
    - Dst: apdu_strerror
      Src: /src/gnupg/scd/apdu.c:3118,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:3119,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:3120,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:3127,1
    - Dst: all_zero_p
      Src: /src/gnupg/scd/apdu.c:3131,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:3132,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/apdu.c:3134,1
    - Dst: xtryrealloc
      Src: /src/gnupg/scd/apdu.c:3150,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:3153,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:3154,1
    - Dst: memcpy
      Src: /src/gnupg/scd/apdu.c:3160,1
    - Dst: log_info
      Src: /src/gnupg/scd/apdu.c:3165,1
    - Dst: xtryrealloc
      Src: /src/gnupg/scd/apdu.c:3174,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:3180,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:3181,1
    - Dst: all_zero_p
      Src: /src/gnupg/scd/apdu.c:3185,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:3186,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/apdu.c:3188,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 238
    argCount: 12
    argNames:
    - slot
    - class
    - ins
    - p0
    - p1
    - lc
    - data
    - le
    - retbuf
    - retbuflen
    - pininfo
    - extended_mode
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - char*
    - int
    - unsigned char**
    - size_t*
    - pininfo_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3192
      start: 2830
    functionDepth: 2
    functionLinenumber: 2830
    functionLinenumberEnd: 3192
    functionName: send_le
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 16
    functionsReached:
    - SW_EXACT_LENGTH_P
    - all_zero_p
    - apdu_strerror
    - log_printhex
    - log_assert
    - log_error
    - unlock_slot
    - lock_slot
    - xtryrealloc
    - xfree
    - memcpy
    - memset
    - send_apdu
    - log_info
    - xtrymalloc
    - log_debug
    linkageType: ''
    returnType: int
    signature: "int send_le (int slot, int class, int ins, int p0, int p1,\n         int
      lc, const char *data, int le,\n         unsigned char **retbuf, size_t *retbuflen,\n
      \        pininfo_t *pininfo, int extended_mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_le
      Src: /src/gnupg/scd/apdu.c:3210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - slot
    - extended_mode
    - class
    - ins
    - p0
    - p1
    - lc
    - data
    - le
    - retbuf
    - retbuflen
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - char*
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3214
      start: 3204
    functionDepth: 3
    functionLinenumber: 3204
    functionLinenumberEnd: 3214
    functionName: apdu_send_le
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 16
    functionsReached:
    - send_le
    linkageType: ''
    returnType: int
    signature: "int apdu_send_le(int slot, int extended_mode,\n             int class,
      int ins, int p0, int p1,\n             int lc, const char *data, int le,\n             unsigned
      char **retbuf, size_t *retbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_le
      Src: /src/gnupg/scd/apdu.c:3232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - slot
    - extended_mode
    - class
    - ins
    - p0
    - p1
    - lc
    - data
    - retbuf
    - retbuflen
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3234
      start: 3227
    functionDepth: 3
    functionLinenumber: 3227
    functionLinenumberEnd: 3234
    functionName: apdu_send
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 3
    functionsReached:
    - send_le
    linkageType: ''
    returnType: int
    signature: "int apdu_send (int slot, int extended_mode,\n           int class,
      int ins, int p0, int p1,\n           int lc, const char *data, unsigned char
      **retbuf, size_t *retbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_le
      Src: /src/gnupg/scd/apdu.c:3248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - slot
    - extended_mode
    - class
    - ins
    - p0
    - p1
    - lc
    - data
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3250
      start: 3243
    functionDepth: 3
    functionLinenumber: 3243
    functionLinenumberEnd: 3250
    functionName: apdu_send_simple
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 13
    functionsReached:
    - send_le
    linkageType: ''
    returnType: int
    signature: "int apdu_send_simple (int slot, int extended_mode,\n                  int
      class, int ins, int p0, int p1,\n                  int lc, const char *data)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/apdu.c:3297,1
    - Dst: memcpy
      Src: /src/gnupg/scd/apdu.c:3307,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/apdu.c:3313,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:3316,1
    - Dst: lock_slot
      Src: /src/gnupg/scd/apdu.c:3328,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:3330,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:3331,1
    - Dst: send_apdu
      Src: /src/gnupg/scd/apdu.c:3336,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:3337,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:3341,1
    - Dst: apdu_strerror
      Src: /src/gnupg/scd/apdu.c:3342,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:3343,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:3344,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:3352,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/apdu.c:3355,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/apdu.c:3367,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:3370,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:3371,1
    - Dst: log_assert
      Src: /src/gnupg/scd/apdu.c:3374,1
    - Dst: memcpy
      Src: /src/gnupg/scd/apdu.c:3375,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:3384,1
    - Dst: memset
      Src: /src/gnupg/scd/apdu.c:3393,1
    - Dst: send_apdu
      Src: /src/gnupg/scd/apdu.c:3395,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:3398,1
    - Dst: apdu_strerror
      Src: /src/gnupg/scd/apdu.c:3399,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:3400,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:3401,1
    - Dst: log_debug
      Src: /src/gnupg/scd/apdu.c:3408,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/apdu.c:3411,1
    - Dst: xtryrealloc
      Src: /src/gnupg/scd/apdu.c:3426,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:3429,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:3430,1
    - Dst: memcpy
      Src: /src/gnupg/scd/apdu.c:3436,1
    - Dst: log_info
      Src: /src/gnupg/scd/apdu.c:3441,1
    - Dst: xtryrealloc
      Src: /src/gnupg/scd/apdu.c:3450,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/apdu.c:3459,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:3462,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:3463,1
    - Dst: memcpy
      Src: /src/gnupg/scd/apdu.c:3467,1
    - Dst: unlock_slot
      Src: /src/gnupg/scd/apdu.c:3471,1
    - Dst: xfree
      Src: /src/gnupg/scd/apdu.c:3472,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/apdu.c:3486,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 137
    argCount: 8
    argNames:
    - slot
    - extended_length
    - apdudata
    - apdudatalen
    - handle_more
    - r_sw
    - retbuf
    - retbuflen
    argTypes:
    - int
    - size_t
    - unsigned char*
    - size_t
    - int
    - unsigned int*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3490
      start: 3269
    functionDepth: 2
    functionLinenumber: 3269
    functionLinenumberEnd: 3490
    functionName: apdu_send_direct
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 2
    functionsReached:
    - apdu_strerror
    - log_printhex
    - log_error
    - log_assert
    - unlock_slot
    - lock_slot
    - xtryrealloc
    - send_apdu
    - memcpy
    - xfree
    - memset
    - log_info
    - xtrymalloc
    - log_debug
    linkageType: ''
    returnType: int
    signature: "int apdu_send_direct (int slot, size_t extended_length,\n                  const
      unsigned char *apdudata, size_t apdudatalen,\n                  int handle_more,
      unsigned int *r_sw,\n                  unsigned char **retbuf, size_t *retbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3497
      start: 3493
    functionDepth: 0
    functionLinenumber: 3493
    functionLinenumberEnd: 3497
    functionName: apdu_get_reader_name
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      apdu_get_reader_name (int slot)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutex_init
      Src: /src/gnupg/scd/apdu.c:3511,1
    - Dst: npth_mutex_init
      Src: /src/gnupg/scd/apdu.c:3515,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/apdu.c:3522,1
    - Dst: log_error
      Src: /src/gnupg/scd/apdu.c:3523,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/apdu.c:3523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3499
    functionDepth: 1
    functionLinenumber: 3499
    functionLinenumberEnd: 3527
    functionName: apdu_init
    functionSourceFile: /src/gnupg/scd/apdu.c
    functionUses: 1
    functionsReached:
    - npth_mutex_init
    - log_error
    - gpg_strerror
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t apdu_init (void)
  - BBCount: 35
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 70
    argCount: 1
    argNames:
    - 'no'
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 361
    functionName: app_openpgp_manufacturer
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      app_openpgp_manufacturer (unsigned int no)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:378,1
    - Dst: DIM
      Src: /src/gnupg/scd/app-openpgp.c:381,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:383,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 389
    functionName: do_deinit
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 4
    functionsReached:
    - DIM
    - xfree
    linkageType: ''
    returnType: void
    signature: void do_deinit (app_t app)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wipememory
      Src: /src/gnupg/scd/app-openpgp.c:402,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 405
    functionName: wipe_and_free
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - wipememory
    - xfree
    linkageType: ''
    returnType: void
    signature: void wipe_and_free (void *p, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wipememory
      Src: /src/gnupg/scd/app-openpgp.c:415,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:415,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 418
    functionName: wipe_and_free_string
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - wipememory
    - xfree
    - strlen
    linkageType: ''
    returnType: void
    signature: void wipe_and_free_string (char *p)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:454,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:456,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:457,1
    - Dst: iso7816_get_data
      Src: /src/gnupg/scd/app-openpgp.c:479,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:479,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-openpgp.c:495,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-openpgp.c:500,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-openpgp.c:505,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-openpgp.c:513,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-openpgp.c:518,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-openpgp.c:523,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-openpgp.c:546,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:548,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:552,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:554,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 86
    argCount: 6
    argNames:
    - app
    - tag
    - result
    - resultlen
    - get_immediate
    - try_extlen
    argTypes:
    - app_t
    - int
    - unsigned char**
    - size_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 425
    functionDepth: 3
    functionLinenumber: 425
    functionLinenumberEnd: 562
    functionName: get_cached_data
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 1
    functionsReached:
    - memmove
    - gpg_error_from_syserror
    - log_assert
    - app_get_slot
    - iso7816_get_data
    - xfree
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_cached_data (app_t app, int tag,\n                 unsigned
      char **result, size_t *resultlen,\n                 int get_immediate, int try_extlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:581,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-openpgp.c:585,1
    - Dst: flush_cache_item
      Src: /src/gnupg/scd/app-openpgp.c:594,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - app
    - tag
    argTypes:
    - app_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 595
    functionName: flush_cache_item
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 1
    functionsReached:
    - flush_cache_item
    - xfree
    - log_assert
    linkageType: ''
    returnType: void
    signature: void flush_cache_item (app_t app, int tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flush_cache_item
      Src: /src/gnupg/scd/app-openpgp.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 607
    functionName: flush_cache_after_error
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - flush_cache_item
    linkageType: ''
    returnType: void
    signature: void flush_cache_after_error (app_t app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 625
    functionName: flush_cache
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 4
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void flush_cache (app_t app)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: iso7816_get_data
      Src: /src/gnupg/scd/app-openpgp.c:656,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:656,1
    - Dst: get_cached_data
      Src: /src/gnupg/scd/app-openpgp.c:671,1
    - Dst: find_tlv_unchecked
      Src: /src/gnupg/scd/app-openpgp.c:680,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:685,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:687,1
    - Dst: get_cached_data
      Src: /src/gnupg/scd/app-openpgp.c:696,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 5
    argNames:
    - app
    - tag
    - result
    - nbytes
    - r_rc
    argTypes:
    - app_t
    - int
    - unsigned char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 632
    functionDepth: 3
    functionLinenumber: 632
    functionLinenumberEnd: 715
    functionName: get_one_do
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 4
    functionsReached:
    - log_error
    - app_get_slot
    - find_tlv_unchecked
    - iso7816_get_data
    - xfree
    - get_cached_data
    linkageType: ''
    returnType: void
    signature: "void *\nget_one_do (app_t app, int tag, unsigned char **result, size_t
      *nbytes,\n            int *r_rc)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: iso7816_get_data
      Src: /src/gnupg/scd/app-openpgp.c:732,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:733,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:736,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:737,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:742,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-openpgp.c:743,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:746,1
    - Dst: find_tlv_unchecked
      Src: /src/gnupg/scd/app-openpgp.c:759,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:764,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:769,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:771,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-openpgp.c:773,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:776,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:783,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 1
    argNames:
    - slot
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 785
    functionName: dump_all_do
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 1
    functionsReached:
    - log_printhex
    - log_error
    - iso7816_get_data
    - find_tlv_unchecked
    - log_info
    - gpg_strerror
    - gpg_err_code
    - xfree
    linkageType: ''
    returnType: void
    signature: void dump_all_do (int slot)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - a
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 804
    functionName: count_bits
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int count_bits (const unsigned char *a, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 819
    functionName: count_sos_bits
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int count_sos_bits (const unsigned char *a, size_t len)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-openpgp.c:861,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:869,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-openpgp.c:886,1
    - Dst: xtoi_1
      Src: /src/gnupg/scd/app-openpgp.c:887,1
    - Dst: digitp
      Src: /src/gnupg/scd/app-openpgp.c:903,1
    - Dst: strtol
      Src: /src/gnupg/scd/app-openpgp.c:908,1
    - Dst: digitp
      Src: /src/gnupg/scd/app-openpgp.c:914,1
    - Dst: strtol
      Src: /src/gnupg/scd/app-openpgp.c:916,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:940,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 64
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 941
    functionName: parse_login_data
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - xtoi_1
    - strtol
    - digitp
    - xfree
    - get_one_do
    linkageType: ''
    returnType: void
    signature: void parse_login_data (app_t app)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnupg/scd/app-openpgp.c:969,1
    - Dst: va_arg
      Src: /src/gnupg/scd/app-openpgp.c:972,1
    - Dst: va_arg
      Src: /src/gnupg/scd/app-openpgp.c:973,1
    - Dst: va_end
      Src: /src/gnupg/scd/app-openpgp.c:978,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:980,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:982,1
    - Dst: count_bits
      Src: /src/gnupg/scd/app-openpgp.c:998,1
    - Dst: count_sos_bits
      Src: /src/gnupg/scd/app-openpgp.c:1004,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:1008,1
    - Dst: gcry_md_hash_buffer
      Src: /src/gnupg/scd/app-openpgp.c:1012,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:1014,1
    - Dst: flush_cache_item
      Src: /src/gnupg/scd/app-openpgp.c:1020,1
    - Dst: flush_cache_item
      Src: /src/gnupg/scd/app-openpgp.c:1022,1
    - Dst: iso7816_put_data
      Src: /src/gnupg/scd/app-openpgp.c:1024,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:1024,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:1026,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:1026,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:1026,1
    - Dst: iso7816_put_data
      Src: /src/gnupg/scd/app-openpgp.c:1037,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:1037,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:1039,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:1039,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:1040,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 6
    argNames:
    - app
    - update
    - keynumber
    - timestamp
    - fpr
    - algo
    argTypes:
    - app_t
    - int
    - int
    - u32
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 949
    functionDepth: 3
    functionLinenumber: 949
    functionLinenumberEnd: 1044
    functionName: store_fpr
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - flush_cache_item
    - va_end
    - gpg_error_from_syserror
    - gcry_md_hash_buffer
    - log_error
    - app_get_slot
    - _
    - iso7816_put_data
    - count_sos_bits
    - xfree
    - memcpy
    - va_start
    - va_arg
    - gpg_strerror
    - xtrymalloc
    - count_bits
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t store_fpr (app_t app, int update, int keynumber, u32 timestamp,\n
      \          unsigned char *fpr, int algo, ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bin2hex
      Src: /src/gnupg/scd/app-openpgp.c:1059,1
    - Dst: sprintf
      Src: /src/gnupg/scd/app-openpgp.c:1063,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-openpgp.c:1064,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:1065,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:1066,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ctrl
    - keyword
    - number
    - fpr
    argTypes:
    - ctrl_t
    - char*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1047
    functionDepth: 2
    functionLinenumber: 1047
    functionLinenumberEnd: 1067
    functionName: send_fpr_if_not_null
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - bin2hex
    - sprintf
    - send_status_info
    - strlen
    linkageType: ''
    returnType: void
    signature: "void send_fpr_if_not_null (ctrl_t ctrl, const char *keyword,\n                      int
      number, const unsigned char *fpr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buf32_to_ulong
      Src: /src/gnupg/scd/app-openpgp.c:1076,1
    - Dst: sprintf
      Src: /src/gnupg/scd/app-openpgp.c:1079,1
    - Dst: sprintf
      Src: /src/gnupg/scd/app-openpgp.c:1080,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-openpgp.c:1081,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:1082,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:1083,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ctrl
    - keyword
    - number
    - stamp
    argTypes:
    - ctrl_t
    - char*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1069
    functionDepth: 2
    functionLinenumber: 1069
    functionLinenumberEnd: 1084
    functionName: send_fprtime_if_not_null
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - sprintf
    - send_status_info
    - buf32_to_ulong
    - strlen
    linkageType: ''
    returnType: void
    signature: "void send_fprtime_if_not_null (ctrl_t ctrl, const char *keyword,\n
      \                         int number, const unsigned char *stamp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bin2hex
      Src: /src/gnupg/scd/app-openpgp.c:1093,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:1096,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:1099,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-openpgp.c:1104,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-openpgp.c:1108,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:1109,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:1112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ctrl
    - name
    - a
    - alen
    argTypes:
    - ctrl_t
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1086
    functionDepth: 2
    functionLinenumber: 1086
    functionLinenumberEnd: 1113
    functionName: send_key_data
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - strlen
    - log_error
    - bin2hex
    - send_status_info
    - xfree
    linkageType: ''
    returnType: void
    signature: "void send_key_data (ctrl_t ctrl, const char *name,\n               const
      unsigned char *a, size_t alen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/scd/app-openpgp.c:1121,1
    - Dst: DIM
      Src: /src/gnupg/scd/app-openpgp.c:1121,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-openpgp.c:1128,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-openpgp.c:1135,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-openpgp.c:1141,1
    - Dst: send_status_direct
      Src: /src/gnupg/scd/app-openpgp.c:1143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - ctrl
    - app
    - keyword
    - keyno
    argTypes:
    - ctrl_t
    - app_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1116
    functionDepth: 2
    functionLinenumber: 1116
    functionLinenumberEnd: 1144
    functionName: send_key_attr
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - snprintf
    - DIM
    - send_status_direct
    - log_assert
    linkageType: ''
    returnType: void
    signature: void send_key_attr (ctrl_t ctrl, app_t app, const char *keyword, int
      keyno)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - app
    - keyno
    argTypes:
    - app_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1160
    functionName: determine_rsa_response
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int determine_rsa_response (app_t app, int keyno)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:1210,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:1213,1
    - Dst: app_get_serialno
      Src: /src/gnupg/scd/app-openpgp.c:1221,1
    - Dst: send_status_direct
      Src: /src/gnupg/scd/app-openpgp.c:1225,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:1226,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-openpgp.c:1235,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-openpgp.c:1253,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:1253,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-openpgp.c:1259,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:1259,1
    - Dst: app_get_dispserialno
      Src: /src/gnupg/scd/app-openpgp.c:1266,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-openpgp.c:1268,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:1269,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:1270,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:1273,1
    - Dst: send_key_attr
      Src: /src/gnupg/scd/app-openpgp.c:1278,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-openpgp.c:1284,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:1284,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-openpgp.c:1290,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:1290,1
    - Dst: send_status_printf
      Src: /src/gnupg/scd/app-openpgp.c:1295,1
    - Dst: app_openpgp_manufacturer
      Src: /src/gnupg/scd/app-openpgp.c:1298,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:1302,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:1304,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:1306,1
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-openpgp.c:1310,1
    - Dst: sprintf
      Src: /src/gnupg/scd/app-openpgp.c:1318,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:1318,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-openpgp.c:1319,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:1320,1
    - Dst: sprintf
      Src: /src/gnupg/scd/app-openpgp.c:1326,1
    - Dst: convert_sig_counter_value
      Src: /src/gnupg/scd/app-openpgp.c:1326,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-openpgp.c:1327,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:1328,1
    - Dst: send_fpr_if_not_null
      Src: /src/gnupg/scd/app-openpgp.c:1334,1
    - Dst: send_fprtime_if_not_null
      Src: /src/gnupg/scd/app-openpgp.c:1340,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-openpgp.c:1351,1
    - Dst: send_status_printf
      Src: /src/gnupg/scd/app-openpgp.c:1356,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:1358,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:1359,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:1368,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:1381,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:1387,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:1398,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-openpgp.c:1400,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:1401,1
    - Dst: get_algorithm_attribute_string
      Src: /src/gnupg/scd/app-openpgp.c:1427,1
    - Dst: send_status_printf
      Src: /src/gnupg/scd/app-openpgp.c:1429,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-openpgp.c:1434,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:1436,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 136
    argCount: 3
    argNames:
    - app
    - ctrl
    - name
    argTypes:
    - app_t
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1165
    functionDepth: 5
    functionLinenumber: 1165
    functionLinenumberEnd: 1444
    functionName: do_getattr
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 4
    functionsReached:
    - APP_CARD
    - strlen
    - get_algorithm_attribute_string
    - app_get_dispserialno
    - convert_sig_counter_value
    - do_getattr
    - send_fprtime_if_not_null
    - send_status_info
    - app_get_serialno
    - log_info
    - send_key_attr
    - send_status_printf
    - sprintf
    - strcmp
    - gpg_error
    - xfree
    - get_one_do
    - snprintf
    - send_fpr_if_not_null
    - app_openpgp_manufacturer
    - gpg_err_code
    - send_status_direct
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_getattr (app_t app, ctrl_t ctrl, const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-openpgp.c:1460,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:1464,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:1467,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:1470,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:1472,1
    - Dst: strstr
      Src: /src/gnupg/scd/app-openpgp.c:1475,1
    - Dst: strconcat
      Src: /src/gnupg/scd/app-openpgp.c:1484,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:1492,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1494
    functionName: get_disp_name
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - strstr
    - strconcat
    - xfree
    - memcpy
    - get_one_do
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      get_disp_name (app_t app)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-openpgp.c:1507,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:1510,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:1510,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:1511,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:1515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - app
    - chvno
    argTypes:
    - app_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1499
    functionDepth: 1
    functionLinenumber: 1499
    functionLinenumberEnd: 1517
    functionName: get_remaining_tries
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - get_one_do
    - xfree
    - _
    - log_error
    linkageType: ''
    returnType: int
    signature: int get_remaining_tries (app_t app, int chvno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/scd/app-openpgp.c:1532,1
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-openpgp.c:1534,1
    - Dst: bin2hex
      Src: /src/gnupg/scd/app-openpgp.c:1536,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:1538,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:1539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - app
    - keyno
    - fpr
    argTypes:
    - app_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1524
    functionDepth: 2
    functionLinenumber: 1524
    functionLinenumberEnd: 1541
    functionName: retrieve_fpr_from_card
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - log_assert
    - bin2hex
    - gpg_error
    - xfree
    - get_one_do
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t retrieve_fpr_from_card (app_t app, int keyno, char *fpr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/scd/app-openpgp.c:1556,1
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-openpgp.c:1558,1
    - Dst: buf32_to_u32
      Src: /src/gnupg/scd/app-openpgp.c:1561,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:1563,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:1568,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:1569,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - app
    - keyno
    - r_fprtime
    argTypes:
    - app_t
    - int
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1547
    functionDepth: 1
    functionLinenumber: 1547
    functionLinenumberEnd: 1571
    functionName: retrieve_fprtime_from_card
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - log_assert
    - buf32_to_u32
    - gpg_error
    - xfree
    - get_one_do
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t retrieve_fprtime_from_card (app_t app, int keyno, u32 *r_fprtime)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: read_line
      Src: /src/gnupg/scd/app-openpgp.c:1609,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:1614,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:1619,1
    - Dst: DIM
      Src: /src/gnupg/scd/app-openpgp.c:1624,1
    - Dst: strchr
      Src: /src/gnupg/scd/app-openpgp.c:1627,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:1636,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:1636,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:1637,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:1642,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:1642,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:1645,1
    - Dst: atoi
      Src: /src/gnupg/scd/app-openpgp.c:1647,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:1650,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/scd/app-openpgp.c:1654,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/scd/app-openpgp.c:1658,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/scd/app-openpgp.c:1660,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-openpgp.c:1661,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:1676,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:1679,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:1680,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:1681,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 64
    argCount: 6
    argNames:
    - fp
    - hexkeyid
    - m
    - mlen
    - e
    - elen
    argTypes:
    - FILE*
    - char*
    - unsigned char**
    - size_t*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1683
    functionName: retrieve_key_material
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - atoi
    - gpg_error_from_syserror
    - DIM
    - read_line
    - gcry_mpi_aprint
    - strcmp
    - gpg_error
    - strchr
    - xfree
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t retrieve_key_material (FILE *fp, const char *hexkeyid,\n
      \                      const unsigned char **m, size_t *mlen,\n                       const
      unsigned char **e, size_t *elen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-openpgp.c:1696,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:1699,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:1699,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:1700,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-openpgp.c:1703,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:1706,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:1706,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:1707,1
    - Dst: send_key_data
      Src: /src/gnupg/scd/app-openpgp.c:1712,1
    - Dst: send_key_data
      Src: /src/gnupg/scd/app-openpgp.c:1713,1
    - Dst: store_fpr
      Src: /src/gnupg/scd/app-openpgp.c:1728,1
    - Dst: send_fpr_if_not_null
      Src: /src/gnupg/scd/app-openpgp.c:1734,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:1737,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:1740,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:1747,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:1751,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:1753,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:1756,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:1763,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:1767,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/scd/app-openpgp.c:1769,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:1772,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:1773,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 8
    argNames:
    - app
    - ctrl
    - meta_update
    - created_at
    - keyno
    - data
    - datalen
    - r_sexp
    argTypes:
    - app_t
    - ctrl_t
    - int
    - u32
    - int
    - unsigned char*
    - size_t
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1686
    functionDepth: 4
    functionLinenumber: 1686
    functionLinenumberEnd: 1775
    functionName: rsa_read_pubkey
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - log_error
    - find_tlv
    - gpg_error_from_syserror
    - send_fpr_if_not_null
    - _
    - store_fpr
    - gpg_error
    - xfree
    - send_key_data
    - memcpy
    - gcry_sexp_build
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t rsa_read_pubkey (app_t app, ctrl_t ctrl, int meta_update,\n
      \                u32 created_at,  int keyno,\n                 const unsigned
      char *data, size_t datalen, gcry_sexp_t *r_sexp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_curve_to_oid
      Src: /src/gnupg/scd/app-openpgp.c:1784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - curve
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1779
    functionDepth: 1
    functionLinenumber: 1779
    functionLinenumberEnd: 1798
    functionName: ecdh_params
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 1
    functionsReached:
    - openpgp_curve_to_oid
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      ecdh_params (const char *curve)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-openpgp.c:1818,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:1821,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:1821,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:1822,1
    - Dst: openpgp_curve_to_oid
      Src: /src/gnupg/scd/app-openpgp.c:1826,1
    - Dst: openpgp_oid_from_str
      Src: /src/gnupg/scd/app-openpgp.c:1827,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/scd/app-openpgp.c:1830,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:1833,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:1838,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:1841,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:1848,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:1852,1
    - Dst: send_key_data
      Src: /src/gnupg/scd/app-openpgp.c:1856,1
    - Dst: send_key_data
      Src: /src/gnupg/scd/app-openpgp.c:1857,1
    - Dst: send_key_data
      Src: /src/gnupg/scd/app-openpgp.c:1864,1
    - Dst: ecdh_params
      Src: /src/gnupg/scd/app-openpgp.c:1864,1
    - Dst: store_fpr
      Src: /src/gnupg/scd/app-openpgp.c:1875,1
    - Dst: ecdh_params
      Src: /src/gnupg/scd/app-openpgp.c:1877,1
    - Dst: send_fpr_if_not_null
      Src: /src/gnupg/scd/app-openpgp.c:1881,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/scd/app-openpgp.c:1891,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-openpgp.c:1895,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:1896,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 8
    argNames:
    - app
    - ctrl
    - meta_update
    - created_at
    - keyno
    - data
    - datalen
    - r_sexp
    argTypes:
    - app_t
    - ctrl_t
    - int
    - u32
    - int
    - unsigned char*
    - size_t
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1800
    functionDepth: 4
    functionLinenumber: 1800
    functionLinenumberEnd: 1898
    functionName: ecc_read_pubkey
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - openpgp_oid_from_str
    - log_error
    - find_tlv
    - gpg_error_from_syserror
    - send_fpr_if_not_null
    - _
    - store_fpr
    - gpg_error
    - openpgp_curve_to_oid
    - ecdh_params
    - memcpy
    - send_key_data
    - xfree
    - gcry_mpi_get_opaque
    - gcry_sexp_build
    - xtrymalloc
    - gcry_mpi_release
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ecc_read_pubkey (app_t app, ctrl_t ctrl, int meta_update,\n
      \                u32 created_at, int keyno,\n                 const unsigned
      char *data, size_t datalen, gcry_sexp_t *r_sexp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keygrip_from_canon_sexp
      Src: /src/gnupg/scd/app-openpgp.c:1907,1
    - Dst: bin2hex
      Src: /src/gnupg/scd/app-openpgp.c:1913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - app
    - keyno
    argTypes:
    - app_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1901
    functionDepth: 2
    functionLinenumber: 1901
    functionLinenumberEnd: 1915
    functionName: store_keygrip
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - bin2hex
    - keygrip_from_canon_sexp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t store_keygrip (app_t app, int keyno)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-openpgp.c:1935,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:1938,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:1938,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:1939,1
    - Dst: rsa_read_pubkey
      Src: /src/gnupg/scd/app-openpgp.c:1943,1
    - Dst: ecc_read_pubkey
      Src: /src/gnupg/scd/app-openpgp.c:1946,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:1949,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/scd/app-openpgp.c:1956,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:1957,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:1960,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-openpgp.c:1961,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/scd/app-openpgp.c:1965,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-openpgp.c:1966,1
    - Dst: store_keygrip
      Src: /src/gnupg/scd/app-openpgp.c:1972,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 7
    argNames:
    - app
    - ctrl
    - meta_update
    - created_at
    - keyno
    - buffer
    - buflen
    argTypes:
    - app_t
    - ctrl_t
    - int
    - u32
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1925
    functionDepth: 5
    functionLinenumber: 1925
    functionLinenumberEnd: 1976
    functionName: read_public_key
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - log_error
    - find_tlv
    - ecc_read_pubkey
    - gpg_error_from_syserror
    - _
    - gpg_error
    - gcry_sexp_release
    - gcry_sexp_sprint
    - rsa_read_pubkey
    - xtrymalloc
    - store_keygrip
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t read_public_key (app_t app, ctrl_t ctrl, int meta_update,\n
      \                u32 created_at, int keyno,\n                 const unsigned
      char *buffer, size_t buflen)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2003,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:2009,1
    - Dst: determine_rsa_response
      Src: /src/gnupg/scd/app-openpgp.c:2025,1
    - Dst: iso7816_read_public_key
      Src: /src/gnupg/scd/app-openpgp.c:2033,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:2033,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-openpgp.c:2040,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2041,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:2044,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2045,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:2046,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:2046,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:2046,1
    - Dst: read_public_key
      Src: /src/gnupg/scd/app-openpgp.c:2054,1
    - Dst: retrieve_fpr_from_card
      Src: /src/gnupg/scd/app-openpgp.c:2074,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:2077,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:2078,1
    - Dst: gpgrt_asprintf
      Src: /src/gnupg/scd/app-openpgp.c:2083,1
    - Dst: gnupg_module_name
      Src: /src/gnupg/scd/app-openpgp.c:2085,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:2088,1
    - Dst: popen
      Src: /src/gnupg/scd/app-openpgp.c:2092,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:2093,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:2096,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:2097,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:2097,1
    - Dst: retrieve_key_material
      Src: /src/gnupg/scd/app-openpgp.c:2101,1
    - Dst: pclose
      Src: /src/gnupg/scd/app-openpgp.c:2102,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:2105,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:2106,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/scd/app-openpgp.c:2110,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/scd/app-openpgp.c:2115,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:2117,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:2120,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-openpgp.c:2121,1
    - Dst: gcry_sexp_sprint
      Src: /src/gnupg/scd/app-openpgp.c:2125,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-openpgp.c:2126,1
    - Dst: store_keygrip
      Src: /src/gnupg/scd/app-openpgp.c:2131,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:2139,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 82
    argCount: 2
    argNames:
    - app
    - keyno
    argTypes:
    - app_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 1989
    functionDepth: 6
    functionLinenumber: 1989
    functionLinenumberEnd: 2141
    functionName: get_public_key
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 16
    functionsReached:
    - APP_CARD
    - popen
    - app_get_slot
    - gcry_sexp_sprint
    - xtrymalloc
    - log_error
    - _
    - gcry_sexp_release
    - gcry_sexp_build
    - determine_rsa_response
    - iso7816_read_public_key
    - retrieve_fpr_from_card
    - gpg_error_from_syserror
    - gnupg_module_name
    - read_public_key
    - gpg_error
    - xfree
    - gpg_strerror
    - gpgrt_asprintf
    - pclose
    - gpg_err_code
    - retrieve_key_material
    - store_keygrip
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_public_key (app_t app, int keyno)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - keyno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2156
    functionName: get_usage_string
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_usage_string (int keyno)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_public_key
      Src: /src/gnupg/scd/app-openpgp.c:2170,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-openpgp.c:2174,1
    - Dst: get_usage_string
      Src: /src/gnupg/scd/app-openpgp.c:2178,1
    - Dst: retrieve_fprtime_from_card
      Src: /src/gnupg/scd/app-openpgp.c:2180,1
    - Dst: gcry_sexp_new
      Src: /src/gnupg/scd/app-openpgp.c:2185,1
    - Dst: xtrystrdup
      Src: /src/gnupg/scd/app-openpgp.c:2187,1
    - Dst: pubkey_algo_string
      Src: /src/gnupg/scd/app-openpgp.c:2190,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-openpgp.c:2191,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:2196,1
    - Dst: send_status_printf
      Src: /src/gnupg/scd/app-openpgp.c:2200,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:2205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - app
    - ctrl
    - key
    argTypes:
    - app_t
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2161
    functionDepth: 7
    functionLinenumber: 2161
    functionLinenumberEnd: 2207
    functionName: send_keypair_info
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - pubkey_algo_string
    - log_assert
    - gpg_error_from_syserror
    - send_status_printf
    - get_public_key
    - retrieve_fprtime_from_card
    - xtrystrdup
    - xfree
    - gcry_sexp_release
    - get_usage_string
    - gcry_sexp_new
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t send_keypair_info (app_t app, ctrl_t ctrl, int key)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:2218,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:2220,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:2222,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:2224,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:2226,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:2228,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:2230,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:2232,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:2234,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:2236,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:2238,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:2240,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:2243,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:2244,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:2248,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:2249,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:2254,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:2255,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:2258,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:2259,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:2262,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:2263,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-openpgp.c:2266,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:2267,1
    - Dst: send_keypair_info
      Src: /src/gnupg/scd/app-openpgp.c:2271,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:2272,1
    - Dst: send_keypair_info
      Src: /src/gnupg/scd/app-openpgp.c:2275,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:2276,1
    - Dst: send_keypair_info
      Src: /src/gnupg/scd/app-openpgp.c:2279,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:2280,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 65
    argCount: 3
    argNames:
    - app
    - ctrl
    - flags
    argTypes:
    - app_t
    - ctrl_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2211
    functionDepth: 8
    functionLinenumber: 2211
    functionLinenumberEnd: 2285
    functionName: do_learn_status
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - send_keypair_info
    - gpg_err_code
    - do_getattr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_learn_status (app_t app, ctrl_t ctrl, unsigned int flags)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:2301,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-openpgp.c:2308,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2313,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:2315,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:2317,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:2319,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2322,1
    - Dst: get_public_key
      Src: /src/gnupg/scd/app-openpgp.c:2324,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2330,1
    - Dst: send_keypair_info
      Src: /src/gnupg/scd/app-openpgp.c:2334,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:2342,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:2345,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:2349,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 6
    argNames:
    - app
    - ctrl
    - keyid
    - flags
    - pk
    - pklen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - unsigned int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2353
      start: 2293
    functionDepth: 8
    functionLinenumber: 2293
    functionLinenumberEnd: 2353
    functionName: do_readkey
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 3
    functionsReached:
    - strlen
    - gpg_error_from_syserror
    - send_keypair_info
    - get_public_key
    - gpg_error
    - ascii_strcasecmp
    - memcpy
    - strncmp
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_readkey (app_t app, ctrl_t ctrl, const char *keyid,
      unsigned int flags,\n            unsigned char **pk, size_t *pklen)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:2367,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-openpgp.c:2375,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2386,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:2388,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:2390,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:2392,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2395,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2397,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2399,1
    - Dst: iso7816_select_data
      Src: /src/gnupg/scd/app-openpgp.c:2405,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:2405,1
    - Dst: iso7816_get_data
      Src: /src/gnupg/scd/app-openpgp.c:2413,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:2413,1
    - Dst: iso7816_select_data
      Src: /src/gnupg/scd/app-openpgp.c:2416,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:2416,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2420,1
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-openpgp.c:2428,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2430,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2433,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:2434,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:2435,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:2438,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:2442,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 4
    argNames:
    - app
    - certid
    - cert
    - certlen
    argTypes:
    - app_t
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2358
    functionDepth: 3
    functionLinenumber: 2358
    functionLinenumberEnd: 2446
    functionName: do_readcert
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - strlen
    - gpg_error_from_syserror
    - app_get_slot
    - iso7816_select_data
    - iso7816_get_data
    - gpg_error
    - xfree
    - ascii_strcasecmp
    - memcpy
    - get_one_do
    - strncmp
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_readcert (app_t app, const char *certid,\n             unsigned
      char **cert, size_t *certlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - app
    - pininfo
    - admin_pin
    argTypes:
    - app_t
    - pininfo_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2484
      start: 2453
    functionDepth: 0
    functionLinenumber: 2453
    functionLinenumberEnd: 2484
    functionName: check_pinpad_request
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_pinpad_request (app_t app, pininfo_t *pininfo, int admin_pin)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: app_get_dispserialno
      Src: /src/gnupg/scd/app-openpgp.c:2494,1
    - Dst: get_disp_name
      Src: /src/gnupg/scd/app-openpgp.c:2498,1
    - Dst: xtryasprintf
      Src: /src/gnupg/scd/app-openpgp.c:2504,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:2504,1
    - Dst: xtryasprintf
      Src: /src/gnupg/scd/app-openpgp.c:2517,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:2517,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:2526,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:2527,1
    - Dst: xtryasprintf
      Src: /src/gnupg/scd/app-openpgp.c:2533,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:2533,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:2536,1
    - Dst: strconcat
      Src: /src/gnupg/scd/app-openpgp.c:2539,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:2540,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:2543,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:2546,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - app
    - chvno
    - sigcount
    - remaining
    argTypes:
    - app_t
    - int
    - unsigned long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2489
    functionDepth: 5
    functionLinenumber: 2489
    functionLinenumberEnd: 2551
    functionName: get_prompt_info
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - _
    - strconcat
    - xtryasprintf
    - app_get_dispserialno
    - xfree
    - get_disp_name
    linkageType: ''
    returnType: char
    signature: 'char *

      get_prompt_info (app_t app, int chvno, unsigned long sigcount, int remaining)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:2571,1
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-openpgp.c:2573,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:2580,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:2583,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2596,1
    - Dst: gcry_kdf_derive
      Src: /src/gnupg/scd/app-openpgp.c:2601,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/scd/app-openpgp.c:2615,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:2618,1
    - Dst: strcpy
      Src: /src/gnupg/scd/app-openpgp.c:2621,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:2626,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:2627,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 5
    argNames:
    - app
    - chvno
    - pin
    - r_pinvalue
    - r_pinlen
    argTypes:
    - app_t
    - int
    - char*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2629
      start: 2557
    functionDepth: 1
    functionLinenumber: 2557
    functionLinenumberEnd: 2629
    functionName: pin2hash_if_kdf
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - gcry_kdf_derive
    - gpg_error_from_syserror
    - strlen
    - xtrymalloc_secure
    - gpg_error
    - strcpy
    - xfree
    - get_one_do
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t pin2hash_if_kdf (app_t app, int chvno, const char *pin,\n
      \                char **r_pinvalue, size_t *r_pinlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - chvno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2644
      start: 2632
    functionDepth: 0
    functionLinenumber: 2632
    functionLinenumberEnd: 2644
    functionName: chvno_to_keyref
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      chvno_to_keyref (int chvno)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: chvno_to_keyref
      Src: /src/gnupg/scd/app-openpgp.c:2656,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-openpgp.c:2660,1
    - Dst: pincache_put
      Src: /src/gnupg/scd/app-openpgp.c:2666,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:2666,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:2667,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - app
    - ctrl
    - chvno
    - pin
    argTypes:
    - app_t
    - ctrl_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2675
      start: 2648
    functionDepth: 3
    functionLinenumber: 2648
    functionLinenumberEnd: 2675
    functionName: cache_pin
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 2
    functionsReached:
    - chvno_to_keyref
    - APP_CARD
    - strlen
    - app_get_slot
    - pincache_put
    linkageType: ''
    returnType: void
    signature: void cache_pin (app_t app, ctrl_t ctrl, int chvno, const char *pin)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: chvno_to_keyref
      Src: /src/gnupg/scd/app-openpgp.c:2684,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-openpgp.c:2691,1
    - Dst: pincache_get
      Src: /src/gnupg/scd/app-openpgp.c:2708,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:2708,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - app
    - ctrl
    - chvno
    - r_pin
    argTypes:
    - app_t
    - ctrl_t
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2681
    functionDepth: 3
    functionLinenumber: 2681
    functionLinenumberEnd: 2712
    functionName: pin_from_cache
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 1
    functionsReached:
    - chvno_to_keyref
    - pincache_get
    - app_get_slot
    - APP_CARD
    linkageType: ''
    returnType: int
    signature: int pin_from_cache (app_t app, ctrl_t ctrl, int chvno, char **r_pin)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_remaining_tries
      Src: /src/gnupg/scd/app-openpgp.c:2731,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2733,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:2736,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:2736,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2737,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:2742,1
    - Dst: ngettext
      Src: /src/gnupg/scd/app-openpgp.c:2742,1
    - Dst: get_prompt_info
      Src: /src/gnupg/scd/app-openpgp.c:2749,1
    - Dst: strconcat
      Src: /src/gnupg/scd/app-openpgp.c:2752,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:2753,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:2755,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - app
    - chvno
    - firstline
    - sigcount
    - r_prompt
    - r_remaining
    argTypes:
    - app_t
    - int
    - char*
    - unsigned long
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2718
    functionDepth: 6
    functionLinenumber: 2718
    functionLinenumberEnd: 2761
    functionName: build_enter_pin_prompt
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - get_prompt_info
    - gpg_error_from_syserror
    - ngettext
    - _
    - strconcat
    - gpg_error
    - log_info
    - xfree
    - get_remaining_tries
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t build_enter_pin_prompt (app_t app, int chvno, const char
      *firstline,\n                        unsigned long sigcount,\n                        char
      **r_prompt, int *r_remaining)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:2786,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-openpgp.c:2788,1
    - Dst: build_enter_pin_prompt
      Src: /src/gnupg/scd/app-openpgp.c:2793,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:2803,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:2803,1
    - Dst: iso7816_verify
      Src: /src/gnupg/scd/app-openpgp.c:2804,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:2804,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:2810,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:2810,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:2812,1
    - Dst: memset
      Src: /src/gnupg/scd/app-openpgp.c:2818,1
    - Dst: iso7816_check_pinpad
      Src: /src/gnupg/scd/app-openpgp.c:2823,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:2823,1
    - Dst: check_pinpad_request
      Src: /src/gnupg/scd/app-openpgp.c:2824,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-openpgp.c:2831,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:2832,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:2836,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:2836,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:2837,1
    - Dst: iso7816_verify_kp
      Src: /src/gnupg/scd/app-openpgp.c:2840,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:2840,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-openpgp.c:2842,1
    - Dst: pin_from_cache
      Src: /src/gnupg/scd/app-openpgp.c:2851,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-openpgp.c:2854,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:2855,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:2859,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:2859,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:2860,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:2864,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:2866,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:2866,1
    - Dst: wipe_and_free_string
      Src: /src/gnupg/scd/app-openpgp.c:2868,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2869,1
    - Dst: pin2hash_if_kdf
      Src: /src/gnupg/scd/app-openpgp.c:2872,1
    - Dst: iso7816_verify
      Src: /src/gnupg/scd/app-openpgp.c:2874,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:2874,1
    - Dst: cache_pin
      Src: /src/gnupg/scd/app-openpgp.c:2877,1
    - Dst: wipe_and_free_string
      Src: /src/gnupg/scd/app-openpgp.c:2880,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:2883,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:2883,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:2883,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:2884,1
    - Dst: flush_cache_after_error
      Src: /src/gnupg/scd/app-openpgp.c:2887,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 7
    argNames:
    - app
    - ctrl
    - pincb_arg
    - chvno
    - sigcount
    - r_pinvalue
    - r_pinlen
    argTypes:
    - app_t
    - ctrl_t
    - void*
    - int
    - unsigned long
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2891
      start: 2774
    functionDepth: 7
    functionLinenumber: 2774
    functionLinenumberEnd: 2891
    functionName: verify_a_chv
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - log_assert
    - strlen
    - app_get_slot
    - iso7816_verify
    - iso7816_check_pinpad
    - flush_cache_after_error
    - log_error
    - _
    - pincb
    - log_info
    - check_pinpad_request
    - iso7816_verify_kp
    - wipe_and_free_string
    - pin2hash_if_kdf
    - gpg_error
    - gpg_strerror
    - memset
    - xfree
    - pin_from_cache
    - cache_pin
    - build_enter_pin_prompt
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t verify_a_chv (app_t app, ctrl_t ctrl,\n              gpg_error_t
      (*pincb)(void*, const char *, char **),\n              void *pincb_arg, int
      chvno, unsigned long sigcount,\n              char **r_pinvalue, size_t *r_pinlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: verify_a_chv
      Src: /src/gnupg/scd/app-openpgp.c:2910,1
    - Dst: iso7816_verify
      Src: /src/gnupg/scd/app-openpgp.c:2921,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:2921,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:2922,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2923,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:2926,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:2926,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:2926,1
    - Dst: flush_cache_after_error
      Src: /src/gnupg/scd/app-openpgp.c:2927,1
    - Dst: verify_a_chv
      Src: /src/gnupg/scd/app-openpgp.c:2940,1
    - Dst: wipe_and_free
      Src: /src/gnupg/scd/app-openpgp.c:2945,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - app
    - ctrl
    - pincb_arg
    argTypes:
    - app_t
    - ctrl_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2948
      start: 2896
    functionDepth: 8
    functionLinenumber: 2896
    functionLinenumberEnd: 2948
    functionName: verify_chv2
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - flush_cache_after_error
    - log_error
    - wipe_and_free
    - app_get_slot
    - verify_a_chv
    - _
    - gpg_error
    - gpg_err_code
    - gpg_strerror
    - iso7816_verify
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t verify_chv2 (app_t app, ctrl_t ctrl,\n             gpg_error_t
      (*pincb)(void*, const char *, char **),\n             void *pincb_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:2960,1
    - Dst: build_enter_pin_prompt
      Src: /src/gnupg/scd/app-openpgp.c:2962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - app
    - r_prompt
    - r_remaining
    argTypes:
    - app_t
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2964
      start: 2954
    functionDepth: 7
    functionLinenumber: 2954
    functionLinenumberEnd: 2964
    functionName: build_enter_admin_pin_prompt
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - build_enter_pin_prompt
    - _
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t build_enter_admin_pin_prompt (app_t app, char **r_prompt,
      int *r_remaining)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:2977,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:2977,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:2978,1
    - Dst: memset
      Src: /src/gnupg/scd/app-openpgp.c:2988,1
    - Dst: build_enter_admin_pin_prompt
      Src: /src/gnupg/scd/app-openpgp.c:2992,1
    - Dst: iso7816_check_pinpad
      Src: /src/gnupg/scd/app-openpgp.c:2997,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:2997,1
    - Dst: check_pinpad_request
      Src: /src/gnupg/scd/app-openpgp.c:2999,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-openpgp.c:3002,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:3003,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:3007,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3007,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:3008,1
    - Dst: iso7816_verify_kp
      Src: /src/gnupg/scd/app-openpgp.c:3011,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3011,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-openpgp.c:3013,1
    - Dst: pin_from_cache
      Src: /src/gnupg/scd/app-openpgp.c:3021,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-openpgp.c:3024,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:3025,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:3029,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3029,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:3030,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:3034,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:3036,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3036,1
    - Dst: wipe_and_free_string
      Src: /src/gnupg/scd/app-openpgp.c:3038,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3039,1
    - Dst: pin2hash_if_kdf
      Src: /src/gnupg/scd/app-openpgp.c:3042,1
    - Dst: iso7816_verify
      Src: /src/gnupg/scd/app-openpgp.c:3044,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3044,1
    - Dst: cache_pin
      Src: /src/gnupg/scd/app-openpgp.c:3046,1
    - Dst: wipe_and_free_string
      Src: /src/gnupg/scd/app-openpgp.c:3047,1
    - Dst: wipe_and_free
      Src: /src/gnupg/scd/app-openpgp.c:3048,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:3053,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3053,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:3053,1
    - Dst: flush_cache_after_error
      Src: /src/gnupg/scd/app-openpgp.c:3054,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 3
    argNames:
    - app
    - ctrl
    - pincb_arg
    argTypes:
    - app_t
    - ctrl_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3061
      start: 2968
    functionDepth: 8
    functionLinenumber: 2968
    functionLinenumberEnd: 3061
    functionName: verify_chv3
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - strlen
    - app_get_slot
    - iso7816_verify
    - wipe_and_free
    - iso7816_check_pinpad
    - flush_cache_after_error
    - log_error
    - _
    - pincb
    - log_info
    - check_pinpad_request
    - iso7816_verify_kp
    - build_enter_admin_pin_prompt
    - wipe_and_free_string
    - pin2hash_if_kdf
    - gpg_error
    - memset
    - xfree
    - gpg_strerror
    - pin_from_cache
    - cache_pin
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t verify_chv3 (app_t app, ctrl_t ctrl,\n             gpg_error_t
      (*pincb)(void*, const char *, char **),\n             void *pincb_arg)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:3112,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3115,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3117,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3119,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3122,1
    - Dst: change_keyattr_from_string
      Src: /src/gnupg/scd/app-openpgp.c:3125,1
    - Dst: verify_chv2
      Src: /src/gnupg/scd/app-openpgp.c:3132,1
    - Dst: verify_chv3
      Src: /src/gnupg/scd/app-openpgp.c:3135,1
    - Dst: flush_cache_item
      Src: /src/gnupg/scd/app-openpgp.c:3146,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-openpgp.c:3158,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-openpgp.c:3159,1
    - Dst: verify_chv3
      Src: /src/gnupg/scd/app-openpgp.c:3161,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-openpgp.c:3166,1
    - Dst: cache_pin
      Src: /src/gnupg/scd/app-openpgp.c:3172,1
    - Dst: cache_pin
      Src: /src/gnupg/scd/app-openpgp.c:3173,1
    - Dst: cache_pin
      Src: /src/gnupg/scd/app-openpgp.c:3174,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3198,1
    - Dst: pin_from_cache
      Src: /src/gnupg/scd/app-openpgp.c:3200,1
    - Dst: build_enter_admin_pin_prompt
      Src: /src/gnupg/scd/app-openpgp.c:3204,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-openpgp.c:3208,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:3211,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3211,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:3212,1
    - Dst: pin2hash_if_kdf
      Src: /src/gnupg/scd/app-openpgp.c:3217,1
    - Dst: iso7816_change_reference_data
      Src: /src/gnupg/scd/app-openpgp.c:3219,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3219,1
    - Dst: iso7816_verify
      Src: /src/gnupg/scd/app-openpgp.c:3224,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3224,1
    - Dst: cache_pin
      Src: /src/gnupg/scd/app-openpgp.c:3226,1
    - Dst: iso7816_reset_retry_counter
      Src: /src/gnupg/scd/app-openpgp.c:3229,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3229,1
    - Dst: cache_pin
      Src: /src/gnupg/scd/app-openpgp.c:3231,1
    - Dst: iso7816_put_data
      Src: /src/gnupg/scd/app-openpgp.c:3234,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3234,1
    - Dst: wipe_and_free
      Src: /src/gnupg/scd/app-openpgp.c:3236,1
    - Dst: wipe_and_free_string
      Src: /src/gnupg/scd/app-openpgp.c:3237,1
    - Dst: flush_cache_item
      Src: /src/gnupg/scd/app-openpgp.c:3241,1
    - Dst: iso7816_select_data
      Src: /src/gnupg/scd/app-openpgp.c:3247,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3247,1
    - Dst: iso7816_put_data
      Src: /src/gnupg/scd/app-openpgp.c:3252,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3252,1
    - Dst: iso7816_select_data
      Src: /src/gnupg/scd/app-openpgp.c:3255,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3255,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/scd/app-openpgp.c:3270,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/scd/app-openpgp.c:3272,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/scd/app-openpgp.c:3274,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3277,1
    - Dst: iso7816_apdu_direct
      Src: /src/gnupg/scd/app-openpgp.c:3280,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3280,1
    - Dst: iso7816_put_data
      Src: /src/gnupg/scd/app-openpgp.c:3284,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3284,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:3287,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:3287,1
    - Dst: parse_login_data
      Src: /src/gnupg/scd/app-openpgp.c:3292,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 120
    argCount: 6
    argNames:
    - app
    - ctrl
    - name
    - pincb_arg
    - value
    - valuelen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3307
      start: 3066
    functionDepth: 9
    functionLinenumber: 3066
    functionLinenumberEnd: 3307
    functionName: do_setattr
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - flush_cache_item
    - APP_CARD
    - iso7816_apdu_direct
    - verify_chv2
    - app_get_slot
    - iso7816_select_data
    - iso7816_reset_retry_counter
    - parse_login_data
    - iso7816_verify
    - wipe_and_free
    - log_error
    - iso7816_change_reference_data
    - verify_chv3
    - _
    - iso7816_put_data
    - pincb
    - log_info
    - change_keyattr_from_string
    - build_enter_admin_pin_prompt
    - pin2hash_if_kdf
    - wipe_and_free_string
    - strcmp
    - gpg_error
    - pin_from_cache
    - gpg_strerror
    - ascii_strncasecmp
    - cache_pin
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_setattr (app_t app, ctrl_t ctrl, const char *name,\n
      \           gpg_error_t (*pincb)(void*, const char *, char **),\n            void
      *pincb_arg,\n            const unsigned char *value, size_t valuelen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:3322,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:3324,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:3326,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3329,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3332,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3334,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3338,1
    - Dst: do_setattr
      Src: /src/gnupg/scd/app-openpgp.c:3339,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 6
    argNames:
    - app
    - ctrl
    - certidstr
    - pincb_arg
    - certdata
    - certdatalen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3341
      start: 3314
    functionDepth: 1
    functionLinenumber: 3314
    functionLinenumberEnd: 3341
    functionName: do_writecert
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - do_setattr
    - ascii_strcasecmp
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_writecert (app_t app, ctrl_t ctrl,\n              const
      char *certidstr,\n              gpg_error_t (*pincb)(void*, const char *, char
      **),\n              void *pincb_arg,\n              const unsigned char *certdata,
      size_t certdatalen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cache_pin
      Src: /src/gnupg/scd/app-openpgp.c:3350,1
    - Dst: iso7816_apdu_direct
      Src: /src/gnupg/scd/app-openpgp.c:3360,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3360,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:3363,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3364,1
    - Dst: iso7816_apdu_direct
      Src: /src/gnupg/scd/app-openpgp.c:3371,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - app
    - ctrl
    - chvno
    argTypes:
    - app_t
    - ctrl_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3381
      start: 3344
    functionDepth: 3
    functionLinenumber: 3344
    functionLinenumberEnd: 3381
    functionName: clear_chv_status
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - iso7816_apdu_direct
    - cache_pin
    - app_get_slot
    - gpg_error
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t clear_chv_status (app_t app, ctrl_t ctrl, int chvno)
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/gnupg/scd/app-openpgp.c:3420,1
    - Dst: atoi
      Src: /src/gnupg/scd/app-openpgp.c:3421,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:3422,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:3424,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:3426,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3429,1
    - Dst: memset
      Src: /src/gnupg/scd/app-openpgp.c:3431,1
    - Dst: cache_pin
      Src: /src/gnupg/scd/app-openpgp.c:3436,1
    - Dst: cache_pin
      Src: /src/gnupg/scd/app-openpgp.c:3437,1
    - Dst: cache_pin
      Src: /src/gnupg/scd/app-openpgp.c:3438,1
    - Dst: clear_chv_status
      Src: /src/gnupg/scd/app-openpgp.c:3441,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3445,1
    - Dst: verify_chv3
      Src: /src/gnupg/scd/app-openpgp.c:3457,1
    - Dst: verify_chv2
      Src: /src/gnupg/scd/app-openpgp.c:3470,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3477,1
    - Dst: iso7816_check_pinpad
      Src: /src/gnupg/scd/app-openpgp.c:3486,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3486,1
    - Dst: check_pinpad_request
      Src: /src/gnupg/scd/app-openpgp.c:3488,1
    - Dst: verify_chv3
      Src: /src/gnupg/scd/app-openpgp.c:3496,1
    - Dst: build_enter_admin_pin_prompt
      Src: /src/gnupg/scd/app-openpgp.c:3510,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3516,1
    - Dst: build_enter_pin_prompt
      Src: /src/gnupg/scd/app-openpgp.c:3518,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-openpgp.c:3523,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:3524,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:3528,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3528,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:3529,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:3533,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:3535,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3535,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3537,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3547,1
    - Dst: build_enter_pin_prompt
      Src: /src/gnupg/scd/app-openpgp.c:3552,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:3554,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:3556,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3556,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3557,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-openpgp.c:3563,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:3564,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:3568,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3568,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:3569,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:3572,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:3574,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3574,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3576,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3583,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-openpgp.c:3598,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3598,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3599,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3599,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:3603,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3603,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:3603,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:3609,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:3613,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3613,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3614,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:3621,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:3623,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3623,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3625,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:3634,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:3636,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3636,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3638,1
    - Dst: pin2hash_if_kdf
      Src: /src/gnupg/scd/app-openpgp.c:3652,1
    - Dst: pin2hash_if_kdf
      Src: /src/gnupg/scd/app-openpgp.c:3654,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:3658,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:3660,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:3663,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:3664,1
    - Dst: iso7816_reset_retry_counter_with_rc
      Src: /src/gnupg/scd/app-openpgp.c:3668,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3668,1
    - Dst: wipe_and_free
      Src: /src/gnupg/scd/app-openpgp.c:3670,1
    - Dst: wipe_and_free
      Src: /src/gnupg/scd/app-openpgp.c:3671,1
    - Dst: wipe_and_free
      Src: /src/gnupg/scd/app-openpgp.c:3672,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:3674,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3675,1
    - Dst: pin2hash_if_kdf
      Src: /src/gnupg/scd/app-openpgp.c:3682,1
    - Dst: iso7816_put_data
      Src: /src/gnupg/scd/app-openpgp.c:3684,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3684,1
    - Dst: wipe_and_free
      Src: /src/gnupg/scd/app-openpgp.c:3687,1
    - Dst: pin2hash_if_kdf
      Src: /src/gnupg/scd/app-openpgp.c:3694,1
    - Dst: iso7816_reset_retry_counter
      Src: /src/gnupg/scd/app-openpgp.c:3696,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3696,1
    - Dst: iso7816_reset_retry_counter
      Src: /src/gnupg/scd/app-openpgp.c:3699,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3699,1
    - Dst: wipe_and_free
      Src: /src/gnupg/scd/app-openpgp.c:3702,1
    - Dst: iso7816_change_reference_data
      Src: /src/gnupg/scd/app-openpgp.c:3709,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3709,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:3711,1
    - Dst: iso7816_change_reference_data
      Src: /src/gnupg/scd/app-openpgp.c:3713,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3713,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:3715,1
    - Dst: iso7816_change_reference_data
      Src: /src/gnupg/scd/app-openpgp.c:3719,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3719,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:3721,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-openpgp.c:3727,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3734,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3736,1
    - Dst: build_enter_pin_prompt
      Src: /src/gnupg/scd/app-openpgp.c:3738,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-openpgp.c:3743,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:3744,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:3748,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3748,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:3749,1
    - Dst: iso7816_change_reference_data_kp
      Src: /src/gnupg/scd/app-openpgp.c:3752,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3752,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-openpgp.c:3755,1
    - Dst: pin2hash_if_kdf
      Src: /src/gnupg/scd/app-openpgp.c:3763,1
    - Dst: pin2hash_if_kdf
      Src: /src/gnupg/scd/app-openpgp.c:3765,1
    - Dst: iso7816_verify
      Src: /src/gnupg/scd/app-openpgp.c:3767,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3767,1
    - Dst: iso7816_change_reference_data
      Src: /src/gnupg/scd/app-openpgp.c:3770,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3770,1
    - Dst: wipe_and_free
      Src: /src/gnupg/scd/app-openpgp.c:3774,1
    - Dst: wipe_and_free
      Src: /src/gnupg/scd/app-openpgp.c:3775,1
    - Dst: wipe_and_free_string
      Src: /src/gnupg/scd/app-openpgp.c:3779,1
    - Dst: flush_cache_after_error
      Src: /src/gnupg/scd/app-openpgp.c:3781,1
    - Dst: wipe_and_free_string
      Src: /src/gnupg/scd/app-openpgp.c:3784,1
    - Dst: wipe_and_free_string
      Src: /src/gnupg/scd/app-openpgp.c:3785,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 242
    argCount: 5
    argNames:
    - app
    - ctrl
    - chvnostr
    - flags
    - pincb_arg
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3787
      start: 3401
    functionDepth: 9
    functionLinenumber: 3401
    functionLinenumberEnd: 3787
    functionName: do_change_pin
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - strlen
    - digitp
    - log_assert
    - verify_chv2
    - app_get_slot
    - iso7816_reset_retry_counter_with_rc
    - ascii_strcasecmp
    - iso7816_reset_retry_counter
    - xtrymalloc
    - memcpy
    - wipe_and_free
    - iso7816_verify
    - iso7816_check_pinpad
    - flush_cache_after_error
    - log_error
    - iso7816_change_reference_data
    - verify_chv3
    - _
    - iso7816_put_data
    - pincb
    - log_info
    - check_pinpad_request
    - iso7816_change_reference_data_kp
    - build_enter_admin_pin_prompt
    - pin2hash_if_kdf
    - gpg_error_from_syserror
    - clear_chv_status
    - wipe_and_free_string
    - gpg_error
    - memset
    - xfree
    - gpg_strerror
    - atoi
    - cache_pin
    - build_enter_pin_prompt
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_change_pin (app_t app, ctrl_t ctrl,  const char *chvnostr,\n
      \              unsigned int flags,\n               gpg_error_t (*pincb)(void*,
      const char *, char **),\n               void *pincb_arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/scd/app-openpgp.c:3802,1
    - Dst: iso7816_get_data
      Src: /src/gnupg/scd/app-openpgp.c:3804,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:3804,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:3806,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3806,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3807,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-openpgp.c:3809,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:3812,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3812,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:3813,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3814,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:3819,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:3822,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3822,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3823,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:3826,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3826,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:3828,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3828,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:3830,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:3830,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - app
    - keyidx
    - generating
    - force
    argTypes:
    - app_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3832
      start: 3794
    functionDepth: 3
    functionLinenumber: 3794
    functionLinenumberEnd: 3832
    functionName: does_key_exist
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 2
    functionsReached:
    - log_error
    - log_assert
    - find_tlv
    - app_get_slot
    - _
    - iso7816_get_data
    - gpg_error
    - xfree
    - log_info
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t does_key_exist (app_t app, int keyidx, int generating,
      int force)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/scd/app-openpgp.c:3842,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - buffer
    - tag
    - length
    argTypes:
    - unsigned char*
    - unsigned int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3863
      start: 3837
    functionDepth: 0
    functionLinenumber: 3837
    functionLinenumberEnd: 3863
    functionName: add_tlv
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 2
    functionsReached:
    - log_assert
    linkageType: ''
    returnType: size_t
    signature: size_t add_tlv (unsigned char *buffer, unsigned int tag, size_t length)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:3901,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-openpgp.c:3906,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-openpgp.c:3912,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-openpgp.c:3915,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-openpgp.c:3918,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-openpgp.c:3924,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-openpgp.c:3926,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-openpgp.c:3928,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-openpgp.c:3935,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-openpgp.c:3944,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-openpgp.c:3949,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/scd/app-openpgp.c:3958,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:3960,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-openpgp.c:3962,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:3963,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:3965,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:3967,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:3970,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-openpgp.c:3974,1
    - Dst: memset
      Src: /src/gnupg/scd/app-openpgp.c:3975,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:3979,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:3982,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:3988,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:3990,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:3992,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:3999,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-openpgp.c:4005,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 79
    argCount: 18
    argNames:
    - app
    - keyno
    - rsa_n
    - rsa_n_len
    - rsa_e
    - rsa_e_len
    - rsa_p
    - rsa_p_len
    - rsa_q
    - rsa_q_len
    - rsa_u
    - rsa_u_len
    - rsa_dp
    - rsa_dp_len
    - rsa_dq
    - rsa_dq_len
    - result
    - resultlen
    argTypes:
    - app_t
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4010
      start: 3866
    functionDepth: 1
    functionLinenumber: 3866
    functionLinenumberEnd: 4010
    functionName: build_privkey_template
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - memmove
    - gpg_error_from_syserror
    - log_assert
    - xtrymalloc_secure
    - add_tlv
    - gpg_error
    - memset
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t build_privkey_template (app_t app, int keyno,\n                        const
      unsigned char *rsa_n, size_t rsa_n_len,\n                        const unsigned
      char *rsa_e, size_t rsa_e_len,\n                        const unsigned char
      *rsa_p, size_t rsa_p_len,\n                        const unsigned char *rsa_q,
      size_t rsa_q_len,\n                        const unsigned char *rsa_u, size_t
      rsa_u_len,\n                        const unsigned char *rsa_dp, size_t rsa_dp_len,\n
      \                       const unsigned char *rsa_dq, size_t rsa_dq_len,\n                        unsigned
      char **result, size_t *resultlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4036,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-openpgp.c:4053,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-openpgp.c:4058,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-openpgp.c:4069,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-openpgp.c:4074,1
    - Dst: xtrymalloc_secure
      Src: /src/gnupg/scd/app-openpgp.c:4085,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:4087,1
    - Dst: add_tlv
      Src: /src/gnupg/scd/app-openpgp.c:4089,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:4090,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:4092,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:4094,1
    - Dst: memset
      Src: /src/gnupg/scd/app-openpgp.c:4099,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:4100,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:4103,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:4108,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-openpgp.c:4112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 9
    argNames:
    - app
    - keyno
    - ecc_d
    - ecc_d_len
    - ecc_d_fixed_len
    - ecc_q
    - ecc_q_len
    - result
    - resultlen
    argTypes:
    - app_t
    - int
    - unsigned char*
    - size_t
    - size_t
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4117
      start: 4012
    functionDepth: 1
    functionLinenumber: 4012
    functionLinenumberEnd: 4117
    functionName: build_ecc_privkey_template
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - log_assert
    - xtrymalloc_secure
    - gpg_error
    - add_tlv
    - memset
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t build_ecc_privkey_template (app_t app, int keyno,\n                            const
      unsigned char *ecc_d, size_t ecc_d_len,\n                            size_t
      ecc_d_fixed_len,\n                            const unsigned char *ecc_q, size_t
      ecc_q_len,\n                            unsigned char **result, size_t *resultlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/scd/app-openpgp.c:4130,1
    - Dst: verify_chv3
      Src: /src/gnupg/scd/app-openpgp.c:4133,1
    - Dst: iso7816_put_data
      Src: /src/gnupg/scd/app-openpgp.c:4138,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:4138,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:4140,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:4143,1
    - Dst: flush_cache
      Src: /src/gnupg/scd/app-openpgp.c:4144,1
    - Dst: parse_algorithm_attribute
      Src: /src/gnupg/scd/app-openpgp.c:4145,1
    - Dst: cache_pin
      Src: /src/gnupg/scd/app-openpgp.c:4149,1
    - Dst: cache_pin
      Src: /src/gnupg/scd/app-openpgp.c:4150,1
    - Dst: cache_pin
      Src: /src/gnupg/scd/app-openpgp.c:4151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 6
    argNames:
    - app
    - ctrl
    - keyno
    - buf
    - buflen
    - pincb_arg
    argTypes:
    - app_t
    - ctrl_t
    - int
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4153
      start: 4122
    functionDepth: 9
    functionLinenumber: 4122
    functionLinenumberEnd: 4153
    functionName: change_keyattr
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 1
    functionsReached:
    - flush_cache
    - log_error
    - log_assert
    - cache_pin
    - app_get_slot
    - verify_chv3
    - iso7816_put_data
    - log_info
    - parse_algorithm_attribute
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t change_keyattr (app_t app, ctrl_t ctrl,\n                int
      keyno, const unsigned char *buf, size_t buflen,\n                gpg_error_t
      (*pincb)(void*, const char *, char **),\n                void *pincb_arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-openpgp.c:4167,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4169,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:4173,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4174,1
    - Dst: change_keyattr
      Src: /src/gnupg/scd/app-openpgp.c:4197,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:4198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - app
    - ctrl
    - keyno
    - nbits
    - pincb_arg
    argTypes:
    - app_t
    - ctrl_t
    - int
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4202
      start: 4156
    functionDepth: 10
    functionLinenumber: 4156
    functionLinenumberEnd: 4202
    functionName: change_rsa_keyattr
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - get_one_do
    - change_keyattr
    - gpg_error
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t change_rsa_keyattr (app_t app, ctrl_t ctrl, int keyno,
      unsigned int nbits,\n                    gpg_error_t (*pincb)(void*, const char
      *, char **),\n                    void *pincb_arg)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:4232,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:4234,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:4236,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4240,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-openpgp.c:4244,1
    - Dst: digitp
      Src: /src/gnupg/scd/app-openpgp.c:4244,1
    - Dst: strtoul
      Src: /src/gnupg/scd/app-openpgp.c:4247,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4250,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-openpgp.c:4255,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-openpgp.c:4255,1
    - Dst: digitp
      Src: /src/gnupg/scd/app-openpgp.c:4256,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4258,1
    - Dst: openpgp_curve_to_oid
      Src: /src/gnupg/scd/app-openpgp.c:4264,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4267,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:4281,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:4284,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:4287,1
    - Dst: sscanf
      Src: /src/gnupg/scd/app-openpgp.c:4294,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4297,1
    - Dst: strtoul
      Src: /src/gnupg/scd/app-openpgp.c:4304,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4307,1
    - Dst: openpgp_curve_to_oid
      Src: /src/gnupg/scd/app-openpgp.c:4314,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4317,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4323,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4329,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4334,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4338,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4340,1
    - Dst: change_rsa_keyattr
      Src: /src/gnupg/scd/app-openpgp.c:4342,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4355,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4357,1
    - Dst: openpgp_oid_from_str
      Src: /src/gnupg/scd/app-openpgp.c:4364,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/scd/app-openpgp.c:4368,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:4372,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:4373,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:4376,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:4380,1
    - Dst: change_keyattr
      Src: /src/gnupg/scd/app-openpgp.c:4381,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-openpgp.c:4382,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4385,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:4388,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 122
    argCount: 7
    argNames:
    - app
    - ctrl
    - pincb_arg
    - keyref
    - keyalgo
    - value
    - valuelen
    argTypes:
    - app_t
    - ctrl_t
    - void*
    - char*
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4390
      start: 4216
    functionDepth: 11
    functionLinenumber: 4216
    functionLinenumberEnd: 4390
    functionName: change_keyattr_from_string
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 1
    functionsReached:
    - openpgp_oid_from_str
    - gpg_error_from_syserror
    - digitp
    - change_keyattr
    - change_rsa_keyattr
    - gpg_error
    - openpgp_curve_to_oid
    - xfree
    - ascii_strcasecmp
    - strtoul
    - memcpy
    - gcry_mpi_get_opaque
    - strncmp
    - xtrymalloc
    - sscanf
    - gcry_mpi_release
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t change_keyattr_from_string (app_t app, ctrl_t ctrl,\n
      \                           gpg_error_t (*pincb)(void*, const char *, char **),\n
      \                           void *pincb_arg,\n                            const
      char *keyref, const char *keyalgo,\n                            const void *value,
      size_t valuelen)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:4418,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:4418,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4419,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4424,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4429,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4432,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4449,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4452,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4465,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4473,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4478,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4481,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-openpgp.c:4483,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4485,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4496,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:4508,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:4508,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4509,1
    - Dst: count_bits
      Src: /src/gnupg/scd/app-openpgp.c:4514,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:4516,1
    - Dst: change_rsa_keyattr
      Src: /src/gnupg/scd/app-openpgp.c:4521,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:4527,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:4527,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4529,1
    - Dst: count_bits
      Src: /src/gnupg/scd/app-openpgp.c:4536,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:4539,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:4539,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4541,1
    - Dst: count_bits
      Src: /src/gnupg/scd/app-openpgp.c:4546,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:4549,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:4549,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4551,1
    - Dst: count_bits
      Src: /src/gnupg/scd/app-openpgp.c:4554,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:4557,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:4557,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4559,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:4564,1
    - Dst: gcry_mpi_snew
      Src: /src/gnupg/scd/app-openpgp.c:4575,1
    - Dst: gcry_mpi_snew
      Src: /src/gnupg/scd/app-openpgp.c:4576,1
    - Dst: gcry_mpi_snew
      Src: /src/gnupg/scd/app-openpgp.c:4577,1
    - Dst: gcry_mpi_snew
      Src: /src/gnupg/scd/app-openpgp.c:4578,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/scd/app-openpgp.c:4582,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/scd/app-openpgp.c:4583,1
    - Dst: gcry_mpi_scan
      Src: /src/gnupg/scd/app-openpgp.c:4584,1
    - Dst: gcry_mpi_invm
      Src: /src/gnupg/scd/app-openpgp.c:4586,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/gnupg/scd/app-openpgp.c:4587,1
    - Dst: gcry_mpi_invm
      Src: /src/gnupg/scd/app-openpgp.c:4588,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/gnupg/scd/app-openpgp.c:4589,1
    - Dst: gcry_mpi_invm
      Src: /src/gnupg/scd/app-openpgp.c:4590,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/scd/app-openpgp.c:4592,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/scd/app-openpgp.c:4593,1
    - Dst: gcry_mpi_aprint
      Src: /src/gnupg/scd/app-openpgp.c:4594,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-openpgp.c:4596,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-openpgp.c:4597,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-openpgp.c:4598,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-openpgp.c:4599,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-openpgp.c:4600,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-openpgp.c:4601,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-openpgp.c:4602,1
    - Dst: build_privkey_template
      Src: /src/gnupg/scd/app-openpgp.c:4606,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:4615,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:4616,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:4617,1
    - Dst: verify_chv3
      Src: /src/gnupg/scd/app-openpgp.c:4623,1
    - Dst: iso7816_put_data_odd
      Src: /src/gnupg/scd/app-openpgp.c:4634,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:4634,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-openpgp.c:4645,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:4652,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:4657,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-openpgp.c:4661,1
    - Dst: memset
      Src: /src/gnupg/scd/app-openpgp.c:4662,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:4668,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:4673,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-openpgp.c:4676,1
    - Dst: verify_chv3
      Src: /src/gnupg/scd/app-openpgp.c:4679,1
    - Dst: iso7816_put_data
      Src: /src/gnupg/scd/app-openpgp.c:4684,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:4684,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:4690,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:4690,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:4690,1
    - Dst: store_fpr
      Src: /src/gnupg/scd/app-openpgp.c:4694,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:4701,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 218
    argCount: 7
    argNames:
    - app
    - ctrl
    - pincb_arg
    - keyno
    - buf
    - buflen
    - depth
    argTypes:
    - app_t
    - ctrl_t
    - void*
    - int
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4703
      start: 4393
    functionDepth: 11
    functionLinenumber: 4393
    functionLinenumberEnd: 4703
    functionName: rsa_writekey
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_sub_ui
    - log_assert
    - app_get_slot
    - gcry_mpi_aprint
    - memcpy
    - count_bits
    - gcry_mpi_scan
    - gcry_mpi_snew
    - iso7816_put_data_odd
    - memmove
    - log_error
    - _
    - verify_chv3
    - iso7816_put_data
    - log_info
    - gcry_mpi_invm
    - gpg_error_from_syserror
    - store_fpr
    - gpg_error
    - xfree
    - memset
    - gpg_strerror
    - parse_sexp
    - gcry_mpi_release
    - build_privkey_template
    - memcmp
    - change_rsa_keyattr
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t rsa_writekey (app_t app, ctrl_t ctrl,\n              gpg_error_t
      (*pincb)(void*, const char *, char **),\n              void *pincb_arg, int
      keyno,\n              const unsigned char *buf, size_t buflen, int depth)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4742,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4747,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4750,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-openpgp.c:4753,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4757,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:4760,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:4763,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:4767,1
    - Dst: openpgp_is_curve_supported
      Src: /src/gnupg/scd/app-openpgp.c:4769,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:4770,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-openpgp.c:4772,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4774,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-openpgp.c:4779,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-openpgp.c:4780,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4797,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4800,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4810,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4818,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4823,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4826,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-openpgp.c:4829,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4831,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-openpgp.c:4840,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4842,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:4853,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:4865,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:4865,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4866,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:4871,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:4871,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4872,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:4877,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:4877,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:4886,1
    - Dst: ecdh_params
      Src: /src/gnupg/scd/app-openpgp.c:4887,1
    - Dst: openpgp_curve_to_oid
      Src: /src/gnupg/scd/app-openpgp.c:4891,1
    - Dst: openpgp_oid_from_str
      Src: /src/gnupg/scd/app-openpgp.c:4893,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/gnupg/scd/app-openpgp.c:4896,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:4899,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4915,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:4918,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:4921,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:4925,1
    - Dst: change_keyattr
      Src: /src/gnupg/scd/app-openpgp.c:4926,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:4928,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:4934,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4935,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:4941,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:4944,1
    - Dst: build_ecc_privkey_template
      Src: /src/gnupg/scd/app-openpgp.c:4957,1
    - Dst: verify_chv3
      Src: /src/gnupg/scd/app-openpgp.c:4965,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:4968,1
    - Dst: iso7816_put_data_odd
      Src: /src/gnupg/scd/app-openpgp.c:4979,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:4979,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:4981,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:4984,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:4988,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:4988,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-openpgp.c:4988,1
    - Dst: store_fpr
      Src: /src/gnupg/scd/app-openpgp.c:4992,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-openpgp.c:4996,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 204
    argCount: 7
    argNames:
    - app
    - ctrl
    - pincb_arg
    - keyno
    - buf
    - buflen
    - depth
    argTypes:
    - app_t
    - ctrl_t
    - void*
    - int
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4998
      start: 4706
    functionDepth: 10
    functionLinenumber: 4706
    functionLinenumberEnd: 4998
    functionName: ecc_writekey
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - app_get_slot
    - memcpy
    - xtrymalloc
    - iso7816_put_data_odd
    - log_error
    - build_ecc_privkey_template
    - change_keyattr
    - _
    - verify_chv3
    - openpgp_curve_to_oid
    - log_info
    - openpgp_is_curve_supported
    - gpg_error_from_syserror
    - strcmp
    - store_fpr
    - gpg_error
    - xfree
    - gpg_strerror
    - parse_sexp
    - gcry_mpi_get_opaque
    - gcry_mpi_release
    - openpgp_oid_from_str
    - memcmp
    - ecdh_params
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ecc_writekey (app_t app, ctrl_t ctrl,\n              gpg_error_t
      (*pincb)(void*, const char *, char **),\n              void *pincb_arg, int
      keyno,\n              const unsigned char *buf, size_t buflen, int depth)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:5025,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:5027,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:5029,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5032,1
    - Dst: does_key_exist
      Src: /src/gnupg/scd/app-openpgp.c:5034,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:5045,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:5047,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-openpgp.c:5049,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-openpgp.c:5053,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:5054,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-openpgp.c:5055,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:5056,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5057,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:5060,1
    - Dst: parse_sexp
      Src: /src/gnupg/scd/app-openpgp.c:5062,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-openpgp.c:5065,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-openpgp.c:5066,1
    - Dst: gcry_sexp_new
      Src: /src/gnupg/scd/app-openpgp.c:5069,1
    - Dst: pubkey_algo_string
      Src: /src/gnupg/scd/app-openpgp.c:5070,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-openpgp.c:5073,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:5075,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:5077,1
    - Dst: change_keyattr_from_string
      Src: /src/gnupg/scd/app-openpgp.c:5079,1
    - Dst: rsa_writekey
      Src: /src/gnupg/scd/app-openpgp.c:5086,1
    - Dst: ecc_writekey
      Src: /src/gnupg/scd/app-openpgp.c:5089,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5094,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:5098,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 59
    argCount: 7
    argNames:
    - app
    - ctrl
    - keyid
    - flags
    - pincb_arg
    - keydata
    - keydatalen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - unsigned int
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5100
      start: 5008
    functionDepth: 12
    functionLinenumber: 5008
    functionLinenumberEnd: 5100
    functionName: do_writekey
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - change_keyattr_from_string
    - ecc_writekey
    - rsa_writekey
    - does_key_exist
    - strcmp
    - gpg_error
    - memcmp
    - log_info
    - ascii_strcasecmp
    - gcry_sexp_release
    - parse_sexp
    - xfree
    - pubkey_algo_string
    - gcry_sexp_new
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_writekey (app_t app, ctrl_t ctrl,\n             const
      char *keyid, unsigned int flags,\n             gpg_error_t (*pincb)(void*, const
      char *, char **),\n             void *pincb_arg,\n             const unsigned
      char *keydata, size_t keydatalen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/scd/app-openpgp.c:5126,1
    - Dst: atoi
      Src: /src/gnupg/scd/app-openpgp.c:5129,1
    - Dst: digitp
      Src: /src/gnupg/scd/app-openpgp.c:5130,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5131,1
    - Dst: flush_cache
      Src: /src/gnupg/scd/app-openpgp.c:5135,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:5138,1
    - Dst: does_key_exist
      Src: /src/gnupg/scd/app-openpgp.c:5144,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:5149,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:5153,1
    - Dst: change_keyattr_from_string
      Src: /src/gnupg/scd/app-openpgp.c:5155,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5170,1
    - Dst: determine_rsa_response
      Src: /src/gnupg/scd/app-openpgp.c:5176,1
    - Dst: verify_chv3
      Src: /src/gnupg/scd/app-openpgp.c:5184,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:5189,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:5189,1
    - Dst: time
      Src: /src/gnupg/scd/app-openpgp.c:5190,1
    - Dst: iso7816_generate_keypair
      Src: /src/gnupg/scd/app-openpgp.c:5191,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:5191,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:5197,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:5197,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5198,1
    - Dst: time
      Src: /src/gnupg/scd/app-openpgp.c:5202,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:5203,1
    - Dst: ngettext
      Src: /src/gnupg/scd/app-openpgp.c:5203,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-openpgp.c:5208,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5211,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:5212,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:5212,1
    - Dst: gnupg_get_time
      Src: /src/gnupg/scd/app-openpgp.c:5216,1
    - Dst: sprintf
      Src: /src/gnupg/scd/app-openpgp.c:5217,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-openpgp.c:5218,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:5219,1
    - Dst: read_public_key
      Src: /src/gnupg/scd/app-openpgp.c:5221,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:5223,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 7
    argNames:
    - app
    - ctrl
    - keyref
    - keyalgo
    - flags
    - createtime
    - pincb_arg
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - char*
    - unsigned int
    - time_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5225
      start: 5105
    functionDepth: 12
    functionLinenumber: 5105
    functionLinenumberEnd: 5225
    functionName: do_genkey
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - gnupg_get_time
    - strlen
    - digitp
    - app_get_slot
    - log_error
    - ngettext
    - send_status_info
    - verify_chv3
    - _
    - does_key_exist
    - log_info
    - determine_rsa_response
    - flush_cache
    - change_keyattr_from_string
    - find_tlv
    - sprintf
    - iso7816_generate_keypair
    - read_public_key
    - strcmp
    - gpg_error
    - xfree
    - time
    - ascii_strncasecmp
    - atoi
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_genkey (app_t app, ctrl_t ctrl,  const char *keyref,
      const char *keyalgo,\n           unsigned int flags, time_t createtime,\n           gpg_error_t
      (*pincb)(void*, const char *, char **),\n           void *pincb_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:5237,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:5237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - value
    - valuelen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5241
      start: 5228
    functionDepth: 1
    functionLinenumber: 5228
    functionLinenumberEnd: 5241
    functionName: convert_sig_counter_value
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 1
    functionsReached:
    - _
    - log_error
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long convert_sig_counter_value (const unsigned char *value,
      size_t valuelen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-openpgp.c:5251,1
    - Dst: convert_sig_counter_value
      Src: /src/gnupg/scd/app-openpgp.c:5254,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:5255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5257
      start: 5243
    functionDepth: 2
    functionLinenumber: 5243
    functionLinenumberEnd: 5257
    functionName: get_sig_counter
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - get_one_do
    - convert_sig_counter_value
    - xfree
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long get_sig_counter (app_t app)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/scd/app-openpgp.c:5267,1
    - Dst: get_cached_data
      Src: /src/gnupg/scd/app-openpgp.c:5269,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:5272,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:5272,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5273,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-openpgp.c:5275,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:5278,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:5279,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:5279,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5280,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:5286,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:5287,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:5287,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5288,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:5290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - app
    - keyno
    - sha1fpr
    argTypes:
    - app_t
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5292
      start: 5259
    functionDepth: 3
    functionLinenumber: 5259
    functionLinenumberEnd: 5292
    functionName: compare_fingerprint
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - log_error
    - log_assert
    - find_tlv
    - _
    - gpg_error
    - xfree
    - log_info
    - get_cached_data
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t compare_fingerprint (app_t app, int keyno, unsigned char
      *sha1fpr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-openpgp.c:5307,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5310,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5314,1
    - Dst: xtoi_2
      Src: /src/gnupg/scd/app-openpgp.c:5317,1
    - Dst: compare_fingerprint
      Src: /src/gnupg/scd/app-openpgp.c:5318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - app
    - fpr
    - key
    argTypes:
    - app_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5319
      start: 5300
    functionDepth: 4
    functionLinenumber: 5300
    functionLinenumberEnd: 5319
    functionName: check_against_given_fingerprint
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - gpg_error
    - compare_fingerprint
    - xtoi_2
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t check_against_given_fingerprint (app_t app, const char
      *fpr, int key)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:5348,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5349,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-openpgp.c:5354,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-openpgp.c:5363,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-openpgp.c:5366,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5373,1
    - Dst: ascii_strncasecmp
      Src: /src/gnupg/scd/app-openpgp.c:5379,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5380,1
    - Dst: app_get_serialno
      Src: /src/gnupg/scd/app-openpgp.c:5386,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:5387,1
    - Dst: ascii_memcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:5388,1
    - Dst: ascii_memcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:5389,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:5391,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5392,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:5395,1
    - Dst: check_against_given_fingerprint
      Src: /src/gnupg/scd/app-openpgp.c:5404,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 4
    argNames:
    - app
    - keyidstr
    - keyno
    - r_use_auth
    argTypes:
    - app_t
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5407
      start: 5337
    functionDepth: 5
    functionLinenumber: 5337
    functionLinenumberEnd: 5407
    functionName: check_keyidstr
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - ascii_strncasecmp
    - ascii_memcasecmp
    - strlen
    - app_get_serialno
    - gpg_error
    - xfree
    - strncmp
    - check_against_given_fingerprint
    linkageType: ''
    returnType: int
    signature: int check_keyidstr (app_t app, const char *keyidstr, int keyno, int
      *r_use_auth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5460,1
    - Dst: X
      Src: /src/gnupg/scd/app-openpgp.c:5475,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:5487,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:5487,1
    - Dst: gcry_md_algo_name
      Src: /src/gnupg/scd/app-openpgp.c:5488,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5490,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 9
    argNames:
    - app
    - ctrl
    - keyidstr
    - hashalgo
    - pincb_arg
    - indata
    - indatalen
    - outdata
    - outdatalen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - int
    - void*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5491
      start: 5445
    functionDepth: 1
    functionLinenumber: 5445
    functionLinenumberEnd: 5491
    functionName: do_sign
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 4
    functionsReached:
    - X
    - gcry_md_algo_name
    - log_error
    - _
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_sign (app_t app, ctrl_t ctrl, const char *keyidstr,
      int hashalgo,\n         gpg_error_t (*pincb)(void*, const char *, char **),\n
      \        void *pincb_arg,\n         const void *indata, size_t indatalen,\n
      \        unsigned char **outdata, size_t *outdatalen )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5472
      start: 5463
    functionDepth: 0
    functionLinenumber: 5463
    functionLinenumberEnd: 5472
    functionName: X
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5515
      start: 5507
    functionDepth: 0
    functionLinenumber: 5507
    functionLinenumberEnd: 5515
    functionName: X
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a,b,d)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_curve_to_oid
      Src: /src/gnupg/scd/app-openpgp.c:5622,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:5650,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:5652,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:5655,1
    - Dst: gcry_create_nonce
      Src: /src/gnupg/scd/app-openpgp.c:5657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - app
    - r_data
    - r_datalen
    argTypes:
    - app_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5661
      start: 5610
    functionDepth: 1
    functionLinenumber: 5610
    functionLinenumberEnd: 5661
    functionName: gen_challenge
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    - gpg_error_from_syserror
    - openpgp_curve_to_oid
    - memcpy
    - gcry_create_nonce
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gen_challenge (app_t app, const void **r_data, size_t *r_datalen)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5684,1
    - Dst: get_public_key
      Src: /src/gnupg/scd/app-openpgp.c:5688,1
    - Dst: gen_challenge
      Src: /src/gnupg/scd/app-openpgp.c:5692,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5706,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:5730,1
    - Dst: check_keyidstr
      Src: /src/gnupg/scd/app-openpgp.c:5734,1
    - Dst: verify_chv2
      Src: /src/gnupg/scd/app-openpgp.c:5739,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5759,1
    - Dst: iso7816_internal_authenticate
      Src: /src/gnupg/scd/app-openpgp.c:5769,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:5769,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:5772,1
    - Dst: clear_chv_status
      Src: /src/gnupg/scd/app-openpgp.c:5773,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:5783,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:5796,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:5799,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:5800,1
    - Dst: memset
      Src: /src/gnupg/scd/app-openpgp.c:5803,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:5807,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:5810,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/scd/app-openpgp.c:5816,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:5819,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:5825,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:5826,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/scd/app-openpgp.c:5830,1
    - Dst: gcry_sexp_build
      Src: /src/gnupg/scd/app-openpgp.c:5837,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-openpgp.c:5842,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:5843,1
    - Dst: gcry_sexp_new
      Src: /src/gnupg/scd/app-openpgp.c:5847,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-openpgp.c:5851,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-openpgp.c:5852,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:5853,1
    - Dst: gcry_pk_verify
      Src: /src/gnupg/scd/app-openpgp.c:5857,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-openpgp.c:5858,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-openpgp.c:5859,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-openpgp.c:5860,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:5861,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 115
    argCount: 8
    argNames:
    - app
    - ctrl
    - keyidstr
    - pincb_arg
    - indata
    - indatalen
    - outdata
    - outdatalen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - void*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5865
      start: 5673
    functionDepth: 9
    functionLinenumber: 5673
    functionLinenumberEnd: 5865
    functionName: do_auth
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - verify_chv2
    - app_get_slot
    - ascii_strcasecmp
    - memcpy
    - xtrymalloc
    - get_public_key
    - gcry_sexp_release
    - gcry_sexp_build
    - gcry_pk_verify
    - gpg_error_from_syserror
    - iso7816_internal_authenticate
    - clear_chv_status
    - strcmp
    - gpg_error
    - check_keyidstr
    - xfree
    - memset
    - gen_challenge
    - gcry_sexp_new
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_auth (app_t app, ctrl_t ctrl, const char *keyidstr,\n
      \        gpg_error_t (*pincb)(void*, const char *, char **),\n         void
      *pincb_arg,\n         const void *indata, size_t indatalen,\n         unsigned
      char **outdata, size_t *outdatalen )"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:5884,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-openpgp.c:5887,1
    - Dst: check_keyidstr
      Src: /src/gnupg/scd/app-openpgp.c:5891,1
    - Dst: verify_chv2
      Src: /src/gnupg/scd/app-openpgp.c:5896,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:5943,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:5945,1
    - Dst: memset
      Src: /src/gnupg/scd/app-openpgp.c:5947,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:5948,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:5988,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:5990,1
    - Dst: memset
      Src: /src/gnupg/scd/app-openpgp.c:6021,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:6022,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:6027,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:6035,1
    - Dst: iso7816_decipher
      Src: /src/gnupg/scd/app-openpgp.c:6053,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:6053,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:6056,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:6070,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:6073,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:6074,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:6077,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:6078,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:6083,1
    - Dst: clear_chv_status
      Src: /src/gnupg/scd/app-openpgp.c:6084,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-openpgp.c:6086,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6089,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 129
    argCount: 9
    argNames:
    - app
    - ctrl
    - keyidstr
    - pincb_arg
    - indata
    - indatalen
    - outdata
    - outdatalen
    - r_info
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - void*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6095
      start: 5868
    functionDepth: 9
    functionLinenumber: 5868
    functionLinenumberEnd: 6095
    functionName: do_decipher
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - clear_chv_status
    - verify_chv2
    - app_get_slot
    - gpg_error
    - check_keyidstr
    - memset
    - ascii_strcasecmp
    - memcpy
    - iso7816_decipher
    - xfree
    - gpg_err_code
    - log_info
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_decipher (app_t app, ctrl_t ctrl, const char *keyidstr,\n
      \            gpg_error_t (*pincb)(void*, const char *, char **),\n             void
      *pincb_arg,\n             const void *indata, size_t indatalen,\n             unsigned
      char **outdata, size_t *outdatalen,\n             unsigned int *r_info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:6117,1
    - Dst: check_keyidstr
      Src: /src/gnupg/scd/app-openpgp.c:6119,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:6123,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:6123,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-openpgp.c:6124,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:6124,1
    - Dst: get_remaining_tries
      Src: /src/gnupg/scd/app-openpgp.c:6136,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:6138,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6141,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:6141,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:6142,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6146,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:6146,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:6148,1
    - Dst: verify_chv3
      Src: /src/gnupg/scd/app-openpgp.c:6152,1
    - Dst: verify_chv2
      Src: /src/gnupg/scd/app-openpgp.c:6155,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - app
    - ctrl
    - keyidstr
    - pincb_arg
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6156
      start: 6108
    functionDepth: 9
    functionLinenumber: 6108
    functionLinenumberEnd: 6156
    functionName: do_check_pin
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - strlen
    - verify_chv2
    - _
    - verify_chv3
    - strcmp
    - gpg_error
    - check_keyidstr
    - log_info
    - get_remaining_tries
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_check_pin (app_t app, ctrl_t ctrl, const char *keyidstr,\n
      \             gpg_error_t (*pincb)(void*, const char *, char **),\n              void
      *pincb_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_usage_string
      Src: /src/gnupg/scd/app-openpgp.c:6164,1
    - Dst: sprintf
      Src: /src/gnupg/scd/app-openpgp.c:6168,1
    - Dst: send_keyinfo
      Src: /src/gnupg/scd/app-openpgp.c:6169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - app
    - ctrl
    - serial
    - data
    - i
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6172
      start: 6159
    functionDepth: 3
    functionLinenumber: 6159
    functionLinenumberEnd: 6172
    functionName: send_keyinfo_if_available
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - send_keyinfo
    - get_usage_string
    - sprintf
    linkageType: ''
    returnType: void
    signature: "void send_keyinfo_if_available (app_t app, ctrl_t ctrl, char *serial,\n
      \                          int data, int i)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_public_key
      Src: /src/gnupg/scd/app-openpgp.c:6182,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:6187,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:6191,1
    - Dst: app_get_serialno
      Src: /src/gnupg/scd/app-openpgp.c:6197,1
    - Dst: send_keyinfo_if_available
      Src: /src/gnupg/scd/app-openpgp.c:6204,1
    - Dst: send_keyinfo_if_available
      Src: /src/gnupg/scd/app-openpgp.c:6217,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:6220,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:6225,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:6230,1
    - Dst: send_keyinfo_if_available
      Src: /src/gnupg/scd/app-openpgp.c:6232,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:6233,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:6236,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:6240,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 5
    argNames:
    - app
    - ctrl
    - action
    - keygrip_str
    - capability
    argTypes:
    - app_t
    - ctrl_t
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6241
      start: 6174
    functionDepth: 7
    functionLinenumber: 6174
    functionLinenumberEnd: 6241
    functionName: do_with_keygrip
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 3
    functionsReached:
    - get_public_key
    - strcmp
    - app_get_serialno
    - gpg_error
    - send_keyinfo_if_available
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_with_keygrip (app_t app, ctrl_t ctrl, int action, const
      char *keygrip_str,\n                 int capability)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6248,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6249,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6250,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6252,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-openpgp.c:6254,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6256,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-openpgp.c:6258,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6259,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6260,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6261,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6262,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6263,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6264,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6265,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6268,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6269,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6270,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6272,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6273,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6274,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6276,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct app_local_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6278
      start: 6245
    functionDepth: 1
    functionLinenumber: 6245
    functionLinenumberEnd: 6278
    functionName: show_caps
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - log_printf
    - log_info
    linkageType: ''
    returnType: void
    signature: void show_caps (struct app_local_s *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:6290,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:6295,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:6314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - apploc
    - buffer
    - buflen
    argTypes:
    - struct app_local_s*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6328
      start: 6283
    functionDepth: 1
    functionLinenumber: 6283
    functionLinenumberEnd: 6328
    functionName: parse_historical
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - log_error
    linkageType: ''
    returnType: void
    signature: "void parse_historical (struct app_local_s *apploc,\n                  const
      unsigned char * buffer, size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-openpgp.c:6344,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-openpgp.c:6348,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/gnupg/scd/app-openpgp.c:6350,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:6353,1
    - Dst: openpgp_oid_to_str
      Src: /src/gnupg/scd/app-openpgp.c:6357,1
    - Dst: gcry_mpi_release
      Src: /src/gnupg/scd/app-openpgp.c:6358,1
    - Dst: openpgp_oid_to_curve
      Src: /src/gnupg/scd/app-openpgp.c:6362,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:6363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6365
      start: 6336
    functionDepth: 2
    functionLinenumber: 6336
    functionLinenumberEnd: 6365
    functionName: ecc_curve
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 1
    functionsReached:
    - gcry_mpi_set_opaque
    - xfree
    - memcpy
    - openpgp_oid_to_curve
    - xtrymalloc
    - openpgp_oid_to_str
    - gcry_mpi_release
    linkageType: ''
    returnType: char
    signature: 'char *

      ecc_curve (const unsigned char *buf, size_t buflen)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: map_openpgp_pk_to_gcry
      Src: /src/gnupg/scd/app-openpgp.c:6376,1
    - Dst: ecc_curve
      Src: /src/gnupg/scd/app-openpgp.c:6392,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-openpgp.c:6395,1
    - Dst: get_keyalgo_string
      Src: /src/gnupg/scd/app-openpgp.c:6397,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - buffer
    - buflen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6398
      start: 6368
    functionDepth: 3
    functionLinenumber: 6368
    functionLinenumberEnd: 6398
    functionName: get_algorithm_attribute_string
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 1
    functionsReached:
    - ecc_curve
    - map_openpgp_pk_to_gcry
    - log_printhex
    - get_keyalgo_string
    linkageType: ''
    returnType: char
    signature: "char *\nget_algorithm_attribute_string (const unsigned char *buffer,\n
      \                               size_t buflen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: log_assert
      Src: /src/gnupg/scd/app-openpgp.c:6415,1
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-openpgp.c:6420,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:6423,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:6424,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:6428,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:6429,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:6430,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6434,1
    - Dst: map_openpgp_pk_to_gcry
      Src: /src/gnupg/scd/app-openpgp.c:6436,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-openpgp.c:6456,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-openpgp.c:6473,1
    - Dst: ecc_curve
      Src: /src/gnupg/scd/app-openpgp.c:6481,1
    - Dst: ecc_curve
      Src: /src/gnupg/scd/app-openpgp.c:6483,1
    - Dst: ecc_curve
      Src: /src/gnupg/scd/app-openpgp.c:6493,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-openpgp.c:6498,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:6499,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:6506,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-openpgp.c:6509,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-openpgp.c:6513,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-openpgp.c:6520,1
    - Dst: get_keyalgo_string
      Src: /src/gnupg/scd/app-openpgp.c:6523,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6526,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:6529,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 2
    argNames:
    - app
    - keyno
    argTypes:
    - app_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6531
      start: 6403
    functionDepth: 3
    functionLinenumber: 6403
    functionLinenumberEnd: 6531
    functionName: parse_algorithm_attribute
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 1
    functionsReached:
    - map_openpgp_pk_to_gcry
    - APP_CARD
    - log_printhex
    - log_error
    - log_assert
    - get_keyalgo_string
    - strcmp
    - gpg_error
    - xfree
    - log_info
    - get_one_do
    - ecc_curve
    - log_printf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_algorithm_attribute (app_t app, int keyno)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - app
    - ctrl
    argTypes:
    - app_t
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6548
      start: 6538
    functionDepth: 0
    functionLinenumber: 6538
    functionLinenumberEnd: 6548
    functionName: do_prep_reselect
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_prep_reselect (app_t app, ctrl_t ctrl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-openpgp.c:6563,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:6564,1
    - Dst: iso7816_select_application
      Src: /src/gnupg/scd/app-openpgp.c:6568,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:6568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - app
    - ctrl
    argTypes:
    - app_t
    - ctrl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6577
      start: 6553
    functionDepth: 3
    functionLinenumber: 6553
    functionLinenumberEnd: 6577
    functionName: do_reselect
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - app_get_slot
    - gpg_error
    - iso7816_select_application
    - APP_CARD
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_reselect (app_t app, ctrl_t ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/scd/app-openpgp.c:6588,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:6591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - app
    - ctrl
    - aid
    - aidlen
    argTypes:
    - app_t
    - ctrl_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6592
      start: 6581
    functionDepth: 1
    functionLinenumber: 6581
    functionLinenumberEnd: 6592
    functionName: do_check_aid
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - memcmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_check_aid (app_t app, ctrl_t ctrl, const unsigned char
      *aid, size_t aidlen)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-openpgp.c:6600,1
    - Dst: iso7816_select_application
      Src: /src/gnupg/scd/app-openpgp.c:6608,1
    - Dst: iso7816_get_data
      Src: /src/gnupg/scd/app-openpgp.c:6626,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6631,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-openpgp.c:6632,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-openpgp.c:6648,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:6649,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:6652,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-openpgp.c:6652,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-openpgp.c:6653,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-openpgp.c:6654,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-openpgp.c:6658,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-openpgp.c:6661,1
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-openpgp.c:6677,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-openpgp.c:6682,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-openpgp.c:6683,1
    - Dst: parse_historical
      Src: /src/gnupg/scd/app-openpgp.c:6685,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:6686,1
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-openpgp.c:6690,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:6693,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:6693,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:6695,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:6699,1
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-openpgp.c:6702,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-openpgp.c:6705,1
    - Dst: _
      Src: /src/gnupg/scd/app-openpgp.c:6705,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-openpgp.c:6707,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-openpgp.c:6738,1
    - Dst: get_one_do
      Src: /src/gnupg/scd/app-openpgp.c:6746,1
    - Dst: parse_login_data
      Src: /src/gnupg/scd/app-openpgp.c:6753,1
    - Dst: show_caps
      Src: /src/gnupg/scd/app-openpgp.c:6756,1
    - Dst: parse_algorithm_attribute
      Src: /src/gnupg/scd/app-openpgp.c:6758,1
    - Dst: parse_algorithm_attribute
      Src: /src/gnupg/scd/app-openpgp.c:6760,1
    - Dst: parse_algorithm_attribute
      Src: /src/gnupg/scd/app-openpgp.c:6762,1
    - Dst: dump_all_do
      Src: /src/gnupg/scd/app-openpgp.c:6767,1
    - Dst: flush_cache_item
      Src: /src/gnupg/scd/app-openpgp.c:6770,1
    - Dst: do_deinit
      Src: /src/gnupg/scd/app-openpgp.c:6794,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 129
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6796
      start: 6597
    functionDepth: 4
    functionLinenumber: 6597
    functionLinenumberEnd: 6796
    functionName: app_select_openpgp
    functionSourceFile: /src/gnupg/scd/app-openpgp.c
    functionUses: 0
    functionsReached:
    - flush_cache_item
    - APP_CARD
    - app_get_slot
    - iso7816_get_data
    - parse_login_data
    - log_printhex
    - log_error
    - _
    - log_info
    - do_deinit
    - iso7816_select_application
    - gpg_error_from_syserror
    - dump_all_do
    - gpg_error
    - xfree
    - parse_algorithm_attribute
    - xtrycalloc
    - get_one_do
    - show_caps
    - parse_historical
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t app_select_openpgp (app_t app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: X
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: IS_CARDOS_5
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_CARDOS_5(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: IS_STARCOS_3
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_STARCOS_3(a)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - cardtype
    argTypes:
    - card_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 572
    functionName: cardtype2str
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      cardtype2str (card_type_t cardtype)'
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - cardproduct
    argTypes:
    - card_product_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 589
    functionName: cardproduct2str
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      cardproduct2str (card_product_t cardproduct)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ksba_free
      Src: /src/gnupg/scd/app-p15.c:598,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:599,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:600,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:601,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - cdf_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 605
    functionName: release_cdflist
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 1
    functionsReached:
    - ksba_free
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_cdflist (cdf_object_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:614,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:615,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:616,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:617,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:618,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:619,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - prkdf_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 623
    functionName: release_prkdflist
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 1
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_prkdflist (prkdf_object_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_prkdflist
      Src: /src/gnupg/scd/app-p15.c:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - pukdf_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 629
    functionName: release_pukdflist
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - release_prkdflist
    linkageType: ''
    returnType: void
    signature: void release_pukdflist (pukdf_object_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:637,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:638,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:639,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:640,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - aodf_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 643
    functionName: release_aodf_object
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_aodf_object (aodf_object_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_aodf_object
      Src: /src/gnupg/scd/app-p15.c:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - aodf_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 655
    functionName: release_aodflist
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - release_aodf_object
    linkageType: ''
    returnType: void
    signature: void release_aodflist (aodf_object_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_cdflist
      Src: /src/gnupg/scd/app-p15.c:661,1
    - Dst: release_cdflist
      Src: /src/gnupg/scd/app-p15.c:663,1
    - Dst: release_cdflist
      Src: /src/gnupg/scd/app-p15.c:665,1
    - Dst: release_pukdflist
      Src: /src/gnupg/scd/app-p15.c:667,1
    - Dst: release_prkdflist
      Src: /src/gnupg/scd/app-p15.c:669,1
    - Dst: release_aodflist
      Src: /src/gnupg/scd/app-p15.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 673
    functionName: release_lists
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - release_aodflist
    - release_prkdflist
    - release_cdflist
    - release_pukdflist
    linkageType: ''
    returnType: void
    signature: void release_lists (app_t app)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:679,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:681,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:683,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 687
    functionName: release_tokeninfo
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_tokeninfo (app_t app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_lists
      Src: /src/gnupg/scd/app-p15.c:696,1
    - Dst: release_tokeninfo
      Src: /src/gnupg/scd/app-p15.c:697,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 691
    functionDepth: 3
    functionLinenumber: 691
    functionLinenumberEnd: 701
    functionName: do_deinit
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 5
    functionsReached:
    - release_tokeninfo
    - release_lists
    - xfree
    linkageType: ''
    returnType: void
    signature: void do_deinit (app_t app)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: select_ef_by_path
      Src: /src/gnupg/scd/app-p15.c:717,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:720,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:721,1
    - Dst: iso7816_read_binary_ext
      Src: /src/gnupg/scd/app-p15.c:726,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:726,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:729,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:730,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - app
    - efid
    - efid_desc
    - buffer
    - buflen
    argTypes:
    - app_t
    - unsigned short
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 708
    functionDepth: 3
    functionLinenumber: 708
    functionLinenumberEnd: 732
    functionName: select_and_read_binary
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 4
    functionsReached:
    - log_error
    - app_get_slot
    - gpg_strerror
    - select_ef_by_path
    - iso7816_read_binary_ext
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t select_and_read_binary (app_t app, unsigned short efid,
      const char *efid_desc,\n                        unsigned char **buffer, size_t
      *buflen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: select_ef_by_path
      Src: /src/gnupg/scd/app-p15.c:752,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:755,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:756,1
    - Dst: iso7816_read_record_ext
      Src: /src/gnupg/scd/app-p15.c:763,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:763,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:767,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:772,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:773,1
    - Dst: buf16_to_uint
      Src: /src/gnupg/scd/app-p15.c:784,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-p15.c:786,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-p15.c:791,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 7
    argNames:
    - app
    - efid
    - recno
    - efid_desc
    - buffer
    - buflen
    - r_sw
    argTypes:
    - app_t
    - unsigned short
    - int
    - char*
    - unsigned char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 739
    functionDepth: 3
    functionLinenumber: 739
    functionLinenumberEnd: 796
    functionName: select_and_read_record
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - iso7816_read_record_ext
    - memmove
    - log_error
    - app_get_slot
    - buf16_to_uint
    - gpg_strerror
    - select_ef_by_path
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t select_and_read_record (app_t app, unsigned short efid,
      int recno,\n                        const char *efid_desc,\n                        unsigned
      char **buffer, size_t *buflen, int *r_sw)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:812,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app-p15.c:816,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:818,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:819,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:820,1
    - Dst: iso7816_select_mf
      Src: /src/gnupg/scd/app-p15.c:828,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:828,1
    - Dst: iso7816_select_path
      Src: /src/gnupg/scd/app-p15.c:830,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:830,1
    - Dst: iso7816_select_path
      Src: /src/gnupg/scd/app-p15.c:836,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:836,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:841,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:848,1
    - Dst: iso7816_select_file
      Src: /src/gnupg/scd/app-p15.c:853,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:853,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:857,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:866,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:868,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:870,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:871,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:871,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 4
    argNames:
    - app
    - path
    - pathlen
    - expect_df
    argTypes:
    - app_t
    - unsigned short*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 803
    functionDepth: 3
    functionLinenumber: 803
    functionLinenumberEnd: 873
    functionName: select_by_path
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - log_error
    - app_get_slot
    - iso7816_select_mf
    - gpg_error
    - gpg_strerror
    - iso7816_select_file
    - log_printf
    - log_debug
    - iso7816_select_path
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t select_by_path (app_t app, const unsigned short *path,
      size_t pathlen,\n                int expect_df)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: select_by_path
      Src: /src/gnupg/scd/app-p15.c:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - app
    - path
    - pathlen
    argTypes:
    - app_t
    - unsigned short*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 876
    functionDepth: 4
    functionLinenumber: 876
    functionLinenumberEnd: 880
    functionName: select_ef_by_path
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 2
    functionsReached:
    - select_by_path
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t select_ef_by_path (app_t app, const unsigned short *path,
      size_t pathlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: select_by_path
      Src: /src/gnupg/scd/app-p15.c:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - app
    - path
    - pathlen
    argTypes:
    - app_t
    - unsigned short*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 883
    functionDepth: 4
    functionLinenumber: 883
    functionLinenumberEnd: 887
    functionName: select_df_by_path
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - select_by_path
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t select_df_by_path (app_t app, const unsigned short *path,
      size_t pathlen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:907,1
    - Dst: keygrip_from_prkdf
      Src: /src/gnupg/scd/app-p15.c:913,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:914,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:917,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:919,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:921,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:922,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-p15.c:927,1
    - Dst: strcpy
      Src: /src/gnupg/scd/app-p15.c:930,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-p15.c:931,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:931,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-p15.c:933,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-p15.c:934,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-p15.c:935,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-p15.c:936,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-p15.c:937,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-p15.c:938,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:940,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:941,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:943,1
    - Dst: hexdigitp
      Src: /src/gnupg/scd/app-p15.c:944,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:947,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:949,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:951,1
    - Dst: xtoi_2
      Src: /src/gnupg/scd/app-p15.c:953,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 38
    argCount: 4
    argNames:
    - app
    - certid
    - r_objid
    - r_objidlen
    argTypes:
    - app_t
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 959
    functionName: parse_certid
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 2
    functionsReached:
    - hexdigitp
    - strlen
    - gpg_error_from_syserror
    - snprintf
    - strcmp
    - gpg_error
    - keygrip_from_prkdf
    - memcpy
    - strcpy
    - strncmp
    - xtrymalloc
    - xtoi_2
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_certid (app_t app, const char *certid,\n              unsigned
      char **r_objid, size_t *r_objidlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:971,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:975,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:979,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:982,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 4
    argNames:
    - app
    - objidlen
    - objid
    - r_cdf
    argTypes:
    - app_t
    - size_t
    - unsigned char*
    - cdf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 985
    functionName: cdf_object_from_objid
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - memcmp
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t cdf_object_from_objid (app_t app, size_t objidlen, const
      unsigned char *objid,\n                       cdf_object_t *r_cdf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:996,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:999,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:1003,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:1007,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1010,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 18
    argCount: 3
    argNames:
    - app
    - label
    - r_cdf
    argTypes:
    - app_t
    - char*
    - cdf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 1013
    functionName: cdf_object_from_label
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cdf_object_from_label (app_t app, const char *label, cdf_object_t
      *r_cdf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parse_certid
      Src: /src/gnupg/scd/app-p15.c:1027,1
    - Dst: cdf_object_from_objid
      Src: /src/gnupg/scd/app-p15.c:1031,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:1032,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:1038,1
    - Dst: cdf_object_from_label
      Src: /src/gnupg/scd/app-p15.c:1041,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:1043,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - app
    - certid
    - r_cdf
    argTypes:
    - app_t
    - char*
    - cdf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1018
    functionDepth: 2
    functionLinenumber: 1018
    functionLinenumberEnd: 1048
    functionName: cdf_object_from_certid
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 1
    functionsReached:
    - parse_certid
    - cdf_object_from_objid
    - memcmp
    - gpg_err_code
    - xfree
    - cdf_object_from_label
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cdf_object_from_certid (app_t app, const char *certid,
      cdf_object_t *r_cdf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_certid
      Src: /src/gnupg/scd/app-p15.c:1062,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:1067,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:1069,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1071,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - app
    - keyidstr
    - r_prkdf
    argTypes:
    - app_t
    - char*
    - prkdf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1074
    functionName: prkdf_object_from_keyidstr
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 3
    functionsReached:
    - parse_certid
    - gpg_error
    - memcmp
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t prkdf_object_from_keyidstr (app_t app, const char *keyidstr,\n
      \                           prkdf_object_t *r_prkdf)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: select_and_read_binary
      Src: /src/gnupg/scd/app-p15.c:1115,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:1122,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:1123,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1124,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:1133,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:1139,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:1155,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-p15.c:1169,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:1170,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1171,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:1188,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:1205,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:1223,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-p15.c:1224,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:1228,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 121
    argCount: 2
    argNames:
    - app
    - odf_fid
    argTypes:
    - app_t
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1094
    functionDepth: 1
    functionLinenumber: 1094
    functionLinenumberEnd: 1230
    functionName: read_ef_odf
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - log_printhex
    - log_error
    - gpg_error
    - select_and_read_binary
    - memcmp
    - xfree
    - log_info
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_ef_odf (app_t app, unsigned short odf_fid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1248,1
    - Dst: IS_CARDOS_5
      Src: /src/gnupg/scd/app-p15.c:1250,1
    - Dst: select_and_read_record
      Src: /src/gnupg/scd/app-p15.c:1253,1
    - Dst: select_and_read_binary
      Src: /src/gnupg/scd/app-p15.c:1258,1
    - Dst: select_and_read_binary
      Src: /src/gnupg/scd/app-p15.c:1262,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:1267,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 6
    argNames:
    - app
    - fid
    - fid_desc
    - r_buffer
    - r_buflen
    - r_use_read_record
    argTypes:
    - app_t
    - unsigned short
    - char*
    - unsigned char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1235
    functionDepth: 4
    functionLinenumber: 1235
    functionLinenumberEnd: 1271
    functionName: read_first_record
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - select_and_read_record
    - IS_CARDOS_5
    - select_and_read_binary
    - gpg_error
    - gpg_err_code
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t read_first_record (app_t app, unsigned short fid, const
      char *fid_desc,\n                   unsigned char **r_buffer, size_t *r_buflen,\n
      \                  int *r_use_read_record)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/scd/app-p15.c:1283,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1285,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1289,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 3
    argNames:
    - der
    - derlen
    - usageflags
    argTypes:
    - unsigned char*
    - size_t
    - keyusage_flags_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1276
    functionDepth: 1
    functionLinenumber: 1276
    functionLinenumberEnd: 1336
    functionName: parse_keyusage_flags
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - memset
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_keyusage_flags (const unsigned char *der, size_t
      derlen,\n                      keyusage_flags_t *usageflags)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:1344,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1346,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1348,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1350,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1352,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1354,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1356,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1358,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1360,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1362,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1364,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - usageflags
    argTypes:
    - keyusage_flags_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1339
    functionDepth: 1
    functionLinenumber: 1339
    functionLinenumberEnd: 1365
    functionName: dump_keyusage_flags
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - log_printf
    - log_info
    linkageType: ''
    returnType: void
    signature: void dump_keyusage_flags (keyusage_flags_t usageflags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:1373,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1375,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1377,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1379,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1381,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - accessflags
    argTypes:
    - keyaccess_flags_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1368
    functionDepth: 1
    functionLinenumber: 1368
    functionLinenumberEnd: 1384
    functionName: dump_keyaccess_flags
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - log_printf
    - log_info
    linkageType: ''
    returnType: void
    signature: void dump_keyaccess_flags (keyaccess_flags_t accessflags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:1392,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1394,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1396,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1398,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:1400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - gpgusage
    argTypes:
    - gpgusage_flags_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1401
    functionName: dump_gpgusage_flags
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - log_printf
    - log_info
    linkageType: ''
    returnType: void
    signature: void dump_gpgusage_flags (gpgusage_flags_t gpgusage)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/scd/app-p15.c:1413,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1415,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1419,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - der
    - derlen
    - accessflags
    argTypes:
    - unsigned char*
    - size_t
    - keyaccess_flags_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1448
    functionName: parse_keyaccess_flags
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - memset
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_keyaccess_flags (const unsigned char *der, size_t
      derlen,\n                       keyaccess_flags_t *accessflags)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:1484,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1487,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:1499,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1502,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:1510,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:1513,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:1516,1
    - Dst: ascii_isspace
      Src: /src/gnupg/scd/app-p15.c:1521,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:1529,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1532,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:1542,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1545,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:1551,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:1554,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:1557,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:1562,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:1565,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:1566,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:1570,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 80
    argCount: 5
    argNames:
    - buffer
    - size
    - r_authid
    - r_authidlen
    - r_label
    argTypes:
    - unsigned char**
    - size_t*
    - unsigned char**
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1465
    functionDepth: 1
    functionLinenumber: 1465
    functionLinenumberEnd: 1575
    functionName: parse_common_obj_attr
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - ascii_isspace
    - parse_ber_header
    - gpg_error_from_syserror
    - log_error
    - gpg_error
    - gpg_err_code
    - memcpy
    - gpg_strerror
    - xfree
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_common_obj_attr (unsigned char const **buffer, size_t
      *size,\n                       unsigned char **r_authid, size_t *r_authidlen,\n
      \                      char **r_label)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/scd/app-p15.c:1615,1
    - Dst: memset
      Src: /src/gnupg/scd/app-p15.c:1616,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:1620,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1623,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:1634,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1638,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:1649,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1653,1
    - Dst: parse_keyusage_flags
      Src: /src/gnupg/scd/app-p15.c:1657,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:1667,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1670,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:1680,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1683,1
    - Dst: parse_keyaccess_flags
      Src: /src/gnupg/scd/app-p15.c:1690,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:1696,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1699,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:1717,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1723,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:1726,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:1728,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:1731,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:1743,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:1744,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 104
    argCount: 8
    argNames:
    - buffer
    - size
    - r_objid
    - r_objidlen
    - usageflags
    - accessflags
    - r_key_reference
    - r_key_reference_valid
    argTypes:
    - unsigned char**
    - size_t*
    - unsigned char**
    - size_t*
    - keyusage_flags_t*
    - keyaccess_flags_t*
    - unsigned long*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1593
    functionDepth: 2
    functionLinenumber: 1593
    functionLinenumberEnd: 1747
    functionName: parse_common_key_attr
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - parse_ber_header
    - parse_keyaccess_flags
    - gpg_error_from_syserror
    - log_error
    - parse_keyusage_flags
    - gpg_error
    - memset
    - gpg_err_code
    - memcpy
    - gpg_strerror
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_common_key_attr (unsigned char const **buffer, size_t
      *size,\n                       unsigned char **r_objid, size_t *r_objidlen,\n
      \                      keyusage_flags_t *usageflags,\n                       keyaccess_flags_t
      *accessflags,\n                       unsigned long *r_key_reference,\n                       int
      *r_key_reference_valid)"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: read_first_record
      Src: /src/gnupg/scd/app-p15.c:1809,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:1838,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1843,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1861,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:1867,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:1868,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:1879,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:1880,1
    - Dst: parse_common_obj_attr
      Src: /src/gnupg/scd/app-p15.c:1881,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:1887,1
    - Dst: parse_common_key_attr
      Src: /src/gnupg/scd/app-p15.c:1888,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-p15.c:1894,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:1898,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1901,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:1910,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1915,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:1921,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1926,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1930,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:1938,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1941,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:1953,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:1956,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-p15.c:1972,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:1977,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2011,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2015,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2028,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2032,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:2055,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:2056,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2059,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2060,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2061,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2062,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2072,1
    - Dst: select_and_read_record
      Src: /src/gnupg/scd/app-p15.c:2073,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:2076,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2088,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2089,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2090,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2091,1
    - Dst: release_prkdflist
      Src: /src/gnupg/scd/app-p15.c:2093,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 205
    argCount: 3
    argNames:
    - app
    - fid
    - result
    argTypes:
    - app_t
    - unsigned short
    - prkdf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 1790
    functionDepth: 5
    functionLinenumber: 1790
    functionLinenumberEnd: 2097
    functionName: read_ef_prkdf
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - parse_ber_header
    - select_and_read_record
    - log_error
    - read_first_record
    - log_assert
    - parse_common_obj_attr
    - gpg_error_from_syserror
    - gpg_error
    - gpg_strerror
    - xfree
    - parse_common_key_attr
    - xtrycalloc
    - gpg_err_code
    - release_prkdflist
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_ef_prkdf (app_t app, unsigned short fid, prkdf_object_t
      *result)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 1855
    functionName: CLASS_CONTEXT::switch
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void switch (tag)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: read_first_record
      Src: /src/gnupg/scd/app-p15.c:2120,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2148,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2153,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2171,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:2177,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:2178,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2189,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2190,1
    - Dst: parse_common_obj_attr
      Src: /src/gnupg/scd/app-p15.c:2191,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2197,1
    - Dst: parse_common_key_attr
      Src: /src/gnupg/scd/app-p15.c:2198,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-p15.c:2204,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2208,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2211,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2221,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2226,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2232,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2237,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2241,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2249,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2252,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2264,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2267,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-p15.c:2281,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:2286,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2318,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2322,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2335,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2339,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:2355,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:2357,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:2359,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:2360,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:2362,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:2364,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:2367,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:2369,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:2372,1
    - Dst: dump_keyaccess_flags
      Src: /src/gnupg/scd/app-p15.c:2374,1
    - Dst: dump_keyusage_flags
      Src: /src/gnupg/scd/app-p15.c:2375,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:2376,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:2386,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:2387,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2390,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2391,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2392,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2393,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2403,1
    - Dst: select_and_read_record
      Src: /src/gnupg/scd/app-p15.c:2404,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:2407,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2419,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2420,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2421,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2422,1
    - Dst: release_pukdflist
      Src: /src/gnupg/scd/app-p15.c:2424,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 226
    argCount: 3
    argNames:
    - app
    - fid
    - result
    argTypes:
    - app_t
    - unsigned short
    - pukdf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2101
    functionDepth: 5
    functionLinenumber: 2101
    functionLinenumberEnd: 2428
    functionName: read_ef_pukdf
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - parse_ber_header
    - select_and_read_record
    - log_error
    - read_first_record
    - log_assert
    - parse_common_obj_attr
    - gpg_error_from_syserror
    - dump_keyaccess_flags
    - dump_keyusage_flags
    - release_pukdflist
    - gpg_error
    - gpg_strerror
    - xfree
    - parse_common_key_attr
    - xtrycalloc
    - log_info
    - gpg_err_code
    - log_printf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_ef_pukdf (app_t app, unsigned short fid, pukdf_object_t
      *result)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2165
      start: 2158
    functionDepth: 0
    functionLinenumber: 2158
    functionLinenumberEnd: 2165
    functionName: CLASS_CONTEXT::switch
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void switch (tag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:2441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - cdflist
    - objid
    - objidlen
    argTypes:
    - cdf_object_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2444
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2444
    functionName: objid_in_cdflist_p
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int objid_in_cdflist_p (cdf_object_t cdflist,\n                    const
      unsigned char *objid, size_t objidlen)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: read_first_record
      Src: /src/gnupg/scd/app-p15.c:2468,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2494,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2497,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:2500,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:2500,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2510,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2511,1
    - Dst: parse_common_obj_attr
      Src: /src/gnupg/scd/app-p15.c:2512,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2518,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2521,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2533,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2537,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2546,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2549,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2555,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2559,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2566,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2569,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2581,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2584,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-p15.c:2597,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:2602,1
    - Dst: objid_in_cdflist_p
      Src: /src/gnupg/scd/app-p15.c:2621,1
    - Dst: objid_in_cdflist_p
      Src: /src/gnupg/scd/app-p15.c:2622,1
    - Dst: objid_in_cdflist_p
      Src: /src/gnupg/scd/app-p15.c:2624,1
    - Dst: objid_in_cdflist_p
      Src: /src/gnupg/scd/app-p15.c:2626,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:2629,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:2632,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2633,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:2636,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:2641,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2642,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2657,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2661,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2674,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2678,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:2693,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:2695,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:2697,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:2698,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:2700,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:2702,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:2705,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:2707,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:2709,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:2719,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:2720,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2721,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2725,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2726,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2732,1
    - Dst: select_and_read_record
      Src: /src/gnupg/scd/app-p15.c:2733,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:2737,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2749,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2750,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:2751,1
    - Dst: release_cdflist
      Src: /src/gnupg/scd/app-p15.c:2753,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 210
    argCount: 4
    argNames:
    - app
    - fid
    - cdftype
    - result
    argTypes:
    - app_t
    - unsigned short
    - int
    - cdf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2757
      start: 2451
    functionDepth: 5
    functionLinenumber: 2451
    functionLinenumberEnd: 2757
    functionName: read_ef_cdf
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - parse_ber_header
    - objid_in_cdflist_p
    - select_and_read_record
    - release_cdflist
    - log_error
    - read_first_record
    - gpg_error_from_syserror
    - parse_common_obj_attr
    - gpg_error
    - gpg_strerror
    - xfree
    - memcpy
    - xtrycalloc
    - log_info
    - gpg_err_code
    - log_printf
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_ef_cdf (app_t app, unsigned short fid, int cdftype,
      cdf_object_t *result)
  - BBCount: 120
    BranchProfiles: []
    Callsites:
    - Dst: read_first_record
      Src: /src/gnupg/scd/app-p15.c:2820,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2846,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2851,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2870,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:2876,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:2877,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-p15.c:2886,1
    - Dst: parse_common_obj_attr
      Src: /src/gnupg/scd/app-p15.c:2894,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2901,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2904,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2916,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2920,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:2925,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:2928,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2933,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2936,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2942,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2947,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2951,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:2961,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2965,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:2976,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:3041,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3045,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3047,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:3061,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3065,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3067,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:3080,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3084,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3086,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:3099,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:3101,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3104,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3111,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:3124,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:3126,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3129,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3139,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:3152,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:3154,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3157,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:3174,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:3176,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3179,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:3191,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:3193,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3196,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:3211,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3214,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-p15.c:3228,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:3239,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3245,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:3258,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3263,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:3286,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:3290,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3292,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3294,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:3295,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3296,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3301,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3303,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3305,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3309,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3311,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3316,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3317,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3318,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3320,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3322,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:3324,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3327,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3329,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3331,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3333,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3335,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3337,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3339,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3341,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3343,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3345,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3347,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3349,1
    - Dst: sprintf
      Src: /src/gnupg/scd/app-p15.c:3362,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3365,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3371,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:3381,1
    - Dst: release_aodf_object
      Src: /src/gnupg/scd/app-p15.c:3382,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:3386,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:3387,1
    - Dst: release_aodf_object
      Src: /src/gnupg/scd/app-p15.c:3389,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:3397,1
    - Dst: select_and_read_record
      Src: /src/gnupg/scd/app-p15.c:3398,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:3401,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:3413,1
    - Dst: release_aodflist
      Src: /src/gnupg/scd/app-p15.c:3415,1
    CyclomaticComplexity: 222
    EdgeCount: 222
    ICount: 479
    argCount: 3
    argNames:
    - app
    - fid
    - result
    argTypes:
    - app_t
    - unsigned short
    - aodf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3419
      start: 2806
    functionDepth: 5
    functionLinenumber: 2806
    functionLinenumberEnd: 3419
    functionName: read_ef_aodf
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - parse_ber_header
    - select_and_read_record
    - log_error
    - read_first_record
    - gpg_error_from_syserror
    - parse_common_obj_attr
    - sprintf
    - release_aodflist
    - gpg_error
    - gpg_strerror
    - memcpy
    - gpg_err_code
    - xtrycalloc
    - log_info
    - xfree
    - log_printf
    - xtrymalloc
    - release_aodf_object
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_ef_aodf (app_t app, unsigned short fid, aodf_object_t
      *result)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2863
      start: 2858
    functionDepth: 0
    functionLinenumber: 2858
    functionLinenumberEnd: 2863
    functionName: CLASS_CONTEXT::switch
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void switch (tag)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3432,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3439,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3462,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3463,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3464,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3465,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3476,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - der
    - derlen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3477
      start: 3423
    functionDepth: 0
    functionLinenumber: 3423
    functionLinenumberEnd: 3477
    functionName: print_tokeninfo_tokenflags
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - log_printf
    linkageType: ''
    returnType: void
    signature: void print_tokeninfo_tokenflags (const unsigned char *der, size_t derlen)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: release_tokeninfo
      Src: /src/gnupg/scd/app-p15.c:3536,1
    - Dst: select_and_read_binary
      Src: /src/gnupg/scd/app-p15.c:3539,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:3546,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3549,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:3552,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:3552,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:3559,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3562,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:3574,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3575,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:3580,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3583,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:3587,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:3588,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:3591,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:3594,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:3600,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3603,1
    - Dst: percent_data_escape
      Src: /src/gnupg/scd/app-p15.c:3608,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:3613,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3616,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3624,1
    - Dst: percent_data_escape
      Src: /src/gnupg/scd/app-p15.c:3631,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:3636,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3639,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:3647,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:3650,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:3653,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:3660,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 103
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3662
      start: 3525
    functionDepth: 1
    functionLinenumber: 3525
    functionLinenumberEnd: 3662
    functionName: read_ef_tokeninfo
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - parse_ber_header
    - percent_data_escape
    - log_error
    - gpg_error_from_syserror
    - gpg_error
    - select_and_read_binary
    - gpg_strerror
    - xfree
    - memcpy
    - release_tokeninfo
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_ef_tokeninfo (app_t app)
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: read_ef_tokeninfo
      Src: /src/gnupg/scd/app-p15.c:3676,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:3681,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:3683,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:3684,1
    - Dst: app_munge_serialno
      Src: /src/gnupg/scd/app-p15.c:3687,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:3687,1
    - Dst: release_lists
      Src: /src/gnupg/scd/app-p15.c:3692,1
    - Dst: IS_CARDOS_5
      Src: /src/gnupg/scd/app-p15.c:3699,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-p15.c:3701,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-p15.c:3703,1
    - Dst: strstr
      Src: /src/gnupg/scd/app-p15.c:3708,1
    - Dst: read_ef_odf
      Src: /src/gnupg/scd/app-p15.c:3715,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-p15.c:3720,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-p15.c:3721,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-p15.c:3722,1
    - Dst: read_ef_cdf
      Src: /src/gnupg/scd/app-p15.c:3724,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:3726,1
    - Dst: read_ef_cdf
      Src: /src/gnupg/scd/app-p15.c:3727,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:3729,1
    - Dst: read_ef_cdf
      Src: /src/gnupg/scd/app-p15.c:3730,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:3732,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-p15.c:3738,1
    - Dst: read_ef_pukdf
      Src: /src/gnupg/scd/app-p15.c:3739,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:3741,1
    - Dst: read_ef_pukdf
      Src: /src/gnupg/scd/app-p15.c:3742,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:3744,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-p15.c:3750,1
    - Dst: read_ef_prkdf
      Src: /src/gnupg/scd/app-p15.c:3751,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:3753,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-p15.c:3759,1
    - Dst: read_ef_aodf
      Src: /src/gnupg/scd/app-p15.c:3760,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:3762,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-p15.c:3780,1
    - Dst: cdf_object_from_objid
      Src: /src/gnupg/scd/app-p15.c:3781,1
    - Dst: cdf_object_from_label
      Src: /src/gnupg/scd/app-p15.c:3782,1
    - Dst: readcert_by_cdf
      Src: /src/gnupg/scd/app-p15.c:3785,1
    - Dst: ksba_cert_get_extension
      Src: /src/gnupg/scd/app-p15.c:3796,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3798,1
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/scd/app-p15.c:3800,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:3803,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:3806,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-p15.c:3811,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:3814,1
    - Dst: ksba_cert_get_ext_key_usages
      Src: /src/gnupg/scd/app-p15.c:3820,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app-p15.c:3824,1
    - Dst: strchr
      Src: /src/gnupg/scd/app-p15.c:3826,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3833,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3834,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3835,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3836,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3837,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3839,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3841,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3842,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3843,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3845,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3861,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3867,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3873,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3879,1
    - Dst: strchr
      Src: /src/gnupg/scd/app-p15.c:3887,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:3890,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3896,1
    - Dst: IS_CARDOS_5
      Src: /src/gnupg/scd/app-p15.c:3897,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3903,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3907,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-p15.c:3918,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-p15.c:3925,1
    - Dst: strncmp
      Src: /src/gnupg/scd/app-p15.c:3932,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:3953,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:3973,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3975,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3977,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:3978,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3980,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3982,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3985,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3987,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3990,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:3991,1
    - Dst: dump_keyaccess_flags
      Src: /src/gnupg/scd/app-p15.c:3993,1
    - Dst: dump_keyusage_flags
      Src: /src/gnupg/scd/app-p15.c:3994,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:3996,1
    - Dst: dump_gpgusage_flags
      Src: /src/gnupg/scd/app-p15.c:4005,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:4007,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:4010,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:4013,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-p15.c:4014,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:4017,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:4019,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-p15.c:4020,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:4020,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:4020,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:4025,1
    - Dst: cardproduct2str
      Src: /src/gnupg/scd/app-p15.c:4029,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:4030,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:4035,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:4038,1
    - Dst: print_tokeninfo_tokenflags
      Src: /src/gnupg/scd/app-p15.c:4039,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:4041,1
    - Dst: apdu_get_atr
      Src: /src/gnupg/scd/app-p15.c:4044,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:4044,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:4045,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:4047,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-p15.c:4050,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4051,1
    - Dst: cardtype2str
      Src: /src/gnupg/scd/app-p15.c:4054,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:4055,1
    CyclomaticComplexity: 128
    EdgeCount: 128
    ICount: 234
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4061
      start: 3668
    functionDepth: 6
    functionLinenumber: 3668
    functionLinenumberEnd: 4061
    functionName: read_p15_info
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - parse_ber_header
    - release_lists
    - APP_CARD
    - strstr
    - log_assert
    - IS_CARDOS_5
    - app_get_slot
    - ksba_cert_get_extension
    - ascii_strcasecmp
    - print_tokeninfo_tokenflags
    - read_ef_cdf
    - read_ef_pukdf
    - memcpy
    - cdf_object_from_objid
    - read_ef_tokeninfo
    - log_printhex
    - dump_keyusage_flags
    - read_ef_aodf
    - log_info
    - dump_gpgusage_flags
    - strncmp
    - log_printf
    - log_debug
    - readcert_by_cdf
    - ksba_cert_get_ext_key_usages
    - apdu_get_atr
    - strcmp
    - read_ef_odf
    - gpg_error
    - strchr
    - xfree
    - cdf_object_from_label
    - dump_keyaccess_flags
    - ksba_cert_get_image
    - cardtype2str
    - gpg_err_code
    - cardproduct2str
    - app_munge_serialno
    - read_ef_prkdf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_p15_info (app_t app)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:4077,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:4079,1
    - Dst: stpcpy
      Src: /src/gnupg/scd/app-p15.c:4080,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-p15.c:4083,1
    - Dst: stpcpy
      Src: /src/gnupg/scd/app-p15.c:4087,1
    - Dst: bin2hex
      Src: /src/gnupg/scd/app-p15.c:4088,1
    - Dst: percent_data_escape
      Src: /src/gnupg/scd/app-p15.c:4091,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4091,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4094,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:4095,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-p15.c:4098,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4099,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4100,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4101,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4103,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - app
    - ctrl
    - certtype
    - certinfo
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - cdf_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4107
      start: 4067
    functionDepth: 2
    functionLinenumber: 4067
    functionLinenumberEnd: 4107
    functionName: send_certinfo
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 1
    functionsReached:
    - percent_data_escape
    - gpg_error_from_syserror
    - strlen
    - bin2hex
    - snprintf
    - send_status_info
    - xfree
    - stpcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t send_certinfo (app_t app, ctrl_t ctrl, const char *certtype,\n
      \              cdf_object_t certinfo)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4127,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4129,1
    - Dst: cdf_object_from_objid
      Src: /src/gnupg/scd/app-p15.c:4141,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:4142,1
    - Dst: cdf_object_from_label
      Src: /src/gnupg/scd/app-p15.c:4143,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:4145,1
    - Dst: readcert_by_cdf
      Src: /src/gnupg/scd/app-p15.c:4149,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/scd/app-p15.c:4153,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/scd/app-p15.c:4155,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4156,1
    - Dst: app_help_get_keygrip_string
      Src: /src/gnupg/scd/app-p15.c:4158,1
    - Dst: ksba_cert_get_subject
      Src: /src/gnupg/scd/app-p15.c:4175,1
    - Dst: strstr
      Src: /src/gnupg/scd/app-p15.c:4180,1
    - Dst: strchr
      Src: /src/gnupg/scd/app-p15.c:4184,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4185,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:4187,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:4189,1
    - Dst: strstr
      Src: /src/gnupg/scd/app-p15.c:4193,1
    - Dst: strchr
      Src: /src/gnupg/scd/app-p15.c:4197,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4198,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:4200,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:4202,1
    - Dst: hex2str
      Src: /src/gnupg/scd/app-p15.c:4204,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4204,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4205,1
    - Dst: ksba_free
      Src: /src/gnupg/scd/app-p15.c:4210,1
    - Dst: ksba_cert_get_validity
      Src: /src/gnupg/scd/app-p15.c:4219,1
    - Dst: isotime2epoch
      Src: /src/gnupg/scd/app-p15.c:4220,1
    - Dst: pubkey_algo_string
      Src: /src/gnupg/scd/app-p15.c:4226,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/scd/app-p15.c:4228,1
    - Dst: get_pk_algo_from_key
      Src: /src/gnupg/scd/app-p15.c:4232,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:4235,1
    - Dst: gcry_pk_get_nbits
      Src: /src/gnupg/scd/app-p15.c:4239,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:4242,1
    - Dst: gcry_sexp_release
      Src: /src/gnupg/scd/app-p15.c:4249,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 82
    argCount: 2
    argNames:
    - app
    - prkdf
    argTypes:
    - app_t
    - prkdf_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4251
      start: 4113
    functionDepth: 4
    functionLinenumber: 4113
    functionLinenumberEnd: 4251
    functionName: keygrip_from_prkdf
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 1
    functionsReached:
    - ksba_free
    - strstr
    - strlen
    - hex2str
    - gcry_pk_get_nbits
    - memcpy
    - xtrymalloc
    - ksba_cert_new
    - cdf_object_from_objid
    - ksba_cert_init_from_mem
    - ksba_cert_get_subject
    - gcry_sexp_release
    - pubkey_algo_string
    - ksba_cert_release
    - readcert_by_cdf
    - gpg_error
    - strchr
    - xfree
    - cdf_object_from_label
    - get_pk_algo_from_key
    - gpg_err_code
    - app_help_get_keygrip_string
    - isotime2epoch
    - ksba_cert_get_validity
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t keygrip_from_prkdf (app_t app, prkdf_object_t prkdf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:4261,1
    - Dst: stpcpy
      Src: /src/gnupg/scd/app-p15.c:4264,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-p15.c:4267,1
    - Dst: stpcpy
      Src: /src/gnupg/scd/app-p15.c:4271,1
    - Dst: bin2hex
      Src: /src/gnupg/scd/app-p15.c:4272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - app
    - prkdf
    argTypes:
    - app_t
    - prkdf_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4274
      start: 4256
    functionDepth: 2
    functionLinenumber: 4256
    functionLinenumberEnd: 4274
    functionName: keyref_from_prkdf
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - stpcpy
    - bin2hex
    - xtrymalloc
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      keyref_from_prkdf (app_t app, prkdf_object_t prkdf)'
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 23
    argCount: 2
    argNames:
    - usage
    - prkdf
    argTypes:
    - char[]
    - prkdf_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4317
      start: 4277
    functionDepth: 0
    functionLinenumber: 4277
    functionLinenumberEnd: 4317
    functionName: set_usage_string
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_usage_string (char usage[5], prkdf_object_t prkdf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: keyref_from_prkdf
      Src: /src/gnupg/scd/app-p15.c:4332,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:4334,1
    - Dst: keygrip_from_prkdf
      Src: /src/gnupg/scd/app-p15.c:4336,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:4339,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:4341,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:4342,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:4342,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-p15.c:4350,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4350,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-p15.c:4352,1
    - Dst: strcpy
      Src: /src/gnupg/scd/app-p15.c:4355,1
    - Dst: set_usage_string
      Src: /src/gnupg/scd/app-p15.c:4359,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-p15.c:4360,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4362,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4363,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4364,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4365,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - app
    - ctrl
    - prkdf
    argTypes:
    - app_t
    - ctrl_t
    - prkdf_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4371
      start: 4322
    functionDepth: 5
    functionLinenumber: 4322
    functionLinenumberEnd: 4371
    functionName: send_keypairinfo
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 1
    functionsReached:
    - log_error
    - gpg_error_from_syserror
    - log_assert
    - strlen
    - snprintf
    - send_status_info
    - keyref_from_prkdf
    - keygrip_from_prkdf
    - gpg_strerror
    - strcpy
    - set_usage_string
    - xfree
    - log_printf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t send_keypairinfo (app_t app, ctrl_t ctrl, prkdf_object_t
      prkdf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: read_p15_info
      Src: /src/gnupg/scd/app-p15.c:4385,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-p15.c:4394,1
    - Dst: send_certinfo
      Src: /src/gnupg/scd/app-p15.c:4396,1
    - Dst: send_certinfo
      Src: /src/gnupg/scd/app-p15.c:4399,1
    - Dst: send_certinfo
      Src: /src/gnupg/scd/app-p15.c:4402,1
    - Dst: send_keypairinfo
      Src: /src/gnupg/scd/app-p15.c:4407,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-p15.c:4410,1
    - Dst: do_getattr
      Src: /src/gnupg/scd/app-p15.c:4412,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - app
    - ctrl
    - flags
    argTypes:
    - app_t
    - ctrl_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4416
      start: 4378
    functionDepth: 7
    functionLinenumber: 4378
    functionLinenumberEnd: 4416
    functionName: do_learn_status
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - send_certinfo
    - send_keypairinfo
    - do_getattr
    - read_p15_info
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_learn_status (app_t app, ctrl_t ctrl, unsigned int flags)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_image
      Src: /src/gnupg/scd/app-p15.c:4450,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:4453,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:4454,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:4456,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:4458,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:4459,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:4466,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:4468,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:4470,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:4471,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:4473,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:4475,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:4478,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:4480,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:4482,1
    - Dst: select_ef_by_path
      Src: /src/gnupg/scd/app-p15.c:4488,1
    - Dst: iso7816_read_binary_ext
      Src: /src/gnupg/scd/app-p15.c:4493,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:4493,1
    - Dst: iso7816_read_binary_ext
      Src: /src/gnupg/scd/app-p15.c:4496,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:4496,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:4499,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:4502,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:4504,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:4505,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:4507,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:4508,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:4508,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:4515,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:4526,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-p15.c:4530,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:4532,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:4545,1
    - Dst: parse_ber_header
      Src: /src/gnupg/scd/app-p15.c:4551,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:4557,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-p15.c:4561,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-p15.c:4562,1
    - Dst: ksba_cert_new
      Src: /src/gnupg/scd/app-p15.c:4567,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/gnupg/scd/app-p15.c:4570,1
    - Dst: readcert_by_cdf
      Src: /src/gnupg/scd/app-p15.c:4572,1
    - Dst: ksba_cert_release
      Src: /src/gnupg/scd/app-p15.c:4575,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:4582,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:4583,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4595,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 122
    argCount: 4
    argNames:
    - app
    - cdf
    - r_cert
    - r_certlen
    argTypes:
    - app_t
    - cdf_object_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4597
      start: 4423
    functionDepth: 5
    functionLinenumber: 4423
    functionLinenumberEnd: 4597
    functionName: readcert_by_cdf
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 5
    functionsReached:
    - parse_ber_header
    - log_assert
    - app_get_slot
    - memcpy
    - xtrymalloc
    - ksba_cert_new
    - memmove
    - ksba_cert_init_from_mem
    - log_error
    - log_info
    - log_printf
    - ksba_cert_release
    - readcert_by_cdf
    - gpg_error_from_syserror
    - gpg_error
    - gpg_strerror
    - xfree
    - iso7816_read_binary_ext
    - ksba_cert_get_image
    - select_ef_by_path
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t readcert_by_cdf (app_t app, cdf_object_t cdf,\n                 unsigned
      char **r_cert, size_t *r_certlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cdf_object_from_certid
      Src: /src/gnupg/scd/app-p15.c:4616,1
    - Dst: readcert_by_cdf
      Src: /src/gnupg/scd/app-p15.c:4618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - app
    - certid
    - r_cert
    - r_certlen
    argTypes:
    - app_t
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4620
      start: 4607
    functionDepth: 0
    functionLinenumber: 4607
    functionLinenumberEnd: 4620
    functionName: do_readcert
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - readcert_by_cdf
    - cdf_object_from_certid
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_readcert (app_t app, const char *certid,\n             unsigned
      char **r_cert, size_t *r_certlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:4631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - arg_a
    - arg_b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4641
      start: 4624
    functionDepth: 0
    functionLinenumber: 4624
    functionLinenumberEnd: 4641
    functionName: compare_aodf_objid
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int compare_aodf_objid (const void *arg_a, const void *arg_b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bin2hex
      Src: /src/gnupg/scd/app-p15.c:4650,1
    - Dst: snprintf
      Src: /src/gnupg/scd/app-p15.c:4654,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-p15.c:4655,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4656,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - number
    - fpr
    argTypes:
    - ctrl_t
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4659
      start: 4644
    functionDepth: 2
    functionLinenumber: 4644
    functionLinenumberEnd: 4659
    functionName: send_key_fpr_line
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - bin2hex
    - send_status_info
    - snprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: void send_key_fpr_line (ctrl_t ctrl, int number, const unsigned char
      *fpr)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: cdf_object_from_objid
      Src: /src/gnupg/scd/app-p15.c:4675,1
    - Dst: cdf_object_from_label
      Src: /src/gnupg/scd/app-p15.c:4676,1
    - Dst: readcert_by_cdf
      Src: /src/gnupg/scd/app-p15.c:4679,1
    - Dst: ksba_cert_get_public_key
      Src: /src/gnupg/scd/app-p15.c:4684,1
    - Dst: gcry_sexp_canon_len
      Src: /src/gnupg/scd/app-p15.c:4687,1
    - Dst: uncompress_ecc_q_in_canon_sexp
      Src: /src/gnupg/scd/app-p15.c:4689,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4691,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4696,1
    - Dst: get_rsa_pk_from_canon_sexp
      Src: /src/gnupg/scd/app-p15.c:4704,1
    - Dst: compute_openpgp_fpr_rsa
      Src: /src/gnupg/scd/app-p15.c:4706,1
    - Dst: send_key_fpr_line
      Src: /src/gnupg/scd/app-p15.c:4710,1
    - Dst: get_ecc_q_from_canon_sexp
      Src: /src/gnupg/scd/app-p15.c:4718,1
    - Dst: compute_openpgp_fpr_ecc
      Src: /src/gnupg/scd/app-p15.c:4719,1
    - Dst: send_key_fpr_line
      Src: /src/gnupg/scd/app-p15.c:4726,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4733,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 4
    argNames:
    - app
    - ctrl
    - prkdf
    - number
    argTypes:
    - app_t
    - ctrl_t
    - prkdf_object_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4734
      start: 4664
    functionDepth: 3
    functionLinenumber: 4664
    functionLinenumberEnd: 4734
    functionName: send_key_fpr
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - cdf_object_from_objid
    - readcert_by_cdf
    - ksba_cert_get_public_key
    - uncompress_ecc_q_in_canon_sexp
    - send_key_fpr_line
    - get_ecc_q_from_canon_sexp
    - xfree
    - gcry_sexp_canon_len
    - compute_openpgp_fpr_ecc
    - compute_openpgp_fpr_rsa
    - cdf_object_from_label
    - get_rsa_pk_from_canon_sexp
    linkageType: ''
    returnType: void
    signature: void send_key_fpr (app_t app, ctrl_t ctrl, prkdf_object_t prkdf, int
      number)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:4745,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:4746,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:4747,1
    - Dst: keyref_from_prkdf
      Src: /src/gnupg/scd/app-p15.c:4784,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:4786,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-p15.c:4788,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4788,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4789,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:4793,1
    - Dst: select_ef_by_path
      Src: /src/gnupg/scd/app-p15.c:4806,1
    - Dst: DIM
      Src: /src/gnupg/scd/app-p15.c:4806,1
    - Dst: iso7816_read_binary
      Src: /src/gnupg/scd/app-p15.c:4808,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:4808,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:4812,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:4813,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-p15.c:4817,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:4821,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:4823,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:4825,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-p15.c:4827,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4827,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4828,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4831,1
    - Dst: keygrip_from_prkdf
      Src: /src/gnupg/scd/app-p15.c:4847,1
    - Dst: get_dispserialno
      Src: /src/gnupg/scd/app-p15.c:4851,1
    - Dst: send_status_printf
      Src: /src/gnupg/scd/app-p15.c:4857,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4858,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:4864,1
    - Dst: strchr
      Src: /src/gnupg/scd/app-p15.c:4867,1
    - Dst: send_status_printf
      Src: /src/gnupg/scd/app-p15.c:4869,1
    - Dst: cardproduct2str
      Src: /src/gnupg/scd/app-p15.c:4871,1
    - Dst: send_status_printf
      Src: /src/gnupg/scd/app-p15.c:4873,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:4878,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:4878,1
    - Dst: DIM
      Src: /src/gnupg/scd/app-p15.c:4892,1
    - Dst: qsort
      Src: /src/gnupg/scd/app-p15.c:4895,1
    - Dst: init_membuf
      Src: /src/gnupg/scd/app-p15.c:4897,1
    - Dst: put_membuf_printf
      Src: /src/gnupg/scd/app-p15.c:4908,1
    - Dst: put_membuf_printf
      Src: /src/gnupg/scd/app-p15.c:4913,1
    - Dst: iso7816_verify_status
      Src: /src/gnupg/scd/app-p15.c:4915,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:4915,1
    - Dst: put_membuf
      Src: /src/gnupg/scd/app-p15.c:4918,1
    - Dst: get_membuf
      Src: /src/gnupg/scd/app-p15.c:4919,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:4921,1
    - Dst: send_status_direct
      Src: /src/gnupg/scd/app-p15.c:4922,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4923,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:4926,1
    - Dst: keyref_from_prkdf
      Src: /src/gnupg/scd/app-p15.c:4935,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:4937,1
    - Dst: percent_data_escape
      Src: /src/gnupg/scd/app-p15.c:4940,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4940,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4943,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:4944,1
    - Dst: send_status_info
      Src: /src/gnupg/scd/app-p15.c:4947,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4948,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:4949,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4951,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:4952,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:4956,1
    - Dst: send_key_fpr
      Src: /src/gnupg/scd/app-p15.c:4974,1
    - Dst: send_key_fpr
      Src: /src/gnupg/scd/app-p15.c:4991,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:4995,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 129
    argCount: 3
    argNames:
    - app
    - ctrl
    - name
    argTypes:
    - app_t
    - ctrl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4996
      start: 4739
    functionDepth: 5
    functionLinenumber: 4739
    functionLinenumberEnd: 4996
    functionName: do_getattr
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 6
    functionsReached:
    - put_membuf_printf
    - percent_data_escape
    - strlen
    - put_membuf
    - app_get_slot
    - memcpy
    - iso7816_read_binary
    - init_membuf
    - log_error
    - DIM
    - send_status_info
    - keygrip_from_prkdf
    - qsort
    - gpg_error_from_syserror
    - find_tlv
    - send_status_printf
    - send_key_fpr
    - strcmp
    - keyref_from_prkdf
    - strchr
    - xfree
    - gpg_strerror
    - gpg_error
    - get_dispserialno
    - get_membuf
    - cardproduct2str
    - select_ef_by_path
    - iso7816_verify_status
    - send_status_direct
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_getattr (app_t app, ctrl_t ctrl, const char *name)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: iso7816_select_file
      Src: /src/gnupg/scd/app-p15.c:5015,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:5015,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5018,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:5018,1
    - Dst: iso7816_read_record
      Src: /src/gnupg/scd/app-p15.c:5029,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:5029,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:5031,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5035,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:5036,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:5041,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-p15.c:5042,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-p15.c:5044,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-p15.c:5049,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-p15.c:5052,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:5056,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:5061,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5065,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5066,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-p15.c:5073,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:5073,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5077,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:5078,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-p15.c:5089,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:5089,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5092,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:5093,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 2
    argNames:
    - app
    - fid
    argTypes:
    - app_t
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5097
      start: 5005
    functionDepth: 4
    functionLinenumber: 5005
    functionLinenumberEnd: 5097
    functionName: micardo_mse
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - log_printhex
    - log_error
    - find_tlv
    - iso7816_manage_security_env
    - app_get_slot
    - iso7816_read_record
    - gpg_error
    - gpg_strerror
    - gpg_err_code
    - log_info
    - iso7816_select_file
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t micardo_mse (app_t app, unsigned short fid)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:5115,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:5117,1
    - Dst: log_printf
      Src: /src/gnupg/scd/app-p15.c:5118,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:5122,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5127,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5129,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5133,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5135,1
    - Dst: iso7816_select_mf
      Src: /src/gnupg/scd/app-p15.c:5148,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:5148,1
    - Dst: iso7816_select_application
      Src: /src/gnupg/scd/app-p15.c:5150,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:5150,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5153,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:5154,1
    - Dst: iso7816_select_mf
      Src: /src/gnupg/scd/app-p15.c:5162,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:5162,1
    - Dst: iso7816_select_application
      Src: /src/gnupg/scd/app-p15.c:5164,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:5164,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5167,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:5168,1
    - Dst: select_df_by_path
      Src: /src/gnupg/scd/app-p15.c:5175,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5177,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:5178,1
    - Dst: select_ef_by_path
      Src: /src/gnupg/scd/app-p15.c:5185,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5187,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:5188,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:5192,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 4
    argNames:
    - app
    - keyref
    - prkdf
    - aodf
    argTypes:
    - app_t
    - char*
    - prkdf_object_t
    - aodf_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5197
      start: 5104
    functionDepth: 5
    functionLinenumber: 5104
    functionLinenumberEnd: 5197
    functionName: prepare_verify_pin
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - iso7816_select_application
    - log_error
    - app_get_slot
    - iso7816_select_mf
    - gpg_error
    - log_info
    - gpg_strerror
    - select_ef_by_path
    - select_df_by_path
    - log_printf
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t prepare_verify_pin (app_t app, const char *keyref,\n                    prkdf_object_t
      prkdf, aodf_object_t aodf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5209
      start: 5200
    functionDepth: 0
    functionLinenumber: 5200
    functionLinenumberEnd: 5209
    functionName: any_control_or_space
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int any_control_or_space (const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - buflen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5220
      start: 5211
    functionDepth: 0
    functionLinenumber: 5211
    functionLinenumberEnd: 5220
    functionName: any_control_or_space_mem
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int any_control_or_space_mem (const void *buffer, size_t buflen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: app_get_serialno
      Src: /src/gnupg/scd/app-p15.c:5240,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:5241,1
    - Dst: memmove
      Src: /src/gnupg/scd/app-p15.c:5242,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:5245,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:5245,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:5246,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:5246,1
    - Dst: any_control_or_space_mem
      Src: /src/gnupg/scd/app-p15.c:5247,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:5247,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:5250,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:5253,1
    - Dst: strchr
      Src: /src/gnupg/scd/app-p15.c:5265,1
    - Dst: any_control_or_space
      Src: /src/gnupg/scd/app-p15.c:5266,1
    - Dst: xtrystrdup
      Src: /src/gnupg/scd/app-p15.c:5268,1
    - Dst: app_get_serialno
      Src: /src/gnupg/scd/app-p15.c:5272,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 2
    argNames:
    - app
    - prkdf
    argTypes:
    - app_t
    - prkdf_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5276
      start: 5225
    functionDepth: 4
    functionLinenumber: 5225
    functionLinenumberEnd: 5276
    functionName: get_dispserialno
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 8
    functionsReached:
    - memmove
    - APP_CARD
    - strlen
    - any_control_or_space_mem
    - app_get_serialno
    - xtrystrdup
    - strchr
    - memcmp
    - any_control_or_space
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      get_dispserialno (app_t app, prkdf_object_t prkdf)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_dispserialno
      Src: /src/gnupg/scd/app-p15.c:5288,1
    - Dst: xtryasprintf
      Src: /src/gnupg/scd/app-p15.c:5317,1
    - Dst: _
      Src: /src/gnupg/scd/app-p15.c:5317,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:5325,1
    - Dst: xtryasprintf
      Src: /src/gnupg/scd/app-p15.c:5336,1
    - Dst: _
      Src: /src/gnupg/scd/app-p15.c:5336,1
    - Dst: strconcat
      Src: /src/gnupg/scd/app-p15.c:5339,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:5341,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:5345,1
    - Dst: strconcat
      Src: /src/gnupg/scd/app-p15.c:5350,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:5351,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 4
    argNames:
    - app
    - remaining
    - firstline
    - prkdf
    argTypes:
    - app_t
    - int
    - char*
    - prkdf_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5356
      start: 5281
    functionDepth: 2
    functionLinenumber: 5281
    functionLinenumberEnd: 5356
    functionName: make_pin_prompt
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - _
    - strconcat
    - xtryasprintf
    - xfree
    - get_dispserialno
    linkageType: ''
    returnType: char
    signature: "char *\nmake_pin_prompt (app_t app, int remaining, const char *firstline,\n
      \                prkdf_object_t prkdf)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: IS_CARDOS_5
      Src: /src/gnupg/scd/app-p15.c:5384,1
    - Dst: iso7816_verify_status
      Src: /src/gnupg/scd/app-p15.c:5394,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:5394,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:5403,1
    - Dst: _
      Src: /src/gnupg/scd/app-p15.c:5417,1
    - Dst: _
      Src: /src/gnupg/scd/app-p15.c:5420,1
    - Dst: _
      Src: /src/gnupg/scd/app-p15.c:5422,1
    - Dst: _
      Src: /src/gnupg/scd/app-p15.c:5425,1
    - Dst: make_pin_prompt
      Src: /src/gnupg/scd/app-p15.c:5428,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:5430,1
    - Dst: pincb
      Src: /src/gnupg/scd/app-p15.c:5432,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:5433,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:5437,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:5437,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:5449,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5451,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5452,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:5454,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5457,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5459,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:5461,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5463,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5465,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:5470,1
    - Dst: digitp
      Src: /src/gnupg/scd/app-p15.c:5479,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5484,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5493,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5510,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:5511,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5512,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:5523,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:5526,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:5527,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:5545,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:5553,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:5556,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:5557,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:5568,1
    - Dst: strlen
      Src: /src/gnupg/scd/app-p15.c:5572,1
    - Dst: iso7816_verify
      Src: /src/gnupg/scd/app-p15.c:5576,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:5576,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:5578,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5581,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:5581,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:5585,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 142
    argCount: 4
    argNames:
    - app
    - pincb_arg
    - prkdf
    - aodf
    argTypes:
    - app_t
    - void*
    - prkdf_object_t
    - aodf_object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5590
      start: 5362
    functionDepth: 4
    functionLinenumber: 5362
    functionLinenumberEnd: 5590
    functionName: verify_pin
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 8
    functionsReached:
    - make_pin_prompt
    - gpg_error_from_syserror
    - strlen
    - log_error
    - IS_CARDOS_5
    - digitp
    - app_get_slot
    - _
    - pincb
    - gpg_error
    - log_info
    - iso7816_verify_status
    - xfree
    - gpg_strerror
    - xtrymalloc
    - iso7816_verify
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t verify_pin (app_t app,\n            gpg_error_t (*pincb)(void*,
      const char *, char **), void *pincb_arg,\n            prkdf_object_t prkdf,
      aodf_object_t aodf)"
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5623,1
    - Dst: prkdf_object_from_keyidstr
      Src: /src/gnupg/scd/app-p15.c:5625,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5635,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5636,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5641,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5644,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:5650,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:5653,1
    - Dst: keygrip_from_prkdf
      Src: /src/gnupg/scd/app-p15.c:5657,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5660,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:5660,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/gnupg/scd/app-p15.c:5665,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5674,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5675,1
    - Dst: gcry_md_get_asnoid
      Src: /src/gnupg/scd/app-p15.c:5685,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5688,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5689,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:5693,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5695,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5697,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5705,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5707,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5719,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5721,1
    - Dst: gcry_md_get_asnoid
      Src: /src/gnupg/scd/app-p15.c:5731,1
    - Dst: log_debug
      Src: /src/gnupg/scd/app-p15.c:5733,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:5741,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:5744,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:5747,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:5748,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:5753,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5757,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5758,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5768,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5769,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:5773,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:5776,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:5787,1
    - Dst: IS_STARCOS_3
      Src: /src/gnupg/scd/app-p15.c:5790,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:5797,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5799,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5801,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:5802,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:5806,1
    - Dst: memset
      Src: /src/gnupg/scd/app-p15.c:5814,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:5817,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-p15.c:5819,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:5822,1
    - Dst: prepare_verify_pin
      Src: /src/gnupg/scd/app-p15.c:5831,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-p15.c:5854,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:5854,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:5861,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:5861,1
    - Dst: verify_pin
      Src: /src/gnupg/scd/app-p15.c:5867,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5882,1
    - Dst: micardo_mse
      Src: /src/gnupg/scd/app-p15.c:5884,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-p15.c:5890,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:5890,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-p15.c:5906,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:5906,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5945,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-p15.c:5949,1
    - Dst: DIM
      Src: /src/gnupg/scd/app-p15.c:5949,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-p15.c:5951,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:5951,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-p15.c:5969,1
    - Dst: DIM
      Src: /src/gnupg/scd/app-p15.c:5969,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-p15.c:5970,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:5970,1
    - Dst: IS_STARCOS_3
      Src: /src/gnupg/scd/app-p15.c:5973,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:5980,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:5981,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:6001,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-p15.c:6003,1
    - Dst: DIM
      Src: /src/gnupg/scd/app-p15.c:6003,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-p15.c:6005,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:6005,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-p15.c:6017,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:6017,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:6023,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:6023,1
    - Dst: iso7816_decipher
      Src: /src/gnupg/scd/app-p15.c:6039,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:6039,1
    - Dst: iso7816_compute_ds
      Src: /src/gnupg/scd/app-p15.c:6043,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:6043,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:6048,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 300
    argCount: 9
    argNames:
    - app
    - ctrl
    - keyidstr
    - hashalgo
    - pincb_arg
    - indata
    - indatalen
    - outdata
    - outdatalen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - int
    - void*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6050
      start: 5601
    functionDepth: 6
    functionLinenumber: 5601
    functionLinenumberEnd: 6050
    functionName: do_sign
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 4
    functionsReached:
    - log_assert
    - micardo_mse
    - app_get_slot
    - IS_STARCOS_3
    - prkdf_object_from_keyidstr
    - verify_pin
    - memcpy
    - xtrymalloc
    - log_error
    - DIM
    - log_info
    - keygrip_from_prkdf
    - prepare_verify_pin
    - gcry_md_get_asnoid
    - log_debug
    - gpg_error_from_syserror
    - iso7816_manage_security_env
    - iso7816_compute_ds
    - gpg_error
    - gpg_strerror
    - xfree
    - memset
    - iso7816_decipher
    - gcry_md_get_algo_dlen
    - memcmp
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_sign (app_t app, ctrl_t ctrl, const char *keyidstr,
      int hashalgo,\n         gpg_error_t (*pincb)(void*, const char *, char **),\n
      \        void *pincb_arg,\n         const void *indata, size_t indatalen,\n
      \        unsigned char **outdata, size_t *outdatalen )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:6071,1
    - Dst: prkdf_object_from_keyidstr
      Src: /src/gnupg/scd/app-p15.c:6073,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:6079,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:6080,1
    - Dst: do_sign
      Src: /src/gnupg/scd/app-p15.c:6084,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 8
    argNames:
    - app
    - ctrl
    - keyidstr
    - pincb_arg
    - indata
    - indatalen
    - outdata
    - outdatalen
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - void*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6086
      start: 6059
    functionDepth: 1
    functionLinenumber: 6059
    functionLinenumberEnd: 6086
    functionName: do_auth
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - prkdf_object_from_keyidstr
    - gpg_error
    - do_sign
    - log_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_auth (app_t app, ctrl_t ctrl, const char *keyidstr,\n
      \        gpg_error_t (*pincb)(void*, const char *, char **),\n         void
      *pincb_arg,\n         const void *indata, size_t indatalen,\n         unsigned
      char **outdata, size_t *outdatalen )"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:6111,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:6113,1
    - Dst: prkdf_object_from_keyidstr
      Src: /src/gnupg/scd/app-p15.c:6115,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:6123,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:6124,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:6130,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:6137,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:6140,1
    - Dst: keygrip_from_prkdf
      Src: /src/gnupg/scd/app-p15.c:6145,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:6148,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:6148,1
    - Dst: prepare_verify_pin
      Src: /src/gnupg/scd/app-p15.c:6153,1
    - Dst: verify_pin
      Src: /src/gnupg/scd/app-p15.c:6155,1
    - Dst: IS_CARDOS_5
      Src: /src/gnupg/scd/app-p15.c:6159,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-p15.c:6162,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:6162,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:6166,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:6166,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-p15.c:6186,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:6186,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-p15.c:6194,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:6194,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-p15.c:6201,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:6201,1
    - Dst: IS_STARCOS_3
      Src: /src/gnupg/scd/app-p15.c:6205,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:6212,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:6213,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-p15.c:6224,1
    - Dst: DIM
      Src: /src/gnupg/scd/app-p15.c:6224,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-p15.c:6225,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:6225,1
    - Dst: IS_CARDOS_5
      Src: /src/gnupg/scd/app-p15.c:6246,1
    - Dst: log_assert
      Src: /src/gnupg/scd/app-p15.c:6252,1
    - Dst: DIM
      Src: /src/gnupg/scd/app-p15.c:6252,1
    - Dst: iso7816_manage_security_env
      Src: /src/gnupg/scd/app-p15.c:6253,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:6253,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:6259,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:6259,1
    - Dst: IS_CARDOS_5
      Src: /src/gnupg/scd/app-p15.c:6275,1
    - Dst: iso7816_pso_csv
      Src: /src/gnupg/scd/app-p15.c:6283,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:6283,1
    - Dst: iso7816_decipher
      Src: /src/gnupg/scd/app-p15.c:6290,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:6290,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 108
    argCount: 9
    argNames:
    - app
    - ctrl
    - keyidstr
    - pincb_arg
    - indata
    - indatalen
    - outdata
    - outdatalen
    - r_info
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - void*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6297
      start: 6093
    functionDepth: 6
    functionLinenumber: 6093
    functionLinenumberEnd: 6297
    functionName: do_decipher
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - log_error
    - log_assert
    - IS_STARCOS_3
    - IS_CARDOS_5
    - iso7816_manage_security_env
    - app_get_slot
    - DIM
    - iso7816_pso_csv
    - gpg_error
    - memcmp
    - log_info
    - keygrip_from_prkdf
    - gpg_strerror
    - prepare_verify_pin
    - prkdf_object_from_keyidstr
    - iso7816_decipher
    - verify_pin
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_decipher (app_t app, ctrl_t ctrl, const char *keyidstr,\n
      \            gpg_error_t (*pincb)(void*, const char *, char **),\n             void
      *pincb_arg,\n             const void *indata, size_t indatalen,\n             unsigned
      char **outdata, size_t *outdatalen,\n             unsigned int *r_info)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:6316,1
    - Dst: prkdf_object_from_keyidstr
      Src: /src/gnupg/scd/app-p15.c:6318,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:6320,1
    - Dst: gpg_err_code
      Src: /src/gnupg/scd/app-p15.c:6321,1
    - Dst: ascii_strcasecmp
      Src: /src/gnupg/scd/app-p15.c:6328,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:6337,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:6339,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:6343,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:6346,1
    - Dst: prepare_verify_pin
      Src: /src/gnupg/scd/app-p15.c:6349,1
    - Dst: verify_pin
      Src: /src/gnupg/scd/app-p15.c:6351,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 4
    argNames:
    - app
    - ctrl
    - keyidstr
    - pincb_arg
    argTypes:
    - app_t
    - ctrl_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6354
      start: 6304
    functionDepth: 6
    functionLinenumber: 6304
    functionLinenumberEnd: 6354
    functionName: do_check_pin
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - log_error
    - gpg_error
    - memcmp
    - gpg_err_code
    - ascii_strcasecmp
    - prepare_verify_pin
    - prkdf_object_from_keyidstr
    - verify_pin
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_check_pin (app_t app, ctrl_t ctrl, const char *keyidstr,\n
      \             gpg_error_t (*pincb)(void*, const char *, char **),\n              void
      *pincb_arg)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:6373,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:6383,1
    - Dst: app_get_serialno
      Src: /src/gnupg/scd/app-p15.c:6390,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:6393,1
    - Dst: keygrip_from_prkdf
      Src: /src/gnupg/scd/app-p15.c:6401,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:6406,1
    - Dst: strcmp
      Src: /src/gnupg/scd/app-p15.c:6412,1
    - Dst: keyref_from_prkdf
      Src: /src/gnupg/scd/app-p15.c:6435,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:6438,1
    - Dst: set_usage_string
      Src: /src/gnupg/scd/app-p15.c:6442,1
    - Dst: send_keyinfo
      Src: /src/gnupg/scd/app-p15.c:6443,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:6444,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:6458,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:6460,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:6463,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 73
    argCount: 5
    argNames:
    - app
    - ctrl
    - action
    - want_keygripstr
    - capability
    argTypes:
    - app_t
    - ctrl_t
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6465
      start: 6358
    functionDepth: 5
    functionLinenumber: 6358
    functionLinenumberEnd: 6465
    functionName: do_with_keygrip
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 3
    functionsReached:
    - send_keyinfo
    - gpg_error_from_syserror
    - app_get_serialno
    - strcmp
    - gpg_error
    - keyref_from_prkdf
    - keygrip_from_prkdf
    - set_usage_string
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t do_with_keygrip (app_t app, ctrl_t ctrl, int action,\n
      \                const char *want_keygripstr, int capability)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: iso7816_read_binary
      Src: /src/gnupg/scd/app-p15.c:6484,1
    - Dst: log_error
      Src: /src/gnupg/scd/app-p15.c:6487,1
    - Dst: gpg_strerror
      Src: /src/gnupg/scd/app-p15.c:6487,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-p15.c:6492,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-p15.c:6495,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:6496,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:6498,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-p15.c:6500,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:6502,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-p15.c:6504,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:6509,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:6513,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 2
    argNames:
    - slot
    - r_belpic
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6515
      start: 6473
    functionDepth: 4
    functionLinenumber: 6473
    functionLinenumberEnd: 6515
    functionName: read_home_df
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - log_error
    - find_tlv
    - memcmp
    - gpg_strerror
    - log_info
    - xfree
    - iso7816_read_binary
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short read_home_df (int slot, int *r_belpic)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:6524,1
    - Dst: iso7816_select_application_ext
      Src: /src/gnupg/scd/app-p15.c:6537,1
    - Dst: iso7816_select_application_ext
      Src: /src/gnupg/scd/app-p15.c:6544,1
    - Dst: iso7816_select_path
      Src: /src/gnupg/scd/app-p15.c:6557,1
    - Dst: read_home_df
      Src: /src/gnupg/scd/app-p15.c:6561,1
    - Dst: iso7816_select_path
      Src: /src/gnupg/scd/app-p15.c:6565,1
    - Dst: iso7816_select_file
      Src: /src/gnupg/scd/app-p15.c:6572,1
    - Dst: apdu_get_atr
      Src: /src/gnupg/scd/app-p15.c:6589,1
    - Dst: app_get_slot
      Src: /src/gnupg/scd/app-p15.c:6589,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:6591,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:6596,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:6601,1
    - Dst: xtrycalloc
      Src: /src/gnupg/scd/app-p15.c:6609,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/app-p15.c:6612,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-p15.c:6622,1
    - Dst: buf16_to_ushort
      Src: /src/gnupg/scd/app-p15.c:6624,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-p15.c:6627,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:6628,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:6640,1
    - Dst: iso7816_select_application_ext
      Src: /src/gnupg/scd/app-p15.c:6643,1
    - Dst: find_tlv
      Src: /src/gnupg/scd/app-p15.c:6648,1
    - Dst: buf16_to_ushort
      Src: /src/gnupg/scd/app-p15.c:6650,1
    - Dst: log_printhex
      Src: /src/gnupg/scd/app-p15.c:6655,1
    - Dst: log_info
      Src: /src/gnupg/scd/app-p15.c:6656,1
    - Dst: read_p15_info
      Src: /src/gnupg/scd/app-p15.c:6689,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:6697,1
    - Dst: memcmp
      Src: /src/gnupg/scd/app-p15.c:6698,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:6698,1
    - Dst: xtrymalloc
      Src: /src/gnupg/scd/app-p15.c:6707,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:6707,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/app-p15.c:6709,1
    - Dst: gpg_err_code_from_errno
      Src: /src/gnupg/scd/app-p15.c:6709,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:6712,1
    - Dst: memcpy
      Src: /src/gnupg/scd/app-p15.c:6713,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:6713,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:6713,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:6714,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:6715,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:6715,1
    - Dst: APP_CARD
      Src: /src/gnupg/scd/app-p15.c:6716,1
    - Dst: do_deinit
      Src: /src/gnupg/scd/app-p15.c:6737,1
    - Dst: xfree
      Src: /src/gnupg/scd/app-p15.c:6740,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 126
    argCount: 1
    argNames:
    - app
    argTypes:
    - app_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6742
      start: 6521
    functionDepth: 7
    functionLinenumber: 6521
    functionLinenumberEnd: 6742
    functionName: app_select_p15
    functionSourceFile: /src/gnupg/scd/app-p15.c
    functionUses: 0
    functionsReached:
    - iso7816_select_application_ext
    - APP_CARD
    - read_home_df
    - app_get_slot
    - read_p15_info
    - buf16_to_ushort
    - xtrymalloc
    - memcpy
    - log_printhex
    - log_info
    - do_deinit
    - iso7816_select_path
    - gpg_error_from_syserror
    - find_tlv
    - apdu_get_atr
    - gpg_error
    - xfree
    - xtrycalloc
    - memcmp
    - iso7816_select_file
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t app_select_p15 (app_t app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: DEBUGOUT
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: DEBUGOUT_1
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT_1(t,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: DEBUGOUT_2
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT_2(t,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - t
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: DEBUGOUT_3
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT_3(t,a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - t
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    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: DEBUGOUT_4
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT_4(t,a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: DEBUGOUT_CONT
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT_CONT(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: DEBUGOUT_CONT_1
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT_CONT_1(t,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: DEBUGOUT_CONT_2
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT_CONT_2(t,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - t
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: DEBUGOUT_CONT_3
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT_CONT_3(t,a,b,c)
  - 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: DEBUGOUT_LF
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT_LF()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: DEBUGOUT
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: DEBUGOUT_1
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT_1(t,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: DEBUGOUT_2
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT_2(t,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - t
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: DEBUGOUT_3
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT_3(t,a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - t
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: DEBUGOUT_4
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT_4(t,a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: DEBUGOUT_CONT
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT_CONT(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: DEBUGOUT_CONT_1
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT_CONT_1(t,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: DEBUGOUT_CONT_2
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT_CONT_2(t,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - t
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: DEBUGOUT_CONT_3
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT_CONT_3(t,a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: DEBUGOUT_LF
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUT_LF()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 212
    functionName: CCID_COMMAND_FAILED
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CCID_COMMAND_FAILED(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    functionName: CCID_ERROR_CODE
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CCID_ERROR_CODE(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: npth_unprotect
      Src: /src/gnupg/scd/ccid-driver.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: my_npth_unprotect
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - npth_unprotect
    linkageType: ''
    returnType: void
    signature: void my_npth_unprotect (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: npth_protect
      Src: /src/gnupg/scd/ccid-driver.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: my_npth_protect
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - npth_protect
    linkageType: ''
    returnType: void
    signature: void my_npth_protect (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - usberr
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 332
    functionName: map_libusb_error
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int map_libusb_error (int usberr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: convert_le_u32
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int convert_le_u32 (const unsigned char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 350
    functionName: convert_le_u16
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int convert_le_u16 (const unsigned char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - length
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: set_msg_len
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_msg_len (unsigned char *msg, unsigned int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/gnupg/scd/ccid-driver.c:365,1
    - Dst: ccid_driver_t::progress_cb
      Src: /src/gnupg/scd/ccid-driver.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ccid_driver_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 375
    functionName: print_progress
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - ccid_driver_t::progress_cb
    - time
    linkageType: ''
    returnType: void
    signature: void print_progress (ccid_driver_t handle)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: CCID_ERROR_CODE
      Src: /src/gnupg/scd/ccid-driver.c:391,1
    - Dst: sprintf
      Src: /src/gnupg/scd/ccid-driver.c:416,1
    - Dst: sprintf
      Src: /src/gnupg/scd/ccid-driver.c:418,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:422,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 1
    argNames:
    - msg
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 423
    functionName: print_command_failed
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - sprintf
    - DEBUGOUT_1
    - CCID_ERROR_CODE
    linkageType: ''
    returnType: void
    signature: void print_command_failed (const unsigned char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGOUT_LF
      Src: /src/gnupg/scd/ccid-driver.c:436,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:437,1
    - Dst: DEBUGOUT_CONT_1
      Src: /src/gnupg/scd/ccid-driver.c:439,1
    - Dst: DEBUGOUT_LF
      Src: /src/gnupg/scd/ccid-driver.c:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - data
    - datalen
    - 'off'
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 444
    functionName: print_pr_data
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 21
    functionsReached:
    - DEBUGOUT_CONT_1
    - DEBUGOUT_1
    - DEBUGOUT_LF
    linkageType: ''
    returnType: void
    signature: void print_pr_data (const unsigned char *data, size_t datalen, size_t
      off)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:450,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:453,1
    - Dst: convert_le_u32
      Src: /src/gnupg/scd/ccid-driver.c:453,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:454,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - name
    - msg
    - msglen
    argTypes:
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 456
    functionName: print_p2r_header
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 15
    functionsReached:
    - convert_le_u32
    - DEBUGOUT_1
    linkageType: ''
    returnType: void
    signature: void print_p2r_header (const char *name, const unsigned char *msg,
      size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/scd/ccid-driver.c:462,1
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:465,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 471
    functionName: print_p2r_iccpoweron
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - DEBUGOUT_2
    - print_p2r_header
    - print_pr_data
    linkageType: ''
    returnType: void
    signature: void print_p2r_iccpoweron (const unsigned char *msg, size_t msglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/scd/ccid-driver.c:477,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: print_p2r_iccpoweroff
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_pr_data
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_iccpoweroff (const unsigned char *msg, size_t msglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/scd/ccid-driver.c:485,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 487
    functionName: print_p2r_getslotstatus
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_pr_data
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_getslotstatus (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/scd/ccid-driver.c:495,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:498,1
    - Dst: convert_le_u16
      Src: /src/gnupg/scd/ccid-driver.c:499,1
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:500,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 506
    functionName: print_p2r_xfrblock
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_p2r_header
    - DEBUGOUT_2
    - print_pr_data
    - DEBUGOUT_1
    - convert_le_u16
    linkageType: ''
    returnType: void
    signature: void print_p2r_xfrblock (const unsigned char *msg, size_t msglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/scd/ccid-driver.c:512,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 514
    functionName: print_p2r_getparameters
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_pr_data
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_getparameters (const unsigned char *msg, size_t msglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/scd/ccid-driver.c:520,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 522
    functionName: print_p2r_resetparameters
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_pr_data
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_resetparameters (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/scd/ccid-driver.c:528,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:531,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 533
    functionName: print_p2r_setparameters
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_pr_data
    - DEBUGOUT_1
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_setparameters (const unsigned char *msg, size_t msglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/scd/ccid-driver.c:539,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 541
    functionName: print_p2r_escape
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_pr_data
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_escape (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/scd/ccid-driver.c:547,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:550,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 552
    functionName: print_p2r_iccclock
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_pr_data
    - DEBUGOUT_1
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_iccclock (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/scd/ccid-driver.c:558,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:561,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:562,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:563,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 565
    functionName: print_p2r_to0apdu
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_pr_data
    - DEBUGOUT_1
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_to0apdu (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/scd/ccid-driver.c:573,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:576,1
    - Dst: convert_le_u16
      Src: /src/gnupg/scd/ccid-driver.c:577,1
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:578,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 584
    functionName: print_p2r_secure
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_p2r_header
    - DEBUGOUT_2
    - print_pr_data
    - DEBUGOUT_1
    - convert_le_u16
    linkageType: ''
    returnType: void
    signature: void print_p2r_secure (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/scd/ccid-driver.c:590,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:593,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 595
    functionName: print_p2r_mechanical
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_pr_data
    - DEBUGOUT_1
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_mechanical (const unsigned char *msg, size_t msglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/scd/ccid-driver.c:601,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 603
    functionName: print_p2r_abort
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_pr_data
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_abort (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/scd/ccid-driver.c:609,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 613
    functionName: print_p2r_setdatarate
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_pr_data
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_setdatarate (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_header
      Src: /src/gnupg/scd/ccid-driver.c:619,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 623
    functionName: print_p2r_unknown
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_pr_data
    - print_p2r_header
    linkageType: ''
    returnType: void
    signature: void print_p2r_unknown (const unsigned char *msg, size_t msglen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:629,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:632,1
    - Dst: convert_le_u32
      Src: /src/gnupg/scd/ccid-driver.c:632,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:633,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:634,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:635,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - name
    - msg
    - msglen
    argTypes:
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 638
    functionName: print_r2p_header
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 6
    functionsReached:
    - convert_le_u32
    - DEBUGOUT_1
    linkageType: ''
    returnType: void
    signature: void print_r2p_header (const char *name, const unsigned char *msg,
      size_t msglen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: print_r2p_header
      Src: /src/gnupg/scd/ccid-driver.c:644,1
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:648,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 654
    functionName: print_r2p_datablock
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_r2p_header
    - DEBUGOUT_2
    - print_pr_data
    linkageType: ''
    returnType: void
    signature: void print_r2p_datablock (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_r2p_header
      Src: /src/gnupg/scd/ccid-driver.c:660,1
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:663,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 669
    functionName: print_r2p_slotstatus
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_r2p_header
    - DEBUGOUT_2
    - print_pr_data
    linkageType: ''
    returnType: void
    signature: void print_r2p_slotstatus (const unsigned char *msg, size_t msglen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: print_r2p_header
      Src: /src/gnupg/scd/ccid-driver.c:675,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:679,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:683,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:684,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:685,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:686,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:687,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:688,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:689,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:692,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 693
    functionName: print_r2p_parameters
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_r2p_header
    - print_pr_data
    - DEBUGOUT_1
    linkageType: ''
    returnType: void
    signature: void print_r2p_parameters (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_r2p_header
      Src: /src/gnupg/scd/ccid-driver.c:699,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:702,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 704
    functionName: print_r2p_escape
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_r2p_header
    - print_pr_data
    - DEBUGOUT_1
    linkageType: ''
    returnType: void
    signature: void print_r2p_escape (const unsigned char *msg, size_t msglen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: print_r2p_header
      Src: /src/gnupg/scd/ccid-driver.c:710,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:715,1
    - Dst: convert_le_u32
      Src: /src/gnupg/scd/ccid-driver.c:715,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:716,1
    - Dst: convert_le_u32
      Src: /src/gnupg/scd/ccid-driver.c:716,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:717,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 721
    functionName: print_r2p_datarate
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_r2p_header
    - convert_le_u32
    - DEBUGOUT_1
    - print_pr_data
    linkageType: ''
    returnType: void
    signature: void print_r2p_datarate (const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_r2p_header
      Src: /src/gnupg/scd/ccid-driver.c:727,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:730,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:731,1
    - Dst: print_pr_data
      Src: /src/gnupg/scd/ccid-driver.c:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 733
    functionName: print_r2p_unknown
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_r2p_header
    - print_pr_data
    - DEBUGOUT_1
    linkageType: ''
    returnType: void
    signature: void print_r2p_unknown (const unsigned char *msg, size_t msglen)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGOUT_3
      Src: /src/gnupg/scd/ccid-driver.c:758,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:762,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:766,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:767,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:768,1
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:769,1
    - Dst: DEBUGOUT_CONT
      Src: /src/gnupg/scd/ccid-driver.c:771,1
    - Dst: DEBUGOUT_LF
      Src: /src/gnupg/scd/ccid-driver.c:772,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:774,1
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:775,1
    - Dst: convert_le_u32
      Src: /src/gnupg/scd/ccid-driver.c:779,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:780,1
    - Dst: DEBUGOUT_CONT
      Src: /src/gnupg/scd/ccid-driver.c:782,1
    - Dst: DEBUGOUT_CONT
      Src: /src/gnupg/scd/ccid-driver.c:785,1
    - Dst: DEBUGOUT_CONT
      Src: /src/gnupg/scd/ccid-driver.c:789,1
    - Dst: DEBUGOUT_LF
      Src: /src/gnupg/scd/ccid-driver.c:790,1
    - Dst: convert_le_u32
      Src: /src/gnupg/scd/ccid-driver.c:792,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:793,1
    - Dst: convert_le_u32
      Src: /src/gnupg/scd/ccid-driver.c:794,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:795,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:796,1
    - Dst: convert_le_u32
      Src: /src/gnupg/scd/ccid-driver.c:797,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:798,1
    - Dst: convert_le_u32
      Src: /src/gnupg/scd/ccid-driver.c:799,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:800,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:801,1
    - Dst: convert_le_u32
      Src: /src/gnupg/scd/ccid-driver.c:803,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:804,1
    - Dst: convert_le_u32
      Src: /src/gnupg/scd/ccid-driver.c:807,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:808,1
    - Dst: DEBUGOUT_CONT
      Src: /src/gnupg/scd/ccid-driver.c:810,1
    - Dst: DEBUGOUT_CONT
      Src: /src/gnupg/scd/ccid-driver.c:812,1
    - Dst: DEBUGOUT_CONT
      Src: /src/gnupg/scd/ccid-driver.c:814,1
    - Dst: DEBUGOUT_LF
      Src: /src/gnupg/scd/ccid-driver.c:815,1
    - Dst: convert_le_u32
      Src: /src/gnupg/scd/ccid-driver.c:817,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:818,1
    - Dst: DEBUGOUT_CONT
      Src: /src/gnupg/scd/ccid-driver.c:820,1
    - Dst: DEBUGOUT_CONT
      Src: /src/gnupg/scd/ccid-driver.c:822,1
    - Dst: DEBUGOUT_CONT
      Src: /src/gnupg/scd/ccid-driver.c:824,1
    - Dst: DEBUGOUT_CONT
      Src: /src/gnupg/scd/ccid-driver.c:826,1
    - Dst: DEBUGOUT_LF
      Src: /src/gnupg/scd/ccid-driver.c:827,1
    - Dst: convert_le_u32
      Src: /src/gnupg/scd/ccid-driver.c:829,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:830,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:833,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:837,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:840,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:844,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:846,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:849,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:854,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:858,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:861,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:864,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:869,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:875,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:880,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:885,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:889,1
    - Dst: convert_le_u32
      Src: /src/gnupg/scd/ccid-driver.c:891,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:892,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:895,1
    - Dst: DEBUGOUT_CONT
      Src: /src/gnupg/scd/ccid-driver.c:897,1
    - Dst: DEBUGOUT_CONT_1
      Src: /src/gnupg/scd/ccid-driver.c:899,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:901,1
    - Dst: DEBUGOUT_CONT
      Src: /src/gnupg/scd/ccid-driver.c:903,1
    - Dst: DEBUGOUT_CONT_1
      Src: /src/gnupg/scd/ccid-driver.c:905,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:907,1
    - Dst: DEBUGOUT_CONT
      Src: /src/gnupg/scd/ccid-driver.c:909,1
    - Dst: DEBUGOUT_CONT_2
      Src: /src/gnupg/scd/ccid-driver.c:911,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:913,1
    - Dst: DEBUGOUT_CONT
      Src: /src/gnupg/scd/ccid-driver.c:916,1
    - Dst: DEBUGOUT_CONT
      Src: /src/gnupg/scd/ccid-driver.c:921,1
    - Dst: DEBUGOUT_LF
      Src: /src/gnupg/scd/ccid-driver.c:924,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:926,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:930,1
    - Dst: DEBUGOUT_CONT_1
      Src: /src/gnupg/scd/ccid-driver.c:932,1
    - Dst: DEBUGOUT_LF
      Src: /src/gnupg/scd/ccid-driver.c:933,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:938,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:969,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:975,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 162
    argCount: 4
    argNames:
    - handle
    - bcd_device
    - buf
    - buflen
    argTypes:
    - ccid_driver_t
    - unsigned short
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 980
    functionName: parse_ccid_descriptor
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - convert_le_u32
    - DEBUGOUT_3
    - DEBUGOUT_CONT_2
    - DEBUGOUT_CONT
    - DEBUGOUT_2
    - DEBUGOUT
    - DEBUGOUT_CONT_1
    - DEBUGOUT_1
    - DEBUGOUT_LF
    linkageType: ''
    returnType: int
    signature: "int parse_ccid_descriptor (ccid_driver_t handle, unsigned short bcd_device,\n
      \                      const unsigned char *buf, size_t buflen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/scd/ccid-driver.c:999,1
    - Dst: my_npth_unprotect
      Src: /src/gnupg/scd/ccid-driver.c:1004,1
    - Dst: libusb_control_transfer
      Src: /src/gnupg/scd/ccid-driver.c:1005,1
    - Dst: my_npth_protect
      Src: /src/gnupg/scd/ccid-driver.c:1009,1
    - Dst: my_npth_unprotect
      Src: /src/gnupg/scd/ccid-driver.c:1015,1
    - Dst: libusb_control_transfer
      Src: /src/gnupg/scd/ccid-driver.c:1016,1
    - Dst: my_npth_protect
      Src: /src/gnupg/scd/ccid-driver.c:1020,1
    - Dst: malloc
      Src: /src/gnupg/scd/ccid-driver.c:1037,1
    - Dst: strlen
      Src: /src/gnupg/scd/ccid-driver.c:1037,1
    - Dst: strlen
      Src: /src/gnupg/scd/ccid-driver.c:1037,1
    - Dst: strcpy
      Src: /src/gnupg/scd/ccid-driver.c:1041,1
    - Dst: strlen
      Src: /src/gnupg/scd/ccid-driver.c:1042,1
    - Dst: sprintf
      Src: /src/gnupg/scd/ccid-driver.c:1049,1
    - Dst: strcpy
      Src: /src/gnupg/scd/ccid-driver.c:1055,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 4
    argNames:
    - idev
    - idx
    - prefix
    - suffix
    argTypes:
    - libusb_device_handle*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 1058
    functionName: get_escaped_usb_string
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - strlen
    - libusb_control_transfer
    - sprintf
    - my_npth_protect
    - memset
    - malloc
    - strcpy
    - my_npth_unprotect
    linkageType: ''
    returnType: char
    signature: "char *\nget_escaped_usb_string (libusb_device_handle *idev, int idx,\n
      \                       const char *prefix, const char *suffix)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnupg/scd/ccid-driver.c:1071,1
    - Dst: get_escaped_usb_string
      Src: /src/gnupg/scd/ccid-driver.c:1072,1
    - Dst: malloc
      Src: /src/gnupg/scd/ccid-driver.c:1075,1
    - Dst: strlen
      Src: /src/gnupg/scd/ccid-driver.c:1075,1
    - Dst: strcpy
      Src: /src/gnupg/scd/ccid-driver.c:1078,1
    - Dst: strcat
      Src: /src/gnupg/scd/ccid-driver.c:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - idev
    - vendor
    - product
    - serialno_index
    argTypes:
    - libusb_device_handle*
    - unsigned int
    - unsigned int
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1063
    functionDepth: 2
    functionLinenumber: 1063
    functionLinenumberEnd: 1082
    functionName: make_reader_id
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - strlen
    - sprintf
    - strcpy
    - malloc
    - get_escaped_usb_string
    - strcat
    linkageType: ''
    returnType: char
    signature: "char *\nmake_reader_id (libusb_device_handle *idev,\n                unsigned
      int vendor, unsigned int product,\n                unsigned char serialno_index)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - ifcdesc
    - mode
    argTypes:
    - struct libusb_interface_descriptor*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1112
    functionName: find_endpoint
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_endpoint (const struct libusb_interface_descriptor *ifcdesc,
      int mode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: libusb_get_device_descriptor
      Src: /src/gnupg/scd/ccid-driver.c:1131,1
    - Dst: libusb_get_active_config_descriptor
      Src: /src/gnupg/scd/ccid-driver.c:1135,1
    - Dst: libusb_open
      Src: /src/gnupg/scd/ccid-driver.c:1161,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:1164,1
    - Dst: libusb_error_name
      Src: /src/gnupg/scd/ccid-driver.c:1164,1
    - Dst: make_reader_id
      Src: /src/gnupg/scd/ccid-driver.c:1168,1
    - Dst: libusb_free_config_descriptor
      Src: /src/gnupg/scd/ccid-driver.c:1172,1
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:1178,1
    - Dst: malloc
      Src: /src/gnupg/scd/ccid-driver.c:1179,1
    - Dst: strlen
      Src: /src/gnupg/scd/ccid-driver.c:1179,1
    - Dst: strlen
      Src: /src/gnupg/scd/ccid-driver.c:1180,1
    - Dst: strcat
      Src: /src/gnupg/scd/ccid-driver.c:1186,1
    - Dst: free
      Src: /src/gnupg/scd/ccid-driver.c:1187,1
    - Dst: strcat
      Src: /src/gnupg/scd/ccid-driver.c:1189,1
    - Dst: strcat
      Src: /src/gnupg/scd/ccid-driver.c:1190,1
    - Dst: libusb_free_config_descriptor
      Src: /src/gnupg/scd/ccid-driver.c:1195,1
    - Dst: free
      Src: /src/gnupg/scd/ccid-driver.c:1196,1
    - Dst: free
      Src: /src/gnupg/scd/ccid-driver.c:1200,1
    - Dst: libusb_close
      Src: /src/gnupg/scd/ccid-driver.c:1201,1
    - Dst: libusb_free_config_descriptor
      Src: /src/gnupg/scd/ccid-driver.c:1206,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 3
    argNames:
    - count
    - rid_list
    - dev
    argTypes:
    - int*
    - char**
    - struct libusb_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1118
    functionDepth: 3
    functionLinenumber: 1118
    functionLinenumberEnd: 1207
    functionName: scan_usb_device
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - strlen
    - free
    - strcat
    - libusb_free_config_descriptor
    - libusb_get_device_descriptor
    - libusb_close
    - libusb_get_active_config_descriptor
    - DEBUGOUT_2
    - libusb_error_name
    - malloc
    - DEBUGOUT_1
    - libusb_open
    - make_reader_id
    linkageType: ''
    returnType: void
    signature: void scan_usb_device (int *count, char **rid_list, struct libusb_device
      *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libusb_get_device_list
      Src: /src/gnupg/scd/ccid-driver.c:1233,1
    - Dst: scan_usb_device
      Src: /src/gnupg/scd/ccid-driver.c:1238,1
    - Dst: libusb_free_device_list
      Src: /src/gnupg/scd/ccid-driver.c:1241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - r_rid
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1219
    functionDepth: 4
    functionLinenumber: 1219
    functionLinenumberEnd: 1245
    functionName: scan_devices
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - libusb_get_device_list
    - libusb_free_device_list
    - scan_usb_device
    linkageType: ''
    returnType: int
    signature: int scan_devices (char **r_rid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnupg/scd/ccid-driver.c:1253,1
    - Dst: log_debug
      Src: /src/gnupg/scd/ccid-driver.c:1260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - level
    - str
    argTypes:
    - libusb_context*
    - enum libusb_log_level
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1261
    functionName: debug_libusb_cb
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - log_debug
    - strlen
    linkageType: ''
    returnType: void
    signature: "void debug_libusb_cb (libusb_context *ctx, enum libusb_log_level level,\n
      \                const char *str)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/gnupg/scd/ccid-driver.c:1282,1
    - Dst: libusb_set_log_cb
      Src: /src/gnupg/scd/ccid-driver.c:1283,1
    - Dst: libusb_set_option
      Src: /src/gnupg/scd/ccid-driver.c:1284,1
    - Dst: libusb_set_log_cb
      Src: /src/gnupg/scd/ccid-driver.c:1287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1290
    functionName: ccid_set_debug_level
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - libusb_set_option
    - libusb_set_log_cb
    - log_debug
    linkageType: ''
    returnType: int
    signature: int ccid_set_debug_level (int level)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libusb_init
      Src: /src/gnupg/scd/ccid-driver.c:1301,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:1303,1
    - Dst: libusb_error_name
      Src: /src/gnupg/scd/ccid-driver.c:1303,1
    - Dst: scan_devices
      Src: /src/gnupg/scd/ccid-driver.c:1309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1293
    functionDepth: 5
    functionLinenumber: 1293
    functionLinenumberEnd: 1312
    functionName: ccid_get_reader_list
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - libusb_error_name
    - DEBUGOUT_1
    - scan_devices
    - libusb_init
    linkageType: ''
    returnType: char
    signature: 'char *

      ccid_get_reader_list (void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: send_escape_cmd
      Src: /src/gnupg/scd/ccid-driver.c:1333,1
    - Dst: abort_cmd
      Src: /src/gnupg/scd/ccid-driver.c:1341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ccid_driver_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1316
    functionDepth: 1
    functionLinenumber: 1316
    functionLinenumberEnd: 1349
    functionName: ccid_vendor_specific_init
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - abort_cmd
    - send_escape_cmd
    linkageType: ''
    returnType: int
    signature: int ccid_vendor_specific_init (ccid_driver_t handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: my_npth_unprotect
      Src: /src/gnupg/scd/ccid-driver.c:1357,1
    - Dst: libusb_clear_halt
      Src: /src/gnupg/scd/ccid-driver.c:1358,1
    - Dst: my_npth_protect
      Src: /src/gnupg/scd/ccid-driver.c:1359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ccid_driver_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1362
    functionName: ccid_vendor_specific_setup
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - my_npth_unprotect
    - libusb_clear_halt
    - my_npth_protect
    linkageType: ''
    returnType: int
    signature: int ccid_vendor_specific_setup (ccid_driver_t handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:1370,1
    - Dst: send_escape_cmd
      Src: /src/gnupg/scd/ccid-driver.c:1371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ccid_driver_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1375
    functionName: ccid_vendor_specific_pinpad_setup
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - DEBUGOUT
    - send_escape_cmd
    linkageType: ''
    returnType: int
    signature: int ccid_vendor_specific_pinpad_setup (ccid_driver_t handle)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: libusb_init
      Src: /src/gnupg/scd/ccid-driver.c:1395,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:1397,1
    - Dst: libusb_error_name
      Src: /src/gnupg/scd/ccid-driver.c:1397,1
    - Dst: gpg_error
      Src: /src/gnupg/scd/ccid-driver.c:1398,1
    - Dst: libusb_get_device_list
      Src: /src/gnupg/scd/ccid-driver.c:1403,1
    - Dst: libusb_get_device_descriptor
      Src: /src/gnupg/scd/ccid-driver.c:1411,1
    - Dst: libusb_get_active_config_descriptor
      Src: /src/gnupg/scd/ccid-driver.c:1414,1
    - Dst: malloc
      Src: /src/gnupg/scd/ccid-driver.c:1443,1
    - Dst: gpg_error_from_syserror
      Src: /src/gnupg/scd/ccid-driver.c:1446,1
    - Dst: libusb_free_config_descriptor
      Src: /src/gnupg/scd/ccid-driver.c:1447,1
    - Dst: memcpy
      Src: /src/gnupg/scd/ccid-driver.c:1450,1
    - Dst: find_endpoint
      Src: /src/gnupg/scd/ccid-driver.c:1457,1
    - Dst: find_endpoint
      Src: /src/gnupg/scd/ccid-driver.c:1458,1
    - Dst: find_endpoint
      Src: /src/gnupg/scd/ccid-driver.c:1459,1
    - Dst: libusb_free_config_descriptor
      Src: /src/gnupg/scd/ccid-driver.c:1464,1
    - Dst: libusb_free_config_descriptor
      Src: /src/gnupg/scd/ccid-driver.c:1471,1
    - Dst: free
      Src: /src/gnupg/scd/ccid-driver.c:1480,1
    - Dst: libusb_free_device_list
      Src: /src/gnupg/scd/ccid-driver.c:1490,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 2
    argNames:
    - idx_max_p
    - t_p
    argTypes:
    - int*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1378
    functionDepth: 1
    functionLinenumber: 1378
    functionLinenumberEnd: 1503
    functionName: ccid_dev_scan
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_syserror
    - libusb_free_config_descriptor
    - libusb_free_device_list
    - libusb_get_device_descriptor
    - libusb_get_active_config_descriptor
    - find_endpoint
    - gpg_error
    - libusb_get_device_list
    - libusb_error_name
    - malloc
    - DEBUGOUT_1
    - memcpy
    - libusb_init
    - free
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ccid_dev_scan (int *idx_max_p, void **t_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnupg/scd/ccid-driver.c:1513,1
    - Dst: libusb_free_device_list
      Src: /src/gnupg/scd/ccid-driver.c:1523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - tbl0
    - max
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1525
    functionName: ccid_dev_scan_finish
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - libusb_free_device_list
    - free
    linkageType: ''
    returnType: void
    signature: void ccid_dev_scan_finish (void *tbl0, int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libusb_get_bus_number
      Src: /src/gnupg/scd/ccid-driver.c:1539,1
    - Dst: libusb_get_device_address
      Src: /src/gnupg/scd/ccid-driver.c:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - idx
    - tbl0
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1545
    functionName: ccid_get_BAI
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - libusb_get_device_address
    - libusb_get_bus_number
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ccid_get_BAI (int idx, void *tbl0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - bai
    argTypes:
    - ccid_driver_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1551
    functionName: ccid_compare_BAI
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ccid_compare_BAI (ccid_driver_t handle, unsigned int bai)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:1559,1
    - Dst: libusb_submit_transfer
      Src: /src/gnupg/scd/ccid-driver.c:1568,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:1572,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:1587,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:1602,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:1608,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:1615,1
    - Dst: scd_kick_the_loop
      Src: /src/gnupg/scd/ccid-driver.c:1618,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:1632,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:1637,1
    - Dst: scd_kick_the_loop
      Src: /src/gnupg/scd/ccid-driver.c:1640,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 1
    argNames:
    - transfer
    argTypes:
    - struct libusb_transfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1554
    functionDepth: 2
    functionLinenumber: 1554
    functionLinenumberEnd: 1643
    functionName: intr_cb
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - scd_kick_the_loop
    - DEBUGOUT_2
    - libusb_submit_transfer
    - DEBUGOUT
    - DEBUGOUT_1
    linkageType: ''
    returnType: void
    signature: void intr_cb (struct libusb_transfer *transfer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libusb_alloc_transfer
      Src: /src/gnupg/scd/ccid-driver.c:1651,1
    - Dst: libusb_fill_interrupt_transfer
      Src: /src/gnupg/scd/ccid-driver.c:1653,1
    - Dst: libusb_submit_transfer
      Src: /src/gnupg/scd/ccid-driver.c:1656,1
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:1657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ccid_driver_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1658
    functionName: ccid_setup_intr
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - DEBUGOUT_2
    - libusb_fill_interrupt_transfer
    - libusb_alloc_transfer
    - libusb_submit_transfer
    linkageType: ''
    returnType: void
    signature: void ccid_setup_intr  (ccid_driver_t handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: my_npth_unprotect
      Src: /src/gnupg/scd/ccid-driver.c:1668,1
    - Dst: libusb_handle_events_completed
      Src: /src/gnupg/scd/ccid-driver.c:1669,1
    - Dst: my_npth_protect
      Src: /src/gnupg/scd/ccid-driver.c:1670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1661
    functionDepth: 1
    functionLinenumber: 1661
    functionLinenumberEnd: 1674
    functionName: ccid_usb_thread
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - my_npth_unprotect
    - my_npth_protect
    - libusb_handle_events_completed
    linkageType: ''
    returnType: void
    signature: 'void *

      ccid_usb_thread (void *arg)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: libusb_get_bus_number
      Src: /src/gnupg/scd/ccid-driver.c:1698,1
    - Dst: libusb_get_device_address
      Src: /src/gnupg/scd/ccid-driver.c:1699,1
    - Dst: libusb_open
      Src: /src/gnupg/scd/ccid-driver.c:1702,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:1705,1
    - Dst: libusb_error_name
      Src: /src/gnupg/scd/ccid-driver.c:1705,1
    - Dst: free
      Src: /src/gnupg/scd/ccid-driver.c:1706,1
    - Dst: map_libusb_error
      Src: /src/gnupg/scd/ccid-driver.c:1708,1
    - Dst: npth_attr_init
      Src: /src/gnupg/scd/ccid-driver.c:1717,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:1720,1
    - Dst: strerror
      Src: /src/gnupg/scd/ccid-driver.c:1720,1
    - Dst: free
      Src: /src/gnupg/scd/ccid-driver.c:1721,1
    - Dst: npth_attr_setdetachstate
      Src: /src/gnupg/scd/ccid-driver.c:1726,1
    - Dst: npth_create
      Src: /src/gnupg/scd/ccid-driver.c:1727,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:1730,1
    - Dst: strerror
      Src: /src/gnupg/scd/ccid-driver.c:1730,1
    - Dst: free
      Src: /src/gnupg/scd/ccid-driver.c:1731,1
    - Dst: npth_setname_np
      Src: /src/gnupg/scd/ccid-driver.c:1735,1
    - Dst: npth_attr_destroy
      Src: /src/gnupg/scd/ccid-driver.c:1737,1
    - Dst: libusb_get_device_descriptor
      Src: /src/gnupg/scd/ccid-driver.c:1740,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:1743,1
    - Dst: map_libusb_error
      Src: /src/gnupg/scd/ccid-driver.c:1744,1
    - Dst: make_reader_id
      Src: /src/gnupg/scd/ccid-driver.c:1748,1
    - Dst: strncmp
      Src: /src/gnupg/scd/ccid-driver.c:1753,1
    - Dst: strlen
      Src: /src/gnupg/scd/ccid-driver.c:1753,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:1755,1
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:1769,1
    - Dst: parse_ccid_descriptor
      Src: /src/gnupg/scd/ccid-driver.c:1771,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:1775,1
    - Dst: my_npth_unprotect
      Src: /src/gnupg/scd/ccid-driver.c:1780,1
    - Dst: libusb_set_auto_detach_kernel_driver
      Src: /src/gnupg/scd/ccid-driver.c:1783,1
    - Dst: my_npth_protect
      Src: /src/gnupg/scd/ccid-driver.c:1786,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:1787,1
    - Dst: my_npth_unprotect
      Src: /src/gnupg/scd/ccid-driver.c:1788,1
    - Dst: libusb_claim_interface
      Src: /src/gnupg/scd/ccid-driver.c:1791,1
    - Dst: my_npth_protect
      Src: /src/gnupg/scd/ccid-driver.c:1794,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:1795,1
    - Dst: map_libusb_error
      Src: /src/gnupg/scd/ccid-driver.c:1796,1
    - Dst: libusb_set_interface_alt_setting
      Src: /src/gnupg/scd/ccid-driver.c:1804,1
    - Dst: my_npth_protect
      Src: /src/gnupg/scd/ccid-driver.c:1807,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:1808,1
    - Dst: map_libusb_error
      Src: /src/gnupg/scd/ccid-driver.c:1809,1
    - Dst: my_npth_protect
      Src: /src/gnupg/scd/ccid-driver.c:1813,1
    - Dst: ccid_vendor_specific_init
      Src: /src/gnupg/scd/ccid-driver.c:1816,1
    - Dst: free
      Src: /src/gnupg/scd/ccid-driver.c:1822,1
    - Dst: libusb_release_interface
      Src: /src/gnupg/scd/ccid-driver.c:1823,1
    - Dst: libusb_close
      Src: /src/gnupg/scd/ccid-driver.c:1824,1
    - Dst: free
      Src: /src/gnupg/scd/ccid-driver.c:1825,1
    - Dst: free
      Src: /src/gnupg/scd/ccid-driver.c:1833,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 107
    argCount: 5
    argNames:
    - spec_reader_name
    - idx
    - ccid_table0
    - handle
    - rdrname_p
    argTypes:
    - char*
    - int
    - void*
    - ccid_driver_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1677
    functionDepth: 3
    functionLinenumber: 1677
    functionLinenumberEnd: 1837
    functionName: ccid_open_usb_reader
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - strlen
    - npth_attr_init
    - my_npth_protect
    - libusb_set_auto_detach_kernel_driver
    - npth_create
    - libusb_get_bus_number
    - libusb_set_interface_alt_setting
    - ccid_vendor_specific_init
    - libusb_claim_interface
    - DEBUGOUT_1
    - libusb_open
    - strncmp
    - parse_ccid_descriptor
    - make_reader_id
    - libusb_close
    - libusb_get_device_address
    - libusb_get_device_descriptor
    - npth_attr_setdetachstate
    - npth_setname_np
    - libusb_release_interface
    - DEBUGOUT
    - npth_attr_destroy
    - DEBUGOUT_2
    - libusb_error_name
    - map_libusb_error
    - my_npth_unprotect
    - strerror
    - free
    linkageType: ''
    returnType: int
    signature: "int ccid_open_usb_reader (const char *spec_reader_name,\n                      int
      idx, void *ccid_table0,\n                      ccid_driver_t *handle, char **rdrname_p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnupg/scd/ccid-driver.c:1848,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:1851,1
    - Dst: ccid_open_usb_reader
      Src: /src/gnupg/scd/ccid-driver.c:1855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - spec_reader_name
    - idx
    - ccid_table0
    - handle
    - rdrname_p
    argTypes:
    - char*
    - int
    - void*
    - ccid_driver_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1841
    functionDepth: 4
    functionLinenumber: 1841
    functionLinenumberEnd: 1857
    functionName: ccid_open_reader
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - DEBUGOUT
    - ccid_open_usb_reader
    - calloc
    linkageType: ''
    returnType: int
    signature: "int ccid_open_reader (const char *spec_reader_name, int idx,\n                  void
      *ccid_table0,\n                  ccid_driver_t *handle, char **rdrname_p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ccid_driver_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1904
    functionName: ccid_require_get_status
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ccid_require_get_status (ccid_driver_t handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_msg_len
      Src: /src/gnupg/scd/ccid-driver.c:1920,1
    - Dst: bulk_out
      Src: /src/gnupg/scd/ccid-driver.c:1923,1
    - Dst: bulk_in
      Src: /src/gnupg/scd/ccid-driver.c:1925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ccid_driver_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1906
    functionDepth: 1
    functionLinenumber: 1906
    functionLinenumberEnd: 1928
    functionName: send_power_off
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - bulk_out
    - bulk_in
    - set_msg_len
    linkageType: ''
    returnType: int
    signature: int send_power_off (ccid_driver_t handle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: send_power_off
      Src: /src/gnupg/scd/ccid-driver.c:1936,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:1942,1
    - Dst: libusb_cancel_transfer
      Src: /src/gnupg/scd/ccid-driver.c:1944,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:1948,1
    - Dst: my_npth_unprotect
      Src: /src/gnupg/scd/ccid-driver.c:1949,1
    - Dst: libusb_handle_events_completed
      Src: /src/gnupg/scd/ccid-driver.c:1950,1
    - Dst: my_npth_protect
      Src: /src/gnupg/scd/ccid-driver.c:1951,1
    - Dst: libusb_free_transfer
      Src: /src/gnupg/scd/ccid-driver.c:1955,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:1959,1
    - Dst: libusb_release_interface
      Src: /src/gnupg/scd/ccid-driver.c:1960,1
    - Dst: libusb_close
      Src: /src/gnupg/scd/ccid-driver.c:1962,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ccid_driver_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1930
    functionDepth: 2
    functionLinenumber: 1930
    functionLinenumberEnd: 1964
    functionName: do_close_reader
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - libusb_free_transfer
    - my_npth_protect
    - send_power_off
    - my_npth_unprotect
    - libusb_cancel_transfer
    - libusb_release_interface
    - libusb_handle_events_completed
    - DEBUGOUT
    - libusb_close
    linkageType: ''
    returnType: void
    signature: void do_close_reader (ccid_driver_t handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - handle
    - cb_arg
    argTypes:
    - ccid_driver_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1978
    functionName: ccid_set_progress_cb
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ccid_set_progress_cb (ccid_driver_t handle,\n                      void
      (*cb)(void *, const char *, int, int, int),\n                      void *cb_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - handle
    - cb_arg
    argTypes:
    - ccid_driver_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 1991
    functionName: ccid_set_prompt_cb
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ccid_set_prompt_cb (ccid_driver_t handle,\n\t\t    void (*cb)(void
      *, int), void *cb_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_close_reader
      Src: /src/gnupg/scd/ccid-driver.c:2001,1
    - Dst: free
      Src: /src/gnupg/scd/ccid-driver.c:2002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ccid_driver_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 1995
    functionDepth: 3
    functionLinenumber: 1995
    functionLinenumberEnd: 2004
    functionName: ccid_close_reader
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 2
    functionsReached:
    - do_close_reader
    - free
    linkageType: ''
    returnType: int
    signature: int ccid_close_reader (ccid_driver_t handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ccid_driver_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2013
    functionName: ccid_check_card_presence
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ccid_check_card_presence (ccid_driver_t handle)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: print_p2r_iccpoweron
      Src: /src/gnupg/scd/ccid-driver.c:2035,1
    - Dst: print_p2r_iccpoweroff
      Src: /src/gnupg/scd/ccid-driver.c:2038,1
    - Dst: print_p2r_getslotstatus
      Src: /src/gnupg/scd/ccid-driver.c:2041,1
    - Dst: print_p2r_xfrblock
      Src: /src/gnupg/scd/ccid-driver.c:2044,1
    - Dst: print_p2r_getparameters
      Src: /src/gnupg/scd/ccid-driver.c:2047,1
    - Dst: print_p2r_resetparameters
      Src: /src/gnupg/scd/ccid-driver.c:2050,1
    - Dst: print_p2r_setparameters
      Src: /src/gnupg/scd/ccid-driver.c:2053,1
    - Dst: print_p2r_escape
      Src: /src/gnupg/scd/ccid-driver.c:2056,1
    - Dst: print_p2r_iccclock
      Src: /src/gnupg/scd/ccid-driver.c:2059,1
    - Dst: print_p2r_to0apdu
      Src: /src/gnupg/scd/ccid-driver.c:2062,1
    - Dst: print_p2r_secure
      Src: /src/gnupg/scd/ccid-driver.c:2065,1
    - Dst: print_p2r_mechanical
      Src: /src/gnupg/scd/ccid-driver.c:2068,1
    - Dst: print_p2r_abort
      Src: /src/gnupg/scd/ccid-driver.c:2071,1
    - Dst: print_p2r_setdatarate
      Src: /src/gnupg/scd/ccid-driver.c:2074,1
    - Dst: print_p2r_unknown
      Src: /src/gnupg/scd/ccid-driver.c:2077,1
    - Dst: my_npth_unprotect
      Src: /src/gnupg/scd/ccid-driver.c:2082,1
    - Dst: libusb_bulk_transfer
      Src: /src/gnupg/scd/ccid-driver.c:2083,1
    - Dst: my_npth_protect
      Src: /src/gnupg/scd/ccid-driver.c:2086,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:2092,1
    - Dst: libusb_error_name
      Src: /src/gnupg/scd/ccid-driver.c:2092,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 65
    argCount: 4
    argNames:
    - handle
    - msg
    - msglen
    - no_debug
    argTypes:
    - ccid_driver_t
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2018
    functionDepth: 1
    functionLinenumber: 2018
    functionLinenumberEnd: 2101
    functionName: bulk_out
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - print_p2r_iccpoweron
    - print_p2r_escape
    - my_npth_protect
    - print_p2r_iccpoweroff
    - print_p2r_setdatarate
    - print_p2r_getparameters
    - print_p2r_mechanical
    - print_p2r_unknown
    - DEBUGOUT_1
    - print_p2r_secure
    - print_p2r_xfrblock
    - print_p2r_getslotstatus
    - libusb_bulk_transfer
    - print_p2r_iccclock
    - print_p2r_to0apdu
    - print_p2r_abort
    - print_p2r_setparameters
    - libusb_error_name
    - my_npth_unprotect
    - print_p2r_resetparameters
    linkageType: ''
    returnType: int
    signature: "int bulk_out (ccid_driver_t handle, unsigned char *msg, size_t msglen,\n
      \         int no_debug)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnupg/scd/ccid-driver.c:2124,1
    - Dst: my_npth_unprotect
      Src: /src/gnupg/scd/ccid-driver.c:2127,1
    - Dst: libusb_bulk_transfer
      Src: /src/gnupg/scd/ccid-driver.c:2128,1
    - Dst: my_npth_protect
      Src: /src/gnupg/scd/ccid-driver.c:2130,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:2133,1
    - Dst: libusb_error_name
      Src: /src/gnupg/scd/ccid-driver.c:2133,1
    - Dst: map_libusb_error
      Src: /src/gnupg/scd/ccid-driver.c:2137,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:2152,1
    - Dst: abort_cmd
      Src: /src/gnupg/scd/ccid-driver.c:2153,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:2158,1
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:2163,1
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:2176,1
    - Dst: ccid_driver_t::prompt_cb
      Src: /src/gnupg/scd/ccid-driver.c:2187,1
    - Dst: ccid_driver_t::prompt_cb
      Src: /src/gnupg/scd/ccid-driver.c:2194,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:2198,1
    - Dst: abort_cmd
      Src: /src/gnupg/scd/ccid-driver.c:2199,1
    - Dst: print_r2p_datablock
      Src: /src/gnupg/scd/ccid-driver.c:2208,1
    - Dst: print_r2p_slotstatus
      Src: /src/gnupg/scd/ccid-driver.c:2211,1
    - Dst: print_r2p_parameters
      Src: /src/gnupg/scd/ccid-driver.c:2214,1
    - Dst: print_r2p_escape
      Src: /src/gnupg/scd/ccid-driver.c:2217,1
    - Dst: print_r2p_datarate
      Src: /src/gnupg/scd/ccid-driver.c:2220,1
    - Dst: print_r2p_unknown
      Src: /src/gnupg/scd/ccid-driver.c:2223,1
    - Dst: CCID_COMMAND_FAILED
      Src: /src/gnupg/scd/ccid-driver.c:2227,1
    - Dst: CCID_ERROR_CODE
      Src: /src/gnupg/scd/ccid-driver.c:2231,1
    - Dst: print_command_failed
      Src: /src/gnupg/scd/ccid-driver.c:2232,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:2258,1
    - Dst: scd_kick_the_loop
      Src: /src/gnupg/scd/ccid-driver.c:2263,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 104
    argCount: 8
    argNames:
    - handle
    - buffer
    - length
    - nread
    - expected_type
    - seqno
    - timeout
    - no_debug
    argTypes:
    - ccid_driver_t
    - unsigned char*
    - size_t
    - size_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2111
    functionDepth: 2
    functionLinenumber: 2111
    functionLinenumberEnd: 2268
    functionName: bulk_in
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - my_npth_protect
    - CCID_COMMAND_FAILED
    - ccid_driver_t::prompt_cb
    - print_r2p_slotstatus
    - print_r2p_datablock
    - print_r2p_datarate
    - DEBUGOUT_1
    - print_r2p_unknown
    - print_r2p_escape
    - libusb_bulk_transfer
    - memset
    - print_command_failed
    - DEBUGOUT
    - print_r2p_parameters
    - CCID_ERROR_CODE
    - scd_kick_the_loop
    - DEBUGOUT_2
    - libusb_error_name
    - map_libusb_error
    - my_npth_unprotect
    - abort_cmd
    linkageType: ''
    returnType: int
    signature: "int bulk_in (ccid_driver_t handle, unsigned char *buffer, size_t length,\n
      \        size_t *nread, int expected_type, int seqno, int timeout,\n         int
      no_debug)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:2282,1
    - Dst: my_npth_unprotect
      Src: /src/gnupg/scd/ccid-driver.c:2286,1
    - Dst: libusb_control_transfer
      Src: /src/gnupg/scd/ccid-driver.c:2287,1
    - Dst: my_npth_protect
      Src: /src/gnupg/scd/ccid-driver.c:2295,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:2298,1
    - Dst: libusb_error_name
      Src: /src/gnupg/scd/ccid-driver.c:2298,1
    - Dst: map_libusb_error
      Src: /src/gnupg/scd/ccid-driver.c:2300,1
    - Dst: set_msg_len
      Src: /src/gnupg/scd/ccid-driver.c:2319,1
    - Dst: my_npth_unprotect
      Src: /src/gnupg/scd/ccid-driver.c:2321,1
    - Dst: libusb_bulk_transfer
      Src: /src/gnupg/scd/ccid-driver.c:2322,1
    - Dst: my_npth_protect
      Src: /src/gnupg/scd/ccid-driver.c:2325,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:2329,1
    - Dst: libusb_error_name
      Src: /src/gnupg/scd/ccid-driver.c:2330,1
    - Dst: map_libusb_error
      Src: /src/gnupg/scd/ccid-driver.c:2333,1
    - Dst: my_npth_unprotect
      Src: /src/gnupg/scd/ccid-driver.c:2335,1
    - Dst: libusb_bulk_transfer
      Src: /src/gnupg/scd/ccid-driver.c:2336,1
    - Dst: my_npth_protect
      Src: /src/gnupg/scd/ccid-driver.c:2339,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:2342,1
    - Dst: libusb_error_name
      Src: /src/gnupg/scd/ccid-driver.c:2343,1
    - Dst: map_libusb_error
      Src: /src/gnupg/scd/ccid-driver.c:2347,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:2352,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:2358,1
    - Dst: DEBUGOUT_3
      Src: /src/gnupg/scd/ccid-driver.c:2362,1
    - Dst: CCID_COMMAND_FAILED
      Src: /src/gnupg/scd/ccid-driver.c:2364,1
    - Dst: print_command_failed
      Src: /src/gnupg/scd/ccid-driver.c:2365,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:2371,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 3
    argNames:
    - handle
    - seqno
    - init
    argTypes:
    - ccid_driver_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2273
    functionDepth: 2
    functionLinenumber: 2273
    functionLinenumberEnd: 2374
    functionName: abort_cmd
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 2
    functionsReached:
    - DEBUGOUT_3
    - set_msg_len
    - libusb_control_transfer
    - my_npth_protect
    - libusb_error_name
    - map_libusb_error
    - libusb_bulk_transfer
    - CCID_COMMAND_FAILED
    - print_command_failed
    - my_npth_unprotect
    - DEBUGOUT_1
    - DEBUGOUT
    linkageType: ''
    returnType: int
    signature: int abort_cmd (ccid_driver_t handle, int seqno, int init)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/scd/ccid-driver.c:2404,1
    - Dst: set_msg_len
      Src: /src/gnupg/scd/ccid-driver.c:2406,1
    - Dst: bulk_out
      Src: /src/gnupg/scd/ccid-driver.c:2408,1
    - Dst: bulk_in
      Src: /src/gnupg/scd/ccid-driver.c:2411,1
    - Dst: memcpy
      Src: /src/gnupg/scd/ccid-driver.c:2425,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 6
    argNames:
    - handle
    - data
    - datalen
    - result
    - resultmax
    - resultlen
    argTypes:
    - ccid_driver_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2382
    functionDepth: 3
    functionLinenumber: 2382
    functionLinenumberEnd: 2437
    functionName: send_escape_cmd
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 2
    functionsReached:
    - memcpy
    - bulk_out
    - bulk_in
    - set_msg_len
    linkageType: ''
    returnType: int
    signature: "int send_escape_cmd (ccid_driver_t handle,\n                 const
      unsigned char *data, size_t datalen,\n                 unsigned char *result,
      size_t resultmax, size_t *resultlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_escape_cmd
      Src: /src/gnupg/scd/ccid-driver.c:2445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - handle
    - data
    - datalen
    - resp
    - maxresplen
    - nresp
    argTypes:
    - ccid_driver_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2440
    functionDepth: 4
    functionLinenumber: 2440
    functionLinenumberEnd: 2446
    functionName: ccid_transceive_escape
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - send_escape_cmd
    linkageType: ''
    returnType: int
    signature: "int ccid_transceive_escape (ccid_driver_t handle,\n                        const
      unsigned char *data, size_t datalen,\n                        unsigned char
      *resp, size_t maxresplen, size_t *nresp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: libusb_interrupt_transfer
      Src: /src/gnupg/scd/ccid-driver.c:2459,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:2467,1
    - Dst: libusb_error_name
      Src: /src/gnupg/scd/ccid-driver.c:2467,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:2473,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:2479,1
    - Dst: DEBUGOUT_CONT_3
      Src: /src/gnupg/scd/ccid-driver.c:2482,1
    - Dst: DEBUGOUT_LF
      Src: /src/gnupg/scd/ccid-driver.c:2486,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:2490,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:2494,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ccid_driver_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2498
      start: 2451
    functionDepth: 1
    functionLinenumber: 2451
    functionLinenumberEnd: 2498
    functionName: ccid_poll
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - libusb_interrupt_transfer
    - DEBUGOUT_CONT_3
    - libusb_error_name
    - DEBUGOUT
    - DEBUGOUT_1
    - DEBUGOUT_LF
    linkageType: ''
    returnType: int
    signature: int ccid_poll (ccid_driver_t handle)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ccid_require_get_status
      Src: /src/gnupg/scd/ccid-driver.c:2519,1
    - Dst: ccid_setup_intr
      Src: /src/gnupg/scd/ccid-driver.c:2524,1
    - Dst: set_msg_len
      Src: /src/gnupg/scd/ccid-driver.c:2537,1
    - Dst: bulk_out
      Src: /src/gnupg/scd/ccid-driver.c:2539,1
    - Dst: bulk_in
      Src: /src/gnupg/scd/ccid-driver.c:2545,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:2552,1
    - Dst: my_npth_unprotect
      Src: /src/gnupg/scd/ccid-driver.c:2553,1
    - Dst: libusb_clear_halt
      Src: /src/gnupg/scd/ccid-driver.c:2554,1
    - Dst: libusb_clear_halt
      Src: /src/gnupg/scd/ccid-driver.c:2555,1
    - Dst: my_npth_protect
      Src: /src/gnupg/scd/ccid-driver.c:2556,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:2559,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - handle
    - statusbits
    - on_wire
    argTypes:
    - ccid_driver_t
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2568
      start: 2503
    functionDepth: 3
    functionLinenumber: 2503
    functionLinenumberEnd: 2568
    functionName: ccid_slot_status
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - ccid_require_get_status
    - libusb_clear_halt
    - bulk_in
    - set_msg_len
    - my_npth_protect
    - my_npth_unprotect
    - DEBUGOUT
    - ccid_setup_intr
    - bulk_out
    linkageType: ''
    returnType: int
    signature: int ccid_slot_status (ccid_driver_t handle, int *statusbits, int on_wire)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: NEXTBYTE
      Src: /src/gnupg/scd/ccid-driver.c:2595,1
    - Dst: NEXTBYTE
      Src: /src/gnupg/scd/ccid-driver.c:2599,1
    - Dst: NEXTBYTE
      Src: /src/gnupg/scd/ccid-driver.c:2603,1
    - Dst: NEXTBYTE
      Src: /src/gnupg/scd/ccid-driver.c:2608,1
    - Dst: NEXTBYTE
      Src: /src/gnupg/scd/ccid-driver.c:2612,1
    - Dst: NEXTBYTE
      Src: /src/gnupg/scd/ccid-driver.c:2617,1
    - Dst: NEXTBYTE
      Src: /src/gnupg/scd/ccid-driver.c:2624,1
    - Dst: NEXTBYTE
      Src: /src/gnupg/scd/ccid-driver.c:2635,1
    - Dst: NEXTBYTE
      Src: /src/gnupg/scd/ccid-driver.c:2639,1
    - Dst: NEXTBYTE
      Src: /src/gnupg/scd/ccid-driver.c:2642,1
    - Dst: NEXTBYTE
      Src: /src/gnupg/scd/ccid-driver.c:2648,1
    - Dst: NEXTBYTE
      Src: /src/gnupg/scd/ccid-driver.c:2663,1
    - Dst: NEXTBYTE
      Src: /src/gnupg/scd/ccid-driver.c:2670,1
    - Dst: NEXTBYTE
      Src: /src/gnupg/scd/ccid-driver.c:2677,1
    - Dst: NEXTBYTE
      Src: /src/gnupg/scd/ccid-driver.c:2687,1
    - Dst: NEXTBYTE
      Src: /src/gnupg/scd/ccid-driver.c:2695,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 80
    argCount: 3
    argNames:
    - param
    - atr
    - atrlen
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2586
    functionDepth: 1
    functionLinenumber: 2586
    functionLinenumberEnd: 2713
    functionName: update_param_by_atr
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - NEXTBYTE
    linkageType: ''
    returnType: int
    signature: int update_param_by_atr (unsigned char *param, unsigned char *atr,
      size_t atrlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2594
      start: 2593
    functionDepth: 0
    functionLinenumber: 2593
    functionLinenumberEnd: 2594
    functionName: NEXTBYTE
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXTBYTE()
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: ccid_slot_status
      Src: /src/gnupg/scd/ccid-driver.c:2743,1
    - Dst: set_msg_len
      Src: /src/gnupg/scd/ccid-driver.c:2767,1
    - Dst: bulk_out
      Src: /src/gnupg/scd/ccid-driver.c:2770,1
    - Dst: bulk_in
      Src: /src/gnupg/scd/ccid-driver.c:2773,1
    - Dst: CCID_COMMAND_FAILED
      Src: /src/gnupg/scd/ccid-driver.c:2777,1
    - Dst: CCID_ERROR_CODE
      Src: /src/gnupg/scd/ccid-driver.c:2777,1
    - Dst: send_escape_cmd
      Src: /src/gnupg/scd/ccid-driver.c:2786,1
    - Dst: CCID_COMMAND_FAILED
      Src: /src/gnupg/scd/ccid-driver.c:2790,1
    - Dst: send_power_off
      Src: /src/gnupg/scd/ccid-driver.c:2798,1
    - Dst: CCID_COMMAND_FAILED
      Src: /src/gnupg/scd/ccid-driver.c:2805,1
    - Dst: memcpy
      Src: /src/gnupg/scd/ccid-driver.c:2817,1
    - Dst: update_param_by_atr
      Src: /src/gnupg/scd/ccid-driver.c:2822,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:2825,1
    - Dst: set_msg_len
      Src: /src/gnupg/scd/ccid-driver.c:2839,1
    - Dst: bulk_out
      Src: /src/gnupg/scd/ccid-driver.c:2841,1
    - Dst: bulk_in
      Src: /src/gnupg/scd/ccid-driver.c:2843,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:2846,1
    - Dst: set_msg_len
      Src: /src/gnupg/scd/ccid-driver.c:2864,1
    - Dst: bulk_out
      Src: /src/gnupg/scd/ccid-driver.c:2867,1
    - Dst: bulk_in
      Src: /src/gnupg/scd/ccid-driver.c:2871,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:2878,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:2884,1
    - Dst: memcpy
      Src: /src/gnupg/scd/ccid-driver.c:2898,1
    - Dst: set_msg_len
      Src: /src/gnupg/scd/ccid-driver.c:2899,1
    - Dst: bulk_out
      Src: /src/gnupg/scd/ccid-driver.c:2902,1
    - Dst: bulk_in
      Src: /src/gnupg/scd/ccid-driver.c:2905,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:2908,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:2917,1
    - Dst: compute_edc
      Src: /src/gnupg/scd/ccid-driver.c:2934,1
    - Dst: set_msg_len
      Src: /src/gnupg/scd/ccid-driver.c:2945,1
    - Dst: DEBUGOUT_3
      Src: /src/gnupg/scd/ccid-driver.c:2949,1
    - Dst: bulk_out
      Src: /src/gnupg/scd/ccid-driver.c:2956,1
    - Dst: bulk_in
      Src: /src/gnupg/scd/ccid-driver.c:2961,1
    - Dst: DEBUGOUT_4
      Src: /src/gnupg/scd/ccid-driver.c:2973,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:2983,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:2986,1
    - Dst: ccid_vendor_specific_setup
      Src: /src/gnupg/scd/ccid-driver.c:2989,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 166
    argCount: 4
    argNames:
    - handle
    - atr
    - maxatrlen
    - atrlen
    argTypes:
    - ccid_driver_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2718
    functionDepth: 4
    functionLinenumber: 2718
    functionLinenumberEnd: 2991
    functionName: ccid_get_atr
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 2
    functionsReached:
    - ccid_slot_status
    - bulk_in
    - DEBUGOUT_3
    - set_msg_len
    - DEBUGOUT_4
    - ccid_vendor_specific_setup
    - send_power_off
    - CCID_ERROR_CODE
    - CCID_COMMAND_FAILED
    - send_escape_cmd
    - compute_edc
    - DEBUGOUT
    - DEBUGOUT_1
    - update_param_by_atr
    - memcpy
    - bulk_out
    linkageType: ''
    returnType: int
    signature: "int ccid_get_atr (ccid_driver_t handle,\n              unsigned char
      *atr, size_t maxatrlen, size_t *atrlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - data
    - datalen
    - use_crc
    argTypes:
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3011
      start: 2996
    functionDepth: 0
    functionLinenumber: 2996
    functionLinenumberEnd: 3011
    functionName: compute_edc
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int compute_edc (const unsigned char *data, size_t datalen,
      int use_crc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - apdu
    - apdulen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3021
      start: 3015
    functionDepth: 0
    functionLinenumber: 3015
    functionLinenumberEnd: 3021
    functionName: is_exlen_apdu
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_exlen_apdu (const unsigned char *apdu, size_t apdulen)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnupg/scd/ccid-driver.c:3059,1
    - Dst: set_msg_len
      Src: /src/gnupg/scd/ccid-driver.c:3060,1
    - Dst: bulk_out
      Src: /src/gnupg/scd/ccid-driver.c:3063,1
    - Dst: bulk_in
      Src: /src/gnupg/scd/ccid-driver.c:3070,1
    - Dst: memcpy
      Src: /src/gnupg/scd/ccid-driver.c:3086,1
    - Dst: set_msg_len
      Src: /src/gnupg/scd/ccid-driver.c:3098,1
    - Dst: bulk_out
      Src: /src/gnupg/scd/ccid-driver.c:3101,1
    - Dst: bulk_in
      Src: /src/gnupg/scd/ccid-driver.c:3105,1
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:3115,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 6
    argNames:
    - handle
    - apdu_buf
    - apdu_len
    - resp
    - maxresplen
    - nresp
    argTypes:
    - ccid_driver_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3125
      start: 3025
    functionDepth: 3
    functionLinenumber: 3025
    functionLinenumberEnd: 3125
    functionName: ccid_transceive_apdu_level
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - bulk_in
    - set_msg_len
    - DEBUGOUT_2
    - memcpy
    - bulk_out
    linkageType: ''
    returnType: int
    signature: "int ccid_transceive_apdu_level (ccid_driver_t handle,\n                            const
      unsigned char *apdu_buf, size_t apdu_len,\n                            unsigned
      char *resp, size_t maxresplen,\n                            size_t *nresp)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: is_exlen_apdu
      Src: /src/gnupg/scd/ccid-driver.c:3224,1
    - Dst: ccid_transceive_apdu_level
      Src: /src/gnupg/scd/ccid-driver.c:3227,1
    - Dst: log_assert
      Src: /src/gnupg/scd/ccid-driver.c:3251,1
    - Dst: memcpy
      Src: /src/gnupg/scd/ccid-driver.c:3265,1
    - Dst: compute_edc
      Src: /src/gnupg/scd/ccid-driver.c:3267,1
    - Dst: set_msg_len
      Src: /src/gnupg/scd/ccid-driver.c:3282,1
    - Dst: set_msg_len
      Src: /src/gnupg/scd/ccid-driver.c:3292,1
    - Dst: DEBUGOUT_3
      Src: /src/gnupg/scd/ccid-driver.c:3300,1
    - Dst: bulk_out
      Src: /src/gnupg/scd/ccid-driver.c:3308,1
    - Dst: bulk_in
      Src: /src/gnupg/scd/ccid-driver.c:3313,1
    - Dst: my_npth_unprotect
      Src: /src/gnupg/scd/ccid-driver.c:3325,1
    - Dst: libusb_clear_halt
      Src: /src/gnupg/scd/ccid-driver.c:3326,1
    - Dst: my_npth_protect
      Src: /src/gnupg/scd/ccid-driver.c:3327,1
    - Dst: DEBUGOUT_4
      Src: /src/gnupg/scd/ccid-driver.c:3332,1
    - Dst: compute_edc
      Src: /src/gnupg/scd/ccid-driver.c:3359,1
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:3376,1
    - Dst: memcpy
      Src: /src/gnupg/scd/ccid-driver.c:3382,1
    - Dst: compute_edc
      Src: /src/gnupg/scd/ccid-driver.c:3397,1
    - Dst: compute_edc
      Src: /src/gnupg/scd/ccid-driver.c:3418,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:3423,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:3427,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:3439,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:3451,1
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:3458,1
    - Dst: compute_edc
      Src: /src/gnupg/scd/ccid-driver.c:3476,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:3480,1
    - Dst: compute_edc
      Src: /src/gnupg/scd/ccid-driver.c:3496,1
    - Dst: DEBUGOUT_1
      Src: /src/gnupg/scd/ccid-driver.c:3500,1
    - Dst: print_progress
      Src: /src/gnupg/scd/ccid-driver.c:3501,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:3505,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 209
    argCount: 6
    argNames:
    - handle
    - apdu_buf
    - apdu_buflen
    - resp
    - maxresplen
    - nresp
    argTypes:
    - ccid_driver_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3516
      start: 3181
    functionDepth: 4
    functionLinenumber: 3181
    functionLinenumberEnd: 3516
    functionName: ccid_transceive
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 1
    functionsReached:
    - DEBUGOUT
    - libusb_clear_halt
    - DEBUGOUT_3
    - bulk_in
    - log_assert
    - set_msg_len
    - DEBUGOUT_4
    - print_progress
    - my_npth_protect
    - is_exlen_apdu
    - DEBUGOUT_2
    - ccid_transceive_apdu_level
    - compute_edc
    - my_npth_unprotect
    - DEBUGOUT_1
    - memcpy
    - bulk_out
    linkageType: ''
    returnType: int
    signature: "int ccid_transceive (ccid_driver_t handle,\n                 const
      unsigned char *apdu_buf, size_t apdu_buflen,\n                 unsigned char
      *resp, size_t maxresplen, size_t *nresp)"
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: ccid_vendor_specific_pinpad_setup
      Src: /src/gnupg/scd/ccid-driver.c:3646,1
    - Dst: memset
      Src: /src/gnupg/scd/ccid-driver.c:3740,1
    - Dst: set_msg_len
      Src: /src/gnupg/scd/ccid-driver.c:3744,1
    - Dst: bulk_out
      Src: /src/gnupg/scd/ccid-driver.c:3746,1
    - Dst: bulk_in
      Src: /src/gnupg/scd/ccid-driver.c:3751,1
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:3765,1
    - Dst: memcpy
      Src: /src/gnupg/scd/ccid-driver.c:3771,1
    - Dst: my_npth_unprotect
      Src: /src/gnupg/scd/ccid-driver.c:3779,1
    - Dst: libusb_clear_halt
      Src: /src/gnupg/scd/ccid-driver.c:3780,1
    - Dst: my_npth_protect
      Src: /src/gnupg/scd/ccid-driver.c:3781,1
    - Dst: DEBUGOUT_4
      Src: /src/gnupg/scd/ccid-driver.c:3785,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:3799,1
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:3812,1
    - Dst: memcpy
      Src: /src/gnupg/scd/ccid-driver.c:3818,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:3825,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:3832,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:3837,1
    - Dst: DEBUGOUT
      Src: /src/gnupg/scd/ccid-driver.c:3842,1
    - Dst: DEBUGOUT_2
      Src: /src/gnupg/scd/ccid-driver.c:3848,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 197
    argCount: 7
    argNames:
    - handle
    - apdu_buf
    - apdu_buflen
    - pininfo
    - resp
    - maxresplen
    - nresp
    argTypes:
    - ccid_driver_t
    - unsigned char*
    - size_t
    - pininfo_t*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3855
      start: 3533
    functionDepth: 3
    functionLinenumber: 3533
    functionLinenumberEnd: 3855
    functionName: ccid_transceive_secure
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 3
    functionsReached:
    - DEBUGOUT
    - libusb_clear_halt
    - bulk_in
    - set_msg_len
    - DEBUGOUT_4
    - my_npth_protect
    - DEBUGOUT_2
    - memset
    - my_npth_unprotect
    - ccid_vendor_specific_pinpad_setup
    - memcpy
    - bulk_out
    linkageType: ''
    returnType: int
    signature: "int ccid_transceive_secure (ccid_driver_t handle,\n                        const
      unsigned char *apdu_buf, size_t apdu_buflen,\n                        pininfo_t
      *pininfo,\n                        unsigned char *resp, size_t maxresplen, size_t
      *nresp)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnupg/scd/ccid-driver.c:3884,1
    - Dst: fprintf
      Src: /src/gnupg/scd/ccid-driver.c:3886,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3887
      start: 3863
    functionDepth: 0
    functionLinenumber: 3863
    functionLinenumberEnd: 3887
    functionName: print_error
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - fprintf
    - sprintf
    linkageType: ''
    returnType: void
    signature: void print_error (int err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnupg/scd/ccid-driver.c:3895,1
    - Dst: fputs
      Src: /src/gnupg/scd/ccid-driver.c:3901,1
    - Dst: fprintf
      Src: /src/gnupg/scd/ccid-driver.c:3903,1
    - Dst: putc
      Src: /src/gnupg/scd/ccid-driver.c:3904,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3906
      start: 3890
    functionDepth: 0
    functionLinenumber: 3890
    functionLinenumberEnd: 3906
    functionName: print_data
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 0
    functionsReached:
    - fprintf
    - putc
    - fputs
    linkageType: ''
    returnType: void
    signature: void print_data (const unsigned char *data, size_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: print_error
      Src: /src/gnupg/scd/ccid-driver.c:3912,1
    - Dst: print_data
      Src: /src/gnupg/scd/ccid-driver.c:3914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - rc
    - data
    - length
    argTypes:
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3915
      start: 3908
    functionDepth: 1
    functionLinenumber: 3908
    functionLinenumberEnd: 3915
    functionName: print_result
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 2
    functionsReached:
    - print_error
    - print_data
    linkageType: ''
    returnType: void
    signature: void print_result (int rc, const unsigned char *data, size_t length)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnupg/scd/ccid-driver.c:3940,1
    - Dst: ccid_get_reader_list
      Src: /src/gnupg/scd/ccid-driver.c:3943,1
    - Dst: fputs
      Src: /src/gnupg/scd/ccid-driver.c:3946,1
    - Dst: free
      Src: /src/gnupg/scd/ccid-driver.c:3947,1
    - Dst: strcmp
      Src: /src/gnupg/scd/ccid-driver.c:3950,1
    - Dst: ccid_set_debug_level
      Src: /src/gnupg/scd/ccid-driver.c:3952,1
    - Dst: ccid_set_debug_level
      Src: /src/gnupg/scd/ccid-driver.c:3952,1
    - Dst: strcmp
      Src: /src/gnupg/scd/ccid-driver.c:3955,1
    - Dst: strcmp
      Src: /src/gnupg/scd/ccid-driver.c:3960,1
    - Dst: strcmp
      Src: /src/gnupg/scd/ccid-driver.c:3965,1
    - Dst: ccid_dev_scan
      Src: /src/gnupg/scd/ccid-driver.c:3974,1
    - Dst: ccid_open_reader
      Src: /src/gnupg/scd/ccid-driver.c:3981,1
    - Dst: ccid_dev_scan_finish
      Src: /src/gnupg/scd/ccid-driver.c:3985,1
    - Dst: ccid_poll
      Src: /src/gnupg/scd/ccid-driver.c:3988,1
    - Dst: fputs
      Src: /src/gnupg/scd/ccid-driver.c:3989,1
    - Dst: ccid_get_atr
      Src: /src/gnupg/scd/ccid-driver.c:3990,1
    - Dst: print_error
      Src: /src/gnupg/scd/ccid-driver.c:3993,1
    - Dst: ccid_poll
      Src: /src/gnupg/scd/ccid-driver.c:3998,1
    - Dst: fputs
      Src: /src/gnupg/scd/ccid-driver.c:3999,1
    - Dst: ccid_slot_status
      Src: /src/gnupg/scd/ccid-driver.c:4000,1
    - Dst: print_error
      Src: /src/gnupg/scd/ccid-driver.c:4003,1
    - Dst: ccid_poll
      Src: /src/gnupg/scd/ccid-driver.c:4008,1
    - Dst: fputs
      Src: /src/gnupg/scd/ccid-driver.c:4010,1
    - Dst: ccid_transceive
      Src: /src/gnupg/scd/ccid-driver.c:4014,1
    - Dst: print_result
      Src: /src/gnupg/scd/ccid-driver.c:4017,1
    - Dst: ccid_poll
      Src: /src/gnupg/scd/ccid-driver.c:4022,1
    - Dst: fputs
      Src: /src/gnupg/scd/ccid-driver.c:4024,1
    - Dst: ccid_transceive
      Src: /src/gnupg/scd/ccid-driver.c:4027,1
    - Dst: print_result
      Src: /src/gnupg/scd/ccid-driver.c:4029,1
    - Dst: ccid_transceive_secure
      Src: /src/gnupg/scd/ccid-driver.c:4041,1
    - Dst: fputs
      Src: /src/gnupg/scd/ccid-driver.c:4043,1
    - Dst: fputs
      Src: /src/gnupg/scd/ccid-driver.c:4046,1
    - Dst: ccid_transceive_secure
      Src: /src/gnupg/scd/ccid-driver.c:4048,1
    - Dst: print_result
      Src: /src/gnupg/scd/ccid-driver.c:4050,1
    - Dst: fputs
      Src: /src/gnupg/scd/ccid-driver.c:4057,1
    - Dst: ccid_transceive
      Src: /src/gnupg/scd/ccid-driver.c:4061,1
    - Dst: print_result
      Src: /src/gnupg/scd/ccid-driver.c:4063,1
    - Dst: fputs
      Src: /src/gnupg/scd/ccid-driver.c:4069,1
    - Dst: ccid_transceive
      Src: /src/gnupg/scd/ccid-driver.c:4072,1
    - Dst: print_result
      Src: /src/gnupg/scd/ccid-driver.c:4074,1
    - Dst: ccid_close_reader
      Src: /src/gnupg/scd/ccid-driver.c:4078,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 98
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4081
      start: 3917
    functionDepth: 6
    functionLinenumber: 3917
    functionLinenumberEnd: 4081
    functionName: main
    functionSourceFile: /src/gnupg/scd/ccid-driver.c
    functionUses: 11
    functionsReached:
    - ccid_slot_status
    - ccid_get_reader_list
    - ccid_dev_scan
    - ccid_poll
    - strcmp
    - ccid_transceive_secure
    - print_error
    - fputs
    - ccid_set_debug_level
    - ccid_dev_scan_finish
    - ccid_open_reader
    - print_result
    - ccid_get_atr
    - ccid_transceive
    - ccid_close_reader
    - free
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/npth/tests/t-cond.c:32,1
    - Dst: DIM
      Src: /src/npth/tests/t-cond.c:32,1
    - Dst: info_msg
      Src: /src/npth/tests/t-cond.c:33,1
    - Dst: npth_mutex_lock
      Src: /src/npth/tests/t-cond.c:35,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:36,1
    - Dst: snprintf
      Src: /src/npth/tests/t-cond.c:40,1
    - Dst: DIM
      Src: /src/npth/tests/t-cond.c:40,1
    - Dst: info_msg
      Src: /src/npth/tests/t-cond.c:41,1
    - Dst: npth_cond_wait
      Src: /src/npth/tests/t-cond.c:43,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:44,1
    - Dst: npth_mutex_unlock
      Src: /src/npth/tests/t-cond.c:49,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:50,1
    - Dst: fail_msg
      Src: /src/npth/tests/t-cond.c:54,1
    - Dst: npth_mutex_lock
      Src: /src/npth/tests/t-cond.c:56,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:57,1
    - Dst: snprintf
      Src: /src/npth/tests/t-cond.c:60,1
    - Dst: DIM
      Src: /src/npth/tests/t-cond.c:60,1
    - Dst: info_msg
      Src: /src/npth/tests/t-cond.c:62,1
    - Dst: npth_cond_signal
      Src: /src/npth/tests/t-cond.c:63,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:64,1
    - Dst: npth_mutex_unlock
      Src: /src/npth/tests/t-cond.c:66,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:67,1
    - Dst: npth_usleep
      Src: /src/npth/tests/t-cond.c:69,1
    - Dst: npth_mutex_unlock
      Src: /src/npth/tests/t-cond.c:74,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:75,1
    - Dst: snprintf
      Src: /src/npth/tests/t-cond.c:77,1
    - Dst: DIM
      Src: /src/npth/tests/t-cond.c:77,1
    - Dst: info_msg
      Src: /src/npth/tests/t-cond.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 81
    functionName: fn_testing_cond_signal
    functionSourceFile: /src/npth/tests/t-cond.c
    functionUses: 0
    functionsReached:
    - npth_mutex_lock
    - npth_mutex_unlock
    - info_msg
    - snprintf
    - fail_if_err
    - DIM
    - fail_msg
    - npth_usleep
    - npth_cond_wait
    - npth_cond_signal
    linkageType: ''
    returnType: void
    signature: 'void *

      fn_testing_cond_signal (void *arg)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/npth/tests/t-cond.c:91,1
    - Dst: DIM
      Src: /src/npth/tests/t-cond.c:91,1
    - Dst: info_msg
      Src: /src/npth/tests/t-cond.c:92,1
    - Dst: npth_mutex_lock
      Src: /src/npth/tests/t-cond.c:94,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:95,1
    - Dst: snprintf
      Src: /src/npth/tests/t-cond.c:99,1
    - Dst: DIM
      Src: /src/npth/tests/t-cond.c:99,1
    - Dst: info_msg
      Src: /src/npth/tests/t-cond.c:100,1
    - Dst: npth_cond_wait
      Src: /src/npth/tests/t-cond.c:102,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:103,1
    - Dst: snprintf
      Src: /src/npth/tests/t-cond.c:108,1
    - Dst: DIM
      Src: /src/npth/tests/t-cond.c:108,1
    - Dst: info_msg
      Src: /src/npth/tests/t-cond.c:110,1
    - Dst: npth_cond_broadcast
      Src: /src/npth/tests/t-cond.c:111,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:112,1
    - Dst: npth_mutex_unlock
      Src: /src/npth/tests/t-cond.c:115,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:116,1
    - Dst: snprintf
      Src: /src/npth/tests/t-cond.c:118,1
    - Dst: DIM
      Src: /src/npth/tests/t-cond.c:118,1
    - Dst: info_msg
      Src: /src/npth/tests/t-cond.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 122
    functionName: fn_testing_cond_broadcast
    functionSourceFile: /src/npth/tests/t-cond.c
    functionUses: 0
    functionsReached:
    - npth_mutex_lock
    - npth_mutex_unlock
    - info_msg
    - snprintf
    - fail_if_err
    - DIM
    - npth_cond_broadcast
    - npth_cond_wait
    linkageType: ''
    returnType: void
    signature: 'void *

      fn_testing_cond_broadcast (void *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info_msg
      Src: /src/npth/tests/t-cond.c:134,1
    - Dst: npth_create
      Src: /src/npth/tests/t-cond.c:138,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:139,1
    - Dst: npth_join
      Src: /src/npth/tests/t-cond.c:144,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:145,1
    - Dst: info_msg
      Src: /src/npth/tests/t-cond.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - tattr
    - (*func)(void *arg)
    argTypes:
    - npth_attr_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 148
    functionName: run_test_with_fn
    functionSourceFile: /src/npth/tests/t-cond.c
    functionUses: 0
    functionsReached:
    - info_msg
    - fail_if_err
    - npth_create
    - npth_join
    linkageType: ''
    returnType: void
    signature: void run_test_with_fn (npth_attr_t tattr, void * (*func)(void *arg))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/npth/tests/t-cond.c:157,1
    - Dst: npth_init
      Src: /src/npth/tests/t-cond.c:160,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:161,1
    - Dst: npth_mutex_init
      Src: /src/npth/tests/t-cond.c:163,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:164,1
    - Dst: info_msg
      Src: /src/npth/tests/t-cond.c:165,1
    - Dst: npth_cond_init
      Src: /src/npth/tests/t-cond.c:167,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:168,1
    - Dst: info_msg
      Src: /src/npth/tests/t-cond.c:169,1
    - Dst: npth_attr_init
      Src: /src/npth/tests/t-cond.c:171,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:172,1
    - Dst: npth_attr_setdetachstate
      Src: /src/npth/tests/t-cond.c:173,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:174,1
    - Dst: run_test_with_fn
      Src: /src/npth/tests/t-cond.c:176,1
    - Dst: run_test_with_fn
      Src: /src/npth/tests/t-cond.c:177,1
    - Dst: npth_attr_destroy
      Src: /src/npth/tests/t-cond.c:179,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:180,1
    - Dst: npth_mutex_destroy
      Src: /src/npth/tests/t-cond.c:182,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:183,1
    - Dst: info_msg
      Src: /src/npth/tests/t-cond.c:184,1
    - Dst: npth_cond_destroy
      Src: /src/npth/tests/t-cond.c:186,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-cond.c:187,1
    - Dst: info_msg
      Src: /src/npth/tests/t-cond.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 191
    functionName: main
    functionSourceFile: /src/npth/tests/t-cond.c
    functionUses: 11
    functionsReached:
    - npth_cond_init
    - info_msg
    - npth_mutex_init
    - fail_if_err
    - npth_attr_init
    - npth_attr_destroy
    - npth_init
    - npth_attr_setdetachstate
    - strcmp
    - run_test_with_fn
    - npth_mutex_destroy
    - npth_cond_destroy
    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: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: DIM
    functionSourceFile: /src/npth/tests/t-support.h
    functionUses: 286
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: fail_if_err
    functionSourceFile: /src/npth/tests/t-support.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail_if_err(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - text
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: fail_msg
    functionSourceFile: /src/npth/tests/t-support.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail_msg(text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - text
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: info_msg
    functionSourceFile: /src/npth/tests/t-support.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: info_msg(text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/npth/tests/t-mutex.c:22,1
    - Dst: npth_init
      Src: /src/npth/tests/t-mutex.c:25,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-mutex.c:26,1
    - Dst: npth_mutex_init
      Src: /src/npth/tests/t-mutex.c:28,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-mutex.c:29,1
    - Dst: info_msg
      Src: /src/npth/tests/t-mutex.c:30,1
    - Dst: npth_mutex_lock
      Src: /src/npth/tests/t-mutex.c:31,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-mutex.c:32,1
    - Dst: info_msg
      Src: /src/npth/tests/t-mutex.c:33,1
    - Dst: npth_mutex_unlock
      Src: /src/npth/tests/t-mutex.c:34,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-mutex.c:35,1
    - Dst: info_msg
      Src: /src/npth/tests/t-mutex.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/npth/tests/t-mutex.c
    functionUses: 11
    functionsReached:
    - npth_mutex_lock
    - npth_mutex_unlock
    - info_msg
    - npth_mutex_init
    - fail_if_err
    - npth_init
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/npth/tests/t-fork.c:35,1
    - Dst: npth_init
      Src: /src/npth/tests/t-fork.c:38,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-fork.c:39,1
    - Dst: fork
      Src: /src/npth/tests/t-fork.c:41,1
    - Dst: fail_msg
      Src: /src/npth/tests/t-fork.c:43,1
    - Dst: info_msg
      Src: /src/npth/tests/t-fork.c:48,1
    - Dst: wait
      Src: /src/npth/tests/t-fork.c:49,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-fork.c:50,1
    - Dst: info_msg
      Src: /src/npth/tests/t-fork.c:54,1
    - Dst: npth_usleep
      Src: /src/npth/tests/t-fork.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/npth/tests/t-fork.c
    functionUses: 11
    functionsReached:
    - fail_msg
    - info_msg
    - fail_if_err
    - npth_init
    - strcmp
    - npth_usleep
    - wait
    - fork
    linkageType: ''
    returnType: int
    signature: int main (int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info_msg
      Src: /src/npth/tests/t-thread.c:25,1
    - Dst: npth_usleep
      Src: /src/npth/tests/t-thread.c:26,1
    - Dst: npth_mutex_lock
      Src: /src/npth/tests/t-thread.c:31,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-thread.c:32,1
    - Dst: npth_mutex_unlock
      Src: /src/npth/tests/t-thread.c:36,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-thread.c:37,1
    - Dst: info_msg
      Src: /src/npth/tests/t-thread.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 42
    functionName: thread_one
    functionSourceFile: /src/npth/tests/t-thread.c
    functionUses: 0
    functionsReached:
    - npth_mutex_lock
    - npth_mutex_unlock
    - info_msg
    - fail_if_err
    - npth_usleep
    linkageType: ''
    returnType: void
    signature: 'void *

      thread_one (void *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: npth_setname_np
      Src: /src/npth/tests/t-thread.c:50,1
    - Dst: npth_self
      Src: /src/npth/tests/t-thread.c:50,1
    - Dst: info_msg
      Src: /src/npth/tests/t-thread.c:51,1
    - Dst: npth_detach
      Src: /src/npth/tests/t-thread.c:53,1
    - Dst: npth_self
      Src: /src/npth/tests/t-thread.c:53,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-thread.c:54,1
    - Dst: npth_usleep
      Src: /src/npth/tests/t-thread.c:58,1
    - Dst: info_msg
      Src: /src/npth/tests/t-thread.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: thread_twoone
    functionSourceFile: /src/npth/tests/t-thread.c
    functionUses: 0
    functionsReached:
    - npth_detach
    - info_msg
    - fail_if_err
    - npth_setname_np
    - npth_usleep
    - npth_self
    linkageType: ''
    returnType: void
    signature: 'void *

      thread_twoone (void *arg)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: info_msg
      Src: /src/npth/tests/t-thread.c:73,1
    - Dst: npth_mutex_lock
      Src: /src/npth/tests/t-thread.c:77,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-thread.c:78,1
    - Dst: info_msg
      Src: /src/npth/tests/t-thread.c:86,1
    - Dst: npth_create
      Src: /src/npth/tests/t-thread.c:87,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-thread.c:88,1
    - Dst: npth_usleep
      Src: /src/npth/tests/t-thread.c:89,1
    - Dst: npth_mutex_unlock
      Src: /src/npth/tests/t-thread.c:92,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-thread.c:93,1
    - Dst: info_msg
      Src: /src/npth/tests/t-thread.c:96,1
    - Dst: npth_sleep
      Src: /src/npth/tests/t-thread.c:98,1
    - Dst: info_msg
      Src: /src/npth/tests/t-thread.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 103
    functionName: thread_two
    functionSourceFile: /src/npth/tests/t-thread.c
    functionUses: 0
    functionsReached:
    - npth_mutex_lock
    - npth_mutex_unlock
    - info_msg
    - npth_create
    - fail_if_err
    - npth_usleep
    - npth_sleep
    linkageType: ''
    returnType: void
    signature: 'void *

      thread_two (void *arg)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/npth/tests/t-thread.c:118,1
    - Dst: npth_init
      Src: /src/npth/tests/t-thread.c:121,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-thread.c:122,1
    - Dst: npth_mutex_init
      Src: /src/npth/tests/t-thread.c:124,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-thread.c:125,1
    - Dst: npth_attr_init
      Src: /src/npth/tests/t-thread.c:127,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-thread.c:128,1
    - Dst: npth_attr_getdetachstate
      Src: /src/npth/tests/t-thread.c:129,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-thread.c:130,1
    - Dst: fail_msg
      Src: /src/npth/tests/t-thread.c:132,1
    - Dst: info_msg
      Src: /src/npth/tests/t-thread.c:134,1
    - Dst: npth_create
      Src: /src/npth/tests/t-thread.c:135,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-thread.c:136,1
    - Dst: npth_setname_np
      Src: /src/npth/tests/t-thread.c:137,1
    - Dst: info_msg
      Src: /src/npth/tests/t-thread.c:139,1
    - Dst: npth_create
      Src: /src/npth/tests/t-thread.c:140,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-thread.c:141,1
    - Dst: npth_setname_np
      Src: /src/npth/tests/t-thread.c:142,1
    - Dst: npth_attr_destroy
      Src: /src/npth/tests/t-thread.c:144,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-thread.c:145,1
    - Dst: info_msg
      Src: /src/npth/tests/t-thread.c:147,1
    - Dst: npth_join
      Src: /src/npth/tests/t-thread.c:148,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-thread.c:149,1
    - Dst: fail_msg
      Src: /src/npth/tests/t-thread.c:151,1
    - Dst: info_msg
      Src: /src/npth/tests/t-thread.c:153,1
    - Dst: npth_join
      Src: /src/npth/tests/t-thread.c:154,1
    - Dst: fail_if_err
      Src: /src/npth/tests/t-thread.c:155,1
    - Dst: fail_msg
      Src: /src/npth/tests/t-thread.c:157,1
    - Dst: fail_msg
      Src: /src/npth/tests/t-thread.c:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 163
    functionName: main
    functionSourceFile: /src/npth/tests/t-thread.c
    functionUses: 11
    functionsReached:
    - npth_attr_getdetachstate
    - npth_attr_init
    - npth_mutex_init
    - fail_if_err
    - fail_msg
    - info_msg
    - npth_create
    - npth_init
    - npth_attr_destroy
    - strcmp
    - npth_setname_np
    - npth_join
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: _npth_debug
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _npth_debug(x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - winerr
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: map_error
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int map_error (int winerr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/npth/w32/npth.c:89,1
    - Dst: map_error
      Src: /src/npth/w32/npth.c:96,1
    - Dst: GetLastError
      Src: /src/npth/w32/npth.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - msecs
    argTypes:
    - HANDLE
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: wait_for_single_object
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - map_error
    - GetLastError
    - WaitForSingleObject
    linkageType: ''
    returnType: int
    signature: int wait_for_single_object (HANDLE obj, DWORD msecs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTimeAsFileTime
      Src: /src/npth/w32/npth.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - tp
    argTypes:
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: npth_clock_gettime
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 7
    functionsReached:
    - GetSystemTimeAsFileTime
    linkageType: ''
    returnType: int
    signature: int npth_clock_gettime(struct timespec *tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_clock_gettime
      Src: /src/npth/w32/npth.c:128,1
    - Dst: npth_timercmp
      Src: /src/npth/w32/npth.c:130,1
    - Dst: npth_timersub
      Src: /src/npth/w32/npth.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - abstime
    - msecs_r
    argTypes:
    - struct timespec*
    - DWORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 146
    functionName: calculate_timeout
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - npth_timersub
    - npth_timercmp
    - npth_clock_gettime
    linkageType: ''
    returnType: int
    signature: int calculate_timeout (const struct timespec *abstime, DWORD *msecs_r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _npth_debug
      Src: /src/npth/w32/npth.c:153,1
    - Dst: npth_self
      Src: /src/npth/w32/npth.c:154,1
    - Dst: LeaveCriticalSection
      Src: /src/npth/w32/npth.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - function
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: enter_npth
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - LeaveCriticalSection
    - _npth_debug
    - npth_self
    linkageType: ''
    returnType: void
    signature: void enter_npth (const char *function)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/npth/w32/npth.c:163,1
    - Dst: _npth_debug
      Src: /src/npth/w32/npth.c:167,1
    - Dst: npth_self
      Src: /src/npth/w32/npth.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - function
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: leave_npth
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - _npth_debug
    - EnterCriticalSection
    - npth_self
    linkageType: ''
    returnType: void
    signature: void leave_npth (const char *function)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: ENTER
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENTER()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: LEAVE
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEAVE()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct dl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 229
    functionName: dequeue_thread
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dequeue_thread (struct dl *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - l
    - head
    argTypes:
    - struct dl*
    - struct dl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: enqueue_thread
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enqueue_thread (struct dl *l, struct dl *head)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - thread_id
    - thread
    argTypes:
    - npth_t
    - npth_impl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 255
    functionName: find_thread
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_thread (npth_t thread_id, npth_impl_t *thread)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/npth/w32/npth.c:271,1
    - Dst: memset
      Src: /src/npth/w32/npth.c:285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - thread_id
    argTypes:
    - npth_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 291
    functionName: new_thread
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - memset
    - malloc
    linkageType: ''
    returnType: int
    signature: int new_thread (npth_t *thread_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/npth/w32/npth.c:300,1
    - Dst: CloseHandle
      Src: /src/npth/w32/npth.c:303,1
    - Dst: dequeue_thread
      Src: /src/npth/w32/npth.c:306,1
    - Dst: free
      Src: /src/npth/w32/npth.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - thread_id
    argTypes:
    - npth_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: free_thread
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - dequeue_thread
    - free
    linkageType: ''
    returnType: void
    signature: void free_thread (npth_t thread_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_thread
      Src: /src/npth/w32/npth.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - thread_id
    argTypes:
    - npth_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: deref_thread
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - free_thread
    linkageType: ''
    returnType: void
    signature: void deref_thread (npth_t thread_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/npth/w32/npth.c:335,1
    - Dst: TlsAlloc
      Src: /src/npth/w32/npth.c:341,1
    - Dst: map_error
      Src: /src/npth/w32/npth.c:343,1
    - Dst: GetLastError
      Src: /src/npth/w32/npth.c:343,1
    - Dst: new_thread
      Src: /src/npth/w32/npth.c:345,1
    - Dst: DuplicateHandle
      Src: /src/npth/w32/npth.c:351,1
    - Dst: GetCurrentProcess
      Src: /src/npth/w32/npth.c:351,1
    - Dst: GetCurrentThread
      Src: /src/npth/w32/npth.c:351,1
    - Dst: GetCurrentProcess
      Src: /src/npth/w32/npth.c:352,1
    - Dst: free_thread
      Src: /src/npth/w32/npth.c:356,1
    - Dst: map_error
      Src: /src/npth/w32/npth.c:357,1
    - Dst: GetLastError
      Src: /src/npth/w32/npth.c:357,1
    - Dst: TlsSetValue
      Src: /src/npth/w32/npth.c:363,1
    - Dst: map_error
      Src: /src/npth/w32/npth.c:364,1
    - Dst: GetLastError
      Src: /src/npth/w32/npth.c:364,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 368
    functionName: npth_init
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 12
    functionsReached:
    - map_error
    - LEAVE
    - GetCurrentThread
    - InitializeCriticalSection
    - DuplicateHandle
    - free_thread
    - new_thread
    - TlsSetValue
    - GetLastError
    - GetCurrentProcess
    - TlsAlloc
    linkageType: ''
    returnType: int
    signature: int npth_init (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/npth/w32/npth.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - attr_r
    argTypes:
    - npth_attr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 389
    functionName: npth_attr_init
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 22
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: int npth_attr_init (npth_attr_t *attr_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/npth/w32/npth.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - npth_attr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: npth_attr_destroy
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 22
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int npth_attr_destroy (npth_attr_t *attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attr
    - detachstate
    argTypes:
    - npth_attr_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 407
    functionName: npth_attr_getdetachstate
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int npth_attr_getdetachstate (npth_attr_t *attr,\n\t\t\t  int *detachstate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - attr
    - detachstate
    argTypes:
    - npth_attr_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 419
    functionName: npth_attr_setdetachstate
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int npth_attr_setdetachstate (npth_attr_t *attr, int detachstate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_thread
      Src: /src/npth/w32/npth.c:431,1
    - Dst: strcpy
      Src: /src/npth/w32/npth.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - target_thread
    - buf
    - buflen
    argTypes:
    - npth_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 437
    functionName: npth_getname_np
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - strcpy
    - find_thread
    linkageType: ''
    returnType: int
    signature: int npth_getname_np (npth_t target_thread, char *buf, size_t buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/npth/w32/npth.c:446,1
    - Dst: find_thread
      Src: /src/npth/w32/npth.c:449,1
    - Dst: strcpy
      Src: /src/npth/w32/npth.c:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - target_thread
    - name
    argTypes:
    - npth_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 455
    functionName: npth_setname_np
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 14
    functionsReached:
    - strcpy
    - find_thread
    - strlen
    linkageType: ''
    returnType: int
    signature: int npth_setname_np (npth_t target_thread, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TlsSetValue
      Src: /src/npth/w32/npth.c:465,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:469,1
    - Dst: npth_impl_t::start_routine
      Src: /src/npth/w32/npth.c:474,1
    - Dst: deref_thread
      Src: /src/npth/w32/npth.c:480,1
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 458
    functionDepth: 3
    functionLinenumber: 458
    functionLinenumberEnd: 486
    functionName: thread_start
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - LEAVE
    - deref_thread
    - ENTER
    - TlsSetValue
    - npth_impl_t::start_routine
    linkageType: ''
    returnType: DWORD
    signature: DWORD thread_start (void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: new_thread
      Src: /src/npth/w32/npth.c:501,1
    - Dst: CreateThread
      Src: /src/npth/w32/npth.c:514,1
    - Dst: map_error
      Src: /src/npth/w32/npth.c:520,1
    - Dst: GetLastError
      Src: /src/npth/w32/npth.c:520,1
    - Dst: ResumeThread
      Src: /src/npth/w32/npth.c:527,1
    - Dst: free_thread
      Src: /src/npth/w32/npth.c:533,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - newthread
    - user_attr
    - (*start_routine) (void *)
    - start_arg
    argTypes:
    - npth_t*
    - npth_attr_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 536
    functionName: npth_create
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 23
    functionsReached:
    - map_error
    - CreateThread
    - ResumeThread
    - free_thread
    - new_thread
    - GetLastError
    linkageType: ''
    returnType: int
    signature: "int npth_create (npth_t *newthread, const npth_attr_t *user_attr,\n\t
      \    void *(*start_routine) (void *), void *start_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TlsGetValue
      Src: /src/npth/w32/npth.c:544,1
    - Dst: GetLastError
      Src: /src/npth/w32/npth.c:545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 549
    functionName: npth_self
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 18
    functionsReached:
    - GetLastError
    - TlsGetValue
    linkageType: ''
    returnType: npth_t
    signature: npth_t npth_self (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find_thread
      Src: /src/npth/w32/npth.c:559,1
    - Dst: wait_for_single_object
      Src: /src/npth/w32/npth.c:568,1
    - Dst: deref_thread
      Src: /src/npth/w32/npth.c:577,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - thread_id
    - thread_return
    argTypes:
    - npth_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 580
    functionName: npth_tryjoin_np
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - deref_thread
    - wait_for_single_object
    - find_thread
    linkageType: ''
    returnType: int
    signature: int npth_tryjoin_np (npth_t thread_id, void **thread_return)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: npth_tryjoin_np
      Src: /src/npth/w32/npth.c:591,1
    - Dst: find_thread
      Src: /src/npth/w32/npth.c:595,1
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:602,1
    - Dst: wait_for_single_object
      Src: /src/npth/w32/npth.c:603,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:604,1
    - Dst: deref_thread
      Src: /src/npth/w32/npth.c:611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - thread_id
    - thread_return
    argTypes:
    - npth_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 583
    functionDepth: 4
    functionLinenumber: 583
    functionLinenumberEnd: 614
    functionName: npth_join
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 10
    functionsReached:
    - LEAVE
    - npth_tryjoin_np
    - deref_thread
    - ENTER
    - wait_for_single_object
    - find_thread
    linkageType: ''
    returnType: int
    signature: int npth_join (npth_t thread_id, void **thread_return)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_thread
      Src: /src/npth/w32/npth.c:623,1
    - Dst: deref_thread
      Src: /src/npth/w32/npth.c:633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - thread_id
    argTypes:
    - npth_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 617
    functionDepth: 3
    functionLinenumber: 617
    functionLinenumberEnd: 636
    functionName: npth_detach
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 3
    functionsReached:
    - deref_thread
    - find_thread
    linkageType: ''
    returnType: int
    signature: int npth_detach (npth_t thread_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: npth_self
      Src: /src/npth/w32/npth.c:646,1
    - Dst: find_thread
      Src: /src/npth/w32/npth.c:647,1
    - Dst: deref_thread
      Src: /src/npth/w32/npth.c:654,1
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:656,1
    - Dst: ExitThread
      Src: /src/npth/w32/npth.c:659,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - retval
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 639
    functionDepth: 3
    functionLinenumber: 639
    functionLinenumberEnd: 663
    functionName: npth_exit
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - LEAVE
    - deref_thread
    - ENTER
    - npth_self
    - ExitThread
    - find_thread
    linkageType: ''
    returnType: void
    signature: void npth_exit (void *retval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TlsAlloc
      Src: /src/npth/w32/npth.c:676,1
    - Dst: map_error
      Src: /src/npth/w32/npth.c:678,1
    - Dst: GetLastError
      Src: /src/npth/w32/npth.c:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - npth_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 682
    functionName: npth_key_create
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 1
    functionsReached:
    - map_error
    - GetLastError
    - TlsAlloc
    linkageType: ''
    returnType: int
    signature: "int npth_key_create (npth_key_t *key,\n\t\t void (*destr_function)
      (void *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TlsFree
      Src: /src/npth/w32/npth.c:690,1
    - Dst: map_error
      Src: /src/npth/w32/npth.c:692,1
    - Dst: GetLastError
      Src: /src/npth/w32/npth.c:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - npth_key_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 694
    functionName: npth_key_delete
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - map_error
    - TlsFree
    - GetLastError
    linkageType: ''
    returnType: int
    signature: int npth_key_delete (npth_key_t key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TlsGetValue
      Src: /src/npth/w32/npth.c:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - npth_key_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 704
    functionName: npth_getspecific
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 1
    functionsReached:
    - TlsGetValue
    linkageType: ''
    returnType: void
    signature: 'void *

      npth_getspecific (npth_key_t key)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TlsSetValue
      Src: /src/npth/w32/npth.c:723,1
    - Dst: map_error
      Src: /src/npth/w32/npth.c:725,1
    - Dst: GetLastError
      Src: /src/npth/w32/npth.c:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - pointer
    argTypes:
    - npth_key_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 728
    functionName: npth_setspecific
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 2
    functionsReached:
    - map_error
    - GetLastError
    - TlsSetValue
    linkageType: ''
    returnType: int
    signature: int npth_setspecific (npth_key_t key, const void *pointer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/npth/w32/npth.c:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - attr_r
    argTypes:
    - npth_mutexattr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 749
    functionName: npth_mutexattr_init
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: int npth_mutexattr_init (npth_mutexattr_t *attr_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/npth/w32/npth.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - npth_mutexattr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 758
    functionName: npth_mutexattr_destroy
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int npth_mutexattr_destroy (npth_mutexattr_t *attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attr
    - kind
    argTypes:
    - npth_mutexattr_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 767
    functionName: npth_mutexattr_gettype
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int npth_mutexattr_gettype (const npth_mutexattr_t *attr,\n\t\t\tint
      *kind)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - attr
    - kind
    argTypes:
    - npth_mutexattr_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 779
    functionName: npth_mutexattr_settype
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int npth_mutexattr_settype (npth_mutexattr_t *attr, int kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/npth/w32/npth.c:796,1
    - Dst: CreateMutex
      Src: /src/npth/w32/npth.c:801,1
    - Dst: map_error
      Src: /src/npth/w32/npth.c:804,1
    - Dst: GetLastError
      Src: /src/npth/w32/npth.c:804,1
    - Dst: free
      Src: /src/npth/w32/npth.c:805,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - mutex_r
    - mutex_attr
    argTypes:
    - npth_mutex_t*
    - npth_mutexattr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 811
    functionName: npth_mutex_init
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 13
    functionsReached:
    - map_error
    - CreateMutex
    - malloc
    - GetLastError
    - free
    linkageType: ''
    returnType: int
    signature: int npth_mutex_init (npth_mutex_t *mutex_r, const npth_mutexattr_t
      *mutex_attr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/npth/w32/npth.c:823,1
    - Dst: map_error
      Src: /src/npth/w32/npth.c:825,1
    - Dst: GetLastError
      Src: /src/npth/w32/npth.c:825,1
    - Dst: free
      Src: /src/npth/w32/npth.c:827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - npth_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 831
    functionName: npth_mutex_destroy
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 4
    functionsReached:
    - map_error
    - GetLastError
    - CloseHandle
    - free
    linkageType: ''
    returnType: int
    signature: int npth_mutex_destroy (npth_mutex_t *mutex)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: npth_mutexattr_init
      Src: /src/npth/w32/npth.c:858,1
    - Dst: npth_mutexattr_settype
      Src: /src/npth/w32/npth.c:862,1
    - Dst: npth_mutexattr_destroy
      Src: /src/npth/w32/npth.c:865,1
    - Dst: npth_mutex_init
      Src: /src/npth/w32/npth.c:869,1
    - Dst: npth_mutexattr_destroy
      Src: /src/npth/w32/npth.c:870,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - npth_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 835
    functionDepth: 2
    functionLinenumber: 835
    functionLinenumberEnd: 873
    functionName: mutex_init_check
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - npth_mutex_init
    - npth_mutexattr_init
    - npth_mutexattr_destroy
    - npth_mutexattr_settype
    linkageType: ''
    returnType: int
    signature: int mutex_init_check (npth_mutex_t *mutex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mutex_init_check
      Src: /src/npth/w32/npth.c:882,1
    - Dst: npth_mutex_trylock
      Src: /src/npth/w32/npth.c:888,1
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:892,1
    - Dst: wait_for_single_object
      Src: /src/npth/w32/npth.c:893,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - npth_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 876
    functionDepth: 3
    functionLinenumber: 876
    functionLinenumberEnd: 900
    functionName: npth_mutex_lock
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 36
    functionsReached:
    - LEAVE
    - mutex_init_check
    - ENTER
    - npth_mutex_trylock
    - wait_for_single_object
    linkageType: ''
    returnType: int
    signature: int npth_mutex_lock (npth_mutex_t *mutex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mutex_init_check
      Src: /src/npth/w32/npth.c:909,1
    - Dst: wait_for_single_object
      Src: /src/npth/w32/npth.c:914,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - npth_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 903
    functionDepth: 3
    functionLinenumber: 903
    functionLinenumberEnd: 922
    functionName: npth_mutex_trylock
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 3
    functionsReached:
    - wait_for_single_object
    - mutex_init_check
    linkageType: ''
    returnType: int
    signature: int npth_mutex_trylock (npth_mutex_t *mutex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mutex_init_check
      Src: /src/npth/w32/npth.c:932,1
    - Dst: npth_mutex_trylock
      Src: /src/npth/w32/npth.c:938,1
    - Dst: calculate_timeout
      Src: /src/npth/w32/npth.c:942,1
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:946,1
    - Dst: wait_for_single_object
      Src: /src/npth/w32/npth.c:947,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:948,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - mutex
    - abstime
    argTypes:
    - npth_mutex_t*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 925
    functionDepth: 4
    functionLinenumber: 925
    functionLinenumberEnd: 954
    functionName: npth_mutex_timedlock
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 2
    functionsReached:
    - LEAVE
    - mutex_init_check
    - calculate_timeout
    - ENTER
    - npth_mutex_trylock
    - wait_for_single_object
    linkageType: ''
    returnType: int
    signature: int npth_mutex_timedlock (npth_mutex_t *mutex, const struct timespec
      *abstime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseMutex
      Src: /src/npth/w32/npth.c:966,1
    - Dst: map_error
      Src: /src/npth/w32/npth.c:968,1
    - Dst: GetLastError
      Src: /src/npth/w32/npth.c:968,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - npth_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 971
    functionName: npth_mutex_unlock
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 38
    functionsReached:
    - map_error
    - GetLastError
    - ReleaseMutex
    linkageType: ''
    returnType: int
    signature: int npth_mutex_unlock (npth_mutex_t *mutex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/npth/w32/npth.c:994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cond_r
    - cond_attr
    argTypes:
    - npth_cond_t*
    - npth_condattr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1002
    functionName: npth_cond_init
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 5
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: "int npth_cond_init (npth_cond_t *cond_r,\n\t\tconst npth_condattr_t
      *cond_attr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/npth/w32/npth.c:1014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cond
    argTypes:
    - npth_cond_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1018
    functionName: npth_cond_destroy
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 4
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int npth_cond_destroy (npth_cond_t *cond)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_cond_init
      Src: /src/npth/w32/npth.c:1037,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - cond
    argTypes:
    - npth_cond_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1040
    functionName: cond_init_check
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - npth_cond_init
    linkageType: ''
    returnType: int
    signature: int cond_init_check (npth_cond_t *cond)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cond_init_check
      Src: /src/npth/w32/npth.c:1052,1
    - Dst: dequeue_thread
      Src: /src/npth/w32/npth.c:1061,1
    - Dst: SetEvent
      Src: /src/npth/w32/npth.c:1064,1
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:1075,1
    - Dst: Sleep
      Src: /src/npth/w32/npth.c:1076,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:1077,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - cond
    argTypes:
    - npth_cond_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1043
    functionDepth: 2
    functionLinenumber: 1043
    functionLinenumberEnd: 1080
    functionName: npth_cond_signal
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 6
    functionsReached:
    - Sleep
    - LEAVE
    - SetEvent
    - ENTER
    - dequeue_thread
    - cond_init_check
    linkageType: ''
    returnType: int
    signature: int npth_cond_signal (npth_cond_t *cond)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cond_init_check
      Src: /src/npth/w32/npth.c:1092,1
    - Dst: dequeue_thread
      Src: /src/npth/w32/npth.c:1100,1
    - Dst: SetEvent
      Src: /src/npth/w32/npth.c:1103,1
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:1117,1
    - Dst: Sleep
      Src: /src/npth/w32/npth.c:1118,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:1119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - cond
    argTypes:
    - npth_cond_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1122
    functionName: npth_cond_broadcast
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 4
    functionsReached:
    - Sleep
    - LEAVE
    - SetEvent
    - ENTER
    - dequeue_thread
    - cond_init_check
    linkageType: ''
    returnType: int
    signature: int npth_cond_broadcast (npth_cond_t *cond)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cond_init_check
      Src: /src/npth/w32/npth.c:1140,1
    - Dst: find_thread
      Src: /src/npth/w32/npth.c:1144,1
    - Dst: npth_self
      Src: /src/npth/w32/npth.c:1144,1
    - Dst: CreateEvent
      Src: /src/npth/w32/npth.c:1151,1
    - Dst: map_error
      Src: /src/npth/w32/npth.c:1153,1
    - Dst: GetLastError
      Src: /src/npth/w32/npth.c:1153,1
    - Dst: enqueue_thread
      Src: /src/npth/w32/npth.c:1156,1
    - Dst: ResetEvent
      Src: /src/npth/w32/npth.c:1159,1
    - Dst: npth_mutex_unlock
      Src: /src/npth/w32/npth.c:1166,1
    - Dst: dequeue_thread
      Src: /src/npth/w32/npth.c:1169,1
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:1174,1
    - Dst: wait_for_single_object
      Src: /src/npth/w32/npth.c:1175,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:1176,1
    - Dst: dequeue_thread
      Src: /src/npth/w32/npth.c:1179,1
    - Dst: npth_mutex_lock
      Src: /src/npth/w32/npth.c:1183,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - npth_cond_t*
    - npth_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1193
    functionName: npth_cond_wait
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 9
    functionsReached:
    - map_error
    - LEAVE
    - npth_mutex_unlock
    - npth_mutex_lock
    - ENTER
    - CreateEvent
    - wait_for_single_object
    - dequeue_thread
    - enqueue_thread
    - cond_init_check
    - ResetEvent
    - GetLastError
    - find_thread
    - npth_self
    linkageType: ''
    returnType: int
    signature: int npth_cond_wait (npth_cond_t *cond, npth_mutex_t *mutex)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: calculate_timeout
      Src: /src/npth/w32/npth.c:1206,1
    - Dst: npth_mutex_unlock
      Src: /src/npth/w32/npth.c:1214,1
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:1217,1
    - Dst: Sleep
      Src: /src/npth/w32/npth.c:1218,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:1219,1
    - Dst: npth_mutex_lock
      Src: /src/npth/w32/npth.c:1220,1
    - Dst: cond_init_check
      Src: /src/npth/w32/npth.c:1227,1
    - Dst: find_thread
      Src: /src/npth/w32/npth.c:1231,1
    - Dst: npth_self
      Src: /src/npth/w32/npth.c:1231,1
    - Dst: CreateEvent
      Src: /src/npth/w32/npth.c:1238,1
    - Dst: map_error
      Src: /src/npth/w32/npth.c:1240,1
    - Dst: GetLastError
      Src: /src/npth/w32/npth.c:1240,1
    - Dst: ResetEvent
      Src: /src/npth/w32/npth.c:1244,1
    - Dst: enqueue_thread
      Src: /src/npth/w32/npth.c:1249,1
    - Dst: npth_mutex_unlock
      Src: /src/npth/w32/npth.c:1251,1
    - Dst: dequeue_thread
      Src: /src/npth/w32/npth.c:1254,1
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:1258,1
    - Dst: wait_for_single_object
      Src: /src/npth/w32/npth.c:1259,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:1260,1
    - Dst: npth_mutex_lock
      Src: /src/npth/w32/npth.c:1262,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstime
    argTypes:
    - npth_cond_t*
    - npth_mutex_t*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1196
    functionDepth: 2
    functionLinenumber: 1196
    functionLinenumberEnd: 1271
    functionName: npth_cond_timedwait
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - Sleep
    - LEAVE
    - map_error
    - npth_mutex_unlock
    - npth_mutex_lock
    - calculate_timeout
    - ENTER
    - CreateEvent
    - wait_for_single_object
    - dequeue_thread
    - enqueue_thread
    - npth_self
    - cond_init_check
    - ResetEvent
    - GetLastError
    - find_thread
    linkageType: ''
    returnType: int
    signature: "int npth_cond_timedwait (npth_cond_t *cond, npth_mutex_t *mutex,\n\t\t
      \    const struct timespec *abstime)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/npth/w32/npth.c:1285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - attr_r
    argTypes:
    - npth_rwlockattr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1292
    functionName: npth_rwlockattr_init
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: int npth_rwlockattr_init (npth_rwlockattr_t *attr_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/npth/w32/npth.c:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - npth_rwlockattr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1301
    functionName: npth_rwlockattr_destroy
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int npth_rwlockattr_destroy (npth_rwlockattr_t *attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attr
    - kind
    argTypes:
    - npth_rwlockattr_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1310
    functionName: npth_rwlockattr_gettype_np
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int npth_rwlockattr_gettype_np (const npth_rwlockattr_t *attr,\n\t\t\t
      \   int *kind)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - attr
    - kind
    argTypes:
    - npth_rwlockattr_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1323
    functionName: npth_rwlockattr_settype_np
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int npth_rwlockattr_settype_np (npth_rwlockattr_t *attr, int kind)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/npth/w32/npth.c:1367,1
    - Dst: npth_cond_init
      Src: /src/npth/w32/npth.c:1376,1
    - Dst: free
      Src: /src/npth/w32/npth.c:1379,1
    - Dst: npth_cond_init
      Src: /src/npth/w32/npth.c:1383,1
    - Dst: npth_cond_destroy
      Src: /src/npth/w32/npth.c:1386,1
    - Dst: free
      Src: /src/npth/w32/npth.c:1387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - rwlock_r
    - user_attr
    argTypes:
    - npth_rwlock_t*
    - npth_rwlockattr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1359
    functionDepth: 1
    functionLinenumber: 1359
    functionLinenumberEnd: 1400
    functionName: npth_rwlock_init
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 1
    functionsReached:
    - npth_cond_destroy
    - npth_cond_init
    - malloc
    - free
    linkageType: ''
    returnType: int
    signature: "int npth_rwlock_init (npth_rwlock_t *rwlock_r,\n\t\t  const npth_rwlockattr_t
      *user_attr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: npth_rwlockattr_init
      Src: /src/npth/w32/npth.c:1426,1
    - Dst: npth_rwlockattr_settype_np
      Src: /src/npth/w32/npth.c:1430,1
    - Dst: npth_rwlockattr_destroy
      Src: /src/npth/w32/npth.c:1433,1
    - Dst: npth_rwlock_init
      Src: /src/npth/w32/npth.c:1437,1
    - Dst: npth_rwlockattr_destroy
      Src: /src/npth/w32/npth.c:1438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - npth_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1441
    functionName: rwlock_init_check
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - npth_rwlockattr_destroy
    - npth_rwlockattr_init
    - npth_rwlock_init
    - npth_rwlockattr_settype_np
    linkageType: ''
    returnType: int
    signature: int rwlock_init_check (npth_rwlock_t *rwlock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: npth_cond_destroy
      Src: /src/npth/w32/npth.c:1456,1
    - Dst: npth_cond_destroy
      Src: /src/npth/w32/npth.c:1461,1
    - Dst: free
      Src: /src/npth/w32/npth.c:1466,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - npth_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1470
    functionName: npth_rwlock_destroy
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - npth_cond_destroy
    - free
    linkageType: ''
    returnType: int
    signature: int npth_rwlock_destroy (npth_rwlock_t *rwlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - npth_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1484
    functionName: npth_rwlock_tryrdlock
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int npth_rwlock_tryrdlock (npth_rwlock_t *rwlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_rwlock_tryrdlock
      Src: /src/npth/w32/npth.c:1495,1
    - Dst: npth_cond_wait
      Src: /src/npth/w32/npth.c:1500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - npth_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1487
    functionDepth: 1
    functionLinenumber: 1487
    functionLinenumberEnd: 1505
    functionName: npth_rwlock_rdlock
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 1
    functionsReached:
    - npth_cond_wait
    - npth_rwlock_tryrdlock
    linkageType: ''
    returnType: int
    signature: int npth_rwlock_rdlock (npth_rwlock_t *rwlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_rwlock_tryrdlock
      Src: /src/npth/w32/npth.c:1516,1
    - Dst: npth_cond_timedwait
      Src: /src/npth/w32/npth.c:1521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - rwlock
    - abstime
    argTypes:
    - npth_rwlock_t*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1507
    functionDepth: 1
    functionLinenumber: 1507
    functionLinenumberEnd: 1526
    functionName: npth_rwlock_timedrdlock
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - npth_cond_timedwait
    - npth_rwlock_tryrdlock
    linkageType: ''
    returnType: int
    signature: "int npth_rwlock_timedrdlock (npth_rwlock_t *rwlock,\n\t\t\t const
      struct timespec *abstime)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - npth_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1539
    functionName: npth_rwlock_trywrlock
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int npth_rwlock_trywrlock (npth_rwlock_t *rwlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_rwlock_trywrlock
      Src: /src/npth/w32/npth.c:1550,1
    - Dst: npth_cond_wait
      Src: /src/npth/w32/npth.c:1555,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - npth_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1542
    functionDepth: 1
    functionLinenumber: 1542
    functionLinenumberEnd: 1560
    functionName: npth_rwlock_wrlock
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 1
    functionsReached:
    - npth_cond_wait
    - npth_rwlock_trywrlock
    linkageType: ''
    returnType: int
    signature: int npth_rwlock_wrlock (npth_rwlock_t *rwlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: npth_rwlock_trywrlock
      Src: /src/npth/w32/npth.c:1572,1
    - Dst: npth_cond_timedwait
      Src: /src/npth/w32/npth.c:1577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - rwlock
    - abstime
    argTypes:
    - npth_rwlock_t*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1563
    functionDepth: 1
    functionLinenumber: 1563
    functionLinenumberEnd: 1582
    functionName: npth_rwlock_timedwrlock
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - npth_cond_timedwait
    - npth_rwlock_trywrlock
    linkageType: ''
    returnType: int
    signature: "int npth_rwlock_timedwrlock (npth_rwlock_t *rwlock,\n\t\t\t const
      struct timespec *abstime)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: npth_cond_signal
      Src: /src/npth/w32/npth.c:1601,1
    - Dst: npth_cond_broadcast
      Src: /src/npth/w32/npth.c:1607,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - npth_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1585
    functionDepth: 3
    functionLinenumber: 1585
    functionLinenumberEnd: 1612
    functionName: npth_rwlock_unlock
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 1
    functionsReached:
    - npth_cond_signal
    - npth_cond_broadcast
    linkageType: ''
    returnType: int
    signature: int npth_rwlock_unlock (npth_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:1620,1
    - Dst: Sleep
      Src: /src/npth/w32/npth.c:1621,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:1622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - usec
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1624
    functionName: npth_usleep
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 7
    functionsReached:
    - Sleep
    - LEAVE
    - ENTER
    linkageType: ''
    returnType: int
    signature: int npth_usleep(unsigned int usec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:1630,1
    - Dst: Sleep
      Src: /src/npth/w32/npth.c:1631,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:1632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sec
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1634
    functionName: npth_sleep
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 3
    functionsReached:
    - Sleep
    - LEAVE
    - ENTER
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int npth_sleep(unsigned int sec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:1642,1
    - Dst: system
      Src: /src/npth/w32/npth.c:1643,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:1644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1646
    functionName: npth_system
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - LEAVE
    - system
    - ENTER
    linkageType: ''
    returnType: int
    signature: int npth_system(const char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pid
    - status
    - options
    argTypes:
    - pid_t
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1653
    functionName: npth_waitpid
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pid_t
    signature: pid_t npth_waitpid(pid_t pid, int *status, int options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:1661,1
    - Dst: connect
      Src: /src/npth/w32/npth.c:1662,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - s
    - addr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1665
    functionName: npth_connect
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - LEAVE
    - ENTER
    - connect
    linkageType: ''
    returnType: int
    signature: int npth_connect(int s, const struct sockaddr *addr, socklen_t addrlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:1673,1
    - Dst: accept
      Src: /src/npth/w32/npth.c:1674,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:1675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - s
    - addr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1677
    functionName: npth_accept
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached:
    - accept
    - LEAVE
    - ENTER
    linkageType: ''
    returnType: int
    signature: int npth_accept(int s, struct sockaddr *addr, socklen_t *addrlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:1686,1
    - Dst: select
      Src: /src/npth/w32/npth.c:1687,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - nfd
    - rfds
    - wfds
    - efds
    - timeout
    argTypes:
    - int
    - fd_set*
    - fd_set*
    - fd_set*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1690
    functionName: npth_select
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 2
    functionsReached:
    - LEAVE
    - select
    - ENTER
    linkageType: ''
    returnType: int
    signature: "int npth_select(int nfd, fd_set *rfds, fd_set *wfds, fd_set *efds,\n\t
      \   struct timeval *timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:1698,1
    - Dst: read
      Src: /src/npth/w32/npth.c:1699,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:1700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - buf
    - nbytes
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1702
    functionName: npth_read
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 5
    functionsReached:
    - LEAVE
    - ENTER
    - read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t npth_read(int fd, void *buf, size_t nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:1710,1
    - Dst: write
      Src: /src/npth/w32/npth.c:1711,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:1712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - buf
    - nbytes
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1714
    functionName: npth_write
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 4
    functionsReached:
    - LEAVE
    - write
    - ENTER
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t npth_write(int fd, const void *buf, size_t nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - msg
    - flags
    argTypes:
    - int
    - struct msghdr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1721
    functionName: npth_recvmsg
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int npth_recvmsg (int fd, struct msghdr *msg, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - msg
    - flags
    argTypes:
    - int
    - struct msghdr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1728
    functionName: npth_sendmsg
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int npth_sendmsg (int fd, const struct msghdr *msg, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:1741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1742
    functionName: npth_unprotect
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 32
    functionsReached:
    - ENTER
    linkageType: ''
    returnType: void
    signature: void npth_unprotect (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:1750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1751
    functionName: npth_protect
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 32
    functionsReached:
    - LEAVE
    linkageType: ''
    returnType: void
    signature: void npth_protect (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1758
    functionName: npth_is_protected
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int npth_is_protected (void)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: WSACreateEvent
      Src: /src/npth/w32/npth.c:1860,1
    - Dst: SET_FDOBJ
      Src: /src/npth/w32/npth.c:1895,1
    - Dst: SET_FDOBJ
      Src: /src/npth/w32/npth.c:1897,1
    - Dst: SET_FDOBJ
      Src: /src/npth/w32/npth.c:1899,1
    - Dst: WSAEventSelect
      Src: /src/npth/w32/npth.c:1906,1
    - Dst: map_error
      Src: /src/npth/w32/npth.c:1909,1
    - Dst: WSAGetLastError
      Src: /src/npth/w32/npth.c:1909,1
    - Dst: ENTER
      Src: /src/npth/w32/npth.c:1915,1
    - Dst: WaitForMultipleObjects
      Src: /src/npth/w32/npth.c:1916,1
    - Dst: LEAVE
      Src: /src/npth/w32/npth.c:1917,1
    - Dst: map_error
      Src: /src/npth/w32/npth.c:1925,1
    - Dst: GetLastError
      Src: /src/npth/w32/npth.c:1925,1
    - Dst: WaitForSingleObject
      Src: /src/npth/w32/npth.c:1937,1
    - Dst: ResetEvent
      Src: /src/npth/w32/npth.c:1946,1
    - Dst: FD_ZERO
      Src: /src/npth/w32/npth.c:1953,1
    - Dst: FD_ZERO
      Src: /src/npth/w32/npth.c:1955,1
    - Dst: FD_ZERO
      Src: /src/npth/w32/npth.c:1957,1
    - Dst: WSAEnumNetworkEvents
      Src: /src/npth/w32/npth.c:1965,1
    - Dst: FD_SET
      Src: /src/npth/w32/npth.c:1972,1
    - Dst: FD_SET
      Src: /src/npth/w32/npth.c:1977,1
    - Dst: FD_SET
      Src: /src/npth/w32/npth.c:1982,1
    - Dst: WSAEventSelect
      Src: /src/npth/w32/npth.c:1986,1
    - Dst: WSACloseEvent
      Src: /src/npth/w32/npth.c:1990,1
    - Dst: WSAEventSelect
      Src: /src/npth/w32/npth.c:2000,1
    - Dst: WSACloseEvent
      Src: /src/npth/w32/npth.c:2002,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 117
    argCount: 7
    argNames:
    - nfd
    - rfds
    - wfds
    - efds
    - timeout
    - events
    - events_set
    argTypes:
    - int
    - fd_set*
    - fd_set*
    - fd_set*
    - struct timespec*
    - HANDLE*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 1777
    functionDepth: 1
    functionLinenumber: 1777
    functionLinenumberEnd: 2010
    functionName: npth_eselect
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 7
    functionsReached:
    - FD_ZERO
    - WSACreateEvent
    - map_error
    - LEAVE
    - WSACloseEvent
    - WaitForSingleObject
    - WSAEventSelect
    - WSAGetLastError
    - WSAEnumNetworkEvents
    - ENTER
    - ResetEvent
    - FD_SET
    - WaitForMultipleObjects
    - SET_FDOBJ
    - GetLastError
    linkageType: ''
    returnType: int
    signature: "int npth_eselect(int nfd, fd_set *rfds, fd_set *wfds, fd_set *efds,\n\t
      \    const struct timespec *timeout,\n             HANDLE *events, unsigned
      int *events_set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1893
    functionName: SET_FDOBJ
    functionSourceFile: /src/npth/w32/npth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_FDOBJ(x,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t1
    - ','
    - t2
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: npth_timercmp
    functionSourceFile: /src/npth/w32/npth.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: npth_timercmp(t1, t2, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t1
    - ','
    - t2
    - ','
    - result
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: npth_timeradd
    functionSourceFile: /src/npth/w32/npth.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: npth_timeradd(t1, t2, result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t1
    - ','
    - t2
    - ','
    - result
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: npth_timersub
    functionSourceFile: /src/npth/w32/npth.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: npth_timersub(t1, t2, result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dispatch_semaphore_create
      Src: /src/npth/src/npth.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sem
    - is_shared
    - value
    argTypes:
    - sem_t*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: sem_init
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - dispatch_semaphore_create
    linkageType: ''
    returnType: int
    signature: int sem_init (sem_t *sem, int is_shared, unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dispatch_semaphore_signal
      Src: /src/npth/src/npth.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sem
    argTypes:
    - sem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: sem_post
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - dispatch_semaphore_signal
    linkageType: ''
    returnType: int
    signature: int sem_post (sem_t *sem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dispatch_semaphore_wait
      Src: /src/npth/src/npth.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sem
    argTypes:
    - sem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: sem_wait
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - dispatch_semaphore_wait
    linkageType: ''
    returnType: int
    signature: int sem_wait (sem_t *sem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_init
      Src: /src/npth/src/npth.c:81,1
    - Dst: pthread_cond_init
      Src: /src/npth/src/npth.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - sem
    - is_shared
    - value
    argTypes:
    - sem_t*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: sem_init
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - pthread_cond_init
    - pthread_mutex_init
    linkageType: ''
    returnType: int
    signature: int sem_init (sem_t *sem, int is_shared, unsigned int value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/npth/src/npth.c:96,1
    - Dst: pthread_cond_signal
      Src: /src/npth/src/npth.c:101,1
    - Dst: pthread_mutex_unlock
      Src: /src/npth/src/npth.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sem
    argTypes:
    - sem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 107
    functionName: sem_post
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - pthread_cond_signal
    - pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int sem_post (sem_t *sem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/npth/src/npth.c:114,1
    - Dst: pthread_cond_wait
      Src: /src/npth/src/npth.c:119,1
    - Dst: pthread_mutex_unlock
      Src: /src/npth/src/npth.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - sem
    argTypes:
    - sem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: sem_wait
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - pthread_cond_wait
    linkageType: ''
    returnType: int
    signature: int sem_wait (sem_t *sem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: npth_clock_gettime
      Src: /src/npth/src/npth.c:205,1
    - Dst: npth_timercmp
      Src: /src/npth/src/npth.c:213,1
    - Dst: usleep
      Src: /src/npth/src/npth.c:226,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - trylock
    - lock
    - abstime
    argTypes:
    - trylock_func_t
    - void*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 230
    functionName: busy_wait_for
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - npth_timercmp
    - npth_clock_gettime
    - usleep
    linkageType: ''
    returnType: int
    signature: "int busy_wait_for (trylock_func_t trylock, void *lock,\n\t       const
      struct timespec *abstime)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sem_post
      Src: /src/npth/src/npth.c:239,1
    - Dst: assert
      Src: /src/npth/src/npth.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (res == 0)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/npth/src/npth.c
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: enter_npth
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - sem_post
    - assert
    linkageType: ''
    returnType: void
    signature: void enter_npth (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sem_wait
      Src: /src/npth/src/npth.c:251,1
    - Dst: assert
      Src: /src/npth/src/npth.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!res)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/npth/src/npth.c
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 257
    functionName: leave_npth
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - sem_wait
    - assert
    linkageType: ''
    returnType: void
    signature: void leave_npth (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: ENTER
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENTER()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: LEAVE
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEAVE()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_self
      Src: /src/npth/src/npth.c:268,1
    - Dst: sem_init
      Src: /src/npth/src/npth.c:278,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 298
    functionName: npth_init
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 12
    functionsReached:
    - sem_init
    - LEAVE
    - pthread_self
    linkageType: ''
    returnType: int
    signature: int npth_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getname_np
      Src: /src/npth/src/npth.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - target_thread
    - buf
    - buflen
    argTypes:
    - npth_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 312
    functionName: npth_getname_np
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - pthread_getname_np
    linkageType: ''
    returnType: int
    signature: int npth_getname_np (npth_t target_thread, char *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_setname_np
      Src: /src/npth/src/npth.c:320,1
    - Dst: npth_self
      Src: /src/npth/src/npth.c:323,1
    - Dst: pthread_setname_np
      Src: /src/npth/src/npth.c:324,1
    - Dst: pthread_setname_np
      Src: /src/npth/src/npth.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - target_thread
    - name
    argTypes:
    - npth_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 336
    functionName: npth_setname_np
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 14
    functionsReached:
    - pthread_setname_np
    - npth_self
    linkageType: ''
    returnType: int
    signature: int npth_setname_np (npth_t target_thread, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/npth/src/npth.c:357,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:359,1
    - Dst: ENTER
      Src: /src/npth/src/npth.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - startup_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 366
    functionName: thread_start
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - LEAVE
    - ENTER
    - free
    linkageType: ''
    returnType: void
    signature: 'void *

      thread_start (void *startup_arg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/npth/src/npth.c:376,1
    - Dst: pthread_create
      Src: /src/npth/src/npth.c:384,1
    - Dst: free
      Src: /src/npth/src/npth.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - thread
    - attr
    - (*start_routine) (void *)
    - arg
    argTypes:
    - npth_t*
    - npth_attr_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 393
    functionName: npth_create
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 23
    functionsReached:
    - pthread_create
    - malloc
    - free
    linkageType: ''
    returnType: int
    signature: "int npth_create (npth_t *thread, const npth_attr_t *attr,\n\t     void
      *(*start_routine) (void *), void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_tryjoin_np
      Src: /src/npth/src/npth.c:404,1
    - Dst: ENTER
      Src: /src/npth/src/npth.c:409,1
    - Dst: pthread_join
      Src: /src/npth/src/npth.c:410,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - thread
    - retval
    argTypes:
    - npth_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 413
    functionName: npth_join
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 10
    functionsReached:
    - LEAVE
    - ENTER
    - pthread_tryjoin_np
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int npth_join (npth_t thread, void **retval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/src/npth.c:419,1
    - Dst: pthread_exit
      Src: /src/npth/src/npth.c:420,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - retval
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 423
    functionName: npth_exit
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - LEAVE
    - pthread_exit
    - ENTER
    linkageType: ''
    returnType: void
    signature: void npth_exit (void *retval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_trylock
      Src: /src/npth/src/npth.c:433,1
    - Dst: ENTER
      Src: /src/npth/src/npth.c:437,1
    - Dst: pthread_mutex_lock
      Src: /src/npth/src/npth.c:438,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - npth_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 441
    functionName: npth_mutex_lock
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 38
    functionsReached:
    - ENTER
    - LEAVE
    - pthread_mutex_trylock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int npth_mutex_lock (npth_mutex_t *mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_trylock
      Src: /src/npth/src/npth.c:451,1
    - Dst: ENTER
      Src: /src/npth/src/npth.c:455,1
    - Dst: pthread_mutex_timedlock
      Src: /src/npth/src/npth.c:457,1
    - Dst: busy_wait_for
      Src: /src/npth/src/npth.c:459,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - mutex
    - abstime
    argTypes:
    - npth_mutex_t*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 463
    functionName: npth_mutex_timedlock
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 2
    functionsReached:
    - LEAVE
    - pthread_mutex_trylock
    - busy_wait_for
    - ENTER
    - pthread_mutex_timedlock
    linkageType: ''
    returnType: int
    signature: int npth_mutex_timedlock (npth_mutex_t *mutex, const struct timespec
      *abstime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_tryrdlock
      Src: /src/npth/src/npth.c:475,1
    - Dst: ENTER
      Src: /src/npth/src/npth.c:480,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/npth/src/npth.c:481,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - npth_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 484
    functionName: npth_rwlock_rdlock
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 1
    functionsReached:
    - LEAVE
    - pthread_rwlock_tryrdlock
    - pthread_rwlock_rdlock
    - ENTER
    linkageType: ''
    returnType: int
    signature: int npth_rwlock_rdlock (npth_rwlock_t *rwlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_tryrdlock
      Src: /src/npth/src/npth.c:495,1
    - Dst: ENTER
      Src: /src/npth/src/npth.c:500,1
    - Dst: pthread_rwlock_timedrdlock
      Src: /src/npth/src/npth.c:502,1
    - Dst: busy_wait_for
      Src: /src/npth/src/npth.c:504,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - rwlock
    - abstime
    argTypes:
    - npth_rwlock_t*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 511
    functionName: npth_rwlock_timedrdlock
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - LEAVE
    - pthread_rwlock_tryrdlock
    - busy_wait_for
    - ENTER
    - pthread_rwlock_timedrdlock
    linkageType: ''
    returnType: int
    signature: int npth_rwlock_timedrdlock (npth_rwlock_t *rwlock, const struct timespec
      *abstime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_trywrlock
      Src: /src/npth/src/npth.c:522,1
    - Dst: ENTER
      Src: /src/npth/src/npth.c:527,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/npth/src/npth.c:528,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - npth_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 531
    functionName: npth_rwlock_wrlock
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 1
    functionsReached:
    - pthread_rwlock_trywrlock
    - LEAVE
    - ENTER
    - pthread_rwlock_wrlock
    linkageType: ''
    returnType: int
    signature: int npth_rwlock_wrlock (npth_rwlock_t *rwlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_trywrlock
      Src: /src/npth/src/npth.c:542,1
    - Dst: ENTER
      Src: /src/npth/src/npth.c:547,1
    - Dst: pthread_rwlock_timedwrlock
      Src: /src/npth/src/npth.c:549,1
    - Dst: busy_wait_for
      Src: /src/npth/src/npth.c:551,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - rwlock
    - abstime
    argTypes:
    - npth_rwlock_t*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 558
    functionName: npth_rwlock_timedwrlock
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - LEAVE
    - pthread_rwlock_trywrlock
    - busy_wait_for
    - ENTER
    - pthread_rwlock_timedwrlock
    linkageType: ''
    returnType: int
    signature: int npth_rwlock_timedwrlock (npth_rwlock_t *rwlock, const struct timespec
      *abstime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/src/npth.c:567,1
    - Dst: pthread_cond_wait
      Src: /src/npth/src/npth.c:568,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - npth_cond_t*
    - npth_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 571
    functionName: npth_cond_wait
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 11
    functionsReached:
    - pthread_cond_wait
    - LEAVE
    - ENTER
    linkageType: ''
    returnType: int
    signature: int npth_cond_wait (npth_cond_t *cond, npth_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/src/npth.c:580,1
    - Dst: pthread_cond_timedwait
      Src: /src/npth/src/npth.c:581,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstime
    argTypes:
    - npth_cond_t*
    - npth_mutex_t*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 584
    functionName: npth_cond_timedwait
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 2
    functionsReached:
    - LEAVE
    - ENTER
    - pthread_cond_timedwait
    linkageType: ''
    returnType: int
    signature: "int npth_cond_timedwait (npth_cond_t *cond, npth_mutex_t *mutex,\n\t\t
      \    const struct timespec *abstime)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/src/npth.c:594,1
    - Dst: usleep
      Src: /src/npth/src/npth.c:595,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - usec
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 598
    functionName: npth_usleep
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 7
    functionsReached:
    - LEAVE
    - usleep
    - ENTER
    linkageType: ''
    returnType: int
    signature: int npth_usleep(unsigned int usec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/src/npth.c:606,1
    - Dst: sleep
      Src: /src/npth/src/npth.c:607,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sec
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 610
    functionName: npth_sleep
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 3
    functionsReached:
    - LEAVE
    - sleep
    - ENTER
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int npth_sleep(unsigned int sec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/src/npth.c:618,1
    - Dst: system
      Src: /src/npth/src/npth.c:619,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 622
    functionName: npth_system
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - LEAVE
    - system
    - ENTER
    linkageType: ''
    returnType: int
    signature: int npth_system(const char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/src/npth.c:630,1
    - Dst: waitpid
      Src: /src/npth/src/npth.c:631,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pid
    - status
    - options
    argTypes:
    - pid_t
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 634
    functionName: npth_waitpid
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - LEAVE
    - waitpid
    - ENTER
    linkageType: ''
    returnType: pid_t
    signature: pid_t npth_waitpid(pid_t pid, int *status, int options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/src/npth.c:642,1
    - Dst: connect
      Src: /src/npth/src/npth.c:643,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - s
    - addr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 646
    functionName: npth_connect
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - LEAVE
    - ENTER
    - connect
    linkageType: ''
    returnType: int
    signature: int npth_connect(int s, const struct sockaddr *addr, socklen_t addrlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/src/npth.c:654,1
    - Dst: accept
      Src: /src/npth/src/npth.c:655,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - s
    - addr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 658
    functionName: npth_accept
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - accept
    - LEAVE
    - ENTER
    linkageType: ''
    returnType: int
    signature: int npth_accept(int s, struct sockaddr *addr, socklen_t *addrlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/src/npth.c:667,1
    - Dst: select
      Src: /src/npth/src/npth.c:668,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - nfd
    - rfds
    - wfds
    - efds
    - timeout
    argTypes:
    - int
    - fd_set*
    - fd_set*
    - fd_set*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 671
    functionName: npth_select
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 2
    functionsReached:
    - LEAVE
    - select
    - ENTER
    linkageType: ''
    returnType: int
    signature: "int npth_select(int nfd, fd_set *rfds, fd_set *wfds, fd_set *efds,\n\t
      \   struct timeval *timeout)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/src/npth.c:680,1
    - Dst: pselect
      Src: /src/npth/src/npth.c:682,1
    - Dst: pthread_sigmask
      Src: /src/npth/src/npth.c:716,1
    - Dst: select
      Src: /src/npth/src/npth.c:717,1
    - Dst: pthread_sigmask
      Src: /src/npth/src/npth.c:719,1
    - Dst: select
      Src: /src/npth/src/npth.c:723,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:729,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 6
    argNames:
    - nfd
    - rfds
    - wfds
    - efds
    - timeout
    - sigmask
    argTypes:
    - int
    - fd_set*
    - fd_set*
    - fd_set*
    - struct timespec*
    - sigset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 731
    functionName: npth_pselect
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 7
    functionsReached:
    - LEAVE
    - select
    - ENTER
    - pthread_sigmask
    - pselect
    linkageType: ''
    returnType: int
    signature: "int npth_pselect(int nfd, fd_set *rfds, fd_set *wfds, fd_set *efds,\n\t
      \    const struct timespec *timeout, const sigset_t *sigmask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/src/npth.c:739,1
    - Dst: poll
      Src: /src/npth/src/npth.c:740,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fds
    - nfds
    - timeout
    argTypes:
    - struct pollfd*
    - unsigned long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 743
    functionName: npth_poll
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - LEAVE
    - poll
    - ENTER
    linkageType: ''
    returnType: int
    signature: int npth_poll (struct pollfd *fds, unsigned long nfds, int timeout)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/src/npth.c:752,1
    - Dst: ppoll
      Src: /src/npth/src/npth.c:754,1
    - Dst: pthread_sigmask
      Src: /src/npth/src/npth.c:779,1
    - Dst: poll
      Src: /src/npth/src/npth.c:780,1
    - Dst: pthread_sigmask
      Src: /src/npth/src/npth.c:782,1
    - Dst: poll
      Src: /src/npth/src/npth.c:786,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:792,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - fds
    - nfds
    - timeout
    - sigmask
    argTypes:
    - struct pollfd*
    - unsigned long
    - struct timespec*
    - sigset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 794
    functionName: npth_ppoll
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - LEAVE
    - ENTER
    - pthread_sigmask
    - ppoll
    - poll
    linkageType: ''
    returnType: int
    signature: "int npth_ppoll (struct pollfd *fds, unsigned long nfds,\n            const
      struct timespec *timeout, const sigset_t *sigmask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/src/npth.c:802,1
    - Dst: read
      Src: /src/npth/src/npth.c:803,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - buf
    - nbytes
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 806
    functionName: npth_read
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 5
    functionsReached:
    - LEAVE
    - ENTER
    - read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t npth_read(int fd, void *buf, size_t nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/src/npth.c:814,1
    - Dst: write
      Src: /src/npth/src/npth.c:815,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - buf
    - nbytes
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 818
    functionName: npth_write
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 4
    functionsReached:
    - LEAVE
    - write
    - ENTER
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t npth_write(int fd, const void *buf, size_t nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/src/npth.c:826,1
    - Dst: recvmsg
      Src: /src/npth/src/npth.c:827,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - msg
    - flags
    argTypes:
    - int
    - struct msghdr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 830
    functionName: npth_recvmsg
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - LEAVE
    - recvmsg
    - ENTER
    linkageType: ''
    returnType: int
    signature: int npth_recvmsg (int fd, struct msghdr *msg, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/src/npth.c:838,1
    - Dst: sendmsg
      Src: /src/npth/src/npth.c:839,1
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - msg
    - flags
    argTypes:
    - int
    - struct msghdr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 842
    functionName: npth_sendmsg
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached:
    - sendmsg
    - LEAVE
    - ENTER
    linkageType: ''
    returnType: int
    signature: int npth_sendmsg (int fd, const struct msghdr *msg, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENTER
      Src: /src/npth/src/npth.c:855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 856
    functionName: npth_unprotect
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 32
    functionsReached:
    - ENTER
    linkageType: ''
    returnType: void
    signature: void npth_unprotect (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LEAVE
      Src: /src/npth/src/npth.c:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 865
    functionName: npth_protect
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 32
    functionsReached:
    - LEAVE
    linkageType: ''
    returnType: void
    signature: void npth_protect (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 872
    functionName: npth_is_protected
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int npth_is_protected (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/npth/src/npth.c:879,1
    - Dst: gettimeofday
      Src: /src/npth/src/npth.c:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 894
    functionName: npth_clock_gettime
    functionSourceFile: /src/npth/src/npth.c
    functionUses: 9
    functionsReached:
    - gettimeofday
    - clock_gettime
    linkageType: ''
    returnType: int
    signature: int npth_clock_gettime (struct timespec *ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigaddset
      Src: /src/npth/src/npth-sigev.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: _sigev_handler
    functionSourceFile: /src/npth/src/npth-sigev.c
    functionUses: 0
    functionsReached:
    - sigaddset
    linkageType: ''
    returnType: void
    signature: void _sigev_handler (int signum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/npth/src/npth-sigev.c:90,1
    - Dst: pthread_sigmask
      Src: /src/npth/src/npth-sigev.c:91,1
    - Dst: pthread_sigmask
      Src: /src/npth/src/npth-sigev.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: npth_sigev_init
    functionSourceFile: /src/npth/src/npth-sigev.c
    functionUses: 6
    functionsReached:
    - sigemptyset
    - pthread_sigmask
    linkageType: ''
    returnType: void
    signature: void npth_sigev_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/npth/src/npth-sigev.c:103,1
    - Dst: assert
      Src: /src/npth/src/npth-sigev.c:105,1
    - Dst: sigdelset
      Src: /src/npth/src/npth-sigev.c:109,1
    - Dst: sigaddset
      Src: /src/npth/src/npth-sigev.c:110,1
    - Dst: sigaction
      Src: /src/npth/src/npth-sigev.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts:
    - condition: (sigev_signum_cnt < SIGEV_MAX)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/npth/src/npth-sigev.c
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: npth_sigev_add
    functionSourceFile: /src/npth/src/npth-sigev.c
    functionUses: 6
    functionsReached:
    - sigaddset
    - assert
    - sigdelset
    - sigemptyset
    - sigaction
    linkageType: ''
    returnType: void
    signature: void npth_sigev_add (int signum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_sigmask
      Src: /src/npth/src/npth-sigev.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: restore_sigmask_for_child_process
    functionSourceFile: /src/npth/src/npth-sigev.c
    functionUses: 0
    functionsReached:
    - pthread_sigmask
    linkageType: ''
    returnType: void
    signature: void restore_sigmask_for_child_process (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_sigmask
      Src: /src/npth/src/npth-sigev.c:137,1
    - Dst: pthread_atfork
      Src: /src/npth/src/npth-sigev.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: npth_sigev_fini
    functionSourceFile: /src/npth/src/npth-sigev.c
    functionUses: 6
    functionsReached:
    - pthread_atfork
    - pthread_sigmask
    linkageType: ''
    returnType: void
    signature: void npth_sigev_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: npth_sigev_sigmask
    functionSourceFile: /src/npth/src/npth-sigev.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: sigset_t
    signature: 'sigset_t *

      npth_sigev_sigmask (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigismember
      Src: /src/npth/src/npth-sigev.c:161,1
    - Dst: sigdelset
      Src: /src/npth/src/npth-sigev.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r_signum
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 169
    functionName: npth_sigev_get_pending
    functionSourceFile: /src/npth/src/npth-sigev.c
    functionUses: 6
    functionsReached:
    - sigdelset
    - sigismember
    linkageType: ''
    returnType: int
    signature: int npth_sigev_get_pending (int *r_signum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: cright_blurb
    functionSourceFile: /src/npth/src/getversion.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      cright_blurb (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cright_blurb
      Src: /src/npth/src/getversion.c:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: npth_get_version
    functionSourceFile: /src/npth/src/getversion.c
    functionUses: 1
    functionsReached:
    - cright_blurb
    linkageType: ''
    returnType: char
    signature: 'char *

      npth_get_version (const char *dummy)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rwlock
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: npth_rwlock_init
    functionSourceFile: /src/npth/src/npth.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: npth_rwlock_init(rwlock,attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t1
    - ','
    - t2
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: npth_timercmp
    functionSourceFile: /src/npth/src/npth.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: npth_timercmp(t1, t2, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t1
    - ','
    - t2
    - ','
    - result
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 394
    functionName: npth_timeradd
    functionSourceFile: /src/npth/src/npth.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: npth_timeradd(t1, t2, result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t1
    - ','
    - t2
    - ','
    - result
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 403
    functionName: npth_timersub
    functionSourceFile: /src/npth/src/npth.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: npth_timersub(t1, t2, result)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ksba_der_builder_new
      Src: /src/libksba/tests/t-der-builder.c:47,1
    - Dst: fail
      Src: /src/libksba/tests/t-der-builder.c:49,1
    - Dst: ksba_der_add_ptr
      Src: /src/libksba/tests/t-der-builder.c:51,1
    - Dst: ksba_der_builder_get
      Src: /src/libksba/tests/t-der-builder.c:52,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-der-builder.c:53,1
    - Dst: memcmp
      Src: /src/libksba/tests/t-der-builder.c:54,1
    - Dst: fail
      Src: /src/libksba/tests/t-der-builder.c:55,1
    - Dst: xfree
      Src: /src/libksba/tests/t-der-builder.c:56,1
    - Dst: ksba_der_builder_reset
      Src: /src/libksba/tests/t-der-builder.c:58,1
    - Dst: ksba_der_add_ptr
      Src: /src/libksba/tests/t-der-builder.c:59,1
    - Dst: ksba_der_builder_get
      Src: /src/libksba/tests/t-der-builder.c:60,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-der-builder.c:61,1
    - Dst: memcmp
      Src: /src/libksba/tests/t-der-builder.c:62,1
    - Dst: fail
      Src: /src/libksba/tests/t-der-builder.c:63,1
    - Dst: xfree
      Src: /src/libksba/tests/t-der-builder.c:64,1
    - Dst: ksba_der_builder_reset
      Src: /src/libksba/tests/t-der-builder.c:66,1
    - Dst: ksba_der_add_ptr
      Src: /src/libksba/tests/t-der-builder.c:67,1
    - Dst: ksba_der_builder_get
      Src: /src/libksba/tests/t-der-builder.c:68,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-der-builder.c:69,1
    - Dst: memcmp
      Src: /src/libksba/tests/t-der-builder.c:70,1
    - Dst: fail
      Src: /src/libksba/tests/t-der-builder.c:71,1
    - Dst: xfree
      Src: /src/libksba/tests/t-der-builder.c:72,1
    - Dst: ksba_der_builder_reset
      Src: /src/libksba/tests/t-der-builder.c:74,1
    - Dst: ksba_der_add_tag
      Src: /src/libksba/tests/t-der-builder.c:75,1
    - Dst: ksba_der_builder_get
      Src: /src/libksba/tests/t-der-builder.c:76,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-der-builder.c:77,1
    - Dst: memcmp
      Src: /src/libksba/tests/t-der-builder.c:78,1
    - Dst: fail
      Src: /src/libksba/tests/t-der-builder.c:79,1
    - Dst: xfree
      Src: /src/libksba/tests/t-der-builder.c:80,1
    - Dst: ksba_der_release
      Src: /src/libksba/tests/t-der-builder.c:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 83
    functionName: test_der_encoding
    functionSourceFile: /src/libksba/tests/t-der-builder.c
    functionUses: 0
    functionsReached:
    - ksba_der_add_tag
    - fail
    - fail_if_err
    - ksba_der_builder_get
    - ksba_der_builder_reset
    - ksba_der_release
    - memcmp
    - xfree
    - ksba_der_add_ptr
    - ksba_der_builder_new
    linkageType: ''
    returnType: void
    signature: void test_der_encoding (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ksba_der_builder_new
      Src: /src/libksba/tests/t-der-builder.c:94,1
    - Dst: fail
      Src: /src/libksba/tests/t-der-builder.c:96,1
    - Dst: ksba_der_add_tag
      Src: /src/libksba/tests/t-der-builder.c:98,1
    - Dst: ksba_der_add_oid
      Src: /src/libksba/tests/t-der-builder.c:99,1
    - Dst: ksba_der_add_tag
      Src: /src/libksba/tests/t-der-builder.c:100,1
    - Dst: ksba_der_add_tag
      Src: /src/libksba/tests/t-der-builder.c:101,1
    - Dst: ksba_der_add_int
      Src: /src/libksba/tests/t-der-builder.c:102,1
    - Dst: ksba_der_add_end
      Src: /src/libksba/tests/t-der-builder.c:103,1
    - Dst: ksba_der_add_tag
      Src: /src/libksba/tests/t-der-builder.c:104,1
    - Dst: ksba_der_add_int
      Src: /src/libksba/tests/t-der-builder.c:105,1
    - Dst: ksba_der_add_int
      Src: /src/libksba/tests/t-der-builder.c:106,1
    - Dst: ksba_der_add_int
      Src: /src/libksba/tests/t-der-builder.c:107,1
    - Dst: ksba_der_add_int
      Src: /src/libksba/tests/t-der-builder.c:108,1
    - Dst: ksba_der_add_end
      Src: /src/libksba/tests/t-der-builder.c:109,1
    - Dst: ksba_der_add_end
      Src: /src/libksba/tests/t-der-builder.c:110,1
    - Dst: ksba_der_builder_get
      Src: /src/libksba/tests/t-der-builder.c:112,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-der-builder.c:113,1
    - Dst: memcmp
      Src: /src/libksba/tests/t-der-builder.c:116,1
    - Dst: fail
      Src: /src/libksba/tests/t-der-builder.c:119,1
    - Dst: xfree
      Src: /src/libksba/tests/t-der-builder.c:120,1
    - Dst: ksba_der_builder_reset
      Src: /src/libksba/tests/t-der-builder.c:124,1
    - Dst: ksba_der_add_tag
      Src: /src/libksba/tests/t-der-builder.c:126,1
    - Dst: ksba_der_add_oid
      Src: /src/libksba/tests/t-der-builder.c:127,1
    - Dst: ksba_der_add_tag
      Src: /src/libksba/tests/t-der-builder.c:128,1
    - Dst: ksba_der_add_tag
      Src: /src/libksba/tests/t-der-builder.c:129,1
    - Dst: ksba_der_add_int
      Src: /src/libksba/tests/t-der-builder.c:130,1
    - Dst: ksba_der_add_tag
      Src: /src/libksba/tests/t-der-builder.c:131,1
    - Dst: ksba_der_add_int
      Src: /src/libksba/tests/t-der-builder.c:132,1
    - Dst: ksba_der_add_end
      Src: /src/libksba/tests/t-der-builder.c:133,1
    - Dst: ksba_der_add_end
      Src: /src/libksba/tests/t-der-builder.c:134,1
    - Dst: ksba_der_add_end
      Src: /src/libksba/tests/t-der-builder.c:135,1
    - Dst: ksba_der_add_end
      Src: /src/libksba/tests/t-der-builder.c:136,1
    - Dst: ksba_der_builder_get
      Src: /src/libksba/tests/t-der-builder.c:138,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-der-builder.c:139,1
    - Dst: memcmp
      Src: /src/libksba/tests/t-der-builder.c:141,1
    - Dst: fail
      Src: /src/libksba/tests/t-der-builder.c:143,1
    - Dst: xfree
      Src: /src/libksba/tests/t-der-builder.c:144,1
    - Dst: ksba_der_builder_reset
      Src: /src/libksba/tests/t-der-builder.c:147,1
    - Dst: ksba_der_add_tag
      Src: /src/libksba/tests/t-der-builder.c:149,1
    - Dst: ksba_der_add_oid
      Src: /src/libksba/tests/t-der-builder.c:150,1
    - Dst: ksba_der_add_tag
      Src: /src/libksba/tests/t-der-builder.c:151,1
    - Dst: ksba_der_add_tag
      Src: /src/libksba/tests/t-der-builder.c:152,1
    - Dst: ksba_der_add_int
      Src: /src/libksba/tests/t-der-builder.c:153,1
    - Dst: ksba_der_add_tag
      Src: /src/libksba/tests/t-der-builder.c:154,1
    - Dst: ksba_der_add_int
      Src: /src/libksba/tests/t-der-builder.c:155,1
    - Dst: ksba_der_add_end
      Src: /src/libksba/tests/t-der-builder.c:156,1
    - Dst: ksba_der_add_end
      Src: /src/libksba/tests/t-der-builder.c:157,1
    - Dst: ksba_der_add_end
      Src: /src/libksba/tests/t-der-builder.c:158,1
    - Dst: ksba_der_add_end
      Src: /src/libksba/tests/t-der-builder.c:159,1
    - Dst: ksba_der_builder_get
      Src: /src/libksba/tests/t-der-builder.c:161,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-der-builder.c:162,1
    - Dst: memcmp
      Src: /src/libksba/tests/t-der-builder.c:165,1
    - Dst: fail
      Src: /src/libksba/tests/t-der-builder.c:167,1
    - Dst: xfree
      Src: /src/libksba/tests/t-der-builder.c:168,1
    - Dst: ksba_der_release
      Src: /src/libksba/tests/t-der-builder.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 172
    functionName: test_der_builder
    functionSourceFile: /src/libksba/tests/t-der-builder.c
    functionUses: 0
    functionsReached:
    - ksba_der_add_tag
    - fail
    - ksba_der_add_end
    - fail_if_err
    - ksba_der_builder_get
    - ksba_der_builder_reset
    - ksba_der_release
    - ksba_der_add_oid
    - memcmp
    - xfree
    - ksba_der_builder_new
    - ksba_der_add_int
    linkageType: ''
    returnType: void
    signature: void test_der_builder (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libksba/tests/t-der-builder.c:183,1
    - Dst: test_der_encoding
      Src: /src/libksba/tests/t-der-builder.c:192,1
    - Dst: test_der_builder
      Src: /src/libksba/tests/t-der-builder.c:193,1
    - Dst: fputs
      Src: /src/libksba/tests/t-der-builder.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 202
    functionName: main
    functionSourceFile: /src/libksba/tests/t-der-builder.c
    functionUses: 11
    functionsReached:
    - strcmp
    - test_der_builder
    - fputs
    - test_der_encoding
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: dummy_hash_fnc
    functionSourceFile: /src/libksba/tests/t-cms-parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_hash_fnc (void *arg, const void *buffer, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cb_value
    - buffer
    - count
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: dummy_writer_cb
    functionSourceFile: /src/libksba/tests/t-cms-parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dummy_writer_cb (void *cb_value, const void *buffer, size_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libksba/tests/t-cms-parser.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: get_oid_desc
    functionSourceFile: /src/libksba/tests/t-cms-parser.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      get_oid_desc (const char *oid)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_oid_desc
      Src: /src/libksba/tests/t-cms-parser.c:72,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:73,1
    - Dst: putchar
      Src: /src/libksba/tests/t-cms-parser.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - oid
    - with_lf
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: print_oid_and_desc
    functionSourceFile: /src/libksba/tests/t-cms-parser.c
    functionUses: 0
    functionsReached:
    - get_oid_desc
    - putchar
    - printf
    linkageType: ''
    returnType: void
    signature: void print_oid_and_desc (const char *oid, int with_lf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ksba_free
      Src: /src/libksba/tests/t-cms-parser.c:93,1
    - Dst: ksba_free
      Src: /src/libksba/tests/t-cms-parser.c:94,1
    - Dst: ksba_cms_get_attribute
      Src: /src/libksba/tests/t-cms-parser.c:95,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:99,1
    - Dst: print_oid_and_desc
      Src: /src/libksba/tests/t-cms-parser.c:101,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:104,1
    - Dst: print_hex
      Src: /src/libksba/tests/t-cms-parser.c:107,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:108,1
    - Dst: print_hex
      Src: /src/libksba/tests/t-cms-parser.c:111,1
    - Dst: putchar
      Src: /src/libksba/tests/t-cms-parser.c:112,1
    - Dst: ksba_free
      Src: /src/libksba/tests/t-cms-parser.c:115,1
    - Dst: ksba_free
      Src: /src/libksba/tests/t-cms-parser.c:116,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/t-cms-parser.c:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - cms
    - signer
    - unprotected
    argTypes:
    - ksba_cms_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 121
    functionName: dump_one_attribute_set
    functionSourceFile: /src/libksba/tests/t-cms-parser.c
    functionUses: 0
    functionsReached:
    - print_oid_and_desc
    - ksba_free
    - printf
    - ksba_cms_get_attribute
    - gpg_err_code
    - print_hex
    - putchar
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t dump_one_attribute_set (ksba_cms_t cms, int signer, int
      unprotected)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:143,1
    - Dst: fopen
      Src: /src/libksba/tests/t-cms-parser.c:144,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-cms-parser.c:147,1
    - Dst: strerror
      Src: /src/libksba/tests/t-cms-parser.c:148,1
    - Dst: exit
      Src: /src/libksba/tests/t-cms-parser.c:149,1
    - Dst: ksba_reader_new
      Src: /src/libksba/tests/t-cms-parser.c:152,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-cms-parser.c:154,1
    - Dst: ksba_reader_set_file
      Src: /src/libksba/tests/t-cms-parser.c:155,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-cms-parser.c:156,1
    - Dst: ksba_writer_new
      Src: /src/libksba/tests/t-cms-parser.c:159,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-cms-parser.c:161,1
    - Dst: ksba_writer_set_cb
      Src: /src/libksba/tests/t-cms-parser.c:162,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-cms-parser.c:163,1
    - Dst: ksba_cms_identify
      Src: /src/libksba/tests/t-cms-parser.c:165,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:179,1
    - Dst: ksba_cms_new
      Src: /src/libksba/tests/t-cms-parser.c:181,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-cms-parser.c:183,1
    - Dst: ksba_cms_set_reader_writer
      Src: /src/libksba/tests/t-cms-parser.c:185,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-cms-parser.c:186,1
    - Dst: ksba_cms_parse
      Src: /src/libksba/tests/t-cms-parser.c:188,1
    - Dst: fail_if_err2
      Src: /src/libksba/tests/t-cms-parser.c:189,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:191,1
    - Dst: ksba_cms_get_content_oid
      Src: /src/libksba/tests/t-cms-parser.c:193,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:195,1
    - Dst: ksba_cms_parse
      Src: /src/libksba/tests/t-cms-parser.c:197,1
    - Dst: fail_if_err2
      Src: /src/libksba/tests/t-cms-parser.c:198,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:200,1
    - Dst: ksba_cms_get_content_oid
      Src: /src/libksba/tests/t-cms-parser.c:202,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:205,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:206,1
    - Dst: ksba_cms_get_digest_algo_list
      Src: /src/libksba/tests/t-cms-parser.c:208,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:210,1
    - Dst: putchar
      Src: /src/libksba/tests/t-cms-parser.c:212,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:216,1
    - Dst: ksba_cms_set_hash_function
      Src: /src/libksba/tests/t-cms-parser.c:218,1
    - Dst: ksba_cms_parse
      Src: /src/libksba/tests/t-cms-parser.c:222,1
    - Dst: fail_if_err2
      Src: /src/libksba/tests/t-cms-parser.c:223,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:225,1
    - Dst: ksba_cms_get_content_type
      Src: /src/libksba/tests/t-cms-parser.c:230,1
    - Dst: ksba_cms_get_issuer_serial
      Src: /src/libksba/tests/t-cms-parser.c:235,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/t-cms-parser.c:239,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:241,1
    - Dst: fail_if_err2
      Src: /src/libksba/tests/t-cms-parser.c:247,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:250,1
    - Dst: print_dn
      Src: /src/libksba/tests/t-cms-parser.c:251,1
    - Dst: ksba_free
      Src: /src/libksba/tests/t-cms-parser.c:253,1
    - Dst: putchar
      Src: /src/libksba/tests/t-cms-parser.c:256,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:257,1
    - Dst: print_sexp_hex
      Src: /src/libksba/tests/t-cms-parser.c:258,1
    - Dst: putchar
      Src: /src/libksba/tests/t-cms-parser.c:259,1
    - Dst: ksba_free
      Src: /src/libksba/tests/t-cms-parser.c:261,1
    - Dst: ksba_cms_get_enc_val
      Src: /src/libksba/tests/t-cms-parser.c:264,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:267,1
    - Dst: print_sexp
      Src: /src/libksba/tests/t-cms-parser.c:268,1
    - Dst: putchar
      Src: /src/libksba/tests/t-cms-parser.c:269,1
    - Dst: ksba_free
      Src: /src/libksba/tests/t-cms-parser.c:271,1
    - Dst: ksba_cms_get_issuer_serial
      Src: /src/libksba/tests/t-cms-parser.c:278,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/t-cms-parser.c:279,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:282,1
    - Dst: fail_if_err2
      Src: /src/libksba/tests/t-cms-parser.c:286,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:289,1
    - Dst: print_dn
      Src: /src/libksba/tests/t-cms-parser.c:290,1
    - Dst: putchar
      Src: /src/libksba/tests/t-cms-parser.c:291,1
    - Dst: ksba_free
      Src: /src/libksba/tests/t-cms-parser.c:293,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:297,1
    - Dst: print_sexp_hex
      Src: /src/libksba/tests/t-cms-parser.c:298,1
    - Dst: putchar
      Src: /src/libksba/tests/t-cms-parser.c:299,1
    - Dst: ksba_free
      Src: /src/libksba/tests/t-cms-parser.c:301,1
    - Dst: ksba_cms_get_message_digest
      Src: /src/libksba/tests/t-cms-parser.c:303,1
    - Dst: fail_if_err2
      Src: /src/libksba/tests/t-cms-parser.c:304,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:307,1
    - Dst: print_hex
      Src: /src/libksba/tests/t-cms-parser.c:308,1
    - Dst: putchar
      Src: /src/libksba/tests/t-cms-parser.c:309,1
    - Dst: ksba_free
      Src: /src/libksba/tests/t-cms-parser.c:311,1
    - Dst: ksba_cms_get_sigattr_oids
      Src: /src/libksba/tests/t-cms-parser.c:313,1
    - Dst: fail_if_err2
      Src: /src/libksba/tests/t-cms-parser.c:316,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:325,1
    - Dst: ksba_free
      Src: /src/libksba/tests/t-cms-parser.c:326,1
    - Dst: ksba_cms_get_digest_algo
      Src: /src/libksba/tests/t-cms-parser.c:329,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:331,1
    - Dst: ksba_cms_get_sig_val
      Src: /src/libksba/tests/t-cms-parser.c:333,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:338,1
    - Dst: print_sexp
      Src: /src/libksba/tests/t-cms-parser.c:339,1
    - Dst: putchar
      Src: /src/libksba/tests/t-cms-parser.c:340,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:346,1
    - Dst: ksba_free
      Src: /src/libksba/tests/t-cms-parser.c:348,1
    - Dst: dump_one_attribute_set
      Src: /src/libksba/tests/t-cms-parser.c:358,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/t-cms-parser.c:359,1
    - Dst: fail_if_err2
      Src: /src/libksba/tests/t-cms-parser.c:361,1
    - Dst: dump_one_attribute_set
      Src: /src/libksba/tests/t-cms-parser.c:362,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/t-cms-parser.c:363,1
    - Dst: fail_if_err2
      Src: /src/libksba/tests/t-cms-parser.c:365,1
    - Dst: ksba_cms_release
      Src: /src/libksba/tests/t-cms-parser.c:369,1
    - Dst: ksba_writer_release
      Src: /src/libksba/tests/t-cms-parser.c:370,1
    - Dst: ksba_reader_release
      Src: /src/libksba/tests/t-cms-parser.c:371,1
    - Dst: fclose
      Src: /src/libksba/tests/t-cms-parser.c:372,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 193
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 373
    functionName: one_file
    functionSourceFile: /src/libksba/tests/t-cms-parser.c
    functionUses: 3
    functionsReached:
    - print_dn
    - ksba_free
    - ksba_cms_get_content_type
    - exit
    - ksba_reader_release
    - ksba_cms_get_digest_algo
    - ksba_writer_release
    - print_sexp_hex
    - ksba_cms_get_sigattr_oids
    - print_hex
    - ksba_cms_get_content_oid
    - ksba_cms_get_enc_val
    - printf
    - ksba_cms_get_issuer_serial
    - ksba_cms_identify
    - ksba_reader_new
    - ksba_cms_get_digest_algo_list
    - fail_if_err2
    - ksba_writer_set_cb
    - ksba_cms_set_reader_writer
    - ksba_reader_set_file
    - fail_if_err
    - ksba_cms_new
    - fprintf
    - fopen
    - ksba_cms_release
    - putchar
    - ksba_cms_parse
    - ksba_cms_get_sig_val
    - ksba_writer_new
    - dump_one_attribute_set
    - ksba_cms_get_message_digest
    - ksba_cms_set_hash_function
    - fclose
    - gpg_err_code
    - print_sexp
    - strerror
    linkageType: ''
    returnType: void
    signature: void one_file (const char *fname)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libksba/tests/t-cms-parser.c:385,1
    - Dst: strcmp
      Src: /src/libksba/tests/t-cms-parser.c:390,1
    - Dst: one_file
      Src: /src/libksba/tests/t-cms-parser.c:399,1
    - Dst: prepend_srcdir
      Src: /src/libksba/tests/t-cms-parser.c:420,1
    - Dst: one_file
      Src: /src/libksba/tests/t-cms-parser.c:421,1
    - Dst: free
      Src: /src/libksba/tests/t-cms-parser.c:422,1
    - Dst: printf
      Src: /src/libksba/tests/t-cms-parser.c:427,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 430
    functionName: main
    functionSourceFile: /src/libksba/tests/t-cms-parser.c
    functionUses: 11
    functionsReached:
    - printf
    - strcmp
    - prepend_srcdir
    - one_file
    - free
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setmode
      Src: /src/libksba/tests/t-oid.c:44,1
    - Dst: fileno
      Src: /src/libksba/tests/t-oid.c:44,1
    - Dst: realloc
      Src: /src/libksba/tests/t-oid.c:51,1
    - Dst: perror
      Src: /src/libksba/tests/t-oid.c:54,1
    - Dst: exit
      Src: /src/libksba/tests/t-oid.c:55,1
    - Dst: fread
      Src: /src/libksba/tests/t-oid.c:58,1
    - Dst: ferror
      Src: /src/libksba/tests/t-oid.c:59,1
    - Dst: perror
      Src: /src/libksba/tests/t-oid.c:61,1
    - Dst: exit
      Src: /src/libksba/tests/t-oid.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - fp
    - r_length
    argTypes:
    - FILE*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 71
    functionName: read_into_buffer
    functionSourceFile: /src/libksba/tests/t-oid.c
    functionUses: 0
    functionsReached:
    - realloc
    - perror
    - exit
    - fileno
    - setmode
    - fread
    - ferror
    linkageType: ''
    returnType: void
    signature: 'void *

      read_into_buffer (FILE *fp, size_t *r_length)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ksba_oid_to_str
      Src: /src/libksba/tests/t-oid.c:133,1
    - Dst: perror
      Src: /src/libksba/tests/t-oid.c:136,1
    - Dst: exit
      Src: /src/libksba/tests/t-oid.c:137,1
    - Dst: strcmp
      Src: /src/libksba/tests/t-oid.c:139,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-oid.c:141,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-oid.c:142,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-oid.c:143,1
    - Dst: exit
      Src: /src/libksba/tests/t-oid.c:144,1
    - Dst: ksba_free
      Src: /src/libksba/tests/t-oid.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 148
    functionName: test_oid_to_str
    functionSourceFile: /src/libksba/tests/t-oid.c
    functionUses: 0
    functionsReached:
    - ksba_free
    - perror
    - exit
    - ksba_oid_to_str
    - fprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_oid_to_str (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_oid_to_str
      Src: /src/libksba/tests/t-oid.c:165,1
    - Dst: strcmp
      Src: /src/libksba/tests/t-oid.c:167,1
    - Dst: ksba_oid_from_str
      Src: /src/libksba/tests/t-oid.c:174,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-oid.c:177,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/t-oid.c:178,1
    - Dst: printf
      Src: /src/libksba/tests/t-oid.c:181,1
    - Dst: printf
      Src: /src/libksba/tests/t-oid.c:183,1
    - Dst: putchar
      Src: /src/libksba/tests/t-oid.c:184,1
    - Dst: free
      Src: /src/libksba/tests/t-oid.c:185,1
    - Dst: strcmp
      Src: /src/libksba/tests/t-oid.c:189,1
    - Dst: read_into_buffer
      Src: /src/libksba/tests/t-oid.c:197,1
    - Dst: ksba_oid_to_str
      Src: /src/libksba/tests/t-oid.c:198,1
    - Dst: free
      Src: /src/libksba/tests/t-oid.c:199,1
    - Dst: printf
      Src: /src/libksba/tests/t-oid.c:200,1
    - Dst: free
      Src: /src/libksba/tests/t-oid.c:201,1
    - Dst: fputs
      Src: /src/libksba/tests/t-oid.c:205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 210
    functionName: main
    functionSourceFile: /src/libksba/tests/t-oid.c
    functionUses: 11
    functionsReached:
    - test_oid_to_str
    - printf
    - ksba_oid_from_str
    - fprintf
    - strcmp
    - ksba_oid_to_str
    - gpg_strerror
    - fputs
    - read_into_buffer
    - putchar
    - free
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: digitp
    functionSourceFile: /src/libksba/tests/cert-basic.c
    functionUses: 111
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digitp(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: fail_if_err
    functionSourceFile: /src/libksba/tests/cert-basic.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail_if_err(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: fail_if_err2
    functionSourceFile: /src/libksba/tests/cert-basic.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail_if_err2(f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: xfree
    functionSourceFile: /src/libksba/tests/cert-basic.c
    functionUses: 1595
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xfree(a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:68,1
    - Dst: ksba_name_enum
      Src: /src/libksba/tests/cert-basic.c:72,1
    - Dst: ksba_name_get_uri
      Src: /src/libksba/tests/cert-basic.c:74,1
    - Dst: printf
      Src: /src/libksba/tests/cert-basic.c:76,1
    - Dst: xfree
      Src: /src/libksba/tests/cert-basic.c:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - indent
    - name
    argTypes:
    - int
    - ksba_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 79
    functionName: print_names
    functionSourceFile: /src/libksba/tests/cert-basic.c
    functionUses: 0
    functionsReached:
    - printf
    - xfree
    - fputs
    - ksba_name_enum
    - ksba_name_get_uri
    linkageType: ''
    returnType: void
    signature: void print_names (int indent, ksba_name_t name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libksba/tests/cert-basic.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: get_oid_desc
    functionSourceFile: /src/libksba/tests/cert-basic.c
    functionUses: 3
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      get_oid_desc (const char *oid)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_oid_desc
      Src: /src/libksba/tests/cert-basic.c:100,1
    - Dst: printf
      Src: /src/libksba/tests/cert-basic.c:101,1
    - Dst: putchar
      Src: /src/libksba/tests/cert-basic.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - oid
    - with_lf
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: print_oid_and_desc
    functionSourceFile: /src/libksba/tests/cert-basic.c
    functionUses: 1
    functionsReached:
    - get_oid_desc
    - putchar
    - printf
    linkageType: ''
    returnType: void
    signature: void print_oid_and_desc (const char *oid, int with_lf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libksba/tests/cert-basic.c:120,1
    - Dst: strchr
      Src: /src/libksba/tests/cert-basic.c:123,1
    - Dst: strlen
      Src: /src/libksba/tests/cert-basic.c:124,1
    - Dst: strspn
      Src: /src/libksba/tests/cert-basic.c:126,1
    - Dst: print_oid_and_desc
      Src: /src/libksba/tests/cert-basic.c:129,1
    - Dst: printf
      Src: /src/libksba/tests/cert-basic.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - indent
    - list
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 138
    functionName: print_oid_list
    functionSourceFile: /src/libksba/tests/cert-basic.c
    functionUses: 0
    functionsReached:
    - print_oid_and_desc
    - printf
    - strlen
    - strchr
    - strspn
    linkageType: ''
    returnType: void
    signature: void print_oid_list (int indent, char *list)
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_extension
      Src: /src/libksba/tests/cert-basic.c:156,1
    - Dst: get_oid_desc
      Src: /src/libksba/tests/cert-basic.c:159,1
    - Dst: printf
      Src: /src/libksba/tests/cert-basic.c:161,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/cert-basic.c:165,1
    - Dst: fprintf
      Src: /src/libksba/tests/cert-basic.c:167,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/cert-basic.c:169,1
    - Dst: ksba_cert_get_subj_key_id
      Src: /src/libksba/tests/cert-basic.c:174,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/cert-basic.c:175,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:178,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/cert-basic.c:179,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:182,1
    - Dst: print_sexp
      Src: /src/libksba/tests/cert-basic.c:188,1
    - Dst: putchar
      Src: /src/libksba/tests/cert-basic.c:189,1
    - Dst: ksba_free
      Src: /src/libksba/tests/cert-basic.c:192,1
    - Dst: ksba_cert_get_auth_key_id
      Src: /src/libksba/tests/cert-basic.c:197,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/cert-basic.c:198,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:201,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/cert-basic.c:202,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:205,1
    - Dst: print_names
      Src: /src/libksba/tests/cert-basic.c:211,1
    - Dst: ksba_name_release
      Src: /src/libksba/tests/cert-basic.c:212,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:215,1
    - Dst: print_sexp
      Src: /src/libksba/tests/cert-basic.c:216,1
    - Dst: ksba_free
      Src: /src/libksba/tests/cert-basic.c:218,1
    - Dst: putchar
      Src: /src/libksba/tests/cert-basic.c:221,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:226,1
    - Dst: print_sexp
      Src: /src/libksba/tests/cert-basic.c:227,1
    - Dst: putchar
      Src: /src/libksba/tests/cert-basic.c:228,1
    - Dst: ksba_free
      Src: /src/libksba/tests/cert-basic.c:230,1
    - Dst: fprintf
      Src: /src/libksba/tests/cert-basic.c:236,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/cert-basic.c:237,1
    - Dst: ksba_cert_is_ca
      Src: /src/libksba/tests/cert-basic.c:241,1
    - Dst: fprintf
      Src: /src/libksba/tests/cert-basic.c:244,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/cert-basic.c:245,1
    - Dst: printf
      Src: /src/libksba/tests/cert-basic.c:251,1
    - Dst: ksba_cert_get_key_usage
      Src: /src/libksba/tests/cert-basic.c:254,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/cert-basic.c:255,1
    - Dst: printf
      Src: /src/libksba/tests/cert-basic.c:258,1
    - Dst: fprintf
      Src: /src/libksba/tests/cert-basic.c:262,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/cert-basic.c:263,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:268,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:270,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:272,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:274,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:276,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:278,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:280,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:282,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:284,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:286,1
    - Dst: putchar
      Src: /src/libksba/tests/cert-basic.c:287,1
    - Dst: ksba_cert_get_ext_key_usages
      Src: /src/libksba/tests/cert-basic.c:289,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/cert-basic.c:290,1
    - Dst: printf
      Src: /src/libksba/tests/cert-basic.c:293,1
    - Dst: fprintf
      Src: /src/libksba/tests/cert-basic.c:297,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/cert-basic.c:298,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:305,1
    - Dst: print_oid_list
      Src: /src/libksba/tests/cert-basic.c:306,1
    - Dst: xfree
      Src: /src/libksba/tests/cert-basic.c:308,1
    - Dst: ksba_cert_get_cert_policies
      Src: /src/libksba/tests/cert-basic.c:312,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/cert-basic.c:313,1
    - Dst: printf
      Src: /src/libksba/tests/cert-basic.c:316,1
    - Dst: fprintf
      Src: /src/libksba/tests/cert-basic.c:320,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/cert-basic.c:321,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:334,1
    - Dst: print_oid_list
      Src: /src/libksba/tests/cert-basic.c:335,1
    - Dst: xfree
      Src: /src/libksba/tests/cert-basic.c:337,1
    - Dst: ksba_cert_get_crl_dist_point
      Src: /src/libksba/tests/cert-basic.c:341,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:346,1
    - Dst: print_names
      Src: /src/libksba/tests/cert-basic.c:347,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:350,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:352,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:354,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:356,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:358,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:360,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:362,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:364,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:366,1
    - Dst: putchar
      Src: /src/libksba/tests/cert-basic.c:367,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:368,1
    - Dst: print_names
      Src: /src/libksba/tests/cert-basic.c:370,1
    - Dst: ksba_name_release
      Src: /src/libksba/tests/cert-basic.c:371,1
    - Dst: ksba_name_release
      Src: /src/libksba/tests/cert-basic.c:372,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/cert-basic.c:374,1
    - Dst: fprintf
      Src: /src/libksba/tests/cert-basic.c:376,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/cert-basic.c:377,1
    - Dst: ksba_cert_get_authority_info_access
      Src: /src/libksba/tests/cert-basic.c:382,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:388,1
    - Dst: print_oid_and_desc
      Src: /src/libksba/tests/cert-basic.c:389,1
    - Dst: print_names
      Src: /src/libksba/tests/cert-basic.c:391,1
    - Dst: ksba_name_release
      Src: /src/libksba/tests/cert-basic.c:392,1
    - Dst: ksba_free
      Src: /src/libksba/tests/cert-basic.c:393,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/cert-basic.c:395,1
    - Dst: fprintf
      Src: /src/libksba/tests/cert-basic.c:397,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/cert-basic.c:399,1
    - Dst: ksba_cert_get_subject_info_access
      Src: /src/libksba/tests/cert-basic.c:404,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:410,1
    - Dst: print_oid_and_desc
      Src: /src/libksba/tests/cert-basic.c:411,1
    - Dst: print_names
      Src: /src/libksba/tests/cert-basic.c:413,1
    - Dst: ksba_name_release
      Src: /src/libksba/tests/cert-basic.c:414,1
    - Dst: ksba_free
      Src: /src/libksba/tests/cert-basic.c:415,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/cert-basic.c:417,1
    - Dst: fprintf
      Src: /src/libksba/tests/cert-basic.c:419,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/cert-basic.c:421,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 189
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 425
    functionName: list_extensions
    functionSourceFile: /src/libksba/tests/cert-basic.c
    functionUses: 0
    functionsReached:
    - ksba_cert_get_crl_dist_point
    - ksba_free
    - print_names
    - print_oid_and_desc
    - get_oid_desc
    - ksba_name_release
    - ksba_cert_get_extension
    - print_oid_list
    - ksba_cert_is_ca
    - ksba_cert_get_key_usage
    - ksba_cert_get_auth_key_id
    - printf
    - ksba_cert_get_cert_policies
    - ksba_cert_get_ext_key_usages
    - ksba_cert_get_authority_info_access
    - fprintf
    - gpg_strerror
    - xfree
    - putchar
    - ksba_cert_get_subject_info_access
    - gpg_err_code
    - fputs
    - print_sexp
    - ksba_cert_get_subj_key_id
    linkageType: ''
    returnType: void
    signature: void list_extensions (ksba_cert_t cert)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libksba/tests/cert-basic.c:441,1
    - Dst: fprintf
      Src: /src/libksba/tests/cert-basic.c:444,1
    - Dst: strerror
      Src: /src/libksba/tests/cert-basic.c:445,1
    - Dst: exit
      Src: /src/libksba/tests/cert-basic.c:446,1
    - Dst: ksba_reader_new
      Src: /src/libksba/tests/cert-basic.c:449,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/cert-basic.c:451,1
    - Dst: ksba_reader_set_file
      Src: /src/libksba/tests/cert-basic.c:452,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/cert-basic.c:453,1
    - Dst: ksba_cert_new
      Src: /src/libksba/tests/cert-basic.c:455,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/cert-basic.c:457,1
    - Dst: ksba_cert_read_der
      Src: /src/libksba/tests/cert-basic.c:459,1
    - Dst: fail_if_err2
      Src: /src/libksba/tests/cert-basic.c:460,1
    - Dst: printf
      Src: /src/libksba/tests/cert-basic.c:463,1
    - Dst: ksba_cert_get_serial
      Src: /src/libksba/tests/cert-basic.c:465,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:468,1
    - Dst: print_sexp
      Src: /src/libksba/tests/cert-basic.c:469,1
    - Dst: putchar
      Src: /src/libksba/tests/cert-basic.c:470,1
    - Dst: ksba_free
      Src: /src/libksba/tests/cert-basic.c:472,1
    - Dst: ksba_cert_get_issuer
      Src: /src/libksba/tests/cert-basic.c:474,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:478,1
    - Dst: print_dn
      Src: /src/libksba/tests/cert-basic.c:479,1
    - Dst: putchar
      Src: /src/libksba/tests/cert-basic.c:480,1
    - Dst: ksba_free
      Src: /src/libksba/tests/cert-basic.c:482,1
    - Dst: ksba_cert_get_subject
      Src: /src/libksba/tests/cert-basic.c:485,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:489,1
    - Dst: print_dn
      Src: /src/libksba/tests/cert-basic.c:490,1
    - Dst: putchar
      Src: /src/libksba/tests/cert-basic.c:491,1
    - Dst: ksba_free
      Src: /src/libksba/tests/cert-basic.c:493,1
    - Dst: ksba_cert_get_validity
      Src: /src/libksba/tests/cert-basic.c:496,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:499,1
    - Dst: print_time
      Src: /src/libksba/tests/cert-basic.c:500,1
    - Dst: putchar
      Src: /src/libksba/tests/cert-basic.c:501,1
    - Dst: ksba_cert_get_validity
      Src: /src/libksba/tests/cert-basic.c:503,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:506,1
    - Dst: print_time
      Src: /src/libksba/tests/cert-basic.c:507,1
    - Dst: putchar
      Src: /src/libksba/tests/cert-basic.c:508,1
    - Dst: ksba_cert_get_digest_algo
      Src: /src/libksba/tests/cert-basic.c:510,1
    - Dst: get_oid_desc
      Src: /src/libksba/tests/cert-basic.c:511,1
    - Dst: printf
      Src: /src/libksba/tests/cert-basic.c:513,1
    - Dst: ksba_cert_get_public_key
      Src: /src/libksba/tests/cert-basic.c:522,1
    - Dst: fprintf
      Src: /src/libksba/tests/cert-basic.c:525,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:536,1
    - Dst: print_sexp
      Src: /src/libksba/tests/cert-basic.c:537,1
    - Dst: putchar
      Src: /src/libksba/tests/cert-basic.c:538,1
    - Dst: _ksba_keyinfo_from_sexp
      Src: /src/libksba/tests/cert-basic.c:541,1
    - Dst: fprintf
      Src: /src/libksba/tests/cert-basic.c:544,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/cert-basic.c:545,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:554,1
    - Dst: print_hex
      Src: /src/libksba/tests/cert-basic.c:555,1
    - Dst: putchar
      Src: /src/libksba/tests/cert-basic.c:556,1
    - Dst: _ksba_keyinfo_to_sexp
      Src: /src/libksba/tests/cert-basic.c:558,1
    - Dst: fprintf
      Src: /src/libksba/tests/cert-basic.c:561,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/cert-basic.c:563,1
    - Dst: _ksba_keyinfo_from_sexp
      Src: /src/libksba/tests/cert-basic.c:571,1
    - Dst: fprintf
      Src: /src/libksba/tests/cert-basic.c:574,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/cert-basic.c:576,1
    - Dst: memcmp
      Src: /src/libksba/tests/cert-basic.c:579,1
    - Dst: fprintf
      Src: /src/libksba/tests/cert-basic.c:581,1
    - Dst: xfree
      Src: /src/libksba/tests/cert-basic.c:585,1
    - Dst: xfree
      Src: /src/libksba/tests/cert-basic.c:590,1
    - Dst: xfree
      Src: /src/libksba/tests/cert-basic.c:592,1
    - Dst: xfree
      Src: /src/libksba/tests/cert-basic.c:594,1
    - Dst: ksba_free
      Src: /src/libksba/tests/cert-basic.c:596,1
    - Dst: ksba_cert_get_sig_val
      Src: /src/libksba/tests/cert-basic.c:603,1
    - Dst: fputs
      Src: /src/libksba/tests/cert-basic.c:604,1
    - Dst: print_sexp
      Src: /src/libksba/tests/cert-basic.c:605,1
    - Dst: putchar
      Src: /src/libksba/tests/cert-basic.c:606,1
    - Dst: ksba_free
      Src: /src/libksba/tests/cert-basic.c:607,1
    - Dst: list_extensions
      Src: /src/libksba/tests/cert-basic.c:610,1
    - Dst: ksba_cert_release
      Src: /src/libksba/tests/cert-basic.c:612,1
    - Dst: ksba_cert_new
      Src: /src/libksba/tests/cert-basic.c:613,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/cert-basic.c:615,1
    - Dst: ksba_cert_read_der
      Src: /src/libksba/tests/cert-basic.c:617,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/cert-basic.c:618,1
    - Dst: fprintf
      Src: /src/libksba/tests/cert-basic.c:620,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/cert-basic.c:621,1
    - Dst: putchar
      Src: /src/libksba/tests/cert-basic.c:626,1
    - Dst: ksba_cert_release
      Src: /src/libksba/tests/cert-basic.c:627,1
    - Dst: ksba_reader_release
      Src: /src/libksba/tests/cert-basic.c:628,1
    - Dst: fclose
      Src: /src/libksba/tests/cert-basic.c:629,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 123
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 630
    functionName: one_file
    functionSourceFile: /src/libksba/tests/cert-basic.c
    functionUses: 4
    functionsReached:
    - print_dn
    - ksba_free
    - ksba_cert_get_public_key
    - get_oid_desc
    - exit
    - ksba_reader_release
    - ksba_cert_get_serial
    - print_hex
    - ksba_cert_new
    - print_time
    - ksba_cert_get_issuer
    - printf
    - ksba_cert_get_subject
    - list_extensions
    - ksba_reader_new
    - fail_if_err2
    - ksba_cert_release
    - _ksba_keyinfo_to_sexp
    - ksba_reader_set_file
    - ksba_cert_get_sig_val
    - fail_if_err
    - fprintf
    - ksba_cert_get_digest_algo
    - gpg_strerror
    - fopen
    - xfree
    - putchar
    - ksba_cert_read_der
    - fclose
    - _ksba_keyinfo_from_sexp
    - memcmp
    - gpg_err_code
    - fputs
    - print_sexp
    - strerror
    - ksba_cert_get_validity
    linkageType: ''
    returnType: void
    signature: void one_file (const char *fname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libksba/tests/cert-basic.c:638,1
    - Dst: strcmp
      Src: /src/libksba/tests/cert-basic.c:648,1
    - Dst: one_file
      Src: /src/libksba/tests/cert-basic.c:658,1
    - Dst: xmalloc
      Src: /src/libksba/tests/cert-basic.c:697,1
    - Dst: strlen
      Src: /src/libksba/tests/cert-basic.c:697,1
    - Dst: strlen
      Src: /src/libksba/tests/cert-basic.c:697,1
    - Dst: strcpy
      Src: /src/libksba/tests/cert-basic.c:698,1
    - Dst: strcat
      Src: /src/libksba/tests/cert-basic.c:699,1
    - Dst: strcat
      Src: /src/libksba/tests/cert-basic.c:700,1
    - Dst: one_file
      Src: /src/libksba/tests/cert-basic.c:701,1
    - Dst: ksba_free
      Src: /src/libksba/tests/cert-basic.c:702,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 707
    functionName: main
    functionSourceFile: /src/libksba/tests/cert-basic.c
    functionUses: 11
    functionsReached:
    - ksba_free
    - strlen
    - getenv
    - strcmp
    - xmalloc
    - one_file
    - strcpy
    - strcat
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: digitp
    functionSourceFile: /src/libksba/tests/t-common.h
    functionUses: 111
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digitp(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: fail_if_err
    functionSourceFile: /src/libksba/tests/t-common.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail_if_err(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: fail_if_err2
    functionSourceFile: /src/libksba/tests/t-common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail_if_err2(f, a)
  - 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: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: fail
    functionSourceFile: /src/libksba/tests/t-common.h
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: xfree
    functionSourceFile: /src/libksba/tests/t-common.h
    functionUses: 1598
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xfree(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ksba_malloc
      Src: /src/libksba/tests/t-common.h:50,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-common.h:53,1
    - Dst: exit
      Src: /src/libksba/tests/t-common.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: xmalloc
    functionSourceFile: /src/libksba/tests/t-common.h
    functionUses: 204
    functionsReached:
    - fprintf
    - exit
    - ksba_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xmalloc (size_t n)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libksba/tests/t-common.h:69,1
    - Dst: xmalloc
      Src: /src/libksba/tests/t-common.h:72,1
    - Dst: strlen
      Src: /src/libksba/tests/t-common.h:72,1
    - Dst: strlen
      Src: /src/libksba/tests/t-common.h:72,1
    - Dst: strcpy
      Src: /src/libksba/tests/t-common.h:73,1
    - Dst: strcat
      Src: /src/libksba/tests/t-common.h:74,1
    - Dst: strcat
      Src: /src/libksba/tests/t-common.h:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: prepend_srcdir
    functionSourceFile: /src/libksba/tests/t-common.h
    functionUses: 6
    functionsReached:
    - strlen
    - getenv
    - xmalloc
    - strcpy
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      prepend_srcdir (const char *fname)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libksba/tests/t-common.h:87,1
    - Dst: printf
      Src: /src/libksba/tests/t-common.h:93,1
    - Dst: printf
      Src: /src/libksba/tests/t-common.h:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - p
    - n
    - wrapindent
    argTypes:
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: print_hex
    functionSourceFile: /src/libksba/tests/t-common.h
    functionUses: 4
    functionsReached:
    - printf
    - fputs
    linkageType: ''
    returnType: void
    signature: void print_hex (const unsigned char *p, size_t n, int wrapindent)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libksba/tests/t-common.h:108,1
    - Dst: putchar
      Src: /src/libksba/tests/t-common.h:116,1
    - Dst: putchar
      Src: /src/libksba/tests/t-common.h:123,1
    - Dst: digitp
      Src: /src/libksba/tests/t-common.h:128,1
    - Dst: fputs
      Src: /src/libksba/tests/t-common.h:130,1
    - Dst: strtoul
      Src: /src/libksba/tests/t-common.h:139,1
    - Dst: fputs
      Src: /src/libksba/tests/t-common.h:143,1
    - Dst: putchar
      Src: /src/libksba/tests/t-common.h:154,1
    - Dst: putchar
      Src: /src/libksba/tests/t-common.h:157,1
    - Dst: printf
      Src: /src/libksba/tests/t-common.h:159,1
    - Dst: putchar
      Src: /src/libksba/tests/t-common.h:160,1
    - Dst: putchar
      Src: /src/libksba/tests/t-common.h:165,1
    - Dst: putchar
      Src: /src/libksba/tests/t-common.h:166,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 1
    argNames:
    - p
    argTypes:
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 172
    functionName: print_sexp
    functionSourceFile: /src/libksba/tests/t-common.h
    functionUses: 4
    functionsReached:
    - printf
    - digitp
    - fputs
    - strtoul
    - putchar
    linkageType: ''
    returnType: void
    signature: void print_sexp (ksba_const_sexp_t p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libksba/tests/t-common.h:181,1
    - Dst: putchar
      Src: /src/libksba/tests/t-common.h:188,1
    - Dst: putchar
      Src: /src/libksba/tests/t-common.h:194,1
    - Dst: digitp
      Src: /src/libksba/tests/t-common.h:199,1
    - Dst: fputs
      Src: /src/libksba/tests/t-common.h:201,1
    - Dst: strtoul
      Src: /src/libksba/tests/t-common.h:209,1
    - Dst: fputs
      Src: /src/libksba/tests/t-common.h:213,1
    - Dst: putchar
      Src: /src/libksba/tests/t-common.h:217,1
    - Dst: printf
      Src: /src/libksba/tests/t-common.h:219,1
    - Dst: putchar
      Src: /src/libksba/tests/t-common.h:220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - p
    argTypes:
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 224
    functionName: print_sexp_hex
    functionSourceFile: /src/libksba/tests/t-common.h
    functionUses: 1
    functionsReached:
    - printf
    - digitp
    - fputs
    - strtoul
    - putchar
    linkageType: ''
    returnType: void
    signature: void print_sexp_hex (ksba_const_sexp_t p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libksba/tests/t-common.h:231,1
    - Dst: printf
      Src: /src/libksba/tests/t-common.h:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: print_dn
    functionSourceFile: /src/libksba/tests/t-common.h
    functionUses: 2
    functionsReached:
    - printf
    - fputs
    linkageType: ''
    returnType: void
    signature: void print_dn (char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libksba/tests/t-common.h:241,1
    - Dst: printf
      Src: /src/libksba/tests/t-common.h:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: print_time
    functionSourceFile: /src/libksba/tests/t-common.h
    functionUses: 4
    functionsReached:
    - printf
    - fputs
    linkageType: ''
    returnType: void
    signature: void print_time (ksba_isotime_t t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libksba/tests/t-reader.c:39,1
    - Dst: perror
      Src: /src/libksba/tests/t-reader.c:46,1
    - Dst: exit
      Src: /src/libksba/tests/t-reader.c:47,1
    - Dst: ksba_reader_new
      Src: /src/libksba/tests/t-reader.c:50,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-reader.c:52,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/t-reader.c:52,1
    - Dst: exit
      Src: /src/libksba/tests/t-reader.c:53,1
    - Dst: ksba_reader_set_fd
      Src: /src/libksba/tests/t-reader.c:56,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-reader.c:58,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/t-reader.c:58,1
    - Dst: exit
      Src: /src/libksba/tests/t-reader.c:59,1
    - Dst: ksba_cert_new
      Src: /src/libksba/tests/t-reader.c:62,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-reader.c:64,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/t-reader.c:64,1
    - Dst: exit
      Src: /src/libksba/tests/t-reader.c:65,1
    - Dst: ksba_cert_read_der
      Src: /src/libksba/tests/t-reader.c:68,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-reader.c:70,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/t-reader.c:70,1
    - Dst: exit
      Src: /src/libksba/tests/t-reader.c:71,1
    - Dst: ksba_cert_release
      Src: /src/libksba/tests/t-reader.c:74,1
    - Dst: ksba_reader_release
      Src: /src/libksba/tests/t-reader.c:75,1
    - Dst: close
      Src: /src/libksba/tests/t-reader.c:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 77
    functionName: test_fd
    functionSourceFile: /src/libksba/tests/t-reader.c
    functionUses: 5
    functionsReached:
    - open
    - perror
    - close
    - exit
    - ksba_reader_release
    - fprintf
    - ksba_reader_new
    - ksba_cert_release
    - gpg_strerror
    - ksba_reader_set_fd
    - ksba_cert_new
    - ksba_cert_read_der
    linkageType: ''
    returnType: void
    signature: void test_fd(const char* path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libksba/tests/t-reader.c:82,1
    - Dst: perror
      Src: /src/libksba/tests/t-reader.c:89,1
    - Dst: exit
      Src: /src/libksba/tests/t-reader.c:90,1
    - Dst: ksba_reader_new
      Src: /src/libksba/tests/t-reader.c:93,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-reader.c:95,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/t-reader.c:95,1
    - Dst: exit
      Src: /src/libksba/tests/t-reader.c:96,1
    - Dst: ksba_reader_set_file
      Src: /src/libksba/tests/t-reader.c:99,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-reader.c:101,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/t-reader.c:101,1
    - Dst: exit
      Src: /src/libksba/tests/t-reader.c:102,1
    - Dst: ksba_cert_new
      Src: /src/libksba/tests/t-reader.c:105,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-reader.c:107,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/t-reader.c:107,1
    - Dst: exit
      Src: /src/libksba/tests/t-reader.c:108,1
    - Dst: ksba_cert_read_der
      Src: /src/libksba/tests/t-reader.c:111,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-reader.c:113,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/t-reader.c:113,1
    - Dst: exit
      Src: /src/libksba/tests/t-reader.c:114,1
    - Dst: ksba_cert_release
      Src: /src/libksba/tests/t-reader.c:117,1
    - Dst: ksba_reader_release
      Src: /src/libksba/tests/t-reader.c:118,1
    - Dst: fclose
      Src: /src/libksba/tests/t-reader.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 120
    functionName: test_file
    functionSourceFile: /src/libksba/tests/t-reader.c
    functionUses: 0
    functionsReached:
    - ksba_reader_set_file
    - perror
    - fclose
    - exit
    - ksba_reader_release
    - ksba_reader_new
    - fprintf
    - ksba_cert_release
    - gpg_strerror
    - fopen
    - ksba_cert_new
    - ksba_cert_read_der
    linkageType: ''
    returnType: void
    signature: void test_file(const char* path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libksba/tests/t-reader.c:125,1
    - Dst: perror
      Src: /src/libksba/tests/t-reader.c:136,1
    - Dst: exit
      Src: /src/libksba/tests/t-reader.c:137,1
    - Dst: fstat
      Src: /src/libksba/tests/t-reader.c:140,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-reader.c:142,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/t-reader.c:142,1
    - Dst: exit
      Src: /src/libksba/tests/t-reader.c:143,1
    - Dst: xmalloc
      Src: /src/libksba/tests/t-reader.c:146,1
    - Dst: read
      Src: /src/libksba/tests/t-reader.c:148,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-reader.c:152,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/t-reader.c:152,1
    - Dst: exit
      Src: /src/libksba/tests/t-reader.c:153,1
    - Dst: ksba_reader_new
      Src: /src/libksba/tests/t-reader.c:158,1
    - Dst: exit
      Src: /src/libksba/tests/t-reader.c:160,1
    - Dst: ksba_reader_set_mem
      Src: /src/libksba/tests/t-reader.c:163,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-reader.c:165,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/t-reader.c:165,1
    - Dst: exit
      Src: /src/libksba/tests/t-reader.c:166,1
    - Dst: ksba_cert_new
      Src: /src/libksba/tests/t-reader.c:169,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-reader.c:171,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/t-reader.c:171,1
    - Dst: exit
      Src: /src/libksba/tests/t-reader.c:172,1
    - Dst: ksba_cert_read_der
      Src: /src/libksba/tests/t-reader.c:175,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-reader.c:177,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/t-reader.c:177,1
    - Dst: exit
      Src: /src/libksba/tests/t-reader.c:178,1
    - Dst: ksba_cert_release
      Src: /src/libksba/tests/t-reader.c:181,1
    - Dst: ksba_reader_release
      Src: /src/libksba/tests/t-reader.c:182,1
    - Dst: xfree
      Src: /src/libksba/tests/t-reader.c:183,1
    - Dst: close
      Src: /src/libksba/tests/t-reader.c:184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 185
    functionName: test_mem
    functionSourceFile: /src/libksba/tests/t-reader.c
    functionUses: 0
    functionsReached:
    - ksba_reader_set_mem
    - open
    - perror
    - read
    - close
    - exit
    - ksba_reader_release
    - fstat
    - fprintf
    - xmalloc
    - ksba_reader_new
    - ksba_cert_release
    - gpg_strerror
    - xfree
    - ksba_cert_new
    - ksba_cert_read_der
    linkageType: ''
    returnType: void
    signature: void test_mem(const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prepend_srcdir
      Src: /src/libksba/tests/t-reader.c:192,1
    - Dst: test_fd
      Src: /src/libksba/tests/t-reader.c:194,1
    - Dst: test_file
      Src: /src/libksba/tests/t-reader.c:195,1
    - Dst: test_mem
      Src: /src/libksba/tests/t-reader.c:196,1
    - Dst: free
      Src: /src/libksba/tests/t-reader.c:197,1
    - Dst: test_fd
      Src: /src/libksba/tests/t-reader.c:204,1
    - Dst: test_file
      Src: /src/libksba/tests/t-reader.c:205,1
    - Dst: test_mem
      Src: /src/libksba/tests/t-reader.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 211
    functionName: main
    functionSourceFile: /src/libksba/tests/t-reader.c
    functionUses: 11
    functionsReached:
    - test_mem
    - test_file
    - prepend_srcdir
    - test_fd
    - free
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ksba_dn_str2der
      Src: /src/libksba/tests/t-dnparser.c:52,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-dnparser.c:55,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/t-dnparser.c:56,1
    - Dst: exit
      Src: /src/libksba/tests/t-dnparser.c:57,1
    - Dst: ksba_dn_teststr
      Src: /src/libksba/tests/t-dnparser.c:59,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-dnparser.c:62,1
    - Dst: gpg_strerror
      Src: /src/libksba/tests/t-dnparser.c:63,1
    - Dst: exit
      Src: /src/libksba/tests/t-dnparser.c:64,1
    - Dst: xfree
      Src: /src/libksba/tests/t-dnparser.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 68
    functionName: test_0
    functionSourceFile: /src/libksba/tests/t-dnparser.c
    functionUses: 0
    functionsReached:
    - ksba_dn_str2der
    - exit
    - fprintf
    - gpg_strerror
    - xfree
    - ksba_dn_teststr
    linkageType: ''
    returnType: void
    signature: void test_0 (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ksba_dn_str2der
      Src: /src/libksba/tests/t-dnparser.c:92,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/t-dnparser.c:93,1
    - Dst: fail
      Src: /src/libksba/tests/t-dnparser.c:94,1
    - Dst: ksba_dn_teststr
      Src: /src/libksba/tests/t-dnparser.c:95,1
    - Dst: fail
      Src: /src/libksba/tests/t-dnparser.c:97,1
    - Dst: printf
      Src: /src/libksba/tests/t-dnparser.c:99,1
    - Dst: xfree
      Src: /src/libksba/tests/t-dnparser.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: test_1
    functionSourceFile: /src/libksba/tests/t-dnparser.c
    functionUses: 2
    functionsReached:
    - printf
    - fail
    - ksba_dn_str2der
    - gpg_err_code
    - xfree
    - ksba_dn_teststr
    linkageType: ''
    returnType: void
    signature: void test_1 (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ksba_dn_str2der
      Src: /src/libksba/tests/t-dnparser.c:121,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/t-dnparser.c:122,1
    - Dst: fail
      Src: /src/libksba/tests/t-dnparser.c:123,1
    - Dst: ksba_dn_teststr
      Src: /src/libksba/tests/t-dnparser.c:124,1
    - Dst: fail
      Src: /src/libksba/tests/t-dnparser.c:126,1
    - Dst: printf
      Src: /src/libksba/tests/t-dnparser.c:128,1
    - Dst: xfree
      Src: /src/libksba/tests/t-dnparser.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: test_2
    functionSourceFile: /src/libksba/tests/t-dnparser.c
    functionUses: 1
    functionsReached:
    - printf
    - fail
    - ksba_dn_str2der
    - gpg_err_code
    - xfree
    - ksba_dn_teststr
    linkageType: ''
    returnType: void
    signature: void test_2 (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libksba/tests/t-dnparser.c:150,1
    - Dst: strcmp
      Src: /src/libksba/tests/t-dnparser.c:156,1
    - Dst: fread
      Src: /src/libksba/tests/t-dnparser.c:158,1
    - Dst: feof
      Src: /src/libksba/tests/t-dnparser.c:159,1
    - Dst: fail
      Src: /src/libksba/tests/t-dnparser.c:160,1
    - Dst: ksba_dn_der2str
      Src: /src/libksba/tests/t-dnparser.c:162,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-dnparser.c:163,1
    - Dst: fputs
      Src: /src/libksba/tests/t-dnparser.c:164,1
    - Dst: ksba_free
      Src: /src/libksba/tests/t-dnparser.c:165,1
    - Dst: strcmp
      Src: /src/libksba/tests/t-dnparser.c:167,1
    - Dst: fread
      Src: /src/libksba/tests/t-dnparser.c:169,1
    - Dst: feof
      Src: /src/libksba/tests/t-dnparser.c:170,1
    - Dst: fail
      Src: /src/libksba/tests/t-dnparser.c:171,1
    - Dst: ksba_dn_str2der
      Src: /src/libksba/tests/t-dnparser.c:173,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-dnparser.c:174,1
    - Dst: fwrite
      Src: /src/libksba/tests/t-dnparser.c:175,1
    - Dst: test_0
      Src: /src/libksba/tests/t-dnparser.c:181,1
    - Dst: test_1
      Src: /src/libksba/tests/t-dnparser.c:182,1
    - Dst: test_2
      Src: /src/libksba/tests/t-dnparser.c:183,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-dnparser.c:187,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 192
    functionName: main
    functionSourceFile: /src/libksba/tests/t-dnparser.c
    functionUses: 11
    functionsReached:
    - test_0
    - ksba_free
    - fail
    - ksba_dn_str2der
    - fwrite
    - fail_if_err
    - ksba_dn_der2str
    - test_1
    - strcmp
    - feof
    - fprintf
    - fputs
    - test_2
    - fread
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libksba/tests/t-crl-parser.c:49,1
    - Dst: fail
      Src: /src/libksba/tests/t-crl-parser.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - arg
    - buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: my_hasher
    functionSourceFile: /src/libksba/tests/t-crl-parser.c
    functionUses: 0
    functionsReached:
    - fail
    - fwrite
    linkageType: ''
    returnType: void
    signature: void my_hasher (void *arg, const void *buffer, size_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libksba/tests/t-crl-parser.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: get_oid_desc
    functionSourceFile: /src/libksba/tests/t-crl-parser.c
    functionUses: 6
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      get_oid_desc (const char *oid)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libksba/tests/t-crl-parser.c:83,1
    - Dst: ksba_name_enum
      Src: /src/libksba/tests/t-crl-parser.c:87,1
    - Dst: ksba_name_get_uri
      Src: /src/libksba/tests/t-crl-parser.c:89,1
    - Dst: printf
      Src: /src/libksba/tests/t-crl-parser.c:91,1
    - Dst: xfree
      Src: /src/libksba/tests/t-crl-parser.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - indent
    - name
    argTypes:
    - int
    - ksba_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 94
    functionName: print_names
    functionSourceFile: /src/libksba/tests/t-crl-parser.c
    functionUses: 1
    functionsReached:
    - printf
    - xfree
    - fputs
    - ksba_name_enum
    - ksba_name_get_uri
    linkageType: ''
    returnType: void
    signature: void print_names (int indent, ksba_name_t name)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/libksba/tests/t-crl-parser.c:114,1
    - Dst: fail
      Src: /src/libksba/tests/t-crl-parser.c:115,1
    - Dst: fopen
      Src: /src/libksba/tests/t-crl-parser.c:116,1
    - Dst: fail
      Src: /src/libksba/tests/t-crl-parser.c:118,1
    - Dst: free
      Src: /src/libksba/tests/t-crl-parser.c:119,1
    - Dst: printf
      Src: /src/libksba/tests/t-crl-parser.c:124,1
    - Dst: fopen
      Src: /src/libksba/tests/t-crl-parser.c:125,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-crl-parser.c:128,1
    - Dst: strerror
      Src: /src/libksba/tests/t-crl-parser.c:129,1
    - Dst: exit
      Src: /src/libksba/tests/t-crl-parser.c:130,1
    - Dst: ksba_reader_new
      Src: /src/libksba/tests/t-crl-parser.c:133,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-crl-parser.c:135,1
    - Dst: ksba_reader_set_file
      Src: /src/libksba/tests/t-crl-parser.c:136,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-crl-parser.c:137,1
    - Dst: ksba_crl_new
      Src: /src/libksba/tests/t-crl-parser.c:139,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-crl-parser.c:141,1
    - Dst: ksba_crl_set_reader
      Src: /src/libksba/tests/t-crl-parser.c:143,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-crl-parser.c:144,1
    - Dst: ksba_crl_set_hash_function
      Src: /src/libksba/tests/t-crl-parser.c:147,1
    - Dst: ksba_crl_parse
      Src: /src/libksba/tests/t-crl-parser.c:151,1
    - Dst: fail_if_err2
      Src: /src/libksba/tests/t-crl-parser.c:152,1
    - Dst: ksba_crl_get_digest_algo
      Src: /src/libksba/tests/t-crl-parser.c:161,1
    - Dst: printf
      Src: /src/libksba/tests/t-crl-parser.c:163,1
    - Dst: strcmp
      Src: /src/libksba/tests/t-crl-parser.c:164,1
    - Dst: printf
      Src: /src/libksba/tests/t-crl-parser.c:169,1
    - Dst: ksba_crl_get_sig_val
      Src: /src/libksba/tests/t-crl-parser.c:170,1
    - Dst: print_sexp
      Src: /src/libksba/tests/t-crl-parser.c:173,1
    - Dst: putchar
      Src: /src/libksba/tests/t-crl-parser.c:174,1
    - Dst: xfree
      Src: /src/libksba/tests/t-crl-parser.c:176,1
    - Dst: ksba_crl_get_issuer
      Src: /src/libksba/tests/t-crl-parser.c:179,1
    - Dst: fail_if_err2
      Src: /src/libksba/tests/t-crl-parser.c:180,1
    - Dst: printf
      Src: /src/libksba/tests/t-crl-parser.c:183,1
    - Dst: print_dn
      Src: /src/libksba/tests/t-crl-parser.c:184,1
    - Dst: putchar
      Src: /src/libksba/tests/t-crl-parser.c:185,1
    - Dst: xfree
      Src: /src/libksba/tests/t-crl-parser.c:187,1
    - Dst: ksba_crl_get_update_times
      Src: /src/libksba/tests/t-crl-parser.c:189,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/t-crl-parser.c:190,1
    - Dst: fail_if_err2
      Src: /src/libksba/tests/t-crl-parser.c:191,1
    - Dst: printf
      Src: /src/libksba/tests/t-crl-parser.c:194,1
    - Dst: print_time
      Src: /src/libksba/tests/t-crl-parser.c:195,1
    - Dst: putchar
      Src: /src/libksba/tests/t-crl-parser.c:196,1
    - Dst: printf
      Src: /src/libksba/tests/t-crl-parser.c:197,1
    - Dst: print_time
      Src: /src/libksba/tests/t-crl-parser.c:198,1
    - Dst: putchar
      Src: /src/libksba/tests/t-crl-parser.c:199,1
    - Dst: ksba_crl_get_item
      Src: /src/libksba/tests/t-crl-parser.c:210,1
    - Dst: fail_if_err2
      Src: /src/libksba/tests/t-crl-parser.c:211,1
    - Dst: printf
      Src: /src/libksba/tests/t-crl-parser.c:214,1
    - Dst: print_sexp_hex
      Src: /src/libksba/tests/t-crl-parser.c:215,1
    - Dst: printf
      Src: /src/libksba/tests/t-crl-parser.c:216,1
    - Dst: print_time
      Src: /src/libksba/tests/t-crl-parser.c:217,1
    - Dst: printf
      Src: /src/libksba/tests/t-crl-parser.c:218,1
    - Dst: xfree
      Src: /src/libksba/tests/t-crl-parser.c:220,1
    - Dst: fail
      Src: /src/libksba/tests/t-crl-parser.c:231,1
    - Dst: ksba_crl_get_digest_algo
      Src: /src/libksba/tests/t-crl-parser.c:237,1
    - Dst: fail
      Src: /src/libksba/tests/t-crl-parser.c:238,1
    - Dst: ksba_crl_get_auth_key_id
      Src: /src/libksba/tests/t-crl-parser.c:245,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/t-crl-parser.c:246,1
    - Dst: fputs
      Src: /src/libksba/tests/t-crl-parser.c:249,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/t-crl-parser.c:250,1
    - Dst: fputs
      Src: /src/libksba/tests/t-crl-parser.c:253,1
    - Dst: print_names
      Src: /src/libksba/tests/t-crl-parser.c:259,1
    - Dst: ksba_name_release
      Src: /src/libksba/tests/t-crl-parser.c:260,1
    - Dst: fputs
      Src: /src/libksba/tests/t-crl-parser.c:263,1
    - Dst: print_sexp_hex
      Src: /src/libksba/tests/t-crl-parser.c:264,1
    - Dst: ksba_free
      Src: /src/libksba/tests/t-crl-parser.c:266,1
    - Dst: putchar
      Src: /src/libksba/tests/t-crl-parser.c:269,1
    - Dst: fputs
      Src: /src/libksba/tests/t-crl-parser.c:274,1
    - Dst: print_sexp
      Src: /src/libksba/tests/t-crl-parser.c:275,1
    - Dst: putchar
      Src: /src/libksba/tests/t-crl-parser.c:276,1
    - Dst: ksba_free
      Src: /src/libksba/tests/t-crl-parser.c:278,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-crl-parser.c:283,1
    - Dst: ksba_crl_get_crl_number
      Src: /src/libksba/tests/t-crl-parser.c:289,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/t-crl-parser.c:290,1
    - Dst: fputs
      Src: /src/libksba/tests/t-crl-parser.c:293,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/t-crl-parser.c:294,1
    - Dst: fputs
      Src: /src/libksba/tests/t-crl-parser.c:297,1
    - Dst: print_sexp
      Src: /src/libksba/tests/t-crl-parser.c:302,1
    - Dst: ksba_free
      Src: /src/libksba/tests/t-crl-parser.c:303,1
    - Dst: putchar
      Src: /src/libksba/tests/t-crl-parser.c:306,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-crl-parser.c:309,1
    - Dst: ksba_crl_get_extension
      Src: /src/libksba/tests/t-crl-parser.c:318,1
    - Dst: get_oid_desc
      Src: /src/libksba/tests/t-crl-parser.c:322,1
    - Dst: printf
      Src: /src/libksba/tests/t-crl-parser.c:324,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/t-crl-parser.c:329,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/t-crl-parser.c:330,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-crl-parser.c:331,1
    - Dst: ksba_crl_get_sig_val
      Src: /src/libksba/tests/t-crl-parser.c:338,1
    - Dst: fail
      Src: /src/libksba/tests/t-crl-parser.c:340,1
    - Dst: print_sexp
      Src: /src/libksba/tests/t-crl-parser.c:343,1
    - Dst: putchar
      Src: /src/libksba/tests/t-crl-parser.c:344,1
    - Dst: xfree
      Src: /src/libksba/tests/t-crl-parser.c:346,1
    - Dst: ksba_crl_release
      Src: /src/libksba/tests/t-crl-parser.c:350,1
    - Dst: ksba_reader_release
      Src: /src/libksba/tests/t-crl-parser.c:351,1
    - Dst: fclose
      Src: /src/libksba/tests/t-crl-parser.c:352,1
    - Dst: fclose
      Src: /src/libksba/tests/t-crl-parser.c:354,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 159
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 355
    functionName: one_file
    functionSourceFile: /src/libksba/tests/t-crl-parser.c
    functionUses: 5
    functionsReached:
    - print_dn
    - ksba_free
    - print_names
    - ksba_crl_get_update_times
    - get_oid_desc
    - exit
    - ksba_crl_get_auth_key_id
    - ksba_reader_release
    - ksba_name_release
    - print_sexp_hex
    - ksba_crl_get_item
    - print_time
    - printf
    - ksba_crl_get_digest_algo
    - ksba_crl_get_extension
    - ksba_reader_new
    - ksba_crl_set_reader
    - fail_if_err2
    - ksba_crl_get_sig_val
    - ksba_crl_new
    - asprintf
    - ksba_crl_set_hash_function
    - ksba_crl_parse
    - ksba_reader_set_file
    - ksba_crl_get_issuer
    - fail_if_err
    - fprintf
    - strcmp
    - xfree
    - fopen
    - ksba_crl_get_crl_number
    - putchar
    - fail
    - fclose
    - ksba_crl_release
    - gpg_err_code
    - fputs
    - print_sexp
    - strerror
    - free
    linkageType: ''
    returnType: void
    signature: void one_file (const char *fname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libksba/tests/t-crl-parser.c:363,1
    - Dst: strcmp
      Src: /src/libksba/tests/t-crl-parser.c:372,1
    - Dst: one_file
      Src: /src/libksba/tests/t-crl-parser.c:381,1
    - Dst: xmalloc
      Src: /src/libksba/tests/t-crl-parser.c:398,1
    - Dst: strlen
      Src: /src/libksba/tests/t-crl-parser.c:398,1
    - Dst: strlen
      Src: /src/libksba/tests/t-crl-parser.c:398,1
    - Dst: strcpy
      Src: /src/libksba/tests/t-crl-parser.c:399,1
    - Dst: strcat
      Src: /src/libksba/tests/t-crl-parser.c:400,1
    - Dst: strcat
      Src: /src/libksba/tests/t-crl-parser.c:401,1
    - Dst: one_file
      Src: /src/libksba/tests/t-crl-parser.c:402,1
    - Dst: xfree
      Src: /src/libksba/tests/t-crl-parser.c:403,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 408
    functionName: main
    functionSourceFile: /src/libksba/tests/t-crl-parser.c
    functionUses: 11
    functionsReached:
    - strlen
    - getenv
    - strcmp
    - xmalloc
    - one_file
    - strcpy
    - xfree
    - strcat
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: rol
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rol(x,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: ror
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 2376
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ror(x,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: sha1_init
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sha1_init (void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: sha256_init
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sha256_init (void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libksba/tests/sha1.c:115,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:151,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:152,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:153,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:154,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:155,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:156,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:157,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:158,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:159,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:160,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:161,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:162,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:163,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:164,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:165,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:166,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:167,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:167,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:168,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:168,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:169,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:169,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:170,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:170,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:171,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:171,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:172,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:172,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:173,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:173,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:174,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:174,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:175,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:175,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:176,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:176,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:177,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:177,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:178,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:178,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:179,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:179,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:180,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:180,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:181,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:181,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:182,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:182,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:183,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:183,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:184,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:184,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:185,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:185,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:186,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:186,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:187,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:187,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:188,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:188,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:189,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:189,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:190,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:190,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:191,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:191,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:192,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:192,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:193,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:193,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:194,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:194,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:195,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:195,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:196,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:196,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:197,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:197,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:198,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:198,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:199,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:199,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:200,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:200,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:201,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:201,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:202,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:202,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:203,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:203,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:204,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:204,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:205,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:205,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:206,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:206,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:207,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:207,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:208,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:208,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:209,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:209,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:210,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:210,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:211,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:211,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:212,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:212,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:213,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:213,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:214,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:214,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:215,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:215,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:216,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:216,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:217,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:217,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:218,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:218,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:219,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:219,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:220,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:220,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:221,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:221,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:222,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:222,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:223,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:223,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:224,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:224,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:225,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:225,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:226,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:226,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:227,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:227,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:228,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:228,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:229,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:229,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:230,1
    - Dst: M
      Src: /src/libksba/tests/sha1.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 99
    argCount: 2
    argNames:
    - hd
    - data
    argTypes:
    - sha1_context_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 249
    functionName: transform
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 2
    functionsReached:
    - M
    - R
    - memcpy
    linkageType: ''
    returnType: void
    signature: void transform (sha1_context_t *hd, unsigned char *data )
  - 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: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: F1
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F1(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: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: F2
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F2(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: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: F3
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F3(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: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: F4
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F4(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: M
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 302
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - k
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: R
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 95
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(a,b,c,d,e,f,k,m)
  - 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: 253
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 253
    functionName: Cho
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Cho(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: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: Maj
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Maj(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: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    functionName: Sum0
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sum0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: Sum1
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sum1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: S0
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: S1
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - k
    - ','
    - w
    - )
    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: 271
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 271
    functionName: R
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 95
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(a,b,c,d,e,f,g,h,k,w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libksba/tests/sha1.c:307,1
    - Dst: S1
      Src: /src/libksba/tests/sha1.c:325,1
    - Dst: S0
      Src: /src/libksba/tests/sha1.c:325,1
    - Dst: R
      Src: /src/libksba/tests/sha1.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - hd
    - data
    argTypes:
    - sha256_context_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 338
    functionName: transform256
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 0
    functionsReached:
    - S1
    - S0
    - R
    - memcpy
    linkageType: ''
    returnType: void
    signature: void transform256 (sha256_context_t *hd, unsigned char *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transform
      Src: /src/libksba/tests/sha1.c:359,1
    - Dst: sha1_write
      Src: /src/libksba/tests/sha1.c:370,1
    - Dst: transform
      Src: /src/libksba/tests/sha1.c:377,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - context
    - inbuf
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 385
    functionName: sha1_write
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 1
    functionsReached:
    - transform
    - sha1_write
    linkageType: ''
    returnType: void
    signature: void sha1_write( void *context, unsigned char *inbuf, size_t inlen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transform256
      Src: /src/libksba/tests/sha1.c:398,1
    - Dst: sha256_write
      Src: /src/libksba/tests/sha1.c:409,1
    - Dst: transform256
      Src: /src/libksba/tests/sha1.c:416,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - context
    - inbuf
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 424
    functionName: sha256_write
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 1
    functionsReached:
    - transform256
    - sha256_write
    linkageType: ''
    returnType: void
    signature: void sha256_write (void *context, unsigned char *inbuf, size_t inlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sha1_write
      Src: /src/libksba/tests/sha1.c:442,1
    - Dst: sha1_write
      Src: /src/libksba/tests/sha1.c:469,1
    - Dst: memset
      Src: /src/libksba/tests/sha1.c:470,1
    - Dst: transform
      Src: /src/libksba/tests/sha1.c:481,1
    - Dst: X
      Src: /src/libksba/tests/sha1.c:490,1
    - Dst: X
      Src: /src/libksba/tests/sha1.c:491,1
    - Dst: X
      Src: /src/libksba/tests/sha1.c:492,1
    - Dst: X
      Src: /src/libksba/tests/sha1.c:493,1
    - Dst: X
      Src: /src/libksba/tests/sha1.c:494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 497
    functionName: sha1_final
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 0
    functionsReached:
    - transform
    - X
    - sha1_write
    - memset
    linkageType: ''
    returnType: void
    signature: void sha1_final(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 486
    functionName: X
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: X
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sha256_write
      Src: /src/libksba/tests/sha1.c:507,1
    - Dst: sha256_write
      Src: /src/libksba/tests/sha1.c:534,1
    - Dst: memset
      Src: /src/libksba/tests/sha1.c:535,1
    - Dst: transform256
      Src: /src/libksba/tests/sha1.c:546,1
    - Dst: X
      Src: /src/libksba/tests/sha1.c:555,1
    - Dst: X
      Src: /src/libksba/tests/sha1.c:556,1
    - Dst: X
      Src: /src/libksba/tests/sha1.c:557,1
    - Dst: X
      Src: /src/libksba/tests/sha1.c:558,1
    - Dst: X
      Src: /src/libksba/tests/sha1.c:559,1
    - Dst: X
      Src: /src/libksba/tests/sha1.c:560,1
    - Dst: X
      Src: /src/libksba/tests/sha1.c:561,1
    - Dst: X
      Src: /src/libksba/tests/sha1.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 564
    functionName: sha256_final
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 0
    functionsReached:
    - transform256
    - X
    - memset
    - sha256_write
    linkageType: ''
    returnType: void
    signature: void sha256_final(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 551
    functionName: X
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 554
    functionName: X
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha1_init
      Src: /src/libksba/tests/sha1.c:572,1
    - Dst: sha1_write
      Src: /src/libksba/tests/sha1.c:573,1
    - Dst: sha1_final
      Src: /src/libksba/tests/sha1.c:574,1
    - Dst: memcpy
      Src: /src/libksba/tests/sha1.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - outbuf
    - buffer
    - length
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 576
    functionName: sha1_hash_buffer
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 0
    functionsReached:
    - sha1_write
    - sha1_final
    - memcpy
    - sha1_init
    linkageType: ''
    returnType: void
    signature: void sha1_hash_buffer (char *outbuf, const char *buffer, size_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sha256_hash_buffer
      Src: /src/libksba/tests/sha1.c:590,1
    - Dst: memcmp
      Src: /src/libksba/tests/sha1.c:591,1
    - Dst: fputs
      Src: /src/libksba/tests/sha1.c:597,1
    - Dst: exit
      Src: /src/libksba/tests/sha1.c:598,1
    - Dst: sha256_init
      Src: /src/libksba/tests/sha1.c:602,1
    - Dst: sha256_write
      Src: /src/libksba/tests/sha1.c:603,1
    - Dst: sha256_final
      Src: /src/libksba/tests/sha1.c:604,1
    - Dst: memcpy
      Src: /src/libksba/tests/sha1.c:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - outbuf
    - buffer
    - length
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 606
    functionName: sha256_hash_buffer
    functionSourceFile: /src/libksba/tests/sha1.c
    functionUses: 1
    functionsReached:
    - sha256_hash_buffer
    - sha256_final
    - exit
    - sha256_init
    - memcmp
    - memcpy
    - fputs
    - sha256_write
    linkageType: ''
    returnType: void
    signature: void sha256_hash_buffer (char *outbuf, const char *buffer, size_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libksba/tests/t-ocsp.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: get_oid_desc
    functionSourceFile: /src/libksba/tests/t-ocsp.c
    functionUses: 7
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      get_oid_desc (const char *oid)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libksba/tests/t-ocsp.c:65,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-ocsp.c:68,1
    - Dst: strerror
      Src: /src/libksba/tests/t-ocsp.c:68,1
    - Dst: fstat
      Src: /src/libksba/tests/t-ocsp.c:72,1
    - Dst: fileno
      Src: /src/libksba/tests/t-ocsp.c:72,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-ocsp.c:74,1
    - Dst: strerror
      Src: /src/libksba/tests/t-ocsp.c:74,1
    - Dst: fclose
      Src: /src/libksba/tests/t-ocsp.c:75,1
    - Dst: xmalloc
      Src: /src/libksba/tests/t-ocsp.c:80,1
    - Dst: fread
      Src: /src/libksba/tests/t-ocsp.c:81,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-ocsp.c:83,1
    - Dst: strerror
      Src: /src/libksba/tests/t-ocsp.c:83,1
    - Dst: fclose
      Src: /src/libksba/tests/t-ocsp.c:84,1
    - Dst: xfree
      Src: /src/libksba/tests/t-ocsp.c:85,1
    - Dst: fclose
      Src: /src/libksba/tests/t-ocsp.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - fname
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 92
    functionName: read_file
    functionSourceFile: /src/libksba/tests/t-ocsp.c
    functionUses: 6
    functionsReached:
    - fclose
    - fileno
    - fprintf
    - fstat
    - xmalloc
    - xfree
    - fopen
    - fread
    - strerror
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      read_file (const char *fname, size_t *r_length)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libksba/tests/t-ocsp.c:104,1
    - Dst: fprintf
      Src: /src/libksba/tests/t-ocsp.c:107,1
    - Dst: strerror
      Src: /src/libksba/tests/t-ocsp.c:108,1
    - Dst: exit
      Src: /src/libksba/tests/t-ocsp.c:109,1
    - Dst: ksba_reader_new
      Src: /src/libksba/tests/t-ocsp.c:112,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-ocsp.c:114,1
    - Dst: ksba_reader_set_file
      Src: /src/libksba/tests/t-ocsp.c:115,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-ocsp.c:116,1
    - Dst: ksba_cert_new
      Src: /src/libksba/tests/t-ocsp.c:118,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-ocsp.c:120,1
    - Dst: ksba_cert_read_der
      Src: /src/libksba/tests/t-ocsp.c:122,1
    - Dst: fail_if_err2
      Src: /src/libksba/tests/t-ocsp.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 125
    functionName: get_one_cert
    functionSourceFile: /src/libksba/tests/t-ocsp.c
    functionUses: 0
    functionsReached:
    - ksba_reader_set_file
    - fail_if_err
    - exit
    - fprintf
    - ksba_reader_new
    - fopen
    - fail_if_err2
    - strerror
    - ksba_cert_new
    - ksba_cert_read_der
    linkageType: ''
    returnType: ksba_cert_t
    signature: ksba_cert_t get_one_cert (const char *fname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_one_cert
      Src: /src/libksba/tests/t-ocsp.c:135,1
    - Dst: get_one_cert
      Src: /src/libksba/tests/t-ocsp.c:136,1
    - Dst: ksba_ocsp_new
      Src: /src/libksba/tests/t-ocsp.c:141,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-ocsp.c:142,1
    - Dst: ksba_ocsp_set_nonce
      Src: /src/libksba/tests/t-ocsp.c:145,1
    - Dst: ksba_ocsp_add_target
      Src: /src/libksba/tests/t-ocsp.c:147,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-ocsp.c:148,1
    - Dst: ksba_cert_release
      Src: /src/libksba/tests/t-ocsp.c:149,1
    - Dst: ksba_cert_release
      Src: /src/libksba/tests/t-ocsp.c:150,1
    - Dst: ksba_ocsp_set_nonce
      Src: /src/libksba/tests/t-ocsp.c:153,1
    - Dst: ksba_ocsp_build_request
      Src: /src/libksba/tests/t-ocsp.c:155,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-ocsp.c:156,1
    - Dst: ksba_ocsp_release
      Src: /src/libksba/tests/t-ocsp.c:157,1
    - Dst: printf
      Src: /src/libksba/tests/t-ocsp.c:159,1
    - Dst: fopen
      Src: /src/libksba/tests/t-ocsp.c:162,1
    - Dst: fail
      Src: /src/libksba/tests/t-ocsp.c:164,1
    - Dst: fwrite
      Src: /src/libksba/tests/t-ocsp.c:165,1
    - Dst: fail
      Src: /src/libksba/tests/t-ocsp.c:166,1
    - Dst: fclose
      Src: /src/libksba/tests/t-ocsp.c:167,1
    - Dst: xfree
      Src: /src/libksba/tests/t-ocsp.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - cert_fname
    - issuer_cert_fname
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 171
    functionName: one_request
    functionSourceFile: /src/libksba/tests/t-ocsp.c
    functionUses: 0
    functionsReached:
    - printf
    - fail
    - ksba_ocsp_add_target
    - fwrite
    - fclose
    - fail_if_err
    - get_one_cert
    - ksba_ocsp_new
    - ksba_ocsp_set_nonce
    - ksba_ocsp_release
    - xfree
    - fopen
    - ksba_ocsp_build_request
    - ksba_cert_release
    linkageType: ''
    returnType: void
    signature: void one_request (const char *cert_fname, const char *issuer_cert_fname)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: get_one_cert
      Src: /src/libksba/tests/t-ocsp.c:182,1
    - Dst: get_one_cert
      Src: /src/libksba/tests/t-ocsp.c:183,1
    - Dst: ksba_ocsp_new
      Src: /src/libksba/tests/t-ocsp.c:187,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-ocsp.c:188,1
    - Dst: ksba_ocsp_set_nonce
      Src: /src/libksba/tests/t-ocsp.c:191,1
    - Dst: ksba_ocsp_add_target
      Src: /src/libksba/tests/t-ocsp.c:195,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-ocsp.c:196,1
    - Dst: ksba_cert_release
      Src: /src/libksba/tests/t-ocsp.c:197,1
    - Dst: ksba_ocsp_set_nonce
      Src: /src/libksba/tests/t-ocsp.c:200,1
    - Dst: ksba_ocsp_build_request
      Src: /src/libksba/tests/t-ocsp.c:202,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-ocsp.c:203,1
    - Dst: xfree
      Src: /src/libksba/tests/t-ocsp.c:204,1
    - Dst: read_file
      Src: /src/libksba/tests/t-ocsp.c:207,1
    - Dst: fail
      Src: /src/libksba/tests/t-ocsp.c:209,1
    - Dst: ksba_ocsp_parse_response
      Src: /src/libksba/tests/t-ocsp.c:211,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-ocsp.c:213,1
    - Dst: fail
      Src: /src/libksba/tests/t-ocsp.c:225,1
    - Dst: printf
      Src: /src/libksba/tests/t-ocsp.c:227,1
    - Dst: ksba_ocsp_get_responder_id
      Src: /src/libksba/tests/t-ocsp.c:239,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-ocsp.c:240,1
    - Dst: printf
      Src: /src/libksba/tests/t-ocsp.c:241,1
    - Dst: printf
      Src: /src/libksba/tests/t-ocsp.c:243,1
    - Dst: print_sexp
      Src: /src/libksba/tests/t-ocsp.c:245,1
    - Dst: putchar
      Src: /src/libksba/tests/t-ocsp.c:246,1
    - Dst: ksba_free
      Src: /src/libksba/tests/t-ocsp.c:247,1
    - Dst: ksba_free
      Src: /src/libksba/tests/t-ocsp.c:248,1
    - Dst: ksba_ocsp_get_sig_val
      Src: /src/libksba/tests/t-ocsp.c:250,1
    - Dst: printf
      Src: /src/libksba/tests/t-ocsp.c:251,1
    - Dst: print_sexp
      Src: /src/libksba/tests/t-ocsp.c:252,1
    - Dst: printf
      Src: /src/libksba/tests/t-ocsp.c:253,1
    - Dst: print_time
      Src: /src/libksba/tests/t-ocsp.c:254,1
    - Dst: putchar
      Src: /src/libksba/tests/t-ocsp.c:255,1
    - Dst: ksba_ocsp_get_status
      Src: /src/libksba/tests/t-ocsp.c:256,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-ocsp.c:259,1
    - Dst: printf
      Src: /src/libksba/tests/t-ocsp.c:260,1
    - Dst: printf
      Src: /src/libksba/tests/t-ocsp.c:267,1
    - Dst: print_time
      Src: /src/libksba/tests/t-ocsp.c:268,1
    - Dst: printf
      Src: /src/libksba/tests/t-ocsp.c:269,1
    - Dst: printf
      Src: /src/libksba/tests/t-ocsp.c:286,1
    - Dst: print_time
      Src: /src/libksba/tests/t-ocsp.c:287,1
    - Dst: printf
      Src: /src/libksba/tests/t-ocsp.c:288,1
    - Dst: print_time
      Src: /src/libksba/tests/t-ocsp.c:289,1
    - Dst: putchar
      Src: /src/libksba/tests/t-ocsp.c:290,1
    - Dst: ksba_ocsp_get_cert
      Src: /src/libksba/tests/t-ocsp.c:295,1
    - Dst: ksba_cert_release
      Src: /src/libksba/tests/t-ocsp.c:297,1
    - Dst: printf
      Src: /src/libksba/tests/t-ocsp.c:298,1
    - Dst: ksba_ocsp_get_extension
      Src: /src/libksba/tests/t-ocsp.c:307,1
    - Dst: get_oid_desc
      Src: /src/libksba/tests/t-ocsp.c:311,1
    - Dst: printf
      Src: /src/libksba/tests/t-ocsp.c:312,1
    - Dst: print_hex
      Src: /src/libksba/tests/t-ocsp.c:316,1
    - Dst: putchar
      Src: /src/libksba/tests/t-ocsp.c:317,1
    - Dst: putchar
      Src: /src/libksba/tests/t-ocsp.c:318,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/t-ocsp.c:320,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-ocsp.c:321,1
    - Dst: ksba_ocsp_get_extension
      Src: /src/libksba/tests/t-ocsp.c:323,1
    - Dst: get_oid_desc
      Src: /src/libksba/tests/t-ocsp.c:327,1
    - Dst: printf
      Src: /src/libksba/tests/t-ocsp.c:328,1
    - Dst: print_hex
      Src: /src/libksba/tests/t-ocsp.c:332,1
    - Dst: putchar
      Src: /src/libksba/tests/t-ocsp.c:333,1
    - Dst: putchar
      Src: /src/libksba/tests/t-ocsp.c:334,1
    - Dst: gpg_err_code
      Src: /src/libksba/tests/t-ocsp.c:336,1
    - Dst: fail_if_err
      Src: /src/libksba/tests/t-ocsp.c:337,1
    - Dst: ksba_cert_release
      Src: /src/libksba/tests/t-ocsp.c:342,1
    - Dst: ksba_ocsp_release
      Src: /src/libksba/tests/t-ocsp.c:343,1
    - Dst: xfree
      Src: /src/libksba/tests/t-ocsp.c:344,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 105
    argCount: 3
    argNames:
    - cert_fname
    - issuer_cert_fname
    - response_fname
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 345
    functionName: one_response
    functionSourceFile: /src/libksba/tests/t-ocsp.c
    functionUses: 0
    functionsReached:
    - ksba_free
    - ksba_ocsp_get_status
    - get_oid_desc
    - get_one_cert
    - ksba_ocsp_set_nonce
    - ksba_ocsp_build_request
    - print_hex
    - ksba_ocsp_get_extension
    - print_time
    - printf
    - ksba_ocsp_get_responder_id
    - ksba_ocsp_parse_response
    - ksba_cert_release
    - fail_if_err
    - ksba_ocsp_get_sig_val
    - ksba_ocsp_release
    - xfree
    - ksba_ocsp_get_cert
    - putchar
    - fail
    - ksba_ocsp_add_target
    - read_file
    - ksba_ocsp_new
    - gpg_err_code
    - print_sexp
    linkageType: ''
    returnType: void
    signature: "void one_response (const char *cert_fname, const char *issuer_cert_fname,\n
      \             char *response_fname)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libksba/tests/t-ocsp.c:355,1
    - Dst: gpg_error
      Src: /src/libksba/tests/t-ocsp.c:358,1
    - Dst: sha1_hash_buffer
      Src: /src/libksba/tests/t-ocsp.c:359,1
    - Dst: strcmp
      Src: /src/libksba/tests/t-ocsp.c:362,1
    - Dst: gpg_error
      Src: /src/libksba/tests/t-ocsp.c:365,1
    - Dst: sha256_hash_buffer
      Src: /src/libksba/tests/t-ocsp.c:366,1
    - Dst: gpg_error
      Src: /src/libksba/tests/t-ocsp.c:370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - arg
    - oid
    - buffer
    - length
    - resultsize
    - result
    - resultlen
    argTypes:
    - void*
    - char*
    - void*
    - size_t
    - size_t
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 372
    functionName: my_hash_buffer
    functionSourceFile: /src/libksba/tests/t-ocsp.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gpg_error
    - sha1_hash_buffer
    - sha256_hash_buffer
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t my_hash_buffer (void *arg, const char *oid,\n                const
      void *buffer, size_t length, size_t resultsize,\n                unsigned char
      *result, size_t *resultlen)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libksba/tests/t-ocsp.c:406,1
    - Dst: ksba_set_hash_buffer_function
      Src: /src/libksba/tests/t-ocsp.c:411,1
    - Dst: strcmp
      Src: /src/libksba/tests/t-ocsp.c:420,1
    - Dst: puts
      Src: /src/libksba/tests/t-ocsp.c:422,1
    - Dst: exit
      Src: /src/libksba/tests/t-ocsp.c:427,1
    - Dst: strcmp
      Src: /src/libksba/tests/t-ocsp.c:429,1
    - Dst: strcmp
      Src: /src/libksba/tests/t-ocsp.c:434,1
    - Dst: strcmp
      Src: /src/libksba/tests/t-ocsp.c:439,1
    - Dst: strcmp
      Src: /src/libksba/tests/t-ocsp.c:444,1
    - Dst: strcmp
      Src: /src/libksba/tests/t-ocsp.c:449,1
    - Dst: one_response
      Src: /src/libksba/tests/t-ocsp.c:460,1
    - Dst: fputs
      Src: /src/libksba/tests/t-ocsp.c:462,1
    - Dst: one_request
      Src: /src/libksba/tests/t-ocsp.c:467,1
    - Dst: fputs
      Src: /src/libksba/tests/t-ocsp.c:469,1
    - Dst: prepend_srcdir
      Src: /src/libksba/tests/t-ocsp.c:487,1
    - Dst: prepend_srcdir
      Src: /src/libksba/tests/t-ocsp.c:488,1
    - Dst: one_request
      Src: /src/libksba/tests/t-ocsp.c:489,1
    - Dst: xfree
      Src: /src/libksba/tests/t-ocsp.c:490,1
    - Dst: xfree
      Src: /src/libksba/tests/t-ocsp.c:491,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 496
    functionName: main
    functionSourceFile: /src/libksba/tests/t-ocsp.c
    functionUses: 11
    functionsReached:
    - one_response
    - getenv
    - exit
    - ksba_set_hash_buffer_function
    - strcmp
    - puts
    - prepend_srcdir
    - xfree
    - fputs
    - one_request
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libksba/src/asn1-func.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - type
    argTypes:
    - node_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: add_node
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - xmalloc
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode add_node (node_type_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_node
      Src: /src/libksba/src/asn1-func.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - node_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: _ksba_asn_new_node
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - add_node
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode _ksba_asn_new_node (node_type_t type)
  - BBCount: 28
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - type
    argTypes:
    - node_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 121
    functionName: _ksba_asn_is_primitive
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _ksba_asn_is_primitive (node_type_t type)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: return_if_fail
      Src: /src/libksba/src/asn1-func.c:131,1
    - Dst: xfree
      Src: /src/libksba/src/asn1-func.c:136,1
    - Dst: xfree
      Src: /src/libksba/src/asn1-func.c:138,1
    - Dst: return_if_fail
      Src: /src/libksba/src/asn1-func.c:147,1
    - Dst: return_if_fail
      Src: /src/libksba/src/asn1-func.c:151,1
    - Dst: xstrdup
      Src: /src/libksba/src/asn1-func.c:152,1
    - Dst: xmalloc
      Src: /src/libksba/src/asn1-func.c:158,1
    - Dst: memcpy
      Src: /src/libksba/src/asn1-func.c:159,1
    - Dst: return_if_fail
      Src: /src/libksba/src/asn1-func.c:165,1
    - Dst: return_if_fail
      Src: /src/libksba/src/asn1-func.c:170,1
    - Dst: return_if_fail
      Src: /src/libksba/src/asn1-func.c:175,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 4
    argNames:
    - node
    - vtype
    - value
    - len
    argTypes:
    - AsnNode
    - enum asn_value_type
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 178
    functionName: _ksba_asn_set_value
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - return_if_fail
    - xmalloc
    - xfree
    - xstrdup
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void _ksba_asn_set_value (AsnNode node,\n                     enum
      asn_value_type vtype, const void *value, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: return_if_fail
      Src: /src/libksba/src/asn1-func.c:187,1
    - Dst: return_if_fail
      Src: /src/libksba/src/asn1-func.c:215,1
    - Dst: _ksba_asn_set_value
      Src: /src/libksba/src/asn1-func.c:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - AsnNode
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 221
    functionName: copy_value
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 1
    functionsReached:
    - return_if_fail
    - _ksba_asn_set_value
    linkageType: ''
    returnType: void
    signature: void copy_value (AsnNode d, const AsnNode s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_node
      Src: /src/libksba/src/asn1-func.c:226,1
    - Dst: xstrdup
      Src: /src/libksba/src/asn1-func.c:229,1
    - Dst: copy_value
      Src: /src/libksba/src/asn1-func.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 233
    functionName: copy_node
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - copy_value
    - add_node
    - xstrdup
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode copy_node (const AsnNode s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_if_fail
      Src: /src/libksba/src/asn1-func.c:243,1
    - Dst: xfree
      Src: /src/libksba/src/asn1-func.c:247,1
    - Dst: xstrdup
      Src: /src/libksba/src/asn1-func.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - node
    - name
    argTypes:
    - AsnNode
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 253
    functionName: _ksba_asn_set_name
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - return_if_fail
    - xfree
    - xstrdup
    linkageType: ''
    returnType: void
    signature: void _ksba_asn_set_name (AsnNode node, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - right
    argTypes:
    - AsnNode
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 266
    functionName: set_right
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode set_right (AsnNode  node, AsnNode  right)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - down
    argTypes:
    - AsnNode
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 279
    functionName: set_down
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode set_down (AsnNode node, AsnNode down)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libksba/src/asn1-func.c:288,1
    - Dst: xfree
      Src: /src/libksba/src/asn1-func.c:290,1
    - Dst: xfree
      Src: /src/libksba/src/asn1-func.c:292,1
    - Dst: xfree
      Src: /src/libksba/src/asn1-func.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 294
    functionName: _ksba_asn_remove_node
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void _ksba_asn_remove_node (AsnNode  node)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libksba/src/asn1-func.c:314,1
    - Dst: return_null_if_fail
      Src: /src/libksba/src/asn1-func.c:317,1
    - Dst: DIM
      Src: /src/libksba/src/asn1-func.c:317,1
    - Dst: strcmp
      Src: /src/libksba/src/asn1-func.c:319,1
    - Dst: assert
      Src: /src/libksba/src/asn1-func.c:325,1
    - Dst: DIM
      Src: /src/libksba/src/asn1-func.c:332,1
    - Dst: return_null_if_fail
      Src: /src/libksba/src/asn1-func.c:335,1
    - Dst: DIM
      Src: /src/libksba/src/asn1-func.c:335,1
    - Dst: strcmp
      Src: /src/libksba/src/asn1-func.c:344,1
    - Dst: strcmp
      Src: /src/libksba/src/asn1-func.c:364,1
    - Dst: resolve_identifier
      Src: /src/libksba/src/asn1-func.c:370,1
    - Dst: strcmp
      Src: /src/libksba/src/asn1-func.c:371,1
    - Dst: resolve_identifier
      Src: /src/libksba/src/asn1-func.c:377,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 47
    argCount: 3
    argNames:
    - root
    - name
    - resolve
    argTypes:
    - AsnNode
    - char*
    - int
    assertStmts:
    - condition: (*s == '.')
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/libksba/src/asn1-func.c
    constantsTouched: []
    func_position:
      end: 382
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 382
    functionName: find_node
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - assert
    - DIM
    - strcmp
    - resolve_identifier
    - return_null_if_fail
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode find_node (AsnNode root, const char *name, int resolve)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_node
      Src: /src/libksba/src/asn1-func.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root
    - name
    argTypes:
    - AsnNode
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: _ksba_asn_find_node
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - find_node
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode _ksba_asn_find_node (AsnNode root, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 398
    functionName: _asn1_find_left
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode _asn1_find_left (AsnNode  node)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 414
    functionName: find_up
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode find_up (AsnNode  node)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libksba/src/asn1-func.c:423,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:427,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:430,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-func.c:437,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-func.c:441,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-func.c:444,1
    - Dst: return_if_fail
      Src: /src/libksba/src/asn1-func.c:447,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - node
    - fp
    argTypes:
    - AsnNode
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 449
    functionName: print_value
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - fprintf
    - return_if_fail
    - fputs
    linkageType: ''
    returnType: void
    signature: void print_value (AsnNode node, FILE *fp)
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libksba/src/asn1-func.c:489,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-func.c:491,1
    - Dst: print_value
      Src: /src/libksba/src/asn1-func.c:492,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:493,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:496,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:497,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:498,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:499,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:503,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:505,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:507,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:509,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:511,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:513,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:515,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:517,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:519,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:521,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:523,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:525,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:527,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:529,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:531,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:533,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:535,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:537,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:539,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:541,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-func.c:543,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-func.c:545,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 153
    argCount: 2
    argNames:
    - p
    - fp
    argTypes:
    - AsnNode
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 547
    functionName: _ksba_asn_node_dump
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fputs
    - print_value
    linkageType: ''
    returnType: void
    signature: void _ksba_asn_node_dump (AsnNode p, FILE *fp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libksba/src/asn1-func.c:557,1
    - Dst: _ksba_asn_node_dump
      Src: /src/libksba/src/asn1-func.c:558,1
    - Dst: putc
      Src: /src/libksba/src/asn1-func.c:559,1
    - Dst: find_up
      Src: /src/libksba/src/asn1-func.c:577,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - root
    - fp
    argTypes:
    - AsnNode
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 592
    functionName: _ksba_asn_node_dump_all
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - fprintf
    - find_up
    - putc
    - _ksba_asn_node_dump
    linkageType: ''
    returnType: void
    signature: void _ksba_asn_node_dump_all (AsnNode root, FILE *fp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/asn1-func.c:622,1
    - Dst: _ksba_asn_expand_tree
      Src: /src/libksba/src/asn1-func.c:627,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-func.c:633,1
    - Dst: _ksba_asn_node_dump
      Src: /src/libksba/src/asn1-func.c:634,1
    - Dst: putc
      Src: /src/libksba/src/asn1-func.c:635,1
    - Dst: find_up
      Src: /src/libksba/src/asn1-func.c:653,1
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/asn1-func.c:670,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 3
    argNames:
    - tree
    - name
    - fp
    argTypes:
    - ksba_asn_tree_t
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 605
    functionDepth: 3
    functionLinenumber: 605
    functionLinenumberEnd: 671
    functionName: ksba_asn_tree_dump
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - _ksba_asn_node_dump
    - _ksba_asn_find_node
    - _ksba_asn_expand_tree
    - fprintf
    - find_up
    - _ksba_asn_release_nodes
    - putc
    linkageType: ''
    returnType: void
    signature: void ksba_asn_tree_dump (ksba_asn_tree_t tree, const char *name, FILE
      *fp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-func.c:679,1
    - Dst: find_up
      Src: /src/libksba/src/asn1-func.c:693,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-func.c:694,1
    - Dst: _ksba_asn_remove_node
      Src: /src/libksba/src/asn1-func.c:695,1
    - Dst: _asn1_find_left
      Src: /src/libksba/src/asn1-func.c:700,1
    - Dst: find_up
      Src: /src/libksba/src/asn1-func.c:703,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-func.c:705,1
    - Dst: set_right
      Src: /src/libksba/src/asn1-func.c:713,1
    - Dst: _ksba_asn_remove_node
      Src: /src/libksba/src/asn1-func.c:714,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - root
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 720
    functionName: _ksba_asn_delete_structure
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - _asn1_find_left
    - gpg_error
    - find_up
    - _ksba_asn_remove_node
    - set_down
    - set_right
    linkageType: ''
    returnType: int
    signature: int _ksba_asn_delete_structure (AsnNode root)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-func.c:731,1
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/asn1-func.c:733,1
    - Dst: strlen
      Src: /src/libksba/src/asn1-func.c:737,1
    - Dst: strlen
      Src: /src/libksba/src/asn1-func.c:737,1
    - Dst: DIM
      Src: /src/libksba/src/asn1-func.c:737,1
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-func.c:738,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-func.c:739,1
    - Dst: strcat
      Src: /src/libksba/src/asn1-func.c:740,1
    - Dst: strcat
      Src: /src/libksba/src/asn1-func.c:741,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/asn1-func.c:742,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-func.c:745,1
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-func.c:746,1
    - Dst: isdigit
      Src: /src/libksba/src/asn1-func.c:757,1
    - Dst: strlen
      Src: /src/libksba/src/asn1-func.c:759,1
    - Dst: strlen
      Src: /src/libksba/src/asn1-func.c:760,1
    - Dst: DIM
      Src: /src/libksba/src/asn1-func.c:760,1
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-func.c:761,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-func.c:762,1
    - Dst: strcat
      Src: /src/libksba/src/asn1-func.c:763,1
    - Dst: strcat
      Src: /src/libksba/src/asn1-func.c:764,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/asn1-func.c:765,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-func.c:768,1
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-func.c:770,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-func.c:775,1
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-func.c:776,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 1
    argNames:
    - node
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 724
    functionDepth: 3
    functionLinenumber: 724
    functionLinenumberEnd: 787
    functionName: _ksba_asn_check_identifier
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - strlen
    - _ksba_asn_find_node
    - DIM
    - isdigit
    - fprintf
    - gpg_error
    - strcpy
    - _ksba_asn_walk_tree
    - strcat
    linkageType: ''
    returnType: int
    signature: int _ksba_asn_check_identifier (AsnNode node)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: find_up
      Src: /src/libksba/src/asn1-func.c:809,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - root
    - node
    argTypes:
    - AsnNode
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 825
    functionName: _ksba_asn_walk_tree
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 1
    functionsReached:
    - find_up
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode _ksba_asn_walk_tree (AsnNode root, AsnNode node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_up
      Src: /src/libksba/src/asn1-func.c:838,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - root
    - node
    argTypes:
    - AsnNode
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 854
    functionName: _ksba_asn_walk_tree_up_right
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - find_up
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode _ksba_asn_walk_tree_up_right (AsnNode root, AsnNode node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-func.c:864,1
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/asn1-func.c:866,1
    - Dst: strtol
      Src: /src/libksba/src/asn1-func.c:872,1
    - Dst: _ksba_asn_set_value
      Src: /src/libksba/src/asn1-func.c:873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 879
    functionName: _ksba_asn_change_integer_value
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - _ksba_asn_set_value
    - gpg_error
    - strtol
    - _ksba_asn_walk_tree
    linkageType: ''
    returnType: int
    signature: int _ksba_asn_change_integer_value (AsnNode node)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-func.c:892,1
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-func.c:894,1
    - Dst: strlen
      Src: /src/libksba/src/asn1-func.c:895,1
    - Dst: DIM
      Src: /src/libksba/src/asn1-func.c:895,1
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-func.c:896,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-func.c:897,1
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/asn1-func.c:900,1
    - Dst: isdigit
      Src: /src/libksba/src/asn1-func.c:908,1
    - Dst: strlen
      Src: /src/libksba/src/asn1-func.c:910,1
    - Dst: strlen
      Src: /src/libksba/src/asn1-func.c:910,1
    - Dst: DIM
      Src: /src/libksba/src/asn1-func.c:910,1
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-func.c:911,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-func.c:912,1
    - Dst: strcat
      Src: /src/libksba/src/asn1-func.c:913,1
    - Dst: strcat
      Src: /src/libksba/src/asn1-func.c:914,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/asn1-func.c:915,1
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-func.c:918,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-func.c:919,1
    - Dst: _ksba_asn_remove_node
      Src: /src/libksba/src/asn1-func.c:920,1
    - Dst: add_node
      Src: /src/libksba/src/asn1-func.c:927,1
    - Dst: _ksba_asn_set_name
      Src: /src/libksba/src/asn1-func.c:928,1
    - Dst: _ksba_asn_set_value
      Src: /src/libksba/src/asn1-func.c:929,1
    - Dst: set_right
      Src: /src/libksba/src/asn1-func.c:933,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-func.c:934,1
    - Dst: set_right
      Src: /src/libksba/src/asn1-func.c:938,1
    - Dst: set_right
      Src: /src/libksba/src/asn1-func.c:939,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 1
    argNames:
    - node
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 884
    functionDepth: 3
    functionLinenumber: 884
    functionLinenumberEnd: 951
    functionName: _ksba_asn_expand_object_id
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - strlen
    - set_right
    - _ksba_asn_set_name
    - _ksba_asn_find_node
    - DIM
    - isdigit
    - add_node
    - gpg_error
    - strcpy
    - _ksba_asn_remove_node
    - _ksba_asn_set_value
    - _ksba_asn_walk_tree
    - set_down
    - strcat
    linkageType: ''
    returnType: int
    signature: int _ksba_asn_expand_object_id (AsnNode node)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: return_if_fail
      Src: /src/libksba/src/asn1-func.c:960,1
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/asn1-func.c:962,1
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/asn1-func.c:974,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 1
    argNames:
    - node
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 984
    functionName: _ksba_asn_set_default_tag
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - return_if_fail
    - _ksba_asn_walk_tree
    linkageType: ''
    returnType: void
    signature: void _ksba_asn_set_default_tag (AsnNode node)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: return_if_fail
      Src: /src/libksba/src/asn1-func.c:993,1
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/asn1-func.c:995,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - node
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1025
    functionName: _ksba_asn_type_set_config
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - return_if_fail
    - _ksba_asn_walk_tree
    linkageType: ''
    returnType: void
    signature: void _ksba_asn_type_set_config (AsnNode node)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: copy_node
      Src: /src/libksba/src/asn1-func.c:1038,1
    - Dst: copy_tree
      Src: /src/libksba/src/asn1-func.c:1053,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - src_root
    - s
    argTypes:
    - AsnNode
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1029
    functionDepth: 2
    functionLinenumber: 1029
    functionLinenumberEnd: 1081
    functionName: copy_tree
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 1
    functionsReached:
    - copy_tree
    - copy_node
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode copy_tree (AsnNode src_root, AsnNode s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_null_if_fail
      Src: /src/libksba/src/asn1-func.c:1096,1
    - Dst: return_null_if_fail
      Src: /src/libksba/src/asn1-func.c:1097,1
    - Dst: strlen
      Src: /src/libksba/src/asn1-func.c:1099,1
    - Dst: strlen
      Src: /src/libksba/src/asn1-func.c:1099,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/asn1-func.c:1104,1
    - Dst: return_null_if_fail
      Src: /src/libksba/src/asn1-func.c:1105,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-func.c:1107,1
    - Dst: stpcpy
      Src: /src/libksba/src/asn1-func.c:1107,1
    - Dst: stpcpy
      Src: /src/libksba/src/asn1-func.c:1107,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/asn1-func.c:1108,1
    - Dst: resolve_identifier
      Src: /src/libksba/src/asn1-func.c:1112,1
    - Dst: xfree
      Src: /src/libksba/src/asn1-func.c:1115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - root
    - node
    - nestlevel
    argTypes:
    - AsnNode
    - AsnNode
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1085
    functionDepth: 3
    functionLinenumber: 1085
    functionLinenumberEnd: 1118
    functionName: resolve_identifier
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 2
    functionsReached:
    - xtrymalloc
    - strlen
    - _ksba_asn_find_node
    - strcpy
    - xfree
    - resolve_identifier
    - stpcpy
    - return_null_if_fail
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode resolve_identifier (AsnNode root, AsnNode node, int nestlevel)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: resolve_identifier
      Src: /src/libksba/src/asn1-func.c:1140,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-func.c:1143,1
    - Dst: copy_node
      Src: /src/libksba/src/asn1-func.c:1147,1
    - Dst: _ksba_asn_set_name
      Src: /src/libksba/src/asn1-func.c:1162,1
    - Dst: copy_node
      Src: /src/libksba/src/asn1-func.c:1170,1
    - Dst: copy_node
      Src: /src/libksba/src/asn1-func.c:1187,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-func.c:1205,1
    - Dst: do_expand_tree
      Src: /src/libksba/src/asn1-func.c:1210,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 82
    argCount: 3
    argNames:
    - src_root
    - s
    - depth
    argTypes:
    - AsnNode
    - AsnNode
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1121
    functionDepth: 4
    functionLinenumber: 1121
    functionLinenumberEnd: 1239
    functionName: do_expand_tree
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 1
    functionsReached:
    - do_expand_tree
    - _ksba_asn_set_name
    - fprintf
    - copy_node
    - resolve_identifier
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode do_expand_tree (AsnNode src_root, AsnNode s, int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_node
      Src: /src/libksba/src/asn1-func.c:1253,1
    - Dst: do_expand_tree
      Src: /src/libksba/src/asn1-func.c:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - parse_tree
    - name
    argTypes:
    - AsnNode
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1248
    functionDepth: 5
    functionLinenumber: 1248
    functionLinenumberEnd: 1255
    functionName: _ksba_asn_expand_tree
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 1
    functionsReached:
    - find_node
    - do_expand_tree
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode _ksba_asn_expand_tree (AsnNode parse_tree, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: copy_tree
      Src: /src/libksba/src/asn1-func.c:1266,1
    - Dst: return_null_if_fail
      Src: /src/libksba/src/asn1-func.c:1269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - node
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1260
    functionDepth: 3
    functionLinenumber: 1260
    functionLinenumberEnd: 1280
    functionName: _ksba_asn_insert_copy
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - copy_tree
    - return_null_if_fail
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode _ksba_asn_insert_copy (AsnNode node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/asn1-func.c:1302,1
    - Dst: memcmp
      Src: /src/libksba/src/asn1-func.c:1309,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 5
    argNames:
    - image
    - root
    - idx
    - oidbuf
    - oidlen
    argTypes:
    - unsigned char*
    - AsnNode
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1293
    functionDepth: 1
    functionLinenumber: 1293
    functionLinenumberEnd: 1319
    functionName: _ksba_asn_find_type_value
    functionSourceFile: /src/libksba/src/asn1-func.c
    functionUses: 0
    functionsReached:
    - memcmp
    - _ksba_asn_walk_tree
    linkageType: ''
    returnType: AsnNode
    signature: "AsnNode _ksba_asn_find_type_value (const unsigned char *image, AsnNode
      root, int idx,\n                           const void *oidbuf, size_t oidlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libksba/src/der-builder.c:81,1
    - Dst: xfree
      Src: /src/libksba/src/der-builder.c:82,1
    - Dst: xfree
      Src: /src/libksba/src/der-builder.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - ksba_der_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: _ksba_der_release
    functionSourceFile: /src/libksba/src/der-builder.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void _ksba_der_release (ksba_der_t d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/libksba/src/der-builder.c:95,1
    - Dst: xtrycalloc
      Src: /src/libksba/src/der-builder.c:101,1
    - Dst: xfree
      Src: /src/libksba/src/der-builder.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - nitems
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 110
    functionName: _ksba_der_builder_new
    functionSourceFile: /src/libksba/src/der-builder.c
    functionUses: 0
    functionsReached:
    - xfree
    - xtrycalloc
    linkageType: ''
    returnType: ksba_der_t
    signature: ksba_der_t _ksba_der_builder_new (unsigned int nitems)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libksba/src/der-builder.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - d
    argTypes:
    - ksba_der_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 138
    functionName: _ksba_der_builder_reset
    functionSourceFile: /src/libksba/src/der-builder.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void _ksba_der_builder_reset (ksba_der_t d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_reallocarray
      Src: /src/libksba/src/der-builder.c:155,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/der-builder.c:158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - d
    argTypes:
    - ksba_der_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 163
    functionName: ensure_space
    functionSourceFile: /src/libksba/src/der-builder.c
    functionUses: 4
    functionsReached:
    - _ksba_reallocarray
    - gpg_error_from_syserror
    linkageType: ''
    returnType: int
    signature: int ensure_space (ksba_der_t d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure_space
      Src: /src/libksba/src/der-builder.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - d
    - class
    - tag
    - value
    - valuelen
    argTypes:
    - ksba_der_t
    - int
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: _ksba_der_add_ptr
    functionSourceFile: /src/libksba/src/der-builder.c
    functionUses: 0
    functionsReached:
    - ensure_space
    linkageType: ''
    returnType: void
    signature: "void _ksba_der_add_ptr (ksba_der_t d, int class, int tag,\n                   void
      *value, size_t valuelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - d
    - class
    - tag
    - value
    - valuelen
    - verbatim
    argTypes:
    - ksba_der_t
    - int
    - int
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 202
    functionName: add_val_core
    functionSourceFile: /src/libksba/src/der-builder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void add_val_core (ksba_der_t d, int class, int tag, void *value,
      size_t valuelen,\n              int verbatim)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ensure_space
      Src: /src/libksba/src/der-builder.c:214,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-builder.c:218,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/der-builder.c:221,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/der-builder.c:224,1
    - Dst: memcpy
      Src: /src/libksba/src/der-builder.c:227,1
    - Dst: add_val_core
      Src: /src/libksba/src/der-builder.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - d
    - class
    - tag
    - value
    - valuelen
    argTypes:
    - ksba_der_t
    - int
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 229
    functionName: _ksba_der_add_val
    functionSourceFile: /src/libksba/src/der-builder.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - gpg_error
    - memcpy
    - ensure_space
    - xtrymalloc
    - add_val_core
    linkageType: ''
    returnType: void
    signature: "void _ksba_der_add_val (ksba_der_t d, int class, int tag,\n                   const
      void *value, size_t valuelen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ensure_space
      Src: /src/libksba/src/der-builder.c:241,1
    - Dst: ksba_oid_from_str
      Src: /src/libksba/src/der-builder.c:244,1
    - Dst: add_val_core
      Src: /src/libksba/src/der-builder.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - d
    - oidstr
    argTypes:
    - ksba_der_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 249
    functionName: _ksba_der_add_oid
    functionSourceFile: /src/libksba/src/der-builder.c
    functionUses: 0
    functionsReached:
    - ksba_oid_from_str
    - add_val_core
    - ensure_space
    linkageType: ''
    returnType: void
    signature: void _ksba_der_add_oid (ksba_der_t d, const char *oidstr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ensure_space
      Src: /src/libksba/src/der-builder.c:260,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-builder.c:264,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/der-builder.c:267,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/der-builder.c:270,1
    - Dst: memcpy
      Src: /src/libksba/src/der-builder.c:274,1
    - Dst: add_val_core
      Src: /src/libksba/src/der-builder.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - d
    - value
    - valuelen
    - unusedbits
    argTypes:
    - ksba_der_t
    - void*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 276
    functionName: _ksba_der_add_bts
    functionSourceFile: /src/libksba/src/der-builder.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - gpg_error
    - memcpy
    - ensure_space
    - xtrymalloc
    - add_val_core
    linkageType: ''
    returnType: void
    signature: "void _ksba_der_add_bts (ksba_der_t d, const void *value, size_t valuelen,\n
      \                  unsigned int unusedbits)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ensure_space
      Src: /src/libksba/src/der-builder.c:289,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/der-builder.c:296,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/der-builder.c:299,1
    - Dst: memcpy
      Src: /src/libksba/src/der-builder.c:305,1
    - Dst: add_val_core
      Src: /src/libksba/src/der-builder.c:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - d
    - value
    - valuelen
    - force_positive
    argTypes:
    - ksba_der_t
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 307
    functionName: _ksba_der_add_int
    functionSourceFile: /src/libksba/src/der-builder.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - memcpy
    - ensure_space
    - xtrymalloc
    - add_val_core
    linkageType: ''
    returnType: void
    signature: "void _ksba_der_add_int (ksba_der_t d, const void *value, size_t valuelen,\n
      \                  int force_positive)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ensure_space
      Src: /src/libksba/src/der-builder.c:319,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-builder.c:323,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/der-builder.c:326,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/der-builder.c:329,1
    - Dst: memcpy
      Src: /src/libksba/src/der-builder.c:332,1
    - Dst: add_val_core
      Src: /src/libksba/src/der-builder.c:333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - d
    - der
    - derlen
    argTypes:
    - ksba_der_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 334
    functionName: _ksba_der_add_der
    functionSourceFile: /src/libksba/src/der-builder.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - gpg_error
    - memcpy
    - ensure_space
    - xtrymalloc
    - add_val_core
    linkageType: ''
    returnType: void
    signature: void _ksba_der_add_der (ksba_der_t d, const void *der, size_t derlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure_space
      Src: /src/libksba/src/der-builder.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - d
    - class
    - tag
    argTypes:
    - ksba_der_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: _ksba_der_add_tag
    functionSourceFile: /src/libksba/src/der-builder.c
    functionUses: 0
    functionsReached:
    - ensure_space
    linkageType: ''
    returnType: void
    signature: void _ksba_der_add_tag (ksba_der_t d, int class, int tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure_space
      Src: /src/libksba/src/der-builder.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - ksba_der_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 365
    functionName: _ksba_der_add_end
    functionSourceFile: /src/libksba/src/der-builder.c
    functionUses: 0
    functionsReached:
    - ensure_space
    linkageType: ''
    returnType: void
    signature: void _ksba_der_add_end (ksba_der_t d)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - class
    - tag
    - length
    argTypes:
    - int
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 415
    functionName: count_tl
    functionSourceFile: /src/libksba/src/der-builder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int count_tl (int class, int tag, size_t length)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 5
    argNames:
    - buffer
    - class
    - tag
    - constructed
    - length
    argTypes:
    - unsigned char*
    - int
    - int
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 483
    functionName: write_tl
    functionSourceFile: /src/libksba/src/der-builder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void write_tl (unsigned char *buffer, int class, int tag,\n          int
      constructed, size_t length)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: compute_lengths
      Src: /src/libksba/src/der-builder.c:511,1
    - Dst: count_tl
      Src: /src/libksba/src/der-builder.c:516,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-builder.c:522,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - d
    - idx
    argTypes:
    - ksba_der_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 535
    functionName: compute_lengths
    functionSourceFile: /src/libksba/src/der-builder.c
    functionUses: 3
    functionsReached:
    - count_tl
    - gpg_error
    - compute_lengths
    linkageType: ''
    returnType: size_t
    signature: size_t compute_lengths (ksba_der_t d, int idx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/der-builder.c:563,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-builder.c:580,1
    - Dst: compute_lengths
      Src: /src/libksba/src/der-builder.c:584,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/der-builder.c:612,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/der-builder.c:615,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-builder.c:634,1
    - Dst: write_tl
      Src: /src/libksba/src/der-builder.c:637,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-builder.c:653,1
    - Dst: memcpy
      Src: /src/libksba/src/der-builder.c:656,1
    - Dst: assert
      Src: /src/libksba/src/der-builder.c:661,1
    - Dst: xfree
      Src: /src/libksba/src/der-builder.c:668,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 75
    argCount: 3
    argNames:
    - d
    - r_obj
    - r_objlen
    argTypes:
    - ksba_der_t
    - unsigned char**
    - size_t*
    assertStmts:
    - condition: (buflen == bufsize)
      pos:
        line_end: 660
        line_start: 660
        source_file: /src/libksba/src/der-builder.c
    constantsTouched: []
    func_position:
      end: 670
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 670
    functionName: _ksba_der_builder_get
    functionSourceFile: /src/libksba/src/der-builder.c
    functionUses: 0
    functionsReached:
    - write_tl
    - compute_lengths
    - gpg_error_from_syserror
    - assert
    - gpg_error
    - xfree
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_der_builder_get (ksba_der_t d, unsigned char **r_obj,
      size_t *r_objlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libksba/src/crl.c:67,1
    - Dst: ksba_crl_t::hash_fnc
      Src: /src/libksba/src/crl.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - crl
    - buffer
    - length
    argTypes:
    - ksba_crl_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: do_hash
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 3
    functionsReached:
    - ksba_crl_t::hash_fnc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void do_hash (ksba_crl_t crl, const void *buffer, size_t length)
  - 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: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: HASH
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH(a,b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/libksba/src/crl.c:95,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/crl.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r_crl
    argTypes:
    - ksba_crl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: ksba_crl_new
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 2
    functionsReached:
    - gpg_error_from_errno
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_crl_new (ksba_crl_t *r_crl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libksba/src/crl.c:113,1
    - Dst: xfree
      Src: /src/libksba/src/crl.c:114,1
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/crl.c:116,1
    - Dst: xfree
      Src: /src/libksba/src/crl.c:117,1
    - Dst: xfree
      Src: /src/libksba/src/crl.c:119,1
    - Dst: xfree
      Src: /src/libksba/src/crl.c:121,1
    - Dst: xfree
      Src: /src/libksba/src/crl.c:125,1
    - Dst: xfree
      Src: /src/libksba/src/crl.c:126,1
    - Dst: xfree
      Src: /src/libksba/src/crl.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - crl
    argTypes:
    - ksba_crl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 131
    functionName: ksba_crl_release
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 2
    functionsReached:
    - _ksba_asn_release_nodes
    - xfree
    linkageType: ''
    returnType: void
    signature: void ksba_crl_release (ksba_crl_t crl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - crl
    - r
    argTypes:
    - ksba_crl_t
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: ksba_crl_set_reader
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 2
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_crl_set_reader (ksba_crl_t crl, ksba_reader_t r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - crl
    - hash_fnc_arg
    argTypes:
    - ksba_crl_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: ksba_crl_set_hash_function
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ksba_crl_set_hash_function (ksba_crl_t crl,\n                            void
      (*hash_fnc)(void *, const void *, size_t),\n                            void
      *hash_fnc_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - crl
    argTypes:
    - ksba_crl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: ksba_crl_get_digest_algo
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_crl_get_digest_algo (ksba_crl_t crl)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:206,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:208,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:214,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:221,1
    - Dst: _ksba_dn_to_str
      Src: /src/libksba/src/crl.c:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - crl
    - r_issuer
    argTypes:
    - ksba_crl_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 226
    functionName: ksba_crl_get_issuer
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 2
    functionsReached:
    - _ksba_dn_to_str
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_crl_get_issuer (ksba_crl_t crl, char **r_issuer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:241,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:243,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 6
    argNames:
    - crl
    - idx
    - oid
    - critical
    - der
    - derlen
    argTypes:
    - ksba_crl_t
    - int
    - char**
    - int*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 260
    functionName: ksba_crl_get_extension
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 2
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_crl_get_extension (ksba_crl_t crl, int idx,\n                        char
      const **oid, int *critical,\n                        unsigned char const **der,
      size_t *derlen)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:289,1
    - Dst: strcmp
      Src: /src/libksba/src/crl.c:294,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:297,1
    - Dst: strcmp
      Src: /src/libksba/src/crl.c:304,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:305,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/crl.c:311,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:316,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:318,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:320,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/crl.c:322,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:326,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:328,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:330,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:344,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/crl.c:346,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:350,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:352,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:354,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:358,1
    - Dst: _ksba_name_new_from_der
      Src: /src/libksba/src/crl.c:360,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/crl.c:368,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:372,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:374,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:376,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:379,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:382,1
    - Dst: sprintf
      Src: /src/libksba/src/crl.c:383,1
    - Dst: strlen
      Src: /src/libksba/src/crl.c:384,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/crl.c:385,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/crl.c:387,1
    - Dst: strcpy
      Src: /src/libksba/src/crl.c:388,1
    - Dst: memcpy
      Src: /src/libksba/src/crl.c:389,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:397,1
    - Dst: sprintf
      Src: /src/libksba/src/crl.c:398,1
    - Dst: strlen
      Src: /src/libksba/src/crl.c:399,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/crl.c:400,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:402,1
    - Dst: strcpy
      Src: /src/libksba/src/crl.c:403,1
    - Dst: memcpy
      Src: /src/libksba/src/crl.c:404,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 101
    argCount: 4
    argNames:
    - crl
    - r_keyid
    - r_name
    - r_serial
    argTypes:
    - ksba_crl_t
    - ksba_sexp_t*
    - ksba_name_t*
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 409
    functionName: ksba_crl_get_auth_key_id
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 3
    functionsReached:
    - strlen
    - sprintf
    - strcmp
    - gpg_error_from_errno
    - gpg_error
    - strcpy
    - _ksba_name_new_from_der
    - memcpy
    - _ksba_ber_parse_tl
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_crl_get_auth_key_id (ksba_crl_t crl,\n                          ksba_sexp_t
      *r_keyid,\n                          ksba_name_t *r_name,\n                          ksba_sexp_t
      *r_serial)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:427,1
    - Dst: strcmp
      Src: /src/libksba/src/crl.c:431,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:434,1
    - Dst: strcmp
      Src: /src/libksba/src/crl.c:441,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:442,1
    - Dst: parse_integer
      Src: /src/libksba/src/crl.c:448,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:453,1
    - Dst: sprintf
      Src: /src/libksba/src/crl.c:454,1
    - Dst: strlen
      Src: /src/libksba/src/crl.c:455,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/crl.c:456,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/crl.c:458,1
    - Dst: strcpy
      Src: /src/libksba/src/crl.c:459,1
    - Dst: memcpy
      Src: /src/libksba/src/crl.c:460,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - crl
    - number
    argTypes:
    - ksba_crl_t
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 465
    functionName: ksba_crl_get_crl_number
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 2
    functionsReached:
    - strlen
    - sprintf
    - parse_integer
    - strcmp
    - gpg_error_from_errno
    - gpg_error
    - strcpy
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_crl_get_crl_number (ksba_crl_t crl, ksba_sexp_t *number)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:489,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:491,1
    - Dst: _ksba_copy_time
      Src: /src/libksba/src/crl.c:493,1
    - Dst: _ksba_copy_time
      Src: /src/libksba/src/crl.c:495,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - crl
    - this
    - next
    argTypes:
    - ksba_crl_t
    - ksba_isotime_t
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 497
    functionName: ksba_crl_get_update_times
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 2
    functionsReached:
    - gpg_error
    - _ksba_copy_time
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_crl_get_update_times (ksba_crl_t crl,\n                           ksba_isotime_t
      this,\n                           ksba_isotime_t next)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:524,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:529,1
    - Dst: _ksba_copy_time
      Src: /src/libksba/src/crl.c:534,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - crl
    - r_serial
    - r_revocation_date
    - r_reason
    argTypes:
    - ksba_crl_t
    - ksba_sexp_t*
    - ksba_isotime_t
    - ksba_crl_reason_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 538
    functionName: ksba_crl_get_item
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 2
    functionsReached:
    - gpg_error
    - _ksba_copy_time
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_crl_get_item (ksba_crl_t crl, ksba_sexp_t *r_serial,\n
      \                  ksba_isotime_t r_revocation_date,\n                   ksba_crl_reason_t
      *r_reason)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libksba/src/crl.c:571,1
    - Dst: _ksba_keyinfo_get_pss_info
      Src: /src/libksba/src/crl.c:578,1
    - Dst: init_stringbuf
      Src: /src/libksba/src/crl.c:582,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/crl.c:583,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/crl.c:584,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/crl.c:585,1
    - Dst: put_stringbuf_uint
      Src: /src/libksba/src/crl.c:586,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/crl.c:587,1
    - Dst: get_stringbuf
      Src: /src/libksba/src/crl.c:589,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - crl
    argTypes:
    - ksba_crl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 598
    functionName: ksba_crl_get_sig_val
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 3
    functionsReached:
    - _ksba_keyinfo_get_pss_info
    - put_stringbuf_uint
    - strcmp
    - init_stringbuf
    - get_stringbuf
    - put_stringbuf_sexp
    - put_stringbuf
    linkageType: ''
    returnType: ksba_sexp_t
    signature: ksba_sexp_t ksba_crl_get_sig_val (ksba_crl_t crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_read
      Src: /src/libksba/src/crl.c:615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - reader
    argTypes:
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 618
    functionName: read_byte
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 1
    functionsReached:
    - ksba_reader_read
    linkageType: ''
    returnType: int
    signature: int read_byte (ksba_reader_t reader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_read
      Src: /src/libksba/src/crl.c:628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - reader
    - buffer
    - count
    argTypes:
    - ksba_reader_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 634
    functionName: read_buffer
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 2
    functionsReached:
    - ksba_reader_read
    linkageType: ''
    returnType: int
    signature: int read_buffer (ksba_reader_t reader, char *buffer, size_t count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ksba_asn_create_tree
      Src: /src/libksba/src/crl.c:647,1
    - Dst: _ksba_ber_decoder_new
      Src: /src/libksba/src/crl.c:651,1
    - Dst: ksba_asn_tree_release
      Src: /src/libksba/src/crl.c:654,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:655,1
    - Dst: _ksba_ber_decoder_set_reader
      Src: /src/libksba/src/crl.c:658,1
    - Dst: ksba_asn_tree_release
      Src: /src/libksba/src/crl.c:661,1
    - Dst: _ksba_ber_decoder_release
      Src: /src/libksba/src/crl.c:662,1
    - Dst: _ksba_ber_decoder_set_module
      Src: /src/libksba/src/crl.c:666,1
    - Dst: ksba_asn_tree_release
      Src: /src/libksba/src/crl.c:669,1
    - Dst: _ksba_ber_decoder_release
      Src: /src/libksba/src/crl.c:670,1
    - Dst: _ksba_ber_decoder_decode
      Src: /src/libksba/src/crl.c:674,1
    - Dst: _ksba_ber_decoder_release
      Src: /src/libksba/src/crl.c:677,1
    - Dst: ksba_asn_tree_release
      Src: /src/libksba/src/crl.c:678,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 5
    argNames:
    - reader
    - elem_name
    - r_root
    - r_image
    - r_imagelen
    argTypes:
    - ksba_reader_t
    - char*
    - AsnNode*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 680
    functionName: create_and_run_decoder
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 0
    functionsReached:
    - _ksba_ber_decoder_set_reader
    - _ksba_ber_decoder_decode
    - ksba_asn_tree_release
    - _ksba_ber_decoder_new
    - gpg_error
    - _ksba_ber_decoder_set_module
    - ksba_asn_create_tree
    - _ksba_ber_decoder_release
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t create_and_run_decoder (ksba_reader_t reader, const char
      *elem_name,\n                        AsnNode *r_root,\n                        unsigned
      char **r_image, size_t *r_imagelen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: parse_sequence
      Src: /src/libksba/src/crl.c:703,1
    - Dst: parse_object_id_into_str
      Src: /src/libksba/src/crl.c:707,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/crl.c:711,1
    - Dst: parse_skip
      Src: /src/libksba/src/crl.c:722,1
    - Dst: parse_octet_string
      Src: /src/libksba/src/crl.c:730,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:739,1
    - Dst: xfree
      Src: /src/libksba/src/crl.c:741,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 6
    argNames:
    - der
    - derlen
    - oid
    - critical
    - 'off'
    - len
    argTypes:
    - unsigned char*
    - size_t
    - char**
    - int*
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 744
    functionName: parse_one_extension
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 0
    functionsReached:
    - _ksba_ber_parse_tl
    - parse_octet_string
    - parse_skip
    - gpg_error
    - xfree
    - parse_sequence
    - parse_object_id_into_str
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_one_extension (const unsigned char *der, size_t
      derlen,\n                     char **oid, int *critical, size_t *off, size_t
      *len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_one_extension
      Src: /src/libksba/src/crl.c:757,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/crl.c:760,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/crl.c:763,1
    - Dst: xfree
      Src: /src/libksba/src/crl.c:764,1
    - Dst: memcpy
      Src: /src/libksba/src/crl.c:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - crl
    - der
    - derlen
    argTypes:
    - ksba_crl_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 748
    functionDepth: 2
    functionLinenumber: 748
    functionLinenumberEnd: 775
    functionName: store_one_extension
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 0
    functionsReached:
    - parse_one_extension
    - gpg_error_from_errno
    - xfree
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t store_one_extension (ksba_crl_t crl, const unsigned char
      *der, size_t derlen)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/crl.c:794,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:799,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:803,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/crl.c:806,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:811,1
    - Dst: HASH
      Src: /src/libksba/src/crl.c:812,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:816,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:820,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:827,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/crl.c:831,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:837,1
    - Dst: HASH
      Src: /src/libksba/src/crl.c:838,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:842,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:845,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:852,1
    - Dst: read_byte
      Src: /src/libksba/src/crl.c:853,1
    - Dst: ksba_reader_error
      Src: /src/libksba/src/crl.c:855,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:856,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:859,1
    - Dst: HASH
      Src: /src/libksba/src/crl.c:862,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/crl.c:865,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:873,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:877,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:880,1
    - Dst: DIM
      Src: /src/libksba/src/crl.c:883,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:884,1
    - Dst: memcpy
      Src: /src/libksba/src/crl.c:885,1
    - Dst: read_buffer
      Src: /src/libksba/src/crl.c:886,1
    - Dst: HASH
      Src: /src/libksba/src/crl.c:889,1
    - Dst: xfree
      Src: /src/libksba/src/crl.c:891,1
    - Dst: xfree
      Src: /src/libksba/src/crl.c:892,1
    - Dst: _ksba_parse_algorithm_identifier2
      Src: /src/libksba/src/crl.c:893,1
    - Dst: assert
      Src: /src/libksba/src/crl.c:899,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:901,1
    - Dst: ksba_reader_tell
      Src: /src/libksba/src/crl.c:906,1
    - Dst: create_and_run_decoder
      Src: /src/libksba/src/crl.c:907,1
    - Dst: ksba_reader_tell
      Src: /src/libksba/src/crl.c:916,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:918,1
    - Dst: HASH
      Src: /src/libksba/src/crl.c:919,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:924,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/crl.c:930,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:936,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:940,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:943,1
    - Dst: DIM
      Src: /src/libksba/src/crl.c:946,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:947,1
    - Dst: memcpy
      Src: /src/libksba/src/crl.c:948,1
    - Dst: read_buffer
      Src: /src/libksba/src/crl.c:949,1
    - Dst: HASH
      Src: /src/libksba/src/crl.c:952,1
    - Dst: _ksba_asntime_to_iso
      Src: /src/libksba/src/crl.c:953,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/crl.c:957,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:967,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:970,1
    - Dst: DIM
      Src: /src/libksba/src/crl.c:973,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:974,1
    - Dst: memcpy
      Src: /src/libksba/src/crl.c:975,1
    - Dst: read_buffer
      Src: /src/libksba/src/crl.c:976,1
    - Dst: HASH
      Src: /src/libksba/src/crl.c:979,1
    - Dst: _ksba_asntime_to_iso
      Src: /src/libksba/src/crl.c:980,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/crl.c:982,1
    - Dst: HASH
      Src: /src/libksba/src/crl.c:993,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:997,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1000,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/crl.c:1007,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 169
    argCount: 1
    argNames:
    - crl
    argTypes:
    - ksba_crl_t
    assertStmts:
    - condition: (nread <= ti.nhdr + ti.length)
      pos:
        line_end: 898
        line_start: 898
        source_file: /src/libksba/src/crl.c
    constantsTouched: []
    func_position:
      end: 1021
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 1021
    functionName: parse_to_next_update
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 0
    functionsReached:
    - create_and_run_decoder
    - assert
    - _ksba_asntime_to_iso
    - DIM
    - ksba_reader_error
    - read_buffer
    - gpg_error
    - read_byte
    - HASH
    - memcpy
    - xfree
    - ksba_reader_tell
    - _ksba_parse_algorithm_identifier2
    - _ksba_ber_read_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_to_next_update (ksba_crl_t crl)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: parse_one_extension
      Src: /src/libksba/src/crl.c:1035,1
    - Dst: strcmp
      Src: /src/libksba/src/crl.c:1038,1
    - Dst: parse_enumerated
      Src: /src/libksba/src/crl.c:1044,1
    - Dst: strcmp
      Src: /src/libksba/src/crl.c:1065,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1070,1
    - Dst: xfree
      Src: /src/libksba/src/crl.c:1072,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - crl
    - der
    - derlen
    argTypes:
    - ksba_crl_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1026
    functionDepth: 2
    functionLinenumber: 1026
    functionLinenumberEnd: 1075
    functionName: store_one_entry_extension
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 0
    functionsReached:
    - parse_enumerated
    - parse_one_extension
    - strcmp
    - gpg_error
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t store_one_entry_extension (ksba_crl_t crl,\n                           const
      unsigned char *der, size_t derlen)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1103,1
    - Dst: HASH
      Src: /src/libksba/src/crl.c:1104,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1108,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1111,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/crl.c:1118,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1123,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1127,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1130,1
    - Dst: DIM
      Src: /src/libksba/src/crl.c:1133,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1134,1
    - Dst: memcpy
      Src: /src/libksba/src/crl.c:1135,1
    - Dst: read_buffer
      Src: /src/libksba/src/crl.c:1136,1
    - Dst: HASH
      Src: /src/libksba/src/crl.c:1139,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1142,1
    - Dst: xfree
      Src: /src/libksba/src/crl.c:1143,1
    - Dst: sprintf
      Src: /src/libksba/src/crl.c:1144,1
    - Dst: strlen
      Src: /src/libksba/src/crl.c:1145,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/crl.c:1146,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1148,1
    - Dst: strcpy
      Src: /src/libksba/src/crl.c:1149,1
    - Dst: memcpy
      Src: /src/libksba/src/crl.c:1150,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/crl.c:1156,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1162,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1166,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1169,1
    - Dst: DIM
      Src: /src/libksba/src/crl.c:1172,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1173,1
    - Dst: memcpy
      Src: /src/libksba/src/crl.c:1174,1
    - Dst: read_buffer
      Src: /src/libksba/src/crl.c:1175,1
    - Dst: HASH
      Src: /src/libksba/src/crl.c:1178,1
    - Dst: _ksba_asntime_to_iso
      Src: /src/libksba/src/crl.c:1180,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1185,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/crl.c:1189,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1194,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1196,1
    - Dst: HASH
      Src: /src/libksba/src/crl.c:1197,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1199,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1202,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/crl.c:1207,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1212,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1214,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1216,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1219,1
    - Dst: DIM
      Src: /src/libksba/src/crl.c:1221,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1222,1
    - Dst: memcpy
      Src: /src/libksba/src/crl.c:1223,1
    - Dst: read_buffer
      Src: /src/libksba/src/crl.c:1224,1
    - Dst: HASH
      Src: /src/libksba/src/crl.c:1227,1
    - Dst: store_one_entry_extension
      Src: /src/libksba/src/crl.c:1228,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/crl.c:1235,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 122
    argCount: 2
    argNames:
    - crl
    - got_entry
    argTypes:
    - ksba_crl_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1079
    functionDepth: 3
    functionLinenumber: 1079
    functionLinenumberEnd: 1247
    functionName: parse_crl_entry
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    - strlen
    - _ksba_asntime_to_iso
    - sprintf
    - DIM
    - read_buffer
    - gpg_error
    - xfree
    - HASH
    - memcpy
    - strcpy
    - store_one_entry_extension
    - _ksba_ber_read_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_crl_entry (ksba_crl_t crl, int *got_entry)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1264,1
    - Dst: HASH
      Src: /src/libksba/src/crl.c:1265,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/crl.c:1269,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1274,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1276,1
    - Dst: HASH
      Src: /src/libksba/src/crl.c:1277,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1279,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1282,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/crl.c:1288,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1293,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1295,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1297,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1300,1
    - Dst: DIM
      Src: /src/libksba/src/crl.c:1302,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1303,1
    - Dst: memcpy
      Src: /src/libksba/src/crl.c:1305,1
    - Dst: read_buffer
      Src: /src/libksba/src/crl.c:1306,1
    - Dst: HASH
      Src: /src/libksba/src/crl.c:1309,1
    - Dst: store_one_extension
      Src: /src/libksba/src/crl.c:1310,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/crl.c:1316,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 1
    argNames:
    - crl
    argTypes:
    - ksba_crl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1252
    functionDepth: 3
    functionLinenumber: 1252
    functionLinenumberEnd: 1322
    functionName: parse_crl_extensions
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 0
    functionsReached:
    - store_one_extension
    - DIM
    - read_buffer
    - gpg_error
    - HASH
    - memcpy
    - _ksba_ber_read_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_crl_extensions (ksba_crl_t crl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1339,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1341,1
    - Dst: DIM
      Src: /src/libksba/src/crl.c:1343,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1344,1
    - Dst: memcpy
      Src: /src/libksba/src/crl.c:1345,1
    - Dst: read_buffer
      Src: /src/libksba/src/crl.c:1346,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/crl.c:1351,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1356,1
    - Dst: DIM
      Src: /src/libksba/src/crl.c:1358,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1359,1
    - Dst: memcpy
      Src: /src/libksba/src/crl.c:1360,1
    - Dst: read_buffer
      Src: /src/libksba/src/crl.c:1361,1
    - Dst: xfree
      Src: /src/libksba/src/crl.c:1366,1
    - Dst: _ksba_sigval_to_sexp
      Src: /src/libksba/src/crl.c:1367,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - crl
    argTypes:
    - ksba_crl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1368
    functionName: parse_signature
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 2
    functionsReached:
    - _ksba_ber_read_tl
    - DIM
    - read_buffer
    - gpg_error
    - xfree
    - memcpy
    - _ksba_sigval_to_sexp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_signature (ksba_crl_t crl)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1387,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1411,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1414,1
    - Dst: parse_to_next_update
      Src: /src/libksba/src/crl.c:1424,1
    - Dst: parse_crl_entry
      Src: /src/libksba/src/crl.c:1427,1
    - Dst: parse_crl_extensions
      Src: /src/libksba/src/crl.c:1430,1
    - Dst: ksba_crl_t::hash_fnc
      Src: /src/libksba/src/crl.c:1434,1
    - Dst: parse_signature
      Src: /src/libksba/src/crl.c:1437,1
    - Dst: gpg_error
      Src: /src/libksba/src/crl.c:1441,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 2
    argNames:
    - crl
    - r_stopreason
    argTypes:
    - ksba_crl_t
    - ksba_stop_reason_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1373
    functionDepth: 4
    functionLinenumber: 1373
    functionLinenumberEnd: 1465
    functionName: ksba_crl_parse
    functionSourceFile: /src/libksba/src/crl.c
    functionUses: 2
    functionsReached:
    - parse_signature
    - ksba_crl_t::hash_fnc
    - gpg_error
    - parse_crl_extensions
    - parse_to_next_update
    - parse_crl_entry
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_crl_parse (ksba_crl_t crl, ksba_stop_reason_t *r_stopreason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - a1
    - a2
    - b
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: sum_a1_a2_gt_b
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sum_a1_a2_gt_b (size_t a1, size_t a2, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - a1
    - a2
    - b
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: sum_a1_a2_ge_b
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sum_a1_a2_ge_b (size_t a1, size_t a2, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libksba/src/ber-decoder.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 154
    functionName: new_decoder_state
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - xmalloc
    linkageType: ''
    returnType: DECODER_STATE
    signature: DECODER_STATE new_decoder_state (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libksba/src/ber-decoder.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ds
    argTypes:
    - DECODER_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: release_decoder_state
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_decoder_state (DECODER_STATE ds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:169,1
    - Dst: _ksba_asn_node_dump
      Src: /src/libksba/src/ber-decoder.c:171,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:173,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ds
    argTypes:
    - DECODER_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 180
    functionName: dump_decoder_state
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - fprintf
    - _ksba_asn_node_dump
    linkageType: ''
    returnType: void
    signature: void dump_decoder_state (DECODER_STATE ds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:188,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ds
    argTypes:
    - DECODER_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: push_decoder_state
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - fprintf
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t push_decoder_state (DECODER_STATE ds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:200,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ds
    argTypes:
    - DECODER_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: pop_decoder_state
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - fprintf
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t pop_decoder_state (DECODER_STATE ds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:212,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - d
    - node
    - text
    argTypes:
    - BerDecoder
    - AsnNode
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: set_error
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 79
    functionsReached:
    - fprintf
    - gpg_error
    linkageType: ''
    returnType: int
    signature: int set_error (BerDecoder d, AsnNode node, const char *text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_error
      Src: /src/libksba/src/ber-decoder.c:224,1
    - Dst: set_error
      Src: /src/libksba/src/ber-decoder.c:227,1
    - Dst: set_error
      Src: /src/libksba/src/ber-decoder.c:231,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - d
    - premature
    argTypes:
    - BerDecoder
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 233
    functionName: eof_or_error
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - set_error
    - ksba_reader_error
    linkageType: ''
    returnType: int
    signature: int eof_or_error (BerDecoder d, int premature)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libksba/src/ber-decoder.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - 'no'
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 273
    functionName: universal_tag_name
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - DIM
    linkageType: ''
    returnType: char
    signature: 'char *

      universal_tag_name (unsigned long no)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: universal_tag_name
      Src: /src/libksba/src/ber-decoder.c:282,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:285,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:287,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:292,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:296,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ti
    - fp
    argTypes:
    - struct tag_info*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 299
    functionName: dump_tlv
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - fprintf
    - universal_tag_name
    - fputs
    linkageType: ''
    returnType: void
    signature: void dump_tlv (const struct tag_info *ti, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/ber-decoder.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: clear_help_flags
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - _ksba_asn_walk_tree
    linkageType: ''
    returnType: void
    signature: void clear_help_flags (AsnNode node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear_help_flags
      Src: /src/libksba/src/ber-decoder.c:323,1
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/ber-decoder.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 327
    functionName: prepare_copied_tree
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - _ksba_asn_walk_tree
    - clear_help_flags
    linkageType: ''
    returnType: void
    signature: void prepare_copied_tree (AsnNode node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/ber-decoder.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 339
    functionName: fixup_type_any
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - _ksba_asn_walk_tree
    linkageType: ''
    returnType: void
    signature: void fixup_type_any (AsnNode node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/libksba/src/ber-decoder.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: _ksba_ber_decoder_new
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 1
    functionsReached:
    - xtrycalloc
    linkageType: ''
    returnType: BerDecoder
    signature: BerDecoder _ksba_ber_decoder_new (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libksba/src/ber-decoder.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - BerDecoder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: _ksba_ber_decoder_release
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 1
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void _ksba_ber_decoder_release (BerDecoder d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:376,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - d
    - module
    argTypes:
    - BerDecoder
    - ksba_asn_tree_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 382
    functionName: _ksba_ber_decoder_set_module
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 1
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_ber_decoder_set_module (BerDecoder d, ksba_asn_tree_t
      module)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:389,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - d
    - r
    argTypes:
    - BerDecoder
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: _ksba_ber_decoder_set_reader
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 1
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_ber_decoder_set_reader (BerDecoder d, ksba_reader_t
      r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_read
      Src: /src/libksba/src/ber-decoder.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - reader
    argTypes:
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 414
    functionName: read_byte
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 2
    functionsReached:
    - ksba_reader_read
    linkageType: ''
    returnType: int
    signature: int read_byte (ksba_reader_t reader)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_read
      Src: /src/libksba/src/ber-decoder.c:427,1
    - Dst: DIM
      Src: /src/libksba/src/ber-decoder.c:440,1
    - Dst: DIM
      Src: /src/libksba/src/ber-decoder.c:440,1
    - Dst: ksba_reader_read
      Src: /src/libksba/src/ber-decoder.c:441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - reader
    - buffer
    - count
    argTypes:
    - ksba_reader_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 447
    functionName: read_buffer
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 6
    functionsReached:
    - DIM
    - ksba_reader_read
    linkageType: ''
    returnType: int
    signature: int read_buffer (ksba_reader_t reader, char *buffer, size_t count)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: return_val_if_fail
      Src: /src/libksba/src/ber-decoder.c:462,1
    - Dst: _ksba_asn_is_primitive
      Src: /src/libksba/src/ber-decoder.c:474,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - node
    - ti
    argTypes:
    - AsnNode
    - struct tag_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 478
    functionName: cmp_tag
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - return_val_if_fail
    - _ksba_asn_is_primitive
    linkageType: ''
    returnType: int
    signature: int cmp_tag (AsnNode node, const struct tag_info *ti)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmp_tag
      Src: /src/libksba/src/ber-decoder.c:494,1
    - Dst: cmp_tag
      Src: /src/libksba/src/ber-decoder.c:502,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - root
    - ti
    argTypes:
    - AsnNode
    - struct tag_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 531
    functionName: find_anchor_node
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - cmp_tag
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode find_anchor_node (AsnNode root, const struct tag_info *ti)
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:545,1
    - Dst: find_anchor_node
      Src: /src/libksba/src/ber-decoder.c:546,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:548,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:553,1
    - Dst: _ksba_asn_is_primitive
      Src: /src/libksba/src/ber-decoder.c:556,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:560,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:568,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:581,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:593,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:595,1
    - Dst: _ksba_asn_node_dump
      Src: /src/libksba/src/ber-decoder.c:595,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:596,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:598,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:600,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:606,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:630,1
    - Dst: _ksba_asn_insert_copy
      Src: /src/libksba/src/ber-decoder.c:631,1
    - Dst: prepare_copied_tree
      Src: /src/libksba/src/ber-decoder.c:633,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:642,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:644,1
    - Dst: _ksba_asn_node_dump
      Src: /src/libksba/src/ber-decoder.c:644,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:645,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:647,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:649,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:657,1
    - Dst: _ksba_asn_insert_copy
      Src: /src/libksba/src/ber-decoder.c:658,1
    - Dst: prepare_copied_tree
      Src: /src/libksba/src/ber-decoder.c:660,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:695,1
    - Dst: _ksba_asn_node_dump
      Src: /src/libksba/src/ber-decoder.c:695,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:695,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:701,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:708,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:714,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:721,1
    - Dst: cmp_tag
      Src: /src/libksba/src/ber-decoder.c:725,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:734,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:739,1
    - Dst: _ksba_asn_node_dump
      Src: /src/libksba/src/ber-decoder.c:740,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:741,1
    - Dst: cmp_tag
      Src: /src/libksba/src/ber-decoder.c:744,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:748,1
    - Dst: dump_tlv
      Src: /src/libksba/src/ber-decoder.c:748,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:749,1
    - Dst: strcmp
      Src: /src/libksba/src/ber-decoder.c:754,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:758,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:777,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:784,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:793,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 199
    argCount: 5
    argNames:
    - root
    - ti
    - ds
    - retnode
    - debug
    argTypes:
    - AsnNode
    - struct tag_info*
    - DECODER_STATE
    - AsnNode*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 533
    functionDepth: 4
    functionLinenumber: 533
    functionLinenumberEnd: 801
    functionName: match_der
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - dump_tlv
    - _ksba_asn_insert_copy
    - prepare_copied_tree
    - _ksba_asn_node_dump
    - cmp_tag
    - fprintf
    - find_anchor_node
    - strcmp
    - fputs
    - _ksba_asn_is_primitive
    linkageType: ''
    returnType: int
    signature: "int match_der (AsnNode root, const struct tag_info *ti,\n           DECODER_STATE
      ds, AsnNode *retnode, int debug)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_decoder_state
      Src: /src/libksba/src/ber-decoder.c:807,1
    - Dst: _ksba_asn_expand_tree
      Src: /src/libksba/src/ber-decoder.c:809,1
    - Dst: clear_help_flags
      Src: /src/libksba/src/ber-decoder.c:810,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - d
    - start_name
    argTypes:
    - BerDecoder
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 804
    functionDepth: 6
    functionLinenumber: 804
    functionLinenumberEnd: 815
    functionName: decoder_init
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - fprintf
    - clear_help_flags
    - _ksba_asn_expand_tree
    - new_decoder_state
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t decoder_init (BerDecoder d, const char *start_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_decoder_state
      Src: /src/libksba/src/ber-decoder.c:820,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - BerDecoder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 825
    functionName: decoder_deinit
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - fprintf
    - release_decoder_state
    linkageType: ''
    returnType: void
    signature: void decoder_deinit (BerDecoder d)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:847,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/ber-decoder.c:850,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:854,1
    - Dst: gpg_strerror
      Src: /src/libksba/src/ber-decoder.c:855,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/ber-decoder.c:863,1
    - Dst: strcmp
      Src: /src/libksba/src/ber-decoder.c:865,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:866,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:872,1
    - Dst: dump_tlv
      Src: /src/libksba/src/ber-decoder.c:873,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:874,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:903,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:905,1
    - Dst: xtrycalloc
      Src: /src/libksba/src/ber-decoder.c:906,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:908,1
    - Dst: sum_a1_a2_ge_b
      Src: /src/libksba/src/ber-decoder.c:911,1
    - Dst: set_error
      Src: /src/libksba/src/ber-decoder.c:912,1
    - Dst: memcpy
      Src: /src/libksba/src/ber-decoder.c:914,1
    - Dst: match_der
      Src: /src/libksba/src/ber-decoder.c:928,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:933,1
    - Dst: dump_tlv
      Src: /src/libksba/src/ber-decoder.c:934,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:935,1
    - Dst: ksba_reader_unread
      Src: /src/libksba/src/ber-decoder.c:940,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:941,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:948,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:953,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:958,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:963,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:970,1
    - Dst: dump_tlv
      Src: /src/libksba/src/ber-decoder.c:971,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:972,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:984,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:993,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:1002,1
    - Dst: pop_decoder_state
      Src: /src/libksba/src/ber-decoder.c:1014,1
    - Dst: push_decoder_state
      Src: /src/libksba/src/ber-decoder.c:1032,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:1040,1
    - Dst: never_reached
      Src: /src/libksba/src/ber-decoder.c:1045,1
    - Dst: abort
      Src: /src/libksba/src/ber-decoder.c:1046,1
    - Dst: dump_decoder_state
      Src: /src/libksba/src/ber-decoder.c:1060,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 137
    argCount: 1
    argNames:
    - d
    argTypes:
    - BerDecoder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 828
    functionDepth: 5
    functionLinenumber: 828
    functionLinenumberEnd: 1063
    functionName: decoder_next
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - push_decoder_state
    - memcpy
    - _ksba_ber_read_tl
    - dump_tlv
    - set_error
    - match_der
    - sum_a1_a2_ge_b
    - never_reached
    - fprintf
    - strcmp
    - gpg_error
    - gpg_strerror
    - xtrycalloc
    - ksba_reader_unread
    - dump_decoder_state
    - pop_decoder_state
    - abort
    - gpg_err_code
    - fputs
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t decoder_next (BerDecoder d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_buffer
      Src: /src/libksba/src/ber-decoder.c:1070,1
    - Dst: eof_or_error
      Src: /src/libksba/src/ber-decoder.c:1071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - BerDecoder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1074
    functionName: decoder_skip
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - eof_or_error
    - read_buffer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t decoder_skip (BerDecoder d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - root
    - node
    argTypes:
    - AsnNode
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1093
    functionName: distance
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int distance (AsnNode root, AsnNode node)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:1114,1
    - Dst: getenv
      Src: /src/libksba/src/ber-decoder.c:1117,1
    - Dst: decoder_init
      Src: /src/libksba/src/ber-decoder.c:1123,1
    - Dst: decoder_next
      Src: /src/libksba/src/ber-decoder.c:1127,1
    - Dst: distance
      Src: /src/libksba/src/ber-decoder.c:1131,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:1133,1
    - Dst: ksba_reader_tell
      Src: /src/libksba/src/ber-decoder.c:1134,1
    - Dst: _ksba_asn_node_dump
      Src: /src/libksba/src/ber-decoder.c:1138,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:1140,1
    - Dst: xfree
      Src: /src/libksba/src/ber-decoder.c:1150,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:1154,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:1156,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/ber-decoder.c:1159,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/ber-decoder.c:1161,1
    - Dst: read_byte
      Src: /src/libksba/src/ber-decoder.c:1167,1
    - Dst: eof_or_error
      Src: /src/libksba/src/ber-decoder.c:1168,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:1173,1
    - Dst: ksba_oid_to_str
      Src: /src/libksba/src/ber-decoder.c:1178,1
    - Dst: fprintf
      Src: /src/libksba/src/ber-decoder.c:1182,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:1184,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:1189,1
    - Dst: xfree
      Src: /src/libksba/src/ber-decoder.c:1190,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:1192,1
    - Dst: decoder_skip
      Src: /src/libksba/src/ber-decoder.c:1196,1
    - Dst: putc
      Src: /src/libksba/src/ber-decoder.c:1197,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/ber-decoder.c:1203,1
    - Dst: decoder_deinit
      Src: /src/libksba/src/ber-decoder.c:1206,1
    - Dst: xfree
      Src: /src/libksba/src/ber-decoder.c:1207,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 69
    argCount: 2
    argNames:
    - d
    - fp
    argTypes:
    - BerDecoder
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1104
    functionDepth: 7
    functionLinenumber: 1104
    functionLinenumberEnd: 1209
    functionName: _ksba_ber_decoder_dump
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 0
    functionsReached:
    - _ksba_asn_node_dump
    - decoder_deinit
    - ksba_oid_to_str
    - read_byte
    - eof_or_error
    - xtrymalloc
    - putc
    - decoder_init
    - decoder_skip
    - distance
    - gpg_error_from_syserror
    - fprintf
    - gpg_error
    - xfree
    - decoder_next
    - getenv
    - gpg_err_code
    - fputs
    - ksba_reader_tell
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_ber_decoder_dump (BerDecoder d, FILE *fp)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:1227,1
    - Dst: getenv
      Src: /src/libksba/src/ber-decoder.c:1233,1
    - Dst: ksba_reader_tell
      Src: /src/libksba/src/ber-decoder.c:1242,1
    - Dst: decoder_init
      Src: /src/libksba/src/ber-decoder.c:1244,1
    - Dst: decoder_next
      Src: /src/libksba/src/ber-decoder.c:1248,1
    - Dst: ksba_reader_tell
      Src: /src/libksba/src/ber-decoder.c:1258,1
    - Dst: sum_a1_a2_gt_b
      Src: /src/libksba/src/ber-decoder.c:1265,1
    - Dst: set_error
      Src: /src/libksba/src/ber-decoder.c:1266,1
    - Dst: read_buffer
      Src: /src/libksba/src/ber-decoder.c:1269,1
    - Dst: eof_or_error
      Src: /src/libksba/src/ber-decoder.c:1271,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:1276,1
    - Dst: xfree
      Src: /src/libksba/src/ber-decoder.c:1289,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:1293,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:1295,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/ber-decoder.c:1298,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/ber-decoder.c:1300,1
    - Dst: read_byte
      Src: /src/libksba/src/ber-decoder.c:1306,1
    - Dst: eof_or_error
      Src: /src/libksba/src/ber-decoder.c:1307,1
    - Dst: _ksba_asn_set_value
      Src: /src/libksba/src/ber-decoder.c:1316,1
    - Dst: decoder_skip
      Src: /src/libksba/src/ber-decoder.c:1322,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/ber-decoder.c:1327,1
    - Dst: xfree
      Src: /src/libksba/src/ber-decoder.c:1332,1
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/ber-decoder.c:1340,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-decoder.c:1342,1
    - Dst: fixup_type_any
      Src: /src/libksba/src/ber-decoder.c:1345,1
    - Dst: fputs
      Src: /src/libksba/src/ber-decoder.c:1353,1
    - Dst: _ksba_asn_node_dump_all
      Src: /src/libksba/src/ber-decoder.c:1354,1
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/ber-decoder.c:1359,1
    - Dst: decoder_deinit
      Src: /src/libksba/src/ber-decoder.c:1363,1
    - Dst: xfree
      Src: /src/libksba/src/ber-decoder.c:1364,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 97
    argCount: 6
    argNames:
    - d
    - start_name
    - flags
    - r_root
    - r_image
    - r_imagelen
    argTypes:
    - BerDecoder
    - char*
    - unsigned int
    - AsnNode*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1214
    functionDepth: 7
    functionLinenumber: 1214
    functionLinenumberEnd: 1366
    functionName: _ksba_ber_decoder_decode
    functionSourceFile: /src/libksba/src/ber-decoder.c
    functionUses: 1
    functionsReached:
    - decoder_deinit
    - read_byte
    - eof_or_error
    - sum_a1_a2_gt_b
    - _ksba_asn_set_value
    - xtrymalloc
    - decoder_init
    - decoder_skip
    - set_error
    - _ksba_asn_node_dump_all
    - gpg_error_from_syserror
    - gpg_error
    - xfree
    - fixup_type_any
    - decoder_next
    - getenv
    - read_buffer
    - gpg_err_code
    - fputs
    - ksba_reader_tell
    - _ksba_asn_release_nodes
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_ber_decoder_decode (BerDecoder d, const char *start_name,\n
      \                         unsigned int flags,\n                          AsnNode
      *r_root,\n                          unsigned char **r_image, size_t *r_imagelen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_log_debug
      Src: /src/libksba/src/cms.c:117,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/cms.c:119,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/cms.c:126,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/cms.c:132,1
    - Dst: digitp
      Src: /src/libksba/src/cms.c:137,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/cms.c:139,1
    - Dst: strtoul
      Src: /src/libksba/src/cms.c:148,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/cms.c:152,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/cms.c:164,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/cms.c:166,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/cms.c:167,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/cms.c:172,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/cms.c:177,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 2
    argNames:
    - text
    - p
    argTypes:
    - char*
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 178
    functionName: log_sexp
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - digitp
    - strtoul
    - gpgrt_log_debug
    - gpgrt_log_printf
    linkageType: ''
    returnType: void
    signature: void log_sexp (const char *text, ksba_const_sexp_t p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_read
      Src: /src/libksba/src/cms.c:193,1
    - Dst: ksba_cms_t::hash_fnc
      Src: /src/libksba/src/cms.c:198,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/cms.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - cms
    - nleft
    argTypes:
    - ksba_cms_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 205
    functionName: read_hash_block
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - ksba_cms_t::hash_fnc
    - ksba_reader_read
    - ksba_writer_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_hash_block (ksba_cms_t cms, unsigned long nleft)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms.c:222,1
    - Dst: read_hash_block
      Src: /src/libksba/src/cms.c:230,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms.c:239,1
    - Dst: read_hash_block
      Src: /src/libksba/src/cms.c:247,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:255,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:262,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms.c:277,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:281,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms.c:289,1
    - Dst: read_hash_block
      Src: /src/libksba/src/cms.c:297,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:305,1
    - Dst: read_hash_block
      Src: /src/libksba/src/cms.c:313,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 64
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 319
    functionName: read_and_hash_cont
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - _ksba_ber_read_tl
    - read_hash_block
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_and_hash_cont (ksba_cms_t cms)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms.c:341,1
    - Dst: ksba_reader_read
      Src: /src/libksba/src/cms.c:352,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/cms.c:356,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms.c:366,1
    - Dst: ksba_reader_read
      Src: /src/libksba/src/cms.c:377,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/cms.c:382,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:391,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:398,1
    - Dst: ksba_reader_read
      Src: /src/libksba/src/cms.c:407,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/cms.c:411,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 61
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 417
    functionName: read_encrypted_cont
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - ksba_writer_write
    - _ksba_ber_read_tl
    - ksba_reader_read
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_encrypted_cont (ksba_cms_t cms)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_read
      Src: /src/libksba/src/cms.c:434,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:437,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/cms.c:440,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/cms.c:442,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 446
    functionName: write_encrypted_cont
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - gpg_err_code
    - ksba_reader_read
    - _ksba_ber_write_tl
    - ksba_writer_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_encrypted_cont (ksba_cms_t cms)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_read
      Src: /src/libksba/src/cms.c:488,1
    - Dst: ksba_reader_unread
      Src: /src/libksba/src/cms.c:492,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cms.c:496,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cms.c:501,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cms.c:509,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cms.c:514,1
    - Dst: ksba_oid_to_str
      Src: /src/libksba/src/cms.c:520,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:525,1
    - Dst: ksba_free
      Src: /src/libksba/src/cms.c:528,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 43
    argCount: 1
    argNames:
    - reader
    argTypes:
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 535
    functionName: ksba_cms_identify
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 2
    functionsReached:
    - ksba_reader_unread
    - ksba_free
    - ksba_reader_read
    - ksba_oid_to_str
    - strcmp
    - _ksba_ber_parse_tl
    linkageType: ''
    returnType: ksba_content_type_t
    signature: ksba_content_type_t ksba_cms_identify (ksba_reader_t reader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/libksba/src/cms.c:549,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/cms.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r_cms
    argTypes:
    - ksba_cms_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 553
    functionName: ksba_cms_new
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 7
    functionsReached:
    - gpg_error_from_errno
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_new (ksba_cms_t *r_cms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/cms.c:562,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:563,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tree
    argTypes:
    - struct value_tree_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 567
    functionName: release_value_tree
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - _ksba_asn_release_nodes
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_value_tree (struct value_tree_s *tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libksba/src/cms.c:580,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:584,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:585,1
    - Dst: ksba_cert_release
      Src: /src/libksba/src/cms.c:591,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:592,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:593,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:594,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:595,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:596,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:597,1
    - Dst: ksba_cert_release
      Src: /src/libksba/src/cms.c:603,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:604,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:605,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:606,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:609,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:610,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:611,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:612,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:613,1
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/cms.c:617,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:618,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:619,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:620,1
    - Dst: release_value_tree
      Src: /src/libksba/src/cms.c:623,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:627,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:628,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:629,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:630,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:636,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:637,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:643,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:644,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:648,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 649
    functionName: ksba_cms_release
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 6
    functionsReached:
    - _ksba_asn_release_nodes
    - release_value_tree
    - xfree
    - ksba_cert_release
    linkageType: ''
    returnType: void
    signature: void ksba_cms_release (ksba_cms_t cms)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:656,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - cms
    - r
    - w
    argTypes:
    - ksba_cms_t
    - ksba_reader_t
    - ksba_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 663
    functionName: ksba_cms_set_reader_writer
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 7
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_set_reader_writer (ksba_cms_t cms, ksba_reader_t
      r, ksba_writer_t w)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:674,1
    - Dst: _ksba_cms_parse_content_info
      Src: /src/libksba/src/cms.c:679,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:684,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:688,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:690,1
    - Dst: ksba_cms_t::content::handler
      Src: /src/libksba/src/cms.c:697,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:702,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - cms
    - r_stopreason
    argTypes:
    - ksba_cms_t
    - ksba_stop_reason_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 706
    functionName: ksba_cms_parse
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 5
    functionsReached:
    - strcmp
    - gpg_error
    - ksba_cms_t::content::handler
    - _ksba_cms_parse_content_info
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_parse (ksba_cms_t cms, ksba_stop_reason_t *r_stopreason)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:714,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:720,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:722,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:724,1
    - Dst: ksba_cms_t::content::handler
      Src: /src/libksba/src/cms.c:729,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:734,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - cms
    - r_stopreason
    argTypes:
    - ksba_cms_t
    - ksba_stop_reason_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 738
    functionName: ksba_cms_build
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 2
    functionsReached:
    - gpg_error
    - ksba_cms_t::content::handler
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_build (ksba_cms_t cms, ksba_stop_reason_t *r_stopreason)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:760,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - cms
    - what
    argTypes:
    - ksba_cms_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 765
    functionName: ksba_cms_get_content_type
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: ksba_content_type_t
    signature: ksba_content_type_t ksba_cms_get_content_type (ksba_cms_t cms, int
      what)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - cms
    - what
    argTypes:
    - ksba_cms_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 783
    functionName: ksba_cms_get_content_oid
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_cms_get_content_oid (ksba_cms_t cms, int what)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:793,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:795,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:797,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:798,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - cms
    - iv
    - maxivlen
    - ivlen
    argTypes:
    - ksba_cms_t
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 801
    functionName: ksba_cms_get_content_enc_iv
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_get_content_enc_iv (ksba_cms_t cms, void *iv,\n
      \                            size_t maxivlen, size_t *ivlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - cms
    - idx
    argTypes:
    - ksba_cms_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 829
    functionName: ksba_cms_get_digest_algo_list
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_cms_get_digest_algo_list (ksba_cms_t cms, int idx)'
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:858,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:860,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:886,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:897,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:899,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:901,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:906,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:913,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:914,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:915,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:916,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:918,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:924,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:926,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:933,1
    - Dst: _ksba_dn_to_str
      Src: /src/libksba/src/cms.c:935,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:947,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:949,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:955,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:959,1
    - Dst: sprintf
      Src: /src/libksba/src/cms.c:960,1
    - Dst: strlen
      Src: /src/libksba/src/cms.c:961,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:962,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:964,1
    - Dst: strcpy
      Src: /src/libksba/src/cms.c:965,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:966,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 78
    argCount: 4
    argNames:
    - cms
    - idx
    - r_issuer
    - r_serial
    argTypes:
    - ksba_cms_t
    - int
    - char**
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 847
    functionDepth: 3
    functionLinenumber: 847
    functionLinenumberEnd: 973
    functionName: ksba_cms_get_issuer_serial
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 3
    functionsReached:
    - strlen
    - _ksba_asn_find_node
    - sprintf
    - strcmp
    - _ksba_dn_to_str
    - gpg_error
    - strcpy
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_get_issuer_serial (ksba_cms_t cms, int idx,\n
      \                           char **r_issuer, ksba_sexp_t *r_serial)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:1011,1
    - Dst: _ksba_oid_node_to_str
      Src: /src/libksba/src/cms.c:1012,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - cms
    - idx
    argTypes:
    - ksba_cms_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 989
    functionDepth: 3
    functionLinenumber: 989
    functionLinenumberEnd: 1018
    functionName: ksba_cms_get_digest_algo
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 2
    functionsReached:
    - _ksba_oid_node_to_str
    - _ksba_asn_find_node
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_cms_get_digest_algo (ksba_cms_t cms, int idx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_ref
      Src: /src/libksba/src/cms.c:1045,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - cms
    - idx
    argTypes:
    - ksba_cms_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1047
    functionName: ksba_cms_get_cert
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 3
    functionsReached:
    - ksba_cert_ref
    linkageType: ''
    returnType: ksba_cert_t
    signature: ksba_cert_t ksba_cms_get_cert (ksba_cms_t cms, int idx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1098,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1100,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1102,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1107,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:1109,1
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/cms.c:1117,1
    - Dst: _ksba_oid_to_str
      Src: /src/libksba/src/cms.c:1127,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/cms.c:1129,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:1134,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/cms.c:1137,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1140,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:1145,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1152,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 49
    argCount: 7
    argNames:
    - cms
    - signer
    - idx
    - unprotected
    - r_oid
    - r_der
    - r_derlen
    argTypes:
    - ksba_cms_t
    - int
    - int
    - int
    - char**
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1082
    functionDepth: 3
    functionLinenumber: 1082
    functionLinenumberEnd: 1153
    functionName: ksba_cms_get_attribute
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 1
    functionsReached:
    - xtrymalloc
    - gpg_error_from_syserror
    - _ksba_asn_find_node
    - gpg_error
    - xfree
    - memcpy
    - _ksba_oid_to_str
    - _ksba_asn_walk_tree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_get_attribute (ksba_cms_t cms, int signer, int
      idx, int unprotected,\n                        char **r_oid, unsigned char **r_der,
      size_t *r_derlen)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1170,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1178,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:1180,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/cms.c:1182,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:1183,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1189,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:1191,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/cms.c:1193,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:1194,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1198,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1205,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1207,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:1217,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1219,1
    - Dst: _ksba_asn_find_type_value
      Src: /src/libksba/src/cms.c:1221,1
    - Dst: DIM
      Src: /src/libksba/src/cms.c:1222,1
    - Dst: _ksba_asn_find_type_value
      Src: /src/libksba/src/cms.c:1227,1
    - Dst: DIM
      Src: /src/libksba/src/cms.c:1228,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1229,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1235,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1238,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:1241,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1243,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:1244,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 54
    argCount: 4
    argNames:
    - cms
    - idx
    - r_digest
    - r_digest_len
    argTypes:
    - ksba_cms_t
    - int
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1162
    functionDepth: 3
    functionLinenumber: 1162
    functionLinenumberEnd: 1246
    functionName: ksba_cms_get_message_digest
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 3
    functionsReached:
    - gpg_error_from_syserror
    - _ksba_asn_find_node
    - DIM
    - gpg_error
    - memcpy
    - _ksba_asn_find_type_value
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_get_message_digest (ksba_cms_t cms, int idx,\n
      \                            char **r_digest, size_t *r_digest_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1258,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1261,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1263,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:1271,1
    - Dst: _ksba_asn_find_type_value
      Src: /src/libksba/src/cms.c:1275,1
    - Dst: DIM
      Src: /src/libksba/src/cms.c:1276,1
    - Dst: _ksba_asn_find_type_value
      Src: /src/libksba/src/cms.c:1281,1
    - Dst: DIM
      Src: /src/libksba/src/cms.c:1282,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1283,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1291,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1294,1
    - Dst: _ksba_asntime_to_iso
      Src: /src/libksba/src/cms.c:1296,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 3
    argNames:
    - cms
    - idx
    - r_sigtime
    argTypes:
    - ksba_cms_t
    - int
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1251
    functionDepth: 3
    functionLinenumber: 1251
    functionLinenumberEnd: 1298
    functionName: ksba_cms_get_signing_time
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 1
    functionsReached:
    - _ksba_asntime_to_iso
    - _ksba_asn_find_node
    - DIM
    - gpg_error
    - _ksba_asn_find_type_value
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_get_signing_time (ksba_cms_t cms, int idx, ksba_isotime_t
      r_sigtime)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1320,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1322,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1324,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:1332,1
    - Dst: ksba_oid_from_str
      Src: /src/libksba/src/cms.c:1336,1
    - Dst: _ksba_asn_find_type_value
      Src: /src/libksba/src/cms.c:1340,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1348,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1349,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1350,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1355,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1356,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1357,1
    - Dst: _ksba_oid_node_to_str
      Src: /src/libksba/src/cms.c:1360,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1363,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1364,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1365,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:1369,1
    - Dst: strlen
      Src: /src/libksba/src/cms.c:1369,1
    - Dst: xtryrealloc
      Src: /src/libksba/src/cms.c:1372,1
    - Dst: strlen
      Src: /src/libksba/src/cms.c:1373,1
    - Dst: strlen
      Src: /src/libksba/src/cms.c:1373,1
    - Dst: stpcpy
      Src: /src/libksba/src/cms.c:1379,1
    - Dst: strlen
      Src: /src/libksba/src/cms.c:1379,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1384,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1385,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1386,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1387,1
    - Dst: strcpy
      Src: /src/libksba/src/cms.c:1389,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1390,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1392,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 4
    argNames:
    - cms
    - idx
    - reqoid
    - r_value
    argTypes:
    - ksba_cms_t
    - int
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1307
    functionDepth: 3
    functionLinenumber: 1307
    functionLinenumberEnd: 1397
    functionName: ksba_cms_get_sigattr_oids
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 2
    functionsReached:
    - strlen
    - _ksba_asn_find_node
    - ksba_oid_from_str
    - xtryrealloc
    - gpg_error
    - xfree
    - strcpy
    - _ksba_oid_node_to_str
    - stpcpy
    - _ksba_asn_find_type_value
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_get_sigattr_oids (ksba_cms_t cms, int idx,\n
      \                          const char *reqoid, char **r_value)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:1431,1
    - Dst: _ksba_sigval_to_sexp
      Src: /src/libksba/src/cms.c:1442,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - cms
    - idx
    argTypes:
    - ksba_cms_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1411
    functionDepth: 3
    functionLinenumber: 1411
    functionLinenumberEnd: 1450
    functionName: ksba_cms_get_sig_val
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 3
    functionsReached:
    - _ksba_asn_find_node
    - _ksba_sigval_to_sexp
    linkageType: ''
    returnType: ksba_sexp_t
    signature: ksba_sexp_t ksba_cms_get_sig_val (ksba_cms_t cms, int idx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libksba/src/cms.c:1461,1
    - Dst: putchar
      Src: /src/libksba/src/cms.c:1468,1
    - Dst: putchar
      Src: /src/libksba/src/cms.c:1474,1
    - Dst: putchar
      Src: /src/libksba/src/cms.c:1478,1
    - Dst: digitp
      Src: /src/libksba/src/cms.c:1482,1
    - Dst: fputs
      Src: /src/libksba/src/cms.c:1484,1
    - Dst: strtoul
      Src: /src/libksba/src/cms.c:1493,1
    - Dst: fputs
      Src: /src/libksba/src/cms.c:1497,1
    - Dst: putchar
      Src: /src/libksba/src/cms.c:1509,1
    - Dst: printf
      Src: /src/libksba/src/cms.c:1511,1
    - Dst: putchar
      Src: /src/libksba/src/cms.c:1512,1
    - Dst: putchar
      Src: /src/libksba/src/cms.c:1517,1
    - Dst: putchar
      Src: /src/libksba/src/cms.c:1522,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 1
    argNames:
    - p
    argTypes:
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1523
    functionName: dbg_print_sexp
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - printf
    - digitp
    - fputs
    - strtoul
    - putchar
    linkageType: ''
    returnType: void
    signature: void dbg_print_sexp (ksba_const_sexp_t p)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:1572,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:1576,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:1578,1
    - Dst: _ksba_encval_to_sexp
      Src: /src/libksba/src/cms.c:1582,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:1587,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:1592,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1596,1
    - Dst: parse_octet_string
      Src: /src/libksba/src/cms.c:1602,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:1609,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1612,1
    - Dst: _ksba_parse_algorithm_identifier2
      Src: /src/libksba/src/cms.c:1615,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1622,1
    - Dst: _ksba_parse_algorithm_identifier
      Src: /src/libksba/src/cms.c:1625,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:1633,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1636,1
    - Dst: _ksba_encval_kari_to_sexp
      Src: /src/libksba/src/cms.c:1639,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:1648,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:1650,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:1654,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1657,1
    - Dst: _ksba_parse_algorithm_identifier2
      Src: /src/libksba/src/cms.c:1660,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:1665,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1668,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1673,1
    - Dst: _ksba_parse_algorithm_identifier2
      Src: /src/libksba/src/cms.c:1677,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:1685,1
    - Dst: _ksba_parse_algorithm_identifier3
      Src: /src/libksba/src/cms.c:1692,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:1700,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1703,1
    - Dst: parse_octet_string
      Src: /src/libksba/src/cms.c:1708,1
    - Dst: init_stringbuf
      Src: /src/libksba/src/cms.c:1726,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/cms.c:1727,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/cms.c:1730,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/cms.c:1731,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/cms.c:1732,1
    - Dst: put_stringbuf_mem_sexp
      Src: /src/libksba/src/cms.c:1733,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/cms.c:1734,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/cms.c:1736,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/cms.c:1737,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/cms.c:1738,1
    - Dst: put_stringbuf_mem_sexp
      Src: /src/libksba/src/cms.c:1739,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/cms.c:1740,1
    - Dst: put_stringbuf_mem_sexp
      Src: /src/libksba/src/cms.c:1741,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/cms.c:1742,1
    - Dst: get_stringbuf
      Src: /src/libksba/src/cms.c:1744,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/cms.c:1746,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1754,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1755,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1756,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1757,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1758,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1759,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 147
    argCount: 2
    argNames:
    - cms
    - idx
    argTypes:
    - ksba_cms_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1539
    functionDepth: 3
    functionLinenumber: 1539
    functionLinenumberEnd: 1767
    functionName: ksba_cms_get_enc_val
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 2
    functionsReached:
    - parse_octet_string
    - _ksba_encval_kari_to_sexp
    - _ksba_parse_algorithm_identifier3
    - _ksba_asn_find_node
    - gpg_error_from_syserror
    - strcmp
    - _ksba_encval_to_sexp
    - gpg_error
    - init_stringbuf
    - put_stringbuf_sexp
    - put_stringbuf
    - get_stringbuf
    - _ksba_parse_algorithm_identifier
    - xfree
    - _ksba_parse_algorithm_identifier2
    - put_stringbuf_mem_sexp
    linkageType: ''
    returnType: ksba_sexp_t
    signature: ksba_sexp_t ksba_cms_get_enc_val (ksba_cms_t cms, int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cms
    - hash_fnc_arg
    argTypes:
    - ksba_cms_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1774
    functionDepth: 0
    functionLinenumber: 1774
    functionLinenumberEnd: 1784
    functionName: ksba_cms_set_hash_function
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ksba_cms_set_hash_function (ksba_cms_t cms,\n                            void
      (*hash_fnc)(void *, const void *, size_t),\n                            void
      *hash_fnc_arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1795,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1797,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:1806,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1808,1
    - Dst: ksba_cms_t::hash_fnc
      Src: /src/libksba/src/cms.c:1811,1
    - Dst: ksba_cms_t::hash_fnc
      Src: /src/libksba/src/cms.c:1812,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - cms
    - idx
    argTypes:
    - ksba_cms_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1788
    functionDepth: 3
    functionLinenumber: 1788
    functionLinenumberEnd: 1816
    functionName: ksba_cms_hash_signed_attrs
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 2
    functionsReached:
    - ksba_cms_t::hash_fnc
    - gpg_error
    - _ksba_asn_find_node
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_hash_signed_attrs (ksba_cms_t cms, int idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1842,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1850,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1852,1
    - Dst: xtrystrdup
      Src: /src/libksba/src/cms.c:1853,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1855,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - cms
    - what
    - type
    argTypes:
    - ksba_cms_t
    - int
    - ksba_content_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1835
    functionDepth: 1
    functionLinenumber: 1835
    functionLinenumberEnd: 1870
    functionName: ksba_cms_set_content_type
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 2
    functionsReached:
    - xtrystrdup
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_set_content_type (ksba_cms_t cms, int what, ksba_content_type_t
      type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1889,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:1891,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1893,1
    - Dst: xtrystrdup
      Src: /src/libksba/src/cms.c:1895,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:1898,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1899,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - cms
    - oid
    argTypes:
    - ksba_cms_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1883
    functionDepth: 1
    functionLinenumber: 1883
    functionLinenumberEnd: 1904
    functionName: ksba_cms_add_digest_algo
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 1
    functionsReached:
    - xtrystrdup
    - gpg_error
    - xtrymalloc
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_add_digest_algo (ksba_cms_t cms, const char *oid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1923,1
    - Dst: xtrycalloc
      Src: /src/libksba/src/cms.c:1925,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1927,1
    - Dst: ksba_cert_ref
      Src: /src/libksba/src/cms.c:1929,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - cms
    - cert
    argTypes:
    - ksba_cms_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1917
    functionDepth: 1
    functionLinenumber: 1917
    functionLinenumberEnd: 1940
    functionName: ksba_cms_add_signer
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - ksba_cert_ref
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_add_signer (ksba_cms_t cms, ksba_cert_t cert)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1959,1
    - Dst: _ksba_cert_cmp
      Src: /src/libksba/src/cms.c:1964,1
    - Dst: xtrycalloc
      Src: /src/libksba/src/cms.c:1969,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1971,1
    - Dst: ksba_cert_ref
      Src: /src/libksba/src/cms.c:1973,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - cms
    - cert
    argTypes:
    - ksba_cms_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1953
    functionDepth: 1
    functionLinenumber: 1953
    functionLinenumberEnd: 1978
    functionName: ksba_cms_add_cert
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 1
    functionsReached:
    - ksba_cert_ref
    - gpg_error
    - _ksba_cert_cmp
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_add_cert (ksba_cms_t cms, ksba_cert_t cert)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:1999,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:2004,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/cms.c:2006,1
    - Dst: xtrystrdup
      Src: /src/libksba/src/cms.c:2010,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/cms.c:2013,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2014,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:2019,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - cms
    - oid
    - der
    - derlen
    argTypes:
    - ksba_cms_t
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1991
    functionDepth: 1
    functionLinenumber: 1991
    functionLinenumberEnd: 2032
    functionName: ksba_cms_add_smime_capability
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_errno
    - gpg_error
    - xtrystrdup
    - xfree
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_add_smime_capability (ksba_cms_t cms, const char
      *oid,\n                               const unsigned char *der, size_t derlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2062,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2064,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2074,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:2077,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/cms.c:2079,1
    - Dst: xtrystrdup
      Src: /src/libksba/src/cms.c:2082,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/cms.c:2085,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2086,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:2090,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 6
    argNames:
    - cms
    - idx
    - oid
    - unprotected
    - der
    - derlen
    argTypes:
    - ksba_cms_t
    - int
    - char*
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2053
    functionDepth: 1
    functionLinenumber: 2053
    functionLinenumberEnd: 2096
    functionName: ksba_cms_add_attribute
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 2
    functionsReached:
    - gpg_error_from_syserror
    - xtrystrdup
    - gpg_error
    - xfree
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_add_attribute (ksba_cms_t cms, int idx,\n                        const
      char *oid, int unprotected,\n                        const unsigned char *der,
      size_t derlen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2120,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2127,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2129,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2131,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:2133,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/cms.c:2135,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:2136,1
    - Dst: DIM
      Src: /src/libksba/src/cms.c:2142,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2143,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2145,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2150,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:2152,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 4
    argNames:
    - cms
    - idx
    - digest
    - digest_len
    argTypes:
    - ksba_cms_t
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2113
    functionDepth: 1
    functionLinenumber: 2113
    functionLinenumberEnd: 2154
    functionName: ksba_cms_set_message_digest
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 2
    functionsReached:
    - gpg_error_from_syserror
    - DIM
    - gpg_error
    - xfree
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_set_message_digest (ksba_cms_t cms, int idx,\n
      \                            const unsigned char *digest, size_t digest_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2174,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2176,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2181,1
    - Dst: _ksba_current_time
      Src: /src/libksba/src/cms.c:2186,1
    - Dst: _ksba_copy_time
      Src: /src/libksba/src/cms.c:2188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - cms
    - idx
    - sigtime
    argTypes:
    - ksba_cms_t
    - int
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2168
    functionDepth: 1
    functionLinenumber: 2168
    functionLinenumberEnd: 2190
    functionName: ksba_cms_set_signing_time
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 1
    functionsReached:
    - _ksba_current_time
    - gpg_error
    - _ksba_copy_time
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_set_signing_time (ksba_cms_t cms, int idx, const
      ksba_isotime_t sigtime)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2219,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2221,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2226,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2232,1
    - Dst: snext
      Src: /src/libksba/src/cms.c:2234,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2235,1
    - Dst: smatch
      Src: /src/libksba/src/cms.c:2236,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2237,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2239,1
    - Dst: digitp
      Src: /src/libksba/src/cms.c:2239,1
    - Dst: snext
      Src: /src/libksba/src/cms.c:2243,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2244,1
    - Dst: xtrycalloc
      Src: /src/libksba/src/cms.c:2246,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2248,1
    - Dst: xtrystrdup
      Src: /src/libksba/src/cms.c:2252,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2255,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2256,1
    - Dst: memcmp
      Src: /src/libksba/src/cms.c:2259,1
    - Dst: xtrystrdup
      Src: /src/libksba/src/cms.c:2262,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2265,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2266,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:2271,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2274,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2275,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:2277,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:2282,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:2283,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:2284,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:2285,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2288,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2289,1
    - Dst: strtoul
      Src: /src/libksba/src/cms.c:2294,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2298,1
    - Dst: digitp
      Src: /src/libksba/src/cms.c:2306,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2308,1
    - Dst: strtoul
      Src: /src/libksba/src/cms.c:2311,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2315,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2323,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:2324,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/cms.c:2327,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:2330,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2335,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:2336,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/cms.c:2339,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:2342,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2350,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2359,1
    - Dst: digitp
      Src: /src/libksba/src/cms.c:2359,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2365,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2372,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2377,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2385,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2386,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2387,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2388,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 139
    argCount: 3
    argNames:
    - cms
    - idx
    - sigval
    argTypes:
    - ksba_cms_t
    - int
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2208
    functionDepth: 1
    functionLinenumber: 2208
    functionLinenumberEnd: 2390
    functionName: ksba_cms_set_sig_val
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 1
    functionsReached:
    - smatch
    - gpg_error_from_syserror
    - digitp
    - strcmp
    - xtrystrdup
    - gpg_error
    - memcmp
    - xfree
    - memcpy
    - xtrycalloc
    - strtoul
    - xtrymalloc
    - snext
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_set_sig_val (ksba_cms_t cms, int idx, ksba_const_sexp_t
      sigval)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2401,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2403,1
    - Dst: xtrystrdup
      Src: /src/libksba/src/cms.c:2407,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2409,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:2413,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2415,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:2416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - cms
    - oid
    - iv
    - ivlen
    argTypes:
    - ksba_cms_t
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2395
    functionDepth: 1
    functionLinenumber: 2395
    functionLinenumberEnd: 2420
    functionName: ksba_cms_set_content_enc_algo
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 1
    functionsReached:
    - xtrystrdup
    - gpg_error
    - xfree
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_set_content_enc_algo (ksba_cms_t cms,\n                               const
      char *oid,\n                               const void *iv, size_t ivlen)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2450,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2452,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2456,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2461,1
    - Dst: strtoul
      Src: /src/libksba/src/cms.c:2464,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2467,1
    - Dst: memcmp
      Src: /src/libksba/src/cms.c:2469,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2470,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2473,1
    - Dst: digitp
      Src: /src/libksba/src/cms.c:2473,1
    - Dst: strtoul
      Src: /src/libksba/src/cms.c:2477,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2480,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2482,1
    - Dst: memcmp
      Src: /src/libksba/src/cms.c:2483,1
    - Dst: xtrystrdup
      Src: /src/libksba/src/cms.c:2485,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2487,1
    - Dst: memcmp
      Src: /src/libksba/src/cms.c:2489,1
    - Dst: xtrystrdup
      Src: /src/libksba/src/cms.c:2491,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2493,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:2497,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2499,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:2500,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:2505,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2507,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2508,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2509,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2510,1
    - Dst: strtoul
      Src: /src/libksba/src/cms.c:2515,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2518,1
    - Dst: digitp
      Src: /src/libksba/src/cms.c:2524,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2525,1
    - Dst: strtoul
      Src: /src/libksba/src/cms.c:2526,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2529,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2535,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:2536,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2538,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:2539,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2546,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:2547,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2549,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:2550,1
    - Dst: memcmp
      Src: /src/libksba/src/cms.c:2553,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2555,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:2556,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2558,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:2559,1
    - Dst: memcmp
      Src: /src/libksba/src/cms.c:2562,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2564,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms.c:2565,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2567,1
    - Dst: memcpy
      Src: /src/libksba/src/cms.c:2568,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2575,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2580,1
    - Dst: digitp
      Src: /src/libksba/src/cms.c:2580,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2583,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2587,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2592,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 122
    argCount: 3
    argNames:
    - cms
    - idx
    - encval
    argTypes:
    - ksba_cms_t
    - int
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2596
      start: 2440
    functionDepth: 1
    functionLinenumber: 2440
    functionLinenumberEnd: 2596
    functionName: ksba_cms_set_enc_val
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 1
    functionsReached:
    - digitp
    - strcmp
    - xtrystrdup
    - gpg_error
    - memcmp
    - xfree
    - memcpy
    - strtoul
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_set_enc_val (ksba_cms_t cms, int idx, ksba_const_sexp_t
      encval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cms_add_signer
      Src: /src/libksba/src/cms.c:2618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - cert
    argTypes:
    - ksba_cms_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2614
    functionDepth: 0
    functionLinenumber: 2614
    functionLinenumberEnd: 2619
    functionName: ksba_cms_add_recipient
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 1
    functionsReached:
    - ksba_cms_add_signer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_add_recipient (ksba_cms_t cms, ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2633
      start: 2628
    functionDepth: 1
    functionLinenumber: 2628
    functionLinenumberEnd: 2633
    functionName: ct_parse_data
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ct_parse_data (ksba_cms_t cms)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2662,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2671,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2673,1
    - Dst: _ksba_cms_parse_signed_data_part_1
      Src: /src/libksba/src/cms.c:2680,1
    - Dst: _ksba_cms_parse_signed_data_part_2
      Src: /src/libksba/src/cms.c:2682,1
    - Dst: read_and_hash_cont
      Src: /src/libksba/src/cms.c:2684,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2686,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2636
    functionDepth: 2
    functionLinenumber: 2636
    functionLinenumberEnd: 2713
    functionName: ct_parse_signed_data
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - _ksba_cms_parse_signed_data_part_2
    - read_and_hash_cont
    - _ksba_cms_parse_signed_data_part_1
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ct_parse_signed_data (ksba_cms_t cms)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2748,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2750,1
    - Dst: _ksba_cms_parse_enveloped_data_part_1
      Src: /src/libksba/src/cms.c:2757,1
    - Dst: _ksba_cms_parse_enveloped_data_part_2
      Src: /src/libksba/src/cms.c:2759,1
    - Dst: read_encrypted_cont
      Src: /src/libksba/src/cms.c:2761,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2763,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2781
      start: 2716
    functionDepth: 2
    functionLinenumber: 2716
    functionLinenumberEnd: 2781
    functionName: ct_parse_enveloped_data
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - _ksba_cms_parse_enveloped_data_part_2
    - gpg_error
    - _ksba_cms_parse_enveloped_data_part_1
    - read_encrypted_cont
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ct_parse_enveloped_data (ksba_cms_t cms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2789
      start: 2784
    functionDepth: 1
    functionLinenumber: 2784
    functionLinenumberEnd: 2789
    functionName: ct_parse_digested_data
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ct_parse_digested_data (ksba_cms_t cms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2797
      start: 2792
    functionDepth: 1
    functionLinenumber: 2792
    functionLinenumberEnd: 2797
    functionName: ct_parse_encrypted_data
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ct_parse_encrypted_data (ksba_cms_t cms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2810
      start: 2805
    functionDepth: 1
    functionLinenumber: 2805
    functionLinenumberEnd: 2810
    functionName: ct_build_data
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ct_build_data (ksba_cms_t cms)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:2825,1
    - Dst: ksba_oid_from_str
      Src: /src/libksba/src/cms.c:2828,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:2831,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/cms.c:2834,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2835,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:2839,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:2844,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:2855,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/cms.c:2858,1
    - Dst: ksba_writer_new
      Src: /src/libksba/src/cms.c:2868,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/cms.c:2871,1
    - Dst: ksba_writer_release
      Src: /src/libksba/src/cms.c:2874,1
    - Dst: ksba_cms_get_digest_algo_list
      Src: /src/libksba/src/cms.c:2878,1
    - Dst: ksba_cms_get_digest_algo_list
      Src: /src/libksba/src/cms.c:2884,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:2886,1
    - Dst: _ksba_der_write_algorithm_identifier
      Src: /src/libksba/src/cms.c:2891,1
    - Dst: ksba_writer_release
      Src: /src/libksba/src/cms.c:2894,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/cms.c:2900,1
    - Dst: ksba_writer_release
      Src: /src/libksba/src/cms.c:2901,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2904,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:2907,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/cms.c:2910,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2911,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:2921,1
    - Dst: ksba_oid_from_str
      Src: /src/libksba/src/cms.c:2924,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:2927,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/cms.c:2930,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:2931,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:2937,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 80
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2943
      start: 2815
    functionDepth: 1
    functionLinenumber: 2815
    functionLinenumberEnd: 2943
    functionName: build_signed_data_header
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - ksba_writer_new
    - _ksba_der_write_algorithm_identifier
    - ksba_writer_snatch_mem
    - _ksba_ber_write_tl
    - ksba_oid_from_str
    - ksba_writer_release
    - ksba_cms_get_digest_algo_list
    - strcmp
    - xfree
    - gpg_error
    - ksba_writer_write
    - ksba_writer_set_mem
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t build_signed_data_header (ksba_cms_t cms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:2956,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:2958,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:2960,1
    - Dst: _ksba_der_copy_tree
      Src: /src/libksba/src/cms.c:2964,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:2968,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:2970,1
    - Dst: _ksba_der_copy_tree
      Src: /src/libksba/src/cms.c:2974,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - info
    - cert
    - mode
    argTypes:
    - AsnNode
    - ksba_cert_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2979
      start: 2949
    functionDepth: 3
    functionLinenumber: 2949
    functionLinenumberEnd: 2979
    functionName: set_issuer_serial
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - _ksba_der_copy_tree
    - gpg_error
    - _ksba_asn_find_node
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t set_issuer_serial (AsnNode info, ksba_cert_t cert, int
      mode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ksba_writer_new
      Src: /src/libksba/src/cms.c:2993,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/cms.c:2996,1
    - Dst: ksba_writer_release
      Src: /src/libksba/src/cms.c:2999,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:3011,1
    - Dst: memcmp
      Src: /src/libksba/src/cms.c:3013,1
    - Dst: _ksba_der_write_algorithm_identifier
      Src: /src/libksba/src/cms.c:3023,1
    - Dst: ksba_writer_release
      Src: /src/libksba/src/cms.c:3028,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/cms.c:3034,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3036,1
    - Dst: _ksba_der_store_sequence
      Src: /src/libksba/src/cms.c:3038,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:3039,1
    - Dst: ksba_writer_release
      Src: /src/libksba/src/cms.c:3040,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - node
    - capabilities
    argTypes:
    - AsnNode
    - struct oidparmlist_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3042
      start: 2983
    functionDepth: 1
    functionLinenumber: 2983
    functionLinenumberEnd: 3042
    functionName: store_smime_capability_sequence
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - ksba_writer_new
    - _ksba_der_write_algorithm_identifier
    - ksba_writer_snatch_mem
    - ksba_writer_release
    - strcmp
    - gpg_error
    - memcmp
    - _ksba_der_store_sequence
    - xfree
    - ksba_writer_set_mem
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t store_smime_capability_sequence (AsnNode node,\n                                 struct
      oidparmlist_s *capabilities)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - a_v
    - b_v
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3072
      start: 3055
    functionDepth: 0
    functionLinenumber: 3055
    functionLinenumberEnd: 3072
    functionName: compare_attrarray
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_attrarray (const void *a_v, const void *b_v)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:3096,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3101,1
    - Dst: xtrycalloc
      Src: /src/libksba/src/cms.c:3115,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/cms.c:3118,1
    - Dst: ksba_cert_get_image
      Src: /src/libksba/src/cms.c:3132,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3133,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:3138,1
    - Dst: ksba_cert_get_image
      Src: /src/libksba/src/cms.c:3144,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3145,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/cms.c:3146,1
    - Dst: ksba_asn_create_tree
      Src: /src/libksba/src/cms.c:3157,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3164,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3170,1
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/cms.c:3185,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:3186,1
    - Dst: memset
      Src: /src/libksba/src/cms.c:3189,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3193,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3199,1
    - Dst: _ksba_asn_expand_tree
      Src: /src/libksba/src/cms.c:3204,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3208,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3211,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3214,1
    - Dst: _ksba_der_store_oid
      Src: /src/libksba/src/cms.c:3217,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3220,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3222,1
    - Dst: assert
      Src: /src/libksba/src/cms.c:3224,1
    - Dst: _ksba_der_store_octet_string
      Src: /src/libksba/src/cms.c:3225,1
    - Dst: _ksba_der_encode_tree
      Src: /src/libksba/src/cms.c:3229,1
    - Dst: _ksba_asn_expand_tree
      Src: /src/libksba/src/cms.c:3238,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3242,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3245,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3248,1
    - Dst: _ksba_der_store_oid
      Src: /src/libksba/src/cms.c:3251,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3254,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3257,1
    - Dst: _ksba_der_store_oid
      Src: /src/libksba/src/cms.c:3261,1
    - Dst: _ksba_der_encode_tree
      Src: /src/libksba/src/cms.c:3264,1
    - Dst: _ksba_asn_expand_tree
      Src: /src/libksba/src/cms.c:3275,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3279,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3282,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3285,1
    - Dst: _ksba_der_store_oid
      Src: /src/libksba/src/cms.c:3288,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3291,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3294,1
    - Dst: _ksba_der_store_time
      Src: /src/libksba/src/cms.c:3298,1
    - Dst: _ksba_der_encode_tree
      Src: /src/libksba/src/cms.c:3301,1
    - Dst: _ksba_asn_expand_tree
      Src: /src/libksba/src/cms.c:3314,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3318,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3321,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3324,1
    - Dst: _ksba_der_store_oid
      Src: /src/libksba/src/cms.c:3327,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3330,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3333,1
    - Dst: store_smime_capability_sequence
      Src: /src/libksba/src/cms.c:3337,1
    - Dst: _ksba_der_encode_tree
      Src: /src/libksba/src/cms.c:3340,1
    - Dst: _ksba_asn_expand_tree
      Src: /src/libksba/src/cms.c:3355,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3359,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3362,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3365,1
    - Dst: _ksba_der_store_oid
      Src: /src/libksba/src/cms.c:3368,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3371,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3374,1
    - Dst: _ksba_der_store_set_of
      Src: /src/libksba/src/cms.c:3380,1
    - Dst: _ksba_der_encode_tree
      Src: /src/libksba/src/cms.c:3384,1
    - Dst: assert
      Src: /src/libksba/src/cms.c:3388,1
    - Dst: qsort
      Src: /src/libksba/src/cms.c:3397,1
    - Dst: _ksba_asn_expand_tree
      Src: /src/libksba/src/cms.c:3402,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3404,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3407,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3415,1
    - Dst: assert
      Src: /src/libksba/src/cms.c:3419,1
    - Dst: _ksba_asn_insert_copy
      Src: /src/libksba/src/cms.c:3424,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3426,1
    - Dst: _ksba_der_copy_tree
      Src: /src/libksba/src/cms.c:3430,1
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/cms.c:3433,1
    - Dst: free
      Src: /src/libksba/src/cms.c:3434,1
    - Dst: _ksba_der_encode_tree
      Src: /src/libksba/src/cms.c:3439,1
    - Dst: xtrycalloc
      Src: /src/libksba/src/cms.c:3443,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3445,1
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/cms.c:3455,1
    - Dst: ksba_asn_tree_release
      Src: /src/libksba/src/cms.c:3456,1
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/cms.c:3459,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:3460,1
    CyclomaticComplexity: 115
    EdgeCount: 115
    ICount: 304
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts:
    - condition: (certlist && certlist->msg_digest_len)
      pos:
        line_end: 3223
        line_start: 3223
        source_file: /src/libksba/src/cms.c
    - condition: (attridx < attrsize)
      pos:
        line_end: 3387
        line_start: 3387
        source_file: /src/libksba/src/cms.c
    - condition: (attridx <= attrsize)
      pos:
        line_end: 3418
        line_start: 3418
        source_file: /src/libksba/src/cms.c
    constantsTouched: []
    func_position:
      end: 3464
      start: 3079
    functionDepth: 6
    functionLinenumber: 3079
    functionLinenumberEnd: 3464
    functionName: build_signed_data_attributes
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - _ksba_der_store_oid
    - _ksba_ber_write_tl
    - _ksba_der_copy_tree
    - _ksba_asn_expand_tree
    - _ksba_der_store_set_of
    - ksba_asn_tree_release
    - qsort
    - ksba_asn_create_tree
    - store_smime_capability_sequence
    - gpg_error_from_syserror
    - assert
    - gpg_error
    - xfree
    - memset
    - xtrycalloc
    - _ksba_der_store_time
    - _ksba_asn_insert_copy
    - _ksba_asn_find_node
    - ksba_cert_get_image
    - _ksba_der_store_octet_string
    - _ksba_der_encode_tree
    - ksba_writer_write
    - _ksba_asn_release_nodes
    - free
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t build_signed_data_attributes (ksba_cms_t cms)
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: ksba_asn_create_tree
      Src: /src/libksba/src/cms.c:3490,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3497,1
    - Dst: ksba_writer_new
      Src: /src/libksba/src/cms.c:3502,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/cms.c:3505,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3527,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3532,1
    - Dst: _ksba_asn_expand_tree
      Src: /src/libksba/src/cms.c:3536,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3540,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3543,1
    - Dst: _ksba_der_store_integer
      Src: /src/libksba/src/cms.c:3546,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3551,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3554,1
    - Dst: set_issuer_serial
      Src: /src/libksba/src/cms.c:3558,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3563,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3566,1
    - Dst: _ksba_der_store_oid
      Src: /src/libksba/src/cms.c:3569,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3572,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3575,1
    - Dst: _ksba_der_store_null
      Src: /src/libksba/src/cms.c:3578,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3583,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3586,1
    - Dst: assert
      Src: /src/libksba/src/cms.c:3589,1
    - Dst: assert
      Src: /src/libksba/src/cms.c:3590,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3591,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3594,1
    - Dst: _ksba_der_copy_tree
      Src: /src/libksba/src/cms.c:3597,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3603,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3607,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3612,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:3616,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:3619,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:3621,1
    - Dst: strcmp
      Src: /src/libksba/src/cms.c:3623,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3627,1
    - Dst: _ksba_der_store_oid
      Src: /src/libksba/src/cms.c:3634,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3637,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3641,1
    - Dst: _ksba_der_store_null
      Src: /src/libksba/src/cms.c:3644,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3651,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3654,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3657,1
    - Dst: _ksba_der_release
      Src: /src/libksba/src/cms.c:3666,1
    - Dst: _ksba_der_builder_new
      Src: /src/libksba/src/cms.c:3667,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/cms.c:3670,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/cms.c:3673,1
    - Dst: _ksba_der_add_int
      Src: /src/libksba/src/cms.c:3674,1
    - Dst: _ksba_der_add_int
      Src: /src/libksba/src/cms.c:3675,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/cms.c:3676,1
    - Dst: _ksba_der_builder_get
      Src: /src/libksba/src/cms.c:3678,1
    - Dst: _ksba_der_store_octet_string
      Src: /src/libksba/src/cms.c:3681,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:3682,1
    - Dst: _ksba_der_store_octet_string
      Src: /src/libksba/src/cms.c:3688,1
    - Dst: xtrycalloc
      Src: /src/libksba/src/cms.c:3709,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/cms.c:3712,1
    - Dst: _ksba_asn_expand_tree
      Src: /src/libksba/src/cms.c:3723,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3727,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3730,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3733,1
    - Dst: _ksba_der_store_oid
      Src: /src/libksba/src/cms.c:3736,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3739,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3742,1
    - Dst: gpgrt_log_printhex
      Src: /src/libksba/src/cms.c:3746,1
    - Dst: _ksba_der_store_set_of
      Src: /src/libksba/src/cms.c:3748,1
    - Dst: _ksba_der_encode_tree
      Src: /src/libksba/src/cms.c:3752,1
    - Dst: assert
      Src: /src/libksba/src/cms.c:3756,1
    - Dst: qsort
      Src: /src/libksba/src/cms.c:3764,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cms.c:3767,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3770,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3777,1
    - Dst: assert
      Src: /src/libksba/src/cms.c:3781,1
    - Dst: _ksba_asn_insert_copy
      Src: /src/libksba/src/cms.c:3786,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3788,1
    - Dst: _ksba_der_copy_tree
      Src: /src/libksba/src/cms.c:3792,1
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/cms.c:3796,1
    - Dst: free
      Src: /src/libksba/src/cms.c:3797,1
    - Dst: _ksba_der_encode_tree
      Src: /src/libksba/src/cms.c:3804,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/cms.c:3808,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:3809,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/cms.c:3819,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3822,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:3825,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/cms.c:3828,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:3829,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:3835,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:3837,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:3839,1
    - Dst: ksba_asn_tree_release
      Src: /src/libksba/src/cms.c:3842,1
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/cms.c:3843,1
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/cms.c:3844,1
    - Dst: ksba_writer_release
      Src: /src/libksba/src/cms.c:3845,1
    - Dst: _ksba_der_release
      Src: /src/libksba/src/cms.c:3846,1
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/cms.c:3849,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:3850,1
    CyclomaticComplexity: 119
    EdgeCount: 119
    ICount: 299
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts:
    - condition: (si->image)
      pos:
        line_end: 3589
        line_start: 3589
        source_file: /src/libksba/src/cms.c
    - condition: (attridx <= attrsize)
      pos:
        line_end: 3780
        line_start: 3780
        source_file: /src/libksba/src/cms.c
    - condition: (attridx < attrsize)
      pos:
        line_end: 3755
        line_start: 3755
        source_file: /src/libksba/src/cms.c
    - condition: (si->root)
      pos:
        line_end: 3588
        line_start: 3588
        source_file: /src/libksba/src/cms.c
    constantsTouched: []
    func_position:
      end: 3853
      start: 3469
    functionDepth: 6
    functionLinenumber: 3469
    functionLinenumberEnd: 3853
    functionName: build_signed_data_rest
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - _ksba_der_store_null
    - _ksba_der_builder_new
    - _ksba_der_add_end
    - _ksba_der_store_oid
    - _ksba_ber_write_tl
    - ksba_writer_release
    - gpgrt_log_printhex
    - _ksba_der_copy_tree
    - _ksba_der_builder_get
    - _ksba_asn_expand_tree
    - _ksba_der_store_set_of
    - ksba_asn_tree_release
    - qsort
    - _ksba_der_release
    - ksba_asn_create_tree
    - _ksba_der_store_integer
    - ksba_writer_snatch_mem
    - assert
    - gpg_error_from_syserror
    - strcmp
    - gpg_error
    - xfree
    - xtrycalloc
    - _ksba_der_add_int
    - ksba_writer_set_mem
    - ksba_writer_new
    - _ksba_asn_insert_copy
    - _ksba_asn_find_node
    - set_issuer_serial
    - _ksba_der_store_octet_string
    - _ksba_der_encode_tree
    - ksba_writer_write
    - _ksba_asn_release_nodes
    - _ksba_der_add_tag
    - free
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t build_signed_data_rest (ksba_cms_t cms)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3888,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3892,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3894,1
    - Dst: build_signed_data_header
      Src: /src/libksba/src/cms.c:3908,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:3913,1
    - Dst: build_signed_data_attributes
      Src: /src/libksba/src/cms.c:3915,1
    - Dst: build_signed_data_rest
      Src: /src/libksba/src/cms.c:3918,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:3920,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3940
      start: 3858
    functionDepth: 7
    functionLinenumber: 3858
    functionLinenumberEnd: 3940
    functionName: ct_build_signed_data
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - build_signed_data_attributes
    - _ksba_ber_write_tl
    - gpg_error
    - build_signed_data_rest
    - build_signed_data_header
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ct_build_signed_data (ksba_cms_t cms)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:3966,1
    - Dst: ksba_oid_from_str
      Src: /src/libksba/src/cms.c:3969,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:3972,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/cms.c:3975,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:3976,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:3980,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:3985,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:4003,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/cms.c:4006,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:4016,1
    - Dst: _ksba_der_builder_new
      Src: /src/libksba/src/cms.c:4021,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/cms.c:4024,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/cms.c:4028,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:4036,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/cms.c:4042,1
    - Dst: _ksba_der_add_ptr
      Src: /src/libksba/src/cms.c:4045,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/cms.c:4047,1
    - Dst: _ksba_cert_get_issuer_dn_ptr
      Src: /src/libksba/src/cms.c:4049,1
    - Dst: _ksba_der_add_der
      Src: /src/libksba/src/cms.c:4052,1
    - Dst: _ksba_cert_get_serial_ptr
      Src: /src/libksba/src/cms.c:4054,1
    - Dst: _ksba_der_add_der
      Src: /src/libksba/src/cms.c:4057,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/cms.c:4058,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/cms.c:4061,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:4064,1
    - Dst: _ksba_der_add_oid
      Src: /src/libksba/src/cms.c:4067,1
    - Dst: _ksba_der_add_ptr
      Src: /src/libksba/src/cms.c:4092,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/cms.c:4093,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:4098,1
    - Dst: _ksba_der_add_ptr
      Src: /src/libksba/src/cms.c:4101,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/cms.c:4108,1
    - Dst: _ksba_der_add_ptr
      Src: /src/libksba/src/cms.c:4109,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/cms.c:4111,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/cms.c:4112,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/cms.c:4113,1
    - Dst: _ksba_der_add_oid
      Src: /src/libksba/src/cms.c:4114,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/cms.c:4115,1
    - Dst: _ksba_der_add_bts
      Src: /src/libksba/src/cms.c:4116,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/cms.c:4118,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/cms.c:4119,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/cms.c:4121,1
    - Dst: _ksba_der_add_oid
      Src: /src/libksba/src/cms.c:4122,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/cms.c:4123,1
    - Dst: _ksba_der_add_oid
      Src: /src/libksba/src/cms.c:4124,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/cms.c:4125,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/cms.c:4126,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/cms.c:4127,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/cms.c:4128,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/cms.c:4131,1
    - Dst: _ksba_cert_get_issuer_dn_ptr
      Src: /src/libksba/src/cms.c:4132,1
    - Dst: _ksba_der_add_der
      Src: /src/libksba/src/cms.c:4135,1
    - Dst: _ksba_cert_get_serial_ptr
      Src: /src/libksba/src/cms.c:4136,1
    - Dst: _ksba_der_add_der
      Src: /src/libksba/src/cms.c:4139,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/cms.c:4140,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:4145,1
    - Dst: _ksba_der_add_ptr
      Src: /src/libksba/src/cms.c:4148,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/cms.c:4152,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/cms.c:4153,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/cms.c:4156,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/cms.c:4158,1
    - Dst: _ksba_der_builder_get
      Src: /src/libksba/src/cms.c:4165,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/cms.c:4168,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:4169,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:4175,1
    - Dst: ksba_oid_from_str
      Src: /src/libksba/src/cms.c:4178,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:4181,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/cms.c:4184,1
    - Dst: xfree
      Src: /src/libksba/src/cms.c:4185,1
    - Dst: _ksba_der_write_algorithm_identifier
      Src: /src/libksba/src/cms.c:4190,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:4199,1
    - Dst: _ksba_der_release
      Src: /src/libksba/src/cms.c:4206,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 155
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4208
      start: 3944
    functionDepth: 2
    functionLinenumber: 3944
    functionLinenumberEnd: 4208
    functionName: build_enveloped_data_header
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - _ksba_der_builder_new
    - _ksba_cert_get_issuer_dn_ptr
    - _ksba_der_write_algorithm_identifier
    - gpg_error_from_syserror
    - _ksba_der_add_der
    - _ksba_der_add_end
    - _ksba_der_add_bts
    - _ksba_cert_get_serial_ptr
    - _ksba_der_builder_get
    - _ksba_ber_write_tl
    - ksba_oid_from_str
    - _ksba_der_add_oid
    - gpg_error
    - xfree
    - ksba_writer_write
    - _ksba_der_release
    - _ksba_der_add_ptr
    - _ksba_der_add_tag
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t build_enveloped_data_header (ksba_cms_t cms)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:4239,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:4243,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:4245,1
    - Dst: build_enveloped_data_header
      Src: /src/libksba/src/cms.c:4252,1
    - Dst: write_encrypted_cont
      Src: /src/libksba/src/cms.c:4254,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:4262,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:4267,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/cms.c:4270,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:4276,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:4278,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/cms.c:4280,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:4283,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4308
      start: 4213
    functionDepth: 3
    functionLinenumber: 4213
    functionLinenumberEnd: 4308
    functionName: ct_build_enveloped_data
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - _ksba_ber_write_tl
    - gpg_error
    - ksba_writer_write
    - build_enveloped_data_header
    - write_encrypted_cont
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ct_build_enveloped_data (ksba_cms_t cms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:4315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4316
      start: 4311
    functionDepth: 1
    functionLinenumber: 4311
    functionLinenumberEnd: 4316
    functionName: ct_build_digested_data
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ct_build_digested_data (ksba_cms_t cms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cms.c:4323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4324
      start: 4319
    functionDepth: 1
    functionLinenumber: 4319
    functionLinenumberEnd: 4324
    functionName: ct_build_encrypted_data
    functionSourceFile: /src/libksba/src/cms.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ct_build_encrypted_data (ksba_cms_t cms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libksba/src/gen-help.c:31,1
    - Dst: exit
      Src: /src/libksba/src/gen-help.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: out_of_core
    functionSourceFile: /src/libksba/src/gen-help.c
    functionUses: 49
    functionsReached:
    - exit
    - fputs
    linkageType: ''
    returnType: void
    signature: void out_of_core(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libksba/src/gen-help.c:41,1
    - Dst: out_of_core
      Src: /src/libksba/src/gen-help.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: xmalloc
    functionSourceFile: /src/libksba/src/gen-help.c
    functionUses: 211
    functionsReached:
    - out_of_core
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xmalloc (size_t n )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libksba/src/gen-help.c:50,1
    - Dst: out_of_core
      Src: /src/libksba/src/gen-help.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: xcalloc
    functionSourceFile: /src/libksba/src/gen-help.c
    functionUses: 52
    functionsReached:
    - calloc
    - out_of_core
    linkageType: ''
    returnType: void
    signature: 'void *

      xcalloc (size_t n, size_t m)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libksba/src/gen-help.c:59,1
    - Dst: out_of_core
      Src: /src/libksba/src/gen-help.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mem
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: xrealloc
    functionSourceFile: /src/libksba/src/gen-help.c
    functionUses: 30
    functionsReached:
    - out_of_core
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xrealloc (void *mem, size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libksba/src/gen-help.c:69,1
    - Dst: out_of_core
      Src: /src/libksba/src/gen-help.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: xstrdup
    functionSourceFile: /src/libksba/src/gen-help.c
    functionUses: 155
    functionsReached:
    - out_of_core
    - strdup
    linkageType: ''
    returnType: char
    signature: 'char *

      xstrdup (const char *str)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libksba/src/gen-help.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: xfree
    functionSourceFile: /src/libksba/src/gen-help.c
    functionUses: 1645
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void xfree (void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: gen_help_stpcpy
    functionSourceFile: /src/libksba/src/gen-help.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      gen_help_stpcpy (char *a, const char *b)'
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: gpg_strerror
    functionSourceFile: /src/libksba/src/gen-help.c
    functionUses: 909
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      gpg_strerror (int err)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_log_debug
      Src: /src/libksba/src/certreq.c:57,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/certreq.c:59,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/certreq.c:66,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/certreq.c:72,1
    - Dst: digitp
      Src: /src/libksba/src/certreq.c:77,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/certreq.c:79,1
    - Dst: strtoul
      Src: /src/libksba/src/certreq.c:88,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/certreq.c:92,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/certreq.c:104,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/certreq.c:106,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/certreq.c:107,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/certreq.c:112,1
    - Dst: gpgrt_log_printf
      Src: /src/libksba/src/certreq.c:117,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 2
    argNames:
    - text
    - p
    argTypes:
    - char*
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 118
    functionName: log_sexp
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 0
    functionsReached:
    - digitp
    - strtoul
    - gpgrt_log_debug
    - gpgrt_log_printf
    linkageType: ''
    returnType: void
    signature: void log_sexp (const char *text, ksba_const_sexp_t p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/libksba/src/certreq.c:132,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/certreq.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r_cr
    argTypes:
    - ksba_certreq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: ksba_certreq_new
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_errno
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_certreq_new (ksba_certreq_t *r_cr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:150,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:151,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:152,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:153,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:154,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:155,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:156,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:157,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:161,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:167,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - cr
    argTypes:
    - ksba_certreq_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 172
    functionName: ksba_certreq_release
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 1
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void ksba_certreq_release (ksba_certreq_t cr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - cr
    - w
    argTypes:
    - ksba_certreq_t
    - ksba_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: ksba_certreq_set_writer
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 1
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_certreq_set_writer (ksba_certreq_t cr, ksba_writer_t
      w)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cr
    - hash_fnc_arg
    argTypes:
    - ksba_certreq_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 196
    functionName: ksba_certreq_set_hash_function
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ksba_certreq_set_hash_function (ksba_certreq_t cr,\n                                void
      (*hash_fnc)(void *, const void *, size_t),\n                                void
      *hash_fnc_arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:214,1
    - Dst: strtoul
      Src: /src/libksba/src/certreq.c:217,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:220,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:227,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/certreq.c:228,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/certreq.c:230,1
    - Dst: memcpy
      Src: /src/libksba/src/certreq.c:231,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - cr
    - sn
    argTypes:
    - ksba_certreq_t
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 235
    functionName: ksba_certreq_set_serial
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_syserror
    - gpg_error
    - memcpy
    - strtoul
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_certreq_set_serial (ksba_certreq_t cr, ksba_const_sexp_t
      sn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:244,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:246,1
    - Dst: _ksba_dn_from_str
      Src: /src/libksba/src/certreq.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - name
    argTypes:
    - ksba_certreq_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 249
    functionName: ksba_certreq_set_issuer
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - _ksba_dn_from_str
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_certreq_set_issuer (ksba_certreq_t cr, const char
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_assert_time_format
      Src: /src/libksba/src/certreq.c:259,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:260,1
    - Dst: _ksba_copy_time
      Src: /src/libksba/src/certreq.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - cr
    - what
    - timebuf
    argTypes:
    - ksba_certreq_t
    - int
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 264
    functionName: ksba_certreq_set_validity
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - _ksba_assert_time_format
    - _ksba_copy_time
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_certreq_set_validity (ksba_certreq_t cr, int what,\n
      \                          const ksba_isotime_t timebuf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:284,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:285,1
    - Dst: _ksba_keyinfo_from_sexp
      Src: /src/libksba/src/certreq.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - siginfo
    argTypes:
    - ksba_certreq_t
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 290
    functionName: ksba_certreq_set_siginfo
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - _ksba_keyinfo_from_sexp
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_certreq_set_siginfo (ksba_certreq_t cr, ksba_const_sexp_t
      siginfo)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:312,1
    - Dst: _ksba_dn_from_str
      Src: /src/libksba/src/certreq.c:314,1
    - Dst: strlen
      Src: /src/libksba/src/certreq.c:321,1
    - Dst: strchr
      Src: /src/libksba/src/certreq.c:323,1
    - Dst: strncmp
      Src: /src/libksba/src/certreq.c:329,1
    - Dst: strtoul
      Src: /src/libksba/src/certreq.c:332,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:335,1
    - Dst: strncmp
      Src: /src/libksba/src/certreq.c:338,1
    - Dst: strtoul
      Src: /src/libksba/src/certreq.c:341,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:344,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:348,1
    - Dst: _ksba_ber_count_tl
      Src: /src/libksba/src/certreq.c:350,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/certreq.c:353,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/certreq.c:355,1
    - Dst: _ksba_ber_encode_tl
      Src: /src/libksba/src/certreq.c:359,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:361,1
    - Dst: memcpy
      Src: /src/libksba/src/certreq.c:363,1
    - Dst: assert
      Src: /src/libksba/src/certreq.c:364,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 2
    argNames:
    - cr
    - name
    argTypes:
    - ksba_certreq_t
    - char*
    assertStmts:
    - condition: (der + namelen - (unsigned char*)gn->data == n1)
      pos:
        line_end: 363
        line_start: 363
        source_file: /src/libksba/src/certreq.c
    constantsTouched: []
    func_position:
      end: 370
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 370
    functionName: ksba_certreq_add_subject
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 1
    functionsReached:
    - strlen
    - assert
    - gpg_error_from_errno
    - gpg_error
    - strchr
    - strtoul
    - _ksba_ber_encode_tl
    - _ksba_dn_from_str
    - memcpy
    - _ksba_ber_count_tl
    - strncmp
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_certreq_add_subject (ksba_certreq_t cr, const char
      *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_count_tl
      Src: /src/libksba/src/certreq.c:389,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/certreq.c:393,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/certreq.c:395,1
    - Dst: _ksba_ber_encode_tl
      Src: /src/libksba/src/certreq.c:400,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:402,1
    - Dst: memcpy
      Src: /src/libksba/src/certreq.c:407,1
    - Dst: assert
      Src: /src/libksba/src/certreq.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - cr
    - gnames
    - oid
    argTypes:
    - ksba_certreq_t
    - struct general_names_s*
    - char*
    assertStmts:
    - condition: (der - e->der == n2)
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/libksba/src/certreq.c
    constantsTouched: []
    func_position:
      end: 415
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 415
    functionName: add_general_names_to_extn
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 0
    functionsReached:
    - assert
    - gpg_error_from_errno
    - gpg_error
    - _ksba_ber_encode_tl
    - memcpy
    - _ksba_ber_count_tl
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t add_general_names_to_extn (ksba_certreq_t cr, struct general_names_s
      *gnames,\n                           const char *oid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:422,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:424,1
    - Dst: _ksba_keyinfo_from_sexp
      Src: /src/libksba/src/certreq.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cr
    - key
    argTypes:
    - ksba_certreq_t
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 427
    functionName: ksba_certreq_set_public_key
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - _ksba_keyinfo_from_sexp
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_certreq_set_public_key (ksba_certreq_t cr, ksba_const_sexp_t
      key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:444,1
    - Dst: strlen
      Src: /src/libksba/src/certreq.c:446,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/certreq.c:447,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/certreq.c:449,1
    - Dst: memcpy
      Src: /src/libksba/src/certreq.c:452,1
    - Dst: strcpy
      Src: /src/libksba/src/certreq.c:453,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - cr
    - oid
    - is_crit
    - der
    - derlen
    argTypes:
    - ksba_certreq_t
    - char*
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 460
    functionName: ksba_certreq_add_extension
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 1
    functionsReached:
    - strlen
    - gpg_error_from_errno
    - gpg_error
    - strcpy
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_certreq_add_extension (ksba_certreq_t cr,\n                            const
      char *oid, int is_crit,\n                            const void *der, size_t
      derlen)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:486,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:490,1
    - Dst: snext
      Src: /src/libksba/src/certreq.c:493,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:494,1
    - Dst: smatch
      Src: /src/libksba/src/certreq.c:495,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:496,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:498,1
    - Dst: digitp
      Src: /src/libksba/src/certreq.c:498,1
    - Dst: snext
      Src: /src/libksba/src/certreq.c:502,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:503,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:504,1
    - Dst: xtrystrdup
      Src: /src/libksba/src/certreq.c:507,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:509,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/certreq.c:513,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:515,1
    - Dst: memcpy
      Src: /src/libksba/src/certreq.c:516,1
    - Dst: memcmp
      Src: /src/libksba/src/certreq.c:518,1
    - Dst: strcmp
      Src: /src/libksba/src/certreq.c:524,1
    - Dst: strcmp
      Src: /src/libksba/src/certreq.c:525,1
    - Dst: strcmp
      Src: /src/libksba/src/certreq.c:527,1
    - Dst: strcmp
      Src: /src/libksba/src/certreq.c:528,1
    - Dst: strcmp
      Src: /src/libksba/src/certreq.c:529,1
    - Dst: strcmp
      Src: /src/libksba/src/certreq.c:530,1
    - Dst: strcmp
      Src: /src/libksba/src/certreq.c:531,1
    - Dst: _ksba_ber_count_tl
      Src: /src/libksba/src/certreq.c:554,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:557,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/certreq.c:558,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:560,1
    - Dst: _ksba_ber_encode_tl
      Src: /src/libksba/src/certreq.c:565,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:572,1
    - Dst: digitp
      Src: /src/libksba/src/certreq.c:572,1
    - Dst: snext
      Src: /src/libksba/src/certreq.c:574,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:575,1
    - Dst: digitp
      Src: /src/libksba/src/certreq.c:578,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:579,1
    - Dst: snext
      Src: /src/libksba/src/certreq.c:580,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:581,1
    - Dst: _ksba_ber_count_tl
      Src: /src/libksba/src/certreq.c:590,1
    - Dst: memcpy
      Src: /src/libksba/src/certreq.c:598,1
    - Dst: _ksba_ber_encode_tl
      Src: /src/libksba/src/certreq.c:605,1
    - Dst: _ksba_ber_encode_tl
      Src: /src/libksba/src/certreq.c:610,1
    - Dst: memcpy
      Src: /src/libksba/src/certreq.c:612,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:619,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:626,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 91
    argCount: 2
    argNames:
    - cr
    - sigval
    argTypes:
    - ksba_certreq_t
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 629
    functionName: ksba_certreq_set_sig_val
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 1
    functionsReached:
    - smatch
    - digitp
    - strcmp
    - xtrystrdup
    - gpg_error
    - memcmp
    - xfree
    - memcpy
    - _ksba_ber_encode_tl
    - _ksba_ber_count_tl
    - xtrymalloc
    - snext
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_certreq_set_sig_val (ksba_certreq_t cr, ksba_const_sexp_t
      sigval)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: ksba_writer_new
      Src: /src/libksba/src/certreq.c:649,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/certreq.c:652,1
    - Dst: ksba_writer_new
      Src: /src/libksba/src/certreq.c:655,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/certreq.c:661,1
    - Dst: ksba_oid_from_str
      Src: /src/libksba/src/certreq.c:665,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/certreq.c:668,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:670,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:671,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/certreq.c:675,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:677,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/certreq.c:682,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:685,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/certreq.c:689,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:692,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/certreq.c:695,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:698,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:699,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/certreq.c:705,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:708,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/certreq.c:711,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/certreq.c:714,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:717,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:721,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/certreq.c:722,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:725,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/certreq.c:732,1
    - Dst: ksba_oid_from_str
      Src: /src/libksba/src/certreq.c:735,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/certreq.c:738,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:740,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:741,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/certreq.c:744,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:746,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:749,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/certreq.c:750,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:753,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/certreq.c:756,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/certreq.c:759,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:762,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:766,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/certreq.c:767,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:770,1
    - Dst: ksba_writer_release
      Src: /src/libksba/src/certreq.c:781,1
    - Dst: ksba_writer_release
      Src: /src/libksba/src/certreq.c:782,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:783,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 133
    argCount: 4
    argNames:
    - cr
    - certmode
    - r_der
    - r_derlen
    argTypes:
    - ksba_certreq_t
    - int
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 785
    functionName: build_extensions
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 0
    functionsReached:
    - ksba_writer_new
    - ksba_writer_snatch_mem
    - _ksba_ber_write_tl
    - ksba_oid_from_str
    - ksba_writer_release
    - gpg_error
    - xfree
    - ksba_writer_write
    - ksba_writer_set_mem
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t build_extensions (ksba_certreq_t cr, int certmode,\n                  void
      **r_der, size_t *r_derlen)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: ksba_writer_new
      Src: /src/libksba/src/certreq.c:802,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/certreq.c:805,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:811,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:822,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/certreq.c:827,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:829,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/certreq.c:839,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:842,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:849,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:851,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:860,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:863,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:865,1
    - Dst: _ksba_cmp_time
      Src: /src/libksba/src/certreq.c:882,1
    - Dst: memcpy
      Src: /src/libksba/src/certreq.c:884,1
    - Dst: memcpy
      Src: /src/libksba/src/certreq.c:886,1
    - Dst: memcpy
      Src: /src/libksba/src/certreq.c:893,1
    - Dst: memcpy
      Src: /src/libksba/src/certreq.c:895,1
    - Dst: memcpy
      Src: /src/libksba/src/certreq.c:903,1
    - Dst: _ksba_cmp_time
      Src: /src/libksba/src/certreq.c:912,1
    - Dst: memcpy
      Src: /src/libksba/src/certreq.c:914,1
    - Dst: memcpy
      Src: /src/libksba/src/certreq.c:916,1
    - Dst: memcpy
      Src: /src/libksba/src/certreq.c:923,1
    - Dst: memcpy
      Src: /src/libksba/src/certreq.c:925,1
    - Dst: memcpy
      Src: /src/libksba/src/certreq.c:931,1
    - Dst: assert
      Src: /src/libksba/src/certreq.c:935,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:938,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:947,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:950,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:955,1
    - Dst: add_general_names_to_extn
      Src: /src/libksba/src/certreq.c:962,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:969,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:977,1
    - Dst: build_extensions
      Src: /src/libksba/src/certreq.c:981,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/certreq.c:984,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:987,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:994,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:1002,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/certreq.c:1003,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:1006,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/certreq.c:1010,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/certreq.c:1014,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:1017,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/certreq.c:1022,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:1024,1
    - Dst: ksba_writer_release
      Src: /src/libksba/src/certreq.c:1027,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:1028,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 170
    argCount: 1
    argNames:
    - cr
    argTypes:
    - ksba_certreq_t
    assertStmts:
    - condition: (tp - templ <= 36)
      pos:
        line_end: 934
        line_start: 934
        source_file: /src/libksba/src/certreq.c
    constantsTouched: []
    func_position:
      end: 1030
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 1030
    functionName: build_cri
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 0
    functionsReached:
    - ksba_writer_new
    - build_extensions
    - ksba_writer_snatch_mem
    - assert
    - _ksba_ber_write_tl
    - ksba_writer_release
    - gpg_error
    - _ksba_cmp_time
    - xfree
    - add_general_names_to_extn
    - ksba_writer_write
    - memcpy
    - ksba_writer_set_mem
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t build_cri (ksba_certreq_t cr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:1036,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:1038,1
    - Dst: ksba_certreq_t::hash_fnc
      Src: /src/libksba/src/certreq.c:1039,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cr
    argTypes:
    - ksba_certreq_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1041
    functionName: hash_cri
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - ksba_certreq_t::hash_fnc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t hash_cri (ksba_certreq_t cr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_der_builder_new
      Src: /src/libksba/src/certreq.c:1054,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/certreq.c:1057,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/certreq.c:1062,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:1067,1
    - Dst: _ksba_der_add_der
      Src: /src/libksba/src/certreq.c:1070,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:1074,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/certreq.c:1075,1
    - Dst: _ksba_der_add_oid
      Src: /src/libksba/src/certreq.c:1076,1
    - Dst: _ksba_der_add_ptr
      Src: /src/libksba/src/certreq.c:1078,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/certreq.c:1079,1
    - Dst: _ksba_der_add_bts
      Src: /src/libksba/src/certreq.c:1082,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/certreq.c:1085,1
    - Dst: _ksba_der_builder_get
      Src: /src/libksba/src/certreq.c:1088,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:1093,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/certreq.c:1095,1
    - Dst: ksba_der_release
      Src: /src/libksba/src/certreq.c:1098,1
    - Dst: xfree
      Src: /src/libksba/src/certreq.c:1099,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - cr
    argTypes:
    - ksba_certreq_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1046
    functionDepth: 2
    functionLinenumber: 1046
    functionLinenumberEnd: 1101
    functionName: sign_and_write
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 0
    functionsReached:
    - _ksba_der_builder_new
    - _ksba_der_add_der
    - gpg_error_from_syserror
    - _ksba_der_add_end
    - _ksba_der_add_bts
    - _ksba_der_builder_get
    - ksba_der_release
    - _ksba_der_add_oid
    - gpg_error
    - xfree
    - ksba_writer_write
    - _ksba_der_add_ptr
    - _ksba_der_add_tag
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t sign_and_write (ksba_certreq_t cr)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:1120,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:1141,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:1146,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:1149,1
    - Dst: build_cri
      Src: /src/libksba/src/certreq.c:1159,1
    - Dst: hash_cri
      Src: /src/libksba/src/certreq.c:1162,1
    - Dst: sign_and_write
      Src: /src/libksba/src/certreq.c:1165,1
    - Dst: gpg_error
      Src: /src/libksba/src/certreq.c:1168,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 2
    argNames:
    - cr
    - r_stopreason
    argTypes:
    - ksba_certreq_t
    - ksba_stop_reason_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1107
    functionDepth: 3
    functionLinenumber: 1107
    functionLinenumberEnd: 1192
    functionName: ksba_certreq_build
    functionSourceFile: /src/libksba/src/certreq.c
    functionUses: 1
    functionsReached:
    - build_cri
    - gpg_error
    - hash_cri
    - sign_and_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_certreq_build (ksba_certreq_t cr, ksba_stop_reason_t
      *r_stopreason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/libksba/src/writer.c:55,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/writer.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r_w
    argTypes:
    - ksba_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: ksba_writer_new
    functionSourceFile: /src/libksba/src/writer.c
    functionUses: 7
    functionsReached:
    - gpg_error_from_errno
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_writer_new (ksba_writer_t *r_w)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: notify_fnc
      Src: /src/libksba/src/writer.c:79,1
    - Dst: xfree
      Src: /src/libksba/src/writer.c:82,1
    - Dst: xfree
      Src: /src/libksba/src/writer.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - w
    argTypes:
    - ksba_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 84
    functionName: ksba_writer_release
    functionSourceFile: /src/libksba/src/writer.c
    functionUses: 8
    functionsReached:
    - xfree
    - notify_fnc
    linkageType: ''
    returnType: void
    signature: void ksba_writer_release (ksba_writer_t w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - w
    - notify_value
    argTypes:
    - ksba_writer_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: ksba_writer_set_release_notify
    functionSourceFile: /src/libksba/src/writer.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_writer_set_release_notify (ksba_writer_t w,\n                                void
      (*notify)(void*,ksba_writer_t),\n                                void *notify_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/writer.c:108,1
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - ksba_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: ksba_writer_error
    functionSourceFile: /src/libksba/src/writer.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_errno
    - gpg_error
    linkageType: ''
    returnType: int
    signature: int ksba_writer_error (ksba_writer_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - ksba_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: ksba_writer_tell
    functionSourceFile: /src/libksba/src/writer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ksba_writer_tell (ksba_writer_t w)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:132,1
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - w
    - fd
    argTypes:
    - ksba_writer_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: ksba_writer_set_fd
    functionSourceFile: /src/libksba/src/writer.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_writer_set_fd (ksba_writer_t w, int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:157,1
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - w
    - fp
    argTypes:
    - ksba_writer_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: ksba_writer_set_file
    functionSourceFile: /src/libksba/src/writer.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_writer_set_file (ksba_writer_t w, FILE *fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:193,1
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - w
    - cb_value
    argTypes:
    - ksba_writer_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: ksba_writer_set_cb
    functionSourceFile: /src/libksba/src/writer.c
    functionUses: 2
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_writer_set_cb (ksba_writer_t w,\n                    int
      (*cb)(void*,const void *,size_t), void *cb_value )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:210,1
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:216,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/writer.c:221,1
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - w
    - initial_size
    argTypes:
    - ksba_writer_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 231
    functionName: ksba_writer_set_mem
    functionSourceFile: /src/libksba/src/writer.c
    functionUses: 5
    functionsReached:
    - gpg_error
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_writer_set_mem (ksba_writer_t w, size_t initial_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - w
    - nbytes
    argTypes:
    - ksba_writer_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: ksba_writer_get_mem
    functionSourceFile: /src/libksba/src/writer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      ksba_writer_get_mem (ksba_writer_t w, size_t *nbytes)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - w
    - nbytes
    argTypes:
    - ksba_writer_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 272
    functionName: ksba_writer_snatch_mem
    functionSourceFile: /src/libksba/src/writer.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      ksba_writer_snatch_mem (ksba_writer_t w, size_t *nbytes)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - w
    - filter_arg
    argTypes:
    - ksba_writer_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 289
    functionName: ksba_writer_set_filter
    functionSourceFile: /src/libksba/src/writer.c
    functionUses: 1
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_writer_set_filter (ksba_writer_t w,\n                        gpg_error_t
      (*filter)(void*,\n                                            const void *,size_t,
      size_t *,\n                                            void *, size_t, size_t
      *),\n                        void *filter_arg)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/writer.c:300,1
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:305,1
    - Dst: xtryrealloc
      Src: /src/libksba/src/writer.c:318,1
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:326,1
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:332,1
    - Dst: memcpy
      Src: /src/libksba/src/writer.c:334,1
    - Dst: fwrite
      Src: /src/libksba/src/writer.c:342,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/writer.c:349,1
    - Dst: ksba_writer_t::u::cb::fnc
      Src: /src/libksba/src/writer.c:354,1
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:360,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - w
    - buffer
    - length
    argTypes:
    - ksba_writer_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 363
    functionName: do_writer_write
    functionSourceFile: /src/libksba/src/writer.c
    functionUses: 0
    functionsReached:
    - fwrite
    - gpg_error_from_errno
    - gpg_error
    - xtryrealloc
    - ksba_writer_t::u::cb::fnc
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t do_writer_write (ksba_writer_t w, const void *buffer, size_t
      length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:381,1
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:384,1
    - Dst: ksba_writer_t::filter
      Src: /src/libksba/src/writer.c:394,1
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:399,1
    - Dst: do_writer_write
      Src: /src/libksba/src/writer.c:400,1
    - Dst: do_writer_write
      Src: /src/libksba/src/writer.c:409,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - w
    - buffer
    - length
    argTypes:
    - ksba_writer_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 413
    functionName: ksba_writer_write
    functionSourceFile: /src/libksba/src/writer.c
    functionUses: 14
    functionsReached:
    - gpg_error
    - ksba_writer_t::filter
    - do_writer_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_writer_write (ksba_writer_t w, const void *buffer,
      size_t length)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/writer.c:427,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/writer.c:433,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/writer.c:440,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/writer.c:443,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/writer.c:447,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - w
    - buffer
    - length
    - flush
    argTypes:
    - ksba_writer_t
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 453
    functionName: ksba_writer_write_octet_string
    functionSourceFile: /src/libksba/src/writer.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - _ksba_ber_write_tl
    - ksba_writer_write
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_writer_write_octet_string (ksba_writer_t w,\n                                const
      void *buffer, size_t length, int flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: xtrymalloc
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 353
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrymalloc(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: xtrycalloc
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 207
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrycalloc(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: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: xtryrealloc
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtryrealloc(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: xtrystrdup
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 168
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrystrdup(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: xfree
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 1653
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xfree(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: xmalloc
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 211
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xmalloc(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: xcalloc
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xcalloc(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: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: xrealloc
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xrealloc(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: xstrdup
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 155
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xstrdup(a)
  - 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: DIM
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 298
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: DIMof
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIMof(type,member)
  - 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: STR
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(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: STR2
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR2(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: return_if_fail
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_if_fail(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: return_null_if_fail
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_null_if_fail(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: return_val_if_fail
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_val_if_fail(expr,val)
  - 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: never_reached
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: never_reached()
  - 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: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: stpcpy
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stpcpy(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: ascii_memcasecmp
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ascii_memcasecmp(a,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: spacep
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 135
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: spacep(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: digitp
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 119
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digitp(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: hexdigitp
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hexdigitp(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: atoi_1
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atoi_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: atoi_2
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atoi_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: atoi_4
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atoi_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: xtoi_1
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: xtoi_2
    functionSourceFile: /src/libksba/src/util.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_2(p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: snext
    functionSourceFile: /src/libksba/src/sexp-parse.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t snext (unsigned char const **buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/sexp-parse.h:82,1
    - Dst: snext
      Src: /src/libksba/src/sexp-parse.h:83,1
    - Dst: gpg_error
      Src: /src/libksba/src/sexp-parse.h:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - buf
    - depth
    argTypes:
    - unsigned char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 92
    functionName: sskip
    functionSourceFile: /src/libksba/src/sexp-parse.h
    functionUses: 6
    functionsReached:
    - gpg_error
    - snext
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t sskip (unsigned char const **buf, int *depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libksba/src/sexp-parse.h:102,1
    - Dst: memcmp
      Src: /src/libksba/src/sexp-parse.h:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - buflen
    - token
    argTypes:
    - unsigned char**
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: smatch
    functionSourceFile: /src/libksba/src/sexp-parse.h
    functionUses: 28
    functionsReached:
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int smatch (unsigned char const **buf, size_t buflen, const char *token)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - help_buffer
    - help_buflen
    - value
    - length
    argTypes:
    - char*
    - size_t
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 138
    functionName: smklen
    functionSourceFile: /src/libksba/src/sexp-parse.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      smklen (char *help_buffer, size_t help_buflen, size_t value, size_t *length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - (*new_alloc_func)(size_t n)
    - (*new_realloc_func)(void *p, size_t n)
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: ksba_set_malloc_hooks
    functionSourceFile: /src/libksba/src/util.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ksba_set_malloc_hooks ( void *(*new_alloc_func)(size_t n),\n
      \                       void *(*new_realloc_func)(void *p, size_t n),\n                        void
      (*new_free_func)(void*) )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fnc_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: ksba_set_hash_buffer_function
    functionSourceFile: /src/libksba/src/util.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ksba_set_hash_buffer_function ( gpg_error_t (*fnc)\n                                (void
      *arg, const char *oid,\n                                 const void *buffer,
      size_t length,\n                                 size_t resultsize,\n                                 unsigned
      char *result,\n                                 size_t *resultlen),\n                                void
      *fnc_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/util.c:115,1
    - Dst: hash_buffer_fnc
      Src: /src/libksba/src/util.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - oid
    - buffer
    - length
    - resultsize
    - result
    - resultlen
    argTypes:
    - char*
    - void*
    - size_t
    - size_t
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: _ksba_hash_buffer
    functionSourceFile: /src/libksba/src/util.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - hash_buffer_fnc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_hash_buffer (const char *oid, const void *buffer,
      size_t length,\n                   size_t resultsize, unsigned char *result,
      size_t *resultlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_func
      Src: /src/libksba/src/util.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: ksba_malloc
    functionSourceFile: /src/libksba/src/util.c
    functionUses: 1
    functionsReached:
    - alloc_func
    linkageType: ''
    returnType: void
    signature: 'void *

      ksba_malloc (size_t n )'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/libksba/src/util.c:142,1
    - Dst: ksba_malloc
      Src: /src/libksba/src/util.c:146,1
    - Dst: memset
      Src: /src/libksba/src/util.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 150
    functionName: ksba_calloc
    functionSourceFile: /src/libksba/src/util.c
    functionUses: 0
    functionsReached:
    - ksba_malloc
    - memset
    - gpg_err_set_errno
    linkageType: ''
    returnType: void
    signature: 'void *

      ksba_calloc (size_t n, size_t m )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc_func
      Src: /src/libksba/src/util.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: ksba_realloc
    functionSourceFile: /src/libksba/src/util.c
    functionUses: 0
    functionsReached:
    - realloc_func
    linkageType: ''
    returnType: void
    signature: 'void *

      ksba_realloc (void *mem, size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ksba_malloc
      Src: /src/libksba/src/util.c:162,1
    - Dst: strlen
      Src: /src/libksba/src/util.c:162,1
    - Dst: strcpy
      Src: /src/libksba/src/util.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: ksba_strdup
    functionSourceFile: /src/libksba/src/util.c
    functionUses: 0
    functionsReached:
    - strcpy
    - ksba_malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_strdup (const char *str)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/libksba/src/util.c:196,1
    - Dst: ksba_realloc
      Src: /src/libksba/src/util.c:200,1
    - Dst: xfree
      Src: /src/libksba/src/util.c:208,1
    - Dst: gpg_err_set_errno
      Src: /src/libksba/src/util.c:209,1
    - Dst: memset
      Src: /src/libksba/src/util.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - a
    - oldnmemb
    - nmemb
    - size
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 215
    functionName: _ksba_reallocarray
    functionSourceFile: /src/libksba/src/util.c
    functionUses: 1
    functionsReached:
    - memset
    - xfree
    - gpg_err_set_errno
    - ksba_realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _ksba_reallocarray (void *a, size_t oldnmemb, size_t nmemb, size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_func
      Src: /src/libksba/src/util.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: ksba_free
    functionSourceFile: /src/libksba/src/util.c
    functionUses: 58
    functionsReached:
    - free_func
    linkageType: ''
    returnType: void
    signature: void ksba_free ( void *a )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libksba/src/util.c:229,1
    - Dst: exit
      Src: /src/libksba/src/util.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: out_of_core
    functionSourceFile: /src/libksba/src/util.c
    functionUses: 53
    functionsReached:
    - exit
    - fputs
    linkageType: ''
    returnType: void
    signature: void out_of_core(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ksba_malloc
      Src: /src/libksba/src/util.c:238,1
    - Dst: out_of_core
      Src: /src/libksba/src/util.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: _ksba_xmalloc
    functionSourceFile: /src/libksba/src/util.c
    functionUses: 0
    functionsReached:
    - out_of_core
    - ksba_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _ksba_xmalloc (size_t n )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ksba_calloc
      Src: /src/libksba/src/util.c:247,1
    - Dst: out_of_core
      Src: /src/libksba/src/util.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: _ksba_xcalloc
    functionSourceFile: /src/libksba/src/util.c
    functionUses: 0
    functionsReached:
    - ksba_calloc
    - out_of_core
    linkageType: ''
    returnType: void
    signature: 'void *

      _ksba_xcalloc (size_t n, size_t m )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ksba_realloc
      Src: /src/libksba/src/util.c:256,1
    - Dst: out_of_core
      Src: /src/libksba/src/util.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mem
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: _ksba_xrealloc
    functionSourceFile: /src/libksba/src/util.c
    functionUses: 0
    functionsReached:
    - out_of_core
    - ksba_realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _ksba_xrealloc (void *mem, size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ksba_strdup
      Src: /src/libksba/src/util.c:266,1
    - Dst: out_of_core
      Src: /src/libksba/src/util.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: _ksba_xstrdup
    functionSourceFile: /src/libksba/src/util.c
    functionUses: 0
    functionsReached:
    - out_of_core
    - ksba_strdup
    linkageType: ''
    returnType: char
    signature: 'char *

      _ksba_xstrdup (const char *str)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: _ksba_stpcpy
    functionSourceFile: /src/libksba/src/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      _ksba_stpcpy (char *a,const char *b)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: ascii_toupper
    functionSourceFile: /src/libksba/src/util.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ascii_toupper (int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_toupper
      Src: /src/libksba/src/util.c:305,1
    - Dst: ascii_toupper
      Src: /src/libksba/src/util.c:305,1
    - Dst: ascii_toupper
      Src: /src/libksba/src/util.c:306,1
    - Dst: ascii_toupper
      Src: /src/libksba/src/util.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - a_arg
    - b_arg
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 309
    functionName: _ksba_ascii_memcasecmp
    functionSourceFile: /src/libksba/src/util.c
    functionUses: 0
    functionsReached:
    - ascii_toupper
    linkageType: ''
    returnType: int
    signature: int _ksba_ascii_memcasecmp (const void *a_arg, const void *b_arg, size_t
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: xtrymalloc
    functionSourceFile: /src/libksba/src/gen-help.h
    functionUses: 353
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrymalloc(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: stpcpy
    functionSourceFile: /src/libksba/src/gen-help.h
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stpcpy(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: DIM
    functionSourceFile: /src/libksba/src/gen-help.h
    functionUses: 298
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: DIMof
    functionSourceFile: /src/libksba/src/gen-help.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIMof(type,member)
  - 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: STR
    functionSourceFile: /src/libksba/src/gen-help.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(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: STR2
    functionSourceFile: /src/libksba/src/gen-help.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR2(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: return_if_fail
    functionSourceFile: /src/libksba/src/gen-help.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_if_fail(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: return_null_if_fail
    functionSourceFile: /src/libksba/src/gen-help.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_null_if_fail(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: return_val_if_fail
    functionSourceFile: /src/libksba/src/gen-help.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_val_if_fail(expr,val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: never_reached
    functionSourceFile: /src/libksba/src/gen-help.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: never_reached()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: gpg_error
    functionSourceFile: /src/libksba/src/gen-help.h
    functionUses: 1250
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpg_error(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: gpg_error_from_syserror
    functionSourceFile: /src/libksba/src/gen-help.h
    functionUses: 852
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpg_error_from_syserror()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/libksba/src/stringbuf.h:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sb
    - initiallen
    argTypes:
    - struct stringbuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: init_stringbuf
    functionSourceFile: /src/libksba/src/stringbuf.h
    functionUses: 2
    functionsReached:
    - xtrymalloc
    linkageType: ''
    returnType: void
    signature: void init_stringbuf (struct stringbuf *sb, int initiallen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libksba/src/stringbuf.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sb
    argTypes:
    - struct stringbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: deinit_stringbuf
    functionSourceFile: /src/libksba/src/stringbuf.h
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void deinit_stringbuf (struct stringbuf *sb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtryrealloc
      Src: /src/libksba/src/stringbuf.h:79,1
    - Dst: memcpy
      Src: /src/libksba/src/stringbuf.h:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - sb
    - text
    - n
    argTypes:
    - struct stringbuf*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 89
    functionName: put_stringbuf_mem
    functionSourceFile: /src/libksba/src/stringbuf.h
    functionUses: 0
    functionsReached:
    - xtryrealloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void put_stringbuf_mem (struct stringbuf *sb, const char *text, size_t
      n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/stringbuf.h:100,1
    - Dst: xtryrealloc
      Src: /src/libksba/src/stringbuf.h:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - sb
    - text
    - n
    - skip
    argTypes:
    - struct stringbuf*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 127
    functionName: put_stringbuf_mem_skip
    functionSourceFile: /src/libksba/src/stringbuf.h
    functionUses: 0
    functionsReached:
    - xtryrealloc
    - put_stringbuf_mem
    linkageType: ''
    returnType: void
    signature: "void put_stringbuf_mem_skip (struct stringbuf *sb, const char *text,
      size_t n,\n                        int skip)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/stringbuf.h:133,1
    - Dst: strlen
      Src: /src/libksba/src/stringbuf.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sb
    - text
    argTypes:
    - struct stringbuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: put_stringbuf
    functionSourceFile: /src/libksba/src/stringbuf.h
    functionUses: 2
    functionsReached:
    - put_stringbuf_mem
    - strlen
    linkageType: ''
    returnType: void
    signature: void put_stringbuf (struct stringbuf *sb, const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libksba/src/stringbuf.h:141,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/stringbuf.h:142,1
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/stringbuf.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sb
    - text
    - length
    argTypes:
    - struct stringbuf*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: put_stringbuf_mem_sexp
    functionSourceFile: /src/libksba/src/stringbuf.h
    functionUses: 1
    functionsReached:
    - sprintf
    - put_stringbuf_mem
    - put_stringbuf
    linkageType: ''
    returnType: void
    signature: void put_stringbuf_mem_sexp (struct stringbuf *sb, const char *text,
      size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_stringbuf_mem_sexp
      Src: /src/libksba/src/stringbuf.h:150,1
    - Dst: strlen
      Src: /src/libksba/src/stringbuf.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sb
    - text
    argTypes:
    - struct stringbuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: put_stringbuf_sexp
    functionSourceFile: /src/libksba/src/stringbuf.h
    functionUses: 2
    functionsReached:
    - strlen
    - put_stringbuf_mem_sexp
    linkageType: ''
    returnType: void
    signature: void put_stringbuf_sexp (struct stringbuf *sb, const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libksba/src/stringbuf.h:158,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/stringbuf.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sb
    - value
    argTypes:
    - struct stringbuf*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: put_stringbuf_uint
    functionSourceFile: /src/libksba/src/stringbuf.h
    functionUses: 1
    functionsReached:
    - snprintf
    - put_stringbuf_sexp
    linkageType: ''
    returnType: void
    signature: void put_stringbuf_uint (struct stringbuf *sb, unsigned int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libksba/src/stringbuf.h:170,1
    - Dst: gpg_err_set_errno
      Src: /src/libksba/src/stringbuf.h:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - sb
    argTypes:
    - struct stringbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 180
    functionName: get_stringbuf
    functionSourceFile: /src/libksba/src/stringbuf.h
    functionUses: 2
    functionsReached:
    - xfree
    - gpg_err_set_errno
    linkageType: ''
    returnType: char
    signature: 'char *

      get_stringbuf (struct stringbuf *sb)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/libksba/src/oid.c:75,1
    - Dst: sprintf
      Src: /src/libksba/src/oid.c:85,1
    - Dst: sprintf
      Src: /src/libksba/src/oid.c:87,1
    - Dst: sprintf
      Src: /src/libksba/src/oid.c:100,1
    - Dst: strlen
      Src: /src/libksba/src/oid.c:101,1
    - Dst: sprintf
      Src: /src/libksba/src/oid.c:113,1
    - Dst: strlen
      Src: /src/libksba/src/oid.c:114,1
    - Dst: xfree
      Src: /src/libksba/src/oid.c:126,1
    - Dst: xtrystrdup
      Src: /src/libksba/src/oid.c:127,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 128
    functionName: ksba_oid_to_str
    functionSourceFile: /src/libksba/src/oid.c
    functionUses: 8
    functionsReached:
    - strlen
    - sprintf
    - xtrystrdup
    - xfree
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_oid_to_str (const char *buffer, size_t length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ksba_oid_to_str
      Src: /src/libksba/src/oid.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - image
    - node
    argTypes:
    - unsigned char*
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: _ksba_oid_node_to_str
    functionSourceFile: /src/libksba/src/oid.c
    functionUses: 2
    functionsReached:
    - ksba_oid_to_str
    linkageType: ''
    returnType: char
    signature: 'char *

      _ksba_oid_node_to_str (const unsigned char *image, AsnNode node)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - value
    - buf
    - buflen
    argTypes:
    - unsigned long
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 163
    functionName: make_flagged_int
    functionSourceFile: /src/libksba/src/oid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t make_flagged_int (unsigned long value, char *buf, size_t buflen)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/oid.c:186,1
    - Dst: strncmp
      Src: /src/libksba/src/oid.c:191,1
    - Dst: strncmp
      Src: /src/libksba/src/oid.c:191,1
    - Dst: gpg_error
      Src: /src/libksba/src/oid.c:195,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/oid.c:198,1
    - Dst: strlen
      Src: /src/libksba/src/oid.c:198,1
    - Dst: gpg_error
      Src: /src/libksba/src/oid.c:200,1
    - Dst: strtoul
      Src: /src/libksba/src/oid.c:207,1
    - Dst: digitp
      Src: /src/libksba/src/oid.c:208,1
    - Dst: xfree
      Src: /src/libksba/src/oid.c:210,1
    - Dst: gpg_error
      Src: /src/libksba/src/oid.c:211,1
    - Dst: xfree
      Src: /src/libksba/src/oid.c:228,1
    - Dst: gpg_error
      Src: /src/libksba/src/oid.c:229,1
    - Dst: make_flagged_int
      Src: /src/libksba/src/oid.c:236,1
    - Dst: make_flagged_int
      Src: /src/libksba/src/oid.c:241,1
    - Dst: xfree
      Src: /src/libksba/src/oid.c:247,1
    - Dst: gpg_error
      Src: /src/libksba/src/oid.c:248,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 3
    argNames:
    - string
    - rbuf
    - rlength
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 254
    functionName: ksba_oid_from_str
    functionSourceFile: /src/libksba/src/oid.c
    functionUses: 9
    functionsReached:
    - strlen
    - digitp
    - gpg_error
    - xfree
    - strtoul
    - make_flagged_int
    - strncmp
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_oid_from_str (const char *string, unsigned char **rbuf,
      size_t *rlength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/libksba/src/oid.c:269,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/oid.c:274,1
    - Dst: memcpy
      Src: /src/libksba/src/oid.c:276,1
    - Dst: ksba_oid_from_str
      Src: /src/libksba/src/oid.c:278,1
    - Dst: xfree
      Src: /src/libksba/src/oid.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - buffer
    - buflen
    - rbuf
    - rlength
    argTypes:
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 281
    functionName: _ksba_oid_from_buf
    functionSourceFile: /src/libksba/src/oid.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - ksba_oid_from_str
    - xfree
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_oid_from_buf (const void *buffer, size_t buflen,\n
      \                   unsigned char **rbuf, size_t *rlength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libksba/src/ber-help.h:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - len
    - ti
    argTypes:
    - unsigned char**
    - size_t*
    - struct tag_info*
    assertStmts:
    - condition: (ti->length <= *len)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/libksba/src/ber-help.h
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: parse_skip
    functionSourceFile: /src/libksba/src/ber-help.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void parse_skip (unsigned char const **buf, size_t *len, struct tag_info
      *ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - len
    - ','
    - ti
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: parse_sequence
    functionSourceFile: /src/libksba/src/ber-help.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parse_sequence(buf,len,ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - buf
    - ','
    - len
    - ','
    - ti
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: parse_context_tag
    functionSourceFile: /src/libksba/src/ber-help.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parse_context_tag(buf,len,ti,tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - buf
    - ','
    - len
    - ','
    - ti
    - ','
    - maxlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: parse_enumerated
    functionSourceFile: /src/libksba/src/ber-help.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parse_enumerated(buf,len,ti,maxlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - len
    - ','
    - ti
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: parse_integer
    functionSourceFile: /src/libksba/src/ber-help.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parse_integer(buf,len,ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - len
    - ','
    - ti
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: parse_octet_string
    functionSourceFile: /src/libksba/src/ber-help.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parse_octet_string(buf,len,ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - len
    - ','
    - r_bool
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: parse_optional_boolean
    functionSourceFile: /src/libksba/src/ber-help.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parse_optional_boolean(buf,len,r_bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - len
    - ','
    - r_seen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: parse_optional_null
    functionSourceFile: /src/libksba/src/ber-help.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parse_optional_null(buf,len,r_seen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - len
    - ','
    - r_oid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: parse_object_id_into_str
    functionSourceFile: /src/libksba/src/ber-help.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parse_object_id_into_str(buf,len,r_oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - len
    - ','
    - isotime
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: parse_asntime_into_isotime
    functionSourceFile: /src/libksba/src/ber-help.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parse_asntime_into_isotime(buf,len,isotime)
  - 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: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: ATTR_PRINTF
    functionSourceFile: /src/libksba/src/ber-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATTR_PRINTF(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libksba/src/ber-dump.c:52,1
    - Dst: fputs
      Src: /src/libksba/src/ber-dump.c:53,1
    - Dst: vfprintf
      Src: /src/libksba/src/ber-dump.c:54,1
    - Dst: va_end
      Src: /src/libksba/src/ber-dump.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: print_error
    functionSourceFile: /src/libksba/src/ber-dump.c
    functionUses: 2
    functionsReached:
    - fputs
    - va_end
    - vfprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void print_error (const char *fmt, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libksba/src/ber-dump.c:64,1
    - Dst: fputs
      Src: /src/libksba/src/ber-dump.c:65,1
    - Dst: vfprintf
      Src: /src/libksba/src/ber-dump.c:66,1
    - Dst: va_end
      Src: /src/libksba/src/ber-dump.c:67,1
    - Dst: exit
      Src: /src/libksba/src/ber-dump.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: fatal
    functionSourceFile: /src/libksba/src/ber-dump.c
    functionUses: 146
    functionsReached:
    - va_end
    - vfprintf
    - exit
    - fputs
    - va_start
    linkageType: ''
    returnType: void
    signature: void fatal (const char *fmt, ... )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_new
      Src: /src/libksba/src/ber-dump.c:81,1
    - Dst: fatal
      Src: /src/libksba/src/ber-dump.c:83,1
    - Dst: ksba_reader_set_file
      Src: /src/libksba/src/ber-dump.c:84,1
    - Dst: fatal
      Src: /src/libksba/src/ber-dump.c:86,1
    - Dst: _ksba_ber_decoder_new
      Src: /src/libksba/src/ber-dump.c:88,1
    - Dst: fatal
      Src: /src/libksba/src/ber-dump.c:90,1
    - Dst: _ksba_ber_decoder_set_reader
      Src: /src/libksba/src/ber-dump.c:91,1
    - Dst: fatal
      Src: /src/libksba/src/ber-dump.c:93,1
    - Dst: _ksba_ber_decoder_set_module
      Src: /src/libksba/src/ber-dump.c:97,1
    - Dst: fatal
      Src: /src/libksba/src/ber-dump.c:99,1
    - Dst: _ksba_ber_decoder_dump
      Src: /src/libksba/src/ber-dump.c:102,1
    - Dst: print_error
      Src: /src/libksba/src/ber-dump.c:104,1
    - Dst: _ksba_ber_decoder_release
      Src: /src/libksba/src/ber-dump.c:106,1
    - Dst: ksba_reader_release
      Src: /src/libksba/src/ber-dump.c:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - fp
    - fname
    - asn_tree
    argTypes:
    - FILE*
    - char*
    - ksba_asn_tree_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 72
    functionDepth: 8
    functionLinenumber: 72
    functionLinenumberEnd: 108
    functionName: one_file
    functionSourceFile: /src/libksba/src/ber-dump.c
    functionUses: 6
    functionsReached:
    - _ksba_ber_decoder_dump
    - fatal
    - ksba_reader_set_file
    - _ksba_ber_decoder_set_reader
    - ksba_reader_release
    - ksba_reader_new
    - _ksba_ber_decoder_set_module
    - _ksba_ber_decoder_new
    - print_error
    - _ksba_ber_decoder_release
    linkageType: ''
    returnType: void
    signature: void one_file (FILE *fp, const char *fname, ksba_asn_tree_t asn_tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libksba/src/ber-dump.c:114,1
    - Dst: exit
      Src: /src/libksba/src/ber-dump.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exitcode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: usage
    functionSourceFile: /src/libksba/src/ber-dump.c
    functionUses: 66
    functionsReached:
    - exit
    - fputs
    linkageType: ''
    returnType: void
    signature: void usage (int exitcode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libksba/src/ber-dump.c:126,1
    - Dst: strcmp
      Src: /src/libksba/src/ber-dump.c:126,1
    - Dst: usage
      Src: /src/libksba/src/ber-dump.c:127,1
    - Dst: strcmp
      Src: /src/libksba/src/ber-dump.c:130,1
    - Dst: usage
      Src: /src/libksba/src/ber-dump.c:134,1
    - Dst: ksba_asn_parse_file
      Src: /src/libksba/src/ber-dump.c:141,1
    - Dst: print_error
      Src: /src/libksba/src/ber-dump.c:144,1
    - Dst: exit
      Src: /src/libksba/src/ber-dump.c:145,1
    - Dst: one_file
      Src: /src/libksba/src/ber-dump.c:151,1
    - Dst: fopen
      Src: /src/libksba/src/ber-dump.c:158,1
    - Dst: print_error
      Src: /src/libksba/src/ber-dump.c:160,1
    - Dst: strerror
      Src: /src/libksba/src/ber-dump.c:160,1
    - Dst: one_file
      Src: /src/libksba/src/ber-dump.c:163,1
    - Dst: fclose
      Src: /src/libksba/src/ber-dump.c:164,1
    - Dst: ksba_asn_tree_release
      Src: /src/libksba/src/ber-dump.c:169,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 172
    functionName: main
    functionSourceFile: /src/libksba/src/ber-dump.c
    functionUses: 11
    functionsReached:
    - ksba_asn_parse_file
    - fclose
    - exit
    - strcmp
    - ksba_asn_tree_release
    - one_file
    - print_error
    - fopen
    - usage
    - strerror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/libksba/src/reader.c:54,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/reader.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r_r
    argTypes:
    - ksba_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: ksba_reader_new
    functionSourceFile: /src/libksba/src/reader.c
    functionUses: 15
    functionsReached:
    - gpg_error_from_errno
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_reader_new (ksba_reader_t *r_r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: notify_fnc
      Src: /src/libksba/src/reader.c:77,1
    - Dst: xfree
      Src: /src/libksba/src/reader.c:80,1
    - Dst: xfree
      Src: /src/libksba/src/reader.c:81,1
    - Dst: xfree
      Src: /src/libksba/src/reader.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 83
    functionName: ksba_reader_release
    functionSourceFile: /src/libksba/src/reader.c
    functionUses: 20
    functionsReached:
    - xfree
    - notify_fnc
    linkageType: ''
    returnType: void
    signature: void ksba_reader_release (ksba_reader_t r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - notify_value
    argTypes:
    - ksba_reader_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: ksba_reader_set_release_notify
    functionSourceFile: /src/libksba/src/reader.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_reader_set_release_notify (ksba_reader_t r,\n                                void
      (*notify)(void*,ksba_reader_t),\n                                void *notify_value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:117,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/reader.c:131,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/reader.c:133,1
    - Dst: memcpy
      Src: /src/libksba/src/reader.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - r
    - buffer
    - buflen
    argTypes:
    - ksba_reader_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 140
    functionName: ksba_reader_clear
    functionSourceFile: /src/libksba/src/reader.c
    functionUses: 5
    functionsReached:
    - gpg_error_from_errno
    - gpg_error
    - xtrymalloc
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_reader_clear (ksba_reader_t r, unsigned char **buffer,
      size_t *buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/reader.c:146,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: ksba_reader_error
    functionSourceFile: /src/libksba/src/reader.c
    functionUses: 2
    functionsReached:
    - gpg_error_from_errno
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_reader_error (ksba_reader_t r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: ksba_reader_tell
    functionSourceFile: /src/libksba/src/reader.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ksba_reader_tell (ksba_reader_t r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:173,1
    - Dst: xfree
      Src: /src/libksba/src/reader.c:176,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:180,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/reader.c:182,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:184,1
    - Dst: memcpy
      Src: /src/libksba/src/reader.c:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - r
    - buffer
    - length
    argTypes:
    - ksba_reader_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 192
    functionName: ksba_reader_set_mem
    functionSourceFile: /src/libksba/src/reader.c
    functionUses: 3
    functionsReached:
    - gpg_error
    - xfree
    - xtrymalloc
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_reader_set_mem (ksba_reader_t r, const void *buffer,
      size_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:209,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - r
    - fd
    argTypes:
    - ksba_reader_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 218
    functionName: ksba_reader_set_fd
    functionSourceFile: /src/libksba/src/reader.c
    functionUses: 1
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_reader_set_fd (ksba_reader_t r, int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:234,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - r
    - fp
    argTypes:
    - ksba_reader_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: ksba_reader_set_file
    functionSourceFile: /src/libksba/src/reader.c
    functionUses: 6
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_reader_set_file (ksba_reader_t r, FILE *fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:275,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - r
    - cb_value
    argTypes:
    - ksba_reader_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 285
    functionName: ksba_reader_set_cb
    functionSourceFile: /src/libksba/src/reader.c
    functionUses: 5
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_reader_set_cb (ksba_reader_t r,\n                    int
      (*cb)(void*,char *,size_t,size_t*), void *cb_value )"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:314,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:320,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:324,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:333,1
    - Dst: memcpy
      Src: /src/libksba/src/reader.c:337,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:350,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:358,1
    - Dst: memcpy
      Src: /src/libksba/src/reader.c:363,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:373,1
    - Dst: fread
      Src: /src/libksba/src/reader.c:381,1
    - Dst: ferror
      Src: /src/libksba/src/reader.c:391,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:395,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:401,1
    - Dst: ksba_reader_t::u::cb::fnc
      Src: /src/libksba/src/reader.c:403,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:407,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:416,1
    - Dst: read
      Src: /src/libksba/src/reader.c:424,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/reader.c:437,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:442,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:447,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 98
    argCount: 4
    argNames:
    - r
    - buffer
    - length
    - nread
    argTypes:
    - ksba_reader_t
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 450
    functionName: ksba_reader_read
    functionSourceFile: /src/libksba/src/reader.c
    functionUses: 11
    functionsReached:
    - read
    - gpg_error_from_errno
    - gpg_error
    - fread
    - memcpy
    - ferror
    - ksba_reader_t::u::cb::fnc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_reader_read (ksba_reader_t r, char *buffer, size_t
      length, size_t *nread)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:456,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:463,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/reader.c:468,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:470,1
    - Dst: memcpy
      Src: /src/libksba/src/reader.c:473,1
    - Dst: memcpy
      Src: /src/libksba/src/reader.c:478,1
    - Dst: gpg_error
      Src: /src/libksba/src/reader.c:483,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - r
    - buffer
    - count
    argTypes:
    - ksba_reader_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 486
    functionName: ksba_reader_unread
    functionSourceFile: /src/libksba/src/reader.c
    functionUses: 3
    functionsReached:
    - gpg_error
    - xtrymalloc
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_reader_unread (ksba_reader_t r, const void *buffer,
      size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_check_version
      Src: /src/libksba/src/visibility.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req_version
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: ksba_check_version
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_check_version
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_check_version (const char *req_version)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_set_malloc_hooks
      Src: /src/libksba/src/visibility.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - (*new_alloc_func)(size_t n)
    - (*new_realloc_func)(void *p, size_t n)
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: ksba_set_malloc_hooks
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 5
    functionsReached:
    - _ksba_set_malloc_hooks
    linkageType: ''
    returnType: void
    signature: "void ksba_set_malloc_hooks ( void *(*new_alloc_func)(size_t n),\n
      \                       void *(*new_realloc_func)(void *p, size_t n),\n                        void
      (*new_free_func)(void*) )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_set_hash_buffer_function
      Src: /src/libksba/src/visibility.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fnc_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: ksba_set_hash_buffer_function
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_set_hash_buffer_function
    linkageType: ''
    returnType: void
    signature: "void ksba_set_hash_buffer_function ( gpg_error_t (*fnc)\n                                (void
      *arg, const char *oid,\n                                 const void *buffer,
      size_t length,\n                                 size_t resultsize,\n                                 unsigned
      char *result,\n                                 size_t *resultlen),\n                                void
      *fnc_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_malloc
      Src: /src/libksba/src/visibility.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: ksba_malloc
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 5
    functionsReached:
    - _ksba_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      ksba_malloc (size_t n )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_calloc
      Src: /src/libksba/src/visibility.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: ksba_calloc
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_calloc
    linkageType: ''
    returnType: void
    signature: 'void *

      ksba_calloc (size_t n, size_t m )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_realloc
      Src: /src/libksba/src/visibility.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: ksba_realloc
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      ksba_realloc (void *p, size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_strdup
      Src: /src/libksba/src/visibility.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: ksba_strdup
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_strdup
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_strdup (const char *p)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_free
      Src: /src/libksba/src/visibility.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: ksba_free
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 59
    functionsReached:
    - _ksba_free
    linkageType: ''
    returnType: void
    signature: void ksba_free ( void *a )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_new
      Src: /src/libksba/src/visibility.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acert
    argTypes:
    - ksba_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: ksba_cert_new
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 40
    functionsReached:
    - _ksba_cert_new
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cert_new (ksba_cert_t *acert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_ref
      Src: /src/libksba/src/visibility.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: ksba_cert_ref
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 21
    functionsReached:
    - _ksba_cert_ref
    linkageType: ''
    returnType: void
    signature: void ksba_cert_ref (ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_release
      Src: /src/libksba/src/visibility.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: ksba_cert_release
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 80
    functionsReached:
    - _ksba_cert_release
    linkageType: ''
    returnType: void
    signature: void ksba_cert_release (ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_set_user_data
      Src: /src/libksba/src/visibility.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - key
    - data
    - datalen
    argTypes:
    - ksba_cert_t
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: ksba_cert_set_user_data
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 7
    functionsReached:
    - _ksba_cert_set_user_data
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_set_user_data (ksba_cert_t cert, const char
      *key,\n                         const void *data, size_t datalen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_user_data
      Src: /src/libksba/src/visibility.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cert
    - key
    - buffer
    - bufferlen
    - datalen
    argTypes:
    - ksba_cert_t
    - char*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: ksba_cert_get_user_data
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 11
    functionsReached:
    - _ksba_cert_get_user_data
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_get_user_data (ksba_cert_t cert, const char
      *key,\n                         void *buffer, size_t bufferlen,\n                         size_t
      *datalen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_read_der
      Src: /src/libksba/src/visibility.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - reader
    argTypes:
    - ksba_cert_t
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: ksba_cert_read_der
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 15
    functionsReached:
    - _ksba_cert_read_der
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cert_read_der (ksba_cert_t cert, ksba_reader_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_init_from_mem
      Src: /src/libksba/src/visibility.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - buffer
    - length
    argTypes:
    - ksba_cert_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: ksba_cert_init_from_mem
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 27
    functionsReached:
    - _ksba_cert_init_from_mem
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_init_from_mem (ksba_cert_t cert,\n                         const
      void *buffer, size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_image
      Src: /src/libksba/src/visibility.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - r_length
    argTypes:
    - ksba_cert_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: ksba_cert_get_image
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 19
    functionsReached:
    - _ksba_cert_get_image
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      ksba_cert_get_image (ksba_cert_t cert, size_t *r_length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_hash
      Src: /src/libksba/src/visibility.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - what
    - hasher_arg
    argTypes:
    - ksba_cert_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: ksba_cert_hash
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 7
    functionsReached:
    - _ksba_cert_hash
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_hash (ksba_cert_t cert,\n                int
      what,\n                void (*hasher)(void *,\n                               const
      void *,\n                               size_t length),\n                void
      *hasher_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_digest_algo
      Src: /src/libksba/src/visibility.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: ksba_cert_get_digest_algo
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 9
    functionsReached:
    - _ksba_cert_get_digest_algo
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_cert_get_digest_algo (ksba_cert_t cert)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_serial
      Src: /src/libksba/src/visibility.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: ksba_cert_get_serial
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 20
    functionsReached:
    - _ksba_cert_get_serial
    linkageType: ''
    returnType: ksba_sexp_t
    signature: ksba_sexp_t ksba_cert_get_serial (ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_issuer
      Src: /src/libksba/src/visibility.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - idx
    argTypes:
    - ksba_cert_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: ksba_cert_get_issuer
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 27
    functionsReached:
    - _ksba_cert_get_issuer
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_cert_get_issuer (ksba_cert_t cert, int idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_validity
      Src: /src/libksba/src/visibility.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - what
    - r_time
    argTypes:
    - ksba_cert_t
    - int
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: ksba_cert_get_validity
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 16
    functionsReached:
    - _ksba_cert_get_validity
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_get_validity (ksba_cert_t cert, int what,\n
      \                       ksba_isotime_t r_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_subject
      Src: /src/libksba/src/visibility.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - idx
    argTypes:
    - ksba_cert_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: ksba_cert_get_subject
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 27
    functionsReached:
    - _ksba_cert_get_subject
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_cert_get_subject (ksba_cert_t cert, int idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_public_key
      Src: /src/libksba/src/visibility.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: ksba_cert_get_public_key
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 19
    functionsReached:
    - _ksba_cert_get_public_key
    linkageType: ''
    returnType: ksba_sexp_t
    signature: ksba_sexp_t ksba_cert_get_public_key (ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_sig_val
      Src: /src/libksba/src/visibility.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: ksba_cert_get_sig_val
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_cert_get_sig_val
    linkageType: ''
    returnType: ksba_sexp_t
    signature: ksba_sexp_t ksba_cert_get_sig_val (ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_extension
      Src: /src/libksba/src/visibility.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - cert
    - idx
    - r_oid
    - r_crit
    - r_deroff
    - r_derlen
    argTypes:
    - ksba_cert_t
    - int
    - char**
    - int*
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: ksba_cert_get_extension
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 9
    functionsReached:
    - _ksba_cert_get_extension
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_get_extension (ksba_cert_t cert, int idx,\n
      \                        char const **r_oid, int *r_crit,\n                         size_t
      *r_deroff, size_t *r_derlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_is_ca
      Src: /src/libksba/src/visibility.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - r_ca
    - r_pathlen
    argTypes:
    - ksba_cert_t
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: ksba_cert_is_ca
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 6
    functionsReached:
    - _ksba_cert_is_ca
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cert_is_ca (ksba_cert_t cert, int *r_ca, int *r_pathlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_key_usage
      Src: /src/libksba/src/visibility.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - r_flags
    argTypes:
    - ksba_cert_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: ksba_cert_get_key_usage
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 7
    functionsReached:
    - _ksba_cert_get_key_usage
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cert_get_key_usage (ksba_cert_t cert, unsigned int
      *r_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_cert_policies
      Src: /src/libksba/src/visibility.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - r_policies
    argTypes:
    - ksba_cert_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: ksba_cert_get_cert_policies
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 6
    functionsReached:
    - _ksba_cert_get_cert_policies
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cert_get_cert_policies (ksba_cert_t cert, char **r_policies)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_ext_key_usages
      Src: /src/libksba/src/visibility.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - result
    argTypes:
    - ksba_cert_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: ksba_cert_get_ext_key_usages
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 8
    functionsReached:
    - _ksba_cert_get_ext_key_usages
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cert_get_ext_key_usages (ksba_cert_t cert, char **result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_crl_dist_point
      Src: /src/libksba/src/visibility.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cert
    - idx
    - r_distpoint
    - r_issuer
    - r_reason
    argTypes:
    - ksba_cert_t
    - int
    - ksba_name_t*
    - ksba_name_t*
    - ksba_crl_reason_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: ksba_cert_get_crl_dist_point
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 5
    functionsReached:
    - _ksba_cert_get_crl_dist_point
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_get_crl_dist_point (ksba_cert_t cert, int idx,\n
      \                             ksba_name_t *r_distpoint,\n                              ksba_name_t
      *r_issuer,\n                              ksba_crl_reason_t *r_reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_auth_key_id
      Src: /src/libksba/src/visibility.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - r_keyid
    - r_name
    - r_serial
    argTypes:
    - ksba_cert_t
    - ksba_sexp_t*
    - ksba_name_t*
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: ksba_cert_get_auth_key_id
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 8
    functionsReached:
    - _ksba_cert_get_auth_key_id
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_get_auth_key_id (ksba_cert_t cert,\n                           ksba_sexp_t
      *r_keyid,\n                           ksba_name_t *r_name,\n                           ksba_sexp_t
      *r_serial)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_subj_key_id
      Src: /src/libksba/src/visibility.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - r_crit
    - r_keyid
    argTypes:
    - ksba_cert_t
    - int*
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: ksba_cert_get_subj_key_id
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 9
    functionsReached:
    - _ksba_cert_get_subj_key_id
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_get_subj_key_id (ksba_cert_t cert,\n                           int
      *r_crit,\n                           ksba_sexp_t *r_keyid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_authority_info_access
      Src: /src/libksba/src/visibility.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - idx
    - r_method
    - r_location
    argTypes:
    - ksba_cert_t
    - int
    - char**
    - ksba_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: ksba_cert_get_authority_info_access
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 5
    functionsReached:
    - _ksba_cert_get_authority_info_access
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_get_authority_info_access (ksba_cert_t cert,
      int idx,\n                                     char **r_method,\n                                     ksba_name_t
      *r_location)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_subject_info_access
      Src: /src/libksba/src/visibility.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - idx
    - r_method
    - r_location
    argTypes:
    - ksba_cert_t
    - int
    - char**
    - ksba_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: ksba_cert_get_subject_info_access
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_cert_get_subject_info_access
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_get_subject_info_access (ksba_cert_t cert, int
      idx,\n                                   char **r_method,\n                                   ksba_name_t
      *r_location)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_identify
      Src: /src/libksba/src/visibility.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reader
    argTypes:
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: ksba_cms_identify
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_cms_identify
    linkageType: ''
    returnType: ksba_content_type_t
    signature: ksba_content_type_t ksba_cms_identify (ksba_reader_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_new
      Src: /src/libksba/src/visibility.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r_cms
    argTypes:
    - ksba_cms_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: ksba_cms_new
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 8
    functionsReached:
    - _ksba_cms_new
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_new (ksba_cms_t *r_cms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_release
      Src: /src/libksba/src/visibility.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: ksba_cms_release
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 7
    functionsReached:
    - _ksba_cms_release
    linkageType: ''
    returnType: void
    signature: void ksba_cms_release (ksba_cms_t cms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_set_reader_writer
      Src: /src/libksba/src/visibility.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cms
    - r
    - w
    argTypes:
    - ksba_cms_t
    - ksba_reader_t
    - ksba_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: ksba_cms_set_reader_writer
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 8
    functionsReached:
    - _ksba_cms_set_reader_writer
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_set_reader_writer (ksba_cms_t cms,\n                            ksba_reader_t
      r, ksba_writer_t w)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_parse
      Src: /src/libksba/src/visibility.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - r_stopreason
    argTypes:
    - ksba_cms_t
    - ksba_stop_reason_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: ksba_cms_parse
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 6
    functionsReached:
    - _ksba_cms_parse
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_parse (ksba_cms_t cms, ksba_stop_reason_t *r_stopreason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_build
      Src: /src/libksba/src/visibility.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - r_stopreason
    argTypes:
    - ksba_cms_t
    - ksba_stop_reason_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: ksba_cms_build
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_cms_build
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_build (ksba_cms_t cms, ksba_stop_reason_t *r_stopreason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_get_content_type
      Src: /src/libksba/src/visibility.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - what
    argTypes:
    - ksba_cms_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: ksba_cms_get_content_type
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_cms_get_content_type
    linkageType: ''
    returnType: ksba_content_type_t
    signature: ksba_content_type_t ksba_cms_get_content_type (ksba_cms_t cms, int
      what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_get_content_oid
      Src: /src/libksba/src/visibility.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - what
    argTypes:
    - ksba_cms_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: ksba_cms_get_content_oid
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_cms_get_content_oid
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_cms_get_content_oid (ksba_cms_t cms, int what)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_get_content_enc_iv
      Src: /src/libksba/src/visibility.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cms
    - iv
    - maxivlen
    - ivlen
    argTypes:
    - ksba_cms_t
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: ksba_cms_get_content_enc_iv
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_cms_get_content_enc_iv
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_get_content_enc_iv (ksba_cms_t cms, void *iv,\n
      \                            size_t maxivlen, size_t *ivlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_get_digest_algo_list
      Src: /src/libksba/src/visibility.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - idx
    argTypes:
    - ksba_cms_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: ksba_cms_get_digest_algo_list
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 5
    functionsReached:
    - _ksba_cms_get_digest_algo_list
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_cms_get_digest_algo_list (ksba_cms_t cms, int idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_get_issuer_serial
      Src: /src/libksba/src/visibility.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cms
    - idx
    - r_issuer
    - r_serial
    argTypes:
    - ksba_cms_t
    - int
    - char**
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: ksba_cms_get_issuer_serial
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_cms_get_issuer_serial
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_get_issuer_serial (ksba_cms_t cms, int idx,\n
      \                           char **r_issuer,\n                            ksba_sexp_t
      *r_serial)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_get_digest_algo
      Src: /src/libksba/src/visibility.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - idx
    argTypes:
    - ksba_cms_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: ksba_cms_get_digest_algo
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_cms_get_digest_algo
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_cms_get_digest_algo (ksba_cms_t cms, int idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_get_cert
      Src: /src/libksba/src/visibility.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - idx
    argTypes:
    - ksba_cms_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 410
    functionName: ksba_cms_get_cert
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_cms_get_cert
    linkageType: ''
    returnType: ksba_cert_t
    signature: ksba_cert_t ksba_cms_get_cert (ksba_cms_t cms, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_get_attribute
      Src: /src/libksba/src/visibility.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - cms
    - signer
    - idx
    - unprotected
    - r_oid
    - r_der
    - r_derlen
    argTypes:
    - ksba_cms_t
    - int
    - int
    - int
    - char**
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 419
    functionName: ksba_cms_get_attribute
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_cms_get_attribute
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_get_attribute (ksba_cms_t cms, int signer, int
      idx, int unprotected,\n                        char **r_oid, unsigned char **r_der,
      size_t *r_derlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_get_message_digest
      Src: /src/libksba/src/visibility.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cms
    - idx
    - r_digest
    - r_digest_len
    argTypes:
    - ksba_cms_t
    - int
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 427
    functionName: ksba_cms_get_message_digest
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_cms_get_message_digest
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_get_message_digest (ksba_cms_t cms, int idx,\n
      \                            char **r_digest, size_t *r_digest_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_get_signing_time
      Src: /src/libksba/src/visibility.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cms
    - idx
    - r_sigtime
    argTypes:
    - ksba_cms_t
    - int
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: ksba_cms_get_signing_time
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_cms_get_signing_time
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_get_signing_time (ksba_cms_t cms, int idx,\n
      \                          ksba_isotime_t r_sigtime)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_get_sigattr_oids
      Src: /src/libksba/src/visibility.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cms
    - idx
    - reqoid
    - r_value
    argTypes:
    - ksba_cms_t
    - int
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 443
    functionName: ksba_cms_get_sigattr_oids
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_cms_get_sigattr_oids
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_get_sigattr_oids (ksba_cms_t cms, int idx,\n
      \                          const char *reqoid, char **r_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_get_sig_val
      Src: /src/libksba/src/visibility.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - idx
    argTypes:
    - ksba_cms_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: ksba_cms_get_sig_val
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_cms_get_sig_val
    linkageType: ''
    returnType: ksba_sexp_t
    signature: ksba_sexp_t ksba_cms_get_sig_val (ksba_cms_t cms, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_get_enc_val
      Src: /src/libksba/src/visibility.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - idx
    argTypes:
    - ksba_cms_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 457
    functionName: ksba_cms_get_enc_val
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_cms_get_enc_val
    linkageType: ''
    returnType: ksba_sexp_t
    signature: ksba_sexp_t ksba_cms_get_enc_val (ksba_cms_t cms, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_set_hash_function
      Src: /src/libksba/src/visibility.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - hash_fnc_arg
    argTypes:
    - ksba_cms_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 466
    functionName: ksba_cms_set_hash_function
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_cms_set_hash_function
    linkageType: ''
    returnType: void
    signature: "void ksba_cms_set_hash_function (ksba_cms_t cms,\n                            void
      (*hash_fnc)(void *, const void *, size_t),\n                            void
      *hash_fnc_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_hash_signed_attrs
      Src: /src/libksba/src/visibility.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - idx
    argTypes:
    - ksba_cms_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: ksba_cms_hash_signed_attrs
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_cms_hash_signed_attrs
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_hash_signed_attrs (ksba_cms_t cms, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_set_content_type
      Src: /src/libksba/src/visibility.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cms
    - what
    - type
    argTypes:
    - ksba_cms_t
    - int
    - ksba_content_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 482
    functionName: ksba_cms_set_content_type
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_cms_set_content_type
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_set_content_type (ksba_cms_t cms, int what,\n
      \                          ksba_content_type_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_add_digest_algo
      Src: /src/libksba/src/visibility.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - oid
    argTypes:
    - ksba_cms_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: ksba_cms_add_digest_algo
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_cms_add_digest_algo
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_add_digest_algo (ksba_cms_t cms, const char *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_add_signer
      Src: /src/libksba/src/visibility.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - cert
    argTypes:
    - ksba_cms_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: ksba_cms_add_signer
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_cms_add_signer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_add_signer (ksba_cms_t cms, ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_add_cert
      Src: /src/libksba/src/visibility.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - cert
    argTypes:
    - ksba_cms_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 503
    functionName: ksba_cms_add_cert
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_cms_add_cert
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_add_cert (ksba_cms_t cms, ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_add_smime_capability
      Src: /src/libksba/src/visibility.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cms
    - oid
    - der
    - derlen
    argTypes:
    - ksba_cms_t
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 512
    functionName: ksba_cms_add_smime_capability
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_cms_add_smime_capability
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_add_smime_capability (ksba_cms_t cms, const char
      *oid,\n                               const unsigned char *der,\n                               size_t
      derlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_add_attribute
      Src: /src/libksba/src/visibility.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - cms
    - idx
    - oid
    - unprotected
    - der
    - derlen
    argTypes:
    - ksba_cms_t
    - int
    - char*
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: ksba_cms_add_attribute
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_cms_add_attribute
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_add_attribute (ksba_cms_t cms, int idx,\n                        const
      char *oid, int unprotected,\n                        const unsigned char *der,
      size_t derlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_set_message_digest
      Src: /src/libksba/src/visibility.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cms
    - idx
    - digest
    - digest_len
    argTypes:
    - ksba_cms_t
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 528
    functionName: ksba_cms_set_message_digest
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_cms_set_message_digest
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_set_message_digest (ksba_cms_t cms, int idx,\n
      \                            const unsigned char *digest,\n                             size_t
      digest_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_set_signing_time
      Src: /src/libksba/src/visibility.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cms
    - idx
    - sigtime
    argTypes:
    - ksba_cms_t
    - int
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: ksba_cms_set_signing_time
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_cms_set_signing_time
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_set_signing_time (ksba_cms_t cms, int idx,\n
      \                          const ksba_isotime_t sigtime)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_set_sig_val
      Src: /src/libksba/src/visibility.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cms
    - idx
    - sigval
    argTypes:
    - ksba_cms_t
    - int
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 544
    functionName: ksba_cms_set_sig_val
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_cms_set_sig_val
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_set_sig_val (ksba_cms_t cms,\n                      int
      idx, ksba_const_sexp_t sigval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_set_content_enc_algo
      Src: /src/libksba/src/visibility.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cms
    - oid
    - iv
    - ivlen
    argTypes:
    - ksba_cms_t
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 555
    functionName: ksba_cms_set_content_enc_algo
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_cms_set_content_enc_algo
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_set_content_enc_algo (ksba_cms_t cms,\n                               const
      char *oid,\n                               const void *iv,\n                               size_t
      ivlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_add_recipient
      Src: /src/libksba/src/visibility.c:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - cert
    argTypes:
    - ksba_cms_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 562
    functionName: ksba_cms_add_recipient
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_cms_add_recipient
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cms_add_recipient (ksba_cms_t cms, ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cms_set_enc_val
      Src: /src/libksba/src/visibility.c:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cms
    - idx
    - encval
    argTypes:
    - ksba_cms_t
    - int
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 570
    functionName: ksba_cms_set_enc_val
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_cms_set_enc_val
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cms_set_enc_val (ksba_cms_t cms,\n                      int
      idx, ksba_const_sexp_t encval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_crl_new
      Src: /src/libksba/src/visibility.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r_crl
    argTypes:
    - ksba_crl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 580
    functionName: ksba_crl_new
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_crl_new
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_crl_new (ksba_crl_t *r_crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_crl_release
      Src: /src/libksba/src/visibility.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - ksba_crl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 587
    functionName: ksba_crl_release
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_crl_release
    linkageType: ''
    returnType: void
    signature: void ksba_crl_release (ksba_crl_t crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_crl_set_reader
      Src: /src/libksba/src/visibility.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crl
    - r
    argTypes:
    - ksba_crl_t
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 594
    functionName: ksba_crl_set_reader
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_crl_set_reader
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_crl_set_reader (ksba_crl_t crl, ksba_reader_t r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_crl_set_hash_function
      Src: /src/libksba/src/visibility.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crl
    - hash_fnc_arg
    argTypes:
    - ksba_crl_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 604
    functionName: ksba_crl_set_hash_function
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_crl_set_hash_function
    linkageType: ''
    returnType: void
    signature: "void ksba_crl_set_hash_function (ksba_crl_t crl,\n                            void
      (*hash_fnc)(void *,\n                                             const void
      *, size_t),\n                            void *hash_fnc_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_crl_get_digest_algo
      Src: /src/libksba/src/visibility.c:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - ksba_crl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 611
    functionName: ksba_crl_get_digest_algo
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_crl_get_digest_algo
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_crl_get_digest_algo (ksba_crl_t crl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_crl_get_issuer
      Src: /src/libksba/src/visibility.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crl
    - r_issuer
    argTypes:
    - ksba_crl_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 618
    functionName: ksba_crl_get_issuer
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_crl_get_issuer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_crl_get_issuer (ksba_crl_t crl, char **r_issuer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_crl_get_extension
      Src: /src/libksba/src/visibility.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - crl
    - idx
    - oid
    - critical
    - der
    - derlen
    argTypes:
    - ksba_crl_t
    - int
    - char**
    - int*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 627
    functionName: ksba_crl_get_extension
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_crl_get_extension
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_crl_get_extension (ksba_crl_t crl, int idx,\n                        char
      const **oid, int *critical,\n                        unsigned char const **der,
      size_t *derlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_crl_get_auth_key_id
      Src: /src/libksba/src/visibility.c:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - crl
    - r_keyid
    - r_name
    - r_serial
    argTypes:
    - ksba_crl_t
    - ksba_sexp_t*
    - ksba_name_t*
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 637
    functionName: ksba_crl_get_auth_key_id
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_crl_get_auth_key_id
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_crl_get_auth_key_id (ksba_crl_t crl,\n                          ksba_sexp_t
      *r_keyid,\n                          ksba_name_t *r_name,\n                          ksba_sexp_t
      *r_serial)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_crl_get_crl_number
      Src: /src/libksba/src/visibility.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crl
    - number
    argTypes:
    - ksba_crl_t
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 644
    functionName: ksba_crl_get_crl_number
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_crl_get_crl_number
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_crl_get_crl_number (ksba_crl_t crl, ksba_sexp_t *number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_crl_get_update_times
      Src: /src/libksba/src/visibility.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crl
    - this_update
    - next_update
    argTypes:
    - ksba_crl_t
    - ksba_isotime_t
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 653
    functionName: ksba_crl_get_update_times
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_crl_get_update_times
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_crl_get_update_times (ksba_crl_t crl,\n                           ksba_isotime_t
      this_update,\n                           ksba_isotime_t next_update)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_crl_get_item
      Src: /src/libksba/src/visibility.c:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - crl
    - r_serial
    - r_revocation_date
    - r_reason
    argTypes:
    - ksba_crl_t
    - ksba_sexp_t*
    - ksba_isotime_t
    - ksba_crl_reason_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 663
    functionName: ksba_crl_get_item
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_crl_get_item
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_crl_get_item (ksba_crl_t crl,\n                   ksba_sexp_t
      *r_serial,\n                   ksba_isotime_t r_revocation_date,\n                   ksba_crl_reason_t
      *r_reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_crl_get_sig_val
      Src: /src/libksba/src/visibility.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - ksba_crl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 670
    functionName: ksba_crl_get_sig_val
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_crl_get_sig_val
    linkageType: ''
    returnType: ksba_sexp_t
    signature: ksba_sexp_t ksba_crl_get_sig_val (ksba_crl_t crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_crl_parse
      Src: /src/libksba/src/visibility.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crl
    - r_stopreason
    argTypes:
    - ksba_crl_t
    - ksba_stop_reason_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 677
    functionName: ksba_crl_parse
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_crl_parse
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_crl_parse (ksba_crl_t crl, ksba_stop_reason_t *r_stopreason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_new
      Src: /src/libksba/src/visibility.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r_oscp
    argTypes:
    - ksba_ocsp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 687
    functionName: ksba_ocsp_new
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_ocsp_new
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_ocsp_new (ksba_ocsp_t *r_oscp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_release
      Src: /src/libksba/src/visibility.c:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ocsp
    argTypes:
    - ksba_ocsp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 694
    functionName: ksba_ocsp_release
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_ocsp_release
    linkageType: ''
    returnType: void
    signature: void ksba_ocsp_release (ksba_ocsp_t ocsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_set_digest_algo
      Src: /src/libksba/src/visibility.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ocsp
    - oid
    argTypes:
    - ksba_ocsp_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 701
    functionName: ksba_ocsp_set_digest_algo
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 1
    functionsReached:
    - _ksba_ocsp_set_digest_algo
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_ocsp_set_digest_algo (ksba_ocsp_t ocsp, const char
      *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_set_requestor
      Src: /src/libksba/src/visibility.c:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ocsp
    - cert
    argTypes:
    - ksba_ocsp_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 708
    functionName: ksba_ocsp_set_requestor
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 1
    functionsReached:
    - _ksba_ocsp_set_requestor
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_ocsp_set_requestor (ksba_ocsp_t ocsp, ksba_cert_t
      cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_add_target
      Src: /src/libksba/src/visibility.c:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ocsp
    - cert
    - issuer_cert
    argTypes:
    - ksba_ocsp_t
    - ksba_cert_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 716
    functionName: ksba_ocsp_add_target
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_ocsp_add_target
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_ocsp_add_target (ksba_ocsp_t ocsp,\n                      ksba_cert_t
      cert, ksba_cert_t issuer_cert)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_set_nonce
      Src: /src/libksba/src/visibility.c:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ocsp
    - nonce
    - noncelen
    argTypes:
    - ksba_ocsp_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 724
    functionName: ksba_ocsp_set_nonce
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_ocsp_set_nonce
    linkageType: ''
    returnType: size_t
    signature: "size_t ksba_ocsp_set_nonce (ksba_ocsp_t ocsp,\n                     unsigned
      char *nonce, size_t noncelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_prepare_request
      Src: /src/libksba/src/visibility.c:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ocsp
    argTypes:
    - ksba_ocsp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 732
    functionName: ksba_ocsp_prepare_request
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 1
    functionsReached:
    - _ksba_ocsp_prepare_request
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_ocsp_prepare_request (ksba_ocsp_t ocsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_hash_request
      Src: /src/libksba/src/visibility.c:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ocsp
    - hasher_arg
    argTypes:
    - ksba_ocsp_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 742
    functionName: ksba_ocsp_hash_request
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 1
    functionsReached:
    - _ksba_ocsp_hash_request
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_ocsp_hash_request (ksba_ocsp_t ocsp,\n                        void
      (*hasher)(void *, const void *,\n                                       size_t
      length),\n                        void *hasher_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_set_sig_val
      Src: /src/libksba/src/visibility.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ocsp
    - sigval
    argTypes:
    - ksba_ocsp_t
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 750
    functionName: ksba_ocsp_set_sig_val
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 1
    functionsReached:
    - _ksba_ocsp_set_sig_val
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_ocsp_set_sig_val (ksba_ocsp_t ocsp,\n                       ksba_const_sexp_t
      sigval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_add_cert
      Src: /src/libksba/src/visibility.c:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ocsp
    - cert
    argTypes:
    - ksba_ocsp_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 757
    functionName: ksba_ocsp_add_cert
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 1
    functionsReached:
    - _ksba_ocsp_add_cert
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_ocsp_add_cert (ksba_ocsp_t ocsp, ksba_cert_t cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_build_request
      Src: /src/libksba/src/visibility.c:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ocsp
    - r_buffer
    - r_buflen
    argTypes:
    - ksba_ocsp_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 766
    functionName: ksba_ocsp_build_request
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_ocsp_build_request
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_ocsp_build_request (ksba_ocsp_t ocsp,\n                         unsigned
      char **r_buffer,\n                         size_t *r_buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_parse_response
      Src: /src/libksba/src/visibility.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ocsp
    - msg
    - msglen
    - resp_status
    argTypes:
    - ksba_ocsp_t
    - unsigned char*
    - size_t
    - ksba_ocsp_response_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 776
    functionName: ksba_ocsp_parse_response
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_ocsp_parse_response
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_ocsp_parse_response (ksba_ocsp_t ocsp,\n                          const
      unsigned char *msg, size_t msglen,\n                          ksba_ocsp_response_status_t
      *resp_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_get_digest_algo
      Src: /src/libksba/src/visibility.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ocsp
    argTypes:
    - ksba_ocsp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 784
    functionName: ksba_ocsp_get_digest_algo
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 1
    functionsReached:
    - _ksba_ocsp_get_digest_algo
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_ocsp_get_digest_algo (ksba_ocsp_t ocsp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_hash_response
      Src: /src/libksba/src/visibility.c:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ocsp
    - msg
    - msglen
    - hasher_arg
    argTypes:
    - ksba_ocsp_t
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 795
    functionName: ksba_ocsp_hash_response
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_ocsp_hash_response
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_ocsp_hash_response (ksba_ocsp_t ocsp,\n                         const
      unsigned char *msg, size_t msglen,\n                         void (*hasher)(void
      *, const void *,\n                                        size_t length),\n
      \                        void *hasher_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_get_sig_val
      Src: /src/libksba/src/visibility.c:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ocsp
    - produced_at
    argTypes:
    - ksba_ocsp_t
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 803
    functionName: ksba_ocsp_get_sig_val
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_ocsp_get_sig_val
    linkageType: ''
    returnType: ksba_sexp_t
    signature: "ksba_sexp_t ksba_ocsp_get_sig_val (ksba_ocsp_t ocsp,\n                       ksba_isotime_t
      produced_at)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_get_responder_id
      Src: /src/libksba/src/visibility.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ocsp
    - r_name
    - r_keyid
    argTypes:
    - ksba_ocsp_t
    - char**
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 812
    functionName: ksba_ocsp_get_responder_id
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_ocsp_get_responder_id
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_ocsp_get_responder_id (ksba_ocsp_t ocsp,\n                            char
      **r_name,\n                            ksba_sexp_t *r_keyid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_get_cert
      Src: /src/libksba/src/visibility.c:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ocsp
    - idx
    argTypes:
    - ksba_ocsp_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 819
    functionName: ksba_ocsp_get_cert
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_ocsp_get_cert
    linkageType: ''
    returnType: ksba_cert_t
    signature: ksba_cert_t ksba_ocsp_get_cert (ksba_ocsp_t ocsp, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_get_status
      Src: /src/libksba/src/visibility.c:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ocsp
    - cert
    - r_status
    - r_this_update
    - r_next_update
    - r_revocation_time
    - r_reason
    argTypes:
    - ksba_ocsp_t
    - ksba_cert_t
    - ksba_status_t*
    - ksba_isotime_t
    - ksba_isotime_t
    - ksba_isotime_t
    - ksba_crl_reason_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 832
    functionName: ksba_ocsp_get_status
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_ocsp_get_status
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_ocsp_get_status (ksba_ocsp_t ocsp, ksba_cert_t cert,\n
      \                     ksba_status_t *r_status,\n                      ksba_isotime_t
      r_this_update,\n                      ksba_isotime_t r_next_update,\n                      ksba_isotime_t
      r_revocation_time,\n                      ksba_crl_reason_t *r_reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ocsp_get_extension
      Src: /src/libksba/src/visibility.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ocsp
    - cert
    - idx
    - r_oid
    - r_crit
    - r_der
    - r_derlen
    argTypes:
    - ksba_ocsp_t
    - ksba_cert_t
    - int
    - char**
    - int*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 844
    functionName: ksba_ocsp_get_extension
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_ocsp_get_extension
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_ocsp_get_extension (ksba_ocsp_t ocsp, ksba_cert_t
      cert,\n                         int idx,\n                         char const
      **r_oid, int *r_crit,\n                         unsigned char const **r_der,\n
      \                        size_t *r_derlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_certreq_new
      Src: /src/libksba/src/visibility.c:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r_cr
    argTypes:
    - ksba_certreq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 854
    functionName: ksba_certreq_new
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_certreq_new
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_certreq_new (ksba_certreq_t *r_cr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_certreq_release
      Src: /src/libksba/src/visibility.c:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cr
    argTypes:
    - ksba_certreq_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 861
    functionName: ksba_certreq_release
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_certreq_release
    linkageType: ''
    returnType: void
    signature: void ksba_certreq_release (ksba_certreq_t cr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_certreq_set_writer
      Src: /src/libksba/src/visibility.c:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cr
    - w
    argTypes:
    - ksba_certreq_t
    - ksba_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 868
    functionName: ksba_certreq_set_writer
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_certreq_set_writer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_certreq_set_writer (ksba_certreq_t cr, ksba_writer_t
      w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_certreq_set_hash_function
      Src: /src/libksba/src/visibility.c:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cr
    - hash_fnc_arg
    argTypes:
    - ksba_certreq_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 877
    functionName: ksba_certreq_set_hash_function
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_certreq_set_hash_function
    linkageType: ''
    returnType: void
    signature: "void ksba_certreq_set_hash_function (ksba_certreq_t cr,\n                                void
      (*hash_fnc)(void *, const void *, size_t),\n                                void
      *hash_fnc_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_certreq_set_serial
      Src: /src/libksba/src/visibility.c:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cr
    - sn
    argTypes:
    - ksba_certreq_t
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 884
    functionName: ksba_certreq_set_serial
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_certreq_set_serial
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_certreq_set_serial (ksba_certreq_t cr, ksba_const_sexp_t
      sn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_certreq_set_issuer
      Src: /src/libksba/src/visibility.c:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cr
    - name
    argTypes:
    - ksba_certreq_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 891
    functionName: ksba_certreq_set_issuer
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_certreq_set_issuer
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_certreq_set_issuer (ksba_certreq_t cr, const char
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_certreq_add_subject
      Src: /src/libksba/src/visibility.c:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cr
    - name
    argTypes:
    - ksba_certreq_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 898
    functionName: ksba_certreq_add_subject
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_certreq_add_subject
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_certreq_add_subject (ksba_certreq_t cr, const char
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_certreq_set_public_key
      Src: /src/libksba/src/visibility.c:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cr
    - key
    argTypes:
    - ksba_certreq_t
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 906
    functionName: ksba_certreq_set_public_key
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_certreq_set_public_key
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_certreq_set_public_key (ksba_certreq_t cr,\n                             ksba_const_sexp_t
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_certreq_add_extension
      Src: /src/libksba/src/visibility.c:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cr
    - oid
    - is_crit
    - der
    - derlen
    argTypes:
    - ksba_certreq_t
    - char*
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 916
    functionName: ksba_certreq_add_extension
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_certreq_add_extension
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_certreq_add_extension (ksba_certreq_t cr,\n                            const
      char *oid, int is_crit,\n                            const void *der,\n                            size_t
      derlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_certreq_set_sig_val
      Src: /src/libksba/src/visibility.c:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cr
    - sigval
    argTypes:
    - ksba_certreq_t
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 924
    functionName: ksba_certreq_set_sig_val
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_certreq_set_sig_val
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_certreq_set_sig_val (ksba_certreq_t cr,\n                          ksba_const_sexp_t
      sigval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_certreq_build
      Src: /src/libksba/src/visibility.c:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cr
    - r_stopreason
    argTypes:
    - ksba_certreq_t
    - ksba_stop_reason_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 932
    functionName: ksba_certreq_build
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_certreq_build
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_certreq_build (ksba_certreq_t cr,\n                    ksba_stop_reason_t
      *r_stopreason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_certreq_set_validity
      Src: /src/libksba/src/visibility.c:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cr
    - what
    - timebuf
    argTypes:
    - ksba_certreq_t
    - int
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 940
    functionName: ksba_certreq_set_validity
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_certreq_set_validity
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_certreq_set_validity (ksba_certreq_t cr, int what,\n
      \                          const ksba_isotime_t timebuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_certreq_set_siginfo
      Src: /src/libksba/src/visibility.c:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cr
    - siginfo
    argTypes:
    - ksba_certreq_t
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 947
    functionName: ksba_certreq_set_siginfo
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_certreq_set_siginfo
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_certreq_set_siginfo (ksba_certreq_t cr, ksba_const_sexp_t
      siginfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_reader_new
      Src: /src/libksba/src/visibility.c:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r_r
    argTypes:
    - ksba_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 955
    functionName: ksba_reader_new
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 16
    functionsReached:
    - _ksba_reader_new
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_reader_new (ksba_reader_t *r_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_reader_release
      Src: /src/libksba/src/visibility.c:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 962
    functionName: ksba_reader_release
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 21
    functionsReached:
    - _ksba_reader_release
    linkageType: ''
    returnType: void
    signature: void ksba_reader_release (ksba_reader_t r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_reader_clear
      Src: /src/libksba/src/visibility.c:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - buffer
    - buflen
    argTypes:
    - ksba_reader_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 970
    functionName: ksba_reader_clear
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 6
    functionsReached:
    - _ksba_reader_clear
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_reader_clear (ksba_reader_t r,\n                   unsigned
      char **buffer, size_t *buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_reader_error
      Src: /src/libksba/src/visibility.c:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 977
    functionName: ksba_reader_error
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_reader_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_reader_error (ksba_reader_t r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_reader_set_mem
      Src: /src/libksba/src/visibility.c:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - buffer
    - length
    argTypes:
    - ksba_reader_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 986
    functionName: ksba_reader_set_mem
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_reader_set_mem
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_reader_set_mem (ksba_reader_t r,\n                     const
      void *buffer, size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_reader_set_fd
      Src: /src/libksba/src/visibility.c:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - fd
    argTypes:
    - ksba_reader_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 993
    functionName: ksba_reader_set_fd
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_reader_set_fd
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_reader_set_fd (ksba_reader_t r, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_reader_set_file
      Src: /src/libksba/src/visibility.c:999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - fp
    argTypes:
    - ksba_reader_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1000
    functionName: ksba_reader_set_file
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 7
    functionsReached:
    - _ksba_reader_set_file
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_reader_set_file (ksba_reader_t r, FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_reader_set_cb
      Src: /src/libksba/src/visibility.c:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - cb_value
    argTypes:
    - ksba_reader_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1009
    functionName: ksba_reader_set_cb
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 6
    functionsReached:
    - _ksba_reader_set_cb
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_reader_set_cb (ksba_reader_t r,\n                    int
      (*cb)(void*,char *,size_t,size_t*),\n                    void *cb_value )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_reader_read
      Src: /src/libksba/src/visibility.c:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - buffer
    - length
    - nread
    argTypes:
    - ksba_reader_t
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1018
    functionName: ksba_reader_read
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 12
    functionsReached:
    - _ksba_reader_read
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_reader_read (ksba_reader_t r,\n                  char
      *buffer, size_t length, size_t *nread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_reader_unread
      Src: /src/libksba/src/visibility.c:1024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - buffer
    - count
    argTypes:
    - ksba_reader_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1025
    functionName: ksba_reader_unread
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_reader_unread
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_reader_unread (ksba_reader_t r, const void *buffer,
      size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_reader_tell
      Src: /src/libksba/src/visibility.c:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1032
    functionName: ksba_reader_tell
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_reader_tell
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ksba_reader_tell (ksba_reader_t r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_writer_new
      Src: /src/libksba/src/visibility.c:1040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r_w
    argTypes:
    - ksba_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1041
    functionName: ksba_writer_new
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 8
    functionsReached:
    - _ksba_writer_new
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_writer_new (ksba_writer_t *r_w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_writer_release
      Src: /src/libksba/src/visibility.c:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - ksba_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1048
    functionName: ksba_writer_release
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 9
    functionsReached:
    - _ksba_writer_release
    linkageType: ''
    returnType: void
    signature: void ksba_writer_release (ksba_writer_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_writer_error
      Src: /src/libksba/src/visibility.c:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - ksba_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1055
    functionName: ksba_writer_error
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 1
    functionsReached:
    - _ksba_writer_error
    linkageType: ''
    returnType: int
    signature: int ksba_writer_error (ksba_writer_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_writer_tell
      Src: /src/libksba/src/visibility.c:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - ksba_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1062
    functionName: ksba_writer_tell
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 1
    functionsReached:
    - _ksba_writer_tell
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ksba_writer_tell (ksba_writer_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_writer_set_fd
      Src: /src/libksba/src/visibility.c:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - fd
    argTypes:
    - ksba_writer_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1069
    functionName: ksba_writer_set_fd
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 1
    functionsReached:
    - _ksba_writer_set_fd
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_writer_set_fd (ksba_writer_t w, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_writer_set_file
      Src: /src/libksba/src/visibility.c:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - fp
    argTypes:
    - ksba_writer_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1076
    functionName: ksba_writer_set_file
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 1
    functionsReached:
    - _ksba_writer_set_file
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_writer_set_file (ksba_writer_t w, FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_writer_set_cb
      Src: /src/libksba/src/visibility.c:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - cb_value
    argTypes:
    - ksba_writer_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1085
    functionName: ksba_writer_set_cb
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_writer_set_cb
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_writer_set_cb (ksba_writer_t w,\n                    int
      (*cb)(void*,const void *,size_t),\n                    void *cb_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_writer_set_mem
      Src: /src/libksba/src/visibility.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - initial_size
    argTypes:
    - ksba_writer_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1092
    functionName: ksba_writer_set_mem
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 6
    functionsReached:
    - _ksba_writer_set_mem
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_writer_set_mem (ksba_writer_t w, size_t initial_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_writer_get_mem
      Src: /src/libksba/src/visibility.c:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - nbytes
    argTypes:
    - ksba_writer_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1099
    functionName: ksba_writer_get_mem
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 1
    functionsReached:
    - _ksba_writer_get_mem
    linkageType: ''
    returnType: void
    signature: 'void *

      ksba_writer_get_mem (ksba_writer_t w, size_t *nbytes)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_writer_snatch_mem
      Src: /src/libksba/src/visibility.c:1105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - nbytes
    argTypes:
    - ksba_writer_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1106
    functionName: ksba_writer_snatch_mem
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 6
    functionsReached:
    - _ksba_writer_snatch_mem
    linkageType: ''
    returnType: void
    signature: 'void *

      ksba_writer_snatch_mem (ksba_writer_t w, size_t *nbytes)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_writer_set_filter
      Src: /src/libksba/src/visibility.c:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - filter_arg
    argTypes:
    - ksba_writer_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1117
    functionName: ksba_writer_set_filter
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_writer_set_filter
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_writer_set_filter (ksba_writer_t w,\n                        gpg_error_t
      (*filter)(void*,\n                                              const void *,size_t,
      size_t *,\n                                              void *, size_t, size_t
      *),\n                        void *filter_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_writer_write
      Src: /src/libksba/src/visibility.c:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - buffer
    - length
    argTypes:
    - ksba_writer_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1125
    functionName: ksba_writer_write
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 16
    functionsReached:
    - _ksba_writer_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_writer_write (ksba_writer_t w, const void *buffer,
      size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_writer_write_octet_string
      Src: /src/libksba/src/visibility.c:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - w
    - buffer
    - length
    - flush
    argTypes:
    - ksba_writer_t
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1134
    functionName: ksba_writer_write_octet_string
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_writer_write_octet_string
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_writer_write_octet_string (ksba_writer_t w,\n                                const
      void *buffer, size_t length,\n                                int flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_parse_file
      Src: /src/libksba/src/visibility.c:1143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - result
    - debug
    argTypes:
    - char*
    - ksba_asn_tree_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1144
    functionName: ksba_asn_parse_file
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_asn_parse_file
    linkageType: ''
    returnType: int
    signature: "int ksba_asn_parse_file (const char *filename, ksba_asn_tree_t *result,\n
      \                    int debug)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_tree_release
      Src: /src/libksba/src/visibility.c:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tree
    argTypes:
    - ksba_asn_tree_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1151
    functionName: ksba_asn_tree_release
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 5
    functionsReached:
    - _ksba_asn_tree_release
    linkageType: ''
    returnType: void
    signature: void ksba_asn_tree_release (ksba_asn_tree_t tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_tree_dump
      Src: /src/libksba/src/visibility.c:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - name
    - fp
    argTypes:
    - ksba_asn_tree_t
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1159
    functionName: ksba_asn_tree_dump
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 1
    functionsReached:
    - _ksba_asn_tree_dump
    linkageType: ''
    returnType: void
    signature: void ksba_asn_tree_dump (ksba_asn_tree_t tree, const char *name, FILE
      *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_create_tree
      Src: /src/libksba/src/visibility.c:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mod_name
    - result
    argTypes:
    - char*
    - ksba_asn_tree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1166
    functionName: ksba_asn_create_tree
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_asn_create_tree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_asn_create_tree (const char *mod_name, ksba_asn_tree_t
      *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libksba/src/visibility.c:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1177
    functionName: ksba_asn_delete_structure
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int ksba_asn_delete_structure (void *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_oid_to_str
      Src: /src/libksba/src/visibility.c:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1185
    functionName: ksba_oid_to_str
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 10
    functionsReached:
    - _ksba_oid_to_str
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_oid_to_str (const char *buffer, size_t length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_oid_from_str
      Src: /src/libksba/src/visibility.c:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - string
    - rbuf
    - rlength
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1193
    functionName: ksba_oid_from_str
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 11
    functionsReached:
    - _ksba_oid_from_str
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_oid_from_str (const char *string,\n                   unsigned
      char **rbuf, size_t *rlength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_dn_der2str
      Src: /src/libksba/src/visibility.c:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - der
    - derlen
    - r_string
    argTypes:
    - void*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1202
    functionName: ksba_dn_der2str
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_dn_der2str
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_dn_der2str (const void *der, size_t derlen, char **r_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_dn_str2der
      Src: /src/libksba/src/visibility.c:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - string
    - rder
    - rderlen
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1210
    functionName: ksba_dn_str2der
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 5
    functionsReached:
    - _ksba_dn_str2der
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_dn_str2der (const char *string,\n                 unsigned
      char **rder, size_t *rderlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_dn_teststr
      Src: /src/libksba/src/visibility.c:1217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - string
    - seq
    - rerroff
    - rerrlen
    argTypes:
    - char*
    - int
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1218
    functionName: ksba_dn_teststr
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 6
    functionsReached:
    - _ksba_dn_teststr
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_dn_teststr (const char *string, int seq,\n                 size_t
      *rerroff, size_t *rerrlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_name_new
      Src: /src/libksba/src/visibility.c:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r_name
    argTypes:
    - ksba_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1228
    functionName: ksba_name_new
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 1
    functionsReached:
    - _ksba_name_new
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_name_new (ksba_name_t *r_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_name_ref
      Src: /src/libksba/src/visibility.c:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ksba_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1235
    functionName: ksba_name_ref
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 1
    functionsReached:
    - _ksba_name_ref
    linkageType: ''
    returnType: void
    signature: void ksba_name_ref (ksba_name_t name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_name_release
      Src: /src/libksba/src/visibility.c:1241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ksba_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1242
    functionName: ksba_name_release
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 14
    functionsReached:
    - _ksba_name_release
    linkageType: ''
    returnType: void
    signature: void ksba_name_release (ksba_name_t name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_name_enum
      Src: /src/libksba/src/visibility.c:1248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - idx
    argTypes:
    - ksba_name_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1249
    functionName: ksba_name_enum
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 14
    functionsReached:
    - _ksba_name_enum
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_name_enum (ksba_name_t name, int idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_name_get_uri
      Src: /src/libksba/src/visibility.c:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - idx
    argTypes:
    - ksba_name_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1256
    functionName: ksba_name_get_uri
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 8
    functionsReached:
    - _ksba_name_get_uri
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_name_get_uri (ksba_name_t name, int idx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_der_release
      Src: /src/libksba/src/visibility.c:1264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - ksba_der_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 1
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: ksba_der_release
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 8
    functionsReached:
    - _ksba_der_release
    linkageType: ''
    returnType: void
    signature: void ksba_der_release (ksba_der_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_der_builder_new
      Src: /src/libksba/src/visibility.c:1270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nitems
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1271
    functionName: ksba_der_builder_new
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 8
    functionsReached:
    - _ksba_der_builder_new
    linkageType: ''
    returnType: ksba_der_t
    signature: ksba_der_t ksba_der_builder_new (unsigned int nitems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_der_builder_reset
      Src: /src/libksba/src/visibility.c:1276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - ksba_der_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1273
    functionDepth: 1
    functionLinenumber: 1273
    functionLinenumberEnd: 1277
    functionName: ksba_der_builder_reset
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_der_builder_reset
    linkageType: ''
    returnType: void
    signature: void ksba_der_builder_reset (ksba_der_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_der_add_ptr
      Src: /src/libksba/src/visibility.c:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - d
    - cls
    - tag
    - value
    - valuelen
    argTypes:
    - ksba_der_t
    - int
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1284
    functionName: ksba_der_add_ptr
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 5
    functionsReached:
    - _ksba_der_add_ptr
    linkageType: ''
    returnType: void
    signature: "void ksba_der_add_ptr (ksba_der_t d, int cls, int tag,\n                  void
      *value, size_t valuelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_der_add_val
      Src: /src/libksba/src/visibility.c:1290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - d
    - cls
    - tag
    - value
    - valuelen
    argTypes:
    - ksba_der_t
    - int
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1286
    functionDepth: 2
    functionLinenumber: 1286
    functionLinenumberEnd: 1291
    functionName: ksba_der_add_val
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 2
    functionsReached:
    - _ksba_der_add_val
    linkageType: ''
    returnType: void
    signature: "void ksba_der_add_val (ksba_der_t d, int cls, int tag,\n                  const
      void *value, size_t valuelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_der_add_int
      Src: /src/libksba/src/visibility.c:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - d
    - value
    - valuelen
    - force_positive
    argTypes:
    - ksba_der_t
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1293
    functionDepth: 2
    functionLinenumber: 1293
    functionLinenumberEnd: 1298
    functionName: ksba_der_add_int
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_der_add_int
    linkageType: ''
    returnType: void
    signature: "void ksba_der_add_int (ksba_der_t d, const void *value, size_t valuelen,\n
      \                 int force_positive)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_der_add_oid
      Src: /src/libksba/src/visibility.c:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - oidstr
    argTypes:
    - ksba_der_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1300
    functionDepth: 2
    functionLinenumber: 1300
    functionLinenumberEnd: 1304
    functionName: ksba_der_add_oid
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_der_add_oid
    linkageType: ''
    returnType: void
    signature: void ksba_der_add_oid (ksba_der_t d, const char *oidstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_der_add_bts
      Src: /src/libksba/src/visibility.c:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - d
    - value
    - valuelen
    - unusedbits
    argTypes:
    - ksba_der_t
    - void*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1306
    functionDepth: 2
    functionLinenumber: 1306
    functionLinenumberEnd: 1311
    functionName: ksba_der_add_bts
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 3
    functionsReached:
    - _ksba_der_add_bts
    linkageType: ''
    returnType: void
    signature: "void ksba_der_add_bts (ksba_der_t d, const void *value, size_t valuelen,\n
      \                 unsigned int unusedbits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_der_add_der
      Src: /src/libksba/src/visibility.c:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - der
    - derlen
    argTypes:
    - ksba_der_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1313
    functionDepth: 2
    functionLinenumber: 1313
    functionLinenumberEnd: 1317
    functionName: ksba_der_add_der
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 4
    functionsReached:
    - _ksba_der_add_der
    linkageType: ''
    returnType: void
    signature: void ksba_der_add_der (ksba_der_t d, const void *der, size_t derlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/visibility.c:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - cls
    - tag
    argTypes:
    - ksba_der_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1323
    functionName: ksba_der_add_tag
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 8
    functionsReached:
    - _ksba_der_add_tag
    linkageType: ''
    returnType: void
    signature: void ksba_der_add_tag (ksba_der_t d, int cls, int tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/visibility.c:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - ksba_der_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1329
    functionName: ksba_der_add_end
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 7
    functionsReached:
    - _ksba_der_add_end
    linkageType: ''
    returnType: void
    signature: void ksba_der_add_end (ksba_der_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_der_builder_get
      Src: /src/libksba/src/visibility.c:1334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - r_obj
    - r_objlen
    argTypes:
    - ksba_der_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1331
    functionDepth: 2
    functionLinenumber: 1331
    functionLinenumberEnd: 1335
    functionName: ksba_der_builder_get
    functionSourceFile: /src/libksba/src/visibility.c
    functionUses: 8
    functionsReached:
    - _ksba_der_builder_get
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_der_builder_get (ksba_der_t d, unsigned char **r_obj,
      size_t *r_objlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - right
    argTypes:
    - AsnNode
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: set_right
    functionSourceFile: /src/libksba/src/asn1-func2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode set_right (AsnNode  node, AsnNode  right)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - down
    argTypes:
    - AsnNode
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: set_down
    functionSourceFile: /src/libksba/src/asn1-func2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode set_down (AsnNode node, AsnNode down)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: find_up
    functionSourceFile: /src/libksba/src/asn1-func2.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode find_up (AsnNode  node)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-func2.c:127,1
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-func2.c:131,1
    - Dst: _ksba_asn_lookup_table
      Src: /src/libksba/src/asn1-func2.c:132,1
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-func2.c:134,1
    - Dst: _ksba_asn_new_node
      Src: /src/libksba/src/asn1-func2.c:142,1
    - Dst: _ksba_asn_set_name
      Src: /src/libksba/src/asn1-func2.c:149,1
    - Dst: strtoul
      Src: /src/libksba/src/asn1-func2.c:155,1
    - Dst: _ksba_asn_set_value
      Src: /src/libksba/src/asn1-func2.c:156,1
    - Dst: _ksba_asn_set_value
      Src: /src/libksba/src/asn1-func2.c:159,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-func2.c:167,1
    - Dst: set_right
      Src: /src/libksba/src/asn1-func2.c:169,1
    - Dst: find_up
      Src: /src/libksba/src/asn1-func2.c:184,1
    - Dst: _ksba_asn_change_integer_value
      Src: /src/libksba/src/asn1-func2.c:204,1
    - Dst: _ksba_asn_expand_object_id
      Src: /src/libksba/src/asn1-func2.c:205,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/asn1-func2.c:206,1
    - Dst: strlen
      Src: /src/libksba/src/asn1-func2.c:206,1
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-func2.c:208,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-func2.c:213,1
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-func2.c:219,1
    - Dst: _ksba_asn_delete_structure
      Src: /src/libksba/src/asn1-func2.c:222,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 70
    argCount: 2
    argNames:
    - mod_name
    - result
    argTypes:
    - char*
    - ksba_asn_tree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 225
    functionName: ksba_asn_create_tree
    functionSourceFile: /src/libksba/src/asn1-func2.c
    functionUses: 4
    functionsReached:
    - _ksba_asn_expand_object_id
    - _ksba_asn_new_node
    - _ksba_asn_set_name
    - _ksba_asn_set_value
    - _ksba_asn_change_integer_value
    - strlen
    - set_down
    - gpg_error
    - find_up
    - strcpy
    - _ksba_asn_delete_structure
    - strtoul
    - xtrymalloc
    - _ksba_asn_lookup_table
    - set_right
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_asn_create_tree (const char *mod_name, ksba_asn_tree_t
      *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/libksba/src/name.c:56,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/name.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r_name
    argTypes:
    - ksba_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: ksba_name_new
    functionSourceFile: /src/libksba/src/name.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_errno
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_name_new (ksba_name_t *r_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libksba/src/name.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - ksba_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: ksba_name_ref
    functionSourceFile: /src/libksba/src/name.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void ksba_name_ref (ksba_name_t name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libksba/src/name.c:83,1
    - Dst: xfree
      Src: /src/libksba/src/name.c:90,1
    - Dst: xfree
      Src: /src/libksba/src/name.c:91,1
    - Dst: xfree
      Src: /src/libksba/src/name.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - ksba_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: ksba_name_release
    functionSourceFile: /src/libksba/src/name.c
    functionUses: 14
    functionsReached:
    - fprintf
    - xfree
    linkageType: ''
    returnType: void
    signature: void ksba_name_release (ksba_name_t name)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/name.c:112,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/name.c:123,1
    - Dst: gpg_error
      Src: /src/libksba/src/name.c:127,1
    - Dst: gpg_error
      Src: /src/libksba/src/name.c:129,1
    - Dst: gpg_error
      Src: /src/libksba/src/name.c:131,1
    - Dst: ksba_name_new
      Src: /src/libksba/src/name.c:149,1
    - Dst: xtrycalloc
      Src: /src/libksba/src/name.c:154,1
    - Dst: ksba_name_release
      Src: /src/libksba/src/name.c:157,1
    - Dst: gpg_error
      Src: /src/libksba/src/name.c:158,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/name.c:170,1
    - Dst: assert
      Src: /src/libksba/src/name.c:171,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/name.c:175,1
    - Dst: ksba_name_release
      Src: /src/libksba/src/name.c:178,1
    - Dst: gpg_error
      Src: /src/libksba/src/name.c:179,1
    - Dst: memcpy
      Src: /src/libksba/src/name.c:182,1
    - Dst: _ksba_derdn_to_str
      Src: /src/libksba/src/name.c:189,1
    - Dst: ksba_name_release
      Src: /src/libksba/src/name.c:197,1
    - Dst: gpg_error
      Src: /src/libksba/src/name.c:198,1
    - Dst: sprintf
      Src: /src/libksba/src/name.c:200,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/name.c:201,1
    - Dst: strlen
      Src: /src/libksba/src/name.c:201,1
    - Dst: ksba_name_release
      Src: /src/libksba/src/name.c:205,1
    - Dst: gpg_error
      Src: /src/libksba/src/name.c:206,1
    - Dst: stpcpy
      Src: /src/libksba/src/name.c:208,1
    - Dst: stpcpy
      Src: /src/libksba/src/name.c:209,1
    - Dst: memcpy
      Src: /src/libksba/src/name.c:210,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 93
    argCount: 3
    argNames:
    - r_name
    - image
    - imagelen
    argTypes:
    - ksba_name_t*
    - unsigned char*
    - size_t
    assertStmts:
    - condition: (!err)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/libksba/src/name.c
    constantsTouched: []
    func_position:
      end: 226
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 226
    functionName: _ksba_name_new_from_der
    functionSourceFile: /src/libksba/src/name.c
    functionUses: 1
    functionsReached:
    - assert
    - strlen
    - sprintf
    - _ksba_derdn_to_str
    - ksba_name_release
    - gpg_error
    - ksba_name_new
    - memcpy
    - xtrycalloc
    - stpcpy
    - _ksba_ber_parse_tl
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_name_new_from_der (ksba_name_t *r_name,\n                         const
      unsigned char *image, size_t imagelen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - name
    - idx
    argTypes:
    - ksba_name_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: ksba_name_enum
    functionSourceFile: /src/libksba/src/name.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_name_enum (ksba_name_t name, int idx)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ksba_name_enum
      Src: /src/libksba/src/name.c:261,1
    - Dst: strncmp
      Src: /src/libksba/src/name.c:265,1
    - Dst: digitp
      Src: /src/libksba/src/name.c:268,1
    - Dst: atoi_1
      Src: /src/libksba/src/name.c:269,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/name.c:273,1
    - Dst: memcpy
      Src: /src/libksba/src/name.c:276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - name
    - idx
    argTypes:
    - ksba_name_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 280
    functionName: ksba_name_get_uri
    functionSourceFile: /src/libksba/src/name.c
    functionUses: 8
    functionsReached:
    - digitp
    - atoi_1
    - memcpy
    - ksba_name_enum
    - xtrymalloc
    - strncmp
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_name_get_uri (ksba_name_t name, int idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_read
      Src: /src/libksba/src/cms-parser.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - reader
    argTypes:
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: read_byte
    functionSourceFile: /src/libksba/src/cms-parser.c
    functionUses: 4
    functionsReached:
    - ksba_reader_read
    linkageType: ''
    returnType: int
    signature: int read_byte (ksba_reader_t reader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_read
      Src: /src/libksba/src/cms-parser.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - reader
    - buffer
    - count
    argTypes:
    - ksba_reader_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: read_buffer
    functionSourceFile: /src/libksba/src/cms-parser.c
    functionUses: 8
    functionsReached:
    - ksba_reader_read
    linkageType: ''
    returnType: int
    signature: int read_buffer (ksba_reader_t reader, char *buffer, size_t count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ksba_asn_create_tree
      Src: /src/libksba/src/cms-parser.c:93,1
    - Dst: _ksba_ber_decoder_new
      Src: /src/libksba/src/cms-parser.c:97,1
    - Dst: ksba_asn_tree_release
      Src: /src/libksba/src/cms-parser.c:100,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:101,1
    - Dst: _ksba_ber_decoder_set_reader
      Src: /src/libksba/src/cms-parser.c:104,1
    - Dst: ksba_asn_tree_release
      Src: /src/libksba/src/cms-parser.c:107,1
    - Dst: _ksba_ber_decoder_release
      Src: /src/libksba/src/cms-parser.c:108,1
    - Dst: _ksba_ber_decoder_set_module
      Src: /src/libksba/src/cms-parser.c:112,1
    - Dst: ksba_asn_tree_release
      Src: /src/libksba/src/cms-parser.c:115,1
    - Dst: _ksba_ber_decoder_release
      Src: /src/libksba/src/cms-parser.c:116,1
    - Dst: _ksba_ber_decoder_decode
      Src: /src/libksba/src/cms-parser.c:120,1
    - Dst: _ksba_ber_decoder_release
      Src: /src/libksba/src/cms-parser.c:123,1
    - Dst: ksba_asn_tree_release
      Src: /src/libksba/src/cms-parser.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 6
    argNames:
    - reader
    - elem_name
    - flags
    - r_root
    - r_image
    - r_imagelen
    argTypes:
    - ksba_reader_t
    - char*
    - unsigned int
    - AsnNode*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 83
    functionDepth: 8
    functionLinenumber: 83
    functionLinenumberEnd: 126
    functionName: create_and_run_decoder
    functionSourceFile: /src/libksba/src/cms-parser.c
    functionUses: 1
    functionsReached:
    - _ksba_ber_decoder_set_reader
    - _ksba_ber_decoder_decode
    - ksba_asn_tree_release
    - _ksba_ber_decoder_new
    - gpg_error
    - _ksba_ber_decoder_set_module
    - ksba_asn_create_tree
    - _ksba_ber_decoder_release
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t create_and_run_decoder (ksba_reader_t reader, const char
      *elem_name,\n                        unsigned int flags,\n                        AsnNode
      *r_root,\n                        unsigned char **r_image, size_t *r_imagelen)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:157,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:162,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:166,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:169,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:174,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:178,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:181,1
    - Dst: DIM
      Src: /src/libksba/src/cms-parser.c:185,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:186,1
    - Dst: read_buffer
      Src: /src/libksba/src/cms-parser.c:187,1
    - Dst: ksba_oid_to_str
      Src: /src/libksba/src/cms-parser.c:190,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:192,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:200,1
    - Dst: xfree
      Src: /src/libksba/src/cms-parser.c:203,1
    - Dst: xfree
      Src: /src/libksba/src/cms-parser.c:217,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:218,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:223,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:226,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 60
    argCount: 5
    argNames:
    - reader
    - r_len
    - r_ndef
    - r_oid
    - has_content
    argTypes:
    - ksba_reader_t
    - unsigned long*
    - int*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 233
    functionName: parse_content_info
    functionSourceFile: /src/libksba/src/cms-parser.c
    functionUses: 1
    functionsReached:
    - DIM
    - read_buffer
    - ksba_oid_to_str
    - gpg_error
    - xfree
    - _ksba_ber_read_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_content_info (ksba_reader_t reader,\n                    unsigned
      long *r_len, int *r_ndef,\n                    char **r_oid, int *has_content)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:271,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:276,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:280,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:283,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:288,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:292,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:295,1
    - Dst: DIM
      Src: /src/libksba/src/cms-parser.c:298,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:299,1
    - Dst: read_buffer
      Src: /src/libksba/src/cms-parser.c:300,1
    - Dst: ksba_oid_to_str
      Src: /src/libksba/src/cms-parser.c:303,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:305,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:308,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:313,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:317,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:320,1
    - Dst: DIM
      Src: /src/libksba/src/cms-parser.c:323,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:324,1
    - Dst: memcpy
      Src: /src/libksba/src/cms-parser.c:325,1
    - Dst: read_buffer
      Src: /src/libksba/src/cms-parser.c:326,1
    - Dst: _ksba_parse_algorithm_identifier3
      Src: /src/libksba/src/cms-parser.c:329,1
    - Dst: assert
      Src: /src/libksba/src/cms-parser.c:336,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:338,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:346,1
    - Dst: xfree
      Src: /src/libksba/src/cms-parser.c:349,1
    - Dst: xfree
      Src: /src/libksba/src/cms-parser.c:350,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:363,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:366,1
    - Dst: ksba_reader_unread
      Src: /src/libksba/src/cms-parser.c:372,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 88
    argCount: 9
    argNames:
    - reader
    - r_len
    - r_ndef
    - r_cont_oid
    - r_algo_oid
    - r_algo_parm
    - r_algo_parmlen
    - r_algo_parmtype
    - has_content
    argTypes:
    - ksba_reader_t
    - unsigned long*
    - int*
    - char**
    - char**
    - char**
    - size_t*
    - int*
    - int*
    assertStmts:
    - condition: (nread <= ti.nhdr + ti.length)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/libksba/src/cms-parser.c
    constantsTouched: []
    func_position:
      end: 385
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 385
    functionName: parse_encrypted_content_info
    functionSourceFile: /src/libksba/src/cms-parser.c
    functionUses: 0
    functionsReached:
    - ksba_reader_unread
    - _ksba_parse_algorithm_identifier3
    - assert
    - DIM
    - read_buffer
    - ksba_oid_to_str
    - gpg_error
    - xfree
    - memcpy
    - _ksba_ber_read_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_encrypted_content_info (ksba_reader_t reader,\n
      \                             unsigned long *r_len, int *r_ndef,\n                              char
      **r_cont_oid, char **r_algo_oid,\n                              char **r_algo_parm,
      size_t *r_algo_parmlen,\n                              int *r_algo_parmtype,\n
      \                             int *has_content)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_content_info
      Src: /src/libksba/src/cms-parser.c:410,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/cms-parser.c:417,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/cms-parser.c:418,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/cms-parser.c:419,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:420,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:424,1
    - Dst: xfree
      Src: /src/libksba/src/cms-parser.c:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 430
    functionName: _ksba_cms_parse_content_info
    functionSourceFile: /src/libksba/src/cms-parser.c
    functionUses: 1
    functionsReached:
    - parse_content_info
    - gpg_error
    - gpg_err_code
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_cms_parse_content_info (ksba_cms_t cms)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:447,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:452,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:456,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:459,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:464,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:468,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:471,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:475,1
    - Dst: read_byte
      Src: /src/libksba/src/cms-parser.c:476,1
    - Dst: ksba_reader_error
      Src: /src/libksba/src/cms-parser.c:478,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:479,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:482,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 4
    argNames:
    - reader
    - r_version
    - r_len
    - r_ndef
    argTypes:
    - ksba_reader_t
    - int*
    - unsigned long*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 487
    functionName: parse_cms_version
    functionSourceFile: /src/libksba/src/cms-parser.c
    functionUses: 0
    functionsReached:
    - read_byte
    - gpg_error
    - _ksba_ber_read_tl
    - ksba_reader_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_cms_version (ksba_reader_t reader, int *r_version,\n
      \                  unsigned long *r_len, int *r_ndef)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: parse_cms_version
      Src: /src/libksba/src/cms-parser.c:524,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:530,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:535,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:539,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:542,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:550,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms-parser.c:552,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:554,1
    - Dst: read_buffer
      Src: /src/libksba/src/cms-parser.c:555,1
    - Dst: xfree
      Src: /src/libksba/src/cms-parser.c:557,1
    - Dst: ksba_reader_error
      Src: /src/libksba/src/cms-parser.c:558,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:559,1
    - Dst: _ksba_parse_algorithm_identifier
      Src: /src/libksba/src/cms-parser.c:567,1
    - Dst: xfree
      Src: /src/libksba/src/cms-parser.c:570,1
    - Dst: assert
      Src: /src/libksba/src/cms-parser.c:573,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms-parser.c:577,1
    - Dst: xfree
      Src: /src/libksba/src/cms-parser.c:580,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:581,1
    - Dst: xfree
      Src: /src/libksba/src/cms-parser.c:587,1
    - Dst: ksba_reader_tell
      Src: /src/libksba/src/cms-parser.c:590,1
    - Dst: parse_content_info
      Src: /src/libksba/src/cms-parser.c:591,1
    - Dst: ksba_reader_tell
      Src: /src/libksba/src/cms-parser.c:602,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:604,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:607,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts:
    - condition: (nread <= algo_set_len)
      pos:
        line_end: 572
        line_start: 572
        source_file: /src/libksba/src/cms-parser.c
    constantsTouched: []
    func_position:
      end: 612
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 612
    functionName: _ksba_cms_parse_signed_data_part_1
    functionSourceFile: /src/libksba/src/cms-parser.c
    functionUses: 1
    functionsReached:
    - xtrymalloc
    - assert
    - parse_cms_version
    - read_buffer
    - ksba_reader_error
    - gpg_error
    - xfree
    - _ksba_parse_algorithm_identifier
    - parse_content_info
    - ksba_reader_tell
    - _ksba_ber_read_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_cms_parse_signed_data_part_1 (ksba_cms_t cms)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:625,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:633,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:653,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:660,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/cms-parser.c:663,1
    - Dst: ksba_reader_unread
      Src: /src/libksba/src/cms-parser.c:674,1
    - Dst: ksba_cert_new
      Src: /src/libksba/src/cms-parser.c:678,1
    - Dst: ksba_cert_read_der
      Src: /src/libksba/src/cms-parser.c:681,1
    - Dst: ksba_cert_release
      Src: /src/libksba/src/cms-parser.c:684,1
    - Dst: xtrycalloc
      Src: /src/libksba/src/cms-parser.c:687,1
    - Dst: ksba_cert_release
      Src: /src/libksba/src/cms-parser.c:690,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:691,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:714,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:721,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/cms-parser.c:724,1
    - Dst: DIM
      Src: /src/libksba/src/cms-parser.c:739,1
    - Dst: DIM
      Src: /src/libksba/src/cms-parser.c:739,1
    - Dst: ksba_reader_read
      Src: /src/libksba/src/cms-parser.c:740,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:751,1
    - Dst: ksba_reader_tell
      Src: /src/libksba/src/cms-parser.c:759,1
    - Dst: xtrycalloc
      Src: /src/libksba/src/cms-parser.c:760,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:762,1
    - Dst: create_and_run_decoder
      Src: /src/libksba/src/cms-parser.c:764,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/cms-parser.c:770,1
    - Dst: xfree
      Src: /src/libksba/src/cms-parser.c:772,1
    - Dst: xfree
      Src: /src/libksba/src/cms-parser.c:778,1
    - Dst: ksba_reader_tell
      Src: /src/libksba/src/cms-parser.c:782,1
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/cms-parser.c:785,1
    - Dst: xfree
      Src: /src/libksba/src/cms-parser.c:786,1
    - Dst: xfree
      Src: /src/libksba/src/cms-parser.c:787,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 105
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 800
    functionName: _ksba_cms_parse_signed_data_part_2
    functionSourceFile: /src/libksba/src/cms-parser.c
    functionUses: 1
    functionsReached:
    - ksba_reader_unread
    - create_and_run_decoder
    - DIM
    - ksba_reader_read
    - gpg_error
    - ksba_cert_release
    - gpg_err_code
    - xfree
    - xtrycalloc
    - ksba_reader_tell
    - _ksba_asn_release_nodes
    - _ksba_ber_read_tl
    - ksba_cert_new
    - ksba_cert_read_der
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_cms_parse_signed_data_part_2 (ksba_cms_t cms)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: parse_cms_version
      Src: /src/libksba/src/cms-parser.c:866,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:873,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:880,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:892,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:902,1
    - Dst: ksba_reader_unread
      Src: /src/libksba/src/cms-parser.c:910,1
    - Dst: xtrycalloc
      Src: /src/libksba/src/cms-parser.c:914,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/cms-parser.c:916,1
    - Dst: create_and_run_decoder
      Src: /src/libksba/src/cms-parser.c:918,1
    - Dst: xfree
      Src: /src/libksba/src/cms-parser.c:925,1
    - Dst: ksba_reader_tell
      Src: /src/libksba/src/cms-parser.c:939,1
    - Dst: xtrycalloc
      Src: /src/libksba/src/cms-parser.c:940,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/cms-parser.c:942,1
    - Dst: create_and_run_decoder
      Src: /src/libksba/src/cms-parser.c:944,1
    - Dst: xfree
      Src: /src/libksba/src/cms-parser.c:951,1
    - Dst: ksba_reader_tell
      Src: /src/libksba/src/cms-parser.c:955,1
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/cms-parser.c:958,1
    - Dst: xfree
      Src: /src/libksba/src/cms-parser.c:959,1
    - Dst: xfree
      Src: /src/libksba/src/cms-parser.c:960,1
    - Dst: ksba_reader_tell
      Src: /src/libksba/src/cms-parser.c:974,1
    - Dst: parse_encrypted_content_info
      Src: /src/libksba/src/cms-parser.c:975,1
    - Dst: strcmp
      Src: /src/libksba/src/cms-parser.c:995,1
    - Dst: strcmp
      Src: /src/libksba/src/cms-parser.c:996,1
    - Dst: strcmp
      Src: /src/libksba/src/cms-parser.c:997,1
    - Dst: memmove
      Src: /src/libksba/src/cms-parser.c:1005,1
    - Dst: ksba_reader_tell
      Src: /src/libksba/src/cms-parser.c:1018,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:1020,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:1023,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 86
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 1027
    functionName: _ksba_cms_parse_enveloped_data_part_1
    functionSourceFile: /src/libksba/src/cms-parser.c
    functionUses: 1
    functionsReached:
    - ksba_reader_unread
    - memmove
    - create_and_run_decoder
    - gpg_error_from_syserror
    - parse_encrypted_content_info
    - parse_cms_version
    - strcmp
    - gpg_error
    - xfree
    - xtrycalloc
    - ksba_reader_tell
    - _ksba_asn_release_nodes
    - _ksba_ber_read_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_cms_parse_enveloped_data_part_1 (ksba_cms_t cms)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:1053,1
    - Dst: _ksba_ber_read_tl
      Src: /src/libksba/src/cms-parser.c:1057,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:1068,1
    - Dst: gpg_error
      Src: /src/libksba/src/cms-parser.c:1083,1
    - Dst: xfree
      Src: /src/libksba/src/cms-parser.c:1085,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cms-parser.c:1087,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/cms-parser.c:1089,1
    - Dst: read_buffer
      Src: /src/libksba/src/cms-parser.c:1091,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 1
    argNames:
    - cms
    argTypes:
    - ksba_cms_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1098
    functionName: _ksba_cms_parse_enveloped_data_part_2
    functionSourceFile: /src/libksba/src/cms-parser.c
    functionUses: 1
    functionsReached:
    - xtrymalloc
    - gpg_error_from_syserror
    - read_buffer
    - gpg_error
    - xfree
    - _ksba_ber_read_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_cms_parse_enveloped_data_part_2 (ksba_cms_t cms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libksba/src/ocsp.c:58,1
    - Dst: fprintf
      Src: /src/libksba/src/ocsp.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: dump_hex
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fputs
    linkageType: ''
    returnType: void
    signature: void dump_hex (const unsigned char *p, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/libksba/src/ocsp.c:74,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/ocsp.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r_ocsp
    argTypes:
    - ksba_ocsp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: ksba_ocsp_new
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 4
    functionsReached:
    - gpg_error_from_syserror
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_ocsp_new (ksba_ocsp_t *r_ocsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_release
      Src: /src/libksba/src/ocsp.c:87,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cl
    argTypes:
    - struct ocsp_certlist_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: release_ocsp_certlist
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 0
    functionsReached:
    - xfree
    - ksba_cert_release
    linkageType: ''
    returnType: void
    signature: void release_ocsp_certlist (struct ocsp_certlist_s *cl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - struct ocsp_extension_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: release_ocsp_extensions
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_ocsp_extensions (struct ocsp_extension_s *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:115,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:116,1
    - Dst: ksba_cert_release
      Src: /src/libksba/src/ocsp.c:120,1
    - Dst: ksba_cert_release
      Src: /src/libksba/src/ocsp.c:121,1
    - Dst: release_ocsp_extensions
      Src: /src/libksba/src/ocsp.c:122,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:123,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:125,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:126,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:127,1
    - Dst: release_ocsp_certlist
      Src: /src/libksba/src/ocsp.c:128,1
    - Dst: release_ocsp_extensions
      Src: /src/libksba/src/ocsp.c:129,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - ocsp
    argTypes:
    - ksba_ocsp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 131
    functionName: ksba_ocsp_release
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 4
    functionsReached:
    - release_ocsp_extensions
    - release_ocsp_certlist
    - xfree
    - ksba_cert_release
    linkageType: ''
    returnType: void
    signature: void ksba_ocsp_release (ksba_ocsp_t ocsp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:142,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:144,1
    - Dst: xtrystrdup
      Src: /src/libksba/src/ocsp.c:145,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/ocsp.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ocsp
    - oid
    argTypes:
    - ksba_ocsp_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: ksba_ocsp_set_digest_algo
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 1
    functionsReached:
    - xtrystrdup
    - gpg_error
    - xfree
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_ocsp_set_digest_algo (ksba_ocsp_t ocsp, const char
      *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ocsp
    - cert
    argTypes:
    - ksba_ocsp_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: ksba_ocsp_set_requestor
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 1
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_ocsp_set_requestor (ksba_ocsp_t ocsp, ksba_cert_t
      cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:172,1
    - Dst: xtrycalloc
      Src: /src/libksba/src/ocsp.c:174,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/ocsp.c:176,1
    - Dst: ksba_cert_ref
      Src: /src/libksba/src/ocsp.c:177,1
    - Dst: ksba_cert_ref
      Src: /src/libksba/src/ocsp.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ocsp
    - cert
    - issuer_cert
    argTypes:
    - ksba_ocsp_t
    - ksba_cert_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 186
    functionName: ksba_ocsp_add_target
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 4
    functionsReached:
    - gpg_error
    - ksba_cert_ref
    - gpg_error_from_syserror
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_ocsp_add_target (ksba_ocsp_t ocsp,\n                      ksba_cert_t
      cert, ksba_cert_t issuer_cert)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libksba/src/ocsp.c:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - ocsp
    - nonce
    - noncelen
    argTypes:
    - ksba_ocsp_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: ksba_ocsp_set_nonce
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t ksba_ocsp_set_nonce (ksba_ocsp_t ocsp, unsigned char *nonce,
      size_t noncelen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_subject_dn_ptr
      Src: /src/libksba/src/ocsp.c:237,1
    - Dst: _ksba_hash_buffer
      Src: /src/libksba/src/ocsp.c:240,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:243,1
    - Dst: _ksba_hash_buffer
      Src: /src/libksba/src/ocsp.c:247,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - cert
    - sha_buffer
    - use_sha256
    argTypes:
    - ksba_cert_t
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 252
    functionName: issuer_name_hash
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 0
    functionsReached:
    - _ksba_hash_buffer
    - gpg_error
    - _ksba_cert_get_subject_dn_ptr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t issuer_name_hash (ksba_cert_t cert, unsigned char *sha_buffer,
      int use_sha256)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_cert_get_public_key_ptr
      Src: /src/libksba/src/ocsp.c:264,1
    - Dst: _ksba_hash_buffer
      Src: /src/libksba/src/ocsp.c:267,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:270,1
    - Dst: _ksba_hash_buffer
      Src: /src/libksba/src/ocsp.c:274,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - cert
    - sha_buffer
    - use_sha256
    argTypes:
    - ksba_cert_t
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 279
    functionName: issuer_key_hash
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 0
    functionsReached:
    - _ksba_hash_buffer
    - gpg_error
    - _ksba_cert_get_public_key_ptr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t issuer_key_hash (ksba_cert_t cert, unsigned char *sha_buffer,
      int use_sha256)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ksba_writer_new
      Src: /src/libksba/src/ocsp.c:298,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/ocsp.c:300,1
    - Dst: ksba_writer_new
      Src: /src/libksba/src/ocsp.c:302,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/ocsp.c:304,1
    - Dst: ksba_oid_from_str
      Src: /src/libksba/src/ocsp.c:309,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/ocsp.c:312,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/ocsp.c:314,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:315,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/ocsp.c:319,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/ocsp.c:322,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/ocsp.c:325,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/ocsp.c:328,1
    - Dst: ksba_writer_error
      Src: /src/libksba/src/ocsp.c:331,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/ocsp.c:334,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/ocsp.c:336,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:337,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/ocsp.c:340,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/ocsp.c:343,1
    - Dst: ksba_writer_error
      Src: /src/libksba/src/ocsp.c:346,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/ocsp.c:349,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/ocsp.c:351,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:352,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/ocsp.c:355,1
    - Dst: ksba_writer_error
      Src: /src/libksba/src/ocsp.c:358,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/ocsp.c:361,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/ocsp.c:363,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:364,1
    - Dst: ksba_writer_release
      Src: /src/libksba/src/ocsp.c:368,1
    - Dst: ksba_writer_release
      Src: /src/libksba/src/ocsp.c:369,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 2
    argNames:
    - ocsp
    - wout
    argTypes:
    - ksba_ocsp_t
    - ksba_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 371
    functionName: write_request_extensions
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 0
    functionsReached:
    - ksba_writer_new
    - ksba_writer_snatch_mem
    - _ksba_ber_write_tl
    - ksba_oid_from_str
    - ksba_writer_release
    - xfree
    - ksba_writer_write
    - ksba_writer_error
    - ksba_writer_set_mem
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_request_extensions (ksba_ocsp_t ocsp, ksba_writer_t
      wout)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:396,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:398,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:405,1
    - Dst: ksba_writer_new
      Src: /src/libksba/src/ocsp.c:408,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/ocsp.c:410,1
    - Dst: ksba_writer_new
      Src: /src/libksba/src/ocsp.c:412,1
    - Dst: ksba_writer_new
      Src: /src/libksba/src/ocsp.c:414,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/ocsp.c:422,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/ocsp.c:424,1
    - Dst: _ksba_der_write_algorithm_identifier
      Src: /src/libksba/src/ocsp.c:429,1
    - Dst: issuer_name_hash
      Src: /src/libksba/src/ocsp.c:437,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/ocsp.c:440,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/ocsp.c:443,1
    - Dst: issuer_key_hash
      Src: /src/libksba/src/ocsp.c:448,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/ocsp.c:451,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/ocsp.c:454,1
    - Dst: _ksba_cert_get_serial_ptr
      Src: /src/libksba/src/ocsp.c:459,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/ocsp.c:461,1
    - Dst: parse_integer
      Src: /src/libksba/src/ocsp.c:469,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:472,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/ocsp.c:473,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/ocsp.c:476,1
    - Dst: memcpy
      Src: /src/libksba/src/ocsp.c:479,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/ocsp.c:484,1
    - Dst: ksba_writer_error
      Src: /src/libksba/src/ocsp.c:487,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/ocsp.c:490,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/ocsp.c:493,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:494,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/ocsp.c:501,1
    - Dst: ksba_writer_error
      Src: /src/libksba/src/ocsp.c:504,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/ocsp.c:507,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/ocsp.c:510,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:511,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/ocsp.c:520,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/ocsp.c:522,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/ocsp.c:527,1
    - Dst: ksba_writer_error
      Src: /src/libksba/src/ocsp.c:530,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/ocsp.c:533,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/ocsp.c:536,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:537,1
    - Dst: write_request_extensions
      Src: /src/libksba/src/ocsp.c:542,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/ocsp.c:551,1
    - Dst: ksba_writer_error
      Src: /src/libksba/src/ocsp.c:554,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/ocsp.c:557,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/ocsp.c:560,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:561,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/ocsp.c:568,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/ocsp.c:570,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/ocsp.c:575,1
    - Dst: ksba_writer_error
      Src: /src/libksba/src/ocsp.c:578,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/ocsp.c:581,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/ocsp.c:584,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:585,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/ocsp.c:611,1
    - Dst: ksba_writer_error
      Src: /src/libksba/src/ocsp.c:614,1
    - Dst: ksba_writer_release
      Src: /src/libksba/src/ocsp.c:622,1
    - Dst: ksba_writer_release
      Src: /src/libksba/src/ocsp.c:623,1
    - Dst: ksba_writer_release
      Src: /src/libksba/src/ocsp.c:624,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 168
    argCount: 1
    argNames:
    - ocsp
    argTypes:
    - ksba_ocsp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 626
    functionName: ksba_ocsp_prepare_request
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 1
    functionsReached:
    - ksba_writer_new
    - issuer_name_hash
    - _ksba_der_write_algorithm_identifier
    - ksba_writer_snatch_mem
    - gpg_error_from_syserror
    - _ksba_cert_get_serial_ptr
    - parse_integer
    - _ksba_ber_write_tl
    - write_request_extensions
    - ksba_writer_release
    - gpg_error
    - xfree
    - memcpy
    - ksba_writer_write
    - issuer_key_hash
    - ksba_writer_error
    - xtrymalloc
    - ksba_writer_set_mem
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_ocsp_prepare_request (ksba_ocsp_t ocsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ocsp
    - hasher_arg
    argTypes:
    - ksba_ocsp_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 639
    functionName: ksba_ocsp_hash_request
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 1
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_ocsp_hash_request (ksba_ocsp_t ocsp,\n                        void
      (*hasher)(void *, const void *,\n                                       size_t
      length),\n                        void *hasher_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ocsp
    - sigval
    argTypes:
    - ksba_ocsp_t
    - ksba_const_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 649
    functionName: ksba_ocsp_set_sig_val
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 1
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_ocsp_set_sig_val (ksba_ocsp_t ocsp,\n                       ksba_const_sexp_t
      sigval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ocsp
    - cert
    argTypes:
    - ksba_ocsp_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 658
    functionName: ksba_ocsp_add_cert
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 1
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_ocsp_add_cert (ksba_ocsp_t ocsp, ksba_cert_t cert)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:673,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:678,1
    - Dst: ksba_ocsp_prepare_request
      Src: /src/libksba/src/ocsp.c:682,1
    - Dst: assert
      Src: /src/libksba/src/ocsp.c:685,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ocsp
    - r_buffer
    - r_buflen
    argTypes:
    - ksba_ocsp_t
    - unsigned char**
    - size_t*
    assertStmts:
    - condition: (ocsp->request_buffer)
      pos:
        line_end: 684
        line_start: 684
        source_file: /src/libksba/src/ocsp.c
    constantsTouched: []
    func_position:
      end: 692
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 692
    functionName: ksba_ocsp_build_request
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 4
    functionsReached:
    - gpg_error
    - ksba_ocsp_prepare_request
    - assert
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_ocsp_build_request (ksba_ocsp_t ocsp,\n                         unsigned
      char **r_buffer, size_t *r_buflen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libksba/src/ocsp.c:721,1
    - Dst: parse_sequence
      Src: /src/libksba/src/ocsp.c:722,1
    - Dst: parse_sequence
      Src: /src/libksba/src/ocsp.c:731,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:736,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:741,1
    - Dst: parse_object_id_into_str
      Src: /src/libksba/src/ocsp.c:742,1
    - Dst: parse_optional_boolean
      Src: /src/libksba/src/ocsp.c:746,1
    - Dst: parse_octet_string
      Src: /src/libksba/src/ocsp.c:749,1
    - Dst: strcmp
      Src: /src/libksba/src/ocsp.c:752,1
    - Dst: parse_octet_string
      Src: /src/libksba/src/ocsp.c:754,1
    - Dst: memcmp
      Src: /src/libksba/src/ocsp.c:758,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:764,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/ocsp.c:767,1
    - Dst: strlen
      Src: /src/libksba/src/ocsp.c:767,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/ocsp.c:770,1
    - Dst: strcpy
      Src: /src/libksba/src/ocsp.c:774,1
    - Dst: strlen
      Src: /src/libksba/src/ocsp.c:775,1
    - Dst: strlen
      Src: /src/libksba/src/ocsp.c:776,1
    - Dst: memcpy
      Src: /src/libksba/src/ocsp.c:778,1
    - Dst: parse_skip
      Src: /src/libksba/src/ocsp.c:782,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:786,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 3
    argNames:
    - ocsp
    - data
    - datalen
    argTypes:
    - ksba_ocsp_t
    - unsigned char*
    - size_t
    assertStmts:
    - condition: (!ocsp->response_extensions)
      pos:
        line_end: 720
        line_start: 720
        source_file: /src/libksba/src/ocsp.c
    constantsTouched: []
    func_position:
      end: 788
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 788
    functionName: parse_response_extensions
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 0
    functionsReached:
    - parse_optional_boolean
    - assert
    - parse_octet_string
    - strlen
    - gpg_error_from_syserror
    - strcmp
    - gpg_error
    - memcmp
    - xfree
    - strcpy
    - memcpy
    - parse_skip
    - parse_sequence
    - parse_object_id_into_str
    - xtrymalloc
    linkageType: ''
    returnType: int
    signature: "int parse_response_extensions (ksba_ocsp_t ocsp,\n                          const
      unsigned char *data, size_t datalen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libksba/src/ocsp.c:803,1
    - Dst: parse_sequence
      Src: /src/libksba/src/ocsp.c:804,1
    - Dst: parse_sequence
      Src: /src/libksba/src/ocsp.c:813,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:818,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:823,1
    - Dst: parse_object_id_into_str
      Src: /src/libksba/src/ocsp.c:824,1
    - Dst: parse_optional_boolean
      Src: /src/libksba/src/ocsp.c:828,1
    - Dst: parse_octet_string
      Src: /src/libksba/src/ocsp.c:831,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:837,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/ocsp.c:840,1
    - Dst: strlen
      Src: /src/libksba/src/ocsp.c:840,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/ocsp.c:843,1
    - Dst: strcpy
      Src: /src/libksba/src/ocsp.c:847,1
    - Dst: strlen
      Src: /src/libksba/src/ocsp.c:848,1
    - Dst: strlen
      Src: /src/libksba/src/ocsp.c:849,1
    - Dst: memcpy
      Src: /src/libksba/src/ocsp.c:851,1
    - Dst: parse_skip
      Src: /src/libksba/src/ocsp.c:855,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:859,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 3
    argNames:
    - ri
    - data
    - datalen
    argTypes:
    - struct ocsp_reqitem_s*
    - unsigned char*
    - size_t
    assertStmts:
    - condition: (ri && !ri->single_extensions)
      pos:
        line_end: 802
        line_start: 802
        source_file: /src/libksba/src/ocsp.c
    constantsTouched: []
    func_position:
      end: 861
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 861
    functionName: parse_single_extensions
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 0
    functionsReached:
    - parse_optional_boolean
    - assert
    - parse_octet_string
    - strlen
    - gpg_error_from_syserror
    - gpg_error
    - parse_skip
    - xfree
    - strcpy
    - memcpy
    - parse_sequence
    - parse_object_id_into_str
    - xtrymalloc
    linkageType: ''
    returnType: int
    signature: "int parse_single_extensions (struct ocsp_reqitem_s *ri,\n                         const
      unsigned char *data, size_t datalen)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: parse_sequence
      Src: /src/libksba/src/ocsp.c:901,1
    - Dst: parse_enumerated
      Src: /src/libksba/src/ocsp.c:905,1
    - Dst: parse_skip
      Src: /src/libksba/src/ocsp.c:918,1
    - Dst: parse_context_tag
      Src: /src/libksba/src/ocsp.c:925,1
    - Dst: parse_sequence
      Src: /src/libksba/src/ocsp.c:928,1
    - Dst: parse_object_id_into_str
      Src: /src/libksba/src/ocsp.c:931,1
    - Dst: strcmp
      Src: /src/libksba/src/ocsp.c:934,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:936,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:937,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:939,1
    - Dst: parse_octet_string
      Src: /src/libksba/src/ocsp.c:942,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 4
    argNames:
    - ocsp
    - data
    - datalen
    - rlength
    argTypes:
    - ksba_ocsp_t
    - unsigned char**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 947
    functionName: parse_response_status
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 0
    functionsReached:
    - parse_enumerated
    - parse_octet_string
    - strcmp
    - parse_context_tag
    - parse_skip
    - gpg_error
    - xfree
    - parse_sequence
    - parse_object_id_into_str
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_response_status (ksba_ocsp_t ocsp,\n                       unsigned
      char const **data, size_t *datalen,\n                       size_t *rlength)"
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: parse_sequence
      Src: /src/libksba/src/ocsp.c:992,1
    - Dst: parse_sequence
      Src: /src/libksba/src/ocsp.c:1004,1
    - Dst: _ksba_parse_algorithm_identifier
      Src: /src/libksba/src/ocsp.c:1007,1
    - Dst: assert
      Src: /src/libksba/src/ocsp.c:1010,1
    - Dst: strcmp
      Src: /src/libksba/src/ocsp.c:1014,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:1015,1
    - Dst: parse_octet_string
      Src: /src/libksba/src/ocsp.c:1017,1
    - Dst: parse_skip
      Src: /src/libksba/src/ocsp.c:1033,1
    - Dst: parse_octet_string
      Src: /src/libksba/src/ocsp.c:1035,1
    - Dst: parse_skip
      Src: /src/libksba/src/ocsp.c:1044,1
    - Dst: parse_integer
      Src: /src/libksba/src/ocsp.c:1046,1
    - Dst: parse_skip
      Src: /src/libksba/src/ocsp.c:1054,1
    - Dst: memcmp
      Src: /src/libksba/src/ocsp.c:1060,1
    - Dst: memcmp
      Src: /src/libksba/src/ocsp.c:1061,1
    - Dst: memcmp
      Src: /src/libksba/src/ocsp.c:1063,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/ocsp.c:1075,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1079,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1090,1
    - Dst: parse_asntime_into_isotime
      Src: /src/libksba/src/ocsp.c:1099,1
    - Dst: parse_context_tag
      Src: /src/libksba/src/ocsp.c:1105,1
    - Dst: parse_enumerated
      Src: /src/libksba/src/ocsp.c:1113,1
    - Dst: parse_skip
      Src: /src/libksba/src/ocsp.c:1130,1
    - Dst: _ksba_copy_time
      Src: /src/libksba/src/ocsp.c:1136,1
    - Dst: parse_enumerated
      Src: /src/libksba/src/ocsp.c:1152,1
    - Dst: fprintf
      Src: /src/libksba/src/ocsp.c:1155,1
    - Dst: parse_skip
      Src: /src/libksba/src/ocsp.c:1158,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1164,1
    - Dst: parse_asntime_into_isotime
      Src: /src/libksba/src/ocsp.c:1167,1
    - Dst: _ksba_copy_time
      Src: /src/libksba/src/ocsp.c:1171,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/ocsp.c:1177,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1181,1
    - Dst: parse_asntime_into_isotime
      Src: /src/libksba/src/ocsp.c:1184,1
    - Dst: _ksba_copy_time
      Src: /src/libksba/src/ocsp.c:1188,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1196,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/ocsp.c:1201,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1205,1
    - Dst: parse_single_extensions
      Src: /src/libksba/src/ocsp.c:1210,1
    - Dst: parse_skip
      Src: /src/libksba/src/ocsp.c:1214,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1217,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 179
    argCount: 3
    argNames:
    - ocsp
    - data
    - datalen
    argTypes:
    - ksba_ocsp_t
    - unsigned char**
    - size_t*
    assertStmts:
    - condition: (n <= *datalen)
      pos:
        line_end: 1009
        line_start: 1009
        source_file: /src/libksba/src/ocsp.c
    constantsTouched: []
    func_position:
      end: 1220
      start: 971
    functionDepth: 2
    functionLinenumber: 971
    functionLinenumberEnd: 1220
    functionName: parse_single_response
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 0
    functionsReached:
    - _ksba_ber_parse_tl
    - parse_enumerated
    - assert
    - parse_octet_string
    - parse_asntime_into_isotime
    - parse_single_extensions
    - parse_integer
    - strcmp
    - parse_context_tag
    - parse_skip
    - memcmp
    - xfree
    - gpg_error
    - fprintf
    - _ksba_parse_algorithm_identifier
    - parse_sequence
    - _ksba_copy_time
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_single_response (ksba_ocsp_t ocsp,\n                       unsigned
      char const **data, size_t *datalen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: parse_sequence
      Src: /src/libksba/src/ocsp.c:1248,1
    - Dst: parse_context_tag
      Src: /src/libksba/src/ocsp.c:1255,1
    - Dst: parse_skip
      Src: /src/libksba/src/ocsp.c:1264,1
    - Dst: assert
      Src: /src/libksba/src/ocsp.c:1268,1
    - Dst: assert
      Src: /src/libksba/src/ocsp.c:1269,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/ocsp.c:1270,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1274,1
    - Dst: _ksba_derdn_to_str
      Src: /src/libksba/src/ocsp.c:1277,1
    - Dst: parse_skip
      Src: /src/libksba/src/ocsp.c:1280,1
    - Dst: parse_octet_string
      Src: /src/libksba/src/ocsp.c:1284,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1288,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/ocsp.c:1289,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/ocsp.c:1291,1
    - Dst: memcpy
      Src: /src/libksba/src/ocsp.c:1292,1
    - Dst: parse_skip
      Src: /src/libksba/src/ocsp.c:1294,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1297,1
    - Dst: parse_asntime_into_isotime
      Src: /src/libksba/src/ocsp.c:1300,1
    - Dst: parse_sequence
      Src: /src/libksba/src/ocsp.c:1305,1
    - Dst: parse_single_response
      Src: /src/libksba/src/ocsp.c:1312,1
    - Dst: assert
      Src: /src/libksba/src/ocsp.c:1315,1
    - Dst: parse_context_tag
      Src: /src/libksba/src/ocsp.c:1322,1
    - Dst: parse_response_extensions
      Src: /src/libksba/src/ocsp.c:1325,1
    - Dst: parse_skip
      Src: /src/libksba/src/ocsp.c:1328,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/ocsp.c:1330,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 70
    argCount: 3
    argNames:
    - ocsp
    - data
    - datalen
    argTypes:
    - ksba_ocsp_t
    - unsigned char**
    - size_t*
    assertStmts:
    - condition: (!ocsp->responder_id.name)
      pos:
        line_end: 1267
        line_start: 1267
        source_file: /src/libksba/src/ocsp.c
    - condition: (!ocsp->responder_id.keyid)
      pos:
        line_end: 1268
        line_start: 1268
        source_file: /src/libksba/src/ocsp.c
    - condition: (responses_length >= savedatalen - *datalen)
      pos:
        line_end: 1314
        line_start: 1314
        source_file: /src/libksba/src/ocsp.c
    constantsTouched: []
    func_position:
      end: 1339
      start: 1237
    functionDepth: 3
    functionLinenumber: 1237
    functionLinenumberEnd: 1339
    functionName: parse_response_data
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 0
    functionsReached:
    - _ksba_ber_parse_tl
    - assert
    - parse_octet_string
    - gpg_error_from_syserror
    - parse_asntime_into_isotime
    - _ksba_derdn_to_str
    - parse_single_response
    - parse_context_tag
    - parse_skip
    - gpg_error
    - gpg_err_code
    - memcpy
    - parse_sequence
    - xtrymalloc
    - parse_response_extensions
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_response_data (ksba_ocsp_t ocsp,\n                     unsigned
      char const **data, size_t *datalen)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: parse_response_status
      Src: /src/libksba/src/ocsp.c:1356,1
    - Dst: parse_sequence
      Src: /src/libksba/src/ocsp.c:1376,1
    - Dst: parse_response_data
      Src: /src/libksba/src/ocsp.c:1382,1
    - Dst: parse_sequence
      Src: /src/libksba/src/ocsp.c:1392,1
    - Dst: parse_skip
      Src: /src/libksba/src/ocsp.c:1395,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/ocsp.c:1396,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1401,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1403,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1405,1
    - Dst: parse_skip
      Src: /src/libksba/src/ocsp.c:1410,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:1412,1
    - Dst: _ksba_sigval_to_sexp
      Src: /src/libksba/src/ocsp.c:1413,1
    - Dst: parse_context_tag
      Src: /src/libksba/src/ocsp.c:1420,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/ocsp.c:1421,1
    - Dst: parse_sequence
      Src: /src/libksba/src/ocsp.c:1425,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1429,1
    - Dst: assert
      Src: /src/libksba/src/ocsp.c:1435,1
    - Dst: parse_sequence
      Src: /src/libksba/src/ocsp.c:1442,1
    - Dst: ksba_cert_new
      Src: /src/libksba/src/ocsp.c:1445,1
    - Dst: ksba_cert_init_from_mem
      Src: /src/libksba/src/ocsp.c:1448,1
    - Dst: ksba_cert_release
      Src: /src/libksba/src/ocsp.c:1452,1
    - Dst: parse_skip
      Src: /src/libksba/src/ocsp.c:1455,1
    - Dst: xtrycalloc
      Src: /src/libksba/src/ocsp.c:1456,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/ocsp.c:1459,1
    - Dst: ksba_cert_release
      Src: /src/libksba/src/ocsp.c:1460,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 83
    argCount: 3
    argNames:
    - ocsp
    - msg
    - msglen
    argTypes:
    - ksba_ocsp_t
    - unsigned char*
    - size_t
    assertStmts:
    - condition: (!ocsp->received_certs)
      pos:
        line_end: 1434
        line_start: 1434
        source_file: /src/libksba/src/ocsp.c
    constantsTouched: []
    func_position:
      end: 1472
      start: 1344
    functionDepth: 4
    functionLinenumber: 1344
    functionLinenumberEnd: 1472
    functionName: parse_response
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 4
    functionsReached:
    - _ksba_ber_parse_tl
    - ksba_cert_init_from_mem
    - assert
    - gpg_error_from_syserror
    - parse_response_status
    - parse_response_data
    - parse_context_tag
    - parse_skip
    - gpg_error
    - xfree
    - gpg_err_code
    - ksba_cert_release
    - xtrycalloc
    - parse_sequence
    - ksba_cert_new
    - _ksba_sigval_to_sexp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t parse_response (ksba_ocsp_t ocsp, const unsigned char *msg,
      size_t msglen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1489,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1492,1
    - Dst: release_ocsp_certlist
      Src: /src/libksba/src/ocsp.c:1498,1
    - Dst: release_ocsp_extensions
      Src: /src/libksba/src/ocsp.c:1499,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:1503,1
    - Dst: xfree
      Src: /src/libksba/src/ocsp.c:1505,1
    - Dst: release_ocsp_extensions
      Src: /src/libksba/src/ocsp.c:1514,1
    - Dst: parse_response
      Src: /src/libksba/src/ocsp.c:1518,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - ocsp
    - msg
    - msglen
    - response_status
    argTypes:
    - ksba_ocsp_t
    - unsigned char*
    - size_t
    - ksba_ocsp_response_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1480
    functionDepth: 1
    functionLinenumber: 1480
    functionLinenumberEnd: 1532
    functionName: ksba_ocsp_parse_response
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 3
    functionsReached:
    - parse_response
    - release_ocsp_certlist
    - release_ocsp_extensions
    - gpg_error
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_ocsp_parse_response (ksba_ocsp_t ocsp,\n                          const
      unsigned char *msg, size_t msglen,\n                          ksba_ocsp_response_status_t
      *response_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ocsp
    argTypes:
    - ksba_ocsp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1543
    functionName: ksba_ocsp_get_digest_algo
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_ocsp_get_digest_algo (ksba_ocsp_t ocsp)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1561,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1563,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1565,1
    - Dst: hasher
      Src: /src/libksba/src/ocsp.c:1567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - ocsp
    - msg
    - msglen
    - hasher_arg
    argTypes:
    - ksba_ocsp_t
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1553
    functionDepth: 1
    functionLinenumber: 1553
    functionLinenumberEnd: 1569
    functionName: ksba_ocsp_hash_response
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 2
    functionsReached:
    - gpg_error
    - hasher
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_ocsp_hash_response (ksba_ocsp_t ocsp,\n                         const
      unsigned char *msg, size_t msglen,\n                         void (*hasher)(void
      *, const void *, size_t length),\n                         void *hasher_arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_copy_time
      Src: /src/libksba/src/ocsp.c:1589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ocsp
    - produced_at
    argTypes:
    - ksba_ocsp_t
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1594
    functionName: ksba_ocsp_get_sig_val
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 3
    functionsReached:
    - _ksba_copy_time
    linkageType: ''
    returnType: ksba_sexp_t
    signature: ksba_sexp_t ksba_ocsp_get_sig_val (ksba_ocsp_t ocsp, ksba_isotime_t
      produced_at)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1613,1
    - Dst: xtrystrdup
      Src: /src/libksba/src/ocsp.c:1617,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/ocsp.c:1619,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1627,1
    - Dst: sprintf
      Src: /src/libksba/src/ocsp.c:1628,1
    - Dst: strlen
      Src: /src/libksba/src/ocsp.c:1629,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/ocsp.c:1630,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/ocsp.c:1632,1
    - Dst: strcpy
      Src: /src/libksba/src/ocsp.c:1633,1
    - Dst: memcpy
      Src: /src/libksba/src/ocsp.c:1634,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1640,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - ocsp
    - r_name
    - r_keyid
    argTypes:
    - ksba_ocsp_t
    - char**
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1603
    functionDepth: 1
    functionLinenumber: 1603
    functionLinenumberEnd: 1643
    functionName: ksba_ocsp_get_responder_id
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 4
    functionsReached:
    - strlen
    - gpg_error_from_syserror
    - sprintf
    - xtrystrdup
    - gpg_error
    - strcpy
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_ocsp_get_responder_id (ksba_ocsp_t ocsp,\n                            char
      **r_name, ksba_sexp_t *r_keyid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_ref
      Src: /src/libksba/src/ocsp.c:1663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ocsp
    - idx
    argTypes:
    - ksba_ocsp_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1665
    functionName: ksba_ocsp_get_cert
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 3
    functionsReached:
    - ksba_cert_ref
    linkageType: ''
    returnType: ksba_cert_t
    signature: ksba_cert_t ksba_ocsp_get_cert (ksba_ocsp_t ocsp, int idx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1694,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1696,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1707,1
    - Dst: _ksba_copy_time
      Src: /src/libksba/src/ocsp.c:1711,1
    - Dst: _ksba_copy_time
      Src: /src/libksba/src/ocsp.c:1713,1
    - Dst: _ksba_copy_time
      Src: /src/libksba/src/ocsp.c:1715,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 7
    argNames:
    - ocsp
    - cert
    - r_status
    - r_this_update
    - r_next_update
    - r_revocation_time
    - r_reason
    argTypes:
    - ksba_ocsp_t
    - ksba_cert_t
    - ksba_status_t*
    - ksba_isotime_t
    - ksba_isotime_t
    - ksba_isotime_t
    - ksba_crl_reason_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1683
    functionDepth: 1
    functionLinenumber: 1683
    functionLinenumberEnd: 1719
    functionName: ksba_ocsp_get_status
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 3
    functionsReached:
    - gpg_error
    - _ksba_copy_time
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_ocsp_get_status (ksba_ocsp_t ocsp, ksba_cert_t cert,\n
      \                     ksba_status_t *r_status,\n                      ksba_isotime_t
      r_this_update,\n                      ksba_isotime_t r_next_update,\n                      ksba_isotime_t
      r_revocation_time,\n                      ksba_crl_reason_t *r_reason)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1732,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1734,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1736,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1747,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1752,1
    - Dst: gpg_error
      Src: /src/libksba/src/ocsp.c:1760,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 7
    argNames:
    - ocsp
    - cert
    - idx
    - r_oid
    - r_crit
    - r_der
    - r_derlen
    argTypes:
    - ksba_ocsp_t
    - ksba_cert_t
    - int
    - char**
    - int*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1724
    functionDepth: 1
    functionLinenumber: 1724
    functionLinenumberEnd: 1773
    functionName: ksba_ocsp_get_extension
    functionSourceFile: /src/libksba/src/ocsp.c
    functionUses: 2
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_ocsp_get_extension (ksba_ocsp_t ocsp, ksba_cert_t
      cert, int idx,\n                         char const **r_oid, int *r_crit,\n
      \                        unsigned char const **r_der, size_t *r_derlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libksba/src/dn.c:120,1
    - Dst: put_stringbuf_mem_skip
      Src: /src/libksba/src/dn.c:125,1
    - Dst: snprintf
      Src: /src/libksba/src/dn.c:132,1
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/dn.c:133,1
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/dn.c:139,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - sb
    - value
    - length
    - skip
    argTypes:
    - struct stringbuf*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 143
    functionName: append_quoted
    functionSourceFile: /src/libksba/src/dn.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strchr
    - put_stringbuf_mem_skip
    - put_stringbuf_mem
    linkageType: ''
    returnType: void
    signature: "void append_quoted (struct stringbuf *sb, const unsigned char *value,
      size_t length,\n               int skip)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/dn.c:160,1
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/dn.c:168,1
    - Dst: append_quoted
      Src: /src/libksba/src/dn.c:177,1
    - Dst: snprintf
      Src: /src/libksba/src/dn.c:198,1
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/dn.c:199,1
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/dn.c:212,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 3
    argNames:
    - value
    - length
    - sb
    argTypes:
    - unsigned char*
    - size_t
    - struct stringbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 215
    functionName: append_utf8_value
    functionSourceFile: /src/libksba/src/dn.c
    functionUses: 0
    functionsReached:
    - snprintf
    - put_stringbuf_mem
    - append_quoted
    linkageType: ''
    returnType: void
    signature: "void append_utf8_value (const unsigned char *value, size_t length,\n
      \                  struct stringbuf *sb)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/dn.c:231,1
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/dn.c:239,1
    - Dst: append_quoted
      Src: /src/libksba/src/dn.c:248,1
    - Dst: assert
      Src: /src/libksba/src/dn.c:251,1
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/dn.c:254,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - value
    - length
    - sb
    argTypes:
    - unsigned char*
    - size_t
    - struct stringbuf*
    assertStmts:
    - condition: ((*s & 0x80))
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/libksba/src/dn.c
    constantsTouched: []
    func_position:
      end: 257
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 257
    functionName: append_latin1_value
    functionSourceFile: /src/libksba/src/dn.c
    functionUses: 0
    functionsReached:
    - put_stringbuf_mem
    - append_quoted
    - assert
    linkageType: ''
    returnType: void
    signature: "void append_latin1_value (const unsigned char *value, size_t length,\n
      \                    struct stringbuf *sb)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/dn.c:276,1
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/dn.c:284,1
    - Dst: append_quoted
      Src: /src/libksba/src/dn.c:294,1
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/dn.c:300,1
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/dn.c:344,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 3
    argNames:
    - value
    - length
    - sb
    argTypes:
    - unsigned char*
    - size_t
    - struct stringbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 346
    functionName: append_ucs4_value
    functionSourceFile: /src/libksba/src/dn.c
    functionUses: 0
    functionsReached:
    - put_stringbuf_mem
    - append_quoted
    linkageType: ''
    returnType: void
    signature: "void append_ucs4_value (const unsigned char *value, size_t length,\n
      \                  struct stringbuf *sb)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/dn.c:364,1
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/dn.c:372,1
    - Dst: append_quoted
      Src: /src/libksba/src/dn.c:381,1
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/dn.c:387,1
    - Dst: put_stringbuf_mem
      Src: /src/libksba/src/dn.c:405,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - value
    - length
    - sb
    argTypes:
    - unsigned char*
    - size_t
    - struct stringbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 407
    functionName: append_ucs2_value
    functionSourceFile: /src/libksba/src/dn.c
    functionUses: 0
    functionsReached:
    - put_stringbuf_mem
    - append_quoted
    linkageType: ''
    returnType: void
    signature: "void append_ucs2_value (const unsigned char *value, size_t length,\n
      \                  struct stringbuf *sb)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:420,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:422,1
    - Dst: memcmp
      Src: /src/libksba/src/dn.c:429,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/dn.c:437,1
    - Dst: ksba_oid_to_str
      Src: /src/libksba/src/dn.c:444,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:446,1
    - Dst: strcmp
      Src: /src/libksba/src/dn.c:451,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/dn.c:458,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/dn.c:461,1
    - Dst: xfree
      Src: /src/libksba/src/dn.c:464,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/dn.c:466,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:469,1
    - Dst: append_utf8_value
      Src: /src/libksba/src/dn.c:474,1
    - Dst: append_latin1_value
      Src: /src/libksba/src/dn.c:480,1
    - Dst: append_ucs4_value
      Src: /src/libksba/src/dn.c:484,1
    - Dst: append_ucs2_value
      Src: /src/libksba/src/dn.c:488,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/dn.c:493,1
    - Dst: snprintf
      Src: /src/libksba/src/dn.c:497,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/dn.c:498,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 59
    argCount: 3
    argNames:
    - image
    - root
    - sb
    argTypes:
    - unsigned char*
    - AsnNode
    - struct stringbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 411
    functionDepth: 4
    functionLinenumber: 411
    functionLinenumberEnd: 504
    functionName: append_atv
    functionSourceFile: /src/libksba/src/dn.c
    functionUses: 0
    functionsReached:
    - append_utf8_value
    - snprintf
    - append_ucs2_value
    - append_latin1_value
    - ksba_oid_to_str
    - strcmp
    - gpg_error
    - memcmp
    - xfree
    - put_stringbuf
    - append_ucs4_value
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t append_atv (const unsigned char *image, AsnNode root, struct
      stringbuf *sb)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:518,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:529,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:533,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/dn.c:535,1
    - Dst: append_atv
      Src: /src/libksba/src/dn.c:536,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/dn.c:542,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - image
    - root
    - sb
    argTypes:
    - unsigned char*
    - AsnNode
    - struct stringbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 506
    functionDepth: 5
    functionLinenumber: 506
    functionLinenumberEnd: 547
    functionName: dn_to_str
    functionSourceFile: /src/libksba/src/dn.c
    functionUses: 4
    functionsReached:
    - gpg_error
    - append_atv
    - put_stringbuf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t dn_to_str (const unsigned char *image, AsnNode root, struct
      stringbuf *sb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:558,1
    - Dst: init_stringbuf
      Src: /src/libksba/src/dn.c:560,1
    - Dst: dn_to_str
      Src: /src/libksba/src/dn.c:561,1
    - Dst: get_stringbuf
      Src: /src/libksba/src/dn.c:564,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:566,1
    - Dst: deinit_stringbuf
      Src: /src/libksba/src/dn.c:568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - image
    - node
    - r_string
    argTypes:
    - unsigned char*
    - AsnNode
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 550
    functionDepth: 6
    functionLinenumber: 550
    functionLinenumberEnd: 571
    functionName: _ksba_dn_to_str
    functionSourceFile: /src/libksba/src/dn.c
    functionUses: 2
    functionsReached:
    - dn_to_str
    - init_stringbuf
    - get_stringbuf
    - gpg_error
    - deinit_stringbuf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_dn_to_str (const unsigned char *image, AsnNode node,
      char **r_string)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ksba_asn_create_tree
      Src: /src/libksba/src/dn.c:585,1
    - Dst: _ksba_ber_decoder_new
      Src: /src/libksba/src/dn.c:589,1
    - Dst: ksba_asn_tree_release
      Src: /src/libksba/src/dn.c:592,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:593,1
    - Dst: _ksba_ber_decoder_set_reader
      Src: /src/libksba/src/dn.c:596,1
    - Dst: ksba_asn_tree_release
      Src: /src/libksba/src/dn.c:599,1
    - Dst: _ksba_ber_decoder_release
      Src: /src/libksba/src/dn.c:600,1
    - Dst: _ksba_ber_decoder_set_module
      Src: /src/libksba/src/dn.c:604,1
    - Dst: ksba_asn_tree_release
      Src: /src/libksba/src/dn.c:607,1
    - Dst: _ksba_ber_decoder_release
      Src: /src/libksba/src/dn.c:608,1
    - Dst: _ksba_ber_decoder_decode
      Src: /src/libksba/src/dn.c:612,1
    - Dst: _ksba_ber_decoder_release
      Src: /src/libksba/src/dn.c:615,1
    - Dst: ksba_asn_tree_release
      Src: /src/libksba/src/dn.c:616,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 5
    argNames:
    - reader
    - elem_name
    - r_root
    - r_image
    - r_imagelen
    argTypes:
    - ksba_reader_t
    - char*
    - AsnNode*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 576
    functionDepth: 8
    functionLinenumber: 576
    functionLinenumberEnd: 618
    functionName: create_and_run_decoder
    functionSourceFile: /src/libksba/src/dn.c
    functionUses: 3
    functionsReached:
    - _ksba_ber_decoder_set_reader
    - _ksba_ber_decoder_decode
    - ksba_asn_tree_release
    - _ksba_ber_decoder_new
    - gpg_error
    - _ksba_ber_decoder_set_module
    - ksba_asn_create_tree
    - _ksba_ber_decoder_release
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t create_and_run_decoder (ksba_reader_t reader, const char
      *elem_name,\n                        AsnNode *r_root,\n                        unsigned
      char **r_image, size_t *r_imagelen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_new
      Src: /src/libksba/src/dn.c:630,1
    - Dst: ksba_reader_set_mem
      Src: /src/libksba/src/dn.c:633,1
    - Dst: ksba_reader_release
      Src: /src/libksba/src/dn.c:636,1
    - Dst: create_and_run_decoder
      Src: /src/libksba/src/dn.c:639,1
    - Dst: ksba_reader_release
      Src: /src/libksba/src/dn.c:642,1
    - Dst: _ksba_dn_to_str
      Src: /src/libksba/src/dn.c:645,1
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/dn.c:646,1
    - Dst: xfree
      Src: /src/libksba/src/dn.c:647,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - der
    - derlen
    - r_string
    argTypes:
    - unsigned char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 621
    functionDepth: 7
    functionLinenumber: 621
    functionLinenumberEnd: 650
    functionName: _ksba_derdn_to_str
    functionSourceFile: /src/libksba/src/dn.c
    functionUses: 2
    functionsReached:
    - ksba_reader_set_mem
    - ksba_reader_release
    - ksba_reader_new
    - _ksba_dn_to_str
    - xfree
    - _ksba_asn_release_nodes
    - create_and_run_decoder
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_derdn_to_str (const unsigned char *der, size_t derlen,
      char **r_string)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/libksba/src/dn.c:687,1
    - Dst: hexdigitp
      Src: /src/libksba/src/dn.c:687,1
    - Dst: xtoi_2
      Src: /src/libksba/src/dn.c:689,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 46
    argCount: 4
    argNames:
    - string
    - result
    - v2compat
    - stringtype
    argTypes:
    - char*
    - size_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 739
    functionName: count_quoted_string
    functionSourceFile: /src/libksba/src/dn.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - xtoi_2
    linkageType: ''
    returnType: char
    signature: "char *\ncount_quoted_string (const char *string, size_t *result,\n
      \                    int v2compat, int *stringtype)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/libksba/src/dn.c:756,1
    - Dst: hexdigitp
      Src: /src/libksba/src/dn.c:756,1
    - Dst: xtoi_2
      Src: /src/libksba/src/dn.c:758,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/dn.c:759,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/dn.c:767,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/dn.c:775,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - w
    - buffer
    - nbytes
    argTypes:
    - ksba_writer_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 783
    functionName: write_escaped
    functionSourceFile: /src/libksba/src/dn.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - xtoi_2
    - ksba_writer_write
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t write_escaped (ksba_writer_t w, const unsigned char *buffer,
      size_t nbytes)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:820,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:825,1
    - Dst: digitp
      Src: /src/libksba/src/dn.c:830,1
    - Dst: digitp
      Src: /src/libksba/src/dn.c:836,1
    - Dst: digitp
      Src: /src/libksba/src/dn.c:838,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:844,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/dn.c:848,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:850,1
    - Dst: memcpy
      Src: /src/libksba/src/dn.c:851,1
    - Dst: ksba_oid_from_str
      Src: /src/libksba/src/dn.c:853,1
    - Dst: xfree
      Src: /src/libksba/src/dn.c:854,1
    - Dst: digitp
      Src: /src/libksba/src/dn.c:863,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:869,1
    - Dst: strlen
      Src: /src/libksba/src/dn.c:873,1
    - Dst: ascii_memcasecmp
      Src: /src/libksba/src/dn.c:874,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:881,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:887,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:899,1
    - Dst: hexdigitp
      Src: /src/libksba/src/dn.c:909,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:915,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/dn.c:924,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:927,1
    - Dst: xtoi_2
      Src: /src/libksba/src/dn.c:932,1
    - Dst: xtoi_2
      Src: /src/libksba/src/dn.c:946,1
    - Dst: count_quoted_string
      Src: /src/libksba/src/dn.c:959,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:963,1
    - Dst: count_quoted_string
      Src: /src/libksba/src/dn.c:975,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:978,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:990,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:996,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:1003,1
    - Dst: _ksba_ber_count_tl
      Src: /src/libksba/src/dn.c:1012,1
    - Dst: _ksba_ber_count_tl
      Src: /src/libksba/src/dn.c:1014,1
    - Dst: _ksba_ber_count_tl
      Src: /src/libksba/src/dn.c:1018,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/dn.c:1020,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/dn.c:1024,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/dn.c:1027,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/dn.c:1030,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/dn.c:1038,1
    - Dst: write_escaped
      Src: /src/libksba/src/dn.c:1041,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/dn.c:1042,1
    - Dst: xfree
      Src: /src/libksba/src/dn.c:1046,1
    - Dst: xfree
      Src: /src/libksba/src/dn.c:1047,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 183
    argCount: 5
    argNames:
    - string
    - endp
    - writer
    - roff
    - rlen
    argTypes:
    - unsigned char*
    - char**
    - ksba_writer_t
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 1049
    functionName: parse_rdn
    functionSourceFile: /src/libksba/src/dn.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - ascii_memcasecmp
    - strlen
    - digitp
    - write_escaped
    - _ksba_ber_write_tl
    - ksba_oid_from_str
    - gpg_error
    - xfree
    - memcpy
    - ksba_writer_write
    - count_quoted_string
    - _ksba_ber_count_tl
    - xtrymalloc
    - xtoi_2
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_rdn (const unsigned char *string, const char **endp,\n
      \          ksba_writer_t writer, size_t *roff, size_t *rlen)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ksba_writer_new
      Src: /src/libksba/src/dn.c:1066,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/dn.c:1068,1
    - Dst: parse_rdn
      Src: /src/libksba/src/dn.c:1076,1
    - Dst: xtryrealloc
      Src: /src/libksba/src/dn.c:1084,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/dn.c:1086,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:1089,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:1099,1
    - Dst: parse_rdn
      Src: /src/libksba/src/dn.c:1105,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/dn.c:1111,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:1114,1
    - Dst: ksba_writer_set_mem
      Src: /src/libksba/src/dn.c:1118,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/dn.c:1123,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/dn.c:1128,1
    - Dst: ksba_writer_snatch_mem
      Src: /src/libksba/src/dn.c:1133,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:1136,1
    - Dst: xfree
      Src: /src/libksba/src/dn.c:1141,1
    - Dst: ksba_writer_release
      Src: /src/libksba/src/dn.c:1142,1
    - Dst: xfree
      Src: /src/libksba/src/dn.c:1143,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 3
    argNames:
    - string
    - rbuf
    - rlength
    argTypes:
    - char*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1053
    functionDepth: 2
    functionLinenumber: 1053
    functionLinenumberEnd: 1145
    functionName: _ksba_dn_from_str
    functionSourceFile: /src/libksba/src/dn.c
    functionUses: 2
    functionsReached:
    - parse_rdn
    - ksba_writer_new
    - ksba_writer_snatch_mem
    - _ksba_ber_write_tl
    - ksba_writer_release
    - xtryrealloc
    - gpg_error
    - xfree
    - ksba_writer_write
    - xtrymalloc
    - ksba_writer_set_mem
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_dn_from_str (const char *string, char **rbuf, size_t
      *rlength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_derdn_to_str
      Src: /src/libksba/src/dn.c:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - der
    - derlen
    - rstring
    argTypes:
    - void*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1149
    functionDepth: 8
    functionLinenumber: 1149
    functionLinenumberEnd: 1153
    functionName: ksba_dn_der2str
    functionSourceFile: /src/libksba/src/dn.c
    functionUses: 3
    functionsReached:
    - _ksba_derdn_to_str
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_dn_der2str (const void *der, size_t derlen, char **rstring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_dn_from_str
      Src: /src/libksba/src/dn.c:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - string
    - rder
    - rderlen
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1156
    functionDepth: 3
    functionLinenumber: 1156
    functionLinenumberEnd: 1160
    functionName: ksba_dn_str2der
    functionSourceFile: /src/libksba/src/dn.c
    functionUses: 5
    functionsReached:
    - _ksba_dn_from_str
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_dn_str2der (const char *string, unsigned char **rder,
      size_t *rderlen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parse_rdn
      Src: /src/libksba/src/dn.c:1192,1
    - Dst: strlen
      Src: /src/libksba/src/dn.c:1196,1
    - Dst: gpg_error
      Src: /src/libksba/src/dn.c:1202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - string
    - seq
    - rerroff
    - rerrlen
    argTypes:
    - char*
    - int
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1173
    functionDepth: 2
    functionLinenumber: 1173
    functionLinenumberEnd: 1204
    functionName: ksba_dn_teststr
    functionSourceFile: /src/libksba/src/dn.c
    functionUses: 6
    functionsReached:
    - parse_rdn
    - gpg_error
    - strlen
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_dn_teststr (const char *string, int seq,\n                 size_t
      *rerroff, size_t *rerrlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/libksba/src/time.c:60,1
    - Dst: gpg_error
      Src: /src/libksba/src/time.c:65,1
    - Dst: gpg_error
      Src: /src/libksba/src/time.c:68,1
    - Dst: atoi_2
      Src: /src/libksba/src/time.c:73,1
    - Dst: memcpy
      Src: /src/libksba/src/time.c:76,1
    - Dst: memcpy
      Src: /src/libksba/src/time.c:81,1
    - Dst: memcpy
      Src: /src/libksba/src/time.c:87,1
    - Dst: memcpy
      Src: /src/libksba/src/time.c:92,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - buffer
    - length
    - is_utctime
    - timebuf
    argTypes:
    - char*
    - size_t
    - int
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 97
    functionName: _ksba_asntime_to_iso
    functionSourceFile: /src/libksba/src/time.c
    functionUses: 3
    functionsReached:
    - digitp
    - atoi_2
    - gpg_error
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_asntime_to_iso (const char *buffer, size_t length,
      int is_utctime,\n                      ksba_isotime_t timebuf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/time.c:108,1
    - Dst: digitp
      Src: /src/libksba/src/time.c:111,1
    - Dst: gpg_error
      Src: /src/libksba/src/time.c:112,1
    - Dst: gpg_error
      Src: /src/libksba/src/time.c:114,1
    - Dst: digitp
      Src: /src/libksba/src/time.c:116,1
    - Dst: gpg_error
      Src: /src/libksba/src/time.c:117,1
    - Dst: gpg_error
      Src: /src/libksba/src/time.c:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - atime
    argTypes:
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 121
    functionName: _ksba_assert_time_format
    functionSourceFile: /src/libksba/src/time.c
    functionUses: 1
    functionsReached:
    - digitp
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_assert_time_format (const ksba_isotime_t atime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libksba/src/time.c:130,1
    - Dst: _ksba_assert_time_format
      Src: /src/libksba/src/time.c:131,1
    - Dst: fprintf
      Src: /src/libksba/src/time.c:133,1
    - Dst: abort
      Src: /src/libksba/src/time.c:134,1
    - Dst: strcpy
      Src: /src/libksba/src/time.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - ksba_isotime_t
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 138
    functionName: _ksba_copy_time
    functionSourceFile: /src/libksba/src/time.c
    functionUses: 7
    functionsReached:
    - _ksba_assert_time_format
    - abort
    - fprintf
    - strcpy
    - memset
    linkageType: ''
    returnType: void
    signature: void _ksba_copy_time (ksba_isotime_t d, const ksba_isotime_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libksba/src/time.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ksba_isotime_t
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: _ksba_cmp_time
    functionSourceFile: /src/libksba/src/time.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int _ksba_cmp_time (const ksba_isotime_t a, const ksba_isotime_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libksba/src/time.c:154,1
    - Dst: gmtime_r
      Src: /src/libksba/src/time.c:159,1
    - Dst: gmtime
      Src: /src/libksba/src/time.c:161,1
    - Dst: snprintf
      Src: /src/libksba/src/time.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - timebuf
    argTypes:
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 167
    functionName: _ksba_current_time
    functionSourceFile: /src/libksba/src/time.c
    functionUses: 1
    functionsReached:
    - gmtime_r
    - snprintf
    - time
    - gmtime
    linkageType: ''
    returnType: int
    signature: int _ksba_current_time (ksba_isotime_t timebuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_read
      Src: /src/libksba/src/ber-help.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - reader
    argTypes:
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: read_byte
    functionSourceFile: /src/libksba/src/ber-help.c
    functionUses: 5
    functionsReached:
    - ksba_reader_read
    linkageType: ''
    returnType: int
    signature: int read_byte (ksba_reader_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ti
    argTypes:
    - struct tag_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: premature_eof
    functionSourceFile: /src/libksba/src/ber-help.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: int
    signature: int premature_eof (struct tag_info *ti)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_error
      Src: /src/libksba/src/ber-help.c:75,1
    - Dst: premature_eof
      Src: /src/libksba/src/ber-help.c:82,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - reader
    - ti
    - premature
    argTypes:
    - ksba_reader_t
    - struct tag_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: eof_or_error
    functionSourceFile: /src/libksba/src/ber-help.c
    functionUses: 3
    functionsReached:
    - gpg_error
    - premature_eof
    - ksba_reader_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t eof_or_error (ksba_reader_t reader, struct tag_info *ti,
      int premature)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: read_byte
      Src: /src/libksba/src/ber-help.c:105,1
    - Dst: eof_or_error
      Src: /src/libksba/src/ber-help.c:107,1
    - Dst: read_byte
      Src: /src/libksba/src/ber-help.c:122,1
    - Dst: eof_or_error
      Src: /src/libksba/src/ber-help.c:124,1
    - Dst: DIM
      Src: /src/libksba/src/ber-help.c:125,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:128,1
    - Dst: read_byte
      Src: /src/libksba/src/ber-help.c:138,1
    - Dst: eof_or_error
      Src: /src/libksba/src/ber-help.c:140,1
    - Dst: DIM
      Src: /src/libksba/src/ber-help.c:141,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:144,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:158,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:166,1
    - Dst: read_byte
      Src: /src/libksba/src/ber-help.c:171,1
    - Dst: eof_or_error
      Src: /src/libksba/src/ber-help.c:173,1
    - Dst: DIM
      Src: /src/libksba/src/ber-help.c:174,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:177,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:188,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 2
    argNames:
    - reader
    - ti
    argTypes:
    - ksba_reader_t
    - struct tag_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 196
    functionName: _ksba_ber_read_tl
    functionSourceFile: /src/libksba/src/ber-help.c
    functionUses: 14
    functionsReached:
    - gpg_error
    - DIM
    - read_byte
    - eof_or_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_ber_read_tl (ksba_reader_t reader, struct tag_info
      *ti)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: premature_eof
      Src: /src/libksba/src/ber-help.c:222,1
    - Dst: premature_eof
      Src: /src/libksba/src/ber-help.c:239,1
    - Dst: DIM
      Src: /src/libksba/src/ber-help.c:241,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:244,1
    - Dst: premature_eof
      Src: /src/libksba/src/ber-help.c:255,1
    - Dst: DIM
      Src: /src/libksba/src/ber-help.c:257,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:260,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:274,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:282,1
    - Dst: premature_eof
      Src: /src/libksba/src/ber-help.c:288,1
    - Dst: DIM
      Src: /src/libksba/src/ber-help.c:290,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:293,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:302,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 74
    argCount: 3
    argNames:
    - buffer
    - size
    - ti
    argTypes:
    - unsigned char**
    - size_t*
    - struct tag_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 314
    functionName: _ksba_ber_parse_tl
    functionSourceFile: /src/libksba/src/ber-help.c
    functionUses: 7
    functionsReached:
    - gpg_error
    - DIM
    - premature_eof
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_ber_parse_tl (unsigned char const **buffer, size_t
      *size,\n                    struct tag_info *ti)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:340,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/ber-help.c:371,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 5
    argNames:
    - writer
    - tag
    - class
    - constructed
    - length
    argTypes:
    - ksba_writer_t
    - unsigned long
    - enum tag_class
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 372
    functionName: _ksba_ber_write_tl
    functionSourceFile: /src/libksba/src/ber-help.c
    functionUses: 14
    functionsReached:
    - gpg_error
    - ksba_writer_write
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_ber_write_tl (ksba_writer_t writer,\n                    unsigned
      long tag,\n                    enum tag_class class,\n                    int
      constructed,\n                    unsigned long length)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 5
    argNames:
    - buffer
    - tag
    - class
    - constructed
    - length
    argTypes:
    - unsigned char*
    - unsigned long
    - enum tag_class
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 431
    functionName: _ksba_ber_encode_tl
    functionSourceFile: /src/libksba/src/ber-help.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t _ksba_ber_encode_tl (unsigned char *buffer,\n                     unsigned
      long tag,\n                     enum tag_class class,\n                     int
      constructed,\n                     unsigned long length)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - tag
    - class
    - constructed
    - length
    argTypes:
    - unsigned long
    - enum tag_class
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 488
    functionName: _ksba_ber_count_tl
    functionSourceFile: /src/libksba/src/ber-help.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t _ksba_ber_count_tl (unsigned long tag,\n                    enum
      tag_class class,\n                    int constructed,\n                    unsigned
      long length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/ber-help.c:497,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:502,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - len
    - ti
    argTypes:
    - unsigned char**
    - size_t*
    - struct tag_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 491
    functionDepth: 3
    functionLinenumber: 491
    functionLinenumberEnd: 506
    functionName: _ksba_parse_sequence
    functionSourceFile: /src/libksba/src/ber-help.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - _ksba_ber_parse_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_parse_sequence (unsigned char const **buf, size_t
      *len,\n                      struct tag_info *ti)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/ber-help.c:518,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:522,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:524,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:526,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - buf
    - len
    - ti
    - tag
    argTypes:
    - unsigned char**
    - size_t*
    - struct tag_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 512
    functionDepth: 3
    functionLinenumber: 512
    functionLinenumberEnd: 529
    functionName: _ksba_parse_context_tag
    functionSourceFile: /src/libksba/src/ber-help.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - _ksba_ber_parse_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_parse_context_tag (unsigned char const **buf, size_t
      *len,\n                         struct tag_info *ti, int tag)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/ber-help.c:538,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:543,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:545,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:547,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:549,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - buf
    - len
    - ti
    - maxlen
    argTypes:
    - unsigned char**
    - size_t*
    - struct tag_info*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 532
    functionDepth: 3
    functionLinenumber: 532
    functionLinenumberEnd: 552
    functionName: _ksba_parse_enumerated
    functionSourceFile: /src/libksba/src/ber-help.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - _ksba_ber_parse_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_parse_enumerated (unsigned char const **buf, size_t
      *len,\n                        struct tag_info *ti, size_t maxlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/ber-help.c:561,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:566,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:568,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:570,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - len
    - ti
    argTypes:
    - unsigned char**
    - size_t*
    - struct tag_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 573
    functionName: _ksba_parse_integer
    functionSourceFile: /src/libksba/src/ber-help.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - _ksba_ber_parse_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_parse_integer (unsigned char const **buf, size_t
      *len,\n                     struct tag_info *ti)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/ber-help.c:582,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:587,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:589,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:591,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - len
    - ti
    argTypes:
    - unsigned char**
    - size_t*
    - struct tag_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 576
    functionDepth: 3
    functionLinenumber: 576
    functionLinenumberEnd: 594
    functionName: _ksba_parse_octet_string
    functionSourceFile: /src/libksba/src/ber-help.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - _ksba_ber_parse_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_parse_octet_string (unsigned char const **buf, size_t
      *len,\n                          struct tag_info *ti)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/ber-help.c:608,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:612,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:614,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:619,1
    - Dst: parse_skip
      Src: /src/libksba/src/ber-help.c:621,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - len
    - r_bool
    argTypes:
    - unsigned char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 601
    functionDepth: 3
    functionLinenumber: 601
    functionLinenumberEnd: 630
    functionName: _ksba_parse_optional_boolean
    functionSourceFile: /src/libksba/src/ber-help.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - _ksba_ber_parse_tl
    - parse_skip
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_parse_optional_boolean (unsigned char const **buf,
      size_t *len,\n                              int *r_bool)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/ber-help.c:644,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:648,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:653,1
    - Dst: parse_skip
      Src: /src/libksba/src/ber-help.c:656,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - len
    - r_seen
    argTypes:
    - unsigned char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 635
    functionDepth: 3
    functionLinenumber: 635
    functionLinenumberEnd: 665
    functionName: _ksba_parse_optional_null
    functionSourceFile: /src/libksba/src/ber-help.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - _ksba_ber_parse_tl
    - parse_skip
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_parse_optional_null (unsigned char const **buf,
      size_t *len,\n                           int *r_seen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/ber-help.c:677,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:682,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:684,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:686,1
    - Dst: ksba_oid_to_str
      Src: /src/libksba/src/ber-help.c:687,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/ber-help.c:688,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - len
    - oid
    argTypes:
    - unsigned char**
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 669
    functionDepth: 3
    functionLinenumber: 669
    functionLinenumberEnd: 695
    functionName: _ksba_parse_object_id_into_str
    functionSourceFile: /src/libksba/src/ber-help.c
    functionUses: 0
    functionsReached:
    - ksba_oid_to_str
    - gpg_error
    - _ksba_ber_parse_tl
    - gpg_error_from_syserror
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_parse_object_id_into_str (unsigned char const **buf,
      size_t *len,\n                                char **oid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/ber-help.c:705,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:711,1
    - Dst: gpg_error
      Src: /src/libksba/src/ber-help.c:713,1
    - Dst: _ksba_asntime_to_iso
      Src: /src/libksba/src/ber-help.c:714,1
    - Dst: parse_skip
      Src: /src/libksba/src/ber-help.c:716,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - len
    - isotime
    argTypes:
    - unsigned char**
    - size_t*
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 698
    functionDepth: 3
    functionLinenumber: 698
    functionLinenumberEnd: 719
    functionName: _ksba_parse_asntime_into_isotime
    functionSourceFile: /src/libksba/src/ber-help.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - _ksba_ber_parse_tl
    - parse_skip
    - _ksba_asntime_to_iso
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_parse_asntime_into_isotime (unsigned char const
      **buf, size_t *len,\n                                  ksba_isotime_t isotime)"
  - 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: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: ATTR_PRINTF
    functionSourceFile: /src/libksba/src/asn1-gentables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATTR_PRINTF(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libksba/src/asn1-gentables.c:68,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:69,1
    - Dst: vfprintf
      Src: /src/libksba/src/asn1-gentables.c:70,1
    - Dst: va_end
      Src: /src/libksba/src/asn1-gentables.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: print_error
    functionSourceFile: /src/libksba/src/asn1-gentables.c
    functionUses: 4
    functionsReached:
    - fputs
    - va_end
    - vfprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void print_error (const char *fmt, ... )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: insert_string
      Src: /src/libksba/src/asn1-gentables.c:85,1
    - Dst: strcmp
      Src: /src/libksba/src/asn1-gentables.c:94,1
    - Dst: strlen
      Src: /src/libksba/src/asn1-gentables.c:96,1
    - Dst: xmalloc
      Src: /src/libksba/src/asn1-gentables.c:99,1
    - Dst: strlen
      Src: /src/libksba/src/asn1-gentables.c:99,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-gentables.c:100,1
    - Dst: strlen
      Src: /src/libksba/src/asn1-gentables.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 107
    functionName: insert_string
    functionSourceFile: /src/libksba/src/asn1-gentables.c
    functionUses: 1
    functionsReached:
    - insert_string
    - strlen
    - strcmp
    - xmalloc
    - strcpy
    linkageType: ''
    returnType: size_t
    signature: size_t insert_string (const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libksba/src/asn1-gentables.c:115,1
    - Dst: strlen
      Src: /src/libksba/src/asn1-gentables.c:116,1
    - Dst: strcmp
      Src: /src/libksba/src/asn1-gentables.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - aptr
    - bptr
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: cmp_string
    functionSourceFile: /src/libksba/src/asn1-gentables.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int cmp_string (const void *aptr, const void *bptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc
      Src: /src/libksba/src/asn1-gentables.c:137,1
    - Dst: qsort
      Src: /src/libksba/src/asn1-gentables.c:140,1
    - Dst: insert_string
      Src: /src/libksba/src/asn1-gentables.c:146,1
    - Dst: xfree
      Src: /src/libksba/src/asn1-gentables.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 150
    functionName: sort_string_table
    functionSourceFile: /src/libksba/src/asn1-gentables.c
    functionUses: 0
    functionsReached:
    - xfree
    - insert_string
    - qsort
    - xcalloc
    linkageType: ''
    returnType: void
    signature: void sort_string_table (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: insert_string
      Src: /src/libksba/src/asn1-gentables.c:162,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:164,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-gentables.c:170,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-gentables.c:171,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:173,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-gentables.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: write_string_table
    functionSourceFile: /src/libksba/src/asn1-gentables.c
    functionUses: 0
    functionsReached:
    - fprintf
    - insert_string
    - fputs
    linkageType: ''
    returnType: void
    signature: void write_string_table (FILE *fp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libksba/src/asn1-gentables.c:191,1
    - Dst: strlen
      Src: /src/libksba/src/asn1-gentables.c:198,1
    - Dst: strchr
      Src: /src/libksba/src/asn1-gentables.c:200,1
    - Dst: xmalloc
      Src: /src/libksba/src/asn1-gentables.c:206,1
    - Dst: memcpy
      Src: /src/libksba/src/asn1-gentables.c:208,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-gentables.c:211,1
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/asn1-gentables.c:214,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:221,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-gentables.c:223,1
    - Dst: insert_string
      Src: /src/libksba/src/asn1-gentables.c:223,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-gentables.c:225,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-gentables.c:226,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:228,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-gentables.c:229,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:230,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:231,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:232,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:233,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:234,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:235,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:236,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:237,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:238,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:239,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:240,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:241,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:242,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:243,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:244,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:245,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:246,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:247,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:248,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:249,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:250,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:251,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:252,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-gentables.c:255,1
    - Dst: insert_string
      Src: /src/libksba/src/asn1-gentables.c:256,1
    - Dst: snprintf
      Src: /src/libksba/src/asn1-gentables.c:260,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-gentables.c:261,1
    - Dst: insert_string
      Src: /src/libksba/src/asn1-gentables.c:261,1
    - Dst: snprintf
      Src: /src/libksba/src/asn1-gentables.c:265,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-gentables.c:266,1
    - Dst: insert_string
      Src: /src/libksba/src/asn1-gentables.c:266,1
    - Dst: print_error
      Src: /src/libksba/src/asn1-gentables.c:271,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-gentables.c:272,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:274,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-gentables.c:277,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 69
    argCount: 3
    argNames:
    - pointer
    - file_name
    - fp
    argTypes:
    - AsnNode
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 280
    functionName: create_static_structure
    functionSourceFile: /src/libksba/src/asn1-gentables.c
    functionUses: 0
    functionsReached:
    - insert_string
    - strlen
    - snprintf
    - fprintf
    - xmalloc
    - strchr
    - print_error
    - fputs
    - memcpy
    - _ksba_asn_walk_tree
    linkageType: ''
    returnType: struct name_list_s
    signature: 'struct name_list_s *

      create_static_structure (AsnNode pointer, const char *file_name, FILE *fp)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ksba_asn_parse_file
      Src: /src/libksba/src/asn1-gentables.c:290,1
    - Dst: print_error
      Src: /src/libksba/src/asn1-gentables.c:292,1
    - Dst: gpg_strerror
      Src: /src/libksba/src/asn1-gentables.c:292,1
    - Dst: ksba_asn_tree_dump
      Src: /src/libksba/src/asn1-gentables.c:296,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-gentables.c:300,1
    - Dst: create_static_structure
      Src: /src/libksba/src/asn1-gentables.c:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - fname
    - count
    - fp
    argTypes:
    - char*
    - int*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 312
    functionName: one_file
    functionSourceFile: /src/libksba/src/asn1-gentables.c
    functionUses: 7
    functionsReached:
    - ksba_asn_parse_file
    - ksba_asn_tree_dump
    - fprintf
    - gpg_strerror
    - print_error
    - create_static_structure
    linkageType: ''
    returnType: struct name_list_s
    signature: 'struct name_list_s *

      one_file (const char *fname, int *count, FILE *fp)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libksba/src/asn1-gentables.c:323,1
    - Dst: strcmp
      Src: /src/libksba/src/asn1-gentables.c:323,1
    - Dst: fputs
      Src: /src/libksba/src/asn1-gentables.c:325,1
    - Dst: strcmp
      Src: /src/libksba/src/asn1-gentables.c:331,1
    - Dst: strcmp
      Src: /src/libksba/src/asn1-gentables.c:336,1
    - Dst: strcmp
      Src: /src/libksba/src/asn1-gentables.c:341,1
    - Dst: one_file
      Src: /src/libksba/src/asn1-gentables.c:349,1
    - Dst: fopen
      Src: /src/libksba/src/asn1-gentables.c:355,1
    - Dst: print_error
      Src: /src/libksba/src/asn1-gentables.c:358,1
    - Dst: strerror
      Src: /src/libksba/src/asn1-gentables.c:358,1
    - Dst: exit
      Src: /src/libksba/src/asn1-gentables.c:359,1
    - Dst: one_file
      Src: /src/libksba/src/asn1-gentables.c:362,1
    - Dst: fclose
      Src: /src/libksba/src/asn1-gentables.c:363,1
    - Dst: sort_string_table
      Src: /src/libksba/src/asn1-gentables.c:365,1
    - Dst: one_file
      Src: /src/libksba/src/asn1-gentables.c:370,1
    - Dst: putchar
      Src: /src/libksba/src/asn1-gentables.c:382,1
    - Dst: write_string_table
      Src: /src/libksba/src/asn1-gentables.c:383,1
    - Dst: printf
      Src: /src/libksba/src/asn1-gentables.c:385,1
    - Dst: printf
      Src: /src/libksba/src/asn1-gentables.c:392,1
    - Dst: printf
      Src: /src/libksba/src/asn1-gentables.c:394,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 315
    functionDepth: 3
    functionLinenumber: 315
    functionLinenumberEnd: 398
    functionName: main
    functionSourceFile: /src/libksba/src/asn1-gentables.c
    functionUses: 11
    functionsReached:
    - printf
    - fclose
    - exit
    - strcmp
    - one_file
    - print_error
    - fopen
    - fputs
    - write_string_table
    - sort_string_table
    - strerror
    - putchar
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - prefix
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 536
    functionName: TLV_LENGTH
    functionSourceFile: /src/libksba/src/keyinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLV_LENGTH(prefix)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/libksba/src/keyinfo.c:550,1
    - Dst: digitp
      Src: /src/libksba/src/keyinfo.c:559,1
    - Dst: strlen
      Src: /src/libksba/src/keyinfo.c:562,1
    - Dst: memcmp
      Src: /src/libksba/src/keyinfo.c:563,1
    - Dst: strlen
      Src: /src/libksba/src/keyinfo.c:568,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/keyinfo.c:575,1
    - Dst: memcpy
      Src: /src/libksba/src/keyinfo.c:578,1
    - Dst: strcmp
      Src: /src/libksba/src/keyinfo.c:585,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 30
    argCount: 3
    argNames:
    - buf
    - buflen
    - r_pkalgo
    argTypes:
    - unsigned char*
    - size_t
    - pkalgo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 593
    functionName: get_ecc_curve_oid
    functionSourceFile: /src/libksba/src/keyinfo.c
    functionUses: 0
    functionsReached:
    - strlen
    - digitp
    - strcmp
    - memcmp
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      get_ecc_curve_oid (const unsigned char *buf, size_t buflen, pkalgo_t *r_pkalgo)'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:624,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:627,1
    - Dst: TLV_LENGTH
      Src: /src/libksba/src/keyinfo.c:628,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:634,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:637,1
    - Dst: TLV_LENGTH
      Src: /src/libksba/src/keyinfo.c:638,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:658,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:664,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:667,1
    - Dst: TLV_LENGTH
      Src: /src/libksba/src/keyinfo.c:677,1
    - Dst: TLV_LENGTH
      Src: /src/libksba/src/keyinfo.c:691,1
    - Dst: TLV_LENGTH
      Src: /src/libksba/src/keyinfo.c:705,1
    - Dst: TLV_LENGTH
      Src: /src/libksba/src/keyinfo.c:717,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:727,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:733,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:741,1
    - Dst: TLV_LENGTH
      Src: /src/libksba/src/keyinfo.c:742,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 100
    argCount: 11
    argNames:
    - mode
    - der
    - derlen
    - firsttag
    - r_nread
    - r_pos
    - r_len
    - r_bitstr
    - r_parm_pos
    - r_parm_len
    - r_parm_type
    argTypes:
    - int
    - unsigned char*
    - size_t
    - int
    - size_t*
    - size_t*
    - size_t*
    - int*
    - size_t*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 747
    functionName: get_algorithm
    functionSourceFile: /src/libksba/src/keyinfo.c
    functionUses: 0
    functionsReached:
    - TLV_LENGTH
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_algorithm (int mode, const unsigned char *der, size_t
      derlen, int firsttag,\n               size_t *r_nread, size_t *r_pos, size_t
      *r_len, int *r_bitstr,\n               size_t *r_parm_pos, size_t *r_parm_len,
      int *r_parm_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_parse_algorithm_identifier3
      Src: /src/libksba/src/keyinfo.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - der
    - derlen
    - r_nread
    - r_oid
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 756
    functionName: _ksba_parse_algorithm_identifier
    functionSourceFile: /src/libksba/src/keyinfo.c
    functionUses: 3
    functionsReached:
    - _ksba_parse_algorithm_identifier3
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_parse_algorithm_identifier (const unsigned char
      *der, size_t derlen,\n                                  size_t *r_nread, char
      **r_oid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_parse_algorithm_identifier3
      Src: /src/libksba/src/keyinfo.c:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - der
    - derlen
    - r_nread
    - r_oid
    - r_parm
    - r_parmlen
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - char**
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 767
    functionName: _ksba_parse_algorithm_identifier2
    functionSourceFile: /src/libksba/src/keyinfo.c
    functionUses: 2
    functionsReached:
    - _ksba_parse_algorithm_identifier3
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_parse_algorithm_identifier2 (const unsigned char
      *der, size_t derlen,\n                                   size_t *r_nread, char
      **r_oid,\n                                   char **r_parm, size_t *r_parmlen)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: get_algorithm
      Src: /src/libksba/src/keyinfo.c:789,1
    - Dst: ksba_oid_to_str
      Src: /src/libksba/src/keyinfo.c:796,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:798,1
    - Dst: strcmp
      Src: /src/libksba/src/keyinfo.c:803,1
    - Dst: xfree
      Src: /src/libksba/src/keyinfo.c:805,1
    - Dst: get_algorithm
      Src: /src/libksba/src/keyinfo.c:807,1
    - Dst: ksba_oid_to_str
      Src: /src/libksba/src/keyinfo.c:816,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:821,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/keyinfo.c:831,1
    - Dst: xfree
      Src: /src/libksba/src/keyinfo.c:834,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:836,1
    - Dst: memcpy
      Src: /src/libksba/src/keyinfo.c:838,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 8
    argNames:
    - der
    - derlen
    - firsttag
    - r_nread
    - r_oid
    - r_parm
    - r_parmlen
    - r_parmtype
    argTypes:
    - unsigned char*
    - size_t
    - int
    - size_t*
    - char**
    - char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 851
    functionName: _ksba_parse_algorithm_identifier3
    functionSourceFile: /src/libksba/src/keyinfo.c
    functionUses: 4
    functionsReached:
    - ksba_oid_to_str
    - strcmp
    - gpg_error
    - xfree
    - memcpy
    - xtrymalloc
    - get_algorithm
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_parse_algorithm_identifier3 (const unsigned char
      *der, size_t derlen,\n                                   int firsttag,\n                                   size_t
      *r_nread, char **r_oid,\n                                   char **r_parm, size_t
      *r_parmlen,\n                                   int *r_parmtype)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:891,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:894,1
    - Dst: TLV_LENGTH
      Src: /src/libksba/src/keyinfo.c:895,1
    - Dst: get_algorithm
      Src: /src/libksba/src/keyinfo.c:897,1
    - Dst: memcmp
      Src: /src/libksba/src/keyinfo.c:907,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:911,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:913,1
    - Dst: ksba_oid_to_str
      Src: /src/libksba/src/keyinfo.c:916,1
    - Dst: xfree
      Src: /src/libksba/src/keyinfo.c:932,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:933,1
    - Dst: gpgrt_log_info
      Src: /src/libksba/src/keyinfo.c:937,1
    - Dst: init_stringbuf
      Src: /src/libksba/src/keyinfo.c:943,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:944,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/keyinfo.c:949,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:954,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/keyinfo.c:955,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/keyinfo.c:956,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:957,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:965,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/keyinfo.c:966,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/keyinfo.c:967,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:968,1
    - Dst: xfree
      Src: /src/libksba/src/keyinfo.c:993,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:994,1
    - Dst: xfree
      Src: /src/libksba/src/keyinfo.c:999,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1000,1
    - Dst: TLV_LENGTH
      Src: /src/libksba/src/keyinfo.c:1003,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1009,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/keyinfo.c:1011,1
    - Dst: put_stringbuf_mem_sexp
      Src: /src/libksba/src/keyinfo.c:1012,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1015,1
    - Dst: memcmp
      Src: /src/libksba/src/keyinfo.c:1027,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1029,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/keyinfo.c:1030,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/keyinfo.c:1031,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1032,1
    - Dst: xfree
      Src: /src/libksba/src/keyinfo.c:1059,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1060,1
    - Dst: xfree
      Src: /src/libksba/src/keyinfo.c:1065,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1066,1
    - Dst: TLV_LENGTH
      Src: /src/libksba/src/keyinfo.c:1069,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1075,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/keyinfo.c:1077,1
    - Dst: put_stringbuf_mem_sexp
      Src: /src/libksba/src/keyinfo.c:1078,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1081,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1084,1
    - Dst: xfree
      Src: /src/libksba/src/keyinfo.c:1085,1
    - Dst: get_stringbuf
      Src: /src/libksba/src/keyinfo.c:1087,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1089,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 135
    argCount: 3
    argNames:
    - der
    - derlen
    - r_string
    argTypes:
    - unsigned char*
    - size_t
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 869
    functionDepth: 4
    functionLinenumber: 869
    functionLinenumberEnd: 1092
    functionName: _ksba_keyinfo_to_sexp
    functionSourceFile: /src/libksba/src/keyinfo.c
    functionUses: 1
    functionsReached:
    - TLV_LENGTH
    - gpgrt_log_info
    - ksba_oid_to_str
    - init_stringbuf
    - gpg_error
    - memcmp
    - xfree
    - put_stringbuf
    - put_stringbuf_sexp
    - put_stringbuf_mem_sexp
    - get_stringbuf
    - get_algorithm
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_keyinfo_to_sexp (const unsigned char *der, size_t
      derlen,\n                       ksba_sexp_t *r_string)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/libksba/src/keyinfo.c:1106,1
    - Dst: strlen
      Src: /src/libksba/src/keyinfo.c:1121,1
    - Dst: memcmp
      Src: /src/libksba/src/keyinfo.c:1122,1
    - Dst: strlen
      Src: /src/libksba/src/keyinfo.c:1124,1
    - Dst: memcmp
      Src: /src/libksba/src/keyinfo.c:1125,1
    - Dst: strlen
      Src: /src/libksba/src/keyinfo.c:1140,1
    - Dst: memcmp
      Src: /src/libksba/src/keyinfo.c:1141,1
    - Dst: strlen
      Src: /src/libksba/src/keyinfo.c:1143,1
    - Dst: memcmp
      Src: /src/libksba/src/keyinfo.c:1144,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 31
    argCount: 4
    argNames:
    - buf
    - buflen
    - r_pkalgo
    - with_sig
    argTypes:
    - unsigned char*
    - unsigned int
    - pkalgo_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1152
    functionName: oid_from_buffer
    functionSourceFile: /src/libksba/src/keyinfo.c
    functionUses: 0
    functionsReached:
    - digitp
    - memcmp
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *\noid_from_buffer (const unsigned char *buf, unsigned int buflen,\n
      \                pkalgo_t *r_pkalgo, int with_sig)"
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1186,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1190,1
    - Dst: strtoul
      Src: /src/libksba/src/keyinfo.c:1193,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1196,1
    - Dst: memcmp
      Src: /src/libksba/src/keyinfo.c:1199,1
    - Dst: memcmp
      Src: /src/libksba/src/keyinfo.c:1201,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1204,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1207,1
    - Dst: digitp
      Src: /src/libksba/src/keyinfo.c:1207,1
    - Dst: strtoul
      Src: /src/libksba/src/keyinfo.c:1211,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1214,1
    - Dst: oid_from_buffer
      Src: /src/libksba/src/keyinfo.c:1217,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1219,1
    - Dst: DIM
      Src: /src/libksba/src/keyinfo.c:1226,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1228,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1233,1
    - Dst: digitp
      Src: /src/libksba/src/keyinfo.c:1233,1
    - Dst: strtoul
      Src: /src/libksba/src/keyinfo.c:1237,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1241,1
    - Dst: digitp
      Src: /src/libksba/src/keyinfo.c:1248,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1250,1
    - Dst: strtoul
      Src: /src/libksba/src/keyinfo.c:1254,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1257,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1264,1
    - Dst: memcmp
      Src: /src/libksba/src/keyinfo.c:1270,1
    - Dst: get_ecc_curve_oid
      Src: /src/libksba/src/keyinfo.c:1273,1
    - Dst: sskip
      Src: /src/libksba/src/keyinfo.c:1283,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1290,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1322,1
    - Dst: _ksba_der_builder_new
      Src: /src/libksba/src/keyinfo.c:1327,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/keyinfo.c:1330,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/keyinfo.c:1336,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/keyinfo.c:1338,1
    - Dst: _ksba_der_add_oid
      Src: /src/libksba/src/keyinfo.c:1340,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/keyinfo.c:1346,1
    - Dst: _ksba_der_add_int
      Src: /src/libksba/src/keyinfo.c:1351,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/keyinfo.c:1354,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1361,1
    - Dst: _ksba_der_add_oid
      Src: /src/libksba/src/keyinfo.c:1364,1
    - Dst: _ksba_der_add_ptr
      Src: /src/libksba/src/keyinfo.c:1368,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/keyinfo.c:1371,1
    - Dst: _ksba_der_add_bts
      Src: /src/libksba/src/keyinfo.c:1390,1
    - Dst: _ksba_der_add_bts
      Src: /src/libksba/src/keyinfo.c:1394,1
    - Dst: _ksba_der_builder_new
      Src: /src/libksba/src/keyinfo.c:1400,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/keyinfo.c:1403,1
    - Dst: _ksba_der_add_tag
      Src: /src/libksba/src/keyinfo.c:1409,1
    - Dst: _ksba_der_add_int
      Src: /src/libksba/src/keyinfo.c:1415,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/keyinfo.c:1420,1
    - Dst: _ksba_der_builder_get
      Src: /src/libksba/src/keyinfo.c:1422,1
    - Dst: _ksba_der_add_bts
      Src: /src/libksba/src/keyinfo.c:1425,1
    - Dst: xfree
      Src: /src/libksba/src/keyinfo.c:1426,1
    - Dst: _ksba_der_add_end
      Src: /src/libksba/src/keyinfo.c:1429,1
    - Dst: _ksba_der_builder_get
      Src: /src/libksba/src/keyinfo.c:1433,1
    - Dst: _ksba_der_release
      Src: /src/libksba/src/keyinfo.c:1436,1
    - Dst: _ksba_der_release
      Src: /src/libksba/src/keyinfo.c:1437,1
    - Dst: xfree
      Src: /src/libksba/src/keyinfo.c:1438,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 191
    argCount: 4
    argNames:
    - sexp
    - algoinfomode
    - r_der
    - r_derlen
    argTypes:
    - ksba_const_sexp_t
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1160
    functionDepth: 2
    functionLinenumber: 1160
    functionLinenumberEnd: 1440
    functionName: _ksba_keyinfo_from_sexp
    functionSourceFile: /src/libksba/src/keyinfo.c
    functionUses: 3
    functionsReached:
    - _ksba_der_builder_new
    - digitp
    - _ksba_der_add_end
    - _ksba_der_builder_get
    - DIM
    - _ksba_der_release
    - sskip
    - strtoul
    - gpg_error_from_syserror
    - _ksba_der_add_oid
    - gpg_error
    - xfree
    - _ksba_der_add_int
    - _ksba_der_add_ptr
    - get_ecc_curve_oid
    - _ksba_der_add_bts
    - oid_from_buffer
    - memcmp
    - _ksba_der_add_tag
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_keyinfo_from_sexp (ksba_const_sexp_t sexp, int algoinfomode,\n
      \                        unsigned char **r_der, size_t *r_derlen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: parse_sequence
      Src: /src/libksba/src/keyinfo.c:1485,1
    - Dst: parse_context_tag
      Src: /src/libksba/src/keyinfo.c:1490,1
    - Dst: parse_sequence
      Src: /src/libksba/src/keyinfo.c:1493,1
    - Dst: parse_object_id_into_str
      Src: /src/libksba/src/keyinfo.c:1496,1
    - Dst: parse_optional_null
      Src: /src/libksba/src/keyinfo.c:1499,1
    - Dst: parse_context_tag
      Src: /src/libksba/src/keyinfo.c:1504,1
    - Dst: parse_sequence
      Src: /src/libksba/src/keyinfo.c:1507,1
    - Dst: parse_object_id_into_str
      Src: /src/libksba/src/keyinfo.c:1510,1
    - Dst: strcmp
      Src: /src/libksba/src/keyinfo.c:1513,1
    - Dst: parse_sequence
      Src: /src/libksba/src/keyinfo.c:1515,1
    - Dst: xfree
      Src: /src/libksba/src/keyinfo.c:1518,1
    - Dst: parse_object_id_into_str
      Src: /src/libksba/src/keyinfo.c:1519,1
    - Dst: strcmp
      Src: /src/libksba/src/keyinfo.c:1522,1
    - Dst: parse_optional_null
      Src: /src/libksba/src/keyinfo.c:1524,1
    - Dst: parse_context_tag
      Src: /src/libksba/src/keyinfo.c:1529,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/keyinfo.c:1530,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/keyinfo.c:1531,1
    - Dst: parse_integer
      Src: /src/libksba/src/keyinfo.c:1537,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1556,1
    - Dst: xfree
      Src: /src/libksba/src/keyinfo.c:1559,1
    - Dst: xfree
      Src: /src/libksba/src/keyinfo.c:1560,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 84
    argCount: 4
    argNames:
    - der
    - derlen
    - r_psshash
    - r_saltlen
    argTypes:
    - unsigned char*
    - size_t
    - char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1562
    functionName: _ksba_keyinfo_get_pss_info
    functionSourceFile: /src/libksba/src/keyinfo.c
    functionUses: 1
    functionsReached:
    - parse_integer
    - strcmp
    - parse_context_tag
    - gpg_error
    - xfree
    - gpg_err_code
    - parse_optional_null
    - parse_sequence
    - parse_object_id_into_str
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_keyinfo_get_pss_info (const unsigned char *der,
      size_t derlen,\n                            char **r_psshash, unsigned int *r_saltlen)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: get_algorithm
      Src: /src/libksba/src/keyinfo.c:1599,1
    - Dst: memcmp
      Src: /src/libksba/src/keyinfo.c:1609,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1614,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1616,1
    - Dst: _ksba_keyinfo_get_pss_info
      Src: /src/libksba/src/keyinfo.c:1624,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/keyinfo.c:1626,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1641,1
    - Dst: gpgrt_log_debug
      Src: /src/libksba/src/keyinfo.c:1644,1
    - Dst: init_stringbuf
      Src: /src/libksba/src/keyinfo.c:1650,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1651,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/keyinfo.c:1652,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1665,1
    - Dst: put_stringbuf_mem_sexp
      Src: /src/libksba/src/keyinfo.c:1666,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1667,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1670,1
    - Dst: put_stringbuf_mem_sexp
      Src: /src/libksba/src/keyinfo.c:1671,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1672,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1690,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1693,1
    - Dst: TLV_LENGTH
      Src: /src/libksba/src/keyinfo.c:1695,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1701,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/keyinfo.c:1703,1
    - Dst: put_stringbuf_mem_sexp
      Src: /src/libksba/src/keyinfo.c:1704,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1707,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1713,1
    - Dst: put_stringbuf_mem_sexp
      Src: /src/libksba/src/keyinfo.c:1714,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1715,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1717,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1721,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/keyinfo.c:1722,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1723,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1727,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1728,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/keyinfo.c:1729,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1730,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1731,1
    - Dst: put_stringbuf_uint
      Src: /src/libksba/src/keyinfo.c:1732,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1733,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1737,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/keyinfo.c:1738,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1739,1
    - Dst: put_stringbuf_sexp
      Src: /src/libksba/src/keyinfo.c:1740,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1741,1
    - Dst: put_stringbuf
      Src: /src/libksba/src/keyinfo.c:1743,1
    - Dst: get_stringbuf
      Src: /src/libksba/src/keyinfo.c:1745,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1747,1
    - Dst: xfree
      Src: /src/libksba/src/keyinfo.c:1749,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 107
    argCount: 8
    argNames:
    - mode
    - der
    - derlen
    - keyencralgo
    - keywrapalgo
    - encrkey
    - encrkeylen
    - r_string
    argTypes:
    - int
    - unsigned char*
    - size_t
    - char*
    - char*
    - void*
    - size_t
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1571
    functionDepth: 5
    functionLinenumber: 1571
    functionLinenumberEnd: 1751
    functionName: cryptval_to_sexp
    functionSourceFile: /src/libksba/src/keyinfo.c
    functionUses: 0
    functionsReached:
    - _ksba_keyinfo_get_pss_info
    - TLV_LENGTH
    - gpgrt_log_debug
    - put_stringbuf_uint
    - init_stringbuf
    - gpg_error
    - memcmp
    - gpg_err_code
    - put_stringbuf
    - put_stringbuf_sexp
    - put_stringbuf_mem_sexp
    - get_stringbuf
    - xfree
    - get_algorithm
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t cryptval_to_sexp (int mode, const unsigned char *der,
      size_t derlen,\n                  const char *keyencralgo, const char *keywrapalgo,\n
      \                 const void *encrkey, size_t encrkeylen,\n                  ksba_sexp_t
      *r_string)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cryptval_to_sexp
      Src: /src/libksba/src/keyinfo.c:1779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - der
    - derlen
    - r_string
    argTypes:
    - unsigned char*
    - size_t
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1775
    functionDepth: 6
    functionLinenumber: 1775
    functionLinenumberEnd: 1780
    functionName: _ksba_sigval_to_sexp
    functionSourceFile: /src/libksba/src/keyinfo.c
    functionUses: 3
    functionsReached:
    - cryptval_to_sexp
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_sigval_to_sexp (const unsigned char *der, size_t
      derlen,\n                      ksba_sexp_t *r_string)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cryptval_to_sexp
      Src: /src/libksba/src/keyinfo.c:1812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - der
    - derlen
    - r_string
    argTypes:
    - unsigned char*
    - size_t
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1808
    functionDepth: 6
    functionLinenumber: 1808
    functionLinenumberEnd: 1813
    functionName: _ksba_encval_to_sexp
    functionSourceFile: /src/libksba/src/keyinfo.c
    functionUses: 1
    functionsReached:
    - cryptval_to_sexp
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_encval_to_sexp (const unsigned char *der, size_t
      derlen,\n                      ksba_sexp_t *r_string)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_context_tag
      Src: /src/libksba/src/keyinfo.c:1852,1
    - Dst: gpg_error
      Src: /src/libksba/src/keyinfo.c:1856,1
    - Dst: cryptval_to_sexp
      Src: /src/libksba/src/keyinfo.c:1858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - der
    - derlen
    - keyencralgo
    - keywrapalgo
    - enckey
    - enckeylen
    - r_string
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - char*
    - void*
    - size_t
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1842
    functionDepth: 6
    functionLinenumber: 1842
    functionLinenumberEnd: 1861
    functionName: _ksba_encval_kari_to_sexp
    functionSourceFile: /src/libksba/src/keyinfo.c
    functionUses: 1
    functionsReached:
    - cryptval_to_sexp
    - parse_context_tag
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_encval_kari_to_sexp (const unsigned char *der, size_t
      derlen,\n                           const char *keyencralgo, const char *keywrapalgo,\n
      \                          const void *enckey, size_t enckeylen,\n                           ksba_sexp_t
      *r_string)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/libksba/src/version.c:43,1
    - Dst: digitp
      Src: /src/libksba/src/version.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s
    - number
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: parse_version_number
    functionSourceFile: /src/libksba/src/version.c
    functionUses: 2
    functionsReached:
    - digitp
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_version_number (const char *s, int *number)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_version_number
      Src: /src/libksba/src/version.c:57,1
    - Dst: parse_version_number
      Src: /src/libksba/src/version.c:61,1
    - Dst: parse_version_number
      Src: /src/libksba/src/version.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - s
    - major
    - minor
    - micro
    argTypes:
    - char*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: parse_version_string
    functionSourceFile: /src/libksba/src/version.c
    functionUses: 2
    functionsReached:
    - parse_version_number
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_version_string (const char *s, int *major, int *minor, int *micro)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parse_version_string
      Src: /src/libksba/src/version.c:83,1
    - Dst: parse_version_string
      Src: /src/libksba/src/version.c:86,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 2
    argNames:
    - my_version
    - req_version
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 101
    functionName: compare_versions
    functionSourceFile: /src/libksba/src/version.c
    functionUses: 0
    functionsReached:
    - parse_version_string
    linkageType: ''
    returnType: char
    signature: 'char *

      compare_versions (const char *my_version, const char *req_version)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: cright_blurb
    functionSourceFile: /src/libksba/src/version.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      cright_blurb (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cright_blurb
      Src: /src/libksba/src/version.c:140,1
    - Dst: compare_versions
      Src: /src/libksba/src/version.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - req_version
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: ksba_check_version
    functionSourceFile: /src/libksba/src/version.c
    functionUses: 4
    functionsReached:
    - cright_blurb
    - compare_versions
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_check_version (const char *req_version)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_set_value
      Src: /src/libksba/src/der-encoder.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - node
    - buffer
    - length
    argTypes:
    - AsnNode
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: store_value
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 0
    functionsReached:
    - _ksba_asn_set_value
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t store_value (AsnNode node, const void *buffer, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_set_value
      Src: /src/libksba/src/der-encoder.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: clear_value
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 0
    functionsReached:
    - _ksba_asn_set_value
    linkageType: ''
    returnType: void
    signature: void clear_value (AsnNode node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/libksba/src/der-encoder.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: _ksba_der_encoder_new
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 0
    functionsReached:
    - xtrycalloc
    linkageType: ''
    returnType: DerEncoder
    signature: DerEncoder _ksba_der_encoder_new (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libksba/src/der-encoder.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DerEncoder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: _ksba_der_encoder_release
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void _ksba_der_encoder_release (DerEncoder d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/der-encoder.c:104,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-encoder.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - d
    - module
    argTypes:
    - DerEncoder
    - ksba_asn_tree_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: _ksba_der_encoder_set_module
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_der_encoder_set_module (DerEncoder d, ksba_asn_tree_t
      module)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/der-encoder.c:117,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-encoder.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - d
    - w
    argTypes:
    - DerEncoder
    - ksba_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: _ksba_der_encoder_set_writer
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 0
    functionsReached:
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_der_encoder_set_writer (DerEncoder d, ksba_writer_t
      w)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ksba_oid_from_str
      Src: /src/libksba/src/der-encoder.c:151,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/der-encoder.c:159,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/der-encoder.c:165,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/der-encoder.c:167,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/der-encoder.c:176,1
    - Dst: ksba_writer_write
      Src: /src/libksba/src/der-encoder.c:179,1
    - Dst: _ksba_ber_write_tl
      Src: /src/libksba/src/der-encoder.c:183,1
    - Dst: xfree
      Src: /src/libksba/src/der-encoder.c:187,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - w
    - oid
    - parm
    - parmlen
    argTypes:
    - ksba_writer_t
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 189
    functionName: _ksba_der_write_algorithm_identifier
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 4
    functionsReached:
    - ksba_oid_from_str
    - xfree
    - _ksba_ber_write_tl
    - ksba_writer_write
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_der_write_algorithm_identifier (ksba_writer_t w,
      const char *oid,\n                                      const void *parm, size_t
      parmlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_insert_copy
      Src: /src/libksba/src/der-encoder.c:218,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-encoder.c:219,1
    - Dst: _ksba_asn_is_primitive
      Src: /src/libksba/src/der-encoder.c:222,1
    - Dst: clear_value
      Src: /src/libksba/src/der-encoder.c:225,1
    - Dst: store_value
      Src: /src/libksba/src/der-encoder.c:227,1
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/der-encoder.c:229,1
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/der-encoder.c:230,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-encoder.c:239,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - dst_root
    - src_root
    - src_image
    argTypes:
    - AsnNode
    - AsnNode
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 201
    functionDepth: 4
    functionLinenumber: 201
    functionLinenumberEnd: 242
    functionName: _ksba_der_copy_tree
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 3
    functionsReached:
    - _ksba_asn_insert_copy
    - clear_value
    - store_value
    - gpg_error
    - _ksba_asn_is_primitive
    - _ksba_asn_walk_tree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_der_copy_tree (AsnNode dst_root,\n                     AsnNode
      src_root, const unsigned char *src_image)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_assert_time_format
      Src: /src/libksba/src/der-encoder.c:259,1
    - Dst: memcpy
      Src: /src/libksba/src/der-encoder.c:263,1
    - Dst: memcpy
      Src: /src/libksba/src/der-encoder.c:264,1
    - Dst: strcpy
      Src: /src/libksba/src/der-encoder.c:265,1
    - Dst: _ksba_cmp_time
      Src: /src/libksba/src/der-encoder.c:268,1
    - Dst: store_value
      Src: /src/libksba/src/der-encoder.c:291,1
    - Dst: strlen
      Src: /src/libksba/src/der-encoder.c:291,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-encoder.c:294,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - node
    - atime
    argTypes:
    - AsnNode
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 295
    functionName: _ksba_der_store_time
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 1
    functionsReached:
    - _ksba_assert_time_format
    - strlen
    - store_value
    - gpg_error
    - _ksba_cmp_time
    - strcpy
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_der_store_time (AsnNode node, const ksba_isotime_t
      atime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: store_value
      Src: /src/libksba/src/der-encoder.c:309,1
    - Dst: strlen
      Src: /src/libksba/src/der-encoder.c:309,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-encoder.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - string
    argTypes:
    - AsnNode
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 313
    functionName: _ksba_der_store_string
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 0
    functionsReached:
    - store_value
    - gpg_error
    - strlen
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_der_store_string (AsnNode node, const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: store_value
      Src: /src/libksba/src/der-encoder.c:327,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-encoder.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - node
    - value
    argTypes:
    - AsnNode
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 331
    functionName: _ksba_der_store_integer
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 1
    functionsReached:
    - store_value
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_der_store_integer (AsnNode node, const unsigned char
      *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ksba_oid_from_str
      Src: /src/libksba/src/der-encoder.c:346,1
    - Dst: store_value
      Src: /src/libksba/src/der-encoder.c:349,1
    - Dst: xfree
      Src: /src/libksba/src/der-encoder.c:350,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-encoder.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - node
    - oid
    argTypes:
    - AsnNode
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 355
    functionName: _ksba_der_store_oid
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 2
    functionsReached:
    - ksba_oid_from_str
    - store_value
    - gpg_error
    - xfree
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_der_store_oid (AsnNode node, const char *oid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: store_value
      Src: /src/libksba/src/der-encoder.c:366,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-encoder.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - node
    - buf
    - len
    argTypes:
    - AsnNode
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 370
    functionName: _ksba_der_store_octet_string
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 2
    functionsReached:
    - store_value
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_der_store_octet_string (AsnNode node, const char
      *buf, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: store_value
      Src: /src/libksba/src/der-encoder.c:381,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-encoder.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - node
    - buf
    - len
    argTypes:
    - AsnNode
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 385
    functionName: _ksba_der_store_sequence
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 1
    functionsReached:
    - store_value
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_der_store_sequence (AsnNode node, const unsigned
      char *buf, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: store_value
      Src: /src/libksba/src/der-encoder.c:396,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-encoder.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - node
    - buf
    - len
    argTypes:
    - AsnNode
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 400
    functionName: _ksba_der_store_set_of
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 2
    functionsReached:
    - store_value
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_der_store_set_of (AsnNode node, const unsigned char
      *buf, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear_value
      Src: /src/libksba/src/der-encoder.c:411,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-encoder.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 416
    functionName: _ksba_der_store_null
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - clear_value
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _ksba_der_store_null (AsnNode node)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: never_reached
      Src: /src/libksba/src/der-encoder.c:442,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - node
    - length
    argTypes:
    - AsnNode
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 465
    functionName: set_nhdr_and_len
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 0
    functionsReached:
    - never_reached
    linkageType: ''
    returnType: void
    signature: void set_nhdr_and_len (AsnNode node, unsigned long length)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_is_primitive
      Src: /src/libksba/src/der-encoder.c:499,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 2
    argNames:
    - buffer
    - node
    argTypes:
    - unsigned char*
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 537
    functionName: copy_nhdr_and_len
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 0
    functionsReached:
    - _ksba_asn_is_primitive
    linkageType: ''
    returnType: size_t
    signature: size_t copy_nhdr_and_len (unsigned char *buffer, AsnNode node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_is_primitive
      Src: /src/libksba/src/der-encoder.c:550,1
    - Dst: sum_up_lengths
      Src: /src/libksba/src/der-encoder.c:555,1
    - Dst: _ksba_asn_is_primitive
      Src: /src/libksba/src/der-encoder.c:557,1
    - Dst: set_nhdr_and_len
      Src: /src/libksba/src/der-encoder.c:562,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - root
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 566
    functionName: sum_up_lengths
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 1
    functionsReached:
    - sum_up_lengths
    - set_nhdr_and_len
    - _ksba_asn_is_primitive
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long sum_up_lengths (AsnNode root)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/der-encoder.c:582,1
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/der-encoder.c:594,1
    - Dst: _ksba_asn_is_primitive
      Src: /src/libksba/src/der-encoder.c:596,1
    - Dst: set_nhdr_and_len
      Src: /src/libksba/src/der-encoder.c:600,1
    - Dst: sum_up_lengths
      Src: /src/libksba/src/der-encoder.c:604,1
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/der-encoder.c:608,1
    - Dst: fprintf
      Src: /src/libksba/src/der-encoder.c:610,1
    - Dst: _ksba_asn_node_dump_all
      Src: /src/libksba/src/der-encoder.c:611,1
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/der-encoder.c:612,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/der-encoder.c:617,1
    - Dst: gpg_error
      Src: /src/libksba/src/der-encoder.c:619,1
    - Dst: _ksba_asn_walk_tree
      Src: /src/libksba/src/der-encoder.c:621,1
    - Dst: assert
      Src: /src/libksba/src/der-encoder.c:630,1
    - Dst: assert
      Src: /src/libksba/src/der-encoder.c:631,1
    - Dst: assert
      Src: /src/libksba/src/der-encoder.c:635,1
    - Dst: assert
      Src: /src/libksba/src/der-encoder.c:637,1
    - Dst: memcpy
      Src: /src/libksba/src/der-encoder.c:638,1
    - Dst: copy_nhdr_and_len
      Src: /src/libksba/src/der-encoder.c:643,1
    - Dst: _ksba_asn_is_primitive
      Src: /src/libksba/src/der-encoder.c:645,1
    - Dst: assert
      Src: /src/libksba/src/der-encoder.c:650,1
    - Dst: memcpy
      Src: /src/libksba/src/der-encoder.c:651,1
    - Dst: assert
      Src: /src/libksba/src/der-encoder.c:657,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 3
    argNames:
    - root
    - r_image
    - r_imagelen
    argTypes:
    - AsnNode
    - unsigned char**
    - size_t*
    assertStmts:
    - condition: (len == imagelen)
      pos:
        line_end: 656
        line_start: 656
        source_file: /src/libksba/src/der-encoder.c
    - condition: (len + nbytes <= imagelen)
      pos:
        line_end: 636
        line_start: 636
        source_file: /src/libksba/src/der-encoder.c
    - condition: (len + nbytes <= imagelen)
      pos:
        line_end: 649
        line_start: 649
        source_file: /src/libksba/src/der-encoder.c
    - condition: (n->off == -1)
      pos:
        line_end: 629
        line_start: 629
        source_file: /src/libksba/src/der-encoder.c
    - condition: (len < imagelen)
      pos:
        line_end: 630
        line_start: 630
        source_file: /src/libksba/src/der-encoder.c
    - condition: (n->valuetype == VALTYPE_MEM)
      pos:
        line_end: 634
        line_start: 634
        source_file: /src/libksba/src/der-encoder.c
    constantsTouched: []
    func_position:
      end: 663
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 663
    functionName: _ksba_der_encode_tree
    functionSourceFile: /src/libksba/src/der-encoder.c
    functionUses: 2
    functionsReached:
    - copy_nhdr_and_len
    - set_nhdr_and_len
    - xtrymalloc
    - assert
    - _ksba_asn_is_primitive
    - sum_up_lengths
    - fprintf
    - gpg_error
    - memcpy
    - _ksba_asn_node_dump_all
    - _ksba_asn_walk_tree
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_der_encode_tree (AsnNode root,\n                       unsigned
      char **r_image, size_t *r_imagelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/libksba/src/cert.c:72,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/cert.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - acert
    argTypes:
    - ksba_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: ksba_cert_new
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 42
    functionsReached:
    - gpg_error_from_errno
    - xtrycalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cert_new (ksba_cert_t *acert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libksba/src/cert.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: ksba_cert_ref
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 23
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void ksba_cert_ref (ksba_cert_t cert)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libksba/src/cert.c:104,1
    - Dst: xfree
      Src: /src/libksba/src/cert.c:118,1
    - Dst: xfree
      Src: /src/libksba/src/cert.c:119,1
    - Dst: xfree
      Src: /src/libksba/src/cert.c:125,1
    - Dst: xfree
      Src: /src/libksba/src/cert.c:129,1
    - Dst: xfree
      Src: /src/libksba/src/cert.c:130,1
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/cert.c:133,1
    - Dst: ksba_asn_tree_release
      Src: /src/libksba/src/cert.c:134,1
    - Dst: xfree
      Src: /src/libksba/src/cert.c:136,1
    - Dst: xfree
      Src: /src/libksba/src/cert.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 139
    functionName: ksba_cert_release
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 84
    functionsReached:
    - fprintf
    - ksba_asn_tree_release
    - _ksba_asn_release_nodes
    - xfree
    linkageType: ''
    returnType: void
    signature: void ksba_cert_release (ksba_cert_t cert)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:159,1
    - Dst: strcmp
      Src: /src/libksba/src/cert.c:162,1
    - Dst: xfree
      Src: /src/libksba/src/cert.c:167,1
    - Dst: memcpy
      Src: /src/libksba/src/cert.c:171,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cert.c:177,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/cert.c:179,1
    - Dst: memcpy
      Src: /src/libksba/src/cert.c:180,1
    - Dst: xtrycalloc
      Src: /src/libksba/src/cert.c:186,1
    - Dst: strlen
      Src: /src/libksba/src/cert.c:186,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/cert.c:188,1
    - Dst: strcpy
      Src: /src/libksba/src/cert.c:189,1
    - Dst: memcpy
      Src: /src/libksba/src/cert.c:192,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cert.c:198,1
    - Dst: xfree
      Src: /src/libksba/src/cert.c:201,1
    - Dst: gpg_error_from_errno
      Src: /src/libksba/src/cert.c:202,1
    - Dst: memcpy
      Src: /src/libksba/src/cert.c:204,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 4
    argNames:
    - cert
    - key
    - data
    - datalen
    argTypes:
    - ksba_cert_t
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 212
    functionName: ksba_cert_set_user_data
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 7
    functionsReached:
    - strlen
    - strcmp
    - gpg_error_from_errno
    - gpg_error
    - xfree
    - memcpy
    - strcpy
    - xtrycalloc
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_set_user_data (ksba_cert_t cert,\n                         const
      char *key, const void *data, size_t datalen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:236,1
    - Dst: strcmp
      Src: /src/libksba/src/cert.c:239,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:242,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:248,1
    - Dst: memcpy
      Src: /src/libksba/src/cert.c:249,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 5
    argNames:
    - cert
    - key
    - buffer
    - bufferlen
    - datalen
    argTypes:
    - ksba_cert_t
    - char*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 252
    functionName: ksba_cert_get_user_data
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 11
    functionsReached:
    - strcmp
    - gpg_error
    - memcpy
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_get_user_data (ksba_cert_t cert, const char
      *key,\n                         void *buffer, size_t bufferlen, size_t *datalen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:274,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:276,1
    - Dst: _ksba_asn_release_nodes
      Src: /src/libksba/src/cert.c:278,1
    - Dst: ksba_asn_tree_release
      Src: /src/libksba/src/cert.c:279,1
    - Dst: ksba_asn_create_tree
      Src: /src/libksba/src/cert.c:283,1
    - Dst: _ksba_ber_decoder_new
      Src: /src/libksba/src/cert.c:287,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:290,1
    - Dst: _ksba_ber_decoder_set_reader
      Src: /src/libksba/src/cert.c:294,1
    - Dst: _ksba_ber_decoder_set_module
      Src: /src/libksba/src/cert.c:298,1
    - Dst: _ksba_ber_decoder_decode
      Src: /src/libksba/src/cert.c:302,1
    - Dst: _ksba_ber_decoder_release
      Src: /src/libksba/src/cert.c:308,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - cert
    - reader
    argTypes:
    - ksba_cert_t
    - ksba_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 267
    functionDepth: 8
    functionLinenumber: 267
    functionLinenumberEnd: 311
    functionName: ksba_cert_read_der
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 16
    functionsReached:
    - _ksba_ber_decoder_set_reader
    - _ksba_ber_decoder_decode
    - ksba_asn_tree_release
    - gpg_error
    - _ksba_ber_decoder_new
    - _ksba_ber_decoder_set_module
    - ksba_asn_create_tree
    - _ksba_asn_release_nodes
    - _ksba_ber_decoder_release
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cert_read_der (ksba_cert_t cert, ksba_reader_t reader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ksba_reader_new
      Src: /src/libksba/src/cert.c:320,1
    - Dst: ksba_reader_set_mem
      Src: /src/libksba/src/cert.c:323,1
    - Dst: ksba_reader_release
      Src: /src/libksba/src/cert.c:326,1
    - Dst: ksba_cert_read_der
      Src: /src/libksba/src/cert.c:329,1
    - Dst: ksba_reader_release
      Src: /src/libksba/src/cert.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cert
    - buffer
    - length
    argTypes:
    - ksba_cert_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 332
    functionName: ksba_cert_init_from_mem
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 28
    functionsReached:
    - ksba_reader_new
    - ksba_reader_set_mem
    - ksba_reader_release
    - ksba_cert_read_der
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cert_init_from_mem (ksba_cert_t cert, const void *buffer,
      size_t length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cert.c:346,1
    - Dst: fprintf
      Src: /src/libksba/src/cert.c:361,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - cert
    - r_length
    argTypes:
    - ksba_cert_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 371
    functionName: ksba_cert_get_image
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 19
    functionsReached:
    - fprintf
    - _ksba_asn_find_node
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      ksba_cert_get_image (ksba_cert_t cert, size_t *r_length )'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_image
      Src: /src/libksba/src/cert.c:381,1
    - Dst: ksba_cert_get_image
      Src: /src/libksba/src/cert.c:384,1
    - Dst: memcmp
      Src: /src/libksba/src/cert.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ksba_cert_t
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 388
    functionName: _ksba_cert_cmp
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 1
    functionsReached:
    - memcmp
    - ksba_cert_get_image
    linkageType: ''
    returnType: int
    signature: int _ksba_cert_cmp (ksba_cert_t a, ksba_cert_t b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:401,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:403,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cert.c:405,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:409,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:414,1
    - Dst: hasher
      Src: /src/libksba/src/cert.c:417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - cert
    - what
    - hasher_arg
    argTypes:
    - ksba_cert_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 421
    functionName: ksba_cert_hash
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 7
    functionsReached:
    - gpg_error
    - _ksba_asn_find_node
    - hasher
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_hash (ksba_cert_t cert, int what,\n                void
      (*hasher)(void *, const void *, size_t length),\n                void *hasher_arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:453,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cert.c:468,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:472,1
    - Dst: _ksba_parse_algorithm_identifier
      Src: /src/libksba/src/cert.c:475,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 440
    functionDepth: 3
    functionLinenumber: 440
    functionLinenumberEnd: 483
    functionName: ksba_cert_get_digest_algo
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 9
    functionsReached:
    - gpg_error
    - _ksba_asn_find_node
    - _ksba_parse_algorithm_identifier
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_cert_get_digest_algo (ksba_cert_t cert)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cert.c:509,1
    - Dst: sprintf
      Src: /src/libksba/src/cert.c:524,1
    - Dst: strlen
      Src: /src/libksba/src/cert.c:525,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cert.c:526,1
    - Dst: strcpy
      Src: /src/libksba/src/cert.c:529,1
    - Dst: memcpy
      Src: /src/libksba/src/cert.c:530,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 498
    functionDepth: 3
    functionLinenumber: 498
    functionLinenumberEnd: 534
    functionName: ksba_cert_get_serial
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 20
    functionsReached:
    - strlen
    - _ksba_asn_find_node
    - sprintf
    - strcpy
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: ksba_sexp_t
    signature: ksba_sexp_t ksba_cert_get_serial (ksba_cert_t cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:546,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cert.c:547,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:550,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - cert
    - ptr
    - length
    argTypes:
    - ksba_cert_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 555
    functionName: _ksba_cert_get_serial_ptr
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 2
    functionsReached:
    - gpg_error
    - _ksba_asn_find_node
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_cert_get_serial_ptr (ksba_cert_t cert,\n                           unsigned
      char const **ptr, size_t *length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:568,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cert.c:570,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:572,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:575,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - cert
    - ptr
    - length
    argTypes:
    - ksba_cert_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 561
    functionDepth: 3
    functionLinenumber: 561
    functionLinenumberEnd: 579
    functionName: _ksba_cert_get_issuer_dn_ptr
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - _ksba_asn_find_node
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_cert_get_issuer_dn_ptr (ksba_cert_t cert,\n                               unsigned
      char const **ptr, size_t *length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:592,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cert.c:594,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:596,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - cert
    - ptr
    - length
    argTypes:
    - ksba_cert_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 585
    functionDepth: 3
    functionLinenumber: 585
    functionLinenumberEnd: 603
    functionName: _ksba_cert_get_subject_dn_ptr
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - _ksba_asn_find_node
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_cert_get_subject_dn_ptr (ksba_cert_t cert,\n                               unsigned
      char const **ptr, size_t *length)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:620,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:622,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cert.c:629,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:634,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:637,1
    - Dst: _ksba_dn_to_str
      Src: /src/libksba/src/cert.c:639,1
    - Dst: ksba_cert_get_extension
      Src: /src/libksba/src/cert.c:647,1
    - Dst: strcmp
      Src: /src/libksba/src/cert.c:650,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:662,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:667,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:669,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:672,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:674,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:678,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:682,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:684,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:686,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:689,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:692,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cert.c:699,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:701,1
    - Dst: memcpy
      Src: /src/libksba/src/cert.c:703,1
    - Dst: smklen
      Src: /src/libksba/src/cert.c:714,1
    - Dst: DIM
      Src: /src/libksba/src/cert.c:714,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cert.c:715,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:717,1
    - Dst: stpcpy
      Src: /src/libksba/src/cert.c:719,1
    - Dst: stpcpy
      Src: /src/libksba/src/cert.c:720,1
    - Dst: memcpy
      Src: /src/libksba/src/cert.c:721,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:733,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 87
    argCount: 4
    argNames:
    - cert
    - idx
    - use_subject
    - result
    argTypes:
    - ksba_cert_t
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 608
    functionDepth: 7
    functionLinenumber: 608
    functionLinenumberEnd: 734
    functionName: get_name
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 1
    functionsReached:
    - _ksba_asn_find_node
    - DIM
    - strcmp
    - _ksba_dn_to_str
    - gpg_error
    - ksba_cert_get_extension
    - memcpy
    - stpcpy
    - _ksba_ber_parse_tl
    - smklen
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t get_name (ksba_cert_t cert, int idx, int use_subject, char
      **result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_name
      Src: /src/libksba/src/cert.c:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cert
    - idx
    argTypes:
    - ksba_cert_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 768
    functionDepth: 8
    functionLinenumber: 768
    functionLinenumberEnd: 781
    functionName: ksba_cert_get_issuer
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 27
    functionsReached:
    - get_name
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_cert_get_issuer (ksba_cert_t cert, int idx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_name
      Src: /src/libksba/src/cert.c:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cert
    - idx
    argTypes:
    - ksba_cert_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 784
    functionDepth: 8
    functionLinenumber: 784
    functionLinenumberEnd: 797
    functionName: ksba_cert_get_subject
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 27
    functionsReached:
    - get_name
    linkageType: ''
    returnType: char
    signature: 'char *

      ksba_cert_get_subject (ksba_cert_t cert, int idx)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:819,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:822,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cert.c:824,1
    - Dst: return_val_if_fail
      Src: /src/libksba/src/cert.c:841,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:841,1
    - Dst: _ksba_asntime_to_iso
      Src: /src/libksba/src/cert.c:843,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - cert
    - what
    - timebuf
    argTypes:
    - ksba_cert_t
    - int
    - ksba_isotime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 813
    functionDepth: 3
    functionLinenumber: 813
    functionLinenumberEnd: 845
    functionName: ksba_cert_get_validity
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 16
    functionsReached:
    - return_val_if_fail
    - gpg_error
    - _ksba_asn_find_node
    - _ksba_asntime_to_iso
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cert_get_validity (ksba_cert_t cert, int what, ksba_isotime_t
      timebuf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cert.c:861,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:866,1
    - Dst: _ksba_keyinfo_to_sexp
      Src: /src/libksba/src/cert.c:870,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 849
    functionDepth: 5
    functionLinenumber: 849
    functionLinenumberEnd: 879
    functionName: ksba_cert_get_public_key
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 19
    functionsReached:
    - gpg_error
    - _ksba_asn_find_node
    - _ksba_keyinfo_to_sexp
    linkageType: ''
    returnType: ksba_sexp_t
    signature: ksba_sexp_t ksba_cert_get_public_key (ksba_cert_t cert)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:891,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cert.c:893,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:896,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:899,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - cert
    - ptr
    - length
    argTypes:
    - ksba_cert_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 884
    functionDepth: 3
    functionLinenumber: 884
    functionLinenumberEnd: 911
    functionName: _ksba_cert_get_public_key_ptr
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - _ksba_asn_find_node
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _ksba_cert_get_public_key_ptr (ksba_cert_t cert,\n                               unsigned
      char const **ptr, size_t *length)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cert.c:927,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:931,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:938,1
    - Dst: _ksba_sigval_to_sexp
      Src: /src/libksba/src/cert.c:943,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 915
    functionDepth: 7
    functionLinenumber: 915
    functionLinenumberEnd: 954
    functionName: ksba_cert_get_sig_val
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 4
    functionsReached:
    - gpg_error
    - _ksba_asn_find_node
    - _ksba_sigval_to_sexp
    linkageType: ''
    returnType: ksba_sexp_t
    signature: ksba_sexp_t ksba_cert_get_sig_val (ksba_cert_t cert)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libksba/src/cert.c:964,1
    - Dst: assert
      Src: /src/libksba/src/cert.c:965,1
    - Dst: _ksba_asn_find_node
      Src: /src/libksba/src/cert.c:967,1
    - Dst: xtrycalloc
      Src: /src/libksba/src/cert.c:977,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:979,1
    - Dst: _ksba_oid_node_to_str
      Src: /src/libksba/src/cert.c:989,1
    - Dst: assert
      Src: /src/libksba/src/cert.c:1008,1
    - Dst: xfree
      Src: /src/libksba/src/cert.c:1014,1
    - Dst: xfree
      Src: /src/libksba/src/cert.c:1015,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1017,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 1
    argNames:
    - cert
    argTypes:
    - ksba_cert_t
    assertStmts:
    - condition: (!cert->cache.extns_valid)
      pos:
        line_end: 963
        line_start: 963
        source_file: /src/libksba/src/cert.c
    - condition: (!cert->cache.extns)
      pos:
        line_end: 964
        line_start: 964
        source_file: /src/libksba/src/cert.c
    - condition: (count == cert->cache.n_extns)
      pos:
        line_end: 1007
        line_start: 1007
        source_file: /src/libksba/src/cert.c
    constantsTouched: []
    func_position:
      end: 1019
      start: 958
    functionDepth: 3
    functionLinenumber: 958
    functionLinenumberEnd: 1019
    functionName: read_extensions
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 0
    functionsReached:
    - assert
    - _ksba_asn_find_node
    - gpg_error
    - xfree
    - xtrycalloc
    - _ksba_oid_node_to_str
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t read_extensions (ksba_cert_t cert)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1031,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1033,1
    - Dst: read_extensions
      Src: /src/libksba/src/cert.c:1037,1
    - Dst: assert
      Src: /src/libksba/src/cert.c:1040,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1044,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1047,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 6
    argNames:
    - cert
    - idx
    - r_oid
    - r_crit
    - r_deroff
    - r_derlen
    argTypes:
    - ksba_cert_t
    - int
    - char**
    - int*
    - size_t*
    - size_t*
    assertStmts:
    - condition: (cert->cache.extns_valid)
      pos:
        line_end: 1039
        line_start: 1039
        source_file: /src/libksba/src/cert.c
    constantsTouched: []
    func_position:
      end: 1058
      start: 1023
    functionDepth: 4
    functionLinenumber: 1023
    functionLinenumberEnd: 1058
    functionName: ksba_cert_get_extension
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 10
    functionsReached:
    - read_extensions
    - gpg_error
    - assert
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_get_extension (ksba_cert_t cert, int idx,\n
      \                        char const **r_oid, int *r_crit,\n                         size_t
      *r_deroff, size_t *r_derlen)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_extension
      Src: /src/libksba/src/cert.c:1082,1
    - Dst: strcmp
      Src: /src/libksba/src/cert.c:1085,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/cert.c:1088,1
    - Dst: ksba_cert_get_extension
      Src: /src/libksba/src/cert.c:1094,1
    - Dst: strcmp
      Src: /src/libksba/src/cert.c:1097,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1098,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1103,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1108,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1110,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1113,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1118,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1122,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1125,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1131,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1138,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1142,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1145,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1150,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1164,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 70
    argCount: 3
    argNames:
    - cert
    - r_ca
    - r_pathlen
    argTypes:
    - ksba_cert_t
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1066
    functionDepth: 3
    functionLinenumber: 1066
    functionLinenumberEnd: 1167
    functionName: ksba_cert_is_ca
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 6
    functionsReached:
    - strcmp
    - ksba_cert_get_extension
    - gpg_error
    - gpg_err_code
    - _ksba_ber_parse_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cert_is_ca (ksba_cert_t cert, int *r_ca, int *r_pathlen)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1186,1
    - Dst: ksba_cert_get_extension
      Src: /src/libksba/src/cert.c:1188,1
    - Dst: strcmp
      Src: /src/libksba/src/cert.c:1191,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/cert.c:1194,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/cert.c:1195,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1196,1
    - Dst: ksba_cert_get_extension
      Src: /src/libksba/src/cert.c:1201,1
    - Dst: strcmp
      Src: /src/libksba/src/cert.c:1204,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1205,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1210,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1215,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1217,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1219,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1223,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 75
    argCount: 2
    argNames:
    - cert
    - r_flags
    argTypes:
    - ksba_cert_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1173
    functionDepth: 3
    functionLinenumber: 1173
    functionLinenumberEnd: 1272
    functionName: ksba_cert_get_key_usage
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 7
    functionsReached:
    - strcmp
    - ksba_cert_get_extension
    - gpg_error
    - gpg_err_code
    - _ksba_ber_parse_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cert_get_key_usage (ksba_cert_t cert, unsigned int
      *r_flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/libksba/src/cert.c:1284,1
    - Dst: strlen
      Src: /src/libksba/src/cert.c:1284,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1286,1
    - Dst: xtryrealloc
      Src: /src/libksba/src/cert.c:1291,1
    - Dst: strlen
      Src: /src/libksba/src/cert.c:1292,1
    - Dst: strlen
      Src: /src/libksba/src/cert.c:1292,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1294,1
    - Dst: stpcpy
      Src: /src/libksba/src/cert.c:1296,1
    - Dst: strlen
      Src: /src/libksba/src/cert.c:1296,1
    - Dst: strcpy
      Src: /src/libksba/src/cert.c:1299,1
    - Dst: stpcpy
      Src: /src/libksba/src/cert.c:1299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - policies
    - oid
    - crit
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1301
    functionName: append_cert_policy
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 0
    functionsReached:
    - strlen
    - xtryrealloc
    - gpg_error
    - strcpy
    - stpcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t append_cert_policy (char **policies, const char *oid, int
      crit)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1321,1
    - Dst: ksba_cert_get_extension
      Src: /src/libksba/src/cert.c:1324,1
    - Dst: strcmp
      Src: /src/libksba/src/cert.c:1327,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1333,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1339,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1344,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1350,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1357,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1363,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1368,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1373,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1379,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1384,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1390,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1395,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1400,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1405,1
    - Dst: ksba_oid_to_str
      Src: /src/libksba/src/cert.c:1410,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1413,1
    - Dst: append_cert_policy
      Src: /src/libksba/src/cert.c:1420,1
    - Dst: xfree
      Src: /src/libksba/src/cert.c:1421,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/cert.c:1432,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/cert.c:1434,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1435,1
    - Dst: xfree
      Src: /src/libksba/src/cert.c:1440,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 109
    argCount: 2
    argNames:
    - cert
    - r_policies
    argTypes:
    - ksba_cert_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1310
    functionDepth: 3
    functionLinenumber: 1310
    functionLinenumberEnd: 1444
    functionName: ksba_cert_get_cert_policies
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 6
    functionsReached:
    - strcmp
    - ksba_cert_get_extension
    - gpg_error
    - ksba_oid_to_str
    - append_cert_policy
    - xfree
    - gpg_err_code
    - _ksba_ber_parse_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cert_get_cert_policies (ksba_cert_t cert, char **r_policies)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1464,1
    - Dst: ksba_cert_get_extension
      Src: /src/libksba/src/cert.c:1467,1
    - Dst: strcmp
      Src: /src/libksba/src/cert.c:1470,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1476,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1482,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1487,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1492,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1497,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1502,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1507,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1512,1
    - Dst: ksba_oid_to_str
      Src: /src/libksba/src/cert.c:1516,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1519,1
    - Dst: append_cert_policy
      Src: /src/libksba/src/cert.c:1525,1
    - Dst: xfree
      Src: /src/libksba/src/cert.c:1526,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/cert.c:1533,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/cert.c:1535,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1536,1
    - Dst: xfree
      Src: /src/libksba/src/cert.c:1541,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 73
    argCount: 2
    argNames:
    - cert
    - result
    argTypes:
    - ksba_cert_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1453
    functionDepth: 3
    functionLinenumber: 1453
    functionLinenumberEnd: 1545
    functionName: ksba_cert_get_ext_key_usages
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 8
    functionsReached:
    - strcmp
    - ksba_cert_get_extension
    - gpg_error
    - ksba_oid_to_str
    - append_cert_policy
    - xfree
    - gpg_err_code
    - _ksba_ber_parse_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cert_get_ext_key_usages (ksba_cert_t cert, char **result)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1559,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1563,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1565,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1567,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1571,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1575,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1577,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1579,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1581,1
    - Dst: _ksba_name_new_from_der
      Src: /src/libksba/src/cert.c:1587,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1603,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1607,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1609,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1611,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1620,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1624,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1666,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1670,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1672,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1674,1
    - Dst: _ksba_name_new_from_der
      Src: /src/libksba/src/cert.c:1681,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1691,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 105
    argCount: 5
    argNames:
    - der
    - derlen
    - distpoint
    - issuer
    - reason
    argTypes:
    - unsigned char*
    - size_t
    - ksba_name_t*
    - ksba_name_t*
    - ksba_crl_reason_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1551
    functionDepth: 3
    functionLinenumber: 1551
    functionLinenumberEnd: 1694
    functionName: parse_distribution_point
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 0
    functionsReached:
    - gpg_error
    - _ksba_ber_parse_tl
    - _ksba_name_new_from_der
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t parse_distribution_point (const unsigned char *der, size_t
      derlen,\n                          ksba_name_t *distpoint, ksba_name_t *issuer,\n
      \                         ksba_crl_reason_t *reason)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ksba_cert_get_extension
      Src: /src/libksba/src/cert.c:1729,1
    - Dst: strcmp
      Src: /src/libksba/src/cert.c:1732,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1740,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1745,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1747,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1750,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1757,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1762,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1764,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1766,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1769,1
    - Dst: parse_distribution_point
      Src: /src/libksba/src/cert.c:1783,1
    - Dst: ksba_name_release
      Src: /src/libksba/src/cert.c:1787,1
    - Dst: ksba_name_release
      Src: /src/libksba/src/cert.c:1792,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 58
    argCount: 5
    argNames:
    - cert
    - idx
    - r_distpoint
    - r_issuer
    - r_reason
    argTypes:
    - ksba_cert_t
    - int
    - ksba_name_t*
    - ksba_name_t*
    - ksba_crl_reason_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1711
    functionDepth: 4
    functionLinenumber: 1711
    functionLinenumberEnd: 1804
    functionName: ksba_cert_get_crl_dist_point
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 5
    functionsReached:
    - parse_distribution_point
    - strcmp
    - ksba_cert_get_extension
    - gpg_error
    - ksba_name_release
    - _ksba_ber_parse_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_get_crl_dist_point (ksba_cert_t cert, int idx,\n
      \                             ksba_name_t *r_distpoint,\n                              ksba_name_t
      *r_issuer,\n                              ksba_crl_reason_t *r_reason)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1831,1
    - Dst: ksba_cert_get_extension
      Src: /src/libksba/src/cert.c:1835,1
    - Dst: strcmp
      Src: /src/libksba/src/cert.c:1838,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/cert.c:1841,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/cert.c:1842,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1843,1
    - Dst: ksba_cert_get_extension
      Src: /src/libksba/src/cert.c:1848,1
    - Dst: strcmp
      Src: /src/libksba/src/cert.c:1851,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1852,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1857,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1862,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1864,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1866,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1868,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1872,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1874,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1876,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1890,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1891,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1895,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1897,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1899,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1903,1
    - Dst: _ksba_name_new_from_der
      Src: /src/libksba/src/cert.c:1905,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:1913,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1917,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1919,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1921,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1924,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1927,1
    - Dst: sprintf
      Src: /src/libksba/src/cert.c:1928,1
    - Dst: strlen
      Src: /src/libksba/src/cert.c:1929,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cert.c:1930,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1932,1
    - Dst: strcpy
      Src: /src/libksba/src/cert.c:1933,1
    - Dst: memcpy
      Src: /src/libksba/src/cert.c:1934,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1942,1
    - Dst: sprintf
      Src: /src/libksba/src/cert.c:1943,1
    - Dst: strlen
      Src: /src/libksba/src/cert.c:1944,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cert.c:1945,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1947,1
    - Dst: strcpy
      Src: /src/libksba/src/cert.c:1948,1
    - Dst: memcpy
      Src: /src/libksba/src/cert.c:1949,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 103
    argCount: 4
    argNames:
    - cert
    - r_keyid
    - r_name
    - r_serial
    argTypes:
    - ksba_cert_t
    - ksba_sexp_t*
    - ksba_name_t*
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1811
    functionDepth: 3
    functionLinenumber: 1811
    functionLinenumberEnd: 1954
    functionName: ksba_cert_get_auth_key_id
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 8
    functionsReached:
    - strlen
    - sprintf
    - strcmp
    - ksba_cert_get_extension
    - gpg_error
    - gpg_err_code
    - _ksba_name_new_from_der
    - strcpy
    - memcpy
    - _ksba_ber_parse_tl
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_get_auth_key_id (ksba_cert_t cert,\n                           ksba_sexp_t
      *r_keyid,\n                           ksba_name_t *r_name,\n                           ksba_sexp_t
      *r_serial)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1978,1
    - Dst: ksba_cert_get_extension
      Src: /src/libksba/src/cert.c:1981,1
    - Dst: strcmp
      Src: /src/libksba/src/cert.c:1984,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/cert.c:1989,1
    - Dst: gpg_err_code
      Src: /src/libksba/src/cert.c:1990,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:1991,1
    - Dst: ksba_cert_get_extension
      Src: /src/libksba/src/cert.c:1996,1
    - Dst: strcmp
      Src: /src/libksba/src/cert.c:1999,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2000,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:2005,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2010,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2012,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2014,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2016,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2019,1
    - Dst: sprintf
      Src: /src/libksba/src/cert.c:2020,1
    - Dst: strlen
      Src: /src/libksba/src/cert.c:2021,1
    - Dst: xtrymalloc
      Src: /src/libksba/src/cert.c:2022,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2024,1
    - Dst: strcpy
      Src: /src/libksba/src/cert.c:2025,1
    - Dst: memcpy
      Src: /src/libksba/src/cert.c:2026,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 4
    argNames:
    - cert
    - oid
    - r_crit
    - r_data
    argTypes:
    - ksba_cert_t
    - char*
    - int*
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1964
    functionDepth: 3
    functionLinenumber: 1964
    functionLinenumberEnd: 2032
    functionName: get_simple_octet_string_ext
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 0
    functionsReached:
    - strlen
    - sprintf
    - strcmp
    - ksba_cert_get_extension
    - gpg_error
    - gpg_err_code
    - strcpy
    - memcpy
    - _ksba_ber_parse_tl
    - xtrymalloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_simple_octet_string_ext (ksba_cert_t cert, const char
      *oid,\n                             int *r_crit, ksba_sexp_t *r_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_simple_octet_string_ext
      Src: /src/libksba/src/cert.c:2043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - r_crit
    - r_keyid
    argTypes:
    - ksba_cert_t
    - int*
    - ksba_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2040
    functionDepth: 4
    functionLinenumber: 2040
    functionLinenumberEnd: 2045
    functionName: ksba_cert_get_subj_key_id
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 9
    functionsReached:
    - get_simple_octet_string_ext
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ksba_cert_get_subj_key_id (ksba_cert_t cert, int *r_crit,
      ksba_sexp_t *r_keyid)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2068,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2070,1
    - Dst: ksba_cert_get_extension
      Src: /src/libksba/src/cert.c:2072,1
    - Dst: strcmp
      Src: /src/libksba/src/cert.c:2075,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:2093,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2098,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2100,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2103,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:2110,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2115,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2117,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2119,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2122,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2137,1
    - Dst: _ksba_ber_parse_tl
      Src: /src/libksba/src/cert.c:2139,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2145,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2147,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2149,1
    - Dst: ksba_oid_to_str
      Src: /src/libksba/src/cert.c:2151,1
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2153,1
    - Dst: _ksba_name_new_from_der
      Src: /src/libksba/src/cert.c:2157,1
    - Dst: ksba_free
      Src: /src/libksba/src/cert.c:2160,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 68
    argCount: 5
    argNames:
    - cert
    - idx
    - mode
    - method
    - location
    argTypes:
    - ksba_cert_t
    - int
    - int
    - char**
    - ksba_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2170
      start: 2055
    functionDepth: 3
    functionLinenumber: 2055
    functionLinenumberEnd: 2170
    functionName: get_info_access
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 0
    functionsReached:
    - ksba_free
    - strcmp
    - ksba_cert_get_extension
    - gpg_error
    - ksba_oid_to_str
    - _ksba_name_new_from_der
    - _ksba_ber_parse_tl
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_info_access (ksba_cert_t cert, int idx, int mode,\n
      \                char **method, ksba_name_t *location)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2186,1
    - Dst: get_info_access
      Src: /src/libksba/src/cert.c:2187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - cert
    - idx
    - r_method
    - r_location
    argTypes:
    - ksba_cert_t
    - int
    - char**
    - ksba_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2181
    functionDepth: 4
    functionLinenumber: 2181
    functionLinenumberEnd: 2188
    functionName: ksba_cert_get_authority_info_access
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 5
    functionsReached:
    - gpg_error
    - get_info_access
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_get_authority_info_access (ksba_cert_t cert,
      int idx,\n                                     char **r_method, ksba_name_t
      *r_location)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libksba/src/cert.c:2204,1
    - Dst: get_info_access
      Src: /src/libksba/src/cert.c:2205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - cert
    - idx
    - r_method
    - r_location
    argTypes:
    - ksba_cert_t
    - int
    - char**
    - ksba_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2206
      start: 2199
    functionDepth: 4
    functionLinenumber: 2199
    functionLinenumberEnd: 2206
    functionName: ksba_cert_get_subject_info_access
    functionSourceFile: /src/libksba/src/cert.c
    functionUses: 3
    functionsReached:
    - gpg_error
    - get_info_access
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ksba_cert_get_subject_info_access (ksba_cert_t cert, int
      idx,\n                                   char **r_method, ksba_name_t *r_location)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: MARK_VISIBLE
    functionSourceFile: /src/libksba/src/visibility.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MARK_VISIBLE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: MARK_VISIBLEX
    functionSourceFile: /src/libksba/src/visibility.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MARK_VISIBLEX(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: YY_CAST
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: YY_REINTERPRET_CAST
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_REINTERPRET_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: YY_CAST
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: YY_REINTERPRET_CAST
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_REINTERPRET_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: NEW_NODE
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEW_NODE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    functionName: YYSIZEOF
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYSIZEOF(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 357
    functionName: YY_
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_(Msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 361
    functionName: YY_
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_(Msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 383
    functionName: YYUSE
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYUSE(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: YY_INITIAL_VALUE
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_INITIAL_VALUE(Value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 420
    functionName: YY_ASSERT
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_ASSERT(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: YYSTACK_BYTES
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYSTACK_BYTES(N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Stack_alloc
    - ','
    - Stack
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 526
    functionName: YYSTACK_RELOCATE
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYSTACK_RELOCATE(Stack_alloc, Stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Dst
    - ','
    - Src
    - ','
    - Count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 536
    functionName: YYCOPY
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYCOPY(Dst, Src, Count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Dst
    - ','
    - Src
    - ','
    - Count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 545
    functionName: YYCOPY
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYCOPY(Dst, Src, Count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - YYX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: YYTRANSLATE
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYTRANSLATE(YYX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Yyn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 678
    functionName: yypact_value_is_default
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yypact_value_is_default(Yyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Yyn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 683
    functionName: yytable_value_is_error
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yytable_value_is_error(Yyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 885
    functionName: YYRECOVERING
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYRECOVERING()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Token
    - ','
    - Value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 902
    functionName: YYBACKUP
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYBACKUP(Token, Value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 922
    functionName: YYDPRINTF
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYDPRINTF(Args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - File
    - ','
    - Loc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 926
    functionName: YY_LOCATION_PRINT
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_LOCATION_PRINT(File, Loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - Title
    - ','
    - Type
    - ','
    - Value
    - ','
    - Location
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 939
    functionName: YY_SYMBOL_PRINT
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_SYMBOL_PRINT(Title, Type, Value, Location)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YYUSE
      Src: /src/libksba/src/asn1-parse.c:949,1
    - Dst: YYUSE
      Src: /src/libksba/src/asn1-parse.c:950,1
    - Dst: YYPRINT
      Src: /src/libksba/src/asn1-parse.c:955,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - yyo
    - yytype
    - yyvaluep
    - parm
    argTypes:
    - FILE*
    - int
    - YYSTYPE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 960
    functionName: yy_symbol_value_print
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached:
    - YYPRINT
    - YYUSE
    linkageType: ''
    returnType: void
    signature: void yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const *
      const yyvaluep, void *parm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/libksba/src/asn1-parse.c:970,1
    - Dst: yy_symbol_value_print
      Src: /src/libksba/src/asn1-parse.c:973,1
    - Dst: YYFPRINTF
      Src: /src/libksba/src/asn1-parse.c:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - yyo
    - yytype
    - yyvaluep
    - parm
    argTypes:
    - FILE*
    - int
    - YYSTYPE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 967
    functionDepth: 2
    functionLinenumber: 967
    functionLinenumberEnd: 975
    functionName: yy_symbol_print
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached:
    - yy_symbol_value_print
    - YYFPRINTF
    linkageType: ''
    returnType: void
    signature: void yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const
      yyvaluep, void *parm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/libksba/src/asn1-parse.c:985,1
    - Dst: YYFPRINTF
      Src: /src/libksba/src/asn1-parse.c:989,1
    - Dst: YYFPRINTF
      Src: /src/libksba/src/asn1-parse.c:991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - yybottom
    - yytop
    argTypes:
    - yy_state_t*
    - yy_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 992
    functionName: yy_stack_print
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached:
    - YYFPRINTF
    linkageType: ''
    returnType: void
    signature: void yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Bottom
    - ','
    - Top
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 999
    functionName: YY_STACK_PRINT
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_STACK_PRINT(Bottom, Top)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/libksba/src/asn1-parse.c:1011,1
    - Dst: YYFPRINTF
      Src: /src/libksba/src/asn1-parse.c:1016,1
    - Dst: yy_symbol_print
      Src: /src/libksba/src/asn1-parse.c:1017,1
    - Dst: YYFPRINTF
      Src: /src/libksba/src/asn1-parse.c:1021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - yyssp
    - yyvsp
    - yyrule
    - parm
    argTypes:
    - yy_state_t*
    - YYSTYPE*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1005
    functionDepth: 3
    functionLinenumber: 1005
    functionLinenumberEnd: 1023
    functionName: yy_reduce_print
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached:
    - YYFPRINTF
    - yy_symbol_print
    linkageType: ''
    returnType: void
    signature: void yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule,
      void *parm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Rule
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1030
    functionName: YY_REDUCE_PRINT
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_REDUCE_PRINT(Rule)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1064
    functionName: yystrlen
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yystrlen(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - yystr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1073
    functionName: yystrlen
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: YYPTRDIFF_T
    signature: YYPTRDIFF_T yystrlen (const char *yystr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - yydest
    - yysrc
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1093
    functionName: yystpcpy
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      yystpcpy (char *yydest, const char *yysrc)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: yystpcpy
      Src: /src/libksba/src/asn1-parse.c:1142,1
    - Dst: yystrlen
      Src: /src/libksba/src/asn1-parse.c:1144,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - yyres
    - yystr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1145
    functionName: yytnamerr
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached:
    - yystrlen
    - yystpcpy
    linkageType: ''
    returnType: YYPTRDIFF_T
    signature: YYPTRDIFF_T yytnamerr (char *yyres, const char *yystr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: yytnamerr
      Src: /src/libksba/src/asn1-parse.c:1197,1
    - Dst: yypact_value_is_default
      Src: /src/libksba/src/asn1-parse.c:1200,1
    - Dst: yytable_value_is_error
      Src: /src/libksba/src/asn1-parse.c:1213,1
    - Dst: yytnamerr
      Src: /src/libksba/src/asn1-parse.c:1224,1
    - Dst: YYCASE_
      Src: /src/libksba/src/asn1-parse.c:1241,1
    - Dst: YY_
      Src: /src/libksba/src/asn1-parse.c:1241,1
    - Dst: YYCASE_
      Src: /src/libksba/src/asn1-parse.c:1242,1
    - Dst: YY_
      Src: /src/libksba/src/asn1-parse.c:1242,1
    - Dst: YYCASE_
      Src: /src/libksba/src/asn1-parse.c:1243,1
    - Dst: YY_
      Src: /src/libksba/src/asn1-parse.c:1243,1
    - Dst: YYCASE_
      Src: /src/libksba/src/asn1-parse.c:1244,1
    - Dst: YY_
      Src: /src/libksba/src/asn1-parse.c:1244,1
    - Dst: YYCASE_
      Src: /src/libksba/src/asn1-parse.c:1245,1
    - Dst: YY_
      Src: /src/libksba/src/asn1-parse.c:1245,1
    - Dst: YYCASE_
      Src: /src/libksba/src/asn1-parse.c:1246,1
    - Dst: YY_
      Src: /src/libksba/src/asn1-parse.c:1246,1
    - Dst: yystrlen
      Src: /src/libksba/src/asn1-parse.c:1253,1
    - Dst: yytnamerr
      Src: /src/libksba/src/asn1-parse.c:1278,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 4
    argNames:
    - yymsg_alloc
    - yymsg
    - yyssp
    - yytoken
    argTypes:
    - YYPTRDIFF_T*
    - char**
    - yy_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1156
    functionDepth: 2
    functionLinenumber: 1156
    functionLinenumberEnd: 1288
    functionName: yysyntax_error
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached:
    - yytable_value_is_error
    - yytnamerr
    - yypact_value_is_default
    - YYCASE_
    - yystrlen
    - YY_
    linkageType: ''
    returnType: int
    signature: "int yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,\n                yy_state_t
      *yyssp, int yytoken)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - N
    - ','
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1240
    functionName: YYCASE_
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYCASE_(N, S)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YYUSE
      Src: /src/libksba/src/asn1-parse.c:1298,1
    - Dst: YYUSE
      Src: /src/libksba/src/asn1-parse.c:1299,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/libksba/src/asn1-parse.c:1302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - yymsg
    - yytype
    - yyvaluep
    - parm
    argTypes:
    - char*
    - int
    - YYSTYPE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1307
    functionName: yydestruct
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached:
    - YY_SYMBOL_PRINT
    - YYUSE
    linkageType: ''
    returnType: void
    signature: void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep,
      void *parm)
  - BBCount: 141
    BranchProfiles: []
    Callsites:
    - Dst: YYDPRINTF
      Src: /src/libksba/src/asn1-parse.c:1380,1
    - Dst: YYDPRINTF
      Src: /src/libksba/src/asn1-parse.c:1402,1
    - Dst: YY_ASSERT
      Src: /src/libksba/src/asn1-parse.c:1403,1
    - Dst: YY_CAST
      Src: /src/libksba/src/asn1-parse.c:1405,1
    - Dst: yyoverflow
      Src: /src/libksba/src/asn1-parse.c:1428,1
    - Dst: YY_
      Src: /src/libksba/src/asn1-parse.c:1428,1
    - Dst: YYSIZEOF
      Src: /src/libksba/src/asn1-parse.c:1429,1
    - Dst: YYSIZEOF
      Src: /src/libksba/src/asn1-parse.c:1430,1
    - Dst: YY_CAST
      Src: /src/libksba/src/asn1-parse.c:1446,1
    - Dst: YYSTACK_ALLOC
      Src: /src/libksba/src/asn1-parse.c:1447,1
    - Dst: YY_CAST
      Src: /src/libksba/src/asn1-parse.c:1447,1
    - Dst: YYSTACK_BYTES
      Src: /src/libksba/src/asn1-parse.c:1447,1
    - Dst: YYSTACK_RELOCATE
      Src: /src/libksba/src/asn1-parse.c:1450,1
    - Dst: YYSTACK_RELOCATE
      Src: /src/libksba/src/asn1-parse.c:1451,1
    - Dst: YYSTACK_FREE
      Src: /src/libksba/src/asn1-parse.c:1454,1
    - Dst: YY_CAST
      Src: /src/libksba/src/asn1-parse.c:1463,1
    - Dst: yypact_value_is_default
      Src: /src/libksba/src/asn1-parse.c:1486,1
    - Dst: YYDPRINTF
      Src: /src/libksba/src/asn1-parse.c:1494,1
    - Dst: yylex
      Src: /src/libksba/src/asn1-parse.c:1495,1
    - Dst: YYDPRINTF
      Src: /src/libksba/src/asn1-parse.c:1501,1
    - Dst: YYTRANSLATE
      Src: /src/libksba/src/asn1-parse.c:1505,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/libksba/src/asn1-parse.c:1506,1
    - Dst: yytable_value_is_error
      Src: /src/libksba/src/asn1-parse.c:1517,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/libksba/src/asn1-parse.c:1529,1
    - Dst: YY_REDUCE_PRINT
      Src: /src/libksba/src/asn1-parse.c:1568,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-parse.c:1573,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-parse.c:1579,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-parse.c:1586,1
    - Dst: strcat
      Src: /src/libksba/src/asn1-parse.c:1587,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-parse.c:1594,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-parse.c:1600,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-parse.c:1606,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-parse.c:1612,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-parse.c:1618,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-parse.c:1624,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1631,1
    - Dst: set_str_value
      Src: /src/libksba/src/asn1-parse.c:1632,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1640,1
    - Dst: set_name
      Src: /src/libksba/src/asn1-parse.c:1641,1
    - Dst: set_str_value
      Src: /src/libksba/src/asn1-parse.c:1642,1
    - Dst: append_right
      Src: /src/libksba/src/asn1-parse.c:1657,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1665,1
    - Dst: set_str_value
      Src: /src/libksba/src/asn1-parse.c:1666,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1674,1
    - Dst: set_name
      Src: /src/libksba/src/asn1-parse.c:1675,1
    - Dst: set_str_value
      Src: /src/libksba/src/asn1-parse.c:1676,1
    - Dst: append_right
      Src: /src/libksba/src/asn1-parse.c:1691,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1717,1
    - Dst: set_ulong_value
      Src: /src/libksba/src/asn1-parse.c:1719,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1727,1
    - Dst: set_ulong_value
      Src: /src/libksba/src/asn1-parse.c:1729,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1761,1
    - Dst: set_str_value
      Src: /src/libksba/src/asn1-parse.c:1762,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1770,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1779,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1788,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1796,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:1798,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1806,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:1809,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1809,1
    - Dst: set_str_value
      Src: /src/libksba/src/asn1-parse.c:1810,1
    - Dst: set_name
      Src: /src/libksba/src/asn1-parse.c:1811,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1819,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1827,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1835,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1843,1
    - Dst: set_str_value
      Src: /src/libksba/src/asn1-parse.c:1845,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1853,1
    - Dst: set_str_value
      Src: /src/libksba/src/asn1-parse.c:1855,1
    - Dst: set_name
      Src: /src/libksba/src/asn1-parse.c:1856,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1880,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1888,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:1890,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1897,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1904,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:1906,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1913,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1920,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:1922,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1929,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1936,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:1938,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1945,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1952,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:1954,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1961,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1968,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:1970,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1977,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1984,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:1986,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:1993,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2000,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:2002,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2010,1
    - Dst: set_name
      Src: /src/libksba/src/asn1-parse.c:2011,1
    - Dst: set_str_value
      Src: /src/libksba/src/asn1-parse.c:2012,1
    - Dst: append_right
      Src: /src/libksba/src/asn1-parse.c:2029,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2037,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2045,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:2047,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2055,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:2057,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2065,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2073,1
    - Dst: set_str_value
      Src: /src/libksba/src/asn1-parse.c:2074,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2082,1
    - Dst: set_str_value
      Src: /src/libksba/src/asn1-parse.c:2084,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:2085,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2159,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:2180,1
    - Dst: set_right
      Src: /src/libksba/src/asn1-parse.c:2198,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:2199,1
    - Dst: set_name
      Src: /src/libksba/src/asn1-parse.c:2216,1
    - Dst: append_right
      Src: /src/libksba/src/asn1-parse.c:2232,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2240,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:2241,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2249,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:2250,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2258,1
    - Dst: set_right
      Src: /src/libksba/src/asn1-parse.c:2260,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:2261,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2269,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:2270,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2278,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:2279,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2287,1
    - Dst: set_right
      Src: /src/libksba/src/asn1-parse.c:2289,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:2290,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2298,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:2299,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2307,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2317,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2319,1
    - Dst: set_name
      Src: /src/libksba/src/asn1-parse.c:2320,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:2321,1
    - Dst: set_name
      Src: /src/libksba/src/asn1-parse.c:2329,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2338,1
    - Dst: set_name
      Src: /src/libksba/src/asn1-parse.c:2340,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:2341,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2349,1
    - Dst: set_name
      Src: /src/libksba/src/asn1-parse.c:2352,1
    - Dst: set_str_value
      Src: /src/libksba/src/asn1-parse.c:2353,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:2354,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2362,1
    - Dst: set_name
      Src: /src/libksba/src/asn1-parse.c:2364,1
    - Dst: set_str_value
      Src: /src/libksba/src/asn1-parse.c:2365,1
    - Dst: append_right
      Src: /src/libksba/src/asn1-parse.c:2392,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2400,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:2401,1
    - Dst: set_name
      Src: /src/libksba/src/asn1-parse.c:2402,1
    - Dst: NEW_NODE
      Src: /src/libksba/src/asn1-parse.c:2430,1
    - Dst: set_name
      Src: /src/libksba/src/asn1-parse.c:2440,1
    - Dst: set_name
      Src: /src/libksba/src/asn1-parse.c:2441,1
    - Dst: set_right
      Src: /src/libksba/src/asn1-parse.c:2444,1
    - Dst: set_right
      Src: /src/libksba/src/asn1-parse.c:2447,1
    - Dst: set_right
      Src: /src/libksba/src/asn1-parse.c:2448,1
    - Dst: set_down
      Src: /src/libksba/src/asn1-parse.c:2451,1
    - Dst: _ksba_asn_set_default_tag
      Src: /src/libksba/src/asn1-parse.c:2453,1
    - Dst: _ksba_asn_type_set_config
      Src: /src/libksba/src/asn1-parse.c:2454,1
    - Dst: _ksba_asn_check_identifier
      Src: /src/libksba/src/asn1-parse.c:2455,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/libksba/src/asn1-parse.c:2477,1
    - Dst: YYPOPSTACK
      Src: /src/libksba/src/asn1-parse.c:2479,1
    - Dst: YY_STACK_PRINT
      Src: /src/libksba/src/asn1-parse.c:2481,1
    - Dst: YYTRANSLATE
      Src: /src/libksba/src/asn1-parse.c:2505,1
    - Dst: yyerror
      Src: /src/libksba/src/asn1-parse.c:2512,1
    - Dst: YY_
      Src: /src/libksba/src/asn1-parse.c:2512,1
    - Dst: YY_
      Src: /src/libksba/src/asn1-parse.c:2517,1
    - Dst: YYSTACK_FREE
      Src: /src/libksba/src/asn1-parse.c:2525,1
    - Dst: YY_CAST
      Src: /src/libksba/src/asn1-parse.c:2526,1
    - Dst: YYSTACK_ALLOC
      Src: /src/libksba/src/asn1-parse.c:2526,1
    - Dst: YY_CAST
      Src: /src/libksba/src/asn1-parse.c:2526,1
    - Dst: yyerror
      Src: /src/libksba/src/asn1-parse.c:2539,1
    - Dst: yydestruct
      Src: /src/libksba/src/asn1-parse.c:2562,1
    - Dst: YYPOPSTACK
      Src: /src/libksba/src/asn1-parse.c:2584,1
    - Dst: YY_STACK_PRINT
      Src: /src/libksba/src/asn1-parse.c:2586,1
    - Dst: yypact_value_is_default
      Src: /src/libksba/src/asn1-parse.c:2600,1
    - Dst: yydestruct
      Src: /src/libksba/src/asn1-parse.c:2616,1
    - Dst: YYPOPSTACK
      Src: /src/libksba/src/asn1-parse.c:2618,1
    - Dst: YY_STACK_PRINT
      Src: /src/libksba/src/asn1-parse.c:2620,1
    - Dst: yyerror
      Src: /src/libksba/src/asn1-parse.c:2656,1
    - Dst: YY_
      Src: /src/libksba/src/asn1-parse.c:2656,1
    - Dst: YYTRANSLATE
      Src: /src/libksba/src/asn1-parse.c:2670,1
    - Dst: yydestruct
      Src: /src/libksba/src/asn1-parse.c:2671,1
    - Dst: YYPOPSTACK
      Src: /src/libksba/src/asn1-parse.c:2676,1
    - Dst: YY_STACK_PRINT
      Src: /src/libksba/src/asn1-parse.c:2677,1
    - Dst: yydestruct
      Src: /src/libksba/src/asn1-parse.c:2680,1
    - Dst: YYPOPSTACK
      Src: /src/libksba/src/asn1-parse.c:2682,1
    - Dst: YYSTACK_FREE
      Src: /src/libksba/src/asn1-parse.c:2686,1
    - Dst: YYSTACK_FREE
      Src: /src/libksba/src/asn1-parse.c:2690,1
    CyclomaticComplexity: 172
    EdgeCount: 172
    ICount: 743
    argCount: 1
    argNames:
    - parm
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2693
      start: 1316
    functionDepth: 4
    functionLinenumber: 1316
    functionLinenumberEnd: 2693
    functionName: yyparse
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached:
    - yytable_value_is_error
    - set_ulong_value
    - YY_SYMBOL_PRINT
    - YYSIZEOF
    - set_down
    - YYSTACK_BYTES
    - set_right
    - YYSTACK_RELOCATE
    - YY_
    - YYDPRINTF
    - strcat
    - YYTRANSLATE
    - NEW_NODE
    - yyerror
    - YY_STACK_PRINT
    - YYPOPSTACK
    - yypact_value_is_default
    - YYSTACK_FREE
    - YYSTACK_ALLOC
    - append_right
    - yylex
    - _ksba_asn_type_set_config
    - YY_ASSERT
    - yydestruct
    - YY_CAST
    - YY_REDUCE_PRINT
    - _ksba_asn_set_default_tag
    - yyoverflow
    - _ksba_asn_check_identifier
    - strcpy
    - set_str_value
    - set_name
    linkageType: ''
    returnType: int
    signature: int yyparse (void *parm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1371
    functionName: YYPOPSTACK
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYPOPSTACK(N)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/libksba/src/asn1-parse.c:2766,1
    - Dst: fgetc
      Src: /src/libksba/src/asn1-parse.c:2782,1
    - Dst: ungetc
      Src: /src/libksba/src/asn1-parse.c:2784,1
    - Dst: fgetc
      Src: /src/libksba/src/asn1-parse.c:2791,1
    - Dst: DIM
      Src: /src/libksba/src/asn1-parse.c:2802,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-parse.c:2804,1
    - Dst: fgetc
      Src: /src/libksba/src/asn1-parse.c:2810,1
    - Dst: ungetc
      Src: /src/libksba/src/asn1-parse.c:2815,1
    - Dst: isdigit
      Src: /src/libksba/src/asn1-parse.c:2822,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-parse.c:2827,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-parse.c:2829,1
    - Dst: DIM
      Src: /src/libksba/src/asn1-parse.c:2835,1
    - Dst: strcmp
      Src: /src/libksba/src/asn1-parse.c:2837,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-parse.c:2842,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-parse.c:2844,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 55
    argCount: 2
    argNames:
    - lvalp
    - parm
    argTypes:
    - YYSTYPE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2848
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2848
    functionName: yylex
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 1
    functionsReached:
    - isdigit
    - DIM
    - fprintf
    - strcmp
    - strcpy
    - ungetc
    - fgetc
    linkageType: ''
    returnType: int
    signature: int yylex (YYSTYPE *lvalp, void *parm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libksba/src/asn1-parse.c:2855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - parm
    - s
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2859
      start: 2850
    functionDepth: 0
    functionLinenumber: 2850
    functionLinenumberEnd: 2859
    functionName: yyerror
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void yyerror (void *parm, const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc
      Src: /src/libksba/src/asn1-parse.c:2868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - parsectl
    - type
    argTypes:
    - struct parser_control_s*
    - node_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2875
      start: 2863
    functionDepth: 0
    functionLinenumber: 2863
    functionLinenumberEnd: 2875
    functionName: new_node
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 1
    functionsReached:
    - xcalloc
    linkageType: ''
    returnType: AsnNode
    signature: AsnNode new_node (struct parser_control_s *parsectl, node_type_t type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libksba/src/asn1-parse.c:2885,1
    - Dst: xfree
      Src: /src/libksba/src/asn1-parse.c:2888,1
    - Dst: xfree
      Src: /src/libksba/src/asn1-parse.c:2890,1
    - Dst: xfree
      Src: /src/libksba/src/asn1-parse.c:2892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2894
      start: 2877
    functionDepth: 0
    functionLinenumber: 2877
    functionLinenumberEnd: 2894
    functionName: release_all_nodes
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void release_all_nodes (AsnNode node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_set_name
      Src: /src/libksba/src/asn1-parse.c:2899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - name
    argTypes:
    - AsnNode
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2900
      start: 2896
    functionDepth: 1
    functionLinenumber: 2896
    functionLinenumberEnd: 2900
    functionName: set_name
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 5
    functionsReached:
    - _ksba_asn_set_name
    linkageType: ''
    returnType: void
    signature: void set_name (AsnNode node, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ksba_asn_set_value
      Src: /src/libksba/src/asn1-parse.c:2906,1
    - Dst: _ksba_asn_set_value
      Src: /src/libksba/src/asn1-parse.c:2908,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - node
    - text
    argTypes:
    - AsnNode
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2909
      start: 2902
    functionDepth: 1
    functionLinenumber: 2902
    functionLinenumberEnd: 2909
    functionName: set_str_value
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 1
    functionsReached:
    - _ksba_asn_set_value
    linkageType: ''
    returnType: void
    signature: void set_str_value (AsnNode node, const char *text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/libksba/src/asn1-parse.c:2917,1
    - Dst: _ksba_asn_set_value
      Src: /src/libksba/src/asn1-parse.c:2920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - node
    - text
    argTypes:
    - AsnNode
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2921
      start: 2911
    functionDepth: 1
    functionLinenumber: 2911
    functionLinenumberEnd: 2921
    functionName: set_ulong_value
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 1
    functionsReached:
    - _ksba_asn_set_value
    - strtoul
    linkageType: ''
    returnType: void
    signature: void set_ulong_value (AsnNode node, const char *text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_if_fail
      Src: /src/libksba/src/asn1-parse.c:2926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - node
    - right
    argTypes:
    - AsnNode
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2931
      start: 2923
    functionDepth: 0
    functionLinenumber: 2923
    functionLinenumberEnd: 2931
    functionName: set_right
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 4
    functionsReached:
    - return_if_fail
    linkageType: ''
    returnType: void
    signature: void set_right (AsnNode node, AsnNode right)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_if_fail
      Src: /src/libksba/src/asn1-parse.c:2936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - right
    argTypes:
    - AsnNode
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2944
      start: 2933
    functionDepth: 0
    functionLinenumber: 2933
    functionLinenumberEnd: 2944
    functionName: append_right
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 1
    functionsReached:
    - return_if_fail
    linkageType: ''
    returnType: void
    signature: void append_right (AsnNode node, AsnNode right)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_if_fail
      Src: /src/libksba/src/asn1-parse.c:2950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - node
    - down
    argTypes:
    - AsnNode
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2955
      start: 2947
    functionDepth: 0
    functionLinenumber: 2947
    functionLinenumberEnd: 2955
    functionName: set_down
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 4
    functionsReached:
    - return_if_fail
    linkageType: ''
    returnType: void
    signature: void set_down (AsnNode node, AsnNode down)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libksba/src/asn1-parse.c:2975,1
    - Dst: gpg_error_from_syserror
      Src: /src/libksba/src/asn1-parse.c:2977,1
    - Dst: gpg_error
      Src: /src/libksba/src/asn1-parse.c:2981,1
    - Dst: yyparse
      Src: /src/libksba/src/asn1-parse.c:2985,1
    - Dst: fprintf
      Src: /src/libksba/src/asn1-parse.c:2987,1
    - Dst: release_all_nodes
      Src: /src/libksba/src/asn1-parse.c:2989,1
    - Dst: _ksba_asn_change_integer_value
      Src: /src/libksba/src/asn1-parse.c:2996,1
    - Dst: _ksba_asn_expand_object_id
      Src: /src/libksba/src/asn1-parse.c:2997,1
    - Dst: xmalloc
      Src: /src/libksba/src/asn1-parse.c:2998,1
    - Dst: strlen
      Src: /src/libksba/src/asn1-parse.c:2998,1
    - Dst: strcpy
      Src: /src/libksba/src/asn1-parse.c:3001,1
    - Dst: fclose
      Src: /src/libksba/src/asn1-parse.c:3006,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - file_name
    - result
    - debug
    argTypes:
    - char*
    - ksba_asn_tree_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3008
      start: 2968
    functionDepth: 5
    functionLinenumber: 2968
    functionLinenumberEnd: 3008
    functionName: ksba_asn_parse_file
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 3
    functionsReached:
    - gpg_error_from_syserror
    - _ksba_asn_expand_object_id
    - strlen
    - fclose
    - _ksba_asn_change_integer_value
    - fprintf
    - xmalloc
    - gpg_error
    - yyparse
    - release_all_nodes
    - fopen
    - strcpy
    linkageType: ''
    returnType: int
    signature: int ksba_asn_parse_file (const char *file_name, ksba_asn_tree_t *result,
      int debug)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_all_nodes
      Src: /src/libksba/src/asn1-parse.c:3015,1
    - Dst: xfree
      Src: /src/libksba/src/asn1-parse.c:3017,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tree
    argTypes:
    - ksba_asn_tree_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3018
      start: 3010
    functionDepth: 1
    functionLinenumber: 3010
    functionLinenumberEnd: 3018
    functionName: ksba_asn_tree_release
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 9
    functionsReached:
    - release_all_nodes
    - xfree
    linkageType: ''
    returnType: void
    signature: void ksba_asn_tree_release (ksba_asn_tree_t tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_all_nodes
      Src: /src/libksba/src/asn1-parse.c:3026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - AsnNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3027
      start: 3021
    functionDepth: 1
    functionLinenumber: 3021
    functionLinenumberEnd: 3027
    functionName: _ksba_asn_release_nodes
    functionSourceFile: /src/libksba/src/asn1-parse.c
    functionUses: 12
    functionsReached:
    - release_all_nodes
    linkageType: ''
    returnType: void
    signature: void _ksba_asn_release_nodes (AsnNode node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libksba/src/asn1-tables.c:1390,1
    - Dst: strcmp
      Src: /src/libksba/src/asn1-tables.c:1392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - name
    - stringtbl
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1396
    functionName: _ksba_asn_lookup_table
    functionSourceFile: /src/libksba/src/asn1-tables.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: static_asn
    signature: 'static_asn *

      _ksba_asn_lookup_table (const char *name, const char **stringtbl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - foo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 7
    functionName: _ksba_dummyobj_for_broken_ar
    functionSourceFile: /src/libksba/gl/dummyobj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _ksba_dummyobj_for_broken_ar (int foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: memory_full
    functionSourceFile: /src/libksba/gl/alloca.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memory_full()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: ADDRESS_FUNCTION
    functionSourceFile: /src/libksba/gl/alloca.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDRESS_FUNCTION(arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: ADDRESS_FUNCTION
    functionSourceFile: /src/libksba/gl/alloca.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDRESS_FUNCTION(arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ADDRESS_FUNCTION
      Src: /src/libksba/gl/alloca.c:106,1
    - Dst: find_stack_direction
      Src: /src/libksba/gl/alloca.c:108,1
    - Dst: ADDRESS_FUNCTION
      Src: /src/libksba/gl/alloca.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 118
    functionName: find_stack_direction
    functionSourceFile: /src/libksba/gl/alloca.c
    functionUses: 1
    functionsReached:
    - find_stack_direction
    - ADDRESS_FUNCTION
    linkageType: ''
    returnType: void
    signature: void find_stack_direction (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ADDRESS_FUNCTION
      Src: /src/libksba/gl/alloca.c:156,1
    - Dst: find_stack_direction
      Src: /src/libksba/gl/alloca.c:160,1
    - Dst: free
      Src: /src/libksba/gl/alloca.c:179,1
    - Dst: memory_full
      Src: /src/libksba/gl/alloca.c:204,1
    - Dst: malloc::malloc
      Src: /src/libksba/gl/alloca.c:206,1
    - Dst: memory_full::memory_full
      Src: /src/libksba/gl/alloca.c:208,1
    - Dst: h::h
      Src: /src/libksba/gl/alloca.c:211,1
    - Dst: h::h
      Src: /src/libksba/gl/alloca.c:212,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 220
    functionName: alloca
    functionSourceFile: /src/libksba/gl/alloca.c
    functionUses: 0
    functionsReached:
    - memory_full::memory_full
    - malloc::malloc
    - h::h
    - memory_full
    - ADDRESS_FUNCTION
    - find_stack_direction
    - free
    linkageType: ''
    returnType: void
    signature: 'void *

      alloca (size_t size)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STKSTAT
      Src: /src/libksba/gl/alloca.c:355,1
    - Dst: abort
      Src: /src/libksba/gl/alloca.c:367,1
    - Dst: abort
      Src: /src/libksba/gl/alloca.c:376,1
    - Dst: abort
      Src: /src/libksba/gl/alloca.c:395,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - address
    argTypes:
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 407
    functionName: i00afunc
    functionSourceFile: /src/libksba/gl/alloca.c
    functionUses: 0
    functionsReached:
    - abort
    - STKSTAT
    linkageType: ''
    returnType: long
    signature: long i00afunc (long *address)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRAY_STACKSEG_END
      Src: /src/libksba/gl/alloca.c:434,1
    - Dst: fprintf
      Src: /src/libksba/gl/alloca.c:455,1
    - Dst: fprintf
      Src: /src/libksba/gl/alloca.c:476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - address
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 485
    functionName: i00afunc
    functionSourceFile: /src/libksba/gl/alloca.c
    functionUses: 0
    functionsReached:
    - fprintf
    - CRAY_STACKSEG_END
    linkageType: ''
    returnType: long
    signature: long i00afunc (long address)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/libassuan/tests/fdpassing.c:62,1
    - Dst: assuan_get_input_fd
      Src: /src/libassuan/tests/fdpassing.c:65,1
    - Dst: gpg_error
      Src: /src/libassuan/tests/fdpassing.c:67,1
    - Dst: _open_osfhandle
      Src: /src/libassuan/tests/fdpassing.c:68,1
    - Dst: gpg_error
      Src: /src/libassuan/tests/fdpassing.c:70,1
    - Dst: assuan_get_input_fd
      Src: /src/libassuan/tests/fdpassing.c:72,1
    - Dst: gpg_error
      Src: /src/libassuan/tests/fdpassing.c:74,1
    - Dst: fdopen
      Src: /src/libassuan/tests/fdpassing.c:76,1
    - Dst: log_error
      Src: /src/libassuan/tests/fdpassing.c:79,1
    - Dst: strerror
      Src: /src/libassuan/tests/fdpassing.c:79,1
    - Dst: gpg_error
      Src: /src/libassuan/tests/fdpassing.c:80,1
    - Dst: getc
      Src: /src/libassuan/tests/fdpassing.c:83,1
    - Dst: putc
      Src: /src/libassuan/tests/fdpassing.c:85,1
    - Dst: fflush
      Src: /src/libassuan/tests/fdpassing.c:88,1
    - Dst: log_info
      Src: /src/libassuan/tests/fdpassing.c:89,1
    - Dst: fclose
      Src: /src/libassuan/tests/fdpassing.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 93
    functionName: cmd_echo
    functionSourceFile: /src/libassuan/tests/fdpassing.c
    functionUses: 0
    functionsReached:
    - assuan_get_input_fd
    - fdopen
    - log_error
    - getc
    - fclose
    - fflush
    - gpg_error
    - log_info
    - strerror
    - _open_osfhandle
    - putc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_echo (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/libassuan/tests/fdpassing.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: cmd_kill
    functionSourceFile: /src/libassuan/tests/fdpassing.c
    functionUses: 0
    functionsReached:
    - log_info
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_kill (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_register_command
      Src: /src/libassuan/tests/fdpassing.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 130
    functionName: register_commands
    functionSourceFile: /src/libassuan/tests/fdpassing.c
    functionUses: 9
    functionsReached:
    - assuan_register_command
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t register_commands (assuan_context_t ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: register_commands
      Src: /src/libassuan/tests/fdpassing.c:138,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/fdpassing.c:140,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/fdpassing.c:140,1
    - Dst: assuan_set_log_stream
      Src: /src/libassuan/tests/fdpassing.c:142,1
    - Dst: assuan_accept
      Src: /src/libassuan/tests/fdpassing.c:146,1
    - Dst: log_error
      Src: /src/libassuan/tests/fdpassing.c:150,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/fdpassing.c:150,1
    - Dst: log_info
      Src: /src/libassuan/tests/fdpassing.c:154,1
    - Dst: assuan_get_pid
      Src: /src/libassuan/tests/fdpassing.c:155,1
    - Dst: assuan_process
      Src: /src/libassuan/tests/fdpassing.c:157,1
    - Dst: log_error
      Src: /src/libassuan/tests/fdpassing.c:159,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/fdpassing.c:159,1
    - Dst: assuan_release
      Src: /src/libassuan/tests/fdpassing.c:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 163
    functionName: server_common
    functionSourceFile: /src/libassuan/tests/fdpassing.c
    functionUses: 0
    functionsReached:
    - log_error
    - assuan_get_pid
    - log_fatal
    - assuan_release
    - assuan_accept
    - gpg_strerror
    - register_commands
    - log_info
    - assuan_set_log_stream
    - assuan_process
    linkageType: ''
    returnType: void
    signature: void server_common (assuan_context_t ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/libassuan/tests/fdpassing.c:171,1
    - Dst: assuan_new
      Src: /src/libassuan/tests/fdpassing.c:173,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/fdpassing.c:175,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/fdpassing.c:175,1
    - Dst: assuan_init_pipe_server
      Src: /src/libassuan/tests/fdpassing.c:177,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/fdpassing.c:179,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/fdpassing.c:179,1
    - Dst: server_common
      Src: /src/libassuan/tests/fdpassing.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 182
    functionName: server_pipe
    functionSourceFile: /src/libassuan/tests/fdpassing.c
    functionUses: 0
    functionsReached:
    - assuan_new
    - log_fatal
    - server_common
    - log_info
    - gpg_strerror
    - assuan_init_pipe_server
    linkageType: ''
    returnType: void
    signature: void server_pipe (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/libassuan/tests/fdpassing.c:196,1
    - Dst: assuan_sock_new
      Src: /src/libassuan/tests/fdpassing.c:198,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/fdpassing.c:200,1
    - Dst: assuan_sock_set_sockaddr_un
      Src: /src/libassuan/tests/fdpassing.c:203,1
    - Dst: assuan_sock_close
      Src: /src/libassuan/tests/fdpassing.c:206,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/fdpassing.c:207,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/fdpassing.c:207,1
    - Dst: strlen
      Src: /src/libassuan/tests/fdpassing.c:211,1
    - Dst: assuan_sock_bind
      Src: /src/libassuan/tests/fdpassing.c:212,1
    - Dst: assuan_sock_close
      Src: /src/libassuan/tests/fdpassing.c:215,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/fdpassing.c:216,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/fdpassing.c:216,1
    - Dst: assuan_sock_get_nonce
      Src: /src/libassuan/tests/fdpassing.c:219,1
    - Dst: assuan_sock_close
      Src: /src/libassuan/tests/fdpassing.c:222,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/fdpassing.c:223,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/fdpassing.c:223,1
    - Dst: listen
      Src: /src/libassuan/tests/fdpassing.c:226,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/tests/fdpassing.c:226,1
    - Dst: assuan_sock_close
      Src: /src/libassuan/tests/fdpassing.c:229,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/fdpassing.c:230,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/fdpassing.c:231,1
    - Dst: gpg_error_from_syserror
      Src: /src/libassuan/tests/fdpassing.c:231,1
    - Dst: assuan_new
      Src: /src/libassuan/tests/fdpassing.c:234,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/fdpassing.c:236,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/fdpassing.c:236,1
    - Dst: assuan_init_socket_server
      Src: /src/libassuan/tests/fdpassing.c:238,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/fdpassing.c:240,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/fdpassing.c:240,1
    - Dst: assuan_set_sock_nonce
      Src: /src/libassuan/tests/fdpassing.c:242,1
    - Dst: assuan_set_hello_line
      Src: /src/libassuan/tests/fdpassing.c:243,1
    - Dst: server_common
      Src: /src/libassuan/tests/fdpassing.c:245,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - socketname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 246
    functionName: server_socket
    functionSourceFile: /src/libassuan/tests/fdpassing.c
    functionUses: 5
    functionsReached:
    - assuan_new
    - strlen
    - assuan_sock_get_nonce
    - gpg_error_from_syserror
    - assuan_set_hello_line
    - log_fatal
    - listen
    - assuan_sock_close
    - server_common
    - assuan_init_socket_server
    - log_info
    - gpg_strerror
    - assuan_sock_bind
    - assuan_sock_new
    - HANDLE2SOCKET
    - assuan_set_sock_nonce
    - assuan_sock_set_sockaddr_un
    linkageType: ''
    returnType: void
    signature: void server_socket (const char *socketname)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/libassuan/tests/fdpassing.c:266,1
    - Dst: assuan_get_pid
      Src: /src/libassuan/tests/fdpassing.c:267,1
    - Dst: fopen
      Src: /src/libassuan/tests/fdpassing.c:271,1
    - Dst: log_error
      Src: /src/libassuan/tests/fdpassing.c:274,1
    - Dst: strerror
      Src: /src/libassuan/tests/fdpassing.c:275,1
    - Dst: _get_osfhandle
      Src: /src/libassuan/tests/fdpassing.c:280,1
    - Dst: fileno
      Src: /src/libassuan/tests/fdpassing.c:280,1
    - Dst: assuan_sendfd
      Src: /src/libassuan/tests/fdpassing.c:281,1
    - Dst: assuan_sendfd
      Src: /src/libassuan/tests/fdpassing.c:283,1
    - Dst: fileno
      Src: /src/libassuan/tests/fdpassing.c:283,1
    - Dst: fclose
      Src: /src/libassuan/tests/fdpassing.c:287,1
    - Dst: log_error
      Src: /src/libassuan/tests/fdpassing.c:288,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/fdpassing.c:288,1
    - Dst: fclose
      Src: /src/libassuan/tests/fdpassing.c:291,1
    - Dst: assuan_transact
      Src: /src/libassuan/tests/fdpassing.c:293,1
    - Dst: log_error
      Src: /src/libassuan/tests/fdpassing.c:297,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/fdpassing.c:297,1
    - Dst: assuan_transact
      Src: /src/libassuan/tests/fdpassing.c:301,1
    - Dst: log_error
      Src: /src/libassuan/tests/fdpassing.c:304,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/fdpassing.c:304,1
    - Dst: assuan_transact
      Src: /src/libassuan/tests/fdpassing.c:314,1
    - Dst: log_error
      Src: /src/libassuan/tests/fdpassing.c:316,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/fdpassing.c:316,1
    - Dst: assuan_release
      Src: /src/libassuan/tests/fdpassing.c:319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - fname
    - sname
    argTypes:
    - assuan_context_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 321
    functionName: client
    functionSourceFile: /src/libassuan/tests/fdpassing.c
    functionUses: 2
    functionsReached:
    - log_error
    - _get_osfhandle
    - fclose
    - assuan_get_pid
    - assuan_release
    - fileno
    - assuan_transact
    - log_info
    - fopen
    - gpg_strerror
    - strerror
    - assuan_sendfd
    linkageType: ''
    returnType: int
    signature: int client (assuan_context_t ctx, const char *fname, const char *sname)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: log_set_prefix
      Src: /src/libassuan/tests/fdpassing.c:345,1
    - Dst: strcmp
      Src: /src/libassuan/tests/fdpassing.c:351,1
    - Dst: puts
      Src: /src/libassuan/tests/fdpassing.c:353,1
    - Dst: exit
      Src: /src/libassuan/tests/fdpassing.c:361,1
    - Dst: strcmp
      Src: /src/libassuan/tests/fdpassing.c:363,1
    - Dst: strcmp
      Src: /src/libassuan/tests/fdpassing.c:368,1
    - Dst: strcmp
      Src: /src/libassuan/tests/fdpassing.c:373,1
    - Dst: strcmp
      Src: /src/libassuan/tests/fdpassing.c:378,1
    - Dst: strcmp
      Src: /src/libassuan/tests/fdpassing.c:383,1
    - Dst: assuan_sock_init
      Src: /src/libassuan/tests/fdpassing.c:395,1
    - Dst: assuan_set_assuan_log_prefix
      Src: /src/libassuan/tests/fdpassing.c:405,1
    - Dst: server_socket
      Src: /src/libassuan/tests/fdpassing.c:410,1
    - Dst: server_pipe
      Src: /src/libassuan/tests/fdpassing.c:412,1
    - Dst: log_info
      Src: /src/libassuan/tests/fdpassing.c:413,1
    - Dst: assuan_new
      Src: /src/libassuan/tests/fdpassing.c:419,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/fdpassing.c:421,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/fdpassing.c:421,1
    - Dst: assuan_socket_connect
      Src: /src/libassuan/tests/fdpassing.c:425,1
    - Dst: log_error
      Src: /src/libassuan/tests/fdpassing.c:429,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/fdpassing.c:430,1
    - Dst: assuan_release
      Src: /src/libassuan/tests/fdpassing.c:431,1
    - Dst: assuan_fd_from_posix_fd
      Src: /src/libassuan/tests/fdpassing.c:443,1
    - Dst: assuan_pipe_connect
      Src: /src/libassuan/tests/fdpassing.c:453,1
    - Dst: log_error
      Src: /src/libassuan/tests/fdpassing.c:458,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/fdpassing.c:459,1
    - Dst: assuan_release
      Src: /src/libassuan/tests/fdpassing.c:460,1
    - Dst: server_pipe
      Src: /src/libassuan/tests/fdpassing.c:465,1
    - Dst: assuan_release
      Src: /src/libassuan/tests/fdpassing.c:466,1
    - Dst: log_info
      Src: /src/libassuan/tests/fdpassing.c:467,1
    - Dst: prepend_srcdir
      Src: /src/libassuan/tests/fdpassing.c:472,1
    - Dst: client
      Src: /src/libassuan/tests/fdpassing.c:473,1
    - Dst: log_info
      Src: /src/libassuan/tests/fdpassing.c:475,1
    - Dst: assuan_release
      Src: /src/libassuan/tests/fdpassing.c:476,1
    - Dst: log_info
      Src: /src/libassuan/tests/fdpassing.c:478,1
    - Dst: xfree
      Src: /src/libassuan/tests/fdpassing.c:479,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 100
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 484
    functionName: main
    functionSourceFile: /src/libassuan/tests/fdpassing.c
    functionUses: 11
    functionsReached:
    - server_socket
    - exit
    - puts
    - log_error
    - log_set_prefix
    - server_pipe
    - log_info
    - assuan_fd_from_posix_fd
    - assuan_socket_connect
    - assuan_new
    - strcmp
    - assuan_set_assuan_log_prefix
    - prepend_srcdir
    - gpg_strerror
    - xfree
    - assuan_pipe_connect
    - client
    - log_fatal
    - assuan_release
    - assuan_sock_init
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/libassuan/tests/pipeconnect.c:50,1
    - Dst: assuan_send_data
      Src: /src/libassuan/tests/pipeconnect.c:52,1
    - Dst: strlen
      Src: /src/libassuan/tests/pipeconnect.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: cmd_echo
    functionSourceFile: /src/libassuan/tests/pipeconnect.c
    functionUses: 0
    functionsReached:
    - assuan_send_data
    - log_info
    - strlen
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_echo (assuan_context_t ctx, char *line)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/libassuan/tests/pipeconnect.c:69,1
    - Dst: assuan_get_input_fd
      Src: /src/libassuan/tests/pipeconnect.c:72,1
    - Dst: gpg_error
      Src: /src/libassuan/tests/pipeconnect.c:74,1
    - Dst: assuan_get_output_fd
      Src: /src/libassuan/tests/pipeconnect.c:75,1
    - Dst: gpg_error
      Src: /src/libassuan/tests/pipeconnect.c:77,1
    - Dst: _open_osfhandle
      Src: /src/libassuan/tests/pipeconnect.c:78,1
    - Dst: gpg_error
      Src: /src/libassuan/tests/pipeconnect.c:80,1
    - Dst: _open_osfhandle
      Src: /src/libassuan/tests/pipeconnect.c:81,1
    - Dst: gpg_error
      Src: /src/libassuan/tests/pipeconnect.c:83,1
    - Dst: assuan_get_input_fd
      Src: /src/libassuan/tests/pipeconnect.c:85,1
    - Dst: gpg_error
      Src: /src/libassuan/tests/pipeconnect.c:87,1
    - Dst: assuan_get_output_fd
      Src: /src/libassuan/tests/pipeconnect.c:88,1
    - Dst: gpg_error
      Src: /src/libassuan/tests/pipeconnect.c:90,1
    - Dst: fdopen
      Src: /src/libassuan/tests/pipeconnect.c:92,1
    - Dst: log_error
      Src: /src/libassuan/tests/pipeconnect.c:95,1
    - Dst: strerror
      Src: /src/libassuan/tests/pipeconnect.c:95,1
    - Dst: gpg_error
      Src: /src/libassuan/tests/pipeconnect.c:96,1
    - Dst: fdopen
      Src: /src/libassuan/tests/pipeconnect.c:99,1
    - Dst: log_error
      Src: /src/libassuan/tests/pipeconnect.c:102,1
    - Dst: strerror
      Src: /src/libassuan/tests/pipeconnect.c:102,1
    - Dst: fclose
      Src: /src/libassuan/tests/pipeconnect.c:103,1
    - Dst: gpg_error
      Src: /src/libassuan/tests/pipeconnect.c:104,1
    - Dst: getc
      Src: /src/libassuan/tests/pipeconnect.c:108,1
    - Dst: putc
      Src: /src/libassuan/tests/pipeconnect.c:110,1
    - Dst: log_info
      Src: /src/libassuan/tests/pipeconnect.c:113,1
    - Dst: fclose
      Src: /src/libassuan/tests/pipeconnect.c:116,1
    - Dst: fclose
      Src: /src/libassuan/tests/pipeconnect.c:117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 119
    functionName: cmd_cat
    functionSourceFile: /src/libassuan/tests/pipeconnect.c
    functionUses: 0
    functionsReached:
    - assuan_get_input_fd
    - fdopen
    - log_error
    - assuan_get_output_fd
    - fclose
    - getc
    - gpg_error
    - log_info
    - strerror
    - _open_osfhandle
    - putc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t cmd_cat (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_register_command
      Src: /src/libassuan/tests/pipeconnect.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 147
    functionName: server_register_commands
    functionSourceFile: /src/libassuan/tests/pipeconnect.c
    functionUses: 0
    functionsReached:
    - assuan_register_command
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t server_register_commands (assuan_context_t ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assuan_new
      Src: /src/libassuan/tests/pipeconnect.c:160,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/pipeconnect.c:162,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/pipeconnect.c:162,1
    - Dst: assuan_init_pipe_server
      Src: /src/libassuan/tests/pipeconnect.c:164,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/pipeconnect.c:166,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/pipeconnect.c:167,1
    - Dst: server_register_commands
      Src: /src/libassuan/tests/pipeconnect.c:169,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/pipeconnect.c:171,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/pipeconnect.c:171,1
    - Dst: assuan_set_log_stream
      Src: /src/libassuan/tests/pipeconnect.c:174,1
    - Dst: assuan_accept
      Src: /src/libassuan/tests/pipeconnect.c:178,1
    - Dst: log_error
      Src: /src/libassuan/tests/pipeconnect.c:182,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/pipeconnect.c:182,1
    - Dst: log_info
      Src: /src/libassuan/tests/pipeconnect.c:186,1
    - Dst: assuan_get_pid
      Src: /src/libassuan/tests/pipeconnect.c:187,1
    - Dst: assuan_process
      Src: /src/libassuan/tests/pipeconnect.c:189,1
    - Dst: log_error
      Src: /src/libassuan/tests/pipeconnect.c:191,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/pipeconnect.c:191,1
    - Dst: assuan_release
      Src: /src/libassuan/tests/pipeconnect.c:194,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - enable_debug
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 195
    functionName: run_server
    functionSourceFile: /src/libassuan/tests/pipeconnect.c
    functionUses: 1
    functionsReached:
    - assuan_new
    - log_error
    - assuan_get_pid
    - log_fatal
    - assuan_release
    - assuan_accept
    - gpg_strerror
    - log_info
    - assuan_set_log_stream
    - server_register_commands
    - assuan_process
    - assuan_init_pipe_server
    linkageType: ''
    returnType: void
    signature: void run_server (int enable_debug)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libassuan/tests/pipeconnect.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - opaque
    - buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 211
    functionName: data_cb
    functionSourceFile: /src/libassuan/tests/pipeconnect.c
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t data_cb (void *opaque, const void *buffer, size_t length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_fd_from_posix_fd
      Src: /src/libassuan/tests/pipeconnect.c:222,1
    - Dst: fileno
      Src: /src/libassuan/tests/pipeconnect.c:222,1
    - Dst: assuan_new
      Src: /src/libassuan/tests/pipeconnect.c:230,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/pipeconnect.c:232,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/pipeconnect.c:232,1
    - Dst: assuan_pipe_connect
      Src: /src/libassuan/tests/pipeconnect.c:234,1
    - Dst: log_error
      Src: /src/libassuan/tests/pipeconnect.c:238,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/pipeconnect.c:239,1
    - Dst: assuan_release
      Src: /src/libassuan/tests/pipeconnect.c:240,1
    - Dst: log_info
      Src: /src/libassuan/tests/pipeconnect.c:244,1
    - Dst: assuan_get_pid
      Src: /src/libassuan/tests/pipeconnect.c:245,1
    - Dst: assuan_transact
      Src: /src/libassuan/tests/pipeconnect.c:247,1
    - Dst: log_error
      Src: /src/libassuan/tests/pipeconnect.c:252,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/pipeconnect.c:252,1
    - Dst: assuan_transact
      Src: /src/libassuan/tests/pipeconnect.c:256,1
    - Dst: log_error
      Src: /src/libassuan/tests/pipeconnect.c:259,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/pipeconnect.c:259,1
    - Dst: assuan_release
      Src: /src/libassuan/tests/pipeconnect.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - servername
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 265
    functionName: run_client
    functionSourceFile: /src/libassuan/tests/pipeconnect.c
    functionUses: 0
    functionsReached:
    - assuan_new
    - log_error
    - assuan_get_pid
    - log_fatal
    - assuan_release
    - fileno
    - assuan_transact
    - gpg_strerror
    - log_info
    - assuan_pipe_connect
    - assuan_fd_from_posix_fd
    linkageType: ''
    returnType: void
    signature: void run_client (const char *servername)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_fd_from_posix_fd
      Src: /src/libassuan/tests/pipeconnect.c:276,1
    - Dst: fileno
      Src: /src/libassuan/tests/pipeconnect.c:276,1
    - Dst: assuan_new
      Src: /src/libassuan/tests/pipeconnect.c:284,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/pipeconnect.c:286,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/pipeconnect.c:286,1
    - Dst: assuan_pipe_connect
      Src: /src/libassuan/tests/pipeconnect.c:288,1
    - Dst: log_error
      Src: /src/libassuan/tests/pipeconnect.c:292,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/pipeconnect.c:293,1
    - Dst: assuan_release
      Src: /src/libassuan/tests/pipeconnect.c:294,1
    - Dst: log_info
      Src: /src/libassuan/tests/pipeconnect.c:298,1
    - Dst: assuan_get_pid
      Src: /src/libassuan/tests/pipeconnect.c:299,1
    - Dst: assuan_transact
      Src: /src/libassuan/tests/pipeconnect.c:301,1
    - Dst: log_error
      Src: /src/libassuan/tests/pipeconnect.c:306,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/pipeconnect.c:306,1
    - Dst: assuan_pipe_kill_server
      Src: /src/libassuan/tests/pipeconnect.c:310,1
    - Dst: log_error
      Src: /src/libassuan/tests/pipeconnect.c:313,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/pipeconnect.c:313,1
    - Dst: assuan_transact
      Src: /src/libassuan/tests/pipeconnect.c:317,1
    - Dst: log_error
      Src: /src/libassuan/tests/pipeconnect.c:320,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/pipeconnect.c:320,1
    - Dst: log_info
      Src: /src/libassuan/tests/pipeconnect.c:323,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/pipeconnect.c:323,1
    - Dst: assuan_release
      Src: /src/libassuan/tests/pipeconnect.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - servername
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 327
    functionName: run_client_testing_kill
    functionSourceFile: /src/libassuan/tests/pipeconnect.c
    functionUses: 0
    functionsReached:
    - assuan_new
    - log_error
    - assuan_get_pid
    - log_fatal
    - assuan_release
    - fileno
    - assuan_transact
    - assuan_pipe_kill_server
    - gpg_strerror
    - log_info
    - assuan_pipe_connect
    - assuan_fd_from_posix_fd
    linkageType: ''
    returnType: void
    signature: void run_client_testing_kill (const char *servername)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_fd_from_posix_fd
      Src: /src/libassuan/tests/pipeconnect.c:335,1
    - Dst: assuan_fd_from_posix_fd
      Src: /src/libassuan/tests/pipeconnect.c:336,1
    - Dst: assuan_fd_from_posix_fd
      Src: /src/libassuan/tests/pipeconnect.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argcp
    - argvp
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 338
    functionName: parse_std_file_handles
    functionSourceFile: /src/libassuan/tests/pipeconnect.c
    functionUses: 0
    functionsReached:
    - assuan_fd_from_posix_fd
    linkageType: ''
    returnType: void
    signature: void parse_std_file_handles (int *argcp, char ***argvp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: parse_std_file_handles
      Src: /src/libassuan/tests/pipeconnect.c:354,1
    - Dst: log_set_prefix
      Src: /src/libassuan/tests/pipeconnect.c:358,1
    - Dst: strcmp
      Src: /src/libassuan/tests/pipeconnect.c:364,1
    - Dst: printf
      Src: /src/libassuan/tests/pipeconnect.c:366,1
    - Dst: log_get_prefix
      Src: /src/libassuan/tests/pipeconnect.c:371,1
    - Dst: exit
      Src: /src/libassuan/tests/pipeconnect.c:372,1
    - Dst: strcmp
      Src: /src/libassuan/tests/pipeconnect.c:374,1
    - Dst: strcmp
      Src: /src/libassuan/tests/pipeconnect.c:379,1
    - Dst: strcmp
      Src: /src/libassuan/tests/pipeconnect.c:384,1
    - Dst: strcmp
      Src: /src/libassuan/tests/pipeconnect.c:389,1
    - Dst: strcmp
      Src: /src/libassuan/tests/pipeconnect.c:394,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/pipeconnect.c:400,1
    - Dst: log_set_prefix
      Src: /src/libassuan/tests/pipeconnect.c:403,1
    - Dst: xstrconcat
      Src: /src/libassuan/tests/pipeconnect.c:403,1
    - Dst: log_get_prefix
      Src: /src/libassuan/tests/pipeconnect.c:403,1
    - Dst: assuan_set_assuan_log_prefix
      Src: /src/libassuan/tests/pipeconnect.c:405,1
    - Dst: log_get_prefix
      Src: /src/libassuan/tests/pipeconnect.c:405,1
    - Dst: assuan_sock_init
      Src: /src/libassuan/tests/pipeconnect.c:407,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/pipeconnect.c:409,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/pipeconnect.c:409,1
    - Dst: log_info
      Src: /src/libassuan/tests/pipeconnect.c:413,1
    - Dst: assuan_set_assuan_log_stream
      Src: /src/libassuan/tests/pipeconnect.c:415,1
    - Dst: run_server
      Src: /src/libassuan/tests/pipeconnect.c:416,1
    - Dst: log_info
      Src: /src/libassuan/tests/pipeconnect.c:417,1
    - Dst: log_info
      Src: /src/libassuan/tests/pipeconnect.c:421,1
    - Dst: assuan_set_assuan_log_stream
      Src: /src/libassuan/tests/pipeconnect.c:423,1
    - Dst: run_client
      Src: /src/libassuan/tests/pipeconnect.c:424,1
    - Dst: log_info
      Src: /src/libassuan/tests/pipeconnect.c:425,1
    - Dst: log_info
      Src: /src/libassuan/tests/pipeconnect.c:426,1
    - Dst: run_client_testing_kill
      Src: /src/libassuan/tests/pipeconnect.c:427,1
    - Dst: log_info
      Src: /src/libassuan/tests/pipeconnect.c:428,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 432
    functionName: main
    functionSourceFile: /src/libassuan/tests/pipeconnect.c
    functionUses: 11
    functionsReached:
    - printf
    - run_client_testing_kill
    - xstrconcat
    - run_server
    - log_set_prefix
    - exit
    - log_fatal
    - assuan_sock_init
    - strcmp
    - assuan_set_assuan_log_prefix
    - assuan_set_assuan_log_stream
    - run_client
    - gpg_strerror
    - log_info
    - log_get_prefix
    - parse_std_file_handles
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: MY_GCC_A_SENTINEL
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MY_GCC_A_SENTINEL(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: MY_GCC_A_SENTINEL
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MY_GCC_A_SENTINEL(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: SOCKET2HANDLE
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCKET2HANDLE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: HANDLE2SOCKET
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE2SOCKET(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: _log_enter
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _log_enter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: _log_leave
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _log_leave()
  - 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: SOCKET2HANDLE
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCKET2HANDLE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: HANDLE2SOCKET
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE2SOCKET(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: _log_enter
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _log_enter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: _log_leave
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _log_leave()
  - 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: SOCKET2HANDLE
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCKET2HANDLE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: HANDLE2SOCKET
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE2SOCKET(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: _log_enter
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _log_enter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: _log_leave
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _log_leave()
  - 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: DIM
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 306
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: DIMof
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIMof(type,member)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libassuan/tests/common.h:63,1
    - Dst: fprintf
      Src: /src/libassuan/tests/common.h:67,1
    - Dst: getpid
      Src: /src/libassuan/tests/common.h:67,1
    - Dst: fprintf
      Src: /src/libassuan/tests/common.h:68,1
    - Dst: exit
      Src: /src/libassuan/tests/common.h:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: xmalloc
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 214
    functionsReached:
    - fprintf
    - getpid
    - exit
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xmalloc (size_t n)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libassuan/tests/common.h:77,1
    - Dst: _log_enter
      Src: /src/libassuan/tests/common.h:80,1
    - Dst: fprintf
      Src: /src/libassuan/tests/common.h:82,1
    - Dst: getpid
      Src: /src/libassuan/tests/common.h:82,1
    - Dst: fprintf
      Src: /src/libassuan/tests/common.h:83,1
    - Dst: _log_leave
      Src: /src/libassuan/tests/common.h:84,1
    - Dst: exit
      Src: /src/libassuan/tests/common.h:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: xcalloc
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 54
    functionsReached:
    - _log_enter
    - calloc
    - exit
    - fprintf
    - _log_leave
    - getpid
    linkageType: ''
    returnType: void
    signature: 'void *

      xcalloc (size_t n, size_t m)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libassuan/tests/common.h:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: xfree
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 1702
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void xfree (void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libassuan/tests/common.h:100,1
    - Dst: strlen
      Src: /src/libassuan/tests/common.h:100,1
    - Dst: strcpy
      Src: /src/libassuan/tests/common.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: xstrdup
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 155
    functionsReached:
    - xmalloc
    - strcpy
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void *

      xstrdup (const char *string)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/libassuan/tests/common.h:110,1
    - Dst: strrchr
      Src: /src/libassuan/tests/common.h:111,1
    - Dst: strrchr
      Src: /src/libassuan/tests/common.h:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: log_set_prefix
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 37
    functionsReached:
    - InitializeCriticalSection
    - strrchr
    linkageType: ''
    returnType: void
    signature: void log_set_prefix (const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: log_get_prefix
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      log_get_prefix (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libassuan/tests/common.h:137,1
    - Dst: _log_enter
      Src: /src/libassuan/tests/common.h:138,1
    - Dst: fprintf
      Src: /src/libassuan/tests/common.h:140,1
    - Dst: getpid
      Src: /src/libassuan/tests/common.h:140,1
    - Dst: vfprintf
      Src: /src/libassuan/tests/common.h:141,1
    - Dst: _log_leave
      Src: /src/libassuan/tests/common.h:142,1
    - Dst: va_end
      Src: /src/libassuan/tests/common.h:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 144
    functionName: log_info
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 720
    functionsReached:
    - va_end
    - vfprintf
    - _log_enter
    - fprintf
    - va_start
    - _log_leave
    - getpid
    linkageType: ''
    returnType: void
    signature: void log_info (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libassuan/tests/common.h:152,1
    - Dst: _log_enter
      Src: /src/libassuan/tests/common.h:153,1
    - Dst: fprintf
      Src: /src/libassuan/tests/common.h:155,1
    - Dst: getpid
      Src: /src/libassuan/tests/common.h:155,1
    - Dst: vfprintf
      Src: /src/libassuan/tests/common.h:156,1
    - Dst: _log_leave
      Src: /src/libassuan/tests/common.h:157,1
    - Dst: va_end
      Src: /src/libassuan/tests/common.h:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 160
    functionName: log_error
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 1186
    functionsReached:
    - va_end
    - vfprintf
    - _log_enter
    - fprintf
    - va_start
    - _log_leave
    - getpid
    linkageType: ''
    returnType: void
    signature: void log_error (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libassuan/tests/common.h:168,1
    - Dst: _log_enter
      Src: /src/libassuan/tests/common.h:169,1
    - Dst: fprintf
      Src: /src/libassuan/tests/common.h:171,1
    - Dst: getpid
      Src: /src/libassuan/tests/common.h:171,1
    - Dst: vfprintf
      Src: /src/libassuan/tests/common.h:172,1
    - Dst: _log_leave
      Src: /src/libassuan/tests/common.h:173,1
    - Dst: va_end
      Src: /src/libassuan/tests/common.h:174,1
    - Dst: exit
      Src: /src/libassuan/tests/common.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: log_fatal
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 154
    functionsReached:
    - va_end
    - vfprintf
    - _log_enter
    - exit
    - fprintf
    - va_start
    - _log_leave
    - getpid
    linkageType: ''
    returnType: void
    signature: void log_fatal (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _log_enter
      Src: /src/libassuan/tests/common.h:184,1
    - Dst: fprintf
      Src: /src/libassuan/tests/common.h:186,1
    - Dst: getpid
      Src: /src/libassuan/tests/common.h:186,1
    - Dst: fputs
      Src: /src/libassuan/tests/common.h:187,1
    - Dst: fprintf
      Src: /src/libassuan/tests/common.h:189,1
    - Dst: putc
      Src: /src/libassuan/tests/common.h:190,1
    - Dst: _log_leave
      Src: /src/libassuan/tests/common.h:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - text
    - buffer
    - length
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 192
    functionName: log_printhex
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 73
    functionsReached:
    - _log_enter
    - fprintf
    - fputs
    - _log_leave
    - getpid
    - putc
    linkageType: ''
    returnType: void
    signature: void log_printhex (const char *text, const void *buffer, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libassuan/tests/common.h:203,1
    - Dst: xmalloc
      Src: /src/libassuan/tests/common.h:206,1
    - Dst: strlen
      Src: /src/libassuan/tests/common.h:206,1
    - Dst: strlen
      Src: /src/libassuan/tests/common.h:206,1
    - Dst: strcpy
      Src: /src/libassuan/tests/common.h:207,1
    - Dst: strcat
      Src: /src/libassuan/tests/common.h:208,1
    - Dst: strcat
      Src: /src/libassuan/tests/common.h:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: prepend_srcdir
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 9
    functionsReached:
    - strlen
    - getenv
    - xmalloc
    - strcpy
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      prepend_srcdir (const char *fname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: __stpcpy
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      __stpcpy (char *a,const char *b)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libassuan/tests/common.h:250,1
    - Dst: va_arg
      Src: /src/libassuan/tests/common.h:251,1
    - Dst: strlen
      Src: /src/libassuan/tests/common.h:253,1
    - Dst: DIM
      Src: /src/libassuan/tests/common.h:254,1
    - Dst: fprintf
      Src: /src/libassuan/tests/common.h:256,1
    - Dst: exit
      Src: /src/libassuan/tests/common.h:257,1
    - Dst: xmalloc
      Src: /src/libassuan/tests/common.h:262,1
    - Dst: stpcpy
      Src: /src/libassuan/tests/common.h:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - s1
    - arg_ptr
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 269
    functionName: do_strconcat
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 2
    functionsReached:
    - strlen
    - DIM
    - exit
    - fprintf
    - xmalloc
    - va_arg
    - stpcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      do_strconcat (const char *s1, va_list arg_ptr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/libassuan/tests/common.h:281,1
    - Dst: va_start
      Src: /src/libassuan/tests/common.h:284,1
    - Dst: do_strconcat
      Src: /src/libassuan/tests/common.h:285,1
    - Dst: va_end
      Src: /src/libassuan/tests/common.h:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s1
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 289
    functionName: xstrconcat
    functionSourceFile: /src/libassuan/tests/common.h
    functionUses: 52
    functionsReached:
    - va_end
    - do_strconcat
    - va_start
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      xstrconcat (const char *s1, ...)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log_set_prefix
      Src: /src/libassuan/tests/version.c:45,1
    - Dst: strcmp
      Src: /src/libassuan/tests/version.c:51,1
    - Dst: puts
      Src: /src/libassuan/tests/version.c:53,1
    - Dst: exit
      Src: /src/libassuan/tests/version.c:59,1
    - Dst: strcmp
      Src: /src/libassuan/tests/version.c:61,1
    - Dst: strcmp
      Src: /src/libassuan/tests/version.c:66,1
    - Dst: assuan_set_assuan_log_prefix
      Src: /src/libassuan/tests/version.c:73,1
    - Dst: assuan_check_version
      Src: /src/libassuan/tests/version.c:75,1
    - Dst: log_error
      Src: /src/libassuan/tests/version.c:76,1
    - Dst: assuan_check_version
      Src: /src/libassuan/tests/version.c:77,1
    - Dst: log_error
      Src: /src/libassuan/tests/version.c:78,1
    - Dst: assuan_check_version
      Src: /src/libassuan/tests/version.c:79,1
    - Dst: log_error
      Src: /src/libassuan/tests/version.c:80,1
    - Dst: log_info
      Src: /src/libassuan/tests/version.c:84,1
    - Dst: log_info
      Src: /src/libassuan/tests/version.c:86,1
    - Dst: assuan_check_version
      Src: /src/libassuan/tests/version.c:86,1
    - Dst: log_info
      Src: /src/libassuan/tests/version.c:87,1
    - Dst: assuan_check_version
      Src: /src/libassuan/tests/version.c:87,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/libassuan/tests/version.c
    functionUses: 11
    functionsReached:
    - log_error
    - log_set_prefix
    - exit
    - strcmp
    - assuan_set_assuan_log_prefix
    - puts
    - assuan_check_version
    - log_info
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_init
      Src: /src/libassuan/tests/socks5.c:66,1
    - Dst: log_set_prefix
      Src: /src/libassuan/tests/socks5.c:69,1
    - Dst: strcmp
      Src: /src/libassuan/tests/socks5.c:75,1
    - Dst: strcmp
      Src: /src/libassuan/tests/socks5.c:80,1
    - Dst: puts
      Src: /src/libassuan/tests/socks5.c:82,1
    - Dst: exit
      Src: /src/libassuan/tests/socks5.c:96,1
    - Dst: strcmp
      Src: /src/libassuan/tests/socks5.c:98,1
    - Dst: strcmp
      Src: /src/libassuan/tests/socks5.c:103,1
    - Dst: strcmp
      Src: /src/libassuan/tests/socks5.c:108,1
    - Dst: strcmp
      Src: /src/libassuan/tests/socks5.c:108,1
    - Dst: strcmp
      Src: /src/libassuan/tests/socks5.c:113,1
    - Dst: strcmp
      Src: /src/libassuan/tests/socks5.c:113,1
    - Dst: strcmp
      Src: /src/libassuan/tests/socks5.c:118,1
    - Dst: strcmp
      Src: /src/libassuan/tests/socks5.c:123,1
    - Dst: strcmp
      Src: /src/libassuan/tests/socks5.c:128,1
    - Dst: strcmp
      Src: /src/libassuan/tests/socks5.c:133,1
    - Dst: strcmp
      Src: /src/libassuan/tests/socks5.c:138,1
    - Dst: strcmp
      Src: /src/libassuan/tests/socks5.c:147,1
    - Dst: strncmp
      Src: /src/libassuan/tests/socks5.c:156,1
    - Dst: log_error
      Src: /src/libassuan/tests/socks5.c:158,1
    - Dst: exit
      Src: /src/libassuan/tests/socks5.c:159,1
    - Dst: fputs
      Src: /src/libassuan/tests/socks5.c:165,1
    - Dst: exit
      Src: /src/libassuan/tests/socks5.c:166,1
    - Dst: assuan_set_assuan_log_prefix
      Src: /src/libassuan/tests/socks5.c:169,1
    - Dst: assuan_check_version
      Src: /src/libassuan/tests/socks5.c:171,1
    - Dst: log_error
      Src: /src/libassuan/tests/socks5.c:172,1
    - Dst: assuan_sock_init
      Src: /src/libassuan/tests/socks5.c:174,1
    - Dst: assuan_sock_set_flag
      Src: /src/libassuan/tests/socks5.c:177,1
    - Dst: gpg_error_from_syserror
      Src: /src/libassuan/tests/socks5.c:180,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/socks5.c:181,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/socks5.c:182,1
    - Dst: xstrconcat
      Src: /src/libassuan/tests/socks5.c:190,1
    - Dst: assuan_sock_connect_byname
      Src: /src/libassuan/tests/socks5.c:194,1
    - Dst: gpg_error_from_syserror
      Src: /src/libassuan/tests/socks5.c:198,1
    - Dst: log_error
      Src: /src/libassuan/tests/socks5.c:199,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/socks5.c:199,1
    - Dst: exit
      Src: /src/libassuan/tests/socks5.c:200,1
    - Dst: xfree
      Src: /src/libassuan/tests/socks5.c:202,1
    - Dst: assuan_sock_close
      Src: /src/libassuan/tests/socks5.c:203,1
    - Dst: log_info
      Src: /src/libassuan/tests/socks5.c:205,1
    - Dst: exit
      Src: /src/libassuan/tests/socks5.c:206,1
    - Dst: xstrconcat
      Src: /src/libassuan/tests/socks5.c:214,1
    - Dst: strtoul
      Src: /src/libassuan/tests/socks5.c:218,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/socks5.c:220,1
    - Dst: assuan_sock_connect_byname
      Src: /src/libassuan/tests/socks5.c:222,1
    - Dst: gpg_error_from_syserror
      Src: /src/libassuan/tests/socks5.c:226,1
    - Dst: log_error
      Src: /src/libassuan/tests/socks5.c:227,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/socks5.c:228,1
    - Dst: exit
      Src: /src/libassuan/tests/socks5.c:229,1
    - Dst: xfree
      Src: /src/libassuan/tests/socks5.c:231,1
    - Dst: memset
      Src: /src/libassuan/tests/socks5.c:240,1
    - Dst: getaddrinfo
      Src: /src/libassuan/tests/socks5.c:242,1
    - Dst: log_error
      Src: /src/libassuan/tests/socks5.c:245,1
    - Dst: gai_strerror
      Src: /src/libassuan/tests/socks5.c:245,1
    - Dst: exit
      Src: /src/libassuan/tests/socks5.c:246,1
    - Dst: assuan_sock_close
      Src: /src/libassuan/tests/socks5.c:257,1
    - Dst: assuan_sock_new
      Src: /src/libassuan/tests/socks5.c:258,1
    - Dst: gpg_error_from_syserror
      Src: /src/libassuan/tests/socks5.c:262,1
    - Dst: log_error
      Src: /src/libassuan/tests/socks5.c:263,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/socks5.c:263,1
    - Dst: freeaddrinfo
      Src: /src/libassuan/tests/socks5.c:264,1
    - Dst: exit
      Src: /src/libassuan/tests/socks5.c:265,1
    - Dst: assuan_sock_connect
      Src: /src/libassuan/tests/socks5.c:268,1
    - Dst: gpg_error_from_syserror
      Src: /src/libassuan/tests/socks5.c:270,1
    - Dst: log_error
      Src: /src/libassuan/tests/socks5.c:271,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/socks5.c:274,1
    - Dst: log_info
      Src: /src/libassuan/tests/socks5.c:278,1
    - Dst: freeaddrinfo
      Src: /src/libassuan/tests/socks5.c:285,1
    - Dst: exit
      Src: /src/libassuan/tests/socks5.c:287,1
    - Dst: fputs
      Src: /src/libassuan/tests/socks5.c:291,1
    - Dst: exit
      Src: /src/libassuan/tests/socks5.c:292,1
    - Dst: es_fdopen_nc
      Src: /src/libassuan/tests/socks5.c:296,1
    - Dst: gpg_error_from_syserror
      Src: /src/libassuan/tests/socks5.c:299,1
    - Dst: assuan_sock_close
      Src: /src/libassuan/tests/socks5.c:300,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/socks5.c:301,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/socks5.c:301,1
    - Dst: es_fdopen
      Src: /src/libassuan/tests/socks5.c:303,1
    - Dst: gpg_error_from_syserror
      Src: /src/libassuan/tests/socks5.c:306,1
    - Dst: es_fclose
      Src: /src/libassuan/tests/socks5.c:307,1
    - Dst: assuan_sock_close
      Src: /src/libassuan/tests/socks5.c:308,1
    - Dst: log_fatal
      Src: /src/libassuan/tests/socks5.c:309,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/socks5.c:309,1
    - Dst: es_fputs
      Src: /src/libassuan/tests/socks5.c:311,1
    - Dst: es_fflush
      Src: /src/libassuan/tests/socks5.c:312,1
    - Dst: gpg_error_from_syserror
      Src: /src/libassuan/tests/socks5.c:314,1
    - Dst: log_error
      Src: /src/libassuan/tests/socks5.c:315,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/socks5.c:315,1
    - Dst: es_fgetc
      Src: /src/libassuan/tests/socks5.c:318,1
    - Dst: putchar
      Src: /src/libassuan/tests/socks5.c:322,1
    - Dst: es_ferror
      Src: /src/libassuan/tests/socks5.c:332,1
    - Dst: gpg_error_from_syserror
      Src: /src/libassuan/tests/socks5.c:334,1
    - Dst: log_error
      Src: /src/libassuan/tests/socks5.c:335,1
    - Dst: gpg_strerror
      Src: /src/libassuan/tests/socks5.c:335,1
    - Dst: es_fclose
      Src: /src/libassuan/tests/socks5.c:337,1
    - Dst: es_fclose
      Src: /src/libassuan/tests/socks5.c:338,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 199
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 341
    functionName: main
    functionSourceFile: /src/libassuan/tests/socks5.c
    functionUses: 11
    functionsReached:
    - exit
    - getaddrinfo
    - puts
    - assuan_sock_new
    - freeaddrinfo
    - es_fflush
    - es_fdopen_nc
    - assuan_sock_connect_byname
    - log_error
    - log_set_prefix
    - assuan_check_version
    - log_info
    - es_fdopen
    - es_ferror
    - assuan_sock_set_flag
    - strncmp
    - strtoul
    - assuan_sock_connect
    - gpg_error_from_syserror
    - assuan_sock_close
    - strcmp
    - assuan_set_assuan_log_prefix
    - gpg_strerror
    - xfree
    - memset
    - es_fgetc
    - es_fputs
    - putchar
    - xstrconcat
    - es_fclose
    - log_fatal
    - assuan_sock_init
    - gpgrt_init
    - fputs
    - gai_strerror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: digitp
    functionSourceFile: /src/libassuan/src/assuan-inquire.c
    functionUses: 130
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digitp(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: xtoi_1
    functionSourceFile: /src/libassuan/src/assuan-inquire.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: xtoi_2
    functionSourceFile: /src/libassuan/src/assuan-inquire.c
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_2(p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_malloc
      Src: /src/libassuan/src/assuan-inquire.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - mb
    - initiallen
    - maxlen
    argTypes:
    - assuan_context_t
    - struct membuf*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: init_membuf
    functionSourceFile: /src/libassuan/src/assuan-inquire.c
    functionUses: 71
    functionsReached:
    - _assuan_malloc
    linkageType: ''
    returnType: void
    signature: "void init_membuf (assuan_context_t ctx,\n\t     struct membuf *mb,
      int initiallen, size_t maxlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_realloc
      Src: /src/libassuan/src/assuan-inquire.c:89,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-inquire.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - mb
    - buf
    - len
    argTypes:
    - assuan_context_t
    - struct membuf*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 99
    functionName: put_membuf
    functionSourceFile: /src/libassuan/src/assuan-inquire.c
    functionUses: 69
    functionsReached:
    - _assuan_realloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void put_membuf (assuan_context_t ctx,\n\t    struct membuf *mb, const
      void *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_free
      Src: /src/libassuan/src/assuan-inquire.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - mb
    - len
    argTypes:
    - assuan_context_t
    - struct membuf*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: get_membuf
    functionSourceFile: /src/libassuan/src/assuan-inquire.c
    functionUses: 85
    functionsReached:
    - _assuan_free
    linkageType: ''
    returnType: void
    signature: 'void *

      get_membuf (assuan_context_t ctx, struct membuf *mb, size_t *len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_free
      Src: /src/libassuan/src/assuan-inquire.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - mb
    argTypes:
    - assuan_context_t
    - struct membuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: free_membuf
    functionSourceFile: /src/libassuan/src/assuan-inquire.c
    functionUses: 0
    functionsReached:
    - _assuan_free
    linkageType: ''
    returnType: void
    signature: void free_membuf (assuan_context_t ctx, struct membuf *mb)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libassuan/src/assuan-inquire.c:161,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-inquire.c:162,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-inquire.c:165,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-inquire.c:167,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-inquire.c:169,1
    - Dst: memset
      Src: /src/libassuan/src/assuan-inquire.c:173,1
    - Dst: init_membuf
      Src: /src/libassuan/src/assuan-inquire.c:175,1
    - Dst: strcpy
      Src: /src/libassuan/src/assuan-inquire.c:177,1
    - Dst: stpcpy
      Src: /src/libassuan/src/assuan-inquire.c:177,1
    - Dst: assuan_write_line
      Src: /src/libassuan/src/assuan-inquire.c:178,1
    - Dst: _assuan_read_line
      Src: /src/libassuan/src/assuan-inquire.c:187,1
    - Dst: _assuan_error_is_eagain
      Src: /src/libassuan/src/assuan-inquire.c:188,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-inquire.c:207,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-inquire.c:213,1
    - Dst: put_membuf
      Src: /src/libassuan/src/assuan-inquire.c:229,1
    - Dst: xtoi_2
      Src: /src/libassuan/src/assuan-inquire.c:234,1
    - Dst: put_membuf
      Src: /src/libassuan/src/assuan-inquire.c:237,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-inquire.c:246,1
    - Dst: get_membuf
      Src: /src/libassuan/src/assuan-inquire.c:249,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-inquire.c:251,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-inquire.c:251,1
    - Dst: wipememory
      Src: /src/libassuan/src/assuan-inquire.c:259,1
    - Dst: free_membuf
      Src: /src/libassuan/src/assuan-inquire.c:260,1
    - Dst: wipememory
      Src: /src/libassuan/src/assuan-inquire.c:263,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 85
    argCount: 5
    argNames:
    - ctx
    - keyword
    - r_buffer
    - r_length
    - maxlen
    argTypes:
    - assuan_context_t
    - char*
    - unsigned char**
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 266
    functionName: assuan_inquire
    functionSourceFile: /src/libassuan/src/assuan-inquire.c
    functionUses: 38
    functionsReached:
    - get_membuf
    - _assuan_read_line
    - init_membuf
    - gpg_err_code_from_syserror
    - strlen
    - assuan_write_line
    - put_membuf
    - free_membuf
    - wipememory
    - _assuan_error_is_eagain
    - strcpy
    - memset
    - stpcpy
    - _assuan_error
    - xtoi_2
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t assuan_inquire (assuan_context_t ctx, const char *keyword,\n
      \               unsigned char **r_buffer, size_t *r_length, size_t maxlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_membuf
      Src: /src/libassuan/src/assuan-inquire.c:276,1
    - Dst: free
      Src: /src/libassuan/src/assuan-inquire.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: _assuan_inquire_release
    functionSourceFile: /src/libassuan/src/assuan-inquire.c
    functionUses: 0
    functionsReached:
    - free_membuf
    - free
    linkageType: ''
    returnType: void
    signature: void _assuan_inquire_release (assuan_context_t ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-inquire.c:301,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-inquire.c:315,1
    - Dst: put_membuf
      Src: /src/libassuan/src/assuan-inquire.c:329,1
    - Dst: xtoi_2
      Src: /src/libassuan/src/assuan-inquire.c:334,1
    - Dst: put_membuf
      Src: /src/libassuan/src/assuan-inquire.c:337,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-inquire.c:343,1
    - Dst: get_membuf
      Src: /src/libassuan/src/assuan-inquire.c:356,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-inquire.c:358,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-inquire.c:358,1
    - Dst: free_membuf
      Src: /src/libassuan/src/assuan-inquire.c:359,1
    - Dst: free
      Src: /src/libassuan/src/assuan-inquire.c:360,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 57
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 367
    functionName: _assuan_inquire_ext_cb
    functionSourceFile: /src/libassuan/src/assuan-inquire.c
    functionUses: 0
    functionsReached:
    - get_membuf
    - gpg_err_code_from_syserror
    - put_membuf
    - free_membuf
    - _assuan_error
    - xtoi_2
    - free
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _assuan_inquire_ext_cb (assuan_context_t ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libassuan/src/assuan-inquire.c:392,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-inquire.c:393,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-inquire.c:395,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-inquire.c:397,1
    - Dst: malloc
      Src: /src/libassuan/src/assuan-inquire.c:399,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-inquire.c:401,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-inquire.c:401,1
    - Dst: init_membuf
      Src: /src/libassuan/src/assuan-inquire.c:402,1
    - Dst: strcpy
      Src: /src/libassuan/src/assuan-inquire.c:404,1
    - Dst: stpcpy
      Src: /src/libassuan/src/assuan-inquire.c:404,1
    - Dst: assuan_write_line
      Src: /src/libassuan/src/assuan-inquire.c:405,1
    - Dst: free_membuf
      Src: /src/libassuan/src/assuan-inquire.c:408,1
    - Dst: free
      Src: /src/libassuan/src/assuan-inquire.c:409,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - keyword
    - maxlen
    - cb_data
    argTypes:
    - assuan_context_t
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 421
    functionName: assuan_inquire_ext
    functionSourceFile: /src/libassuan/src/assuan-inquire.c
    functionUses: 0
    functionsReached:
    - init_membuf
    - gpg_err_code_from_syserror
    - strlen
    - assuan_write_line
    - free_membuf
    - strcpy
    - malloc
    - stpcpy
    - _assuan_error
    - free
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t assuan_inquire_ext (assuan_context_t ctx, const char *keyword,
      size_t maxlen,\n\t\t    gpg_error_t (*cb) (void *cb_data, gpg_error_t rc,\n\t\t\t\t
      \      unsigned char *buf, size_t len),\n\t\t    void *cb_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_context_t::malloc_hooks::malloc
      Src: /src/libassuan/src/system.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cnt
    argTypes:
    - assuan_context_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: _assuan_malloc
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 1
    functionsReached:
    - assuan_context_t::malloc_hooks::malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _assuan_malloc (assuan_context_t ctx, size_t cnt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_context_t::malloc_hooks::realloc
      Src: /src/libassuan/src/system.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - ptr
    - cnt
    argTypes:
    - assuan_context_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: _assuan_realloc
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 1
    functionsReached:
    - assuan_context_t::malloc_hooks::realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _assuan_realloc (assuan_context_t ctx, void *ptr, size_t cnt)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system.c:70,1
    - Dst: assuan_context_t::malloc_hooks::malloc
      Src: /src/libassuan/src/system.c:74,1
    - Dst: memset
      Src: /src/libassuan/src/system.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - cnt
    - elsize
    argTypes:
    - assuan_context_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: _assuan_calloc
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 0
    functionsReached:
    - assuan_context_t::malloc_hooks::malloc
    - memset
    - gpg_err_set_errno
    linkageType: ''
    returnType: void
    signature: 'void *

      _assuan_calloc (assuan_context_t ctx, size_t cnt, size_t elsize)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_context_t::malloc_hooks::free
      Src: /src/libassuan/src/system.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - ptr
    argTypes:
    - assuan_context_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: _assuan_free
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 2
    functionsReached:
    - assuan_context_t::malloc_hooks::free
    linkageType: ''
    returnType: void
    signature: void _assuan_free (assuan_context_t ctx, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_free
      Src: /src/libassuan/src/system.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - ptr
    argTypes:
    - assuan_context_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: assuan_free
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 3
    functionsReached:
    - _assuan_free
    linkageType: ''
    returnType: void
    signature: void assuan_free (assuan_context_t ctx, void *ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libassuan/src/system.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - assuan_system_hooks_t
    - assuan_system_hooks_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 138
    functionName: _assuan_system_hooks_copy
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void _assuan_system_hooks_copy (assuan_system_hooks_t dst,\n\t\t\t
      \  assuan_system_hooks_t src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE1
      Src: /src/libassuan/src/system.c:146,1
    - Dst: _assuan_pre_syscall
      Src: /src/libassuan/src/system.c:153,1
    - Dst: __assuan_usleep
      Src: /src/libassuan/src/system.c:154,1
    - Dst: _assuan_post_syscall
      Src: /src/libassuan/src/system.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - usec
    argTypes:
    - assuan_context_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: _assuan_usleep
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 1
    functionsReached:
    - __assuan_usleep
    - _assuan_pre_syscall
    - TRACE1
    - _assuan_post_syscall
    linkageType: ''
    returnType: void
    signature: void _assuan_usleep (assuan_context_t ctx, unsigned int usec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_BEG2
      Src: /src/libassuan/src/system.c:166,1
    - Dst: __assuan_pipe
      Src: /src/libassuan/src/system.c:173,1
    - Dst: TRACE_SYSRES
      Src: /src/libassuan/src/system.c:175,1
    - Dst: TRACE_SUC2
      Src: /src/libassuan/src/system.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - fd
    - inherit_idx
    argTypes:
    - assuan_context_t
    - assuan_fd_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: _assuan_pipe
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 1
    functionsReached:
    - __assuan_pipe
    - TRACE_BEG2
    - TRACE_SYSRES
    - TRACE_SUC2
    linkageType: ''
    returnType: int
    signature: int _assuan_pipe (assuan_context_t ctx, assuan_fd_t fd[2], int inherit_idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE1
      Src: /src/libassuan/src/system.c:187,1
    - Dst: _assuan_pre_syscall
      Src: /src/libassuan/src/system.c:195,1
    - Dst: __assuan_close
      Src: /src/libassuan/src/system.c:196,1
    - Dst: _assuan_post_syscall
      Src: /src/libassuan/src/system.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 200
    functionName: _assuan_close
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 1
    functionsReached:
    - _assuan_pre_syscall
    - __assuan_close
    - TRACE1
    - _assuan_post_syscall
    linkageType: ''
    returnType: int
    signature: int _assuan_close (assuan_context_t ctx, assuan_fd_t fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE1
      Src: /src/libassuan/src/system.c:208,1
    - Dst: _assuan_pre_syscall
      Src: /src/libassuan/src/system.c:216,1
    - Dst: __assuan_close
      Src: /src/libassuan/src/system.c:217,1
    - Dst: _assuan_post_syscall
      Src: /src/libassuan/src/system.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 221
    functionName: _assuan_close_inheritable
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 0
    functionsReached:
    - _assuan_pre_syscall
    - __assuan_close
    - TRACE1
    - _assuan_post_syscall
    linkageType: ''
    returnType: int
    signature: int _assuan_close_inheritable (assuan_context_t ctx, assuan_fd_t fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_BEG3
      Src: /src/libassuan/src/system.c:230,1
    - Dst: _assuan_pre_syscall
      Src: /src/libassuan/src/system.c:236,1
    - Dst: __assuan_read
      Src: /src/libassuan/src/system.c:237,1
    - Dst: _assuan_post_syscall
      Src: /src/libassuan/src/system.c:238,1
    - Dst: TRACE_SYSRES
      Src: /src/libassuan/src/system.c:240,1
    - Dst: _assuan_pre_syscall
      Src: /src/libassuan/src/system.c:247,1
    - Dst: __assuan_read
      Src: /src/libassuan/src/system.c:248,1
    - Dst: _assuan_post_syscall
      Src: /src/libassuan/src/system.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - fd
    - buffer
    - size
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 253
    functionName: _assuan_read
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 1
    functionsReached:
    - __assuan_read
    - TRACE_SYSRES
    - _assuan_post_syscall
    - _assuan_pre_syscall
    - TRACE_BEG3
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t _assuan_read (assuan_context_t ctx, assuan_fd_t fd, void *buffer,
      size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_BEG3
      Src: /src/libassuan/src/system.c:263,1
    - Dst: _assuan_pre_syscall
      Src: /src/libassuan/src/system.c:269,1
    - Dst: __assuan_write
      Src: /src/libassuan/src/system.c:270,1
    - Dst: _assuan_post_syscall
      Src: /src/libassuan/src/system.c:271,1
    - Dst: TRACE_SYSRES
      Src: /src/libassuan/src/system.c:273,1
    - Dst: _assuan_pre_syscall
      Src: /src/libassuan/src/system.c:280,1
    - Dst: __assuan_write
      Src: /src/libassuan/src/system.c:281,1
    - Dst: _assuan_post_syscall
      Src: /src/libassuan/src/system.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - fd
    - buffer
    - size
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 286
    functionName: _assuan_write
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 1
    functionsReached:
    - TRACE_SYSRES
    - _assuan_post_syscall
    - _assuan_pre_syscall
    - TRACE_BEG3
    - __assuan_write
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _assuan_write (assuan_context_t ctx, assuan_fd_t fd, const
      void *buffer,\n\t       size_t size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_BEG3
      Src: /src/libassuan/src/system.c:296,1
    - Dst: _assuan_pre_syscall
      Src: /src/libassuan/src/system.c:302,1
    - Dst: __assuan_recvmsg
      Src: /src/libassuan/src/system.c:303,1
    - Dst: _assuan_post_syscall
      Src: /src/libassuan/src/system.c:304,1
    - Dst: TRACE_LOG2
      Src: /src/libassuan/src/system.c:310,1
    - Dst: TRACE_LOGBUF
      Src: /src/libassuan/src/system.c:312,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/libassuan/src/system.c:314,1
    - Dst: CMSG_DATA
      Src: /src/libassuan/src/system.c:317,1
    - Dst: TRACE_LOG5
      Src: /src/libassuan/src/system.c:318,1
    - Dst: TRACE_SYSRES
      Src: /src/libassuan/src/system.c:324,1
    - Dst: _assuan_pre_syscall
      Src: /src/libassuan/src/system.c:331,1
    - Dst: __assuan_recvmsg
      Src: /src/libassuan/src/system.c:332,1
    - Dst: _assuan_post_syscall
      Src: /src/libassuan/src/system.c:333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - fd
    - msg
    - flags
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - assuan_msghdr_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 337
    functionName: _assuan_recvmsg
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 1
    functionsReached:
    - TRACE_LOG2
    - TRACE_SYSRES
    - CMSG_FIRSTHDR
    - _assuan_post_syscall
    - TRACE_LOGBUF
    - CMSG_DATA
    - TRACE_LOG5
    - _assuan_pre_syscall
    - TRACE_BEG3
    - __assuan_recvmsg
    linkageType: ''
    returnType: int
    signature: "int _assuan_recvmsg (assuan_context_t ctx, assuan_fd_t fd, assuan_msghdr_t
      msg,\n\t\t int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_BEG3
      Src: /src/libassuan/src/system.c:347,1
    - Dst: TRACE_LOG2
      Src: /src/libassuan/src/system.c:352,1
    - Dst: TRACE_LOGBUF
      Src: /src/libassuan/src/system.c:354,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/libassuan/src/system.c:356,1
    - Dst: CMSG_DATA
      Src: /src/libassuan/src/system.c:359,1
    - Dst: TRACE_LOG5
      Src: /src/libassuan/src/system.c:360,1
    - Dst: _assuan_pre_syscall
      Src: /src/libassuan/src/system.c:370,1
    - Dst: __assuan_sendmsg
      Src: /src/libassuan/src/system.c:371,1
    - Dst: _assuan_post_syscall
      Src: /src/libassuan/src/system.c:372,1
    - Dst: TRACE_SYSRES
      Src: /src/libassuan/src/system.c:374,1
    - Dst: _assuan_pre_syscall
      Src: /src/libassuan/src/system.c:381,1
    - Dst: __assuan_sendmsg
      Src: /src/libassuan/src/system.c:382,1
    - Dst: _assuan_post_syscall
      Src: /src/libassuan/src/system.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - fd
    - msg
    - flags
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - assuan_msghdr_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 387
    functionName: _assuan_sendmsg
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 1
    functionsReached:
    - TRACE_LOG2
    - TRACE_SYSRES
    - __assuan_sendmsg
    - CMSG_FIRSTHDR
    - _assuan_post_syscall
    - TRACE_LOGBUF
    - CMSG_DATA
    - TRACE_LOG5
    - _assuan_pre_syscall
    - TRACE_BEG3
    linkageType: ''
    returnType: int
    signature: "int _assuan_sendmsg (assuan_context_t ctx, assuan_fd_t fd, assuan_msghdr_t
      msg,\n\t\t int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_BEG6
      Src: /src/libassuan/src/system.c:405,1
    - Dst: TRACE_LOG2
      Src: /src/libassuan/src/system.c:416,1
    - Dst: TRACE_LOG2
      Src: /src/libassuan/src/system.c:425,1
    - Dst: __assuan_spawn
      Src: /src/libassuan/src/system.c:434,1
    - Dst: TRACE_LOG1
      Src: /src/libassuan/src/system.c:439,1
    - Dst: TRACE_LOG2
      Src: /src/libassuan/src/system.c:443,1
    - Dst: TRACE_SYSERR
      Src: /src/libassuan/src/system.c:446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 9
    argNames:
    - ctx
    - r_pid
    - name
    - argv
    - fd_in
    - fd_out
    - fd_child_list
    - atforkvalue
    - flags
    argTypes:
    - assuan_context_t
    - assuan_pid_t*
    - char*
    - char**
    - assuan_fd_t
    - assuan_fd_t
    - assuan_fd_t*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 447
    functionName: _assuan_spawn
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 1
    functionsReached:
    - TRACE_LOG2
    - TRACE_SYSERR
    - __assuan_spawn
    - TRACE_BEG6
    - TRACE_LOG1
    linkageType: ''
    returnType: int
    signature: "int _assuan_spawn (assuan_context_t ctx, assuan_pid_t *r_pid, const
      char *name,\n\t       const char **argv,\n\t       assuan_fd_t fd_in, assuan_fd_t
      fd_out,\n\t       assuan_fd_t *fd_child_list,\n\t       void (*atfork) (void
      *opaque, int reserved),\n\t       void *atforkvalue, unsigned int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_BEG4
      Src: /src/libassuan/src/system.c:459,1
    - Dst: _assuan_pre_syscall
      Src: /src/libassuan/src/system.c:466,1
    - Dst: __assuan_waitpid
      Src: /src/libassuan/src/system.c:467,1
    - Dst: _assuan_post_syscall
      Src: /src/libassuan/src/system.c:468,1
    - Dst: TRACE_SYSRES
      Src: /src/libassuan/src/system.c:470,1
    - Dst: _assuan_pre_syscall
      Src: /src/libassuan/src/system.c:477,1
    - Dst: __assuan_waitpid
      Src: /src/libassuan/src/system.c:478,1
    - Dst: _assuan_post_syscall
      Src: /src/libassuan/src/system.c:479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - ctx
    - pid
    - action
    - status
    - options
    argTypes:
    - assuan_context_t
    - assuan_pid_t
    - int
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 483
    functionName: _assuan_waitpid
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 1
    functionsReached:
    - TRACE_SYSRES
    - _assuan_post_syscall
    - TRACE_BEG4
    - _assuan_pre_syscall
    - __assuan_waitpid
    linkageType: ''
    returnType: assuan_pid_t
    signature: "assuan_pid_t _assuan_waitpid (assuan_context_t ctx, assuan_pid_t pid,
      int action,\n\t\t int *status, int options)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_BEG4
      Src: /src/libassuan/src/system.c:492,1
    - Dst: __assuan_socketpair
      Src: /src/libassuan/src/system.c:499,1
    - Dst: TRACE_LOG2
      Src: /src/libassuan/src/system.c:501,1
    - Dst: TRACE_SYSERR
      Src: /src/libassuan/src/system.c:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - namespace
    - style
    - protocol
    - filedes
    argTypes:
    - assuan_context_t
    - int
    - int
    - int
    - assuan_fd_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 504
    functionName: _assuan_socketpair
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 1
    functionsReached:
    - __assuan_socketpair
    - TRACE_LOG2
    - TRACE_BEG4
    - TRACE_SYSERR
    linkageType: ''
    returnType: int
    signature: "int _assuan_socketpair (assuan_context_t ctx, int namespace, int style,\n\t\t
      \   int protocol, assuan_fd_t filedes[2])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_BEG3
      Src: /src/libassuan/src/system.c:512,1
    - Dst: __assuan_socket
      Src: /src/libassuan/src/system.c:519,1
    - Dst: _assuan_debug
      Src: /src/libassuan/src/system.c:522,1
    - Dst: strerror
      Src: /src/libassuan/src/system.c:525,1
    - Dst: TRACE_SUC1
      Src: /src/libassuan/src/system.c:527,1
    - Dst: TRACE_SYSRES
      Src: /src/libassuan/src/system.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - namespace
    - style
    - protocol
    argTypes:
    - assuan_context_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 532
    functionName: _assuan_socket
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 1
    functionsReached:
    - TRACE_SUC1
    - __assuan_socket
    - TRACE_SYSRES
    - _assuan_debug
    - TRACE_BEG3
    - strerror
    linkageType: ''
    returnType: assuan_fd_t
    signature: assuan_fd_t _assuan_socket (assuan_context_t ctx, int namespace, int
      style, int protocol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_BEG3
      Src: /src/libassuan/src/system.c:540,1
    - Dst: _assuan_pre_syscall
      Src: /src/libassuan/src/system.c:547,1
    - Dst: __assuan_connect
      Src: /src/libassuan/src/system.c:548,1
    - Dst: _assuan_post_syscall
      Src: /src/libassuan/src/system.c:549,1
    - Dst: TRACE_SYSRES
      Src: /src/libassuan/src/system.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - sock
    - addr
    - length
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 552
    functionName: _assuan_connect
    functionSourceFile: /src/libassuan/src/system.c
    functionUses: 1
    functionsReached:
    - TRACE_SYSRES
    - _assuan_post_syscall
    - _assuan_pre_syscall
    - TRACE_BEG3
    - __assuan_connect
    linkageType: ''
    returnType: int
    signature: "int _assuan_connect (assuan_context_t ctx, assuan_fd_t sock,\n                 struct
      sockaddr *addr, socklen_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error_t::gpg_err_make
      Src: /src/libassuan/src/assuan-defs.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - errcode
    argTypes:
    - assuan_context_t
    - gpg_err_code_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: gpg_error_t::_assuan_error
    functionSourceFile: /src/libassuan/src/assuan-defs.h
    functionUses: 0
    functionsReached:
    - gpg_error_t::gpg_err_make
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gpg_error_t

      _assuan_error (assuan_context_t ctx, gpg_err_code_t errcode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - e
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: set_error
    functionSourceFile: /src/libassuan/src/assuan-defs.h
    functionUses: 82
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_error(c,e,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - r
    - ','
    - w
    - ','
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 417
    functionName: funopen
    functionSourceFile: /src/libassuan/src/assuan-defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: funopen(a,r,w,s,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 438
    functionName: DIM
    functionSourceFile: /src/libassuan/src/assuan-defs.h
    functionUses: 307
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _ptr
    - ','
    - _set
    - ','
    - _len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: wipememory2
    functionSourceFile: /src/libassuan/src/assuan-defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wipememory2(_ptr,_set,_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _ptr
    - ','
    - _len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 447
    functionName: wipememory
    functionSourceFile: /src/libassuan/src/assuan-defs.h
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wipememory(_ptr,_len)
  - 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: SOCKET2HANDLE
    functionSourceFile: /src/libassuan/src/assuan-defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCKET2HANDLE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 452
    functionName: HANDLE2SOCKET
    functionSourceFile: /src/libassuan/src/assuan-defs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE2SOCKET(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 454
    functionName: SOCKET2HANDLE
    functionSourceFile: /src/libassuan/src/assuan-defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCKET2HANDLE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: HANDLE2SOCKET
    functionSourceFile: /src/libassuan/src/assuan-defs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE2SOCKET(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 457
    functionName: SOCKET2HANDLE
    functionSourceFile: /src/libassuan/src/assuan-defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCKET2HANDLE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 458
    functionName: HANDLE2SOCKET
    functionSourceFile: /src/libassuan/src/assuan-defs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE2SOCKET(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: assuan_fd_t::assuan_fd_from_posix_fd
    functionSourceFile: /src/libassuan/src/posix-fd-t.inc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE assuan_fd_t

      assuan_fd_from_posix_fd (int fd)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libassuan/src/debug.c:62,1
    - Dst: gpgrt_vasprintf
      Src: /src/libassuan/src/debug.c:63,1
    - Dst: va_end
      Src: /src/libassuan/src/debug.c:64,1
    - Dst: assuan_context_t::log_cb
      Src: /src/libassuan/src/debug.c:67,1
    - Dst: gpgrt_free
      Src: /src/libassuan/src/debug.c:68,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/debug.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - cat
    - format
    argTypes:
    - assuan_context_t
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: _assuan_debug
    functionSourceFile: /src/libassuan/src/debug.c
    functionUses: 1
    functionsReached:
    - va_end
    - gpgrt_vasprintf
    - assuan_context_t::log_cb
    - va_start
    - gpg_err_set_errno
    - gpgrt_free
    linkageType: ''
    returnType: void
    signature: void _assuan_debug (assuan_context_t ctx, unsigned int cat, const char
      *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libassuan/src/debug.c:89,1
    - Dst: gpgrt_vasprintf
      Src: /src/libassuan/src/debug.c:90,1
    - Dst: va_end
      Src: /src/libassuan/src/debug.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - line
    - cat
    - format
    argTypes:
    - assuan_context_t
    - void**
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: _assuan_debug_begin
    functionSourceFile: /src/libassuan/src/debug.c
    functionUses: 0
    functionsReached:
    - va_end
    - gpgrt_vasprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: "void _assuan_debug_begin (assuan_context_t ctx,\n\t\t     void **line,
      unsigned int cat, const char *format, ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libassuan/src/debug.c:111,1
    - Dst: gpgrt_vasprintf
      Src: /src/libassuan/src/debug.c:112,1
    - Dst: va_end
      Src: /src/libassuan/src/debug.c:113,1
    - Dst: gpgrt_free
      Src: /src/libassuan/src/debug.c:116,1
    - Dst: gpgrt_asprintf
      Src: /src/libassuan/src/debug.c:119,1
    - Dst: gpgrt_free
      Src: /src/libassuan/src/debug.c:120,1
    - Dst: gpgrt_free
      Src: /src/libassuan/src/debug.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - line
    - format
    argTypes:
    - assuan_context_t
    - void**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 126
    functionName: _assuan_debug_add
    functionSourceFile: /src/libassuan/src/debug.c
    functionUses: 0
    functionsReached:
    - va_end
    - gpgrt_vasprintf
    - va_start
    - gpgrt_free
    - gpgrt_asprintf
    linkageType: ''
    returnType: void
    signature: void _assuan_debug_add (assuan_context_t ctx, void **line, const char
      *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_debug
      Src: /src/libassuan/src/debug.c:140,1
    - Dst: gpgrt_free
      Src: /src/libassuan/src/debug.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - line
    - cat
    argTypes:
    - assuan_context_t
    - void**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: _assuan_debug_end
    functionSourceFile: /src/libassuan/src/debug.c
    functionUses: 0
    functionsReached:
    - _assuan_debug
    - gpgrt_free
    linkageType: ''
    returnType: void
    signature: void _assuan_debug_end (assuan_context_t ctx, void **line, unsigned
      int cat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: TOHEX
    functionSourceFile: /src/libassuan/src/debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOHEX(val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TOHEX
      Src: /src/libassuan/src/debug.c:175,1
    - Dst: TOHEX
      Src: /src/libassuan/src/debug.c:176,1
    - Dst: isprint
      Src: /src/libassuan/src/debug.c:177,1
    - Dst: _assuan_debug
      Src: /src/libassuan/src/debug.c:191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 8
    argNames:
    - ctx
    - cat
    - fmt
    - func
    - tagname
    - tag
    - buffer
    - len
    argTypes:
    - assuan_context_t
    - unsigned int
    - char*
    - char*
    - char*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 193
    functionName: _assuan_debug_buffer
    functionSourceFile: /src/libassuan/src/debug.c
    functionUses: 0
    functionsReached:
    - _assuan_debug
    - TOHEX
    - isprint
    linkageType: ''
    returnType: void
    signature: "void _assuan_debug_buffer (assuan_context_t ctx, unsigned int cat,\n\t\t
      \     const char *const fmt, const char *const func,\n\t\t      const char *const
      tagname, void *tag,\n\t\t      const char *const buffer, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopencookie
      Src: /src/libassuan/src/funopen.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - cookie
    - readfn
    - writefn
    - seekfn
    - closefn
    argTypes:
    - void*
    - cookie_read_function_t*
    - cookie_write_function_t*
    - cookie_seek_function_t*
    - cookie_close_function_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: _assuan_funopen
    functionSourceFile: /src/libassuan/src/funopen.c
    functionUses: 0
    functionsReached:
    - fopencookie
    linkageType: ''
    returnType: FILE
    signature: "FILE *\n_assuan_funopen(void *cookie,\n                cookie_read_function_t
      *readfn,\n                cookie_write_function_t *writefn,\n                cookie_seek_function_t
      *seekfn,\n                cookie_close_function_t *closefn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: isascii
    functionSourceFile: /src/libassuan/src/isascii.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isascii (int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - block
    - c
    - size
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: memrchr
    functionSourceFile: /src/libassuan/src/memrchr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      memrchr (const void *block, int c, size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/libassuan/src/w32-fd-t.inc.h:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: assuan_fd_t::assuan_fd_from_posix_fd
    functionSourceFile: /src/libassuan/src/w32-fd-t.inc.h
    functionUses: 0
    functionsReached:
    - _get_osfhandle
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE assuan_fd_t

      assuan_fd_from_posix_fd (int fd)'
  - 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: STRINGIFY
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: XSTRINGIFY
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSTRINGIFY(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libassuan/src/debug.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: _assuan_debug_srcname
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE *

      _assuan_debug_srcname (const char *file)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ctx
    - ','
    - lvl
    - ','
    - name
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: _TRACE
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _TRACE(ctx, lvl, name, tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ctx
    - ','
    - lvl
    - ','
    - name
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: TRACE_BEG
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_BEG(ctx,lvl, name, tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ctx
    - ','
    - lvl
    - ','
    - name
    - ','
    - tag
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: TRACE_BEG0
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_BEG0(ctx, lvl, name, tag, fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - ctx
    - ','
    - lvl
    - ','
    - name
    - ','
    - tag
    - ','
    - fmt
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: TRACE_BEG1
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_BEG1(ctx, lvl, name, tag, fmt, arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - ctx
    - ','
    - lvl
    - ','
    - name
    - ','
    - tag
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: TRACE_BEG2
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_BEG2(ctx, lvl, name, tag, fmt, arg1, arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - ctx
    - ','
    - lvl
    - ','
    - name
    - ','
    - tag
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: TRACE_BEG3
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_BEG3(ctx, lvl, name, tag, fmt, arg1, arg2, arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - ctx
    - ','
    - lvl
    - ','
    - name
    - ','
    - tag
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    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: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: TRACE_BEG4
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_BEG4(ctx, lvl, name, tag, fmt, arg1, arg2, arg3, arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - ctx
    - ','
    - lvl
    - ','
    - name
    - ','
    - tag
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - 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: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: TRACE_BEG6
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_BEG6(ctx, lvl, name, tag, fmt, arg1, arg2, arg3, arg4,arg5,arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - ctx
    - ','
    - lvl
    - ','
    - name
    - ','
    - tag
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    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: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: TRACE_BEG8
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "TRACE_BEG8(ctx, lvl, name, tag, fmt, arg1, arg2, arg3, arg4,\t\\\n\t\t
      \  arg5, arg6, arg7, arg8)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ctx
    - ','
    - lvl
    - ','
    - name
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: TRACE
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE(ctx, lvl, name, tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ctx
    - ','
    - lvl
    - ','
    - name
    - ','
    - tag
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: TRACE0
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE0(ctx, lvl, name, tag, fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - ctx
    - ','
    - lvl
    - ','
    - name
    - ','
    - tag
    - ','
    - fmt
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: TRACE1
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE1(ctx, lvl, name, tag, fmt, arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - ctx
    - ','
    - lvl
    - ','
    - name
    - ','
    - tag
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: TRACE2
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE2(ctx, lvl, name, tag, fmt, arg1, arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - ctx
    - ','
    - lvl
    - ','
    - name
    - ','
    - tag
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: TRACE3
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE3(ctx, lvl, name, tag, fmt, arg1, arg2, arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - ctx
    - ','
    - lvl
    - ','
    - name
    - ','
    - tag
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    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: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: TRACE4
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE4(ctx, lvl, name, tag, fmt, arg1, arg2, arg3, arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - ctx
    - ','
    - lvl
    - ','
    - name
    - ','
    - tag
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - 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: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: TRACE6
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE6(ctx, lvl, name, tag, fmt, arg1, arg2, arg3, arg4, arg5, arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: TRACE_ERR
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_ERR(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: TRACE_SYSRES
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_SYSRES(res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: TRACE_SYSERR
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_SYSERR(res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: TRACE_SUC
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_SUC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: TRACE_SUC0
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_SUC0(fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: TRACE_SUC1
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_SUC1(fmt, arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: TRACE_SUC2
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_SUC2(fmt, arg1, arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - 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: TRACE_SUC5
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_SUC5(fmt, arg1, arg2, arg3, arg4, arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: TRACE_LOG
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_LOG(fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: TRACE_LOG1
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_LOG1(fmt, arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: TRACE_LOG2
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_LOG2(fmt, arg1, arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: TRACE_LOG3
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_LOG3(fmt, arg1, arg2, arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: TRACE_LOG4
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_LOG4(fmt, arg1, arg2, arg3, arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: TRACE_LOG5
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_LOG5(fmt, arg1, arg2, arg3, arg4, arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: TRACE_LOG6
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_LOG6(fmt, arg1, arg2, arg3, arg4, arg5, arg6)
  - 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: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: TRACE_LOGBUF
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_LOGBUF(buf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hlp
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: TRACE_SEQ
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_SEQ(hlp,fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hlp
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: TRACE_ADD0
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_ADD0(hlp,fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hlp
    - ','
    - fmt
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: TRACE_ADD1
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_ADD1(hlp,fmt,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hlp
    - ','
    - fmt
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: TRACE_ADD2
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_ADD2(hlp,fmt,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hlp
    - ','
    - fmt
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: TRACE_ADD3
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_ADD3(hlp,fmt,a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hlp
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: TRACE_END
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_END(hlp,fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hlp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 275
    functionName: TRACE_ENABLED
    functionSourceFile: /src/libassuan/src/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_ENABLED(hlp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE1
      Src: /src/libassuan/src/context.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - user_pointer
    argTypes:
    - assuan_context_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: assuan_set_pointer
    functionSourceFile: /src/libassuan/src/context.c
    functionUses: 10
    functionsReached:
    - TRACE1
    linkageType: ''
    returnType: void
    signature: void assuan_set_pointer (assuan_context_t ctx, void *user_pointer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE1
      Src: /src/libassuan/src/context.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: assuan_get_pointer
    functionSourceFile: /src/libassuan/src/context.c
    functionUses: 162
    functionsReached:
    - TRACE1
    linkageType: ''
    returnType: void
    signature: 'void *

      assuan_get_pointer (assuan_context_t ctx)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TRACE2
      Src: /src/libassuan/src/context.c:65,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - flag
    - value
    argTypes:
    - assuan_context_t
    - assuan_flag_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 99
    functionName: assuan_set_flag
    functionSourceFile: /src/libassuan/src/context.c
    functionUses: 10
    functionsReached:
    - TRACE2
    linkageType: ''
    returnType: void
    signature: void assuan_set_flag (assuan_context_t ctx, assuan_flag_t flag, int
      value)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_BEG1
      Src: /src/libassuan/src/context.c:107,1
    - Dst: TRACE_SUC1
      Src: /src/libassuan/src/context.c:140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - flag
    argTypes:
    - assuan_context_t
    - assuan_flag_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 141
    functionName: assuan_get_flag
    functionSourceFile: /src/libassuan/src/context.c
    functionUses: 7
    functionsReached:
    - TRACE_SUC1
    - TRACE_BEG1
    linkageType: ''
    returnType: int
    signature: int assuan_get_flag (assuan_context_t ctx, assuan_flag_t flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_set_flag
      Src: /src/libassuan/src/context.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: assuan_begin_confidential
    functionSourceFile: /src/libassuan/src/context.c
    functionUses: 27
    functionsReached:
    - assuan_set_flag
    linkageType: ''
    returnType: void
    signature: void assuan_begin_confidential (assuan_context_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_cookie_write_flush
      Src: /src/libassuan/src/context.c:157,1
    - Dst: assuan_set_flag
      Src: /src/libassuan/src/context.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: assuan_end_confidential
    functionSourceFile: /src/libassuan/src/context.c
    functionUses: 27
    functionsReached:
    - assuan_set_flag
    - _assuan_cookie_write_flush
    linkageType: ''
    returnType: void
    signature: void assuan_end_confidential (assuan_context_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE2
      Src: /src/libassuan/src/context.c:167,1
    - Dst: _assuan_system_hooks_copy
      Src: /src/libassuan/src/context.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - system_hooks
    argTypes:
    - assuan_context_t
    - assuan_system_hooks_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: assuan_ctx_set_system_hooks
    functionSourceFile: /src/libassuan/src/context.c
    functionUses: 0
    functionsReached:
    - _assuan_system_hooks_copy
    - TRACE2
    linkageType: ''
    returnType: void
    signature: "void assuan_ctx_set_system_hooks (assuan_context_t ctx,\n\t\t\t     assuan_system_hooks_t
      system_hooks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE2
      Src: /src/libassuan/src/context.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - io_monitor
    - hook_data
    argTypes:
    - assuan_context_t
    - assuan_io_monitor_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: assuan_set_io_monitor
    functionSourceFile: /src/libassuan/src/context.c
    functionUses: 1
    functionsReached:
    - TRACE2
    linkageType: ''
    returnType: void
    signature: "void assuan_set_io_monitor (assuan_context_t ctx,\n\t\t\t    assuan_io_monitor_t
      io_monitor, void *hook_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE4
      Src: /src/libassuan/src/context.c:196,1
    - Dst: gpg_strsource
      Src: /src/libassuan/src/context.c:197,1
    - Dst: gpg_strerror
      Src: /src/libassuan/src/context.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - err
    - text
    argTypes:
    - assuan_context_t
    - gpg_error_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: assuan_set_error
    functionSourceFile: /src/libassuan/src/context.c
    functionUses: 6
    functionsReached:
    - gpg_strsource
    - gpg_strerror
    - TRACE4
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_set_error (assuan_context_t ctx, gpg_error_t err,
      const char *text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE1
      Src: /src/libassuan/src/context.c:213,1
    - Dst: TRACE1
      Src: /src/libassuan/src/context.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 236
    functionName: assuan_get_pid
    functionSourceFile: /src/libassuan/src/context.c
    functionUses: 10
    functionsReached:
    - TRACE1
    linkageType: ''
    returnType: pid_t
    signature: pid_t assuan_get_pid (assuan_context_t ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/libassuan/src/context.c:244,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/context.c:247,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/context.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - peercred
    argTypes:
    - assuan_context_t
    - assuan_peercred_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: assuan_get_peercred
    functionSourceFile: /src/libassuan/src/context.c
    functionUses: 4
    functionsReached:
    - TRACE
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_get_peercred (assuan_context_t ctx, assuan_peercred_t
      *peercred)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - nr
    - str
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: _assuan_bytetohex
    functionSourceFile: /src/libassuan/src/conversion.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      _assuan_bytetohex (int nr, char *str)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_malloc
      Src: /src/libassuan/src/conversion.c:61,1
    - Dst: strlen
      Src: /src/libassuan/src/conversion.c:61,1
    - Dst: isascii
      Src: /src/libassuan/src/conversion.c:94,1
    - Dst: isprint
      Src: /src/libassuan/src/conversion.c:94,1
    - Dst: _assuan_bytetohex
      Src: /src/libassuan/src/conversion.c:100,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 113
    functionName: _assuan_encode_c_string
    functionSourceFile: /src/libassuan/src/conversion.c
    functionUses: 0
    functionsReached:
    - _assuan_bytetohex
    - strlen
    - _assuan_malloc
    - isprint
    - isascii
    linkageType: ''
    returnType: char
    signature: 'char *

      _assuan_encode_c_string (assuan_context_t ctx, const char *src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: SUN_LEN
    functionSourceFile: /src/libassuan/src/assuan-socket-connect.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUN_LEN(ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - str
    - r_port
    argTypes:
    - char*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: parse_portno
    functionSourceFile: /src/libassuan/src/assuan-socket-connect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parse_portno (const char *str, uint16_t *r_port)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_init_uds_io
      Src: /src/libassuan/src/assuan-socket-connect.c:122,1
    - Dst: _assuan_read_from_server
      Src: /src/libassuan/src/assuan-socket-connect.c:130,1
    - Dst: TRACE1
      Src: /src/libassuan/src/assuan-socket-connect.c:132,1
    - Dst: gpg_strerror
      Src: /src/libassuan/src/assuan-socket-connect.c:133,1
    - Dst: strrchr
      Src: /src/libassuan/src/assuan-socket-connect.c:141,1
    - Dst: strchr
      Src: /src/libassuan/src/assuan-socket-connect.c:144,1
    - Dst: strchr
      Src: /src/libassuan/src/assuan-socket-connect.c:147,1
    - Dst: atoi
      Src: /src/libassuan/src/assuan-socket-connect.c:149,1
    - Dst: _assuan_encode_c_string
      Src: /src/libassuan/src/assuan-socket-connect.c:160,1
    - Dst: TRACE1
      Src: /src/libassuan/src/assuan-socket-connect.c:163,1
    - Dst: _assuan_free
      Src: /src/libassuan/src/assuan-socket-connect.c:165,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-socket-connect.c:167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 3
    argNames:
    - ctx
    - fd
    - flags
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 172
    functionName: _assuan_connect_finalize
    functionSourceFile: /src/libassuan/src/assuan-socket-connect.c
    functionUses: 0
    functionsReached:
    - _assuan_free
    - atoi
    - _assuan_init_uds_io
    - TRACE1
    - _assuan_read_from_server
    - strchr
    - gpg_strerror
    - strrchr
    - _assuan_encode_c_string
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _assuan_connect_finalize (assuan_context_t ctx, assuan_fd_t
      fd,\n                          unsigned int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_connect_finalize
      Src: /src/libassuan/src/assuan-socket-connect.c:190,1
    - Dst: _assuan_reset
      Src: /src/libassuan/src/assuan-socket-connect.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - fd
    - flags
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 196
    functionName: assuan_socket_connect_fd
    functionSourceFile: /src/libassuan/src/assuan-socket-connect.c
    functionUses: 0
    functionsReached:
    - _assuan_reset
    - _assuan_connect_finalize
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t assuan_socket_connect_fd (assuan_context_t ctx, assuan_fd_t
      fd,\n                          unsigned int flags)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TRACE2
      Src: /src/libassuan/src/assuan-socket-connect.c:239,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-socket-connect.c:243,1
    - Dst: strncmp
      Src: /src/libassuan/src/assuan-socket-connect.c:245,1
    - Dst: strncmp
      Src: /src/libassuan/src/assuan-socket-connect.c:247,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-socket-connect.c:262,1
    - Dst: _assuan_sock_set_sockaddr_un
      Src: /src/libassuan/src/assuan-socket-connect.c:269,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-socket-connect.c:271,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-socket-connect.c:271,1
    - Dst: SUN_LEN
      Src: /src/libassuan/src/assuan-socket-connect.c:273,1
    - Dst: _assuan_malloc
      Src: /src/libassuan/src/assuan-socket-connect.c:283,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-socket-connect.c:283,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-socket-connect.c:285,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-socket-connect.c:285,1
    - Dst: strcpy
      Src: /src/libassuan/src/assuan-socket-connect.c:289,1
    - Dst: strchr
      Src: /src/libassuan/src/assuan-socket-connect.c:290,1
    - Dst: parse_portno
      Src: /src/libassuan/src/assuan-socket-connect.c:291,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-socket-connect.c:292,1
    - Dst: memset
      Src: /src/libassuan/src/assuan-socket-connect.c:299,1
    - Dst: htons
      Src: /src/libassuan/src/assuan-socket-connect.c:301,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-socket-connect.c:308,1
    - Dst: strcpy
      Src: /src/libassuan/src/assuan-socket-connect.c:314,1
    - Dst: strchr
      Src: /src/libassuan/src/assuan-socket-connect.c:315,1
    - Dst: parse_portno
      Src: /src/libassuan/src/assuan-socket-connect.c:316,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-socket-connect.c:317,1
    - Dst: memset
      Src: /src/libassuan/src/assuan-socket-connect.c:321,1
    - Dst: htons
      Src: /src/libassuan/src/assuan-socket-connect.c:323,1
    - Dst: inet_pton
      Src: /src/libassuan/src/assuan-socket-connect.c:335,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-socket-connect.c:338,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-socket-connect.c:339,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-socket-connect.c:339,1
    - Dst: inet_addr
      Src: /src/libassuan/src/assuan-socket-connect.c:346,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-socket-connect.c:348,1
    - Dst: _assuan_free
      Src: /src/libassuan/src/assuan-socket-connect.c:352,1
    - Dst: _assuan_sock_new
      Src: /src/libassuan/src/assuan-socket-connect.c:358,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-socket-connect.c:361,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-socket-connect.c:361,1
    - Dst: TRACE1
      Src: /src/libassuan/src/assuan-socket-connect.c:362,1
    - Dst: strerror
      Src: /src/libassuan/src/assuan-socket-connect.c:363,1
    - Dst: _assuan_sock_connect
      Src: /src/libassuan/src/assuan-socket-connect.c:367,1
    - Dst: TRACE2
      Src: /src/libassuan/src/assuan-socket-connect.c:369,1
    - Dst: strerror
      Src: /src/libassuan/src/assuan-socket-connect.c:370,1
    - Dst: _assuan_close
      Src: /src/libassuan/src/assuan-socket-connect.c:371,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-socket-connect.c:372,1
    - Dst: _assuan_connect_finalize
      Src: /src/libassuan/src/assuan-socket-connect.c:375,1
    - Dst: _assuan_reset
      Src: /src/libassuan/src/assuan-socket-connect.c:378,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 91
    argCount: 4
    argNames:
    - ctx
    - name
    - server_pid
    - flags
    argTypes:
    - assuan_context_t
    - char*
    - pid_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 381
    functionName: assuan_socket_connect
    functionSourceFile: /src/libassuan/src/assuan-socket-connect.c
    functionUses: 11
    functionsReached:
    - inet_pton
    - strlen
    - htons
    - _assuan_error
    - _assuan_reset
    - TRACE1
    - _assuan_connect_finalize
    - strncmp
    - _assuan_sock_new
    - _assuan_malloc
    - gpg_err_code_from_syserror
    - strchr
    - memset
    - _assuan_close
    - TRACE2
    - _assuan_sock_connect
    - _assuan_sock_set_sockaddr_un
    - _assuan_free
    - parse_portno
    - SUN_LEN
    - strcpy
    - inet_addr
    - strerror
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t assuan_socket_connect (assuan_context_t ctx, const char
      *name,\n\t\t       pid_t server_pid, unsigned int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_close
      Src: /src/libassuan/src/server.c:37,1
    - Dst: _assuan_close
      Src: /src/libassuan/src/server.c:44,1
    - Dst: _assuan_uds_deinit
      Src: /src/libassuan/src/server.c:54,1
    - Dst: _assuan_inquire_release
      Src: /src/libassuan/src/server.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 57
    functionName: _assuan_server_finish
    functionSourceFile: /src/libassuan/src/server.c
    functionUses: 0
    functionsReached:
    - _assuan_uds_deinit
    - _assuan_inquire_release
    - _assuan_close
    linkageType: ''
    returnType: void
    signature: void _assuan_server_finish (assuan_context_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_server_finish
      Src: /src/libassuan/src/server.c:63,1
    - Dst: _assuan_free
      Src: /src/libassuan/src/server.c:65,1
    - Dst: _assuan_free
      Src: /src/libassuan/src/server.c:67,1
    - Dst: _assuan_free
      Src: /src/libassuan/src/server.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: _assuan_server_release
    functionSourceFile: /src/libassuan/src/server.c
    functionUses: 0
    functionsReached:
    - _assuan_free
    - _assuan_server_finish
    linkageType: ''
    returnType: void
    signature: void _assuan_server_release (assuan_context_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: xtoi_1
    functionSourceFile: /src/libassuan/src/client.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: xtoi_2
    functionSourceFile: /src/libassuan/src/client.c
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_2(p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_close
      Src: /src/libassuan/src/client.c:41,1
    - Dst: _assuan_close
      Src: /src/libassuan/src/client.c:48,1
    - Dst: _assuan_waitpid
      Src: /src/libassuan/src/client.c:54,1
    - Dst: _assuan_uds_deinit
      Src: /src/libassuan/src/client.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: _assuan_client_finish
    functionSourceFile: /src/libassuan/src/client.c
    functionUses: 0
    functionsReached:
    - _assuan_uds_deinit
    - _assuan_close
    - _assuan_waitpid
    linkageType: ''
    returnType: void
    signature: void _assuan_client_finish (assuan_context_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_write_line
      Src: /src/libassuan/src/client.c:66,1
    - Dst: _assuan_client_finish
      Src: /src/libassuan/src/client.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: _assuan_client_release
    functionSourceFile: /src/libassuan/src/client.c
    functionUses: 0
    functionsReached:
    - assuan_write_line
    - _assuan_client_finish
    linkageType: ''
    returnType: void
    signature: void _assuan_client_release (assuan_context_t ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_read_line
      Src: /src/libassuan/src/client.c:88,1
    - Dst: _assuan_error_is_eagain
      Src: /src/libassuan/src/client.c:90,1
    - Dst: xtoi_2
      Src: /src/libassuan/src/client.c:108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - line_r
    - linelen_r
    argTypes:
    - assuan_context_t
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 125
    functionName: assuan_client_read_response
    functionSourceFile: /src/libassuan/src/client.c
    functionUses: 0
    functionsReached:
    - _assuan_read_line
    - _assuan_error_is_eagain
    - xtoi_2
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t assuan_client_read_response (assuan_context_t ctx,\n\t\t\t
      \    char **line_r, int *linelen_r)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/client.c:192,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 41
    argCount: 5
    argNames:
    - ctx
    - line
    - linelen
    - response
    - 'off'
    argTypes:
    - assuan_context_t
    - char*
    - int
    - assuan_response_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 195
    functionName: assuan_client_parse_response
    functionSourceFile: /src/libassuan/src/client.c
    functionUses: 0
    functionsReached:
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t assuan_client_parse_response (assuan_context_t ctx, char
      *line, int linelen,\n\t\t\t      assuan_response_t *response, int *off)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_client_read_response
      Src: /src/libassuan/src/client.c:210,1
    - Dst: assuan_client_parse_response
      Src: /src/libassuan/src/client.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - response
    - 'off'
    - convey_comments
    argTypes:
    - assuan_context_t
    - assuan_response_t*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 217
    functionName: _assuan_read_from_server
    functionSourceFile: /src/libassuan/src/client.c
    functionUses: 1
    functionsReached:
    - assuan_client_parse_response
    - assuan_client_read_response
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _assuan_read_from_server (assuan_context_t ctx, assuan_response_t
      *response,\n\t\t\t  int *off, int convey_comments)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: assuan_write_line
      Src: /src/libassuan/src/client.c:255,1
    - Dst: _assuan_read_from_server
      Src: /src/libassuan/src/client.c:263,1
    - Dst: atoi
      Src: /src/libassuan/src/client.c:272,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/client.c:276,1
    - Dst: data_cb
      Src: /src/libassuan/src/client.c:279,1
    - Dst: wipememory
      Src: /src/libassuan/src/client.c:281,1
    - Dst: assuan_write_line
      Src: /src/libassuan/src/client.c:293,1
    - Dst: _assuan_read_from_server
      Src: /src/libassuan/src/client.c:294,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/client.c:295,1
    - Dst: inquire_cb
      Src: /src/libassuan/src/client.c:302,1
    - Dst: assuan_send_data
      Src: /src/libassuan/src/client.c:304,1
    - Dst: assuan_send_data
      Src: /src/libassuan/src/client.c:311,1
    - Dst: _assuan_read_from_server
      Src: /src/libassuan/src/client.c:312,1
    - Dst: wipememory
      Src: /src/libassuan/src/client.c:316,1
    - Dst: status_cb
      Src: /src/libassuan/src/client.c:328,1
    - Dst: status_cb
      Src: /src/libassuan/src/client.c:336,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/client.c:343,1
    - Dst: data_cb
      Src: /src/libassuan/src/client.c:345,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 77
    argCount: 5
    argNames:
    - ctx
    - command
    - data_cb_arg
    - inquire_cb_arg
    - status_cb_arg
    argTypes:
    - assuan_context_t
    - char*
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 357
    functionName: assuan_transact
    functionSourceFile: /src/libassuan/src/client.c
    functionUses: 176
    functionsReached:
    - assuan_send_data
    - atoi
    - assuan_write_line
    - _assuan_read_from_server
    - wipememory
    - status_cb
    - data_cb
    - _assuan_error
    - inquire_cb
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t assuan_transact (assuan_context_t ctx,\n                 const
      char *command,\n                 gpg_error_t (*data_cb)(void *, const void *,
      size_t),\n                 void *data_cb_arg,\n                 gpg_error_t
      (*inquire_cb)(void*, const char *),\n                 void *inquire_cb_arg,\n
      \                gpg_error_t (*status_cb)(void*, const char *),\n                 void
      *status_cb_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sigaction
      Src: /src/libassuan/src/assuan-pipe-connect.c:78,1
    - Dst: sigemptyset
      Src: /src/libassuan/src/assuan-pipe-connect.c:82,1
    - Dst: sigaction
      Src: /src/libassuan/src/assuan-pipe-connect.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: fix_signals
    functionSourceFile: /src/libassuan/src/assuan-pipe-connect.c
    functionUses: 0
    functionsReached:
    - sigemptyset
    - sigaction
    linkageType: ''
    returnType: void
    signature: void fix_signals (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_read_from_server
      Src: /src/libassuan/src/assuan-pipe-connect.c:101,1
    - Dst: TRACE1
      Src: /src/libassuan/src/assuan-pipe-connect.c:103,1
    - Dst: gpg_strerror
      Src: /src/libassuan/src/assuan-pipe-connect.c:104,1
    - Dst: strchr
      Src: /src/libassuan/src/assuan-pipe-connect.c:112,1
    - Dst: strchr
      Src: /src/libassuan/src/assuan-pipe-connect.c:115,1
    - Dst: strchr
      Src: /src/libassuan/src/assuan-pipe-connect.c:118,1
    - Dst: atoi
      Src: /src/libassuan/src/assuan-pipe-connect.c:120,1
    - Dst: TRACE1
      Src: /src/libassuan/src/assuan-pipe-connect.c:131,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-pipe-connect.c:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 137
    functionName: initial_handshake
    functionSourceFile: /src/libassuan/src/assuan-pipe-connect.c
    functionUses: 0
    functionsReached:
    - atoi
    - TRACE1
    - _assuan_read_from_server
    - strchr
    - gpg_strerror
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t initial_handshake (assuan_context_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct at_pipe_fork*::user_atfork
      Src: /src/libassuan/src/assuan-pipe-connect.c:154,1
    - Dst: sprintf
      Src: /src/libassuan/src/assuan-pipe-connect.c:164,1
    - Dst: setenv
      Src: /src/libassuan/src/assuan-pipe-connect.c:165,1
    - Dst: unsetenv
      Src: /src/libassuan/src/assuan-pipe-connect.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - opaque
    - reserved
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 172
    functionName: at_pipe_fork_cb
    functionSourceFile: /src/libassuan/src/assuan-pipe-connect.c
    functionUses: 0
    functionsReached:
    - sprintf
    - struct at_pipe_fork*::user_atfork
    - setenv
    - unsetenv
    linkageType: ''
    returnType: void
    signature: void at_pipe_fork_cb (void *opaque, int reserved)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/libassuan/src/assuan-pipe-connect.c:192,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-pipe-connect.c:195,1
    - Dst: fix_signals
      Src: /src/libassuan/src/assuan-pipe-connect.c:198,1
    - Dst: _assuan_pipe
      Src: /src/libassuan/src/assuan-pipe-connect.c:200,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-pipe-connect.c:201,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-pipe-connect.c:201,1
    - Dst: _assuan_pipe
      Src: /src/libassuan/src/assuan-pipe-connect.c:203,1
    - Dst: _assuan_close
      Src: /src/libassuan/src/assuan-pipe-connect.c:205,1
    - Dst: _assuan_close_inheritable
      Src: /src/libassuan/src/assuan-pipe-connect.c:206,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-pipe-connect.c:207,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-pipe-connect.c:207,1
    - Dst: _assuan_spawn
      Src: /src/libassuan/src/assuan-pipe-connect.c:215,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-pipe-connect.c:219,1
    - Dst: _assuan_close
      Src: /src/libassuan/src/assuan-pipe-connect.c:220,1
    - Dst: _assuan_close_inheritable
      Src: /src/libassuan/src/assuan-pipe-connect.c:221,1
    - Dst: _assuan_close_inheritable
      Src: /src/libassuan/src/assuan-pipe-connect.c:222,1
    - Dst: _assuan_close
      Src: /src/libassuan/src/assuan-pipe-connect.c:223,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-pipe-connect.c:224,1
    - Dst: _assuan_close_inheritable
      Src: /src/libassuan/src/assuan-pipe-connect.c:228,1
    - Dst: _assuan_close_inheritable
      Src: /src/libassuan/src/assuan-pipe-connect.c:229,1
    - Dst: initial_handshake
      Src: /src/libassuan/src/assuan-pipe-connect.c:247,1
    - Dst: _assuan_reset
      Src: /src/libassuan/src/assuan-pipe-connect.c:249,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 6
    argNames:
    - ctx
    - name
    - argv
    - fd_child_list
    - atforkvalue
    - flags
    argTypes:
    - assuan_context_t
    - char*
    - char**
    - assuan_fd_t*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 251
    functionName: pipe_connect
    functionSourceFile: /src/libassuan/src/assuan-pipe-connect.c
    functionUses: 9
    functionsReached:
    - initial_handshake
    - _assuan_pipe
    - gpg_err_code_from_syserror
    - _assuan_reset
    - fix_signals
    - _assuan_close_inheritable
    - _assuan_close
    - _assuan_spawn
    - getpid
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t pipe_connect (assuan_context_t ctx,\n\t      const char
      *name, const char **argv,\n\t      assuan_fd_t *fd_child_list,\n\t      void
      (*atfork) (void *opaque, int reserved),\n\t      void *atforkvalue, unsigned
      int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct at_socketpair_fork*::user_atfork
      Src: /src/libassuan/src/assuan-pipe-connect.c:274,1
    - Dst: sprintf
      Src: /src/libassuan/src/assuan-pipe-connect.c:284,1
    - Dst: setenv
      Src: /src/libassuan/src/assuan-pipe-connect.c:285,1
    - Dst: sprintf
      Src: /src/libassuan/src/assuan-pipe-connect.c:289,1
    - Dst: setenv
      Src: /src/libassuan/src/assuan-pipe-connect.c:290,1
    - Dst: _exit
      Src: /src/libassuan/src/assuan-pipe-connect.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - opaque
    - reserved
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 294
    functionName: at_socketpair_fork_cb
    functionSourceFile: /src/libassuan/src/assuan-pipe-connect.c
    functionUses: 0
    functionsReached:
    - struct at_socketpair_fork*::user_atfork
    - setenv
    - sprintf
    - _exit
    linkageType: ''
    returnType: void
    signature: void at_socketpair_fork_cb (void *opaque, int reserved)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_BEG3
      Src: /src/libassuan/src/assuan-pipe-connect.c:316,1
    - Dst: getpid
      Src: /src/libassuan/src/assuan-pipe-connect.c:322,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-pipe-connect.c:327,1
    - Dst: fix_signals
      Src: /src/libassuan/src/assuan-pipe-connect.c:330,1
    - Dst: sprintf
      Src: /src/libassuan/src/assuan-pipe-connect.c:332,1
    - Dst: getpid
      Src: /src/libassuan/src/assuan-pipe-connect.c:332,1
    - Dst: _assuan_malloc
      Src: /src/libassuan/src/assuan-pipe-connect.c:337,1
    - Dst: TRACE_ERR
      Src: /src/libassuan/src/assuan-pipe-connect.c:339,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-pipe-connect.c:339,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-pipe-connect.c:342,1
    - Dst: _assuan_socketpair
      Src: /src/libassuan/src/assuan-pipe-connect.c:344,1
    - Dst: TRACE_LOG1
      Src: /src/libassuan/src/assuan-pipe-connect.c:346,1
    - Dst: strerror
      Src: /src/libassuan/src/assuan-pipe-connect.c:346,1
    - Dst: _assuan_free
      Src: /src/libassuan/src/assuan-pipe-connect.c:347,1
    - Dst: TRACE_ERR
      Src: /src/libassuan/src/assuan-pipe-connect.c:348,1
    - Dst: _assuan_spawn
      Src: /src/libassuan/src/assuan-pipe-connect.c:353,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-pipe-connect.c:358,1
    - Dst: _assuan_close
      Src: /src/libassuan/src/assuan-pipe-connect.c:359,1
    - Dst: _assuan_close
      Src: /src/libassuan/src/assuan-pipe-connect.c:360,1
    - Dst: _assuan_free
      Src: /src/libassuan/src/assuan-pipe-connect.c:361,1
    - Dst: TRACE_ERR
      Src: /src/libassuan/src/assuan-pipe-connect.c:362,1
    - Dst: _assuan_free
      Src: /src/libassuan/src/assuan-pipe-connect.c:377,1
    - Dst: _assuan_close
      Src: /src/libassuan/src/assuan-pipe-connect.c:382,1
    - Dst: _assuan_close
      Src: /src/libassuan/src/assuan-pipe-connect.c:386,1
    - Dst: _assuan_init_uds_io
      Src: /src/libassuan/src/assuan-pipe-connect.c:393,1
    - Dst: initial_handshake
      Src: /src/libassuan/src/assuan-pipe-connect.c:395,1
    - Dst: _assuan_reset
      Src: /src/libassuan/src/assuan-pipe-connect.c:397,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 5
    argNames:
    - ctx
    - name
    - argv
    - fd_child_list
    - atforkvalue
    argTypes:
    - assuan_context_t
    - char*
    - char**
    - assuan_fd_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 299
    functionDepth: 4
    functionLinenumber: 299
    functionLinenumberEnd: 399
    functionName: socketpair_connect
    functionSourceFile: /src/libassuan/src/assuan-pipe-connect.c
    functionUses: 0
    functionsReached:
    - initial_handshake
    - _assuan_free
    - gpg_err_code_from_syserror
    - _assuan_init_uds_io
    - _assuan_reset
    - sprintf
    - fix_signals
    - TRACE_ERR
    - _assuan_spawn
    - _assuan_close
    - _assuan_socketpair
    - strerror
    - TRACE_BEG3
    - TRACE_LOG1
    - getpid
    - memcpy
    - _assuan_error
    - _assuan_malloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t socketpair_connect (assuan_context_t ctx,\n                    const
      char *name, const char **argv,\n                    assuan_fd_t *fd_child_list,\n
      \                   void (*atfork) (void *opaque, int reserved),\n                    void
      *atforkvalue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE2
      Src: /src/libassuan/src/assuan-pipe-connect.c:439,1
    - Dst: socketpair_connect
      Src: /src/libassuan/src/assuan-pipe-connect.c:444,1
    - Dst: pipe_connect
      Src: /src/libassuan/src/assuan-pipe-connect.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - ctx
    - name
    - argv
    - fd_child_list
    - atforkvalue
    - flags
    argTypes:
    - assuan_context_t
    - char*
    - char*[]
    - assuan_fd_t*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 432
    functionDepth: 5
    functionLinenumber: 432
    functionLinenumberEnd: 450
    functionName: assuan_pipe_connect
    functionSourceFile: /src/libassuan/src/assuan-pipe-connect.c
    functionUses: 9
    functionsReached:
    - socketpair_connect
    - pipe_connect
    - TRACE2
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t assuan_pipe_connect (assuan_context_t ctx,\n\t\t     const
      char *name, const char *argv[],\n\t\t     assuan_fd_t *fd_child_list,\n\t\t
      \    void (*atfork) (void *opaque, int reserved),\n\t\t     void *atforkvalue,
      unsigned int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-pipe-connect.c:459,1
    - Dst: _assuan_waitpid
      Src: /src/libassuan/src/assuan-pipe-connect.c:461,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-pipe-connect.c:463,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-pipe-connect.c:463,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-pipe-connect.c:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - status
    - no_hang
    argTypes:
    - assuan_context_t
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 470
    functionName: assuan_pipe_wait_server_termination
    functionSourceFile: /src/libassuan/src/assuan-pipe-connect.c
    functionUses: 1
    functionsReached:
    - gpg_err_code_from_syserror
    - _assuan_error
    - _assuan_waitpid
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t assuan_pipe_wait_server_termination (assuan_context_t
      ctx, int *status,\n                                     int no_hang)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_pre_syscall
      Src: /src/libassuan/src/assuan-pipe-connect.c:479,1
    - Dst: TerminateProcess
      Src: /src/libassuan/src/assuan-pipe-connect.c:481,1
    - Dst: kill
      Src: /src/libassuan/src/assuan-pipe-connect.c:483,1
    - Dst: _assuan_post_syscall
      Src: /src/libassuan/src/assuan-pipe-connect.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 488
    functionName: assuan_pipe_kill_server
    functionSourceFile: /src/libassuan/src/assuan-pipe-connect.c
    functionUses: 3
    functionsReached:
    - TerminateProcess
    - kill
    - _assuan_pre_syscall
    - _assuan_post_syscall
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_pipe_kill_server (assuan_context_t ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libassuan/src/mkheader.c:39,1
    - Dst: strlen
      Src: /src/libassuan/src/mkheader.c:39,1
    - Dst: strlen
      Src: /src/libassuan/src/mkheader.c:39,1
    - Dst: fputs
      Src: /src/libassuan/src/mkheader.c:42,1
    - Dst: exit
      Src: /src/libassuan/src/mkheader.c:43,1
    - Dst: strcpy
      Src: /src/libassuan/src/mkheader.c:45,1
    - Dst: strcat
      Src: /src/libassuan/src/mkheader.c:46,1
    - Dst: fopen
      Src: /src/libassuan/src/mkheader.c:48,1
    - Dst: fprintf
      Src: /src/libassuan/src/mkheader.c:51,1
    - Dst: strerror
      Src: /src/libassuan/src/mkheader.c:52,1
    - Dst: exit
      Src: /src/libassuan/src/mkheader.c:53,1
    - Dst: fgets
      Src: /src/libassuan/src/mkheader.c:56,1
    - Dst: strncmp
      Src: /src/libassuan/src/mkheader.c:60,1
    - Dst: fputs
      Src: /src/libassuan/src/mkheader.c:64,1
    - Dst: ferror
      Src: /src/libassuan/src/mkheader.c:66,1
    - Dst: fprintf
      Src: /src/libassuan/src/mkheader.c:68,1
    - Dst: strerror
      Src: /src/libassuan/src/mkheader.c:69,1
    - Dst: exit
      Src: /src/libassuan/src/mkheader.c:70,1
    - Dst: fclose
      Src: /src/libassuan/src/mkheader.c:72,1
    - Dst: free
      Src: /src/libassuan/src/mkheader.c:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - fname
    - lnr
    - name
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 74
    functionName: include_file
    functionSourceFile: /src/libassuan/src/mkheader.c
    functionUses: 0
    functionsReached:
    - strlen
    - free
    - fclose
    - exit
    - fprintf
    - strcpy
    - malloc
    - fputs
    - fopen
    - fgets
    - strncmp
    - strerror
    - ferror
    - strcat
    linkageType: ''
    returnType: void
    signature: void include_file (const char *fname, int lnr, const char *name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libassuan/src/mkheader.c:80,1
    - Dst: strstr
      Src: /src/libassuan/src/mkheader.c:82,1
    - Dst: include_file
      Src: /src/libassuan/src/mkheader.c:83,1
    - Dst: include_file
      Src: /src/libassuan/src/mkheader.c:85,1
    - Dst: strcmp
      Src: /src/libassuan/src/mkheader.c:87,1
    - Dst: strstr
      Src: /src/libassuan/src/mkheader.c:89,1
    - Dst: include_file
      Src: /src/libassuan/src/mkheader.c:90,1
    - Dst: include_file
      Src: /src/libassuan/src/mkheader.c:92,1
    - Dst: strcmp
      Src: /src/libassuan/src/mkheader.c:94,1
    - Dst: strstr
      Src: /src/libassuan/src/mkheader.c:96,1
    - Dst: include_file
      Src: /src/libassuan/src/mkheader.c:97,1
    - Dst: include_file
      Src: /src/libassuan/src/mkheader.c:99,1
    - Dst: strcmp
      Src: /src/libassuan/src/mkheader.c:101,1
    - Dst: strstr
      Src: /src/libassuan/src/mkheader.c:103,1
    - Dst: include_file
      Src: /src/libassuan/src/mkheader.c:104,1
    - Dst: include_file
      Src: /src/libassuan/src/mkheader.c:106,1
    - Dst: strcmp
      Src: /src/libassuan/src/mkheader.c:108,1
    - Dst: putchar
      Src: /src/libassuan/src/mkheader.c:110,1
    - Dst: fputs
      Src: /src/libassuan/src/mkheader.c:111,1
    - Dst: putchar
      Src: /src/libassuan/src/mkheader.c:112,1
    - Dst: putchar
      Src: /src/libassuan/src/mkheader.c:113,1
    - Dst: strcmp
      Src: /src/libassuan/src/mkheader.c:115,1
    - Dst: fputs
      Src: /src/libassuan/src/mkheader.c:117,1
    - Dst: putchar
      Src: /src/libassuan/src/mkheader.c:118,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - fname
    - lnr
    - tag
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 124
    functionName: write_special
    functionSourceFile: /src/libassuan/src/mkheader.c
    functionUses: 0
    functionsReached:
    - strstr
    - strcmp
    - include_file
    - fputs
    - putchar
    linkageType: ''
    returnType: int
    signature: int write_special (const char *fname, int lnr, const char *tag)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libassuan/src/mkheader.c:143,1
    - Dst: malloc
      Src: /src/libassuan/src/mkheader.c:152,1
    - Dst: strlen
      Src: /src/libassuan/src/mkheader.c:152,1
    - Dst: fputs
      Src: /src/libassuan/src/mkheader.c:155,1
    - Dst: strcpy
      Src: /src/libassuan/src/mkheader.c:158,1
    - Dst: strrchr
      Src: /src/libassuan/src/mkheader.c:159,1
    - Dst: strcpy
      Src: /src/libassuan/src/mkheader.c:163,1
    - Dst: fopen
      Src: /src/libassuan/src/mkheader.c:165,1
    - Dst: fprintf
      Src: /src/libassuan/src/mkheader.c:168,1
    - Dst: strerror
      Src: /src/libassuan/src/mkheader.c:169,1
    - Dst: fgets
      Src: /src/libassuan/src/mkheader.c:173,1
    - Dst: strlen
      Src: /src/libassuan/src/mkheader.c:175,1
    - Dst: fprintf
      Src: /src/libassuan/src/mkheader.c:180,1
    - Dst: strchr
      Src: /src/libassuan/src/mkheader.c:187,1
    - Dst: strchr
      Src: /src/libassuan/src/mkheader.c:188,1
    - Dst: puts
      Src: /src/libassuan/src/mkheader.c:191,1
    - Dst: fputs
      Src: /src/libassuan/src/mkheader.c:196,1
    - Dst: strcmp
      Src: /src/libassuan/src/mkheader.c:198,1
    - Dst: strrchr
      Src: /src/libassuan/src/mkheader.c:200,1
    - Dst: printf
      Src: /src/libassuan/src/mkheader.c:201,1
    - Dst: fputs
      Src: /src/libassuan/src/mkheader.c:203,1
    - Dst: putchar
      Src: /src/libassuan/src/mkheader.c:204,1
    - Dst: write_special
      Src: /src/libassuan/src/mkheader.c:206,1
    - Dst: putchar
      Src: /src/libassuan/src/mkheader.c:208,1
    - Dst: fputs
      Src: /src/libassuan/src/mkheader.c:209,1
    - Dst: putchar
      Src: /src/libassuan/src/mkheader.c:210,1
    - Dst: fputs
      Src: /src/libassuan/src/mkheader.c:211,1
    - Dst: putchar
      Src: /src/libassuan/src/mkheader.c:212,1
    - Dst: ferror
      Src: /src/libassuan/src/mkheader.c:216,1
    - Dst: fprintf
      Src: /src/libassuan/src/mkheader.c:218,1
    - Dst: strerror
      Src: /src/libassuan/src/mkheader.c:219,1
    - Dst: fputs
      Src: /src/libassuan/src/mkheader.c:223,1
    - Dst: ferror
      Src: /src/libassuan/src/mkheader.c:229,1
    - Dst: fprintf
      Src: /src/libassuan/src/mkheader.c:231,1
    - Dst: strerror
      Src: /src/libassuan/src/mkheader.c:231,1
    - Dst: fclose
      Src: /src/libassuan/src/mkheader.c:235,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 238
    functionName: main
    functionSourceFile: /src/libassuan/src/mkheader.c
    functionUses: 11
    functionsReached:
    - printf
    - ferror
    - strlen
    - fclose
    - fprintf
    - puts
    - strchr
    - strcmp
    - strcpy
    - malloc
    - fputs
    - strrchr
    - fopen
    - fgets
    - write_special
    - strerror
    - putchar
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: spacep
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 135
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: spacep(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: digitp
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 130
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digitp(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - rc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: PROCESS_DONE
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROCESS_DONE(ctx, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:49,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-handler.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: dummy_handler
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - PROCESS_DONE
    - set_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t dummy_handler (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: std_handler_nop
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - PROCESS_DONE
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t std_handler_nop (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_context_t::cancel_notify_fnc
      Src: /src/libassuan/src/assuan-handler.c:74,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:75,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-handler.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: std_handler_cancel
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - assuan_context_t::cancel_notify_fnc
    - PROCESS_DONE
    - set_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t std_handler_cancel (assuan_context_t ctx, char *line)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: spacep
      Src: /src/libassuan/src/assuan-handler.c:91,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:95,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-handler.c:95,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:98,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-handler.c:98,1
    - Dst: spacep
      Src: /src/libassuan/src/assuan-handler.c:100,1
    - Dst: spacep
      Src: /src/libassuan/src/assuan-handler.c:104,1
    - Dst: spacep
      Src: /src/libassuan/src/assuan-handler.c:106,1
    - Dst: spacep
      Src: /src/libassuan/src/assuan-handler.c:111,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:115,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-handler.c:115,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-handler.c:120,1
    - Dst: spacep
      Src: /src/libassuan/src/assuan-handler.c:120,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:130,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-handler.c:131,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:135,1
    - Dst: assuan_context_t::option_handler_fnc
      Src: /src/libassuan/src/assuan-handler.c:135,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:136,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 137
    functionName: std_handler_option
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - assuan_context_t::option_handler_fnc
    - strlen
    - set_error
    - PROCESS_DONE
    - spacep
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t std_handler_option (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assuan_context_t::bye_notify_fnc
      Src: /src/libassuan/src/assuan-handler.c:148,1
    - Dst: assuan_close_input_fd
      Src: /src/libassuan/src/assuan-handler.c:149,1
    - Dst: assuan_close_output_fd
      Src: /src/libassuan/src/assuan-handler.c:150,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: std_handler_bye
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - assuan_close_input_fd
    - assuan_context_t::bye_notify_fnc
    - assuan_close_output_fd
    - PROCESS_DONE
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t std_handler_bye (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:164,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-handler.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: std_handler_auth
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - PROCESS_DONE
    - set_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t std_handler_auth (assuan_context_t ctx, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_context_t::reset_notify_fnc
      Src: /src/libassuan/src/assuan-handler.c:178,1
    - Dst: assuan_close_input_fd
      Src: /src/libassuan/src/assuan-handler.c:181,1
    - Dst: assuan_close_output_fd
      Src: /src/libassuan/src/assuan-handler.c:182,1
    - Dst: _assuan_uds_close_fds
      Src: /src/libassuan/src/assuan-handler.c:183,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: std_handler_reset
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - assuan_context_t::reset_notify_fnc
    - assuan_close_input_fd
    - _assuan_uds_close_fds
    - PROCESS_DONE
    - assuan_close_output_fd
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t std_handler_reset (assuan_context_t ctx, char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/libassuan/src/assuan-handler.c:202,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-handler.c:210,1
    - Dst: strncmp
      Src: /src/libassuan/src/assuan-handler.c:213,1
    - Dst: strcspn
      Src: /src/libassuan/src/assuan-handler.c:215,1
    - Dst: snprintf
      Src: /src/libassuan/src/assuan-handler.c:216,1
    - Dst: snprintf
      Src: /src/libassuan/src/assuan-handler.c:218,1
    - Dst: assuan_write_line
      Src: /src/libassuan/src/assuan-handler.c:220,1
    - Dst: my_strcasecmp
      Src: /src/libassuan/src/assuan-handler.c:229,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:233,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-handler.c:233,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:236,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-handler.c:236,1
    - Dst: strcspn
      Src: /src/libassuan/src/assuan-handler.c:239,1
    - Dst: snprintf
      Src: /src/libassuan/src/assuan-handler.c:240,1
    - Dst: assuan_write_line
      Src: /src/libassuan/src/assuan-handler.c:245,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:250,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 251
    functionName: std_handler_help
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - my_strcasecmp
    - strlen
    - strcspn
    - snprintf
    - assuan_write_line
    - set_error
    - PROCESS_DONE
    - strncmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t std_handler_help (assuan_context_t ctx, char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:261,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-handler.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: std_handler_end
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - PROCESS_DONE
    - set_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t std_handler_end (assuan_context_t ctx, char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libassuan/src/assuan-handler.c:270,1
    - Dst: strncmp
      Src: /src/libassuan/src/assuan-handler.c:270,1
    - Dst: spacep
      Src: /src/libassuan/src/assuan-handler.c:271,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-handler.c:272,1
    - Dst: digitp
      Src: /src/libassuan/src/assuan-handler.c:277,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-handler.c:278,1
    - Dst: strtoull
      Src: /src/libassuan/src/assuan-handler.c:280,1
    - Dst: strtoul
      Src: /src/libassuan/src/assuan-handler.c:282,1
    - Dst: strtoul
      Src: /src/libassuan/src/assuan-handler.c:284,1
    - Dst: memset
      Src: /src/libassuan/src/assuan-handler.c:287,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-handler.c:287,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-handler.c:290,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-handler.c:292,1
    - Dst: assuan_receivefd
      Src: /src/libassuan/src/assuan-handler.c:297,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - line
    - rfd
    argTypes:
    - assuan_context_t
    - char*
    - assuan_fd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 298
    functionName: assuan_command_parse_fd
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 2
    functionsReached:
    - set_error
    - digitp
    - strlen
    - strtoull
    - spacep
    - assuan_receivefd
    - memset
    - strtoul
    - strncmp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_command_parse_fd (assuan_context_t ctx, char *line,
      assuan_fd_t *rfd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_command_parse_fd
      Src: /src/libassuan/src/assuan-handler.c:314,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:316,1
    - Dst: assuan_context_t::input_notify_fnc
      Src: /src/libassuan/src/assuan-handler.c:322,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: std_handler_input
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - assuan_command_parse_fd
    - PROCESS_DONE
    - assuan_context_t::input_notify_fnc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t std_handler_input (assuan_context_t ctx, char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assuan_command_parse_fd
      Src: /src/libassuan/src/assuan-handler.c:345,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:347,1
    - Dst: assuan_context_t::output_notify_fnc
      Src: /src/libassuan/src/assuan-handler.c:353,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 360
    functionName: std_handler_output
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - assuan_context_t::output_notify_fnc
    - assuan_command_parse_fd
    - PROCESS_DONE
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t std_handler_output (assuan_context_t ctx, char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoull
      Src: /src/libassuan/src/assuan-handler.c:382,1
    - Dst: strtoul
      Src: /src/libassuan/src/assuan-handler.c:384,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-handler.c:389,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:390,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 395
    functionName: w32_handler_sendfd
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - strtoull
    - strtoul
    - PROCESS_DONE
    - set_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t w32_handler_sendfd (assuan_context_t ctx, char *line)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-handler.c:449,1
    - Dst: strcmp
      Src: /src/libassuan/src/assuan-handler.c:453,1
    - Dst: my_strcasecmp
      Src: /src/libassuan/src/assuan-handler.c:458,1
    - Dst: _assuan_calloc
      Src: /src/libassuan/src/assuan-handler.c:470,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-handler.c:472,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-handler.c:472,1
    - Dst: _assuan_realloc
      Src: /src/libassuan/src/assuan-handler.c:479,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-handler.c:481,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-handler.c:481,1
    - Dst: my_strcasecmp
      Src: /src/libassuan/src/assuan-handler.c:488,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 4
    argNames:
    - ctx
    - cmd_name
    - handler
    - help_string
    argTypes:
    - assuan_context_t
    - char*
    - assuan_handler_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 502
    functionName: assuan_register_command
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 11
    functionsReached:
    - my_strcasecmp
    - gpg_err_code_from_syserror
    - strcmp
    - _assuan_realloc
    - _assuan_calloc
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t assuan_register_command (assuan_context_t ctx, const char
      *cmd_name,\n                         assuan_handler_t handler, const char *help_string)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: assuan_get_command_name
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      assuan_get_command_name (assuan_context_t ctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-handler.c:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 523
    functionName: assuan_register_pre_cmd_notify
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t assuan_register_pre_cmd_notify (assuan_context_t ctx,\n
      \                                gpg_error_t (*fnc)(assuan_context_t,\n\t\t\t\t
      \  const char *cmd))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-handler.c:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 533
    functionName: assuan_register_post_cmd_notify
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 1
    functionsReached:
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t assuan_register_post_cmd_notify (assuan_context_t ctx,\n
      \                                void (*fnc)(assuan_context_t, gpg_error_t))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-handler.c:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - fnc
    argTypes:
    - assuan_context_t
    - assuan_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 542
    functionName: assuan_register_bye_notify
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_register_bye_notify (assuan_context_t ctx, assuan_handler_t
      fnc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-handler.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - fnc
    argTypes:
    - assuan_context_t
    - assuan_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 551
    functionName: assuan_register_reset_notify
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 9
    functionsReached:
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_register_reset_notify (assuan_context_t ctx, assuan_handler_t
      fnc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-handler.c:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - fnc
    argTypes:
    - assuan_context_t
    - assuan_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 560
    functionName: assuan_register_cancel_notify
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_register_cancel_notify (assuan_context_t ctx, assuan_handler_t
      fnc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-handler.c:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 571
    functionName: assuan_register_option_handler
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 9
    functionsReached:
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t assuan_register_option_handler (assuan_context_t ctx,\n\t\t\t\tgpg_error_t
      (*fnc)(assuan_context_t,\n\t\t\t\t\t\t   const char*, const char*))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-handler.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - fnc
    argTypes:
    - assuan_context_t
    - assuan_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 580
    functionName: assuan_register_input_notify
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 2
    functionsReached:
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_register_input_notify (assuan_context_t ctx, assuan_handler_t
      fnc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-handler.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - fnc
    argTypes:
    - assuan_context_t
    - assuan_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 589
    functionName: assuan_register_output_notify
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 2
    functionsReached:
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_register_output_notify (assuan_context_t ctx, assuan_handler_t
      fnc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_register_command
      Src: /src/libassuan/src/assuan-handler.c:603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 609
    functionName: _assuan_register_std_commands
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - assuan_register_command
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _assuan_register_std_commands (assuan_context_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_error
      Src: /src/libassuan/src/assuan-handler.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - line
    - linelen
    argTypes:
    - assuan_context_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 621
    functionName: handle_data_line
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - set_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t handle_data_line (assuan_context_t ctx, char *line, int
      linelen)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 636
    functionName: my_strcasecmp
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int my_strcasecmp (const char *a, const char *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:658,1
    - Dst: handle_data_line
      Src: /src/libassuan/src/assuan-handler.c:658,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:663,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-handler.c:664,1
    - Dst: strcmp
      Src: /src/libassuan/src/assuan-handler.c:675,1
    - Dst: my_strcasecmp
      Src: /src/libassuan/src/assuan-handler.c:682,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:687,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-handler.c:687,1
    - Dst: assuan_context_t::pre_cmd_notify_fnc
      Src: /src/libassuan/src/assuan-handler.c:692,1
    - Dst: PROCESS_DONE
      Src: /src/libassuan/src/assuan-handler.c:695,1
    - Dst: handler
      Src: /src/libassuan/src/assuan-handler.c:700,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - line
    - linelen
    argTypes:
    - assuan_context_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 703
    functionName: dispatch_command
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 2
    functionsReached:
    - my_strcasecmp
    - set_error
    - assuan_context_t::pre_cmd_notify_fnc
    - PROCESS_DONE
    - strcmp
    - handler
    - handle_data_line
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t dispatch_command (assuan_context_t ctx, char *line, int
      linelen)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-handler.c:711,1
    - Dst: fclose
      Src: /src/libassuan/src/assuan-handler.c:722,1
    - Dst: assuan_send_data
      Src: /src/libassuan/src/assuan-handler.c:730,1
    - Dst: assuan_write_line
      Src: /src/libassuan/src/assuan-handler.c:742,1
    - Dst: assuan_context_t::finish_handler
      Src: /src/libassuan/src/assuan-handler.c:743,1
    - Dst: assuan_write_line
      Src: /src/libassuan/src/assuan-handler.c:746,1
    - Dst: gpg_strerror_r
      Src: /src/libassuan/src/assuan-handler.c:757,1
    - Dst: snprintf
      Src: /src/libassuan/src/assuan-handler.c:758,1
    - Dst: gpg_strsource
      Src: /src/libassuan/src/assuan-handler.c:759,1
    - Dst: assuan_write_line
      Src: /src/libassuan/src/assuan-handler.c:762,1
    - Dst: assuan_context_t::finish_handler
      Src: /src/libassuan/src/assuan-handler.c:765,1
    - Dst: assuan_context_t::post_cmd_notify_fnc
      Src: /src/libassuan/src/assuan-handler.c:769,1
    - Dst: _assuan_free
      Src: /src/libassuan/src/assuan-handler.c:774,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - ctx
    - rc
    argTypes:
    - assuan_context_t
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 779
    functionName: assuan_process_done
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - _assuan_free
    - assuan_send_data
    - gpg_strerror_r
    - assuan_context_t::finish_handler
    - assuan_write_line
    - fclose
    - snprintf
    - assuan_context_t::post_cmd_notify_fnc
    - gpg_strsource
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_process_done (assuan_context_t ctx, gpg_error_t
      rc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_read_line
      Src: /src/libassuan/src/assuan-handler.c:791,1
    - Dst: _assuan_error_is_eagain
      Src: /src/libassuan/src/assuan-handler.c:792,1
    - Dst: gpg_err_code
      Src: /src/libassuan/src/assuan-handler.c:794,1
    - Dst: dispatch_command
      Src: /src/libassuan/src/assuan-handler.c:819,1
    - Dst: _assuan_inquire_ext_cb
      Src: /src/libassuan/src/assuan-handler.c:825,1
    - Dst: TRACE0
      Src: /src/libassuan/src/assuan-handler.c:832,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 782
    functionDepth: 3
    functionLinenumber: 782
    functionLinenumberEnd: 838
    functionName: process_next
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - _assuan_read_line
    - dispatch_command
    - _assuan_inquire_ext_cb
    - _assuan_error_is_eagain
    - gpg_err_code
    - TRACE0
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t process_next (assuan_context_t ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: process_next
      Src: /src/libassuan/src/assuan-handler.c:857,1
    - Dst: assuan_pending_line
      Src: /src/libassuan/src/assuan-handler.c:859,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - done
    argTypes:
    - assuan_context_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 847
    functionDepth: 4
    functionLinenumber: 847
    functionLinenumberEnd: 865
    functionName: assuan_process_next
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - process_next
    - assuan_pending_line
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_process_next (assuan_context_t ctx, int *done)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-handler.c:875,1
    - Dst: _assuan_read_line
      Src: /src/libassuan/src/assuan-handler.c:879,1
    - Dst: _assuan_error_is_eagain
      Src: /src/libassuan/src/assuan-handler.c:881,1
    - Dst: gpg_err_code
      Src: /src/libassuan/src/assuan-handler.c:882,1
    - Dst: dispatch_command
      Src: /src/libassuan/src/assuan-handler.c:896,1
    - Dst: assuan_process_done
      Src: /src/libassuan/src/assuan-handler.c:898,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 869
    functionDepth: 2
    functionLinenumber: 869
    functionLinenumberEnd: 899
    functionName: process_request
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - _assuan_read_line
    - assuan_process_done
    - dispatch_command
    - _assuan_error_is_eagain
    - gpg_err_code
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t process_request (assuan_context_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: process_request
      Src: /src/libassuan/src/assuan-handler.c:919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 912
    functionDepth: 3
    functionLinenumber: 912
    functionLinenumberEnd: 923
    functionName: assuan_process
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 11
    functionsReached:
    - process_request
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_process (assuan_context_t ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/libassuan/src/assuan-handler.c:963,1
    - Dst: fileno
      Src: /src/libassuan/src/assuan-handler.c:963,1
    - Dst: fileno
      Src: /src/libassuan/src/assuan-handler.c:965,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - what
    - fdarray
    - fdarraysize
    argTypes:
    - assuan_context_t
    - int
    - assuan_fd_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 970
    functionName: assuan_get_active_fds
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 1
    functionsReached:
    - _get_osfhandle
    - fileno
    linkageType: ''
    returnType: int
    signature: "int assuan_get_active_fds (assuan_context_t ctx, int what,\n                       assuan_fd_t
      *fdarray, int fdarraysize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_cookie_write_data
      Src: /src/libassuan/src/assuan-handler.c:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cookie
    - buffer
    - orig_size
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 979
    functionName: fun1_cookie_write
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - _assuan_cookie_write_data
    linkageType: ''
    returnType: int
    signature: int fun1_cookie_write (void *cookie, const char *buffer, int orig_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_cookie_write_data
      Src: /src/libassuan/src/assuan-handler.c:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cookie
    - buffer
    - orig_size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 986
    functionName: fun2_cookie_write
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - _assuan_cookie_write_data
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t fun2_cookie_write (void *cookie, const char *buffer, size_t
      orig_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: funopen
      Src: /src/libassuan/src/assuan-handler.c:1005,1
    - Dst: funopen
      Src: /src/libassuan/src/assuan-handler.c:1008,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-handler.c:1016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1019
    functionName: assuan_get_data_fp
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 0
    functionsReached:
    - gpg_err_set_errno
    - funopen
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      assuan_get_data_fp (assuan_context_t ctx)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-handler.c:1028,1
    - Dst: _assuan_free
      Src: /src/libassuan/src/assuan-handler.c:1031,1
    - Dst: _assuan_malloc
      Src: /src/libassuan/src/assuan-handler.c:1038,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-handler.c:1038,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-handler.c:1040,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-handler.c:1040,1
    - Dst: strcpy
      Src: /src/libassuan/src/assuan-handler.c:1041,1
    - Dst: strcpy
      Src: /src/libassuan/src/assuan-handler.c:1042,1
    - Dst: _assuan_free
      Src: /src/libassuan/src/assuan-handler.c:1043,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1047
    functionName: assuan_set_okay_line
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 3
    functionsReached:
    - _assuan_free
    - gpg_err_code_from_syserror
    - strlen
    - strcpy
    - _assuan_error
    - _assuan_malloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_set_okay_line (assuan_context_t ctx, const char
      *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-handler.c:1061,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-handler.c:1065,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-handler.c:1065,1
    - Dst: strcpy
      Src: /src/libassuan/src/assuan-handler.c:1068,1
    - Dst: strcat
      Src: /src/libassuan/src/assuan-handler.c:1069,1
    - Dst: strcat
      Src: /src/libassuan/src/assuan-handler.c:1072,1
    - Dst: strcat
      Src: /src/libassuan/src/assuan-handler.c:1073,1
    - Dst: assuan_write_line
      Src: /src/libassuan/src/assuan-handler.c:1075,1
    - Dst: _assuan_malloc
      Src: /src/libassuan/src/assuan-handler.c:1077,1
    - Dst: strcpy
      Src: /src/libassuan/src/assuan-handler.c:1079,1
    - Dst: strcat
      Src: /src/libassuan/src/assuan-handler.c:1080,1
    - Dst: strcat
      Src: /src/libassuan/src/assuan-handler.c:1083,1
    - Dst: strcat
      Src: /src/libassuan/src/assuan-handler.c:1084,1
    - Dst: assuan_write_line
      Src: /src/libassuan/src/assuan-handler.c:1086,1
    - Dst: _assuan_free
      Src: /src/libassuan/src/assuan-handler.c:1087,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - keyword
    - text
    argTypes:
    - assuan_context_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1092
    functionName: assuan_write_status
    functionSourceFile: /src/libassuan/src/assuan-handler.c
    functionUses: 17
    functionsReached:
    - _assuan_free
    - strlen
    - assuan_write_line
    - strcpy
    - _assuan_malloc
    - _assuan_error
    - strcat
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t assuan_write_status (assuan_context_t ctx,\n                     const
      char *keyword, const char *text)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/libassuan/src/assuan-socket-server.c:68,1
    - Dst: getsockopt
      Src: /src/libassuan/src/assuan-socket-server.c:80,1
    - Dst: getsockopt
      Src: /src/libassuan/src/assuan-socket-server.c:92,1
    - Dst: getsockopt
      Src: /src/libassuan/src/assuan-socket-server.c:101,1
    - Dst: getsockopt
      Src: /src/libassuan/src/assuan-socket-server.c:115,1
    - Dst: getpeerucred
      Src: /src/libassuan/src/assuan-socket-server.c:127,1
    - Dst: ucred_getpid
      Src: /src/libassuan/src/assuan-socket-server.c:130,1
    - Dst: ucred_geteuid
      Src: /src/libassuan/src/assuan-socket-server.c:131,1
    - Dst: ucred_getegid
      Src: /src/libassuan/src/assuan-socket-server.c:132,1
    - Dst: ucred_free
      Src: /src/libassuan/src/assuan-socket-server.c:134,1
    - Dst: getpeereid
      Src: /src/libassuan/src/assuan-socket-server.c:139,1
    - Dst: getsockopt
      Src: /src/libassuan/src/assuan-socket-server.c:148,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 176
    functionName: accept_connection_bottom
    functionSourceFile: /src/libassuan/src/assuan-socket-server.c
    functionUses: 0
    functionsReached:
    - getsockopt
    - TRACE
    - getpeerucred
    - getpeereid
    - ucred_free
    - ucred_geteuid
    - ucred_getpid
    - ucred_getegid
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t accept_connection_bottom (assuan_context_t ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE1
      Src: /src/libassuan/src/assuan-socket-server.c:186,1
    - Dst: SOCKET2HANDLE
      Src: /src/libassuan/src/assuan-socket-server.c:189,1
    - Dst: accept
      Src: /src/libassuan/src/assuan-socket-server.c:189,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/assuan-socket-server.c:189,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-socket-server.c:193,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-socket-server.c:193,1
    - Dst: TRACE1
      Src: /src/libassuan/src/assuan-socket-server.c:195,1
    - Dst: _assuan_sock_check_nonce
      Src: /src/libassuan/src/assuan-socket-server.c:197,1
    - Dst: _assuan_close
      Src: /src/libassuan/src/assuan-socket-server.c:199,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-socket-server.c:200,1
    - Dst: accept_connection_bottom
      Src: /src/libassuan/src/assuan-socket-server.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 205
    functionName: accept_connection
    functionSourceFile: /src/libassuan/src/assuan-socket-server.c
    functionUses: 0
    functionsReached:
    - gpg_err_code_from_syserror
    - accept_connection_bottom
    - TRACE1
    - SOCKET2HANDLE
    - HANDLE2SOCKET
    - _assuan_close
    - _assuan_sock_check_nonce
    - accept
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t accept_connection (assuan_context_t ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_BEG2
      Src: /src/libassuan/src/assuan-socket-server.c:217,1
    - Dst: _assuan_register_std_commands
      Src: /src/libassuan/src/assuan-socket-server.c:221,1
    - Dst: TRACE_ERR
      Src: /src/libassuan/src/assuan-socket-server.c:223,1
    - Dst: _assuan_init_uds_io
      Src: /src/libassuan/src/assuan-socket-server.c:261,1
    - Dst: _assuan_register_std_commands
      Src: /src/libassuan/src/assuan-socket-server.c:264,1
    - Dst: _assuan_reset
      Src: /src/libassuan/src/assuan-socket-server.c:266,1
    - Dst: TRACE_ERR
      Src: /src/libassuan/src/assuan-socket-server.c:267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - fd
    - flags
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 268
    functionName: assuan_init_socket_server
    functionSourceFile: /src/libassuan/src/assuan-socket-server.c
    functionUses: 6
    functionsReached:
    - _assuan_register_std_commands
    - _assuan_init_uds_io
    - _assuan_reset
    - TRACE_ERR
    - TRACE_BEG2
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t assuan_init_socket_server (assuan_context_t ctx, assuan_fd_t
      fd,\n\t\t\t   unsigned int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - nonce
    argTypes:
    - assuan_context_t
    - assuan_sock_nonce_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: assuan_set_sock_nonce
    functionSourceFile: /src/libassuan/src/assuan-socket-server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assuan_set_sock_nonce (assuan_context_t ctx, assuan_sock_nonce_t
      *nonce)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assuan_context_t::engine::writefnc
      Src: /src/libassuan/src/assuan-buffer.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - buffer
    - length
    argTypes:
    - assuan_context_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: writen
    functionSourceFile: /src/libassuan/src/assuan-buffer.c
    functionUses: 3
    functionsReached:
    - assuan_context_t::engine::writefnc
    linkageType: ''
    returnType: int
    signature: int writen (assuan_context_t ctx, const char *buffer, size_t length)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_context_t::engine::readfnc
      Src: /src/libassuan/src/assuan-buffer.c:77,1
    - Dst: memrchr
      Src: /src/libassuan/src/assuan-buffer.c:105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 5
    argNames:
    - ctx
    - buf
    - buflen
    - r_nread
    - r_eof
    argTypes:
    - assuan_context_t
    - char*
    - size_t
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 110
    functionName: readline
    functionSourceFile: /src/libassuan/src/assuan-buffer.c
    functionUses: 2
    functionsReached:
    - assuan_context_t::engine::readfnc
    - memrchr
    linkageType: ''
    returnType: int
    signature: "int readline (assuan_context_t ctx, char *buf, size_t buflen,\n\t
      \ int *r_nread, int *r_eof)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-buffer.c:124,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-buffer.c:129,1
    - Dst: memchr
      Src: /src/libassuan/src/assuan-buffer.c:132,1
    - Dst: assert
      Src: /src/libassuan/src/assuan-buffer.c:142,1
    - Dst: readline
      Src: /src/libassuan/src/assuan-buffer.c:143,1
    - Dst: readline
      Src: /src/libassuan/src/assuan-buffer.c:149,1
    - Dst: snprintf
      Src: /src/libassuan/src/assuan-buffer.c:156,1
    - Dst: strerror
      Src: /src/libassuan/src/assuan-buffer.c:156,1
    - Dst: _assuan_log_control_channel
      Src: /src/libassuan/src/assuan-buffer.c:157,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-buffer.c:164,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-buffer.c:169,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-buffer.c:170,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-buffer.c:170,1
    - Dst: assert
      Src: /src/libassuan/src/assuan-buffer.c:174,1
    - Dst: _assuan_log_control_channel
      Src: /src/libassuan/src/assuan-buffer.c:175,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-buffer.c:176,1
    - Dst: memchr
      Src: /src/libassuan/src/assuan-buffer.c:183,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-buffer.c:196,1
    - Dst: memrchr
      Src: /src/libassuan/src/assuan-buffer.c:197,1
    - Dst: assuan_context_t::io_monitor
      Src: /src/libassuan/src/assuan-buffer.c:209,1
    - Dst: _assuan_log_control_channel
      Src: /src/libassuan/src/assuan-buffer.c:216,1
    - Dst: _assuan_log_control_channel
      Src: /src/libassuan/src/assuan-buffer.c:223,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-buffer.c:227,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts:
    - condition: (atticlen < LINELENGTH)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/libassuan/src/assuan-buffer.c
    - condition: (ctx->inbound.eof)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/libassuan/src/assuan-buffer.c
    constantsTouched: []
    func_position:
      end: 231
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 231
    functionName: _assuan_read_line
    functionSourceFile: /src/libassuan/src/assuan-buffer.c
    functionUses: 4
    functionsReached:
    - gpg_err_code_from_syserror
    - assert
    - snprintf
    - memrchr
    - assuan_context_t::io_monitor
    - readline
    - gpg_err_set_errno
    - strerror
    - _assuan_log_control_channel
    - memcpy
    - _assuan_error
    - memchr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _assuan_read_line (assuan_context_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-buffer.c:249,1
    - Dst: _assuan_read_line
      Src: /src/libassuan/src/assuan-buffer.c:253,1
    - Dst: _assuan_error_is_eagain
      Src: /src/libassuan/src/assuan-buffer.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - line
    - linelen
    argTypes:
    - assuan_context_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 261
    functionName: assuan_read_line
    functionSourceFile: /src/libassuan/src/assuan-buffer.c
    functionUses: 6
    functionsReached:
    - _assuan_read_line
    - _assuan_error_is_eagain
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_read_line (assuan_context_t ctx, char **line, size_t
      *linelen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: assuan_pending_line
    functionSourceFile: /src/libassuan/src/assuan-buffer.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int assuan_pending_line (assuan_context_t ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libassuan/src/assuan-buffer.c:278,1
    - Dst: _assuan_log_control_channel
      Src: /src/libassuan/src/assuan-buffer.c:284,1
    - Dst: assuan_context_t::io_monitor
      Src: /src/libassuan/src/assuan-buffer.c:295,1
    - Dst: _assuan_log_control_channel
      Src: /src/libassuan/src/assuan-buffer.c:299,1
    - Dst: writen
      Src: /src/libassuan/src/assuan-buffer.c:305,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-buffer.c:307,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-buffer.c:307,1
    - Dst: writen
      Src: /src/libassuan/src/assuan-buffer.c:311,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-buffer.c:313,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-buffer.c:313,1
    - Dst: writen
      Src: /src/libassuan/src/assuan-buffer.c:316,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-buffer.c:318,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-buffer.c:318,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - prefix
    - line
    - len
    argTypes:
    - assuan_context_t
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 322
    functionName: _assuan_write_line
    functionSourceFile: /src/libassuan/src/assuan-buffer.c
    functionUses: 0
    functionsReached:
    - gpg_err_code_from_syserror
    - strlen
    - assuan_context_t::io_monitor
    - writen
    - _assuan_log_control_channel
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t _assuan_write_line (assuan_context_t ctx, const char *prefix,\n
      \                   const char *line, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-buffer.c:332,1
    - Dst: strchr
      Src: /src/libassuan/src/assuan-buffer.c:336,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-buffer.c:337,1
    - Dst: _assuan_log_control_channel
      Src: /src/libassuan/src/assuan-buffer.c:340,1
    - Dst: _assuan_write_line
      Src: /src/libassuan/src/assuan-buffer.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 345
    functionName: assuan_write_line
    functionSourceFile: /src/libassuan/src/assuan-buffer.c
    functionUses: 16
    functionsReached:
    - strlen
    - strchr
    - _assuan_log_control_channel
    - _assuan_write_line
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_write_line (assuan_context_t ctx, const char *line)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libassuan/src/assuan-buffer.c:382,1
    - Dst: assuan_context_t::io_monitor
      Src: /src/libassuan/src/assuan-buffer.c:398,1
    - Dst: _assuan_log_control_channel
      Src: /src/libassuan/src/assuan-buffer.c:404,1
    - Dst: writen
      Src: /src/libassuan/src/assuan-buffer.c:411,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-buffer.c:413,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - cookie
    - buffer
    - orig_size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 423
    functionName: _assuan_cookie_write_data
    functionSourceFile: /src/libassuan/src/assuan-buffer.c
    functionUses: 2
    functionsReached:
    - gpg_err_code_from_syserror
    - sprintf
    - assuan_context_t::io_monitor
    - writen
    - _assuan_log_control_channel
    linkageType: ''
    returnType: int
    signature: int _assuan_cookie_write_data (void *cookie, const char *buffer, size_t
      orig_size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assuan_context_t::io_monitor
      Src: /src/libassuan/src/assuan-buffer.c:445,1
    - Dst: _assuan_log_control_channel
      Src: /src/libassuan/src/assuan-buffer.c:451,1
    - Dst: writen
      Src: /src/libassuan/src/assuan-buffer.c:457,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-buffer.c:459,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 465
    functionName: _assuan_cookie_write_flush
    functionSourceFile: /src/libassuan/src/assuan-buffer.c
    functionUses: 1
    functionsReached:
    - gpg_err_code_from_syserror
    - writen
    - _assuan_log_control_channel
    - assuan_context_t::io_monitor
    linkageType: ''
    returnType: int
    signature: int _assuan_cookie_write_flush (void *cookie)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-buffer.c:493,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-buffer.c:495,1
    - Dst: _assuan_cookie_write_flush
      Src: /src/libassuan/src/assuan-buffer.c:499,1
    - Dst: wipememory
      Src: /src/libassuan/src/assuan-buffer.c:501,1
    - Dst: assuan_write_line
      Src: /src/libassuan/src/assuan-buffer.c:505,1
    - Dst: _assuan_cookie_write_data
      Src: /src/libassuan/src/assuan-buffer.c:509,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - buffer
    - length
    argTypes:
    - assuan_context_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 489
    functionDepth: 4
    functionLinenumber: 489
    functionLinenumberEnd: 515
    functionName: assuan_send_data
    functionSourceFile: /src/libassuan/src/assuan-buffer.c
    functionUses: 73
    functionsReached:
    - assuan_write_line
    - _assuan_cookie_write_flush
    - wipememory
    - _assuan_error
    - _assuan_cookie_write_data
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_send_data (assuan_context_t ctx, const void *buffer,
      size_t length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-buffer.c:526,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-buffer.c:530,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-buffer.c:533,1
    - Dst: assuan_context_t::engine::sendfd
      Src: /src/libassuan/src/assuan-buffer.c:536,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 537
    functionName: assuan_sendfd
    functionSourceFile: /src/libassuan/src/assuan-buffer.c
    functionUses: 3
    functionsReached:
    - assuan_context_t::engine::sendfd
    - _assuan_error
    - set_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_sendfd (assuan_context_t ctx, assuan_fd_t fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-buffer.c:543,1
    - Dst: set_error
      Src: /src/libassuan/src/assuan-buffer.c:546,1
    - Dst: assuan_context_t::engine::receivefd
      Src: /src/libassuan/src/assuan-buffer.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - assuan_context_t
    - assuan_fd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 550
    functionName: assuan_receivefd
    functionSourceFile: /src/libassuan/src/assuan-buffer.c
    functionUses: 1
    functionsReached:
    - _assuan_error
    - assuan_context_t::engine::receivefd
    - set_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_receivefd (assuan_context_t ctx, assuan_fd_t *fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: _assuan_sysutils_blurb
    functionSourceFile: /src/libassuan/src/sysutils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      _assuan_sysutils_blurb (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: TEST_LOG_CAT
    functionSourceFile: /src/libassuan/src/assuan-logging.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_LOG_CAT(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libassuan/src/assuan-logging.c:65,1
    - Dst: getenv
      Src: /src/libassuan/src/assuan-logging.c:66,1
    - Dst: atoi
      Src: /src/libassuan/src/assuan-logging.c:68,1
    - Dst: _assuan_sysutils_blurb
      Src: /src/libassuan/src/assuan-logging.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: _assuan_init_log_envvars
    functionSourceFile: /src/libassuan/src/assuan-logging.c
    functionUses: 0
    functionsReached:
    - getenv
    - _assuan_sysutils_blurb
    - atoi
    linkageType: ''
    returnType: void
    signature: void _assuan_init_log_envvars (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_init_log_envvars
      Src: /src/libassuan/src/assuan-logging.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: assuan_set_assuan_log_stream
    functionSourceFile: /src/libassuan/src/assuan-logging.c
    functionUses: 1
    functionsReached:
    - _assuan_init_log_envvars
    linkageType: ''
    returnType: void
    signature: void assuan_set_assuan_log_stream (FILE *fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libassuan/src/assuan-logging.c:93,1
    - Dst: assuan_set_assuan_log_stream
      Src: /src/libassuan/src/assuan-logging.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - fp
    argTypes:
    - assuan_context_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: assuan_set_log_stream
    functionSourceFile: /src/libassuan/src/assuan-logging.c
    functionUses: 2
    functionsReached:
    - fflush
    - assuan_set_assuan_log_stream
    linkageType: ''
    returnType: void
    signature: void assuan_set_log_stream (assuan_context_t ctx, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/libassuan/src/assuan-logging.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: assuan_set_assuan_log_prefix
    functionSourceFile: /src/libassuan/src/assuan-logging.c
    functionUses: 6
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: void
    signature: void assuan_set_assuan_log_prefix (const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: assuan_get_assuan_log_prefix
    functionSourceFile: /src/libassuan/src/assuan-logging.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      assuan_get_assuan_log_prefix (void)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_LOG_CAT
      Src: /src/libassuan/src/assuan-logging.c:137,1
    - Dst: TEST_LOG_CAT
      Src: /src/libassuan/src/assuan-logging.c:139,1
    - Dst: assuan_get_assuan_log_prefix
      Src: /src/libassuan/src/assuan-logging.c:146,1
    - Dst: fprintf
      Src: /src/libassuan/src/assuan-logging.c:148,1
    - Dst: getpid
      Src: /src/libassuan/src/assuan-logging.c:148,1
    - Dst: fprintf
      Src: /src/libassuan/src/assuan-logging.c:150,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-logging.c:154,1
    - Dst: fflush
      Src: /src/libassuan/src/assuan-logging.c:155,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-logging.c:156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - hook
    - cat
    - msg
    argTypes:
    - assuan_context_t
    - void*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 159
    functionName: _assuan_log_handler
    functionSourceFile: /src/libassuan/src/assuan-logging.c
    functionUses: 0
    functionsReached:
    - assuan_get_assuan_log_prefix
    - strlen
    - TEST_LOG_CAT
    - fprintf
    - fflush
    - gpg_err_set_errno
    - getpid
    linkageType: ''
    returnType: int
    signature: "int _assuan_log_handler (assuan_context_t ctx, void *hook, unsigned
      int cat,\n\t\t     const char *msg)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_asprintf
      Src: /src/libassuan/src/assuan-logging.c:210,1
    - Dst: isascii
      Src: /src/libassuan/src/assuan-logging.c:220,1
    - Dst: iscntrl
      Src: /src/libassuan/src/assuan-logging.c:220,1
    - Dst: isprint
      Src: /src/libassuan/src/assuan-logging.c:220,1
    - Dst: isascii
      Src: /src/libassuan/src/assuan-logging.c:226,1
    - Dst: iscntrl
      Src: /src/libassuan/src/assuan-logging.c:226,1
    - Dst: isprint
      Src: /src/libassuan/src/assuan-logging.c:226,1
    - Dst: gpgrt_asprintf
      Src: /src/libassuan/src/assuan-logging.c:237,1
    - Dst: gpgrt_malloc
      Src: /src/libassuan/src/assuan-logging.c:257,1
    - Dst: snprintf
      Src: /src/libassuan/src/assuan-logging.c:263,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-logging.c:265,1
    - Dst: TOHEX
      Src: /src/libassuan/src/assuan-logging.c:270,1
    - Dst: TOHEX
      Src: /src/libassuan/src/assuan-logging.c:271,1
    - Dst: TOHEX
      Src: /src/libassuan/src/assuan-logging.c:277,1
    - Dst: TOHEX
      Src: /src/libassuan/src/assuan-logging.c:278,1
    - Dst: snprintf
      Src: /src/libassuan/src/assuan-logging.c:283,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-logging.c:285,1
    - Dst: strcpy
      Src: /src/libassuan/src/assuan-logging.c:287,1
    - Dst: assuan_context_t::log_cb
      Src: /src/libassuan/src/assuan-logging.c:297,1
    - Dst: assuan_context_t::log_cb
      Src: /src/libassuan/src/assuan-logging.c:301,1
    - Dst: gpgrt_free
      Src: /src/libassuan/src/assuan-logging.c:302,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-logging.c:306,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 69
    argCount: 7
    argNames:
    - ctx
    - outbound
    - string
    - buffer1
    - length1
    - buffer2
    - length2
    argTypes:
    - assuan_context_t
    - int
    - char*
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 307
    functionName: _assuan_log_control_channel
    functionSourceFile: /src/libassuan/src/assuan-logging.c
    functionUses: 5
    functionsReached:
    - strlen
    - snprintf
    - iscntrl
    - gpgrt_malloc
    - TOHEX
    - strcpy
    - assuan_context_t::log_cb
    - gpg_err_set_errno
    - gpgrt_free
    - gpgrt_asprintf
    - isprint
    - isascii
    linkageType: ''
    returnType: void
    signature: "void _assuan_log_control_channel (assuan_context_t ctx, int outbound,\n
      \                            const char *string,\n                             const
      void *buffer1, size_t length1,\n                             const void *buffer2,
      size_t length2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: TOHEX
    functionSourceFile: /src/libassuan/src/assuan-logging.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOHEX(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: __builtin_expect
    functionSourceFile: /src/libassuan/src/setenv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __builtin_expect(cond,val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: __set_errno
    functionSourceFile: /src/libassuan/src/setenv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __set_errno(ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: KNOWN_VALUE
    functionSourceFile: /src/libassuan/src/setenv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KNOWN_VALUE(Str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: STORE_VALUE
    functionSourceFile: /src/libassuan/src/setenv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STORE_VALUE(Str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: KNOWN_VALUE
    functionSourceFile: /src/libassuan/src/setenv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KNOWN_VALUE(Str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: STORE_VALUE
    functionSourceFile: /src/libassuan/src/setenv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STORE_VALUE(Str)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libassuan/src/setenv.c:123,1
    - Dst: strlen
      Src: /src/libassuan/src/setenv.c:124,1
    - Dst: strncmp
      Src: /src/libassuan/src/setenv.c:136,1
    - Dst: __builtin_expect
      Src: /src/libassuan/src/setenv.c:142,1
    - Dst: realloc
      Src: /src/libassuan/src/setenv.c:147,1
    - Dst: alloca
      Src: /src/libassuan/src/setenv.c:167,1
    - Dst: __mempcpy
      Src: /src/libassuan/src/setenv.c:170,1
    - Dst: __mempcpy
      Src: /src/libassuan/src/setenv.c:170,1
    - Dst: __mempcpy
      Src: /src/libassuan/src/setenv.c:170,1
    - Dst: memcpy
      Src: /src/libassuan/src/setenv.c:173,1
    - Dst: memcpy
      Src: /src/libassuan/src/setenv.c:175,1
    - Dst: KNOWN_VALUE
      Src: /src/libassuan/src/setenv.c:178,1
    - Dst: __builtin_expect
      Src: /src/libassuan/src/setenv.c:179,1
    - Dst: malloc
      Src: /src/libassuan/src/setenv.c:182,1
    - Dst: __builtin_expect
      Src: /src/libassuan/src/setenv.c:183,1
    - Dst: __set_errno
      Src: /src/libassuan/src/setenv.c:185,1
    - Dst: memcpy
      Src: /src/libassuan/src/setenv.c:191,1
    - Dst: memcpy
      Src: /src/libassuan/src/setenv.c:193,1
    - Dst: memcpy
      Src: /src/libassuan/src/setenv.c:195,1
    - Dst: STORE_VALUE
      Src: /src/libassuan/src/setenv.c:200,1
    - Dst: memcpy
      Src: /src/libassuan/src/setenv.c:205,1
    - Dst: alloca
      Src: /src/libassuan/src/setenv.c:225,1
    - Dst: __mempcpy
      Src: /src/libassuan/src/setenv.c:228,1
    - Dst: __mempcpy
      Src: /src/libassuan/src/setenv.c:228,1
    - Dst: __mempcpy
      Src: /src/libassuan/src/setenv.c:228,1
    - Dst: memcpy
      Src: /src/libassuan/src/setenv.c:231,1
    - Dst: memcpy
      Src: /src/libassuan/src/setenv.c:233,1
    - Dst: KNOWN_VALUE
      Src: /src/libassuan/src/setenv.c:236,1
    - Dst: __builtin_expect
      Src: /src/libassuan/src/setenv.c:237,1
    - Dst: malloc
      Src: /src/libassuan/src/setenv.c:240,1
    - Dst: __builtin_expect
      Src: /src/libassuan/src/setenv.c:241,1
    - Dst: memcpy
      Src: /src/libassuan/src/setenv.c:248,1
    - Dst: memcpy
      Src: /src/libassuan/src/setenv.c:250,1
    - Dst: memcpy
      Src: /src/libassuan/src/setenv.c:252,1
    - Dst: STORE_VALUE
      Src: /src/libassuan/src/setenv.c:255,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 4
    argNames:
    - name
    - value
    - combined
    - replace
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 265
    functionName: __add_to_environ
    functionSourceFile: /src/libassuan/src/setenv.c
    functionUses: 0
    functionsReached:
    - __builtin_expect
    - alloca
    - STORE_VALUE
    - realloc
    - strlen
    - __set_errno
    - malloc
    - __mempcpy
    - strncmp
    - memcpy
    - KNOWN_VALUE
    linkageType: ''
    returnType: int
    signature: "int __add_to_environ (const char *name, const char *value, const char
      *combined,\n\t\t  int replace)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libassuan/src/setenv.c:270,1
    - Dst: __set_errno
      Src: /src/libassuan/src/setenv.c:272,1
    - Dst: __add_to_environ
      Src: /src/libassuan/src/setenv.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - name
    - value
    - replace
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 267
    functionDepth: 4
    functionLinenumber: 267
    functionLinenumberEnd: 277
    functionName: setenv
    functionSourceFile: /src/libassuan/src/setenv.c
    functionUses: 24
    functionsReached:
    - __add_to_environ
    - strchr
    - __set_errno
    linkageType: ''
    returnType: int
    signature: int setenv (const char *name, const char *value, int replace)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libassuan/src/setenv.c:285,1
    - Dst: __set_errno
      Src: /src/libassuan/src/setenv.c:287,1
    - Dst: strlen
      Src: /src/libassuan/src/setenv.c:291,1
    - Dst: strncmp
      Src: /src/libassuan/src/setenv.c:297,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 313
    functionName: unsetenv
    functionSourceFile: /src/libassuan/src/setenv.c
    functionUses: 5
    functionsReached:
    - strchr
    - __set_errno
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int unsetenv (const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libassuan/src/setenv.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 336
    functionName: clearenv
    functionSourceFile: /src/libassuan/src/setenv.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int clearenv (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearenv
      Src: /src/libassuan/src/setenv.c:341,1
    - Dst: __tdestroy
      Src: /src/libassuan/src/setenv.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 346
    functionName: libc_freeres_fn
    functionSourceFile: /src/libassuan/src/setenv.c
    functionUses: 0
    functionsReached:
    - clearenv
    - __tdestroy
    linkageType: ''
    returnType: void
    signature: void libc_freeres_fn (free_mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: SUN_LEN
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUN_LEN(ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/libassuan/src/assuan-socket.c:156,1
    - Dst: DIM
      Src: /src/libassuan/src/assuan-socket.c:157,1
    - Dst: LeaveCriticalSection
      Src: /src/libassuan/src/assuan-socket.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - sockfd
    argTypes:
    - assuan_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 167
    functionName: is_cygwin_fd
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - LeaveCriticalSection
    - DIM
    - EnterCriticalSection
    linkageType: ''
    returnType: int
    signature: int is_cygwin_fd (assuan_fd_t sockfd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/libassuan/src/assuan-socket.c:179,1
    - Dst: DIM
      Src: /src/libassuan/src/assuan-socket.c:181,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:190,1
    - Dst: LeaveCriticalSection
      Src: /src/libassuan/src/assuan-socket.c:197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - sockfd
    argTypes:
    - assuan_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 199
    functionName: insert_cygwin_fd
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - LeaveCriticalSection
    - DIM
    - EnterCriticalSection
    - gpg_err_set_errno
    linkageType: ''
    returnType: int
    signature: int insert_cygwin_fd (assuan_fd_t sockfd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/libassuan/src/assuan-socket.c:208,1
    - Dst: DIM
      Src: /src/libassuan/src/assuan-socket.c:209,1
    - Dst: LeaveCriticalSection
      Src: /src/libassuan/src/assuan-socket.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - sockfd
    argTypes:
    - assuan_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 219
    functionName: delete_cygwin_fd
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - LeaveCriticalSection
    - DIM
    - EnterCriticalSection
    linkageType: ''
    returnType: void
    signature: void delete_cygwin_fd (assuan_fd_t sockfd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MultiByteToWideChar
      Src: /src/libassuan/src/assuan-socket.c:232,1
    - Dst: SetLastError
      Src: /src/libassuan/src/assuan-socket.c:239,1
    - Dst: malloc
      Src: /src/libassuan/src/assuan-socket.c:242,1
    - Dst: MultiByteToWideChar
      Src: /src/libassuan/src/assuan-socket.c:246,1
    - Dst: GetLastError
      Src: /src/libassuan/src/assuan-socket.c:249,1
    - Dst: free
      Src: /src/libassuan/src/assuan-socket.c:250,1
    - Dst: SetLastError
      Src: /src/libassuan/src/assuan-socket.c:252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 255
    functionName: _assuan_utf8_to_wchar
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - SetLastError
    - MultiByteToWideChar
    - malloc
    - GetLastError
    - free
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      _assuan_utf8_to_wchar (const char *string)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_utf8_to_wchar
      Src: /src/libassuan/src/assuan-socket.c:267,1
    - Dst: CreateFileW
      Src: /src/libassuan/src/assuan-socket.c:271,1
    - Dst: GetLastError
      Src: /src/libassuan/src/assuan-socket.c:274,1
    - Dst: free
      Src: /src/libassuan/src/assuan-socket.c:275,1
    - Dst: SetLastError
      Src: /src/libassuan/src/assuan-socket.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 7
    argNames:
    - lpFileName
    - dwDesiredAccess
    - dwSharedMode
    - lpSecurityAttributes
    - dwCreationDisposition
    - dwFlagsAndAttributes
    - hTemplateFile
    argTypes:
    - LPCSTR
    - DWORD
    - DWORD
    - LPSECURITY_ATTRIBUTES
    - DWORD
    - DWORD
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 278
    functionName: MyCreateFile
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - SetLastError
    - CreateFileW
    - _assuan_utf8_to_wchar
    - GetLastError
    - free
    linkageType: ''
    returnType: HANDLE
    signature: "HANDLE MyCreateFile (LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD
      dwSharedMode,\n              LPSECURITY_ATTRIBUTES lpSecurityAttributes,\n              DWORD
      dwCreationDisposition, DWORD dwFlagsAndAttributes,\n              HANDLE hTemplateFile)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_utf8_to_wchar
      Src: /src/libassuan/src/assuan-socket.c:285,1
    - Dst: DeleteFileW
      Src: /src/libassuan/src/assuan-socket.c:289,1
    - Dst: GetLastError
      Src: /src/libassuan/src/assuan-socket.c:290,1
    - Dst: free
      Src: /src/libassuan/src/assuan-socket.c:291,1
    - Dst: SetLastError
      Src: /src/libassuan/src/assuan-socket.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - lpFileName
    argTypes:
    - LPCSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 294
    functionName: MyDeleteFile
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - DeleteFileW
    - SetLastError
    - _assuan_utf8_to_wchar
    - GetLastError
    - free
    linkageType: ''
    returnType: int
    signature: int MyDeleteFile (LPCSTR lpFileName)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - assuan_context_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 317
    functionName: _assuan_sock_wsa2errno
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _assuan_sock_wsa2errno (assuan_context_t ctx, int err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CryptAcquireContext
      Src: /src/libassuan/src/assuan-socket.c:328,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:330,1
    - Dst: CryptGenRandom
      Src: /src/libassuan/src/assuan-socket.c:333,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:334,1
    - Dst: CryptReleaseContext
      Src: /src/libassuan/src/assuan-socket.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - nbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 340
    functionName: get_nonce
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 6
    functionsReached:
    - CryptGenRandom
    - CryptAcquireContext
    - CryptReleaseContext
    - gpg_err_set_errno
    linkageType: ''
    returnType: int
    signature: int get_nonce (char *buffer, size_t nbytes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_fopen
      Src: /src/libassuan/src/assuan-socket.c:356,1
    - Dst: gpgrt_fread
      Src: /src/libassuan/src/assuan-socket.c:359,1
    - Dst: gpgrt_fclose
      Src: /src/libassuan/src/assuan-socket.c:360,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:363,1
    - Dst: strncmp
      Src: /src/libassuan/src/assuan-socket.c:367,1
    - Dst: sscanf
      Src: /src/libassuan/src/assuan-socket.c:381,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:385,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-socket.c:389,1
    - Dst: atoi
      Src: /src/libassuan/src/assuan-socket.c:395,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:398,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:406,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-socket.c:410,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - fname
    - port
    - nonce
    - cygwin
    argTypes:
    - char*
    - unsigned short*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 414
    functionName: read_port_and_nonce
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - atoi
    - gpgrt_fopen
    - gpgrt_fread
    - gpg_err_set_errno
    - gpgrt_fclose
    - strncmp
    - memcpy
    - sscanf
    linkageType: ''
    returnType: int
    signature: "int read_port_and_nonce (const char *fname, unsigned short *port,
      char *nonce,\n                     int *cygwin)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libassuan/src/assuan-socket.c:450,1
    - Dst: fread
      Src: /src/libassuan/src/assuan-socket.c:453,1
    - Dst: fclose
      Src: /src/libassuan/src/assuan-socket.c:454,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:457,1
    - Dst: memcmp
      Src: /src/libassuan/src/assuan-socket.c:466,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:469,1
    - Dst: calloc
      Src: /src/libassuan/src/assuan-socket.c:477,1
    - Dst: strchr
      Src: /src/libassuan/src/assuan-socket.c:488,1
    - Dst: free
      Src: /src/libassuan/src/assuan-socket.c:491,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:492,1
    - Dst: getenv
      Src: /src/libassuan/src/assuan-socket.c:496,1
    - Dst: free
      Src: /src/libassuan/src/assuan-socket.c:504,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:505,1
    - Dst: free
      Src: /src/libassuan/src/assuan-socket.c:518,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:519,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 2
    argNames:
    - fname
    - r_redirect
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 525
    functionName: eval_redirection
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - fclose
    - getenv
    - calloc
    - strchr
    - memcmp
    - fopen
    - gpg_err_set_errno
    - fread
    - free
    linkageType: ''
    returnType: struct sockaddr_un
    signature: 'struct sockaddr_un *

      eval_redirection (const char *fname, int *r_redirect)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_socket
      Src: /src/libassuan/src/assuan-socket.c:540,1
    - Dst: _assuan_socket
      Src: /src/libassuan/src/assuan-socket.c:543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - domain
    - type
    - proto
    argTypes:
    - assuan_context_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 545
    functionName: _assuan_sock_new
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 1
    functionsReached:
    - _assuan_socket
    linkageType: ''
    returnType: assuan_fd_t
    signature: assuan_fd_t _assuan_sock_new (assuan_context_t ctx, int domain, int
      type, int proto)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libassuan/src/assuan-socket.c:554,1
    - Dst: delete_cygwin_fd
      Src: /src/libassuan/src/assuan-socket.c:558,1
    - Dst: insert_cygwin_fd
      Src: /src/libassuan/src/assuan-socket.c:559,1
    - Dst: strcmp
      Src: /src/libassuan/src/assuan-socket.c:565,1
    - Dst: strcmp
      Src: /src/libassuan/src/assuan-socket.c:565,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:577,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:594,1
    - Dst: strcmp
      Src: /src/libassuan/src/assuan-socket.c:598,1
    - Dst: setsockopt
      Src: /src/libassuan/src/assuan-socket.c:608,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/assuan-socket.c:608,1
    - Dst: strcmp
      Src: /src/libassuan/src/assuan-socket.c:612,1
    - Dst: setsockopt
      Src: /src/libassuan/src/assuan-socket.c:615,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/assuan-socket.c:615,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:621,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 4
    argNames:
    - ctx
    - sockfd
    - name
    - value
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 626
    functionName: _assuan_sock_set_flag
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - insert_cygwin_fd
    - delete_cygwin_fd
    - setsockopt
    - strcmp
    - HANDLE2SOCKET
    - gpg_err_set_errno
    linkageType: ''
    returnType: int
    signature: "int _assuan_sock_set_flag (assuan_context_t ctx, assuan_fd_t sockfd,\n
      \                      const char *name, int value)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libassuan/src/assuan-socket.c:635,1
    - Dst: is_cygwin_fd
      Src: /src/libassuan/src/assuan-socket.c:638,1
    - Dst: strcmp
      Src: /src/libassuan/src/assuan-socket.c:643,1
    - Dst: strcmp
      Src: /src/libassuan/src/assuan-socket.c:648,1
    - Dst: strcmp
      Src: /src/libassuan/src/assuan-socket.c:652,1
    - Dst: getsockopt
      Src: /src/libassuan/src/assuan-socket.c:657,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/assuan-socket.c:657,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:662,1
    - Dst: defined
      Src: /src/libassuan/src/assuan-socket.c:666,1
    - Dst: strcmp
      Src: /src/libassuan/src/assuan-socket.c:674,1
    - Dst: getsockopt
      Src: /src/libassuan/src/assuan-socket.c:679,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/assuan-socket.c:679,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:684,1
    - Dst: strcmp
      Src: /src/libassuan/src/assuan-socket.c:690,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:695,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - ctx
    - sockfd
    - name
    - r_value
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 697
    functionName: _assuan_sock_get_flag
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - getsockopt
    - is_cygwin_fd
    - strcmp
    - defined
    - HANDLE2SOCKET
    - gpg_err_set_errno
    linkageType: ''
    returnType: int
    signature: "int _assuan_sock_get_flag (assuan_context_t ctx, assuan_fd_t sockfd,\n
      \                      const char *name, int *r_value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_read
      Src: /src/libassuan/src/assuan-socket.c:714,1
    - Dst: _assuan_usleep
      Src: /src/libassuan/src/assuan-socket.c:718,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:723,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - sockfd
    - buffer
    - nbytes
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 733
    functionName: do_readn
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - _assuan_read
    - _assuan_usleep
    - gpg_err_set_errno
    linkageType: ''
    returnType: int
    signature: "int do_readn (assuan_context_t ctx, assuan_fd_t sockfd,\n          void
      *buffer, size_t nbytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_write
      Src: /src/libassuan/src/assuan-socket.c:744,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - sockfd
    - buffer
    - nbytes
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 738
    functionDepth: 2
    functionLinenumber: 738
    functionLinenumberEnd: 754
    functionName: do_writen
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - _assuan_write
    - gpg_err_set_errno
    linkageType: ''
    returnType: int
    signature: "int do_writen (assuan_context_t ctx, assuan_fd_t sockfd,\n           const
      void *buffer, size_t nbytes)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/libassuan/src/assuan-socket.c:790,1
    - Dst: FD_SET
      Src: /src/libassuan/src/assuan-socket.c:791,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/assuan-socket.c:791,1
    - Dst: memset
      Src: /src/libassuan/src/assuan-socket.c:794,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:799,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-socket.c:805,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:808,1
    - Dst: htons
      Src: /src/libassuan/src/assuan-socket.c:816,1
    - Dst: htonl
      Src: /src/libassuan/src/assuan-socket.c:817,1
    - Dst: _assuan_connect
      Src: /src/libassuan/src/assuan-socket.c:820,1
    - Dst: htons
      Src: /src/libassuan/src/assuan-socket.c:824,1
    - Dst: _assuan_connect
      Src: /src/libassuan/src/assuan-socket.c:825,1
    - Dst: do_writen
      Src: /src/libassuan/src/assuan-socket.c:838,1
    - Dst: select
      Src: /src/libassuan/src/assuan-socket.c:853,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/assuan-socket.c:853,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:858,1
    - Dst: do_readn
      Src: /src/libassuan/src/assuan-socket.c:862,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:869,1
    - Dst: strchr
      Src: /src/libassuan/src/assuan-socket.c:878,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:881,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-socket.c:886,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:889,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-socket.c:896,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-socket.c:899,1
    - Dst: do_writen
      Src: /src/libassuan/src/assuan-socket.c:901,1
    - Dst: wipememory
      Src: /src/libassuan/src/assuan-socket.c:902,1
    - Dst: do_readn
      Src: /src/libassuan/src/assuan-socket.c:905,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:911,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:917,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-socket.c:938,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-socket.c:946,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-socket.c:947,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-socket.c:953,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-socket.c:954,1
    - Dst: do_writen
      Src: /src/libassuan/src/assuan-socket.c:957,1
    - Dst: select
      Src: /src/libassuan/src/assuan-socket.c:974,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/assuan-socket.c:974,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:979,1
    - Dst: do_readn
      Src: /src/libassuan/src/assuan-socket.c:984,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:991,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:999,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1002,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1005,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1008,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1011,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1014,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1017,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1021,1
    - Dst: do_readn
      Src: /src/libassuan/src/assuan-socket.c:1029,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 174
    argCount: 9
    argNames:
    - ctx
    - sock
    - socksport
    - credentials
    - hostname
    - hostport
    - addr
    - length
    - timeout
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - unsigned short
    - char*
    - char*
    - unsigned short
    - struct sockaddr*
    - socklen_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 760
    functionDepth: 3
    functionLinenumber: 760
    functionLinenumberEnd: 1039
    functionName: socks5_connect
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - FD_ZERO
    - select
    - strlen
    - _assuan_connect
    - htons
    - FD_SET
    - wipememory
    - strchr
    - memset
    - HANDLE2SOCKET
    - gpg_err_set_errno
    - do_readn
    - memcpy
    - do_writen
    - htonl
    linkageType: ''
    returnType: int
    signature: "int socks5_connect (assuan_context_t ctx, assuan_fd_t sock,\n                unsigned
      short socksport,\n                const char *credentials,\n                const
      char *hostname, unsigned short hostport,\n                struct sockaddr *addr,
      socklen_t length,\n                int timeout)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1081
    functionName: use_socks
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int use_socks (struct sockaddr *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_pre_syscall
      Src: /src/libassuan/src/assuan-socket.c:1090,1
    - Dst: SOCKET2HANDLE
      Src: /src/libassuan/src/assuan-socket.c:1093,1
    - Dst: accept
      Src: /src/libassuan/src/assuan-socket.c:1093,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/assuan-socket.c:1093,1
    - Dst: SOCKET2HANDLE
      Src: /src/libassuan/src/assuan-socket.c:1094,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1095,1
    - Dst: _assuan_sock_wsa2errno
      Src: /src/libassuan/src/assuan-socket.c:1095,1
    - Dst: WSAGetLastError
      Src: /src/libassuan/src/assuan-socket.c:1095,1
    - Dst: accept
      Src: /src/libassuan/src/assuan-socket.c:1098,1
    - Dst: _assuan_post_syscall
      Src: /src/libassuan/src/assuan-socket.c:1101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - sockfd
    - addr
    - p_addrlen
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - struct sockaddr*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1104
    functionName: _assuan_sock_accept
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - _assuan_post_syscall
    - WSAGetLastError
    - SOCKET2HANDLE
    - _assuan_pre_syscall
    - HANDLE2SOCKET
    - gpg_err_set_errno
    - accept
    - _assuan_sock_wsa2errno
    linkageType: ''
    returnType: assuan_fd_t
    signature: "assuan_fd_t _assuan_sock_accept (assuan_context_t ctx, assuan_fd_t
      sockfd,\n                     struct sockaddr *addr, socklen_t *p_addrlen)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: read_port_and_nonce
      Src: /src/libassuan/src/assuan-socket.c:1122,1
    - Dst: htons
      Src: /src/libassuan/src/assuan-socket.c:1126,1
    - Dst: htonl
      Src: /src/libassuan/src/assuan-socket.c:1127,1
    - Dst: _assuan_connect
      Src: /src/libassuan/src/assuan-socket.c:1134,1
    - Dst: do_writen
      Src: /src/libassuan/src/assuan-socket.c:1139,1
    - Dst: do_readn
      Src: /src/libassuan/src/assuan-socket.c:1146,1
    - Dst: getpid
      Src: /src/libassuan/src/assuan-socket.c:1150,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-socket.c:1151,1
    - Dst: memset
      Src: /src/libassuan/src/assuan-socket.c:1152,1
    - Dst: do_writen
      Src: /src/libassuan/src/assuan-socket.c:1153,1
    - Dst: do_readn
      Src: /src/libassuan/src/assuan-socket.c:1157,1
    - Dst: use_socks
      Src: /src/libassuan/src/assuan-socket.c:1164,1
    - Dst: socks5_connect
      Src: /src/libassuan/src/assuan-socket.c:1166,1
    - Dst: _assuan_connect
      Src: /src/libassuan/src/assuan-socket.c:1171,1
    - Dst: stat
      Src: /src/libassuan/src/assuan-socket.c:1182,1
    - Dst: S_ISSOCK
      Src: /src/libassuan/src/assuan-socket.c:1183,1
    - Dst: S_ISREG
      Src: /src/libassuan/src/assuan-socket.c:1184,1
    - Dst: eval_redirection
      Src: /src/libassuan/src/assuan-socket.c:1191,1
    - Dst: _assuan_connect
      Src: /src/libassuan/src/assuan-socket.c:1194,1
    - Dst: SUN_LEN
      Src: /src/libassuan/src/assuan-socket.c:1195,1
    - Dst: free
      Src: /src/libassuan/src/assuan-socket.c:1196,1
    - Dst: use_socks
      Src: /src/libassuan/src/assuan-socket.c:1207,1
    - Dst: socks5_connect
      Src: /src/libassuan/src/assuan-socket.c:1209,1
    - Dst: _assuan_connect
      Src: /src/libassuan/src/assuan-socket.c:1214,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 4
    argNames:
    - ctx
    - sockfd
    - addr
    - addrlen
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1107
    functionDepth: 4
    functionLinenumber: 1107
    functionLinenumberEnd: 1217
    functionName: _assuan_sock_connect
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 1
    functionsReached:
    - _assuan_connect
    - htons
    - read_port_and_nonce
    - use_socks
    - SUN_LEN
    - eval_redirection
    - memset
    - socks5_connect
    - stat
    - S_ISREG
    - S_ISSOCK
    - do_readn
    - getpid
    - memcpy
    - do_writen
    - htonl
    - free
    linkageType: ''
    returnType: int
    signature: "int _assuan_sock_connect (assuan_context_t ctx, assuan_fd_t sockfd,\n\t\t
      \     struct sockaddr *addr, socklen_t addrlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1245,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1252,1
    - Dst: _assuan_sock_new
      Src: /src/libassuan/src/assuan-socket.c:1256,1
    - Dst: socks5_connect
      Src: /src/libassuan/src/assuan-socket.c:1264,1
    - Dst: assuan_sock_close
      Src: /src/libassuan/src/assuan-socket.c:1269,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - ctx
    - host
    - port
    - timeout
    - credentials
    - flags
    argTypes:
    - assuan_context_t
    - char*
    - unsigned short
    - int
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1231
    functionDepth: 4
    functionLinenumber: 1231
    functionLinenumberEnd: 1275
    functionName: _assuan_sock_connect_byname
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - assuan_sock_close
    - _assuan_sock_new
    - gpg_err_set_errno
    - socks5_connect
    linkageType: ''
    returnType: assuan_fd_t
    signature: "assuan_fd_t _assuan_sock_connect_byname (assuan_context_t ctx, const
      char *host,\n                             unsigned short port, int timeout,\n
      \                            const char *credentials, unsigned int flags)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_nonce
      Src: /src/libassuan/src/assuan-socket.c:1299,1
    - Dst: htonl
      Src: /src/libassuan/src/assuan-socket.c:1309,1
    - Dst: MyCreateFile
      Src: /src/libassuan/src/assuan-socket.c:1311,1
    - Dst: GetLastError
      Src: /src/libassuan/src/assuan-socket.c:1320,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1321,1
    - Dst: bind
      Src: /src/libassuan/src/assuan-socket.c:1326,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/assuan-socket.c:1326,1
    - Dst: getsockname
      Src: /src/libassuan/src/assuan-socket.c:1328,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/assuan-socket.c:1328,1
    - Dst: _assuan_sock_wsa2errno
      Src: /src/libassuan/src/assuan-socket.c:1332,1
    - Dst: WSAGetLastError
      Src: /src/libassuan/src/assuan-socket.c:1332,1
    - Dst: CloseHandle
      Src: /src/libassuan/src/assuan-socket.c:1333,1
    - Dst: MyDeleteFile
      Src: /src/libassuan/src/assuan-socket.c:1334,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1335,1
    - Dst: is_cygwin_fd
      Src: /src/libassuan/src/assuan-socket.c:1340,1
    - Dst: snprintf
      Src: /src/libassuan/src/assuan-socket.c:1342,1
    - Dst: ntohs
      Src: /src/libassuan/src/assuan-socket.c:1344,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-socket.c:1346,1
    - Dst: snprintf
      Src: /src/libassuan/src/assuan-socket.c:1350,1
    - Dst: ntohs
      Src: /src/libassuan/src/assuan-socket.c:1350,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-socket.c:1351,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-socket.c:1352,1
    - Dst: WriteFile
      Src: /src/libassuan/src/assuan-socket.c:1356,1
    - Dst: CloseHandle
      Src: /src/libassuan/src/assuan-socket.c:1358,1
    - Dst: MyDeleteFile
      Src: /src/libassuan/src/assuan-socket.c:1359,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1360,1
    - Dst: CloseHandle
      Src: /src/libassuan/src/assuan-socket.c:1364,1
    - Dst: bind
      Src: /src/libassuan/src/assuan-socket.c:1369,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/assuan-socket.c:1369,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1371,1
    - Dst: _assuan_sock_wsa2errno
      Src: /src/libassuan/src/assuan-socket.c:1371,1
    - Dst: WSAGetLastError
      Src: /src/libassuan/src/assuan-socket.c:1371,1
    - Dst: bind
      Src: /src/libassuan/src/assuan-socket.c:1376,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 4
    argNames:
    - ctx
    - sockfd
    - addr
    - addrlen
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1380
    functionName: _assuan_sock_bind
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - _assuan_sock_wsa2errno
    - htonl
    - strlen
    - MyDeleteFile
    - snprintf
    - bind
    - WSAGetLastError
    - is_cygwin_fd
    - getsockname
    - HANDLE2SOCKET
    - gpg_err_set_errno
    - memcpy
    - get_nonce
    - ntohs
    - GetLastError
    - CloseHandle
    - MyCreateFile
    - WriteFile
    linkageType: ''
    returnType: int
    signature: "int _assuan_sock_bind (assuan_context_t ctx, assuan_fd_t sockfd,\n\t\t
      \  struct sockaddr *addr, socklen_t addrlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/libassuan/src/assuan-socket.c:1402,1
    - Dst: S_ISSOCK
      Src: /src/libassuan/src/assuan-socket.c:1403,1
    - Dst: S_ISREG
      Src: /src/libassuan/src/assuan-socket.c:1404,1
    - Dst: eval_redirection
      Src: /src/libassuan/src/assuan-socket.c:1414,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-socket.c:1417,1
    - Dst: free
      Src: /src/libassuan/src/assuan-socket.c:1418,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-socket.c:1431,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1433,1
    - Dst: memset
      Src: /src/libassuan/src/assuan-socket.c:1437,1
    - Dst: strncpy
      Src: /src/libassuan/src/assuan-socket.c:1439,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - fname
    - addr
    - r_redirected
    argTypes:
    - char*
    - struct sockaddr*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1443
    functionName: _assuan_sock_set_sockaddr_un
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 1
    functionsReached:
    - strncpy
    - strlen
    - eval_redirection
    - memset
    - S_ISREG
    - stat
    - gpg_err_set_errno
    - S_ISSOCK
    - memcpy
    - free
    linkageType: ''
    returnType: int
    signature: "int _assuan_sock_set_sockaddr_un (const char *fname, struct sockaddr
      *addr,\n                              int *r_redirected)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1461,1
    - Dst: read_port_and_nonce
      Src: /src/libassuan/src/assuan-socket.c:1466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - addr
    - addrlen
    - nonce
    argTypes:
    - assuan_context_t
    - struct sockaddr*
    - socklen_t
    - assuan_sock_nonce_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1446
    functionDepth: 2
    functionLinenumber: 1446
    functionLinenumberEnd: 1480
    functionName: _assuan_sock_get_nonce
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - read_port_and_nonce
    - gpg_err_set_errno
    linkageType: ''
    returnType: int
    signature: "int _assuan_sock_get_nonce (assuan_context_t ctx, struct sockaddr
      *addr,\n\t\t\tsocklen_t addrlen, assuan_sock_nonce_t *nonce)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1493,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1502,1
    - Dst: do_readn
      Src: /src/libassuan/src/assuan-socket.c:1506,1
    - Dst: memcmp
      Src: /src/libassuan/src/assuan-socket.c:1508,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-socket.c:1510,1
    - Dst: is_cygwin_fd
      Src: /src/libassuan/src/assuan-socket.c:1513,1
    - Dst: do_writen
      Src: /src/libassuan/src/assuan-socket.c:1516,1
    - Dst: do_readn
      Src: /src/libassuan/src/assuan-socket.c:1523,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-socket.c:1526,1
    - Dst: getpid
      Src: /src/libassuan/src/assuan-socket.c:1529,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-socket.c:1530,1
    - Dst: do_writen
      Src: /src/libassuan/src/assuan-socket.c:1531,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - ctx
    - fd
    - nonce
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - assuan_sock_nonce_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1483
    functionDepth: 3
    functionLinenumber: 1483
    functionLinenumberEnd: 1541
    functionName: _assuan_sock_check_nonce
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 1
    functionsReached:
    - is_cygwin_fd
    - memcmp
    - gpg_err_set_errno
    - getpid
    - memcpy
    - do_writen
    - do_readn
    linkageType: ''
    returnType: int
    signature: "int _assuan_sock_check_nonce (assuan_context_t ctx, assuan_fd_t fd,\n\t\t\t
      \ assuan_sock_nonce_t *nonce)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/libassuan/src/assuan-socket.c:1558,1
    - Dst: assuan_new
      Src: /src/libassuan/src/assuan-socket.c:1561,1
    - Dst: WSAStartup
      Src: /src/libassuan/src/assuan-socket.c:1566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1570
    functionName: assuan_sock_init
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 9
    functionsReached:
    - assuan_new
    - InitializeCriticalSection
    - WSAStartup
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_sock_init (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSACleanup
      Src: /src/libassuan/src/assuan-socket.c:1580,1
    - Dst: assuan_release
      Src: /src/libassuan/src/assuan-socket.c:1583,1
    - Dst: DeleteCriticalSection
      Src: /src/libassuan/src/assuan-socket.c:1587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1589
    functionName: assuan_sock_deinit
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - DeleteCriticalSection
    - WSACleanup
    - assuan_release
    linkageType: ''
    returnType: void
    signature: void assuan_sock_deinit (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: delete_cygwin_fd
      Src: /src/libassuan/src/assuan-socket.c:1597,1
    - Dst: _assuan_close
      Src: /src/libassuan/src/assuan-socket.c:1599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - assuan_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1592
    functionDepth: 2
    functionLinenumber: 1592
    functionLinenumberEnd: 1600
    functionName: assuan_sock_close
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 29
    functionsReached:
    - _assuan_close
    - delete_cygwin_fd
    linkageType: ''
    returnType: int
    signature: int assuan_sock_close (assuan_fd_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_sock_new
      Src: /src/libassuan/src/assuan-socket.c:1605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - domain
    - type
    - proto
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1602
    functionDepth: 3
    functionLinenumber: 1602
    functionLinenumberEnd: 1606
    functionName: assuan_sock_new
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 11
    functionsReached:
    - _assuan_sock_new
    linkageType: ''
    returnType: assuan_fd_t
    signature: assuan_fd_t assuan_sock_new (int domain, int type, int proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_sock_set_flag
      Src: /src/libassuan/src/assuan-socket.c:1611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sockfd
    - name
    - value
    argTypes:
    - assuan_fd_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1608
    functionDepth: 2
    functionLinenumber: 1608
    functionLinenumberEnd: 1612
    functionName: assuan_sock_set_flag
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 6
    functionsReached:
    - _assuan_sock_set_flag
    linkageType: ''
    returnType: int
    signature: int assuan_sock_set_flag (assuan_fd_t sockfd, const char *name, int
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_sock_get_flag
      Src: /src/libassuan/src/assuan-socket.c:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sockfd
    - name
    - r_value
    argTypes:
    - assuan_fd_t
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1614
    functionDepth: 2
    functionLinenumber: 1614
    functionLinenumberEnd: 1618
    functionName: assuan_sock_get_flag
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 5
    functionsReached:
    - _assuan_sock_get_flag
    linkageType: ''
    returnType: int
    signature: int assuan_sock_get_flag (assuan_fd_t sockfd, const char *name, int
      *r_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_sock_accept
      Src: /src/libassuan/src/assuan-socket.c:1624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sockfd
    - addr
    - p_addrlen
    argTypes:
    - assuan_fd_t
    - struct sockaddr*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1620
    functionDepth: 2
    functionLinenumber: 1620
    functionLinenumberEnd: 1625
    functionName: assuan_sock_accept
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 6
    functionsReached:
    - _assuan_sock_accept
    linkageType: ''
    returnType: assuan_fd_t
    signature: "assuan_fd_t assuan_sock_accept (assuan_fd_t sockfd, struct sockaddr
      *addr,\n                    socklen_t *p_addrlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_sock_connect
      Src: /src/libassuan/src/assuan-socket.c:1631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sockfd
    - addr
    - addrlen
    argTypes:
    - assuan_fd_t
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1627
    functionDepth: 5
    functionLinenumber: 1627
    functionLinenumberEnd: 1632
    functionName: assuan_sock_connect
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 4
    functionsReached:
    - _assuan_sock_connect
    linkageType: ''
    returnType: int
    signature: "int assuan_sock_connect (assuan_fd_t sockfd, struct sockaddr *addr,\n
      \                    socklen_t addrlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_sock_connect_byname
      Src: /src/libassuan/src/assuan-socket.c:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - host
    - port
    - timeout
    - credentials
    - flags
    argTypes:
    - char*
    - unsigned short
    - int
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1634
    functionDepth: 5
    functionLinenumber: 1634
    functionLinenumberEnd: 1641
    functionName: assuan_sock_connect_byname
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 6
    functionsReached:
    - _assuan_sock_connect_byname
    linkageType: ''
    returnType: assuan_fd_t
    signature: "assuan_fd_t assuan_sock_connect_byname (const char *host, unsigned
      short port,\n                            int timeout, const char *credentials,\n
      \                           unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_sock_bind
      Src: /src/libassuan/src/assuan-socket.c:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sockfd
    - addr
    - addrlen
    argTypes:
    - assuan_fd_t
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1643
    functionDepth: 3
    functionLinenumber: 1643
    functionLinenumberEnd: 1648
    functionName: assuan_sock_bind
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 7
    functionsReached:
    - _assuan_sock_bind
    linkageType: ''
    returnType: int
    signature: "int assuan_sock_bind (assuan_fd_t sockfd, struct sockaddr *addr,\n
      \                 socklen_t addrlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_sock_set_sockaddr_un
      Src: /src/libassuan/src/assuan-socket.c:1654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fname
    - addr
    - r_redirected
    argTypes:
    - char*
    - struct sockaddr*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1650
    functionDepth: 2
    functionLinenumber: 1650
    functionLinenumberEnd: 1655
    functionName: assuan_sock_set_sockaddr_un
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 8
    functionsReached:
    - _assuan_sock_set_sockaddr_un
    linkageType: ''
    returnType: int
    signature: "int assuan_sock_set_sockaddr_un (const char *fname, struct sockaddr
      *addr,\n                             int *r_redirected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_sock_get_nonce
      Src: /src/libassuan/src/assuan-socket.c:1661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - addr
    - addrlen
    - nonce
    argTypes:
    - struct sockaddr*
    - socklen_t
    - assuan_sock_nonce_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1657
    functionDepth: 3
    functionLinenumber: 1657
    functionLinenumberEnd: 1662
    functionName: assuan_sock_get_nonce
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 7
    functionsReached:
    - _assuan_sock_get_nonce
    linkageType: ''
    returnType: int
    signature: "int assuan_sock_get_nonce (struct sockaddr *addr, socklen_t addrlen,\n
      \                      assuan_sock_nonce_t *nonce)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_sock_check_nonce
      Src: /src/libassuan/src/assuan-socket.c:1667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - nonce
    argTypes:
    - assuan_fd_t
    - assuan_sock_nonce_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1664
    functionDepth: 4
    functionLinenumber: 1664
    functionLinenumberEnd: 1668
    functionName: assuan_sock_check_nonce
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 7
    functionsReached:
    - _assuan_sock_check_nonce
    linkageType: ''
    returnType: int
    signature: int assuan_sock_check_nonce (assuan_fd_t fd, assuan_sock_nonce_t *nonce)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_system_hooks_copy
      Src: /src/libassuan/src/assuan-socket.c:1674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - system_hooks
    argTypes:
    - assuan_system_hooks_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1670
    functionDepth: 1
    functionLinenumber: 1670
    functionLinenumberEnd: 1675
    functionName: assuan_sock_set_system_hooks
    functionSourceFile: /src/libassuan/src/assuan-socket.c
    functionUses: 0
    functionsReached:
    - _assuan_system_hooks_copy
    linkageType: ''
    returnType: void
    signature: void assuan_sock_set_system_hooks (assuan_system_hooks_t system_hooks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/libassuan/src/system-w32.c:39,1
    - Dst: DuplicateHandle
      Src: /src/libassuan/src/system-w32.c:42,1
    - Dst: GetCurrentProcess
      Src: /src/libassuan/src/system-w32.c:42,1
    - Dst: GetCurrentProcess
      Src: /src/libassuan/src/system-w32.c:43,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: assuan_fdopen
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 9
    functionsReached:
    - _get_osfhandle
    - DuplicateHandle
    - GetCurrentProcess
    - gpg_err_set_errno
    linkageType: ''
    returnType: assuan_fd_t
    signature: assuan_fd_t assuan_fdopen (int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/libassuan/src/system-w32.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - usec
    argTypes:
    - assuan_context_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: __assuan_usleep
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 1
    functionsReached:
    - Sleep
    linkageType: ''
    returnType: void
    signature: void __assuan_usleep (assuan_context_t ctx, unsigned int usec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r_rvid
    - write_end
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: _assuan_w32ce_prepare_pipe
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE _assuan_w32ce_prepare_pipe (int *r_rvid, int write_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rvid
    - write_end
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: _assuan_w32ce_finish_pipe
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE _assuan_w32ce_finish_pipe (int rvid, int write_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreatePipe
      Src: /src/libassuan/src/system-w32.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - read_hd
    - write_hd
    - sec_attr
    - size
    argTypes:
    - HANDLE*
    - HANDLE*
    - LPSECURITY_ATTRIBUTES
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: _assuan_w32ce_create_pipe
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 0
    functionsReached:
    - CreatePipe
    linkageType: ''
    returnType: DWORD
    signature: "DWORD _assuan_w32ce_create_pipe (HANDLE *read_hd, HANDLE *write_hd,\n
      \                          LPSECURITY_ATTRIBUTES sec_attr, DWORD size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libassuan/src/system-w32.c:105,1
    - Dst: CreatePipe
      Src: /src/libassuan/src/system-w32.c:109,1
    - Dst: TRACE1
      Src: /src/libassuan/src/system-w32.c:111,1
    - Dst: _assuan_w32_strerror
      Src: /src/libassuan/src/system-w32.c:112,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:113,1
    - Dst: DuplicateHandle
      Src: /src/libassuan/src/system-w32.c:117,1
    - Dst: GetCurrentProcess
      Src: /src/libassuan/src/system-w32.c:117,1
    - Dst: GetCurrentProcess
      Src: /src/libassuan/src/system-w32.c:118,1
    - Dst: TRACE1
      Src: /src/libassuan/src/system-w32.c:121,1
    - Dst: _assuan_w32_strerror
      Src: /src/libassuan/src/system-w32.c:122,1
    - Dst: CloseHandle
      Src: /src/libassuan/src/system-w32.c:123,1
    - Dst: CloseHandle
      Src: /src/libassuan/src/system-w32.c:124,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:125,1
    - Dst: CloseHandle
      Src: /src/libassuan/src/system-w32.c:130,1
    - Dst: CloseHandle
      Src: /src/libassuan/src/system-w32.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - fd
    - inherit_idx
    argTypes:
    - assuan_context_t
    - assuan_fd_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 143
    functionName: __assuan_pipe
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 1
    functionsReached:
    - CloseHandle
    - _assuan_w32_strerror
    - TRACE1
    - DuplicateHandle
    - memset
    - gpg_err_set_errno
    - GetCurrentProcess
    - CreatePipe
    linkageType: ''
    returnType: int
    signature: int __assuan_pipe (assuan_context_t ctx, assuan_fd_t fd[2], int inherit_idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: closesocket
      Src: /src/libassuan/src/system-w32.c:152,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/system-w32.c:152,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:154,1
    - Dst: _assuan_sock_wsa2errno
      Src: /src/libassuan/src/system-w32.c:154,1
    - Dst: WSAGetLastError
      Src: /src/libassuan/src/system-w32.c:154,1
    - Dst: WSAGetLastError
      Src: /src/libassuan/src/system-w32.c:155,1
    - Dst: CloseHandle
      Src: /src/libassuan/src/system-w32.c:157,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 163
    functionName: __assuan_close
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 2
    functionsReached:
    - WSAGetLastError
    - HANDLE2SOCKET
    - gpg_err_set_errno
    - _assuan_sock_wsa2errno
    - CloseHandle
    - closesocket
    linkageType: ''
    returnType: int
    signature: int __assuan_close (assuan_context_t ctx, assuan_fd_t fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OpenProcess
      Src: /src/libassuan/src/system-w32.c:174,1
    - Dst: TRACE1
      Src: /src/libassuan/src/system-w32.c:177,1
    - Dst: _assuan_w32_strerror
      Src: /src/libassuan/src/system-w32.c:178,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/system-w32.c:179,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libassuan/src/system-w32.c:179,1
    - Dst: DuplicateHandle
      Src: /src/libassuan/src/system-w32.c:182,1
    - Dst: GetCurrentProcess
      Src: /src/libassuan/src/system-w32.c:182,1
    - Dst: TRACE1
      Src: /src/libassuan/src/system-w32.c:185,1
    - Dst: _assuan_w32_strerror
      Src: /src/libassuan/src/system-w32.c:186,1
    - Dst: CloseHandle
      Src: /src/libassuan/src/system-w32.c:187,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/system-w32.c:188,1
    - Dst: CloseHandle
      Src: /src/libassuan/src/system-w32.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - my_handle
    - process_id
    - r_handle
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - int
    - HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 193
    functionName: get_file_handle
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - OpenProcess
    - _assuan_w32_strerror
    - TRACE1
    - DuplicateHandle
    - GetCurrentProcess
    - _assuan_error
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t get_file_handle (assuan_context_t ctx, assuan_fd_t my_handle,\n
      \                int process_id, HANDLE *r_handle)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/system-w32.c:206,1
    - Dst: get_file_handle
      Src: /src/libassuan/src/system-w32.c:208,1
    - Dst: snprintf
      Src: /src/libassuan/src/system-w32.c:212,1
    - Dst: CloseHandle
      Src: /src/libassuan/src/system-w32.c:215,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/system-w32.c:216,1
    - Dst: assuan_transact
      Src: /src/libassuan/src/system-w32.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 197
    functionDepth: 4
    functionLinenumber: 197
    functionLinenumberEnd: 221
    functionName: w32_fdpass_send
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 0
    functionsReached:
    - snprintf
    - assuan_transact
    - _assuan_error
    - CloseHandle
    - get_file_handle
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t w32_fdpass_send (assuan_context_t ctx, assuan_fd_t fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE0
      Src: /src/libassuan/src/system-w32.c:232,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/system-w32.c:234,1
    - Dst: TRACE1
      Src: /src/libassuan/src/system-w32.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - assuan_context_t
    - assuan_fd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 245
    functionName: w32_fdpass_recv
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 0
    functionsReached:
    - TRACE1
    - TRACE0
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t w32_fdpass_recv (assuan_context_t ctx, assuan_fd_t *fd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/libassuan/src/system-w32.c:259,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/system-w32.c:259,1
    - Dst: WSAGetLastError
      Src: /src/libassuan/src/system-w32.c:261,1
    - Dst: FD_ZERO
      Src: /src/libassuan/src/system-w32.c:271,1
    - Dst: FD_SET
      Src: /src/libassuan/src/system-w32.c:272,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/system-w32.c:272,1
    - Dst: select
      Src: /src/libassuan/src/system-w32.c:273,1
    - Dst: ReadFile
      Src: /src/libassuan/src/system-w32.c:280,1
    - Dst: GetLastError
      Src: /src/libassuan/src/system-w32.c:283,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:293,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:297,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:302,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:306,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - fd
    - buffer
    - size
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 311
    functionName: __assuan_read
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 1
    functionsReached:
    - FD_ZERO
    - select
    - ReadFile
    - WSAGetLastError
    - recv
    - FD_SET
    - HANDLE2SOCKET
    - gpg_err_set_errno
    - GetLastError
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t __assuan_read (assuan_context_t ctx, assuan_fd_t fd, void *buffer,
      size_t size)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/libassuan/src/system-w32.c:328,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/system-w32.c:328,1
    - Dst: WSAGetLastError
      Src: /src/libassuan/src/system-w32.c:330,1
    - Dst: FD_ZERO
      Src: /src/libassuan/src/system-w32.c:340,1
    - Dst: FD_SET
      Src: /src/libassuan/src/system-w32.c:341,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/system-w32.c:341,1
    - Dst: select
      Src: /src/libassuan/src/system-w32.c:342,1
    - Dst: WriteFile
      Src: /src/libassuan/src/system-w32.c:350,1
    - Dst: GetLastError
      Src: /src/libassuan/src/system-w32.c:353,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:363,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:367,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:372,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:376,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - fd
    - buffer
    - size
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 382
    functionName: __assuan_write
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 1
    functionsReached:
    - FD_ZERO
    - select
    - send
    - WSAGetLastError
    - FD_SET
    - HANDLE2SOCKET
    - gpg_err_set_errno
    - GetLastError
    - WriteFile
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t __assuan_write (assuan_context_t ctx, assuan_fd_t fd, const
      void *buffer,\n\t\tsize_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - fd
    - msg
    - flags
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - assuan_msghdr_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 396
    functionName: __assuan_recvmsg
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 1
    functionsReached:
    - gpg_err_set_errno
    linkageType: ''
    returnType: int
    signature: "int __assuan_recvmsg (assuan_context_t ctx, assuan_fd_t fd, assuan_msghdr_t
      msg,\n\t\t  int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - fd
    - msg
    - flags
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - assuan_msghdr_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 411
    functionName: __assuan_sendmsg
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 1
    functionsReached:
    - gpg_err_set_errno
    linkageType: ''
    returnType: int
    signature: "int __assuan_sendmsg (assuan_context_t ctx, assuan_fd_t fd, assuan_msghdr_t
      msg,\n\t\t  int flags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libassuan/src/system-w32.c:430,1
    - Dst: _assuan_malloc
      Src: /src/libassuan/src/system-w32.c:437,1
    - Dst: stpcpy
      Src: /src/libassuan/src/system-w32.c:444,1
    - Dst: stpcpy
      Src: /src/libassuan/src/system-w32.c:446,1
    - Dst: strpbrk
      Src: /src/libassuan/src/system-w32.c:447,1
    - Dst: stpcpy
      Src: /src/libassuan/src/system-w32.c:449,1
    - Dst: stpcpy
      Src: /src/libassuan/src/system-w32.c:460,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - ctx
    - argv
    - cmdline
    argTypes:
    - assuan_context_t
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 465
    functionName: build_w32_commandline
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 0
    functionsReached:
    - strpbrk
    - _assuan_malloc
    - stpcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: "int build_w32_commandline (assuan_context_t ctx, const char * const
      *argv,\n\t\t       char **cmdline)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: build_w32_commandline
      Src: /src/libassuan/src/system-w32.c:503,1
    - Dst: memset
      Src: /src/libassuan/src/system-w32.c:507,1
    - Dst: memset
      Src: /src/libassuan/src/system-w32.c:511,1
    - Dst: assuan_fd_from_posix_fd
      Src: /src/libassuan/src/system-w32.c:520,1
    - Dst: fileno
      Src: /src/libassuan/src/system-w32.c:520,1
    - Dst: CreateFileW
      Src: /src/libassuan/src/system-w32.c:529,1
    - Dst: TRACE1
      Src: /src/libassuan/src/system-w32.c:534,1
    - Dst: _assuan_w32_strerror
      Src: /src/libassuan/src/system-w32.c:535,1
    - Dst: _assuan_free
      Src: /src/libassuan/src/system-w32.c:536,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:537,1
    - Dst: _assuan_utf8_to_wchar
      Src: /src/libassuan/src/system-w32.c:552,1
    - Dst: _assuan_utf8_to_wchar
      Src: /src/libassuan/src/system-w32.c:554,1
    - Dst: CreateProcessW
      Src: /src/libassuan/src/system-w32.c:557,1
    - Dst: GetPriorityClass
      Src: /src/libassuan/src/system-w32.c:564,1
    - Dst: GetCurrentProcess
      Src: /src/libassuan/src/system-w32.c:564,1
    - Dst: TRACE1
      Src: /src/libassuan/src/system-w32.c:573,1
    - Dst: _assuan_w32_strerror
      Src: /src/libassuan/src/system-w32.c:574,1
    - Dst: free
      Src: /src/libassuan/src/system-w32.c:575,1
    - Dst: free
      Src: /src/libassuan/src/system-w32.c:576,1
    - Dst: _assuan_free
      Src: /src/libassuan/src/system-w32.c:577,1
    - Dst: CloseHandle
      Src: /src/libassuan/src/system-w32.c:579,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:581,1
    - Dst: free
      Src: /src/libassuan/src/system-w32.c:585,1
    - Dst: free
      Src: /src/libassuan/src/system-w32.c:586,1
    - Dst: _assuan_free
      Src: /src/libassuan/src/system-w32.c:587,1
    - Dst: CloseHandle
      Src: /src/libassuan/src/system-w32.c:589,1
    - Dst: ResumeThread
      Src: /src/libassuan/src/system-w32.c:591,1
    - Dst: CloseHandle
      Src: /src/libassuan/src/system-w32.c:592,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 9
    argNames:
    - ctx
    - r_pid
    - name
    - argv
    - fd_in
    - fd_out
    - fd_child_list
    - atforkvalue
    - flags
    argTypes:
    - assuan_context_t
    - assuan_pid_t*
    - char*
    - char**
    - assuan_fd_t
    - assuan_fd_t
    - assuan_fd_t*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 607
    functionName: __assuan_spawn
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 1
    functionsReached:
    - _assuan_free
    - build_w32_commandline
    - CloseHandle
    - free
    - _assuan_w32_strerror
    - TRACE1
    - fileno
    - GetPriorityClass
    - ResumeThread
    - memset
    - _assuan_utf8_to_wchar
    - gpg_err_set_errno
    - assuan_fd_from_posix_fd
    - CreateProcessW
    - GetCurrentProcess
    - CreateFileW
    linkageType: ''
    returnType: int
    signature: "int __assuan_spawn (assuan_context_t ctx, assuan_pid_t *r_pid, const
      char *name,\n\t\tconst char **argv,\n\t\tassuan_fd_t fd_in, assuan_fd_t fd_out,\n\t\tassuan_fd_t
      *fd_child_list,\n\t\tvoid (*atfork) (void *opaque, int reserved),\n\t\tvoid
      *atforkvalue, unsigned int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/libassuan/src/system-w32.c:626,1
    - Dst: GetExitCodeProcess
      Src: /src/libassuan/src/system-w32.c:632,1
    - Dst: CloseHandle
      Src: /src/libassuan/src/system-w32.c:635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - ctx
    - pid
    - nowait
    - status
    - options
    argTypes:
    - assuan_context_t
    - assuan_pid_t
    - int
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 642
    functionName: __assuan_waitpid
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 1
    functionsReached:
    - GetExitCodeProcess
    - CloseHandle
    - WaitForSingleObject
    linkageType: ''
    returnType: assuan_pid_t
    signature: "assuan_pid_t __assuan_waitpid (assuan_context_t ctx, assuan_pid_t
      pid, int nowait,\n\t\t  int *status, int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - namespace
    - style
    - protocol
    - filedes
    argTypes:
    - assuan_context_t
    - int
    - int
    - int
    - assuan_fd_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 657
    functionName: __assuan_socketpair
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 1
    functionsReached:
    - gpg_err_set_errno
    linkageType: ''
    returnType: int
    signature: "int __assuan_socketpair (assuan_context_t ctx, int namespace, int
      style,\n\t\t     int protocol, assuan_fd_t filedes[2])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SOCKET2HANDLE
      Src: /src/libassuan/src/system-w32.c:665,1
    - Dst: socket
      Src: /src/libassuan/src/system-w32.c:665,1
    - Dst: SOCKET2HANDLE
      Src: /src/libassuan/src/system-w32.c:666,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:667,1
    - Dst: _assuan_sock_wsa2errno
      Src: /src/libassuan/src/system-w32.c:667,1
    - Dst: WSAGetLastError
      Src: /src/libassuan/src/system-w32.c:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - domain
    - type
    - proto
    argTypes:
    - assuan_context_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 669
    functionName: __assuan_socket
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 1
    functionsReached:
    - socket
    - WSAGetLastError
    - SOCKET2HANDLE
    - gpg_err_set_errno
    - _assuan_sock_wsa2errno
    linkageType: ''
    returnType: assuan_fd_t
    signature: assuan_fd_t __assuan_socket (assuan_context_t ctx, int domain, int
      type, int proto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/libassuan/src/system-w32.c:678,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/system-w32.c:678,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-w32.c:680,1
    - Dst: _assuan_sock_wsa2errno
      Src: /src/libassuan/src/system-w32.c:680,1
    - Dst: WSAGetLastError
      Src: /src/libassuan/src/system-w32.c:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - sock
    - addr
    - length
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 682
    functionName: __assuan_connect
    functionSourceFile: /src/libassuan/src/system-w32.c
    functionUses: 1
    functionsReached:
    - WSAGetLastError
    - HANDLE2SOCKET
    - gpg_err_set_errno
    - _assuan_sock_wsa2errno
    - connect
    linkageType: ''
    returnType: int
    signature: "int __assuan_connect (assuan_context_t ctx, assuan_fd_t sock,\n                  struct
      sockaddr *addr, socklen_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code
      Src: /src/libassuan/src/assuan-error.c:39,1
    - Dst: _assuan_usleep
      Src: /src/libassuan/src/assuan-error.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - assuan_context_t
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: _assuan_error_is_eagain
    functionSourceFile: /src/libassuan/src/assuan-error.c
    functionUses: 5
    functionsReached:
    - _assuan_usleep
    - gpg_err_code
    linkageType: ''
    returnType: int
    signature: int _assuan_error_is_eagain (assuan_context_t ctx, gpg_error_t err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetLastError
      Src: /src/libassuan/src/assuan-error.c:56,1
    - Dst: FormatMessage
      Src: /src/libassuan/src/assuan-error.c:57,1
    - Dst: MAKELANGID
      Src: /src/libassuan/src/assuan-error.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - ec
    argTypes:
    - assuan_context_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: _assuan_w32_strerror
    functionSourceFile: /src/libassuan/src/assuan-error.c
    functionUses: 3
    functionsReached:
    - FormatMessage
    - GetLastError
    - MAKELANGID
    linkageType: ''
    returnType: char
    signature: 'char *

      _assuan_w32_strerror (assuan_context_t ctx, int ec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_read
      Src: /src/libassuan/src/assuan-io.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buffer
    - size
    argTypes:
    - assuan_context_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: _assuan_simple_read
    functionSourceFile: /src/libassuan/src/assuan-io.c
    functionUses: 0
    functionsReached:
    - _assuan_read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t _assuan_simple_read (assuan_context_t ctx, void *buffer, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_write
      Src: /src/libassuan/src/assuan-io.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buffer
    - size
    argTypes:
    - assuan_context_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: _assuan_simple_write
    functionSourceFile: /src/libassuan/src/assuan-io.c
    functionUses: 0
    functionsReached:
    - _assuan_write
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t _assuan_simple_write (assuan_context_t ctx, const void *buffer,
      size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: __stpcpy
    functionSourceFile: /src/libassuan/src/stpcpy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      __stpcpy (char *dest, const char *src)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-listen.c:39,1
    - Dst: _assuan_free
      Src: /src/libassuan/src/assuan-listen.c:42,1
    - Dst: _assuan_malloc
      Src: /src/libassuan/src/assuan-listen.c:47,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-listen.c:47,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-listen.c:49,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-listen.c:49,1
    - Dst: strchr
      Src: /src/libassuan/src/assuan-listen.c:50,1
    - Dst: strcpy
      Src: /src/libassuan/src/assuan-listen.c:51,1
    - Dst: strcpy
      Src: /src/libassuan/src/assuan-listen.c:54,1
    - Dst: strcpy
      Src: /src/libassuan/src/assuan-listen.c:55,1
    - Dst: _assuan_free
      Src: /src/libassuan/src/assuan-listen.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - line
    argTypes:
    - assuan_context_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 61
    functionName: assuan_set_hello_line
    functionSourceFile: /src/libassuan/src/assuan-listen.c
    functionUses: 9
    functionsReached:
    - _assuan_free
    - gpg_err_code_from_syserror
    - strlen
    - strchr
    - strcpy
    - _assuan_error
    - _assuan_malloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_set_hello_line (assuan_context_t ctx, const char
      *line)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/libassuan/src/assuan-listen.c:80,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-listen.c:84,1
    - Dst: assuan_context_t::finish_handler
      Src: /src/libassuan/src/assuan-listen.c:95,1
    - Dst: assuan_context_t::accept_handler
      Src: /src/libassuan/src/assuan-listen.c:96,1
    - Dst: strchr
      Src: /src/libassuan/src/assuan-listen.c:103,1
    - Dst: _assuan_write_line
      Src: /src/libassuan/src/assuan-listen.c:108,1
    - Dst: strchr
      Src: /src/libassuan/src/assuan-listen.c:112,1
    - Dst: snprintf
      Src: /src/libassuan/src/assuan-listen.c:117,1
    - Dst: _assuan_write_line
      Src: /src/libassuan/src/assuan-listen.c:118,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-listen.c:118,1
    - Dst: _assuan_write_line
      Src: /src/libassuan/src/assuan-listen.c:121,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-listen.c:121,1
    - Dst: snprintf
      Src: /src/libassuan/src/assuan-listen.c:128,1
    - Dst: assuan_write_line
      Src: /src/libassuan/src/assuan-listen.c:129,1
    - Dst: assuan_write_line
      Src: /src/libassuan/src/assuan-listen.c:132,1
    - Dst: snprintf
      Src: /src/libassuan/src/assuan-listen.c:139,1
    - Dst: assuan_write_line
      Src: /src/libassuan/src/assuan-listen.c:140,1
    - Dst: assuan_write_line
      Src: /src/libassuan/src/assuan-listen.c:143,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 149
    functionName: assuan_accept
    functionSourceFile: /src/libassuan/src/assuan-listen.c
    functionUses: 11
    functionsReached:
    - assuan_context_t::accept_handler
    - assuan_context_t::finish_handler
    - strlen
    - snprintf
    - assuan_write_line
    - strchr
    - _assuan_write_line
    - getpid
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_accept (assuan_context_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: assuan_get_input_fd
    functionSourceFile: /src/libassuan/src/assuan-listen.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: assuan_fd_t
    signature: assuan_fd_t assuan_get_input_fd (assuan_context_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: assuan_get_output_fd
    functionSourceFile: /src/libassuan/src/assuan-listen.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: assuan_fd_t
    signature: assuan_fd_t assuan_get_output_fd (assuan_context_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-listen.c:173,1
    - Dst: _assuan_close
      Src: /src/libassuan/src/assuan-listen.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: assuan_close_input_fd
    functionSourceFile: /src/libassuan/src/assuan-listen.c
    functionUses: 17
    functionsReached:
    - _assuan_close
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_close_input_fd (assuan_context_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-listen.c:185,1
    - Dst: _assuan_close
      Src: /src/libassuan/src/assuan-listen.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 190
    functionName: assuan_close_output_fd
    functionSourceFile: /src/libassuan/src/assuan-listen.c
    functionUses: 20
    functionsReached:
    - _assuan_close
    - _assuan_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_close_output_fd (assuan_context_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: digitp
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 131
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digitp(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errsource
    argTypes:
    - gpg_err_source_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: assuan_set_gpg_err_source
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assuan_set_gpg_err_source (gpg_err_source_t errsource)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: assuan_get_gpg_err_source
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gpg_err_source_t
    signature: gpg_err_source_t assuan_get_gpg_err_source (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - malloc_hooks
    argTypes:
    - assuan_malloc_hooks_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: assuan_set_malloc_hooks
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assuan_set_malloc_hooks (assuan_malloc_hooks_t malloc_hooks)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: assuan_get_malloc_hooks
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: assuan_malloc_hooks_t
    signature: assuan_malloc_hooks_t assuan_get_malloc_hooks (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_init_log_envvars
      Src: /src/libassuan/src/assuan.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - log_cb
    - log_cb_data
    argTypes:
    - assuan_log_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: assuan_set_log_cb
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 1
    functionsReached:
    - _assuan_init_log_envvars
    linkageType: ''
    returnType: void
    signature: void assuan_set_log_cb (assuan_log_cb_t log_cb, void *log_cb_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - log_cb
    - log_cb_data
    argTypes:
    - assuan_log_cb_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: assuan_get_log_cb
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assuan_get_log_cb (assuan_log_cb_t *log_cb, void **log_cb_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_system_hooks_copy
      Src: /src/libassuan/src/assuan.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - system_hooks
    argTypes:
    - assuan_system_hooks_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: assuan_set_system_hooks
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 0
    functionsReached:
    - _assuan_system_hooks_copy
    linkageType: ''
    returnType: void
    signature: void assuan_set_system_hooks (assuan_system_hooks_t system_hooks)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_get_syscall_clamp
      Src: /src/libassuan/src/assuan.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - cmd
    - arg
    argTypes:
    - enum assuan_ctl_cmds
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 136
    functionName: assuan_control
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 8
    functionsReached:
    - gpgrt_get_syscall_clamp
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_control (enum assuan_ctl_cmds cmd, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pre_syscall_func
      Src: /src/libassuan/src/assuan.c:144,1
    - Dst: gpgrt_get_syscall_clamp
      Src: /src/libassuan/src/assuan.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: _assuan_pre_syscall
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 11
    functionsReached:
    - pre_syscall_func
    - gpgrt_get_syscall_clamp
    linkageType: ''
    returnType: void
    signature: void _assuan_pre_syscall (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: post_syscall_func
      Src: /src/libassuan/src/assuan.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: _assuan_post_syscall
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 11
    functionsReached:
    - post_syscall_func
    linkageType: ''
    returnType: void
    signature: void _assuan_post_syscall (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libassuan/src/assuan.c:173,1
    - Dst: TRACE_BEG8
      Src: /src/libassuan/src/assuan.c:184,1
    - Dst: gpg_strsource
      Src: /src/libassuan/src/assuan.c:187,1
    - Dst: _assuan_malloc
      Src: /src/libassuan/src/assuan.c:194,1
    - Dst: TRACE_ERR
      Src: /src/libassuan/src/assuan.c:196,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan.c:196,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan.c:198,1
    - Dst: TRACE_SUC1
      Src: /src/libassuan/src/assuan.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 5
    argNames:
    - r_ctx
    - err_source
    - malloc_hooks
    - log_cb
    - log_cb_data
    argTypes:
    - assuan_context_t*
    - gpg_err_source_t
    - assuan_malloc_hooks_t
    - assuan_log_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 220
    functionName: assuan_new_ext
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 0
    functionsReached:
    - TRACE_SUC1
    - gpg_err_code_from_syserror
    - TRACE_ERR
    - memset
    - gpg_strsource
    - TRACE_BEG8
    - memcpy
    - _assuan_malloc
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t assuan_new_ext (assuan_context_t *r_ctx, gpg_err_source_t
      err_source,\n\t\tassuan_malloc_hooks_t malloc_hooks, assuan_log_cb_t log_cb,\n\t\tvoid
      *log_cb_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assuan_new_ext
      Src: /src/libassuan/src/assuan.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r_ctx
    argTypes:
    - assuan_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: assuan_new
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 28
    functionsReached:
    - assuan_new_ext
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_new (assuan_context_t *r_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 245
    functionName: _assuan_reset
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _assuan_reset (assuan_context_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/libassuan/src/assuan.c:255,1
    - Dst: _assuan_reset
      Src: /src/libassuan/src/assuan.c:257,1
    - Dst: wipememory
      Src: /src/libassuan/src/assuan.c:262,1
    - Dst: wipememory
      Src: /src/libassuan/src/assuan.c:263,1
    - Dst: _assuan_free
      Src: /src/libassuan/src/assuan.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 265
    functionName: assuan_release
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 50
    functionsReached:
    - _assuan_reset
    - _assuan_free
    - wipememory
    - TRACE
    linkageType: ''
    returnType: void
    signature: void assuan_release (assuan_context_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/libassuan/src/assuan.c:278,1
    - Dst: digitp
      Src: /src/libassuan/src/assuan.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s
    - number
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 287
    functionName: parse_version_number
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 3
    functionsReached:
    - digitp
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_version_number (const char *s, int *number)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_version_number
      Src: /src/libassuan/src/assuan.c:293,1
    - Dst: parse_version_number
      Src: /src/libassuan/src/assuan.c:297,1
    - Dst: parse_version_number
      Src: /src/libassuan/src/assuan.c:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - s
    - major
    - minor
    - micro
    argTypes:
    - char*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 305
    functionName: parse_version_string
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 3
    functionsReached:
    - parse_version_number
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_version_string (const char *s, int *major, int *minor, int *micro)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parse_version_string
      Src: /src/libassuan/src/assuan.c:320,1
    - Dst: parse_version_string
      Src: /src/libassuan/src/assuan.c:323,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 2
    argNames:
    - my_version
    - req_version
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 338
    functionName: compare_versions
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 1
    functionsReached:
    - parse_version_string
    linkageType: ''
    returnType: char
    signature: 'char *

      compare_versions (const char *my_version, const char *req_version)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_sysutils_blurb
      Src: /src/libassuan/src/assuan.c:351,1
    - Dst: compare_versions
      Src: /src/libassuan/src/assuan.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - req_version
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: assuan_check_version
    functionSourceFile: /src/libassuan/src/assuan.c
    functionUses: 3
    functionsReached:
    - compare_versions
    - _assuan_sysutils_blurb
    linkageType: ''
    returnType: char
    signature: 'char *

      assuan_check_version (const char *req_version)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/libassuan/src/assuan-pipe-server.c:56,1
    - Dst: atoi
      Src: /src/libassuan/src/assuan-pipe-server.c:56,1
    - Dst: S_ISSOCK
      Src: /src/libassuan/src/assuan-pipe-server.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: is_valid_socket
    functionSourceFile: /src/libassuan/src/assuan-pipe-server.c
    functionUses: 0
    functionsReached:
    - S_ISSOCK
    - atoi
    - fstat
    linkageType: ''
    returnType: int
    signature: int is_valid_socket (const char *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_BEG
      Src: /src/libassuan/src/assuan-pipe-server.c:76,1
    - Dst: TRACE_LOG2
      Src: /src/libassuan/src/assuan-pipe-server.c:79,1
    - Dst: _assuan_register_std_commands
      Src: /src/libassuan/src/assuan-pipe-server.c:82,1
    - Dst: TRACE_ERR
      Src: /src/libassuan/src/assuan-pipe-server.c:84,1
    - Dst: assuan_fd_from_posix_fd
      Src: /src/libassuan/src/assuan-pipe-server.c:94,1
    - Dst: assuan_fd_from_posix_fd
      Src: /src/libassuan/src/assuan-pipe-server.c:95,1
    - Dst: getenv
      Src: /src/libassuan/src/assuan-pipe-server.c:98,1
    - Dst: is_valid_socket
      Src: /src/libassuan/src/assuan-pipe-server.c:99,1
    - Dst: atoi
      Src: /src/libassuan/src/assuan-pipe-server.c:104,1
    - Dst: atoi
      Src: /src/libassuan/src/assuan-pipe-server.c:105,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-pipe-server.c:118,1
    - Dst: TRACE_ERR
      Src: /src/libassuan/src/assuan-pipe-server.c:119,1
    - Dst: getenv
      Src: /src/libassuan/src/assuan-pipe-server.c:136,1
    - Dst: strtoul
      Src: /src/libassuan/src/assuan-pipe-server.c:137,1
    - Dst: _assuan_init_uds_io
      Src: /src/libassuan/src/assuan-pipe-server.c:148,1
    - Dst: TRACE_SUC
      Src: /src/libassuan/src/assuan-pipe-server.c:150,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - ctx
    - filedes
    argTypes:
    - assuan_context_t
    - assuan_fd_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 151
    functionName: assuan_init_pipe_server
    functionSourceFile: /src/libassuan/src/assuan-pipe-server.c
    functionUses: 11
    functionsReached:
    - TRACE_LOG2
    - _assuan_register_std_commands
    - atoi
    - _assuan_init_uds_io
    - TRACE_SUC
    - TRACE_ERR
    - getenv
    - is_valid_socket
    - assuan_fd_from_posix_fd
    - strtoul
    - _assuan_error
    - TRACE_BEG
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t assuan_init_pipe_server (assuan_context_t ctx, assuan_fd_t
      filedes[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dup
      Src: /src/libassuan/src/system-posix.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: assuan_fdopen
    functionSourceFile: /src/libassuan/src/system-posix.c
    functionUses: 9
    functionsReached:
    - dup
    linkageType: ''
    returnType: assuan_fd_t
    signature: assuan_fd_t assuan_fdopen (int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nanosleep
      Src: /src/libassuan/src/system-posix.c:76,1
    - Dst: select
      Src: /src/libassuan/src/system-posix.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - usec
    argTypes:
    - assuan_context_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 88
    functionName: __assuan_usleep
    functionSourceFile: /src/libassuan/src/system-posix.c
    functionUses: 1
    functionsReached:
    - select
    - nanosleep
    linkageType: ''
    returnType: void
    signature: void __assuan_usleep (assuan_context_t ctx, unsigned int usec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/libassuan/src/system-posix.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - fd
    - inherit_idx
    argTypes:
    - assuan_context_t
    - assuan_fd_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: __assuan_pipe
    functionSourceFile: /src/libassuan/src/system-posix.c
    functionUses: 1
    functionsReached:
    - pipe
    linkageType: ''
    returnType: int
    signature: int __assuan_pipe (assuan_context_t ctx, assuan_fd_t fd[2], int inherit_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libassuan/src/system-posix.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: __assuan_close
    functionSourceFile: /src/libassuan/src/system-posix.c
    functionUses: 2
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int __assuan_close (assuan_context_t ctx, assuan_fd_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libassuan/src/system-posix.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - fd
    - buffer
    - size
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: __assuan_read
    functionSourceFile: /src/libassuan/src/system-posix.c
    functionUses: 1
    functionsReached:
    - read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t __assuan_read (assuan_context_t ctx, assuan_fd_t fd, void *buffer,
      size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/libassuan/src/system-posix.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - fd
    - buffer
    - size
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: __assuan_write
    functionSourceFile: /src/libassuan/src/system-posix.c
    functionUses: 1
    functionsReached:
    - write
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t __assuan_write (assuan_context_t ctx, assuan_fd_t fd, const
      void *buffer,\n\t\tsize_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recvmsg
      Src: /src/libassuan/src/system-posix.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - fd
    - msg
    - flags
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - assuan_msghdr_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: __assuan_recvmsg
    functionSourceFile: /src/libassuan/src/system-posix.c
    functionUses: 1
    functionsReached:
    - recvmsg
    linkageType: ''
    returnType: int
    signature: "int __assuan_recvmsg (assuan_context_t ctx, assuan_fd_t fd, assuan_msghdr_t
      msg,\n\t\t  int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sendmsg
      Src: /src/libassuan/src/system-posix.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - fd
    - msg
    - flags
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    - assuan_msghdr_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: __assuan_sendmsg
    functionSourceFile: /src/libassuan/src/system-posix.c
    functionUses: 1
    functionsReached:
    - sendmsg
    linkageType: ''
    returnType: int
    signature: "int __assuan_sendmsg (assuan_context_t ctx, assuan_fd_t fd, assuan_msghdr_t
      msg,\n\t\t  int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/libassuan/src/system-posix.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - buffer
    - length
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: writen
    functionSourceFile: /src/libassuan/src/system-posix.c
    functionUses: 9
    functionsReached:
    - write
    linkageType: ''
    returnType: int
    signature: int writen (int fd, const char *buffer, size_t length)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/libassuan/src/system-posix.c:215,1
    - Dst: readdir
      Src: /src/libassuan/src/system-posix.c:218,1
    - Dst: atoi
      Src: /src/libassuan/src/system-posix.c:223,1
    - Dst: closedir
      Src: /src/libassuan/src/system-posix.c:227,1
    - Dst: getrlimit
      Src: /src/libassuan/src/system-posix.c:235,1
    - Dst: getrlimit
      Src: /src/libassuan/src/system-posix.c:240,1
    - Dst: sysconf
      Src: /src/libassuan/src/system-posix.c:249,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 276
    functionName: get_max_fds
    functionSourceFile: /src/libassuan/src/system-posix.c
    functionUses: 4
    functionsReached:
    - atoi
    - readdir
    - closedir
    - getrlimit
    - sysconf
    - opendir
    linkageType: ''
    returnType: int
    signature: int get_max_fds (void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/libassuan/src/system-posix.c:291,1
    - Dst: atfork
      Src: /src/libassuan/src/system-posix.c:305,1
    - Dst: open
      Src: /src/libassuan/src/system-posix.c:307,1
    - Dst: TRACE1
      Src: /src/libassuan/src/system-posix.c:310,1
    - Dst: strerror
      Src: /src/libassuan/src/system-posix.c:311,1
    - Dst: _exit
      Src: /src/libassuan/src/system-posix.c:312,1
    - Dst: dup2
      Src: /src/libassuan/src/system-posix.c:318,1
    - Dst: TRACE1
      Src: /src/libassuan/src/system-posix.c:321,1
    - Dst: strerror
      Src: /src/libassuan/src/system-posix.c:322,1
    - Dst: _exit
      Src: /src/libassuan/src/system-posix.c:323,1
    - Dst: dup2
      Src: /src/libassuan/src/system-posix.c:329,1
    - Dst: TRACE1
      Src: /src/libassuan/src/system-posix.c:332,1
    - Dst: strerror
      Src: /src/libassuan/src/system-posix.c:333,1
    - Dst: _exit
      Src: /src/libassuan/src/system-posix.c:334,1
    - Dst: dup2
      Src: /src/libassuan/src/system-posix.c:348,1
    - Dst: TRACE1
      Src: /src/libassuan/src/system-posix.c:350,1
    - Dst: strerror
      Src: /src/libassuan/src/system-posix.c:351,1
    - Dst: _exit
      Src: /src/libassuan/src/system-posix.c:352,1
    - Dst: close
      Src: /src/libassuan/src/system-posix.c:355,1
    - Dst: get_max_fds
      Src: /src/libassuan/src/system-posix.c:359,1
    - Dst: close
      Src: /src/libassuan/src/system-posix.c:372,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/system-posix.c:374,1
    - Dst: execv
      Src: /src/libassuan/src/system-posix.c:386,1
    - Dst: snprintf
      Src: /src/libassuan/src/system-posix.c:389,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/system-posix.c:391,1
    - Dst: strerror
      Src: /src/libassuan/src/system-posix.c:392,1
    - Dst: writen
      Src: /src/libassuan/src/system-posix.c:394,1
    - Dst: strlen
      Src: /src/libassuan/src/system-posix.c:394,1
    - Dst: _exit
      Src: /src/libassuan/src/system-posix.c:395,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 64
    argCount: 9
    argNames:
    - ctx
    - r_pid
    - name
    - argv
    - fd_in
    - fd_out
    - fd_child_list
    - atforkvalue
    - flags
    argTypes:
    - assuan_context_t
    - assuan_pid_t*
    - char*
    - char**
    - assuan_fd_t
    - assuan_fd_t
    - assuan_fd_t*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 404
    functionName: __assuan_spawn
    functionSourceFile: /src/libassuan/src/system-posix.c
    functionUses: 1
    functionsReached:
    - writen
    - open
    - strlen
    - snprintf
    - close
    - get_max_fds
    - _exit
    - TRACE1
    - dup2
    - gpg_err_set_errno
    - execv
    - atfork
    - fork
    - strerror
    - _assuan_error
    linkageType: ''
    returnType: int
    signature: "int __assuan_spawn (assuan_context_t ctx, assuan_pid_t *r_pid, const
      char *name,\n\t\tconst char **argv,\n\t\tassuan_fd_t fd_in, assuan_fd_t fd_out,\n\t\tassuan_fd_t
      *fd_child_list,\n\t\tvoid (*atfork) (void *opaque, int reserved),\n\t\tvoid
      *atforkvalue, unsigned int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: waitpid
      Src: /src/libassuan/src/system-posix.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ctx
    - pid
    - nowait
    - status
    - options
    argTypes:
    - assuan_context_t
    - assuan_pid_t
    - int
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 423
    functionName: __assuan_waitpid
    functionSourceFile: /src/libassuan/src/system-posix.c
    functionUses: 1
    functionsReached:
    - waitpid
    linkageType: ''
    returnType: assuan_pid_t
    signature: "assuan_pid_t __assuan_waitpid (assuan_context_t ctx, assuan_pid_t
      pid, int nowait,\n\t\t  int *status, int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/libassuan/src/system-posix.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - namespace
    - style
    - protocol
    - filedes
    argTypes:
    - assuan_context_t
    - int
    - int
    - int
    - assuan_fd_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 433
    functionName: __assuan_socketpair
    functionSourceFile: /src/libassuan/src/system-posix.c
    functionUses: 1
    functionsReached:
    - socketpair
    linkageType: ''
    returnType: int
    signature: "int __assuan_socketpair (assuan_context_t ctx, int namespace, int
      style,\n\t\t     int protocol, assuan_fd_t filedes[2])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libassuan/src/system-posix.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - namespace
    - style
    - protocol
    argTypes:
    - assuan_context_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 441
    functionName: __assuan_socket
    functionSourceFile: /src/libassuan/src/system-posix.c
    functionUses: 1
    functionsReached:
    - socket
    linkageType: ''
    returnType: int
    signature: int __assuan_socket (assuan_context_t ctx, int namespace, int style,
      int protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/libassuan/src/system-posix.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - sock
    - addr
    - length
    argTypes:
    - assuan_context_t
    - int
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 450
    functionName: __assuan_connect
    functionSourceFile: /src/libassuan/src/system-posix.c
    functionUses: 1
    functionsReached:
    - connect
    linkageType: ''
    returnType: int
    signature: "int __assuan_connect (assuan_context_t ctx, int sock, struct sockaddr
      *addr,\n\t\t  socklen_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: MY_ALIGN
    functionSourceFile: /src/libassuan/src/assuan-uds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MY_ALIGN(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: CMSG_SPACE
    functionSourceFile: /src/libassuan/src/assuan-uds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMSG_SPACE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: CMSG_LEN
    functionSourceFile: /src/libassuan/src/assuan-uds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMSG_LEN(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mhdr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: CMSG_FIRSTHDR
    functionSourceFile: /src/libassuan/src/assuan-uds.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMSG_FIRSTHDR(mhdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cmsg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: CMSG_DATA
    functionSourceFile: /src/libassuan/src/assuan-uds.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMSG_DATA(cmsg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/libassuan/src/assuan-uds.c:95,1
    - Dst: memset
      Src: /src/libassuan/src/assuan-uds.c:100,1
    - Dst: _assuan_recvmsg
      Src: /src/libassuan/src/assuan-uds.c:113,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/libassuan/src/assuan-uds.c:120,1
    - Dst: CMSG_LEN
      Src: /src/libassuan/src/assuan-uds.c:121,1
    - Dst: TRACE0
      Src: /src/libassuan/src/assuan-uds.c:125,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-uds.c:131,1
    - Dst: CMSG_DATA
      Src: /src/libassuan/src/assuan-uds.c:131,1
    - Dst: DIM
      Src: /src/libassuan/src/assuan-uds.c:133,1
    - Dst: TRACE1
      Src: /src/libassuan/src/assuan-uds.c:135,1
    - Dst: _assuan_close
      Src: /src/libassuan/src/assuan-uds.c:138,1
    - Dst: recvfrom
      Src: /src/libassuan/src/assuan-uds.c:149,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/assuan-uds.c:149,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-uds.c:151,1
    - Dst: _assuan_sock_wsa2errno
      Src: /src/libassuan/src/assuan-uds.c:151,1
    - Dst: WSAGetLastError
      Src: /src/libassuan/src/assuan-uds.c:151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - buf
    - buflen
    argTypes:
    - assuan_context_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 154
    functionName: uds_reader
    functionSourceFile: /src/libassuan/src/assuan-uds.c
    functionUses: 0
    functionsReached:
    - recvfrom
    - CMSG_FIRSTHDR
    - DIM
    - WSAGetLastError
    - TRACE1
    - _assuan_recvmsg
    - CMSG_LEN
    - CMSG_DATA
    - memset
    - TRACE0
    - _assuan_close
    - HANDLE2SOCKET
    - gpg_err_set_errno
    - _assuan_sock_wsa2errno
    - memcpy
    - CMSG_SPACE
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t uds_reader (assuan_context_t ctx, void *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libassuan/src/assuan-uds.c:166,1
    - Dst: _assuan_sendmsg
      Src: /src/libassuan/src/assuan-uds.c:175,1
    - Dst: sendto
      Src: /src/libassuan/src/assuan-uds.c:179,1
    - Dst: HANDLE2SOCKET
      Src: /src/libassuan/src/assuan-uds.c:179,1
    - Dst: gpg_err_set_errno
      Src: /src/libassuan/src/assuan-uds.c:183,1
    - Dst: _assuan_sock_wsa2errno
      Src: /src/libassuan/src/assuan-uds.c:183,1
    - Dst: WSAGetLastError
      Src: /src/libassuan/src/assuan-uds.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - buf
    - buflen
    argTypes:
    - assuan_context_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 186
    functionName: uds_writer
    functionSourceFile: /src/libassuan/src/assuan-uds.c
    functionUses: 0
    functionsReached:
    - WSAGetLastError
    - sendto
    - memset
    - HANDLE2SOCKET
    - gpg_err_set_errno
    - _assuan_sock_wsa2errno
    - _assuan_sendmsg
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t uds_writer (assuan_context_t ctx, const void *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/libassuan/src/assuan-uds.c:197,1
    - Dst: snprintf
      Src: /src/libassuan/src/assuan-uds.c:205,1
    - Dst: memset
      Src: /src/libassuan/src/assuan-uds.c:208,1
    - Dst: memset
      Src: /src/libassuan/src/assuan-uds.c:210,1
    - Dst: strlen
      Src: /src/libassuan/src/assuan-uds.c:217,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/libassuan/src/assuan-uds.c:221,1
    - Dst: CMSG_LEN
      Src: /src/libassuan/src/assuan-uds.c:222,1
    - Dst: memcpy
      Src: /src/libassuan/src/assuan-uds.c:226,1
    - Dst: CMSG_DATA
      Src: /src/libassuan/src/assuan-uds.c:226,1
    - Dst: _assuan_sendmsg
      Src: /src/libassuan/src/assuan-uds.c:228,1
    - Dst: TRACE1
      Src: /src/libassuan/src/assuan-uds.c:232,1
    - Dst: strerror
      Src: /src/libassuan/src/assuan-uds.c:233,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-uds.c:235,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libassuan/src/assuan-uds.c:235,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-uds.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - assuan_context_t
    - assuan_fd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 243
    functionName: uds_sendfd
    functionSourceFile: /src/libassuan/src/assuan-uds.c
    functionUses: 0
    functionsReached:
    - CMSG_FIRSTHDR
    - gpg_err_code_from_syserror
    - strlen
    - snprintf
    - TRACE1
    - CMSG_LEN
    - CMSG_DATA
    - memset
    - _assuan_error
    - strerror
    - memcpy
    - _assuan_sendmsg
    - CMSG_SPACE
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t uds_sendfd (assuan_context_t ctx, assuan_fd_t fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE0
      Src: /src/libassuan/src/assuan-uds.c:254,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-uds.c:256,1
    - Dst: assert
      Src: /src/libassuan/src/assuan-uds.c:258,1
    - Dst: DIM
      Src: /src/libassuan/src/assuan-uds.c:258,1
    - Dst: _assuan_error
      Src: /src/libassuan/src/assuan-uds.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - assuan_context_t
    - assuan_fd_t*
    assertStmts:
    - condition: (ctx->uds.pendingfdscount <= DIM(ctx->uds.pendingfds))
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/libassuan/src/assuan-uds.c
    constantsTouched: []
    func_position:
      end: 270
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 270
    functionName: uds_receivefd
    functionSourceFile: /src/libassuan/src/assuan-uds.c
    functionUses: 0
    functionsReached:
    - DIM
    - TRACE0
    - _assuan_error
    - assert
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t uds_receivefd (assuan_context_t ctx, assuan_fd_t *fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_close
      Src: /src/libassuan/src/assuan-uds.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: _assuan_uds_close_fds
    functionSourceFile: /src/libassuan/src/assuan-uds.c
    functionUses: 1
    functionsReached:
    - _assuan_close
    linkageType: ''
    returnType: void
    signature: void _assuan_uds_close_fds (assuan_context_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _assuan_uds_close_fds
      Src: /src/libassuan/src/assuan-uds.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: _assuan_uds_deinit
    functionSourceFile: /src/libassuan/src/assuan-uds.c
    functionUses: 2
    functionsReached:
    - _assuan_uds_close_fds
    linkageType: ''
    returnType: void
    signature: void _assuan_uds_deinit (assuan_context_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - assuan_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: _assuan_init_uds_io
    functionSourceFile: /src/libassuan/src/assuan-uds.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _assuan_init_uds_io (assuan_context_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: assuan_fd_t::assuan_fd_from_posix_fd
    functionSourceFile: /src/libassuan/src/assuan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE assuan_fd_t

      assuan_fd_from_posix_fd (int fd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-cipher-internal.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - label
    - v
    argTypes:
    - char*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: print_hilo
    functionSourceFile: /src/libgcrypt/tests/t-cipher-internal.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_hilo (const char *label, u64 v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cipher_bytecounter_add
      Src: /src/libgcrypt/tests/t-cipher-internal.c:55,1
    - Dst: print_hilo
      Src: /src/libgcrypt/tests/t-cipher-internal.c:60,1
    - Dst: print_hilo
      Src: /src/libgcrypt/tests/t-cipher-internal.c:61,1
    - Dst: print_hilo
      Src: /src/libgcrypt/tests/t-cipher-internal.c:62,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-cipher-internal.c:63,1
    - Dst: print_hilo
      Src: /src/libgcrypt/tests/t-cipher-internal.c:64,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-cipher-internal.c:65,1
    - Dst: print_hilo
      Src: /src/libgcrypt/tests/t-cipher-internal.c:69,1
    - Dst: print_hilo
      Src: /src/libgcrypt/tests/t-cipher-internal.c:70,1
    - Dst: print_hilo
      Src: /src/libgcrypt/tests/t-cipher-internal.c:71,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-cipher-internal.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - start
    - add
    argTypes:
    - u64
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 74
    functionName: check_bytecounter_add
    functionSourceFile: /src/libgcrypt/tests/t-cipher-internal.c
    functionUses: 0
    functionsReached:
    - cipher_bytecounter_add
    - print_hilo
    - fprintf
    linkageType: ''
    returnType: void
    signature: void check_bytecounter_add (u64 start, u64 add)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:80,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:80,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:81,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:81,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:82,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:82,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:83,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:86,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:86,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:86,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:86,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:87,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:87,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:88,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:88,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:89,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:89,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:90,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:90,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:91,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-cipher-internal.c:96,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-cipher-internal.c:98,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-cipher-internal.c:99,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:101,1
    - Dst: check_bytecounter_add
      Src: /src/libgcrypt/tests/t-cipher-internal.c:103,1
    - Dst: cipher_bytecounter_add
      Src: /src/libgcrypt/tests/t-cipher-internal.c:109,1
    - Dst: U64_C
      Src: /src/libgcrypt/tests/t-cipher-internal.c:109,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-cipher-internal.c:113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 118
    functionName: test_bytecounter_add
    functionSourceFile: /src/libgcrypt/tests/t-cipher-internal.c
    functionUses: 0
    functionsReached:
    - DIM
    - check_bytecounter_add
    - fprintf
    - cipher_bytecounter_add
    - U64_C
    linkageType: ''
    returnType: void
    signature: void test_bytecounter_add (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-cipher-internal.c:131,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-cipher-internal.c:136,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-cipher-internal.c:141,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-cipher-internal.c:149,1
    - Dst: test_bytecounter_add
      Src: /src/libgcrypt/tests/t-cipher-internal.c:151,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-cipher-internal.c:154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 157
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-cipher-internal.c
    functionUses: 11
    functionsReached:
    - strcmp
    - test_bytecounter_add
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/libgcrypt/tests/rsacvt.c:90,1
    - Dst: feof
      Src: /src/libgcrypt/tests/rsacvt.c:92,1
    - Dst: die
      Src: /src/libgcrypt/tests/rsacvt.c:94,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/rsacvt.c:94,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/rsacvt.c:96,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/rsacvt.c:99,1
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/rsacvt.c:101,1
    - Dst: isspace
      Src: /src/libgcrypt/tests/rsacvt.c:101,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/rsacvt.c:109,1
    - Dst: gcry_xstrdup
      Src: /src/libgcrypt/tests/rsacvt.c:110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 111
    functionName: read_textline
    functionSourceFile: /src/libgcrypt/tests/rsacvt.c
    functionUses: 2
    functionsReached:
    - my_isascii
    - strlen
    - fprintf
    - feof
    - strchr
    - gcry_xstrdup
    - isspace
    - die
    - fgets
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      read_textline (FILE *fp)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_textline
      Src: /src/libgcrypt/tests/rsacvt.c:122,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/rsacvt.c:128,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/rsacvt.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - fp
    - got_eof
    argTypes:
    - FILE*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 133
    functionName: read_hexmpi_line
    functionSourceFile: /src/libgcrypt/tests/rsacvt.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - read_textline
    - gcry_mpi_scan
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t read_hexmpi_line (FILE *fp, int *got_eof)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/libgcrypt/tests/rsacvt.c:144,1
    - Dst: feof
      Src: /src/libgcrypt/tests/rsacvt.c:146,1
    - Dst: die
      Src: /src/libgcrypt/tests/rsacvt.c:148,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/rsacvt.c:148,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/rsacvt.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: skip_to_empty_line
    functionSourceFile: /src/libgcrypt/tests/rsacvt.c
    functionUses: 0
    functionsReached:
    - feof
    - strchr
    - die
    - fgets
    - strerror
    linkageType: ''
    returnType: int
    signature: int skip_to_empty_line (FILE *fp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libgcrypt/tests/rsacvt.c:168,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/rsacvt.c:170,1
    - Dst: die
      Src: /src/libgcrypt/tests/rsacvt.c:172,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/rsacvt.c:172,1
    - Dst: printf
      Src: /src/libgcrypt/tests/rsacvt.c:178,1
    - Dst: ferror
      Src: /src/libgcrypt/tests/rsacvt.c:179,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/rsacvt.c:181,1
    - Dst: die
      Src: /src/libgcrypt/tests/rsacvt.c:184,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/rsacvt.c:184,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/rsacvt.c:185,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - label
    - a
    argTypes:
    - char*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 186
    functionName: print_mpi_line
    functionSourceFile: /src/libgcrypt/tests/rsacvt.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - printf
    - gcry_mpi_aprint
    - fflush
    - gpg_strerror
    - die
    - strerror
    - ferror
    linkageType: ''
    returnType: void
    signature: void print_mpi_line (const char *label, gcry_mpi_t a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/rsacvt.c:196,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/rsacvt.c:197,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/rsacvt.c:198,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/rsacvt.c:199,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/rsacvt.c:200,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/rsacvt.c:202,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/rsacvt.c:203,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/rsacvt.c:204,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/rsacvt.c:207,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/rsacvt.c:209,1
    - Dst: gcry_mpi_swap
      Src: /src/libgcrypt/tests/rsacvt.c:210,1
    - Dst: gcry_mpi_mul
      Src: /src/libgcrypt/tests/rsacvt.c:213,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/libgcrypt/tests/rsacvt.c:217,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/libgcrypt/tests/rsacvt.c:218,1
    - Dst: gcry_mpi_mul
      Src: /src/libgcrypt/tests/rsacvt.c:219,1
    - Dst: gcry_mpi_gcd
      Src: /src/libgcrypt/tests/rsacvt.c:221,1
    - Dst: die
      Src: /src/libgcrypt/tests/rsacvt.c:222,1
    - Dst: gcry_mpi_gcd
      Src: /src/libgcrypt/tests/rsacvt.c:225,1
    - Dst: gcry_mpi_div
      Src: /src/libgcrypt/tests/rsacvt.c:226,1
    - Dst: gcry_mpi_invm
      Src: /src/libgcrypt/tests/rsacvt.c:229,1
    - Dst: gcry_mpi_mod
      Src: /src/libgcrypt/tests/rsacvt.c:232,1
    - Dst: gcry_mpi_mod
      Src: /src/libgcrypt/tests/rsacvt.c:233,1
    - Dst: gcry_mpi_invm
      Src: /src/libgcrypt/tests/rsacvt.c:238,1
    - Dst: gcry_mpi_invm
      Src: /src/libgcrypt/tests/rsacvt.c:240,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/rsacvt.c:242,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/rsacvt.c:243,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/rsacvt.c:244,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/rsacvt.c:247,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/rsacvt.c:248,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/rsacvt.c:250,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/rsacvt.c:251,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/rsacvt.c:252,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/rsacvt.c:254,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/rsacvt.c:257,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/rsacvt.c:258,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/rsacvt.c:259,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/rsacvt.c:262,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/rsacvt.c:263,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/rsacvt.c:264,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/rsacvt.c:265,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/rsacvt.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 3
    argNames:
    - rsa_p
    - rsa_q
    - rsa_e
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 267
    functionName: compute_missing
    functionSourceFile: /src/libgcrypt/tests/rsacvt.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_sub_ui
    - gcry_mpi_new
    - gcry_mpi_gcd
    - fprintf
    - gcry_mpi_div
    - print_mpi_line
    - gcry_mpi_swap
    - gcry_mpi_mod
    - die
    - gcry_mpi_invm
    - gcry_mpi_mul
    - gcry_mpi_cmp
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void compute_missing (gcry_mpi_t rsa_p, gcry_mpi_t rsa_q, gcry_mpi_t
      rsa_e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/tests/rsacvt.c:276,1
    - Dst: exit
      Src: /src/libgcrypt/tests/rsacvt.c:278,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/rsacvt.c:280,1
    - Dst: exit
      Src: /src/libgcrypt/tests/rsacvt.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - show_help
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 293
    functionName: usage
    functionSourceFile: /src/libgcrypt/tests/rsacvt.c
    functionUses: 68
    functionsReached:
    - exit
    - fputs
    linkageType: ''
    returnType: void
    signature: void usage (int show_help)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/rsacvt.c:311,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/rsacvt.c:316,1
    - Dst: usage
      Src: /src/libgcrypt/tests/rsacvt.c:318,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/rsacvt.c:320,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/rsacvt.c:322,1
    - Dst: printf
      Src: /src/libgcrypt/tests/rsacvt.c:323,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/rsacvt.c:323,1
    - Dst: exit
      Src: /src/libgcrypt/tests/rsacvt.c:324,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/rsacvt.c:326,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/rsacvt.c:331,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/rsacvt.c:336,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/rsacvt.c:341,1
    - Dst: usage
      Src: /src/libgcrypt/tests/rsacvt.c:349,1
    - Dst: signal
      Src: /src/libgcrypt/tests/rsacvt.c:352,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/rsacvt.c:355,1
    - Dst: fopen
      Src: /src/libgcrypt/tests/rsacvt.c:357,1
    - Dst: die
      Src: /src/libgcrypt/tests/rsacvt.c:359,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/rsacvt.c:359,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/rsacvt.c:364,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/rsacvt.c:365,1
    - Dst: die
      Src: /src/libgcrypt/tests/rsacvt.c:366,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/rsacvt.c:367,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/rsacvt.c:368,1
    - Dst: read_hexmpi_line
      Src: /src/libgcrypt/tests/rsacvt.c:372,1
    - Dst: die
      Src: /src/libgcrypt/tests/rsacvt.c:376,1
    - Dst: read_hexmpi_line
      Src: /src/libgcrypt/tests/rsacvt.c:377,1
    - Dst: die
      Src: /src/libgcrypt/tests/rsacvt.c:379,1
    - Dst: read_hexmpi_line
      Src: /src/libgcrypt/tests/rsacvt.c:380,1
    - Dst: die
      Src: /src/libgcrypt/tests/rsacvt.c:382,1
    - Dst: skip_to_empty_line
      Src: /src/libgcrypt/tests/rsacvt.c:383,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/rsacvt.c:386,1
    - Dst: compute_missing
      Src: /src/libgcrypt/tests/rsacvt.c:388,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/rsacvt.c:390,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/rsacvt.c:391,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/rsacvt.c:392,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 77
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 399
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/rsacvt.c
    functionUses: 11
    functionsReached:
    - printf
    - gcry_check_version
    - exit
    - die
    - compute_missing
    - strcmp
    - skip_to_empty_line
    - signal
    - fputs
    - fopen
    - usage
    - xgcry_control
    - strerror
    - putchar
    - read_hexmpi_line
    - gcry_mpi_release
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/t-dsa.c:46,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-dsa.c:47,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-dsa.c:49,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/t-dsa.c:50,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/t-dsa.c:51,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-dsa.c:52,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-dsa.c:53,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/t-dsa.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: show_note
    functionSourceFile: /src/libgcrypt/tests/t-dsa.c
    functionUses: 0
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - getenv
    - fprintf
    - va_start
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: void show_note (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/t-dsa.c:66,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-dsa.c:69,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-dsa.c:69,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-dsa.c:69,1
    - Dst: strcpy
      Src: /src/libgcrypt/tests/t-dsa.c:70,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/t-dsa.c:71,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/t-dsa.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: prepend_srcdir
    functionSourceFile: /src/libgcrypt/tests/t-dsa.c
    functionUses: 9
    functionsReached:
    - strlen
    - getenv
    - xmalloc
    - strcpy
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      prepend_srcdir (const char *fname)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/libgcrypt/tests/t-dsa.c:87,1
    - Dst: feof
      Src: /src/libgcrypt/tests/t-dsa.c:89,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-dsa.c:91,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-dsa.c:91,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-dsa.c:94,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-dsa.c:96,1
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/t-dsa.c:98,1
    - Dst: isspace
      Src: /src/libgcrypt/tests/t-dsa.c:98,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-dsa.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - fp
    - lineno
    argTypes:
    - FILE*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 105
    functionName: read_textline
    functionSourceFile: /src/libgcrypt/tests/t-dsa.c
    functionUses: 3
    functionsReached:
    - my_isascii
    - feof
    - strchr
    - isspace
    - xstrdup
    - die
    - fgets
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      read_textline (FILE *fp, int *lineno)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:119,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-dsa.c:122,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:125,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-dsa.c:128,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-dsa.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - buffer
    - line
    - lineno
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: parse_annotation
    functionSourceFile: /src/libgcrypt/tests/t-dsa.c
    functionUses: 0
    functionsReached:
    - fail
    - strlen
    - strchr
    - xfree
    - xstrdup
    linkageType: ''
    returnType: void
    signature: void parse_annotation (char **buffer, const char *line, int lineno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:139,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-dsa.c:142,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:145,1
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/t-dsa.c:148,1
    - Dst: isspace
      Src: /src/libgcrypt/tests/t-dsa.c:148,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-dsa.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buffer
    - line
    - lineno
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: copy_data
    functionSourceFile: /src/libgcrypt/tests/t-dsa.c
    functionUses: 2
    functionsReached:
    - my_isascii
    - fail
    - strchr
    - xfree
    - isspace
    - xstrdup
    linkageType: ''
    returnType: void
    signature: void copy_data (char **buffer, const char *line, int lineno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-dsa.c:166,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-dsa.c:166,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-dsa.c:170,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-dsa.c:170,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:172,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/t-dsa.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: hex2buffer
    functionSourceFile: /src/libgcrypt/tests/t-dsa.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - strlen
    - xmalloc
    - xfree
    - xtoi_2
    linkageType: ''
    returnType: void
    signature: 'void *

      hex2buffer (const char *string, size_t *r_length)'
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-dsa.c:213,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-dsa.c:215,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-dsa.c:217,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-dsa.c:219,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-dsa.c:221,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-dsa.c:223,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:227,1
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/t-dsa.c:232,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:235,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-dsa.c:235,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-dsa.c:239,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:241,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-dsa.c:245,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:247,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-dsa.c:251,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:253,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-dsa.c:257,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:259,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-dsa.c:263,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:265,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-dsa.c:270,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:279,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-dsa.c:280,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-dsa.c:284,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:292,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-dsa.c:293,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:297,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:298,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:299,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:300,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:301,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-dsa.c:304,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:306,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/t-dsa.c:311,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:312,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-dsa.c:315,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:317,1
    - Dst: gcry_pk_random_override_new
      Src: /src/libgcrypt/tests/t-dsa.c:322,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:325,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-dsa.c:326,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:330,1
    - Dst: gcry_pk_hash_sign
      Src: /src/libgcrypt/tests/t-dsa.c:335,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-dsa.c:341,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:344,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-dsa.c:344,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-dsa.c:351,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-dsa.c:355,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-dsa.c:358,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-dsa.c:360,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-dsa.c:367,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgcrypt/tests/t-dsa.c:370,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-dsa.c:371,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-dsa.c:372,1
    - Dst: gcry_sexp_nth_data
      Src: /src/libgcrypt/tests/t-dsa.c:376,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/t-dsa.c:378,1
    - Dst: memset
      Src: /src/libgcrypt/tests/t-dsa.c:381,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/t-dsa.c:382,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-dsa.c:384,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-dsa.c:386,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-dsa.c:393,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgcrypt/tests/t-dsa.c:396,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-dsa.c:397,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-dsa.c:398,1
    - Dst: gcry_sexp_nth_data
      Src: /src/libgcrypt/tests/t-dsa.c:402,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/t-dsa.c:404,1
    - Dst: memset
      Src: /src/libgcrypt/tests/t-dsa.c:407,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/t-dsa.c:408,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-dsa.c:410,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-dsa.c:414,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-dsa.c:416,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-dsa.c:420,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-dsa.c:422,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-dsa.c:426,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-dsa.c:428,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-dsa.c:428,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:430,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-dsa.c:432,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-dsa.c:433,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-dsa.c:434,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-dsa.c:435,1
    - Dst: gcry_pk_hash_verify
      Src: /src/libgcrypt/tests/t-dsa.c:440,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:442,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-dsa.c:443,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-dsa.c:447,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-dsa.c:448,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-dsa.c:449,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-dsa.c:450,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/t-dsa.c:452,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:453,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:454,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:455,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:456,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:457,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:458,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:459,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:460,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:461,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 187
    argCount: 10
    argNames:
    - sha_alg
    - p
    - q
    - g
    - x
    - y
    - msg
    - k
    - r
    - s
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 462
    functionName: one_test_sexp
    functionSourceFile: /src/libgcrypt/tests/t-dsa.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_find_token
    - xmalloc
    - gcry_md_close
    - memcpy
    - show_note
    - gcry_pk_hash_verify
    - gcry_ctx_release
    - gcry_sexp_release
    - gcry_sexp_build
    - gcry_md_open
    - gpg_error_from_syserror
    - info
    - strcmp
    - gcry_sexp_nth_data
    - gpg_strerror
    - xfree
    - memset
    - gcry_md_write
    - fail
    - snprintf
    - hex2buffer
    - gcry_pk_random_override_new
    - gcry_pk_hash_sign
    linkageType: ''
    returnType: void
    signature: "void one_test_sexp (const char *sha_alg,\n               const char
      *p, const char *q, const char *g,\n               const char *x, const char
      *y,\n               const char *msg, const char *k,\n               const char
      *r, const char *s)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-dsa.c:475,1
    - Dst: fopen
      Src: /src/libgcrypt/tests/t-dsa.c:477,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-dsa.c:479,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-dsa.c:479,1
    - Dst: read_textline
      Src: /src/libgcrypt/tests/t-dsa.c:485,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-dsa.c:487,1
    - Dst: parse_annotation
      Src: /src/libgcrypt/tests/t-dsa.c:488,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-dsa.c:489,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-dsa.c:490,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-dsa.c:491,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-dsa.c:492,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-dsa.c:493,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-dsa.c:494,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-dsa.c:495,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-dsa.c:496,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-dsa.c:497,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-dsa.c:498,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-dsa.c:499,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-dsa.c:500,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-dsa.c:501,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-dsa.c:502,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-dsa.c:503,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-dsa.c:504,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-dsa.c:505,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-dsa.c:506,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:508,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:510,1
    - Dst: one_test_sexp
      Src: /src/libgcrypt/tests/t-dsa.c:513,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-dsa.c:516,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:517,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:518,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:519,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:520,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:521,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:522,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:526,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:527,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:528,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:529,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:530,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:531,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:532,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:533,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:534,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:535,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-dsa.c:538,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-dsa.c:540,1
    - Dst: fclose
      Src: /src/libgcrypt/tests/t-dsa.c:542,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 66
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 543
    functionName: check_dsa
    functionSourceFile: /src/libgcrypt/tests/t-dsa.c
    functionUses: 0
    functionsReached:
    - fail
    - show_note
    - fclose
    - read_textline
    - info
    - copy_data
    - one_test_sexp
    - xfree
    - fopen
    - die
    - parse_annotation
    - strncmp
    - strerror
    linkageType: ''
    returnType: void
    signature: void check_dsa (const char *fname)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-dsa.c:558,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-dsa.c:563,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-dsa.c:565,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-dsa.c:572,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-dsa.c:574,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-dsa.c:579,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-dsa.c:585,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-dsa.c:590,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:595,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-dsa.c:596,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-dsa.c:600,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-dsa.c:601,1
    - Dst: prepend_srcdir
      Src: /src/libgcrypt/tests/t-dsa.c:606,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-dsa.c:610,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-dsa.c:611,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-dsa.c:612,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-dsa.c:614,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-dsa.c:615,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-dsa.c:616,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/t-dsa.c:618,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/t-dsa.c:621,1
    - Dst: check_dsa
      Src: /src/libgcrypt/tests/t-dsa.c:622,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/t-dsa.c:623,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-dsa.c:625,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-dsa.c:627,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/t-dsa.c:628,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 630
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-dsa.c
    functionUses: 11
    functionsReached:
    - elapsed_time
    - start_timer
    - check_dsa
    - gcry_check_version
    - exit
    - info
    - strcmp
    - prepend_srcdir
    - xfree
    - fputs
    - xstrdup
    - die
    - xgcry_control
    - gcry_fips_mode_active
    - strncmp
    - stop_timer
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetProcessTimes
      Src: /src/libgcrypt/tests/stopwatch.h:44,1
    - Dst: GetCurrentProcess
      Src: /src/libgcrypt/tests/stopwatch.h:44,1
    - Dst: times
      Src: /src/libgcrypt/tests/stopwatch.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: start_timer
    functionSourceFile: /src/libgcrypt/tests/stopwatch.h
    functionUses: 1
    functionsReached:
    - GetCurrentProcess
    - times
    - GetProcessTimes
    linkageType: ''
    returnType: void
    signature: void start_timer (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetProcessTimes
      Src: /src/libgcrypt/tests/stopwatch.h:60,1
    - Dst: GetCurrentProcess
      Src: /src/libgcrypt/tests/stopwatch.h:60,1
    - Dst: times
      Src: /src/libgcrypt/tests/stopwatch.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: stop_timer
    functionSourceFile: /src/libgcrypt/tests/stopwatch.h
    functionUses: 1
    functionsReached:
    - GetCurrentProcess
    - times
    - GetProcessTimes
    linkageType: ''
    returnType: void
    signature: void stop_timer (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libgcrypt/tests/stopwatch.h:88,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/stopwatch.h:90,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/stopwatch.h:93,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/stopwatch.h:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - divisor
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 101
    functionName: elapsed_time
    functionSourceFile: /src/libgcrypt/tests/stopwatch.h
    functionUses: 2
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      elapsed_time (unsigned int divisor)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: BUG
    functionSourceFile: /src/libgcrypt/tests/testapi.c
    functionUses: 125
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUG()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/testapi.c:56,1
    - Dst: BUG
      Src: /src/libgcrypt/tests/testapi.c:57,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/testapi.c:58,1
    - Dst: BUG
      Src: /src/libgcrypt/tests/testapi.c:59,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/testapi.c:60,1
    - Dst: BUG
      Src: /src/libgcrypt/tests/testapi.c:61,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/testapi.c:64,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/testapi.c:67,1
    - Dst: gcry_sexp_dump
      Src: /src/libgcrypt/tests/testapi.c:68,1
    - Dst: gcry_sexp_cdr
      Src: /src/libgcrypt/tests/testapi.c:70,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/testapi.c:71,1
    - Dst: gcry_sexp_dump
      Src: /src/libgcrypt/tests/testapi.c:72,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/testapi.c:73,1
    - Dst: gcry_pk_get_nbits
      Src: /src/libgcrypt/tests/testapi.c:75,1
    - Dst: printf
      Src: /src/libgcrypt/tests/testapi.c:76,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/testapi.c:77,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/testapi.c:78,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/testapi.c:79,1
    - Dst: printf
      Src: /src/libgcrypt/tests/testapi.c:80,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/testapi.c:81,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/testapi.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 83
    functionName: test_sexp
    functionSourceFile: /src/libgcrypt/tests/testapi.c
    functionUses: 1
    functionsReached:
    - gcry_free
    - printf
    - gcry_sexp_dump
    - gcry_sexp_cdr
    - gcry_xmalloc
    - BUG
    - fprintf
    - fputs
    - gcry_sexp_release
    - gcry_sexp_sprint
    - gcry_pk_get_nbits
    - gcry_sexp_build
    - gcry_mpi_scan
    linkageType: ''
    returnType: void
    signature: void test_sexp ( int argc, char **argv )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/testapi.c:95,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/testapi.c:96,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/testapi.c:97,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/testapi.c:99,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/testapi.c:99,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/testapi.c:102,1
    - Dst: gcry_sexp_dump
      Src: /src/libgcrypt/tests/testapi.c:103,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/testapi.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 105
    functionName: test_genkey
    functionSourceFile: /src/libgcrypt/tests/testapi.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - gcry_sexp_dump
    - fprintf
    - gpg_strerror
    - xgcry_control
    - gcry_sexp_release
    - gcry_sexp_build
    linkageType: ''
    returnType: void
    signature: void test_genkey ( int argc, char **argv )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/testapi.c:114,1
    - Dst: printf
      Src: /src/libgcrypt/tests/testapi.c:115,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/testapi.c:117,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/testapi.c:119,1
    - Dst: printf
      Src: /src/libgcrypt/tests/testapi.c:120,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/testapi.c:122,1
    - Dst: test_sexp
      Src: /src/libgcrypt/tests/testapi.c:123,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/testapi.c:124,1
    - Dst: test_genkey
      Src: /src/libgcrypt/tests/testapi.c:125,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/testapi.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 132
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/testapi.c
    functionUses: 11
    functionsReached:
    - test_genkey
    - printf
    - gcry_check_version
    - test_sexp
    - strcmp
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main( int argc, char **argv )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/t-rsa-15.c:46,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-rsa-15.c:47,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-rsa-15.c:49,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/t-rsa-15.c:50,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/t-rsa-15.c:51,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-rsa-15.c:52,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-rsa-15.c:53,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/t-rsa-15.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: show_note
    functionSourceFile: /src/libgcrypt/tests/t-rsa-15.c
    functionUses: 2
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - getenv
    - fprintf
    - va_start
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: void show_note (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/t-rsa-15.c:66,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-rsa-15.c:69,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-rsa-15.c:69,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-rsa-15.c:69,1
    - Dst: strcpy
      Src: /src/libgcrypt/tests/t-rsa-15.c:70,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/t-rsa-15.c:71,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/t-rsa-15.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: prepend_srcdir
    functionSourceFile: /src/libgcrypt/tests/t-rsa-15.c
    functionUses: 10
    functionsReached:
    - strlen
    - getenv
    - xmalloc
    - strcpy
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      prepend_srcdir (const char *fname)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/libgcrypt/tests/t-rsa-15.c:87,1
    - Dst: feof
      Src: /src/libgcrypt/tests/t-rsa-15.c:89,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-rsa-15.c:91,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-rsa-15.c:91,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-rsa-15.c:94,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-rsa-15.c:96,1
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/t-rsa-15.c:98,1
    - Dst: isspace
      Src: /src/libgcrypt/tests/t-rsa-15.c:98,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-rsa-15.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - fp
    - lineno
    argTypes:
    - FILE*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 105
    functionName: read_textline
    functionSourceFile: /src/libgcrypt/tests/t-rsa-15.c
    functionUses: 4
    functionsReached:
    - my_isascii
    - feof
    - strchr
    - isspace
    - xstrdup
    - die
    - fgets
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      read_textline (FILE *fp, int *lineno)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:115,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-rsa-15.c:118,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-15.c:121,1
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/t-rsa-15.c:124,1
    - Dst: isspace
      Src: /src/libgcrypt/tests/t-rsa-15.c:124,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-rsa-15.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buffer
    - line
    - lineno
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: copy_data
    functionSourceFile: /src/libgcrypt/tests/t-rsa-15.c
    functionUses: 3
    functionsReached:
    - my_isascii
    - fail
    - strchr
    - xfree
    - isspace
    - xstrdup
    linkageType: ''
    returnType: void
    signature: void copy_data (char **buffer, const char *line, int lineno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-rsa-15.c:142,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-rsa-15.c:142,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-rsa-15.c:146,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-rsa-15.c:146,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:148,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/t-rsa-15.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: hex2buffer
    functionSourceFile: /src/libgcrypt/tests/t-rsa-15.c
    functionUses: 1
    functionsReached:
    - hexdigitp
    - strlen
    - xmalloc
    - xfree
    - xtoi_2
    linkageType: ''
    returnType: void
    signature: 'void *

      hex2buffer (const char *string, size_t *r_length)'
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-rsa-15.c:181,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:183,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:185,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:187,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:189,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:191,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:193,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-15.c:197,1
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/t-rsa-15.c:202,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-15.c:205,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-rsa-15.c:205,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-rsa-15.c:209,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-15.c:211,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-rsa-15.c:215,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-15.c:217,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-rsa-15.c:221,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-15.c:223,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-rsa-15.c:228,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-15.c:235,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-rsa-15.c:236,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-rsa-15.c:240,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-15.c:246,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-rsa-15.c:247,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:251,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:252,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:253,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-rsa-15.c:256,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-15.c:258,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/t-rsa-15.c:263,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:264,1
    - Dst: gcry_pk_hash_sign
      Src: /src/libgcrypt/tests/t-rsa-15.c:268,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-15.c:271,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-rsa-15.c:271,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-rsa-15.c:276,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-rsa-15.c:280,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-rsa-15.c:283,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-rsa-15.c:285,1
    - Dst: gcry_sexp_nth_buffer
      Src: /src/libgcrypt/tests/t-rsa-15.c:288,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-rsa-15.c:289,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-rsa-15.c:293,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/t-rsa-15.c:295,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-rsa-15.c:299,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:300,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-15.c:302,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-rsa-15.c:304,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-rsa-15.c:305,1
    - Dst: gcry_pk_hash_verify
      Src: /src/libgcrypt/tests/t-rsa-15.c:310,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-15.c:312,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-rsa-15.c:313,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-rsa-15.c:317,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-rsa-15.c:318,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-rsa-15.c:319,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/t-rsa-15.c:321,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:322,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:323,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:324,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:325,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:326,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 113
    argCount: 6
    argNames:
    - n
    - e
    - d
    - sha_alg
    - msg
    - s
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 327
    functionName: one_test_sexp
    functionSourceFile: /src/libgcrypt/tests/t-rsa-15.c
    functionUses: 1
    functionsReached:
    - gcry_md_write
    - gcry_md_open
    - fail
    - gcry_sexp_nth_buffer
    - snprintf
    - hex2buffer
    - info
    - gcry_sexp_find_token
    - gcry_xmalloc
    - gcry_pk_hash_verify
    - strcmp
    - gpg_strerror
    - xfree
    - gcry_sexp_release
    - gcry_md_close
    - gcry_sexp_build
    - gcry_pk_hash_sign
    linkageType: ''
    returnType: void
    signature: "void one_test_sexp (const char *n, const char *e, const char *d,\n
      \              const char *sha_alg, const char *msg, const char *s)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-rsa-15.c:339,1
    - Dst: fopen
      Src: /src/libgcrypt/tests/t-rsa-15.c:341,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-rsa-15.c:343,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-rsa-15.c:343,1
    - Dst: read_textline
      Src: /src/libgcrypt/tests/t-rsa-15.c:348,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:350,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:353,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-rsa-15.c:354,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:355,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-rsa-15.c:356,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:357,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-rsa-15.c:358,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:359,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-rsa-15.c:360,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:361,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-rsa-15.c:362,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:363,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-rsa-15.c:364,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-15.c:366,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:368,1
    - Dst: one_test_sexp
      Src: /src/libgcrypt/tests/t-rsa-15.c:371,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-rsa-15.c:374,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:375,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:376,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:377,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:381,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:382,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:383,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:384,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:385,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:386,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-15.c:389,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-rsa-15.c:391,1
    - Dst: fclose
      Src: /src/libgcrypt/tests/t-rsa-15.c:393,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 394
    functionName: check_rsa_15
    functionSourceFile: /src/libgcrypt/tests/t-rsa-15.c
    functionUses: 0
    functionsReached:
    - fail
    - show_note
    - fclose
    - read_textline
    - info
    - copy_data
    - one_test_sexp
    - xfree
    - fopen
    - die
    - strncmp
    - strerror
    linkageType: ''
    returnType: void
    signature: void check_rsa_15 (const char *fname)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:409,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:414,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-rsa-15.c:416,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-rsa-15.c:423,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:425,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:430,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:436,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:441,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:446,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-rsa-15.c:447,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-rsa-15.c:451,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-rsa-15.c:452,1
    - Dst: prepend_srcdir
      Src: /src/libgcrypt/tests/t-rsa-15.c:457,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-rsa-15.c:461,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-rsa-15.c:462,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-rsa-15.c:463,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-rsa-15.c:465,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-rsa-15.c:466,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-rsa-15.c:467,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/t-rsa-15.c:469,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/t-rsa-15.c:472,1
    - Dst: check_rsa_15
      Src: /src/libgcrypt/tests/t-rsa-15.c:473,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/t-rsa-15.c:474,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-15.c:476,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-rsa-15.c:478,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/t-rsa-15.c:479,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 481
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-rsa-15.c
    functionUses: 11
    functionsReached:
    - elapsed_time
    - start_timer
    - gcry_check_version
    - exit
    - check_rsa_15
    - info
    - strcmp
    - prepend_srcdir
    - xfree
    - fputs
    - xstrdup
    - die
    - xgcry_control
    - gcry_fips_mode_active
    - strncmp
    - stop_timer
    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: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: my_isascii
    functionSourceFile: /src/libgcrypt/tests/fipsrngdrv.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_isascii(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: digitp
    functionSourceFile: /src/libgcrypt/tests/fipsrngdrv.c
    functionUses: 134
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digitp(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: hexdigitp
    functionSourceFile: /src/libgcrypt/tests/fipsrngdrv.c
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hexdigitp(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: xtoi_1
    functionSourceFile: /src/libgcrypt/tests/fipsrngdrv.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: xtoi_2
    functionSourceFile: /src/libgcrypt/tests/fipsrngdrv.c
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgcrypt/tests/fipsrngdrv.c:52,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/fipsrngdrv.c:53,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/fipsrngdrv.c:54,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/fipsrngdrv.c:55,1
    - Dst: exit
      Src: /src/libgcrypt/tests/fipsrngdrv.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: die
    functionSourceFile: /src/libgcrypt/tests/fipsrngdrv.c
    functionUses: 39
    functionsReached:
    - va_end
    - vfprintf
    - exit
    - fputs
    - va_start
    linkageType: ''
    returnType: void
    signature: void die (const char *format, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/fipsrngdrv.c:74,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/fipsrngdrv.c:74,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/fipsrngdrv.c:76,1
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/fipsrngdrv.c:79,1
    - Dst: isspace
      Src: /src/libgcrypt/tests/fipsrngdrv.c:79,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - string
    - buffer
    - length
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: hex2bin
    functionSourceFile: /src/libgcrypt/tests/fipsrngdrv.c
    functionUses: 21
    functionsReached:
    - hexdigitp
    - my_isascii
    - xtoi_2
    - isspace
    linkageType: ''
    returnType: int
    signature: int hex2bin (const char *string, void *buffer, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/fipsrngdrv.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - r_context
    - flags
    - key
    - keylen
    - seed
    - seedlen
    - dt
    - dtlen
    argTypes:
    - void**
    - unsigned int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: init_external_test
    functionSourceFile: /src/libgcrypt/tests/fipsrngdrv.c
    functionUses: 0
    functionsReached:
    - gcry_control
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t init_external_test (void **r_context,\n                    unsigned
      int flags,\n                    const void *key, size_t keylen,\n                    const
      void *seed, size_t seedlen,\n                    const void *dt, size_t dtlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/fipsrngdrv.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context
    - buffer
    - buflen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: run_external_test
    functionSourceFile: /src/libgcrypt/tests/fipsrngdrv.c
    functionUses: 0
    functionsReached:
    - gcry_control
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t run_external_test (void *context, void *buffer, size_t
      buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/fipsrngdrv.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: deinit_external_test
    functionSourceFile: /src/libgcrypt/tests/fipsrngdrv.c
    functionUses: 0
    functionsReached:
    - xgcry_control
    linkageType: ''
    returnType: void
    signature: void deinit_external_test (void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libgcrypt/tests/fipsrngdrv.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: print_buffer
    functionSourceFile: /src/libgcrypt/tests/fipsrngdrv.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_buffer (const unsigned char *buffer, size_t length)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsrngdrv.c:148,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsrngdrv.c:153,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/fipsrngdrv.c:155,1
    - Dst: exit
      Src: /src/libgcrypt/tests/fipsrngdrv.c:158,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsrngdrv.c:160,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsrngdrv.c:165,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsrngdrv.c:170,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsrngdrv.c:175,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsrngdrv.c:180,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/fipsrngdrv.c:189,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/fipsrngdrv.c:190,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/fipsrngdrv.c:191,1
    - Dst: hex2bin
      Src: /src/libgcrypt/tests/fipsrngdrv.c:195,1
    - Dst: hex2bin
      Src: /src/libgcrypt/tests/fipsrngdrv.c:196,1
    - Dst: hex2bin
      Src: /src/libgcrypt/tests/fipsrngdrv.c:197,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsrngdrv.c:198,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsrngdrv.c:201,1
    - Dst: signal
      Src: /src/libgcrypt/tests/fipsrngdrv.c:205,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/fipsrngdrv.c:209,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/fipsrngdrv.c:211,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/fipsrngdrv.c:213,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/fipsrngdrv.c:214,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsrngdrv.c:215,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/fipsrngdrv.c:216,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/fipsrngdrv.c:217,1
    - Dst: init_external_test
      Src: /src/libgcrypt/tests/fipsrngdrv.c:221,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsrngdrv.c:223,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsrngdrv.c:223,1
    - Dst: run_external_test
      Src: /src/libgcrypt/tests/fipsrngdrv.c:229,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsrngdrv.c:231,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsrngdrv.c:231,1
    - Dst: fwrite
      Src: /src/libgcrypt/tests/fipsrngdrv.c:234,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/fipsrngdrv.c:237,1
    - Dst: print_buffer
      Src: /src/libgcrypt/tests/fipsrngdrv.c:241,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/fipsrngdrv.c:242,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsrngdrv.c:251,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/fipsrngdrv.c:251,1
    - Dst: putc
      Src: /src/libgcrypt/tests/fipsrngdrv.c:256,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/fipsrngdrv.c:257,1
    - Dst: putc
      Src: /src/libgcrypt/tests/fipsrngdrv.c:263,1
    - Dst: deinit_external_test
      Src: /src/libgcrypt/tests/fipsrngdrv.c:265,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/fipsrngdrv.c:268,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 95
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 271
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/fipsrngdrv.c
    functionUses: 11
    functionsReached:
    - deinit_external_test
    - exit
    - xgcry_control
    - memcpy
    - putc
    - fwrite
    - fflush
    - hex2bin
    - die
    - gcry_check_version
    - run_external_test
    - strcmp
    - gpg_strerror
    - signal
    - putchar
    - init_external_test
    - fputs
    - print_buffer
    - strerror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - buflen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: dummy_consumer
    functionSourceFile: /src/libgcrypt/tests/t-kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_consumer (volatile char *buffer, size_t buflen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: start_timer
      Src: /src/libgcrypt/tests/t-kdf.c:57,1
    - Dst: gcry_kdf_derive
      Src: /src/libgcrypt/tests/t-kdf.c:60,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-kdf.c:60,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-kdf.c:65,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kdf.c:65,1
    - Dst: dummy_consumer
      Src: /src/libgcrypt/tests/t-kdf.c:66,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/t-kdf.c:68,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/t-kdf.c:70,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/t-kdf.c:73,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/t-kdf.c:78,1
    - Dst: printf
      Src: /src/libgcrypt/tests/t-kdf.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - s2kcount
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 86
    functionName: bench_s2k
    functionSourceFile: /src/libgcrypt/tests/t-kdf.c
    functionUses: 0
    functionsReached:
    - elapsed_time
    - start_timer
    - gcry_kdf_derive
    - atoi
    - strlen
    - printf
    - gpg_strerror
    - die
    - dummy_consumer
    - stop_timer
    linkageType: ''
    returnType: void
    signature: void bench_s2k (unsigned long s2kcount)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-kdf.c:858,1
    - Dst: gcry_md_test_algo
      Src: /src/libgcrypt/tests/t-kdf.c:865,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:868,1
    - Dst: assert
      Src: /src/libgcrypt/tests/t-kdf.c:869,1
    - Dst: gcry_kdf_derive
      Src: /src/libgcrypt/tests/t-kdf.c:870,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:875,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kdf.c:875,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-kdf.c:876,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:878,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kdf.c:879,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:881,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kdf.c:882,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tv[tvidx].dklen <= sizeof outbuf)
      pos:
        line_end: 868
        line_start: 868
        source_file: /src/libgcrypt/tests/t-kdf.c
    constantsTouched: []
    func_position:
      end: 885
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 885
    functionName: check_openpgp
    functionSourceFile: /src/libgcrypt/tests/t-kdf.c
    functionUses: 0
    functionsReached:
    - gcry_kdf_derive
    - fail
    - assert
    - DIM
    - fprintf
    - memcmp
    - gpg_strerror
    - gcry_md_test_algo
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: void check_openpgp (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-kdf.c:1106,1
    - Dst: gcry_md_test_algo
      Src: /src/libgcrypt/tests/t-kdf.c:1110,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:1113,1
    - Dst: assert
      Src: /src/libgcrypt/tests/t-kdf.c:1115,1
    - Dst: gcry_kdf_derive
      Src: /src/libgcrypt/tests/t-kdf.c:1116,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1123,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kdf.c:1124,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:1132,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1137,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kdf.c:1137,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-kdf.c:1139,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1141,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kdf.c:1142,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:1144,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kdf.c:1145,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tv[tvidx].dklen <= sizeof outbuf)
      pos:
        line_end: 1114
        line_start: 1114
        source_file: /src/libgcrypt/tests/t-kdf.c
    constantsTouched: []
    func_position:
      end: 1148
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 1148
    functionName: check_pbkdf2
    functionSourceFile: /src/libgcrypt/tests/t-kdf.c
    functionUses: 0
    functionsReached:
    - gcry_kdf_derive
    - fail
    - assert
    - DIM
    - fprintf
    - memcmp
    - gpg_strerror
    - gcry_md_test_algo
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: void check_pbkdf2 (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-kdf.c:1222,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:1227,1
    - Dst: assert
      Src: /src/libgcrypt/tests/t-kdf.c:1228,1
    - Dst: gcry_kdf_derive
      Src: /src/libgcrypt/tests/t-kdf.c:1229,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:1239,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1244,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kdf.c:1244,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-kdf.c:1246,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1248,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kdf.c:1249,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:1251,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kdf.c:1252,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tv[tvidx].dklen <= sizeof outbuf)
      pos:
        line_end: 1227
        line_start: 1227
        source_file: /src/libgcrypt/tests/t-kdf.c
    constantsTouched: []
    func_position:
      end: 1255
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1255
    functionName: check_scrypt
    functionSourceFile: /src/libgcrypt/tests/t-kdf.c
    functionUses: 0
    functionsReached:
    - gcry_kdf_derive
    - fail
    - assert
    - DIM
    - fprintf
    - memcmp
    - gpg_strerror
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: void check_scrypt (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct job_thread_param*::job
      Src: /src/libgcrypt/tests/t-kdf.c:1281,1
    - Dst: pthread_exit
      Src: /src/libgcrypt/tests/t-kdf.c:1282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1283
    functionName: job_thread
    functionSourceFile: /src/libgcrypt/tests/t-kdf.c
    functionUses: 0
    functionsReached:
    - pthread_exit
    - struct job_thread_param*::job
    linkageType: ''
    returnType: void
    signature: 'void *

      job_thread (void *p)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgcrypt/tests/t-kdf.c:1297,1
    - Dst: pthread_join
      Src: /src/libgcrypt/tests/t-kdf.c:1299,1
    - Dst: pthread_create
      Src: /src/libgcrypt/tests/t-kdf.c:1308,1
    - Dst: wait_all_jobs_completion
      Src: /src/libgcrypt/tests/t-kdf.c:1313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - jobs_context
    - job
    - job_priv
    argTypes:
    - void*
    - gcry_kdf_job_fn_t
    - void*
    assertStmts:
    - condition: (ctx->num_threads_running == MAX_THREADS)
      pos:
        line_end: 1296
        line_start: 1296
        source_file: /src/libgcrypt/tests/t-kdf.c
    constantsTouched: []
    func_position:
      end: 1322
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1322
    functionName: pthread_jobs_launch_job
    functionSourceFile: /src/libgcrypt/tests/t-kdf.c
    functionUses: 0
    functionsReached:
    - wait_all_jobs_completion
    - pthread_join
    - pthread_create
    - assert
    linkageType: ''
    returnType: int
    signature: "int pthread_jobs_launch_job (void *jobs_context, gcry_kdf_job_fn_t
      job,\n\t\t\t void *job_priv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_join
      Src: /src/libgcrypt/tests/t-kdf.c:1334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - jobs_context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1345
    functionName: wait_all_jobs_completion
    functionSourceFile: /src/libgcrypt/tests/t-kdf.c
    functionUses: 1
    functionsReached:
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int wait_all_jobs_completion (void *jobs_context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_kdf_open
      Src: /src/libgcrypt/tests/t-kdf.c:1369,1
    - Dst: memset
      Src: /src/libgcrypt/tests/t-kdf.c:1386,1
    - Dst: pthread_attr_init
      Src: /src/libgcrypt/tests/t-kdf.c:1389,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgcrypt/tests/t-kdf.c:1391,1
    - Dst: gcry_kdf_close
      Src: /src/libgcrypt/tests/t-kdf.c:1392,1
    - Dst: pthread_attr_setdetachstate
      Src: /src/libgcrypt/tests/t-kdf.c:1396,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgcrypt/tests/t-kdf.c:1399,1
    - Dst: pthread_attr_destroy
      Src: /src/libgcrypt/tests/t-kdf.c:1400,1
    - Dst: gcry_kdf_close
      Src: /src/libgcrypt/tests/t-kdf.c:1401,1
    - Dst: gcry_kdf_compute
      Src: /src/libgcrypt/tests/t-kdf.c:1405,1
    - Dst: pthread_attr_destroy
      Src: /src/libgcrypt/tests/t-kdf.c:1407,1
    - Dst: gcry_kdf_compute
      Src: /src/libgcrypt/tests/t-kdf.c:1412,1
    - Dst: gcry_kdf_final
      Src: /src/libgcrypt/tests/t-kdf.c:1416,1
    - Dst: gcry_kdf_close
      Src: /src/libgcrypt/tests/t-kdf.c:1418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 15
    argNames:
    - parallel
    - algo
    - subalgo
    - params
    - paramslen
    - pass
    - passlen
    - salt
    - saltlen
    - key
    - keylen
    - ad
    - adlen
    - outlen
    - out
    argTypes:
    - int
    - int
    - int
    - unsigned long*
    - unsigned int
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1348
    functionDepth: 1
    functionLinenumber: 1348
    functionLinenumberEnd: 1420
    functionName: my_kdf_derive
    functionSourceFile: /src/libgcrypt/tests/t-kdf.c
    functionUses: 0
    functionsReached:
    - gcry_kdf_close
    - gcry_kdf_open
    - gpg_error_from_syserror
    - pthread_attr_destroy
    - memset
    - pthread_attr_setdetachstate
    - pthread_attr_init
    - gcry_kdf_compute
    - gcry_kdf_final
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t my_kdf_derive (int parallel,\n               int algo,
      int subalgo,\n               const unsigned long *params, unsigned int paramslen,\n
      \              const char *pass, size_t passlen,\n               const char
      *salt, size_t saltlen,\n               const char *key, size_t keylen,\n               const
      char *ad, size_t adlen,\n               size_t outlen, unsigned char *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-kdf.c:1519,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:1522,1
    - Dst: my_kdf_derive
      Src: /src/libgcrypt/tests/t-kdf.c:1524,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1532,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kdf.c:1532,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-kdf.c:1533,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1535,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kdf.c:1536,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:1538,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kdf.c:1539,1
    - Dst: my_kdf_derive
      Src: /src/libgcrypt/tests/t-kdf.c:1543,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1551,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kdf.c:1551,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-kdf.c:1552,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1554,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kdf.c:1555,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:1557,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kdf.c:1558,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1422
    functionDepth: 2
    functionLinenumber: 1422
    functionLinenumberEnd: 1562
    functionName: check_argon2
    functionSourceFile: /src/libgcrypt/tests/t-kdf.c
    functionUses: 0
    functionsReached:
    - fail
    - DIM
    - fprintf
    - memcmp
    - gpg_strerror
    - fputs
    - my_kdf_derive
    - putc
    linkageType: ''
    returnType: void
    signature: void check_argon2 (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-kdf.c:1630,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:1633,1
    - Dst: my_kdf_derive
      Src: /src/libgcrypt/tests/t-kdf.c:1635,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1641,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kdf.c:1641,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-kdf.c:1642,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1644,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kdf.c:1645,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:1647,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kdf.c:1648,1
    - Dst: my_kdf_derive
      Src: /src/libgcrypt/tests/t-kdf.c:1652,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1658,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kdf.c:1658,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-kdf.c:1659,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1661,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kdf.c:1662,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:1664,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kdf.c:1665,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1565
    functionDepth: 2
    functionLinenumber: 1565
    functionLinenumberEnd: 1669
    functionName: check_balloon
    functionSourceFile: /src/libgcrypt/tests/t-kdf.c
    functionUses: 0
    functionsReached:
    - fail
    - DIM
    - fprintf
    - memcmp
    - gpg_strerror
    - fputs
    - my_kdf_derive
    - putc
    linkageType: ''
    returnType: void
    signature: void check_balloon (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-kdf.c:1751,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:1754,1
    - Dst: my_kdf_derive
      Src: /src/libgcrypt/tests/t-kdf.c:1756,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1763,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kdf.c:1763,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-kdf.c:1764,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1766,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kdf.c:1767,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:1769,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kdf.c:1770,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1672
    functionDepth: 2
    functionLinenumber: 1672
    functionLinenumberEnd: 1773
    functionName: check_onestep_kdf
    functionSourceFile: /src/libgcrypt/tests/t-kdf.c
    functionUses: 0
    functionsReached:
    - fail
    - DIM
    - fprintf
    - memcmp
    - gpg_strerror
    - fputs
    - my_kdf_derive
    - putc
    linkageType: ''
    returnType: void
    signature: void check_onestep_kdf (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-kdf.c:1866,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:1869,1
    - Dst: my_kdf_derive
      Src: /src/libgcrypt/tests/t-kdf.c:1871,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1879,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kdf.c:1879,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-kdf.c:1880,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1882,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kdf.c:1883,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:1885,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kdf.c:1886,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1776
    functionDepth: 2
    functionLinenumber: 1776
    functionLinenumberEnd: 1889
    functionName: check_hkdf
    functionSourceFile: /src/libgcrypt/tests/t-kdf.c
    functionUses: 0
    functionsReached:
    - fail
    - DIM
    - fprintf
    - memcmp
    - gpg_strerror
    - fputs
    - my_kdf_derive
    - putc
    linkageType: ''
    returnType: void
    signature: void check_hkdf (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/t-kdf.c:1915,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kdf.c:1918,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/t-kdf.c:1919,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1934,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1940,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kdf.c:1945,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/t-kdf.c:1947,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1891
    functionDepth: 1
    functionLinenumber: 1891
    functionLinenumberEnd: 1950
    functionName: check_fips_indicators
    functionSourceFile: /src/libgcrypt/tests/t-kdf.c
    functionUses: 0
    functionsReached:
    - fprintf
    - gcry_strerror
    - gcry_control
    - fail
    linkageType: ''
    returnType: void
    signature: void check_fips_indicators (void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-kdf.c:1965,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-kdf.c:1970,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kdf.c:1972,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-kdf.c:1978,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-kdf.c:1980,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-kdf.c:1985,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-kdf.c:1991,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-kdf.c:1996,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-kdf.c:1997,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-kdf.c:2003,1
    - Dst: strtoul
      Src: /src/libgcrypt/tests/t-kdf.c:2004,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-kdf.c:2006,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-kdf.c:2009,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-kdf.c:2010,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/t-kdf.c:2012,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-kdf.c:2016,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-kdf.c:2018,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-kdf.c:2020,1
    - Dst: bench_s2k
      Src: /src/libgcrypt/tests/t-kdf.c:2023,1
    - Dst: check_openpgp
      Src: /src/libgcrypt/tests/t-kdf.c:2026,1
    - Dst: check_pbkdf2
      Src: /src/libgcrypt/tests/t-kdf.c:2027,1
    - Dst: check_scrypt
      Src: /src/libgcrypt/tests/t-kdf.c:2028,1
    - Dst: check_argon2
      Src: /src/libgcrypt/tests/t-kdf.c:2029,1
    - Dst: check_balloon
      Src: /src/libgcrypt/tests/t-kdf.c:2030,1
    - Dst: check_onestep_kdf
      Src: /src/libgcrypt/tests/t-kdf.c:2031,1
    - Dst: check_hkdf
      Src: /src/libgcrypt/tests/t-kdf.c:2032,1
    - Dst: check_fips_indicators
      Src: /src/libgcrypt/tests/t-kdf.c:2034,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2038
      start: 1953
    functionDepth: 3
    functionLinenumber: 1953
    functionLinenumberEnd: 2038
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-kdf.c
    functionUses: 11
    functionsReached:
    - check_onestep_kdf
    - check_fips_indicators
    - check_openpgp
    - check_pbkdf2
    - gcry_check_version
    - exit
    - check_hkdf
    - strcmp
    - strtoul
    - fputs
    - gcry_fips_mode_active
    - die
    - xgcry_control
    - bench_s2k
    - strncmp
    - check_balloon
    - check_scrypt
    - check_argon2
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/tests/pkbench.c:59,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/pkbench.c:60,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/pkbench.c:61,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/pkbench.c:63,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pkbench.c:64,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkbench.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - prefix
    - a
    argTypes:
    - char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: show_sexp
    functionSourceFile: /src/libgcrypt/tests/pkbench.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - gcry_xmalloc
    - fprintf
    - fputs
    - gcry_sexp_sprint
    linkageType: ''
    returnType: void
    signature: void show_sexp (const char *prefix, gcry_sexp_t a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libgcrypt/tests/pkbench.c:77,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkbench.c:80,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/pkbench.c:80,1
    - Dst: fstat
      Src: /src/libgcrypt/tests/pkbench.c:84,1
    - Dst: fileno
      Src: /src/libgcrypt/tests/pkbench.c:84,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkbench.c:86,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/pkbench.c:86,1
    - Dst: fclose
      Src: /src/libgcrypt/tests/pkbench.c:87,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/pkbench.c:92,1
    - Dst: fread
      Src: /src/libgcrypt/tests/pkbench.c:93,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkbench.c:95,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/pkbench.c:95,1
    - Dst: fclose
      Src: /src/libgcrypt/tests/pkbench.c:96,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkbench.c:97,1
    - Dst: fclose
      Src: /src/libgcrypt/tests/pkbench.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - fname
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 105
    functionName: read_file
    functionSourceFile: /src/libgcrypt/tests/pkbench.c
    functionUses: 7
    functionsReached:
    - gcry_free
    - fail
    - fclose
    - gcry_xmalloc
    - fileno
    - fstat
    - fopen
    - fread
    - strerror
    linkageType: ''
    returnType: void
    signature: 'void *

      read_file (const char *fname, size_t *r_length)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock
      Src: /src/libgcrypt/tests/pkbench.c:119,1
    - Dst: times
      Src: /src/libgcrypt/tests/pkbench.c:121,1
    - Dst: clock
      Src: /src/libgcrypt/tests/pkbench.c:131,1
    - Dst: times
      Src: /src/libgcrypt/tests/pkbench.c:133,1
    - Dst: printf
      Src: /src/libgcrypt/tests/pkbench.c:138,1
    - Dst: printf
      Src: /src/libgcrypt/tests/pkbench.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - worker
    - context
    argTypes:
    - work_t
    - context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 143
    functionName: benchmark
    functionSourceFile: /src/libgcrypt/tests/pkbench.c
    functionUses: 0
    functionsReached:
    - times
    - printf
    - clock
    linkageType: ''
    returnType: void
    signature: void benchmark (work_t worker, context_t context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_encrypt
      Src: /src/libgcrypt/tests/pkbench.c:152,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/pkbench.c:154,1
    - Dst: assert
      Src: /src/libgcrypt/tests/pkbench.c:161,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkbench.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - context
    - final
    argTypes:
    - context_t
    - unsigned int
    assertStmts:
    - condition: (! err)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/libgcrypt/tests/pkbench.c
    constantsTouched: []
    func_position:
      end: 170
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 170
    functionName: work_encrypt
    functionSourceFile: /src/libgcrypt/tests/pkbench.c
    functionUses: 0
    functionsReached:
    - gcry_pk_encrypt
    - gpg_err_code
    - gcry_sexp_release
    - assert
    linkageType: ''
    returnType: int
    signature: int work_encrypt (context_t context, unsigned int final)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_decrypt
      Src: /src/libgcrypt/tests/pkbench.c:184,1
    - Dst: assert
      Src: /src/libgcrypt/tests/pkbench.c:187,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkbench.c:190,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkbench.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - context
    - final
    argTypes:
    - context_t
    - unsigned int
    assertStmts:
    - condition: (! err)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/libgcrypt/tests/pkbench.c
    constantsTouched: []
    func_position:
      end: 197
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 197
    functionName: work_decrypt
    functionSourceFile: /src/libgcrypt/tests/pkbench.c
    functionUses: 0
    functionsReached:
    - gcry_pk_decrypt
    - gcry_sexp_release
    - assert
    linkageType: ''
    returnType: int
    signature: int work_decrypt (context_t context, unsigned int final)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/pkbench.c:206,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/pkbench.c:208,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkbench.c:215,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkbench.c:215,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkbench.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - context
    - final
    argTypes:
    - context_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 227
    functionName: work_sign
    functionSourceFile: /src/libgcrypt/tests/pkbench.c
    functionUses: 0
    functionsReached:
    - fail
    - gcry_pk_sign
    - gpg_strerror
    - gpg_err_code
    - gcry_sexp_release
    linkageType: ''
    returnType: int
    signature: int work_sign (context_t context, unsigned int final)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/pkbench.c:238,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkbench.c:243,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkbench.c:244,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkbench.c:245,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkbench.c:245,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkbench.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - context
    - final
    argTypes:
    - context_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 255
    functionName: work_verify
    functionSourceFile: /src/libgcrypt/tests/pkbench.c
    functionUses: 0
    functionsReached:
    - fail
    - show_sexp
    - gpg_strerror
    - gcry_sexp_release
    - gcry_pk_verify
    linkageType: ''
    returnType: int
    signature: int work_verify (context_t context, unsigned int final)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libgcrypt/tests/pkbench.c:272,1
    - Dst: benchmark
      Src: /src/libgcrypt/tests/pkbench.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 275
    functionName: process_key_pair
    functionSourceFile: /src/libgcrypt/tests/pkbench.c
    functionUses: 0
    functionsReached:
    - benchmark
    - printf
    linkageType: ''
    returnType: void
    signature: void process_key_pair (context_t context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_get_nbits
      Src: /src/libgcrypt/tests/pkbench.c:285,1
    - Dst: assert
      Src: /src/libgcrypt/tests/pkbench.c:286,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/pkbench.c:288,1
    - Dst: assert
      Src: /src/libgcrypt/tests/pkbench.c:289,1
    - Dst: gcry_mpi_randomize
      Src: /src/libgcrypt/tests/pkbench.c:291,1
    - Dst: gcry_mpi_clear_bit
      Src: /src/libgcrypt/tests/pkbench.c:292,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkbench.c:293,1
    - Dst: assert
      Src: /src/libgcrypt/tests/pkbench.c:296,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/pkbench.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - context
    - key_secret
    - key_public
    argTypes:
    - context_t
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts:
    - condition: (data)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/libgcrypt/tests/pkbench.c
    - condition: (key_size)
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/libgcrypt/tests/pkbench.c
    - condition: (! err)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/libgcrypt/tests/pkbench.c
    constantsTouched: []
    func_position:
      end: 304
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 304
    functionName: context_init
    functionSourceFile: /src/libgcrypt/tests/pkbench.c
    functionUses: 0
    functionsReached:
    - assert
    - gcry_mpi_clear_bit
    - gcry_mpi_randomize
    - gcry_pk_get_nbits
    - gcry_sexp_build
    - gcry_mpi_new
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void context_init (context_t context, gcry_sexp_t key_secret, gcry_sexp_t
      key_public)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkbench.c:309,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkbench.c:310,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkbench.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 312
    functionName: context_destroy
    functionSourceFile: /src/libgcrypt/tests/pkbench.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: void context_destroy (context_t context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/libgcrypt/tests/pkbench.c:325,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkbench.c:327,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/pkbench.c:329,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkbench.c:332,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pkbench.c:334,1
    - Dst: assert
      Src: /src/libgcrypt/tests/pkbench.c:335,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pkbench.c:336,1
    - Dst: assert
      Src: /src/libgcrypt/tests/pkbench.c:337,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkbench.c:339,1
    - Dst: context_init
      Src: /src/libgcrypt/tests/pkbench.c:341,1
    - Dst: printf
      Src: /src/libgcrypt/tests/pkbench.c:343,1
    - Dst: process_key_pair
      Src: /src/libgcrypt/tests/pkbench.c:344,1
    - Dst: printf
      Src: /src/libgcrypt/tests/pkbench.c:345,1
    - Dst: context_destroy
      Src: /src/libgcrypt/tests/pkbench.c:347,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkbench.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - key_pair_file
    argTypes:
    - char*
    assertStmts:
    - condition: (key_secret_sexp)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/libgcrypt/tests/pkbench.c
    - condition: (key_public_sexp)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/libgcrypt/tests/pkbench.c
    constantsTouched: []
    func_position:
      end: 349
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 349
    functionName: process_key_pair_file
    functionSourceFile: /src/libgcrypt/tests/pkbench.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - printf
    - assert
    - gcry_sexp_find_token
    - read_file
    - gcry_sexp_sscan
    - gcry_sexp_release
    - die
    - context_init
    - process_key_pair
    - context_destroy
    linkageType: ''
    returnType: void
    signature: void process_key_pair_file (const char *key_pair_file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/libgcrypt/tests/pkbench.c:361,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkbench.c:362,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkbench.c:366,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkbench.c:370,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkbench.c:370,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/pkbench.c:372,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkbench.c:375,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkbench.c:376,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkbench.c:376,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/pkbench.c:379,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/pkbench.c:381,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/pkbench.c:383,1
    - Dst: printf
      Src: /src/libgcrypt/tests/pkbench.c:386,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkbench.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - algorithm
    - key_size
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: generate_key
    functionSourceFile: /src/libgcrypt/tests/pkbench.c
    functionUses: 1
    functionsReached:
    - gcry_free
    - printf
    - gcry_pk_genkey
    - show_sexp
    - isdigit
    - gcry_xmalloc
    - gpg_strerror
    - gcry_sexp_sprint
    - die
    - gcry_sexp_build
    linkageType: ''
    returnType: void
    signature: void generate_key (const char *algorithm, const char *key_size)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/pkbench.c:405,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/pkbench.c:410,1
    - Dst: puts
      Src: /src/libgcrypt/tests/pkbench.c:412,1
    - Dst: exit
      Src: /src/libgcrypt/tests/pkbench.c:420,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/pkbench.c:422,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/pkbench.c:427,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/pkbench.c:432,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/pkbench.c:437,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/pkbench.c:444,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/pkbench.c:447,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/pkbench.c:449,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/pkbench.c:450,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pkbench.c:452,1
    - Dst: exit
      Src: /src/libgcrypt/tests/pkbench.c:453,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/pkbench.c:459,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/pkbench.c:462,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/pkbench.c:463,1
    - Dst: generate_key
      Src: /src/libgcrypt/tests/pkbench.c:468,1
    - Dst: process_key_pair_file
      Src: /src/libgcrypt/tests/pkbench.c:475,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pkbench.c:479,1
    - Dst: exit
      Src: /src/libgcrypt/tests/pkbench.c:481,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 392
    functionDepth: 3
    functionLinenumber: 392
    functionLinenumberEnd: 485
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/pkbench.c
    functionUses: 11
    functionsReached:
    - gcry_check_version
    - process_key_pair_file
    - exit
    - generate_key
    - strcmp
    - puts
    - fprintf
    - xgcry_control
    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: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: STR
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(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: STR2
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR2(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/libgcrypt/tests/bench-slope.c:117,1
    - Dst: assert
      Src: /src/libgcrypt/tests/bench-slope.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct nsec_time*
    assertStmts:
    - condition: (ok)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/libgcrypt/tests/bench-slope.c
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: get_nsec_time
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - QueryPerformanceCounter
    - assert
    linkageType: ''
    returnType: void
    signature: void get_nsec_time (struct nsec_time *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceFrequency
      Src: /src/libgcrypt/tests/bench-slope.c:133,1
    - Dst: assert
      Src: /src/libgcrypt/tests/bench-slope.c:134,1
    - Dst: assert
      Src: /src/libgcrypt/tests/bench-slope.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - struct nsec_time*
    - struct nsec_time*
    assertStmts:
    - condition: (nsecs_per_count > 0.0)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/libgcrypt/tests/bench-slope.c
    - condition: (ok)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/libgcrypt/tests/bench-slope.c
    constantsTouched: []
    func_position:
      end: 146
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 146
    functionName: get_time_nsec_diff
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - QueryPerformanceFrequency
    - assert
    linkageType: ''
    returnType: double
    signature: double get_time_nsec_diff (struct nsec_time *start, struct nsec_time
      *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/libgcrypt/tests/bench-slope.c:158,1
    - Dst: assert
      Src: /src/libgcrypt/tests/bench-slope.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct nsec_time*
    assertStmts:
    - condition: (err == 0)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/libgcrypt/tests/bench-slope.c
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: get_nsec_time
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    - assert
    linkageType: ''
    returnType: void
    signature: void get_nsec_time (struct nsec_time *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - struct nsec_time*
    - struct nsec_time*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 177
    functionName: get_time_nsec_diff
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double get_time_nsec_diff (struct nsec_time *start, struct nsec_time
      *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/libgcrypt/tests/bench-slope.c:189,1
    - Dst: assert
      Src: /src/libgcrypt/tests/bench-slope.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct nsec_time*
    assertStmts:
    - condition: (err == 0)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/libgcrypt/tests/bench-slope.c
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: get_nsec_time
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    - assert
    linkageType: ''
    returnType: void
    signature: void get_nsec_time (struct nsec_time *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - struct nsec_time*
    - struct nsec_time*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: get_time_nsec_diff
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double get_time_nsec_diff (struct nsec_time *start, struct nsec_time
      *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libgcrypt/tests/bench-slope.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 277
    functionName: safe_div
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: double
    signature: double safe_div (double x, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_x
      Src: /src/libgcrypt/tests/bench-slope.c:301,1
    - Dst: safe_div
      Src: /src/libgcrypt/tests/bench-slope.c:311,1
    - Dst: safe_div
      Src: /src/libgcrypt/tests/bench-slope.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - get_x_priv
    - y_points
    - npoints
    - overhead
    argTypes:
    - void*
    - double[]
    - unsigned int
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 320
    functionName: get_slope
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - safe_div
    - get_x
    linkageType: ''
    returnType: double
    signature: "double get_slope (double (*const get_x) (unsigned int idx, void *priv),\n\t
      \  void *get_x_priv, double y_points[], unsigned int npoints,\n\t   double *overhead)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - idx
    - priv
    argTypes:
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: get_bench_obj_point_x
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double get_bench_obj_point_x (unsigned int idx, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 341
    functionName: get_num_measurements
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_num_measurements (struct bench_obj *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 357
    functionName: double_cmp
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int double_cmp (const void *_a, const void *_b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_nsec_time
      Src: /src/libgcrypt/tests/bench-slope.c:376,1
    - Dst: do_run
      Src: /src/libgcrypt/tests/bench-slope.c:379,1
    - Dst: get_nsec_time
      Src: /src/libgcrypt/tests/bench-slope.c:381,1
    - Dst: get_time_nsec_diff
      Src: /src/libgcrypt/tests/bench-slope.c:383,1
    - Dst: qsort
      Src: /src/libgcrypt/tests/bench-slope.c:387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - obj
    - buffer
    - buflen
    - measurement_raw
    - loop_iterations
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    - double*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 396
    functionName: do_bench_obj_measurement
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - get_nsec_time
    - get_time_nsec_diff
    - qsort
    - do_run
    linkageType: ''
    returnType: double
    signature: "double do_bench_obj_measurement (struct bench_obj *obj, void *buffer,
      size_t buflen,\n\t\t\t  double *measurement_raw,\n\t\t\t  unsigned int loop_iterations)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_bench_obj_measurement
      Src: /src/libgcrypt/tests/bench-slope.c:417,1
    - Dst: do_bench_obj_measurement
      Src: /src/libgcrypt/tests/bench-slope.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - obj
    - buffer
    - measurement_raw
    argTypes:
    - struct bench_obj*
    - void*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 431
    functionName: adjust_loop_iterations_to_timer_accuracy
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - do_bench_obj_measurement
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int adjust_loop_iterations_to_timer_accuracy (struct bench_obj
      *obj, void *buffer,\n\t\t\t\t\t  double *measurement_raw)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: struct bench_obj*::ops::initialize
      Src: /src/libgcrypt/tests/bench-slope.c:448,1
    - Dst: get_num_measurements
      Src: /src/libgcrypt/tests/bench-slope.c:452,1
    - Dst: calloc
      Src: /src/libgcrypt/tests/bench-slope.c:453,1
    - Dst: calloc
      Src: /src/libgcrypt/tests/bench-slope.c:458,1
    - Dst: malloc
      Src: /src/libgcrypt/tests/bench-slope.c:466,1
    - Dst: adjust_loop_iterations_to_timer_accuracy
      Src: /src/libgcrypt/tests/bench-slope.c:479,1
    - Dst: do_bench_obj_measurement
      Src: /src/libgcrypt/tests/bench-slope.c:487,1
    - Dst: assert
      Src: /src/libgcrypt/tests/bench-slope.c:492,1
    - Dst: get_slope
      Src: /src/libgcrypt/tests/bench-slope.c:495,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:498,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:499,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:500,1
    - Dst: struct bench_obj*::ops::finalize
      Src: /src/libgcrypt/tests/bench-slope.c:501,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:507,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:509,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:511,1
    - Dst: struct bench_obj*::ops::finalize
      Src: /src/libgcrypt/tests/bench-slope.c:512,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts:
    - condition: (midx == num_measurements)
      pos:
        line_end: 491
        line_start: 491
        source_file: /src/libgcrypt/tests/bench-slope.c
    constantsTouched: []
    func_position:
      end: 515
      start: 435
    functionDepth: 3
    functionLinenumber: 435
    functionLinenumberEnd: 515
    functionName: slope_benchmark
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - get_num_measurements
    - assert
    - get_slope
    - calloc
    - struct bench_obj*::ops::finalize
    - malloc
    - struct bench_obj*::ops::initialize
    - do_bench_obj_measurement
    - adjust_loop_iterations_to_timer_accuracy
    - free
    linkageType: ''
    returnType: double
    signature: double slope_benchmark (struct bench_obj *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 530
    functionName: auto_ghz_init
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int auto_ghz_init (struct bench_obj *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: auto_ghz_free
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void auto_ghz_free (struct bench_obj *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 609
    functionName: auto_ghz_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void auto_ghz_bench (struct bench_obj *obj, void *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: slope_benchmark
      Src: /src/libgcrypt/tests/bench-slope.c:627,1
    - Dst: safe_div
      Src: /src/libgcrypt/tests/bench-slope.c:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 618
    functionDepth: 4
    functionLinenumber: 618
    functionLinenumberEnd: 634
    functionName: get_auto_ghz
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - safe_div
    - slope_benchmark
    linkageType: ''
    returnType: double
    signature: double get_auto_ghz (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slope_benchmark
      Src: /src/libgcrypt/tests/bench-slope.c:649,1
    - Dst: get_auto_ghz
      Src: /src/libgcrypt/tests/bench-slope.c:677,1
    - Dst: slope_benchmark
      Src: /src/libgcrypt/tests/bench-slope.c:679,1
    - Dst: get_auto_ghz
      Src: /src/libgcrypt/tests/bench-slope.c:681,1
    - Dst: safe_div
      Src: /src/libgcrypt/tests/bench-slope.c:683,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 637
    functionDepth: 5
    functionLinenumber: 637
    functionLinenumberEnd: 696
    functionName: do_slope_benchmark
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - safe_div
    - get_auto_ghz
    - slope_benchmark
    linkageType: ''
    returnType: double
    signature: double do_slope_benchmark (struct bench_obj *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libgcrypt/tests/bench-slope.c:715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - out
    - outlen
    - value
    argTypes:
    - char*
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 716
    functionName: double_to_str
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void double_to_str (char *out, size_t outlen, double value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libgcrypt/tests/bench-slope.c:728,1
    - Dst: double_to_str
      Src: /src/libgcrypt/tests/bench-slope.c:732,1
    - Dst: double_to_str
      Src: /src/libgcrypt/tests/bench-slope.c:738,1
    - Dst: double_to_str
      Src: /src/libgcrypt/tests/bench-slope.c:739,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/bench-slope.c:742,1
    - Dst: safe_div
      Src: /src/libgcrypt/tests/bench-slope.c:748,1
    - Dst: double_to_str
      Src: /src/libgcrypt/tests/bench-slope.c:749,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:754,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:766,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - nsecs_per_byte
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 774
    functionName: bench_print_result_csv
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - printf
    - snprintf
    - double_to_str
    - strcpy
    - safe_div
    linkageType: ''
    returnType: void
    signature: void bench_print_result_csv (double nsecs_per_byte)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libgcrypt/tests/bench-slope.c:786,1
    - Dst: double_to_str
      Src: /src/libgcrypt/tests/bench-slope.c:788,1
    - Dst: double_to_str
      Src: /src/libgcrypt/tests/bench-slope.c:794,1
    - Dst: double_to_str
      Src: /src/libgcrypt/tests/bench-slope.c:795,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/bench-slope.c:798,1
    - Dst: strcpy
      Src: /src/libgcrypt/tests/bench-slope.c:804,1
    - Dst: strcpy
      Src: /src/libgcrypt/tests/bench-slope.c:805,1
    - Dst: safe_div
      Src: /src/libgcrypt/tests/bench-slope.c:809,1
    - Dst: double_to_str
      Src: /src/libgcrypt/tests/bench-slope.c:810,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:814,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:819,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - nsecs_per_byte
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 822
    functionName: bench_print_result_std
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - printf
    - snprintf
    - double_to_str
    - strcpy
    - safe_div
    linkageType: ''
    returnType: void
    signature: void bench_print_result_std (double nsecs_per_byte)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bench_print_result_csv
      Src: /src/libgcrypt/tests/bench-slope.c:828,1
    - Dst: bench_print_result_std
      Src: /src/libgcrypt/tests/bench-slope.c:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - nsecs_per_byte
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 824
    functionDepth: 2
    functionLinenumber: 824
    functionLinenumberEnd: 831
    functionName: bench_print_result
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_print_result_csv
    - bench_print_result_std
    linkageType: ''
    returnType: void
    signature: void bench_print_result (double nsecs_per_byte)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libgcrypt/tests/bench-slope.c:841,1
    - Dst: strcpy
      Src: /src/libgcrypt/tests/bench-slope.c:842,1
    - Dst: double_to_str
      Src: /src/libgcrypt/tests/bench-slope.c:844,1
    - Dst: double_to_str
      Src: /src/libgcrypt/tests/bench-slope.c:850,1
    - Dst: double_to_str
      Src: /src/libgcrypt/tests/bench-slope.c:851,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:857,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:865,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:875,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:877,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - nsecs_per_iteration
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 879
    functionName: bench_print_result_nsec_per_iteration
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - double_to_str
    - strcpy
    - printf
    linkageType: ''
    returnType: void
    signature: void bench_print_result_nsec_per_iteration (double nsecs_per_iteration)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:886,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 889
    functionName: bench_print_result_skipped
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void bench_print_result_skipped (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/bench-slope.c:896,1
    - Dst: gcry_xstrdup
      Src: /src/libgcrypt/tests/bench-slope.c:897,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - section_name
    - print_name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 901
    functionName: bench_print_section
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - printf
    - gcry_xstrdup
    linkageType: ''
    returnType: void
    signature: void bench_print_section (const char *section_name, const char *print_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/bench-slope.c:908,1
    - Dst: gcry_xstrdup
      Src: /src/libgcrypt/tests/bench-slope.c:909,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:914,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:916,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:919,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:922,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - algo_width
    - algo_name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 925
    functionName: bench_print_header
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - printf
    - gcry_xstrdup
    linkageType: ''
    returnType: void
    signature: void bench_print_header (int algo_width, const char *algo_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/bench-slope.c:932,1
    - Dst: gcry_xstrdup
      Src: /src/libgcrypt/tests/bench-slope.c:933,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:938,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:940,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:943,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:945,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - algo_width
    - algo_name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 947
    functionName: bench_print_header_nsec_per_iteration
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - printf
    - gcry_xstrdup
    linkageType: ''
    returnType: void
    signature: void bench_print_header_nsec_per_iteration (int algo_width, const char
      *algo_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/bench-slope.c:954,1
    - Dst: gcry_xstrdup
      Src: /src/libgcrypt/tests/bench-slope.c:955,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:960,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - algo_width
    - algo_name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 964
    functionName: bench_print_algo
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - printf
    - gcry_xstrdup
    linkageType: ''
    returnType: void
    signature: void bench_print_algo (int algo_width, const char *algo_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/bench-slope.c:971,1
    - Dst: gcry_xstrdup
      Src: /src/libgcrypt/tests/bench-slope.c:972,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:977,1
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:979,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/bench-slope.c:980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - width
    - mode_name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 982
    functionName: bench_print_mode
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - printf
    - gcry_xstrdup
    - fflush
    linkageType: ''
    returnType: void
    signature: void bench_print_mode (int width, const char *mode_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libgcrypt/tests/bench-slope.c:988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - algo_width
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 989
    functionName: bench_print_footer
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void bench_print_footer (int algo_width)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libgcrypt/tests/bench-slope.c:1010,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1013,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1014,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1015,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/bench-slope.c:1021,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:1022,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1025,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1026,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1027,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1028,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - hd
    - keylen
    argTypes:
    - gcry_cipher_hd_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1030
    functionName: bench_set_cipher_key
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_setkey
    - exit
    - fprintf
    - gpg_strerror
    - malloc
    - gcry_cipher_close
    - free
    linkageType: ''
    returnType: void
    signature: void bench_set_cipher_key (gcry_cipher_hd_t hd, int keylen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/bench-slope.c:1045,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1048,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/bench-slope.c:1049,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1050,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/bench-slope.c:1053,1
    - Dst: bench_set_cipher_key
      Src: /src/libgcrypt/tests/bench-slope.c:1061,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1065,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/bench-slope.c:1066,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1067,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1068,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1033
    functionDepth: 2
    functionLinenumber: 1033
    functionLinenumberEnd: 1074
    functionName: bench_encrypt_init
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_open
    - gcry_cipher_algo_name
    - exit
    - bench_set_cipher_key
    - fprintf
    - gcry_cipher_close
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: int
    signature: int bench_encrypt_init (struct bench_obj *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1082
    functionName: bench_encrypt_free
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void bench_encrypt_free (struct bench_obj *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_reset
      Src: /src/libgcrypt/tests/bench-slope.c:1090,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/bench-slope.c:1092,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1095,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1096,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1097,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1100
    functionName: bench_encrypt_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_reset
    - exit
    - fprintf
    - gcry_cipher_encrypt
    - gpg_strerror
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void bench_encrypt_do_bench (struct bench_obj *obj, void *buf, size_t
      buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_reset
      Src: /src/libgcrypt/tests/bench-slope.c:1108,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/bench-slope.c:1110,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1113,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1114,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1115,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1118
    functionName: bench_decrypt_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - gcry_cipher_reset
    - exit
    - fprintf
    - gpg_strerror
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void bench_decrypt_do_bench (struct bench_obj *obj, void *buf, size_t
      buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/bench-slope.c:1145,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1148,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/bench-slope.c:1149,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1150,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/bench-slope.c:1154,1
    - Dst: bench_set_cipher_key
      Src: /src/libgcrypt/tests/bench-slope.c:1157,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1161,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/bench-slope.c:1162,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1163,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1133
    functionDepth: 2
    functionLinenumber: 1133
    functionLinenumberEnd: 1170
    functionName: bench_xts_encrypt_init
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_open
    - gcry_cipher_algo_name
    - exit
    - bench_set_cipher_key
    - fprintf
    - gcry_cipher_close
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: int
    signature: int bench_xts_encrypt_init (struct bench_obj *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/bench-slope.c:1194,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/bench-slope.c:1201,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1204,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1205,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1206,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1207,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/bench-slope.c:1210,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1213,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1214,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1215,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1216,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/bench-slope.c:1219,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1222,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1223,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1224,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1227
    functionName: bench_ccm_encrypt_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_setiv
    - exit
    - fprintf
    - gcry_cipher_encrypt
    - gcry_cipher_gettag
    - gpg_strerror
    - gcry_cipher_ctl
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void bench_ccm_encrypt_do_bench (struct bench_obj *obj, void *buf,
      size_t buflen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/bench-slope.c:1238,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/bench-slope.c:1245,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1248,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1249,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1250,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1251,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/bench-slope.c:1254,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1257,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1258,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1259,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1260,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/bench-slope.c:1263,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/bench-slope.c:1264,1
    - Dst: gpg_error
      Src: /src/libgcrypt/tests/bench-slope.c:1265,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1268,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1269,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1270,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1229
    functionDepth: 1
    functionLinenumber: 1229
    functionLinenumberEnd: 1273
    functionName: bench_ccm_decrypt_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - gcry_cipher_setiv
    - exit
    - fprintf
    - gpg_error
    - gpg_strerror
    - gpg_err_code
    - gcry_cipher_ctl
    - gcry_cipher_checktag
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void bench_ccm_decrypt_do_bench (struct bench_obj *obj, void *buf,
      size_t buflen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/bench-slope.c:1286,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/bench-slope.c:1293,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1296,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1297,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1298,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1299,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/bench-slope.c:1302,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1305,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1306,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1307,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1308,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/bench-slope.c:1311,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1314,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1315,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1316,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1317,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/bench-slope.c:1320,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1323,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1324,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1325,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1328
    functionName: bench_ccm_authenticate_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_authenticate
    - gcry_cipher_setiv
    - exit
    - fprintf
    - gcry_cipher_encrypt
    - gcry_cipher_gettag
    - gpg_strerror
    - gcry_cipher_ctl
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: "void bench_ccm_authenticate_do_bench (struct bench_obj *obj, void
      *buf,\n\t\t\t\t size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_reset
      Src: /src/libgcrypt/tests/bench-slope.c:1357,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/bench-slope.c:1358,1
    - Dst: gcry_cipher_final
      Src: /src/libgcrypt/tests/bench-slope.c:1360,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/bench-slope.c:1361,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1364,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1365,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1366,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1367,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/bench-slope.c:1370,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1373,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1374,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1375,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - obj
    - buf
    - buflen
    - nonce
    - noncelen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1349
    functionDepth: 1
    functionLinenumber: 1349
    functionLinenumberEnd: 1378
    functionName: bench_aead_encrypt_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_setiv
    - gcry_cipher_reset
    - exit
    - fprintf
    - gcry_cipher_encrypt
    - gcry_cipher_gettag
    - gpg_strerror
    - gcry_cipher_final
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: "void bench_aead_encrypt_do_bench (struct bench_obj *obj, void *buf,
      size_t buflen,\n\t\t\t     const char *nonce, size_t noncelen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_reset
      Src: /src/libgcrypt/tests/bench-slope.c:1388,1
    - Dst: gcry_cipher_set_decryption_tag
      Src: /src/libgcrypt/tests/bench-slope.c:1389,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/bench-slope.c:1391,1
    - Dst: gcry_cipher_final
      Src: /src/libgcrypt/tests/bench-slope.c:1393,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/bench-slope.c:1394,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/bench-slope.c:1395,1
    - Dst: gpg_error
      Src: /src/libgcrypt/tests/bench-slope.c:1396,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1399,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1400,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1401,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1402,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/bench-slope.c:1405,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/bench-slope.c:1406,1
    - Dst: gpg_error
      Src: /src/libgcrypt/tests/bench-slope.c:1407,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1410,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1411,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1412,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - obj
    - buf
    - buflen
    - nonce
    - noncelen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1415
    functionName: bench_aead_decrypt_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - gcry_cipher_setiv
    - gcry_cipher_reset
    - exit
    - fprintf
    - gpg_error
    - gpg_err_code
    - gpg_strerror
    - gcry_cipher_close
    - gcry_cipher_checktag
    - gcry_cipher_set_decryption_tag
    - gcry_cipher_final
    linkageType: ''
    returnType: void
    signature: "void bench_aead_decrypt_do_bench (struct bench_obj *obj, void *buf,
      size_t buflen,\n\t\t\t     const char *nonce, size_t noncelen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_reset
      Src: /src/libgcrypt/tests/bench-slope.c:1427,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/bench-slope.c:1431,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1434,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1435,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1436,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1437,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/bench-slope.c:1441,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1444,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1445,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1446,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1447,1
    - Dst: gcry_cipher_final
      Src: /src/libgcrypt/tests/bench-slope.c:1450,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/bench-slope.c:1451,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1454,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1455,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1456,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1457,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/bench-slope.c:1460,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1463,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:1464,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/bench-slope.c:1465,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - obj
    - buf
    - buflen
    - nonce
    - noncelen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1417
    functionDepth: 1
    functionLinenumber: 1417
    functionLinenumberEnd: 1468
    functionName: bench_aead_authenticate_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_authenticate
    - gcry_cipher_setiv
    - gcry_cipher_reset
    - exit
    - fprintf
    - gcry_cipher_encrypt
    - gcry_cipher_gettag
    - gpg_strerror
    - gcry_cipher_final
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: "void bench_aead_authenticate_do_bench (struct bench_obj *obj, void
      *buf,\n\t\t\t\t  size_t buflen, const char *nonce,\n\t\t\t\t  size_t noncelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_aead_encrypt_do_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1471
    functionDepth: 2
    functionLinenumber: 1471
    functionLinenumberEnd: 1478
    functionName: bench_gcm_encrypt_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_aead_encrypt_do_bench
    linkageType: ''
    returnType: void
    signature: "void bench_gcm_encrypt_do_bench (struct bench_obj *obj, void *buf,\n\t\t\t
      \   size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_aead_decrypt_do_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1480
    functionDepth: 2
    functionLinenumber: 1480
    functionLinenumberEnd: 1487
    functionName: bench_gcm_decrypt_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_aead_decrypt_do_bench
    linkageType: ''
    returnType: void
    signature: "void bench_gcm_decrypt_do_bench (struct bench_obj *obj, void *buf,\n\t\t\t
      \   size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_aead_authenticate_do_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1489
    functionDepth: 2
    functionLinenumber: 1489
    functionLinenumberEnd: 1496
    functionName: bench_gcm_authenticate_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_aead_authenticate_do_bench
    linkageType: ''
    returnType: void
    signature: "void bench_gcm_authenticate_do_bench (struct bench_obj *obj, void
      *buf,\n\t\t\t\t size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_aead_encrypt_do_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1517
    functionDepth: 2
    functionLinenumber: 1517
    functionLinenumberEnd: 1525
    functionName: bench_ocb_encrypt_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_aead_encrypt_do_bench
    linkageType: ''
    returnType: void
    signature: "void bench_ocb_encrypt_do_bench (struct bench_obj *obj, void *buf,\n\t\t\t
      \   size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_aead_decrypt_do_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1527
    functionDepth: 2
    functionLinenumber: 1527
    functionLinenumberEnd: 1535
    functionName: bench_ocb_decrypt_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_aead_decrypt_do_bench
    linkageType: ''
    returnType: void
    signature: "void bench_ocb_decrypt_do_bench (struct bench_obj *obj, void *buf,\n\t\t\t
      \   size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_aead_authenticate_do_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1537
    functionDepth: 2
    functionLinenumber: 1537
    functionLinenumberEnd: 1545
    functionName: bench_ocb_authenticate_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_aead_authenticate_do_bench
    linkageType: ''
    returnType: void
    signature: "void bench_ocb_authenticate_do_bench (struct bench_obj *obj, void
      *buf,\n\t\t\t\t size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_aead_encrypt_do_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1566
    functionDepth: 2
    functionLinenumber: 1566
    functionLinenumberEnd: 1571
    functionName: bench_siv_encrypt_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_aead_encrypt_do_bench
    linkageType: ''
    returnType: void
    signature: "void bench_siv_encrypt_do_bench (struct bench_obj *obj, void *buf,\n\t\t\t
      \   size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_aead_decrypt_do_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1573
    functionDepth: 2
    functionLinenumber: 1573
    functionLinenumberEnd: 1578
    functionName: bench_siv_decrypt_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_aead_decrypt_do_bench
    linkageType: ''
    returnType: void
    signature: "void bench_siv_decrypt_do_bench (struct bench_obj *obj, void *buf,\n\t\t\t
      \   size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_aead_authenticate_do_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1580
    functionDepth: 2
    functionLinenumber: 1580
    functionLinenumberEnd: 1585
    functionName: bench_siv_authenticate_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_aead_authenticate_do_bench
    linkageType: ''
    returnType: void
    signature: "void bench_siv_authenticate_do_bench (struct bench_obj *obj, void
      *buf,\n\t\t\t\t size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_aead_encrypt_do_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1606
    functionDepth: 2
    functionLinenumber: 1606
    functionLinenumberEnd: 1613
    functionName: bench_gcm_siv_encrypt_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_aead_encrypt_do_bench
    linkageType: ''
    returnType: void
    signature: "void bench_gcm_siv_encrypt_do_bench (struct bench_obj *obj, void *buf,\n\t\t\t\tsize_t
      buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_aead_decrypt_do_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1615
    functionDepth: 2
    functionLinenumber: 1615
    functionLinenumberEnd: 1622
    functionName: bench_gcm_siv_decrypt_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_aead_decrypt_do_bench
    linkageType: ''
    returnType: void
    signature: "void bench_gcm_siv_decrypt_do_bench (struct bench_obj *obj, void *buf,\n\t\t\t\tsize_t
      buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_aead_authenticate_do_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1624
    functionDepth: 2
    functionLinenumber: 1624
    functionLinenumberEnd: 1631
    functionName: bench_gcm_siv_authenticate_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_aead_authenticate_do_bench
    linkageType: ''
    returnType: void
    signature: "void bench_gcm_siv_authenticate_do_bench (struct bench_obj *obj, void
      *buf,\n\t\t\t\t     size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_aead_encrypt_do_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1652
    functionDepth: 2
    functionLinenumber: 1652
    functionLinenumberEnd: 1660
    functionName: bench_eax_encrypt_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_aead_encrypt_do_bench
    linkageType: ''
    returnType: void
    signature: "void bench_eax_encrypt_do_bench (struct bench_obj *obj, void *buf,\n\t\t\t
      \   size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_aead_decrypt_do_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1662
    functionDepth: 2
    functionLinenumber: 1662
    functionLinenumberEnd: 1670
    functionName: bench_eax_decrypt_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_aead_decrypt_do_bench
    linkageType: ''
    returnType: void
    signature: "void bench_eax_decrypt_do_bench (struct bench_obj *obj, void *buf,\n\t\t\t
      \   size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_aead_authenticate_do_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1672
    functionDepth: 2
    functionLinenumber: 1672
    functionLinenumberEnd: 1680
    functionName: bench_eax_authenticate_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_aead_authenticate_do_bench
    linkageType: ''
    returnType: void
    signature: "void bench_eax_authenticate_do_bench (struct bench_obj *obj, void
      *buf,\n\t\t\t\t size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_aead_encrypt_do_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1700
    functionDepth: 2
    functionLinenumber: 1700
    functionLinenumberEnd: 1706
    functionName: bench_poly1305_encrypt_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_aead_encrypt_do_bench
    linkageType: ''
    returnType: void
    signature: "void bench_poly1305_encrypt_do_bench (struct bench_obj *obj, void
      *buf,\n\t\t\t\t size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_aead_decrypt_do_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1708
    functionDepth: 2
    functionLinenumber: 1708
    functionLinenumberEnd: 1714
    functionName: bench_poly1305_decrypt_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_aead_decrypt_do_bench
    linkageType: ''
    returnType: void
    signature: "void bench_poly1305_decrypt_do_bench (struct bench_obj *obj, void
      *buf,\n\t\t\t\t size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_aead_authenticate_do_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1716
    functionDepth: 2
    functionLinenumber: 1716
    functionLinenumberEnd: 1722
    functionName: bench_poly1305_authenticate_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_aead_authenticate_do_bench
    linkageType: ''
    returnType: void
    signature: "void bench_poly1305_authenticate_do_bench (struct bench_obj *obj,
      void *buf,\n\t\t\t\t      size_t buflen)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/bench-slope.c:1793,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/bench-slope.c:1797,1
    - Dst: bench_print_mode
      Src: /src/libgcrypt/tests/bench-slope.c:1843,1
    - Dst: do_slope_benchmark
      Src: /src/libgcrypt/tests/bench-slope.c:1848,1
    - Dst: bench_print_result
      Src: /src/libgcrypt/tests/bench-slope.c:1850,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 35
    argCount: 2
    argNames:
    - algo
    - pmode
    argTypes:
    - int
    - struct bench_cipher_mode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1781
    functionDepth: 6
    functionLinenumber: 1781
    functionLinenumberEnd: 1851
    functionName: cipher_bench_one
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - bench_print_mode
    - do_slope_benchmark
    - bench_print_result
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: void
    signature: void cipher_bench_one (int algo, struct bench_cipher_mode *pmode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/bench-slope.c:1860,1
    - Dst: bench_print_header
      Src: /src/libgcrypt/tests/bench-slope.c:1862,1
    - Dst: cipher_bench_one
      Src: /src/libgcrypt/tests/bench-slope.c:1865,1
    - Dst: bench_print_footer
      Src: /src/libgcrypt/tests/bench-slope.c:1867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1854
    functionDepth: 7
    functionLinenumber: 1854
    functionLinenumberEnd: 1868
    functionName: _cipher_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_print_header
    - cipher_bench_one
    - bench_print_footer
    - gcry_cipher_algo_name
    linkageType: ''
    returnType: void
    signature: void _cipher_bench (int algo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bench_print_section
      Src: /src/libgcrypt/tests/bench-slope.c:1876,1
    - Dst: gcry_cipher_map_name
      Src: /src/libgcrypt/tests/bench-slope.c:1882,1
    - Dst: _cipher_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1884,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/bench-slope.c:1890,1
    - Dst: _cipher_bench
      Src: /src/libgcrypt/tests/bench-slope.c:1891,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1871
    functionDepth: 8
    functionLinenumber: 1871
    functionLinenumberEnd: 1893
    functionName: cipher_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 1
    functionsReached:
    - bench_print_section
    - gcry_cipher_test_algo
    - _cipher_bench
    - gcry_cipher_map_name
    linkageType: ''
    returnType: void
    signature: void cipher_bench (char **argv, int argc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/bench-slope.c:1919,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:1922,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/bench-slope.c:1923,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:1924,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1907
    functionDepth: 1
    functionLinenumber: 1907
    functionLinenumberEnd: 1930
    functionName: bench_hash_init
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - fprintf
    - gcry_md_open
    - exit
    - gcry_md_algo_name
    linkageType: ''
    returnType: int
    signature: int bench_hash_init (struct bench_obj *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/bench-slope.c:1937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1932
    functionDepth: 1
    functionLinenumber: 1932
    functionLinenumberEnd: 1938
    functionName: bench_hash_free
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_md_close
    linkageType: ''
    returnType: void
    signature: void bench_hash_free (struct bench_obj *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_reset
      Src: /src/libgcrypt/tests/bench-slope.c:1945,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/bench-slope.c:1946,1
    - Dst: gcry_md_final
      Src: /src/libgcrypt/tests/bench-slope.c:1947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1940
    functionDepth: 1
    functionLinenumber: 1940
    functionLinenumberEnd: 1948
    functionName: bench_hash_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_md_final
    - gcry_md_reset
    linkageType: ''
    returnType: void
    signature: void bench_hash_do_bench (struct bench_obj *obj, void *buf, size_t
      buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bench_print_algo
      Src: /src/libgcrypt/tests/bench-slope.c:1973,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/bench-slope.c:1973,1
    - Dst: bench_print_algo
      Src: /src/libgcrypt/tests/bench-slope.c:1975,1
    - Dst: do_slope_benchmark
      Src: /src/libgcrypt/tests/bench-slope.c:1980,1
    - Dst: bench_print_result
      Src: /src/libgcrypt/tests/bench-slope.c:1982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - algo
    - pmode
    argTypes:
    - int
    - struct bench_hash_mode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1963
    functionDepth: 6
    functionLinenumber: 1963
    functionLinenumberEnd: 1983
    functionName: hash_bench_one
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - do_slope_benchmark
    - bench_print_result
    - bench_print_algo
    - gcry_md_algo_name
    linkageType: ''
    returnType: void
    signature: void hash_bench_one (int algo, struct bench_hash_mode *pmode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_bench_one
      Src: /src/libgcrypt/tests/bench-slope.c:1991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1985
    functionDepth: 7
    functionLinenumber: 1985
    functionLinenumberEnd: 1992
    functionName: _hash_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - hash_bench_one
    linkageType: ''
    returnType: void
    signature: void _hash_bench (int algo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bench_print_section
      Src: /src/libgcrypt/tests/bench-slope.c:1999,1
    - Dst: bench_print_header
      Src: /src/libgcrypt/tests/bench-slope.c:2000,1
    - Dst: gcry_md_map_name
      Src: /src/libgcrypt/tests/bench-slope.c:2006,1
    - Dst: _hash_bench
      Src: /src/libgcrypt/tests/bench-slope.c:2008,1
    - Dst: gcry_md_test_algo
      Src: /src/libgcrypt/tests/bench-slope.c:2016,1
    - Dst: _hash_bench
      Src: /src/libgcrypt/tests/bench-slope.c:2017,1
    - Dst: bench_print_footer
      Src: /src/libgcrypt/tests/bench-slope.c:2020,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 1994
    functionDepth: 8
    functionLinenumber: 1994
    functionLinenumberEnd: 2021
    functionName: hash_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 1
    functionsReached:
    - bench_print_footer
    - _hash_bench
    - gcry_md_map_name
    - gcry_md_test_algo
    - bench_print_section
    - bench_print_header
    linkageType: ''
    returnType: void
    signature: void hash_bench (char **argv, int argc)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_get_algo_keylen
      Src: /src/libgcrypt/tests/bench-slope.c:2049,1
    - Dst: malloc
      Src: /src/libgcrypt/tests/bench-slope.c:2052,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:2055,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:2056,1
    - Dst: memset
      Src: /src/libgcrypt/tests/bench-slope.c:2058,1
    - Dst: gcry_mac_open
      Src: /src/libgcrypt/tests/bench-slope.c:2060,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:2063,1
    - Dst: gcry_mac_algo_name
      Src: /src/libgcrypt/tests/bench-slope.c:2064,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:2065,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:2066,1
    - Dst: gcry_mac_setkey
      Src: /src/libgcrypt/tests/bench-slope.c:2069,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:2072,1
    - Dst: gcry_mac_algo_name
      Src: /src/libgcrypt/tests/bench-slope.c:2073,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:2074,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:2075,1
    - Dst: gcry_mac_setiv
      Src: /src/libgcrypt/tests/bench-slope.c:2089,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:2095,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2035
    functionDepth: 1
    functionLinenumber: 2035
    functionLinenumberEnd: 2097
    functionName: bench_mac_init
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_mac_get_algo_keylen
    - exit
    - fprintf
    - gcry_mac_setkey
    - memset
    - malloc
    - gcry_mac_algo_name
    - gcry_mac_setiv
    - gcry_mac_open
    - free
    linkageType: ''
    returnType: int
    signature: int bench_mac_init (struct bench_obj *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_close
      Src: /src/libgcrypt/tests/bench-slope.c:2104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2099
    functionDepth: 1
    functionLinenumber: 2099
    functionLinenumberEnd: 2105
    functionName: bench_mac_free
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_mac_close
    linkageType: ''
    returnType: void
    signature: void bench_mac_free (struct bench_obj *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_reset
      Src: /src/libgcrypt/tests/bench-slope.c:2114,1
    - Dst: gcry_mac_write
      Src: /src/libgcrypt/tests/bench-slope.c:2115,1
    - Dst: gcry_mac_read
      Src: /src/libgcrypt/tests/bench-slope.c:2117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2107
    functionDepth: 1
    functionLinenumber: 2107
    functionLinenumberEnd: 2118
    functionName: bench_mac_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_mac_read
    - gcry_mac_reset
    - gcry_mac_write
    linkageType: ''
    returnType: void
    signature: void bench_mac_do_bench (struct bench_obj *obj, void *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bench_print_algo
      Src: /src/libgcrypt/tests/bench-slope.c:2143,1
    - Dst: gcry_mac_algo_name
      Src: /src/libgcrypt/tests/bench-slope.c:2143,1
    - Dst: bench_print_algo
      Src: /src/libgcrypt/tests/bench-slope.c:2145,1
    - Dst: do_slope_benchmark
      Src: /src/libgcrypt/tests/bench-slope.c:2150,1
    - Dst: bench_print_result
      Src: /src/libgcrypt/tests/bench-slope.c:2152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - algo
    - pmode
    argTypes:
    - int
    - struct bench_mac_mode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2133
    functionDepth: 6
    functionLinenumber: 2133
    functionLinenumberEnd: 2153
    functionName: mac_bench_one
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - do_slope_benchmark
    - bench_print_result
    - gcry_mac_algo_name
    - bench_print_algo
    linkageType: ''
    returnType: void
    signature: void mac_bench_one (int algo, struct bench_mac_mode *pmode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mac_bench_one
      Src: /src/libgcrypt/tests/bench-slope.c:2161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2155
    functionDepth: 7
    functionLinenumber: 2155
    functionLinenumberEnd: 2162
    functionName: _mac_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - mac_bench_one
    linkageType: ''
    returnType: void
    signature: void _mac_bench (int algo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bench_print_section
      Src: /src/libgcrypt/tests/bench-slope.c:2169,1
    - Dst: bench_print_header
      Src: /src/libgcrypt/tests/bench-slope.c:2170,1
    - Dst: gcry_mac_map_name
      Src: /src/libgcrypt/tests/bench-slope.c:2176,1
    - Dst: _mac_bench
      Src: /src/libgcrypt/tests/bench-slope.c:2178,1
    - Dst: gcry_mac_test_algo
      Src: /src/libgcrypt/tests/bench-slope.c:2184,1
    - Dst: _mac_bench
      Src: /src/libgcrypt/tests/bench-slope.c:2185,1
    - Dst: bench_print_footer
      Src: /src/libgcrypt/tests/bench-slope.c:2188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 2164
    functionDepth: 8
    functionLinenumber: 2164
    functionLinenumberEnd: 2189
    functionName: mac_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 1
    functionsReached:
    - bench_print_footer
    - _mac_bench
    - gcry_mac_map_name
    - gcry_mac_test_algo
    - bench_print_section
    - bench_print_header
    linkageType: ''
    returnType: void
    signature: void mac_bench (char **argv, int argc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2220
    functionName: bench_kdf_init
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bench_kdf_init (struct bench_obj *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2222
    functionDepth: 0
    functionLinenumber: 2222
    functionLinenumberEnd: 2226
    functionName: bench_kdf_free
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bench_kdf_free (struct bench_obj *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_kdf_derive
      Src: /src/libgcrypt/tests/bench-slope.c:2238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2228
    functionDepth: 1
    functionLinenumber: 2228
    functionLinenumberEnd: 2242
    functionName: bench_kdf_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_kdf_derive
    linkageType: ''
    returnType: void
    signature: void bench_kdf_do_bench (struct bench_obj *obj, void *buf, size_t buflen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/bench-slope.c:2272,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/bench-slope.c:2282,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/bench-slope.c:2283,1
    - Dst: bench_print_algo
      Src: /src/libgcrypt/tests/bench-slope.c:2286,1
    - Dst: do_slope_benchmark
      Src: /src/libgcrypt/tests/bench-slope.c:2291,1
    - Dst: bench_print_result_nsec_per_iteration
      Src: /src/libgcrypt/tests/bench-slope.c:2292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - algo
    - subalgo
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2251
    functionDepth: 6
    functionLinenumber: 2251
    functionLinenumberEnd: 2293
    functionName: kdf_bench_one
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_md_algo_name
    - do_slope_benchmark
    - snprintf
    - gcry_md_get_algo_dlen
    - bench_print_result_nsec_per_iteration
    - bench_print_algo
    linkageType: ''
    returnType: void
    signature: void kdf_bench_one (int algo, int subalgo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bench_print_section
      Src: /src/libgcrypt/tests/bench-slope.c:2301,1
    - Dst: bench_print_header_nsec_per_iteration
      Src: /src/libgcrypt/tests/bench-slope.c:2303,1
    - Dst: gcry_md_test_algo
      Src: /src/libgcrypt/tests/bench-slope.c:2314,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/bench-slope.c:2317,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/bench-slope.c:2318,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:2320,1
    - Dst: kdf_bench_one
      Src: /src/libgcrypt/tests/bench-slope.c:2321,1
    - Dst: gcry_md_test_algo
      Src: /src/libgcrypt/tests/bench-slope.c:2330,1
    - Dst: kdf_bench_one
      Src: /src/libgcrypt/tests/bench-slope.c:2331,1
    - Dst: bench_print_footer
      Src: /src/libgcrypt/tests/bench-slope.c:2334,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2295
    functionDepth: 7
    functionLinenumber: 2295
    functionLinenumberEnd: 2335
    functionName: kdf_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_print_header_nsec_per_iteration
    - bench_print_footer
    - kdf_bench_one
    - gcry_md_algo_name
    - snprintf
    - strcmp
    - gcry_md_test_algo
    - bench_print_section
    linkageType: ''
    returnType: void
    signature: void kdf_bench (char **argv, int argc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2770
      start: 2763
    functionDepth: 0
    functionLinenumber: 2763
    functionLinenumberEnd: 2770
    functionName: pk_algo_name
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      pk_algo_name (int algo)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:2779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2783
    functionName: pk_map_name
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 15
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int pk_map_name (const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libgcrypt/tests/bench-slope.c:2805,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/bench-slope.c:2809,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/bench-slope.c:2810,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/bench-slope.c:2812,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/bench-slope.c:2813,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:2816,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:2817,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:2818,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/bench-slope.c:2821,1
    - Dst: gcry_mpi_randomize
      Src: /src/libgcrypt/tests/bench-slope.c:2822,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/bench-slope.c:2823,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/bench-slope.c:2824,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:2827,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:2828,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:2829,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/bench-slope.c:2832,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:2835,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:2836,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:2837,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2842
      start: 2786
    functionDepth: 1
    functionLinenumber: 2786
    functionLinenumberEnd: 2842
    functionName: bench_pk_init
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - strlen
    - gcry_pk_sign
    - calloc
    - exit
    - gcry_sexp_sscan
    - fprintf
    - gpg_strerror
    - gcry_mpi_randomize
    - gcry_sexp_build
    - gcry_mpi_new
    - gcry_mpi_release
    linkageType: ''
    returnType: int
    signature: int bench_pk_init (struct bench_obj *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:2850,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:2851,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:2852,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:2853,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:2854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2856
      start: 2845
    functionDepth: 1
    functionLinenumber: 2845
    functionLinenumberEnd: 2856
    functionName: bench_pk_free
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_release
    - free
    linkageType: ''
    returnType: void
    signature: void bench_pk_free (struct bench_obj *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/bench-slope.c:2871,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:2874,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:2875,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:2876,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:2878,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - obj
    - buf
    - num_iter
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2880
      start: 2859
    functionDepth: 1
    functionLinenumber: 2859
    functionLinenumberEnd: 2880
    functionName: bench_pk_sign_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_pk_sign
    - exit
    - fprintf
    - gpg_strerror
    - gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: void bench_pk_sign_do_bench (struct bench_obj *obj, void *buf, size_t
      num_iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/bench-slope.c:2894,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:2897,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:2898,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:2899,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - obj
    - buf
    - num_iter
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2902
      start: 2883
    functionDepth: 1
    functionLinenumber: 2883
    functionLinenumberEnd: 2902
    functionName: bench_pk_verify_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - fprintf
    - gcry_pk_verify
    - gpg_strerror
    - exit
    linkageType: ''
    returnType: void
    signature: void bench_pk_verify_do_bench (struct bench_obj *obj, void *buf, size_t
      num_iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_print_mode
      Src: /src/libgcrypt/tests/bench-slope.c:2933,1
    - Dst: do_slope_benchmark
      Src: /src/libgcrypt/tests/bench-slope.c:2938,1
    - Dst: bench_print_result_nsec_per_iteration
      Src: /src/libgcrypt/tests/bench-slope.c:2939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - algo
    - poper
    argTypes:
    - enum bench_pk_algo
    - struct bench_pk_oper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2940
      start: 2924
    functionDepth: 6
    functionLinenumber: 2924
    functionLinenumberEnd: 2940
    functionName: cipher_pk_one
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - do_slope_benchmark
    - bench_print_mode
    - bench_print_result_nsec_per_iteration
    linkageType: ''
    returnType: void
    signature: void cipher_pk_one (enum bench_pk_algo algo, struct bench_pk_oper *poper)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bench_print_header_nsec_per_iteration
      Src: /src/libgcrypt/tests/bench-slope.c:2951,1
    - Dst: pk_algo_name
      Src: /src/libgcrypt/tests/bench-slope.c:2951,1
    - Dst: cipher_pk_one
      Src: /src/libgcrypt/tests/bench-slope.c:2954,1
    - Dst: bench_print_footer
      Src: /src/libgcrypt/tests/bench-slope.c:2956,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2957
      start: 2943
    functionDepth: 7
    functionLinenumber: 2943
    functionLinenumberEnd: 2957
    functionName: _pk_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_print_footer
    - cipher_pk_one
    - bench_print_header_nsec_per_iteration
    - pk_algo_name
    linkageType: ''
    returnType: void
    signature: void _pk_bench (int algo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bench_print_section
      Src: /src/libgcrypt/tests/bench-slope.c:2965,1
    - Dst: pk_map_name
      Src: /src/libgcrypt/tests/bench-slope.c:2971,1
    - Dst: _pk_bench
      Src: /src/libgcrypt/tests/bench-slope.c:2973,1
    - Dst: _pk_bench
      Src: /src/libgcrypt/tests/bench-slope.c:2979,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2981
      start: 2960
    functionDepth: 8
    functionLinenumber: 2960
    functionLinenumberEnd: 2981
    functionName: pk_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 1
    functionsReached:
    - bench_print_section
    - pk_map_name
    - _pk_bench
    linkageType: ''
    returnType: void
    signature: void pk_bench (char **argv, int argc)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3058
      start: 3038
    functionDepth: 0
    functionLinenumber: 3038
    functionLinenumberEnd: 3058
    functionName: ecc_algo_fips_allowed
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ecc_algo_fips_allowed (int algo)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3060
    functionDepth: 0
    functionLinenumber: 3060
    functionLinenumberEnd: 3090
    functionName: ecc_algo_name
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ecc_algo_name (int algo)'
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3092
    functionDepth: 0
    functionLinenumber: 3092
    functionLinenumberEnd: 3122
    functionName: ecc_algo_curve
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ecc_algo_curve (int algo)'
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3154
      start: 3124
    functionDepth: 0
    functionLinenumber: 3124
    functionLinenumberEnd: 3154
    functionName: ecc_nbits
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ecc_nbits (int algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:3163,1
    - Dst: ecc_algo_name
      Src: /src/libgcrypt/tests/bench-slope.c:3163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3170
      start: 3156
    functionDepth: 1
    functionLinenumber: 3156
    functionLinenumberEnd: 3170
    functionName: ecc_map_name
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ecc_algo_name
    linkageType: ''
    returnType: int
    signature: int ecc_map_name (const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ecc_nbits
      Src: /src/libgcrypt/tests/bench-slope.c:3178,1
    - Dst: calloc
      Src: /src/libgcrypt/tests/bench-slope.c:3202,1
    - Dst: gcry_mpi_ec_new
      Src: /src/libgcrypt/tests/bench-slope.c:3206,1
    - Dst: ecc_algo_curve
      Src: /src/libgcrypt/tests/bench-slope.c:3206,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:3209,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:3210,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:3211,1
    - Dst: gcry_mpi_ec_get_point
      Src: /src/libgcrypt/tests/bench-slope.c:3213,1
    - Dst: gcry_mpi_point_new
      Src: /src/libgcrypt/tests/bench-slope.c:3214,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/bench-slope.c:3215,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/bench-slope.c:3216,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/bench-slope.c:3217,1
    - Dst: gcry_mpi_randomize
      Src: /src/libgcrypt/tests/bench-slope.c:3218,1
    - Dst: gcry_mpi_ec_get_mpi
      Src: /src/libgcrypt/tests/bench-slope.c:3219,1
    - Dst: gcry_mpi_mod
      Src: /src/libgcrypt/tests/bench-slope.c:3220,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/bench-slope.c:3221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3225
      start: 3173
    functionDepth: 1
    functionLinenumber: 3173
    functionLinenumberEnd: 3225
    functionName: bench_ecc_mult_init
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_ec_get_point
    - gcry_mpi_ec_new
    - calloc
    - exit
    - gcry_mpi_point_new
    - gcry_mpi_ec_get_mpi
    - fprintf
    - gpg_strerror
    - gcry_mpi_randomize
    - ecc_algo_curve
    - gcry_mpi_mod
    - gcry_mpi_new
    - ecc_nbits
    - gcry_mpi_release
    linkageType: ''
    returnType: int
    signature: int bench_ecc_mult_init (struct bench_obj *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/bench-slope.c:3232,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/bench-slope.c:3233,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/bench-slope.c:3234,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/bench-slope.c:3235,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/bench-slope.c:3236,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/bench-slope.c:3237,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:3238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3227
    functionDepth: 1
    functionLinenumber: 3227
    functionLinenumberEnd: 3240
    functionName: bench_ecc_mult_free
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - free
    - gcry_ctx_release
    - gcry_mpi_point_release
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void bench_ecc_mult_free (struct bench_obj *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_ec_mul
      Src: /src/libgcrypt/tests/bench-slope.c:3263,1
    - Dst: gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/tests/bench-slope.c:3264,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:3266,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:3267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - obj
    - buf
    - num_iter
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3270
      start: 3242
    functionDepth: 1
    functionLinenumber: 3242
    functionLinenumberEnd: 3270
    functionName: bench_ecc_mult_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - fprintf
    - gcry_mpi_ec_mul
    - exit
    - gcry_mpi_ec_get_affine
    linkageType: ''
    returnType: void
    signature: void bench_ecc_mult_do_bench (struct bench_obj *obj, void *buf, size_t
      num_iter)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ecc_nbits
      Src: /src/libgcrypt/tests/bench-slope.c:3278,1
    - Dst: calloc
      Src: /src/libgcrypt/tests/bench-slope.c:3302,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/bench-slope.c:3306,1
    - Dst: gcry_mpi_randomize
      Src: /src/libgcrypt/tests/bench-slope.c:3307,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/bench-slope.c:3312,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:3313,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/bench-slope.c:3317,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/bench-slope.c:3322,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/bench-slope.c:3328,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/bench-slope.c:3333,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/bench-slope.c:3343,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/bench-slope.c:3347,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/bench-slope.c:3351,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/bench-slope.c:3355,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/bench-slope.c:3360,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:3364,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:3365,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:3366,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3371
      start: 3273
    functionDepth: 1
    functionLinenumber: 3273
    functionLinenumberEnd: 3371
    functionName: bench_ecc_init
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    - exit
    - fprintf
    - gcry_mpi_randomize
    - gpg_strerror
    - gcry_sexp_build
    - gcry_mpi_new
    - ecc_nbits
    - gcry_mpi_release
    linkageType: ''
    returnType: int
    signature: int bench_ecc_init (struct bench_obj *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3378,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3379,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3380,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3381,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3382,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:3383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3385
      start: 3373
    functionDepth: 1
    functionLinenumber: 3373
    functionLinenumberEnd: 3385
    functionName: bench_ecc_free
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_release
    - free
    linkageType: ''
    returnType: void
    signature: void bench_ecc_free (struct bench_obj *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/bench-slope.c:3393,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:3396,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:3397,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:3398,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/bench-slope.c:3401,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:3404,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:3405,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/bench-slope.c:3407,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:3410,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:3411,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - hd
    argTypes:
    - struct bench_ecc_hd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3415
      start: 3387
    functionDepth: 1
    functionLinenumber: 3387
    functionLinenumberEnd: 3415
    functionName: bench_ecc_keygen
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - gcry_sexp_find_token
    - exit
    - fprintf
    - gpg_strerror
    - gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: void bench_ecc_keygen (struct bench_ecc_hd *hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_ecc_keygen
      Src: /src/libgcrypt/tests/bench-slope.c:3427,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3428,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - obj
    - buf
    - num_iter
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3434
      start: 3417
    functionDepth: 2
    functionLinenumber: 3417
    functionLinenumberEnd: 3434
    functionName: bench_ecc_keygen_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_ecc_keygen
    - gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: void bench_ecc_keygen_do_bench (struct bench_obj *obj, void *buf, size_t
      num_iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bench_ecc_keygen
      Src: /src/libgcrypt/tests/bench-slope.c:3445,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/bench-slope.c:3449,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:3452,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:3453,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:3454,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3456,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3459,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - obj
    - buf
    - num_iter
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3464
      start: 3436
    functionDepth: 2
    functionLinenumber: 3436
    functionLinenumberEnd: 3464
    functionName: bench_ecc_sign_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_ecc_keygen
    - gcry_pk_sign
    - exit
    - fprintf
    - gpg_strerror
    - gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: void bench_ecc_sign_do_bench (struct bench_obj *obj, void *buf, size_t
      num_iter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bench_ecc_keygen
      Src: /src/libgcrypt/tests/bench-slope.c:3475,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/bench-slope.c:3476,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:3479,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:3480,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:3481,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/bench-slope.c:3486,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:3489,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:3490,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:3491,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3495,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3496,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - obj
    - buf
    - num_iter
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3501
      start: 3466
    functionDepth: 2
    functionLinenumber: 3466
    functionLinenumberEnd: 3501
    functionName: bench_ecc_verify_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_ecc_keygen
    - gcry_pk_sign
    - exit
    - fprintf
    - gpg_strerror
    - gcry_sexp_release
    - gcry_pk_verify
    linkageType: ''
    returnType: void
    signature: void bench_ecc_verify_do_bench (struct bench_obj *obj, void *buf, size_t
      num_iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bench_print_mode
      Src: /src/libgcrypt/tests/bench-slope.c:3551,1
    - Dst: do_slope_benchmark
      Src: /src/libgcrypt/tests/bench-slope.c:3556,1
    - Dst: bench_print_result_nsec_per_iteration
      Src: /src/libgcrypt/tests/bench-slope.c:3557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - algo
    - poper
    argTypes:
    - enum bench_ecc_algo
    - struct bench_ecc_oper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3558
      start: 3538
    functionDepth: 6
    functionLinenumber: 3538
    functionLinenumberEnd: 3558
    functionName: cipher_ecc_one
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - do_slope_benchmark
    - bench_print_mode
    - bench_print_result_nsec_per_iteration
    linkageType: ''
    returnType: void
    signature: void cipher_ecc_one (enum bench_ecc_algo algo, struct bench_ecc_oper
      *poper)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ecc_algo_fips_allowed
      Src: /src/libgcrypt/tests/bench-slope.c:3568,1
    - Dst: ecc_algo_name
      Src: /src/libgcrypt/tests/bench-slope.c:3571,1
    - Dst: bench_print_header_nsec_per_iteration
      Src: /src/libgcrypt/tests/bench-slope.c:3573,1
    - Dst: cipher_ecc_one
      Src: /src/libgcrypt/tests/bench-slope.c:3576,1
    - Dst: bench_print_footer
      Src: /src/libgcrypt/tests/bench-slope.c:3578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3579
      start: 3561
    functionDepth: 7
    functionLinenumber: 3561
    functionLinenumberEnd: 3579
    functionName: _ecc_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_print_header_nsec_per_iteration
    - bench_print_footer
    - ecc_algo_fips_allowed
    - cipher_ecc_one
    - ecc_algo_name
    linkageType: ''
    returnType: void
    signature: void _ecc_bench (int algo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bench_print_section
      Src: /src/libgcrypt/tests/bench-slope.c:3589,1
    - Dst: ecc_map_name
      Src: /src/libgcrypt/tests/bench-slope.c:3595,1
    - Dst: _ecc_bench
      Src: /src/libgcrypt/tests/bench-slope.c:3597,1
    - Dst: _ecc_bench
      Src: /src/libgcrypt/tests/bench-slope.c:3603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3609
      start: 3583
    functionDepth: 8
    functionLinenumber: 3583
    functionLinenumberEnd: 3609
    functionName: ecc_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 1
    functionsReached:
    - bench_print_section
    - _ecc_bench
    - ecc_map_name
    linkageType: ''
    returnType: void
    signature: void ecc_bench (char **argv, int argc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3721
      start: 3714
    functionDepth: 0
    functionLinenumber: 3714
    functionLinenumberEnd: 3721
    functionName: pq_algo_name
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      pq_algo_name (int algo)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3727
      start: 3723
    functionDepth: 0
    functionLinenumber: 3723
    functionLinenumberEnd: 3727
    functionName: pq_algo_is_kem
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pq_algo_is_kem (int algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:3736,1
    - Dst: pq_algo_name
      Src: /src/libgcrypt/tests/bench-slope.c:3736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3741
      start: 3729
    functionDepth: 1
    functionLinenumber: 3729
    functionLinenumberEnd: 3741
    functionName: pq_map_name
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - strcmp
    - pq_algo_name
    linkageType: ''
    returnType: int
    signature: int pq_map_name (const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3773
      start: 3743
    functionDepth: 0
    functionLinenumber: 3743
    functionLinenumberEnd: 3773
    functionName: pq_setup_obj
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pq_setup_obj (struct bench_obj *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_kem_keypair
      Src: /src/libgcrypt/tests/bench-slope.c:3781,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:3785,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:3786,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:3787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hd
    argTypes:
    - struct bench_pq_kem_hd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3789
      start: 3776
    functionDepth: 1
    functionLinenumber: 3776
    functionLinenumberEnd: 3789
    functionName: bench_pq_kem_keypair
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - fprintf
    - gpg_strerror
    - gcry_kem_keypair
    - exit
    linkageType: ''
    returnType: void
    signature: void bench_pq_kem_keypair (struct bench_pq_kem_hd *hd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pq_setup_obj
      Src: /src/libgcrypt/tests/bench-slope.c:3797,1
    - Dst: calloc
      Src: /src/libgcrypt/tests/bench-slope.c:3799,1
    - Dst: calloc
      Src: /src/libgcrypt/tests/bench-slope.c:3809,1
    - Dst: calloc
      Src: /src/libgcrypt/tests/bench-slope.c:3810,1
    - Dst: calloc
      Src: /src/libgcrypt/tests/bench-slope.c:3811,1
    - Dst: calloc
      Src: /src/libgcrypt/tests/bench-slope.c:3812,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:3815,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:3816,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:3817,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:3818,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:3819,1
    - Dst: bench_pq_kem_keypair
      Src: /src/libgcrypt/tests/bench-slope.c:3824,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3826
      start: 3791
    functionDepth: 2
    functionLinenumber: 3791
    functionLinenumberEnd: 3826
    functionName: bench_pq_kem_init
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - pq_setup_obj
    - calloc
    - bench_pq_kem_keypair
    - free
    linkageType: ''
    returnType: int
    signature: int bench_pq_kem_init (struct bench_obj *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:3833,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:3834,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:3835,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:3836,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:3837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3839
      start: 3828
    functionDepth: 0
    functionLinenumber: 3828
    functionLinenumberEnd: 3839
    functionName: bench_pq_kem_free
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void bench_pq_kem_free (struct bench_obj *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_kem_encap
      Src: /src/libgcrypt/tests/bench-slope.c:3846,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:3851,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:3852,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:3853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hd
    argTypes:
    - struct bench_pq_kem_hd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3855
      start: 3841
    functionDepth: 1
    functionLinenumber: 3841
    functionLinenumberEnd: 3855
    functionName: bench_pq_kem_encapsulate
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - gpg_strerror
    - gcry_kem_encap
    linkageType: ''
    returnType: void
    signature: void bench_pq_kem_encapsulate (struct bench_pq_kem_hd *hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_pq_kem_keypair
      Src: /src/libgcrypt/tests/bench-slope.c:3867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - obj
    - buf
    - num_iter
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3868
      start: 3857
    functionDepth: 2
    functionLinenumber: 3857
    functionLinenumberEnd: 3868
    functionName: bench_pq_kem_keygen_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_pq_kem_keypair
    linkageType: ''
    returnType: void
    signature: "void bench_pq_kem_keygen_do_bench (struct bench_obj *obj, void *buf,\n\t\t\t
      \     size_t num_iter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_pq_kem_encapsulate
      Src: /src/libgcrypt/tests/bench-slope.c:3879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - obj
    - buf
    - num_iter
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3880
      start: 3870
    functionDepth: 2
    functionLinenumber: 3870
    functionLinenumberEnd: 3880
    functionName: bench_pq_kem_encap_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_pq_kem_encapsulate
    linkageType: ''
    returnType: void
    signature: void bench_pq_kem_encap_do_bench (struct bench_obj *obj, void *buf,
      size_t num_iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bench_pq_kem_encapsulate
      Src: /src/libgcrypt/tests/bench-slope.c:3891,1
    - Dst: gcry_kem_decap
      Src: /src/libgcrypt/tests/bench-slope.c:3895,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:3900,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:3901,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:3902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - obj
    - buf
    - num_iter
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3905
      start: 3882
    functionDepth: 2
    functionLinenumber: 3882
    functionLinenumberEnd: 3905
    functionName: bench_pq_kem_decap_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_kem_decap
    - bench_pq_kem_encapsulate
    - exit
    - fprintf
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void bench_pq_kem_decap_do_bench (struct bench_obj *obj, void *buf,
      size_t num_iter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pq_setup_obj
      Src: /src/libgcrypt/tests/bench-slope.c:3917,1
    - Dst: calloc
      Src: /src/libgcrypt/tests/bench-slope.c:3919,1
    - Dst: gcry_randomize
      Src: /src/libgcrypt/tests/bench-slope.c:3923,1
    - Dst: gcry_randomize
      Src: /src/libgcrypt/tests/bench-slope.c:3924,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/bench-slope.c:3926,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/bench-slope.c:3930,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:3935,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:3936,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:3937,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3942
      start: 3908
    functionDepth: 1
    functionLinenumber: 3908
    functionLinenumberEnd: 3942
    functionName: bench_pq_sig_init
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - pq_setup_obj
    - calloc
    - exit
    - fprintf
    - gpg_strerror
    - gcry_randomize
    - gcry_sexp_build
    linkageType: ''
    returnType: int
    signature: int bench_pq_sig_init (struct bench_obj *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3949,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3950,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3951,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3952,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3953,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:3954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3956
      start: 3944
    functionDepth: 1
    functionLinenumber: 3944
    functionLinenumberEnd: 3956
    functionName: bench_pq_sig_free
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_release
    - free
    linkageType: ''
    returnType: void
    signature: void bench_pq_sig_free (struct bench_obj *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/bench-slope.c:3964,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:3967,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:3968,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:3969,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/bench-slope.c:3972,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:3975,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:3976,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/bench-slope.c:3978,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:3981,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:3982,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:3985,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - hd
    argTypes:
    - struct bench_pq_sig_hd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3986
      start: 3958
    functionDepth: 1
    functionLinenumber: 3958
    functionLinenumberEnd: 3986
    functionName: bench_pq_sig_keygen
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - gcry_sexp_find_token
    - exit
    - fprintf
    - gpg_strerror
    - gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: void bench_pq_sig_keygen (struct bench_pq_sig_hd *hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_pq_sig_keygen
      Src: /src/libgcrypt/tests/bench-slope.c:3999,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:4000,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:4001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - obj
    - buf
    - num_iter
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4006
      start: 3988
    functionDepth: 2
    functionLinenumber: 3988
    functionLinenumberEnd: 4006
    functionName: bench_pq_sig_keygen_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_pq_sig_keygen
    - gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: "void bench_pq_sig_keygen_do_bench (struct bench_obj *obj, void *buf,\n\t\t\t
      \     size_t num_iter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bench_pq_sig_keygen
      Src: /src/libgcrypt/tests/bench-slope.c:4017,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/bench-slope.c:4021,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:4024,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:4025,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:4026,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:4028,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:4031,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:4032,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - obj
    - buf
    - num_iter
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4036
      start: 4008
    functionDepth: 2
    functionLinenumber: 4008
    functionLinenumberEnd: 4036
    functionName: bench_pq_sig_sign_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_pq_sig_keygen
    - gcry_pk_sign
    - exit
    - fprintf
    - gpg_strerror
    - gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: void bench_pq_sig_sign_do_bench (struct bench_obj *obj, void *buf,
      size_t num_iter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bench_pq_sig_keygen
      Src: /src/libgcrypt/tests/bench-slope.c:4048,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/bench-slope.c:4049,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:4052,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:4053,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:4054,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/bench-slope.c:4059,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:4062,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/bench-slope.c:4063,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:4064,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:4068,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:4069,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/bench-slope.c:4070,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - obj
    - buf
    - num_iter
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4074
      start: 4038
    functionDepth: 2
    functionLinenumber: 4038
    functionLinenumberEnd: 4074
    functionName: bench_pq_sig_verify_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_pq_sig_keygen
    - gcry_pk_sign
    - exit
    - fprintf
    - gpg_strerror
    - gcry_sexp_release
    - gcry_pk_verify
    linkageType: ''
    returnType: void
    signature: "void bench_pq_sig_verify_do_bench (struct bench_obj *obj, void *buf,\n\t\t\t
      \     size_t num_iter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bench_print_mode
      Src: /src/libgcrypt/tests/bench-slope.c:4138,1
    - Dst: do_slope_benchmark
      Src: /src/libgcrypt/tests/bench-slope.c:4143,1
    - Dst: bench_print_result_nsec_per_iteration
      Src: /src/libgcrypt/tests/bench-slope.c:4144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - algo
    - poper
    argTypes:
    - enum bench_pq_algo
    - struct bench_pq_oper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4145
      start: 4129
    functionDepth: 6
    functionLinenumber: 4129
    functionLinenumberEnd: 4145
    functionName: cipher_pq_one
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - do_slope_benchmark
    - bench_print_mode
    - bench_print_result_nsec_per_iteration
    linkageType: ''
    returnType: void
    signature: void cipher_pq_one (enum bench_pq_algo algo, struct bench_pq_oper *poper)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bench_print_header_nsec_per_iteration
      Src: /src/libgcrypt/tests/bench-slope.c:4154,1
    - Dst: pq_algo_name
      Src: /src/libgcrypt/tests/bench-slope.c:4154,1
    - Dst: pq_algo_is_kem
      Src: /src/libgcrypt/tests/bench-slope.c:4156,1
    - Dst: bench_print_mode
      Src: /src/libgcrypt/tests/bench-slope.c:4165,1
    - Dst: bench_print_result_skipped
      Src: /src/libgcrypt/tests/bench-slope.c:4166,1
    - Dst: cipher_pq_one
      Src: /src/libgcrypt/tests/bench-slope.c:4170,1
    - Dst: bench_print_footer
      Src: /src/libgcrypt/tests/bench-slope.c:4173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - algo
    - named
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4174
      start: 4148
    functionDepth: 7
    functionLinenumber: 4148
    functionLinenumberEnd: 4174
    functionName: _pq_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - bench_print_header_nsec_per_iteration
    - bench_print_mode
    - pq_algo_name
    - cipher_pq_one
    - bench_print_result_skipped
    - pq_algo_is_kem
    - bench_print_footer
    linkageType: ''
    returnType: void
    signature: void _pq_bench (int algo, int named)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bench_print_section
      Src: /src/libgcrypt/tests/bench-slope.c:4182,1
    - Dst: pq_map_name
      Src: /src/libgcrypt/tests/bench-slope.c:4188,1
    - Dst: _pq_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4190,1
    - Dst: _pq_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4198
      start: 4177
    functionDepth: 8
    functionLinenumber: 4177
    functionLinenumberEnd: 4198
    functionName: pq_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 1
    functionsReached:
    - bench_print_section
    - pq_map_name
    - _pq_bench
    linkageType: ''
    returnType: void
    signature: void pq_bench (char **argv, int argc)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libgcrypt/tests/bench-slope.c:4282,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/bench-slope.c:4287,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/bench-slope.c:4289,1
    - Dst: gcry_mpi_randomize
      Src: /src/libgcrypt/tests/bench-slope.c:4290,1
    - Dst: gcry_mpi_set_bit
      Src: /src/libgcrypt/tests/bench-slope.c:4291,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/bench-slope.c:4325,1
    - Dst: gcry_mpi_randomize
      Src: /src/libgcrypt/tests/bench-slope.c:4328,1
    - Dst: gcry_mpi_set_bit
      Src: /src/libgcrypt/tests/bench-slope.c:4329,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4334
      start: 4267
    functionDepth: 1
    functionLinenumber: 4267
    functionLinenumberEnd: 4334
    functionName: bench_mpi_init
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_set_bit
    - DIM
    - calloc
    - gcry_mpi_randomize
    - gcry_mpi_new
    linkageType: ''
    returnType: int
    signature: int bench_mpi_init (struct bench_obj *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/bench-slope.c:4342,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/bench-slope.c:4343,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/bench-slope.c:4344,1
    - Dst: free
      Src: /src/libgcrypt/tests/bench-slope.c:4346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bench_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4347
      start: 4336
    functionDepth: 1
    functionLinenumber: 4336
    functionLinenumberEnd: 4347
    functionName: bench_mpi_free
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - DIM
    - free
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void bench_mpi_free (struct bench_obj *obj)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/bench-slope.c:4359,1
    - Dst: gcry_mpi_add
      Src: /src/libgcrypt/tests/bench-slope.c:4364,1
    - Dst: gcry_mpi_sub
      Src: /src/libgcrypt/tests/bench-slope.c:4368,1
    - Dst: gcry_mpi_rshift
      Src: /src/libgcrypt/tests/bench-slope.c:4372,1
    - Dst: gcry_mpi_lshift
      Src: /src/libgcrypt/tests/bench-slope.c:4376,1
    - Dst: gcry_mpi_rshift
      Src: /src/libgcrypt/tests/bench-slope.c:4380,1
    - Dst: gcry_mpi_lshift
      Src: /src/libgcrypt/tests/bench-slope.c:4384,1
    - Dst: gcry_mpi_mul
      Src: /src/libgcrypt/tests/bench-slope.c:4391,1
    - Dst: gcry_mpi_div
      Src: /src/libgcrypt/tests/bench-slope.c:4398,1
    - Dst: gcry_mpi_mod
      Src: /src/libgcrypt/tests/bench-slope.c:4405,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/bench-slope.c:4412,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 3
    argNames:
    - obj
    - buf
    - buflen
    argTypes:
    - struct bench_obj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4413
      start: 4349
    functionDepth: 1
    functionLinenumber: 4349
    functionLinenumberEnd: 4413
    functionName: bench_mpi_do_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_add
    - gcry_mpi_rshift
    - gcry_mpi_sub
    - gcry_mpi_div
    - gcry_mpi_mod
    - gcry_mpi_lshift
    - gcry_mpi_mul
    - gcry_mpi_new
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void bench_mpi_do_bench (struct bench_obj *obj, void *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bench_print_algo
      Src: /src/libgcrypt/tests/bench-slope.c:4438,1
    - Dst: bench_print_algo
      Src: /src/libgcrypt/tests/bench-slope.c:4440,1
    - Dst: do_slope_benchmark
      Src: /src/libgcrypt/tests/bench-slope.c:4445,1
    - Dst: bench_print_result
      Src: /src/libgcrypt/tests/bench-slope.c:4447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - test_id
    - pmode
    argTypes:
    - int
    - struct bench_mpi_mode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4448
      start: 4428
    functionDepth: 6
    functionLinenumber: 4428
    functionLinenumberEnd: 4448
    functionName: mpi_bench_one
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - do_slope_benchmark
    - bench_print_result
    - bench_print_algo
    linkageType: ''
    returnType: void
    signature: void mpi_bench_one (int test_id, struct bench_mpi_mode *pmode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_bench_one
      Src: /src/libgcrypt/tests/bench-slope.c:4456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - test_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4457
      start: 4450
    functionDepth: 7
    functionLinenumber: 4450
    functionLinenumberEnd: 4457
    functionName: _mpi_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - mpi_bench_one
    linkageType: ''
    returnType: void
    signature: void _mpi_bench (int test_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4469
      start: 4459
    functionDepth: 0
    functionLinenumber: 4459
    functionLinenumberEnd: 4469
    functionName: mpi_match_test
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mpi_match_test(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bench_print_section
      Src: /src/libgcrypt/tests/bench-slope.c:4476,1
    - Dst: bench_print_header
      Src: /src/libgcrypt/tests/bench-slope.c:4477,1
    - Dst: mpi_match_test
      Src: /src/libgcrypt/tests/bench-slope.c:4483,1
    - Dst: _mpi_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4485,1
    - Dst: _mpi_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4491,1
    - Dst: bench_print_footer
      Src: /src/libgcrypt/tests/bench-slope.c:4494,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4495
      start: 4471
    functionDepth: 8
    functionLinenumber: 4471
    functionLinenumberEnd: 4495
    functionName: mpi_bench
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 1
    functionsReached:
    - bench_print_footer
    - mpi_match_test
    - bench_print_section
    - bench_print_header
    - _mpi_bench
    linkageType: ''
    returnType: void
    signature: void mpi_bench (char **argv, int argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STR2
      Src: /src/libgcrypt/tests/bench-slope.c:4513,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:4527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4528
      start: 4499
    functionDepth: 0
    functionLinenumber: 4499
    functionLinenumberEnd: 4528
    functionName: print_help
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 37
    functionsReached:
    - fprintf
    - STR2
    linkageType: ''
    returnType: void
    signature: void print_help (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_nsec_time
      Src: /src/libgcrypt/tests/bench-slope.c:4540,1
    - Dst: get_nsec_time
      Src: /src/libgcrypt/tests/bench-slope.c:4543,1
    - Dst: get_time_nsec_diff
      Src: /src/libgcrypt/tests/bench-slope.c:4545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4546
      start: 4532
    functionDepth: 1
    functionLinenumber: 4532
    functionLinenumberEnd: 4546
    functionName: warm_up_cpu
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 0
    functionsReached:
    - get_nsec_time
    - get_time_nsec_diff
    linkageType: ''
    returnType: void
    signature: void warm_up_cpu (void)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/bench-slope.c:4564,1
    - Dst: getenv
      Src: /src/libgcrypt/tests/bench-slope.c:4564,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:4565,1
    - Dst: getenv
      Src: /src/libgcrypt/tests/bench-slope.c:4567,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4579,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4585,1
    - Dst: print_help
      Src: /src/libgcrypt/tests/bench-slope.c:4587,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:4588,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4590,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4596,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4603,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4609,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4615,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4621,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4627,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/bench-slope.c:4633,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:4634,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4642,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4648,1
    - Dst: atof
      Src: /src/libgcrypt/tests/bench-slope.c:4654,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4662,1
    - Dst: atof
      Src: /src/libgcrypt/tests/bench-slope.c:4668,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:4671,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/bench-slope.c:4683,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/bench-slope.c:4685,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:4687,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/bench-slope.c:4688,1
    - Dst: exit
      Src: /src/libgcrypt/tests/bench-slope.c:4689,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/bench-slope.c:4693,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/bench-slope.c:4695,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/bench-slope.c:4696,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/bench-slope.c:4699,1
    - Dst: gcry_randomize
      Src: /src/libgcrypt/tests/bench-slope.c:4702,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/bench-slope.c:4704,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/bench-slope.c:4708,1
    - Dst: warm_up_cpu
      Src: /src/libgcrypt/tests/bench-slope.c:4712,1
    - Dst: hash_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4713,1
    - Dst: mac_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4714,1
    - Dst: cipher_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4715,1
    - Dst: kdf_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4716,1
    - Dst: pk_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4717,1
    - Dst: ecc_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4718,1
    - Dst: pq_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4719,1
    - Dst: mpi_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4720,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4722,1
    - Dst: warm_up_cpu
      Src: /src/libgcrypt/tests/bench-slope.c:4727,1
    - Dst: hash_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4728,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4730,1
    - Dst: warm_up_cpu
      Src: /src/libgcrypt/tests/bench-slope.c:4735,1
    - Dst: mac_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4736,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4738,1
    - Dst: warm_up_cpu
      Src: /src/libgcrypt/tests/bench-slope.c:4743,1
    - Dst: cipher_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4744,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4746,1
    - Dst: warm_up_cpu
      Src: /src/libgcrypt/tests/bench-slope.c:4751,1
    - Dst: kdf_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4752,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4754,1
    - Dst: warm_up_cpu
      Src: /src/libgcrypt/tests/bench-slope.c:4759,1
    - Dst: pk_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4760,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4762,1
    - Dst: warm_up_cpu
      Src: /src/libgcrypt/tests/bench-slope.c:4767,1
    - Dst: ecc_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4768,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4770,1
    - Dst: warm_up_cpu
      Src: /src/libgcrypt/tests/bench-slope.c:4775,1
    - Dst: pq_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4776,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/bench-slope.c:4778,1
    - Dst: warm_up_cpu
      Src: /src/libgcrypt/tests/bench-slope.c:4783,1
    - Dst: mpi_bench
      Src: /src/libgcrypt/tests/bench-slope.c:4784,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/bench-slope.c:4788,1
    - Dst: print_help
      Src: /src/libgcrypt/tests/bench-slope.c:4789,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 171
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4793
      start: 4549
    functionDepth: 9
    functionLinenumber: 4549
    functionLinenumberEnd: 4793
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/bench-slope.c
    functionUses: 11
    functionsReached:
    - exit
    - kdf_bench
    - xgcry_control
    - pq_bench
    - print_help
    - gcry_check_version
    - warm_up_cpu
    - gcry_control
    - strcmp
    - fprintf
    - cipher_bench
    - gcry_randomize
    - gcry_fips_mode_active
    - mpi_bench
    - pk_bench
    - hash_bench
    - getenv
    - ecc_bench
    - atof
    - fputs
    - mac_bench
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/genhashdata.c:85,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/genhashdata.c:90,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/genhashdata.c:92,1
    - Dst: exit
      Src: /src/libgcrypt/tests/genhashdata.c:97,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/genhashdata.c:99,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/genhashdata.c:104,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/genhashdata.c:108,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/genhashdata.c:113,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/genhashdata.c:117,1
    - Dst: die
      Src: /src/libgcrypt/tests/genhashdata.c:118,1
    - Dst: die
      Src: /src/libgcrypt/tests/genhashdata.c:122,1
    - Dst: die
      Src: /src/libgcrypt/tests/genhashdata.c:124,1
    - Dst: die
      Src: /src/libgcrypt/tests/genhashdata.c:126,1
    - Dst: die
      Src: /src/libgcrypt/tests/genhashdata.c:129,1
    - Dst: memset
      Src: /src/libgcrypt/tests/genhashdata.c:131,1
    - Dst: fwrite
      Src: /src/libgcrypt/tests/genhashdata.c:138,1
    - Dst: die
      Src: /src/libgcrypt/tests/genhashdata.c:139,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/genhashdata.c:139,1
    - Dst: fwrite
      Src: /src/libgcrypt/tests/genhashdata.c:141,1
    - Dst: die
      Src: /src/libgcrypt/tests/genhashdata.c:142,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/genhashdata.c:142,1
    - Dst: fwrite
      Src: /src/libgcrypt/tests/genhashdata.c:143,1
    - Dst: die
      Src: /src/libgcrypt/tests/genhashdata.c:144,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/genhashdata.c:144,1
    - Dst: fwrite
      Src: /src/libgcrypt/tests/genhashdata.c:149,1
    - Dst: die
      Src: /src/libgcrypt/tests/genhashdata.c:150,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/genhashdata.c:150,1
    - Dst: fwrite
      Src: /src/libgcrypt/tests/genhashdata.c:154,1
    - Dst: die
      Src: /src/libgcrypt/tests/genhashdata.c:155,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/genhashdata.c:155,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/genhashdata.c:156,1
    - Dst: die
      Src: /src/libgcrypt/tests/genhashdata.c:157,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/genhashdata.c:157,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 68
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 160
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/genhashdata.c
    functionUses: 11
    functionsReached:
    - atoi
    - fwrite
    - exit
    - strcmp
    - fflush
    - memset
    - fputs
    - die
    - strncmp
    - strerror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/tests/keygrip.c:46,1
    - Dst: printf
      Src: /src/libgcrypt/tests/keygrip.c:48,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/keygrip.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - text
    - buf
    - n
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: print_hex
    functionSourceFile: /src/libgcrypt/tests/keygrip.c
    functionUses: 5
    functionsReached:
    - putchar
    - printf
    - fputs
    linkageType: ''
    returnType: void
    signature: void print_hex (const char *text, const void *buf, size_t n)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_test_algo
      Src: /src/libgcrypt/tests/keygrip.c:295,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/keygrip.c:298,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/keygrip.c:302,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/keygrip.c:303,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygrip.c:305,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygrip.c:305,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygrip.c:308,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/libgcrypt/tests/keygrip.c:312,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygrip.c:314,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/keygrip.c:316,1
    - Dst: print_hex
      Src: /src/libgcrypt/tests/keygrip.c:318,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygrip.c:319,1
    - Dst: print_hex
      Src: /src/libgcrypt/tests/keygrip.c:322,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygrip.c:325,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 327
    functionName: check
    functionSourceFile: /src/libgcrypt/tests/keygrip.c
    functionUses: 28
    functionsReached:
    - gcry_pk_get_keygrip
    - strlen
    - info
    - gcry_sexp_sscan
    - gcry_pk_test_algo
    - fprintf
    - memcmp
    - gpg_strerror
    - gcry_sexp_release
    - die
    - print_hex
    linkageType: ''
    returnType: void
    signature: void check (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/libgcrypt/tests/keygrip.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - cb_data
    - what
    - printchar
    - current
    - total
    argTypes:
    - void*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 341
    functionName: progress_handler
    functionSourceFile: /src/libgcrypt/tests/keygrip.c
    functionUses: 3
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: "void progress_handler (void *cb_data, const char *what, int printchar,\n\t\t
      \ int current, int total)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/keygrip.c:354,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/keygrip.c:359,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/keygrip.c:364,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/keygrip.c:370,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/keygrip.c:375,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/keygrip.c:384,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygrip.c:385,1
    - Dst: gcry_set_progress_handler
      Src: /src/libgcrypt/tests/keygrip.c:387,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/keygrip.c:389,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/keygrip.c:390,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/keygrip.c:392,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/keygrip.c:394,1
    - Dst: check
      Src: /src/libgcrypt/tests/keygrip.c:397,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 400
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/keygrip.c
    functionUses: 11
    functionsReached:
    - atoi
    - gcry_check_version
    - strcmp
    - check
    - xgcry_control
    - gcry_fips_mode_active
    - die
    - gcry_set_progress_handler
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/t-rsa-pss.c:46,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-rsa-pss.c:47,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-rsa-pss.c:49,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/t-rsa-pss.c:50,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/t-rsa-pss.c:51,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-rsa-pss.c:52,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-rsa-pss.c:53,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/t-rsa-pss.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: show_note
    functionSourceFile: /src/libgcrypt/tests/t-rsa-pss.c
    functionUses: 3
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - getenv
    - fprintf
    - va_start
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: void show_note (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/t-rsa-pss.c:66,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-rsa-pss.c:69,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-rsa-pss.c:69,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-rsa-pss.c:69,1
    - Dst: strcpy
      Src: /src/libgcrypt/tests/t-rsa-pss.c:70,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/t-rsa-pss.c:71,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/t-rsa-pss.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: prepend_srcdir
    functionSourceFile: /src/libgcrypt/tests/t-rsa-pss.c
    functionUses: 11
    functionsReached:
    - strlen
    - getenv
    - xmalloc
    - strcpy
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      prepend_srcdir (const char *fname)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/libgcrypt/tests/t-rsa-pss.c:87,1
    - Dst: feof
      Src: /src/libgcrypt/tests/t-rsa-pss.c:89,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-rsa-pss.c:91,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-rsa-pss.c:91,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-rsa-pss.c:94,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-rsa-pss.c:96,1
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/t-rsa-pss.c:98,1
    - Dst: isspace
      Src: /src/libgcrypt/tests/t-rsa-pss.c:98,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-rsa-pss.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - fp
    - lineno
    argTypes:
    - FILE*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 105
    functionName: read_textline
    functionSourceFile: /src/libgcrypt/tests/t-rsa-pss.c
    functionUses: 5
    functionsReached:
    - my_isascii
    - feof
    - strchr
    - isspace
    - xstrdup
    - die
    - fgets
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      read_textline (FILE *fp, int *lineno)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:115,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-rsa-pss.c:118,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-pss.c:121,1
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/t-rsa-pss.c:124,1
    - Dst: isspace
      Src: /src/libgcrypt/tests/t-rsa-pss.c:124,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-rsa-pss.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buffer
    - line
    - lineno
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: copy_data
    functionSourceFile: /src/libgcrypt/tests/t-rsa-pss.c
    functionUses: 4
    functionsReached:
    - my_isascii
    - fail
    - strchr
    - xfree
    - isspace
    - xstrdup
    linkageType: ''
    returnType: void
    signature: void copy_data (char **buffer, const char *line, int lineno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-rsa-pss.c:142,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-rsa-pss.c:142,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:146,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:146,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:148,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/t-rsa-pss.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: hex2buffer
    functionSourceFile: /src/libgcrypt/tests/t-rsa-pss.c
    functionUses: 2
    functionsReached:
    - hexdigitp
    - strlen
    - xmalloc
    - xfree
    - xtoi_2
    linkageType: ''
    returnType: void
    signature: 'void *

      hex2buffer (const char *string, size_t *r_length)'
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-rsa-pss.c:187,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:189,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:191,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:193,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:195,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:197,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:199,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-pss.c:203,1
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/t-rsa-pss.c:208,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-pss.c:211,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-rsa-pss.c:211,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-rsa-pss.c:215,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-pss.c:217,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-rsa-pss.c:221,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-pss.c:223,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-rsa-pss.c:227,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-pss.c:229,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-rsa-pss.c:234,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-pss.c:241,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-rsa-pss.c:242,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-rsa-pss.c:246,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-pss.c:252,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-rsa-pss.c:253,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:257,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:258,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:259,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-rsa-pss.c:262,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-pss.c:264,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/t-rsa-pss.c:269,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:270,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-rsa-pss.c:273,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-pss.c:275,1
    - Dst: gcry_pk_random_override_new
      Src: /src/libgcrypt/tests/t-rsa-pss.c:283,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-pss.c:286,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-rsa-pss.c:287,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-rsa-pss.c:292,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/t-rsa-pss.c:293,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-rsa-pss.c:299,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-rsa-pss.c:300,1
    - Dst: strcpy
      Src: /src/libgcrypt/tests/t-rsa-pss.c:304,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:306,1
    - Dst: gcry_pk_hash_sign
      Src: /src/libgcrypt/tests/t-rsa-pss.c:309,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-pss.c:312,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-rsa-pss.c:312,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-rsa-pss.c:317,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-rsa-pss.c:321,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-rsa-pss.c:324,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-rsa-pss.c:326,1
    - Dst: gcry_sexp_nth_buffer
      Src: /src/libgcrypt/tests/t-rsa-pss.c:329,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-rsa-pss.c:330,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-rsa-pss.c:334,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/t-rsa-pss.c:336,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-rsa-pss.c:340,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:341,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-pss.c:343,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-rsa-pss.c:345,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-rsa-pss.c:346,1
    - Dst: gcry_pk_hash_verify
      Src: /src/libgcrypt/tests/t-rsa-pss.c:351,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-pss.c:353,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-rsa-pss.c:354,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-rsa-pss.c:358,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-rsa-pss.c:359,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-rsa-pss.c:360,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-rsa-pss.c:361,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/t-rsa-pss.c:363,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:364,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:365,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:366,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:367,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:368,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:369,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 135
    argCount: 7
    argNames:
    - n
    - e
    - d
    - sha_alg
    - msg
    - s
    - salt_val
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 370
    functionName: one_test_sexp
    functionSourceFile: /src/libgcrypt/tests/t-rsa-pss.c
    functionUses: 2
    functionsReached:
    - strlen
    - gcry_sexp_find_token
    - gcry_md_close
    - gcry_pk_hash_verify
    - gcry_ctx_release
    - gcry_sexp_release
    - gcry_sexp_build
    - gcry_md_open
    - info
    - gcry_xmalloc
    - strcmp
    - gpg_strerror
    - xfree
    - gcry_md_write
    - fail
    - gcry_sexp_nth_buffer
    - snprintf
    - hex2buffer
    - strcpy
    - gcry_pk_random_override_new
    - gcry_pk_hash_sign
    linkageType: ''
    returnType: void
    signature: "void one_test_sexp (const char *n, const char *e, const char *d,\n
      \              const char *sha_alg, const char *msg,\n               const char
      *s, const char *salt_val)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-rsa-pss.c:382,1
    - Dst: fopen
      Src: /src/libgcrypt/tests/t-rsa-pss.c:384,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-rsa-pss.c:386,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-rsa-pss.c:386,1
    - Dst: read_textline
      Src: /src/libgcrypt/tests/t-rsa-pss.c:391,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:393,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:396,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-rsa-pss.c:397,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:398,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-rsa-pss.c:399,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:400,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-rsa-pss.c:401,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:402,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-rsa-pss.c:403,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:404,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-rsa-pss.c:405,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:406,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-rsa-pss.c:407,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:408,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-rsa-pss.c:409,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-pss.c:411,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:413,1
    - Dst: one_test_sexp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:416,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-rsa-pss.c:419,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:420,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:421,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:422,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:423,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:427,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:428,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:429,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:430,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:431,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:432,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:433,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-pss.c:436,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-rsa-pss.c:438,1
    - Dst: fclose
      Src: /src/libgcrypt/tests/t-rsa-pss.c:440,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 441
    functionName: check_rsa_pss
    functionSourceFile: /src/libgcrypt/tests/t-rsa-pss.c
    functionUses: 0
    functionsReached:
    - fail
    - show_note
    - fclose
    - read_textline
    - info
    - copy_data
    - one_test_sexp
    - xfree
    - fopen
    - die
    - strncmp
    - strerror
    linkageType: ''
    returnType: void
    signature: void check_rsa_pss (const char *fname)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:456,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:461,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-rsa-pss.c:463,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-rsa-pss.c:470,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:472,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:477,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:483,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:488,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:493,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-rsa-pss.c:494,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-rsa-pss.c:498,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-rsa-pss.c:499,1
    - Dst: prepend_srcdir
      Src: /src/libgcrypt/tests/t-rsa-pss.c:504,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-rsa-pss.c:508,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-rsa-pss.c:509,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-rsa-pss.c:510,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-rsa-pss.c:512,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-rsa-pss.c:513,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-rsa-pss.c:514,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/t-rsa-pss.c:516,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/t-rsa-pss.c:519,1
    - Dst: check_rsa_pss
      Src: /src/libgcrypt/tests/t-rsa-pss.c:520,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/t-rsa-pss.c:521,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-rsa-pss.c:523,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-rsa-pss.c:525,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/t-rsa-pss.c:526,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 528
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-rsa-pss.c
    functionUses: 11
    functionsReached:
    - elapsed_time
    - start_timer
    - gcry_check_version
    - check_rsa_pss
    - exit
    - info
    - strcmp
    - prepend_srcdir
    - xfree
    - fputs
    - xstrdup
    - die
    - xgcry_control
    - gcry_fips_mode_active
    - strncmp
    - stop_timer
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-mlkem.c:59,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:62,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/t-mlkem.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - line
    - lineno
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: parse_annotation
    functionSourceFile: /src/libgcrypt/tests/t-mlkem.c
    functionUses: 1
    functionsReached:
    - strchr
    - atoi
    - fail
    linkageType: ''
    returnType: int
    signature: int parse_annotation (const char *line, int lineno)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-mlkem.c:99,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mlkem.c:101,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:103,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mlkem.c:107,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:109,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:115,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/t-mlkem.c:119,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/t-mlkem.c:120,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mlkem.c:122,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:124,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mlkem.c:128,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:130,1
    - Dst: gcry_kem_genkey
      Src: /src/libgcrypt/tests/t-mlkem.c:135,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:138,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mlkem.c:138,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-mlkem.c:140,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:144,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-mlkem.c:145,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-mlkem.c:147,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-mlkem.c:148,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-mlkem.c:149,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-mlkem.c:151,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-mlkem.c:152,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-mlkem.c:155,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:159,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-mlkem.c:160,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-mlkem.c:162,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-mlkem.c:163,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-mlkem.c:164,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-mlkem.c:166,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-mlkem.c:167,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:171,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:172,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:173,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:174,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 6
    argNames:
    - testno
    - algo
    - z_str
    - d_str
    - sk_str
    - pk_str
    argTypes:
    - int
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 175
    functionName: one_genkey_test
    functionSourceFile: /src/libgcrypt/tests/t-mlkem.c
    functionUses: 0
    functionsReached:
    - fail
    - hex2buffer
    - info
    - fprintf
    - memcmp
    - gpg_strerror
    - xfree
    - fputs
    - gcry_kem_genkey
    - memcpy
    - putc
    linkageType: ''
    returnType: void
    signature: "void one_genkey_test (int testno, int algo,\n                 const
      char *z_str, const char *d_str,\n                 const char *sk_str, const
      char *pk_str)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-mlkem.c:191,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mlkem.c:193,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:195,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mlkem.c:199,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:201,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mlkem.c:205,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:207,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mlkem.c:211,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:213,1
    - Dst: gcry_kem_encap
      Src: /src/libgcrypt/tests/t-mlkem.c:218,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:221,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mlkem.c:221,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-mlkem.c:223,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:227,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-mlkem.c:228,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-mlkem.c:230,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-mlkem.c:231,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-mlkem.c:232,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-mlkem.c:234,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-mlkem.c:235,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-mlkem.c:238,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:242,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-mlkem.c:243,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-mlkem.c:245,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-mlkem.c:246,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-mlkem.c:247,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-mlkem.c:249,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-mlkem.c:250,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:254,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:255,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:256,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:257,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 6
    argNames:
    - testno
    - algo
    - pk_str
    - coins_str
    - ct_str
    - ss_str
    argTypes:
    - int
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 258
    functionName: one_encap_test
    functionSourceFile: /src/libgcrypt/tests/t-mlkem.c
    functionUses: 0
    functionsReached:
    - fail
    - gcry_kem_encap
    - hex2buffer
    - info
    - fprintf
    - memcmp
    - gpg_strerror
    - xfree
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: "void one_encap_test (int testno, int algo,\n                const
      char *pk_str, const char *coins_str,\n                const char *ct_str, const
      char *ss_str)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-mlkem.c:272,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mlkem.c:274,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:276,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mlkem.c:280,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:282,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mlkem.c:286,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:288,1
    - Dst: gcry_kem_decap
      Src: /src/libgcrypt/tests/t-mlkem.c:293,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:296,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mlkem.c:296,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-mlkem.c:298,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:302,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-mlkem.c:303,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-mlkem.c:305,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-mlkem.c:306,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-mlkem.c:307,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-mlkem.c:309,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-mlkem.c:310,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:314,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:315,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:316,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 5
    argNames:
    - testno
    - algo
    - sk_str
    - ct_str
    - ss_str
    argTypes:
    - int
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 317
    functionName: one_decap_test
    functionSourceFile: /src/libgcrypt/tests/t-mlkem.c
    functionUses: 0
    functionsReached:
    - gcry_kem_decap
    - fail
    - hex2buffer
    - info
    - fprintf
    - memcmp
    - gpg_strerror
    - xfree
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: "void one_decap_test (int testno, int algo,\n                const
      char *sk_str, const char *ct_str, const char *ss_str)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-mlkem.c:328,1
    - Dst: fopen
      Src: /src/libgcrypt/tests/t-mlkem.c:330,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mlkem.c:332,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-mlkem.c:332,1
    - Dst: read_textline
      Src: /src/libgcrypt/tests/t-mlkem.c:338,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mlkem.c:340,1
    - Dst: parse_annotation
      Src: /src/libgcrypt/tests/t-mlkem.c:341,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mlkem.c:342,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-mlkem.c:343,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mlkem.c:344,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-mlkem.c:345,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mlkem.c:346,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-mlkem.c:347,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mlkem.c:348,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-mlkem.c:349,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mlkem.c:350,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mlkem.c:352,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mlkem.c:354,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-mlkem.c:355,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mlkem.c:356,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-mlkem.c:357,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mlkem.c:358,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-mlkem.c:359,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mlkem.c:360,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-mlkem.c:361,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mlkem.c:362,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-mlkem.c:363,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mlkem.c:364,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-mlkem.c:365,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mlkem.c:366,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-mlkem.c:367,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:369,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:371,1
    - Dst: one_decap_test
      Src: /src/libgcrypt/tests/t-mlkem.c:375,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-mlkem.c:378,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:379,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:380,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:381,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:382,1
    - Dst: one_encap_test
      Src: /src/libgcrypt/tests/t-mlkem.c:387,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-mlkem.c:390,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:391,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:392,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:393,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:394,1
    - Dst: one_genkey_test
      Src: /src/libgcrypt/tests/t-mlkem.c:399,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-mlkem.c:402,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:403,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:404,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:405,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:406,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:409,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:410,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:411,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:412,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:413,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:414,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:415,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mlkem.c:418,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-mlkem.c:420,1
    - Dst: fclose
      Src: /src/libgcrypt/tests/t-mlkem.c:422,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 98
    argCount: 2
    argNames:
    - algo
    - fname
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 423
    functionName: check_mlkem_kat
    functionSourceFile: /src/libgcrypt/tests/t-mlkem.c
    functionUses: 0
    functionsReached:
    - one_genkey_test
    - fail
    - show_note
    - fclose
    - one_decap_test
    - read_textline
    - info
    - copy_data
    - one_encap_test
    - xfree
    - fopen
    - die
    - parse_annotation
    - strncmp
    - strerror
    linkageType: ''
    returnType: void
    signature: void check_mlkem_kat (int algo, const char *fname)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mlkem.c:438,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mlkem.c:443,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-mlkem.c:445,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-mlkem.c:454,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mlkem.c:456,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mlkem.c:461,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mlkem.c:467,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mlkem.c:473,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mlkem.c:479,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mlkem.c:485,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:490,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-mlkem.c:491,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mlkem.c:495,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mlkem.c:496,1
    - Dst: prepend_srcdir
      Src: /src/libgcrypt/tests/t-mlkem.c:500,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-mlkem.c:504,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-mlkem.c:505,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mlkem.c:506,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-mlkem.c:508,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-mlkem.c:509,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-mlkem.c:510,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/t-mlkem.c:512,1
    - Dst: check_mlkem_kat
      Src: /src/libgcrypt/tests/t-mlkem.c:513,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/t-mlkem.c:514,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mlkem.c:516,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mlkem.c:518,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/t-mlkem.c:519,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 74
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 425
    functionDepth: 3
    functionLinenumber: 425
    functionLinenumberEnd: 521
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-mlkem.c
    functionUses: 11
    functionsReached:
    - elapsed_time
    - start_timer
    - gcry_check_version
    - exit
    - info
    - strcmp
    - prepend_srcdir
    - xfree
    - fputs
    - xstrdup
    - die
    - xgcry_control
    - strncmp
    - stop_timer
    - check_mlkem_kat
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/random.c:51,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/random.c:54,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/random.c:54,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/random.c:54,1
    - Dst: strcpy
      Src: /src/libgcrypt/tests/random.c:55,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/random.c:56,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/random.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: prepend_srcdir
    functionSourceFile: /src/libgcrypt/tests/random.c
    functionUses: 13
    functionsReached:
    - strlen
    - getenv
    - xmalloc
    - strcpy
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      prepend_srcdir (const char *fname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:67,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/random.c:69,1
    - Dst: putc
      Src: /src/libgcrypt/tests/random.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - text
    - buf
    - n
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: print_hex
    functionSourceFile: /src/libgcrypt/tests/random.c
    functionUses: 6
    functionsReached:
    - fprintf
    - info
    - putc
    linkageType: ''
    returnType: void
    signature: void print_hex (const char *text, const void *buf, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:80,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/random.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - cb_data
    - what
    - printchar
    - current
    - total
    argTypes:
    - void*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: progress_cb
    functionSourceFile: /src/libgcrypt/tests/random.c
    functionUses: 12
    functionsReached:
    - fflush
    - info
    linkageType: ''
    returnType: void
    signature: "void progress_cb (void *cb_data, const char *what, int printchar,\n
      \            int current, int total)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/libgcrypt/tests/random.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - fd
    - buf
    - nbytes
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 107
    functionName: writen
    functionSourceFile: /src/libgcrypt/tests/random.c
    functionUses: 10
    functionsReached:
    - write
    linkageType: ''
    returnType: int
    signature: int writen (int fd, const void *buf, size_t nbytes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libgcrypt/tests/random.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - fd
    - buf
    - buflen
    - ret_nread
    argTypes:
    - int
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 136
    functionName: readn
    functionSourceFile: /src/libgcrypt/tests/random.c
    functionUses: 3
    functionsReached:
    - read
    linkageType: ''
    returnType: int
    signature: int readn (int fd, void *buf, size_t buflen, size_t *ret_nread)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:146,1
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:155,1
    - Dst: gcry_randomize
      Src: /src/libgcrypt/tests/random.c:158,1
    - Dst: print_hex
      Src: /src/libgcrypt/tests/random.c:160,1
    - Dst: pipe
      Src: /src/libgcrypt/tests/random.c:162,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:163,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/random.c:163,1
    - Dst: fork
      Src: /src/libgcrypt/tests/random.c:165,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:167,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/random.c:167,1
    - Dst: gcry_randomize
      Src: /src/libgcrypt/tests/random.c:170,1
    - Dst: writen
      Src: /src/libgcrypt/tests/random.c:171,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:172,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/random.c:172,1
    - Dst: print_hex
      Src: /src/libgcrypt/tests/random.c:175,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/random.c:176,1
    - Dst: _exit
      Src: /src/libgcrypt/tests/random.c:178,1
    - Dst: gcry_randomize
      Src: /src/libgcrypt/tests/random.c:180,1
    - Dst: print_hex
      Src: /src/libgcrypt/tests/random.c:182,1
    - Dst: close
      Src: /src/libgcrypt/tests/random.c:184,1
    - Dst: readn
      Src: /src/libgcrypt/tests/random.c:185,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:186,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/random.c:186,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:188,1
    - Dst: waitpid
      Src: /src/libgcrypt/tests/random.c:190,1
    - Dst: WIFEXITED
      Src: /src/libgcrypt/tests/random.c:193,1
    - Dst: WEXITSTATUS
      Src: /src/libgcrypt/tests/random.c:193,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:196,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/random.c:198,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:199,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 201
    functionName: check_forking
    functionSourceFile: /src/libgcrypt/tests/random.c
    functionUses: 0
    functionsReached:
    - pipe
    - close
    - info
    - _exit
    - fflush
    - WEXITSTATUS
    - readn
    - memcmp
    - waitpid
    - gcry_randomize
    - die
    - writen
    - print_hex
    - fork
    - strerror
    - WIFEXITED
    linkageType: ''
    returnType: void
    signature: void check_forking (void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:211,1
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:220,1
    - Dst: gcry_create_nonce
      Src: /src/libgcrypt/tests/random.c:225,1
    - Dst: print_hex
      Src: /src/libgcrypt/tests/random.c:227,1
    - Dst: pipe
      Src: /src/libgcrypt/tests/random.c:229,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:230,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/random.c:230,1
    - Dst: fork
      Src: /src/libgcrypt/tests/random.c:232,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:234,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/random.c:234,1
    - Dst: gcry_create_nonce
      Src: /src/libgcrypt/tests/random.c:237,1
    - Dst: writen
      Src: /src/libgcrypt/tests/random.c:238,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:239,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/random.c:239,1
    - Dst: print_hex
      Src: /src/libgcrypt/tests/random.c:242,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/random.c:243,1
    - Dst: _exit
      Src: /src/libgcrypt/tests/random.c:245,1
    - Dst: gcry_create_nonce
      Src: /src/libgcrypt/tests/random.c:247,1
    - Dst: print_hex
      Src: /src/libgcrypt/tests/random.c:249,1
    - Dst: close
      Src: /src/libgcrypt/tests/random.c:251,1
    - Dst: readn
      Src: /src/libgcrypt/tests/random.c:252,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:253,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/random.c:253,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:255,1
    - Dst: waitpid
      Src: /src/libgcrypt/tests/random.c:257,1
    - Dst: WIFEXITED
      Src: /src/libgcrypt/tests/random.c:260,1
    - Dst: WEXITSTATUS
      Src: /src/libgcrypt/tests/random.c:260,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:263,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/random.c:265,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:266,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 268
    functionName: check_nonce_forking
    functionSourceFile: /src/libgcrypt/tests/random.c
    functionUses: 0
    functionsReached:
    - pipe
    - strerror
    - close
    - info
    - _exit
    - fflush
    - WEXITSTATUS
    - readn
    - memcmp
    - waitpid
    - die
    - writen
    - print_hex
    - fork
    - gcry_create_nonce
    - WIFEXITED
    linkageType: ''
    returnType: void
    signature: void check_nonce_forking (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:277,1
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:284,1
    - Dst: gcry_randomize
      Src: /src/libgcrypt/tests/random.c:286,1
    - Dst: print_hex
      Src: /src/libgcrypt/tests/random.c:288,1
    - Dst: fork
      Src: /src/libgcrypt/tests/random.c:290,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:292,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/random.c:292,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/random.c:295,1
    - Dst: gcry_randomize
      Src: /src/libgcrypt/tests/random.c:298,1
    - Dst: print_hex
      Src: /src/libgcrypt/tests/random.c:301,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/random.c:302,1
    - Dst: _exit
      Src: /src/libgcrypt/tests/random.c:304,1
    - Dst: waitpid
      Src: /src/libgcrypt/tests/random.c:307,1
    - Dst: WIFEXITED
      Src: /src/libgcrypt/tests/random.c:310,1
    - Dst: WEXITSTATUS
      Src: /src/libgcrypt/tests/random.c:310,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:313,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 316
    functionName: check_close_random_device
    functionSourceFile: /src/libgcrypt/tests/random.c
    functionUses: 0
    functionsReached:
    - info
    - _exit
    - fflush
    - WEXITSTATUS
    - waitpid
    - gcry_randomize
    - xgcry_control
    - die
    - print_hex
    - fork
    - strerror
    - WIFEXITED
    linkageType: ''
    returnType: void
    signature: void check_close_random_device (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/random.c:323,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: rng_type
    functionSourceFile: /src/libgcrypt/tests/random.c
    functionUses: 0
    functionsReached:
    - die
    - gcry_control
    linkageType: ''
    returnType: int
    signature: int rng_type (void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:336,1
    - Dst: rng_type
      Src: /src/libgcrypt/tests/random.c:338,1
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:340,1
    - Dst: gcry_randomize
      Src: /src/libgcrypt/tests/random.c:342,1
    - Dst: print_hex
      Src: /src/libgcrypt/tests/random.c:344,1
    - Dst: rng_type
      Src: /src/libgcrypt/tests/random.c:345,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:346,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/random.c:348,1
    - Dst: rng_type
      Src: /src/libgcrypt/tests/random.c:350,1
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:352,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:354,1
    - Dst: gcry_randomize
      Src: /src/libgcrypt/tests/random.c:355,1
    - Dst: print_hex
      Src: /src/libgcrypt/tests/random.c:357,1
    - Dst: rng_type
      Src: /src/libgcrypt/tests/random.c:358,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:359,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/random.c:361,1
    - Dst: rng_type
      Src: /src/libgcrypt/tests/random.c:363,1
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:365,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:367,1
    - Dst: gcry_randomize
      Src: /src/libgcrypt/tests/random.c:368,1
    - Dst: print_hex
      Src: /src/libgcrypt/tests/random.c:370,1
    - Dst: rng_type
      Src: /src/libgcrypt/tests/random.c:371,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:372,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/random.c:374,1
    - Dst: rng_type
      Src: /src/libgcrypt/tests/random.c:376,1
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:378,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:380,1
    - Dst: gcry_randomize
      Src: /src/libgcrypt/tests/random.c:381,1
    - Dst: print_hex
      Src: /src/libgcrypt/tests/random.c:383,1
    - Dst: rng_type
      Src: /src/libgcrypt/tests/random.c:384,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:385,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 386
    functionName: check_rng_type_switching
    functionSourceFile: /src/libgcrypt/tests/random.c
    functionUses: 0
    functionsReached:
    - info
    - rng_type
    - gcry_randomize
    - xgcry_control
    - die
    - print_hex
    linkageType: ''
    returnType: void
    signature: void check_rng_type_switching (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:395,1
    - Dst: rng_type
      Src: /src/libgcrypt/tests/random.c:397,1
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:399,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/random.c:402,1
    - Dst: rng_type
      Src: /src/libgcrypt/tests/random.c:404,1
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:406,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:408,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/random.c:410,1
    - Dst: rng_type
      Src: /src/libgcrypt/tests/random.c:412,1
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:414,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:416,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/random.c:418,1
    - Dst: rng_type
      Src: /src/libgcrypt/tests/random.c:420,1
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:422,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:424,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 425
    functionName: check_early_rng_type_switching
    functionSourceFile: /src/libgcrypt/tests/random.c
    functionUses: 0
    functionsReached:
    - rng_type
    - die
    - info
    - xgcry_control
    linkageType: ''
    returnType: void
    signature: void check_early_rng_type_switching (void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:459,1
    - Dst: memset
      Src: /src/libgcrypt/tests/random.c:461,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/random.c:463,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/random.c:465,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/random.c:466,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:467,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/random.c:469,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/random.c:470,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:471,1
    - Dst: rng_type
      Src: /src/libgcrypt/tests/random.c:473,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/random.c:475,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/random.c:476,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:477,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/random.c:481,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/random.c:482,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:483,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/random.c:484,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/random.c:485,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:486,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/random.c:488,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/random.c:489,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:490,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/random.c:492,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/random.c:494,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:496,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/random.c:498,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/random.c:499,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:501,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/random.c:502,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 505
    functionName: check_drbg_reinit
    functionSourceFile: /src/libgcrypt/tests/random.c
    functionUses: 0
    functionsReached:
    - strlen
    - DIM
    - info
    - gcry_control
    - rng_type
    - gpg_err_code
    - memset
    - gpg_strerror
    - die
    linkageType: ''
    returnType: void
    signature: void check_drbg_reinit (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:535,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/random.c:541,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/random.c:542,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/random.c:543,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/random.c:544,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/random.c:545,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/random.c:546,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/random.c:548,1
    - Dst: posix_spawn
      Src: /src/libgcrypt/tests/random.c:551,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:552,1
    - Dst: waitpid
      Src: /src/libgcrypt/tests/random.c:554,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:555,1
    - Dst: WIFEXITED
      Src: /src/libgcrypt/tests/random.c:557,1
    - Dst: WEXITSTATUS
      Src: /src/libgcrypt/tests/random.c:557,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:558,1
    - Dst: WEXITSTATUS
      Src: /src/libgcrypt/tests/random.c:558,1
    - Dst: WIFEXITED
      Src: /src/libgcrypt/tests/random.c:559,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:560,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/random.c:563,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - program
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 565
    functionName: run_all_rng_tests
    functionSourceFile: /src/libgcrypt/tests/random.c
    functionUses: 0
    functionsReached:
    - posix_spawn
    - info
    - WEXITSTATUS
    - xfree
    - waitpid
    - xstrdup
    - die
    - WIFEXITED
    linkageType: ''
    returnType: void
    signature: void run_all_rng_tests (const char *program)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgcrypt/tests/random.c:590,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/random.c:594,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/random.c:595,1
    - Dst: malloc
      Src: /src/libgcrypt/tests/random.c:597,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:599,1
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:604,1
    - Dst: strcpy
      Src: /src/libgcrypt/tests/random.c:605,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/random.c:606,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/random.c:608,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/random.c:610,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/random.c:612,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/random.c:613,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/random.c:614,1
    - Dst: system
      Src: /src/libgcrypt/tests/random.c:615,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:616,1
    - Dst: free
      Src: /src/libgcrypt/tests/random.c:619,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - program
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 620
    functionName: run_all_rng_tests
    functionSourceFile: /src/libgcrypt/tests/random.c
    functionUses: 0
    functionsReached:
    - strlen
    - free
    - info
    - system
    - strcpy
    - malloc
    - die
    - strcat
    linkageType: ''
    returnType: void
    signature: void run_all_rng_tests (const char *program)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:631,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/random.c:633,1
    - Dst: gcry_randomize
      Src: /src/libgcrypt/tests/random.c:634,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/random.c:635,1
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:637,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/random.c:637,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/random.c:641,1
    - Dst: gcry_randomize
      Src: /src/libgcrypt/tests/random.c:643,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/random.c:644,1
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:646,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/random.c:646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 649
    functionName: run_benchmark
    functionSourceFile: /src/libgcrypt/tests/random.c
    functionUses: 0
    functionsReached:
    - elapsed_time
    - start_timer
    - info
    - gcry_randomize
    - stop_timer
    linkageType: ''
    returnType: void
    signature: void run_benchmark (void)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:668,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/random.c:673,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/random.c:678,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/random.c:680,1
    - Dst: exit
      Src: /src/libgcrypt/tests/random.c:681,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/random.c:683,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/random.c:688,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/random.c:693,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/random.c:698,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/random.c:703,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/random.c:708,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/random.c:713,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/random.c:718,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/random.c:722,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/random.c:726,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/random.c:728,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/random.c:731,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/random.c:733,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/random.c:736,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/random.c:742,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:743,1
    - Dst: signal
      Src: /src/libgcrypt/tests/random.c:751,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/random.c:760,1
    - Dst: check_early_rng_type_switching
      Src: /src/libgcrypt/tests/random.c:761,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/random.c:764,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/random.c:765,1
    - Dst: die
      Src: /src/libgcrypt/tests/random.c:766,1
    - Dst: gcry_set_progress_handler
      Src: /src/libgcrypt/tests/random.c:769,1
    - Dst: prepend_srcdir
      Src: /src/libgcrypt/tests/random.c:773,1
    - Dst: access
      Src: /src/libgcrypt/tests/random.c:775,1
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:776,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/random.c:777,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/random.c:778,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/random.c:781,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/random.c:783,1
    - Dst: run_benchmark
      Src: /src/libgcrypt/tests/random.c:787,1
    - Dst: check_forking
      Src: /src/libgcrypt/tests/random.c:791,1
    - Dst: check_nonce_forking
      Src: /src/libgcrypt/tests/random.c:792,1
    - Dst: check_close_random_device
      Src: /src/libgcrypt/tests/random.c:793,1
    - Dst: getenv
      Src: /src/libgcrypt/tests/random.c:797,1
    - Dst: check_drbg_reinit
      Src: /src/libgcrypt/tests/random.c:798,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/random.c:801,1
    - Dst: check_rng_type_switching
      Src: /src/libgcrypt/tests/random.c:802,1
    - Dst: run_all_rng_tests
      Src: /src/libgcrypt/tests/random.c:805,1
    - Dst: gcry_get_config
      Src: /src/libgcrypt/tests/random.c:814,1
    - Dst: split_fields_colon
      Src: /src/libgcrypt/tests/random.c:816,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/random.c:816,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/random.c:817,1
    - Dst: info
      Src: /src/libgcrypt/tests/random.c:818,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/random.c:819,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/random.c:823,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 123
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 826
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/random.c
    functionUses: 11
    functionsReached:
    - check_forking
    - run_benchmark
    - exit
    - access
    - xgcry_control
    - check_close_random_device
    - DIM
    - die
    - gcry_check_version
    - check_rng_type_switching
    - info
    - gcry_control
    - strcmp
    - prepend_srcdir
    - xfree
    - signal
    - split_fields_colon
    - gcry_fips_mode_active
    - check_nonce_forking
    - run_all_rng_tests
    - gcry_free
    - atoi
    - check_early_rng_type_switching
    - getenv
    - gcry_get_config
    - fputs
    - gcry_set_progress_handler
    - check_drbg_reinit
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-thread-local.c:76,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-thread-local.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - argarg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: check_ls_thread
    functionSourceFile: /src/libgcrypt/tests/t-thread-local.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - info
    linkageType: ''
    returnType: THREAD_RET_TYPE
    signature: THREAD_RET_TYPE check_ls_thread (void *argarg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/t-thread-local.c:96,1
    - Dst: CreateThread
      Src: /src/libgcrypt/tests/t-thread-local.c:98,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-thread-local.c:100,1
    - Dst: GetLastError
      Src: /src/libgcrypt/tests/t-thread-local.c:101,1
    - Dst: WaitForSingleObject
      Src: /src/libgcrypt/tests/t-thread-local.c:106,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-thread-local.c:108,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-thread-local.c:110,1
    - Dst: GetLastError
      Src: /src/libgcrypt/tests/t-thread-local.c:111,1
    - Dst: CloseHandle
      Src: /src/libgcrypt/tests/t-thread-local.c:112,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/t-thread-local.c:122,1
    - Dst: pthread_create
      Src: /src/libgcrypt/tests/t-thread-local.c:124,1
    - Dst: pthread_join
      Src: /src/libgcrypt/tests/t-thread-local.c:129,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-thread-local.c:131,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-thread-local.c:132,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-thread-local.c:134,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-thread-local.c:140,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-thread-local.c:142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 143
    functionName: check_thread_local
    functionSourceFile: /src/libgcrypt/tests/t-thread-local.c
    functionUses: 0
    functionsReached:
    - strerror
    - fail
    - WaitForSingleObject
    - CreateThread
    - info
    - gcry_xmalloc
    - pthread_create
    - pthread_join
    - die
    - GetLastError
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void check_thread_local (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-thread-local.c:156,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-thread-local.c:161,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-thread-local.c:163,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-thread-local.c:168,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-thread-local.c:170,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-thread-local.c:175,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-thread-local.c:181,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-thread-local.c:182,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-thread-local.c:185,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-thread-local.c:186,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-thread-local.c:187,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-thread-local.c:189,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-thread-local.c:190,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-thread-local.c:191,1
    - Dst: check_thread_local
      Src: /src/libgcrypt/tests/t-thread-local.c:193,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 196
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-thread-local.c
    functionUses: 11
    functionsReached:
    - gcry_check_version
    - exit
    - strcmp
    - check_thread_local
    - fputs
    - xgcry_control
    - die
    - strncmp
    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: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: DIM
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 324
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: DIMof
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIMof(type,member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: xfree
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 1726
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xfree(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: spacep
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 137
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: spacep(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: my_stpcpy
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      my_stpcpy (char *a, const char *b)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libgcrypt/tests/testdrv.c:172,1
    - Dst: flockfile
      Src: /src/libgcrypt/tests/testdrv.c:174,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/testdrv.c:176,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/testdrv.c:177,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/testdrv.c:178,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/testdrv.c:179,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/testdrv.c:180,1
    - Dst: putc
      Src: /src/libgcrypt/tests/testdrv.c:181,1
    - Dst: funlockfile
      Src: /src/libgcrypt/tests/testdrv.c:183,1
    - Dst: exit
      Src: /src/libgcrypt/tests/testdrv.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 186
    functionName: die
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 64
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - exit
    - flockfile
    - fflush
    - fprintf
    - funlockfile
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void die (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libgcrypt/tests/testdrv.c:191,1
    - Dst: die
      Src: /src/libgcrypt/tests/testdrv.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: xmalloc
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 232
    functionsReached:
    - die
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xmalloc (size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libgcrypt/tests/testdrv.c:200,1
    - Dst: die
      Src: /src/libgcrypt/tests/testdrv.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: xcalloc
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 54
    functionsReached:
    - die
    - calloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xcalloc (size_t n, size_t m)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgcrypt/tests/testdrv.c:209,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/testdrv.c:210,1
    - Dst: strcpy
      Src: /src/libgcrypt/tests/testdrv.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: xstrdup
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 174
    functionsReached:
    - xmalloc
    - strcpy
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      xstrdup (const char *s)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libgcrypt/tests/testdrv.c:221,1
    - Dst: flockfile
      Src: /src/libgcrypt/tests/testdrv.c:223,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/testdrv.c:225,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/testdrv.c:226,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/testdrv.c:227,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/testdrv.c:228,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/testdrv.c:229,1
    - Dst: putc
      Src: /src/libgcrypt/tests/testdrv.c:230,1
    - Dst: funlockfile
      Src: /src/libgcrypt/tests/testdrv.c:232,1
    - Dst: exit
      Src: /src/libgcrypt/tests/testdrv.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 237
    functionName: fail
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 120
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - exit
    - flockfile
    - fflush
    - fprintf
    - funlockfile
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void fail (const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libgcrypt/tests/testdrv.c:247,1
    - Dst: flockfile
      Src: /src/libgcrypt/tests/testdrv.c:249,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/testdrv.c:251,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/testdrv.c:252,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/testdrv.c:253,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/testdrv.c:254,1
    - Dst: putc
      Src: /src/libgcrypt/tests/testdrv.c:255,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/testdrv.c:256,1
    - Dst: funlockfile
      Src: /src/libgcrypt/tests/testdrv.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 260
    functionName: info
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 891
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - flockfile
    - fflush
    - fprintf
    - funlockfile
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void info (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libgcrypt/tests/testdrv.c:268,1
    - Dst: flockfile
      Src: /src/libgcrypt/tests/testdrv.c:270,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/testdrv.c:272,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/testdrv.c:273,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/testdrv.c:274,1
    - Dst: putc
      Src: /src/libgcrypt/tests/testdrv.c:275,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/testdrv.c:276,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/testdrv.c:277,1
    - Dst: funlockfile
      Src: /src/libgcrypt/tests/testdrv.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 281
    functionName: printresult
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 1
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - flockfile
    - fflush
    - funlockfile
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void printresult (const char *format, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/libgcrypt/tests/testdrv.c:299,1
    - Dst: strpbrk
      Src: /src/libgcrypt/tests/testdrv.c:299,1
    - Dst: die
      Src: /src/libgcrypt/tests/testdrv.c:307,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/testdrv.c:308,1
    - Dst: die
      Src: /src/libgcrypt/tests/testdrv.c:311,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/testdrv.c:312,1
    - Dst: strcpy
      Src: /src/libgcrypt/tests/testdrv.c:316,1
    - Dst: strpbrk
      Src: /src/libgcrypt/tests/testdrv.c:317,1
    - Dst: spacep
      Src: /src/libgcrypt/tests/testdrv.c:320,1
    - Dst: spacep
      Src: /src/libgcrypt/tests/testdrv.c:322,1
    - Dst: spacep
      Src: /src/libgcrypt/tests/testdrv.c:326,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/testdrv.c:328,1
    - Dst: spacep
      Src: /src/libgcrypt/tests/testdrv.c:328,1
    - Dst: die
      Src: /src/libgcrypt/tests/testdrv.c:334,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 337
    functionName: strtokenize
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 21
    functionsReached:
    - strpbrk
    - strlen
    - spacep
    - xmalloc
    - strcpy
    - die
    linkageType: ''
    returnType: char
    signature: 'char **

      strtokenize (const char *string, const char *delim)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: my_stpcpy
      Src: /src/libgcrypt/tests/testdrv.c:349,1
    - Dst: strpbrk
      Src: /src/libgcrypt/tests/testdrv.c:350,1
    - Dst: my_stpcpy
      Src: /src/libgcrypt/tests/testdrv.c:353,1
    - Dst: my_stpcpy
      Src: /src/libgcrypt/tests/testdrv.c:364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - buffer
    - string
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 367
    functionName: build_w32_commandline_copy
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 0
    functionsReached:
    - strpbrk
    - my_stpcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      build_w32_commandline_copy (char *buffer, const char *string)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgcrypt/tests/testdrv.c:379,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/testdrv.c:385,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/testdrv.c:392,1
    - Dst: build_w32_commandline_copy
      Src: /src/libgcrypt/tests/testdrv.c:393,1
    - Dst: build_w32_commandline_copy
      Src: /src/libgcrypt/tests/testdrv.c:397,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pgmname
    - argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 401
    functionName: build_w32_commandline
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 1
    functionsReached:
    - xmalloc
    - build_w32_commandline_copy
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      build_w32_commandline (const char *pgmname, char **argv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileW
      Src: /src/libgcrypt/tests/testdrv.c:408,1
    - Dst: die
      Src: /src/libgcrypt/tests/testdrv.c:413,1
    - Dst: GetLastError
      Src: /src/libgcrypt/tests/testdrv.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - for_write
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 415
    functionName: w32_open_null
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 0
    functionsReached:
    - die
    - GetLastError
    - CreateFileW
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE w32_open_null (int for_write)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/tests/testdrv.c:437,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/testdrv.c:441,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/testdrv.c:441,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/testdrv.c:441,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/testdrv.c:443,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/testdrv.c:443,1
    - Dst: strcpy
      Src: /src/libgcrypt/tests/testdrv.c:444,1
    - Dst: my_stpcpy
      Src: /src/libgcrypt/tests/testdrv.c:444,1
    - Dst: build_w32_commandline
      Src: /src/libgcrypt/tests/testdrv.c:449,1
    - Dst: memset
      Src: /src/libgcrypt/tests/testdrv.c:451,1
    - Dst: w32_open_null
      Src: /src/libgcrypt/tests/testdrv.c:454,1
    - Dst: GetStdHandle
      Src: /src/libgcrypt/tests/testdrv.c:456,1
    - Dst: w32_open_null
      Src: /src/libgcrypt/tests/testdrv.c:458,1
    - Dst: GetStdHandle
      Src: /src/libgcrypt/tests/testdrv.c:459,1
    - Dst: xcalloc
      Src: /src/libgcrypt/tests/testdrv.c:465,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/testdrv.c:467,1
    - Dst: putenv
      Src: /src/libgcrypt/tests/testdrv.c:469,1
    - Dst: info
      Src: /src/libgcrypt/tests/testdrv.c:473,1
    - Dst: CreateProcess
      Src: /src/libgcrypt/tests/testdrv.c:474,1
    - Dst: GetPriorityClass
      Src: /src/libgcrypt/tests/testdrv.c:480,1
    - Dst: GetCurrentProcess
      Src: /src/libgcrypt/tests/testdrv.c:480,1
    - Dst: fail
      Src: /src/libgcrypt/tests/testdrv.c:488,1
    - Dst: GetLastError
      Src: /src/libgcrypt/tests/testdrv.c:488,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/testdrv.c:497,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/testdrv.c:498,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/testdrv.c:500,1
    - Dst: CloseHandle
      Src: /src/libgcrypt/tests/testdrv.c:501,1
    - Dst: CloseHandle
      Src: /src/libgcrypt/tests/testdrv.c:503,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/testdrv.c:504,1
    - Dst: info
      Src: /src/libgcrypt/tests/testdrv.c:509,1
    - Dst: ResumeThread
      Src: /src/libgcrypt/tests/testdrv.c:515,1
    - Dst: CloseHandle
      Src: /src/libgcrypt/tests/testdrv.c:516,1
    - Dst: xcalloc
      Src: /src/libgcrypt/tests/testdrv.c:532,1
    - Dst: strrchr
      Src: /src/libgcrypt/tests/testdrv.c:533,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/testdrv.c:537,1
    - Dst: fork
      Src: /src/libgcrypt/tests/testdrv.c:543,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/testdrv.c:546,1
    - Dst: fail
      Src: /src/libgcrypt/tests/testdrv.c:547,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/testdrv.c:547,1
    - Dst: putenv
      Src: /src/libgcrypt/tests/testdrv.c:556,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/testdrv.c:556,1
    - Dst: open
      Src: /src/libgcrypt/tests/testdrv.c:559,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/testdrv.c:562,1
    - Dst: die
      Src: /src/libgcrypt/tests/testdrv.c:563,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/testdrv.c:563,1
    - Dst: dup2
      Src: /src/libgcrypt/tests/testdrv.c:565,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/testdrv.c:567,1
    - Dst: die
      Src: /src/libgcrypt/tests/testdrv.c:568,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/testdrv.c:568,1
    - Dst: open
      Src: /src/libgcrypt/tests/testdrv.c:573,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/testdrv.c:576,1
    - Dst: die
      Src: /src/libgcrypt/tests/testdrv.c:577,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/testdrv.c:577,1
    - Dst: dup2
      Src: /src/libgcrypt/tests/testdrv.c:579,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/testdrv.c:581,1
    - Dst: die
      Src: /src/libgcrypt/tests/testdrv.c:582,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/testdrv.c:582,1
    - Dst: execv
      Src: /src/libgcrypt/tests/testdrv.c:587,1
    - Dst: info
      Src: /src/libgcrypt/tests/testdrv.c:588,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/testdrv.c:588,1
    - Dst: _exit
      Src: /src/libgcrypt/tests/testdrv.c:589,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/testdrv.c:594,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 101
    argCount: 4
    argNames:
    - pgmname
    - argv
    - envp
    - pid
    argTypes:
    - char*
    - char**
    - char**
    - MYPID_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 597
    functionName: my_spawn
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - strlen
    - _exit
    - xmalloc
    - xstrdup
    - fork
    - CreateProcess
    - build_w32_commandline
    - ResumeThread
    - die
    - dup2
    - info
    - my_stpcpy
    - w32_open_null
    - strcmp
    - GetStdHandle
    - memset
    - xfree
    - execv
    - fail
    - open
    - putenv
    - xcalloc
    - GetPriorityClass
    - strcpy
    - strrchr
    - strerror
    - GetLastError
    - GetCurrentProcess
    linkageType: ''
    returnType: int
    signature: int my_spawn (const char *pgmname, char **argv, char **envp, MYPID_T
      *pid)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: die
      Src: /src/libgcrypt/tests/testdrv.c:613,1
    - Dst: WaitForMultipleObjects
      Src: /src/libgcrypt/tests/testdrv.c:616,1
    - Dst: fail
      Src: /src/libgcrypt/tests/testdrv.c:620,1
    - Dst: fail
      Src: /src/libgcrypt/tests/testdrv.c:625,1
    - Dst: GetLastError
      Src: /src/libgcrypt/tests/testdrv.c:626,1
    - Dst: GetExitCodeProcess
      Src: /src/libgcrypt/tests/testdrv.c:630,1
    - Dst: fail
      Src: /src/libgcrypt/tests/testdrv.c:632,1
    - Dst: GetLastError
      Src: /src/libgcrypt/tests/testdrv.c:633,1
    - Dst: fail
      Src: /src/libgcrypt/tests/testdrv.c:643,1
    - Dst: CloseHandle
      Src: /src/libgcrypt/tests/testdrv.c:646,1
    - Dst: die
      Src: /src/libgcrypt/tests/testdrv.c:653,1
    - Dst: waitpid
      Src: /src/libgcrypt/tests/testdrv.c:655,1
    - Dst: fail
      Src: /src/libgcrypt/tests/testdrv.c:661,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/testdrv.c:662,1
    - Dst: die
      Src: /src/libgcrypt/tests/testdrv.c:666,1
    - Dst: WIFEXITED
      Src: /src/libgcrypt/tests/testdrv.c:668,1
    - Dst: WEXITSTATUS
      Src: /src/libgcrypt/tests/testdrv.c:668,1
    - Dst: fail
      Src: /src/libgcrypt/tests/testdrv.c:670,1
    - Dst: WIFEXITED
      Src: /src/libgcrypt/tests/testdrv.c:672,1
    - Dst: WEXITSTATUS
      Src: /src/libgcrypt/tests/testdrv.c:672,1
    - Dst: WEXITSTATUS
      Src: /src/libgcrypt/tests/testdrv.c:674,1
    - Dst: WIFEXITED
      Src: /src/libgcrypt/tests/testdrv.c:677,1
    - Dst: info
      Src: /src/libgcrypt/tests/testdrv.c:679,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - pgmname
    - pid
    - r_exitcode
    argTypes:
    - char*
    - MYPID_T
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 691
    functionName: my_wait
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 0
    functionsReached:
    - strerror
    - fail
    - info
    - WEXITSTATUS
    - WaitForMultipleObjects
    - waitpid
    - GetExitCodeProcess
    - die
    - GetLastError
    - CloseHandle
    - WIFEXITED
    linkageType: ''
    returnType: int
    signature: int my_wait (const char *pgmname, MYPID_T pid, int *r_exitcode)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printresult
      Src: /src/libgcrypt/tests/testdrv.c:710,1
    - Dst: strtokenize
      Src: /src/libgcrypt/tests/testdrv.c:715,1
    - Dst: my_spawn
      Src: /src/libgcrypt/tests/testdrv.c:716,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/testdrv.c:717,1
    - Dst: printresult
      Src: /src/libgcrypt/tests/testdrv.c:720,1
    - Dst: my_wait
      Src: /src/libgcrypt/tests/testdrv.c:724,1
    - Dst: printresult
      Src: /src/libgcrypt/tests/testdrv.c:727,1
    - Dst: printresult
      Src: /src/libgcrypt/tests/testdrv.c:732,1
    - Dst: printresult
      Src: /src/libgcrypt/tests/testdrv.c:737,1
    - Dst: printresult
      Src: /src/libgcrypt/tests/testdrv.c:742,1
    - Dst: printresult
      Src: /src/libgcrypt/tests/testdrv.c:747,1
    - Dst: printresult
      Src: /src/libgcrypt/tests/testdrv.c:752,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 755
    functionName: run_one_test
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 1
    functionsReached:
    - my_spawn
    - printresult
    - strtokenize
    - xfree
    - my_wait
    linkageType: ''
    returnType: void
    signature: void run_one_test (int idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/testdrv.c:769,1
    - Dst: run_one_test
      Src: /src/libgcrypt/tests/testdrv.c:771,1
    - Dst: fail
      Src: /src/libgcrypt/tests/testdrv.c:776,1
    - Dst: run_one_test
      Src: /src/libgcrypt/tests/testdrv.c:784,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 786
    functionName: runtests
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 0
    functionsReached:
    - strcmp
    - run_one_test
    - fail
    linkageType: ''
    returnType: void
    signature: void runtests (char **argv)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/testdrv.c:803,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/testdrv.c:808,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/testdrv.c:810,1
    - Dst: exit
      Src: /src/libgcrypt/tests/testdrv.c:819,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/testdrv.c:821,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/testdrv.c:823,1
    - Dst: exit
      Src: /src/libgcrypt/tests/testdrv.c:824,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/testdrv.c:826,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/testdrv.c:831,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/testdrv.c:837,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/testdrv.c:842,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/testdrv.c:847,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/testdrv.c:852,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/testdrv.c:857,1
    - Dst: die
      Src: /src/libgcrypt/tests/testdrv.c:858,1
    - Dst: getenv
      Src: /src/libgcrypt/tests/testdrv.c:861,1
    - Dst: xcalloc
      Src: /src/libgcrypt/tests/testdrv.c:863,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/testdrv.c:864,1
    - Dst: access
      Src: /src/libgcrypt/tests/testdrv.c:866,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/testdrv.c:867,1
    - Dst: printf
      Src: /src/libgcrypt/tests/testdrv.c:874,1
    - Dst: printf
      Src: /src/libgcrypt/tests/testdrv.c:876,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/testdrv.c:881,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/testdrv.c:882,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/testdrv.c:884,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/testdrv.c:885,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/testdrv.c:887,1
    - Dst: printf
      Src: /src/libgcrypt/tests/testdrv.c:893,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/testdrv.c:894,1
    - Dst: printf
      Src: /src/libgcrypt/tests/testdrv.c:898,1
    - Dst: die
      Src: /src/libgcrypt/tests/testdrv.c:910,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/testdrv.c:919,1
    - Dst: my_spawn
      Src: /src/libgcrypt/tests/testdrv.c:920,1
    - Dst: info
      Src: /src/libgcrypt/tests/testdrv.c:922,1
    - Dst: my_wait
      Src: /src/libgcrypt/tests/testdrv.c:925,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/testdrv.c:926,1
    - Dst: info
      Src: /src/libgcrypt/tests/testdrv.c:928,1
    - Dst: info
      Src: /src/libgcrypt/tests/testdrv.c:931,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/testdrv.c:932,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/testdrv.c:937,1
    - Dst: runtests
      Src: /src/libgcrypt/tests/testdrv.c:938,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/testdrv.c:939,1
    - Dst: printresult
      Src: /src/libgcrypt/tests/testdrv.c:941,1
    - Dst: printresult
      Src: /src/libgcrypt/tests/testdrv.c:944,1
    - Dst: info
      Src: /src/libgcrypt/tests/testdrv.c:946,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/testdrv.c:947,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/testdrv.c:951,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/testdrv.c:952,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 110
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 955
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/testdrv.c
    functionUses: 11
    functionsReached:
    - exit
    - access
    - xstrdup
    - my_wait
    - runtests
    - start_timer
    - printf
    - die
    - strncmp
    - elapsed_time
    - info
    - strcmp
    - xfree
    - stop_timer
    - putchar
    - getenv
    - my_spawn
    - xcalloc
    - printresult
    - fputs
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_prime_generate
      Src: /src/libgcrypt/tests/prime.c:52,1
    - Dst: assert
      Src: /src/libgcrypt/tests/prime.c:59,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/prime.c:62,1
    - Dst: gcry_mpi_dump
      Src: /src/libgcrypt/tests/prime.c:63,1
    - Dst: putc
      Src: /src/libgcrypt/tests/prime.c:64,1
    - Dst: gcry_prime_check
      Src: /src/libgcrypt/tests/prime.c:67,1
    - Dst: assert
      Src: /src/libgcrypt/tests/prime.c:68,1
    - Dst: gcry_prime_group_generator
      Src: /src/libgcrypt/tests/prime.c:70,1
    - Dst: assert
      Src: /src/libgcrypt/tests/prime.c:71,1
    - Dst: gcry_prime_release_factors
      Src: /src/libgcrypt/tests/prime.c:72,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/prime.c:76,1
    - Dst: gcry_mpi_dump
      Src: /src/libgcrypt/tests/prime.c:77,1
    - Dst: putc
      Src: /src/libgcrypt/tests/prime.c:78,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/prime.c:80,1
    - Dst: gcry_mpi_add_ui
      Src: /src/libgcrypt/tests/prime.c:83,1
    - Dst: gcry_prime_check
      Src: /src/libgcrypt/tests/prime.c:84,1
    - Dst: assert
      Src: /src/libgcrypt/tests/prime.c:85,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/prime.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (! err)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/libgcrypt/tests/prime.c
    - condition: (! err)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/libgcrypt/tests/prime.c
    - condition: (!err)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/libgcrypt/tests/prime.c
    - condition: (err)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/libgcrypt/tests/prime.c
    constantsTouched: []
    func_position:
      end: 88
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 88
    functionName: check_primes
    functionSourceFile: /src/libgcrypt/tests/prime.c
    functionUses: 0
    functionsReached:
    - gcry_prime_release_factors
    - gcry_mpi_dump
    - gcry_prime_generate
    - assert
    - gcry_prime_group_generator
    - fprintf
    - gcry_prime_check
    - gcry_mpi_add_ui
    - putc
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void check_primes (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/prime.c:99,1
    - Dst: die
      Src: /src/libgcrypt/tests/prime.c:101,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/prime.c:101,1
    - Dst: printf
      Src: /src/libgcrypt/tests/prime.c:103,1
    - Dst: ferror
      Src: /src/libgcrypt/tests/prime.c:104,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/prime.c:106,1
    - Dst: die
      Src: /src/libgcrypt/tests/prime.c:109,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/prime.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - name
    - a
    argTypes:
    - char*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 111
    functionName: print_mpi
    functionSourceFile: /src/libgcrypt/tests/prime.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - printf
    - gcry_mpi_aprint
    - fflush
    - die
    - gcry_strerror
    - ferror
    linkageType: ''
    returnType: void
    signature: void print_mpi (const char *name, gcry_mpi_t a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/prime.c:136,1
    - Dst: die
      Src: /src/libgcrypt/tests/prime.c:138,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/prime.c:138,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/prime.c:139,1
    - Dst: gcry_mpi_dump
      Src: /src/libgcrypt/tests/prime.c:139,1
    - Dst: putc
      Src: /src/libgcrypt/tests/prime.c:139,1
    - Dst: gcry_mpi_copy
      Src: /src/libgcrypt/tests/prime.c:143,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/libgcrypt/tests/prime.c:144,1
    - Dst: gcry_prime_check
      Src: /src/libgcrypt/tests/prime.c:145,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/libgcrypt/tests/prime.c:146,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/prime.c:147,1
    - Dst: gcry_mpi_dump
      Src: /src/libgcrypt/tests/prime.c:147,1
    - Dst: putc
      Src: /src/libgcrypt/tests/prime.c:147,1
    - Dst: gcry_mpi_copy
      Src: /src/libgcrypt/tests/prime.c:148,1
    - Dst: gcry_mpi_add_ui
      Src: /src/libgcrypt/tests/prime.c:149,1
    - Dst: gcry_prime_check
      Src: /src/libgcrypt/tests/prime.c:150,1
    - Dst: gcry_mpi_add_ui
      Src: /src/libgcrypt/tests/prime.c:151,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/prime.c:152,1
    - Dst: gcry_mpi_dump
      Src: /src/libgcrypt/tests/prime.c:152,1
    - Dst: putc
      Src: /src/libgcrypt/tests/prime.c:152,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/prime.c:155,1
    - Dst: gcry_mpi_mul
      Src: /src/libgcrypt/tests/prime.c:156,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/prime.c:157,1
    - Dst: gcry_mpi_dump
      Src: /src/libgcrypt/tests/prime.c:157,1
    - Dst: putc
      Src: /src/libgcrypt/tests/prime.c:157,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/libgcrypt/tests/prime.c:158,1
    - Dst: die
      Src: /src/libgcrypt/tests/prime.c:159,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/libgcrypt/tests/prime.c:159,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/prime.c:162,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/prime.c:163,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/prime.c:164,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/prime.c:165,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/prime.c:166,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/libgcrypt/tests/prime.c:167,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/libgcrypt/tests/prime.c:168,1
    - Dst: gcry_mpi_mul
      Src: /src/libgcrypt/tests/prime.c:169,1
    - Dst: gcry_mpi_gcd
      Src: /src/libgcrypt/tests/prime.c:170,1
    - Dst: gcry_mpi_div
      Src: /src/libgcrypt/tests/prime.c:171,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/prime.c:174,1
    - Dst: gcry_mpi_gcd
      Src: /src/libgcrypt/tests/prime.c:175,1
    - Dst: die
      Src: /src/libgcrypt/tests/prime.c:176,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/prime.c:177,1
    - Dst: gcry_mpi_dump
      Src: /src/libgcrypt/tests/prime.c:177,1
    - Dst: putc
      Src: /src/libgcrypt/tests/prime.c:177,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/prime.c:180,1
    - Dst: gcry_mpi_invm
      Src: /src/libgcrypt/tests/prime.c:181,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/prime.c:182,1
    - Dst: gcry_mpi_dump
      Src: /src/libgcrypt/tests/prime.c:182,1
    - Dst: putc
      Src: /src/libgcrypt/tests/prime.c:182,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/prime.c:185,1
    - Dst: gcry_mpi_invm
      Src: /src/libgcrypt/tests/prime.c:186,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/prime.c:187,1
    - Dst: gcry_mpi_dump
      Src: /src/libgcrypt/tests/prime.c:187,1
    - Dst: putc
      Src: /src/libgcrypt/tests/prime.c:187,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/prime.c:190,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/prime.c:191,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/prime.c:192,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/prime.c:193,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/prime.c:194,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/prime.c:195,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/prime.c:196,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/prime.c:197,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/prime.c:199,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/prime.c:200,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/prime.c:201,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/prime.c:202,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/prime.c:203,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/prime.c:204,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/prime.c:205,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/prime.c:206,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/prime.c:207,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/prime.c:208,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/prime.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 210
    functionName: create_42prime
    functionSourceFile: /src/libgcrypt/tests/prime.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_sub_ui
    - gcry_prime_check
    - gcry_strerror
    - gcry_mpi_mul
    - putc
    - gcry_mpi_scan
    - gcry_mpi_gcd
    - gcry_mpi_copy
    - print_mpi
    - die
    - gcry_mpi_invm
    - gcry_mpi_add_ui
    - gcry_mpi_new
    - gcry_mpi_get_nbits
    - gcry_mpi_set_ui
    - gcry_mpi_release
    - gcry_mpi_dump
    - gcry_mpi_div
    - fputs
    linkageType: ''
    returnType: void
    signature: void create_42prime (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/prime.c:220,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/prime.c:222,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/prime.c:224,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/prime.c:227,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/prime.c:228,1
    - Dst: die
      Src: /src/libgcrypt/tests/prime.c:229,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/prime.c:231,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/prime.c:233,1
    - Dst: create_42prime
      Src: /src/libgcrypt/tests/prime.c:236,1
    - Dst: check_primes
      Src: /src/libgcrypt/tests/prime.c:238,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 241
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/prime.c
    functionUses: 11
    functionsReached:
    - gcry_check_version
    - create_42prime
    - check_primes
    - strcmp
    - xgcry_control
    - die
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/gchash.c:41,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/gchash.c:42,1
    - Dst: exit
      Src: /src/libgcrypt/tests/gchash.c:43,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/gchash.c:46,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/gchash.c:50,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/gchash.c:52,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/gchash.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: init_gcrypt
    functionSourceFile: /src/libgcrypt/tests/gchash.c
    functionUses: 0
    functionsReached:
    - xgcry_control
    - fputs
    - exit
    - gcry_check_version
    linkageType: ''
    returnType: void
    signature: void init_gcrypt (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: init_gcrypt
      Src: /src/libgcrypt/tests/gchash.c:64,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/gchash.c:66,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/gchash.c:68,1
    - Dst: gcry_md_map_name
      Src: /src/libgcrypt/tests/gchash.c:72,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/gchash.c:75,1
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/gchash.c:79,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/gchash.c:82,1
    - Dst: gcry_strsource
      Src: /src/libgcrypt/tests/gchash.c:83,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/gchash.c:84,1
    - Dst: exit
      Src: /src/libgcrypt/tests/gchash.c:85,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/gchash.c:95,1
    - Dst: fopen
      Src: /src/libgcrypt/tests/gchash.c:98,1
    - Dst: perror
      Src: /src/libgcrypt/tests/gchash.c:102,1
    - Dst: feof
      Src: /src/libgcrypt/tests/gchash.c:106,1
    - Dst: fread
      Src: /src/libgcrypt/tests/gchash.c:108,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/gchash.c:109,1
    - Dst: gcry_md_read
      Src: /src/libgcrypt/tests/gchash.c:112,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/gchash.c:114,1
    - Dst: printf
      Src: /src/libgcrypt/tests/gchash.c:115,1
    - Dst: printf
      Src: /src/libgcrypt/tests/gchash.c:116,1
    - Dst: gcry_md_reset
      Src: /src/libgcrypt/tests/gchash.c:118,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/gchash.c:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 123
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/gchash.c
    functionUses: 11
    functionsReached:
    - gcry_md_write
    - gcry_md_open
    - gcry_strsource
    - printf
    - gcry_md_reset
    - init_gcrypt
    - perror
    - exit
    - gcry_md_read
    - gcry_md_get_algo_dlen
    - fprintf
    - strcmp
    - feof
    - gcry_md_map_name
    - fopen
    - gcry_strerror
    - fread
    - gcry_md_close
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:82,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:83,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:84,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:85,1
    - Dst: gcry_mpi_copy
      Src: /src/libgcrypt/tests/mpitests.c:87,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:88,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:89,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:90,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:91,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:92,1
    - Dst: gcry_mpi_set_flag
      Src: /src/libgcrypt/tests/mpitests.c:94,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:95,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:96,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:97,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:98,1
    - Dst: gcry_mpi_copy
      Src: /src/libgcrypt/tests/mpitests.c:100,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:101,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:102,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:103,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:104,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:105,1
    - Dst: gcry_mpi_clear_flag
      Src: /src/libgcrypt/tests/mpitests.c:107,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:108,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:109,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:110,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:111,1
    - Dst: gcry_mpi_set_flag
      Src: /src/libgcrypt/tests/mpitests.c:113,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:114,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:115,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:116,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:117,1
    - Dst: gcry_mpi_copy
      Src: /src/libgcrypt/tests/mpitests.c:119,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:120,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:121,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:122,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:123,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:124,1
    - Dst: gcry_mpi_clear_flag
      Src: /src/libgcrypt/tests/mpitests.c:126,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:127,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:128,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:129,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:130,1
    - Dst: gcry_mpi_set
      Src: /src/libgcrypt/tests/mpitests.c:133,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:134,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:135,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:136,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:137,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:138,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:140,1
    - Dst: gcry_mpi_set
      Src: /src/libgcrypt/tests/mpitests.c:141,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:142,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:143,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:144,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:145,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:146,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:151,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 153
    functionName: test_const_and_immutable
    functionSourceFile: /src/libgcrypt/tests/mpitests.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - gcry_mpi_copy
    - gcry_mpi_set
    - gcry_mpi_clear_flag
    - die
    - gcry_mpi_set_ui
    - gcry_mpi_set_flag
    - gcry_mpi_release
    linkageType: ''
    returnType: int
    signature: int test_const_and_immutable (void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gcry_xstrdup
      Src: /src/libgcrypt/tests/mpitests.c:163,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/libgcrypt/tests/mpitests.c:164,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:166,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:167,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/libgcrypt/tests/mpitests.c:169,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:171,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:173,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/mpitests.c:174,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:175,1
    - Dst: gcry_log_debugmpi
      Src: /src/libgcrypt/tests/mpitests.c:178,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:179,1
    - Dst: gcry_xstrdup
      Src: /src/libgcrypt/tests/mpitests.c:181,1
    - Dst: gcry_mpi_set_opaque_copy
      Src: /src/libgcrypt/tests/mpitests.c:182,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/mpitests.c:183,1
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/mpitests.c:185,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:186,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/libgcrypt/tests/mpitests.c:188,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:190,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:192,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/mpitests.c:193,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:194,1
    - Dst: gcry_log_debugmpi
      Src: /src/libgcrypt/tests/mpitests.c:197,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:199,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 200
    functionName: test_opaque
    functionSourceFile: /src/libgcrypt/tests/mpitests.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - gcry_free
    - gcry_mpi_set_opaque
    - strcmp
    - gcry_mpi_set_opaque_copy
    - gcry_xstrdup
    - die
    - gcry_mpi_get_opaque
    - gcry_log_debugmpi
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void test_opaque (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/tests/mpitests.c:211,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/mpitests.c:218,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/mpitests.c:219,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:220,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/mpitests.c:226,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/mpitests.c:227,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:228,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/mpitests.c:233,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:235,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/mpitests.c:235,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:238,1
    - Dst: gcry_mpi_get_ui
      Src: /src/libgcrypt/tests/mpitests.c:240,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:242,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/mpitests.c:242,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/libgcrypt/tests/mpitests.c:244,1
    - Dst: gcry_mpi_get_ui
      Src: /src/libgcrypt/tests/mpitests.c:246,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/mpitests.c:247,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:248,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/mpitests.c:248,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:250,1
    - Dst: gcry_mpi_get_ui
      Src: /src/libgcrypt/tests/mpitests.c:252,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:254,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/mpitests.c:254,1
    - Dst: gcry_mpi_add_ui
      Src: /src/libgcrypt/tests/mpitests.c:258,1
    - Dst: gcry_mpi_get_ui
      Src: /src/libgcrypt/tests/mpitests.c:259,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/mpitests.c:260,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:261,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/mpitests.c:261,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:264,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 266
    functionName: test_maxsize
    functionSourceFile: /src/libgcrypt/tests/mpitests.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_sub_ui
    - gpg_err_code
    - memset
    - gpg_strerror
    - die
    - gcry_mpi_set_ui
    - gcry_mpi_add_ui
    - gcry_mpi_get_ui
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void test_maxsize (void)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/mpitests.c:281,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:282,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:283,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:284,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/mpitests.c:285,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:287,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/libgcrypt/tests/mpitests.c:288,1
    - Dst: gcry_xstrdup
      Src: /src/libgcrypt/tests/mpitests.c:288,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/libgcrypt/tests/mpitests.c:289,1
    - Dst: gcry_xstrdup
      Src: /src/libgcrypt/tests/mpitests.c:289,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/libgcrypt/tests/mpitests.c:290,1
    - Dst: gcry_xstrdup
      Src: /src/libgcrypt/tests/mpitests.c:290,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/libgcrypt/tests/mpitests.c:291,1
    - Dst: gcry_xstrdup
      Src: /src/libgcrypt/tests/mpitests.c:291,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/libgcrypt/tests/mpitests.c:292,1
    - Dst: gcry_xstrdup
      Src: /src/libgcrypt/tests/mpitests.c:292,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/libgcrypt/tests/mpitests.c:293,1
    - Dst: gcry_xstrdup
      Src: /src/libgcrypt/tests/mpitests.c:293,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:297,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:298,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:299,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:300,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:301,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:302,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:304,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:305,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:306,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:307,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:308,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:309,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:312,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:313,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:314,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:315,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:318,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:319,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:320,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:321,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:322,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:323,1
    - Dst: gcry_mpi_neg
      Src: /src/libgcrypt/tests/mpitests.c:325,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:326,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:327,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:328,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:329,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:330,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:331,1
    - Dst: gcry_mpi_neg
      Src: /src/libgcrypt/tests/mpitests.c:332,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:334,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:335,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:336,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:337,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:338,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:339,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:342,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:343,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:344,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:345,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:346,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:347,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:348,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:349,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:350,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:351,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:352,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:353,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:354,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:355,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:356,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:357,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:360,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:361,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:362,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:363,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:364,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:365,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:366,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:367,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:368,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:369,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:370,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 371
    functionName: test_cmp
    functionSourceFile: /src/libgcrypt/tests/mpitests.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_set_opaque
    - fail
    - gcry_mpi_cmp_ui
    - gcry_mpi_neg
    - gcry_xstrdup
    - die
    - gcry_mpi_set_ui
    - gcry_mpi_cmp
    - gcry_mpi_new
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void test_cmp (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/mpitests.c:384,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/mpitests.c:385,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/mpitests.c:386,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/mpitests.c:387,1
    - Dst: gcry_mpi_add
      Src: /src/libgcrypt/tests/mpitests.c:389,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/mpitests.c:390,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/mpitests.c:392,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/mpitests.c:393,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:395,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/mpitests.c:396,1
    - Dst: gcry_mpi_add
      Src: /src/libgcrypt/tests/mpitests.c:398,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/mpitests.c:399,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/mpitests.c:401,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/mpitests.c:402,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:404,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/mpitests.c:405,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/mpitests.c:407,1
    - Dst: gcry_mpi_add_ui
      Src: /src/libgcrypt/tests/mpitests.c:408,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/mpitests.c:410,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/mpitests.c:412,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/mpitests.c:413,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:414,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/mpitests.c:415,1
    - Dst: gcry_mpi_add_ui
      Src: /src/libgcrypt/tests/mpitests.c:417,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/mpitests.c:419,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/mpitests.c:421,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/mpitests.c:422,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:423,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/mpitests.c:424,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:426,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:427,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:428,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:429,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:430,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 432
    functionName: test_add
    functionSourceFile: /src/libgcrypt/tests/mpitests.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_add
    - gcry_free
    - fail
    - gcry_mpi_aprint
    - strcmp
    - gcry_mpi_release
    - gcry_mpi_add_ui
    - gcry_mpi_new
    - gcry_log_debug
    - gcry_mpi_scan
    linkageType: ''
    returnType: int
    signature: int test_add (void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/mpitests.c:446,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/mpitests.c:447,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/mpitests.c:448,1
    - Dst: gcry_mpi_sub
      Src: /src/libgcrypt/tests/mpitests.c:449,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/mpitests.c:451,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/mpitests.c:453,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/mpitests.c:454,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:456,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/mpitests.c:457,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/mpitests.c:459,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/mpitests.c:460,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/mpitests.c:461,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:462,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:463,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:464,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:465,1
    - Dst: gcry_mpi_sub
      Src: /src/libgcrypt/tests/mpitests.c:466,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/mpitests.c:468,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/mpitests.c:470,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/mpitests.c:471,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:472,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/mpitests.c:473,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/libgcrypt/tests/mpitests.c:475,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/mpitests.c:477,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/mpitests.c:479,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/mpitests.c:480,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:481,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/mpitests.c:482,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/libgcrypt/tests/mpitests.c:484,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/mpitests.c:486,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/mpitests.c:488,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/mpitests.c:489,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:490,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/mpitests.c:491,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/libgcrypt/tests/mpitests.c:493,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/mpitests.c:495,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/mpitests.c:497,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/mpitests.c:498,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:499,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/mpitests.c:500,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:502,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:503,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:504,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:505,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:506,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:507,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 509
    functionName: test_sub
    functionSourceFile: /src/libgcrypt/tests/mpitests.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - gcry_mpi_sub_ui
    - fail
    - gcry_mpi_aprint
    - gcry_mpi_sub
    - strcmp
    - gcry_mpi_release
    - gcry_mpi_set_ui
    - gcry_mpi_new
    - gcry_log_debug
    - gcry_mpi_scan
    linkageType: ''
    returnType: int
    signature: int test_sub (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/mpitests.c:521,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/mpitests.c:522,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/mpitests.c:523,1
    - Dst: gcry_mpi_mul
      Src: /src/libgcrypt/tests/mpitests.c:524,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/mpitests.c:526,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/mpitests.c:528,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/mpitests.c:529,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:533,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/mpitests.c:534,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/mpitests.c:536,1
    - Dst: gcry_mpi_mul_ui
      Src: /src/libgcrypt/tests/mpitests.c:537,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/mpitests.c:539,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/mpitests.c:541,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/mpitests.c:542,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:543,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/mpitests.c:544,1
    - Dst: gcry_mpi_mul_ui
      Src: /src/libgcrypt/tests/mpitests.c:546,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/mpitests.c:548,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/mpitests.c:550,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/mpitests.c:551,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:552,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/mpitests.c:553,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:555,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:556,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:557,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:558,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 560
    functionName: test_mul
    functionSourceFile: /src/libgcrypt/tests/mpitests.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - fail
    - gcry_mpi_mul_ui
    - gcry_mpi_new
    - gcry_mpi_aprint
    - strcmp
    - gcry_mpi_release
    - gcry_mpi_mul
    - gcry_log_debug
    - gcry_mpi_scan
    linkageType: ''
    returnType: int
    signature: int test_mul (void)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:571,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:572,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:573,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/mpitests.c:574,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/tests/mpitests.c:576,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:577,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:578,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:579,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:580,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:581,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:582,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:585,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:586,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:587,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/tests/mpitests.c:588,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:589,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:590,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:591,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:592,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:593,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:594,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:597,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:598,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:599,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/tests/mpitests.c:600,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:601,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:602,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:603,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:604,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:605,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:606,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:609,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:610,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:611,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/tests/mpitests.c:612,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:613,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:614,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:615,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:616,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:617,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:618,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:621,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:622,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/tests/mpitests.c:623,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:624,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:625,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:626,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:627,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:630,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:631,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/tests/mpitests.c:632,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:633,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:634,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:635,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:636,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:639,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:640,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/tests/mpitests.c:641,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:642,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:643,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:644,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:645,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:648,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/tests/mpitests.c:649,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:650,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:651,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:654,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/tests/mpitests.c:655,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/mpitests.c:656,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:657,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:660,1
    - Dst: gcry_mpi_neg
      Src: /src/libgcrypt/tests/mpitests.c:661,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:662,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:663,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/tests/mpitests.c:664,1
    - Dst: gcry_mpi_is_neg
      Src: /src/libgcrypt/tests/mpitests.c:666,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:666,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/mpitests.c:670,1
    - Dst: gcry_mpi_is_neg
      Src: /src/libgcrypt/tests/mpitests.c:670,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/mpitests.c:671,1
    - Dst: gcry_mpi_dump
      Src: /src/libgcrypt/tests/mpitests.c:672,1
    - Dst: putc
      Src: /src/libgcrypt/tests/mpitests.c:673,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:675,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:678,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:679,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:680,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:681,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 687
    functionName: test_powm
    functionSourceFile: /src/libgcrypt/tests/mpitests.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_dump
    - gcry_mpi_cmp_ui
    - gcry_mpi_powm
    - gcry_mpi_neg
    - fprintf
    - putc
    - gcry_mpi_is_neg
    - die
    - gcry_mpi_set_ui
    - gcry_mpi_new
    - gcry_mpi_cmp
    - gcry_mpi_release
    linkageType: ''
    returnType: int
    signature: int test_powm (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:705,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:706,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/mpitests.c:707,1
    - Dst: gcry_mpi_addm
      Src: /src/libgcrypt/tests/mpitests.c:713,1
    - Dst: gcry_mpi_subm
      Src: /src/libgcrypt/tests/mpitests.c:719,1
    - Dst: gcry_mpi_mulm
      Src: /src/libgcrypt/tests/mpitests.c:725,1
    - Dst: gcry_mpi_is_neg
      Src: /src/libgcrypt/tests/mpitests.c:728,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/mpitests.c:728,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:730,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:733,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:734,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:735,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 739
    functionName: test_addm_subm_mulm
    functionSourceFile: /src/libgcrypt/tests/mpitests.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_cmp_ui
    - gcry_mpi_mulm
    - gcry_mpi_set_ui
    - gcry_mpi_is_neg
    - die
    - gcry_mpi_subm
    - gcry_mpi_addm
    - gcry_mpi_release
    linkageType: ''
    returnType: int
    signature: int test_addm_subm_mulm (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/mpitests.c:761,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/mpitests.c:763,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/mpitests.c:764,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/mpitests.c:765,1
    - Dst: gcry_mpi_invm
      Src: /src/libgcrypt/tests/mpitests.c:767,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:769,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:772,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:773,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 778
    functionName: test_invm_cmpui
    functionSourceFile: /src/libgcrypt/tests/mpitests.c
    functionUses: 0
    functionsReached:
    - DIM
    - die
    - gcry_mpi_invm
    - gcry_mpi_new
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: int
    signature: int test_invm_cmpui(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/mpitests.c:803,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/mpitests.c:807,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/mpitests.c:808,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/mpitests.c:809,1
    - Dst: gcry_mpi_invm
      Src: /src/libgcrypt/tests/mpitests.c:811,1
    - Dst: die
      Src: /src/libgcrypt/tests/mpitests.c:813,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/mpitests.c:818,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/mpitests.c:819,1
    - Dst: fail
      Src: /src/libgcrypt/tests/mpitests.c:820,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/mpitests.c:821,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:824,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:825,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/mpitests.c:826,1
    - Dst: test_invm_cmpui
      Src: /src/libgcrypt/tests/mpitests.c:829,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 781
    functionDepth: 2
    functionLinenumber: 781
    functionLinenumberEnd: 832
    functionName: test_invm
    functionSourceFile: /src/libgcrypt/tests/mpitests.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - fail
    - DIM
    - gcry_mpi_aprint
    - strcmp
    - test_invm_cmpui
    - die
    - gcry_mpi_invm
    - gcry_mpi_new
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: int
    signature: int test_invm(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/mpitests.c:838,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/mpitests.c:840,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/mpitests.c:843,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/mpitests.c:845,1
    - Dst: exit
      Src: /src/libgcrypt/tests/mpitests.c:846,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/mpitests.c:848,1
    - Dst: test_const_and_immutable
      Src: /src/libgcrypt/tests/mpitests.c:850,1
    - Dst: test_opaque
      Src: /src/libgcrypt/tests/mpitests.c:851,1
    - Dst: test_maxsize
      Src: /src/libgcrypt/tests/mpitests.c:852,1
    - Dst: test_cmp
      Src: /src/libgcrypt/tests/mpitests.c:853,1
    - Dst: test_add
      Src: /src/libgcrypt/tests/mpitests.c:854,1
    - Dst: test_sub
      Src: /src/libgcrypt/tests/mpitests.c:855,1
    - Dst: test_mul
      Src: /src/libgcrypt/tests/mpitests.c:856,1
    - Dst: test_powm
      Src: /src/libgcrypt/tests/mpitests.c:857,1
    - Dst: test_addm_subm_mulm
      Src: /src/libgcrypt/tests/mpitests.c:858,1
    - Dst: test_invm
      Src: /src/libgcrypt/tests/mpitests.c:859,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 835
    functionDepth: 3
    functionLinenumber: 835
    functionLinenumberEnd: 862
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/mpitests.c
    functionUses: 11
    functionsReached:
    - test_add
    - test_cmp
    - gcry_check_version
    - test_addm_subm_mulm
    - test_invm
    - test_mul
    - exit
    - test_opaque
    - test_sub
    - strcmp
    - test_const_and_immutable
    - xgcry_control
    - fputs
    - test_maxsize
    - test_powm
    linkageType: ''
    returnType: int
    signature: int main (int argc, char* argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/t-cv25519.c:45,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-cv25519.c:47,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-cv25519.c:48,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-cv25519.c:51,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-cv25519.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - text
    - a
    argTypes:
    - char*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: print_mpi
    functionSourceFile: /src/libgcrypt/tests/t-cv25519.c
    functionUses: 1
    functionsReached:
    - fprintf
    - gcry_free
    - gpg_strerror
    - gcry_mpi_aprint
    linkageType: ''
    returnType: void
    signature: void print_mpi (const char *text, gcry_mpi_t a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/t-cv25519.c:62,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-cv25519.c:63,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-cv25519.c:65,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/t-cv25519.c:66,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/t-cv25519.c:67,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-cv25519.c:68,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-cv25519.c:69,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/t-cv25519.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: show_note
    functionSourceFile: /src/libgcrypt/tests/t-cv25519.c
    functionUses: 5
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - getenv
    - fprintf
    - va_start
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: void show_note (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-cv25519.c:86,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-cv25519.c:86,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-cv25519.c:90,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-cv25519.c:90,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/t-cv25519.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: hex2buffer
    functionSourceFile: /src/libgcrypt/tests/t-cv25519.c
    functionUses: 6
    functionsReached:
    - hexdigitp
    - xmalloc
    - xtoi_2
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void *

      hex2buffer (const char *string, size_t *r_length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: reverse_buffer
    functionSourceFile: /src/libgcrypt/tests/t-cv25519.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_buffer (unsigned char *buffer, unsigned int length)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-cv25519.c:138,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-cv25519.c:140,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:142,1
    - Dst: reverse_buffer
      Src: /src/libgcrypt/tests/t-cv25519.c:147,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/t-cv25519.c:148,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:150,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-cv25519.c:150,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-cv25519.c:154,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:156,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-cv25519.c:157,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-cv25519.c:161,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-cv25519.c:162,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:164,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-cv25519.c:177,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:184,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-cv25519.c:185,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-cv25519.c:189,1
    - Dst: gcry_pk_encrypt
      Src: /src/libgcrypt/tests/t-cv25519.c:192,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:196,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-cv25519.c:199,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:203,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-cv25519.c:204,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-cv25519.c:206,1
    - Dst: gcry_sexp_nth_buffer
      Src: /src/libgcrypt/tests/t-cv25519.c:207,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:208,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-cv25519.c:215,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:218,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-cv25519.c:223,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-cv25519.c:224,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:226,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-cv25519.c:228,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-cv25519.c:229,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-cv25519.c:231,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-cv25519.c:235,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-cv25519.c:236,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-cv25519.c:237,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-cv25519.c:238,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-cv25519.c:239,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-cv25519.c:240,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-cv25519.c:241,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 70
    argCount: 4
    argNames:
    - testno
    - k_str
    - u_str
    - result_str
    argTypes:
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 242
    functionName: test_cv_hl
    functionSourceFile: /src/libgcrypt/tests/t-cv25519.c
    functionUses: 0
    functionsReached:
    - fail
    - gcry_sexp_nth_buffer
    - snprintf
    - hex2buffer
    - info
    - reverse_buffer
    - gcry_sexp_find_token
    - gcry_pk_encrypt
    - xmalloc
    - strcmp
    - gpg_strerror
    - xfree
    - gcry_sexp_release
    - gcry_sexp_build
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: "void test_cv_hl (int testno, const char *k_str, const char *u_str,\n
      \           const char *result_str)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-cv25519.c:260,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-cv25519.c:262,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:264,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/libgcrypt/tests/t-cv25519.c:269,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-cv25519.c:270,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:272,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-cv25519.c:273,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-cv25519.c:277,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:279,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-cv25519.c:289,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:295,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-cv25519.c:296,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-cv25519.c:300,1
    - Dst: gcry_pk_encrypt
      Src: /src/libgcrypt/tests/t-cv25519.c:303,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:307,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-cv25519.c:310,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:314,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-cv25519.c:315,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-cv25519.c:317,1
    - Dst: gcry_sexp_nth_buffer
      Src: /src/libgcrypt/tests/t-cv25519.c:318,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:319,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-cv25519.c:325,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:328,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-cv25519.c:333,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-cv25519.c:334,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:336,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-cv25519.c:338,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-cv25519.c:339,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-cv25519.c:341,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-cv25519.c:345,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-cv25519.c:346,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-cv25519.c:347,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-cv25519.c:348,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-cv25519.c:349,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-cv25519.c:350,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-cv25519.c:351,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 4
    argNames:
    - testno
    - k_str
    - u_str
    - result_str
    argTypes:
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 352
    functionName: test_cv_hl25
    functionSourceFile: /src/libgcrypt/tests/t-cv25519.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_set_opaque
    - fail
    - gcry_sexp_nth_buffer
    - snprintf
    - hex2buffer
    - info
    - gcry_sexp_find_token
    - gcry_pk_encrypt
    - xmalloc
    - strcmp
    - gpg_strerror
    - xfree
    - gcry_sexp_release
    - gcry_sexp_build
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: "void test_cv_hl25 (int testno, const char *k_str, const char *u_str,\n
      \             const char *result_str)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-cv25519.c:378,1
    - Dst: gcry_ecc_get_algo_keylen
      Src: /src/libgcrypt/tests/t-cv25519.c:380,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:382,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:388,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-cv25519.c:392,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:394,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-cv25519.c:399,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:401,1
    - Dst: gcry_ecc_mul_point
      Src: /src/libgcrypt/tests/t-cv25519.c:406,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:410,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-cv25519.c:413,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:417,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-cv25519.c:418,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-cv25519.c:421,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-cv25519.c:423,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:425,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-cv25519.c:427,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-cv25519.c:428,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-cv25519.c:432,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-cv25519.c:433,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 4
    argNames:
    - testno
    - k_str
    - u_str
    - result_str
    argTypes:
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 434
    functionName: test_cv_x25519
    functionSourceFile: /src/libgcrypt/tests/t-cv25519.c
    functionUses: 0
    functionsReached:
    - gcry_ecc_mul_point
    - fail
    - snprintf
    - hex2buffer
    - info
    - strcmp
    - gpg_strerror
    - xfree
    - gcry_ecc_get_algo_keylen
    linkageType: ''
    returnType: void
    signature: "void test_cv_x25519 (int testno, const char *k_str, const char *u_str,\n
      \               const char *result_str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_cv_hl
      Src: /src/libgcrypt/tests/t-cv25519.c:440,1
    - Dst: test_cv_hl25
      Src: /src/libgcrypt/tests/t-cv25519.c:441,1
    - Dst: test_cv_x25519
      Src: /src/libgcrypt/tests/t-cv25519.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - testno
    - k_str
    - u_str
    - result_str
    argTypes:
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 443
    functionName: test_cv
    functionSourceFile: /src/libgcrypt/tests/t-cv25519.c
    functionUses: 0
    functionsReached:
    - test_cv_hl
    - test_cv_hl25
    - test_cv_x25519
    linkageType: ''
    returnType: void
    signature: "void test_cv (int testno, const char *k_str, const char *u_str,\n
      \        const char *result_str)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-cv25519.c:468,1
    - Dst: gcry_mpi_ec_new
      Src: /src/libgcrypt/tests/t-cv25519.c:470,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:474,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-cv25519.c:477,1
    - Dst: gcry_mpi_point_new
      Src: /src/libgcrypt/tests/t-cv25519.c:480,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-cv25519.c:482,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:484,1
    - Dst: reverse_buffer
      Src: /src/libgcrypt/tests/t-cv25519.c:488,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/t-cv25519.c:489,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:491,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-cv25519.c:492,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-cv25519.c:496,1
    - Dst: gcry_mpi_point_set
      Src: /src/libgcrypt/tests/t-cv25519.c:499,1
    - Dst: gcry_mpi_copy
      Src: /src/libgcrypt/tests/t-cv25519.c:501,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-cv25519.c:503,1
    - Dst: gcry_mpi_set
      Src: /src/libgcrypt/tests/t-cv25519.c:510,1
    - Dst: gcry_mpi_set_bit
      Src: /src/libgcrypt/tests/t-cv25519.c:511,1
    - Dst: gcry_mpi_clear_bit
      Src: /src/libgcrypt/tests/t-cv25519.c:512,1
    - Dst: gcry_mpi_clear_bit
      Src: /src/libgcrypt/tests/t-cv25519.c:513,1
    - Dst: gcry_mpi_clear_bit
      Src: /src/libgcrypt/tests/t-cv25519.c:514,1
    - Dst: gcry_mpi_clear_bit
      Src: /src/libgcrypt/tests/t-cv25519.c:515,1
    - Dst: gcry_mpi_ec_mul
      Src: /src/libgcrypt/tests/t-cv25519.c:517,1
    - Dst: gcry_mpi_point_set
      Src: /src/libgcrypt/tests/t-cv25519.c:519,1
    - Dst: gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/tests/t-cv25519.c:520,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-cv25519.c:523,1
    - Dst: gcry_mpi_print
      Src: /src/libgcrypt/tests/t-cv25519.c:530,1
    - Dst: reverse_buffer
      Src: /src/libgcrypt/tests/t-cv25519.c:531,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-cv25519.c:533,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:536,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-cv25519.c:541,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-cv25519.c:543,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:545,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-cv25519.c:547,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-cv25519.c:548,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-cv25519.c:550,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-cv25519.c:554,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-cv25519.c:555,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/t-cv25519.c:556,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-cv25519.c:557,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-cv25519.c:558,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/t-cv25519.c:559,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-cv25519.c:560,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 4
    argNames:
    - testno
    - k_str
    - iter
    - result_str
    argTypes:
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 561
    functionName: test_it
    functionSourceFile: /src/libgcrypt/tests/t-cv25519.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_ec_mul
    - gcry_mpi_set
    - xmalloc
    - gcry_mpi_scan
    - gcry_mpi_set_bit
    - gcry_mpi_point_new
    - gcry_mpi_copy
    - gcry_ctx_release
    - print_mpi
    - gcry_mpi_ec_get_affine
    - gcry_mpi_print
    - gcry_mpi_ec_new
    - info
    - reverse_buffer
    - strcmp
    - gpg_strerror
    - xfree
    - gcry_mpi_point_release
    - gcry_mpi_release
    - fail
    - snprintf
    - hex2buffer
    - gcry_mpi_clear_bit
    - gcry_mpi_point_set
    linkageType: ''
    returnType: void
    signature: void test_it (int testno, const char *k_str, int iter, const char *result_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:580,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:582,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:584,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - testno
    - a_priv_str
    - a_pub_str
    - b_priv_str
    - b_pub_str
    - result_str
    argTypes:
    - int
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 587
    functionName: test_dh
    functionSourceFile: /src/libgcrypt/tests/t-cv25519.c
    functionUses: 0
    functionsReached:
    - test_cv
    linkageType: ''
    returnType: void
    signature: "void test_dh (int testno, const char *a_priv_str, const char *a_pub_str,\n
      \         const char *b_priv_str, const char *b_pub_str,\n          const char
      *result_str)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-cv25519.c:595,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:603,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:608,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:617,1
    - Dst: test_it
      Src: /src/libgcrypt/tests/t-cv25519.c:628,1
    - Dst: test_it
      Src: /src/libgcrypt/tests/t-cv25519.c:634,1
    - Dst: test_dh
      Src: /src/libgcrypt/tests/t-cv25519.c:643,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:657,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:663,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:669,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:675,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:681,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:687,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:693,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:700,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:706,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:712,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:718,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-cv25519.c:724,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-cv25519.c:731,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-cv25519.c:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 734
    functionName: check_cv25519
    functionSourceFile: /src/libgcrypt/tests/t-cv25519.c
    functionUses: 0
    functionsReached:
    - test_cv
    - fail
    - show_note
    - test_it
    - info
    - test_dh
    linkageType: ''
    returnType: void
    signature: void check_cv25519 (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-cv25519.c:748,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-cv25519.c:753,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-cv25519.c:755,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-cv25519.c:760,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-cv25519.c:762,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-cv25519.c:767,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-cv25519.c:773,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-cv25519.c:774,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-cv25519.c:777,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-cv25519.c:778,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-cv25519.c:779,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-cv25519.c:781,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-cv25519.c:782,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-cv25519.c:783,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/t-cv25519.c:785,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/t-cv25519.c:788,1
    - Dst: check_cv25519
      Src: /src/libgcrypt/tests/t-cv25519.c:789,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/t-cv25519.c:790,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-cv25519.c:792,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/t-cv25519.c:793,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 795
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-cv25519.c
    functionUses: 11
    functionsReached:
    - elapsed_time
    - start_timer
    - gcry_check_version
    - exit
    - info
    - strcmp
    - check_cv25519
    - fputs
    - xgcry_control
    - die
    - gcry_fips_mode_active
    - strncmp
    - stop_timer
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:84,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:86,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:87,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:89,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - expected
    - expectedlen
    - computed
    - computedlen
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: mismatch
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 15
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void mismatch (const void *expected, size_t expectedlen,\n          const
      void *computed, size_t computedlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/basic.c:105,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:105,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/basic.c:109,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/basic.c:109,1
    - Dst: die
      Src: /src/libgcrypt/tests/basic.c:110,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/basic.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: hex2buffer
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 10
    functionsReached:
    - hexdigitp
    - strlen
    - xmalloc
    - die
    - xtoi_2
    linkageType: ''
    returnType: void
    signature: 'void *

      hex2buffer (const char *string, size_t *r_length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/tests/basic.c:125,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/basic.c:126,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/basic.c:127,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/basic.c:129,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:130,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/basic.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - prefix
    - a
    argTypes:
    - char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 132
    functionName: show_sexp
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 2
    functionsReached:
    - gcry_free
    - gcry_xmalloc
    - fprintf
    - fputs
    - gcry_sexp_sprint
    linkageType: ''
    returnType: void
    signature: void show_sexp (const char *prefix, gcry_sexp_t a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/basic.c:140,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/basic.c:141,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:143,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/basic.c:144,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/basic.c:145,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:146,1
    - Dst: putc
      Src: /src/libgcrypt/tests/basic.c:147,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/basic.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: show_note
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 6
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - getenv
    - fprintf
    - va_start
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: void show_note (const char *format, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/basic.c:165,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/basic.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: show_md_not_available
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - show_note
    - DIM
    linkageType: ''
    returnType: void
    signature: void show_md_not_available (int algo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/basic.c:184,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/basic.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: show_old_hmac_not_available
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - show_note
    - DIM
    linkageType: ''
    returnType: void
    signature: void show_old_hmac_not_available (int algo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/basic.c:204,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/basic.c:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 207
    functionName: show_mac_not_available
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - show_note
    - DIM
    linkageType: ''
    returnType: void
    signature: void show_mac_not_available (int algo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/basic.c:220,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/basic.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 223
    functionName: show_pk_not_available
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - show_note
    - DIM
    linkageType: ''
    returnType: void
    signature: void show_pk_not_available (int algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/tests/basic.c:237,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/basic.c:239,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/basic.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - cb_data
    - what
    - printchar
    - current
    - total
    argTypes:
    - void*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: progress_handler
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 5
    functionsReached:
    - fflush
    - putchar
    - fputs
    linkageType: ''
    returnType: void
    signature: "void progress_handler (void *cb_data, const char *what, int printchar,\n\t\t
      \ int current, int total)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - unsigned char[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 290
    functionName: prepare_vector_data
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prepare_vector_data(unsigned char data[CLUTTER_VECTOR_REGISTER_COUNT][16])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gcry_get_config
      Src: /src/libgcrypt/tests/basic.c:308,1
    - Dst: strstr
      Src: /src/libgcrypt/tests/basic.c:311,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:312,1
    - Dst: gcry_get_config
      Src: /src/libgcrypt/tests/basic.c:327,1
    - Dst: strstr
      Src: /src/libgcrypt/tests/basic.c:330,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:331,1
    - Dst: prepare_vector_data
      Src: /src/libgcrypt/tests/basic.c:340,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 446
    functionName: clutter_vector_registers
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - prepare_vector_data
    - xfree
    - gcry_get_config
    - strstr
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: ALWAYS_INLINE clutter_vector_registers(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:484,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:488,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:493,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:497,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:498,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:503,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:508,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:513,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:514,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:518,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:521,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:523,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:527,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:530,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:535,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:538,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:539,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:540,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:544,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:547,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:548,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:549,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:554,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:555,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:557,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:562,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:565,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:566,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:567,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:574,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:575,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:576,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:580,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:581,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:583,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:586,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 587
    functionName: check_cbc_mac_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - gcry_cipher_open
    - gcry_cipher_setkey
    - fail
    - gcry_cipher_setiv
    - gcry_cipher_algo_name
    - strlen
    - printf
    - fprintf
    - gcry_cipher_encrypt
    - memcmp
    - gpg_strerror
    - gcry_cipher_test_algo
    - gcry_cipher_close
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: void
    signature: void check_cbc_mac_cipher (void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:630,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:631,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:636,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:636,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:640,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:643,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:644,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:645,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:651,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:654,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:655,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:656,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:661,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:662,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:666,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:667,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:668,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:672,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:673,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:675,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:678,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:679,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:680,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:684,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:685,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:688,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:689,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:690,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:694,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:695,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:698,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:700,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 701
    functionName: check_aes128_cbc_cts_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_setkey
    - fail
    - gcry_cipher_setiv
    - fprintf
    - gcry_cipher_encrypt
    - memcmp
    - gpg_strerror
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void check_aes128_cbc_cts_cipher (void)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:1204,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:1210,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:1215,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:1219,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:1220,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:1225,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:1231,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:1232,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:1234,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:1236,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:1239,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:1240,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:1242,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/basic.c:1248,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/basic.c:1250,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:1253,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:1254,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:1255,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:1256,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:1266,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:1269,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:1271,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:1272,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:1277,1
    - Dst: gcry_err_code
      Src: /src/libgcrypt/tests/basic.c:1278,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:1280,1
    - Dst: gcry_err_code
      Src: /src/libgcrypt/tests/basic.c:1283,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:1285,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:1286,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:1287,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:1288,1
    - Dst: gcry_err_code
      Src: /src/libgcrypt/tests/basic.c:1298,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:1300,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:1301,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:1302,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:1303,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:1309,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:1310,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:1311,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:1312,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:1316,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:1321,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:1322,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:1323,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:1324,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:1328,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:1330,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:1334,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:1337,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:1338,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:1339,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:1340,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:1344,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:1346,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:1351,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:1352,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:1355,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 1356
    functionName: check_ecb_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_setkey
    - gcry_cipher_algo_name
    - fail
    - gcry_err_code
    - fprintf
    - gcry_cipher_encrypt
    - memcmp
    - gpg_strerror
    - gcry_cipher_ctl
    - gcry_cipher_test_algo
    - gcry_cipher_close
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: void
    signature: void check_ecb_cipher (void)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:2557,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:2563,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:2568,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2572,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:2573,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2578,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:2583,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:2585,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2588,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:2588,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:2592,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2595,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:2599,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:2601,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2604,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:2605,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:2606,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:2607,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:2611,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2614,1
    - Dst: gcry_cipher_setctr
      Src: /src/libgcrypt/tests/basic.c:2618,1
    - Dst: gcry_cipher_setctr
      Src: /src/libgcrypt/tests/basic.c:2620,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2623,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:2624,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:2625,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:2626,1
    - Dst: gcry_cipher_info
      Src: /src/libgcrypt/tests/basic.c:2631,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/basic.c:2632,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2634,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:2635,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:2636,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:2637,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:2642,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:2643,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:2647,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:2650,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2654,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:2655,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:2656,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:2657,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:2661,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2663,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:2664,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:2668,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2671,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:2672,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:2673,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:2674,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:2678,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2680,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:2681,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:2689,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2692,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:2694,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/basic.c:2696,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2697,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:2698,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:2700,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/basic.c:2702,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2703,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:2704,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:2706,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2709,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:2710,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:2713,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2716,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:2718,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/basic.c:2720,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2721,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:2722,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:2724,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/basic.c:2726,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2727,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:2728,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:2730,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:2733,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:2734,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:2736,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:2737,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:2740,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 115
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2741
      start: 1358
    functionDepth: 1
    functionLinenumber: 1358
    functionLinenumberEnd: 2741
    functionName: check_ctr_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - gcry_cipher_setctr
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_info
    - gcry_cipher_setkey
    - fail
    - gcry_cipher_algo_name
    - strlen
    - fprintf
    - gcry_cipher_encrypt
    - memcmp
    - gpg_strerror
    - gpg_err_code
    - mismatch
    - gcry_cipher_test_algo
    - gcry_cipher_close
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: void
    signature: void check_ctr_cipher (void)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:3139,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:3143,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:3148,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3152,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:3153,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3158,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:3166,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:3167,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:3169,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:3171,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3174,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:3174,1
    - Dst: gcry_cipher_set_sbox
      Src: /src/libgcrypt/tests/basic.c:3180,1
    - Dst: gcry_cipher_set_sbox
      Src: /src/libgcrypt/tests/basic.c:3182,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3185,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:3186,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3187,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3188,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:3192,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3195,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:3199,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:3201,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3204,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:3205,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3206,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3207,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:3211,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3214,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:3218,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:3220,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3223,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:3224,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3225,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3226,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:3232,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3237,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:3238,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3239,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3240,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:3244,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3245,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:3247,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3250,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:3251,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3252,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3253,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:3257,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3258,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3261,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3262,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:3265,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3266
      start: 2743
    functionDepth: 1
    functionLinenumber: 2743
    functionLinenumberEnd: 3266
    functionName: check_cfb_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_setkey
    - gcry_cipher_algo_name
    - fail
    - gcry_cipher_setiv
    - fprintf
    - gcry_cipher_encrypt
    - memcmp
    - gpg_strerror
    - gcry_cipher_set_sbox
    - gcry_cipher_test_algo
    - gcry_cipher_close
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: void
    signature: void check_cfb_cipher (void)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:3369,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:3373,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:3378,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3382,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:3383,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3388,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:3394,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:3395,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:3397,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:3399,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3402,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:3402,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:3406,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3409,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:3413,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:3415,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3418,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:3419,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3420,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3421,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:3425,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3428,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:3432,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:3434,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3437,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:3438,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3439,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3440,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:3446,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3451,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:3452,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3453,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3454,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:3458,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3459,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:3461,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3464,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:3465,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3466,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3467,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:3471,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3472,1
    - Dst: gcry_cipher_reset
      Src: /src/libgcrypt/tests/basic.c:3475,1
    - Dst: gcry_cipher_reset
      Src: /src/libgcrypt/tests/basic.c:3477,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3480,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:3481,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3482,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3483,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:3488,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:3490,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3493,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:3494,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3495,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3496,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:3506,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3511,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:3512,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3513,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3514,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:3519,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3520,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:3524,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3527,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:3528,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3529,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3530,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:3535,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:3536,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3539,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:3540,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:3543,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 120
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3544
      start: 3268
    functionDepth: 1
    functionLinenumber: 3268
    functionLinenumberEnd: 3544
    functionName: check_ofb_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_setkey
    - gcry_cipher_algo_name
    - fail
    - gcry_cipher_setiv
    - gcry_cipher_reset
    - fprintf
    - gcry_cipher_encrypt
    - memcmp
    - gpg_strerror
    - gcry_cipher_test_algo
    - gcry_cipher_close
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: void
    signature: void check_ofb_cipher (void)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:4458,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:4463,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4465,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4465,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:4470,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:4471,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:4473,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:4475,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4478,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4478,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:4482,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4485,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:4489,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:4491,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4494,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4495,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4496,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4497,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:4501,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:4503,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4506,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4507,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4508,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4509,1
    - Dst: gcry_cipher_info
      Src: /src/libgcrypt/tests/basic.c:4513,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4516,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4517,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4518,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4519,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4524,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4527,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4528,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:4536,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4539,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4540,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4541,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4542,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:4545,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4548,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4549,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4550,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4551,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:4560,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4564,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4565,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4566,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4567,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:4572,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4573,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:4579,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4582,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4583,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4584,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4585,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:4590,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4591,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:4595,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4601,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4602,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4603,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4604,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:4608,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4609,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:4611,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4614,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4615,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4616,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4617,1
    - Dst: gcry_cipher_reset
      Src: /src/libgcrypt/tests/basic.c:4621,1
    - Dst: gcry_cipher_reset
      Src: /src/libgcrypt/tests/basic.c:4623,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4626,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4627,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4628,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4629,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:4634,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:4636,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4639,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4640,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4641,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4642,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:4649,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4652,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4653,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4654,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4655,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:4658,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4661,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4662,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4663,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4664,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:4671,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4676,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4677,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4678,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4679,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:4684,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4685,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:4690,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4696,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4697,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4698,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4699,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:4705,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4706,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:4710,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4713,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4714,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4715,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4716,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:4721,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4722,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:4724,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4727,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:4728,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4729,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4730,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:4734,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4737,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4739,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4740,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:4743,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4746,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4748,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4749,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:4755,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4756,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4757,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4762,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:4763,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:4766,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 218
    argCount: 1
    argNames:
    - step
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4767
      start: 3546
    functionDepth: 1
    functionLinenumber: 3546
    functionLinenumberEnd: 4767
    functionName: _check_gcm_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_info
    - gcry_cipher_setkey
    - gcry_cipher_algo_name
    - fail
    - gcry_cipher_setiv
    - gcry_cipher_authenticate
    - gcry_cipher_checktag
    - gcry_cipher_reset
    - fprintf
    - gcry_cipher_encrypt
    - gcry_cipher_gettag
    - memcmp
    - gpg_strerror
    - gcry_cipher_test_algo
    - gcry_cipher_close
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: void
    signature: void _check_gcm_cipher (unsigned int step)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _check_gcm_cipher
      Src: /src/libgcrypt/tests/basic.c:4774,1
    - Dst: _check_gcm_cipher
      Src: /src/libgcrypt/tests/basic.c:4776,1
    - Dst: _check_gcm_cipher
      Src: /src/libgcrypt/tests/basic.c:4778,1
    - Dst: _check_gcm_cipher
      Src: /src/libgcrypt/tests/basic.c:4780,1
    - Dst: _check_gcm_cipher
      Src: /src/libgcrypt/tests/basic.c:4782,1
    - Dst: _check_gcm_cipher
      Src: /src/libgcrypt/tests/basic.c:4784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4785
      start: 4770
    functionDepth: 2
    functionLinenumber: 4770
    functionLinenumberEnd: 4785
    functionName: check_gcm_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 1
    functionsReached:
    - _check_gcm_cipher
    linkageType: ''
    returnType: void
    signature: void check_gcm_cipher (void)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:4996,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:5001,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5003,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5003,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:5008,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:5009,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:5011,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:5013,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5016,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5016,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:5020,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5023,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:5027,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:5029,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5032,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5033,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5034,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5035,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:5039,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:5041,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5044,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5045,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5046,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5047,1
    - Dst: gcry_cipher_info
      Src: /src/libgcrypt/tests/basic.c:5051,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5054,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5055,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5056,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5057,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5062,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5065,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5066,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:5075,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5078,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5079,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5080,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5081,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:5084,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5087,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5088,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5089,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5090,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:5099,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5103,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5104,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5105,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5106,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:5111,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5112,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:5118,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5121,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5122,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5123,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5124,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:5129,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5130,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:5134,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5140,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5141,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5142,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5143,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:5147,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5148,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:5150,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5156,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5157,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5158,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5159,1
    - Dst: gcry_cipher_reset
      Src: /src/libgcrypt/tests/basic.c:5163,1
    - Dst: gcry_cipher_reset
      Src: /src/libgcrypt/tests/basic.c:5165,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5168,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5169,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5170,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5171,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:5176,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:5178,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5181,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5182,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5183,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5184,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:5191,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5194,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5195,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5196,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5197,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:5200,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5203,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5204,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5205,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5206,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:5213,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5218,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5219,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5220,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5221,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:5226,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5227,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:5232,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5238,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5239,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5240,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5241,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:5247,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5248,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:5252,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5255,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5256,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5257,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5258,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:5263,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5264,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:5266,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5272,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5273,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5274,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5275,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:5279,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5282,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5284,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5285,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5291,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5292,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5293,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5298,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5299,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:5302,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 217
    argCount: 1
    argNames:
    - step
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5303
      start: 4788
    functionDepth: 1
    functionLinenumber: 4788
    functionLinenumberEnd: 5303
    functionName: _check_eax_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_info
    - gcry_cipher_setkey
    - gcry_cipher_algo_name
    - fail
    - gcry_cipher_setiv
    - gcry_cipher_authenticate
    - gcry_cipher_checktag
    - gcry_cipher_reset
    - fprintf
    - gcry_cipher_encrypt
    - gcry_cipher_gettag
    - memcmp
    - gpg_strerror
    - gcry_cipher_test_algo
    - gcry_cipher_close
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: void
    signature: void _check_eax_cipher (unsigned int step)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _check_eax_cipher
      Src: /src/libgcrypt/tests/basic.c:5310,1
    - Dst: _check_eax_cipher
      Src: /src/libgcrypt/tests/basic.c:5312,1
    - Dst: _check_eax_cipher
      Src: /src/libgcrypt/tests/basic.c:5314,1
    - Dst: _check_eax_cipher
      Src: /src/libgcrypt/tests/basic.c:5316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5317
      start: 5306
    functionDepth: 2
    functionLinenumber: 5306
    functionLinenumberEnd: 5317
    functionName: check_eax_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 1
    functionsReached:
    - _check_eax_cipher
    linkageType: ''
    returnType: void
    signature: void check_eax_cipher (void)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:5517,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:5522,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5524,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5524,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:5529,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:5530,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:5532,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:5534,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5537,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5537,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:5541,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5544,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:5548,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:5550,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5553,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5554,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5555,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5556,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:5562,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:5564,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5567,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5568,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5569,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5570,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:5577,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:5579,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5582,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5583,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5584,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5585,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:5592,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:5594,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5597,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5598,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5599,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5600,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:5605,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5608,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5609,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5610,1
    - Dst: gcry_cipher_info
      Src: /src/libgcrypt/tests/basic.c:5615,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5618,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5619,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5620,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5621,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5626,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5629,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5630,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:5636,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5640,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5641,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5642,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5643,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:5647,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:5649,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5650,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:5653,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5656,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5657,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5658,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5659,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:5663,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:5665,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5666,1
    - Dst: gcry_cipher_set_decryption_tag
      Src: /src/libgcrypt/tests/basic.c:5669,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5672,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5673,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5674,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5675,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:5679,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5682,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5683,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5684,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5685,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:5689,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5690,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:5692,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5695,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5696,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5697,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5698,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:5704,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5707,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5708,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5709,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5710,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:5714,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:5716,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5717,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:5720,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:5723,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:5724,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5725,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5726,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5731,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:5732,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:5735,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 155
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5736
      start: 5320
    functionDepth: 1
    functionLinenumber: 5320
    functionLinenumberEnd: 5736
    functionName: check_siv_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_authenticate
    - gcry_cipher_info
    - gcry_cipher_algo_name
    - gcry_cipher_setiv
    - gcry_cipher_encrypt
    - gcry_cipher_get_algo_keylen
    - gcry_cipher_open
    - mismatch
    - gcry_cipher_checktag
    - gcry_cipher_test_algo
    - gcry_cipher_setkey
    - fprintf
    - gcry_cipher_gettag
    - gpg_strerror
    - gcry_cipher_decrypt
    - fail
    - memcmp
    - gcry_cipher_set_decryption_tag
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void check_siv_cipher (void)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:6993,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:6997,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:7002,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7006,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7007,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7012,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:7018,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:7019,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:7021,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:7023,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7026,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7027,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:7031,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7034,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:7039,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:7041,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7044,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7045,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7046,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7047,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:7051,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:7053,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7056,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7057,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7058,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7059,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:7065,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:7067,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7070,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7071,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7072,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7073,1
    - Dst: gcry_cipher_info
      Src: /src/libgcrypt/tests/basic.c:7078,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7081,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7082,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7083,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7084,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7089,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7092,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7093,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:7099,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7103,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7104,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7105,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7106,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:7110,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:7112,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7113,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:7117,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7120,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7121,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7122,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7123,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:7127,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:7129,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7130,1
    - Dst: gcry_cipher_set_decryption_tag
      Src: /src/libgcrypt/tests/basic.c:7133,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7136,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7137,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7138,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7139,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:7143,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7146,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7147,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7148,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7149,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:7153,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7154,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:7157,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7160,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7161,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7162,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7163,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:7169,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7172,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7173,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7174,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7175,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:7179,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:7181,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7182,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:7185,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7188,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7189,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7190,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7191,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:7196,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/basic.c:7197,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7199,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7200,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7201,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7202,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7207,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7208,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:7211,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 151
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7212
      start: 5739
    functionDepth: 1
    functionLinenumber: 5739
    functionLinenumberEnd: 7212
    functionName: check_gcm_siv_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_authenticate
    - gcry_cipher_info
    - gcry_cipher_algo_name
    - gcry_cipher_setiv
    - gcry_cipher_encrypt
    - gcry_cipher_get_algo_keylen
    - gcry_cipher_open
    - mismatch
    - gcry_cipher_checktag
    - gcry_cipher_test_algo
    - gcry_cipher_setkey
    - fprintf
    - gcry_cipher_gettag
    - gpg_strerror
    - gcry_cipher_decrypt
    - fail
    - memcmp
    - gpg_err_code
    - gcry_cipher_set_decryption_tag
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void check_gcm_siv_cipher (void)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:7437,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:7441,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:7446,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7453,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:7458,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:7459,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:7461,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:7463,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7466,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7466,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:7470,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7473,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:7477,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:7479,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7482,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7483,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7484,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7485,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:7489,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:7491,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7494,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7495,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7496,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7497,1
    - Dst: gcry_cipher_info
      Src: /src/libgcrypt/tests/basic.c:7501,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7504,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7505,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7506,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7507,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7512,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7515,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7516,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:7524,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7527,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7528,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7529,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7530,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:7533,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7536,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7537,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7538,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7539,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:7548,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7552,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7553,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7554,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7555,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:7560,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7561,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:7567,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7570,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7571,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7572,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7573,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:7578,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7579,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:7581,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7584,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7585,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7586,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7587,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:7591,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7592,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:7595,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7598,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7599,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7600,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7601,1
    - Dst: gcry_cipher_reset
      Src: /src/libgcrypt/tests/basic.c:7605,1
    - Dst: gcry_cipher_reset
      Src: /src/libgcrypt/tests/basic.c:7607,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7610,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7611,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7612,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7613,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:7618,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:7620,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7623,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7624,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7625,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7626,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:7633,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7636,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7637,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7638,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7639,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:7642,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7645,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7646,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7647,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7648,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:7655,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7660,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7661,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7662,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7663,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:7668,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7669,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:7671,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7674,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7675,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7676,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7677,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:7681,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7682,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:7686,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7689,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7690,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7691,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7692,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:7697,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7698,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:7700,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:7703,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:7704,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7705,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7706,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7710,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:7711,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:7714,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 194
    argCount: 1
    argNames:
    - step
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7715
      start: 7215
    functionDepth: 1
    functionLinenumber: 7215
    functionLinenumberEnd: 7715
    functionName: _check_poly1305_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_info
    - gcry_cipher_setkey
    - gcry_cipher_algo_name
    - fail
    - gcry_cipher_setiv
    - gcry_cipher_authenticate
    - gcry_cipher_checktag
    - gcry_cipher_reset
    - fprintf
    - gcry_cipher_encrypt
    - gcry_cipher_gettag
    - memcmp
    - gpg_strerror
    - gcry_cipher_test_algo
    - gcry_cipher_close
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: void
    signature: void _check_poly1305_cipher (unsigned int step)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _check_poly1305_cipher
      Src: /src/libgcrypt/tests/basic.c:7722,1
    - Dst: _check_poly1305_cipher
      Src: /src/libgcrypt/tests/basic.c:7724,1
    - Dst: _check_poly1305_cipher
      Src: /src/libgcrypt/tests/basic.c:7726,1
    - Dst: _check_poly1305_cipher
      Src: /src/libgcrypt/tests/basic.c:7728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7729
      start: 7718
    functionDepth: 2
    functionLinenumber: 7718
    functionLinenumberEnd: 7729
    functionName: check_poly1305_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 1
    functionsReached:
    - _check_poly1305_cipher
    linkageType: ''
    returnType: void
    signature: void check_poly1305_cipher (void)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:8149,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:8153,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:8158,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8162,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8163,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8168,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:8173,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:8174,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:8183,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:8185,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8188,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8189,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:8193,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8196,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8197,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8198,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:8202,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:8204,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8207,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8208,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8209,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8210,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:8214,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8217,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8218,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8219,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:8223,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:8225,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8228,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8229,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8230,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8231,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/basic.c:8239,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/basic.c:8242,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8246,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8247,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8248,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8249,1
    - Dst: gcry_cipher_info
      Src: /src/libgcrypt/tests/basic.c:8253,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8256,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8257,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8258,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8259,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8264,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8267,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8268,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:8274,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:8277,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:8281,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:8284,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8289,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8290,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8291,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8292,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:8296,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:8299,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8305,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8306,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8307,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8308,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:8312,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8315,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8316,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8317,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8318,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:8322,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8323,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:8326,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:8328,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8332,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8333,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8334,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8335,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:8339,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8340,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:8343,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8346,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8347,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8348,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8349,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8353,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8354,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:8372,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8375,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8376,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:8380,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8383,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8384,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8385,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:8389,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8392,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8393,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8394,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/basic.c:8401,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8405,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8406,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8407,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:8411,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:8415,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8418,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8419,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8420,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:8427,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:8428,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8431,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8432,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8433,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:8438,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8441,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8442,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8443,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:8447,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8448,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8450,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:8466,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8469,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8470,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:8474,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8477,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8478,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8479,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:8483,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8486,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8487,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8488,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/basic.c:8495,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8499,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8500,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8501,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:8505,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:8509,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8512,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8513,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8514,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:8521,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:8522,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8525,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8526,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8527,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:8532,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8535,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8536,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8537,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:8541,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8542,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8544,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:8548,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 251
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8550
      start: 7732
    functionDepth: 1
    functionLinenumber: 7732
    functionLinenumberEnd: 8550
    functionName: check_ccm_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - gcry_cipher_info
    - gcry_cipher_authenticate
    - gcry_cipher_algo_name
    - gcry_cipher_setiv
    - gcry_cipher_encrypt
    - gcry_cipher_ctl
    - gcry_cipher_get_algo_keylen
    - gcry_cipher_open
    - gcry_cipher_checktag
    - gcry_cipher_test_algo
    - gcry_cipher_setkey
    - fprintf
    - gcry_cipher_gettag
    - gpg_strerror
    - memset
    - gcry_cipher_decrypt
    - fail
    - memcmp
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void check_ccm_cipher (void)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:8804,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/basic.c:8806,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:8814,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:8815,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/basic.c:8818,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/basic.c:8821,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/basic.c:8822,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/basic.c:8823,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/basic.c:8824,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:8827,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:8828,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:8829,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/basic.c:8834,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/basic.c:8836,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8837,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8838,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:8841,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:8843,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8846,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8847,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/basic.c:8857,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8861,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8862,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8863,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8864,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/basic.c:8868,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8872,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8873,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8874,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8875,1
    - Dst: gcry_cipher_info
      Src: /src/libgcrypt/tests/basic.c:8879,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8882,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8883,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8884,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8885,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8890,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8893,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8894,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:8898,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:8900,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8903,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8904,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8905,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8906,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:8910,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:8912,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8915,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8916,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8917,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8918,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:8922,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8925,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8926,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8927,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8928,1
    - Dst: gcry_cipher_final
      Src: /src/libgcrypt/tests/basic.c:8932,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:8937,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:8938,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:8942,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8948,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8949,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8950,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8951,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:8957,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:8959,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8960,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:8965,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8968,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8969,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:8971,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:8973,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8975,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:8979,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:8982,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:8983,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8984,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:8985,1
    - Dst: gcry_cipher_final
      Src: /src/libgcrypt/tests/basic.c:8990,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:8995,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:9001,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:9002,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9007,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9008,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9009,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9010,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:9015,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9018,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9019,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:9023,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:9025,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9026,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:9030,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9033,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9034,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:9036,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:9038,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9040,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9043,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9044,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9046,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9047,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9048,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9049,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9050,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:9054,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 156
    argCount: 1
    argNames:
    - inplace
    argTypes:
    - int
    assertStmts:
    - condition: (tv[tidx].taglen <= ciphlen)
      pos:
        line_end: 8827
        line_start: 8827
        source_file: /src/libgcrypt/tests/basic.c
    - condition: (plainlen <= sizeof out)
      pos:
        line_end: 8826
        line_start: 8826
        source_file: /src/libgcrypt/tests/basic.c
    - condition: (tv[tidx].taglen <= sizeof tag)
      pos:
        line_end: 8828
        line_start: 8828
        source_file: /src/libgcrypt/tests/basic.c
    constantsTouched: []
    func_position:
      end: 9055
      start: 8553
    functionDepth: 1
    functionLinenumber: 8553
    functionLinenumberEnd: 9055
    functionName: do_check_ocb_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_info
    - gcry_cipher_authenticate
    - gcry_cipher_algo_name
    - gcry_cipher_setiv
    - gcry_cipher_encrypt
    - gcry_cipher_ctl
    - memcpy
    - gcry_cipher_final
    - gcry_cipher_open
    - DIM
    - mismatch
    - gcry_cipher_checktag
    - gcry_cipher_setkey
    - assert
    - gcry_control
    - fprintf
    - gcry_cipher_gettag
    - gpg_strerror
    - xfree
    - gcry_cipher_decrypt
    - fail
    - hex2buffer
    - memcmp
    - gpg_err_code
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void do_check_ocb_cipher (int inplace)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/basic.c:9075,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9078,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/basic.c:9081,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9084,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9085,1
    - Dst: gcry_md_hash_buffer
      Src: /src/libgcrypt/tests/basic.c:9098,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:9099,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:9102,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:9107,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9111,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9112,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/basic.c:9119,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/basic.c:9121,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9122,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9123,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:9126,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:9128,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9131,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9132,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:9136,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:9138,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9141,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9142,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9143,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9144,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:9148,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:9150,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9153,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9154,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9155,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9156,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:9162,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:9166,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9170,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9171,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9172,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9173,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:9179,1
    - Dst: gcry_cipher_final
      Src: /src/libgcrypt/tests/basic.c:9183,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:9186,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9192,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9193,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9194,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9195,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:9200,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9203,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9204,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:9206,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:9208,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9209,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:9212,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9215,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9216,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9217,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9218,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:9225,1
    - Dst: gcry_cipher_final
      Src: /src/libgcrypt/tests/basic.c:9229,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:9232,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9238,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9239,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9240,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9241,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:9246,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9249,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9250,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:9254,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9257,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:9261,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9264,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9265,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:9267,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:9269,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9270,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9273,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9274,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9277,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9278,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 144
    argCount: 4
    argNames:
    - algo
    - keylen
    - tagexpect
    - splitpos
    argTypes:
    - int
    - int
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9279
      start: 9058
    functionDepth: 1
    functionLinenumber: 9058
    functionLinenumberEnd: 9279
    functionName: check_ocb_cipher_largebuf_split
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_authenticate
    - gcry_md_hash_buffer
    - gcry_cipher_setiv
    - xmalloc
    - gcry_cipher_encrypt
    - memcpy
    - gcry_cipher_final
    - gcry_cipher_open
    - mismatch
    - gcry_cipher_test_algo
    - gcry_cipher_checktag
    - gcry_cipher_setkey
    - gcry_control
    - fprintf
    - gcry_cipher_gettag
    - xfree
    - gpg_strerror
    - gcry_cipher_decrypt
    - fail
    - memcmp
    - gpg_err_code
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: "void check_ocb_cipher_largebuf_split (int algo, int keylen, const
      char *tagexpect,\n\t\t\t\t unsigned int splitpos)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/basic.c:9299,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9302,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/basic.c:9305,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9308,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9309,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:9313,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:9324,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:9329,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9333,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9334,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/basic.c:9341,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/basic.c:9343,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9344,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9345,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:9348,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:9350,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:9352,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9355,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9356,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9357,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9358,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:9362,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:9364,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:9366,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9369,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9370,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9371,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9372,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9373,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:9377,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:9379,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:9381,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9384,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9385,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9386,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9387,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9388,1
    - Dst: gcry_cipher_final
      Src: /src/libgcrypt/tests/basic.c:9392,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:9395,1
    - Dst: gcry_cipher_final
      Src: /src/libgcrypt/tests/basic.c:9400,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:9402,1
    - Dst: gcry_cipher_final
      Src: /src/libgcrypt/tests/basic.c:9406,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:9410,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9415,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9416,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9417,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9418,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9419,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:9424,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9427,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9428,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:9430,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9433,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9434,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:9436,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9439,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9440,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:9442,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:9444,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9445,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:9447,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:9449,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9450,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9453,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9454,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9455,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9458,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9459,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 119
    argCount: 2
    argNames:
    - algo
    - keylen
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9460
      start: 9282
    functionDepth: 1
    functionLinenumber: 9282
    functionLinenumberEnd: 9460
    functionName: check_ocb_cipher_checksum
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_setiv
    - xmalloc
    - gcry_cipher_encrypt
    - gcry_cipher_final
    - gcry_cipher_open
    - mismatch
    - gcry_cipher_test_algo
    - gcry_cipher_setkey
    - gcry_control
    - fprintf
    - gcry_cipher_gettag
    - memset
    - xfree
    - gpg_strerror
    - gcry_cipher_decrypt
    - fail
    - memcmp
    - gpg_err_code
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void check_ocb_cipher_checksum (int algo, int keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_ocb_cipher_largebuf_split
      Src: /src/libgcrypt/tests/basic.c:9470,1
    - Dst: check_ocb_cipher_checksum
      Src: /src/libgcrypt/tests/basic.c:9473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - algo
    - keylen
    - tagexpect
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9474
      start: 9463
    functionDepth: 2
    functionLinenumber: 9463
    functionLinenumberEnd: 9474
    functionName: check_ocb_cipher_largebuf
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - check_ocb_cipher_largebuf_split
    - check_ocb_cipher_checksum
    linkageType: ''
    returnType: void
    signature: void check_ocb_cipher_largebuf (int algo, int keylen, const char *tagexpect)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:9486,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:9488,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:9490,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:9492,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:9494,1
    - Dst: gcry_cipher_final
      Src: /src/libgcrypt/tests/basic.c:9496,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:9498,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:9500,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9501,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9503,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9503,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 6
    argNames:
    - key
    - nonce
    - aad
    - len0
    - len1
    - tag
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - unsigned char*
    - size_t
    - size_t
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9504
      start: 9477
    functionDepth: 1
    functionLinenumber: 9477
    functionLinenumberEnd: 9504
    functionName: ocb_aad_tag
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_open
    - gcry_cipher_authenticate
    - gcry_cipher_setkey
    - fail
    - gcry_cipher_setiv
    - gcry_cipher_encrypt
    - gcry_cipher_gettag
    - gpg_strerror
    - gcry_cipher_final
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: "void ocb_aad_tag (const unsigned char key[16], const unsigned char
      nonce[12],\n             const unsigned char *aad, size_t len0, size_t len1,\n
      \            unsigned char tag[16])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:9520,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/basic.c:9522,1
    - Dst: ocb_aad_tag
      Src: /src/libgcrypt/tests/basic.c:9526,1
    - Dst: ocb_aad_tag
      Src: /src/libgcrypt/tests/basic.c:9527,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:9529,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9530,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9533
      start: 9507
    functionDepth: 2
    functionLinenumber: 9507
    functionLinenumberEnd: 9533
    functionName: check_ocb_cipher_aad_tablewrap
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - ocb_aad_tag
    - fail
    - fprintf
    - xmalloc
    - memcmp
    - xfree
    linkageType: ''
    returnType: void
    signature: void check_ocb_cipher_aad_tablewrap (void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/basic.c:9654,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/basic.c:9655,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/basic.c:9656,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/basic.c:9657,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:9660,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:9661,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:9662,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/basic.c:9664,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:9670,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/basic.c:9672,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/basic.c:9673,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/basic.c:9674,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/basic.c:9675,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/basic.c:9680,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/basic.c:9682,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9683,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9684,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:9687,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9690,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9691,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:9695,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9698,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9699,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9700,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:9704,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9707,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9708,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9709,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/basic.c:9713,1
    - Dst: gcry_cipher_authenticate
      Src: /src/libgcrypt/tests/basic.c:9717,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9720,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9722,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9723,1
    - Dst: gcry_cipher_final
      Src: /src/libgcrypt/tests/basic.c:9728,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:9730,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9733,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9734,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9735,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:9741,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:9743,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9744,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:9749,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9752,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:9753,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:9755,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:9757,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:9758,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:9762,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9763,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9764,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9765,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9766,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9769,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9770,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9771,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:9772,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (16 <= sizeof tag)
      pos:
        line_end: 9661
        line_start: 9661
        source_file: /src/libgcrypt/tests/basic.c
    - condition: (plainlen <= sizeof out)
      pos:
        line_end: 9659
        line_start: 9659
        source_file: /src/libgcrypt/tests/basic.c
    - condition: (16 <= ciphlen)
      pos:
        line_end: 9660
        line_start: 9660
        source_file: /src/libgcrypt/tests/basic.c
    constantsTouched: []
    func_position:
      end: 9773
      start: 9536
    functionDepth: 1
    functionLinenumber: 9536
    functionLinenumberEnd: 9773
    functionName: check_ocb_cipher_splitaad
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_authenticate
    - gcry_cipher_setiv
    - gcry_cipher_encrypt
    - gcry_cipher_final
    - gcry_cipher_open
    - DIM
    - mismatch
    - gcry_cipher_setkey
    - assert
    - gcry_control
    - fprintf
    - gcry_cipher_gettag
    - gpg_strerror
    - xfree
    - fail
    - hex2buffer
    - memcmp
    - gpg_err_code
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void check_ocb_cipher_splitaad (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_check_ocb_cipher
      Src: /src/libgcrypt/tests/basic.c:9781,1
    - Dst: do_check_ocb_cipher
      Src: /src/libgcrypt/tests/basic.c:9784,1
    - Dst: check_ocb_cipher_largebuf
      Src: /src/libgcrypt/tests/basic.c:9787,1
    - Dst: check_ocb_cipher_largebuf
      Src: /src/libgcrypt/tests/basic.c:9789,1
    - Dst: check_ocb_cipher_largebuf
      Src: /src/libgcrypt/tests/basic.c:9792,1
    - Dst: check_ocb_cipher_largebuf
      Src: /src/libgcrypt/tests/basic.c:9794,1
    - Dst: check_ocb_cipher_largebuf
      Src: /src/libgcrypt/tests/basic.c:9796,1
    - Dst: check_ocb_cipher_largebuf
      Src: /src/libgcrypt/tests/basic.c:9800,1
    - Dst: check_ocb_cipher_largebuf
      Src: /src/libgcrypt/tests/basic.c:9802,1
    - Dst: check_ocb_cipher_largebuf
      Src: /src/libgcrypt/tests/basic.c:9806,1
    - Dst: check_ocb_cipher_largebuf
      Src: /src/libgcrypt/tests/basic.c:9808,1
    - Dst: check_ocb_cipher_largebuf
      Src: /src/libgcrypt/tests/basic.c:9810,1
    - Dst: check_ocb_cipher_largebuf
      Src: /src/libgcrypt/tests/basic.c:9814,1
    - Dst: check_ocb_cipher_largebuf
      Src: /src/libgcrypt/tests/basic.c:9818,1
    - Dst: check_ocb_cipher_largebuf
      Src: /src/libgcrypt/tests/basic.c:9820,1
    - Dst: check_ocb_cipher_largebuf
      Src: /src/libgcrypt/tests/basic.c:9822,1
    - Dst: check_ocb_cipher_splitaad
      Src: /src/libgcrypt/tests/basic.c:9827,1
    - Dst: check_ocb_cipher_aad_tablewrap
      Src: /src/libgcrypt/tests/basic.c:9828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9829
      start: 9776
    functionDepth: 3
    functionLinenumber: 9776
    functionLinenumberEnd: 9829
    functionName: check_ocb_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 1
    functionsReached:
    - do_check_ocb_cipher
    - check_ocb_cipher_aad_tablewrap
    - check_ocb_cipher_largebuf
    - check_ocb_cipher_splitaad
    linkageType: ''
    returnType: void
    signature: void check_ocb_cipher (void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:10023,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/basic.c:10025,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:10032,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:10033,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/basic.c:10040,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/basic.c:10041,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/basic.c:10042,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/basic.c:10043,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/basic.c:10045,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:10047,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:10048,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:10049,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:10051,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:10053,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10056,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:10057,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:10058,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:10062,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:10063,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:10070,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10073,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:10074,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:10078,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:10080,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10083,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:10084,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:10090,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:10091,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:10095,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10099,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:10100,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:10105,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:10107,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10108,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:10114,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:10118,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:10119,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10123,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:10124,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:10129,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:10131,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10132,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:10142,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:10143,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:10145,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:10146,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:10147,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:10148,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:10149,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:10153,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 92
    argCount: 1
    argNames:
    - inplace
    argTypes:
    - int
    assertStmts:
    - condition: (out)
      pos:
        line_end: 10048
        line_start: 10048
        source_file: /src/libgcrypt/tests/basic.c
    - condition: (plainlen == ciphlen)
      pos:
        line_end: 10046
        line_start: 10046
        source_file: /src/libgcrypt/tests/basic.c
    - condition: (plainlen <= outlen)
      pos:
        line_end: 10047
        line_start: 10047
        source_file: /src/libgcrypt/tests/basic.c
    constantsTouched: []
    func_position:
      end: 10154
      start: 9833
    functionDepth: 1
    functionLinenumber: 9833
    functionLinenumberEnd: 10154
    functionName: do_check_xts_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_setkey
    - gcry_cipher_algo_name
    - assert
    - fail
    - gcry_cipher_setiv
    - DIM
    - hex2buffer
    - fprintf
    - xmalloc
    - gcry_cipher_encrypt
    - memcmp
    - gpg_strerror
    - mismatch
    - xfree
    - memcpy
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void do_check_xts_cipher (int inplace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_check_xts_cipher
      Src: /src/libgcrypt/tests/basic.c:10162,1
    - Dst: do_check_xts_cipher
      Src: /src/libgcrypt/tests/basic.c:10165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10166
      start: 10157
    functionDepth: 2
    functionLinenumber: 10157
    functionLinenumberEnd: 10166
    functionName: check_xts_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 1
    functionsReached:
    - do_check_xts_cipher
    linkageType: ''
    returnType: void
    signature: void check_xts_cipher (void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:10246,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:10248,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:10253,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10257,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:10257,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10262,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:10266,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10269,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:10275,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:10278,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10282,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:10282,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:10283,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:10284,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:10288,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:10290,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10293,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:10294,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:10295,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:10296,1
    - Dst: gcry_cipher_set_sbox
      Src: /src/libgcrypt/tests/basic.c:10300,1
    - Dst: gcry_cipher_set_sbox
      Src: /src/libgcrypt/tests/basic.c:10302,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10305,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:10306,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:10307,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:10308,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:10312,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:10315,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10319,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:10320,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:10321,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:10322,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:10326,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10328,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:10329,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:10333,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10336,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:10337,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:10338,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:10339,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:10343,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10345,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:10346,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:10350,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:10351,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 74
    argCount: 1
    argNames:
    - algo
    argTypes:
    - enum gcry_cipher_algos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10357
      start: 10169
    functionDepth: 1
    functionLinenumber: 10169
    functionLinenumberEnd: 10357
    functionName: check_gost28147_cipher_basic
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_setkey
    - fail
    - strlen
    - fprintf
    - gcry_cipher_encrypt
    - memcmp
    - gpg_strerror
    - mismatch
    - gcry_cipher_set_sbox
    - gcry_cipher_test_algo
    - gcry_cipher_close
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: void
    signature: void check_gost28147_cipher_basic (enum gcry_cipher_algos algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_gost28147_cipher_basic
      Src: /src/libgcrypt/tests/basic.c:10362,1
    - Dst: check_gost28147_cipher_basic
      Src: /src/libgcrypt/tests/basic.c:10363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10364
      start: 10359
    functionDepth: 2
    functionLinenumber: 10359
    functionLinenumberEnd: 10364
    functionName: check_gost28147_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - check_gost28147_cipher_basic
    linkageType: ''
    returnType: void
    signature: void check_gost28147_cipher (void)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:10888,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:10892,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:10897,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10901,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:10901,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10906,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:10911,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:10912,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:10914,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10916,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:10920,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:10922,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10925,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:10926,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:10933,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:10935,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10938,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:10939,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:10943,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:10945,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10948,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:10949,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:10953,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10958,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:10959,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:10963,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10965,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:10966,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:10970,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10973,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:10974,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:10978,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10979,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:10988,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:10990,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:10993,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:10994,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:10998,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:11000,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11003,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11004,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:11010,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11015,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11016,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:11021,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11022,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:11026,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11029,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11030,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:11035,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11036,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:11040,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:11041,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:11044,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 110
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11045
      start: 10366
    functionDepth: 1
    functionLinenumber: 10366
    functionLinenumberEnd: 11045
    functionName: check_stream_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_setkey
    - gcry_cipher_algo_name
    - fail
    - gcry_cipher_setiv
    - fprintf
    - gcry_cipher_encrypt
    - memcmp
    - gpg_strerror
    - mismatch
    - gcry_cipher_test_algo
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void check_stream_cipher (void)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:11344,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:11346,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/basic.c:11349,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:11350,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:11354,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:11359,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11363,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11363,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11368,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:11373,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:11374,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:11376,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11379,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11380,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:11384,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11387,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11388,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:11392,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11395,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11396,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:11402,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11405,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11407,1
    - Dst: die
      Src: /src/libgcrypt/tests/basic.c:11413,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:11418,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:11420,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11423,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:11424,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:11432,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11435,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11436,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:11440,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11443,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11444,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:11463,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:11464,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11467,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11469,1
    - Dst: die
      Src: /src/libgcrypt/tests/basic.c:11475,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:11481,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:11483,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11486,1
    - Dst: mismatch
      Src: /src/libgcrypt/tests/basic.c:11487,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:11493,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/basic.c:11496,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:11498,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 123
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tv[i].data[j].offset + tv[i].data[j].length <= buffersize)
      pos:
        line_end: 11480
        line_start: 11480
        source_file: /src/libgcrypt/tests/basic.c
    - condition: (tv[i].data[j].offset + tv[i].data[j].length <= buffersize)
      pos:
        line_end: 11417
        line_start: 11417
        source_file: /src/libgcrypt/tests/basic.c
    - condition: (j <= 512)
      pos:
        line_end: 11462
        line_start: 11462
        source_file: /src/libgcrypt/tests/basic.c
    constantsTouched: []
    func_position:
      end: 11499
      start: 11048
    functionDepth: 1
    functionLinenumber: 11048
    functionLinenumberEnd: 11499
    functionName: check_stream_cipher_large_block
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - gcry_cipher_open
    - gcry_cipher_setkey
    - fail
    - gcry_cipher_algo_name
    - gcry_cipher_setiv
    - assert
    - gcry_xmalloc
    - fprintf
    - gcry_cipher_encrypt
    - memcmp
    - memset
    - gpg_strerror
    - mismatch
    - die
    - gcry_cipher_test_algo
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void check_stream_cipher_large_block (void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:11668,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/basic.c:11671,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/basic.c:11673,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/basic.c:11677,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:11680,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:11681,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/basic.c:11687,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/basic.c:11689,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11690,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:11691,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11691,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:11694,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:11696,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11699,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11699,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:11703,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11706,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:11710,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:11711,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:11712,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:11714,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11717,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11717,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:11721,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11724,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:11728,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:11729,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:11730,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:11732,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11735,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11735,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:11743,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:11744,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11747,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11748,1
    - Dst: gcry_md_hash_buffer
      Src: /src/libgcrypt/tests/basic.c:11752,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:11754,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/basic.c:11755,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:11757,1
    - Dst: puts
      Src: /src/libgcrypt/tests/basic.c:11758,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:11761,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11762,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:11765,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:11766,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11769,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11770,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:11774,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11775,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:11778,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:11779,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:11783,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:11785,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:11786,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/basic.c:11787,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/basic.c:11788,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11789
      start: 11504
    functionDepth: 2
    functionLinenumber: 11504
    functionLinenumberEnd: 11789
    functionName: check_bulk_cipher_modes
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - gcry_cipher_algo_name
    - gcry_cipher_setiv
    - gcry_md_hash_buffer
    - puts
    - gcry_cipher_encrypt
    - gcry_cipher_get_algo_keylen
    - gcry_cipher_open
    - printf
    - DIM
    - clutter_vector_registers
    - gcry_cipher_setkey
    - gcry_control
    - gcry_xmalloc
    - fprintf
    - gpg_strerror
    - gcry_free
    - gcry_cipher_decrypt
    - fail
    - memcmp
    - gpg_err_code
    - fputs
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void check_bulk_cipher_modes (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:11795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - algo
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11813
      start: 11792
    functionDepth: 1
    functionLinenumber: 11792
    functionLinenumberEnd: 11813
    functionName: get_algo_mode_blklen
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_algo_mode_blklen (int algo, int mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:11826,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - algo
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11830
      start: 11816
    functionDepth: 1
    functionLinenumber: 11816
    functionLinenumberEnd: 11830
    functionName: get_algo_mode_taglen
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_algo_mode_taglen (int algo, int mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_reset
      Src: /src/libgcrypt/tests/basic.c:11841,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:11845,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:11846,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11849,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11850,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:11851,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/basic.c:11861,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11865,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11867,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:11868,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - hd
    - algo
    - mode
    - pass
    - nplain
    argTypes:
    - gcry_cipher_hd_t
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11874
      start: 11833
    functionDepth: 2
    functionLinenumber: 11833
    functionLinenumberEnd: 11874
    functionName: check_one_cipher_core_reset
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - clutter_vector_registers
    - fail
    - gcry_cipher_setiv
    - gcry_cipher_reset
    - gpg_strerror
    - gcry_cipher_ctl
    - gcry_cipher_close
    linkageType: ''
    returnType: int
    signature: "int check_one_cipher_core_reset (gcry_cipher_hd_t hd, int algo, int
      mode, int pass,\n                             int nplain)"
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libgcrypt/tests/basic.c:11899,1
    - Dst: malloc
      Src: /src/libgcrypt/tests/basic.c:11900,1
    - Dst: malloc
      Src: /src/libgcrypt/tests/basic.c:11901,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11904,1
    - Dst: get_algo_mode_blklen
      Src: /src/libgcrypt/tests/basic.c:11909,1
    - Dst: get_algo_mode_taglen
      Src: /src/libgcrypt/tests/basic.c:11910,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:11912,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:11913,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:11914,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:11915,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:11945,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11948,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11955,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:11964,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11967,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11968,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:11972,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:11973,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11976,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11977,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:11978,1
    - Dst: check_one_cipher_core_reset
      Src: /src/libgcrypt/tests/basic.c:11982,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:11985,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:11986,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11990,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11991,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:11992,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:11997,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:11998,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:11999,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:12005,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:12006,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12009,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12010,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12011,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:12015,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:12018,1
    - Dst: check_one_cipher_core_reset
      Src: /src/libgcrypt/tests/basic.c:12020,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:12023,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:12024,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12027,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12028,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12029,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:12035,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:12036,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12039,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12040,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12041,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:12046,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12047,1
    - Dst: check_one_cipher_core_reset
      Src: /src/libgcrypt/tests/basic.c:12051,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:12054,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:12055,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:12056,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12059,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12061,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12062,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:12068,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12071,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12073,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12074,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:12078,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12079,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:12083,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12084,1
    - Dst: check_one_cipher_core_reset
      Src: /src/libgcrypt/tests/basic.c:12087,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:12090,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:12091,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12094,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12096,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12097,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:12103,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:12104,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12107,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12109,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12110,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:12115,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12116,1
    - Dst: check_one_cipher_core_reset
      Src: /src/libgcrypt/tests/basic.c:12120,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:12130,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:12131,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12135,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12137,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12138,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:12150,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/basic.c:12151,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12154,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12156,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12157,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:12161,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12162,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:12166,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12167,1
    - Dst: check_one_cipher_core_reset
      Src: /src/libgcrypt/tests/basic.c:12170,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:12180,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:12181,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12184,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12186,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12187,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:12199,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/basic.c:12200,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12203,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12205,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12206,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:12211,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12212,1
    - Dst: check_one_cipher_core_reset
      Src: /src/libgcrypt/tests/basic.c:12217,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:12227,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:12228,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:12229,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12232,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12234,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12235,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:12245,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12246,1
    - Dst: check_one_cipher_core_reset
      Src: /src/libgcrypt/tests/basic.c:12249,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:12259,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:12260,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12263,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12265,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12266,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:12276,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12277,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12281,1
    - Dst: free
      Src: /src/libgcrypt/tests/basic.c:12283,1
    - Dst: free
      Src: /src/libgcrypt/tests/basic.c:12284,1
    - Dst: free
      Src: /src/libgcrypt/tests/basic.c:12285,1
    - Dst: free
      Src: /src/libgcrypt/tests/basic.c:12289,1
    - Dst: free
      Src: /src/libgcrypt/tests/basic.c:12290,1
    - Dst: free
      Src: /src/libgcrypt/tests/basic.c:12291,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 280
    argCount: 10
    argNames:
    - algo
    - mode
    - flags
    - key
    - nkey
    - plain
    - nplain
    - bufshift
    - split_mode
    - pass
    argTypes:
    - int
    - int
    - int
    - char*
    - size_t
    - unsigned char*
    - size_t
    - int
    - int
    - int
    assertStmts:
    - condition: (nplain > 0)
      pos:
        line_end: 11912
        line_start: 11912
        source_file: /src/libgcrypt/tests/basic.c
    - condition: (nkey == 64)
      pos:
        line_end: 11911
        line_start: 11911
        source_file: /src/libgcrypt/tests/basic.c
    - condition: ((nplain % 16) == 0)
      pos:
        line_end: 11913
        line_start: 11913
        source_file: /src/libgcrypt/tests/basic.c
    - condition: (blklen > 0)
      pos:
        line_end: 11914
        line_start: 11914
        source_file: /src/libgcrypt/tests/basic.c
    constantsTouched: []
    func_position:
      end: 12293
      start: 11880
    functionDepth: 3
    functionLinenumber: 11880
    functionLinenumberEnd: 12293
    functionName: check_one_cipher_core
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - check_one_cipher_core_reset
    - gcry_cipher_encrypt
    - memcpy
    - gcry_cipher_get_algo_keylen
    - gcry_cipher_open
    - get_algo_mode_taglen
    - gcry_cipher_checktag
    - get_algo_mode_blklen
    - clutter_vector_registers
    - gcry_cipher_setkey
    - assert
    - gcry_cipher_gettag
    - gpg_strerror
    - malloc
    - gcry_cipher_decrypt
    - fail
    - memcmp
    - gcry_cipher_close
    - free
    linkageType: ''
    returnType: int
    signature: "int check_one_cipher_core (int algo, int mode, int flags,\n                       const
      char *key, size_t nkey,\n                       const unsigned char *plain,
      size_t nplain,\n                       int bufshift, int split_mode, int pass)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_reset
      Src: /src/libgcrypt/tests/basic.c:12314,1
    - Dst: get_algo_mode_blklen
      Src: /src/libgcrypt/tests/basic.c:12317,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:12338,1
    - Dst: gcry_cipher_setctr
      Src: /src/libgcrypt/tests/basic.c:12340,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:12342,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12346,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12347,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12348,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 6
    argNames:
    - hd
    - algo
    - mode
    - ctr_high_bits
    - be_ctr
    - pass
    argTypes:
    - gcry_cipher_hd_t
    - int
    - int
    - u32
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12353
      start: 12297
    functionDepth: 2
    functionLinenumber: 12297
    functionLinenumberEnd: 12353
    functionName: check_one_cipher_ctr_reset
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - clutter_vector_registers
    - gcry_cipher_setctr
    - fail
    - gcry_cipher_setiv
    - gcry_cipher_reset
    - gpg_strerror
    - get_algo_mode_blklen
    - gcry_cipher_close
    linkageType: ''
    returnType: int
    signature: "int check_one_cipher_ctr_reset (gcry_cipher_hd_t hd, int algo, int
      mode,\n\t\t\t    u32 ctr_high_bits, int be_ctr,\n\t\t\t    int pass)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libgcrypt/tests/basic.c:12373,1
    - Dst: malloc
      Src: /src/libgcrypt/tests/basic.c:12374,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12377,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:12382,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:12383,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:12384,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:12386,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12389,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12396,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:12401,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12404,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12405,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:12409,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:12410,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12413,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12414,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12415,1
    - Dst: check_one_cipher_ctr_reset
      Src: /src/libgcrypt/tests/basic.c:12419,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:12426,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:12427,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12430,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12431,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12432,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:12437,1
    - Dst: check_one_cipher_ctr_reset
      Src: /src/libgcrypt/tests/basic.c:12446,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:12450,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:12451,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12454,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12455,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12456,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:12466,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:12467,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12471,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:12473,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12474,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:12482,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12483,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12488,1
    - Dst: free
      Src: /src/libgcrypt/tests/basic.c:12490,1
    - Dst: free
      Src: /src/libgcrypt/tests/basic.c:12491,1
    - Dst: free
      Src: /src/libgcrypt/tests/basic.c:12495,1
    - Dst: free
      Src: /src/libgcrypt/tests/basic.c:12496,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 90
    argCount: 10
    argNames:
    - algo
    - mode
    - flags
    - key
    - nkey
    - plain
    - nplain
    - ctr_high_bits
    - be_ctr
    - pass
    argTypes:
    - int
    - int
    - int
    - char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned long
    - int
    - int
    assertStmts:
    - condition: (nkey == 64)
      pos:
        line_end: 12381
        line_start: 12381
        source_file: /src/libgcrypt/tests/basic.c
    - condition: (nplain > 0)
      pos:
        line_end: 12382
        line_start: 12382
        source_file: /src/libgcrypt/tests/basic.c
    - condition: ((nplain % 16) == 0)
      pos:
        line_end: 12383
        line_start: 12383
        source_file: /src/libgcrypt/tests/basic.c
    constantsTouched: []
    func_position:
      end: 12498
      start: 12355
    functionDepth: 3
    functionLinenumber: 12355
    functionLinenumberEnd: 12498
    functionName: check_one_cipher_ctr_overflow
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - clutter_vector_registers
    - gcry_cipher_open
    - gcry_cipher_setkey
    - fail
    - assert
    - check_one_cipher_ctr_reset
    - free
    - gcry_cipher_encrypt
    - memcmp
    - gpg_strerror
    - malloc
    - memcpy
    - gcry_cipher_close
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: int
    signature: "int check_one_cipher_ctr_overflow (int algo, int mode, int flags,\n\t\t\t
      \      const char *key, size_t nkey,\n\t\t\t       const unsigned char *plain,
      size_t nplain,\n\t\t\t       unsigned long ctr_high_bits, int be_ctr,\n\t\t\t
      \      int pass)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libgcrypt/tests/basic.c:12510,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12513,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:12520,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:12522,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:12525,1
    - Dst: check_one_cipher_core
      Src: /src/libgcrypt/tests/basic.c:12532,1
    - Dst: memmove
      Src: /src/libgcrypt/tests/basic.c:12538,1
    - Dst: check_one_cipher_core
      Src: /src/libgcrypt/tests/basic.c:12539,1
    - Dst: memmove
      Src: /src/libgcrypt/tests/basic.c:12545,1
    - Dst: check_one_cipher_core
      Src: /src/libgcrypt/tests/basic.c:12546,1
    - Dst: memmove
      Src: /src/libgcrypt/tests/basic.c:12552,1
    - Dst: check_one_cipher_core
      Src: /src/libgcrypt/tests/basic.c:12553,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:12560,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:12562,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:12565,1
    - Dst: check_one_cipher_core
      Src: /src/libgcrypt/tests/basic.c:12572,1
    - Dst: check_one_cipher_core
      Src: /src/libgcrypt/tests/basic.c:12577,1
    - Dst: check_one_cipher_ctr_overflow
      Src: /src/libgcrypt/tests/basic.c:12586,1
    - Dst: check_one_cipher_ctr_overflow
      Src: /src/libgcrypt/tests/basic.c:12591,1
    - Dst: check_one_cipher_ctr_overflow
      Src: /src/libgcrypt/tests/basic.c:12599,1
    - Dst: check_one_cipher_ctr_overflow
      Src: /src/libgcrypt/tests/basic.c:12604,1
    - Dst: free
      Src: /src/libgcrypt/tests/basic.c:12611,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 66
    argCount: 3
    argNames:
    - algo
    - mode
    - flags
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12612
      start: 12501
    functionDepth: 4
    functionLinenumber: 12501
    functionLinenumberEnd: 12612
    functionName: check_one_cipher
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - memmove
    - fail
    - check_one_cipher_ctr_overflow
    - malloc
    - memcpy
    - check_one_cipher_core
    - free
    linkageType: ''
    returnType: void
    signature: void check_one_cipher (int algo, int mode, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - vdst
    - vsrc1
    - vsrc2
    - len
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12630
      start: 12616
    functionDepth: 0
    functionLinenumber: 12616
    functionLinenumberEnd: 12630
    functionName: buf_xor
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buf_xor(void *vdst, const void *vsrc1, const void *vsrc2, size_t
      len)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:12656,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:12658,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:12661,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:12662,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12665,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:12670,1
    - Dst: xcalloc
      Src: /src/libgcrypt/tests/basic.c:12675,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:12687,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12690,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12691,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:12694,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12697,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12698,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12699,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:12704,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:12705,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12707,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12708,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12709,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12710,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:12715,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:12716,1
    - Dst: buf_xor
      Src: /src/libgcrypt/tests/basic.c:12721,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:12722,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12726,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12727,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12728,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12729,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:12732,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:12735,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12738,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12739,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12740,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12741,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:12744,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12748,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12749,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12750,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12751,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:12755,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12757,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12758,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12759,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12760,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/basic.c:12764,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12768,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12769,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12770,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12771,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:12774,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12776,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12777,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12778,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12779,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:12784,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:12785,1
    - Dst: buf_xor
      Src: /src/libgcrypt/tests/basic.c:12793,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:12794,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12798,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12799,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12800,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12801,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:12804,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:12808,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12811,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12812,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12813,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12814,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:12817,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12821,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12822,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12823,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12824,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:12828,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12830,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12831,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12832,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12833,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/basic.c:12837,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12841,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12842,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12843,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12844,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:12848,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12850,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12851,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12852,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12853,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12858,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12859,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12860,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 155
    argCount: 1
    argNames:
    - cipher_algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12862
      start: 12634
    functionDepth: 1
    functionLinenumber: 12634
    functionLinenumberEnd: 12862
    functionName: cipher_cbc_bulk_test
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - gcry_cipher_algo_name
    - gcry_cipher_setiv
    - gcry_cipher_encrypt
    - gcry_cipher_ctl
    - memcpy
    - gcry_cipher_get_algo_keylen
    - gcry_cipher_open
    - gcry_cipher_test_algo
    - gcry_cipher_setkey
    - fprintf
    - xfree
    - memset
    - gcry_cipher_decrypt
    - fail
    - buf_xor
    - xcalloc
    - memcmp
    - gcry_cipher_close
    linkageType: ''
    returnType: int
    signature: int cipher_cbc_bulk_test (int cipher_algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - vdst1
    - vdst2
    - vsrc
    - len
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12874
      start: 12865
    functionDepth: 0
    functionLinenumber: 12865
    functionLinenumberEnd: 12874
    functionName: buf_xor_2dst
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buf_xor_2dst(void *vdst1, void *vdst2, const void *vsrc, size_t
      len)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:12900,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:12902,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:12905,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:12906,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12909,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:12914,1
    - Dst: xcalloc
      Src: /src/libgcrypt/tests/basic.c:12919,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:12931,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12934,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12935,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:12938,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12941,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12942,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12943,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:12948,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:12949,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12951,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12952,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12953,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12954,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:12959,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:12960,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:12965,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12968,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12969,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12970,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12971,1
    - Dst: buf_xor_2dst
      Src: /src/libgcrypt/tests/basic.c:12974,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:12977,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12980,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12981,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12982,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12983,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:12986,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12990,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12991,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:12992,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:12993,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:12996,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12998,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:12999,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13000,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13001,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/basic.c:13006,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13010,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13011,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13012,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13013,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:13016,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13018,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13019,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13020,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13021,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:13027,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:13028,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:13036,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13040,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13041,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13042,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13043,1
    - Dst: buf_xor_2dst
      Src: /src/libgcrypt/tests/basic.c:13046,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/basic.c:13050,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13053,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13054,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13055,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13056,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:13059,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13063,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13064,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13065,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13066,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:13070,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13072,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13073,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13074,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13075,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/basic.c:13080,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13084,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13085,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13086,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13087,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:13091,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13093,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13094,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13095,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13096,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13101,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13102,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13103,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 153
    argCount: 1
    argNames:
    - cipher_algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13105
      start: 12878
    functionDepth: 1
    functionLinenumber: 12878
    functionLinenumberEnd: 13105
    functionName: cipher_cfb_bulk_test
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_setkey
    - fail
    - gcry_cipher_algo_name
    - gcry_cipher_setiv
    - xcalloc
    - fprintf
    - gcry_cipher_encrypt
    - memcmp
    - xfree
    - memset
    - buf_xor_2dst
    - gcry_cipher_ctl
    - gcry_cipher_test_algo
    - gcry_cipher_close
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: int
    signature: int cipher_cfb_bulk_test (int cipher_algo)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:13133,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:13135,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:13138,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:13139,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13142,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:13147,1
    - Dst: xcalloc
      Src: /src/libgcrypt/tests/basic.c:13152,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:13165,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13168,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13169,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:13172,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13175,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13176,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13177,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:13182,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:13183,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13185,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13186,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13187,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13188,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:13193,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:13198,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13201,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13202,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13203,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13204,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:13216,1
    - Dst: gcry_cipher_setctr
      Src: /src/libgcrypt/tests/basic.c:13217,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13220,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13221,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13222,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13223,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:13226,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13230,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13231,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13232,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13233,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:13237,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13239,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13240,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13241,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13242,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/basic.c:13247,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13251,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13252,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13253,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13254,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:13257,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13259,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13260,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13261,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13262,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:13267,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:13272,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:13284,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13288,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13289,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13290,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13291,1
    - Dst: gcry_cipher_setctr
      Src: /src/libgcrypt/tests/basic.c:13305,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13308,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13309,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13310,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13311,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:13314,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13318,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13319,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13320,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13321,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:13325,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13327,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13328,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13329,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13330,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/basic.c:13335,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13339,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13340,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13341,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13342,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:13346,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13348,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13349,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13350,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13351,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:13358,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:13369,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13373,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13374,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13375,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13376,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:13391,1
    - Dst: gcry_cipher_setctr
      Src: /src/libgcrypt/tests/basic.c:13396,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13399,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13400,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13401,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13402,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/basic.c:13405,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13409,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13410,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13411,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13412,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:13416,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13418,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13419,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13420,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13421,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/basic.c:13426,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13430,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13431,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13432,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13433,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:13437,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13439,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13440,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13441,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13442,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13448,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13449,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13450,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 241
    argCount: 1
    argNames:
    - cipher_algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13452
      start: 13110
    functionDepth: 1
    functionLinenumber: 13110
    functionLinenumberEnd: 13452
    functionName: cipher_ctr_bulk_test
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - gcry_cipher_setctr
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_setkey
    - fail
    - gcry_cipher_algo_name
    - xcalloc
    - fprintf
    - gcry_cipher_encrypt
    - memcmp
    - xfree
    - memset
    - gcry_cipher_ctl
    - gcry_cipher_test_algo
    - gcry_cipher_close
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: int
    signature: int cipher_ctr_bulk_test (int cipher_algo)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:13483,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:13485,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:13488,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/basic.c:13489,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:13494,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/basic.c:13498,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/basic.c:13499,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/basic.c:13500,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:13502,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/basic.c:13503,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:13504,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/basic.c:13505,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13507,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/basic.c:13514,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:13519,1
    - Dst: gcry_cipher_setctr
      Src: /src/libgcrypt/tests/basic.c:13524,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13526,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:13534,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:13539,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13541,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/basic.c:13548,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13550,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:13554,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13556,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/basic.c:13561,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:13564,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13566,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13573,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/basic.c:13574,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13575,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13576,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:13577,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 70
    argCount: 1
    argNames:
    - cipher_algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13579
      start: 13459
    functionDepth: 1
    functionLinenumber: 13459
    functionLinenumberEnd: 13579
    functionName: cipher_ctr16_overflow_test
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - gcry_cipher_setctr
    - gcry_cipher_open
    - gcry_cipher_setkey
    - gcry_cipher_algo_name
    - fail
    - DIM
    - fprintf
    - xmalloc
    - gcry_cipher_encrypt
    - memcmp
    - memset
    - memcpy
    - xfree
    - gcry_cipher_ctl
    - gcry_cipher_test_algo
    - gcry_cipher_close
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: int
    signature: int cipher_ctr16_overflow_test (int cipher_algo)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:13655,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:13658,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13663,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:13663,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:13667,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13675,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:13679,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:13680,1
    - Dst: gcry_cipher_map_name
      Src: /src/libgcrypt/tests/basic.c:13681,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:13681,1
    - Dst: check_one_cipher
      Src: /src/libgcrypt/tests/basic.c:13683,1
    - Dst: check_one_cipher
      Src: /src/libgcrypt/tests/basic.c:13684,1
    - Dst: check_one_cipher
      Src: /src/libgcrypt/tests/basic.c:13685,1
    - Dst: check_one_cipher
      Src: /src/libgcrypt/tests/basic.c:13686,1
    - Dst: check_one_cipher
      Src: /src/libgcrypt/tests/basic.c:13687,1
    - Dst: check_one_cipher
      Src: /src/libgcrypt/tests/basic.c:13688,1
    - Dst: check_one_cipher
      Src: /src/libgcrypt/tests/basic.c:13689,1
    - Dst: check_one_cipher
      Src: /src/libgcrypt/tests/basic.c:13690,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:13691,1
    - Dst: check_one_cipher
      Src: /src/libgcrypt/tests/basic.c:13692,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:13693,1
    - Dst: check_one_cipher
      Src: /src/libgcrypt/tests/basic.c:13694,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:13695,1
    - Dst: check_one_cipher
      Src: /src/libgcrypt/tests/basic.c:13696,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:13697,1
    - Dst: check_one_cipher
      Src: /src/libgcrypt/tests/basic.c:13698,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/basic.c:13700,1
    - Dst: cipher_cbc_bulk_test
      Src: /src/libgcrypt/tests/basic.c:13702,1
    - Dst: cipher_cfb_bulk_test
      Src: /src/libgcrypt/tests/basic.c:13703,1
    - Dst: cipher_ctr_bulk_test
      Src: /src/libgcrypt/tests/basic.c:13704,1
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/basic.c:13710,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:13715,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13719,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:13719,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13724,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:13728,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/basic.c:13729,1
    - Dst: check_one_cipher
      Src: /src/libgcrypt/tests/basic.c:13731,1
    - Dst: check_one_cipher
      Src: /src/libgcrypt/tests/basic.c:13733,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:13738,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13741
      start: 13582
    functionDepth: 5
    functionLinenumber: 13582
    functionLinenumberEnd: 13741
    functionName: check_ciphers
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - cipher_cfb_bulk_test
    - check_one_cipher
    - gcry_cipher_algo_name
    - fail
    - gcry_cipher_map_name
    - cipher_cbc_bulk_test
    - fprintf
    - gpg_strerror
    - gcry_cipher_test_algo
    - cipher_ctr_bulk_test
    linkageType: ''
    returnType: void
    signature: void check_ciphers (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:13750,1
    - Dst: cipher_ctr16_overflow_test
      Src: /src/libgcrypt/tests/basic.c:13751,1
    - Dst: cipher_ctr16_overflow_test
      Src: /src/libgcrypt/tests/basic.c:13752,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:13754,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13755
      start: 13744
    functionDepth: 2
    functionLinenumber: 13744
    functionLinenumberEnd: 13755
    functionName: check_ctr16_overflow
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - fprintf
    - cipher_ctr16_overflow_test
    linkageType: ''
    returnType: void
    signature: void check_ctr16_overflow (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:13762,1
    - Dst: check_ecb_cipher
      Src: /src/libgcrypt/tests/basic.c:13764,1
    - Dst: check_aes128_cbc_cts_cipher
      Src: /src/libgcrypt/tests/basic.c:13765,1
    - Dst: check_cbc_mac_cipher
      Src: /src/libgcrypt/tests/basic.c:13766,1
    - Dst: check_ctr_cipher
      Src: /src/libgcrypt/tests/basic.c:13767,1
    - Dst: check_ctr16_overflow
      Src: /src/libgcrypt/tests/basic.c:13768,1
    - Dst: check_cfb_cipher
      Src: /src/libgcrypt/tests/basic.c:13770,1
    - Dst: check_ofb_cipher
      Src: /src/libgcrypt/tests/basic.c:13771,1
    - Dst: check_ccm_cipher
      Src: /src/libgcrypt/tests/basic.c:13772,1
    - Dst: check_gcm_cipher
      Src: /src/libgcrypt/tests/basic.c:13777,1
    - Dst: check_poly1305_cipher
      Src: /src/libgcrypt/tests/basic.c:13779,1
    - Dst: check_ocb_cipher
      Src: /src/libgcrypt/tests/basic.c:13780,1
    - Dst: check_xts_cipher
      Src: /src/libgcrypt/tests/basic.c:13781,1
    - Dst: check_eax_cipher
      Src: /src/libgcrypt/tests/basic.c:13782,1
    - Dst: check_siv_cipher
      Src: /src/libgcrypt/tests/basic.c:13783,1
    - Dst: check_gcm_siv_cipher
      Src: /src/libgcrypt/tests/basic.c:13784,1
    - Dst: check_gost28147_cipher
      Src: /src/libgcrypt/tests/basic.c:13785,1
    - Dst: check_stream_cipher
      Src: /src/libgcrypt/tests/basic.c:13786,1
    - Dst: check_stream_cipher_large_block
      Src: /src/libgcrypt/tests/basic.c:13787,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:13790,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13791
      start: 13758
    functionDepth: 4
    functionLinenumber: 13758
    functionLinenumberEnd: 13791
    functionName: check_cipher_modes
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - check_siv_cipher
    - check_gcm_cipher
    - check_stream_cipher
    - check_ecb_cipher
    - check_stream_cipher_large_block
    - check_ctr_cipher
    - check_aes128_cbc_cts_cipher
    - check_cbc_mac_cipher
    - check_ccm_cipher
    - check_poly1305_cipher
    - check_gcm_siv_cipher
    - check_gost28147_cipher
    - fprintf
    - check_xts_cipher
    - check_ocb_cipher
    - check_cfb_cipher
    - check_ofb_cipher
    - check_eax_cipher
    - check_ctr16_overflow
    linkageType: ''
    returnType: void
    signature: void check_cipher_modes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - buflen
    - pos
    argTypes:
    - char*
    - size_t
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13799
      start: 13794
    functionDepth: 0
    functionLinenumber: 13794
    functionLinenumberEnd: 13799
    functionName: fillbuf_count
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fillbuf_count (char *buf, size_t buflen, unsigned char pos)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/basic.c:13813,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13816,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:13816,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/basic.c:13820,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/basic.c:13829,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13830,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:13836,1
    - Dst: gcry_md_setkey
      Src: /src/libgcrypt/tests/basic.c:13837,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/basic.c:13840,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13841,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:13841,1
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/basic.c:13854,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/basic.c:13857,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13858,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:13858,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:13864,1
    - Dst: gcry_md_setkey
      Src: /src/libgcrypt/tests/basic.c:13865,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/basic.c:13868,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/basic.c:13869,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13870,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:13870,1
    - Dst: gcry_md_reset
      Src: /src/libgcrypt/tests/basic.c:13880,1
    - Dst: gcry_md_reset
      Src: /src/libgcrypt/tests/basic.c:13881,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:13883,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/basic.c:13884,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/basic.c:13886,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:13888,1
    - Dst: gcry_md_read
      Src: /src/libgcrypt/tests/basic.c:13889,1
    - Dst: gcry_md_read
      Src: /src/libgcrypt/tests/basic.c:13890,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:13891,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:13893,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:13895,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:13896,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:13898,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:13899,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13901,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/basic.c:13905,1
    - Dst: gcry_md_reset
      Src: /src/libgcrypt/tests/basic.c:13906,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:13914,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:13916,1
    - Dst: gcry_md_ctl
      Src: /src/libgcrypt/tests/basic.c:13918,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13921,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:13921,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:13935,1
    - Dst: fillbuf_count
      Src: /src/libgcrypt/tests/basic.c:13947,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:13949,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/basic.c:13950,1
    - Dst: fillbuf_count
      Src: /src/libgcrypt/tests/basic.c:13964,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:13966,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/basic.c:13967,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:13979,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/basic.c:13980,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:13983,1
    - Dst: gcry_md_copy
      Src: /src/libgcrypt/tests/basic.c:13984,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:13987,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:13987,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/basic.c:13990,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:13996,1
    - Dst: gcry_md_read
      Src: /src/libgcrypt/tests/basic.c:13997,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:13999,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14001,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14003,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14004,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14006,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14007,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:14009,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:14014,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/basic.c:14015,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:14022,1
    - Dst: gcry_md_copy
      Src: /src/libgcrypt/tests/basic.c:14023,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:14026,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:14026,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:14029,1
    - Dst: gcry_md_extract
      Src: /src/libgcrypt/tests/basic.c:14030,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:14033,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:14033,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:14036,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14038,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14040,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14041,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14043,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14044,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:14046,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:14049,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:14052,1
    - Dst: gcry_md_extract
      Src: /src/libgcrypt/tests/basic.c:14054,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:14057,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:14057,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:14060,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14062,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14064,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14065,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14067,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14068,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:14070,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/basic.c:14083,1
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/basic.c:14085,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:14088,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:14089,1
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/basic.c:14093,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:14096,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:14097,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:14104,1
    - Dst: gcry_md_extract
      Src: /src/libgcrypt/tests/basic.c:14105,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/basic.c:14107,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:14111,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:14112,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:14127,1
    - Dst: gcry_md_extract
      Src: /src/libgcrypt/tests/basic.c:14128,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/basic.c:14130,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:14133,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:14134,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:14145,1
    - Dst: gcry_md_read
      Src: /src/libgcrypt/tests/basic.c:14146,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:14147,1
    - Dst: gcry_md_read
      Src: /src/libgcrypt/tests/basic.c:14148,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:14150,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14152,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14154,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14155,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14157,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14158,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:14160,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/basic.c:14163,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/basic.c:14164,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/basic.c:14167,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/basic.c:14170,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 231
    argCount: 9
    argNames:
    - algo
    - data
    - len
    - expect
    - elen
    - key
    - klen
    - n
    - s
    argTypes:
    - int
    - char*
    - int
    - char*
    - int
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14171
      start: 13802
    functionDepth: 2
    functionLinenumber: 13802
    functionLinenumberEnd: 14171
    functionName: check_one_md
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - clutter_vector_registers
    - gcry_md_write
    - gcry_md_open
    - gcry_md_ctl
    - printf
    - fail
    - gcry_md_reset
    - strlen
    - gcry_md_copy
    - gcry_md_get_algo_dlen
    - fillbuf_count
    - gcry_md_extract
    - memcmp
    - gpg_strerror
    - memset
    - gcry_md_close
    - gcry_md_setkey
    - gcry_md_read
    linkageType: ''
    returnType: void
    signature: "void check_one_md (int algo, const char *data, int len, const char
      *expect, int elen,\n\t      const char *key, int klen, const char *n, const
      char *s)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/basic.c:14185,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:14188,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:14203,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:14209,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:14212,1
    - Dst: assert
      Src: /src/libgcrypt/tests/basic.c:14234,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/basic.c:14234,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:14236,1
    - Dst: gcry_md_hash_buffers
      Src: /src/libgcrypt/tests/basic.c:14237,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:14240,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:14241,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:14244,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14246,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14248,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14249,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14251,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14252,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:14254,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 7
    argNames:
    - algo
    - data
    - len
    - expect
    - elen
    - n
    - s
    argTypes:
    - int
    - char*
    - int
    - char*
    - int
    - char*
    - char*
    assertStmts:
    - condition: (iovcnt <= DIM (iov))
      pos:
        line_end: 14233
        line_start: 14233
        source_file: /src/libgcrypt/tests/basic.c
    constantsTouched: []
    func_position:
      end: 14256
      start: 14174
    functionDepth: 2
    functionLinenumber: 14174
    functionLinenumberEnd: 14256
    functionName: check_one_md_multi
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - clutter_vector_registers
    - printf
    - fail
    - assert
    - strlen
    - DIM
    - gcry_md_get_algo_dlen
    - memcmp
    - memset
    - gpg_strerror
    - gcry_md_hash_buffers
    linkageType: ''
    returnType: void
    signature: "void check_one_md_multi (int algo, const char *data, int len, const
      char *expect,\n\t\t    int elen, const char *n, const char *s)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/basic.c:14269,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:14280,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:14284,1
    - Dst: gcry_md_hash_buffer
      Src: /src/libgcrypt/tests/basic.c:14285,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/basic.c:14288,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:14291,1
    - Dst: gcry_md_hash_buffer
      Src: /src/libgcrypt/tests/basic.c:14298,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/basic.c:14302,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:14305,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14307,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14309,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14310,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14312,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:14313,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:14315,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - algo
    - expect
    - expectlen
    argTypes:
    - int
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14317
      start: 14259
    functionDepth: 2
    functionLinenumber: 14259
    functionLinenumberEnd: 14317
    functionName: check_one_md_final
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - clutter_vector_registers
    - printf
    - fail
    - gcry_md_hash_buffer
    - gcry_md_get_algo_dlen
    - xmalloc
    - memcmp
    - xfree
    linkageType: ''
    returnType: void
    signature: void check_one_md_final(int algo, const char *expect, unsigned int
      expectlen)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:15686,1
    - Dst: gcry_md_test_algo
      Src: /src/libgcrypt/tests/basic.c:15690,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/basic.c:15694,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:15697,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:15701,1
    - Dst: show_md_not_available
      Src: /src/libgcrypt/tests/basic.c:15705,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/basic.c:15709,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:15712,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/basic.c:15713,1
    - Dst: check_one_md_final
      Src: /src/libgcrypt/tests/basic.c:15716,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:15722,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/basic.c:15723,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/basic.c:15725,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/basic.c:15725,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:15726,1
    - Dst: check_one_md
      Src: /src/libgcrypt/tests/basic.c:15728,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:15730,1
    - Dst: check_one_md_multi
      Src: /src/libgcrypt/tests/basic.c:15738,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:15740,1
    - Dst: gcry_md_test_algo
      Src: /src/libgcrypt/tests/basic.c:15746,1
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/basic.c:15758,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:15761,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:15761,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/basic.c:15765,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:15768,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/basic.c:15769,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/basic.c:15774,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/basic.c:15775,1
    - Dst: gcry_md_read
      Src: /src/libgcrypt/tests/basic.c:15778,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:15780,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:15782,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:15784,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:15785,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:15787,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:15788,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:15790,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/basic.c:15793,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:15798,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15799
      start: 14320
    functionDepth: 3
    functionLinenumber: 14320
    functionLinenumberEnd: 15799
    functionName: check_digests
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - strlen
    - gcry_md_close
    - check_one_md_final
    - printf
    - gcry_md_algo_name
    - gcry_md_read
    - gcry_md_open
    - gcry_control
    - fprintf
    - strcmp
    - check_one_md
    - gpg_strerror
    - gcry_md_test_algo
    - gcry_md_write
    - fail
    - show_md_not_available
    - gcry_md_get_algo_dlen
    - memcmp
    - check_one_md_multi
    linkageType: ''
    returnType: void
    signature: void check_digests (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/basic.c:15811,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:15814,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:15814,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/basic.c:15818,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:15821,1
    - Dst: gcry_md_setkey
      Src: /src/libgcrypt/tests/basic.c:15825,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:15831,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/basic.c:15835,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/basic.c:15839,1
    - Dst: gcry_md_copy
      Src: /src/libgcrypt/tests/basic.c:15841,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/basic.c:15843,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:15847,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:15847,1
    - Dst: gcry_md_read
      Src: /src/libgcrypt/tests/basic.c:15851,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:15853,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:15854,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:15856,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:15858,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:15859,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:15861,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:15862,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:15864,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/basic.c:15867,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 6
    argNames:
    - algo
    - data
    - datalen
    - key
    - keylen
    - expect
    argTypes:
    - int
    - char*
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15868
      start: 15801
    functionDepth: 1
    functionLinenumber: 15801
    functionLinenumberEnd: 15868
    functionName: check_one_hmac
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_md_open
    - printf
    - fail
    - gcry_md_copy
    - gcry_md_get_algo_dlen
    - fprintf
    - memcmp
    - gpg_strerror
    - gcry_md_close
    - gcry_md_setkey
    - gcry_md_read
    linkageType: ''
    returnType: void
    signature: "void check_one_hmac (int algo, const char *data, int datalen,\n\t\tconst
      char *key, int keylen, const char *expect)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:16157,1
    - Dst: gcry_md_test_algo
      Src: /src/libgcrypt/tests/basic.c:16161,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:16166,1
    - Dst: show_old_hmac_not_available
      Src: /src/libgcrypt/tests/basic.c:16170,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:16174,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/basic.c:16176,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:16178,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:16178,1
    - Dst: check_one_hmac
      Src: /src/libgcrypt/tests/basic.c:16180,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:16180,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:16181,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:16186,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16187
      start: 15870
    functionDepth: 2
    functionLinenumber: 15870
    functionLinenumberEnd: 16187
    functionName: check_hmac
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - strlen
    - show_old_hmac_not_available
    - gcry_md_algo_name
    - fprintf
    - gcry_md_test_algo
    - check_one_hmac
    linkageType: ''
    returnType: void
    signature: void check_hmac (void)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_open
      Src: /src/libgcrypt/tests/basic.c:16211,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:16214,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:16214,1
    - Dst: gcry_mac_get_algo
      Src: /src/libgcrypt/tests/basic.c:16218,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:16221,1
    - Dst: gcry_mac_get_algo_maclen
      Src: /src/libgcrypt/tests/basic.c:16224,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:16227,1
    - Dst: malloc
      Src: /src/libgcrypt/tests/basic.c:16231,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:16234,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:16238,1
    - Dst: gcry_mac_setkey
      Src: /src/libgcrypt/tests/basic.c:16239,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:16245,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:16250,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:16250,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:16256,1
    - Dst: gcry_mac_setiv
      Src: /src/libgcrypt/tests/basic.c:16257,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:16259,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:16260,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:16269,1
    - Dst: gcry_mac_write
      Src: /src/libgcrypt/tests/basic.c:16270,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:16272,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:16273,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:16289,1
    - Dst: fillbuf_count
      Src: /src/libgcrypt/tests/basic.c:16301,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:16303,1
    - Dst: gcry_mac_write
      Src: /src/libgcrypt/tests/basic.c:16304,1
    - Dst: fillbuf_count
      Src: /src/libgcrypt/tests/basic.c:16318,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:16320,1
    - Dst: gcry_mac_write
      Src: /src/libgcrypt/tests/basic.c:16321,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:16333,1
    - Dst: gcry_mac_write
      Src: /src/libgcrypt/tests/basic.c:16334,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:16338,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:16338,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:16343,1
    - Dst: gcry_mac_verify
      Src: /src/libgcrypt/tests/basic.c:16344,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:16346,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:16346,1
    - Dst: clutter_vector_registers
      Src: /src/libgcrypt/tests/basic.c:16349,1
    - Dst: gcry_mac_read
      Src: /src/libgcrypt/tests/basic.c:16350,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:16352,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:16352,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:16356,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:16358,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:16360,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:16361,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:16363,1
    - Dst: printf
      Src: /src/libgcrypt/tests/basic.c:16364,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:16366,1
    - Dst: free
      Src: /src/libgcrypt/tests/basic.c:16372,1
    - Dst: gcry_mac_close
      Src: /src/libgcrypt/tests/basic.c:16373,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 124
    argCount: 9
    argNames:
    - algo
    - data
    - datalen
    - key
    - keylen
    - iv
    - ivlen
    - expect
    - test_buffering
    argTypes:
    - int
    - char*
    - int
    - char*
    - int
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16374
      start: 16190
    functionDepth: 2
    functionLinenumber: 16190
    functionLinenumberEnd: 16374
    functionName: check_one_mac
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_mac_read
    - gcry_mac_get_algo
    - printf
    - fillbuf_count
    - gcry_mac_setkey
    - gcry_mac_open
    - clutter_vector_registers
    - fprintf
    - gpg_strerror
    - malloc
    - memset
    - gcry_mac_get_algo_maclen
    - fail
    - gcry_mac_write
    - memcmp
    - gcry_mac_setiv
    - gcry_mac_close
    - gcry_mac_verify
    - free
    linkageType: ''
    returnType: void
    signature: "void check_one_mac (int algo, const char *data, int datalen,\n\t       const
      char *key, int keylen, const char *iv, int ivlen,\n\t       const char *expect,
      int test_buffering)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_test_algo
      Src: /src/libgcrypt/tests/basic.c:16393,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:16397,1
    - Dst: gcry_mac_open
      Src: /src/libgcrypt/tests/basic.c:16399,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:16402,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:16402,1
    - Dst: gcry_mac_setkey
      Src: /src/libgcrypt/tests/basic.c:16406,1
    - Dst: gcry_mac_write
      Src: /src/libgcrypt/tests/basic.c:16407,1
    - Dst: gcry_mac_read
      Src: /src/libgcrypt/tests/basic.c:16409,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:16412,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:16412,1
    - Dst: gcry_mac_verify
      Src: /src/libgcrypt/tests/basic.c:16416,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:16418,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:16418,1
    - Dst: gcry_mac_verify
      Src: /src/libgcrypt/tests/basic.c:16419,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:16421,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:16421,1
    - Dst: memset
      Src: /src/libgcrypt/tests/basic.c:16423,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:16424,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/basic.c:16425,1
    - Dst: gcry_mac_verify
      Src: /src/libgcrypt/tests/basic.c:16427,1
    - Dst: gcry_err_code
      Src: /src/libgcrypt/tests/basic.c:16428,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:16429,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:16430,1
    - Dst: gcry_mac_close
      Src: /src/libgcrypt/tests/basic.c:16434,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16435
      start: 16377
    functionDepth: 1
    functionLinenumber: 16377
    functionLinenumberEnd: 16435
    functionName: check_mac_gost_imit_verify_len
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - fail
    - gcry_err_code
    - DIM
    - fprintf
    - gcry_mac_read
    - gcry_mac_setkey
    - gpg_strerror
    - memset
    - gcry_mac_test_algo
    - gcry_mac_close
    - gcry_mac_verify
    - memcpy
    - gcry_mac_open
    - gcry_mac_write
    linkageType: ''
    returnType: void
    signature: void check_mac_gost_imit_verify_len (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:17346,1
    - Dst: gcry_mac_test_algo
      Src: /src/libgcrypt/tests/basic.c:17352,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/basic.c:17356,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:17359,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:17363,1
    - Dst: show_mac_not_available
      Src: /src/libgcrypt/tests/basic.c:17367,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:17371,1
    - Dst: gcry_mac_algo_name
      Src: /src/libgcrypt/tests/basic.c:17373,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:17374,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/basic.c:17375,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/basic.c:17375,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:17376,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:17378,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:17379,1
    - Dst: check_one_mac
      Src: /src/libgcrypt/tests/basic.c:17381,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:17382,1
    - Dst: check_one_mac
      Src: /src/libgcrypt/tests/basic.c:17384,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:17385,1
    - Dst: check_mac_gost_imit_verify_len
      Src: /src/libgcrypt/tests/basic.c:17390,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:17394,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17395
      start: 16438
    functionDepth: 2
    functionLinenumber: 16438
    functionLinenumberEnd: 17395
    functionName: check_mac
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - fail
    - strlen
    - check_mac_gost_imit_verify_len
    - gcry_control
    - fprintf
    - strcmp
    - gcry_mac_algo_name
    - gcry_mac_test_algo
    - check_one_mac
    - show_mac_not_available
    linkageType: ''
    returnType: void
    signature: void check_mac (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/basic.c:17406,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:17408,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:17408,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/basic.c:17409,1
    - Dst: gcry_err_code
      Src: /src/libgcrypt/tests/basic.c:17410,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:17411,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:17412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pkey
    - hash
    - badhash
    - sig
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17413
      start: 17400
    functionDepth: 1
    functionLinenumber: 17400
    functionLinenumberEnd: 17413
    functionName: verify_one_signature
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_err_code
    - gcry_pk_verify
    - gpg_strerror
    - fail
    linkageType: ''
    returnType: void
    signature: "void verify_one_signature (gcry_sexp_t pkey, gcry_sexp_t hash,\n\t\t
      \     gcry_sexp_t badhash, gcry_sexp_t sig)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/basic.c:17523,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:17523,1
    - Dst: die
      Src: /src/libgcrypt/tests/basic.c:17525,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:17525,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:17534,1
    - Dst: gcry_pk_algo_name
      Src: /src/libgcrypt/tests/basic.c:17535,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/basic.c:17537,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:17538,1
    - Dst: die
      Src: /src/libgcrypt/tests/basic.c:17540,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:17540,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/basic.c:17542,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:17546,1
    - Dst: gcry_err_code
      Src: /src/libgcrypt/tests/basic.c:17549,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:17550,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:17550,1
    - Dst: verify_one_signature
      Src: /src/libgcrypt/tests/basic.c:17553,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:17556,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:17558,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:17562,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 5
    argNames:
    - n
    - skey
    - pkey
    - algo
    - flags
    argTypes:
    - int
    - gcry_sexp_t
    - gcry_sexp_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17563
      start: 17418
    functionDepth: 2
    functionLinenumber: 17418
    functionLinenumberEnd: 17563
    functionName: check_pubkey_sign
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - fail
    - strlen
    - gcry_pk_sign
    - gcry_err_code
    - gcry_sexp_sscan
    - fprintf
    - gcry_pk_algo_name
    - gpg_strerror
    - gcry_sexp_release
    - die
    - verify_one_signature
    linkageType: ''
    returnType: void
    signature: "void check_pubkey_sign (int n, gcry_sexp_t skey, gcry_sexp_t pkey,
      int algo,\n                   int flags)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_get_nbits
      Src: /src/libgcrypt/tests/basic.c:17650,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:17659,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/basic.c:17662,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:17663,1
    - Dst: die
      Src: /src/libgcrypt/tests/basic.c:17665,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:17665,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/basic.c:17666,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:17667,1
    - Dst: die
      Src: /src/libgcrypt/tests/basic.c:17669,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:17669,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/basic.c:17671,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:17675,1
    - Dst: gcry_err_code
      Src: /src/libgcrypt/tests/basic.c:17678,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:17679,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:17679,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/basic.c:17682,1
    - Dst: verify_one_signature
      Src: /src/libgcrypt/tests/basic.c:17685,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:17688,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:17690,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:17692,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 4
    argNames:
    - n
    - skey
    - pkey
    - flags
    argTypes:
    - int
    - gcry_sexp_t
    - gcry_sexp_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17695
      start: 17568
    functionDepth: 2
    functionLinenumber: 17568
    functionLinenumberEnd: 17695
    functionName: check_pubkey_sign_ecdsa
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - fail
    - strlen
    - gcry_pk_sign
    - show_sexp
    - gcry_err_code
    - gcry_sexp_sscan
    - fprintf
    - gpg_strerror
    - gcry_sexp_release
    - die
    - gcry_pk_get_nbits
    - verify_one_signature
    linkageType: ''
    returnType: void
    signature: "void check_pubkey_sign_ecdsa (int n, gcry_sexp_t skey, gcry_sexp_t
      pkey,\n                         int flags)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:17824,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/basic.c:17827,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:17828,1
    - Dst: die
      Src: /src/libgcrypt/tests/basic.c:17830,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:17830,1
    - Dst: gcry_pk_encrypt
      Src: /src/libgcrypt/tests/basic.c:17832,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:17836,1
    - Dst: gcry_err_code
      Src: /src/libgcrypt/tests/basic.c:17839,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:17840,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:17840,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/basic.c:17854,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:17855,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/basic.c:17856,1
    - Dst: gcry_malloc
      Src: /src/libgcrypt/tests/basic.c:17857,1
    - Dst: die
      Src: /src/libgcrypt/tests/basic.c:17859,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/basic.c:17860,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:17862,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/basic.c:17865,1
    - Dst: gcry_malloc
      Src: /src/libgcrypt/tests/basic.c:17866,1
    - Dst: die
      Src: /src/libgcrypt/tests/basic.c:17868,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/basic.c:17869,1
    - Dst: memmove
      Src: /src/libgcrypt/tests/basic.c:17873,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/basic.c:17874,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/basic.c:17875,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/basic.c:17876,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/basic.c:17877,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:17878,1
    - Dst: gcry_pk_decrypt
      Src: /src/libgcrypt/tests/basic.c:17881,1
    - Dst: gcry_err_code
      Src: /src/libgcrypt/tests/basic.c:17891,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/basic.c:17895,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/basic.c:17896,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/basic.c:17897,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:17899,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:17901,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:17902,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/basic.c:17909,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/basic.c:17910,1
    - Dst: gcry_sexp_nth_data
      Src: /src/libgcrypt/tests/basic.c:17916,1
    - Dst: gcry_sexp_nth_data
      Src: /src/libgcrypt/tests/basic.c:17917,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:17918,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:17923,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:17929,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:17932,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:17933,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:17938,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:17940,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:17942,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 80
    argCount: 5
    argNames:
    - n
    - skey
    - pkey
    - algo
    - flags
    argTypes:
    - int
    - gcry_sexp_t
    - gcry_sexp_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17945
      start: 17698
    functionDepth: 1
    functionLinenumber: 17698
    functionLinenumberEnd: 17945
    functionName: check_pubkey_crypt
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - strlen
    - gcry_sexp_find_token
    - gcry_sexp_sscan
    - gcry_pk_encrypt
    - gcry_sexp_sprint
    - memcpy
    - memmove
    - gcry_sexp_release
    - die
    - gcry_pk_decrypt
    - gcry_err_code
    - fprintf
    - gcry_sexp_nth_data
    - gpg_strerror
    - gcry_malloc
    - gcry_sexp_new
    - gcry_free
    - fail
    - show_sexp
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void check_pubkey_crypt (int n, gcry_sexp_t skey, gcry_sexp_t pkey,
      int algo,\n                    int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_get_keygrip
      Src: /src/libgcrypt/tests/basic.c:17955,1
    - Dst: die
      Src: /src/libgcrypt/tests/basic.c:17956,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/libgcrypt/tests/basic.c:17957,1
    - Dst: die
      Src: /src/libgcrypt/tests/basic.c:17958,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:17959,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:17960,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/basic.c:17961,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:17962,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - n
    - grip
    - skey
    - pkey
    - algo
    argTypes:
    - int
    - unsigned char*
    - gcry_sexp_t
    - gcry_sexp_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17963
      start: 17947
    functionDepth: 1
    functionLinenumber: 17947
    functionLinenumberEnd: 17963
    functionName: check_pubkey_grip
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - die
    - gcry_pk_get_keygrip
    - fail
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void check_pubkey_grip (int n, const unsigned char *grip,\n\t\t   gcry_sexp_t
      skey, gcry_sexp_t pkey, int algo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_pubkey_sign_ecdsa
      Src: /src/libgcrypt/tests/basic.c:17972,1
    - Dst: check_pubkey_sign
      Src: /src/libgcrypt/tests/basic.c:17974,1
    - Dst: check_pubkey_crypt
      Src: /src/libgcrypt/tests/basic.c:17977,1
    - Dst: check_pubkey_grip
      Src: /src/libgcrypt/tests/basic.c:17979,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 6
    argNames:
    - n
    - skey
    - pkey
    - grip
    - algo
    - flags
    argTypes:
    - int
    - gcry_sexp_t
    - gcry_sexp_t
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17980
      start: 17965
    functionDepth: 3
    functionLinenumber: 17965
    functionLinenumberEnd: 17980
    functionName: do_check_one_pubkey
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - check_pubkey_sign_ecdsa
    - check_pubkey_crypt
    - check_pubkey_sign
    - check_pubkey_grip
    linkageType: ''
    returnType: void
    signature: "void do_check_one_pubkey (int n, gcry_sexp_t skey, gcry_sexp_t pkey,\n\t\t
      \    const unsigned char *grip, int algo, int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/basic.c:17988,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:17989,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/basic.c:17991,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/basic.c:17992,1
    - Dst: die
      Src: /src/libgcrypt/tests/basic.c:17994,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:17994,1
    - Dst: do_check_one_pubkey
      Src: /src/libgcrypt/tests/basic.c:17996,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:18000,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:18001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - n
    - spec
    argTypes:
    - int
    - test_spec_pubkey_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18002
      start: 17982
    functionDepth: 4
    functionLinenumber: 17982
    functionLinenumberEnd: 18002
    functionName: check_one_pubkey
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 1
    functionsReached:
    - strlen
    - gcry_sexp_sscan
    - gpg_strerror
    - gcry_sexp_release
    - do_check_one_pubkey
    - die
    linkageType: ''
    returnType: void
    signature: void check_one_pubkey (int n, test_spec_pubkey_t spec)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:18010,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/basic.c:18011,1
    - Dst: die
      Src: /src/libgcrypt/tests/basic.c:18016,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:18016,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/basic.c:18017,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:18018,1
    - Dst: die
      Src: /src/libgcrypt/tests/basic.c:18020,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:18020,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/basic.c:18022,1
    - Dst: die
      Src: /src/libgcrypt/tests/basic.c:18024,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/basic.c:18026,1
    - Dst: die
      Src: /src/libgcrypt/tests/basic.c:18028,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:18030,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pkey
    - skey
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18033
      start: 18004
    functionDepth: 1
    functionLinenumber: 18004
    functionLinenumberEnd: 18033
    functionName: get_keys_new
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - gcry_sexp_find_token
    - fprintf
    - gpg_strerror
    - gcry_sexp_release
    - die
    - gcry_sexp_new
    linkageType: ''
    returnType: void
    signature: void get_keys_new (gcry_sexp_t *pkey, gcry_sexp_t *skey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_keys_new
      Src: /src/libgcrypt/tests/basic.c:18040,1
    - Dst: do_check_one_pubkey
      Src: /src/libgcrypt/tests/basic.c:18041,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:18043,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/basic.c:18044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18045
      start: 18035
    functionDepth: 4
    functionLinenumber: 18035
    functionLinenumberEnd: 18045
    functionName: check_one_pubkey_new
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - get_keys_new
    - gcry_sexp_release
    - do_check_one_pubkey
    linkageType: ''
    returnType: void
    signature: void check_one_pubkey_new (int n)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:18424,1
    - Dst: gcry_pk_test_algo
      Src: /src/libgcrypt/tests/basic.c:18428,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:18433,1
    - Dst: show_pk_not_available
      Src: /src/libgcrypt/tests/basic.c:18438,1
    - Dst: check_one_pubkey
      Src: /src/libgcrypt/tests/basic.c:18442,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:18445,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:18448,1
    - Dst: gcry_pk_test_algo
      Src: /src/libgcrypt/tests/basic.c:18449,1
    - Dst: check_one_pubkey_new
      Src: /src/libgcrypt/tests/basic.c:18450,1
    - Dst: show_pk_not_available
      Src: /src/libgcrypt/tests/basic.c:18452,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:18454,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18456
      start: 18048
    functionDepth: 5
    functionLinenumber: 18048
    functionLinenumberEnd: 18456
    functionName: check_pubkey
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 0
    functionsReached:
    - fprintf
    - gcry_pk_test_algo
    - check_one_pubkey_new
    - show_pk_not_available
    - check_one_pubkey
    linkageType: ''
    returnType: void
    signature: void check_pubkey (void)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/basic.c:18477,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/basic.c:18482,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/basic.c:18487,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/basic.c:18492,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/basic.c:18497,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/basic.c:18503,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/basic.c:18508,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/basic.c:18513,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/basic.c:18518,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/basic.c:18523,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/basic.c:18528,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/basic.c:18532,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/basic.c:18538,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:18539,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/basic.c:18549,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/basic.c:18552,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/basic.c:18555,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/basic.c:18555,1
    - Dst: die
      Src: /src/libgcrypt/tests/basic.c:18556,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/basic.c:18557,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/basic.c:18559,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/basic.c:18563,1
    - Dst: gcry_set_progress_handler
      Src: /src/libgcrypt/tests/basic.c:18566,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/basic.c:18568,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/basic.c:18570,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/basic.c:18572,1
    - Dst: check_pubkey
      Src: /src/libgcrypt/tests/basic.c:18577,1
    - Dst: check_ciphers
      Src: /src/libgcrypt/tests/basic.c:18580,1
    - Dst: check_cipher_modes
      Src: /src/libgcrypt/tests/basic.c:18581,1
    - Dst: check_bulk_cipher_modes
      Src: /src/libgcrypt/tests/basic.c:18582,1
    - Dst: check_digests
      Src: /src/libgcrypt/tests/basic.c:18586,1
    - Dst: check_hmac
      Src: /src/libgcrypt/tests/basic.c:18587,1
    - Dst: check_mac
      Src: /src/libgcrypt/tests/basic.c:18588,1
    - Dst: check_ciphers
      Src: /src/libgcrypt/tests/basic.c:18592,1
    - Dst: check_cipher_modes
      Src: /src/libgcrypt/tests/basic.c:18593,1
    - Dst: check_bulk_cipher_modes
      Src: /src/libgcrypt/tests/basic.c:18594,1
    - Dst: check_digests
      Src: /src/libgcrypt/tests/basic.c:18595,1
    - Dst: check_hmac
      Src: /src/libgcrypt/tests/basic.c:18596,1
    - Dst: check_mac
      Src: /src/libgcrypt/tests/basic.c:18597,1
    - Dst: check_pubkey
      Src: /src/libgcrypt/tests/basic.c:18598,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:18603,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/basic.c:18616,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/basic.c:18617,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:18618,1
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/basic.c:18621,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:18623,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:18623,1
    - Dst: gcry_md_enable
      Src: /src/libgcrypt/tests/basic.c:18626,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:18628,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/basic.c:18629,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/basic.c:18635,1
    - Dst: gcry_md_get_algo
      Src: /src/libgcrypt/tests/basic.c:18637,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/basic.c:18638,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/basic.c:18639,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:18640,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/basic.c:18645,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/basic.c:18646,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:18647,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/basic.c:18657,1
    - Dst: fail
      Src: /src/libgcrypt/tests/basic.c:18658,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:18662,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/basic.c:18664,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/basic.c:18665,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 147
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18668
      start: 18458
    functionDepth: 6
    functionLinenumber: 18458
    functionLinenumberEnd: 18668
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/basic.c
    functionUses: 11
    functionsReached:
    - check_pubkey
    - check_digests
    - xgcry_control
    - gcry_md_close
    - check_cipher_modes
    - check_mac
    - check_hmac
    - gcry_md_get_algo
    - die
    - check_bulk_cipher_modes
    - gcry_md_open
    - gcry_check_version
    - gcry_control
    - strcmp
    - fprintf
    - gpg_strerror
    - gcry_fips_mode_active
    - atoi
    - fail
    - gcry_md_enable
    - check_ciphers
    - fputs
    - gcry_set_progress_handler
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/t-x448.c:46,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-x448.c:48,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-x448.c:49,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-x448.c:52,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-x448.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - text
    - a
    argTypes:
    - char*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: print_mpi
    functionSourceFile: /src/libgcrypt/tests/t-x448.c
    functionUses: 2
    functionsReached:
    - fprintf
    - gcry_free
    - gpg_strerror
    - gcry_mpi_aprint
    linkageType: ''
    returnType: void
    signature: void print_mpi (const char *text, gcry_mpi_t a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/t-x448.c:63,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-x448.c:64,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-x448.c:66,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/t-x448.c:67,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/t-x448.c:68,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-x448.c:69,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-x448.c:70,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/t-x448.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: show_note
    functionSourceFile: /src/libgcrypt/tests/t-x448.c
    functionUses: 10
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - getenv
    - fprintf
    - va_start
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: void show_note (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-x448.c:87,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-x448.c:87,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-x448.c:91,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-x448.c:91,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/t-x448.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: hex2buffer
    functionSourceFile: /src/libgcrypt/tests/t-x448.c
    functionUses: 13
    functionsReached:
    - hexdigitp
    - xmalloc
    - xtoi_2
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void *

      hex2buffer (const char *string, size_t *r_length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: reverse_buffer
    functionSourceFile: /src/libgcrypt/tests/t-x448.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_buffer (unsigned char *buffer, unsigned int length)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-x448.c:137,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-x448.c:139,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:141,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/libgcrypt/tests/t-x448.c:146,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-x448.c:147,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:149,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-x448.c:150,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-x448.c:154,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:156,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-x448.c:169,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:175,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-x448.c:176,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-x448.c:180,1
    - Dst: gcry_pk_encrypt
      Src: /src/libgcrypt/tests/t-x448.c:183,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:187,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-x448.c:190,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:194,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-x448.c:195,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-x448.c:197,1
    - Dst: gcry_sexp_nth_buffer
      Src: /src/libgcrypt/tests/t-x448.c:198,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:199,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-x448.c:205,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:208,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-x448.c:213,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-x448.c:214,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:216,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-x448.c:218,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-x448.c:219,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-x448.c:221,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-x448.c:225,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-x448.c:226,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-x448.c:227,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-x448.c:228,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-x448.c:229,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-x448.c:230,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-x448.c:231,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 4
    argNames:
    - testno
    - k_str
    - u_str
    - result_str
    argTypes:
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 232
    functionName: test_cv_hl
    functionSourceFile: /src/libgcrypt/tests/t-x448.c
    functionUses: 1
    functionsReached:
    - gcry_mpi_set_opaque
    - fail
    - gcry_sexp_nth_buffer
    - snprintf
    - hex2buffer
    - info
    - gcry_sexp_find_token
    - gcry_pk_encrypt
    - xmalloc
    - strcmp
    - gpg_strerror
    - xfree
    - gcry_sexp_release
    - gcry_sexp_build
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: "void test_cv_hl (int testno, const char *k_str, const char *u_str,\n
      \             const char *result_str)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-x448.c:255,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-x448.c:257,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:259,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-x448.c:264,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:266,1
    - Dst: gcry_ecc_mul_point
      Src: /src/libgcrypt/tests/t-x448.c:271,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/t-x448.c:274,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:275,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-x448.c:276,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-x448.c:278,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:282,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-x448.c:283,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-x448.c:286,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-x448.c:288,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:290,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-x448.c:292,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-x448.c:293,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-x448.c:297,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-x448.c:298,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 4
    argNames:
    - testno
    - k_str
    - u_str
    - result_str
    argTypes:
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 299
    functionName: test_cv_x448
    functionSourceFile: /src/libgcrypt/tests/t-x448.c
    functionUses: 0
    functionsReached:
    - gcry_ecc_mul_point
    - fail
    - snprintf
    - hex2buffer
    - info
    - strcmp
    - gpg_err_code
    - gpg_strerror
    - xfree
    linkageType: ''
    returnType: void
    signature: "void test_cv_x448 (int testno, const char *k_str, const char *u_str,\n
      \               const char *result_str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_cv_hl
      Src: /src/libgcrypt/tests/t-x448.c:305,1
    - Dst: test_cv_x448
      Src: /src/libgcrypt/tests/t-x448.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - testno
    - k_str
    - u_str
    - result_str
    argTypes:
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: test_cv
    functionSourceFile: /src/libgcrypt/tests/t-x448.c
    functionUses: 2
    functionsReached:
    - test_cv_hl
    - test_cv_x448
    linkageType: ''
    returnType: void
    signature: "void test_cv (int testno, const char *k_str, const char *u_str,\n
      \        const char *result_str)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-x448.c:332,1
    - Dst: gcry_mpi_ec_new
      Src: /src/libgcrypt/tests/t-x448.c:334,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:338,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-x448.c:341,1
    - Dst: gcry_mpi_point_new
      Src: /src/libgcrypt/tests/t-x448.c:344,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-x448.c:346,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:348,1
    - Dst: reverse_buffer
      Src: /src/libgcrypt/tests/t-x448.c:352,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/t-x448.c:353,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:355,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-x448.c:356,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-x448.c:360,1
    - Dst: gcry_mpi_point_set
      Src: /src/libgcrypt/tests/t-x448.c:363,1
    - Dst: gcry_mpi_copy
      Src: /src/libgcrypt/tests/t-x448.c:365,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-x448.c:367,1
    - Dst: gcry_mpi_set
      Src: /src/libgcrypt/tests/t-x448.c:374,1
    - Dst: gcry_mpi_set_bit
      Src: /src/libgcrypt/tests/t-x448.c:375,1
    - Dst: gcry_mpi_clear_bit
      Src: /src/libgcrypt/tests/t-x448.c:376,1
    - Dst: gcry_mpi_clear_bit
      Src: /src/libgcrypt/tests/t-x448.c:377,1
    - Dst: gcry_mpi_ec_mul
      Src: /src/libgcrypt/tests/t-x448.c:379,1
    - Dst: gcry_mpi_point_set
      Src: /src/libgcrypt/tests/t-x448.c:381,1
    - Dst: gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/tests/t-x448.c:382,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-x448.c:385,1
    - Dst: gcry_mpi_print
      Src: /src/libgcrypt/tests/t-x448.c:392,1
    - Dst: reverse_buffer
      Src: /src/libgcrypt/tests/t-x448.c:393,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-x448.c:395,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:398,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-x448.c:403,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-x448.c:405,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:407,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-x448.c:409,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-x448.c:410,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-x448.c:412,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-x448.c:416,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-x448.c:417,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/t-x448.c:418,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-x448.c:419,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-x448.c:420,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/t-x448.c:421,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-x448.c:422,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 4
    argNames:
    - testno
    - k_str
    - iter
    - result_str
    argTypes:
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 423
    functionName: test_it
    functionSourceFile: /src/libgcrypt/tests/t-x448.c
    functionUses: 1
    functionsReached:
    - gcry_mpi_ec_mul
    - gcry_mpi_set
    - xmalloc
    - gcry_mpi_scan
    - gcry_mpi_set_bit
    - gcry_mpi_point_new
    - gcry_mpi_copy
    - gcry_ctx_release
    - print_mpi
    - gcry_mpi_ec_get_affine
    - gcry_mpi_print
    - gcry_mpi_ec_new
    - info
    - reverse_buffer
    - strcmp
    - gpg_strerror
    - xfree
    - gcry_mpi_point_release
    - gcry_mpi_release
    - fail
    - snprintf
    - hex2buffer
    - gcry_mpi_clear_bit
    - gcry_mpi_point_set
    linkageType: ''
    returnType: void
    signature: void test_it (int testno, const char *k_str, int iter, const char *result_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-x448.c:443,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-x448.c:445,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-x448.c:447,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-x448.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - testno
    - a_priv_str
    - a_pub_str
    - b_priv_str
    - b_pub_str
    - result_str
    argTypes:
    - int
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 450
    functionName: test_dh
    functionSourceFile: /src/libgcrypt/tests/t-x448.c
    functionUses: 1
    functionsReached:
    - test_cv
    linkageType: ''
    returnType: void
    signature: "void test_dh (int testno, const char *a_priv_str, const char *a_pub_str,\n
      \         const char *b_priv_str, const char *b_pub_str,\n          const char
      *result_str)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-x448.c:458,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-x448.c:466,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-x448.c:474,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-x448.c:486,1
    - Dst: test_it
      Src: /src/libgcrypt/tests/t-x448.c:498,1
    - Dst: test_it
      Src: /src/libgcrypt/tests/t-x448.c:505,1
    - Dst: test_dh
      Src: /src/libgcrypt/tests/t-x448.c:515,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-x448.c:534,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-x448.c:543,1
    - Dst: test_cv
      Src: /src/libgcrypt/tests/t-x448.c:552,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-x448.c:562,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-x448.c:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 565
    functionName: check_x448
    functionSourceFile: /src/libgcrypt/tests/t-x448.c
    functionUses: 0
    functionsReached:
    - test_cv
    - fail
    - show_note
    - test_it
    - info
    - test_dh
    linkageType: ''
    returnType: void
    signature: void check_x448 (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-x448.c:579,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-x448.c:584,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-x448.c:586,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-x448.c:591,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-x448.c:593,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-x448.c:598,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-x448.c:604,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-x448.c:605,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-x448.c:608,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-x448.c:609,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-x448.c:610,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-x448.c:612,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-x448.c:613,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-x448.c:614,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/t-x448.c:616,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/t-x448.c:619,1
    - Dst: check_x448
      Src: /src/libgcrypt/tests/t-x448.c:620,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/t-x448.c:621,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-x448.c:623,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/t-x448.c:624,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 626
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-x448.c
    functionUses: 11
    functionsReached:
    - elapsed_time
    - start_timer
    - gcry_check_version
    - exit
    - info
    - check_x448
    - strcmp
    - fputs
    - xgcry_control
    - die
    - gcry_fips_mode_active
    - strncmp
    - stop_timer
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/tests/pkcs1v2.c:48,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/pkcs1v2.c:49,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/pkcs1v2.c:50,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/pkcs1v2.c:52,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pkcs1v2.c:53,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - prefix
    - a
    argTypes:
    - char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: show_sexp
    functionSourceFile: /src/libgcrypt/tests/pkcs1v2.c
    functionUses: 4
    functionsReached:
    - gcry_free
    - gcry_xmalloc
    - fprintf
    - fputs
    - gcry_sexp_sprint
    linkageType: ''
    returnType: void
    signature: void show_sexp (const char *prefix, gcry_sexp_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/pkcs1v2.c:70,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/pkcs1v2.c:70,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/pkcs1v2.c:74,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/pkcs1v2.c:74,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:75,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/pkcs1v2.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: data_from_hex
    functionSourceFile: /src/libgcrypt/tests/pkcs1v2.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - strlen
    - gcry_xmalloc
    - die
    - xtoi_2
    linkageType: ''
    returnType: void
    signature: 'void *

      data_from_hex (const char *string, size_t *r_length)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pkcs1v2.c:94,1
    - Dst: gcry_sexp_nth_data
      Src: /src/libgcrypt/tests/pkcs1v2.c:95,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:96,1
    - Dst: info
      Src: /src/libgcrypt/tests/pkcs1v2.c:99,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/pkcs1v2.c:102,1
    - Dst: info
      Src: /src/libgcrypt/tests/pkcs1v2.c:104,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:108,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - sexp
    - name
    - expected
    - description
    argTypes:
    - gcry_sexp_t
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 111
    functionName: extract_cmp_data
    functionSourceFile: /src/libgcrypt/tests/pkcs1v2.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - gcry_sexp_find_token
    - data_from_hex
    - info
    - memcmp
    - gcry_sexp_nth_data
    - gcry_sexp_release
    linkageType: ''
    returnType: int
    signature: "int extract_cmp_data (gcry_sexp_t sexp, const char *name, const char
      *expected,\n                  const char *description)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/pkcs1v2.c:123,1
    - Dst: info
      Src: /src/libgcrypt/tests/pkcs1v2.c:130,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:132,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:133,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:134,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkcs1v2.c:135,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:141,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:141,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkcs1v2.c:142,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:147,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:147,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:148,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:149,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:150,1
    - Dst: gcry_pk_get_nbits
      Src: /src/libgcrypt/tests/pkcs1v2.c:154,1
    - Dst: info
      Src: /src/libgcrypt/tests/pkcs1v2.c:159,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/pkcs1v2.c:164,1
    - Dst: info
      Src: /src/libgcrypt/tests/pkcs1v2.c:171,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:173,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:174,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkcs1v2.c:176,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:182,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:182,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:183,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:184,1
    - Dst: gcry_pk_encrypt
      Src: /src/libgcrypt/tests/pkcs1v2.c:186,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkcs1v2.c:189,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkcs1v2.c:190,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:190,1
    - Dst: extract_cmp_data
      Src: /src/libgcrypt/tests/pkcs1v2.c:194,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkcs1v2.c:197,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkcs1v2.c:198,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:200,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:203,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:207,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkcs1v2.c:209,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:214,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:214,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:215,1
    - Dst: gcry_pk_decrypt
      Src: /src/libgcrypt/tests/pkcs1v2.c:217,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkcs1v2.c:220,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkcs1v2.c:221,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:221,1
    - Dst: extract_cmp_data
      Src: /src/libgcrypt/tests/pkcs1v2.c:225,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkcs1v2.c:228,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkcs1v2.c:229,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:231,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:234,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:239,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:240,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 242
    functionName: check_oaep
    functionSourceFile: /src/libgcrypt/tests/pkcs1v2.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - fail
    - show_sexp
    - DIM
    - info
    - data_from_hex
    - gcry_pk_encrypt
    - gpg_strerror
    - extract_cmp_data
    - gcry_sexp_release
    - die
    - gcry_pk_get_nbits
    - gcry_sexp_build
    - gcry_pk_decrypt
    linkageType: ''
    returnType: void
    signature: void check_oaep (void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/pkcs1v2.c:254,1
    - Dst: info
      Src: /src/libgcrypt/tests/pkcs1v2.c:261,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:263,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:264,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:265,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkcs1v2.c:266,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:272,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:272,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkcs1v2.c:273,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:278,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:278,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:279,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:280,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:281,1
    - Dst: gcry_pk_get_nbits
      Src: /src/libgcrypt/tests/pkcs1v2.c:285,1
    - Dst: info
      Src: /src/libgcrypt/tests/pkcs1v2.c:290,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/pkcs1v2.c:295,1
    - Dst: info
      Src: /src/libgcrypt/tests/pkcs1v2.c:303,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:305,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:306,1
    - Dst: gcry_md_hash_buffer
      Src: /src/libgcrypt/tests/pkcs1v2.c:308,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkcs1v2.c:309,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:316,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:316,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:317,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:318,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/pkcs1v2.c:320,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkcs1v2.c:323,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkcs1v2.c:324,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:324,1
    - Dst: extract_cmp_data
      Src: /src/libgcrypt/tests/pkcs1v2.c:328,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkcs1v2.c:331,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkcs1v2.c:332,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:334,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:337,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:341,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkcs1v2.c:343,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:347,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:347,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkcs1v2.c:348,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:353,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:353,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:354,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/pkcs1v2.c:356,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkcs1v2.c:359,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkcs1v2.c:360,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkcs1v2.c:361,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:361,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:363,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:365,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:370,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:371,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 373
    functionName: check_pss
    functionSourceFile: /src/libgcrypt/tests/pkcs1v2.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - fail
    - gcry_md_hash_buffer
    - gcry_pk_sign
    - show_sexp
    - DIM
    - info
    - data_from_hex
    - gcry_pk_verify
    - gpg_strerror
    - extract_cmp_data
    - gcry_sexp_release
    - die
    - gcry_pk_get_nbits
    - gcry_sexp_build
    linkageType: ''
    returnType: void
    signature: void check_pss (void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/pkcs1v2.c:385,1
    - Dst: info
      Src: /src/libgcrypt/tests/pkcs1v2.c:392,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:394,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:395,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:396,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkcs1v2.c:397,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:403,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:403,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkcs1v2.c:404,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:409,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:409,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:410,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:411,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:412,1
    - Dst: gcry_pk_get_nbits
      Src: /src/libgcrypt/tests/pkcs1v2.c:416,1
    - Dst: info
      Src: /src/libgcrypt/tests/pkcs1v2.c:421,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/pkcs1v2.c:426,1
    - Dst: info
      Src: /src/libgcrypt/tests/pkcs1v2.c:433,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:435,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:436,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkcs1v2.c:438,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:444,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:444,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:445,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:446,1
    - Dst: gcry_pk_encrypt
      Src: /src/libgcrypt/tests/pkcs1v2.c:448,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkcs1v2.c:451,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkcs1v2.c:452,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:452,1
    - Dst: extract_cmp_data
      Src: /src/libgcrypt/tests/pkcs1v2.c:456,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkcs1v2.c:459,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkcs1v2.c:460,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:462,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:465,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:469,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkcs1v2.c:471,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:476,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:476,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:477,1
    - Dst: gcry_pk_decrypt
      Src: /src/libgcrypt/tests/pkcs1v2.c:479,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkcs1v2.c:482,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkcs1v2.c:483,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:483,1
    - Dst: extract_cmp_data
      Src: /src/libgcrypt/tests/pkcs1v2.c:487,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkcs1v2.c:490,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkcs1v2.c:491,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:493,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:496,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:501,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:502,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 504
    functionName: check_v15crypt
    functionSourceFile: /src/libgcrypt/tests/pkcs1v2.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - fail
    - show_sexp
    - DIM
    - info
    - data_from_hex
    - gcry_pk_encrypt
    - gpg_strerror
    - extract_cmp_data
    - gcry_sexp_release
    - die
    - gcry_pk_get_nbits
    - gcry_sexp_build
    - gcry_pk_decrypt
    linkageType: ''
    returnType: void
    signature: void check_v15crypt (void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/pkcs1v2.c:516,1
    - Dst: info
      Src: /src/libgcrypt/tests/pkcs1v2.c:523,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:525,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:526,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:527,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkcs1v2.c:528,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:534,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:534,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkcs1v2.c:535,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:540,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:540,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:541,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:542,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:543,1
    - Dst: gcry_pk_get_nbits
      Src: /src/libgcrypt/tests/pkcs1v2.c:547,1
    - Dst: info
      Src: /src/libgcrypt/tests/pkcs1v2.c:552,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/pkcs1v2.c:557,1
    - Dst: info
      Src: /src/libgcrypt/tests/pkcs1v2.c:565,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:567,1
    - Dst: gcry_md_hash_buffer
      Src: /src/libgcrypt/tests/pkcs1v2.c:569,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkcs1v2.c:570,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:575,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:575,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:576,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/pkcs1v2.c:578,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkcs1v2.c:581,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkcs1v2.c:582,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:582,1
    - Dst: extract_cmp_data
      Src: /src/libgcrypt/tests/pkcs1v2.c:586,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkcs1v2.c:589,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkcs1v2.c:590,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:592,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:595,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pkcs1v2.c:599,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkcs1v2.c:601,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:605,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:605,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pkcs1v2.c:606,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:611,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:611,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pkcs1v2.c:612,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/pkcs1v2.c:614,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkcs1v2.c:617,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pkcs1v2.c:618,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pkcs1v2.c:619,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pkcs1v2.c:619,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:621,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:623,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:628,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pkcs1v2.c:629,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 631
    functionName: check_v15sign
    functionSourceFile: /src/libgcrypt/tests/pkcs1v2.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - fail
    - gcry_md_hash_buffer
    - gcry_pk_sign
    - show_sexp
    - DIM
    - info
    - data_from_hex
    - gcry_pk_verify
    - gpg_strerror
    - extract_cmp_data
    - gcry_sexp_release
    - die
    - gcry_pk_get_nbits
    - gcry_sexp_build
    linkageType: ''
    returnType: void
    signature: void check_v15sign (void)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/pkcs1v2.c:650,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/pkcs1v2.c:655,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/pkcs1v2.c:660,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/pkcs1v2.c:666,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/pkcs1v2.c:671,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/pkcs1v2.c:676,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/pkcs1v2.c:681,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/pkcs1v2.c:686,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/pkcs1v2.c:691,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/pkcs1v2.c:701,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/pkcs1v2.c:704,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/pkcs1v2.c:707,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/pkcs1v2.c:707,1
    - Dst: die
      Src: /src/libgcrypt/tests/pkcs1v2.c:708,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/pkcs1v2.c:709,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/pkcs1v2.c:711,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/pkcs1v2.c:715,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/pkcs1v2.c:717,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/pkcs1v2.c:719,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/pkcs1v2.c:721,1
    - Dst: check_oaep
      Src: /src/libgcrypt/tests/pkcs1v2.c:724,1
    - Dst: check_pss
      Src: /src/libgcrypt/tests/pkcs1v2.c:726,1
    - Dst: check_v15crypt
      Src: /src/libgcrypt/tests/pkcs1v2.c:728,1
    - Dst: check_v15sign
      Src: /src/libgcrypt/tests/pkcs1v2.c:730,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pkcs1v2.c:733,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 80
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 736
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/pkcs1v2.c
    functionUses: 11
    functionsReached:
    - gcry_check_version
    - check_oaep
    - check_v15crypt
    - strcmp
    - fprintf
    - check_v15sign
    - xgcry_control
    - gcry_fips_mode_active
    - die
    - check_pss
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/aeswrap.c:45,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:48,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/aeswrap.c:48,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/aeswrap.c:52,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:55,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/aeswrap.c:55,1
    - Dst: gpg_error
      Src: /src/libgcrypt/tests/aeswrap.c:62,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/aeswrap.c:66,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/aeswrap.c:67,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/aeswrap.c:71,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:76,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/aeswrap.c:76,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/aeswrap.c:80,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:85,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:86,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:88,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:89,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:91,1
    - Dst: putc
      Src: /src/libgcrypt/tests/aeswrap.c:92,1
    - Dst: gpg_error
      Src: /src/libgcrypt/tests/aeswrap.c:99,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/aeswrap.c:103,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/aeswrap.c:104,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/aeswrap.c:108,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:113,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/aeswrap.c:113,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/aeswrap.c:117,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:122,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:123,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:125,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:126,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:128,1
    - Dst: putc
      Src: /src/libgcrypt/tests/aeswrap.c:129,1
    - Dst: gcry_cipher_reset
      Src: /src/libgcrypt/tests/aeswrap.c:133,1
    - Dst: gpg_error
      Src: /src/libgcrypt/tests/aeswrap.c:138,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/aeswrap.c:142,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/aeswrap.c:143,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/aeswrap.c:147,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:152,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/aeswrap.c:152,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/aeswrap.c:156,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:157,1
    - Dst: gpg_error
      Src: /src/libgcrypt/tests/aeswrap.c:163,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/aeswrap.c:167,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/aeswrap.c:168,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/aeswrap.c:172,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:177,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/aeswrap.c:177,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/aeswrap.c:181,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:182,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/aeswrap.c:184,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 93
    argCount: 8
    argNames:
    - algo
    - kek
    - keklen
    - data
    - datalen
    - expected
    - expectedlen
    - inplace
    argTypes:
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 185
    functionName: check_one
    functionSourceFile: /src/libgcrypt/tests/aeswrap.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_setkey
    - fail
    - gcry_cipher_reset
    - fprintf
    - gcry_cipher_encrypt
    - gpg_error
    - memcmp
    - gpg_strerror
    - memcpy
    - putc
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: "void check_one (int algo,\n           const void *kek, size_t keklen,\n
      \          const void *data, size_t datalen,\n           const void *expected,
      size_t expectedlen,\n           int inplace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_one
      Src: /src/libgcrypt/tests/aeswrap.c:194,1
    - Dst: check_one
      Src: /src/libgcrypt/tests/aeswrap.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - algo
    - kek
    - keklen
    - data
    - datalen
    - expected
    - expectedlen
    argTypes:
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: check
    functionSourceFile: /src/libgcrypt/tests/aeswrap.c
    functionUses: 31
    functionsReached:
    - check_one
    linkageType: ''
    returnType: void
    signature: "void check (int algo,\n       const void *kek, size_t keklen,\n       const
      void *data, size_t datalen,\n       const void *expected, size_t expectedlen)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/aeswrap.c:210,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:214,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/aeswrap.c:214,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/aeswrap.c:218,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:221,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/aeswrap.c:221,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/aeswrap.c:222,1
    - Dst: gpg_error
      Src: /src/libgcrypt/tests/aeswrap.c:229,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/aeswrap.c:233,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:238,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/aeswrap.c:238,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/aeswrap.c:239,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/aeswrap.c:243,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:248,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:249,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:251,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:252,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:254,1
    - Dst: putc
      Src: /src/libgcrypt/tests/aeswrap.c:255,1
    - Dst: gpg_error
      Src: /src/libgcrypt/tests/aeswrap.c:261,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/aeswrap.c:265,1
    - Dst: gcry_cipher_info
      Src: /src/libgcrypt/tests/aeswrap.c:270,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:279,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/aeswrap.c:279,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/aeswrap.c:280,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/aeswrap.c:284,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:289,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:290,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:292,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:293,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:295,1
    - Dst: putc
      Src: /src/libgcrypt/tests/aeswrap.c:296,1
    - Dst: gcry_cipher_reset
      Src: /src/libgcrypt/tests/aeswrap.c:300,1
    - Dst: gpg_error
      Src: /src/libgcrypt/tests/aeswrap.c:305,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/aeswrap.c:309,1
    - Dst: gcry_cipher_info
      Src: /src/libgcrypt/tests/aeswrap.c:314,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:323,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/aeswrap.c:323,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/aeswrap.c:324,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/aeswrap.c:328,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:329,1
    - Dst: gpg_error
      Src: /src/libgcrypt/tests/aeswrap.c:335,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/aeswrap.c:339,1
    - Dst: gcry_cipher_info
      Src: /src/libgcrypt/tests/aeswrap.c:344,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:353,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/aeswrap.c:353,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/aeswrap.c:354,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/aeswrap.c:358,1
    - Dst: fail
      Src: /src/libgcrypt/tests/aeswrap.c:359,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/aeswrap.c:361,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 97
    argCount: 7
    argNames:
    - algo
    - kek
    - keklen
    - data
    - datalen
    - expected
    - expectedlen
    argTypes:
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 362
    functionName: check_one_with_padding
    functionSourceFile: /src/libgcrypt/tests/aeswrap.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_info
    - gcry_cipher_setkey
    - fail
    - gcry_cipher_reset
    - fprintf
    - gcry_cipher_encrypt
    - gpg_error
    - memcmp
    - gpg_strerror
    - putc
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: "void check_one_with_padding (int algo,\n                        const
      void *kek, size_t keklen,\n                        const void *data, size_t
      datalen,\n                        const void *expected, size_t expectedlen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:369,1
    - Dst: check
      Src: /src/libgcrypt/tests/aeswrap.c:370,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:378,1
    - Dst: check
      Src: /src/libgcrypt/tests/aeswrap.c:379,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:388,1
    - Dst: check
      Src: /src/libgcrypt/tests/aeswrap.c:389,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:398,1
    - Dst: check
      Src: /src/libgcrypt/tests/aeswrap.c:399,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:409,1
    - Dst: check
      Src: /src/libgcrypt/tests/aeswrap.c:410,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:420,1
    - Dst: check
      Src: /src/libgcrypt/tests/aeswrap.c:421,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:432,1
    - Dst: check_one_with_padding
      Src: /src/libgcrypt/tests/aeswrap.c:433,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/aeswrap.c:443,1
    - Dst: check_one_with_padding
      Src: /src/libgcrypt/tests/aeswrap.c:444,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 450
    functionName: check_all
    functionSourceFile: /src/libgcrypt/tests/aeswrap.c
    functionUses: 0
    functionsReached:
    - fprintf
    - check_one_with_padding
    - check
    linkageType: ''
    returnType: void
    signature: void check_all (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/aeswrap.c:455,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/aeswrap.c:457,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/aeswrap.c:460,1
    - Dst: die
      Src: /src/libgcrypt/tests/aeswrap.c:461,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/aeswrap.c:463,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/aeswrap.c:464,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/aeswrap.c:466,1
    - Dst: check_all
      Src: /src/libgcrypt/tests/aeswrap.c:467,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 452
    functionDepth: 3
    functionLinenumber: 452
    functionLinenumberEnd: 470
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/aeswrap.c
    functionUses: 11
    functionsReached:
    - gcry_check_version
    - strcmp
    - xgcry_control
    - die
    - check_all
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: mldsa_get_info_by_algo
    functionSourceFile: /src/libgcrypt/tests/t-mldsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct mldsa_info
    signature: 'struct mldsa_info *

      mldsa_get_info_by_algo (int algo)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-mldsa.c:106,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:109,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/t-mldsa.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - line
    - lineno
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 126
    functionName: parse_annotation
    functionSourceFile: /src/libgcrypt/tests/t-mldsa.c
    functionUses: 2
    functionsReached:
    - strchr
    - atoi
    - fail
    linkageType: ''
    returnType: int
    signature: int parse_annotation (const char *line, int lineno)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-mldsa.c:151,1
    - Dst: mldsa_get_info_by_algo
      Src: /src/libgcrypt/tests/t-mldsa.c:153,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:156,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mldsa.c:161,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:163,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mldsa.c:167,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:169,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:175,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mldsa.c:179,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:181,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:187,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-mldsa.c:192,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:196,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mldsa.c:197,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/t-mldsa.c:201,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:204,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mldsa.c:205,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-mldsa.c:209,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:212,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-mldsa.c:216,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:219,1
    - Dst: gcry_sexp_extract_param
      Src: /src/libgcrypt/tests/t-mldsa.c:226,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/libgcrypt/tests/t-mldsa.c:229,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:232,1
    - Dst: gcry_sexp_extract_param
      Src: /src/libgcrypt/tests/t-mldsa.c:239,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/libgcrypt/tests/t-mldsa.c:242,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:245,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-mldsa.c:249,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:250,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-mldsa.c:252,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:253,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mldsa.c:256,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mldsa.c:257,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mldsa.c:258,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mldsa.c:259,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mldsa.c:260,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mldsa.c:261,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:262,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:263,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:264,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 94
    argCount: 5
    argNames:
    - testno
    - algo
    - seed_str
    - sk_str
    - pk_str
    argTypes:
    - int
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 265
    functionName: one_genkey_test
    functionSourceFile: /src/libgcrypt/tests/t-mldsa.c
    functionUses: 1
    functionsReached:
    - fail
    - gcry_pk_genkey
    - hex2buffer
    - info
    - gcry_sexp_find_token
    - gcry_sexp_extract_param
    - memcmp
    - gpg_strerror
    - xfree
    - gcry_sexp_release
    - gcry_mpi_get_opaque
    - gcry_sexp_build
    - mldsa_get_info_by_algo
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: "void one_genkey_test (int testno, int algo, const char *seed_str,\n
      \                const char *sk_str, const char *pk_str)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-mldsa.c:292,1
    - Dst: mldsa_get_info_by_algo
      Src: /src/libgcrypt/tests/t-mldsa.c:294,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:297,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mldsa.c:302,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:304,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:310,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mldsa.c:314,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:316,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:322,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mldsa.c:326,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:328,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mldsa.c:332,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:334,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:340,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-mldsa.c:345,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:352,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mldsa.c:353,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-mldsa.c:357,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:365,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mldsa.c:366,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/t-mldsa.c:370,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:373,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mldsa.c:374,1
    - Dst: gcry_sexp_extract_param
      Src: /src/libgcrypt/tests/t-mldsa.c:381,1
    - Dst: gcry_mpi_get_opaque
      Src: /src/libgcrypt/tests/t-mldsa.c:384,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:387,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-mldsa.c:391,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:392,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mldsa.c:395,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mldsa.c:396,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mldsa.c:397,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mldsa.c:398,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:399,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:400,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:401,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:402,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 85
    argCount: 6
    argNames:
    - testno
    - algo
    - rnd_str
    - sk_str
    - msg_str
    - sig_str
    argTypes:
    - int
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 403
    functionName: one_siggen_test
    functionSourceFile: /src/libgcrypt/tests/t-mldsa.c
    functionUses: 0
    functionsReached:
    - fail
    - gcry_pk_sign
    - hex2buffer
    - info
    - gcry_sexp_extract_param
    - memcmp
    - gpg_strerror
    - xfree
    - gcry_sexp_release
    - gcry_mpi_get_opaque
    - gcry_sexp_build
    - mldsa_get_info_by_algo
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: "void one_siggen_test (int testno, int algo, const char *rnd_str,\n
      \                const char *sk_str, const char *msg_str, const char *sig_str)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-mldsa.c:427,1
    - Dst: mldsa_get_info_by_algo
      Src: /src/libgcrypt/tests/t-mldsa.c:429,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:432,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mldsa.c:437,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:439,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:445,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mldsa.c:449,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:451,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:457,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mldsa.c:461,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:463,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mldsa.c:467,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:469,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:475,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-mldsa.c:480,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:487,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mldsa.c:488,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-mldsa.c:492,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:499,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mldsa.c:500,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-mldsa.c:504,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:510,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mldsa.c:511,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/t-mldsa.c:515,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:517,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mldsa.c:517,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mldsa.c:520,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mldsa.c:521,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mldsa.c:522,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:523,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:524,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:525,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:526,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 6
    argNames:
    - testno
    - algo
    - pk_str
    - msg_str
    - ctx_str
    - sig_str
    argTypes:
    - int
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 527
    functionName: one_sigver_test
    functionSourceFile: /src/libgcrypt/tests/t-mldsa.c
    functionUses: 0
    functionsReached:
    - fail
    - hex2buffer
    - info
    - gcry_pk_verify
    - gpg_strerror
    - xfree
    - gcry_sexp_release
    - gcry_sexp_build
    - mldsa_get_info_by_algo
    linkageType: ''
    returnType: void
    signature: "void one_sigver_test (int testno, int algo, const char *pk_str,\n
      \                const char *msg_str, const char *ctx_str, const char *sig_str)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-mldsa.c:542,1
    - Dst: fopen
      Src: /src/libgcrypt/tests/t-mldsa.c:544,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mldsa.c:546,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-mldsa.c:546,1
    - Dst: read_textline
      Src: /src/libgcrypt/tests/t-mldsa.c:553,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mldsa.c:555,1
    - Dst: parse_annotation
      Src: /src/libgcrypt/tests/t-mldsa.c:556,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mldsa.c:557,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-mldsa.c:558,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mldsa.c:559,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-mldsa.c:560,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mldsa.c:561,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-mldsa.c:562,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mldsa.c:563,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-mldsa.c:564,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mldsa.c:565,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-mldsa.c:566,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mldsa.c:567,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-mldsa.c:568,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mldsa.c:569,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-mldsa.c:570,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:572,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:574,1
    - Dst: one_genkey_test
      Src: /src/libgcrypt/tests/t-mldsa.c:579,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-mldsa.c:582,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:583,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:584,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:585,1
    - Dst: one_siggen_test
      Src: /src/libgcrypt/tests/t-mldsa.c:590,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-mldsa.c:593,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:594,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:595,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:596,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:597,1
    - Dst: one_sigver_test
      Src: /src/libgcrypt/tests/t-mldsa.c:602,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-mldsa.c:605,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:606,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:607,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:608,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:609,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:612,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:613,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:614,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:615,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:616,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:617,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:618,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mldsa.c:621,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-mldsa.c:623,1
    - Dst: fclose
      Src: /src/libgcrypt/tests/t-mldsa.c:625,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 626
    functionName: check_mldsa_kat
    functionSourceFile: /src/libgcrypt/tests/t-mldsa.c
    functionUses: 0
    functionsReached:
    - one_genkey_test
    - fail
    - show_note
    - fclose
    - read_textline
    - info
    - copy_data
    - one_sigver_test
    - one_siggen_test
    - xfree
    - fopen
    - die
    - parse_annotation
    - strncmp
    - strerror
    linkageType: ''
    returnType: void
    signature: void check_mldsa_kat (const char *fname)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mldsa.c:641,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mldsa.c:646,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-mldsa.c:648,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-mldsa.c:654,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mldsa.c:656,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mldsa.c:661,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mldsa.c:667,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:672,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-mldsa.c:673,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mldsa.c:677,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mldsa.c:678,1
    - Dst: prepend_srcdir
      Src: /src/libgcrypt/tests/t-mldsa.c:682,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-mldsa.c:686,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-mldsa.c:687,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mldsa.c:688,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-mldsa.c:690,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-mldsa.c:691,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-mldsa.c:692,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/t-mldsa.c:694,1
    - Dst: check_mldsa_kat
      Src: /src/libgcrypt/tests/t-mldsa.c:695,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/t-mldsa.c:696,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mldsa.c:698,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mldsa.c:700,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/t-mldsa.c:701,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 703
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-mldsa.c
    functionUses: 11
    functionsReached:
    - elapsed_time
    - start_timer
    - gcry_check_version
    - exit
    - info
    - strcmp
    - prepend_srcdir
    - xfree
    - fputs
    - xstrdup
    - die
    - xgcry_control
    - strncmp
    - check_mldsa_kat
    - stop_timer
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:52,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:54,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:57,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:57,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:61,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:64,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:64,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:70,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 73
    functionName: check_rsa_testparm
    functionSourceFile: /src/libgcrypt/tests/t-rsa-testparm.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - fail
    - info
    - gpg_strerror
    - gcry_sexp_release
    - gcry_sexp_build
    linkageType: ''
    returnType: void
    signature: void check_rsa_testparm (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:87,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:92,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:94,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:99,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:101,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:106,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:112,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:113,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:117,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:118,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:119,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:121,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:123,1
    - Dst: check_rsa_testparm
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:124,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:125,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:127,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/t-rsa-testparm.c:128,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 130
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-rsa-testparm.c
    functionUses: 11
    functionsReached:
    - elapsed_time
    - start_timer
    - gcry_check_version
    - exit
    - info
    - strcmp
    - fputs
    - xgcry_control
    - die
    - check_rsa_testparm
    - strncmp
    - stop_timer
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-convert.c:40,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-convert.c:42,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-convert.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - prefix
    - buffer
    - buflen
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: showhex
    functionSourceFile: /src/libgcrypt/tests/t-convert.c
    functionUses: 0
    functionsReached:
    - fprintf
    - putc
    linkageType: ''
    returnType: void
    signature: void showhex (const char *prefix, const void *buffer, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_nbits
      Src: /src/libgcrypt/tests/t-convert.c:54,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-convert.c:58,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-convert.c:64,1
    - Dst: gcry_mpi_is_neg
      Src: /src/libgcrypt/tests/t-convert.c:65,1
    - Dst: gcry_mpi_test_bit
      Src: /src/libgcrypt/tests/t-convert.c:67,1
    - Dst: gcry_mpi_test_bit
      Src: /src/libgcrypt/tests/t-convert.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionName: mpi2bitstr_nlz
    functionSourceFile: /src/libgcrypt/tests/t-convert.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_test_bit
    - xmalloc
    - gcry_mpi_is_neg
    - gcry_mpi_get_nbits
    linkageType: ''
    returnType: char
    signature: 'char *

      mpi2bitstr_nlz (gcry_mpi_t a)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi2bitstr_nlz
      Src: /src/libgcrypt/tests/t-convert.c:82,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-convert.c:83,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-convert.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - prefix
    - a
    argTypes:
    - char*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: showmpi
    functionSourceFile: /src/libgcrypt/tests/t-convert.c
    functionUses: 0
    functionsReached:
    - fprintf
    - xfree
    - mpi2bitstr_nlz
    linkageType: ''
    returnType: void
    signature: void showmpi (const char *prefix, gcry_mpi_t a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-convert.c:108,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-convert.c:110,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/t-convert.c:113,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:115,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-convert.c:116,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-convert.c:118,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/libgcrypt/tests/t-convert.c:123,1
    - Dst: gcry_mpi_add_ui
      Src: /src/libgcrypt/tests/t-convert.c:124,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/t-convert.c:128,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:130,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-convert.c:131,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-convert.c:133,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-convert.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 137
    functionName: negative_zero
    functionSourceFile: /src/libgcrypt/tests/t-convert.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - gcry_mpi_sub_ui
    - fail
    - info
    - gcry_mpi_aprint
    - gpg_strerror
    - gcry_mpi_add_ui
    - gcry_mpi_new
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void negative_zero (void)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-convert.c:440,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-convert.c:441,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-convert.c:444,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-convert.c:448,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-convert.c:451,1
    - Dst: gcry_mpi_neg
      Src: /src/libgcrypt/tests/t-convert.c:452,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-convert.c:455,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-convert.c:460,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-convert.c:461,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/t-convert.c:462,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:465,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-convert.c:466,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/t-convert.c:469,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:471,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-convert.c:472,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-convert.c:475,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:477,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-convert.c:479,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-convert.c:480,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-convert.c:482,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/t-convert.c:485,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:487,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-convert.c:488,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-convert.c:492,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:494,1
    - Dst: showhex
      Src: /src/libgcrypt/tests/t-convert.c:496,1
    - Dst: showhex
      Src: /src/libgcrypt/tests/t-convert.c:497,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-convert.c:499,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/t-convert.c:502,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:504,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-convert.c:505,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-convert.c:509,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:511,1
    - Dst: showhex
      Src: /src/libgcrypt/tests/t-convert.c:513,1
    - Dst: showhex
      Src: /src/libgcrypt/tests/t-convert.c:514,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-convert.c:516,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/t-convert.c:519,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:521,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-convert.c:522,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-convert.c:526,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:528,1
    - Dst: showhex
      Src: /src/libgcrypt/tests/t-convert.c:530,1
    - Dst: showhex
      Src: /src/libgcrypt/tests/t-convert.c:531,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-convert.c:533,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/t-convert.c:536,1
    - Dst: gcry_mpi_is_neg
      Src: /src/libgcrypt/tests/t-convert.c:537,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/t-convert.c:539,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:540,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:544,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-convert.c:545,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-convert.c:549,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:551,1
    - Dst: showhex
      Src: /src/libgcrypt/tests/t-convert.c:553,1
    - Dst: showhex
      Src: /src/libgcrypt/tests/t-convert.c:554,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-convert.c:556,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-convert.c:562,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-convert.c:565,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-convert.c:569,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-convert.c:572,1
    - Dst: gcry_mpi_neg
      Src: /src/libgcrypt/tests/t-convert.c:573,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-convert.c:576,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-convert.c:581,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-convert.c:582,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/t-convert.c:583,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:586,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-convert.c:587,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/t-convert.c:590,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:592,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-convert.c:593,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/t-convert.c:596,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:598,1
    - Dst: showmpi
      Src: /src/libgcrypt/tests/t-convert.c:600,1
    - Dst: showmpi
      Src: /src/libgcrypt/tests/t-convert.c:601,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-convert.c:603,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/t-convert.c:606,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:609,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-convert.c:610,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/t-convert.c:613,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:615,1
    - Dst: showmpi
      Src: /src/libgcrypt/tests/t-convert.c:618,1
    - Dst: showmpi
      Src: /src/libgcrypt/tests/t-convert.c:619,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-convert.c:621,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/t-convert.c:624,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:627,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-convert.c:628,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/t-convert.c:631,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:633,1
    - Dst: showmpi
      Src: /src/libgcrypt/tests/t-convert.c:636,1
    - Dst: showmpi
      Src: /src/libgcrypt/tests/t-convert.c:637,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-convert.c:639,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/t-convert.c:642,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:645,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-convert.c:646,1
    - Dst: gcry_mpi_is_neg
      Src: /src/libgcrypt/tests/t-convert.c:649,1
    - Dst: gcry_mpi_neg
      Src: /src/libgcrypt/tests/t-convert.c:650,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/t-convert.c:651,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:653,1
    - Dst: showmpi
      Src: /src/libgcrypt/tests/t-convert.c:656,1
    - Dst: showmpi
      Src: /src/libgcrypt/tests/t-convert.c:657,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-convert.c:659,1
    - Dst: gcry_mpi_is_neg
      Src: /src/libgcrypt/tests/t-convert.c:664,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/t-convert.c:666,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:669,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-convert.c:670,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/t-convert.c:673,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-convert.c:675,1
    - Dst: showmpi
      Src: /src/libgcrypt/tests/t-convert.c:678,1
    - Dst: showmpi
      Src: /src/libgcrypt/tests/t-convert.c:679,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-convert.c:681,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-convert.c:686,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 147
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 687
    functionName: check_formats
    functionSourceFile: /src/libgcrypt/tests/t-convert.c
    functionUses: 0
    functionsReached:
    - showmpi
    - gcry_mpi_aprint
    - gcry_mpi_cmp
    - gcry_mpi_scan
    - DIM
    - gcry_mpi_new
    - info
    - strcmp
    - gpg_strerror
    - gcry_mpi_is_neg
    - gcry_mpi_set_ui
    - gcry_mpi_release
    - showhex
    - gcry_free
    - fail
    - snprintf
    - gcry_mpi_neg
    - memcmp
    - gpg_err_code
    linkageType: ''
    returnType: void
    signature: void check_formats (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-convert.c:693,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-convert.c:695,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-convert.c:698,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-convert.c:699,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-convert.c:701,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-convert.c:702,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-convert.c:704,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-convert.c:705,1
    - Dst: negative_zero
      Src: /src/libgcrypt/tests/t-convert.c:707,1
    - Dst: check_formats
      Src: /src/libgcrypt/tests/t-convert.c:708,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-convert.c:710,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 690
    functionDepth: 2
    functionLinenumber: 690
    functionLinenumberEnd: 712
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-convert.c
    functionUses: 11
    functionsReached:
    - check_formats
    - negative_zero
    - gcry_check_version
    - info
    - strcmp
    - xgcry_control
    - die
    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: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: DIM
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 342
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: DIMof
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIMof(type,member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: xmalloc
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 256
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xmalloc(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: xcalloc
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xcalloc(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: xstrdup
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 179
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xstrdup(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: xfree
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 1754
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xfree(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: my_isascii
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_isascii(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: digitp
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 140
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digitp(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: hexdigitp
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 78
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hexdigitp(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: xtoi_1
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: xtoi_2
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: xmalloc
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 256
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xmalloc(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: xcalloc
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xcalloc(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: xstrdup
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 179
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xstrdup(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: xfree
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 1754
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xfree(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: pass
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pass()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libgcrypt/tests/t-common.h:82,1
    - Dst: flockfile
      Src: /src/libgcrypt/tests/t-common.h:84,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-common.h:86,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-common.h:88,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/t-common.h:89,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/t-common.h:90,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/t-common.h:91,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-common.h:92,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-common.h:93,1
    - Dst: funlockfile
      Src: /src/libgcrypt/tests/t-common.h:95,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-common.h:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 98
    functionName: die
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 104
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - exit
    - flockfile
    - fflush
    - fprintf
    - funlockfile
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void die (const char *format, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libgcrypt/tests/t-common.h:106,1
    - Dst: flockfile
      Src: /src/libgcrypt/tests/t-common.h:108,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-common.h:110,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-common.h:112,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/t-common.h:113,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/t-common.h:114,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/t-common.h:115,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-common.h:116,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-common.h:117,1
    - Dst: funlockfile
      Src: /src/libgcrypt/tests/t-common.h:119,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-common.h:122,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-common.h:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 126
    functionName: fail
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 198
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - exit
    - flockfile
    - fflush
    - fprintf
    - funlockfile
    - va_start
    - die
    - putc
    linkageType: ''
    returnType: void
    signature: void fail (const char *format, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: flockfile
      Src: /src/libgcrypt/tests/t-common.h:137,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-common.h:139,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-common.h:141,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/t-common.h:142,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/t-common.h:143,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-common.h:144,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-common.h:145,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/t-common.h:146,1
    - Dst: funlockfile
      Src: /src/libgcrypt/tests/t-common.h:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 150
    functionName: info
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 929
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - flockfile
    - fprintf
    - funlockfile
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void info (const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cmd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: xgcry_control
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xgcry_control(cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-common.h:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - string
    - array
    - arraysize
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 197
    functionName: split_fields_colon
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 8
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int split_fields_colon (char *string, char **array, int arraysize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/t-common.h:206,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-common.h:207,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-common.h:209,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/t-common.h:210,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/t-common.h:211,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-common.h:212,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-common.h:213,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/t-common.h:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 215
    functionName: show_note
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 12
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - getenv
    - fprintf
    - va_start
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: void show_note (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-common.h:225,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-common.h:227,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/t-common.h:228,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-common.h:229,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/t-common.h:231,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-common.h:232,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-common.h:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - prefix
    - a
    argTypes:
    - char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: show_sexp
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 8
    functionsReached:
    - gcry_free
    - fprintf
    - xmalloc
    - fputs
    - gcry_sexp_sprint
    linkageType: ''
    returnType: void
    signature: void show_sexp (const char *prefix, gcry_sexp_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/t-common.h:246,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-common.h:249,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-common.h:249,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-common.h:249,1
    - Dst: strcpy
      Src: /src/libgcrypt/tests/t-common.h:250,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/t-common.h:251,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/t-common.h:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: prepend_srcdir
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 15
    functionsReached:
    - strlen
    - getenv
    - xmalloc
    - strcpy
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      prepend_srcdir (const char *fname)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/libgcrypt/tests/t-common.h:268,1
    - Dst: feof
      Src: /src/libgcrypt/tests/t-common.h:270,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-common.h:272,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-common.h:272,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-common.h:275,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-common.h:277,1
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/t-common.h:279,1
    - Dst: isspace
      Src: /src/libgcrypt/tests/t-common.h:279,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-common.h:285,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - fp
    - lineno
    argTypes:
    - FILE*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 286
    functionName: read_textline
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 8
    functionsReached:
    - my_isascii
    - feof
    - strchr
    - isspace
    - xstrdup
    - die
    - fgets
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      read_textline (FILE *fp, int *lineno)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-common.h:297,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-common.h:300,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-common.h:303,1
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/t-common.h:306,1
    - Dst: isspace
      Src: /src/libgcrypt/tests/t-common.h:306,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-common.h:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buffer
    - line
    - lineno
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 309
    functionName: copy_data
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 7
    functionsReached:
    - my_isascii
    - fail
    - strchr
    - xfree
    - isspace
    - xstrdup
    linkageType: ''
    returnType: void
    signature: void copy_data (char **buffer, const char *line, int lineno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-common.h:325,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-common.h:325,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-common.h:329,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-common.h:329,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-common.h:331,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/t-common.h:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 338
    functionName: hex2buffer
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 19
    functionsReached:
    - hexdigitp
    - strlen
    - xmalloc
    - xfree
    - xtoi_2
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      hex2buffer (const char *string, size_t *r_length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 353
    functionName: reverse_buffer
    functionSourceFile: /src/libgcrypt/tests/t-common.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_buffer (unsigned char *buffer, unsigned int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/tests/t-sntrup761.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - algo
    - digest
    - buf
    - len
    argTypes:
    - int
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: t_sntrup761_md_hash_buffer
    functionSourceFile: /src/libgcrypt/tests/t-sntrup761.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void t_sntrup761_md_hash_buffer (int algo, void *digest, const void
      *buf,\n\t\t\t    size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - b1
    - b2
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: t_sntrup761_ct_not_memequal
    functionSourceFile: /src/libgcrypt/tests/t-sntrup761.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int t_sntrup761_ct_not_memequal (const void *b1, const void
      *b2, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - dst
    - src
    - len
    - op_enable
    argTypes:
    - void*
    - void*
    - size_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: t_sntrup761_ct_memmov_cond
    functionSourceFile: /src/libgcrypt/tests/t-sntrup761.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void t_sntrup761_ct_memmov_cond (void *dst, const void *src, size_t
      len,\n\t\t\t    unsigned long op_enable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_hash_buffer
      Src: /src/libgcrypt/tests/t-sntrup761.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: rng
    functionSourceFile: /src/libgcrypt/tests/t-sntrup761.c
    functionUses: 0
    functionsReached:
    - gcry_md_hash_buffer
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rng (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - m
    argTypes:
    - long long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: ref_mod
    functionSourceFile: /src/libgcrypt/tests/t-sntrup761.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long ref_mod (long long x, long m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_mod
      Src: /src/libgcrypt/tests/t-sntrup761.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: ref_F3_freeze
    functionSourceFile: /src/libgcrypt/tests/t-sntrup761.c
    functionUses: 0
    functionsReached:
    - ref_mod
    linkageType: ''
    returnType: int
    signature: int ref_F3_freeze (long long x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_mod
      Src: /src/libgcrypt/tests/t-sntrup761.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: ref_Fq_freeze
    functionSourceFile: /src/libgcrypt/tests/t-sntrup761.c
    functionUses: 0
    functionsReached:
    - ref_mod
    linkageType: ''
    returnType: int
    signature: int ref_Fq_freeze (long long x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_Fq_freeze
      Src: /src/libgcrypt/tests/t-sntrup761.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - h
    - f
    - g
    argTypes:
    - Fq*
    - Fq*
    - small*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 152
    functionName: ref_Rq_mult_small
    functionSourceFile: /src/libgcrypt/tests/t-sntrup761.c
    functionUses: 0
    functionsReached:
    - ref_Fq_freeze
    linkageType: ''
    returnType: void
    signature: void ref_Rq_mult_small (Fq *h, const Fq *f, const small *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_F3_freeze
      Src: /src/libgcrypt/tests/t-sntrup761.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - h
    - f
    - g
    argTypes:
    - small*
    - small*
    - small*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 172
    functionName: ref_R3_mult
    functionSourceFile: /src/libgcrypt/tests/t-sntrup761.c
    functionUses: 0
    functionsReached:
    - ref_F3_freeze
    linkageType: ''
    returnType: void
    signature: void ref_R3_mult (small *h, const small *f, const small *g)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-sntrup761.c:190,1
    - Dst: F3_freeze
      Src: /src/libgcrypt/tests/t-sntrup761.c:193,1
    - Dst: ref_F3_freeze
      Src: /src/libgcrypt/tests/t-sntrup761.c:194,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sntrup761.c:197,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-sntrup761.c:201,1
    - Dst: Fq_freeze
      Src: /src/libgcrypt/tests/t-sntrup761.c:204,1
    - Dst: ref_Fq_freeze
      Src: /src/libgcrypt/tests/t-sntrup761.c:205,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sntrup761.c:208,1
    - Dst: Fq_freeze
      Src: /src/libgcrypt/tests/t-sntrup761.c:214,1
    - Dst: ref_Fq_freeze
      Src: /src/libgcrypt/tests/t-sntrup761.c:215,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sntrup761.c:218,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-sntrup761.c:221,1
    - Dst: Fq_freeze
      Src: /src/libgcrypt/tests/t-sntrup761.c:223,1
    - Dst: ref_Fq_freeze
      Src: /src/libgcrypt/tests/t-sntrup761.c:224,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sntrup761.c:227,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 229
    functionName: test_freeze_helpers
    functionSourceFile: /src/libgcrypt/tests/t-sntrup761.c
    functionUses: 0
    functionsReached:
    - fail
    - ref_Fq_freeze
    - DIM
    - F3_freeze
    - fprintf
    - Fq_freeze
    - ref_F3_freeze
    linkageType: ''
    returnType: void
    signature: void test_freeze_helpers (void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rng
      Src: /src/libgcrypt/tests/t-sntrup761.c:277,1
    - Dst: rng
      Src: /src/libgcrypt/tests/t-sntrup761.c:309,1
    - Dst: rng
      Src: /src/libgcrypt/tests/t-sntrup761.c:310,1
    - Dst: rng
      Src: /src/libgcrypt/tests/t-sntrup761.c:316,1
    - Dst: rng
      Src: /src/libgcrypt/tests/t-sntrup761.c:317,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 3
    argNames:
    - pattern
    - f
    - g
    argTypes:
    - int
    - Fq*
    - small*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 321
    functionName: make_inputs
    functionSourceFile: /src/libgcrypt/tests/t-sntrup761.c
    functionUses: 0
    functionsReached:
    - rng
    linkageType: ''
    returnType: void
    signature: void make_inputs (int pattern, Fq *f, small *g)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: make_inputs
      Src: /src/libgcrypt/tests/t-sntrup761.c:334,1
    - Dst: Rq_mult_small
      Src: /src/libgcrypt/tests/t-sntrup761.c:338,1
    - Dst: ref_Rq_mult_small
      Src: /src/libgcrypt/tests/t-sntrup761.c:339,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-sntrup761.c:340,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sntrup761.c:345,1
    - Dst: R3_mult
      Src: /src/libgcrypt/tests/t-sntrup761.c:351,1
    - Dst: ref_R3_mult
      Src: /src/libgcrypt/tests/t-sntrup761.c:352,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-sntrup761.c:353,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sntrup761.c:358,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 364
    functionName: test_mult
    functionSourceFile: /src/libgcrypt/tests/t-sntrup761.c
    functionUses: 0
    functionsReached:
    - ref_Rq_mult_small
    - Rq_mult_small
    - fail
    - R3_mult
    - ref_R3_mult
    - memcmp
    - make_inputs
    linkageType: ''
    returnType: void
    signature: void test_mult (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-sntrup761.c:380,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-sntrup761.c:386,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-sntrup761.c:388,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-sntrup761.c:389,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-sntrup761.c:391,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-sntrup761.c:397,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-sntrup761.c:399,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-sntrup761.c:400,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-sntrup761.c:404,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-sntrup761.c:406,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-sntrup761.c:407,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-sntrup761.c:409,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-sntrup761.c:410,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-sntrup761.c:411,1
    - Dst: test_freeze_helpers
      Src: /src/libgcrypt/tests/t-sntrup761.c:413,1
    - Dst: test_mult
      Src: /src/libgcrypt/tests/t-sntrup761.c:414,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-sntrup761.c:417,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 366
    functionDepth: 4
    functionLinenumber: 366
    functionLinenumberEnd: 419
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-sntrup761.c
    functionUses: 11
    functionsReached:
    - test_mult
    - gcry_check_version
    - test_freeze_helpers
    - exit
    - strcmp
    - fprintf
    - fputs
    - xgcry_control
    - die
    - strncmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/tests/t-secmem.c:50,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-secmem.c:55,1
    - Dst: gcry_xmalloc_secure
      Src: /src/libgcrypt/tests/t-secmem.c:58,1
    - Dst: gcry_malloc_secure
      Src: /src/libgcrypt/tests/t-secmem.c:61,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-secmem.c:63,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-secmem.c:65,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-secmem.c:66,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-secmem.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: test_secmem
    functionSourceFile: /src/libgcrypt/tests/t-secmem.c
    functionUses: 0
    functionsReached:
    - fail
    - DIM
    - gcry_xmalloc_secure
    - gcry_malloc_secure
    - memset
    - xfree
    linkageType: ''
    returnType: void
    signature: void test_secmem (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/tests/t-secmem.c:77,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-secmem.c:80,1
    - Dst: gcry_xmalloc_secure
      Src: /src/libgcrypt/tests/t-secmem.c:82,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-secmem.c:84,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-secmem.c:88,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-secmem.c:90,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-secmem.c:91,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-secmem.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: test_secmem_overflow
    functionSourceFile: /src/libgcrypt/tests/t-secmem.c
    functionUses: 0
    functionsReached:
    - DIM
    - gcry_xmalloc_secure
    - memset
    - xfree
    - xgcry_control
    linkageType: ''
    returnType: void
    signature: void test_secmem_overflow (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-secmem.c:110,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-secmem.c:111,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-secmem.c:112,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-secmem.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - opaque
    - req_n
    - flags
    argTypes:
    - void*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 118
    functionName: outofcore_handler
    functionSourceFile: /src/libgcrypt/tests/t-secmem.c
    functionUses: 1
    functionsReached:
    - die
    - fail
    - info
    - xgcry_control
    linkageType: ''
    returnType: int
    signature: int outofcore_handler (void *opaque, size_t req_n, unsigned int flags)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/t-secmem.c:128,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-secmem.c:132,1
    - Dst: sysconf
      Src: /src/libgcrypt/tests/t-secmem.c:138,1
    - Dst: getpagesize
      Src: /src/libgcrypt/tests/t-secmem.c:140,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-secmem.c:154,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-secmem.c:159,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-secmem.c:161,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-secmem.c:166,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-secmem.c:168,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-secmem.c:173,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-secmem.c:179,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-secmem.c:180,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-secmem.c:183,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-secmem.c:184,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-secmem.c:185,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-secmem.c:187,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-secmem.c:188,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-secmem.c:189,1
    - Dst: gcry_set_outofcore_handler
      Src: /src/libgcrypt/tests/t-secmem.c:191,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-secmem.c:192,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/t-secmem.c:193,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-secmem.c:199,1
    - Dst: test_secmem
      Src: /src/libgcrypt/tests/t-secmem.c:202,1
    - Dst: test_secmem_overflow
      Src: /src/libgcrypt/tests/t-secmem.c:204,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-secmem.c:211,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-secmem.c:212,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-secmem.c:215,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-secmem.c:216,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 218
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-secmem.c
    functionUses: 11
    functionsReached:
    - test_secmem_overflow
    - gcry_check_version
    - getpagesize
    - gcry_set_outofcore_handler
    - test_secmem
    - getenv
    - exit
    - info
    - strcmp
    - fputs
    - xgcry_control
    - die
    - gcry_fips_mode_active
    - strncmp
    - sysconf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:64,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:72,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:74,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:77,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:78,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:82,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:89,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:89,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:96,1
    - Dst: gcry_get_fips_service_indicator
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:101,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:105,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:113,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:120,1
    - Dst: gcry_pk_testkey
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:125,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:128,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:128,1
    - Dst: gcry_get_fips_service_indicator
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:132,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:136,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:144,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:151,1
    - Dst: gcry_pk_get_nbits
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:156,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:159,1
    - Dst: gcry_get_fips_service_indicator
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:163,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:167,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:175,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:182,1
    - Dst: gcry_pk_get_curve
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:187,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:190,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:190,1
    - Dst: gcry_get_fips_service_indicator
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:194,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:198,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:206,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:213,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:219,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:220,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 111
    argCount: 1
    argNames:
    - reject
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 222
    functionName: check_pk_g_t_n_c
    functionSourceFile: /src/libgcrypt/tests/t-fips-service-ind.c
    functionUses: 0
    functionsReached:
    - fail
    - gcry_pk_genkey
    - DIM
    - info
    - gcry_pk_testkey
    - gcry_pk_get_curve
    - gpg_strerror
    - gcry_sexp_release
    - gcry_pk_get_nbits
    - gcry_get_fips_service_indicator
    - gcry_sexp_build
    linkageType: ''
    returnType: void
    signature: void check_pk_g_t_n_c (int reject)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:570,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:578,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:580,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:583,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:584,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:588,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:591,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:592,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:596,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:599,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:600,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:604,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:611,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:611,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:618,1
    - Dst: gcry_get_fips_service_indicator
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:623,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:627,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:635,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:642,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:647,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:650,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:650,1
    - Dst: gcry_get_fips_service_indicator
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:654,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:658,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:666,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:673,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:679,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:680,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:681,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:682,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 81
    argCount: 1
    argNames:
    - reject
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 684
    functionName: check_pk_s_v
    functionSourceFile: /src/libgcrypt/tests/t-fips-service-ind.c
    functionUses: 0
    functionsReached:
    - fail
    - gcry_pk_sign
    - DIM
    - info
    - gcry_pk_verify
    - gpg_strerror
    - gcry_sexp_release
    - gcry_get_fips_service_indicator
    - gcry_sexp_build
    linkageType: ''
    returnType: void
    signature: void check_pk_s_v (int reject)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:740,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:741,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:752,1
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:754,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:757,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:758,1
    - Dst: gcry_get_fips_service_indicator
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:762,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:766,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:774,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:781,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:786,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:789,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:790,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:794,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:797,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:798,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:802,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:804,1
    - Dst: gcry_pk_random_override_new
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:809,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:812,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:813,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:817,1
    - Dst: gcry_pk_hash_sign
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:819,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:822,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:822,1
    - Dst: gcry_get_fips_service_indicator
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:826,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:830,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:838,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:845,1
    - Dst: gcry_pk_hash_verify
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:850,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:853,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:854,1
    - Dst: gcry_get_fips_service_indicator
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:858,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:862,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:870,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:877,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:883,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:884,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:885,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:886,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:887,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:889,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 105
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 891
    functionName: check_pk_hash_sign_verify
    functionSourceFile: /src/libgcrypt/tests/t-fips-service-ind.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_md_open
    - fail
    - strlen
    - DIM
    - info
    - hex2buffer
    - gcry_pk_hash_verify
    - gcry_ctx_release
    - gpg_strerror
    - xfree
    - gcry_sexp_release
    - gcry_md_close
    - gcry_get_fips_service_indicator
    - gcry_sexp_build
    - gcry_pk_random_override_new
    - gcry_pk_hash_sign
    linkageType: ''
    returnType: void
    signature: void check_pk_hash_sign_verify (void)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:935,1
    - Dst: assert
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:936,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:937,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:944,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:947,1
    - Dst: assert
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:949,1
    - Dst: assert
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:950,1
    - Dst: assert
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:951,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:951,1
    - Dst: assert
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:952,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:953,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:960,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:961,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:968,1
    - Dst: gcry_get_fips_service_indicator
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:971,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:975,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:983,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:990,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:995,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:998,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:999,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1000,1
    - Dst: gcry_cipher_info
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1006,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1008,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1009,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1012,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1016,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1019,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1020,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1021,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1025,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1029,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1030,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1032,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1033,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1038,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1040,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1041,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1043,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1047,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1048,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1050,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1051,1
    - Dst: gcry_cipher_reset
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1054,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1056,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1057,1
    - Dst: gcry_cipher_set_decryption_tag
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1059,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1061,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1062,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1065,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1068,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1069,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1070,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1074,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1078,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1079,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1081,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1082,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1085,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 93
    argCount: 1
    argNames:
    - reject
    argTypes:
    - int
    assertStmts:
    - condition: (ptlen == 32)
      pos:
        line_end: 935
        line_start: 935
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    - condition: (blklen <= ptlen)
      pos:
        line_end: 949
        line_start: 949
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    - condition: (blklen <= DIM (out))
      pos:
        line_end: 950
        line_start: 950
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    - condition: (blklen != 0)
      pos:
        line_end: 948
        line_start: 948
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    - condition: (tv[tvidx].taglen <= 16)
      pos:
        line_end: 951
        line_start: 951
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    constantsTouched: []
    func_position:
      end: 1087
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 1087
    functionName: check_cipher_o_s_e_d_c
    functionSourceFile: /src/libgcrypt/tests/t-fips-service-ind.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - gcry_cipher_info
    - strlen
    - gcry_cipher_encrypt
    - gcry_get_fips_service_indicator
    - putc
    - gcry_cipher_open
    - gcry_cipher_reset
    - DIM
    - gcry_cipher_setkey
    - assert
    - fprintf
    - gcry_cipher_gettag
    - gpg_strerror
    - gcry_cipher_decrypt
    - fail
    - memcmp
    - fputs
    - gcry_cipher_set_decryption_tag
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void check_cipher_o_s_e_d_c (int reject)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1149,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1155,1
    - Dst: gcry_mac_get_algo_maclen
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1158,1
    - Dst: assert
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1159,1
    - Dst: assert
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1160,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1160,1
    - Dst: gcry_mac_open
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1161,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1168,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1169,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1176,1
    - Dst: gcry_get_fips_service_indicator
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1180,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1184,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1192,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1199,1
    - Dst: gcry_mac_setkey
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1204,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1207,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1208,1
    - Dst: gcry_mac_close
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1209,1
    - Dst: gcry_mac_write
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1213,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1216,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1217,1
    - Dst: gcry_mac_close
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1218,1
    - Dst: gcry_mac_read
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1223,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1226,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1227,1
    - Dst: gcry_mac_close
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1228,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1232,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1236,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1237,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1239,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1240,1
    - Dst: gcry_mac_close
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1243,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 58
    argCount: 1
    argNames:
    - reject
    argTypes:
    - int
    assertStmts:
    - condition: (expectlen <= DIM (mac))
      pos:
        line_end: 1159
        line_start: 1159
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    - condition: (expectlen != 0)
      pos:
        line_end: 1158
        line_start: 1158
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    constantsTouched: []
    func_position:
      end: 1245
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1245
    functionName: check_mac_o_w_r_c
    functionSourceFile: /src/libgcrypt/tests/t-fips-service-ind.c
    functionUses: 0
    functionsReached:
    - gcry_mac_get_algo_maclen
    - fail
    - assert
    - DIM
    - fprintf
    - gcry_mac_read
    - gcry_mac_setkey
    - gcry_mac_close
    - gpg_strerror
    - memcmp
    - fputs
    - putc
    - gcry_get_fips_service_indicator
    - gcry_mac_open
    - gcry_mac_write
    linkageType: ''
    returnType: void
    signature: void check_mac_o_w_r_c (int reject)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1305,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1311,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1314,1
    - Dst: assert
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1315,1
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1316,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1323,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1324,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1331,1
    - Dst: gcry_get_fips_service_indicator
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1335,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1339,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1347,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1354,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1359,1
    - Dst: gcry_md_read
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1360,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1361,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1365,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1366,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1368,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1369,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1372,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 1
    argNames:
    - reject
    argTypes:
    - int
    assertStmts:
    - condition: (expectlen != 0)
      pos:
        line_end: 1314
        line_start: 1314
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    constantsTouched: []
    func_position:
      end: 1374
      start: 1250
    functionDepth: 1
    functionLinenumber: 1250
    functionLinenumberEnd: 1374
    functionName: check_md_o_w_r_c
    functionSourceFile: /src/libgcrypt/tests/t-fips-service-ind.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_md_open
    - fail
    - assert
    - DIM
    - gcry_md_get_algo_dlen
    - fprintf
    - memcmp
    - gpg_strerror
    - fputs
    - gcry_md_close
    - gcry_get_fips_service_indicator
    - gcry_md_read
    - putc
    linkageType: ''
    returnType: void
    signature: void check_md_o_w_r_c (int reject)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1430,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1435,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1438,1
    - Dst: assert
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1439,1
    - Dst: assert
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1440,1
    - Dst: gcry_md_hash_buffer
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1441,1
    - Dst: gcry_get_fips_service_indicator
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1444,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1448,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1456,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1463,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1468,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1472,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1473,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1475,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1476,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (expectlen != 0)
      pos:
        line_end: 1438
        line_start: 1438
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    - condition: (expectlen <= sizeof hash)
      pos:
        line_end: 1439
        line_start: 1439
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    constantsTouched: []
    func_position:
      end: 1479
      start: 1376
    functionDepth: 1
    functionLinenumber: 1376
    functionLinenumberEnd: 1479
    functionName: check_hash_buffer
    functionSourceFile: /src/libgcrypt/tests/t-fips-service-ind.c
    functionUses: 0
    functionsReached:
    - fail
    - gcry_md_hash_buffer
    - assert
    - DIM
    - gcry_md_get_algo_dlen
    - fprintf
    - memcmp
    - fputs
    - gcry_get_fips_service_indicator
    - putc
    linkageType: ''
    returnType: void
    signature: void check_hash_buffer (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1548,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1553,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1556,1
    - Dst: assert
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1557,1
    - Dst: assert
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1558,1
    - Dst: memset
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1559,1
    - Dst: gcry_md_hash_buffers
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1564,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1568,1
    - Dst: gcry_get_fips_service_indicator
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1572,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1576,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1584,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1591,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1596,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1600,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1601,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1603,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1604,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (expectlen <= sizeof hash)
      pos:
        line_end: 1557
        line_start: 1557
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    - condition: (expectlen != 0)
      pos:
        line_end: 1556
        line_start: 1556
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    constantsTouched: []
    func_position:
      end: 1607
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1607
    functionName: check_hash_buffers
    functionSourceFile: /src/libgcrypt/tests/t-fips-service-ind.c
    functionUses: 0
    functionsReached:
    - fail
    - assert
    - DIM
    - gcry_md_get_algo_dlen
    - fprintf
    - putc
    - memcmp
    - memset
    - fputs
    - gcry_get_fips_service_indicator
    - gcry_md_hash_buffers
    linkageType: ''
    returnType: void
    signature: void check_hash_buffers (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1710,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1713,1
    - Dst: assert
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1715,1
    - Dst: gcry_kdf_derive
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1716,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1723,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1724,1
    - Dst: gcry_get_fips_service_indicator
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1730,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1734,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1742,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1749,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1754,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1756,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1757,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1759,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1760,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tv[tvidx].dklen <= sizeof outbuf)
      pos:
        line_end: 1714
        line_start: 1714
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    constantsTouched: []
    func_position:
      end: 1764
      start: 1610
    functionDepth: 1
    functionLinenumber: 1610
    functionLinenumberEnd: 1764
    functionName: check_kdf_derive
    functionSourceFile: /src/libgcrypt/tests/t-fips-service-ind.c
    functionUses: 0
    functionsReached:
    - gcry_kdf_derive
    - fail
    - assert
    - DIM
    - fprintf
    - memcmp
    - gpg_strerror
    - fputs
    - gcry_get_fips_service_indicator
    - putc
    linkageType: ''
    returnType: void
    signature: void check_kdf_derive (void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1778,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1783,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1785,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1790,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1792,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1797,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1803,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1804,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1807,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1808,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1810,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1814,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1816,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1818,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1820,1
    - Dst: check_kdf_derive
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1822,1
    - Dst: check_hash_buffer
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1823,1
    - Dst: check_hash_buffers
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1824,1
    - Dst: check_md_o_w_r_c
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1825,1
    - Dst: check_mac_o_w_r_c
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1826,1
    - Dst: check_cipher_o_s_e_d_c
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1827,1
    - Dst: check_pk_hash_sign_verify
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1828,1
    - Dst: check_pk_s_v
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1829,1
    - Dst: check_pk_g_t_n_c
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1830,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1832,1
    - Dst: check_md_o_w_r_c
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1842,1
    - Dst: check_mac_o_w_r_c
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1843,1
    - Dst: check_cipher_o_s_e_d_c
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1844,1
    - Dst: check_pk_s_v
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1845,1
    - Dst: check_pk_g_t_n_c
      Src: /src/libgcrypt/tests/t-fips-service-ind.c:1846,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1767
    functionDepth: 2
    functionLinenumber: 1767
    functionLinenumberEnd: 1849
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-fips-service-ind.c
    functionUses: 11
    functionsReached:
    - check_pk_hash_sign_verify
    - check_mac_o_w_r_c
    - gcry_check_version
    - check_pk_s_v
    - check_cipher_o_s_e_d_c
    - exit
    - check_md_o_w_r_c
    - check_kdf_derive
    - strcmp
    - check_pk_g_t_n_c
    - fputs
    - gcry_fips_mode_active
    - die
    - xgcry_control
    - check_hash_buffer
    - strncmp
    - check_hash_buffers
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/fipsdrv.c:127,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/fipsdrv.c:129,1
    - Dst: putc
      Src: /src/libgcrypt/tests/fipsdrv.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - prefix
    - buffer
    - length
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: showhex
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 1
    functionsReached:
    - fprintf
    - putc
    linkageType: ''
    returnType: void
    signature: void showhex (const char *prefix, const void *buffer, size_t length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/fipsdrv.c:165,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/fipsdrv.c:165,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/fipsdrv.c:167,1
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/fipsdrv.c:170,1
    - Dst: isspace
      Src: /src/libgcrypt/tests/fipsdrv.c:170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - string
    - buffer
    - length
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: hex2bin
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 22
    functionsReached:
    - hexdigitp
    - my_isascii
    - xtoi_2
    - isspace
    linkageType: ''
    returnType: int
    signature: int hex2bin (const char *string, void *buffer, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/fipsdrv.c:192,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/fipsdrv.c:192,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/fipsdrv.c:196,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/fipsdrv.c:196,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/fipsdrv.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 202
    functionName: hex2buffer
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 20
    functionsReached:
    - hexdigitp
    - xtoi_2
    - gcry_xmalloc
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void *

      hex2buffer (const char *string, size_t *r_length)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/libgcrypt/tests/fipsdrv.c:217,1
    - Dst: feof
      Src: /src/libgcrypt/tests/fipsdrv.c:219,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:221,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:221,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/fipsdrv.c:223,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/fipsdrv.c:226,1
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/fipsdrv.c:228,1
    - Dst: isspace
      Src: /src/libgcrypt/tests/fipsdrv.c:228,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/fipsdrv.c:236,1
    - Dst: gcry_xstrdup
      Src: /src/libgcrypt/tests/fipsdrv.c:237,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 238
    functionName: read_textline
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 8
    functionsReached:
    - my_isascii
    - strlen
    - fprintf
    - feof
    - strchr
    - gcry_xstrdup
    - isspace
    - die
    - fgets
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      read_textline (FILE *fp)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_textline
      Src: /src/libgcrypt/tests/fipsdrv.c:245,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:248,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:250,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - retlen
    argTypes:
    - FILE*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 253
    functionName: read_hexline
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - die
    - gcry_free
    - hex2buffer
    - read_textline
    linkageType: ''
    returnType: char
    signature: 'char *

      read_hexline (FILE *fp, size_t *retlen)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/libgcrypt/tests/fipsdrv.c:263,1
    - Dst: feof
      Src: /src/libgcrypt/tests/fipsdrv.c:265,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:267,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:267,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/fipsdrv.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 274
    functionName: skip_to_empty_line
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 1
    functionsReached:
    - feof
    - strchr
    - die
    - fgets
    - strerror
    linkageType: ''
    returnType: void
    signature: void skip_to_empty_line (FILE *fp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setmode
      Src: /src/libgcrypt/tests/fipsdrv.c:292,1
    - Dst: fileno
      Src: /src/libgcrypt/tests/fipsdrv.c:292,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/fipsdrv.c:300,1
    - Dst: gcry_xrealloc
      Src: /src/libgcrypt/tests/fipsdrv.c:302,1
    - Dst: fread
      Src: /src/libgcrypt/tests/fipsdrv.c:304,1
    - Dst: ferror
      Src: /src/libgcrypt/tests/fipsdrv.c:305,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:307,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/fipsdrv.c:321,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/fipsdrv.c:321,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:323,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/fipsdrv.c:326,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:330,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - fp
    - decode
    - r_length
    argTypes:
    - FILE*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 338
    functionName: read_file
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 8
    functionsReached:
    - gcry_free
    - hexdigitp
    - gcry_xrealloc
    - gcry_xmalloc
    - fileno
    - setmode
    - fread
    - ferror
    - xtoi_2
    linkageType: ''
    returnType: void
    signature: 'void *

      read_file (FILE *fp, int decode, size_t *r_length)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:369,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:381,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:394,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 43
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 421
    functionName: base64_decode
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - die
    - memcmp
    linkageType: ''
    returnType: size_t
    signature: size_t base64_decode (char *buffer, size_t length)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 3
    argNames:
    - buffer
    - buflen
    - ti
    argTypes:
    - unsigned char**
    - size_t*
    - struct tag_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 505
    functionName: parse_tag
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parse_tag (unsigned char const **buffer, size_t *buflen, struct
      tag_info *ti)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libgcrypt/tests/fipsdrv.c:526,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:528,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:528,1
    - Dst: read_file
      Src: /src/libgcrypt/tests/fipsdrv.c:529,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:531,1
    - Dst: fclose
      Src: /src/libgcrypt/tests/fipsdrv.c:532,1
    - Dst: base64_decode
      Src: /src/libgcrypt/tests/fipsdrv.c:534,1
    - Dst: parse_tag
      Src: /src/libgcrypt/tests/fipsdrv.c:539,1
    - Dst: parse_tag
      Src: /src/libgcrypt/tests/fipsdrv.c:542,1
    - Dst: parse_tag
      Src: /src/libgcrypt/tests/fipsdrv.c:551,1
    - Dst: showhex
      Src: /src/libgcrypt/tests/fipsdrv.c:560,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/fipsdrv.c:562,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:564,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:564,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:568,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:570,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/fipsdrv.c:574,1
    - Dst: gcry_mpi_swap
      Src: /src/libgcrypt/tests/fipsdrv.c:576,1
    - Dst: gcry_mpi_invm
      Src: /src/libgcrypt/tests/fipsdrv.c:577,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fipsdrv.c:581,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:587,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:587,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:590,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:595,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 54
    argCount: 2
    argNames:
    - fname
    - show
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 597
    functionName: read_private_key_file
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - showhex
    - gcry_free
    - base64_decode
    - fclose
    - parse_tag
    - read_file
    - gpg_strerror
    - fopen
    - gcry_mpi_swap
    - gcry_sexp_build
    - die
    - gcry_mpi_invm
    - gcry_mpi_cmp
    - strerror
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t read_private_key_file (const char *fname, int show)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libgcrypt/tests/fipsdrv.c:618,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:620,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:620,1
    - Dst: read_file
      Src: /src/libgcrypt/tests/fipsdrv.c:621,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:623,1
    - Dst: fclose
      Src: /src/libgcrypt/tests/fipsdrv.c:624,1
    - Dst: base64_decode
      Src: /src/libgcrypt/tests/fipsdrv.c:626,1
    - Dst: parse_tag
      Src: /src/libgcrypt/tests/fipsdrv.c:631,1
    - Dst: parse_tag
      Src: /src/libgcrypt/tests/fipsdrv.c:634,1
    - Dst: parse_tag
      Src: /src/libgcrypt/tests/fipsdrv.c:640,1
    - Dst: parse_tag
      Src: /src/libgcrypt/tests/fipsdrv.c:648,1
    - Dst: parse_tag
      Src: /src/libgcrypt/tests/fipsdrv.c:654,1
    - Dst: showhex
      Src: /src/libgcrypt/tests/fipsdrv.c:663,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/fipsdrv.c:665,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:667,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:667,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:671,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:673,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fipsdrv.c:676,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:680,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:680,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:683,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:688,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 58
    argCount: 2
    argNames:
    - fname
    - show
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 690
    functionName: read_public_key_file
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - showhex
    - gcry_free
    - base64_decode
    - fclose
    - parse_tag
    - read_file
    - gpg_strerror
    - fopen
    - die
    - gcry_sexp_build
    - strerror
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t read_public_key_file (const char *fname, int show)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libgcrypt/tests/fipsdrv.c:706,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:708,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:708,1
    - Dst: read_file
      Src: /src/libgcrypt/tests/fipsdrv.c:709,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:711,1
    - Dst: fclose
      Src: /src/libgcrypt/tests/fipsdrv.c:712,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/fipsdrv.c:714,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fipsdrv.c:716,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:719,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:719,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:720,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 724
    functionName: read_sig_file
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - fclose
    - read_file
    - gpg_strerror
    - fopen
    - die
    - gcry_sexp_build
    - strerror
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t read_sig_file (const char *fname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libgcrypt/tests/fipsdrv.c:737,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:739,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:739,1
    - Dst: read_file
      Src: /src/libgcrypt/tests/fipsdrv.c:740,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:742,1
    - Dst: fclose
      Src: /src/libgcrypt/tests/fipsdrv.c:743,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:745,1
    - Dst: gcry_sexp_create
      Src: /src/libgcrypt/tests/fipsdrv.c:747,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:749,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 752
    functionName: read_sexp_from_file
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_create
    - fclose
    - read_file
    - gpg_strerror
    - fopen
    - die
    - strerror
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t read_sexp_from_file (const char *fname)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libgcrypt/tests/fipsdrv.c:783,1
    - Dst: fwrite
      Src: /src/libgcrypt/tests/fipsdrv.c:788,1
    - Dst: fwrite
      Src: /src/libgcrypt/tests/fipsdrv.c:809,1
    - Dst: fwrite
      Src: /src/libgcrypt/tests/fipsdrv.c:813,1
    - Dst: fwrite
      Src: /src/libgcrypt/tests/fipsdrv.c:818,1
    - Dst: showhex
      Src: /src/libgcrypt/tests/fipsdrv.c:826,1
    - Dst: ferror
      Src: /src/libgcrypt/tests/fipsdrv.c:827,1
    - Dst: printf
      Src: /src/libgcrypt/tests/fipsdrv.c:828,1
    - Dst: ferror
      Src: /src/libgcrypt/tests/fipsdrv.c:829,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/fipsdrv.c:832,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:841,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:841,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 843
    functionName: print_buffer
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 1
    functionsReached:
    - showhex
    - printf
    - fwrite
    - fflush
    - die
    - strerror
    - ferror
    linkageType: ''
    returnType: void
    signature: void print_buffer (const void *buffer, size_t length)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/fipsdrv.c:854,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:856,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:856,1
    - Dst: printf
      Src: /src/libgcrypt/tests/fipsdrv.c:862,1
    - Dst: ferror
      Src: /src/libgcrypt/tests/fipsdrv.c:863,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/fipsdrv.c:865,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:868,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:868,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:869,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - a
    - no_lz
    argTypes:
    - gcry_mpi_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 870
    functionName: print_mpi_line
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 1
    functionsReached:
    - gcry_free
    - printf
    - gcry_mpi_aprint
    - fflush
    - gpg_strerror
    - die
    - strerror
    - ferror
    linkageType: ''
    returnType: void
    signature: void print_mpi_line (gcry_mpi_t a, int no_lz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/libgcrypt/tests/fipsdrv.c:880,1
    - Dst: printf
      Src: /src/libgcrypt/tests/fipsdrv.c:881,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/fipsdrv.c:882,1
    - Dst: ferror
      Src: /src/libgcrypt/tests/fipsdrv.c:883,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/fipsdrv.c:885,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:888,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:888,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - data
    - datalen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 889
    functionName: print_data_line
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - printf
    - ferror
    - fflush
    - die
    - strerror
    - putchar
    linkageType: ''
    returnType: void
    signature: void print_data_line (const void *data, size_t datalen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/fipsdrv.c:898,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/fipsdrv.c:899,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/fipsdrv.c:900,1
    - Dst: fwrite
      Src: /src/libgcrypt/tests/fipsdrv.c:901,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:902,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:902,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - fp
    argTypes:
    - gcry_sexp_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 904
    functionName: print_sexp
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 6
    functionsReached:
    - gcry_free
    - fwrite
    - gcry_xmalloc
    - gcry_sexp_sprint
    - die
    - strerror
    linkageType: ''
    returnType: void
    signature: void print_sexp (gcry_sexp_t a, FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/fipsdrv.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - r_context
    - flags
    - key
    - keylen
    - seed
    - seedlen
    - dt
    - dtlen
    argTypes:
    - void**
    - unsigned int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 921
    functionName: init_external_rng_test
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_control
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t init_external_rng_test (void **r_context,\n                    unsigned
      int flags,\n                    const void *key, size_t keylen,\n                    const
      void *seed, size_t seedlen,\n                    const void *dt, size_t dtlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/fipsdrv.c:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context
    - buffer
    - buflen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 927
    functionName: run_external_rng_test
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_control
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t run_external_rng_test (void *context, void *buffer, size_t
      buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/fipsdrv.c:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 933
    functionName: deinit_external_rng_test
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - xgcry_control
    linkageType: ''
    returnType: void
    signature: void deinit_external_rng_test (void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - name
    - r_mode
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 1005
    functionName: map_openssl_cipher_name
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int map_openssl_cipher_name (const char *name, int *r_mode)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/fipsdrv.c:1027,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1029,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1030,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/fipsdrv.c:1032,1
    - Dst: assert
      Src: /src/libgcrypt/tests/fipsdrv.c:1033,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/fipsdrv.c:1035,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/fipsdrv.c:1037,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1039,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1040,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/fipsdrv.c:1044,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1046,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1047,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/fipsdrv.c:1050,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/fipsdrv.c:1052,1
    - Dst: fread
      Src: /src/libgcrypt/tests/fipsdrv.c:1058,1
    - Dst: ferror
      Src: /src/libgcrypt/tests/fipsdrv.c:1059,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1060,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/fipsdrv.c:1068,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/fipsdrv.c:1070,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1072,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1073,1
    - Dst: print_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:1075,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/fipsdrv.c:1079,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:1080,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:1081,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 10
    argNames:
    - encrypt_mode
    - cipher_algo
    - cipher_mode
    - iv_buffer
    - iv_buflen
    - key_buffer
    - key_buflen
    - data
    - datalen
    - fp
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - FILE*
    assertStmts:
    - condition: (blocklen)
      pos:
        line_end: 1032
        line_start: 1032
        source_file: /src/libgcrypt/tests/fipsdrv.c
    constantsTouched: []
    func_position:
      end: 1082
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1082
    functionName: run_encrypt_decrypt
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - gcry_free
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_setkey
    - assert
    - gcry_cipher_setiv
    - gcry_xmalloc
    - gcry_cipher_encrypt
    - gpg_strerror
    - gcry_cipher_ctl
    - die
    - fread
    - print_buffer
    - ferror
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: "void run_encrypt_decrypt (int encrypt_mode,\n                     int
      cipher_algo, int cipher_mode,\n                     const void *iv_buffer, size_t
      iv_buflen,\n                     const void *key_buffer, size_t key_buflen,\n
      \                    const void *data, size_t datalen, FILE *fp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/fipsdrv.c:1090,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1091,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1093,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/fipsdrv.c:1094,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hd
    - buffer
    - buflen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1095
    functionName: get_current_iv
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - die
    - memcpy
    - gcry_cipher_ctl
    linkageType: ''
    returnType: void
    signature: void get_current_iv (gcry_cipher_hd_t hd, void *buffer, size_t buflen)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/fipsdrv.c:1115,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1117,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1118,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/fipsdrv.c:1120,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1122,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/fipsdrv.c:1125,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/fipsdrv.c:1127,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1129,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1130,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/fipsdrv.c:1134,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1136,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1137,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1141,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/fipsdrv.c:1143,1
    - Dst: memset
      Src: /src/libgcrypt/tests/fipsdrv.c:1144,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/fipsdrv.c:1147,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/fipsdrv.c:1148,1
    - Dst: get_current_iv
      Src: /src/libgcrypt/tests/fipsdrv.c:1150,1
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/fipsdrv.c:1153,1
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/fipsdrv.c:1155,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1157,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1158,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/fipsdrv.c:1163,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/fipsdrv.c:1165,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/fipsdrv.c:1174,1
    - Dst: print_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:1177,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/fipsdrv.c:1178,1
    - Dst: print_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:1179,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/fipsdrv.c:1180,1
    - Dst: print_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:1181,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/fipsdrv.c:1182,1
    - Dst: get_current_iv
      Src: /src/libgcrypt/tests/fipsdrv.c:1183,1
    - Dst: print_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:1184,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/fipsdrv.c:1185,1
    - Dst: print_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:1186,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/fipsdrv.c:1187,1
    - Dst: showhex
      Src: /src/libgcrypt/tests/fipsdrv.c:1189,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/fipsdrv.c:1190,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/fipsdrv.c:1191,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/fipsdrv.c:1193,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 10
    argNames:
    - encrypt_mode
    - cipher_algo
    - cipher_mode
    - iv_buffer
    - iv_buflen
    - key_buffer
    - key_buflen
    - data
    - datalen
    - iterations
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1098
    functionDepth: 2
    functionLinenumber: 1098
    functionLinenumberEnd: 1194
    functionName: run_cipher_mct_loop
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - showhex
    - gcry_cipher_decrypt
    - gcry_cipher_open
    - gcry_cipher_setkey
    - gcry_cipher_setiv
    - gcry_cipher_encrypt
    - fflush
    - gpg_strerror
    - memset
    - print_buffer
    - gcry_cipher_ctl
    - die
    - get_current_iv
    - memcpy
    - putchar
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: "void run_cipher_mct_loop (int encrypt_mode, int cipher_algo, int cipher_mode,\n
      \                    const void *iv_buffer, size_t iv_buflen,\n                     const
      void *key_buffer, size_t key_buflen,\n                     const void *data,
      size_t datalen, int iterations)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/fipsdrv.c:1207,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1209,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1210,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/fipsdrv.c:1212,1
    - Dst: gcry_md_read
      Src: /src/libgcrypt/tests/fipsdrv.c:1213,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/fipsdrv.c:1214,1
    - Dst: print_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:1215,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/fipsdrv.c:1216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - digest_algo
    - data
    - datalen
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1199
    functionDepth: 1
    functionLinenumber: 1199
    functionLinenumberEnd: 1217
    functionName: run_digest
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_md_open
    - gcry_md_get_algo_dlen
    - gpg_strerror
    - die
    - gcry_md_close
    - gcry_md_read
    - print_buffer
    linkageType: ''
    returnType: void
    signature: void run_digest (int digest_algo,  const void *data, size_t datalen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/fipsdrv.c:1230,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1232,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1233,1
    - Dst: gcry_md_setkey
      Src: /src/libgcrypt/tests/fipsdrv.c:1235,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1237,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1238,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/fipsdrv.c:1240,1
    - Dst: gcry_md_read
      Src: /src/libgcrypt/tests/fipsdrv.c:1241,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/fipsdrv.c:1242,1
    - Dst: print_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:1243,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/fipsdrv.c:1244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - digest_algo
    - key
    - keylen
    - data
    - datalen
    argTypes:
    - int
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1221
    functionDepth: 1
    functionLinenumber: 1221
    functionLinenumberEnd: 1245
    functionName: run_hmac
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_md_open
    - gcry_md_get_algo_dlen
    - gpg_strerror
    - die
    - gcry_md_close
    - gcry_md_setkey
    - gcry_md_read
    - print_buffer
    linkageType: ''
    returnType: void
    signature: "void run_hmac (int digest_algo, const void *key, size_t keylen,\n
      \         const void *data, size_t datalen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/tests/fipsdrv.c:1263,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/fipsdrv.c:1265,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1267,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1268,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/fipsdrv.c:1270,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1272,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1272,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1274,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1279,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1282,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1285,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1286,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1290,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1291,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1292,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1294,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1298,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/fipsdrv.c:1299,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1300,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1302,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/fipsdrv.c:1303,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1304,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1307,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1308,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - data
    - datalen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1253
    functionDepth: 1
    functionLinenumber: 1253
    functionLinenumberEnd: 1309
    functionName: run_rsa_derive
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - gcry_pk_genkey
    - gcry_sexp_find_token
    - print_mpi_line
    - gpg_error
    - gpg_strerror
    - gcry_sexp_release
    - die
    - gcry_sexp_new
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void run_rsa_derive (const void *data, size_t datalen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/tests/fipsdrv.c:1326,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/fipsdrv.c:1328,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1330,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1331,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/fipsdrv.c:1333,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1335,1
    - Dst: printf
      Src: /src/libgcrypt/tests/fipsdrv.c:1339,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1341,1
    - Dst: printf
      Src: /src/libgcrypt/tests/fipsdrv.c:1342,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1348,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1348,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1353,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1354,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1355,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1357,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1361,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/fipsdrv.c:1362,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1363,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1365,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/fipsdrv.c:1366,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1367,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1370,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1371,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - data
    - datalen
    - test
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1316
    functionDepth: 1
    functionLinenumber: 1316
    functionLinenumberEnd: 1372
    functionName: run_rsa_keygen
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - printf
    - gcry_pk_genkey
    - gcry_sexp_find_token
    - print_mpi_line
    - gpg_error
    - gpg_strerror
    - gcry_sexp_release
    - die
    - gcry_sexp_new
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void run_rsa_keygen (const void *data, size_t datalen, int test)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1391
    functionName: compute_tag_length
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 5
    functionsReached:
    - die
    linkageType: ''
    returnType: size_t
    signature: size_t compute_tag_length (size_t n)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - p
    - tag
    - n
    argTypes:
    - unsigned char*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1415
    functionName: store_tag_length
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      store_tag_length (unsigned char *p, int tag, size_t n)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fipsdrv.c:1447,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1451,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1452,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/fipsdrv.c:1454,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1456,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1456,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1458,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1460,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1462,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1463,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1466,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1468,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1469,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/fipsdrv.c:1474,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/fipsdrv.c:1478,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1481,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1483,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/fipsdrv.c:1484,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1486,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1488,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1491,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/fipsdrv.c:1494,1
    - Dst: gcry_mpi_swap
      Src: /src/libgcrypt/tests/fipsdrv.c:1496,1
    - Dst: gcry_mpi_invm
      Src: /src/libgcrypt/tests/fipsdrv.c:1497,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/libgcrypt/tests/fipsdrv.c:1501,1
    - Dst: gcry_mpi_mod
      Src: /src/libgcrypt/tests/fipsdrv.c:1502,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/libgcrypt/tests/fipsdrv.c:1503,1
    - Dst: gcry_mpi_mod
      Src: /src/libgcrypt/tests/fipsdrv.c:1504,1
    - Dst: compute_tag_length
      Src: /src/libgcrypt/tests/fipsdrv.c:1507,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/fipsdrv.c:1508,1
    - Dst: gcry_mpi_print
      Src: /src/libgcrypt/tests/fipsdrv.c:1510,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1512,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1512,1
    - Dst: compute_tag_length
      Src: /src/libgcrypt/tests/fipsdrv.c:1514,1
    - Dst: compute_tag_length
      Src: /src/libgcrypt/tests/fipsdrv.c:1518,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/fipsdrv.c:1519,1
    - Dst: store_tag_length
      Src: /src/libgcrypt/tests/fipsdrv.c:1521,1
    - Dst: store_tag_length
      Src: /src/libgcrypt/tests/fipsdrv.c:1522,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/fipsdrv.c:1524,1
    - Dst: store_tag_length
      Src: /src/libgcrypt/tests/fipsdrv.c:1526,1
    - Dst: gcry_mpi_print
      Src: /src/libgcrypt/tests/fipsdrv.c:1527,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1530,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1530,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/fipsdrv.c:1535,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1536,1
    - Dst: assert
      Src: /src/libgcrypt/tests/fipsdrv.c:1538,1
    - Dst: puts
      Src: /src/libgcrypt/tests/fipsdrv.c:1541,1
    - Dst: print_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:1542,1
    - Dst: puts
      Src: /src/libgcrypt/tests/fipsdrv.c:1544,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:1546,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 2
    argNames:
    - keysize
    - pubexp
    argTypes:
    - int
    - int
    assertStmts:
    - condition: (der - derbuf == derlen)
      pos:
        line_end: 1537
        line_start: 1537
        source_file: /src/libgcrypt/tests/fipsdrv.c
    constantsTouched: []
    func_position:
      end: 1547
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1547
    functionName: run_rsa_gen
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - gcry_mpi_sub_ui
    - gcry_sexp_find_token
    - puts
    - gcry_mpi_swap
    - gcry_mpi_cmp
    - DIM
    - gcry_sexp_release
    - die
    - gcry_mpi_invm
    - gcry_sexp_build
    - gcry_mpi_new
    - compute_tag_length
    - gcry_pk_genkey
    - assert
    - gcry_mpi_print
    - gcry_xmalloc
    - gpg_strerror
    - store_tag_length
    - gcry_mpi_release
    - gcry_free
    - gcry_mpi_mod
    - print_buffer
    linkageType: ''
    returnType: void
    signature: void run_rsa_gen (int keysize, int pubexp)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/fipsdrv.c:1570,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1572,1
    - Dst: gcry_md_hash_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:1573,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fipsdrv.c:1574,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/fipsdrv.c:1576,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/fipsdrv.c:1584,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1586,1
    - Dst: gcry_md_hash_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:1587,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fipsdrv.c:1588,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/fipsdrv.c:1590,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/fipsdrv.c:1597,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fipsdrv.c:1600,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1602,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1606,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1607,1
    - Dst: read_private_key_file
      Src: /src/libgcrypt/tests/fipsdrv.c:1609,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/fipsdrv.c:1611,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1614,1
    - Dst: read_private_key_file
      Src: /src/libgcrypt/tests/fipsdrv.c:1614,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1615,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1616,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1618,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1619,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1621,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1624,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1626,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1629,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1631,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1634,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/fipsdrv.c:1636,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1640,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1643,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/fipsdrv.c:1644,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1646,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1646,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1647,1
    - Dst: print_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:1649,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:1650,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 6
    argNames:
    - data
    - datalen
    - hashalgo
    - pkcs1
    - pss
    - keyfile
    argTypes:
    - void*
    - size_t
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1553
    functionDepth: 2
    functionLinenumber: 1553
    functionLinenumberEnd: 1651
    functionName: run_rsa_sign
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - gcry_free
    - gcry_md_algo_name
    - gcry_md_hash_buffer
    - gcry_pk_sign
    - gcry_sexp_find_token
    - gcry_md_get_algo_dlen
    - gcry_mpi_aprint
    - gpg_strerror
    - gcry_sexp_release
    - read_private_key_file
    - die
    - gcry_sexp_build
    - print_buffer
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: "void run_rsa_sign (const void *data, size_t datalen,\n              int
      hashalgo, int pkcs1, int pss, const char *keyfile)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/fipsdrv.c:1671,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1673,1
    - Dst: gcry_md_hash_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:1674,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fipsdrv.c:1675,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/fipsdrv.c:1677,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/fipsdrv.c:1685,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1687,1
    - Dst: gcry_md_hash_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:1688,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fipsdrv.c:1689,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/fipsdrv.c:1691,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/fipsdrv.c:1698,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fipsdrv.c:1701,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1703,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1707,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1708,1
    - Dst: read_public_key_file
      Src: /src/libgcrypt/tests/fipsdrv.c:1710,1
    - Dst: read_sig_file
      Src: /src/libgcrypt/tests/fipsdrv.c:1712,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/fipsdrv.c:1714,1
    - Dst: puts
      Src: /src/libgcrypt/tests/fipsdrv.c:1716,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/fipsdrv.c:1717,1
    - Dst: puts
      Src: /src/libgcrypt/tests/fipsdrv.c:1718,1
    - Dst: printf
      Src: /src/libgcrypt/tests/fipsdrv.c:1720,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1720,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1722,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1723,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1724,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 7
    argNames:
    - data
    - datalen
    - hashalgo
    - pkcs1
    - pss
    - keyfile
    - sigfile
    argTypes:
    - void*
    - size_t
    - int
    - int
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1658
    functionDepth: 2
    functionLinenumber: 1658
    functionLinenumberEnd: 1725
    functionName: run_rsa_verify
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - printf
    - gcry_md_algo_name
    - gcry_md_hash_buffer
    - gcry_md_get_algo_dlen
    - gcry_pk_verify
    - read_sig_file
    - puts
    - gpg_strerror
    - read_public_key_file
    - gpg_err_code
    - gcry_sexp_release
    - die
    - gcry_sexp_build
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: "void run_rsa_verify (const void *data, size_t datalen, int hashalgo,
      int pkcs1,\n                int pss, const char *keyfile, const char *sigfile)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fipsdrv.c:1737,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1741,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1742,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/fipsdrv.c:1744,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1746,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1746,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - keysize
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1731
    functionDepth: 1
    functionLinenumber: 1731
    functionLinenumberEnd: 1751
    functionName: dsa_gen
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - gpg_strerror
    - gcry_sexp_release
    - die
    - gcry_sexp_build
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t dsa_gen (int keysize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fipsdrv.c:1762,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1771,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1772,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/fipsdrv.c:1774,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1776,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1776,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - keysize
    - seed
    - seedlen
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1756
    functionDepth: 1
    functionLinenumber: 1756
    functionLinenumberEnd: 1781
    functionName: dsa_gen_with_seed
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - gpg_strerror
    - gcry_sexp_release
    - die
    - gcry_sexp_build
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t dsa_gen_with_seed (int keysize, const void *seed, size_t
      seedlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fipsdrv.c:1792,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1799,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1800,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/fipsdrv.c:1801,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1803,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1803,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1805,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - curve
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1786
    functionDepth: 1
    functionLinenumber: 1786
    functionLinenumberEnd: 1808
    functionName: ecdsa_gen_key
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - gpg_strerror
    - gcry_sexp_release
    - die
    - gcry_sexp_build
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t ecdsa_gen_key (const char *curve)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1825,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1827,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1829,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1831,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1832,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1838,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1840,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/fipsdrv.c:1841,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1843,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1844,1
    - Dst: printf
      Src: /src/libgcrypt/tests/fipsdrv.c:1846,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/fipsdrv.c:1847,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1848,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1850,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1853,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1855,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1857,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1859,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1860,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1863,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1865,1
    - Dst: gcry_sexp_nth_data
      Src: /src/libgcrypt/tests/fipsdrv.c:1866,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1868,1
    - Dst: printf
      Src: /src/libgcrypt/tests/fipsdrv.c:1870,1
    - Dst: print_data_line
      Src: /src/libgcrypt/tests/fipsdrv.c:1871,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1872,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1874,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1876,1
    - Dst: gcry_sexp_nth_string
      Src: /src/libgcrypt/tests/fipsdrv.c:1877,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1879,1
    - Dst: printf
      Src: /src/libgcrypt/tests/fipsdrv.c:1881,1
    - Dst: strtoul
      Src: /src/libgcrypt/tests/fipsdrv.c:1881,1
    - Dst: printf
      Src: /src/libgcrypt/tests/fipsdrv.c:1883,1
    - Dst: strtoul
      Src: /src/libgcrypt/tests/fipsdrv.c:1883,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:1884,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1885,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1887,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1889,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/fipsdrv.c:1890,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1892,1
    - Dst: printf
      Src: /src/libgcrypt/tests/fipsdrv.c:1894,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/fipsdrv.c:1895,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1896,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1897,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1899,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 1
    argNames:
    - key
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1815
    functionDepth: 1
    functionLinenumber: 1815
    functionLinenumberEnd: 1900
    functionName: print_dsa_domain_parameters
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - gcry_free
    - printf
    - gcry_sexp_find_token
    - print_mpi_line
    - gcry_sexp_nth_data
    - print_data_line
    - gcry_sexp_release
    - die
    - strtoul
    - gcry_sexp_nth_string
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void print_dsa_domain_parameters (gcry_sexp_t key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1913,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1915,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1917,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1919,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1920,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1926,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1928,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/fipsdrv.c:1929,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1931,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1932,1
    - Dst: printf
      Src: /src/libgcrypt/tests/fipsdrv.c:1934,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/fipsdrv.c:1935,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1936,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1939,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - key
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1906
    functionDepth: 1
    functionLinenumber: 1906
    functionLinenumberEnd: 1940
    functionName: print_ecdsa_dq
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - printf
    - gcry_sexp_find_token
    - print_mpi_line
    - gcry_sexp_release
    - die
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void print_ecdsa_dq (gcry_sexp_t key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsa_gen_with_seed
      Src: /src/libgcrypt/tests/fipsdrv.c:1953,1
    - Dst: dsa_gen
      Src: /src/libgcrypt/tests/fipsdrv.c:1955,1
    - Dst: print_dsa_domain_parameters
      Src: /src/libgcrypt/tests/fipsdrv.c:1956,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - keysize
    - seed
    - seedlen
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1947
    functionDepth: 2
    functionLinenumber: 1947
    functionLinenumberEnd: 1958
    functionName: run_dsa_pqg_gen
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - print_dsa_domain_parameters
    - gcry_sexp_release
    - dsa_gen
    - dsa_gen_with_seed
    linkageType: ''
    returnType: void
    signature: void run_dsa_pqg_gen (int keysize, const void *seed, size_t seedlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dsa_gen
      Src: /src/libgcrypt/tests/fipsdrv.c:1970,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:1971,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1973,1
    - Dst: print_dsa_domain_parameters
      Src: /src/libgcrypt/tests/fipsdrv.c:1974,1
    - Dst: fopen
      Src: /src/libgcrypt/tests/fipsdrv.c:1976,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:1978,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:1978,1
    - Dst: print_sexp
      Src: /src/libgcrypt/tests/fipsdrv.c:1979,1
    - Dst: fclose
      Src: /src/libgcrypt/tests/fipsdrv.c:1980,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1982,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:1983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - keysize
    - filename
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1964
    functionDepth: 2
    functionLinenumber: 1964
    functionLinenumberEnd: 1984
    functionName: run_dsa_gen
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - print_dsa_domain_parameters
    - fclose
    - gcry_sexp_find_token
    - fopen
    - dsa_gen
    - gcry_sexp_release
    - die
    - print_sexp
    - strerror
    linkageType: ''
    returnType: void
    signature: void run_dsa_gen (int keysize, const char *filename)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_hash_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:1999,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/fipsdrv.c:2000,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fipsdrv.c:2003,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2005,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2008,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:2009,1
    - Dst: read_sexp_from_file
      Src: /src/libgcrypt/tests/fipsdrv.c:2011,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/fipsdrv.c:2013,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2016,1
    - Dst: read_private_key_file
      Src: /src/libgcrypt/tests/fipsdrv.c:2016,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2017,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:2018,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2020,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:2023,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2025,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:2027,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2029,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2030,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:2032,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/fipsdrv.c:2033,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2035,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/fipsdrv.c:2036,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2037,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2038,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2040,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:2044,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2046,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2048,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:2050,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2052,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2054,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:2057,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/fipsdrv.c:2058,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2060,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/fipsdrv.c:2061,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2062,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2063,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:2065,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/fipsdrv.c:2066,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2068,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/fipsdrv.c:2069,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2070,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2071,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2073,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 3
    argNames:
    - data
    - datalen
    - keyfile
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 1990
    functionDepth: 2
    functionLinenumber: 1990
    functionLinenumberEnd: 2074
    functionName: run_dsa_sign
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - gcry_md_hash_buffer
    - read_sexp_from_file
    - gcry_pk_sign
    - gcry_sexp_find_token
    - print_mpi_line
    - gpg_strerror
    - gcry_sexp_release
    - read_private_key_file
    - die
    - gcry_sexp_build
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void run_dsa_sign (const void *data, size_t datalen, const char *keyfile)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_hash_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:2091,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/fipsdrv.c:2094,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fipsdrv.c:2097,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2099,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2102,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:2103,1
    - Dst: read_sexp_from_file
      Src: /src/libgcrypt/tests/fipsdrv.c:2105,1
    - Dst: read_sexp_from_file
      Src: /src/libgcrypt/tests/fipsdrv.c:2106,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/fipsdrv.c:2108,1
    - Dst: puts
      Src: /src/libgcrypt/tests/fipsdrv.c:2110,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/fipsdrv.c:2111,1
    - Dst: puts
      Src: /src/libgcrypt/tests/fipsdrv.c:2112,1
    - Dst: printf
      Src: /src/libgcrypt/tests/fipsdrv.c:2114,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:2114,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2116,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2117,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - data
    - datalen
    - keyfile
    - sigfile
    argTypes:
    - void*
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2081
    functionDepth: 2
    functionLinenumber: 2081
    functionLinenumberEnd: 2119
    functionName: run_dsa_verify
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - printf
    - gcry_md_hash_buffer
    - read_sexp_from_file
    - gcry_pk_verify
    - puts
    - gpg_strerror
    - gpg_err_code
    - gcry_sexp_release
    - die
    - gcry_sexp_build
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: "void run_dsa_verify (const void *data, size_t datalen,\n                const
      char *keyfile, const char *sigfile)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: read_sexp_from_file
      Src: /src/libgcrypt/tests/fipsdrv.c:2135,1
    - Dst: gcry_md_hash_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:2137,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/fipsdrv.c:2138,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/fipsdrv.c:2139,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fipsdrv.c:2142,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/fipsdrv.c:2144,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2145,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2148,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:2149,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/fipsdrv.c:2151,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2154,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:2154,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2156,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2157,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:2160,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2162,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2164,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:2166,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2168,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2170,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:2173,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/fipsdrv.c:2174,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2176,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/fipsdrv.c:2177,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2178,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2179,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fipsdrv.c:2181,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/fipsdrv.c:2182,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2184,1
    - Dst: print_mpi_line
      Src: /src/libgcrypt/tests/fipsdrv.c:2185,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2186,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2187,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 4
    argNames:
    - data
    - datalen
    - keyfile
    - algo
    argTypes:
    - void*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2125
    functionDepth: 2
    functionLinenumber: 2125
    functionLinenumberEnd: 2190
    functionName: run_ecdsa_sign
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - gcry_md_hash_buffer
    - read_sexp_from_file
    - gcry_md_algo_name
    - gcry_pk_sign
    - gcry_sexp_find_token
    - gcry_md_get_algo_dlen
    - print_mpi_line
    - gpg_strerror
    - gcry_sexp_release
    - die
    - gcry_sexp_build
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: "void run_ecdsa_sign (const void *data, size_t datalen,\n                const
      char *keyfile, const int algo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read_sexp_from_file
      Src: /src/libgcrypt/tests/fipsdrv.c:2207,1
    - Dst: gcry_md_hash_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:2209,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/fipsdrv.c:2212,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/fipsdrv.c:2213,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fipsdrv.c:2216,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/fipsdrv.c:2218,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2219,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2222,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:2223,1
    - Dst: read_sexp_from_file
      Src: /src/libgcrypt/tests/fipsdrv.c:2225,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/fipsdrv.c:2227,1
    - Dst: puts
      Src: /src/libgcrypt/tests/fipsdrv.c:2229,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/fipsdrv.c:2230,1
    - Dst: puts
      Src: /src/libgcrypt/tests/fipsdrv.c:2231,1
    - Dst: printf
      Src: /src/libgcrypt/tests/fipsdrv.c:2233,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:2233,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2235,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2236,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - data
    - datalen
    - keyfile
    - algo
    - sigfile
    argTypes:
    - void*
    - size_t
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2238
      start: 2197
    functionDepth: 2
    functionLinenumber: 2197
    functionLinenumberEnd: 2238
    functionName: run_ecdsa_verify
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - printf
    - gcry_md_hash_buffer
    - read_sexp_from_file
    - gcry_md_algo_name
    - gcry_md_get_algo_dlen
    - gcry_pk_verify
    - puts
    - gpg_strerror
    - gpg_err_code
    - gcry_sexp_release
    - die
    - gcry_sexp_build
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: "void run_ecdsa_verify (const void *data, size_t datalen,\n                const
      char *keyfile, const int algo, const char *sigfile)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_gen_key
      Src: /src/libgcrypt/tests/fipsdrv.c:2248,1
    - Dst: print_ecdsa_dq
      Src: /src/libgcrypt/tests/fipsdrv.c:2249,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fipsdrv.c:2251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - curve
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2243
    functionDepth: 2
    functionLinenumber: 2243
    functionLinenumberEnd: 2252
    functionName: run_ecdsa_gen_key
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 0
    functionsReached:
    - print_ecdsa_dq
    - ecdsa_gen_key
    - gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: void run_ecdsa_gen_key (const char *curve)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/tests/fipsdrv.c:2261,1
    - Dst: exit
      Src: /src/libgcrypt/tests/fipsdrv.c:2263,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/fipsdrv.c:2265,1
    - Dst: exit
      Src: /src/libgcrypt/tests/fipsdrv.c:2292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - show_help
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2293
    functionName: usage
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 69
    functionsReached:
    - exit
    - fputs
    linkageType: ''
    returnType: void
    signature: void usage (int show_help)
  - BBCount: 141
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2325,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2330,1
    - Dst: usage
      Src: /src/libgcrypt/tests/fipsdrv.c:2332,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2334,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/fipsdrv.c:2336,1
    - Dst: exit
      Src: /src/libgcrypt/tests/fipsdrv.c:2337,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2339,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2344,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2349,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2354,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2359,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2364,1
    - Dst: usage
      Src: /src/libgcrypt/tests/fipsdrv.c:2368,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2372,1
    - Dst: usage
      Src: /src/libgcrypt/tests/fipsdrv.c:2376,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2380,1
    - Dst: usage
      Src: /src/libgcrypt/tests/fipsdrv.c:2384,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2388,1
    - Dst: usage
      Src: /src/libgcrypt/tests/fipsdrv.c:2392,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2396,1
    - Dst: usage
      Src: /src/libgcrypt/tests/fipsdrv.c:2400,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2404,1
    - Dst: usage
      Src: /src/libgcrypt/tests/fipsdrv.c:2408,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2412,1
    - Dst: usage
      Src: /src/libgcrypt/tests/fipsdrv.c:2416,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/fipsdrv.c:2417,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2421,1
    - Dst: usage
      Src: /src/libgcrypt/tests/fipsdrv.c:2425,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2429,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2434,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2439,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2444,1
    - Dst: usage
      Src: /src/libgcrypt/tests/fipsdrv.c:2452,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2457,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2459,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2462,1
    - Dst: fopen
      Src: /src/libgcrypt/tests/fipsdrv.c:2464,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2466,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:2466,1
    - Dst: signal
      Src: /src/libgcrypt/tests/fipsdrv.c:2473,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/fipsdrv.c:2477,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/fipsdrv.c:2479,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/fipsdrv.c:2481,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/fipsdrv.c:2482,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2483,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/fipsdrv.c:2485,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/fipsdrv.c:2485,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/fipsdrv.c:2487,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/fipsdrv.c:2488,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2493,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2494,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2495,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2496,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2497,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2498,1
    - Dst: read_file
      Src: /src/libgcrypt/tests/fipsdrv.c:2500,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2502,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/fipsdrv.c:2504,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2514,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2514,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2522,1
    - Dst: map_openssl_cipher_name
      Src: /src/libgcrypt/tests/fipsdrv.c:2523,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2525,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:2532,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:2533,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:2534,1
    - Dst: read_textline
      Src: /src/libgcrypt/tests/fipsdrv.c:2535,1
    - Dst: feof
      Src: /src/libgcrypt/tests/fipsdrv.c:2537,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2539,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/fipsdrv.c:2541,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2542,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:2544,1
    - Dst: read_textline
      Src: /src/libgcrypt/tests/fipsdrv.c:2545,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2546,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/fipsdrv.c:2547,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:2548,1
    - Dst: read_hexline
      Src: /src/libgcrypt/tests/fipsdrv.c:2549,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2550,1
    - Dst: read_hexline
      Src: /src/libgcrypt/tests/fipsdrv.c:2551,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2552,1
    - Dst: read_hexline
      Src: /src/libgcrypt/tests/fipsdrv.c:2553,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2554,1
    - Dst: skip_to_empty_line
      Src: /src/libgcrypt/tests/fipsdrv.c:2555,1
    - Dst: run_cipher_mct_loop
      Src: /src/libgcrypt/tests/fipsdrv.c:2557,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2569,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:2570,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2572,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2580,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:2581,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2583,1
    - Dst: run_encrypt_decrypt
      Src: /src/libgcrypt/tests/fipsdrv.c:2585,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:2591,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:2592,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2594,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2599,1
    - Dst: gcry_md_map_name
      Src: /src/libgcrypt/tests/fipsdrv.c:2600,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2602,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2604,1
    - Dst: run_digest
      Src: /src/libgcrypt/tests/fipsdrv.c:2606,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2608,1
    - Dst: hex2bin
      Src: /src/libgcrypt/tests/fipsdrv.c:2617,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2618,1
    - Dst: hex2bin
      Src: /src/libgcrypt/tests/fipsdrv.c:2619,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2620,1
    - Dst: hex2bin
      Src: /src/libgcrypt/tests/fipsdrv.c:2621,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2622,1
    - Dst: init_external_rng_test
      Src: /src/libgcrypt/tests/fipsdrv.c:2626,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2628,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:2628,1
    - Dst: run_external_rng_test
      Src: /src/libgcrypt/tests/fipsdrv.c:2632,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2634,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fipsdrv.c:2634,1
    - Dst: print_buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:2635,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/fipsdrv.c:2639,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/fipsdrv.c:2646,1
    - Dst: deinit_external_rng_test
      Src: /src/libgcrypt/tests/fipsdrv.c:2649,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2651,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2658,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2660,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/fipsdrv.c:2661,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2671,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2673,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/fipsdrv.c:2674,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2676,1
    - Dst: run_hmac
      Src: /src/libgcrypt/tests/fipsdrv.c:2678,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:2680,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2682,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2685,1
    - Dst: run_rsa_derive
      Src: /src/libgcrypt/tests/fipsdrv.c:2686,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2688,1
    - Dst: read_file
      Src: /src/libgcrypt/tests/fipsdrv.c:2690,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2692,1
    - Dst: run_rsa_keygen
      Src: /src/libgcrypt/tests/fipsdrv.c:2693,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2695,1
    - Dst: read_file
      Src: /src/libgcrypt/tests/fipsdrv.c:2697,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2699,1
    - Dst: run_rsa_keygen
      Src: /src/libgcrypt/tests/fipsdrv.c:2700,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2702,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/fipsdrv.c:2709,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2711,1
    - Dst: run_rsa_gen
      Src: /src/libgcrypt/tests/fipsdrv.c:2712,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2714,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2719,1
    - Dst: access
      Src: /src/libgcrypt/tests/fipsdrv.c:2720,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2721,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2723,1
    - Dst: gcry_md_map_name
      Src: /src/libgcrypt/tests/fipsdrv.c:2724,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2726,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2728,1
    - Dst: run_rsa_sign
      Src: /src/libgcrypt/tests/fipsdrv.c:2730,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2733,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2738,1
    - Dst: access
      Src: /src/libgcrypt/tests/fipsdrv.c:2739,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2740,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2742,1
    - Dst: gcry_md_map_name
      Src: /src/libgcrypt/tests/fipsdrv.c:2743,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2745,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2747,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2749,1
    - Dst: access
      Src: /src/libgcrypt/tests/fipsdrv.c:2750,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2751,1
    - Dst: run_rsa_verify
      Src: /src/libgcrypt/tests/fipsdrv.c:2753,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2757,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/fipsdrv.c:2761,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2763,1
    - Dst: run_dsa_pqg_gen
      Src: /src/libgcrypt/tests/fipsdrv.c:2764,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2766,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/fipsdrv.c:2770,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2772,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2774,1
    - Dst: run_dsa_gen
      Src: /src/libgcrypt/tests/fipsdrv.c:2775,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2777,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2780,1
    - Dst: access
      Src: /src/libgcrypt/tests/fipsdrv.c:2781,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2782,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2784,1
    - Dst: run_dsa_sign
      Src: /src/libgcrypt/tests/fipsdrv.c:2786,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2788,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2791,1
    - Dst: access
      Src: /src/libgcrypt/tests/fipsdrv.c:2792,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2793,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2795,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2797,1
    - Dst: access
      Src: /src/libgcrypt/tests/fipsdrv.c:2798,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2799,1
    - Dst: run_dsa_verify
      Src: /src/libgcrypt/tests/fipsdrv.c:2801,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2803,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2806,1
    - Dst: run_ecdsa_gen_key
      Src: /src/libgcrypt/tests/fipsdrv.c:2807,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2809,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2814,1
    - Dst: access
      Src: /src/libgcrypt/tests/fipsdrv.c:2815,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2816,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2818,1
    - Dst: gcry_md_map_name
      Src: /src/libgcrypt/tests/fipsdrv.c:2819,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2821,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2824,1
    - Dst: run_ecdsa_sign
      Src: /src/libgcrypt/tests/fipsdrv.c:2826,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fipsdrv.c:2828,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2833,1
    - Dst: access
      Src: /src/libgcrypt/tests/fipsdrv.c:2834,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2835,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2837,1
    - Dst: gcry_md_map_name
      Src: /src/libgcrypt/tests/fipsdrv.c:2838,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2840,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2842,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2844,1
    - Dst: access
      Src: /src/libgcrypt/tests/fipsdrv.c:2845,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2846,1
    - Dst: run_ecdsa_verify
      Src: /src/libgcrypt/tests/fipsdrv.c:2848,1
    - Dst: usage
      Src: /src/libgcrypt/tests/fipsdrv.c:2851,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fipsdrv.c:2853,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/fipsdrv.c:2858,1
    - Dst: die
      Src: /src/libgcrypt/tests/fipsdrv.c:2859,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/fipsdrv.c:2862,1
    CyclomaticComplexity: 165
    EdgeCount: 165
    ICount: 437
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2295
    functionDepth: 3
    functionLinenumber: 2295
    functionLinenumberEnd: 2865
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/fipsdrv.c
    functionUses: 11
    functionsReached:
    - deinit_external_rng_test
    - run_rsa_sign
    - run_cipher_mct_loop
    - exit
    - read_textline
    - run_rsa_keygen
    - access
    - init_external_rng_test
    - xgcry_control
    - run_dsa_sign
    - run_encrypt_decrypt
    - run_digest
    - run_rsa_derive
    - run_ecdsa_gen_key
    - run_dsa_verify
    - run_ecdsa_sign
    - skip_to_empty_line
    - hex2bin
    - map_openssl_cipher_name
    - run_rsa_gen
    - die
    - usage
    - run_rsa_verify
    - run_dsa_pqg_gen
    - gcry_check_version
    - run_external_rng_test
    - strcmp
    - fprintf
    - feof
    - gpg_strerror
    - fopen
    - signal
    - gcry_md_map_name
    - gcry_fips_mode_active
    - run_ecdsa_verify
    - gcry_free
    - run_hmac
    - run_dsa_gen
    - atoi
    - read_file
    - read_hexline
    - hex2buffer
    - fputs
    - print_buffer
    - strerror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/hmac.c:45,1
    - Dst: fail
      Src: /src/libgcrypt/tests/hmac.c:48,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/hmac.c:48,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/hmac.c:52,1
    - Dst: fail
      Src: /src/libgcrypt/tests/hmac.c:55,1
    - Dst: gcry_md_setkey
      Src: /src/libgcrypt/tests/hmac.c:59,1
    - Dst: fail
      Src: /src/libgcrypt/tests/hmac.c:62,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/hmac.c:62,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/hmac.c:66,1
    - Dst: gcry_md_read
      Src: /src/libgcrypt/tests/hmac.c:68,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/hmac.c:70,1
    - Dst: printf
      Src: /src/libgcrypt/tests/hmac.c:72,1
    - Dst: printf
      Src: /src/libgcrypt/tests/hmac.c:74,1
    - Dst: printf
      Src: /src/libgcrypt/tests/hmac.c:75,1
    - Dst: printf
      Src: /src/libgcrypt/tests/hmac.c:77,1
    - Dst: printf
      Src: /src/libgcrypt/tests/hmac.c:78,1
    - Dst: fail
      Src: /src/libgcrypt/tests/hmac.c:80,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/hmac.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - algo
    - key
    - keylen
    - data
    - datalen
    - expect
    argTypes:
    - int
    - void*
    - size_t
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 84
    functionName: check_one_mac
    functionSourceFile: /src/libgcrypt/tests/hmac.c
    functionUses: 1
    functionsReached:
    - gcry_md_write
    - gcry_md_open
    - printf
    - fail
    - gcry_md_get_algo_dlen
    - memcmp
    - gpg_strerror
    - gcry_md_close
    - gcry_md_setkey
    - gcry_md_read
    linkageType: ''
    returnType: void
    signature: "void check_one_mac (int algo,\n               const void *key, size_t
      keylen,\n               const void *data, size_t datalen,\n               const
      char *expect)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/hmac.c:93,1
    - Dst: check_one_mac
      Src: /src/libgcrypt/tests/hmac.c:96,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/hmac.c:101,1
    - Dst: check_one_mac
      Src: /src/libgcrypt/tests/hmac.c:104,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/hmac.c:109,1
    - Dst: check_one_mac
      Src: /src/libgcrypt/tests/hmac.c:112,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/hmac.c:117,1
    - Dst: check_one_mac
      Src: /src/libgcrypt/tests/hmac.c:120,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 124
    functionName: check_hmac
    functionSourceFile: /src/libgcrypt/tests/hmac.c
    functionUses: 1
    functionsReached:
    - fprintf
    - check_one_mac
    linkageType: ''
    returnType: void
    signature: void check_hmac (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/hmac.c:142,1
    - Dst: memset
      Src: /src/libgcrypt/tests/hmac.c:146,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/hmac.c:160,1
    - Dst: gcry_md_hash_buffers
      Src: /src/libgcrypt/tests/hmac.c:161,1
    - Dst: fail
      Src: /src/libgcrypt/tests/hmac.c:164,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/hmac.c:165,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/hmac.c:169,1
    - Dst: printf
      Src: /src/libgcrypt/tests/hmac.c:171,1
    - Dst: printf
      Src: /src/libgcrypt/tests/hmac.c:173,1
    - Dst: printf
      Src: /src/libgcrypt/tests/hmac.c:174,1
    - Dst: printf
      Src: /src/libgcrypt/tests/hmac.c:176,1
    - Dst: printf
      Src: /src/libgcrypt/tests/hmac.c:177,1
    - Dst: fail
      Src: /src/libgcrypt/tests/hmac.c:179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 181
    functionName: check_hmac_multi
    functionSourceFile: /src/libgcrypt/tests/hmac.c
    functionUses: 0
    functionsReached:
    - printf
    - fail
    - gcry_md_get_algo_dlen
    - fprintf
    - memcmp
    - memset
    - gpg_strerror
    - gcry_md_hash_buffers
    linkageType: ''
    returnType: void
    signature: void check_hmac_multi (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/hmac.c:187,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/hmac.c:189,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/hmac.c:192,1
    - Dst: die
      Src: /src/libgcrypt/tests/hmac.c:193,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/hmac.c:195,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/hmac.c:196,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/hmac.c:198,1
    - Dst: check_hmac
      Src: /src/libgcrypt/tests/hmac.c:199,1
    - Dst: check_hmac_multi
      Src: /src/libgcrypt/tests/hmac.c:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 203
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/hmac.c
    functionUses: 11
    functionsReached:
    - gcry_check_version
    - check_hmac
    - strcmp
    - check_hmac_multi
    - xgcry_control
    - die
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-mpi-bit.c:42,1
    - Dst: gcry_mpi_test_bit
      Src: /src/libgcrypt/tests/t-mpi-bit.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - length
    argTypes:
    - gcry_mpi_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: mpi2bitstr
    functionSourceFile: /src/libgcrypt/tests/t-mpi-bit.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_test_bit
    - xmalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      mpi2bitstr (gcry_mpi_t a, size_t length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_nbits
      Src: /src/libgcrypt/tests/t-mpi-bit.c:57,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-mpi-bit.c:61,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-mpi-bit.c:66,1
    - Dst: gcry_mpi_test_bit
      Src: /src/libgcrypt/tests/t-mpi-bit.c:68,1
    - Dst: gcry_mpi_test_bit
      Src: /src/libgcrypt/tests/t-mpi-bit.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 73
    functionName: mpi2bitstr_nlz
    functionSourceFile: /src/libgcrypt/tests/t-mpi-bit.c
    functionUses: 1
    functionsReached:
    - gcry_mpi_test_bit
    - xmalloc
    - gcry_mpi_get_nbits
    linkageType: ''
    returnType: char
    signature: 'char *

      mpi2bitstr_nlz (gcry_mpi_t a)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-mpi-bit.c:79,1
    - Dst: memmove
      Src: /src/libgcrypt/tests/t-mpi-bit.c:84,1
    - Dst: memset
      Src: /src/libgcrypt/tests/t-mpi-bit.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - string
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: rshiftbitstring
    functionSourceFile: /src/libgcrypt/tests/t-mpi-bit.c
    functionUses: 0
    functionsReached:
    - memmove
    - memset
    - strlen
    linkageType: ''
    returnType: void
    signature: void rshiftbitstring (char *string, size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-mpi-bit.c:92,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-bit.c:96,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-mpi-bit.c:98,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/t-mpi-bit.c:101,1
    - Dst: memset
      Src: /src/libgcrypt/tests/t-mpi-bit.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - string
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: lshiftbitstring
    functionSourceFile: /src/libgcrypt/tests/t-mpi-bit.c
    functionUses: 0
    functionsReached:
    - strlen
    - xmalloc
    - memset
    - die
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      lshiftbitstring (const char *string, size_t n)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-bit.c:121,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-bit.c:123,1
    - Dst: gcry_mpi_randomize
      Src: /src/libgcrypt/tests/t-mpi-bit.c:124,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-mpi-bit.c:125,1
    - Dst: gcry_mpi_set_highbit
      Src: /src/libgcrypt/tests/t-mpi-bit.c:128,1
    - Dst: gcry_mpi_set_bit
      Src: /src/libgcrypt/tests/t-mpi-bit.c:130,1
    - Dst: gcry_mpi_test_bit
      Src: /src/libgcrypt/tests/t-mpi-bit.c:131,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-bit.c:132,1
    - Dst: gcry_mpi_clear_bit
      Src: /src/libgcrypt/tests/t-mpi-bit.c:133,1
    - Dst: gcry_mpi_test_bit
      Src: /src/libgcrypt/tests/t-mpi-bit.c:134,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-bit.c:135,1
    - Dst: mpi2bitstr
      Src: /src/libgcrypt/tests/t-mpi-bit.c:136,1
    - Dst: assert
      Src: /src/libgcrypt/tests/t-mpi-bit.c:137,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-mpi-bit.c:137,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-bit.c:142,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mpi-bit.c:143,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-bit.c:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - highbit
    argTypes:
    - int
    assertStmts:
    - condition: (strlen (result) == 70)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/libgcrypt/tests/t-mpi-bit.c
    constantsTouched: []
    func_position:
      end: 145
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 145
    functionName: one_bit_only
    functionSourceFile: /src/libgcrypt/tests/t-mpi-bit.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_test_bit
    - mpi2bitstr
    - gcry_mpi_set_bit
    - fail
    - assert
    - strlen
    - info
    - gcry_mpi_clear_bit
    - gcry_mpi_randomize
    - xfree
    - gcry_mpi_set_highbit
    - gcry_mpi_set_ui
    - gcry_mpi_new
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void one_bit_only (int highbit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-bit.c:157,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-bit.c:159,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-bit.c:160,1
    - Dst: gcry_mpi_randomize
      Src: /src/libgcrypt/tests/t-mpi-bit.c:161,1
    - Dst: gcry_mpi_rshift
      Src: /src/libgcrypt/tests/t-mpi-bit.c:165,1
    - Dst: mpi2bitstr
      Src: /src/libgcrypt/tests/t-mpi-bit.c:167,1
    - Dst: mpi2bitstr
      Src: /src/libgcrypt/tests/t-mpi-bit.c:168,1
    - Dst: rshiftbitstring
      Src: /src/libgcrypt/tests/t-mpi-bit.c:169,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mpi-bit.c:170,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-bit.c:172,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-bit.c:173,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-bit.c:174,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mpi-bit.c:176,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mpi-bit.c:177,1
    - Dst: gcry_mpi_randomize
      Src: /src/libgcrypt/tests/t-mpi-bit.c:181,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-bit.c:185,1
    - Dst: gcry_mpi_copy
      Src: /src/libgcrypt/tests/t-mpi-bit.c:186,1
    - Dst: gcry_mpi_rshift
      Src: /src/libgcrypt/tests/t-mpi-bit.c:187,1
    - Dst: mpi2bitstr
      Src: /src/libgcrypt/tests/t-mpi-bit.c:189,1
    - Dst: mpi2bitstr
      Src: /src/libgcrypt/tests/t-mpi-bit.c:190,1
    - Dst: rshiftbitstring
      Src: /src/libgcrypt/tests/t-mpi-bit.c:191,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mpi-bit.c:192,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-bit.c:194,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-bit.c:195,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-bit.c:196,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mpi-bit.c:198,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mpi-bit.c:199,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-bit.c:202,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-bit.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - pass
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 204
    functionName: test_rshift
    functionSourceFile: /src/libgcrypt/tests/t-mpi-bit.c
    functionUses: 0
    functionsReached:
    - mpi2bitstr
    - fail
    - gcry_mpi_rshift
    - info
    - gcry_mpi_copy
    - strcmp
    - gcry_mpi_randomize
    - xfree
    - rshiftbitstring
    - gcry_mpi_new
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void test_rshift (int pass)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-bit.c:217,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-bit.c:221,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-bit.c:222,1
    - Dst: gcry_mpi_randomize
      Src: /src/libgcrypt/tests/t-mpi-bit.c:226,1
    - Dst: gcry_mpi_clear_highbit
      Src: /src/libgcrypt/tests/t-mpi-bit.c:227,1
    - Dst: gcry_mpi_lshift
      Src: /src/libgcrypt/tests/t-mpi-bit.c:231,1
    - Dst: mpi2bitstr_nlz
      Src: /src/libgcrypt/tests/t-mpi-bit.c:233,1
    - Dst: mpi2bitstr_nlz
      Src: /src/libgcrypt/tests/t-mpi-bit.c:234,1
    - Dst: lshiftbitstring
      Src: /src/libgcrypt/tests/t-mpi-bit.c:235,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mpi-bit.c:236,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mpi-bit.c:237,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-bit.c:239,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-bit.c:240,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-bit.c:241,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mpi-bit.c:243,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mpi-bit.c:244,1
    - Dst: gcry_mpi_randomize
      Src: /src/libgcrypt/tests/t-mpi-bit.c:248,1
    - Dst: gcry_mpi_clear_highbit
      Src: /src/libgcrypt/tests/t-mpi-bit.c:249,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-bit.c:253,1
    - Dst: gcry_mpi_copy
      Src: /src/libgcrypt/tests/t-mpi-bit.c:254,1
    - Dst: gcry_mpi_lshift
      Src: /src/libgcrypt/tests/t-mpi-bit.c:255,1
    - Dst: mpi2bitstr_nlz
      Src: /src/libgcrypt/tests/t-mpi-bit.c:257,1
    - Dst: mpi2bitstr_nlz
      Src: /src/libgcrypt/tests/t-mpi-bit.c:258,1
    - Dst: lshiftbitstring
      Src: /src/libgcrypt/tests/t-mpi-bit.c:259,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mpi-bit.c:260,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mpi-bit.c:261,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-bit.c:263,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-bit.c:264,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-bit.c:265,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mpi-bit.c:267,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-mpi-bit.c:268,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-bit.c:271,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-bit.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 1
    argNames:
    - pass
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 274
    functionName: test_lshift
    functionSourceFile: /src/libgcrypt/tests/t-mpi-bit.c
    functionUses: 0
    functionsReached:
    - fail
    - info
    - gcry_mpi_copy
    - strcmp
    - gcry_mpi_randomize
    - gcry_mpi_clear_highbit
    - gcry_mpi_lshift
    - mpi2bitstr_nlz
    - xfree
    - lshiftbitstring
    - gcry_mpi_new
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void test_lshift (int pass)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-bit.c:288,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-bit.c:290,1
    - Dst: gcry_mpi_set_bit
      Src: /src/libgcrypt/tests/t-mpi-bit.c:291,1
    - Dst: gcry_mpi_test_bit
      Src: /src/libgcrypt/tests/t-mpi-bit.c:293,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-bit.c:294,1
    - Dst: gcry_mpi_test_bit
      Src: /src/libgcrypt/tests/t-mpi-bit.c:297,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-bit.c:299,1
    - Dst: gcry_mpi_test_bit
      Src: /src/libgcrypt/tests/t-mpi-bit.c:303,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-bit.c:304,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-bit.c:305,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-bit.c:308,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-bit.c:310,1
    - Dst: gcry_mpi_set_highbit
      Src: /src/libgcrypt/tests/t-mpi-bit.c:311,1
    - Dst: gcry_mpi_test_bit
      Src: /src/libgcrypt/tests/t-mpi-bit.c:313,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-bit.c:314,1
    - Dst: gcry_mpi_test_bit
      Src: /src/libgcrypt/tests/t-mpi-bit.c:317,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-bit.c:319,1
    - Dst: gcry_mpi_test_bit
      Src: /src/libgcrypt/tests/t-mpi-bit.c:323,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-bit.c:324,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-bit.c:325,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 326
    functionName: set_bit_with_resize
    functionSourceFile: /src/libgcrypt/tests/t-mpi-bit.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_test_bit
    - gcry_mpi_set_bit
    - fail
    - info
    - gcry_mpi_set_highbit
    - gcry_mpi_new
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void set_bit_with_resize (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mpi-bit.c:334,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mpi-bit.c:336,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-mpi-bit.c:339,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-bit.c:340,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-mpi-bit.c:342,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-mpi-bit.c:343,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-mpi-bit.c:345,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-mpi-bit.c:347,1
    - Dst: one_bit_only
      Src: /src/libgcrypt/tests/t-mpi-bit.c:349,1
    - Dst: one_bit_only
      Src: /src/libgcrypt/tests/t-mpi-bit.c:350,1
    - Dst: test_rshift
      Src: /src/libgcrypt/tests/t-mpi-bit.c:352,1
    - Dst: test_lshift
      Src: /src/libgcrypt/tests/t-mpi-bit.c:355,1
    - Dst: set_bit_with_resize
      Src: /src/libgcrypt/tests/t-mpi-bit.c:357,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-bit.c:359,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 361
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-mpi-bit.c
    functionUses: 11
    functionsReached:
    - one_bit_only
    - gcry_check_version
    - set_bit_with_resize
    - info
    - test_rshift
    - test_lshift
    - strcmp
    - xgcry_control
    - die
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/t-lock.c:100,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-lock.c:102,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-lock.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: external_lock_test_init
    functionSourceFile: /src/libgcrypt/tests/t-lock.c
    functionUses: 0
    functionsReached:
    - gpg_strerror
    - gcry_control
    - fail
    linkageType: ''
    returnType: void
    signature: void external_lock_test_init (int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/t-lock.c:110,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-lock.c:112,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-lock.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: external_lock_test_lock
    functionSourceFile: /src/libgcrypt/tests/t-lock.c
    functionUses: 0
    functionsReached:
    - gpg_strerror
    - gcry_control
    - fail
    linkageType: ''
    returnType: void
    signature: void external_lock_test_lock (int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/t-lock.c:120,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-lock.c:122,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-lock.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: external_lock_test_unlock
    functionSourceFile: /src/libgcrypt/tests/t-lock.c
    functionUses: 0
    functionsReached:
    - gpg_strerror
    - gcry_control
    - fail
    linkageType: ''
    returnType: void
    signature: void external_lock_test_unlock (int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/t-lock.c:131,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-lock.c:133,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-lock.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: external_lock_test_destroy
    functionSourceFile: /src/libgcrypt/tests/t-lock.c
    functionUses: 0
    functionsReached:
    - gpg_strerror
    - gcry_control
    - fail
    linkageType: ''
    returnType: void
    signature: void external_lock_test_destroy (int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_create_nonce
      Src: /src/libgcrypt/tests/t-lock.c:151,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-lock.c:153,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-lock.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - argarg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: nonce_thread
    functionSourceFile: /src/libgcrypt/tests/t-lock.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - gcry_create_nonce
    - info
    linkageType: ''
    returnType: THREAD_RET_TYPE
    signature: THREAD_RET_TYPE nonce_thread (void *argarg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/t-lock.c:176,1
    - Dst: CreateThread
      Src: /src/libgcrypt/tests/t-lock.c:178,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-lock.c:180,1
    - Dst: GetLastError
      Src: /src/libgcrypt/tests/t-lock.c:181,1
    - Dst: WaitForSingleObject
      Src: /src/libgcrypt/tests/t-lock.c:186,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-lock.c:188,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-lock.c:190,1
    - Dst: GetLastError
      Src: /src/libgcrypt/tests/t-lock.c:191,1
    - Dst: CloseHandle
      Src: /src/libgcrypt/tests/t-lock.c:192,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/t-lock.c:201,1
    - Dst: pthread_create
      Src: /src/libgcrypt/tests/t-lock.c:203,1
    - Dst: pthread_join
      Src: /src/libgcrypt/tests/t-lock.c:208,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-lock.c:210,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-lock.c:211,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-lock.c:213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 218
    functionName: check_nonce_lock
    functionSourceFile: /src/libgcrypt/tests/t-lock.c
    functionUses: 0
    functionsReached:
    - strerror
    - fail
    - WaitForSingleObject
    - CreateThread
    - info
    - gcry_xmalloc
    - pthread_create
    - pthread_join
    - die
    - GetLastError
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void check_nonce_lock (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: init_accounts
    functionSourceFile: /src/libgcrypt/tests/t-lock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_accounts (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: die
      Src: /src/libgcrypt/tests/t-lock.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionName: check_accounts
    functionSourceFile: /src/libgcrypt/tests/t-lock.c
    functionUses: 0
    functionsReached:
    - die
    linkageType: ''
    returnType: void
    signature: void check_accounts (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libgcrypt/tests/t-lock.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: print_accounts
    functionSourceFile: /src/libgcrypt/tests/t-lock.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_accounts (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/libgcrypt/tests/t-lock.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - high
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: get_rand
    functionSourceFile: /src/libgcrypt/tests/t-lock.c
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_rand (int high)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_rand
      Src: /src/libgcrypt/tests/t-lock.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: pick_account
    functionSourceFile: /src/libgcrypt/tests/t-lock.c
    functionUses: 0
    functionsReached:
    - get_rand
    linkageType: ''
    returnType: int
    signature: int pick_account (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_rand
      Src: /src/libgcrypt/tests/t-lock.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: pick_value
    functionSourceFile: /src/libgcrypt/tests/t-lock.c
    functionUses: 0
    functionsReached:
    - get_rand
    linkageType: ''
    returnType: int
    signature: int pick_value (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: external_lock_test_lock
      Src: /src/libgcrypt/tests/t-lock.c:290,1
    - Dst: check_accounts
      Src: /src/libgcrypt/tests/t-lock.c:291,1
    - Dst: external_lock_test_unlock
      Src: /src/libgcrypt/tests/t-lock.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 295
    functionName: revision_thread
    functionSourceFile: /src/libgcrypt/tests/t-lock.c
    functionUses: 0
    functionsReached:
    - external_lock_test_unlock
    - check_accounts
    - external_lock_test_lock
    linkageType: ''
    returnType: THREAD_RET_TYPE
    signature: THREAD_RET_TYPE revision_thread (void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: external_lock_test_lock
      Src: /src/libgcrypt/tests/t-lock.c:310,1
    - Dst: pick_account
      Src: /src/libgcrypt/tests/t-lock.c:311,1
    - Dst: pick_account
      Src: /src/libgcrypt/tests/t-lock.c:312,1
    - Dst: pick_value
      Src: /src/libgcrypt/tests/t-lock.c:313,1
    - Dst: external_lock_test_unlock
      Src: /src/libgcrypt/tests/t-lock.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 319
    functionName: accountant_thread
    functionSourceFile: /src/libgcrypt/tests/t-lock.c
    functionUses: 0
    functionsReached:
    - external_lock_test_unlock
    - external_lock_test_lock
    - pick_value
    - pick_account
    linkageType: ''
    returnType: THREAD_RET_TYPE
    signature: THREAD_RET_TYPE accountant_thread (void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: external_lock_test_init
      Src: /src/libgcrypt/tests/t-lock.c:332,1
    - Dst: CreateThread
      Src: /src/libgcrypt/tests/t-lock.c:334,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-lock.c:336,1
    - Dst: GetLastError
      Src: /src/libgcrypt/tests/t-lock.c:336,1
    - Dst: CreateThread
      Src: /src/libgcrypt/tests/t-lock.c:340,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-lock.c:342,1
    - Dst: GetLastError
      Src: /src/libgcrypt/tests/t-lock.c:343,1
    - Dst: WaitForSingleObject
      Src: /src/libgcrypt/tests/t-lock.c:348,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-lock.c:350,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-lock.c:352,1
    - Dst: GetLastError
      Src: /src/libgcrypt/tests/t-lock.c:353,1
    - Dst: CloseHandle
      Src: /src/libgcrypt/tests/t-lock.c:354,1
    - Dst: WaitForSingleObject
      Src: /src/libgcrypt/tests/t-lock.c:358,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-lock.c:360,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-lock.c:362,1
    - Dst: GetLastError
      Src: /src/libgcrypt/tests/t-lock.c:362,1
    - Dst: CloseHandle
      Src: /src/libgcrypt/tests/t-lock.c:363,1
    - Dst: external_lock_test_destroy
      Src: /src/libgcrypt/tests/t-lock.c:365,1
    - Dst: external_lock_test_init
      Src: /src/libgcrypt/tests/t-lock.c:371,1
    - Dst: pthread_create
      Src: /src/libgcrypt/tests/t-lock.c:373,1
    - Dst: pthread_create
      Src: /src/libgcrypt/tests/t-lock.c:376,1
    - Dst: pthread_join
      Src: /src/libgcrypt/tests/t-lock.c:380,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-lock.c:382,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-lock.c:383,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-lock.c:385,1
    - Dst: pthread_join
      Src: /src/libgcrypt/tests/t-lock.c:389,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-lock.c:391,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-lock.c:391,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-lock.c:393,1
    - Dst: external_lock_test_destroy
      Src: /src/libgcrypt/tests/t-lock.c:395,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 397
    functionName: run_test
    functionSourceFile: /src/libgcrypt/tests/t-lock.c
    functionUses: 1
    functionsReached:
    - strerror
    - fail
    - WaitForSingleObject
    - external_lock_test_init
    - CreateThread
    - info
    - pthread_create
    - external_lock_test_destroy
    - pthread_join
    - die
    - GetLastError
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void run_test (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-lock.c:413,1
    - Dst: puts
      Src: /src/libgcrypt/tests/t-lock.c:415,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-lock.c:422,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-lock.c:424,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-lock.c:429,1
    - Dst: srand
      Src: /src/libgcrypt/tests/t-lock.c:436,1
    - Dst: time
      Src: /src/libgcrypt/tests/t-lock.c:436,1
    - Dst: getpid
      Src: /src/libgcrypt/tests/t-lock.c:436,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-lock.c:439,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-lock.c:440,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-lock.c:441,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-lock.c:442,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-lock.c:444,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-lock.c:444,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-lock.c:445,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-lock.c:446,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-lock.c:447,1
    - Dst: check_nonce_lock
      Src: /src/libgcrypt/tests/t-lock.c:449,1
    - Dst: init_accounts
      Src: /src/libgcrypt/tests/t-lock.c:451,1
    - Dst: check_accounts
      Src: /src/libgcrypt/tests/t-lock.c:452,1
    - Dst: run_test
      Src: /src/libgcrypt/tests/t-lock.c:454,1
    - Dst: check_accounts
      Src: /src/libgcrypt/tests/t-lock.c:455,1
    - Dst: run_test
      Src: /src/libgcrypt/tests/t-lock.c:458,1
    - Dst: check_accounts
      Src: /src/libgcrypt/tests/t-lock.c:459,1
    - Dst: print_accounts
      Src: /src/libgcrypt/tests/t-lock.c:462,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 465
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-lock.c
    functionUses: 11
    functionsReached:
    - gcry_check_version
    - check_nonce_lock
    - run_test
    - exit
    - die
    - print_accounts
    - strcmp
    - puts
    - init_accounts
    - check_accounts
    - xgcry_control
    - srand
    - getpid
    - time
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/tests/fips186-dsa.c:46,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/fips186-dsa.c:47,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/fips186-dsa.c:48,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/fips186-dsa.c:50,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/fips186-dsa.c:51,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fips186-dsa.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - prefix
    - a
    argTypes:
    - char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: show_sexp
    functionSourceFile: /src/libgcrypt/tests/fips186-dsa.c
    functionUses: 8
    functionsReached:
    - gcry_free
    - gcry_xmalloc
    - fprintf
    - fputs
    - gcry_sexp_sprint
    linkageType: ''
    returnType: void
    signature: void show_sexp (const char *prefix, gcry_sexp_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/fips186-dsa.c:61,1
    - Dst: die
      Src: /src/libgcrypt/tests/fips186-dsa.c:63,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fips186-dsa.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: mpi_from_string
    functionSourceFile: /src/libgcrypt/tests/fips186-dsa.c
    functionUses: 0
    functionsReached:
    - die
    - gpg_strerror
    - gcry_mpi_scan
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t mpi_from_string (const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/fips186-dsa.c:79,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/fips186-dsa.c:79,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/fips186-dsa.c:83,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/fips186-dsa.c:83,1
    - Dst: die
      Src: /src/libgcrypt/tests/fips186-dsa.c:84,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/fips186-dsa.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: data_from_hex
    functionSourceFile: /src/libgcrypt/tests/fips186-dsa.c
    functionUses: 5
    functionsReached:
    - hexdigitp
    - strlen
    - gcry_xmalloc
    - die
    - xtoi_2
    linkageType: ''
    returnType: void
    signature: 'void *

      data_from_hex (const char *string, size_t *r_length)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fips186-dsa.c:98,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/fips186-dsa.c:99,1
    - Dst: mpi_from_string
      Src: /src/libgcrypt/tests/fips186-dsa.c:100,1
    - Dst: fail
      Src: /src/libgcrypt/tests/fips186-dsa.c:102,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/fips186-dsa.c:103,1
    - Dst: fail
      Src: /src/libgcrypt/tests/fips186-dsa.c:104,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fips186-dsa.c:105,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/fips186-dsa.c:106,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fips186-dsa.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - sexp
    - name
    - expected
    argTypes:
    - gcry_sexp_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: extract_cmp_mpi
    functionSourceFile: /src/libgcrypt/tests/fips186-dsa.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - fail
    - gcry_sexp_find_token
    - gcry_sexp_release
    - mpi_from_string
    - gcry_mpi_cmp
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void extract_cmp_mpi (gcry_sexp_t sexp, const char *name, const char
      *expected)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fips186-dsa.c:120,1
    - Dst: gcry_sexp_nth_data
      Src: /src/libgcrypt/tests/fips186-dsa.c:121,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/fips186-dsa.c:122,1
    - Dst: fail
      Src: /src/libgcrypt/tests/fips186-dsa.c:124,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/fips186-dsa.c:125,1
    - Dst: fail
      Src: /src/libgcrypt/tests/fips186-dsa.c:126,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fips186-dsa.c:127,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fips186-dsa.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - sexp
    - name
    - expected
    argTypes:
    - gcry_sexp_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 129
    functionName: extract_cmp_data
    functionSourceFile: /src/libgcrypt/tests/fips186-dsa.c
    functionUses: 4
    functionsReached:
    - gcry_free
    - fail
    - gcry_sexp_find_token
    - data_from_hex
    - gcry_sexp_nth_data
    - memcmp
    - gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: void extract_cmp_data (gcry_sexp_t sexp, const char *name, const char
      *expected)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fips186-dsa.c:137,1
    - Dst: gcry_sexp_nth_string
      Src: /src/libgcrypt/tests/fips186-dsa.c:138,1
    - Dst: fail
      Src: /src/libgcrypt/tests/fips186-dsa.c:140,1
    - Dst: strtoul
      Src: /src/libgcrypt/tests/fips186-dsa.c:141,1
    - Dst: fail
      Src: /src/libgcrypt/tests/fips186-dsa.c:142,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fips186-dsa.c:143,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fips186-dsa.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - sexp
    - name
    - expected
    argTypes:
    - gcry_sexp_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: extract_cmp_int
    functionSourceFile: /src/libgcrypt/tests/fips186-dsa.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - fail
    - gcry_sexp_find_token
    - gcry_sexp_release
    - strtoul
    - gcry_sexp_nth_string
    linkageType: ''
    returnType: void
    signature: void extract_cmp_int (gcry_sexp_t sexp, const char *name, int expected)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/fips186-dsa.c:333,1
    - Dst: info
      Src: /src/libgcrypt/tests/fips186-dsa.c:336,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/fips186-dsa.c:342,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fips186-dsa.c:343,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fips186-dsa.c:347,1
    - Dst: die
      Src: /src/libgcrypt/tests/fips186-dsa.c:350,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fips186-dsa.c:350,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/fips186-dsa.c:352,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fips186-dsa.c:353,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/fips186-dsa.c:359,1
    - Dst: fail
      Src: /src/libgcrypt/tests/fips186-dsa.c:362,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fips186-dsa.c:362,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/fips186-dsa.c:367,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fips186-dsa.c:369,1
    - Dst: fail
      Src: /src/libgcrypt/tests/fips186-dsa.c:371,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fips186-dsa.c:373,1
    - Dst: fail
      Src: /src/libgcrypt/tests/fips186-dsa.c:375,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fips186-dsa.c:377,1
    - Dst: fail
      Src: /src/libgcrypt/tests/fips186-dsa.c:379,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fips186-dsa.c:380,1
    - Dst: fail
      Src: /src/libgcrypt/tests/fips186-dsa.c:382,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fips186-dsa.c:383,1
    - Dst: extract_cmp_mpi
      Src: /src/libgcrypt/tests/fips186-dsa.c:385,1
    - Dst: extract_cmp_mpi
      Src: /src/libgcrypt/tests/fips186-dsa.c:386,1
    - Dst: extract_cmp_mpi
      Src: /src/libgcrypt/tests/fips186-dsa.c:387,1
    - Dst: extract_cmp_data
      Src: /src/libgcrypt/tests/fips186-dsa.c:389,1
    - Dst: extract_cmp_int
      Src: /src/libgcrypt/tests/fips186-dsa.c:390,1
    - Dst: extract_cmp_mpi
      Src: /src/libgcrypt/tests/fips186-dsa.c:391,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fips186-dsa.c:393,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fips186-dsa.c:394,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fips186-dsa.c:395,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fips186-dsa.c:396,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 398
    functionName: check_dsa_gen_186_2
    functionSourceFile: /src/libgcrypt/tests/fips186-dsa.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - gcry_pk_genkey
    - fail
    - show_sexp
    - extract_cmp_int
    - DIM
    - info
    - data_from_hex
    - gcry_sexp_find_token
    - extract_cmp_mpi
    - fprintf
    - gpg_strerror
    - gcry_sexp_release
    - extract_cmp_data
    - die
    - gcry_sexp_build
    linkageType: ''
    returnType: void
    signature: void check_dsa_gen_186_2 (void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/fips186-dsa.c:492,1
    - Dst: info
      Src: /src/libgcrypt/tests/fips186-dsa.c:495,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/fips186-dsa.c:501,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/fips186-dsa.c:502,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/fips186-dsa.c:507,1
    - Dst: die
      Src: /src/libgcrypt/tests/fips186-dsa.c:510,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fips186-dsa.c:510,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/fips186-dsa.c:512,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fips186-dsa.c:513,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/fips186-dsa.c:519,1
    - Dst: fail
      Src: /src/libgcrypt/tests/fips186-dsa.c:522,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/fips186-dsa.c:522,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/fips186-dsa.c:527,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fips186-dsa.c:529,1
    - Dst: fail
      Src: /src/libgcrypt/tests/fips186-dsa.c:531,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fips186-dsa.c:533,1
    - Dst: fail
      Src: /src/libgcrypt/tests/fips186-dsa.c:535,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fips186-dsa.c:537,1
    - Dst: fail
      Src: /src/libgcrypt/tests/fips186-dsa.c:539,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/fips186-dsa.c:540,1
    - Dst: fail
      Src: /src/libgcrypt/tests/fips186-dsa.c:542,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fips186-dsa.c:543,1
    - Dst: extract_cmp_mpi
      Src: /src/libgcrypt/tests/fips186-dsa.c:545,1
    - Dst: extract_cmp_mpi
      Src: /src/libgcrypt/tests/fips186-dsa.c:546,1
    - Dst: extract_cmp_data
      Src: /src/libgcrypt/tests/fips186-dsa.c:548,1
    - Dst: extract_cmp_int
      Src: /src/libgcrypt/tests/fips186-dsa.c:549,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fips186-dsa.c:551,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fips186-dsa.c:552,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fips186-dsa.c:553,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/fips186-dsa.c:554,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 556
    functionName: check_dsa_gen_186_3
    functionSourceFile: /src/libgcrypt/tests/fips186-dsa.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - gcry_pk_genkey
    - fail
    - show_sexp
    - extract_cmp_int
    - DIM
    - info
    - data_from_hex
    - gcry_sexp_find_token
    - extract_cmp_mpi
    - fprintf
    - gpg_strerror
    - gcry_sexp_release
    - extract_cmp_data
    - die
    - gcry_sexp_build
    linkageType: ''
    returnType: void
    signature: void check_dsa_gen_186_3 (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fips186-dsa.c:562,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/fips186-dsa.c:564,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/fips186-dsa.c:570,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/fips186-dsa.c:571,1
    - Dst: die
      Src: /src/libgcrypt/tests/fips186-dsa.c:572,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/fips186-dsa.c:573,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/fips186-dsa.c:575,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/fips186-dsa.c:577,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/fips186-dsa.c:580,1
    - Dst: check_dsa_gen_186_2
      Src: /src/libgcrypt/tests/fips186-dsa.c:583,1
    - Dst: check_dsa_gen_186_3
      Src: /src/libgcrypt/tests/fips186-dsa.c:584,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 559
    functionDepth: 4
    functionLinenumber: 559
    functionLinenumberEnd: 588
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/fips186-dsa.c
    functionUses: 11
    functionsReached:
    - gcry_check_version
    - check_dsa_gen_186_2
    - strcmp
    - xgcry_control
    - gcry_fips_mode_active
    - die
    - check_dsa_gen_186_3
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-sexp.c:47,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-sexp.c:47,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-sexp.c:51,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-sexp.c:51,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/t-sexp.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: hex2buffer
    functionSourceFile: /src/libgcrypt/tests/t-sexp.c
    functionUses: 22
    functionsReached:
    - hexdigitp
    - xmalloc
    - xtoi_2
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void *

      hex2buffer (const char *string, size_t *r_length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/t-sexp.c:66,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-sexp.c:68,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: hex2mpi
    functionSourceFile: /src/libgcrypt/tests/t-sexp.c
    functionUses: 0
    functionsReached:
    - die
    - gpg_strerror
    - gcry_mpi_scan
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t hex2mpi (const char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-sexp.c:79,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-sexp.c:81,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/libgcrypt/tests/t-sexp.c:82,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-sexp.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: hex2mpiopa
    functionSourceFile: /src/libgcrypt/tests/t-sexp.c
    functionUses: 0
    functionsReached:
    - die
    - hex2buffer
    - gcry_mpi_set_opaque
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t hex2mpiopa (const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/t-sexp.c:96,1
    - Dst: hex2mpiopa
      Src: /src/libgcrypt/tests/t-sexp.c:97,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-sexp.c:99,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/t-sexp.c:100,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-sexp.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gcry_mpi_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: cmp_mpihex
    functionSourceFile: /src/libgcrypt/tests/t-sexp.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_get_flag
    - hex2mpi
    - hex2mpiopa
    - gcry_mpi_cmp
    - gcry_mpi_release
    linkageType: ''
    returnType: int
    signature: int cmp_mpihex (gcry_mpi_t a, const char *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-sexp.c:120,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-sexp.c:122,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-sexp.c:125,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-sexp.c:126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - a
    - alen
    - b
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 128
    functionName: cmp_bufhex
    functionSourceFile: /src/libgcrypt/tests/t-sexp.c
    functionUses: 0
    functionsReached:
    - die
    - hex2buffer
    - xfree
    - memcmp
    linkageType: ''
    returnType: int
    signature: int cmp_bufhex (const void *a, size_t alen, const char *b)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-sexp.c:155,1
    - Dst: gcry_xmalloc_secure
      Src: /src/libgcrypt/tests/t-sexp.c:158,1
    - Dst: memset
      Src: /src/libgcrypt/tests/t-sexp.c:159,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-sexp.c:171,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-sexp.c:172,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-sexp.c:174,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:175,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-sexp.c:178,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-sexp.c:185,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-sexp.c:186,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-sexp.c:189,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:190,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-sexp.c:193,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-sexp.c:200,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-sexp.c:201,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-sexp.c:204,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:205,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-sexp.c:208,1
    - Dst: gcry_is_secure
      Src: /src/libgcrypt/tests/t-sexp.c:209,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:210,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/t-sexp.c:217,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:220,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-sexp.c:226,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-sexp.c:227,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-sexp.c:230,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:231,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-sexp.c:234,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:235,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-sexp.c:255,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-sexp.c:255,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:258,1
    - Dst: gcry_sexp_nth_data
      Src: /src/libgcrypt/tests/t-sexp.c:262,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:265,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:266,1
    - Dst: gcry_sexp_cdr
      Src: /src/libgcrypt/tests/t-sexp.c:271,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:274,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:275,1
    - Dst: gcry_sexp_nth_data
      Src: /src/libgcrypt/tests/t-sexp.c:279,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:280,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:283,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:284,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-sexp.c:290,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-sexp.c:290,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:291,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:294,1
    - Dst: gcry_sexp_nth_data
      Src: /src/libgcrypt/tests/t-sexp.c:297,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:300,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:301,1
    - Dst: gcry_sexp_nth_data
      Src: /src/libgcrypt/tests/t-sexp.c:305,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:308,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:309,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/t-sexp.c:314,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:315,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:318,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-sexp.c:321,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:324,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:327,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-sexp.c:330,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 116
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 331
    functionName: basic
    functionSourceFile: /src/libgcrypt/tests/t-sexp.c
    functionUses: 1
    functionsReached:
    - gcry_sexp_nth_mpi
    - gcry_free
    - fail
    - strlen
    - gcry_sexp_find_token
    - info
    - gcry_sexp_cdr
    - gcry_xmalloc_secure
    - gcry_is_secure
    - memset
    - gcry_sexp_nth_data
    - gcry_sexp_release
    - gcry_mpi_set_ui
    - gcry_sexp_build
    - gcry_sexp_new
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void basic (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-sexp.c:365,1
    - Dst: gcry_sexp_canon_len
      Src: /src/libgcrypt/tests/t-sexp.c:368,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:377,1
    - Dst: gcry_err_code
      Src: /src/libgcrypt/tests/t-sexp.c:379,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:380,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:384,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 387
    functionName: canon_len
    functionSourceFile: /src/libgcrypt/tests/t-sexp.c
    functionUses: 61
    functionsReached:
    - gcry_err_code
    - info
    - gcry_sexp_canon_len
    - fail
    linkageType: ''
    returnType: void
    signature: void canon_len (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/t-sexp.c:399,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:402,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/t-sexp.c:405,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/t-sexp.c:406,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:409,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-sexp.c:410,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-sexp.c:413,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-sexp.c:415,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-sexp.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - se
    - canon
    - canonlen
    argTypes:
    - gcry_sexp_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 420
    functionName: compare_to_canon
    functionSourceFile: /src/libgcrypt/tests/t-sexp.c
    functionUses: 0
    functionsReached:
    - fail
    - gcry_xmalloc
    - memcmp
    - xfree
    - gcry_sexp_sprint
    linkageType: ''
    returnType: int
    signature: int compare_to_canon (gcry_sexp_t se, const unsigned char *canon, size_t
      canonlen)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/t-sexp.c:433,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:436,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:436,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/t-sexp.c:439,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:442,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/t-sexp.c:445,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/t-sexp.c:446,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:449,1
    - Dst: gcry_malloc
      Src: /src/libgcrypt/tests/t-sexp.c:453,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/t-sexp.c:454,1
    - Dst: gcry_sexp_create
      Src: /src/libgcrypt/tests/t-sexp.c:455,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:458,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:459,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:462,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/t-sexp.c:465,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/t-sexp.c:468,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:471,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:475,1
    - Dst: gcry_sexp_create
      Src: /src/libgcrypt/tests/t-sexp.c:476,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:479,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:480,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:484,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:485,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:487,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-sexp.c:488,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/t-sexp.c:491,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:494,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/t-sexp.c:497,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/t-sexp.c:498,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:501,1
    - Dst: gcry_sexp_create
      Src: /src/libgcrypt/tests/t-sexp.c:504,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:507,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:508,1
    - Dst: compare_to_canon
      Src: /src/libgcrypt/tests/t-sexp.c:511,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:513,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:514,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:517,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:522,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-sexp.c:523,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 70
    argCount: 3
    argNames:
    - testno
    - buffer
    - length
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 524
    functionName: back_and_forth_one
    functionSourceFile: /src/libgcrypt/tests/t-sexp.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - gcry_sexp_create
    - fail
    - compare_to_canon
    - gcry_xmalloc
    - gpg_strerror
    - memcpy
    - gcry_sexp_release
    - gcry_sexp_sprint
    - xfree
    - gcry_malloc
    - gcry_sexp_new
    linkageType: ''
    returnType: void
    signature: void back_and_forth_one (int testno, const char *buffer, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back_and_forth_one
      Src: /src/libgcrypt/tests/t-sexp.c:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 559
    functionName: back_and_forth
    functionSourceFile: /src/libgcrypt/tests/t-sexp.c
    functionUses: 0
    functionsReached:
    - back_and_forth_one
    linkageType: ''
    returnType: void
    signature: void back_and_forth (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-sexp.c:594,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/t-sexp.c:597,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-sexp.c:599,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/t-sexp.c:600,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:601,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:601,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 604
    functionName: check_sscan
    functionSourceFile: /src/libgcrypt/tests/t-sexp.c
    functionUses: 0
    functionsReached:
    - fail
    - strlen
    - info
    - gcry_sexp_sscan
    - gpg_err_code
    - gpg_strerror
    - gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: void check_sscan (void)
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-sexp.c:836,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/t-sexp.c:839,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-sexp.c:841,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:841,1
    - Dst: memset
      Src: /src/libgcrypt/tests/t-sexp.c:843,1
    - Dst: gcry_sexp_extract_param
      Src: /src/libgcrypt/tests/t-sexp.c:847,1
    - Dst: gcry_sexp_extract_param
      Src: /src/libgcrypt/tests/t-sexp.c:851,1
    - Dst: gcry_sexp_extract_param
      Src: /src/libgcrypt/tests/t-sexp.c:855,1
    - Dst: gcry_sexp_extract_param
      Src: /src/libgcrypt/tests/t-sexp.c:859,1
    - Dst: gcry_sexp_extract_param
      Src: /src/libgcrypt/tests/t-sexp.c:863,1
    - Dst: gcry_sexp_extract_param
      Src: /src/libgcrypt/tests/t-sexp.c:867,1
    - Dst: gcry_sexp_extract_param
      Src: /src/libgcrypt/tests/t-sexp.c:872,1
    - Dst: gcry_sexp_extract_param
      Src: /src/libgcrypt/tests/t-sexp.c:877,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-sexp.c:882,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/t-sexp.c:888,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:889,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:891,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:891,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:896,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:897,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-sexp.c:901,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-sexp.c:913,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:923,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:926,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-sexp.c:928,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:930,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/t-sexp.c:931,1
    - Dst: gcry_log_debugmpi
      Src: /src/libgcrypt/tests/t-sexp.c:932,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:935,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:936,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-sexp.c:941,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-sexp.c:942,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:943,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-sexp.c:946,1
    - Dst: memset
      Src: /src/libgcrypt/tests/t-sexp.c:948,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/t-sexp.c:950,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-sexp.c:952,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:952,1
    - Dst: assert
      Src: /src/libgcrypt/tests/t-sexp.c:960,1
    - Dst: gcry_sexp_extract_param
      Src: /src/libgcrypt/tests/t-sexp.c:961,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:964,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:964,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:968,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:970,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:972,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:974,1
    - Dst: cmp_bufhex
      Src: /src/libgcrypt/tests/t-sexp.c:975,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:977,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/t-sexp.c:978,1
    - Dst: gcry_log_debughex
      Src: /src/libgcrypt/tests/t-sexp.c:979,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:983,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:985,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:987,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:989,1
    - Dst: cmp_bufhex
      Src: /src/libgcrypt/tests/t-sexp.c:990,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:993,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/t-sexp.c:994,1
    - Dst: gcry_log_debughex
      Src: /src/libgcrypt/tests/t-sexp.c:995,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1001,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1003,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1005,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1007,1
    - Dst: cmp_bufhex
      Src: /src/libgcrypt/tests/t-sexp.c:1008,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1011,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/t-sexp.c:1012,1
    - Dst: gcry_log_debughex
      Src: /src/libgcrypt/tests/t-sexp.c:1013,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-sexp.c:1018,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:1021,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-sexp.c:1023,1
    - Dst: memset
      Src: /src/libgcrypt/tests/t-sexp.c:1025,1
    - Dst: memset
      Src: /src/libgcrypt/tests/t-sexp.c:1026,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/t-sexp.c:1028,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-sexp.c:1030,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:1030,1
    - Dst: gcry_sexp_extract_param
      Src: /src/libgcrypt/tests/t-sexp.c:1032,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1036,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:1036,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1039,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1041,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1043,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1045,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-sexp.c:1046,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1048,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/t-sexp.c:1049,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/t-sexp.c:1050,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1055,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-sexp.c:1056,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1058,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/t-sexp.c:1059,1
    - Dst: gcry_log_debugmpi
      Src: /src/libgcrypt/tests/t-sexp.c:1060,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-sexp.c:1063,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-sexp.c:1064,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-sexp.c:1066,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1068,1
    - Dst: gcry_sexp_nth_string
      Src: /src/libgcrypt/tests/t-sexp.c:1071,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1074,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-sexp.c:1077,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1078,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-sexp.c:1079,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:1082,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-sexp.c:1085,1
    - Dst: memset
      Src: /src/libgcrypt/tests/t-sexp.c:1087,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:1089,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/t-sexp.c:1090,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-sexp.c:1092,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:1092,1
    - Dst: gcry_sexp_extract_param
      Src: /src/libgcrypt/tests/t-sexp.c:1094,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1105,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:1105,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1108,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-sexp.c:1109,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1111,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/t-sexp.c:1112,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/t-sexp.c:1113,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1117,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-sexp.c:1118,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1120,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/t-sexp.c:1121,1
    - Dst: gcry_log_debugmpi
      Src: /src/libgcrypt/tests/t-sexp.c:1122,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1126,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1128,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1130,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1132,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1134,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1136,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1138,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1140,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-sexp.c:1143,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-sexp.c:1144,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-sexp.c:1145,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-sexp.c:1148,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:1150,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/t-sexp.c:1151,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-sexp.c:1153,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:1153,1
    - Dst: gcry_sexp_extract_param
      Src: /src/libgcrypt/tests/t-sexp.c:1155,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1160,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-sexp.c:1160,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1163,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-sexp.c:1164,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1166,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/t-sexp.c:1167,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/t-sexp.c:1168,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1172,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-sexp.c:1173,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1175,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/t-sexp.c:1176,1
    - Dst: gcry_log_debug
      Src: /src/libgcrypt/tests/t-sexp.c:1177,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-sexp.c:1180,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-sexp.c:1181,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:1184,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 255
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ioarray[2].off < sizeof iobuffer)
      pos:
        line_end: 959
        line_start: 959
        source_file: /src/libgcrypt/tests/t-sexp.c
    constantsTouched: []
    func_position:
      end: 1185
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 1185
    functionName: check_extract_param
    functionSourceFile: /src/libgcrypt/tests/t-sexp.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_find_token
    - gcry_sexp_nth_string
    - gcry_log_debug
    - DIM
    - gcry_sexp_release
    - die
    - strncmp
    - gcry_log_debughex
    - assert
    - cmp_mpihex
    - info
    - gcry_sexp_extract_param
    - strcmp
    - memset
    - gpg_strerror
    - xfree
    - cmp_bufhex
    - gcry_sexp_new
    - gcry_mpi_release
    - gcry_free
    - fail
    - gpg_err_code
    - gcry_log_debugmpi
    linkageType: ''
    returnType: void
    signature: void check_extract_param (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-sexp.c:1216,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/t-sexp.c:1218,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-sexp.c:1219,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-sexp.c:1220,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:1221,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1224,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-sexp.c:1227,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1230,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:1231,1
    - Dst: gcry_sexp_nth
      Src: /src/libgcrypt/tests/t-sexp.c:1234,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1242,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:1244,1
    - Dst: gcry_sexp_nth
      Src: /src/libgcrypt/tests/t-sexp.c:1245,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1247,1
    - Dst: gcry_sexp_nth
      Src: /src/libgcrypt/tests/t-sexp.c:1248,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1250,1
    - Dst: gcry_sexp_nth
      Src: /src/libgcrypt/tests/t-sexp.c:1252,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-sexp.c:1253,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:1254,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:1255,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-sexp.c:1256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1257
    functionName: bug_1594
    functionSourceFile: /src/libgcrypt/tests/t-sexp.c
    functionUses: 0
    functionsReached:
    - fail
    - gcry_sexp_find_token
    - info
    - gcry_sexp_release
    - die
    - gcry_sexp_new
    - gcry_sexp_nth
    linkageType: ''
    returnType: void
    signature: void bug_1594 (void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-sexp.c:1273,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-sexp.c:1278,1
    - Dst: puts
      Src: /src/libgcrypt/tests/t-sexp.c:1280,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-sexp.c:1287,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-sexp.c:1289,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-sexp.c:1294,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-sexp.c:1299,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/t-sexp.c:1304,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-sexp.c:1308,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-sexp.c:1309,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-sexp.c:1313,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-sexp.c:1314,1
    - Dst: getenv
      Src: /src/libgcrypt/tests/t-sexp.c:1315,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-sexp.c:1317,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-sexp.c:1321,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-sexp.c:1323,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-sexp.c:1324,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-sexp.c:1327,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-sexp.c:1327,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-sexp.c:1328,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-sexp.c:1329,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-sexp.c:1330,1
    - Dst: basic
      Src: /src/libgcrypt/tests/t-sexp.c:1334,1
    - Dst: canon_len
      Src: /src/libgcrypt/tests/t-sexp.c:1335,1
    - Dst: back_and_forth
      Src: /src/libgcrypt/tests/t-sexp.c:1336,1
    - Dst: check_sscan
      Src: /src/libgcrypt/tests/t-sexp.c:1337,1
    - Dst: check_extract_param
      Src: /src/libgcrypt/tests/t-sexp.c:1338,1
    - Dst: bug_1594
      Src: /src/libgcrypt/tests/t-sexp.c:1339,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1260
    functionDepth: 3
    functionLinenumber: 1260
    functionLinenumberEnd: 1344
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-sexp.c
    functionUses: 11
    functionsReached:
    - canon_len
    - back_and_forth
    - atoi
    - gcry_check_version
    - getenv
    - exit
    - check_extract_param
    - strcmp
    - puts
    - check_sscan
    - xgcry_control
    - fputs
    - die
    - bug_1594
    - strncmp
    - basic
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/t-ed25519.c:47,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-ed25519.c:48,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-ed25519.c:50,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/t-ed25519.c:51,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/t-ed25519.c:52,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-ed25519.c:53,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-ed25519.c:54,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/t-ed25519.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: show_note
    functionSourceFile: /src/libgcrypt/tests/t-ed25519.c
    functionUses: 12
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - getenv
    - fprintf
    - va_start
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: void show_note (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-ed25519.c:65,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-ed25519.c:67,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/t-ed25519.c:68,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-ed25519.c:69,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/t-ed25519.c:71,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-ed25519.c:72,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-ed25519.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - prefix
    - a
    argTypes:
    - char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: show_sexp
    functionSourceFile: /src/libgcrypt/tests/t-ed25519.c
    functionUses: 10
    functionsReached:
    - gcry_free
    - fprintf
    - xmalloc
    - fputs
    - gcry_sexp_sprint
    linkageType: ''
    returnType: void
    signature: void show_sexp (const char *prefix, gcry_sexp_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/t-ed25519.c:85,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-ed25519.c:88,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-ed25519.c:88,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-ed25519.c:88,1
    - Dst: strcpy
      Src: /src/libgcrypt/tests/t-ed25519.c:89,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/t-ed25519.c:90,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/t-ed25519.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: prepend_srcdir
    functionSourceFile: /src/libgcrypt/tests/t-ed25519.c
    functionUses: 15
    functionsReached:
    - strlen
    - getenv
    - xmalloc
    - strcpy
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      prepend_srcdir (const char *fname)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/libgcrypt/tests/t-ed25519.c:106,1
    - Dst: feof
      Src: /src/libgcrypt/tests/t-ed25519.c:108,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-ed25519.c:110,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-ed25519.c:110,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-ed25519.c:113,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-ed25519.c:115,1
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/t-ed25519.c:117,1
    - Dst: isspace
      Src: /src/libgcrypt/tests/t-ed25519.c:117,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-ed25519.c:123,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - fp
    - lineno
    argTypes:
    - FILE*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 124
    functionName: read_textline
    functionSourceFile: /src/libgcrypt/tests/t-ed25519.c
    functionUses: 10
    functionsReached:
    - my_isascii
    - feof
    - strchr
    - isspace
    - xstrdup
    - die
    - fgets
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      read_textline (FILE *fp, int *lineno)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed25519.c:134,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-ed25519.c:137,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed25519.c:140,1
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/t-ed25519.c:143,1
    - Dst: isspace
      Src: /src/libgcrypt/tests/t-ed25519.c:143,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-ed25519.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buffer
    - line
    - lineno
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 146
    functionName: copy_data
    functionSourceFile: /src/libgcrypt/tests/t-ed25519.c
    functionUses: 7
    functionsReached:
    - my_isascii
    - fail
    - strchr
    - xfree
    - isspace
    - xstrdup
    linkageType: ''
    returnType: void
    signature: void copy_data (char **buffer, const char *line, int lineno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-ed25519.c:161,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-ed25519.c:161,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-ed25519.c:165,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-ed25519.c:165,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/t-ed25519.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 171
    functionName: hex2buffer
    functionSourceFile: /src/libgcrypt/tests/t-ed25519.c
    functionUses: 24
    functionsReached:
    - hexdigitp
    - xmalloc
    - xtoi_2
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void *

      hex2buffer (const char *string, size_t *r_length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/t-ed25519.c:180,1
    - Dst: tolower
      Src: /src/libgcrypt/tests/t-ed25519.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: hexdowncase
    functionSourceFile: /src/libgcrypt/tests/t-ed25519.c
    functionUses: 1
    functionsReached:
    - tolower
    - my_isascii
    linkageType: ''
    returnType: void
    signature: void hexdowncase (char *string)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-ed25519.c:207,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-ed25519.c:209,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed25519.c:211,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-ed25519.c:215,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed25519.c:217,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-ed25519.c:222,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-ed25519.c:232,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed25519.c:241,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ed25519.c:242,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-ed25519.c:246,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed25519.c:253,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ed25519.c:254,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed25519.c:258,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-ed25519.c:259,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed25519.c:261,1
    - Dst: gcry_pk_input_data_push
      Src: /src/libgcrypt/tests/t-ed25519.c:265,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed25519.c:268,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ed25519.c:269,1
    - Dst: gcry_pk_hash_sign
      Src: /src/libgcrypt/tests/t-ed25519.c:274,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed25519.c:277,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ed25519.c:277,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed25519.c:281,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ed25519.c:281,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/t-ed25519.c:283,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-ed25519.c:286,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-ed25519.c:290,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ed25519.c:293,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-ed25519.c:295,1
    - Dst: gcry_sexp_nth_buffer
      Src: /src/libgcrypt/tests/t-ed25519.c:298,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ed25519.c:299,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-ed25519.c:301,1
    - Dst: gcry_sexp_nth_buffer
      Src: /src/libgcrypt/tests/t-ed25519.c:304,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ed25519.c:305,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ed25519.c:309,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed25519.c:312,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-ed25519.c:315,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-ed25519.c:319,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-ed25519.c:321,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ed25519.c:322,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed25519.c:324,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-ed25519.c:326,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-ed25519.c:327,1
    - Dst: gcry_pk_hash_verify
      Src: /src/libgcrypt/tests/t-ed25519.c:332,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed25519.c:333,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ed25519.c:334,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-ed25519.c:337,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ed25519.c:338,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ed25519.c:339,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ed25519.c:340,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed25519.c:341,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed25519.c:342,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed25519.c:343,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed25519.c:344,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed25519.c:345,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 100
    argCount: 5
    argNames:
    - testno
    - sk
    - pk
    - msg
    - sig
    argTypes:
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 346
    functionName: one_test
    functionSourceFile: /src/libgcrypt/tests/t-ed25519.c
    functionUses: 2
    functionsReached:
    - fail
    - show_sexp
    - gcry_sexp_nth_buffer
    - snprintf
    - hex2buffer
    - info
    - gcry_sexp_find_token
    - gcry_pk_hash_verify
    - gcry_ctx_release
    - strcmp
    - xmalloc
    - gpg_strerror
    - xfree
    - gcry_pk_input_data_push
    - gcry_sexp_release
    - gcry_sexp_build
    - gcry_pk_hash_sign
    linkageType: ''
    returnType: void
    signature: "void one_test (int testno, const char *sk, const char *pk,\n          const
      char *msg, const char *sig)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-ed25519.c:358,1
    - Dst: fopen
      Src: /src/libgcrypt/tests/t-ed25519.c:360,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-ed25519.c:362,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-ed25519.c:362,1
    - Dst: read_textline
      Src: /src/libgcrypt/tests/t-ed25519.c:367,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ed25519.c:369,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/t-ed25519.c:370,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ed25519.c:371,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-ed25519.c:372,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ed25519.c:373,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-ed25519.c:374,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ed25519.c:375,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-ed25519.c:376,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ed25519.c:377,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-ed25519.c:378,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed25519.c:380,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed25519.c:382,1
    - Dst: hexdowncase
      Src: /src/libgcrypt/tests/t-ed25519.c:385,1
    - Dst: one_test
      Src: /src/libgcrypt/tests/t-ed25519.c:386,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-ed25519.c:389,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed25519.c:390,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed25519.c:391,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed25519.c:392,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed25519.c:393,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed25519.c:397,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed25519.c:398,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed25519.c:399,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed25519.c:400,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed25519.c:403,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-ed25519.c:405,1
    - Dst: fclose
      Src: /src/libgcrypt/tests/t-ed25519.c:407,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 408
    functionName: check_ed25519
    functionSourceFile: /src/libgcrypt/tests/t-ed25519.c
    functionUses: 0
    functionsReached:
    - atoi
    - fail
    - one_test
    - show_note
    - fclose
    - read_textline
    - info
    - copy_data
    - xfree
    - fopen
    - die
    - hexdowncase
    - strncmp
    - strerror
    linkageType: ''
    returnType: void
    signature: void check_ed25519 (const char *fname)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ed25519.c:423,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ed25519.c:428,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-ed25519.c:430,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-ed25519.c:438,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ed25519.c:440,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ed25519.c:445,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ed25519.c:451,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ed25519.c:456,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ed25519.c:461,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed25519.c:466,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-ed25519.c:467,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ed25519.c:471,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ed25519.c:476,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-ed25519.c:477,1
    - Dst: prepend_srcdir
      Src: /src/libgcrypt/tests/t-ed25519.c:482,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-ed25519.c:486,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-ed25519.c:487,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-ed25519.c:488,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-ed25519.c:490,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-ed25519.c:493,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-ed25519.c:494,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-ed25519.c:496,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-ed25519.c:497,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/t-ed25519.c:499,1
    - Dst: check_ed25519
      Src: /src/libgcrypt/tests/t-ed25519.c:500,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/t-ed25519.c:501,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed25519.c:503,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-ed25519.c:505,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/t-ed25519.c:506,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 75
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 508
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-ed25519.c
    functionUses: 11
    functionsReached:
    - check_ed25519
    - elapsed_time
    - start_timer
    - gcry_check_version
    - exit
    - info
    - strcmp
    - prepend_srcdir
    - xfree
    - fputs
    - xstrdup
    - die
    - xgcry_control
    - strncmp
    - stop_timer
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/hashtest.c:290,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/hashtest.c:291,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/hashtest.c:292,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/hashtest.c:293,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/hashtest.c:296,1
    - Dst: putc
      Src: /src/libgcrypt/tests/hashtest.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - buffer
    - buflen
    - format
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 298
    functionName: showhex
    functionSourceFile: /src/libgcrypt/tests/hashtest.c
    functionUses: 5
    functionsReached:
    - va_end
    - vfprintf
    - fprintf
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void showhex (const void *buffer, size_t buflen, const char *format,
      ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/hashtest.c:306,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/hashtest.c:307,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/hashtest.c:309,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/hashtest.c:310,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/hashtest.c:311,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/hashtest.c:312,1
    - Dst: putc
      Src: /src/libgcrypt/tests/hashtest.c:313,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/hashtest.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 315
    functionName: show_note
    functionSourceFile: /src/libgcrypt/tests/hashtest.c
    functionUses: 13
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - getenv
    - fprintf
    - va_start
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: void show_note (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/hashtest.c:329,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/hashtest.c:329,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/hashtest.c:333,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/hashtest.c:333,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/hashtest.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 339
    functionName: hex2buffer
    functionSourceFile: /src/libgcrypt/tests/hashtest.c
    functionUses: 25
    functionsReached:
    - hexdigitp
    - xmalloc
    - xtoi_2
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void *

      hex2buffer (const char *string, size_t *r_length)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_algo_info
      Src: /src/libgcrypt/tests/hashtest.c:349,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/hashtest.c:350,1
    - Dst: fail
      Src: /src/libgcrypt/tests/hashtest.c:351,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/hashtest.c:352,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/hashtest.c:352,1
    - Dst: info
      Src: /src/libgcrypt/tests/hashtest.c:354,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/hashtest.c:355,1
    - Dst: info
      Src: /src/libgcrypt/tests/hashtest.c:357,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/hashtest.c:358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 359
    functionName: run_selftest
    functionSourceFile: /src/libgcrypt/tests/hashtest.c
    functionUses: 0
    functionsReached:
    - fail
    - gcry_md_algo_name
    - gcry_md_algo_info
    - info
    - gpg_strerror
    - gpg_err_code
    linkageType: ''
    returnType: void
    signature: void run_selftest (int algo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/hashtest.c:381,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/hashtest.c:382,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/hashtest.c:387,1
    - Dst: fail
      Src: /src/libgcrypt/tests/hashtest.c:390,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/hashtest.c:391,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/hashtest.c:392,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/hashtest.c:395,1
    - Dst: fail
      Src: /src/libgcrypt/tests/hashtest.c:397,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/hashtest.c:398,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/hashtest.c:399,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/hashtest.c:402,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 5
    argNames:
    - digest
    - digestlen
    - algo
    - gigs
    - bytes
    argTypes:
    - unsigned char*
    - size_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 405
    functionName: cmp_digest
    functionSourceFile: /src/libgcrypt/tests/hashtest.c
    functionUses: 0
    functionsReached:
    - fail
    - gcry_md_algo_name
    - hex2buffer
    - info
    - memcmp
    - xfree
    linkageType: ''
    returnType: int
    signature: "int cmp_digest (const unsigned char *digest, size_t digestlen,\n            int
      algo, int gigs, int bytes)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/tests/hashtest.c:425,1
    - Dst: malloc
      Src: /src/libgcrypt/tests/hashtest.c:433,1
    - Dst: memset
      Src: /src/libgcrypt/tests/hashtest.c:435,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/hashtest.c:437,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/hashtest.c:438,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/hashtest.c:441,1
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/hashtest.c:450,1
    - Dst: fail
      Src: /src/libgcrypt/tests/hashtest.c:453,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/hashtest.c:454,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/hashtest.c:454,1
    - Dst: free
      Src: /src/libgcrypt/tests/hashtest.c:455,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/hashtest.c:459,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/hashtest.c:469,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/hashtest.c:470,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/hashtest.c:475,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/hashtest.c:477,1
    - Dst: gcry_md_copy
      Src: /src/libgcrypt/tests/hashtest.c:478,1
    - Dst: gcry_md_copy
      Src: /src/libgcrypt/tests/hashtest.c:480,1
    - Dst: die
      Src: /src/libgcrypt/tests/hashtest.c:482,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/hashtest.c:483,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/hashtest.c:483,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/hashtest.c:484,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/hashtest.c:490,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/hashtest.c:497,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/hashtest.c:503,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/hashtest.c:503,1
    - Dst: gcry_md_copy
      Src: /src/libgcrypt/tests/hashtest.c:505,1
    - Dst: die
      Src: /src/libgcrypt/tests/hashtest.c:507,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/hashtest.c:508,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/hashtest.c:508,1
    - Dst: gcry_md_copy
      Src: /src/libgcrypt/tests/hashtest.c:509,1
    - Dst: die
      Src: /src/libgcrypt/tests/hashtest.c:511,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/hashtest.c:512,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/hashtest.c:512,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/hashtest.c:514,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/hashtest.c:515,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/hashtest.c:516,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/hashtest.c:517,1
    - Dst: gcry_md_read
      Src: /src/libgcrypt/tests/hashtest.c:519,1
    - Dst: cmp_digest
      Src: /src/libgcrypt/tests/hashtest.c:520,1
    - Dst: showhex
      Src: /src/libgcrypt/tests/hashtest.c:521,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/hashtest.c:522,1
    - Dst: gcry_md_read
      Src: /src/libgcrypt/tests/hashtest.c:523,1
    - Dst: cmp_digest
      Src: /src/libgcrypt/tests/hashtest.c:524,1
    - Dst: showhex
      Src: /src/libgcrypt/tests/hashtest.c:525,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/hashtest.c:526,1
    - Dst: gcry_md_read
      Src: /src/libgcrypt/tests/hashtest.c:527,1
    - Dst: cmp_digest
      Src: /src/libgcrypt/tests/hashtest.c:528,1
    - Dst: showhex
      Src: /src/libgcrypt/tests/hashtest.c:529,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/hashtest.c:530,1
    - Dst: gcry_md_read
      Src: /src/libgcrypt/tests/hashtest.c:531,1
    - Dst: cmp_digest
      Src: /src/libgcrypt/tests/hashtest.c:532,1
    - Dst: showhex
      Src: /src/libgcrypt/tests/hashtest.c:533,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/hashtest.c:534,1
    - Dst: gcry_md_read
      Src: /src/libgcrypt/tests/hashtest.c:535,1
    - Dst: cmp_digest
      Src: /src/libgcrypt/tests/hashtest.c:536,1
    - Dst: showhex
      Src: /src/libgcrypt/tests/hashtest.c:537,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/hashtest.c:538,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/hashtest.c:540,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/hashtest.c:541,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/hashtest.c:542,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/hashtest.c:543,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/hashtest.c:544,1
    - Dst: free
      Src: /src/libgcrypt/tests/hashtest.c:546,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 90
    argCount: 2
    argNames:
    - algo
    - gigs
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 547
    functionName: run_longtest
    functionSourceFile: /src/libgcrypt/tests/hashtest.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - showhex
    - gcry_md_open
    - cmp_digest
    - fail
    - gcry_md_algo_name
    - show_note
    - gcry_md_get_algo_dlen
    - memset
    - malloc
    - gpg_strerror
    - die
    - gcry_md_copy
    - gcry_md_read
    - strerror
    - gcry_md_close
    - free
    linkageType: ''
    returnType: void
    signature: void run_longtest (int algo, int gigs)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/hashtest.c:564,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/hashtest.c:569,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/hashtest.c:571,1
    - Dst: exit
      Src: /src/libgcrypt/tests/hashtest.c:580,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/hashtest.c:582,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/hashtest.c:587,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/hashtest.c:593,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/hashtest.c:598,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/hashtest.c:603,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/hashtest.c:607,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/hashtest.c:613,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/hashtest.c:614,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/hashtest.c:622,1
    - Dst: die
      Src: /src/libgcrypt/tests/hashtest.c:623,1
    - Dst: die
      Src: /src/libgcrypt/tests/hashtest.c:627,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/hashtest.c:629,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/hashtest.c:630,1
    - Dst: die
      Src: /src/libgcrypt/tests/hashtest.c:631,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/hashtest.c:633,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/hashtest.c:634,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/hashtest.c:635,1
    - Dst: gcry_md_map_name
      Src: /src/libgcrypt/tests/hashtest.c:640,1
    - Dst: fail
      Src: /src/libgcrypt/tests/hashtest.c:642,1
    - Dst: exit
      Src: /src/libgcrypt/tests/hashtest.c:645,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/hashtest.c:648,1
    - Dst: gcry_md_test_algo
      Src: /src/libgcrypt/tests/hashtest.c:652,1
    - Dst: run_selftest
      Src: /src/libgcrypt/tests/hashtest.c:655,1
    - Dst: run_longtest
      Src: /src/libgcrypt/tests/hashtest.c:657,1
    - Dst: gcry_md_map_name
      Src: /src/libgcrypt/tests/hashtest.c:664,1
    - Dst: die
      Src: /src/libgcrypt/tests/hashtest.c:666,1
    - Dst: run_selftest
      Src: /src/libgcrypt/tests/hashtest.c:669,1
    - Dst: run_longtest
      Src: /src/libgcrypt/tests/hashtest.c:671,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/hashtest.c:674,1
    - Dst: fail
      Src: /src/libgcrypt/tests/hashtest.c:677,1
    - Dst: info
      Src: /src/libgcrypt/tests/hashtest.c:680,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/hashtest.c:681,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 94
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 550
    functionDepth: 3
    functionLinenumber: 550
    functionLinenumberEnd: 683
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/hashtest.c
    functionUses: 11
    functionsReached:
    - exit
    - xgcry_control
    - start_timer
    - die
    - strncmp
    - run_selftest
    - elapsed_time
    - gcry_check_version
    - info
    - gcry_control
    - strcmp
    - fprintf
    - gcry_md_map_name
    - gcry_md_test_algo
    - stop_timer
    - atoi
    - fail
    - fputs
    - run_longtest
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/t-mpi-point.c:155,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-mpi-point.c:157,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:158,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-mpi-point.c:161,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-mpi-point.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - text
    - text2
    - a
    argTypes:
    - char*
    - char*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: print_mpi_2
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 0
    functionsReached:
    - fprintf
    - gcry_free
    - gpg_strerror
    - gcry_mpi_aprint
    linkageType: ''
    returnType: void
    signature: void print_mpi_2 (const char *text, const char *text2, gcry_mpi_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_mpi_2
      Src: /src/libgcrypt/tests/t-mpi-point.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - text
    - a
    argTypes:
    - char*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: print_mpi
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 3
    functionsReached:
    - print_mpi_2
    linkageType: ''
    returnType: void
    signature: void print_mpi (const char *text, gcry_mpi_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:179,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:180,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:181,1
    - Dst: gcry_mpi_point_get
      Src: /src/libgcrypt/tests/t-mpi-point.c:182,1
    - Dst: print_mpi_2
      Src: /src/libgcrypt/tests/t-mpi-point.c:183,1
    - Dst: print_mpi_2
      Src: /src/libgcrypt/tests/t-mpi-point.c:184,1
    - Dst: print_mpi_2
      Src: /src/libgcrypt/tests/t-mpi-point.c:185,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:186,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:187,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - text
    - a
    argTypes:
    - char*
    - gcry_mpi_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 189
    functionName: print_point
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 0
    functionsReached:
    - print_mpi_2
    - gcry_mpi_new
    - gcry_mpi_release
    - gcry_mpi_point_get
    linkageType: ''
    returnType: void
    signature: void print_point (const char *text, gcry_mpi_point_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-mpi-point.c:199,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/t-mpi-point.c:200,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/t-mpi-point.c:201,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/t-mpi-point.c:203,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-mpi-point.c:204,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-mpi-point.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - prefix
    - a
    argTypes:
    - char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: print_sexp
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 7
    functionsReached:
    - gcry_free
    - gcry_xmalloc
    - fprintf
    - fputs
    - gcry_sexp_sprint
    linkageType: ''
    returnType: void
    signature: void print_sexp (const char *prefix, gcry_sexp_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/t-mpi-point.c:215,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:217,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: hex2mpi
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 1
    functionsReached:
    - die
    - gpg_strerror
    - gcry_mpi_scan
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t hex2mpi (const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-mpi-point.c:234,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-mpi-point.c:234,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-mpi-point.c:238,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-mpi-point.c:238,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/t-mpi-point.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 244
    functionName: hex2buffer
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 26
    functionsReached:
    - hexdigitp
    - xmalloc
    - xtoi_2
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void *

      hex2buffer (const char *string, size_t *r_length)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-mpi-point.c:254,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:256,1
    - Dst: gcry_mpi_set_opaque
      Src: /src/libgcrypt/tests/t-mpi-point.c:257,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 261
    functionName: hex2mpiopa
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 1
    functionsReached:
    - die
    - hex2buffer
    - gcry_mpi_set_opaque
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t hex2mpiopa (const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_get_flag
      Src: /src/libgcrypt/tests/t-mpi-point.c:271,1
    - Dst: hex2mpiopa
      Src: /src/libgcrypt/tests/t-mpi-point.c:272,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:274,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/t-mpi-point.c:275,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gcry_mpi_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 278
    functionName: cmp_mpihex
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 1
    functionsReached:
    - gcry_mpi_get_flag
    - hex2mpi
    - hex2mpiopa
    - gcry_mpi_cmp
    - gcry_mpi_release
    linkageType: ''
    returnType: int
    signature: int cmp_mpihex (gcry_mpi_t a, const char *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-mpi-point.c:290,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-mpi-point.c:292,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-mpi-point.c:294,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-mpi-point.c:296,1
    - Dst: gcry_mpi_ec_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:299,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - r_ctx
    - p
    - a
    argTypes:
    - gcry_ctx_t*
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 302
    functionName: ec_p_new
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_ec_new
    - gcry_sexp_build
    - gcry_sexp_release
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ec_p_new (gcry_ctx_t *r_ctx, gcry_mpi_t p, gcry_mpi_t a)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-point.c:313,1
    - Dst: gcry_mpi_point_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:315,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:316,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:317,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:318,1
    - Dst: gcry_mpi_point_get
      Src: /src/libgcrypt/tests/t-mpi-point.c:319,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:320,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:321,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:321,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:322,1
    - Dst: gcry_mpi_point_snatch_get
      Src: /src/libgcrypt/tests/t-mpi-point.c:323,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:325,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:326,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:326,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:327,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:328,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:329,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:330,1
    - Dst: gcry_mpi_point_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:332,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:333,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:334,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:335,1
    - Dst: gcry_mpi_point_set
      Src: /src/libgcrypt/tests/t-mpi-point.c:336,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:337,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:338,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:339,1
    - Dst: gcry_mpi_point_get
      Src: /src/libgcrypt/tests/t-mpi-point.c:340,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:341,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:342,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:342,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:343,1
    - Dst: gcry_mpi_point_snatch_set
      Src: /src/libgcrypt/tests/t-mpi-point.c:344,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:345,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:346,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:347,1
    - Dst: gcry_mpi_point_get
      Src: /src/libgcrypt/tests/t-mpi-point.c:348,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:349,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:350,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:350,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:351,1
    - Dst: gcry_mpi_point_copy
      Src: /src/libgcrypt/tests/t-mpi-point.c:353,1
    - Dst: gcry_mpi_point_get
      Src: /src/libgcrypt/tests/t-mpi-point.c:355,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:356,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:357,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:357,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:358,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:360,1
    - Dst: gcry_mpi_point_get
      Src: /src/libgcrypt/tests/t-mpi-point.c:362,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:363,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:364,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:364,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:365,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:367,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:369,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:370,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:371,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 372
    functionName: set_get_point
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_point_copy
    - fail
    - gcry_mpi_cmp_ui
    - gcry_mpi_point_snatch_set
    - gcry_mpi_point_new
    - info
    - gcry_mpi_point_snatch_get
    - gcry_mpi_point_release
    - gcry_mpi_point_get
    - gcry_mpi_set_ui
    - gcry_mpi_point_set
    - gcry_mpi_new
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void set_get_point (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-point.c:383,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:385,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:386,1
    - Dst: ec_p_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:387,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:389,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:389,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:390,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:391,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:392,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:395,1
    - Dst: ec_p_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:397,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/t-mpi-point.c:398,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:399,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:401,1
    - Dst: ec_p_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:403,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/t-mpi-point.c:404,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 407
    functionName: context_alloc
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 0
    functionsReached:
    - fail
    - info
    - gcry_ctx_release
    - gpg_strerror
    - gpg_err_code
    - gcry_mpi_release
    - die
    - gcry_mpi_set_ui
    - ec_p_new
    linkageType: ''
    returnType: void
    signature: void context_alloc (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_ec_get_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:416,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:419,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:423,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-mpi-point.c:424,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:426,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:427,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - name
    - mpistring
    - desc
    - ctx
    argTypes:
    - char*
    - char*
    - char*
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 432
    functionName: get_and_cmp_mpi
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 0
    functionsReached:
    - fail
    - cmp_mpihex
    - gcry_mpi_ec_get_mpi
    - print_mpi
    - gcry_mpi_release
    linkageType: ''
    returnType: int
    signature: "int get_and_cmp_mpi (const char *name, const char *mpistring, const
      char *desc,\n                 gcry_ctx_t ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_ec_get_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:444,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:447,1
    - Dst: print_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:451,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:453,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:454,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:455,1
    - Dst: gcry_mpi_point_snatch_get
      Src: /src/libgcrypt/tests/t-mpi-point.c:456,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-mpi-point.c:457,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:459,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-mpi-point.c:462,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:464,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-mpi-point.c:467,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:469,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:472,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:473,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 5
    argNames:
    - name
    - mpi_x_string
    - mpi_y_string
    - desc
    - ctx
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 435
    functionDepth: 3
    functionLinenumber: 435
    functionLinenumberEnd: 476
    functionName: get_and_cmp_point
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_ec_get_point
    - fail
    - cmp_mpihex
    - gcry_mpi_point_snatch_get
    - gcry_mpi_release
    - gcry_mpi_new
    - print_point
    linkageType: ''
    returnType: int
    signature: "int get_and_cmp_point (const char *name,\n                   const
      char *mpi_x_string, const char *mpi_y_string,\n                   const char
      *desc, gcry_ctx_t ctx)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-point.c:490,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/t-mpi-point.c:494,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mpi-point.c:496,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mpi-point.c:497,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-point.c:499,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:504,1
    - Dst: gcry_mpi_ec_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:505,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:508,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:509,1
    - Dst: get_and_cmp_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:512,1
    - Dst: get_and_cmp_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:514,1
    - Dst: get_and_cmp_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:516,1
    - Dst: get_and_cmp_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:518,1
    - Dst: get_and_cmp_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:520,1
    - Dst: get_and_cmp_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:522,1
    - Dst: get_and_cmp_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:524,1
    - Dst: get_and_cmp_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:527,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-point.c:532,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:533,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-mpi-point.c:534,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:538,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:538,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:539,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:548,1
    - Dst: gcry_mpi_ec_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:549,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:551,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:552,1
    - Dst: get_and_cmp_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:557,1
    - Dst: get_and_cmp_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:558,1
    - Dst: gcry_mpi_ec_set_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:562,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:564,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:564,1
    - Dst: gcry_mpi_ec_get_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:565,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:566,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:569,1
    - Dst: gcry_mpi_ec_set_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:570,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:572,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:572,1
    - Dst: get_and_cmp_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:573,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:574,1
    - Dst: gcry_pubkey_get_sexp
      Src: /src/libgcrypt/tests/t-mpi-point.c:577,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:579,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:579,1
    - Dst: print_sexp
      Src: /src/libgcrypt/tests/t-mpi-point.c:581,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:582,1
    - Dst: gcry_pubkey_get_sexp
      Src: /src/libgcrypt/tests/t-mpi-point.c:584,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:586,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:587,1
    - Dst: print_sexp
      Src: /src/libgcrypt/tests/t-mpi-point.c:589,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:590,1
    - Dst: gcry_pubkey_get_sexp
      Src: /src/libgcrypt/tests/t-mpi-point.c:592,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/t-mpi-point.c:593,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:594,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:595,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:596,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/t-mpi-point.c:600,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-point.c:603,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:604,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:605,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-mpi-point.c:606,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:610,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:610,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:611,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:620,1
    - Dst: gcry_mpi_ec_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:621,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:623,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:624,1
    - Dst: get_and_cmp_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:629,1
    - Dst: get_and_cmp_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:630,1
    - Dst: get_and_cmp_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:632,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:635,1
    - Dst: gcry_mpi_ec_set_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:636,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:638,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:638,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:639,1
    - Dst: get_and_cmp_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:640,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:645,1
    - Dst: gcry_mpi_ec_set_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:646,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:648,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:648,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:649,1
    - Dst: gcry_mpi_ec_set_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:650,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:652,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:652,1
    - Dst: gcry_mpi_ec_get_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:653,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:654,1
    - Dst: hex2mpiopa
      Src: /src/libgcrypt/tests/t-mpi-point.c:659,1
    - Dst: gcry_mpi_ec_set_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:660,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:662,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:662,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:663,1
    - Dst: get_and_cmp_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:664,1
    - Dst: gcry_pubkey_get_sexp
      Src: /src/libgcrypt/tests/t-mpi-point.c:667,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:669,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:669,1
    - Dst: print_sexp
      Src: /src/libgcrypt/tests/t-mpi-point.c:671,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:672,1
    - Dst: gcry_pubkey_get_sexp
      Src: /src/libgcrypt/tests/t-mpi-point.c:674,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:676,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:677,1
    - Dst: print_sexp
      Src: /src/libgcrypt/tests/t-mpi-point.c:679,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:680,1
    - Dst: gcry_pubkey_get_sexp
      Src: /src/libgcrypt/tests/t-mpi-point.c:682,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/t-mpi-point.c:683,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:684,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:685,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:686,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:691,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:692,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 133
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 479
    functionDepth: 4
    functionLinenumber: 479
    functionLinenumberEnd: 693
    functionName: context_param
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_ec_get_mpi
    - hex2mpiopa
    - get_and_cmp_mpi
    - gcry_ctx_release
    - gcry_pubkey_get_sexp
    - gcry_sexp_release
    - die
    - gcry_sexp_build
    - gcry_mpi_ec_new
    - info
    - strcmp
    - gcry_mpi_ec_set_mpi
    - gpg_strerror
    - gcry_fips_mode_active
    - gcry_mpi_release
    - fail
    - get_and_cmp_point
    - hex2mpi
    - gpg_err_code
    - print_sexp
    linkageType: ''
    returnType: void
    signature: void context_param (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_point_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:704,1
    - Dst: gcry_mpi_point_snatch_set
      Src: /src/libgcrypt/tests/t-mpi-point.c:705,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:705,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:705,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 708
    functionName: make_point
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 0
    functionsReached:
    - hex2mpi
    - gcry_mpi_point_snatch_set
    - gcry_mpi_point_new
    linkageType: ''
    returnType: gcry_mpi_point_t
    signature: gcry_mpi_point_t make_point (const char *x, const char *y, const char
      *z)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-point.c:725,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:727,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:728,1
    - Dst: make_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:729,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:732,1
    - Dst: gcry_mpi_point_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:733,1
    - Dst: ec_p_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:735,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:737,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:737,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:739,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:740,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:741,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:747,1
    - Dst: gcry_mpi_ec_mul
      Src: /src/libgcrypt/tests/t-mpi-point.c:748,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:749,1
    - Dst: gcry_mpi_point_get
      Src: /src/libgcrypt/tests/t-mpi-point.c:750,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:751,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:752,1
    - Dst: gcry_mpi_ec_mul
      Src: /src/libgcrypt/tests/t-mpi-point.c:755,1
    - Dst: gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/tests/t-mpi-point.c:757,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:758,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-mpi-point.c:759,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-mpi-point.c:760,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:761,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:764,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:765,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:768,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:769,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:770,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:771,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:772,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:773,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:774,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:775,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:776,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 777
    functionName: basic_ec_math
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_ec_mul
    - fail
    - gcry_mpi_cmp_ui
    - cmp_mpihex
    - gcry_mpi_point_new
    - info
    - gcry_mpi_point_release
    - gcry_ctx_release
    - make_point
    - print_mpi
    - hex2mpi
    - gpg_strerror
    - gcry_mpi_release
    - gcry_mpi_point_get
    - die
    - gcry_mpi_ec_get_affine
    - gcry_mpi_new
    - ec_p_new
    linkageType: ''
    returnType: void
    signature: void basic_ec_math (void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-point.c:793,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:795,1
    - Dst: gcry_mpi_point_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:796,1
    - Dst: gcry_mpi_ec_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:798,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:800,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:800,1
    - Dst: gcry_mpi_ec_get_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:801,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:803,1
    - Dst: gcry_mpi_ec_mul
      Src: /src/libgcrypt/tests/t-mpi-point.c:804,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:806,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:807,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:808,1
    - Dst: gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/tests/t-mpi-point.c:810,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:811,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-mpi-point.c:812,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-mpi-point.c:813,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:814,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:817,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:818,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:821,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:822,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:823,1
    - Dst: gcry_mpi_ec_set_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:826,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:828,1
    - Dst: gcry_mpi_ec_set_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:829,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:831,1
    - Dst: gcry_pubkey_get_sexp
      Src: /src/libgcrypt/tests/t-mpi-point.c:837,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:839,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:839,1
    - Dst: print_sexp
      Src: /src/libgcrypt/tests/t-mpi-point.c:841,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:842,1
    - Dst: gcry_pubkey_get_sexp
      Src: /src/libgcrypt/tests/t-mpi-point.c:845,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:847,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:847,1
    - Dst: print_sexp
      Src: /src/libgcrypt/tests/t-mpi-point.c:849,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:850,1
    - Dst: gcry_mpi_ec_set_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:853,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:855,1
    - Dst: gcry_pubkey_get_sexp
      Src: /src/libgcrypt/tests/t-mpi-point.c:856,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:858,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:858,1
    - Dst: print_sexp
      Src: /src/libgcrypt/tests/t-mpi-point.c:860,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:861,1
    - Dst: gcry_pubkey_get_sexp
      Src: /src/libgcrypt/tests/t-mpi-point.c:864,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/t-mpi-point.c:865,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:866,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:867,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:868,1
    - Dst: gcry_mpi_ec_set_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:871,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:873,1
    - Dst: gcry_pubkey_get_sexp
      Src: /src/libgcrypt/tests/t-mpi-point.c:874,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/t-mpi-point.c:875,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:876,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:877,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:878,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:881,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:882,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:883,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:884,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 885
    functionName: basic_ec_math_simplified
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_ec_mul
    - gcry_mpi_point_new
    - gcry_ctx_release
    - print_mpi
    - gcry_pubkey_get_sexp
    - gcry_mpi_ec_get_affine
    - gcry_sexp_release
    - die
    - gcry_mpi_new
    - cmp_mpihex
    - gcry_mpi_ec_new
    - info
    - gcry_mpi_ec_set_mpi
    - gpg_strerror
    - gcry_mpi_point_release
    - gcry_mpi_release
    - gcry_mpi_ec_get_point
    - fail
    - gcry_mpi_ec_set_point
    - hex2mpi
    - gpg_err_code
    - print_sexp
    linkageType: ''
    returnType: void
    signature: void basic_ec_math_simplified (void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-point.c:899,1
    - Dst: gcry_mpi_ec_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:901,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:903,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:903,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:905,1
    - Dst: gcry_mpi_ec_get_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:908,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:910,1
    - Dst: gcry_mpi_point_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:911,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:914,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:915,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:916,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:917,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:918,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:919,1
    - Dst: gcry_mpi_ec_get_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:920,1
    - Dst: gcry_mpi_ec_get_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:921,1
    - Dst: gcry_mpi_ec_get_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:922,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:925,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/tests/t-mpi-point.c:926,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:927,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:928,1
    - Dst: gcry_mpi_mod
      Src: /src/libgcrypt/tests/t-mpi-point.c:931,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:932,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:933,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:936,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/tests/t-mpi-point.c:937,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:938,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:939,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:942,1
    - Dst: gcry_mpi_div
      Src: /src/libgcrypt/tests/t-mpi-point.c:943,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/tests/t-mpi-point.c:944,1
    - Dst: gcry_mpi_abs
      Src: /src/libgcrypt/tests/t-mpi-point.c:945,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/t-mpi-point.c:946,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:947,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:950,1
    - Dst: gcry_mpi_div
      Src: /src/libgcrypt/tests/t-mpi-point.c:951,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/tests/t-mpi-point.c:952,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/tests/t-mpi-point.c:955,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/t-mpi-point.c:956,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:957,1
    - Dst: gcry_mpi_ec_curve_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:960,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:961,1
    - Dst: gcry_mpi_ec_mul
      Src: /src/libgcrypt/tests/t-mpi-point.c:964,1
    - Dst: gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/tests/t-mpi-point.c:965,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:966,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:967,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:967,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:968,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:972,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:973,1
    - Dst: gcry_mpi_ec_mul
      Src: /src/libgcrypt/tests/t-mpi-point.c:976,1
    - Dst: gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/tests/t-mpi-point.c:977,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:978,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-mpi-point.c:979,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-mpi-point.c:981,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:984,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:985,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:986,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:987,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:990,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:991,1
    - Dst: gcry_mpi_ec_mul
      Src: /src/libgcrypt/tests/t-mpi-point.c:994,1
    - Dst: gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/tests/t-mpi-point.c:995,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:996,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-mpi-point.c:997,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-mpi-point.c:999,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:1002,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:1003,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:1004,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:1005,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1009,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1010,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1011,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1012,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1013,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1014,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1015,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1016,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1017,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1018,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1019,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1020,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1021,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 1022
    functionName: twistededwards_math
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_ec_mul
    - gcry_mpi_sub_ui
    - gcry_mpi_abs
    - gcry_mpi_ec_get_mpi
    - gcry_mpi_ec_curve_point
    - gcry_mpi_cmp
    - gcry_mpi_cmp_ui
    - gcry_mpi_point_new
    - gcry_ctx_release
    - print_mpi
    - gcry_mpi_ec_get_affine
    - die
    - gcry_mpi_new
    - cmp_mpihex
    - gcry_mpi_ec_new
    - info
    - gpg_strerror
    - gcry_mpi_point_release
    - gcry_mpi_release
    - gcry_mpi_ec_get_point
    - fail
    - gcry_mpi_div
    - hex2mpi
    - gcry_mpi_mod
    - gcry_mpi_powm
    linkageType: ''
    returnType: void
    signature: void twistededwards_math (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/t-mpi-point.c:1243,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:1248,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/t-mpi-point.c:1250,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-mpi-point.c:1250,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mpi-point.c:1255,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1258,1
    - Dst: gcry_mpi_ec_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:1259,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:1261,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:1262,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-point.c:1264,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1267,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1268,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:1269,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:1270,1
    - Dst: gcry_mpi_point_set
      Src: /src/libgcrypt/tests/t-mpi-point.c:1272,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:1274,1
    - Dst: gcry_mpi_ec_curve_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:1276,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:1280,1
    - Dst: print_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:1282,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:1286,1
    - Dst: print_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:1288,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1290,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1293,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1294,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:1295,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1026
    functionDepth: 3
    functionLinenumber: 1026
    functionLinenumberEnd: 1296
    functionName: point_on_curve
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_ec_curve_point
    - fail
    - gcry_mpi_ec_new
    - DIM
    - info
    - gcry_mpi_point_release
    - gcry_ctx_release
    - strcmp
    - gpg_strerror
    - hex2mpi
    - gcry_fips_mode_active
    - die
    - strncmp
    - gcry_mpi_point_set
    - print_point
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void point_on_curve (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:1304,1
    - Dst: gcry_mpi_mul_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:1308,1
    - Dst: gcry_mpi_add_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:1309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1314
    functionName: mpi_base10_scan
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_mul_ui
    - gcry_mpi_add_ui
    - gcry_mpi_new
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t mpi_base10_scan (const char *str)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/t-mpi-point.c:3523,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mpi-point.c:3525,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-point.c:3529,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mpi-point.c:3533,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-point.c:3537,1
    - Dst: gcry_mpi_ec_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:3543,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:3546,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:3547,1
    - Dst: gcry_mpi_ec_get_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:3551,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:3554,1
    - Dst: mpi_base10_scan
      Src: /src/libgcrypt/tests/t-mpi-point.c:3560,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:3562,1
    - Dst: gcry_mpi_point_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:3565,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:3566,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:3567,1
    - Dst: gcry_mpi_ec_mul
      Src: /src/libgcrypt/tests/t-mpi-point.c:3569,1
    - Dst: gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/tests/t-mpi-point.c:3570,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:3572,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-mpi-point.c:3577,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-mpi-point.c:3577,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:3579,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:3581,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:3582,1
    - Dst: printf
      Src: /src/libgcrypt/tests/t-mpi-point.c:3583,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:3584,1
    - Dst: printf
      Src: /src/libgcrypt/tests/t-mpi-point.c:3585,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:3589,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:3590,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:3591,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:3592,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:3593,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:3594,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3596
      start: 1317
    functionDepth: 2
    functionLinenumber: 1317
    functionLinenumberEnd: 3596
    functionName: check_ec_mul
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_ec_mul
    - mpi_base10_scan
    - printf
    - gcry_mpi_point_new
    - gcry_ctx_release
    - print_mpi
    - gcry_mpi_ec_get_affine
    - die
    - gcry_mpi_new
    - cmp_mpihex
    - gcry_mpi_ec_new
    - info
    - strcmp
    - gpg_strerror
    - gcry_mpi_point_release
    - gcry_fips_mode_active
    - gcry_mpi_release
    - gcry_mpi_ec_get_point
    - fail
    linkageType: ''
    returnType: void
    signature: void check_ec_mul (void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/t-mpi-point.c:4307,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mpi-point.c:4309,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-point.c:4313,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mpi-point.c:4317,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-point.c:4321,1
    - Dst: gcry_mpi_ec_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:4327,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:4330,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-mpi-point.c:4331,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:4336,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:4338,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:4341,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:4343,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:4346,1
    - Dst: gcry_mpi_set_ui
      Src: /src/libgcrypt/tests/t-mpi-point.c:4348,1
    - Dst: hex2mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:4351,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:4353,1
    - Dst: gcry_mpi_point_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:4355,1
    - Dst: gcry_mpi_point_set
      Src: /src/libgcrypt/tests/t-mpi-point.c:4356,1
    - Dst: gcry_mpi_point_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:4357,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:4358,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/t-mpi-point.c:4359,1
    - Dst: gcry_mpi_ec_curve_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:4361,1
    - Dst: print_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:4363,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:4364,1
    - Dst: gcry_mpi_ec_mul
      Src: /src/libgcrypt/tests/t-mpi-point.c:4368,1
    - Dst: gcry_mpi_ec_curve_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:4370,1
    - Dst: print_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:4372,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:4373,1
    - Dst: gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/tests/t-mpi-point.c:4377,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:4379,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-mpi-point.c:4385,1
    - Dst: cmp_mpihex
      Src: /src/libgcrypt/tests/t-mpi-point.c:4385,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-mpi-point.c:4387,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:4389,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:4390,1
    - Dst: printf
      Src: /src/libgcrypt/tests/t-mpi-point.c:4391,1
    - Dst: print_mpi
      Src: /src/libgcrypt/tests/t-mpi-point.c:4392,1
    - Dst: printf
      Src: /src/libgcrypt/tests/t-mpi-point.c:4393,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:4397,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:4398,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:4399,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:4400,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:4401,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:4402,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:4403,1
    - Dst: gcry_mpi_point_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:4404,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-mpi-point.c:4405,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4407
      start: 3599
    functionDepth: 3
    functionLinenumber: 3599
    functionLinenumberEnd: 4407
    functionName: check_ec_mul_reduction
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_ec_mul
    - gcry_mpi_ec_curve_point
    - printf
    - gcry_mpi_point_new
    - gcry_ctx_release
    - print_mpi
    - gcry_mpi_ec_get_affine
    - die
    - gcry_mpi_new
    - cmp_mpihex
    - gcry_mpi_ec_new
    - info
    - strcmp
    - gpg_strerror
    - gcry_fips_mode_active
    - gcry_mpi_point_release
    - gcry_mpi_set_ui
    - print_point
    - gcry_mpi_release
    - fail
    - hex2mpi
    - gcry_mpi_point_set
    linkageType: ''
    returnType: void
    signature: void check_ec_mul_reduction (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mpi-point.c:4414,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-mpi-point.c:4416,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-mpi-point.c:4419,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-mpi-point.c:4420,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-mpi-point.c:4422,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-mpi-point.c:4423,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-mpi-point.c:4425,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-mpi-point.c:4426,1
    - Dst: set_get_point
      Src: /src/libgcrypt/tests/t-mpi-point.c:4428,1
    - Dst: context_alloc
      Src: /src/libgcrypt/tests/t-mpi-point.c:4429,1
    - Dst: context_param
      Src: /src/libgcrypt/tests/t-mpi-point.c:4430,1
    - Dst: basic_ec_math
      Src: /src/libgcrypt/tests/t-mpi-point.c:4431,1
    - Dst: point_on_curve
      Src: /src/libgcrypt/tests/t-mpi-point.c:4432,1
    - Dst: check_ec_mul
      Src: /src/libgcrypt/tests/t-mpi-point.c:4433,1
    - Dst: check_ec_mul_reduction
      Src: /src/libgcrypt/tests/t-mpi-point.c:4434,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/t-mpi-point.c:4438,1
    - Dst: basic_ec_math_simplified
      Src: /src/libgcrypt/tests/t-mpi-point.c:4440,1
    - Dst: twistededwards_math
      Src: /src/libgcrypt/tests/t-mpi-point.c:4441,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-mpi-point.c:4444,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4446
      start: 4410
    functionDepth: 5
    functionLinenumber: 4410
    functionLinenumberEnd: 4446
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-mpi-point.c
    functionUses: 11
    functionsReached:
    - gcry_check_version
    - basic_ec_math_simplified
    - context_alloc
    - basic_ec_math
    - info
    - point_on_curve
    - context_param
    - strcmp
    - set_get_point
    - check_ec_mul
    - twistededwards_math
    - xgcry_control
    - gcry_fips_mode_active
    - die
    - check_ec_mul_reduction
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/keygen.c:61,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/keygen.c:63,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/keygen.c:64,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/keygen.c:65,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/keygen.c:67,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/keygen.c:68,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/keygen.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - prefix
    - a
    argTypes:
    - char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 70
    functionName: show_sexp
    functionSourceFile: /src/libgcrypt/tests/keygen.c
    functionUses: 11
    functionsReached:
    - gcry_free
    - fprintf
    - xmalloc
    - fputs
    - gcry_sexp_sprint
    linkageType: ''
    returnType: void
    signature: void show_sexp (const char *prefix, gcry_sexp_t a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/keygen.c:81,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/keygen.c:83,1
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/tests/keygen.c:84,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/keygen.c:86,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:86,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/keygen.c:89,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/keygen.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - prefix
    - a
    argTypes:
    - char*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: show_mpi
    functionSourceFile: /src/libgcrypt/tests/keygen.c
    functionUses: 0
    functionsReached:
    - gcry_free
    - gcry_mpi_aprint
    - fprintf
    - gpg_strerror
    - fputs
    linkageType: ''
    returnType: void
    signature: void show_mpi (const char *prefix, gcry_mpi_t a)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/keygen.c:100,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:102,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/keygen.c:107,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/keygen.c:108,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:109,1
    - Dst: show_mpi
      Src: /src/libgcrypt/tests/keygen.c:113,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/libgcrypt/tests/keygen.c:115,1
    - Dst: show_mpi
      Src: /src/libgcrypt/tests/keygen.c:117,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:118,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:120,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/keygen.c:121,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:122,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/keygen.c:125,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:127,1
    - Dst: gcry_pk_testkey
      Src: /src/libgcrypt/tests/keygen.c:130,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:132,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:132,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - key
    - expected_e
    argTypes:
    - gcry_sexp_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 135
    functionName: check_generated_rsa_key
    functionSourceFile: /src/libgcrypt/tests/keygen.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - fail
    - gcry_mpi_cmp_ui
    - gcry_sexp_find_token
    - gcry_pk_testkey
    - gpg_strerror
    - show_mpi
    - gcry_sexp_release
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void check_generated_rsa_key (gcry_sexp_t key, unsigned long expected_e)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:147,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/keygen.c:148,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:154,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:154,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:155,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:156,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:158,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:158,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:161,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/keygen.c:162,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:168,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:168,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:170,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:171,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:172,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:174,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:174,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:176,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/keygen.c:181,1
    - Dst: check_generated_rsa_key
      Src: /src/libgcrypt/tests/keygen.c:182,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:184,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:187,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/keygen.c:188,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:195,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:195,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:196,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:197,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:199,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:199,1
    - Dst: check_generated_rsa_key
      Src: /src/libgcrypt/tests/keygen.c:202,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:203,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:207,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/keygen.c:208,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:215,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:215,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:216,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:217,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:219,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:219,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:221,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:224,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:225,1
    - Dst: check_generated_rsa_key
      Src: /src/libgcrypt/tests/keygen.c:228,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:229,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:232,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/keygen.c:233,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:240,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:240,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:241,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:242,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:244,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:244,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:246,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:249,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:250,1
    - Dst: check_generated_rsa_key
      Src: /src/libgcrypt/tests/keygen.c:254,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:255,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 257
    functionName: check_rsa_keys
    functionSourceFile: /src/libgcrypt/tests/keygen.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - fail
    - show_sexp
    - info
    - gpg_strerror
    - gcry_sexp_release
    - die
    - check_generated_rsa_key
    - gcry_sexp_new
    linkageType: ''
    returnType: void
    signature: void check_rsa_keys (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:268,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/keygen.c:269,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:275,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:275,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:276,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:277,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:279,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:279,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:281,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/keygen.c:283,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 286
    functionName: check_elg_keys
    functionSourceFile: /src/libgcrypt/tests/keygen.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - show_sexp
    - info
    - gpg_strerror
    - gcry_sexp_release
    - die
    - gcry_sexp_new
    linkageType: ''
    returnType: void
    signature: void check_elg_keys (void)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:300,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/keygen.c:303,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:309,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:309,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:310,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:311,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:313,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:313,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:315,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/keygen.c:317,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:318,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:322,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/keygen.c:323,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:330,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:330,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:331,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:332,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:334,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:334,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:336,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/keygen.c:338,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:339,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:342,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/keygen.c:343,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:350,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:350,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:351,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:352,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:354,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:354,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:356,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/keygen.c:358,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:359,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:362,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/keygen.c:363,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:370,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:370,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:371,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:372,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:374,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:374,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:376,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/keygen.c:378,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:379,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:382,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/keygen.c:383,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:390,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:390,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:391,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:392,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:394,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:394,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:396,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/keygen.c:398,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:399,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 401
    functionName: check_dsa_keys
    functionSourceFile: /src/libgcrypt/tests/keygen.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - show_sexp
    - info
    - gpg_strerror
    - gcry_sexp_release
    - die
    - gcry_sexp_new
    linkageType: ''
    returnType: void
    signature: void check_dsa_keys (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/keygen.c:410,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:412,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:416,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/keygen.c:419,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:421,1
    - Dst: gcry_pk_testkey
      Src: /src/libgcrypt/tests/keygen.c:424,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:426,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:426,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:427,1
    - Dst: gcry_pk_testkey
      Src: /src/libgcrypt/tests/keygen.c:433,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:435,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 437
    functionName: check_generated_ecc_key
    functionSourceFile: /src/libgcrypt/tests/keygen.c
    functionUses: 0
    functionsReached:
    - fail
    - gcry_sexp_find_token
    - gcry_pk_testkey
    - gpg_strerror
    - gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: void check_generated_ecc_key (gcry_sexp_t key)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:454,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/keygen.c:455,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/keygen.c:457,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/keygen.c:462,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:466,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:466,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:467,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:468,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:470,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:471,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/keygen.c:474,1
    - Dst: check_generated_ecc_key
      Src: /src/libgcrypt/tests/keygen.c:476,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:478,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:482,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/keygen.c:483,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:485,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:485,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:486,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:487,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:489,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:490,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/keygen.c:495,1
    - Dst: check_generated_ecc_key
      Src: /src/libgcrypt/tests/keygen.c:497,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:499,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:502,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/keygen.c:503,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:506,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:506,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:507,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:508,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:510,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:512,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:514,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:517,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/keygen.c:522,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:524,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:524,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:525,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:526,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:528,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:529,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/keygen.c:532,1
    - Dst: check_generated_ecc_key
      Src: /src/libgcrypt/tests/keygen.c:534,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:535,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:538,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/keygen.c:539,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:542,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:542,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:543,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:544,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:546,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:548,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/keygen.c:551,1
    - Dst: check_generated_ecc_key
      Src: /src/libgcrypt/tests/keygen.c:553,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:554,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:558,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/keygen.c:559,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:562,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:562,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:563,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:564,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:566,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:568,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/keygen.c:573,1
    - Dst: check_generated_ecc_key
      Src: /src/libgcrypt/tests/keygen.c:574,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:576,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:579,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/keygen.c:581,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:585,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:585,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:586,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:587,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:589,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:591,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/keygen.c:596,1
    - Dst: check_generated_ecc_key
      Src: /src/libgcrypt/tests/keygen.c:597,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:599,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 100
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 601
    functionName: check_ecc_keys
    functionSourceFile: /src/libgcrypt/tests/keygen.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - show_sexp
    - info
    - strcmp
    - gpg_strerror
    - gcry_sexp_release
    - die
    - check_generated_ecc_key
    - gcry_sexp_build
    linkageType: ''
    returnType: void
    signature: void check_ecc_keys (void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/keygen.c:614,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:616,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/libgcrypt/tests/keygen.c:619,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:620,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:621,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/keygen.c:624,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:626,1
    - Dst: gcry_pk_testkey
      Src: /src/libgcrypt/tests/keygen.c:629,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/keygen.c:630,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:631,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:633,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:633,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:634,1
    - Dst: gcry_pk_testkey
      Src: /src/libgcrypt/tests/keygen.c:639,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/keygen.c:640,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:641,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:643,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:643,1
    - Dst: gcry_pk_get_keygrip
      Src: /src/libgcrypt/tests/keygen.c:645,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:646,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/keygen.c:648,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:649,1
    - Dst: gcry_pk_get_nbits
      Src: /src/libgcrypt/tests/keygen.c:652,1
    - Dst: isdigit
      Src: /src/libgcrypt/tests/keygen.c:654,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/keygen.c:656,1
    - Dst: fail
      Src: /src/libgcrypt/tests/keygen.c:658,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - key
    - algoname
    argTypes:
    - gcry_sexp_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 660
    functionName: check_generated_kem_key
    functionSourceFile: /src/libgcrypt/tests/keygen.c
    functionUses: 0
    functionsReached:
    - gcry_pk_get_keygrip
    - atoi
    - fail
    - gcry_sexp_find_token
    - info
    - isdigit
    - gcry_pk_testkey
    - memcmp
    - gpg_err_code
    - gpg_strerror
    - gcry_sexp_release
    - gcry_pk_get_nbits
    linkageType: ''
    returnType: void
    signature: void check_generated_kem_key (gcry_sexp_t key, const char *algoname)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/tests/keygen.c:684,1
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:687,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/keygen.c:688,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:691,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:691,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/keygen.c:692,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:693,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:697,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:704,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/keygen.c:705,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/keygen.c:709,1
    - Dst: check_generated_kem_key
      Src: /src/libgcrypt/tests/keygen.c:711,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/keygen.c:713,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 715
    functionName: check_kem_keys
    functionSourceFile: /src/libgcrypt/tests/keygen.c
    functionUses: 0
    functionsReached:
    - check_generated_kem_key
    - gcry_pk_genkey
    - show_sexp
    - DIM
    - info
    - gpg_strerror
    - gcry_sexp_release
    - die
    - gcry_sexp_build
    linkageType: ''
    returnType: void
    signature: void check_kem_keys (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/keygen.c:726,1
    - Dst: gcry_create_nonce
      Src: /src/libgcrypt/tests/keygen.c:728,1
    - Dst: gcry_create_nonce
      Src: /src/libgcrypt/tests/keygen.c:731,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/keygen.c:732,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:733,1
    - Dst: gcry_create_nonce
      Src: /src/libgcrypt/tests/keygen.c:737,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/keygen.c:738,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:739,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:749,1
    - Dst: gcry_create_nonce
      Src: /src/libgcrypt/tests/keygen.c:751,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 754
    functionName: check_nonce
    functionSourceFile: /src/libgcrypt/tests/keygen.c
    functionUses: 13
    functionsReached:
    - gcry_create_nonce
    - memcmp
    - info
    - die
    linkageType: ''
    returnType: void
    signature: void check_nonce (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/tests/keygen.c:767,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/keygen.c:769,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/keygen.c:770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - cb_data
    - what
    - printchar
    - current
    - total
    argTypes:
    - void*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 771
    functionName: progress_cb
    functionSourceFile: /src/libgcrypt/tests/keygen.c
    functionUses: 12
    functionsReached:
    - fflush
    - putchar
    - fputs
    linkageType: ''
    returnType: void
    signature: "void progress_cb (void *cb_data, const char *what, int printchar,\n\t\t
      \ int current, int total)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/tests/keygen.c:777,1
    - Dst: exit
      Src: /src/libgcrypt/tests/keygen.c:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 787
    functionName: usage
    functionSourceFile: /src/libgcrypt/tests/keygen.c
    functionUses: 70
    functionsReached:
    - exit
    - fputs
    linkageType: ''
    returnType: void
    signature: void usage (int mode)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/keygen.c:803,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/keygen.c:808,1
    - Dst: usage
      Src: /src/libgcrypt/tests/keygen.c:810,1
    - Dst: exit
      Src: /src/libgcrypt/tests/keygen.c:811,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/keygen.c:813,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/keygen.c:818,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/keygen.c:824,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/keygen.c:829,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/keygen.c:834,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/keygen.c:839,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:840,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/keygen.c:845,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/keygen.c:847,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/keygen.c:849,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:850,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/keygen.c:853,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/keygen.c:855,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/keygen.c:857,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/keygen.c:860,1
    - Dst: gcry_set_progress_handler
      Src: /src/libgcrypt/tests/keygen.c:862,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/keygen.c:864,1
    - Dst: die
      Src: /src/libgcrypt/tests/keygen.c:868,1
    - Dst: check_rsa_keys
      Src: /src/libgcrypt/tests/keygen.c:872,1
    - Dst: check_elg_keys
      Src: /src/libgcrypt/tests/keygen.c:873,1
    - Dst: check_dsa_keys
      Src: /src/libgcrypt/tests/keygen.c:874,1
    - Dst: check_ecc_keys
      Src: /src/libgcrypt/tests/keygen.c:875,1
    - Dst: check_kem_keys
      Src: /src/libgcrypt/tests/keygen.c:876,1
    - Dst: check_nonce
      Src: /src/libgcrypt/tests/keygen.c:877,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/keygen.c:882,1
    - Dst: check_rsa_keys
      Src: /src/libgcrypt/tests/keygen.c:883,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/keygen.c:884,1
    - Dst: check_elg_keys
      Src: /src/libgcrypt/tests/keygen.c:885,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/keygen.c:886,1
    - Dst: check_dsa_keys
      Src: /src/libgcrypt/tests/keygen.c:887,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/keygen.c:888,1
    - Dst: check_ecc_keys
      Src: /src/libgcrypt/tests/keygen.c:889,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/keygen.c:890,1
    - Dst: check_kem_keys
      Src: /src/libgcrypt/tests/keygen.c:891,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/keygen.c:892,1
    - Dst: check_nonce
      Src: /src/libgcrypt/tests/keygen.c:893,1
    - Dst: usage
      Src: /src/libgcrypt/tests/keygen.c:895,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 88
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 789
    functionDepth: 4
    functionLinenumber: 789
    functionLinenumberEnd: 899
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/keygen.c
    functionUses: 11
    functionsReached:
    - check_dsa_keys
    - usage
    - gcry_check_version
    - check_kem_keys
    - exit
    - check_nonce
    - strcmp
    - check_rsa_keys
    - xgcry_control
    - gcry_fips_mode_active
    - die
    - check_ecc_keys
    - strncmp
    - check_elg_keys
    - gcry_set_progress_handler
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/t-ed448.c:46,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-ed448.c:47,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-ed448.c:49,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/t-ed448.c:50,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/t-ed448.c:51,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-ed448.c:52,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-ed448.c:53,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/t-ed448.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: show_note
    functionSourceFile: /src/libgcrypt/tests/t-ed448.c
    functionUses: 14
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - getenv
    - fprintf
    - va_start
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: void show_note (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-ed448.c:64,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-ed448.c:66,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/t-ed448.c:67,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-ed448.c:68,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/t-ed448.c:70,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-ed448.c:71,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/t-ed448.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - prefix
    - a
    argTypes:
    - char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: show_sexp
    functionSourceFile: /src/libgcrypt/tests/t-ed448.c
    functionUses: 16
    functionsReached:
    - gcry_free
    - fprintf
    - xmalloc
    - fputs
    - gcry_sexp_sprint
    linkageType: ''
    returnType: void
    signature: void show_sexp (const char *prefix, gcry_sexp_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/t-ed448.c:84,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-ed448.c:87,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-ed448.c:87,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-ed448.c:87,1
    - Dst: strcpy
      Src: /src/libgcrypt/tests/t-ed448.c:88,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/t-ed448.c:89,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/t-ed448.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: prepend_srcdir
    functionSourceFile: /src/libgcrypt/tests/t-ed448.c
    functionUses: 16
    functionsReached:
    - strlen
    - getenv
    - xmalloc
    - strcpy
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      prepend_srcdir (const char *fname)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/libgcrypt/tests/t-ed448.c:105,1
    - Dst: feof
      Src: /src/libgcrypt/tests/t-ed448.c:107,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-ed448.c:109,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-ed448.c:109,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-ed448.c:112,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-ed448.c:114,1
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/t-ed448.c:116,1
    - Dst: isspace
      Src: /src/libgcrypt/tests/t-ed448.c:116,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-ed448.c:122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - fp
    - lineno
    argTypes:
    - FILE*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 123
    functionName: read_textline
    functionSourceFile: /src/libgcrypt/tests/t-ed448.c
    functionUses: 11
    functionsReached:
    - my_isascii
    - feof
    - strchr
    - isspace
    - xstrdup
    - die
    - fgets
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      read_textline (FILE *fp, int *lineno)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:133,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-ed448.c:136,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed448.c:139,1
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/t-ed448.c:142,1
    - Dst: isspace
      Src: /src/libgcrypt/tests/t-ed448.c:142,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-ed448.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buffer
    - line
    - lineno
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 145
    functionName: copy_data
    functionSourceFile: /src/libgcrypt/tests/t-ed448.c
    functionUses: 8
    functionsReached:
    - my_isascii
    - fail
    - strchr
    - xfree
    - isspace
    - xstrdup
    linkageType: ''
    returnType: void
    signature: void copy_data (char **buffer, const char *line, int lineno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-ed448.c:160,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-ed448.c:160,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-ed448.c:164,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-ed448.c:164,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/t-ed448.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 170
    functionName: hex2buffer
    functionSourceFile: /src/libgcrypt/tests/t-ed448.c
    functionUses: 27
    functionsReached:
    - hexdigitp
    - xmalloc
    - xtoi_2
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void *

      hex2buffer (const char *string, size_t *r_length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/t-ed448.c:179,1
    - Dst: tolower
      Src: /src/libgcrypt/tests/t-ed448.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: hexdowncase
    functionSourceFile: /src/libgcrypt/tests/t-ed448.c
    functionUses: 2
    functionsReached:
    - tolower
    - my_isascii
    linkageType: ''
    returnType: void
    signature: void hexdowncase (char *string)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-ed448.c:206,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-ed448.c:208,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed448.c:210,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-ed448.c:214,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed448.c:216,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-ed448.c:221,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-ed448.c:230,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed448.c:238,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ed448.c:239,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-ed448.c:243,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed448.c:249,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ed448.c:250,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:254,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-ed448.c:255,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed448.c:257,1
    - Dst: gcry_pk_input_data_push
      Src: /src/libgcrypt/tests/t-ed448.c:261,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed448.c:264,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ed448.c:265,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:271,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-ed448.c:272,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed448.c:274,1
    - Dst: gcry_pk_input_data_push
      Src: /src/libgcrypt/tests/t-ed448.c:279,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed448.c:282,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ed448.c:283,1
    - Dst: gcry_pk_hash_sign
      Src: /src/libgcrypt/tests/t-ed448.c:300,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed448.c:302,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ed448.c:302,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/t-ed448.c:304,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-ed448.c:307,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-ed448.c:311,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ed448.c:314,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-ed448.c:316,1
    - Dst: gcry_sexp_nth_buffer
      Src: /src/libgcrypt/tests/t-ed448.c:319,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ed448.c:320,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-ed448.c:322,1
    - Dst: gcry_sexp_nth_buffer
      Src: /src/libgcrypt/tests/t-ed448.c:325,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ed448.c:326,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ed448.c:330,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed448.c:333,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-ed448.c:336,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-ed448.c:340,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-ed448.c:342,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ed448.c:343,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed448.c:345,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-ed448.c:347,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-ed448.c:348,1
    - Dst: gcry_pk_hash_verify
      Src: /src/libgcrypt/tests/t-ed448.c:353,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed448.c:354,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ed448.c:355,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-ed448.c:359,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ed448.c:360,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ed448.c:361,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ed448.c:362,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:363,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:364,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:365,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:366,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:367,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 115
    argCount: 7
    argNames:
    - testno
    - ph
    - sk
    - pk
    - msg
    - ctx_str
    - sig
    argTypes:
    - int
    - int
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 368
    functionName: one_test
    functionSourceFile: /src/libgcrypt/tests/t-ed448.c
    functionUses: 3
    functionsReached:
    - fail
    - show_sexp
    - gcry_sexp_nth_buffer
    - snprintf
    - hex2buffer
    - info
    - gcry_sexp_find_token
    - gcry_pk_hash_verify
    - gcry_ctx_release
    - strcmp
    - xmalloc
    - gpg_strerror
    - xfree
    - gcry_pk_input_data_push
    - gcry_sexp_release
    - gcry_sexp_build
    - gcry_pk_hash_sign
    linkageType: ''
    returnType: void
    signature: "void one_test (int testno, int ph, const char *sk, const char *pk,\n
      \         const char *msg, const char *ctx_str, const char *sig)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-ed448.c:381,1
    - Dst: fopen
      Src: /src/libgcrypt/tests/t-ed448.c:383,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-ed448.c:385,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-ed448.c:385,1
    - Dst: read_textline
      Src: /src/libgcrypt/tests/t-ed448.c:391,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ed448.c:393,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/t-ed448.c:394,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ed448.c:395,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/t-ed448.c:396,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ed448.c:397,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-ed448.c:398,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ed448.c:399,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-ed448.c:400,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ed448.c:401,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-ed448.c:402,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ed448.c:403,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-ed448.c:404,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ed448.c:405,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-ed448.c:406,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed448.c:408,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:410,1
    - Dst: hexdowncase
      Src: /src/libgcrypt/tests/t-ed448.c:413,1
    - Dst: one_test
      Src: /src/libgcrypt/tests/t-ed448.c:414,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-ed448.c:417,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:419,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:420,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:421,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:422,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:423,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:427,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:428,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:429,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:430,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:431,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ed448.c:434,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-ed448.c:436,1
    - Dst: fclose
      Src: /src/libgcrypt/tests/t-ed448.c:438,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 439
    functionName: check_ed448
    functionSourceFile: /src/libgcrypt/tests/t-ed448.c
    functionUses: 0
    functionsReached:
    - atoi
    - fail
    - one_test
    - show_note
    - fclose
    - read_textline
    - info
    - copy_data
    - xfree
    - fopen
    - die
    - hexdowncase
    - strncmp
    - strerror
    linkageType: ''
    returnType: void
    signature: void check_ed448 (const char *fname)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ed448.c:454,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ed448.c:459,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-ed448.c:461,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-ed448.c:469,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ed448.c:471,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ed448.c:476,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ed448.c:482,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ed448.c:487,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ed448.c:492,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:497,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-ed448.c:498,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ed448.c:502,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-ed448.c:503,1
    - Dst: prepend_srcdir
      Src: /src/libgcrypt/tests/t-ed448.c:508,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-ed448.c:512,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-ed448.c:513,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-ed448.c:514,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-ed448.c:516,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-ed448.c:517,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-ed448.c:518,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/t-ed448.c:520,1
    - Dst: check_ed448
      Src: /src/libgcrypt/tests/t-ed448.c:521,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/t-ed448.c:522,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ed448.c:524,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-ed448.c:526,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/t-ed448.c:527,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 529
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-ed448.c
    functionUses: 11
    functionsReached:
    - elapsed_time
    - start_timer
    - gcry_check_version
    - exit
    - info
    - strcmp
    - prepend_srcdir
    - check_ed448
    - xfree
    - fputs
    - xstrdup
    - die
    - xgcry_control
    - strncmp
    - stop_timer
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gcry_get_config
      Src: /src/libgcrypt/tests/version.c:49,1
    - Dst: fail
      Src: /src/libgcrypt/tests/version.c:51,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/version.c:52,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgcrypt/tests/version.c:52,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/version.c:53,1
    - Dst: fail
      Src: /src/libgcrypt/tests/version.c:54,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/version.c:56,1
    - Dst: gcry_get_config
      Src: /src/libgcrypt/tests/version.c:57,1
    - Dst: fail
      Src: /src/libgcrypt/tests/version.c:59,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/version.c:60,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgcrypt/tests/version.c:60,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/version.c:61,1
    - Dst: fail
      Src: /src/libgcrypt/tests/version.c:62,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/version.c:63,1
    - Dst: fail
      Src: /src/libgcrypt/tests/version.c:64,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/version.c:67,1
    - Dst: gcry_get_config
      Src: /src/libgcrypt/tests/version.c:68,1
    - Dst: fail
      Src: /src/libgcrypt/tests/version.c:70,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/version.c:71,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgcrypt/tests/version.c:71,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/version.c:72,1
    - Dst: fail
      Src: /src/libgcrypt/tests/version.c:73,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/version.c:74,1
    - Dst: fail
      Src: /src/libgcrypt/tests/version.c:75,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/version.c:78,1
    - Dst: gcry_get_config
      Src: /src/libgcrypt/tests/version.c:79,1
    - Dst: fail
      Src: /src/libgcrypt/tests/version.c:81,1
    - Dst: fail
      Src: /src/libgcrypt/tests/version.c:83,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/version.c:84,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgcrypt/tests/version.c:84,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/version.c:87,1
    - Dst: gcry_get_config
      Src: /src/libgcrypt/tests/version.c:88,1
    - Dst: fail
      Src: /src/libgcrypt/tests/version.c:90,1
    - Dst: fail
      Src: /src/libgcrypt/tests/version.c:97,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/version.c:101,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 102
    functionName: test_get_config
    functionSourceFile: /src/libgcrypt/tests/version.c
    functionUses: 0
    functionsReached:
    - fail
    - gpg_error_from_syserror
    - gcry_get_config
    - strchr
    - gpg_strerror
    - xfree
    - strncmp
    linkageType: ''
    returnType: void
    signature: void test_get_config (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/version.c:116,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/version.c:121,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/version.c:126,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/version.c:131,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/version.c:137,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/version.c:138,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/version.c:148,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/version.c:150,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/version.c:151,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/version.c:151,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/version.c:153,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/version.c:154,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/version.c:155,1
    - Dst: exit
      Src: /src/libgcrypt/tests/version.c:157,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/version.c:160,1
    - Dst: test_get_config
      Src: /src/libgcrypt/tests/version.c:162,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 165
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/version.c
    functionUses: 11
    functionsReached:
    - gcry_check_version
    - test_get_config
    - exit
    - gcry_control
    - strcmp
    - fprintf
    - xgcry_control
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_kem_genkey
      Src: /src/libgcrypt/tests/t-kem.c:46,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:52,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:52,1
    - Dst: gcry_kem_encap
      Src: /src/libgcrypt/tests/t-kem.c:56,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:63,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:63,1
    - Dst: gcry_kem_decap
      Src: /src/libgcrypt/tests/t-kem.c:67,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:74,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:74,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-kem.c:78,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:82,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kem.c:83,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kem.c:85,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kem.c:86,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kem.c:87,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kem.c:89,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kem.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - testno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 92
    functionName: test_kem_sntrup761
    functionSourceFile: /src/libgcrypt/tests/t-kem.c
    functionUses: 0
    functionsReached:
    - gcry_kem_decap
    - fail
    - gcry_kem_encap
    - fprintf
    - memcmp
    - gpg_strerror
    - fputs
    - gcry_kem_genkey
    - putc
    linkageType: ''
    returnType: void
    signature: void test_kem_sntrup761 (int testno)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_kem_genkey
      Src: /src/libgcrypt/tests/t-kem.c:105,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:111,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:111,1
    - Dst: gcry_kem_encap
      Src: /src/libgcrypt/tests/t-kem.c:115,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:122,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:122,1
    - Dst: gcry_kem_decap
      Src: /src/libgcrypt/tests/t-kem.c:126,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:133,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:133,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-kem.c:137,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:141,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kem.c:142,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kem.c:144,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kem.c:145,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kem.c:146,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kem.c:148,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kem.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - testno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 151
    functionName: test_kem_mceliece6688128f
    functionSourceFile: /src/libgcrypt/tests/t-kem.c
    functionUses: 0
    functionsReached:
    - gcry_kem_decap
    - fail
    - gcry_kem_encap
    - fprintf
    - memcmp
    - gpg_strerror
    - fputs
    - gcry_kem_genkey
    - putc
    linkageType: ''
    returnType: void
    signature: void test_kem_mceliece6688128f (int testno)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_kem_genkey
      Src: /src/libgcrypt/tests/t-kem.c:165,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:171,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:171,1
    - Dst: gcry_kem_encap
      Src: /src/libgcrypt/tests/t-kem.c:175,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:182,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:182,1
    - Dst: gcry_kem_decap
      Src: /src/libgcrypt/tests/t-kem.c:186,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:193,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:193,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-kem.c:197,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:201,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kem.c:202,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kem.c:204,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kem.c:205,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kem.c:206,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kem.c:208,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kem.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - testno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 211
    functionName: test_kem_mlkem512
    functionSourceFile: /src/libgcrypt/tests/t-kem.c
    functionUses: 0
    functionsReached:
    - gcry_kem_decap
    - fail
    - gcry_kem_encap
    - fprintf
    - memcmp
    - gpg_strerror
    - fputs
    - gcry_kem_genkey
    - putc
    linkageType: ''
    returnType: void
    signature: void test_kem_mlkem512 (int testno)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_kem_genkey
      Src: /src/libgcrypt/tests/t-kem.c:223,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:229,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:229,1
    - Dst: gcry_kem_encap
      Src: /src/libgcrypt/tests/t-kem.c:233,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:240,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:240,1
    - Dst: gcry_kem_decap
      Src: /src/libgcrypt/tests/t-kem.c:244,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:251,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:251,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-kem.c:255,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:259,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kem.c:260,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kem.c:262,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kem.c:263,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kem.c:264,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kem.c:266,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kem.c:267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - testno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 269
    functionName: test_kem_mlkem768
    functionSourceFile: /src/libgcrypt/tests/t-kem.c
    functionUses: 0
    functionsReached:
    - gcry_kem_decap
    - fail
    - gcry_kem_encap
    - fprintf
    - memcmp
    - gpg_strerror
    - fputs
    - gcry_kem_genkey
    - putc
    linkageType: ''
    returnType: void
    signature: void test_kem_mlkem768 (int testno)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_kem_genkey
      Src: /src/libgcrypt/tests/t-kem.c:281,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:287,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:287,1
    - Dst: gcry_kem_encap
      Src: /src/libgcrypt/tests/t-kem.c:291,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:298,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:298,1
    - Dst: gcry_kem_decap
      Src: /src/libgcrypt/tests/t-kem.c:302,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:309,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:309,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-kem.c:313,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:317,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kem.c:318,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kem.c:320,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kem.c:321,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kem.c:322,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kem.c:324,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kem.c:325,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - testno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 327
    functionName: test_kem_mlkem1024
    functionSourceFile: /src/libgcrypt/tests/t-kem.c
    functionUses: 0
    functionsReached:
    - gcry_kem_decap
    - fail
    - gcry_kem_encap
    - fprintf
    - memcmp
    - gpg_strerror
    - fputs
    - gcry_kem_genkey
    - putc
    linkageType: ''
    returnType: void
    signature: void test_kem_mlkem1024 (int testno)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-kem.c:341,1
    - Dst: gcry_kem_genkey
      Src: /src/libgcrypt/tests/t-kem.c:343,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:350,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-kem.c:353,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:358,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:358,1
    - Dst: gcry_kem_encap
      Src: /src/libgcrypt/tests/t-kem.c:362,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:369,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:369,1
    - Dst: gcry_kem_decap
      Src: /src/libgcrypt/tests/t-kem.c:373,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:380,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:380,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-kem.c:384,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:388,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kem.c:389,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kem.c:391,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kem.c:392,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kem.c:393,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kem.c:395,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kem.c:396,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - testno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 398
    functionName: test_kem_raw_x25519
    functionSourceFile: /src/libgcrypt/tests/t-kem.c
    functionUses: 0
    functionsReached:
    - gcry_kem_decap
    - fail
    - gcry_kem_encap
    - info
    - fprintf
    - memcmp
    - gpg_strerror
    - fputs
    - gcry_kem_genkey
    - putc
    linkageType: ''
    returnType: void
    signature: void test_kem_raw_x25519 (int testno)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-kem.c:411,1
    - Dst: gcry_kem_genkey
      Src: /src/libgcrypt/tests/t-kem.c:413,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:420,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-kem.c:423,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:428,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:428,1
    - Dst: gcry_kem_encap
      Src: /src/libgcrypt/tests/t-kem.c:432,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:439,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:439,1
    - Dst: gcry_kem_decap
      Src: /src/libgcrypt/tests/t-kem.c:443,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:450,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-kem.c:450,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/t-kem.c:454,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-kem.c:458,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kem.c:459,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kem.c:461,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kem.c:462,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kem.c:463,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-kem.c:465,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-kem.c:466,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - testno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 468
    functionName: test_kem_dhkem_x25519
    functionSourceFile: /src/libgcrypt/tests/t-kem.c
    functionUses: 0
    functionsReached:
    - gcry_kem_decap
    - fail
    - gcry_kem_encap
    - info
    - fprintf
    - memcmp
    - gpg_strerror
    - fputs
    - gcry_kem_genkey
    - putc
    linkageType: ''
    returnType: void
    signature: void test_kem_dhkem_x25519 (int testno)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-kem.c:487,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-kem.c:493,1
    - Dst: test_kem_sntrup761
      Src: /src/libgcrypt/tests/t-kem.c:495,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-kem.c:501,1
    - Dst: test_kem_mceliece6688128f
      Src: /src/libgcrypt/tests/t-kem.c:503,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-kem.c:510,1
    - Dst: test_kem_mlkem512
      Src: /src/libgcrypt/tests/t-kem.c:512,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-kem.c:518,1
    - Dst: test_kem_mlkem768
      Src: /src/libgcrypt/tests/t-kem.c:520,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-kem.c:526,1
    - Dst: test_kem_mlkem1024
      Src: /src/libgcrypt/tests/t-kem.c:528,1
    - Dst: test_kem_raw_x25519
      Src: /src/libgcrypt/tests/t-kem.c:536,1
    - Dst: test_kem_dhkem_x25519
      Src: /src/libgcrypt/tests/t-kem.c:543,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-kem.c:547,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 1
    argNames:
    - n_loops
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 548
    functionName: check_kem
    functionSourceFile: /src/libgcrypt/tests/t-kem.c
    functionUses: 0
    functionsReached:
    - test_kem_mceliece6688128f
    - test_kem_mlkem512
    - test_kem_dhkem_x25519
    - show_note
    - test_kem_raw_x25519
    - info
    - test_kem_sntrup761
    - test_kem_mlkem768
    - test_kem_mlkem1024
    linkageType: ''
    returnType: void
    signature: void check_kem (int n_loops)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-kem.c:568,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-kem.c:574,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-kem.c:577,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-kem.c:591,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-kem.c:593,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-kem.c:599,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-kem.c:606,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/t-kem.c:611,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-kem.c:614,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-kem.c:620,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-kem.c:627,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-kem.c:633,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-kem.c:639,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-kem.c:646,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-kem.c:652,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-kem.c:658,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-kem.c:659,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-kem.c:662,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-kem.c:663,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-kem.c:664,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-kem.c:666,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-kem.c:667,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-kem.c:668,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/t-kem.c:670,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/t-kem.c:673,1
    - Dst: check_kem
      Src: /src/libgcrypt/tests/t-kem.c:674,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/t-kem.c:675,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-kem.c:677,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/t-kem.c:678,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 86
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 550
    functionDepth: 3
    functionLinenumber: 550
    functionLinenumberEnd: 680
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-kem.c
    functionUses: 11
    functionsReached:
    - elapsed_time
    - start_timer
    - atoi
    - gcry_check_version
    - check_kem
    - exit
    - info
    - strcmp
    - fputs
    - xgcry_control
    - die
    - gcry_fips_mode_active
    - strncmp
    - stop_timer
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:45,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:46,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:47,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:49,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:50,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - prefix
    - a
    argTypes:
    - char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: show_sexp
    functionSourceFile: /src/libgcrypt/tests/dsa-rfc6979.c
    functionUses: 17
    functionsReached:
    - gcry_free
    - gcry_xmalloc
    - fprintf
    - fputs
    - gcry_sexp_sprint
    linkageType: ''
    returnType: void
    signature: void show_sexp (const char *prefix, gcry_sexp_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:67,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:67,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:71,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:71,1
    - Dst: die
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:72,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: data_from_hex
    functionSourceFile: /src/libgcrypt/tests/dsa-rfc6979.c
    functionUses: 8
    functionsReached:
    - hexdigitp
    - strlen
    - gcry_xmalloc
    - die
    - xtoi_2
    linkageType: ''
    returnType: void
    signature: 'void *

      data_from_hex (const char *string, size_t *r_length)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:89,1
    - Dst: gcry_sexp_nth_data
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:90,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:91,1
    - Dst: fail
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:93,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:94,1
    - Dst: fail
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:96,1
    - Dst: info
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:99,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:100,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:103,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - sexp
    - name
    - expected
    argTypes:
    - gcry_sexp_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 105
    functionName: extract_cmp_data
    functionSourceFile: /src/libgcrypt/tests/dsa-rfc6979.c
    functionUses: 6
    functionsReached:
    - gcry_free
    - fail
    - show_sexp
    - gcry_sexp_find_token
    - data_from_hex
    - info
    - gcry_sexp_nth_data
    - memcmp
    - gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: void extract_cmp_data (gcry_sexp_t sexp, const char *name, const char
      *expected)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:907,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:911,1
    - Dst: die
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:914,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:917,1
    - Dst: die
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:919,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:919,1
    - Dst: gcry_md_map_name
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:922,1
    - Dst: die
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:924,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:926,1
    - Dst: die
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:928,1
    - Dst: gcry_md_hash_buffer
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:930,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:931,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:933,1
    - Dst: die
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:939,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:939,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:941,1
    - Dst: fail
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:945,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:945,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:946,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:947,1
    - Dst: fail
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:951,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:951,1
    - Dst: extract_cmp_data
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:953,1
    - Dst: extract_cmp_data
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:954,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:956,1
    - Dst: fail
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:958,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:958,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:960,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:961,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:962,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 964
    functionName: check_dsa_rfc6979
    functionSourceFile: /src/libgcrypt/tests/dsa-rfc6979.c
    functionUses: 0
    functionsReached:
    - fail
    - gcry_md_hash_buffer
    - strlen
    - gcry_pk_sign
    - info
    - gcry_md_get_algo_dlen
    - gcry_pk_verify
    - strcmp
    - gpg_strerror
    - gcry_md_map_name
    - gcry_sexp_release
    - extract_cmp_data
    - die
    - gcry_sexp_build
    - gcry_sexp_new
    linkageType: ''
    returnType: void
    signature: void check_dsa_rfc6979 (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:971,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:973,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:979,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:981,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:981,1
    - Dst: die
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:982,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:983,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:984,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:985,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:988,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:990,1
    - Dst: check_dsa_rfc6979
      Src: /src/libgcrypt/tests/dsa-rfc6979.c:992,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 968
    functionDepth: 2
    functionLinenumber: 968
    functionLinenumberEnd: 995
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/dsa-rfc6979.c
    functionUses: 11
    functionsReached:
    - gcry_check_version
    - check_dsa_rfc6979
    - strcmp
    - xgcry_control
    - gcry_fips_mode_active
    - die
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/tests/pubkey.c:165,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/pubkey.c:166,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/pubkey.c:167,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/pubkey.c:169,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:170,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pubkey.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - prefix
    - a
    argTypes:
    - char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 172
    functionName: show_sexp
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 18
    functionsReached:
    - gcry_free
    - gcry_xmalloc
    - fprintf
    - fputs
    - gcry_sexp_sprint
    linkageType: ''
    returnType: void
    signature: void show_sexp (const char *prefix, gcry_sexp_t a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:185,1
    - Dst: gcry_sexp_nth_data
      Src: /src/libgcrypt/tests/pubkey.c:189,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/pubkey.c:190,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:193,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/pubkey.c:196,1
    - Dst: strtoul
      Src: /src/libgcrypt/tests/pubkey.c:198,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - list
    - r_nbits
    argTypes:
    - gcry_sexp_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 201
    functionName: _gcry_pk_util_get_nbits
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 0
    functionsReached:
    - DIM
    - gcry_sexp_find_token
    - gcry_sexp_nth_data
    - gcry_sexp_release
    - strtoul
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_pk_util_get_nbits (gcry_sexp_t list, unsigned
      int *r_nbits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/pubkey.c:216,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/pubkey.c:216,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/pubkey.c:220,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/pubkey.c:220,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:221,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/pubkey.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 226
    functionName: data_from_hex
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 9
    functionsReached:
    - hexdigitp
    - strlen
    - gcry_xmalloc
    - die
    - xtoi_2
    linkageType: ''
    returnType: void
    signature: 'void *

      data_from_hex (const char *string, size_t *r_length)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:238,1
    - Dst: gcry_sexp_nth_data
      Src: /src/libgcrypt/tests/pubkey.c:239,1
    - Dst: data_from_hex
      Src: /src/libgcrypt/tests/pubkey.c:240,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pubkey.c:242,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/pubkey.c:243,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pubkey.c:245,1
    - Dst: info
      Src: /src/libgcrypt/tests/pubkey.c:248,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pubkey.c:249,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/pubkey.c:252,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - sexp
    - name
    - expected
    argTypes:
    - gcry_sexp_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 254
    functionName: extract_cmp_data
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 7
    functionsReached:
    - gcry_free
    - fail
    - show_sexp
    - gcry_sexp_find_token
    - data_from_hex
    - info
    - gcry_sexp_nth_data
    - memcmp
    - gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: void extract_cmp_data (gcry_sexp_t sexp, const char *name, const char
      *expected)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:268,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/pubkey.c:269,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:270,1
    - Dst: gcry_pk_encrypt
      Src: /src/libgcrypt/tests/pubkey.c:273,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:275,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:275,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:277,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:279,1
    - Dst: gcry_pk_decrypt
      Src: /src/libgcrypt/tests/pubkey.c:282,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:283,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/pubkey.c:286,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/pubkey.c:288,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:291,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:291,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:299,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:303,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:304,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/pubkey.c:305,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:306,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:311,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/pubkey.c:312,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:313,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/pubkey.c:317,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:318,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/pubkey.c:319,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/pubkey.c:320,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 4
    argNames:
    - pkey
    - skey
    - plain0
    - decrypt_fail_code
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    - gcry_sexp_t
    - gpg_err_code_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 321
    functionName: check_keys_crypt
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - gcry_sexp_find_token
    - gcry_pk_encrypt
    - gpg_err_code
    - gcry_sexp_release
    - die
    - gcry_strerror
    - gcry_pk_decrypt
    - gcry_mpi_cmp
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: "void check_keys_crypt (gcry_sexp_t pkey, gcry_sexp_t skey,\n\t\t  gcry_sexp_t
      plain0, gpg_err_code_t decrypt_fail_code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/pubkey.c:332,1
    - Dst: gcry_mpi_randomize
      Src: /src/libgcrypt/tests/pubkey.c:333,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pubkey.c:335,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:337,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:338,1
    - Dst: check_keys_crypt
      Src: /src/libgcrypt/tests/pubkey.c:340,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:341,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/pubkey.c:342,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/pubkey.c:345,1
    - Dst: gcry_mpi_randomize
      Src: /src/libgcrypt/tests/pubkey.c:346,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/pubkey.c:348,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/pubkey.c:350,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:352,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:353,1
    - Dst: check_keys_crypt
      Src: /src/libgcrypt/tests/pubkey.c:355,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - pkey
    - skey
    - nbits_data
    - decrypt_fail_code
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    - unsigned int
    - gpg_err_code_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 357
    functionName: check_keys
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 0
    functionsReached:
    - check_keys_crypt
    - gcry_mpi_randomize
    - gcry_sexp_release
    - die
    - gcry_strerror
    - gcry_sexp_build
    - gcry_mpi_new
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: "void check_keys (gcry_sexp_t pkey, gcry_sexp_t skey, unsigned int
      nbits_data,\n            gpg_err_code_t decrypt_fail_code)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:374,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/pubkey.c:377,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/pubkey.c:378,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/pubkey.c:380,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/pubkey.c:380,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:382,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - pkey
    - skey
    - secret_variant
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 386
    functionName: get_keys_sample
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 0
    functionsReached:
    - die
    - gcry_strerror
    - gcry_sexp_sscan
    - strlen
    linkageType: ''
    returnType: void
    signature: void get_keys_sample (gcry_sexp_t *pkey, gcry_sexp_t *skey, int secret_variant)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:394,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:397,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:397,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/pubkey.c:398,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:399,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:401,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:401,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pubkey.c:404,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:406,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:408,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:410,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:412,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pkey
    - skey
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 417
    functionName: get_keys_new
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 1
    functionsReached:
    - gcry_pk_genkey
    - show_sexp
    - gcry_sexp_find_token
    - gcry_sexp_release
    - die
    - gcry_strerror
    - gcry_sexp_new
    linkageType: ''
    returnType: void
    signature: void get_keys_new (gcry_sexp_t *pkey, gcry_sexp_t *skey)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:426,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:429,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:429,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/pubkey.c:430,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:431,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:437,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:440,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:440,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:443,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pubkey.c:446,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:448,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:450,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:452,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:454,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:456,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - pkey
    - skey
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 459
    functionName: get_keys_x931_new
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - show_sexp
    - gcry_sexp_find_token
    - fprintf
    - gcry_sexp_release
    - die
    - gcry_strerror
    - gcry_sexp_new
    linkageType: ''
    returnType: void
    signature: void get_keys_x931_new (gcry_sexp_t *pkey, gcry_sexp_t *skey)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:470,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:478,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:478,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/pubkey.c:479,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:480,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:486,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:489,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:489,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pubkey.c:493,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:495,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:497,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:499,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:501,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:503,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - pkey
    - skey
    - fixed_x
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 506
    functionName: get_elg_key_new
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - show_sexp
    - gcry_sexp_find_token
    - fprintf
    - gcry_sexp_release
    - die
    - gcry_strerror
    - gcry_sexp_new
    linkageType: ''
    returnType: void
    signature: void get_elg_key_new (gcry_sexp_t *pkey, gcry_sexp_t *skey, int fixed_x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:517,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:523,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:523,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/pubkey.c:524,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:525,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:531,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:534,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:534,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pubkey.c:538,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:540,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:542,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:544,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:546,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:548,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - pkey
    - skey
    - transient_key
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 551
    functionName: get_dsa_key_new
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - show_sexp
    - gcry_sexp_find_token
    - fprintf
    - gcry_sexp_release
    - die
    - gcry_strerror
    - gcry_sexp_new
    linkageType: ''
    returnType: void
    signature: void get_dsa_key_new (gcry_sexp_t *pkey, gcry_sexp_t *skey, int transient_key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:560,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:563,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:563,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/pubkey.c:564,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:565,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:571,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:574,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:574,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pubkey.c:578,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:580,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:582,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:584,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:586,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:588,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - pkey
    - skey
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 591
    functionName: get_dsa_key_fips186_new
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - show_sexp
    - gcry_sexp_find_token
    - fprintf
    - gcry_sexp_release
    - die
    - gcry_strerror
    - gcry_sexp_new
    linkageType: ''
    returnType: void
    signature: void get_dsa_key_fips186_new (gcry_sexp_t *pkey, gcry_sexp_t *skey)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:600,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:622,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:622,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/pubkey.c:623,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:624,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:630,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:633,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:633,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pubkey.c:637,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:639,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:641,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:643,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:645,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:647,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - pkey
    - skey
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 650
    functionName: get_dsa_key_with_domain_new
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - show_sexp
    - gcry_sexp_find_token
    - fprintf
    - gcry_sexp_release
    - die
    - gcry_strerror
    - gcry_sexp_new
    linkageType: ''
    returnType: void
    signature: void get_dsa_key_with_domain_new (gcry_sexp_t *pkey, gcry_sexp_t *skey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:659,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:673,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:673,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/pubkey.c:674,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:675,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:677,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:677,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pubkey.c:680,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:682,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:684,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:686,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:688,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:690,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pkey
    - skey
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 693
    functionName: get_dsa_key_fips186_with_domain_new
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - show_sexp
    - gcry_sexp_find_token
    - gcry_sexp_release
    - die
    - gcry_strerror
    - gcry_sexp_new
    linkageType: ''
    returnType: void
    signature: void get_dsa_key_fips186_with_domain_new (gcry_sexp_t *pkey, gcry_sexp_t
      *skey)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:702,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:714,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:714,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/pubkey.c:715,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:716,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:722,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:725,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/pubkey.c:725,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pubkey.c:729,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:731,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:733,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:735,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:737,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:739,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - pkey
    - skey
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 742
    functionName: get_dsa_key_fips186_with_seed_new
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 0
    functionsReached:
    - gcry_pk_genkey
    - show_sexp
    - gcry_sexp_find_token
    - fprintf
    - gcry_sexp_release
    - die
    - gcry_strerror
    - gcry_sexp_new
    linkageType: ''
    returnType: void
    signature: void get_dsa_key_fips186_with_seed_new (gcry_sexp_t *pkey, gcry_sexp_t
      *skey)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:763,1
    - Dst: get_keys_sample
      Src: /src/libgcrypt/tests/pubkey.c:764,1
    - Dst: gcry_pk_testkey
      Src: /src/libgcrypt/tests/pubkey.c:766,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/pubkey.c:768,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:769,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:769,1
    - Dst: check_keys
      Src: /src/libgcrypt/tests/pubkey.c:771,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:772,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:773,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:780,1
    - Dst: get_keys_new
      Src: /src/libgcrypt/tests/pubkey.c:781,1
    - Dst: check_keys
      Src: /src/libgcrypt/tests/pubkey.c:782,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:783,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:784,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:788,1
    - Dst: get_keys_x931_new
      Src: /src/libgcrypt/tests/pubkey.c:789,1
    - Dst: check_keys
      Src: /src/libgcrypt/tests/pubkey.c:791,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:792,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:793,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:799,1
    - Dst: get_elg_key_new
      Src: /src/libgcrypt/tests/pubkey.c:800,1
    - Dst: check_keys
      Src: /src/libgcrypt/tests/pubkey.c:802,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:803,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:804,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:808,1
    - Dst: get_elg_key_new
      Src: /src/libgcrypt/tests/pubkey.c:809,1
    - Dst: check_keys
      Src: /src/libgcrypt/tests/pubkey.c:811,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:812,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:813,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:819,1
    - Dst: get_dsa_key_new
      Src: /src/libgcrypt/tests/pubkey.c:820,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:827,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:828,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:832,1
    - Dst: get_dsa_key_new
      Src: /src/libgcrypt/tests/pubkey.c:833,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:839,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:840,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:844,1
    - Dst: get_dsa_key_fips186_new
      Src: /src/libgcrypt/tests/pubkey.c:845,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:851,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:852,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:856,1
    - Dst: get_dsa_key_with_domain_new
      Src: /src/libgcrypt/tests/pubkey.c:857,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:863,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:864,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:869,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:877,1
    - Dst: get_dsa_key_fips186_with_seed_new
      Src: /src/libgcrypt/tests/pubkey.c:878,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:884,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:885,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 746
    functionDepth: 3
    functionLinenumber: 746
    functionLinenumberEnd: 888
    functionName: check_run
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 0
    functionsReached:
    - get_elg_key_new
    - check_keys
    - get_dsa_key_new
    - get_dsa_key_fips186_with_seed_new
    - get_dsa_key_fips186_new
    - get_keys_x931_new
    - get_dsa_key_with_domain_new
    - get_keys_sample
    - get_keys_new
    - fprintf
    - gcry_pk_testkey
    - gpg_err_code
    - gpg_strerror
    - gcry_sexp_release
    - die
    linkageType: ''
    returnType: void
    signature: void check_run (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:899,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:903,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:906,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/libgcrypt/tests/pubkey.c:910,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:911,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - sexp
    - topname
    - name
    argTypes:
    - gcry_sexp_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 914
    functionName: key_param_from_sexp
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_nth_mpi
    - gcry_sexp_find_token
    - gcry_sexp_release
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t key_param_from_sexp (gcry_sexp_t sexp, const char *topname,
      const char *name)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1061,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:1063,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1065,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1065,1
    - Dst: _gcry_pk_util_get_nbits
      Src: /src/libgcrypt/tests/pubkey.c:1069,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1071,1
    - Dst: info
      Src: /src/libgcrypt/tests/pubkey.c:1074,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1075,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/pubkey.c:1080,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1081,1
    - Dst: fail
      Src: /src/libgcrypt/tests/pubkey.c:1084,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1084,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:1088,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1090,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/pubkey.c:1092,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1094,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/pubkey.c:1096,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1099,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pubkey.c:1102,1
    - Dst: key_param_from_sexp
      Src: /src/libgcrypt/tests/pubkey.c:1104,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1106,1
    - Dst: gcry_mpi_cmp
      Src: /src/libgcrypt/tests/pubkey.c:1107,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/pubkey.c:1109,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1110,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/pubkey.c:1113,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/pubkey.c:1114,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1116,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1117,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1118,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 1
    argNames:
    - what
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 1119
    functionName: check_x931_derived_key
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 0
    functionsReached:
    - key_param_from_sexp
    - gcry_pk_genkey
    - fail
    - show_sexp
    - gcry_sexp_find_token
    - info
    - gpg_strerror
    - gcry_sexp_release
    - gcry_mpi_release
    - die
    - gcry_mpi_cmp
    - gcry_sexp_new
    - gcry_mpi_scan
    - _gcry_pk_util_get_nbits
    linkageType: ''
    returnType: void
    signature: void check_x931_derived_key (int what)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:1172,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:1174,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1175,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1175,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:1177,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1178,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1178,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:1180,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1181,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1181,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:1183,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1184,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1184,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/pubkey.c:1186,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1187,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1187,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1189,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:1190,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1191,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1191,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/pubkey.c:1193,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1194,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1194,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1197,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:1198,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1199,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1199,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/pubkey.c:1201,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1202,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1202,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1204,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/pubkey.c:1205,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1206,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1206,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1208,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:1209,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1210,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1210,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/pubkey.c:1212,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1213,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1213,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/pubkey.c:1215,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1216,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1216,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1220,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:1221,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1222,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1222,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1224,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/pubkey.c:1225,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1226,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1226,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1228,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:1229,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1230,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1230,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/pubkey.c:1232,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1233,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1233,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1235,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1236,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1237,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1238,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1239,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1240,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1241
    functionName: check_ecc_sample_key
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 0
    functionsReached:
    - gcry_pk_sign
    - fprintf
    - gpg_strerror
    - gcry_sexp_release
    - die
    - gcry_pk_verify
    - gcry_sexp_new
    linkageType: ''
    returnType: void
    signature: void check_ecc_sample_key (void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/tests/pubkey.c:1283,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:1286,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1287,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1287,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:1288,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1289,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1289,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/pubkey.c:1290,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1291,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1291,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1294,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:1295,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1296,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1296,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/pubkey.c:1297,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1298,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1298,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1301,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:1302,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1303,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1303,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/pubkey.c:1304,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1305,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1305,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1308,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:1309,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1310,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1310,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1311,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/pubkey.c:1312,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1313,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1313,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1316,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:1317,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1318,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1318,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/pubkey.c:1319,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1320,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1320,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1323,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/pubkey.c:1324,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1325,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1325,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/pubkey.c:1326,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1327,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/pubkey.c:1327,1
    - Dst: extract_cmp_data
      Src: /src/libgcrypt/tests/pubkey.c:1329,1
    - Dst: extract_cmp_data
      Src: /src/libgcrypt/tests/pubkey.c:1331,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1334,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1335,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/pubkey.c:1336,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1244
    functionDepth: 1
    functionLinenumber: 1244
    functionLinenumberEnd: 1337
    functionName: check_ed25519ecdsa_sample_key
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 0
    functionsReached:
    - gcry_pk_sign
    - fprintf
    - gpg_strerror
    - gcry_sexp_release
    - extract_cmp_data
    - die
    - gcry_pk_verify
    - gcry_sexp_new
    linkageType: ''
    returnType: void
    signature: void check_ed25519ecdsa_sample_key (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/pubkey.c:1346,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/pubkey.c:1348,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/pubkey.c:1354,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/pubkey.c:1355,1
    - Dst: die
      Src: /src/libgcrypt/tests/pubkey.c:1356,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/pubkey.c:1357,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/pubkey.c:1359,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/pubkey.c:1361,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/pubkey.c:1363,1
    - Dst: check_run
      Src: /src/libgcrypt/tests/pubkey.c:1367,1
    - Dst: check_x931_derived_key
      Src: /src/libgcrypt/tests/pubkey.c:1371,1
    - Dst: check_ecc_sample_key
      Src: /src/libgcrypt/tests/pubkey.c:1375,1
    - Dst: check_ed25519ecdsa_sample_key
      Src: /src/libgcrypt/tests/pubkey.c:1376,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1341
    functionDepth: 4
    functionLinenumber: 1341
    functionLinenumberEnd: 1380
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/pubkey.c
    functionUses: 11
    functionsReached:
    - gcry_check_version
    - check_x931_derived_key
    - check_run
    - strcmp
    - xgcry_control
    - gcry_fips_mode_active
    - die
    - check_ecc_sample_key
    - check_ed25519ecdsa_sample_key
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: BUG
    functionSourceFile: /src/libgcrypt/tests/benchmark.c
    functionUses: 126
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUG()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/tests/benchmark.c:411,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/benchmark.c:412,1
    - Dst: malloc
      Src: /src/libgcrypt/tests/benchmark.c:413,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:415,1
    - Dst: gcry_sexp_sprint
      Src: /src/libgcrypt/tests/benchmark.c:417,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - prefix
    - a
    argTypes:
    - char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 419
    functionName: show_sexp
    functionSourceFile: /src/libgcrypt/tests/benchmark.c
    functionUses: 28
    functionsReached:
    - fprintf
    - malloc
    - fputs
    - gcry_sexp_sprint
    - die
    linkageType: ''
    returnType: void
    signature: void show_sexp (const char *prefix, gcry_sexp_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/libgcrypt/tests/benchmark.c:430,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:431,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:435,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - cb_data
    - what
    - printchar
    - current
    - total
    argTypes:
    - void*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 439
    functionName: progress_cb
    functionSourceFile: /src/libgcrypt/tests/benchmark.c
    functionUses: 12
    functionsReached:
    - fprintf
    - fflush
    - fputc
    linkageType: ''
    returnType: void
    signature: "void progress_cb (void *cb_data, const char *what, int printchar,\n
      \            int current, int total)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:448,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:452,1
    - Dst: gcry_randomize
      Src: /src/libgcrypt/tests/benchmark.c:454,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:455,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:456,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:456,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:459,1
    - Dst: gcry_randomize
      Src: /src/libgcrypt/tests/benchmark.c:461,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:463,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:464,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:464,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:466,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/benchmark.c:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - very_strong
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 469
    functionName: random_bench
    functionSourceFile: /src/libgcrypt/tests/benchmark.c
    functionUses: 0
    functionsReached:
    - elapsed_time
    - start_timer
    - printf
    - putchar
    - gcry_randomize
    - xgcry_control
    - stop_timer
    linkageType: ''
    returnType: void
    signature: void random_bench (int very_strong)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_test_algo
      Src: /src/libgcrypt/tests/benchmark.c:494,1
    - Dst: md_bench
      Src: /src/libgcrypt/tests/benchmark.c:495,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/benchmark.c:495,1
    - Dst: gcry_md_map_name
      Src: /src/libgcrypt/tests/benchmark.c:501,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:504,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:505,1
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/benchmark.c:508,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:511,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:512,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:518,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/benchmark.c:518,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:520,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/benchmark.c:523,1
    - Dst: gcry_md_final
      Src: /src/libgcrypt/tests/benchmark.c:524,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:525,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:526,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:526,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:527,1
    - Dst: gcry_md_reset
      Src: /src/libgcrypt/tests/benchmark.c:529,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:530,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/benchmark.c:533,1
    - Dst: gcry_md_final
      Src: /src/libgcrypt/tests/benchmark.c:534,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:535,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:536,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:536,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:537,1
    - Dst: gcry_md_reset
      Src: /src/libgcrypt/tests/benchmark.c:539,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:540,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/benchmark.c:543,1
    - Dst: gcry_md_final
      Src: /src/libgcrypt/tests/benchmark.c:544,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:545,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:546,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:546,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:547,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:549,1
    - Dst: gcry_md_putc
      Src: /src/libgcrypt/tests/benchmark.c:553,1
    - Dst: gcry_md_final
      Src: /src/libgcrypt/tests/benchmark.c:554,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:555,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:556,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:556,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:557,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/benchmark.c:559,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/benchmark.c:564,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:565,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/libgcrypt/tests/benchmark.c:567,1
    - Dst: malloc
      Src: /src/libgcrypt/tests/benchmark.c:569,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:571,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:577,1
    - Dst: gcry_md_hash_buffer
      Src: /src/libgcrypt/tests/benchmark.c:580,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:581,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:582,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:582,1
    - Dst: free
      Src: /src/libgcrypt/tests/benchmark.c:583,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:586,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:587,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 1
    argNames:
    - algoname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 588
    functionName: md_bench
    functionSourceFile: /src/libgcrypt/tests/benchmark.c
    functionUses: 1
    functionsReached:
    - gcry_md_hash_buffer
    - exit
    - gcry_md_final
    - gcry_md_close
    - start_timer
    - printf
    - gcry_md_algo_name
    - gcry_md_reset
    - fflush
    - die
    - gcry_md_open
    - elapsed_time
    - gcry_md_putc
    - fprintf
    - md_bench
    - gcry_md_map_name
    - gcry_md_test_algo
    - malloc
    - stop_timer
    - putchar
    - gcry_md_write
    - gcry_md_get_algo_dlen
    - free
    linkageType: ''
    returnType: void
    signature: void md_bench ( const char *algoname )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_test_algo
      Src: /src/libgcrypt/tests/benchmark.c:612,1
    - Dst: mac_bench
      Src: /src/libgcrypt/tests/benchmark.c:613,1
    - Dst: gcry_mac_algo_name
      Src: /src/libgcrypt/tests/benchmark.c:613,1
    - Dst: gcry_mac_map_name
      Src: /src/libgcrypt/tests/benchmark.c:619,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:622,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:623,1
    - Dst: gcry_mac_get_algo_maclen
      Src: /src/libgcrypt/tests/benchmark.c:626,1
    - Dst: gcry_mac_get_algo_keylen
      Src: /src/libgcrypt/tests/benchmark.c:630,1
    - Dst: gcry_mac_open
      Src: /src/libgcrypt/tests/benchmark.c:638,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:641,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:642,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:643,1
    - Dst: gcry_mac_setkey
      Src: /src/libgcrypt/tests/benchmark.c:646,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:649,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:650,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:651,1
    - Dst: gcry_mac_setiv
      Src: /src/libgcrypt/tests/benchmark.c:660,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:663,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:664,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:665,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:669,1
    - Dst: gcry_mac_algo_name
      Src: /src/libgcrypt/tests/benchmark.c:669,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:671,1
    - Dst: gcry_mac_write
      Src: /src/libgcrypt/tests/benchmark.c:674,1
    - Dst: gcry_mac_read
      Src: /src/libgcrypt/tests/benchmark.c:676,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:677,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:678,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:678,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:679,1
    - Dst: gcry_mac_reset
      Src: /src/libgcrypt/tests/benchmark.c:681,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:682,1
    - Dst: gcry_mac_write
      Src: /src/libgcrypt/tests/benchmark.c:686,1
    - Dst: gcry_mac_read
      Src: /src/libgcrypt/tests/benchmark.c:688,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:689,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:690,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:690,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:691,1
    - Dst: gcry_mac_reset
      Src: /src/libgcrypt/tests/benchmark.c:693,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:694,1
    - Dst: gcry_mac_write
      Src: /src/libgcrypt/tests/benchmark.c:698,1
    - Dst: gcry_mac_read
      Src: /src/libgcrypt/tests/benchmark.c:700,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:701,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:702,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:702,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:703,1
    - Dst: gcry_mac_close
      Src: /src/libgcrypt/tests/benchmark.c:705,1
    - Dst: memcmp
      Src: /src/libgcrypt/tests/benchmark.c:709,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:711,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:713,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:717,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:718,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 85
    argCount: 1
    argNames:
    - algoname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 719
    functionName: mac_bench
    functionSourceFile: /src/libgcrypt/tests/benchmark.c
    functionUses: 3
    functionsReached:
    - exit
    - gcry_mac_read
    - start_timer
    - printf
    - fflush
    - gcry_mac_setkey
    - mac_bench
    - gcry_mac_open
    - elapsed_time
    - fprintf
    - gpg_strerror
    - stop_timer
    - putchar
    - gcry_mac_get_algo_maclen
    - gcry_mac_get_algo_keylen
    - memcmp
    - gcry_mac_map_name
    - gcry_mac_algo_name
    - gcry_mac_test_algo
    - gcry_mac_setiv
    - gcry_mac_reset
    - gcry_mac_close
    - gcry_mac_write
    linkageType: ''
    returnType: void
    signature: void mac_bench ( const char *algoname )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/tests/benchmark.c:731,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/benchmark.c:733,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:736,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:737,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/benchmark.c:738,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:739,1
    - Dst: gcry_cipher_ctl
      Src: /src/libgcrypt/tests/benchmark.c:745,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:748,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:749,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/benchmark.c:750,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:751,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - hd
    - buflen
    - authlen
    argTypes:
    - gcry_cipher_hd_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 753
    functionName: ccm_aead_init
    functionSourceFile: /src/libgcrypt/tests/benchmark.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_setiv
    - exit
    - fprintf
    - gpg_strerror
    - memset
    - gcry_cipher_ctl
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void ccm_aead_init(gcry_cipher_hd_t hd, size_t buflen, int authlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_encrypt
      Src: /src/libgcrypt/tests/benchmark.c:769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - h
    - out
    - outsize
    - in
    - inlen
    - max_inlen
    argTypes:
    - gcry_cipher_hd_t
    - char*
    - size_t
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 780
    functionName: cipher_encrypt
    functionSourceFile: /src/libgcrypt/tests/benchmark.c
    functionUses: 58
    functionsReached:
    - gcry_cipher_encrypt
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t cipher_encrypt (gcry_cipher_hd_t h, char *out, size_t
      outsize,\n\t\tconst char *in, size_t inlen, size_t max_inlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_decrypt
      Src: /src/libgcrypt/tests/benchmark.c:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - h
    - out
    - outsize
    - in
    - inlen
    - max_inlen
    argTypes:
    - gcry_cipher_hd_t
    - char*
    - size_t
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 807
    functionName: cipher_decrypt
    functionSourceFile: /src/libgcrypt/tests/benchmark.c
    functionUses: 52
    functionsReached:
    - gcry_cipher_decrypt
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t cipher_decrypt (gcry_cipher_hd_t h, char *out, size_t
      outsize,\n\t\tconst char *in, size_t inlen, size_t max_inlen)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_test_algo
      Src: /src/libgcrypt/tests/benchmark.c:860,1
    - Dst: cipher_bench
      Src: /src/libgcrypt/tests/benchmark.c:861,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/benchmark.c:861,1
    - Dst: gcry_xcalloc
      Src: /src/libgcrypt/tests/benchmark.c:882,1
    - Dst: gcry_xmalloc
      Src: /src/libgcrypt/tests/benchmark.c:885,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:892,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:893,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:896,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:897,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:898,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:901,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:902,1
    - Dst: gcry_cipher_map_name
      Src: /src/libgcrypt/tests/benchmark.c:906,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:909,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:910,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/tests/benchmark.c:913,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:916,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:918,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:922,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:924,1
    - Dst: clock
      Src: /src/libgcrypt/tests/benchmark.c:927,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/tests/benchmark.c:929,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:932,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:934,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:937,1
    - Dst: gcry_cipher_algo_name
      Src: /src/libgcrypt/tests/benchmark.c:937,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:938,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:960,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/benchmark.c:967,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:970,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:971,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/benchmark.c:976,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:979,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:980,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/benchmark.c:981,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:982,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:990,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/benchmark.c:995,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:998,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:999,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/benchmark.c:1000,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1001,1
    - Dst: memset
      Src: /src/libgcrypt/tests/benchmark.c:1013,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/benchmark.c:1014,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:1017,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1018,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/benchmark.c:1019,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1020,1
    - Dst: gcry_cipher_final
      Src: /src/libgcrypt/tests/benchmark.c:1027,1
    - Dst: cipher_encrypt
      Src: /src/libgcrypt/tests/benchmark.c:1028,1
    - Dst: gcry_cipher_gettag
      Src: /src/libgcrypt/tests/benchmark.c:1032,1
    - Dst: cipher_encrypt
      Src: /src/libgcrypt/tests/benchmark.c:1036,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:1040,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1042,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:1042,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1043,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/benchmark.c:1044,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:1047,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1048,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1049,1
    - Dst: gcry_cipher_open
      Src: /src/libgcrypt/tests/benchmark.c:1052,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:1055,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1056,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/benchmark.c:1061,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:1064,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1065,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/benchmark.c:1066,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1067,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:1071,1
    - Dst: gcry_cipher_setkey
      Src: /src/libgcrypt/tests/benchmark.c:1076,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:1079,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1080,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/benchmark.c:1081,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1082,1
    - Dst: memset
      Src: /src/libgcrypt/tests/benchmark.c:1094,1
    - Dst: gcry_cipher_setiv
      Src: /src/libgcrypt/tests/benchmark.c:1095,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:1098,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1099,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/benchmark.c:1100,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1101,1
    - Dst: gcry_cipher_final
      Src: /src/libgcrypt/tests/benchmark.c:1108,1
    - Dst: cipher_decrypt
      Src: /src/libgcrypt/tests/benchmark.c:1109,1
    - Dst: gcry_cipher_checktag
      Src: /src/libgcrypt/tests/benchmark.c:1113,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/tests/benchmark.c:1114,1
    - Dst: gcry_cipher_final
      Src: /src/libgcrypt/tests/benchmark.c:1119,1
    - Dst: cipher_decrypt
      Src: /src/libgcrypt/tests/benchmark.c:1120,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:1124,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1125,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:1125,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1126,1
    - Dst: gcry_cipher_close
      Src: /src/libgcrypt/tests/benchmark.c:1127,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:1130,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1131,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1132,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:1136,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/benchmark.c:1137,1
    - Dst: gcry_free
      Src: /src/libgcrypt/tests/benchmark.c:1138,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 192
    argCount: 1
    argNames:
    - algoname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 810
    functionDepth: 2
    functionLinenumber: 810
    functionLinenumberEnd: 1139
    functionName: cipher_bench
    functionSourceFile: /src/libgcrypt/tests/benchmark.c
    functionUses: 3
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - gcry_cipher_algo_name
    - gcry_cipher_setiv
    - cipher_decrypt
    - exit
    - cipher_encrypt
    - clock
    - gcry_cipher_final
    - gcry_cipher_get_algo_keylen
    - gcry_cipher_open
    - start_timer
    - printf
    - fflush
    - gcry_cipher_test_algo
    - gcry_cipher_checktag
    - elapsed_time
    - gcry_cipher_setkey
    - gcry_xmalloc
    - gcry_xcalloc
    - fprintf
    - gcry_cipher_gettag
    - gpg_strerror
    - cipher_bench
    - memset
    - putchar
    - stop_timer
    - gcry_free
    - gcry_cipher_map_name
    - gpg_err_code
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void cipher_bench ( const char *algoname )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1152,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/benchmark.c:1155,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1164,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1165,1
    - Dst: puts
      Src: /src/libgcrypt/tests/benchmark.c:1169,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/benchmark.c:1173,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/benchmark.c:1174,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:1179,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1179,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:1181,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/benchmark.c:1182,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:1184,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1185,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/benchmark.c:1187,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:1189,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/benchmark.c:1190,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:1192,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1193,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1194,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:1196,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1197,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:1197,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1198,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/benchmark.c:1200,1
    - Dst: gcry_mpi_randomize
      Src: /src/libgcrypt/tests/benchmark.c:1201,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/benchmark.c:1202,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/benchmark.c:1204,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:1206,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1206,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:1208,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1211,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/benchmark.c:1212,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:1214,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1214,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:1216,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1217,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:1217,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1218,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:1220,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/benchmark.c:1223,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:1226,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/benchmark.c:1227,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/benchmark.c:1228,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/benchmark.c:1229,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:1230,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1230,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:1233,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1234,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:1234,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1238,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/benchmark.c:1239,1
    - Dst: gcry_mpi_randomize
      Src: /src/libgcrypt/tests/benchmark.c:1240,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/benchmark.c:1241,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/benchmark.c:1243,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:1245,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1245,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:1247,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1250,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/benchmark.c:1251,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:1253,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1253,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:1255,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1256,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:1256,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1257,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:1260,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1261,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1263,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1264,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1265,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1266,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 86
    argCount: 3
    argNames:
    - iterations
    - print_header
    - no_blinding
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1143
    functionDepth: 1
    functionLinenumber: 1143
    functionLinenumberEnd: 1273
    functionName: rsa_bench
    functionSourceFile: /src/libgcrypt/tests/benchmark.c
    functionUses: 0
    functionsReached:
    - gcry_sexp_find_token
    - puts
    - gcry_strerror
    - start_timer
    - printf
    - DIM
    - fflush
    - gcry_mpi_randomize
    - gcry_sexp_release
    - die
    - gcry_sexp_build
    - gcry_pk_verify
    - gcry_mpi_new
    - elapsed_time
    - gcry_pk_genkey
    - gpg_strerror
    - gcry_fips_mode_active
    - stop_timer
    - putchar
    - gcry_mpi_release
    - show_sexp
    - gcry_pk_sign
    linkageType: ''
    returnType: void
    signature: void rsa_bench (int iterations, int print_header, int no_blinding)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/benchmark.c:1288,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/benchmark.c:1289,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/benchmark.c:1291,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/benchmark.c:1292,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/benchmark.c:1294,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/benchmark.c:1295,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/benchmark.c:1297,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/benchmark.c:1298,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/benchmark.c:1300,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/benchmark.c:1301,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/benchmark.c:1303,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/benchmark.c:1304,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:1307,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1308,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1309,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1313,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/benchmark.c:1316,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/benchmark.c:1321,1
    - Dst: gcry_mpi_randomize
      Src: /src/libgcrypt/tests/benchmark.c:1322,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/benchmark.c:1323,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/benchmark.c:1324,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:1328,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1329,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1330,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1333,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1334,1
    - Dst: puts
      Src: /src/libgcrypt/tests/benchmark.c:1338,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:1342,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1345,1
    - Dst: gcry_pk_encrypt
      Src: /src/libgcrypt/tests/benchmark.c:1346,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:1349,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:1350,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1351,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1352,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:1355,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/benchmark.c:1356,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:1356,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1357,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:1359,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1362,1
    - Dst: gcry_pk_decrypt
      Src: /src/libgcrypt/tests/benchmark.c:1363,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:1366,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:1367,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1368,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1369,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:1372,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1374,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:1374,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1375,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1378,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1380,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1382,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/benchmark.c:1386,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1388,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1389,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 75
    argCount: 2
    argNames:
    - iterations
    - print_header
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1276
    functionDepth: 1
    functionLinenumber: 1276
    functionLinenumberEnd: 1395
    functionName: elg_bench
    functionSourceFile: /src/libgcrypt/tests/benchmark.c
    functionUses: 0
    functionsReached:
    - strlen
    - exit
    - gcry_sexp_sscan
    - puts
    - gcry_pk_encrypt
    - gcry_strerror
    - start_timer
    - printf
    - DIM
    - fflush
    - gcry_mpi_randomize
    - gcry_sexp_release
    - gcry_sexp_build
    - gcry_pk_decrypt
    - gcry_mpi_new
    - elapsed_time
    - fprintf
    - gpg_strerror
    - putchar
    - stop_timer
    - gcry_mpi_release
    - snprintf
    linkageType: ''
    returnType: void
    signature: void elg_bench (int iterations, int print_header)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/benchmark.c:1410,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/benchmark.c:1411,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/benchmark.c:1413,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/benchmark.c:1414,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/benchmark.c:1416,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/benchmark.c:1417,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/benchmark.c:1419,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/benchmark.c:1420,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/benchmark.c:1422,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/benchmark.c:1423,1
    - Dst: gcry_sexp_sscan
      Src: /src/libgcrypt/tests/benchmark.c:1425,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/benchmark.c:1426,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:1429,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1430,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1431,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1435,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/benchmark.c:1438,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/benchmark.c:1442,1
    - Dst: gcry_mpi_randomize
      Src: /src/libgcrypt/tests/benchmark.c:1443,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/benchmark.c:1444,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/benchmark.c:1445,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:1448,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1449,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1450,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1453,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1454,1
    - Dst: puts
      Src: /src/libgcrypt/tests/benchmark.c:1458,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:1462,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1465,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/benchmark.c:1466,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:1469,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:1470,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1471,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1472,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:1475,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1476,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:1476,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1477,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:1479,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/benchmark.c:1482,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:1485,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:1486,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1487,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1488,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:1491,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1492,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:1492,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1493,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1496,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1497,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/benchmark.c:1502,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1504,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1505,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 2
    argNames:
    - iterations
    - print_header
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1511
    functionName: dsa_bench
    functionSourceFile: /src/libgcrypt/tests/benchmark.c
    functionUses: 0
    functionsReached:
    - strlen
    - exit
    - gcry_sexp_sscan
    - puts
    - gcry_strerror
    - start_timer
    - printf
    - DIM
    - fflush
    - gcry_mpi_randomize
    - gcry_sexp_release
    - gcry_sexp_build
    - gcry_pk_verify
    - gcry_mpi_new
    - elapsed_time
    - fprintf
    - gpg_strerror
    - putchar
    - stop_timer
    - gcry_mpi_release
    - gcry_pk_sign
    linkageType: ''
    returnType: void
    signature: void dsa_bench (int iterations, int print_header)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1524,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/benchmark.c:1527,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1539,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1540,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/benchmark.c:1541,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/benchmark.c:1544,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1545,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1551,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1552,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1557,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1558,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/benchmark.c:1562,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1563,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1564,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/benchmark.c:1568,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1569,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1571,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/benchmark.c:1574,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/benchmark.c:1578,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/benchmark.c:1582,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/benchmark.c:1586,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:1589,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1589,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:1591,1
    - Dst: gcry_pk_genkey
      Src: /src/libgcrypt/tests/benchmark.c:1592,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:1594,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1595,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/benchmark.c:1597,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/benchmark.c:1599,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:1601,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/benchmark.c:1602,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:1604,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1605,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1606,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:1608,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1609,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:1609,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1610,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/benchmark.c:1612,1
    - Dst: gcry_mpi_randomize
      Src: /src/libgcrypt/tests/benchmark.c:1613,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/benchmark.c:1615,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/benchmark.c:1619,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/benchmark.c:1623,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/benchmark.c:1625,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/benchmark.c:1626,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:1629,1
    - Dst: gcry_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1629,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:1631,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1634,1
    - Dst: gcry_pk_sign
      Src: /src/libgcrypt/tests/benchmark.c:1635,1
    - Dst: putc
      Src: /src/libgcrypt/tests/benchmark.c:1640,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/benchmark.c:1641,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/benchmark.c:1642,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:1644,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1644,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:1647,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1648,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:1648,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1649,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:1651,1
    - Dst: gcry_pk_verify
      Src: /src/libgcrypt/tests/benchmark.c:1654,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:1657,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/benchmark.c:1658,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/benchmark.c:1659,1
    - Dst: show_sexp
      Src: /src/libgcrypt/tests/benchmark.c:1660,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:1661,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1661,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:1664,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1665,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:1665,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1666,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1668,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1669,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1670,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/benchmark.c:1671,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 103
    argCount: 2
    argNames:
    - iterations
    - print_header
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1514
    functionDepth: 1
    functionLinenumber: 1514
    functionLinenumberEnd: 1677
    functionName: ecc_bench
    functionSourceFile: /src/libgcrypt/tests/benchmark.c
    functionUses: 2
    functionsReached:
    - gcry_sexp_find_token
    - gcry_strerror
    - putc
    - start_timer
    - printf
    - DIM
    - fflush
    - gcry_mpi_randomize
    - gcry_sexp_release
    - die
    - gcry_sexp_build
    - strncmp
    - gcry_mpi_new
    - gcry_pk_verify
    - elapsed_time
    - gcry_pk_genkey
    - strcmp
    - gpg_strerror
    - gcry_fips_mode_active
    - stop_timer
    - putchar
    - gcry_mpi_release
    - atoi
    - show_sexp
    - gcry_pk_sign
    linkageType: ''
    returnType: void
    signature: void ecc_bench (int iterations, int print_header)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/benchmark.c:1688,1
    - Dst: BUG
      Src: /src/libgcrypt/tests/benchmark.c:1689,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/benchmark.c:1690,1
    - Dst: BUG
      Src: /src/libgcrypt/tests/benchmark.c:1691,1
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/tests/benchmark.c:1692,1
    - Dst: BUG
      Src: /src/libgcrypt/tests/benchmark.c:1693,1
    - Dst: gcry_mpi_new
      Src: /src/libgcrypt/tests/benchmark.c:1695,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:1697,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/tests/benchmark.c:1699,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:1700,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1701,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:1701,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1701,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/benchmark.c:1710,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/benchmark.c:1711,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/benchmark.c:1712,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/benchmark.c:1713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - n_str
    - e_str
    - m_str
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1681
    functionDepth: 1
    functionLinenumber: 1681
    functionLinenumberEnd: 1714
    functionName: do_powm
    functionSourceFile: /src/libgcrypt/tests/benchmark.c
    functionUses: 0
    functionsReached:
    - elapsed_time
    - start_timer
    - printf
    - BUG
    - fflush
    - gcry_mpi_powm
    - stop_timer
    - gcry_mpi_new
    - gcry_mpi_scan
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void do_powm ( const char *n_str, const char *e_str, const char *m_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1720,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1720,1
    - Dst: do_powm
      Src: /src/libgcrypt/tests/benchmark.c:1722,1
    - Dst: do_powm
      Src: /src/libgcrypt/tests/benchmark.c:1727,1
    - Dst: do_powm
      Src: /src/libgcrypt/tests/benchmark.c:1732,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:1738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1741
    functionName: mpi_bench
    functionSourceFile: /src/libgcrypt/tests/benchmark.c
    functionUses: 2
    functionsReached:
    - do_powm
    - fflush
    - putchar
    - printf
    linkageType: ''
    returnType: void
    signature: void mpi_bench (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1754,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1755,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/benchmark.c:1756,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/benchmark.c:1760,1
    - Dst: gcry_prime_generate
      Src: /src/libgcrypt/tests/benchmark.c:1761,1
    - Dst: fputc
      Src: /src/libgcrypt/tests/benchmark.c:1769,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1770,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:1774,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/benchmark.c:1775,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1776,1
    - Dst: gcry_mpi_release
      Src: /src/libgcrypt/tests/benchmark.c:1778,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/benchmark.c:1780,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1782,1
    - Dst: printf
      Src: /src/libgcrypt/tests/benchmark.c:1783,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/benchmark.c:1783,1
    - Dst: fflush
      Src: /src/libgcrypt/tests/benchmark.c:1783,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1744
    functionDepth: 1
    functionLinenumber: 1744
    functionLinenumberEnd: 1786
    functionName: prime_bench
    functionSourceFile: /src/libgcrypt/tests/benchmark.c
    functionUses: 0
    functionsReached:
    - elapsed_time
    - start_timer
    - printf
    - gcry_prime_generate
    - exit
    - fprintf
    - fflush
    - gpg_strerror
    - fputs
    - fputc
    - stop_timer
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void prime_bench (void)
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/benchmark.c:1804,1
    - Dst: getenv
      Src: /src/libgcrypt/tests/benchmark.c:1804,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1805,1
    - Dst: getenv
      Src: /src/libgcrypt/tests/benchmark.c:1807,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1816,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1821,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/benchmark.c:1823,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1826,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1828,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1833,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1839,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1844,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/benchmark.c:1848,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1851,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/benchmark.c:1853,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1856,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/benchmark.c:1858,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1861,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1866,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1871,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1876,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/benchmark.c:1881,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1885,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1890,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/benchmark.c:1895,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1899,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/benchmark.c:1904,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1908,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/benchmark.c:1913,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1917,1
    - Dst: atoi
      Src: /src/libgcrypt/tests/benchmark.c:1922,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1926,1
    - Dst: gcry_control
      Src: /src/libgcrypt/tests/benchmark.c:1931,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:1932,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1937,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/benchmark.c:1941,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:1943,1
    - Dst: die
      Src: /src/libgcrypt/tests/benchmark.c:1951,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/benchmark.c:1953,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/benchmark.c:1955,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:1957,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/benchmark.c:1958,1
    - Dst: exit
      Src: /src/libgcrypt/tests/benchmark.c:1959,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/benchmark.c:1963,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/benchmark.c:1965,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/benchmark.c:1968,1
    - Dst: gcry_set_progress_handler
      Src: /src/libgcrypt/tests/benchmark.c:1971,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/benchmark.c:1973,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/benchmark.c:1983,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/benchmark.c:1987,1
    - Dst: md_bench
      Src: /src/libgcrypt/tests/benchmark.c:1988,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:1989,1
    - Dst: mac_bench
      Src: /src/libgcrypt/tests/benchmark.c:1990,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:1991,1
    - Dst: cipher_bench
      Src: /src/libgcrypt/tests/benchmark.c:1992,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:1993,1
    - Dst: rsa_bench
      Src: /src/libgcrypt/tests/benchmark.c:1994,1
    - Dst: elg_bench
      Src: /src/libgcrypt/tests/benchmark.c:1995,1
    - Dst: dsa_bench
      Src: /src/libgcrypt/tests/benchmark.c:1996,1
    - Dst: ecc_bench
      Src: /src/libgcrypt/tests/benchmark.c:1997,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:1998,1
    - Dst: mpi_bench
      Src: /src/libgcrypt/tests/benchmark.c:1999,1
    - Dst: putchar
      Src: /src/libgcrypt/tests/benchmark.c:2000,1
    - Dst: random_bench
      Src: /src/libgcrypt/tests/benchmark.c:2001,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:2003,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:2003,1
    - Dst: random_bench
      Src: /src/libgcrypt/tests/benchmark.c:2006,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/benchmark.c:2009,1
    - Dst: random_bench
      Src: /src/libgcrypt/tests/benchmark.c:2010,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/benchmark.c:2011,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/benchmark.c:2014,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:2016,1
    - Dst: md_bench
      Src: /src/libgcrypt/tests/benchmark.c:2019,1
    - Dst: md_bench
      Src: /src/libgcrypt/tests/benchmark.c:2022,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:2024,1
    - Dst: mac_bench
      Src: /src/libgcrypt/tests/benchmark.c:2027,1
    - Dst: mac_bench
      Src: /src/libgcrypt/tests/benchmark.c:2030,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:2032,1
    - Dst: cipher_bench
      Src: /src/libgcrypt/tests/benchmark.c:2035,1
    - Dst: cipher_bench
      Src: /src/libgcrypt/tests/benchmark.c:2038,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:2040,1
    - Dst: mpi_bench
      Src: /src/libgcrypt/tests/benchmark.c:2042,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:2044,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/benchmark.c:2046,1
    - Dst: rsa_bench
      Src: /src/libgcrypt/tests/benchmark.c:2047,1
    - Dst: elg_bench
      Src: /src/libgcrypt/tests/benchmark.c:2048,1
    - Dst: dsa_bench
      Src: /src/libgcrypt/tests/benchmark.c:2049,1
    - Dst: ecc_bench
      Src: /src/libgcrypt/tests/benchmark.c:2050,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:2052,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/benchmark.c:2054,1
    - Dst: rsa_bench
      Src: /src/libgcrypt/tests/benchmark.c:2055,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:2057,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/benchmark.c:2059,1
    - Dst: elg_bench
      Src: /src/libgcrypt/tests/benchmark.c:2060,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:2062,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/benchmark.c:2064,1
    - Dst: dsa_bench
      Src: /src/libgcrypt/tests/benchmark.c:2065,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:2067,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/benchmark.c:2069,1
    - Dst: ecc_bench
      Src: /src/libgcrypt/tests/benchmark.c:2070,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/benchmark.c:2072,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/benchmark.c:2074,1
    - Dst: prime_bench
      Src: /src/libgcrypt/tests/benchmark.c:2075,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:2079,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/benchmark.c:2084,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/benchmark.c:2085,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 245
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 1789
    functionDepth: 2
    functionLinenumber: 1789
    functionLinenumberEnd: 2088
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/benchmark.c
    functionUses: 11
    functionsReached:
    - prime_bench
    - exit
    - dsa_bench
    - xgcry_control
    - random_bench
    - die
    - gcry_check_version
    - gcry_control
    - strcmp
    - fprintf
    - md_bench
    - cipher_bench
    - gcry_fips_mode_active
    - putchar
    - mpi_bench
    - rsa_bench
    - atoi
    - getenv
    - elg_bench
    - ecc_bench
    - fputs
    - gcry_set_progress_handler
    - mac_bench
    linkageType: ''
    returnType: int
    signature: int main( int argc, char **argv )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/t-ecdsa.c:46,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-ecdsa.c:47,1
    - Dst: fprintf
      Src: /src/libgcrypt/tests/t-ecdsa.c:49,1
    - Dst: va_start
      Src: /src/libgcrypt/tests/t-ecdsa.c:50,1
    - Dst: vfprintf
      Src: /src/libgcrypt/tests/t-ecdsa.c:51,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-ecdsa.c:52,1
    - Dst: putc
      Src: /src/libgcrypt/tests/t-ecdsa.c:53,1
    - Dst: va_end
      Src: /src/libgcrypt/tests/t-ecdsa.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: show_note
    functionSourceFile: /src/libgcrypt/tests/t-ecdsa.c
    functionUses: 16
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - getenv
    - fprintf
    - va_start
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: void show_note (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/tests/t-ecdsa.c:66,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-ecdsa.c:69,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-ecdsa.c:69,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-ecdsa.c:69,1
    - Dst: strcpy
      Src: /src/libgcrypt/tests/t-ecdsa.c:70,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/t-ecdsa.c:71,1
    - Dst: strcat
      Src: /src/libgcrypt/tests/t-ecdsa.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: prepend_srcdir
    functionSourceFile: /src/libgcrypt/tests/t-ecdsa.c
    functionUses: 17
    functionsReached:
    - strlen
    - getenv
    - xmalloc
    - strcpy
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      prepend_srcdir (const char *fname)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/libgcrypt/tests/t-ecdsa.c:87,1
    - Dst: feof
      Src: /src/libgcrypt/tests/t-ecdsa.c:89,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-ecdsa.c:91,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-ecdsa.c:91,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-ecdsa.c:94,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-ecdsa.c:96,1
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/t-ecdsa.c:98,1
    - Dst: isspace
      Src: /src/libgcrypt/tests/t-ecdsa.c:98,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-ecdsa.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - fp
    - lineno
    argTypes:
    - FILE*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 105
    functionName: read_textline
    functionSourceFile: /src/libgcrypt/tests/t-ecdsa.c
    functionUses: 12
    functionsReached:
    - my_isascii
    - feof
    - strchr
    - isspace
    - xstrdup
    - die
    - fgets
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      read_textline (FILE *fp, int *lineno)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:119,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:122,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-ecdsa.c:125,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:128,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-ecdsa.c:131,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-ecdsa.c:134,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:137,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-ecdsa.c:140,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-ecdsa.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - buffer
    - buffer2
    - line
    - lineno
    argTypes:
    - char**
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 143
    functionName: parse_annotation
    functionSourceFile: /src/libgcrypt/tests/t-ecdsa.c
    functionUses: 3
    functionsReached:
    - fail
    - strlen
    - strchr
    - xfree
    - xstrdup
    linkageType: ''
    returnType: void
    signature: void parse_annotation (char **buffer, char **buffer2, const char *line,
      int lineno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:152,1
    - Dst: strchr
      Src: /src/libgcrypt/tests/t-ecdsa.c:155,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:158,1
    - Dst: my_isascii
      Src: /src/libgcrypt/tests/t-ecdsa.c:161,1
    - Dst: isspace
      Src: /src/libgcrypt/tests/t-ecdsa.c:161,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-ecdsa.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buffer
    - line
    - lineno
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 164
    functionName: copy_data
    functionSourceFile: /src/libgcrypt/tests/t-ecdsa.c
    functionUses: 9
    functionsReached:
    - my_isascii
    - fail
    - strchr
    - xfree
    - isspace
    - xstrdup
    linkageType: ''
    returnType: void
    signature: void copy_data (char **buffer, const char *line, int lineno)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-ecdsa.c:180,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-ecdsa.c:182,1
    - Dst: strlen
      Src: /src/libgcrypt/tests/t-ecdsa.c:182,1
    - Dst: xtoi_1
      Src: /src/libgcrypt/tests/t-ecdsa.c:187,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-ecdsa.c:197,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/tests/t-ecdsa.c:197,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:199,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/tests/t-ecdsa.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 206
    functionName: hex2buffer
    functionSourceFile: /src/libgcrypt/tests/t-ecdsa.c
    functionUses: 28
    functionsReached:
    - hexdigitp
    - xtoi_1
    - strlen
    - xmalloc
    - xfree
    - xtoi_2
    linkageType: ''
    returnType: void
    signature: 'void *

      hex2buffer (const char *string, size_t *r_length)'
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-ecdsa.c:241,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:243,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:244,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:245,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:246,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/t-ecdsa.c:248,1
    - Dst: strcpy
      Src: /src/libgcrypt/tests/t-ecdsa.c:249,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:253,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:258,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:260,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:262,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:264,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:266,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:268,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:272,1
    - Dst: gcry_md_open
      Src: /src/libgcrypt/tests/t-ecdsa.c:277,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:280,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ecdsa.c:280,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-ecdsa.c:284,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:286,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-ecdsa.c:290,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:292,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-ecdsa.c:296,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:298,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-ecdsa.c:304,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/t-ecdsa.c:306,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/t-ecdsa.c:307,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-ecdsa.c:309,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:316,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ecdsa.c:317,1
    - Dst: gcry_sexp_build
      Src: /src/libgcrypt/tests/t-ecdsa.c:321,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:327,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ecdsa.c:328,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:332,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:333,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:334,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:336,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-ecdsa.c:339,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:341,1
    - Dst: gcry_md_write
      Src: /src/libgcrypt/tests/t-ecdsa.c:346,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:347,1
    - Dst: hex2buffer
      Src: /src/libgcrypt/tests/t-ecdsa.c:350,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:352,1
    - Dst: gcry_pk_random_override_new
      Src: /src/libgcrypt/tests/t-ecdsa.c:357,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:360,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ecdsa.c:361,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:365,1
    - Dst: gcry_pk_hash_sign
      Src: /src/libgcrypt/tests/t-ecdsa.c:370,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:373,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ecdsa.c:373,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-ecdsa.c:377,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/t-ecdsa.c:379,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:381,1
    - Dst: gcry_pk_hash_sign
      Src: /src/libgcrypt/tests/t-ecdsa.c:384,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:387,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/t-ecdsa.c:388,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ecdsa.c:388,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-ecdsa.c:395,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-ecdsa.c:399,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ecdsa.c:402,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-ecdsa.c:404,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-ecdsa.c:411,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgcrypt/tests/t-ecdsa.c:414,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ecdsa.c:415,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ecdsa.c:416,1
    - Dst: gcry_sexp_nth_data
      Src: /src/libgcrypt/tests/t-ecdsa.c:420,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/t-ecdsa.c:422,1
    - Dst: memset
      Src: /src/libgcrypt/tests/t-ecdsa.c:425,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/t-ecdsa.c:426,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ecdsa.c:428,1
    - Dst: gcry_sexp_find_token
      Src: /src/libgcrypt/tests/t-ecdsa.c:430,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-ecdsa.c:437,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgcrypt/tests/t-ecdsa.c:440,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ecdsa.c:441,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ecdsa.c:442,1
    - Dst: gcry_sexp_nth_data
      Src: /src/libgcrypt/tests/t-ecdsa.c:446,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/t-ecdsa.c:448,1
    - Dst: memset
      Src: /src/libgcrypt/tests/t-ecdsa.c:451,1
    - Dst: memcpy
      Src: /src/libgcrypt/tests/t-ecdsa.c:452,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ecdsa.c:454,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ecdsa.c:458,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-ecdsa.c:460,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-ecdsa.c:464,1
    - Dst: xmalloc
      Src: /src/libgcrypt/tests/t-ecdsa.c:466,1
    - Dst: snprintf
      Src: /src/libgcrypt/tests/t-ecdsa.c:470,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:472,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:472,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:473,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:473,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:475,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-ecdsa.c:477,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-ecdsa.c:478,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-ecdsa.c:479,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-ecdsa.c:480,1
    - Dst: gcry_pk_hash_verify
      Src: /src/libgcrypt/tests/t-ecdsa.c:485,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:487,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ecdsa.c:488,1
    - Dst: gcry_pk_hash_verify
      Src: /src/libgcrypt/tests/t-ecdsa.c:490,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:492,1
    - Dst: gcry_md_algo_name
      Src: /src/libgcrypt/tests/t-ecdsa.c:493,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/t-ecdsa.c:493,1
    - Dst: gcry_ctx_release
      Src: /src/libgcrypt/tests/t-ecdsa.c:497,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ecdsa.c:498,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ecdsa.c:499,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ecdsa.c:500,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/t-ecdsa.c:501,1
    - Dst: gcry_md_close
      Src: /src/libgcrypt/tests/t-ecdsa.c:503,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:504,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:505,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:506,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:507,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:508,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:509,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:510,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:511,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 202
    argCount: 9
    argNames:
    - curvename
    - sha_alg
    - x
    - y
    - d
    - msg
    - k
    - r
    - s
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 512
    functionName: one_test_sexp
    functionSourceFile: /src/libgcrypt/tests/t-ecdsa.c
    functionUses: 3
    functionsReached:
    - gcry_sexp_find_token
    - xmalloc
    - gcry_md_close
    - memcpy
    - gcry_md_algo_name
    - gcry_pk_hash_verify
    - gcry_ctx_release
    - gcry_sexp_release
    - gcry_sexp_build
    - gcry_md_open
    - gpg_error_from_syserror
    - info
    - strcmp
    - gcry_sexp_nth_data
    - gpg_strerror
    - xfree
    - memset
    - gcry_md_write
    - fail
    - snprintf
    - hex2buffer
    - strcpy
    - gcry_pk_random_override_new
    - gcry_pk_hash_sign
    linkageType: ''
    returnType: void
    signature: "void one_test_sexp (const char *curvename, const char *sha_alg,\n\t
      \      const char *x, const char *y, const char *d,\n\t       const char *msg,
      const char *k,\n\t       const char *r, const char *s)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libgcrypt/tests/t-ecdsa.c:526,1
    - Dst: fopen
      Src: /src/libgcrypt/tests/t-ecdsa.c:528,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-ecdsa.c:530,1
    - Dst: strerror
      Src: /src/libgcrypt/tests/t-ecdsa.c:530,1
    - Dst: read_textline
      Src: /src/libgcrypt/tests/t-ecdsa.c:537,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:539,1
    - Dst: parse_annotation
      Src: /src/libgcrypt/tests/t-ecdsa.c:540,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:541,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-ecdsa.c:542,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:543,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-ecdsa.c:544,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:545,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-ecdsa.c:546,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:547,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-ecdsa.c:548,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:549,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-ecdsa.c:550,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:551,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-ecdsa.c:552,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:553,1
    - Dst: copy_data
      Src: /src/libgcrypt/tests/t-ecdsa.c:554,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:556,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:558,1
    - Dst: one_test_sexp
      Src: /src/libgcrypt/tests/t-ecdsa.c:561,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-ecdsa.c:564,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:565,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:566,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:567,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:568,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:569,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:570,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:571,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:575,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:576,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:577,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:578,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:579,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:580,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:581,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:582,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:583,1
    - Dst: fail
      Src: /src/libgcrypt/tests/t-ecdsa.c:586,1
    - Dst: show_note
      Src: /src/libgcrypt/tests/t-ecdsa.c:588,1
    - Dst: fclose
      Src: /src/libgcrypt/tests/t-ecdsa.c:590,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 591
    functionName: check_ecdsa
    functionSourceFile: /src/libgcrypt/tests/t-ecdsa.c
    functionUses: 0
    functionsReached:
    - fail
    - show_note
    - fclose
    - read_textline
    - info
    - copy_data
    - one_test_sexp
    - xfree
    - fopen
    - die
    - parse_annotation
    - strncmp
    - strerror
    linkageType: ''
    returnType: void
    signature: void check_ecdsa (const char *fname)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:606,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:611,1
    - Dst: fputs
      Src: /src/libgcrypt/tests/t-ecdsa.c:613,1
    - Dst: exit
      Src: /src/libgcrypt/tests/t-ecdsa.c:620,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:622,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:627,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:633,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:638,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:643,1
    - Dst: xstrdup
      Src: /src/libgcrypt/tests/t-ecdsa.c:644,1
    - Dst: strncmp
      Src: /src/libgcrypt/tests/t-ecdsa.c:648,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-ecdsa.c:649,1
    - Dst: prepend_srcdir
      Src: /src/libgcrypt/tests/t-ecdsa.c:654,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-ecdsa.c:658,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/t-ecdsa.c:659,1
    - Dst: die
      Src: /src/libgcrypt/tests/t-ecdsa.c:660,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-ecdsa.c:662,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-ecdsa.c:663,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/t-ecdsa.c:664,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/t-ecdsa.c:666,1
    - Dst: start_timer
      Src: /src/libgcrypt/tests/t-ecdsa.c:669,1
    - Dst: check_ecdsa
      Src: /src/libgcrypt/tests/t-ecdsa.c:670,1
    - Dst: stop_timer
      Src: /src/libgcrypt/tests/t-ecdsa.c:671,1
    - Dst: xfree
      Src: /src/libgcrypt/tests/t-ecdsa.c:673,1
    - Dst: info
      Src: /src/libgcrypt/tests/t-ecdsa.c:675,1
    - Dst: elapsed_time
      Src: /src/libgcrypt/tests/t-ecdsa.c:676,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 678
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/t-ecdsa.c
    functionUses: 11
    functionsReached:
    - elapsed_time
    - start_timer
    - gcry_check_version
    - exit
    - info
    - strcmp
    - prepend_srcdir
    - xfree
    - fputs
    - xstrdup
    - die
    - xgcry_control
    - gcry_fips_mode_active
    - strncmp
    - check_ecdsa
    - stop_timer
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_get_curve
      Src: /src/libgcrypt/tests/curves.c:81,1
    - Dst: printf
      Src: /src/libgcrypt/tests/curves.c:84,1
    - Dst: fail
      Src: /src/libgcrypt/tests/curves.c:87,1
    - Dst: gcry_pk_get_curve
      Src: /src/libgcrypt/tests/curves.c:88,1
    - Dst: fail
      Src: /src/libgcrypt/tests/curves.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: list_curves
    functionSourceFile: /src/libgcrypt/tests/curves.c
    functionUses: 0
    functionsReached:
    - gcry_pk_get_curve
    - printf
    - fail
    linkageType: ''
    returnType: void
    signature: void list_curves (void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/curves.c:101,1
    - Dst: die
      Src: /src/libgcrypt/tests/curves.c:103,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/curves.c:103,1
    - Dst: gcry_pk_get_curve
      Src: /src/libgcrypt/tests/curves.c:104,1
    - Dst: fail
      Src: /src/libgcrypt/tests/curves.c:106,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/curves.c:107,1
    - Dst: fail
      Src: /src/libgcrypt/tests/curves.c:108,1
    - Dst: fail
      Src: /src/libgcrypt/tests/curves.c:111,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/curves.c:114,1
    - Dst: gcry_sexp_new
      Src: /src/libgcrypt/tests/curves.c:118,1
    - Dst: die
      Src: /src/libgcrypt/tests/curves.c:120,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/tests/curves.c:120,1
    - Dst: gcry_pk_get_curve
      Src: /src/libgcrypt/tests/curves.c:121,1
    - Dst: fail
      Src: /src/libgcrypt/tests/curves.c:123,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/curves.c:124,1
    - Dst: fail
      Src: /src/libgcrypt/tests/curves.c:125,1
    - Dst: fail
      Src: /src/libgcrypt/tests/curves.c:128,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/curves.c:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 133
    functionName: check_matching
    functionSourceFile: /src/libgcrypt/tests/curves.c
    functionUses: 0
    functionsReached:
    - fail
    - strcmp
    - gcry_pk_get_curve
    - gpg_strerror
    - gcry_sexp_release
    - die
    - gcry_sexp_new
    linkageType: ''
    returnType: void
    signature: void check_matching (void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gcry_pk_get_param
      Src: /src/libgcrypt/tests/curves.c:272,1
    - Dst: fail
      Src: /src/libgcrypt/tests/curves.c:274,1
    - Dst: gcry_pk_get_curve
      Src: /src/libgcrypt/tests/curves.c:276,1
    - Dst: fail
      Src: /src/libgcrypt/tests/curves.c:278,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/curves.c:279,1
    - Dst: fail
      Src: /src/libgcrypt/tests/curves.c:280,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/curves.c:283,1
    - Dst: gcry_pk_get_param
      Src: /src/libgcrypt/tests/curves.c:287,1
    - Dst: fail
      Src: /src/libgcrypt/tests/curves.c:289,1
    - Dst: gcry_pk_get_curve
      Src: /src/libgcrypt/tests/curves.c:291,1
    - Dst: fail
      Src: /src/libgcrypt/tests/curves.c:293,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/curves.c:294,1
    - Dst: fail
      Src: /src/libgcrypt/tests/curves.c:295,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/curves.c:298,1
    - Dst: DIM
      Src: /src/libgcrypt/tests/curves.c:302,1
    - Dst: gcry_pk_get_param
      Src: /src/libgcrypt/tests/curves.c:304,1
    - Dst: fail
      Src: /src/libgcrypt/tests/curves.c:308,1
    - Dst: fail
      Src: /src/libgcrypt/tests/curves.c:315,1
    - Dst: fail
      Src: /src/libgcrypt/tests/curves.c:320,1
    - Dst: gcry_sexp_release
      Src: /src/libgcrypt/tests/curves.c:324,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 326
    functionName: check_get_params
    functionSourceFile: /src/libgcrypt/tests/curves.c
    functionUses: 0
    functionsReached:
    - fail
    - DIM
    - strcmp
    - gcry_pk_get_curve
    - gcry_pk_get_param
    - gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: void check_get_params (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/tests/curves.c:332,1
    - Dst: strcmp
      Src: /src/libgcrypt/tests/curves.c:334,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/tests/curves.c:337,1
    - Dst: die
      Src: /src/libgcrypt/tests/curves.c:338,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/curves.c:340,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/curves.c:341,1
    - Dst: xgcry_control
      Src: /src/libgcrypt/tests/curves.c:343,1
    - Dst: gcry_fips_mode_active
      Src: /src/libgcrypt/tests/curves.c:345,1
    - Dst: list_curves
      Src: /src/libgcrypt/tests/curves.c:348,1
    - Dst: check_matching
      Src: /src/libgcrypt/tests/curves.c:349,1
    - Dst: check_get_params
      Src: /src/libgcrypt/tests/curves.c:350,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 353
    functionName: main
    functionSourceFile: /src/libgcrypt/tests/curves.c
    functionUses: 11
    functionsReached:
    - list_curves
    - gcry_check_version
    - strcmp
    - check_matching
    - xgcry_control
    - gcry_fips_mode_active
    - die
    - check_get_params
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 40
    functionName: _gcry_compat_identification
    functionSourceFile: /src/libgcrypt/compat/compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_compat_identification (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: ATTR_PRINTF
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATTR_PRINTF(f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: ATTR_NR_PRINTF
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATTR_NR_PRINTF(f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libgcrypt/doc/yat2m.c:286,1
    - Dst: fprintf
      Src: /src/libgcrypt/doc/yat2m.c:287,1
    - Dst: va_start
      Src: /src/libgcrypt/doc/yat2m.c:289,1
    - Dst: vfprintf
      Src: /src/libgcrypt/doc/yat2m.c:290,1
    - Dst: va_end
      Src: /src/libgcrypt/doc/yat2m.c:291,1
    - Dst: putc
      Src: /src/libgcrypt/doc/yat2m.c:292,1
    - Dst: exit
      Src: /src/libgcrypt/doc/yat2m.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: die
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 219
    functionsReached:
    - va_end
    - vfprintf
    - exit
    - fprintf
    - fflush
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void die (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libgcrypt/doc/yat2m.c:304,1
    - Dst: strncmp
      Src: /src/libgcrypt/doc/yat2m.c:305,1
    - Dst: fprintf
      Src: /src/libgcrypt/doc/yat2m.c:306,1
    - Dst: va_start
      Src: /src/libgcrypt/doc/yat2m.c:308,1
    - Dst: vfprintf
      Src: /src/libgcrypt/doc/yat2m.c:309,1
    - Dst: va_end
      Src: /src/libgcrypt/doc/yat2m.c:310,1
    - Dst: putc
      Src: /src/libgcrypt/doc/yat2m.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 313
    functionName: err
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 84
    functionsReached:
    - va_end
    - vfprintf
    - fprintf
    - fflush
    - va_start
    - strncmp
    - putc
    linkageType: ''
    returnType: void
    signature: void err (const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libgcrypt/doc/yat2m.c:321,1
    - Dst: fprintf
      Src: /src/libgcrypt/doc/yat2m.c:322,1
    - Dst: va_start
      Src: /src/libgcrypt/doc/yat2m.c:324,1
    - Dst: vfprintf
      Src: /src/libgcrypt/doc/yat2m.c:325,1
    - Dst: va_end
      Src: /src/libgcrypt/doc/yat2m.c:326,1
    - Dst: putc
      Src: /src/libgcrypt/doc/yat2m.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: inf
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 6
    functionsReached:
    - va_end
    - vfprintf
    - fprintf
    - fflush
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void inf (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libgcrypt/doc/yat2m.c:334,1
    - Dst: die
      Src: /src/libgcrypt/doc/yat2m.c:336,1
    - Dst: strerror
      Src: /src/libgcrypt/doc/yat2m.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: xmalloc
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 293
    functionsReached:
    - die
    - strerror
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xmalloc (size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libgcrypt/doc/yat2m.c:343,1
    - Dst: die
      Src: /src/libgcrypt/doc/yat2m.c:345,1
    - Dst: strerror
      Src: /src/libgcrypt/doc/yat2m.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: xcalloc
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 60
    functionsReached:
    - die
    - calloc
    - strerror
    linkageType: ''
    returnType: void
    signature: 'void *

      xcalloc (size_t n, size_t m)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libgcrypt/doc/yat2m.c:352,1
    - Dst: die
      Src: /src/libgcrypt/doc/yat2m.c:354,1
    - Dst: strerror
      Src: /src/libgcrypt/doc/yat2m.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - old
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 356
    functionName: xrealloc
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 31
    functionsReached:
    - die
    - strerror
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xrealloc (void *old, size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libgcrypt/doc/yat2m.c:361,1
    - Dst: strlen
      Src: /src/libgcrypt/doc/yat2m.c:361,1
    - Dst: die
      Src: /src/libgcrypt/doc/yat2m.c:363,1
    - Dst: strerror
      Src: /src/libgcrypt/doc/yat2m.c:363,1
    - Dst: strcpy
      Src: /src/libgcrypt/doc/yat2m.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 366
    functionName: xstrdup
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 192
    functionsReached:
    - strlen
    - strcpy
    - malloc
    - die
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      xstrdup (const char *string)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/libgcrypt/doc/yat2m.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 379
    functionName: ascii_strupr
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 7
    functionsReached:
    - toupper
    linkageType: ''
    returnType: char
    signature: 'char *

      ascii_strupr (char *string)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/libgcrypt/doc/yat2m.c:391,1
    - Dst: time
      Src: /src/libgcrypt/doc/yat2m.c:393,1
    - Dst: strcpy
      Src: /src/libgcrypt/doc/yat2m.c:395,1
    - Dst: gmtime
      Src: /src/libgcrypt/doc/yat2m.c:398,1
    - Dst: sprintf
      Src: /src/libgcrypt/doc/yat2m.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 403
    functionName: isodatestring
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - sprintf
    - strcpy
    - strtoul
    - time
    - gmtime
    linkageType: ''
    returnType: char
    signature: 'char *

      isodatestring (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:414,1
    - Dst: xcalloc
      Src: /src/libgcrypt/doc/yat2m.c:418,1
    - Dst: strlen
      Src: /src/libgcrypt/doc/yat2m.c:418,1
    - Dst: strcpy
      Src: /src/libgcrypt/doc/yat2m.c:419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 423
    functionName: add_predefined_macro
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - strcmp
    - strcpy
    - strlen
    - xcalloc
    linkageType: ''
    returnType: void
    signature: void add_predefined_macro (const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:435,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:438,1
    - Dst: xcalloc
      Src: /src/libgcrypt/doc/yat2m.c:441,1
    - Dst: strlen
      Src: /src/libgcrypt/doc/yat2m.c:441,1
    - Dst: strcpy
      Src: /src/libgcrypt/doc/yat2m.c:442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - macroname
    - macrovalue
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 448
    functionName: set_macro
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 2
    functionsReached:
    - strlen
    - xcalloc
    - strcmp
    - strcpy
    - free
    linkageType: ''
    returnType: void
    signature: void set_macro (const char *macroname, char *macrovalue)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:472,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:475,1
    - Dst: xcalloc
      Src: /src/libgcrypt/doc/yat2m.c:478,1
    - Dst: strlen
      Src: /src/libgcrypt/doc/yat2m.c:478,1
    - Dst: strcpy
      Src: /src/libgcrypt/doc/yat2m.c:479,1
    - Dst: xstrdup
      Src: /src/libgcrypt/doc/yat2m.c:483,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - nameandvalue
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 484
    functionName: set_variable
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - strlen
    - xcalloc
    - strcmp
    - strcpy
    - xstrdup
    - free
    linkageType: ''
    returnType: void
    signature: void set_variable (char *nameandvalue)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:495,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:499,1
    - Dst: isdigit
      Src: /src/libgcrypt/doc/yat2m.c:503,1
    - Dst: atoi
      Src: /src/libgcrypt/doc/yat2m.c:505,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 506
    functionName: macro_set_p
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - strcmp
    - isdigit
    - atoi
    linkageType: ''
    returnType: int
    signature: int macro_set_p (const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: macro_set_p
      Src: /src/libgcrypt/doc/yat2m.c:532,1
    - Dst: macro_set_p
      Src: /src/libgcrypt/doc/yat2m.c:534,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - fname
    - lnr
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 545
    functionName: evaluate_conditions
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 2
    functionsReached:
    - macro_set_p
    linkageType: ''
    returnType: void
    signature: void evaluate_conditions (const char *fname, int lnr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:558,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:562,1
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:566,1
    - Dst: xcalloc
      Src: /src/libgcrypt/doc/yat2m.c:572,1
    - Dst: strlen
      Src: /src/libgcrypt/doc/yat2m.c:572,1
    - Dst: strcpy
      Src: /src/libgcrypt/doc/yat2m.c:575,1
    - Dst: evaluate_conditions
      Src: /src/libgcrypt/doc/yat2m.c:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - name
    - isset
    - fname
    - lnr
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 579
    functionName: push_condition
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - strlen
    - xcalloc
    - strcmp
    - strcpy
    - evaluate_conditions
    - err
    linkageType: ''
    returnType: void
    signature: void push_condition (const char *name, int isset, const char *fname,
      int lnr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:589,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:594,1
    - Dst: evaluate_conditions
      Src: /src/libgcrypt/doc/yat2m.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - isset
    - fname
    - lnr
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 597
    functionName: pop_condition
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - evaluate_conditions
    - free
    - err
    linkageType: ''
    returnType: void
    signature: void pop_condition (int isset, const char *fname, int lnr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:619,1
    - Dst: xcalloc
      Src: /src/libgcrypt/doc/yat2m.c:634,1
    - Dst: xrealloc
      Src: /src/libgcrypt/doc/yat2m.c:637,1
    - Dst: memset
      Src: /src/libgcrypt/doc/yat2m.c:640,1
    - Dst: assert
      Src: /src/libgcrypt/doc/yat2m.c:655,1
    - Dst: xstrdup
      Src: /src/libgcrypt/doc/yat2m.c:656,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts:
    - condition: (!sect->name)
      pos:
        line_end: 654
        line_start: 654
        source_file: /src/libgcrypt/doc/yat2m.c
    constantsTouched: []
    func_position:
      end: 658
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 658
    functionName: get_section_buffer
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - assert
    - xcalloc
    - strcmp
    - xrealloc
    - memset
    - xstrdup
    linkageType: ''
    returnType: section_buffer_t
    signature: section_buffer_t get_section_buffer (const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_section_buffer
      Src: /src/libgcrypt/doc/yat2m.c:669,1
    - Dst: strlen
      Src: /src/libgcrypt/doc/yat2m.c:678,1
    - Dst: strlen
      Src: /src/libgcrypt/doc/yat2m.c:679,1
    - Dst: xrealloc
      Src: /src/libgcrypt/doc/yat2m.c:680,1
    - Dst: strcpy
      Src: /src/libgcrypt/doc/yat2m.c:681,1
    - Dst: strcpy
      Src: /src/libgcrypt/doc/yat2m.c:682,1
    - Dst: xcalloc
      Src: /src/libgcrypt/doc/yat2m.c:686,1
    - Dst: xstrdup
      Src: /src/libgcrypt/doc/yat2m.c:688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - sectname
    - line
    - verbatim
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 693
    functionName: add_content
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - strlen
    - xcalloc
    - xrealloc
    - strcpy
    - xstrdup
    - get_section_buffer
    linkageType: ''
    returnType: void
    signature: void add_content (const char *sectname, char *line, int verbatim)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inf
      Src: /src/libgcrypt/doc/yat2m.c:701,1
    - Dst: assert
      Src: /src/libgcrypt/doc/yat2m.c:702,1
    - Dst: xstrdup
      Src: /src/libgcrypt/doc/yat2m.c:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts:
    - condition: (!thepage.name)
      pos:
        line_end: 701
        line_start: 701
        source_file: /src/libgcrypt/doc/yat2m.c
    constantsTouched: []
    func_position:
      end: 705
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 705
    functionName: start_page
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - xstrdup
    - inf
    - assert
    linkageType: ''
    returnType: void
    signature: void start_page (char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/libgcrypt/doc/yat2m.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - fp
    argTypes:
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 713
    functionName: writechr
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - putc
    linkageType: ''
    returnType: void
    signature: void writechr (int c, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/doc/yat2m.c:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - roff
    - html
    - fp
    argTypes:
    - char*
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 724
    functionName: writestr
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 6
    functionsReached:
    - fputs
    linkageType: ''
    returnType: void
    signature: void writestr (const char *roff, const char *html, FILE *fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: writestr
      Src: /src/libgcrypt/doc/yat2m.c:734,1
    - Dst: ascii_strupr
      Src: /src/libgcrypt/doc/yat2m.c:738,1
    - Dst: xstrdup
      Src: /src/libgcrypt/doc/yat2m.c:738,1
    - Dst: strrchr
      Src: /src/libgcrypt/doc/yat2m.c:739,1
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:742,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:743,1
    - Dst: fputs
      Src: /src/libgcrypt/doc/yat2m.c:750,1
    - Dst: fprintf
      Src: /src/libgcrypt/doc/yat2m.c:752,1
    - Dst: fputs
      Src: /src/libgcrypt/doc/yat2m.c:753,1
    - Dst: fputs
      Src: /src/libgcrypt/doc/yat2m.c:754,1
    - Dst: fputs
      Src: /src/libgcrypt/doc/yat2m.c:756,1
    - Dst: fprintf
      Src: /src/libgcrypt/doc/yat2m.c:768,1
    - Dst: fprintf
      Src: /src/libgcrypt/doc/yat2m.c:778,1
    - Dst: isodatestring
      Src: /src/libgcrypt/doc/yat2m.c:779,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:781,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 783
    functionName: write_th
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - xstrdup
    - free
    - fprintf
    - writestr
    - fputs
    - strrchr
    - isodatestring
    - ascii_strupr
    - err
    linkageType: ''
    returnType: int
    signature: int write_th (FILE *fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strupr
      Src: /src/libgcrypt/doc/yat2m.c:795,1
    - Dst: xstrdup
      Src: /src/libgcrypt/doc/yat2m.c:795,1
    - Dst: strrchr
      Src: /src/libgcrypt/doc/yat2m.c:796,1
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:799,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:800,1
    - Dst: fprintf
      Src: /src/libgcrypt/doc/yat2m.c:810,1
    - Dst: isodatestring
      Src: /src/libgcrypt/doc/yat2m.c:815,1
    - Dst: fputs
      Src: /src/libgcrypt/doc/yat2m.c:816,1
    - Dst: fputs
      Src: /src/libgcrypt/doc/yat2m.c:817,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:820,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 822
    functionName: write_bottom
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - xstrdup
    - free
    - fprintf
    - isodatestring
    - strrchr
    - fputs
    - ascii_strupr
    - err
    linkageType: ''
    returnType: int
    signature: int write_bottom (FILE *fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/doc/yat2m.c:833,1
    - Dst: fprintf
      Src: /src/libgcrypt/doc/yat2m.c:839,1
    - Dst: fprintf
      Src: /src/libgcrypt/doc/yat2m.c:843,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - fp
    - name
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 846
    functionName: write_sh
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_sh (FILE *fp, const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/doc/yat2m.c:862,1
    - Dst: fprintf
      Src: /src/libgcrypt/doc/yat2m.c:883,1
    - Dst: fputs
      Src: /src/libgcrypt/doc/yat2m.c:887,1
    - Dst: proc_texi_buffer
      Src: /src/libgcrypt/doc/yat2m.c:888,1
    - Dst: fputs
      Src: /src/libgcrypt/doc/yat2m.c:889,1
    - Dst: fputs
      Src: /src/libgcrypt/doc/yat2m.c:891,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 4
    argNames:
    - fp
    - line
    - len
    - itemx
    argTypes:
    - FILE*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 895
    functionName: write_html_item
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - fprintf
    - proc_texi_buffer
    - fputs
    linkageType: ''
    returnType: void
    signature: void write_html_item (FILE *fp, const char *line, size_t len, int itemx)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:969,1
    - Dst: writestr
      Src: /src/libgcrypt/doc/yat2m.c:973,1
    - Dst: memchr
      Src: /src/libgcrypt/doc/yat2m.c:979,1
    - Dst: memchr
      Src: /src/libgcrypt/doc/yat2m.c:984,1
    - Dst: write_html_item
      Src: /src/libgcrypt/doc/yat2m.c:986,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:986,1
    - Dst: write_html_item
      Src: /src/libgcrypt/doc/yat2m.c:993,1
    - Dst: writestr
      Src: /src/libgcrypt/doc/yat2m.c:994,1
    - Dst: memchr
      Src: /src/libgcrypt/doc/yat2m.c:997,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1003,1
    - Dst: write_html_item
      Src: /src/libgcrypt/doc/yat2m.c:1007,1
    - Dst: writestr
      Src: /src/libgcrypt/doc/yat2m.c:1009,1
    - Dst: writestr
      Src: /src/libgcrypt/doc/yat2m.c:1011,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1013,1
    - Dst: writestr
      Src: /src/libgcrypt/doc/yat2m.c:1016,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1018,1
    - Dst: writestr
      Src: /src/libgcrypt/doc/yat2m.c:1021,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1023,1
    - Dst: writestr
      Src: /src/libgcrypt/doc/yat2m.c:1026,1
    - Dst: memchr
      Src: /src/libgcrypt/doc/yat2m.c:1029,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1034,1
    - Dst: strncmp
      Src: /src/libgcrypt/doc/yat2m.c:1040,1
    - Dst: strncmp
      Src: /src/libgcrypt/doc/yat2m.c:1041,1
    - Dst: inf
      Src: /src/libgcrypt/doc/yat2m.c:1044,1
    - Dst: writechr
      Src: /src/libgcrypt/doc/yat2m.c:1049,1
    - Dst: writechr
      Src: /src/libgcrypt/doc/yat2m.c:1050,1
    - Dst: memchr
      Src: /src/libgcrypt/doc/yat2m.c:1054,1
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:1066,1
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:1077,1
    - Dst: strlen
      Src: /src/libgcrypt/doc/yat2m.c:1087,1
    - Dst: strncmp
      Src: /src/libgcrypt/doc/yat2m.c:1088,1
    - Dst: writestr
      Src: /src/libgcrypt/doc/yat2m.c:1092,1
    - Dst: inf
      Src: /src/libgcrypt/doc/yat2m.c:1094,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1108,1
    - Dst: proc_texi_buffer
      Src: /src/libgcrypt/doc/yat2m.c:1112,1
    - Dst: strlen
      Src: /src/libgcrypt/doc/yat2m.c:1112,1
    - Dst: inf
      Src: /src/libgcrypt/doc/yat2m.c:1117,1
    - Dst: memchr
      Src: /src/libgcrypt/doc/yat2m.c:1118,1
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:1131,1
    - Dst: proc_texi_buffer
      Src: /src/libgcrypt/doc/yat2m.c:1135,1
    - Dst: writestr
      Src: /src/libgcrypt/doc/yat2m.c:1140,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 124
    argCount: 6
    argNames:
    - fp
    - command
    - rest
    - len
    - table_level
    - eol_action
    argTypes:
    - FILE*
    - char*
    - char*
    - size_t
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 1143
    functionName: proc_texi_cmd
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - strlen
    - strcmp
    - writestr
    - err
    - memcmp
    - writechr
    - inf
    - write_html_item
    - strncmp
    - proc_texi_buffer
    - memchr
    linkageType: ''
    returnType: size_t
    signature: "size_t proc_texi_cmd (FILE *fp, const char *command, const char *rest,
      size_t len,\n               int *table_level, int *eol_action)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: writechr
      Src: /src/libgcrypt/doc/yat2m.c:1167,1
    - Dst: writechr
      Src: /src/libgcrypt/doc/yat2m.c:1173,1
    - Dst: writechr
      Src: /src/libgcrypt/doc/yat2m.c:1176,1
    - Dst: proc_texi_cmd
      Src: /src/libgcrypt/doc/yat2m.c:1188,1
    - Dst: assert
      Src: /src/libgcrypt/doc/yat2m.c:1189,1
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:1198,1
    - Dst: writestr
      Src: /src/libgcrypt/doc/yat2m.c:1209,1
    - Dst: writechr
      Src: /src/libgcrypt/doc/yat2m.c:1212,1
    - Dst: writestr
      Src: /src/libgcrypt/doc/yat2m.c:1217,1
    - Dst: writechr
      Src: /src/libgcrypt/doc/yat2m.c:1219,1
    - Dst: proc_texi_cmd
      Src: /src/libgcrypt/doc/yat2m.c:1225,1
    - Dst: assert
      Src: /src/libgcrypt/doc/yat2m.c:1226,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 5
    argNames:
    - fp
    - line
    - len
    - table_level
    - eol_action
    argTypes:
    - FILE*
    - char*
    - size_t
    - int*
    - int*
    assertStmts:
    - condition: (n <= len)
      pos:
        line_end: 1188
        line_start: 1188
        source_file: /src/libgcrypt/doc/yat2m.c
    - condition: (n <= len)
      pos:
        line_end: 1225
        line_start: 1225
        source_file: /src/libgcrypt/doc/yat2m.c
    constantsTouched: []
    func_position:
      end: 1231
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1231
    functionName: proc_texi_buffer
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 4
    functionsReached:
    - proc_texi_cmd
    - assert
    - writestr
    - writechr
    - err
    linkageType: ''
    returnType: void
    signature: "void proc_texi_buffer (FILE *fp, const char *line, size_t len,\n                  int
      *table_level, int *eol_action)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgcrypt/doc/yat2m.c:1241,1
    - Dst: writestr
      Src: /src/libgcrypt/doc/yat2m.c:1244,1
    - Dst: writechr
      Src: /src/libgcrypt/doc/yat2m.c:1245,1
    - Dst: proc_texi_buffer
      Src: /src/libgcrypt/doc/yat2m.c:1248,1
    - Dst: strlen
      Src: /src/libgcrypt/doc/yat2m.c:1248,1
    - Dst: writechr
      Src: /src/libgcrypt/doc/yat2m.c:1249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - fp
    - line
    - table_level
    argTypes:
    - FILE*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1250
    functionName: parse_texi_line
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - strlen
    - writestr
    - strchr
    - writechr
    - proc_texi_buffer
    linkageType: ''
    returnType: void
    signature: void parse_texi_line (FILE *fp, const char *line, int *table_level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: writestr
      Src: /src/libgcrypt/doc/yat2m.c:1266,1
    - Dst: writechr
      Src: /src/libgcrypt/doc/yat2m.c:1267,1
    - Dst: parse_texi_line
      Src: /src/libgcrypt/doc/yat2m.c:1274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - lines
    argTypes:
    - FILE*
    - line_buffer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1277
    functionName: write_content
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - writestr
    - parse_texi_line
    - writechr
    linkageType: ''
    returnType: void
    signature: void write_content (FILE *fp, line_buffer_t lines)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1291
    functionName: is_standard_section
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int is_standard_section (const char *name)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: inf
      Src: /src/libgcrypt/doc/yat2m.c:1308,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1312,1
    - Dst: inf
      Src: /src/libgcrypt/doc/yat2m.c:1314,1
    - Dst: fopen
      Src: /src/libgcrypt/doc/yat2m.c:1319,1
    - Dst: die
      Src: /src/libgcrypt/doc/yat2m.c:1321,1
    - Dst: strerror
      Src: /src/libgcrypt/doc/yat2m.c:1321,1
    - Dst: inf
      Src: /src/libgcrypt/doc/yat2m.c:1327,1
    - Dst: fopen
      Src: /src/libgcrypt/doc/yat2m.c:1328,1
    - Dst: die
      Src: /src/libgcrypt/doc/yat2m.c:1330,1
    - Dst: strerror
      Src: /src/libgcrypt/doc/yat2m.c:1330,1
    - Dst: write_th
      Src: /src/libgcrypt/doc/yat2m.c:1335,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1343,1
    - Dst: write_sh
      Src: /src/libgcrypt/doc/yat2m.c:1351,1
    - Dst: write_content
      Src: /src/libgcrypt/doc/yat2m.c:1352,1
    - Dst: is_standard_section
      Src: /src/libgcrypt/doc/yat2m.c:1358,1
    - Dst: write_sh
      Src: /src/libgcrypt/doc/yat2m.c:1362,1
    - Dst: write_content
      Src: /src/libgcrypt/doc/yat2m.c:1363,1
    - Dst: write_sh
      Src: /src/libgcrypt/doc/yat2m.c:1370,1
    - Dst: write_bottom
      Src: /src/libgcrypt/doc/yat2m.c:1371,1
    - Dst: fclose
      Src: /src/libgcrypt/doc/yat2m.c:1376,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:1377,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1380
    functionName: finish_page
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 2
    functionsReached:
    - write_sh
    - write_content
    - fclose
    - strcmp
    - write_th
    - fopen
    - inf
    - die
    - strerror
    - write_bottom
    - is_standard_section
    - free
    linkageType: ''
    returnType: void
    signature: void finish_page (void)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/doc/yat2m.c:1404,1
    - Dst: fgets
      Src: /src/libgcrypt/doc/yat2m.c:1405,1
    - Dst: strlen
      Src: /src/libgcrypt/doc/yat2m.c:1407,1
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:1414,1
    - Dst: strncmp
      Src: /src/libgcrypt/doc/yat2m.c:1425,1
    - Dst: memmove
      Src: /src/libgcrypt/doc/yat2m.c:1432,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1451,1
    - Dst: strncmp
      Src: /src/libgcrypt/doc/yat2m.c:1453,1
    - Dst: xrealloc
      Src: /src/libgcrypt/doc/yat2m.c:1459,1
    - Dst: set_macro
      Src: /src/libgcrypt/doc/yat2m.c:1461,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:1463,1
    - Dst: strlen
      Src: /src/libgcrypt/doc/yat2m.c:1468,1
    - Dst: strlen
      Src: /src/libgcrypt/doc/yat2m.c:1470,1
    - Dst: xrealloc
      Src: /src/libgcrypt/doc/yat2m.c:1471,1
    - Dst: strcpy
      Src: /src/libgcrypt/doc/yat2m.c:1473,1
    - Dst: strlen
      Src: /src/libgcrypt/doc/yat2m.c:1474,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1481,1
    - Dst: strncmp
      Src: /src/libgcrypt/doc/yat2m.c:1492,1
    - Dst: strncmp
      Src: /src/libgcrypt/doc/yat2m.c:1493,1
    - Dst: strncmp
      Src: /src/libgcrypt/doc/yat2m.c:1494,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1506,1
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:1513,1
    - Dst: push_condition
      Src: /src/libgcrypt/doc/yat2m.c:1519,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1522,1
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:1529,1
    - Dst: push_condition
      Src: /src/libgcrypt/doc/yat2m.c:1535,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1538,1
    - Dst: strncmp
      Src: /src/libgcrypt/doc/yat2m.c:1540,1
    - Dst: pop_condition
      Src: /src/libgcrypt/doc/yat2m.c:1543,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1546,1
    - Dst: strncmp
      Src: /src/libgcrypt/doc/yat2m.c:1548,1
    - Dst: pop_condition
      Src: /src/libgcrypt/doc/yat2m.c:1551,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1564,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1573,1
    - Dst: xstrdup
      Src: /src/libgcrypt/doc/yat2m.c:1575,1
    - Dst: xmalloc
      Src: /src/libgcrypt/doc/yat2m.c:1576,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1579,1
    - Dst: set_variable
      Src: /src/libgcrypt/doc/yat2m.c:1581,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1583,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:1585,1
    - Dst: finish_page
      Src: /src/libgcrypt/doc/yat2m.c:1587,1
    - Dst: start_page
      Src: /src/libgcrypt/doc/yat2m.c:1588,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1591,1
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:1594,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:1597,1
    - Dst: ascii_strupr
      Src: /src/libgcrypt/doc/yat2m.c:1598,1
    - Dst: xstrdup
      Src: /src/libgcrypt/doc/yat2m.c:1598,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1603,1
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:1606,1
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:1608,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1612,1
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:1615,1
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:1617,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1621,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1626,1
    - Dst: xstrdup
      Src: /src/libgcrypt/doc/yat2m.c:1629,1
    - Dst: fopen
      Src: /src/libgcrypt/doc/yat2m.c:1630,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:1634,1
    - Dst: xmalloc
      Src: /src/libgcrypt/doc/yat2m.c:1635,1
    - Dst: strlen
      Src: /src/libgcrypt/doc/yat2m.c:1635,1
    - Dst: strlen
      Src: /src/libgcrypt/doc/yat2m.c:1636,1
    - Dst: strcpy
      Src: /src/libgcrypt/doc/yat2m.c:1637,1
    - Dst: strlen
      Src: /src/libgcrypt/doc/yat2m.c:1638,1
    - Dst: strcat
      Src: /src/libgcrypt/doc/yat2m.c:1639,1
    - Dst: strcat
      Src: /src/libgcrypt/doc/yat2m.c:1640,1
    - Dst: fopen
      Src: /src/libgcrypt/doc/yat2m.c:1641,1
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:1645,1
    - Dst: strerror
      Src: /src/libgcrypt/doc/yat2m.c:1646,1
    - Dst: parse_file
      Src: /src/libgcrypt/doc/yat2m.c:1649,1
    - Dst: fclose
      Src: /src/libgcrypt/doc/yat2m.c:1650,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:1652,1
    - Dst: memcmp
      Src: /src/libgcrypt/doc/yat2m.c:1654,1
    - Dst: add_content
      Src: /src/libgcrypt/doc/yat2m.c:1666,1
    - Dst: add_content
      Src: /src/libgcrypt/doc/yat2m.c:1668,1
    - Dst: ferror
      Src: /src/libgcrypt/doc/yat2m.c:1671,1
    - Dst: err
      Src: /src/libgcrypt/doc/yat2m.c:1672,1
    - Dst: strerror
      Src: /src/libgcrypt/doc/yat2m.c:1672,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:1673,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:1674,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:1675,1
    CyclomaticComplexity: 142
    EdgeCount: 142
    ICount: 178
    argCount: 4
    argNames:
    - fname
    - fp
    - section_name
    - in_pause
    argTypes:
    - char*
    - FILE*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1676
    functionName: parse_file
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 7
    functionsReached:
    - strlen
    - start_page
    - set_variable
    - parse_file
    - xmalloc
    - xstrdup
    - fgets
    - ascii_strupr
    - err
    - memmove
    - pop_condition
    - add_content
    - strncmp
    - strcat
    - finish_page
    - push_condition
    - fopen
    - set_macro
    - fclose
    - xrealloc
    - memcmp
    - strcpy
    - strerror
    - ferror
    - free
    linkageType: ''
    returnType: void
    signature: void parse_file (const char *fname, FILE *fp, char **section_name,
      int in_pause)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:1689,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:1690,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:1696,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:1697,1
    - Dst: set_macro
      Src: /src/libgcrypt/doc/yat2m.c:1701,1
    - Dst: xstrdup
      Src: /src/libgcrypt/doc/yat2m.c:1701,1
    - Dst: parse_file
      Src: /src/libgcrypt/doc/yat2m.c:1705,1
    - Dst: free
      Src: /src/libgcrypt/doc/yat2m.c:1706,1
    - Dst: finish_page
      Src: /src/libgcrypt/doc/yat2m.c:1707,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - fname
    - fp
    argTypes:
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1679
    functionDepth: 0
    functionLinenumber: 1679
    functionLinenumberEnd: 1708
    functionName: top_parse_file
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - finish_page
    - parse_file
    - xstrdup
    - set_macro
    - free
    linkageType: ''
    returnType: void
    signature: void top_parse_file (const char *fname, FILE *fp)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: add_predefined_macro
      Src: /src/libgcrypt/doc/yat2m.c:1722,1
    - Dst: add_predefined_macro
      Src: /src/libgcrypt/doc/yat2m.c:1723,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1733,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1738,1
    - Dst: puts
      Src: /src/libgcrypt/doc/yat2m.c:1740,1
    - Dst: exit
      Src: /src/libgcrypt/doc/yat2m.c:1756,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1758,1
    - Dst: puts
      Src: /src/libgcrypt/doc/yat2m.c:1760,1
    - Dst: exit
      Src: /src/libgcrypt/doc/yat2m.c:1765,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1767,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1772,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1777,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1782,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1787,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1796,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1805,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1814,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1819,1
    - Dst: strrchr
      Src: /src/libgcrypt/doc/yat2m.c:1824,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1832,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1841,1
    - Dst: add_predefined_macro
      Src: /src/libgcrypt/doc/yat2m.c:1846,1
    - Dst: die
      Src: /src/libgcrypt/doc/yat2m.c:1853,1
    - Dst: getenv
      Src: /src/libgcrypt/doc/yat2m.c:1857,1
    - Dst: strcmp
      Src: /src/libgcrypt/doc/yat2m.c:1861,1
    - Dst: fopen
      Src: /src/libgcrypt/doc/yat2m.c:1863,1
    - Dst: die
      Src: /src/libgcrypt/doc/yat2m.c:1865,1
    - Dst: strerror
      Src: /src/libgcrypt/doc/yat2m.c:1865,1
    - Dst: top_parse_file
      Src: /src/libgcrypt/doc/yat2m.c:1866,1
    - Dst: fclose
      Src: /src/libgcrypt/doc/yat2m.c:1867,1
    - Dst: top_parse_file
      Src: /src/libgcrypt/doc/yat2m.c:1870,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 119
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1873
    functionName: main
    functionSourceFile: /src/libgcrypt/doc/yat2m.c
    functionUses: 11
    functionsReached:
    - fclose
    - getenv
    - exit
    - strcmp
    - puts
    - fopen
    - strrchr
    - die
    - strerror
    - top_parse_file
    - add_predefined_macro
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: atoi_1
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atoi_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: xtoi_1
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: xtoi_2
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_2(p)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: whitespacep
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: GPG_ERR_INLINE whitespacep (const char *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/sexp.c:137,1
    - Dst: gcry_mpi_print
      Src: /src/libgcrypt/src/sexp.c:138,1
    - Dst: fputs
      Src: /src/libgcrypt/src/sexp.c:139,1
    - Dst: fputs
      Src: /src/libgcrypt/src/sexp.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: dump_mpi
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_print
    - fputs
    linkageType: ''
    returnType: void
    signature: void dump_mpi( gcry_mpi_t a )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: iscntrl
      Src: /src/libgcrypt/src/sexp.c:150,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/sexp.c:153,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/sexp.c:155,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/sexp.c:157,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/sexp.c:159,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/sexp.c:161,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/sexp.c:163,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/sexp.c:165,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/sexp.c:168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - p
    - n
    - delim
    argTypes:
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 170
    functionName: dump_string
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 12
    functionsReached:
    - log_printf
    - iscntrl
    linkageType: ''
    returnType: void
    signature: void dump_string (const byte *p, size_t n, int delim )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_printf
      Src: /src/libgcrypt/src/sexp.c:182,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/sexp.c:193,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/sexp.c:199,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:203,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/sexp.c:205,1
    - Dst: dump_string
      Src: /src/libgcrypt/src/sexp.c:206,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/sexp.c:207,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/sexp.c:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 216
    functionName: _gcry_sexp_dump
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - log_printf
    - memcpy
    - dump_string
    linkageType: ''
    returnType: void
    signature: void _gcry_sexp_dump (const gcry_sexp_t a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sexp_release
      Src: /src/libgcrypt/src/sexp.c:234,1
    - Dst: sexp_release
      Src: /src/libgcrypt/src/sexp.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - list
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 245
    functionName: normalize
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - sexp_release
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t normalize ( gcry_sexp_t list )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_canon_len
      Src: /src/libgcrypt/src/sexp.c:278,1
    - Dst: strlen
      Src: /src/libgcrypt/src/sexp.c:284,1
    - Dst: do_sexp_sscan
      Src: /src/libgcrypt/src/sexp.c:287,1
    - Dst: freefnc
      Src: /src/libgcrypt/src/sexp.c:299,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - retsexp
    - buffer
    - length
    - autodetect
    argTypes:
    - gcry_sexp_t*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 302
    functionName: _gcry_sexp_create
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - _gcry_sexp_canon_len
    - freefnc
    - do_sexp_sscan
    - strlen
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_sexp_create (gcry_sexp_t *retsexp, void *buffer,
      size_t length,\n                  int autodetect, void (*freefnc)(void*) )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_create
      Src: /src/libgcrypt/src/sexp.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - retsexp
    - buffer
    - length
    - autodetect
    argTypes:
    - gcry_sexp_t*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: _gcry_sexp_new
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - _gcry_sexp_create
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_sexp_new (gcry_sexp_t *retsexp, const void *buffer,
      size_t length,\n               int autodetect)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/src/sexp.c:321,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:339,1
    - Dst: wipememory
      Src: /src/libgcrypt/src/sexp.c:348,1
    - Dst: xfree
      Src: /src/libgcrypt/src/sexp.c:350,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - sexp
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 352
    functionName: _gcry_sexp_release
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - wipememory
    - _gcry_is_secure
    - memcpy
    - xfree
    linkageType: ''
    returnType: void
    signature: void _gcry_sexp_release( gcry_sexp_t sexp )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/libgcrypt/src/sexp.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 370
    functionName: _gcry_sexp_cons
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - BUG
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t _gcry_sexp_cons( const gcry_sexp_t a, const gcry_sexp_t
      b )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/libgcrypt/src/sexp.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - array
    argTypes:
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 386
    functionName: _gcry_sexp_alist
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - BUG
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t _gcry_sexp_alist( const gcry_sexp_t *array )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/libgcrypt/src/sexp.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: _gcry_sexp_vlist
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - BUG
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t _gcry_sexp_vlist( const gcry_sexp_t a, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/libgcrypt/src/sexp.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 415
    functionName: _gcry_sexp_append
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - BUG
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t _gcry_sexp_append( const gcry_sexp_t a, const gcry_sexp_t
      n )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/libgcrypt/src/sexp.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 426
    functionName: _gcry_sexp_prepend
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - BUG
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t _gcry_sexp_prepend( const gcry_sexp_t a, const gcry_sexp_t
      n )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgcrypt/src/sexp.c:444,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:454,1
    - Dst: memcmp
      Src: /src/libgcrypt/src/sexp.c:456,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:467,1
    - Dst: BUG
      Src: /src/libgcrypt/src/sexp.c:481,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/src/sexp.c:486,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:494,1
    - Dst: normalize
      Src: /src/libgcrypt/src/sexp.c:496,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:502,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 3
    argNames:
    - list
    - tok
    - toklen
    argTypes:
    - gcry_sexp_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 509
    functionName: _gcry_sexp_find_token
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    - strlen
    - normalize
    - BUG
    - memcmp
    - memcpy
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t _gcry_sexp_find_token( const gcry_sexp_t list, const char
      *tok, size_t toklen )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:532,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - list
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 549
    functionName: _gcry_sexp_length
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int _gcry_sexp_length (const gcry_sexp_t list)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:572,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - list
    - r_off
    argTypes:
    - gcry_sexp_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 590
    functionName: get_internal_buffer
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t get_internal_buffer (const gcry_sexp_t list, size_t *r_off)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:614,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:639,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/src/sexp.c:640,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:645,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:659,1
    - Dst: BUG
      Src: /src/libgcrypt/src/sexp.c:673,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/src/sexp.c:678,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:682,1
    - Dst: normalize
      Src: /src/libgcrypt/src/sexp.c:689,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 68
    argCount: 2
    argNames:
    - list
    - number
    argTypes:
    - gcry_sexp_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 690
    functionName: _gcry_sexp_nth
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - xtrymalloc
    - normalize
    - BUG
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t _gcry_sexp_nth (const gcry_sexp_t list, int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_nth
      Src: /src/libgcrypt/src/sexp.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 693
    functionDepth: 3
    functionLinenumber: 693
    functionLinenumberEnd: 697
    functionName: _gcry_sexp_car
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - _gcry_sexp_nth
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t _gcry_sexp_car (const gcry_sexp_t list)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:724,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:750,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - list
    - number
    - datalen
    argTypes:
    - gcry_sexp_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 756
    functionName: do_sexp_nth_data
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      do_sexp_nth_data (const gcry_sexp_t list, int number, size_t *datalen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_sexp_nth_data
      Src: /src/libgcrypt/src/sexp.c:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - list
    - number
    - datalen
    argTypes:
    - gcry_sexp_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 765
    functionName: _gcry_sexp_nth_data
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - do_sexp_nth_data
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_sexp_nth_data (const gcry_sexp_t list, int number, size_t *datalen )'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_sexp_nth_data
      Src: /src/libgcrypt/src/sexp.c:780,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/src/sexp.c:783,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - list
    - number
    - rlength
    argTypes:
    - gcry_sexp_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 789
    functionName: _gcry_sexp_nth_buffer
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - do_sexp_nth_data
    - xtrymalloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_sexp_nth_buffer (const gcry_sexp_t list, int number, size_t *rlength)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_sexp_nth_data
      Src: /src/libgcrypt/src/sexp.c:801,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/src/sexp.c:804,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - list
    - number
    argTypes:
    - gcry_sexp_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 810
    functionName: _gcry_sexp_nth_string
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - do_sexp_nth_data
    - xtrymalloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_sexp_nth_string (const gcry_sexp_t list, int number)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_nth_buffer
      Src: /src/libgcrypt/src/sexp.c:826,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/src/sexp.c:830,1
    - Dst: _gcry_mpi_snew
      Src: /src/libgcrypt/src/sexp.c:830,1
    - Dst: _gcry_mpi_new
      Src: /src/libgcrypt/src/sexp.c:830,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/src/sexp.c:832,1
    - Dst: xfree
      Src: /src/libgcrypt/src/sexp.c:834,1
    - Dst: do_sexp_nth_data
      Src: /src/libgcrypt/src/sexp.c:843,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/src/sexp.c:847,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - list
    - number
    - mpifmt
    argTypes:
    - gcry_sexp_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 816
    functionDepth: 2
    functionLinenumber: 816
    functionLinenumberEnd: 852
    functionName: _gcry_sexp_nth_mpi
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - _gcry_sexp_nth_buffer
    - mpi_set_opaque
    - _gcry_mpi_new
    - _gcry_is_secure
    - xfree
    - do_sexp_nth_data
    - _gcry_mpi_scan
    - _gcry_mpi_snew
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_sexp_nth_mpi (gcry_sexp_t list, int number, int mpifmt)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:878,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:906,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/src/sexp.c:926,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:931,1
    - Dst: normalize
      Src: /src/libgcrypt/src/sexp.c:936,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 1
    argNames:
    - list
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 937
    functionName: _gcry_sexp_cdr
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - xtrymalloc
    - normalize
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t _gcry_sexp_cdr(const gcry_sexp_t list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_cdr
      Src: /src/libgcrypt/src/sexp.c:945,1
    - Dst: _gcry_sexp_car
      Src: /src/libgcrypt/src/sexp.c:946,1
    - Dst: sexp_release
      Src: /src/libgcrypt/src/sexp.c:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 940
    functionDepth: 4
    functionLinenumber: 940
    functionLinenumberEnd: 949
    functionName: _gcry_sexp_cadr
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - _gcry_sexp_car
    - sexp_release
    - _gcry_sexp_cdr
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t _gcry_sexp_cadr ( const gcry_sexp_t list )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 963
    functionName: hextonibble
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: GPG_ERR_INLINE hextonibble (int s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtryrealloc
      Src: /src/libgcrypt/src/sexp.c:988,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/sexp.c:990,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - struct make_space_ctx*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 997
    functionName: make_space
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - xtryrealloc
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t make_space ( struct make_space_ctx *c, size_t n )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: hexdigitp
      Src: /src/libgcrypt/src/sexp.c:1042,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/src/sexp.c:1042,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/src/sexp.c:1045,1
    - Dst: octdigitp
      Src: /src/libgcrypt/src/sexp.c:1051,1
    - Dst: octdigitp
      Src: /src/libgcrypt/src/sexp.c:1051,1
    - Dst: octdigitp
      Src: /src/libgcrypt/src/sexp.c:1051,1
    - Dst: atoi_1
      Src: /src/libgcrypt/src/sexp.c:1053,1
    - Dst: atoi_1
      Src: /src/libgcrypt/src/sexp.c:1053,1
    - Dst: atoi_1
      Src: /src/libgcrypt/src/sexp.c:1053,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 67
    argCount: 3
    argNames:
    - string
    - length
    - buf
    argTypes:
    - char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1068
    functionName: unquote_string
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - octdigitp
    - hexdigitp
    - atoi_1
    - xtoi_2
    linkageType: ''
    returnType: size_t
    signature: size_t unquote_string (const char *string, size_t length, unsigned
      char *buf)
  - BBCount: 109
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/src/sexp.c:1171,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/src/sexp.c:1172,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/src/sexp.c:1174,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/sexp.c:1177,1
    - Dst: strchr
      Src: /src/libgcrypt/src/sexp.c:1187,1
    - Dst: MAKE_SPACE
      Src: /src/libgcrypt/src/sexp.c:1198,1
    - Dst: STORE_LEN
      Src: /src/libgcrypt/src/sexp.c:1200,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:1201,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/src/sexp.c:1235,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/src/sexp.c:1235,1
    - Dst: MAKE_SPACE
      Src: /src/libgcrypt/src/sexp.c:1284,1
    - Dst: STORE_LEN
      Src: /src/libgcrypt/src/sexp.c:1287,1
    - Dst: unquote_string
      Src: /src/libgcrypt/src/sexp.c:1288,1
    - Dst: STORE_LEN
      Src: /src/libgcrypt/src/sexp.c:1296,1
    - Dst: isxdigit
      Src: /src/libgcrypt/src/sexp.c:1302,1
    - Dst: MAKE_SPACE
      Src: /src/libgcrypt/src/sexp.c:1320,1
    - Dst: STORE_LEN
      Src: /src/libgcrypt/src/sexp.c:1322,1
    - Dst: whitespacep
      Src: /src/libgcrypt/src/sexp.c:1327,1
    - Dst: hextonibble
      Src: /src/libgcrypt/src/sexp.c:1329,1
    - Dst: whitespacep
      Src: /src/libgcrypt/src/sexp.c:1330,1
    - Dst: hextonibble
      Src: /src/libgcrypt/src/sexp.c:1335,1
    - Dst: whitespacep
      Src: /src/libgcrypt/src/sexp.c:1341,1
    - Dst: digitp
      Src: /src/libgcrypt/src/sexp.c:1350,1
    - Dst: alphap
      Src: /src/libgcrypt/src/sexp.c:1350,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/src/sexp.c:1359,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/src/sexp.c:1362,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:1365,1
    - Dst: gpgrt_b64dec_start
      Src: /src/libgcrypt/src/sexp.c:1367,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/src/sexp.c:1370,1
    - Dst: xfree
      Src: /src/libgcrypt/src/sexp.c:1371,1
    - Dst: gpgrt_b64dec_proc
      Src: /src/libgcrypt/src/sexp.c:1374,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/src/sexp.c:1376,1
    - Dst: xfree
      Src: /src/libgcrypt/src/sexp.c:1378,1
    - Dst: xfree
      Src: /src/libgcrypt/src/sexp.c:1379,1
    - Dst: gpgrt_b64dec_finish
      Src: /src/libgcrypt/src/sexp.c:1382,1
    - Dst: xfree
      Src: /src/libgcrypt/src/sexp.c:1385,1
    - Dst: MAKE_SPACE
      Src: /src/libgcrypt/src/sexp.c:1396,1
    - Dst: STORE_LEN
      Src: /src/libgcrypt/src/sexp.c:1398,1
    - Dst: xfree
      Src: /src/libgcrypt/src/sexp.c:1402,1
    - Dst: digitp
      Src: /src/libgcrypt/src/sexp.c:1414,1
    - Dst: strtoul
      Src: /src/libgcrypt/src/sexp.c:1420,1
    - Dst: MAKE_SPACE
      Src: /src/libgcrypt/src/sexp.c:1436,1
    - Dst: STORE_LEN
      Src: /src/libgcrypt/src/sexp.c:1438,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:1439,1
    - Dst: ARG_NEXT
      Src: /src/libgcrypt/src/sexp.c:1478,1
    - Dst: mpi_get_flag
      Src: /src/libgcrypt/src/sexp.c:1480,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/src/sexp.c:1485,1
    - Dst: MAKE_SPACE
      Src: /src/libgcrypt/src/sexp.c:1496,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/src/sexp.c:1497,1
    - Dst: mpi_get_flag
      Src: /src/libgcrypt/src/sexp.c:1498,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/src/sexp.c:1504,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/sexp.c:1508,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:1512,1
    - Dst: xfree
      Src: /src/libgcrypt/src/sexp.c:1514,1
    - Dst: STORE_LEN
      Src: /src/libgcrypt/src/sexp.c:1519,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:1520,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/src/sexp.c:1526,1
    - Dst: _gcry_mpi_print
      Src: /src/libgcrypt/src/sexp.c:1532,1
    - Dst: MAKE_SPACE
      Src: /src/libgcrypt/src/sexp.c:1543,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/src/sexp.c:1544,1
    - Dst: mpi_get_flag
      Src: /src/libgcrypt/src/sexp.c:1545,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/src/sexp.c:1551,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/sexp.c:1555,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:1559,1
    - Dst: xfree
      Src: /src/libgcrypt/src/sexp.c:1561,1
    - Dst: STORE_LEN
      Src: /src/libgcrypt/src/sexp.c:1566,1
    - Dst: _gcry_mpi_print
      Src: /src/libgcrypt/src/sexp.c:1567,1
    - Dst: strlen
      Src: /src/libgcrypt/src/sexp.c:1580,1
    - Dst: MAKE_SPACE
      Src: /src/libgcrypt/src/sexp.c:1589,1
    - Dst: STORE_LEN
      Src: /src/libgcrypt/src/sexp.c:1591,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:1592,1
    - Dst: MAKE_SPACE
      Src: /src/libgcrypt/src/sexp.c:1611,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/src/sexp.c:1613,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/src/sexp.c:1614,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/src/sexp.c:1620,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/sexp.c:1624,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:1628,1
    - Dst: xfree
      Src: /src/libgcrypt/src/sexp.c:1630,1
    - Dst: STORE_LEN
      Src: /src/libgcrypt/src/sexp.c:1635,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:1636,1
    - Dst: snprintf
      Src: /src/libgcrypt/src/sexp.c:1647,1
    - Dst: strlen
      Src: /src/libgcrypt/src/sexp.c:1648,1
    - Dst: MAKE_SPACE
      Src: /src/libgcrypt/src/sexp.c:1649,1
    - Dst: STORE_LEN
      Src: /src/libgcrypt/src/sexp.c:1651,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:1652,1
    - Dst: snprintf
      Src: /src/libgcrypt/src/sexp.c:1663,1
    - Dst: strlen
      Src: /src/libgcrypt/src/sexp.c:1664,1
    - Dst: MAKE_SPACE
      Src: /src/libgcrypt/src/sexp.c:1665,1
    - Dst: STORE_LEN
      Src: /src/libgcrypt/src/sexp.c:1667,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:1668,1
    - Dst: ARG_NEXT
      Src: /src/libgcrypt/src/sexp.c:1677,1
    - Dst: get_internal_buffer
      Src: /src/libgcrypt/src/sexp.c:1678,1
    - Dst: MAKE_SPACE
      Src: /src/libgcrypt/src/sexp.c:1681,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:1682,1
    - Dst: MAKE_SPACE
      Src: /src/libgcrypt/src/sexp.c:1704,1
    - Dst: MAKE_SPACE
      Src: /src/libgcrypt/src/sexp.c:1725,1
    - Dst: digitp
      Src: /src/libgcrypt/src/sexp.c:1766,1
    - Dst: strchr
      Src: /src/libgcrypt/src/sexp.c:1777,1
    - Dst: whitespacep
      Src: /src/libgcrypt/src/sexp.c:1779,1
    - Dst: strchr
      Src: /src/libgcrypt/src/sexp.c:1791,1
    - Dst: MAKE_SPACE
      Src: /src/libgcrypt/src/sexp.c:1808,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/src/sexp.c:1821,1
    - Dst: wipememory
      Src: /src/libgcrypt/src/sexp.c:1822,1
    - Dst: xfree
      Src: /src/libgcrypt/src/sexp.c:1823,1
    - Dst: normalize
      Src: /src/libgcrypt/src/sexp.c:1827,1
    CyclomaticComplexity: 164
    EdgeCount: 164
    ICount: 518
    argCount: 7
    argNames:
    - retsexp
    - erroff
    - buffer
    - length
    - argflag
    - arg_list
    - arg_ptr
    argTypes:
    - gcry_sexp_t*
    - size_t*
    - char*
    - size_t
    - int
    - void**
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1095
    functionDepth: 2
    functionLinenumber: 1095
    functionLinenumberEnd: 1832
    functionName: do_vsexp_sscan
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - gpgrt_b64dec_proc
    - unquote_string
    - gpgrt_b64dec_start
    - digitp
    - strlen
    - hextonibble
    - normalize
    - memcpy
    - xtrymalloc
    - ARG_NEXT
    - MAKE_SPACE
    - gpgrt_b64dec_finish
    - whitespacep
    - mpi_cmp_ui
    - wipememory
    - strtoul
    - alphap
    - hexdigitp
    - gpg_err_code_from_syserror
    - xtrymalloc_secure
    - _gcry_mpi_print
    - strchr
    - xfree
    - get_internal_buffer
    - mpi_get_opaque
    - mpi_get_flag
    - snprintf
    - _gcry_is_secure
    - STORE_LEN
    - isxdigit
    - gpg_err_code
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t do_vsexp_sscan (gcry_sexp_t *retsexp, size_t *erroff,\n
      \               const char *buffer, size_t length, int argflag,\n                void
      **arg_list, va_list arg_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - storage
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1145
    functionName: ARG_NEXT
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARG_NEXT(storage, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1159
    functionName: MAKE_SPACE
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_SPACE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1166
    functionName: STORE_LEN
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STORE_LEN(p,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgcrypt/src/sexp.c:1843,1
    - Dst: do_vsexp_sscan
      Src: /src/libgcrypt/src/sexp.c:1844,1
    - Dst: va_end
      Src: /src/libgcrypt/src/sexp.c:1846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - retsexp
    - erroff
    - buffer
    - length
    - argflag
    - arg_list
    argTypes:
    - gcry_sexp_t*
    - size_t*
    - char*
    - size_t
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1835
    functionDepth: 3
    functionLinenumber: 1835
    functionLinenumberEnd: 1849
    functionName: do_sexp_sscan
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 1
    functionsReached:
    - va_end
    - va_start
    - do_vsexp_sscan
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t do_sexp_sscan (gcry_sexp_t *retsexp, size_t *erroff,\n
      \              const char *buffer, size_t length, int argflag,\n               void
      **arg_list, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgcrypt/src/sexp.c:1858,1
    - Dst: do_vsexp_sscan
      Src: /src/libgcrypt/src/sexp.c:1859,1
    - Dst: strlen
      Src: /src/libgcrypt/src/sexp.c:1859,1
    - Dst: va_end
      Src: /src/libgcrypt/src/sexp.c:1861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - retsexp
    - erroff
    - format
    argTypes:
    - gcry_sexp_t*
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1852
    functionDepth: 3
    functionLinenumber: 1852
    functionLinenumberEnd: 1864
    functionName: _gcry_sexp_build
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - strlen
    - va_end
    - va_start
    - do_vsexp_sscan
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_sexp_build (gcry_sexp_t *retsexp, size_t *erroff,
      const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_vsexp_sscan
      Src: /src/libgcrypt/src/sexp.c:1871,1
    - Dst: strlen
      Src: /src/libgcrypt/src/sexp.c:1871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - retsexp
    - erroff
    - format
    - arg_ptr
    argTypes:
    - gcry_sexp_t*
    - size_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1867
    functionDepth: 3
    functionLinenumber: 1867
    functionLinenumberEnd: 1873
    functionName: _gcry_sexp_vbuild
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - strlen
    - do_vsexp_sscan
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_sexp_vbuild (gcry_sexp_t *retsexp, size_t *erroff,\n
      \                  const char *format, va_list arg_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_sexp_sscan
      Src: /src/libgcrypt/src/sexp.c:1882,1
    - Dst: strlen
      Src: /src/libgcrypt/src/sexp.c:1882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - retsexp
    - erroff
    - format
    - arg_list
    argTypes:
    - gcry_sexp_t*
    - size_t*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1878
    functionDepth: 4
    functionLinenumber: 1878
    functionLinenumberEnd: 1883
    functionName: _gcry_sexp_build_array
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - do_sexp_sscan
    - strlen
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_sexp_build_array (gcry_sexp_t *retsexp, size_t
      *erroff,\n                        const char *format, void **arg_list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_sexp_sscan
      Src: /src/libgcrypt/src/sexp.c:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - retsexp
    - erroff
    - buffer
    - length
    argTypes:
    - gcry_sexp_t*
    - size_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1886
    functionDepth: 4
    functionLinenumber: 1886
    functionLinenumberEnd: 1891
    functionName: _gcry_sexp_sscan
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - do_sexp_sscan
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_sexp_sscan (gcry_sexp_t *retsexp, size_t *erroff,\n
      \                 const char *buffer, size_t length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgcrypt/src/sexp.c:1917,1
    - Dst: alphap
      Src: /src/libgcrypt/src/sexp.c:1920,1
    - Dst: digitp
      Src: /src/libgcrypt/src/sexp.c:1920,1
    - Dst: strchr
      Src: /src/libgcrypt/src/sexp.c:1920,1
    - Dst: digitp
      Src: /src/libgcrypt/src/sexp.c:1924,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1927
    functionName: suitable_encoding
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - digitp
    - strchr
    - alphap
    linkageType: ''
    returnType: int
    signature: int suitable_encoding (const unsigned char *buffer, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libgcrypt/src/sexp.c:1939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - src
    - len
    - dest
    argTypes:
    - unsigned char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1943
    functionName: convert_to_hex
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int convert_to_hex (const unsigned char *src, size_t len, char *dest)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libgcrypt/src/sexp.c:1968,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 3
    argNames:
    - s
    - len
    - dest
    argTypes:
    - unsigned char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 2003
    functionName: convert_to_string
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int convert_to_string (const unsigned char *s, size_t len, char *dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:2011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - src
    - len
    - dest
    argTypes:
    - unsigned char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2007
    functionDepth: 0
    functionLinenumber: 2007
    functionLinenumberEnd: 2013
    functionName: convert_to_token
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int convert_to_token (const unsigned char *src, size_t len, char *dest)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:2090,1
    - Dst: suitable_encoding
      Src: /src/libgcrypt/src/sexp.c:2096,1
    - Dst: convert_to_string
      Src: /src/libgcrypt/src/sexp.c:2098,1
    - Dst: convert_to_token
      Src: /src/libgcrypt/src/sexp.c:2099,1
    - Dst: convert_to_hex
      Src: /src/libgcrypt/src/sexp.c:2100,1
    - Dst: convert_to_string
      Src: /src/libgcrypt/src/sexp.c:2109,1
    - Dst: convert_to_token
      Src: /src/libgcrypt/src/sexp.c:2110,1
    - Dst: convert_to_hex
      Src: /src/libgcrypt/src/sexp.c:2111,1
    - Dst: snprintf
      Src: /src/libgcrypt/src/sexp.c:2128,1
    - Dst: strlen
      Src: /src/libgcrypt/src/sexp.c:2129,1
    - Dst: stpcpy
      Src: /src/libgcrypt/src/sexp.c:2134,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:2135,1
    - Dst: BUG
      Src: /src/libgcrypt/src/sexp.c:2141,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 120
    argCount: 4
    argNames:
    - list
    - mode
    - buffer
    - maxlength
    argTypes:
    - gcry_sexp_t
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2022
    functionDepth: 1
    functionLinenumber: 2022
    functionLinenumberEnd: 2164
    functionName: _gcry_sexp_sprint
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - BUG
    - suitable_encoding
    - convert_to_token
    - convert_to_string
    - stpcpy
    - convert_to_hex
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_sexp_sprint (const gcry_sexp_t list, int mode,\n                   void
      *buffer, size_t maxlength )"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/libgcrypt/src/sexp.c:2223,1
    - Dst: atoi_1
      Src: /src/libgcrypt/src/sexp.c:2224,1
    - Dst: digitp
      Src: /src/libgcrypt/src/sexp.c:2279,1
    - Dst: atoi_1
      Src: /src/libgcrypt/src/sexp.c:2287,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 93
    argCount: 4
    argNames:
    - buffer
    - length
    - erroff
    - errcode
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - gcry_err_code_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2173
    functionDepth: 0
    functionLinenumber: 2173
    functionLinenumberEnd: 2302
    functionName: _gcry_sexp_canon_len
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 1
    functionsReached:
    - digitp
    - atoi_1
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_sexp_canon_len (const unsigned char *buffer, size_t length,\n
      \                     size_t *erroff, gcry_err_code_t *errcode)"
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/src/sexp.c:2382,1
    - Dst: DIM
      Src: /src/libgcrypt/src/sexp.c:2387,1
    - Dst: whitespacep
      Src: /src/libgcrypt/src/sexp.c:2402,1
    - Dst: strchr
      Src: /src/libgcrypt/src/sexp.c:2409,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/sexp.c:2417,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/sexp.c:2425,1
    - Dst: strchr
      Src: /src/libgcrypt/src/sexp.c:2433,1
    - Dst: _gcry_sexp_find_token
      Src: /src/libgcrypt/src/sexp.c:2440,1
    - Dst: sexp_release
      Src: /src/libgcrypt/src/sexp.c:2447,1
    - Dst: whitespacep
      Src: /src/libgcrypt/src/sexp.c:2491,1
    - Dst: strchr
      Src: /src/libgcrypt/src/sexp.c:2501,1
    - Dst: _gcry_sexp_find_token
      Src: /src/libgcrypt/src/sexp.c:2508,1
    - Dst: _gcry_sexp_find_token
      Src: /src/libgcrypt/src/sexp.c:2512,1
    - Dst: _gcry_sexp_nth_data
      Src: /src/libgcrypt/src/sexp.c:2569,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:2580,1
    - Dst: _gcry_sexp_nth_buffer
      Src: /src/libgcrypt/src/sexp.c:2586,1
    - Dst: sexp_length
      Src: /src/libgcrypt/src/sexp.c:2606,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/src/sexp.c:2609,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/src/sexp.c:2616,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/src/sexp.c:2620,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/src/sexp.c:2624,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:2626,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/sexp.c:2628,1
    - Dst: _gcry_sexp_nth_string
      Src: /src/libgcrypt/src/sexp.c:2637,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/src/sexp.c:2640,1
    - Dst: xfree
      Src: /src/libgcrypt/src/sexp.c:2649,1
    - Dst: _gcry_sexp_nth_string
      Src: /src/libgcrypt/src/sexp.c:2650,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/src/sexp.c:2653,1
    - Dst: strtol
      Src: /src/libgcrypt/src/sexp.c:2656,1
    - Dst: xfree
      Src: /src/libgcrypt/src/sexp.c:2667,1
    - Dst: _gcry_sexp_nth_string
      Src: /src/libgcrypt/src/sexp.c:2668,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/src/sexp.c:2671,1
    - Dst: strtoul
      Src: /src/libgcrypt/src/sexp.c:2674,1
    - Dst: _gcry_sexp_nth_mpi
      Src: /src/libgcrypt/src/sexp.c:2686,1
    - Dst: _gcry_sexp_nth_mpi
      Src: /src/libgcrypt/src/sexp.c:2688,1
    - Dst: _gcry_sexp_nth_mpi
      Src: /src/libgcrypt/src/sexp.c:2690,1
    - Dst: sexp_release
      Src: /src/libgcrypt/src/sexp.c:2697,1
    - Dst: xfree
      Src: /src/libgcrypt/src/sexp.c:2703,1
    - Dst: sexp_release
      Src: /src/libgcrypt/src/sexp.c:2704,1
    - Dst: xfree
      Src: /src/libgcrypt/src/sexp.c:2708,1
    - Dst: sexp_release
      Src: /src/libgcrypt/src/sexp.c:2709,1
    - Dst: sexp_release
      Src: /src/libgcrypt/src/sexp.c:2710,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/src/sexp.c:2715,1
    - Dst: xfree
      Src: /src/libgcrypt/src/sexp.c:2728,1
    - Dst: xfree
      Src: /src/libgcrypt/src/sexp.c:2735,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 271
    argCount: 4
    argNames:
    - sexp
    - path
    - list
    - arg_ptr
    argTypes:
    - gcry_sexp_t
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2360
    functionDepth: 3
    functionLinenumber: 2360
    functionLinenumberEnd: 2740
    functionName: _gcry_sexp_vextract_param
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - _gcry_sexp_nth_buffer
    - sexp_release
    - _gcry_sexp_nth_mpi
    - xtrymalloc
    - memcpy
    - _gcry_sexp_nth_string
    - sexp_length
    - DIM
    - whitespacep
    - strtoul
    - strtol
    - gpg_err_code_from_syserror
    - _gcry_sexp_nth_data
    - strchr
    - sexp_nth_data
    - memset
    - xfree
    - _gcry_mpi_release
    - va_arg
    - _gcry_sexp_find_token
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_sexp_vextract_param (gcry_sexp_t sexp, const
      char *path,\n                           const char *list, va_list arg_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgcrypt/src/sexp.c:2749,1
    - Dst: _gcry_sexp_vextract_param
      Src: /src/libgcrypt/src/sexp.c:2750,1
    - Dst: va_end
      Src: /src/libgcrypt/src/sexp.c:2751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sexp
    - path
    - list
    argTypes:
    - gcry_sexp_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2742
    functionDepth: 4
    functionLinenumber: 2742
    functionLinenumberEnd: 2753
    functionName: _gcry_sexp_extract_param
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gcry_sexp_vextract_param
    - va_start
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_sexp_extract_param (gcry_sexp_t sexp, const char
      *path,\n                          const char *list, ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/libgcrypt/src/sexp.c:2768,1
    - Dst: strlen
      Src: /src/libgcrypt/src/sexp.c:2768,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/src/sexp.c:2773,1
    - Dst: hexdigitp
      Src: /src/libgcrypt/src/sexp.c:2773,1
    - Dst: xfree
      Src: /src/libgcrypt/src/sexp.c:2775,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/sexp.c:2776,1
    - Dst: xtoi_2
      Src: /src/libgcrypt/src/sexp.c:2779,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - string
    - r_length
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2785
      start: 2760
    functionDepth: 0
    functionLinenumber: 2760
    functionLinenumberEnd: 2785
    functionName: _gcry_hex2buffer
    functionSourceFile: /src/libgcrypt/src/sexp.c
    functionUses: 0
    functionsReached:
    - hexdigitp
    - strlen
    - xfree
    - gpg_err_set_errno
    - xtrymalloc
    - xtoi_2
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_hex2buffer (const char *string, size_t *r_length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_sysconfdir
      Src: /src/libgcrypt/src/hwfeatures.c:151,1
    - Dst: xmalloc
      Src: /src/libgcrypt/src/hwfeatures.c:153,1
    - Dst: strlen
      Src: /src/libgcrypt/src/hwfeatures.c:153,1
    - Dst: strlen
      Src: /src/libgcrypt/src/hwfeatures.c:153,1
    - Dst: strcpy
      Src: /src/libgcrypt/src/hwfeatures.c:154,1
    - Dst: strcat
      Src: /src/libgcrypt/src/hwfeatures.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 161
    functionName: get_hwf_deny_file
    functionSourceFile: /src/libgcrypt/src/hwfeatures.c
    functionUses: 0
    functionsReached:
    - strlen
    - xmalloc
    - strcpy
    - _gcry_get_sysconfdir
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      get_hwf_deny_file (void)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/libgcrypt/src/hwfeatures.c:174,1
    - Dst: strncmp
      Src: /src/libgcrypt/src/hwfeatures.c:177,1
    - Dst: DIM
      Src: /src/libgcrypt/src/hwfeatures.c:181,1
    - Dst: strlen
      Src: /src/libgcrypt/src/hwfeatures.c:183,1
    - Dst: strncmp
      Src: /src/libgcrypt/src/hwfeatures.c:184,1
    - Dst: DIM
      Src: /src/libgcrypt/src/hwfeatures.c:190,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 198
    functionName: _gcry_disable_hw_feature
    functionSourceFile: /src/libgcrypt/src/hwfeatures.c
    functionUses: 0
    functionsReached:
    - strcspn
    - DIM
    - strncmp
    - strlen
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_disable_hw_feature (const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: _gcry_get_hw_features
    functionSourceFile: /src/libgcrypt/src/hwfeatures.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_get_hw_features (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/src/hwfeatures.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - idx
    - r_feature
    argTypes:
    - int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: _gcry_enum_hw_features
    functionSourceFile: /src/libgcrypt/src/hwfeatures.c
    functionUses: 0
    functionsReached:
    - DIM
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_enum_hw_features (int idx, unsigned int *r_feature)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_hwf_deny_file
      Src: /src/libgcrypt/src/hwfeatures.c:229,1
    - Dst: fopen
      Src: /src/libgcrypt/src/hwfeatures.c:235,1
    - Dst: fgets
      Src: /src/libgcrypt/src/hwfeatures.c:241,1
    - Dst: feof
      Src: /src/libgcrypt/src/hwfeatures.c:243,1
    - Dst: syslog
      Src: /src/libgcrypt/src/hwfeatures.c:246,1
    - Dst: fclose
      Src: /src/libgcrypt/src/hwfeatures.c:251,1
    - Dst: my_isascii
      Src: /src/libgcrypt/src/hwfeatures.c:255,1
    - Dst: isspace
      Src: /src/libgcrypt/src/hwfeatures.c:255,1
    - Dst: strchr
      Src: /src/libgcrypt/src/hwfeatures.c:257,1
    - Dst: strlen
      Src: /src/libgcrypt/src/hwfeatures.c:260,1
    - Dst: my_isascii
      Src: /src/libgcrypt/src/hwfeatures.c:262,1
    - Dst: isspace
      Src: /src/libgcrypt/src/hwfeatures.c:262,1
    - Dst: _gcry_disable_hw_feature
      Src: /src/libgcrypt/src/hwfeatures.c:267,1
    - Dst: syslog
      Src: /src/libgcrypt/src/hwfeatures.c:270,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 276
    functionName: parse_hwf_deny_file
    functionSourceFile: /src/libgcrypt/src/hwfeatures.c
    functionUses: 0
    functionsReached:
    - my_isascii
    - strlen
    - fclose
    - get_hwf_deny_file
    - feof
    - strchr
    - fopen
    - isspace
    - fgets
    - _gcry_disable_hw_feature
    - syslog
    linkageType: ''
    returnType: void
    signature: void parse_hwf_deny_file (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_hwf_deny_file
      Src: /src/libgcrypt/src/hwfeatures.c:287,1
    - Dst: _gcry_hwf_detect_x86
      Src: /src/libgcrypt/src/hwfeatures.c:291,1
    - Dst: _gcry_hwf_detect_arm
      Src: /src/libgcrypt/src/hwfeatures.c:295,1
    - Dst: _gcry_hwf_detect_ppc
      Src: /src/libgcrypt/src/hwfeatures.c:299,1
    - Dst: _gcry_hwf_detect_s390x
      Src: /src/libgcrypt/src/hwfeatures.c:303,1
    - Dst: _gcry_hwf_detect_riscv
      Src: /src/libgcrypt/src/hwfeatures.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 311
    functionName: _gcry_detect_hw_features
    functionSourceFile: /src/libgcrypt/src/hwfeatures.c
    functionUses: 0
    functionsReached:
    - _gcry_hwf_detect_s390x
    - parse_hwf_deny_file
    - _gcry_hwf_detect_riscv
    - _gcry_hwf_detect_x86
    - _gcry_hwf_detect_ppc
    - _gcry_hwf_detect_arm
    linkageType: ''
    returnType: void
    signature: void _gcry_detect_hw_features (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetProcAddress
      Src: /src/libgcrypt/src/hwfeatures.c:331,1
    - Dst: GetModuleHandle
      Src: /src/libgcrypt/src/hwfeatures.c:331,1
    - Dst: LoadLibraryEx
      Src: /src/libgcrypt/src/hwfeatures.c:333,1
    - Dst: LoadLibraryEx
      Src: /src/libgcrypt/src/hwfeatures.c:336,1
    - Dst: xmalloc
      Src: /src/libgcrypt/src/hwfeatures.c:339,1
    - Dst: GetProcAddress
      Src: /src/libgcrypt/src/hwfeatures.c:340,1
    - Dst: func
      Src: /src/libgcrypt/src/hwfeatures.c:341,1
    - Dst: xmalloc
      Src: /src/libgcrypt/src/hwfeatures.c:343,1
    - Dst: strlen
      Src: /src/libgcrypt/src/hwfeatures.c:343,1
    - Dst: strcpy
      Src: /src/libgcrypt/src/hwfeatures.c:344,1
    - Dst: strcat
      Src: /src/libgcrypt/src/hwfeatures.c:345,1
    - Dst: xfree
      Src: /src/libgcrypt/src/hwfeatures.c:347,1
    - Dst: FreeLibrary
      Src: /src/libgcrypt/src/hwfeatures.c:348,1
    - Dst: xstrdup
      Src: /src/libgcrypt/src/hwfeatures.c:351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 358
    functionName: _gcry_get_sysconfdir
    functionSourceFile: /src/libgcrypt/src/hwfeatures.c
    functionUses: 1
    functionsReached:
    - GetModuleHandle
    - GetProcAddress
    - strlen
    - FreeLibrary
    - func
    - xmalloc
    - strcpy
    - xfree
    - xstrdup
    - LoadLibraryEx
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_get_sysconfdir (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: ADDR_TO_BLOCK
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDR_TO_BLOCK(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_synchronize
      Src: /src/libgcrypt/src/secmem.c:138,1
    - Dst: memset
      Src: /src/libgcrypt/src/secmem.c:142,1
    - Dst: gpgrt_lock_init
      Src: /src/libgcrypt/src/secmem.c:143,1
    - Dst: gpgrt_lock_lock
      Src: /src/libgcrypt/src/secmem.c:144,1
    - Dst: gpgrt_lock_unlock
      Src: /src/libgcrypt/src/secmem.c:145,1
    - Dst: gpgrt_lock_destroy
      Src: /src/libgcrypt/src/secmem.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 148
    functionName: memory_barrier
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - __sync_synchronize
    - gpgrt_lock_unlock
    - gpgrt_lock_destroy
    - gpgrt_lock_init
    - memset
    - gpgrt_lock_lock
    linkageType: ''
    returnType: void
    signature: void memory_barrier(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pool
    - p
    argTypes:
    - pooldesc_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: ptr_into_pool_p
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ptr_into_pool_p (pooldesc_t *pool, const void *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pool
    - add
    - sub
    argTypes:
    - pooldesc_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 179
    functionName: stats_update
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stats_update (pooldesc_t *pool, size_t add, size_t sub)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptr_into_pool_p
      Src: /src/libgcrypt/src/secmem.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pool
    - mb
    argTypes:
    - pooldesc_t*
    - memblock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: mb_get_next
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - ptr_into_pool_p
    linkageType: ''
    returnType: memblock_t
    signature: 'memblock_t *

      mb_get_next (pooldesc_t *pool, memblock_t *mb)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mb_get_next
      Src: /src/libgcrypt/src/secmem.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pool
    - mb
    argTypes:
    - pooldesc_t*
    - memblock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 218
    functionName: mb_get_prev
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - mb_get_next
    linkageType: ''
    returnType: memblock_t
    signature: 'memblock_t *

      mb_get_prev (pooldesc_t *pool, memblock_t *mb)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mb_get_prev
      Src: /src/libgcrypt/src/secmem.c:227,1
    - Dst: mb_get_next
      Src: /src/libgcrypt/src/secmem.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pool
    - mb
    argTypes:
    - pooldesc_t*
    - memblock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 237
    functionName: mb_merge
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - mb_get_prev
    - mb_get_next
    linkageType: ''
    returnType: void
    signature: void mb_merge (pooldesc_t *pool, memblock_t *mb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ptr_into_pool_p
      Src: /src/libgcrypt/src/secmem.c:245,1
    - Dst: mb_get_next
      Src: /src/libgcrypt/src/secmem.c:245,1
    - Dst: mb_merge
      Src: /src/libgcrypt/src/secmem.c:262,1
    - Dst: ptr_into_pool_p
      Src: /src/libgcrypt/src/secmem.c:269,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/secmem.c:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - pool
    - block
    - size
    argTypes:
    - pooldesc_t*
    - memblock_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 240
    functionDepth: 4
    functionLinenumber: 240
    functionLinenumberEnd: 276
    functionName: mb_get_new
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - mb_get_next
    - mb_merge
    - ptr_into_pool_p
    - gpg_err_set_errno
    linkageType: ''
    returnType: memblock_t
    signature: 'memblock_t *

      mb_get_new (pooldesc_t *pool, memblock_t *block, size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/libgcrypt/src/secmem.c:283,1
    - Dst: _
      Src: /src/libgcrypt/src/secmem.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: print_warn
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - log_info
    - _
    linkageType: ''
    returnType: void
    signature: void print_warn (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/libgcrypt/src/secmem.c:296,1
    - Dst: __has_feature
      Src: /src/libgcrypt/src/secmem.c:300,1
    - Dst: mlock
      Src: /src/libgcrypt/src/secmem.c:323,1
    - Dst: mlock
      Src: /src/libgcrypt/src/secmem.c:327,1
    - Dst: geteuid
      Src: /src/libgcrypt/src/secmem.c:331,1
    - Dst: setuid
      Src: /src/libgcrypt/src/secmem.c:338,1
    - Dst: getuid
      Src: /src/libgcrypt/src/secmem.c:338,1
    - Dst: geteuid
      Src: /src/libgcrypt/src/secmem.c:338,1
    - Dst: setuid
      Src: /src/libgcrypt/src/secmem.c:338,1
    - Dst: log_fatal
      Src: /src/libgcrypt/src/secmem.c:339,1
    - Dst: strerror
      Src: /src/libgcrypt/src/secmem.c:339,1
    - Dst: log_error
      Src: /src/libgcrypt/src/secmem.c:356,1
    - Dst: strerror
      Src: /src/libgcrypt/src/secmem.c:356,1
    - Dst: log_info
      Src: /src/libgcrypt/src/secmem.c:381,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 383
    functionName: lock_pool_pages
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - mlock
    - log_error
    - log_fatal
    - getuid
    - log_info
    - geteuid
    - __has_feature
    - strerror
    - setuid
    linkageType: ''
    returnType: void
    signature: void lock_pool_pages (void *p, size_t n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/libgcrypt/src/secmem.c:394,1
    - Dst: sysconf
      Src: /src/libgcrypt/src/secmem.c:403,1
    - Dst: getpagesize
      Src: /src/libgcrypt/src/secmem.c:405,1
    - Dst: mmap
      Src: /src/libgcrypt/src/secmem.c:413,1
    - Dst: open
      Src: /src/libgcrypt/src/secmem.c:419,1
    - Dst: log_error
      Src: /src/libgcrypt/src/secmem.c:422,1
    - Dst: strerror
      Src: /src/libgcrypt/src/secmem.c:422,1
    - Dst: mmap
      Src: /src/libgcrypt/src/secmem.c:427,1
    - Dst: close
      Src: /src/libgcrypt/src/secmem.c:429,1
    - Dst: log_info
      Src: /src/libgcrypt/src/secmem.c:434,1
    - Dst: strerror
      Src: /src/libgcrypt/src/secmem.c:435,1
    - Dst: malloc
      Src: /src/libgcrypt/src/secmem.c:446,1
    - Dst: log_fatal
      Src: /src/libgcrypt/src/secmem.c:448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - pool
    - n
    argTypes:
    - pooldesc_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 458
    functionName: init_pool
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - open
    - getpagesize
    - log_bug
    - log_error
    - close
    - log_fatal
    - mmap
    - log_info
    - malloc
    - strerror
    - sysconf
    linkageType: ''
    returnType: void
    signature: void init_pool (pooldesc_t *pool, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - chunksize
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 475
    functionName: _gcry_secmem_set_auto_expand
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_secmem_set_auto_expand (unsigned int chunksize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_warn
      Src: /src/libgcrypt/src/secmem.c:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 499
    functionName: _gcry_secmem_set_flags
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - print_warn
    linkageType: ''
    returnType: void
    signature: void _gcry_secmem_set_flags (unsigned flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 517
    functionName: _gcry_secmem_get_flags
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_secmem_get_flags (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cap_from_text
      Src: /src/libgcrypt/src/secmem.c:536,1
    - Dst: cap_set_proc
      Src: /src/libgcrypt/src/secmem.c:537,1
    - Dst: cap_free
      Src: /src/libgcrypt/src/secmem.c:538,1
    - Dst: getuid
      Src: /src/libgcrypt/src/secmem.c:545,1
    - Dst: geteuid
      Src: /src/libgcrypt/src/secmem.c:546,1
    - Dst: setuid
      Src: /src/libgcrypt/src/secmem.c:548,1
    - Dst: getuid
      Src: /src/libgcrypt/src/secmem.c:548,1
    - Dst: geteuid
      Src: /src/libgcrypt/src/secmem.c:548,1
    - Dst: setuid
      Src: /src/libgcrypt/src/secmem.c:548,1
    - Dst: log_fatal
      Src: /src/libgcrypt/src/secmem.c:549,1
    - Dst: init_pool
      Src: /src/libgcrypt/src/secmem.c:559,1
    - Dst: lock_pool_pages
      Src: /src/libgcrypt/src/secmem.c:560,1
    - Dst: log_error
      Src: /src/libgcrypt/src/secmem.c:563,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 522
    functionDepth: 3
    functionLinenumber: 522
    functionLinenumberEnd: 565
    functionName: _gcry_secmem_init_internal
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - log_error
    - log_fatal
    - cap_free
    - init_pool
    - cap_set_proc
    - cap_from_text
    - getuid
    - lock_pool_pages
    - geteuid
    - setuid
    linkageType: ''
    returnType: void
    signature: void _gcry_secmem_init_internal (size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_secmem_init_internal
      Src: /src/libgcrypt/src/secmem.c:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 573
    functionDepth: 4
    functionLinenumber: 573
    functionLinenumberEnd: 581
    functionName: _gcry_secmem_init
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - _gcry_secmem_init_internal
    linkageType: ''
    returnType: void
    signature: void _gcry_secmem_init (size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 589
    functionName: _gcry_secmem_module_init
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_secmem_module_init (void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_secmem_init_internal
      Src: /src/libgcrypt/src/secmem.c:603,1
    - Dst: log_info
      Src: /src/libgcrypt/src/secmem.c:606,1
    - Dst: _
      Src: /src/libgcrypt/src/secmem.c:606,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/secmem.c:608,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/secmem.c:612,1
    - Dst: log_info
      Src: /src/libgcrypt/src/secmem.c:614,1
    - Dst: _
      Src: /src/libgcrypt/src/secmem.c:614,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/secmem.c:615,1
    - Dst: print_warn
      Src: /src/libgcrypt/src/secmem.c:621,1
    - Dst: mb_get_new
      Src: /src/libgcrypt/src/secmem.c:627,1
    - Dst: stats_update
      Src: /src/libgcrypt/src/secmem.c:630,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/secmem.c:643,1
    - Dst: mb_get_new
      Src: /src/libgcrypt/src/secmem.c:648,1
    - Dst: stats_update
      Src: /src/libgcrypt/src/secmem.c:651,1
    - Dst: calloc
      Src: /src/libgcrypt/src/secmem.c:659,1
    - Dst: malloc
      Src: /src/libgcrypt/src/secmem.c:663,1
    - Dst: free
      Src: /src/libgcrypt/src/secmem.c:666,1
    - Dst: memory_barrier
      Src: /src/libgcrypt/src/secmem.c:682,1
    - Dst: print_warn
      Src: /src/libgcrypt/src/secmem.c:688,1
    - Dst: mb_get_new
      Src: /src/libgcrypt/src/secmem.c:691,1
    - Dst: stats_update
      Src: /src/libgcrypt/src/secmem.c:694,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 2
    argNames:
    - size
    - xhint
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 592
    functionDepth: 5
    functionLinenumber: 592
    functionLinenumberEnd: 700
    functionName: _gcry_secmem_malloc_internal
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - mb_get_new
    - memory_barrier
    - calloc
    - fips_mode
    - _
    - stats_update
    - log_info
    - malloc
    - gpg_err_set_errno
    - print_warn
    - _gcry_secmem_init_internal
    - free
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_secmem_malloc_internal (size_t size, int xhint)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_secmem_malloc_internal
      Src: /src/libgcrypt/src/secmem.c:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - size
    - xhint
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 705
    functionDepth: 6
    functionLinenumber: 705
    functionLinenumberEnd: 715
    functionName: _gcry_secmem_malloc
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - _gcry_secmem_malloc_internal
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_secmem_malloc (size_t size, int xhint)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ptr_into_pool_p
      Src: /src/libgcrypt/src/secmem.c:725,1
    - Dst: ADDR_TO_BLOCK
      Src: /src/libgcrypt/src/secmem.c:730,1
    - Dst: MB_WIPE_OUT
      Src: /src/libgcrypt/src/secmem.c:738,1
    - Dst: MB_WIPE_OUT
      Src: /src/libgcrypt/src/secmem.c:739,1
    - Dst: MB_WIPE_OUT
      Src: /src/libgcrypt/src/secmem.c:740,1
    - Dst: MB_WIPE_OUT
      Src: /src/libgcrypt/src/secmem.c:741,1
    - Dst: stats_update
      Src: /src/libgcrypt/src/secmem.c:744,1
    - Dst: mb_merge
      Src: /src/libgcrypt/src/secmem.c:748,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 717
    functionDepth: 4
    functionLinenumber: 717
    functionLinenumberEnd: 751
    functionName: _gcry_secmem_free_internal
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - mb_merge
    - ADDR_TO_BLOCK
    - stats_update
    - ptr_into_pool_p
    - MB_WIPE_OUT
    linkageType: ''
    returnType: int
    signature: int _gcry_secmem_free_internal (void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - byte
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 737
    functionName: MB_WIPE_OUT
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MB_WIPE_OUT(byte)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_secmem_free_internal
      Src: /src/libgcrypt/src/secmem.c:765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 756
    functionDepth: 5
    functionLinenumber: 756
    functionLinenumberEnd: 768
    functionName: _gcry_secmem_free
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - _gcry_secmem_free_internal
    linkageType: ''
    returnType: int
    signature: int _gcry_secmem_free (void *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_secmem_malloc_internal
      Src: /src/libgcrypt/src/secmem.c:788,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/secmem.c:791,1
    - Dst: memset
      Src: /src/libgcrypt/src/secmem.c:792,1
    - Dst: _gcry_secmem_free_internal
      Src: /src/libgcrypt/src/secmem.c:793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - p
    - newsize
    - xhint
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 771
    functionDepth: 6
    functionLinenumber: 771
    functionLinenumberEnd: 798
    functionName: _gcry_secmem_realloc_internal
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - _gcry_secmem_malloc_internal
    - _gcry_secmem_free_internal
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_secmem_realloc_internal (void *p, size_t newsize, int xhint)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_secmem_realloc_internal
      Src: /src/libgcrypt/src/secmem.c:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p
    - newsize
    - xhint
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 803
    functionDepth: 7
    functionLinenumber: 803
    functionLinenumberEnd: 813
    functionName: _gcry_secmem_realloc
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - _gcry_secmem_realloc_internal
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_secmem_realloc (void *p, size_t newsize, int xhint)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptr_into_pool_p
      Src: /src/libgcrypt/src/secmem.c:830,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 834
    functionName: _gcry_private_is_secure
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - ptr_into_pool_p
    linkageType: ''
    returnType: int
    signature: int _gcry_private_is_secure (const void *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wipememory2
      Src: /src/libgcrypt/src/secmem.c:856,1
    - Dst: wipememory2
      Src: /src/libgcrypt/src/secmem.c:857,1
    - Dst: wipememory2
      Src: /src/libgcrypt/src/secmem.c:858,1
    - Dst: wipememory2
      Src: /src/libgcrypt/src/secmem.c:859,1
    - Dst: munmap
      Src: /src/libgcrypt/src/secmem.c:864,1
    - Dst: free
      Src: /src/libgcrypt/src/secmem.c:872,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 876
    functionName: _gcry_secmem_term
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - wipememory2
    - free
    - munmap
    linkageType: ''
    returnType: void
    signature: void _gcry_secmem_term (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secmem_dump_stats_internal
      Src: /src/libgcrypt/src/secmem.c:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - extended
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 887
    functionName: _gcry_secmem_dump_stats
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 0
    functionsReached:
    - secmem_dump_stats_internal
    linkageType: ''
    returnType: void
    signature: void _gcry_secmem_dump_stats (int extended)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/libgcrypt/src/secmem.c:902,1
    - Dst: ptr_into_pool_p
      Src: /src/libgcrypt/src/secmem.c:910,1
    - Dst: mb_get_next
      Src: /src/libgcrypt/src/secmem.c:911,1
    - Dst: log_info
      Src: /src/libgcrypt/src/secmem.c:912,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - extended
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 890
    functionDepth: 2
    functionLinenumber: 890
    functionLinenumberEnd: 919
    functionName: secmem_dump_stats_internal
    functionSourceFile: /src/libgcrypt/src/secmem.c
    functionUses: 1
    functionsReached:
    - mb_get_next
    - log_info
    - ptr_into_pool_p
    linkageType: ''
    returnType: void
    signature: void secmem_dump_stats_internal (int extended)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: _gcry_thread_context_set_reject
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_thread_context_set_reject (unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: _gcry_thread_context_check_rejection
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gcry_thread_context_check_rejection (unsigned int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fsi
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: _gcry_thread_context_set_fsi
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_thread_context_set_fsi (unsigned long fsi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: _gcry_thread_context_get_fsi
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long _gcry_thread_context_get_fsi (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: loxtoi_1
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: loxtoi_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: loxtoi_2
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: loxtoi_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: loxdigit_p
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: loxdigit_p(p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_sysconfdir
      Src: /src/libgcrypt/src/fips.c:132,1
    - Dst: xmalloc
      Src: /src/libgcrypt/src/fips.c:134,1
    - Dst: strlen
      Src: /src/libgcrypt/src/fips.c:134,1
    - Dst: strlen
      Src: /src/libgcrypt/src/fips.c:134,1
    - Dst: strcpy
      Src: /src/libgcrypt/src/fips.c:135,1
    - Dst: strcat
      Src: /src/libgcrypt/src/fips.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: get_fips_force_file
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - strlen
    - xmalloc
    - strcpy
    - _gcry_get_sysconfdir
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      get_fips_force_file (void)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/src/fips.c:155,1
    - Dst: access
      Src: /src/libgcrypt/src/fips.c:163,1
    - Dst: get_fips_force_file
      Src: /src/libgcrypt/src/fips.c:163,1
    - Dst: fopen
      Src: /src/libgcrypt/src/fips.c:173,1
    - Dst: fgets
      Src: /src/libgcrypt/src/fips.c:178,1
    - Dst: atoi
      Src: /src/libgcrypt/src/fips.c:178,1
    - Dst: fclose
      Src: /src/libgcrypt/src/fips.c:181,1
    - Dst: fclose
      Src: /src/libgcrypt/src/fips.c:184,1
    - Dst: access
      Src: /src/libgcrypt/src/fips.c:188,1
    - Dst: log_info
      Src: /src/libgcrypt/src/fips.c:192,1
    - Dst: strerror
      Src: /src/libgcrypt/src/fips.c:193,1
    - Dst: syslog
      Src: /src/libgcrypt/src/fips.c:195,1
    - Dst: strerror
      Src: /src/libgcrypt/src/fips.c:197,1
    - Dst: abort
      Src: /src/libgcrypt/src/fips.c:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 205
    functionName: check_fips_system_setting
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - syslog
    - atoi
    - fclose
    - getenv
    - abort
    - get_fips_force_file
    - access
    - fopen
    - log_info
    - fgets
    - strerror
    linkageType: ''
    returnType: int
    signature: int check_fips_system_setting (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_fips_system_setting
      Src: /src/libgcrypt/src/fips.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: _gcry_fips_to_activate
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - check_fips_system_setting
    linkageType: ''
    returnType: int
    signature: int _gcry_fips_to_activate (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/src/fips.c:232,1
    - Dst: fips_new_state
      Src: /src/libgcrypt/src/fips.c:234,1
    - Dst: fips_noreturn
      Src: /src/libgcrypt/src/fips.c:235,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/src/fips.c:238,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/src/fips.c:245,1
    - Dst: check_fips_system_setting
      Src: /src/libgcrypt/src/fips.c:250,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/src/fips.c:252,1
    - Dst: gpgrt_lock_init
      Src: /src/libgcrypt/src/fips.c:265,1
    - Dst: log_info
      Src: /src/libgcrypt/src/fips.c:271,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/fips.c:272,1
    - Dst: syslog
      Src: /src/libgcrypt/src/fips.c:274,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/fips.c:276,1
    - Dst: abort
      Src: /src/libgcrypt/src/fips.c:278,1
    - Dst: fips_new_state
      Src: /src/libgcrypt/src/fips.c:282,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - force
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 286
    functionName: _gcry_initialize_fips_mode
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - fips_new_state
    - gcry_assert
    - check_fips_system_setting
    - fips_mode
    - abort
    - gpgrt_lock_init
    - log_info
    - gpg_strerror
    - syslog
    - fips_noreturn
    linkageType: ''
    returnType: void
    signature: void _gcry_initialize_fips_mode (int force)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_lock_lock
      Src: /src/libgcrypt/src/fips.c:293,1
    - Dst: log_info
      Src: /src/libgcrypt/src/fips.c:296,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/fips.c:297,1
    - Dst: syslog
      Src: /src/libgcrypt/src/fips.c:299,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/fips.c:301,1
    - Dst: abort
      Src: /src/libgcrypt/src/fips.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: lock_fsm
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - abort
    - gpg_strerror
    - log_info
    - syslog
    - gpgrt_lock_lock
    linkageType: ''
    returnType: void
    signature: void lock_fsm (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_lock_unlock
      Src: /src/libgcrypt/src/fips.c:312,1
    - Dst: log_info
      Src: /src/libgcrypt/src/fips.c:315,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/fips.c:316,1
    - Dst: syslog
      Src: /src/libgcrypt/src/fips.c:318,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/fips.c:320,1
    - Dst: abort
      Src: /src/libgcrypt/src/fips.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 324
    functionName: unlock_fsm
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - gpgrt_lock_unlock
    - abort
    - gpg_strerror
    - log_info
    - syslog
    linkageType: ''
    returnType: void
    signature: void unlock_fsm (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - enum module_states
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: state2str
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      state2str (enum module_states state)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/src/fips.c:353,1
    - Dst: lock_fsm
      Src: /src/libgcrypt/src/fips.c:357,1
    - Dst: unlock_fsm
      Src: /src/libgcrypt/src/fips.c:373,1
    - Dst: _gcry_fips_run_selftests
      Src: /src/libgcrypt/src/fips.c:374,1
    - Dst: _gcry_random_close_fds
      Src: /src/libgcrypt/src/fips.c:377,1
    - Dst: lock_fsm
      Src: /src/libgcrypt/src/fips.c:378,1
    - Dst: unlock_fsm
      Src: /src/libgcrypt/src/fips.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 385
    functionName: _gcry_fips_is_operational
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - _gcry_fips_run_selftests
    - _gcry_random_close_fds
    - lock_fsm
    - fips_mode
    - unlock_fsm
    linkageType: ''
    returnType: int
    signature: int _gcry_fips_is_operational (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/src/fips.c:396,1
    - Dst: lock_fsm
      Src: /src/libgcrypt/src/fips.c:400,1
    - Dst: unlock_fsm
      Src: /src/libgcrypt/src/fips.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 405
    functionName: _gcry_fips_test_operational
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - lock_fsm
    - fips_mode
    - unlock_fsm
    linkageType: ''
    returnType: int
    signature: int _gcry_fips_test_operational (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_thread_context_get_fsi
      Src: /src/libgcrypt/src/fips.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 416
    functionName: _gcry_fips_indicator
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - _gcry_thread_context_get_fsi
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_fips_indicator (void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/libgcrypt/src/fips.c:421,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/fips.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - arg_ptr
    argTypes:
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 449
    functionName: _gcry_fips_indicator_cipher
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int _gcry_fips_indicator_cipher (va_list arg_ptr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/libgcrypt/src/fips.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - arg_ptr
    argTypes:
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 474
    functionName: _gcry_fips_indicator_mac
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int _gcry_fips_indicator_mac (va_list arg_ptr)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/libgcrypt/src/fips.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - arg_ptr
    argTypes:
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 502
    functionName: _gcry_fips_indicator_md
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int _gcry_fips_indicator_md (va_list arg_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/libgcrypt/src/fips.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg_ptr
    argTypes:
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 516
    functionName: _gcry_fips_indicator_kdf
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int _gcry_fips_indicator_kdf (va_list arg_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/libgcrypt/src/fips.c:521,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/fips.c:523,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/fips.c:524,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/fips.c:525,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/fips.c:526,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/fips.c:527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - arg_ptr
    argTypes:
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 531
    functionName: _gcry_fips_indicator_function
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - strcmp
    - va_arg
    linkageType: ''
    returnType: int
    signature: int _gcry_fips_indicator_function (va_list arg_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/src/fips.c:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 568
    functionName: compare_string
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int compare_string (const void *v1, const void *v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/libgcrypt/src/fips.c:573,1
    - Dst: bsearch
      Src: /src/libgcrypt/src/fips.c:575,1
    - Dst: DIM
      Src: /src/libgcrypt/src/fips.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg_ptr
    argTypes:
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 580
    functionName: _gcry_fips_indicator_pk_flags
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - DIM
    - bsearch
    - va_arg
    linkageType: ''
    returnType: int
    signature: int _gcry_fips_indicator_pk_flags (va_list arg_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/src/fips.c:590,1
    - Dst: lock_fsm
      Src: /src/libgcrypt/src/fips.c:594,1
    - Dst: unlock_fsm
      Src: /src/libgcrypt/src/fips.c:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 585
    functionDepth: 3
    functionLinenumber: 585
    functionLinenumberEnd: 600
    functionName: _gcry_fips_test_error_or_operational
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - lock_fsm
    - fips_mode
    - unlock_fsm
    linkageType: ''
    returnType: int
    signature: int _gcry_fips_test_error_or_operational (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_log_verbosity
      Src: /src/libgcrypt/src/fips.c:606,1
    - Dst: log_info
      Src: /src/libgcrypt/src/fips.c:609,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/fips.c:610,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/fips.c:611,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/fips.c:612,1
    - Dst: _gcry_cipher_algo_name
      Src: /src/libgcrypt/src/fips.c:612,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/fips.c:613,1
    - Dst: _gcry_md_algo_name
      Src: /src/libgcrypt/src/fips.c:613,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/fips.c:614,1
    - Dst: _gcry_md_algo_name
      Src: /src/libgcrypt/src/fips.c:614,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/fips.c:615,1
    - Dst: _gcry_pk_algo_name
      Src: /src/libgcrypt/src/fips.c:615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - domain
    - algo
    - what
    - errtxt
    argTypes:
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 618
    functionName: reporter
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - _gcry_pk_algo_name
    - strcmp
    - _gcry_log_verbosity
    - _gcry_cipher_algo_name
    - log_info
    - _gcry_md_algo_name
    linkageType: ''
    returnType: void
    signature: void reporter (const char *domain, int algo, const char *what, const
      char *errtxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_selftest
      Src: /src/libgcrypt/src/fips.c:638,1
    - Dst: reporter
      Src: /src/libgcrypt/src/fips.c:639,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/fips.c:640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - extended
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 622
    functionDepth: 3
    functionLinenumber: 622
    functionLinenumberEnd: 645
    functionName: run_cipher_selftests
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - reporter
    - gpg_strerror
    - _gcry_cipher_selftest
    linkageType: ''
    returnType: int
    signature: int run_cipher_selftests (int extended)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_selftest
      Src: /src/libgcrypt/src/fips.c:670,1
    - Dst: reporter
      Src: /src/libgcrypt/src/fips.c:671,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/fips.c:672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - extended
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 650
    functionDepth: 3
    functionLinenumber: 650
    functionLinenumberEnd: 677
    functionName: run_digest_selftests
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - reporter
    - _gcry_md_selftest
    - gpg_strerror
    linkageType: ''
    returnType: int
    signature: int run_digest_selftests (int extended)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mac_selftest
      Src: /src/libgcrypt/src/fips.c:706,1
    - Dst: reporter
      Src: /src/libgcrypt/src/fips.c:707,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/fips.c:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - extended
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 681
    functionDepth: 3
    functionLinenumber: 681
    functionLinenumberEnd: 713
    functionName: run_mac_selftests
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - reporter
    - gpg_strerror
    - _gcry_mac_selftest
    linkageType: ''
    returnType: int
    signature: int run_mac_selftests (int extended)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_kdf_selftest
      Src: /src/libgcrypt/src/fips.c:730,1
    - Dst: reporter
      Src: /src/libgcrypt/src/fips.c:731,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/fips.c:731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - extended
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 716
    functionDepth: 3
    functionLinenumber: 716
    functionLinenumberEnd: 736
    functionName: run_kdf_selftests
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - reporter
    - gpg_strerror
    - _gcry_kdf_selftest
    linkageType: ''
    returnType: int
    signature: int run_kdf_selftests (int extended)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_pk_selftest
      Src: /src/libgcrypt/src/fips.c:760,1
    - Dst: reporter
      Src: /src/libgcrypt/src/fips.c:761,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/fips.c:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - extended
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 741
    functionDepth: 3
    functionLinenumber: 741
    functionLinenumberEnd: 767
    functionName: run_pubkey_selftests
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - _gcry_pk_selftest
    - gpg_strerror
    - reporter
    linkageType: ''
    returnType: int
    signature: int run_pubkey_selftests (int extended)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_random_selftest
      Src: /src/libgcrypt/src/fips.c:777,1
    - Dst: reporter
      Src: /src/libgcrypt/src/fips.c:778,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/fips.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 772
    functionDepth: 3
    functionLinenumber: 772
    functionLinenumberEnd: 781
    functionName: run_random_selftests
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - _gcry_random_selftest
    - gpg_strerror
    - reporter
    linkageType: ''
    returnType: int
    signature: int run_random_selftests (void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ElfW
      Src: /src/libgcrypt/src/fips.c:919,1
    - Dst: fopen
      Src: /src/libgcrypt/src/fips.c:922,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/fips.c:924,1
    - Dst: get_file_offset
      Src: /src/libgcrypt/src/fips.c:926,1
    - Dst: fclose
      Src: /src/libgcrypt/src/fips.c:929,1
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/src/fips.c:933,1
    - Dst: fclose
      Src: /src/libgcrypt/src/fips.c:936,1
    - Dst: _gcry_md_setkey
      Src: /src/libgcrypt/src/fips.c:940,1
    - Dst: strlen
      Src: /src/libgcrypt/src/fips.c:940,1
    - Dst: fclose
      Src: /src/libgcrypt/src/fips.c:943,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/src/fips.c:944,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/src/fips.c:948,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgcrypt/src/fips.c:951,1
    - Dst: fclose
      Src: /src/libgcrypt/src/fips.c:952,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/src/fips.c:953,1
    - Dst: fread
      Src: /src/libgcrypt/src/fips.c:959,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/fips.c:965,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/src/fips.c:967,1
    - Dst: ferror
      Src: /src/libgcrypt/src/fips.c:975,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/fips.c:976,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/src/fips.c:981,1
    - Dst: memcmp
      Src: /src/libgcrypt/src/fips.c:982,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/fips.c:986,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/src/fips.c:989,1
    - Dst: xfree
      Src: /src/libgcrypt/src/fips.c:990,1
    - Dst: fclose
      Src: /src/libgcrypt/src/fips.c:991,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 2
    argNames:
    - filename
    - key
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 994
    functionName: hmac256_check
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - ferror
    - strlen
    - gpg_error_from_syserror
    - fclose
    - _gcry_md_read
    - get_file_offset
    - _gcry_md_close
    - gpg_error
    - ElfW
    - _gcry_md_write
    - fopen
    - memcpy
    - memcmp
    - xfree
    - fread
    - xtrymalloc
    - _gcry_md_setkey
    - _gcry_md_open_internal
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t hmac256_check (const char *filename, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dladdr
      Src: /src/libgcrypt/src/fips.c:1004,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgcrypt/src/fips.c:1005,1
    - Dst: hmac256_check
      Src: /src/libgcrypt/src/fips.c:1007,1
    - Dst: reporter
      Src: /src/libgcrypt/src/fips.c:1009,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/fips.c:1009,1
    - Dst: syslog
      Src: /src/libgcrypt/src/fips.c:1012,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/fips.c:1014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 997
    functionDepth: 3
    functionLinenumber: 997
    functionLinenumberEnd: 1017
    functionName: check_binary_integrity
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - reporter
    - hmac256_check
    - gpg_strerror
    - dladdr
    - syslog
    linkageType: ''
    returnType: int
    signature: int check_binary_integrity (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_selftest
      Src: /src/libgcrypt/src/fips.c:1028,1
    - Dst: reporter
      Src: /src/libgcrypt/src/fips.c:1029,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/fips.c:1030,1
    - Dst: _gcry_mac_selftest
      Src: /src/libgcrypt/src/fips.c:1034,1
    - Dst: reporter
      Src: /src/libgcrypt/src/fips.c:1035,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/fips.c:1036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - extended
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1022
    functionDepth: 3
    functionLinenumber: 1022
    functionLinenumberEnd: 1041
    functionName: run_hmac_sha256_selftests
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - reporter
    - _gcry_md_selftest
    - gpg_strerror
    - _gcry_mac_selftest
    linkageType: ''
    returnType: int
    signature: int run_hmac_sha256_selftests (int extended)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/src/fips.c:1053,1
    - Dst: fips_new_state
      Src: /src/libgcrypt/src/fips.c:1054,1
    - Dst: run_hmac_sha256_selftests
      Src: /src/libgcrypt/src/fips.c:1057,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/fips.c:1060,1
    - Dst: check_binary_integrity
      Src: /src/libgcrypt/src/fips.c:1064,1
    - Dst: run_cipher_selftests
      Src: /src/libgcrypt/src/fips.c:1069,1
    - Dst: run_digest_selftests
      Src: /src/libgcrypt/src/fips.c:1072,1
    - Dst: run_mac_selftests
      Src: /src/libgcrypt/src/fips.c:1075,1
    - Dst: run_kdf_selftests
      Src: /src/libgcrypt/src/fips.c:1078,1
    - Dst: run_random_selftests
      Src: /src/libgcrypt/src/fips.c:1083,1
    - Dst: run_pubkey_selftests
      Src: /src/libgcrypt/src/fips.c:1086,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/fips.c:1094,1
    - Dst: fips_new_state
      Src: /src/libgcrypt/src/fips.c:1095,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 1
    argNames:
    - extended
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1047
    functionDepth: 4
    functionLinenumber: 1047
    functionLinenumberEnd: 1098
    functionName: _gcry_fips_run_selftests
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 1
    functionsReached:
    - fips_new_state
    - run_cipher_selftests
    - run_random_selftests
    - run_kdf_selftests
    - run_pubkey_selftests
    - fips_mode
    - run_mac_selftests
    - run_hmac_sha256_selftests
    - run_digest_selftests
    - check_binary_integrity
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_fips_run_selftests (int extended)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/src/fips.c:1113,1
    - Dst: fips_new_state
      Src: /src/libgcrypt/src/fips.c:1117,1
    - Dst: log_info
      Src: /src/libgcrypt/src/fips.c:1120,1
    - Dst: syslog
      Src: /src/libgcrypt/src/fips.c:1126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - srcfile
    - srcline
    - srcfunc
    - is_fatal
    - description
    argTypes:
    - char*
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1109
    functionDepth: 2
    functionLinenumber: 1109
    functionLinenumberEnd: 1133
    functionName: _gcry_fips_signal_error
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - log_info
    - syslog
    - fips_new_state
    - fips_mode
    linkageType: ''
    returnType: void
    signature: "void _gcry_fips_signal_error (const char *srcfile, int srcline, const
      char *srcfunc,\n                         int is_fatal, const char *description)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: lock_fsm
      Src: /src/libgcrypt/src/fips.c:1144,1
    - Dst: unlock_fsm
      Src: /src/libgcrypt/src/fips.c:1204,1
    - Dst: _gcry_log_verbosity
      Src: /src/libgcrypt/src/fips.c:1206,1
    - Dst: log_info
      Src: /src/libgcrypt/src/fips.c:1207,1
    - Dst: state2str
      Src: /src/libgcrypt/src/fips.c:1208,1
    - Dst: state2str
      Src: /src/libgcrypt/src/fips.c:1208,1
    - Dst: syslog
      Src: /src/libgcrypt/src/fips.c:1215,1
    - Dst: state2str
      Src: /src/libgcrypt/src/fips.c:1217,1
    - Dst: state2str
      Src: /src/libgcrypt/src/fips.c:1217,1
    - Dst: fips_noreturn
      Src: /src/libgcrypt/src/fips.c:1219,1
    - Dst: syslog
      Src: /src/libgcrypt/src/fips.c:1224,1
    - Dst: state2str
      Src: /src/libgcrypt/src/fips.c:1226,1
    - Dst: state2str
      Src: /src/libgcrypt/src/fips.c:1226,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 44
    argCount: 1
    argNames:
    - new_state
    argTypes:
    - enum module_states
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1138
    functionDepth: 3
    functionLinenumber: 1138
    functionLinenumberEnd: 1229
    functionName: fips_new_state
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 3
    functionsReached:
    - state2str
    - lock_fsm
    - _gcry_log_verbosity
    - log_info
    - unlock_fsm
    - syslog
    - fips_noreturn
    linkageType: ''
    returnType: void
    signature: void fips_new_state (enum module_states new_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syslog
      Src: /src/libgcrypt/src/fips.c:1240,1
    - Dst: fflush
      Src: /src/libgcrypt/src/fips.c:1242,1
    - Dst: abort
      Src: /src/libgcrypt/src/fips.c:1243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1245
    functionName: _gcry_fips_noreturn
    functionSourceFile: /src/libgcrypt/src/fips.c
    functionUses: 0
    functionsReached:
    - fflush
    - syslog
    - abort
    linkageType: ''
    returnType: void
    signature: void _gcry_fips_noreturn (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (*f)(const char*)
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: _gcry_set_gettext_handler
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_set_gettext_handler (const char *(*f)(const char*))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: user_gettext_handler
      Src: /src/libgcrypt/src/misc.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: _gcry_gettext
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - user_gettext_handler
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_gettext( const char *key )'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: _gcry_set_fatalerror_handler
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_set_fatalerror_handler( void (*fnc)(void*,int, const char*),
      void *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/libgcrypt/src/misc.c:74,1
    - Dst: strlen
      Src: /src/libgcrypt/src/misc.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: write2stderr
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - write
    - strlen
    linkageType: ''
    returnType: void
    signature: void write2stderr( const char *s )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/misc.c:86,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/misc.c:88,1
    - Dst: fatal_error_handler
      Src: /src/libgcrypt/src/misc.c:89,1
    - Dst: fips_signal_fatal_error
      Src: /src/libgcrypt/src/misc.c:91,1
    - Dst: write2stderr
      Src: /src/libgcrypt/src/misc.c:92,1
    - Dst: write2stderr
      Src: /src/libgcrypt/src/misc.c:93,1
    - Dst: write2stderr
      Src: /src/libgcrypt/src/misc.c:94,1
    - Dst: _gcry_secmem_term
      Src: /src/libgcrypt/src/misc.c:95,1
    - Dst: abort
      Src: /src/libgcrypt/src/misc.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - rc
    - text
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: _gcry_fatal_error
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - fips_signal_fatal_error
    - write2stderr
    - fips_mode
    - abort
    - fatal_error_handler
    - _gcry_secmem_term
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void _gcry_fatal_error (int rc, const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: _gcry_set_log_handler
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_set_log_handler (void (*f)(void*,int, const char*, va_list),
      void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: _gcry_set_log_verbosity
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_set_log_verbosity( int level )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: _gcry_log_verbosity
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gcry_log_verbosity( int level )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_signal_fatal_error
      Src: /src/libgcrypt/src/misc.c:133,1
    - Dst: _gcry_secmem_term
      Src: /src/libgcrypt/src/misc.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: my_gpgrt_post_fatal_handler
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - fips_signal_fatal_error
    - _gcry_secmem_term
    linkageType: ''
    returnType: void
    signature: void my_gpgrt_post_fatal_handler (int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_add_post_log_func
      Src: /src/libgcrypt/src/misc.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: _gcry_set_gpgrt_post_log_handler
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - gpgrt_add_post_log_func
    linkageType: ''
    returnType: void
    signature: void _gcry_set_gpgrt_post_log_handler (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 160
    functionName: map_log_level
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum gpgrt_log_levels
    signature: enum gpgrt_log_levels map_log_level (int level)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_handler
      Src: /src/libgcrypt/src/misc.c:169,1
    - Dst: fips_signal_fatal_error
      Src: /src/libgcrypt/src/misc.c:172,1
    - Dst: _gcry_secmem_term
      Src: /src/libgcrypt/src/misc.c:174,1
    - Dst: abort
      Src: /src/libgcrypt/src/misc.c:175,1
    - Dst: gpgrt_logv_domain
      Src: /src/libgcrypt/src/misc.c:180,1
    - Dst: map_log_level
      Src: /src/libgcrypt/src/misc.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - level
    - fmt
    - arg_ptr
    argTypes:
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: _gcry_logv
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - map_log_level
    - gpgrt_logv_domain
    - fips_signal_fatal_error
    - abort
    - log_handler
    - _gcry_secmem_term
    linkageType: ''
    returnType: void
    signature: void _gcry_logv (int level, const char *fmt, va_list arg_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgcrypt/src/misc.c:191,1
    - Dst: _gcry_logv
      Src: /src/libgcrypt/src/misc.c:192,1
    - Dst: va_end
      Src: /src/libgcrypt/src/misc.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: _gcry_log
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gcry_logv
    - va_start
    linkageType: ''
    returnType: void
    signature: void _gcry_log (int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_log
      Src: /src/libgcrypt/src/misc.c:201,1
    - Dst: abort
      Src: /src/libgcrypt/src/misc.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - file
    - line
    - func
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: _gcry_bug
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - abort
    - _gcry_log
    linkageType: ''
    returnType: void
    signature: void _gcry_bug( const char *file, int line, const char *func )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_log
      Src: /src/libgcrypt/src/misc.c:209,1
    - Dst: abort
      Src: /src/libgcrypt/src/misc.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - expr
    - file
    - line
    - func
    argTypes:
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: _gcry_assert_failed
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - abort
    - _gcry_log
    linkageType: ''
    returnType: void
    signature: "void _gcry_assert_failed (const char *expr, const char *file, int
      line,\n                     const char *func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_log
      Src: /src/libgcrypt/src/misc.c:217,1
    - Dst: _
      Src: /src/libgcrypt/src/misc.c:218,1
    - Dst: abort
      Src: /src/libgcrypt/src/misc.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 220
    functionName: _gcry_bug
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - gpgrt_log
    - abort
    - _
    linkageType: ''
    returnType: void
    signature: void _gcry_bug( const char *file, int line )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_log
      Src: /src/libgcrypt/src/misc.c:224,1
    - Dst: abort
      Src: /src/libgcrypt/src/misc.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expr
    - file
    - line
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: _gcry_assert_failed
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - abort
    - _gcry_log
    linkageType: ''
    returnType: void
    signature: void _gcry_assert_failed (const char *expr, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgcrypt/src/misc.c:235,1
    - Dst: _gcry_logv
      Src: /src/libgcrypt/src/misc.c:236,1
    - Dst: va_end
      Src: /src/libgcrypt/src/misc.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 238
    functionName: _gcry_log_info
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gcry_logv
    - va_start
    linkageType: ''
    returnType: void
    signature: void _gcry_log_info( const char *fmt, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgcrypt/src/misc.c:245,1
    - Dst: _gcry_logv
      Src: /src/libgcrypt/src/misc.c:246,1
    - Dst: va_end
      Src: /src/libgcrypt/src/misc.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: _gcry_log_error
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gcry_logv
    - va_start
    linkageType: ''
    returnType: void
    signature: void _gcry_log_error( const char *fmt, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgcrypt/src/misc.c:256,1
    - Dst: _gcry_logv
      Src: /src/libgcrypt/src/misc.c:257,1
    - Dst: va_end
      Src: /src/libgcrypt/src/misc.c:258,1
    - Dst: abort
      Src: /src/libgcrypt/src/misc.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: _gcry_log_fatal
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gcry_logv
    - abort
    - va_start
    linkageType: ''
    returnType: void
    signature: void _gcry_log_fatal( const char *fmt, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgcrypt/src/misc.c:267,1
    - Dst: _gcry_logv
      Src: /src/libgcrypt/src/misc.c:268,1
    - Dst: va_end
      Src: /src/libgcrypt/src/misc.c:269,1
    - Dst: abort
      Src: /src/libgcrypt/src/misc.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: _gcry_log_bug
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gcry_logv
    - abort
    - va_start
    linkageType: ''
    returnType: void
    signature: void _gcry_log_bug( const char *fmt, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgcrypt/src/misc.c:278,1
    - Dst: _gcry_logv
      Src: /src/libgcrypt/src/misc.c:279,1
    - Dst: va_end
      Src: /src/libgcrypt/src/misc.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: _gcry_log_debug
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gcry_logv
    - va_start
    linkageType: ''
    returnType: void
    signature: void _gcry_log_debug( const char *fmt, ... )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgcrypt/src/misc.c:291,1
    - Dst: _gcry_logv
      Src: /src/libgcrypt/src/misc.c:292,1
    - Dst: va_end
      Src: /src/libgcrypt/src/misc.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 295
    functionName: _gcry_log_printf
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gcry_logv
    - va_start
    linkageType: ''
    returnType: void
    signature: void _gcry_log_printf (const char *fmt, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/libgcrypt/src/misc.c:309,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/misc.c:316,1
    - Dst: log_debug
      Src: /src/libgcrypt/src/misc.c:318,1
    - Dst: strlen
      Src: /src/libgcrypt/src/misc.c:318,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/misc.c:326,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/misc.c:330,1
    - Dst: log_debug
      Src: /src/libgcrypt/src/misc.c:331,1
    - Dst: strlen
      Src: /src/libgcrypt/src/misc.c:332,1
    - Dst: strlen
      Src: /src/libgcrypt/src/misc.c:332,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/misc.c:337,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - text
    - text2
    - buffer
    - length
    argTypes:
    - char*
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 338
    functionName: do_printhex
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - log_printf
    - log_debug
    - strlen
    linkageType: ''
    returnType: void
    signature: "void do_printhex (const char *text, const char *text2,\n             const
      void *buffer, size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_printhex
      Src: /src/libgcrypt/src/misc.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - text
    - buffer
    - length
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: _gcry_log_printhex
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - do_printhex
    linkageType: ''
    returnType: void
    signature: void _gcry_log_printhex (const char *text, const void *buffer, size_t
      length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: do_printhex
      Src: /src/libgcrypt/src/misc.c:363,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/src/misc.c:364,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/src/misc.c:370,1
    - Dst: snprintf
      Src: /src/libgcrypt/src/misc.c:371,1
    - Dst: do_printhex
      Src: /src/libgcrypt/src/misc.c:372,1
    - Dst: _gcry_mpi_get_buffer
      Src: /src/libgcrypt/src/misc.c:376,1
    - Dst: do_printhex
      Src: /src/libgcrypt/src/misc.c:378,1
    - Dst: do_printhex
      Src: /src/libgcrypt/src/misc.c:382,1
    - Dst: do_printhex
      Src: /src/libgcrypt/src/misc.c:384,1
    - Dst: xfree
      Src: /src/libgcrypt/src/misc.c:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - text
    - mpi
    argTypes:
    - char*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 388
    functionName: _gcry_log_printmpi
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_get_buffer
    - snprintf
    - xfree
    - do_printhex
    - mpi_get_opaque
    - mpi_is_opaque
    linkageType: ''
    returnType: void
    signature: void _gcry_log_printmpi (const char *text, gcry_mpi_t mpi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgcrypt/src/misc.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 403
    functionName: count_closing_parens
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int count_closing_parens (const char *p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgcrypt/src/misc.c:416,1
    - Dst: log_debug
      Src: /src/libgcrypt/src/misc.c:417,1
    - Dst: log_debug
      Src: /src/libgcrypt/src/misc.c:419,1
    - Dst: sexp_sprint
      Src: /src/libgcrypt/src/misc.c:429,1
    - Dst: xmalloc
      Src: /src/libgcrypt/src/misc.c:430,1
    - Dst: sexp_sprint
      Src: /src/libgcrypt/src/misc.c:431,1
    - Dst: log_debug
      Src: /src/libgcrypt/src/misc.c:436,1
    - Dst: strlen
      Src: /src/libgcrypt/src/misc.c:436,1
    - Dst: strchr
      Src: /src/libgcrypt/src/misc.c:439,1
    - Dst: strlen
      Src: /src/libgcrypt/src/misc.c:440,1
    - Dst: log_debug
      Src: /src/libgcrypt/src/misc.c:442,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/misc.c:444,1
    - Dst: count_closing_parens
      Src: /src/libgcrypt/src/misc.c:449,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/misc.c:453,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/misc.c:456,1
    - Dst: xfree
      Src: /src/libgcrypt/src/misc.c:459,1
    - Dst: log_printf
      Src: /src/libgcrypt/src/misc.c:462,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - text
    - sexp
    argTypes:
    - char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 463
    functionName: _gcry_log_printsxp
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - strlen
    - count_closing_parens
    - sexp_sprint
    - strchr
    - xmalloc
    - xfree
    - log_printf
    - log_debug
    linkageType: ''
    returnType: void
    signature: void _gcry_log_printsxp (const char *text, gcry_sexp_t sexp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/libgcrypt/src/misc.c:489,1
    - Dst: strpbrk
      Src: /src/libgcrypt/src/misc.c:489,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/misc.c:498,1
    - Dst: strlen
      Src: /src/libgcrypt/src/misc.c:501,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/misc.c:505,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/src/misc.c:508,1
    - Dst: strcpy
      Src: /src/libgcrypt/src/misc.c:514,1
    - Dst: strpbrk
      Src: /src/libgcrypt/src/misc.c:515,1
    - Dst: strchr
      Src: /src/libgcrypt/src/misc.c:518,1
    - Dst: strchr
      Src: /src/libgcrypt/src/misc.c:520,1
    - Dst: strchr
      Src: /src/libgcrypt/src/misc.c:524,1
    - Dst: strlen
      Src: /src/libgcrypt/src/misc.c:526,1
    - Dst: strchr
      Src: /src/libgcrypt/src/misc.c:526,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/src/misc.c:533,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 536
    functionName: _gcry_strtokenize
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - strpbrk
    - gcry_assert
    - strlen
    - strchr
    - strcpy
    - gpg_err_set_errno
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char **

      _gcry_strtokenize (const char *string, const char *delim)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: explicit_bzero
      Src: /src/libgcrypt/src/misc.c:553,1
    - Dst: explicit_memset
      Src: /src/libgcrypt/src/misc.c:555,1
    - Dst: memset_ptr
      Src: /src/libgcrypt/src/misc.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 559
    functionName: _gcry_fast_wipememory
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - memset_ptr
    - explicit_memset
    - explicit_bzero
    linkageType: ''
    returnType: void
    signature: void _gcry_fast_wipememory (void *ptr, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: explicit_memset
      Src: /src/libgcrypt/src/misc.c:566,1
    - Dst: explicit_bzero
      Src: /src/libgcrypt/src/misc.c:571,1
    - Dst: memset_ptr
      Src: /src/libgcrypt/src/misc.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - set
    - len
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 578
    functionName: _gcry_fast_wipememory2
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - memset_ptr
    - explicit_memset
    - explicit_bzero
    linkageType: ''
    returnType: void
    signature: void _gcry_fast_wipememory2 (void *ptr, int set, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_fast_wipememory
      Src: /src/libgcrypt/src/misc.c:589,1
    - Dst: _gcry_fast_wipememory
      Src: /src/libgcrypt/src/misc.c:593,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/src/misc.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 598
    functionName: NOINLINE_FUNC::__gcry_burn_stack
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - _gcry_fast_wipememory
    linkageType: ''
    returnType: void
    signature: 'void NOINLINE_FUNC

      __gcry_burn_stack (unsigned int bytes)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 604
    functionName: __gcry_burn_stack_dummy
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void __gcry_burn_stack_dummy (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/misc.c:610,1
    - Dst: _gcry_fatal_error
      Src: /src/libgcrypt/src/misc.c:611,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/misc.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 612
    functionName: _gcry_divide_by_zero
    functionSourceFile: /src/libgcrypt/src/misc.c
    functionUses: 0
    functionsReached:
    - _gcry_fatal_error
    - gpg_err_code_from_errno
    - gpg_err_set_errno
    linkageType: ''
    returnType: void
    signature: void _gcry_divide_by_zero (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elf_aux_info
      Src: /src/libgcrypt/src/hwf-ppc.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: getauxval
    functionSourceFile: /src/libgcrypt/src/hwf-ppc.c
    functionUses: 0
    functionsReached:
    - elf_aux_info
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long getauxval(unsigned long type)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_cpu_supports
      Src: /src/libgcrypt/src/hwf-ppc.c:133,1
    - Dst: __builtin_cpu_supports
      Src: /src/libgcrypt/src/hwf-ppc.c:140,1
    - Dst: getauxval
      Src: /src/libgcrypt/src/hwf-ppc.c:150,1
    - Dst: getauxval
      Src: /src/libgcrypt/src/hwf-ppc.c:160,1
    - Dst: fopen
      Src: /src/libgcrypt/src/hwf-ppc.c:176,1
    - Dst: fread
      Src: /src/libgcrypt/src/hwf-ppc.c:184,1
    - Dst: fclose
      Src: /src/libgcrypt/src/hwf-ppc.c:202,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 2
    argNames:
    - hwcap
    - hwcap2
    argTypes:
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 207
    functionName: get_hwcap
    functionSourceFile: /src/libgcrypt/src/hwf-ppc.c
    functionUses: 0
    functionsReached:
    - fclose
    - getauxval
    - fopen
    - fread
    - __builtin_cpu_supports
    linkageType: ''
    returnType: int
    signature: int get_hwcap(unsigned int *hwcap, unsigned int *hwcap2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_hwcap
      Src: /src/libgcrypt/src/hwf-ppc.c:217,1
    - Dst: DIM
      Src: /src/libgcrypt/src/hwf-ppc.c:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 230
    functionName: detect_ppc_at_hwcap
    functionSourceFile: /src/libgcrypt/src/hwf-ppc.c
    functionUses: 0
    functionsReached:
    - DIM
    - get_hwcap
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int detect_ppc_at_hwcap(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detect_ppc_at_hwcap
      Src: /src/libgcrypt/src/hwf-ppc.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 247
    functionName: _gcry_hwf_detect_ppc
    functionSourceFile: /src/libgcrypt/src/hwf-ppc.c
    functionUses: 1
    functionsReached:
    - detect_ppc_at_hwcap
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_hwf_detect_ppc (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_he64
      Src: /src/libgcrypt/src/const-time.c:58,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/src/const-time.c:59,1
    - Dst: ct_u64_gen_mask
      Src: /src/libgcrypt/src/const-time.c:70,1
    - Dst: ct_u64_gen_mask
      Src: /src/libgcrypt/src/const-time.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - b1
    - b2
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 86
    functionName: _gcry_ct_not_memequal
    functionSourceFile: /src/libgcrypt/src/const-time.c
    functionUses: 0
    functionsReached:
    - ct_u64_gen_mask
    - buf_get_he64
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_ct_not_memequal (const void *b1, const void *b2,
      size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ct_not_memequal
      Src: /src/libgcrypt/src/const-time.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b1
    - b2
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: _gcry_ct_memequal
    functionSourceFile: /src/libgcrypt/src/const-time.c
    functionUses: 0
    functionsReached:
    - _gcry_ct_not_memequal
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_ct_memequal (const void *b1, const void *b2, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_u64_gen_mask
      Src: /src/libgcrypt/src/const-time.c:108,1
    - Dst: ct_u64_gen_inv_mask
      Src: /src/libgcrypt/src/const-time.c:109,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/src/const-time.c:115,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/src/const-time.c:116,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/src/const-time.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - dst
    - src
    - len
    - op_enable
    argTypes:
    - void*
    - void*
    - size_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 132
    functionName: _gcry_ct_memmov_cond
    functionSourceFile: /src/libgcrypt/src/const-time.c
    functionUses: 0
    functionsReached:
    - ct_u64_gen_inv_mask
    - ct_u64_gen_mask
    - buf_get_he64
    - buf_put_he64
    linkageType: ''
    returnType: void
    signature: "void _gcry_ct_memmov_cond (void *dst, const void *src, size_t len,\n\t\t
      \     unsigned long op_enable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/stdmem.c:69,1
    - Dst: malloc
      Src: /src/libgcrypt/src/stdmem.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: _gcry_private_malloc
    functionSourceFile: /src/libgcrypt/src/stdmem.c
    functionUses: 0
    functionsReached:
    - malloc
    - gpg_err_set_errno
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_private_malloc (size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/stdmem.c:88,1
    - Dst: _gcry_secmem_malloc
      Src: /src/libgcrypt/src/stdmem.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - n
    - xhint
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 7
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: _gcry_private_malloc_secure
    functionSourceFile: /src/libgcrypt/src/stdmem.c
    functionUses: 0
    functionsReached:
    - _gcry_secmem_malloc
    - gpg_err_set_errno
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_private_malloc_secure (size_t n, int xhint)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_private_is_secure
      Src: /src/libgcrypt/src/stdmem.c:105,1
    - Dst: _gcry_secmem_realloc
      Src: /src/libgcrypt/src/stdmem.c:107,1
    - Dst: realloc
      Src: /src/libgcrypt/src/stdmem.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - a
    - n
    - xhint
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 8
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: _gcry_private_realloc
    functionSourceFile: /src/libgcrypt/src/stdmem.c
    functionUses: 0
    functionsReached:
    - _gcry_secmem_realloc
    - realloc
    - _gcry_private_is_secure
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_private_realloc (void *a, size_t n, int xhint)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_private_is_secure
      Src: /src/libgcrypt/src/stdmem.c:130,1
    - Dst: _gcry_secmem_free
      Src: /src/libgcrypt/src/stdmem.c:131,1
    - Dst: free
      Src: /src/libgcrypt/src/stdmem.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 119
    functionDepth: 6
    functionLinenumber: 119
    functionLinenumberEnd: 135
    functionName: _gcry_private_free
    functionSourceFile: /src/libgcrypt/src/stdmem.c
    functionUses: 0
    functionsReached:
    - free
    - _gcry_secmem_free
    - _gcry_private_is_secure
    linkageType: ''
    returnType: void
    signature: void _gcry_private_free (void *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/dumpsexp.c:40,1
    - Dst: fputs
      Src: /src/libgcrypt/src/dumpsexp.c:49,1
    - Dst: exit
      Src: /src/libgcrypt/src/dumpsexp.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - with_help
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 62
    functionName: print_version
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 2
    functionsReached:
    - exit
    - fputs
    linkageType: ''
    returnType: void
    signature: void print_version (int with_help)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/dumpsexp.c:67,1
    - Dst: fputs
      Src: /src/libgcrypt/src/dumpsexp.c:68,1
    - Dst: exit
      Src: /src/libgcrypt/src/dumpsexp.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: print_usage
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 2
    functionsReached:
    - exit
    - fputs
    linkageType: ''
    returnType: int
    signature: int print_usage (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: space_p
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: space_p(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: digit_p
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digit_p(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: octdigit_p
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: octdigit_p(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: alpha_p
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: alpha_p(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: hexdigit_p
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hexdigit_p(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: xtoi_1
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtoi_1(a)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: whitespace_p
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int whitespace_p (int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgcrypt/src/dumpsexp.c:102,1
    - Dst: fputs
      Src: /src/libgcrypt/src/dumpsexp.c:103,1
    - Dst: vfprintf
      Src: /src/libgcrypt/src/dumpsexp.c:104,1
    - Dst: putc
      Src: /src/libgcrypt/src/dumpsexp.c:105,1
    - Dst: va_end
      Src: /src/libgcrypt/src/dumpsexp.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: logit
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 0
    functionsReached:
    - va_end
    - vfprintf
    - fputs
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void logit (const char *format, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/libgcrypt/src/dumpsexp.c:127,1
    - Dst: getc
      Src: /src/libgcrypt/src/dumpsexp.c:129,1
    - Dst: space_p
      Src: /src/libgcrypt/src/dumpsexp.c:129,1
    - Dst: hexdigit_p
      Src: /src/libgcrypt/src/dumpsexp.c:134,1
    - Dst: logit
      Src: /src/libgcrypt/src/dumpsexp.c:136,1
    - Dst: getc
      Src: /src/libgcrypt/src/dumpsexp.c:140,1
    - Dst: space_p
      Src: /src/libgcrypt/src/dumpsexp.c:140,1
    - Dst: logit
      Src: /src/libgcrypt/src/dumpsexp.c:144,1
    - Dst: hexdigit_p
      Src: /src/libgcrypt/src/dumpsexp.c:147,1
    - Dst: logit
      Src: /src/libgcrypt/src/dumpsexp.c:149,1
    - Dst: xtoi_1
      Src: /src/libgcrypt/src/dumpsexp.c:152,1
    - Dst: xtoi_1
      Src: /src/libgcrypt/src/dumpsexp.c:152,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 153
    functionName: my_getc
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 0
    functionsReached:
    - space_p
    - xtoi_1
    - getc
    - hexdigit_p
    - logit
    linkageType: ''
    returnType: int
    signature: int my_getc (FILE *fp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libgcrypt/src/dumpsexp.c:169,1
    - Dst: printf
      Src: /src/libgcrypt/src/dumpsexp.c:171,1
    - Dst: putchar
      Src: /src/libgcrypt/src/dumpsexp.c:175,1
    - Dst: fputs
      Src: /src/libgcrypt/src/dumpsexp.c:177,1
    - Dst: printf
      Src: /src/libgcrypt/src/dumpsexp.c:180,1
    - Dst: putchar
      Src: /src/libgcrypt/src/dumpsexp.c:188,1
    - Dst: fputs
      Src: /src/libgcrypt/src/dumpsexp.c:189,1
    - Dst: fputs
      Src: /src/libgcrypt/src/dumpsexp.c:191,1
    - Dst: putchar
      Src: /src/libgcrypt/src/dumpsexp.c:195,1
    - Dst: putchar
      Src: /src/libgcrypt/src/dumpsexp.c:198,1
    - Dst: putchar
      Src: /src/libgcrypt/src/dumpsexp.c:200,1
    - Dst: putchar
      Src: /src/libgcrypt/src/dumpsexp.c:202,1
    - Dst: putchar
      Src: /src/libgcrypt/src/dumpsexp.c:203,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 206
    functionName: flushdatabuffer
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 0
    functionsReached:
    - putchar
    - printf
    - fputs
    linkageType: ''
    returnType: void
    signature: void flushdatabuffer (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flushdatabuffer
      Src: /src/libgcrypt/src/dumpsexp.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: addrawdata
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 0
    functionsReached:
    - flushdatabuffer
    linkageType: ''
    returnType: void
    signature: void addrawdata (int c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: flushdatabuffer
      Src: /src/libgcrypt/src/dumpsexp.c:224,1
    - Dst: printf
      Src: /src/libgcrypt/src/dumpsexp.c:225,1
    - Dst: putchar
      Src: /src/libgcrypt/src/dumpsexp.c:229,1
    - Dst: fputs
      Src: /src/libgcrypt/src/dumpsexp.c:232,1
    - Dst: fputs
      Src: /src/libgcrypt/src/dumpsexp.c:237,1
    - Dst: fputs
      Src: /src/libgcrypt/src/dumpsexp.c:241,1
    - Dst: putchar
      Src: /src/libgcrypt/src/dumpsexp.c:243,1
    - Dst: putchar
      Src: /src/libgcrypt/src/dumpsexp.c:244,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - both
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: printcursor
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 0
    functionsReached:
    - putchar
    - printf
    - fputs
    - flushdatabuffer
    linkageType: ''
    returnType: void
    signature: void printcursor (int both)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printcursor
      Src: /src/libgcrypt/src/dumpsexp.c:252,1
    - Dst: printf
      Src: /src/libgcrypt/src/dumpsexp.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: printerr
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 0
    functionsReached:
    - printf
    - printcursor
    linkageType: ''
    returnType: void
    signature: void printerr (const char *text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printcursor
      Src: /src/libgcrypt/src/dumpsexp.c:261,1
    - Dst: printf
      Src: /src/libgcrypt/src/dumpsexp.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 264
    functionName: printctl
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 0
    functionsReached:
    - printf
    - printcursor
    linkageType: ''
    returnType: void
    signature: void printctl (const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/libgcrypt/src/dumpsexp.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: printchr
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void printchr (int c)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/libgcrypt/src/dumpsexp.c:306,1
    - Dst: putchar
      Src: /src/libgcrypt/src/dumpsexp.c:308,1
    - Dst: putchar
      Src: /src/libgcrypt/src/dumpsexp.c:309,1
    - Dst: putchar
      Src: /src/libgcrypt/src/dumpsexp.c:314,1
    - Dst: putchar
      Src: /src/libgcrypt/src/dumpsexp.c:318,1
    - Dst: putchar
      Src: /src/libgcrypt/src/dumpsexp.c:320,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/dumpsexp.c:325,1
    - Dst: suitable_encoding
      Src: /src/libgcrypt/src/dumpsexp.c:331,1
    - Dst: convert_to_string
      Src: /src/libgcrypt/src/dumpsexp.c:333,1
    - Dst: convert_to_token
      Src: /src/libgcrypt/src/dumpsexp.c:334,1
    - Dst: convert_to_hex
      Src: /src/libgcrypt/src/dumpsexp.c:335,1
    - Dst: convert_to_string
      Src: /src/libgcrypt/src/dumpsexp.c:339,1
    - Dst: convert_to_token
      Src: /src/libgcrypt/src/dumpsexp.c:340,1
    - Dst: convert_to_hex
      Src: /src/libgcrypt/src/dumpsexp.c:341,1
    - Dst: putchar
      Src: /src/libgcrypt/src/dumpsexp.c:345,1
    - Dst: snprintf
      Src: /src/libgcrypt/src/dumpsexp.c:349,1
    - Dst: stpcpy
      Src: /src/libgcrypt/src/dumpsexp.c:350,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/dumpsexp.c:351,1
    - Dst: BUG
      Src: /src/libgcrypt/src/dumpsexp.c:357,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 3
    argNames:
    - list
    - buffer
    - maxlength
    argTypes:
    - gcry_sexp_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 359
    functionName: gcry_sexp_sprint
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 39
    functionsReached:
    - snprintf
    - BUG
    - suitable_encoding
    - convert_to_token
    - convert_to_string
    - stpcpy
    - convert_to_hex
    - memcpy
    - putchar
    linkageType: ''
    returnType: size_t
    signature: "size_t gcry_sexp_sprint (const gcry_sexp_t list,\n                  void
      *buffer, size_t maxlength )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: init_data
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_data (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: push_data
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void push_data (int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: flush_data
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void flush_data (void)
  - BBCount: 73
    BranchProfiles: []
    Callsites:
    - Dst: my_getc
      Src: /src/libgcrypt/src/dumpsexp.c:414,1
    - Dst: addrawdata
      Src: /src/libgcrypt/src/dumpsexp.c:416,1
    - Dst: strchr
      Src: /src/libgcrypt/src/dumpsexp.c:422,1
    - Dst: printchr
      Src: /src/libgcrypt/src/dumpsexp.c:424,1
    - Dst: printerr
      Src: /src/libgcrypt/src/dumpsexp.c:434,1
    - Dst: printctl
      Src: /src/libgcrypt/src/dumpsexp.c:437,1
    - Dst: printerr
      Src: /src/libgcrypt/src/dumpsexp.c:444,1
    - Dst: printctl
      Src: /src/libgcrypt/src/dumpsexp.c:447,1
    - Dst: printctl
      Src: /src/libgcrypt/src/dumpsexp.c:453,1
    - Dst: init_data
      Src: /src/libgcrypt/src/dumpsexp.c:454,1
    - Dst: printctl
      Src: /src/libgcrypt/src/dumpsexp.c:460,1
    - Dst: init_data
      Src: /src/libgcrypt/src/dumpsexp.c:461,1
    - Dst: printctl
      Src: /src/libgcrypt/src/dumpsexp.c:466,1
    - Dst: init_data
      Src: /src/libgcrypt/src/dumpsexp.c:467,1
    - Dst: printerr
      Src: /src/libgcrypt/src/dumpsexp.c:472,1
    - Dst: printerr
      Src: /src/libgcrypt/src/dumpsexp.c:478,1
    - Dst: printerr
      Src: /src/libgcrypt/src/dumpsexp.c:484,1
    - Dst: strchr
      Src: /src/libgcrypt/src/dumpsexp.c:488,1
    - Dst: printchr
      Src: /src/libgcrypt/src/dumpsexp.c:490,1
    - Dst: whitespace_p
      Src: /src/libgcrypt/src/dumpsexp.c:493,1
    - Dst: printerr
      Src: /src/libgcrypt/src/dumpsexp.c:497,1
    - Dst: printerr
      Src: /src/libgcrypt/src/dumpsexp.c:501,1
    - Dst: printerr
      Src: /src/libgcrypt/src/dumpsexp.c:505,1
    - Dst: digit_p
      Src: /src/libgcrypt/src/dumpsexp.c:510,1
    - Dst: printerr
      Src: /src/libgcrypt/src/dumpsexp.c:515,1
    - Dst: printerr
      Src: /src/libgcrypt/src/dumpsexp.c:526,1
    - Dst: printerr
      Src: /src/libgcrypt/src/dumpsexp.c:539,1
    - Dst: printctl
      Src: /src/libgcrypt/src/dumpsexp.c:544,1
    - Dst: init_data
      Src: /src/libgcrypt/src/dumpsexp.c:545,1
    - Dst: push_data
      Src: /src/libgcrypt/src/dumpsexp.c:550,1
    - Dst: printctl
      Src: /src/libgcrypt/src/dumpsexp.c:556,1
    - Dst: flush_data
      Src: /src/libgcrypt/src/dumpsexp.c:557,1
    - Dst: printctl
      Src: /src/libgcrypt/src/dumpsexp.c:564,1
    - Dst: flush_data
      Src: /src/libgcrypt/src/dumpsexp.c:565,1
    - Dst: push_data
      Src: /src/libgcrypt/src/dumpsexp.c:571,1
    - Dst: push_data
      Src: /src/libgcrypt/src/dumpsexp.c:577,1
    - Dst: push_data
      Src: /src/libgcrypt/src/dumpsexp.c:578,1
    - Dst: push_data
      Src: /src/libgcrypt/src/dumpsexp.c:579,1
    - Dst: push_data
      Src: /src/libgcrypt/src/dumpsexp.c:580,1
    - Dst: push_data
      Src: /src/libgcrypt/src/dumpsexp.c:581,1
    - Dst: push_data
      Src: /src/libgcrypt/src/dumpsexp.c:582,1
    - Dst: push_data
      Src: /src/libgcrypt/src/dumpsexp.c:583,1
    - Dst: push_data
      Src: /src/libgcrypt/src/dumpsexp.c:584,1
    - Dst: push_data
      Src: /src/libgcrypt/src/dumpsexp.c:585,1
    - Dst: printerr
      Src: /src/libgcrypt/src/dumpsexp.c:608,1
    - Dst: strchr
      Src: /src/libgcrypt/src/dumpsexp.c:615,1
    - Dst: push_data
      Src: /src/libgcrypt/src/dumpsexp.c:620,1
    - Dst: strchr
      Src: /src/libgcrypt/src/dumpsexp.c:630,1
    - Dst: push_data
      Src: /src/libgcrypt/src/dumpsexp.c:635,1
    - Dst: xtoi_1
      Src: /src/libgcrypt/src/dumpsexp.c:635,1
    - Dst: xtoi_1
      Src: /src/libgcrypt/src/dumpsexp.c:636,1
    - Dst: hexdigit_p
      Src: /src/libgcrypt/src/dumpsexp.c:651,1
    - Dst: push_data
      Src: /src/libgcrypt/src/dumpsexp.c:653,1
    - Dst: printerr
      Src: /src/libgcrypt/src/dumpsexp.c:659,1
    - Dst: printctl
      Src: /src/libgcrypt/src/dumpsexp.c:660,1
    - Dst: flush_data
      Src: /src/libgcrypt/src/dumpsexp.c:661,1
    - Dst: whitespace_p
      Src: /src/libgcrypt/src/dumpsexp.c:664,1
    - Dst: printerr
      Src: /src/libgcrypt/src/dumpsexp.c:665,1
    - Dst: printctl
      Src: /src/libgcrypt/src/dumpsexp.c:671,1
    - Dst: flush_data
      Src: /src/libgcrypt/src/dumpsexp.c:672,1
    - Dst: push_data
      Src: /src/libgcrypt/src/dumpsexp.c:676,1
    - Dst: logit
      Src: /src/libgcrypt/src/dumpsexp.c:680,1
    - Dst: exit
      Src: /src/libgcrypt/src/dumpsexp.c:681,1
    - Dst: flushdatabuffer
      Src: /src/libgcrypt/src/dumpsexp.c:684,1
    - Dst: ferror
      Src: /src/libgcrypt/src/dumpsexp.c:685,1
    - Dst: logit
      Src: /src/libgcrypt/src/dumpsexp.c:687,1
    - Dst: strerror
      Src: /src/libgcrypt/src/dumpsexp.c:687,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 251
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 691
    functionName: parse_and_print
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 0
    functionsReached:
    - printchr
    - xtoi_1
    - flushdatabuffer
    - flush_data
    - exit
    - printerr
    - addrawdata
    - init_data
    - my_getc
    - strchr
    - hexdigit_p
    - printctl
    - logit
    - push_data
    - whitespace_p
    - strerror
    - ferror
    - digit_p
    linkageType: ''
    returnType: int
    signature: int parse_and_print (FILE *fp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/src/dumpsexp.c:711,1
    - Dst: print_version
      Src: /src/libgcrypt/src/dumpsexp.c:712,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/dumpsexp.c:713,1
    - Dst: print_version
      Src: /src/libgcrypt/src/dumpsexp.c:714,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/dumpsexp.c:715,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/dumpsexp.c:720,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/dumpsexp.c:725,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/dumpsexp.c:730,1
    - Dst: print_usage
      Src: /src/libgcrypt/src/dumpsexp.c:736,1
    - Dst: parse_and_print
      Src: /src/libgcrypt/src/dumpsexp.c:741,1
    - Dst: fopen
      Src: /src/libgcrypt/src/dumpsexp.c:748,1
    - Dst: logit
      Src: /src/libgcrypt/src/dumpsexp.c:751,1
    - Dst: strerror
      Src: /src/libgcrypt/src/dumpsexp.c:751,1
    - Dst: parse_and_print
      Src: /src/libgcrypt/src/dumpsexp.c:756,1
    - Dst: fclose
      Src: /src/libgcrypt/src/dumpsexp.c:758,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 695
    functionDepth: 4
    functionLinenumber: 695
    functionLinenumberEnd: 764
    functionName: main
    functionSourceFile: /src/libgcrypt/src/dumpsexp.c
    functionUses: 12
    functionsReached:
    - fclose
    - print_version
    - strcmp
    - fopen
    - logit
    - parse_and_print
    - strerror
    - print_usage
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: CFI_ADJUST_CFA_OFFSET
    functionSourceFile: /src/libgcrypt/src/hwf-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_ADJUST_CFA_OFFSET(off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 95
    functionName: is_cpuid_available
    functionSourceFile: /src/libgcrypt/src/hwf-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_cpuid_available(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - in
    - subleaf
    - eax
    - ebx
    - ecx
    - edx
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int*
    - unsigned int*
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 121
    functionName: get_cpuid_subleaf
    functionSourceFile: /src/libgcrypt/src/hwf-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void get_cpuid_subleaf(unsigned int in, unsigned int subleaf,\n\t\t
      \ unsigned int *eax, unsigned int *ebx,\n\t\t  unsigned int *ecx, unsigned int
      *edx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cpuid_subleaf
      Src: /src/libgcrypt/src/hwf-x86.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - in
    - eax
    - ebx
    - ecx
    - edx
    argTypes:
    - unsigned int
    - unsigned int*
    - unsigned int*
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: get_cpuid
    functionSourceFile: /src/libgcrypt/src/hwf-x86.c
    functionUses: 0
    functionsReached:
    - get_cpuid_subleaf
    linkageType: ''
    returnType: void
    signature: "void get_cpuid(unsigned int in, unsigned int *eax, unsigned int *ebx,\n
      \         unsigned int *ecx, unsigned int *edx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: get_xgetbv
    functionSourceFile: /src/libgcrypt/src/hwf-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_xgetbv(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: is_cpuid_available
    functionSourceFile: /src/libgcrypt/src/hwf-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_cpuid_available(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - in
    - subleaf
    - eax
    - ebx
    - ecx
    - edx
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int*
    - unsigned int*
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 180
    functionName: get_cpuid_subleaf
    functionSourceFile: /src/libgcrypt/src/hwf-x86.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void get_cpuid_subleaf(unsigned int in, unsigned int subleaf,\n\t\t
      \ unsigned int *eax, unsigned int *ebx,\n\t\t  unsigned int *ecx, unsigned int
      *edx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cpuid_subleaf
      Src: /src/libgcrypt/src/hwf-x86.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - in
    - eax
    - ebx
    - ecx
    - edx
    argTypes:
    - unsigned int
    - unsigned int*
    - unsigned int*
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: get_cpuid
    functionSourceFile: /src/libgcrypt/src/hwf-x86.c
    functionUses: 0
    functionsReached:
    - get_cpuid_subleaf
    linkageType: ''
    returnType: void
    signature: "void get_cpuid(unsigned int in, unsigned int *eax, unsigned int *ebx,\n
      \         unsigned int *ecx, unsigned int *edx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: get_xgetbv
    functionSourceFile: /src/libgcrypt/src/hwf-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_xgetbv(void)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: is_cpuid_available
      Src: /src/libgcrypt/src/hwf-x86.c:235,1
    - Dst: get_cpuid
      Src: /src/libgcrypt/src/hwf-x86.c:238,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/hwf-x86.c:245,1
    - Dst: get_cpuid
      Src: /src/libgcrypt/src/hwf-x86.c:252,1
    - Dst: get_cpuid
      Src: /src/libgcrypt/src/hwf-x86.c:258,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/hwf-x86.c:280,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/hwf-x86.c:285,1
    - Dst: get_cpuid
      Src: /src/libgcrypt/src/hwf-x86.c:296,1
    - Dst: get_xgetbv
      Src: /src/libgcrypt/src/hwf-x86.c:324,1
    - Dst: get_cpuid
      Src: /src/libgcrypt/src/hwf-x86.c:361,1
    - Dst: get_cpuid_subleaf
      Src: /src/libgcrypt/src/hwf-x86.c:423,1
    - Dst: get_cpuid
      Src: /src/libgcrypt/src/hwf-x86.c:444,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 114
    argCount: 1
    argNames:
    - cpu_details
    argTypes:
    - struct hwf_x86_cpu_details*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 510
    functionName: detect_x86_gnuc
    functionSourceFile: /src/libgcrypt/src/hwf-x86.c
    functionUses: 0
    functionsReached:
    - is_cpuid_available
    - get_cpuid_subleaf
    - get_cpuid
    - strcmp
    - get_xgetbv
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int detect_x86_gnuc (\n  struct hwf_x86_cpu_details *cpu_details\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/src/hwf-x86.c:520,1
    - Dst: detect_x86_gnuc
      Src: /src/libgcrypt/src/hwf-x86.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 514
    functionDepth: 3
    functionLinenumber: 514
    functionLinenumberEnd: 529
    functionName: _gcry_hwf_detect_x86
    functionSourceFile: /src/libgcrypt/src/hwf-x86.c
    functionUses: 1
    functionsReached:
    - memset
    - detect_x86_gnuc
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_hwf_detect_x86 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: _gcry_hwf_x86_cpu_details
    functionSourceFile: /src/libgcrypt/src/hwf-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct hwf_x86_cpu_details
    signature: 'struct hwf_x86_cpu_details *

      _gcry_hwf_x86_cpu_details (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: _gcry_cipher_reset
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _gcry_cipher_reset(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: _gcry_md_test_algo
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _gcry_md_test_algo(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: _gcry_md_final
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _gcry_md_final(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: _gcry_md_putc
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _gcry_md_putc(h,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: _gcry_mac_reset
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _gcry_mac_reset(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: fips_check_rejection
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fips_check_rejection(flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: fips_service_indicator_init
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fips_service_indicator_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionName: fips_service_indicator_mark_non_compliant
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fips_service_indicator_mark_non_compliant()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/gcrypt-int.h:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - gcry_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: _gcry_strerror
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached:
    - gpg_strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_strerror (gcry_error_t err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_strsource
      Src: /src/libgcrypt/src/gcrypt-int.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - gcry_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: _gcry_strsource
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached:
    - gpg_strsource
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_strsource (gcry_error_t err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/gcrypt-int.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: _gcry_err_code_from_errno
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached:
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_err_code_from_errno (int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code_to_errno
      Src: /src/libgcrypt/src/gcrypt-int.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - gcry_err_code_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: _gcry_err_code_to_errno
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached:
    - gpg_err_code_to_errno
    linkageType: ''
    returnType: int
    signature: int _gcry_err_code_to_errno (gcry_err_code_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make_from_errno
      Src: /src/libgcrypt/src/gcrypt-int.h:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - err
    argTypes:
    - gpg_err_source_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: _gcry_err_make_from_errno
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached:
    - gpg_err_make_from_errno
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t _gcry_err_make_from_errno (gpg_err_source_t source, int
      err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/gcrypt-int.h:385,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/gcrypt-int.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 386
    functionName: _gcry_error_from_errno
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached:
    - gpg_error
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t _gcry_error_from_errno (int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: sexp_new
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_new(a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 433
    functionName: sexp_create
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_create(a, b, c, d, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 434
    functionName: sexp_sscan
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 65
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_sscan(a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 436
    functionName: sexp_build_array
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_build_array(a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 437
    functionName: sexp_release
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 254
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_release(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 438
    functionName: sexp_canon_len
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_canon_len(a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 439
    functionName: sexp_sprint
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_sprint(a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 440
    functionName: sexp_dump
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_dump(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 441
    functionName: sexp_cons
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_cons(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 442
    functionName: sexp_alist
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_alist(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 444
    functionName: sexp_append
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_append(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: 445
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 445
    functionName: sexp_prepend
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_prepend(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    functionName: sexp_find_token
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 97
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_find_token(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 447
    functionName: sexp_length
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_length(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 448
    functionName: sexp_nth
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_nth(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 449
    functionName: sexp_car
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_car(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 450
    functionName: sexp_cdr
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_cdr(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 451
    functionName: sexp_cadr
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_cadr(a)
  - 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: 452
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 452
    functionName: sexp_nth_data
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_nth_data(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 453
    functionName: sexp_nth_buffer
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_nth_buffer(a, b, c)
  - 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: 454
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 454
    functionName: sexp_nth_string
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_nth_string(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: sexp_nth_mpi
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sexp_nth_mpi(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 557
    functionName: mpi_new
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_new(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 558
    functionName: mpi_secure_new
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_secure_new( n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 559
    functionName: mpi_snew
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_snew(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: mpi_release
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 138
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_release(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 569
    functionName: mpi_snatch
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_snatch( w, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 570
    functionName: mpi_set
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_set( w, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 571
    functionName: mpi_set_ui
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_set_ui( w, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 572
    functionName: mpi_get_ui
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_get_ui(w,u)
  - 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: 573
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 573
    functionName: mpi_swap
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_swap(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 574
    functionName: mpi_abs
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_abs( w )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 575
    functionName: mpi_neg
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_neg( w, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 576
    functionName: mpi_cmp
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_cmp( u, v )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 577
    functionName: mpi_cmpabs
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_cmpabs( u, v )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 578
    functionName: mpi_cmp_ui
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_cmp_ui( u, v )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 579
    functionName: mpi_is_neg
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_is_neg( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 581
    functionName: mpi_add_ui
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_add_ui(w,u,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 582
    functionName: mpi_add
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_add(w,u,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 583
    functionName: mpi_addm
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_addm(w,u,v,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 584
    functionName: mpi_sub_ui
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_sub_ui(w,u,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 585
    functionName: mpi_sub
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_sub(w,u,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 586
    functionName: mpi_subm
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_subm(w,u,v,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 587
    functionName: mpi_mul_ui
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_mul_ui(w,u,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 588
    functionName: mpi_mul_2exp
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_mul_2exp(w,u,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 589
    functionName: mpi_mul
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_mul(w,u,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 590
    functionName: mpi_mulm
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_mulm(w,u,v,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w
    - ','
    - b
    - ','
    - e
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 591
    functionName: mpi_powm
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_powm(w,b,e,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - a
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 592
    functionName: mpi_tdiv
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_tdiv(q,r,a,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - a
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 593
    functionName: mpi_fdiv
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_fdiv(q,r,a,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 594
    functionName: mpi_mod
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_mod(r,a,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - g
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 595
    functionName: mpi_gcd
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_gcd(g,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - g
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 596
    functionName: mpi_invm
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_invm(g,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 598
    functionName: mpi_point_new
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_point_new(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 606
    functionName: mpi_point_release
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_point_release(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 608
    functionName: mpi_point_copy
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_point_copy(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 610
    functionName: mpi_point_get
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_point_get(x,y,z,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 612
    functionName: mpi_point_snatch_get
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_point_snatch_get(x,y,z,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 613
    functionName: mpi_point_set
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_point_set(p,x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 615
    functionName: mpi_point_snatch_set
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_point_snatch_set(p,x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 616
    functionName: mpi_point_resize
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_point_resize(p,ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 618
    functionName: mpi_get_nbits
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_get_nbits(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 619
    functionName: mpi_test_bit
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_test_bit(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: 620
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 620
    functionName: mpi_set_bit
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_set_bit(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: 621
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 621
    functionName: mpi_set_highbit
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_set_highbit(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: 622
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 622
    functionName: mpi_clear_bit
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_clear_bit(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: 623
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 623
    functionName: mpi_clear_highbit
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_clear_highbit(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 624
    functionName: mpi_rshift
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_rshift(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 625
    functionName: mpi_lshift
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_lshift(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 627
    functionName: mpi_set_opaque
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_set_opaque(a,b,c)
  - 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: 628
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 628
    functionName: mpi_get_opaque
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_get_opaque(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 629
    functionName: mpi_set_flag
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_set_flag(a,f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 630
    functionName: mpi_set_flag
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_set_flag(a,f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 631
    functionName: mpi_clear_flag
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_clear_flag(a,f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 632
    functionName: mpi_get_flag
    functionSourceFile: /src/libgcrypt/src/gcrypt-int.h
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_get_flag(a,f)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/libgcrypt/src/context.c:66,1
    - Dst: xtrycalloc
      Src: /src/libgcrypt/src/context.c:73,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/context.c:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - type
    - length
    - next
    argTypes:
    - int
    - size_t
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 82
    functionName: _gcry_ctx_alloc
    functionSourceFile: /src/libgcrypt/src/context.c
    functionUses: 0
    functionsReached:
    - log_bug
    - memcpy
    - xtrycalloc
    linkageType: ''
    returnType: gcry_ctx_t
    signature: "gcry_ctx_t _gcry_ctx_alloc (int type, size_t length, void (*deinit)(void*),\n
      \                gcry_ctx_t next)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libgcrypt/src/context.c:95,1
    - Dst: log_fatal
      Src: /src/libgcrypt/src/context.c:96,1
    - Dst: log_fatal
      Src: /src/libgcrypt/src/context.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - type
    argTypes:
    - gcry_ctx_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: _gcry_ctx_get_pointer
    functionSourceFile: /src/libgcrypt/src/context.c
    functionUses: 0
    functionsReached:
    - memcmp
    - log_fatal
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_ctx_get_pointer (gcry_ctx_t ctx, int type)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libgcrypt/src/context.c:119,1
    - Dst: log_fatal
      Src: /src/libgcrypt/src/context.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - type
    argTypes:
    - gcry_ctx_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: _gcry_ctx_find_pointer
    functionSourceFile: /src/libgcrypt/src/context.c
    functionUses: 0
    functionsReached:
    - memcmp
    - log_fatal
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_ctx_find_pointer (gcry_ctx_t ctx, int type)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libgcrypt/src/context.c:136,1
    - Dst: log_fatal
      Src: /src/libgcrypt/src/context.c:137,1
    - Dst: log_fatal
      Src: /src/libgcrypt/src/context.c:144,1
    - Dst: gcry_ctx_t::deinit
      Src: /src/libgcrypt/src/context.c:149,1
    - Dst: xfree
      Src: /src/libgcrypt/src/context.c:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 154
    functionName: _gcry_ctx_release
    functionSourceFile: /src/libgcrypt/src/context.c
    functionUses: 0
    functionsReached:
    - memcmp
    - xfree
    - gcry_ctx_t::deinit
    - log_fatal
    linkageType: ''
    returnType: void
    signature: void _gcry_ctx_release (gcry_ctx_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: JNLIB_GCC_A_PRINTF
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNLIB_GCC_A_PRINTF( f, a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: JNLIB_GCC_A_NR_PRINTF
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNLIB_GCC_A_NR_PRINTF( f, a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: GCC_ATTR_FORMAT_ARG
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GCC_ATTR_FORMAT_ARG(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: LIKELY
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: UNLIKELY
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNLIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: CONSTANT_P
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONSTANT_P(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: LIKELY
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: UNLIKELY
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNLIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: CONSTANT_P
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONSTANT_P(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: _
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 836
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: N_
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: STR
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: STR2
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR2(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: DIM
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 371
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: DIMof
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIMof(type,member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: my_isascii
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_isascii(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: xtrymalloc
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 391
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrymalloc(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: xtrycalloc
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 220
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrycalloc(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: xtrymalloc_secure
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrymalloc_secure(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: xtrycalloc_secure
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrycalloc_secure(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: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: xtryrealloc
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtryrealloc(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: xtrystrdup
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 171
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrystrdup(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: xmalloc
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 298
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xmalloc(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: xcalloc
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xcalloc(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: xmalloc_secure
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xmalloc_secure(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: xcalloc_secure
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xcalloc_secure(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: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: xrealloc
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xrealloc(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: xstrdup
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 201
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xstrdup(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: xfree
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 1792
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xfree(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: BUG
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 136
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUG()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: gcry_assert
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_assert(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: BUG
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 136
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUG()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: gcry_assert
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_assert(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: BUG
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 136
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUG()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: gcry_assert
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_assert(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w
    - ','
    - b
    - ','
    - e
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: mpi_powm
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_powm(w,b,e,m)
  - 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: 364
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 364
    functionName: strtoul
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strtoul(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - s
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 367
    functionName: memmove
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memmove(d, s, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 370
    functionName: stricmp
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stricmp(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: atexit
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atexit(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: raise
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: raise(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 383
    functionName: __gcry_burn_stack_dummy
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __gcry_burn_stack_dummy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: _gcry_burn_stack
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _gcry_burn_stack(bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _ptr
    - ','
    - _set
    - ','
    - _len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: fast_wipememory2_inline
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fast_wipememory2_inline(_ptr,_set,_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _ptr
    - ','
    - _set
    - ','
    - _len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 405
    functionName: fast_wipememory2_inline
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fast_wipememory2_inline(_ptr,_set,_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _ptr
    - ','
    - _set
    - ','
    - _len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 416
    functionName: wipememory2
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wipememory2(_ptr,_set,_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _ptr
    - ','
    - _len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 417
    functionName: wipememory
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wipememory(_ptr,_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 424
    functionName: digitp
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 158
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digitp(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 425
    functionName: octdigitp
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: octdigitp(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: alphap
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: alphap(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: hexdigitp
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 94
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hexdigitp(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 469
    functionName: fips_mode
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fips_mode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: fips_signal_error
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fips_signal_error(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: fips_signal_fatal_error
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fips_signal_fatal_error(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: fips_signal_error
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fips_signal_error(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: fips_signal_fatal_error
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fips_signal_fatal_error(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 504
    functionName: fips_is_operational
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fips_is_operational()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 506
    functionName: fips_not_operational
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fips_not_operational()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 514
    functionName: fips_noreturn
    functionSourceFile: /src/libgcrypt/src/g10lib.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fips_noreturn()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:99,1
    - Dst: gpgrt_get_syscall_clamp
      Src: /src/libgcrypt/src/global.c:103,1
    - Dst: _gcry_set_gpgrt_post_log_handler
      Src: /src/libgcrypt/src/global.c:106,1
    - Dst: _gcry_initialize_fips_mode
      Src: /src/libgcrypt/src/global.c:110,1
    - Dst: _gcry_detect_hw_features
      Src: /src/libgcrypt/src/global.c:114,1
    - Dst: _gcry_cipher_init
      Src: /src/libgcrypt/src/global.c:118,1
    - Dst: _gcry_md_init
      Src: /src/libgcrypt/src/global.c:121,1
    - Dst: _gcry_mac_init
      Src: /src/libgcrypt/src/global.c:124,1
    - Dst: _gcry_pk_init
      Src: /src/libgcrypt/src/global.c:127,1
    - Dst: _gcry_primegen_init
      Src: /src/libgcrypt/src/global.c:130,1
    - Dst: _gcry_secmem_module_init
      Src: /src/libgcrypt/src/global.c:133,1
    - Dst: _gcry_mpi_init
      Src: /src/libgcrypt/src/global.c:136,1
    - Dst: BUG
      Src: /src/libgcrypt/src/global.c:143,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 144
    functionName: global_init
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 2
    functionsReached:
    - _gcry_detect_hw_features
    - _gcry_mac_init
    - gpgrt_get_syscall_clamp
    - _gcry_initialize_fips_mode
    - _gcry_primegen_init
    - _gcry_set_gpgrt_post_log_handler
    - _gcry_pk_init
    - _gcry_cipher_init
    - BUG
    - _gcry_md_init
    - _gcry_set_preferred_rng_type
    - _gcry_mpi_init
    - _gcry_secmem_module_init
    linkageType: ''
    returnType: void
    signature: void global_init (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_fips_to_activate
      Src: /src/libgcrypt/src/global.c:153,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:157,1
    - Dst: _gcry_fips_run_selftests
      Src: /src/libgcrypt/src/global.c:158,1
    - Dst: _gcry_random_close_fds
      Src: /src/libgcrypt/src/global.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 5
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: GCC_ATTR_CONSTRUCTOR::_gcry_global_constructor
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - _gcry_fips_run_selftests
    - _gcry_fips_to_activate
    - _gcry_random_close_fds
    - global_init
    linkageType: ''
    returnType: void
    signature: 'void GCC_ATTR_CONSTRUCTOR

      _gcry_global_constructor (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syslog
      Src: /src/libgcrypt/src/global.c:189,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:192,1
    - Dst: _gcry_fips_is_operational
      Src: /src/libgcrypt/src/global.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 183
    functionDepth: 5
    functionLinenumber: 183
    functionLinenumberEnd: 195
    functionName: _gcry_global_is_operational
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - _gcry_fips_is_operational
    - global_init
    - syslog
    linkageType: ''
    returnType: int
    signature: int _gcry_global_is_operational (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/libgcrypt/src/global.c:211,1
    - Dst: isdigit
      Src: /src/libgcrypt/src/global.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s
    - number
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: parse_version_number
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 4
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_version_number( const char *s, int *number )'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_version_number
      Src: /src/libgcrypt/src/global.c:233,1
    - Dst: parse_version_number
      Src: /src/libgcrypt/src/global.c:237,1
    - Dst: parse_version_number
      Src: /src/libgcrypt/src/global.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - s
    - major
    - minor
    - micro
    argTypes:
    - char*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 245
    functionName: parse_version_string
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 4
    functionsReached:
    - parse_version_number
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_version_string( const char *s, int *major, int *minor, int *micro )'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_compat_identification
      Src: /src/libgcrypt/src/global.c:263,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:266,1
    - Dst: parse_version_string
      Src: /src/libgcrypt/src/global.c:273,1
    - Dst: parse_version_string
      Src: /src/libgcrypt/src/global.c:280,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 15
    argCount: 1
    argNames:
    - req_version
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 254
    functionDepth: 5
    functionLinenumber: 254
    functionLinenumberEnd: 295
    functionName: _gcry_check_version
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - parse_version_string
    - global_init
    - _gcry_compat_identification
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_check_version (const char *req_version)'
  - BBCount: 145
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/src/global.c:304,1
    - Dst: gpgrt_fprintf
      Src: /src/libgcrypt/src/global.c:306,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/global.c:310,1
    - Dst: gpgrt_fprintf
      Src: /src/libgcrypt/src/global.c:312,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/global.c:324,1
    - Dst: gpgrt_fprintf
      Src: /src/libgcrypt/src/global.c:325,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/global.c:326,1
    - Dst: gpgrt_fprintf
      Src: /src/libgcrypt/src/global.c:327,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/global.c:328,1
    - Dst: gpgrt_fprintf
      Src: /src/libgcrypt/src/global.c:329,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/global.c:331,1
    - Dst: gpgrt_fprintf
      Src: /src/libgcrypt/src/global.c:333,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/global.c:352,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/global.c:378,1
    - Dst: gpgrt_fprintf
      Src: /src/libgcrypt/src/global.c:379,1
    - Dst: _gcry_mpi_get_hw_config
      Src: /src/libgcrypt/src/global.c:379,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/global.c:381,1
    - Dst: gpgrt_fprintf
      Src: /src/libgcrypt/src/global.c:382,1
    - Dst: _gcry_mpi_get_powm_config
      Src: /src/libgcrypt/src/global.c:382,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/global.c:384,1
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/src/global.c:388,1
    - Dst: gpgrt_fprintf
      Src: /src/libgcrypt/src/global.c:389,1
    - Dst: _gcry_enum_hw_features
      Src: /src/libgcrypt/src/global.c:390,1
    - Dst: gpgrt_fprintf
      Src: /src/libgcrypt/src/global.c:392,1
    - Dst: gpgrt_fprintf
      Src: /src/libgcrypt/src/global.c:393,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/global.c:396,1
    - Dst: gpgrt_fprintf
      Src: /src/libgcrypt/src/global.c:405,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:406,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:408,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/global.c:415,1
    - Dst: _gcry_get_rng_type
      Src: /src/libgcrypt/src/global.c:421,1
    - Dst: BUG
      Src: /src/libgcrypt/src/global.c:427,1
    - Dst: _gcry_rndjent_get_version
      Src: /src/libgcrypt/src/global.c:429,1
    - Dst: gpgrt_fprintf
      Src: /src/libgcrypt/src/global.c:430,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/global.c:433,1
    - Dst: gpgrt_fprintf
      Src: /src/libgcrypt/src/global.c:445,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:465,1
    - Dst: gpgrt_fopenmem
      Src: /src/libgcrypt/src/global.c:469,1
    - Dst: print_config
      Src: /src/libgcrypt/src/global.c:473,1
    - Dst: gpgrt_fwrite
      Src: /src/libgcrypt/src/global.c:478,1
    - Dst: gpgrt_ferror
      Src: /src/libgcrypt/src/global.c:481,1
    - Dst: gpgrt_fclose
      Src: /src/libgcrypt/src/global.c:484,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:485,1
    - Dst: gpgrt_rewind
      Src: /src/libgcrypt/src/global.c:489,1
    - Dst: gpgrt_fclose_snatch
      Src: /src/libgcrypt/src/global.c:490,1
    - Dst: gpgrt_fclose
      Src: /src/libgcrypt/src/global.c:493,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:494,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:502,1
    - Dst: strchr
      Src: /src/libgcrypt/src/global.c:507,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:536,1
    - Dst: _gcry_enable_quick_random_gen
      Src: /src/libgcrypt/src/global.c:537,1
    - Dst: _gcry_random_is_faked
      Src: /src/libgcrypt/src/global.c:543,1
    - Dst: _gcry_random_dump_stats
      Src: /src/libgcrypt/src/global.c:548,1
    - Dst: _gcry_secmem_dump_stats
      Src: /src/libgcrypt/src/global.c:556,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:560,1
    - Dst: _gcry_secmem_init
      Src: /src/libgcrypt/src/global.c:561,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:565,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:567,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:572,1
    - Dst: _gcry_secmem_get_flags
      Src: /src/libgcrypt/src/global.c:574,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:579,1
    - Dst: _gcry_secmem_term
      Src: /src/libgcrypt/src/global.c:580,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:584,1
    - Dst: _gcry_secmem_set_flags
      Src: /src/libgcrypt/src/global.c:585,1
    - Dst: _gcry_secmem_get_flags
      Src: /src/libgcrypt/src/global.c:585,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:590,1
    - Dst: _gcry_secmem_set_flags
      Src: /src/libgcrypt/src/global.c:591,1
    - Dst: _gcry_secmem_get_flags
      Src: /src/libgcrypt/src/global.c:591,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:596,1
    - Dst: _gcry_secmem_set_flags
      Src: /src/libgcrypt/src/global.c:597,1
    - Dst: _gcry_secmem_get_flags
      Src: /src/libgcrypt/src/global.c:597,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:606,1
    - Dst: _gcry_secure_random_alloc
      Src: /src/libgcrypt/src/global.c:607,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:611,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:616,1
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/global.c:617,1
    - Dst: _gcry_update_random_seed_file
      Src: /src/libgcrypt/src/global.c:618,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:622,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:627,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:631,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:636,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:657,1
    - Dst: _gcry_random_initialize
      Src: /src/libgcrypt/src/global.c:660,1
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/global.c:663,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:670,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:671,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:675,1
    - Dst: _gcry_random_initialize
      Src: /src/libgcrypt/src/global.c:678,1
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/global.c:680,1
    - Dst: _gcry_fast_random_poll
      Src: /src/libgcrypt/src/global.c:681,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:686,1
    - Dst: _gcry_rndegd_set_socket_name
      Src: /src/libgcrypt/src/global.c:687,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:687,1
    - Dst: _gcry_random_close_fds
      Src: /src/libgcrypt/src/global.c:702,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:711,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:713,1
    - Dst: _gcry_get_config
      Src: /src/libgcrypt/src/global.c:714,1
    - Dst: fputs
      Src: /src/libgcrypt/src/global.c:718,1
    - Dst: log_info
      Src: /src/libgcrypt/src/global.c:720,1
    - Dst: xfree
      Src: /src/libgcrypt/src/global.c:721,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:729,1
    - Dst: _gcry_fips_test_operational
      Src: /src/libgcrypt/src/global.c:730,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:735,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:744,1
    - Dst: _gcry_fips_test_error_or_operational
      Src: /src/libgcrypt/src/global.c:756,1
    - Dst: _gcry_fips_run_selftests
      Src: /src/libgcrypt/src/global.c:757,1
    - Dst: _gcry_fips_is_operational
      Src: /src/libgcrypt/src/global.c:758,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:768,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:789,1
    - Dst: _gcry_fips_run_selftests
      Src: /src/libgcrypt/src/global.c:790,1
    - Dst: _gcry_fips_indicator
      Src: /src/libgcrypt/src/global.c:794,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:799,1
    - Dst: _gcry_thread_context_set_reject
      Src: /src/libgcrypt/src/global.c:800,1
    - Dst: _gcry_fips_indicator_cipher
      Src: /src/libgcrypt/src/global.c:808,1
    - Dst: _gcry_fips_indicator_mac
      Src: /src/libgcrypt/src/global.c:815,1
    - Dst: _gcry_fips_indicator_md
      Src: /src/libgcrypt/src/global.c:822,1
    - Dst: _gcry_fips_indicator_kdf
      Src: /src/libgcrypt/src/global.c:828,1
    - Dst: _gcry_fips_indicator_function
      Src: /src/libgcrypt/src/global.c:835,1
    - Dst: _gcry_fips_indicator_pk_flags
      Src: /src/libgcrypt/src/global.c:842,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:851,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:852,1
    - Dst: _gcry_rngdrbg_cavs_test
      Src: /src/libgcrypt/src/global.c:855,1
    - Dst: _gcry_rngdrbg_healthcheck_one
      Src: /src/libgcrypt/src/global.c:857,1
    - Dst: external_lock_test
      Src: /src/libgcrypt/src/global.c:864,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:864,1
    - Dst: _gcry_secmem_dump_stats
      Src: /src/libgcrypt/src/global.c:867,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:872,1
    - Dst: _gcry_disable_hw_feature
      Src: /src/libgcrypt/src/global.c:873,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:884,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:887,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:893,1
    - Dst: _gcry_get_rng_type
      Src: /src/libgcrypt/src/global.c:895,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:900,1
    - Dst: _gcry_secmem_set_flags
      Src: /src/libgcrypt/src/global.c:901,1
    - Dst: _gcry_secmem_get_flags
      Src: /src/libgcrypt/src/global.c:901,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:906,1
    - Dst: _gcry_secmem_set_flags
      Src: /src/libgcrypt/src/global.c:907,1
    - Dst: _gcry_secmem_get_flags
      Src: /src/libgcrypt/src/global.c:907,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:918,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:919,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:920,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:921,1
    - Dst: _gcry_get_rng_type
      Src: /src/libgcrypt/src/global.c:923,1
    - Dst: _gcry_rngdrbg_reinit
      Src: /src/libgcrypt/src/global.c:927,1
    - Dst: gpgrt_get_syscall_clamp
      Src: /src/libgcrypt/src/global.c:933,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:937,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:960,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:962,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:997,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:999,1
    - Dst: _gcry_private_malloc_secure
      Src: /src/libgcrypt/src/global.c:1018,1
    - Dst: _gcry_private_malloc
      Src: /src/libgcrypt/src/global.c:1025,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:1033,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/global.c:1034,1
    - Dst: do_malloc
      Src: /src/libgcrypt/src/global.c:1047,1
    - Dst: do_malloc
      Src: /src/libgcrypt/src/global.c:1057,1
    - Dst: _gcry_malloc_secure_core
      Src: /src/libgcrypt/src/global.c:1066,1
    - Dst: is_secure_func
      Src: /src/libgcrypt/src/global.c:1075,1
    - Dst: _gcry_private_is_secure
      Src: /src/libgcrypt/src/global.c:1076,1
    - Dst: _gcry_malloc
      Src: /src/libgcrypt/src/global.c:1087,1
    - Dst: xfree
      Src: /src/libgcrypt/src/global.c:1090,1
    - Dst: realloc_func
      Src: /src/libgcrypt/src/global.c:1095,1
    - Dst: _gcry_private_realloc
      Src: /src/libgcrypt/src/global.c:1097,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:1099,1
    - Dst: _gcry_realloc_core
      Src: /src/libgcrypt/src/global.c:1107,1
    - Dst: free_func
      Src: /src/libgcrypt/src/global.c:1124,1
    - Dst: _gcry_private_free
      Src: /src/libgcrypt/src/global.c:1126,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:1129,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:1142,1
    - Dst: _gcry_malloc
      Src: /src/libgcrypt/src/global.c:1146,1
    - Dst: memset
      Src: /src/libgcrypt/src/global.c:1148,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:1162,1
    - Dst: _gcry_malloc_secure
      Src: /src/libgcrypt/src/global.c:1166,1
    - Dst: memset
      Src: /src/libgcrypt/src/global.c:1168,1
    - Dst: strlen
      Src: /src/libgcrypt/src/global.c:1179,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/src/global.c:1181,1
    - Dst: _gcry_malloc_secure_core
      Src: /src/libgcrypt/src/global.c:1182,1
    - Dst: _gcry_malloc
      Src: /src/libgcrypt/src/global.c:1184,1
    - Dst: strcpy
      Src: /src/libgcrypt/src/global.c:1187,1
    - Dst: _gcry_strdup_core
      Src: /src/libgcrypt/src/global.c:1199,1
    - Dst: _gcry_malloc
      Src: /src/libgcrypt/src/global.c:1207,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:1209,1
    - Dst: outofcore_handler
      Src: /src/libgcrypt/src/global.c:1211,1
    - Dst: _gcry_fatal_error
      Src: /src/libgcrypt/src/global.c:1213,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/global.c:1213,1
    - Dst: _gcry_realloc_core
      Src: /src/libgcrypt/src/global.c:1224,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:1226,1
    - Dst: outofcore_handler
      Src: /src/libgcrypt/src/global.c:1228,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/src/global.c:1229,1
    - Dst: _gcry_fatal_error
      Src: /src/libgcrypt/src/global.c:1231,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/global.c:1231,1
    - Dst: _gcry_malloc_secure_core
      Src: /src/libgcrypt/src/global.c:1242,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:1244,1
    - Dst: outofcore_handler
      Src: /src/libgcrypt/src/global.c:1246,1
    - Dst: _gcry_fatal_error
      Src: /src/libgcrypt/src/global.c:1248,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/global.c:1248,1
    - Dst: _
      Src: /src/libgcrypt/src/global.c:1249,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:1265,1
    - Dst: _gcry_fatal_error
      Src: /src/libgcrypt/src/global.c:1266,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/global.c:1266,1
    - Dst: _gcry_xmalloc
      Src: /src/libgcrypt/src/global.c:1269,1
    - Dst: memset
      Src: /src/libgcrypt/src/global.c:1270,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:1283,1
    - Dst: _gcry_fatal_error
      Src: /src/libgcrypt/src/global.c:1284,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/global.c:1284,1
    - Dst: _gcry_xmalloc_secure
      Src: /src/libgcrypt/src/global.c:1287,1
    - Dst: memset
      Src: /src/libgcrypt/src/global.c:1288,1
    - Dst: _gcry_strdup_core
      Src: /src/libgcrypt/src/global.c:1297,1
    - Dst: strlen
      Src: /src/libgcrypt/src/global.c:1299,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/src/global.c:1300,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:1302,1
    - Dst: outofcore_handler
      Src: /src/libgcrypt/src/global.c:1304,1
    - Dst: _gcry_fatal_error
      Src: /src/libgcrypt/src/global.c:1306,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/global.c:1306,1
    - Dst: _
      Src: /src/libgcrypt/src/global.c:1307,1
    - Dst: pre_syscall_func
      Src: /src/libgcrypt/src/global.c:1320,1
    - Dst: post_syscall_func
      Src: /src/libgcrypt/src/global.c:1329,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:1336,1
    - Dst: _gcry_register_pk_dsa_progress
      Src: /src/libgcrypt/src/global.c:1384,1
    - Dst: _gcry_register_pk_elg_progress
      Src: /src/libgcrypt/src/global.c:1387,1
    - Dst: _gcry_register_primegen_progress
      Src: /src/libgcrypt/src/global.c:1389,1
    - Dst: _gcry_register_random_progress
      Src: /src/libgcrypt/src/global.c:1390,1
    - Dst: GPGRT_LOCK_DEFINE
      Src: /src/libgcrypt/src/global.c:1409,1
    - Dst: gpgrt_lock_init
      Src: /src/libgcrypt/src/global.c:1415,1
    - Dst: gpgrt_lock_lock
      Src: /src/libgcrypt/src/global.c:1419,1
    - Dst: gpgrt_lock_unlock
      Src: /src/libgcrypt/src/global.c:1423,1
    - Dst: gpgrt_lock_destroy
      Src: /src/libgcrypt/src/global.c:1427,1
    CyclomaticComplexity: 179
    EdgeCount: 179
    ICount: 519
    argCount: 2
    argNames:
    - what
    - fp
    argTypes:
    - char*
    - gpgrt_stream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 298
    functionDepth: 9
    functionLinenumber: 298
    functionLinenumberEnd: 1436
    functionName: print_config
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 1
    functionsReached:
    - _gcry_random_is_faked
    - _gcry_private_is_secure
    - _gcry_secmem_set_flags
    - _gcry_update_random_seed_file
    - _gcry_secmem_get_flags
    - _gcry_mpi_get_powm_config
    - _gcry_get_rng_type
    - gpgrt_lock_lock
    - _gcry_private_malloc
    - _gcry_private_malloc_secure
    - _gcry_register_pk_elg_progress
    - _gcry_set_preferred_rng_type
    - _gcry_fips_test_error_or_operational
    - _gcry_rngdrbg_cavs_test
    - _gcry_enum_hw_features
    - _gcry_random_dump_stats
    - gpgrt_lock_init
    - xfree
    - free_func
    - is_secure_func
    - fips_is_operational
    - gpgrt_ferror
    - _gcry_disable_hw_feature
    - _gcry_fips_run_selftests
    - strlen
    - do_malloc
    - _gcry_secmem_term
    - _gcry_secure_random_alloc
    - _gcry_get_config
    - gpgrt_get_syscall_clamp
    - gpgrt_fclose
    - _gcry_secmem_dump_stats
    - gpgrt_fclose_snatch
    - memset
    - _gcry_private_realloc
    - _gcry_rngdrbg_healthcheck_one
    - _gcry_private_free
    - outofcore_handler
    - _gcry_random_initialize
    - _gcry_fast_random_poll
    - _gcry_rndegd_set_socket_name
    - _gcry_fips_is_operational
    - _gcry_realloc_core
    - _gcry_is_secure
    - _gcry_enable_quick_random_gen
    - _gcry_get_hw_features
    - _gcry_rngdrbg_reinit
    - BUG
    - print_config
    - gpgrt_fwrite
    - _gcry_xmalloc_secure
    - _gcry_fips_indicator_mac
    - _gcry_malloc
    - _gcry_xmalloc
    - pre_syscall_func
    - post_syscall_func
    - gpgrt_fopenmem
    - realloc_func
    - fips_mode
    - _gcry_thread_context_set_reject
    - GPGRT_LOCK_DEFINE
    - strchr
    - gpgrt_fprintf
    - _gcry_random_close_fds
    - _gcry_strdup_core
    - gpgrt_lock_destroy
    - _gcry_malloc_secure
    - fputs
    - _gcry_malloc_secure_core
    - _gcry_fips_indicator_pk_flags
    - external_lock_test
    - _gcry_register_random_progress
    - _gcry_fips_indicator
    - global_init
    - _
    - _gcry_fatal_error
    - _gcry_rndjent_get_version
    - log_info
    - _gcry_fips_indicator_cipher
    - _gcry_secmem_init
    - _gcry_fips_indicator_function
    - strcmp
    - _gcry_fips_indicator_md
    - _gcry_register_pk_dsa_progress
    - _gcry_fips_indicator_kdf
    - _gcry_fips_test_operational
    - gpgrt_rewind
    - gpgrt_lock_unlock
    - _gcry_mpi_get_hw_config
    - strcpy
    - gpg_err_set_errno
    - va_arg
    - _gcry_register_primegen_progress
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: void
    signature: void print_config (const char *what, gpgrt_stream_t fp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:465,1
    - Dst: gpgrt_fopenmem
      Src: /src/libgcrypt/src/global.c:469,1
    - Dst: print_config
      Src: /src/libgcrypt/src/global.c:473,1
    - Dst: gpgrt_fwrite
      Src: /src/libgcrypt/src/global.c:478,1
    - Dst: gpgrt_ferror
      Src: /src/libgcrypt/src/global.c:481,1
    - Dst: gpgrt_fclose
      Src: /src/libgcrypt/src/global.c:484,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:485,1
    - Dst: gpgrt_rewind
      Src: /src/libgcrypt/src/global.c:489,1
    - Dst: gpgrt_fclose_snatch
      Src: /src/libgcrypt/src/global.c:490,1
    - Dst: gpgrt_fclose
      Src: /src/libgcrypt/src/global.c:493,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:494,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:502,1
    - Dst: strchr
      Src: /src/libgcrypt/src/global.c:507,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - mode
    - what
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 455
    functionDepth: 10
    functionLinenumber: 455
    functionLinenumberEnd: 511
    functionName: _gcry_get_config
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 1
    functionsReached:
    - gpgrt_rewind
    - gpgrt_fclose
    - strchr
    - gpgrt_fclose_snatch
    - gpgrt_ferror
    - gpg_err_set_errno
    - print_config
    - gpgrt_fwrite
    - gpgrt_fopenmem
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_get_config (int mode, const char *what)'
  - BBCount: 84
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:536,1
    - Dst: _gcry_enable_quick_random_gen
      Src: /src/libgcrypt/src/global.c:537,1
    - Dst: _gcry_random_is_faked
      Src: /src/libgcrypt/src/global.c:543,1
    - Dst: _gcry_random_dump_stats
      Src: /src/libgcrypt/src/global.c:548,1
    - Dst: _gcry_secmem_dump_stats
      Src: /src/libgcrypt/src/global.c:556,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:560,1
    - Dst: _gcry_secmem_init
      Src: /src/libgcrypt/src/global.c:561,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:565,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:567,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:572,1
    - Dst: _gcry_secmem_get_flags
      Src: /src/libgcrypt/src/global.c:574,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:579,1
    - Dst: _gcry_secmem_term
      Src: /src/libgcrypt/src/global.c:580,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:584,1
    - Dst: _gcry_secmem_set_flags
      Src: /src/libgcrypt/src/global.c:585,1
    - Dst: _gcry_secmem_get_flags
      Src: /src/libgcrypt/src/global.c:585,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:590,1
    - Dst: _gcry_secmem_set_flags
      Src: /src/libgcrypt/src/global.c:591,1
    - Dst: _gcry_secmem_get_flags
      Src: /src/libgcrypt/src/global.c:591,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:596,1
    - Dst: _gcry_secmem_set_flags
      Src: /src/libgcrypt/src/global.c:597,1
    - Dst: _gcry_secmem_get_flags
      Src: /src/libgcrypt/src/global.c:597,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:606,1
    - Dst: _gcry_secure_random_alloc
      Src: /src/libgcrypt/src/global.c:607,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:611,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:616,1
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/global.c:617,1
    - Dst: _gcry_update_random_seed_file
      Src: /src/libgcrypt/src/global.c:618,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:622,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:627,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:631,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:636,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:657,1
    - Dst: _gcry_random_initialize
      Src: /src/libgcrypt/src/global.c:660,1
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/global.c:663,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:670,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:671,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:675,1
    - Dst: _gcry_random_initialize
      Src: /src/libgcrypt/src/global.c:678,1
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/global.c:680,1
    - Dst: _gcry_fast_random_poll
      Src: /src/libgcrypt/src/global.c:681,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:686,1
    - Dst: _gcry_rndegd_set_socket_name
      Src: /src/libgcrypt/src/global.c:687,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:687,1
    - Dst: _gcry_random_close_fds
      Src: /src/libgcrypt/src/global.c:702,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:711,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:713,1
    - Dst: _gcry_get_config
      Src: /src/libgcrypt/src/global.c:714,1
    - Dst: fputs
      Src: /src/libgcrypt/src/global.c:718,1
    - Dst: log_info
      Src: /src/libgcrypt/src/global.c:720,1
    - Dst: xfree
      Src: /src/libgcrypt/src/global.c:721,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:729,1
    - Dst: _gcry_fips_test_operational
      Src: /src/libgcrypt/src/global.c:730,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:735,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:744,1
    - Dst: _gcry_fips_test_error_or_operational
      Src: /src/libgcrypt/src/global.c:756,1
    - Dst: _gcry_fips_run_selftests
      Src: /src/libgcrypt/src/global.c:757,1
    - Dst: _gcry_fips_is_operational
      Src: /src/libgcrypt/src/global.c:758,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:768,1
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:789,1
    - Dst: _gcry_fips_run_selftests
      Src: /src/libgcrypt/src/global.c:790,1
    - Dst: _gcry_fips_indicator
      Src: /src/libgcrypt/src/global.c:794,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:799,1
    - Dst: _gcry_thread_context_set_reject
      Src: /src/libgcrypt/src/global.c:800,1
    - Dst: _gcry_fips_indicator_cipher
      Src: /src/libgcrypt/src/global.c:808,1
    - Dst: _gcry_fips_indicator_mac
      Src: /src/libgcrypt/src/global.c:815,1
    - Dst: _gcry_fips_indicator_md
      Src: /src/libgcrypt/src/global.c:822,1
    - Dst: _gcry_fips_indicator_kdf
      Src: /src/libgcrypt/src/global.c:828,1
    - Dst: _gcry_fips_indicator_function
      Src: /src/libgcrypt/src/global.c:835,1
    - Dst: _gcry_fips_indicator_pk_flags
      Src: /src/libgcrypt/src/global.c:842,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:851,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:852,1
    - Dst: _gcry_rngdrbg_cavs_test
      Src: /src/libgcrypt/src/global.c:855,1
    - Dst: _gcry_rngdrbg_healthcheck_one
      Src: /src/libgcrypt/src/global.c:857,1
    - Dst: external_lock_test
      Src: /src/libgcrypt/src/global.c:864,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:864,1
    - Dst: _gcry_secmem_dump_stats
      Src: /src/libgcrypt/src/global.c:867,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:872,1
    - Dst: _gcry_disable_hw_feature
      Src: /src/libgcrypt/src/global.c:873,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:884,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:887,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:893,1
    - Dst: _gcry_get_rng_type
      Src: /src/libgcrypt/src/global.c:895,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:900,1
    - Dst: _gcry_secmem_set_flags
      Src: /src/libgcrypt/src/global.c:901,1
    - Dst: _gcry_secmem_get_flags
      Src: /src/libgcrypt/src/global.c:901,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:906,1
    - Dst: _gcry_secmem_set_flags
      Src: /src/libgcrypt/src/global.c:907,1
    - Dst: _gcry_secmem_get_flags
      Src: /src/libgcrypt/src/global.c:907,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:918,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:919,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:920,1
    - Dst: va_arg
      Src: /src/libgcrypt/src/global.c:921,1
    - Dst: _gcry_get_rng_type
      Src: /src/libgcrypt/src/global.c:923,1
    - Dst: _gcry_rngdrbg_reinit
      Src: /src/libgcrypt/src/global.c:927,1
    - Dst: gpgrt_get_syscall_clamp
      Src: /src/libgcrypt/src/global.c:933,1
    - Dst: _gcry_set_preferred_rng_type
      Src: /src/libgcrypt/src/global.c:937,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 250
    argCount: 2
    argNames:
    - cmd
    - arg_ptr
    argTypes:
    - enum gcry_ctl_cmds
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 523
    functionDepth: 11
    functionLinenumber: 523
    functionLinenumberEnd: 942
    functionName: _gcry_vcontrol
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - _gcry_fips_run_selftests
    - _gcry_fips_indicator_pk_flags
    - external_lock_test
    - _gcry_random_is_faked
    - _gcry_rngdrbg_reinit
    - _gcry_secmem_set_flags
    - _gcry_secmem_term
    - _gcry_secmem_get_flags
    - _gcry_secure_random_alloc
    - _gcry_update_random_seed_file
    - _gcry_get_config
    - _gcry_enable_quick_random_gen
    - _gcry_get_rng_type
    - gpgrt_get_syscall_clamp
    - _gcry_fips_indicator
    - global_init
    - _gcry_fips_indicator_mac
    - log_info
    - _gcry_set_preferred_rng_type
    - _gcry_fips_indicator_cipher
    - _gcry_secmem_init
    - _gcry_secmem_dump_stats
    - _gcry_fips_test_error_or_operational
    - _gcry_rngdrbg_cavs_test
    - fips_mode
    - _gcry_thread_context_set_reject
    - _gcry_fips_indicator_function
    - _gcry_random_dump_stats
    - _gcry_fips_indicator_md
    - xfree
    - _gcry_fips_indicator_kdf
    - _gcry_rngdrbg_healthcheck_one
    - _gcry_random_close_fds
    - _gcry_fips_test_operational
    - _gcry_random_initialize
    - _gcry_fast_random_poll
    - fips_is_operational
    - _gcry_rndegd_set_socket_name
    - _gcry_fips_is_operational
    - fputs
    - va_arg
    - _gcry_disable_hw_feature
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_vcontrol (enum gcry_ctl_cmds cmd, va_list arg_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:960,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - new_alloc_func
    - new_alloc_secure_func
    - new_is_secure_func
    - new_realloc_func
    - new_free_func
    argTypes:
    - gcry_handler_alloc_t
    - gcry_handler_alloc_t
    - gcry_handler_secure_check_t
    - gcry_handler_realloc_t
    - gcry_handler_free_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 953
    functionDepth: 5
    functionLinenumber: 953
    functionLinenumberEnd: 976
    functionName: _gcry_set_allocation_handler
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - global_init
    - fips_mode
    linkageType: ''
    returnType: void
    signature: "void _gcry_set_allocation_handler (gcry_handler_alloc_t new_alloc_func,\n
      \                             gcry_handler_alloc_t new_alloc_secure_func,\n
      \                             gcry_handler_secure_check_t new_is_secure_func,\n
      \                             gcry_handler_realloc_t new_realloc_func,\n                              gcry_handler_free_t
      new_free_func)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/libgcrypt/src/global.c:997,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 994
    functionDepth: 5
    functionLinenumber: 994
    functionLinenumberEnd: 1004
    functionName: _gcry_set_outofcore_handler
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - global_init
    - fips_mode
    linkageType: ''
    returnType: void
    signature: void _gcry_set_outofcore_handler (int (*f)(void*, size_t, unsigned
      int), void *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_private_malloc_secure
      Src: /src/libgcrypt/src/global.c:1018,1
    - Dst: _gcry_private_malloc
      Src: /src/libgcrypt/src/global.c:1025,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:1033,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/global.c:1034,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - n
    - flags
    - mem
    argTypes:
    - size_t
    - unsigned int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1007
    functionDepth: 8
    functionLinenumber: 1007
    functionLinenumberEnd: 1040
    functionName: do_malloc
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 1
    functionsReached:
    - gpg_err_set_errno
    - gpg_err_code_from_errno
    - _gcry_private_malloc_secure
    - _gcry_private_malloc
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t do_malloc (size_t n, unsigned int flags, void **mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_malloc
      Src: /src/libgcrypt/src/global.c:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1042
    functionDepth: 9
    functionLinenumber: 1042
    functionLinenumberEnd: 1050
    functionName: _gcry_malloc
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 1
    functionsReached:
    - do_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_malloc (size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_malloc
      Src: /src/libgcrypt/src/global.c:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - xhint
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1052
    functionDepth: 9
    functionLinenumber: 1052
    functionLinenumberEnd: 1061
    functionName: _gcry_malloc_secure_core
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 1
    functionsReached:
    - do_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_malloc_secure_core (size_t n, int xhint)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_malloc_secure_core
      Src: /src/libgcrypt/src/global.c:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1063
    functionDepth: 10
    functionLinenumber: 1063
    functionLinenumberEnd: 1067
    functionName: _gcry_malloc_secure
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 1
    functionsReached:
    - _gcry_malloc_secure_core
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_malloc_secure (size_t n)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_secure_func
      Src: /src/libgcrypt/src/global.c:1075,1
    - Dst: _gcry_private_is_secure
      Src: /src/libgcrypt/src/global.c:1076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1069
    functionDepth: 2
    functionLinenumber: 1069
    functionLinenumberEnd: 1077
    functionName: _gcry_is_secure
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 4
    functionsReached:
    - is_secure_func
    - _gcry_private_is_secure
    linkageType: ''
    returnType: int
    signature: int _gcry_is_secure (const void *a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_malloc
      Src: /src/libgcrypt/src/global.c:1087,1
    - Dst: xfree
      Src: /src/libgcrypt/src/global.c:1090,1
    - Dst: realloc_func
      Src: /src/libgcrypt/src/global.c:1095,1
    - Dst: _gcry_private_realloc
      Src: /src/libgcrypt/src/global.c:1097,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:1099,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - a
    - n
    - xhint
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1079
    functionDepth: 10
    functionLinenumber: 1079
    functionLinenumberEnd: 1101
    functionName: _gcry_realloc_core
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 1
    functionsReached:
    - xfree
    - gpg_err_set_errno
    - _gcry_malloc
    - _gcry_private_realloc
    - realloc_func
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_realloc_core (void *a, size_t n, int xhint)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_realloc_core
      Src: /src/libgcrypt/src/global.c:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1104
    functionDepth: 11
    functionLinenumber: 1104
    functionLinenumberEnd: 1108
    functionName: _gcry_realloc
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - _gcry_realloc_core
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_realloc (void *a, size_t n)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free_func
      Src: /src/libgcrypt/src/global.c:1124,1
    - Dst: _gcry_private_free
      Src: /src/libgcrypt/src/global.c:1126,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:1129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1111
    functionDepth: 7
    functionLinenumber: 1111
    functionLinenumberEnd: 1130
    functionName: _gcry_free
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - gpg_err_set_errno
    - _gcry_private_free
    - free_func
    linkageType: ''
    returnType: void
    signature: void _gcry_free (void *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:1142,1
    - Dst: _gcry_malloc
      Src: /src/libgcrypt/src/global.c:1146,1
    - Dst: memset
      Src: /src/libgcrypt/src/global.c:1148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1132
    functionDepth: 10
    functionLinenumber: 1132
    functionLinenumberEnd: 1150
    functionName: _gcry_calloc
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - memset
    - gpg_err_set_errno
    - _gcry_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_calloc (size_t n, size_t m)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:1162,1
    - Dst: _gcry_malloc_secure
      Src: /src/libgcrypt/src/global.c:1166,1
    - Dst: memset
      Src: /src/libgcrypt/src/global.c:1168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1152
    functionDepth: 11
    functionLinenumber: 1152
    functionLinenumberEnd: 1170
    functionName: _gcry_calloc_secure
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - _gcry_malloc_secure
    - memset
    - gpg_err_set_errno
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_calloc_secure (size_t n, size_t m)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgcrypt/src/global.c:1179,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/src/global.c:1181,1
    - Dst: _gcry_malloc_secure_core
      Src: /src/libgcrypt/src/global.c:1182,1
    - Dst: _gcry_malloc
      Src: /src/libgcrypt/src/global.c:1184,1
    - Dst: strcpy
      Src: /src/libgcrypt/src/global.c:1187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - string
    - xhint
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1173
    functionDepth: 10
    functionLinenumber: 1173
    functionLinenumberEnd: 1190
    functionName: _gcry_strdup_core
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 1
    functionsReached:
    - strlen
    - _gcry_is_secure
    - strcpy
    - _gcry_malloc
    - _gcry_malloc_secure_core
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_strdup_core (const char *string, int xhint)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_strdup_core
      Src: /src/libgcrypt/src/global.c:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1196
    functionDepth: 11
    functionLinenumber: 1196
    functionLinenumberEnd: 1200
    functionName: _gcry_strdup
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - _gcry_strdup_core
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_strdup (const char *string)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_malloc
      Src: /src/libgcrypt/src/global.c:1207,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:1209,1
    - Dst: outofcore_handler
      Src: /src/libgcrypt/src/global.c:1211,1
    - Dst: _gcry_fatal_error
      Src: /src/libgcrypt/src/global.c:1213,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/global.c:1213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1202
    functionDepth: 10
    functionLinenumber: 1202
    functionLinenumberEnd: 1217
    functionName: _gcry_xmalloc
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 1
    functionsReached:
    - outofcore_handler
    - fips_mode
    - _gcry_fatal_error
    - _gcry_malloc
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_xmalloc( size_t n )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_realloc_core
      Src: /src/libgcrypt/src/global.c:1224,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:1226,1
    - Dst: outofcore_handler
      Src: /src/libgcrypt/src/global.c:1228,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/src/global.c:1229,1
    - Dst: _gcry_fatal_error
      Src: /src/libgcrypt/src/global.c:1231,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/global.c:1231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1219
    functionDepth: 11
    functionLinenumber: 1219
    functionLinenumberEnd: 1235
    functionName: _gcry_xrealloc
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - outofcore_handler
    - fips_mode
    - _gcry_fatal_error
    - _gcry_realloc_core
    - _gcry_is_secure
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_xrealloc( void *a, size_t n )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_malloc_secure_core
      Src: /src/libgcrypt/src/global.c:1242,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:1244,1
    - Dst: outofcore_handler
      Src: /src/libgcrypt/src/global.c:1246,1
    - Dst: _gcry_fatal_error
      Src: /src/libgcrypt/src/global.c:1248,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/global.c:1248,1
    - Dst: _
      Src: /src/libgcrypt/src/global.c:1249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1237
    functionDepth: 10
    functionLinenumber: 1237
    functionLinenumberEnd: 1253
    functionName: _gcry_xmalloc_secure
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 1
    functionsReached:
    - outofcore_handler
    - fips_mode
    - _
    - _gcry_fatal_error
    - _gcry_malloc_secure_core
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_xmalloc_secure( size_t n )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:1265,1
    - Dst: _gcry_fatal_error
      Src: /src/libgcrypt/src/global.c:1266,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/global.c:1266,1
    - Dst: _gcry_xmalloc
      Src: /src/libgcrypt/src/global.c:1269,1
    - Dst: memset
      Src: /src/libgcrypt/src/global.c:1270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1256
    functionDepth: 11
    functionLinenumber: 1256
    functionLinenumberEnd: 1272
    functionName: _gcry_xcalloc
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - _gcry_fatal_error
    - memset
    - gpg_err_set_errno
    - _gcry_xmalloc
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_xcalloc( size_t n, size_t m )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/global.c:1283,1
    - Dst: _gcry_fatal_error
      Src: /src/libgcrypt/src/global.c:1284,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/global.c:1284,1
    - Dst: _gcry_xmalloc_secure
      Src: /src/libgcrypt/src/global.c:1287,1
    - Dst: memset
      Src: /src/libgcrypt/src/global.c:1288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1274
    functionDepth: 11
    functionLinenumber: 1274
    functionLinenumberEnd: 1290
    functionName: _gcry_xcalloc_secure
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - _gcry_xmalloc_secure
    - _gcry_fatal_error
    - memset
    - gpg_err_set_errno
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_xcalloc_secure( size_t n, size_t m )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_strdup_core
      Src: /src/libgcrypt/src/global.c:1297,1
    - Dst: strlen
      Src: /src/libgcrypt/src/global.c:1299,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/src/global.c:1300,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:1302,1
    - Dst: outofcore_handler
      Src: /src/libgcrypt/src/global.c:1304,1
    - Dst: _gcry_fatal_error
      Src: /src/libgcrypt/src/global.c:1306,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/src/global.c:1306,1
    - Dst: _
      Src: /src/libgcrypt/src/global.c:1307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1292
    functionDepth: 11
    functionLinenumber: 1292
    functionLinenumberEnd: 1312
    functionName: _gcry_xstrdup
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - outofcore_handler
    - strlen
    - _gcry_strdup_core
    - fips_mode
    - _
    - _gcry_fatal_error
    - _gcry_is_secure
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_xstrdup (const char *string)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pre_syscall_func
      Src: /src/libgcrypt/src/global.c:1320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1321
    functionName: _gcry_pre_syscall
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - pre_syscall_func
    linkageType: ''
    returnType: void
    signature: void _gcry_pre_syscall (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: post_syscall_func
      Src: /src/libgcrypt/src/global.c:1329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1330
    functionName: _gcry_post_syscall
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - post_syscall_func
    linkageType: ''
    returnType: void
    signature: void _gcry_post_syscall (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/src/global.c:1336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mask
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1333
    functionDepth: 1
    functionLinenumber: 1333
    functionLinenumberEnd: 1339
    functionName: _gcry_get_debug_flag
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - fips_mode
    linkageType: ''
    returnType: int
    signature: int _gcry_get_debug_flag (unsigned int mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_register_pk_dsa_progress
      Src: /src/libgcrypt/src/global.c:1384,1
    - Dst: _gcry_register_pk_elg_progress
      Src: /src/libgcrypt/src/global.c:1387,1
    - Dst: _gcry_register_primegen_progress
      Src: /src/libgcrypt/src/global.c:1389,1
    - Dst: _gcry_register_random_progress
      Src: /src/libgcrypt/src/global.c:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cb_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1391
    functionName: _gcry_set_progress_handler
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 0
    functionsReached:
    - _gcry_register_pk_elg_progress
    - _gcry_register_pk_dsa_progress
    - _gcry_register_random_progress
    - _gcry_register_primegen_progress
    linkageType: ''
    returnType: void
    signature: "void _gcry_set_progress_handler (void (*cb)(void *,const char*,int,
      int, int),\n                            void *cb_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GPGRT_LOCK_DEFINE
      Src: /src/libgcrypt/src/global.c:1409,1
    - Dst: gpgrt_lock_init
      Src: /src/libgcrypt/src/global.c:1415,1
    - Dst: gpgrt_lock_lock
      Src: /src/libgcrypt/src/global.c:1419,1
    - Dst: gpgrt_lock_unlock
      Src: /src/libgcrypt/src/global.c:1423,1
    - Dst: gpgrt_lock_destroy
      Src: /src/libgcrypt/src/global.c:1427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1436
    functionName: external_lock_test
    functionSourceFile: /src/libgcrypt/src/global.c
    functionUses: 2
    functionsReached:
    - gpgrt_lock_unlock
    - gpgrt_lock_destroy
    - GPGRT_LOCK_DEFINE
    - gpgrt_lock_init
    - gpgrt_lock_lock
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t external_lock_test (int cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_strerror
      Src: /src/libgcrypt/src/visibility.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - gcry_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: gcry_strerror
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 25
    functionsReached:
    - _gcry_strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      gcry_strerror (gcry_error_t err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_strsource
      Src: /src/libgcrypt/src/visibility.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - gcry_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: gcry_strsource
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gcry_strsource
    linkageType: ''
    returnType: char
    signature: 'char *

      gcry_strsource (gcry_error_t err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_err_code_from_errno
      Src: /src/libgcrypt/src/visibility.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: gcry_err_code_from_errno
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gcry_err_code_from_errno
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t gcry_err_code_from_errno (int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_err_code_to_errno
      Src: /src/libgcrypt/src/visibility.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - gcry_err_code_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: gcry_err_code_to_errno
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gcry_err_code_to_errno
    linkageType: ''
    returnType: int
    signature: int gcry_err_code_to_errno (gcry_err_code_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_err_make_from_errno
      Src: /src/libgcrypt/src/visibility.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - err
    argTypes:
    - gcry_err_source_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: gcry_err_make_from_errno
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gcry_err_make_from_errno
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_err_make_from_errno (gcry_err_source_t source, int
      err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_error_from_errno
      Src: /src/libgcrypt/src/visibility.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: gcry_error_from_errno
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gcry_error_from_errno
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_error_from_errno (int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_check_version
      Src: /src/libgcrypt/src/visibility.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req_version
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 6
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: gcry_check_version
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 52
    functionsReached:
    - _gcry_check_version
    linkageType: ''
    returnType: char
    signature: 'char *

      gcry_check_version (const char *req_version)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgcrypt/src/visibility.c:79,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:80,1
    - Dst: _gcry_vcontrol
      Src: /src/libgcrypt/src/visibility.c:80,1
    - Dst: va_end
      Src: /src/libgcrypt/src/visibility.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - enum gcry_ctl_cmds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 12
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: gcry_control
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 124
    functionsReached:
    - gpg_error
    - va_end
    - va_start
    - _gcry_vcontrol
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_control (enum gcry_ctl_cmds cmd, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:90,1
    - Dst: _gcry_sexp_new
      Src: /src/libgcrypt/src/visibility.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - retsexp
    - buffer
    - length
    - autodetect
    argTypes:
    - gcry_sexp_t*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: gcry_sexp_new
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 37
    functionsReached:
    - gpg_error
    - _gcry_sexp_new
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_sexp_new (gcry_sexp_t *retsexp,\n               const
      void *buffer, size_t length,\n               int autodetect)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:98,1
    - Dst: _gcry_sexp_create
      Src: /src/libgcrypt/src/visibility.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - retsexp
    - buffer
    - length
    - autodetect
    argTypes:
    - gcry_sexp_t*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: gcry_sexp_create
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 5
    functionsReached:
    - _gcry_sexp_create
    - gpg_error
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_sexp_create (gcry_sexp_t *retsexp,\n                  void
      *buffer, size_t length,\n                  int autodetect, void (*freefnc) (void
      *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:106,1
    - Dst: _gcry_sexp_sscan
      Src: /src/libgcrypt/src/visibility.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - retsexp
    - erroff
    - buffer
    - length
    argTypes:
    - gcry_sexp_t*
    - size_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 5
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: gcry_sexp_sscan
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 60
    functionsReached:
    - gpg_error
    - _gcry_sexp_sscan
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_sexp_sscan (gcry_sexp_t *retsexp, size_t *erroff,\n
      \                const char *buffer, size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgcrypt/src/visibility.c:116,1
    - Dst: _gcry_sexp_vbuild
      Src: /src/libgcrypt/src/visibility.c:117,1
    - Dst: va_end
      Src: /src/libgcrypt/src/visibility.c:118,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - retsexp
    - erroff
    - format
    argTypes:
    - gcry_sexp_t*
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: gcry_sexp_build
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 94
    functionsReached:
    - _gcry_sexp_vbuild
    - gpg_error
    - va_end
    - va_start
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_sexp_build (gcry_sexp_t *retsexp, size_t *erroff,\n
      \                const char *format, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:126,1
    - Dst: _gcry_sexp_build_array
      Src: /src/libgcrypt/src/visibility.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - retsexp
    - erroff
    - format
    - arg_list
    argTypes:
    - gcry_sexp_t*
    - size_t*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 5
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: gcry_sexp_build_array
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 5
    functionsReached:
    - gpg_error
    - _gcry_sexp_build_array
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_sexp_build_array (gcry_sexp_t *retsexp, size_t *erroff,\n
      \                      const char *format, void **arg_list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_release
      Src: /src/libgcrypt/src/visibility.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sexp
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: gcry_sexp_release
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 252
    functionsReached:
    - _gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: void gcry_sexp_release (gcry_sexp_t sexp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_canon_len
      Src: /src/libgcrypt/src/visibility.c:142,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - buffer
    - length
    - erroff
    - errcode
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - gcry_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: gcry_sexp_canon_len
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 63
    functionsReached:
    - _gcry_sexp_canon_len
    - gpg_error
    linkageType: ''
    returnType: size_t
    signature: "size_t gcry_sexp_canon_len (const unsigned char *buffer, size_t length,\n
      \                    size_t *erroff, gcry_error_t *errcode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_sprint
      Src: /src/libgcrypt/src/visibility.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sexp
    - mode
    - buffer
    - maxlength
    argTypes:
    - gcry_sexp_t
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: gcry_sexp_sprint
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 40
    functionsReached:
    - _gcry_sexp_sprint
    linkageType: ''
    returnType: size_t
    signature: size_t gcry_sexp_sprint (gcry_sexp_t sexp, int mode, void *buffer,
      size_t maxlength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_dump
      Src: /src/libgcrypt/src/visibility.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: gcry_sexp_dump
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 5
    functionsReached:
    - _gcry_sexp_dump
    linkageType: ''
    returnType: void
    signature: void gcry_sexp_dump (const gcry_sexp_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_cons
      Src: /src/libgcrypt/src/visibility.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: gcry_sexp_cons
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gcry_sexp_cons
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t gcry_sexp_cons (const gcry_sexp_t a, const gcry_sexp_t
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_alist
      Src: /src/libgcrypt/src/visibility.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: gcry_sexp_alist
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gcry_sexp_alist
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t gcry_sexp_alist (const gcry_sexp_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/libgcrypt/src/visibility.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: gcry_sexp_vlist
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 0
    functionsReached:
    - BUG
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t gcry_sexp_vlist (const gcry_sexp_t a, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_append
      Src: /src/libgcrypt/src/visibility.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: gcry_sexp_append
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gcry_sexp_append
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t gcry_sexp_append (const gcry_sexp_t a, const gcry_sexp_t
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_prepend
      Src: /src/libgcrypt/src/visibility.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: gcry_sexp_prepend
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gcry_sexp_prepend
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t gcry_sexp_prepend (const gcry_sexp_t a, const gcry_sexp_t
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_find_token
      Src: /src/libgcrypt/src/visibility.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - list
    - tok
    - toklen
    argTypes:
    - gcry_sexp_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: gcry_sexp_find_token
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 98
    functionsReached:
    - _gcry_sexp_find_token
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t gcry_sexp_find_token (gcry_sexp_t list, const char *tok,
      size_t toklen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_length
      Src: /src/libgcrypt/src/visibility.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: gcry_sexp_length
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 5
    functionsReached:
    - _gcry_sexp_length
    linkageType: ''
    returnType: int
    signature: int gcry_sexp_length (const gcry_sexp_t list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_nth
      Src: /src/libgcrypt/src/visibility.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - number
    argTypes:
    - gcry_sexp_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: gcry_sexp_nth
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 11
    functionsReached:
    - _gcry_sexp_nth
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t gcry_sexp_nth (const gcry_sexp_t list, int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_car
      Src: /src/libgcrypt/src/visibility.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 4
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: gcry_sexp_car
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gcry_sexp_car
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t gcry_sexp_car (const gcry_sexp_t list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_cdr
      Src: /src/libgcrypt/src/visibility.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: gcry_sexp_cdr
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gcry_sexp_cdr
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t gcry_sexp_cdr (const gcry_sexp_t list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_cadr
      Src: /src/libgcrypt/src/visibility.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 5
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: gcry_sexp_cadr
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 19
    functionsReached:
    - _gcry_sexp_cadr
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t gcry_sexp_cadr (const gcry_sexp_t list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_nth_data
      Src: /src/libgcrypt/src/visibility.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - list
    - number
    - datalen
    argTypes:
    - gcry_sexp_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: gcry_sexp_nth_data
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 29
    functionsReached:
    - _gcry_sexp_nth_data
    linkageType: ''
    returnType: char
    signature: 'char *

      gcry_sexp_nth_data (const gcry_sexp_t list, int number, size_t *datalen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_nth_buffer
      Src: /src/libgcrypt/src/visibility.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - list
    - number
    - rlength
    argTypes:
    - gcry_sexp_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: gcry_sexp_nth_buffer
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 12
    functionsReached:
    - _gcry_sexp_nth_buffer
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_sexp_nth_buffer (const gcry_sexp_t list, int number, size_t *rlength)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_nth_string
      Src: /src/libgcrypt/src/visibility.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - number
    argTypes:
    - gcry_sexp_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: gcry_sexp_nth_string
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 25
    functionsReached:
    - _gcry_sexp_nth_string
    linkageType: ''
    returnType: char
    signature: 'char *

      gcry_sexp_nth_string (gcry_sexp_t list, int number)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_nth_mpi
      Src: /src/libgcrypt/src/visibility.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - list
    - number
    - mpifmt
    argTypes:
    - gcry_sexp_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: gcry_sexp_nth_mpi
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 31
    functionsReached:
    - _gcry_sexp_nth_mpi
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t gcry_sexp_nth_mpi (gcry_sexp_t list, int number, int mpifmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgcrypt/src/visibility.c:261,1
    - Dst: _gcry_sexp_vextract_param
      Src: /src/libgcrypt/src/visibility.c:262,1
    - Dst: va_end
      Src: /src/libgcrypt/src/visibility.c:263,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sexp
    - path
    - list
    argTypes:
    - gcry_sexp_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 254
    functionDepth: 4
    functionLinenumber: 254
    functionLinenumberEnd: 265
    functionName: gcry_sexp_extract_param
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 20
    functionsReached:
    - gpg_error
    - va_end
    - _gcry_sexp_vextract_param
    - va_start
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gcry_sexp_extract_param (gcry_sexp_t sexp, const char
      *path,\n                         const char *list, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_new
      Src: /src/libgcrypt/src/visibility.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: gcry_mpi_new
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 41
    functionsReached:
    - _gcry_mpi_new
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t gcry_mpi_new (unsigned int nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_snew
      Src: /src/libgcrypt/src/visibility.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: gcry_mpi_snew
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 6
    functionsReached:
    - _gcry_mpi_snew
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t gcry_mpi_snew (unsigned int nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/src/visibility.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: gcry_mpi_release
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 131
    functionsReached:
    - _gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_release (gcry_mpi_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_copy
      Src: /src/libgcrypt/src/visibility.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: gcry_mpi_copy
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 11
    functionsReached:
    - _gcry_mpi_copy
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t gcry_mpi_copy (const gcry_mpi_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_snatch
      Src: /src/libgcrypt/src/visibility.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - u
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: gcry_mpi_snatch
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gcry_mpi_snatch
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_snatch (gcry_mpi_t w, const gcry_mpi_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_set
      Src: /src/libgcrypt/src/visibility.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - u
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: gcry_mpi_set
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 5
    functionsReached:
    - _gcry_mpi_set
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t gcry_mpi_set (gcry_mpi_t w, const gcry_mpi_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_set_ui
      Src: /src/libgcrypt/src/visibility.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - u
    argTypes:
    - gcry_mpi_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: gcry_mpi_set_ui
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 16
    functionsReached:
    - _gcry_mpi_set_ui
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t gcry_mpi_set_ui (gcry_mpi_t w, unsigned long u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:314,1
    - Dst: _gcry_mpi_get_ui
      Src: /src/libgcrypt/src/visibility.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - u
    argTypes:
    - unsigned int*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: gcry_mpi_get_ui
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - gpg_error
    - _gcry_mpi_get_ui
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_mpi_get_ui (unsigned int *w, gcry_mpi_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_swap
      Src: /src/libgcrypt/src/visibility.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: gcry_mpi_swap
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gcry_mpi_swap
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_swap (gcry_mpi_t a, gcry_mpi_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_is_neg
      Src: /src/libgcrypt/src/visibility.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: gcry_mpi_is_neg
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 5
    functionsReached:
    - _gcry_mpi_is_neg
    linkageType: ''
    returnType: int
    signature: int gcry_mpi_is_neg (gcry_mpi_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_neg
      Src: /src/libgcrypt/src/visibility.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - u
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: gcry_mpi_neg
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gcry_mpi_neg
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_neg (gcry_mpi_t w, gcry_mpi_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_abs
      Src: /src/libgcrypt/src/visibility.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 339
    functionName: gcry_mpi_abs
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gcry_mpi_abs
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_abs (gcry_mpi_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_cmp
      Src: /src/libgcrypt/src/visibility.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: gcry_mpi_cmp
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 21
    functionsReached:
    - _gcry_mpi_cmp
    linkageType: ''
    returnType: int
    signature: int gcry_mpi_cmp (const gcry_mpi_t u, const gcry_mpi_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_cmp_ui
      Src: /src/libgcrypt/src/visibility.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - gcry_mpi_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: gcry_mpi_cmp_ui
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 11
    functionsReached:
    - _gcry_mpi_cmp_ui
    linkageType: ''
    returnType: int
    signature: int gcry_mpi_cmp_ui (const gcry_mpi_t u, unsigned long v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:358,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/src/visibility.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ret_mpi
    - format
    - buffer
    - buflen
    - nscanned
    argTypes:
    - gcry_mpi_t*
    - enum gcry_mpi_format
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: gcry_mpi_scan
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 48
    functionsReached:
    - _gcry_mpi_scan
    - gpg_error
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_mpi_scan (gcry_mpi_t *ret_mpi, enum gcry_mpi_format
      format,\n               const void *buffer, size_t buflen,\n               size_t
      *nscanned)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:367,1
    - Dst: _gcry_mpi_print
      Src: /src/libgcrypt/src/visibility.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - format
    - buffer
    - buflen
    - nwritten
    - a
    argTypes:
    - enum gcry_mpi_format
    - unsigned char*
    - size_t
    - size_t*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 368
    functionName: gcry_mpi_print
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 21
    functionsReached:
    - gpg_error
    - _gcry_mpi_print
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_mpi_print (enum gcry_mpi_format format,\n                unsigned
      char *buffer, size_t buflen,\n                size_t *nwritten,\n                const
      gcry_mpi_t a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:375,1
    - Dst: _gcry_mpi_aprint
      Src: /src/libgcrypt/src/visibility.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - format
    - buffer
    - nwritten
    - a
    argTypes:
    - enum gcry_mpi_format
    - unsigned char**
    - size_t*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: gcry_mpi_aprint
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 32
    functionsReached:
    - gpg_error
    - _gcry_mpi_aprint
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_mpi_aprint (enum gcry_mpi_format format,\n                 unsigned
      char **buffer, size_t *nwritten,\n                 const gcry_mpi_t a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_log_printmpi
      Src: /src/libgcrypt/src/visibility.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: gcry_mpi_dump
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_log_printmpi
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_dump (const gcry_mpi_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_add
      Src: /src/libgcrypt/src/visibility.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - u
    - v
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: gcry_mpi_add
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gcry_mpi_add
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_add (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_add_ui
      Src: /src/libgcrypt/src/visibility.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - u
    - v
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: gcry_mpi_add_ui
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 8
    functionsReached:
    - _gcry_mpi_add_ui
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_add_ui (gcry_mpi_t w, gcry_mpi_t u, unsigned long v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_addm
      Src: /src/libgcrypt/src/visibility.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - w
    - u
    - v
    - m
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: gcry_mpi_addm
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gcry_mpi_addm
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_addm (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, gcry_mpi_t
      m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_sub
      Src: /src/libgcrypt/src/visibility.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - u
    - v
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: gcry_mpi_sub
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_mpi_sub
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_sub (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_sub_ui
      Src: /src/libgcrypt/src/visibility.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - u
    - v
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: gcry_mpi_sub_ui
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 12
    functionsReached:
    - _gcry_mpi_sub_ui
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_sub_ui (gcry_mpi_t w, gcry_mpi_t u, unsigned long v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_subm
      Src: /src/libgcrypt/src/visibility.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - w
    - u
    - v
    - m
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: gcry_mpi_subm
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gcry_mpi_subm
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_subm (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, gcry_mpi_t
      m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_mul
      Src: /src/libgcrypt/src/visibility.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - u
    - v
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: gcry_mpi_mul
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 6
    functionsReached:
    - _gcry_mpi_mul
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_mul (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_mul_ui
      Src: /src/libgcrypt/src/visibility.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - u
    - v
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: gcry_mpi_mul_ui
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_mpi_mul_ui
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_mul_ui (gcry_mpi_t w, gcry_mpi_t u, unsigned long v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_mulm
      Src: /src/libgcrypt/src/visibility.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - w
    - u
    - v
    - m
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: gcry_mpi_mulm
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gcry_mpi_mulm
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_mulm (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, gcry_mpi_t
      m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_mul_2exp
      Src: /src/libgcrypt/src/visibility.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - u
    - cnt
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: gcry_mpi_mul_2exp
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gcry_mpi_mul_2exp
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_mul_2exp (gcry_mpi_t w, gcry_mpi_t u, unsigned long cnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_div
      Src: /src/libgcrypt/src/visibility.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - q
    - r
    - dividend
    - divisor
    - round
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: gcry_mpi_div
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 7
    functionsReached:
    - _gcry_mpi_div
    linkageType: ''
    returnType: void
    signature: "void gcry_mpi_div (gcry_mpi_t q, gcry_mpi_t r,\n              gcry_mpi_t
      dividend, gcry_mpi_t divisor, int round)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_mod
      Src: /src/libgcrypt/src/visibility.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - dividend
    - divisor
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 455
    functionName: gcry_mpi_mod
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 8
    functionsReached:
    - _gcry_mpi_mod
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_mod (gcry_mpi_t r, gcry_mpi_t dividend, gcry_mpi_t divisor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_powm
      Src: /src/libgcrypt/src/visibility.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - w
    - b
    - e
    - m
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 462
    functionName: gcry_mpi_powm
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gcry_mpi_powm
    linkageType: ''
    returnType: void
    signature: "void gcry_mpi_powm (gcry_mpi_t w, const gcry_mpi_t b, const gcry_mpi_t
      e,\n               const gcry_mpi_t m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_gcd
      Src: /src/libgcrypt/src/visibility.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - g
    - a
    - b
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: gcry_mpi_gcd
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gcry_mpi_gcd
    linkageType: ''
    returnType: int
    signature: int gcry_mpi_gcd (gcry_mpi_t g, gcry_mpi_t a, gcry_mpi_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_invm
      Src: /src/libgcrypt/src/visibility.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - a
    - m
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 474
    functionName: gcry_mpi_invm
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 11
    functionsReached:
    - _gcry_mpi_invm
    linkageType: ''
    returnType: int
    signature: int gcry_mpi_invm (gcry_mpi_t x, gcry_mpi_t a, gcry_mpi_t m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_point_new
      Src: /src/libgcrypt/src/visibility.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: gcry_mpi_point_new
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 11
    functionsReached:
    - _gcry_mpi_point_new
    linkageType: ''
    returnType: gcry_mpi_point_t
    signature: gcry_mpi_point_t gcry_mpi_point_new (unsigned int nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_point_release
      Src: /src/libgcrypt/src/visibility.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - point
    argTypes:
    - gcry_mpi_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: gcry_mpi_point_release
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 11
    functionsReached:
    - _gcry_mpi_point_release
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_point_release (gcry_mpi_point_t point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_point_copy
      Src: /src/libgcrypt/src/visibility.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - point
    argTypes:
    - gcry_mpi_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: gcry_mpi_point_copy
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gcry_mpi_point_copy
    linkageType: ''
    returnType: gcry_mpi_point_t
    signature: gcry_mpi_point_t gcry_mpi_point_copy (gcry_mpi_point_t point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_point_get
      Src: /src/libgcrypt/src/visibility.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - z
    - point
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: gcry_mpi_point_get
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gcry_mpi_point_get
    linkageType: ''
    returnType: void
    signature: "void gcry_mpi_point_get (gcry_mpi_t x, gcry_mpi_t y, gcry_mpi_t z,\n
      \                   gcry_mpi_point_t point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_point_snatch_get
      Src: /src/libgcrypt/src/visibility.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - z
    - point
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 506
    functionName: gcry_mpi_point_snatch_get
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_mpi_point_snatch_get
    linkageType: ''
    returnType: void
    signature: "void gcry_mpi_point_snatch_get (gcry_mpi_t x, gcry_mpi_t y, gcry_mpi_t
      z,\n                           gcry_mpi_point_t point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_point_set
      Src: /src/libgcrypt/src/visibility.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - point
    - x
    - y
    - z
    argTypes:
    - gcry_mpi_point_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 513
    functionName: gcry_mpi_point_set
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 6
    functionsReached:
    - _gcry_mpi_point_set
    linkageType: ''
    returnType: gcry_mpi_point_t
    signature: "gcry_mpi_point_t gcry_mpi_point_set (gcry_mpi_point_t point,\n                    gcry_mpi_t
      x, gcry_mpi_t y, gcry_mpi_t z)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_point_snatch_set
      Src: /src/libgcrypt/src/visibility.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - point
    - x
    - y
    - z
    argTypes:
    - gcry_mpi_point_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 520
    functionName: gcry_mpi_point_snatch_set
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_mpi_point_snatch_set
    linkageType: ''
    returnType: gcry_mpi_point_t
    signature: "gcry_mpi_point_t gcry_mpi_point_snatch_set (gcry_mpi_point_t point,\n
      \                          gcry_mpi_t x, gcry_mpi_t y, gcry_mpi_t z)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:526,1
    - Dst: _gcry_mpi_ec_new
      Src: /src/libgcrypt/src/visibility.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r_ctx
    - keyparam
    - curvename
    argTypes:
    - gcry_ctx_t*
    - gcry_sexp_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 527
    functionName: gcry_mpi_ec_new
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 12
    functionsReached:
    - _gcry_mpi_ec_new
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gcry_mpi_ec_new (gcry_ctx_t *r_ctx,\n                 gcry_sexp_t
      keyparam, const char *curvename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_ec_get_mpi
      Src: /src/libgcrypt/src/visibility.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - ctx
    - copy
    argTypes:
    - char*
    - gcry_ctx_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: gcry_mpi_ec_get_mpi
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 6
    functionsReached:
    - _gcry_mpi_ec_get_mpi
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t gcry_mpi_ec_get_mpi (const char *name, gcry_ctx_t ctx, int
      copy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_ec_get_point
      Src: /src/libgcrypt/src/visibility.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - ctx
    - copy
    argTypes:
    - char*
    - gcry_ctx_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: gcry_mpi_ec_get_point
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 6
    functionsReached:
    - _gcry_mpi_ec_get_point
    linkageType: ''
    returnType: gcry_mpi_point_t
    signature: gcry_mpi_point_t gcry_mpi_ec_get_point (const char *name, gcry_ctx_t
      ctx, int copy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:544,1
    - Dst: _gcry_mpi_ec_set_mpi
      Src: /src/libgcrypt/src/visibility.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - newvalue
    - ctx
    argTypes:
    - char*
    - gcry_mpi_t
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 545
    functionName: gcry_mpi_ec_set_mpi
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gcry_mpi_ec_set_mpi
    - gpg_error
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gcry_mpi_ec_set_mpi (const char *name, gcry_mpi_t newvalue,
      gcry_ctx_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:551,1
    - Dst: _gcry_mpi_ec_set_point
      Src: /src/libgcrypt/src/visibility.c:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - newvalue
    - ctx
    argTypes:
    - char*
    - gcry_mpi_point_t
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 552
    functionName: gcry_mpi_ec_set_point
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - gpg_error
    - _gcry_mpi_ec_set_point
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gcry_mpi_ec_set_point (const char *name, gcry_mpi_point_t
      newvalue,\n                        gcry_ctx_t ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:558,1
    - Dst: _gcry_mpi_ec_decode_point
      Src: /src/libgcrypt/src/visibility.c:558,1
    - Dst: _gcry_ctx_get_pointer
      Src: /src/libgcrypt/src/visibility.c:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - result
    - value
    - ctx
    argTypes:
    - gcry_mpi_point_t
    - gcry_mpi_t
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 554
    functionDepth: 3
    functionLinenumber: 554
    functionLinenumberEnd: 561
    functionName: gcry_mpi_ec_decode_point
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - _gcry_mpi_ec_decode_point
    - _gcry_ctx_get_pointer
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gcry_mpi_ec_decode_point (gcry_mpi_point_t result, gcry_mpi_t
      value,\n                          gcry_ctx_t ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/src/visibility.c:567,1
    - Dst: _gcry_ctx_get_pointer
      Src: /src/libgcrypt/src/visibility.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - point
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_point_t
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 563
    functionDepth: 3
    functionLinenumber: 563
    functionLinenumberEnd: 569
    functionName: gcry_mpi_ec_get_affine
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 9
    functionsReached:
    - _gcry_mpi_ec_get_affine
    - _gcry_ctx_get_pointer
    linkageType: ''
    returnType: int
    signature: "int gcry_mpi_ec_get_affine (gcry_mpi_t x, gcry_mpi_t y, gcry_mpi_point_t
      point,\n                        gcry_ctx_t ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctx_get_pointer
      Src: /src/libgcrypt/src/visibility.c:574,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/src/visibility.c:578,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/src/visibility.c:579,1
    - Dst: _gcry_mpi_ec_dup_point
      Src: /src/libgcrypt/src/visibility.c:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - w
    - u
    - ctx
    argTypes:
    - gcry_mpi_point_t
    - gcry_mpi_point_t
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 571
    functionDepth: 3
    functionLinenumber: 571
    functionLinenumberEnd: 583
    functionName: gcry_mpi_ec_dup
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_ec_dup_point
    - mpi_point_resize
    - _gcry_ctx_get_pointer
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_ec_dup (gcry_mpi_point_t w, gcry_mpi_point_t u, gcry_ctx_t
      ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctx_get_pointer
      Src: /src/libgcrypt/src/visibility.c:589,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/src/visibility.c:593,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/src/visibility.c:594,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/src/visibility.c:595,1
    - Dst: _gcry_mpi_ec_add_points
      Src: /src/libgcrypt/src/visibility.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - w
    - u
    - v
    - ctx
    argTypes:
    - gcry_mpi_point_t
    - gcry_mpi_point_t
    - gcry_mpi_point_t
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 585
    functionDepth: 3
    functionLinenumber: 585
    functionLinenumberEnd: 599
    functionName: gcry_mpi_ec_add
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_ec_add_points
    - mpi_point_resize
    - _gcry_ctx_get_pointer
    linkageType: ''
    returnType: void
    signature: "void gcry_mpi_ec_add (gcry_mpi_point_t w,\n                 gcry_mpi_point_t
      u, gcry_mpi_point_t v, gcry_ctx_t ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctx_get_pointer
      Src: /src/libgcrypt/src/visibility.c:605,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/src/visibility.c:609,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/src/visibility.c:610,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/src/visibility.c:611,1
    - Dst: _gcry_mpi_ec_sub_points
      Src: /src/libgcrypt/src/visibility.c:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - w
    - u
    - v
    - ctx
    argTypes:
    - gcry_mpi_point_t
    - gcry_mpi_point_t
    - gcry_mpi_point_t
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 601
    functionDepth: 3
    functionLinenumber: 601
    functionLinenumberEnd: 615
    functionName: gcry_mpi_ec_sub
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_ec_sub_points
    - mpi_point_resize
    - _gcry_ctx_get_pointer
    linkageType: ''
    returnType: void
    signature: "void gcry_mpi_ec_sub (gcry_mpi_point_t w,\n                 gcry_mpi_point_t
      u, gcry_mpi_point_t v, gcry_ctx_t ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/src/visibility.c:621,1
    - Dst: _gcry_ctx_get_pointer
      Src: /src/libgcrypt/src/visibility.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - w
    - n
    - u
    - ctx
    argTypes:
    - gcry_mpi_point_t
    - gcry_mpi_t
    - gcry_mpi_point_t
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 617
    functionDepth: 3
    functionLinenumber: 617
    functionLinenumberEnd: 623
    functionName: gcry_mpi_ec_mul
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 8
    functionsReached:
    - _gcry_mpi_ec_mul_point
    - _gcry_ctx_get_pointer
    linkageType: ''
    returnType: void
    signature: "void gcry_mpi_ec_mul (gcry_mpi_point_t w, gcry_mpi_t n, gcry_mpi_point_t
      u,\n                 gcry_ctx_t ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_ec_curve_point
      Src: /src/libgcrypt/src/visibility.c:628,1
    - Dst: _gcry_ctx_get_pointer
      Src: /src/libgcrypt/src/visibility.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - point
    - ctx
    argTypes:
    - gcry_mpi_point_t
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 625
    functionDepth: 3
    functionLinenumber: 625
    functionLinenumberEnd: 630
    functionName: gcry_mpi_ec_curve_point
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gcry_mpi_ec_curve_point
    - _gcry_ctx_get_pointer
    linkageType: ''
    returnType: int
    signature: int gcry_mpi_ec_curve_point (gcry_mpi_point_t point, gcry_ctx_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_get_nbits
      Src: /src/libgcrypt/src/visibility.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 636
    functionName: gcry_mpi_get_nbits
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 18
    functionsReached:
    - _gcry_mpi_get_nbits
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gcry_mpi_get_nbits (gcry_mpi_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_test_bit
      Src: /src/libgcrypt/src/visibility.c:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 642
    functionName: gcry_mpi_test_bit
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 7
    functionsReached:
    - _gcry_mpi_test_bit
    linkageType: ''
    returnType: int
    signature: int gcry_mpi_test_bit (gcry_mpi_t a, unsigned int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_set_bit
      Src: /src/libgcrypt/src/visibility.c:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 648
    functionName: gcry_mpi_set_bit
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 6
    functionsReached:
    - _gcry_mpi_set_bit
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_set_bit (gcry_mpi_t a, unsigned int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_clear_bit
      Src: /src/libgcrypt/src/visibility.c:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 654
    functionName: gcry_mpi_clear_bit
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 5
    functionsReached:
    - _gcry_mpi_clear_bit
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_clear_bit (gcry_mpi_t a, unsigned int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_set_highbit
      Src: /src/libgcrypt/src/visibility.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 660
    functionName: gcry_mpi_set_highbit
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_mpi_set_highbit
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_set_highbit (gcry_mpi_t a, unsigned int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_clear_highbit
      Src: /src/libgcrypt/src/visibility.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 666
    functionName: gcry_mpi_clear_highbit
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_mpi_clear_highbit
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_clear_highbit (gcry_mpi_t a, unsigned int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_rshift
      Src: /src/libgcrypt/src/visibility.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - a
    - n
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: gcry_mpi_rshift
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_mpi_rshift
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_rshift (gcry_mpi_t x, gcry_mpi_t a, unsigned int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_lshift
      Src: /src/libgcrypt/src/visibility.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - a
    - n
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: gcry_mpi_lshift
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_mpi_lshift
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_lshift (gcry_mpi_t x, gcry_mpi_t a, unsigned int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_set_opaque
      Src: /src/libgcrypt/src/visibility.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - p
    - nbits
    argTypes:
    - gcry_mpi_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: gcry_mpi_set_opaque
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 21
    functionsReached:
    - _gcry_mpi_set_opaque
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t gcry_mpi_set_opaque (gcry_mpi_t a, void *p, unsigned int
      nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_set_opaque_copy
      Src: /src/libgcrypt/src/visibility.c:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - p
    - nbits
    argTypes:
    - gcry_mpi_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 690
    functionName: gcry_mpi_set_opaque_copy
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 11
    functionsReached:
    - _gcry_mpi_set_opaque_copy
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t gcry_mpi_set_opaque_copy (gcry_mpi_t a, const void *p, unsigned
      int nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_get_opaque
      Src: /src/libgcrypt/src/visibility.c:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - nbits
    argTypes:
    - gcry_mpi_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 696
    functionName: gcry_mpi_get_opaque
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 47
    functionsReached:
    - _gcry_mpi_get_opaque
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_mpi_get_opaque (gcry_mpi_t a, unsigned int *nbits)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_set_flag
      Src: /src/libgcrypt/src/visibility.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - flag
    argTypes:
    - gcry_mpi_t
    - enum gcry_mpi_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 702
    functionName: gcry_mpi_set_flag
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 10
    functionsReached:
    - _gcry_mpi_set_flag
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_set_flag (gcry_mpi_t a, enum gcry_mpi_flag flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_clear_flag
      Src: /src/libgcrypt/src/visibility.c:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - flag
    argTypes:
    - gcry_mpi_t
    - enum gcry_mpi_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 708
    functionName: gcry_mpi_clear_flag
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gcry_mpi_clear_flag
    linkageType: ''
    returnType: void
    signature: void gcry_mpi_clear_flag (gcry_mpi_t a, enum gcry_mpi_flag flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_get_flag
      Src: /src/libgcrypt/src/visibility.c:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - flag
    argTypes:
    - gcry_mpi_t
    - enum gcry_mpi_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 714
    functionName: gcry_mpi_get_flag
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 41
    functionsReached:
    - _gcry_mpi_get_flag
    linkageType: ''
    returnType: int
    signature: int gcry_mpi_get_flag (gcry_mpi_t a, enum gcry_mpi_flag flag)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_const
      Src: /src/libgcrypt/src/visibility.c:721,1
    - Dst: _gcry_mpi_const
      Src: /src/libgcrypt/src/visibility.c:722,1
    - Dst: _gcry_mpi_const
      Src: /src/libgcrypt/src/visibility.c:723,1
    - Dst: _gcry_mpi_const
      Src: /src/libgcrypt/src/visibility.c:724,1
    - Dst: _gcry_mpi_const
      Src: /src/libgcrypt/src/visibility.c:725,1
    - Dst: log_bug
      Src: /src/libgcrypt/src/visibility.c:726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - 'no'
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 728
    functionName: _gcry_mpi_get_const
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 0
    functionsReached:
    - log_bug
    - _gcry_mpi_const
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_mpi_get_const (int no)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:734,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:737,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:737,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:739,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:740,1
    - Dst: _gcry_cipher_open
      Src: /src/libgcrypt/src/visibility.c:740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - handle
    - algo
    - mode
    - flags
    argTypes:
    - gcry_cipher_hd_t*
    - int
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 741
    functionName: gcry_cipher_open
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 63
    functionsReached:
    - _gcry_cipher_open
    - fips_not_operational
    - fips_service_indicator_init
    - fips_is_operational
    - gpg_error
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_cipher_open (gcry_cipher_hd_t *handle,\n                  int
      algo, int mode, unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_close
      Src: /src/libgcrypt/src/visibility.c:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 747
    functionName: gcry_cipher_close
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 87
    functionsReached:
    - _gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void gcry_cipher_close (gcry_cipher_hd_t h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:752,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:753,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:753,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:754,1
    - Dst: gcry_error
      Src: /src/libgcrypt/src/visibility.c:755,1
    - Dst: _gcry_cipher_setkey
      Src: /src/libgcrypt/src/visibility.c:755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - hd
    - key
    - keylen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 756
    functionName: gcry_cipher_setkey
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 69
    functionsReached:
    - fips_not_operational
    - _gcry_cipher_setkey
    - fips_service_indicator_init
    - fips_is_operational
    - gpg_error
    - gcry_error
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_cipher_setkey (gcry_cipher_hd_t hd, const void *key,
      size_t keylen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:761,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:762,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:762,1
    - Dst: gcry_error
      Src: /src/libgcrypt/src/visibility.c:764,1
    - Dst: _gcry_cipher_setiv
      Src: /src/libgcrypt/src/visibility.c:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hd
    - iv
    - ivlen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 765
    functionName: gcry_cipher_setiv
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 52
    functionsReached:
    - fips_not_operational
    - _gcry_cipher_setiv
    - fips_is_operational
    - gpg_error
    - gcry_error
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_cipher_setiv (gcry_cipher_hd_t hd, const void *iv,
      size_t ivlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:770,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:771,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:771,1
    - Dst: gcry_error
      Src: /src/libgcrypt/src/visibility.c:773,1
    - Dst: _gcry_cipher_setctr
      Src: /src/libgcrypt/src/visibility.c:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hd
    - ctr
    - ctrlen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 774
    functionName: gcry_cipher_setctr
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 5
    functionsReached:
    - fips_not_operational
    - fips_is_operational
    - gpg_error
    - gcry_error
    - _gcry_cipher_setctr
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gcry_cipher_setctr (gcry_cipher_hd_t hd, const void *ctr,
      size_t ctrlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_error
      Src: /src/libgcrypt/src/visibility.c:781,1
    - Dst: _gcry_cipher_setup_geniv
      Src: /src/libgcrypt/src/visibility.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - hd
    - method
    - fixed_iv
    - fixed_iv_len
    - dyn_iv
    - dyn_iv_len
    argTypes:
    - gcry_cipher_hd_t
    - int
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 784
    functionName: gcry_cipher_setup_geniv
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gcry_cipher_setup_geniv
    - gcry_error
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_cipher_setup_geniv (gcry_cipher_hd_t hd, int method,\n
      \                        const void *fixed_iv, size_t fixed_iv_len,\n                         const
      void *dyn_iv, size_t dyn_iv_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_error
      Src: /src/libgcrypt/src/visibility.c:789,1
    - Dst: _gcry_cipher_geniv
      Src: /src/libgcrypt/src/visibility.c:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hd
    - iv
    - iv_len
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 790
    functionName: gcry_cipher_geniv
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gcry_cipher_geniv
    - gcry_error
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_cipher_geniv (gcry_cipher_hd_t hd, void *iv, size_t
      iv_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:795,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:796,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:796,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:798,1
    - Dst: _gcry_cipher_authenticate
      Src: /src/libgcrypt/src/visibility.c:798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hd
    - abuf
    - abuflen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 799
    functionName: gcry_cipher_authenticate
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 19
    functionsReached:
    - gpg_error
    - _gcry_cipher_authenticate
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_cipher_authenticate (gcry_cipher_hd_t hd, const void
      *abuf, size_t abuflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:804,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:805,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:805,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:807,1
    - Dst: _gcry_cipher_gettag
      Src: /src/libgcrypt/src/visibility.c:807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hd
    - outtag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 808
    functionName: gcry_cipher_gettag
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 23
    functionsReached:
    - gpg_error
    - _gcry_cipher_gettag
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_cipher_gettag (gcry_cipher_hd_t hd, void *outtag,
      size_t taglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:813,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:814,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:814,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:816,1
    - Dst: _gcry_cipher_checktag
      Src: /src/libgcrypt/src/visibility.c:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hd
    - intag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 817
    functionName: gcry_cipher_checktag
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 17
    functionsReached:
    - _gcry_cipher_checktag
    - gpg_error
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_cipher_checktag (gcry_cipher_hd_t hd, const void
      *intag, size_t taglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:823,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:824,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:824,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:826,1
    - Dst: _gcry_cipher_ctl
      Src: /src/libgcrypt/src/visibility.c:826,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - h
    - cmd
    - buffer
    - buflen
    argTypes:
    - gcry_cipher_hd_t
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 827
    functionName: gcry_cipher_ctl
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 18
    functionsReached:
    - _gcry_cipher_ctl
    - gpg_error
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_cipher_ctl (gcry_cipher_hd_t h, int cmd, void *buffer,
      size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:832,1
    - Dst: _gcry_cipher_info
      Src: /src/libgcrypt/src/visibility.c:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - h
    - what
    - buffer
    - nbytes
    argTypes:
    - gcry_cipher_hd_t
    - int
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 833
    functionName: gcry_cipher_info
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 11
    functionsReached:
    - _gcry_cipher_info
    - gpg_error
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_cipher_info (gcry_cipher_hd_t h, int what, void *buffer,
      size_t *nbytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:838,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:839,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:839,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:841,1
    - Dst: _gcry_cipher_algo_info
      Src: /src/libgcrypt/src/visibility.c:841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - algo
    - what
    - buffer
    - nbytes
    argTypes:
    - int
    - int
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 842
    functionName: gcry_cipher_algo_info
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - _gcry_cipher_algo_info
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_cipher_algo_info (int algo, int what, void *buffer,
      size_t *nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_algo_name
      Src: /src/libgcrypt/src/visibility.c:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 848
    functionName: gcry_cipher_algo_name
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 32
    functionsReached:
    - _gcry_cipher_algo_name
    linkageType: ''
    returnType: char
    signature: 'char *

      gcry_cipher_algo_name (int algorithm)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_map_name
      Src: /src/libgcrypt/src/visibility.c:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 854
    functionName: gcry_cipher_map_name
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 13
    functionsReached:
    - _gcry_cipher_map_name
    linkageType: ''
    returnType: int
    signature: int gcry_cipher_map_name (const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_mode_from_oid
      Src: /src/libgcrypt/src/visibility.c:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 860
    functionName: gcry_cipher_mode_from_oid
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 6
    functionsReached:
    - _gcry_cipher_mode_from_oid
    linkageType: ''
    returnType: int
    signature: int gcry_cipher_mode_from_oid (const char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:867,1
    - Dst: memset
      Src: /src/libgcrypt/src/visibility.c:871,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:872,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:872,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:875,1
    - Dst: _gcry_cipher_encrypt
      Src: /src/libgcrypt/src/visibility.c:875,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - h
    - out
    - outsize
    - in
    - inlen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 876
    functionName: gcry_cipher_encrypt
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 59
    functionsReached:
    - fips_not_operational
    - fips_is_operational
    - gpg_error
    - memset
    - _gcry_cipher_encrypt
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_cipher_encrypt (gcry_cipher_hd_t h,\n                     void
      *out, size_t outsize,\n                     const void *in, size_t inlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:883,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:884,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:884,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:886,1
    - Dst: _gcry_cipher_decrypt
      Src: /src/libgcrypt/src/visibility.c:886,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - h
    - out
    - outsize
    - in
    - inlen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 887
    functionName: gcry_cipher_decrypt
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 53
    functionsReached:
    - gpg_error
    - _gcry_cipher_decrypt
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_cipher_decrypt (gcry_cipher_hd_t h,\n                     void
      *out, size_t outsize,\n                     const void *in, size_t inlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/src/visibility.c:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 893
    functionName: gcry_cipher_get_algo_keylen
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 33
    functionsReached:
    - _gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: size_t
    signature: size_t gcry_cipher_get_algo_keylen (int algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/src/visibility.c:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 899
    functionName: gcry_cipher_get_algo_blklen
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 24
    functionsReached:
    - _gcry_cipher_get_algo_blklen
    linkageType: ''
    returnType: size_t
    signature: size_t gcry_cipher_get_algo_blklen (int algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:904,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:905,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:905,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:907,1
    - Dst: _gcry_mac_algo_info
      Src: /src/libgcrypt/src/visibility.c:907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - algo
    - what
    - buffer
    - nbytes
    argTypes:
    - int
    - int
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 908
    functionName: gcry_mac_algo_info
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - _gcry_mac_algo_info
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_mac_algo_info (int algo, int what, void *buffer,
      size_t *nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mac_algo_name
      Src: /src/libgcrypt/src/visibility.c:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 914
    functionName: gcry_mac_algo_name
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 5
    functionsReached:
    - _gcry_mac_algo_name
    linkageType: ''
    returnType: char
    signature: 'char *

      gcry_mac_algo_name (int algorithm)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mac_map_name
      Src: /src/libgcrypt/src/visibility.c:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 920
    functionName: gcry_mac_map_name
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_mac_map_name
    linkageType: ''
    returnType: int
    signature: int gcry_mac_map_name (const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mac_get_algo
      Src: /src/libgcrypt/src/visibility.c:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 926
    functionName: gcry_mac_get_algo
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gcry_mac_get_algo
    linkageType: ''
    returnType: int
    signature: int gcry_mac_get_algo (gcry_mac_hd_t hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mac_get_algo_maclen
      Src: /src/libgcrypt/src/visibility.c:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 928
    functionDepth: 1
    functionLinenumber: 928
    functionLinenumberEnd: 932
    functionName: gcry_mac_get_algo_maclen
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gcry_mac_get_algo_maclen
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gcry_mac_get_algo_maclen (int algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mac_get_algo_keylen
      Src: /src/libgcrypt/src/visibility.c:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 938
    functionName: gcry_mac_get_algo_keylen
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_mac_get_algo_keylen
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gcry_mac_get_algo_keylen (int algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:944,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:947,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:947,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:949,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:950,1
    - Dst: _gcry_mac_open
      Src: /src/libgcrypt/src/visibility.c:950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - handle
    - algo
    - flags
    - ctx
    argTypes:
    - gcry_mac_hd_t*
    - int
    - unsigned int
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 951
    functionName: gcry_mac_open
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 7
    functionsReached:
    - fips_not_operational
    - fips_service_indicator_init
    - fips_is_operational
    - gpg_error
    - _gcry_mac_open
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_mac_open (gcry_mac_hd_t *handle, int algo, unsigned
      int flags,\n               gcry_ctx_t ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mac_close
      Src: /src/libgcrypt/src/visibility.c:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 957
    functionName: gcry_mac_close
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 7
    functionsReached:
    - _gcry_mac_close
    linkageType: ''
    returnType: void
    signature: void gcry_mac_close (gcry_mac_hd_t hd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:962,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:963,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:963,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:965,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/visibility.c:966,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/src/visibility.c:967,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:969,1
    - Dst: _gcry_mac_setkey
      Src: /src/libgcrypt/src/visibility.c:969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - hd
    - key
    - keylen
    argTypes:
    - gcry_mac_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 970
    functionName: gcry_mac_setkey
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 7
    functionsReached:
    - fips_service_indicator_mark_non_compliant
    - fips_not_operational
    - fips_service_indicator_init
    - fips_mode
    - fips_is_operational
    - _gcry_mac_setkey
    - gpg_error
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_mac_setkey (gcry_mac_hd_t hd, const void *key, size_t
      keylen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:975,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:976,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:976,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:978,1
    - Dst: _gcry_mac_setiv
      Src: /src/libgcrypt/src/visibility.c:978,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hd
    - iv
    - ivlen
    argTypes:
    - gcry_mac_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 979
    functionName: gcry_mac_setiv
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gcry_mac_setiv
    - gpg_error
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_mac_setiv (gcry_mac_hd_t hd, const void *iv, size_t
      ivlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:984,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:985,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:985,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:987,1
    - Dst: _gcry_mac_write
      Src: /src/libgcrypt/src/visibility.c:987,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hd
    - buf
    - buflen
    argTypes:
    - gcry_mac_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 988
    functionName: gcry_mac_write
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 7
    functionsReached:
    - gpg_error
    - _gcry_mac_write
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_mac_write (gcry_mac_hd_t hd, const void *buf, size_t
      buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:993,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:994,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:994,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:996,1
    - Dst: _gcry_mac_read
      Src: /src/libgcrypt/src/visibility.c:996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hd
    - outbuf
    - outlen
    argTypes:
    - gcry_mac_hd_t
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 997
    functionName: gcry_mac_read
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 7
    functionsReached:
    - gpg_error
    - _gcry_mac_read
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_mac_read (gcry_mac_hd_t hd, void *outbuf, size_t
      *outlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1002,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1003,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1003,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1005,1
    - Dst: _gcry_mac_verify
      Src: /src/libgcrypt/src/visibility.c:1005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hd
    - buf
    - buflen
    argTypes:
    - gcry_mac_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1006
    functionName: gcry_mac_verify
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_mac_verify
    - gpg_error
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_mac_verify (gcry_mac_hd_t hd, const void *buf, size_t
      buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1011,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1012,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1012,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1014,1
    - Dst: _gcry_mac_ctl
      Src: /src/libgcrypt/src/visibility.c:1014,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - h
    - cmd
    - buffer
    - buflen
    argTypes:
    - gcry_mac_hd_t
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1008
    functionDepth: 1
    functionLinenumber: 1008
    functionLinenumberEnd: 1015
    functionName: gcry_mac_ctl
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gcry_mac_ctl
    - gpg_error
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_mac_ctl (gcry_mac_hd_t h, int cmd, void *buffer,
      size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1020,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1023,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1023,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1025,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1026,1
    - Dst: _gcry_pk_encrypt
      Src: /src/libgcrypt/src/visibility.c:1026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - result
    - data
    - pkey
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1027
    functionName: gcry_pk_encrypt
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 12
    functionsReached:
    - fips_not_operational
    - _gcry_pk_encrypt
    - fips_service_indicator_init
    - fips_is_operational
    - gpg_error
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_pk_encrypt (gcry_sexp_t *result, gcry_sexp_t data,
      gcry_sexp_t pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1032,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1035,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1035,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1037,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1038,1
    - Dst: _gcry_pk_decrypt
      Src: /src/libgcrypt/src/visibility.c:1038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - result
    - data
    - skey
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1039
    functionName: gcry_pk_decrypt
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 8
    functionsReached:
    - fips_not_operational
    - fips_service_indicator_init
    - fips_is_operational
    - _gcry_pk_decrypt
    - gpg_error
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_pk_decrypt (gcry_sexp_t *result, gcry_sexp_t data,
      gcry_sexp_t skey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1044,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1047,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1047,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1049,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1050,1
    - Dst: _gcry_pk_sign
      Src: /src/libgcrypt/src/visibility.c:1050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - result
    - data
    - skey
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1051
    functionName: gcry_pk_sign
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 24
    functionsReached:
    - fips_not_operational
    - fips_service_indicator_init
    - fips_is_operational
    - gpg_error
    - _gcry_pk_sign
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_pk_sign (gcry_sexp_t *result, gcry_sexp_t data, gcry_sexp_t
      skey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1057,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1060,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1060,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1062,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1063,1
    - Dst: _gcry_pk_sign_md
      Src: /src/libgcrypt/src/visibility.c:1063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - result
    - data_tmpl
    - skey
    - hd
    - ctx
    argTypes:
    - gcry_sexp_t*
    - char*
    - gcry_sexp_t
    - gcry_md_hd_t
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1064
    functionName: gcry_pk_hash_sign
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 7
    functionsReached:
    - fips_not_operational
    - _gcry_pk_sign_md
    - fips_service_indicator_init
    - fips_is_operational
    - gpg_error
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_pk_hash_sign (gcry_sexp_t *result, const char *data_tmpl,
      gcry_sexp_t skey,\n                   gcry_md_hd_t hd, gcry_ctx_t ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1069,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1070,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1070,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1071,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1072,1
    - Dst: _gcry_pk_verify
      Src: /src/libgcrypt/src/visibility.c:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sigval
    - data
    - pkey
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1073
    functionName: gcry_pk_verify
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 27
    functionsReached:
    - _gcry_pk_verify
    - fips_not_operational
    - fips_service_indicator_init
    - fips_is_operational
    - gpg_error
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_pk_verify (gcry_sexp_t sigval, gcry_sexp_t data,
      gcry_sexp_t pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1079,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1080,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1080,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1081,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1082,1
    - Dst: _gcry_pk_verify_md
      Src: /src/libgcrypt/src/visibility.c:1082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - sigval
    - data_tmpl
    - pkey
    - hd
    - ctx
    argTypes:
    - gcry_sexp_t
    - char*
    - gcry_sexp_t
    - gcry_md_hd_t
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1075
    functionDepth: 1
    functionLinenumber: 1075
    functionLinenumberEnd: 1083
    functionName: gcry_pk_hash_verify
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 7
    functionsReached:
    - fips_not_operational
    - fips_service_indicator_init
    - fips_is_operational
    - gpg_error
    - _gcry_pk_verify_md
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_pk_hash_verify (gcry_sexp_t sigval, const char *data_tmpl,
      gcry_sexp_t pkey,\n                     gcry_md_hd_t hd, gcry_ctx_t ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1088,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1089,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1089,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1090,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/visibility.c:1092,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/src/visibility.c:1094,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1095,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/src/visibility.c:1097,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1100,1
    - Dst: _gcry_pk_single_data_push
      Src: /src/libgcrypt/src/visibility.c:1100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - r_ctx
    - p
    - len
    argTypes:
    - gcry_ctx_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1101
    functionName: gcry_pk_random_override_new
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 4
    functionsReached:
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - fips_not_operational
    - fips_service_indicator_init
    - fips_mode
    - fips_is_operational
    - gpg_error
    - _gcry_pk_single_data_push
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_pk_random_override_new (gcry_ctx_t *r_ctx, const
      unsigned char *p, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1106,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1107,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1107,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1108,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1109,1
    - Dst: _gcry_pk_testkey
      Src: /src/libgcrypt/src/visibility.c:1109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1103
    functionDepth: 1
    functionLinenumber: 1103
    functionLinenumberEnd: 1110
    functionName: gcry_pk_testkey
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 10
    functionsReached:
    - _gcry_pk_testkey
    - fips_not_operational
    - fips_service_indicator_init
    - fips_is_operational
    - gpg_error
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_pk_testkey (gcry_sexp_t key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1115,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1118,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1118,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1120,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1121,1
    - Dst: _gcry_pk_genkey
      Src: /src/libgcrypt/src/visibility.c:1121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - r_key
    - s_parms
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1112
    functionDepth: 1
    functionLinenumber: 1112
    functionLinenumberEnd: 1122
    functionName: gcry_pk_genkey
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 34
    functionsReached:
    - fips_not_operational
    - fips_service_indicator_init
    - fips_is_operational
    - gpg_error
    - _gcry_pk_genkey
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_pk_genkey (gcry_sexp_t *r_key, gcry_sexp_t s_parms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1127,1
    - Dst: _gcry_pk_ctl
      Src: /src/libgcrypt/src/visibility.c:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - buffer
    - buflen
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1124
    functionDepth: 1
    functionLinenumber: 1124
    functionLinenumberEnd: 1128
    functionName: gcry_pk_ctl
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - gpg_error
    - _gcry_pk_ctl
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_pk_ctl (int cmd, void *buffer, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1133,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1134,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1134,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1136,1
    - Dst: _gcry_pk_algo_info
      Src: /src/libgcrypt/src/visibility.c:1136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - algo
    - what
    - buffer
    - nbytes
    argTypes:
    - int
    - int
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1137
    functionName: gcry_pk_algo_info
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gcry_pk_algo_info
    - gpg_error
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_pk_algo_info (int algo, int what, void *buffer, size_t
      *nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_pk_algo_name
      Src: /src/libgcrypt/src/visibility.c:1142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1143
    functionName: gcry_pk_algo_name
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 9
    functionsReached:
    - _gcry_pk_algo_name
    linkageType: ''
    returnType: char
    signature: 'char *

      gcry_pk_algo_name (int algorithm)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_pk_map_name
      Src: /src/libgcrypt/src/visibility.c:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1145
    functionDepth: 1
    functionLinenumber: 1145
    functionLinenumberEnd: 1149
    functionName: gcry_pk_map_name
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 16
    functionsReached:
    - _gcry_pk_map_name
    linkageType: ''
    returnType: int
    signature: int gcry_pk_map_name (const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1154,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1156,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1159,1
    - Dst: _gcry_pk_get_nbits
      Src: /src/libgcrypt/src/visibility.c:1160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1161
    functionName: gcry_pk_get_nbits
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 24
    functionsReached:
    - _gcry_pk_get_nbits
    - fips_service_indicator_init
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gcry_pk_get_nbits (gcry_sexp_t key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1166,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1168,1
    - Dst: _gcry_pk_get_keygrip
      Src: /src/libgcrypt/src/visibility.c:1171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - array
    argTypes:
    - gcry_sexp_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1172
    functionName: gcry_pk_get_keygrip
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 22
    functionsReached:
    - _gcry_pk_get_keygrip
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      gcry_pk_get_keygrip (gcry_sexp_t key, unsigned char *array)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1177,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1179,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1182,1
    - Dst: _gcry_pk_get_curve
      Src: /src/libgcrypt/src/visibility.c:1183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - key
    - iterator
    - r_nbits
    argTypes:
    - gcry_sexp_t
    - int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1174
    functionDepth: 1
    functionLinenumber: 1174
    functionLinenumberEnd: 1184
    functionName: gcry_pk_get_curve
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 13
    functionsReached:
    - _gcry_pk_get_curve
    - fips_service_indicator_init
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: char
    signature: 'char *

      gcry_pk_get_curve (gcry_sexp_t key, int iterator, unsigned int *r_nbits)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1189,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1191,1
    - Dst: _gcry_pk_get_param
      Src: /src/libgcrypt/src/visibility.c:1194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - algo
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1186
    functionDepth: 1
    functionLinenumber: 1186
    functionLinenumberEnd: 1195
    functionName: gcry_pk_get_param
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_pk_get_param
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t gcry_pk_get_param (int algo, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1200,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1203,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1203,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1205,1
    - Dst: _gcry_pubkey_get_sexp
      Src: /src/libgcrypt/src/visibility.c:1205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - r_sexp
    - mode
    - ctx
    argTypes:
    - gcry_sexp_t*
    - int
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1206
    functionName: gcry_pubkey_get_sexp
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_pubkey_get_sexp
    - gpg_error
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_pubkey_get_sexp (gcry_sexp_t *r_sexp, int mode, gcry_ctx_t
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ecc_get_algo_keylen
      Src: /src/libgcrypt/src/visibility.c:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curveid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1212
    functionName: gcry_ecc_get_algo_keylen
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_ecc_get_algo_keylen
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gcry_ecc_get_algo_keylen (int curveid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1218,1
    - Dst: _gcry_ecc_mul_point
      Src: /src/libgcrypt/src/visibility.c:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - curveid
    - result
    - scalar
    - point
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1214
    functionDepth: 1
    functionLinenumber: 1214
    functionLinenumberEnd: 1219
    functionName: gcry_ecc_mul_point
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 5
    functionsReached:
    - gpg_error
    - _gcry_ecc_mul_point
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gcry_ecc_mul_point (int curveid, unsigned char *result,\n
      \                   const unsigned char *scalar, const unsigned char *point)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1224,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1227,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1227,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1229,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1230,1
    - Dst: _gcry_md_open
      Src: /src/libgcrypt/src/visibility.c:1230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - h
    - algo
    - flags
    argTypes:
    - gcry_md_hd_t*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1221
    functionDepth: 1
    functionLinenumber: 1221
    functionLinenumberEnd: 1231
    functionName: gcry_md_open
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 55
    functionsReached:
    - fips_not_operational
    - fips_service_indicator_init
    - _gcry_md_open
    - fips_is_operational
    - gpg_error
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_md_open (gcry_md_hd_t *h, int algo, unsigned int
      flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/src/visibility.c:1236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1233
    functionDepth: 1
    functionLinenumber: 1233
    functionLinenumberEnd: 1237
    functionName: gcry_md_close
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 58
    functionsReached:
    - _gcry_md_close
    linkageType: ''
    returnType: void
    signature: void gcry_md_close (gcry_md_hd_t hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1242,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1243,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1243,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1244,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1245,1
    - Dst: _gcry_md_enable
      Src: /src/libgcrypt/src/visibility.c:1245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hd
    - algo
    argTypes:
    - gcry_md_hd_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1239
    functionDepth: 1
    functionLinenumber: 1239
    functionLinenumberEnd: 1246
    functionName: gcry_md_enable
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 11
    functionsReached:
    - fips_not_operational
    - fips_service_indicator_init
    - fips_is_operational
    - _gcry_md_enable
    - gpg_error
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_md_enable (gcry_md_hd_t hd, int algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1251,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1254,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1254,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1256,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1257,1
    - Dst: _gcry_md_copy
      Src: /src/libgcrypt/src/visibility.c:1257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - bhd
    - ahd
    argTypes:
    - gcry_md_hd_t*
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1248
    functionDepth: 1
    functionLinenumber: 1248
    functionLinenumberEnd: 1258
    functionName: gcry_md_copy
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 6
    functionsReached:
    - _gcry_md_copy
    - fips_not_operational
    - fips_service_indicator_init
    - fips_is_operational
    - gpg_error
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_md_copy (gcry_md_hd_t *bhd, gcry_md_hd_t ahd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_reset
      Src: /src/libgcrypt/src/visibility.c:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1260
    functionDepth: 1
    functionLinenumber: 1260
    functionLinenumberEnd: 1264
    functionName: gcry_md_reset
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 9
    functionsReached:
    - _gcry_md_reset
    linkageType: ''
    returnType: void
    signature: void gcry_md_reset (gcry_md_hd_t hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1269,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1270,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1270,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1271,1
    - Dst: _gcry_md_ctl
      Src: /src/libgcrypt/src/visibility.c:1271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - hd
    - cmd
    - buffer
    - buflen
    argTypes:
    - gcry_md_hd_t
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1272
    functionName: gcry_md_ctl
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - gpg_error
    - _gcry_md_ctl
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_md_ctl (gcry_md_hd_t hd, int cmd, void *buffer, size_t
      buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1277,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1279,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/src/visibility.c:1282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - hd
    - buffer
    - length
    argTypes:
    - gcry_md_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1274
    functionDepth: 1
    functionLinenumber: 1274
    functionLinenumberEnd: 1283
    functionName: gcry_md_write
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 47
    functionsReached:
    - _gcry_md_write
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: void
    signature: void gcry_md_write (gcry_md_hd_t hd, const void *buffer, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/src/visibility.c:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hd
    - algo
    argTypes:
    - gcry_md_hd_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1285
    functionDepth: 1
    functionLinenumber: 1285
    functionLinenumberEnd: 1289
    functionName: gcry_md_read
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 45
    functionsReached:
    - _gcry_md_read
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      gcry_md_read (gcry_md_hd_t hd, int algo)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1294,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1295,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1295,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1296,1
    - Dst: _gcry_md_extract
      Src: /src/libgcrypt/src/visibility.c:1296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - hd
    - algo
    - buffer
    - length
    argTypes:
    - gcry_md_hd_t
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1297
    functionName: gcry_md_extract
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gcry_md_extract
    - gpg_error
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_md_extract (gcry_md_hd_t hd, int algo, void *buffer,
      size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1303,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1305,1
    - Dst: fips_signal_error
      Src: /src/libgcrypt/src/visibility.c:1306,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1308,1
    - Dst: _gcry_md_hash_buffer
      Src: /src/libgcrypt/src/visibility.c:1309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - algo
    - digest
    - buffer
    - length
    argTypes:
    - int
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1310
    functionName: gcry_md_hash_buffer
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 52
    functionsReached:
    - fips_not_operational
    - fips_service_indicator_init
    - fips_is_operational
    - fips_signal_error
    - _gcry_md_hash_buffer
    linkageType: ''
    returnType: void
    signature: "void gcry_md_hash_buffer (int algo, void *digest,\n                     const
      void *buffer, size_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1316,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1318,1
    - Dst: fips_signal_error
      Src: /src/libgcrypt/src/visibility.c:1319,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1321,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1322,1
    - Dst: _gcry_md_hash_buffers
      Src: /src/libgcrypt/src/visibility.c:1322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - algo
    - flags
    - digest
    - iov
    - iovcnt
    argTypes:
    - int
    - unsigned int
    - void*
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1312
    functionDepth: 1
    functionLinenumber: 1312
    functionLinenumberEnd: 1323
    functionName: gcry_md_hash_buffers
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 6
    functionsReached:
    - fips_not_operational
    - fips_service_indicator_init
    - fips_is_operational
    - gpg_error
    - fips_signal_error
    - _gcry_md_hash_buffers
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gcry_md_hash_buffers (int algo, unsigned int flags, void
      *digest,\n                      const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1330,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1332,1
    - Dst: fips_signal_error
      Src: /src/libgcrypt/src/visibility.c:1333,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1335,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1336,1
    - Dst: _gcry_md_hash_buffers_extract
      Src: /src/libgcrypt/src/visibility.c:1336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - algo
    - flags
    - digest
    - digestlen
    - iov
    - iovcnt
    argTypes:
    - int
    - unsigned int
    - void*
    - int
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1338
    functionName: gcry_md_hash_buffers_ext
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - fips_not_operational
    - _gcry_md_hash_buffers_extract
    - fips_service_indicator_init
    - fips_is_operational
    - gpg_error
    - fips_signal_error
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gcry_md_hash_buffers_ext (int algo, unsigned int flags,
      void *digest,\n                          int digestlen, const gcry_buffer_t
      *iov,\n                          int iovcnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1343,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1345,1
    - Dst: fips_signal_error
      Src: /src/libgcrypt/src/visibility.c:1346,1
    - Dst: _gcry_md_get_algo
      Src: /src/libgcrypt/src/visibility.c:1349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - hd
    argTypes:
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1340
    functionDepth: 1
    functionLinenumber: 1340
    functionLinenumberEnd: 1350
    functionName: gcry_md_get_algo
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 6
    functionsReached:
    - fips_signal_error
    - _gcry_md_get_algo
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: int
    signature: int gcry_md_get_algo (gcry_md_hd_t hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/src/visibility.c:1355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1356
    functionName: gcry_md_get_algo_dlen
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 56
    functionsReached:
    - _gcry_md_get_algo_dlen
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gcry_md_get_algo_dlen (int algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1361,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1363,1
    - Dst: _gcry_md_is_enabled
      Src: /src/libgcrypt/src/visibility.c:1367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - algo
    argTypes:
    - gcry_md_hd_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1358
    functionDepth: 1
    functionLinenumber: 1358
    functionLinenumberEnd: 1368
    functionName: gcry_md_is_enabled
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gcry_md_is_enabled
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: int
    signature: int gcry_md_is_enabled (gcry_md_hd_t a, int algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_is_secure
      Src: /src/libgcrypt/src/visibility.c:1373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1370
    functionDepth: 1
    functionLinenumber: 1370
    functionLinenumberEnd: 1374
    functionName: gcry_md_is_secure
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gcry_md_is_secure
    linkageType: ''
    returnType: int
    signature: int gcry_md_is_secure (gcry_md_hd_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1379,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1380,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1380,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1382,1
    - Dst: _gcry_md_info
      Src: /src/libgcrypt/src/visibility.c:1382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - h
    - what
    - buffer
    - nbytes
    argTypes:
    - gcry_md_hd_t
    - int
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1376
    functionDepth: 1
    functionLinenumber: 1376
    functionLinenumberEnd: 1383
    functionName: gcry_md_info
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - _gcry_md_info
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_md_info (gcry_md_hd_t h, int what, void *buffer,
      size_t *nbytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1388,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1389,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1389,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1390,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1391,1
    - Dst: _gcry_md_algo_info
      Src: /src/libgcrypt/src/visibility.c:1391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - algo
    - what
    - buffer
    - nbytes
    argTypes:
    - int
    - int
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1385
    functionDepth: 1
    functionLinenumber: 1385
    functionLinenumberEnd: 1392
    functionName: gcry_md_algo_info
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 5
    functionsReached:
    - fips_not_operational
    - fips_service_indicator_init
    - fips_is_operational
    - gpg_error
    - _gcry_md_algo_info
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_md_algo_info (int algo, int what, void *buffer, size_t
      *nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_algo_name
      Src: /src/libgcrypt/src/visibility.c:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1398
    functionName: gcry_md_algo_name
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 43
    functionsReached:
    - _gcry_md_algo_name
    linkageType: ''
    returnType: char
    signature: 'char *

      gcry_md_algo_name (int algo)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_map_name
      Src: /src/libgcrypt/src/visibility.c:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1404
    functionName: gcry_md_map_name
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 27
    functionsReached:
    - _gcry_md_map_name
    linkageType: ''
    returnType: int
    signature: int gcry_md_map_name (const char* name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1409,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1410,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1410,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1412,1
    - Dst: fips_mode
      Src: /src/libgcrypt/src/visibility.c:1413,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/src/visibility.c:1414,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1416,1
    - Dst: _gcry_md_setkey
      Src: /src/libgcrypt/src/visibility.c:1416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - hd
    - key
    - keylen
    argTypes:
    - gcry_md_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1417
    functionName: gcry_md_setkey
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 7
    functionsReached:
    - fips_service_indicator_mark_non_compliant
    - fips_not_operational
    - fips_service_indicator_init
    - fips_mode
    - fips_is_operational
    - gpg_error
    - _gcry_md_setkey
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_md_setkey (gcry_md_hd_t hd, const void *key, size_t
      keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_debug
      Src: /src/libgcrypt/src/visibility.c:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hd
    - suffix
    argTypes:
    - gcry_md_hd_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1419
    functionDepth: 1
    functionLinenumber: 1419
    functionLinenumberEnd: 1423
    functionName: gcry_md_debug
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 15
    functionsReached:
    - _gcry_md_debug
    linkageType: ''
    returnType: void
    signature: void gcry_md_debug (gcry_md_hd_t hd, const char *suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1432,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1433,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1433,1
    - Dst: fips_service_indicator_init
      Src: /src/libgcrypt/src/visibility.c:1434,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1435,1
    - Dst: _gcry_kdf_derive
      Src: /src/libgcrypt/src/visibility.c:1435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 9
    argNames:
    - passphrase
    - passphraselen
    - algo
    - hashalgo
    - salt
    - saltlen
    - iterations
    - keysize
    - keybuffer
    argTypes:
    - void*
    - size_t
    - int
    - int
    - void*
    - size_t
    - unsigned long
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1425
    functionDepth: 1
    functionLinenumber: 1425
    functionLinenumberEnd: 1438
    functionName: gcry_kdf_derive
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 14
    functionsReached:
    - fips_not_operational
    - fips_service_indicator_init
    - fips_is_operational
    - gpg_error
    - _gcry_kdf_derive
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gcry_kdf_derive (const void *passphrase, size_t passphraselen,\n
      \                int algo, int hashalgo,\n                 const void *salt,
      size_t saltlen,\n                 unsigned long iterations,\n                 size_t
      keysize, void *keybuffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1448,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1449,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1449,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1450,1
    - Dst: _gcry_kdf_open
      Src: /src/libgcrypt/src/visibility.c:1450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 13
    argNames:
    - hd
    - algo
    - subalgo
    - param
    - paramlen
    - passphrase
    - passphraselen
    - salt
    - saltlen
    - key
    - keylen
    - ad
    - adlen
    argTypes:
    - gcry_kdf_hd_t*
    - int
    - int
    - unsigned long*
    - unsigned int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1440
    functionDepth: 1
    functionLinenumber: 1440
    functionLinenumberEnd: 1453
    functionName: gcry_kdf_open
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - gpg_error
    - _gcry_kdf_open
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t gcry_kdf_open (gcry_kdf_hd_t *hd, int algo, int subalgo,\n
      \              const unsigned long *param, unsigned int paramlen,\n               const
      void *passphrase, size_t passphraselen,\n               const void *salt, size_t
      saltlen,\n               const void *key, size_t keylen,\n               const
      void *ad, size_t adlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1458,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1459,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1459,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1460,1
    - Dst: _gcry_kdf_compute
      Src: /src/libgcrypt/src/visibility.c:1460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - ops
    argTypes:
    - gcry_kdf_hd_t
    - struct gcry_kdf_thread_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1461
    functionName: gcry_kdf_compute
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_kdf_compute
    - gpg_error
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_kdf_compute (gcry_kdf_hd_t h, const struct gcry_kdf_thread_ops
      *ops)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1466,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1467,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1467,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1468,1
    - Dst: _gcry_kdf_final
      Src: /src/libgcrypt/src/visibility.c:1468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - h
    - resultlen
    - result
    argTypes:
    - gcry_kdf_hd_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1463
    functionDepth: 1
    functionLinenumber: 1463
    functionLinenumberEnd: 1469
    functionName: gcry_kdf_final
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - gpg_error
    - _gcry_kdf_final
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_kdf_final (gcry_kdf_hd_t h, size_t resultlen, void
      *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_kdf_close
      Src: /src/libgcrypt/src/visibility.c:1474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_kdf_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1475
    functionName: gcry_kdf_close
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_kdf_close
    linkageType: ''
    returnType: void
    signature: void gcry_kdf_close (gcry_kdf_hd_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1483,1
    - Dst: _gcry_kem_genkey
      Src: /src/libgcrypt/src/visibility.c:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - algo
    - pubkey
    - pubkey_len
    - seckey
    - seckey_len
    - optional
    - optional_len
    argTypes:
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1487
    functionName: gcry_kem_genkey
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 9
    functionsReached:
    - gpg_error
    - _gcry_kem_genkey
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_kem_genkey (int algo,\n                  void *pubkey,
      size_t pubkey_len,\n                  void *seckey, size_t seckey_len,\n                  const
      void *optional, size_t optional_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1494,1
    - Dst: _gcry_kem_genkey
      Src: /src/libgcrypt/src/visibility.c:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - algo
    - pubkey
    - pubkey_len
    - seckey
    - seckey_len
    argTypes:
    - int
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1498
    functionName: gcry_kem_keypair
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - _gcry_kem_genkey
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_kem_keypair (int algo,\n                  void *pubkey,
      size_t pubkey_len,\n                  void *seckey, size_t seckey_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1507,1
    - Dst: _gcry_kem_encap
      Src: /src/libgcrypt/src/visibility.c:1507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - algo
    - pubkey
    - pubkey_len
    - ciphertext
    - ciphertext_len
    - shared
    - shared_len
    - optional
    - optional_len
    argTypes:
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1500
    functionDepth: 1
    functionLinenumber: 1500
    functionLinenumberEnd: 1512
    functionName: gcry_kem_encap
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 13
    functionsReached:
    - gpg_error
    - _gcry_kem_encap
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_kem_encap (int algo,\n                const void
      *pubkey, size_t pubkey_len,\n                void *ciphertext, size_t ciphertext_len,\n
      \               void *shared, size_t shared_len,\n                const void
      *optional, size_t optional_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1521,1
    - Dst: _gcry_kem_decap
      Src: /src/libgcrypt/src/visibility.c:1521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - algo
    - seckey
    - seckey_len
    - ciphertext
    - ciphertext_len
    - shared
    - shared_len
    - optional
    - optional_len
    argTypes:
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1514
    functionDepth: 1
    functionLinenumber: 1514
    functionLinenumberEnd: 1526
    functionName: gcry_kem_decap
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 12
    functionsReached:
    - gpg_error
    - _gcry_kem_decap
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_kem_decap (int algo,\n                const void
      *seckey, size_t seckey_len,\n                const void *ciphertext, size_t
      ciphertext_len,\n                void *shared, size_t shared_len,\n                const
      void *optional, size_t optional_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1531,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1533,1
    - Dst: fips_signal_fatal_error
      Src: /src/libgcrypt/src/visibility.c:1534,1
    - Dst: fips_noreturn
      Src: /src/libgcrypt/src/visibility.c:1535,1
    - Dst: _gcry_randomize
      Src: /src/libgcrypt/src/visibility.c:1537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - buffer
    - length
    - level
    argTypes:
    - void*
    - size_t
    - enum gcry_random_level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1528
    functionDepth: 1
    functionLinenumber: 1528
    functionLinenumberEnd: 1538
    functionName: gcry_randomize
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 22
    functionsReached:
    - fips_not_operational
    - fips_signal_fatal_error
    - fips_is_operational
    - _gcry_randomize
    - fips_noreturn
    linkageType: ''
    returnType: void
    signature: void gcry_randomize (void *buffer, size_t length, enum gcry_random_level
      level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1543,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1544,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1544,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1545,1
    - Dst: _gcry_random_add_bytes
      Src: /src/libgcrypt/src/visibility.c:1545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - buffer
    - length
    - quality
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1546
    functionName: gcry_random_add_bytes
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - gpg_error
    - _gcry_random_add_bytes
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_random_add_bytes (const void *buffer, size_t length,
      int quality)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1551,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1553,1
    - Dst: fips_signal_fatal_error
      Src: /src/libgcrypt/src/visibility.c:1554,1
    - Dst: fips_noreturn
      Src: /src/libgcrypt/src/visibility.c:1555,1
    - Dst: _gcry_random_bytes
      Src: /src/libgcrypt/src/visibility.c:1558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - nbytes
    - level
    argTypes:
    - size_t
    - enum gcry_random_level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1548
    functionDepth: 1
    functionLinenumber: 1548
    functionLinenumberEnd: 1559
    functionName: gcry_random_bytes
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 5
    functionsReached:
    - fips_not_operational
    - fips_signal_fatal_error
    - fips_is_operational
    - fips_noreturn
    - _gcry_random_bytes
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_random_bytes (size_t nbytes, enum gcry_random_level level)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1564,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1566,1
    - Dst: fips_signal_fatal_error
      Src: /src/libgcrypt/src/visibility.c:1567,1
    - Dst: fips_noreturn
      Src: /src/libgcrypt/src/visibility.c:1568,1
    - Dst: _gcry_random_bytes_secure
      Src: /src/libgcrypt/src/visibility.c:1571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - nbytes
    - level
    argTypes:
    - size_t
    - enum gcry_random_level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1572
    functionName: gcry_random_bytes_secure
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 4
    functionsReached:
    - fips_not_operational
    - fips_signal_fatal_error
    - fips_is_operational
    - _gcry_random_bytes_secure
    - fips_noreturn
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_random_bytes_secure (size_t nbytes, enum gcry_random_level level)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1578,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1580,1
    - Dst: fips_signal_fatal_error
      Src: /src/libgcrypt/src/visibility.c:1581,1
    - Dst: fips_noreturn
      Src: /src/libgcrypt/src/visibility.c:1582,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/src/visibility.c:1585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - w
    - nbits
    - level
    argTypes:
    - gcry_mpi_t
    - unsigned int
    - enum gcry_random_level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1574
    functionDepth: 1
    functionLinenumber: 1574
    functionLinenumberEnd: 1586
    functionName: gcry_mpi_randomize
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 14
    functionsReached:
    - fips_not_operational
    - fips_signal_fatal_error
    - fips_is_operational
    - _gcry_mpi_randomize
    - fips_noreturn
    linkageType: ''
    returnType: void
    signature: "void gcry_mpi_randomize (gcry_mpi_t w,\n                    unsigned
      int nbits, enum gcry_random_level level)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1591,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1593,1
    - Dst: fips_signal_fatal_error
      Src: /src/libgcrypt/src/visibility.c:1594,1
    - Dst: fips_noreturn
      Src: /src/libgcrypt/src/visibility.c:1595,1
    - Dst: _gcry_create_nonce
      Src: /src/libgcrypt/src/visibility.c:1597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1598
    functionName: gcry_create_nonce
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 22
    functionsReached:
    - fips_not_operational
    - fips_signal_fatal_error
    - fips_is_operational
    - _gcry_create_nonce
    - fips_noreturn
    linkageType: ''
    returnType: void
    signature: void gcry_create_nonce (void *buffer, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1610,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1611,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1611,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1612,1
    - Dst: _gcry_prime_generate
      Src: /src/libgcrypt/src/visibility.c:1612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - prime
    - prime_bits
    - factor_bits
    - factors
    - cb_func
    - cb_arg
    - random_level
    - flags
    argTypes:
    - gcry_mpi_t*
    - unsigned int
    - unsigned int
    - gcry_mpi_t**
    - gcry_prime_check_func_t
    - void*
    - gcry_random_level_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1600
    functionDepth: 1
    functionLinenumber: 1600
    functionLinenumberEnd: 1615
    functionName: gcry_prime_generate
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - gpg_error
    - _gcry_prime_generate
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_prime_generate (gcry_mpi_t *prime,\n                     unsigned
      int prime_bits,\n                     unsigned int factor_bits,\n                     gcry_mpi_t
      **factors,\n                     gcry_prime_check_func_t cb_func,\n                     void
      *cb_arg,\n                     gcry_random_level_t random_level,\n                     unsigned
      int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_is_operational
      Src: /src/libgcrypt/src/visibility.c:1622,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1623,1
    - Dst: fips_not_operational
      Src: /src/libgcrypt/src/visibility.c:1623,1
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1624,1
    - Dst: _gcry_prime_group_generator
      Src: /src/libgcrypt/src/visibility.c:1624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - r_g
    - prime
    - factors
    - start_g
    argTypes:
    - gcry_mpi_t*
    - gcry_mpi_t
    - gcry_mpi_t*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1625
    functionName: gcry_prime_group_generator
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gcry_prime_group_generator
    - gpg_error
    - fips_is_operational
    - fips_not_operational
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_prime_group_generator (gcry_mpi_t *r_g,\n                            gcry_mpi_t
      prime, gcry_mpi_t *factors,\n                            gcry_mpi_t start_g)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_prime_release_factors
      Src: /src/libgcrypt/src/visibility.c:1630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - factors
    argTypes:
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1627
    functionDepth: 1
    functionLinenumber: 1627
    functionLinenumberEnd: 1631
    functionName: gcry_prime_release_factors
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gcry_prime_release_factors
    linkageType: ''
    returnType: void
    signature: void gcry_prime_release_factors (gcry_mpi_t *factors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/src/visibility.c:1636,1
    - Dst: _gcry_prime_check
      Src: /src/libgcrypt/src/visibility.c:1636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - flags
    argTypes:
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1633
    functionDepth: 1
    functionLinenumber: 1633
    functionLinenumberEnd: 1637
    functionName: gcry_prime_check
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_prime_check
    - gpg_error
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_prime_check (gcry_mpi_t x, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctx_release
      Src: /src/libgcrypt/src/visibility.c:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1639
    functionDepth: 3
    functionLinenumber: 1639
    functionLinenumberEnd: 1643
    functionName: gcry_ctx_release
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 19
    functionsReached:
    - _gcry_ctx_release
    linkageType: ''
    returnType: void
    signature: void gcry_ctx_release (gcry_ctx_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgcrypt/src/visibility.c:1650,1
    - Dst: _gcry_logv
      Src: /src/libgcrypt/src/visibility.c:1651,1
    - Dst: va_end
      Src: /src/libgcrypt/src/visibility.c:1652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1645
    functionDepth: 2
    functionLinenumber: 1645
    functionLinenumberEnd: 1653
    functionName: gcry_log_debug
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 4
    functionsReached:
    - va_end
    - _gcry_logv
    - va_start
    linkageType: ''
    returnType: void
    signature: void gcry_log_debug (const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_log_printhex
      Src: /src/libgcrypt/src/visibility.c:1658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - text
    - buffer
    - length
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1655
    functionDepth: 2
    functionLinenumber: 1655
    functionLinenumberEnd: 1659
    functionName: gcry_log_debughex
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gcry_log_printhex
    linkageType: ''
    returnType: void
    signature: void gcry_log_debughex (const char *text, const void *buffer, size_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_log_printmpi
      Src: /src/libgcrypt/src/visibility.c:1664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - text
    - mpi
    argTypes:
    - char*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1661
    functionDepth: 2
    functionLinenumber: 1661
    functionLinenumberEnd: 1665
    functionName: gcry_log_debugmpi
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_log_printmpi
    linkageType: ''
    returnType: void
    signature: void gcry_log_debugmpi (const char *text, gcry_mpi_t mpi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctx_get_pointer
      Src: /src/libgcrypt/src/visibility.c:1670,1
    - Dst: _gcry_mpi_point_log
      Src: /src/libgcrypt/src/visibility.c:1672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - text
    - point
    - ctx
    argTypes:
    - char*
    - mpi_point_t
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1667
    functionDepth: 3
    functionLinenumber: 1667
    functionLinenumberEnd: 1673
    functionName: gcry_log_debugpnt
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_point_log
    - _gcry_ctx_get_pointer
    linkageType: ''
    returnType: void
    signature: void gcry_log_debugpnt (const char *text, mpi_point_t point, gcry_ctx_t
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_log_printsxp
      Src: /src/libgcrypt/src/visibility.c:1678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - text
    - sexp
    argTypes:
    - char*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1675
    functionDepth: 2
    functionLinenumber: 1675
    functionLinenumberEnd: 1679
    functionName: gcry_log_debugsxp
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 6
    functionsReached:
    - _gcry_log_printsxp
    linkageType: ''
    returnType: void
    signature: void gcry_log_debugsxp (const char *text, gcry_sexp_t sexp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_config
      Src: /src/libgcrypt/src/visibility.c:1684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mode
    - what
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1681
    functionDepth: 11
    functionLinenumber: 1681
    functionLinenumberEnd: 1685
    functionName: gcry_get_config
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 11
    functionsReached:
    - _gcry_get_config
    linkageType: ''
    returnType: char
    signature: 'char *

      gcry_get_config (int mode, const char *what)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_set_progress_handler
      Src: /src/libgcrypt/src/visibility.c:1690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cb
    - cb_data
    argTypes:
    - gcry_handler_progress_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1687
    functionDepth: 2
    functionLinenumber: 1687
    functionLinenumberEnd: 1691
    functionName: gcry_set_progress_handler
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 9
    functionsReached:
    - _gcry_set_progress_handler
    linkageType: ''
    returnType: void
    signature: void gcry_set_progress_handler (gcry_handler_progress_t cb, void *cb_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_set_allocation_handler
      Src: /src/libgcrypt/src/visibility.c:1700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - func_alloc
    - func_alloc_secure
    - func_secure_check
    - func_realloc
    - func_free
    argTypes:
    - gcry_handler_alloc_t
    - gcry_handler_alloc_t
    - gcry_handler_secure_check_t
    - gcry_handler_realloc_t
    - gcry_handler_free_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1693
    functionDepth: 6
    functionLinenumber: 1693
    functionLinenumberEnd: 1702
    functionName: gcry_set_allocation_handler
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gcry_set_allocation_handler
    linkageType: ''
    returnType: void
    signature: "void gcry_set_allocation_handler (gcry_handler_alloc_t func_alloc,\n
      \                            gcry_handler_alloc_t func_alloc_secure,\n                             gcry_handler_secure_check_t
      func_secure_check,\n                             gcry_handler_realloc_t func_realloc,\n
      \                            gcry_handler_free_t func_free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_set_outofcore_handler
      Src: /src/libgcrypt/src/visibility.c:1707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - opaque
    argTypes:
    - gcry_handler_no_mem_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1704
    functionDepth: 6
    functionLinenumber: 1704
    functionLinenumberEnd: 1708
    functionName: gcry_set_outofcore_handler
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_set_outofcore_handler
    linkageType: ''
    returnType: void
    signature: void gcry_set_outofcore_handler (gcry_handler_no_mem_t h, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_set_fatalerror_handler
      Src: /src/libgcrypt/src/visibility.c:1713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fnc
    - opaque
    argTypes:
    - gcry_handler_error_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1710
    functionDepth: 1
    functionLinenumber: 1710
    functionLinenumberEnd: 1714
    functionName: gcry_set_fatalerror_handler
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gcry_set_fatalerror_handler
    linkageType: ''
    returnType: void
    signature: void gcry_set_fatalerror_handler (gcry_handler_error_t fnc, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_set_log_handler
      Src: /src/libgcrypt/src/visibility.c:1719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - opaque
    argTypes:
    - gcry_handler_log_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1716
    functionDepth: 1
    functionLinenumber: 1716
    functionLinenumberEnd: 1720
    functionName: gcry_set_log_handler
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 5
    functionsReached:
    - _gcry_set_log_handler
    linkageType: ''
    returnType: void
    signature: void gcry_set_log_handler (gcry_handler_log_t f, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_set_gettext_handler
      Src: /src/libgcrypt/src/visibility.c:1725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (*f)(const char*)
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1722
    functionDepth: 1
    functionLinenumber: 1722
    functionLinenumberEnd: 1726
    functionName: gcry_set_gettext_handler
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gcry_set_gettext_handler
    linkageType: ''
    returnType: void
    signature: void gcry_set_gettext_handler (const char *(*f)(const char*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_malloc
      Src: /src/libgcrypt/src/visibility.c:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1728
    functionDepth: 10
    functionLinenumber: 1728
    functionLinenumberEnd: 1732
    functionName: gcry_malloc
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 13
    functionsReached:
    - _gcry_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_malloc (size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_calloc
      Src: /src/libgcrypt/src/visibility.c:1737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1734
    functionDepth: 11
    functionLinenumber: 1734
    functionLinenumberEnd: 1738
    functionName: gcry_calloc
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gcry_calloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_calloc (size_t n, size_t m)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_malloc_secure
      Src: /src/libgcrypt/src/visibility.c:1743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1740
    functionDepth: 11
    functionLinenumber: 1740
    functionLinenumberEnd: 1744
    functionName: gcry_malloc_secure
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 19
    functionsReached:
    - _gcry_malloc_secure
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_malloc_secure (size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_calloc_secure
      Src: /src/libgcrypt/src/visibility.c:1749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1746
    functionDepth: 12
    functionLinenumber: 1746
    functionLinenumberEnd: 1750
    functionName: gcry_calloc_secure
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 6
    functionsReached:
    - _gcry_calloc_secure
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_calloc_secure (size_t n, size_t m)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_realloc
      Src: /src/libgcrypt/src/visibility.c:1755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1752
    functionDepth: 12
    functionLinenumber: 1752
    functionLinenumberEnd: 1756
    functionName: gcry_realloc
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gcry_realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_realloc (void *a, size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_strdup
      Src: /src/libgcrypt/src/visibility.c:1761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1758
    functionDepth: 12
    functionLinenumber: 1758
    functionLinenumberEnd: 1762
    functionName: gcry_strdup
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gcry_strdup
    linkageType: ''
    returnType: char
    signature: 'char *

      gcry_strdup (const char *string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_xmalloc
      Src: /src/libgcrypt/src/visibility.c:1767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1764
    functionDepth: 11
    functionLinenumber: 1764
    functionLinenumberEnd: 1768
    functionName: gcry_xmalloc
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 34
    functionsReached:
    - _gcry_xmalloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_xmalloc (size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_xcalloc
      Src: /src/libgcrypt/src/visibility.c:1773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1770
    functionDepth: 12
    functionLinenumber: 1770
    functionLinenumberEnd: 1774
    functionName: gcry_xcalloc
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gcry_xcalloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_xcalloc (size_t n, size_t m)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_xmalloc_secure
      Src: /src/libgcrypt/src/visibility.c:1779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1776
    functionDepth: 11
    functionLinenumber: 1776
    functionLinenumberEnd: 1780
    functionName: gcry_xmalloc_secure
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 9
    functionsReached:
    - _gcry_xmalloc_secure
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_xmalloc_secure (size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_xcalloc_secure
      Src: /src/libgcrypt/src/visibility.c:1785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1782
    functionDepth: 12
    functionLinenumber: 1782
    functionLinenumberEnd: 1786
    functionName: gcry_xcalloc_secure
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gcry_xcalloc_secure
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_xcalloc_secure (size_t n, size_t m)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_xrealloc
      Src: /src/libgcrypt/src/visibility.c:1791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1788
    functionDepth: 12
    functionLinenumber: 1788
    functionLinenumberEnd: 1792
    functionName: gcry_xrealloc
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gcry_xrealloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gcry_xrealloc (void *a, size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_xstrdup
      Src: /src/libgcrypt/src/visibility.c:1797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1794
    functionDepth: 12
    functionLinenumber: 1794
    functionLinenumberEnd: 1798
    functionName: gcry_xstrdup
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 11
    functionsReached:
    - _gcry_xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      gcry_xstrdup (const char *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_free
      Src: /src/libgcrypt/src/visibility.c:1803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1800
    functionDepth: 8
    functionLinenumber: 1800
    functionLinenumberEnd: 1804
    functionName: gcry_free
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 109
    functionsReached:
    - _gcry_free
    linkageType: ''
    returnType: void
    signature: void gcry_free (void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/src/visibility.c:1809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1806
    functionDepth: 3
    functionLinenumber: 1806
    functionLinenumberEnd: 1810
    functionName: gcry_is_secure
    functionSourceFile: /src/libgcrypt/src/visibility.c
    functionUses: 11
    functionsReached:
    - _gcry_is_secure
    linkageType: ''
    returnType: int
    signature: int gcry_is_secure (const void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: mpi_get_nlimbs
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_get_nlimbs(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: mpi_has_sign
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_has_sign(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: mpi_alloc
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_alloc(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: mpi_alloc_secure
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_alloc_secure(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: mpi_free
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_free(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: mpi_resize
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_resize(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: mpi_copy
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_copy(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: mpi_alloc
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_alloc(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: mpi_alloc_secure
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_alloc_secure(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: mpi_free
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_free(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: mpi_resize
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_resize(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: mpi_copy
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_copy(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: mpi_immutable_failed
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_immutable_failed()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: mpi_is_const
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_is_const(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: mpi_is_immutable
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_is_immutable(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: mpi_is_opaque
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_is_opaque(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: mpi_is_secure
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_is_secure(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: mpi_clear
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_clear(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: mpi_alloc_like
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_alloc_like(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: mpi_alloc_set_ui
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_alloc_set_ui(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: mpi_const
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_const(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - sw
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: mpi_swap_cond
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_swap_cond(a,b,sw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - dir
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: mpi_tfr
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_tfr(a,b,dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - set
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: mpi_set_cond
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_set_cond(w,u,set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - n
    - ','
    - set
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: mpi_set_bit_cond
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_set_bit_cond(a,n,set)
  - 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: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: mpi_fdiv_r_ui
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_fdiv_r_ui(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: mpi_fdiv_r
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_fdiv_r(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: mpi_fdiv_q
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_fdiv_q(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: mpi_fdiv_qr
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_fdiv_qr(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: mpi_tdiv_r
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_tdiv_r(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: mpi_tdiv_qr
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_tdiv_qr(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: mpi_tdiv_q_2exp
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_tdiv_q_2exp(a,b,c)
  - 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: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: mpi_divisible_ui
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_divisible_ui(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: mpi_barrett_init
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_barrett_init(m,f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: mpi_barrett_free
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_barrett_free(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: mpi_mod_barrett
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_mod_barrett(r,a,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - u
    - ','
    - v
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: mpi_mul_barrett
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_mul_barrett(r,u,v,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: mpi_mulpowm
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_mulpowm(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: mpi_trailing_zeros
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_trailing_zeros(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: mpi_normalize
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_normalize(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - p
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 283
    functionName: log_printpnt
    functionSourceFile: /src/libgcrypt/src/mpi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_printpnt(a,p,c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elf_aux_info
      Src: /src/libgcrypt/src/hwf-s390x.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: getauxval
    functionSourceFile: /src/libgcrypt/src/hwf-s390x.c
    functionUses: 1
    functionsReached:
    - elf_aux_info
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long getauxval(unsigned long type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/libgcrypt/src/hwf-s390x.c:122,1
    - Dst: fopen
      Src: /src/libgcrypt/src/hwf-s390x.c:136,1
    - Dst: fread
      Src: /src/libgcrypt/src/hwf-s390x.c:143,1
    - Dst: fclose
      Src: /src/libgcrypt/src/hwf-s390x.c:155,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - hwcap
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 159
    functionName: get_hwcap
    functionSourceFile: /src/libgcrypt/src/hwf-s390x.c
    functionUses: 1
    functionsReached:
    - fopen
    - fclose
    - fread
    - getauxval
    linkageType: ''
    returnType: int
    signature: int get_hwcap(unsigned int *hwcap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/src/hwf-s390x.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - out
    argTypes:
    - struct facilities_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: get_stfle
    functionSourceFile: /src/libgcrypt/src/hwf-s390x.c
    functionUses: 0
    functionsReached:
    - DIM
    linkageType: ''
    returnType: void
    signature: void get_stfle(struct facilities_s *out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_hwcap
      Src: /src/libgcrypt/src/hwf-s390x.c:195,1
    - Dst: get_stfle
      Src: /src/libgcrypt/src/hwf-s390x.c:203,1
    - Dst: DIM
      Src: /src/libgcrypt/src/hwf-s390x.c:206,1
    - Dst: U64_C
      Src: /src/libgcrypt/src/hwf-s390x.c:215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 221
    functionName: detect_s390x_features
    functionSourceFile: /src/libgcrypt/src/hwf-s390x.c
    functionUses: 0
    functionsReached:
    - get_stfle
    - DIM
    - U64_C
    - get_hwcap
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int detect_s390x_features(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detect_s390x_features
      Src: /src/libgcrypt/src/hwf-s390x.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: _gcry_hwf_detect_s390x
    functionSourceFile: /src/libgcrypt/src/hwf-s390x.c
    functionUses: 1
    functionsReached:
    - detect_s390x_features
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_hwf_detect_s390x (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_scan
      Src: /src/libgcrypt/src/mpicalc.c:56,1
    - Dst: fprintf
      Src: /src/libgcrypt/src/mpicalc.c:59,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/mpicalc.c:59,1
    - Dst: mpi_set
      Src: /src/libgcrypt/src/mpicalc.c:62,1
    - Dst: mpi_release
      Src: /src/libgcrypt/src/mpicalc.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - retval
    - string
    argTypes:
    - gcry_mpi_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: scan_mpi
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 0
    functionsReached:
    - mpi_release
    - mpi_set
    - fprintf
    - gpg_strerror
    - gcry_mpi_scan
    linkageType: ''
    returnType: int
    signature: int scan_mpi (gcry_mpi_t retval, const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_aprint
      Src: /src/libgcrypt/src/mpicalc.c:75,1
    - Dst: fprintf
      Src: /src/libgcrypt/src/mpicalc.c:77,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/mpicalc.c:77,1
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:80,1
    - Dst: gcry_free
      Src: /src/libgcrypt/src/mpicalc.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: print_mpi
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 9
    functionsReached:
    - gcry_free
    - gcry_mpi_aprint
    - fprintf
    - gpg_strerror
    - fputs
    linkageType: ''
    returnType: void
    signature: void print_mpi (gcry_mpi_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:92,1
    - Dst: mpi_add
      Src: /src/libgcrypt/src/mpicalc.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: do_add
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 0
    functionsReached:
    - mpi_add
    - fputs
    linkageType: ''
    returnType: void
    signature: void do_add (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:104,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/src/mpicalc.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: do_sub
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 0
    functionsReached:
    - mpi_sub
    - fputs
    linkageType: ''
    returnType: void
    signature: void do_sub (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:116,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/src/mpicalc.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: do_inc
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 0
    functionsReached:
    - mpi_add_ui
    - fputs
    linkageType: ''
    returnType: void
    signature: void do_inc (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: do_dec
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 0
    functionsReached:
    - fputs
    linkageType: ''
    returnType: void
    signature: void do_dec (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:138,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/src/mpicalc.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: do_mul
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 0
    functionsReached:
    - mpi_mul
    - fputs
    linkageType: ''
    returnType: void
    signature: void do_mul (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:150,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/src/mpicalc.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: do_mulm
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 0
    functionsReached:
    - mpi_mulm
    - fputs
    linkageType: ''
    returnType: void
    signature: void do_mulm (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:163,1
    - Dst: mpi_fdiv
      Src: /src/libgcrypt/src/mpicalc.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: do_div
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 0
    functionsReached:
    - mpi_fdiv
    - fputs
    linkageType: ''
    returnType: void
    signature: void do_div (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:176,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/src/mpicalc.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: do_rem
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 0
    functionsReached:
    - mpi_mod
    - fputs
    linkageType: ''
    returnType: void
    signature: void do_rem (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:190,1
    - Dst: mpi_new
      Src: /src/libgcrypt/src/mpicalc.c:193,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/src/mpicalc.c:194,1
    - Dst: mpi_release
      Src: /src/libgcrypt/src/mpicalc.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 198
    functionName: do_powm
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 1
    functionsReached:
    - mpi_release
    - mpi_powm
    - fputs
    - mpi_new
    linkageType: ''
    returnType: void
    signature: void do_powm (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:207,1
    - Dst: mpi_new
      Src: /src/libgcrypt/src/mpicalc.c:210,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/src/mpicalc.c:211,1
    - Dst: mpi_set
      Src: /src/libgcrypt/src/mpicalc.c:212,1
    - Dst: mpi_release
      Src: /src/libgcrypt/src/mpicalc.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 215
    functionName: do_inv
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 0
    functionsReached:
    - mpi_release
    - mpi_set
    - mpi_invm
    - mpi_new
    - fputs
    linkageType: ''
    returnType: void
    signature: void do_inv (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:224,1
    - Dst: mpi_new
      Src: /src/libgcrypt/src/mpicalc.c:227,1
    - Dst: mpi_gcd
      Src: /src/libgcrypt/src/mpicalc.c:228,1
    - Dst: mpi_set
      Src: /src/libgcrypt/src/mpicalc.c:229,1
    - Dst: mpi_release
      Src: /src/libgcrypt/src/mpicalc.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: do_gcd
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 0
    functionsReached:
    - mpi_release
    - mpi_gcd
    - mpi_set
    - mpi_new
    - fputs
    linkageType: ''
    returnType: void
    signature: void do_gcd (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:239,1
    - Dst: mpi_lshift
      Src: /src/libgcrypt/src/mpicalc.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: do_lshift
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 0
    functionsReached:
    - mpi_lshift
    - fputs
    linkageType: ''
    returnType: void
    signature: void do_lshift (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:250,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/src/mpicalc.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 254
    functionName: do_rshift
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 0
    functionsReached:
    - mpi_rshift
    - fputs
    linkageType: ''
    returnType: void
    signature: void do_rshift (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:263,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/src/mpicalc.c:266,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/src/mpicalc.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: do_nbits
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 0
    functionsReached:
    - mpi_set_ui
    - fputs
    - mpi_get_nbits
    linkageType: ''
    returnType: void
    signature: void do_nbits (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:278,1
    - Dst: gcry_prime_check
      Src: /src/libgcrypt/src/mpicalc.c:281,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/src/mpicalc.c:282,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/src/mpicalc.c:283,1
    - Dst: fprintf
      Src: /src/libgcrypt/src/mpicalc.c:284,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/src/mpicalc.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: do_primecheck
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 0
    functionsReached:
    - fprintf
    - gcry_prime_check
    - gpg_err_code
    - gpg_strerror
    - fputs
    - mpi_set_ui
    linkageType: ''
    returnType: void
    signature: void do_primecheck (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/libgcrypt/src/mpicalc.c:296,1
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 307
    functionName: my_getc
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 1
    functionsReached:
    - getc
    - fputs
    linkageType: ''
    returnType: int
    signature: int my_getc (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 337
    functionName: print_help
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 38
    functionsReached:
    - fputs
    linkageType: ''
    returnType: void
    signature: void print_help (void)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libgcrypt/src/mpicalc.c:354,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/mpicalc.c:367,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/mpicalc.c:372,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/mpicalc.c:373,1
    - Dst: printf
      Src: /src/libgcrypt/src/mpicalc.c:375,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/src/mpicalc.c:391,1
    - Dst: exit
      Src: /src/libgcrypt/src/mpicalc.c:392,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/mpicalc.c:394,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/mpicalc.c:399,1
    - Dst: gcry_control
      Src: /src/libgcrypt/src/mpicalc.c:404,1
    - Dst: fprintf
      Src: /src/libgcrypt/src/mpicalc.c:405,1
    - Dst: fprintf
      Src: /src/libgcrypt/src/mpicalc.c:414,1
    - Dst: exit
      Src: /src/libgcrypt/src/mpicalc.c:415,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/src/mpicalc.c:418,1
    - Dst: fprintf
      Src: /src/libgcrypt/src/mpicalc.c:420,1
    - Dst: gcry_check_version
      Src: /src/libgcrypt/src/mpicalc.c:421,1
    - Dst: exit
      Src: /src/libgcrypt/src/mpicalc.c:422,1
    - Dst: gcry_control
      Src: /src/libgcrypt/src/mpicalc.c:424,1
    - Dst: gcry_control
      Src: /src/libgcrypt/src/mpicalc.c:425,1
    - Dst: gcry_control
      Src: /src/libgcrypt/src/mpicalc.c:428,1
    - Dst: exit
      Src: /src/libgcrypt/src/mpicalc.c:429,1
    - Dst: my_getc
      Src: /src/libgcrypt/src/mpicalc.c:436,1
    - Dst: isdigit
      Src: /src/libgcrypt/src/mpicalc.c:440,1
    - Dst: ungetc
      Src: /src/libgcrypt/src/mpicalc.c:443,1
    - Dst: isspace
      Src: /src/libgcrypt/src/mpicalc.c:448,1
    - Dst: my_getc
      Src: /src/libgcrypt/src/mpicalc.c:458,1
    - Dst: do_inc
      Src: /src/libgcrypt/src/mpicalc.c:459,1
    - Dst: ungetc
      Src: /src/libgcrypt/src/mpicalc.c:462,1
    - Dst: do_add
      Src: /src/libgcrypt/src/mpicalc.c:463,1
    - Dst: my_getc
      Src: /src/libgcrypt/src/mpicalc.c:467,1
    - Dst: do_dec
      Src: /src/libgcrypt/src/mpicalc.c:468,1
    - Dst: isdigit
      Src: /src/libgcrypt/src/mpicalc.c:469,1
    - Dst: ungetc
      Src: /src/libgcrypt/src/mpicalc.c:474,1
    - Dst: ungetc
      Src: /src/libgcrypt/src/mpicalc.c:482,1
    - Dst: do_sub
      Src: /src/libgcrypt/src/mpicalc.c:483,1
    - Dst: do_mul
      Src: /src/libgcrypt/src/mpicalc.c:487,1
    - Dst: do_mulm
      Src: /src/libgcrypt/src/mpicalc.c:490,1
    - Dst: do_div
      Src: /src/libgcrypt/src/mpicalc.c:493,1
    - Dst: do_rem
      Src: /src/libgcrypt/src/mpicalc.c:496,1
    - Dst: do_powm
      Src: /src/libgcrypt/src/mpicalc.c:499,1
    - Dst: do_lshift
      Src: /src/libgcrypt/src/mpicalc.c:502,1
    - Dst: do_rshift
      Src: /src/libgcrypt/src/mpicalc.c:505,1
    - Dst: do_inv
      Src: /src/libgcrypt/src/mpicalc.c:508,1
    - Dst: do_gcd
      Src: /src/libgcrypt/src/mpicalc.c:511,1
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:515,1
    - Dst: mpi_release
      Src: /src/libgcrypt/src/mpicalc.c:518,1
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:524,1
    - Dst: mpi_release
      Src: /src/libgcrypt/src/mpicalc.c:527,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/src/mpicalc.c:528,1
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:532,1
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:536,1
    - Dst: do_nbits
      Src: /src/libgcrypt/src/mpicalc.c:545,1
    - Dst: do_primecheck
      Src: /src/libgcrypt/src/mpicalc.c:548,1
    - Dst: mpi_release
      Src: /src/libgcrypt/src/mpicalc.c:553,1
    - Dst: puts
      Src: /src/libgcrypt/src/mpicalc.c:559,1
    - Dst: print_mpi
      Src: /src/libgcrypt/src/mpicalc.c:562,1
    - Dst: putchar
      Src: /src/libgcrypt/src/mpicalc.c:563,1
    - Dst: printf
      Src: /src/libgcrypt/src/mpicalc.c:569,1
    - Dst: print_mpi
      Src: /src/libgcrypt/src/mpicalc.c:570,1
    - Dst: putchar
      Src: /src/libgcrypt/src/mpicalc.c:571,1
    - Dst: print_help
      Src: /src/libgcrypt/src/mpicalc.c:575,1
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:578,1
    - Dst: isxdigit
      Src: /src/libgcrypt/src/mpicalc.c:584,1
    - Dst: ungetc
      Src: /src/libgcrypt/src/mpicalc.c:588,1
    - Dst: mpi_new
      Src: /src/libgcrypt/src/mpicalc.c:595,1
    - Dst: scan_mpi
      Src: /src/libgcrypt/src/mpicalc.c:596,1
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:597,1
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:602,1
    - Dst: fputs
      Src: /src/libgcrypt/src/mpicalc.c:611,1
    - Dst: mpi_release
      Src: /src/libgcrypt/src/mpicalc.c:625,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 210
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 341
    functionDepth: 7
    functionLinenumber: 341
    functionLinenumberEnd: 627
    functionName: main
    functionSourceFile: /src/libgcrypt/src/mpicalc.c
    functionUses: 12
    functionsReached:
    - do_inv
    - do_primecheck
    - do_rem
    - exit
    - do_rshift
    - puts
    - do_lshift
    - scan_mpi
    - do_mulm
    - do_nbits
    - mpi_copy
    - printf
    - do_add
    - print_mpi
    - print_help
    - do_dec
    - do_sub
    - do_powm
    - gcry_check_version
    - gcry_control
    - do_div
    - strcmp
    - fprintf
    - my_getc
    - do_gcd
    - mpi_new
    - do_mul
    - do_inc
    - putchar
    - mpi_release
    - isdigit
    - isxdigit
    - isspace
    - strrchr
    - fputs
    - ungetc
    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: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: U64_C
    functionSourceFile: /src/libgcrypt/src/types.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64_C(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: U64_C
    functionSourceFile: /src/libgcrypt/src/types.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64_C(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: U64_C
    functionSourceFile: /src/libgcrypt/src/types.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64_C(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: U64_C
    functionSourceFile: /src/libgcrypt/src/types.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64_C(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elf_aux_info
      Src: /src/libgcrypt/src/hwf-riscv.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: getauxval
    functionSourceFile: /src/libgcrypt/src/hwf-riscv.c
    functionUses: 2
    functionsReached:
    - elf_aux_info
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long getauxval(unsigned long type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: HWCAP_ISA
    functionSourceFile: /src/libgcrypt/src/hwf-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HWCAP_ISA(l)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/libgcrypt/src/hwf-riscv.c:114,1
    - Dst: fopen
      Src: /src/libgcrypt/src/hwf-riscv.c:128,1
    - Dst: fread
      Src: /src/libgcrypt/src/hwf-riscv.c:135,1
    - Dst: fclose
      Src: /src/libgcrypt/src/hwf-riscv.c:147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - hwcap
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 150
    functionName: get_hwcap
    functionSourceFile: /src/libgcrypt/src/hwf-riscv.c
    functionUses: 2
    functionsReached:
    - fopen
    - fclose
    - fread
    - getauxval
    linkageType: ''
    returnType: int
    signature: int get_hwcap(unsigned int *hwcap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_hwcap
      Src: /src/libgcrypt/src/hwf-riscv.c:159,1
    - Dst: DIM
      Src: /src/libgcrypt/src/hwf-riscv.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 170
    functionName: detect_riscv_at_hwcap
    functionSourceFile: /src/libgcrypt/src/hwf-riscv.c
    functionUses: 0
    functionsReached:
    - DIM
    - get_hwcap
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int detect_riscv_at_hwcap(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/libgcrypt/src/hwf-riscv.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pairs
    - pair_count
    - cpu_count
    - cpus
    - flags
    argTypes:
    - struct hwf_riscv_hwprobe_s*
    - size_t
    - size_t
    - unsigned long*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: hwf_riscv_hwprobe
    functionSourceFile: /src/libgcrypt/src/hwf-riscv.c
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: "int hwf_riscv_hwprobe(struct hwf_riscv_hwprobe_s *pairs, size_t pair_count,\n\t
      \     size_t cpu_count, unsigned long *cpus, unsigned int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/src/hwf-riscv.c:247,1
    - Dst: hwf_riscv_hwprobe
      Src: /src/libgcrypt/src/hwf-riscv.c:251,1
    - Dst: DIM
      Src: /src/libgcrypt/src/hwf-riscv.c:251,1
    - Dst: DIM
      Src: /src/libgcrypt/src/hwf-riscv.c:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 264
    functionName: detect_riscv_hwprobe
    functionSourceFile: /src/libgcrypt/src/hwf-riscv.c
    functionUses: 0
    functionsReached:
    - hwf_riscv_hwprobe
    - DIM
    - memset
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int detect_riscv_hwprobe(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 380
    functionName: detect_riscv_hwf_by_toolchain
    functionSourceFile: /src/libgcrypt/src/hwf-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int detect_riscv_hwf_by_toolchain (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detect_riscv_at_hwcap
      Src: /src/libgcrypt/src/hwf-riscv.c:388,1
    - Dst: detect_riscv_hwprobe
      Src: /src/libgcrypt/src/hwf-riscv.c:392,1
    - Dst: detect_riscv_hwf_by_toolchain
      Src: /src/libgcrypt/src/hwf-riscv.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 419
    functionName: _gcry_hwf_detect_riscv
    functionSourceFile: /src/libgcrypt/src/hwf-riscv.c
    functionUses: 1
    functionsReached:
    - detect_riscv_hwf_by_toolchain
    - detect_riscv_hwprobe
    - detect_riscv_at_hwcap
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_hwf_detect_riscv (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: xtrymalloc
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 391
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrymalloc(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: gpg_err_set_errno
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 154
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpg_err_set_errno(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: xfree
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 1795
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xfree(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: ror
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 3068
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 ror(u32 x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _ptr
    - ','
    - _set
    - ','
    - _len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: my_wipememory2
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_wipememory2(_ptr,_set,_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _ptr
    - ','
    - _len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: my_wipememory
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_wipememory(_ptr,_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/src/hmac256.c:193,1
    - Dst: S1
      Src: /src/libgcrypt/src/hmac256.c:211,1
    - Dst: S0
      Src: /src/libgcrypt/src/hmac256.c:211,1
    - Dst: R
      Src: /src/libgcrypt/src/hmac256.c:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - hd
    - data_arg
    argTypes:
    - hmac256_context_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 224
    functionName: transform
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 4
    functionsReached:
    - S1
    - S0
    - R
    - memcpy
    linkageType: ''
    returnType: void
    signature: void transform (hmac256_context_t hd, const void *data_arg)
  - 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: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: Cho
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Cho(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: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: Maj
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Maj(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: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: Sum0
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sum0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: Sum1
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sum1(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: S0
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S0(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: S1
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - k
    - ','
    - w
    - )
    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: 157
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: R
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 107
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(a,b,c,d,e,f,g,h,k,w)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_hmac256_update
      Src: /src/libgcrypt/src/hmac256.c:244,1
    - Dst: _gcry_hmac256_update
      Src: /src/libgcrypt/src/hmac256.c:271,1
    - Dst: memset
      Src: /src/libgcrypt/src/hmac256.c:272,1
    - Dst: transform
      Src: /src/libgcrypt/src/hmac256.c:283,1
    - Dst: X
      Src: /src/libgcrypt/src/hmac256.c:289,1
    - Dst: X
      Src: /src/libgcrypt/src/hmac256.c:290,1
    - Dst: X
      Src: /src/libgcrypt/src/hmac256.c:291,1
    - Dst: X
      Src: /src/libgcrypt/src/hmac256.c:292,1
    - Dst: X
      Src: /src/libgcrypt/src/hmac256.c:293,1
    - Dst: X
      Src: /src/libgcrypt/src/hmac256.c:294,1
    - Dst: X
      Src: /src/libgcrypt/src/hmac256.c:295,1
    - Dst: X
      Src: /src/libgcrypt/src/hmac256.c:296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 1
    argNames:
    - hd
    argTypes:
    - hmac256_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 299
    functionName: finalize
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 19
    functionsReached:
    - transform
    - _gcry_hmac256_update
    - memset
    - X
    linkageType: ''
    returnType: void
    signature: void finalize (hmac256_context_t hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: X
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/libgcrypt/src/hmac256.c:312,1
    - Dst: memset
      Src: /src/libgcrypt/src/hmac256.c:334,1
    - Dst: memset
      Src: /src/libgcrypt/src/hmac256.c:335,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/hmac256.c:338,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/hmac256.c:339,1
    - Dst: _gcry_hmac256_new
      Src: /src/libgcrypt/src/hmac256.c:345,1
    - Dst: xfree
      Src: /src/libgcrypt/src/hmac256.c:348,1
    - Dst: _gcry_hmac256_update
      Src: /src/libgcrypt/src/hmac256.c:351,1
    - Dst: finalize
      Src: /src/libgcrypt/src/hmac256.c:352,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/hmac256.c:353,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/hmac256.c:354,1
    - Dst: _gcry_hmac256_release
      Src: /src/libgcrypt/src/hmac256.c:355,1
    - Dst: _gcry_hmac256_update
      Src: /src/libgcrypt/src/hmac256.c:363,1
    - Dst: my_wipememory
      Src: /src/libgcrypt/src/hmac256.c:364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 2
    argNames:
    - key
    - keylen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 368
    functionName: _gcry_hmac256_new
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 1
    functionsReached:
    - _gcry_hmac256_update
    - finalize
    - my_wipememory
    - memset
    - memcpy
    - _gcry_hmac256_new
    - xfree
    - _gcry_hmac256_release
    - xtrymalloc
    linkageType: ''
    returnType: hmac256_context_t
    signature: hmac256_context_t _gcry_hmac256_new (const void *key, size_t keylen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: my_wipememory
      Src: /src/libgcrypt/src/hmac256.c:379,1
    - Dst: xfree
      Src: /src/libgcrypt/src/hmac256.c:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - hmac256_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 382
    functionName: _gcry_hmac256_release
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 1
    functionsReached:
    - xfree
    - my_wipememory
    linkageType: ''
    returnType: void
    signature: void _gcry_hmac256_release (hmac256_context_t ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: transform
      Src: /src/libgcrypt/src/hmac256.c:399,1
    - Dst: _gcry_hmac256_update
      Src: /src/libgcrypt/src/hmac256.c:409,1
    - Dst: transform
      Src: /src/libgcrypt/src/hmac256.c:417,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - hd
    - buffer
    - length
    argTypes:
    - hmac256_context_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 425
    functionName: _gcry_hmac256_update
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 3
    functionsReached:
    - transform
    - _gcry_hmac256_update
    linkageType: ''
    returnType: void
    signature: "void _gcry_hmac256_update (hmac256_context_t hd,\n                        const
      void *buffer, size_t length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: finalize
      Src: /src/libgcrypt/src/hmac256.c:435,1
    - Dst: _gcry_hmac256_new
      Src: /src/libgcrypt/src/hmac256.c:440,1
    - Dst: _gcry_hmac256_update
      Src: /src/libgcrypt/src/hmac256.c:444,1
    - Dst: _gcry_hmac256_update
      Src: /src/libgcrypt/src/hmac256.c:445,1
    - Dst: finalize
      Src: /src/libgcrypt/src/hmac256.c:446,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/hmac256.c:447,1
    - Dst: _gcry_hmac256_release
      Src: /src/libgcrypt/src/hmac256.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - hd
    - r_dlen
    argTypes:
    - hmac256_context_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 432
    functionDepth: 3
    functionLinenumber: 432
    functionLinenumberEnd: 453
    functionName: _gcry_hmac256_finalize
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 0
    functionsReached:
    - _gcry_hmac256_update
    - finalize
    - _gcry_hmac256_new
    - _gcry_hmac256_release
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_hmac256_finalize (hmac256_context_t hd, size_t *r_dlen)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libgcrypt/src/hmac256.c:473,1
    - Dst: _gcry_hmac256_new
      Src: /src/libgcrypt/src/hmac256.c:477,1
    - Dst: fclose
      Src: /src/libgcrypt/src/hmac256.c:480,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/src/hmac256.c:485,1
    - Dst: fclose
      Src: /src/libgcrypt/src/hmac256.c:488,1
    - Dst: _gcry_hmac256_release
      Src: /src/libgcrypt/src/hmac256.c:489,1
    - Dst: fread
      Src: /src/libgcrypt/src/hmac256.c:493,1
    - Dst: _gcry_hmac256_update
      Src: /src/libgcrypt/src/hmac256.c:494,1
    - Dst: xfree
      Src: /src/libgcrypt/src/hmac256.c:496,1
    - Dst: ferror
      Src: /src/libgcrypt/src/hmac256.c:498,1
    - Dst: fclose
      Src: /src/libgcrypt/src/hmac256.c:500,1
    - Dst: _gcry_hmac256_release
      Src: /src/libgcrypt/src/hmac256.c:501,1
    - Dst: fclose
      Src: /src/libgcrypt/src/hmac256.c:505,1
    - Dst: _gcry_hmac256_finalize
      Src: /src/libgcrypt/src/hmac256.c:507,1
    - Dst: _gcry_hmac256_release
      Src: /src/libgcrypt/src/hmac256.c:510,1
    - Dst: _gcry_hmac256_release
      Src: /src/libgcrypt/src/hmac256.c:516,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/src/hmac256.c:517,1
    - Dst: memcpy
      Src: /src/libgcrypt/src/hmac256.c:520,1
    - Dst: _gcry_hmac256_release
      Src: /src/libgcrypt/src/hmac256.c:521,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 5
    argNames:
    - result
    - resultsize
    - filename
    - key
    - keylen
    argTypes:
    - void*
    - size_t
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 463
    functionDepth: 4
    functionLinenumber: 463
    functionLinenumberEnd: 524
    functionName: _gcry_hmac256_file
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 0
    functionsReached:
    - _gcry_hmac256_update
    - _gcry_hmac256_finalize
    - fclose
    - xfree
    - fopen
    - _gcry_hmac256_new
    - gpg_err_set_errno
    - memcpy
    - _gcry_hmac256_release
    - fread
    - xtrymalloc
    - ferror
    linkageType: ''
    returnType: int
    signature: "int _gcry_hmac256_file (void *result, size_t resultsize, const char
      *filename,\n                    const void *key, size_t keylen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_hmac256_new
      Src: /src/libgcrypt/src/hmac256.c:625,1
    - Dst: strlen
      Src: /src/libgcrypt/src/hmac256.c:625,1
    - Dst: _gcry_hmac256_update
      Src: /src/libgcrypt/src/hmac256.c:628,1
    - Dst: strlen
      Src: /src/libgcrypt/src/hmac256.c:628,1
    - Dst: _gcry_hmac256_finalize
      Src: /src/libgcrypt/src/hmac256.c:629,1
    - Dst: _gcry_hmac256_release
      Src: /src/libgcrypt/src/hmac256.c:632,1
    - Dst: memcmp
      Src: /src/libgcrypt/src/hmac256.c:636,1
    - Dst: _gcry_hmac256_release
      Src: /src/libgcrypt/src/hmac256.c:638,1
    - Dst: _gcry_hmac256_release
      Src: /src/libgcrypt/src/hmac256.c:641,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 529
    functionDepth: 4
    functionLinenumber: 529
    functionLinenumberEnd: 645
    functionName: selftest
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 8
    functionsReached:
    - _gcry_hmac256_update
    - strlen
    - _gcry_hmac256_finalize
    - memcmp
    - _gcry_hmac256_new
    - _gcry_hmac256_release
    linkageType: ''
    returnType: int
    signature: int selftest (void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgcrypt/src/hmac256.c:664,1
    - Dst: setmode
      Src: /src/libgcrypt/src/hmac256.c:666,1
    - Dst: fileno
      Src: /src/libgcrypt/src/hmac256.c:666,1
    - Dst: strrchr
      Src: /src/libgcrypt/src/hmac256.c:671,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/hmac256.c:684,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/hmac256.c:689,1
    - Dst: fputs
      Src: /src/libgcrypt/src/hmac256.c:691,1
    - Dst: exit
      Src: /src/libgcrypt/src/hmac256.c:699,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/hmac256.c:701,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/hmac256.c:706,1
    - Dst: fprintf
      Src: /src/libgcrypt/src/hmac256.c:715,1
    - Dst: exit
      Src: /src/libgcrypt/src/hmac256.c:716,1
    - Dst: setmode
      Src: /src/libgcrypt/src/hmac256.c:721,1
    - Dst: fileno
      Src: /src/libgcrypt/src/hmac256.c:721,1
    - Dst: strlen
      Src: /src/libgcrypt/src/hmac256.c:731,1
    - Dst: selftest
      Src: /src/libgcrypt/src/hmac256.c:734,1
    - Dst: fprintf
      Src: /src/libgcrypt/src/hmac256.c:736,1
    - Dst: exit
      Src: /src/libgcrypt/src/hmac256.c:737,1
    - Dst: fopen
      Src: /src/libgcrypt/src/hmac256.c:743,1
    - Dst: fprintf
      Src: /src/libgcrypt/src/hmac256.c:746,1
    - Dst: strerror
      Src: /src/libgcrypt/src/hmac256.c:747,1
    - Dst: exit
      Src: /src/libgcrypt/src/hmac256.c:748,1
    - Dst: _gcry_hmac256_new
      Src: /src/libgcrypt/src/hmac256.c:750,1
    - Dst: fprintf
      Src: /src/libgcrypt/src/hmac256.c:753,1
    - Dst: strerror
      Src: /src/libgcrypt/src/hmac256.c:754,1
    - Dst: exit
      Src: /src/libgcrypt/src/hmac256.c:755,1
    - Dst: fread
      Src: /src/libgcrypt/src/hmac256.c:757,1
    - Dst: _gcry_hmac256_update
      Src: /src/libgcrypt/src/hmac256.c:758,1
    - Dst: ferror
      Src: /src/libgcrypt/src/hmac256.c:759,1
    - Dst: fprintf
      Src: /src/libgcrypt/src/hmac256.c:761,1
    - Dst: strerror
      Src: /src/libgcrypt/src/hmac256.c:762,1
    - Dst: exit
      Src: /src/libgcrypt/src/hmac256.c:763,1
    - Dst: fclose
      Src: /src/libgcrypt/src/hmac256.c:766,1
    - Dst: _gcry_hmac256_finalize
      Src: /src/libgcrypt/src/hmac256.c:768,1
    - Dst: fprintf
      Src: /src/libgcrypt/src/hmac256.c:771,1
    - Dst: strerror
      Src: /src/libgcrypt/src/hmac256.c:772,1
    - Dst: exit
      Src: /src/libgcrypt/src/hmac256.c:773,1
    - Dst: fwrite
      Src: /src/libgcrypt/src/hmac256.c:777,1
    - Dst: fprintf
      Src: /src/libgcrypt/src/hmac256.c:779,1
    - Dst: strerror
      Src: /src/libgcrypt/src/hmac256.c:780,1
    - Dst: exit
      Src: /src/libgcrypt/src/hmac256.c:781,1
    - Dst: _gcry_hmac256_release
      Src: /src/libgcrypt/src/hmac256.c:783,1
    - Dst: printf
      Src: /src/libgcrypt/src/hmac256.c:790,1
    - Dst: _gcry_hmac256_release
      Src: /src/libgcrypt/src/hmac256.c:791,1
    - Dst: putchar
      Src: /src/libgcrypt/src/hmac256.c:794,1
    - Dst: printf
      Src: /src/libgcrypt/src/hmac256.c:797,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 95
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (sizeof (u32) == 4)
      pos:
        line_end: 663
        line_start: 663
        source_file: /src/libgcrypt/src/hmac256.c
    constantsTouched: []
    func_position:
      end: 802
      start: 648
    functionDepth: 4
    functionLinenumber: 648
    functionLinenumberEnd: 802
    functionName: main
    functionSourceFile: /src/libgcrypt/src/hmac256.c
    functionUses: 12
    functionsReached:
    - strlen
    - exit
    - selftest
    - _gcry_hmac256_update
    - printf
    - fwrite
    - _gcry_hmac256_release
    - fread
    - assert
    - fileno
    - strcmp
    - fprintf
    - fopen
    - setmode
    - putchar
    - _gcry_hmac256_finalize
    - fclose
    - fputs
    - strrchr
    - _gcry_hmac256_new
    - strerror
    - ferror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elf_aux_info
      Src: /src/libgcrypt/src/hwf-arm.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: getauxval
    functionSourceFile: /src/libgcrypt/src/hwf-arm.c
    functionUses: 3
    functionsReached:
    - elf_aux_info
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long getauxval(unsigned long type)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/libgcrypt/src/hwf-arm.c:222,1
    - Dst: getauxval
      Src: /src/libgcrypt/src/hwf-arm.c:232,1
    - Dst: fopen
      Src: /src/libgcrypt/src/hwf-arm.c:248,1
    - Dst: fread
      Src: /src/libgcrypt/src/hwf-arm.c:256,1
    - Dst: fclose
      Src: /src/libgcrypt/src/hwf-arm.c:274,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - hwcap
    - hwcap2
    argTypes:
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 278
    functionName: get_hwcap
    functionSourceFile: /src/libgcrypt/src/hwf-arm.c
    functionUses: 3
    functionsReached:
    - fopen
    - fclose
    - fread
    - getauxval
    linkageType: ''
    returnType: int
    signature: int get_hwcap(unsigned int *hwcap, unsigned int *hwcap2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_hwcap
      Src: /src/libgcrypt/src/hwf-arm.c:288,1
    - Dst: DIM
      Src: /src/libgcrypt/src/hwf-arm.c:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 301
    functionName: detect_arm_at_hwcap
    functionSourceFile: /src/libgcrypt/src/hwf-arm.c
    functionUses: 0
    functionsReached:
    - DIM
    - get_hwcap
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int detect_arm_at_hwcap(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libgcrypt/src/hwf-arm.c:338,1
    - Dst: memset
      Src: /src/libgcrypt/src/hwf-arm.c:342,1
    - Dst: fread
      Src: /src/libgcrypt/src/hwf-arm.c:343,1
    - Dst: fclose
      Src: /src/libgcrypt/src/hwf-arm.c:344,1
    - Dst: strstr
      Src: /src/libgcrypt/src/hwf-arm.c:355,1
    - Dst: DIM
      Src: /src/libgcrypt/src/hwf-arm.c:360,1
    - Dst: strstr
      Src: /src/libgcrypt/src/hwf-arm.c:366,1
    - Dst: strstr
      Src: /src/libgcrypt/src/hwf-arm.c:370,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/hwf-arm.c:375,1
    - Dst: strcmp
      Src: /src/libgcrypt/src/hwf-arm.c:376,1
    - Dst: strtoul
      Src: /src/libgcrypt/src/hwf-arm.c:379,1
    - Dst: DIM
      Src: /src/libgcrypt/src/hwf-arm.c:388,1
    - Dst: strstr
      Src: /src/libgcrypt/src/hwf-arm.c:390,1
    - Dst: strlen
      Src: /src/libgcrypt/src/hwf-arm.c:393,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 1
    argNames:
    - broken_hwfs
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 415
    functionName: detect_arm_proc_cpuinfo
    functionSourceFile: /src/libgcrypt/src/hwf-arm.c
    functionUses: 0
    functionsReached:
    - strstr
    - strlen
    - fclose
    - DIM
    - strcmp
    - memset
    - fopen
    - strtoul
    - fread
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int detect_arm_proc_cpuinfo(unsigned int *broken_hwfs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/src/hwf-arm.c:452,1
    - Dst: sysctlbyname
      Src: /src/libgcrypt/src/hwf-arm.c:458,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 471
    functionName: detect_arm_apple_sysctlbyname
    functionSourceFile: /src/libgcrypt/src/hwf-arm.c
    functionUses: 0
    functionsReached:
    - sysctlbyname
    - DIM
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int detect_arm_apple_sysctlbyname (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 539
    functionName: detect_arm_hwf_by_toolchain
    functionSourceFile: /src/libgcrypt/src/hwf-arm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int detect_arm_hwf_by_toolchain (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detect_arm_at_hwcap
      Src: /src/libgcrypt/src/hwf-arm.c:548,1
    - Dst: detect_arm_proc_cpuinfo
      Src: /src/libgcrypt/src/hwf-arm.c:552,1
    - Dst: detect_arm_apple_sysctlbyname
      Src: /src/libgcrypt/src/hwf-arm.c:556,1
    - Dst: detect_arm_hwf_by_toolchain
      Src: /src/libgcrypt/src/hwf-arm.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 564
    functionName: _gcry_hwf_detect_arm
    functionSourceFile: /src/libgcrypt/src/hwf-arm.c
    functionUses: 1
    functionsReached:
    - detect_arm_apple_sysctlbyname
    - detect_arm_hwf_by_toolchain
    - detect_arm_proc_cpuinfo
    - detect_arm_at_hwcap
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_hwf_detect_arm (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: stpcpy
    functionSourceFile: /src/libgcrypt/src/missing-string.c
    functionUses: 79
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      stpcpy(char *a,const char *b)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/libgcrypt/src/missing-string.c:49,1
    - Dst: toupper
      Src: /src/libgcrypt/src/missing-string.c:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: strcasecmp
    functionSourceFile: /src/libgcrypt/src/missing-string.c
    functionUses: 136
    functionsReached:
    - toupper
    linkageType: ''
    returnType: int
    signature: int strcasecmp( const char *a, const char *b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: MARK_VISIBLEX
    functionSourceFile: /src/libgcrypt/src/visibility.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MARK_VISIBLEX(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: ct_is_not_zero
    functionSourceFile: /src/libgcrypt/src/const-time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ct_is_not_zero (unsigned int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: ct_is_zero
    functionSourceFile: /src/libgcrypt/src/const-time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ct_is_zero (unsigned int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b0
    - b1
    argTypes:
    - unsigned char
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: ct_not_equal_byte
    functionSourceFile: /src/libgcrypt/src/const-time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ct_not_equal_byte (unsigned char b0, unsigned char b1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: CT_DEOPTIMIZE_VAR
    functionSourceFile: /src/libgcrypt/src/const-time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CT_DEOPTIMIZE_VAR(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: CT_DEOPTIMIZE_VAR
    functionSourceFile: /src/libgcrypt/src/const-time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CT_DEOPTIMIZE_VAR(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: DEFINE_CT_TYPE_GEN_MASK
    functionSourceFile: /src/libgcrypt/src/const-time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_CT_TYPE_GEN_MASK(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: DEFINE_CT_TYPE_GEN_MASK
    functionSourceFile: /src/libgcrypt/src/const-time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_CT_TYPE_GEN_MASK(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: DEFINE_CT_TYPE_GEN_INV_MASK
    functionSourceFile: /src/libgcrypt/src/const-time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_CT_TYPE_GEN_INV_MASK(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: DEFINE_CT_TYPE_GEN_INV_MASK
    functionSourceFile: /src/libgcrypt/src/const-time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_CT_TYPE_GEN_INV_MASK(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: DEFINE_CT_TYPE_SELECT_FUNC
    functionSourceFile: /src/libgcrypt/src/const-time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_CT_TYPE_SELECT_FUNC(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_uintptr_select
      Src: /src/libgcrypt/src/const-time.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - op_enable
    argTypes:
    - gcry_sexp_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: sexp_null_cond
    functionSourceFile: /src/libgcrypt/src/const-time.h
    functionUses: 0
    functionsReached:
    - ct_uintptr_select
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t sexp_null_cond (gcry_sexp_t w, unsigned long op_enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: _GCRY_GCC_ATTR_PRINTF
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GCRY_GCC_ATTR_PRINTF(f,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: _GCRY_GCC_ATTR_SENTINEL
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GCRY_GCC_ATTR_SENTINEL(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make
      Src: /src/libgcrypt/src/gcrypt.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - code
    argTypes:
    - gcry_err_source_t
    - gcry_err_code_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: gcry_error_t::gcry_err_make
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 0
    functionsReached:
    - gpg_err_make
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gcry_error_t

      gcry_err_make (gcry_err_source_t source, gcry_err_code_t code)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_err_make
      Src: /src/libgcrypt/src/gcrypt.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - gcry_err_code_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: gcry_error_t
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 0
    functionsReached:
    - gcry_err_make
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gcry_error_t

      gcry_error (gcry_err_code_t code)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code
      Src: /src/libgcrypt/src/gcrypt.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - gcry_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: gcry_err_code_t::gcry_err_code
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 0
    functionsReached:
    - gpg_err_code
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gcry_err_code_t

      gcry_err_code (gcry_error_t err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_source
      Src: /src/libgcrypt/src/gcrypt.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - gcry_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: gcry_err_source_t::gcry_err_source
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 0
    functionsReached:
    - gpg_err_source
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gcry_err_source_t

      gcry_err_source (gcry_error_t err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 846
    functionName: mpi_new
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_new(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 847
    functionName: mpi_secure_new
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_secure_new( n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 854
    functionName: mpi_release
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 144
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_release(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 856
    functionName: mpi_copy
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_copy( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 857
    functionName: mpi_snatch
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_snatch( w, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 858
    functionName: mpi_set
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_set( w, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 859
    functionName: mpi_set_ui
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_set_ui( w, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 860
    functionName: mpi_get_ui
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_get_ui( w, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 861
    functionName: mpi_abs
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_abs( w )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 862
    functionName: mpi_neg
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_neg( w, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 863
    functionName: mpi_cmp
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_cmp( u, v )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 864
    functionName: mpi_cmp_ui
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_cmp_ui( u, v )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 865
    functionName: mpi_is_neg
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_is_neg( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 867
    functionName: mpi_add_ui
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_add_ui(w,u,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 868
    functionName: mpi_add
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_add(w,u,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 869
    functionName: mpi_addm
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_addm(w,u,v,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 870
    functionName: mpi_sub_ui
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_sub_ui(w,u,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 871
    functionName: mpi_sub
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_sub(w,u,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 872
    functionName: mpi_subm
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_subm(w,u,v,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 873
    functionName: mpi_mul_ui
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_mul_ui(w,u,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 874
    functionName: mpi_mul_2exp
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_mul_2exp(w,u,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 875
    functionName: mpi_mul
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_mul(w,u,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 876
    functionName: mpi_mulm
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_mulm(w,u,v,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w
    - ','
    - b
    - ','
    - e
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 877
    functionName: mpi_powm
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_powm(w,b,e,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - a
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 878
    functionName: mpi_tdiv
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_tdiv(q,r,a,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - a
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 879
    functionName: mpi_fdiv
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_fdiv(q,r,a,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 880
    functionName: mpi_mod
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_mod(r,a,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - g
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 881
    functionName: mpi_gcd
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_gcd(g,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - g
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 882
    functionName: mpi_invm
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_invm(g,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 884
    functionName: mpi_point_new
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_point_new(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 891
    functionName: mpi_point_release
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_point_release(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 892
    functionName: mpi_point_copy
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_point_copy(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 893
    functionName: mpi_point_get
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_point_get(x,y,z,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 894
    functionName: mpi_point_snatch_get
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_point_snatch_get(x,y,z,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 895
    functionName: mpi_point_set
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_point_set(p,x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 896
    functionName: mpi_point_snatch_set
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_point_snatch_set(p,x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 898
    functionName: mpi_get_nbits
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_get_nbits(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 899
    functionName: mpi_test_bit
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_test_bit(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: 900
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 900
    functionName: mpi_set_bit
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_set_bit(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: 901
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 901
    functionName: mpi_set_highbit
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_set_highbit(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: 902
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 902
    functionName: mpi_clear_bit
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_clear_bit(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: 903
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 903
    functionName: mpi_clear_highbit
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_clear_highbit(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 904
    functionName: mpi_rshift
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_rshift(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 905
    functionName: mpi_lshift
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_lshift(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 907
    functionName: mpi_set_opaque
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_set_opaque(a,b,c)
  - 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: 908
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 908
    functionName: mpi_get_opaque
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_get_opaque(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1108
    functionName: gcry_cipher_reset
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_cipher_reset(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1112
    functionName: gcry_cipher_sync
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_cipher_sync(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - 'on'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1117
    functionName: gcry_cipher_cts
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_cipher_cts(h,on)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - oid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1120
    functionName: gcry_cipher_set_sbox
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_cipher_set_sbox(h,oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1125
    functionName: gcry_cipher_final
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_cipher_final(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1140
    functionName: gcry_cipher_test_algo
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_cipher_test_algo(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - tag
    - ','
    - taglen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1145
    functionName: gcry_cipher_set_decryption_tag
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_cipher_set_decryption_tag(a, tag, taglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1243
    functionName: gcry_pk_test_algo
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_pk_test_algo(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1461
    functionName: gcry_md_putc
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_md_putc(h,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1466
    functionName: gcry_md_final
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_md_final(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1470
    functionName: gcry_md_test_algo
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_md_test_algo(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1477
    functionName: gcry_md_get_asnoid
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_md_get_asnoid(a,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1631
    functionName: gcry_mac_reset
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_mac_reset(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1635
    functionName: gcry_mac_test_algo
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_mac_test_algo(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1921
    functionName: gcry_fast_random_poll
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_fast_random_poll()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2029
    functionName: gcry_get_fips_service_indicator
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_get_fips_service_indicator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2145
    functionDepth: 0
    functionLinenumber: 2145
    functionLinenumberEnd: 2146
    functionName: gcry_fips_mode_active
    functionSourceFile: /src/libgcrypt/src/gcrypt.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcry_fips_mode_active()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: shaext_prepare
    functionSourceFile: /src/libgcrypt/cipher/sha512-intel-shaext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shaext_prepare()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tmp0
    - ','
    - tmp1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: shaext_cleanup
    functionSourceFile: /src/libgcrypt/cipher/sha512-intel-shaext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shaext_cleanup(tmp0,tmp1)
  - 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: shaext_prepare
    functionSourceFile: /src/libgcrypt/cipher/sha512-intel-shaext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shaext_prepare()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tmp0
    - ','
    - tmp1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: shaext_cleanup
    functionSourceFile: /src/libgcrypt/cipher/sha512-intel-shaext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shaext_cleanup(tmp0,tmp1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - gr
    - ','
    - MSG0
    - ','
    - MSG1
    - ','
    - MSG2
    - ','
    - MSG3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: ROUND
    functionSourceFile: /src/libgcrypt/cipher/sha512-intel-shaext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND(gr, MSG0, MSG1, MSG2, MSG3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - gr
    - ','
    - MSG0
    - ','
    - MSG1
    - ','
    - MSG3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: ROUND_FINAL
    functionSourceFile: /src/libgcrypt/cipher/sha512-intel-shaext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_FINAL(gr, MSG0, MSG1, MSG3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: load32_littleendian
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t load32_littleendian(const uint8_t x[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: load24_littleendian
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t load24_littleendian(const uint8_t x[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load32_littleendian
      Src: /src/libgcrypt/cipher/kyber-common.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - poly*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 137
    functionName: cbd2
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached:
    - load32_littleendian
    linkageType: ''
    returnType: void
    signature: void cbd2(poly *r, const uint8_t buf[2*KYBER_N/4])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load24_littleendian
      Src: /src/libgcrypt/cipher/kyber-common.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - poly*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: cbd3
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached:
    - load24_littleendian
    linkageType: ''
    returnType: void
    signature: void cbd3(poly *r, const uint8_t buf[3*KYBER_N/4])
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - r
    - len
    - buf
    - buflen
    argTypes:
    - int16_t*
    - unsigned int
    - uint8_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 207
    functionName: rej_uniform
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int rej_uniform(int16_t *r,\n                                unsigned
      int len,\n                                const uint8_t *buf,\n                                unsigned
      int buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: montgomery_reduce
      Src: /src/libgcrypt/cipher/kyber-common.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int16_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: fqmul
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached:
    - montgomery_reduce
    linkageType: ''
    returnType: int16_t
    signature: int16_t fqmul(int16_t a, int16_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fqmul
      Src: /src/libgcrypt/cipher/kyber-common.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - int16_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 299
    functionName: ntt
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached:
    - fqmul
    linkageType: ''
    returnType: void
    signature: void ntt(int16_t r[256])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: barrett_reduce
      Src: /src/libgcrypt/cipher/kyber-common.c:321,1
    - Dst: fqmul
      Src: /src/libgcrypt/cipher/kyber-common.c:323,1
    - Dst: fqmul
      Src: /src/libgcrypt/cipher/kyber-common.c:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - r
    argTypes:
    - int16_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 330
    functionName: invntt
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached:
    - barrett_reduce
    - fqmul
    linkageType: ''
    returnType: void
    signature: void invntt(int16_t r[256])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fqmul
      Src: /src/libgcrypt/cipher/kyber-common.c:345,1
    - Dst: fqmul
      Src: /src/libgcrypt/cipher/kyber-common.c:346,1
    - Dst: fqmul
      Src: /src/libgcrypt/cipher/kyber-common.c:347,1
    - Dst: fqmul
      Src: /src/libgcrypt/cipher/kyber-common.c:348,1
    - Dst: fqmul
      Src: /src/libgcrypt/cipher/kyber-common.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - r
    - a
    - b
    - zeta
    argTypes:
    - int16_t[]
    - int16_t[]
    - int16_t[]
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 350
    functionName: basemul
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached:
    - fqmul
    linkageType: ''
    returnType: void
    signature: void basemul(int16_t r[2], const int16_t a[2], const int16_t b[2],
      int16_t zeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - uint8_t[]
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 389
    functionName: poly_compress_128
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void poly_compress_128(uint8_t r[KYBER_POLYCOMPRESSEDBYTES_2_3], const
      poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - uint8_t[]
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 420
    functionName: poly_compress_160
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void poly_compress_160(uint8_t r[KYBER_POLYCOMPRESSEDBYTES_4], const
      poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - poly*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 442
    functionName: poly_decompress_128
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void poly_decompress_128(poly *r, const uint8_t a[KYBER_POLYCOMPRESSEDBYTES_2_3])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - poly*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 465
    functionName: poly_decompress_160
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void poly_decompress_160(poly *r, const uint8_t a[KYBER_POLYCOMPRESSEDBYTES_4])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - uint8_t[]
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 492
    functionName: poly_tobytes
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void poly_tobytes(uint8_t r[KYBER_POLYBYTES], const poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - poly*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 511
    functionName: poly_frombytes
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void poly_frombytes(poly *r, const uint8_t a[KYBER_POLYBYTES])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_int16_select
      Src: /src/libgcrypt/cipher/kyber-common.c:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r
    - msg
    argTypes:
    - poly*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 534
    functionName: poly_frommsg
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached:
    - ct_int16_select
    linkageType: ''
    returnType: void
    signature: void poly_frommsg(poly *r, const uint8_t msg[KYBER_INDCPA_MSGBYTES])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - msg
    - a
    argTypes:
    - uint8_t[]
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 563
    functionName: poly_tomsg
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void poly_tomsg(uint8_t msg[KYBER_INDCPA_MSGBYTES], const poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prf
      Src: /src/libgcrypt/cipher/kyber-common.c:581,1
    - Dst: cbd3
      Src: /src/libgcrypt/cipher/kyber-common.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - seed
    - nonce
    argTypes:
    - poly*
    - uint8_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 583
    functionName: poly_getnoise_eta1_2
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached:
    - prf
    - cbd3
    linkageType: ''
    returnType: void
    signature: void poly_getnoise_eta1_2(poly *r, const uint8_t seed[KYBER_SYMBYTES],
      uint8_t nonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prf
      Src: /src/libgcrypt/cipher/kyber-common.c:590,1
    - Dst: cbd2
      Src: /src/libgcrypt/cipher/kyber-common.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - seed
    - nonce
    argTypes:
    - poly*
    - uint8_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 592
    functionName: poly_getnoise_eta1_3_4
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached:
    - prf
    - cbd2
    linkageType: ''
    returnType: void
    signature: void poly_getnoise_eta1_3_4(poly *r, const uint8_t seed[KYBER_SYMBYTES],
      uint8_t nonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prf
      Src: /src/libgcrypt/cipher/kyber-common.c:610,1
    - Dst: cbd2
      Src: /src/libgcrypt/cipher/kyber-common.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - seed
    - nonce
    argTypes:
    - poly*
    - uint8_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 612
    functionName: poly_getnoise_eta2
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached:
    - prf
    - cbd2
    linkageType: ''
    returnType: void
    signature: void poly_getnoise_eta2(poly *r, const uint8_t seed[KYBER_SYMBYTES],
      uint8_t nonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntt
      Src: /src/libgcrypt/cipher/kyber-common.c:626,1
    - Dst: poly_reduce
      Src: /src/libgcrypt/cipher/kyber-common.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: poly_ntt
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached:
    - ntt
    - poly_reduce
    linkageType: ''
    returnType: void
    signature: void poly_ntt(poly *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invntt
      Src: /src/libgcrypt/cipher/kyber-common.c:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 642
    functionName: poly_invntt_tomont
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached:
    - invntt
    linkageType: ''
    returnType: void
    signature: void poly_invntt_tomont(poly *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basemul
      Src: /src/libgcrypt/cipher/kyber-common.c:657,1
    - Dst: basemul
      Src: /src/libgcrypt/cipher/kyber-common.c:658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - poly*
    - poly*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 653
    functionDepth: 2
    functionLinenumber: 653
    functionLinenumberEnd: 660
    functionName: poly_basemul_montgomery
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached:
    - basemul
    linkageType: ''
    returnType: void
    signature: void poly_basemul_montgomery(poly *r, const poly *a, const poly *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: montgomery_reduce
      Src: /src/libgcrypt/cipher/kyber-common.c:675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 676
    functionName: poly_tomont
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached:
    - montgomery_reduce
    linkageType: ''
    returnType: void
    signature: void poly_tomont(poly *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: barrett_reduce
      Src: /src/libgcrypt/cipher/kyber-common.c:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 691
    functionName: poly_reduce
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 1
    functionsReached:
    - barrett_reduce
    linkageType: ''
    returnType: void
    signature: void poly_reduce(poly *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - poly*
    - poly*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 707
    functionName: poly_add
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void poly_add(poly *r, const poly *a, const poly *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - poly*
    - poly*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 723
    functionName: poly_sub
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void poly_sub(poly *r, const poly *a, const poly *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 745
    functionName: montgomery_reduce
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int16_t
    signature: int16_t montgomery_reduce(int32_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 764
    functionName: barrett_reduce
    functionSourceFile: /src/libgcrypt/cipher/kyber-common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int16_t
    signature: int16_t barrett_reduce(int16_t a)
  - 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: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: CAMELLIA_PREFIX1
    functionSourceFile: /src/libgcrypt/cipher/camellia.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAMELLIA_PREFIX1(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: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: CAMELLIA_PREFIX2
    functionSourceFile: /src/libgcrypt/cipher/camellia.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAMELLIA_PREFIX2(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: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: CAMELLIA_PREFIX
    functionSourceFile: /src/libgcrypt/cipher/camellia.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAMELLIA_PREFIX(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aligned
      Src: /src/libgcrypt/cipher/rijndael-padlock.c:42,1
    - Dst: aligned
      Src: /src/libgcrypt/cipher/rijndael-padlock.c:43,1
    - Dst: aligned
      Src: /src/libgcrypt/cipher/rijndael-padlock.c:44,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-padlock.c:59,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-padlock.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - bx
    - ax
    - decrypt_flag
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 87
    functionName: do_padlock
    functionSourceFile: /src/libgcrypt/cipher/rijndael-padlock.c
    functionUses: 0
    functionsReached:
    - aligned
    - memcpy
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_padlock (const RIJNDAEL_context *ctx, unsigned char
      *bx,\n            const unsigned char *ax, int decrypt_flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_padlock
      Src: /src/libgcrypt/cipher/rijndael-padlock.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - bx
    - ax
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: _gcry_aes_padlock_encrypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-padlock.c
    functionUses: 0
    functionsReached:
    - do_padlock
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_aes_padlock_encrypt (const RIJNDAEL_context *ctx,\n
      \                          unsigned char *bx, const unsigned char *ax)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_padlock
      Src: /src/libgcrypt/cipher/rijndael-padlock.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - bx
    - ax
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: _gcry_aes_padlock_decrypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-padlock.c
    functionUses: 0
    functionsReached:
    - do_padlock
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_aes_padlock_decrypt (const RIJNDAEL_context *ctx,\n
      \                          unsigned char *bx, const unsigned char *ax)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: _gcry_aes_padlock_prepare_decryption
    functionSourceFile: /src/libgcrypt/cipher/rijndael-padlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_aes_padlock_prepare_decryption (RIJNDAEL_context *ctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 73
    functionName: algo_to_curve
    functionSourceFile: /src/libgcrypt/cipher/kem-ecc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      algo_to_curve (int algo)'
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 113
    functionName: algo_to_seckey_len
    functionSourceFile: /src/libgcrypt/cipher/kem-ecc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int algo_to_seckey_len (int algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: algo_to_curve
      Src: /src/libgcrypt/cipher/kem-ecc.c:121,1
    - Dst: _gcry_ecc_curve_mul_point
      Src: /src/libgcrypt/cipher/kem-ecc.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - algo
    - result
    - result_len
    - scalar
    - scalar_len
    - point
    - point_len
    argTypes:
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: ecc_mul_point
    functionSourceFile: /src/libgcrypt/cipher/kem-ecc.c
    functionUses: 5
    functionsReached:
    - _gcry_ecc_curve_mul_point
    - algo_to_curve
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t ecc_mul_point (int algo, unsigned char *result, size_t
      result_len,\n               const unsigned char *scalar, size_t scalar_len,\n
      \              const unsigned char *point, size_t point_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: algo_to_curve
      Src: /src/libgcrypt/cipher/kem-ecc.c:132,1
    - Dst: _gcry_ecc_curve_keypair
      Src: /src/libgcrypt/cipher/kem-ecc.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - algo
    - pubkey
    - pubkey_len
    - seckey
    - seckey_len
    argTypes:
    - int
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: _gcry_ecc_raw_keypair
    functionSourceFile: /src/libgcrypt/cipher/kem-ecc.c
    functionUses: 0
    functionsReached:
    - algo_to_curve
    - _gcry_ecc_curve_keypair
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_raw_keypair (int algo, void *pubkey, size_t
      pubkey_len,\n                       void *seckey, size_t seckey_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: algo_to_seckey_len
      Src: /src/libgcrypt/cipher/kem-ecc.c:151,1
    - Dst: _gcry_ecc_raw_keypair
      Src: /src/libgcrypt/cipher/kem-ecc.c:152,1
    - Dst: ecc_mul_point
      Src: /src/libgcrypt/cipher/kem-ecc.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - algo
    - pubkey
    - pubkey_len
    - ciphertext
    - ciphertext_len
    - shared
    - shared_len
    argTypes:
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 160
    functionName: _gcry_ecc_raw_encap
    functionSourceFile: /src/libgcrypt/cipher/kem-ecc.c
    functionUses: 0
    functionsReached:
    - ecc_mul_point
    - _gcry_ecc_raw_keypair
    - algo_to_seckey_len
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_raw_encap (int algo, const void *pubkey,
      size_t pubkey_len,\n                     void *ciphertext, size_t ciphertext_len,\n
      \                    void *shared, size_t shared_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mul_point
      Src: /src/libgcrypt/cipher/kem-ecc.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - algo
    - seckey
    - seckey_len
    - ciphertext
    - ciphertext_len
    - shared
    - shared_len
    argTypes:
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: _gcry_ecc_raw_decap
    functionSourceFile: /src/libgcrypt/cipher/kem-ecc.c
    functionUses: 0
    functionsReached:
    - ecc_mul_point
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_raw_decap (int algo, const void *seckey,
      size_t seckey_len,\n                     const void *ciphertext, size_t ciphertext_len,\n
      \                    void *shared, size_t shared_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mac_get_algo_maclen
      Src: /src/libgcrypt/cipher/kem-ecc.c:202,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kem-ecc.c:208,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kem-ecc.c:210,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kem-ecc.c:214,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kem-ecc.c:216,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kem-ecc.c:223,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kem-ecc.c:225,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kem-ecc.c:229,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kem-ecc.c:232,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kem-ecc.c:234,1
    - Dst: _gcry_kdf_open
      Src: /src/libgcrypt/cipher/kem-ecc.c:237,1
    - Dst: _gcry_kdf_compute
      Src: /src/libgcrypt/cipher/kem-ecc.c:243,1
    - Dst: _gcry_kdf_final
      Src: /src/libgcrypt/cipher/kem-ecc.c:245,1
    - Dst: _gcry_kdf_close
      Src: /src/libgcrypt/cipher/kem-ecc.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 6
    argNames:
    - kem_algo
    - ecc_len
    - ecdh
    - ciphertext
    - pubkey
    - shared
    argTypes:
    - int
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 248
    functionName: ecc_dhkem_kdf
    functionSourceFile: /src/libgcrypt/cipher/kem-ecc.c
    functionUses: 0
    functionsReached:
    - _gcry_kdf_compute
    - _gcry_mac_get_algo_maclen
    - _gcry_kdf_close
    - _gcry_kdf_open
    - _gcry_kdf_final
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t ecc_dhkem_kdf (int kem_algo, size_t ecc_len,\n               const
      unsigned char *ecdh, const unsigned char *ciphertext,\n               const
      unsigned char *pubkey, void *shared)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ecc_get_algo_keylen
      Src: /src/libgcrypt/cipher/kem-ecc.c:276,1
    - Dst: _gcry_ecc_raw_keypair
      Src: /src/libgcrypt/cipher/kem-ecc.c:278,1
    - Dst: ecc_mul_point
      Src: /src/libgcrypt/cipher/kem-ecc.c:284,1
    - Dst: ecc_dhkem_kdf
      Src: /src/libgcrypt/cipher/kem-ecc.c:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - algo
    - pubkey
    - ciphertext
    - shared
    argTypes:
    - int
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 290
    functionName: _gcry_ecc_dhkem_encap
    functionSourceFile: /src/libgcrypt/cipher/kem-ecc.c
    functionUses: 0
    functionsReached:
    - ecc_mul_point
    - _gcry_ecc_raw_keypair
    - _gcry_ecc_get_algo_keylen
    - ecc_dhkem_kdf
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_dhkem_encap (int algo, const void *pubkey,
      void *ciphertext,\n                       void *shared)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ecc_get_algo_keylen
      Src: /src/libgcrypt/cipher/kem-ecc.c:317,1
    - Dst: ecc_mul_point
      Src: /src/libgcrypt/cipher/kem-ecc.c:323,1
    - Dst: ecc_mul_point
      Src: /src/libgcrypt/cipher/kem-ecc.c:332,1
    - Dst: ecc_dhkem_kdf
      Src: /src/libgcrypt/cipher/kem-ecc.c:337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - algo
    - seckey
    - ciphertext
    - shared
    - optional
    argTypes:
    - int
    - void*
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 338
    functionName: _gcry_ecc_dhkem_decap
    functionSourceFile: /src/libgcrypt/cipher/kem-ecc.c
    functionUses: 0
    functionsReached:
    - ecc_mul_point
    - _gcry_ecc_get_algo_keylen
    - ecc_dhkem_kdf
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_dhkem_decap (int algo, const void *seckey,
      const void *ciphertext,\n                       void *shared, const void *optional)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: montgomery_reduce
      Src: /src/libgcrypt/cipher/dilithium-common.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - a
    argTypes:
    - int32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: ntt
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 2
    functionsReached:
    - montgomery_reduce
    linkageType: ''
    returnType: void
    signature: void ntt(int32_t a[N])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: montgomery_reduce
      Src: /src/libgcrypt/cipher/dilithium-common.c:137,1
    - Dst: montgomery_reduce
      Src: /src/libgcrypt/cipher/dilithium-common.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - a
    argTypes:
    - int32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: invntt_tomont
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - montgomery_reduce
    linkageType: ''
    returnType: void
    signature: void invntt_tomont(int32_t a[N])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a0
    - a
    argTypes:
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: power2round
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t power2round(int32_t *a0, int32_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - a0
    - a
    argTypes:
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 212
    functionName: decompose_88
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t decompose_88(int32_t *a0, int32_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - a0
    - a
    argTypes:
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 225
    functionName: decompose_32
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t decompose_32(int32_t *a0, int32_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a0
    - a1
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: make_hint_88
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int make_hint_88(int32_t a0, int32_t a1)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a0
    - a1
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: make_hint_32
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int make_hint_32(int32_t a0, int32_t a1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decompose_88
      Src: /src/libgcrypt/cipher/dilithium-common.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - hint
    argTypes:
    - int32_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 278
    functionName: use_hint_88
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - decompose_88
    linkageType: ''
    returnType: int32_t
    signature: int32_t use_hint_88(int32_t a, unsigned int hint)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decompose_32
      Src: /src/libgcrypt/cipher/dilithium-common.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - hint
    argTypes:
    - int32_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: use_hint_32
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - decompose_32
    linkageType: ''
    returnType: int32_t
    signature: int32_t use_hint_32(int32_t a, unsigned int hint)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: DBENCH_START
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBENCH_START()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: DBENCH_STOP
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBENCH_STOP(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:316,1
    - Dst: reduce32
      Src: /src/libgcrypt/cipher/dilithium-common.c:319,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: poly_reduce
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 1
    functionsReached:
    - DBENCH_START
    - reduce32
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void poly_reduce(poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:334,1
    - Dst: caddq
      Src: /src/libgcrypt/cipher/dilithium-common.c:337,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: poly_caddq
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - caddq
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void poly_caddq(poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:353,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - poly*
    - poly*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: poly_add
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void poly_add(poly *c, const poly *a, const poly *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:374,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - poly*
    - poly*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 380
    functionName: poly_sub
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void poly_sub(poly *c, const poly *a, const poly *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:392,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 398
    functionName: poly_shiftl
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void poly_shiftl(poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:409,1
    - Dst: ntt
      Src: /src/libgcrypt/cipher/dilithium-common.c:411,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 414
    functionName: poly_ntt
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    - ntt
    linkageType: ''
    returnType: void
    signature: void poly_ntt(poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:426,1
    - Dst: invntt_tomont
      Src: /src/libgcrypt/cipher/dilithium-common.c:428,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: poly_invntt_tomont
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    - invntt_tomont
    linkageType: ''
    returnType: void
    signature: void poly_invntt_tomont(poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:446,1
    - Dst: montgomery_reduce
      Src: /src/libgcrypt/cipher/dilithium-common.c:449,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - poly*
    - poly*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 452
    functionName: poly_pointwise_montgomery
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    - montgomery_reduce
    linkageType: ''
    returnType: void
    signature: void poly_pointwise_montgomery(poly *c, const poly *a, const poly *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:468,1
    - Dst: power2round
      Src: /src/libgcrypt/cipher/dilithium-common.c:471,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a1
    - a0
    - a
    argTypes:
    - poly*
    - poly*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 474
    functionName: poly_power2round
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    - power2round
    linkageType: ''
    returnType: void
    signature: void poly_power2round(poly *a1, poly *a0, const poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:493,1
    - Dst: decompose_88
      Src: /src/libgcrypt/cipher/dilithium-common.c:496,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a1
    - a0
    - a
    argTypes:
    - poly*
    - poly*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 499
    functionName: poly_decompose_88
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - decompose_88
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void poly_decompose_88(poly *a1, poly *a0, const poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:505,1
    - Dst: decompose_32
      Src: /src/libgcrypt/cipher/dilithium-common.c:508,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a1
    - a0
    - a
    argTypes:
    - poly*
    - poly*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 511
    functionName: poly_decompose_32
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    - decompose_32
    linkageType: ''
    returnType: void
    signature: void poly_decompose_32(poly *a1, poly *a0, const poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:531,1
    - Dst: make_hint_88
      Src: /src/libgcrypt/cipher/dilithium-common.c:534,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - h
    - a0
    - a1
    argTypes:
    - poly*
    - poly*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 540
    functionName: poly_make_hint_88
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    - make_hint_88
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int poly_make_hint_88(poly *h, const poly *a0, const poly
      *a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:546,1
    - Dst: make_hint_32
      Src: /src/libgcrypt/cipher/dilithium-common.c:549,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - h
    - a0
    - a1
    argTypes:
    - poly*
    - poly*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 555
    functionName: poly_make_hint_32
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    - make_hint_32
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int poly_make_hint_32(poly *h, const poly *a0, const poly
      *a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:571,1
    - Dst: use_hint_88
      Src: /src/libgcrypt/cipher/dilithium-common.c:574,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - b
    - a
    - h
    argTypes:
    - poly*
    - poly*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 577
    functionName: poly_use_hint_88
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    - use_hint_88
    linkageType: ''
    returnType: void
    signature: void poly_use_hint_88(poly *b, const poly *a, const poly *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:583,1
    - Dst: use_hint_32
      Src: /src/libgcrypt/cipher/dilithium-common.c:586,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - b
    - a
    - h
    argTypes:
    - poly*
    - poly*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 589
    functionName: poly_use_hint_32
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - use_hint_32
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void poly_use_hint_32(poly *b, const poly *a, const poly *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:606,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:620,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:625,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - a
    - B
    argTypes:
    - poly*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 627
    functionName: poly_chknorm
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: int
    signature: int poly_chknorm(const poly *a, int32_t B)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:650,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:663,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - a
    - len
    - buf
    - buflen
    argTypes:
    - int32_t*
    - unsigned int
    - uint8_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 665
    functionName: rej_uniform
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int rej_uniform(int32_t *a,\n                                unsigned
      int len,\n                                const uint8_t *buf,\n                                unsigned
      int buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream128_init
      Src: /src/libgcrypt/cipher/dilithium-common.c:688,1
    - Dst: stream128_squeezeblocks
      Src: /src/libgcrypt/cipher/dilithium-common.c:689,1
    - Dst: rej_uniform
      Src: /src/libgcrypt/cipher/dilithium-common.c:691,1
    - Dst: stream128_squeezeblocks
      Src: /src/libgcrypt/cipher/dilithium-common.c:698,1
    - Dst: rej_uniform
      Src: /src/libgcrypt/cipher/dilithium-common.c:700,1
    - Dst: stream128_close
      Src: /src/libgcrypt/cipher/dilithium-common.c:702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - a
    - seed
    - nonce
    argTypes:
    - poly*
    - uint8_t[]
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 703
    functionName: poly_uniform
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - stream128_squeezeblocks
    - stream128_init
    - rej_uniform
    - stream128_close
    linkageType: ''
    returnType: void
    signature: "void poly_uniform(poly *a,\n                  const uint8_t seed[SEEDBYTES],\n
      \                 uint16_t nonce)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:727,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - a
    - len
    - buf
    - buflen
    argTypes:
    - int32_t*
    - unsigned int
    - uint8_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 746
    functionName: rej_eta_2
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int rej_eta_2(int32_t *a,\n                              unsigned
      int len,\n                              const uint8_t *buf,\n                              unsigned
      int buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:756,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:769,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - a
    - len
    - buf
    - buflen
    argTypes:
    - int32_t*
    - unsigned int
    - uint8_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 771
    functionName: rej_eta_4
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int rej_eta_4(int32_t *a,\n                              unsigned
      int len,\n                              const uint8_t *buf,\n                              unsigned
      int buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream256_init
      Src: /src/libgcrypt/cipher/dilithium-common.c:797,1
    - Dst: stream256_squeezeblocks
      Src: /src/libgcrypt/cipher/dilithium-common.c:798,1
    - Dst: rej_eta_2
      Src: /src/libgcrypt/cipher/dilithium-common.c:800,1
    - Dst: stream256_squeezeblocks
      Src: /src/libgcrypt/cipher/dilithium-common.c:803,1
    - Dst: rej_eta_2
      Src: /src/libgcrypt/cipher/dilithium-common.c:804,1
    - Dst: stream256_close
      Src: /src/libgcrypt/cipher/dilithium-common.c:806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - a
    - seed
    - nonce
    argTypes:
    - poly*
    - uint8_t[]
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 807
    functionName: poly_uniform_eta_2
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - stream256_init
    - rej_eta_2
    - stream256_close
    - stream256_squeezeblocks
    linkageType: ''
    returnType: void
    signature: "void poly_uniform_eta_2(poly *a,\n                        const uint8_t
      seed[CRHBYTES],\n                        uint16_t nonce)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream256_init
      Src: /src/libgcrypt/cipher/dilithium-common.c:821,1
    - Dst: stream256_squeezeblocks
      Src: /src/libgcrypt/cipher/dilithium-common.c:822,1
    - Dst: rej_eta_4
      Src: /src/libgcrypt/cipher/dilithium-common.c:824,1
    - Dst: stream256_squeezeblocks
      Src: /src/libgcrypt/cipher/dilithium-common.c:827,1
    - Dst: rej_eta_4
      Src: /src/libgcrypt/cipher/dilithium-common.c:828,1
    - Dst: stream256_close
      Src: /src/libgcrypt/cipher/dilithium-common.c:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - a
    - seed
    - nonce
    argTypes:
    - poly*
    - uint8_t[]
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 811
    functionDepth: 2
    functionLinenumber: 811
    functionLinenumberEnd: 831
    functionName: poly_uniform_eta_4
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - stream256_init
    - stream256_close
    - rej_eta_4
    - stream256_squeezeblocks
    linkageType: ''
    returnType: void
    signature: "void poly_uniform_eta_4(poly *a,\n                        const uint8_t
      seed[CRHBYTES],\n                        uint16_t nonce)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream256_init
      Src: /src/libgcrypt/cipher/dilithium-common.c:856,1
    - Dst: stream256_squeezeblocks
      Src: /src/libgcrypt/cipher/dilithium-common.c:857,1
    - Dst: polyz_unpack_17
      Src: /src/libgcrypt/cipher/dilithium-common.c:858,1
    - Dst: stream256_close
      Src: /src/libgcrypt/cipher/dilithium-common.c:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - seed
    - nonce
    argTypes:
    - poly*
    - uint8_t[]
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 860
    functionName: poly_uniform_gamma1_17
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - stream256_close
    - stream256_init
    - polyz_unpack_17
    - stream256_squeezeblocks
    linkageType: ''
    returnType: void
    signature: "void poly_uniform_gamma1_17(poly *a,\n                            const
      uint8_t seed[CRHBYTES],\n                            uint16_t nonce)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream256_init
      Src: /src/libgcrypt/cipher/dilithium-common.c:873,1
    - Dst: stream256_squeezeblocks
      Src: /src/libgcrypt/cipher/dilithium-common.c:874,1
    - Dst: polyz_unpack_19
      Src: /src/libgcrypt/cipher/dilithium-common.c:875,1
    - Dst: stream256_close
      Src: /src/libgcrypt/cipher/dilithium-common.c:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - seed
    - nonce
    argTypes:
    - poly*
    - uint8_t[]
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 877
    functionName: poly_uniform_gamma1_19
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - stream256_init
    - stream256_close
    - polyz_unpack_19
    - stream256_squeezeblocks
    linkageType: ''
    returnType: void
    signature: "void poly_uniform_gamma1_19(poly *a,\n                            const
      uint8_t seed[CRHBYTES],\n                            uint16_t nonce)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:894,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - uint8_t*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 912
    functionName: polyeta_pack_2
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void polyeta_pack_2(uint8_t *r, const poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:919,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:927,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - uint8_t*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 928
    functionName: polyeta_pack_4
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void polyeta_pack_4(uint8_t *r, const poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:943,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - poly*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 966
    functionName: polyeta_unpack_2
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void polyeta_unpack_2(poly *r, const uint8_t *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:972,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:981,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - poly*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 982
    functionName: polyeta_unpack_4
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void polyeta_unpack_4(poly *r, const uint8_t *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:997,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:1007,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - uint8_t*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1008
    functionName: polyt1_pack
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void polyt1_pack(uint8_t *r, const poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:1021,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:1030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - poly*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1031
    functionName: polyt1_unpack
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void polyt1_unpack(poly *r, const uint8_t *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:1045,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:1079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - uint8_t*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1080
    functionName: polyt0_pack
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void polyt0_pack(uint8_t *r, const poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:1092,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:1141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - poly*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1142
    functionName: polyt0_unpack
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void polyt0_unpack(poly *r, const uint8_t *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:1159,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:1181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - uint8_t*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1155
    functionDepth: 1
    functionLinenumber: 1155
    functionLinenumberEnd: 1182
    functionName: polyz_pack_17
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void polyz_pack_17(uint8_t *r, const poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:1189,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:1203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - uint8_t*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1204
    functionName: polyz_pack_19
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void polyz_pack_19(uint8_t *r, const poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:1220,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:1249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - poly*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1217
    functionDepth: 1
    functionLinenumber: 1217
    functionLinenumberEnd: 1250
    functionName: polyz_unpack_17
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 1
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void polyz_unpack_17(poly *r, const uint8_t *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:1256,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:1273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - poly*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1253
    functionDepth: 1
    functionLinenumber: 1253
    functionLinenumberEnd: 1274
    functionName: polyz_unpack_19
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 1
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void polyz_unpack_19(poly *r, const uint8_t *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:1291,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:1302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - uint8_t*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1303
    functionName: polyw1_pack_88
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void polyw1_pack_88(uint8_t *r, const poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBENCH_START
      Src: /src/libgcrypt/cipher/dilithium-common.c:1309,1
    - Dst: DBENCH_STOP
      Src: /src/libgcrypt/cipher/dilithium-common.c:1314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - uint8_t*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1315
    functionName: polyw1_pack_32
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 0
    functionsReached:
    - DBENCH_START
    - DBENCH_STOP
    linkageType: ''
    returnType: void
    signature: void polyw1_pack_32(uint8_t *r, const poly *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1335
    functionName: montgomery_reduce
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t montgomery_reduce(int64_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1353
    functionName: reduce32
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t reduce32(int32_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1367
    functionName: caddq
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t caddq(int32_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduce32
      Src: /src/libgcrypt/cipher/dilithium-common.c:1381,1
    - Dst: caddq
      Src: /src/libgcrypt/cipher/dilithium-common.c:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1384
    functionName: freeze
    functionSourceFile: /src/libgcrypt/cipher/dilithium-common.c
    functionUses: 3
    functionsReached:
    - reduce32
    - caddq
    linkageType: ''
    returnType: int32_t
    signature: int32_t freeze(int32_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: ROTATE16
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE16(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: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: ROTATE8
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE8(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: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: ROTATE
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(v, c)
  - 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: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: XOR
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XOR(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: PLUS
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLUS(v, w)
  - 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: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: WORD_ROL
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WORD_ROL(v, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - a0
    - ','
    - b0
    - ','
    - c0
    - ','
    - d0
    - ','
    - a1
    - ','
    - b1
    - ','
    - c1
    - ','
    - d1
    - ','
    - a2
    - ','
    - b2
    - ','
    - c2
    - ','
    - d2
    - ','
    - a3
    - ','
    - b3
    - ','
    - c3
    - ','
    - d3
    - )
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 85
    functionName: QUARTERROUND_4
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "QUARTERROUND_4(a0, b0, c0, d0, a1, b1, c1, d1, \\\n\t\t       a2,
      b2, c2, d2, a3, b3, c3, d3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - y0
    - ','
    - y1
    - ','
    - y2
    - ','
    - y3
    - ','
    - rol_x1
    - ','
    - rol_x2
    - ','
    - rol_x3
    - )
    argTypes:
    - 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: 102
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: QUARTERROUND4_2
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUARTERROUND4_2(x0, x1, x2, x3, y0, y1, y2, y3, rol_x1, rol_x2, rol_x3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - rol_x1
    - ','
    - rol_x2
    - ','
    - rol_x3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: QUARTERROUND4
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUARTERROUND4(x0, x1, x2, x3, rol_x1, rol_x2, rol_x3)
  - 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: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: ADD_U64
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_U64(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - data
    - ','
    - idx
    - ','
    - vs
    - ','
    - vl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: vxor_v_u32m1_u32m1x8
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vxor_v_u32m1_u32m1x8(data, idx, vs, vl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vxor_vx_u16m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:127,1
    - Dst: __riscv_vid_v_u16m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vl
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: vuint16m1_t::gen_rot16
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached:
    - __riscv_vxor_vx_u16m1
    - __riscv_vid_v_u16m1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vuint16m1_t

      gen_rot16(size_t vl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vid_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:135,1
    - Dst: __riscv_vand_vx_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:136,1
    - Dst: __riscv_vadd_vx_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:137,1
    - Dst: __riscv_vand_vx_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:138,1
    - Dst: __riscv_vadd_vv_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - vl
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: gen_rot8
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached:
    - __riscv_vadd_vx_u8m1
    - __riscv_vand_vx_u8m1
    - __riscv_vid_v_u8m1
    - __riscv_vadd_vv_u8m1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE gen_rot8(size_t vl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vid_v_u16m2
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:147,1
    - Dst: __riscv_vand_vx_u16m2
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:148,1
    - Dst: __riscv_vsrl_vx_u16m2
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:149,1
    - Dst: __riscv_vmul_vx_u16m2
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:150,1
    - Dst: __riscv_vadd_vv_u16m2
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vl
    - stride
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: vuint16m2_t::gen_indexes
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached:
    - __riscv_vsrl_vx_u16m2
    - __riscv_vand_vx_u16m2
    - __riscv_vid_v_u16m2
    - __riscv_vadd_vv_u16m2
    - __riscv_vmul_vx_u16m2
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vuint16m2_t

      gen_indexes(size_t vl, size_t stride)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vreinterpret_v_u8m1_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:158,1
    - Dst: __riscv_vle8_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:158,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - src
    - vl
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: vuint32m1_t::unaligned_load_u32m1
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached:
    - __riscv_vreinterpret_v_u8m1_u32m1
    - __riscv_vle8_v_u8m1
    - __riscv_vle32_v_u32m1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vuint32m1_t

      unaligned_load_u32m1(const void *src, size_t vl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vse8_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:168,1
    - Dst: __riscv_vreinterpret_v_u32m1_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:168,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - vec
    - vl
    argTypes:
    - void*
    - vuint32m1_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: unaligned_store_u32m1
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached:
    - __riscv_vreinterpret_v_u32m1_u8m1
    - __riscv_vse8_v_u8m1
    - __riscv_vse32_v_u32m1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE unaligned_store_u32m1(void *dst, vuint32m1_t vec,
      size_t vl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNLIKELY
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:178,1
    - Dst: gen_indexes
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:185,1
    - Dst: __riscv_vluxei16_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:187,1
    - Dst: __riscv_vluxei16_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:188,1
    - Dst: __riscv_vluxei16_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:189,1
    - Dst: __riscv_vluxei16_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:190,1
    - Dst: __riscv_vluxei16_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:191,1
    - Dst: __riscv_vluxei16_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:192,1
    - Dst: __riscv_vluxei16_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:193,1
    - Dst: __riscv_vluxei16_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:194,1
    - Dst: __riscv_vundefined_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:196,1
    - Dst: __riscv_vset_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:197,1
    - Dst: __riscv_vreinterpret_v_u8m1_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:198,1
    - Dst: __riscv_vset_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:199,1
    - Dst: __riscv_vreinterpret_v_u8m1_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:200,1
    - Dst: __riscv_vset_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:201,1
    - Dst: __riscv_vreinterpret_v_u8m1_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:202,1
    - Dst: __riscv_vset_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:203,1
    - Dst: __riscv_vreinterpret_v_u8m1_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:204,1
    - Dst: __riscv_vset_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:205,1
    - Dst: __riscv_vreinterpret_v_u8m1_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:206,1
    - Dst: __riscv_vset_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:207,1
    - Dst: __riscv_vreinterpret_v_u8m1_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:208,1
    - Dst: __riscv_vset_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:209,1
    - Dst: __riscv_vreinterpret_v_u8m1_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:210,1
    - Dst: __riscv_vset_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:211,1
    - Dst: __riscv_vreinterpret_v_u8m1_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:212,1
    - Dst: __riscv_vlsseg8e32_v_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - src
    - vl
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 222
    functionName: vuint32m1x8_t::unaligned_vlsseg8e32_v_u32m1x8
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached:
    - __riscv_vluxei16_v_u8m1
    - __riscv_vreinterpret_v_u8m1_u32m1
    - __riscv_vundefined_u32m1x8
    - __riscv_vlsseg8e32_v_u32m1x8
    - UNLIKELY
    - gen_indexes
    - __riscv_vset_v_u32m1_u32m1x8
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vuint32m1x8_t

      unaligned_vlsseg8e32_v_u32m1x8(const void *src, size_t vl)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNLIKELY
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:228,1
    - Dst: gen_indexes
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:234,1
    - Dst: __riscv_vreinterpret_v_u32m1_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:236,1
    - Dst: __riscv_vget_v_u32m1x8_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:236,1
    - Dst: __riscv_vreinterpret_v_u32m1_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:237,1
    - Dst: __riscv_vget_v_u32m1x8_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:237,1
    - Dst: __riscv_vreinterpret_v_u32m1_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:238,1
    - Dst: __riscv_vget_v_u32m1x8_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:238,1
    - Dst: __riscv_vreinterpret_v_u32m1_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:239,1
    - Dst: __riscv_vget_v_u32m1x8_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:239,1
    - Dst: __riscv_vreinterpret_v_u32m1_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:240,1
    - Dst: __riscv_vget_v_u32m1x8_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:240,1
    - Dst: __riscv_vreinterpret_v_u32m1_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:241,1
    - Dst: __riscv_vget_v_u32m1x8_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:241,1
    - Dst: __riscv_vreinterpret_v_u32m1_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:242,1
    - Dst: __riscv_vget_v_u32m1x8_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:242,1
    - Dst: __riscv_vreinterpret_v_u32m1_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:243,1
    - Dst: __riscv_vget_v_u32m1x8_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:243,1
    - Dst: __riscv_vsuxei16_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:245,1
    - Dst: __riscv_vsuxei16_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:246,1
    - Dst: __riscv_vsuxei16_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:247,1
    - Dst: __riscv_vsuxei16_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:248,1
    - Dst: __riscv_vsuxei16_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:249,1
    - Dst: __riscv_vsuxei16_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:250,1
    - Dst: __riscv_vsuxei16_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:251,1
    - Dst: __riscv_vsuxei16_v_u8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:252,1
    - Dst: __riscv_vssseg8e32_v_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 3
    argNames:
    - dst
    - data
    - vl
    argTypes:
    - void*
    - vuint32m1x8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 261
    functionName: unaligned_vssseg8e32_v_u32m1x8
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached:
    - __riscv_vssseg8e32_v_u32m1x8
    - __riscv_vget_v_u32m1x8_u32m1
    - __riscv_vsuxei16_v_u8m1
    - __riscv_vreinterpret_v_u32m1_u8m1
    - UNLIKELY
    - gen_indexes
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE unaligned_vssseg8e32_v_u32m1x8(void *dst, vuint32m1x8_t
      data, size_t vl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vsetvl_e32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:274,1
    - Dst: __riscv_vsetvl_e32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:275,1
    - Dst: __riscv_vsetvl_e32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:275,1
    - Dst: gen_rot16
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:280,1
    - Dst: gen_rot8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:281,1
    - Dst: __riscv_vmv_v_x_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:309,1
    - Dst: __riscv_vmv_v_x_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:310,1
    - Dst: __riscv_vmv_v_x_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:311,1
    - Dst: __riscv_vmv_v_x_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:312,1
    - Dst: __riscv_vmv_v_x_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:313,1
    - Dst: __riscv_vmv_v_x_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:314,1
    - Dst: __riscv_vmv_v_x_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:315,1
    - Dst: __riscv_vmv_v_x_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:316,1
    - Dst: __riscv_vmv_v_x_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:317,1
    - Dst: __riscv_vmv_v_x_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:318,1
    - Dst: __riscv_vmv_v_x_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:319,1
    - Dst: __riscv_vmv_v_x_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:320,1
    - Dst: __riscv_vmv_v_x_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:321,1
    - Dst: __riscv_vmv_v_x_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:322,1
    - Dst: __riscv_vmv_v_x_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:323,1
    - Dst: __riscv_vid_v_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:325,1
    - Dst: __riscv_vmadc_vx_u32m1_b32
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:326,1
    - Dst: __riscv_vadd_vx_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:327,1
    - Dst: __riscv_vadc_vxm_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:329,1
    - Dst: QUARTERROUND_4
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:333,1
    - Dst: QUARTERROUND_4
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:337,1
    - Dst: __riscv_vadd_vx_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:343,1
    - Dst: __riscv_vadd_vx_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:344,1
    - Dst: __riscv_vadd_vx_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:345,1
    - Dst: __riscv_vadd_vx_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:346,1
    - Dst: __riscv_vadd_vx_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:347,1
    - Dst: __riscv_vadd_vx_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:348,1
    - Dst: __riscv_vadd_vx_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:349,1
    - Dst: __riscv_vadd_vx_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:350,1
    - Dst: __riscv_vadd_vx_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:351,1
    - Dst: __riscv_vadd_vx_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:352,1
    - Dst: __riscv_vadd_vx_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:353,1
    - Dst: __riscv_vadd_vx_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:354,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:355,1
    - Dst: __riscv_vadc_vxm_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:356,1
    - Dst: __riscv_vadd_vx_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:357,1
    - Dst: __riscv_vadd_vx_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:358,1
    - Dst: unaligned_vlsseg8e32_v_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:363,1
    - Dst: vxor_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:365,1
    - Dst: vxor_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:366,1
    - Dst: vxor_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:367,1
    - Dst: vxor_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:368,1
    - Dst: vxor_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:369,1
    - Dst: vxor_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:370,1
    - Dst: vxor_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:371,1
    - Dst: vxor_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:372,1
    - Dst: unaligned_vssseg8e32_v_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:374,1
    - Dst: unaligned_vlsseg8e32_v_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:376,1
    - Dst: vxor_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:378,1
    - Dst: vxor_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:379,1
    - Dst: vxor_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:380,1
    - Dst: vxor_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:381,1
    - Dst: vxor_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:382,1
    - Dst: vxor_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:383,1
    - Dst: vxor_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:384,1
    - Dst: vxor_v_u32m1_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:385,1
    - Dst: unaligned_vssseg8e32_v_u32m1x8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:387,1
    - Dst: __riscv_vsetvl_e32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:392,1
    - Dst: __riscv_vsetvl_e32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:393,1
    - Dst: __riscv_vsetvl_e32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:393,1
    - Dst: gen_rot16
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:418,1
    - Dst: gen_rot8
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:419,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:421,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:422,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:423,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:424,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:426,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:427,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:428,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:429,1
    - Dst: ADD_U64
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:446,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:448,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:449,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:450,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:451,1
    - Dst: QUARTERROUND4_2
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:455,1
    - Dst: QUARTERROUND4_2
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:456,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:459,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:460,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:461,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:462,1
    - Dst: ADD_U64
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:463,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:465,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:466,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:467,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:468,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:470,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:471,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:472,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:473,1
    - Dst: ADD_U64
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:474,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:476,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:477,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:478,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:479,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:481,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:482,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:483,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:484,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:486,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:487,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:488,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:489,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:491,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:492,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:493,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:494,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:510,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:511,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:512,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:513,1
    - Dst: QUARTERROUND4
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:517,1
    - Dst: QUARTERROUND4
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:518,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:521,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:522,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:523,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:524,1
    - Dst: ADD_U64
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:526,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:528,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:529,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:530,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:531,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:532,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:533,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:534,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:535,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:543,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 189
    argCount: 4
    argNames:
    - input
    - dst
    - src
    - nblks
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 546
    functionName: chacha20_rvv_blocks
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached:
    - unaligned_load_u32m1
    - __riscv_vadc_vxm_u32m1
    - ADD_U64
    - QUARTERROUND4
    - unaligned_vlsseg8e32_v_u32m1x8
    - gen_rot16
    - __riscv_vmadc_vx_u32m1_b32
    - __riscv_vadd_vv_u32m1
    - QUARTERROUND4_2
    - __riscv_vsetvl_e32m1
    - QUARTERROUND_4
    - __riscv_vxor_vv_u32m1
    - __riscv_vadd_vx_u32m1
    - clear_vec_regs
    - __riscv_vmv_v_x_u32m1
    - gen_rot8
    - unaligned_vssseg8e32_v_u32m1x8
    - __riscv_vid_v_u32m1
    - unaligned_store_u32m1
    - vxor_v_u32m1_u32m1x8
    - __riscv_vle32_v_u32m1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE unsigned
    signature: ASM_FUNC_ATTR_INLINE unsigned chacha20_rvv_blocks(u32 *input, byte
      *dst, const byte *src, size_t nblks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_rvv_blocks
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - dst
    - src
    - nblks
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 561
    functionName: _gcry_chacha20_riscv_v_blocks
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached:
    - chacha20_rvv_blocks
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_chacha20_riscv_v_blocks(u32 *state, byte *dst,
      const byte *src,\n\t\t\t      size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vsetvl_e8m1
      Src: /src/libgcrypt/cipher/chacha20-riscv-v.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 567
    functionName: _gcry_chacha20_riscv_v_check_hw
    functionSourceFile: /src/libgcrypt/cipher/chacha20-riscv-v.c
    functionUses: 0
    functionsReached:
    - __riscv_vsetvl_e8m1
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_chacha20_riscv_v_check_hw(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - burn
    - ','
    - nburn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: set_burn
    functionSourceFile: /src/libgcrypt/cipher/cipher-cmac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_burn(burn, nburn)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blocksize_shift
      Src: /src/libgcrypt/cipher/cipher-cmac.c:41,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-cmac.c:60,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-cmac.c:74,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-cmac.c:79,1
    - Dst: set_burn
      Src: /src/libgcrypt/cipher/cipher-cmac.c:80,1
    - Dst: enc_fn
      Src: /src/libgcrypt/cipher/cipher-cmac.c:80,1
    - Dst: gcry_cipher_hd_t::bulk::cbc_enc
      Src: /src/libgcrypt/cipher/cipher-cmac.c:90,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-cmac.c:94,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-cmac.c:99,1
    - Dst: set_burn
      Src: /src/libgcrypt/cipher/cipher-cmac.c:100,1
    - Dst: enc_fn
      Src: /src/libgcrypt/cipher/cipher-cmac.c:100,1
    - Dst: BUG
      Src: /src/libgcrypt/cipher/cipher-cmac.c:107,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-cmac.c:113,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-cmac.c:119,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 4
    argNames:
    - c
    - ctx
    - inbuf
    - inlen
    argTypes:
    - gcry_cipher_hd_t
    - gcry_cmac_context_t*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 122
    functionName: _gcry_cmac_write
    functionSourceFile: /src/libgcrypt/cipher/cipher-cmac.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor
    - BUG
    - wipememory
    - gcry_cipher_hd_t::bulk::cbc_enc
    - buf_cpy
    - _gcry_burn_stack
    - set_burn
    - _gcry_blocksize_shift
    - enc_fn
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cmac_write (gcry_cipher_hd_t c, gcry_cmac_context_t
      *ctx,\n\t\t  const byte * inbuf, size_t inlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/libgcrypt/cipher/cipher-cmac.c:144,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-cmac.c:147,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-cmac.c:148,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-cmac.c:169,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-cmac.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - c
    - ctx
    argTypes:
    - gcry_cipher_hd_t
    - gcry_cmac_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 174
    functionName: _gcry_cmac_generate_subkeys
    functionSourceFile: /src/libgcrypt/cipher/cipher-cmac.c
    functionUses: 0
    functionsReached:
    - BUG
    - wipememory
    - _gcry_burn_stack
    - memset
    - gcry_cipher_hd_t::spec::encrypt
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cmac_generate_subkeys (gcry_cipher_hd_t c, gcry_cmac_context_t
      *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-cmac.c:200,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-cmac.c:202,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-cmac.c:203,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-cmac.c:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - c
    - ctx
    argTypes:
    - gcry_cipher_hd_t
    - gcry_cmac_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 210
    functionName: _gcry_cmac_final
    functionSourceFile: /src/libgcrypt/cipher/cipher-cmac.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - cipher_block_xor
    - gcry_cipher_hd_t::spec::encrypt
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cmac_final (gcry_cipher_hd_t c, gcry_cmac_context_t
      *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cmac_final
      Src: /src/libgcrypt/cipher/cipher-cmac.c:224,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-cmac.c:233,1
    - Dst: buf_eq_const
      Src: /src/libgcrypt/cipher/cipher-cmac.c:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - c
    - ctx
    - tag
    - taglen
    - check
    argTypes:
    - gcry_cipher_hd_t
    - gcry_cmac_context_t*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 241
    functionName: cmac_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-cmac.c
    functionUses: 0
    functionsReached:
    - _gcry_cmac_final
    - memcpy
    - buf_eq_const
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t cmac_tag (gcry_cipher_hd_t c, gcry_cmac_context_t
      *ctx,\n\t  unsigned char *tag, size_t taglen, int check)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-cmac.c:251,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-cmac.c:252,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-cmac.c:253,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-cmac.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - gcry_cmac_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 255
    functionName: _gcry_cmac_reset
    functionSourceFile: /src/libgcrypt/cipher/cipher-cmac.c
    functionUses: 0
    functionsReached:
    - wipememory
    - buf_cpy
    - memset
    linkageType: ''
    returnType: void
    signature: void _gcry_cmac_reset (gcry_cmac_context_t *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cmac_write
      Src: /src/libgcrypt/cipher/cipher-cmac.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - c
    - abuf
    - abuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 270
    functionName: _gcry_cipher_cmac_authenticate
    functionSourceFile: /src/libgcrypt/cipher/cipher-cmac.c
    functionUses: 0
    functionsReached:
    - _gcry_cmac_write
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_cmac_authenticate (gcry_cipher_hd_t c,\n
      \                               const unsigned char *abuf, size_t abuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmac_tag
      Src: /src/libgcrypt/cipher/cipher-cmac.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - outtag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: _gcry_cipher_cmac_get_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-cmac.c
    functionUses: 0
    functionsReached:
    - cmac_tag
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_cmac_get_tag (gcry_cipher_hd_t c,\n                           unsigned
      char *outtag, size_t taglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmac_tag
      Src: /src/libgcrypt/cipher/cipher-cmac.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - intag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: _gcry_cipher_cmac_check_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-cmac.c
    functionUses: 0
    functionsReached:
    - cmac_tag
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_cmac_check_tag (gcry_cipher_hd_t c,\n
      \                            const unsigned char *intag, size_t taglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cmac_generate_subkeys
      Src: /src/libgcrypt/cipher/cipher-cmac.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: _gcry_cipher_cmac_set_subkeys
    functionSourceFile: /src/libgcrypt/cipher/cipher-cmac.c
    functionUses: 0
    functionsReached:
    - _gcry_cmac_generate_subkeys
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cipher_cmac_set_subkeys (gcry_cipher_hd_t c)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/hash-common.c:56,1
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/hash-common.c:59,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/hash-common.c:66,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/hash-common.c:74,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/hash-common.c:76,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/hash-common.c:88,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/hash-common.c:90,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/hash-common.c:95,1
    - Dst: _gcry_md_extract
      Src: /src/libgcrypt/cipher/hash-common.c:97,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/hash-common.c:100,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/hash-common.c:105,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 6
    argNames:
    - algo
    - datamode
    - data
    - datalen
    - expect
    - expectlen
    argTypes:
    - int
    - int
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 108
    functionName: _gcry_hash_selftest_check_one
    functionSourceFile: /src/libgcrypt/cipher/hash-common.c
    functionUses: 0
    functionsReached:
    - _gcry_md_extract
    - gcry_assert
    - _gcry_md_read
    - _gcry_md_close
    - _gcry_md_get_algo_dlen
    - _gcry_md_write
    - memcmp
    - memset
    - _gcry_md_open_internal
    linkageType: ''
    returnType: char
    signature: "char *\n_gcry_hash_selftest_check_one (int algo,\n                               int
      datamode, const void *data, size_t datalen,\n                               const
      void *expect, size_t expectlen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/libgcrypt/cipher/hash-common.c:130,1
    - Dst: gcry_md_block_ctx_t*::bwrite
      Src: /src/libgcrypt/cipher/hash-common.c:146,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/hash-common.c:161,1
    - Dst: gcry_md_block_ctx_t*::bwrite
      Src: /src/libgcrypt/cipher/hash-common.c:174,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/hash-common.c:185,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/hash-common.c:190,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - context
    - inbuf_arg
    - inlen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 191
    functionName: _gcry_md_block_write
    functionSourceFile: /src/libgcrypt/cipher/hash-common.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - buf_cpy
    - gcry_md_block_ctx_t*::bwrite
    - BUG
    linkageType: ''
    returnType: void
    signature: void _gcry_md_block_write (void *context, const void *inbuf_arg, size_t
      inlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: ELF
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELF(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: SYM_NAME
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SYM_NAME(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: SYM_NAME
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SYM_NAME(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: GET_DATA_POINTER
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_DATA_POINTER(name, reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: DECL_GET_PC_THUNK
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECL_GET_PC_THUNK(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: GET_DATA_POINTER
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_DATA_POINTER(name, reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: CFI_STARTPROC
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_STARTPROC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: CFI_ENDPROC
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_ENDPROC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: CFI_REMEMBER_STATE
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_REMEMBER_STATE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: CFI_RESTORE_STATE
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_RESTORE_STATE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: CFI_ADJUST_CFA_OFFSET
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_ADJUST_CFA_OFFSET(off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reg
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: CFI_REL_OFFSET
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_REL_OFFSET(reg,off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: CFI_DEF_CFA_REGISTER
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_DEF_CFA_REGISTER(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ro
    - ','
    - rn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: CFI_REGISTER
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_REGISTER(ro,rn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: CFI_RESTORE
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_RESTORE(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: CFI_PUSH
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_PUSH(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: CFI_POP
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_POP(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: CFI_POP_TMP_REG
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_POP_TMP_REG()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: CFI_LEAVE
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_LEAVE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: DW_REGNO
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DW_REGNO(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: DW_SLEB128_7BIT
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DW_SLEB128_7BIT(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: DW_SLEB128_28BIT
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DW_SLEB128_28BIT(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - esp_offs
    - ','
    - cfa_depth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: CFI_CFA_ON_STACK
    functionSourceFile: /src/libgcrypt/cipher/asm-common-i386.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_CFA_ON_STACK(esp_offs,cfa_depth)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blocksize_shift
      Src: /src/libgcrypt/cipher/cipher-ofb.c:40,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/cipher-ofb.c:52,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/cipher-ofb.c:63,1
    - Dst: gcry_cipher_hd_t::bulk::ofb_enc
      Src: /src/libgcrypt/cipher/cipher-ofb.c:73,1
    - Dst: enc_fn
      Src: /src/libgcrypt/cipher/cipher-ofb.c:83,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-ofb.c:85,1
    - Dst: enc_fn
      Src: /src/libgcrypt/cipher/cipher-ofb.c:94,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/cipher-ofb.c:98,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-ofb.c:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 108
    functionName: _gcry_cipher_ofb_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-ofb.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor
    - gcry_cipher_hd_t::bulk::ofb_enc
    - buf_xor
    - _gcry_burn_stack
    - _gcry_blocksize_shift
    - enc_fn
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_ofb_encrypt (gcry_cipher_hd_t c,\n                          unsigned
      char *outbuf, size_t outbuflen,\n                          const unsigned char
      *inbuf, size_t inbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_randomize
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - outlen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: randombytes
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - _gcry_randomize
    linkageType: ''
    returnType: void
    signature: void randombytes (uint8_t *out, size_t outlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_hash_buffers_extract
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:155,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - h
    - hlen
    - m
    - mlen
    argTypes:
    - unsigned char*
    - long long
    - unsigned char*
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: crypto_xof_shake256
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - _gcry_md_hash_buffers_extract
    - log_fatal
    linkageType: ''
    returnType: void
    signature: "void crypto_xof_shake256(unsigned char *h,long long hlen,\n\t\t\t\tconst
      unsigned char *m,long long mlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - crypto_declassify_v
    - crypto_declassify_vlen
    argTypes:
    - void*
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: crypto_declassify
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void crypto_declassify(void *crypto_declassify_v,long long crypto_declassify_vlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_u64_gen_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto_int64_x
    argTypes:
    - crypto_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: crypto_int64::crypto_int64_negative_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - ct_u64_gen_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int64 crypto_int64_negative_mask(crypto_int64
      crypto_int64_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int64::crypto_int64_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:207,1
    - Dst: crypto_int64::crypto_int64_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto_int64_x
    argTypes:
    - crypto_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: crypto_int64::crypto_int64_nonzero_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int64::crypto_int64_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int64 crypto_int64_nonzero_mask(crypto_int64
      crypto_int64_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int64::crypto_int64_nonzero_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto_int64_x
    argTypes:
    - crypto_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: crypto_int64::crypto_int64_zero_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int64::crypto_int64_nonzero_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int64 crypto_int64_zero_mask(crypto_int64 crypto_int64_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int64::crypto_int64_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - crypto_int64_x
    argTypes:
    - crypto_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: crypto_int64::crypto_int64_positive_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int64::crypto_int64_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int64 crypto_int64_positive_mask(crypto_int64
      crypto_int64_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int64::crypto_int64_nonzero_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crypto_int64_x
    - crypto_int64_y
    argTypes:
    - crypto_int64
    - crypto_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: crypto_int64::crypto_int64_unequal_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int64::crypto_int64_nonzero_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int64 crypto_int64_unequal_mask(crypto_int64
      crypto_int64_x,crypto_int64 crypto_int64_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int64::crypto_int64_unequal_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crypto_int64_x
    - crypto_int64_y
    argTypes:
    - crypto_int64
    - crypto_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: crypto_int64::crypto_int64_equal_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int64::crypto_int64_unequal_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int64 crypto_int64_equal_mask(crypto_int64 crypto_int64_x,crypto_int64
      crypto_int64_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int64::crypto_int64_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - crypto_int64_x
    - crypto_int64_y
    argTypes:
    - crypto_int64
    - crypto_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: crypto_int64::crypto_int64_smaller_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int64::crypto_int64_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int64 crypto_int64_smaller_mask(crypto_int64
      crypto_int64_x,crypto_int64 crypto_int64_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int64::crypto_int64_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - crypto_int64_x
    - crypto_int64_y
    argTypes:
    - crypto_int64
    - crypto_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: crypto_int64::crypto_int64_min
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int64::crypto_int64_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int64 crypto_int64_min(crypto_int64 crypto_int64_x,crypto_int64
      crypto_int64_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int64::crypto_int64_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - crypto_int64_x
    - crypto_int64_y
    argTypes:
    - crypto_int64
    - crypto_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 266
    functionName: crypto_int64::crypto_int64_max
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int64::crypto_int64_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int64 crypto_int64_max(crypto_int64 crypto_int64_x,crypto_int64
      crypto_int64_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int64_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - crypto_int64_a
    - crypto_int64_b
    argTypes:
    - crypto_int64*
    - crypto_int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: crypto_int64_minmax
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int64_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int64_minmax(crypto_int64 *crypto_int64_a,crypto_int64
      *crypto_int64_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_ulong_gen_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto_int16_x
    argTypes:
    - crypto_int16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: crypto_int16::crypto_int16_negative_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - ct_ulong_gen_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int16 crypto_int16_negative_mask(crypto_int16
      crypto_int16_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int16::crypto_int16_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:299,1
    - Dst: crypto_int16::crypto_int16_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto_int16_x
    argTypes:
    - crypto_int16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: crypto_int16::crypto_int16_nonzero_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int16::crypto_int16_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int16 crypto_int16_nonzero_mask(crypto_int16
      crypto_int16_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int16::crypto_int16_nonzero_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto_int16_x
    argTypes:
    - crypto_int16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: crypto_int16::crypto_int16_zero_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int16::crypto_int16_nonzero_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int16 crypto_int16_zero_mask(crypto_int16 crypto_int16_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int16::crypto_int16_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - crypto_int16_x
    argTypes:
    - crypto_int16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: crypto_int16::crypto_int16_positive_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int16::crypto_int16_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int16 crypto_int16_positive_mask(crypto_int16
      crypto_int16_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int16::crypto_int16_nonzero_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crypto_int16_x
    - crypto_int16_y
    argTypes:
    - crypto_int16
    - crypto_int16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: crypto_int16::crypto_int16_unequal_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int16::crypto_int16_nonzero_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int16 crypto_int16_unequal_mask(crypto_int16
      crypto_int16_x,crypto_int16 crypto_int16_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int16::crypto_int16_unequal_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crypto_int16_x
    - crypto_int16_y
    argTypes:
    - crypto_int16
    - crypto_int16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: crypto_int16::crypto_int16_equal_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int16::crypto_int16_unequal_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int16 crypto_int16_equal_mask(crypto_int16 crypto_int16_x,crypto_int16
      crypto_int16_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int16::crypto_int16_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - crypto_int16_x
    - crypto_int16_y
    argTypes:
    - crypto_int16
    - crypto_int16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: crypto_int16::crypto_int16_smaller_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int16::crypto_int16_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int16 crypto_int16_smaller_mask(crypto_int16
      crypto_int16_x,crypto_int16 crypto_int16_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int16::crypto_int16_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - crypto_int16_x
    - crypto_int16_y
    argTypes:
    - crypto_int16
    - crypto_int16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 347
    functionName: crypto_int16::crypto_int16_min
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int16::crypto_int16_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int16 crypto_int16_min(crypto_int16 crypto_int16_x,crypto_int16
      crypto_int16_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int16::crypto_int16_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - crypto_int16_x
    - crypto_int16_y
    argTypes:
    - crypto_int16
    - crypto_int16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: crypto_int16::crypto_int16_max
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int16::crypto_int16_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int16 crypto_int16_max(crypto_int16 crypto_int16_x,crypto_int16
      crypto_int16_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int16_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - crypto_int16_a
    - crypto_int16_b
    argTypes:
    - crypto_int16*
    - crypto_int16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 372
    functionName: crypto_int16_minmax
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int16_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int16_minmax(crypto_int16 *crypto_int16_a,crypto_int16
      *crypto_int16_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_ulong_gen_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto_int32_x
    argTypes:
    - crypto_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 386
    functionName: crypto_int32::crypto_int32_negative_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - ct_ulong_gen_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int32 crypto_int32_negative_mask(crypto_int32
      crypto_int32_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int32::crypto_int32_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:391,1
    - Dst: crypto_int32::crypto_int32_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto_int32_x
    argTypes:
    - crypto_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 392
    functionName: crypto_int32::crypto_int32_nonzero_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int32::crypto_int32_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int32 crypto_int32_nonzero_mask(crypto_int32
      crypto_int32_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int32::crypto_int32_nonzero_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto_int32_x
    argTypes:
    - crypto_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: crypto_int32::crypto_int32_zero_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int32::crypto_int32_nonzero_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int32 crypto_int32_zero_mask(crypto_int32 crypto_int32_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int32::crypto_int32_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - crypto_int32_x
    argTypes:
    - crypto_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: crypto_int32::crypto_int32_positive_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int32::crypto_int32_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int32 crypto_int32_positive_mask(crypto_int32
      crypto_int32_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int32::crypto_int32_nonzero_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crypto_int32_x
    - crypto_int32_y
    argTypes:
    - crypto_int32
    - crypto_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: crypto_int32::crypto_int32_unequal_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int32::crypto_int32_nonzero_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int32 crypto_int32_unequal_mask(crypto_int32
      crypto_int32_x,crypto_int32 crypto_int32_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int32::crypto_int32_unequal_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crypto_int32_x
    - crypto_int32_y
    argTypes:
    - crypto_int32
    - crypto_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 419
    functionName: crypto_int32::crypto_int32_equal_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int32::crypto_int32_unequal_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int32 crypto_int32_equal_mask(crypto_int32 crypto_int32_x,crypto_int32
      crypto_int32_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int32::crypto_int32_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - crypto_int32_x
    - crypto_int32_y
    argTypes:
    - crypto_int32
    - crypto_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 428
    functionName: crypto_int32::crypto_int32_smaller_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int32::crypto_int32_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int32 crypto_int32_smaller_mask(crypto_int32
      crypto_int32_x,crypto_int32 crypto_int32_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int32::crypto_int32_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - crypto_int32_x
    - crypto_int32_y
    argTypes:
    - crypto_int32
    - crypto_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 439
    functionName: crypto_int32::crypto_int32_min
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int32::crypto_int32_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int32 crypto_int32_min(crypto_int32 crypto_int32_x,crypto_int32
      crypto_int32_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int32::crypto_int32_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - crypto_int32_x
    - crypto_int32_y
    argTypes:
    - crypto_int32
    - crypto_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 450
    functionName: crypto_int32::crypto_int32_max
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int32::crypto_int32_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int32 crypto_int32_max(crypto_int32 crypto_int32_x,crypto_int32
      crypto_int32_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_int32_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - crypto_int32_a
    - crypto_int32_b
    argTypes:
    - crypto_int32*
    - crypto_int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 464
    functionName: crypto_int32_minmax
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int32_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_int32_minmax(crypto_int32 *crypto_int32_a,crypto_int32
      *crypto_int32_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_u64_gen_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto_uint64_signed_x
    argTypes:
    - crypto_uint64_signed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: crypto_uint64_signed::crypto_uint64_signed_negative_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - ct_u64_gen_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint64_signed crypto_uint64_signed_negative_mask(crypto_uint64_signed
      crypto_uint64_signed_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint64_signed_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:484,1
    - Dst: crypto_uint64_signed_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto_uint64_x
    argTypes:
    - crypto_uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 485
    functionName: crypto_uint64::crypto_uint64_nonzero_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint64_signed_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint64 crypto_uint64_nonzero_mask(crypto_uint64
      crypto_uint64_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint64::crypto_uint64_nonzero_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto_uint64_x
    argTypes:
    - crypto_uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 491
    functionName: crypto_uint64::crypto_uint64_zero_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint64::crypto_uint64_nonzero_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint64 crypto_uint64_zero_mask(crypto_uint64
      crypto_uint64_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint64::crypto_uint64_nonzero_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crypto_uint64_x
    - crypto_uint64_y
    argTypes:
    - crypto_uint64
    - crypto_uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 498
    functionName: crypto_uint64::crypto_uint64_unequal_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint64::crypto_uint64_nonzero_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint64 crypto_uint64_unequal_mask(crypto_uint64
      crypto_uint64_x,crypto_uint64 crypto_uint64_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint64::crypto_uint64_unequal_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crypto_uint64_x
    - crypto_uint64_y
    argTypes:
    - crypto_uint64
    - crypto_uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 504
    functionName: crypto_uint64::crypto_uint64_equal_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint64::crypto_uint64_unequal_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint64 crypto_uint64_equal_mask(crypto_uint64
      crypto_uint64_x,crypto_uint64 crypto_uint64_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint64_signed_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - crypto_uint64_x
    - crypto_uint64_y
    argTypes:
    - crypto_uint64
    - crypto_uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 513
    functionName: crypto_uint64::crypto_uint64_smaller_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint64_signed_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint64 crypto_uint64_smaller_mask(crypto_uint64
      crypto_uint64_x,crypto_uint64 crypto_uint64_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint64_signed_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - crypto_uint64_x
    - crypto_uint64_y
    argTypes:
    - crypto_uint64
    - crypto_uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 524
    functionName: crypto_uint64::crypto_uint64_min
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint64_signed_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint64 crypto_uint64_min(crypto_uint64 crypto_uint64_x,crypto_uint64
      crypto_uint64_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint64_signed_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - crypto_uint64_x
    - crypto_uint64_y
    argTypes:
    - crypto_uint64
    - crypto_uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 535
    functionName: crypto_uint64::crypto_uint64_max
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint64_signed_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint64 crypto_uint64_max(crypto_uint64 crypto_uint64_x,crypto_uint64
      crypto_uint64_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint64_signed_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - crypto_uint64_a
    - crypto_uint64_b
    argTypes:
    - crypto_uint64*
    - crypto_uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 549
    functionName: crypto_uint64_minmax
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint64_signed_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint64_minmax(crypto_uint64 *crypto_uint64_a,crypto_uint64
      *crypto_uint64_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_ulong_gen_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto_uint16_signed_x
    argTypes:
    - crypto_uint16_signed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 564
    functionName: crypto_uint16_signed::crypto_uint16_signed_negative_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - ct_ulong_gen_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint16_signed crypto_uint16_signed_negative_mask(crypto_uint16_signed
      crypto_uint16_signed_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint16_signed_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:569,1
    - Dst: crypto_uint16_signed_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto_uint16_x
    argTypes:
    - crypto_uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 570
    functionName: crypto_uint16::crypto_uint16_nonzero_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint16_signed_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint16 crypto_uint16_nonzero_mask(crypto_uint16
      crypto_uint16_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint16::crypto_uint16_nonzero_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto_uint16_x
    argTypes:
    - crypto_uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 576
    functionName: crypto_uint16::crypto_uint16_zero_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint16::crypto_uint16_nonzero_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint16 crypto_uint16_zero_mask(crypto_uint16
      crypto_uint16_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint16::crypto_uint16_nonzero_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crypto_uint16_x
    - crypto_uint16_y
    argTypes:
    - crypto_uint16
    - crypto_uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 583
    functionName: crypto_uint16::crypto_uint16_unequal_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint16::crypto_uint16_nonzero_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint16 crypto_uint16_unequal_mask(crypto_uint16
      crypto_uint16_x,crypto_uint16 crypto_uint16_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint16::crypto_uint16_unequal_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crypto_uint16_x
    - crypto_uint16_y
    argTypes:
    - crypto_uint16
    - crypto_uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: crypto_uint16::crypto_uint16_equal_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint16::crypto_uint16_unequal_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint16 crypto_uint16_equal_mask(crypto_uint16
      crypto_uint16_x,crypto_uint16 crypto_uint16_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint16_signed_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - crypto_uint16_x
    - crypto_uint16_y
    argTypes:
    - crypto_uint16
    - crypto_uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 598
    functionName: crypto_uint16::crypto_uint16_smaller_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint16_signed_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint16 crypto_uint16_smaller_mask(crypto_uint16
      crypto_uint16_x,crypto_uint16 crypto_uint16_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint16_signed_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - crypto_uint16_x
    - crypto_uint16_y
    argTypes:
    - crypto_uint16
    - crypto_uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 609
    functionName: crypto_uint16::crypto_uint16_min
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint16_signed_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint16 crypto_uint16_min(crypto_uint16 crypto_uint16_x,crypto_uint16
      crypto_uint16_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint16_signed_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - crypto_uint16_x
    - crypto_uint16_y
    argTypes:
    - crypto_uint16
    - crypto_uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 620
    functionName: crypto_uint16::crypto_uint16_max
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint16_signed_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint16 crypto_uint16_max(crypto_uint16 crypto_uint16_x,crypto_uint16
      crypto_uint16_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint16_signed_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - crypto_uint16_a
    - crypto_uint16_b
    argTypes:
    - crypto_uint16*
    - crypto_uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 634
    functionName: crypto_uint16_minmax
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint16_signed_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint16_minmax(crypto_uint16 *crypto_uint16_a,crypto_uint16
      *crypto_uint16_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_ulong_gen_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto_uint32_signed_x
    argTypes:
    - crypto_uint32_signed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 649
    functionName: crypto_uint32_signed::crypto_uint32_signed_negative_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - ct_ulong_gen_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint32_signed crypto_uint32_signed_negative_mask(crypto_uint32_signed
      crypto_uint32_signed_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint32_signed_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:654,1
    - Dst: crypto_uint32_signed_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto_uint32_x
    argTypes:
    - crypto_uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 655
    functionName: crypto_uint32::crypto_uint32_nonzero_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint32_signed_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint32 crypto_uint32_nonzero_mask(crypto_uint32
      crypto_uint32_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint32::crypto_uint32_nonzero_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto_uint32_x
    argTypes:
    - crypto_uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 661
    functionName: crypto_uint32::crypto_uint32_zero_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint32::crypto_uint32_nonzero_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint32 crypto_uint32_zero_mask(crypto_uint32
      crypto_uint32_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint32::crypto_uint32_nonzero_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crypto_uint32_x
    - crypto_uint32_y
    argTypes:
    - crypto_uint32
    - crypto_uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 668
    functionName: crypto_uint32::crypto_uint32_unequal_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint32::crypto_uint32_nonzero_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint32 crypto_uint32_unequal_mask(crypto_uint32
      crypto_uint32_x,crypto_uint32 crypto_uint32_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint32::crypto_uint32_unequal_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crypto_uint32_x
    - crypto_uint32_y
    argTypes:
    - crypto_uint32
    - crypto_uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 674
    functionName: crypto_uint32::crypto_uint32_equal_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint32::crypto_uint32_unequal_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint32 crypto_uint32_equal_mask(crypto_uint32
      crypto_uint32_x,crypto_uint32 crypto_uint32_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint32_signed_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - crypto_uint32_x
    - crypto_uint32_y
    argTypes:
    - crypto_uint32
    - crypto_uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 683
    functionName: crypto_uint32::crypto_uint32_smaller_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint32_signed_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint32 crypto_uint32_smaller_mask(crypto_uint32
      crypto_uint32_x,crypto_uint32 crypto_uint32_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint32_signed_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - crypto_uint32_x
    - crypto_uint32_y
    argTypes:
    - crypto_uint32
    - crypto_uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 694
    functionName: crypto_uint32::crypto_uint32_min
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint32_signed_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint32 crypto_uint32_min(crypto_uint32 crypto_uint32_x,crypto_uint32
      crypto_uint32_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint32_signed_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - crypto_uint32_x
    - crypto_uint32_y
    argTypes:
    - crypto_uint32
    - crypto_uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 705
    functionName: crypto_uint32::crypto_uint32_max
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint32_signed_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint32 crypto_uint32_max(crypto_uint32 crypto_uint32_x,crypto_uint32
      crypto_uint32_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint32_signed_negative_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - crypto_uint32_a
    - crypto_uint32_b
    argTypes:
    - crypto_uint32*
    - crypto_uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 719
    functionName: crypto_uint32_minmax
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint32_signed_negative_mask
    linkageType: ''
    returnType: GCC_ATTR_UNUSED
    signature: GCC_ATTR_UNUSED crypto_uint32_minmax(crypto_uint32 *crypto_uint32_a,crypto_uint32
      *crypto_uint32_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - vec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 736
    functionName: vec_setbits
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vec
    signature: vec vec_setbits(vec b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 747
    functionName: vec_set1_16b
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vec
    signature: vec vec_set1_16b(uint16_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - vec*
    - vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 755
    functionName: vec_copy
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vec_copy(vec * out, vec * in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 767
    functionName: vec_or_reduce
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vec
    signature: vec vec_or_reduce(vec * a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - vec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 779
    functionName: vec_testz
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vec_testz(vec a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - a
    - b0
    - b1
    argTypes:
    - gf
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 972
    functionName: gf_mul2
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t gf_mul2(gf a, gf b0, gf b1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - out
    - ','
    - in
    - ','
    - inlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 983
    functionName: crypto_hash_32b
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: crypto_hash_32b(out,in,inlen)
  - 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: 1000
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1000
    functionName: int32_MINMAX
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: int32_MINMAX(a,b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: int32_MINMAX
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1012,1
    - Dst: int32_MINMAX
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1019,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - int32_t*
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1025
    functionName: int32_sort
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - int32_MINMAX
    linkageType: ''
    returnType: void
    signature: void int32_sort(int32_t *x,long long n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1126
    functionName: transpose_64x64
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void transpose_64x64(uint64_t * out, uint64_t * in)
  - 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: 1146
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1146
    functionName: uint16_MINMAX
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uint16_MINMAX(a,b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uint16_MINMAX
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1158,1
    - Dst: uint16_MINMAX
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1165,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint16_t*
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1171
    functionName: uint16_sort
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - uint16_MINMAX
    linkageType: ''
    returnType: void
    signature: void uint16_sort(uint16_t *x,long long n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1191
    functionName: uint64_MINMAX
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uint64_MINMAX(a,b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uint64_MINMAX
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1203,1
    - Dst: uint64_MINMAX
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1210,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint64_t*
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1192
    functionDepth: 1
    functionLinenumber: 1192
    functionLinenumberEnd: 1216
    functionName: uint64_sort
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - uint64_MINMAX
    linkageType: ''
    returnType: void
    signature: void uint64_sort(uint64_t *x,long long n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in
    - i
    argTypes:
    - unsigned char*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1237
    functionName: store_i
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void store_i(unsigned char *out, uint64_t in, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - a
    argTypes:
    - unsigned char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1243
    functionName: store_gf
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void store_gf(unsigned char *dest, uint16_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1254
    functionName: load_gf
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t load_gf(const unsigned char *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - src
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1266
    functionName: load4
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t load4(const unsigned char *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_gf
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - vec[][]
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1290
    functionName: irr_load
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - load_gf
    linkageType: ''
    returnType: void
    signature: void irr_load(vec out[][GFBITS], const unsigned char * in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1302
    functionName: store8
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void store8(unsigned char *out, uint64_t in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1316
    functionName: load8
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t load8(const unsigned char * in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - data
    - bits
    - lgs
    argTypes:
    - uint64_t[][]
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1356
    functionName: layer_in
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void layer_in(uint64_t data[2][64], uint64_t * bits, int lgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - bits
    - lgs
    argTypes:
    - uint64_t*
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1376
    functionName: layer_ex
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void layer_ex(uint64_t * data, uint64_t * bits, int lgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transpose_64x64
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1404,1
    - Dst: transpose_64x64
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1405,1
    - Dst: load8
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1411,1
    - Dst: transpose_64x64
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1416,1
    - Dst: layer_ex
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1418,1
    - Dst: transpose_64x64
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1421,1
    - Dst: transpose_64x64
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1422,1
    - Dst: load8
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1426,1
    - Dst: layer_in
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1429,1
    - Dst: load8
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1434,1
    - Dst: layer_in
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1437,1
    - Dst: transpose_64x64
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1440,1
    - Dst: transpose_64x64
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1441,1
    - Dst: load8
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1447,1
    - Dst: transpose_64x64
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1452,1
    - Dst: layer_ex
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1454,1
    - Dst: transpose_64x64
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1457,1
    - Dst: transpose_64x64
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1458,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 3
    argNames:
    - r
    - bits
    - rev
    argTypes:
    - vec*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1465
    functionName: benes
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - load8
    - layer_in
    - layer_ex
    - transpose_64x64
    linkageType: ''
    returnType: void
    signature: void benes(vec * r, const unsigned char * bits, int rev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_ulong_gen_inv_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1493
    functionName: mask_nonzero
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - ct_ulong_gen_inv_mask
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mask_nonzero(gf a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_ulong_gen_inv_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1505
    functionName: mask_leq
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - ct_ulong_gen_inv_mask
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mask_leq(uint16_t a, uint16_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_set1_16b
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1513,1
    - Dst: vec_set1_16b
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1514,1
    - Dst: ct_ulong_gen_inv_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - out
    - in
    - mask
    argTypes:
    - vec*
    - vec*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1507
    functionDepth: 1
    functionLinenumber: 1507
    functionLinenumberEnd: 1521
    functionName: vec_cmov
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - vec_set1_16b
    - ct_ulong_gen_inv_mask
    linkageType: ''
    returnType: void
    signature: void vec_cmov(vec * out, vec * in, uint16_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - in
    - idx0
    - idx1
    - mask
    - b
    argTypes:
    - vec*
    - int
    - int
    - vec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1534
    functionName: interleave
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interleave(vec *in, int idx0, int idx1, vec *mask, int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_set1_16b
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1548,1
    - Dst: vec_set1_16b
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1549,1
    - Dst: vec_set1_16b
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1550,1
    - Dst: vec_set1_16b
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1551,1
    - Dst: vec_set1_16b
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1552,1
    - Dst: vec_set1_16b
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1553,1
    - Dst: vec_set1_16b
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1554,1
    - Dst: vec_set1_16b
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1555,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1557,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1558,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1559,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1560,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1561,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1562,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1563,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1564,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1566,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1567,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1568,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1569,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1570,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1571,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1572,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1573,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1575,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1576,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1577,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1578,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1579,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1580,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1581,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1582,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1584,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1585,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1586,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1587,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1588,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1589,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1590,1
    - Dst: interleave
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 48
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - gf*
    - vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1596
    functionName: get_coefs
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - vec_set1_16b
    - interleave
    linkageType: ''
    returnType: void
    signature: void get_coefs(gf *out, vec *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - in
    - e
    argTypes:
    - vec[][]
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1598
    functionDepth: 0
    functionLinenumber: 1598
    functionLinenumberEnd: 1610
    functionName: update
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update(vec in[][GFBITS], const gf e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - in
    argTypes:
    - vec[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1634
    functionName: vec_reduce
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf
    signature: gf vec_reduce(vec in[][GFBITS])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_coefs
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1657,1
    - Dst: get_coefs
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1658,1
    - Dst: get_coefs
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1659,1
    - Dst: get_coefs
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1660,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1680,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1681,1
    - Dst: update
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1682,1
    - Dst: vec_reduce
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1683,1
    - Dst: gf_mul2
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1685,1
    - Dst: mask_nonzero
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1688,1
    - Dst: mask_leq
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1688,1
    - Dst: vec_setbits
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1692,1
    - Dst: vec_setbits
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1693,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1696,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1697,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1698,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1699,1
    - Dst: vec_cmov
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1701,1
    - Dst: vec_cmov
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1702,1
    - Dst: update
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1703,1
    - Dst: gf_inv
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1716,1
    - Dst: vec_setbits
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1719,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1721,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1722,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - vec[][]
    - vec[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1638
    functionDepth: 2
    functionLinenumber: 1638
    functionLinenumberEnd: 1723
    functionName: bm
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 2
    functionsReached:
    - vec_reduce
    - mask_leq
    - gf_inv
    - vec_mul
    - vec_setbits
    - vec_cmov
    - update
    - gf_mul2
    - get_coefs
    - mask_nonzero
    linkageType: ''
    returnType: void
    signature: void bm(vec out[][ GFBITS ], vec in[][ GFBITS ])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: int32_sort
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1760,1
    - Dst: int32_min
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1765,1
    - Dst: int32_sort
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1771,1
    - Dst: int32_sort
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1774,1
    - Dst: int32_sort
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1783,1
    - Dst: int32_sort
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1786,1
    - Dst: int32_min
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1791,1
    - Dst: int32_sort
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1802,1
    - Dst: int32_sort
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1810,1
    - Dst: int32_sort
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1815,1
    - Dst: int32_min
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1819,1
    - Dst: int32_sort
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1826,1
    - Dst: int32_sort
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1842,1
    - Dst: int32_sort
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1860,1
    - Dst: cbrecursion
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1869,1
    - Dst: cbrecursion
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1870,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 82
    argCount: 7
    argNames:
    - out
    - pos
    - step
    - pi
    - w
    - n
    - temp
    argTypes:
    - unsigned char*
    - long long
    - long long
    - int16*
    - long long
    - long long
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1745
    functionDepth: 1
    functionLinenumber: 1745
    functionLinenumberEnd: 1871
    functionName: cbrecursion
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 1
    functionsReached:
    - cbrecursion
    - int32_sort
    - int32_min
    linkageType: ''
    returnType: void
    signature: void cbrecursion(unsigned char *out,long long pos,long long step,const
      int16 *pi,long long w,long long n,int32 *temp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_ulong_gen_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1890,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - p
    - cb
    - s
    - n
    argTypes:
    - int16_t*
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1878
    functionDepth: 0
    functionLinenumber: 1878
    functionLinenumberEnd: 1897
    functionName: layer
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - ct_ulong_gen_mask
    linkageType: ''
    returnType: void
    signature: void layer(int16_t *p, const unsigned char *cb, int s, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1912,1
    - Dst: cbrecursion
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1913,1
    - Dst: layer
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1923,1
    - Dst: layer
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1929,1
    - Dst: crypto_int16_nonzero_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1937,1
    - Dst: crypto_declassify
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1938,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - out
    - pi
    - w
    - n
    argTypes:
    - unsigned char*
    - int16*
    - long long
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1903
    functionDepth: 2
    functionLinenumber: 1903
    functionLinenumberEnd: 1942
    functionName: controlbitsfrompermutation
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_int16_nonzero_mask
    - crypto_declassify
    - cbrecursion
    - layer
    - memset
    linkageType: ''
    returnType: void
    signature: void controlbitsfrompermutation(unsigned char *out,const int16 *pi,long
      long w,long long n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: irr_load
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1971,1
    - Dst: fft
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1973,1
    - Dst: vec_sq
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1976,1
    - Dst: vec_copy
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1978,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1981,1
    - Dst: vec_inv
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1983,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1987,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1988,1
    - Dst: vec_copy
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:1991,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - out
    - inv
    - sk
    - recv
    argTypes:
    - vec[][]
    - vec[][]
    - unsigned char*
    - vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1961
    functionDepth: 2
    functionLinenumber: 1961
    functionLinenumberEnd: 1998
    functionName: scaling
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - vec_mul
    - vec_sq
    - vec_copy
    - vec_inv
    - fft
    - irr_load
    linkageType: ''
    returnType: void
    signature: void scaling(vec out[][GFBITS], vec inv[][GFBITS], const unsigned char
      *sk, vec *recv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load8
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - recv
    - s
    argTypes:
    - vec*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2000
    functionDepth: 1
    functionLinenumber: 2000
    functionLinenumberEnd: 2013
    functionName: preprocess
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - load8
    linkageType: ''
    returnType: void
    signature: void preprocess(vec *recv, const unsigned char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store8
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - e
    - err
    argTypes:
    - unsigned char*
    - vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 2015
    functionDepth: 1
    functionLinenumber: 2015
    functionLinenumberEnd: 2025
    functionName: postprocess
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - store8
    linkageType: ''
    returnType: void
    signature: void postprocess(unsigned char * e, vec * err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - out
    - inv
    - recv
    argTypes:
    - vec[][]
    - vec[][]
    - vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2034
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2034
    functionName: scaling_inv
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scaling_inv(vec out[][GFBITS], vec inv[][GFBITS], vec *recv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - e
    - error
    argTypes:
    - unsigned char*
    - vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2054
    functionName: weight_check
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int weight_check(unsigned char * e, vec * error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ct_memequal
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s0
    - s1
    argTypes:
    - vec[][]
    - vec[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 2056
    functionDepth: 2
    functionLinenumber: 2056
    functionLinenumberEnd: 2059
    functionName: synd_cmp
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - _gcry_ct_memequal
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t synd_cmp(vec s0[][ GFBITS ] , vec s1[][ GFBITS ])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: preprocess
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2088,1
    - Dst: benes
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2090,1
    - Dst: scaling
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2091,1
    - Dst: fft_tr
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2092,1
    - Dst: bm
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2093,1
    - Dst: fft
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2095,1
    - Dst: vec_setbits
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2099,1
    - Dst: vec_or_reduce
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2103,1
    - Dst: scaling_inv
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2107,1
    - Dst: fft_tr
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2108,1
    - Dst: synd_cmp
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2110,1
    - Dst: benes
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2114,1
    - Dst: postprocess
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2116,1
    - Dst: weight_check
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2118,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2123,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2126,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - e
    - sk
    - s
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2132
      start: 2066
    functionDepth: 3
    functionLinenumber: 2066
    functionLinenumberEnd: 2132
    functionName: decrypt
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 80
    functionsReached:
    - postprocess
    - printf
    - scaling
    - scaling_inv
    - vec_setbits
    - preprocess
    - vec_or_reduce
    - fft_tr
    - bm
    - fft
    - weight_check
    - synd_cmp
    - benes
    linkageType: ''
    returnType: int
    signature: int decrypt(unsigned char *e, const unsigned char *sk, const unsigned
      char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint16_smaller_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2152,1
    - Dst: crypto_declassify
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - u
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2150
    functionDepth: 1
    functionLinenumber: 2150
    functionLinenumberEnd: 2155
    functionName: uint16_is_smaller_declassify
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_declassify
    - crypto_uint16_smaller_mask
    linkageType: ''
    returnType: crypto_uint16
    signature: crypto_uint16 uint16_is_smaller_declassify(uint16_t t,uint16_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint32_equal_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2159,1
    - Dst: crypto_declassify
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - u
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2157
    functionDepth: 1
    functionLinenumber: 2157
    functionLinenumberEnd: 2162
    functionName: uint32_is_equal_declassify
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_declassify
    - crypto_uint32_equal_mask
    linkageType: ''
    returnType: crypto_uint32
    signature: crypto_uint32 uint32_is_equal_declassify(uint32_t t,uint32_t u)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: randombytes
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2183,1
    - Dst: load_gf
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2186,1
    - Dst: uint16_is_smaller_declassify
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2192,1
    - Dst: uint16_sort
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2199,1
    - Dst: uint32_is_equal_declassify
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2203,1
    - Dst: ct_u64_gen_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2222,1
    - Dst: store8
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2229,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 1
    argNames:
    - e
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2165
    functionDepth: 2
    functionLinenumber: 2165
    functionLinenumberEnd: 2233
    functionName: gen_e
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - uint16_sort
    - uint32_is_equal_declassify
    - ct_u64_gen_mask
    - store8
    - load_gf
    - randombytes
    - uint16_is_smaller_declassify
    linkageType: ''
    returnType: void
    signature: void gen_e(unsigned char *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2257,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2257,1
    - Dst: buf_get_he32
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2259,1
    - Dst: buf_get_he32
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - s
    - pk
    - e
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2271
      start: 2237
    functionDepth: 0
    functionLinenumber: 2237
    functionLinenumberEnd: 2271
    functionName: syndrome
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - buf_get_he32
    - buf_get_he64
    linkageType: ''
    returnType: void
    signature: void syndrome(unsigned char *s, const unsigned char *pk, unsigned char
      *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gen_e
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2277,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2282,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2285,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2286,1
    - Dst: syndrome
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - s
    - pk
    - e
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2291
      start: 2275
    functionDepth: 3
    functionLinenumber: 2275
    functionLinenumberEnd: 2291
    functionName: pke_encrypt
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - gen_e
    - syndrome
    - printf
    linkageType: ''
    returnType: void
    signature: void pke_encrypt(unsigned char *s, const unsigned char *pk, unsigned
      char *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2381,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - in
    argTypes:
    - vec[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2385
      start: 2349
    functionDepth: 1
    functionLinenumber: 2349
    functionLinenumberEnd: 2385
    functionName: radix_conversions
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - vec_mul
    linkageType: ''
    returnType: void
    signature: void radix_conversions(vec in[][GFBITS])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2431,1
    - Dst: transpose_64x64
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2505,1
    - Dst: transpose_64x64
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2506,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2519,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 157
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - vec[][]
    - vec[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2533
      start: 2389
    functionDepth: 1
    functionLinenumber: 2389
    functionLinenumberEnd: 2533
    functionName: butterflies
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - vec_mul
    - transpose_64x64
    linkageType: ''
    returnType: void
    signature: void butterflies(vec out[][ GFBITS ], vec in[][ GFBITS ])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: radix_conversions
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2539,1
    - Dst: butterflies
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - vec[][]
    - vec[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2537
    functionDepth: 2
    functionLinenumber: 2537
    functionLinenumberEnd: 2541
    functionName: fft
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 2
    functionsReached:
    - butterflies
    - radix_conversions
    linkageType: ''
    returnType: void
    signature: void fft(vec out[][GFBITS], vec in[][GFBITS])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2583,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2584,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2585,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2586,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - in
    argTypes:
    - vec[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2563
    functionDepth: 1
    functionLinenumber: 2563
    functionLinenumberEnd: 2615
    functionName: radix_conversions_tr
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - vec_mul
    linkageType: ''
    returnType: void
    signature: void radix_conversions_tr(vec in[][ GFBITS ])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2661,1
    - Dst: transpose_64x64
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2672,1
    - Dst: transpose_64x64
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2673,1
    - Dst: vec_setbits
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2744,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2746,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2747,1
    - Dst: vec_setbits
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2751,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2753,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2754,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 161
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - vec[][]
    - vec[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2763
      start: 2617
    functionDepth: 1
    functionLinenumber: 2617
    functionLinenumberEnd: 2763
    functionName: butterflies_tr
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - vec_mul
    - vec_setbits
    - transpose_64x64
    linkageType: ''
    returnType: void
    signature: void butterflies_tr(vec out[][ GFBITS ], vec in[][ GFBITS ])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: butterflies_tr
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2767,1
    - Dst: radix_conversions_tr
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - vec[][]
    - vec[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2770
      start: 2765
    functionDepth: 2
    functionLinenumber: 2765
    functionLinenumberEnd: 2770
    functionName: fft_tr
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 1
    functionsReached:
    - butterflies_tr
    - radix_conversions_tr
    linkageType: ''
    returnType: void
    signature: void fft_tr(vec out[][GFBITS], vec in[][ GFBITS ])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_u64_gen_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - in0
    - in1
    argTypes:
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2785
    functionDepth: 0
    functionLinenumber: 2785
    functionLinenumberEnd: 2811
    functionName: gf_mul
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - ct_u64_gen_mask
    linkageType: ''
    returnType: gf
    signature: gf gf_mul(gf in0, gf in1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - in
    argTypes:
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2843
      start: 2814
    functionDepth: 0
    functionLinenumber: 2814
    functionLinenumberEnd: 2843
    functionName: gf_sq2
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf
    signature: gf gf_sq2(gf in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - in
    - m
    argTypes:
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2880
      start: 2846
    functionDepth: 0
    functionLinenumber: 2846
    functionLinenumberEnd: 2880
    functionName: gf_sqmul
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf
    signature: gf gf_sqmul(gf in, gf m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - in
    - m
    argTypes:
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2920
      start: 2883
    functionDepth: 0
    functionLinenumber: 2883
    functionLinenumberEnd: 2920
    functionName: gf_sq2mul
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf
    signature: gf gf_sq2mul(gf in, gf m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sqmul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2929,1
    - Dst: gf_sq2mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2930,1
    - Dst: gf_sq2
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2931,1
    - Dst: gf_sq2mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2932,1
    - Dst: gf_sq2
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2933,1
    - Dst: gf_sq2mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2934,1
    - Dst: gf_sqmul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - den
    - num
    argTypes:
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2937
      start: 2923
    functionDepth: 1
    functionLinenumber: 2923
    functionLinenumberEnd: 2937
    functionName: gf_frac
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - gf_sq2mul
    - gf_sq2
    - gf_sqmul
    linkageType: ''
    returnType: gf
    signature: gf gf_frac(gf den, gf num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_frac
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - den
    argTypes:
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2943
      start: 2940
    functionDepth: 2
    functionLinenumber: 2940
    functionLinenumberEnd: 2943
    functionName: gf_inv
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 1
    functionsReached:
    - gf_frac
    linkageType: ''
    returnType: gf
    signature: gf gf_inv(gf den)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2954
      start: 2946
    functionDepth: 0
    functionLinenumber: 2946
    functionLinenumberEnd: 2954
    functionName: gf_iszero
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf
    signature: gf gf_iszero(gf a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:2968,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - out
    - in0
    - in1
    argTypes:
    - gf*
    - gf*
    - gf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2982
      start: 2957
    functionDepth: 1
    functionLinenumber: 2957
    functionLinenumberEnd: 2982
    functionName: GF_mul
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - gf_mul
    linkageType: ''
    returnType: void
    signature: void GF_mul(gf *out, const gf *in0, const gf *in1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decrypt
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3014,1
    - Dst: crypto_hash_32b
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - key
    - c
    - sk
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3030
      start: 2995
    functionDepth: 1
    functionLinenumber: 2995
    functionLinenumberEnd: 3030
    functionName: operation_dec
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_hash_32b
    - decrypt
    linkageType: ''
    returnType: int
    signature: "int operation_dec(\n       unsigned char *key,\n       const unsigned
      char *c,\n       const unsigned char *sk\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pke_encrypt
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3055,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3057,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3058,1
    - Dst: crypto_hash_32b
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - c
    - key
    - pk
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3063
      start: 3044
    functionDepth: 4
    functionLinenumber: 3044
    functionLinenumberEnd: 3063
    functionName: operation_enc
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - pke_encrypt
    - memcpy
    - crypto_hash_32b
    linkageType: ''
    returnType: int
    signature: "int operation_enc(\n       unsigned char *c,\n       unsigned char
      *key,\n       const unsigned char *pk\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: randombytes
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3093,1
    - Dst: shake
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3102,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3103,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3105,1
    - Dst: load_gf
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3112,1
    - Dst: genpoly_gen
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3114,1
    - Dst: store_gf
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3118,1
    - Dst: load4
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3127,1
    - Dst: pk_gen
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3129,1
    - Dst: controlbitsfrompermutation
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3132,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3138,1
    - Dst: store8
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3142,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3146
      start: 3076
    functionDepth: 3
    functionLinenumber: 3076
    functionLinenumberEnd: 3146
    functionName: operation_keypair
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - genpoly_gen
    - load4
    - pk_gen
    - store_gf
    - memcpy
    - controlbitsfrompermutation
    - store8
    - load_gf
    - shake
    - randombytes
    linkageType: ''
    returnType: void
    signature: "void operation_keypair\n(\n       unsigned char *pk,\n       unsigned
      char *sk\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint64_equal_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3164,1
    - Dst: crypto_declassify
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - u
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3167
      start: 3162
    functionDepth: 1
    functionLinenumber: 3162
    functionLinenumberEnd: 3167
    functionName: uint64_is_equal_declassify
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_uint64_equal_mask
    - crypto_declassify
    linkageType: ''
    returnType: crypto_uint64
    signature: crypto_uint64 uint64_is_equal_declassify(uint64_t t,uint64_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint64_zero_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3171,1
    - Dst: crypto_declassify
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3174
      start: 3169
    functionDepth: 1
    functionLinenumber: 3169
    functionLinenumberEnd: 3174
    functionName: uint64_is_zero_declassify
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_declassify
    - crypto_uint64_zero_mask
    linkageType: ''
    returnType: crypto_uint64
    signature: crypto_uint64 uint64_is_zero_declassify(uint64_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint64_t*
    - vec[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3191
      start: 3177
    functionDepth: 0
    functionLinenumber: 3177
    functionLinenumberEnd: 3191
    functionName: de_bitslicing
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void de_bitslicing(uint64_t * out, const vec in[][GFBITS])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - out0
    - out1
    - in
    argTypes:
    - vec[][]
    - vec[][]
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3215
      start: 3193
    functionDepth: 0
    functionLinenumber: 3193
    functionLinenumberEnd: 3215
    functionName: to_bitslicing_2x
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void to_bitslicing_2x(vec out0[][GFBITS], vec out1[][GFBITS], const
      uint64_t * in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3230
      start: 3218
    functionDepth: 0
    functionLinenumber: 3218
    functionLinenumberEnd: 3230
    functionName: ctz
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ctz(uint64_t in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_u64_gen_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3242
      start: 3232
    functionDepth: 0
    functionLinenumber: 3232
    functionLinenumberEnd: 3242
    functionName: same_mask
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - ct_u64_gen_mask
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t same_mask(uint16_t x, uint16_t y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint64_is_zero_declassify
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3269,1
    - Dst: ctz
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3271,1
    - Dst: same_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3284,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - mat
    - pi
    - pivots
    argTypes:
    - uint64_t[][]
    - int16_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3311
      start: 3244
    functionDepth: 2
    functionLinenumber: 3244
    functionLinenumberEnd: 3311
    functionName: mov_columns
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - uint64_is_zero_declassify
    - same_mask
    - ctz
    linkageType: ''
    returnType: int
    signature: int mov_columns(uint64_t mat[][ (SYS_N + 63) / 64 ], int16_t * pi,
      uint64_t * pivots)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: irr_load
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3335,1
    - Dst: fft
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3337,1
    - Dst: vec_copy
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3339,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3342,1
    - Dst: vec_inv
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3344,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3348,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3349,1
    - Dst: vec_copy
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3352,1
    - Dst: de_bitslicing
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3356,1
    - Dst: uint64_sort
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3365,1
    - Dst: uint64_is_equal_declassify
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3368,1
    - Dst: to_bitslicing_2x
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3371,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3383,1
    - Dst: mov_columns
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3398,1
    - Dst: ct_u64_gen_inv_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3406,1
    - Dst: uint64_is_zero_declassify
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3412,1
    - Dst: ct_u64_gen_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3421,1
    - Dst: ct_u64_gen_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3431,1
    - Dst: store8
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3442,1
    - Dst: store_i
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3446,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 75
    argCount: 6
    argNames:
    - pk
    - irr
    - perm
    - pi
    - pivots
    - mat
    argTypes:
    - unsigned char*
    - unsigned char*
    - uint32_t*
    - int16_t*
    - uint64_t*
    - uint64_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3454
      start: 3316
    functionDepth: 3
    functionLinenumber: 3316
    functionLinenumberEnd: 3454
    functionName: pk_gen_mat
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - to_bitslicing_2x
    - ct_u64_gen_inv_mask
    - vec_mul
    - de_bitslicing
    - store_i
    - vec_copy
    - uint64_sort
    - ct_u64_gen_mask
    - vec_inv
    - uint64_is_equal_declassify
    - fft
    - mov_columns
    - uint64_is_zero_declassify
    - store8
    - irr_load
    linkageType: ''
    returnType: int
    signature: "int pk_gen_mat(unsigned char * pk, const unsigned char * irr, uint32_t
      * perm, int16_t * pi, uint64_t * pivots,\n\t\t      uint64_t mat[ PK_NROWS ][
      nblocks_H ])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3461,1
    - Dst: pk_gen_mat
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3462,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3463,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - pk
    - irr
    - perm
    - pi
    - pivots
    argTypes:
    - unsigned char*
    - unsigned char*
    - uint32_t*
    - int16_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3466
      start: 3457
    functionDepth: 4
    functionLinenumber: 3457
    functionLinenumberEnd: 3466
    functionName: pk_gen
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 1
    functionsReached:
    - wipememory
    - xmalloc
    - xfree
    - pk_gen_mat
    linkageType: ''
    returnType: int
    signature: int pk_gen(unsigned char * pk, const unsigned char * irr, uint32_t
      * perm, int16_t * pi, uint64_t * pivots)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_uint16_zero_mask
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3482,1
    - Dst: crypto_declassify
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3485
      start: 3480
    functionDepth: 1
    functionLinenumber: 3480
    functionLinenumberEnd: 3485
    functionName: gf_is_zero_declassify
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_declassify
    - crypto_uint16_zero_mask
    linkageType: ''
    returnType: crypto_uint16
    signature: crypto_uint16 gf_is_zero_declassify(gf t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GF_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3508,1
    - Dst: gf_iszero
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3516,1
    - Dst: gf_is_zero_declassify
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3523,1
    - Dst: gf_inv
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3528,1
    - Dst: gf_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3531,1
    - Dst: gf_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3540,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - out
    - f
    argTypes:
    - gf*
    - gf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3549
      start: 3490
    functionDepth: 3
    functionLinenumber: 3490
    functionLinenumberEnd: 3549
    functionName: genpoly_gen
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 1
    functionsReached:
    - gf_is_zero_declassify
    - gf_mul
    - gf_inv
    - GF_mul
    - gf_iszero
    linkageType: ''
    returnType: int
    signature: int genpoly_gen(gf *out, gf *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - h
    - f
    - g
    argTypes:
    - vec*
    - vec*
    - vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3581
      start: 3559
    functionDepth: 0
    functionLinenumber: 3559
    functionLinenumberEnd: 3581
    functionName: vec_mul
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vec_mul(vec * h, const vec * f, const vec * g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - vec*
    - vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3613
      start: 3584
    functionDepth: 0
    functionLinenumber: 3584
    functionLinenumberEnd: 3613
    functionName: vec_sq
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vec_sq(vec * out, vec * in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_copy
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3621,1
    - Dst: vec_sq
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3623,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3624,1
    - Dst: vec_sq
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3626,1
    - Dst: vec_sq
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3627,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3628,1
    - Dst: vec_sq
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3630,1
    - Dst: vec_sq
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3631,1
    - Dst: vec_sq
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3632,1
    - Dst: vec_sq
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3633,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3634,1
    - Dst: vec_sq
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3636,1
    - Dst: vec_sq
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3637,1
    - Dst: vec_sq
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3638,1
    - Dst: vec_sq
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3639,1
    - Dst: vec_mul
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3640,1
    - Dst: vec_sq
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - vec*
    - vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3643
      start: 3616
    functionDepth: 1
    functionLinenumber: 3616
    functionLinenumberEnd: 3643
    functionName: vec_inv
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 2
    functionsReached:
    - vec_copy
    - vec_mul
    - vec_sq
    linkageType: ''
    returnType: void
    signature: void vec_inv(vec * out, vec * in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_dec
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - c
    - sk
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3655
      start: 3648
    functionDepth: 2
    functionLinenumber: 3648
    functionLinenumberEnd: 3655
    functionName: crypto_kem_dec
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - operation_dec
    linkageType: ''
    returnType: int
    signature: "int crypto_kem_dec(\n       unsigned char *key,\n       const unsigned
      char *c,\n       const unsigned char *sk\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_enc
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - key
    - pk
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3666
      start: 3659
    functionDepth: 5
    functionLinenumber: 3659
    functionLinenumberEnd: 3666
    functionName: crypto_kem_enc
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - operation_enc
    linkageType: ''
    returnType: int
    signature: "int crypto_kem_enc(\n       unsigned char *c,\n       unsigned char
      *key,\n       const unsigned char *pk\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_keypair
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3677
      start: 3670
    functionDepth: 4
    functionLinenumber: 3670
    functionLinenumberEnd: 3677
    functionName: crypto_kem_keypair
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - operation_keypair
    linkageType: ''
    returnType: void
    signature: "void crypto_kem_keypair\n(\n       unsigned char *pk,\n       unsigned
      char *sk\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_kem_dec
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - c
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3689
      start: 3682
    functionDepth: 0
    functionLinenumber: 3682
    functionLinenumberEnd: 3689
    functionName: mceliece6688128f_dec
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_kem_dec
    linkageType: ''
    returnType: void
    signature: "void mceliece6688128f_dec(uint8_t *key,\n\t\t\t  const uint8_t *c,\n\t\t\t
      \ const uint8_t *sk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_kem_enc
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - key
    - pk
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3698
      start: 3691
    functionDepth: 6
    functionLinenumber: 3691
    functionLinenumberEnd: 3698
    functionName: mceliece6688128f_enc
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_kem_enc
    linkageType: ''
    returnType: void
    signature: "void mceliece6688128f_enc(uint8_t *c,\n\t\t\t  uint8_t *key,\n\t\t\t
      \ const uint8_t *pk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_kem_keypair
      Src: /src/libgcrypt/cipher/mceliece6688128f.c:3703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3704
      start: 3700
    functionDepth: 5
    functionLinenumber: 3700
    functionLinenumberEnd: 3704
    functionName: mceliece6688128f_keypair
    functionSourceFile: /src/libgcrypt/cipher/mceliece6688128f.c
    functionUses: 0
    functionsReached:
    - crypto_kem_keypair
    linkageType: ''
    returnType: void
    signature: "void mceliece6688128f_keypair(uint8_t *pk,\n\t\t\t      uint8_t *sk)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:65,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:72,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:73,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:74,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:81,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:83,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:88,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - c
    - outbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 91
    functionName: wrap
    functionSourceFile: /src/libgcrypt/cipher/cipher-aeswrap.c
    functionUses: 2
    functionsReached:
    - cipher_block_xor
    - _gcry_burn_stack
    - memset
    - gcry_cipher_hd_t::spec::encrypt
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t wrap (gcry_cipher_hd_t c, byte *outbuf, size_t inbuflen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:122,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:127,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:129,1
    - Dst: wrap
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 134
    functionName: _gcry_cipher_keywrap_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-aeswrap.c
    functionUses: 0
    functionsReached:
    - memmove
    - memset
    - memcpy
    - wrap
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_keywrap_encrypt (gcry_cipher_hd_t c,\n
      \                             byte *outbuf, size_t outbuflen,\n                              const
      byte *inbuf, size_t inbuflen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:163,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:168,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:170,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:176,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:178,1
    - Dst: wrap
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 185
    functionName: _gcry_cipher_keywrap_encrypt_padding
    functionSourceFile: /src/libgcrypt/cipher/cipher-aeswrap.c
    functionUses: 0
    functionsReached:
    - wrap
    - _gcry_burn_stack
    - memset
    - gcry_cipher_hd_t::spec::encrypt
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_keywrap_encrypt_padding (gcry_cipher_hd_t
      c,\n                                      byte *outbuf, size_t outbuflen,\n
      \                                     const byte *inbuf, size_t inbuflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:223,1
    - Dst: memmove
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:224,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:239,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:240,1
    - Dst: gcry_cipher_hd_t::spec::decrypt
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:241,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:248,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:250,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:253,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:256,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 4
    argNames:
    - c
    - outbuf
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 259
    functionName: unwrap
    functionSourceFile: /src/libgcrypt/cipher/cipher-aeswrap.c
    functionUses: 0
    functionsReached:
    - memmove
    - cipher_block_xor
    - gcry_cipher_hd_t::spec::decrypt
    - wipememory
    - _gcry_burn_stack
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t unwrap (gcry_cipher_hd_t c, byte *outbuf, const byte
      *inbuf, size_t inbuflen)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_hd_t::spec::decrypt
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:292,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:294,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:296,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:317,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:318,1
    - Dst: unwrap
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:329,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:338,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:339,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:340,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:361,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-aeswrap.c:374,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 64
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 380
    functionName: _gcry_cipher_keywrap_decrypt_auto
    functionSourceFile: /src/libgcrypt/cipher/cipher-aeswrap.c
    functionUses: 0
    functionsReached:
    - unwrap
    - _gcry_burn_stack
    - memcmp
    - memset
    - memcpy
    - gcry_cipher_hd_t::spec::decrypt
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_keywrap_decrypt_auto (gcry_cipher_hd_t
      c,\n                                   byte *outbuf, size_t outbuflen,\n                                   const
      byte *inbuf, size_t inbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: shaext_prepare
    functionSourceFile: /src/libgcrypt/cipher/sha1-intel-shaext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shaext_prepare()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tmp0
    - ','
    - tmp1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: shaext_cleanup
    functionSourceFile: /src/libgcrypt/cipher/sha1-intel-shaext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shaext_cleanup(tmp0,tmp1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: shaext_prepare
    functionSourceFile: /src/libgcrypt/cipher/sha1-intel-shaext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shaext_prepare()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tmp0
    - ','
    - tmp1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: shaext_cleanup
    functionSourceFile: /src/libgcrypt/cipher/sha1-intel-shaext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shaext_cleanup(tmp0,tmp1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - imm
    - ','
    - E0
    - ','
    - E1
    - ','
    - MSG0
    - ','
    - MSG1
    - ','
    - MSG2
    - ','
    - MSG3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: ROUND
    functionSourceFile: /src/libgcrypt/cipher/sha1-intel-shaext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND(imm, E0, E1, MSG0, MSG1, MSG2, MSG3)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/rijndael-p10le.c:71,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/rijndael-p10le.c:72,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/rijndael-p10le.c:73,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/rijndael-p10le.c:77,1
    - Dst: _gcry_ppc10_aes_gcm_encrypt
      Src: /src/libgcrypt/cipher/rijndael-p10le.c:93,1
    - Dst: _gcry_ppc10_aes_gcm_decrypt
      Src: /src/libgcrypt/cipher/rijndael-p10le.c:97,1
    - Dst: cipher_block_add
      Src: /src/libgcrypt/cipher/rijndael-p10le.c:101,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/rijndael-p10le.c:108,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/rijndael-p10le.c:111,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-p10le.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 5
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 122
    functionName: _gcry_aes_p10le_gcm_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-p10le.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    - cipher_block_add
    - buf_get_be32
    - buf_cpy
    - _gcry_ppc10_aes_gcm_decrypt
    - clear_vec_regs
    - _gcry_ppc10_aes_gcm_encrypt
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_aes_p10le_gcm_crypt(gcry_cipher_hd_t c, void *outbuf_arg,\n
      \                         const void *inbuf_arg, size_t nblocks, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n
    - ','
    - l0reg
    - ','
    - l1reg
    - ','
    - yreg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 298
    functionName: OCB_INPUT
    functionSourceFile: /src/libgcrypt/cipher/sm4-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_INPUT(n, l0reg, l1reg, yreg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n
    - ','
    - l0reg
    - ','
    - l1reg
    - ','
    - yreg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: OCB_INPUT
    functionSourceFile: /src/libgcrypt/cipher/sm4-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_INPUT(n, l0reg, l1reg, yreg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n
    - ','
    - l0reg
    - ','
    - l1reg
    - ','
    - yreg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 527
    functionName: OCB_INPUT
    functionSourceFile: /src/libgcrypt/cipher/sm4-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_INPUT(n, l0reg, l1reg, yreg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: rotl16
    functionSourceFile: /src/libgcrypt/cipher/rfc2268.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rotl16(x,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: rotr16
    functionSourceFile: /src/libgcrypt/cipher/rfc2268.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rotr16(x,n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rotl16
      Src: /src/libgcrypt/cipher/rfc2268.c:109,1
    - Dst: rotl16
      Src: /src/libgcrypt/cipher/rfc2268.c:112,1
    - Dst: rotl16
      Src: /src/libgcrypt/cipher/rfc2268.c:115,1
    - Dst: rotl16
      Src: /src/libgcrypt/cipher/rfc2268.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 138
    functionName: do_encrypt
    functionSourceFile: /src/libgcrypt/cipher/rfc2268.c
    functionUses: 0
    functionsReached:
    - rotl16
    linkageType: ''
    returnType: void
    signature: void do_encrypt (void *context, unsigned char *outbuf, const unsigned
      char *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encrypt
      Src: /src/libgcrypt/cipher/rfc2268.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: encrypt_block
    functionSourceFile: /src/libgcrypt/cipher/rfc2268.c
    functionUses: 0
    functionsReached:
    - do_encrypt
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int encrypt_block (void *context, unsigned char *outbuf, const
      unsigned char *inbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rotr16
      Src: /src/libgcrypt/cipher/rfc2268.c:167,1
    - Dst: rotr16
      Src: /src/libgcrypt/cipher/rfc2268.c:170,1
    - Dst: rotr16
      Src: /src/libgcrypt/cipher/rfc2268.c:173,1
    - Dst: rotr16
      Src: /src/libgcrypt/cipher/rfc2268.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 197
    functionName: do_decrypt
    functionSourceFile: /src/libgcrypt/cipher/rfc2268.c
    functionUses: 0
    functionsReached:
    - rotr16
    linkageType: ''
    returnType: void
    signature: void do_decrypt (void *context, unsigned char *outbuf, const unsigned
      char *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_decrypt
      Src: /src/libgcrypt/cipher/rfc2268.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: decrypt_block
    functionSourceFile: /src/libgcrypt/cipher/rfc2268.c
    functionUses: 2
    functionsReached:
    - do_decrypt
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int decrypt_block (void *context, unsigned char *outbuf, const
      unsigned char *inbuf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: selftest
      Src: /src/libgcrypt/cipher/rfc2268.c:221,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/rfc2268.c:223,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - context
    - key
    - keylen
    - with_phase2
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 266
    functionName: setkey_core
    functionSourceFile: /src/libgcrypt/cipher/rfc2268.c
    functionUses: 0
    functionsReached:
    - selftest
    - log_error
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t setkey_core (void *context, const unsigned char *key,
      unsigned int keylen, int with_phase2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setkey_core
      Src: /src/libgcrypt/cipher/rfc2268.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - context
    - key
    - keylen
    - bulk_ops
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: do_setkey
    functionSourceFile: /src/libgcrypt/cipher/rfc2268.c
    functionUses: 0
    functionsReached:
    - setkey_core
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t do_setkey (void *context, const unsigned char *key,
      unsigned int keylen,\n           cipher_bulk_ops_t *bulk_ops)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: setkey_core
      Src: /src/libgcrypt/cipher/rfc2268.c:313,1
    - Dst: do_encrypt
      Src: /src/libgcrypt/cipher/rfc2268.c:314,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/rfc2268.c:316,1
    - Dst: setkey_core
      Src: /src/libgcrypt/cipher/rfc2268.c:319,1
    - Dst: do_decrypt
      Src: /src/libgcrypt/cipher/rfc2268.c:320,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/rfc2268.c:321,1
    - Dst: setkey_core
      Src: /src/libgcrypt/cipher/rfc2268.c:325,1
    - Dst: do_encrypt
      Src: /src/libgcrypt/cipher/rfc2268.c:326,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/rfc2268.c:327,1
    - Dst: setkey_core
      Src: /src/libgcrypt/cipher/rfc2268.c:330,1
    - Dst: do_decrypt
      Src: /src/libgcrypt/cipher/rfc2268.c:331,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/rfc2268.c:332,1
    - Dst: setkey_core
      Src: /src/libgcrypt/cipher/rfc2268.c:336,1
    - Dst: do_encrypt
      Src: /src/libgcrypt/cipher/rfc2268.c:337,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/rfc2268.c:339,1
    - Dst: setkey_core
      Src: /src/libgcrypt/cipher/rfc2268.c:342,1
    - Dst: do_decrypt
      Src: /src/libgcrypt/cipher/rfc2268.c:343,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/rfc2268.c:344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 348
    functionName: selftest
    functionSourceFile: /src/libgcrypt/cipher/rfc2268.c
    functionUses: 10
    functionsReached:
    - setkey_core
    - do_encrypt
    - memcmp
    - do_decrypt
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:123,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:125,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:127,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:129,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:131,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:137,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:139,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:141,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:143,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:144,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:146,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:147,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:148,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:149,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:154,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:156,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:158,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:160,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:161,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:163,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:164,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:165,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:166,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:169,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:171,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:173,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:175,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:177,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:178,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:179,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:180,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:181,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:182,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:185,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:187,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:189,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:191,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:193,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:194,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:195,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:196,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:197,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:198,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:201,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:203,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:205,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:207,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:209,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:210,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:211,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:212,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:213,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:214,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:219,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:221,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:223,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:225,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:226,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:227,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:228,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:229,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:230,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:233,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:235,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:237,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:239,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:241,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:242,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:243,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:244,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:245,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:246,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:249,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:251,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:253,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:255,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:257,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:258,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:259,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:260,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:261,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:262,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:265,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:267,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:269,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:271,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:273,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:274,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:275,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:276,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:277,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:278,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:281,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:283,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:285,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:287,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:289,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:290,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:291,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:292,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:293,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:294,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:309,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:311,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:313,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:315,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:317,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:323,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:325,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:327,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:329,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:330,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:332,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:333,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:334,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:335,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:340,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:342,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:344,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:346,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:347,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:349,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:350,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:351,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:352,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:355,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:357,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:359,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:361,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:363,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:364,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:365,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:366,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:367,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:368,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:371,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:373,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:375,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:377,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:379,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:380,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:381,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:382,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:383,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:384,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:387,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:389,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:391,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:393,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:395,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:396,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:397,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:398,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:399,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:400,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:405,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:407,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:409,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:411,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:412,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:413,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:414,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:415,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:416,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:419,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:421,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:423,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:425,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:427,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:428,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:429,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:430,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:431,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:432,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:435,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:437,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:439,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:441,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:443,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:444,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:445,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:446,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:447,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:448,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:451,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:453,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:455,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:457,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:459,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:460,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:461,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:462,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:463,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:464,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:467,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:469,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:471,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:473,1
    - Dst: ROL32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:475,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:476,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:477,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:478,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:479,1
    - Dst: ANDN32
      Src: /src/libgcrypt/cipher/keccak_permute_32.h:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 448
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KECCAK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 536
    functionName: KECCAK_F1600_PERMUTE_FUNC_NAME
    functionSourceFile: /src/libgcrypt/cipher/keccak_permute_32.h
    functionUses: 0
    functionsReached:
    - ANDN32
    - ROL32
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int KECCAK_F1600_PERMUTE_FUNC_NAME(KECCAK_STATE *hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_arcfour_amd64
      Src: /src/libgcrypt/cipher/arcfour.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - context
    - outbuf
    - inbuf
    - length
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: encrypt_stream
    functionSourceFile: /src/libgcrypt/cipher/arcfour.c
    functionUses: 2
    functionsReached:
    - _gcry_arcfour_amd64
    linkageType: ''
    returnType: void
    signature: "void encrypt_stream (void *context,\n                byte *outbuf,
      const byte *inbuf, size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - outbuf
    - inbuf
    - length
    argTypes:
    - ARCFOUR_context*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 115
    functionName: do_encrypt_stream
    functionSourceFile: /src/libgcrypt/cipher/arcfour.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void do_encrypt_stream( ARCFOUR_context *ctx,\n\t\t   byte *outbuf,
      const byte *inbuf, size_t length )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encrypt_stream
      Src: /src/libgcrypt/cipher/arcfour.c:122,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/arcfour.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - context
    - outbuf
    - inbuf
    - length
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: encrypt_stream
    functionSourceFile: /src/libgcrypt/cipher/arcfour.c
    functionUses: 3
    functionsReached:
    - _gcry_burn_stack
    - do_encrypt_stream
    linkageType: ''
    returnType: void
    signature: "void encrypt_stream (void *context,\n                byte *outbuf,
      const byte *inbuf, size_t length)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: selftest
      Src: /src/libgcrypt/cipher/arcfour.c:141,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/arcfour.c:143,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/arcfour.c:168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - context
    - key
    - keylen
    argTypes:
    - void*
    - byte*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 171
    functionName: do_arcfour_setkey
    functionSourceFile: /src/libgcrypt/cipher/arcfour.c
    functionUses: 0
    functionsReached:
    - wipememory
    - selftest
    - log_error
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t do_arcfour_setkey (void *context, const byte *key,
      unsigned int keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_arcfour_setkey
      Src: /src/libgcrypt/cipher/arcfour.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - context
    - key
    - keylen
    - bulk_ops
    argTypes:
    - void*
    - byte*
    - unsigned int
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: arcfour_setkey
    functionSourceFile: /src/libgcrypt/cipher/arcfour.c
    functionUses: 1
    functionsReached:
    - do_arcfour_setkey
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t arcfour_setkey ( void *context, const byte *key, unsigned
      int keylen,\n                 cipher_bulk_ops_t *bulk_ops )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: arcfour_setkey
      Src: /src/libgcrypt/cipher/arcfour.c:199,1
    - Dst: encrypt_stream
      Src: /src/libgcrypt/cipher/arcfour.c:200,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/arcfour.c:201,1
    - Dst: arcfour_setkey
      Src: /src/libgcrypt/cipher/arcfour.c:203,1
    - Dst: encrypt_stream
      Src: /src/libgcrypt/cipher/arcfour.c:204,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/arcfour.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 184
    functionDepth: 4
    functionLinenumber: 184
    functionLinenumberEnd: 208
    functionName: selftest
    functionSourceFile: /src/libgcrypt/cipher/arcfour.c
    functionUses: 11
    functionsReached:
    - memcmp
    - arcfour_setkey
    - encrypt_stream
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm3_transform_amd64_avx_bmi2
      Src: /src/libgcrypt/cipher/sm3.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: do_sm3_transform_amd64_avx_bmi2
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached:
    - _gcry_sm3_transform_amd64_avx_bmi2
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sm3_transform_amd64_avx_bmi2(void *context, const
      unsigned char *data,\n                                size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm3_transform_intel_avx2
      Src: /src/libgcrypt/cipher/sm3.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: do_sm3_transform_intel_avx2
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached:
    - _gcry_sm3_transform_intel_avx2
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sm3_transform_intel_avx2(void *context, const unsigned
      char *data,\n                            size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm3_transform_aarch64
      Src: /src/libgcrypt/cipher/sm3.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: do_sm3_transform_aarch64
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached:
    - _gcry_sm3_transform_aarch64
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_sm3_transform_aarch64(void *context, const unsigned
      char *data, size_t nblks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm3_transform_armv8_ce
      Src: /src/libgcrypt/cipher/sm3.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: do_sm3_transform_armv8_ce
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached:
    - _gcry_sm3_transform_armv8_ce
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sm3_transform_armv8_ce(void *context, const unsigned
      char *data,\n                            size_t nblks)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/sm3.c:179,1
    - Dst: _gcry_ctz
      Src: /src/libgcrypt/cipher/sm3.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 216
    functionName: sm3_init
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached:
    - _gcry_ctz
    - _gcry_get_hw_features
    linkageType: ''
    returnType: void
    signature: void sm3_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - i
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - t
    - ','
    - w1
    - ','
    - w2
    - )
    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: 232
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: R
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 107
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(i,a,b,c,d,e,f,g,h,t,w1,w2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - t
    - ','
    - w1
    - ','
    - w2
    - )
    argTypes:
    - 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: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: R1
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R1(a,b,c,d,e,f,g,h,t,w1,w2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - t
    - ','
    - w1
    - ','
    - w2
    - )
    argTypes:
    - 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: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: R2
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R2(a,b,c,d,e,f,g,h,t,w1,w2)
  - 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: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: FF1
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FF1(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: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: FF2
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FF2(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: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: GG1
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GG1(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: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: GG2
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GG2(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: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: P0
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: P1
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: I
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: W1
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: W1(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: W2
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: W2(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: R1
      Src: /src/libgcrypt/cipher/sm3.c:290,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sm3.c:290,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sm3.c:290,1
    - Dst: R1
      Src: /src/libgcrypt/cipher/sm3.c:291,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sm3.c:291,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sm3.c:291,1
    - Dst: R1
      Src: /src/libgcrypt/cipher/sm3.c:292,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sm3.c:292,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sm3.c:292,1
    - Dst: R1
      Src: /src/libgcrypt/cipher/sm3.c:293,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sm3.c:293,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sm3.c:293,1
    - Dst: R1
      Src: /src/libgcrypt/cipher/sm3.c:294,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:294,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sm3.c:294,1
    - Dst: R1
      Src: /src/libgcrypt/cipher/sm3.c:295,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:295,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sm3.c:295,1
    - Dst: R1
      Src: /src/libgcrypt/cipher/sm3.c:296,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:296,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sm3.c:296,1
    - Dst: R1
      Src: /src/libgcrypt/cipher/sm3.c:297,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:297,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sm3.c:297,1
    - Dst: R1
      Src: /src/libgcrypt/cipher/sm3.c:298,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:298,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sm3.c:298,1
    - Dst: R1
      Src: /src/libgcrypt/cipher/sm3.c:299,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:299,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sm3.c:299,1
    - Dst: R1
      Src: /src/libgcrypt/cipher/sm3.c:300,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:300,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sm3.c:300,1
    - Dst: R1
      Src: /src/libgcrypt/cipher/sm3.c:301,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:301,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sm3.c:301,1
    - Dst: R1
      Src: /src/libgcrypt/cipher/sm3.c:302,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:302,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:302,1
    - Dst: R1
      Src: /src/libgcrypt/cipher/sm3.c:303,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:303,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:303,1
    - Dst: R1
      Src: /src/libgcrypt/cipher/sm3.c:304,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:304,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:304,1
    - Dst: R1
      Src: /src/libgcrypt/cipher/sm3.c:305,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:305,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:305,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:307,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:307,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:307,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:308,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:308,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:308,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:309,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:309,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:309,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:310,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:310,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:310,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:311,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:311,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:311,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:312,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:312,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:312,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:313,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:313,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:313,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:314,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:314,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:314,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:315,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:315,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:315,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:316,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:316,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:316,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:317,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:317,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:317,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:318,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:318,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:318,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:319,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:319,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:319,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:320,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:320,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:320,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:321,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:321,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:321,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:322,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:322,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:322,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:324,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:324,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:324,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:325,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:325,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:325,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:326,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:326,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:326,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:327,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:327,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:327,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:328,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:328,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:328,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:329,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:329,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:329,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:330,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:330,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:330,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:331,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:331,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:331,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:332,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:332,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:332,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:333,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:333,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:333,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:334,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:334,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:334,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:335,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:335,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:335,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:336,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:336,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:336,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:337,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:337,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:337,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:338,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:338,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:338,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:339,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:339,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:339,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:341,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:341,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:341,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:342,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:342,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:342,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:343,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:343,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:343,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:344,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:344,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:344,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:345,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:345,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:345,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:346,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:346,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:346,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:347,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:347,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:347,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:348,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:348,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:348,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:349,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:349,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:349,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:350,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:350,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:350,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:351,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:351,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:351,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:352,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:352,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:352,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:353,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:353,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:353,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:354,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:354,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:354,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:355,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:355,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:355,1
    - Dst: R2
      Src: /src/libgcrypt/cipher/sm3.c:356,1
    - Dst: W1
      Src: /src/libgcrypt/cipher/sm3.c:356,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sm3.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 82
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - void*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 368
    functionName: transform_blk
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached:
    - W2
    - R2
    - R1
    - W1
    - I
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int transform_blk (void *ctx, const unsigned char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transform_blk
      Src: /src/libgcrypt/cipher/sm3.c:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 389
    functionName: transform
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 6
    functionsReached:
    - transform_blk
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int transform (void *ctx, const unsigned char *data, size_t
      nblks)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/sm3.c:428,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sm3.c:431,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sm3.c:432,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/sm3.c:439,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sm3.c:442,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sm3.c:443,1
    - Dst: X
      Src: /src/libgcrypt/cipher/sm3.c:449,1
    - Dst: X
      Src: /src/libgcrypt/cipher/sm3.c:450,1
    - Dst: X
      Src: /src/libgcrypt/cipher/sm3.c:451,1
    - Dst: X
      Src: /src/libgcrypt/cipher/sm3.c:452,1
    - Dst: X
      Src: /src/libgcrypt/cipher/sm3.c:453,1
    - Dst: X
      Src: /src/libgcrypt/cipher/sm3.c:454,1
    - Dst: X
      Src: /src/libgcrypt/cipher/sm3.c:455,1
    - Dst: X
      Src: /src/libgcrypt/cipher/sm3.c:456,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/sm3.c:461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 462
    functionName: sm3_final
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached:
    - X
    - memset
    - _gcry_burn_stack
    - buf_put_be32
    linkageType: ''
    returnType: void
    signature: void sm3_final(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 449
    functionName: X
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 470
    functionName: sm3_read
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      sm3_read (void *context)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sm3_init
      Src: /src/libgcrypt/cipher/sm3.c:483,1
    - Dst: _gcry_md_block_write
      Src: /src/libgcrypt/cipher/sm3.c:485,1
    - Dst: sm3_final
      Src: /src/libgcrypt/cipher/sm3.c:487,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/sm3.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - outbuf
    - nbytes
    - iov
    - iovcnt
    argTypes:
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 489
    functionName: _gcry_sm3_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached:
    - _gcry_md_block_write
    - sm3_final
    - sm3_init
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void _gcry_sm3_hash_buffers (void *outbuf, size_t nbytes,\n\t\t\tconst
      gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sm3.c:505,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sm3.c:516,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sm3.c:526,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sm3.c:536,1
    - Dst: report
      Src: /src/libgcrypt/cipher/sm3.c:550,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 552
    functionName: selftests_sm3
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 0
    functionsReached:
    - report
    - _gcry_hash_selftest_check_one
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_sm3 (int extended, selftest_report_func_t
      report)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: selftests_sm3
      Src: /src/libgcrypt/cipher/sm3.c:564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 572
    functionName: run_selftests
    functionSourceFile: /src/libgcrypt/cipher/sm3.c
    functionUses: 4
    functionsReached:
    - selftests_sm3
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t run_selftests (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/cipher/kdf.c:55,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/cipher/kdf.c:55,1
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/kdf.c:57,1
    - Dst: _gcry_md_reset
      Src: /src/libgcrypt/cipher/kdf.c:66,1
    - Dst: _gcry_md_putc
      Src: /src/libgcrypt/cipher/kdf.c:68,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:85,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:86,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:90,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:93,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:95,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:99,1
    - Dst: _gcry_md_final
      Src: /src/libgcrypt/cipher/kdf.c:101,1
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/kdf.c:102,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kdf.c:105,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/kdf.c:105,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/kdf.c:108,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 9
    argNames:
    - passphrase
    - passphraselen
    - algo
    - hashalgo
    - salt
    - saltlen
    - iterations
    - keysize
    - keybuffer
    argTypes:
    - void*
    - size_t
    - int
    - int
    - void*
    - size_t
    - unsigned long
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 110
    functionName: openpgp_s2k
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - _gcry_md_reset
    - _gcry_md_final
    - _gcry_md_read
    - _gcry_md_close
    - _gcry_md_get_algo_dlen
    - _gcry_md_putc
    - _gcry_md_write
    - _gcry_is_secure
    - memcpy
    - _gcry_md_open_internal
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t openpgp_s2k (const void *passphrase, size_t passphraselen,\n
      \            int algo, int hashalgo,\n             const void *salt, size_t
      saltlen,\n             unsigned long iterations,\n             size_t keysize,
      void *keybuffer)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/kdf.c:148,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/cipher/kdf.c:152,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/cipher/kdf.c:152,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/cipher/kdf.c:170,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/kdf.c:171,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/kdf.c:173,1
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/kdf.c:177,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:182,1
    - Dst: _gcry_md_setkey
      Src: /src/libgcrypt/cipher/kdf.c:186,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/kdf.c:189,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:190,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kdf.c:195,1
    - Dst: _gcry_md_reset
      Src: /src/libgcrypt/cipher/kdf.c:200,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:207,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kdf.c:208,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/kdf.c:208,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kdf.c:209,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:213,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kdf.c:214,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/kdf.c:214,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kdf.c:220,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kdf.c:223,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/kdf.c:228,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:229,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 8
    argNames:
    - passphrase
    - passphraselen
    - hashalgo
    - salt
    - saltlen
    - iterations
    - keysize
    - keybuffer
    argTypes:
    - void*
    - size_t
    - int
    - void*
    - size_t
    - unsigned long
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 231
    functionName: _gcry_kdf_pkdf2
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - _gcry_md_reset
    - gpg_err_code_from_syserror
    - _gcry_md_read
    - _gcry_md_close
    - xtrymalloc_secure
    - _gcry_md_get_algo_dlen
    - _gcry_md_write
    - _gcry_is_secure
    - xfree
    - memcpy
    - xtrymalloc
    - _gcry_md_setkey
    - _gcry_md_open_internal
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_kdf_pkdf2 (const void *passphrase, size_t passphraselen,\n
      \                int hashalgo,\n                 const void *salt, size_t saltlen,\n
      \                unsigned long iterations,\n                 size_t keysize,
      void *keybuffer)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: openpgp_s2k
      Src: /src/libgcrypt/cipher/kdf.c:276,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/kdf.c:290,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/kdf.c:294,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/kdf.c:298,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/kdf.c:302,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/kdf.c:306,1
    - Dst: _gcry_kdf_pkdf2
      Src: /src/libgcrypt/cipher/kdf.c:309,1
    - Dst: _gcry_kdf_scrypt
      Src: /src/libgcrypt/cipher/kdf.c:317,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/kdf.c:329,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/kdf.c:330,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 9
    argNames:
    - passphrase
    - passphraselen
    - algo
    - subalgo
    - salt
    - saltlen
    - iterations
    - keysize
    - keybuffer
    argTypes:
    - void*
    - size_t
    - int
    - int
    - void*
    - size_t
    - unsigned long
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 334
    functionName: _gcry_kdf_derive
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 1
    functionsReached:
    - _gcry_kdf_pkdf2
    - fips_service_indicator_mark_non_compliant
    - fips_mode
    - openpgp_s2k
    - _gcry_kdf_scrypt
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_kdf_derive (const void *passphrase, size_t passphraselen,\n
      \                 int algo, int subalgo,\n                  const void *salt,
      size_t saltlen,\n                  unsigned long iterations,\n                  size_t
      keysize, void *keybuffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - u64*
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 392
    functionName: xor_block
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xor_block (u64 *dst, const u64 *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_bswap64
      Src: /src/libgcrypt/cipher/kdf.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dst
    argTypes:
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 408
    functionName: beswap64_block
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - _gcry_bswap64
    linkageType: ''
    returnType: void
    signature: void beswap64_block (u64 *dst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:421,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:422,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:423,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:424,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:425,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:426,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:427,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:440,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:450,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:463,1
    - Dst: hash_buffers
      Src: /src/libgcrypt/cipher/kdf.c:476,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/kdf.c:480,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:481,1
    - Dst: blake2b_vl_hash
      Src: /src/libgcrypt/cipher/kdf.c:482,1
    - Dst: beswap64_block
      Src: /src/libgcrypt/cipher/kdf.c:484,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:486,1
    - Dst: blake2b_vl_hash
      Src: /src/libgcrypt/cipher/kdf.c:487,1
    - Dst: beswap64_block
      Src: /src/libgcrypt/cipher/kdf.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 60
    argCount: 1
    argNames:
    - a
    argTypes:
    - argon2_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 492
    functionName: argon2_fill_first_blocks
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - beswap64_block
    - blake2b_vl_hash
    - buf_put_le32
    - memset
    - hash_buffers
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t argon2_fill_first_blocks (argon2_ctx_t a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/kdf.c:527,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/kdf.c:531,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/kdf.c:534,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/kdf.c:537,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/kdf.c:539,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/kdf.c:542,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:543,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/kdf.c:547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 4
    argNames:
    - a
    - parallelism
    - m_cost
    - t_cost
    argTypes:
    - argon2_ctx_t
    - unsigned int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 552
    functionName: argon2_init
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - memset
    - xfree
    - xtrymalloc
    - U64_C
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t argon2_init (argon2_ctx_t a, unsigned int parallelism,\n
      \            unsigned int m_cost, unsigned int t_cost)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/kdf.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - u64
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: fBlaMka
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - U64_C
    linkageType: ''
    returnType: u64
    signature: u64 fBlaMka (u64 x, u64 y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - c
    argTypes:
    - u64
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: rotr64
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: u64 rotr64 (u64 w, unsigned int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 577
    functionName: G
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 243
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G(a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - v0
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - )
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 590
    functionName: BLAKE2_ROUND_NOMSG
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "BLAKE2_ROUND_NOMSG(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11,
      \  \\\n                           v12, v13, v14, v15)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kdf.c:605,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kdf.c:607,1
    - Dst: xor_block
      Src: /src/libgcrypt/cipher/kdf.c:610,1
    - Dst: BLAKE2_ROUND_NOMSG
      Src: /src/libgcrypt/cipher/kdf.c:613,1
    - Dst: BLAKE2_ROUND_NOMSG
      Src: /src/libgcrypt/cipher/kdf.c:622,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kdf.c:630,1
    - Dst: xor_block
      Src: /src/libgcrypt/cipher/kdf.c:631,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - prev_block
    - ref_block
    - curr_block
    - with_xor
    argTypes:
    - u64*
    - u64*
    - u64*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 632
    functionName: fill_block
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - xor_block
    - memcpy
    - BLAKE2_ROUND_NOMSG
    linkageType: ''
    returnType: void
    signature: "void fill_block (const u64 *prev_block, const u64 *ref_block, u64
      *curr_block,\n            int with_xor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_block
      Src: /src/libgcrypt/cipher/kdf.c:638,1
    - Dst: fill_block
      Src: /src/libgcrypt/cipher/kdf.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - random_block
    - input_block
    argTypes:
    - u64*
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 640
    functionName: pseudo_random_generate
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - fill_block
    linkageType: ''
    returnType: void
    signature: void pseudo_random_generate (u64 *random_block, u64 *input_block)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - a
    - t
    - segment_index
    - random
    - same_lane
    argTypes:
    - argon2_ctx_t
    - struct argon2_thread_data*
    - int
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 686
    functionName: index_alpha
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: "u32 index_alpha (argon2_ctx_t a, const struct argon2_thread_data *t,\n
      \            int segment_index, u32 random, int same_lane)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/kdf.c:703,1
    - Dst: pseudo_random_generate
      Src: /src/libgcrypt/cipher/kdf.c:716,1
    - Dst: pseudo_random_generate
      Src: /src/libgcrypt/cipher/kdf.c:739,1
    - Dst: index_alpha
      Src: /src/libgcrypt/cipher/kdf.c:751,1
    - Dst: fill_block
      Src: /src/libgcrypt/cipher/kdf.c:757,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 688
    functionDepth: 3
    functionLinenumber: 688
    functionLinenumberEnd: 760
    functionName: argon2_compute_segment
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - pseudo_random_generate
    - index_alpha
    - memset
    - fill_block
    linkageType: ''
    returnType: void
    signature: void argon2_compute_segment (void *priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: argon2_fill_first_blocks
      Src: /src/libgcrypt/cipher/kdf.c:772,1
    - Dst: struct gcry_kdf_thread_ops*::dispatch_job
      Src: /src/libgcrypt/cipher/kdf.c:792,1
    - Dst: argon2_compute_segment
      Src: /src/libgcrypt/cipher/kdf.c:798,1
    - Dst: struct gcry_kdf_thread_ops*::wait_all_jobs
      Src: /src/libgcrypt/cipher/kdf.c:803,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - a
    - ops
    argTypes:
    - argon2_ctx_t
    - struct gcry_kdf_thread_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 763
    functionDepth: 4
    functionLinenumber: 763
    functionLinenumberEnd: 810
    functionName: argon2_compute
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - struct gcry_kdf_thread_ops*::dispatch_job
    - struct gcry_kdf_thread_ops*::wait_all_jobs
    - argon2_fill_first_blocks
    - argon2_compute_segment
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t argon2_compute (argon2_ctx_t a, const struct gcry_kdf_thread_ops
      *ops)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/kdf.c:821,1
    - Dst: xor_block
      Src: /src/libgcrypt/cipher/kdf.c:828,1
    - Dst: beswap64_block
      Src: /src/libgcrypt/cipher/kdf.c:831,1
    - Dst: blake2b_vl_hash
      Src: /src/libgcrypt/cipher/kdf.c:832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - a
    - resultlen
    - result
    argTypes:
    - argon2_ctx_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 834
    functionName: argon2_final
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - xor_block
    - blake2b_vl_hash
    - memset
    - beswap64_block
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t argon2_final (argon2_ctx_t a, size_t resultlen, void
      *result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/kdf.c:845,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:846,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:850,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/kdf.c:852,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:853,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - argon2_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 854
    functionName: argon2_close
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - wipememory
    - xfree
    linkageType: ''
    returnType: void
    signature: void argon2_close (argon2_ctx_t a)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/kdf.c:895,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/kdf.c:899,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/kdf.c:901,1
    - Dst: argon2_init
      Src: /src/libgcrypt/cipher/kdf.c:922,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:925,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 12
    argNames:
    - hd
    - subalgo
    - param
    - paramlen
    - password
    - passwordlen
    - salt
    - saltlen
    - key
    - keylen
    - ad
    - adlen
    argTypes:
    - gcry_kdf_hd_t*
    - int
    - unsigned long*
    - unsigned int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 856
    functionDepth: 2
    functionLinenumber: 856
    functionLinenumberEnd: 931
    functionName: argon2_open
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - U64_C
    - xfree
    - xtrymalloc
    - argon2_init
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t argon2_open (gcry_kdf_hd_t *hd, int subalgo,\n             const
      unsigned long *param, unsigned int paramlen,\n             const void *password,
      size_t passwordlen,\n             const void *salt, size_t saltlen,\n             const
      void *key, size_t keylen,\n             const void *ad, size_t adlen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/cipher/kdf.c:998,1
    - Dst: _gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/cipher/kdf.c:999,1
    - Dst: balloon_ctx_t::md_spec::hash_buffers
      Src: /src/libgcrypt/cipher/kdf.c:1001,1
    - Dst: _gcry_cipher_open_internal
      Src: /src/libgcrypt/cipher/kdf.c:1002,1
    - Dst: _gcry_cipher_setkey
      Src: /src/libgcrypt/cipher/kdf.c:1007,1
    - Dst: _gcry_cipher_close
      Src: /src/libgcrypt/cipher/kdf.c:1010,1
    - Dst: _gcry_cipher_setiv
      Src: /src/libgcrypt/cipher/kdf.c:1020,1
    - Dst: _gcry_cipher_close
      Src: /src/libgcrypt/cipher/kdf.c:1023,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/kdf.c:1028,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - hd_p
    - b
    - iov
    - iov_count
    argTypes:
    - gcry_cipher_hd_t*
    - balloon_ctx_t
    - gcry_buffer_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 1031
    functionName: prng_aes_ctr_init
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_open_internal
    - _gcry_cipher_get_algo_blklen
    - _gcry_cipher_setkey
    - _gcry_cipher_setiv
    - _gcry_cipher_get_algo_keylen
    - _gcry_cipher_close
    - wipememory
    - balloon_ctx_t::md_spec::hash_buffers
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t prng_aes_ctr_init (gcry_cipher_hd_t *hd_p, balloon_ctx_t
      b,\n                   gcry_buffer_t *iov, unsigned int iov_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_encrypt
      Src: /src/libgcrypt/cipher/kdf.c:1039,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/kdf.c:1040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hd
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1041
    functionName: prng_aes_ctr_get_rand64
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_encrypt
    - buf_get_le64
    linkageType: ''
    returnType: u64
    signature: u64 prng_aes_ctr_get_rand64 (gcry_cipher_hd_t hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_close
      Src: /src/libgcrypt/cipher/kdf.c:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1047
    functionName: prng_aes_ctr_fini
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void prng_aes_ctr_fini (gcry_cipher_hd_t hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parallelism
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1057
    functionName: ballon_context_size
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ballon_context_size (unsigned int parallelism)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/kdf.c:1111,1
    - Dst: ballon_context_size
      Src: /src/libgcrypt/cipher/kdf.c:1142,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/kdf.c:1143,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/kdf.c:1145,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/kdf.c:1159,1
    - Dst: xtrycalloc
      Src: /src/libgcrypt/cipher/kdf.c:1161,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/kdf.c:1164,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:1165,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 8
    argNames:
    - hd
    - subalgo
    - param
    - paramlen
    - password
    - passwordlen
    - salt
    - saltlen
    argTypes:
    - gcry_kdf_hd_t*
    - int
    - unsigned long*
    - unsigned int
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1183
    functionName: balloon_open
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - ballon_context_size
    - _gcry_md_get_algo_dlen
    - xfree
    - xtrycalloc
    - xtrymalloc
    - U64_C
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t balloon_open (gcry_kdf_hd_t *hd, int subalgo,\n              const
      unsigned long *param, unsigned int paramlen,\n              const void *password,
      size_t passwordlen,\n              const void *salt, size_t saltlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - b
    - dst
    - src
    argTypes:
    - balloon_ctx_t
    - u64*
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1193
    functionName: balloon_xor_block
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void balloon_xor_block (balloon_ctx_t b, u64 *dst, const u64 *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/kdf.c:1205,1
    - Dst: balloon_ctx_t::md_spec::hash_buffers
      Src: /src/libgcrypt/cipher/kdf.c:1217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - b
    - counter_p
    - out
    - blocks
    argTypes:
    - balloon_ctx_t
    - u64*
    - unsigned char*
    - unsigned char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1219
    functionName: balloon_compress
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - balloon_ctx_t::md_spec::hash_buffers
    - buf_put_le64
    linkageType: ''
    returnType: void
    signature: "void balloon_compress (balloon_ctx_t b, u64 *counter_p, unsigned char
      *out,\n                  const unsigned char *blocks[BALLOON_COMPRESS_BLOCKS])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/kdf.c:1237,1
    - Dst: balloon_ctx_t::md_spec::hash_buffers
      Src: /src/libgcrypt/cipher/kdf.c:1240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - b
    - counter_p
    - block
    - n_blocks
    argTypes:
    - balloon_ctx_t
    - u64*
    - unsigned char*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1221
    functionDepth: 1
    functionLinenumber: 1221
    functionLinenumberEnd: 1243
    functionName: balloon_expand
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - balloon_ctx_t::md_spec::hash_buffers
    - buf_put_le64
    linkageType: ''
    returnType: void
    signature: "void balloon_expand (balloon_ctx_t b, u64 *counter_p, unsigned char
      *block,\n                u64 n_blocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/kdf.c:1257,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:1258,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:1259,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:1260,1
    - Dst: balloon_ctx_t::md_spec::hash_buffers
      Src: /src/libgcrypt/cipher/kdf.c:1280,1
    - Dst: balloon_expand
      Src: /src/libgcrypt/cipher/kdf.c:1282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 4
    argNames:
    - b
    - t
    - salt
    - counter_p
    argTypes:
    - balloon_ctx_t
    - struct balloon_thread_data*
    - unsigned char*
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1245
    functionDepth: 2
    functionLinenumber: 1245
    functionLinenumberEnd: 1283
    functionName: balloon_compute_fill
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - balloon_expand
    - buf_put_le32
    - balloon_ctx_t::md_spec::hash_buffers
    - buf_put_le64
    linkageType: ''
    returnType: void
    signature: "void balloon_compute_fill (balloon_ctx_t b,\n                      struct
      balloon_thread_data *t,\n                      const unsigned char *salt,\n
      \                     u64 *counter_p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prng_aes_ctr_get_rand64
      Src: /src/libgcrypt/cipher/kdf.c:1309,1
    - Dst: balloon_compress
      Src: /src/libgcrypt/cipher/kdf.c:1313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - prng
    - b
    - t
    - counter_p
    argTypes:
    - gcry_cipher_hd_t
    - balloon_ctx_t
    - struct balloon_thread_data*
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1285
    functionDepth: 2
    functionLinenumber: 1285
    functionLinenumberEnd: 1315
    functionName: balloon_compute_mix
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - prng_aes_ctr_get_rand64
    - balloon_compress
    linkageType: ''
    returnType: void
    signature: "void balloon_compute_mix (gcry_cipher_hd_t prng,\n                     balloon_ctx_t
      b, struct balloon_thread_data *t,\n                     u64 *counter_p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kdf.c:1335,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/kdf.c:1336,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:1337,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:1339,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:1340,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/kdf.c:1341,1
    - Dst: prng_aes_ctr_init
      Src: /src/libgcrypt/cipher/kdf.c:1356,1
    - Dst: balloon_compute_fill
      Src: /src/libgcrypt/cipher/kdf.c:1360,1
    - Dst: balloon_compute_mix
      Src: /src/libgcrypt/cipher/kdf.c:1363,1
    - Dst: prng_aes_ctr_fini
      Src: /src/libgcrypt/cipher/kdf.c:1367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1318
    functionDepth: 3
    functionLinenumber: 1318
    functionLinenumberEnd: 1368
    functionName: balloon_compute
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - prng_aes_ctr_init
    - balloon_compute_fill
    - balloon_compute_mix
    - buf_put_le32
    - prng_aes_ctr_fini
    - buf_get_le32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void balloon_compute (void *priv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct gcry_kdf_thread_ops*::dispatch_job
      Src: /src/libgcrypt/cipher/kdf.c:1383,1
    - Dst: balloon_compute
      Src: /src/libgcrypt/cipher/kdf.c:1388,1
    - Dst: struct gcry_kdf_thread_ops*::wait_all_jobs
      Src: /src/libgcrypt/cipher/kdf.c:1393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - b
    - ops
    argTypes:
    - balloon_ctx_t
    - struct gcry_kdf_thread_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1370
    functionDepth: 4
    functionLinenumber: 1370
    functionLinenumberEnd: 1399
    functionName: balloon_compute_all
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - struct gcry_kdf_thread_ops*::dispatch_job
    - struct gcry_kdf_thread_ops*::wait_all_jobs
    - balloon_compute
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t balloon_compute_all (balloon_ctx_t b, const struct gcry_kdf_thread_ops
      *ops)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/kdf.c:1411,1
    - Dst: balloon_xor_block
      Src: /src/libgcrypt/cipher/kdf.c:1421,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kdf.c:1424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - b
    - resultlen
    - result
    argTypes:
    - balloon_ctx_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1427
    functionName: balloon_final
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - balloon_xor_block
    - memset
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t balloon_final (balloon_ctx_t b, size_t resultlen, void
      *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ballon_context_size
      Src: /src/libgcrypt/cipher/kdf.c:1433,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/kdf.c:1437,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:1438,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/kdf.c:1441,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:1442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - balloon_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1443
    functionName: balloon_close
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - wipememory
    - xfree
    - ballon_context_size
    linkageType: ''
    returnType: void
    signature: void balloon_close (balloon_ctx_t b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/kdf.c:1476,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/kdf.c:1478,1
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/kdf.c:1480,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:1483,1
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/kdf.c:1486,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:1489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 8
    argNames:
    - hd
    - hashalgo
    - param
    - paramlen
    - input
    - inputlen
    - fixedinfo
    - fixedinfolen
    argTypes:
    - gcry_kdf_hd_t*
    - int
    - unsigned long*
    - unsigned int
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1459
    functionDepth: 1
    functionLinenumber: 1459
    functionLinenumberEnd: 1501
    functionName: onestep_kdf_open
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - _gcry_md_get_algo_dlen
    - xfree
    - xtrymalloc
    - gpg_err_code_from_errno
    - _gcry_md_open_internal
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t onestep_kdf_open (gcry_kdf_hd_t *hd, int hashalgo,\n
      \                 const unsigned long *param, unsigned int paramlen,\n                  const
      void *input, size_t inputlen,\n                  const void *fixedinfo, size_t
      fixedinfolen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - o
    - ops
    argTypes:
    - onestep_kdf_ctx_t
    - struct gcry_kdf_thread_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1513
    functionName: onestep_kdf_compute
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t onestep_kdf_compute (onestep_kdf_ctx_t o, const struct
      gcry_kdf_thread_ops *ops)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/kdf.c:1528,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:1529,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:1530,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:1531,1
    - Dst: _gcry_md_final
      Src: /src/libgcrypt/cipher/kdf.c:1532,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kdf.c:1533,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/kdf.c:1534,1
    - Dst: _gcry_md_reset
      Src: /src/libgcrypt/cipher/kdf.c:1536,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/kdf.c:1542,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:1543,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:1544,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:1545,1
    - Dst: _gcry_md_final
      Src: /src/libgcrypt/cipher/kdf.c:1546,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kdf.c:1547,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/kdf.c:1548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - o
    - resultlen
    - result
    argTypes:
    - onestep_kdf_ctx_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1515
    functionDepth: 1
    functionLinenumber: 1515
    functionLinenumberEnd: 1552
    functionName: onestep_kdf_final
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - _gcry_md_reset
    - buf_put_be32
    - _gcry_md_final
    - _gcry_md_read
    - _gcry_md_write
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t onestep_kdf_final (onestep_kdf_ctx_t o, size_t resultlen,
      void *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/kdf.c:1557,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:1558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - o
    argTypes:
    - onestep_kdf_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1554
    functionDepth: 1
    functionLinenumber: 1554
    functionLinenumberEnd: 1559
    functionName: onestep_kdf_close
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - xfree
    - _gcry_md_close
    linkageType: ''
    returnType: void
    signature: void onestep_kdf_close (onestep_kdf_ctx_t o)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/kdf.c:1595,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/kdf.c:1597,1
    - Dst: _gcry_mac_get_algo_maclen
      Src: /src/libgcrypt/cipher/kdf.c:1599,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:1602,1
    - Dst: _gcry_mac_open
      Src: /src/libgcrypt/cipher/kdf.c:1605,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:1608,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 10
    argNames:
    - hd
    - macalgo
    - param
    - paramlen
    - input
    - inputlen
    - key
    - keylen
    - fixedinfo
    - fixedinfolen
    argTypes:
    - gcry_kdf_hd_t*
    - int
    - unsigned long*
    - unsigned int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1577
    functionDepth: 1
    functionLinenumber: 1577
    functionLinenumberEnd: 1622
    functionName: onestep_kdf_mac_open
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - _gcry_mac_get_algo_maclen
    - xfree
    - xtrymalloc
    - _gcry_mac_open
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t onestep_kdf_mac_open (gcry_kdf_hd_t *hd, int macalgo,\n
      \                     const unsigned long *param, unsigned int paramlen,\n                      const
      void *input, size_t inputlen,\n                      const void *key, size_t
      keylen,\n                      const void *fixedinfo, size_t fixedinfolen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - o
    - ops
    argTypes:
    - onestep_kdf_mac_ctx_t
    - struct gcry_kdf_thread_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1635
    functionName: onestep_kdf_mac_compute
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t onestep_kdf_mac_compute (onestep_kdf_mac_ctx_t o,\n
      \                        const struct gcry_kdf_thread_ops *ops)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mac_setkey
      Src: /src/libgcrypt/cipher/kdf.c:1649,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/kdf.c:1656,1
    - Dst: _gcry_mac_write
      Src: /src/libgcrypt/cipher/kdf.c:1657,1
    - Dst: _gcry_mac_write
      Src: /src/libgcrypt/cipher/kdf.c:1660,1
    - Dst: _gcry_mac_write
      Src: /src/libgcrypt/cipher/kdf.c:1663,1
    - Dst: _gcry_mac_read
      Src: /src/libgcrypt/cipher/kdf.c:1666,1
    - Dst: _gcry_mac_ctl
      Src: /src/libgcrypt/cipher/kdf.c:1670,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/kdf.c:1679,1
    - Dst: _gcry_mac_write
      Src: /src/libgcrypt/cipher/kdf.c:1680,1
    - Dst: _gcry_mac_write
      Src: /src/libgcrypt/cipher/kdf.c:1683,1
    - Dst: _gcry_mac_write
      Src: /src/libgcrypt/cipher/kdf.c:1686,1
    - Dst: _gcry_mac_read
      Src: /src/libgcrypt/cipher/kdf.c:1689,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 3
    argNames:
    - o
    - resultlen
    - result
    argTypes:
    - onestep_kdf_mac_ctx_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1637
    functionDepth: 1
    functionLinenumber: 1637
    functionLinenumberEnd: 1695
    functionName: onestep_kdf_mac_final
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - _gcry_mac_read
    - buf_put_be32
    - _gcry_mac_setkey
    - _gcry_mac_ctl
    - _gcry_mac_write
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t onestep_kdf_mac_final (onestep_kdf_mac_ctx_t o, size_t
      resultlen, void *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mac_close
      Src: /src/libgcrypt/cipher/kdf.c:1700,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:1701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - o
    argTypes:
    - onestep_kdf_mac_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1697
    functionDepth: 1
    functionLinenumber: 1697
    functionLinenumberEnd: 1702
    functionName: onestep_kdf_mac_close
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - xfree
    - _gcry_mac_close
    linkageType: ''
    returnType: void
    signature: void onestep_kdf_mac_close (onestep_kdf_mac_ctx_t o)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/kdf.c:1749,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/kdf.c:1751,1
    - Dst: _gcry_mac_get_algo_maclen
      Src: /src/libgcrypt/cipher/kdf.c:1753,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:1756,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:1762,1
    - Dst: _gcry_mac_open
      Src: /src/libgcrypt/cipher/kdf.c:1766,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:1769,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/kdf.c:1772,1
    - Dst: _gcry_mac_close
      Src: /src/libgcrypt/cipher/kdf.c:1775,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:1776,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/kdf.c:1777,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 10
    argNames:
    - hd
    - macalgo
    - param
    - paramlen
    - input
    - inputlen
    - salt
    - saltlen
    - fixedinfo
    - fixedinfolen
    argTypes:
    - gcry_kdf_hd_t*
    - int
    - unsigned long*
    - unsigned int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1722
    functionDepth: 1
    functionLinenumber: 1722
    functionLinenumberEnd: 1792
    functionName: hkdf_open
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - _gcry_mac_get_algo_maclen
    - xfree
    - _gcry_mac_close
    - xtrymalloc
    - _gcry_mac_open
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t hkdf_open (gcry_kdf_hd_t *hd, int macalgo,\n           const
      unsigned long *param, unsigned int paramlen,\n           const void *input,
      size_t inputlen,\n           const void *salt, size_t saltlen,\n           const
      void *fixedinfo, size_t fixedinfolen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mac_setkey
      Src: /src/libgcrypt/cipher/kdf.c:1805,1
    - Dst: _gcry_mac_write
      Src: /src/libgcrypt/cipher/kdf.c:1809,1
    - Dst: _gcry_mac_read
      Src: /src/libgcrypt/cipher/kdf.c:1813,1
    - Dst: _gcry_mac_ctl
      Src: /src/libgcrypt/cipher/kdf.c:1817,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - h
    - ops
    argTypes:
    - hkdf_ctx_t
    - struct gcry_kdf_thread_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1795
    functionDepth: 1
    functionLinenumber: 1795
    functionLinenumberEnd: 1822
    functionName: hkdf_compute
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - _gcry_mac_ctl
    - _gcry_mac_write
    - _gcry_mac_read
    - _gcry_mac_setkey
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t hkdf_compute (hkdf_ctx_t h, const struct gcry_kdf_thread_ops
      *ops)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mac_setkey
      Src: /src/libgcrypt/cipher/kdf.c:1836,1
    - Dst: _gcry_mac_write
      Src: /src/libgcrypt/cipher/kdf.c:1847,1
    - Dst: _gcry_mac_write
      Src: /src/libgcrypt/cipher/kdf.c:1853,1
    - Dst: _gcry_mac_write
      Src: /src/libgcrypt/cipher/kdf.c:1857,1
    - Dst: _gcry_mac_read
      Src: /src/libgcrypt/cipher/kdf.c:1860,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kdf.c:1863,1
    - Dst: _gcry_mac_ctl
      Src: /src/libgcrypt/cipher/kdf.c:1865,1
    - Dst: _gcry_mac_write
      Src: /src/libgcrypt/cipher/kdf.c:1876,1
    - Dst: _gcry_mac_write
      Src: /src/libgcrypt/cipher/kdf.c:1882,1
    - Dst: _gcry_mac_write
      Src: /src/libgcrypt/cipher/kdf.c:1886,1
    - Dst: _gcry_mac_read
      Src: /src/libgcrypt/cipher/kdf.c:1889,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 3
    argNames:
    - h
    - resultlen
    - result
    argTypes:
    - hkdf_ctx_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1824
    functionDepth: 1
    functionLinenumber: 1824
    functionLinenumberEnd: 1895
    functionName: hkdf_final
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - _gcry_mac_read
    - _gcry_mac_setkey
    - _gcry_mac_ctl
    - _gcry_mac_write
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t hkdf_final (hkdf_ctx_t h, size_t resultlen, void *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mac_close
      Src: /src/libgcrypt/cipher/kdf.c:1900,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:1901,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:1902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - hkdf_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1897
    functionDepth: 1
    functionLinenumber: 1897
    functionLinenumberEnd: 1903
    functionName: hkdf_close
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - xfree
    - _gcry_mac_close
    linkageType: ''
    returnType: void
    signature: void hkdf_close (hkdf_ctx_t h)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/kdf.c:1936,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/kdf.c:1938,1
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/kdf.c:1940,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:1943,1
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/kdf.c:1946,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:1949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 8
    argNames:
    - hd
    - hashalgo
    - param
    - paramlen
    - input
    - inputlen
    - sharedinfo
    - sharedinfolen
    argTypes:
    - gcry_kdf_hd_t*
    - int
    - unsigned long*
    - unsigned int
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1919
    functionDepth: 1
    functionLinenumber: 1919
    functionLinenumberEnd: 1961
    functionName: x963_kdf_open
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - _gcry_md_get_algo_dlen
    - xfree
    - xtrymalloc
    - gpg_err_code_from_errno
    - _gcry_md_open_internal
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t x963_kdf_open (gcry_kdf_hd_t *hd, int hashalgo,\n                  const
      unsigned long *param, unsigned int paramlen,\n                  const void *input,
      size_t inputlen,\n                  const void *sharedinfo, size_t sharedinfolen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - o
    - ops
    argTypes:
    - x963_kdf_ctx_t
    - struct gcry_kdf_thread_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1964
    functionDepth: 0
    functionLinenumber: 1964
    functionLinenumberEnd: 1973
    functionName: x963_kdf_compute
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t x963_kdf_compute (x963_kdf_ctx_t o, const struct gcry_kdf_thread_ops
      *ops)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:1988,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/kdf.c:1989,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:1990,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:1992,1
    - Dst: _gcry_md_final
      Src: /src/libgcrypt/cipher/kdf.c:1993,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kdf.c:1994,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/kdf.c:1995,1
    - Dst: _gcry_md_reset
      Src: /src/libgcrypt/cipher/kdf.c:1997,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:2003,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/kdf.c:2004,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:2005,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kdf.c:2007,1
    - Dst: _gcry_md_final
      Src: /src/libgcrypt/cipher/kdf.c:2008,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kdf.c:2009,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/kdf.c:2010,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - o
    - resultlen
    - result
    argTypes:
    - x963_kdf_ctx_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 1975
    functionDepth: 1
    functionLinenumber: 1975
    functionLinenumberEnd: 2014
    functionName: x963_kdf_final
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - _gcry_md_reset
    - buf_put_be32
    - _gcry_md_final
    - _gcry_md_read
    - _gcry_md_write
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t x963_kdf_final (x963_kdf_ctx_t o, size_t resultlen,
      void *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/kdf.c:2019,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kdf.c:2020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - o
    argTypes:
    - x963_kdf_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2016
    functionDepth: 1
    functionLinenumber: 2016
    functionLinenumberEnd: 2021
    functionName: x963_kdf_close
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - xfree
    - _gcry_md_close
    linkageType: ''
    returnType: void
    signature: void x963_kdf_close (x963_kdf_ctx_t o)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: argon2_open
      Src: /src/libgcrypt/cipher/kdf.c:2044,1
    - Dst: balloon_open
      Src: /src/libgcrypt/cipher/kdf.c:2056,1
    - Dst: onestep_kdf_open
      Src: /src/libgcrypt/cipher/kdf.c:2068,1
    - Dst: onestep_kdf_mac_open
      Src: /src/libgcrypt/cipher/kdf.c:2079,1
    - Dst: hkdf_open
      Src: /src/libgcrypt/cipher/kdf.c:2090,1
    - Dst: x963_kdf_open
      Src: /src/libgcrypt/cipher/kdf.c:2102,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 13
    argNames:
    - hd
    - algo
    - subalgo
    - param
    - paramlen
    - input
    - inputlen
    - salt
    - saltlen
    - key
    - keylen
    - ad
    - adlen
    argTypes:
    - gcry_kdf_hd_t*
    - int
    - int
    - unsigned long*
    - unsigned int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2028
    functionDepth: 3
    functionLinenumber: 2028
    functionLinenumberEnd: 2113
    functionName: _gcry_kdf_open
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 2
    functionsReached:
    - onestep_kdf_open
    - x963_kdf_open
    - onestep_kdf_mac_open
    - argon2_open
    - hkdf_open
    - balloon_open
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_kdf_open (gcry_kdf_hd_t *hd, int algo, int subalgo,\n
      \               const unsigned long *param, unsigned int paramlen,\n                const
      void *input, size_t inputlen,\n                const void *salt, size_t saltlen,\n
      \               const void *key, size_t keylen,\n                const void
      *ad, size_t adlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: argon2_compute
      Src: /src/libgcrypt/cipher/kdf.c:2123,1
    - Dst: balloon_compute_all
      Src: /src/libgcrypt/cipher/kdf.c:2127,1
    - Dst: onestep_kdf_compute
      Src: /src/libgcrypt/cipher/kdf.c:2131,1
    - Dst: onestep_kdf_mac_compute
      Src: /src/libgcrypt/cipher/kdf.c:2135,1
    - Dst: hkdf_compute
      Src: /src/libgcrypt/cipher/kdf.c:2139,1
    - Dst: x963_kdf_compute
      Src: /src/libgcrypt/cipher/kdf.c:2143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - h
    - ops
    argTypes:
    - gcry_kdf_hd_t
    - struct gcry_kdf_thread_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2115
    functionDepth: 5
    functionLinenumber: 2115
    functionLinenumberEnd: 2152
    functionName: _gcry_kdf_compute
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 2
    functionsReached:
    - hkdf_compute
    - onestep_kdf_compute
    - argon2_compute
    - balloon_compute_all
    - onestep_kdf_mac_compute
    - x963_kdf_compute
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_kdf_compute (gcry_kdf_hd_t h, const struct gcry_kdf_thread_ops
      *ops)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: argon2_final
      Src: /src/libgcrypt/cipher/kdf.c:2163,1
    - Dst: balloon_final
      Src: /src/libgcrypt/cipher/kdf.c:2167,1
    - Dst: onestep_kdf_final
      Src: /src/libgcrypt/cipher/kdf.c:2171,1
    - Dst: onestep_kdf_mac_final
      Src: /src/libgcrypt/cipher/kdf.c:2175,1
    - Dst: hkdf_final
      Src: /src/libgcrypt/cipher/kdf.c:2180,1
    - Dst: x963_kdf_final
      Src: /src/libgcrypt/cipher/kdf.c:2184,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - h
    - resultlen
    - result
    argTypes:
    - gcry_kdf_hd_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2193
      start: 2155
    functionDepth: 3
    functionLinenumber: 2155
    functionLinenumberEnd: 2193
    functionName: _gcry_kdf_final
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 2
    functionsReached:
    - argon2_final
    - onestep_kdf_final
    - x963_kdf_final
    - hkdf_final
    - onestep_kdf_mac_final
    - balloon_final
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_kdf_final (gcry_kdf_hd_t h, size_t resultlen,
      void *result)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: argon2_close
      Src: /src/libgcrypt/cipher/kdf.c:2201,1
    - Dst: balloon_close
      Src: /src/libgcrypt/cipher/kdf.c:2205,1
    - Dst: onestep_kdf_close
      Src: /src/libgcrypt/cipher/kdf.c:2209,1
    - Dst: onestep_kdf_mac_close
      Src: /src/libgcrypt/cipher/kdf.c:2213,1
    - Dst: hkdf_close
      Src: /src/libgcrypt/cipher/kdf.c:2217,1
    - Dst: x963_kdf_close
      Src: /src/libgcrypt/cipher/kdf.c:2221,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_kdf_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2195
    functionDepth: 2
    functionLinenumber: 2195
    functionLinenumberEnd: 2227
    functionName: _gcry_kdf_close
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 2
    functionsReached:
    - onestep_kdf_close
    - balloon_close
    - onestep_kdf_mac_close
    - hkdf_close
    - x963_kdf_close
    - argon2_close
    linkageType: ''
    returnType: void
    signature: void _gcry_kdf_close (gcry_kdf_hd_t h)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_kdf_derive
      Src: /src/libgcrypt/cipher/kdf.c:2250,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/kdf.c:2255,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/kdf.c:2266,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 9
    argNames:
    - algo
    - hash_algo
    - passphrase
    - passphraselen
    - salt
    - saltlen
    - iterations
    - expect
    - expectlen
    argTypes:
    - int
    - int
    - void*
    - size_t
    - void*
    - size_t
    - unsigned long
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2236
    functionDepth: 5
    functionLinenumber: 2236
    functionLinenumberEnd: 2270
    functionName: check_one
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 4
    functionsReached:
    - _gcry_kdf_derive
    - memcmp
    - fips_mode
    linkageType: ''
    returnType: char
    signature: "char *\ncheck_one (int algo, int hash_algo,\n           const void
      *passphrase, size_t passphraselen,\n           const void *salt, size_t saltlen,\n
      \          unsigned long iterations,\n           const void *expect, size_t
      expectlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_one
      Src: /src/libgcrypt/cipher/kdf.c:2398,1
    - Dst: report
      Src: /src/libgcrypt/cipher/kdf.c:2413,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2415
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2415
    functionName: selftest_pbkdf2
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 0
    functionsReached:
    - report
    - check_one
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftest_pbkdf2 (int extended, selftest_report_func_t
      report)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: selftest_pbkdf2
      Src: /src/libgcrypt/cipher/kdf.c:2426,1
    - Dst: report
      Src: /src/libgcrypt/cipher/kdf.c:2431,1
    - Dst: gpg_error
      Src: /src/libgcrypt/cipher/kdf.c:2433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2434
      start: 2420
    functionDepth: 1
    functionLinenumber: 2420
    functionLinenumberEnd: 2434
    functionName: _gcry_kdf_selftest
    functionSourceFile: /src/libgcrypt/cipher/kdf.c
    functionUses: 1
    functionsReached:
    - report
    - gpg_error
    - selftest_pbkdf2
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _gcry_kdf_selftest (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: _gcry_primegen_init
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_primegen_init (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:178,1
    - Dst: xtrycalloc
      Src: /src/libgcrypt/cipher/primegen.c:187,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:191,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/primegen.c:198,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - prime
    - randomlevel
    argTypes:
    - gcry_mpi_t
    - gcry_random_level_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 200
    functionName: save_pool_prime
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 0
    functionsReached:
    - mpi_get_nbits
    - xtrycalloc
    - _gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void save_pool_prime (gcry_mpi_t prime, gcry_random_level_t randomlevel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/primegen.c:217,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/primegen.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - nbits
    - randomlevel
    argTypes:
    - unsigned int
    - gcry_random_level_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 221
    functionName: get_pool_prime
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    - mpi_get_nbits
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t get_pool_prime (unsigned int nbits, gcry_random_level_t
      randomlevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cb_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: _gcry_register_primegen_progress
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gcry_register_primegen_progress ( void (*cb)(void *,const char*,int,int,int),\n
      \                                  void *cb_data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: progress_cb
      Src: /src/libgcrypt/cipher/primegen.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: progress
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 24
    functionsReached:
    - progress_cb
    linkageType: ''
    returnType: void
    signature: void progress( int c )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_prime
      Src: /src/libgcrypt/cipher/primegen.c:256,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - nbits
    - random_level
    - extra_check_arg
    argTypes:
    - unsigned int
    - gcry_random_level_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 259
    functionName: _gcry_generate_secret_prime
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 0
    functionsReached:
    - progress
    - gen_prime
    linkageType: ''
    returnType: gcry_mpi_t
    signature: "gcry_mpi_t _gcry_generate_secret_prime (unsigned int nbits,\n                             gcry_random_level_t
      random_level,\n                             int (*extra_check)(void*, gcry_mpi_t),\n
      \                            void *extra_check_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_prime
      Src: /src/libgcrypt/cipher/primegen.c:272,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - nbits
    - random_level
    - extra_check_arg
    argTypes:
    - unsigned int
    - gcry_random_level_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 275
    functionName: _gcry_generate_public_prime
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 0
    functionsReached:
    - progress
    - gen_prime
    linkageType: ''
    returnType: gcry_mpi_t
    signature: "gcry_mpi_t _gcry_generate_public_prime (unsigned int nbits,\n                             gcry_random_level_t
      random_level,\n                             int (*extra_check)(void*, gcry_mpi_t),\n
      \                            void *extra_check_arg)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/cipher/primegen.c:350,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/primegen.c:371,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/primegen.c:375,1
    - Dst: gen_prime
      Src: /src/libgcrypt/cipher/primegen.c:378,1
    - Dst: gen_prime
      Src: /src/libgcrypt/cipher/primegen.c:382,1
    - Dst: xtrycalloc
      Src: /src/libgcrypt/cipher/primegen.c:385,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/primegen.c:388,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/primegen.c:393,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/primegen.c:396,1
    - Dst: xtrycalloc
      Src: /src/libgcrypt/cipher/primegen.c:412,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/primegen.c:415,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:433,1
    - Dst: xtrycalloc
      Src: /src/libgcrypt/cipher/primegen.c:438,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/primegen.c:441,1
    - Dst: gpgrt_lock_lock
      Src: /src/libgcrypt/cipher/primegen.c:445,1
    - Dst: get_pool_prime
      Src: /src/libgcrypt/cipher/primegen.c:465,1
    - Dst: gpgrt_lock_unlock
      Src: /src/libgcrypt/cipher/primegen.c:468,1
    - Dst: gen_prime
      Src: /src/libgcrypt/cipher/primegen.c:475,1
    - Dst: gpgrt_lock_unlock
      Src: /src/libgcrypt/cipher/primegen.c:480,1
    - Dst: m_out_of_n
      Src: /src/libgcrypt/cipher/primegen.c:487,1
    - Dst: gpgrt_lock_lock
      Src: /src/libgcrypt/cipher/primegen.c:489,1
    - Dst: get_pool_prime
      Src: /src/libgcrypt/cipher/primegen.c:499,1
    - Dst: gpgrt_lock_unlock
      Src: /src/libgcrypt/cipher/primegen.c:502,1
    - Dst: gen_prime
      Src: /src/libgcrypt/cipher/primegen.c:508,1
    - Dst: gpgrt_lock_unlock
      Src: /src/libgcrypt/cipher/primegen.c:513,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/primegen.c:520,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:522,1
    - Dst: mpi_set
      Src: /src/libgcrypt/cipher/primegen.c:530,1
    - Dst: mpi_mul_ui
      Src: /src/libgcrypt/cipher/primegen.c:531,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/primegen.c:533,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/primegen.c:535,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/cipher/primegen.c:536,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/primegen.c:537,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:545,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:546,1
    - Dst: gen_prime
      Src: /src/libgcrypt/cipher/primegen.c:547,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:560,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:561,1
    - Dst: gen_prime
      Src: /src/libgcrypt/cipher/primegen.c:562,1
    - Dst: check_prime
      Src: /src/libgcrypt/cipher/primegen.c:569,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:574,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/primegen.c:575,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/primegen.c:576,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/primegen.c:578,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/primegen.c:580,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/primegen.c:581,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/primegen.c:582,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/primegen.c:582,1
    - Dst: log_printf
      Src: /src/libgcrypt/cipher/primegen.c:584,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/primegen.c:584,1
    - Dst: log_printf
      Src: /src/libgcrypt/cipher/primegen.c:586,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/primegen.c:586,1
    - Dst: log_printf
      Src: /src/libgcrypt/cipher/primegen.c:587,1
    - Dst: xtrycalloc
      Src: /src/libgcrypt/cipher/primegen.c:593,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/primegen.c:596,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/primegen.c:603,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/primegen.c:604,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/primegen.c:606,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/primegen.c:608,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/primegen.c:615,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/primegen.c:617,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/primegen.c:621,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/primegen.c:630,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/primegen.c:630,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/primegen.c:631,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/primegen.c:631,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/primegen.c:632,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/primegen.c:632,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/cipher/primegen.c:635,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/primegen.c:636,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/primegen.c:637,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/cipher/primegen.c:640,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/primegen.c:642,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:644,1
    - Dst: mpi_fdiv_q
      Src: /src/libgcrypt/cipher/primegen.c:647,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/primegen.c:650,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/primegen.c:651,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:655,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:659,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:660,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:661,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:662,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:666,1
    - Dst: gpgrt_lock_lock
      Src: /src/libgcrypt/cipher/primegen.c:672,1
    - Dst: save_pool_prime
      Src: /src/libgcrypt/cipher/primegen.c:683,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:686,1
    - Dst: gpgrt_lock_unlock
      Src: /src/libgcrypt/cipher/primegen.c:690,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/primegen.c:692,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/primegen.c:694,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/primegen.c:696,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/primegen.c:698,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:700,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:701,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:702,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:715,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/primegen.c:716,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:718,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 275
    argCount: 11
    argNames:
    - need_q_factor
    - prime_generated
    - pbits
    - qbits
    - g
    - ret_factors
    - randomlevel
    - flags
    - all_factors
    - cb_func
    - cb_arg
    argTypes:
    - int
    - gcry_mpi_t*
    - unsigned int
    - unsigned int
    - gcry_mpi_t
    - gcry_mpi_t**
    - gcry_random_level_t
    - unsigned int
    - int
    - gcry_prime_check_func_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 722
    functionName: prime_generate_internal
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 0
    functionsReached:
    - mpi_free
    - log_mpidump
    - mpi_set
    - mpi_get_nlimbs
    - mpi_mul_ui
    - xtrymalloc
    - gpgrt_lock_lock
    - mpi_copy
    - save_pool_prime
    - mpi_mul
    - mpi_alloc_set_ui
    - mpi_cmp_ui
    - log_printmpi
    - log_printf
    - log_debug
    - mpi_powm
    - mpi_sub_ui
    - mpi_new
    - progress
    - xfree
    - mpi_alloc
    - xtrycalloc
    - mpi_fdiv_q
    - check_prime
    - mpi_add_ui
    - mpi_get_nbits
    - gen_prime
    - gpgrt_lock_unlock
    - get_pool_prime
    - m_out_of_n
    - mpi_set_ui
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t prime_generate_internal (int need_q_factor,\n\t\t\t
      gcry_mpi_t *prime_generated, unsigned int pbits,\n\t\t\t unsigned int qbits,
      gcry_mpi_t g,\n\t\t\t gcry_mpi_t **ret_factors,\n\t\t\t gcry_random_level_t
      randomlevel, unsigned int flags,\n                         int all_factors,\n
      \                        gcry_prime_check_func_t cb_func, void *cb_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prime_generate_internal
      Src: /src/libgcrypt/cipher/primegen.c:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - mode
    - pbits
    - qbits
    - g
    - r_prime
    - ret_factors
    argTypes:
    - int
    - unsigned
    - unsigned
    - gcry_mpi_t
    - gcry_mpi_t*
    - gcry_mpi_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 731
    functionDepth: 3
    functionLinenumber: 731
    functionLinenumberEnd: 742
    functionName: _gcry_generate_elg_prime
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 0
    functionsReached:
    - prime_generate_internal
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_generate_elg_prime (int mode, unsigned pbits,
      unsigned qbits,\n\t\t\t  gcry_mpi_t g,\n                          gcry_mpi_t
      *r_prime, gcry_mpi_t **ret_factors)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/primegen.c:761,1
    - Dst: xmalloc_secure
      Src: /src/libgcrypt/cipher/primegen.c:763,1
    - Dst: xmalloc
      Src: /src/libgcrypt/cipher/primegen.c:764,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/cipher/primegen.c:766,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/cipher/primegen.c:767,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/primegen.c:768,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/primegen.c:768,1
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/cipher/primegen.c:769,1
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/cipher/primegen.c:770,1
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/cipher/primegen.c:771,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/primegen.c:778,1
    - Dst: mpi_set_highbit
      Src: /src/libgcrypt/cipher/primegen.c:784,1
    - Dst: mpi_set_bit
      Src: /src/libgcrypt/cipher/primegen.c:786,1
    - Dst: mpi_set_bit
      Src: /src/libgcrypt/cipher/primegen.c:787,1
    - Dst: mpi_fdiv_r_ui
      Src: /src/libgcrypt/cipher/primegen.c:791,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/cipher/primegen.c:808,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/primegen.c:812,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/primegen.c:813,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/primegen.c:814,1
    - Dst: is_prime
      Src: /src/libgcrypt/cipher/primegen.c:817,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/cipher/primegen.c:819,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:821,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/primegen.c:822,1
    - Dst: extra_check
      Src: /src/libgcrypt/cipher/primegen.c:826,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:830,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:835,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:836,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:837,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:838,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:839,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/primegen.c:840,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:847,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:851,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 4
    argNames:
    - nbits
    - secret
    - randomlevel
    - extra_check_arg
    argTypes:
    - unsigned int
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 745
    functionDepth: 2
    functionLinenumber: 745
    functionLinenumberEnd: 853
    functionName: gen_prime
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 3
    functionsReached:
    - mpi_free
    - xmalloc
    - _gcry_mpi_randomize
    - mpi_set_bit
    - extra_check
    - mpi_fdiv_r_ui
    - mpi_alloc_set_ui
    - mpi_cmp_ui
    - mpi_alloc_like
    - mpi_test_bit
    - mpi_powm
    - log_debug
    - mpi_sub_ui
    - mpi_snew
    - mpi_new
    - progress
    - mpi_set_highbit
    - xfree
    - is_prime
    - mpi_add_ui
    - log_fatal
    - xmalloc_secure
    linkageType: ''
    returnType: gcry_mpi_t
    signature: "gcry_mpi_t gen_prime (unsigned int nbits, int secret, int randomlevel,\n
      \          int (*extra_check)(void *, gcry_mpi_t), void *extra_check_arg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mpi_divisible_ui
      Src: /src/libgcrypt/cipher/primegen.c:873,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/primegen.c:874,1
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/cipher/primegen.c:879,1
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/cipher/primegen.c:880,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/primegen.c:881,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/primegen.c:882,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:883,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/primegen.c:884,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:887,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:888,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:891,1
    - Dst: cb_func
      Src: /src/libgcrypt/cipher/primegen.c:894,1
    - Dst: is_prime
      Src: /src/libgcrypt/cipher/primegen.c:897,1
    - Dst: cb_func
      Src: /src/libgcrypt/cipher/primegen.c:900,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:904,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 5
    argNames:
    - prime
    - val_2
    - rm_rounds
    - cb_func
    - cb_arg
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - int
    - gcry_prime_check_func_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 906
    functionName: check_prime
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 1
    functionsReached:
    - mpi_sub_ui
    - mpi_free
    - mpi_cmp_ui
    - progress
    - mpi_divisible_ui
    - mpi_alloc_like
    - cb_func
    - is_prime
    - mpi_powm
    linkageType: ''
    returnType: int
    signature: "int check_prime( gcry_mpi_t prime, gcry_mpi_t val_2, int rm_rounds,\n
      \            gcry_prime_check_func_t cb_func, void *cb_arg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/primegen.c:915,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/primegen.c:915,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/primegen.c:916,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/primegen.c:916,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/primegen.c:917,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/primegen.c:917,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/primegen.c:918,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/primegen.c:918,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/cipher/primegen.c:919,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/primegen.c:923,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/primegen.c:928,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/primegen.c:931,1
    - Dst: mpi_trailing_zeros
      Src: /src/libgcrypt/cipher/primegen.c:932,1
    - Dst: mpi_tdiv_q_2exp
      Src: /src/libgcrypt/cipher/primegen.c:933,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/primegen.c:940,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/primegen.c:947,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/cipher/primegen.c:951,1
    - Dst: mpi_set_highbit
      Src: /src/libgcrypt/cipher/primegen.c:953,1
    - Dst: mpi_set_highbit
      Src: /src/libgcrypt/cipher/primegen.c:957,1
    - Dst: mpi_clear_bit
      Src: /src/libgcrypt/cipher/primegen.c:958,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/primegen.c:961,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/primegen.c:962,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/primegen.c:962,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/primegen.c:964,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/primegen.c:965,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/primegen.c:965,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/primegen.c:967,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/primegen.c:969,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/primegen.c:970,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/primegen.c:973,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:976,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:981,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:982,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:983,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:984,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:985,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:986,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 3
    argNames:
    - n
    - steps
    - count
    argTypes:
    - gcry_mpi_t
    - int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 989
    functionName: is_prime
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 2
    functionsReached:
    - mpi_free
    - mpi_get_nlimbs
    - _gcry_mpi_randomize
    - mpi_copy
    - gcry_assert
    - mpi_cmp
    - mpi_alloc_set_ui
    - mpi_cmp_ui
    - mpi_test_bit
    - mpi_powm
    - mpi_sub_ui
    - progress
    - mpi_set_highbit
    - mpi_alloc
    - mpi_get_nbits
    - mpi_tdiv_q_2exp
    - mpi_trailing_zeros
    - mpi_clear_bit
    - mpi_set_ui
    linkageType: ''
    returnType: int
    signature: int is_prime (gcry_mpi_t n, int steps, unsigned int *count)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/libgcrypt/cipher/primegen.c:1029,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 81
    argCount: 3
    argNames:
    - array
    - m
    - n
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1112
    functionName: m_out_of_n
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 1
    functionsReached:
    - BUG
    linkageType: ''
    returnType: void
    signature: void m_out_of_n ( char *array, int m, int n )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prime_generate_internal
      Src: /src/libgcrypt/cipher/primegen.c:1141,1
    - Dst: cb_func
      Src: /src/libgcrypt/cipher/primegen.c:1150,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:1155,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:1159,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/primegen.c:1160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 8
    argNames:
    - prime
    - prime_bits
    - factor_bits
    - factors
    - cb_func
    - cb_arg
    - random_level
    - flags
    argTypes:
    - gcry_mpi_t*
    - unsigned int
    - unsigned int
    - gcry_mpi_t**
    - gcry_prime_check_func_t
    - void*
    - gcry_random_level_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1121
    functionDepth: 3
    functionLinenumber: 1121
    functionLinenumberEnd: 1174
    functionName: _gcry_prime_generate
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 1
    functionsReached:
    - mpi_free
    - xfree
    - cb_func
    - prime_generate_internal
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_prime_generate (gcry_mpi_t *prime, unsigned
      int prime_bits,\n                      unsigned int factor_bits, gcry_mpi_t
      **factors,\n                      gcry_prime_check_func_t cb_func, void *cb_arg,\n
      \                     gcry_random_level_t random_level,\n                      unsigned
      int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/primegen.c:1182,1
    - Dst: check_prime
      Src: /src/libgcrypt/cipher/primegen.c:1190,1
    - Dst: mpi_const
      Src: /src/libgcrypt/cipher/primegen.c:1190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - x
    - flags
    argTypes:
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1177
    functionDepth: 2
    functionLinenumber: 1177
    functionLinenumberEnd: 1194
    functionName: _gcry_prime_check
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 1
    functionsReached:
    - check_prime
    - mpi_cmp_ui
    - mpi_const
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_prime_check (gcry_mpi_t x, unsigned int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/primegen.c:1203,1
    - Dst: check_prime
      Src: /src/libgcrypt/cipher/primegen.c:1210,1
    - Dst: mpi_const
      Src: /src/libgcrypt/cipher/primegen.c:1210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - x
    - bits
    argTypes:
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1198
    functionDepth: 2
    functionLinenumber: 1198
    functionLinenumberEnd: 1214
    functionName: _gcry_fips186_4_prime_check
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 0
    functionsReached:
    - check_prime
    - mpi_cmp_ui
    - mpi_const
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_fips186_4_prime_check (gcry_mpi_t x, unsigned
      int bits)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/primegen.c:1240,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/primegen.c:1241,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/primegen.c:1242,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/primegen.c:1243,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/primegen.c:1243,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/primegen.c:1253,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/cipher/primegen.c:1260,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/primegen.c:1263,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:1265,1
    - Dst: mpi_fdiv_q
      Src: /src/libgcrypt/cipher/primegen.c:1269,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/primegen.c:1270,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/primegen.c:1271,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:1275,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1279,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1280,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1281,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 4
    argNames:
    - r_g
    - prime
    - factors
    - start_g
    argTypes:
    - gcry_mpi_t*
    - gcry_mpi_t
    - gcry_mpi_t*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1221
    functionDepth: 1
    functionLinenumber: 1221
    functionLinenumberEnd: 1285
    functionName: _gcry_prime_group_generator
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 1
    functionsReached:
    - mpi_sub_ui
    - _gcry_mpi_release
    - mpi_set_ui
    - mpi_cmp_ui
    - mpi_new
    - progress
    - log_printmpi
    - mpi_copy
    - mpi_fdiv_q
    - mpi_powm
    - mpi_add_ui
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_prime_group_generator (gcry_mpi_t *r_g,\n                             gcry_mpi_t
      prime, gcry_mpi_t *factors,\n                             gcry_mpi_t start_g)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:1296,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/primegen.c:1297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - factors
    argTypes:
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1299
    functionName: _gcry_prime_release_factors
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 1
    functionsReached:
    - xfree
    - mpi_free
    linkageType: ''
    returnType: void
    signature: void _gcry_prime_release_factors (gcry_mpi_t *factors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/cipher/primegen.c:1307,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/primegen.c:1310,1
    - Dst: mpi_set_bit
      Src: /src/libgcrypt/cipher/primegen.c:1312,1
    - Dst: check_prime
      Src: /src/libgcrypt/cipher/primegen.c:1318,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/cipher/primegen.c:1319,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:1321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pfirst
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1304
    functionDepth: 2
    functionLinenumber: 1304
    functionLinenumberEnd: 1324
    functionName: find_x931_prime
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 0
    functionsReached:
    - mpi_free
    - mpi_alloc_set_ui
    - mpi_copy
    - mpi_set_bit
    - check_prime
    - mpi_add_ui
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t find_x931_prime (const gcry_mpi_t pfirst)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/cipher/primegen.c:1345,1
    - Dst: find_x931_prime
      Src: /src/libgcrypt/cipher/primegen.c:1348,1
    - Dst: find_x931_prime
      Src: /src/libgcrypt/cipher/primegen.c:1349,1
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/cipher/primegen.c:1350,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/primegen.c:1351,1
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/cipher/primegen.c:1357,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/primegen.c:1358,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/primegen.c:1359,1
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/cipher/primegen.c:1362,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/primegen.c:1363,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/primegen.c:1364,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/primegen.c:1365,1
    - Dst: mpi_has_sign
      Src: /src/libgcrypt/cipher/primegen.c:1368,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/primegen.c:1369,1
    - Dst: mpi_subm
      Src: /src/libgcrypt/cipher/primegen.c:1373,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/primegen.c:1374,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:1375,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/primegen.c:1378,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/primegen.c:1379,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/cipher/primegen.c:1406,1
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/cipher/primegen.c:1407,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/primegen.c:1410,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/primegen.c:1411,1
    - Dst: mpi_gcd
      Src: /src/libgcrypt/cipher/primegen.c:1414,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/cipher/primegen.c:1415,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:1417,1
    - Dst: check_prime
      Src: /src/libgcrypt/cipher/primegen.c:1418,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/primegen.c:1421,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:1423,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:1424,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:1427,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/primegen.c:1429,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:1433,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/primegen.c:1437,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 6
    argNames:
    - xp
    - xp1
    - xp2
    - e
    - r_p1
    - r_p2
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t*
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1335
    functionDepth: 3
    functionLinenumber: 1335
    functionLinenumberEnd: 1439
    functionName: _gcry_derive_x931_prime
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 0
    functionsReached:
    - mpi_add
    - mpi_free
    - mpi_sub_ui
    - mpi_gcd
    - mpi_cmp
    - mpi_mul
    - mpi_invm
    - mpi_has_sign
    - mpi_alloc_set_ui
    - find_x931_prime
    - progress
    - mpi_alloc_like
    - mpi_subm
    - mpi_test_bit
    - mpi_sub
    - check_prime
    - mpi_add_ui
    linkageType: ''
    returnType: gcry_mpi_t
    signature: "gcry_mpi_t _gcry_derive_x931_prime (const gcry_mpi_t xp,\n                         const
      gcry_mpi_t xp1, const gcry_mpi_t xp2,\n                         const gcry_mpi_t
      e,\n                         gcry_mpi_t *r_p1, gcry_mpi_t *r_p2)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/primegen.c:1483,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/primegen.c:1486,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/cipher/primegen.c:1490,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/primegen.c:1493,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/primegen.c:1494,1
    - Dst: _gcry_create_nonce
      Src: /src/libgcrypt/cipher/primegen.c:1504,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/primegen.c:1509,1
    - Dst: _gcry_md_hash_buffer
      Src: /src/libgcrypt/cipher/primegen.c:1516,1
    - Dst: _gcry_md_hash_buffer
      Src: /src/libgcrypt/cipher/primegen.c:1517,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1522,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/primegen.c:1523,1
    - Dst: mpi_set_highbit
      Src: /src/libgcrypt/cipher/primegen.c:1527,1
    - Dst: mpi_set_bit
      Src: /src/libgcrypt/cipher/primegen.c:1528,1
    - Dst: check_prime
      Src: /src/libgcrypt/cipher/primegen.c:1531,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/primegen.c:1543,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/primegen.c:1553,1
    - Dst: _gcry_md_hash_buffer
      Src: /src/libgcrypt/cipher/primegen.c:1569,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1571,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/primegen.c:1572,1
    - Dst: mpi_clear_highbit
      Src: /src/libgcrypt/cipher/primegen.c:1577,1
    - Dst: mpi_lshift
      Src: /src/libgcrypt/cipher/primegen.c:1578,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/primegen.c:1579,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/primegen.c:1583,1
    - Dst: mpi_set_highbit
      Src: /src/libgcrypt/cipher/primegen.c:1584,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/primegen.c:1585,1
    - Dst: mpi_mul_2exp
      Src: /src/libgcrypt/cipher/primegen.c:1588,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/cipher/primegen.c:1589,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/primegen.c:1590,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/primegen.c:1591,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/primegen.c:1595,1
    - Dst: check_prime
      Src: /src/libgcrypt/cipher/primegen.c:1596,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/primegen.c:1627,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1635,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1636,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1637,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1638,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1639,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/primegen.c:1640,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1641,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 110
    argCount: 9
    argNames:
    - pbits
    - qbits
    - seed
    - seedlen
    - r_q
    - r_p
    - r_counter
    - r_seed
    - r_seedlen
    argTypes:
    - unsigned int
    - unsigned int
    - void*
    - size_t
    - gcry_mpi_t*
    - gcry_mpi_t*
    - int*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1450
    functionDepth: 2
    functionLinenumber: 1450
    functionLinenumberEnd: 1643
    functionName: _gcry_generate_fips186_2_prime
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 0
    functionsReached:
    - mpi_clear_highbit
    - mpi_set_bit
    - memcpy
    - xtrymalloc
    - mpi_add
    - mpi_alloc_set_ui
    - gpg_err_code_from_syserror
    - mpi_sub_ui
    - mpi_mod
    - mpi_new
    - mpi_set_highbit
    - xfree
    - _gcry_mpi_scan
    - mpi_mul_2exp
    - check_prime
    - mpi_get_nbits
    - mpi_lshift
    - _gcry_mpi_release
    - _gcry_create_nonce
    - mpi_set_ui
    - mpi_sub
    - _gcry_md_hash_buffer
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_generate_fips186_2_prime (unsigned int pbits,
      unsigned int qbits,\n                                const void *seed, size_t
      seedlen,\n                                gcry_mpi_t *r_q, gcry_mpi_t *r_p,\n
      \                               int *r_counter,\n                                void
      **r_seed, size_t *r_seedlen)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/primegen.c:1687,1
    - Dst: _gcry_md_test_algo
      Src: /src/libgcrypt/cipher/primegen.c:1702,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/primegen.c:1705,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/primegen.c:1706,1
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/primegen.c:1706,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/primegen.c:1717,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/primegen.c:1721,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/cipher/primegen.c:1724,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/primegen.c:1725,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/primegen.c:1726,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/primegen.c:1741,1
    - Dst: _gcry_create_nonce
      Src: /src/libgcrypt/cipher/primegen.c:1742,1
    - Dst: _gcry_md_hash_buffer
      Src: /src/libgcrypt/cipher/primegen.c:1747,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1759,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/primegen.c:1760,1
    - Dst: mpi_set_highbit
      Src: /src/libgcrypt/cipher/primegen.c:1764,1
    - Dst: check_prime
      Src: /src/libgcrypt/cipher/primegen.c:1769,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/primegen.c:1778,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/primegen.c:1782,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/primegen.c:1792,1
    - Dst: _gcry_md_hash_buffer
      Src: /src/libgcrypt/cipher/primegen.c:1806,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1808,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/primegen.c:1809,1
    - Dst: mpi_clear_highbit
      Src: /src/libgcrypt/cipher/primegen.c:1814,1
    - Dst: mpi_lshift
      Src: /src/libgcrypt/cipher/primegen.c:1815,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/primegen.c:1816,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/primegen.c:1820,1
    - Dst: mpi_set_highbit
      Src: /src/libgcrypt/cipher/primegen.c:1821,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/primegen.c:1822,1
    - Dst: mpi_mul_2exp
      Src: /src/libgcrypt/cipher/primegen.c:1825,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/cipher/primegen.c:1826,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/primegen.c:1829,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/primegen.c:1830,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/primegen.c:1834,1
    - Dst: check_prime
      Src: /src/libgcrypt/cipher/primegen.c:1835,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/primegen.c:1866,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1875,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1876,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1877,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1878,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1879,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/primegen.c:1880,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/primegen.c:1881,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 122
    argCount: 10
    argNames:
    - pbits
    - qbits
    - seed
    - seedlen
    - r_q
    - r_p
    - r_counter
    - r_seed
    - r_seedlen
    - r_hashalgo
    argTypes:
    - unsigned int
    - unsigned int
    - void*
    - size_t
    - gcry_mpi_t*
    - gcry_mpi_t*
    - int*
    - void**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1662
    functionDepth: 2
    functionLinenumber: 1662
    functionLinenumberEnd: 1883
    functionName: _gcry_generate_fips186_3_prime
    functionSourceFile: /src/libgcrypt/cipher/primegen.c
    functionUses: 0
    functionsReached:
    - _gcry_md_test_algo
    - mpi_clear_highbit
    - memcpy
    - xtrymalloc
    - mpi_add
    - gcry_assert
    - mpi_alloc_set_ui
    - gpg_err_code_from_syserror
    - mpi_sub_ui
    - mpi_mod
    - _gcry_md_get_algo_dlen
    - mpi_new
    - mpi_set_highbit
    - xfree
    - _gcry_mpi_scan
    - mpi_mul_2exp
    - check_prime
    - mpi_get_nbits
    - mpi_lshift
    - _gcry_mpi_release
    - _gcry_create_nonce
    - mpi_set_ui
    - mpi_sub
    - _gcry_md_hash_buffer
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_generate_fips186_3_prime (unsigned int pbits,
      unsigned int qbits,\n                                const void *seed, size_t
      seedlen,\n                                gcry_mpi_t *r_q, gcry_mpi_t *r_p,\n
      \                               int *r_counter,\n                                void
      **r_seed, size_t *r_seedlen,\n                                int *r_hashalgo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha512_transform_armv8_ce
      Src: /src/libgcrypt/cipher/sha512.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: do_sha512_transform_armv8_ce
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - _gcry_sha512_transform_armv8_ce
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha512_transform_armv8_ce(void *ctx, const unsigned
      char *data,\n                             size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha512_transform_armv7_neon
      Src: /src/libgcrypt/cipher/sha512.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: do_sha512_transform_armv7_neon
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - _gcry_sha512_transform_armv7_neon
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha512_transform_armv7_neon(void *ctx, const unsigned
      char *data,\n                               size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha512_transform_amd64_ssse3
      Src: /src/libgcrypt/cipher/sha512.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: do_sha512_transform_amd64_ssse3
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - _gcry_sha512_transform_amd64_ssse3
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha512_transform_amd64_ssse3(void *ctx, const unsigned
      char *data,\n                                size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha512_transform_amd64_avx
      Src: /src/libgcrypt/cipher/sha512.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    functionName: do_sha512_transform_amd64_avx
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - _gcry_sha512_transform_amd64_avx
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha512_transform_amd64_avx(void *ctx, const unsigned
      char *data,\n                              size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha512_transform_amd64_avx2
      Src: /src/libgcrypt/cipher/sha512.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 337
    functionName: do_sha512_transform_amd64_avx2
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - _gcry_sha512_transform_amd64_avx2
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha512_transform_amd64_avx2(void *ctx, const unsigned
      char *data,\n                               size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha512_transform_amd64_avx512
      Src: /src/libgcrypt/cipher/sha512.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 354
    functionName: do_sha512_transform_amd64_avx512
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - _gcry_sha512_transform_amd64_avx512
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha512_transform_amd64_avx512(void *ctx, const unsigned
      char *data,\n                                 size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha512_transform_intel_shaext
      Src: /src/libgcrypt/cipher/sha512.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: do_sha512_transform_intel_shaext
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - _gcry_sha512_transform_intel_shaext
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha512_transform_intel_shaext(void *ctx, const unsigned
      char *data,\n                                 size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha512_transform_i386_ssse3
      Src: /src/libgcrypt/cipher/sha512.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: do_sha512_transform_i386_ssse3
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - _gcry_sha512_transform_i386_ssse3
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha512_transform_i386_ssse3(void *ctx, const unsigned
      char *data,\n\t\t\t       size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha512_transform_arm
      Src: /src/libgcrypt/cipher/sha512.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: do_transform_generic
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - _gcry_sha512_transform_arm
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_transform_generic (void *context, const unsigned char
      *data, size_t nblks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha512_transform_ppc8
      Src: /src/libgcrypt/cipher/sha512.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 419
    functionName: do_sha512_transform_ppc8
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - _gcry_sha512_transform_ppc8
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_sha512_transform_ppc8(void *ctx, const unsigned char
      *data, size_t nblks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha512_transform_ppc9
      Src: /src/libgcrypt/cipher/sha512.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 426
    functionName: do_sha512_transform_ppc9
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - _gcry_sha512_transform_ppc9
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_sha512_transform_ppc9(void *ctx, const unsigned char
      *data, size_t nblks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha512_transform_riscv_zvknhb_zvkb
      Src: /src/libgcrypt/cipher/sha512.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: do_sha512_transform_riscv_zvknhb
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - _gcry_sha512_transform_riscv_zvknhb_zvkb
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha512_transform_riscv_zvknhb(void *ctx, const unsigned
      char *data,\n\t\t\t\t size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kimd_execute
      Src: /src/libgcrypt/cipher/sha512.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 459
    functionName: do_sha512_transform_s390x
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - kimd_execute
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_sha512_transform_s390x (void *ctx, const unsigned char
      *data, size_t nblks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/sha512.c:471,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/sha512.c:473,1
    - Dst: klmd_execute
      Src: /src/libgcrypt/cipher/sha512.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ctx
    - data
    - datalen
    - len_msb
    - len_lsb
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - u64
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 481
    functionName: do_sha512_final_s390x
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    - klmd_execute
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha512_final_s390x (void *ctx, const unsigned char
      *data, size_t datalen,\n\t\t       u64 len_msb, u64 len_lsb)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/sha512.c:488,1
    - Dst: _gcry_ctz
      Src: /src/libgcrypt/cipher/sha512.c:496,1
    - Dst: _gcry_sha512_riscv_v_check_hw
      Src: /src/libgcrypt/cipher/sha512.c:546,1
    - Dst: kimd_query
      Src: /src/libgcrypt/cipher/sha512.c:553,1
    - Dst: km_function_to_mask
      Src: /src/libgcrypt/cipher/sha512.c:553,1
    - Dst: klmd_query
      Src: /src/libgcrypt/cipher/sha512.c:554,1
    - Dst: km_function_to_mask
      Src: /src/libgcrypt/cipher/sha512.c:554,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 38
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - SHA512_CONTEXT*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 562
    functionName: sha512_init_common
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - _gcry_sha512_riscv_v_check_hw
    - _gcry_ctz
    - _gcry_get_hw_features
    - km_function_to_mask
    - klmd_query
    - kimd_query
    linkageType: ''
    returnType: void
    signature: void sha512_init_common (SHA512_CONTEXT *ctx, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:571,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:572,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:573,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:574,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:575,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:576,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:577,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:578,1
    - Dst: sha512_init_common
      Src: /src/libgcrypt/cipher/sha512.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 581
    functionName: sha512_init
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - sha512_init_common
    - U64_C
    linkageType: ''
    returnType: void
    signature: void sha512_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:589,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:590,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:591,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:592,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:593,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:594,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:595,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:596,1
    - Dst: sha512_init_common
      Src: /src/libgcrypt/cipher/sha512.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 599
    functionName: sha384_init
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - sha512_init_common
    - U64_C
    linkageType: ''
    returnType: void
    signature: void sha384_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:608,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:609,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:610,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:611,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:612,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:613,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:614,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:615,1
    - Dst: sha512_init_common
      Src: /src/libgcrypt/cipher/sha512.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 602
    functionDepth: 2
    functionLinenumber: 602
    functionLinenumberEnd: 618
    functionName: sha512_256_init
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - sha512_init_common
    - U64_C
    linkageType: ''
    returnType: void
    signature: void sha512_256_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:627,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:628,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:629,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:630,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:631,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:632,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:633,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/sha512.c:634,1
    - Dst: sha512_init_common
      Src: /src/libgcrypt/cipher/sha512.c:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 637
    functionName: sha512_224_init
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - sha512_init_common
    - U64_C
    linkageType: ''
    returnType: void
    signature: void sha512_224_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - u64
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 647
    functionName: ROTR
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: u64 ROTR (u64 x, u64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - u64
    - u64
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 653
    functionName: Ch
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: u64 Ch (u64 x, u64 y, u64 z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - u64
    - u64
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 659
    functionName: Maj
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: u64 Maj (u64 x, u64 y, u64 z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROTR
      Src: /src/libgcrypt/cipher/sha512.c:664,1
    - Dst: ROTR
      Src: /src/libgcrypt/cipher/sha512.c:664,1
    - Dst: ROTR
      Src: /src/libgcrypt/cipher/sha512.c:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 665
    functionName: Sum0
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - ROTR
    linkageType: ''
    returnType: u64
    signature: u64 Sum0 (u64 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROTR
      Src: /src/libgcrypt/cipher/sha512.c:670,1
    - Dst: ROTR
      Src: /src/libgcrypt/cipher/sha512.c:670,1
    - Dst: ROTR
      Src: /src/libgcrypt/cipher/sha512.c:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 671
    functionName: Sum1
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - ROTR
    linkageType: ''
    returnType: u64
    signature: u64 Sum1 (u64 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/sha512.c:699,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:708,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:708,1
    - Dst: S1
      Src: /src/libgcrypt/cipher/sha512.c:709,1
    - Dst: S0
      Src: /src/libgcrypt/cipher/sha512.c:709,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:710,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:710,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:714,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:714,1
    - Dst: S1
      Src: /src/libgcrypt/cipher/sha512.c:715,1
    - Dst: S0
      Src: /src/libgcrypt/cipher/sha512.c:715,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:716,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:716,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:720,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:720,1
    - Dst: S1
      Src: /src/libgcrypt/cipher/sha512.c:721,1
    - Dst: S0
      Src: /src/libgcrypt/cipher/sha512.c:721,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:722,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:722,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:726,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:726,1
    - Dst: S1
      Src: /src/libgcrypt/cipher/sha512.c:727,1
    - Dst: S0
      Src: /src/libgcrypt/cipher/sha512.c:727,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:728,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:728,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:732,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:732,1
    - Dst: S1
      Src: /src/libgcrypt/cipher/sha512.c:733,1
    - Dst: S0
      Src: /src/libgcrypt/cipher/sha512.c:733,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:734,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:734,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:738,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:738,1
    - Dst: S1
      Src: /src/libgcrypt/cipher/sha512.c:739,1
    - Dst: S0
      Src: /src/libgcrypt/cipher/sha512.c:739,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:740,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:740,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:744,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:744,1
    - Dst: S1
      Src: /src/libgcrypt/cipher/sha512.c:745,1
    - Dst: S0
      Src: /src/libgcrypt/cipher/sha512.c:745,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:746,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:746,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:750,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:750,1
    - Dst: S1
      Src: /src/libgcrypt/cipher/sha512.c:751,1
    - Dst: S0
      Src: /src/libgcrypt/cipher/sha512.c:751,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:752,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:752,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:756,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:756,1
    - Dst: S1
      Src: /src/libgcrypt/cipher/sha512.c:757,1
    - Dst: S0
      Src: /src/libgcrypt/cipher/sha512.c:757,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:758,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:758,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:762,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:762,1
    - Dst: S1
      Src: /src/libgcrypt/cipher/sha512.c:763,1
    - Dst: S0
      Src: /src/libgcrypt/cipher/sha512.c:763,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:764,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:764,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:768,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:768,1
    - Dst: S1
      Src: /src/libgcrypt/cipher/sha512.c:769,1
    - Dst: S0
      Src: /src/libgcrypt/cipher/sha512.c:769,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:770,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:770,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:774,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:774,1
    - Dst: S1
      Src: /src/libgcrypt/cipher/sha512.c:775,1
    - Dst: S0
      Src: /src/libgcrypt/cipher/sha512.c:775,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:776,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:776,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:780,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:780,1
    - Dst: S1
      Src: /src/libgcrypt/cipher/sha512.c:781,1
    - Dst: S0
      Src: /src/libgcrypt/cipher/sha512.c:781,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:782,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:782,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:786,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:786,1
    - Dst: S1
      Src: /src/libgcrypt/cipher/sha512.c:787,1
    - Dst: S0
      Src: /src/libgcrypt/cipher/sha512.c:787,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:788,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:788,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:792,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:792,1
    - Dst: S1
      Src: /src/libgcrypt/cipher/sha512.c:793,1
    - Dst: S0
      Src: /src/libgcrypt/cipher/sha512.c:793,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:794,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:794,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:798,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:798,1
    - Dst: S1
      Src: /src/libgcrypt/cipher/sha512.c:799,1
    - Dst: S0
      Src: /src/libgcrypt/cipher/sha512.c:799,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:800,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:800,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:811,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:811,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:812,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:812,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:816,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:816,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:817,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:817,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:821,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:821,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:822,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:822,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:826,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:826,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:827,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:827,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:831,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:831,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:832,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:832,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:836,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:836,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:837,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:837,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:841,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:841,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:842,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:842,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:846,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:846,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:847,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:847,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:851,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:851,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:852,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:852,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:856,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:856,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:857,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:857,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:861,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:861,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:862,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:862,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:866,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:866,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:867,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:867,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:871,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:871,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:872,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:872,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:876,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:876,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:877,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:877,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:881,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:881,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:882,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:882,1
    - Dst: Sum1
      Src: /src/libgcrypt/cipher/sha512.c:886,1
    - Dst: Ch
      Src: /src/libgcrypt/cipher/sha512.c:886,1
    - Dst: Sum0
      Src: /src/libgcrypt/cipher/sha512.c:887,1
    - Dst: Maj
      Src: /src/libgcrypt/cipher/sha512.c:887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 173
    argCount: 3
    argNames:
    - context
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 909
    functionName: do_transform_generic
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - Maj
    - buf_get_be64
    - S0
    - Sum0
    - S1
    - Sum1
    - Ch
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_transform_generic (void *context, const unsigned char
      *data, size_t nblks)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 702
    functionName: S0
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 703
    functionName: S1
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S1(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_sha512_final_s390x
      Src: /src/libgcrypt/cipher/sha512.c:953,1
    - Dst: if
      Src: /src/libgcrypt/cipher/sha512.c:958,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/sha512.c:976,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/sha512.c:977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 921
    functionDepth: 2
    functionLinenumber: 921
    functionLinenumberEnd: 979
    functionName: sha512_final
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - if
    - buf_put_be64
    - do_sha512_final_s390x
    linkageType: ''
    returnType: void
    signature: void sha512_final (void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 983
    functionName: X
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1005
    functionName: sha512_read
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      sha512_read (void *context)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512_init
      Src: /src/libgcrypt/cipher/sha512.c:1018,1
    - Dst: _gcry_md_block_write
      Src: /src/libgcrypt/cipher/sha512.c:1020,1
    - Dst: sha512_final
      Src: /src/libgcrypt/cipher/sha512.c:1022,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/sha512.c:1023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - outbuf
    - nbytes
    - iov
    - iovcnt
    argTypes:
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1010
    functionDepth: 3
    functionLinenumber: 1010
    functionLinenumberEnd: 1024
    functionName: _gcry_sha512_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - _gcry_md_block_write
    - sha512_final
    - sha512_init
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void _gcry_sha512_hash_buffers (void *outbuf, size_t nbytes,\n\t\t\t
      \  const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha384_init
      Src: /src/libgcrypt/cipher/sha512.c:1038,1
    - Dst: _gcry_md_block_write
      Src: /src/libgcrypt/cipher/sha512.c:1040,1
    - Dst: sha512_final
      Src: /src/libgcrypt/cipher/sha512.c:1042,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/sha512.c:1043,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - outbuf
    - nbytes
    - iov
    - iovcnt
    argTypes:
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1030
    functionDepth: 3
    functionLinenumber: 1030
    functionLinenumberEnd: 1044
    functionName: _gcry_sha384_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - _gcry_md_block_write
    - sha512_final
    - memcpy
    - sha384_init
    linkageType: ''
    returnType: void
    signature: "void _gcry_sha384_hash_buffers (void *outbuf, size_t nbytes,\n\t\t\t
      \  const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512_256_init
      Src: /src/libgcrypt/cipher/sha512.c:1058,1
    - Dst: _gcry_md_block_write
      Src: /src/libgcrypt/cipher/sha512.c:1060,1
    - Dst: sha512_final
      Src: /src/libgcrypt/cipher/sha512.c:1062,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/sha512.c:1063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - outbuf
    - nbytes
    - iov
    - iovcnt
    argTypes:
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1050
    functionDepth: 3
    functionLinenumber: 1050
    functionLinenumberEnd: 1064
    functionName: _gcry_sha512_256_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - sha512_256_init
    - _gcry_md_block_write
    - sha512_final
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void _gcry_sha512_256_hash_buffers (void *outbuf, size_t nbytes,\n\t\t\t
      \      const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512_224_init
      Src: /src/libgcrypt/cipher/sha512.c:1078,1
    - Dst: _gcry_md_block_write
      Src: /src/libgcrypt/cipher/sha512.c:1080,1
    - Dst: sha512_final
      Src: /src/libgcrypt/cipher/sha512.c:1082,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/sha512.c:1083,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - outbuf
    - nbytes
    - iov
    - iovcnt
    argTypes:
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1070
    functionDepth: 3
    functionLinenumber: 1070
    functionLinenumberEnd: 1084
    functionName: _gcry_sha512_224_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - sha512_224_init
    - _gcry_md_block_write
    - sha512_final
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void _gcry_sha512_224_hash_buffers (void *outbuf, size_t nbytes,\n\t\t\t
      \      const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha512.c:1100,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha512.c:1112,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha512.c:1124,1
    - Dst: report
      Src: /src/libgcrypt/cipher/sha512.c:1139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1093
    functionDepth: 2
    functionLinenumber: 1093
    functionLinenumberEnd: 1141
    functionName: selftests_sha384
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - report
    - _gcry_hash_selftest_check_one
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_sha384 (int extended, selftest_report_func_t
      report)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha512.c:1150,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha512.c:1163,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha512.c:1176,1
    - Dst: report
      Src: /src/libgcrypt/cipher/sha512.c:1192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1143
    functionDepth: 2
    functionLinenumber: 1143
    functionLinenumberEnd: 1194
    functionName: selftests_sha512
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - report
    - _gcry_hash_selftest_check_one
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_sha512 (int extended, selftest_report_func_t
      report)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha512.c:1203,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha512.c:1215,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha512.c:1226,1
    - Dst: report
      Src: /src/libgcrypt/cipher/sha512.c:1240,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1196
    functionDepth: 2
    functionLinenumber: 1196
    functionLinenumberEnd: 1242
    functionName: selftests_sha512_224
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - report
    - _gcry_hash_selftest_check_one
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_sha512_224 (int extended, selftest_report_func_t
      report)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha512.c:1251,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha512.c:1263,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha512.c:1274,1
    - Dst: report
      Src: /src/libgcrypt/cipher/sha512.c:1288,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1244
    functionDepth: 2
    functionLinenumber: 1244
    functionLinenumberEnd: 1290
    functionName: selftests_sha512_256
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 0
    functionsReached:
    - report
    - _gcry_hash_selftest_check_one
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_sha512_256 (int extended, selftest_report_func_t
      report)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: selftests_sha384
      Src: /src/libgcrypt/cipher/sha512.c:1302,1
    - Dst: selftests_sha512
      Src: /src/libgcrypt/cipher/sha512.c:1305,1
    - Dst: selftests_sha512_224
      Src: /src/libgcrypt/cipher/sha512.c:1308,1
    - Dst: selftests_sha512_256
      Src: /src/libgcrypt/cipher/sha512.c:1311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1294
    functionDepth: 3
    functionLinenumber: 1294
    functionLinenumberEnd: 1319
    functionName: run_selftests
    functionSourceFile: /src/libgcrypt/cipher/sha512.c
    functionUses: 4
    functionsReached:
    - selftests_sha512_256
    - selftests_sha384
    - selftests_sha512
    - selftests_sha512_224
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t run_selftests (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - burn
    - ','
    - nburn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: set_burn
    functionSourceFile: /src/libgcrypt/cipher/cipher-ccm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_burn(burn, nburn)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/cipher/cipher-ccm.c:43,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-ccm.c:58,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-ccm.c:71,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-ccm.c:79,1
    - Dst: set_burn
      Src: /src/libgcrypt/cipher/cipher-ccm.c:81,1
    - Dst: enc_fn
      Src: /src/libgcrypt/cipher/cipher-ccm.c:81,1
    - Dst: gcry_cipher_hd_t::bulk::cbc_enc
      Src: /src/libgcrypt/cipher/cipher-ccm.c:89,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-ccm.c:93,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-ccm.c:99,1
    - Dst: set_burn
      Src: /src/libgcrypt/cipher/cipher-ccm.c:101,1
    - Dst: enc_fn
      Src: /src/libgcrypt/cipher/cipher-ccm.c:101,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 4
    argNames:
    - c
    - inbuf
    - inlen
    - do_padding
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 116
    functionName: do_cbc_mac
    functionSourceFile: /src/libgcrypt/cipher/cipher-ccm.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor
    - DIM
    - wipememory
    - gcry_cipher_hd_t::bulk::cbc_enc
    - buf_cpy
    - memset
    - set_burn
    - enc_fn
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_cbc_mac (gcry_cipher_hd_t c, const unsigned char *inbuf,
      size_t inlen,\n            int do_padding)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-ccm.c:137,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-ccm.c:138,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-ccm.c:139,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-ccm.c:140,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-ccm.c:141,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-ccm.c:147,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-ccm.c:148,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-ccm.c:152,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-ccm.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - c
    - nonce
    - noncelen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 160
    functionName: _gcry_cipher_ccm_set_nonce
    functionSourceFile: /src/libgcrypt/cipher/cipher-ccm.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_ccm_set_nonce (gcry_cipher_hd_t c, const
      unsigned char *nonce,\n                            size_t noncelen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-ccm.c:196,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-ccm.c:197,1
    - Dst: set_burn
      Src: /src/libgcrypt/cipher/cipher-ccm.c:199,1
    - Dst: do_cbc_mac
      Src: /src/libgcrypt/cipher/cipher-ccm.c:199,1
    - Dst: set_burn
      Src: /src/libgcrypt/cipher/cipher-ccm.c:209,1
    - Dst: do_cbc_mac
      Src: /src/libgcrypt/cipher/cipher-ccm.c:209,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cipher-ccm.c:215,1
    - Dst: set_burn
      Src: /src/libgcrypt/cipher/cipher-ccm.c:216,1
    - Dst: do_cbc_mac
      Src: /src/libgcrypt/cipher/cipher-ccm.c:216,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-ccm.c:222,1
    - Dst: set_burn
      Src: /src/libgcrypt/cipher/cipher-ccm.c:223,1
    - Dst: do_cbc_mac
      Src: /src/libgcrypt/cipher/cipher-ccm.c:223,1
    - Dst: set_burn
      Src: /src/libgcrypt/cipher/cipher-ccm.c:227,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-ccm.c:227,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-ccm.c:232,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 4
    argNames:
    - c
    - encryptlen
    - aadlen
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - u64
    - u64
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 237
    functionName: _gcry_cipher_ccm_set_lengths
    functionSourceFile: /src/libgcrypt/cipher/cipher-ccm.c
    functionUses: 0
    functionsReached:
    - buf_put_be32
    - do_cbc_mac
    - _gcry_burn_stack
    - memset
    - set_burn
    - buf_put_be64
    - gcry_cipher_hd_t::spec::encrypt
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_ccm_set_lengths (gcry_cipher_hd_t c,
      u64 encryptlen, u64 aadlen,\n                              u64 taglen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: do_cbc_mac
      Src: /src/libgcrypt/cipher/cipher-ccm.c:254,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-ccm.c:257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - c
    - abuf
    - abuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 260
    functionName: _gcry_cipher_ccm_authenticate
    functionSourceFile: /src/libgcrypt/cipher/cipher-ccm.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - do_cbc_mac
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_ccm_authenticate (gcry_cipher_hd_t c,
      const unsigned char *abuf,\n                               size_t abuflen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: do_cbc_mac
      Src: /src/libgcrypt/cipher/cipher-ccm.c:282,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-ccm.c:285,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-ccm.c:287,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-ccm.c:288,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-ccm.c:289,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-ccm.c:292,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-ccm.c:299,1
    - Dst: buf_eq_const
      Src: /src/libgcrypt/cipher/cipher-ccm.c:304,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - c
    - outbuf
    - outbuflen
    - check
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 307
    functionName: _gcry_cipher_ccm_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-ccm.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor
    - do_cbc_mac
    - buf_eq_const
    - wipememory
    - _gcry_burn_stack
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_ccm_tag (gcry_cipher_hd_t c, unsigned
      char *outbuf,\n\t\t      size_t outbuflen, int check)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_ccm_tag
      Src: /src/libgcrypt/cipher/cipher-ccm.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - outtag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 315
    functionName: _gcry_cipher_ccm_get_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-ccm.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_ccm_tag
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_ccm_get_tag (gcry_cipher_hd_t c, unsigned
      char *outtag,\n\t\t\t  size_t taglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_ccm_tag
      Src: /src/libgcrypt/cipher/cipher-ccm.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - intag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: _gcry_cipher_ccm_check_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-ccm.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_ccm_tag
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_ccm_check_tag (gcry_cipher_hd_t c, const
      unsigned char *intag,\n\t\t\t    size_t taglen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: do_cbc_mac
      Src: /src/libgcrypt/cipher/cipher-ccm.c:355,1
    - Dst: _gcry_cipher_ctr_encrypt
      Src: /src/libgcrypt/cipher/cipher-ccm.c:358,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-ccm.c:369,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 371
    functionName: _gcry_cipher_ccm_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-ccm.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - _gcry_cipher_ctr_encrypt
    - do_cbc_mac
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_ccm_encrypt (gcry_cipher_hd_t c, unsigned
      char *outbuf,\n                          size_t outbuflen, const unsigned char
      *inbuf,\n                          size_t inbuflen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_ctr_encrypt
      Src: /src/libgcrypt/cipher/cipher-ccm.c:402,1
    - Dst: do_cbc_mac
      Src: /src/libgcrypt/cipher/cipher-ccm.c:407,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-ccm.c:417,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 419
    functionName: _gcry_cipher_ccm_decrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-ccm.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - do_cbc_mac
    - _gcry_cipher_ctr_encrypt
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_ccm_decrypt (gcry_cipher_hd_t c, unsigned
      char *outbuf,\n                          size_t outbuflen, const unsigned char
      *inbuf,\n                          size_t inbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - instruction
    - ','
    - opcode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: DECL_QUERY_FUNC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECL_QUERY_FUNC(instruction, opcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - instruction
    - ','
    - opcode
    - ','
    - param_const
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: DECL_EXECUTE_FUNC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECL_EXECUTE_FUNC(instruction, opcode, param_const)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 116
    functionName: kma_query
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u128_t
    signature: u128_t kma_query(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - func
    - param_block
    - dst
    - src
    - src_len
    - aad
    - aad_len
    argTypes:
    - unsigned int
    - void*
    - byte*
    - byte*
    - size_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 134
    functionName: kma_execute
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: "ALWAYS_INLINE kma_execute(unsigned int func, void *param_block, byte
      *dst, const byte *src,\n\t    size_t src_len, const byte *aad, size_t aad_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: km_execute
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - dst
    - src
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: _gcry_aes_s390x_encrypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached:
    - km_execute
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_aes_s390x_encrypt(const RIJNDAEL_context *ctx,\n\t\t\t\t
      \    unsigned char *dst,\n\t\t\t\t     const unsigned char *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: km_execute
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - dst
    - src
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: _gcry_aes_s390x_decrypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached:
    - km_execute
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_aes_s390x_decrypt(const RIJNDAEL_context *ctx,\n\t\t\t\t
      \    unsigned char *dst,\n\t\t\t\t     const unsigned char *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:164,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:165,1
    - Dst: kmac_execute
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:169,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:171,1
    - Dst: kmc_execute
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:175,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:180,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - cbc_mac
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 183
    functionName: aes_s390x_cbc_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached:
    - kmc_execute
    - wipememory
    - memcpy
    - kmac_execute
    linkageType: ''
    returnType: void
    signature: "void aes_s390x_cbc_enc(void *context, unsigned char *iv,\n\t\t\t      void
      *outbuf_arg, const void *inbuf_arg,\n\t\t\t      size_t nblocks, int cbc_mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:195,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:196,1
    - Dst: kmc_execute
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:198,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:202,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 205
    functionName: aes_s390x_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached:
    - kmc_execute
    - wipememory
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void aes_s390x_cbc_dec(void *context, unsigned char *iv,\n\t\t\t      void
      *outbuf_arg, const void *inbuf_arg,\n\t\t\t      size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:218,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:219,1
    - Dst: kmf_execute
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:222,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:225,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 228
    functionName: aes_s390x_cfb128_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached:
    - wipememory
    - memcpy
    - kmf_execute
    linkageType: ''
    returnType: void
    signature: "void aes_s390x_cfb128_enc(void *context, unsigned char *iv,\n\t\t\t\t
      void *outbuf_arg, const void *inbuf_arg,\n\t\t\t\t size_t nblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: km_execute
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:264,1
    - Dst: CFB_MOVE_BLOCKS
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:316,1
    - Dst: CFB_MOVE_BLOCKS
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:317,1
    - Dst: CFB_MOVE_BLOCKS
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:318,1
    - Dst: CFB_MOVE_BLOCKS
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:319,1
    - Dst: CFB_MOVE_BLOCKS
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:320,1
    - Dst: km_execute
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:333,1
    - Dst: CFB_XOR_BLOCKS
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:356,1
    - Dst: CFB_XOR_BLOCKS
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:357,1
    - Dst: CFB_XOR_BLOCKS
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:358,1
    - Dst: CFB_XOR_BLOCKS
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:359,1
    - Dst: CFB_XOR_BLOCKS
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:360,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 367
    functionName: aes_s390x_cfb128_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached:
    - wipememory
    - km_execute
    - CFB_MOVE_BLOCKS
    - CFB_XOR_BLOCKS
    linkageType: ''
    returnType: void
    signature: "void aes_s390x_cfb128_dec(void *context, unsigned char *iv,\n\t\t\t\t
      void *outbuf_arg, const void *inbuf_arg,\n\t\t\t\t size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - block_oper
    - ','
    - move_nbytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: CFB_MOVE_BLOCKS
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFB_MOVE_BLOCKS(block_oper, move_nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - block_oper
    - ','
    - xor_nbytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 355
    functionName: CFB_XOR_BLOCKS
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFB_XOR_BLOCKS(block_oper, xor_nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:380,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:381,1
    - Dst: kmo_execute
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:384,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:387,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 390
    functionName: aes_s390x_ofb_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached:
    - wipememory
    - memcpy
    - kmo_execute
    linkageType: ''
    returnType: void
    signature: "void aes_s390x_ofb_enc(void *context, unsigned char *iv,\n\t\t\t      void
      *outbuf_arg, const void *inbuf_arg,\n\t\t\t      size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:402,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:403,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:409,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:413,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:414,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:414,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:415,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:417,1
    - Dst: cipher_block_add
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:422,1
    - Dst: cipher_block_add
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:424,1
    - Dst: kma_execute
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:427,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 5
    argNames:
    - context
    - ctr
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 435
    functionName: aes_s390x_ctr128_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached:
    - buf_put_be32
    - cipher_block_add
    - buf_get_be32
    - kma_execute
    - wipememory
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void aes_s390x_ctr128_enc(void *context, unsigned char *ctr,\n\t\t\t\t
      void *outbuf_arg, const void *inbuf_arg,\n\t\t\t\t size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:452,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:453,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:453,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:454,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:455,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:458,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:460,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:463,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:463,1
    - Dst: kma_execute
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:466,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:469,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 5
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 474
    functionName: aes_s390x_gcm_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached:
    - buf_put_be32
    - buf_get_be32
    - kma_execute
    - wipememory
    - memset
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t aes_s390x_gcm_crypt(gcry_cipher_hd_t c, void *outbuf_arg,\n\t\t\t\t
      \ const void *inbuf_arg, size_t nblocks,\n\t\t\t\t  int encrypt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:489,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:491,1
    - Dst: BUG
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:495,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:499,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:501,1
    - Dst: km_execute
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:505,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:508,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 6
    argNames:
    - context
    - tweak
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 511
    functionName: aes_s390x_xts_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached:
    - wipememory
    - km_execute
    - memcpy
    - BUG
    linkageType: ''
    returnType: void
    signature: "void aes_s390x_xts_crypt(void *context, unsigned char *tweak,\n\t\t\t\tvoid
      *outbuf_arg, const void *inbuf_arg,\n\t\t\t\tsize_t nblocks, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - c
    - blkn
    - Ls
    - pl
    argTypes:
    - gcry_cipher_hd_t
    - u64
    - void*[]
    - void***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 535
    functionName: aes_s390x_ocb_prepare_Ls
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NO_INLINE
    signature: "NO_INLINE aes_s390x_ocb_prepare_Ls (gcry_cipher_hd_t c, u64 blkn,
      const void *Ls[64],\n\t\t\t  const void ***pl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctz
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - gcry_cipher_hd_t
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 546
    functionName: aes_s390x_ocb_get_l
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached:
    - _gcry_ctz
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: 'ALWAYS_INLINE *

      aes_s390x_ocb_get_l (gcry_cipher_hd_t c, u64 n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:558,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:565,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:566,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:567,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:568,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:574,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:575,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:576,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:578,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:579,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:580,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:586,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:592,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - checksum
    - plainbuf_arg
    - nblks
    argTypes:
    - unsigned char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 595
    functionName: aes_s390x_ocb_checksum
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached:
    - wipememory
    - cipher_block_cpy
    - cipher_block_xor_1
    linkageType: ''
    returnType: NO_INLINE
    signature: "NO_INLINE aes_s390x_ocb_checksum (unsigned char *checksum, const void
      *plainbuf_arg,\n\t\t\tsize_t nblks)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: aes_s390x_ocb_prepare_Ls
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:613,1
    - Dst: aes_s390x_ocb_checksum
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:620,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:622,1
    - Dst: aes_s390x_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:651,1
    - Dst: OCB_INPUT_16
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:653,1
    - Dst: OCB_INPUT_16
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:654,1
    - Dst: OCB_INPUT_16
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:655,1
    - Dst: OCB_INPUT_16
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:656,1
    - Dst: km_execute
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:658,1
    - Dst: aes_s390x_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:681,1
    - Dst: OCB_INPUT_16
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:685,1
    - Dst: OCB_INPUT_4
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:691,1
    - Dst: OCB_INPUT
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:697,1
    - Dst: OCB_INPUT
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:698,1
    - Dst: OCB_INPUT
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:704,1
    - Dst: km_execute
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:711,1
    - Dst: OCB_OUTPUT_16
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:716,1
    - Dst: OCB_OUTPUT_4
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:722,1
    - Dst: OCB_OUTPUT
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:728,1
    - Dst: OCB_OUTPUT
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:729,1
    - Dst: OCB_OUTPUT
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:735,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:749,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:752,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 73
    argCount: 4
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks_arg
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 755
    functionName: aes_s390x_ocb_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached:
    - OCB_INPUT
    - OCB_OUTPUT_16
    - OCB_INPUT_16
    - OCB_INPUT_4
    - aes_s390x_ocb_checksum
    - OCB_OUTPUT_4
    - wipememory
    - aes_s390x_ocb_get_l
    - aes_s390x_ocb_prepare_Ls
    - km_execute
    - OCB_OUTPUT
    - cipher_block_cpy
    linkageType: ''
    returnType: NO_INLINE
    signature: "NO_INLINE aes_s390x_ocb_enc (gcry_cipher_hd_t c, void *outbuf_arg,\n\t\t
      \  const void *inbuf_arg, size_t nblocks_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: OCB_INPUT
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_INPUT(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: OCB_INPUT_4
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_INPUT_4(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 636
    functionName: OCB_INPUT_16
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_INPUT_16(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 639
    functionName: OCB_OUTPUT
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_OUTPUT(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 643
    functionName: OCB_OUTPUT_4
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_OUTPUT_4(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionName: OCB_OUTPUT_16
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_OUTPUT_16(n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: aes_s390x_ocb_prepare_Ls
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:773,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:775,1
    - Dst: aes_s390x_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:804,1
    - Dst: OCB_INPUT_16
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:806,1
    - Dst: OCB_INPUT_16
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:807,1
    - Dst: OCB_INPUT_16
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:808,1
    - Dst: OCB_INPUT_16
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:809,1
    - Dst: km_execute
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:811,1
    - Dst: aes_s390x_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:834,1
    - Dst: OCB_INPUT_16
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:838,1
    - Dst: OCB_INPUT_4
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:844,1
    - Dst: OCB_INPUT
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:850,1
    - Dst: OCB_INPUT
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:851,1
    - Dst: OCB_INPUT
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:857,1
    - Dst: km_execute
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:864,1
    - Dst: OCB_OUTPUT_16
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:869,1
    - Dst: OCB_OUTPUT_4
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:875,1
    - Dst: OCB_OUTPUT
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:881,1
    - Dst: OCB_OUTPUT
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:882,1
    - Dst: OCB_OUTPUT
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:888,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:902,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:905,1
    - Dst: aes_s390x_ocb_checksum
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:907,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 73
    argCount: 4
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks_arg
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 910
    functionName: aes_s390x_ocb_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached:
    - OCB_INPUT
    - OCB_OUTPUT_16
    - OCB_INPUT_16
    - OCB_INPUT_4
    - OCB_OUTPUT_4
    - wipememory
    - aes_s390x_ocb_checksum
    - aes_s390x_ocb_get_l
    - aes_s390x_ocb_prepare_Ls
    - km_execute
    - OCB_OUTPUT
    - cipher_block_cpy
    linkageType: ''
    returnType: NO_INLINE
    signature: "NO_INLINE aes_s390x_ocb_dec (gcry_cipher_hd_t c, void *outbuf_arg,\n\t\t
      \  const void *inbuf_arg, size_t nblocks_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 781
    functionName: OCB_INPUT
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_INPUT(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 785
    functionName: OCB_INPUT_4
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_INPUT_4(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 789
    functionName: OCB_INPUT_16
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_INPUT_16(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 792
    functionName: OCB_OUTPUT
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_OUTPUT(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 796
    functionName: OCB_OUTPUT_4
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_OUTPUT_4(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 800
    functionName: OCB_OUTPUT_16
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_OUTPUT_16(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_s390x_ocb_enc
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:917,1
    - Dst: aes_s390x_ocb_dec
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks_arg
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 912
    functionDepth: 3
    functionLinenumber: 912
    functionLinenumberEnd: 920
    functionName: aes_s390x_ocb_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached:
    - aes_s390x_ocb_enc
    - aes_s390x_ocb_dec
    linkageType: ''
    returnType: size_t
    signature: "size_t aes_s390x_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg,\n\t\t
      \    const void *inbuf_arg, size_t nblocks_arg, int encrypt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: aes_s390x_ocb_prepare_Ls
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:936,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:938,1
    - Dst: aes_s390x_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:955,1
    - Dst: OCB_INPUT_16
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:957,1
    - Dst: OCB_INPUT_16
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:958,1
    - Dst: OCB_INPUT_16
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:959,1
    - Dst: OCB_INPUT_16
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:960,1
    - Dst: km_execute
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:962,1
    - Dst: aes_s390x_ocb_checksum
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:964,1
    - Dst: aes_s390x_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:979,1
    - Dst: OCB_INPUT_16
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:983,1
    - Dst: OCB_INPUT_4
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:989,1
    - Dst: OCB_INPUT
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:995,1
    - Dst: OCB_INPUT
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:996,1
    - Dst: OCB_INPUT
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1002,1
    - Dst: km_execute
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1010,1
    - Dst: aes_s390x_ocb_checksum
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1013,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1021,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1024,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 3
    argNames:
    - c
    - abuf_arg
    - nblocks_arg
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 922
    functionDepth: 2
    functionLinenumber: 922
    functionLinenumberEnd: 1027
    functionName: aes_s390x_ocb_auth
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached:
    - OCB_INPUT
    - OCB_INPUT_16
    - OCB_INPUT_4
    - aes_s390x_ocb_checksum
    - wipememory
    - aes_s390x_ocb_get_l
    - aes_s390x_ocb_prepare_Ls
    - km_execute
    - cipher_block_cpy
    linkageType: ''
    returnType: size_t
    signature: "size_t aes_s390x_ocb_auth (gcry_cipher_hd_t c, const void *abuf_arg,\n\t\t
      \   size_t nblocks_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 943
    functionName: OCB_INPUT
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_INPUT(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 947
    functionName: OCB_INPUT_4
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_INPUT_4(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 951
    functionName: OCB_INPUT_16
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_INPUT_16(n)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: km_function_to_mask
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1048,1
    - Dst: km_function_to_mask
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1049,1
    - Dst: km_function_to_mask
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1054,1
    - Dst: km_function_to_mask
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1060,1
    - Dst: km_function_to_mask
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1061,1
    - Dst: km_query
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1067,1
    - Dst: km_query
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1073,1
    - Dst: kmc_query
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1077,1
    - Dst: kmac_query
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1081,1
    - Dst: kmf_query
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1087,1
    - Dst: kmo_query
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1091,1
    - Dst: kma_query
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1098,1
    - Dst: kimd_query
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1143,1
    - Dst: km_function_to_mask
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1143,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 4
    argNames:
    - ctx
    - keylen
    - hwfeatures
    - bulk_ops
    argTypes:
    - RIJNDAEL_context*
    - unsigned int
    - unsigned int
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1152
    functionName: _gcry_aes_s390x_setup_acceleration
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached:
    - kmo_query
    - kmac_query
    - kmf_query
    - kmc_query
    - kma_query
    - km_query
    - km_function_to_mask
    - kimd_query
    linkageType: ''
    returnType: int
    signature: "int _gcry_aes_s390x_setup_acceleration(RIJNDAEL_context *ctx,\n\t\t\t\t
      \      unsigned int keylen,\n\t\t\t\t       unsigned int hwfeatures,\n\t\t\t\t
      \      cipher_bulk_ops_t *bulk_ops)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael-s390x.c:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - RIJNDAEL_context*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1158
    functionName: _gcry_aes_s390x_setkey
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void _gcry_aes_s390x_setkey(RIJNDAEL_context *ctx, const byte *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1164
    functionName: _gcry_aes_s390x_prepare_decryption
    functionSourceFile: /src/libgcrypt/cipher/rijndael-s390x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_aes_s390x_prepare_decryption(RIJNDAEL_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: cast_m128i_to_s8
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_m128i_to_s8(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: cast_m128i_to_u32
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_m128i_to_u32(a)
  - 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: cast_m128i_to_u64
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_m128i_to_u64(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: cast_m128i_to_s64
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_m128i_to_s64(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: cast_s8_to_m128i
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_s8_to_m128i(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: cast_u32_to_m128i
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_u32_to_m128i(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: cast_u64_to_m128i
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_u64_to_m128i(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: cast_s64_to_m128i
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_s64_to_m128i(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: pand128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pand128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: pandn128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pandn128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: pxor128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pxor128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: paddb128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: paddb128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: paddd128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: paddd128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: paddq128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: paddq128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: psrld128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psrld128(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: psraq128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psraq128(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: psrldq128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psrldq128(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: pslldq128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pslldq128(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: psrl_byte_128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psrl_byte_128(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m8
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: pshufb128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufb128(m8, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m32
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: pshufd128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufd128(m32, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: pshufd128_0x93
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufd128_0x93(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: pshufd128_0xFF
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufd128_0xFF(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: pshufd128_0xFE
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufd128_0xFE(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: pshufd128_0x4E
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufd128_0x4E(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: palignr128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: palignr128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: movdqa128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movdqa128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: movdqa128_memld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movdqa128_memld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: pand128_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pand128_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: pxor128_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pxor128_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: paddq128_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: paddq128_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: paddd128_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: paddd128_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: pshufb128_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufb128_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: movdqu128_memld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movdqu128_memld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: movdqu128_memst
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movdqu128_memst(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 161
    functionName: PSHUFD256_MASK_TO_PSHUFB256_MASK
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSHUFD256_MASK_TO_PSHUFB256_MASK(m32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: check_simd256_support
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_simd256_support()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: cast_m256i_to_s8
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_m256i_to_s8(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: cast_m256i_to_u32
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_m256i_to_u32(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: cast_m256i_to_u64
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_m256i_to_u64(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: cast_m256i_to_s64
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_m256i_to_s64(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: cast_s8_to_m256i
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_s8_to_m256i(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: cast_u32_to_m256i
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_u32_to_m256i(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: cast_u64_to_m256i
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_u64_to_m256i(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: cast_s64_to_m256i
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_s64_to_m256i(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: pand256
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pand256(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: pandn256
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pandn256(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: pxor256
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pxor256(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: paddb256
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: paddb256(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: paddd256
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: paddd256(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: paddq256
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: paddq256(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: psrld256
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psrld256(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: psraq256
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psraq256(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: psrl_byte_256
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psrl_byte_256(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m8
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: pshufb256_tab32
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufb256_tab32(m8, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m8
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: pshufb256_tab16
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufb256_tab16(m8, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: load_tab32_mask
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: load_tab32_mask(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: broadcast128_256
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: broadcast128_256(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: load_tab16_table
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: load_tab16_table(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m32
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: pshufd256
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufd256(m32, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: pshufd256_0x93
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufd256_0x93(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: insert256_hi128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: insert256_hi128(x, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - y
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: extract256_hi128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extract256_hi128(y, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: movdqa256
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movdqa256(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: movdqa128_256
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movdqa128_256(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: movdqa256_128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movdqa256_128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: movdqa256_memld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movdqa256_memld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: pand256_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pand256_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: pxor256_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pxor256_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: paddq256_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: paddq256_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: paddd256_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: paddd256_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: pshufb256_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufb256_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: broadcast128_256_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: broadcast128_256_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: movdqu256_memld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movdqu256_memld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: movdqu256_memst
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movdqu256_memst(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vsetvl_e8m1
      Src: /src/libgcrypt/cipher/rijndael-vp-riscv.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: _gcry_aes_vp_riscv_setup_acceleration
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-riscv.c
    functionUses: 0
    functionsReached:
    - __riscv_vsetvl_e8m1
    linkageType: ''
    returnType: int
    signature: int _gcry_aes_vp_riscv_setup_acceleration(RIJNDAEL_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: shaext_prepare
    functionSourceFile: /src/libgcrypt/cipher/sha256-intel-shaext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shaext_prepare()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tmp0
    - ','
    - tmp1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: shaext_cleanup
    functionSourceFile: /src/libgcrypt/cipher/sha256-intel-shaext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shaext_cleanup(tmp0,tmp1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: shaext_prepare
    functionSourceFile: /src/libgcrypt/cipher/sha256-intel-shaext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shaext_prepare()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tmp0
    - ','
    - tmp1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: shaext_cleanup
    functionSourceFile: /src/libgcrypt/cipher/sha256-intel-shaext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shaext_cleanup(tmp0,tmp1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - k
    - ','
    - MSG0
    - ','
    - MSG1
    - ','
    - MSG2
    - ','
    - MSG3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 225
    functionName: ROUND
    functionSourceFile: /src/libgcrypt/cipher/sha256-intel-shaext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND(k, MSG0, MSG1, MSG2, MSG3)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/rsa.c:128,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/rsa.c:129,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/rsa.c:130,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/rsa.c:131,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/rsa.c:138,1
    - Dst: public
      Src: /src/libgcrypt/cipher/rsa.c:141,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:144,1
    - Dst: secret
      Src: /src/libgcrypt/cipher/rsa.c:148,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:151,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/rsa.c:155,1
    - Dst: secret
      Src: /src/libgcrypt/cipher/rsa.c:158,1
    - Dst: public
      Src: /src/libgcrypt/cipher/rsa.c:161,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:162,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/cipher/rsa.c:166,1
    - Dst: public
      Src: /src/libgcrypt/cipher/rsa.c:167,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:168,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:174,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:175,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:176,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:177,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - sk
    - nbits
    argTypes:
    - RSA_secret_key*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 179
    functionName: test_keys
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - secret
    - public
    - mpi_cmp
    - _gcry_mpi_release
    - mpi_new
    - _gcry_mpi_randomize
    - mpi_add_ui
    linkageType: ''
    returnType: int
    signature: int test_keys (RSA_secret_key *sk, unsigned int nbits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_randomize
      Src: /src/libgcrypt/cipher/rsa.c:192,1
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/rsa.c:195,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/rsa.c:198,1
    - Dst: _gcry_pk_sign_md
      Src: /src/libgcrypt/cipher/rsa.c:201,1
    - Dst: _gcry_pk_verify_md
      Src: /src/libgcrypt/cipher/rsa.c:206,1
    - Dst: _gcry_md_reset
      Src: /src/libgcrypt/cipher/rsa.c:211,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/rsa.c:213,1
    - Dst: _gcry_pk_verify_md
      Src: /src/libgcrypt/cipher/rsa.c:214,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:220,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/rsa.c:221,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - skey
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 223
    functionName: test_keys_fips
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - _gcry_md_reset
    - sexp_release
    - _gcry_pk_sign_md
    - _gcry_md_close
    - _gcry_md_write
    - _gcry_randomize
    - _gcry_pk_verify_md
    - _gcry_md_open_internal
    linkageType: ''
    returnType: int
    signature: int test_keys_fips (gcry_sexp_t skey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/rsa.c:234,1
    - Dst: _gcry_mpi_alloc_like
      Src: /src/libgcrypt/cipher/rsa.c:235,1
    - Dst: mpi_gcd
      Src: /src/libgcrypt/cipher/rsa.c:236,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:237,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/cipher/rsa.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - arg
    - a
    argTypes:
    - void*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: check_exponent
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_alloc_like
    - mpi_sub_ui
    - mpi_gcd
    - _gcry_mpi_release
    - mpi_add_ui
    linkageType: ''
    returnType: int
    signature: int check_exponent (void *arg, gcry_mpi_t a)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/rsa.c:286,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/rsa.c:288,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/rsa.c:292,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/rsa.c:295,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:302,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:304,1
    - Dst: _gcry_generate_secret_prime
      Src: /src/libgcrypt/cipher/rsa.c:308,1
    - Dst: _gcry_generate_secret_prime
      Src: /src/libgcrypt/cipher/rsa.c:310,1
    - Dst: _gcry_generate_secret_prime
      Src: /src/libgcrypt/cipher/rsa.c:315,1
    - Dst: _gcry_generate_secret_prime
      Src: /src/libgcrypt/cipher/rsa.c:316,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:318,1
    - Dst: mpi_swap
      Src: /src/libgcrypt/cipher/rsa.c:319,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/rsa.c:321,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/rsa.c:323,1
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/cipher/rsa.c:326,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/rsa.c:326,1
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/cipher/rsa.c:327,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/rsa.c:327,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:328,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:329,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:330,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/rsa.c:331,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/rsa.c:332,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/rsa.c:333,1
    - Dst: mpi_gcd
      Src: /src/libgcrypt/cipher/rsa.c:334,1
    - Dst: mpi_fdiv_q
      Src: /src/libgcrypt/cipher/rsa.c:335,1
    - Dst: mpi_gcd
      Src: /src/libgcrypt/cipher/rsa.c:337,1
    - Dst: BUG
      Src: /src/libgcrypt/cipher/rsa.c:340,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/cipher/rsa.c:342,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:346,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/rsa.c:347,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:349,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/rsa.c:350,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:354,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:355,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:356,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:357,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:358,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:359,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:360,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:361,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:362,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:365,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:366,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:367,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:368,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:369,1
    - Dst: test_keys
      Src: /src/libgcrypt/cipher/rsa.c:379,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:381,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:382,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:383,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:384,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:385,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:386,1
    - Dst: fips_signal_error
      Src: /src/libgcrypt/cipher/rsa.c:387,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 88
    argCount: 4
    argNames:
    - sk
    - nbits
    - use_e
    - transient_key
    argTypes:
    - RSA_secret_key*
    - unsigned int
    - unsigned long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 392
    functionName: generate_std
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - log_mpidump
    - BUG
    - mpi_get_nlimbs
    - mpi_gcd
    - mpi_cmp
    - mpi_mul
    - mpi_invm
    - test_keys
    - _gcry_generate_secret_prime
    - mpi_sub_ui
    - mpi_snew
    - mpi_new
    - mpi_alloc
    - mpi_fdiv_q
    - mpi_add_ui
    - mpi_get_nbits
    - _gcry_mpi_release
    - mpi_swap
    - mpi_alloc_secure
    - fips_signal_error
    - mpi_set_ui
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t generate_std (RSA_secret_key *sk, unsigned int nbits,
      unsigned long use_e,\n              int transient_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/rsa.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: rsa_check_keysize
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - fips_mode
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t rsa_check_keysize (unsigned int nbits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/rsa.c:416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 425
    functionName: rsa_check_verify_keysize
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - fips_mode
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t rsa_check_verify_keysize (unsigned int nbits)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: rsa_check_keysize
      Src: /src/libgcrypt/cipher/rsa.c:461,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/rsa.c:493,1
    - Dst: sexp_nth_mpi
      Src: /src/libgcrypt/cipher/rsa.c:496,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:497,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:507,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/rsa.c:516,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/rsa.c:519,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:521,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:522,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/rsa.c:525,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:526,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:527,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/rsa.c:530,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/rsa.c:531,1
    - Dst: mpi_lshift
      Src: /src/libgcrypt/cipher/rsa.c:532,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/rsa.c:535,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/rsa.c:536,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/rsa.c:537,1
    - Dst: mpi_lshift
      Src: /src/libgcrypt/cipher/rsa.c:538,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:540,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:541,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:542,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/rsa.c:551,1
    - Dst: mpi_set_bit
      Src: /src/libgcrypt/cipher/rsa.c:552,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:554,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/rsa.c:561,1
    - Dst: mpi_gcd
      Src: /src/libgcrypt/cipher/rsa.c:562,1
    - Dst: _gcry_fips186_4_prime_check
      Src: /src/libgcrypt/cipher/rsa.c:564,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/rsa.c:584,1
    - Dst: mpi_set_bit
      Src: /src/libgcrypt/cipher/rsa.c:585,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:587,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:593,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/rsa.c:596,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/rsa.c:601,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:603,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/rsa.c:610,1
    - Dst: mpi_gcd
      Src: /src/libgcrypt/cipher/rsa.c:611,1
    - Dst: _gcry_fips186_4_prime_check
      Src: /src/libgcrypt/cipher/rsa.c:613,1
    - Dst: mpi_clear
      Src: /src/libgcrypt/cipher/rsa.c:630,1
    - Dst: mpi_clear
      Src: /src/libgcrypt/cipher/rsa.c:631,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:646,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/rsa.c:649,1
    - Dst: mpi_gcd
      Src: /src/libgcrypt/cipher/rsa.c:652,1
    - Dst: mpi_fdiv_q
      Src: /src/libgcrypt/cipher/rsa.c:653,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/rsa.c:654,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/rsa.c:656,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:658,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/rsa.c:660,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/rsa.c:664,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:671,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:672,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:673,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:674,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:675,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:676,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:681,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:682,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:683,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:684,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:685,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:686,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:697,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:698,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:699,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:700,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:701,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:702,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 185
    argCount: 5
    argNames:
    - sk
    - nbits
    - use_e
    - testparms
    - transient_key
    argTypes:
    - RSA_secret_key*
    - unsigned int
    - unsigned long
    - gcry_sexp_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 440
    functionDepth: 3
    functionLinenumber: 440
    functionLinenumberEnd: 706
    functionName: generate_fips
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - mpi_clear
    - log_mpidump
    - sexp_release
    - sexp_find_token
    - _gcry_mpi_randomize
    - mpi_set_bit
    - _gcry_fips186_4_prime_check
    - mpi_gcd
    - mpi_cmp
    - mpi_mul
    - mpi_invm
    - sexp_nth_mpi
    - mpi_sub_ui
    - mpi_snew
    - mpi_new
    - mpi_alloc
    - mpi_fdiv_q
    - mpi_get_nbits
    - mpi_lshift
    - _gcry_mpi_release
    - rsa_check_keysize
    - mpi_set_ui
    - mpi_sub
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t generate_fips (RSA_secret_key *sk, unsigned int nbits,
      unsigned long use_e,\n               gcry_sexp_t testparms, int transient_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:715,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/rsa.c:716,1
    - Dst: mpi_set_highbit
      Src: /src/libgcrypt/cipher/rsa.c:725,1
    - Dst: mpi_set_bit
      Src: /src/libgcrypt/cipher/rsa.c:726,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/rsa.c:727,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/rsa.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 730
    functionName: gen_x931_parm_xp
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    - mpi_snew
    - mpi_set_highbit
    - _gcry_mpi_randomize
    - mpi_set_bit
    - mpi_get_nbits
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t gen_x931_parm_xp (unsigned int nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:739,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/rsa.c:740,1
    - Dst: mpi_set_highbit
      Src: /src/libgcrypt/cipher/rsa.c:741,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/rsa.c:742,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/rsa.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 745
    functionName: gen_x931_parm_xi
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    - mpi_snew
    - mpi_set_highbit
    - _gcry_mpi_randomize
    - mpi_get_nbits
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t gen_x931_parm_xi (void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gen_x931_parm_xp
      Src: /src/libgcrypt/cipher/rsa.c:806,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:808,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:811,1
    - Dst: gen_x931_parm_xp
      Src: /src/libgcrypt/cipher/rsa.c:812,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/rsa.c:813,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/rsa.c:815,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:816,1
    - Dst: gen_x931_parm_xi
      Src: /src/libgcrypt/cipher/rsa.c:818,1
    - Dst: gen_x931_parm_xi
      Src: /src/libgcrypt/cipher/rsa.c:819,1
    - Dst: gen_x931_parm_xi
      Src: /src/libgcrypt/cipher/rsa.c:820,1
    - Dst: gen_x931_parm_xi
      Src: /src/libgcrypt/cipher/rsa.c:821,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/rsa.c:851,1
    - Dst: sexp_nth_mpi
      Src: /src/libgcrypt/cipher/rsa.c:854,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:855,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:865,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/cipher/rsa.c:870,1
    - Dst: _gcry_derive_x931_prime
      Src: /src/libgcrypt/cipher/rsa.c:873,1
    - Dst: _gcry_derive_x931_prime
      Src: /src/libgcrypt/cipher/rsa.c:874,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:875,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:876,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:877,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:878,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:879,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:880,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:883,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:884,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:885,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:893,1
    - Dst: mpi_swap
      Src: /src/libgcrypt/cipher/rsa.c:895,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/rsa.c:898,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/rsa.c:899,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:902,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:903,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:904,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/rsa.c:905,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/rsa.c:906,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/rsa.c:907,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:909,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/rsa.c:910,1
    - Dst: mpi_gcd
      Src: /src/libgcrypt/cipher/rsa.c:910,1
    - Dst: mpi_gcd
      Src: /src/libgcrypt/cipher/rsa.c:913,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:915,1
    - Dst: mpi_fdiv_q
      Src: /src/libgcrypt/cipher/rsa.c:916,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:917,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/rsa.c:920,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/rsa.c:924,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/rsa.c:929,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:930,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:931,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:932,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:933,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:934,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:935,1
    - Dst: test_keys
      Src: /src/libgcrypt/cipher/rsa.c:947,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:949,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:950,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:951,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:952,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:953,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:954,1
    - Dst: fips_signal_error
      Src: /src/libgcrypt/cipher/rsa.c:955,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 131
    argCount: 5
    argNames:
    - sk
    - nbits
    - e_value
    - deriveparms
    - swapped
    argTypes:
    - RSA_secret_key*
    - unsigned int
    - unsigned long
    - gcry_sexp_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 753
    functionDepth: 4
    functionLinenumber: 753
    functionLinenumberEnd: 960
    functionName: generate_x931
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - log_mpidump
    - sexp_release
    - sexp_find_token
    - _gcry_derive_x931_prime
    - gcry_assert
    - mpi_gcd
    - mpi_cmp
    - mpi_mul
    - mpi_invm
    - mpi_alloc_set_ui
    - sexp_nth_mpi
    - test_keys
    - log_debug
    - mpi_sub_ui
    - mpi_snew
    - mpi_new
    - mpi_fdiv_q
    - gen_x931_parm_xi
    - mpi_get_nbits
    - _gcry_mpi_release
    - mpi_swap
    - gen_x931_parm_xp
    - fips_signal_error
    - mpi_sub
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t generate_x931 (RSA_secret_key *sk, unsigned int nbits,
      unsigned long e_value,\n               gcry_sexp_t deriveparms, int *swapped)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/rsa.c:974,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/rsa.c:974,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/rsa.c:976,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:977,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sk
    argTypes:
    - RSA_secret_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 980
    functionName: check_secret_key
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 1
    functionsReached:
    - mpi_free
    - mpi_cmp
    - mpi_mul
    - mpi_get_nlimbs
    - mpi_alloc
    linkageType: ''
    returnType: int
    signature: int check_secret_key( RSA_secret_key *sk )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/rsa.c:996,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/rsa.c:996,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/rsa.c:997,1
    - Dst: mpi_set
      Src: /src/libgcrypt/cipher/rsa.c:998,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:999,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/rsa.c:1002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - output
    - input
    - pkey
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - RSA_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1003
    functionName: public
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 2
    functionsReached:
    - mpi_free
    - mpi_set
    - mpi_get_nlimbs
    - mpi_alloc
    - mpi_powm
    linkageType: ''
    returnType: void
    signature: void public(gcry_mpi_t output, gcry_mpi_t input, RSA_public_key *pkey
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/cipher/rsa.c:1013,1
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/cipher/rsa.c:1014,1
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/cipher/rsa.c:1015,1
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/cipher/rsa.c:1016,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/rsa.c:1020,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:1021,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:1028,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/rsa.c:1035,1
    - Dst: mpi_fdiv_r
      Src: /src/libgcrypt/cipher/rsa.c:1036,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/rsa.c:1037,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/rsa.c:1042,1
    - Dst: mpi_fdiv_r
      Src: /src/libgcrypt/cipher/rsa.c:1043,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/rsa.c:1044,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/rsa.c:1051,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/rsa.c:1052,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/rsa.c:1053,1
    - Dst: _gcry_mpi_gcd
      Src: /src/libgcrypt/cipher/rsa.c:1054,1
    - Dst: mpi_fdiv_q
      Src: /src/libgcrypt/cipher/rsa.c:1055,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/rsa.c:1056,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:1057,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/rsa.c:1064,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:1065,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:1072,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:1073,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:1074,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:1075,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 1
    argNames:
    - skey
    argTypes:
    - RSA_secret_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1078
    functionName: check_secret_key
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 1
    functionsReached:
    - mpi_sub_ui
    - mpi_free
    - mpi_cmp
    - mpi_mul
    - mpi_invm
    - mpi_cmp_ui
    - mpi_alloc_secure
    - mpi_fdiv_r
    - _gcry_mpi_gcd
    - mpi_fdiv_q
    linkageType: ''
    returnType: int
    signature: int check_secret_key ( RSA_secret_key *skey )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/rsa.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - M
    - C
    - D
    - N
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1092
    functionName: secret_core_std
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - mpi_powm
    linkageType: ''
    returnType: void
    signature: "void secret_core_std (gcry_mpi_t M, gcry_mpi_t C,\n                 gcry_mpi_t
      D, gcry_mpi_t N)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/cipher/rsa.c:1107,1
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/cipher/rsa.c:1108,1
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/cipher/rsa.c:1109,1
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/cipher/rsa.c:1110,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/rsa.c:1114,1
    - Dst: mpi_secure_new
      Src: /src/libgcrypt/cipher/rsa.c:1117,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/rsa.c:1121,1
    - Dst: mpi_set_highbit
      Src: /src/libgcrypt/cipher/rsa.c:1122,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/rsa.c:1123,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/rsa.c:1124,1
    - Dst: mpi_fdiv_r
      Src: /src/libgcrypt/cipher/rsa.c:1125,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/rsa.c:1126,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/rsa.c:1127,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/rsa.c:1131,1
    - Dst: mpi_set_highbit
      Src: /src/libgcrypt/cipher/rsa.c:1132,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/rsa.c:1133,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/rsa.c:1134,1
    - Dst: mpi_fdiv_r
      Src: /src/libgcrypt/cipher/rsa.c:1135,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/rsa.c:1136,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/rsa.c:1137,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:1139,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:1140,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/rsa.c:1143,1
    - Dst: mpi_has_sign
      Src: /src/libgcrypt/cipher/rsa.c:1144,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/rsa.c:1145,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/rsa.c:1146,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/rsa.c:1149,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/rsa.c:1150,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:1152,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:1153,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:1154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 7
    argNames:
    - M
    - C
    - D
    - Nlimbs
    - P
    - Q
    - U
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned int
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1155
    functionName: secret_core_crt
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - mpi_add
    - mpi_sub_ui
    - mpi_free
    - mpi_sub
    - mpi_mul
    - mpi_mulm
    - mpi_has_sign
    - mpi_alloc_secure
    - mpi_set_highbit
    - _gcry_mpi_randomize
    - mpi_fdiv_r
    - mpi_powm
    - mpi_secure_new
    - mpi_get_nbits
    linkageType: ''
    returnType: void
    signature: "void secret_core_crt (gcry_mpi_t M, gcry_mpi_t C,\n                 gcry_mpi_t
      D, unsigned int Nlimbs,\n                 gcry_mpi_t P, gcry_mpi_t Q, gcry_mpi_t
      U)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_normalize
      Src: /src/libgcrypt/cipher/rsa.c:1166,1
    - Dst: secret_core_std
      Src: /src/libgcrypt/cipher/rsa.c:1170,1
    - Dst: secret_core_crt
      Src: /src/libgcrypt/cipher/rsa.c:1174,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/rsa.c:1174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - output
    - input
    - skey
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - RSA_secret_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1162
    functionDepth: 2
    functionLinenumber: 1162
    functionLinenumberEnd: 1177
    functionName: secret
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 4
    functionsReached:
    - secret_core_std
    - mpi_normalize
    - mpi_get_nlimbs
    - secret_core_crt
    linkageType: ''
    returnType: void
    signature: void secret (gcry_mpi_t output, gcry_mpi_t input, RSA_secret_key *skey
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:1193,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:1194,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:1195,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/rsa.c:1199,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/cipher/rsa.c:1200,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/rsa.c:1202,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/rsa.c:1207,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/rsa.c:1208,1
    - Dst: secret
      Src: /src/libgcrypt/cipher/rsa.c:1211,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1212,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/rsa.c:1217,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1219,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - output
    - input
    - sk
    - nbits
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - RSA_secret_key*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1180
    functionDepth: 3
    functionLinenumber: 1180
    functionLinenumberEnd: 1221
    functionName: secret_blinded
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - secret
    - _gcry_mpi_release
    - mpi_invm
    - mpi_mulm
    - mpi_mod
    - mpi_snew
    - _gcry_mpi_randomize
    - mpi_powm
    linkageType: ''
    returnType: void
    signature: "void secret_blinded (gcry_mpi_t output, gcry_mpi_t input,\n                RSA_secret_key
      *sk, unsigned int nbits)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/rsa.c:1241,1
    - Dst: _gcry_pk_util_get_nbits
      Src: /src/libgcrypt/cipher/rsa.c:1243,1
    - Dst: _gcry_pk_util_get_rsa_use_e
      Src: /src/libgcrypt/cipher/rsa.c:1247,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/rsa.c:1252,1
    - Dst: _gcry_pk_util_parse_flaglist
      Src: /src/libgcrypt/cipher/rsa.c:1255,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:1256,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/rsa.c:1262,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/rsa.c:1266,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:1270,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/rsa.c:1277,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:1279,1
    - Dst: generate_x931
      Src: /src/libgcrypt/cipher/rsa.c:1282,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:1283,1
    - Dst: sexp_new
      Src: /src/libgcrypt/cipher/rsa.c:1285,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/rsa.c:1292,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:1296,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/rsa.c:1299,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/rsa.c:1305,1
    - Dst: generate_fips
      Src: /src/libgcrypt/cipher/rsa.c:1307,1
    - Dst: generate_std
      Src: /src/libgcrypt/cipher/rsa.c:1312,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:1315,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/rsa.c:1320,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:1332,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:1333,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:1334,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:1335,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:1336,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:1337,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:1338,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/rsa.c:1340,1
    - Dst: test_keys_fips
      Src: /src/libgcrypt/cipher/rsa.c:1340,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:1342,1
    - Dst: fips_signal_error
      Src: /src/libgcrypt/cipher/rsa.c:1343,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 2
    argNames:
    - genparms
    - r_skey
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1228
    functionDepth: 5
    functionLinenumber: 1228
    functionLinenumberEnd: 1348
    functionName: rsa_generate
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - mpi_free
    - test_keys_fips
    - generate_fips
    - sexp_release
    - sexp_new
    - _gcry_pk_util_get_rsa_use_e
    - sexp_build
    - fips_mode
    - generate_std
    - sexp_find_token
    - memset
    - fips_signal_error
    - _gcry_pk_util_parse_flaglist
    - generate_x931
    - _gcry_pk_util_get_nbits
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t rsa_generate (const gcry_sexp_t genparms, gcry_sexp_t
      *r_skey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/rsa.c:1358,1
    - Dst: check_secret_key
      Src: /src/libgcrypt/cipher/rsa.c:1364,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1368,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1369,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1370,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1371,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1372,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1373,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/rsa.c:1375,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/rsa.c:1375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - keyparms
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1377
    functionName: rsa_check_secret_key
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_release
    - gpg_strerror
    - check_secret_key
    - sexp_extract_param
    - log_debug
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t rsa_check_secret_key (gcry_sexp_t keyparms)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rsa_get_nbits
      Src: /src/libgcrypt/cipher/rsa.c:1388,1
    - Dst: rsa_check_keysize
      Src: /src/libgcrypt/cipher/rsa.c:1390,1
    - Dst: _gcry_pk_util_init_encoding_ctx
      Src: /src/libgcrypt/cipher/rsa.c:1394,1
    - Dst: _gcry_pk_util_data_to_mpi
      Src: /src/libgcrypt/cipher/rsa.c:1397,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:1401,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/rsa.c:1402,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/rsa.c:1409,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:1414,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:1415,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/rsa.c:1419,1
    - Dst: public
      Src: /src/libgcrypt/cipher/rsa.c:1420,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa.c:1422,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/rsa.c:1428,1
    - Dst: _gcry_mpi_to_octet_string
      Src: /src/libgcrypt/cipher/rsa.c:1430,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/rsa.c:1433,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa.c:1434,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/rsa.c:1438,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1441,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1442,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1443,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1444,1
    - Dst: _gcry_pk_util_free_encoding_ctx
      Src: /src/libgcrypt/cipher/rsa.c:1445,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/rsa.c:1447,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/rsa.c:1447,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - r_ciph
    - s_data
    - keyparms
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1380
    functionDepth: 2
    functionLinenumber: 1380
    functionLinenumberEnd: 1449
    functionName: rsa_encrypt
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_to_octet_string
    - log_mpidump
    - rsa_check_keysize
    - _gcry_pk_util_data_to_mpi
    - public
    - mpi_get_nbits
    - sexp_build
    - _gcry_mpi_release
    - _gcry_pk_util_free_encoding_ctx
    - rsa_get_nbits
    - mpi_new
    - xfree
    - log_debug
    - gpg_strerror
    - sexp_extract_param
    - mpi_is_opaque
    - _gcry_pk_util_init_encoding_ctx
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t rsa_encrypt (gcry_sexp_t *r_ciph, gcry_sexp_t s_data,
      gcry_sexp_t keyparms)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: rsa_get_nbits
      Src: /src/libgcrypt/cipher/rsa.c:1464,1
    - Dst: rsa_check_keysize
      Src: /src/libgcrypt/cipher/rsa.c:1468,1
    - Dst: _gcry_pk_util_init_encoding_ctx
      Src: /src/libgcrypt/cipher/rsa.c:1472,1
    - Dst: _gcry_pk_util_preparse_encval
      Src: /src/libgcrypt/cipher/rsa.c:1475,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/rsa.c:1478,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1482,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/rsa.c:1483,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/rsa.c:1490,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1497,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1498,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/rsa.c:1499,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1501,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1502,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1503,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1504,1
    - Dst: mpi_normalize
      Src: /src/libgcrypt/cipher/rsa.c:1511,1
    - Dst: mpi_fdiv_r
      Src: /src/libgcrypt/cipher/rsa.c:1512,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/rsa.c:1515,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/rsa.c:1522,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/rsa.c:1524,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/rsa.c:1530,1
    - Dst: secret
      Src: /src/libgcrypt/cipher/rsa.c:1532,1
    - Dst: secret_blinded
      Src: /src/libgcrypt/cipher/rsa.c:1535,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1538,1
    - Dst: _gcry_rsa_pkcs1_decode_for_enc
      Src: /src/libgcrypt/cipher/rsa.c:1544,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:1545,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/rsa.c:1547,1
    - Dst: sexp_null_cond
      Src: /src/libgcrypt/cipher/rsa.c:1548,1
    - Dst: ct_is_not_zero
      Src: /src/libgcrypt/cipher/rsa.c:1548,1
    - Dst: sexp_null_cond
      Src: /src/libgcrypt/cipher/rsa.c:1549,1
    - Dst: ct_is_zero
      Src: /src/libgcrypt/cipher/rsa.c:1549,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:1550,1
    - Dst: ct_ulong_select
      Src: /src/libgcrypt/cipher/rsa.c:1551,1
    - Dst: ct_is_zero
      Src: /src/libgcrypt/cipher/rsa.c:1552,1
    - Dst: ct_is_not_zero
      Src: /src/libgcrypt/cipher/rsa.c:1552,1
    - Dst: _gcry_rsa_oaep_decode
      Src: /src/libgcrypt/cipher/rsa.c:1556,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/rsa.c:1559,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/rsa.c:1561,1
    - Dst: sexp_null_cond
      Src: /src/libgcrypt/cipher/rsa.c:1562,1
    - Dst: ct_is_not_zero
      Src: /src/libgcrypt/cipher/rsa.c:1562,1
    - Dst: sexp_null_cond
      Src: /src/libgcrypt/cipher/rsa.c:1563,1
    - Dst: ct_is_zero
      Src: /src/libgcrypt/cipher/rsa.c:1563,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:1564,1
    - Dst: ct_ulong_select
      Src: /src/libgcrypt/cipher/rsa.c:1565,1
    - Dst: ct_is_zero
      Src: /src/libgcrypt/cipher/rsa.c:1566,1
    - Dst: ct_is_not_zero
      Src: /src/libgcrypt/cipher/rsa.c:1566,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/rsa.c:1572,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa.c:1579,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1580,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1581,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1582,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1583,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1584,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1585,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1586,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1587,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:1588,1
    - Dst: _gcry_pk_util_free_encoding_ctx
      Src: /src/libgcrypt/cipher/rsa.c:1589,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/rsa.c:1591,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/rsa.c:1591,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 92
    argCount: 3
    argNames:
    - r_plain
    - s_data
    - keyparms
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1452
    functionDepth: 4
    functionLinenumber: 1452
    functionLinenumberEnd: 1593
    functionName: rsa_decrypt
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 1
    functionsReached:
    - fips_check_rejection
    - _gcry_rsa_oaep_decode
    - secret
    - mpi_free
    - ct_ulong_select
    - sexp_build
    - sexp_release
    - rsa_get_nbits
    - _gcry_pk_util_preparse_encval
    - fips_service_indicator_mark_non_compliant
    - _gcry_rsa_pkcs1_decode_for_enc
    - ct_is_zero
    - log_printmpi
    - ct_is_not_zero
    - mpi_fdiv_r
    - log_debug
    - _gcry_pk_util_free_encoding_ctx
    - mpi_normalize
    - fips_mode
    - mpi_snew
    - xfree
    - gpg_strerror
    - _gcry_pk_util_init_encoding_ctx
    - sexp_null_cond
    - rsa_check_keysize
    - secret_blinded
    - _gcry_mpi_release
    - sexp_extract_param
    - mpi_is_opaque
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t rsa_decrypt (gcry_sexp_t *r_plain, gcry_sexp_t s_data,
      gcry_sexp_t keyparms)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: rsa_get_nbits
      Src: /src/libgcrypt/cipher/rsa.c:1606,1
    - Dst: rsa_check_keysize
      Src: /src/libgcrypt/cipher/rsa.c:1608,1
    - Dst: _gcry_pk_util_init_encoding_ctx
      Src: /src/libgcrypt/cipher/rsa.c:1612,1
    - Dst: _gcry_pk_util_data_to_mpi
      Src: /src/libgcrypt/cipher/rsa.c:1615,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1619,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/rsa.c:1620,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/rsa.c:1627,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1634,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1635,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/rsa.c:1636,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1638,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1639,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1640,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1641,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/rsa.c:1646,1
    - Dst: _gcry_md_algo_info
      Src: /src/libgcrypt/cipher/rsa.c:1649,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/rsa.c:1652,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/rsa.c:1658,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/rsa.c:1663,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/rsa.c:1667,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/rsa.c:1669,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/rsa.c:1675,1
    - Dst: secret
      Src: /src/libgcrypt/cipher/rsa.c:1678,1
    - Dst: secret_blinded
      Src: /src/libgcrypt/cipher/rsa.c:1681,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1683,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/rsa.c:1687,1
    - Dst: public
      Src: /src/libgcrypt/cipher/rsa.c:1690,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:1691,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/rsa.c:1703,1
    - Dst: _gcry_mpi_to_octet_string
      Src: /src/libgcrypt/cipher/rsa.c:1705,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/rsa.c:1708,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa.c:1709,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/rsa.c:1713,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1717,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1718,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1719,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1720,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1721,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1722,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1723,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1724,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1725,1
    - Dst: _gcry_pk_util_free_encoding_ctx
      Src: /src/libgcrypt/cipher/rsa.c:1726,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/rsa.c:1728,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/rsa.c:1728,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 87
    argCount: 3
    argNames:
    - r_sig
    - s_data
    - keyparms
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1596
    functionDepth: 4
    functionLinenumber: 1596
    functionLinenumberEnd: 1730
    functionName: rsa_sign
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 1
    functionsReached:
    - fips_check_rejection
    - secret
    - _gcry_mpi_to_octet_string
    - public
    - sexp_build
    - rsa_get_nbits
    - fips_service_indicator_mark_non_compliant
    - _gcry_pk_util_data_to_mpi
    - mpi_cmp
    - log_printmpi
    - log_debug
    - _gcry_pk_util_free_encoding_ctx
    - fips_mode
    - mpi_new
    - xfree
    - gpg_strerror
    - _gcry_md_algo_info
    - mpi_get_nbits
    - _gcry_pk_util_init_encoding_ctx
    - rsa_check_keysize
    - secret_blinded
    - _gcry_mpi_release
    - sexp_extract_param
    - mpi_is_opaque
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t rsa_sign (gcry_sexp_t *r_sig, gcry_sexp_t s_data, gcry_sexp_t
      keyparms)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: rsa_get_nbits
      Src: /src/libgcrypt/cipher/rsa.c:1743,1
    - Dst: rsa_check_verify_keysize
      Src: /src/libgcrypt/cipher/rsa.c:1745,1
    - Dst: _gcry_pk_util_init_encoding_ctx
      Src: /src/libgcrypt/cipher/rsa.c:1749,1
    - Dst: _gcry_pk_util_data_to_mpi
      Src: /src/libgcrypt/cipher/rsa.c:1752,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1756,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/rsa.c:1757,1
    - Dst: _gcry_pk_util_preparse_sigval
      Src: /src/libgcrypt/cipher/rsa.c:1764,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/rsa.c:1767,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1771,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/rsa.c:1779,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1784,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1785,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:1787,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/rsa.c:1794,1
    - Dst: _gcry_md_algo_info
      Src: /src/libgcrypt/cipher/rsa.c:1797,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/rsa.c:1800,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/rsa.c:1806,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/rsa.c:1811,1
    - Dst: public
      Src: /src/libgcrypt/cipher/rsa.c:1812,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/rsa.c:1814,1
    - Dst: struct pk_encoding_ctx::verify_cmp
      Src: /src/libgcrypt/cipher/rsa.c:1816,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:1818,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1821,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1822,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1823,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1824,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1825,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:1826,1
    - Dst: _gcry_pk_util_free_encoding_ctx
      Src: /src/libgcrypt/cipher/rsa.c:1827,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/rsa.c:1829,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/rsa.c:1829,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 73
    argCount: 3
    argNames:
    - s_sig
    - s_data
    - keyparms
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1733
    functionDepth: 2
    functionLinenumber: 1733
    functionLinenumberEnd: 1831
    functionName: rsa_verify
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 1
    functionsReached:
    - fips_check_rejection
    - public
    - sexp_release
    - rsa_get_nbits
    - fips_service_indicator_mark_non_compliant
    - _gcry_pk_util_data_to_mpi
    - mpi_cmp
    - _gcry_pk_util_preparse_sigval
    - log_printmpi
    - log_debug
    - _gcry_pk_util_free_encoding_ctx
    - fips_mode
    - mpi_new
    - gpg_strerror
    - struct pk_encoding_ctx::verify_cmp
    - _gcry_md_algo_info
    - _gcry_pk_util_init_encoding_ctx
    - _gcry_mpi_release
    - sexp_extract_param
    - rsa_check_verify_keysize
    - mpi_is_opaque
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t rsa_verify (gcry_sexp_t s_sig, gcry_sexp_t s_data,
      gcry_sexp_t keyparms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/rsa.c:1852,1
    - Dst: sexp_nth_mpi
      Src: /src/libgcrypt/cipher/rsa.c:1856,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:1857,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/rsa.c:1858,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - parms
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1845
    functionDepth: 1
    functionLinenumber: 1845
    functionLinenumberEnd: 1861
    functionName: rsa_get_nbits
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 4
    functionsReached:
    - _gcry_mpi_release
    - sexp_release
    - sexp_nth_mpi
    - sexp_find_token
    - mpi_get_nbits
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rsa_get_nbits (gcry_sexp_t parms)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/rsa.c:1884,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/rsa.c:1888,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:1891,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/rsa.c:1895,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:1896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - md
    - keyparam
    argTypes:
    - gcry_md_hd_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1877
    functionDepth: 1
    functionLinenumber: 1877
    functionLinenumberEnd: 1899
    functionName: compute_keygrip
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - _gcry_md_write
    - sexp_nth_data
    - sexp_find_token
    - sexp_release
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t compute_keygrip (gcry_md_hd_t md, gcry_sexp_t keyparam)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/rsa.c:1937,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/rsa.c:1944,1
    - Dst: _gcry_pk_sign_md
      Src: /src/libgcrypt/cipher/rsa.c:1946,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/rsa.c:1953,1
    - Dst: _gcry_sexp_extract_param
      Src: /src/libgcrypt/cipher/rsa.c:1960,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:1967,1
    - Dst: _gcry_pk_verify_md
      Src: /src/libgcrypt/cipher/rsa.c:1973,1
    - Dst: _gcry_md_reset
      Src: /src/libgcrypt/cipher/rsa.c:1980,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/rsa.c:1981,1
    - Dst: _gcry_pk_verify_md
      Src: /src/libgcrypt/cipher/rsa.c:1982,1
    - Dst: gcry_err_code
      Src: /src/libgcrypt/cipher/rsa.c:1983,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:1991,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/rsa.c:1992,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1993,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:1994,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 2
    argNames:
    - pkey
    - skey
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1908
    functionDepth: 5
    functionLinenumber: 1908
    functionLinenumberEnd: 1996
    functionName: selftest_hash_sign_2048
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - _gcry_md_reset
    - _gcry_mpi_release
    - mpi_cmp
    - gcry_err_code
    - _gcry_pk_sign_md
    - sexp_release
    - _gcry_md_close
    - _gcry_md_write
    - _gcry_mpi_scan
    - _gcry_pk_verify_md
    - _gcry_sexp_extract_param
    - _gcry_md_open_internal
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest_hash_sign_2048 (gcry_sexp_t pkey, gcry_sexp_t skey)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sexp_sscan
      Src: /src/libgcrypt/cipher/rsa.c:2028,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/rsa.c:2028,1
    - Dst: sexp_sscan
      Src: /src/libgcrypt/cipher/rsa.c:2030,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/rsa.c:2031,1
    - Dst: _gcry_pk_sign
      Src: /src/libgcrypt/cipher/rsa.c:2038,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/rsa.c:2045,1
    - Dst: _gcry_sexp_extract_param
      Src: /src/libgcrypt/cipher/rsa.c:2052,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:2059,1
    - Dst: _gcry_pk_verify
      Src: /src/libgcrypt/cipher/rsa.c:2065,1
    - Dst: _gcry_pk_verify
      Src: /src/libgcrypt/cipher/rsa.c:2071,1
    - Dst: gcry_err_code
      Src: /src/libgcrypt/cipher/rsa.c:2072,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:2080,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:2081,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:2082,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:2083,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:2084,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - pkey
    - skey
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 1998
    functionDepth: 5
    functionLinenumber: 1998
    functionLinenumberEnd: 2086
    functionName: selftest_sign_2048
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - _gcry_pk_sign
    - strlen
    - mpi_cmp
    - _gcry_pk_verify
    - gcry_err_code
    - sexp_release
    - _gcry_mpi_release
    - _gcry_mpi_scan
    - sexp_sscan
    - _gcry_sexp_extract_param
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest_sign_2048 (gcry_sexp_t pkey, gcry_sexp_t skey)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/rsa.c:2104,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/rsa.c:2107,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:2108,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/rsa.c:2111,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:2112,1
    - Dst: sexp_nth_mpi
      Src: /src/libgcrypt/cipher/rsa.c:2115,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:2116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - encr_data
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2098
    functionDepth: 1
    functionLinenumber: 2098
    functionLinenumberEnd: 2119
    functionName: extract_a_from_sexp
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - sexp_find_token
    - sexp_nth_mpi
    - sexp_release
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t extract_a_from_sexp (gcry_sexp_t encr_data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/rsa.c:2149,1
    - Dst: _gcry_pk_encrypt
      Src: /src/libgcrypt/cipher/rsa.c:2157,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/rsa.c:2164,1
    - Dst: extract_a_from_sexp
      Src: /src/libgcrypt/cipher/rsa.c:2173,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/rsa.c:2183,1
    - Dst: _gcry_pk_decrypt
      Src: /src/libgcrypt/cipher/rsa.c:2190,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/rsa.c:2203,1
    - Dst: sexp_nth_string
      Src: /src/libgcrypt/cipher/rsa.c:2205,1
    - Dst: sexp_nth_string
      Src: /src/libgcrypt/cipher/rsa.c:2207,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/rsa.c:2215,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:2222,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa.c:2223,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:2224,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:2225,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/rsa.c:2226,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:2227,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:2228,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - pkey
    - skey
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2122
    functionDepth: 2
    functionLinenumber: 2122
    functionLinenumberEnd: 2230
    functionName: selftest_encr_2048
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_release
    - mpi_cmp
    - _gcry_pk_encrypt
    - sexp_build
    - sexp_release
    - sexp_nth_string
    - _gcry_pk_decrypt
    - strcmp
    - sexp_find_token
    - xfree
    - extract_a_from_sexp
    - _gcry_mpi_scan
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest_encr_2048 (gcry_sexp_t pkey, gcry_sexp_t skey)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sexp_sscan
      Src: /src/libgcrypt/cipher/rsa.c:2244,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/rsa.c:2244,1
    - Dst: sexp_sscan
      Src: /src/libgcrypt/cipher/rsa.c:2246,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/rsa.c:2247,1
    - Dst: _gcry_strerror
      Src: /src/libgcrypt/cipher/rsa.c:2250,1
    - Dst: _gcry_pk_testkey
      Src: /src/libgcrypt/cipher/rsa.c:2255,1
    - Dst: _gcry_strerror
      Src: /src/libgcrypt/cipher/rsa.c:2258,1
    - Dst: selftest_sign_2048
      Src: /src/libgcrypt/cipher/rsa.c:2265,1
    - Dst: selftest_hash_sign_2048
      Src: /src/libgcrypt/cipher/rsa.c:2271,1
    - Dst: selftest_encr_2048
      Src: /src/libgcrypt/cipher/rsa.c:2278,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:2283,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:2284,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:2288,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/rsa.c:2289,1
    - Dst: report
      Src: /src/libgcrypt/cipher/rsa.c:2291,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 2
    argNames:
    - report
    - extended
    argTypes:
    - selftest_report_func_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2233
    functionDepth: 6
    functionLinenumber: 2233
    functionLinenumberEnd: 2293
    functionName: selftests_rsa
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 0
    functionsReached:
    - _gcry_strerror
    - _gcry_pk_testkey
    - strlen
    - selftest_hash_sign_2048
    - selftest_sign_2048
    - sexp_release
    - report
    - sexp_sscan
    - selftest_encr_2048
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_rsa (selftest_report_func_t report, int extended)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: selftests_rsa
      Src: /src/libgcrypt/cipher/rsa.c:2305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2313
      start: 2297
    functionDepth: 7
    functionLinenumber: 2297
    functionLinenumberEnd: 2313
    functionName: run_selftests
    functionSourceFile: /src/libgcrypt/cipher/rsa.c
    functionUses: 4
    functionsReached:
    - selftests_rsa
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t run_selftests (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: memory_barrier_with_vec
    functionSourceFile: /src/libgcrypt/cipher/simd-common-riscv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memory_barrier_with_vec(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: clear_vec_regs
    functionSourceFile: /src/libgcrypt/cipher/simd-common-riscv.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clear_vec_regs()
  - 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: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: int32_MINMAX
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: int32_MINMAX(a,b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: int32_MINMAX
      Src: /src/libgcrypt/cipher/sntrup761.c:71,1
    - Dst: int32_MINMAX
      Src: /src/libgcrypt/cipher/sntrup761.c:75,1
    - Dst: int32_MINMAX
      Src: /src/libgcrypt/cipher/sntrup761.c:90,1
    - Dst: int32_MINMAX
      Src: /src/libgcrypt/cipher/sntrup761.c:105,1
    - Dst: int32_MINMAX
      Src: /src/libgcrypt/cipher/sntrup761.c:116,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - array
    - n
    argTypes:
    - void*
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 124
    functionName: crypto_sort_int32
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - int32_MINMAX
    linkageType: ''
    returnType: void
    signature: void crypto_sort_int32 (void *array, long long n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_sort_int32
      Src: /src/libgcrypt/cipher/sntrup761.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - array
    - n
    argTypes:
    - void*
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: crypto_sort_uint32
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - crypto_sort_int32
    linkageType: ''
    returnType: void
    signature: void crypto_sort_uint32 (void *array, long long n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_ulong_gen_mask
      Src: /src/libgcrypt/cipher/sntrup761.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 4
    argNames:
    - q
    - r
    - x
    - m
    argTypes:
    - uint32_t*
    - uint16_t*
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 200
    functionName: uint32_divmod_uint14
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - ct_ulong_gen_mask
    linkageType: ''
    returnType: void
    signature: void uint32_divmod_uint14 (uint32_t * q, uint16_t * r, uint32_t x,
      uint16_t m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint32_divmod_uint14
      Src: /src/libgcrypt/cipher/sntrup761.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - m
    argTypes:
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: uint32_mod_uint14
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - uint32_divmod_uint14
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t uint32_mod_uint14 (uint32_t x, uint16_t m)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: uint32_mod_uint14
      Src: /src/libgcrypt/cipher/sntrup761.c:236,1
    - Dst: uint32_mod_uint14
      Src: /src/libgcrypt/cipher/sntrup761.c:238,1
    - Dst: Decode
      Src: /src/libgcrypt/cipher/sntrup761.c:273,1
    - Dst: uint32_divmod_uint14
      Src: /src/libgcrypt/cipher/sntrup761.c:280,1
    - Dst: uint32_mod_uint14
      Src: /src/libgcrypt/cipher/sntrup761.c:281,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - out
    - S
    - M
    - len
    argTypes:
    - uint16_t*
    - unsigned char*
    - uint16_t*
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 288
    functionName: Decode
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 2
    functionsReached:
    - uint32_divmod_uint14
    - Decode
    - uint32_mod_uint14
    linkageType: ''
    returnType: void
    signature: "void Decode (uint16_t * out, const unsigned char *S, const uint16_t
      * M,\n\tlong long len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Encode
      Src: /src/libgcrypt/cipher/sntrup761.c:337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - out
    - R
    - M
    - len
    argTypes:
    - unsigned char*
    - uint16_t*
    - uint16_t*
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 339
    functionName: Encode
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 1
    functionsReached:
    - Encode
    linkageType: ''
    returnType: void
    signature: "void Encode (unsigned char *out, const uint16_t * R, const uint16_t
      * M,\n\tlong long len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_ulong_gen_mask
      Src: /src/libgcrypt/cipher/sntrup761.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 354
    functionName: int16_t_nonzero_mask
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - ct_ulong_gen_mask
    linkageType: ''
    returnType: int
    signature: int int16_t_nonzero_mask (int16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_ulong_gen_mask
      Src: /src/libgcrypt/cipher/sntrup761.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: int16_t_negative_mask
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - ct_ulong_gen_mask
    linkageType: ''
    returnType: int
    signature: int int16_t_negative_mask (int16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 386
    functionName: F3_freeze
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: small
    signature: small F3_freeze (int16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 410
    functionName: Fq_freeze
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Fq
    signature: Fq Fq_freeze (int32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Fq_freeze
      Src: /src/libgcrypt/cipher/sntrup761.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a1
    argTypes:
    - Fq
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 424
    functionName: Fq_recip
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - Fq_freeze
    linkageType: ''
    returnType: Fq
    signature: Fq Fq_recip (Fq a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int16_t_nonzero_mask
      Src: /src/libgcrypt/cipher/sntrup761.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - small*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 438
    functionName: Weightw_mask
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - int16_t_nonzero_mask
    linkageType: ''
    returnType: int
    signature: int Weightw_mask (small * r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F3_freeze
      Src: /src/libgcrypt/cipher/sntrup761.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - out
    - r
    argTypes:
    - small*
    - Fq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 447
    functionName: R3_fromRq
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - F3_freeze
    linkageType: ''
    returnType: void
    signature: void R3_fromRq (small * out, const Fq * r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F3_freeze
      Src: /src/libgcrypt/cipher/sntrup761.c:464,1
    - Dst: F3_freeze
      Src: /src/libgcrypt/cipher/sntrup761.c:471,1
    - Dst: F3_freeze
      Src: /src/libgcrypt/cipher/sntrup761.c:476,1
    - Dst: F3_freeze
      Src: /src/libgcrypt/cipher/sntrup761.c:477,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - h
    - f
    - g
    argTypes:
    - small*
    - small*
    - small*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 482
    functionName: R3_mult
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 1
    functionsReached:
    - F3_freeze
    linkageType: ''
    returnType: void
    signature: void R3_mult (small * h, const small * f, const small * g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int16_t_negative_mask
      Src: /src/libgcrypt/cipher/sntrup761.c:514,1
    - Dst: int16_t_nonzero_mask
      Src: /src/libgcrypt/cipher/sntrup761.c:514,1
    - Dst: F3_freeze
      Src: /src/libgcrypt/cipher/sntrup761.c:529,1
    - Dst: F3_freeze
      Src: /src/libgcrypt/cipher/sntrup761.c:531,1
    - Dst: int16_t_nonzero_mask
      Src: /src/libgcrypt/cipher/sntrup761.c:542,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - small*
    - small*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 543
    functionName: R3_recip
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - int16_t_negative_mask
    - int16_t_nonzero_mask
    - F3_freeze
    linkageType: ''
    returnType: int
    signature: int R3_recip (small * out, const small * in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Fq_freeze
      Src: /src/libgcrypt/cipher/sntrup761.c:562,1
    - Dst: Fq_freeze
      Src: /src/libgcrypt/cipher/sntrup761.c:569,1
    - Dst: Fq_freeze
      Src: /src/libgcrypt/cipher/sntrup761.c:574,1
    - Dst: Fq_freeze
      Src: /src/libgcrypt/cipher/sntrup761.c:575,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - h
    - f
    - g
    argTypes:
    - Fq*
    - Fq*
    - small*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 580
    functionName: Rq_mult_small
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 1
    functionsReached:
    - Fq_freeze
    linkageType: ''
    returnType: void
    signature: void Rq_mult_small (Fq * h, const Fq * f, const small * g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Fq_freeze
      Src: /src/libgcrypt/cipher/sntrup761.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - Fq*
    - Fq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 590
    functionName: Rq_mult3
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - Fq_freeze
    linkageType: ''
    returnType: void
    signature: void Rq_mult3 (Fq * h, const Fq * f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Fq_recip
      Src: /src/libgcrypt/cipher/sntrup761.c:607,1
    - Dst: int16_t_negative_mask
      Src: /src/libgcrypt/cipher/sntrup761.c:624,1
    - Dst: int16_t_nonzero_mask
      Src: /src/libgcrypt/cipher/sntrup761.c:624,1
    - Dst: Fq_freeze
      Src: /src/libgcrypt/cipher/sntrup761.c:641,1
    - Dst: Fq_freeze
      Src: /src/libgcrypt/cipher/sntrup761.c:643,1
    - Dst: Fq_recip
      Src: /src/libgcrypt/cipher/sntrup761.c:650,1
    - Dst: Fq_freeze
      Src: /src/libgcrypt/cipher/sntrup761.c:652,1
    - Dst: int16_t_nonzero_mask
      Src: /src/libgcrypt/cipher/sntrup761.c:654,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - Fq*
    - small*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 655
    functionName: Rq_recip3
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - int16_t_negative_mask
    - Fq_freeze
    - int16_t_nonzero_mask
    - Fq_recip
    linkageType: ''
    returnType: int
    signature: int Rq_recip3 (Fq * out, const small * in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F3_freeze
      Src: /src/libgcrypt/cipher/sntrup761.c:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - Fq*
    - Fq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 665
    functionName: Round
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - F3_freeze
    linkageType: ''
    returnType: void
    signature: void Round (Fq * out, const Fq * a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_sort_uint32
      Src: /src/libgcrypt/cipher/sntrup761.c:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - small*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 682
    functionName: Short_fromlist
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - crypto_sort_uint32
    linkageType: ''
    returnType: void
    signature: void Short_fromlist (small * out, const uint32_t * in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_hash_sha512
      Src: /src/libgcrypt/cipher/sntrup761.c:699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - out
    - b
    - in
    - inlen
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 702
    functionName: Hash_prefix
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - crypto_hash_sha512
    linkageType: ''
    returnType: void
    signature: void Hash_prefix (unsigned char *out, int b, const unsigned char *in,
      int inlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/libgcrypt/cipher/sntrup761.c:712,1
    - Dst: le_bswap32
      Src: /src/libgcrypt/cipher/sntrup761.c:714,1
    - Dst: Short_fromlist
      Src: /src/libgcrypt/cipher/sntrup761.c:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - out
    - random_ctx
    - random
    argTypes:
    - small*
    - void*
    - sntrup761_random_func*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 706
    functionDepth: 3
    functionLinenumber: 706
    functionLinenumberEnd: 716
    functionName: Short_random
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - le_bswap32
    - Short_fromlist
    - random
    linkageType: ''
    returnType: void
    signature: void Short_random (small * out, void *random_ctx, sntrup761_random_func
      * random)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/libgcrypt/cipher/sntrup761.c:724,1
    - Dst: le_bswap32
      Src: /src/libgcrypt/cipher/sntrup761.c:726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - random_ctx
    - random
    argTypes:
    - small*
    - void*
    - sntrup761_random_func*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 727
    functionName: Small_random
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - le_bswap32
    - random
    linkageType: ''
    returnType: void
    signature: void Small_random (small * out, void *random_ctx, sntrup761_random_func
      * random)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Small_random
      Src: /src/libgcrypt/cipher/sntrup761.c:741,1
    - Dst: R3_recip
      Src: /src/libgcrypt/cipher/sntrup761.c:742,1
    - Dst: Short_random
      Src: /src/libgcrypt/cipher/sntrup761.c:745,1
    - Dst: Rq_recip3
      Src: /src/libgcrypt/cipher/sntrup761.c:746,1
    - Dst: Rq_mult_small
      Src: /src/libgcrypt/cipher/sntrup761.c:747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - h
    - f
    - ginv
    - random_ctx
    - random
    argTypes:
    - Fq*
    - small*
    - small*
    - void*
    - sntrup761_random_func*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 732
    functionDepth: 4
    functionLinenumber: 732
    functionLinenumberEnd: 748
    functionName: KeyGen
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - Rq_recip3
    - Rq_mult_small
    - R3_recip
    - Small_random
    - Short_random
    linkageType: ''
    returnType: void
    signature: "void KeyGen (Fq * h, small * f, small * ginv, void *random_ctx,\n\tsntrup761_random_func
      * random)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Rq_mult_small
      Src: /src/libgcrypt/cipher/sntrup761.c:756,1
    - Dst: Round
      Src: /src/libgcrypt/cipher/sntrup761.c:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - r
    - h
    argTypes:
    - Fq*
    - small*
    - Fq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 758
    functionName: Encrypt
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - Round
    - Rq_mult_small
    linkageType: ''
    returnType: void
    signature: void Encrypt (Fq * c, const small * r, const Fq * h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Rq_mult_small
      Src: /src/libgcrypt/cipher/sntrup761.c:771,1
    - Dst: Rq_mult3
      Src: /src/libgcrypt/cipher/sntrup761.c:772,1
    - Dst: R3_fromRq
      Src: /src/libgcrypt/cipher/sntrup761.c:773,1
    - Dst: R3_mult
      Src: /src/libgcrypt/cipher/sntrup761.c:774,1
    - Dst: Weightw_mask
      Src: /src/libgcrypt/cipher/sntrup761.c:776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - r
    - c
    - f
    - ginv
    argTypes:
    - small*
    - Fq*
    - small*
    - small*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 761
    functionDepth: 2
    functionLinenumber: 761
    functionLinenumberEnd: 781
    functionName: Decrypt
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 2
    functionsReached:
    - Weightw_mask
    - Rq_mult_small
    - Rq_mult3
    - R3_mult
    - R3_fromRq
    linkageType: ''
    returnType: void
    signature: void Decrypt (small * r, const Fq * c, const small * f, const small
      * ginv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - s
    - f
    argTypes:
    - unsigned char*
    - small*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 805
    functionName: Small_encode
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Small_encode (unsigned char *s, const small * f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - f
    - s
    argTypes:
    - small*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 826
    functionName: Small_decode
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Small_decode (small * f, const unsigned char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Encode
      Src: /src/libgcrypt/cipher/sntrup761.c:840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - r
    argTypes:
    - unsigned char*
    - Fq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 830
    functionDepth: 2
    functionLinenumber: 830
    functionLinenumberEnd: 841
    functionName: Rq_encode
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - Encode
    linkageType: ''
    returnType: void
    signature: void Rq_encode (unsigned char *s, const Fq * r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Decode
      Src: /src/libgcrypt/cipher/sntrup761.c:851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - Fq*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 843
    functionDepth: 3
    functionLinenumber: 843
    functionLinenumberEnd: 854
    functionName: Rq_decode
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - Decode
    linkageType: ''
    returnType: void
    signature: void Rq_decode (Fq * r, const unsigned char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Encode
      Src: /src/libgcrypt/cipher/sntrup761.c:868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - r
    argTypes:
    - unsigned char*
    - Fq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 869
    functionName: Rounded_encode
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - Encode
    linkageType: ''
    returnType: void
    signature: void Rounded_encode (unsigned char *s, const Fq * r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Decode
      Src: /src/libgcrypt/cipher/sntrup761.c:879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - Fq*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 871
    functionDepth: 3
    functionLinenumber: 871
    functionLinenumberEnd: 882
    functionName: Rounded_decode
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - Decode
    linkageType: ''
    returnType: void
    signature: void Rounded_decode (Fq * r, const unsigned char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyGen
      Src: /src/libgcrypt/cipher/sntrup761.c:903,1
    - Dst: Rq_encode
      Src: /src/libgcrypt/cipher/sntrup761.c:904,1
    - Dst: Small_encode
      Src: /src/libgcrypt/cipher/sntrup761.c:905,1
    - Dst: Small_encode
      Src: /src/libgcrypt/cipher/sntrup761.c:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - pk
    - sk
    - random_ctx
    - random
    argTypes:
    - unsigned char*
    - unsigned char*
    - void*
    - sntrup761_random_func*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 896
    functionDepth: 5
    functionLinenumber: 896
    functionLinenumberEnd: 908
    functionName: ZKeyGen
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - KeyGen
    - Small_encode
    - Rq_encode
    linkageType: ''
    returnType: void
    signature: "void ZKeyGen (unsigned char *pk, unsigned char *sk, void *random_ctx,\n\t
      sntrup761_random_func * random)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Rq_decode
      Src: /src/libgcrypt/cipher/sntrup761.c:916,1
    - Dst: Encrypt
      Src: /src/libgcrypt/cipher/sntrup761.c:917,1
    - Dst: Rounded_encode
      Src: /src/libgcrypt/cipher/sntrup761.c:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - C
    - r
    - pk
    argTypes:
    - unsigned char*
    - Inputs
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 911
    functionDepth: 4
    functionLinenumber: 911
    functionLinenumberEnd: 919
    functionName: ZEncrypt
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - Encrypt
    - Rq_decode
    - Rounded_encode
    linkageType: ''
    returnType: void
    signature: void ZEncrypt (unsigned char *C, const Inputs r, const unsigned char
      *pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Small_decode
      Src: /src/libgcrypt/cipher/sntrup761.c:928,1
    - Dst: Small_decode
      Src: /src/libgcrypt/cipher/sntrup761.c:930,1
    - Dst: Rounded_decode
      Src: /src/libgcrypt/cipher/sntrup761.c:931,1
    - Dst: Decrypt
      Src: /src/libgcrypt/cipher/sntrup761.c:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - r
    - C
    - sk
    argTypes:
    - Inputs
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 922
    functionDepth: 4
    functionLinenumber: 922
    functionLinenumberEnd: 933
    functionName: ZDecrypt
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - Decrypt
    - Rounded_decode
    - Small_decode
    linkageType: ''
    returnType: void
    signature: void ZDecrypt (Inputs r, const unsigned char *C, const unsigned char
      *sk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hash_prefix
      Src: /src/libgcrypt/cipher/sntrup761.c:947,1
    - Dst: Hash_prefix
      Src: /src/libgcrypt/cipher/sntrup761.c:950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - h
    - r
    - cache
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 940
    functionDepth: 2
    functionLinenumber: 940
    functionLinenumberEnd: 951
    functionName: HashConfirm
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - Hash_prefix
    linkageType: ''
    returnType: void
    signature: "void HashConfirm (unsigned char *h, const unsigned char *r,\n\t     /*
      const unsigned char *pk, */ const unsigned char *cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hash_prefix
      Src: /src/libgcrypt/cipher/sntrup761.c:963,1
    - Dst: Hash_prefix
      Src: /src/libgcrypt/cipher/sntrup761.c:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - k
    - b
    - y
    - z
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 967
    functionName: HashSession
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - Hash_prefix
    linkageType: ''
    returnType: void
    signature: "void HashSession (unsigned char *k, int b, const unsigned char *y,\n\t
      \    const unsigned char *z)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZKeyGen
      Src: /src/libgcrypt/cipher/sntrup761.c:978,1
    - Dst: random
      Src: /src/libgcrypt/cipher/sntrup761.c:982,1
    - Dst: Hash_prefix
      Src: /src/libgcrypt/cipher/sntrup761.c:984,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pk
    - sk
    - random_ctx
    - random
    argTypes:
    - unsigned char*
    - unsigned char*
    - void*
    - sntrup761_random_func*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 972
    functionDepth: 6
    functionLinenumber: 972
    functionLinenumberEnd: 985
    functionName: sntrup761_keypair
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - ZKeyGen
    - Hash_prefix
    - random
    linkageType: ''
    returnType: void
    signature: "void sntrup761_keypair (unsigned char *pk, unsigned char *sk, void
      *random_ctx,\n\t\t   sntrup761_random_func * random)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Inputs_encode
      Src: /src/libgcrypt/cipher/sntrup761.c:992,1
    - Dst: ZEncrypt
      Src: /src/libgcrypt/cipher/sntrup761.c:993,1
    - Dst: HashConfirm
      Src: /src/libgcrypt/cipher/sntrup761.c:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - c
    - r_enc
    - r
    - pk
    - cache
    argTypes:
    - unsigned char*
    - unsigned char*
    - Inputs
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 988
    functionDepth: 5
    functionLinenumber: 988
    functionLinenumberEnd: 996
    functionName: Hide
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - HashConfirm
    - ZEncrypt
    - Inputs_encode
    linkageType: ''
    returnType: void
    signature: "void Hide (unsigned char *c, unsigned char *r_enc, const Inputs r,\n
      \     const unsigned char *pk, const unsigned char *cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hash_prefix
      Src: /src/libgcrypt/cipher/sntrup761.c:1007,1
    - Dst: Inputs_random
      Src: /src/libgcrypt/cipher/sntrup761.c:1008,1
    - Dst: Hide
      Src: /src/libgcrypt/cipher/sntrup761.c:1009,1
    - Dst: HashSession
      Src: /src/libgcrypt/cipher/sntrup761.c:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - c
    - k
    - pk
    - random_ctx
    - random
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    - sntrup761_random_func*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 999
    functionDepth: 6
    functionLinenumber: 999
    functionLinenumberEnd: 1011
    functionName: sntrup761_enc
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - Hide
    - Inputs_random
    - Hash_prefix
    - HashSession
    linkageType: ''
    returnType: void
    signature: "void sntrup761_enc (unsigned char *c, unsigned char *k, const unsigned
      char *pk,\n\t       void *random_ctx, sntrup761_random_func * random)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_ulong_gen_mask
      Src: /src/libgcrypt/cipher/sntrup761.c:1018,1
    - Dst: _gcry_ct_not_memequal
      Src: /src/libgcrypt/cipher/sntrup761.c:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - c2
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1019
    functionName: Ciphertexts_diff_mask
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - ct_ulong_gen_mask
    - _gcry_ct_not_memequal
    linkageType: ''
    returnType: int
    signature: int Ciphertexts_diff_mask (const unsigned char *c, const unsigned char
      *c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZDecrypt
      Src: /src/libgcrypt/cipher/sntrup761.c:1035,1
    - Dst: Hide
      Src: /src/libgcrypt/cipher/sntrup761.c:1036,1
    - Dst: Ciphertexts_diff_mask
      Src: /src/libgcrypt/cipher/sntrup761.c:1037,1
    - Dst: _gcry_ct_memmov_cond
      Src: /src/libgcrypt/cipher/sntrup761.c:1040,1
    - Dst: HashSession
      Src: /src/libgcrypt/cipher/sntrup761.c:1041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - k
    - c
    - sk
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1022
    functionDepth: 6
    functionLinenumber: 1022
    functionLinenumberEnd: 1042
    functionName: sntrup761_dec
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.c
    functionUses: 0
    functionsReached:
    - Hide
    - ZDecrypt
    - _gcry_ct_memmov_cond
    - HashSession
    - Ciphertexts_diff_mask
    linkageType: ''
    returnType: void
    signature: void sntrup761_dec (unsigned char *k, const unsigned char *c, const
      unsigned char *sk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 92
    functionName: reduction
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE reduction(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduction
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 124
    functionName: gfmul_pclmul
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached:
    - reduction
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE gfmul_pclmul(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - be_to_le
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: GFMUL_AGGR4_ASM_1
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GFMUL_AGGR4_ASM_1(be_to_le)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: GFMUL_AGGR4_ASM_2
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GFMUL_AGGR4_ASM_2()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: be_to_le
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be_to_le(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduction
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - h_1
    - h_table
    - be_mask
    argTypes:
    - void*
    - void*
    - void*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 233
    functionName: gfmul_pclmul_aggr4
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached:
    - reduction
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE gfmul_pclmul_aggr4(const void *buf, const void
      *h_1, const void *h_table,\n\t\t   const unsigned char *be_mask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduction
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - h_1
    - h_table
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 255
    functionName: gfmul_pclmul_aggr4_le
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached:
    - reduction
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE gfmul_pclmul_aggr4_le(const void *buf, const void
      *h_1, const void *h_table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - be_to_le
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: GFMUL_AGGR8_ASM
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GFMUL_AGGR8_ASM(be_to_le)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduction
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - h_table
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 443
    functionName: gfmul_pclmul_aggr8_le
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached:
    - reduction
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE gfmul_pclmul_aggr8_le(const void *buf, const void
      *h_table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - be_to_le
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 451
    functionName: GFMUL_AGGR16_ASM_VPCMUL_AVX2
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GFMUL_AGGR16_ASM_VPCMUL_AVX2(be_to_le)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - h_table
    - h1_h2_h15_h16
    argTypes:
    - void*
    - void*
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 642
    functionName: gfmul_vpclmul_avx2_aggr16_le
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE gfmul_vpclmul_avx2_aggr16_le(const void *buf,
      const void *h_table,\n\t\t\t     const u64 *h1_h2_h15_h16)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 689
    functionName: gfmul_pclmul_avx2
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE gfmul_pclmul_avx2(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 740
    functionName: load_h1h2_to_ymm1
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE load_h1h2_to_ymm1(gcry_cipher_hd_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_h1h2_to_ymm1
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:753,1
    - Dst: gfmul_pclmul_avx2
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:755,1
    - Dst: gfmul_pclmul_avx2
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:764,1
    - Dst: gcm_lsh_avx2
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:772,1
    - Dst: gcm_lsh_avx2
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 774
    functionName: ghash_setup_aggr8_avx2
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached:
    - load_h1h2_to_ymm1
    - gfmul_pclmul_avx2
    - gcm_lsh_avx2
    linkageType: ''
    returnType: ASM_FUNC_ATTR
    signature: ASM_FUNC_ATTR ghash_setup_aggr8_avx2(gcry_cipher_hd_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_h1h2_to_ymm1
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:787,1
    - Dst: gfmul_pclmul_avx2
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:789,1
    - Dst: gfmul_pclmul_avx2
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:798,1
    - Dst: gfmul_pclmul_avx2
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:807,1
    - Dst: gfmul_pclmul_avx2
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:816,1
    - Dst: gcm_lsh_avx2
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:824,1
    - Dst: gcm_lsh_avx2
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:825,1
    - Dst: gcm_lsh_avx2
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:826,1
    - Dst: gcm_lsh_avx2
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 828
    functionName: ghash_setup_aggr16_avx2
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached:
    - load_h1h2_to_ymm1
    - gfmul_pclmul_avx2
    - gcm_lsh_avx2
    linkageType: ''
    returnType: ASM_FUNC_ATTR
    signature: ASM_FUNC_ATTR ghash_setup_aggr16_avx2(gcry_cipher_hd_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - be_to_le
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 838
    functionName: GFMUL_AGGR32_ASM_VPCMUL_AVX512
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GFMUL_AGGR32_ASM_VPCMUL_AVX512(be_to_le)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - h_table
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 1008
    functionName: gfmul_vpclmul_avx512_aggr32_le
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE gfmul_vpclmul_avx512_aggr32_le(const void *buf,
      const void *h_table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1053
    functionName: gfmul_pclmul_avx512
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE gfmul_pclmul_avx512(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1105
    functionName: load_h1h4_to_zmm1
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE load_h1h4_to_zmm1(gcry_cipher_hd_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_h1h4_to_zmm1
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1118,1
    - Dst: gfmul_pclmul_avx512
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1120,1
    - Dst: gcm_lsh_avx512
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1129
    functionName: ghash_setup_aggr8_avx512
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached:
    - gfmul_pclmul_avx512
    - load_h1h4_to_zmm1
    - gcm_lsh_avx512
    linkageType: ''
    returnType: ASM_FUNC_ATTR
    signature: ASM_FUNC_ATTR ghash_setup_aggr8_avx512(gcry_cipher_hd_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_h1h4_to_zmm1
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1142,1
    - Dst: gfmul_pclmul_avx512
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1144,1
    - Dst: gfmul_pclmul_avx512
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1153,1
    - Dst: gcm_lsh_avx512
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1161,1
    - Dst: gcm_lsh_avx512
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1163
    functionName: ghash_setup_aggr16_avx512
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached:
    - gfmul_pclmul_avx512
    - load_h1h4_to_zmm1
    - gcm_lsh_avx512
    linkageType: ''
    returnType: ASM_FUNC_ATTR
    signature: ASM_FUNC_ATTR ghash_setup_aggr16_avx512(gcry_cipher_hd_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_h1h4_to_zmm1
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1176,1
    - Dst: gfmul_pclmul_avx512
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1178,1
    - Dst: gfmul_pclmul_avx512
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1187,1
    - Dst: gfmul_pclmul_avx512
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1196,1
    - Dst: gfmul_pclmul_avx512
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1205,1
    - Dst: gcm_lsh_avx512
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1212,1
    - Dst: gcm_lsh_avx512
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1213,1
    - Dst: gcm_lsh_avx512
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1214,1
    - Dst: gcm_lsh_avx512
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1165
    functionDepth: 1
    functionLinenumber: 1165
    functionLinenumberEnd: 1216
    functionName: ghash_setup_aggr32_avx512
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached:
    - gfmul_pclmul_avx512
    - load_h1h4_to_zmm1
    - gcm_lsh_avx512
    linkageType: ''
    returnType: ASM_FUNC_ATTR
    signature: ASM_FUNC_ATTR ghash_setup_aggr32_avx512(gcry_cipher_hd_t c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aligned
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1260,1
    - Dst: gcm_lsh
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1296,1
    - Dst: gfmul_pclmul
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1304,1
    - Dst: gcm_lsh
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1311,1
    - Dst: gfmul_pclmul_avx2
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1334,1
    - Dst: gcm_lsh_avx2
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1342,1
    - Dst: gfmul_pclmul
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1353,1
    - Dst: gfmul_pclmul
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1362,1
    - Dst: gcm_lsh
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1370,1
    - Dst: gcm_lsh
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 2
    argNames:
    - c
    - hw_features
    argTypes:
    - gcry_cipher_hd_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1257
    functionDepth: 1
    functionLinenumber: 1257
    functionLinenumberEnd: 1411
    functionName: ASM_FUNC_ATTR::_gcry_ghash_setup_intel_pclmul
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached:
    - aligned
    - gfmul_pclmul_avx2
    - gfmul_pclmul
    - gcm_lsh_avx2
    - gcm_lsh
    linkageType: ''
    returnType: void
    signature: 'void ASM_FUNC_ATTR

      _gcry_ghash_setup_intel_pclmul (gcry_cipher_hd_t c, unsigned int hw_features)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gfmul_pclmul
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1427,1
    - Dst: gfmul_pclmul
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1435,1
    - Dst: gfmul_pclmul
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1443,1
    - Dst: gfmul_pclmul
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1451,1
    - Dst: gcm_lsh
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1459,1
    - Dst: gcm_lsh
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1460,1
    - Dst: gcm_lsh
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1461,1
    - Dst: gcm_lsh
      Src: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c:1462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1463
    functionName: ghash_setup_aggr8
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
    functionUses: 0
    functionsReached:
    - gcm_lsh
    - gfmul_pclmul
    linkageType: ''
    returnType: ASM_FUNC_ATTR
    signature: ASM_FUNC_ATTR ghash_setup_aggr8(gcry_cipher_hd_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_rsa_pss_verify
      Src: /src/libgcrypt/cipher/pubkey-util.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - tmp
    argTypes:
    - void*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: pss_verify_cmp
    functionSourceFile: /src/libgcrypt/cipher/pubkey-util.c
    functionUses: 0
    functionsReached:
    - _gcry_rsa_pss_verify
    linkageType: ''
    returnType: int
    signature: int pss_verify_cmp (void *opaque, gcry_mpi_t tmp)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: sexp_length
      Src: /src/libgcrypt/cipher/pubkey-util.c:66,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:68,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:75,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:80,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:85,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:95,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:97,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:102,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:112,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:118,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:123,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:130,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:137,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:139,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:141,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:148,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:155,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:160,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:165,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:172,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:174,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:181,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:183,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:190,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:192,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey-util.c:205,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/pubkey-util.c:207,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/pubkey-util.c:210,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 127
    argCount: 3
    argNames:
    - list
    - r_flags
    - r_encoding
    argTypes:
    - gcry_sexp_t
    - int*
    - enum pk_encoding*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 219
    functionName: _gcry_pk_util_parse_flaglist
    functionSourceFile: /src/libgcrypt/cipher/pubkey-util.c
    functionUses: 1
    functionsReached:
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - sexp_length
    - fips_mode
    - sexp_nth_data
    - memcmp
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_pk_util_parse_flaglist (gcry_sexp_t list,\n                              int
      *r_flags, enum pk_encoding *r_encoding)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgcrypt/cipher/pubkey-util.c:254,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:255,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/pubkey-util.c:268,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/pubkey-util.c:273,1
    - Dst: _gcry_md_map_name
      Src: /src/libgcrypt/cipher/pubkey-util.c:275,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey-util.c:276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 280
    functionName: get_hash_algo
    functionSourceFile: /src/libgcrypt/cipher/pubkey-util.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcmp
    - xfree
    - memcpy
    - xtrymalloc
    - _gcry_md_map_name
    linkageType: ''
    returnType: int
    signature: int get_hash_algo (const char *s, size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:309,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:313,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/pubkey-util.c:314,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:317,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/pubkey-util.c:320,1
    - Dst: strtoul
      Src: /src/libgcrypt/cipher/pubkey-util.c:322,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - list
    - r_nbits
    argTypes:
    - gcry_sexp_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 325
    functionName: _gcry_pk_util_get_nbits
    functionSourceFile: /src/libgcrypt/cipher/pubkey-util.c
    functionUses: 2
    functionsReached:
    - sexp_release
    - DIM
    - sexp_nth_data
    - sexp_find_token
    - strtoul
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_pk_util_get_nbits (gcry_sexp_t list, unsigned
      int *r_nbits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:356,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:363,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/pubkey-util.c:364,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:367,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/pubkey-util.c:370,1
    - Dst: strtoul
      Src: /src/libgcrypt/cipher/pubkey-util.c:372,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - list
    - r_e
    argTypes:
    - gcry_sexp_t
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 375
    functionName: _gcry_pk_util_get_rsa_use_e
    functionSourceFile: /src/libgcrypt/cipher/pubkey-util.c
    functionUses: 1
    functionsReached:
    - sexp_release
    - DIM
    - sexp_nth_data
    - sexp_find_token
    - strtoul
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_pk_util_get_rsa_use_e (gcry_sexp_t list, unsigned
      long *r_e)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:400,1
    - Dst: sexp_nth
      Src: /src/libgcrypt/cipher/pubkey-util.c:407,1
    - Dst: sexp_nth_string
      Src: /src/libgcrypt/cipher/pubkey-util.c:413,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:419,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:424,1
    - Dst: sexp_nth
      Src: /src/libgcrypt/cipher/pubkey-util.c:425,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey-util.c:431,1
    - Dst: sexp_nth_string
      Src: /src/libgcrypt/cipher/pubkey-util.c:432,1
    - Dst: stricmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:441,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:450,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:452,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:454,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey-util.c:463,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:464,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:465,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 4
    argNames:
    - s_sig
    - algo_names
    - r_parms
    - r_eccflags
    argTypes:
    - gcry_sexp_t
    - char**
    - gcry_sexp_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 467
    functionName: _gcry_pk_util_preparse_sigval
    functionSourceFile: /src/libgcrypt/cipher/pubkey-util.c
    functionUses: 1
    functionsReached:
    - sexp_nth
    - sexp_release
    - strcmp
    - sexp_find_token
    - stricmp
    - xfree
    - sexp_nth_string
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_pk_util_preparse_sigval (gcry_sexp_t s_sig, const
      char **algo_names,\n                               gcry_sexp_t *r_parms, int
      *r_eccflags)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:505,1
    - Dst: sexp_nth
      Src: /src/libgcrypt/cipher/pubkey-util.c:512,1
    - Dst: sexp_nth_string
      Src: /src/libgcrypt/cipher/pubkey-util.c:520,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:527,1
    - Dst: _gcry_pk_util_parse_flaglist
      Src: /src/libgcrypt/cipher/pubkey-util.c:532,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:545,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:546,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:549,1
    - Dst: get_hash_algo
      Src: /src/libgcrypt/cipher/pubkey-util.c:554,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:563,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:564,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:567,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/pubkey-util.c:572,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/pubkey-util.c:574,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/pubkey-util.c:577,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:587,1
    - Dst: sexp_nth
      Src: /src/libgcrypt/cipher/pubkey-util.c:587,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:589,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:590,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:591,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:592,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey-util.c:602,1
    - Dst: sexp_nth_string
      Src: /src/libgcrypt/cipher/pubkey-util.c:603,1
    - Dst: stricmp
      Src: /src/libgcrypt/cipher/pubkey-util.c:614,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey-util.c:628,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:629,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:630,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 101
    argCount: 4
    argNames:
    - sexp
    - algo_names
    - r_parms
    - ctx
    argTypes:
    - gcry_sexp_t
    - char**
    - gcry_sexp_t*
    - struct pk_encoding_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 632
    functionName: _gcry_pk_util_preparse_encval
    functionSourceFile: /src/libgcrypt/cipher/pubkey-util.c
    functionUses: 1
    functionsReached:
    - xtrymalloc
    - gpg_err_code_from_syserror
    - sexp_nth
    - sexp_release
    - strcmp
    - sexp_find_token
    - sexp_nth_data
    - get_hash_algo
    - memcpy
    - memcmp
    - xfree
    - stricmp
    - sexp_nth_string
    - _gcry_pk_util_parse_flaglist
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_pk_util_preparse_encval (gcry_sexp_t sexp, const
      char **algo_names,\n                               gcry_sexp_t *r_parms,\n                               struct
      pk_encoding_ctx *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey-util.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - op
    - nbits
    argTypes:
    - struct pk_encoding_ctx*
    - enum pk_operation
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 660
    functionName: _gcry_pk_util_init_encoding_ctx
    functionSourceFile: /src/libgcrypt/cipher/pubkey-util.c
    functionUses: 4
    functionsReached:
    - fips_mode
    linkageType: ''
    returnType: void
    signature: "void _gcry_pk_util_init_encoding_ctx (struct pk_encoding_ctx *ctx,\n
      \                                enum pk_operation op,\n                                 unsigned
      int nbits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey-util.c:666,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey-util.c:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pk_encoding_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 668
    functionName: _gcry_pk_util_free_encoding_ctx
    functionSourceFile: /src/libgcrypt/cipher/pubkey-util.c
    functionUses: 4
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void _gcry_pk_util_free_encoding_ctx (struct pk_encoding_ctx *ctx)
  - BBCount: 139
    BranchProfiles: []
    Callsites:
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:713,1
    - Dst: sexp_nth_mpi
      Src: /src/libgcrypt/cipher/pubkey-util.c:719,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:725,1
    - Dst: _gcry_pk_util_parse_flaglist
      Src: /src/libgcrypt/cipher/pubkey-util.c:728,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:731,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:739,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:740,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:760,1
    - Dst: sexp_nth_buffer
      Src: /src/libgcrypt/cipher/pubkey-util.c:763,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:764,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:768,1
    - Dst: sexp_nth_buffer
      Src: /src/libgcrypt/cipher/pubkey-util.c:771,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:772,1
    - Dst: sexp_nth_buffer
      Src: /src/libgcrypt/cipher/pubkey-util.c:776,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/pubkey-util.c:784,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:802,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:805,1
    - Dst: get_hash_algo
      Src: /src/libgcrypt/cipher/pubkey-util.c:810,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:814,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:820,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:823,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/pubkey-util.c:828,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/pubkey-util.c:830,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/pubkey-util.c:833,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:837,1
    - Dst: sexp_nth_buffer
      Src: /src/libgcrypt/cipher/pubkey-util.c:843,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/pubkey-util.c:850,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/pubkey-util.c:852,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey-util.c:856,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/pubkey-util.c:863,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:882,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:885,1
    - Dst: get_hash_algo
      Src: /src/libgcrypt/cipher/pubkey-util.c:890,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:894,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:900,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:903,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/pubkey-util.c:908,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/pubkey-util.c:910,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/pubkey-util.c:913,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:919,1
    - Dst: sexp_nth_buffer
      Src: /src/libgcrypt/cipher/pubkey-util.c:924,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey-util.c:928,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/pubkey-util.c:932,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:937,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:940,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/pubkey-util.c:945,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/pubkey-util.c:947,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/pubkey-util.c:950,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:956,1
    - Dst: sexp_length
      Src: /src/libgcrypt/cipher/pubkey-util.c:961,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:963,1
    - Dst: get_hash_algo
      Src: /src/libgcrypt/cipher/pubkey-util.c:967,1
    - Dst: sexp_nth_buffer
      Src: /src/libgcrypt/cipher/pubkey-util.c:971,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey-util.c:976,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/pubkey-util.c:980,1
    - Dst: sexp_nth_mpi
      Src: /src/libgcrypt/cipher/pubkey-util.c:1000,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1013,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:1018,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey-util.c:1021,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/pubkey-util.c:1023,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:1025,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/pubkey-util.c:1030,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1032,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/pubkey-util.c:1037,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/pubkey-util.c:1039,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/pubkey-util.c:1042,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:1046,1
    - Dst: _gcry_rsa_pkcs1_encode_for_enc
      Src: /src/libgcrypt/cipher/pubkey-util.c:1051,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey-util.c:1055,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:1069,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1072,1
    - Dst: get_hash_algo
      Src: /src/libgcrypt/cipher/pubkey-util.c:1077,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:1081,1
    - Dst: sexp_nth_buffer
      Src: /src/libgcrypt/cipher/pubkey-util.c:1086,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey-util.c:1090,1
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/pubkey-util.c:1097,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/pubkey-util.c:1098,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/pubkey-util.c:1100,1
    - Dst: _gcry_md_hash_buffer
      Src: /src/libgcrypt/cipher/pubkey-util.c:1103,1
    - Dst: _gcry_rsa_pkcs1_encode_for_sig
      Src: /src/libgcrypt/cipher/pubkey-util.c:1104,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey-util.c:1106,1
    - Dst: sexp_length
      Src: /src/libgcrypt/cipher/pubkey-util.c:1112,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1114,1
    - Dst: get_hash_algo
      Src: /src/libgcrypt/cipher/pubkey-util.c:1121,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1125,1
    - Dst: _gcry_rsa_pkcs1_encode_for_sig
      Src: /src/libgcrypt/cipher/pubkey-util.c:1129,1
    - Dst: sexp_length
      Src: /src/libgcrypt/cipher/pubkey-util.c:1141,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1143,1
    - Dst: _gcry_rsa_pkcs1_encode_raw_for_sig
      Src: /src/libgcrypt/cipher/pubkey-util.c:1147,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1156,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:1165,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1168,1
    - Dst: get_hash_algo
      Src: /src/libgcrypt/cipher/pubkey-util.c:1173,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:1177,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:1183,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1186,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/pubkey-util.c:1191,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/pubkey-util.c:1193,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/pubkey-util.c:1196,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:1200,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:1205,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey-util.c:1208,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/pubkey-util.c:1210,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:1212,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/pubkey-util.c:1217,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1219,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/pubkey-util.c:1224,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/pubkey-util.c:1226,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/pubkey-util.c:1229,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:1233,1
    - Dst: _gcry_rsa_oaep_encode
      Src: /src/libgcrypt/cipher/pubkey-util.c:1238,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey-util.c:1243,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:1256,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1259,1
    - Dst: get_hash_algo
      Src: /src/libgcrypt/cipher/pubkey-util.c:1264,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:1268,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1273,1
    - Dst: sexp_length
      Src: /src/libgcrypt/cipher/pubkey-util.c:1279,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1281,1
    - Dst: get_hash_algo
      Src: /src/libgcrypt/cipher/pubkey-util.c:1285,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1289,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:1301,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1304,1
    - Dst: strtoul
      Src: /src/libgcrypt/cipher/pubkey-util.c:1310,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:1311,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:1315,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey-util.c:1318,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/pubkey-util.c:1320,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:1322,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/pubkey-util.c:1327,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1329,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/pubkey-util.c:1334,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/pubkey-util.c:1336,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/pubkey-util.c:1338,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:1342,1
    - Dst: _gcry_rsa_pss_encode
      Src: /src/libgcrypt/cipher/pubkey-util.c:1348,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey-util.c:1353,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:1362,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1365,1
    - Dst: get_hash_algo
      Src: /src/libgcrypt/cipher/pubkey-util.c:1370,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:1374,1
    - Dst: sexp_nth_mpi
      Src: /src/libgcrypt/cipher/pubkey-util.c:1379,1
    - Dst: sexp_length
      Src: /src/libgcrypt/cipher/pubkey-util.c:1387,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1389,1
    - Dst: get_hash_algo
      Src: /src/libgcrypt/cipher/pubkey-util.c:1393,1
    - Dst: sexp_nth_mpi
      Src: /src/libgcrypt/cipher/pubkey-util.c:1399,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-util.c:1412,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-util.c:1415,1
    - Dst: strtoul
      Src: /src/libgcrypt/cipher/pubkey-util.c:1421,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:1424,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:1436,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:1437,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-util.c:1438,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey-util.c:1444,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey-util.c:1446,1
    CyclomaticComplexity: 203
    EdgeCount: 203
    ICount: 494
    argCount: 3
    argNames:
    - input
    - ret_mpi
    - ctx
    argTypes:
    - gcry_sexp_t
    - gcry_mpi_t*
    - struct pk_encoding_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 1451
    functionName: _gcry_pk_util_data_to_mpi
    functionSourceFile: /src/libgcrypt/cipher/pubkey-util.c
    functionUses: 3
    functionsReached:
    - fips_check_rejection
    - _gcry_rsa_pkcs1_encode_for_sig
    - sexp_nth_buffer
    - mpi_set_opaque
    - _gcry_rsa_pss_encode
    - sexp_release
    - sexp_find_token
    - xtrymalloc
    - memcpy
    - fips_service_indicator_mark_non_compliant
    - sexp_length
    - sexp_nth_mpi
    - get_hash_algo
    - strtoul
    - gpg_err_code_from_syserror
    - fips_mode
    - _gcry_md_get_algo_dlen
    - sexp_nth_data
    - xfree
    - _gcry_rsa_pkcs1_encode_raw_for_sig
    - _gcry_rsa_pkcs1_encode_for_enc
    - _gcry_pk_util_parse_flaglist
    - _gcry_md_hash_buffer
    - _gcry_rsa_oaep_encode
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_pk_util_data_to_mpi (gcry_sexp_t input, gcry_mpi_t
      *ret_mpi,\n                           struct pk_encoding_ctx *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: system
      Src: /src/libgcrypt/cipher/test-getrusage.c:12,1
    - Dst: getrusage
      Src: /src/libgcrypt/cipher/test-getrusage.c:14,1
    - Dst: perror
      Src: /src/libgcrypt/cipher/test-getrusage.c:16,1
    - Dst: getrusage
      Src: /src/libgcrypt/cipher/test-getrusage.c:22,1
    - Dst: perror
      Src: /src/libgcrypt/cipher/test-getrusage.c:24,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/test-getrusage.c:29,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/test-getrusage.c:31,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/test-getrusage.c:33,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/test-getrusage.c:34,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/test-getrusage.c:35,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/test-getrusage.c:36,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/test-getrusage.c:37,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/test-getrusage.c:38,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/test-getrusage.c:39,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/test-getrusage.c:40,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/test-getrusage.c:41,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/test-getrusage.c:42,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/test-getrusage.c:43,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/test-getrusage.c:44,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/test-getrusage.c:45,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/test-getrusage.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/libgcrypt/cipher/test-getrusage.c
    functionUses: 12
    functionsReached:
    - perror
    - system
    - printf
    - getrusage
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgcrypt/cipher/test-getrusage.c:64,1
    - Dst: fprintf
      Src: /src/libgcrypt/cipher/test-getrusage.c:66,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/test-getrusage.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct rusage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: collect_rusage_stats
    functionSourceFile: /src/libgcrypt/cipher/test-getrusage.c
    functionUses: 0
    functionsReached:
    - fprintf
    - DIM
    linkageType: ''
    returnType: void
    signature: void collect_rusage_stats (struct rusage *rb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctz
      Src: /src/libgcrypt/cipher/rmd160.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 171
    functionName: rmd160_init
    functionSourceFile: /src/libgcrypt/cipher/rmd160.c
    functionUses: 1
    functionsReached:
    - _gcry_ctz
    linkageType: ''
    returnType: void
    signature: void rmd160_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/rmd160.c:186,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:214,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:215,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:216,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:217,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:218,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:219,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:220,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:221,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:222,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:223,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:224,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:225,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:226,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:227,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:228,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:229,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:230,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:231,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:232,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:233,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:234,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:235,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:236,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:237,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:238,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:239,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:240,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:241,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:242,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:243,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:244,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:245,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:246,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:247,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:248,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:249,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:250,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:251,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:252,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:253,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:254,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:255,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:256,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:257,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:258,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:259,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:260,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:261,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:262,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:263,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:264,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:265,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:266,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:267,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:268,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:269,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:270,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:271,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:272,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:273,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:274,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:275,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:276,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:277,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:278,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:279,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:280,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:281,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:282,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:283,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:284,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:285,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:286,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:287,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:288,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:289,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:290,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:291,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:292,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:293,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:294,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:295,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:296,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:297,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:298,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:299,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:300,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:301,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:302,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:303,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:304,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:305,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:306,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:307,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:308,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:309,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:310,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:311,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:312,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:313,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:314,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:315,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:316,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:317,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:318,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:319,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:320,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:321,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:322,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:323,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:324,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:325,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:326,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:327,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:328,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:329,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:330,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:331,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:332,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:333,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:334,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:335,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:336,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:337,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:338,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:339,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:340,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:341,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:342,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:343,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:344,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:345,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:346,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:347,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:348,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:349,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:350,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:351,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:352,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:353,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:354,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:355,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:356,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:357,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:358,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:359,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:360,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:361,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:362,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:363,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:364,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:365,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:366,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:367,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:368,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:369,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:370,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:371,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:372,1
    - Dst: R
      Src: /src/libgcrypt/cipher/rmd160.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 175
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - void*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 383
    functionName: transform_blk
    functionSourceFile: /src/libgcrypt/cipher/rmd160.c
    functionUses: 1
    functionsReached:
    - R
    - buf_get_le32
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int transform_blk ( void *ctx, const unsigned char *data )
  - 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: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: F0
    functionSourceFile: /src/libgcrypt/cipher/rmd160.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F0(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: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: F1
    functionSourceFile: /src/libgcrypt/cipher/rmd160.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F1(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: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: F2
    functionSourceFile: /src/libgcrypt/cipher/rmd160.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F2(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: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: F3
    functionSourceFile: /src/libgcrypt/cipher/rmd160.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F3(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: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: F4
    functionSourceFile: /src/libgcrypt/cipher/rmd160.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F4(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - k
    - ','
    - r
    - ','
    - s
    - )
    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: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: R
    functionSourceFile: /src/libgcrypt/cipher/rmd160.c
    functionUses: 110
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(a,b,c,d,e,f,k,r,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transform_blk
      Src: /src/libgcrypt/cipher/rmd160.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - c
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 399
    functionName: transform
    functionSourceFile: /src/libgcrypt/cipher/rmd160.c
    functionUses: 6
    functionsReached:
    - transform_blk
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int transform ( void *c, const unsigned char *data, size_t
      nblks )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/rmd160.c:436,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/rmd160.c:439,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/rmd160.c:440,1
    - Dst: transform
      Src: /src/libgcrypt/cipher/rmd160.c:441,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/rmd160.c:447,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/rmd160.c:450,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/rmd160.c:451,1
    - Dst: transform
      Src: /src/libgcrypt/cipher/rmd160.c:452,1
    - Dst: X
      Src: /src/libgcrypt/cipher/rmd160.c:457,1
    - Dst: X
      Src: /src/libgcrypt/cipher/rmd160.c:458,1
    - Dst: X
      Src: /src/libgcrypt/cipher/rmd160.c:459,1
    - Dst: X
      Src: /src/libgcrypt/cipher/rmd160.c:460,1
    - Dst: X
      Src: /src/libgcrypt/cipher/rmd160.c:461,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/rmd160.c:466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 467
    functionName: rmd160_final
    functionSourceFile: /src/libgcrypt/cipher/rmd160.c
    functionUses: 1
    functionsReached:
    - X
    - transform
    - _gcry_burn_stack
    - buf_put_le32
    - memset
    linkageType: ''
    returnType: void
    signature: void rmd160_final( void *context )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 457
    functionName: X
    functionSourceFile: /src/libgcrypt/cipher/rmd160.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 475
    functionName: rmd160_read
    functionSourceFile: /src/libgcrypt/cipher/rmd160.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      rmd160_read( void *context )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rmd160_init
      Src: /src/libgcrypt/cipher/rmd160.c:491,1
    - Dst: _gcry_md_block_write
      Src: /src/libgcrypt/cipher/rmd160.c:493,1
    - Dst: rmd160_final
      Src: /src/libgcrypt/cipher/rmd160.c:495,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rmd160.c:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - outbuf
    - nbytes
    - iov
    - iovcnt
    argTypes:
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 497
    functionName: _gcry_rmd160_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/rmd160.c
    functionUses: 0
    functionsReached:
    - _gcry_md_block_write
    - memcpy
    - rmd160_init
    - rmd160_final
    linkageType: ''
    returnType: void
    signature: "void _gcry_rmd160_hash_buffers (void *outbuf, size_t nbytes,\n\t\t\t
      \  const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - vector2x_u64
    - vector2x_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: vector2x_u64::asm_vpmsumd
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector2x_u64

      asm_vpmsumd(vector2x_u64 a, vector2x_u64 b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - vector2x_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: vector2x_u64::asm_swap_u64
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector2x_u64

      asm_swap_u64(vector2x_u64 a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_sld
      Src: /src/libgcrypt/cipher/crc-ppc.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - idx
    argTypes:
    - vector4x_u32
    - vector4x_u32
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: vector4x_u32::vec_sld_u32
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached:
    - vec_sld
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector4x_u32

      vec_sld_u32(vector4x_u32 a, vector4x_u32 b, unsigned int idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: CRC_VEC_SWAP
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC_VEC_SWAP(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lo
    - ','
    - hi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: CRC_VEC_U64_DEF
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC_VEC_U64_DEF(lo, hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - offs
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: CRC_VEC_U64_LOAD
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC_VEC_U64_LOAD(offs, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - offs
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: CRC_VEC_U64_LOAD_LE
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC_VEC_U64_LOAD_LE(offs, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - offs
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: CRC_VEC_U64_LOAD_BE
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC_VEC_U64_LOAD_BE(offs, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: CRC_VEC_SWAP_TO_LE
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC_VEC_SWAP_TO_LE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: CRC_VEC_SWAP_TO_BE
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC_VEC_SWAP_TO_BE(v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_constant_p
      Src: /src/libgcrypt/cipher/crc-ppc.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - offset
    - ptr
    argTypes:
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: vector2x_u64::asm_vec_u64_load
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached:
    - __builtin_constant_p
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector2x_u64

      asm_vec_u64_load(unsigned long offset, const void *ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lo
    - ','
    - hi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: CRC_VEC_U64_DEF
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC_VEC_U64_DEF(lo, hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - offs
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: CRC_VEC_U64_LOAD
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC_VEC_U64_LOAD(offs, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - offs
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: CRC_VEC_U64_LOAD_LE
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC_VEC_U64_LOAD_LE(offs, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - offs
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: CRC_VEC_U64_LOAD_BE
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC_VEC_U64_LOAD_BE(offs, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: CRC_VEC_SWAP_TO_LE
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC_VEC_SWAP_TO_LE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: CRC_VEC_SWAP_TO_BE
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC_VEC_SWAP_TO_BE(v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_constant_p
      Src: /src/libgcrypt/cipher/crc-ppc.c:200,1
    - Dst: vector2x_u64::asm_swap_u64
      Src: /src/libgcrypt/cipher/crc-ppc.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - offset
    - ptr
    argTypes:
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: vector2x_u64::asm_vec_u64_load_le
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached:
    - vector2x_u64::asm_swap_u64
    - __builtin_constant_p
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector2x_u64

      asm_vec_u64_load_le(unsigned long offset, const void *ptr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_constant_p
      Src: /src/libgcrypt/cipher/crc-ppc.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - offset
    - ptr
    argTypes:
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 238
    functionName: vector2x_u64::asm_vec_u64_load_be
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached:
    - __builtin_constant_p
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector2x_u64

      asm_vec_u64_load_be(unsigned int offset, const void *ptr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRC_VEC_U64_DEF
      Src: /src/libgcrypt/cipher/crc-ppc.c:247,1
    - Dst: CRC_VEC_U64_DEF
      Src: /src/libgcrypt/cipher/crc-ppc.c:248,1
    - Dst: CRC_VEC_U64_LOAD
      Src: /src/libgcrypt/cipher/crc-ppc.c:249,1
    - Dst: CRC_VEC_U64_LOAD
      Src: /src/libgcrypt/cipher/crc-ppc.c:250,1
    - Dst: CRC_VEC_U64_LOAD
      Src: /src/libgcrypt/cipher/crc-ppc.c:251,1
    - Dst: CRC_VEC_U64_DEF
      Src: /src/libgcrypt/cipher/crc-ppc.c:252,1
    - Dst: CRC_VEC_U64_LOAD
      Src: /src/libgcrypt/cipher/crc-ppc.c:253,1
    - Dst: CRC_VEC_U64_DEF
      Src: /src/libgcrypt/cipher/crc-ppc.c:254,1
    - Dst: CRC_VEC_U64_LOAD_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:260,1
    - Dst: CRC_VEC_U64_LOAD_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:262,1
    - Dst: CRC_VEC_U64_LOAD_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:263,1
    - Dst: CRC_VEC_U64_LOAD_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:264,1
    - Dst: CRC_VEC_U64_LOAD_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:272,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:273,1
    - Dst: CRC_VEC_U64_LOAD_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:275,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:276,1
    - Dst: CRC_VEC_U64_LOAD_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:278,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:279,1
    - Dst: CRC_VEC_U64_LOAD_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:281,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:282,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:289,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:290,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:291,1
    - Dst: CRC_VEC_U64_LOAD_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:296,1
    - Dst: CRC_VEC_U64_LOAD_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:306,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:307,1
    - Dst: CRC_VEC_U64_LOAD_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:318,1
    - Dst: CRC_VEC_U64_LOAD_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:319,1
    - Dst: CRC_VEC_U64_LOAD_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:320,1
    - Dst: CRC_VEC_U64_LOAD_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:322,1
    - Dst: CRC_VEC_SWAP_TO_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:325,1
    - Dst: vec_perm
      Src: /src/libgcrypt/cipher/crc-ppc.c:326,1
    - Dst: vec_perm
      Src: /src/libgcrypt/cipher/crc-ppc.c:328,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:330,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/crc-ppc.c:340,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:342,1
    - Dst: vec_sld_u32
      Src: /src/libgcrypt/cipher/crc-ppc.c:346,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:350,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:354,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/crc-ppc.c:355,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:356,1
    - Dst: vec_sld_u32
      Src: /src/libgcrypt/cipher/crc-ppc.c:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 64
    argCount: 4
    argNames:
    - pcrc
    - inbuf
    - inlen
    - consts
    argTypes:
    - u32*
    - byte*
    - size_t
    - struct crc32_consts_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 362
    functionName: crc32r_ppc8_ce_bulk
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached:
    - CRC_VEC_U64_DEF
    - asm_swap_u64
    - CRC_VEC_U64_LOAD
    - CRC_VEC_SWAP_TO_LE
    - vec_sld_u32
    - asm_vpmsumd
    - vec_perm
    - CRC_VEC_U64_LOAD_LE
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE crc32r_ppc8_ce_bulk (u32 *pcrc, const byte *inbuf,
      size_t inlen,\n\t\t     const struct crc32_consts_s *consts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRC_VEC_U64_LOAD
      Src: /src/libgcrypt/cipher/crc-ppc.c:370,1
    - Dst: CRC_VEC_U64_DEF
      Src: /src/libgcrypt/cipher/crc-ppc.c:371,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:372,1
    - Dst: vec_sld_u32
      Src: /src/libgcrypt/cipher/crc-ppc.c:373,1
    - Dst: vec_sld_u32
      Src: /src/libgcrypt/cipher/crc-ppc.c:375,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - data
    - crc
    - consts
    argTypes:
    - u32
    - u32
    - struct crc32_consts_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 379
    functionName: crc32r_ppc8_ce_reduction_4
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached:
    - CRC_VEC_U64_DEF
    - vec_sld_u32
    - CRC_VEC_U64_LOAD
    - asm_vpmsumd
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE crc32r_ppc8_ce_reduction_4 (u32 data, u32 crc,\n\t\t\t
      \   const struct crc32_consts_s *consts)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/crc-ppc.c:391,1
    - Dst: crc32r_ppc8_ce_reduction_4
      Src: /src/libgcrypt/cipher/crc-ppc.c:397,1
    - Dst: crc32r_ppc8_ce_reduction_4
      Src: /src/libgcrypt/cipher/crc-ppc.c:409,1
    - Dst: crc32r_ppc8_ce_reduction_4
      Src: /src/libgcrypt/cipher/crc-ppc.c:417,1
    - Dst: crc32r_ppc8_ce_reduction_4
      Src: /src/libgcrypt/cipher/crc-ppc.c:426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 4
    argNames:
    - pcrc
    - inbuf
    - inlen
    - consts
    argTypes:
    - u32*
    - byte*
    - size_t
    - struct crc32_consts_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 431
    functionName: crc32r_less_than_16
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached:
    - buf_get_le32
    - crc32r_ppc8_ce_reduction_4
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE crc32r_less_than_16 (u32 *pcrc, const byte *inbuf,
      size_t inlen,\n\t\t     const struct crc32_consts_s *consts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRC_VEC_U64_DEF
      Src: /src/libgcrypt/cipher/crc-ppc.c:439,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/crc-ppc.c:440,1
    - Dst: CRC_VEC_U64_LOAD
      Src: /src/libgcrypt/cipher/crc-ppc.c:440,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/crc-ppc.c:442,1
    - Dst: CRC_VEC_U64_LOAD
      Src: /src/libgcrypt/cipher/crc-ppc.c:442,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/crc-ppc.c:443,1
    - Dst: CRC_VEC_U64_LOAD
      Src: /src/libgcrypt/cipher/crc-ppc.c:443,1
    - Dst: CRC_VEC_U64_DEF
      Src: /src/libgcrypt/cipher/crc-ppc.c:444,1
    - Dst: CRC_VEC_U64_DEF
      Src: /src/libgcrypt/cipher/crc-ppc.c:445,1
    - Dst: CRC_VEC_U64_DEF
      Src: /src/libgcrypt/cipher/crc-ppc.c:446,1
    - Dst: _gcry_bswap64
      Src: /src/libgcrypt/cipher/crc-ppc.c:446,1
    - Dst: CRC_VEC_U64_LOAD_BE
      Src: /src/libgcrypt/cipher/crc-ppc.c:452,1
    - Dst: CRC_VEC_U64_LOAD_BE
      Src: /src/libgcrypt/cipher/crc-ppc.c:454,1
    - Dst: CRC_VEC_U64_LOAD_BE
      Src: /src/libgcrypt/cipher/crc-ppc.c:455,1
    - Dst: CRC_VEC_U64_LOAD_BE
      Src: /src/libgcrypt/cipher/crc-ppc.c:456,1
    - Dst: CRC_VEC_U64_LOAD_BE
      Src: /src/libgcrypt/cipher/crc-ppc.c:464,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:465,1
    - Dst: CRC_VEC_U64_LOAD_BE
      Src: /src/libgcrypt/cipher/crc-ppc.c:467,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:468,1
    - Dst: CRC_VEC_U64_LOAD_BE
      Src: /src/libgcrypt/cipher/crc-ppc.c:470,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:471,1
    - Dst: CRC_VEC_U64_LOAD_BE
      Src: /src/libgcrypt/cipher/crc-ppc.c:473,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:474,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:481,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:482,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:483,1
    - Dst: CRC_VEC_U64_LOAD_BE
      Src: /src/libgcrypt/cipher/crc-ppc.c:488,1
    - Dst: CRC_VEC_U64_LOAD_BE
      Src: /src/libgcrypt/cipher/crc-ppc.c:498,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:499,1
    - Dst: CRC_VEC_U64_LOAD_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:510,1
    - Dst: CRC_VEC_U64_LOAD_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:511,1
    - Dst: CRC_VEC_U64_LOAD_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:512,1
    - Dst: CRC_VEC_U64_LOAD_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:514,1
    - Dst: CRC_VEC_SWAP_TO_LE
      Src: /src/libgcrypt/cipher/crc-ppc.c:517,1
    - Dst: vec_perm
      Src: /src/libgcrypt/cipher/crc-ppc.c:518,1
    - Dst: CRC_VEC_SWAP
      Src: /src/libgcrypt/cipher/crc-ppc.c:521,1
    - Dst: vec_perm
      Src: /src/libgcrypt/cipher/crc-ppc.c:522,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:524,1
    - Dst: vec_sld_u32
      Src: /src/libgcrypt/cipher/crc-ppc.c:534,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:536,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:542,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:551,1
    - Dst: vec_sld_u32
      Src: /src/libgcrypt/cipher/crc-ppc.c:552,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:554,1
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/crc-ppc.c:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 68
    argCount: 4
    argNames:
    - pcrc
    - inbuf
    - inlen
    - consts
    argTypes:
    - u32*
    - byte*
    - size_t
    - struct crc32_consts_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 558
    functionName: crc32_ppc8_ce_bulk
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached:
    - CRC_VEC_U64_DEF
    - asm_swap_u64
    - CRC_VEC_U64_LOAD_BE
    - CRC_VEC_U64_LOAD
    - _gcry_bswap32
    - CRC_VEC_SWAP_TO_LE
    - _gcry_bswap64
    - vec_sld_u32
    - asm_vpmsumd
    - CRC_VEC_SWAP
    - vec_perm
    - CRC_VEC_U64_LOAD_LE
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE crc32_ppc8_ce_bulk (u32 *pcrc, const byte *inbuf,
      size_t inlen,\n\t\t    const struct crc32_consts_s *consts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRC_VEC_U64_LOAD
      Src: /src/libgcrypt/cipher/crc-ppc.c:565,1
    - Dst: CRC_VEC_U64_DEF
      Src: /src/libgcrypt/cipher/crc-ppc.c:566,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:567,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/crc-ppc.c:569,1
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/crc-ppc.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - crc
    - consts
    argTypes:
    - u32
    - u32
    - struct crc32_consts_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 571
    functionName: crc32_ppc8_ce_reduction_4
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached:
    - CRC_VEC_U64_DEF
    - CRC_VEC_U64_LOAD
    - asm_vpmsumd
    - _gcry_bswap32
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE crc32_ppc8_ce_reduction_4 (u32 data, u32 crc,\n\t\t\t
      \  const struct crc32_consts_s *consts)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/crc-ppc.c:583,1
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/crc-ppc.c:585,1
    - Dst: crc32_ppc8_ce_reduction_4
      Src: /src/libgcrypt/cipher/crc-ppc.c:590,1
    - Dst: crc32_ppc8_ce_reduction_4
      Src: /src/libgcrypt/cipher/crc-ppc.c:602,1
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/crc-ppc.c:608,1
    - Dst: crc32_ppc8_ce_reduction_4
      Src: /src/libgcrypt/cipher/crc-ppc.c:610,1
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/crc-ppc.c:617,1
    - Dst: crc32_ppc8_ce_reduction_4
      Src: /src/libgcrypt/cipher/crc-ppc.c:619,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 4
    argNames:
    - pcrc
    - inbuf
    - inlen
    - consts
    argTypes:
    - u32*
    - byte*
    - size_t
    - struct crc32_consts_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 624
    functionName: crc32_less_than_16
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached:
    - buf_get_le32
    - crc32_ppc8_ce_reduction_4
    - _gcry_bswap32
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE crc32_less_than_16 (u32 *pcrc, const byte *inbuf,
      size_t inlen,\n\t\t    const struct crc32_consts_s *consts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crc32r_ppc8_ce_bulk
      Src: /src/libgcrypt/cipher/crc-ppc.c:635,1
    - Dst: crc32r_less_than_16
      Src: /src/libgcrypt/cipher/crc-ppc.c:637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pcrc
    - inbuf
    - inlen
    argTypes:
    - u32*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 638
    functionName: ASM_FUNC_ATTR::_gcry_crc32_ppc8_vpmsum
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached:
    - crc32r_ppc8_ce_bulk
    - crc32r_less_than_16
    linkageType: ''
    returnType: void
    signature: 'void ASM_FUNC_ATTR

      _gcry_crc32_ppc8_vpmsum (u32 *pcrc, const byte *inbuf, size_t inlen)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crc32_ppc8_ce_bulk
      Src: /src/libgcrypt/cipher/crc-ppc.c:651,1
    - Dst: crc32_less_than_16
      Src: /src/libgcrypt/cipher/crc-ppc.c:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pcrc
    - inbuf
    - inlen
    argTypes:
    - u32*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 654
    functionName: ASM_FUNC_ATTR::_gcry_crc24rfc2440_ppc8_vpmsum
    functionSourceFile: /src/libgcrypt/cipher/crc-ppc.c
    functionUses: 0
    functionsReached:
    - crc32_less_than_16
    - crc32_ppc8_ce_bulk
    linkageType: ''
    returnType: void
    signature: 'void ASM_FUNC_ATTR

      _gcry_crc24rfc2440_ppc8_vpmsum (u32 *pcrc, const byte *inbuf, size_t inlen)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_aesni_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-vaes-i386.c:105,1
    - Dst: _gcry_vaes_avx2_ecb_crypt_i386
      Src: /src/libgcrypt/cipher/rijndael-vaes-i386.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - context
    - outbuf
    - inbuf
    - nblocks
    - encrypt
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: _gcry_aes_vaes_ecb_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vaes-i386.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_aesni_prepare_decryption
    - _gcry_vaes_avx2_ecb_crypt_i386
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_vaes_ecb_crypt (void *context, void *outbuf,\n\t\t\t
      \ const void *inbuf, size_t nblocks,\n\t\t\t  int encrypt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_aesni_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-vaes-i386.c:124,1
    - Dst: _gcry_vaes_avx2_cbc_dec_i386
      Src: /src/libgcrypt/cipher/rijndael-vaes-i386.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: _gcry_aes_vaes_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vaes-i386.c
    functionUses: 0
    functionsReached:
    - _gcry_vaes_avx2_cbc_dec_i386
    - _gcry_aes_aesni_prepare_decryption
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_vaes_cbc_dec (void *context, unsigned char *iv,\n\t\t\tvoid
      *outbuf, const void *inbuf,\n\t\t\tsize_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_vaes_avx2_cfb_dec_i386
      Src: /src/libgcrypt/cipher/rijndael-vaes-i386.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: _gcry_aes_vaes_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vaes-i386.c
    functionUses: 0
    functionsReached:
    - _gcry_vaes_avx2_cfb_dec_i386
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_vaes_cfb_dec (void *context, unsigned char *iv,\n\t\t\tvoid
      *outbuf, const void *inbuf,\n\t\t\tsize_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_vaes_avx2_ctr_enc_i386
      Src: /src/libgcrypt/cipher/rijndael-vaes-i386.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: _gcry_aes_vaes_ctr_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vaes-i386.c
    functionUses: 0
    functionsReached:
    - _gcry_vaes_avx2_ctr_enc_i386
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_vaes_ctr_enc (void *context, unsigned char *iv,\n\t\t\tvoid
      *outbuf, const void *inbuf,\n\t\t\tsize_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_vaes_avx2_ctr32le_enc_i386
      Src: /src/libgcrypt/cipher/rijndael-vaes-i386.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: _gcry_aes_vaes_ctr32le_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vaes-i386.c
    functionUses: 0
    functionsReached:
    - _gcry_vaes_avx2_ctr32le_enc_i386
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_vaes_ctr32le_enc (void *context, unsigned char *iv,\n\t\t\t
      \   void *outbuf, const void *inbuf,\n\t\t\t    size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_aesni_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-vaes-i386.c:181,1
    - Dst: _gcry_vaes_avx2_ocb_crypt_i386
      Src: /src/libgcrypt/cipher/rijndael-vaes-i386.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 192
    functionName: _gcry_aes_vaes_ocb_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vaes-i386.c
    functionUses: 0
    functionsReached:
    - _gcry_vaes_avx2_ocb_crypt_i386
    - _gcry_aes_aesni_prepare_decryption
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_aes_vaes_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg,\n\t\t\t
      \ const void *inbuf_arg, size_t nblocks,\n\t\t\t  int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_vaes_avx2_ocb_crypt_i386
      Src: /src/libgcrypt/cipher/rijndael-vaes-i386.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - inbuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 210
    functionName: _gcry_aes_vaes_ocb_auth
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vaes-i386.c
    functionUses: 0
    functionsReached:
    - _gcry_vaes_avx2_ocb_crypt_i386
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_aes_vaes_ocb_auth (gcry_cipher_hd_t c, const void *inbuf_arg,\n\t\t\t
      size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_aesni_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-vaes-i386.c:223,1
    - Dst: _gcry_vaes_avx2_xts_crypt_i386
      Src: /src/libgcrypt/cipher/rijndael-vaes-i386.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - context
    - tweak
    - outbuf
    - inbuf
    - nblocks
    - encrypt
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 229
    functionName: _gcry_aes_vaes_xts_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vaes-i386.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_aesni_prepare_decryption
    - _gcry_vaes_avx2_xts_crypt_i386
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_vaes_xts_crypt (void *context, unsigned char *tweak,\n\t\t\t
      \ void *outbuf, const void *inbuf,\n\t\t\t  size_t nblocks, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ghash_setup_armv8_ce_pmull
      Src: /src/libgcrypt/cipher/cipher-gcm.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: ghash_setup_armv8_ce_pmull
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 1
    functionsReached:
    - _gcry_ghash_setup_armv8_ce_pmull
    linkageType: ''
    returnType: void
    signature: void ghash_setup_armv8_ce_pmull (gcry_cipher_hd_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ghash_armv8_ce_pmull
      Src: /src/libgcrypt/cipher/cipher-gcm.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - result
    - buf
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: ghash_armv8_ce_pmull
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 1
    functionsReached:
    - _gcry_ghash_armv8_ce_pmull
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int ghash_armv8_ce_pmull (gcry_cipher_hd_t c, byte *result,
      const byte *buf,\n                      size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_polyval_armv8_ce_pmull
      Src: /src/libgcrypt/cipher/cipher-gcm.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - result
    - buf
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: polyval_armv8_ce_pmull
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 1
    functionsReached:
    - _gcry_polyval_armv8_ce_pmull
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int polyval_armv8_ce_pmull (gcry_cipher_hd_t c, byte *result,
      const byte *buf,\n                        size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ghash_setup_armv7_neon
      Src: /src/libgcrypt/cipher/cipher-gcm.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: ghash_setup_armv7_neon
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 1
    functionsReached:
    - _gcry_ghash_setup_armv7_neon
    linkageType: ''
    returnType: void
    signature: void ghash_setup_armv7_neon (gcry_cipher_hd_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ghash_armv7_neon
      Src: /src/libgcrypt/cipher/cipher-gcm.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - result
    - buf
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: ghash_armv7_neon
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 1
    functionsReached:
    - _gcry_ghash_armv7_neon
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int ghash_armv7_neon (gcry_cipher_hd_t c, byte *result, const
      byte *buf,\n\t\t  size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm.c:142,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm.c:143,1
    - Dst: kimd_execute
      Src: /src/libgcrypt/cipher/cipher-gcm.c:145,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm.c:147,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - c
    - result
    - buf
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: ghash_s390x_kimd
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - wipememory
    - memcpy
    - kimd_execute
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int ghash_s390x_kimd (gcry_cipher_hd_t c, byte *result, const
      byte *buf,\n\t\t  size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ghash_setup_ppc_vpmsum
      Src: /src/libgcrypt/cipher/cipher-gcm.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: ghash_setup_ppc_vpmsum
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 1
    functionsReached:
    - _gcry_ghash_setup_ppc_vpmsum
    linkageType: ''
    returnType: void
    signature: void ghash_setup_ppc_vpmsum (gcry_cipher_hd_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ghash_ppc_vpmsum
      Src: /src/libgcrypt/cipher/cipher-gcm.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - result
    - buf
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: ghash_ppc_vpmsum
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 1
    functionsReached:
    - _gcry_ghash_ppc_vpmsum
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int ghash_ppc_vpmsum (gcry_cipher_hd_t c, byte *result, const
      byte *buf,\n\t\t  size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - tab
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 249
    functionName: prefetch_table
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prefetch_table(const void *tab, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prefetch_table
      Src: /src/libgcrypt/cipher/cipher-gcm.c:263,1
    - Dst: prefetch_table
      Src: /src/libgcrypt/cipher/cipher-gcm.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - gcmM
    - gcmM_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: do_prefetch_tables
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - prefetch_table
    linkageType: ''
    returnType: void
    signature: void do_prefetch_tables (const void *gcmM, size_t gcmM_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - b0
    - b1
    argTypes:
    - u64*
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: bshift
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bshift (u64 * b0, u64 * b1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-gcm.c:290,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-gcm.c:291,1
    - Dst: bshift
      Src: /src/libgcrypt/cipher/cipher-gcm.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - h
    - M
    argTypes:
    - unsigned char*
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 313
    functionName: do_fillM
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - bshift
    - buf_get_be64
    linkageType: ''
    returnType: void
    signature: void do_fillM (unsigned char *h, u64 *M)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-gcm.c:325,1
    - Dst: be_bswap64
      Src: /src/libgcrypt/cipher/cipher-gcm.c:326,1
    - Dst: be_bswap64
      Src: /src/libgcrypt/cipher/cipher-gcm.c:327,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-gcm.c:380,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-gcm.c:381,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 3
    argNames:
    - result
    - buf
    - gcmM
    argTypes:
    - unsigned char*
    - unsigned char*
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 385
    functionName: do_ghash
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - be_bswap64
    - cipher_block_xor
    - buf_put_be64
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_ghash (unsigned char *result, const unsigned char *buf,
      const u64 *gcmM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - M
    - i
    argTypes:
    - u32*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 404
    functionName: bshift
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bshift (u32 * M, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cipher-gcm.c:416,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cipher-gcm.c:417,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cipher-gcm.c:418,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cipher-gcm.c:419,1
    - Dst: bshift
      Src: /src/libgcrypt/cipher/cipher-gcm.c:428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - h
    - M
    argTypes:
    - unsigned char*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 448
    functionName: do_fillM
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - buf_get_be32
    - bshift
    linkageType: ''
    returnType: void
    signature: void do_fillM (unsigned char *h, u32 *M)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-gcm.c:460,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cipher-gcm.c:501,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cipher-gcm.c:502,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cipher-gcm.c:503,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cipher-gcm.c:504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 3
    argNames:
    - result
    - buf
    - gcmM
    argTypes:
    - unsigned char*
    - unsigned char*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 508
    functionName: do_ghash
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor
    - buf_put_be32
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_ghash (unsigned char *result, const unsigned char *buf,
      const u32 *gcmM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: fillM
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fillM(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - result
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 514
    functionName: GHASH
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GHASH(c, result, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 516
    functionName: prefetch_tables
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prefetch_tables(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 531
    functionName: bshift
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long bshift (unsigned long *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-gcm.c:545,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-gcm.c:554,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-gcm.c:561,1
    - Dst: bshift
      Src: /src/libgcrypt/cipher/cipher-gcm.c:562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - hsub
    - result
    - buf
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 577
    functionName: do_ghash
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - bshift
    - cipher_block_xor
    - memset
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_ghash (unsigned char *hsub, unsigned char *result,
      const unsigned char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 580
    functionName: fillM
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fillM(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - result
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 581
    functionName: GHASH
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GHASH(c, result, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 582
    functionName: prefetch_tables
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prefetch_tables(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prefetch_tables
      Src: /src/libgcrypt/cipher/cipher-gcm.c:593,1
    - Dst: GHASH
      Src: /src/libgcrypt/cipher/cipher-gcm.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - c
    - result
    - buf
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 603
    functionName: ghash_internal
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - GHASH
    - prefetch_tables
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int ghash_internal (gcry_cipher_hd_t c, byte *result, const
      byte *buf,\n                size_t nblocks)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/cipher-gcm.c:609,1
    - Dst: _gcry_ghash_setup_intel_pclmul
      Src: /src/libgcrypt/cipher/cipher-gcm.c:621,1
    - Dst: ghash_setup_armv8_ce_pmull
      Src: /src/libgcrypt/cipher/cipher-gcm.c:629,1
    - Dst: ghash_setup_armv7_neon
      Src: /src/libgcrypt/cipher/cipher-gcm.c:636,1
    - Dst: _gcry_ghash_setup_aarch64_simd
      Src: /src/libgcrypt/cipher/cipher-gcm.c:643,1
    - Dst: _gcry_ghash_setup_riscv_zvkg
      Src: /src/libgcrypt/cipher/cipher-gcm.c:651,1
    - Dst: _gcry_ghash_setup_riscv_zbb_zbc
      Src: /src/libgcrypt/cipher/cipher-gcm.c:664,1
    - Dst: ghash_setup_ppc_vpmsum
      Src: /src/libgcrypt/cipher/cipher-gcm.c:671,1
    - Dst: kimd_query
      Src: /src/libgcrypt/cipher/cipher-gcm.c:677,1
    - Dst: km_function_to_mask
      Src: /src/libgcrypt/cipher/cipher-gcm.c:677,1
    - Dst: fillM
      Src: /src/libgcrypt/cipher/cipher-gcm.c:687,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 689
    functionName: setupM
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - _gcry_ghash_setup_aarch64_simd
    - _gcry_get_hw_features
    - kimd_query
    - _gcry_ghash_setup_riscv_zbb_zbc
    - ghash_setup_armv8_ce_pmull
    - km_function_to_mask
    - _gcry_ghash_setup_intel_pclmul
    - ghash_setup_ppc_vpmsum
    - fillM
    - ghash_setup_armv7_neon
    - _gcry_ghash_setup_riscv_zvkg
    linkageType: ''
    returnType: void
    signature: void setupM (gcry_cipher_hd_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ghash_setup_intel_pclmul
      Src: /src/libgcrypt/cipher/cipher-gcm.c:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' HWF_INTEL_PCLMUL'
    argTypes:
    - features
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 622
    functionName: if
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 7
    functionsReached:
    - _gcry_ghash_setup_intel_pclmul
    linkageType: ''
    returnType: else
    signature: else if (features & HWF_INTEL_PCLMUL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ghash_setup_armv8_ce_pmull
      Src: /src/libgcrypt/cipher/cipher-gcm.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' HWF_ARM_PMULL'
    argTypes:
    - features
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 630
    functionName: if
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 7
    functionsReached:
    - ghash_setup_armv8_ce_pmull
    linkageType: ''
    returnType: else
    signature: else if (features & HWF_ARM_PMULL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ghash_setup_armv7_neon
      Src: /src/libgcrypt/cipher/cipher-gcm.c:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' HWF_ARM_NEON'
    argTypes:
    - features
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: if
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 7
    functionsReached:
    - ghash_setup_armv7_neon
    linkageType: ''
    returnType: else
    signature: else if (features & HWF_ARM_NEON)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ghash_setup_aarch64_simd
      Src: /src/libgcrypt/cipher/cipher-gcm.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' HWF_ARM_NEON'
    argTypes:
    - features
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 644
    functionName: if
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 7
    functionsReached:
    - _gcry_ghash_setup_aarch64_simd
    linkageType: ''
    returnType: else
    signature: else if (features & HWF_ARM_NEON)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ghash_setup_ppc_vpmsum
      Src: /src/libgcrypt/cipher/cipher-gcm.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' HWF_PPC_VCRYPTO'
    argTypes:
    - features
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: if
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 7
    functionsReached:
    - ghash_setup_ppc_vpmsum
    linkageType: ''
    returnType: else
    signature: else if (features & HWF_PPC_VCRYPTO)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kimd_query
      Src: /src/libgcrypt/cipher/cipher-gcm.c:677,1
    - Dst: km_function_to_mask
      Src: /src/libgcrypt/cipher/cipher-gcm.c:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' HWF_S390X_MSA'
    argTypes:
    - features
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 681
    functionName: if
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 7
    functionsReached:
    - km_function_to_mask
    - kimd_query
    linkageType: ''
    returnType: else
    signature: else if (features & HWF_S390X_MSA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cipher_bytecounter_add
      Src: /src/libgcrypt/cipher/cipher-gcm.c:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctr
    - add
    argTypes:
    - u32[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 696
    functionName: gcm_bytecounter_add
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - cipher_bytecounter_add
    linkageType: ''
    returnType: void
    signature: void gcm_bytecounter_add (u32 ctr[2], size_t add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be_bswap32
      Src: /src/libgcrypt/cipher/cipher-gcm.c:707,1
    - Dst: be_bswap32
      Src: /src/libgcrypt/cipher/cipher-gcm.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctr
    - add
    argTypes:
    - byte*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 711
    functionName: gcm_add32_be128
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - be_bswap32
    linkageType: ''
    returnType: u32
    signature: u32 gcm_add32_be128 (byte *ctr, unsigned int add)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctr
    argTypes:
    - u32[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 727
    functionName: gcm_check_datalen
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gcm_check_datalen (u32 ctr[2])
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctr
    argTypes:
    - u32[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 743
    functionName: gcm_check_aadlen_or_ivlen
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gcm_check_aadlen_or_ivlen (u32 ctr[2])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-gcm.c:766,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-gcm.c:780,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/cipher-gcm.c:787,1
    - Dst: ghash_fn
      Src: /src/libgcrypt/cipher/cipher-gcm.c:790,1
    - Dst: ghash_fn
      Src: /src/libgcrypt/cipher/cipher-gcm.c:798,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-gcm.c:808,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 5
    argNames:
    - c
    - hash
    - buf
    - buflen
    - do_padding
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 809
    functionName: do_ghash_buf
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    - _gcry_burn_stack
    - buf_cpy
    - memset
    - ghash_fn
    linkageType: ''
    returnType: void
    signature: "void do_ghash_buf(gcry_cipher_hd_t c, byte *hash, const byte *buf,\n
      \            size_t buflen, int do_padding)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/cipher-gcm.c:821,1
    - Dst: gcm_add32_be128
      Src: /src/libgcrypt/cipher/cipher-gcm.c:843,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cipher-gcm.c:859,1
    - Dst: _gcry_cipher_ctr_encrypt
      Src: /src/libgcrypt/cipher/cipher-gcm.c:863,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/cipher-gcm.c:870,1
    - Dst: gcm_add32_be128
      Src: /src/libgcrypt/cipher/cipher-gcm.c:870,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-gcm.c:873,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm.c:875,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 812
    functionDepth: 2
    functionLinenumber: 812
    functionLinenumberEnd: 885
    functionName: gcm_ctr_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    - gcm_add32_be128
    - wipememory
    - buf_cpy
    - cipher_block_cpy
    - _gcry_cipher_ctr_encrypt
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t gcm_ctr_encrypt (gcry_cipher_hd_t c, byte *outbuf,
      size_t outbuflen,\n                 const byte *inbuf, size_t inbuflen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_hd_t::bulk::gcm_crypt
      Src: /src/libgcrypt/cipher/cipher-gcm.c:908,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/cipher-gcm.c:929,1
    - Dst: do_ghash_buf
      Src: /src/libgcrypt/cipher/cipher-gcm.c:941,1
    - Dst: gcm_ctr_encrypt
      Src: /src/libgcrypt/cipher/cipher-gcm.c:943,1
    - Dst: do_ghash_buf
      Src: /src/libgcrypt/cipher/cipher-gcm.c:948,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 6
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 888
    functionDepth: 3
    functionLinenumber: 888
    functionLinenumberEnd: 957
    functionName: gcm_crypt_inner
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - gcm_ctr_encrypt
    - gcry_cipher_hd_t::bulk::gcm_crypt
    - do_ghash_buf
    - gcry_assert
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t gcm_crypt_inner (gcry_cipher_hd_t c, byte *outbuf,
      size_t outbuflen,\n\t\t const byte *inbuf, size_t inbuflen, int encrypt)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_gcm_setiv_zero
      Src: /src/libgcrypt/cipher/cipher-gcm.c:977,1
    - Dst: do_ghash_buf
      Src: /src/libgcrypt/cipher/cipher-gcm.c:985,1
    - Dst: gcm_bytecounter_add
      Src: /src/libgcrypt/cipher/cipher-gcm.c:989,1
    - Dst: gcm_check_datalen
      Src: /src/libgcrypt/cipher/cipher-gcm.c:990,1
    - Dst: gcm_crypt_inner
      Src: /src/libgcrypt/cipher/cipher-gcm.c:996,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 960
    functionDepth: 4
    functionLinenumber: 960
    functionLinenumberEnd: 997
    functionName: _gcry_cipher_gcm_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_gcm_setiv_zero
    - gcm_bytecounter_add
    - gcm_crypt_inner
    - gcm_check_datalen
    - do_ghash_buf
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_gcm_encrypt (gcry_cipher_hd_t c,\n                          byte
      *outbuf, size_t outbuflen,\n                          const byte *inbuf, size_t
      inbuflen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_gcm_setiv_zero
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1017,1
    - Dst: do_ghash_buf
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1022,1
    - Dst: gcm_bytecounter_add
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1026,1
    - Dst: gcm_check_datalen
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1027,1
    - Dst: gcm_crypt_inner
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1033,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1000
    functionDepth: 4
    functionLinenumber: 1000
    functionLinenumberEnd: 1034
    functionName: _gcry_cipher_gcm_decrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_gcm_setiv_zero
    - gcm_bytecounter_add
    - gcm_crypt_inner
    - gcm_check_datalen
    - do_ghash_buf
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_gcm_decrypt (gcry_cipher_hd_t c,\n                          byte
      *outbuf, size_t outbuflen,\n                          const byte *inbuf, size_t
      inbuflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_gcm_setiv_zero
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1052,1
    - Dst: gcm_bytecounter_add
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1054,1
    - Dst: gcm_check_aadlen_or_ivlen
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1055,1
    - Dst: do_ghash_buf
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1061,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - c
    - aadbuf
    - aadbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1037
    functionDepth: 2
    functionLinenumber: 1037
    functionLinenumberEnd: 1064
    functionName: _gcry_cipher_gcm_authenticate
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - gcm_check_aadlen_or_ivlen
    - gcm_bytecounter_add
    - _gcry_cipher_gcm_setiv_zero
    - do_ghash_buf
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_gcm_authenticate (gcry_cipher_hd_t c,\n
      \                              const byte * aadbuf, size_t aadbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupM
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1067
    functionDepth: 2
    functionLinenumber: 1067
    functionLinenumberEnd: 1071
    functionName: _gcry_cipher_gcm_setupM
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - setupM
    linkageType: ''
    returnType: void
    signature: void _gcry_cipher_gcm_setupM (gcry_cipher_hd_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1077,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1079,1
    - Dst: setupM
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1074
    functionDepth: 2
    functionLinenumber: 1074
    functionLinenumberEnd: 1082
    functionName: _gcry_cipher_gcm_setkey
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - setupM
    - memset
    - gcry_cipher_hd_t::spec::encrypt
    linkageType: ''
    returnType: void
    signature: void _gcry_cipher_gcm_setkey (gcry_cipher_hd_t c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1088,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1089,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1090,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1106,1
    - Dst: gcm_bytecounter_add
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1108,1
    - Dst: gcm_check_aadlen_or_ivlen
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1109,1
    - Dst: do_ghash_buf
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1115,1
    - Dst: be_bswap32
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1118,1
    - Dst: be_bswap32
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1119,1
    - Dst: do_ghash_buf
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1125,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1127,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1128,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1133,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1138,1
    - Dst: gcm_add32_be128
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 3
    argNames:
    - c
    - iv
    - ivlen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1085
    functionDepth: 2
    functionLinenumber: 1085
    functionLinenumberEnd: 1147
    functionName: _gcry_cipher_gcm_initiv
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - be_bswap32
    - gcm_bytecounter_add
    - gcm_add32_be128
    - wipememory
    - memset
    - gcry_cipher_hd_t::spec::encrypt
    - gcm_check_aadlen_or_ivlen
    - memcpy
    - do_ghash_buf
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cipher_gcm_initiv (gcry_cipher_hd_t c, const
      byte *iv, size_t ivlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_gcm_initiv
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - c
    - iv
    - ivlen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1150
    functionDepth: 3
    functionLinenumber: 1150
    functionLinenumberEnd: 1157
    functionName: _gcry_cipher_gcm_setiv
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_gcm_initiv
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cipher_gcm_setiv (gcry_cipher_hd_t c, const byte
      *iv, size_t ivlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1166,1
    - Dst: _gcry_cipher_gcm_setiv
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1159
    functionDepth: 4
    functionLinenumber: 1159
    functionLinenumberEnd: 1173
    functionName: _gcry_cipher_gcm_setiv_zero
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 3
    functionsReached:
    - _gcry_cipher_gcm_setiv
    - fips_mode
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cipher_gcm_setiv_zero (gcry_cipher_hd_t c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_nonce_ok_len
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1192,1
    - Dst: gcm_generate_iv
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1195,1
    - Dst: _gcry_cipher_gcm_initiv
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1201,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1203,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - c
    - ivout
    - ivoutlen
    - nonce
    - noncelen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1177
    functionDepth: 3
    functionLinenumber: 1177
    functionLinenumberEnd: 1205
    functionName: _gcry_cipher_gcm_geniv
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_gcm_initiv
    - gcm_generate_iv
    - is_nonce_ok_len
    - wipememory
    - buf_cpy
    linkageType: ''
    returnType: void
    signature: "void _gcry_cipher_gcm_geniv (gcry_cipher_hd_t c,\n                        byte
      *ivout, size_t ivoutlen, const byte *nonce,\n                        size_t
      noncelen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - taglen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1227
    functionName: is_tag_length_valid
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_tag_length_valid(size_t taglen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: is_tag_length_valid
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1233,1
    - Dst: be_bswap32
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1246,1
    - Dst: be_bswap32
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1247,1
    - Dst: be_bswap32
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1250,1
    - Dst: be_bswap32
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1251,1
    - Dst: do_ghash_buf
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1255,1
    - Dst: do_ghash_buf
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1260,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1262,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1266,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1267,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1268,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1269,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1270,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1280,1
    - Dst: is_tag_length_valid
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1286,1
    - Dst: buf_eq_const
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1287,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - c
    - outbuf
    - outbuflen
    - check
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1229
    functionDepth: 2
    functionLinenumber: 1229
    functionLinenumberEnd: 1292
    functionName: _gcry_cipher_gcm_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor
    - be_bswap32
    - buf_eq_const
    - wipememory
    - is_tag_length_valid
    - memcpy
    - do_ghash_buf
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_gcm_tag (gcry_cipher_hd_t c,\n                      byte
      * outbuf, size_t outbuflen, int check)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_gcm_tag
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - c
    - outtag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1295
    functionDepth: 3
    functionLinenumber: 1295
    functionLinenumberEnd: 1304
    functionName: _gcry_cipher_gcm_get_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_gcm_tag
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_gcm_get_tag (gcry_cipher_hd_t c, unsigned
      char *outtag,\n                          size_t taglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_gcm_tag
      Src: /src/libgcrypt/cipher/cipher-gcm.c:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - intag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1306
    functionDepth: 3
    functionLinenumber: 1306
    functionLinenumberEnd: 1311
    functionName: _gcry_cipher_gcm_check_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_gcm_tag
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_gcm_check_tag (gcry_cipher_hd_t c, const
      unsigned char *intag,\n                            size_t taglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: cast_u8m1_u32m1
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_u8m1_u32m1(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: cast_u32m1_u8m1
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_u32m1_u8m1(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cast_u8m1_u32m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:49,1
    - Dst: __riscv_vle8_v_u8m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:49,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - vl_u32
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: vuint32m1_t::unaligned_load_u32m1
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c
    functionUses: 0
    functionsReached:
    - __riscv_vle8_v_u8m1
    - __riscv_vle32_v_u32m1
    - cast_u8m1_u32m1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vuint32m1_t

      unaligned_load_u32m1(const void *ptr, size_t vl_u32)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vle8_v_u8m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:61,1
    - Dst: cast_u8m1_u32m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:63,1
    - Dst: __riscv_vrgather_vv_u8m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:64,1
    - Dst: cast_u32m1_u8m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vec
    - vl_u32
    argTypes:
    - vuint32m1_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: vuint32m1_t::bswap128_u32m1
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c
    functionUses: 0
    functionsReached:
    - __riscv_vle8_v_u8m1
    - __riscv_vrgather_vv_u8m1
    - cast_u8m1_u32m1
    - cast_u32m1_u8m1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vuint32m1_t

      bswap128_u32m1(vuint32m1_t vec, size_t vl_u32)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vsetvl_e32m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: _gcry_ghash_setup_riscv_zvkg
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c
    functionUses: 1
    functionsReached:
    - __riscv_vsetvl_e32m1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: ASM_FUNC_ATTR_NOINLINE _gcry_ghash_setup_riscv_zvkg(gcry_cipher_hd_t
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:88,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:89,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:93,1
    - Dst: __riscv_vghsh_vv_u32m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:97,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:100,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - c
    - result
    - buf
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 105
    functionName: _gcry_ghash_riscv_zvkg
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c
    functionUses: 0
    functionsReached:
    - unaligned_load_u32m1
    - __riscv_vle32_v_u32m1
    - __riscv_vse32_v_u32m1
    - __riscv_vghsh_vv_u32m1
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE unsigned
    signature: "ASM_FUNC_ATTR_NOINLINE unsigned _gcry_ghash_riscv_zvkg(gcry_cipher_hd_t
      c, byte *result, const byte *buf,\n\t\t       size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:114,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:115,1
    - Dst: bswap128_u32m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:119,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:119,1
    - Dst: __riscv_vghsh_vv_u32m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:123,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:126,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - c
    - result
    - buf
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 131
    functionName: _gcry_polyval_riscv_zvkg
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c
    functionUses: 0
    functionsReached:
    - bswap128_u32m1
    - unaligned_load_u32m1
    - __riscv_vle32_v_u32m1
    - __riscv_vse32_v_u32m1
    - __riscv_vghsh_vv_u32m1
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE unsigned
    signature: "ASM_FUNC_ATTR_NOINLINE unsigned _gcry_polyval_riscv_zvkg(gcry_cipher_hd_t
      c, byte *result, const byte *buf,\n\t\t       size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - vector16x_u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: vector16x_u8::asm_sbox_be
    functionSourceFile: /src/libgcrypt/cipher/sm4-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector16x_u8

      asm_sbox_be(vector16x_u8 b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - t1
    - ','
    - t2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: transpose_4x4
    functionSourceFile: /src/libgcrypt/cipher/sm4-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: transpose_4x4(x0, x1, x2, x3, t1, t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - x
    - ','
    - lo_t
    - ','
    - hi_t
    - ','
    - mask4bit
    - ','
    - tmp0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: filter_8bit
    functionSourceFile: /src/libgcrypt/cipher/sm4-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: filter_8bit(x, lo_t, hi_t, mask4bit, tmp0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - round
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: GET_RKEY
    functionSourceFile: /src/libgcrypt/cipher/sm4-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_RKEY(round)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - round
    - ','
    - s0
    - ','
    - s1
    - ','
    - s2
    - ','
    - s3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: ROUND4
    functionSourceFile: /src/libgcrypt/cipher/sm4-ppc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND4(round, s0, s1, s2, s3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - round
    - ','
    - s0
    - ','
    - s1
    - ','
    - s2
    - ','
    - s3
    - ','
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - )
    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: 128
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: ROUND8
    functionSourceFile: /src/libgcrypt/cipher/sm4-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND8(round, s0, s1, s2, s3, r0, r1, r2, r3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:154,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:154,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:155,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:155,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:156,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:156,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:157,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:157,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:158,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:158,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:159,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:159,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:160,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:160,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:161,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:161,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:163,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:163,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:164,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:164,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:165,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:165,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:166,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:166,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:167,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:167,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:168,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:168,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:169,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:169,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:170,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:170,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:172,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:173,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:174,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:175,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:179,1
    - Dst: ROUND8
      Src: /src/libgcrypt/cipher/sm4-ppc.c:180,1
    - Dst: ROUND8
      Src: /src/libgcrypt/cipher/sm4-ppc.c:181,1
    - Dst: ROUND8
      Src: /src/libgcrypt/cipher/sm4-ppc.c:182,1
    - Dst: ROUND8
      Src: /src/libgcrypt/cipher/sm4-ppc.c:183,1
    - Dst: ROUND8
      Src: /src/libgcrypt/cipher/sm4-ppc.c:184,1
    - Dst: ROUND8
      Src: /src/libgcrypt/cipher/sm4-ppc.c:185,1
    - Dst: ROUND8
      Src: /src/libgcrypt/cipher/sm4-ppc.c:186,1
    - Dst: ROUND8
      Src: /src/libgcrypt/cipher/sm4-ppc.c:187,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:190,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:191,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:192,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:193,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:195,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:195,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:196,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:196,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:197,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:197,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:198,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:198,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:199,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:199,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:200,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:200,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:201,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:201,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:202,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:202,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:204,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:204,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:205,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:205,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:206,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:206,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:207,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:207,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:208,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:208,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:209,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:209,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:210,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:210,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:211,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 3
    argNames:
    - rk
    - out
    - in
    argTypes:
    - u32*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 212
    functionName: sm4_ppc_crypt_blk16
    functionSourceFile: /src/libgcrypt/cipher/sm4-ppc.c
    functionUses: 0
    functionsReached:
    - vec_xl
    - ROUND8
    - vec_xst
    - vec_revb
    - transpose_4x4
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE sm4_ppc_crypt_blk16(u32 *rk, byte *out, const
      byte *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:222,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:222,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:223,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:223,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:224,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:224,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:225,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:225,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:226,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:226,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:227,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:227,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:228,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:228,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:229,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:229,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:231,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:232,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:236,1
    - Dst: ROUND8
      Src: /src/libgcrypt/cipher/sm4-ppc.c:237,1
    - Dst: ROUND8
      Src: /src/libgcrypt/cipher/sm4-ppc.c:238,1
    - Dst: ROUND8
      Src: /src/libgcrypt/cipher/sm4-ppc.c:239,1
    - Dst: ROUND8
      Src: /src/libgcrypt/cipher/sm4-ppc.c:240,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:243,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:244,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:246,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:246,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:247,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:247,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:248,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:248,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:249,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:249,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:250,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:250,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:251,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:251,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:252,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:252,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:253,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 3
    argNames:
    - rk
    - out
    - in
    argTypes:
    - u32*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 254
    functionName: sm4_ppc_crypt_blk8
    functionSourceFile: /src/libgcrypt/cipher/sm4-ppc.c
    functionUses: 0
    functionsReached:
    - vec_xl
    - ROUND8
    - vec_xst
    - vec_revb
    - transpose_4x4
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE sm4_ppc_crypt_blk8(u32 *rk, byte *out, const byte
      *in)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:263,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:263,1
    - Dst: LIKELY
      Src: /src/libgcrypt/cipher/sm4-ppc.c:267,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:268,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:268,1
    - Dst: LIKELY
      Src: /src/libgcrypt/cipher/sm4-ppc.c:269,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:270,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:270,1
    - Dst: LIKELY
      Src: /src/libgcrypt/cipher/sm4-ppc.c:271,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:272,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:272,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:274,1
    - Dst: vec_xl
      Src: /src/libgcrypt/cipher/sm4-ppc.c:278,1
    - Dst: ROUND4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:279,1
    - Dst: ROUND4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:280,1
    - Dst: ROUND4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:281,1
    - Dst: ROUND4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:282,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:285,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:287,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:287,1
    - Dst: LIKELY
      Src: /src/libgcrypt/cipher/sm4-ppc.c:288,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:289,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:289,1
    - Dst: LIKELY
      Src: /src/libgcrypt/cipher/sm4-ppc.c:290,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:291,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:291,1
    - Dst: LIKELY
      Src: /src/libgcrypt/cipher/sm4-ppc.c:292,1
    - Dst: vec_xst
      Src: /src/libgcrypt/cipher/sm4-ppc.c:293,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/sm4-ppc.c:293,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - rk
    - out
    - in
    - nblks
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 294
    functionName: sm4_ppc_crypt_blk1_4
    functionSourceFile: /src/libgcrypt/cipher/sm4-ppc.c
    functionUses: 0
    functionsReached:
    - ROUND4
    - vec_xl
    - LIKELY
    - vec_xst
    - vec_revb
    - transpose_4x4
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE sm4_ppc_crypt_blk1_4(u32 *rk, byte *out, const
      byte *in, size_t nblks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sm4_ppc_crypt_blk16
      Src: /src/libgcrypt/cipher/sm4-ppc.c:301,1
    - Dst: sm4_ppc_crypt_blk8
      Src: /src/libgcrypt/cipher/sm4-ppc.c:307,1
    - Dst: sm4_ppc_crypt_blk1_4
      Src: /src/libgcrypt/cipher/sm4-ppc.c:316,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/sm4-ppc.c:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - rk
    - out
    - in
    - nblks
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 326
    functionName: sm4_ppc_crypt_blk1_16
    functionSourceFile: /src/libgcrypt/cipher/sm4-ppc.c
    functionUses: 0
    functionsReached:
    - clear_vec_regs
    - sm4_ppc_crypt_blk16
    - sm4_ppc_crypt_blk1_4
    - sm4_ppc_crypt_blk8
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE unsigned
    signature: ASM_FUNC_ATTR_INLINE unsigned sm4_ppc_crypt_blk1_16(u32 *rk, byte *out,
      const byte *in, size_t nblks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sm4_ppc_crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4-ppc.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rk
    - out
    - in
    - nblks
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: _gcry_sm4_ppc8le_crypt_blk1_16
    functionSourceFile: /src/libgcrypt/cipher/sm4-ppc.c
    functionUses: 0
    functionsReached:
    - sm4_ppc_crypt_blk1_16
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE _gcry_sm4_ppc8le_crypt_blk1_16(u32 *rk, byte
      *out, const byte *in,\n\t\t\t       size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sm4_ppc_crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4-ppc.c:341,1
    - Dst: _gcry_sm4_ppc8le_crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4-ppc.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rk
    - out
    - in
    - nblks
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 4
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: _gcry_sm4_ppc9le_crypt_blk1_16
    functionSourceFile: /src/libgcrypt/cipher/sm4-ppc.c
    functionUses: 0
    functionsReached:
    - sm4_ppc_crypt_blk1_16
    - _gcry_sm4_ppc8le_crypt_blk1_16
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE _gcry_sm4_ppc9le_crypt_blk1_16(u32 *rk, byte
      *out, const byte *in,\n\t\t\t       size_t nblks)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - x
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 93
    functionName: mul_inv
    functionSourceFile: /src/libgcrypt/cipher/idea.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 mul_inv( u16 x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - userkey
    - ek
    argTypes:
    - byte*
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: expand_key
    functionSourceFile: /src/libgcrypt/cipher/idea.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void expand_key( const byte *userkey, u16 *ek )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul_inv
      Src: /src/libgcrypt/cipher/idea.c:123,1
    - Dst: mul_inv
      Src: /src/libgcrypt/cipher/idea.c:126,1
    - Dst: mul_inv
      Src: /src/libgcrypt/cipher/idea.c:136,1
    - Dst: mul_inv
      Src: /src/libgcrypt/cipher/idea.c:139,1
    - Dst: mul_inv
      Src: /src/libgcrypt/cipher/idea.c:148,1
    - Dst: mul_inv
      Src: /src/libgcrypt/cipher/idea.c:151,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/idea.c:155,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/idea.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 2
    argNames:
    - ek
    - dk
    argTypes:
    - u16*
    - u16[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 157
    functionName: invert_key
    functionSourceFile: /src/libgcrypt/cipher/idea.c
    functionUses: 0
    functionsReached:
    - wipememory
    - mul_inv
    - memcpy
    linkageType: ''
    returnType: void
    signature: void invert_key( u16 *ek, u16 dk[IDEA_KEYLEN] )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/idea.c:188,1
    - Dst: MUL
      Src: /src/libgcrypt/cipher/idea.c:196,1
    - Dst: MUL
      Src: /src/libgcrypt/cipher/idea.c:199,1
    - Dst: MUL
      Src: /src/libgcrypt/cipher/idea.c:203,1
    - Dst: MUL
      Src: /src/libgcrypt/cipher/idea.c:207,1
    - Dst: MUL
      Src: /src/libgcrypt/cipher/idea.c:216,1
    - Dst: MUL
      Src: /src/libgcrypt/cipher/idea.c:219,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/idea.c:227,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/idea.c:228,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/idea.c:229,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/idea.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 3
    argNames:
    - outbuf
    - inbuf
    - key
    argTypes:
    - byte*
    - byte*
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 236
    functionName: cipher
    functionSourceFile: /src/libgcrypt/cipher/idea.c
    functionUses: 16
    functionsReached:
    - MUL
    - memcpy
    linkageType: ''
    returnType: void
    signature: void cipher( byte *outbuf, const byte *inbuf, u16 *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: 187
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 187
    functionName: MUL
    functionSourceFile: /src/libgcrypt/cipher/idea.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUL(x,y)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: selftest
      Src: /src/libgcrypt/cipher/idea.c:247,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/idea.c:249,1
    - Dst: expand_key
      Src: /src/libgcrypt/cipher/idea.c:258,1
    - Dst: invert_key
      Src: /src/libgcrypt/cipher/idea.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - c
    - key
    - keylen
    argTypes:
    - IDEA_context*
    - byte*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 261
    functionName: do_setkey
    functionSourceFile: /src/libgcrypt/cipher/idea.c
    functionUses: 0
    functionsReached:
    - expand_key
    - selftest
    - invert_key
    - log_error
    linkageType: ''
    returnType: int
    signature: int do_setkey( IDEA_context *c, const byte *key, unsigned int keylen
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_setkey
      Src: /src/libgcrypt/cipher/idea.c:268,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/idea.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - context
    - key
    - keylen
    - bulk_ops
    argTypes:
    - void*
    - byte*
    - unsigned int
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 272
    functionName: idea_setkey
    functionSourceFile: /src/libgcrypt/cipher/idea.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - do_setkey
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t idea_setkey (void *context, const byte *key, unsigned
      int keylen,\n             cipher_bulk_ops_t *bulk_ops)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cipher
      Src: /src/libgcrypt/cipher/idea.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - outbuf
    - inbuf
    argTypes:
    - IDEA_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: encrypt_block
    functionSourceFile: /src/libgcrypt/cipher/idea.c
    functionUses: 0
    functionsReached:
    - cipher
    linkageType: ''
    returnType: void
    signature: void encrypt_block( IDEA_context *c, byte *outbuf, const byte *inbuf
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_block
      Src: /src/libgcrypt/cipher/idea.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - out
    - in
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: idea_encrypt
    functionSourceFile: /src/libgcrypt/cipher/idea.c
    functionUses: 0
    functionsReached:
    - encrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int idea_encrypt (void *context, byte *out, const byte *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: invert_key
      Src: /src/libgcrypt/cipher/idea.c:293,1
    - Dst: cipher
      Src: /src/libgcrypt/cipher/idea.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - c
    - outbuf
    - inbuf
    argTypes:
    - IDEA_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: decrypt_block
    functionSourceFile: /src/libgcrypt/cipher/idea.c
    functionUses: 2
    functionsReached:
    - invert_key
    - cipher
    linkageType: ''
    returnType: void
    signature: void decrypt_block( IDEA_context *c, byte *outbuf, const byte *inbuf
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decrypt_block
      Src: /src/libgcrypt/cipher/idea.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - out
    - in
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: idea_decrypt
    functionSourceFile: /src/libgcrypt/cipher/idea.c
    functionUses: 0
    functionsReached:
    - decrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int idea_decrypt (void *context, byte *out, const byte *in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/cipher/idea.c:364,1
    - Dst: do_setkey
      Src: /src/libgcrypt/cipher/idea.c:365,1
    - Dst: encrypt_block
      Src: /src/libgcrypt/cipher/idea.c:366,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/idea.c:367,1
    - Dst: decrypt_block
      Src: /src/libgcrypt/cipher/idea.c:369,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/idea.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 375
    functionName: selftest
    functionSourceFile: /src/libgcrypt/cipher/idea.c
    functionUses: 12
    functionsReached:
    - do_setkey
    - encrypt_block
    - DIM
    - decrypt_block
    - memcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest( void )'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - enum kmxx_functions_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: km_function_to_mask
    functionSourceFile: /src/libgcrypt/cipher/asm-inline-s390x.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: ALWAYS_INLINE km_function_to_mask(enum kmxx_functions_e func)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: kimd_query
    functionSourceFile: /src/libgcrypt/cipher/asm-inline-s390x.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: u128_t
    signature: u128_t kimd_query(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 117
    functionName: klmd_query
    functionSourceFile: /src/libgcrypt/cipher/asm-inline-s390x.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u128_t
    signature: u128_t klmd_query(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: pcc_query
    functionSourceFile: /src/libgcrypt/cipher/asm-inline-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u128_t
    signature: u128_t pcc_query(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - func
    - param_block
    - src
    - src_len
    argTypes:
    - unsigned int
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: kimd_execute
    functionSourceFile: /src/libgcrypt/cipher/asm-inline-s390x.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: "ALWAYS_INLINE kimd_execute(unsigned int func, void *param_block, const
      void *src,\n\t     size_t src_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - func
    - param_block
    - src
    - src_len
    argTypes:
    - unsigned int
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 167
    functionName: klmd_execute
    functionSourceFile: /src/libgcrypt/cipher/asm-inline-s390x.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: "ALWAYS_INLINE klmd_execute(unsigned int func, void *param_block, const
      void *src,\n\t     size_t src_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - func
    - param_block
    - dst
    - dst_len
    - src
    - src_len
    argTypes:
    - unsigned int
    - void*
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 183
    functionName: klmd_shake_execute
    functionSourceFile: /src/libgcrypt/cipher/asm-inline-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: "ALWAYS_INLINE klmd_shake_execute(unsigned int func, void *param_block,
      void *dst,\n\t\t   size_t dst_len, const void *src, size_t src_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - func
    - param_block
    argTypes:
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 203
    functionName: pcc_scalar_multiply
    functionSourceFile: /src/libgcrypt/cipher/asm-inline-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ALWAYS_INLINE unsigned
    signature: ALWAYS_INLINE unsigned pcc_scalar_multiply(unsigned int func, void
      *param_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: load_aligned_u64x2
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE load_aligned_u64x2(const void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNLIKELY
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:60,1
    - Dst: load_aligned_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: load_unaligned_u64x2
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - UNLIKELY
    - load_aligned_u64x2
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE load_unaligned_u64x2(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - vec
    argTypes:
    - void*
    - u64x2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: store_aligned_u64x2
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE store_aligned_u64x2(void *ptr, u64x2 vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: byteswap_u64
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE byteswap_u64(u64 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byteswap_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:101,1
    - Dst: byteswap_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vec
    argTypes:
    - u64x2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: byteswap_u64x2
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - byteswap_u64
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE byteswap_u64x2(u64x2 vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - u64x2
    - u64x2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: veor_u64x2
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE veor_u64x2(u64x2 va, u64x2 vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u64
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 133
    functionName: clmul_u64x2
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE clmul_u64x2(u64 a, u64 b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clmul_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:149,1
    - Dst: clmul_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:150,1
    - Dst: clmul_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:151,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:156,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u64x2
    - u64x2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 173
    functionName: pmul_128x128
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - veor_u64x2
    - clmul_u64x2
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE pmul_128x128(u64x2 a, u64x2 b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:178,1
    - Dst: clmul_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:181,1
    - Dst: clmul_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:184,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:185,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - r0r1
    argTypes:
    - u64x2x2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 187
    functionName: reduction
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
    functionUses: 5
    functionsReached:
    - veor_u64x2
    - clmul_u64x2
    - U64_C
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE reduction(u64x2x2 r0r1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load_aligned_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:201,1
    - Dst: load_aligned_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:202,1
    - Dst: byteswap_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:204,1
    - Dst: load_unaligned_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:206,1
    - Dst: byteswap_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:210,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:212,1
    - Dst: load_unaligned_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:216,1
    - Dst: pmul_128x128
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:220,1
    - Dst: byteswap_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:222,1
    - Dst: reduction
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:224,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:226,1
    - Dst: pmul_128x128
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:229,1
    - Dst: reduction
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:230,1
    - Dst: byteswap_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:232,1
    - Dst: store_aligned_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 5
    argNames:
    - c
    - result
    - buf
    - nblocks
    - is_polyval
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 237
    functionName: ghash_polyval_riscv_zbb_zbc
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - store_aligned_u64x2
    - pmul_128x128
    - veor_u64x2
    - byteswap_u64x2
    - reduction
    - load_aligned_u64x2
    - load_unaligned_u64x2
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE unsigned
    signature: "ASM_FUNC_ATTR_INLINE unsigned ghash_polyval_riscv_zbb_zbc(gcry_cipher_hd_t
      c, byte *result, const byte *buf,\n\t\t\t    size_t nblocks, int is_polyval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ghash_polyval_riscv_zbb_zbc
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - result
    - buf
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: _gcry_ghash_riscv_zbb_zbc
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - ghash_polyval_riscv_zbb_zbc
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE unsigned
    signature: "ASM_FUNC_ATTR_NOINLINE unsigned _gcry_ghash_riscv_zbb_zbc(gcry_cipher_hd_t
      c, byte *result, const byte *buf,\n\t\t\t  size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ghash_polyval_riscv_zbb_zbc
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - result
    - buf
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: _gcry_polyval_riscv_zbb_zbc
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - ghash_polyval_riscv_zbb_zbc
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE unsigned
    signature: "ASM_FUNC_ATTR_NOINLINE unsigned _gcry_polyval_riscv_zbb_zbc(gcry_cipher_hd_t
      c, byte *result, const byte *buf,\n\t\t\t    size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:256,1
    - Dst: store_aligned_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - r_out
    - i
    argTypes:
    - void*
    - u64x2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 273
    functionName: gcm_lsh_1
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - store_aligned_u64x2
    - U64_C
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE gcm_lsh_1(void *r_out, u64x2 i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_aligned_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:278,1
    - Dst: byteswap_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:280,1
    - Dst: gcm_lsh_1
      Src: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: _gcry_ghash_setup_riscv_zbb_zbc
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
    functionUses: 1
    functionsReached:
    - byteswap_u64x2
    - gcm_lsh_1
    - load_aligned_u64x2
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: ASM_FUNC_ATTR_NOINLINE _gcry_ghash_setup_riscv_zbb_zbc(gcry_cipher_hd_t
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: le_to_host
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le_to_host(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 83
    functionName: POLY1305_PUSH_REGS
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_PUSH_REGS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: POLY1305_POP_REGS
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_POP_REGS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: POLY1305_LOAD_STATE
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_LOAD_STATE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: POLY1305_STORE_STATE
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_STORE_STATE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - src_offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: POLY1305_BLOCK_PART1
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART1(src_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - src_offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: POLY1305_BLOCK_PART2
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART2(src_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: POLY1305_BLOCK_PART3
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART3()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: POLY1305_BLOCK_PART4
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART4()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: POLY1305_BLOCK_PART5
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART5()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: POLY1305_BLOCK_PART6
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART6()
  - 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: POLY1305_BLOCK_PART7
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART7()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: POLY1305_BLOCK_PART8
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART8()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: POLY1305_BLOCK_PART9
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART9()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: POLY1305_BLOCK_PART10
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART10()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: POLY1305_BLOCK_PART11
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART11()
  - 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: POLY1305_BLOCK_PART12
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART12()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: POLY1305_BLOCK_PART13
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART13()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: POLY1305_BLOCK_PART14
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART14()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: POLY1305_BLOCK_PART15
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART15()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: POLY1305_BLOCK_PART16
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART16()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: POLY1305_BLOCK_PART17
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART17()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: POLY1305_BLOCK_PART18
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART18()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: POLY1305_BLOCK_PART19
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART19()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: POLY1305_BLOCK_PART20
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART20()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: POLY1305_BLOCK_PART21
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART21()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: POLY1305_BLOCK_PART22
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART22()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: POLY1305_BLOCK_PART23
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART23()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: POLY1305_BLOCK_PART24
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART24()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: POLY1305_BLOCK_PART25
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART25()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: POLY1305_BLOCK_PART26
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART26()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: POLY1305_BLOCK_PART27
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART27()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: POLY1305_BLOCK_PART28
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART28()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: POLY1305_BLOCK_PART29
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART29()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: ROTL32
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL32(n,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: LE_SWAP32
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LE_SWAP32(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: LE_READ_UINT32
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LE_READ_UINT32(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_salsa20_amd64_keysetup
      Src: /src/libgcrypt/cipher/salsa20.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - SALSA20_context_t*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: salsa20_keysetup
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached:
    - _gcry_salsa20_amd64_keysetup
    linkageType: ''
    returnType: void
    signature: void salsa20_keysetup(SALSA20_context_t *ctx, const byte *key, int
      keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_salsa20_amd64_ivsetup
      Src: /src/libgcrypt/cipher/salsa20.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - iv
    argTypes:
    - SALSA20_context_t*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: salsa20_ivsetup
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached:
    - _gcry_salsa20_amd64_ivsetup
    linkageType: ''
    returnType: void
    signature: void salsa20_ivsetup(SALSA20_context_t *ctx, const byte *iv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/salsa20.c:158,1
    - Dst: _gcry_salsa20_amd64_encrypt_blocks
      Src: /src/libgcrypt/cipher/salsa20.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - ctx
    - rounds
    argTypes:
    - u32*
    - SALSA20_context_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: salsa20_core
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached:
    - _gcry_salsa20_amd64_encrypt_blocks
    - memset
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int salsa20_core (u32 *dst, SALSA20_context_t *ctx, unsigned
      int rounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: SALSA20_CORE_DEBUG
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SALSA20_CORE_DEBUG(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: QROUND
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QROUND(x0, x1, x2, x3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/salsa20.c:198,1
    - Dst: SALSA20_CORE_DEBUG
      Src: /src/libgcrypt/cipher/salsa20.c:201,1
    - Dst: QROUND
      Src: /src/libgcrypt/cipher/salsa20.c:202,1
    - Dst: QROUND
      Src: /src/libgcrypt/cipher/salsa20.c:203,1
    - Dst: QROUND
      Src: /src/libgcrypt/cipher/salsa20.c:204,1
    - Dst: QROUND
      Src: /src/libgcrypt/cipher/salsa20.c:205,1
    - Dst: SALSA20_CORE_DEBUG
      Src: /src/libgcrypt/cipher/salsa20.c:207,1
    - Dst: QROUND
      Src: /src/libgcrypt/cipher/salsa20.c:208,1
    - Dst: QROUND
      Src: /src/libgcrypt/cipher/salsa20.c:209,1
    - Dst: QROUND
      Src: /src/libgcrypt/cipher/salsa20.c:210,1
    - Dst: QROUND
      Src: /src/libgcrypt/cipher/salsa20.c:211,1
    - Dst: SALSA20_CORE_DEBUG
      Src: /src/libgcrypt/cipher/salsa20.c:213,1
    - Dst: LE_SWAP32
      Src: /src/libgcrypt/cipher/salsa20.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - dst
    - ctx
    - rounds
    argTypes:
    - u32*
    - SALSA20_context_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 231
    functionName: salsa20_core
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached:
    - QROUND
    - LE_SWAP32
    - memcpy
    - SALSA20_CORE_DEBUG
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int salsa20_core (u32 *dst, SALSA20_context_t *ctx, unsigned
      rounds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/libgcrypt/cipher/salsa20.c:246,1
    - Dst: LE_READ_UINT32
      Src: /src/libgcrypt/cipher/salsa20.c:247,1
    - Dst: LE_READ_UINT32
      Src: /src/libgcrypt/cipher/salsa20.c:248,1
    - Dst: LE_READ_UINT32
      Src: /src/libgcrypt/cipher/salsa20.c:249,1
    - Dst: LE_READ_UINT32
      Src: /src/libgcrypt/cipher/salsa20.c:252,1
    - Dst: LE_READ_UINT32
      Src: /src/libgcrypt/cipher/salsa20.c:253,1
    - Dst: LE_READ_UINT32
      Src: /src/libgcrypt/cipher/salsa20.c:254,1
    - Dst: LE_READ_UINT32
      Src: /src/libgcrypt/cipher/salsa20.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - SALSA20_context_t*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 267
    functionName: salsa20_keysetup
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached:
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void salsa20_keysetup(SALSA20_context_t *ctx, const byte *key, int
      keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/libgcrypt/cipher/salsa20.c:271,1
    - Dst: LE_READ_UINT32
      Src: /src/libgcrypt/cipher/salsa20.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - iv
    argTypes:
    - SALSA20_context_t*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: salsa20_ivsetup
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached:
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void salsa20_ivsetup(SALSA20_context_t *ctx, const byte *iv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_arm_neon_salsa20_encrypt
      Src: /src/libgcrypt/cipher/salsa20.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - ctx
    - rounds
    argTypes:
    - u32*
    - SALSA20_context_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: salsa20_core_neon
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached:
    - _gcry_arm_neon_salsa20_encrypt
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int salsa20_core_neon (u32 *dst, SALSA20_context_t *ctx, unsigned
      int rounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/salsa20.c:295,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/salsa20.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - iv
    argTypes:
    - SALSA20_context_t*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: salsa20_ivsetup_neon
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: void salsa20_ivsetup_neon(SALSA20_context_t *ctx, const byte *iv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/salsa20.c:308,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/salsa20.c:309,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/salsa20.c:310,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/salsa20.c:315,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/salsa20.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - key
    - klen
    argTypes:
    - SALSA20_context_t*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 318
    functionName: salsa20_keysetup_neon
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void salsa20_keysetup_neon(SALSA20_context_t *ctx, const byte *key,
      int klen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: selftest
      Src: /src/libgcrypt/cipher/salsa20.c:333,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/salsa20.c:335,1
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/salsa20.c:350,1
    - Dst: SALSA20_context_t*::keysetup
      Src: /src/libgcrypt/cipher/salsa20.c:360,1
    - Dst: salsa20_setiv
      Src: /src/libgcrypt/cipher/salsa20.c:363,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - SALSA20_context_t*
    - byte*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 366
    functionName: salsa20_do_setkey
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached:
    - salsa20_setiv
    - log_error
    - _gcry_get_hw_features
    - selftest
    - SALSA20_context_t*::keysetup
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t salsa20_do_setkey (SALSA20_context_t *ctx,\n                   const
      byte *key, unsigned int keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: salsa20_do_setkey
      Src: /src/libgcrypt/cipher/salsa20.c:374,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/salsa20.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - context
    - key
    - keylen
    - bulk_ops
    argTypes:
    - void*
    - byte*
    - unsigned int
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 378
    functionName: salsa20_setkey
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - salsa20_do_setkey
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t salsa20_setkey (void *context, const byte *key, unsigned
      int keylen,\n                cipher_bulk_ops_t *bulk_ops)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/libgcrypt/cipher/salsa20.c:388,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/salsa20.c:391,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/salsa20.c:393,1
    - Dst: SALSA20_context_t*::ivsetup
      Src: /src/libgcrypt/cipher/salsa20.c:395,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/salsa20.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - context
    - iv
    - ivlen
    argTypes:
    - void*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 401
    functionName: salsa20_setiv
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 1
    functionsReached:
    - SALSA20_context_t*::ivsetup
    - wipememory
    - memset
    - log_info
    - memcpy
    linkageType: ''
    returnType: void
    signature: void salsa20_setiv (void *context, const byte *iv, size_t ivlen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/salsa20.c:418,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/salsa20.c:423,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/salsa20.c:430,1
    - Dst: _gcry_salsa20_amd64_encrypt_blocks
      Src: /src/libgcrypt/cipher/salsa20.c:437,1
    - Dst: _gcry_arm_neon_salsa20_encrypt
      Src: /src/libgcrypt/cipher/salsa20.c:450,1
    - Dst: SALSA20_context_t*::core
      Src: /src/libgcrypt/cipher/salsa20.c:463,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/salsa20.c:468,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/salsa20.c:472,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/salsa20.c:478,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 5
    argNames:
    - ctx
    - outbuf
    - inbuf
    - length
    - rounds
    argTypes:
    - SALSA20_context_t*
    - byte*
    - byte*
    - size_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 479
    functionName: salsa20_do_encrypt_stream
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached:
    - _gcry_arm_neon_salsa20_encrypt
    - gcry_assert
    - _gcry_salsa20_amd64_encrypt_blocks
    - buf_xor
    - _gcry_burn_stack
    - SALSA20_context_t*::core
    linkageType: ''
    returnType: void
    signature: "void salsa20_do_encrypt_stream (SALSA20_context_t *ctx,\n                           byte
      *outbuf, const byte *inbuf,\n                           size_t length, unsigned
      rounds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: salsa20_do_encrypt_stream
      Src: /src/libgcrypt/cipher/salsa20.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - context
    - outbuf
    - inbuf
    - length
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 490
    functionName: salsa20_encrypt_stream
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached:
    - salsa20_do_encrypt_stream
    linkageType: ''
    returnType: void
    signature: "void salsa20_encrypt_stream (void *context,\n                        byte
      *outbuf, const byte *inbuf, size_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: salsa20_do_encrypt_stream
      Src: /src/libgcrypt/cipher/salsa20.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - context
    - outbuf
    - inbuf
    - length
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 501
    functionName: salsa20r12_encrypt_stream
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 0
    functionsReached:
    - salsa20_do_encrypt_stream
    linkageType: ''
    returnType: void
    signature: "void salsa20r12_encrypt_stream (void *context,\n                           byte
      *outbuf, const byte *inbuf, size_t length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: salsa20_setkey
      Src: /src/libgcrypt/cipher/salsa20.c:528,1
    - Dst: salsa20_setiv
      Src: /src/libgcrypt/cipher/salsa20.c:529,1
    - Dst: salsa20_encrypt_stream
      Src: /src/libgcrypt/cipher/salsa20.c:531,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/salsa20.c:532,1
    - Dst: salsa20_setkey
      Src: /src/libgcrypt/cipher/salsa20.c:536,1
    - Dst: salsa20_setiv
      Src: /src/libgcrypt/cipher/salsa20.c:537,1
    - Dst: salsa20_encrypt_stream
      Src: /src/libgcrypt/cipher/salsa20.c:538,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/salsa20.c:539,1
    - Dst: salsa20_setkey
      Src: /src/libgcrypt/cipher/salsa20.c:544,1
    - Dst: salsa20_setiv
      Src: /src/libgcrypt/cipher/salsa20.c:545,1
    - Dst: salsa20_encrypt_stream
      Src: /src/libgcrypt/cipher/salsa20.c:547,1
    - Dst: salsa20_setkey
      Src: /src/libgcrypt/cipher/salsa20.c:549,1
    - Dst: salsa20_setiv
      Src: /src/libgcrypt/cipher/salsa20.c:550,1
    - Dst: salsa20_encrypt_stream
      Src: /src/libgcrypt/cipher/salsa20.c:551,1
    - Dst: salsa20_encrypt_stream
      Src: /src/libgcrypt/cipher/salsa20.c:552,1
    - Dst: salsa20_encrypt_stream
      Src: /src/libgcrypt/cipher/salsa20.c:553,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 504
    functionDepth: 4
    functionLinenumber: 504
    functionLinenumberEnd: 559
    functionName: selftest
    functionSourceFile: /src/libgcrypt/cipher/salsa20.c
    functionUses: 13
    functionsReached:
    - salsa20_setkey
    - memcmp
    - salsa20_encrypt_stream
    - salsa20_setiv
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:80,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:81,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:82,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:83,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:84,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:89,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:91,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:93,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:95,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:96,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:98,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:99,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:100,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:101,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:104,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:106,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:108,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:110,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:112,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:113,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:114,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:115,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:116,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:117,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:120,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:122,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:124,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:126,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:128,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:129,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:130,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:131,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:132,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:133,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:136,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:138,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:140,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:142,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:144,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:145,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:146,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:147,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:148,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:149,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:152,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:154,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:156,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:158,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:160,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:161,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:162,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:163,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:164,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:165,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:175,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:176,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:177,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:178,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:179,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:184,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:186,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:188,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:190,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:191,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:193,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:194,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:195,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:196,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:199,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:201,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:203,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:205,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:207,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:208,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:209,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:210,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:211,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:212,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:215,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:217,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:219,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:221,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:223,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:224,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:225,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:226,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:227,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:228,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:231,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:233,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:235,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:237,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:239,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:240,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:241,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:242,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:243,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:244,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:247,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:249,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:251,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:253,1
    - Dst: ROL64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:255,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:256,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:257,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:258,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:259,1
    - Dst: ANDN64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 226
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KECCAK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 291
    functionName: KECCAK_F1600_PERMUTE_FUNC_NAME
    functionSourceFile: /src/libgcrypt/cipher/keccak_permute_64.h
    functionUses: 0
    functionsReached:
    - ROL64
    - ANDN64
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int KECCAK_F1600_PERMUTE_FUNC_NAME(KECCAK_STATE *hd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: absorb_lanes64_21
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:308,1
    - Dst: KECCAK_F1600_PERMUTE_FUNC_NAME
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:310,1
    - Dst: absorb_lanes64_18
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:319,1
    - Dst: KECCAK_F1600_PERMUTE_FUNC_NAME
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:321,1
    - Dst: absorb_lanes64_17
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:330,1
    - Dst: KECCAK_F1600_PERMUTE_FUNC_NAME
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:332,1
    - Dst: absorb_lanes64_13
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:341,1
    - Dst: KECCAK_F1600_PERMUTE_FUNC_NAME
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:343,1
    - Dst: absorb_lanes64_9
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:352,1
    - Dst: KECCAK_F1600_PERMUTE_FUNC_NAME
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:354,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:361,1
    - Dst: KECCAK_F1600_PERMUTE_FUNC_NAME
      Src: /src/libgcrypt/cipher/keccak_permute_64.h:367,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 5
    argNames:
    - hd
    - pos
    - lanes
    - nlanes
    - blocklanes
    argTypes:
    - KECCAK_STATE*
    - int
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 375
    functionName: KECCAK_F1600_ABSORB_FUNC_NAME
    functionSourceFile: /src/libgcrypt/cipher/keccak_permute_64.h
    functionUses: 0
    functionsReached:
    - absorb_lanes64_13
    - buf_get_le64
    - absorb_lanes64_21
    - absorb_lanes64_18
    - KECCAK_F1600_PERMUTE_FUNC_NAME
    - absorb_lanes64_17
    - absorb_lanes64_9
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int KECCAK_F1600_ABSORB_FUNC_NAME(KECCAK_STATE *hd, int pos,
      const byte *lanes,\n\t\t\t      size_t nlanes, int blocklanes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - out
    - ','
    - temp
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1147
    functionName: strido
    functionSourceFile: /src/libgcrypt/cipher/stribog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strido(out, temp, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strido
      Src: /src/libgcrypt/cipher/stribog.c:1159,1
    - Dst: strido
      Src: /src/libgcrypt/cipher/stribog.c:1160,1
    - Dst: strido
      Src: /src/libgcrypt/cipher/stribog.c:1161,1
    - Dst: strido
      Src: /src/libgcrypt/cipher/stribog.c:1162,1
    - Dst: strido
      Src: /src/libgcrypt/cipher/stribog.c:1163,1
    - Dst: strido
      Src: /src/libgcrypt/cipher/stribog.c:1164,1
    - Dst: strido
      Src: /src/libgcrypt/cipher/stribog.c:1165,1
    - Dst: strido
      Src: /src/libgcrypt/cipher/stribog.c:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - u64*
    - u64*
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1167
    functionName: LPSX
    functionSourceFile: /src/libgcrypt/cipher/stribog.c
    functionUses: 0
    functionsReached:
    - strido
    linkageType: ''
    returnType: void
    signature: void LPSX (u64 *out, const u64 *a, const u64 *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LPSX
      Src: /src/libgcrypt/cipher/stribog.c:1175,1
    - Dst: LPSX
      Src: /src/libgcrypt/cipher/stribog.c:1177,1
    - Dst: LPSX
      Src: /src/libgcrypt/cipher/stribog.c:1178,1
    - Dst: LPSX
      Src: /src/libgcrypt/cipher/stribog.c:1181,1
    - Dst: LPSX
      Src: /src/libgcrypt/cipher/stribog.c:1182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - h
    - m
    - N
    argTypes:
    - u64*
    - u64*
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1169
    functionDepth: 2
    functionLinenumber: 1169
    functionLinenumberEnd: 1193
    functionName: g
    functionSourceFile: /src/libgcrypt/cipher/stribog.c
    functionUses: 1140
    functionsReached:
    - LPSX
    linkageType: ''
    returnType: void
    signature: void g (u64 *h, u64 *m, u64 *N)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/stribog.c:1207,1
    - Dst: _gcry_ctz
      Src: /src/libgcrypt/cipher/stribog.c:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1200
    functionDepth: 1
    functionLinenumber: 1200
    functionLinenumberEnd: 1211
    functionName: stribog_init_512
    functionSourceFile: /src/libgcrypt/cipher/stribog.c
    functionUses: 0
    functionsReached:
    - _gcry_ctz
    - memset
    linkageType: ''
    returnType: void
    signature: void stribog_init_512 (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stribog_init_512
      Src: /src/libgcrypt/cipher/stribog.c:1218,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/stribog.c:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1213
    functionDepth: 2
    functionLinenumber: 1213
    functionLinenumberEnd: 1220
    functionName: stribog_init_256
    functionSourceFile: /src/libgcrypt/cipher/stribog.c
    functionUses: 0
    functionsReached:
    - stribog_init_512
    - memset
    linkageType: ''
    returnType: void
    signature: void stribog_init_256 (void *context, unsigned int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/stribog.c:1230,1
    - Dst: g
      Src: /src/libgcrypt/cipher/stribog.c:1232,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - hd
    - data
    - count
    argTypes:
    - STRIBOG_CONTEXT*
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1222
    functionDepth: 3
    functionLinenumber: 1222
    functionLinenumberEnd: 1253
    functionName: transform_bits
    functionSourceFile: /src/libgcrypt/cipher/stribog.c
    functionUses: 0
    functionsReached:
    - g
    - buf_get_le64
    linkageType: ''
    returnType: void
    signature: void transform_bits (STRIBOG_CONTEXT *hd, const unsigned char *data,
      unsigned count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transform_bits
      Src: /src/libgcrypt/cipher/stribog.c:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - inbuf_arg
    argTypes:
    - void*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1255
    functionDepth: 4
    functionLinenumber: 1255
    functionLinenumberEnd: 1263
    functionName: transform_blk
    functionSourceFile: /src/libgcrypt/cipher/stribog.c
    functionUses: 2
    functionsReached:
    - transform_bits
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int transform_blk (void *context, const unsigned char *inbuf_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transform_blk
      Src: /src/libgcrypt/cipher/stribog.c:1272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - c
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1278
    functionName: transform
    functionSourceFile: /src/libgcrypt/cipher/stribog.c
    functionUses: 7
    functionsReached:
    - transform_blk
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int transform ( void *c, const unsigned char *data, size_t
      nblks )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/stribog.c:1297,1
    - Dst: transform_bits
      Src: /src/libgcrypt/cipher/stribog.c:1299,1
    - Dst: g
      Src: /src/libgcrypt/cipher/stribog.c:1301,1
    - Dst: g
      Src: /src/libgcrypt/cipher/stribog.c:1302,1
    - Dst: le_bswap64
      Src: /src/libgcrypt/cipher/stribog.c:1305,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/stribog.c:1309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1285
    functionDepth: 4
    functionLinenumber: 1285
    functionLinenumberEnd: 1310
    functionName: stribog_final
    functionSourceFile: /src/libgcrypt/cipher/stribog.c
    functionUses: 0
    functionsReached:
    - transform_bits
    - _gcry_burn_stack
    - le_bswap64
    - g
    - memset
    linkageType: ''
    returnType: void
    signature: void stribog_final (void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1318
    functionName: stribog_read_512
    functionSourceFile: /src/libgcrypt/cipher/stribog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      stribog_read_512 (void *context)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1326
    functionName: stribog_read_256
    functionSourceFile: /src/libgcrypt/cipher/stribog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      stribog_read_256 (void *context)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: INC_POLY1305_SRC
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INC_POLY1305_SRC(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: POLY1305_LOAD_STATE
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_LOAD_STATE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: POLY1305_STORE_STATE
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_STORE_STATE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - src_offset
    - ','
    - high_pad
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: POLY1305_BLOCK_PART1_HB
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART1_HB(src_offset, high_pad)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - src_offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: POLY1305_BLOCK_PART1
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART1(src_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: POLY1305_BLOCK_PART2
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART2()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: POLY1305_BLOCK_PART3
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART3()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: POLY1305_BLOCK_PART4
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART4()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: POLY1305_BLOCK_PART5
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART5()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: POLY1305_BLOCK_PART6
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART6()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: POLY1305_BLOCK_PART7
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART7()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: POLY1305_BLOCK_PART8
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART8()
  - 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: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: CAMELLIA_PREFIX1
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAMELLIA_PREFIX1(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: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: CAMELLIA_PREFIX2
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAMELLIA_PREFIX2(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: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: CAMELLIA_PREFIX
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAMELLIA_PREFIX(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_camellia_ppc9_encrypt_blk16
      Src: /src/libgcrypt/cipher/camellia-glue.c:475,1
    - Dst: _gcry_camellia_ppc8_encrypt_blk16
      Src: /src/libgcrypt/cipher/camellia-glue.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - out
    - in
    argTypes:
    - CAMELLIA_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 480
    functionName: camellia_ppc_enc_blk16
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - _gcry_camellia_ppc9_encrypt_blk16
    - _gcry_camellia_ppc8_encrypt_blk16
    linkageType: ''
    returnType: void
    signature: "void camellia_ppc_enc_blk16(const CAMELLIA_context *ctx, unsigned
      char *out,\n                            const unsigned char *in)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_camellia_ppc9_decrypt_blk16
      Src: /src/libgcrypt/cipher/camellia-glue.c:486,1
    - Dst: _gcry_camellia_ppc8_decrypt_blk16
      Src: /src/libgcrypt/cipher/camellia-glue.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - out
    - in
    argTypes:
    - CAMELLIA_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: camellia_ppc_dec_blk16
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - _gcry_camellia_ppc8_decrypt_blk16
    - _gcry_camellia_ppc9_decrypt_blk16
    linkageType: ''
    returnType: void
    signature: "void camellia_ppc_dec_blk16(const CAMELLIA_context *ctx, unsigned
      char *out,\n                            const unsigned char *in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_camellia_aarch64ce_encrypt_blk16
      Src: /src/libgcrypt/cipher/camellia-glue.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - out
    - in
    argTypes:
    - CAMELLIA_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 514
    functionName: camellia_aarch64ce_enc_blk16
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - _gcry_camellia_aarch64ce_encrypt_blk16
    linkageType: ''
    returnType: void
    signature: "void camellia_aarch64ce_enc_blk16(const CAMELLIA_context *ctx,\n\t\t\t\t
      \ unsigned char *out, const unsigned char *in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_camellia_aarch64ce_decrypt_blk16
      Src: /src/libgcrypt/cipher/camellia-glue.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - out
    - in
    argTypes:
    - CAMELLIA_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 521
    functionName: camellia_aarch64ce_dec_blk16
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - _gcry_camellia_aarch64ce_decrypt_blk16
    linkageType: ''
    returnType: void
    signature: "void camellia_aarch64ce_dec_blk16(const CAMELLIA_context *ctx,\n\t\t\t\t
      \ unsigned char *out, const unsigned char *in)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/camellia-glue.c:560,1
    - Dst: selftest
      Src: /src/libgcrypt/cipher/camellia-glue.c:570,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/camellia-glue.c:572,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/camellia-glue.c:611,1
    - Dst: _gcry_camellia_aesni_avx_keygen
      Src: /src/libgcrypt/cipher/camellia-glue.c:625,1
    - Dst: _gcry_camellia_ppc9_keygen
      Src: /src/libgcrypt/cipher/camellia-glue.c:629,1
    - Dst: _gcry_camellia_ppc8_keygen
      Src: /src/libgcrypt/cipher/camellia-glue.c:631,1
    - Dst: _gcry_camellia_aarch64ce_keygen
      Src: /src/libgcrypt/cipher/camellia-glue.c:635,1
    - Dst: Camellia_Ekeygen
      Src: /src/libgcrypt/cipher/camellia-glue.c:639,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/camellia-glue.c:640,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 4
    argNames:
    - c
    - key
    - keylen
    - bulk_ops
    argTypes:
    - void*
    - byte*
    - unsigned
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 646
    functionName: camellia_setkey
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - Camellia_Ekeygen
    - _gcry_camellia_ppc8_keygen
    - log_error
    - _gcry_camellia_aarch64ce_keygen
    - _gcry_get_hw_features
    - _gcry_camellia_aesni_avx_keygen
    - _gcry_burn_stack
    - selftest
    - memset
    - _gcry_camellia_ppc9_keygen
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t camellia_setkey(void *c, const byte *key, unsigned
      keylen,\n                cipher_bulk_ops_t *bulk_ops)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_camellia_arm_encrypt_block
      Src: /src/libgcrypt/cipher/camellia-glue.c:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - keyBitLength
    - plaintext
    - keyTable
    - cipherText
    argTypes:
    - int
    - unsigned char*
    - KEY_TABLE_TYPE
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 686
    functionName: Camellia_EncryptBlock
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - _gcry_camellia_arm_encrypt_block
    linkageType: ''
    returnType: void
    signature: "void Camellia_EncryptBlock(const int keyBitLength,\n\t\t\t\t  const
      unsigned char *plaintext,\n\t\t\t\t  const KEY_TABLE_TYPE keyTable,\n\t\t\t\t
      \ unsigned char *cipherText)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_camellia_arm_decrypt_block
      Src: /src/libgcrypt/cipher/camellia-glue.c:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - keyBitLength
    - cipherText
    - keyTable
    - plaintext
    argTypes:
    - int
    - unsigned char*
    - KEY_TABLE_TYPE
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 695
    functionName: Camellia_DecryptBlock
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - _gcry_camellia_arm_decrypt_block
    linkageType: ''
    returnType: void
    signature: "void Camellia_DecryptBlock(const int keyBitLength,\n\t\t\t\t  const
      unsigned char *cipherText,\n\t\t\t\t  const KEY_TABLE_TYPE keyTable,\n\t\t\t\t
      \ unsigned char *plaintext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Camellia_EncryptBlock
      Src: /src/libgcrypt/cipher/camellia-glue.c:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 711
    functionName: camellia_encrypt
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - Camellia_EncryptBlock
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int camellia_encrypt(void *c, byte *outbuf, const byte *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Camellia_DecryptBlock
      Src: /src/libgcrypt/cipher/camellia-glue.c:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 719
    functionName: camellia_decrypt
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - Camellia_DecryptBlock
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int camellia_decrypt(void *c, byte *outbuf, const byte *inbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_camellia_gfni_avx512_enc_blk1
      Src: /src/libgcrypt/cipher/camellia-glue.c:731,1
    - Dst: Camellia_EncryptBlock
      Src: /src/libgcrypt/cipher/camellia-glue.c:736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - c
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 746
    functionName: camellia_encrypt
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - Camellia_EncryptBlock
    - _gcry_camellia_gfni_avx512_enc_blk1
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int camellia_encrypt(void *c, byte *outbuf, const byte *inbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_camellia_gfni_avx512_dec_blk1
      Src: /src/libgcrypt/cipher/camellia-glue.c:756,1
    - Dst: Camellia_DecryptBlock
      Src: /src/libgcrypt/cipher/camellia-glue.c:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - c
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 771
    functionName: camellia_decrypt
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - Camellia_DecryptBlock
    - _gcry_camellia_gfni_avx512_dec_blk1
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int camellia_decrypt(void *c, byte *outbuf, const byte *inbuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/camellia-glue.c:783,1
    - Dst: _gcry_camellia_gfni_avx2_enc_blk1_32
      Src: /src/libgcrypt/cipher/camellia-glue.c:790,1
    - Dst: _gcry_camellia_vaes_avx2_enc_blk1_32
      Src: /src/libgcrypt/cipher/camellia-glue.c:799,1
    - Dst: _gcry_camellia_aesni_avx2_enc_blk1_32
      Src: /src/libgcrypt/cipher/camellia-glue.c:808,1
    - Dst: _gcry_camellia_aesni_avx_ecb_enc
      Src: /src/libgcrypt/cipher/camellia-glue.c:815,1
    - Dst: camellia_ppc_enc_blk16
      Src: /src/libgcrypt/cipher/camellia-glue.c:825,1
    - Dst: camellia_aarch64ce_enc_blk16
      Src: /src/libgcrypt/cipher/camellia-glue.c:835,1
    - Dst: camellia_encrypt
      Src: /src/libgcrypt/cipher/camellia-glue.c:845,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 4
    argNames:
    - priv
    - outbuf
    - inbuf
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 853
    functionName: camellia_encrypt_blk1_32
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - camellia_ppc_enc_blk16
    - camellia_aarch64ce_enc_blk16
    - gcry_assert
    - _gcry_camellia_vaes_avx2_enc_blk1_32
    - _gcry_camellia_aesni_avx_ecb_enc
    - _gcry_camellia_aesni_avx2_enc_blk1_32
    - camellia_encrypt
    - _gcry_camellia_gfni_avx2_enc_blk1_32
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int camellia_encrypt_blk1_32 (void *priv, byte *outbuf, const
      byte *inbuf,\n\t\t\t  size_t num_blks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/camellia-glue.c:863,1
    - Dst: _gcry_camellia_gfni_avx512_enc_blk64
      Src: /src/libgcrypt/cipher/camellia-glue.c:868,1
    - Dst: camellia_encrypt_blk1_32
      Src: /src/libgcrypt/cipher/camellia-glue.c:876,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - priv
    - outbuf
    - inbuf
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 855
    functionDepth: 2
    functionLinenumber: 855
    functionLinenumberEnd: 885
    functionName: camellia_encrypt_blk1_64
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - camellia_encrypt_blk1_32
    - _gcry_camellia_gfni_avx512_enc_blk64
    - gcry_assert
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int camellia_encrypt_blk1_64 (void *priv, byte *outbuf, const
      byte *inbuf,\n\t\t\t  size_t num_blks)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/camellia-glue.c:894,1
    - Dst: _gcry_camellia_gfni_avx2_dec_blk1_32
      Src: /src/libgcrypt/cipher/camellia-glue.c:901,1
    - Dst: _gcry_camellia_vaes_avx2_dec_blk1_32
      Src: /src/libgcrypt/cipher/camellia-glue.c:910,1
    - Dst: _gcry_camellia_aesni_avx2_dec_blk1_32
      Src: /src/libgcrypt/cipher/camellia-glue.c:919,1
    - Dst: _gcry_camellia_aesni_avx_ecb_dec
      Src: /src/libgcrypt/cipher/camellia-glue.c:926,1
    - Dst: camellia_ppc_dec_blk16
      Src: /src/libgcrypt/cipher/camellia-glue.c:936,1
    - Dst: camellia_aarch64ce_dec_blk16
      Src: /src/libgcrypt/cipher/camellia-glue.c:946,1
    - Dst: camellia_decrypt
      Src: /src/libgcrypt/cipher/camellia-glue.c:956,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 4
    argNames:
    - priv
    - outbuf
    - inbuf
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 964
    functionName: camellia_decrypt_blk1_32
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    - _gcry_camellia_aesni_avx2_dec_blk1_32
    - _gcry_camellia_gfni_avx2_dec_blk1_32
    - camellia_decrypt
    - _gcry_camellia_aesni_avx_ecb_dec
    - camellia_ppc_dec_blk16
    - camellia_aarch64ce_dec_blk16
    - _gcry_camellia_vaes_avx2_dec_blk1_32
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int camellia_decrypt_blk1_32 (void *priv, byte *outbuf, const
      byte *inbuf,\n\t\t\t  size_t num_blks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/camellia-glue.c:974,1
    - Dst: _gcry_camellia_gfni_avx512_dec_blk64
      Src: /src/libgcrypt/cipher/camellia-glue.c:979,1
    - Dst: camellia_decrypt_blk1_32
      Src: /src/libgcrypt/cipher/camellia-glue.c:987,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - priv
    - outbuf
    - inbuf
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 966
    functionDepth: 2
    functionLinenumber: 966
    functionLinenumberEnd: 996
    functionName: camellia_decrypt_blk1_64
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - camellia_decrypt_blk1_32
    - _gcry_camellia_gfni_avx512_dec_blk64
    - gcry_assert
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int camellia_decrypt_blk1_64 (void *priv, byte *outbuf, const
      byte *inbuf,\n\t\t\t  size_t num_blks)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_camellia_gfni_avx512_ctr_enc
      Src: /src/libgcrypt/cipher/camellia-glue.c:1020,1
    - Dst: bulk_ctr_fn
      Src: /src/libgcrypt/cipher/camellia-glue.c:1056,1
    - Dst: _gcry_camellia_aesni_avx_ctr_enc
      Src: /src/libgcrypt/cipher/camellia-glue.c:1081,1
    - Dst: bulk_ctr_enc_128
      Src: /src/libgcrypt/cipher/camellia-glue.c:1106,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/camellia-glue.c:1111,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/camellia-glue.c:1115,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 5
    argNames:
    - context
    - ctr
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1116
    functionName: _gcry_camellia_ctr_enc
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - bulk_ctr_fn
    - wipememory
    - _gcry_camellia_gfni_avx512_ctr_enc
    - _gcry_burn_stack
    - bulk_ctr_enc_128
    - _gcry_camellia_aesni_avx_ctr_enc
    linkageType: ''
    returnType: void
    signature: "void _gcry_camellia_ctr_enc(void *context, unsigned char *ctr,\n                       void
      *outbuf_arg, const void *inbuf_arg,\n                       size_t nblocks)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_camellia_gfni_avx512_cbc_dec
      Src: /src/libgcrypt/cipher/camellia-glue.c:1138,1
    - Dst: bulk_cbc_fn
      Src: /src/libgcrypt/cipher/camellia-glue.c:1174,1
    - Dst: _gcry_camellia_aesni_avx_cbc_dec
      Src: /src/libgcrypt/cipher/camellia-glue.c:1199,1
    - Dst: bulk_cbc_dec_128
      Src: /src/libgcrypt/cipher/camellia-glue.c:1224,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/camellia-glue.c:1229,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/camellia-glue.c:1233,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1120
    functionDepth: 1
    functionLinenumber: 1120
    functionLinenumberEnd: 1234
    functionName: _gcry_camellia_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - bulk_cbc_dec_128
    - _gcry_camellia_gfni_avx512_cbc_dec
    - _gcry_camellia_aesni_avx_cbc_dec
    - wipememory
    - _gcry_burn_stack
    - bulk_cbc_fn
    linkageType: ''
    returnType: void
    signature: "void _gcry_camellia_cbc_dec(void *context, unsigned char *iv,\n                       void
      *outbuf_arg, const void *inbuf_arg,\n                       size_t nblocks)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_camellia_gfni_avx512_cfb_dec
      Src: /src/libgcrypt/cipher/camellia-glue.c:1256,1
    - Dst: bulk_cfb_fn
      Src: /src/libgcrypt/cipher/camellia-glue.c:1292,1
    - Dst: _gcry_camellia_aesni_avx_cfb_dec
      Src: /src/libgcrypt/cipher/camellia-glue.c:1317,1
    - Dst: bulk_cfb_dec_128
      Src: /src/libgcrypt/cipher/camellia-glue.c:1342,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/camellia-glue.c:1347,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/camellia-glue.c:1351,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1352
    functionName: _gcry_camellia_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - _gcry_camellia_aesni_avx_cfb_dec
    - bulk_cfb_fn
    - wipememory
    - _gcry_burn_stack
    - _gcry_camellia_gfni_avx512_cfb_dec
    - bulk_cfb_dec_128
    linkageType: ''
    returnType: void
    signature: "void _gcry_camellia_cfb_dec(void *context, unsigned char *iv,\n                       void
      *outbuf_arg, const void *inbuf_arg,\n                       size_t nblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bulk_ecb_crypt_128
      Src: /src/libgcrypt/cipher/camellia-glue.c:1369,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/camellia-glue.c:1376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - context
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1355
    functionDepth: 1
    functionLinenumber: 1355
    functionLinenumberEnd: 1377
    functionName: _gcry_camellia_ecb_crypt
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - bulk_ecb_crypt_128
    linkageType: ''
    returnType: void
    signature: "void _gcry_camellia_ecb_crypt (void *context, void *outbuf_arg,\n\t\t\t
      \ const void *inbuf_arg, size_t nblocks, int encrypt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bulk_xts_crypt_128
      Src: /src/libgcrypt/cipher/camellia-glue.c:1397,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/camellia-glue.c:1404,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/camellia-glue.c:1408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - context
    - tweak
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1409
    functionName: _gcry_camellia_xts_crypt
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - wipememory
    - _gcry_burn_stack
    - bulk_xts_crypt_128
    linkageType: ''
    returnType: void
    signature: "void _gcry_camellia_xts_crypt (void *context, unsigned char *tweak,\n
      \                         void *outbuf_arg, const void *inbuf_arg,\n                          size_t
      nblocks, int encrypt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bulk_ctr32le_enc_128
      Src: /src/libgcrypt/cipher/camellia-glue.c:1429,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/camellia-glue.c:1435,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/camellia-glue.c:1439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - context
    - ctr
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1412
    functionDepth: 1
    functionLinenumber: 1412
    functionLinenumberEnd: 1440
    functionName: _gcry_camellia_ctr32le_enc
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - wipememory
    - bulk_ctr32le_enc_128
    - _gcry_burn_stack
    linkageType: ''
    returnType: void
    signature: "void _gcry_camellia_ctr32le_enc(void *context, unsigned char *ctr,\n
      \                          void *outbuf_arg, const void *inbuf_arg,\n                           size_t
      nblocks)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: bulk_ocb_prepare_L_pointers_array_blk64
      Src: /src/libgcrypt/cipher/camellia-glue.c:1473,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/camellia-glue.c:1479,1
    - Dst: bulk_ocb_fn
      Src: /src/libgcrypt/cipher/camellia-glue.c:1481,1
    - Dst: bulk_ocb_prepare_L_pointers_array_blk32
      Src: /src/libgcrypt/cipher/camellia-glue.c:1523,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/camellia-glue.c:1529,1
    - Dst: bulk_ocb_fn
      Src: /src/libgcrypt/cipher/camellia-glue.c:1531,1
    - Dst: bulk_ocb_prepare_L_pointers_array_blk16
      Src: /src/libgcrypt/cipher/camellia-glue.c:1559,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/camellia-glue.c:1565,1
    - Dst: _gcry_camellia_aesni_avx_ocb_enc
      Src: /src/libgcrypt/cipher/camellia-glue.c:1568,1
    - Dst: _gcry_camellia_aesni_avx_ocb_dec
      Src: /src/libgcrypt/cipher/camellia-glue.c:1571,1
    - Dst: bulk_ocb_crypt_128
      Src: /src/libgcrypt/cipher/camellia-glue.c:1599,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/camellia-glue.c:1606,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/camellia-glue.c:1613,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 5
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1443
    functionDepth: 1
    functionLinenumber: 1443
    functionLinenumberEnd: 1617
    functionName: _gcry_camellia_ocb_crypt
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - bulk_ocb_prepare_L_pointers_array_blk64
    - bulk_ocb_prepare_L_pointers_array_blk16
    - bulk_ocb_crypt_128
    - _gcry_camellia_aesni_avx_ocb_dec
    - bulk_ocb_fn
    - wipememory
    - _gcry_burn_stack
    - bulk_ocb_prepare_L_pointers_array_blk32
    - ocb_get_l
    - _gcry_camellia_aesni_avx_ocb_enc
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_camellia_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg,\n\t\t\t
      \ const void *inbuf_arg, size_t nblocks, int encrypt)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: bulk_ocb_prepare_L_pointers_array_blk32
      Src: /src/libgcrypt/cipher/camellia-glue.c:1655,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/camellia-glue.c:1661,1
    - Dst: bulk_auth_fn
      Src: /src/libgcrypt/cipher/camellia-glue.c:1663,1
    - Dst: bulk_ocb_prepare_L_pointers_array_blk16
      Src: /src/libgcrypt/cipher/camellia-glue.c:1691,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/camellia-glue.c:1697,1
    - Dst: _gcry_camellia_aesni_avx_ocb_auth
      Src: /src/libgcrypt/cipher/camellia-glue.c:1699,1
    - Dst: bulk_ocb_auth_128
      Src: /src/libgcrypt/cipher/camellia-glue.c:1727,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/camellia-glue.c:1733,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/camellia-glue.c:1740,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 3
    argNames:
    - c
    - abuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1620
    functionDepth: 1
    functionLinenumber: 1620
    functionLinenumberEnd: 1744
    functionName: _gcry_camellia_ocb_auth
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 0
    functionsReached:
    - bulk_auth_fn
    - _gcry_camellia_aesni_avx_ocb_auth
    - bulk_ocb_prepare_L_pointers_array_blk16
    - wipememory
    - _gcry_burn_stack
    - bulk_ocb_auth_128
    - bulk_ocb_prepare_L_pointers_array_blk32
    - ocb_get_l
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_camellia_ocb_auth (gcry_cipher_hd_t c, const void *abuf_arg,\n\t\t\t
      size_t nblocks)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: camellia_setkey
      Src: /src/libgcrypt/cipher/camellia-glue.c:1792,1
    - Dst: camellia_encrypt
      Src: /src/libgcrypt/cipher/camellia-glue.c:1793,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/camellia-glue.c:1794,1
    - Dst: camellia_decrypt
      Src: /src/libgcrypt/cipher/camellia-glue.c:1796,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/camellia-glue.c:1797,1
    - Dst: camellia_setkey
      Src: /src/libgcrypt/cipher/camellia-glue.c:1800,1
    - Dst: camellia_encrypt
      Src: /src/libgcrypt/cipher/camellia-glue.c:1801,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/camellia-glue.c:1802,1
    - Dst: camellia_decrypt
      Src: /src/libgcrypt/cipher/camellia-glue.c:1804,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/camellia-glue.c:1805,1
    - Dst: camellia_setkey
      Src: /src/libgcrypt/cipher/camellia-glue.c:1808,1
    - Dst: camellia_encrypt
      Src: /src/libgcrypt/cipher/camellia-glue.c:1809,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/camellia-glue.c:1810,1
    - Dst: camellia_decrypt
      Src: /src/libgcrypt/cipher/camellia-glue.c:1812,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/camellia-glue.c:1813,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1747
    functionDepth: 3
    functionLinenumber: 1747
    functionLinenumberEnd: 1817
    functionName: selftest
    functionSourceFile: /src/libgcrypt/cipher/camellia-glue.c
    functionUses: 14
    functionsReached:
    - camellia_decrypt
    - memcmp
    - camellia_setkey
    - camellia_encrypt
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vsha2cl_vv_u64m2
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - hgcd
    - feba
    - kw
    - vl
    argTypes:
    - vuint64m2_t
    - vuint64m2_t
    - vuint64m2_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: vuint64m2_t::working_vsha2cl_vv_u64m2
    functionSourceFile: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c
    functionUses: 0
    functionsReached:
    - __riscv_vsha2cl_vv_u64m2
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE vuint64m2_t\nworking_vsha2cl_vv_u64m2(vuint64m2_t
      hgcd, vuint64m2_t feba,\n\t\t\t vuint64m2_t kw, size_t vl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w0
    - ','
    - w1
    - ','
    - w2
    - ','
    - w3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: QUAD_ROUND_W_SCHED
    functionSourceFile: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUAD_ROUND_W_SCHED(w0, w1, w2, w3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: QUAD_ROUND_NO_SCHED
    functionSourceFile: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUAD_ROUND_NO_SCHED(w0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vle8_v_u8m2
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:87,1
    - Dst: __riscv_vrev8_v_u64m2
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:88,1
    - Dst: __riscv_vreinterpret_v_u8m2_u64m2
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:88,1
    - Dst: __riscv_vrev8_v_u64m2
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:90,1
    - Dst: __riscv_vle64_v_u64m2
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - vl
    argTypes:
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: vuint64m2_t::load_and_swap
    functionSourceFile: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c
    functionUses: 0
    functionsReached:
    - __riscv_vrev8_v_u64m2
    - __riscv_vle8_v_u8m2
    - __riscv_vle64_v_u64m2
    - __riscv_vreinterpret_v_u8m2_u64m2
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vuint64m2_t

      load_and_swap(const byte *p, size_t vl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vid_v_u64m2
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:112,1
    - Dst: __riscv_vmseq_vx_u64m2_b32
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:113,1
    - Dst: __riscv_vle64_v_u64m2
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:115,1
    - Dst: __riscv_vluxei64_v_u64m2
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:117,1
    - Dst: __riscv_vluxei64_v_u64m2
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:118,1
    - Dst: load_and_swap
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:128,1
    - Dst: load_and_swap
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:129,1
    - Dst: load_and_swap
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:130,1
    - Dst: load_and_swap
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:131,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:133,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:134,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:135,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:136,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:137,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:138,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:139,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:140,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:141,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:142,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:143,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:144,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:145,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:146,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:147,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:148,1
    - Dst: QUAD_ROUND_NO_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:150,1
    - Dst: QUAD_ROUND_NO_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:151,1
    - Dst: QUAD_ROUND_NO_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:152,1
    - Dst: QUAD_ROUND_NO_SCHED
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:153,1
    - Dst: __riscv_vadd_vv_u64m2
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:155,1
    - Dst: __riscv_vadd_vv_u64m2
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:156,1
    - Dst: __riscv_vsuxei64_v_u64m2
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:162,1
    - Dst: __riscv_vsuxei64_v_u64m2
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:163,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 4
    argNames:
    - state
    - data
    - nblocks
    - k_const
    argTypes:
    - u64[]
    - byte*
    - size_t
    - u64[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 166
    functionName: sha512_transform_zvknhb_zvkb
    functionSourceFile: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c
    functionUses: 0
    functionsReached:
    - __riscv_vmseq_vx_u64m2_b32
    - __riscv_vid_v_u64m2
    - QUAD_ROUND_W_SCHED
    - __riscv_vadd_vv_u64m2
    - __riscv_vle64_v_u64m2
    - load_and_swap
    - QUAD_ROUND_NO_SCHED
    - __riscv_vsuxei64_v_u64m2
    - __riscv_vluxei64_v_u64m2
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE sha512_transform_zvknhb_zvkb (u64 state[8], const
      byte *data,\n\t\t\t      size_t nblocks, const u64 k_const[80])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512_transform_zvknhb_zvkb
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - state
    - input_data
    - num_blks
    - k
    argTypes:
    - u64[]
    - unsigned char*
    - size_t
    - u64[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: _gcry_sha512_transform_riscv_zvknhb_zvkb
    functionSourceFile: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c
    functionUses: 1
    functionsReached:
    - sha512_transform_zvknhb_zvkb
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_sha512_transform_riscv_zvknhb_zvkb(u64 state[8],\n\t\t\t\t\t
      const unsigned char *input_data,\n\t\t\t\t\t size_t num_blks,\n\t\t\t\t\t const
      u64 k[80])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vsetvl_e64m2
      Src: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: _gcry_sha512_riscv_v_check_hw
    functionSourceFile: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c
    functionUses: 1
    functionsReached:
    - __riscv_vsetvl_e64m2
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_sha512_riscv_v_check_hw(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - gcry_cipher_hd_t
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: aes_ocb_get_l
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE *

      aes_ocb_get_l (gcry_cipher_hd_t c, u64 n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: vpaes_ssse3_prepare
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpaes_ssse3_prepare()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: vpaes_ssse3_cleanup
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpaes_ssse3_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: vpaes_ssse3_prepare
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpaes_ssse3_prepare()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: vpaes_ssse3_cleanup
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpaes_ssse3_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: vpaes_ssse3_prepare_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpaes_ssse3_prepare_enc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: vpaes_ssse3_prepare_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpaes_ssse3_prepare_dec()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vpaes_ssse3_prepare
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:171,1
    - Dst: _gcry_aes_ssse3_schedule_core
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:173,1
    - Dst: vpaes_ssse3_cleanup
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - RIJNDAEL_context*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 200
    functionName: ASM_FUNC_ATTR::_gcry_aes_ssse3_do_setkey
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached:
    - vpaes_ssse3_cleanup
    - _gcry_aes_ssse3_schedule_core
    - vpaes_ssse3_prepare
    linkageType: ''
    returnType: void
    signature: 'void ASM_FUNC_ATTR

      _gcry_aes_ssse3_do_setkey (RIJNDAEL_context *ctx, const byte *key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vpaes_ssse3_prepare
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:210,1
    - Dst: _gcry_aes_ssse3_schedule_core
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:212,1
    - Dst: vpaes_ssse3_cleanup
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - ssse3_state
    argTypes:
    - RIJNDAEL_context*
    - byte[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 217
    functionName: do_ssse3_prepare_decryption
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached:
    - vpaes_ssse3_cleanup
    - _gcry_aes_ssse3_schedule_core
    - vpaes_ssse3_prepare
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE do_ssse3_prepare_decryption (RIJNDAEL_context
      *ctx,\n                             byte ssse3_state[SSSE3_STATE_SIZE])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_ssse3_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: ASM_FUNC_ATTR::_gcry_aes_ssse3_prepare_decryption
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached:
    - do_ssse3_prepare_decryption
    linkageType: ''
    returnType: void
    signature: 'void ASM_FUNC_ATTR

      _gcry_aes_ssse3_prepare_decryption (RIJNDAEL_context *ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_ssse3_encrypt_core
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - nrounds
    argTypes:
    - RIJNDAEL_context*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: do_vpaes_ssse3_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_ssse3_encrypt_core
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE do_vpaes_ssse3_enc (const RIJNDAEL_context *ctx,
      unsigned int nrounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_ssse3_decrypt_core
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - nrounds
    argTypes:
    - RIJNDAEL_context*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: do_vpaes_ssse3_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_ssse3_decrypt_core
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE do_vpaes_ssse3_dec (const RIJNDAEL_context *ctx,
      unsigned int nrounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vpaes_ssse3_prepare_enc
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:253,1
    - Dst: do_vpaes_ssse3_enc
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:258,1
    - Dst: vpaes_ssse3_cleanup
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - dst
    - src
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 265
    functionName: ASM_FUNC_ATTR::_gcry_aes_ssse3_encrypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached:
    - do_vpaes_ssse3_enc
    - vpaes_ssse3_cleanup
    - vpaes_ssse3_prepare_enc
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int ASM_FUNC_ATTR\n_gcry_aes_ssse3_encrypt (const RIJNDAEL_context
      *ctx, unsigned char *dst,\n                        const unsigned char *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vpaes_ssse3_prepare_enc
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:276,1
    - Dst: do_vpaes_ssse3_enc
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:285,1
    - Dst: vpaes_ssse3_cleanup
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 304
    functionName: ASM_FUNC_ATTR::_gcry_aes_ssse3_cfb_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached:
    - do_vpaes_ssse3_enc
    - vpaes_ssse3_cleanup
    - vpaes_ssse3_prepare_enc
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR\n_gcry_aes_ssse3_cfb_enc (RIJNDAEL_context *ctx,
      unsigned char *iv,\n                         unsigned char *outbuf, const unsigned
      char *inbuf,\n                         size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vpaes_ssse3_prepare_enc
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:315,1
    - Dst: do_vpaes_ssse3_enc
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:330,1
    - Dst: vpaes_ssse3_cleanup
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - ctx
    - iv
    - outbuf
    - inbuf
    - nblocks
    - cbc_mac
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 349
    functionName: ASM_FUNC_ATTR::_gcry_aes_ssse3_cbc_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached:
    - do_vpaes_ssse3_enc
    - vpaes_ssse3_cleanup
    - vpaes_ssse3_prepare_enc
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR\n_gcry_aes_ssse3_cbc_enc (RIJNDAEL_context *ctx,
      unsigned char *iv,\n                         unsigned char *outbuf, const unsigned
      char *inbuf,\n                         size_t nblocks, int cbc_mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vpaes_ssse3_prepare_enc
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:360,1
    - Dst: do_vpaes_ssse3_enc
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:371,1
    - Dst: vpaes_ssse3_cleanup
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - ctr
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 385
    functionName: ASM_FUNC_ATTR::_gcry_aes_ssse3_ctr_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached:
    - do_vpaes_ssse3_enc
    - vpaes_ssse3_cleanup
    - vpaes_ssse3_prepare_enc
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR\n_gcry_aes_ssse3_ctr_enc (RIJNDAEL_context *ctx,
      unsigned char *ctr,\n                         unsigned char *outbuf, const unsigned
      char *inbuf,\n                         size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vpaes_ssse3_prepare_dec
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:395,1
    - Dst: do_vpaes_ssse3_dec
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:400,1
    - Dst: vpaes_ssse3_cleanup
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - dst
    - src
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 407
    functionName: ASM_FUNC_ATTR::_gcry_aes_ssse3_decrypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached:
    - do_vpaes_ssse3_dec
    - vpaes_ssse3_cleanup
    - vpaes_ssse3_prepare_dec
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int ASM_FUNC_ATTR\n_gcry_aes_ssse3_decrypt (const RIJNDAEL_context
      *ctx, unsigned char *dst,\n                         const unsigned char *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vpaes_ssse3_prepare_enc
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:418,1
    - Dst: do_vpaes_ssse3_enc
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:427,1
    - Dst: vpaes_ssse3_cleanup
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 447
    functionName: ASM_FUNC_ATTR::_gcry_aes_ssse3_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached:
    - do_vpaes_ssse3_enc
    - vpaes_ssse3_cleanup
    - vpaes_ssse3_prepare_enc
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR\n_gcry_aes_ssse3_cfb_dec (RIJNDAEL_context *ctx,
      unsigned char *iv,\n                         unsigned char *outbuf, const unsigned
      char *inbuf,\n                         size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_ssse3_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:460,1
    - Dst: vpaes_ssse3_prepare_dec
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:464,1
    - Dst: do_vpaes_ssse3_dec
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:479,1
    - Dst: vpaes_ssse3_cleanup
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - ctx
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 498
    functionName: ASM_FUNC_ATTR::_gcry_aes_ssse3_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached:
    - do_vpaes_ssse3_dec
    - do_ssse3_prepare_decryption
    - vpaes_ssse3_cleanup
    - vpaes_ssse3_prepare_dec
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR\n_gcry_aes_ssse3_cbc_dec (RIJNDAEL_context *ctx,
      unsigned char *iv,\n                         unsigned char *outbuf, const unsigned
      char *inbuf,\n                         size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vpaes_ssse3_prepare_enc
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:512,1
    - Dst: aes_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:526,1
    - Dst: do_vpaes_ssse3_enc
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:541,1
    - Dst: vpaes_ssse3_cleanup
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 562
    functionName: ASM_FUNC_ATTR::ssse3_ocb_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached:
    - do_vpaes_ssse3_enc
    - aes_ocb_get_l
    - vpaes_ssse3_cleanup
    - vpaes_ssse3_prepare_enc
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR\nssse3_ocb_enc (gcry_cipher_hd_t c, void *outbuf_arg,\n
      \              const void *inbuf_arg, size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_ssse3_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:577,1
    - Dst: vpaes_ssse3_prepare_dec
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:581,1
    - Dst: aes_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:595,1
    - Dst: do_vpaes_ssse3_dec
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:609,1
    - Dst: vpaes_ssse3_cleanup
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 631
    functionName: ASM_FUNC_ATTR::ssse3_ocb_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached:
    - do_vpaes_ssse3_dec
    - aes_ocb_get_l
    - vpaes_ssse3_prepare_dec
    - do_ssse3_prepare_decryption
    - vpaes_ssse3_cleanup
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR\nssse3_ocb_dec (gcry_cipher_hd_t c, void *outbuf_arg,\n
      \              const void *inbuf_arg, size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASM_FUNC_ATTR::ssse3_ocb_enc
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:639,1
    - Dst: ASM_FUNC_ATTR::ssse3_ocb_dec
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 634
    functionDepth: 3
    functionLinenumber: 634
    functionLinenumberEnd: 644
    functionName: ASM_FUNC_ATTR::_gcry_aes_ssse3_ocb_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached:
    - ASM_FUNC_ATTR::ssse3_ocb_enc
    - ASM_FUNC_ATTR::ssse3_ocb_dec
    linkageType: ''
    returnType: size_t
    signature: "size_t ASM_FUNC_ATTR\n_gcry_aes_ssse3_ocb_crypt(gcry_cipher_hd_t c,
      void *outbuf_arg,\n                          const void *inbuf_arg, size_t nblocks,
      int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vpaes_ssse3_prepare_enc
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:657,1
    - Dst: aes_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:671,1
    - Dst: do_vpaes_ssse3_enc
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:684,1
    - Dst: vpaes_ssse3_cleanup
      Src: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - c
    - abuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 705
    functionName: ASM_FUNC_ATTR::_gcry_aes_ssse3_ocb_auth
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
    functionUses: 0
    functionsReached:
    - do_vpaes_ssse3_enc
    - aes_ocb_get_l
    - vpaes_ssse3_cleanup
    - vpaes_ssse3_prepare_enc
    linkageType: ''
    returnType: size_t
    signature: "size_t ASM_FUNC_ATTR\n_gcry_aes_ssse3_ocb_auth (gcry_cipher_hd_t c,
      const void *abuf_arg,\n                          size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: GETU32
    functionSourceFile: /src/libgcrypt/cipher/seed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETU32(pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ct
    - ','
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: PUTU32
    functionSourceFile: /src/libgcrypt/cipher/seed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTU32(ct, st)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: selftest
      Src: /src/libgcrypt/cipher/seed.c:273,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/seed.c:275,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/seed.c:283,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/seed.c:284,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/seed.c:285,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/seed.c:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - SEED_context*
    - byte*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 310
    functionName: do_setkey
    functionSourceFile: /src/libgcrypt/cipher/seed.c
    functionUses: 3
    functionsReached:
    - GETU32
    - selftest
    - log_error
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t do_setkey (SEED_context *ctx, const byte *key, const
      unsigned keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_setkey
      Src: /src/libgcrypt/cipher/seed.c:317,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/seed.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - context
    - key
    - keylen
    - bulk_ops
    argTypes:
    - void*
    - byte*
    - unsigned
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: seed_setkey
    functionSourceFile: /src/libgcrypt/cipher/seed.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - do_setkey
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t seed_setkey (void *context, const byte *key, const
      unsigned keylen,\n             cipher_bulk_ops_t *bulk_ops)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - X1
    - ','
    - X2
    - ','
    - X3
    - ','
    - X4
    - ','
    - rbase
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 337
    functionName: OP
    functionSourceFile: /src/libgcrypt/cipher/seed.c
    functionUses: 43
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP(X1, X2, X3, X4, rbase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/seed.c:345,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/seed.c:346,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/seed.c:347,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/seed.c:348,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:350,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:351,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:352,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:353,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:354,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:355,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:356,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:357,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:358,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:359,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:360,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:361,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:362,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:363,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:364,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:365,1
    - Dst: PUTU32
      Src: /src/libgcrypt/cipher/seed.c:367,1
    - Dst: PUTU32
      Src: /src/libgcrypt/cipher/seed.c:368,1
    - Dst: PUTU32
      Src: /src/libgcrypt/cipher/seed.c:369,1
    - Dst: PUTU32
      Src: /src/libgcrypt/cipher/seed.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - outbuf
    - inbuf
    argTypes:
    - SEED_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 371
    functionName: do_encrypt
    functionSourceFile: /src/libgcrypt/cipher/seed.c
    functionUses: 2
    functionsReached:
    - OP
    - GETU32
    - PUTU32
    linkageType: ''
    returnType: void
    signature: void do_encrypt (const SEED_context *ctx, byte *outbuf, const byte
      *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encrypt
      Src: /src/libgcrypt/cipher/seed.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 380
    functionName: seed_encrypt
    functionSourceFile: /src/libgcrypt/cipher/seed.c
    functionUses: 0
    functionsReached:
    - do_encrypt
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int seed_encrypt (void *context, byte *outbuf, const byte
      *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/seed.c:391,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/seed.c:392,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/seed.c:393,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/seed.c:394,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:396,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:397,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:398,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:399,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:400,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:401,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:402,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:403,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:404,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:405,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:406,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:407,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:408,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:409,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:410,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/seed.c:411,1
    - Dst: PUTU32
      Src: /src/libgcrypt/cipher/seed.c:413,1
    - Dst: PUTU32
      Src: /src/libgcrypt/cipher/seed.c:414,1
    - Dst: PUTU32
      Src: /src/libgcrypt/cipher/seed.c:415,1
    - Dst: PUTU32
      Src: /src/libgcrypt/cipher/seed.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - outbuf
    - inbuf
    argTypes:
    - SEED_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 417
    functionName: do_decrypt
    functionSourceFile: /src/libgcrypt/cipher/seed.c
    functionUses: 2
    functionsReached:
    - OP
    - GETU32
    - PUTU32
    linkageType: ''
    returnType: void
    signature: void do_decrypt (SEED_context *ctx, byte *outbuf, const byte *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_decrypt
      Src: /src/libgcrypt/cipher/seed.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: seed_decrypt
    functionSourceFile: /src/libgcrypt/cipher/seed.c
    functionUses: 0
    functionsReached:
    - do_decrypt
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int seed_decrypt (void *context, byte *outbuf, const byte
      *inbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: seed_setkey
      Src: /src/libgcrypt/cipher/seed.c:451,1
    - Dst: seed_encrypt
      Src: /src/libgcrypt/cipher/seed.c:452,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/seed.c:453,1
    - Dst: seed_decrypt
      Src: /src/libgcrypt/cipher/seed.c:455,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/seed.c:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 460
    functionName: selftest
    functionSourceFile: /src/libgcrypt/cipher/seed.c
    functionUses: 15
    functionsReached:
    - seed_setkey
    - memcmp
    - seed_decrypt
    - seed_encrypt
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctz_no_zero
      Src: /src/libgcrypt/cipher/cipher-internal.h:795,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - gcry_cipher_hd_t
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 799
    functionName: ocb_get_l
    functionSourceFile: /src/libgcrypt/cipher/cipher-internal.h
    functionUses: 8
    functionsReached:
    - _gcry_ctz_no_zero
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      ocb_get_l (gcry_cipher_hd_t c, u64 n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNLIKELY
      Src: /src/libgcrypt/cipher/cipher-internal.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 808
    functionName: _gcry_blocksize_shift
    functionSourceFile: /src/libgcrypt/cipher/cipher-internal.h
    functionUses: 2
    functionsReached:
    - UNLIKELY
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_blocksize_shift(gcry_cipher_hd_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctr
    - add
    argTypes:
    - u32[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 820
    functionName: cipher_bytecounter_add
    functionSourceFile: /src/libgcrypt/cipher/cipher-internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cipher_bytecounter_add (u32 ctr[2], size_t add)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNLIKELY
      Src: /src/libgcrypt/cipher/cipher-internal.h:830,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-internal.h:832,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-internal.h:832,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-internal.h:836,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-internal.h:837,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-internal.h:840,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-internal.h:841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - _dstsrc
    - add
    - blocksize
    argTypes:
    - void*
    - u64
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 843
    functionName: cipher_block_add
    functionSourceFile: /src/libgcrypt/cipher/cipher-internal.h
    functionUses: 2
    functionsReached:
    - UNLIKELY
    - buf_get_be64
    - buf_put_be64
    linkageType: ''
    returnType: void
    signature: void cipher_block_add(void *_dstsrc, u64 add, size_t blocksize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - _dstsrc
    - add
    - blocksize
    argTypes:
    - void*
    - unsigned int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 856
    functionName: cipher_block_add_be16
    functionSourceFile: /src/libgcrypt/cipher/cipher-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cipher_block_add_be16(void *_dstsrc, unsigned int add, size_t
      blocksize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNLIKELY
      Src: /src/libgcrypt/cipher/cipher-internal.h:867,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:869,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:869,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:873,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:874,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:875,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - _dst
    - _src
    - blocksize
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 878
    functionName: cipher_block_cpy
    functionSourceFile: /src/libgcrypt/cipher/cipher-internal.h
    functionUses: 5
    functionsReached:
    - buf_put_he64
    - UNLIKELY
    - buf_get_he64
    linkageType: ''
    returnType: void
    signature: void cipher_block_cpy(void *_dst, const void *_src, size_t blocksize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNLIKELY
      Src: /src/libgcrypt/cipher/cipher-internal.h:892,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:894,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:894,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:894,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:898,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:899,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:900,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:901,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:902,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - _dst
    - _src1
    - _src2
    - blocksize
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 905
    functionName: cipher_block_xor
    functionSourceFile: /src/libgcrypt/cipher/cipher-internal.h
    functionUses: 11
    functionsReached:
    - buf_put_he64
    - UNLIKELY
    - buf_get_he64
    linkageType: ''
    returnType: void
    signature: "void cipher_block_xor(void *_dst, const void *_src1, const void *_src2,\n
      \                size_t blocksize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-internal.h:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _dst
    - _src
    - blocksize
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 913
    functionName: cipher_block_xor_1
    functionSourceFile: /src/libgcrypt/cipher/cipher-internal.h
    functionUses: 1
    functionsReached:
    - cipher_block_xor
    linkageType: ''
    returnType: void
    signature: void cipher_block_xor_1(void *_dst, const void *_src, size_t blocksize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNLIKELY
      Src: /src/libgcrypt/cipher/cipher-internal.h:928,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:930,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:930,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:931,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:932,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:936,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:937,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:938,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:939,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:942,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:943,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:944,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - _dst1
    - _dst2
    - _src
    - blocksize
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 947
    functionName: cipher_block_xor_2dst
    functionSourceFile: /src/libgcrypt/cipher/cipher-internal.h
    functionUses: 0
    functionsReached:
    - buf_put_he64
    - UNLIKELY
    - buf_get_he64
    linkageType: ''
    returnType: void
    signature: "void cipher_block_xor_2dst(void *_dst1, void *_dst2, const void *_src,\n
      \                     size_t blocksize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNLIKELY
      Src: /src/libgcrypt/cipher/cipher-internal.h:965,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:967,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:968,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:969,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:969,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:970,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:974,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:975,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:976,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:977,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:978,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:979,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:982,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:983,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:984,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/cipher-internal.h:985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - _dst_xor
    - _src_xor
    - _srcdst_cpy
    - _src_cpy
    - blocksize
    argTypes:
    - void*
    - void*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 987
    functionName: cipher_block_xor_n_copy_2
    functionSourceFile: /src/libgcrypt/cipher/cipher-internal.h
    functionUses: 0
    functionsReached:
    - buf_put_he64
    - UNLIKELY
    - buf_get_he64
    linkageType: ''
    returnType: void
    signature: "void cipher_block_xor_n_copy_2(void *_dst_xor, const void *_src_xor,\n
      \                         void *_srcdst_cpy, const void *_src_cpy,\n                          size_t
      blocksize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNLIKELY
      Src: /src/libgcrypt/cipher/cipher-internal.h:999,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/cipher-internal.h:1001,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-internal.h:1001,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-internal.h:1005,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-internal.h:1006,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/cipher-internal.h:1007,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/cipher-internal.h:1008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - _dst_bswap
    - _src_bswap
    - blocksize
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1010
    functionName: cipher_block_bswap
    functionSourceFile: /src/libgcrypt/cipher/cipher-internal.h
    functionUses: 0
    functionsReached:
    - UNLIKELY
    - buf_get_be64
    - buf_put_le64
    linkageType: ''
    returnType: void
    signature: "void cipher_block_bswap (void *_dst_bswap, const void *_src_bswap,\n
      \                   size_t blocksize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cipher_block_xor_n_copy_2
      Src: /src/libgcrypt/cipher/cipher-internal.h:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - _dst_xor
    - _srcdst_cpy
    - _src
    - blocksize
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1015
    functionDepth: 2
    functionLinenumber: 1015
    functionLinenumberEnd: 1020
    functionName: cipher_block_xor_n_copy
    functionSourceFile: /src/libgcrypt/cipher/cipher-internal.h
    functionUses: 0
    functionsReached:
    - cipher_block_xor_n_copy_2
    linkageType: ''
    returnType: void
    signature: "void cipher_block_xor_n_copy(void *_dst_xor, void *_srcdst_cpy, const
      void *_src,\n                        size_t blocksize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: rol
    functionSourceFile: /src/libgcrypt/cipher/bithelp.h
    functionUses: 133
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 rol(u32 x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: ror
    functionSourceFile: /src/libgcrypt/cipher/bithelp.h
    functionUses: 3092
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 ror(u32 x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - u64
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: rol64
    functionSourceFile: /src/libgcrypt/cipher/bithelp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: u64 rol64(u64 x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rol
      Src: /src/libgcrypt/cipher/bithelp.h:52,1
    - Dst: ror
      Src: /src/libgcrypt/cipher/bithelp.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: _gcry_bswap32
    functionSourceFile: /src/libgcrypt/cipher/bithelp.h
    functionUses: 3
    functionsReached:
    - rol
    - ror
    linkageType: ''
    returnType: u32
    signature: u32 _gcry_bswap32(u32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/bithelp.h:62,1
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/bithelp.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: _gcry_bswap64
    functionSourceFile: /src/libgcrypt/cipher/bithelp.h
    functionUses: 2
    functionsReached:
    - _gcry_bswap32
    linkageType: ''
    returnType: u64
    signature: u64 _gcry_bswap64(u64 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: le_bswap32
    functionSourceFile: /src/libgcrypt/cipher/bithelp.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le_bswap32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: be_bswap32
    functionSourceFile: /src/libgcrypt/cipher/bithelp.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be_bswap32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: le_bswap64
    functionSourceFile: /src/libgcrypt/cipher/bithelp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le_bswap64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: be_bswap64
    functionSourceFile: /src/libgcrypt/cipher/bithelp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be_bswap64(x)
  - 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: le_bswap32
    functionSourceFile: /src/libgcrypt/cipher/bithelp.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le_bswap32(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: be_bswap32
    functionSourceFile: /src/libgcrypt/cipher/bithelp.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be_bswap32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: le_bswap64
    functionSourceFile: /src/libgcrypt/cipher/bithelp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le_bswap64(x)
  - 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: be_bswap64
    functionSourceFile: /src/libgcrypt/cipher/bithelp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be_bswap64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctz
      Src: /src/libgcrypt/cipher/bithelp.h:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 113
    functionName: _gcry_ctz_no_zero
    functionSourceFile: /src/libgcrypt/cipher/bithelp.h
    functionUses: 1
    functionsReached:
    - __builtin_ctz
    linkageType: ''
    returnType: int
    signature: int _gcry_ctz_no_zero (unsigned int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctz_no_zero
      Src: /src/libgcrypt/cipher/bithelp.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: _gcry_ctz
    functionSourceFile: /src/libgcrypt/cipher/bithelp.h
    functionUses: 5
    functionsReached:
    - _gcry_ctz_no_zero
    linkageType: ''
    returnType: int
    signature: int _gcry_ctz (unsigned int x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzl
      Src: /src/libgcrypt/cipher/bithelp.h:133,1
    - Dst: __builtin_ctz
      Src: /src/libgcrypt/cipher/bithelp.h:136,1
    - Dst: _gcry_ctz
      Src: /src/libgcrypt/cipher/bithelp.h:139,1
    - Dst: _gcry_ctz
      Src: /src/libgcrypt/cipher/bithelp.h:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 143
    functionName: _gcry_ctz64
    functionSourceFile: /src/libgcrypt/cipher/bithelp.h
    functionUses: 0
    functionsReached:
    - __builtin_ctzl
    - __builtin_ctz
    - _gcry_ctz
    linkageType: ''
    returnType: int
    signature: int _gcry_ctz64(u64 x)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - mac_algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 66
    functionName: map_mac_algo_to_cipher
    functionSourceFile: /src/libgcrypt/cipher/mac-cmac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int map_mac_algo_to_cipher (int mac_algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: map_mac_algo_to_cipher
      Src: /src/libgcrypt/cipher/mac-cmac.c:78,1
    - Dst: _gcry_cipher_open_internal
      Src: /src/libgcrypt/cipher/mac-cmac.c:81,1
    - Dst: _gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/cipher/mac-cmac.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: cmac_open
    functionSourceFile: /src/libgcrypt/cipher/mac-cmac.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_get_algo_blklen
    - map_mac_algo_to_cipher
    - _gcry_cipher_open_internal
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t cmac_open (gcry_mac_hd_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_close
      Src: /src/libgcrypt/cipher/mac-cmac.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: cmac_close
    functionSourceFile: /src/libgcrypt/cipher/mac-cmac.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void cmac_close (gcry_mac_hd_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_setkey
      Src: /src/libgcrypt/cipher/mac-cmac.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h
    - key
    - keylen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: cmac_setkey
    functionSourceFile: /src/libgcrypt/cipher/mac-cmac.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_setkey
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t cmac_setkey (gcry_mac_hd_t h, const unsigned char *key,
      size_t keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_reset
      Src: /src/libgcrypt/cipher/mac-cmac.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: cmac_reset
    functionSourceFile: /src/libgcrypt/cipher/mac-cmac.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_reset
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t cmac_reset (gcry_mac_hd_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_cmac_authenticate
      Src: /src/libgcrypt/cipher/mac-cmac.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h
    - buf
    - buflen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: cmac_write
    functionSourceFile: /src/libgcrypt/cipher/mac-cmac.c
    functionUses: 1
    functionsReached:
    - _gcry_cipher_cmac_authenticate
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t cmac_write (gcry_mac_hd_t h, const unsigned char *buf,
      size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_cmac_get_tag
      Src: /src/libgcrypt/cipher/mac-cmac.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - h
    - outbuf
    - outlen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 4
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: cmac_read
    functionSourceFile: /src/libgcrypt/cipher/mac-cmac.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_cmac_get_tag
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t cmac_read (gcry_mac_hd_t h, unsigned char *outbuf,
      size_t * outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_cmac_check_tag
      Src: /src/libgcrypt/cipher/mac-cmac.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h
    - buf
    - buflen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 4
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: cmac_verify
    functionSourceFile: /src/libgcrypt/cipher/mac-cmac.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_cmac_check_tag
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t cmac_verify (gcry_mac_hd_t h, const unsigned char *buf,
      size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/cipher/mac-cmac.c:141,1
    - Dst: map_mac_algo_to_cipher
      Src: /src/libgcrypt/cipher/mac-cmac.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: cmac_get_maclen
    functionSourceFile: /src/libgcrypt/cipher/mac-cmac.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_get_algo_blklen
    - map_mac_algo_to_cipher
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int cmac_get_maclen (int algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/cipher/mac-cmac.c:148,1
    - Dst: map_mac_algo_to_cipher
      Src: /src/libgcrypt/cipher/mac-cmac.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: cmac_get_keylen
    functionSourceFile: /src/libgcrypt/cipher/mac-cmac.c
    functionUses: 0
    functionsReached:
    - map_mac_algo_to_cipher
    - _gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int cmac_get_keylen (int algo)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mac_open
      Src: /src/libgcrypt/cipher/mac-cmac.c:168,1
    - Dst: _gcry_mac_get_algo
      Src: /src/libgcrypt/cipher/mac-cmac.c:172,1
    - Dst: _gcry_mac_get_algo_maclen
      Src: /src/libgcrypt/cipher/mac-cmac.c:176,1
    - Dst: _gcry_mac_setkey
      Src: /src/libgcrypt/cipher/mac-cmac.c:183,1
    - Dst: _gcry_mac_close
      Src: /src/libgcrypt/cipher/mac-cmac.c:186,1
    - Dst: _gcry_mac_write
      Src: /src/libgcrypt/cipher/mac-cmac.c:190,1
    - Dst: _gcry_mac_close
      Src: /src/libgcrypt/cipher/mac-cmac.c:193,1
    - Dst: _gcry_mac_verify
      Src: /src/libgcrypt/cipher/mac-cmac.c:197,1
    - Dst: _gcry_mac_close
      Src: /src/libgcrypt/cipher/mac-cmac.c:200,1
    - Dst: _gcry_mac_read
      Src: /src/libgcrypt/cipher/mac-cmac.c:205,1
    - Dst: _gcry_mac_close
      Src: /src/libgcrypt/cipher/mac-cmac.c:206,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/mac-cmac.c:210,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 7
    argNames:
    - algo
    - data
    - datalen
    - key
    - keylen
    - expect
    - expectlen
    argTypes:
    - int
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 214
    functionName: check_one
    functionSourceFile: /src/libgcrypt/cipher/mac-cmac.c
    functionUses: 9
    functionsReached:
    - _gcry_mac_read
    - _gcry_mac_get_algo_maclen
    - _gcry_mac_setkey
    - memcmp
    - _gcry_mac_close
    - _gcry_mac_verify
    - _gcry_mac_write
    - _gcry_mac_open
    - _gcry_mac_get_algo
    linkageType: ''
    returnType: char
    signature: "char *\ncheck_one (int algo, const char *data, size_t datalen,\n           const
      char *key, size_t keylen,\n           const char *expect, size_t expectlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_one
      Src: /src/libgcrypt/cipher/mac-cmac.c:287,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/mac-cmac.c:288,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/mac-cmac.c:289,1
    - Dst: report
      Src: /src/libgcrypt/cipher/mac-cmac.c:301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 303
    functionName: selftests_cmac_3des
    functionSourceFile: /src/libgcrypt/cipher/mac-cmac.c
    functionUses: 0
    functionsReached:
    - report
    - check_one
    - strlen
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_cmac_3des (int extended, selftest_report_func_t
      report)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_one
      Src: /src/libgcrypt/cipher/mac-cmac.c:398,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/mac-cmac.c:399,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/mac-cmac.c:400,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/mac-cmac.c:401,1
    - Dst: report
      Src: /src/libgcrypt/cipher/mac-cmac.c:412,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 414
    functionName: selftests_cmac_aes
    functionSourceFile: /src/libgcrypt/cipher/mac-cmac.c
    functionUses: 0
    functionsReached:
    - report
    - check_one
    - strlen
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_cmac_aes (int extended, selftest_report_func_t
      report)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: selftests_cmac_3des
      Src: /src/libgcrypt/cipher/mac-cmac.c:424,1
    - Dst: selftests_cmac_aes
      Src: /src/libgcrypt/cipher/mac-cmac.c:427,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 436
    functionName: cmac_selftest
    functionSourceFile: /src/libgcrypt/cipher/mac-cmac.c
    functionUses: 0
    functionsReached:
    - selftests_cmac_3des
    - selftests_cmac_aes
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t cmac_selftest (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blocksize_shift
      Src: /src/libgcrypt/cipher/cipher-cfb.c:40,1
    - Dst: buf_xor_2dst
      Src: /src/libgcrypt/cipher/cipher-cfb.c:53,1
    - Dst: buf_xor_2dst
      Src: /src/libgcrypt/cipher/cipher-cfb.c:65,1
    - Dst: gcry_cipher_hd_t::bulk::cfb_enc
      Src: /src/libgcrypt/cipher/cipher-cfb.c:77,1
    - Dst: enc_fn
      Src: /src/libgcrypt/cipher/cipher-cfb.c:87,1
    - Dst: cipher_block_xor_2dst
      Src: /src/libgcrypt/cipher/cipher-cfb.c:90,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cipher-cfb.c:100,1
    - Dst: enc_fn
      Src: /src/libgcrypt/cipher/cipher-cfb.c:101,1
    - Dst: cipher_block_xor_2dst
      Src: /src/libgcrypt/cipher/cipher-cfb.c:104,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cipher-cfb.c:112,1
    - Dst: enc_fn
      Src: /src/libgcrypt/cipher/cipher-cfb.c:113,1
    - Dst: buf_xor_2dst
      Src: /src/libgcrypt/cipher/cipher-cfb.c:118,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-cfb.c:125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 128
    functionName: _gcry_cipher_cfb_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-cfb.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_hd_t::bulk::cfb_enc
    - _gcry_burn_stack
    - buf_xor_2dst
    - _gcry_blocksize_shift
    - enc_fn
    - cipher_block_cpy
    - cipher_block_xor_2dst
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_cfb_encrypt (gcry_cipher_hd_t c,\n                          unsigned
      char *outbuf, size_t outbuflen,\n                          const unsigned char
      *inbuf, size_t inbuflen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blocksize_shift
      Src: /src/libgcrypt/cipher/cipher-cfb.c:138,1
    - Dst: buf_xor_n_copy
      Src: /src/libgcrypt/cipher/cipher-cfb.c:151,1
    - Dst: buf_xor_n_copy
      Src: /src/libgcrypt/cipher/cipher-cfb.c:163,1
    - Dst: gcry_cipher_hd_t::bulk::cfb_dec
      Src: /src/libgcrypt/cipher/cipher-cfb.c:175,1
    - Dst: enc_fn
      Src: /src/libgcrypt/cipher/cipher-cfb.c:185,1
    - Dst: cipher_block_xor_n_copy
      Src: /src/libgcrypt/cipher/cipher-cfb.c:188,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cipher-cfb.c:198,1
    - Dst: enc_fn
      Src: /src/libgcrypt/cipher/cipher-cfb.c:199,1
    - Dst: cipher_block_xor_n_copy
      Src: /src/libgcrypt/cipher/cipher-cfb.c:202,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cipher-cfb.c:211,1
    - Dst: enc_fn
      Src: /src/libgcrypt/cipher/cipher-cfb.c:212,1
    - Dst: buf_xor_n_copy
      Src: /src/libgcrypt/cipher/cipher-cfb.c:217,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-cfb.c:224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 227
    functionName: _gcry_cipher_cfb_decrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-cfb.c
    functionUses: 0
    functionsReached:
    - buf_xor_n_copy
    - gcry_cipher_hd_t::bulk::cfb_dec
    - cipher_block_xor_n_copy
    - _gcry_burn_stack
    - _gcry_blocksize_shift
    - enc_fn
    - cipher_block_cpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_cfb_decrypt (gcry_cipher_hd_t c,\n                          unsigned
      char *outbuf, size_t outbuflen,\n                          const unsigned char
      *inbuf, size_t inbuflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enc_fn
      Src: /src/libgcrypt/cipher/cipher-cfb.c:249,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-cfb.c:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 270
    functionName: _gcry_cipher_cfb8_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-cfb.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - enc_fn
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_cfb8_encrypt (gcry_cipher_hd_t c,\n                          unsigned
      char *outbuf, size_t outbuflen,\n                          const unsigned char
      *inbuf, size_t inbuflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enc_fn
      Src: /src/libgcrypt/cipher/cipher-cfb.c:293,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-cfb.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 317
    functionName: _gcry_cipher_cfb8_decrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-cfb.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - enc_fn
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_cfb8_decrypt (gcry_cipher_hd_t c,\n                          unsigned
      char *outbuf, size_t outbuflen,\n                          const unsigned char
      *inbuf, size_t inbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: load_aligned_u64
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: load_aligned_u64(ptr, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_aligned_u64
      Src: /src/libgcrypt/cipher/keccak.c:200,1
    - Dst: load_aligned_u64
      Src: /src/libgcrypt/cipher/keccak.c:201,1
    - Dst: load_aligned_u64
      Src: /src/libgcrypt/cipher/keccak.c:202,1
    - Dst: load_aligned_u64
      Src: /src/libgcrypt/cipher/keccak.c:203,1
    - Dst: load_aligned_u64
      Src: /src/libgcrypt/cipher/keccak.c:204,1
    - Dst: load_aligned_u64
      Src: /src/libgcrypt/cipher/keccak.c:205,1
    - Dst: load_aligned_u64
      Src: /src/libgcrypt/cipher/keccak.c:206,1
    - Dst: load_aligned_u64
      Src: /src/libgcrypt/cipher/keccak.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - in
    argTypes:
    - u64*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: aligned_absorb_lanes64_8
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - load_aligned_u64
    linkageType: ''
    returnType: void
    signature: void aligned_absorb_lanes64_8(u64 *dst, const byte *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_aligned_u64
      Src: /src/libgcrypt/cipher/keccak.c:212,1
    - Dst: load_aligned_u64
      Src: /src/libgcrypt/cipher/keccak.c:213,1
    - Dst: load_aligned_u64
      Src: /src/libgcrypt/cipher/keccak.c:214,1
    - Dst: load_aligned_u64
      Src: /src/libgcrypt/cipher/keccak.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - in
    argTypes:
    - u64*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: aligned_absorb_lanes64_4
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - load_aligned_u64
    linkageType: ''
    returnType: void
    signature: void aligned_absorb_lanes64_4(u64 *dst, const byte *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_aligned_u64
      Src: /src/libgcrypt/cipher/keccak.c:220,1
    - Dst: load_aligned_u64
      Src: /src/libgcrypt/cipher/keccak.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - in
    argTypes:
    - u64*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: aligned_absorb_lanes64_2
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - load_aligned_u64
    linkageType: ''
    returnType: void
    signature: void aligned_absorb_lanes64_2(u64 *dst, const byte *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_aligned_u64
      Src: /src/libgcrypt/cipher/keccak.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - in
    argTypes:
    - u64*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: aligned_absorb_lanes64_1
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - load_aligned_u64
    linkageType: ''
    returnType: void
    signature: void aligned_absorb_lanes64_1(u64 *dst, const byte *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - hd
    - pos
    - outbuf
    - outlen
    argTypes:
    - KECCAK_STATE*
    - unsigned int
    - byte*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: aligned_extract64
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int aligned_extract64(KECCAK_STATE *hd, unsigned int pos,
      byte *outbuf,\n\t\t unsigned int outlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIKELY
      Src: /src/libgcrypt/cipher/keccak.c:261,1
    - Dst: aligned_extract64
      Src: /src/libgcrypt/cipher/keccak.c:262,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/keccak.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - hd
    - pos
    - outbuf
    - outlen
    argTypes:
    - KECCAK_STATE*
    - unsigned int
    - byte*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 275
    functionName: keccak_extract64
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - LIKELY
    - aligned_extract64
    - buf_put_le64
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int keccak_extract64(KECCAK_STATE *hd, unsigned int pos,
      byte *outbuf,\n\t\t unsigned int outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/keccak.c:326,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/keccak.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 4
    argNames:
    - hd
    - pos
    - outbuf
    - outlen
    argTypes:
    - KECCAK_STATE*
    - unsigned int
    - byte*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 332
    functionName: keccak_extract32bi
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - buf_put_le32
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int keccak_extract32bi(KECCAK_STATE *hd, unsigned int pos,
      byte *outbuf,\n\t\t   unsigned int outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 3
    argNames:
    - lane
    - x0
    - x1
    argTypes:
    - u32*
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 349
    functionName: keccak_absorb_lane32bi
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void keccak_absorb_lane32bi(u32 *lane, u32 x0, u32 x1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - in
    argTypes:
    - u64*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 380
    functionName: unaligned_absorb_lanes64_8
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unaligned_absorb_lanes64_8(u64 *dst, const byte *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - in
    argTypes:
    - u64*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 395
    functionName: unaligned_absorb_lanes64_4
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unaligned_absorb_lanes64_4(u64 *dst, const byte *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - in
    argTypes:
    - u64*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 406
    functionName: unaligned_absorb_lanes64_2
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unaligned_absorb_lanes64_2(u64 *dst, const byte *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/keccak.c:412,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/keccak.c:413,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/keccak.c:414,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/keccak.c:415,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/keccak.c:416,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/keccak.c:417,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/keccak.c:418,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/keccak.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - in
    argTypes:
    - u64*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 420
    functionName: unaligned_absorb_lanes64_8
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - buf_get_le64
    linkageType: ''
    returnType: void
    signature: void unaligned_absorb_lanes64_8(u64 *dst, const byte *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/keccak.c:424,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/keccak.c:425,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/keccak.c:426,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/keccak.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - in
    argTypes:
    - u64*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: unaligned_absorb_lanes64_4
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - buf_get_le64
    linkageType: ''
    returnType: void
    signature: void unaligned_absorb_lanes64_4(u64 *dst, const byte *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/keccak.c:432,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/keccak.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - in
    argTypes:
    - u64*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: unaligned_absorb_lanes64_2
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - buf_get_le64
    linkageType: ''
    returnType: void
    signature: void unaligned_absorb_lanes64_2(u64 *dst, const byte *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/keccak.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - in
    argTypes:
    - u64*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: unaligned_absorb_lanes64_1
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - buf_get_le64
    linkageType: ''
    returnType: void
    signature: void unaligned_absorb_lanes64_1(u64 *dst, const byte *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIKELY
      Src: /src/libgcrypt/cipher/keccak.c:447,1
    - Dst: aligned_absorb_lanes64_8
      Src: /src/libgcrypt/cipher/keccak.c:449,1
    - Dst: aligned_absorb_lanes64_8
      Src: /src/libgcrypt/cipher/keccak.c:450,1
    - Dst: aligned_absorb_lanes64_4
      Src: /src/libgcrypt/cipher/keccak.c:451,1
    - Dst: aligned_absorb_lanes64_1
      Src: /src/libgcrypt/cipher/keccak.c:452,1
    - Dst: unaligned_absorb_lanes64_8
      Src: /src/libgcrypt/cipher/keccak.c:457,1
    - Dst: unaligned_absorb_lanes64_8
      Src: /src/libgcrypt/cipher/keccak.c:458,1
    - Dst: unaligned_absorb_lanes64_4
      Src: /src/libgcrypt/cipher/keccak.c:459,1
    - Dst: unaligned_absorb_lanes64_1
      Src: /src/libgcrypt/cipher/keccak.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - dst
    - in
    argTypes:
    - u64*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 461
    functionName: absorb_lanes64_21
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached:
    - unaligned_absorb_lanes64_4
    - unaligned_absorb_lanes64_1
    - aligned_absorb_lanes64_8
    - LIKELY
    - unaligned_absorb_lanes64_8
    - aligned_absorb_lanes64_1
    - aligned_absorb_lanes64_4
    linkageType: ''
    returnType: void
    signature: void absorb_lanes64_21(u64 *dst, const byte *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIKELY
      Src: /src/libgcrypt/cipher/keccak.c:466,1
    - Dst: aligned_absorb_lanes64_8
      Src: /src/libgcrypt/cipher/keccak.c:468,1
    - Dst: aligned_absorb_lanes64_8
      Src: /src/libgcrypt/cipher/keccak.c:469,1
    - Dst: aligned_absorb_lanes64_2
      Src: /src/libgcrypt/cipher/keccak.c:470,1
    - Dst: unaligned_absorb_lanes64_8
      Src: /src/libgcrypt/cipher/keccak.c:475,1
    - Dst: unaligned_absorb_lanes64_8
      Src: /src/libgcrypt/cipher/keccak.c:476,1
    - Dst: unaligned_absorb_lanes64_2
      Src: /src/libgcrypt/cipher/keccak.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - dst
    - in
    argTypes:
    - u64*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 478
    functionName: absorb_lanes64_18
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached:
    - unaligned_absorb_lanes64_2
    - aligned_absorb_lanes64_8
    - LIKELY
    - aligned_absorb_lanes64_2
    - unaligned_absorb_lanes64_8
    linkageType: ''
    returnType: void
    signature: void absorb_lanes64_18(u64 *dst, const byte *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIKELY
      Src: /src/libgcrypt/cipher/keccak.c:483,1
    - Dst: aligned_absorb_lanes64_8
      Src: /src/libgcrypt/cipher/keccak.c:485,1
    - Dst: aligned_absorb_lanes64_8
      Src: /src/libgcrypt/cipher/keccak.c:486,1
    - Dst: aligned_absorb_lanes64_1
      Src: /src/libgcrypt/cipher/keccak.c:487,1
    - Dst: unaligned_absorb_lanes64_8
      Src: /src/libgcrypt/cipher/keccak.c:492,1
    - Dst: unaligned_absorb_lanes64_8
      Src: /src/libgcrypt/cipher/keccak.c:493,1
    - Dst: unaligned_absorb_lanes64_1
      Src: /src/libgcrypt/cipher/keccak.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - dst
    - in
    argTypes:
    - u64*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 495
    functionName: absorb_lanes64_17
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached:
    - unaligned_absorb_lanes64_1
    - aligned_absorb_lanes64_8
    - LIKELY
    - unaligned_absorb_lanes64_8
    - aligned_absorb_lanes64_1
    linkageType: ''
    returnType: void
    signature: void absorb_lanes64_17(u64 *dst, const byte *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIKELY
      Src: /src/libgcrypt/cipher/keccak.c:500,1
    - Dst: aligned_absorb_lanes64_8
      Src: /src/libgcrypt/cipher/keccak.c:502,1
    - Dst: aligned_absorb_lanes64_4
      Src: /src/libgcrypt/cipher/keccak.c:503,1
    - Dst: aligned_absorb_lanes64_1
      Src: /src/libgcrypt/cipher/keccak.c:504,1
    - Dst: unaligned_absorb_lanes64_8
      Src: /src/libgcrypt/cipher/keccak.c:509,1
    - Dst: unaligned_absorb_lanes64_4
      Src: /src/libgcrypt/cipher/keccak.c:510,1
    - Dst: unaligned_absorb_lanes64_1
      Src: /src/libgcrypt/cipher/keccak.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - dst
    - in
    argTypes:
    - u64*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 512
    functionName: absorb_lanes64_13
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached:
    - unaligned_absorb_lanes64_4
    - unaligned_absorb_lanes64_1
    - aligned_absorb_lanes64_8
    - LIKELY
    - unaligned_absorb_lanes64_8
    - aligned_absorb_lanes64_1
    - aligned_absorb_lanes64_4
    linkageType: ''
    returnType: void
    signature: void absorb_lanes64_13(u64 *dst, const byte *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIKELY
      Src: /src/libgcrypt/cipher/keccak.c:517,1
    - Dst: aligned_absorb_lanes64_8
      Src: /src/libgcrypt/cipher/keccak.c:519,1
    - Dst: aligned_absorb_lanes64_1
      Src: /src/libgcrypt/cipher/keccak.c:520,1
    - Dst: unaligned_absorb_lanes64_8
      Src: /src/libgcrypt/cipher/keccak.c:525,1
    - Dst: unaligned_absorb_lanes64_1
      Src: /src/libgcrypt/cipher/keccak.c:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - in
    argTypes:
    - u64*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 527
    functionName: absorb_lanes64_9
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached:
    - unaligned_absorb_lanes64_1
    - aligned_absorb_lanes64_8
    - LIKELY
    - unaligned_absorb_lanes64_8
    - aligned_absorb_lanes64_1
    linkageType: ''
    returnType: void
    signature: void absorb_lanes64_9(u64 *dst, const byte *in)
  - 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: 531
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 531
    functionName: ANDN64
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANDN64(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 533
    functionName: ROL64
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROL64(x, n)
  - 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: 557
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 557
    functionName: ANDN64
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANDN64(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 564
    functionName: ROL64
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROL64(x, n)
  - 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: 593
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 593
    functionName: ANDN64
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANDN64(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 600
    functionName: ROL64
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROL64(x, n)
  - 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: 632
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 632
    functionName: ANDN64
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANDN64(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 642
    functionName: ROL64
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROL64(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_keccak_f1600_state_permute64_avx512
      Src: /src/libgcrypt/cipher/keccak.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KECCAK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: keccak_f1600_state_permute64_avx512
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached:
    - _gcry_keccak_f1600_state_permute64_avx512
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int keccak_f1600_state_permute64_avx512(KECCAK_STATE *hd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_keccak_absorb_blocks_avx512
      Src: /src/libgcrypt/cipher/keccak.c:690,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/keccak.c:698,1
    - Dst: keccak_f1600_state_permute64_avx512
      Src: /src/libgcrypt/cipher/keccak.c:704,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - hd
    - pos
    - lanes
    - nlanes
    - blocklanes
    argTypes:
    - KECCAK_STATE*
    - int
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 712
    functionName: keccak_absorb_lanes64_avx512
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - _gcry_keccak_absorb_blocks_avx512
    - keccak_f1600_state_permute64_avx512
    - buf_get_le64
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int keccak_absorb_lanes64_avx512(KECCAK_STATE *hd, int pos,
      const byte *lanes,\n\t\t\t     size_t nlanes, int blocklanes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_keccak_permute_armv7_neon
      Src: /src/libgcrypt/cipher/keccak.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - KECCAK_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 736
    functionName: keccak_permute64_armv7_neon
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - _gcry_keccak_permute_armv7_neon
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int keccak_permute64_armv7_neon(KECCAK_STATE *hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/keccak.c:748,1
    - Dst: _gcry_keccak_absorb_lanes64_armv7_neon
      Src: /src/libgcrypt/cipher/keccak.c:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - hd
    - pos
    - lanes
    - nlanes
    - blocklanes
    argTypes:
    - KECCAK_STATE*
    - int
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 760
    functionName: keccak_absorb_lanes64_armv7_neon
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached:
    - _gcry_keccak_absorb_lanes64_armv7_neon
    - buf_get_le64
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int keccak_absorb_lanes64_armv7_neon(KECCAK_STATE *hd, int
      pos, const byte *lanes,\n\t\t\t\t size_t nlanes, int blocklanes)"
  - 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: 776
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 776
    functionName: ANDN32
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANDN32(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 778
    functionName: ROL32
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROL32(x, n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keccak_absorb_lane32bi
      Src: /src/libgcrypt/cipher/keccak.c:794,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/keccak.c:795,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/keccak.c:796,1
    - Dst: keccak_f1600_state_permute32bi
      Src: /src/libgcrypt/cipher/keccak.c:802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - hd
    - pos
    - lanes
    - nlanes
    - blocklanes
    argTypes:
    - KECCAK_STATE*
    - int
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 808
    functionName: keccak_absorb_lanes32bi
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - keccak_f1600_state_permute32bi
    - buf_get_le32
    - keccak_absorb_lane32bi
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int keccak_absorb_lanes32bi(KECCAK_STATE *hd, int pos, const
      byte *lanes,\n\t\t        size_t nlanes, int blocklanes)"
  - 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: 829
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 829
    functionName: ANDN32
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANDN32(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 836
    functionName: ROL32
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROL32(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - mask
    argTypes:
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 849
    functionName: pext
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 pext(u32 x, u32 mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - mask
    argTypes:
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 856
    functionName: pdep
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 pdep(u32 x, u32 mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdep
      Src: /src/libgcrypt/cipher/keccak.c:861,1
    - Dst: pext
      Src: /src/libgcrypt/cipher/keccak.c:861,1
    - Dst: pext
      Src: /src/libgcrypt/cipher/keccak.c:861,1
    - Dst: pdep
      Src: /src/libgcrypt/cipher/keccak.c:862,1
    - Dst: pext
      Src: /src/libgcrypt/cipher/keccak.c:862,1
    - Dst: pext
      Src: /src/libgcrypt/cipher/keccak.c:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - lane
    - x0
    - x1
    argTypes:
    - u32*
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 866
    functionName: keccak_absorb_lane32bi_bmi2
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - pext
    - pdep
    linkageType: ''
    returnType: void
    signature: void keccak_absorb_lane32bi_bmi2(u32 *lane, u32 x0, u32 x1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keccak_absorb_lane32bi_bmi2
      Src: /src/libgcrypt/cipher/keccak.c:876,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/keccak.c:877,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/keccak.c:878,1
    - Dst: keccak_f1600_state_permute32bi_bmi2
      Src: /src/libgcrypt/cipher/keccak.c:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - hd
    - pos
    - lanes
    - nlanes
    - blocklanes
    argTypes:
    - KECCAK_STATE*
    - int
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 868
    functionDepth: 2
    functionLinenumber: 868
    functionLinenumberEnd: 890
    functionName: keccak_absorb_lanes32bi_bmi2
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - keccak_absorb_lane32bi_bmi2
    - buf_get_le32
    - keccak_f1600_state_permute32bi_bmi2
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int keccak_absorb_lanes32bi_bmi2(KECCAK_STATE *hd, int pos,
      const byte *lanes,\n\t\t             size_t nlanes, int blocklanes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdep
      Src: /src/libgcrypt/cipher/keccak.c:912,1
    - Dst: pext
      Src: /src/libgcrypt/cipher/keccak.c:912,1
    - Dst: pdep
      Src: /src/libgcrypt/cipher/keccak.c:912,1
    - Dst: pdep
      Src: /src/libgcrypt/cipher/keccak.c:913,1
    - Dst: pext
      Src: /src/libgcrypt/cipher/keccak.c:913,1
    - Dst: pdep
      Src: /src/libgcrypt/cipher/keccak.c:913,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/keccak.c:915,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/keccak.c:916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - hd
    - pos
    - outbuf
    - outlen
    argTypes:
    - KECCAK_STATE*
    - unsigned int
    - byte*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 921
    functionName: keccak_extract32bi_bmi2
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - pext
    - buf_put_le32
    - pdep
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int keccak_extract32bi_bmi2(KECCAK_STATE *hd, unsigned int
      pos, byte *outbuf,\n\t\t\tunsigned int outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kimd_execute
      Src: /src/libgcrypt/cipher/keccak.c:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - in
    - inlen
    argTypes:
    - void*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 944
    functionName: keccak_bwrite_s390x
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - kimd_execute
    linkageType: ''
    returnType: void
    signature: void keccak_bwrite_s390x (void *context, const byte *in, size_t inlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: klmd_execute
      Src: /src/libgcrypt/cipher/keccak.c:953,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/keccak.c:957,1
    - Dst: klmd_shake_execute
      Src: /src/libgcrypt/cipher/keccak.c:959,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 966
    functionName: keccak_final_s390x
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - klmd_shake_execute
    - gcry_assert
    - klmd_execute
    linkageType: ''
    returnType: void
    signature: void keccak_final_s390x (void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: klmd_shake_execute
      Src: /src/libgcrypt/cipher/keccak.c:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - out
    - outlen
    argTypes:
    - void*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 977
    functionName: keccak_bextract_s390x
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - klmd_shake_execute
    linkageType: ''
    returnType: void
    signature: void keccak_bextract_s390x (void *context, byte *out, size_t outlen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: keccak_bwrite_s390x
      Src: /src/libgcrypt/cipher/keccak.c:991,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/keccak.c:1003,1
    - Dst: keccak_bwrite_s390x
      Src: /src/libgcrypt/cipher/keccak.c:1016,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/keccak.c:1024,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - context
    - inbuf
    - inlen
    argTypes:
    - void*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 979
    functionDepth: 2
    functionLinenumber: 979
    functionLinenumberEnd: 1027
    functionName: keccak_write_s390x
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - buf_cpy
    - keccak_bwrite_s390x
    linkageType: ''
    returnType: void
    signature: void keccak_write_s390x (void *context, const byte *inbuf, size_t inlen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/keccak.c:1038,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/keccak.c:1047,1
    - Dst: keccak_bextract_s390x
      Src: /src/libgcrypt/cipher/keccak.c:1067,1
    - Dst: keccak_bextract_s390x
      Src: /src/libgcrypt/cipher/keccak.c:1076,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - context
    - outbuf_arg
    - outlen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1029
    functionDepth: 2
    functionLinenumber: 1029
    functionLinenumberEnd: 1079
    functionName: keccak_extract_s390x
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - buf_cpy
    - gcry_assert
    - keccak_bextract_s390x
    linkageType: ''
    returnType: void
    signature: void keccak_extract_s390x (void *context, void *outbuf_arg, size_t
      outlen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: keccak_write_s390x
      Src: /src/libgcrypt/cipher/keccak.c:1098,1
    - Dst: KECCAK_CONTEXT*::ops::absorb
      Src: /src/libgcrypt/cipher/keccak.c:1123,1
    - Dst: KECCAK_CONTEXT*::ops::absorb
      Src: /src/libgcrypt/cipher/keccak.c:1134,1
    - Dst: KECCAK_CONTEXT*::ops::absorb
      Src: /src/libgcrypt/cipher/keccak.c:1156,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/keccak.c:1159,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/keccak.c:1165,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - context
    - inbuf_arg
    - inlen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1083
    functionDepth: 3
    functionLinenumber: 1083
    functionLinenumberEnd: 1166
    functionName: keccak_write
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - KECCAK_CONTEXT*::ops::absorb
    - keccak_write_s390x
    - gcry_assert
    linkageType: ''
    returnType: void
    signature: void keccak_write (void *context, const void *inbuf_arg, size_t inlen)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/keccak.c:1174,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/keccak.c:1179,1
    - Dst: BUG
      Src: /src/libgcrypt/cipher/keccak.c:1256,1
    - Dst: kimd_query
      Src: /src/libgcrypt/cipher/keccak.c:1289,1
    - Dst: km_function_to_mask
      Src: /src/libgcrypt/cipher/keccak.c:1289,1
    - Dst: klmd_query
      Src: /src/libgcrypt/cipher/keccak.c:1290,1
    - Dst: km_function_to_mask
      Src: /src/libgcrypt/cipher/keccak.c:1290,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 3
    argNames:
    - algo
    - context
    - flags
    argTypes:
    - int
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1296
    functionName: keccak_init
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - _gcry_get_hw_features
    - BUG
    - km_function_to_mask
    - memset
    - klmd_query
    - kimd_query
    linkageType: ''
    returnType: void
    signature: void keccak_init (int algo, void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keccak_init
      Src: /src/libgcrypt/cipher/keccak.c:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1298
    functionDepth: 2
    functionLinenumber: 1298
    functionLinenumberEnd: 1302
    functionName: sha3_224_init
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - keccak_init
    linkageType: ''
    returnType: void
    signature: void sha3_224_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keccak_init
      Src: /src/libgcrypt/cipher/keccak.c:1307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1304
    functionDepth: 2
    functionLinenumber: 1304
    functionLinenumberEnd: 1308
    functionName: sha3_256_init
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - keccak_init
    linkageType: ''
    returnType: void
    signature: void sha3_256_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keccak_init
      Src: /src/libgcrypt/cipher/keccak.c:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1310
    functionDepth: 2
    functionLinenumber: 1310
    functionLinenumberEnd: 1314
    functionName: sha3_384_init
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - keccak_init
    linkageType: ''
    returnType: void
    signature: void sha3_384_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keccak_init
      Src: /src/libgcrypt/cipher/keccak.c:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1316
    functionDepth: 2
    functionLinenumber: 1316
    functionLinenumberEnd: 1320
    functionName: sha3_512_init
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - keccak_init
    linkageType: ''
    returnType: void
    signature: void sha3_512_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keccak_init
      Src: /src/libgcrypt/cipher/keccak.c:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1322
    functionDepth: 2
    functionLinenumber: 1322
    functionLinenumberEnd: 1326
    functionName: shake128_init
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - keccak_init
    linkageType: ''
    returnType: void
    signature: void shake128_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keccak_init
      Src: /src/libgcrypt/cipher/keccak.c:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1332
    functionName: shake256_init
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - keccak_init
    linkageType: ''
    returnType: void
    signature: void shake256_init (void *context, unsigned int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: keccak_final_s390x
      Src: /src/libgcrypt/cipher/keccak.c:1355,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/keccak.c:1366,1
    - Dst: KECCAK_CONTEXT*::ops::absorb
      Src: /src/libgcrypt/cipher/keccak.c:1367,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/keccak.c:1371,1
    - Dst: KECCAK_CONTEXT*::ops::absorb
      Src: /src/libgcrypt/cipher/keccak.c:1372,1
    - Dst: KECCAK_CONTEXT*::ops::permute
      Src: /src/libgcrypt/cipher/keccak.c:1378,1
    - Dst: KECCAK_CONTEXT*::ops::extract
      Src: /src/libgcrypt/cipher/keccak.c:1382,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/keccak.c:1392,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/keccak.c:1394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1341
    functionDepth: 4
    functionLinenumber: 1341
    functionLinenumberEnd: 1395
    functionName: keccak_final
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - KECCAK_CONTEXT*::ops::permute
    - wipememory
    - _gcry_burn_stack
    - KECCAK_CONTEXT*::ops::extract
    - keccak_final_s390x
    - KECCAK_CONTEXT*::ops::absorb
    - buf_put_le64
    linkageType: ''
    returnType: void
    signature: void keccak_final (void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1404
    functionName: keccak_read
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      keccak_read (void *context)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: keccak_extract_s390x
      Src: /src/libgcrypt/cipher/keccak.c:1424,1
    - Dst: KECCAK_CONTEXT*::ops::extract
      Src: /src/libgcrypt/cipher/keccak.c:1434,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/keccak.c:1444,1
    - Dst: KECCAK_CONTEXT*::ops::extract
      Src: /src/libgcrypt/cipher/keccak.c:1457,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/keccak.c:1463,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/keccak.c:1471,1
    - Dst: KECCAK_CONTEXT*::ops::permute
      Src: /src/libgcrypt/cipher/keccak.c:1474,1
    - Dst: KECCAK_CONTEXT*::ops::extract
      Src: /src/libgcrypt/cipher/keccak.c:1478,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/keccak.c:1487,1
    - Dst: KECCAK_CONTEXT*::ops::permute
      Src: /src/libgcrypt/cipher/keccak.c:1492,1
    - Dst: KECCAK_CONTEXT*::ops::extract
      Src: /src/libgcrypt/cipher/keccak.c:1500,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/keccak.c:1506,1
    - Dst: KECCAK_CONTEXT*::ops::extract
      Src: /src/libgcrypt/cipher/keccak.c:1512,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/keccak.c:1522,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/keccak.c:1529,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 3
    argNames:
    - context
    - out
    - outlen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1407
    functionDepth: 4
    functionLinenumber: 1407
    functionLinenumberEnd: 1532
    functionName: do_keccak_extract
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - keccak_extract_s390x
    - gcry_assert
    - KECCAK_CONTEXT*::ops::permute
    - _gcry_burn_stack
    - KECCAK_CONTEXT*::ops::extract
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t do_keccak_extract (void *context, void *out, size_t
      outlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_keccak_extract
      Src: /src/libgcrypt/cipher/keccak.c:1545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - context
    - out
    - outlen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1535
    functionDepth: 5
    functionLinenumber: 1535
    functionLinenumberEnd: 1546
    functionName: keccak_extract
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 1
    functionsReached:
    - do_keccak_extract
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t keccak_extract (void *context, void *out, size_t outlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/keccak.c:1565,1
    - Dst: do_keccak_extract
      Src: /src/libgcrypt/cipher/keccak.c:1569,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/keccak.c:1570,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/keccak.c:1572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1549
    functionDepth: 5
    functionLinenumber: 1549
    functionLinenumberEnd: 1576
    functionName: keccak_shake_read
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - wipememory
    - do_keccak_extract
    - gcry_assert
    - buf_cpy
    linkageType: ''
    returnType: byte
    signature: 'byte *

      keccak_shake_read (void *context)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_spec_t*::init
      Src: /src/libgcrypt/cipher/keccak.c:1586,1
    - Dst: keccak_write
      Src: /src/libgcrypt/cipher/keccak.c:1588,1
    - Dst: keccak_final
      Src: /src/libgcrypt/cipher/keccak.c:1589,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/keccak.c:1591,1
    - Dst: keccak_read
      Src: /src/libgcrypt/cipher/keccak.c:1591,1
    - Dst: do_keccak_extract
      Src: /src/libgcrypt/cipher/keccak.c:1593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - outbuf
    - nbytes
    - iov
    - iovcnt
    - spec
    argTypes:
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    - gcry_md_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1580
    functionDepth: 5
    functionLinenumber: 1580
    functionLinenumberEnd: 1594
    functionName: _gcry_sha3_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - keccak_write
    - keccak_final
    - keccak_read
    - gcry_md_spec_t*::init
    - do_keccak_extract
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void _gcry_sha3_hash_buffers (void *outbuf, size_t nbytes, const gcry_buffer_t
      *iov,\n\t\t\t int iovcnt, const gcry_md_spec_t *spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha3_hash_buffers
      Src: /src/libgcrypt/cipher/keccak.c:1601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - outbuf
    - nbytes
    - iov
    - iovcnt
    argTypes:
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1597
    functionDepth: 6
    functionLinenumber: 1597
    functionLinenumberEnd: 1603
    functionName: _gcry_sha3_224_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - _gcry_sha3_hash_buffers
    linkageType: ''
    returnType: void
    signature: "void _gcry_sha3_224_hash_buffers (void *outbuf, size_t nbytes,\n\t\t\t
      \    const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha3_hash_buffers
      Src: /src/libgcrypt/cipher/keccak.c:1609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - outbuf
    - nbytes
    - iov
    - iovcnt
    argTypes:
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1605
    functionDepth: 6
    functionLinenumber: 1605
    functionLinenumberEnd: 1611
    functionName: _gcry_sha3_256_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - _gcry_sha3_hash_buffers
    linkageType: ''
    returnType: void
    signature: "void _gcry_sha3_256_hash_buffers (void *outbuf, size_t nbytes,\n\t\t\t
      \    const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha3_hash_buffers
      Src: /src/libgcrypt/cipher/keccak.c:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - outbuf
    - nbytes
    - iov
    - iovcnt
    argTypes:
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1613
    functionDepth: 6
    functionLinenumber: 1613
    functionLinenumberEnd: 1619
    functionName: _gcry_sha3_384_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - _gcry_sha3_hash_buffers
    linkageType: ''
    returnType: void
    signature: "void _gcry_sha3_384_hash_buffers (void *outbuf, size_t nbytes,\n\t\t\t
      \    const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha3_hash_buffers
      Src: /src/libgcrypt/cipher/keccak.c:1625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - outbuf
    - nbytes
    - iov
    - iovcnt
    argTypes:
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1621
    functionDepth: 6
    functionLinenumber: 1621
    functionLinenumberEnd: 1627
    functionName: _gcry_sha3_512_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - _gcry_sha3_hash_buffers
    linkageType: ''
    returnType: void
    signature: "void _gcry_sha3_512_hash_buffers (void *outbuf, size_t nbytes,\n\t\t\t
      \    const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha3_hash_buffers
      Src: /src/libgcrypt/cipher/keccak.c:1633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - outbuf
    - nbytes
    - iov
    - iovcnt
    argTypes:
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1629
    functionDepth: 6
    functionLinenumber: 1629
    functionLinenumberEnd: 1635
    functionName: _gcry_shake128_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - _gcry_sha3_hash_buffers
    linkageType: ''
    returnType: void
    signature: "void _gcry_shake128_hash_buffers (void *outbuf, size_t nbytes,\n\t\t\t
      \    const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha3_hash_buffers
      Src: /src/libgcrypt/cipher/keccak.c:1641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - outbuf
    - nbytes
    - iov
    - iovcnt
    argTypes:
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1637
    functionDepth: 6
    functionLinenumber: 1637
    functionLinenumberEnd: 1643
    functionName: _gcry_shake256_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - _gcry_sha3_hash_buffers
    linkageType: ''
    returnType: void
    signature: "void _gcry_shake256_hash_buffers (void *outbuf, size_t nbytes,\n\t\t\t
      \    const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keccak_write
      Src: /src/libgcrypt/cipher/keccak.c:1653,1
    - Dst: keccak_write
      Src: /src/libgcrypt/cipher/keccak.c:1668,1
    - Dst: keccak_write
      Src: /src/libgcrypt/cipher/keccak.c:1669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - n
    - n_len
    argTypes:
    - KECCAK_CONTEXT*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1646
    functionDepth: 4
    functionLinenumber: 1646
    functionLinenumberEnd: 1671
    functionName: cshake_input_n
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - keccak_write
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int cshake_input_n (KECCAK_CONTEXT *ctx, const void *n, unsigned
      int n_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keccak_write
      Src: /src/libgcrypt/cipher/keccak.c:1693,1
    - Dst: keccak_write
      Src: /src/libgcrypt/cipher/keccak.c:1694,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/keccak.c:1698,1
    - Dst: keccak_write
      Src: /src/libgcrypt/cipher/keccak.c:1699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - s
    - s_len
    - len_written
    argTypes:
    - KECCAK_CONTEXT*
    - void*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1673
    functionDepth: 4
    functionLinenumber: 1673
    functionLinenumberEnd: 1700
    functionName: cshake_input_s
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - memset
    - keccak_write
    linkageType: ''
    returnType: void
    signature: "void cshake_input_s (KECCAK_CONTEXT *ctx, const void *s, unsigned
      int s_len,\n                unsigned int len_written)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cshake_input_n
      Src: /src/libgcrypt/cipher/keccak.c:1721,1
    - Dst: cshake_input_s
      Src: /src/libgcrypt/cipher/keccak.c:1722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - context
    - p
    argTypes:
    - void*
    - struct gcry_cshake_customization*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1702
    functionDepth: 5
    functionLinenumber: 1702
    functionLinenumberEnd: 1724
    functionName: _gcry_cshake_customize
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - cshake_input_n
    - cshake_input_s
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_cshake_customize (void *context, struct gcry_cshake_customization
      *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keccak_init
      Src: /src/libgcrypt/cipher/keccak.c:1730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1727
    functionDepth: 2
    functionLinenumber: 1727
    functionLinenumberEnd: 1731
    functionName: cshake128_init
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - keccak_init
    linkageType: ''
    returnType: void
    signature: void cshake128_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keccak_init
      Src: /src/libgcrypt/cipher/keccak.c:1736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1733
    functionDepth: 2
    functionLinenumber: 1733
    functionLinenumberEnd: 1737
    functionName: cshake256_init
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - keccak_init
    linkageType: ''
    returnType: void
    signature: void cshake256_init (void *context, unsigned int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_spec_t*::init
      Src: /src/libgcrypt/cipher/keccak.c:1745,1
    - Dst: cshake_input_n
      Src: /src/libgcrypt/cipher/keccak.c:1765,1
    - Dst: cshake_input_s
      Src: /src/libgcrypt/cipher/keccak.c:1766,1
    - Dst: keccak_write
      Src: /src/libgcrypt/cipher/keccak.c:1773,1
    - Dst: keccak_final
      Src: /src/libgcrypt/cipher/keccak.c:1774,1
    - Dst: do_keccak_extract
      Src: /src/libgcrypt/cipher/keccak.c:1775,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - spec
    - outbuf
    - nbytes
    - iov
    - iovcnt
    argTypes:
    - gcry_md_spec_t*
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1739
    functionDepth: 5
    functionLinenumber: 1739
    functionLinenumberEnd: 1776
    functionName: cshake_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - keccak_write
    - cshake_input_n
    - cshake_input_s
    - keccak_final
    - gcry_md_spec_t*::init
    - do_keccak_extract
    linkageType: ''
    returnType: void
    signature: "void cshake_hash_buffers (const gcry_md_spec_t *spec, void *outbuf,
      size_t nbytes,\n                     const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cshake_hash_buffers
      Src: /src/libgcrypt/cipher/keccak.c:1784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - outbuf
    - nbytes
    - iov
    - iovcnt
    argTypes:
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1778
    functionDepth: 6
    functionLinenumber: 1778
    functionLinenumberEnd: 1785
    functionName: _gcry_cshake128_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - cshake_hash_buffers
    linkageType: ''
    returnType: void
    signature: "void _gcry_cshake128_hash_buffers (void *outbuf, size_t nbytes,\n
      \                             const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cshake_hash_buffers
      Src: /src/libgcrypt/cipher/keccak.c:1793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - outbuf
    - nbytes
    - iov
    - iovcnt
    argTypes:
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1787
    functionDepth: 6
    functionLinenumber: 1787
    functionLinenumberEnd: 1794
    functionName: _gcry_cshake256_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - cshake_hash_buffers
    linkageType: ''
    returnType: void
    signature: "void _gcry_cshake256_hash_buffers (void *outbuf, size_t nbytes,\n
      \                             const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/libgcrypt/cipher/keccak.c:1814,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/keccak.c:1907,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/keccak.c:1915,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/keccak.c:1924,1
    - Dst: report
      Src: /src/libgcrypt/cipher/keccak.c:1934,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1801
    functionDepth: 2
    functionLinenumber: 1801
    functionLinenumberEnd: 1936
    functionName: selftests_keccak
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 0
    functionsReached:
    - report
    - _gcry_hash_selftest_check_one
    - BUG
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_keccak (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: selftests_keccak
      Src: /src/libgcrypt/cipher/keccak.c:1955,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1940
    functionDepth: 3
    functionLinenumber: 1940
    functionLinenumberEnd: 1963
    functionName: run_selftests
    functionSourceFile: /src/libgcrypt/cipher/keccak.c
    functionUses: 4
    functionsReached:
    - selftests_keccak
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t run_selftests (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - algo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: KYBER_KEYPAIR_STACK_BURN
    functionSourceFile: /src/libgcrypt/cipher/kyber.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KYBER_KEYPAIR_STACK_BURN(algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - algo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: KYBER_ENCAP_STACK_BURN
    functionSourceFile: /src/libgcrypt/cipher/kyber.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KYBER_ENCAP_STACK_BURN(algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - algo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: KYBER_DECAP_STACK_BURN
    functionSourceFile: /src/libgcrypt/cipher/kyber.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KYBER_DECAP_STACK_BURN(algo)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_eax_set_nonce
      Src: /src/libgcrypt/cipher/cipher-eax.c:46,1
    - Dst: _gcry_cipher_ctr_encrypt
      Src: /src/libgcrypt/cipher/cipher-eax.c:62,1
    - Dst: _gcry_cmac_write
      Src: /src/libgcrypt/cipher/cipher-eax.c:66,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 78
    functionName: _gcry_cipher_eax_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-eax.c
    functionUses: 0
    functionsReached:
    - _gcry_cmac_write
    - _gcry_cipher_eax_set_nonce
    - _gcry_cipher_ctr_encrypt
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_eax_encrypt (gcry_cipher_hd_t c,\n                          byte
      *outbuf, size_t outbuflen,\n                          const byte *inbuf, size_t
      inbuflen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_eax_set_nonce
      Src: /src/libgcrypt/cipher/cipher-eax.c:95,1
    - Dst: _gcry_cmac_write
      Src: /src/libgcrypt/cipher/cipher-eax.c:111,1
    - Dst: _gcry_cipher_ctr_encrypt
      Src: /src/libgcrypt/cipher/cipher-eax.c:116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 127
    functionName: _gcry_cipher_eax_decrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-eax.c
    functionUses: 0
    functionsReached:
    - _gcry_cmac_write
    - _gcry_cipher_eax_set_nonce
    - _gcry_cipher_ctr_encrypt
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_eax_decrypt (gcry_cipher_hd_t c,\n                          byte
      *outbuf, size_t outbuflen,\n                          const byte *inbuf, size_t
      inbuflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_eax_set_nonce
      Src: /src/libgcrypt/cipher/cipher-eax.c:141,1
    - Dst: _gcry_cmac_write
      Src: /src/libgcrypt/cipher/cipher-eax.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - c
    - aadbuf
    - aadbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 147
    functionName: _gcry_cipher_eax_authenticate
    functionSourceFile: /src/libgcrypt/cipher/cipher-eax.c
    functionUses: 0
    functionsReached:
    - _gcry_cmac_write
    - _gcry_cipher_eax_set_nonce
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_eax_authenticate (gcry_cipher_hd_t c,\n
      \                              const byte * aadbuf, size_t aadbuflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cmac_generate_subkeys
      Src: /src/libgcrypt/cipher/cipher-eax.c:155,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-eax.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: _gcry_cipher_eax_setkey
    functionSourceFile: /src/libgcrypt/cipher/cipher-eax.c
    functionUses: 0
    functionsReached:
    - buf_cpy
    - _gcry_cmac_generate_subkeys
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cipher_eax_setkey (gcry_cipher_hd_t c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cmac_reset
      Src: /src/libgcrypt/cipher/cipher-eax.c:178,1
    - Dst: _gcry_cmac_reset
      Src: /src/libgcrypt/cipher/cipher-eax.c:179,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-eax.c:183,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-eax.c:184,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-eax.c:186,1
    - Dst: _gcry_cmac_write
      Src: /src/libgcrypt/cipher/cipher-eax.c:189,1
    - Dst: _gcry_cmac_write
      Src: /src/libgcrypt/cipher/cipher-eax.c:195,1
    - Dst: _gcry_cmac_final
      Src: /src/libgcrypt/cipher/cipher-eax.c:200,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cipher-eax.c:204,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cipher-eax.c:205,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-eax.c:207,1
    - Dst: _gcry_cmac_write
      Src: /src/libgcrypt/cipher/cipher-eax.c:212,1
    - Dst: _gcry_cmac_write
      Src: /src/libgcrypt/cipher/cipher-eax.c:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - c
    - nonce
    - noncelen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 229
    functionName: _gcry_cipher_eax_set_nonce
    functionSourceFile: /src/libgcrypt/cipher/cipher-eax.c
    functionUses: 3
    functionsReached:
    - _gcry_cmac_reset
    - _gcry_cmac_final
    - wipememory
    - buf_cpy
    - _gcry_cmac_write
    - memset
    - cipher_block_cpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_eax_set_nonce (gcry_cipher_hd_t c, const
      byte *nonce,\n\t\t\t    size_t noncelen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cmac_final
      Src: /src/libgcrypt/cipher/cipher-eax.c:240,1
    - Dst: _gcry_cmac_final
      Src: /src/libgcrypt/cipher/cipher-eax.c:244,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-eax.c:248,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-eax.c:250,1
    - Dst: _gcry_cmac_reset
      Src: /src/libgcrypt/cipher/cipher-eax.c:253,1
    - Dst: _gcry_cmac_reset
      Src: /src/libgcrypt/cipher/cipher-eax.c:254,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-eax.c:266,1
    - Dst: buf_eq_const
      Src: /src/libgcrypt/cipher/cipher-eax.c:273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - c
    - outbuf
    - outbuflen
    - check
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 278
    functionName: _gcry_cipher_eax_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-eax.c
    functionUses: 0
    functionsReached:
    - _gcry_cmac_reset
    - _gcry_cmac_final
    - buf_eq_const
    - cipher_block_xor_1
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_eax_tag (gcry_cipher_hd_t c,\n                      byte
      *outbuf, size_t outbuflen, int check)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_eax_tag
      Src: /src/libgcrypt/cipher/cipher-eax.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - outtag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: _gcry_cipher_eax_get_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-eax.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_eax_tag
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_eax_get_tag (gcry_cipher_hd_t c, unsigned
      char *outtag,\n                          size_t taglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_eax_tag
      Src: /src/libgcrypt/cipher/cipher-eax.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - intag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 4
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: _gcry_cipher_eax_check_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-eax.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_eax_tag
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_eax_check_tag (gcry_cipher_hd_t c, const
      unsigned char *intag,\n                            size_t taglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - gcry_cipher_hd_t
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: aes_ocb_get_l
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE *

      aes_ocb_get_l (gcry_cipher_hd_t c, u64 n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: aesni_prepare
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aesni_prepare()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: aesni_prepare_2_7
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aesni_prepare_2_7()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: aesni_prepare_8_15
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aesni_prepare_8_15()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: aesni_cleanup
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aesni_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: aesni_cleanup_2_7
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aesni_cleanup_2_7()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: aesni_cleanup_8_15
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aesni_cleanup_8_15()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: aesni_prepare
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aesni_prepare()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: aesni_prepare_2_7
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aesni_prepare_2_7()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: aesni_cleanup
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aesni_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: aesni_cleanup_2_7
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aesni_cleanup_2_7()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: aesni_prepare_8_15
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aesni_prepare_8_15()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: aesni_cleanup_8_15
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aesni_cleanup_8_15()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aesni_prepare
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:173,1
    - Dst: aesni_prepare_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:174,1
    - Dst: aesni_cleanup
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:396,1
    - Dst: aesni_cleanup_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - RIJNDAEL_context*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 398
    functionName: ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_do_setkey
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached:
    - aesni_cleanup
    - aesni_cleanup_2_7
    - aesni_prepare_2_7
    - aesni_prepare
    linkageType: ''
    returnType: void
    signature: 'void ASM_FUNC_ATTR_NOINLINE

      _gcry_aes_aesni_do_setkey (RIJNDAEL_context *ctx, const byte *key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - imm8
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: AESKEYGENASSIST_xmm1_xmm2
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AESKEYGENASSIST_xmm1_xmm2(imm8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - imm8
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: AESKEYGENASSIST_xmm3_xmm2
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AESKEYGENASSIST_xmm3_xmm2(imm8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - imm8
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: AESKEYGENASSIST_xmm1_xmm2
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AESKEYGENASSIST_xmm1_xmm2(imm8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - imm8
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: AESKEYGENASSIST_xmm3_xmm2
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AESKEYGENASSIST_xmm3_xmm2(imm8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DO_AESNI_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:430,1
    - Dst: DO_AESNI_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:431,1
    - Dst: DO_AESNI_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:432,1
    - Dst: DO_AESNI_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:433,1
    - Dst: DO_AESNI_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:434,1
    - Dst: DO_AESNI_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:435,1
    - Dst: DO_AESNI_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:436,1
    - Dst: DO_AESNI_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:437,1
    - Dst: DO_AESNI_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:438,1
    - Dst: DO_AESNI_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:441,1
    - Dst: DO_AESNI_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:442,1
    - Dst: DO_AESNI_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:445,1
    - Dst: DO_AESNI_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 457
    functionName: do_aesni_prepare_decryption
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached:
    - DO_AESNI_AESIMC
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE do_aesni_prepare_decryption (RIJNDAEL_context
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: DO_AESNI_AESIMC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_AESNI_AESIMC()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aesni_prepare
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:462,1
    - Dst: do_aesni_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:463,1
    - Dst: aesni_cleanup
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 465
    functionName: ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_prepare_decryption
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached:
    - aesni_cleanup
    - do_aesni_prepare_decryption
    - aesni_prepare
    linkageType: ''
    returnType: void
    signature: 'void ASM_FUNC_ATTR_NOINLINE

      _gcry_aes_aesni_prepare_decryption (RIJNDAEL_context *ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 518
    functionName: do_aesni_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE do_aesni_enc (const RIJNDAEL_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 571
    functionName: do_aesni_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE do_aesni_dec (const RIJNDAEL_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 680
    functionName: do_aesni_enc_vec4
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE do_aesni_enc_vec4 (const RIJNDAEL_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 789
    functionName: do_aesni_dec_vec4
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE do_aesni_dec_vec4 (const RIJNDAEL_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 926
    functionName: do_aesni_enc_vec8
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE do_aesni_enc_vec8 (const RIJNDAEL_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 1061
    functionName: do_aesni_dec_vec8
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE do_aesni_dec_vec8 (const RIJNDAEL_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - ctr
    - b
    - a
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1128
    functionName: do_aesni_ctr
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE do_aesni_ctr (const RIJNDAEL_context *ctx,\n
      \             unsigned char *ctr, unsigned char *b, const unsigned char *a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aesni_prepare
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1630,1
    - Dst: do_aesni_enc
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1635,1
    - Dst: aesni_cleanup
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - dst
    - src
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1626
    functionDepth: 1
    functionLinenumber: 1626
    functionLinenumberEnd: 1642
    functionName: ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_encrypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached:
    - aesni_cleanup
    - do_aesni_enc
    - aesni_prepare
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int ASM_FUNC_ATTR_NOINLINE\n_gcry_aes_aesni_encrypt (const
      RIJNDAEL_context *ctx, unsigned char *dst,\n                         const unsigned
      char *src)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: aesni_prepare
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1652,1
    - Dst: aesni_prepare_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1653,1
    - Dst: do_aesni_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1657,1
    - Dst: aesni_prepare_8_15
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1667,1
    - Dst: do_aesni_enc_vec8
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1696,1
    - Dst: do_aesni_dec_vec8
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1710,1
    - Dst: aesni_cleanup_8_15
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1740,1
    - Dst: do_aesni_enc_vec4
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1756,1
    - Dst: do_aesni_dec_vec4
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1758,1
    - Dst: do_aesni_enc
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1781,1
    - Dst: do_aesni_dec
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1783,1
    - Dst: aesni_cleanup
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1794,1
    - Dst: aesni_cleanup_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1795,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 5
    argNames:
    - ctx
    - dst
    - src
    - nblocks
    - encrypt
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1645
    functionDepth: 2
    functionLinenumber: 1645
    functionLinenumberEnd: 1796
    functionName: ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_ecb_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached:
    - aesni_cleanup_2_7
    - do_aesni_prepare_decryption
    - do_aesni_dec_vec4
    - aesni_cleanup_8_15
    - do_aesni_dec_vec8
    - aesni_cleanup
    - do_aesni_enc
    - aesni_prepare_2_7
    - do_aesni_enc_vec4
    - do_aesni_dec
    - aesni_prepare_8_15
    - aesni_prepare
    - do_aesni_enc_vec8
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR_NOINLINE\n_gcry_aes_aesni_ecb_crypt (RIJNDAEL_context
      *ctx, unsigned char *dst,\n\t\t\t   const unsigned char *src, size_t nblocks,\n\t\t\t
      \  int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aesni_prepare
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1807,1
    - Dst: aesni_prepare_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1808,1
    - Dst: aesni_cleanup
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1893,1
    - Dst: aesni_cleanup_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - ctx
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1799
    functionDepth: 1
    functionLinenumber: 1799
    functionLinenumberEnd: 1895
    functionName: ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_cfb_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached:
    - aesni_cleanup
    - aesni_cleanup_2_7
    - aesni_prepare_2_7
    - aesni_prepare
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR_NOINLINE\n_gcry_aes_aesni_cfb_enc (RIJNDAEL_context
      *ctx, unsigned char *iv,\n                         unsigned char *outbuf, const
      unsigned char *inbuf,\n                         size_t nblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aesni_prepare
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1909,1
    - Dst: aesni_prepare_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:1910,1
    - Dst: aesni_cleanup
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2005,1
    - Dst: aesni_cleanup_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 6
    argNames:
    - ctx
    - iv
    - outbuf
    - inbuf
    - nblocks
    - cbc_mac
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 1898
    functionDepth: 1
    functionLinenumber: 1898
    functionLinenumberEnd: 2007
    functionName: ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_cbc_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached:
    - aesni_cleanup
    - aesni_cleanup_2_7
    - aesni_prepare_2_7
    - aesni_prepare
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR_NOINLINE\n_gcry_aes_aesni_cbc_enc (RIJNDAEL_context
      *ctx, unsigned char *iv,\n                         unsigned char *outbuf, const
      unsigned char *inbuf,\n                         size_t nblocks, int cbc_mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aesni_prepare
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2259,1
    - Dst: do_aesni_dec
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2264,1
    - Dst: aesni_cleanup
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - dst
    - src
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2271
      start: 2255
    functionDepth: 1
    functionLinenumber: 2255
    functionLinenumberEnd: 2271
    functionName: ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_decrypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached:
    - aesni_cleanup
    - aesni_prepare
    - do_aesni_dec
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int ASM_FUNC_ATTR_NOINLINE\n_gcry_aes_aesni_decrypt (const
      RIJNDAEL_context *ctx, unsigned char *dst,\n                         const unsigned
      char *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aesni_prepare
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2281,1
    - Dst: aesni_prepare_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2282,1
    - Dst: aesni_prepare_8_15
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2296,1
    - Dst: do_aesni_enc_vec8
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2332,1
    - Dst: aesni_cleanup_8_15
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2378,1
    - Dst: do_aesni_enc_vec4
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2395,1
    - Dst: do_aesni_enc
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2427,1
    - Dst: aesni_cleanup
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2446,1
    - Dst: aesni_cleanup_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 5
    argNames:
    - ctx
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2448
      start: 2274
    functionDepth: 1
    functionLinenumber: 2274
    functionLinenumberEnd: 2448
    functionName: ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached:
    - aesni_cleanup_2_7
    - aesni_cleanup_8_15
    - aesni_cleanup
    - do_aesni_enc
    - aesni_prepare_2_7
    - do_aesni_enc_vec4
    - aesni_prepare_8_15
    - aesni_prepare
    - do_aesni_enc_vec8
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR_NOINLINE\n_gcry_aes_aesni_cfb_dec (RIJNDAEL_context
      *ctx, unsigned char *iv,\n                         unsigned char *outbuf, const
      unsigned char *inbuf,\n                         size_t nblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aesni_prepare
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2458,1
    - Dst: aesni_prepare_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2459,1
    - Dst: do_aesni_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2463,1
    - Dst: aesni_prepare_8_15
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2478,1
    - Dst: do_aesni_dec_vec8
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2513,1
    - Dst: aesni_cleanup_8_15
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2559,1
    - Dst: do_aesni_dec_vec4
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2574,1
    - Dst: do_aesni_dec
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2612,1
    - Dst: aesni_cleanup
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2632,1
    - Dst: aesni_cleanup_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2633,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 5
    argNames:
    - ctx
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2634
      start: 2451
    functionDepth: 2
    functionLinenumber: 2451
    functionLinenumberEnd: 2634
    functionName: ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached:
    - aesni_prepare
    - aesni_cleanup_2_7
    - do_aesni_prepare_decryption
    - do_aesni_dec_vec4
    - aesni_cleanup_8_15
    - aesni_cleanup
    - aesni_prepare_2_7
    - do_aesni_dec
    - aesni_prepare_8_15
    - do_aesni_dec_vec8
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR_NOINLINE\n_gcry_aes_aesni_cbc_dec (RIJNDAEL_context
      *ctx, unsigned char *iv,\n                         unsigned char *outbuf, const
      unsigned char *inbuf,\n                         size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - c
    - plaintext
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2802
      start: 2637
    functionDepth: 0
    functionLinenumber: 2637
    functionLinenumberEnd: 2802
    functionName: aesni_ocb_checksum
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE aesni_ocb_checksum (gcry_cipher_hd_t c, const
      unsigned char *plaintext,\n\t\t    size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aesni_prepare
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2821,1
    - Dst: aesni_prepare_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2822,1
    - Dst: aes_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2834,1
    - Dst: do_aesni_enc
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2849,1
    - Dst: aesni_prepare_8_15
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2874,1
    - Dst: aes_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2890,1
    - Dst: aes_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:2902,1
    - Dst: aesni_cleanup_8_15
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3165,1
    - Dst: aes_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3172,1
    - Dst: do_aesni_enc_vec4
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3222,1
    - Dst: aes_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3248,1
    - Dst: do_aesni_enc
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3263,1
    - Dst: aesni_cleanup
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3293,1
    - Dst: aesni_cleanup_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3294,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 71
    argCount: 4
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3297
      start: 2805
    functionDepth: 1
    functionLinenumber: 2805
    functionLinenumberEnd: 3297
    functionName: ASM_FUNC_ATTR_NOINLINE::aesni_ocb_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached:
    - aes_ocb_get_l
    - aesni_cleanup_2_7
    - aesni_cleanup_8_15
    - aesni_cleanup
    - do_aesni_enc
    - aesni_prepare_2_7
    - do_aesni_enc_vec4
    - aesni_prepare_8_15
    - aesni_prepare
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int ASM_FUNC_ATTR_NOINLINE\naesni_ocb_enc (gcry_cipher_hd_t
      c, void *outbuf_arg,\n               const void *inbuf_arg, size_t nblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aesni_prepare
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3317,1
    - Dst: aesni_prepare_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3318,1
    - Dst: do_aesni_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3322,1
    - Dst: aes_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3334,1
    - Dst: do_aesni_dec
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3347,1
    - Dst: aesni_prepare_8_15
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3372,1
    - Dst: aes_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3388,1
    - Dst: aes_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3400,1
    - Dst: aesni_cleanup_8_15
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3653,1
    - Dst: aes_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3660,1
    - Dst: do_aesni_dec_vec4
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3705,1
    - Dst: aes_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3731,1
    - Dst: do_aesni_dec
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3745,1
    - Dst: aesni_ocb_checksum
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3773,1
    - Dst: aesni_cleanup
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3775,1
    - Dst: aesni_cleanup_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3776,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 76
    argCount: 4
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks_arg
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3779
      start: 3300
    functionDepth: 2
    functionLinenumber: 3300
    functionLinenumberEnd: 3779
    functionName: ASM_FUNC_ATTR_NOINLINE::aesni_ocb_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached:
    - aes_ocb_get_l
    - aesni_cleanup_2_7
    - do_aesni_prepare_decryption
    - do_aesni_dec_vec4
    - aesni_cleanup_8_15
    - aesni_cleanup
    - aesni_ocb_checksum
    - aesni_prepare_2_7
    - do_aesni_dec
    - aesni_prepare_8_15
    - aesni_prepare
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int ASM_FUNC_ATTR_NOINLINE\naesni_ocb_dec (gcry_cipher_hd_t
      c, void *outbuf_arg,\n               const void *inbuf_arg, size_t nblocks_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASM_FUNC_ATTR_NOINLINE::aesni_ocb_enc
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3787,1
    - Dst: ASM_FUNC_ATTR_NOINLINE::aesni_ocb_dec
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3790
      start: 3782
    functionDepth: 3
    functionLinenumber: 3782
    functionLinenumberEnd: 3790
    functionName: ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_ocb_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached:
    - ASM_FUNC_ATTR_NOINLINE::aesni_ocb_enc
    - ASM_FUNC_ATTR_NOINLINE::aesni_ocb_dec
    linkageType: ''
    returnType: size_t
    signature: "size_t ASM_FUNC_ATTR_NOINLINE\n_gcry_aes_aesni_ocb_crypt(gcry_cipher_hd_t
      c, void *outbuf_arg,\n                          const void *inbuf_arg, size_t
      nblocks, int encrypt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aesni_prepare
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3803,1
    - Dst: aesni_prepare_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3804,1
    - Dst: aes_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3816,1
    - Dst: do_aesni_enc
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3829,1
    - Dst: aesni_prepare_8_15
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3844,1
    - Dst: aes_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3858,1
    - Dst: aes_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3867,1
    - Dst: do_aesni_enc_vec8
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3935,1
    - Dst: aesni_cleanup_8_15
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3961,1
    - Dst: aes_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:3968,1
    - Dst: do_aesni_enc_vec4
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4009,1
    - Dst: aes_ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4024,1
    - Dst: do_aesni_enc
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4037,1
    - Dst: aesni_cleanup
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4055,1
    - Dst: aesni_cleanup_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4056,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 56
    argCount: 3
    argNames:
    - c
    - abuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4059
      start: 3793
    functionDepth: 1
    functionLinenumber: 3793
    functionLinenumberEnd: 4059
    functionName: ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_ocb_auth
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached:
    - aes_ocb_get_l
    - aesni_cleanup_2_7
    - aesni_cleanup_8_15
    - aesni_cleanup
    - do_aesni_enc
    - aesni_prepare_2_7
    - do_aesni_enc_vec4
    - aesni_prepare_8_15
    - aesni_prepare
    - do_aesni_enc_vec8
    linkageType: ''
    returnType: size_t
    signature: "size_t ASM_FUNC_ATTR_NOINLINE\n_gcry_aes_aesni_ocb_auth (gcry_cipher_hd_t
      c, const void *abuf_arg,\n                          size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aesni_prepare
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4073,1
    - Dst: aesni_prepare_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4074,1
    - Dst: aesni_prepare_8_15
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4089,1
    - Dst: aesni_cleanup_8_15
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4377,1
    - Dst: do_aesni_enc_vec4
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4439,1
    - Dst: do_aesni_enc
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4479,1
    - Dst: aesni_cleanup
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4496,1
    - Dst: aesni_cleanup_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 5
    argNames:
    - ctx
    - tweak
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4498
      start: 4066
    functionDepth: 1
    functionLinenumber: 4066
    functionLinenumberEnd: 4498
    functionName: ASM_FUNC_ATTR::_gcry_aes_aesni_xts_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached:
    - aesni_cleanup_2_7
    - aesni_cleanup_8_15
    - aesni_cleanup
    - do_aesni_enc
    - do_aesni_enc_vec4
    - aesni_prepare_2_7
    - aesni_prepare_8_15
    - aesni_prepare
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR\n_gcry_aes_aesni_xts_enc (RIJNDAEL_context *ctx,
      unsigned char *tweak,\n\t\t\t unsigned char *outbuf, const unsigned char *inbuf,\n\t\t\t
      size_t nblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aesni_prepare
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4508,1
    - Dst: aesni_prepare_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4509,1
    - Dst: do_aesni_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4513,1
    - Dst: aesni_prepare_8_15
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4530,1
    - Dst: aesni_cleanup_8_15
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4818,1
    - Dst: do_aesni_dec_vec4
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4880,1
    - Dst: do_aesni_dec
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4920,1
    - Dst: aesni_cleanup
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4937,1
    - Dst: aesni_cleanup_2_7
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4938,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 5
    argNames:
    - ctx
    - tweak
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4939
      start: 4501
    functionDepth: 2
    functionLinenumber: 4501
    functionLinenumberEnd: 4939
    functionName: ASM_FUNC_ATTR::_gcry_aes_aesni_xts_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached:
    - aesni_cleanup_2_7
    - do_aesni_prepare_decryption
    - do_aesni_dec_vec4
    - aesni_cleanup_8_15
    - aesni_cleanup
    - aesni_prepare_2_7
    - do_aesni_dec
    - aesni_prepare_8_15
    - aesni_prepare
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR\n_gcry_aes_aesni_xts_dec (RIJNDAEL_context *ctx,
      unsigned char *tweak,\n\t\t\t unsigned char *outbuf, const unsigned char *inbuf,\n\t\t\t
      size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_aesni_xts_enc
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4948,1
    - Dst: _gcry_aes_aesni_xts_dec
      Src: /src/libgcrypt/cipher/rijndael-aesni.c:4950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - tweak
    - outbuf
    - inbuf
    - nblocks
    - encrypt
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4951
      start: 4942
    functionDepth: 0
    functionLinenumber: 4942
    functionLinenumberEnd: 4951
    functionName: ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_xts_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-aesni.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_aesni_xts_enc
    - _gcry_aes_aesni_xts_dec
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR_NOINLINE\n_gcry_aes_aesni_xts_crypt (RIJNDAEL_context
      *ctx, unsigned char *tweak,\n\t\t\t   unsigned char *outbuf, const unsigned
      char *inbuf,\n\t\t\t   size_t nblocks, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vsha2cl_vv_u32m1
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - hgcd
    - feba
    - kw
    - vl
    argTypes:
    - vuint32m1_t
    - vuint32m1_t
    - vuint32m1_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: vuint32m1_t::working_vsha2cl_vv_u32m1
    functionSourceFile: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c
    functionUses: 0
    functionsReached:
    - __riscv_vsha2cl_vv_u32m1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE vuint32m1_t\nworking_vsha2cl_vv_u32m1(vuint32m1_t
      hgcd, vuint32m1_t feba,\n\t\t\t vuint32m1_t kw, size_t vl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w0
    - ','
    - w1
    - ','
    - w2
    - ','
    - w3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: QUAD_ROUND_W_SCHED
    functionSourceFile: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUAD_ROUND_W_SCHED(w0, w1, w2, w3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: QUAD_ROUND_NO_SCHED
    functionSourceFile: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUAD_ROUND_NO_SCHED(w0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vle8_v_u8m1
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:82,1
    - Dst: __riscv_vrev8_v_u32m1
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:83,1
    - Dst: __riscv_vreinterpret_v_u8m1_u32m1
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:83,1
    - Dst: __riscv_vrev8_v_u32m1
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:85,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - vl
    argTypes:
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: vuint32m1_t::load_and_swap
    functionSourceFile: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c
    functionUses: 0
    functionsReached:
    - __riscv_vle8_v_u8m1
    - __riscv_vreinterpret_v_u8m1_u32m1
    - __riscv_vle32_v_u32m1
    - __riscv_vrev8_v_u32m1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vuint32m1_t

      load_and_swap (const byte * p, size_t vl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vid_v_u32m1
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:126,1
    - Dst: __riscv_vmseq_vx_u32m1_b32
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:127,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:129,1
    - Dst: __riscv_vluxei32_v_u32m1
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:131,1
    - Dst: __riscv_vluxei32_v_u32m1
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:132,1
    - Dst: load_and_swap
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:141,1
    - Dst: load_and_swap
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:142,1
    - Dst: load_and_swap
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:143,1
    - Dst: load_and_swap
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:144,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:146,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:147,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:148,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:149,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:150,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:151,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:152,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:153,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:154,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:155,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:156,1
    - Dst: QUAD_ROUND_W_SCHED
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:157,1
    - Dst: QUAD_ROUND_NO_SCHED
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:158,1
    - Dst: QUAD_ROUND_NO_SCHED
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:159,1
    - Dst: QUAD_ROUND_NO_SCHED
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:160,1
    - Dst: QUAD_ROUND_NO_SCHED
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:161,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:163,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:164,1
    - Dst: __riscv_vsuxei32_v_u32m1
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:170,1
    - Dst: __riscv_vsuxei32_v_u32m1
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:171,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 3
    argNames:
    - state
    - data
    - nblocks
    argTypes:
    - u32[]
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 174
    functionName: sha256_transform_zvknha_zvkb
    functionSourceFile: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c
    functionUses: 0
    functionsReached:
    - __riscv_vid_v_u32m1
    - __riscv_vluxei32_v_u32m1
    - __riscv_vadd_vv_u32m1
    - QUAD_ROUND_W_SCHED
    - __riscv_vle32_v_u32m1
    - __riscv_vmseq_vx_u32m1_b32
    - __riscv_vsuxei32_v_u32m1
    - load_and_swap
    - QUAD_ROUND_NO_SCHED
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE sha256_transform_zvknha_zvkb (u32 state[8], const
      uint8_t * data,\n\t\t\t      size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_transform_zvknha_zvkb
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - state
    - input_data
    - num_blks
    argTypes:
    - u32[]
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: _gcry_sha256_transform_riscv_zvknha_zvkb
    functionSourceFile: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c
    functionUses: 0
    functionsReached:
    - sha256_transform_zvknha_zvkb
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_sha256_transform_riscv_zvknha_zvkb(u32 state[8],\n\t\t\t\t\t
      const unsigned char *input_data,\n\t\t\t\t\t size_t num_blks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vsetvl_e32m1
      Src: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: _gcry_sha256_riscv_v_check_hw
    functionSourceFile: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c
    functionUses: 0
    functionsReached:
    - __riscv_vsetvl_e32m1
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_sha256_riscv_v_check_hw(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vrev64q_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:44,1
    - Dst: vextq_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vec
    argTypes:
    - uint64x2_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: byteswap_u64x2
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c
    functionUses: 2
    functionsReached:
    - vrev64q_u8
    - vextq_u8
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE byteswap_u64x2(uint64x2_t vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: veorq_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - uint64x2_t
    - uint64x2_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: veor_u64x2
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c
    functionUses: 3
    functionsReached:
    - veorq_u8
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE veor_u64x2(uint64x2_t va, uint64x2_t vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: veor_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - uint64x1_t
    - uint64x1_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: veor_u64x1
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c
    functionUses: 0
    functionsReached:
    - veor_u8
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE veor_u64x1(uint64x1_t va, uint64x1_t vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vand_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - uint64x1_t
    - uint64x1_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: vand_u64x1
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c
    functionUses: 0
    functionsReached:
    - vand_u8
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE vand_u64x1(uint64x1_t va, uint64x1_t vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vorr_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - uint64x1_t
    - uint64x1_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: vorr_u64x1
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c
    functionUses: 0
    functionsReached:
    - vorr_u8
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE vorr_u64x1(uint64x1_t va, uint64x1_t vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:83,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:84,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:85,1
    - Dst: vext_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:101,1
    - Dst: vmull_p8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:102,1
    - Dst: vext_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:104,1
    - Dst: vmull_p8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:105,1
    - Dst: vext_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:107,1
    - Dst: vmull_p8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:108,1
    - Dst: vext_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:110,1
    - Dst: vmull_p8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:111,1
    - Dst: vext_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:113,1
    - Dst: vmull_p8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:114,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:116,1
    - Dst: vget_low_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:117,1
    - Dst: vget_high_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:118,1
    - Dst: vext_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:120,1
    - Dst: vmull_p8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:121,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:123,1
    - Dst: vget_low_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:124,1
    - Dst: vget_high_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:125,1
    - Dst: vext_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:127,1
    - Dst: vmull_p8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:128,1
    - Dst: vget_low_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:129,1
    - Dst: vget_high_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:130,1
    - Dst: veor_u64x1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:132,1
    - Dst: vand_u64x1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:133,1
    - Dst: veor_u64x1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:134,1
    - Dst: vand_u64x1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:135,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:136,1
    - Dst: vget_low_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:137,1
    - Dst: vget_high_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:138,1
    - Dst: veor_u64x1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:139,1
    - Dst: veor_u64x1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:140,1
    - Dst: veor_u64x1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:141,1
    - Dst: vand_u64x1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:142,1
    - Dst: veor_u64x1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:143,1
    - Dst: vcombine_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:145,1
    - Dst: vextq_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:146,1
    - Dst: veor_u64x1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:147,1
    - Dst: vcombine_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:148,1
    - Dst: vextq_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:149,1
    - Dst: vmull_p8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:150,1
    - Dst: vcombine_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:151,1
    - Dst: vextq_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:152,1
    - Dst: vcombine_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:153,1
    - Dst: vextq_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:154,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:155,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:156,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:157,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 2
    argNames:
    - ad
    - bd
    argTypes:
    - uint64x1_t
    - uint64x1_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 160
    functionName: emulate_vmull_p64
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c
    functionUses: 0
    functionsReached:
    - veor_u64x2
    - veor_u64x1
    - vmull_p8
    - vget_low_u64
    - vext_u8
    - vand_u64x1
    - vcombine_u64
    - vextq_u8
    - U64_C
    - vget_high_u64
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE emulate_vmull_p64(uint64x1_t ad, uint64x1_t bd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vget_low_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:170,1
    - Dst: vget_high_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:171,1
    - Dst: vget_low_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:172,1
    - Dst: vget_high_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:173,1
    - Dst: veor_u64x1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:174,1
    - Dst: veor_u64x1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:175,1
    - Dst: emulate_vmull_p64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:176,1
    - Dst: emulate_vmull_p64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:177,1
    - Dst: emulate_vmull_p64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:178,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:183,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:184,1
    - Dst: vget_low_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:186,1
    - Dst: vget_high_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:187,1
    - Dst: vget_low_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:188,1
    - Dst: vget_high_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:189,1
    - Dst: vget_low_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:190,1
    - Dst: vget_high_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:191,1
    - Dst: veor_u64x1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:193,1
    - Dst: veor_u64x1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:194,1
    - Dst: vcombine_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:196,1
    - Dst: vcombine_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64x2_t
    - uint64x2_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 200
    functionName: uint64x2x2_t::pmul_128x128
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c
    functionUses: 0
    functionsReached:
    - veor_u64x2
    - veor_u64x1
    - vget_low_u64
    - vget_high_u64
    - vcombine_u64
    - emulate_vmull_p64
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE uint64x2x2_t

      pmul_128x128(uint64x2_t a, uint64x2_t b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:210,1
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:210,1
    - Dst: vshlq_n_u32
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:218,1
    - Dst: vshlq_n_u32
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:219,1
    - Dst: vshlq_n_u32
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:220,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:221,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:222,1
    - Dst: vextq_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:223,1
    - Dst: vextq_u8
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:224,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:225,1
    - Dst: vshrq_n_u32
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:226,1
    - Dst: vshrq_n_u32
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:227,1
    - Dst: vshrq_n_u32
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:228,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:229,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:230,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:231,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:232,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - r0r1
    argTypes:
    - uint64x2x2_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 234
    functionName: reduction
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c
    functionUses: 6
    functionsReached:
    - veor_u64x2
    - vshlq_n_u32
    - vshrq_n_u32
    - vextq_u8
    - U64_C
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE reduction(uint64x2x2_t r0r1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:248,1
    - Dst: vld1q_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:249,1
    - Dst: byteswap_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:251,1
    - Dst: vld1q_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:253,1
    - Dst: byteswap_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:257,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:259,1
    - Dst: vld1q_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:263,1
    - Dst: pmul_128x128
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:267,1
    - Dst: byteswap_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:269,1
    - Dst: reduction
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:271,1
    - Dst: veor_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:273,1
    - Dst: pmul_128x128
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:276,1
    - Dst: reduction
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:277,1
    - Dst: byteswap_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:279,1
    - Dst: vst1q_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:281,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 4
    argNames:
    - c
    - result
    - buf
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 286
    functionName: _gcry_ghash_aarch64_simd
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c
    functionUses: 0
    functionsReached:
    - veor_u64x2
    - byteswap_u64x2
    - pmul_128x128
    - vld1q_u64
    - clear_vec_regs
    - vst1q_u64
    - reduction
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE unsigned
    signature: "ASM_FUNC_ATTR_NOINLINE unsigned _gcry_ghash_aarch64_simd(gcry_cipher_hd_t
      c, byte *result, const byte *buf,\n\t\t\t size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:291,1
    - Dst: vget_low_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:292,1
    - Dst: vget_high_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:293,1
    - Dst: vshr_n_s64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:297,1
    - Dst: vshr_n_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:298,1
    - Dst: vshr_n_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:299,1
    - Dst: vand_u64x1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:300,1
    - Dst: vshl_n_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:301,1
    - Dst: vshl_n_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:302,1
    - Dst: vorr_u64x1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:303,1
    - Dst: vorr_u64x1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:304,1
    - Dst: veor_u64x1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:305,1
    - Dst: vst2_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - r_out
    - i
    argTypes:
    - void*
    - uint64x2_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 308
    functionName: gcm_lsh_1
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c
    functionUses: 1
    functionsReached:
    - veor_u64x1
    - vshr_n_u64
    - vshr_n_s64
    - vget_low_u64
    - vshl_n_u64
    - vst2_u64
    - vand_u64x1
    - U64_C
    - vorr_u64x1
    - vget_high_u64
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE gcm_lsh_1(void *r_out, uint64x2_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:313,1
    - Dst: byteswap_u64x2
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:315,1
    - Dst: gcm_lsh_1
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:317,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: _gcry_ghash_setup_aarch64_simd
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c
    functionUses: 2
    functionsReached:
    - clear_vec_regs
    - vld1q_u64
    - byteswap_u64x2
    - gcm_lsh_1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: ASM_FUNC_ATTR_NOINLINE _gcry_ghash_setup_aarch64_simd(gcry_cipher_hd_t
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u64
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: clmul_low
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE clmul_low(u64 a, u64 b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u64
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: clmul_high
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE clmul_high(u64 a, u64 b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: byteswap_u64
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE byteswap_u64(u64 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u64
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: and_u64
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE and_u64(u64 a, u64 b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byteswap_u64
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:140,1
    - Dst: byteswap_u64
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - in
    argTypes:
    - u64x2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: byteswap_u64x2
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 4
    functionsReached:
    - byteswap_u64
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE byteswap_u64x2(u64x2 in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byteswap_u64
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: byteswap_u32
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - byteswap_u64
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE byteswap_u32(u64 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: load_aligned_u32
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE load_aligned_u32(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: load_aligned_u64x2
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE load_aligned_u64x2(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clmul_low
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:180,1
    - Dst: clmul_high
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u64
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: clmul_128
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - clmul_high
    - clmul_low
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE clmul_128(u64 a, u64 b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u64x2
    - u64x2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: xor_128
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE xor_128(u64x2 a, u64x2 b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clmul_low
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:199,1
    - Dst: and_u64
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:200,1
    - Dst: clmul_low
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - crc
    - consts
    argTypes:
    - u64
    - u64
    - struct crc32_consts_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 204
    functionName: crc32r_reduction_4
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - clmul_low
    - and_u64
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE crc32r_reduction_4 (u64 data, u64 crc, const struct
      crc32_consts_s *consts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_aligned_u64x2
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:214,1
    - Dst: load_aligned_u64x2
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:223,1
    - Dst: clmul_128
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:225,1
    - Dst: clmul_128
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:226,1
    - Dst: xor_128
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:228,1
    - Dst: xor_128
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:229,1
    - Dst: clmul_128
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:236,1
    - Dst: clmul_low
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:241,1
    - Dst: crc32r_reduction_4
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 4
    argNames:
    - pcrc
    - inbuf
    - inlen
    - consts
    argTypes:
    - u32*
    - byte**
    - size_t*
    - struct crc32_consts_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 247
    functionName: bulk_crc32r
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - crc32r_reduction_4
    - xor_128
    - clmul_128
    - clmul_low
    - load_aligned_u64x2
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE bulk_crc32r (u32 *pcrc, const byte **inbuf, size_t
      *inlen,\n\t     const struct crc32_consts_s *consts)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: crc32r_reduction_4
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:265,1
    - Dst: crc32r_reduction_4
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:272,1
    - Dst: crc32r_reduction_4
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - crc
    - inbuf
    - inlen
    - consts
    argTypes:
    - u64
    - byte*
    - size_t
    - struct crc32_consts_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 284
    functionName: tail_crc32r
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - crc32r_reduction_4
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE tail_crc32r (u64 crc, const byte *inbuf, size_t
      inlen,\n\t     const struct crc32_consts_s *consts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tail_crc32r
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:299,1
    - Dst: load_aligned_u32
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:307,1
    - Dst: crc32r_reduction_4
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:313,1
    - Dst: tail_crc32r
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - pcrc
    - inbuf
    - inlen
    - consts
    argTypes:
    - u32*
    - byte*
    - size_t
    - struct crc32_consts_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 317
    functionName: do_crc32r
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - load_aligned_u32
    - tail_crc32r
    - crc32r_reduction_4
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE do_crc32r (u32 *pcrc, const byte *inbuf, size_t
      inlen,\n\t   const struct crc32_consts_s *consts)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: do_crc32r
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:335,1
    - Dst: bulk_crc32r
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:340,1
    - Dst: do_crc32r
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - pcrc
    - inbuf
    - inlen
    argTypes:
    - u32*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 347
    functionName: ASM_FUNC_ATTR::_gcry_crc32_riscv_zbb_zbc
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - do_crc32r
    - bulk_crc32r
    linkageType: ''
    returnType: void
    signature: 'void ASM_FUNC_ATTR

      _gcry_crc32_riscv_zbb_zbc (u32 *pcrc, const byte *inbuf, size_t inlen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clmul_high
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:355,1
    - Dst: clmul_low
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:356,1
    - Dst: byteswap_u64
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - crc
    - consts
    argTypes:
    - u64
    - u64
    - struct crc32_consts_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 359
    functionName: crc32_reduction_4
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - clmul_high
    - clmul_low
    - byteswap_u64
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE crc32_reduction_4 (u64 data, u64 crc,\n                   const
      struct crc32_consts_s *consts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_aligned_u64x2
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:370,1
    - Dst: byteswap_u64x2
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:372,1
    - Dst: load_aligned_u64x2
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:379,1
    - Dst: clmul_128
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:381,1
    - Dst: byteswap_u64x2
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:382,1
    - Dst: clmul_128
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:383,1
    - Dst: xor_128
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:385,1
    - Dst: xor_128
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:386,1
    - Dst: clmul_128
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:393,1
    - Dst: clmul_high
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:398,1
    - Dst: and_u64
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:398,1
    - Dst: clmul_high
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:401,1
    - Dst: and_u64
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:401,1
    - Dst: clmul_low
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:402,1
    - Dst: byteswap_u32
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 4
    argNames:
    - pcrc
    - inbuf
    - inlen
    - consts
    argTypes:
    - u32*
    - byte**
    - size_t*
    - struct crc32_consts_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 408
    functionName: bulk_crc32
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - clmul_high
    - byteswap_u64x2
    - byteswap_u32
    - xor_128
    - clmul_128
    - clmul_low
    - and_u64
    - load_aligned_u64x2
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE bulk_crc32 (u32 *pcrc, const byte **inbuf, size_t
      *inlen,\n\t    const struct crc32_consts_s *consts)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: crc32_reduction_4
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:426,1
    - Dst: byteswap_u32
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:431,1
    - Dst: crc32_reduction_4
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:433,1
    - Dst: byteswap_u32
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:438,1
    - Dst: crc32_reduction_4
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - crc
    - inbuf
    - inlen
    - consts
    argTypes:
    - u64
    - byte*
    - size_t
    - struct crc32_consts_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 445
    functionName: tail_crc32
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - crc32_reduction_4
    - byteswap_u32
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE tail_crc32 (u64 crc, const byte *inbuf, size_t
      inlen,\n\t     const struct crc32_consts_s *consts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tail_crc32
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:460,1
    - Dst: load_aligned_u32
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:468,1
    - Dst: byteswap_u32
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:470,1
    - Dst: crc32_reduction_4
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:475,1
    - Dst: tail_crc32
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - pcrc
    - inbuf
    - inlen
    - consts
    argTypes:
    - u32*
    - byte*
    - size_t
    - struct crc32_consts_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 479
    functionName: do_crc32
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - tail_crc32
    - byteswap_u32
    - crc32_reduction_4
    - load_aligned_u32
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE do_crc32 (u32 *pcrc, const byte *inbuf, size_t
      inlen,\n          const struct crc32_consts_s *consts)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: do_crc32
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:497,1
    - Dst: bulk_crc32
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:502,1
    - Dst: do_crc32
      Src: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c:508,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - pcrc
    - inbuf
    - inlen
    argTypes:
    - u32*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 481
    functionDepth: 4
    functionLinenumber: 481
    functionLinenumberEnd: 509
    functionName: ASM_FUNC_ATTR::_gcry_crc24rfc2440_riscv_zbb_zbc
    functionSourceFile: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    functionUses: 0
    functionsReached:
    - bulk_crc32
    - do_crc32
    linkageType: ''
    returnType: void
    signature: 'void ASM_FUNC_ATTR

      _gcry_crc24rfc2440_riscv_zbb_zbc (u32 *pcrc, const byte *inbuf, size_t inlen)'
  - 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: SWAP
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: GETU32
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETU32(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ct
    - ','
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: PUTU32
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTU32(ct, st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: GETU32
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETU32(pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ct
    - ','
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: PUTU32
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTU32(ct, st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - INDEX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: CamelliaSubkeyL
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CamelliaSubkeyL(INDEX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - INDEX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: CamelliaSubkeyR
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CamelliaSubkeyR(INDEX)
  - 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: CAMELLIA_RR8
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAMELLIA_RR8(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: CAMELLIA_RL1
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAMELLIA_RL1(x)
  - 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: CAMELLIA_RL8
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAMELLIA_RL8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - ll
    - ','
    - lr
    - ','
    - rl
    - ','
    - rr
    - ','
    - w0
    - ','
    - w1
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: CAMELLIA_ROLDQ
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAMELLIA_ROLDQ(ll, lr, rl, rr, w0, w1, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - ll
    - ','
    - lr
    - ','
    - rl
    - ','
    - rr
    - ','
    - w0
    - ','
    - w1
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: CAMELLIA_ROLDQo32
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAMELLIA_ROLDQo32(ll, lr, rl, rr, w0, w1, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - INDEX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: CAMELLIA_SP1110
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAMELLIA_SP1110(INDEX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - INDEX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: CAMELLIA_SP0222
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAMELLIA_SP0222(INDEX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - INDEX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: CAMELLIA_SP3033
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAMELLIA_SP3033(INDEX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - INDEX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: CAMELLIA_SP4404
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAMELLIA_SP4404(INDEX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - xl
    - ','
    - xr
    - ','
    - kl
    - ','
    - kr
    - ','
    - yl
    - ','
    - yr
    - ','
    - il
    - ','
    - ir
    - ','
    - t0
    - ','
    - t1
    - )
    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: 120
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: CAMELLIA_F
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAMELLIA_F(xl, xr, kl, kr, yl, yr, il, ir, t0, t1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - ll
    - ','
    - lr
    - ','
    - rl
    - ','
    - rr
    - ','
    - kll
    - ','
    - klr
    - ','
    - krl
    - ','
    - krr
    - ','
    - t0
    - ','
    - t1
    - ','
    - t2
    - ','
    - t3
    - )
    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: 142
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 142
    functionName: CAMELLIA_FLS
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAMELLIA_FLS(ll, lr, rl, rr, kll, klr, krl, krr, t0, t1, t2, t3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - xl
    - ','
    - xr
    - ','
    - kl
    - ','
    - kr
    - ','
    - yl
    - ','
    - yr
    - ','
    - il
    - ','
    - ir
    - ','
    - t0
    - ','
    - t1
    - )
    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: 161
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 161
    functionName: CAMELLIA_ROUNDSM
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAMELLIA_ROUNDSM(xl, xr, kl, kr, yl, yr, il, ir, t0, t1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 436
    functionName: subl
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: subl(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 437
    functionName: subr
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: subr(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:449,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:450,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:451,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:452,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:456,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:456,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:457,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:457,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:458,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:459,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:459,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:460,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:460,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:461,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:462,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:462,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:463,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:463,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:464,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:465,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:465,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:466,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:467,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:467,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:468,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:468,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:469,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:470,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:470,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:471,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:471,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:472,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:473,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:473,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:474,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:474,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:477,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:477,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:478,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:478,1
    - Dst: CAMELLIA_F
      Src: /src/libgcrypt/cipher/camellia.c:479,1
    - Dst: CAMELLIA_F
      Src: /src/libgcrypt/cipher/camellia.c:483,1
    - Dst: CAMELLIA_F
      Src: /src/libgcrypt/cipher/camellia.c:486,1
    - Dst: CAMELLIA_F
      Src: /src/libgcrypt/cipher/camellia.c:490,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:496,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:496,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:497,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:497,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:498,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:499,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:499,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:500,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:500,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:501,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:502,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:502,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:503,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:503,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:504,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:505,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:505,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:506,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:507,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:507,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:508,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:508,1
    - Dst: CAMELLIA_ROLDQo32
      Src: /src/libgcrypt/cipher/camellia.c:509,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:510,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:510,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:511,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:511,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:512,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:513,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:513,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:514,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:514,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:518,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:518,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:518,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:518,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:519,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:519,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:519,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:519,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:520,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:520,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:520,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:520,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:521,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:521,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:521,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:522,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:522,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:522,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:522,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:523,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:523,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:523,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:523,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:524,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:524,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:524,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:524,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:525,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:525,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:525,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:525,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:526,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:526,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:526,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:527,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:527,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:527,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:527,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:528,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:528,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:528,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:528,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:529,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:529,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:529,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:529,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:530,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:530,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:530,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:530,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:531,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:531,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:531,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:531,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:534,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:534,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:535,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:535,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:536,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:536,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:537,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:537,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:538,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:539,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:539,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:540,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:540,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:541,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:541,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:542,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:542,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:543,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:544,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:544,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:545,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:545,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:546,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:546,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:547,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:547,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:548,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:548,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:551,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:551,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:551,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:552,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:552,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:552,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:553,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:553,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:554,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:554,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:555,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:555,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:555,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:556,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:556,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:556,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:557,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:557,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:557,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:558,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:558,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:558,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:559,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:559,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:559,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:560,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:560,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:560,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:561,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:561,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:561,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:562,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:562,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:562,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:563,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:563,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:563,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:564,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:564,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:564,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:565,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:565,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:566,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:566,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:567,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:567,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:568,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:568,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:569,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:569,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:570,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:570,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:571,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:571,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:571,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:572,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:572,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:572,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:573,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:573,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:574,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:574,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:575,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:575,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:575,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:576,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:576,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:576,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:577,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:577,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:577,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:578,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:578,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:578,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:579,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:579,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:579,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:580,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:580,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:580,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:581,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:581,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:581,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:582,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:582,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:582,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:583,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:583,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:583,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:584,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:584,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:584,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:585,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:585,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:586,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:586,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:587,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:587,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:588,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:588,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:589,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:589,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:590,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:590,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:591,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:591,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:591,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:592,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:592,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:592,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:593,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:593,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:594,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:594,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:595,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:595,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:595,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:596,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:596,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:596,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:597,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:597,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:597,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:598,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:598,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:598,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:599,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:599,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:599,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:600,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:600,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:600,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:601,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:601,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:601,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:602,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:602,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:602,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:603,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:603,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:604,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:604,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:605,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:605,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:605,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:606,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:606,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 190
    argCount: 2
    argNames:
    - key
    - subkey
    argTypes:
    - unsigned char*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 609
    functionName: camellia_setup128
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached:
    - CAMELLIA_F
    - CAMELLIA_RL1
    - CAMELLIA_ROLDQ
    - CamelliaSubkeyL
    - CamelliaSubkeyR
    - CAMELLIA_ROLDQo32
    - subr
    - GETU32
    - subl
    linkageType: ''
    returnType: void
    signature: void camellia_setup128(const unsigned char *key, u32 *subkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:625,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:626,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:627,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:628,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:629,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:630,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:631,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:632,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:635,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:635,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:636,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:636,1
    - Dst: CAMELLIA_ROLDQo32
      Src: /src/libgcrypt/cipher/camellia.c:637,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:638,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:638,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:639,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:639,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:640,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:641,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:641,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:642,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:642,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:643,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:644,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:644,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:645,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:645,1
    - Dst: CAMELLIA_ROLDQo32
      Src: /src/libgcrypt/cipher/camellia.c:646,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:647,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:647,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:648,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:648,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:651,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:652,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:652,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:653,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:653,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:654,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:655,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:655,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:656,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:656,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:657,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:658,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:658,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:659,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:659,1
    - Dst: CAMELLIA_ROLDQo32
      Src: /src/libgcrypt/cipher/camellia.c:660,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:661,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:661,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:662,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:662,1
    - Dst: CAMELLIA_ROLDQo32
      Src: /src/libgcrypt/cipher/camellia.c:663,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:666,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:666,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:667,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:667,1
    - Dst: CAMELLIA_F
      Src: /src/libgcrypt/cipher/camellia.c:668,1
    - Dst: CAMELLIA_F
      Src: /src/libgcrypt/cipher/camellia.c:672,1
    - Dst: CAMELLIA_F
      Src: /src/libgcrypt/cipher/camellia.c:676,1
    - Dst: CAMELLIA_F
      Src: /src/libgcrypt/cipher/camellia.c:680,1
    - Dst: CAMELLIA_F
      Src: /src/libgcrypt/cipher/camellia.c:688,1
    - Dst: CAMELLIA_F
      Src: /src/libgcrypt/cipher/camellia.c:692,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:698,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:699,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:699,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:700,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:700,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:701,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:702,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:702,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:703,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:703,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:704,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:704,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:705,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:705,1
    - Dst: CAMELLIA_ROLDQo32
      Src: /src/libgcrypt/cipher/camellia.c:706,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:707,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:707,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:708,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:708,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:711,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:711,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:712,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:712,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:713,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:714,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:714,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:715,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:715,1
    - Dst: CAMELLIA_ROLDQ
      Src: /src/libgcrypt/cipher/camellia.c:716,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:717,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:717,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:718,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:718,1
    - Dst: CAMELLIA_ROLDQo32
      Src: /src/libgcrypt/cipher/camellia.c:719,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:720,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:720,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:721,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:721,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:724,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:724,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:724,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:724,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:725,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:725,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:725,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:725,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:726,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:726,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:726,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:726,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:727,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:727,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:727,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:728,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:728,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:728,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:728,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:729,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:729,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:729,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:729,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:730,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:730,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:730,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:730,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:731,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:731,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:731,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:731,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:732,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:732,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:732,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:733,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:733,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:733,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:733,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:734,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:734,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:734,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:734,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:735,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:735,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:735,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:735,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:736,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:736,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:736,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:736,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:737,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:737,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:737,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:738,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:738,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:738,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:738,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:739,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:739,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:739,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:739,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:740,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:740,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:740,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:740,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:741,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:741,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:741,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:741,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:742,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:742,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:742,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:742,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:745,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:745,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:746,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:746,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:747,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:747,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:748,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:748,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:749,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:750,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:750,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:751,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:751,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:752,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:752,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:753,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:753,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:754,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:755,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:755,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:756,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:756,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:757,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:757,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:758,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:758,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:759,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:760,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:760,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:761,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:761,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:762,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:762,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:763,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:763,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:764,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:764,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:767,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:767,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:767,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:768,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:768,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:768,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:769,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:769,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:770,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:770,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:771,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:771,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:771,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:772,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:772,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:772,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:773,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:773,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:773,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:774,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:774,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:774,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:775,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:775,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:775,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:776,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:776,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:776,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:777,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:777,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:777,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:778,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:778,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:778,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:779,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:779,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:779,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:780,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:780,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:780,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:781,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:781,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:782,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:782,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:783,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:783,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:784,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:784,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:785,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:785,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:786,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:786,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:787,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:787,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:787,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:788,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:788,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:788,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:789,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:789,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:790,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:790,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:791,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:791,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:791,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:792,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:792,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:792,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:793,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:793,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:793,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:794,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:794,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:794,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:795,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:795,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:795,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:796,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:796,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:796,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:797,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:797,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:797,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:798,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:798,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:798,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:799,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:799,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:799,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:800,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:800,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:800,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:801,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:801,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:802,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:802,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:803,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:803,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:804,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:804,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:805,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:805,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:806,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:806,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:807,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:807,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:807,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:808,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:808,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:808,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:809,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:809,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:810,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:810,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:811,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:811,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:811,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:812,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:812,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:812,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:813,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:813,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:813,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:814,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:814,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:814,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:815,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:815,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:815,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:816,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:816,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:816,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:817,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:817,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:817,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:818,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:818,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:818,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:819,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:819,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:819,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:820,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:820,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:820,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:821,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:821,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:822,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:822,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:823,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:823,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:824,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:824,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:825,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:825,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:826,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:826,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:827,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:827,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:827,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:828,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:828,1
    - Dst: CAMELLIA_RL1
      Src: /src/libgcrypt/cipher/camellia.c:828,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:829,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:829,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:830,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:830,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:831,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:831,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:831,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:832,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:832,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:832,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:833,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:833,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:833,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:834,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:834,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:834,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:835,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:835,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:835,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:836,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:836,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:836,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:837,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:837,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:837,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:838,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:838,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:838,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:839,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:839,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:840,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:840,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:841,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:841,1
    - Dst: subl
      Src: /src/libgcrypt/cipher/camellia.c:841,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:842,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:842,1
    - Dst: subr
      Src: /src/libgcrypt/cipher/camellia.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 261
    argCount: 2
    argNames:
    - key
    - subkey
    argTypes:
    - unsigned char*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 845
    functionName: camellia_setup256
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached:
    - CAMELLIA_F
    - CAMELLIA_RL1
    - CAMELLIA_ROLDQ
    - CamelliaSubkeyL
    - CamelliaSubkeyR
    - CAMELLIA_ROLDQo32
    - subr
    - GETU32
    - subl
    linkageType: ''
    returnType: void
    signature: void camellia_setup256(const unsigned char *key, u32 *subkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/camellia.c:852,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/camellia.c:853,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/camellia.c:854,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/camellia.c:857,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/camellia.c:858,1
    - Dst: camellia_setup256
      Src: /src/libgcrypt/cipher/camellia.c:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - key
    - subkey
    argTypes:
    - unsigned char*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 861
    functionName: camellia_setup192
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached:
    - camellia_setup256
    - memcpy
    linkageType: ''
    returnType: void
    signature: void camellia_setup192(const unsigned char *key, u32 *subkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:881,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:882,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:885,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:886,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:886,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:888,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:889,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:889,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:891,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:892,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:892,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:894,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:895,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:895,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:897,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:898,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:898,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:900,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:901,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:901,1
    - Dst: CAMELLIA_FLS
      Src: /src/libgcrypt/cipher/camellia.c:904,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:905,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:905,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:906,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:906,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:909,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:910,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:910,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:912,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:913,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:913,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:915,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:916,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:916,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:918,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:919,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:919,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:921,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:922,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:922,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:924,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:925,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:925,1
    - Dst: CAMELLIA_FLS
      Src: /src/libgcrypt/cipher/camellia.c:928,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:929,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:929,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:930,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:930,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:933,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:934,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:934,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:936,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:937,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:937,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:939,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:940,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:940,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:942,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:943,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:943,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:945,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:946,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:946,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:948,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:949,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:949,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:953,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 2
    argNames:
    - subkey
    - blocks
    argTypes:
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 969
    functionName: camellia_encrypt128
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached:
    - CamelliaSubkeyR
    - CAMELLIA_ROUNDSM
    - CamelliaSubkeyL
    - CAMELLIA_FLS
    linkageType: ''
    returnType: void
    signature: void camellia_encrypt128(const u32 *subkey, u32 *blocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:982,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:983,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:986,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:987,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:987,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:989,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:990,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:990,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:992,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:993,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:993,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:995,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:996,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:996,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:998,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:999,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:999,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1001,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1002,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1002,1
    - Dst: CAMELLIA_FLS
      Src: /src/libgcrypt/cipher/camellia.c:1005,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1006,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1006,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1007,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1007,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1010,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1011,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1011,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1013,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1014,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1014,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1016,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1017,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1017,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1019,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1020,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1020,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1022,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1023,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1023,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1025,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1026,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1026,1
    - Dst: CAMELLIA_FLS
      Src: /src/libgcrypt/cipher/camellia.c:1029,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1030,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1030,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1031,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1031,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1034,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1035,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1035,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1037,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1038,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1038,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1040,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1041,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1041,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1043,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1044,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1044,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1046,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1047,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1047,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1049,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1050,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1050,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1054,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 2
    argNames:
    - subkey
    - blocks
    argTypes:
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 1070
    functionName: camellia_decrypt128
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached:
    - CamelliaSubkeyR
    - CAMELLIA_ROUNDSM
    - CamelliaSubkeyL
    - CAMELLIA_FLS
    linkageType: ''
    returnType: void
    signature: void camellia_decrypt128(const u32 *subkey, u32 *blocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1086,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1087,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1090,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1091,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1091,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1093,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1094,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1094,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1096,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1097,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1097,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1099,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1100,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1100,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1102,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1103,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1103,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1105,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1106,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1106,1
    - Dst: CAMELLIA_FLS
      Src: /src/libgcrypt/cipher/camellia.c:1109,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1110,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1110,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1111,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1111,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1114,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1115,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1115,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1117,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1118,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1118,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1120,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1121,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1121,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1123,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1124,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1124,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1126,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1127,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1127,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1129,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1130,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1130,1
    - Dst: CAMELLIA_FLS
      Src: /src/libgcrypt/cipher/camellia.c:1133,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1134,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1134,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1135,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1135,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1138,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1139,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1139,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1141,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1142,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1142,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1144,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1145,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1145,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1147,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1148,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1148,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1150,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1151,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1151,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1153,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1154,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1154,1
    - Dst: CAMELLIA_FLS
      Src: /src/libgcrypt/cipher/camellia.c:1157,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1158,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1158,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1159,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1159,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1162,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1163,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1163,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1165,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1166,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1166,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1168,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1169,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1169,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1171,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1172,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1172,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1174,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1175,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1175,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1177,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1178,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1178,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1182,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 2
    argNames:
    - subkey
    - blocks
    argTypes:
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1075
    functionDepth: 1
    functionLinenumber: 1075
    functionLinenumberEnd: 1198
    functionName: camellia_encrypt256
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached:
    - CamelliaSubkeyR
    - CAMELLIA_ROUNDSM
    - CamelliaSubkeyL
    - CAMELLIA_FLS
    linkageType: ''
    returnType: void
    signature: void camellia_encrypt256(const u32 *subkey, u32 *blocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1211,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1212,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1215,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1216,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1216,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1218,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1219,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1219,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1221,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1222,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1222,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1224,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1225,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1225,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1227,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1228,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1228,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1230,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1231,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1231,1
    - Dst: CAMELLIA_FLS
      Src: /src/libgcrypt/cipher/camellia.c:1234,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1235,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1235,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1236,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1236,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1239,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1240,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1240,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1242,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1243,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1243,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1245,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1246,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1246,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1248,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1249,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1249,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1251,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1252,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1252,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1254,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1255,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1255,1
    - Dst: CAMELLIA_FLS
      Src: /src/libgcrypt/cipher/camellia.c:1258,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1259,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1259,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1260,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1260,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1263,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1264,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1264,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1266,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1267,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1267,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1269,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1270,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1270,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1272,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1273,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1273,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1275,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1276,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1276,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1278,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1279,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1279,1
    - Dst: CAMELLIA_FLS
      Src: /src/libgcrypt/cipher/camellia.c:1282,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1283,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1283,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1284,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1284,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1287,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1288,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1288,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1290,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1291,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1291,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1293,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1294,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1294,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1296,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1297,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1297,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1299,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1300,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1300,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/libgcrypt/cipher/camellia.c:1302,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1303,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1303,1
    - Dst: CamelliaSubkeyL
      Src: /src/libgcrypt/cipher/camellia.c:1307,1
    - Dst: CamelliaSubkeyR
      Src: /src/libgcrypt/cipher/camellia.c:1308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 2
    argNames:
    - subkey
    - blocks
    argTypes:
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1200
    functionDepth: 1
    functionLinenumber: 1200
    functionLinenumberEnd: 1323
    functionName: camellia_decrypt256
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 0
    functionsReached:
    - CamelliaSubkeyR
    - CAMELLIA_ROUNDSM
    - CamelliaSubkeyL
    - CAMELLIA_FLS
    linkageType: ''
    returnType: void
    signature: void camellia_decrypt256(const u32 *subkey, u32 *blocks)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: camellia_setup128
      Src: /src/libgcrypt/cipher/camellia.c:1338,1
    - Dst: camellia_setup192
      Src: /src/libgcrypt/cipher/camellia.c:1341,1
    - Dst: camellia_setup256
      Src: /src/libgcrypt/cipher/camellia.c:1344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - keyBitLength
    - rawKey
    - keyTable
    argTypes:
    - int
    - unsigned char*
    - KEY_TABLE_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1349
    functionName: Camellia_Ekeygen
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 1
    functionsReached:
    - camellia_setup192
    - camellia_setup128
    - camellia_setup256
    linkageType: ''
    returnType: void
    signature: "void Camellia_Ekeygen(const int keyBitLength,\n\t\t      const unsigned
      char *rawKey,\n\t\t      KEY_TABLE_TYPE keyTable)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:1360,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:1361,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:1362,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:1363,1
    - Dst: camellia_encrypt128
      Src: /src/libgcrypt/cipher/camellia.c:1367,1
    - Dst: camellia_encrypt256
      Src: /src/libgcrypt/cipher/camellia.c:1372,1
    - Dst: PUTU32
      Src: /src/libgcrypt/cipher/camellia.c:1378,1
    - Dst: PUTU32
      Src: /src/libgcrypt/cipher/camellia.c:1379,1
    - Dst: PUTU32
      Src: /src/libgcrypt/cipher/camellia.c:1380,1
    - Dst: PUTU32
      Src: /src/libgcrypt/cipher/camellia.c:1381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - keyBitLength
    - plaintext
    - keyTable
    - ciphertext
    argTypes:
    - int
    - unsigned char*
    - KEY_TABLE_TYPE
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1353
    functionDepth: 2
    functionLinenumber: 1353
    functionLinenumberEnd: 1382
    functionName: Camellia_EncryptBlock
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 2
    functionsReached:
    - GETU32
    - PUTU32
    - camellia_encrypt256
    - camellia_encrypt128
    linkageType: ''
    returnType: void
    signature: "void Camellia_EncryptBlock(const int keyBitLength,\n\t\t\t   const
      unsigned char *plaintext,\n\t\t\t   const KEY_TABLE_TYPE keyTable,\n\t\t\t   unsigned
      char *ciphertext)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:1391,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:1392,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:1393,1
    - Dst: GETU32
      Src: /src/libgcrypt/cipher/camellia.c:1394,1
    - Dst: camellia_decrypt128
      Src: /src/libgcrypt/cipher/camellia.c:1398,1
    - Dst: camellia_decrypt256
      Src: /src/libgcrypt/cipher/camellia.c:1403,1
    - Dst: PUTU32
      Src: /src/libgcrypt/cipher/camellia.c:1408,1
    - Dst: PUTU32
      Src: /src/libgcrypt/cipher/camellia.c:1409,1
    - Dst: PUTU32
      Src: /src/libgcrypt/cipher/camellia.c:1410,1
    - Dst: PUTU32
      Src: /src/libgcrypt/cipher/camellia.c:1411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - keyBitLength
    - ciphertext
    - keyTable
    - plaintext
    argTypes:
    - int
    - unsigned char*
    - KEY_TABLE_TYPE
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1384
    functionDepth: 2
    functionLinenumber: 1384
    functionLinenumberEnd: 1412
    functionName: Camellia_DecryptBlock
    functionSourceFile: /src/libgcrypt/cipher/camellia.c
    functionUses: 2
    functionsReached:
    - GETU32
    - PUTU32
    - camellia_decrypt256
    - camellia_decrypt128
    linkageType: ''
    returnType: void
    signature: "void Camellia_DecryptBlock(const int keyBitLength,\n\t\t\t   const
      unsigned char *ciphertext,\n\t\t\t   const KEY_TABLE_TYPE keyTable,\n\t\t\t
      \  unsigned char *plaintext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cast5_amd64_encrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - CAST5_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: do_encrypt_block
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 0
    functionsReached:
    - _gcry_cast5_amd64_encrypt_block
    linkageType: ''
    returnType: void
    signature: void do_encrypt_block (CAST5_context *context, byte *outbuf, const
      byte *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cast5_amd64_decrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - CAST5_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: do_decrypt_block
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 0
    functionsReached:
    - _gcry_cast5_amd64_decrypt_block
    linkageType: ''
    returnType: void
    signature: void do_decrypt_block (CAST5_context *context, byte *outbuf, const
      byte *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cast5_amd64_ctr_enc
      Src: /src/libgcrypt/cipher/cast5.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - ctr
    argTypes:
    - CAST5_context*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: cast5_amd64_ctr_enc
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 1
    functionsReached:
    - _gcry_cast5_amd64_ctr_enc
    linkageType: ''
    returnType: void
    signature: void cast5_amd64_ctr_enc(CAST5_context *ctx, byte *out, const byte
      *in, byte *ctr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cast5_amd64_cbc_dec
      Src: /src/libgcrypt/cipher/cast5.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - iv
    argTypes:
    - CAST5_context*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: cast5_amd64_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 1
    functionsReached:
    - _gcry_cast5_amd64_cbc_dec
    linkageType: ''
    returnType: void
    signature: void cast5_amd64_cbc_dec(CAST5_context *ctx, byte *out, const byte
      *in, byte *iv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cast5_amd64_cfb_dec
      Src: /src/libgcrypt/cipher/cast5.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - iv
    argTypes:
    - CAST5_context*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: cast5_amd64_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 1
    functionsReached:
    - _gcry_cast5_amd64_cfb_dec
    linkageType: ''
    returnType: void
    signature: void cast5_amd64_cfb_dec(CAST5_context *ctx, byte *out, const byte
      *in, byte *iv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 413
    functionName: encrypt_block
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 5
    functionsReached:
    - do_encrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int encrypt_block (void *context , byte *outbuf, const byte
      *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_decrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 421
    functionName: decrypt_block
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 7
    functionsReached:
    - do_decrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int decrypt_block (void *context, byte *outbuf, const byte
      *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cast5_arm_encrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - CAST5_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: do_encrypt_block
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 1
    functionsReached:
    - _gcry_cast5_arm_encrypt_block
    linkageType: ''
    returnType: void
    signature: void do_encrypt_block (CAST5_context *context, byte *outbuf, const
      byte *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cast5_arm_decrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - CAST5_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 452
    functionName: do_decrypt_block
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 1
    functionsReached:
    - _gcry_cast5_arm_decrypt_block
    linkageType: ''
    returnType: void
    signature: void do_decrypt_block (CAST5_context *context, byte *outbuf, const
      byte *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: encrypt_block
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 7
    functionsReached:
    - do_encrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int encrypt_block (void *context , byte *outbuf, const byte
      *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_decrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: decrypt_block
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 9
    functionsReached:
    - do_decrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int decrypt_block (void *context, byte *outbuf, const byte
      *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - D
    - ','
    - m
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 474
    functionName: F1
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F1(D,m,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - D
    - ','
    - m
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 476
    functionName: F2
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F2(D,m,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - D
    - ','
    - m
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 478
    functionName: F3
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F3(D,m,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/cast5.c:488,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:493,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:494,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:504,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:505,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:506,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:507,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/cast5.c:507,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:508,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:509,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:510,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:511,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/cast5.c:511,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:512,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:513,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:514,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:515,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/cast5.c:515,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:516,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:517,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:518,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:519,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cast5.c:523,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cast5.c:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 70
    argCount: 3
    argNames:
    - c
    - outbuf
    - inbuf
    argTypes:
    - CAST5_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 525
    functionName: do_encrypt_block
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 2
    functionsReached:
    - F1
    - buf_put_be32
    - F3
    - buf_get_be32
    - F2
    - buf_get_le32
    linkageType: ''
    returnType: void
    signature: void do_encrypt_block( CAST5_context *c, byte *outbuf, const byte *inbuf
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 533
    functionName: encrypt_block
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 8
    functionsReached:
    - do_encrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int encrypt_block (void *context , byte *outbuf, const byte
      *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/cast5.c:545,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:547,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:548,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:549,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:550,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:551,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:552,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:554,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:555,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:556,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:558,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:559,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:560,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:562,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:563,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:564,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:566,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:567,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:568,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/cast5.c:569,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:570,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:571,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:572,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:574,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:575,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:576,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:578,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:579,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:580,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:582,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:583,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:584,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/cast5.c:585,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:586,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:587,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:588,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:590,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:591,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:592,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:594,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:595,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:596,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:598,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:599,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:600,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/cast5.c:601,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:602,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:603,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:604,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:606,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:607,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:608,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:610,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:611,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:612,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:614,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:615,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:616,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cast5.c:618,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cast5.c:619,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cast5.c:620,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cast5.c:621,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cast5.c:622,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cast5.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 174
    argCount: 3
    argNames:
    - c
    - outbuf
    - inbuf
    argTypes:
    - CAST5_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 624
    functionName: do_encrypt_block_3
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 0
    functionsReached:
    - F1
    - buf_put_be32
    - F3
    - buf_get_be32
    - F2
    - buf_get_le32
    linkageType: ''
    returnType: void
    signature: void do_encrypt_block_3( CAST5_context *c, byte *outbuf, const byte
      *inbuf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:636,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:638,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:639,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:641,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:642,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:643,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:644,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:644,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:645,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:646,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:647,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:648,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:648,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:649,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:650,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:651,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:652,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:652,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:653,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:654,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:655,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:656,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cast5.c:658,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cast5.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 70
    argCount: 3
    argNames:
    - c
    - outbuf
    - inbuf
    argTypes:
    - CAST5_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 660
    functionName: do_decrypt_block
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 2
    functionsReached:
    - buf_put_be32
    - F1
    - F3
    - buf_get_be32
    - F2
    linkageType: ''
    returnType: void
    signature: void do_decrypt_block (CAST5_context *c, byte *outbuf, const byte *inbuf
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_decrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 668
    functionName: decrypt_block
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 10
    functionsReached:
    - do_decrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int decrypt_block (void *context, byte *outbuf, const byte
      *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:680,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:682,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:683,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:684,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:685,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:686,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:687,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:689,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:690,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:691,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:693,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:694,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:695,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:697,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:698,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:699,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:701,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:702,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:703,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:704,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:705,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:706,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:707,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:709,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:710,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:711,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:713,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:714,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:715,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:717,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:718,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:719,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:720,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:721,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:722,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:723,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:725,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:726,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:727,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:729,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:730,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:731,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:733,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:734,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:735,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:736,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:737,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:738,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:739,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:741,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:742,1
    - Dst: F3
      Src: /src/libgcrypt/cipher/cast5.c:743,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:745,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:746,1
    - Dst: F2
      Src: /src/libgcrypt/cipher/cast5.c:747,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:749,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:750,1
    - Dst: F1
      Src: /src/libgcrypt/cipher/cast5.c:751,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cast5.c:753,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cast5.c:754,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cast5.c:755,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cast5.c:756,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cast5.c:757,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/cast5.c:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 174
    argCount: 3
    argNames:
    - c
    - outbuf
    - inbuf
    argTypes:
    - CAST5_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 759
    functionName: do_decrypt_block_3
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 0
    functionsReached:
    - buf_put_be32
    - F1
    - F3
    - buf_get_be32
    - F2
    linkageType: ''
    returnType: void
    signature: void do_decrypt_block_3 (CAST5_context *c, byte *outbuf, const byte
      *inbuf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cast5_amd64_ctr_enc
      Src: /src/libgcrypt/cipher/cast5.c:785,1
    - Dst: _gcry_cast5_arm_ctr_enc
      Src: /src/libgcrypt/cipher/cast5.c:799,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cast5.c:814,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cast5.c:815,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cast5.c:816,1
    - Dst: cipher_block_add_be16
      Src: /src/libgcrypt/cipher/cast5.c:817,1
    - Dst: cipher_block_add_be16
      Src: /src/libgcrypt/cipher/cast5.c:818,1
    - Dst: cipher_block_add_be16
      Src: /src/libgcrypt/cipher/cast5.c:819,1
    - Dst: do_encrypt_block_3
      Src: /src/libgcrypt/cipher/cast5.c:821,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/cast5.c:823,1
    - Dst: do_encrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:832,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cast5.c:834,1
    - Dst: cipher_block_add_be16
      Src: /src/libgcrypt/cipher/cast5.c:838,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cast5.c:841,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cast5.c:842,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 5
    argNames:
    - context
    - ctr
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 843
    functionName: _gcry_cast5_ctr_enc
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 0
    functionsReached:
    - _gcry_cast5_arm_ctr_enc
    - cipher_block_xor
    - buf_xor
    - wipememory
    - _gcry_burn_stack
    - cast5_amd64_ctr_enc
    - do_encrypt_block_3
    - cipher_block_add_be16
    - do_encrypt_block
    - cipher_block_cpy
    linkageType: ''
    returnType: void
    signature: "void _gcry_cast5_ctr_enc(void *context, unsigned char *ctr, void *outbuf_arg,\n\t\t
      \   const void *inbuf_arg, size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cast5_amd64_cbc_dec
      Src: /src/libgcrypt/cipher/cast5.c:866,1
    - Dst: _gcry_cast5_arm_cbc_dec
      Src: /src/libgcrypt/cipher/cast5.c:880,1
    - Dst: do_decrypt_block_3
      Src: /src/libgcrypt/cipher/cast5.c:896,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cast5.c:898,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cast5.c:899,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cast5.c:900,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cast5.c:901,1
    - Dst: do_decrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:911,1
    - Dst: cipher_block_xor_n_copy_2
      Src: /src/libgcrypt/cipher/cast5.c:913,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cast5.c:918,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cast5.c:919,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 848
    functionDepth: 3
    functionLinenumber: 848
    functionLinenumberEnd: 920
    functionName: _gcry_cast5_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 0
    functionsReached:
    - _gcry_cast5_arm_cbc_dec
    - cast5_amd64_cbc_dec
    - cipher_block_xor_n_copy_2
    - do_decrypt_block_3
    - wipememory
    - _gcry_burn_stack
    - buf_cpy
    - cipher_block_xor_1
    - do_decrypt_block
    - cipher_block_cpy
    linkageType: ''
    returnType: void
    signature: "void _gcry_cast5_cbc_dec(void *context, unsigned char *iv, void *outbuf_arg,\n\t\t
      \   const void *inbuf_arg, size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cast5_amd64_cfb_dec
      Src: /src/libgcrypt/cipher/cast5.c:942,1
    - Dst: _gcry_cast5_arm_cfb_dec
      Src: /src/libgcrypt/cipher/cast5.c:956,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cast5.c:970,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cast5.c:971,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cast5.c:972,1
    - Dst: do_encrypt_block_3
      Src: /src/libgcrypt/cipher/cast5.c:973,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/cast5.c:974,1
    - Dst: do_encrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:982,1
    - Dst: cipher_block_xor_n_copy
      Src: /src/libgcrypt/cipher/cast5.c:983,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cast5.c:988,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cast5.c:989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 924
    functionDepth: 3
    functionLinenumber: 924
    functionLinenumberEnd: 990
    functionName: _gcry_cast5_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 0
    functionsReached:
    - buf_xor
    - cast5_amd64_cfb_dec
    - wipememory
    - cipher_block_xor_n_copy
    - _gcry_burn_stack
    - _gcry_cast5_arm_cfb_dec
    - do_encrypt_block_3
    - do_encrypt_block
    - cipher_block_cpy
    linkageType: ''
    returnType: void
    signature: "void _gcry_cast5_cfb_dec(void *context, unsigned char *iv, void *outbuf_arg,\n\t\t
      \   const void *inbuf_arg, size_t nblocks)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cast_setkey
      Src: /src/libgcrypt/cipher/cast5.c:1007,1
    - Dst: encrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:1008,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/cast5.c:1009,1
    - Dst: decrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:1011,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/cast5.c:1012,1
    - Dst: cast_setkey
      Src: /src/libgcrypt/cipher/cast5.c:1028,1
    - Dst: encrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:1029,1
    - Dst: encrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:1030,1
    - Dst: cast_setkey
      Src: /src/libgcrypt/cipher/cast5.c:1031,1
    - Dst: encrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:1032,1
    - Dst: encrypt_block
      Src: /src/libgcrypt/cipher/cast5.c:1033,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/cast5.c:1035,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/cast5.c:1035,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 1042
    functionName: selftest
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 15
    functionsReached:
    - memcmp
    - cast_setkey
    - encrypt_block
    - decrypt_block
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1052,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1052,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1052,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1052,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1052,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1053,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1053,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1053,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1053,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1053,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1054,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1054,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1054,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1054,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1054,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1055,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1055,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1055,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1055,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1055,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1056,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1056,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1056,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1056,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1056,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1057,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1057,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1057,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1057,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1057,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1058,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1058,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1058,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1058,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1058,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1059,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1059,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1059,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1059,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1059,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1061,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1061,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1061,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1061,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1061,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1062,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1062,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1062,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1062,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1062,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1063,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1063,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1063,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1063,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1063,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1064,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1064,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1064,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1064,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1064,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1065,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1065,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1065,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1065,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1065,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1066,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1066,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1066,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1066,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1066,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1067,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1067,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1067,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1067,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1067,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1068,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1068,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1068,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1068,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1068,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1070,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1070,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1070,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1070,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1070,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1071,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1071,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1071,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1071,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1071,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1072,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1072,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1072,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1072,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1072,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1073,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1073,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1073,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1073,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1073,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1074,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1074,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1074,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1074,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1074,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1075,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1075,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1075,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1075,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1075,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1076,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1076,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1076,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1076,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1076,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1077,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1077,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1077,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1077,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1077,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1079,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1079,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1079,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1079,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1079,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1080,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1080,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1080,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1080,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1080,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1081,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1081,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1081,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1081,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1081,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1082,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1082,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1082,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1082,1
    - Dst: zi
      Src: /src/libgcrypt/cipher/cast5.c:1082,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1083,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1083,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1083,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1083,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1083,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1084,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1084,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1084,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1084,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1084,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1085,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1085,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1085,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1085,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1085,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1086,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1086,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1086,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1086,1
    - Dst: xi
      Src: /src/libgcrypt/cipher/cast5.c:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 3
    argNames:
    - x
    - z
    - k
    argTypes:
    - u32*
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1090
    functionName: key_schedule
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 0
    functionsReached:
    - zi
    - xi
    linkageType: ''
    returnType: void
    signature: void key_schedule( u32 *x, u32 *z, u32 *k )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1050
    functionName: xi
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xi(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1051
    functionName: zi
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zi(i)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: selftest
      Src: /src/libgcrypt/cipher/cast5.c:1106,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/cast5.c:1108,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:1116,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:1117,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:1118,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cast5.c:1119,1
    - Dst: key_schedule
      Src: /src/libgcrypt/cipher/cast5.c:1121,1
    - Dst: key_schedule
      Src: /src/libgcrypt/cipher/cast5.c:1124,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cast5.c:1150,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cast5.c:1154,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cast5.c:1155,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cast5.c:1156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - c
    - key
    - keylen
    argTypes:
    - CAST5_context*
    - byte*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1093
    functionDepth: 2
    functionLinenumber: 1093
    functionLinenumberEnd: 1161
    functionName: do_cast_setkey
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 0
    functionsReached:
    - log_error
    - buf_get_be32
    - wipememory
    - selftest
    - key_schedule
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t do_cast_setkey( CAST5_context *c, const byte *key,
      unsigned keylen )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_cast_setkey
      Src: /src/libgcrypt/cipher/cast5.c:1168,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cast5.c:1171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - context
    - key
    - keylen
    - bulk_ops
    argTypes:
    - void*
    - byte*
    - unsigned
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1163
    functionDepth: 3
    functionLinenumber: 1163
    functionLinenumberEnd: 1177
    functionName: cast_setkey
    functionSourceFile: /src/libgcrypt/cipher/cast5.c
    functionUses: 2
    functionsReached:
    - memset
    - do_cast_setkey
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t cast_setkey (void *context, const byte *key, unsigned
      keylen,\n             cipher_bulk_ops_t *bulk_ops)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: vpunpckhdq
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpunpckhdq(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: vpunpckldq
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpunpckldq(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: vpunpckhqdq
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpunpckhqdq(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: vpunpcklqdq
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpunpcklqdq(a, b, o)
  - 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: vpbroadcastd
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpbroadcastd(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: vrol
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vrol(x, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: vror
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vror(x, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: vshl
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vshl(x, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - t1
    - ','
    - t2
    - ','
    - t3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: transpose_4x4
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: transpose_4x4(x0, x1, x2, x3, t1, t2, t3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 110
    functionName: SBOX0
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX0(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 129
    functionName: SBOX0_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX0_INVERSE(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 147
    functionName: SBOX1
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX1(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 166
    functionName: SBOX1_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX1_INVERSE(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: SBOX2
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX2(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 200
    functionName: SBOX2_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX2_INVERSE(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 218
    functionName: SBOX3
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX3(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 236
    functionName: SBOX3_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX3_INVERSE(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 254
    functionName: SBOX4
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX4(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 273
    functionName: SBOX4_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX4_INVERSE(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 291
    functionName: SBOX5
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX5(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 309
    functionName: SBOX5_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX5_INVERSE(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 327
    functionName: SBOX6
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX6(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 344
    functionName: SBOX6_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX6_INVERSE(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 363
    functionName: SBOX7
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX7(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 381
    functionName: SBOX7_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX7_INVERSE(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - block0
    - ','
    - rkey
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 390
    functionName: BLOCK_XOR_KEY
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_XOR_KEY(block0, rkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - block_dst
    - ','
    - block_src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 399
    functionName: BLOCK_COPY
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_COPY(block_dst, block_src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - which
    - ','
    - array0
    - ','
    - array1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: SBOX
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX(which, array0, array1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - which
    - ','
    - array0
    - ','
    - array1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: SBOX_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX_INVERSE(which, array0, array1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - block
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 426
    functionName: LINEAR_TRANSFORMATION
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LINEAR_TRANSFORMATION(block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - block
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 441
    functionName: LINEAR_TRANSFORMATION_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LINEAR_TRANSFORMATION_INVERSE(block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - which
    - ','
    - subkeys
    - ','
    - block
    - ','
    - block_tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 452
    functionName: ROUND
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND(which, subkeys, block, block_tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - which
    - ','
    - subkeys
    - ','
    - block
    - ','
    - block_tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 463
    functionName: ROUND_LAST
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_LAST(which, subkeys, block, block_tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - which
    - ','
    - subkey
    - ','
    - block
    - ','
    - block_tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 474
    functionName: ROUND_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_INVERSE(which, subkey, block, block_tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - which
    - ','
    - subkeys
    - ','
    - block
    - ','
    - block_tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: ROUND_FIRST_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_FIRST_INVERSE(which, subkeys, block, block_tmp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:504,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:505,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:518,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:518,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:519,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:519,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:520,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:520,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:521,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:521,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:522,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:522,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:523,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:523,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:524,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:524,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:527,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:527,1
    - Dst: ROUND_LAST
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:530,1
    - Dst: ROUND_LAST
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:530,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:532,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 59
    argCount: 3
    argNames:
    - keys
    - vin
    - vout
    argTypes:
    - serpent_subkeys_t
    - __m512i[]
    - __m512i[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 542
    functionName: serpent_encrypt_internal_avx512
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached:
    - ROUND
    - ROUND_LAST
    - transpose_4x4
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: "ALWAYS_INLINE serpent_encrypt_internal_avx512 (const serpent_subkeys_t
      keys,\n\t\t\t\t const __m512i vin[8], __m512i vout[8])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:562,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:563,1
    - Dst: ROUND_FIRST_INVERSE
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:565,1
    - Dst: ROUND_FIRST_INVERSE
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:565,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:570,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:570,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:571,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:571,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:572,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:572,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:573,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:573,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:574,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:574,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:575,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:575,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:576,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:576,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:579,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:579,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:582,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:583,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 52
    argCount: 3
    argNames:
    - keys
    - vin
    - vout
    argTypes:
    - serpent_subkeys_t
    - __m512i[]
    - __m512i[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 592
    functionName: serpent_decrypt_internal_avx512
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached:
    - ROUND_INVERSE
    - ROUND_FIRST_INVERSE
    - transpose_4x4
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: "ALWAYS_INLINE serpent_decrypt_internal_avx512 (const serpent_subkeys_t
      keys,\n\t\t\t\t const __m512i vin[8], __m512i vout[8])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm_loadu_si128
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:684,1
    - Dst: _mm_loadu_si128
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:685,1
    - Dst: _mm_loadu_si128
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:686,1
    - Dst: _mm_loadu_si128
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:687,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:688,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:696,1
    - Dst: _mm512_castsi128_si512
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:699,1
    - Dst: _mm512_inserti32x4
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:701,1
    - Dst: _mm512_inserti32x4
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:703,1
    - Dst: _mm512_inserti32x4
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:705,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - vchecksum
    - voffset
    - input
    - output
    - L
    argTypes:
    - __m512i*
    - __m128i*
    - unsigned char*
    - unsigned char*
    - ocb_L_uintptr_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 709
    functionName: ocb_input
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached:
    - _mm512_storeu_epi32
    - _mm512_inserti32x4
    - _mm512_loadu_epi32
    - _mm_loadu_si128
    - _mm512_castsi128_si512
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: "ALWAYS_INLINE ocb_input(__m512i *vchecksum, __m128i *voffset, const
      unsigned char *input,\n\t  unsigned char *output, const ocb_L_uintptr_t L[4])"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:737,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:738,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:739,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:740,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:741,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:742,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:743,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:744,1
    - Dst: _mm512_maskz_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:750,1
    - Dst: _cvtu32_mask16
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:750,1
    - Dst: _mm512_maskz_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:752,1
    - Dst: _cvtu32_mask16
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:752,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:753,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:754,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:755,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:756,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:757,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:758,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:759,1
    - Dst: _mm_loadu_si128
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:760,1
    - Dst: _mm_storeu_si128
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:761,1
    - Dst: ctr_generate
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:766,1
    - Dst: _mm512_setzero_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:772,1
    - Dst: _mm_loadu_si128
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:773,1
    - Dst: _mm_loadu_si128
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:774,1
    - Dst: ocb_input
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:775,1
    - Dst: ocb_input
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:776,1
    - Dst: ocb_input
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:777,1
    - Dst: ocb_input
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:778,1
    - Dst: ocb_input
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:779,1
    - Dst: ocb_input
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:780,1
    - Dst: ocb_input
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:781,1
    - Dst: ocb_input
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:782,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:783,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:784,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:785,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:786,1
    - Dst: _mm_storeu_si128
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:787,1
    - Dst: _mm_storeu_si128
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:788,1
    - Dst: _mm_loadu_si128
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:795,1
    - Dst: ocb_input
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:797,1
    - Dst: ocb_input
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:798,1
    - Dst: ocb_input
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:799,1
    - Dst: ocb_input
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:800,1
    - Dst: ocb_input
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:801,1
    - Dst: ocb_input
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:802,1
    - Dst: ocb_input
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:803,1
    - Dst: ocb_input
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:804,1
    - Dst: _mm_storeu_si128
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:805,1
    - Dst: serpent_encrypt_internal_avx512
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:811,1
    - Dst: serpent_decrypt_internal_avx512
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:813,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:819,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:820,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:821,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:822,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:823,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:824,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:825,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:826,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:831,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:832,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:833,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:834,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:835,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:836,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:837,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:838,1
    - Dst: _mm512_maskz_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:844,1
    - Dst: _cvtu32_mask16
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:844,1
    - Dst: _mm512_maskz_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:846,1
    - Dst: _cvtu32_mask16
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:846,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:847,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:848,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:849,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:850,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:851,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:852,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:853,1
    - Dst: _mm_loadu_si128
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:854,1
    - Dst: _mm_storeu_si128
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:855,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:856,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:857,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:858,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:859,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:860,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:861,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:862,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:863,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:868,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:869,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:870,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:871,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:872,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:873,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:874,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:875,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:876,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:877,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:878,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:879,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:880,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:881,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:882,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:883,1
    - Dst: _mm512_setzero_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:888,1
    - Dst: _mm_loadu_si128
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:889,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:890,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:891,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:892,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:893,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:894,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:895,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:896,1
    - Dst: _mm512_loadu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:897,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:906,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:907,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:908,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:909,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:910,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:911,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:912,1
    - Dst: _mm512_storeu_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:913,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:914,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:915,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:916,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:917,1
    - Dst: _mm_storeu_si128
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:918,1
    - Dst: _mm256_zeroall
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:923,1
    - Dst: CLEAR
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:927,1
    - Dst: CLEAR
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:927,1
    - Dst: CLEAR
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:927,1
    - Dst: CLEAR
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:927,1
    - Dst: CLEAR
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:928,1
    - Dst: CLEAR
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:928,1
    - Dst: CLEAR
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:928,1
    - Dst: CLEAR
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:928,1
    - Dst: CLEAR
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:929,1
    - Dst: CLEAR
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:929,1
    - Dst: CLEAR
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:929,1
    - Dst: CLEAR
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:929,1
    - Dst: CLEAR
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:930,1
    - Dst: CLEAR
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:930,1
    - Dst: CLEAR
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:930,1
    - Dst: CLEAR
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:930,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 172
    argCount: 7
    argNames:
    - c
    - output
    - input
    - mode
    - iv
    - checksum
    - Ls
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - int
    - unsigned char*
    - unsigned char*
    - ocb_L_uintptr_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 940
    functionName: serpent_avx512_blk32
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached:
    - serpent_decrypt_internal_avx512
    - ocb_input
    - _mm512_storeu_epi32
    - _cvtu32_mask16
    - _mm512_extracti32x4_epi32
    - _mm_storeu_si128
    - _mm512_loadu_epi32
    - _mm_loadu_si128
    - _mm512_maskz_loadu_epi32
    - serpent_encrypt_internal_avx512
    - _mm512_setzero_epi32
    - _mm256_zeroall
    - CLEAR
    - ctr_generate
    linkageType: ''
    returnType: NO_INLINE
    signature: "NO_INLINE serpent_avx512_blk32(const void *c, unsigned char *output,\n\t\t
      \    const unsigned char *input, int mode,\n\t\t     unsigned char *iv, unsigned
      char *checksum,\n\t\t     const ocb_L_uintptr_t Ls[32])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 927
    functionName: CLEAR
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEAR(mm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serpent_avx512_blk32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - encrypt
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 942
    functionDepth: 2
    functionLinenumber: 942
    functionLinenumberEnd: 948
    functionName: _gcry_serpent_avx512_blk32
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached:
    - serpent_avx512_blk32
    linkageType: ''
    returnType: void
    signature: "void _gcry_serpent_avx512_blk32(const void *ctx, unsigned char *out,\n\t\t\t
      \  const unsigned char *in, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serpent_avx512_blk32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - iv
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 950
    functionDepth: 2
    functionLinenumber: 950
    functionLinenumberEnd: 955
    functionName: _gcry_serpent_avx512_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached:
    - serpent_avx512_blk32
    linkageType: ''
    returnType: void
    signature: "void _gcry_serpent_avx512_cbc_dec(const void *ctx, unsigned char *out,\n\t\t\t
      \    const unsigned char *in, unsigned char *iv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serpent_avx512_blk32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - iv
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 962
    functionName: _gcry_serpent_avx512_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached:
    - serpent_avx512_blk32
    linkageType: ''
    returnType: void
    signature: "void _gcry_serpent_avx512_cfb_dec(const void *ctx, unsigned char *out,\n\t\t\t
      \    const unsigned char *in, unsigned char *iv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serpent_avx512_blk32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - iv
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 964
    functionDepth: 2
    functionLinenumber: 964
    functionLinenumberEnd: 969
    functionName: _gcry_serpent_avx512_ctr_enc
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached:
    - serpent_avx512_blk32
    linkageType: ''
    returnType: void
    signature: "void _gcry_serpent_avx512_ctr_enc(const void *ctx, unsigned char *out,\n\t\t\t
      \    const unsigned char *in, unsigned char *iv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serpent_avx512_blk32
      Src: /src/libgcrypt/cipher/serpent-avx512-x86.c:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - out
    - in
    - offset
    - checksum
    - Ls
    - encrypt
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - ocb_L_uintptr_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 971
    functionDepth: 2
    functionLinenumber: 971
    functionLinenumberEnd: 979
    functionName: _gcry_serpent_avx512_ocb_crypt
    functionSourceFile: /src/libgcrypt/cipher/serpent-avx512-x86.c
    functionUses: 0
    functionsReached:
    - serpent_avx512_blk32
    linkageType: ''
    returnType: void
    signature: "void _gcry_serpent_avx512_ocb_crypt(const void *ctx, unsigned char
      *out,\n\t\t\t       const unsigned char *in, unsigned char *offset,\n\t\t\t
      \      unsigned char *checksum,\n\t\t\t       const ocb_L_uintptr_t Ls[32],
      int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: map_algo
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int map_algo (int algo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: map_algo
      Src: /src/libgcrypt/cipher/cipher.c:248,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/cipher.c:250,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/cipher.c:252,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/cipher.c:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 259
    functionName: spec_from_algo
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached:
    - DIM
    - map_algo
    - gcry_assert
    linkageType: ''
    returnType: gcry_cipher_spec_t
    signature: 'gcry_cipher_spec_t *

      spec_from_algo (int algo)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/libgcrypt/cipher/cipher.c:272,1
    - Dst: stricmp
      Src: /src/libgcrypt/cipher/cipher.c:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 283
    functionName: spec_from_name
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: gcry_cipher_spec_t
    signature: 'gcry_cipher_spec_t *

      spec_from_name (const char *name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/libgcrypt/cipher/cipher.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 306
    functionName: spec_from_oid
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: gcry_cipher_spec_t
    signature: 'gcry_cipher_spec_t *

      spec_from_oid (const char *oid)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libgcrypt/cipher/cipher.c:323,1
    - Dst: strncmp
      Src: /src/libgcrypt/cipher/cipher.c:323,1
    - Dst: spec_from_oid
      Src: /src/libgcrypt/cipher/cipher.c:326,1
    - Dst: stricmp
      Src: /src/libgcrypt/cipher/cipher.c:330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - oid
    - oid_spec
    argTypes:
    - char*
    - gcry_cipher_oid_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 339
    functionName: search_oid
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached:
    - stricmp
    - strncmp
    - spec_from_oid
    linkageType: ''
    returnType: gcry_cipher_spec_t
    signature: 'gcry_cipher_spec_t *

      search_oid (const char *oid, gcry_cipher_oid_spec_t *oid_spec)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: search_oid
      Src: /src/libgcrypt/cipher/cipher.c:358,1
    - Dst: spec_from_name
      Src: /src/libgcrypt/cipher/cipher.c:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 367
    functionName: _gcry_cipher_map_name
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 1
    functionsReached:
    - search_oid
    - spec_from_name
    linkageType: ''
    returnType: int
    signature: int _gcry_cipher_map_name (const char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: search_oid
      Src: /src/libgcrypt/cipher/cipher.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 388
    functionName: _gcry_cipher_mode_from_oid
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 1
    functionsReached:
    - search_oid
    linkageType: ''
    returnType: int
    signature: int _gcry_cipher_mode_from_oid (const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/cipher.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: _gcry_cipher_algo_name
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 2
    functionsReached:
    - spec_from_algo
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_cipher_algo_name (int algorithm)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/cipher.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 417
    functionName: disable_cipher_algo
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached:
    - spec_from_algo
    linkageType: ''
    returnType: void
    signature: void disable_cipher_algo (int algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/cipher.c:428,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/cipher.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 433
    functionName: check_cipher_algo
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached:
    - spec_from_algo
    - fips_mode
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t check_cipher_algo (int algorithm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/cipher.c:444,1
    - Dst: log_bug
      Src: /src/libgcrypt/cipher/cipher.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 453
    functionName: cipher_get_keylen
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached:
    - spec_from_algo
    - log_bug
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int cipher_get_keylen (int algorithm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/cipher.c:464,1
    - Dst: log_bug
      Src: /src/libgcrypt/cipher/cipher.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 473
    functionName: cipher_get_blocksize
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached:
    - spec_from_algo
    - log_bug
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int cipher_get_blocksize (int algorithm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_open_internal
      Src: /src/libgcrypt/cipher/cipher.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - handle
    - algo
    - mode
    - flags
    argTypes:
    - gcry_cipher_hd_t*
    - int
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 505
    functionName: _gcry_cipher_open
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 1
    functionsReached:
    - _gcry_cipher_open_internal
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_open (gcry_cipher_hd_t *handle,\n                   int
      algo, int mode, unsigned int flags)"
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - mode
    argTypes:
    - enum gcry_cipher_modes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 535
    functionName: cipher_modes_fips_compliance
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t cipher_modes_fips_compliance (enum gcry_cipher_modes
      mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mode
    argTypes:
    - enum gcry_cipher_internal_modes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 552
    functionName: cipher_int_modes_fips_compliance
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t cipher_int_modes_fips_compliance (enum gcry_cipher_internal_modes
      mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cipher_int_modes_fips_compliance
      Src: /src/libgcrypt/cipher/cipher.c:562,1
    - Dst: cipher_modes_fips_compliance
      Src: /src/libgcrypt/cipher/cipher.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 565
    functionName: _gcry_cipher_mode_fips_compliance
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached:
    - cipher_modes_fips_compliance
    - cipher_int_modes_fips_compliance
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cipher_mode_fips_compliance (int mode)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_fast_random_poll
      Src: /src/libgcrypt/cipher/cipher.c:581,1
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/cipher.c:583,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/cipher.c:588,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/cipher.c:592,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/cipher.c:596,1
    - Dst: _gcry_cipher_mode_fips_compliance
      Src: /src/libgcrypt/cipher/cipher.c:600,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/cipher.c:602,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/cipher.c:604,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/cipher.c:696,1
    - Dst: _gcry_get_debug_flag
      Src: /src/libgcrypt/cipher/cipher.c:696,1
    - Dst: xtrycalloc_secure
      Src: /src/libgcrypt/cipher/cipher.c:734,1
    - Dst: xtrycalloc
      Src: /src/libgcrypt/cipher/cipher.c:736,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/cipher.c:739,1
    - Dst: _gcry_cipher_setup_mode_ops
      Src: /src/libgcrypt/cipher/cipher.c:764,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 135
    argCount: 5
    argNames:
    - handle
    - algo
    - mode
    - flags
    - fast_rnd_poll
    argTypes:
    - gcry_cipher_hd_t*
    - int
    - int
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 796
    functionName: _gcry_cipher_open_internal
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 3
    functionsReached:
    - spec_from_algo
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - _gcry_get_debug_flag
    - xtrycalloc_secure
    - gpg_err_code_from_syserror
    - _gcry_fast_random_poll
    - _gcry_cipher_mode_fips_compliance
    - fips_mode
    - _gcry_cipher_setup_mode_ops
    - xtrycalloc
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_open_internal (gcry_cipher_hd_t *handle,\n\t\t\t
      \   int algo, int mode, unsigned int flags,\n\t\t\t    int fast_rnd_poll)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_fatal_error
      Src: /src/libgcrypt/cipher/cipher.c:811,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher.c:823,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/cipher.c:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 826
    functionName: _gcry_cipher_close
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 4
    functionsReached:
    - wipememory
    - _gcry_fatal_error
    - xfree
    linkageType: ''
    returnType: void
    signature: void _gcry_cipher_close (gcry_cipher_hd_t h)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/cipher.c:843,1
    - Dst: buf_eq_const
      Src: /src/libgcrypt/cipher/cipher.c:848,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/cipher.c:850,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/cipher.c:853,1
    - Dst: gcry_cipher_hd_t::spec::setkey
      Src: /src/libgcrypt/cipher/cipher.c:865,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher.c:871,1
    - Dst: _gcry_cipher_cmac_set_subkeys
      Src: /src/libgcrypt/cipher/cipher.c:879,1
    - Dst: _gcry_cipher_eax_setkey
      Src: /src/libgcrypt/cipher/cipher.c:883,1
    - Dst: _gcry_cipher_gcm_setkey
      Src: /src/libgcrypt/cipher/cipher.c:887,1
    - Dst: _gcry_cipher_gcm_siv_setkey
      Src: /src/libgcrypt/cipher/cipher.c:891,1
    - Dst: _gcry_cipher_ocb_setkey
      Src: /src/libgcrypt/cipher/cipher.c:897,1
    - Dst: _gcry_cipher_poly1305_setkey
      Src: /src/libgcrypt/cipher/cipher.c:901,1
    - Dst: gcry_cipher_hd_t::spec::setkey
      Src: /src/libgcrypt/cipher/cipher.c:906,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher.c:911,1
    - Dst: _gcry_cipher_siv_setkey
      Src: /src/libgcrypt/cipher/cipher.c:920,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher.c:924,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 65
    argCount: 3
    argNames:
    - c
    - key
    - keylen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 831
    functionDepth: 3
    functionLinenumber: 831
    functionLinenumberEnd: 944
    functionName: cipher_setkey
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 71
    functionsReached:
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - _gcry_cipher_ocb_setkey
    - gcry_cipher_hd_t::spec::setkey
    - _gcry_cipher_cmac_set_subkeys
    - _gcry_cipher_gcm_siv_setkey
    - _gcry_cipher_siv_setkey
    - _gcry_cipher_gcm_setkey
    - buf_eq_const
    - fips_mode
    - _gcry_cipher_eax_setkey
    - memcpy
    - _gcry_cipher_poly1305_setkey
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t cipher_setkey (gcry_cipher_hd_t c, byte *key, size_t
      keylen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_hd_t::spec::setiv
      Src: /src/libgcrypt/cipher/cipher.c:956,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher.c:960,1
    - Dst: log_info
      Src: /src/libgcrypt/cipher/cipher.c:965,1
    - Dst: fips_signal_error
      Src: /src/libgcrypt/cipher/cipher.c:967,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher.c:971,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - c
    - iv
    - ivlen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 949
    functionDepth: 2
    functionLinenumber: 949
    functionLinenumberEnd: 979
    functionName: cipher_setiv
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 53
    functionsReached:
    - gcry_cipher_hd_t::spec::setiv
    - log_info
    - memset
    - fips_signal_error
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t cipher_setiv (gcry_cipher_hd_t c, const byte *iv, size_t
      ivlen)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher.c:992,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher.c:995,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher.c:996,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher.c:997,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher.c:998,1
    - Dst: _gcry_cmac_reset
      Src: /src/libgcrypt/cipher/cipher.c:1007,1
    - Dst: _gcry_cmac_reset
      Src: /src/libgcrypt/cipher/cipher.c:1011,1
    - Dst: _gcry_cmac_reset
      Src: /src/libgcrypt/cipher/cipher.c:1012,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher.c:1023,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher.c:1028,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher.c:1032,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher.c:1047,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher.c:1052,1
    - Dst: _gcry_cipher_ocb_setkey
      Src: /src/libgcrypt/cipher/cipher.c:1053,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher.c:1062,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher.c:1074,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher.c:1076,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher.c:1080,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 984
    functionDepth: 2
    functionLinenumber: 984
    functionLinenumberEnd: 1088
    functionName: cipher_reset
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 15
    functionsReached:
    - memset
    - memcpy
    - _gcry_cipher_ocb_setkey
    - _gcry_cmac_reset
    linkageType: ''
    returnType: void
    signature: void cipher_reset (gcry_cipher_hd_t c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_hd_t::bulk::ecb_crypt
      Src: /src/libgcrypt/cipher/cipher.c:1111,1
    - Dst: crypt_fn
      Src: /src/libgcrypt/cipher/cipher.c:1122,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher.c:1129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1133
    functionName: do_ecb_crypt
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached:
    - crypt_fn
    - gcry_cipher_hd_t::bulk::ecb_crypt
    - _gcry_burn_stack
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t do_ecb_crypt (gcry_cipher_hd_t c, unsigned char *outbuf,
      size_t outbuflen,\n\t      const unsigned char *inbuf, size_t inbuflen, int
      encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_ecb_crypt
      Src: /src/libgcrypt/cipher/cipher.c:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1135
    functionDepth: 2
    functionLinenumber: 1135
    functionLinenumberEnd: 1141
    functionName: do_ecb_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached:
    - do_ecb_crypt
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t do_ecb_encrypt (gcry_cipher_hd_t c,\n                unsigned
      char *outbuf, size_t outbuflen,\n                const unsigned char *inbuf,
      size_t inbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_ecb_crypt
      Src: /src/libgcrypt/cipher/cipher.c:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1143
    functionDepth: 2
    functionLinenumber: 1143
    functionLinenumberEnd: 1149
    functionName: do_ecb_decrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached:
    - do_ecb_crypt
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t do_ecb_decrypt (gcry_cipher_hd_t c,\n                unsigned
      char *outbuf, size_t outbuflen,\n                const unsigned char *inbuf,
      size_t inbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_hd_t::spec::stencrypt
      Src: /src/libgcrypt/cipher/cipher.c:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1160
    functionName: do_stream_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_hd_t::spec::stencrypt
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t do_stream_encrypt (gcry_cipher_hd_t c,\n                unsigned
      char *outbuf, size_t outbuflen,\n                const unsigned char *inbuf,
      size_t inbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_hd_t::spec::stdecrypt
      Src: /src/libgcrypt/cipher/cipher.c:1168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1170
    functionName: do_stream_decrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_hd_t::spec::stdecrypt
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t do_stream_decrypt (gcry_cipher_hd_t c,\n                unsigned
      char *outbuf, size_t outbuflen,\n                const unsigned char *inbuf,
      size_t inbuflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/cipher.c:1188,1
    - Dst: _gcry_get_debug_flag
      Src: /src/libgcrypt/cipher/cipher.c:1188,1
    - Dst: fips_signal_error
      Src: /src/libgcrypt/cipher/cipher.c:1190,1
    - Dst: memmove
      Src: /src/libgcrypt/cipher/cipher.c:1196,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/cipher.c:1202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1173
    functionDepth: 2
    functionLinenumber: 1173
    functionLinenumberEnd: 1208
    functionName: do_encrypt_none_unknown
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached:
    - _gcry_get_debug_flag
    - memmove
    - log_fatal
    - fips_mode
    - fips_signal_error
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t do_encrypt_none_unknown (gcry_cipher_hd_t c, byte
      *outbuf, size_t outbuflen,\n                         const byte *inbuf, size_t
      inbuflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/cipher.c:1225,1
    - Dst: _gcry_get_debug_flag
      Src: /src/libgcrypt/cipher/cipher.c:1225,1
    - Dst: fips_signal_error
      Src: /src/libgcrypt/cipher/cipher.c:1227,1
    - Dst: memmove
      Src: /src/libgcrypt/cipher/cipher.c:1233,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/cipher.c:1239,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1210
    functionDepth: 2
    functionLinenumber: 1210
    functionLinenumberEnd: 1245
    functionName: do_decrypt_none_unknown
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached:
    - _gcry_get_debug_flag
    - memmove
    - log_fatal
    - fips_mode
    - fips_signal_error
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t do_decrypt_none_unknown (gcry_cipher_hd_t c, byte
      *outbuf, size_t outbuflen,\n                         const byte *inbuf, size_t
      inbuflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/libgcrypt/cipher/cipher.c:1266,1
    - Dst: gcry_cipher_hd_t::mode_ops::encrypt
      Src: /src/libgcrypt/cipher/cipher.c:1270,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher.c:1275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - h
    - out
    - outsize
    - in
    - inlen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1278
    functionName: _gcry_cipher_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 2
    functionsReached:
    - gcry_cipher_hd_t::mode_ops::encrypt
    - memset
    - log_error
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_encrypt (gcry_cipher_hd_t h, void *out,
      size_t outsize,\n                      const void *in, size_t inlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/libgcrypt/cipher/cipher.c:1297,1
    - Dst: gcry_cipher_hd_t::mode_ops::decrypt
      Src: /src/libgcrypt/cipher/cipher.c:1301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - h
    - out
    - outsize
    - in
    - inlen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1285
    functionDepth: 2
    functionLinenumber: 1285
    functionLinenumberEnd: 1302
    functionName: _gcry_cipher_decrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 1
    functionsReached:
    - gcry_cipher_hd_t::mode_ops::decrypt
    - log_error
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_decrypt (gcry_cipher_hd_t h, void *out,
      size_t outsize,\n                      const void *in, size_t inlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libgcrypt/cipher/cipher.c:1314,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher.c:1316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1320
    functionName: cipher_sync
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 5
    functionsReached:
    - memmove
    - memcpy
    linkageType: ''
    returnType: void
    signature: void cipher_sync (gcry_cipher_hd_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cipher_setkey
      Src: /src/libgcrypt/cipher/cipher.c:1326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hd
    - key
    - keylen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1323
    functionDepth: 4
    functionLinenumber: 1323
    functionLinenumberEnd: 1327
    functionName: _gcry_cipher_setkey
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 3
    functionsReached:
    - cipher_setkey
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cipher_setkey (gcry_cipher_hd_t hd, const void
      *key, size_t keylen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/cipher.c:1337,1
    - Dst: gcry_cipher_hd_t::mode_ops::setiv
      Src: /src/libgcrypt/cipher/cipher.c:1344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - c
    - iv
    - ivlen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1330
    functionDepth: 1
    functionLinenumber: 1330
    functionLinenumberEnd: 1345
    functionName: _gcry_cipher_setiv
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 2
    functionsReached:
    - gcry_cipher_hd_t::mode_ops::setiv
    - fips_mode
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cipher_setiv (gcry_cipher_hd_t c, const void
      *iv, size_t ivlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher.c:1356,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher.c:1361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - hd
    - ctr
    - ctrlen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1368
    functionName: _gcry_cipher_setctr
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 1
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_cipher_setctr (gcry_cipher_hd_t hd, const void
      *ctr, size_t ctrlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher.c:1374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - hd
    - ctr
    - ctrlen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1379
    functionName: _gcry_cipher_getctr
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_cipher_getctr (gcry_cipher_hd_t hd, void *ctr,
      size_t ctrlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher.c:1398,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher.c:1399,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher.c:1400,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher.c:1401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - hd
    - method
    - fixed_iv
    - fixed_iv_len
    - dyn_iv
    - dyn_iv_len
    argTypes:
    - gcry_cipher_hd_t
    - int
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1404
    functionName: _gcry_cipher_setup_geniv
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 1
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_setup_geniv (gcry_cipher_hd_t hd, int
      method,\n                          const void *fixed_iv, size_t fixed_iv_len,\n
      \                         const void *dyn_iv, size_t dyn_iv_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher.c:1419,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher.c:1420,1
    - Dst: gcry_cipher_hd_t::mode_ops::setiv
      Src: /src/libgcrypt/cipher/cipher.c:1422,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - hd
    - iv
    - iv_len
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1429
    functionName: _gcry_cipher_geniv
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 1
    functionsReached:
    - gcry_cipher_hd_t::mode_ops::setiv
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cipher_geniv (gcry_cipher_hd_t hd, void *iv,
      size_t iv_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_hd_t::mode_ops::authenticate
      Src: /src/libgcrypt/cipher/cipher.c:1440,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/cipher.c:1444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - hd
    - abuf
    - abuflen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1432
    functionDepth: 2
    functionLinenumber: 1432
    functionLinenumberEnd: 1449
    functionName: _gcry_cipher_authenticate
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 1
    functionsReached:
    - gcry_cipher_hd_t::mode_ops::authenticate
    - log_error
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_authenticate (gcry_cipher_hd_t hd, const
      void *abuf,\n                           size_t abuflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_hd_t::mode_ops::get_tag
      Src: /src/libgcrypt/cipher/cipher.c:1459,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/cipher.c:1463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - hd
    - outtag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1452
    functionDepth: 2
    functionLinenumber: 1452
    functionLinenumberEnd: 1468
    functionName: _gcry_cipher_gettag
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 1
    functionsReached:
    - gcry_cipher_hd_t::mode_ops::get_tag
    - log_error
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cipher_gettag (gcry_cipher_hd_t hd, void *outtag,
      size_t taglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_hd_t::mode_ops::check_tag
      Src: /src/libgcrypt/cipher/cipher.c:1478,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/cipher.c:1482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - hd
    - intag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1471
    functionDepth: 2
    functionLinenumber: 1471
    functionLinenumberEnd: 1487
    functionName: _gcry_cipher_checktag
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 1
    functionsReached:
    - log_error
    - gcry_cipher_hd_t::mode_ops::check_tag
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cipher_checktag (gcry_cipher_hd_t hd, const void
      *intag, size_t taglen)
  - BBCount: 37
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 151
    argCount: 2
    argNames:
    - c
    - mode
    argTypes:
    - gcry_cipher_hd_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1688
    functionName: _gcry_cipher_setup_mode_ops
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_cipher_setup_mode_ops(gcry_cipher_hd_t c, int mode)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: cipher_reset
      Src: /src/libgcrypt/cipher/cipher.c:1699,1
    - Dst: cipher_sync
      Src: /src/libgcrypt/cipher/cipher.c:1709,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher.c:1747,1
    - Dst: _gcry_cipher_ccm_set_lengths
      Src: /src/libgcrypt/cipher/cipher.c:1752,1
    - Dst: _gcry_cipher_siv_set_decryption_tag
      Src: /src/libgcrypt/cipher/cipher.c:1762,1
    - Dst: _gcry_cipher_gcm_siv_set_decryption_tag
      Src: /src/libgcrypt/cipher/cipher.c:1764,1
    - Dst: disable_cipher_algo
      Src: /src/libgcrypt/cipher/cipher.c:1798,1
    - Dst: gcry_cipher_hd_t::spec::set_extra_info
      Src: /src/libgcrypt/cipher/cipher.c:1803,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/cipher.c:1825,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/cipher.c:1849,1
    - Dst: gcry_cipher_hd_t::spec::set_extra_info
      Src: /src/libgcrypt/cipher/cipher.c:1859,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 118
    argCount: 4
    argNames:
    - h
    - cmd
    - buffer
    - buflen
    argTypes:
    - gcry_cipher_hd_t
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1691
    functionDepth: 3
    functionLinenumber: 1691
    functionLinenumberEnd: 1877
    functionName: _gcry_cipher_ctl
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 1
    functionsReached:
    - cipher_reset
    - _gcry_cipher_siv_set_decryption_tag
    - gcry_assert
    - cipher_sync
    - _gcry_cipher_gcm_siv_set_decryption_tag
    - disable_cipher_algo
    - gcry_cipher_hd_t::spec::set_extra_info
    - _gcry_cipher_ccm_set_lengths
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cipher_ctl (gcry_cipher_hd_t h, int cmd, void
      *buffer, size_t buflen)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher.c:1957,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 4
    argNames:
    - h
    - cmd
    - buffer
    - nbytes
    argTypes:
    - gcry_cipher_hd_t
    - int
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1972
    functionName: _gcry_cipher_info
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cipher_info (gcry_cipher_hd_t h, int cmd, void
      *buffer, size_t *nbytes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cipher_get_keylen
      Src: /src/libgcrypt/cipher/cipher.c:2011,1
    - Dst: cipher_get_blocksize
      Src: /src/libgcrypt/cipher/cipher.c:2025,1
    - Dst: check_cipher_algo
      Src: /src/libgcrypt/cipher/cipher.c:2041,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - algo
    - what
    - buffer
    - nbytes
    argTypes:
    - int
    - int
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 1998
    functionDepth: 2
    functionLinenumber: 1998
    functionLinenumberEnd: 2049
    functionName: _gcry_cipher_algo_info
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 1
    functionsReached:
    - cipher_get_keylen
    - check_cipher_algo
    - cipher_get_blocksize
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cipher_algo_info (int algo, int what, void *buffer,
      size_t *nbytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_algo_info
      Src: /src/libgcrypt/cipher/cipher.c:2065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2060
    functionDepth: 3
    functionLinenumber: 2060
    functionLinenumberEnd: 2068
    functionName: _gcry_cipher_get_algo_keylen
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 3
    functionsReached:
    - _gcry_cipher_algo_info
    linkageType: ''
    returnType: size_t
    signature: size_t _gcry_cipher_get_algo_keylen (int algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_algo_info
      Src: /src/libgcrypt/cipher/cipher.c:2082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2077
    functionDepth: 3
    functionLinenumber: 2077
    functionLinenumberEnd: 2085
    functionName: _gcry_cipher_get_algo_blklen
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 4
    functionsReached:
    - _gcry_cipher_algo_info
    linkageType: ''
    returnType: size_t
    signature: size_t _gcry_cipher_get_algo_blklen (int algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2093
    functionName: _gcry_cipher_init
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cipher_init (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/cipher.c:2104,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/cipher.c:2106,1
    - Dst: gcry_cipher_spec_t*::selftest
      Src: /src/libgcrypt/cipher/cipher.c:2108,1
    - Dst: report
      Src: /src/libgcrypt/cipher/cipher.c:2113,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/cipher.c:2115,1
    - Dst: gpg_error
      Src: /src/libgcrypt/cipher/cipher.c:2120,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2121
      start: 2098
    functionDepth: 1
    functionLinenumber: 2098
    functionLinenumberEnd: 2121
    functionName: _gcry_cipher_selftest
    functionSourceFile: /src/libgcrypt/cipher/cipher.c
    functionUses: 1
    functionsReached:
    - spec_from_algo
    - gcry_cipher_spec_t*::selftest
    - fips_mode
    - gpg_error
    - report
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _gcry_cipher_selftest (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - index
    argTypes:
    - GOST28147_context*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: gost_do_set_sbox
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gost_do_set_sbox (GOST28147_context *ctx, unsigned int index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gost_do_set_sbox
      Src: /src/libgcrypt/cipher/gost28147.c:63,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/gost28147.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - c
    - key
    - keylen
    - bulk_ops
    argTypes:
    - void*
    - byte*
    - unsigned
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: gost_setkey
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached:
    - buf_get_le32
    - gost_do_set_sbox
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t gost_setkey (void *c, const byte *key, unsigned keylen,\n
      \            cipher_bulk_ops_t *bulk_ops)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - subkey
    - cm1
    - sbox
    argTypes:
    - u32
    - u32
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: gost_val
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 gost_val (u32 subkey, u32 cm1, const u32 *sbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:89,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:89,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:90,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:90,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:91,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:91,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:92,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:92,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:94,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:94,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:95,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:95,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:96,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:96,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:97,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:97,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:99,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:99,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:100,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:100,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:101,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:101,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:102,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:102,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:104,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:104,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:105,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:105,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:106,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:106,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:107,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 6
    argNames:
    - sbox
    - key
    - o1
    - o2
    - n1
    - n2
    argTypes:
    - u32*
    - u32*
    - u32*
    - u32*
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 115
    functionName: _gost_encrypt_data
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached:
    - gost_val
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gost_encrypt_data (const u32 *sbox, const u32 *key, u32
      *o1, u32 *o2, u32 n1, u32 n2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/gost28147.c:124,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/gost28147.c:125,1
    - Dst: _gost_encrypt_data
      Src: /src/libgcrypt/cipher/gost28147.c:127,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/gost28147.c:129,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/gost28147.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - c
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: gost_encrypt_block
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached:
    - _gost_encrypt_data
    - buf_get_le32
    - buf_put_le32
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gost_encrypt_block (void *c, byte *outbuf, const byte
      *inbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gost_encrypt_data
      Src: /src/libgcrypt/cipher/gost28147.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - key
    - o1
    - o2
    - n1
    - n2
    - cryptopro
    argTypes:
    - u32*
    - u32*
    - u32*
    - u32
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: _gcry_gost_enc_data
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached:
    - _gost_encrypt_data
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_gost_enc_data (const u32 *key,\n    u32 *o1, u32
      *o2, u32 n1, u32 n2, int cryptopro)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/gost28147.c:153,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/gost28147.c:154,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:156,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:156,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:157,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:157,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:158,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:158,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:159,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:159,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:161,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:161,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:162,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:162,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:163,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:163,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:164,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:164,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:166,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:166,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:167,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:167,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:168,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:168,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:169,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:169,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:171,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:171,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:172,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:172,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:173,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:173,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:174,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:174,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/gost28147.c:176,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/gost28147.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 3
    argNames:
    - c
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 182
    functionName: gost_decrypt_block
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached:
    - buf_get_le32
    - gost_val
    - buf_put_le32
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gost_decrypt_block (void *c, byte *outbuf, const byte
      *inbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/gost28147.c:191,1
    - Dst: gost_do_set_sbox
      Src: /src/libgcrypt/cipher/gost28147.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - oid
    argTypes:
    - GOST28147_context*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 198
    functionName: gost_set_sbox
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gost_do_set_sbox
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gost_set_sbox (GOST28147_context *ctx, const char *oid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gost_set_sbox
      Src: /src/libgcrypt/cipher/gost28147.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - c
    - what
    - buffer
    - buflen
    argTypes:
    - void*
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 220
    functionName: gost_set_extra_info
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached:
    - gost_set_sbox
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gost_set_extra_info (void *c, int what, const void *buffer,
      size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gost_decrypt_block
      Src: /src/libgcrypt/cipher/gost28147.c:240,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/gost28147.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GOST28147_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 250
    functionName: cryptopro_key_meshing
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached:
    - gost_decrypt_block
    - buf_get_le32
    linkageType: ''
    returnType: void
    signature: void cryptopro_key_meshing (GOST28147_context *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/gost28147.c:259,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/gost28147.c:260,1
    - Dst: cryptopro_key_meshing
      Src: /src/libgcrypt/cipher/gost28147.c:264,1
    - Dst: _gost_encrypt_data
      Src: /src/libgcrypt/cipher/gost28147.c:267,1
    - Dst: _gost_encrypt_data
      Src: /src/libgcrypt/cipher/gost28147.c:270,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/gost28147.c:274,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/gost28147.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - c
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 278
    functionName: gost_encrypt_block_mesh
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached:
    - _gost_encrypt_data
    - buf_get_le32
    - buf_put_le32
    - cryptopro_key_meshing
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gost_encrypt_block_mesh (void *c, byte *outbuf, const
      byte *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/gost28147.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: gost_imit_open
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t gost_imit_open (gcry_mac_hd_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: gost_imit_close
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gost_imit_close (gcry_mac_hd_t h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/gost28147.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - h
    - key
    - keylen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 347
    functionName: gost_imit_setkey
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached:
    - buf_get_le32
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t gost_imit_setkey (gcry_mac_hd_t h, const unsigned char
      *key, size_t keylen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/gost28147.c:357,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/gost28147.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - h
    - iv
    - ivlen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 361
    functionName: gost_imit_setiv
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached:
    - buf_get_le32
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t gost_imit_setiv (gcry_mac_hd_t h,\n\t\t const unsigned
      char *iv,\n\t\t size_t ivlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: gost_imit_reset
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t gost_imit_reset (gcry_mac_hd_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:377,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:377,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:378,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:378,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:379,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:379,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:380,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:380,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:382,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:382,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:383,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:383,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:384,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:384,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:385,1
    - Dst: gost_val
      Src: /src/libgcrypt/cipher/gost28147.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 6
    argNames:
    - sbox
    - key
    - o1
    - o2
    - n1
    - n2
    argTypes:
    - u32*
    - u32*
    - u32*
    - u32*
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 393
    functionName: _gost_imit_block
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached:
    - gost_val
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gost_imit_block (const u32 *sbox, const u32 *key, u32
      *o1, u32 *o2, u32 n1, u32 n2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cryptopro_key_meshing
      Src: /src/libgcrypt/cipher/gost28147.c:399,1
    - Dst: _gost_imit_block
      Src: /src/libgcrypt/cipher/gost28147.c:401,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/gost28147.c:403,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/gost28147.c:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - n1
    - n2
    - buf
    argTypes:
    - GOST28147_context*
    - u32*
    - u32*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 405
    functionName: gost_imit_block
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 1
    functionsReached:
    - buf_get_le32
    - cryptopro_key_meshing
    - _gost_imit_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gost_imit_block (GOST28147_context *ctx, u32 *n1, u32
      *n2, const unsigned char *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gost_imit_block
      Src: /src/libgcrypt/cipher/gost28147.c:424,1
    - Dst: gost_imit_block
      Src: /src/libgcrypt/cipher/gost28147.c:434,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/gost28147.c:444,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - h
    - buf
    - buflen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 447
    functionName: gost_imit_write
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - gost_imit_block
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t gost_imit_write (gcry_mac_hd_t h, const unsigned char
      *buf, size_t buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gost_imit_write
      Src: /src/libgcrypt/cipher/gost28147.c:456,1
    - Dst: gost_imit_write
      Src: /src/libgcrypt/cipher/gost28147.c:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 449
    functionDepth: 5
    functionLinenumber: 449
    functionLinenumberEnd: 460
    functionName: gost_imit_finish
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached:
    - gost_imit_write
    linkageType: ''
    returnType: void
    signature: void gost_imit_finish (gcry_mac_hd_t h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gost_imit_finish
      Src: /src/libgcrypt/cipher/gost28147.c:468,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/gost28147.c:470,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/gost28147.c:471,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/gost28147.c:474,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/gost28147.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - h
    - outbuf
    - outlen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 462
    functionDepth: 6
    functionLinenumber: 462
    functionLinenumberEnd: 481
    functionName: gost_imit_read
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached:
    - gost_imit_finish
    - buf_cpy
    - buf_put_le32
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t gost_imit_read (gcry_mac_hd_t h, unsigned char *outbuf,
      size_t * outlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gost_imit_finish
      Src: /src/libgcrypt/cipher/gost28147.c:491,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/gost28147.c:493,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/gost28147.c:494,1
    - Dst: buf_eq_const
      Src: /src/libgcrypt/cipher/gost28147.c:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - h
    - buf
    - buflen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 483
    functionDepth: 6
    functionLinenumber: 483
    functionLinenumberEnd: 498
    functionName: gost_imit_verify
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached:
    - gost_imit_finish
    - buf_put_le32
    - buf_eq_const
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t gost_imit_verify (gcry_mac_hd_t h, const unsigned char
      *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 505
    functionName: gost_imit_get_maclen
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gost_imit_get_maclen (int algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 513
    functionName: gost_imit_get_keylen
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gost_imit_get_keylen (int algo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gost_set_sbox
      Src: /src/libgcrypt/cipher/gost28147.c:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - hd
    - what
    - buffer
    - buflen
    argTypes:
    - gcry_mac_hd_t
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 534
    functionName: gost_imit_set_extra_info
    functionSourceFile: /src/libgcrypt/cipher/gost28147.c
    functionUses: 0
    functionsReached:
    - gost_set_sbox
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gost_imit_set_extra_info (gcry_mac_hd_t hd, int what,
      const void *buffer, size_t buflen)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blocksize_shift
      Src: /src/libgcrypt/cipher/cipher-ctr.c:42,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/cipher-ctr.c:55,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/cipher-ctr.c:58,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cipher-ctr.c:76,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cipher-ctr.c:87,1
    - Dst: gcry_cipher_hd_t::bulk::ctr16be_enc
      Src: /src/libgcrypt/cipher/cipher-ctr.c:90,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/cipher-ctr.c:96,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/cipher-ctr.c:98,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cipher-ctr.c:101,1
    - Dst: cipher_block_add
      Src: /src/libgcrypt/cipher/cipher-ctr.c:102,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-ctr.c:104,1
    - Dst: enc_fn
      Src: /src/libgcrypt/cipher/cipher-ctr.c:124,1
    - Dst: cipher_block_add
      Src: /src/libgcrypt/cipher/cipher-ctr.c:127,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-ctr.c:131,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/cipher-ctr.c:142,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-ctr.c:152,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-ctr.c:154,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-ctr.c:158,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 6
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    - algo_context
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 161
    functionName: _gcry_cipher_ctr_encrypt_ctx
    functionSourceFile: /src/libgcrypt/cipher/cipher-ctr.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor
    - gcry_assert
    - cipher_block_add
    - buf_xor
    - buf_get_be32
    - gcry_cipher_hd_t::bulk::ctr16be_enc
    - wipememory
    - buf_cpy
    - _gcry_burn_stack
    - _gcry_blocksize_shift
    - enc_fn
    - cipher_block_cpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_ctr_encrypt_ctx (gcry_cipher_hd_t c,\n\t\t\t
      \     unsigned char *outbuf, size_t outbuflen,\n\t\t\t      const unsigned char
      *inbuf, size_t inbuflen,\n\t\t\t      void *algo_context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_ctr_encrypt_ctx
      Src: /src/libgcrypt/cipher/cipher-ctr.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: _gcry_cipher_ctr_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-ctr.c
    functionUses: 5
    functionsReached:
    - _gcry_cipher_ctr_encrypt_ctx
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_ctr_encrypt (gcry_cipher_hd_t c,\n\t\t\t
      \ unsigned char *outbuf, size_t outbuflen,\n\t\t\t  const unsigned char *inbuf,
      size_t inbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-misc.c:41,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-misc.c:42,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-misc.c:43,1
    - Dst: _gcry_mpi_point_free_parts
      Src: /src/libgcrypt/cipher/ecc-misc.c:44,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-misc.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - E
    argTypes:
    - elliptic_curve_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: _gcry_ecc_curve_free
    functionSourceFile: /src/libgcrypt/cipher/ecc-misc.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_point_free_parts
    - mpi_free
    linkageType: ''
    returnType: void
    signature: void _gcry_ecc_curve_free (elliptic_curve_t *E)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/ecc-misc.c:60,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/ecc-misc.c:61,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/ecc-misc.c:62,1
    - Dst: _gcry_mpi_point_init
      Src: /src/libgcrypt/cipher/ecc-misc.c:63,1
    - Dst: point_set
      Src: /src/libgcrypt/cipher/ecc-misc.c:64,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/ecc-misc.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - E
    argTypes:
    - elliptic_curve_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: _gcry_ecc_curve_copy
    functionSourceFile: /src/libgcrypt/cipher/ecc-misc.c
    functionUses: 0
    functionsReached:
    - mpi_copy
    - _gcry_mpi_point_init
    - point_set
    linkageType: ''
    returnType: elliptic_curve_t
    signature: elliptic_curve_t _gcry_ecc_curve_copy (elliptic_curve_t E)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - model
    argTypes:
    - enum gcry_mpi_ec_models
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: _gcry_ecc_model2str
    functionSourceFile: /src/libgcrypt/cipher/ecc-misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_ecc_model2str (enum gcry_mpi_ec_models model)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - dialect
    argTypes:
    - enum ecc_dialects
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: _gcry_ecc_dialect2str
    functionSourceFile: /src/libgcrypt/cipher/ecc-misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_ecc_dialect2str (enum ecc_dialects dialect)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/ecc-misc.c:114,1
    - Dst: xmalloc
      Src: /src/libgcrypt/cipher/ecc-misc.c:118,1
    - Dst: _gcry_mpi_print
      Src: /src/libgcrypt/cipher/ecc-misc.c:121,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/ecc-misc.c:123,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/ecc-misc.c:123,1
    - Dst: memmove
      Src: /src/libgcrypt/cipher/ecc-misc.c:126,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/ecc-misc.c:127,1
    - Dst: _gcry_mpi_print
      Src: /src/libgcrypt/cipher/ecc-misc.c:130,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/ecc-misc.c:132,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/ecc-misc.c:132,1
    - Dst: memmove
      Src: /src/libgcrypt/cipher/ecc-misc.c:135,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/ecc-misc.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - x
    - y
    - p
    - r_length
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 141
    functionName: _gcry_ecc_ec2os_buf
    functionSourceFile: /src/libgcrypt/cipher/ecc-misc.c
    functionUses: 0
    functionsReached:
    - memmove
    - log_fatal
    - _gcry_mpi_print
    - xmalloc
    - gpg_strerror
    - memset
    - mpi_get_nbits
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\n_gcry_ecc_ec2os_buf (gcry_mpi_t x, gcry_mpi_t y,
      gcry_mpi_t p,\n                     unsigned int *r_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ecc_ec2os_buf
      Src: /src/libgcrypt/cipher/ecc-misc.c:150,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/ecc-misc.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - y
    - p
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: _gcry_ecc_ec2os
    functionSourceFile: /src/libgcrypt/cipher/ecc-misc.c
    functionUses: 0
    functionsReached:
    - mpi_set_opaque
    - _gcry_ecc_ec2os_buf
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_ecc_ec2os (gcry_mpi_t x, gcry_mpi_t y, gcry_mpi_t
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-misc.c:162,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-misc.c:163,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc-misc.c:164,1
    - Dst: _gcry_ecc_ec2os
      Src: /src/libgcrypt/cipher/ecc-misc.c:167,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-misc.c:168,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-misc.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - point
    - ec
    argTypes:
    - gcry_mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 172
    functionName: _gcry_mpi_ec_ec2os
    functionSourceFile: /src/libgcrypt/cipher/ecc-misc.c
    functionUses: 0
    functionsReached:
    - _gcry_ecc_ec2os
    - _gcry_mpi_ec_get_affine
    - mpi_free
    - mpi_new
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_mpi_ec_ec2os (gcry_mpi_point_t point, mpi_ec_t ec)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/ecc-misc.c:187,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/ecc-misc.c:191,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/ecc-misc.c:199,1
    - Dst: xmalloc
      Src: /src/libgcrypt/cipher/ecc-misc.c:200,1
    - Dst: _gcry_mpi_print
      Src: /src/libgcrypt/cipher/ecc-misc.c:201,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-misc.c:204,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-misc.c:212,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/cipher/ecc-misc.c:223,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-misc.c:225,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/ecc-misc.c:230,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-misc.c:231,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-misc.c:239,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-misc.c:240,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-misc.c:241,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-misc.c:242,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/ecc-misc.c:245,1
    - Dst: mpi_const
      Src: /src/libgcrypt/cipher/ecc-misc.c:245,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/ecc-misc.c:246,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/cipher/ecc-misc.c:247,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/ecc-misc.c:248,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/cipher/ecc-misc.c:249,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/ecc-misc.c:250,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/cipher/ecc-misc.c:251,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/cipher/ecc-misc.c:259,1
    - Dst: _gcry_mpi_add_ui
      Src: /src/libgcrypt/cipher/ecc-misc.c:260,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/ecc-misc.c:262,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/cipher/ecc-misc.c:264,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/ecc-misc.c:265,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-misc.c:267,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-misc.c:268,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-misc.c:269,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-misc.c:275,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/ecc-misc.c:279,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-misc.c:282,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/ecc-misc.c:285,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-misc.c:286,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-misc.c:289,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-misc.c:295,1
    - Dst: mpi_set
      Src: /src/libgcrypt/cipher/ecc-misc.c:299,1
    - Dst: mpi_set
      Src: /src/libgcrypt/cipher/ecc-misc.c:300,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/ecc-misc.c:301,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-misc.c:303,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-misc.c:304,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 78
    argCount: 3
    argNames:
    - value
    - ec
    - result
    argTypes:
    - gcry_mpi_t
    - mpi_ec_t
    - mpi_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 307
    functionName: _gcry_ecc_sec_decodepoint
    functionSourceFile: /src/libgcrypt/cipher/ecc-misc.c
    functionUses: 0
    functionsReached:
    - mpi_rshift
    - mpi_free
    - _gcry_mpi_add_ui
    - mpi_set
    - xmalloc
    - mpi_add
    - mpi_mul
    - mpi_test_bit
    - mpi_powm
    - mpi_mod
    - _gcry_mpi_print
    - mpi_new
    - xfree
    - _gcry_mpi_scan
    - mpi_get_opaque
    - mpi_get_nbits
    - mpi_const
    - mpi_set_ui
    - mpi_sub
    - mpi_is_opaque
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_ecc_sec_decodepoint (gcry_mpi_t value, mpi_ec_t
      ec, mpi_point_t result)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ecc_eddsa_compute_h_d
      Src: /src/libgcrypt/cipher/ecc-misc.c:338,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/ecc-misc.c:341,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/ecc-misc.c:342,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-misc.c:343,1
    - Dst: mpi_point_new
      Src: /src/libgcrypt/cipher/ecc-misc.c:347,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-misc.c:349,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-misc.c:350,1
    - Dst: mpi_point_new
      Src: /src/libgcrypt/cipher/ecc-misc.c:355,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-misc.c:357,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 2
    argNames:
    - Q
    - ec
    argTypes:
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 361
    functionName: _gcry_ecc_compute_public
    functionSourceFile: /src/libgcrypt/cipher/ecc-misc.c
    functionUses: 0
    functionsReached:
    - mpi_free
    - _gcry_mpi_ec_mul_point
    - mpi_snew
    - _gcry_ecc_eddsa_compute_h_d
    - xfree
    - _gcry_mpi_set_buffer
    - mpi_point_new
    linkageType: ''
    returnType: mpi_point_t
    signature: mpi_point_t _gcry_ecc_compute_public (mpi_point_t Q, mpi_ec_t ec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_get_buffer_extra
      Src: /src/libgcrypt/cipher/ecc-misc.c:372,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-misc.c:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - x
    - nbits
    - with_prefix
    - r_buffer
    - r_buflen
    argTypes:
    - gcry_mpi_t
    - unsigned int
    - int
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 386
    functionName: _gcry_ecc_mont_encodepoint
    functionSourceFile: /src/libgcrypt/cipher/ecc-misc.c
    functionUses: 0
    functionsReached:
    - gpg_err_code_from_syserror
    - _gcry_mpi_get_buffer_extra
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_mont_encodepoint (gcry_mpi_t x, unsigned
      int nbits,\n                            int with_prefix,\n                            unsigned
      char **r_buffer, unsigned int *r_buflen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/ecc-misc.c:413,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/ecc-misc.c:418,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/ecc-misc.c:432,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-misc.c:434,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/ecc-misc.c:442,1
    - Dst: _gcry_mpi_get_buffer
      Src: /src/libgcrypt/cipher/ecc-misc.c:448,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-misc.c:450,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-misc.c:453,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/ecc-misc.c:467,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-misc.c:468,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/ecc-misc.c:469,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - pk
    - ec
    - result
    argTypes:
    - gcry_mpi_t
    - mpi_ec_t
    - mpi_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 472
    functionName: _gcry_ecc_mont_decodepoint
    functionSourceFile: /src/libgcrypt/cipher/ecc-misc.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_get_buffer
    - gpg_err_code_from_syserror
    - memset
    - xfree
    - _gcry_mpi_set_buffer
    - mpi_set_ui
    - mpi_get_opaque
    - xtrymalloc
    - mpi_is_opaque
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_ecc_mont_decodepoint (gcry_mpi_t pk, mpi_ec_t
      ec, mpi_point_t result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - c
    - Ls
    - blkn
    argTypes:
    - gcry_cipher_hd_t
    - ocb_L_uintptr_t[]
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 66
    functionName: bulk_ocb_prepare_L_pointers_array_blk64
    functionSourceFile: /src/libgcrypt/cipher/bulkhelp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ocb_L_uintptr_t
    signature: "ocb_L_uintptr_t *\nbulk_ocb_prepare_L_pointers_array_blk64 (gcry_cipher_hd_t
      c,\n                                         ocb_L_uintptr_t Ls[64], u64 blkn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - c
    - Ls
    - blkn
    argTypes:
    - gcry_cipher_hd_t
    - ocb_L_uintptr_t[]
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 91
    functionName: bulk_ocb_prepare_L_pointers_array_blk32
    functionSourceFile: /src/libgcrypt/cipher/bulkhelp.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ocb_L_uintptr_t
    signature: "ocb_L_uintptr_t *\nbulk_ocb_prepare_L_pointers_array_blk32 (gcry_cipher_hd_t
      c,\n                                         ocb_L_uintptr_t Ls[32], u64 blkn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - c
    - Ls
    - blkn
    argTypes:
    - gcry_cipher_hd_t
    - ocb_L_uintptr_t[]
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 114
    functionName: bulk_ocb_prepare_L_pointers_array_blk16
    functionSourceFile: /src/libgcrypt/cipher/bulkhelp.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ocb_L_uintptr_t
    signature: "ocb_L_uintptr_t *\nbulk_ocb_prepare_L_pointers_array_blk16 (gcry_cipher_hd_t
      c,\n                                         ocb_L_uintptr_t Ls[16], u64 blkn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - c
    - Ls
    - blkn
    argTypes:
    - gcry_cipher_hd_t
    - ocb_L_uintptr_t[]
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: bulk_ocb_prepare_L_pointers_array_blk8
    functionSourceFile: /src/libgcrypt/cipher/bulkhelp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ocb_L_uintptr_t
    signature: "ocb_L_uintptr_t *\nbulk_ocb_prepare_L_pointers_array_blk8 (gcry_cipher_hd_t
      c,\n                                        ocb_L_uintptr_t Ls[8], u64 blkn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/bulkhelp.h:154,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/bulkhelp.h:157,1
    - Dst: cipher_block_add_be16
      Src: /src/libgcrypt/cipher/bulkhelp.h:158,1
    - Dst: cipher_block_add_be16
      Src: /src/libgcrypt/cipher/bulkhelp.h:160,1
    - Dst: crypt_fn
      Src: /src/libgcrypt/cipher/bulkhelp.h:162,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/bulkhelp.h:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 9
    argNames:
    - priv
    - crypt_fn
    - outbuf
    - inbuf
    - nblocks
    - ctr
    - tmpbuf
    - tmpbuf_nblocks
    - num_used_tmpblocks
    argTypes:
    - void*
    - bulk_crypt_fn_t
    - byte*
    - byte*
    - size_t
    - byte*
    - byte*
    - size_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 177
    functionName: bulk_ctr_enc_128
    functionSourceFile: /src/libgcrypt/cipher/bulkhelp.h
    functionUses: 1
    functionsReached:
    - crypt_fn
    - cipher_block_xor
    - cipher_block_add_be16
    - cipher_block_cpy
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int bulk_ctr_enc_128 (void *priv, bulk_crypt_fn_t crypt_fn,
      byte *outbuf,\n                  const byte *inbuf, size_t nblocks, byte *ctr,\n
      \                 byte *tmpbuf, size_t tmpbuf_nblocks,\n                  unsigned
      int *num_used_tmpblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/bulkhelp.h:193,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/bulkhelp.h:194,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/bulkhelp.h:200,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/bulkhelp.h:206,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/bulkhelp.h:207,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/bulkhelp.h:209,1
    - Dst: crypt_fn
      Src: /src/libgcrypt/cipher/bulkhelp.h:211,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/bulkhelp.h:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 9
    argNames:
    - priv
    - crypt_fn
    - outbuf
    - inbuf
    - nblocks
    - ctr
    - tmpbuf
    - tmpbuf_nblocks
    - num_used_tmpblocks
    argTypes:
    - void*
    - bulk_crypt_fn_t
    - byte*
    - byte*
    - size_t
    - byte*
    - byte*
    - size_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 226
    functionName: bulk_ctr32le_enc_128
    functionSourceFile: /src/libgcrypt/cipher/bulkhelp.h
    functionUses: 1
    functionsReached:
    - cipher_block_xor
    - buf_get_le64
    - buf_put_he64
    - cipher_block_cpy
    - crypt_fn
    - buf_get_he64
    - buf_put_le32
    - buf_put_le64
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int bulk_ctr32le_enc_128 (void *priv, bulk_crypt_fn_t crypt_fn,
      byte *outbuf,\n                      const byte *inbuf, size_t nblocks, byte
      *ctr,\n                      byte *tmpbuf, size_t tmpbuf_nblocks,\n                      unsigned
      int *num_used_tmpblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypt_fn
      Src: /src/libgcrypt/cipher/bulkhelp.h:247,1
    - Dst: cipher_block_xor_n_copy_2
      Src: /src/libgcrypt/cipher/bulkhelp.h:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 9
    argNames:
    - priv
    - crypt_fn
    - outbuf
    - inbuf
    - nblocks
    - iv
    - tmpbuf
    - tmpbuf_nblocks
    - num_used_tmpblocks
    argTypes:
    - void*
    - bulk_crypt_fn_t
    - byte*
    - byte*
    - size_t
    - byte*
    - byte*
    - size_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 262
    functionName: bulk_cbc_dec_128
    functionSourceFile: /src/libgcrypt/cipher/bulkhelp.h
    functionUses: 1
    functionsReached:
    - crypt_fn
    - cipher_block_xor_n_copy_2
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int bulk_cbc_dec_128 (void *priv, bulk_crypt_fn_t crypt_fn,
      byte *outbuf,\n                  const byte *inbuf, size_t nblocks, byte *iv,\n
      \                 byte *tmpbuf, size_t tmpbuf_nblocks,\n                  unsigned
      int *num_used_tmpblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/bulkhelp.h:283,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/bulkhelp.h:285,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/bulkhelp.h:286,1
    - Dst: crypt_fn
      Src: /src/libgcrypt/cipher/bulkhelp.h:288,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/bulkhelp.h:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 9
    argNames:
    - priv
    - crypt_fn
    - outbuf
    - inbuf
    - nblocks
    - iv
    - tmpbuf
    - tmpbuf_nblocks
    - num_used_tmpblocks
    argTypes:
    - void*
    - bulk_crypt_fn_t
    - byte*
    - byte*
    - size_t
    - byte*
    - byte*
    - size_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 303
    functionName: bulk_cfb_dec_128
    functionSourceFile: /src/libgcrypt/cipher/bulkhelp.h
    functionUses: 1
    functionsReached:
    - crypt_fn
    - cipher_block_xor
    - memcpy
    - cipher_block_cpy
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int bulk_cfb_dec_128 (void *priv, bulk_crypt_fn_t crypt_fn,
      byte *outbuf,\n                  const byte *inbuf, size_t nblocks, byte *iv,\n
      \                 byte *tmpbuf, size_t tmpbuf_nblocks,\n                  unsigned
      int *num_used_tmpblocks)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/bulkhelp.h:326,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/bulkhelp.h:330,1
    - Dst: cipher_block_xor_2dst
      Src: /src/libgcrypt/cipher/bulkhelp.h:333,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/bulkhelp.h:334,1
    - Dst: crypt_fn
      Src: /src/libgcrypt/cipher/bulkhelp.h:339,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/bulkhelp.h:344,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/bulkhelp.h:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 11
    argNames:
    - c
    - priv
    - crypt_fn
    - outbuf
    - inbuf
    - nblocks
    - blkn
    - encrypt
    - tmpbuf
    - tmpbuf_nblocks
    - num_used_tmpblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - bulk_crypt_fn_t
    - byte*
    - byte*
    - size_t
    - u64*
    - int
    - byte*
    - size_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 358
    functionName: bulk_ocb_crypt_128
    functionSourceFile: /src/libgcrypt/cipher/bulkhelp.h
    functionUses: 1
    functionsReached:
    - cipher_block_xor
    - crypt_fn
    - cipher_block_xor_1
    - cipher_block_xor_2dst
    - ocb_get_l
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int bulk_ocb_crypt_128 (gcry_cipher_hd_t c, void *priv, bulk_crypt_fn_t
      crypt_fn,\n                    byte *outbuf, const byte *inbuf, size_t nblocks,
      u64 *blkn,\n                    int encrypt, byte *tmpbuf, size_t tmpbuf_nblocks,\n
      \                   unsigned int *num_used_tmpblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/bulkhelp.h:380,1
    - Dst: cipher_block_xor_2dst
      Src: /src/libgcrypt/cipher/bulkhelp.h:383,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/bulkhelp.h:385,1
    - Dst: crypt_fn
      Src: /src/libgcrypt/cipher/bulkhelp.h:389,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/bulkhelp.h:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 9
    argNames:
    - c
    - priv
    - crypt_fn
    - abuf
    - nblocks
    - blkn
    - tmpbuf
    - tmpbuf_nblocks
    - num_used_tmpblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - bulk_crypt_fn_t
    - byte*
    - size_t
    - u64*
    - byte*
    - size_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 403
    functionName: bulk_ocb_auth_128
    functionSourceFile: /src/libgcrypt/cipher/bulkhelp.h
    functionUses: 1
    functionsReached:
    - cipher_block_xor_2dst
    - crypt_fn
    - ocb_get_l
    - cipher_block_xor_1
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int bulk_ocb_auth_128 (gcry_cipher_hd_t c, void *priv, bulk_crypt_fn_t
      crypt_fn,\n                   const byte *abuf, size_t nblocks, u64 *blkn, byte
      *tmpbuf,\n                   size_t tmpbuf_nblocks, unsigned int *num_used_tmpblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/bulkhelp.h:417,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/bulkhelp.h:418,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/bulkhelp.h:439,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/bulkhelp.h:440,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/bulkhelp.h:441,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/bulkhelp.h:442,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/bulkhelp.h:443,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/bulkhelp.h:444,1
    - Dst: crypt_fn
      Src: /src/libgcrypt/cipher/bulkhelp.h:447,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/bulkhelp.h:453,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/bulkhelp.h:454,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/bulkhelp.h:455,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/bulkhelp.h:456,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/bulkhelp.h:457,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/bulkhelp.h:458,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/bulkhelp.h:466,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/bulkhelp.h:467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 9
    argNames:
    - priv
    - crypt_fn
    - outbuf
    - inbuf
    - nblocks
    - tweak
    - tmpbuf
    - tmpbuf_nblocks
    - num_used_tmpblocks
    argTypes:
    - void*
    - bulk_crypt_fn_t
    - byte*
    - byte*
    - size_t
    - byte*
    - byte*
    - size_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 471
    functionName: bulk_xts_crypt_128
    functionSourceFile: /src/libgcrypt/cipher/bulkhelp.h
    functionUses: 1
    functionsReached:
    - buf_get_le64
    - buf_put_he64
    - crypt_fn
    - buf_get_he64
    - buf_put_le64
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int bulk_xts_crypt_128 (void *priv, bulk_crypt_fn_t crypt_fn,
      byte *outbuf,\n                    const byte *inbuf, size_t nblocks, byte *tweak,\n
      \                   byte *tmpbuf, size_t tmpbuf_nblocks,\n                    unsigned
      int *num_used_tmpblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypt_fn
      Src: /src/libgcrypt/cipher/bulkhelp.h:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - priv
    - crypt_fn
    - outbuf
    - inbuf
    - nblocks
    - fn_max_nblocks
    argTypes:
    - void*
    - bulk_crypt_fn_t
    - byte*
    - byte*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 491
    functionName: bulk_ecb_crypt_128
    functionSourceFile: /src/libgcrypt/cipher/bulkhelp.h
    functionUses: 1
    functionsReached:
    - crypt_fn
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int bulk_ecb_crypt_128 (void *priv, bulk_crypt_fn_t crypt_fn,
      byte *outbuf,\n\t\t    const byte *inbuf, size_t nblocks, size_t fn_max_nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - b
    argTypes:
    - u64[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: double_block
    functionSourceFile: /src/libgcrypt/cipher/cipher-ocb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void double_block (u64 b[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-ocb.c:79,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-ocb.c:80,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-ocb.c:82,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-ocb.c:84,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-ocb.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - d
    - s
    - bitoff
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: bit_copy
    functionSourceFile: /src/libgcrypt/cipher/cipher-ocb.c
    functionUses: 0
    functionsReached:
    - buf_get_be64
    - buf_put_be64
    linkageType: ''
    returnType: void
    signature: void bit_copy (unsigned char d[16], const unsigned char s[24], unsigned
      int bitoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctz64
      Src: /src/libgcrypt/cipher/cipher-ocb.c:93,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/cipher-ocb.c:96,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-ocb.c:98,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-ocb.c:99,1
    - Dst: double_block
      Src: /src/libgcrypt/cipher/cipher-ocb.c:102,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-ocb.c:104,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-ocb.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - c
    - n
    - l_buf
    argTypes:
    - gcry_cipher_hd_t
    - u64
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: ocb_get_L_big
    functionSourceFile: /src/libgcrypt/cipher/cipher-ocb.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    - buf_get_be64
    - double_block
    - buf_put_be64
    - _gcry_ctz64
    linkageType: ''
    returnType: void
    signature: void ocb_get_L_big (gcry_cipher_hd_t c, u64 n, unsigned char *l_buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-ocb.c:120,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-ocb.c:121,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-ocb.c:124,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-ocb.c:125,1
    - Dst: double_block
      Src: /src/libgcrypt/cipher/cipher-ocb.c:126,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-ocb.c:127,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-ocb.c:128,1
    - Dst: double_block
      Src: /src/libgcrypt/cipher/cipher-ocb.c:130,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-ocb.c:131,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-ocb.c:132,1
    - Dst: double_block
      Src: /src/libgcrypt/cipher/cipher-ocb.c:135,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-ocb.c:136,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-ocb.c:137,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-ocb.c:140,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-ocb.c:144,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-ocb.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 147
    functionName: _gcry_cipher_ocb_setkey
    functionSourceFile: /src/libgcrypt/cipher/cipher-ocb.c
    functionUses: 2
    functionsReached:
    - cipher_block_xor
    - buf_get_be64
    - wipememory
    - _gcry_burn_stack
    - double_block
    - memset
    - buf_put_be64
    - gcry_cipher_hd_t::spec::encrypt
    linkageType: ''
    returnType: void
    signature: void _gcry_cipher_ocb_setkey (gcry_cipher_hd_t c)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-ocb.c:186,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-ocb.c:187,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-ocb.c:192,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cipher-ocb.c:195,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-ocb.c:196,1
    - Dst: bit_copy
      Src: /src/libgcrypt/cipher/cipher-ocb.c:199,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-ocb.c:204,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-ocb.c:207,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-ocb.c:208,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-ocb.c:211,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-ocb.c:231,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-ocb.c:232,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-ocb.c:234,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 3
    argNames:
    - c
    - nonce
    - noncelen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 237
    functionName: _gcry_cipher_ocb_set_nonce
    functionSourceFile: /src/libgcrypt/cipher/cipher-ocb.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor
    - wipememory
    - _gcry_burn_stack
    - buf_cpy
    - memset
    - gcry_cipher_hd_t::spec::encrypt
    - bit_copy
    - cipher_block_cpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_ocb_set_nonce (gcry_cipher_hd_t c, const
      unsigned char *nonce,\n                            size_t noncelen)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-ocb.c:271,1
    - Dst: ocb_get_L_big
      Src: /src/libgcrypt/cipher/cipher-ocb.c:284,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cipher-ocb.c:288,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/cipher-ocb.c:288,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:293,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-ocb.c:295,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-ocb.c:297,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:299,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-ocb.c:308,1
    - Dst: ocb_get_L_big
      Src: /src/libgcrypt/cipher/cipher-ocb.c:327,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:330,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-ocb.c:332,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-ocb.c:334,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:336,1
    - Dst: gcry_cipher_hd_t::bulk::ocb_auth
      Src: /src/libgcrypt/cipher/cipher-ocb.c:355,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/cipher-ocb.c:368,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:371,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/cipher-ocb.c:372,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-ocb.c:375,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-ocb.c:377,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:379,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-ocb.c:394,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/cipher-ocb.c:401,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-ocb.c:404,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 83
    argCount: 3
    argNames:
    - c
    - abuf
    - abuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 407
    functionName: _gcry_cipher_ocb_authenticate
    functionSourceFile: /src/libgcrypt/cipher/cipher-ocb.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor
    - gcry_assert
    - ocb_get_L_big
    - gcry_cipher_hd_t::bulk::ocb_auth
    - _gcry_burn_stack
    - buf_cpy
    - cipher_block_xor_1
    - gcry_cipher_hd_t::spec::encrypt
    - ocb_get_l
    - cipher_block_cpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_ocb_authenticate (gcry_cipher_hd_t c,
      const unsigned char *abuf,\n                               size_t abuflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:430,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-ocb.c:433,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-ocb.c:434,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:437,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-ocb.c:439,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:441,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-ocb.c:451,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 452
    functionName: ocb_aad_finalize
    functionSourceFile: /src/libgcrypt/cipher/cipher-ocb.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor_1
    - _gcry_burn_stack
    - buf_cpy
    - memset
    - gcry_cipher_hd_t::spec::encrypt
    linkageType: ''
    returnType: void
    signature: void ocb_aad_finalize (gcry_cipher_hd_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - chksum
    - plainbuf
    - nblks
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 469
    functionName: ocb_checksum
    functionSourceFile: /src/libgcrypt/cipher/cipher-ocb.c
    functionUses: 4
    functionsReached:
    - cipher_block_xor_1
    linkageType: ''
    returnType: void
    signature: "void ocb_checksum (unsigned char *chksum, const unsigned char *plainbuf,\n
      \             size_t nblks)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ocb_get_L_big
      Src: /src/libgcrypt/cipher/cipher-ocb.c:515,1
    - Dst: ocb_checksum
      Src: /src/libgcrypt/cipher/cipher-ocb.c:520,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:524,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-ocb.c:526,1
    - Dst: crypt_fn
      Src: /src/libgcrypt/cipher/cipher-ocb.c:527,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:529,1
    - Dst: ocb_checksum
      Src: /src/libgcrypt/cipher/cipher-ocb.c:534,1
    - Dst: gcry_cipher_hd_t::bulk::ocb_crypt
      Src: /src/libgcrypt/cipher/cipher-ocb.c:563,1
    - Dst: ocb_checksum
      Src: /src/libgcrypt/cipher/cipher-ocb.c:580,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/cipher-ocb.c:588,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:591,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/cipher-ocb.c:592,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-ocb.c:595,1
    - Dst: crypt_fn
      Src: /src/libgcrypt/cipher/cipher-ocb.c:596,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:598,1
    - Dst: ocb_checksum
      Src: /src/libgcrypt/cipher/cipher-ocb.c:610,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:624,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-ocb.c:626,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-ocb.c:633,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-ocb.c:634,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:636,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/cipher-ocb.c:638,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cipher-ocb.c:644,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-ocb.c:645,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:646,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-ocb.c:648,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:650,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-ocb.c:658,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:660,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-ocb.c:662,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-ocb.c:672,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 99
    argCount: 6
    argNames:
    - c
    - encrypt
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 473
    functionDepth: 4
    functionLinenumber: 473
    functionLinenumberEnd: 675
    functionName: ocb_crypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-ocb.c
    functionUses: 1
    functionsReached:
    - ocb_checksum
    - cipher_block_xor
    - gcry_assert
    - ocb_get_L_big
    - crypt_fn
    - buf_xor
    - _gcry_burn_stack
    - buf_cpy
    - memset
    - cipher_block_xor_1
    - gcry_cipher_hd_t::spec::encrypt
    - ocb_get_l
    - cipher_block_cpy
    - gcry_cipher_hd_t::bulk::ocb_crypt
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t ocb_crypt (gcry_cipher_hd_t c, int encrypt,\n           unsigned
      char *outbuf, size_t outbuflen,\n           const unsigned char *inbuf, size_t
      inbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ocb_crypt
      Src: /src/libgcrypt/cipher/cipher-ocb.c:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 682
    functionDepth: 5
    functionLinenumber: 682
    functionLinenumberEnd: 689
    functionName: _gcry_cipher_ocb_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-ocb.c
    functionUses: 0
    functionsReached:
    - ocb_crypt
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_ocb_encrypt (gcry_cipher_hd_t c,\n                          unsigned
      char *outbuf, size_t outbuflen,\n                          const unsigned char
      *inbuf, size_t inbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ocb_crypt
      Src: /src/libgcrypt/cipher/cipher-ocb.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 696
    functionDepth: 5
    functionLinenumber: 696
    functionLinenumberEnd: 702
    functionName: _gcry_cipher_ocb_decrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-ocb.c
    functionUses: 0
    functionsReached:
    - ocb_crypt
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_ocb_decrypt (gcry_cipher_hd_t c,\n                          unsigned
      char *outbuf, size_t outbuflen,\n                          const unsigned char
      *inbuf, size_t inbuflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ocb_aad_finalize
      Src: /src/libgcrypt/cipher/cipher-ocb.c:713,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-ocb.c:714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 708
    functionDepth: 4
    functionLinenumber: 708
    functionLinenumberEnd: 718
    functionName: compute_tag_if_needed
    functionSourceFile: /src/libgcrypt/cipher/cipher-ocb.c
    functionUses: 0
    functionsReached:
    - ocb_aad_finalize
    - cipher_block_xor_1
    linkageType: ''
    returnType: void
    signature: void compute_tag_if_needed (gcry_cipher_hd_t c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compute_tag_if_needed
      Src: /src/libgcrypt/cipher/cipher-ocb.c:733,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-ocb.c:735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - c
    - outtag
    - outtagsize
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 724
    functionDepth: 5
    functionLinenumber: 724
    functionLinenumberEnd: 738
    functionName: _gcry_cipher_ocb_get_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-ocb.c
    functionUses: 0
    functionsReached:
    - compute_tag_if_needed
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_ocb_get_tag (gcry_cipher_hd_t c,\n                          unsigned
      char *outtag, size_t outtagsize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compute_tag_if_needed
      Src: /src/libgcrypt/cipher/cipher-ocb.c:752,1
    - Dst: buf_eq_const
      Src: /src/libgcrypt/cipher/cipher-ocb.c:758,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - c
    - intag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 743
    functionDepth: 5
    functionLinenumber: 743
    functionLinenumberEnd: 763
    functionName: _gcry_cipher_ocb_check_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-ocb.c
    functionUses: 0
    functionsReached:
    - compute_tag_if_needed
    - buf_eq_const
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_ocb_check_tag (gcry_cipher_hd_t c, const
      unsigned char *intag,\n\t\t\t    size_t taglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: buf_get_be32
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 buf_get_be32(const void *_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: buf_get_le32
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 buf_get_le32(const void *_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - _buf
    - val
    argTypes:
    - void*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: buf_put_be32
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buf_put_be32(void *_buf, u32 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - _buf
    - val
    argTypes:
    - void*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: buf_put_le32
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buf_put_le32(void *_buf, u32 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: buf_get_be64
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: u64 buf_get_be64(const void *_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: buf_get_le64
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: u64 buf_get_le64(const void *_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - _buf
    - val
    argTypes:
    - void*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: buf_put_be64
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buf_put_be64(void *_buf, u64 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - _buf
    - val
    argTypes:
    - void*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: buf_put_le64
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buf_put_le64(void *_buf, u64 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: buf_load32_maybe_unaligned
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 buf_load32_maybe_unaligned(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - void*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: buf_store32_maybe_unaligned
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buf_store32_maybe_unaligned(void *buf, u32 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: buf_load64_maybe_unaligned
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: u64 buf_load64_maybe_unaligned(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - void*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: buf_store64_maybe_unaligned
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buf_store64_maybe_unaligned(void *buf, u64 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: buf_load32_maybe_unaligned
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 buf_load32_maybe_unaligned(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - void*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: buf_store32_maybe_unaligned
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buf_store32_maybe_unaligned(void *buf, u32 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: buf_load64_maybe_unaligned
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: u64 buf_load64_maybe_unaligned(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - void*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: buf_store64_maybe_unaligned
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buf_store64_maybe_unaligned(void *buf, u64 val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONSTANT_P
      Src: /src/libgcrypt/cipher/bufhelp.h:215,1
    - Dst: buf_load32_maybe_unaligned
      Src: /src/libgcrypt/cipher/bufhelp.h:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: buf_load32
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 0
    functionsReached:
    - buf_load32_maybe_unaligned
    - CONSTANT_P
    linkageType: ''
    returnType: u32
    signature: u32 buf_load32(const void *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONSTANT_P
      Src: /src/libgcrypt/cipher/bufhelp.h:224,1
    - Dst: buf_store32_maybe_unaligned
      Src: /src/libgcrypt/cipher/bufhelp.h:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - void*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: buf_store32
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 0
    functionsReached:
    - buf_store32_maybe_unaligned
    - CONSTANT_P
    linkageType: ''
    returnType: void
    signature: void buf_store32(void *buf, u32 val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONSTANT_P
      Src: /src/libgcrypt/cipher/bufhelp.h:233,1
    - Dst: buf_load64_maybe_unaligned
      Src: /src/libgcrypt/cipher/bufhelp.h:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: buf_load64
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 0
    functionsReached:
    - buf_load64_maybe_unaligned
    - CONSTANT_P
    linkageType: ''
    returnType: u64
    signature: u64 buf_load64(const void *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONSTANT_P
      Src: /src/libgcrypt/cipher/bufhelp.h:242,1
    - Dst: buf_store64_maybe_unaligned
      Src: /src/libgcrypt/cipher/bufhelp.h:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - void*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: buf_store64
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 0
    functionsReached:
    - buf_store64_maybe_unaligned
    - CONSTANT_P
    linkageType: ''
    returnType: void
    signature: void buf_store64(void *buf, u64 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be_bswap32
      Src: /src/libgcrypt/cipher/bufhelp.h:253,1
    - Dst: buf_load32
      Src: /src/libgcrypt/cipher/bufhelp.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: buf_get_be32
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 10
    functionsReached:
    - be_bswap32
    - buf_load32
    linkageType: ''
    returnType: u32
    signature: u32 buf_get_be32(const void *_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: le_bswap32
      Src: /src/libgcrypt/cipher/bufhelp.h:258,1
    - Dst: buf_load32
      Src: /src/libgcrypt/cipher/bufhelp.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: buf_get_le32
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 16
    functionsReached:
    - le_bswap32
    - buf_load32
    linkageType: ''
    returnType: u32
    signature: u32 buf_get_le32(const void *_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_store32
      Src: /src/libgcrypt/cipher/bufhelp.h:263,1
    - Dst: be_bswap32
      Src: /src/libgcrypt/cipher/bufhelp.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _buf
    - val
    argTypes:
    - void*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: buf_put_be32
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 12
    functionsReached:
    - be_bswap32
    - buf_store32
    linkageType: ''
    returnType: void
    signature: void buf_put_be32(void *_buf, u32 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_store32
      Src: /src/libgcrypt/cipher/bufhelp.h:268,1
    - Dst: le_bswap32
      Src: /src/libgcrypt/cipher/bufhelp.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _buf
    - val
    argTypes:
    - void*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: buf_put_le32
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 12
    functionsReached:
    - le_bswap32
    - buf_store32
    linkageType: ''
    returnType: void
    signature: void buf_put_le32(void *_buf, u32 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be_bswap64
      Src: /src/libgcrypt/cipher/bufhelp.h:276,1
    - Dst: buf_load64
      Src: /src/libgcrypt/cipher/bufhelp.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: buf_get_be64
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 7
    functionsReached:
    - be_bswap64
    - buf_load64
    linkageType: ''
    returnType: u64
    signature: u64 buf_get_be64(const void *_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: le_bswap64
      Src: /src/libgcrypt/cipher/bufhelp.h:281,1
    - Dst: buf_load64
      Src: /src/libgcrypt/cipher/bufhelp.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: buf_get_le64
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 11
    functionsReached:
    - le_bswap64
    - buf_load64
    linkageType: ''
    returnType: u64
    signature: u64 buf_get_le64(const void *_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_store64
      Src: /src/libgcrypt/cipher/bufhelp.h:286,1
    - Dst: be_bswap64
      Src: /src/libgcrypt/cipher/bufhelp.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _buf
    - val
    argTypes:
    - void*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: buf_put_be64
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 7
    functionsReached:
    - buf_store64
    - be_bswap64
    linkageType: ''
    returnType: void
    signature: void buf_put_be64(void *_buf, u64 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_store64
      Src: /src/libgcrypt/cipher/bufhelp.h:291,1
    - Dst: le_bswap64
      Src: /src/libgcrypt/cipher/bufhelp.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _buf
    - val
    argTypes:
    - void*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: buf_put_le64
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 8
    functionsReached:
    - buf_store64
    - le_bswap64
    linkageType: ''
    returnType: void
    signature: void buf_put_le64(void *_buf, u64 val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_constant_p
      Src: /src/libgcrypt/cipher/bufhelp.h:320,1
    - Dst: UNLIKELY
      Src: /src/libgcrypt/cipher/bufhelp.h:322,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/bufhelp.h:324,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/bufhelp.h:331,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/bufhelp.h:331,1
    - Dst: buf_put_he32
      Src: /src/libgcrypt/cipher/bufhelp.h:339,1
    - Dst: buf_get_he32
      Src: /src/libgcrypt/cipher/bufhelp.h:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - _dst
    - _src
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 348
    functionName: buf_cpy
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 20
    functionsReached:
    - buf_get_he32
    - __builtin_constant_p
    - buf_put_he64
    - buf_get_he64
    - buf_put_he32
    - UNLIKELY
    - memcpy
    linkageType: ''
    returnType: void
    signature: void buf_cpy(void *_dst, const void *_src, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/bufhelp.h:361,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/bufhelp.h:361,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/bufhelp.h:361,1
    - Dst: buf_put_he32
      Src: /src/libgcrypt/cipher/bufhelp.h:370,1
    - Dst: buf_get_he32
      Src: /src/libgcrypt/cipher/bufhelp.h:370,1
    - Dst: buf_get_he32
      Src: /src/libgcrypt/cipher/bufhelp.h:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - _dst
    - _src1
    - _src2
    - len
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 380
    functionName: buf_xor
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 7
    functionsReached:
    - buf_put_he64
    - buf_put_he32
    - buf_get_he32
    - buf_get_he64
    linkageType: ''
    returnType: void
    signature: void buf_xor(void *_dst, const void *_src1, const void *_src2, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/bufhelp.h:394,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/bufhelp.h:394,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/bufhelp.h:395,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/bufhelp.h:396,1
    - Dst: buf_get_he32
      Src: /src/libgcrypt/cipher/bufhelp.h:405,1
    - Dst: buf_get_he32
      Src: /src/libgcrypt/cipher/bufhelp.h:405,1
    - Dst: buf_put_he32
      Src: /src/libgcrypt/cipher/bufhelp.h:406,1
    - Dst: buf_put_he32
      Src: /src/libgcrypt/cipher/bufhelp.h:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - _dst1
    - _dst2
    - _src
    - len
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 417
    functionName: buf_xor_2dst
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 2
    functionsReached:
    - buf_put_he64
    - buf_put_he32
    - buf_get_he32
    - buf_get_he64
    linkageType: ''
    returnType: void
    signature: void buf_xor_2dst(void *_dst1, void *_dst2, const void *_src, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/bufhelp.h:433,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/bufhelp.h:434,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/bufhelp.h:434,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/cipher/bufhelp.h:434,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/cipher/bufhelp.h:435,1
    - Dst: buf_get_he32
      Src: /src/libgcrypt/cipher/bufhelp.h:445,1
    - Dst: buf_put_he32
      Src: /src/libgcrypt/cipher/bufhelp.h:446,1
    - Dst: buf_get_he32
      Src: /src/libgcrypt/cipher/bufhelp.h:446,1
    - Dst: buf_get_he32
      Src: /src/libgcrypt/cipher/bufhelp.h:446,1
    - Dst: buf_put_he32
      Src: /src/libgcrypt/cipher/bufhelp.h:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 5
    argNames:
    - _dst_xor
    - _src_xor
    - _srcdst_cpy
    - _src_cpy
    - len
    argTypes:
    - void*
    - void*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 462
    functionName: buf_xor_n_copy_2
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 0
    functionsReached:
    - buf_put_he64
    - buf_put_he32
    - buf_get_he32
    - buf_get_he64
    linkageType: ''
    returnType: void
    signature: "void buf_xor_n_copy_2(void *_dst_xor, const void *_src_xor, void *_srcdst_cpy,\n\t\t
      const void *_src_cpy, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_xor_n_copy_2
      Src: /src/libgcrypt/cipher/bufhelp.h:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - _dst_xor
    - _srcdst_cpy
    - _src
    - len
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: buf_xor_n_copy
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 1
    functionsReached:
    - buf_xor_n_copy_2
    linkageType: ''
    returnType: void
    signature: void buf_xor_n_copy(void *_dst_xor, void *_srcdst_cpy, const void *_src,
      size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_memequal
      Src: /src/libgcrypt/cipher/bufhelp.h:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: buf_eq_const
    functionSourceFile: /src/libgcrypt/cipher/bufhelp.h
    functionUses: 7
    functionsReached:
    - ct_memequal
    linkageType: ''
    returnType: int
    signature: int buf_eq_const(const void *a, const void *b, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_hash_buffer
      Src: /src/libgcrypt/cipher/sntrup761.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - in
    - inlen
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: crypto_hash_sha512
    functionSourceFile: /src/libgcrypt/cipher/sntrup761.h
    functionUses: 1
    functionsReached:
    - _gcry_md_hash_buffer
    linkageType: ''
    returnType: void
    signature: "void crypto_hash_sha512 (unsigned char *out,\n\t\t    const unsigned
      char *in, size_t inlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cb_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 223
    functionName: _gcry_register_pk_ecc_progress
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gcry_register_pk_ecc_progress (void (*cb) (void *, const char
      *,\n                                            int, int, int),\n                                void
      *cb_data)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc.c:259,1
    - Dst: _gcry_random_bytes_secure
      Src: /src/libgcrypt/cipher/ecc.c:274,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/ecc.c:276,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/ecc.c:279,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/ecc.c:284,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc.c:285,1
    - Dst: _gcry_dsa_gen_k
      Src: /src/libgcrypt/cipher/ecc.c:289,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc.c:292,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:294,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:298,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc.c:299,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/ecc.c:300,1
    - Dst: mpi_point_set
      Src: /src/libgcrypt/cipher/ecc.c:312,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:317,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/ecc.c:320,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/ecc.c:322,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc.c:324,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:330,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:335,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/ecc.c:338,1
    - Dst: mpi_point_set
      Src: /src/libgcrypt/cipher/ecc.c:339,1
    - Dst: mpi_const
      Src: /src/libgcrypt/cipher/ecc.c:339,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:342,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:347,1
    - Dst: mpi_point_set
      Src: /src/libgcrypt/cipher/ecc.c:348,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:350,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc.c:358,1
    - Dst: test_ecdh_only_keys
      Src: /src/libgcrypt/cipher/ecc.c:363,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/ecc.c:364,1
    - Dst: test_keys
      Src: /src/libgcrypt/cipher/ecc.c:365,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 4
    argNames:
    - ec
    - flags
    - r_x
    - r_y
    argTypes:
    - mpi_ec_t
    - int
    - gcry_mpi_t*
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 368
    functionName: nist_generate_key
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 0
    functionsReached:
    - mpi_free
    - mpi_set_opaque
    - _gcry_mpi_ec_mul_point
    - point_init
    - mpi_point_set
    - mpi_cmp
    - test_ecdh_only_keys
    - test_keys
    - _gcry_mpi_ec_get_affine
    - log_debug
    - point_free
    - mpi_snew
    - mpi_new
    - fips_mode
    - xfree
    - _gcry_random_bytes_secure
    - _gcry_dsa_gen_k
    - _gcry_mpi_set_buffer
    - log_fatal
    - mpi_const
    - mpi_sub
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t nist_generate_key (mpi_ec_t ec, int flags,\n                   gcry_mpi_t
      *r_x, gcry_mpi_t *r_y)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:380,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:382,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:383,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:384,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:385,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:388,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc.c:390,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/ecc.c:392,1
    - Dst: _gcry_ecc_ecdsa_sign
      Src: /src/libgcrypt/cipher/ecc.c:394,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/ecc.c:395,1
    - Dst: _gcry_ecc_ecdsa_verify
      Src: /src/libgcrypt/cipher/ecc.c:397,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/ecc.c:399,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:403,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc.c:405,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:406,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:407,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:408,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:409,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ec
    - nbits
    argTypes:
    - mpi_ec_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 411
    functionName: test_keys
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 3
    functionsReached:
    - _gcry_ecc_ecdsa_verify
    - point_free
    - mpi_free
    - _gcry_ecc_ecdsa_sign
    - log_fatal
    - point_init
    - mpi_new
    - _gcry_mpi_randomize
    - log_debug
    linkageType: ''
    returnType: void
    signature: void test_keys (mpi_ec_t ec, unsigned int nbits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_randomize
      Src: /src/libgcrypt/cipher/ecc.c:427,1
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/ecc.c:430,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/ecc.c:433,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/ecc.c:433,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/ecc.c:436,1
    - Dst: _gcry_pk_sign_md
      Src: /src/libgcrypt/cipher/ecc.c:439,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/ecc.c:442,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/ecc.c:442,1
    - Dst: _gcry_pk_verify_md
      Src: /src/libgcrypt/cipher/ecc.c:447,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/ecc.c:450,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/ecc.c:450,1
    - Dst: _gcry_md_reset
      Src: /src/libgcrypt/cipher/ecc.c:455,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/ecc.c:457,1
    - Dst: _gcry_pk_verify_md
      Src: /src/libgcrypt/cipher/ecc.c:458,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/ecc.c:461,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/ecc.c:467,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:468,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - skey
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 470
    functionName: test_keys_fips
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 1
    functionsReached:
    - _gcry_md_reset
    - log_error
    - sexp_release
    - _gcry_pk_sign_md
    - _gcry_md_close
    - _gcry_md_write
    - gpg_strerror
    - _gcry_randomize
    - _gcry_pk_verify_md
    - _gcry_md_open_internal
    linkageType: ''
    returnType: int
    signature: int test_keys_fips (gcry_sexp_t skey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_randomize
      Src: /src/libgcrypt/cipher/ecc.c:483,1
    - Dst: _gcry_pk_single_data_push
      Src: /src/libgcrypt/cipher/ecc.c:485,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/ecc.c:488,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/ecc.c:489,1
    - Dst: _gcry_pk_sign_md
      Src: /src/libgcrypt/cipher/ecc.c:494,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/ecc.c:497,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/ecc.c:497,1
    - Dst: _gcry_pk_verify_md
      Src: /src/libgcrypt/cipher/ecc.c:502,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/ecc.c:505,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/ecc.c:505,1
    - Dst: _gcry_ctx_release
      Src: /src/libgcrypt/cipher/ecc.c:509,1
    - Dst: _gcry_pk_single_data_push
      Src: /src/libgcrypt/cipher/ecc.c:514,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/ecc.c:517,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/ecc.c:518,1
    - Dst: _gcry_pk_verify_md
      Src: /src/libgcrypt/cipher/ecc.c:522,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/ecc.c:525,1
    - Dst: _gcry_ctx_release
      Src: /src/libgcrypt/cipher/ecc.c:531,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:532,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - skey
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 472
    functionDepth: 3
    functionLinenumber: 472
    functionLinenumberEnd: 534
    functionName: test_keys_eddsa_fips
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 0
    functionsReached:
    - log_error
    - sexp_release
    - _gcry_pk_sign_md
    - _gcry_pk_single_data_push
    - gpg_strerror
    - _gcry_randomize
    - _gcry_pk_verify_md
    - _gcry_ctx_release
    linkageType: ''
    returnType: int
    signature: int test_keys_eddsa_fips (gcry_sexp_t skey)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:545,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc.c:547,1
    - Dst: _gcry_random_bytes
      Src: /src/libgcrypt/cipher/ecc.c:555,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/ecc.c:557,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:560,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/ecc.c:565,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc.c:566,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:571,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/ecc.c:572,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:575,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:576,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc.c:579,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc.c:581,1
    - Dst: _gcry_mpi_get_const
      Src: /src/libgcrypt/cipher/ecc.c:581,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc.c:582,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/ecc.c:583,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc.c:585,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc.c:586,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc.c:589,1
    - Dst: _gcry_mpi_get_const
      Src: /src/libgcrypt/cipher/ecc.c:589,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc.c:591,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/ecc.c:592,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc.c:594,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/ecc.c:596,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:599,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:600,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc.c:602,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:603,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - ec
    - nbits
    - flags
    argTypes:
    - mpi_ec_t
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 604
    functionName: test_ecdh_only_keys
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 1
    functionsReached:
    - point_free
    - mpi_free
    - mpi_set_opaque
    - mpi_cmp
    - _gcry_mpi_ec_mul_point
    - _gcry_mpi_get_const
    - log_fatal
    - point_init
    - mpi_new
    - xfree
    - _gcry_mpi_ec_get_affine
    - _gcry_mpi_randomize
    - _gcry_mpi_set_buffer
    - _gcry_random_bytes
    - log_debug
    linkageType: ''
    returnType: void
    signature: void test_ecdh_only_keys (mpi_ec_t ec, unsigned int nbits, int flags)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc.c:620,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:621,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:625,1
    - Dst: _gcry_mpi_ec_curve_point
      Src: /src/libgcrypt/cipher/ecc.c:628,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:631,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc.c:636,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:639,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc.c:646,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc.c:647,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:650,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc.c:656,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:659,1
    - Dst: _gcry_ecc_compute_public
      Src: /src/libgcrypt/cipher/ecc.c:664,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:667,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc.c:670,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:673,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc.c:677,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc.c:680,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc.c:680,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:683,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:690,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:691,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc.c:692,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:695,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc.c:699,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc.c:699,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:702,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:710,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:711,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:712,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:713,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc.c:714,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 77
    argCount: 2
    argNames:
    - ec
    - flags
    argTypes:
    - mpi_ec_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 716
    functionName: check_secret_key
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 2
    functionsReached:
    - point_free
    - _gcry_ecc_compute_public
    - mpi_free
    - mpi_cmp
    - _gcry_mpi_ec_mul_point
    - mpi_cmp_ui
    - point_init
    - mpi_new
    - _gcry_mpi_ec_curve_point
    - _gcry_mpi_ec_get_affine
    - log_debug
    linkageType: ''
    returnType: int
    signature: int check_secret_key (mpi_ec_t ec, int flags)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_ec_internal_new
      Src: /src/libgcrypt/cipher/ecc.c:739,1
    - Dst: _gcry_ecc_eddsa_genkey
      Src: /src/libgcrypt/cipher/ecc.c:745,1
    - Dst: nist_generate_key
      Src: /src/libgcrypt/cipher/ecc.c:747,1
    - Dst: nist_generate_key
      Src: /src/libgcrypt/cipher/ecc.c:749,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:754,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:755,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc.c:758,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/ecc.c:759,1
    - Dst: _gcry_ecc_ec2os
      Src: /src/libgcrypt/cipher/ecc.c:760,1
    - Dst: _gcry_ecc_mont_encodepoint
      Src: /src/libgcrypt/cipher/ecc.c:770,1
    - Dst: _gcry_ecc_eddsa_encodepoint
      Src: /src/libgcrypt/cipher/ecc.c:775,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:781,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/ecc.c:782,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:790,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:791,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc.c:792,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/ecc.c:793,1
    - Dst: _gcry_ecc_ec2os
      Src: /src/libgcrypt/cipher/ecc.c:802,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/ecc.c:806,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/ecc.c:814,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/ecc.c:828,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/ecc.c:841,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/ecc.c:857,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/ecc.c:858,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/ecc.c:859,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/ecc.c:860,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/ecc.c:861,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:862,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/ecc.c:863,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/ecc.c:864,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:866,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/ecc.c:869,1
    - Dst: test_keys_eddsa_fips
      Src: /src/libgcrypt/cipher/ecc.c:874,1
    - Dst: test_keys_fips
      Src: /src/libgcrypt/cipher/ecc.c:876,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:879,1
    - Dst: fips_signal_error
      Src: /src/libgcrypt/cipher/ecc.c:881,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:887,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:888,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:889,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:890,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:891,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:892,1
    - Dst: _gcry_mpi_ec_free
      Src: /src/libgcrypt/cipher/ecc.c:893,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:894,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:895,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 96
    argCount: 2
    argNames:
    - genparms
    - r_skey
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 724
    functionDepth: 4
    functionLinenumber: 724
    functionLinenumberEnd: 897
    functionName: ecc_generate
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 0
    functionsReached:
    - mpi_free
    - test_keys_fips
    - mpi_set_opaque
    - sexp_build
    - sexp_release
    - test_keys_eddsa_fips
    - _gcry_ecc_mont_encodepoint
    - _gcry_ecc_eddsa_genkey
    - _gcry_mpi_ec_internal_new
    - nist_generate_key
    - _gcry_ecc_eddsa_encodepoint
    - log_printmpi
    - _gcry_mpi_ec_get_affine
    - log_debug
    - _gcry_mpi_ec_free
    - fips_mode
    - mpi_new
    - _gcry_ecc_ec2os
    - log_fatal
    - fips_signal_error
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t ecc_generate (const gcry_sexp_t genparms, gcry_sexp_t
      *r_skey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_ec_internal_new
      Src: /src/libgcrypt/cipher/ecc.c:910,1
    - Dst: check_secret_key
      Src: /src/libgcrypt/cipher/ecc.c:919,1
    - Dst: _gcry_mpi_ec_free
      Src: /src/libgcrypt/cipher/ecc.c:923,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:925,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/ecc.c:925,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 1
    argNames:
    - keyparms
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 927
    functionName: ecc_check_secret_key
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_ec_free
    - _gcry_mpi_ec_internal_new
    - gpg_strerror
    - check_secret_key
    - log_debug
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t ecc_check_secret_key (gcry_sexp_t keyparms)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_pk_util_init_encoding_ctx
      Src: /src/libgcrypt/cipher/ecc.c:942,1
    - Dst: _gcry_mpi_ec_internal_new
      Src: /src/libgcrypt/cipher/ecc.c:947,1
    - Dst: _gcry_pk_util_data_to_mpi
      Src: /src/libgcrypt/cipher/ecc.c:964,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc.c:968,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/ecc.c:973,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/ecc.c:975,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/ecc.c:981,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/ecc.c:983,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/ecc.c:988,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/ecc.c:991,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/ecc.c:997,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/ecc.c:1005,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/ecc.c:1011,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/ecc.c:1017,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/ecc.c:1030,1
    - Dst: _gcry_md_algo_info
      Src: /src/libgcrypt/cipher/ecc.c:1032,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/ecc.c:1035,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/ecc.c:1041,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:1046,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:1047,1
    - Dst: _gcry_ecc_eddsa_sign
      Src: /src/libgcrypt/cipher/ecc.c:1051,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/ecc.c:1053,1
    - Dst: _gcry_ecc_gost_sign
      Src: /src/libgcrypt/cipher/ecc.c:1058,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/ecc.c:1060,1
    - Dst: _gcry_ecc_sm2_sign
      Src: /src/libgcrypt/cipher/ecc.c:1065,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/ecc.c:1068,1
    - Dst: _gcry_ecc_ecdsa_sign
      Src: /src/libgcrypt/cipher/ecc.c:1073,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/ecc.c:1076,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:1081,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:1082,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:1083,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:1084,1
    - Dst: _gcry_mpi_ec_free
      Src: /src/libgcrypt/cipher/ecc.c:1085,1
    - Dst: _gcry_pk_util_free_encoding_ctx
      Src: /src/libgcrypt/cipher/ecc.c:1086,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:1088,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/ecc.c:1088,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 104
    argCount: 3
    argNames:
    - r_sig
    - s_data
    - keyparms
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 930
    functionDepth: 3
    functionLinenumber: 930
    functionLinenumberEnd: 1090
    functionName: ecc_sign
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 0
    functionsReached:
    - fips_check_rejection
    - log_mpidump
    - sexp_build
    - _gcry_ecc_ecdsa_sign
    - fips_service_indicator_mark_non_compliant
    - _gcry_mpi_ec_internal_new
    - _gcry_pk_util_data_to_mpi
    - _gcry_ecc_gost_sign
    - _gcry_ecc_sm2_sign
    - _gcry_ecc_eddsa_sign
    - log_debug
    - _gcry_mpi_ec_free
    - _gcry_pk_util_free_encoding_ctx
    - fips_mode
    - mpi_new
    - gpg_strerror
    - _gcry_md_algo_info
    - _gcry_mpi_scan
    - _gcry_pk_util_init_encoding_ctx
    - _gcry_mpi_release
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t ecc_sign (gcry_sexp_t *r_sig, gcry_sexp_t s_data, gcry_sexp_t
      keyparms)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_pk_util_init_encoding_ctx
      Src: /src/libgcrypt/cipher/ecc.c:1106,1
    - Dst: ecc_get_nbits
      Src: /src/libgcrypt/cipher/ecc.c:1107,1
    - Dst: _gcry_mpi_ec_internal_new
      Src: /src/libgcrypt/cipher/ecc.c:1112,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:1125,1
    - Dst: _gcry_pk_util_data_to_mpi
      Src: /src/libgcrypt/cipher/ecc.c:1138,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/ecc.c:1148,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/ecc.c:1150,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/ecc.c:1156,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc.c:1160,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/ecc.c:1162,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/ecc.c:1165,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/ecc.c:1171,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/ecc.c:1179,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/ecc.c:1185,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/ecc.c:1191,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/ecc.c:1204,1
    - Dst: _gcry_md_algo_info
      Src: /src/libgcrypt/cipher/ecc.c:1206,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/ecc.c:1209,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/ecc.c:1215,1
    - Dst: _gcry_pk_util_preparse_sigval
      Src: /src/libgcrypt/cipher/ecc.c:1223,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/ecc.c:1226,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc.c:1232,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc.c:1233,1
    - Dst: _gcry_ecc_eddsa_verify
      Src: /src/libgcrypt/cipher/ecc.c:1246,1
    - Dst: _gcry_ecc_gost_verify
      Src: /src/libgcrypt/cipher/ecc.c:1250,1
    - Dst: _gcry_ecc_sm2_verify
      Src: /src/libgcrypt/cipher/ecc.c:1254,1
    - Dst: _gcry_ecc_ecdsa_verify
      Src: /src/libgcrypt/cipher/ecc.c:1258,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:1263,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:1264,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:1265,1
    - Dst: _gcry_mpi_ec_free
      Src: /src/libgcrypt/cipher/ecc.c:1266,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:1267,1
    - Dst: _gcry_pk_util_free_encoding_ctx
      Src: /src/libgcrypt/cipher/ecc.c:1268,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:1270,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/ecc.c:1270,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 112
    argCount: 3
    argNames:
    - s_sig
    - s_data
    - s_keyparms
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1093
    functionDepth: 3
    functionLinenumber: 1093
    functionLinenumberEnd: 1272
    functionName: ecc_verify
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 0
    functionsReached:
    - fips_check_rejection
    - log_mpidump
    - sexp_release
    - _gcry_ecc_eddsa_verify
    - _gcry_ecc_gost_verify
    - ecc_get_nbits
    - fips_service_indicator_mark_non_compliant
    - _gcry_mpi_ec_internal_new
    - _gcry_pk_util_data_to_mpi
    - _gcry_pk_util_preparse_sigval
    - log_debug
    - _gcry_ecc_ecdsa_verify
    - _gcry_mpi_ec_free
    - _gcry_pk_util_free_encoding_ctx
    - fips_mode
    - _gcry_ecc_sm2_verify
    - gpg_strerror
    - _gcry_md_algo_info
    - _gcry_pk_util_init_encoding_ctx
    - _gcry_mpi_release
    - sexp_extract_param
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t ecc_verify (gcry_sexp_t s_sig, gcry_sexp_t s_data,
      gcry_sexp_t s_keyparms)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_pk_util_init_encoding_ctx
      Src: /src/libgcrypt/cipher/ecc.c:1316,1
    - Dst: ecc_get_nbits
      Src: /src/libgcrypt/cipher/ecc.c:1317,1
    - Dst: _gcry_mpi_ec_internal_new
      Src: /src/libgcrypt/cipher/ecc.c:1322,1
    - Dst: _gcry_pk_util_data_to_mpi
      Src: /src/libgcrypt/cipher/ecc.c:1339,1
    - Dst: mpi_clear_bit
      Src: /src/libgcrypt/cipher/ecc.c:1352,1
    - Dst: mpi_set_highbit
      Src: /src/libgcrypt/cipher/ecc.c:1353,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc.c:1356,1
    - Dst: _gcry_ecc_sm2_encrypt
      Src: /src/libgcrypt/cipher/ecc.c:1367,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:1379,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:1383,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc.c:1385,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc.c:1388,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc.c:1390,1
    - Dst: _gcry_ecc_ec2os
      Src: /src/libgcrypt/cipher/ecc.c:1409,1
    - Dst: _gcry_ecc_mont_encodepoint
      Src: /src/libgcrypt/cipher/ecc.c:1412,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:1417,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/ecc.c:1418,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc.c:1422,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc.c:1424,1
    - Dst: _gcry_ecc_ec2os
      Src: /src/libgcrypt/cipher/ecc.c:1430,1
    - Dst: _gcry_ecc_mont_encodepoint
      Src: /src/libgcrypt/cipher/ecc.c:1433,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:1438,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/ecc.c:1439,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:1444,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:1445,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc.c:1446,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/ecc.c:1452,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:1455,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:1456,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:1457,1
    - Dst: _gcry_mpi_ec_free
      Src: /src/libgcrypt/cipher/ecc.c:1458,1
    - Dst: _gcry_pk_util_free_encoding_ctx
      Src: /src/libgcrypt/cipher/ecc.c:1459,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:1461,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/ecc.c:1461,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 92
    argCount: 3
    argNames:
    - r_ciph
    - s_data
    - keyparms
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1303
    functionDepth: 4
    functionLinenumber: 1303
    functionLinenumberEnd: 1463
    functionName: ecc_encrypt_raw
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 0
    functionsReached:
    - mpi_free
    - log_mpidump
    - mpi_set_opaque
    - sexp_build
    - _gcry_mpi_ec_mul_point
    - point_init
    - ecc_get_nbits
    - _gcry_ecc_mont_encodepoint
    - _gcry_mpi_ec_internal_new
    - _gcry_pk_util_data_to_mpi
    - _gcry_mpi_ec_get_affine
    - log_debug
    - point_free
    - _gcry_mpi_ec_free
    - _gcry_ecc_sm2_encrypt
    - _gcry_pk_util_free_encoding_ctx
    - mpi_new
    - mpi_set_highbit
    - gpg_strerror
    - _gcry_pk_util_init_encoding_ctx
    - _gcry_ecc_ec2os
    - _gcry_mpi_release
    - mpi_clear_bit
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t ecc_encrypt_raw (gcry_sexp_t *r_ciph, gcry_sexp_t s_data,
      gcry_sexp_t keyparms)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ecc_get_nbits
      Src: /src/libgcrypt/cipher/ecc.c:1488,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc.c:1490,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc.c:1491,1
    - Dst: _gcry_pk_util_init_encoding_ctx
      Src: /src/libgcrypt/cipher/ecc.c:1493,1
    - Dst: _gcry_mpi_ec_internal_new
      Src: /src/libgcrypt/cipher/ecc.c:1498,1
    - Dst: _gcry_pk_util_preparse_encval
      Src: /src/libgcrypt/cipher/ecc.c:1511,1
    - Dst: _gcry_ecc_sm2_decrypt
      Src: /src/libgcrypt/cipher/ecc.c:1517,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/ecc.c:1522,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/ecc.c:1526,1
    - Dst: _gcry_ecc_mont_decodepoint
      Src: /src/libgcrypt/cipher/ecc.c:1538,1
    - Dst: _gcry_ecc_sec_decodepoint
      Src: /src/libgcrypt/cipher/ecc.c:1540,1
    - Dst: log_printpnt
      Src: /src/libgcrypt/cipher/ecc.c:1545,1
    - Dst: _gcry_mpi_ec_bad_point
      Src: /src/libgcrypt/cipher/ecc.c:1556,1
    - Dst: _gcry_mpi_ec_curve_point
      Src: /src/libgcrypt/cipher/ecc.c:1562,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc.c:1569,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:1575,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:1579,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc.c:1581,1
    - Dst: _gcry_ecc_ec2os
      Src: /src/libgcrypt/cipher/ecc.c:1609,1
    - Dst: _gcry_ecc_mont_encodepoint
      Src: /src/libgcrypt/cipher/ecc.c:1616,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:1622,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/ecc.c:1623,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc.c:1626,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:1629,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:1630,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/ecc.c:1633,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/ecc.c:1636,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc.c:1639,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc.c:1640,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:1641,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:1642,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:1643,1
    - Dst: _gcry_mpi_ec_free
      Src: /src/libgcrypt/cipher/ecc.c:1644,1
    - Dst: _gcry_pk_util_free_encoding_ctx
      Src: /src/libgcrypt/cipher/ecc.c:1645,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc.c:1647,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/ecc.c:1647,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 94
    argCount: 3
    argNames:
    - r_plain
    - s_data
    - keyparms
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1473
    functionDepth: 4
    functionLinenumber: 1473
    functionLinenumberEnd: 1649
    functionName: ecc_decrypt_raw
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 0
    functionsReached:
    - mpi_free
    - mpi_set_opaque
    - sexp_build
    - _gcry_mpi_ec_mul_point
    - sexp_release
    - point_init
    - _gcry_mpi_ec_bad_point
    - ecc_get_nbits
    - _gcry_ecc_mont_encodepoint
    - _gcry_pk_util_preparse_encval
    - _gcry_mpi_ec_internal_new
    - _gcry_ecc_mont_decodepoint
    - log_printmpi
    - _gcry_mpi_ec_curve_point
    - _gcry_mpi_ec_get_affine
    - log_debug
    - point_free
    - _gcry_mpi_ec_free
    - gpg_err_code_from_syserror
    - _gcry_pk_util_free_encoding_ctx
    - mpi_new
    - gpg_strerror
    - _gcry_ecc_sm2_decrypt
    - _gcry_pk_util_init_encoding_ctx
    - _gcry_ecc_ec2os
    - _gcry_ecc_sec_decodepoint
    - log_printpnt
    - _gcry_mpi_release
    - sexp_extract_param
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t ecc_decrypt_raw (gcry_sexp_t *r_plain, gcry_sexp_t
      s_data, gcry_sexp_t keyparms)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/ecc.c:1675,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/ecc.c:1678,1
    - Dst: sexp_nth_string
      Src: /src/libgcrypt/cipher/ecc.c:1682,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:1683,1
    - Dst: _gcry_ecc_fill_in_curve
      Src: /src/libgcrypt/cipher/ecc.c:1687,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc.c:1689,1
    - Dst: sexp_nth_mpi
      Src: /src/libgcrypt/cipher/ecc.c:1693,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:1694,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/ecc.c:1697,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:1698,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - parms
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1702
    functionName: ecc_get_nbits
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 3
    functionsReached:
    - _gcry_mpi_release
    - sexp_release
    - sexp_nth_mpi
    - sexp_find_token
    - xfree
    - _gcry_ecc_fill_in_curve
    - sexp_nth_string
    - mpi_get_nbits
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ecc_get_nbits (gcry_sexp_t parms)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/ecc.c:1729,1
    - Dst: _gcry_pk_util_parse_flaglist
      Src: /src/libgcrypt/cipher/ecc.c:1732,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/ecc.c:1739,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/ecc.c:1744,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:1750,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/ecc.c:1751,1
    - Dst: sexp_nth_string
      Src: /src/libgcrypt/cipher/ecc.c:1754,1
    - Dst: _gcry_ecc_update_curve_param
      Src: /src/libgcrypt/cipher/ecc.c:1757,1
    - Dst: _gcry_mpi_normalize
      Src: /src/libgcrypt/cipher/ecc.c:1788,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/ecc.c:1797,1
    - Dst: _gcry_ecc_eddsa_ensure_compact
      Src: /src/libgcrypt/cipher/ecc.c:1799,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/ecc.c:1807,1
    - Dst: _gcry_mpi_set_opaque_copy
      Src: /src/libgcrypt/cipher/ecc.c:1813,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc.c:1814,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/ecc.c:1833,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/ecc.c:1836,1
    - Dst: _gcry_mpi_get_buffer
      Src: /src/libgcrypt/cipher/ecc.c:1841,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc.c:1844,1
    - Dst: _gcry_mpi_ec_internal_new
      Src: /src/libgcrypt/cipher/ecc.c:1864,1
    - Dst: _gcry_mpi_ec_free
      Src: /src/libgcrypt/cipher/ecc.c:1871,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/cipher/ecc.c:1875,1
    - Dst: _gcry_mpi_ec_free
      Src: /src/libgcrypt/cipher/ecc.c:1879,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc.c:1880,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/ecc.c:1886,1
    - Dst: _gcry_mpi_ec_free
      Src: /src/libgcrypt/cipher/ecc.c:1889,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc.c:1890,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:1898,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:1899,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:1900,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc.c:1901,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/ecc.c:1904,1
    - Dst: mpi_const
      Src: /src/libgcrypt/cipher/ecc.c:1904,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/ecc.c:1905,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/cipher/ecc.c:1906,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/ecc.c:1907,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/cipher/ecc.c:1908,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/ecc.c:1909,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/cipher/ecc.c:1910,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/cipher/ecc.c:1918,1
    - Dst: _gcry_mpi_add_ui
      Src: /src/libgcrypt/cipher/ecc.c:1919,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/ecc.c:1921,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/cipher/ecc.c:1923,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/ecc.c:1924,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:1926,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:1927,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:1928,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc.c:1930,1
    - Dst: _gcry_ecc_ec2os_buf
      Src: /src/libgcrypt/cipher/ecc.c:1931,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:1934,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:1935,1
    - Dst: _gcry_mpi_ec_free
      Src: /src/libgcrypt/cipher/ecc.c:1936,1
    - Dst: snprintf
      Src: /src/libgcrypt/cipher/ecc.c:1939,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/ecc.c:1940,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/ecc.c:1940,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/ecc.c:1941,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/ecc.c:1942,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc.c:1943,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc.c:1947,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:1948,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:1950,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 141
    argCount: 2
    argNames:
    - md
    - keyparms
    argTypes:
    - gcry_md_hd_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1706
    functionDepth: 3
    functionLinenumber: 1706
    functionLinenumberEnd: 1954
    functionName: compute_keygrip
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_get_buffer
    - mpi_rshift
    - mpi_free
    - _gcry_mpi_add_ui
    - strlen
    - _gcry_mpi_normalize
    - sexp_release
    - sexp_find_token
    - _gcry_ecc_eddsa_ensure_compact
    - _gcry_mpi_set_opaque_copy
    - mpi_add
    - _gcry_mpi_ec_internal_new
    - mpi_mul
    - _gcry_ecc_update_curve_param
    - _gcry_ecc_ec2os_buf
    - mpi_test_bit
    - mpi_powm
    - _gcry_mpi_ec_free
    - gpg_err_code_from_syserror
    - mpi_sub
    - mpi_mod
    - mpi_new
    - xfree
    - _gcry_mpi_scan
    - sexp_nth_string
    - mpi_get_opaque
    - mpi_get_nbits
    - _gcry_mpi_release
    - snprintf
    - _gcry_md_write
    - mpi_const
    - sexp_extract_param
    - _gcry_pk_util_parse_flaglist
    - mpi_is_opaque
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t compute_keygrip (gcry_md_hd_t md, gcry_sexp_t keyparms)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ecc_compute_public
      Src: /src/libgcrypt/cipher/ecc.c:1980,1
    - Dst: _gcry_mpi_ec_ec2os
      Src: /src/libgcrypt/cipher/ecc.c:1983,1
    - Dst: _gcry_ecc_eddsa_encodepoint
      Src: /src/libgcrypt/cipher/ecc.c:2000,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/ecc.c:2004,1
    - Dst: _gcry_ecc_mont_encodepoint
      Src: /src/libgcrypt/cipher/ecc.c:2012,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/ecc.c:2017,1
    - Dst: _gcry_mpi_ec_ec2os
      Src: /src/libgcrypt/cipher/ecc.c:2021,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/ecc.c:2035,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/ecc.c:2042,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:2050,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc.c:2051,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 52
    argCount: 3
    argNames:
    - r_sexp
    - mode
    - ec
    argTypes:
    - gcry_sexp_t*
    - int
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 1965
    functionDepth: 5
    functionLinenumber: 1965
    functionLinenumberEnd: 2053
    functionName: _gcry_pk_ecc_get_sexp
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 0
    functionsReached:
    - _gcry_ecc_compute_public
    - mpi_free
    - mpi_set_opaque
    - _gcry_mpi_ec_ec2os
    - sexp_build
    - _gcry_ecc_eddsa_encodepoint
    - _gcry_ecc_mont_encodepoint
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_pk_ecc_get_sexp (gcry_sexp_t *r_sexp, int mode,
      mpi_ec_t ec)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/ecc.c:2079,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/ecc.c:2086,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/ecc.c:2086,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/ecc.c:2088,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/ecc.c:2090,1
    - Dst: _gcry_pk_sign_md
      Src: /src/libgcrypt/cipher/ecc.c:2098,1
    - Dst: _gcry_sexp_find_token
      Src: /src/libgcrypt/cipher/ecc.c:2107,1
    - Dst: _gcry_sexp_find_token
      Src: /src/libgcrypt/cipher/ecc.c:2114,1
    - Dst: _gcry_sexp_nth_mpi
      Src: /src/libgcrypt/cipher/ecc.c:2117,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:2121,1
    - Dst: _gcry_sexp_find_token
      Src: /src/libgcrypt/cipher/ecc.c:2122,1
    - Dst: _gcry_sexp_nth_mpi
      Src: /src/libgcrypt/cipher/ecc.c:2125,1
    - Dst: _gcry_mpi_cmp
      Src: /src/libgcrypt/cipher/ecc.c:2131,1
    - Dst: _gcry_mpi_cmp
      Src: /src/libgcrypt/cipher/ecc.c:2134,1
    - Dst: _gcry_pk_verify_md
      Src: /src/libgcrypt/cipher/ecc.c:2141,1
    - Dst: _gcry_md_reset
      Src: /src/libgcrypt/cipher/ecc.c:2148,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/ecc.c:2149,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/ecc.c:2149,1
    - Dst: _gcry_pk_verify_md
      Src: /src/libgcrypt/cipher/ecc.c:2150,1
    - Dst: gcry_err_code
      Src: /src/libgcrypt/cipher/ecc.c:2151,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/ecc.c:2159,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:2160,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:2161,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:2162,1
    - Dst: mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:2163,1
    - Dst: mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:2164,1
    - Dst: mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:2165,1
    - Dst: mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:2166,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 79
    argCount: 7
    argNames:
    - pkey
    - skey
    - tmpl
    - input_str
    - input_bad_str
    - signature_r
    - signature_s
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2061
    functionDepth: 3
    functionLinenumber: 2061
    functionLinenumberEnd: 2168
    functionName: selftest_hash_sign
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 0
    functionsReached:
    - _gcry_md_reset
    - mpi_release
    - strlen
    - sexp_release
    - _gcry_pk_sign_md
    - _gcry_mpi_cmp
    - gcry_err_code
    - _gcry_md_close
    - _gcry_md_write
    - _gcry_sexp_nth_mpi
    - _gcry_mpi_scan
    - _gcry_sexp_find_token
    - _gcry_pk_verify_md
    - _gcry_md_open_internal
    linkageType: ''
    returnType: char
    signature: "char *\nselftest_hash_sign (gcry_sexp_t pkey, gcry_sexp_t skey, const
      char *tmpl,\n                    const char *input_str, const char *input_bad_str,\n
      \                   const char *signature_r, const char *signature_s)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_pk_single_data_push
      Src: /src/libgcrypt/cipher/ecc.c:2189,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/ecc.c:2189,1
    - Dst: _gcry_hex2buffer
      Src: /src/libgcrypt/cipher/ecc.c:2196,1
    - Dst: _gcry_hex2buffer
      Src: /src/libgcrypt/cipher/ecc.c:2197,1
    - Dst: _gcry_pk_sign_md
      Src: /src/libgcrypt/cipher/ecc.c:2204,1
    - Dst: _gcry_sexp_find_token
      Src: /src/libgcrypt/cipher/ecc.c:2213,1
    - Dst: _gcry_sexp_find_token
      Src: /src/libgcrypt/cipher/ecc.c:2220,1
    - Dst: _gcry_sexp_nth_buffer
      Src: /src/libgcrypt/cipher/ecc.c:2223,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:2227,1
    - Dst: _gcry_sexp_find_token
      Src: /src/libgcrypt/cipher/ecc.c:2228,1
    - Dst: _gcry_sexp_nth_buffer
      Src: /src/libgcrypt/cipher/ecc.c:2231,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/ecc.c:2241,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/ecc.c:2243,1
    - Dst: _gcry_pk_verify_md
      Src: /src/libgcrypt/cipher/ecc.c:2249,1
    - Dst: _gcry_ctx_release
      Src: /src/libgcrypt/cipher/ecc.c:2256,1
    - Dst: _gcry_pk_single_data_push
      Src: /src/libgcrypt/cipher/ecc.c:2258,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/ecc.c:2259,1
    - Dst: _gcry_pk_verify_md
      Src: /src/libgcrypt/cipher/ecc.c:2266,1
    - Dst: gcry_err_code
      Src: /src/libgcrypt/cipher/ecc.c:2267,1
    - Dst: _gcry_ctx_release
      Src: /src/libgcrypt/cipher/ecc.c:2274,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:2275,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:2276,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:2277,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc.c:2278,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc.c:2279,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc.c:2280,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc.c:2281,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 87
    argCount: 7
    argNames:
    - pkey
    - skey
    - tmpl
    - input_str
    - input_bad_str
    - signature_r
    - signature_s
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2283
      start: 2171
    functionDepth: 3
    functionLinenumber: 2171
    functionLinenumberEnd: 2283
    functionName: selftest_hash_sign_eddsa
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 0
    functionsReached:
    - _gcry_sexp_nth_buffer
    - strlen
    - _gcry_hex2buffer
    - sexp_release
    - _gcry_pk_sign_md
    - gcry_err_code
    - _gcry_pk_single_data_push
    - memcmp
    - xfree
    - _gcry_sexp_find_token
    - _gcry_pk_verify_md
    - _gcry_ctx_release
    linkageType: ''
    returnType: char
    signature: "char *\nselftest_hash_sign_eddsa (gcry_sexp_t pkey, gcry_sexp_t skey,
      const char *tmpl,\n                          const char *input_str, const char
      *input_bad_str,\n                          const char *signature_r, const char
      *signature_s)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sexp_sscan
      Src: /src/libgcrypt/cipher/ecc.c:2304,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/ecc.c:2304,1
    - Dst: sexp_sscan
      Src: /src/libgcrypt/cipher/ecc.c:2306,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/ecc.c:2307,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/ecc.c:2309,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/ecc.c:2311,1
    - Dst: _gcry_pk_sign
      Src: /src/libgcrypt/cipher/ecc.c:2319,1
    - Dst: _gcry_sexp_find_token
      Src: /src/libgcrypt/cipher/ecc.c:2328,1
    - Dst: _gcry_sexp_find_token
      Src: /src/libgcrypt/cipher/ecc.c:2335,1
    - Dst: _gcry_sexp_nth_mpi
      Src: /src/libgcrypt/cipher/ecc.c:2338,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:2342,1
    - Dst: _gcry_sexp_find_token
      Src: /src/libgcrypt/cipher/ecc.c:2343,1
    - Dst: _gcry_sexp_nth_mpi
      Src: /src/libgcrypt/cipher/ecc.c:2346,1
    - Dst: _gcry_mpi_cmp
      Src: /src/libgcrypt/cipher/ecc.c:2352,1
    - Dst: _gcry_mpi_cmp
      Src: /src/libgcrypt/cipher/ecc.c:2355,1
    - Dst: _gcry_pk_verify
      Src: /src/libgcrypt/cipher/ecc.c:2362,1
    - Dst: _gcry_pk_verify
      Src: /src/libgcrypt/cipher/ecc.c:2368,1
    - Dst: gcry_err_code
      Src: /src/libgcrypt/cipher/ecc.c:2369,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:2377,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:2378,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:2379,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:2380,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:2381,1
    - Dst: mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:2382,1
    - Dst: mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:2383,1
    - Dst: mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:2384,1
    - Dst: mpi_release
      Src: /src/libgcrypt/cipher/ecc.c:2385,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 75
    argCount: 6
    argNames:
    - pkey
    - skey
    - input
    - input_bad
    - signature_r
    - signature_s
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2387
      start: 2286
    functionDepth: 3
    functionLinenumber: 2286
    functionLinenumberEnd: 2387
    functionName: selftest_sign
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 0
    functionsReached:
    - _gcry_pk_sign
    - mpi_release
    - strlen
    - _gcry_pk_verify
    - sexp_release
    - _gcry_mpi_cmp
    - gcry_err_code
    - _gcry_sexp_nth_mpi
    - _gcry_mpi_scan
    - sexp_sscan
    - _gcry_sexp_find_token
    linkageType: ''
    returnType: char
    signature: "char *\nselftest_sign (gcry_sexp_t pkey, gcry_sexp_t skey,\n               const
      char *input, const char *input_bad,\n               const char *signature_r,
      const char *signature_s)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sexp_sscan
      Src: /src/libgcrypt/cipher/ecc.c:2405,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/ecc.c:2405,1
    - Dst: sexp_sscan
      Src: /src/libgcrypt/cipher/ecc.c:2407,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/ecc.c:2407,1
    - Dst: _gcry_strerror
      Src: /src/libgcrypt/cipher/ecc.c:2410,1
    - Dst: ecc_check_secret_key
      Src: /src/libgcrypt/cipher/ecc.c:2415,1
    - Dst: _gcry_strerror
      Src: /src/libgcrypt/cipher/ecc.c:2418,1
    - Dst: selftest_sign
      Src: /src/libgcrypt/cipher/ecc.c:2425,1
    - Dst: selftest_hash_sign_eddsa
      Src: /src/libgcrypt/cipher/ecc.c:2433,1
    - Dst: selftest_hash_sign
      Src: /src/libgcrypt/cipher/ecc.c:2437,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:2443,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:2444,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:2448,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc.c:2449,1
    - Dst: report
      Src: /src/libgcrypt/cipher/ecc.c:2451,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 12
    argNames:
    - report
    - extended
    - is_eddsa
    - secret_key
    - public_key
    - input
    - input_bad
    - tmpl
    - input_str
    - input_bad_str
    - signature_r
    - signature_s
    argTypes:
    - selftest_report_func_t
    - int
    - int
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2390
    functionDepth: 4
    functionLinenumber: 2390
    functionLinenumberEnd: 2453
    functionName: selftests_ecc
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 0
    functionsReached:
    - _gcry_strerror
    - selftest_hash_sign_eddsa
    - ecc_check_secret_key
    - strlen
    - sexp_release
    - selftest_sign
    - selftest_hash_sign
    - sexp_sscan
    - report
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t selftests_ecc (selftest_report_func_t report, int extended,
      int is_eddsa,\n               const char *secret_key, const char *public_key,\n
      \              const char *input, const char *input_bad,\n               const
      char *tmpl,\n               const char *input_str, const char *input_bad_str,\n
      \              const char *signature_r, const char *signature_s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: selftests_ecc
      Src: /src/libgcrypt/cipher/ecc.c:2465,1
    - Dst: selftests_ecc
      Src: /src/libgcrypt/cipher/ecc.c:2475,1
    - Dst: selftests_ecc
      Src: /src/libgcrypt/cipher/ecc.c:2485,1
    - Dst: selftests_ecc
      Src: /src/libgcrypt/cipher/ecc.c:2495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2457
    functionDepth: 5
    functionLinenumber: 2457
    functionLinenumberEnd: 2503
    functionName: run_selftests
    functionSourceFile: /src/libgcrypt/cipher/ecc.c
    functionUses: 4
    functionsReached:
    - selftests_ecc
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t run_selftests (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: MPI_NBYTES
    functionSourceFile: /src/libgcrypt/cipher/ecc-sm2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPI_NBYTES(m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/ecc-sm2.c:53,1
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/ecc-sm2.c:57,1
    - Dst: be_bswap32
      Src: /src/libgcrypt/cipher/ecc-sm2.c:61,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/ecc-sm2.c:64,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/ecc-sm2.c:65,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/ecc-sm2.c:67,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/ecc-sm2.c:75,1
    - Dst: _gcry_md_reset
      Src: /src/libgcrypt/cipher/ecc-sm2.c:79,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/ecc-sm2.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - algo
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - int
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 84
    functionName: kdf_x9_63
    functionSourceFile: /src/libgcrypt/cipher/ecc-sm2.c
    functionUses: 0
    functionsReached:
    - _gcry_md_reset
    - be_bswap32
    - _gcry_md_read
    - _gcry_md_close
    - _gcry_md_get_algo_dlen
    - _gcry_md_write
    - memcpy
    - _gcry_md_open_internal
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t kdf_x9_63 (int algo, const void *in, size_t inlen, void
      *out, size_t outlen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-sm2.c:118,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-sm2.c:119,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-sm2.c:120,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-sm2.c:121,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-sm2.c:122,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-sm2.c:123,1
    - Dst: _gcry_mpi_get_buffer
      Src: /src/libgcrypt/cipher/ecc-sm2.c:125,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-sm2.c:128,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/ecc-sm2.c:132,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-sm2.c:135,1
    - Dst: _gcry_dsa_gen_k
      Src: /src/libgcrypt/cipher/ecc-sm2.c:140,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-sm2.c:143,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc-sm2.c:144,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc-sm2.c:147,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-sm2.c:153,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc-sm2.c:154,1
    - Dst: _gcry_mpi_ec_ec2os
      Src: /src/libgcrypt/cipher/ecc-sm2.c:161,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/ecc-sm2.c:162,1
    - Dst: kdf_x9_63
      Src: /src/libgcrypt/cipher/ecc-sm2.c:168,1
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/ecc-sm2.c:177,1
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/ecc-sm2.c:178,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/ecc-sm2.c:181,1
    - Dst: MPI_NBYTES
      Src: /src/libgcrypt/cipher/ecc-sm2.c:181,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/ecc-sm2.c:182,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/ecc-sm2.c:183,1
    - Dst: MPI_NBYTES
      Src: /src/libgcrypt/cipher/ecc-sm2.c:183,1
    - Dst: MPI_NBYTES
      Src: /src/libgcrypt/cipher/ecc-sm2.c:183,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/ecc-sm2.c:184,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-sm2.c:197,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-sm2.c:198,1
    - Dst: _gcry_ecc_ec2os
      Src: /src/libgcrypt/cipher/ecc-sm2.c:200,1
    - Dst: _gcry_mpi_set_opaque_copy
      Src: /src/libgcrypt/cipher/ecc-sm2.c:201,1
    - Dst: _gcry_mpi_set_opaque_copy
      Src: /src/libgcrypt/cipher/ecc-sm2.c:202,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/ecc-sm2.c:204,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:208,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:209,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:210,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/ecc-sm2.c:214,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:215,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:216,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:218,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:219,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:220,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:221,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:222,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:223,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-sm2.c:225,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-sm2.c:226,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 84
    argCount: 3
    argNames:
    - r_ciph
    - input
    - ec
    argTypes:
    - gcry_sexp_t*
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 98
    functionDepth: 5
    functionLinenumber: 98
    functionLinenumberEnd: 229
    functionName: _gcry_ecc_sm2_encrypt
    functionSourceFile: /src/libgcrypt/cipher/ecc-sm2.c
    functionUses: 1
    functionsReached:
    - _gcry_mpi_get_buffer
    - mpi_free
    - sexp_build
    - _gcry_mpi_ec_mul_point
    - point_init
    - xtrymalloc
    - _gcry_mpi_set_opaque_copy
    - _gcry_md_read
    - kdf_x9_63
    - _gcry_mpi_ec_get_affine
    - log_debug
    - point_free
    - gpg_err_code_from_syserror
    - _gcry_mpi_ec_ec2os
    - _gcry_md_close
    - _gcry_md_get_algo_dlen
    - mpi_new
    - MPI_NBYTES
    - xfree
    - mpi_get_opaque
    - _gcry_dsa_gen_k
    - _gcry_ecc_ec2os
    - _gcry_md_write
    - _gcry_md_open_internal
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_ecc_sm2_encrypt (gcry_sexp_t *r_ciph, gcry_mpi_t
      input, mpi_ec_t ec)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/ecc-sm2.c:243,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/ecc-sm2.c:249,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/ecc-sm2.c:250,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/ecc-sm2.c:251,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-sm2.c:272,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-sm2.c:273,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-sm2.c:274,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-sm2.c:275,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/ecc-sm2.c:277,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/ecc-sm2.c:279,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-sm2.c:282,1
    - Dst: _gcry_ecc_sec_decodepoint
      Src: /src/libgcrypt/cipher/ecc-sm2.c:286,1
    - Dst: _gcry_mpi_ec_curve_point
      Src: /src/libgcrypt/cipher/ecc-sm2.c:290,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-sm2.c:297,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc-sm2.c:298,1
    - Dst: _gcry_mpi_ec_ec2os
      Src: /src/libgcrypt/cipher/ecc-sm2.c:305,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/ecc-sm2.c:306,1
    - Dst: kdf_x9_63
      Src: /src/libgcrypt/cipher/ecc-sm2.c:311,1
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/ecc-sm2.c:320,1
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/ecc-sm2.c:321,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/ecc-sm2.c:324,1
    - Dst: MPI_NBYTES
      Src: /src/libgcrypt/cipher/ecc-sm2.c:324,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/ecc-sm2.c:325,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/ecc-sm2.c:326,1
    - Dst: MPI_NBYTES
      Src: /src/libgcrypt/cipher/ecc-sm2.c:326,1
    - Dst: MPI_NBYTES
      Src: /src/libgcrypt/cipher/ecc-sm2.c:326,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/ecc-sm2.c:327,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/ecc-sm2.c:330,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/ecc-sm2.c:334,1
    - Dst: ct_not_memequal
      Src: /src/libgcrypt/cipher/ecc-sm2.c:336,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/ecc-sm2.c:338,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-sm2.c:347,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/ecc-sm2.c:348,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/ecc-sm2.c:350,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:352,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/ecc-sm2.c:356,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:357,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-sm2.c:358,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:360,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:361,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:362,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:363,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-sm2.c:367,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-sm2.c:368,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-sm2.c:369,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 93
    argCount: 3
    argNames:
    - r_plain
    - data_list
    - ec
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 232
    functionDepth: 5
    functionLinenumber: 232
    functionLinenumberEnd: 372
    functionName: _gcry_ecc_sm2_decrypt
    functionSourceFile: /src/libgcrypt/cipher/ecc-sm2.c
    functionUses: 1
    functionsReached:
    - mpi_free
    - sexp_build
    - _gcry_mpi_ec_mul_point
    - ct_not_memequal
    - point_init
    - xtrymalloc
    - _gcry_md_read
    - kdf_x9_63
    - wipememory
    - log_printmpi
    - _gcry_mpi_ec_curve_point
    - _gcry_mpi_ec_get_affine
    - point_free
    - gpg_err_code_from_syserror
    - _gcry_mpi_ec_ec2os
    - _gcry_md_close
    - _gcry_md_get_algo_dlen
    - mpi_new
    - MPI_NBYTES
    - xfree
    - mpi_get_opaque
    - _gcry_mpi_set_buffer
    - _gcry_ecc_sec_decodepoint
    - _gcry_mpi_release
    - _gcry_md_write
    - sexp_extract_param
    - _gcry_md_open_internal
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_ecc_sm2_decrypt (gcry_sexp_t *r_plain, gcry_sexp_t
      data_list, mpi_ec_t ec)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc-sm2.c:396,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/ecc-sm2.c:398,1
    - Dst: _gcry_dsa_normalize_hash
      Src: /src/libgcrypt/cipher/ecc-sm2.c:401,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-sm2.c:405,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-sm2.c:406,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-sm2.c:407,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-sm2.c:408,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/ecc-sm2.c:419,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/ecc-sm2.c:425,1
    - Dst: _gcry_dsa_gen_rfc6979_k
      Src: /src/libgcrypt/cipher/ecc-sm2.c:426,1
    - Dst: _gcry_dsa_gen_k
      Src: /src/libgcrypt/cipher/ecc-sm2.c:434,1
    - Dst: _gcry_dsa_modify_k
      Src: /src/libgcrypt/cipher/ecc-sm2.c:436,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-sm2.c:439,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc-sm2.c:440,1
    - Dst: mpi_addm
      Src: /src/libgcrypt/cipher/ecc-sm2.c:447,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc-sm2.c:450,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/ecc-sm2.c:452,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-sm2.c:453,1
    - Dst: mpi_addm
      Src: /src/libgcrypt/cipher/ecc-sm2.c:457,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/ecc-sm2.c:458,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-sm2.c:459,1
    - Dst: mpi_subm
      Src: /src/libgcrypt/cipher/ecc-sm2.c:460,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-sm2.c:461,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc-sm2.c:464,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc-sm2.c:472,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc-sm2.c:473,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:477,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:478,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:479,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:480,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:481,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:484,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 6
    argNames:
    - input
    - ec
    - r
    - s
    - flags
    - hashalgo
    argTypes:
    - gcry_mpi_t
    - mpi_ec_t
    - gcry_mpi_t
    - gcry_mpi_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 487
    functionName: _gcry_ecc_sm2_sign
    functionSourceFile: /src/libgcrypt/cipher/ecc-sm2.c
    functionUses: 1
    functionsReached:
    - mpi_free
    - log_mpidump
    - _gcry_mpi_ec_mul_point
    - point_init
    - mpi_addm
    - mpi_subm
    - mpi_add
    - mpi_cmp
    - mpi_invm
    - mpi_cmp_ui
    - _gcry_mpi_ec_get_affine
    - point_free
    - mpi_new
    - mpi_get_opaque
    - _gcry_dsa_gen_k
    - mpi_get_nbits
    - _gcry_dsa_gen_rfc6979_k
    - mpi_mulm
    - _gcry_dsa_normalize_hash
    - _gcry_dsa_modify_k
    - mpi_is_opaque
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_sm2_sign (gcry_mpi_t input, mpi_ec_t ec,\n
      \                   gcry_mpi_t r, gcry_mpi_t s,\n                    int flags,
      int hashalgo)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_ec_curve_point
      Src: /src/libgcrypt/cipher/ecc-sm2.c:504,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc-sm2.c:508,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-sm2.c:508,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc-sm2.c:510,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-sm2.c:510,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/ecc-sm2.c:513,1
    - Dst: _gcry_dsa_normalize_hash
      Src: /src/libgcrypt/cipher/ecc-sm2.c:514,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-sm2.c:518,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-sm2.c:519,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-sm2.c:520,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-sm2.c:521,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-sm2.c:522,1
    - Dst: mpi_addm
      Src: /src/libgcrypt/cipher/ecc-sm2.c:525,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc-sm2.c:526,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-sm2.c:533,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-sm2.c:534,1
    - Dst: _gcry_mpi_ec_add_points
      Src: /src/libgcrypt/cipher/ecc-sm2.c:535,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc-sm2.c:536,1
    - Dst: mpi_addm
      Src: /src/libgcrypt/cipher/ecc-sm2.c:543,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-sm2.c:546,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc-sm2.c:550,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc-sm2.c:551,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc-sm2.c:552,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc-sm2.c:558,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:561,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:562,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:563,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:564,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:565,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-sm2.c:567,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 4
    argNames:
    - input
    - ec
    - r
    - s
    argTypes:
    - gcry_mpi_t
    - mpi_ec_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 570
    functionName: _gcry_ecc_sm2_verify
    functionSourceFile: /src/libgcrypt/cipher/ecc-sm2.c
    functionUses: 1
    functionsReached:
    - point_free
    - _gcry_mpi_ec_add_points
    - mpi_free
    - log_mpidump
    - mpi_cmp
    - _gcry_mpi_ec_mul_point
    - mpi_cmp_ui
    - point_init
    - mpi_new
    - mpi_addm
    - _gcry_mpi_ec_curve_point
    - _gcry_mpi_ec_get_affine
    - _gcry_dsa_normalize_hash
    - log_debug
    - mpi_get_nbits
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_sm2_verify (gcry_mpi_t input, mpi_ec_t ec,\n
      \                     gcry_mpi_t r, gcry_mpi_t s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - wk
    - )
    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: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: Rx
    functionSourceFile: /src/libgcrypt/cipher/sha512-ssse3-i386.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Rx(a,b,c,d,e,f,g,h,wk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: WK0
    functionSourceFile: /src/libgcrypt/cipher/sha512-ssse3-i386.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WK0(tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: WK1
    functionSourceFile: /src/libgcrypt/cipher/sha512-ssse3-i386.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WK1(tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: I2
    functionSourceFile: /src/libgcrypt/cipher/sha512-ssse3-i386.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I2(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 270
    functionName: W2
    functionSourceFile: /src/libgcrypt/cipher/sha512-ssse3-i386.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: W2(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:298,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:299,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:300,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:301,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:302,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:303,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:304,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:305,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:306,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:307,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:308,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:309,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:310,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:311,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:312,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:313,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:314,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:315,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:316,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:317,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:318,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:319,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:320,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:321,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:326,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:327,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:328,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:329,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:330,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:331,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:332,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:333,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:334,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:335,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:336,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:337,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:338,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:339,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:340,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:341,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:342,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:343,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:344,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:345,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:346,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:347,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:348,1
    - Dst: Rx
      Src: /src/libgcrypt/cipher/sha512-ssse3-i386.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 60
    argCount: 3
    argNames:
    - state
    - data
    - nblks
    argTypes:
    - u64[]
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 397
    functionName: ASM_FUNC_ATTR::_gcry_sha512_transform_i386_ssse3
    functionSourceFile: /src/libgcrypt/cipher/sha512-ssse3-i386.c
    functionUses: 0
    functionsReached:
    - Rx
    - I2
    - W2
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int ASM_FUNC_ATTR\n_gcry_sha512_transform_i386_ssse3(u64
      state[8], const unsigned char *data,\n\t\t\t\t  size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blowfish_amd64_do_encrypt
      Src: /src/libgcrypt/cipher/blowfish.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bc
    - ret_xl
    - ret_xr
    argTypes:
    - BLOWFISH_context*
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: do_encrypt
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 4
    functionsReached:
    - _gcry_blowfish_amd64_do_encrypt
    linkageType: ''
    returnType: void
    signature: void do_encrypt ( BLOWFISH_context *bc, u32 *ret_xl, u32 *ret_xr )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blowfish_amd64_encrypt_block
      Src: /src/libgcrypt/cipher/blowfish.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - BLOWFISH_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: do_encrypt_block
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 5
    functionsReached:
    - _gcry_blowfish_amd64_encrypt_block
    linkageType: ''
    returnType: void
    signature: void do_encrypt_block (BLOWFISH_context *context, byte *outbuf, const
      byte *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blowfish_amd64_decrypt_block
      Src: /src/libgcrypt/cipher/blowfish.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - BLOWFISH_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: do_decrypt_block
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 4
    functionsReached:
    - _gcry_blowfish_amd64_decrypt_block
    linkageType: ''
    returnType: void
    signature: void do_decrypt_block (BLOWFISH_context *context, byte *outbuf, const
      byte *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blowfish_amd64_ctr_enc
      Src: /src/libgcrypt/cipher/blowfish.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - ctr
    argTypes:
    - BLOWFISH_context*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: blowfish_amd64_ctr_enc
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 1
    functionsReached:
    - _gcry_blowfish_amd64_ctr_enc
    linkageType: ''
    returnType: void
    signature: "void blowfish_amd64_ctr_enc(BLOWFISH_context *ctx, byte *out, const
      byte *in,\n                       byte *ctr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blowfish_amd64_cbc_dec
      Src: /src/libgcrypt/cipher/blowfish.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - iv
    argTypes:
    - BLOWFISH_context*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 315
    functionName: blowfish_amd64_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 1
    functionsReached:
    - _gcry_blowfish_amd64_cbc_dec
    linkageType: ''
    returnType: void
    signature: "void blowfish_amd64_cbc_dec(BLOWFISH_context *ctx, byte *out, const
      byte *in,\n                       byte *iv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blowfish_amd64_cfb_dec
      Src: /src/libgcrypt/cipher/blowfish.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - iv
    argTypes:
    - BLOWFISH_context*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: blowfish_amd64_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 1
    functionsReached:
    - _gcry_blowfish_amd64_cfb_dec
    linkageType: ''
    returnType: void
    signature: "void blowfish_amd64_cfb_dec(BLOWFISH_context *ctx, byte *out, const
      byte *in,\n                       byte *iv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encrypt_block
      Src: /src/libgcrypt/cipher/blowfish.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: encrypt_block
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 13
    functionsReached:
    - do_encrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int encrypt_block (void *context , byte *outbuf, const byte
      *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_decrypt_block
      Src: /src/libgcrypt/cipher/blowfish.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: decrypt_block
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 15
    functionsReached:
    - do_decrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int decrypt_block (void *context, byte *outbuf, const byte
      *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blowfish_arm_do_encrypt
      Src: /src/libgcrypt/cipher/blowfish.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bc
    - ret_xl
    - ret_xr
    argTypes:
    - BLOWFISH_context*
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: do_encrypt
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 5
    functionsReached:
    - _gcry_blowfish_arm_do_encrypt
    linkageType: ''
    returnType: void
    signature: void do_encrypt ( BLOWFISH_context *bc, u32 *ret_xl, u32 *ret_xr )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blowfish_arm_encrypt_block
      Src: /src/libgcrypt/cipher/blowfish.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - BLOWFISH_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: do_encrypt_block
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 6
    functionsReached:
    - _gcry_blowfish_arm_encrypt_block
    linkageType: ''
    returnType: void
    signature: void do_encrypt_block (BLOWFISH_context *context, byte *outbuf, const
      byte *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blowfish_arm_decrypt_block
      Src: /src/libgcrypt/cipher/blowfish.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - BLOWFISH_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: do_decrypt_block
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 5
    functionsReached:
    - _gcry_blowfish_arm_decrypt_block
    linkageType: ''
    returnType: void
    signature: void do_decrypt_block (BLOWFISH_context *context, byte *outbuf, const
      byte *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encrypt_block
      Src: /src/libgcrypt/cipher/blowfish.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: encrypt_block
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 15
    functionsReached:
    - do_encrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int encrypt_block (void *context , byte *outbuf, const byte
      *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_decrypt_block
      Src: /src/libgcrypt/cipher/blowfish.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 394
    functionName: decrypt_block
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 17
    functionsReached:
    - do_decrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int decrypt_block (void *context, byte *outbuf, const byte
      *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: F
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - r
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 402
    functionName: R
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 117
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(l,r,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - r
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 403
    functionName: R3
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R3(l,r,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:418,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:419,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:420,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:421,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:422,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:423,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:424,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:425,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:426,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:427,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:428,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:429,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:430,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:431,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:432,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 3
    argNames:
    - bc
    - ret_xl
    - ret_xr
    argTypes:
    - BLOWFISH_context*
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 440
    functionName: do_encrypt
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 5
    functionsReached:
    - R
    linkageType: ''
    returnType: void
    signature: void do_encrypt ( BLOWFISH_context *bc, u32 *ret_xl, u32 *ret_xr )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/blowfish.c:448,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/blowfish.c:449,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/blowfish.c:450,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/blowfish.c:451,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/blowfish.c:452,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/blowfish.c:453,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:460,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:461,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:462,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:463,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:464,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:465,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:466,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:467,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:468,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:469,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:470,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:471,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:472,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:473,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:474,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:475,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/blowfish.c:484,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/blowfish.c:485,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/blowfish.c:486,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/blowfish.c:487,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/blowfish.c:488,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/blowfish.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 3
    argNames:
    - bc
    - dst
    - src
    argTypes:
    - BLOWFISH_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 490
    functionName: do_encrypt_3
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 0
    functionsReached:
    - buf_get_be32
    - R3
    - buf_put_be32
    linkageType: ''
    returnType: void
    signature: void do_encrypt_3 ( BLOWFISH_context *bc, byte *dst, const byte *src
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:506,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:507,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:508,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:509,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:510,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:511,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:512,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:513,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:514,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:515,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:516,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:517,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:518,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:519,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:520,1
    - Dst: R
      Src: /src/libgcrypt/cipher/blowfish.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 3
    argNames:
    - bc
    - ret_xl
    - ret_xr
    argTypes:
    - BLOWFISH_context*
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 528
    functionName: decrypt
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 94
    functionsReached:
    - R
    linkageType: ''
    returnType: void
    signature: void decrypt ( BLOWFISH_context *bc, u32 *ret_xl, u32 *ret_xr )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/blowfish.c:536,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/blowfish.c:537,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/blowfish.c:538,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/blowfish.c:539,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/blowfish.c:540,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/blowfish.c:541,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:548,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:549,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:550,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:551,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:552,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:553,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:554,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:555,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:556,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:557,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:558,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:559,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:560,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:561,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:562,1
    - Dst: R3
      Src: /src/libgcrypt/cipher/blowfish.c:563,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/blowfish.c:572,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/blowfish.c:573,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/blowfish.c:574,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/blowfish.c:575,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/blowfish.c:576,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/blowfish.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 3
    argNames:
    - bc
    - dst
    - src
    argTypes:
    - BLOWFISH_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 578
    functionName: do_decrypt_3
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 0
    functionsReached:
    - buf_get_be32
    - R3
    - buf_put_be32
    linkageType: ''
    returnType: void
    signature: void do_decrypt_3 ( BLOWFISH_context *bc, byte *dst, const byte *src
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/blowfish.c:589,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/blowfish.c:590,1
    - Dst: do_encrypt
      Src: /src/libgcrypt/cipher/blowfish.c:591,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/blowfish.c:592,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/blowfish.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - bc
    - outbuf
    - inbuf
    argTypes:
    - BLOWFISH_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: do_encrypt_block
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 7
    functionsReached:
    - buf_get_be32
    - do_encrypt
    - buf_put_be32
    linkageType: ''
    returnType: void
    signature: void do_encrypt_block ( BLOWFISH_context *bc, byte *outbuf, const byte
      *inbuf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encrypt_block
      Src: /src/libgcrypt/cipher/blowfish.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 602
    functionName: encrypt_block
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 16
    functionsReached:
    - do_encrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int encrypt_block (void *context, byte *outbuf, const byte
      *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/blowfish.c:610,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/blowfish.c:611,1
    - Dst: decrypt
      Src: /src/libgcrypt/cipher/blowfish.c:612,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/blowfish.c:613,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/blowfish.c:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - bc
    - outbuf
    - inbuf
    argTypes:
    - BLOWFISH_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 615
    functionName: do_decrypt_block
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 6
    functionsReached:
    - buf_get_be32
    - buf_put_be32
    - decrypt
    linkageType: ''
    returnType: void
    signature: void do_decrypt_block (BLOWFISH_context *bc, byte *outbuf, const byte
      *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_decrypt_block
      Src: /src/libgcrypt/cipher/blowfish.c:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 623
    functionName: decrypt_block
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 18
    functionsReached:
    - do_decrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int decrypt_block (void *context, byte *outbuf, const byte
      *inbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blowfish_amd64_ctr_enc
      Src: /src/libgcrypt/cipher/blowfish.c:649,1
    - Dst: _gcry_blowfish_arm_ctr_enc
      Src: /src/libgcrypt/cipher/blowfish.c:663,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/blowfish.c:678,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/blowfish.c:679,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/blowfish.c:680,1
    - Dst: cipher_block_add_be16
      Src: /src/libgcrypt/cipher/blowfish.c:681,1
    - Dst: cipher_block_add_be16
      Src: /src/libgcrypt/cipher/blowfish.c:682,1
    - Dst: cipher_block_add_be16
      Src: /src/libgcrypt/cipher/blowfish.c:683,1
    - Dst: do_encrypt_3
      Src: /src/libgcrypt/cipher/blowfish.c:685,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/blowfish.c:687,1
    - Dst: do_encrypt_block
      Src: /src/libgcrypt/cipher/blowfish.c:696,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/blowfish.c:698,1
    - Dst: cipher_block_add_be16
      Src: /src/libgcrypt/cipher/blowfish.c:702,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/blowfish.c:705,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/blowfish.c:706,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 5
    argNames:
    - context
    - ctr
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 707
    functionName: _gcry_blowfish_ctr_enc
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 0
    functionsReached:
    - blowfish_amd64_ctr_enc
    - cipher_block_xor
    - do_encrypt_3
    - buf_xor
    - wipememory
    - _gcry_burn_stack
    - cipher_block_add_be16
    - do_encrypt_block
    - cipher_block_cpy
    - _gcry_blowfish_arm_ctr_enc
    linkageType: ''
    returnType: void
    signature: "void _gcry_blowfish_ctr_enc(void *context, unsigned char *ctr, void
      *outbuf_arg,\n\t\t       const void *inbuf_arg, size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blowfish_amd64_cbc_dec
      Src: /src/libgcrypt/cipher/blowfish.c:730,1
    - Dst: _gcry_blowfish_arm_cbc_dec
      Src: /src/libgcrypt/cipher/blowfish.c:744,1
    - Dst: do_decrypt_3
      Src: /src/libgcrypt/cipher/blowfish.c:760,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/blowfish.c:762,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/blowfish.c:763,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/blowfish.c:764,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/blowfish.c:765,1
    - Dst: do_decrypt_block
      Src: /src/libgcrypt/cipher/blowfish.c:775,1
    - Dst: cipher_block_xor_n_copy_2
      Src: /src/libgcrypt/cipher/blowfish.c:777,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/blowfish.c:782,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/blowfish.c:783,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 712
    functionDepth: 3
    functionLinenumber: 712
    functionLinenumberEnd: 784
    functionName: _gcry_blowfish_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor_n_copy_2
    - do_decrypt_3
    - wipememory
    - _gcry_burn_stack
    - buf_cpy
    - cipher_block_xor_1
    - blowfish_amd64_cbc_dec
    - do_decrypt_block
    - _gcry_blowfish_arm_cbc_dec
    - cipher_block_cpy
    linkageType: ''
    returnType: void
    signature: "void _gcry_blowfish_cbc_dec(void *context, unsigned char *iv, void
      *outbuf_arg,\n\t\t       const void *inbuf_arg, size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blowfish_amd64_cfb_dec
      Src: /src/libgcrypt/cipher/blowfish.c:807,1
    - Dst: _gcry_blowfish_arm_cfb_dec
      Src: /src/libgcrypt/cipher/blowfish.c:821,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/blowfish.c:835,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/blowfish.c:836,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/blowfish.c:837,1
    - Dst: do_encrypt_3
      Src: /src/libgcrypt/cipher/blowfish.c:838,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/blowfish.c:839,1
    - Dst: do_encrypt_block
      Src: /src/libgcrypt/cipher/blowfish.c:847,1
    - Dst: cipher_block_xor_n_copy
      Src: /src/libgcrypt/cipher/blowfish.c:848,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/blowfish.c:853,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/blowfish.c:854,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 789
    functionDepth: 3
    functionLinenumber: 789
    functionLinenumberEnd: 855
    functionName: _gcry_blowfish_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 0
    functionsReached:
    - _gcry_blowfish_arm_cfb_dec
    - do_encrypt_3
    - buf_xor
    - blowfish_amd64_cfb_dec
    - wipememory
    - cipher_block_xor_n_copy
    - _gcry_burn_stack
    - do_encrypt_block
    - cipher_block_cpy
    linkageType: ''
    returnType: void
    signature: "void _gcry_blowfish_cfb_dec(void *context, unsigned char *iv, void
      *outbuf_arg,\n\t\t       const void *inbuf_arg, size_t nblocks)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bf_setkey
      Src: /src/libgcrypt/cipher/blowfish.c:872,1
    - Dst: encrypt_block
      Src: /src/libgcrypt/cipher/blowfish.c:875,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/blowfish.c:876,1
    - Dst: decrypt_block
      Src: /src/libgcrypt/cipher/blowfish.c:878,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/blowfish.c:879,1
    - Dst: bf_setkey
      Src: /src/libgcrypt/cipher/blowfish.c:882,1
    - Dst: encrypt_block
      Src: /src/libgcrypt/cipher/blowfish.c:883,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/blowfish.c:884,1
    - Dst: decrypt_block
      Src: /src/libgcrypt/cipher/blowfish.c:886,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/blowfish.c:887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 891
    functionName: selftest
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 17
    functionsReached:
    - bf_setkey
    - memcmp
    - encrypt_block
    - decrypt_block
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 905
    functionName: val_to_hidx
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: byte val_to_hidx(u32 val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: val_to_hidx
      Src: /src/libgcrypt/cipher/blowfish.c:914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - hset
    - val
    - midx
    - mpool
    argTypes:
    - struct hashset_elem[]
    - u32
    - int*
    - struct hashset_elem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 945
    functionName: add_val
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 4
    functionsReached:
    - val_to_hidx
    linkageType: ''
    returnType: int
    signature: "int add_val(struct hashset_elem hset[256], u32 val, int *midx,\n\tstruct
      hashset_elem *mpool)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: selftest
      Src: /src/libgcrypt/cipher/blowfish.c:962,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/blowfish.c:964,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/blowfish.c:973,1
    - Dst: do_encrypt
      Src: /src/libgcrypt/cipher/blowfish.c:998,1
    - Dst: do_encrypt
      Src: /src/libgcrypt/cipher/blowfish.c:1004,1
    - Dst: add_val
      Src: /src/libgcrypt/cipher/blowfish.c:1009,1
    - Dst: add_val
      Src: /src/libgcrypt/cipher/blowfish.c:1011,1
    - Dst: do_encrypt
      Src: /src/libgcrypt/cipher/blowfish.c:1016,1
    - Dst: add_val
      Src: /src/libgcrypt/cipher/blowfish.c:1021,1
    - Dst: add_val
      Src: /src/libgcrypt/cipher/blowfish.c:1023,1
    - Dst: do_encrypt
      Src: /src/libgcrypt/cipher/blowfish.c:1028,1
    - Dst: add_val
      Src: /src/libgcrypt/cipher/blowfish.c:1033,1
    - Dst: add_val
      Src: /src/libgcrypt/cipher/blowfish.c:1035,1
    - Dst: do_encrypt
      Src: /src/libgcrypt/cipher/blowfish.c:1040,1
    - Dst: add_val
      Src: /src/libgcrypt/cipher/blowfish.c:1045,1
    - Dst: add_val
      Src: /src/libgcrypt/cipher/blowfish.c:1047,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/blowfish.c:1052,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/blowfish.c:1053,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/blowfish.c:1055,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 73
    argCount: 3
    argNames:
    - c
    - key
    - keylen
    argTypes:
    - BLOWFISH_context*
    - byte*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 947
    functionDepth: 2
    functionLinenumber: 947
    functionLinenumberEnd: 1063
    functionName: do_bf_setkey
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 0
    functionsReached:
    - do_encrypt
    - log_error
    - wipememory
    - _gcry_burn_stack
    - selftest
    - memset
    - add_val
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t do_bf_setkey (BLOWFISH_context *c, const byte *key,
      unsigned keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_bf_setkey
      Src: /src/libgcrypt/cipher/blowfish.c:1071,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/blowfish.c:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - context
    - key
    - keylen
    - bulk_ops
    argTypes:
    - void*
    - byte*
    - unsigned
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1066
    functionDepth: 3
    functionLinenumber: 1066
    functionLinenumberEnd: 1080
    functionName: bf_setkey
    functionSourceFile: /src/libgcrypt/cipher/blowfish.c
    functionUses: 2
    functionsReached:
    - do_bf_setkey
    - memset
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t bf_setkey (void *context, const byte *key, unsigned
      keylen,\n           cipher_bulk_ops_t *bulk_ops)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 5
    argNames:
    - pcrc
    - inbuf
    - inlen
    - consts
    - hwfeatures
    argTypes:
    - u32*
    - byte*
    - size_t
    - struct crc32_consts_s*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 539
    functionName: crc32_reflected_bulk
    functionSourceFile: /src/libgcrypt/cipher/crc-intel-pclmul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE crc32_reflected_bulk (u32 *pcrc, const byte *inbuf,
      size_t inlen,\n\t\t      const struct crc32_consts_s *consts, u32 hwfeatures)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 4
    argNames:
    - pcrc
    - inbuf
    - inlen
    - consts
    argTypes:
    - u32*
    - byte*
    - size_t
    - struct crc32_consts_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 687
    functionName: crc32_reflected_less_than_16
    functionSourceFile: /src/libgcrypt/cipher/crc-intel-pclmul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE crc32_reflected_less_than_16 (u32 *pcrc, const
      byte *inbuf, size_t inlen,\n\t\t\t      const struct crc32_consts_s *consts)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 5
    argNames:
    - pcrc
    - inbuf
    - inlen
    - consts
    - hwfeatures
    argTypes:
    - u32*
    - byte*
    - size_t
    - struct crc32_consts_s*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 1101
    functionName: crc32_bulk
    functionSourceFile: /src/libgcrypt/cipher/crc-intel-pclmul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE crc32_bulk (u32 *pcrc, const byte *inbuf, size_t
      inlen,\n\t    const struct crc32_consts_s *consts, u32 hwfeatures)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/crc-intel-pclmul.c:1121,1
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/crc-intel-pclmul.c:1122,1
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/crc-intel-pclmul.c:1128,1
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/crc-intel-pclmul.c:1129,1
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/crc-intel-pclmul.c:1136,1
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/crc-intel-pclmul.c:1137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 4
    argNames:
    - pcrc
    - inbuf
    - inlen
    - consts
    argTypes:
    - u32*
    - byte*
    - size_t
    - struct crc32_consts_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1103
    functionDepth: 1
    functionLinenumber: 1103
    functionLinenumberEnd: 1263
    functionName: crc32_less_than_16
    functionSourceFile: /src/libgcrypt/cipher/crc-intel-pclmul.c
    functionUses: 1
    functionsReached:
    - _gcry_bswap32
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE crc32_less_than_16 (u32 *pcrc, const byte *inbuf,
      size_t inlen,\n\t\t    const struct crc32_consts_s *consts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crc32_reflected_bulk
      Src: /src/libgcrypt/cipher/crc-intel-pclmul.c:1285,1
    - Dst: crc32_reflected_less_than_16
      Src: /src/libgcrypt/cipher/crc-intel-pclmul.c:1287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - pcrc
    - inbuf
    - inlen
    - hwfeatures
    argTypes:
    - u32*
    - byte*
    - size_t
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1297
    functionName: ASM_FUNC_ATTR::_gcry_crc32_intel_pclmul
    functionSourceFile: /src/libgcrypt/cipher/crc-intel-pclmul.c
    functionUses: 0
    functionsReached:
    - crc32_reflected_less_than_16
    - crc32_reflected_bulk
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR\n_gcry_crc32_intel_pclmul (u32 *pcrc, const byte
      *inbuf, size_t inlen,\n\t\t\t  u32 hwfeatures)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crc32_bulk
      Src: /src/libgcrypt/cipher/crc-intel-pclmul.c:1321,1
    - Dst: crc32_less_than_16
      Src: /src/libgcrypt/cipher/crc-intel-pclmul.c:1323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - pcrc
    - inbuf
    - inlen
    - hwfeatures
    argTypes:
    - u32*
    - byte*
    - size_t
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1333
    functionName: ASM_FUNC_ATTR::_gcry_crc24rfc2440_intel_pclmul
    functionSourceFile: /src/libgcrypt/cipher/crc-intel-pclmul.c
    functionUses: 0
    functionsReached:
    - crc32_bulk
    - crc32_less_than_16
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR\n_gcry_crc24rfc2440_intel_pclmul (u32 *pcrc, const
      byte *inbuf, size_t inlen,\n\t\t\t\t u32 hwfeatures)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_poly1305_s390x_blocks1
      Src: /src/libgcrypt/cipher/poly1305.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - buf
    - len
    - high_pad
    argTypes:
    - poly1305_context_t*
    - byte*
    - size_t
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: poly1305_blocks
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached:
    - _gcry_poly1305_s390x_blocks1
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int poly1305_blocks (poly1305_context_t *ctx, const byte
      *buf, size_t len,\n\t\t byte high_pad)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_poly1305_amd64_avx512_blocks
      Src: /src/libgcrypt/cipher/poly1305.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - poly1305_context_t*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: poly1305_amd64_avx512_blocks
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 1
    functionsReached:
    - _gcry_poly1305_amd64_avx512_blocks
    linkageType: ''
    returnType: ASM_FUNC_WRAPPER_ATTR
    signature: "ASM_FUNC_WRAPPER_ATTR poly1305_amd64_avx512_blocks(poly1305_context_t
      *ctx, const byte *buf,\n\t\t\t     size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/poly1305.c:123,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/poly1305.c:148,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/poly1305.c:149,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/poly1305.c:150,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/poly1305.c:151,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/poly1305.c:153,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/poly1305.c:154,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/poly1305.c:155,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/poly1305.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - poly1305_context_t*
    - byte[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 157
    functionName: poly1305_init
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached:
    - _gcry_get_hw_features
    - buf_get_le32
    linkageType: ''
    returnType: void
    signature: "void poly1305_init (poly1305_context_t *ctx,\n\t\t\t   const byte
      key[POLY1305_KEYLEN])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: ADD_1305_64
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_1305_64(A2, A1, A0, B2, B1, B0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - )
    argTypes:
    - auto
    - auto
    - 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: ADD_1305_64
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_1305_64(A2, A1, A0, B2, B1, B0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: ADD_1305_64
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_1305_64(A2, A1, A0, B2, B1, B0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: ADD_1305_64
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_1305_64(A2, A1, A0, B2, B1, B0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - H2
    - ','
    - H1
    - ','
    - H0
    - ','
    - R1
    - ','
    - R0
    - ','
    - R1_MULT5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: MUL_MOD_1305_64
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUL_MOD_1305_64(H2, H1, H0, R1, R0, R1_MULT5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/poly1305.c:257,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/poly1305.c:258,1
    - Dst: ADD_1305_64
      Src: /src/libgcrypt/cipher/poly1305.c:265,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/poly1305.c:267,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/poly1305.c:268,1
    - Dst: MUL_MOD_1305_64
      Src: /src/libgcrypt/cipher/poly1305.c:271,1
    - Dst: ADD_1305_64
      Src: /src/libgcrypt/cipher/poly1305.c:278,1
    - Dst: MUL_MOD_1305_64
      Src: /src/libgcrypt/cipher/poly1305.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - buf
    - len
    - high_pad
    argTypes:
    - poly1305_context_t*
    - byte*
    - size_t
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 290
    functionName: poly1305_blocks_generic
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached:
    - MUL_MOD_1305_64
    - ADD_1305_64
    - buf_get_le64
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int poly1305_blocks_generic (poly1305_context_t *ctx, const
      byte *buf, size_t len,\n\t\t\t byte high_pad)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: poly1305_amd64_avx512_blocks
      Src: /src/libgcrypt/cipher/poly1305.c:298,1
    - Dst: poly1305_blocks_generic
      Src: /src/libgcrypt/cipher/poly1305.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - buf
    - len
    - high_pad
    argTypes:
    - poly1305_context_t*
    - byte*
    - size_t
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 302
    functionName: poly1305_blocks
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached:
    - poly1305_amd64_avx512_blocks
    - poly1305_blocks_generic
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int poly1305_blocks (poly1305_context_t *ctx, const byte
      *buf, size_t len,\n\t\t byte high_pad)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/poly1305.c:322,1
    - Dst: poly1305_blocks
      Src: /src/libgcrypt/cipher/poly1305.c:326,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/cipher/poly1305.c:337,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/cipher/poly1305.c:338,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/cipher/poly1305.c:343,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/cipher/poly1305.c:346,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/poly1305.c:347,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/poly1305.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - mac
    argTypes:
    - poly1305_context_t*
    - byte[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 352
    functionName: poly1305_final
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached:
    - poly1305_blocks
    - memset
    - buf_put_le64
    - add_ssaaaa
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int poly1305_final (poly1305_context_t *ctx,\n\t\t\t\t    byte
      mac[POLY1305_TAGLEN])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - HI
    - ','
    - LO
    - ','
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: UMUL_ADD_32
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UMUL_ADD_32(HI, LO, A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - )
    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: 380
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 380
    functionName: ADD_1305_32
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_1305_32(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - )
    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: 414
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 414
    functionName: ADD_1305_32
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_1305_32(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - HI
    - ','
    - LO
    - ','
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: UMUL_ADD_32
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UMUL_ADD_32(HI, LO, A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - )
    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: 438
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 438
    functionName: ADD_1305_32
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_1305_32(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - H4
    - ','
    - H3
    - ','
    - H2
    - ','
    - H1
    - ','
    - H0
    - ','
    - R3
    - ','
    - R2
    - ','
    - R1
    - ','
    - R0
    - ','
    - R3_MULT5
    - ','
    - R2_MULT5
    - ','
    - R1_MULT5
    - )
    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: 446
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: MUL_MOD_1305_32
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "MUL_MOD_1305_32(H4, H3, H2, H1, H0, R3, R2, R1, R0, \\\n                        R3_MULT5,
      R2_MULT5, R1_MULT5)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/poly1305.c:507,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/poly1305.c:508,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/poly1305.c:509,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/poly1305.c:510,1
    - Dst: ADD_1305_32
      Src: /src/libgcrypt/cipher/poly1305.c:513,1
    - Dst: MUL_MOD_1305_32
      Src: /src/libgcrypt/cipher/poly1305.c:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - buf
    - len
    - high_pad
    argTypes:
    - poly1305_context_t*
    - byte*
    - size_t
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 531
    functionName: poly1305_blocks
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 1
    functionsReached:
    - MUL_MOD_1305_32
    - buf_get_le32
    - ADD_1305_32
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int poly1305_blocks (poly1305_context_t *ctx, const byte
      *buf, size_t len,\n\t\t byte high_pad)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/poly1305.c:549,1
    - Dst: poly1305_blocks
      Src: /src/libgcrypt/cipher/poly1305.c:553,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/cipher/poly1305.c:563,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/cipher/poly1305.c:564,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/cipher/poly1305.c:565,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/cipher/poly1305.c:566,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/cipher/poly1305.c:571,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/cipher/poly1305.c:572,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/cipher/poly1305.c:573,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/cipher/poly1305.c:574,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/cipher/poly1305.c:577,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/cipher/poly1305.c:578,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/cipher/poly1305.c:579,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/cipher/poly1305.c:580,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/cipher/poly1305.c:581,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/cipher/poly1305.c:582,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/poly1305.c:585,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/poly1305.c:586,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/poly1305.c:587,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/poly1305.c:588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 2
    argNames:
    - ctx
    - mac
    argTypes:
    - poly1305_context_t*
    - byte[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 592
    functionName: poly1305_final
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached:
    - poly1305_blocks
    - buf_put_le32
    - memset
    - add_ssaaaa
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int poly1305_final (poly1305_context_t *ctx,\n\t\t\t\t    byte
      mac[POLY1305_TAGLEN])"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/poly1305.c:610,1
    - Dst: poly1305_blocks
      Src: /src/libgcrypt/cipher/poly1305.c:616,1
    - Dst: gcry_poly1305_p10le_4blocks
      Src: /src/libgcrypt/cipher/poly1305.c:628,1
    - Dst: poly1305_blocks
      Src: /src/libgcrypt/cipher/poly1305.c:639,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/poly1305.c:648,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - m
    - bytes
    argTypes:
    - poly1305_context_t*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 653
    functionName: _gcry_poly1305_update_burn
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached:
    - poly1305_blocks
    - buf_cpy
    - gcry_poly1305_p10le_4blocks
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_poly1305_update_burn (poly1305_context_t *ctx,
      const byte *m,\n\t\t\t    size_t bytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_poly1305_update_burn
      Src: /src/libgcrypt/cipher/poly1305.c:661,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/poly1305.c:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - m
    - bytes
    argTypes:
    - poly1305_context_t*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 656
    functionDepth: 3
    functionLinenumber: 656
    functionLinenumberEnd: 665
    functionName: _gcry_poly1305_update
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - _gcry_poly1305_update_burn
    linkageType: ''
    returnType: void
    signature: void _gcry_poly1305_update (poly1305_context_t *ctx, const byte *m,
      size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly1305_final
      Src: /src/libgcrypt/cipher/poly1305.c:673,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/poly1305.c:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - mac
    argTypes:
    - poly1305_context_t*
    - byte[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 676
    functionName: _gcry_poly1305_finish
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - poly1305_final
    linkageType: ''
    returnType: void
    signature: void _gcry_poly1305_finish (poly1305_context_t *ctx, byte mac[POLY1305_TAGLEN])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: selftest
      Src: /src/libgcrypt/cipher/poly1305.c:689,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/poly1305.c:691,1
    - Dst: poly1305_init
      Src: /src/libgcrypt/cipher/poly1305.c:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - poly1305_context_t*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 679
    functionDepth: 2
    functionLinenumber: 679
    functionLinenumberEnd: 703
    functionName: _gcry_poly1305_init
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached:
    - poly1305_init
    - selftest
    - log_error
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_poly1305_init (poly1305_context_t * ctx, const
      byte * key,\n\t\t     size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/poly1305.c:712,1
    - Dst: _gcry_poly1305_init
      Src: /src/libgcrypt/cipher/poly1305.c:714,1
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/poly1305.c:715,1
    - Dst: _gcry_poly1305_finish
      Src: /src/libgcrypt/cipher/poly1305.c:716,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/poly1305.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - mac
    - m
    - bytes
    - key
    argTypes:
    - byte[]
    - byte*
    - size_t
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 706
    functionDepth: 4
    functionLinenumber: 706
    functionLinenumberEnd: 719
    functionName: poly1305_auth
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 0
    functionsReached:
    - _gcry_poly1305_init
    - _gcry_poly1305_update
    - wipememory
    - memset
    - _gcry_poly1305_finish
    linkageType: ''
    returnType: void
    signature: "void poly1305_auth (byte mac[POLY1305_TAGLEN], const byte * m, size_t
      bytes,\n\t       const byte * key)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/poly1305.c:798,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/poly1305.c:799,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/poly1305.c:801,1
    - Dst: poly1305_auth
      Src: /src/libgcrypt/cipher/poly1305.c:802,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/poly1305.c:803,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/poly1305.c:808,1
    - Dst: _gcry_poly1305_init
      Src: /src/libgcrypt/cipher/poly1305.c:809,1
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/poly1305.c:810,1
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/poly1305.c:811,1
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/poly1305.c:812,1
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/poly1305.c:813,1
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/poly1305.c:814,1
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/poly1305.c:815,1
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/poly1305.c:816,1
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/poly1305.c:817,1
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/poly1305.c:818,1
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/poly1305.c:819,1
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/poly1305.c:820,1
    - Dst: _gcry_poly1305_finish
      Src: /src/libgcrypt/cipher/poly1305.c:821,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/poly1305.c:822,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/poly1305.c:825,1
    - Dst: poly1305_auth
      Src: /src/libgcrypt/cipher/poly1305.c:826,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/poly1305.c:827,1
    - Dst: _gcry_poly1305_init
      Src: /src/libgcrypt/cipher/poly1305.c:830,1
    - Dst: poly1305_auth
      Src: /src/libgcrypt/cipher/poly1305.c:838,1
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/poly1305.c:839,1
    - Dst: _gcry_poly1305_finish
      Src: /src/libgcrypt/cipher/poly1305.c:841,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/poly1305.c:842,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 722
    functionDepth: 5
    functionLinenumber: 722
    functionLinenumberEnd: 846
    functionName: selftest
    functionSourceFile: /src/libgcrypt/cipher/poly1305.c
    functionUses: 19
    functionsReached:
    - _gcry_poly1305_init
    - _gcry_poly1305_update
    - memcmp
    - memset
    - _gcry_poly1305_finish
    - poly1305_auth
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: _gcry_mac_init
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_mac_init (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/cipher/mac.c:428,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/mac.c:430,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/mac.c:432,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/mac.c:434,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/mac.c:442,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 445
    functionName: spec_from_algo
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 7
    functionsReached:
    - DIM
    - gcry_assert
    linkageType: ''
    returnType: gcry_mac_spec_t
    signature: 'gcry_mac_spec_t *

      spec_from_algo (int algo)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/libgcrypt/cipher/mac.c:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 460
    functionName: spec_from_name
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 1
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: gcry_mac_spec_t
    signature: 'gcry_mac_spec_t *

      spec_from_name (const char *name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_name
      Src: /src/libgcrypt/cipher/mac.c:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 480
    functionName: _gcry_mac_map_name
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 1
    functionsReached:
    - spec_from_name
    linkageType: ''
    returnType: int
    signature: int _gcry_mac_map_name (const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/mac.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 496
    functionName: _gcry_mac_algo_name
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 1
    functionsReached:
    - spec_from_algo
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_mac_algo_name (int algorithm)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/mac.c:504,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/mac.c:505,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 509
    functionName: check_mac_algo
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 0
    functionsReached:
    - spec_from_algo
    - fips_mode
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t check_mac_algo (int algorithm)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/mac.c:523,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/mac.c:528,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/mac.c:530,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/mac.c:533,1
    - Dst: xtrycalloc_secure
      Src: /src/libgcrypt/cipher/mac.c:542,1
    - Dst: xtrycalloc
      Src: /src/libgcrypt/cipher/mac.c:544,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/mac.c:547,1
    - Dst: gcry_mac_hd_t::spec::ops::open
      Src: /src/libgcrypt/cipher/mac.c:554,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/mac.c:556,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 4
    argNames:
    - hd
    - algo
    - flags
    - ctx
    argTypes:
    - gcry_mac_hd_t*
    - int
    - unsigned int
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 561
    functionName: mac_open
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 11
    functionsReached:
    - spec_from_algo
    - fips_check_rejection
    - xtrycalloc_secure
    - fips_service_indicator_mark_non_compliant
    - gpg_err_code_from_syserror
    - fips_mode
    - gcry_mac_hd_t::spec::ops::open
    - xfree
    - xtrycalloc
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t mac_open (gcry_mac_hd_t * hd, int algo, unsigned int
      flags, gcry_ctx_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_hd_t::spec::ops::reset
      Src: /src/libgcrypt/cipher/mac.c:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hd
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 571
    functionName: mac_reset
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 5
    functionsReached:
    - gcry_mac_hd_t::spec::ops::reset
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t mac_reset (gcry_mac_hd_t hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_hd_t::spec::ops::close
      Src: /src/libgcrypt/cipher/mac.c:578,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/mac.c:580,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/mac.c:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hd
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 583
    functionName: mac_close
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 12
    functionsReached:
    - wipememory
    - gcry_mac_hd_t::spec::ops::close
    - xfree
    linkageType: ''
    returnType: void
    signature: void mac_close (gcry_mac_hd_t hd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_hd_t::spec::ops::setkey
      Src: /src/libgcrypt/cipher/mac.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - hd
    - key
    - keylen
    argTypes:
    - gcry_mac_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 595
    functionName: mac_setkey
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 11
    functionsReached:
    - gcry_mac_hd_t::spec::ops::setkey
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t mac_setkey (gcry_mac_hd_t hd, const void *key, size_t
      keylen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_hd_t::spec::ops::setiv
      Src: /src/libgcrypt/cipher/mac.c:606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - hd
    - iv
    - ivlen
    argTypes:
    - gcry_mac_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 607
    functionName: mac_setiv
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 4
    functionsReached:
    - gcry_mac_hd_t::spec::ops::setiv
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t mac_setiv (gcry_mac_hd_t hd, const void *iv, size_t
      ivlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_hd_t::spec::ops::write
      Src: /src/libgcrypt/cipher/mac.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - hd
    - inbuf
    - inlen
    argTypes:
    - gcry_mac_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 619
    functionName: mac_write
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 16
    functionsReached:
    - gcry_mac_hd_t::spec::ops::write
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t mac_write (gcry_mac_hd_t hd, const void *inbuf, size_t
      inlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_hd_t::spec::ops::read
      Src: /src/libgcrypt/cipher/mac.c:628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - hd
    - outbuf
    - outlen
    argTypes:
    - gcry_mac_hd_t
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 629
    functionName: mac_read
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 11
    functionsReached:
    - gcry_mac_hd_t::spec::ops::read
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t mac_read (gcry_mac_hd_t hd, void *outbuf, size_t *
      outlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_hd_t::spec::ops::verify
      Src: /src/libgcrypt/cipher/mac.c:638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - hd
    - buf
    - buflen
    argTypes:
    - gcry_mac_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 639
    functionName: mac_verify
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 4
    functionsReached:
    - gcry_mac_hd_t::spec::ops::verify
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t mac_verify (gcry_mac_hd_t hd, const void *buf, size_t
      buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mac_open
      Src: /src/libgcrypt/cipher/mac.c:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - h
    - algo
    - flags
    - ctx
    argTypes:
    - gcry_mac_hd_t*
    - int
    - unsigned int
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 659
    functionName: _gcry_mac_open
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 4
    functionsReached:
    - mac_open
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_mac_open (gcry_mac_hd_t * h, int algo, unsigned
      int flags,\n                gcry_ctx_t ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mac_close
      Src: /src/libgcrypt/cipher/mac.c:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - hd
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 667
    functionName: _gcry_mac_close
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 5
    functionsReached:
    - mac_close
    linkageType: ''
    returnType: void
    signature: void _gcry_mac_close (gcry_mac_hd_t hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mac_setkey
      Src: /src/libgcrypt/cipher/mac.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hd
    - key
    - keylen
    argTypes:
    - gcry_mac_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 674
    functionName: _gcry_mac_setkey
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 5
    functionsReached:
    - mac_setkey
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_mac_setkey (gcry_mac_hd_t hd, const void *key,
      size_t keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mac_setiv
      Src: /src/libgcrypt/cipher/mac.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hd
    - iv
    - ivlen
    argTypes:
    - gcry_mac_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 681
    functionName: _gcry_mac_setiv
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 1
    functionsReached:
    - mac_setiv
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_mac_setiv (gcry_mac_hd_t hd, const void *iv,
      size_t ivlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mac_write
      Src: /src/libgcrypt/cipher/mac.c:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hd
    - inbuf
    - inlen
    argTypes:
    - gcry_mac_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: _gcry_mac_write
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 5
    functionsReached:
    - mac_write
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_mac_write (gcry_mac_hd_t hd, const void *inbuf,
      size_t inlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mac_read
      Src: /src/libgcrypt/cipher/mac.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hd
    - outbuf
    - outlen
    argTypes:
    - gcry_mac_hd_t
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 695
    functionName: _gcry_mac_read
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 5
    functionsReached:
    - mac_read
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_mac_read (gcry_mac_hd_t hd, void *outbuf, size_t
      * outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mac_verify
      Src: /src/libgcrypt/cipher/mac.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hd
    - buf
    - buflen
    argTypes:
    - gcry_mac_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 702
    functionName: _gcry_mac_verify
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 2
    functionsReached:
    - mac_verify
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_mac_verify (gcry_mac_hd_t hd, const void *buf,
      size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 709
    functionName: _gcry_mac_get_algo
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gcry_mac_get_algo (gcry_mac_hd_t hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/mac.c:717,1
    - Dst: gcry_mac_spec_t*::ops::get_maclen
      Src: /src/libgcrypt/cipher/mac.c:721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 722
    functionName: _gcry_mac_get_algo_maclen
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 5
    functionsReached:
    - spec_from_algo
    - gcry_mac_spec_t*::ops::get_maclen
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_mac_get_algo_maclen (int algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/mac.c:730,1
    - Dst: gcry_mac_spec_t*::ops::get_keylen
      Src: /src/libgcrypt/cipher/mac.c:734,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 735
    functionName: _gcry_mac_get_algo_keylen
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 1
    functionsReached:
    - spec_from_algo
    - gcry_mac_spec_t*::ops::get_keylen
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_mac_get_algo_keylen (int algo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mac_reset
      Src: /src/libgcrypt/cipher/mac.c:751,1
    - Dst: gcry_mac_hd_t::spec::ops::set_extra_info
      Src: /src/libgcrypt/cipher/mac.c:755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - hd
    - cmd
    - buffer
    - buflen
    argTypes:
    - gcry_mac_hd_t
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 764
    functionName: _gcry_mac_ctl
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 4
    functionsReached:
    - gcry_mac_hd_t::spec::ops::set_extra_info
    - mac_reset
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_mac_ctl (gcry_mac_hd_t hd, int cmd, void *buffer,
      size_t buflen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mac_get_algo_keylen
      Src: /src/libgcrypt/cipher/mac.c:792,1
    - Dst: check_mac_algo
      Src: /src/libgcrypt/cipher/mac.c:804,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - algo
    - what
    - buffer
    - nbytes
    argTypes:
    - int
    - int
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 779
    functionDepth: 2
    functionLinenumber: 779
    functionLinenumberEnd: 812
    functionName: _gcry_mac_algo_info
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 1
    functionsReached:
    - _gcry_mac_get_algo_keylen
    - check_mac_algo
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_mac_algo_info (int algo, int what, void *buffer,
      size_t * nbytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/mac.c:822,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/mac.c:824,1
    - Dst: gcry_mac_spec_t*::ops::selftest
      Src: /src/libgcrypt/cipher/mac.c:826,1
    - Dst: report
      Src: /src/libgcrypt/cipher/mac.c:831,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/mac.c:833,1
    - Dst: gpg_error
      Src: /src/libgcrypt/cipher/mac.c:839,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 840
    functionName: _gcry_mac_selftest
    functionSourceFile: /src/libgcrypt/cipher/mac.c
    functionUses: 2
    functionsReached:
    - spec_from_algo
    - fips_mode
    - gpg_error
    - report
    - gcry_mac_spec_t*::ops::selftest
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _gcry_mac_selftest (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyvec_tobytes
      Src: /src/libgcrypt/cipher/kyber-kdep.c:118,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kyber-kdep.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - pk
    - seed
    argTypes:
    - uint8_t[]
    - polyvec*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: pack_pk
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 0
    functionsReached:
    - memcpy
    - polyvec_tobytes
    linkageType: ''
    returnType: void
    signature: "void pack_pk(uint8_t r[KYBER_INDCPA_PUBLICKEYBYTES],\n                    polyvec
      *pk,\n                    const uint8_t seed[KYBER_SYMBYTES])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyvec_frombytes
      Src: /src/libgcrypt/cipher/kyber-kdep.c:136,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kyber-kdep.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pk
    - seed
    - packedpk
    argTypes:
    - polyvec*
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: unpack_pk
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 0
    functionsReached:
    - polyvec_frombytes
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void unpack_pk(polyvec *pk,\n                      uint8_t seed[KYBER_SYMBYTES],\n
      \                     const uint8_t packedpk[KYBER_INDCPA_PUBLICKEYBYTES])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyvec_tobytes
      Src: /src/libgcrypt/cipher/kyber-kdep.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - sk
    argTypes:
    - uint8_t[]
    - polyvec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: pack_sk
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 0
    functionsReached:
    - polyvec_tobytes
    linkageType: ''
    returnType: void
    signature: void pack_sk(uint8_t r[KYBER_INDCPA_SECRETKEYBYTES], polyvec *sk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyvec_frombytes
      Src: /src/libgcrypt/cipher/kyber-kdep.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sk
    - packedsk
    argTypes:
    - polyvec*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: unpack_sk
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 0
    functionsReached:
    - polyvec_frombytes
    linkageType: ''
    returnType: void
    signature: void unpack_sk(polyvec *sk, const uint8_t packedsk[KYBER_INDCPA_SECRETKEYBYTES])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyvec_compress
      Src: /src/libgcrypt/cipher/kyber-kdep.c:179,1
    - Dst: poly_compress
      Src: /src/libgcrypt/cipher/kyber-kdep.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - b
    - v
    argTypes:
    - uint8_t[]
    - polyvec*
    - poly*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: pack_ciphertext
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 0
    functionsReached:
    - polyvec_compress
    - poly_compress
    linkageType: ''
    returnType: void
    signature: void pack_ciphertext(uint8_t r[KYBER_INDCPA_BYTES], polyvec *b, poly
      *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyvec_decompress
      Src: /src/libgcrypt/cipher/kyber-kdep.c:195,1
    - Dst: poly_decompress
      Src: /src/libgcrypt/cipher/kyber-kdep.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - b
    - v
    - c
    argTypes:
    - polyvec*
    - poly*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: unpack_ciphertext
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 0
    functionsReached:
    - poly_decompress
    - polyvec_decompress
    linkageType: ''
    returnType: void
    signature: void unpack_ciphertext(polyvec *b, poly *v, const uint8_t c[KYBER_INDCPA_BYTES])
  - 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: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: gen_a
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gen_a(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: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: gen_at
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gen_at(A,B)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xof_init
      Src: /src/libgcrypt/cipher/kyber-kdep.c:228,1
    - Dst: xof_absorb
      Src: /src/libgcrypt/cipher/kyber-kdep.c:230,1
    - Dst: xof_absorb
      Src: /src/libgcrypt/cipher/kyber-kdep.c:232,1
    - Dst: xof_squeezeblocks
      Src: /src/libgcrypt/cipher/kyber-kdep.c:234,1
    - Dst: rej_uniform
      Src: /src/libgcrypt/cipher/kyber-kdep.c:236,1
    - Dst: xof_squeezeblocks
      Src: /src/libgcrypt/cipher/kyber-kdep.c:239,1
    - Dst: rej_uniform
      Src: /src/libgcrypt/cipher/kyber-kdep.c:241,1
    - Dst: xof_close
      Src: /src/libgcrypt/cipher/kyber-kdep.c:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - a
    - seed
    - transposed
    argTypes:
    - polyvec*
    - uint8_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 246
    functionName: gen_matrix
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 0
    functionsReached:
    - rej_uniform
    - xof_absorb
    - xof_squeezeblocks
    - xof_close
    - xof_init
    linkageType: ''
    returnType: void
    signature: void gen_matrix(polyvec *a, const uint8_t seed[KYBER_SYMBYTES], int
      transposed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kyber-kdep.c:272,1
    - Dst: hash_g
      Src: /src/libgcrypt/cipher/kyber-kdep.c:274,1
    - Dst: gen_a
      Src: /src/libgcrypt/cipher/kyber-kdep.c:276,1
    - Dst: poly_getnoise_eta1
      Src: /src/libgcrypt/cipher/kyber-kdep.c:279,1
    - Dst: poly_getnoise_eta1
      Src: /src/libgcrypt/cipher/kyber-kdep.c:281,1
    - Dst: polyvec_ntt
      Src: /src/libgcrypt/cipher/kyber-kdep.c:283,1
    - Dst: polyvec_ntt
      Src: /src/libgcrypt/cipher/kyber-kdep.c:284,1
    - Dst: polyvec_basemul_acc_montgomery
      Src: /src/libgcrypt/cipher/kyber-kdep.c:288,1
    - Dst: poly_tomont
      Src: /src/libgcrypt/cipher/kyber-kdep.c:289,1
    - Dst: polyvec_add
      Src: /src/libgcrypt/cipher/kyber-kdep.c:292,1
    - Dst: polyvec_reduce
      Src: /src/libgcrypt/cipher/kyber-kdep.c:293,1
    - Dst: pack_sk
      Src: /src/libgcrypt/cipher/kyber-kdep.c:295,1
    - Dst: pack_pk
      Src: /src/libgcrypt/cipher/kyber-kdep.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - pk
    - sk
    - coins
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 297
    functionName: indcpa_keypair_derand
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 0
    functionsReached:
    - polyvec_ntt
    - gen_a
    - polyvec_basemul_acc_montgomery
    - poly_getnoise_eta1
    - pack_pk
    - polyvec_add
    - hash_g
    - pack_sk
    - polyvec_reduce
    - memcpy
    - poly_tomont
    linkageType: ''
    returnType: void
    signature: "void indcpa_keypair_derand(uint8_t pk[KYBER_INDCPA_PUBLICKEYBYTES],\n
      \                          uint8_t sk[KYBER_INDCPA_SECRETKEYBYTES],\n                           const
      uint8_t coins[KYBER_SYMBYTES])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unpack_pk
      Src: /src/libgcrypt/cipher/kyber-kdep.c:327,1
    - Dst: poly_frommsg
      Src: /src/libgcrypt/cipher/kyber-kdep.c:328,1
    - Dst: gen_at
      Src: /src/libgcrypt/cipher/kyber-kdep.c:329,1
    - Dst: poly_getnoise_eta1
      Src: /src/libgcrypt/cipher/kyber-kdep.c:332,1
    - Dst: poly_getnoise_eta2
      Src: /src/libgcrypt/cipher/kyber-kdep.c:334,1
    - Dst: poly_getnoise_eta2
      Src: /src/libgcrypt/cipher/kyber-kdep.c:335,1
    - Dst: polyvec_ntt
      Src: /src/libgcrypt/cipher/kyber-kdep.c:337,1
    - Dst: polyvec_basemul_acc_montgomery
      Src: /src/libgcrypt/cipher/kyber-kdep.c:341,1
    - Dst: polyvec_basemul_acc_montgomery
      Src: /src/libgcrypt/cipher/kyber-kdep.c:343,1
    - Dst: polyvec_invntt_tomont
      Src: /src/libgcrypt/cipher/kyber-kdep.c:345,1
    - Dst: poly_invntt_tomont
      Src: /src/libgcrypt/cipher/kyber-kdep.c:346,1
    - Dst: polyvec_add
      Src: /src/libgcrypt/cipher/kyber-kdep.c:348,1
    - Dst: poly_add
      Src: /src/libgcrypt/cipher/kyber-kdep.c:349,1
    - Dst: poly_add
      Src: /src/libgcrypt/cipher/kyber-kdep.c:350,1
    - Dst: polyvec_reduce
      Src: /src/libgcrypt/cipher/kyber-kdep.c:351,1
    - Dst: poly_reduce
      Src: /src/libgcrypt/cipher/kyber-kdep.c:352,1
    - Dst: pack_ciphertext
      Src: /src/libgcrypt/cipher/kyber-kdep.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - c
    - m
    - pk
    - coins
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 355
    functionName: indcpa_enc
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 0
    functionsReached:
    - polyvec_ntt
    - polyvec_basemul_acc_montgomery
    - poly_invntt_tomont
    - unpack_pk
    - poly_getnoise_eta1
    - poly_reduce
    - polyvec_add
    - pack_ciphertext
    - polyvec_reduce
    - poly_getnoise_eta2
    - polyvec_invntt_tomont
    - poly_add
    - gen_at
    - poly_frommsg
    linkageType: ''
    returnType: void
    signature: "void indcpa_enc(uint8_t c[KYBER_INDCPA_BYTES],\n                const
      uint8_t m[KYBER_INDCPA_MSGBYTES],\n                const uint8_t pk[KYBER_INDCPA_PUBLICKEYBYTES],\n
      \               const uint8_t coins[KYBER_SYMBYTES])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unpack_ciphertext
      Src: /src/libgcrypt/cipher/kyber-kdep.c:377,1
    - Dst: unpack_sk
      Src: /src/libgcrypt/cipher/kyber-kdep.c:378,1
    - Dst: polyvec_ntt
      Src: /src/libgcrypt/cipher/kyber-kdep.c:380,1
    - Dst: polyvec_basemul_acc_montgomery
      Src: /src/libgcrypt/cipher/kyber-kdep.c:381,1
    - Dst: poly_invntt_tomont
      Src: /src/libgcrypt/cipher/kyber-kdep.c:382,1
    - Dst: poly_sub
      Src: /src/libgcrypt/cipher/kyber-kdep.c:384,1
    - Dst: poly_reduce
      Src: /src/libgcrypt/cipher/kyber-kdep.c:385,1
    - Dst: poly_tomsg
      Src: /src/libgcrypt/cipher/kyber-kdep.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - m
    - c
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 388
    functionName: indcpa_dec
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 0
    functionsReached:
    - polyvec_ntt
    - polyvec_basemul_acc_montgomery
    - poly_invntt_tomont
    - poly_tomsg
    - poly_reduce
    - unpack_ciphertext
    - poly_sub
    - unpack_sk
    linkageType: ''
    returnType: void
    signature: "void indcpa_dec(uint8_t m[KYBER_INDCPA_MSGBYTES],\n                const
      uint8_t c[KYBER_INDCPA_BYTES],\n                const uint8_t sk[KYBER_INDCPA_SECRETKEYBYTES])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indcpa_keypair_derand
      Src: /src/libgcrypt/cipher/kyber-kdep.c:410,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kyber-kdep.c:411,1
    - Dst: hash_h
      Src: /src/libgcrypt/cipher/kyber-kdep.c:412,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kyber-kdep.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pk
    - sk
    - coins
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 416
    functionName: crypto_kem_keypair_derand
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 0
    functionsReached:
    - indcpa_keypair_derand
    - memcpy
    - hash_h
    linkageType: ''
    returnType: int
    signature: "int crypto_kem_keypair_derand(uint8_t *pk,\n                              uint8_t
      *sk,\n                              const uint8_t *coins)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kyber-kdep.c:444,1
    - Dst: hash_h
      Src: /src/libgcrypt/cipher/kyber-kdep.c:447,1
    - Dst: hash_g
      Src: /src/libgcrypt/cipher/kyber-kdep.c:448,1
    - Dst: indcpa_enc
      Src: /src/libgcrypt/cipher/kyber-kdep.c:451,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kyber-kdep.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ct
    - ss
    - pk
    - coins
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 435
    functionDepth: 4
    functionLinenumber: 435
    functionLinenumberEnd: 455
    functionName: crypto_kem_enc_derand
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 0
    functionsReached:
    - indcpa_enc
    - hash_g
    - memcpy
    - hash_h
    linkageType: ''
    returnType: int
    signature: "int crypto_kem_enc_derand(uint8_t *ct,\n                          uint8_t
      *ss,\n                          const uint8_t *pk,\n                          const
      uint8_t *coins)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indcpa_dec
      Src: /src/libgcrypt/cipher/kyber-kdep.c:485,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kyber-kdep.c:488,1
    - Dst: hash_g
      Src: /src/libgcrypt/cipher/kyber-kdep.c:489,1
    - Dst: indcpa_enc
      Src: /src/libgcrypt/cipher/kyber-kdep.c:492,1
    - Dst: verify1
      Src: /src/libgcrypt/cipher/kyber-kdep.c:494,1
    - Dst: rkprf
      Src: /src/libgcrypt/cipher/kyber-kdep.c:497,1
    - Dst: cmov
      Src: /src/libgcrypt/cipher/kyber-kdep.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ss
    - ct
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 474
    functionDepth: 4
    functionLinenumber: 474
    functionLinenumberEnd: 503
    functionName: crypto_kem_dec
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 1
    functionsReached:
    - cmov
    - rkprf
    - indcpa_dec
    - hash_g
    - memcpy
    - verify1
    - indcpa_enc
    linkageType: ''
    returnType: int
    signature: "int crypto_kem_dec(uint8_t *ss,\n                   const uint8_t
      *ct,\n                   const uint8_t *sk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_ulong_gen_mask
      Src: /src/libgcrypt/cipher/kyber-kdep.c:527,1
    - Dst: ct_ulong_gen_mask
      Src: /src/libgcrypt/cipher/kyber-kdep.c:558,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - uint8_t[]
    - polyvec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 579
    functionName: polyvec_compress
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 1
    functionsReached:
    - ct_ulong_gen_mask
    linkageType: ''
    returnType: void
    signature: void polyvec_compress(uint8_t r[KYBER_POLYVECCOMPRESSEDBYTES], const
      polyvec *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - polyvec*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 630
    functionName: polyvec_decompress
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void polyvec_decompress(polyvec *r, const uint8_t a[KYBER_POLYVECCOMPRESSEDBYTES])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_tobytes
      Src: /src/libgcrypt/cipher/kyber-kdep.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - uint8_t[]
    - polyvec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 646
    functionName: polyvec_tobytes
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 2
    functionsReached:
    - poly_tobytes
    linkageType: ''
    returnType: void
    signature: void polyvec_tobytes(uint8_t r[KYBER_POLYVECBYTES], const polyvec *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_frombytes
      Src: /src/libgcrypt/cipher/kyber-kdep.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - polyvec*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 663
    functionName: polyvec_frombytes
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 2
    functionsReached:
    - poly_frombytes
    linkageType: ''
    returnType: void
    signature: void polyvec_frombytes(polyvec *r, const uint8_t a[KYBER_POLYVECBYTES])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_ntt
      Src: /src/libgcrypt/cipher/kyber-kdep.c:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - polyvec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 677
    functionName: polyvec_ntt
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 3
    functionsReached:
    - poly_ntt
    linkageType: ''
    returnType: void
    signature: void polyvec_ntt(polyvec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_invntt_tomont
      Src: /src/libgcrypt/cipher/kyber-kdep.c:691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - polyvec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 692
    functionName: polyvec_invntt_tomont
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 1
    functionsReached:
    - poly_invntt_tomont
    linkageType: ''
    returnType: void
    signature: void polyvec_invntt_tomont(polyvec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_basemul_montgomery
      Src: /src/libgcrypt/cipher/kyber-kdep.c:709,1
    - Dst: poly_basemul_montgomery
      Src: /src/libgcrypt/cipher/kyber-kdep.c:711,1
    - Dst: poly_add
      Src: /src/libgcrypt/cipher/kyber-kdep.c:712,1
    - Dst: poly_reduce
      Src: /src/libgcrypt/cipher/kyber-kdep.c:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - poly*
    - polyvec*
    - polyvec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 704
    functionDepth: 3
    functionLinenumber: 704
    functionLinenumberEnd: 716
    functionName: polyvec_basemul_acc_montgomery
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 3
    functionsReached:
    - poly_basemul_montgomery
    - poly_add
    - poly_reduce
    linkageType: ''
    returnType: void
    signature: void polyvec_basemul_acc_montgomery(poly *r, const polyvec *a, const
      polyvec *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_reduce
      Src: /src/libgcrypt/cipher/kyber-kdep.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - polyvec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 732
    functionName: polyvec_reduce
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 2
    functionsReached:
    - poly_reduce
    linkageType: ''
    returnType: void
    signature: void polyvec_reduce(polyvec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_add
      Src: /src/libgcrypt/cipher/kyber-kdep.c:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - polyvec*
    - polyvec*
    - polyvec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 748
    functionName: polyvec_add
    functionSourceFile: /src/libgcrypt/cipher/kyber-kdep.c
    functionUses: 2
    functionsReached:
    - poly_add
    linkageType: ''
    returnType: void
    signature: void polyvec_add(polyvec *r, const polyvec *a, const polyvec *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - tab
    - len
    argTypes:
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 592
    functionName: prefetch_table
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prefetch_table(const volatile byte *tab, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prefetch_table
      Src: /src/libgcrypt/cipher/rijndael.c:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 606
    functionName: prefetch_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - prefetch_table
    linkageType: ''
    returnType: void
    signature: void prefetch_enc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prefetch_table
      Src: /src/libgcrypt/cipher/rijndael.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: prefetch_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - prefetch_table
    linkageType: ''
    returnType: void
    signature: void prefetch_dec(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - inb4
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 634
    functionName: sbox4
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 sbox4(u32 inb4)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/rijndael.c:655,1
    - Dst: selftest
      Src: /src/libgcrypt/cipher/rijndael.c:658,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/rijndael.c:660,1
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/rijndael.c:684,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/rijndael.c:689,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rijndael.c:773,1
    - Dst: _gcry_aes_riscv_zvkned_setup_acceleration
      Src: /src/libgcrypt/cipher/rijndael.c:847,1
    - Dst: _gcry_aes_vp_riscv_setup_acceleration
      Src: /src/libgcrypt/cipher/rijndael.c:873,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 217
    argCount: 4
    argNames:
    - ctx
    - key
    - keylen
    - bulk_ops
    argTypes:
    - RIJNDAEL_context*
    - byte*
    - unsigned
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 968
    functionName: do_setkey
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 4
    functionsReached:
    - log_error
    - _gcry_get_hw_features
    - fips_mode
    - selftest
    - memset
    - _gcry_aes_vp_riscv_setup_acceleration
    - _gcry_aes_riscv_zvkned_setup_acceleration
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t do_setkey (RIJNDAEL_context *ctx, const byte *key,
      const unsigned keylen,\n           cipher_bulk_ops_t *bulk_ops)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 1
    argNames:
    - ' HWF_INTEL_AESNI'
    argTypes:
    - hwfeatures
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 763
    functionName: if
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: else if (hwfeatures & HWF_INTEL_AESNI)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' HWF_INTEL_SSSE3'
    argTypes:
    - hwfeatures
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 794
    functionName: if
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: else if (hwfeatures & HWF_INTEL_SSSE3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ' HWF_ARM_AES'
    argTypes:
    - hwfeatures
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 817
    functionName: if
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: else if (hwfeatures & HWF_ARM_AES)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ' HWF_ARM_NEON'
    argTypes:
    - hwfeatures
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 840
    functionName: if
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: else if (hwfeatures & HWF_ARM_NEON)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ' HWF_PPC_VCRYPTO'
    argTypes:
    - hwfeatures
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 947
    functionName: if
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: else if (hwfeatures & HWF_PPC_VCRYPTO)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 959
    functionName: if
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: "else if (_gcry_aes_s390x_setup_acceleration (ctx, keylen, hwfeatures,\n\t\t\t\t\t
      \      bulk_ops))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_setkey
      Src: /src/libgcrypt/cipher/rijndael.c:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - context
    - key
    - keylen
    - bulk_ops
    argTypes:
    - void*
    - byte*
    - unsigned
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1027
    functionName: rijndael_setkey
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - do_setkey
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t rijndael_setkey (void *context, const byte *key, const
      unsigned keylen,\n                 cipher_bulk_ops_t *bulk_ops)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prefetch_enc
      Src: /src/libgcrypt/cipher/rijndael.c:1037,1
    - Dst: prefetch_dec
      Src: /src/libgcrypt/cipher/rijndael.c:1038,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1052,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1053,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1054,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1055,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1058,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1059,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1060,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1061,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1064,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1065,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1066,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1067,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1070,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1071,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1072,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1080
    functionName: prepare_decryption
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 13
    functionsReached:
    - rol
    - prefetch_dec
    - prefetch_enc
    linkageType: ''
    returnType: void
    signature: void prepare_decryption( RIJNDAEL_context *ctx )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/rijndael.c:1096,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/rijndael.c:1097,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/rijndael.c:1098,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/rijndael.c:1099,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1106,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1107,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1108,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1109,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1112,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1113,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1114,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1115,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1118,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1119,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1120,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1121,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1124,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1125,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1126,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1127,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1132,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1133,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1134,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1135,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1138,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1139,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1140,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1141,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1144,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1145,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1146,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1147,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1150,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1151,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1152,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1153,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1158,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1159,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1160,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1161,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1164,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1165,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1166,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1167,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1170,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1171,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1172,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1173,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1176,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1177,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1178,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1179,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/rijndael.c:1209,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/rijndael.c:1210,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/rijndael.c:1211,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/rijndael.c:1212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 97
    argCount: 3
    argNames:
    - ctx
    - b
    - a
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1216
    functionName: do_encrypt_fn
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - rol
    - buf_get_le32
    - buf_put_le32
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_encrypt_fn (const RIJNDAEL_context *ctx, unsigned
      char *b,\n               const unsigned char *a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_amd64_encrypt_block
      Src: /src/libgcrypt/cipher/rijndael.c:1225,1
    - Dst: _gcry_aes_arm_encrypt_block
      Src: /src/libgcrypt/cipher/rijndael.c:1228,1
    - Dst: do_encrypt_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - bx
    - ax
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1220
    functionDepth: 2
    functionLinenumber: 1220
    functionLinenumberEnd: 1233
    functionName: do_encrypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 7
    functionsReached:
    - _gcry_aes_amd64_encrypt_block
    - do_encrypt_fn
    - _gcry_aes_arm_encrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_encrypt (const RIJNDAEL_context *ctx,\n            unsigned
      char *bx, const unsigned char *ax)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RIJNDAEL_context*::prefetch_enc_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1242,1
    - Dst: RIJNDAEL_context*::encrypt_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - context
    - b
    - a
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1245
    functionName: rijndael_encrypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - RIJNDAEL_context*::prefetch_enc_fn
    - RIJNDAEL_context*::encrypt_fn
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rijndael_encrypt (void *context, byte *b, const byte *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RIJNDAEL_context*::prefetch_enc_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1264,1
    - Dst: encrypt_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1269,1
    - Dst: cipher_block_xor_2dst
      Src: /src/libgcrypt/cipher/rijndael.c:1271,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/rijndael.c:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1278
    functionName: _gcry_aes_cfb_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor_2dst
    - _gcry_burn_stack
    - RIJNDAEL_context*::prefetch_enc_fn
    - encrypt_fn
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_cfb_enc (void *context, unsigned char *iv,\n                   void
      *outbuf_arg, const void *inbuf_arg,\n                   size_t nblocks)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RIJNDAEL_context*::prefetch_enc_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1298,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/rijndael.c:1304,1
    - Dst: encrypt_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1306,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/rijndael.c:1315,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/rijndael.c:1318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 6
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - cbc_mac
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1285
    functionDepth: 2
    functionLinenumber: 1285
    functionLinenumberEnd: 1319
    functionName: _gcry_aes_cbc_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor
    - encrypt_fn
    - _gcry_burn_stack
    - RIJNDAEL_context*::prefetch_enc_fn
    - cipher_block_cpy
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_cbc_enc (void *context, unsigned char *iv,\n                   void
      *outbuf_arg, const void *inbuf_arg,\n                   size_t nblocks, int
      cbc_mac)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RIJNDAEL_context*::prefetch_enc_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1340,1
    - Dst: encrypt_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1345,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/rijndael.c:1347,1
    - Dst: cipher_block_add_be16
      Src: /src/libgcrypt/cipher/rijndael.c:1351,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael.c:1354,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/rijndael.c:1357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - context
    - ctr
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1327
    functionDepth: 2
    functionLinenumber: 1327
    functionLinenumberEnd: 1358
    functionName: _gcry_aes_ctr_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor
    - encrypt_fn
    - wipememory
    - _gcry_burn_stack
    - cipher_block_add_be16
    - RIJNDAEL_context*::prefetch_enc_fn
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_ctr_enc (void *context, unsigned char *ctr,\n                   void
      *outbuf_arg, const void *inbuf_arg,\n                   size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/rijndael.c:1374,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/rijndael.c:1375,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/rijndael.c:1376,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/rijndael.c:1377,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1386,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1387,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1388,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1389,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1392,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1393,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1394,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1395,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1398,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1399,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1400,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1401,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1404,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1405,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1406,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1407,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1412,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1413,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1414,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1415,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1418,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1419,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1420,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1421,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1424,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1425,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1426,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1427,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1430,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1431,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1432,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1433,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1437,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1438,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1439,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1440,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1443,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1444,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1445,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1446,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1449,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1450,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1451,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1452,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1455,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1456,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1457,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael.c:1458,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/rijndael.c:1486,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/rijndael.c:1487,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/rijndael.c:1488,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/rijndael.c:1489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 97
    argCount: 3
    argNames:
    - ctx
    - b
    - a
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1493
    functionName: do_decrypt_fn
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - rol
    - buf_get_le32
    - buf_put_le32
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_decrypt_fn (const RIJNDAEL_context *ctx, unsigned
      char *b,\n               const unsigned char *a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_amd64_decrypt_block
      Src: /src/libgcrypt/cipher/rijndael.c:1503,1
    - Dst: _gcry_aes_arm_decrypt_block
      Src: /src/libgcrypt/cipher/rijndael.c:1506,1
    - Dst: do_decrypt_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - bx
    - ax
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1498
    functionDepth: 2
    functionLinenumber: 1498
    functionLinenumberEnd: 1511
    functionName: do_decrypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 3
    functionsReached:
    - _gcry_aes_amd64_decrypt_block
    - _gcry_aes_arm_decrypt_block
    - do_decrypt_fn
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_decrypt (const RIJNDAEL_context *ctx, unsigned char
      *bx,\n            const unsigned char *ax)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RIJNDAEL_context*::prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael.c:1519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1522
    functionName: check_decryption_preparation
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - RIJNDAEL_context*::prepare_decryption
    linkageType: ''
    returnType: void
    signature: void check_decryption_preparation (RIJNDAEL_context *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_decryption_preparation
      Src: /src/libgcrypt/cipher/rijndael.c:1530,1
    - Dst: RIJNDAEL_context*::prefetch_dec_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1533,1
    - Dst: RIJNDAEL_context*::decrypt_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - context
    - b
    - a
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1525
    functionDepth: 1
    functionLinenumber: 1525
    functionLinenumberEnd: 1536
    functionName: rijndael_decrypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - RIJNDAEL_context*::prefetch_dec_fn
    - check_decryption_preparation
    - RIJNDAEL_context*::decrypt_fn
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rijndael_decrypt (void *context, byte *b, const byte *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RIJNDAEL_context*::prefetch_enc_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1555,1
    - Dst: encrypt_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1559,1
    - Dst: cipher_block_xor_n_copy
      Src: /src/libgcrypt/cipher/rijndael.c:1560,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/rijndael.c:1566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1543
    functionDepth: 3
    functionLinenumber: 1543
    functionLinenumberEnd: 1567
    functionName: _gcry_aes_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor_n_copy
    - RIJNDAEL_context*::prefetch_enc_fn
    - encrypt_fn
    - _gcry_burn_stack
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_cfb_dec (void *context, unsigned char *iv,\n                   void
      *outbuf_arg, const void *inbuf_arg,\n                   size_t nblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_decryption_preparation
      Src: /src/libgcrypt/cipher/rijndael.c:1586,1
    - Dst: RIJNDAEL_context*::prefetch_dec_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1589,1
    - Dst: decrypt_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1596,1
    - Dst: cipher_block_xor_n_copy_2
      Src: /src/libgcrypt/cipher/rijndael.c:1598,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael.c:1603,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/rijndael.c:1606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1574
    functionDepth: 2
    functionLinenumber: 1574
    functionLinenumberEnd: 1607
    functionName: _gcry_aes_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor_n_copy_2
    - RIJNDAEL_context*::prefetch_dec_fn
    - wipememory
    - _gcry_burn_stack
    - check_decryption_preparation
    - decrypt_fn
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_cbc_dec (void *context, unsigned char *iv,\n                   void
      *outbuf_arg, const void *inbuf_arg,\n                   size_t nblocks)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RIJNDAEL_context*::prefetch_enc_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1627,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael.c:1632,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/rijndael.c:1635,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/rijndael.c:1636,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/rijndael.c:1638,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/rijndael.c:1640,1
    - Dst: encrypt_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1641,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/rijndael.c:1642,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/rijndael.c:1643,1
    - Dst: check_decryption_preparation
      Src: /src/libgcrypt/cipher/rijndael.c:1654,1
    - Dst: RIJNDAEL_context*::prefetch_dec_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1657,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael.c:1662,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/rijndael.c:1665,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/rijndael.c:1666,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/rijndael.c:1668,1
    - Dst: decrypt_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1669,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/rijndael.c:1670,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/rijndael.c:1672,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/rijndael.c:1673,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/rijndael.c:1681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 5
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1612
    functionDepth: 3
    functionLinenumber: 1612
    functionLinenumberEnd: 1684
    functionName: _gcry_aes_ocb_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - RIJNDAEL_context*::prefetch_dec_fn
    - encrypt_fn
    - _gcry_burn_stack
    - RIJNDAEL_context*::prefetch_enc_fn
    - check_decryption_preparation
    - cipher_block_xor_1
    - ocb_get_l
    - decrypt_fn
    - cipher_block_cpy
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_aes_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg,\n
      \                    const void *inbuf_arg, size_t nblocks, int encrypt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RIJNDAEL_context*::prefetch_enc_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1698,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael.c:1703,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/rijndael.c:1706,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/rijndael.c:1708,1
    - Dst: encrypt_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1710,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/rijndael.c:1711,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael.c:1716,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/rijndael.c:1719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - c
    - abuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1688
    functionDepth: 3
    functionLinenumber: 1688
    functionLinenumberEnd: 1722
    functionName: _gcry_aes_ocb_auth
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor
    - encrypt_fn
    - wipememory
    - _gcry_burn_stack
    - RIJNDAEL_context*::prefetch_enc_fn
    - cipher_block_xor_1
    - ocb_get_l
    linkageType: ''
    returnType: size_t
    signature: size_t _gcry_aes_ocb_auth (gcry_cipher_hd_t c, const void *abuf_arg,
      size_t nblocks)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RIJNDAEL_context*::prefetch_enc_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1741,1
    - Dst: check_decryption_preparation
      Src: /src/libgcrypt/cipher/rijndael.c:1747,1
    - Dst: RIJNDAEL_context*::prefetch_dec_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1750,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/rijndael.c:1755,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/rijndael.c:1756,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/rijndael.c:1764,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/rijndael.c:1765,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/rijndael.c:1767,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/rijndael.c:1768,1
    - Dst: ct_ulong_gen_mask
      Src: /src/libgcrypt/cipher/rijndael.c:1771,1
    - Dst: crypt_fn
      Src: /src/libgcrypt/cipher/rijndael.c:1775,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/rijndael.c:1777,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/rijndael.c:1777,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/rijndael.c:1778,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/rijndael.c:1778,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/rijndael.c:1785,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/rijndael.c:1786,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/rijndael.c:1789,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 6
    argNames:
    - context
    - tweak
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1790
    functionName: _gcry_aes_xts_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - buf_get_le64
    - crypt_fn
    - RIJNDAEL_context*::prefetch_dec_fn
    - ct_ulong_gen_mask
    - _gcry_burn_stack
    - check_decryption_preparation
    - RIJNDAEL_context*::prefetch_enc_fn
    - buf_put_le64
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_xts_crypt (void *context, unsigned char *tweak,\n\t\t
      \    void *outbuf_arg, const void *inbuf_arg,\n\t\t     size_t nblocks, int
      encrypt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rijndael_setkey
      Src: /src/libgcrypt/cipher/rijndael.c:1844,1
    - Dst: rijndael_encrypt
      Src: /src/libgcrypt/cipher/rijndael.c:1845,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/rijndael.c:1846,1
    - Dst: rijndael_decrypt
      Src: /src/libgcrypt/cipher/rijndael.c:1850,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/rijndael.c:1851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1794
    functionDepth: 2
    functionLinenumber: 1794
    functionLinenumberEnd: 1855
    functionName: selftest_basic_128
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - rijndael_setkey
    - rijndael_decrypt
    - rijndael_encrypt
    - memcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest_basic_128 (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rijndael_setkey
      Src: /src/libgcrypt/cipher/rijndael.c:1885,1
    - Dst: rijndael_encrypt
      Src: /src/libgcrypt/cipher/rijndael.c:1886,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/rijndael.c:1887,1
    - Dst: rijndael_decrypt
      Src: /src/libgcrypt/cipher/rijndael.c:1891,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/rijndael.c:1892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1858
    functionDepth: 2
    functionLinenumber: 1858
    functionLinenumberEnd: 1896
    functionName: selftest_basic_192
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - rijndael_setkey
    - rijndael_decrypt
    - rijndael_encrypt
    - memcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest_basic_192 (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rijndael_setkey
      Src: /src/libgcrypt/cipher/rijndael.c:1928,1
    - Dst: rijndael_encrypt
      Src: /src/libgcrypt/cipher/rijndael.c:1929,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/rijndael.c:1930,1
    - Dst: rijndael_decrypt
      Src: /src/libgcrypt/cipher/rijndael.c:1934,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/rijndael.c:1935,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1900
    functionDepth: 2
    functionLinenumber: 1900
    functionLinenumberEnd: 1939
    functionName: selftest_basic_256
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - rijndael_setkey
    - rijndael_decrypt
    - rijndael_encrypt
    - memcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest_basic_256 (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: selftest_basic_128
      Src: /src/libgcrypt/cipher/rijndael.c:1949,1
    - Dst: selftest_basic_192
      Src: /src/libgcrypt/cipher/rijndael.c:1950,1
    - Dst: selftest_basic_256
      Src: /src/libgcrypt/cipher/rijndael.c:1951,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1944
    functionDepth: 3
    functionLinenumber: 1944
    functionLinenumberEnd: 1955
    functionName: selftest
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 21
    functionsReached:
    - selftest_basic_256
    - selftest_basic_192
    - selftest_basic_128
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest (void)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/rijndael.c:2043,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/rijndael.c:2044,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/rijndael.c:2046,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/rijndael.c:2049,1
    - Dst: Fail
      Src: /src/libgcrypt/cipher/rijndael.c:2050,1
    - Dst: _gcry_cipher_open_internal
      Src: /src/libgcrypt/cipher/rijndael.c:2052,1
    - Dst: Fail
      Src: /src/libgcrypt/cipher/rijndael.c:2055,1
    - Dst: _gcry_cipher_open_internal
      Src: /src/libgcrypt/cipher/rijndael.c:2056,1
    - Dst: Fail
      Src: /src/libgcrypt/cipher/rijndael.c:2059,1
    - Dst: _gcry_cipher_setkey
      Src: /src/libgcrypt/cipher/rijndael.c:2060,1
    - Dst: _gcry_cipher_setkey
      Src: /src/libgcrypt/cipher/rijndael.c:2062,1
    - Dst: Fail
      Src: /src/libgcrypt/cipher/rijndael.c:2064,1
    - Dst: _gcry_cipher_setiv
      Src: /src/libgcrypt/cipher/rijndael.c:2065,1
    - Dst: _gcry_cipher_setiv
      Src: /src/libgcrypt/cipher/rijndael.c:2067,1
    - Dst: Fail
      Src: /src/libgcrypt/cipher/rijndael.c:2069,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/rijndael.c:2070,1
    - Dst: _gcry_cipher_encrypt
      Src: /src/libgcrypt/cipher/rijndael.c:2072,1
    - Dst: Fail
      Src: /src/libgcrypt/cipher/rijndael.c:2076,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/rijndael.c:2077,1
    - Dst: Fail
      Src: /src/libgcrypt/cipher/rijndael.c:2078,1
    - Dst: _gcry_cipher_decrypt
      Src: /src/libgcrypt/cipher/rijndael.c:2079,1
    - Dst: Fail
      Src: /src/libgcrypt/cipher/rijndael.c:2083,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/rijndael.c:2084,1
    - Dst: Fail
      Src: /src/libgcrypt/cipher/rijndael.c:2085,1
    - Dst: _gcry_cipher_close
      Src: /src/libgcrypt/cipher/rijndael.c:2089,1
    - Dst: _gcry_cipher_close
      Src: /src/libgcrypt/cipher/rijndael.c:2090,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 1
    argNames:
    - requested_mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2092
      start: 1959
    functionDepth: 5
    functionLinenumber: 1959
    functionLinenumberEnd: 2092
    functionName: selftest_fips_128_38a
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    - _gcry_cipher_open_internal
    - _gcry_cipher_setkey
    - DIM
    - _gcry_cipher_setiv
    - _gcry_cipher_close
    - memcmp
    - Fail
    - _gcry_cipher_encrypt
    - _gcry_cipher_decrypt
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest_fips_128_38a (int requested_mode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2042
      start: 2037
    functionDepth: 0
    functionLinenumber: 2037
    functionLinenumberEnd: 2042
    functionName: Fail
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Fail(a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: selftest_basic_128
      Src: /src/libgcrypt/cipher/rijndael.c:2103,1
    - Dst: selftest_fips_128_38a
      Src: /src/libgcrypt/cipher/rijndael.c:2110,1
    - Dst: selftest_fips_128_38a
      Src: /src/libgcrypt/cipher/rijndael.c:2115,1
    - Dst: report
      Src: /src/libgcrypt/cipher/rijndael.c:2124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2096
    functionDepth: 6
    functionLinenumber: 2096
    functionLinenumberEnd: 2126
    functionName: selftest_fips_128
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - report
    - selftest_fips_128_38a
    - selftest_basic_128
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftest_fips_128 (int extended, selftest_report_func_t
      report)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: selftest_basic_192
      Src: /src/libgcrypt/cipher/rijndael.c:2138,1
    - Dst: report
      Src: /src/libgcrypt/cipher/rijndael.c:2147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2129
    functionDepth: 3
    functionLinenumber: 2129
    functionLinenumberEnd: 2149
    functionName: selftest_fips_192
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - selftest_basic_192
    - report
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftest_fips_192 (int extended, selftest_report_func_t
      report)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: selftest_basic_256
      Src: /src/libgcrypt/cipher/rijndael.c:2162,1
    - Dst: report
      Src: /src/libgcrypt/cipher/rijndael.c:2170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2153
    functionDepth: 3
    functionLinenumber: 2153
    functionLinenumberEnd: 2172
    functionName: selftest_fips_256
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 0
    functionsReached:
    - report
    - selftest_basic_256
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftest_fips_256 (int extended, selftest_report_func_t
      report)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: selftest_fips_128
      Src: /src/libgcrypt/cipher/rijndael.c:2185,1
    - Dst: selftest_fips_192
      Src: /src/libgcrypt/cipher/rijndael.c:2188,1
    - Dst: selftest_fips_256
      Src: /src/libgcrypt/cipher/rijndael.c:2191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2177
    functionDepth: 7
    functionLinenumber: 2177
    functionLinenumberEnd: 2199
    functionName: run_selftests
    functionSourceFile: /src/libgcrypt/cipher/rijndael.c
    functionUses: 4
    functionsReached:
    - selftest_fips_256
    - selftest_fips_128
    - selftest_fips_192
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t run_selftests (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyt1_pack
      Src: /src/libgcrypt/cipher/dilithium-dep.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pk
    - rho
    - t1
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - polyveck*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: pack_pk
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 2
    functionsReached:
    - polyt1_pack
    linkageType: ''
    returnType: void
    signature: "void pack_pk(uint8_t pk[CRYPTO_PUBLICKEYBYTES],\n             const
      uint8_t rho[SEEDBYTES],\n             const polyveck *t1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyt1_unpack
      Src: /src/libgcrypt/cipher/dilithium-dep.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - rho
    - t1
    - pk
    argTypes:
    - uint8_t[]
    - polyveck*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: unpack_pk
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 1
    functionsReached:
    - polyt1_unpack
    linkageType: ''
    returnType: void
    signature: "void unpack_pk(uint8_t rho[SEEDBYTES],\n               polyveck *t1,\n
      \              const uint8_t pk[CRYPTO_PUBLICKEYBYTES])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyeta_pack
      Src: /src/libgcrypt/cipher/dilithium-dep.c:214,1
    - Dst: polyeta_pack
      Src: /src/libgcrypt/cipher/dilithium-dep.c:218,1
    - Dst: polyt0_pack
      Src: /src/libgcrypt/cipher/dilithium-dep.c:222,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 7
    argNames:
    - sk
    - rho
    - tr
    - key
    - t0
    - s1
    - s2
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - polyveck*
    - polyvecl*
    - polyveck*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 223
    functionName: pack_sk
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 2
    functionsReached:
    - polyt0_pack
    - polyeta_pack
    linkageType: ''
    returnType: void
    signature: "void pack_sk(uint8_t sk[CRYPTO_SECRETKEYBYTES],\n             const
      uint8_t rho[SEEDBYTES],\n             const uint8_t tr[TRBYTES],\n             const
      uint8_t key[SEEDBYTES],\n             const polyveck *t0,\n             const
      polyvecl *s1,\n             const polyveck *s2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyeta_unpack
      Src: /src/libgcrypt/cipher/dilithium-dep.c:261,1
    - Dst: polyeta_unpack
      Src: /src/libgcrypt/cipher/dilithium-dep.c:265,1
    - Dst: polyt0_unpack
      Src: /src/libgcrypt/cipher/dilithium-dep.c:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 7
    argNames:
    - rho
    - tr
    - key
    - t0
    - s1
    - s2
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - polyveck*
    - polyvecl*
    - polyveck*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 270
    functionName: unpack_sk
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 1
    functionsReached:
    - polyeta_unpack
    - polyt0_unpack
    linkageType: ''
    returnType: void
    signature: "void unpack_sk(uint8_t rho[SEEDBYTES],\n               uint8_t tr[TRBYTES],\n
      \              uint8_t key[SEEDBYTES],\n               polyveck *t0,\n               polyvecl
      *s1,\n               polyveck *s2,\n               const uint8_t sk[CRYPTO_SECRETKEYBYTES])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: polyz_pack
      Src: /src/libgcrypt/cipher/dilithium-dep.c:294,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - sig
    - c
    - z
    - h
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - polyvecl*
    - polyveck*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 309
    functionName: pack_sig
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - polyz_pack
    linkageType: ''
    returnType: void
    signature: "void pack_sig(uint8_t sig[CRYPTO_BYTES],\n              const uint8_t
      c[CTILDEBYTES],\n              const polyvecl *z,\n              const polyveck
      *h)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: polyz_unpack
      Src: /src/libgcrypt/cipher/dilithium-dep.c:336,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - c
    - z
    - h
    - sig
    argTypes:
    - uint8_t[]
    - polyvecl*
    - polyveck*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 363
    functionName: unpack_sig
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - polyz_unpack
    linkageType: ''
    returnType: int
    signature: "int unpack_sig(uint8_t c[CTILDEBYTES],\n               polyvecl *z,\n
      \              polyveck *h,\n               const uint8_t sig[CRYPTO_BYTES])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shake256_init
      Src: /src/libgcrypt/cipher/dilithium-dep.c:382,1
    - Dst: shake256_absorb
      Src: /src/libgcrypt/cipher/dilithium-dep.c:383,1
    - Dst: shake256_finalize
      Src: /src/libgcrypt/cipher/dilithium-dep.c:384,1
    - Dst: shake256_squeezeblocks
      Src: /src/libgcrypt/cipher/dilithium-dep.c:385,1
    - Dst: shake256_squeezeblocks
      Src: /src/libgcrypt/cipher/dilithium-dep.c:397,1
    - Dst: shake256_close
      Src: /src/libgcrypt/cipher/dilithium-dep.c:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - c
    - seed
    argTypes:
    - poly*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 409
    functionName: poly_challenge
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - shake256_close
    - shake256_finalize
    - shake256_absorb
    - shake256_squeezeblocks
    - shake256_init
    linkageType: ''
    returnType: void
    signature: void poly_challenge(poly *c, const uint8_t seed[CTILDEBYTES])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_uniform
      Src: /src/libgcrypt/cipher/dilithium-dep.c:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - mat
    - rho
    argTypes:
    - polyvecl[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: polyvec_matrix_expand
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_uniform
    linkageType: ''
    returnType: void
    signature: void polyvec_matrix_expand(polyvecl mat[K], const uint8_t rho[SEEDBYTES])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyvecl_pointwise_acc_montgomery
      Src: /src/libgcrypt/cipher/dilithium-dep.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - t
    - mat
    - v
    argTypes:
    - polyveck*
    - polyvecl[]
    - polyvecl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: polyvec_matrix_pointwise_montgomery
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - polyvecl_pointwise_acc_montgomery
    linkageType: ''
    returnType: void
    signature: void polyvec_matrix_pointwise_montgomery(polyveck *t, const polyvecl
      mat[K], const polyvecl *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_uniform_eta
      Src: /src/libgcrypt/cipher/dilithium-dep.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - v
    - seed
    - nonce
    argTypes:
    - polyvecl*
    - uint8_t[]
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: polyvecl_uniform_eta
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_uniform_eta
    linkageType: ''
    returnType: void
    signature: void polyvecl_uniform_eta(polyvecl *v, const uint8_t seed[CRHBYTES],
      uint16_t nonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_uniform_gamma1
      Src: /src/libgcrypt/cipher/dilithium-dep.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - v
    - seed
    - nonce
    argTypes:
    - polyvecl*
    - uint8_t[]
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 453
    functionName: polyvecl_uniform_gamma1
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_uniform_gamma1
    linkageType: ''
    returnType: void
    signature: void polyvecl_uniform_gamma1(polyvecl *v, const uint8_t seed[CRHBYTES],
      uint16_t nonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_reduce
      Src: /src/libgcrypt/cipher/dilithium-dep.c:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - polyvecl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 460
    functionName: polyvecl_reduce
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_reduce
    linkageType: ''
    returnType: void
    signature: void polyvecl_reduce(polyvecl *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_add
      Src: /src/libgcrypt/cipher/dilithium-dep.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - w
    - u
    - v
    argTypes:
    - polyvecl*
    - polyvecl*
    - polyvecl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 477
    functionName: polyvecl_add
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_add
    linkageType: ''
    returnType: void
    signature: void polyvecl_add(polyvecl *w, const polyvecl *u, const polyvecl *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_ntt
      Src: /src/libgcrypt/cipher/dilithium-dep.c:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - polyvecl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 492
    functionName: polyvecl_ntt
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_ntt
    linkageType: ''
    returnType: void
    signature: void polyvecl_ntt(polyvecl *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_invntt_tomont
      Src: /src/libgcrypt/cipher/dilithium-dep.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - polyvecl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: polyvecl_invntt_tomont
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_invntt_tomont
    linkageType: ''
    returnType: void
    signature: void polyvecl_invntt_tomont(polyvecl *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_pointwise_montgomery
      Src: /src/libgcrypt/cipher/dilithium-dep.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - v
    argTypes:
    - polyvecl*
    - poly*
    - polyvecl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 506
    functionName: polyvecl_pointwise_poly_montgomery
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_pointwise_montgomery
    linkageType: ''
    returnType: void
    signature: void polyvecl_pointwise_poly_montgomery(polyvecl *r, const poly *a,
      const polyvecl *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_pointwise_montgomery
      Src: /src/libgcrypt/cipher/dilithium-dep.c:526,1
    - Dst: poly_pointwise_montgomery
      Src: /src/libgcrypt/cipher/dilithium-dep.c:528,1
    - Dst: poly_add
      Src: /src/libgcrypt/cipher/dilithium-dep.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - w
    - u
    - v
    argTypes:
    - poly*
    - polyvecl*
    - polyvecl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 531
    functionName: polyvecl_pointwise_acc_montgomery
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 1
    functionsReached:
    - poly_pointwise_montgomery
    - poly_add
    linkageType: ''
    returnType: void
    signature: "void polyvecl_pointwise_acc_montgomery(poly *w,\n                                       const
      polyvecl *u,\n                                       const polyvecl *v)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: poly_chknorm
      Src: /src/libgcrypt/cipher/dilithium-dep.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - v
    - bound
    argTypes:
    - polyvecl*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 553
    functionName: polyvecl_chknorm
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_chknorm
    linkageType: ''
    returnType: int
    signature: int polyvecl_chknorm(const polyvecl *v, int32_t bound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_uniform_eta
      Src: /src/libgcrypt/cipher/dilithium-dep.c:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - v
    - seed
    - nonce
    argTypes:
    - polyveck*
    - uint8_t[]
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 564
    functionName: polyveck_uniform_eta
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_uniform_eta
    linkageType: ''
    returnType: void
    signature: void polyveck_uniform_eta(polyveck *v, const uint8_t seed[CRHBYTES],
      uint16_t nonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_reduce
      Src: /src/libgcrypt/cipher/dilithium-dep.c:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - polyveck*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 579
    functionName: polyveck_reduce
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_reduce
    linkageType: ''
    returnType: void
    signature: void polyveck_reduce(polyveck *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_caddq
      Src: /src/libgcrypt/cipher/dilithium-dep.c:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - polyveck*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 594
    functionName: polyveck_caddq
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_caddq
    linkageType: ''
    returnType: void
    signature: void polyveck_caddq(polyveck *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_add
      Src: /src/libgcrypt/cipher/dilithium-dep.c:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - w
    - u
    - v
    argTypes:
    - polyveck*
    - polyveck*
    - polyveck*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 611
    functionName: polyveck_add
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_add
    linkageType: ''
    returnType: void
    signature: void polyveck_add(polyveck *w, const polyveck *u, const polyveck *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_sub
      Src: /src/libgcrypt/cipher/dilithium-dep.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - w
    - u
    - v
    argTypes:
    - polyveck*
    - polyveck*
    - polyveck*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 629
    functionName: polyveck_sub
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_sub
    linkageType: ''
    returnType: void
    signature: void polyveck_sub(polyveck *w, const polyveck *u, const polyveck *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_shiftl
      Src: /src/libgcrypt/cipher/dilithium-dep.c:643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - polyveck*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 644
    functionName: polyveck_shiftl
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_shiftl
    linkageType: ''
    returnType: void
    signature: void polyveck_shiftl(polyveck *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_ntt
      Src: /src/libgcrypt/cipher/dilithium-dep.c:658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - polyveck*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 659
    functionName: polyveck_ntt
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_ntt
    linkageType: ''
    returnType: void
    signature: void polyveck_ntt(polyveck *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_invntt_tomont
      Src: /src/libgcrypt/cipher/dilithium-dep.c:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - polyveck*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 675
    functionName: polyveck_invntt_tomont
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_invntt_tomont
    linkageType: ''
    returnType: void
    signature: void polyveck_invntt_tomont(polyveck *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_pointwise_montgomery
      Src: /src/libgcrypt/cipher/dilithium-dep.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - v
    argTypes:
    - polyveck*
    - poly*
    - polyveck*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 682
    functionName: polyveck_pointwise_poly_montgomery
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_pointwise_montgomery
    linkageType: ''
    returnType: void
    signature: void polyveck_pointwise_poly_montgomery(polyveck *r, const poly *a,
      const polyveck *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: poly_chknorm
      Src: /src/libgcrypt/cipher/dilithium-dep.c:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - v
    - bound
    argTypes:
    - polyveck*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 705
    functionName: polyveck_chknorm
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_chknorm
    linkageType: ''
    returnType: int
    signature: int polyveck_chknorm(const polyveck *v, int32_t bound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_power2round
      Src: /src/libgcrypt/cipher/dilithium-dep.c:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - v1
    - v0
    - v
    argTypes:
    - polyveck*
    - polyveck*
    - polyveck*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 726
    functionName: polyveck_power2round
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_power2round
    linkageType: ''
    returnType: void
    signature: void polyveck_power2round(polyveck *v1, polyveck *v0, const polyveck
      *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_decompose
      Src: /src/libgcrypt/cipher/dilithium-dep.c:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - v1
    - v0
    - v
    argTypes:
    - polyveck*
    - polyveck*
    - polyveck*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 748
    functionName: polyveck_decompose
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_decompose
    linkageType: ''
    returnType: void
    signature: void polyveck_decompose(polyveck *v1, polyveck *v0, const polyveck
      *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_make_hint
      Src: /src/libgcrypt/cipher/dilithium-dep.c:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - h
    - v0
    - v1
    argTypes:
    - polyveck*
    - polyveck*
    - polyveck*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 771
    functionName: polyveck_make_hint
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_make_hint
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int polyveck_make_hint(polyveck *h,\n                                const
      polyveck *v0,\n                                const polyveck *v1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_use_hint
      Src: /src/libgcrypt/cipher/dilithium-dep.c:787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - w
    - u
    - h
    argTypes:
    - polyveck*
    - polyveck*
    - polyveck*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 788
    functionName: polyveck_use_hint
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - poly_use_hint
    linkageType: ''
    returnType: void
    signature: void polyveck_use_hint(polyveck *w, const polyveck *u, const polyveck
      *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polyw1_pack
      Src: /src/libgcrypt/cipher/dilithium-dep.c:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - r
    - w1
    argTypes:
    - uint8_t[]
    - polyveck*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 795
    functionName: polyveck_pack_w1
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - polyw1_pack
    linkageType: ''
    returnType: void
    signature: void polyveck_pack_w1(uint8_t r[K*POLYW1_PACKEDBYTES], const polyveck
      *w1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randombytes
      Src: /src/libgcrypt/cipher/dilithium-dep.c:820,1
    - Dst: shake256
      Src: /src/libgcrypt/cipher/dilithium-dep.c:823,1
    - Dst: polyvec_matrix_expand
      Src: /src/libgcrypt/cipher/dilithium-dep.c:829,1
    - Dst: polyvecl_uniform_eta
      Src: /src/libgcrypt/cipher/dilithium-dep.c:832,1
    - Dst: polyveck_uniform_eta
      Src: /src/libgcrypt/cipher/dilithium-dep.c:833,1
    - Dst: polyvecl_ntt
      Src: /src/libgcrypt/cipher/dilithium-dep.c:837,1
    - Dst: polyvec_matrix_pointwise_montgomery
      Src: /src/libgcrypt/cipher/dilithium-dep.c:838,1
    - Dst: polyveck_reduce
      Src: /src/libgcrypt/cipher/dilithium-dep.c:839,1
    - Dst: polyveck_invntt_tomont
      Src: /src/libgcrypt/cipher/dilithium-dep.c:840,1
    - Dst: polyveck_add
      Src: /src/libgcrypt/cipher/dilithium-dep.c:843,1
    - Dst: polyveck_caddq
      Src: /src/libgcrypt/cipher/dilithium-dep.c:846,1
    - Dst: polyveck_power2round
      Src: /src/libgcrypt/cipher/dilithium-dep.c:847,1
    - Dst: pack_pk
      Src: /src/libgcrypt/cipher/dilithium-dep.c:848,1
    - Dst: shake256
      Src: /src/libgcrypt/cipher/dilithium-dep.c:851,1
    - Dst: pack_sk
      Src: /src/libgcrypt/cipher/dilithium-dep.c:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 811
    functionDepth: 3
    functionLinenumber: 811
    functionLinenumberEnd: 855
    functionName: crypto_sign_keypair
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - polyveck_invntt_tomont
    - polyveck_reduce
    - polyveck_power2round
    - pack_pk
    - polyveck_add
    - polyveck_uniform_eta
    - polyvecl_uniform_eta
    - polyvec_matrix_pointwise_montgomery
    - polyveck_caddq
    - polyvec_matrix_expand
    - pack_sk
    - shake256
    - randombytes
    - polyvecl_ntt
    linkageType: ''
    returnType: int
    signature: int crypto_sign_keypair(uint8_t *pk, uint8_t *sk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shake256
      Src: /src/libgcrypt/cipher/dilithium-dep.c:873,1
    - Dst: polyvec_matrix_expand
      Src: /src/libgcrypt/cipher/dilithium-dep.c:879,1
    - Dst: polyvecl_uniform_eta
      Src: /src/libgcrypt/cipher/dilithium-dep.c:882,1
    - Dst: polyveck_uniform_eta
      Src: /src/libgcrypt/cipher/dilithium-dep.c:883,1
    - Dst: polyvecl_ntt
      Src: /src/libgcrypt/cipher/dilithium-dep.c:887,1
    - Dst: polyvec_matrix_pointwise_montgomery
      Src: /src/libgcrypt/cipher/dilithium-dep.c:888,1
    - Dst: polyveck_reduce
      Src: /src/libgcrypt/cipher/dilithium-dep.c:889,1
    - Dst: polyveck_invntt_tomont
      Src: /src/libgcrypt/cipher/dilithium-dep.c:890,1
    - Dst: polyveck_add
      Src: /src/libgcrypt/cipher/dilithium-dep.c:893,1
    - Dst: polyveck_caddq
      Src: /src/libgcrypt/cipher/dilithium-dep.c:896,1
    - Dst: polyveck_power2round
      Src: /src/libgcrypt/cipher/dilithium-dep.c:897,1
    - Dst: pack_pk
      Src: /src/libgcrypt/cipher/dilithium-dep.c:898,1
    - Dst: shake256
      Src: /src/libgcrypt/cipher/dilithium-dep.c:901,1
    - Dst: pack_sk
      Src: /src/libgcrypt/cipher/dilithium-dep.c:902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 3
    argNames:
    - pk
    - sk
    - seed
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 857
    functionDepth: 3
    functionLinenumber: 857
    functionLinenumberEnd: 905
    functionName: crypto_sign_keypair_internal
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - polyveck_invntt_tomont
    - polyveck_reduce
    - polyveck_power2round
    - pack_pk
    - polyveck_add
    - polyveck_uniform_eta
    - polyvecl_uniform_eta
    - polyvec_matrix_pointwise_montgomery
    - polyveck_caddq
    - polyvec_matrix_expand
    - pack_sk
    - shake256
    - polyvecl_ntt
    linkageType: ''
    returnType: int
    signature: "int crypto_sign_keypair_internal(uint8_t *pk, uint8_t *sk,\n                                 const
      uint8_t seed[SEEDBYTES])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unpack_sk
      Src: /src/libgcrypt/cipher/dilithium-dep.c:947,1
    - Dst: shake256_init
      Src: /src/libgcrypt/cipher/dilithium-dep.c:950,1
    - Dst: shake256_absorb
      Src: /src/libgcrypt/cipher/dilithium-dep.c:951,1
    - Dst: shake256_absorb
      Src: /src/libgcrypt/cipher/dilithium-dep.c:952,1
    - Dst: shake256_absorb
      Src: /src/libgcrypt/cipher/dilithium-dep.c:953,1
    - Dst: shake256_finalize
      Src: /src/libgcrypt/cipher/dilithium-dep.c:954,1
    - Dst: shake256_squeeze
      Src: /src/libgcrypt/cipher/dilithium-dep.c:955,1
    - Dst: shake256_close
      Src: /src/libgcrypt/cipher/dilithium-dep.c:956,1
    - Dst: shake256_init
      Src: /src/libgcrypt/cipher/dilithium-dep.c:959,1
    - Dst: shake256_absorb
      Src: /src/libgcrypt/cipher/dilithium-dep.c:960,1
    - Dst: shake256_absorb
      Src: /src/libgcrypt/cipher/dilithium-dep.c:961,1
    - Dst: shake256_absorb
      Src: /src/libgcrypt/cipher/dilithium-dep.c:962,1
    - Dst: shake256_finalize
      Src: /src/libgcrypt/cipher/dilithium-dep.c:963,1
    - Dst: shake256_squeeze
      Src: /src/libgcrypt/cipher/dilithium-dep.c:964,1
    - Dst: shake256_close
      Src: /src/libgcrypt/cipher/dilithium-dep.c:965,1
    - Dst: polyvec_matrix_expand
      Src: /src/libgcrypt/cipher/dilithium-dep.c:968,1
    - Dst: polyvecl_ntt
      Src: /src/libgcrypt/cipher/dilithium-dep.c:969,1
    - Dst: polyveck_ntt
      Src: /src/libgcrypt/cipher/dilithium-dep.c:970,1
    - Dst: polyveck_ntt
      Src: /src/libgcrypt/cipher/dilithium-dep.c:971,1
    - Dst: polyvecl_uniform_gamma1
      Src: /src/libgcrypt/cipher/dilithium-dep.c:975,1
    - Dst: polyvecl_ntt
      Src: /src/libgcrypt/cipher/dilithium-dep.c:979,1
    - Dst: polyvec_matrix_pointwise_montgomery
      Src: /src/libgcrypt/cipher/dilithium-dep.c:980,1
    - Dst: polyveck_reduce
      Src: /src/libgcrypt/cipher/dilithium-dep.c:981,1
    - Dst: polyveck_invntt_tomont
      Src: /src/libgcrypt/cipher/dilithium-dep.c:982,1
    - Dst: polyveck_caddq
      Src: /src/libgcrypt/cipher/dilithium-dep.c:985,1
    - Dst: polyveck_decompose
      Src: /src/libgcrypt/cipher/dilithium-dep.c:986,1
    - Dst: polyveck_pack_w1
      Src: /src/libgcrypt/cipher/dilithium-dep.c:987,1
    - Dst: shake256_init
      Src: /src/libgcrypt/cipher/dilithium-dep.c:989,1
    - Dst: shake256_absorb
      Src: /src/libgcrypt/cipher/dilithium-dep.c:990,1
    - Dst: shake256_absorb
      Src: /src/libgcrypt/cipher/dilithium-dep.c:991,1
    - Dst: shake256_finalize
      Src: /src/libgcrypt/cipher/dilithium-dep.c:992,1
    - Dst: shake256_squeeze
      Src: /src/libgcrypt/cipher/dilithium-dep.c:993,1
    - Dst: shake256_close
      Src: /src/libgcrypt/cipher/dilithium-dep.c:994,1
    - Dst: poly_challenge
      Src: /src/libgcrypt/cipher/dilithium-dep.c:995,1
    - Dst: poly_ntt
      Src: /src/libgcrypt/cipher/dilithium-dep.c:996,1
    - Dst: polyvecl_pointwise_poly_montgomery
      Src: /src/libgcrypt/cipher/dilithium-dep.c:999,1
    - Dst: polyvecl_invntt_tomont
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1000,1
    - Dst: polyvecl_add
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1001,1
    - Dst: polyvecl_reduce
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1002,1
    - Dst: polyvecl_chknorm
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1003,1
    - Dst: polyveck_pointwise_poly_montgomery
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1008,1
    - Dst: polyveck_invntt_tomont
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1009,1
    - Dst: polyveck_sub
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1010,1
    - Dst: polyveck_reduce
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1011,1
    - Dst: polyveck_chknorm
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1012,1
    - Dst: polyveck_pointwise_poly_montgomery
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1016,1
    - Dst: polyveck_invntt_tomont
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1017,1
    - Dst: polyveck_reduce
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1018,1
    - Dst: polyveck_chknorm
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1019,1
    - Dst: polyveck_add
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1022,1
    - Dst: polyveck_make_hint
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1023,1
    - Dst: pack_sig
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1028,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 72
    argCount: 8
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pre
    - prelen
    - rnd
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t[]
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 924
    functionDepth: 3
    functionLinenumber: 924
    functionLinenumberEnd: 1031
    functionName: crypto_sign_signature_internal
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - shake256_close
    - pack_sig
    - polyveck_ntt
    - polyveck_decompose
    - polyvecl_reduce
    - polyveck_pack_w1
    - polyveck_reduce
    - polyveck_pointwise_poly_montgomery
    - unpack_sk
    - polyvecl_chknorm
    - polyvecl_uniform_gamma1
    - shake256_finalize
    - polyvecl_invntt_tomont
    - polyvecl_ntt
    - polyvecl_add
    - polyveck_sub
    - polyveck_chknorm
    - shake256_squeeze
    - poly_ntt
    - polyveck_add
    - poly_challenge
    - polyvec_matrix_pointwise_montgomery
    - polyvec_matrix_expand
    - polyveck_invntt_tomont
    - polyvecl_pointwise_poly_montgomery
    - polyveck_caddq
    - polyveck_make_hint
    - shake256_absorb
    - shake256_init
    linkageType: ''
    returnType: int
    signature: "int crypto_sign_signature_internal(uint8_t *sig,\n                                   size_t
      *siglen,\n                                   const uint8_t *m,\n                                   size_t
      mlen,\n                                   const uint8_t *pre,\n                                   size_t
      prelen,\n                                   const uint8_t rnd[RNDBYTES],\n                                   const
      uint8_t *sk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: randombytes
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1071,1
    - Dst: crypto_sign_signature_internal
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1077,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 7
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - ctx
    - ctxlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1049
    functionDepth: 4
    functionLinenumber: 1049
    functionLinenumberEnd: 1079
    functionName: crypto_sign_signature
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - randombytes
    - crypto_sign_signature_internal
    linkageType: ''
    returnType: int
    signature: "int crypto_sign_signature(uint8_t *sig,\n                          size_t
      *siglen,\n                          const uint8_t *m,\n                          size_t
      mlen,\n                          const uint8_t *ctx,\n                          size_t
      ctxlen,\n                          const uint8_t *sk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_sign_signature
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - sm
    - smlen
    - m
    - mlen
    - ctx
    - ctxlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1101
    functionDepth: 5
    functionLinenumber: 1101
    functionLinenumberEnd: 1117
    functionName: crypto_sign
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int crypto_sign(uint8_t *sm,\n                size_t *smlen,\n                const
      uint8_t *m,\n                size_t mlen,\n                const uint8_t *ctx,\n
      \               size_t ctxlen,\n                const uint8_t *sk)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unpack_pk
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1157,1
    - Dst: unpack_sig
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1158,1
    - Dst: polyvecl_chknorm
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1160,1
    - Dst: shake256
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1164,1
    - Dst: shake256_init
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1165,1
    - Dst: shake256_absorb
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1166,1
    - Dst: shake256_absorb
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1167,1
    - Dst: shake256_absorb
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1168,1
    - Dst: shake256_finalize
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1169,1
    - Dst: shake256_squeeze
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1170,1
    - Dst: shake256_close
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1171,1
    - Dst: poly_challenge
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1174,1
    - Dst: polyvec_matrix_expand
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1175,1
    - Dst: polyvecl_ntt
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1177,1
    - Dst: polyvec_matrix_pointwise_montgomery
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1178,1
    - Dst: poly_ntt
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1180,1
    - Dst: polyveck_shiftl
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1181,1
    - Dst: polyveck_ntt
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1182,1
    - Dst: polyveck_pointwise_poly_montgomery
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1183,1
    - Dst: polyveck_sub
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1185,1
    - Dst: polyveck_reduce
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1186,1
    - Dst: polyveck_invntt_tomont
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1187,1
    - Dst: polyveck_caddq
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1190,1
    - Dst: polyveck_use_hint
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1191,1
    - Dst: polyveck_pack_w1
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1192,1
    - Dst: shake256_init
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1195,1
    - Dst: shake256_absorb
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1196,1
    - Dst: shake256_absorb
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1197,1
    - Dst: shake256_finalize
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1198,1
    - Dst: shake256_squeeze
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1199,1
    - Dst: shake256_close
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 7
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pre
    - prelen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1135
    functionDepth: 3
    functionLinenumber: 1135
    functionLinenumberEnd: 1206
    functionName: crypto_sign_verify_internal
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - unpack_pk
    - shake256_close
    - polyveck_ntt
    - polyveck_use_hint
    - polyveck_pack_w1
    - polyveck_reduce
    - polyveck_pointwise_poly_montgomery
    - polyvecl_chknorm
    - shake256_finalize
    - polyvecl_ntt
    - polyveck_sub
    - shake256_squeeze
    - polyveck_shiftl
    - poly_ntt
    - poly_challenge
    - polyvec_matrix_pointwise_montgomery
    - polyvec_matrix_expand
    - polyveck_invntt_tomont
    - unpack_sig
    - polyveck_caddq
    - shake256_absorb
    - shake256
    - shake256_init
    linkageType: ''
    returnType: int
    signature: "int crypto_sign_verify_internal(const uint8_t *sig,\n                                size_t
      siglen,\n                                const uint8_t *m,\n                                size_t
      mlen,\n                                const uint8_t *pre,\n                                size_t
      prelen,\n                                const uint8_t *pk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_sign_verify_internal
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - ctx
    - ctxlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1224
    functionDepth: 4
    functionLinenumber: 1224
    functionLinenumberEnd: 1244
    functionName: crypto_sign_verify
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - crypto_sign_verify_internal
    linkageType: ''
    returnType: int
    signature: "int crypto_sign_verify(const uint8_t *sig,\n                       size_t
      siglen,\n                       const uint8_t *m,\n                       size_t
      mlen,\n                       const uint8_t *ctx,\n                       size_t
      ctxlen,\n                       const uint8_t *pk)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_sign_verify
      Src: /src/libgcrypt/cipher/dilithium-dep.c:1278,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 7
    argNames:
    - m
    - mlen
    - sm
    - smlen
    - ctx
    - ctxlen
    - pk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1264
    functionDepth: 5
    functionLinenumber: 1264
    functionLinenumberEnd: 1294
    functionName: crypto_sign_open
    functionSourceFile: /src/libgcrypt/cipher/dilithium-dep.c
    functionUses: 0
    functionsReached:
    - crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int crypto_sign_open(uint8_t *m,\n                     size_t *mlen,\n
      \                    const uint8_t *sm,\n                     size_t smlen,\n
      \                    const uint8_t *ctx,\n                     size_t ctxlen,\n
      \                    const uint8_t *pk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctz
      Src: /src/libgcrypt/cipher/md4.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: md4_init
    functionSourceFile: /src/libgcrypt/cipher/md4.c
    functionUses: 0
    functionsReached:
    - _gcry_ctz
    linkageType: ''
    returnType: void
    signature: void md4_init (void *context, unsigned int flags)
  - 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: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: F
    functionSourceFile: /src/libgcrypt/cipher/md4.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F(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: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: G
    functionSourceFile: /src/libgcrypt/cipher/md4.c
    functionUses: 250
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G(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: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: H
    functionSourceFile: /src/libgcrypt/cipher/md4.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/md4.c:110,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:114,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:115,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:116,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:117,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:118,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:119,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:120,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:121,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:122,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:123,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:124,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:125,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:126,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:127,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:128,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:129,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:136,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:137,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:138,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:139,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:140,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:141,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:142,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:143,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:144,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:145,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:146,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:147,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:148,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:149,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:150,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:151,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:158,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:159,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:160,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:161,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:162,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:163,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:164,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:165,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:166,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:167,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:168,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:169,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:170,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:171,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:172,1
    - Dst: function
      Src: /src/libgcrypt/cipher/md4.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - c
    - data
    argTypes:
    - void*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 183
    functionName: transform_blk
    functionSourceFile: /src/libgcrypt/cipher/md4.c
    functionUses: 3
    functionsReached:
    - buf_get_le32
    - function
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int transform_blk ( void *c, const unsigned char *data )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: function
    functionSourceFile: /src/libgcrypt/cipher/md4.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: function(a,b,c,d,k,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: function
    functionSourceFile: /src/libgcrypt/cipher/md4.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: function(a,b,c,d,k,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: function
    functionSourceFile: /src/libgcrypt/cipher/md4.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: function(a,b,c,d,k,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transform_blk
      Src: /src/libgcrypt/cipher/md4.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - c
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: transform
    functionSourceFile: /src/libgcrypt/cipher/md4.c
    functionUses: 7
    functionsReached:
    - transform_blk
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int transform ( void *c, const unsigned char *data, size_t
      nblks )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/md4.c:239,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/md4.c:242,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/md4.c:243,1
    - Dst: transform
      Src: /src/libgcrypt/cipher/md4.c:244,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/md4.c:250,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/md4.c:253,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/md4.c:254,1
    - Dst: transform
      Src: /src/libgcrypt/cipher/md4.c:255,1
    - Dst: X
      Src: /src/libgcrypt/cipher/md4.c:260,1
    - Dst: X
      Src: /src/libgcrypt/cipher/md4.c:261,1
    - Dst: X
      Src: /src/libgcrypt/cipher/md4.c:262,1
    - Dst: X
      Src: /src/libgcrypt/cipher/md4.c:263,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/md4.c:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 269
    functionName: md4_final
    functionSourceFile: /src/libgcrypt/cipher/md4.c
    functionUses: 0
    functionsReached:
    - X
    - transform
    - _gcry_burn_stack
    - buf_put_le32
    - memset
    linkageType: ''
    returnType: void
    signature: void md4_final( void *context )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: X
    functionSourceFile: /src/libgcrypt/cipher/md4.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: md4_read
    functionSourceFile: /src/libgcrypt/cipher/md4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      md4_read (void *context)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - x
    - ','
    - lo_t
    - ','
    - hi_t
    - ','
    - mask4bit
    - ','
    - tmp0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: filter_8bit
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: filter_8bit(x, lo_t, hi_t, mask4bit, tmp0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: IF_VAES
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_VAES(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: IF_AESNI
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_AESNI(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: IF_GFNI
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_GFNI(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: IF_NOT_GFNI
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_NOT_GFNI(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a0
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: BV8
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BV8(a0,a1,a2,a3,a4,a5,a6,a7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - l0
    - ','
    - l1
    - ','
    - l2
    - ','
    - l3
    - ','
    - l4
    - ','
    - l5
    - ','
    - l6
    - ','
    - l7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: BM8X8
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BM8X8(l0,l1,l2,l3,l4,l5,l6,l7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 37
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - t0
    - ','
    - t1
    - ','
    - t2
    - ','
    - t3
    - ','
    - t4
    - ','
    - t5
    - ','
    - t6
    - ','
    - t7
    - ','
    - mem_cd
    - ','
    - key
    - )
    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: 157
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: roundsm32
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "roundsm32(x0, x1, x2, x3, x4, x5, x6, x7, t0, t1, t2, t3, t4, t5,
      \\\n\t\t  t6, t7, mem_cd, key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 37
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - t0
    - ','
    - t1
    - ','
    - t2
    - ','
    - t3
    - ','
    - t4
    - ','
    - t5
    - ','
    - t6
    - ','
    - t7
    - ','
    - mem_cd
    - ','
    - key
    - )
    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: 262
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 262
    functionName: roundsm32
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "roundsm32(x0, x1, x2, x3, x4, x5, x6, x7, t0, t1, t2, t3, t4, t5,
      \\\n\t\t  t6, t7, mem_cd, key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 43
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - y0
    - ','
    - y1
    - ','
    - y2
    - ','
    - y3
    - ','
    - y4
    - ','
    - y5
    - ','
    - y6
    - ','
    - y7
    - ','
    - mem_ab
    - ','
    - mem_cd
    - ','
    - i
    - ','
    - dir
    - ','
    - store_ab
    - )
    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: 432
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 432
    functionName: two_roundsm32
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "two_roundsm32(x0, x1, x2, x3, x4, x5, x6, x7, y0, y1, y2, y3, y4,
      y5, \\\n\t\t      y6, y7, mem_ab, mem_cd, i, dir, store_ab)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - mem_ab
    - )
    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: 445
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 445
    functionName: store_ab_state
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: store_ab_state(x0, x1, x2, x3, x4, x5, x6, x7, mem_ab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 39
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - y0
    - ','
    - y1
    - ','
    - y2
    - ','
    - y3
    - ','
    - y4
    - ','
    - y5
    - ','
    - y6
    - ','
    - y7
    - ','
    - mem_ab
    - ','
    - mem_cd
    - ','
    - i
    - )
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 454
    functionName: enc_rounds32
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "enc_rounds32(x0, x1, x2, x3, x4, x5, x6, x7, y0, y1, y2, y3, y4, y5,
      \\\n\t\t      y6, y7, mem_ab, mem_cd, i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 39
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - y0
    - ','
    - y1
    - ','
    - y2
    - ','
    - y3
    - ','
    - y4
    - ','
    - y5
    - ','
    - y6
    - ','
    - y7
    - ','
    - mem_ab
    - ','
    - mem_cd
    - ','
    - i
    - )
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 463
    functionName: dec_rounds32
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "dec_rounds32(x0, x1, x2, x3, x4, x5, x6, x7, y0, y1, y2, y3, y4, y5,
      \\\n\t\t      y6, y7, mem_ab, mem_cd, i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - v0
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - t0
    - ','
    - t1
    - ','
    - t2
    - ','
    - right_shift_by_7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 489
    functionName: rol32_1_32
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rol32_1_32(v0, v1, v2, v3, t0, t1, t2, right_shift_by_7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - v0
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - t0
    - ','
    - t1
    - ','
    - t2
    - ','
    - zero
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 512
    functionName: rol32_1_32
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rol32_1_32(v0, v1, v2, v3, t0, t1, t2, zero)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - t1
    - ','
    - t2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 639
    functionName: transpose_4x4
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: transpose_4x4(x0, x1, x2, x3, t1, t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 37
    argNames:
    - (
    - a0
    - ','
    - b0
    - ','
    - c0
    - ','
    - d0
    - ','
    - a1
    - ','
    - b1
    - ','
    - c1
    - ','
    - d1
    - ','
    - a2
    - ','
    - b2
    - ','
    - c2
    - ','
    - d2
    - ','
    - a3
    - ','
    - b3
    - ','
    - c3
    - ','
    - d3
    - ','
    - st0
    - ','
    - st1
    - )
    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: 688
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 688
    functionName: byteslice_16x16b_fast
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "byteslice_16x16b_fast(a0, b0, c0, d0, a1, b1, c1, d1, a2, b2, c2,
      d2, \\\n\t\t\t      a3, b3, c3, d3, st0, st1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 37
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - y0
    - ','
    - y1
    - ','
    - y2
    - ','
    - y3
    - ','
    - y4
    - ','
    - y5
    - ','
    - y6
    - ','
    - y7
    - ','
    - rio
    - ','
    - key
    - )
    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: 711
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 711
    functionName: inpack32_pre
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "inpack32_pre(x0, x1, x2, x3, x4, x5, x6, x7, y0, y1, y2, y3, y4, y5,
      \\\n\t\t     y6, y7, rio, key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 37
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - y0
    - ','
    - y1
    - ','
    - y2
    - ','
    - y3
    - ','
    - y4
    - ','
    - y5
    - ','
    - y6
    - ','
    - y7
    - ','
    - mem_ab
    - ','
    - mem_cd
    - )
    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: 734
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 734
    functionName: inpack32_post
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "inpack32_post(x0, x1, x2, x3, x4, x5, x6, x7, y0, y1, y2, y3, y4,
      y5, \\\n\t\t      y6, y7, mem_ab, mem_cd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 39
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - y0
    - ','
    - y1
    - ','
    - y2
    - ','
    - y3
    - ','
    - y4
    - ','
    - y5
    - ','
    - y6
    - ','
    - y7
    - ','
    - key
    - ','
    - stack_tmp0
    - ','
    - stack_tmp1
    - )
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 762
    functionName: outunpack32
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "outunpack32(x0, x1, x2, x3, x4, x5, x6, x7, y0, y1, y2, y3, y4, \\\n\t\t
      \   y5, y6, y7, key, stack_tmp0, stack_tmp1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 35
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - y0
    - ','
    - y1
    - ','
    - y2
    - ','
    - y3
    - ','
    - y4
    - ','
    - y5
    - ','
    - y6
    - ','
    - y7
    - ','
    - rio
    - )
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 781
    functionName: write_output
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "write_output(x0, x1, x2, x3, x4, x5, x6, x7, y0, y1, y2, y3, y4, y5,
      \\\n\t\t     y6, y7, rio)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 788
    functionName: SHUFB_BYTES
    functionSourceFile: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHUFB_BYTES(idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:42,1
    - Dst: _gcry_mpi_ec_internal_new
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r_ec
    - name
    argTypes:
    - mpi_ec_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: prepare_ec
    functionSourceFile: /src/libgcrypt/cipher/ecc-ecdh.c
    functionUses: 0
    functionsReached:
    - strcmp
    - _gcry_mpi_ec_internal_new
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t prepare_ec (mpi_ec_t *r_ec, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - curveid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: _gcry_ecc_get_algo_keylen
    functionSourceFile: /src/libgcrypt/cipher/ecc-ecdh.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_ecc_get_algo_keylen (int curveid)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - seckey
    - seckey_len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: ecc_tweak_bits
    functionSourceFile: /src/libgcrypt/cipher/ecc-ecdh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ecc_tweak_bits (unsigned char *seckey, size_t seckey_len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: prepare_ec
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:93,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:110,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:111,1
    - Dst: _gcry_randomize
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:112,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:113,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:115,1
    - Dst: _gcry_randomize
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:122,1
    - Dst: ecc_tweak_bits
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:127,1
    - Dst: _gcry_mpi_set_opaque_copy
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:128,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:133,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:134,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:136,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:140,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:141,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:143,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:147,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:148,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:150,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:152,1
    - Dst: _gcry_mpi_get_buffer
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:153,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:154,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:155,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:156,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:159,1
    - Dst: _gcry_ecc_ec2os_buf
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:161,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:164,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:165,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:176,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:178,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:179,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:184,1
    - Dst: _gcry_mpi_get_buffer
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:186,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:188,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:191,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:192,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:196,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:197,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:198,1
    - Dst: _gcry_mpi_ec_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:199,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 69
    argCount: 5
    argNames:
    - curve
    - pubkey
    - pubkey_len
    - seckey
    - seckey_len
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 201
    functionName: _gcry_ecc_curve_keypair
    functionSourceFile: /src/libgcrypt/cipher/ecc-ecdh.c
    functionUses: 1
    functionsReached:
    - _gcry_mpi_get_buffer
    - mpi_free
    - _gcry_mpi_ec_mul_point
    - point_init
    - memcpy
    - _gcry_mpi_set_opaque_copy
    - mpi_cmp
    - _gcry_ecc_ec2os_buf
    - prepare_ec
    - _gcry_mpi_ec_get_affine
    - point_free
    - _gcry_mpi_ec_free
    - gpg_err_code_from_syserror
    - mpi_new
    - memset
    - xfree
    - _gcry_randomize
    - _gcry_mpi_set_buffer
    - ecc_tweak_bits
    - mpi_sub
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_curve_keypair (const char *curve,\n                         unsigned
      char *pubkey, size_t pubkey_len,\n                         unsigned char *seckey,
      size_t seckey_len)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: prepare_ec
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:219,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:236,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:237,1
    - Dst: _gcry_mpi_set_opaque_copy
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:249,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:257,1
    - Dst: _gcry_mpi_set_opaque_copy
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:261,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:264,1
    - Dst: _gcry_ecc_sec_decodepoint
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:267,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:270,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:271,1
    - Dst: _gcry_mpi_ec_curve_point
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:274,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:277,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:278,1
    - Dst: _gcry_ecc_mont_decodepoint
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:284,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:287,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:288,1
    - Dst: _gcry_mpi_ec_bad_point
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:294,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:297,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:298,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:302,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:303,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:304,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:307,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:309,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:312,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:314,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:317,1
    - Dst: _gcry_ecc_ec2os_buf
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:321,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:324,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:325,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:336,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:338,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:339,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:344,1
    - Dst: _gcry_mpi_get_buffer
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:355,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:357,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:365,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:367,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:372,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:373,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:374,1
    - Dst: _gcry_mpi_ec_free
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:375,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 110
    argCount: 8
    argNames:
    - curve
    - enable_mont_check
    - result
    - result_len
    - scalar
    - scalar_len
    - point
    - point_len
    argTypes:
    - char*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 377
    functionName: _gcry_ecc_curve_mul_point
    functionSourceFile: /src/libgcrypt/cipher/ecc-ecdh.c
    functionUses: 1
    functionsReached:
    - _gcry_mpi_get_buffer
    - mpi_free
    - _gcry_mpi_ec_mul_point
    - point_init
    - _gcry_mpi_ec_bad_point
    - memcpy
    - _gcry_mpi_set_opaque_copy
    - _gcry_ecc_mont_decodepoint
    - _gcry_ecc_ec2os_buf
    - prepare_ec
    - _gcry_mpi_ec_curve_point
    - _gcry_mpi_ec_get_affine
    - point_free
    - _gcry_mpi_ec_free
    - gpg_err_code_from_syserror
    - mpi_new
    - xfree
    - _gcry_mpi_set_buffer
    - _gcry_ecc_sec_decodepoint
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_curve_mul_point (const char *curve, int enable_mont_check,\n
      \                          unsigned char *result, size_t result_len,\n                           const
      unsigned char *scalar, size_t scalar_len,\n                           const
      unsigned char *point, size_t point_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:397,1
    - Dst: _gcry_ecc_curve_mul_point
      Src: /src/libgcrypt/cipher/ecc-ecdh.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - curveid
    - result
    - scalar
    - point
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 379
    functionDepth: 4
    functionLinenumber: 379
    functionLinenumberEnd: 403
    functionName: _gcry_ecc_mul_point
    functionSourceFile: /src/libgcrypt/cipher/ecc-ecdh.c
    functionUses: 1
    functionsReached:
    - _gcry_ecc_curve_mul_point
    - gpg_error
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_mul_point (int curveid, unsigned char *result,\n
      \                    const unsigned char *scalar, const unsigned char *point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: ROTL32
    functionSourceFile: /src/libgcrypt/cipher/scrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL32(n,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: READ_UINT64
    functionSourceFile: /src/libgcrypt/cipher/scrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_UINT64(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: LE_READ_UINT64
    functionSourceFile: /src/libgcrypt/cipher/scrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LE_READ_UINT64(p)
  - 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: LE_SWAP32
    functionSourceFile: /src/libgcrypt/cipher/scrypt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LE_SWAP32(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: QROUND
    functionSourceFile: /src/libgcrypt/cipher/scrypt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QROUND(x0, x1, x2, x3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgcrypt/cipher/scrypt.c:81,1
    - Dst: LE_SWAP32
      Src: /src/libgcrypt/cipher/scrypt.c:84,1
    - Dst: QROUND
      Src: /src/libgcrypt/cipher/scrypt.c:88,1
    - Dst: QROUND
      Src: /src/libgcrypt/cipher/scrypt.c:89,1
    - Dst: QROUND
      Src: /src/libgcrypt/cipher/scrypt.c:90,1
    - Dst: QROUND
      Src: /src/libgcrypt/cipher/scrypt.c:91,1
    - Dst: QROUND
      Src: /src/libgcrypt/cipher/scrypt.c:93,1
    - Dst: QROUND
      Src: /src/libgcrypt/cipher/scrypt.c:94,1
    - Dst: QROUND
      Src: /src/libgcrypt/cipher/scrypt.c:95,1
    - Dst: QROUND
      Src: /src/libgcrypt/cipher/scrypt.c:96,1
    - Dst: LE_SWAP32
      Src: /src/libgcrypt/cipher/scrypt.c:101,1
    - Dst: LE_SWAP32
      Src: /src/libgcrypt/cipher/scrypt.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - dst
    - src
    - rounds
    argTypes:
    - u32*
    - u32*
    - unsigned int
    assertStmts:
    - condition: ( (rounds & 1) == 0)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/libgcrypt/cipher/scrypt.c
    constantsTouched: []
    func_position:
      end: 104
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 104
    functionName: salsa20_core
    functionSourceFile: /src/libgcrypt/cipher/scrypt.c
    functionUses: 0
    functionsReached:
    - QROUND
    - LE_SWAP32
    - assert
    linkageType: ''
    returnType: void
    signature: void salsa20_core (u32 *dst, const u32 *src, unsigned int rounds)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libgcrypt/cipher/scrypt.c:120,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/scrypt.c:124,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/scrypt.c:125,1
    - Dst: putchar
      Src: /src/libgcrypt/cipher/scrypt.c:127,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/scrypt.c:133,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/scrypt.c:139,1
    - Dst: salsa20_core
      Src: /src/libgcrypt/cipher/scrypt.c:142,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/scrypt.c:145,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/scrypt.c:150,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/scrypt.c:151,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/scrypt.c:160,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/scrypt.c:164,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/scrypt.c:165,1
    - Dst: putchar
      Src: /src/libgcrypt/cipher/scrypt.c:167,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - r
    - B
    - tmp2
    argTypes:
    - u32
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 171
    functionName: scrypt_block_mix
    functionSourceFile: /src/libgcrypt/cipher/scrypt.c
    functionUses: 0
    functionsReached:
    - printf
    - buf_xor
    - salsa20_core
    - memcpy
    - putchar
    linkageType: ''
    returnType: void
    signature: void scrypt_block_mix (u32 r, unsigned char *B, unsigned char *tmp2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libgcrypt/cipher/scrypt.c:184,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/scrypt.c:188,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/scrypt.c:189,1
    - Dst: putchar
      Src: /src/libgcrypt/cipher/scrypt.c:191,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/scrypt.c:199,1
    - Dst: scrypt_block_mix
      Src: /src/libgcrypt/cipher/scrypt.c:202,1
    - Dst: LE_READ_UINT64
      Src: /src/libgcrypt/cipher/scrypt.c:211,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/scrypt.c:214,1
    - Dst: scrypt_block_mix
      Src: /src/libgcrypt/cipher/scrypt.c:217,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/scrypt.c:223,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/scrypt.c:227,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/scrypt.c:228,1
    - Dst: putchar
      Src: /src/libgcrypt/cipher/scrypt.c:230,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 5
    argNames:
    - r
    - B
    - N
    - tmp1
    - tmp2
    argTypes:
    - u32
    - unsigned char*
    - u64
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 233
    functionName: scrypt_ro_mix
    functionSourceFile: /src/libgcrypt/cipher/scrypt.c
    functionUses: 0
    functionsReached:
    - scrypt_block_mix
    - printf
    - buf_xor
    - LE_READ_UINT64
    - memcpy
    - putchar
    linkageType: ''
    returnType: void
    signature: "void scrypt_ro_mix (u32 r, unsigned char *B, u64 N,\n\t      unsigned
      char *tmp1, unsigned char *tmp2)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/scrypt.c:284,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/scrypt.c:287,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/scrypt.c:291,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/scrypt.c:294,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/scrypt.c:298,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/scrypt.c:301,1
    - Dst: _gcry_kdf_pkdf2
      Src: /src/libgcrypt/cipher/scrypt.c:305,1
    - Dst: scrypt_ro_mix
      Src: /src/libgcrypt/cipher/scrypt.c:309,1
    - Dst: _gcry_kdf_pkdf2
      Src: /src/libgcrypt/cipher/scrypt.c:312,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/scrypt.c:316,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/scrypt.c:317,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/scrypt.c:318,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 9
    argNames:
    - passwd
    - passwdlen
    - algo
    - subalgo
    - salt
    - saltlen
    - iterations
    - dkLen
    - DK
    argTypes:
    - unsigned char*
    - size_t
    - int
    - int
    - unsigned char*
    - size_t
    - unsigned long
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 239
    functionDepth: 4
    functionLinenumber: 239
    functionLinenumberEnd: 321
    functionName: _gcry_kdf_scrypt
    functionSourceFile: /src/libgcrypt/cipher/scrypt.c
    functionUses: 1
    functionsReached:
    - _gcry_kdf_pkdf2
    - scrypt_ro_mix
    - gpg_err_code_from_syserror
    - xfree
    - xtrymalloc
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_kdf_scrypt (const unsigned char *passwd, size_t
      passwdlen,\n                  int algo, int subalgo,\n                  const
      unsigned char *salt, size_t saltlen,\n                  unsigned long iterations,\n
      \                 size_t dkLen, unsigned char *DK)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: ELF
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELF(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: GET_EXTERN_POINTER
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_EXTERN_POINTER(name, reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: GET_EXTERN_POINTER
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_EXTERN_POINTER(name, reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: GET_EXTERN_POINTER
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_EXTERN_POINTER(name, reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: CFI_STARTPROC
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_STARTPROC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: CFI_ENDPROC
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_ENDPROC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: CFI_REMEMBER_STATE
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_REMEMBER_STATE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: CFI_RESTORE_STATE
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_RESTORE_STATE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: CFI_ADJUST_CFA_OFFSET
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_ADJUST_CFA_OFFSET(off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reg
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: CFI_REL_OFFSET
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_REL_OFFSET(reg,off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: CFI_DEF_CFA_REGISTER
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_DEF_CFA_REGISTER(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ro
    - ','
    - rn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: CFI_REGISTER
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_REGISTER(ro,rn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: CFI_RESTORE
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_RESTORE(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: CFI_PUSH
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_PUSH(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: CFI_POP
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_POP(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: CFI_POP_TMP_REG
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_POP_TMP_REG()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: CFI_LEAVE
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_LEAVE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: DW_REGNO
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DW_REGNO(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: DW_SLEB128_7BIT
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DW_SLEB128_7BIT(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: DW_SLEB128_28BIT
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DW_SLEB128_28BIT(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rsp_offs
    - ','
    - cfa_depth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: CFI_CFA_ON_STACK
    functionSourceFile: /src/libgcrypt/cipher/asm-common-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_CFA_ON_STACK(rsp_offs,cfa_depth)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_randomize
      Src: /src/libgcrypt/cipher/kyber.c:131,1
    - Dst: crypto_kem_keypair_derand_2
      Src: /src/libgcrypt/cipher/kyber.c:138,1
    - Dst: crypto_kem_keypair_derand_3
      Src: /src/libgcrypt/cipher/kyber.c:142,1
    - Dst: crypto_kem_keypair_derand_4
      Src: /src/libgcrypt/cipher/kyber.c:145,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/kyber.c:151,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/kyber.c:152,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/kyber.c:157,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 5
    argNames:
    - algo
    - pk
    - sk
    - coins
    - extra
    argTypes:
    - int
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - struct kem_genkey_extra_data_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 158
    functionName: kyber_keypair
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 0
    functionsReached:
    - crypto_kem_keypair_derand_2
    - gcry_assert
    - crypto_kem_keypair_derand_4
    - crypto_kem_keypair_derand_3
    - wipememory
    - _gcry_randomize
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void kyber_keypair (int algo, uint8_t *pk, uint8_t *sk, const uint8_t
      *coins,\n               struct kem_genkey_extra_data_s *extra)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_randomize
      Src: /src/libgcrypt/cipher/kyber.c:169,1
    - Dst: crypto_kem_enc_derand_2
      Src: /src/libgcrypt/cipher/kyber.c:176,1
    - Dst: crypto_kem_enc_derand_3
      Src: /src/libgcrypt/cipher/kyber.c:180,1
    - Dst: crypto_kem_enc_derand_4
      Src: /src/libgcrypt/cipher/kyber.c:183,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/kyber.c:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - algo
    - ct
    - ss
    - pk
    - coins
    argTypes:
    - int
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 189
    functionName: kyber_encap
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 0
    functionsReached:
    - crypto_kem_enc_derand_3
    - crypto_kem_enc_derand_2
    - crypto_kem_enc_derand_4
    - wipememory
    - _gcry_randomize
    linkageType: ''
    returnType: void
    signature: "void kyber_encap (int algo, uint8_t *ct, uint8_t *ss, const uint8_t
      *pk,\n             const uint8_t *coins)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crypto_kem_dec_2
      Src: /src/libgcrypt/cipher/kyber.c:197,1
    - Dst: crypto_kem_dec_3
      Src: /src/libgcrypt/cipher/kyber.c:201,1
    - Dst: crypto_kem_dec_4
      Src: /src/libgcrypt/cipher/kyber.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - algo
    - ss
    - ct
    - sk
    argTypes:
    - int
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 207
    functionName: kyber_decap
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 0
    functionsReached:
    - crypto_kem_dec_2
    - crypto_kem_dec_4
    - crypto_kem_dec_3
    linkageType: ''
    returnType: void
    signature: void kyber_decap (int algo, uint8_t *ss, const uint8_t *ct, const uint8_t
      *sk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/kyber.c:218,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/kyber.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - keccak_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: shake128_init
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 0
    functionsReached:
    - log_fatal
    - _gcry_md_open_internal
    linkageType: ''
    returnType: void
    signature: void shake128_init (keccak_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kyber.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - in
    - inlen
    argTypes:
    - keccak_state*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: shake128_absorb
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 0
    functionsReached:
    - _gcry_md_write
    linkageType: ''
    returnType: void
    signature: void shake128_absorb (keccak_state *state, const uint8_t *in, size_t
      inlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - keccak_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: shake128_finalize
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shake128_finalize (keccak_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_extract
      Src: /src/libgcrypt/cipher/kyber.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - out
    - outlen
    argTypes:
    - keccak_state*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: shake128_squeeze
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 0
    functionsReached:
    - _gcry_md_extract
    linkageType: ''
    returnType: void
    signature: void shake128_squeeze (keccak_state *state, uint8_t *out, size_t outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/kyber.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - keccak_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: shake128_close
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 0
    functionsReached:
    - _gcry_md_close
    linkageType: ''
    returnType: void
    signature: void shake128_close (keccak_state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgcrypt/cipher/kyber.c:257,1
    - Dst: va_arg
      Src: /src/libgcrypt/cipher/kyber.c:260,1
    - Dst: va_arg
      Src: /src/libgcrypt/cipher/kyber.c:261,1
    - Dst: va_end
      Src: /src/libgcrypt/cipher/kyber.c:270,1
    - Dst: _gcry_md_hash_buffers_extract
      Src: /src/libgcrypt/cipher/kyber.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - out
    - outlen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 274
    functionName: shake256v
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 0
    functionsReached:
    - _gcry_md_hash_buffers_extract
    - va_end
    - va_start
    - va_arg
    linkageType: ''
    returnType: void
    signature: void shake256v (uint8_t *out, size_t outlen, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_hash_buffer
      Src: /src/libgcrypt/cipher/kyber.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h
    - in
    - inlen
    argTypes:
    - uint8_t[]
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: sha3_256
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 0
    functionsReached:
    - _gcry_md_hash_buffer
    linkageType: ''
    returnType: void
    signature: void sha3_256 (uint8_t h[32], const uint8_t *in, size_t inlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_hash_buffer
      Src: /src/libgcrypt/cipher/kyber.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h
    - in
    - inlen
    argTypes:
    - uint8_t[]
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: sha3_512
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 0
    functionsReached:
    - _gcry_md_hash_buffer
    linkageType: ''
    returnType: void
    signature: void sha3_512 (uint8_t h[64], const uint8_t *in, size_t inlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shake128_absorb
      Src: /src/libgcrypt/cipher/kyber.c:403,1
    - Dst: shake128_absorb
      Src: /src/libgcrypt/cipher/kyber.c:404,1
    - Dst: shake128_absorb
      Src: /src/libgcrypt/cipher/kyber.c:405,1
    - Dst: shake128_finalize
      Src: /src/libgcrypt/cipher/kyber.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - state
    - seed
    - x
    - y
    argTypes:
    - keccak_state*
    - uint8_t[]
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 407
    functionName: kyber_shake128_absorb
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 0
    functionsReached:
    - shake128_finalize
    - shake128_absorb
    linkageType: ''
    returnType: void
    signature: "void kyber_shake128_absorb (keccak_state *state,\n                                   const
      uint8_t seed[KYBER_SYMBYTES],\n                                   uint8_t x,
      uint8_t y)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - OUT
    - ','
    - IN
    - ','
    - INBYTES
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 412
    functionName: hash_h
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hash_h(OUT, IN, INBYTES)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - OUT
    - ','
    - IN
    - ','
    - INBYTES
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 413
    functionName: hash_g
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hash_g(OUT, IN, INBYTES)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - STATE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 414
    functionName: xof_init
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xof_init(STATE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - STATE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 415
    functionName: xof_close
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xof_close(STATE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - STATE
    - ','
    - SEED
    - ','
    - X
    - ','
    - Y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 416
    functionName: xof_absorb
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xof_absorb(STATE, SEED, X, Y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - OUT
    - ','
    - OUTBLOCKS
    - ','
    - STATE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 417
    functionName: xof_squeezeblocks
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xof_squeezeblocks(OUT, OUTBLOCKS, STATE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - OUT
    - ','
    - OUTBYTES
    - ','
    - KEY
    - ','
    - NONCE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: prf
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prf(OUT, OUTBYTES, KEY, NONCE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - OUT
    - ','
    - KEY
    - ','
    - INPUT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 425
    functionName: rkprf
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rkprf(OUT, KEY, INPUT)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 429
    functionName: VARIANT2
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VARIANT2(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 430
    functionName: VARIANT3
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VARIANT3(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 431
    functionName: VARIANT4
    functionSourceFile: /src/libgcrypt/cipher/kyber.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VARIANT4(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/cipher-xts.c:34,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/cipher-xts.c:35,1
    - Dst: ct_ulong_gen_mask
      Src: /src/libgcrypt/cipher/cipher-xts.c:36,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/cipher-xts.c:41,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/cipher-xts.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: xts_gfmul_byA
    functionSourceFile: /src/libgcrypt/cipher/cipher-xts.c
    functionUses: 0
    functionsReached:
    - ct_ulong_gen_mask
    - buf_put_le64
    - buf_get_le64
    linkageType: ''
    returnType: void
    signature: void xts_gfmul_byA (unsigned char *out, const unsigned char *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/cipher-xts.c:48,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/cipher-xts.c:49,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/cipher-xts.c:53,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/cipher-xts.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - seqno
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: xts_inc128
    functionSourceFile: /src/libgcrypt/cipher/cipher-xts.c
    functionUses: 0
    functionsReached:
    - buf_put_le64
    - buf_get_le64
    linkageType: ''
    returnType: void
    signature: void xts_inc128 (unsigned char *seqno)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tweak_fn
      Src: /src/libgcrypt/cipher/cipher-xts.c:91,1
    - Dst: gcry_cipher_hd_t::bulk::xts_crypt
      Src: /src/libgcrypt/cipher/cipher-xts.c:96,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-xts.c:110,1
    - Dst: crypt_fn
      Src: /src/libgcrypt/cipher/cipher-xts.c:111,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-xts.c:113,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/cipher-xts.c:121,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/cipher-xts.c:129,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/cipher-xts.c:130,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/cipher-xts.c:133,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-xts.c:136,1
    - Dst: crypt_fn
      Src: /src/libgcrypt/cipher/cipher-xts.c:137,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-xts.c:139,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/cipher-xts.c:146,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cipher-xts.c:150,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-xts.c:151,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-xts.c:152,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-xts.c:155,1
    - Dst: crypt_fn
      Src: /src/libgcrypt/cipher/cipher-xts.c:156,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-xts.c:158,1
    - Dst: xts_inc128
      Src: /src/libgcrypt/cipher/cipher-xts.c:162,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-xts.c:164,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-xts.c:165,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-xts.c:168,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 6
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 171
    functionName: _gcry_cipher_xts_crypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-xts.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor
    - gcry_assert
    - crypt_fn
    - gcry_cipher_hd_t::bulk::xts_crypt
    - wipememory
    - buf_cpy
    - _gcry_burn_stack
    - xts_gfmul_byA
    - xts_inc128
    - cipher_block_cpy
    - tweak_fn
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_xts_crypt (gcry_cipher_hd_t c,\n\t\t\tunsigned
      char *outbuf, size_t outbuflen,\n\t\t\tconst unsigned char *inbuf, size_t inbuflen,\n\t\t\tint
      encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_xts_crypt
      Src: /src/libgcrypt/cipher/cipher-xts.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: _gcry_cipher_xts_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-xts.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_xts_crypt
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_xts_encrypt (gcry_cipher_hd_t c,\n                          unsigned
      char *outbuf, size_t outbuflen,\n                          const unsigned char
      *inbuf, size_t inbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_xts_crypt
      Src: /src/libgcrypt/cipher/cipher-xts.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 189
    functionName: _gcry_cipher_xts_decrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-xts.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_xts_crypt
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_xts_decrypt (gcry_cipher_hd_t c,\n                          unsigned
      char *outbuf, size_t outbuflen,\n                          const unsigned char
      *inbuf, size_t inbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crc
    - data
    argTypes:
    - u32
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: crc32_next
    functionSourceFile: /src/libgcrypt/cipher/crc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 crc32_next (u32 crc, byte data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - crc
    - data
    argTypes:
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 419
    functionName: crc32_next4
    functionSourceFile: /src/libgcrypt/cipher/crc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 crc32_next4 (u32 crc, u32 data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/crc.c:425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - context
    - flags
    - init_value
    argTypes:
    - void*
    - unsigned int
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 447
    functionName: generic_crc32_init
    functionSourceFile: /src/libgcrypt/cipher/crc.c
    functionUses: 0
    functionsReached:
    - _gcry_get_hw_features
    linkageType: ''
    returnType: void
    signature: void generic_crc32_init (void *context, unsigned int flags, u32 init_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_crc32_init
      Src: /src/libgcrypt/cipher/crc.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: crc32_init
    functionSourceFile: /src/libgcrypt/cipher/crc.c
    functionUses: 1
    functionsReached:
    - generic_crc32_init
    linkageType: ''
    returnType: void
    signature: void crc32_init (void *context, unsigned int flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_crc32_intel_pclmul
      Src: /src/libgcrypt/cipher/crc.c:465,1
    - Dst: _gcry_crc32_armv8_ce_pmull
      Src: /src/libgcrypt/cipher/crc.c:472,1
    - Dst: _gcry_crc32_ppc8_vpmsum
      Src: /src/libgcrypt/cipher/crc.c:479,1
    - Dst: _gcry_crc32_riscv_zbb_zbc
      Src: /src/libgcrypt/cipher/crc.c:486,1
    - Dst: crc32_next4
      Src: /src/libgcrypt/cipher/crc.c:499,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/crc.c:499,1
    - Dst: crc32_next4
      Src: /src/libgcrypt/cipher/crc.c:500,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/crc.c:500,1
    - Dst: crc32_next4
      Src: /src/libgcrypt/cipher/crc.c:501,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/crc.c:501,1
    - Dst: crc32_next4
      Src: /src/libgcrypt/cipher/crc.c:502,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/crc.c:502,1
    - Dst: crc32_next4
      Src: /src/libgcrypt/cipher/crc.c:509,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/crc.c:509,1
    - Dst: crc32_next
      Src: /src/libgcrypt/cipher/crc.c:515,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - context
    - inbuf_arg
    - inlen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 519
    functionName: crc32_write
    functionSourceFile: /src/libgcrypt/cipher/crc.c
    functionUses: 0
    functionsReached:
    - _gcry_crc32_riscv_zbb_zbc
    - _gcry_crc32_ppc8_vpmsum
    - crc32_next4
    - _gcry_crc32_armv8_ce_pmull
    - crc32_next
    - _gcry_crc32_intel_pclmul
    - buf_get_le32
    linkageType: ''
    returnType: void
    signature: void crc32_write (void *context, const void *inbuf_arg, size_t inlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: crc32_read
    functionSourceFile: /src/libgcrypt/cipher/crc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      crc32_read (void *context)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/crc.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 534
    functionName: crc32_final
    functionSourceFile: /src/libgcrypt/cipher/crc.c
    functionUses: 0
    functionsReached:
    - buf_put_be32
    linkageType: ''
    returnType: void
    signature: void crc32_final (void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_crc32_init
      Src: /src/libgcrypt/cipher/crc.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: crc32rfc1510_init
    functionSourceFile: /src/libgcrypt/cipher/crc.c
    functionUses: 0
    functionsReached:
    - generic_crc32_init
    linkageType: ''
    returnType: void
    signature: void crc32rfc1510_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/crc.c:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 550
    functionName: crc32rfc1510_final
    functionSourceFile: /src/libgcrypt/cipher/crc.c
    functionUses: 0
    functionsReached:
    - buf_put_be32
    linkageType: ''
    returnType: void
    signature: void crc32rfc1510_final (void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 832
    functionName: crc24_init
    functionSourceFile: /src/libgcrypt/cipher/crc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 crc24_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crc
    - data
    argTypes:
    - u32
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 838
    functionName: crc24_next
    functionSourceFile: /src/libgcrypt/cipher/crc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 crc24_next (u32 crc, byte data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - crc
    - data
    argTypes:
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 852
    functionName: crc24_next4
    functionSourceFile: /src/libgcrypt/cipher/crc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 crc24_next4 (u32 crc, u32 data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crc
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 858
    functionName: crc24_final
    functionSourceFile: /src/libgcrypt/cipher/crc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 crc24_final (u32 crc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/crc.c:864,1
    - Dst: crc24_init
      Src: /src/libgcrypt/cipher/crc.c:885,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 886
    functionName: crc24rfc2440_init
    functionSourceFile: /src/libgcrypt/cipher/crc.c
    functionUses: 0
    functionsReached:
    - _gcry_get_hw_features
    - crc24_init
    linkageType: ''
    returnType: void
    signature: void crc24rfc2440_init (void *context, unsigned int flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_crc24rfc2440_intel_pclmul
      Src: /src/libgcrypt/cipher/crc.c:898,1
    - Dst: _gcry_crc24rfc2440_armv8_ce_pmull
      Src: /src/libgcrypt/cipher/crc.c:905,1
    - Dst: _gcry_crc24rfc2440_ppc8_vpmsum
      Src: /src/libgcrypt/cipher/crc.c:912,1
    - Dst: _gcry_crc24rfc2440_riscv_zbb_zbc
      Src: /src/libgcrypt/cipher/crc.c:919,1
    - Dst: crc24_next4
      Src: /src/libgcrypt/cipher/crc.c:932,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/crc.c:932,1
    - Dst: crc24_next4
      Src: /src/libgcrypt/cipher/crc.c:933,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/crc.c:933,1
    - Dst: crc24_next4
      Src: /src/libgcrypt/cipher/crc.c:934,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/crc.c:934,1
    - Dst: crc24_next4
      Src: /src/libgcrypt/cipher/crc.c:935,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/crc.c:935,1
    - Dst: crc24_next4
      Src: /src/libgcrypt/cipher/crc.c:942,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/crc.c:942,1
    - Dst: crc24_next
      Src: /src/libgcrypt/cipher/crc.c:948,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - context
    - inbuf_arg
    - inlen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 952
    functionName: crc24rfc2440_write
    functionSourceFile: /src/libgcrypt/cipher/crc.c
    functionUses: 0
    functionsReached:
    - _gcry_crc24rfc2440_ppc8_vpmsum
    - crc24_next4
    - _gcry_crc24rfc2440_armv8_ce_pmull
    - _gcry_crc24rfc2440_riscv_zbb_zbc
    - crc24_next
    - _gcry_crc24rfc2440_intel_pclmul
    - buf_get_le32
    linkageType: ''
    returnType: void
    signature: void crc24rfc2440_write (void *context, const void *inbuf_arg, size_t
      inlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc24_final
      Src: /src/libgcrypt/cipher/crc.c:958,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/crc.c:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 960
    functionName: crc24rfc2440_final
    functionSourceFile: /src/libgcrypt/cipher/crc.c
    functionUses: 0
    functionsReached:
    - buf_put_le32
    - crc24_final
    linkageType: ''
    returnType: void
    signature: void crc24rfc2440_final (void *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_aesni_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:173,1
    - Dst: _gcry_vaes_avx512_ecb_crypt_amd64
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:180,1
    - Dst: _gcry_vaes_avx2_ecb_crypt_amd64
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - context
    - outbuf
    - inbuf
    - nblocks
    - encrypt
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 188
    functionName: _gcry_aes_vaes_ecb_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vaes.c
    functionUses: 0
    functionsReached:
    - _gcry_vaes_avx512_ecb_crypt_amd64
    - _gcry_aes_aesni_prepare_decryption
    - _gcry_vaes_avx2_ecb_crypt_amd64
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_vaes_ecb_crypt (void *context, void *outbuf,\n\t\t\t
      \ const void *inbuf, size_t nblocks,\n\t\t\t  int encrypt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_aesni_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:201,1
    - Dst: _gcry_vaes_avx512_cbc_dec_amd64
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:208,1
    - Dst: _gcry_vaes_avx2_cbc_dec_amd64
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 215
    functionName: _gcry_aes_vaes_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vaes.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_aesni_prepare_decryption
    - _gcry_vaes_avx2_cbc_dec_amd64
    - _gcry_vaes_avx512_cbc_dec_amd64
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_vaes_cbc_dec (void *context, unsigned char *iv,\n\t\t\tvoid
      *outbuf, const void *inbuf,\n\t\t\tsize_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_vaes_avx512_cfb_dec_amd64
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:229,1
    - Dst: _gcry_vaes_avx2_cfb_dec_amd64
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 236
    functionName: _gcry_aes_vaes_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vaes.c
    functionUses: 0
    functionsReached:
    - _gcry_vaes_avx512_cfb_dec_amd64
    - _gcry_vaes_avx2_cfb_dec_amd64
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_vaes_cfb_dec (void *context, unsigned char *iv,\n\t\t\tvoid
      *outbuf, const void *inbuf,\n\t\t\tsize_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_vaes_avx512_ctr_enc_amd64
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:250,1
    - Dst: _gcry_vaes_avx2_ctr_enc_amd64
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 257
    functionName: _gcry_aes_vaes_ctr_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vaes.c
    functionUses: 0
    functionsReached:
    - _gcry_vaes_avx2_ctr_enc_amd64
    - _gcry_vaes_avx512_ctr_enc_amd64
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_vaes_ctr_enc (void *context, unsigned char *iv,\n\t\t\tvoid
      *outbuf, const void *inbuf,\n\t\t\tsize_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_vaes_avx512_ctr32le_enc_amd64
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:271,1
    - Dst: _gcry_vaes_avx2_ctr32le_enc_amd64
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 279
    functionName: _gcry_aes_vaes_ctr32le_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vaes.c
    functionUses: 0
    functionsReached:
    - _gcry_vaes_avx2_ctr32le_enc_amd64
    - _gcry_vaes_avx512_ctr32le_enc_amd64
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_vaes_ctr32le_enc (void *context, unsigned char *iv,\n\t\t\t
      \   void *outbuf, const void *inbuf,\n\t\t\t    size_t nblocks)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_aesni_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:295,1
    - Dst: _gcry_vaes_avx2_ocb_crypt_amd64
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:308,1
    - Dst: _gcry_vaes_avx512_ocb_aligned_crypt_amd64
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:321,1
    - Dst: _gcry_vaes_avx2_ocb_crypt_amd64
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:335,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 339
    functionName: _gcry_aes_vaes_ocb_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vaes.c
    functionUses: 0
    functionsReached:
    - _gcry_vaes_avx2_ocb_crypt_amd64
    - _gcry_aes_aesni_prepare_decryption
    - _gcry_vaes_avx512_ocb_aligned_crypt_amd64
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_aes_vaes_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg,\n\t\t\t
      \ const void *inbuf_arg, size_t nblocks,\n\t\t\t  int encrypt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_vaes_avx2_ocb_crypt_amd64
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:360,1
    - Dst: _gcry_vaes_avx512_ocb_aligned_crypt_amd64
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:373,1
    - Dst: _gcry_vaes_avx2_ocb_crypt_amd64
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - c
    - inbuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 388
    functionName: _gcry_aes_vaes_ocb_auth
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vaes.c
    functionUses: 0
    functionsReached:
    - _gcry_vaes_avx2_ocb_crypt_amd64
    - _gcry_vaes_avx512_ocb_aligned_crypt_amd64
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_aes_vaes_ocb_auth (gcry_cipher_hd_t c, const void *inbuf_arg,\n\t\t\t
      size_t nblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_aesni_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:401,1
    - Dst: _gcry_vaes_avx512_xts_crypt_amd64
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:408,1
    - Dst: _gcry_vaes_avx2_xts_crypt_amd64
      Src: /src/libgcrypt/cipher/rijndael-vaes.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - context
    - tweak
    - outbuf
    - inbuf
    - nblocks
    - encrypt
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 416
    functionName: _gcry_aes_vaes_xts_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vaes.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_aesni_prepare_decryption
    - _gcry_vaes_avx2_xts_crypt_amd64
    - _gcry_vaes_avx512_xts_crypt_amd64
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_vaes_xts_crypt (void *context, unsigned char *tweak,\n\t\t\t
      \ void *outbuf, const void *inbuf,\n\t\t\t  size_t nblocks, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_sld
      Src: /src/libgcrypt/cipher/sha512-ppc.c:113,1
    - Dst: vec_sld
      Src: /src/libgcrypt/cipher/sha512-ppc.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - v
    - idx
    argTypes:
    - vector2x_u64
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: vector2x_u64::vec_rol_elems
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 0
    functionsReached:
    - vec_sld
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector2x_u64

      vec_rol_elems(vector2x_u64 v, unsigned int idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_mergeh
      Src: /src/libgcrypt/cipher/sha512-ppc.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v0
    - v1
    argTypes:
    - vector2x_u64
    - vector2x_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: vector2x_u64::vec_merge_idx0_elems
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 0
    functionsReached:
    - vec_mergeh
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector2x_u64

      vec_merge_idx0_elems(vector2x_u64 v0, vector2x_u64 v1)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - v
    - a
    - b
    argTypes:
    - vector2x_u64
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: vector2x_u64::vec_vshasigma_u64
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector2x_u64

      vec_vshasigma_u64(vector2x_u64 v, unsigned int a, unsigned int b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - v
    - w
    argTypes:
    - vector2x_u64
    - vector2x_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: vector2x_u64::vec_add_u64
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector2x_u64

      vec_add_u64(vector2x_u64 v, vector2x_u64 w)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_constant_p
      Src: /src/libgcrypt/cipher/sha512-ppc.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - offset
    - ptr
    argTypes:
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 171
    functionName: vector2x_u64::vec_u64_load
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 0
    functionsReached:
    - __builtin_constant_p
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector2x_u64

      vec_u64_load(unsigned long offset, const void *ptr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_constant_p
      Src: /src/libgcrypt/cipher/sha512-ppc.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - vecu64
    - offset
    - ptr
    argTypes:
    - vector2x_u64
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 194
    functionName: vec_u64_store
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 0
    functionsReached:
    - __builtin_constant_p
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE vec_u64_store(vector2x_u64 vecu64, unsigned long
      offset, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_constant_p
      Src: /src/libgcrypt/cipher/sha512-ppc.c:202,1
    - Dst: vec_reve
      Src: /src/libgcrypt/cipher/sha512-ppc.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - offset
    - ptr
    argTypes:
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 218
    functionName: vector2x_u64::vec_u64_load_be
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 0
    functionsReached:
    - vec_reve
    - __builtin_constant_p
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector2x_u64

      vec_u64_load_be(unsigned long offset, const void *ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - ki
    - ','
    - w
    - )
    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: 234
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: R
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 119
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(a,b,c,d,e,f,g,h,ki,w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kidx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 249
    functionName: GETK
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETK(kidx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: Cho
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Cho(b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - d
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 253
    functionName: Maj
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Maj(c, d, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    functionName: Sum0
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sum0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: Sum1
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sum1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: S0
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: S1
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - X
    - ','
    - d
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: Xadd
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Xadd(X, d, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    functionName: Sum0add
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sum0add(d, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 267
    functionName: Sum1add
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sum1add(d, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: S0add
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S0add(d, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: S1add
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S1add(d, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 286
    functionName: I
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: WN
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WN(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: W
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: W(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: L
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 319
    functionName: I2
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I2(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: W2
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: W2(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: L2
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L2(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: WL
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WL(i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vec_u64_load
      Src: /src/libgcrypt/cipher/sha512-ppc.c:351,1
    - Dst: vec_rol_elems
      Src: /src/libgcrypt/cipher/sha512-ppc.c:352,1
    - Dst: vec_u64_load
      Src: /src/libgcrypt/cipher/sha512-ppc.c:353,1
    - Dst: vec_rol_elems
      Src: /src/libgcrypt/cipher/sha512-ppc.c:354,1
    - Dst: vec_u64_load
      Src: /src/libgcrypt/cipher/sha512-ppc.c:355,1
    - Dst: vec_rol_elems
      Src: /src/libgcrypt/cipher/sha512-ppc.c:356,1
    - Dst: vec_u64_load
      Src: /src/libgcrypt/cipher/sha512-ppc.c:357,1
    - Dst: vec_rol_elems
      Src: /src/libgcrypt/cipher/sha512-ppc.c:358,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:374,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:374,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:374,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:374,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:375,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:375,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:375,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:375,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:376,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:376,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:376,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:376,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:377,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:377,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:377,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:377,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:379,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:379,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:380,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:380,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:381,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:381,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:382,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:382,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:383,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:383,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:384,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:384,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:385,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:385,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:386,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:386,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:388,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:388,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:389,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:389,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:390,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:390,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:391,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:391,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:392,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:392,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:393,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:393,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:394,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:394,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:395,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:395,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:397,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:397,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:398,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:398,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:399,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:399,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:400,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:400,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:401,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:401,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:402,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:402,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:403,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:403,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:404,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:404,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:405,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:405,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:406,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:406,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:407,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:407,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:408,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:408,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:409,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:409,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:410,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:410,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:411,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:411,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:412,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:412,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:414,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:414,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:415,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:415,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:416,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:416,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:417,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:417,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:418,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:418,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:419,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:419,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:420,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:420,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:421,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:421,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:422,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:422,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:423,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:423,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:424,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:424,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:425,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:425,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:426,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:426,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:427,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:427,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:428,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:428,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:429,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:429,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:431,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:431,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:432,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:432,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:433,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:433,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:434,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:434,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:435,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:435,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:436,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:436,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:437,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:437,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:438,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:438,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:439,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:439,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:440,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:440,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:441,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:441,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:442,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:442,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:443,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:443,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:444,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:444,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:445,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:445,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:446,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:446,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:448,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:448,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:449,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:449,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:450,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:450,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:451,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:451,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:452,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:452,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:453,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:453,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:454,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:454,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:455,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:455,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:456,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:456,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:457,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:457,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:458,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:458,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:459,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:459,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:460,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:460,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:461,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:461,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:462,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:462,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:463,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha512-ppc.c:463,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:485,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:485,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:486,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:486,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:487,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:487,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:488,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:488,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:489,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:489,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:490,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:490,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:491,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:491,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:492,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:492,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:494,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:494,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:495,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:495,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:496,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:496,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:497,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:497,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:498,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:498,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:499,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:499,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:500,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:500,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:501,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:501,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:503,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:503,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:504,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:504,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:505,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:505,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:506,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:506,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:507,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:507,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:508,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:508,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:509,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:509,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:510,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:510,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:511,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:511,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:512,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:512,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:513,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:513,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:514,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:514,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:515,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:515,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:516,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:516,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:517,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:517,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:518,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:518,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:520,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:520,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:521,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:521,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:522,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:522,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:523,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:523,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:524,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:524,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:525,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:525,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:526,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:526,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:527,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:527,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:528,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:528,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:529,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:529,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:530,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:530,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:531,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:531,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:532,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:532,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:533,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:533,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:534,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:534,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:535,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:535,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:537,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:537,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:538,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:538,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:539,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:539,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:540,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:540,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:541,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:541,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:542,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:542,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:543,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:543,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:544,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:544,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:545,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:545,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:546,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:546,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:547,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:547,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:548,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:548,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:549,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:549,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:550,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:550,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:551,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:551,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:552,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:552,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:554,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:554,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:555,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:555,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:556,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:556,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:557,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:557,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:558,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:558,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:559,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:559,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:560,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:560,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:561,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:561,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:562,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:562,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:563,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:563,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:564,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:564,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:565,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:565,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:566,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:566,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:567,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:567,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:568,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:568,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:569,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha512-ppc.c:569,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha512-ppc.c:597,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha512-ppc.c:597,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha512-ppc.c:597,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha512-ppc.c:597,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha512-ppc.c:598,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha512-ppc.c:598,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha512-ppc.c:598,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha512-ppc.c:598,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha512-ppc.c:599,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha512-ppc.c:599,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha512-ppc.c:599,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha512-ppc.c:599,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha512-ppc.c:600,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha512-ppc.c:600,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha512-ppc.c:600,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha512-ppc.c:600,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:602,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:602,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:603,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:603,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:604,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:604,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:605,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:605,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:606,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:606,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:607,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:607,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:608,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:608,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:609,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:609,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:611,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:611,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:612,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:612,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:613,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:613,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:614,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:614,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:615,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:615,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:616,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:616,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:617,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:617,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:618,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:618,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:620,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:620,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:621,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:621,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:622,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:622,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:623,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:623,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:624,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:624,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:625,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:625,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:626,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:626,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:627,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:627,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:628,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:628,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:629,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:629,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:630,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:630,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:631,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:631,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:632,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:632,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:633,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:633,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:634,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:634,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:635,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:635,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:637,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:637,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:638,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:638,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:639,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:639,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:640,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:640,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:641,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:641,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:642,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:642,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:643,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:643,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:644,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:644,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:645,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:645,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:646,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:646,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:647,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:647,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:648,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:648,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:649,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:649,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:650,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:650,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:651,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:651,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:652,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:652,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:654,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:654,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:655,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:655,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:656,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:656,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:657,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:657,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:658,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:658,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:659,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:659,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:660,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:660,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:661,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:661,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:662,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:662,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:663,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:663,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:664,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:664,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:665,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:665,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:666,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:666,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:667,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:667,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:668,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:668,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:669,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha512-ppc.c:669,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:671,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha512-ppc.c:671,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:672,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha512-ppc.c:672,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:673,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha512-ppc.c:673,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:674,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha512-ppc.c:674,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:675,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha512-ppc.c:675,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:676,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha512-ppc.c:676,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:677,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha512-ppc.c:677,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:678,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha512-ppc.c:678,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:679,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha512-ppc.c:679,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:680,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha512-ppc.c:680,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:681,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha512-ppc.c:681,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:682,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha512-ppc.c:682,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:683,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha512-ppc.c:683,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:684,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha512-ppc.c:684,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:685,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha512-ppc.c:685,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha512-ppc.c:686,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha512-ppc.c:686,1
    - Dst: vec_merge_idx0_elems
      Src: /src/libgcrypt/cipher/sha512-ppc.c:700,1
    - Dst: vec_merge_idx0_elems
      Src: /src/libgcrypt/cipher/sha512-ppc.c:701,1
    - Dst: vec_merge_idx0_elems
      Src: /src/libgcrypt/cipher/sha512-ppc.c:702,1
    - Dst: vec_merge_idx0_elems
      Src: /src/libgcrypt/cipher/sha512-ppc.c:703,1
    - Dst: vec_u64_store
      Src: /src/libgcrypt/cipher/sha512-ppc.c:704,1
    - Dst: vec_u64_store
      Src: /src/libgcrypt/cipher/sha512-ppc.c:705,1
    - Dst: vec_u64_store
      Src: /src/libgcrypt/cipher/sha512-ppc.c:706,1
    - Dst: vec_u64_store
      Src: /src/libgcrypt/cipher/sha512-ppc.c:707,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/sha512-ppc.c:709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 346
    argCount: 3
    argNames:
    - state
    - data
    - nblks
    argTypes:
    - u64[]
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 712
    functionName: sha512_transform_ppc
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 0
    functionsReached:
    - L2
    - vec_merge_idx0_elems
    - W2
    - I
    - vec_u64_store
    - WL
    - vec_rol_elems
    - W
    - clear_vec_regs
    - L
    - R
    - I2
    - vec_u64_load
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE sha512_transform_ppc(u64 state[8], const unsigned
      char *data, size_t nblks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512_transform_ppc
      Src: /src/libgcrypt/cipher/sha512-ppc.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - data
    - nblks
    argTypes:
    - u64[]
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 719
    functionName: _gcry_sha512_transform_ppc8
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 1
    functionsReached:
    - sha512_transform_ppc
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_sha512_transform_ppc8(u64 state[8], const unsigned
      char *data,\n\t\t\t    size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512_transform_ppc
      Src: /src/libgcrypt/cipher/sha512-ppc.c:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - data
    - nblks
    argTypes:
    - u64[]
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 726
    functionName: _gcry_sha512_transform_ppc9
    functionSourceFile: /src/libgcrypt/cipher/sha512-ppc.c
    functionUses: 1
    functionsReached:
    - sha512_transform_ppc
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_sha512_transform_ppc9(u64 state[8], const unsigned
      char *data,\n\t\t\t    size_t nblks)"
  - 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: SWAP_LE64
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP_LE64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - a0
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - b0
    - ','
    - b1
    - ','
    - b2
    - ','
    - b3
    - ','
    - b4
    - ','
    - b5
    - ','
    - b6
    - ','
    - b7
    - )
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 74
    functionName: M128I_BYTE
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M128I_BYTE(a0, a1, a2, a3, a4, a5, a6, a7, b0, b1, b2, b3, b4, b5,
      b6, b7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: PSHUFD_MASK_TO_PSHUFB_MASK
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSHUFD_MASK_TO_PSHUFB_MASK(m32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a0
    - ','
    - a1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: M128I_U64
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M128I_U64(a0, a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: pand128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pand128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: pandn128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pandn128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: pxor128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pxor128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: paddq128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: paddq128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: psrld128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psrld128(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: psraq128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psraq128(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: psrldq128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psrldq128(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: pslldq128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pslldq128(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: psrl_byte_128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psrl_byte_128(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m8
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: pshufb128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufb128(m8, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m32
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: pshufd128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufd128(m32, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: pshufd128_0x93
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufd128_0x93(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: pshufd128_0xFF
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufd128_0xFF(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: pshufd128_0xFE
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufd128_0xFE(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: pshufd128_0x4E
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufd128_0x4E(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: palignr128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: palignr128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: movdqa128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movdqa128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: movdqa128_memld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movdqa128_memld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: pand128_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pand128_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: pxor128_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pxor128_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: paddq128_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: paddq128_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: paddd128_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: paddd128_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: pshufb128_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufb128_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: movdqu128_memld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movdqu128_memld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: movdqu128_memst
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movdqu128_memst(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: memory_barrier_with_vec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memory_barrier_with_vec(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 177
    functionName: clear_vec_regs
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clear_vec_regs()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:512,1
    - Dst: palignr128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:513,1
    - Dst: palignr128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:514,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:515,1
    - Dst: pshufd128_0xFF
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:518,1
    - Dst: palignr128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:519,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:523,1
    - Dst: pslldq128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:524,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:525,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:526,1
    - Dst: pslldq128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:527,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:528,1
    - Dst: pxor128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:529,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:532,1
    - Dst: pandn128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:533,1
    - Dst: psrl_byte_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:534,1
    - Dst: pand128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:535,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:536,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:537,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:538,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:539,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:540,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:541,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:542,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:543,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:544,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:545,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:546,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:547,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:548,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:549,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:550,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:551,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:552,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:553,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:554,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:555,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:558,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 7
    argNames:
    - pxmm0
    - pxmm7
    - pxmm8
    - xmm9
    - xmm10
    - xmm11
    - low_round_only
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i*
    - __m128i
    - __m128i
    - __m128i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 564
    functionName: aes_schedule_round
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - pandn128
    - pxor128
    - pand128
    - palignr128
    - movdqa128
    - pslldq128
    - pshufd128_0xFF
    - movdqa128_memld
    - psrl_byte_128
    - pxor128_amemld
    - pshufb128
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE aes_schedule_round(__m128i *pxmm0, __m128i *pxmm7,
      __m128i *pxmm8,\n\t\t   __m128i xmm9, __m128i xmm10, __m128i xmm11,\n\t\t   int
      low_round_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:581,1
    - Dst: pandn128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:582,1
    - Dst: psrl_byte_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:583,1
    - Dst: pand128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:584,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:585,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:586,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:587,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:588,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - xmm0
    - xmm9
    - tablelo
    - tablehi
    argTypes:
    - __m128i
    - __m128i
    - __m128i_const*
    - __m128i_const*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 592
    functionName: aes_schedule_transform
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - pandn128
    - pxor128
    - pand128
    - movdqa128
    - psrl_byte_128
    - movdqa128_memld
    - pshufb128
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE aes_schedule_transform(__m128i xmm0, const __m128i
      xmm9,\n\t\t       const __m128i_const *tablelo,\n\t\t       const __m128i_const
      *tablehi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:622,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:623,1
    - Dst: pxor128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:628,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:629,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:630,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:631,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:632,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:633,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:634,1
    - Dst: aes_schedule_transform
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:639,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:640,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:641,1
    - Dst: aes_schedule_transform
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:644,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:645,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:646,1
    - Dst: aes_schedule_transform
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:649,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:650,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:651,1
    - Dst: aes_schedule_transform
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:654,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:655,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:656,1
    - Dst: pshufb128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:661,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 5
    argNames:
    - xmm0
    - pconfig
    - decrypt
    - protoffs
    - xmm9
    argTypes:
    - __m128i
    - struct vp_aes_config_s*
    - int
    - unsigned int*
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 669
    functionName: aes_schedule_mangle
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - pxor128
    - movdqu128_memst
    - movdqa128
    - pshufb128_amemld
    - aes_schedule_transform
    - movdqa128_memld
    - pxor128_amemld
    - pshufb128
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE aes_schedule_mangle(__m128i xmm0, struct vp_aes_config_s
      *pconfig, int decrypt,\n\t\t    unsigned int *protoffs, __m128i xmm9)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pshufb128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:686,1
    - Dst: pxor128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:688,1
    - Dst: aes_schedule_transform
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:689,1
    - Dst: pxor128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:694,1
    - Dst: aes_schedule_transform
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:695,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - xmm0
    - config
    - decrypt
    - rotoffs
    - xmm9
    argTypes:
    - __m128i
    - struct vp_aes_config_s
    - int
    - unsigned int
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 699
    functionName: aes_schedule_mangle_last
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - pshufb128_amemld
    - pxor128_amemld
    - aes_schedule_transform
    - movdqu128_memst
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE aes_schedule_mangle_last(__m128i xmm0, struct
      vp_aes_config_s config,\n\t\t\t int decrypt, unsigned int rotoffs, __m128i xmm9)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_schedule_round
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:718,1
    - Dst: aes_schedule_mangle
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:723,1
    - Dst: aes_schedule_mangle_last
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:726,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 9
    argNames:
    - config
    - decrypt
    - rotoffs
    - xmm0
    - xmm7
    - xmm8
    - xmm9
    - xmm10
    - xmm11
    argTypes:
    - struct vp_aes_config_s
    - int
    - unsigned int
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 727
    functionName: aes_schedule_128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - aes_schedule_mangle_last
    - aes_schedule_round
    - aes_schedule_mangle
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE aes_schedule_128(struct vp_aes_config_s config,
      int decrypt,\n\t\t unsigned int rotoffs, __m128i xmm0, __m128i xmm7,\n\t\t __m128i
      xmm8, __m128i xmm9, __m128i xmm10, __m128i xmm11)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:749,1
    - Dst: pslldq128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:750,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:751,1
    - Dst: pshufd128_0xFE
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:752,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:753,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:754,1
    - Dst: psrldq128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:755,1
    - Dst: pslldq128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - pxmm0
    - pxmm6
    - xmm7
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 760
    functionName: aes_schedule_192_smear
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - pxor128
    - psrldq128
    - movdqa128
    - pslldq128
    - pshufd128_0xFE
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE aes_schedule_192_smear(__m128i *pxmm0, __m128i
      *pxmm6, __m128i xmm7)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:785,1
    - Dst: aes_schedule_transform
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:786,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:787,1
    - Dst: psrldq128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:788,1
    - Dst: pslldq128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:789,1
    - Dst: aes_schedule_round
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:793,1
    - Dst: palignr128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:794,1
    - Dst: aes_schedule_mangle
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:795,1
    - Dst: aes_schedule_192_smear
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:796,1
    - Dst: aes_schedule_mangle
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:797,1
    - Dst: aes_schedule_round
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:798,1
    - Dst: aes_schedule_mangle
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:801,1
    - Dst: aes_schedule_192_smear
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:802,1
    - Dst: aes_schedule_mangle_last
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 10
    argNames:
    - key
    - config
    - decrypt
    - rotoffs
    - xmm0
    - xmm7
    - xmm8
    - xmm9
    - xmm10
    - xmm11
    argTypes:
    - byte*
    - struct vp_aes_config_s
    - int
    - unsigned int
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 806
    functionName: aes_schedule_192
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - psrldq128
    - movdqu128_memld
    - aes_schedule_mangle
    - aes_schedule_mangle_last
    - palignr128
    - aes_schedule_192_smear
    - movdqa128
    - pslldq128
    - aes_schedule_transform
    - aes_schedule_round
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE aes_schedule_192(const byte *key, struct vp_aes_config_s
      config, int decrypt,\n\t\t unsigned int rotoffs, __m128i xmm0, __m128i xmm7,\n\t\t
      __m128i xmm8, __m128i xmm9, __m128i xmm10, __m128i xmm11)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:827,1
    - Dst: aes_schedule_transform
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:828,1
    - Dst: aes_schedule_mangle
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:832,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:833,1
    - Dst: aes_schedule_round
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:836,1
    - Dst: aes_schedule_mangle
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:841,1
    - Dst: pshufd128_0xFF
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:844,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:845,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:846,1
    - Dst: aes_schedule_round
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:847,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:848,1
    - Dst: aes_schedule_mangle_last
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 10
    argNames:
    - key
    - config
    - decrypt
    - rotoffs
    - xmm0
    - xmm7
    - xmm8
    - xmm9
    - xmm10
    - xmm11
    argTypes:
    - byte*
    - struct vp_aes_config_s
    - int
    - unsigned int
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 852
    functionName: aes_schedule_256
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - movdqu128_memld
    - aes_schedule_mangle
    - aes_schedule_mangle_last
    - movdqa128
    - aes_schedule_transform
    - pshufd128_0xFF
    - aes_schedule_round
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE aes_schedule_256(const byte *key, struct vp_aes_config_s
      config, int decrypt,\n\t\t unsigned int rotoffs, __m128i xmm0, __m128i xmm7,\n\t\t
      __m128i xmm8, __m128i xmm9, __m128i xmm10, __m128i xmm11)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:861,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:862,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:863,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:864,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:866,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:869,1
    - Dst: aes_schedule_transform
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:870,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:871,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:876,1
    - Dst: pshufb128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:881,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:882,1
    - Dst: aes_schedule_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:888,1
    - Dst: aes_schedule_192
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:893,1
    - Dst: aes_schedule_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:898,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - key
    - config
    - decrypt
    - rotoffs
    argTypes:
    - byte*
    - struct vp_aes_config_s
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 854
    functionDepth: 3
    functionLinenumber: 854
    functionLinenumberEnd: 901
    functionName: aes_schedule_core
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - movdqu128_memld
    - movdqu128_memst
    - movdqa128
    - aes_schedule_128
    - aes_schedule_transform
    - aes_schedule_192
    - aes_schedule_256
    - movdqa128_memld
    - pshufb128_amemld
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE aes_schedule_core(const byte *key, struct vp_aes_config_s
      config,\n\t\t  int decrypt, unsigned int rotoffs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: aes_schedule_core
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:913,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:920,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:921,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:925,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:926,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:927,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:928,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:932,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:933,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:934,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:935,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - RIJNDAEL_context*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 903
    functionDepth: 4
    functionLinenumber: 903
    functionLinenumberEnd: 940
    functionName: FUNC_SETKEY
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - clear_vec_regs
    - aes_schedule_core
    - movdqu128_memst
    - movdqu128_memld
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: ASM_FUNC_ATTR_NOINLINE FUNC_SETKEY (RIJNDAEL_context *ctx, const byte
      *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_schedule_core
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:952,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 943
    functionDepth: 4
    functionLinenumber: 943
    functionLinenumberEnd: 956
    functionName: FUNC_PREPARE_DEC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - clear_vec_regs
    - aes_schedule_core
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: ASM_FUNC_ATTR_NOINLINE FUNC_PREPARE_DEC (RIJNDAEL_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - xmm9
    - ','
    - xmm10
    - ','
    - xmm11
    - ','
    - xmm12
    - ','
    - xmm13
    - ','
    - xmm14
    - ','
    - xmm15
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 966
    functionName: enc_preload
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_preload(xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - xmm9
    - ','
    - xmm10
    - ','
    - xmm11
    - ','
    - xmm12
    - ','
    - xmm13
    - ','
    - xmm14
    - ','
    - xmm15
    - ','
    - xmm8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 976
    functionName: dec_preload
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dec_preload(xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm8)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:986,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:987,1
    - Dst: pandn128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:988,1
    - Dst: psrl_byte_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:989,1
    - Dst: pand128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:990,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:991,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:992,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:994,1
    - Dst: pxor128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:995,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:996,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1003,1
    - Dst: pandn128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1004,1
    - Dst: psrl_byte_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1005,1
    - Dst: pand128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1006,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1007,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1008,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1009,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1010,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1011,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1012,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1013,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1014,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1015,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1016,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1017,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1018,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1019,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1020,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1021,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1027,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1028,1
    - Dst: pxor128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1029,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1030,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1031,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1032,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1033,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1034,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1035,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1036,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1037,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1038,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1039,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1040,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1041,1
    - Dst: pshufb128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1042,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1043,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1044,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1045,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1052,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1053,1
    - Dst: pxor128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1054,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1055,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1056,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1057,1
    - Dst: pshufb128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1058,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 64
    argCount: 9
    argNames:
    - xmm0
    - config
    - xmm9
    - xmm10
    - xmm11
    - xmm12
    - xmm13
    - xmm14
    - xmm15
    argTypes:
    - __m128i
    - struct vp_aes_config_s
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 1061
    functionName: aes_encrypt_core
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - pandn128
    - pxor128
    - pand128
    - movdqa128
    - pshufb128_amemld
    - psrl_byte_128
    - movdqa128_memld
    - pxor128_amemld
    - pshufb128
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE aes_encrypt_core(__m128i xmm0, struct vp_aes_config_s
      config,\n\t\t __m128i xmm9, __m128i xmm10, __m128i xmm11, __m128i xmm12,\n\t\t
      __m128i xmm13, __m128i xmm14, __m128i xmm15)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1080,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1080,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1081,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1081,1
    - Dst: pandn128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1082,1
    - Dst: pandn128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1082,1
    - Dst: psrl_byte_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1083,1
    - Dst: psrl_byte_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1083,1
    - Dst: pand128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1084,1
    - Dst: pand128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1084,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1085,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1085,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1086,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1086,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1088,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1088,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1089,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1090,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1090,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1091,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1091,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1098,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1098,1
    - Dst: pandn128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1099,1
    - Dst: pandn128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1099,1
    - Dst: psrl_byte_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1100,1
    - Dst: psrl_byte_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1100,1
    - Dst: pand128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1101,1
    - Dst: pand128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1101,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1102,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1102,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1103,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1103,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1104,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1104,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1105,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1105,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1106,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1106,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1107,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1107,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1108,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1108,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1109,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1109,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1110,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1110,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1111,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1111,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1112,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1112,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1113,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1113,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1114,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1114,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1115,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1115,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1116,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1116,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1122,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1122,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1123,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1123,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1124,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1125,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1125,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1126,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1126,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1127,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1127,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1128,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1128,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1129,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1129,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1130,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1130,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1131,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1132,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1132,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1133,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1133,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1134,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1134,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1135,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1135,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1136,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1136,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1137,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1137,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1138,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1139,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1139,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1140,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1140,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1141,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1141,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1142,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1142,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1149,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1149,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1150,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1150,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1151,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1152,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1152,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1153,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1153,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1154,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1154,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1155,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1155,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1156,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1157,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 126
    argCount: 10
    argNames:
    - pxmm0_a
    - pxmm0_b
    - config
    - xmm9
    - xmm10
    - xmm11
    - xmm12
    - xmm13
    - xmm14
    - xmm15
    argTypes:
    - __m128i*
    - __m128i*
    - struct vp_aes_config_s
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1161
    functionName: aes_encrypt_core_2blks
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - pandn128
    - pxor128
    - movdqu128_memld
    - pand128
    - movdqa128
    - psrl_byte_128
    - movdqa128_memld
    - pshufb128
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE aes_encrypt_core_2blks(__m128i *pxmm0_a, __m128i
      *pxmm0_b,\n\t\t       struct vp_aes_config_s config,\n\t\t       __m128i xmm9,
      __m128i xmm10, __m128i xmm11,\n\t\t       __m128i xmm12, __m128i xmm13, __m128i
      xmm14,\n\t\t       __m128i xmm15)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: broadcast128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1180,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1181,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1182,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1183,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1184,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1185,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1186,1
    - Dst: load_tab16_table
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1191,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1191,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1192,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1192,1
    - Dst: pandn256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1193,1
    - Dst: pandn256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1193,1
    - Dst: psrl_byte_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1194,1
    - Dst: psrl_byte_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1194,1
    - Dst: pand256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1195,1
    - Dst: pand256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1195,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1196,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1196,1
    - Dst: load_tab16_table
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1197,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1197,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1199,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1199,1
    - Dst: broadcast128_256_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1200,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1201,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1201,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1202,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1202,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1209,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1209,1
    - Dst: pandn256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1210,1
    - Dst: pandn256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1210,1
    - Dst: psrl_byte_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1211,1
    - Dst: psrl_byte_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1211,1
    - Dst: pand256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1212,1
    - Dst: pand256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1212,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1213,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1213,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1214,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1214,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1215,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1215,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1216,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1216,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1217,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1217,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1218,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1218,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1219,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1219,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1220,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1220,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1221,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1221,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1222,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1222,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1223,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1223,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1224,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1224,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1225,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1225,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1226,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1226,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1227,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1227,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1233,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1233,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1234,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1234,1
    - Dst: broadcast128_256_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1235,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1236,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1236,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1237,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1237,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1238,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1238,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1239,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1239,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1240,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1240,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1241,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1241,1
    - Dst: load_tab32_mask
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1242,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1243,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1243,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1244,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1244,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1245,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1245,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1246,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1246,1
    - Dst: pshufb256_tab32
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1247,1
    - Dst: pshufb256_tab32
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1247,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1248,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1248,1
    - Dst: load_tab32_mask
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1249,1
    - Dst: pshufb256_tab32
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1250,1
    - Dst: pshufb256_tab32
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1250,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1251,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1251,1
    - Dst: pshufb256_tab32
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1252,1
    - Dst: pshufb256_tab32
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1252,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1253,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1253,1
    - Dst: movdqa256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1260,1
    - Dst: movdqa256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1260,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1261,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1261,1
    - Dst: broadcast128_256_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1262,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1263,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1263,1
    - Dst: movdqa256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1264,1
    - Dst: movdqa256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1264,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1265,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1265,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1266,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1266,1
    - Dst: load_tab32_mask
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1267,1
    - Dst: pshufb256_tab32
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1268,1
    - Dst: pshufb256_tab32
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 133
    argCount: 10
    argNames:
    - pymm0_a
    - pymm0_b
    - config
    - xmm9
    - xmm10
    - xmm11
    - xmm12
    - xmm13
    - xmm14
    - xmm15
    argTypes:
    - __m256i*
    - __m256i*
    - struct vp_aes_config_s
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1165
    functionDepth: 1
    functionLinenumber: 1165
    functionLinenumberEnd: 1272
    functionName: aes_encrypt_core_4blks_simd256
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - movdqa256
    - broadcast128_256
    - load_tab32_mask
    - broadcast128_256_amemld
    - movdqa128_256
    - pshufb256_tab16
    - pxor256
    - psrl_byte_256
    - load_tab16_table
    - pshufb256_tab32
    - movdqa256_memld
    - pand256
    - pandn256
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE aes_encrypt_core_4blks_simd256(__m256i *pymm0_a,
      __m256i *pymm0_b,\n\t\t\t       struct vp_aes_config_s config,\n\t\t\t       __m128i
      xmm9, __m128i xmm10, __m128i xmm11,\n\t\t\t       __m128i xmm12, __m128i xmm13,
      __m128i xmm14,\n\t\t\t       __m128i xmm15)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1285,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1286,1
    - Dst: pandn128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1287,1
    - Dst: psrl_byte_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1288,1
    - Dst: pand128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1289,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1290,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1291,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1292,1
    - Dst: pxor128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1293,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1294,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1295,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1302,1
    - Dst: pandn128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1303,1
    - Dst: psrl_byte_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1304,1
    - Dst: pand128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1305,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1306,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1307,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1308,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1309,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1310,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1311,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1312,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1313,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1314,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1315,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1316,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1317,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1318,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1319,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1320,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1326,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1327,1
    - Dst: pxor128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1328,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1329,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1330,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1331,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1332,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1334,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1335,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1336,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1337,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1338,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1339,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1341,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1342,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1343,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1344,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1345,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1346,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1347,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1349,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1350,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1351,1
    - Dst: pshufd128_0x93
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1352,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1353,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1354,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1355,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1356,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1362,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1363,1
    - Dst: pxor128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1364,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1365,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1366,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1367,1
    - Dst: pshufb128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 73
    argCount: 10
    argNames:
    - xmm0
    - config
    - xmm9
    - xmm10
    - xmm11
    - xmm12
    - xmm13
    - xmm14
    - xmm15
    - xmm8
    argTypes:
    - __m128i
    - struct vp_aes_config_s
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1371
    functionName: aes_decrypt_core
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - pandn128
    - pxor128
    - pand128
    - pshufd128_0x93
    - movdqa128
    - pshufb128_amemld
    - psrl_byte_128
    - movdqa128_memld
    - pxor128_amemld
    - pshufb128
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE aes_decrypt_core(__m128i xmm0, struct vp_aes_config_s
      config,\n\t\t __m128i xmm9, __m128i xmm10, __m128i xmm11, __m128i xmm12,\n\t\t
      __m128i xmm13, __m128i xmm14, __m128i xmm15, __m128i xmm8)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1390,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1390,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1391,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1391,1
    - Dst: pandn128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1392,1
    - Dst: pandn128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1392,1
    - Dst: psrl_byte_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1393,1
    - Dst: psrl_byte_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1393,1
    - Dst: pand128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1394,1
    - Dst: pand128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1394,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1395,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1395,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1396,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1396,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1397,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1397,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1398,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1399,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1399,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1400,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1400,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1401,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1408,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1408,1
    - Dst: pandn128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1409,1
    - Dst: pandn128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1409,1
    - Dst: psrl_byte_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1410,1
    - Dst: psrl_byte_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1410,1
    - Dst: pand128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1411,1
    - Dst: pand128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1411,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1412,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1412,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1413,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1413,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1414,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1414,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1415,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1415,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1416,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1416,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1417,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1417,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1418,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1418,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1419,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1419,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1420,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1420,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1421,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1421,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1422,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1422,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1423,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1423,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1424,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1424,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1425,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1425,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1426,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1426,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1432,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1432,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1433,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1433,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1434,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1435,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1435,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1436,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1436,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1437,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1437,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1438,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1438,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1439,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1439,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1441,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1441,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1442,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1442,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1443,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1443,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1444,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1444,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1445,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1445,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1446,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1446,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1448,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1448,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1449,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1449,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1450,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1450,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1451,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1451,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1452,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1452,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1453,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1453,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1454,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1454,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1456,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1456,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1457,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1457,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1458,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1458,1
    - Dst: pshufd128_0x93
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1459,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1460,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1460,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1461,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1461,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1462,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1462,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1463,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1463,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1469,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1469,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1470,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1470,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1471,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1472,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1472,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1473,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1473,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1474,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1474,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1475,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1475,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1476,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1477,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 143
    argCount: 11
    argNames:
    - pxmm0_a
    - pxmm0_b
    - config
    - xmm9
    - xmm10
    - xmm11
    - xmm12
    - xmm13
    - xmm14
    - xmm15
    - xmm8
    argTypes:
    - __m128i*
    - __m128i*
    - struct vp_aes_config_s
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1481
    functionName: aes_decrypt_core_2blks
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - pandn128
    - pxor128
    - movdqu128_memld
    - pand128
    - pshufd128_0x93
    - movdqa128
    - psrl_byte_128
    - movdqa128_memld
    - pshufb128
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE aes_decrypt_core_2blks(__m128i *pxmm0_a, __m128i
      *pxmm0_b,\n\t\t       struct vp_aes_config_s config,\n\t\t       __m128i xmm9,
      __m128i xmm10, __m128i xmm11,\n\t\t       __m128i xmm12, __m128i xmm13, __m128i
      xmm14,\n\t\t       __m128i xmm15, __m128i xmm8)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: broadcast128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1500,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1501,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1502,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1503,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1504,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1505,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1506,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1507,1
    - Dst: load_tab16_table
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1512,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1512,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1513,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1513,1
    - Dst: pandn256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1514,1
    - Dst: pandn256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1514,1
    - Dst: psrl_byte_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1515,1
    - Dst: psrl_byte_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1515,1
    - Dst: pand256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1516,1
    - Dst: pand256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1516,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1517,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1517,1
    - Dst: load_tab16_table
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1518,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1518,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1519,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1519,1
    - Dst: broadcast128_256_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1520,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1521,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1521,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1522,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1522,1
    - Dst: load_tab32_mask
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1523,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1530,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1530,1
    - Dst: pandn256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1531,1
    - Dst: pandn256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1531,1
    - Dst: psrl_byte_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1532,1
    - Dst: psrl_byte_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1532,1
    - Dst: pand256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1533,1
    - Dst: pand256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1533,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1534,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1534,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1535,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1535,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1536,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1536,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1537,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1537,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1538,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1538,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1539,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1539,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1540,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1540,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1541,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1541,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1542,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1542,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1543,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1543,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1544,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1544,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1545,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1545,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1546,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1546,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1547,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1547,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1548,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1548,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1554,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1554,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1555,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1555,1
    - Dst: broadcast128_256_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1556,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1557,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1557,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1558,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1558,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1559,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1559,1
    - Dst: load_tab16_table
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1560,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1560,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1561,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1561,1
    - Dst: pshufb256_tab32
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1563,1
    - Dst: pshufb256_tab32
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1563,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1564,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1564,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1565,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1565,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1566,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1566,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1567,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1567,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1568,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1568,1
    - Dst: pshufb256_tab32
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1570,1
    - Dst: pshufb256_tab32
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1570,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1571,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1571,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1572,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1572,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1573,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1573,1
    - Dst: load_tab16_table
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1574,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1574,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1575,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1575,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1576,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1576,1
    - Dst: pshufb256_tab32
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1578,1
    - Dst: pshufb256_tab32
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1578,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1579,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1579,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1580,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1580,1
    - Dst: pshufd256_0x93
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1581,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1582,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1582,1
    - Dst: load_tab16_table
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1583,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1583,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1584,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1584,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1585,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1585,1
    - Dst: load_tab16_table
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1591,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1591,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1592,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1592,1
    - Dst: broadcast128_256_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1593,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1594,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1594,1
    - Dst: load_tab16_table
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1595,1
    - Dst: movdqa256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1595,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1596,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1596,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1597,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1597,1
    - Dst: load_tab32_mask
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1598,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1599,1
    - Dst: pshufb256_tab16
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 151
    argCount: 11
    argNames:
    - pymm0_a
    - pymm0_b
    - config
    - xmm9
    - xmm10
    - xmm11
    - xmm12
    - xmm13
    - xmm14
    - xmm15
    - xmm8
    argTypes:
    - __m256i*
    - __m256i*
    - struct vp_aes_config_s
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1603
    functionName: aes_decrypt_core_4blks_simd256
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - movdqa256
    - pshufd256_0x93
    - broadcast128_256
    - load_tab32_mask
    - broadcast128_256_amemld
    - movdqa128_256
    - pshufb256_tab16
    - pxor256
    - psrl_byte_256
    - load_tab16_table
    - pshufb256_tab32
    - pand256
    - pandn256
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE aes_decrypt_core_4blks_simd256(__m256i *pymm0_a,
      __m256i *pymm0_b,\n\t\t\t       struct vp_aes_config_s config,\n\t\t\t       __m128i
      xmm9, __m128i xmm10, __m128i xmm11,\n\t\t\t       __m128i xmm12, __m128i xmm13,
      __m128i xmm14,\n\t\t\t       __m128i xmm15, __m128i xmm8)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enc_preload
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1617,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1619,1
    - Dst: aes_encrypt_core
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1621,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1624,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - dst
    - src
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1607
    functionDepth: 1
    functionLinenumber: 1607
    functionLinenumberEnd: 1629
    functionName: FUNC_ENCRYPT
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - movdqu128_memld
    - movdqu128_memst
    - enc_preload
    - aes_encrypt_core
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE unsigned
    signature: "ASM_FUNC_ATTR_NOINLINE unsigned FUNC_ENCRYPT (const RIJNDAEL_context
      *ctx, unsigned char *dst,\n              const unsigned char *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dec_preload
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1641,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1643,1
    - Dst: aes_decrypt_core
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1645,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1648,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - dst
    - src
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1631
    functionDepth: 1
    functionLinenumber: 1631
    functionLinenumberEnd: 1653
    functionName: FUNC_DECRYPT
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - movdqu128_memld
    - movdqu128_memst
    - aes_decrypt_core
    - dec_preload
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE unsigned
    signature: "ASM_FUNC_ATTR_NOINLINE unsigned FUNC_DECRYPT (const RIJNDAEL_context
      *ctx, unsigned char *dst,\n              const unsigned char *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enc_preload
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1666,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1668,1
    - Dst: aes_encrypt_core
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1672,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1675,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1676,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1677,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1683,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1655
    functionDepth: 1
    functionLinenumber: 1655
    functionLinenumberEnd: 1686
    functionName: FUNC_CFB_ENC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - pxor128
    - movdqu128_memld
    - movdqu128_memst
    - enc_preload
    - aes_encrypt_core
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE FUNC_CFB_ENC (RIJNDAEL_context *ctx, unsigned
      char *iv,\n\t      unsigned char *outbuf, const unsigned char *inbuf,\n\t      size_t
      nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enc_preload
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1700,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1702,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1706,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1707,1
    - Dst: aes_encrypt_core
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1709,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1712,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1713,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1719,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - ctx
    - iv
    - outbuf
    - inbuf
    - nblocks
    - cbc_mac
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1722
    functionName: FUNC_CBC_ENC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - pxor128
    - movdqu128_memld
    - movdqu128_memst
    - movdqa128
    - enc_preload
    - aes_encrypt_core
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE FUNC_CBC_ENC (RIJNDAEL_context *ctx, unsigned
      char *iv,\n\t      unsigned char *outbuf, const unsigned char *inbuf,\n\t      size_t
      nblocks, int cbc_mac)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: M128I_BYTE
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1732,1
    - Dst: M128I_BYTE
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1734,1
    - Dst: M128I_U64
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1735,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1736,1
    - Dst: enc_preload
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1742,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1744,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1745,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1746,1
    - Dst: check_simd256_support
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1749,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1755,1
    - Dst: UNLIKELY
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1758,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1760,1
    - Dst: paddd128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1761,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1762,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1763,1
    - Dst: insert256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1764,1
    - Dst: paddd128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1765,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1766,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1767,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1768,1
    - Dst: paddd128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1769,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1770,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1771,1
    - Dst: insert256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1772,1
    - Dst: paddd128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1773,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1774,1
    - Dst: paddb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1778,1
    - Dst: insert256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1779,1
    - Dst: paddb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1780,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1781,1
    - Dst: paddb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1782,1
    - Dst: insert256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1783,1
    - Dst: paddb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1784,1
    - Dst: aes_encrypt_core_4blks_simd256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1787,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1791,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1792,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1793,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1794,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1795,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1796,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1806,1
    - Dst: UNLIKELY
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1809,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1811,1
    - Dst: paddd128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1812,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1813,1
    - Dst: paddq128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1814,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1815,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1816,1
    - Dst: paddb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1820,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1821,1
    - Dst: paddb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1822,1
    - Dst: aes_encrypt_core_2blks
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1825,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1828,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1829,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1830,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1831,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1832,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1833,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1841,1
    - Dst: UNLIKELY
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1844,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1846,1
    - Dst: paddd128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1847,1
    - Dst: pshufb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1848,1
    - Dst: paddb128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1852,1
    - Dst: aes_encrypt_core
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1855,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1858,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1859,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1860,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1866,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1868,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 88
    argCount: 5
    argNames:
    - ctx
    - ctr
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1724
    functionDepth: 2
    functionLinenumber: 1724
    functionLinenumberEnd: 1869
    functionName: FUNC_CTR_ENC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - aes_encrypt_core_2blks
    - buf_get_be64
    - paddq128_amemld
    - movdqu256_memld
    - movdqa128_memld
    - pxor128
    - M128I_BYTE
    - check_simd256_support
    - movdqa128_256
    - insert256_hi128
    - aes_encrypt_core
    - movdqu256_memst
    - pshufb128
    - aes_encrypt_core_4blks_simd256
    - movdqu128_memst
    - movdqa128
    - pxor256
    - enc_preload
    - clear_vec_regs
    - paddd128_amemld
    - movdqu128_memld
    - M128I_U64
    - UNLIKELY
    - paddb128
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE FUNC_CTR_ENC (RIJNDAEL_context *ctx, unsigned
      char *ctr,\n\t      unsigned char *outbuf, const unsigned char *inbuf,\n\t      size_t
      nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: M128I_U64
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1878,1
    - Dst: M128I_U64
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1879,1
    - Dst: enc_preload
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1885,1
    - Dst: movdqa128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1887,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1888,1
    - Dst: check_simd256_support
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1891,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1897,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1898,1
    - Dst: paddd128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1899,1
    - Dst: paddd128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1900,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1901,1
    - Dst: insert256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1902,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1904,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1905,1
    - Dst: paddd128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1906,1
    - Dst: paddd128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1907,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1908,1
    - Dst: insert256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1909,1
    - Dst: aes_encrypt_core_4blks_simd256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1911,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1915,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1916,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1917,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1918,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1919,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1920,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1930,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1931,1
    - Dst: paddd128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1932,1
    - Dst: paddd128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1933,1
    - Dst: aes_encrypt_core_2blks
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1935,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1938,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1939,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1940,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1941,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1942,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1943,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1951,1
    - Dst: paddd128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1952,1
    - Dst: aes_encrypt_core
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1954,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1957,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1958,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1959,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1965,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1967,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 58
    argCount: 5
    argNames:
    - ctx
    - ctr
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1871
    functionDepth: 2
    functionLinenumber: 1871
    functionLinenumberEnd: 1968
    functionName: FUNC_CTR32LE_ENC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - aes_encrypt_core_2blks
    - movdqu256_memld
    - movdqa128_memld
    - pxor128
    - check_simd256_support
    - movdqa128_256
    - insert256_hi128
    - aes_encrypt_core
    - movdqu256_memst
    - aes_encrypt_core_4blks_simd256
    - movdqu128_memst
    - movdqa128
    - pxor256
    - enc_preload
    - clear_vec_regs
    - paddd128_amemld
    - movdqu128_memld
    - M128I_U64
    - paddd128
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE FUNC_CTR32LE_ENC (RIJNDAEL_context *ctx, unsigned
      char *ctr,\n\t\t  unsigned char *outbuf, const unsigned char *inbuf,\n\t\t  size_t
      nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: enc_preload
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1982,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1984,1
    - Dst: check_simd256_support
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1987,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1993,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1994,1
    - Dst: movdqa256_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1995,1
    - Dst: insert256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1996,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1997,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1998,1
    - Dst: extract256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:1999,1
    - Dst: aes_encrypt_core_4blks_simd256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2001,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2005,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2006,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2007,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2008,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2018,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2019,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2020,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2021,1
    - Dst: aes_encrypt_core_2blks
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2023,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2026,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2027,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2028,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2029,1
    - Dst: aes_encrypt_core
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2037,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2040,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2041,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2042,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2043,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2049,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2051,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 5
    argNames:
    - ctx
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 1970
    functionDepth: 2
    functionLinenumber: 1970
    functionLinenumberEnd: 2052
    functionName: FUNC_CFB_DEC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - aes_encrypt_core_4blks_simd256
    - pxor128
    - movdqu128_memld
    - aes_encrypt_core_2blks
    - check_simd256_support
    - movdqa128_256
    - insert256_hi128
    - movdqu256_memld
    - pxor256
    - enc_preload
    - movdqa128
    - movdqu128_memst
    - aes_encrypt_core
    - movdqu256_memst
    - extract256_hi128
    - movdqa256_128
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE FUNC_CFB_DEC (RIJNDAEL_context *ctx, unsigned
      char *iv,\n\t      unsigned char *outbuf, const unsigned char *inbuf,\n\t      size_t
      nblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_PREPARE_DEC
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2065,1
    - Dst: dec_preload
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2072,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2074,1
    - Dst: check_simd256_support
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2077,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2083,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2084,1
    - Dst: movdqa256_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2085,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2086,1
    - Dst: insert256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2087,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2088,1
    - Dst: extract256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2089,1
    - Dst: aes_decrypt_core_4blks_simd256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2091,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2095,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2096,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2097,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2098,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2108,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2109,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2110,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2111,1
    - Dst: aes_decrypt_core_2blks
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2113,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2117,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2118,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2119,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2120,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2121,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2129,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2130,1
    - Dst: aes_decrypt_core
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2132,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2136,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2137,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2138,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2144,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 53
    argCount: 5
    argNames:
    - ctx
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2054
    functionDepth: 5
    functionLinenumber: 2054
    functionLinenumberEnd: 2147
    functionName: FUNC_CBC_DEC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - aes_decrypt_core_4blks_simd256
    - pxor128
    - movdqu128_memld
    - check_simd256_support
    - movdqa128_256
    - FUNC_PREPARE_DEC
    - movdqu256_memld
    - insert256_hi128
    - pxor256
    - movdqa128
    - movdqu128_memst
    - aes_decrypt_core
    - aes_decrypt_core_2blks
    - movdqu256_memst
    - extract256_hi128
    - dec_preload
    - movdqa256_128
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE FUNC_CBC_DEC (RIJNDAEL_context *ctx, unsigned
      char *iv,\n\t      unsigned char *outbuf, const unsigned char *inbuf,\n\t      size_t
      nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: enc_preload
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2164,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2167,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2168,1
    - Dst: check_simd256_support
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2171,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2175,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2181,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2182,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2186,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2187,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2188,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2189,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2191,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2192,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2193,1
    - Dst: insert256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2194,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2196,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2197,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2198,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2199,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2201,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2202,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2203,1
    - Dst: insert256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2204,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2207,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2208,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2210,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2211,1
    - Dst: aes_encrypt_core_4blks_simd256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2213,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2217,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2218,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2219,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2220,1
    - Dst: extract256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2226,1
    - Dst: movdqa256_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2227,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2228,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2239,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2240,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2241,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2242,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2243,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2244,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2245,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2246,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2251,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2252,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2253,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2254,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2255,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2256,1
    - Dst: aes_encrypt_core_2blks
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2258,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2261,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2262,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2263,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2264,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2274,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2279,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2280,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2281,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2282,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2283,1
    - Dst: aes_encrypt_core
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2285,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2288,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2289,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2296,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2297,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 84
    argCount: 4
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2149
    functionDepth: 2
    functionLinenumber: 2149
    functionLinenumberEnd: 2302
    functionName: aes_simd128_ocb_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - aes_encrypt_core_4blks_simd256
    - pxor128
    - movdqu128_memld
    - aes_encrypt_core_2blks
    - check_simd256_support
    - movdqa128_256
    - insert256_hi128
    - movdqu256_memld
    - pxor256
    - enc_preload
    - movdqa128
    - movdqu128_memst
    - aes_encrypt_core
    - movdqu256_memst
    - extract256_hi128
    - movdqa256_128
    - ocb_get_l
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE aes_simd128_ocb_enc (gcry_cipher_hd_t c, void
      *outbuf_arg,\n\t\t     const void *inbuf_arg, size_t nblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_PREPARE_DEC
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2318,1
    - Dst: dec_preload
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2325,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2328,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2329,1
    - Dst: check_simd256_support
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2332,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2336,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2342,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2343,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2347,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2348,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2349,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2350,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2352,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2353,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2354,1
    - Dst: insert256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2355,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2357,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2358,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2359,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2360,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2362,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2363,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2364,1
    - Dst: insert256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2365,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2367,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2368,1
    - Dst: aes_decrypt_core_4blks_simd256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2370,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2374,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2375,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2378,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2379,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2381,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2382,1
    - Dst: extract256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2388,1
    - Dst: movdqa256_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2389,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2390,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2401,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2402,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2403,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2404,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2405,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2406,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2407,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2412,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2413,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2414,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2415,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2416,1
    - Dst: aes_decrypt_core_2blks
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2418,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2422,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2423,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2424,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2425,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2426,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2427,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2440,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2441,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2442,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2443,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2444,1
    - Dst: aes_decrypt_core
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2446,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2450,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2451,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2452,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2459,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2460,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 88
    argCount: 4
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2465
      start: 2304
    functionDepth: 5
    functionLinenumber: 2304
    functionLinenumberEnd: 2465
    functionName: aes_simd128_ocb_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - aes_decrypt_core_4blks_simd256
    - FUNC_PREPARE_DEC
    - movdqu256_memld
    - aes_decrypt_core
    - pxor128
    - check_simd256_support
    - movdqa128_256
    - insert256_hi128
    - aes_decrypt_core_2blks
    - movdqu256_memst
    - movdqa256_128
    - movdqu128_memst
    - pxor256
    - movdqa128
    - extract256_hi128
    - clear_vec_regs
    - ocb_get_l
    - movdqu128_memld
    - dec_preload
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE aes_simd128_ocb_dec (gcry_cipher_hd_t c, void
      *outbuf_arg,\n\t\t     const void *inbuf_arg, size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_simd128_ocb_enc
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2472,1
    - Dst: aes_simd128_ocb_dec
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2467
    functionDepth: 6
    functionLinenumber: 2467
    functionLinenumberEnd: 2475
    functionName: FUNC_OCB_CRYPT
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - aes_simd128_ocb_dec
    - aes_simd128_ocb_enc
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE FUNC_OCB_CRYPT(gcry_cipher_hd_t c, void *outbuf_arg,\n\t
      \      const void *inbuf_arg, size_t nblocks, int encrypt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: enc_preload
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2490,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2493,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2494,1
    - Dst: check_simd256_support
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2497,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2501,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2507,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2508,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2512,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2513,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2514,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2515,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2517,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2518,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2519,1
    - Dst: insert256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2520,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2522,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2523,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2524,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2525,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2527,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2528,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2529,1
    - Dst: insert256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2530,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2532,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2533,1
    - Dst: aes_encrypt_core_4blks_simd256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2535,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2539,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2540,1
    - Dst: extract256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2545,1
    - Dst: movdqa256_128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2546,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2547,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2557,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2558,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2559,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2560,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2561,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2562,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2566,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2567,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2568,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2569,1
    - Dst: aes_encrypt_core_2blks
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2571,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2574,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2575,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2586,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2587,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2588,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2589,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2590,1
    - Dst: aes_encrypt_core
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2592,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2595,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2601,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2602,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2604,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 69
    argCount: 3
    argNames:
    - c
    - abuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2477
    functionDepth: 2
    functionLinenumber: 2477
    functionLinenumberEnd: 2607
    functionName: FUNC_OCB_AUTH
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - aes_encrypt_core_4blks_simd256
    - pxor128
    - movdqu128_memld
    - aes_encrypt_core_2blks
    - check_simd256_support
    - movdqa128_256
    - insert256_hi128
    - movdqu256_memld
    - pxor256
    - enc_preload
    - aes_encrypt_core
    - movdqu128_memst
    - extract256_hi128
    - movdqa256_128
    - ocb_get_l
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: ASM_FUNC_ATTR_NOINLINE FUNC_OCB_AUTH(gcry_cipher_hd_t c, const void
      *abuf_arg, size_t nblocks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: enc_preload
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2622,1
    - Dst: check_simd256_support
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2625,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2631,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2632,1
    - Dst: aes_encrypt_core_4blks_simd256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2634,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2638,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2639,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2649,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2650,1
    - Dst: aes_encrypt_core_2blks
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2652,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2656,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2657,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2665,1
    - Dst: aes_encrypt_core
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2667,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2671,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 4
    argNames:
    - context
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2678
      start: 2609
    functionDepth: 2
    functionLinenumber: 2609
    functionLinenumberEnd: 2678
    functionName: aes_simd128_ecb_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - aes_encrypt_core_4blks_simd256
    - movdqu128_memld
    - aes_encrypt_core_2blks
    - check_simd256_support
    - movdqu128_memst
    - movdqu256_memld
    - enc_preload
    - aes_encrypt_core
    - movdqu256_memst
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE aes_simd128_ecb_enc (void *context, void *outbuf_arg,
      const void *inbuf_arg,\n\t\t     size_t nblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_PREPARE_DEC
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2692,1
    - Dst: dec_preload
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2699,1
    - Dst: check_simd256_support
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2702,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2708,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2709,1
    - Dst: aes_decrypt_core_4blks_simd256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2711,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2715,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2716,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2726,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2727,1
    - Dst: aes_decrypt_core_2blks
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2729,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2733,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2734,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2742,1
    - Dst: aes_decrypt_core
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2744,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2748,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2754,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 4
    argNames:
    - context
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2755
      start: 2680
    functionDepth: 5
    functionLinenumber: 2680
    functionLinenumberEnd: 2755
    functionName: aes_simd128_ecb_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - aes_decrypt_core_4blks_simd256
    - movdqu128_memld
    - check_simd256_support
    - FUNC_PREPARE_DEC
    - movdqu256_memld
    - movdqu128_memst
    - aes_decrypt_core
    - aes_decrypt_core_2blks
    - movdqu256_memst
    - dec_preload
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE aes_simd128_ecb_dec (void *context, void *outbuf_arg,
      const void *inbuf_arg,\n\t\t     size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_simd128_ecb_enc
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2762,1
    - Dst: aes_simd128_ecb_dec
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - context
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2757
    functionDepth: 6
    functionLinenumber: 2757
    functionLinenumberEnd: 2765
    functionName: FUNC_ECB_CRYPT
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - aes_simd128_ecb_dec
    - aes_simd128_ecb_enc
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE FUNC_ECB_CRYPT (void *context, void *outbuf_arg,
      const void *inbuf_arg,\n\t\tsize_t nblocks, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: M128I_U64
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2769,1
    - Dst: pshufd128_0x4E
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2772,1
    - Dst: psraq128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2773,1
    - Dst: paddq128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2774,1
    - Dst: pand128_amemld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2775,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - xmm5
    argTypes:
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2767
    functionDepth: 1
    functionLinenumber: 2767
    functionLinenumberEnd: 2779
    functionName: xts_gfmul_byA
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 1
    functionsReached:
    - pxor128
    - pshufd128_0x4E
    - pand128_amemld
    - psraq128
    - M128I_U64
    - paddq128
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE xts_gfmul_byA (__m128i xmm5)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: enc_preload
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2795,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2797,1
    - Dst: check_simd256_support
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2800,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2806,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2807,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2809,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2810,1
    - Dst: insert256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2811,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2812,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2813,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2814,1
    - Dst: insert256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2815,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2816,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2818,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2819,1
    - Dst: aes_encrypt_core_4blks_simd256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2821,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2825,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2826,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2827,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2828,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2838,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2839,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2840,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2841,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2842,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2843,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2844,1
    - Dst: aes_encrypt_core_2blks
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2846,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2850,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2851,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2852,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2853,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2861,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2862,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2863,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2864,1
    - Dst: aes_encrypt_core
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2866,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2869,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2870,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2876,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2878,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 5
    argNames:
    - context
    - tweak
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2879
      start: 2781
    functionDepth: 2
    functionLinenumber: 2781
    functionLinenumberEnd: 2879
    functionName: aes_simd128_xts_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - aes_encrypt_core_4blks_simd256
    - pxor128
    - movdqu128_memld
    - aes_encrypt_core_2blks
    - check_simd256_support
    - movdqa128_256
    - insert256_hi128
    - movdqu256_memld
    - pxor256
    - enc_preload
    - movdqa128
    - movdqu128_memst
    - aes_encrypt_core
    - movdqu256_memst
    - xts_gfmul_byA
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE aes_simd128_xts_enc (void *context, unsigned
      char *tweak, void *outbuf_arg,\n\t\t     const void *inbuf_arg, size_t nblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_PREPARE_DEC
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2894,1
    - Dst: dec_preload
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2901,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2903,1
    - Dst: check_simd256_support
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2906,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2912,1
    - Dst: movdqu256_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2913,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2915,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2916,1
    - Dst: insert256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2917,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2918,1
    - Dst: movdqa128_256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2919,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2920,1
    - Dst: insert256_hi128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2921,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2922,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2924,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2925,1
    - Dst: aes_decrypt_core_4blks_simd256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2927,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2931,1
    - Dst: pxor256
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2932,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2933,1
    - Dst: movdqu256_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2934,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2944,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2945,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2946,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2947,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2948,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2949,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2950,1
    - Dst: aes_decrypt_core_2blks
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2952,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2956,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2957,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2958,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2959,1
    - Dst: movdqu128_memld
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2967,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2968,1
    - Dst: movdqa128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2969,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2970,1
    - Dst: aes_decrypt_core
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2972,1
    - Dst: pxor128
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2976,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2977,1
    - Dst: movdqu128_memst
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2983,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2985,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 61
    argCount: 5
    argNames:
    - context
    - tweak
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2986
      start: 2881
    functionDepth: 5
    functionLinenumber: 2881
    functionLinenumberEnd: 2986
    functionName: aes_simd128_xts_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - aes_decrypt_core_4blks_simd256
    - pxor128
    - movdqu128_memld
    - check_simd256_support
    - movdqa128_256
    - FUNC_PREPARE_DEC
    - movdqu256_memld
    - insert256_hi128
    - pxor256
    - movdqa128
    - movdqu128_memst
    - aes_decrypt_core
    - aes_decrypt_core_2blks
    - movdqu256_memst
    - dec_preload
    - xts_gfmul_byA
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE aes_simd128_xts_dec (void *context, unsigned
      char *tweak, void *outbuf_arg,\n\t\t     const void *inbuf_arg, size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_simd128_xts_enc
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2993,1
    - Dst: aes_simd128_xts_dec
      Src: /src/libgcrypt/cipher/rijndael-vp-simd128.h:2995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - context
    - tweak
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2996
      start: 2988
    functionDepth: 6
    functionLinenumber: 2988
    functionLinenumberEnd: 2996
    functionName: FUNC_XTS_CRYPT
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    functionUses: 0
    functionsReached:
    - aes_simd128_xts_enc
    - aes_simd128_xts_dec
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE FUNC_XTS_CRYPT (void *context, unsigned char
      *tweak, void *outbuf_arg,\n\t\tconst void *inbuf_arg, size_t nblocks, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - in_ptr
    - ','
    - offs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: ALIGNED_LOAD
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGNED_LOAD(in_ptr, offs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - out_ptr
    - ','
    - offs
    - ','
    - vec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: ALIGNED_STORE
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGNED_STORE(out_ptr, offs, vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vec
    - ','
    - bige_const
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: VEC_BE_SWAP
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VEC_BE_SWAP(vec, bige_const)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - in_ptr
    - ','
    - offs
    - ','
    - bige_const
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: VEC_LOAD_BE
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VEC_LOAD_BE(in_ptr, offs, bige_const)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - in_ptr
    - ','
    - offs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: VEC_LOAD_BE_NOSWAP
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VEC_LOAD_BE_NOSWAP(in_ptr, offs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - out_ptr
    - ','
    - offs
    - ','
    - vec
    - ','
    - bige_const
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: VEC_STORE_BE
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VEC_STORE_BE(out_ptr, offs, vec, bige_const)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - out_ptr
    - ','
    - offs
    - ','
    - vec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: VEC_STORE_BE_NOSWAP
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VEC_STORE_BE_NOSWAP(out_ptr, offs, vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nrounds
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: PRELOAD_ROUND_KEYS
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRELOAD_ROUND_KEYS(nrounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - blk
    - ','
    - nrounds
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 107
    functionName: AES_ENCRYPT
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_ENCRYPT(blk, nrounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - blk
    - ','
    - nrounds
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 132
    functionName: AES_DECRYPT
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_DECRYPT(blk, nrounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nrounds
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 167
    functionName: PRELOAD_ROUND_KEYS_ALL
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRELOAD_ROUND_KEYS_ALL(nrounds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_constant_p
      Src: /src/libgcrypt/cipher/rijndael-ppc-common.h:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - offset
    - ptr
    argTypes:
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 186
    functionName: asm_aligned_ld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached:
    - __builtin_constant_p
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_aligned_ld(unsigned long offset, const void
      *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_constant_p
      Src: /src/libgcrypt/cipher/rijndael-ppc-common.h:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - vec
    - offset
    - ptr
    argTypes:
    - block
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: asm_aligned_st
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached:
    - __builtin_constant_p
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_aligned_st(block vec, unsigned long offset,
      void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vec
    - mask
    argTypes:
    - block
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: asm_vperm1
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_vperm1(block vec, block mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - block
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: asm_add_uint128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_add_uint128(block a, block b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - block
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 233
    functionName: asm_add_uint64
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_add_uint64(block a, block b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - block
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: asm_add_uint16
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_add_uint16(block a, block b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - block
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: asm_sra_int64
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_sra_int64(block a, block b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: asm_swap_uint64_halfs
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: block
    signature: block asm_swap_uint64_halfs(block a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - block
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: asm_xor
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_xor(block a, block b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: asm_sbox_be
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_sbox_be(block b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - rk
    argTypes:
    - block
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 293
    functionName: asm_cipher_be
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_cipher_be(block b, block rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - rk
    argTypes:
    - block
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 303
    functionName: asm_cipherlast_be
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_cipherlast_be(block b, block rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - rk
    argTypes:
    - block
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 313
    functionName: asm_ncipher_be
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_ncipher_be(block b, block rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - rk
    argTypes:
    - block
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: asm_ncipherlast_be
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_ncipherlast_be(block b, block rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALIGNED_STORE
      Src: /src/libgcrypt/cipher/rijndael-ppc-common.h:340,1
    - Dst: ALIGNED_LOAD
      Src: /src/libgcrypt/cipher/rijndael-ppc-common.h:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 342
    functionName: internal_aes_ppc_prepare_decryption
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-common.h
    functionUses: 0
    functionsReached:
    - ALIGNED_STORE
    - ALIGNED_LOAD
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE internal_aes_ppc_prepare_decryption (RIJNDAEL_context
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: cast_u8m1_u32m1
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_u8m1_u32m1(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: cast_u8m1_u64m1
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_u8m1_u64m1(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: cast_u32m1_u8m1
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_u32m1_u8m1(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: cast_u32m1_u64m1
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_u32m1_u64m1(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: cast_u64m1_u8m1
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_u64m1_u8m1(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: cast_u8m2_u32m2
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_u8m2_u32m2(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: cast_u32m2_u8m2
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_u32m2_u8m2(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: cast_u8m4_u32m4
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_u8m4_u32m4(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: cast_u32m4_u8m4
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_u32m4_u8m4(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: cast_u64m1_u32m1
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_u64m1_u32m1(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: cast_u32m1_u64m1
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_u32m1_u64m1(a)
  - 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: cast_u64m1_i64m1
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_u64m1_i64m1(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: cast_i64m1_u64m1
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cast_i64m1_u64m1(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: memory_barrier_with_vec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memory_barrier_with_vec(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vle8_v_u8m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:80,1
    - Dst: cast_u8m1_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:82,1
    - Dst: __riscv_vrgather_vv_u8m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:83,1
    - Dst: cast_u32m1_u8m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vec
    - vl_u32
    argTypes:
    - vuint32m1_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: vuint32m1_t::bswap128_u32m1
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - __riscv_vle8_v_u8m1
    - __riscv_vrgather_vv_u8m1
    - cast_u8m1_u32m1
    - cast_u32m1_u8m1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vuint32m1_t

      bswap128_u32m1(vuint32m1_t vec, size_t vl_u32)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cast_u8m1_u64m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:90,1
    - Dst: __riscv_vle8_v_u8m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:90,1
    - Dst: __riscv_vle64_v_u64m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - vl_u64
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: vuint64m1_t::unaligned_load_u64m1
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - cast_u8m1_u64m1
    - __riscv_vle64_v_u64m1
    - __riscv_vle8_v_u8m1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vuint64m1_t

      unaligned_load_u64m1(const void *ptr, size_t vl_u64)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cast_u8m1_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:100,1
    - Dst: __riscv_vle8_v_u8m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:100,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - vl_u32
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: vuint32m1_t::unaligned_load_u32m1
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - __riscv_vle8_v_u8m1
    - __riscv_vle32_v_u32m1
    - cast_u8m1_u32m1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vuint32m1_t

      unaligned_load_u32m1(const void *ptr, size_t vl_u32)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vse8_v_u8m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:110,1
    - Dst: cast_u32m1_u8m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:110,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - vec
    - vl_u32
    argTypes:
    - void*
    - vuint32m1_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: unaligned_store_u32m1
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 1
    functionsReached:
    - __riscv_vse8_v_u8m1
    - __riscv_vse32_v_u32m1
    - cast_u32m1_u8m1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE unaligned_store_u32m1(void *ptr, vuint32m1_t vec,
      size_t vl_u32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cast_u8m2_u32m2
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:120,1
    - Dst: __riscv_vle8_v_u8m2
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:120,1
    - Dst: __riscv_vle32_v_u32m2
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - vl_u32
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: vuint32m2_t::unaligned_load_u32m2
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - __riscv_vle8_v_u8m2
    - cast_u8m2_u32m2
    - __riscv_vle32_v_u32m2
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vuint32m2_t

      unaligned_load_u32m2(const void *ptr, size_t vl_u32)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vse8_v_u8m2
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:130,1
    - Dst: cast_u32m2_u8m2
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:130,1
    - Dst: __riscv_vse32_v_u32m2
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - vec
    - vl_u32
    argTypes:
    - void*
    - vuint32m2_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: unaligned_store_u32m2
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - cast_u32m2_u8m2
    - __riscv_vse32_v_u32m2
    - __riscv_vse8_v_u8m2
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE unaligned_store_u32m2(void *ptr, vuint32m2_t vec,
      size_t vl_u32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cast_u8m4_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:140,1
    - Dst: __riscv_vle8_v_u8m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:140,1
    - Dst: __riscv_vle32_v_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - vl_u32
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: vuint32m4_t::unaligned_load_u32m4
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - __riscv_vle32_v_u32m4
    - cast_u8m4_u32m4
    - __riscv_vle8_v_u8m4
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vuint32m4_t

      unaligned_load_u32m4(const void *ptr, size_t vl_u32)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vse8_v_u8m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:150,1
    - Dst: cast_u32m4_u8m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:150,1
    - Dst: __riscv_vse32_v_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - vec
    - vl_u32
    argTypes:
    - void*
    - vuint32m4_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: unaligned_store_u32m4
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - __riscv_vse8_v_u8m4
    - __riscv_vse32_v_u32m4
    - cast_u32m4_u8m4
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE unaligned_store_u32m4(void *ptr, vuint32m4_t vec,
      size_t vl_u32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vlmul_ext_v_u32m1_u32m2
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:164,1
    - Dst: __riscv_vlmul_ext_v_u32m1_u32m2
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:165,1
    - Dst: __riscv_vslideup_vx_u32m2
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:166,1
    - Dst: __riscv_vlmul_ext_v_u32m1_u32m2
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:167,1
    - Dst: __riscv_vlmul_ext_v_u32m1_u32m2
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:168,1
    - Dst: __riscv_vslideup_vx_u32m2
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:169,1
    - Dst: __riscv_vlmul_ext_v_u32m2_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:170,1
    - Dst: __riscv_vlmul_ext_v_u32m2_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:171,1
    - Dst: __riscv_vslideup_vx_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - v0
    - v1
    - v2
    - v3
    argTypes:
    - vuint32m1_t
    - vuint32m1_t
    - vuint32m1_t
    - vuint32m1_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 173
    functionName: vuint32m4_t::merge_4x_u32m1_to_u32m4
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - __riscv_vlmul_ext_v_u32m1_u32m2
    - __riscv_vlmul_ext_v_u32m2_u32m4
    - __riscv_vslideup_vx_u32m2
    - __riscv_vslideup_vx_u32m4
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE vuint32m4_t\nmerge_4x_u32m1_to_u32m4(vuint32m1_t
      v0, vuint32m1_t v1, vuint32m1_t v2,\n\t\t\tvuint32m1_t v3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vlmul_trunc_v_u32m4_u32m2
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:179,1
    - Dst: __riscv_vlmul_trunc_v_u32m4_u32m2
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:180,1
    - Dst: __riscv_vslidedown_vx_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:181,1
    - Dst: __riscv_vlmul_trunc_v_u32m2_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:182,1
    - Dst: __riscv_vlmul_trunc_v_u32m2_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:183,1
    - Dst: __riscv_vslidedown_vx_u32m2
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:184,1
    - Dst: __riscv_vlmul_trunc_v_u32m2_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:185,1
    - Dst: __riscv_vlmul_trunc_v_u32m2_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:186,1
    - Dst: __riscv_vslidedown_vx_u32m2
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:187,1
    - Dst: __riscv_vundefined_u32m1x4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:188,1
    - Dst: __riscv_vset_v_u32m1_u32m1x4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:189,1
    - Dst: __riscv_vset_v_u32m1_u32m1x4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:190,1
    - Dst: __riscv_vset_v_u32m1_u32m1x4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:191,1
    - Dst: __riscv_vset_v_u32m1_u32m1x4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - v0123
    argTypes:
    - vuint32m4_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 194
    functionName: vuint32m1x4_t::split_u32m4_to_4x_u32m1
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - __riscv_vset_v_u32m1_u32m1x4
    - __riscv_vlmul_trunc_v_u32m4_u32m2
    - __riscv_vlmul_trunc_v_u32m2_u32m1
    - __riscv_vundefined_u32m1x4
    - __riscv_vslidedown_vx_u32m2
    - __riscv_vslidedown_vx_u32m4
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vuint32m1x4_t

      split_u32m4_to_4x_u32m1(vuint32m4_t v0123)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vsetvl_e32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: _gcry_aes_riscv_zvkned_setup_acceleration
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 1
    functionsReached:
    - __riscv_vsetvl_e32m1
    linkageType: ''
    returnType: int
    signature: int _gcry_aes_riscv_zvkned_setup_acceleration(RIJNDAEL_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:218,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:219,1
    - Dst: __riscv_vaeskf1_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:221,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:222,1
    - Dst: __riscv_vaeskf1_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:224,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:225,1
    - Dst: __riscv_vaeskf1_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:227,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:228,1
    - Dst: __riscv_vaeskf1_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:230,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:231,1
    - Dst: __riscv_vaeskf1_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:233,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:234,1
    - Dst: __riscv_vaeskf1_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:236,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:237,1
    - Dst: __riscv_vaeskf1_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:239,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:240,1
    - Dst: __riscv_vaeskf1_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:242,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:243,1
    - Dst: __riscv_vaeskf1_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:245,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:246,1
    - Dst: __riscv_vaeskf1_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:248,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:249,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - RIJNDAEL_context*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 252
    functionName: aes128_riscv_setkey
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - clear_vec_regs
    - __riscv_vaeskf1_vi_u32m1
    - unaligned_load_u32m1
    - __riscv_vse32_v_u32m1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: ASM_FUNC_ATTR_NOINLINE aes128_riscv_setkey (RIJNDAEL_context *ctx,
      const byte *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:263,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:264,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:265,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:266,1
    - Dst: AES192_KF1_GEN
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:289,1
    - Dst: AES192_EXPAND_BLOCK
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:290,1
    - Dst: AES192_KF1_GEN
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:292,1
    - Dst: AES192_EXPAND_BLOCK
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:293,1
    - Dst: AES192_KF1_GEN
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:295,1
    - Dst: AES192_EXPAND_BLOCK
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:296,1
    - Dst: AES192_KF1_GEN
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:298,1
    - Dst: AES192_EXPAND_BLOCK
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:299,1
    - Dst: AES192_KF1_GEN
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:301,1
    - Dst: AES192_EXPAND_BLOCK
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:302,1
    - Dst: AES192_KF1_GEN
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:304,1
    - Dst: AES192_EXPAND_BLOCK
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:305,1
    - Dst: AES192_KF1_GEN
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:307,1
    - Dst: AES192_EXPAND_BLOCK
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:308,1
    - Dst: AES192_KF1_GEN
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:310,1
    - Dst: AES192_EXPAND_BLOCK
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:311,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - RIJNDAEL_context*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 317
    functionName: aes192_riscv_setkey
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - AES192_KF1_GEN
    - unaligned_load_u32m1
    - __riscv_vse32_v_u32m1
    - AES192_EXPAND_BLOCK
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: ASM_FUNC_ATTR_NOINLINE aes192_riscv_setkey (RIJNDAEL_context *ctx,
      const byte *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - out
    - ','
    - input
    - ','
    - round192
    - ','
    - vl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: AES192_KF1_GEN
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES192_KF1_GEN(out, input, round192, vl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w
    - ','
    - round192
    - ','
    - wr
    - ','
    - last
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 288
    functionName: AES192_EXPAND_BLOCK
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES192_EXPAND_BLOCK(w, round192, wr, last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:324,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:325,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:327,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:328,1
    - Dst: __riscv_vaeskf2_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:330,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:331,1
    - Dst: __riscv_vaeskf2_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:333,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:334,1
    - Dst: __riscv_vaeskf2_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:336,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:337,1
    - Dst: __riscv_vaeskf2_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:339,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:340,1
    - Dst: __riscv_vaeskf2_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:342,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:343,1
    - Dst: __riscv_vaeskf2_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:345,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:346,1
    - Dst: __riscv_vaeskf2_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:348,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:349,1
    - Dst: __riscv_vaeskf2_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:351,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:352,1
    - Dst: __riscv_vaeskf2_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:354,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:355,1
    - Dst: __riscv_vaeskf2_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:357,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:358,1
    - Dst: __riscv_vaeskf2_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:360,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:361,1
    - Dst: __riscv_vaeskf2_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:363,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:364,1
    - Dst: __riscv_vaeskf2_vi_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:366,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:367,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - RIJNDAEL_context*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 370
    functionName: aes256_riscv_setkey
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - clear_vec_regs
    - unaligned_load_u32m1
    - __riscv_vaeskf2_vi_u32m1
    - __riscv_vse32_v_u32m1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: ASM_FUNC_ATTR_NOINLINE aes256_riscv_setkey (RIJNDAEL_context *ctx,
      const byte *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aes128_riscv_setkey
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:379,1
    - Dst: aes192_riscv_setkey
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:383,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:384,1
    - Dst: aes256_riscv_setkey
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - RIJNDAEL_context*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 390
    functionName: _gcry_aes_riscv_zvkned_setkey
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - aes128_riscv_setkey
    - aes192_riscv_setkey
    - aes256_riscv_setkey
    - _gcry_burn_stack
    linkageType: ''
    returnType: void
    signature: void _gcry_aes_riscv_zvkned_setkey (RIJNDAEL_context *ctx, const byte
      *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COPY_KEY
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:409,1
    - Dst: COPY_KEY
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:410,1
    - Dst: COPY_KEY
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:411,1
    - Dst: COPY_KEY
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:412,1
    - Dst: COPY_KEY
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:413,1
    - Dst: COPY_KEY
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:414,1
    - Dst: COPY_KEY
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:415,1
    - Dst: COPY_KEY
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:416,1
    - Dst: COPY_KEY
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:417,1
    - Dst: COPY_KEY
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:418,1
    - Dst: COPY_KEY
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:421,1
    - Dst: COPY_KEY
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:422,1
    - Dst: COPY_KEY
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:425,1
    - Dst: COPY_KEY
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:426,1
    - Dst: COPY_KEY
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 432
    functionName: do_prepare_decryption
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - COPY_KEY
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE do_prepare_decryption(RIJNDAEL_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: COPY_KEY
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_KEY()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:437,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: _gcry_aes_riscv_zvkned_prepare_decryption
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - do_prepare_decryption
    - clear_vec_regs
    linkageType: ''
    returnType: void
    signature: void _gcry_aes_riscv_zvkned_prepare_decryption(RIJNDAEL_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rk
    - ','
    - nrounds
    - ','
    - vl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 486
    functionName: PRELOAD_ROUND_KEYS
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRELOAD_ROUND_KEYS(rk, nrounds, vl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - e_d
    - ','
    - mx
    - ','
    - nrounds
    - ','
    - blk
    - ','
    - vlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 517
    functionName: AES_CRYPT
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_CRYPT(e_d, mx, nrounds, blk, vlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - e_d
    - ','
    - mx
    - ','
    - rounds
    - ','
    - block
    - ','
    - vl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 542
    functionName: AES_CRYPT
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_CRYPT(e_d, mx, rounds, block, vl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:554,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:556,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:558,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:560,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - out
    - in
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 565
    functionName: _gcry_aes_riscv_zvkned_encrypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - PRELOAD_ROUND_KEYS
    - unaligned_load_u32m1
    - unaligned_store_u32m1
    - AES_CRYPT
    - clear_vec_regs
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_aes_riscv_zvkned_encrypt (const RIJNDAEL_context
      *ctx, unsigned char *out,\n\t\t\t\tconst unsigned char *in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:577,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:579,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:581,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:583,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - out
    - in
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 588
    functionName: _gcry_aes_riscv_zvkned_decrypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - PRELOAD_ROUND_KEYS
    - unaligned_load_u32m1
    - unaligned_store_u32m1
    - AES_CRYPT
    - clear_vec_regs
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_aes_riscv_zvkned_decrypt (const RIJNDAEL_context
      *ctx, unsigned char *out,\n\t\t\t\tconst unsigned char *in)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:604,1
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:608,1
    - Dst: unaligned_load_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:614,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:617,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:619,1
    - Dst: unaligned_store_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:621,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:631,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:634,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:636,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:638,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:644,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - context
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 645
    functionName: aes_riscv_zvkned_ecb_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - do_prepare_decryption
    - PRELOAD_ROUND_KEYS
    - unaligned_store_u32m4
    - unaligned_load_u32m1
    - unaligned_store_u32m1
    - AES_CRYPT
    - unaligned_load_u32m4
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE aes_riscv_zvkned_ecb_crypt (void *context, void
      *outbuf_arg,\n\t\t\t    const void *inbuf_arg, size_t nblocks, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_riscv_zvkned_ecb_crypt
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - context
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 647
    functionDepth: 3
    functionLinenumber: 647
    functionLinenumberEnd: 652
    functionName: aes_riscv_zvkned_ecb_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - aes_riscv_zvkned_ecb_crypt
    linkageType: ''
    returnType: void
    signature: "void aes_riscv_zvkned_ecb_enc (void *context, void *outbuf_arg,\n\t\t\t
      \ const void *inbuf_arg, size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_riscv_zvkned_ecb_crypt
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - context
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 654
    functionDepth: 3
    functionLinenumber: 654
    functionLinenumberEnd: 659
    functionName: aes_riscv_zvkned_ecb_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - aes_riscv_zvkned_ecb_crypt
    linkageType: ''
    returnType: void
    signature: "void aes_riscv_zvkned_ecb_dec (void *context, void *outbuf_arg,\n\t\t\t
      \ const void *inbuf_arg, size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_riscv_zvkned_ecb_enc
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:667,1
    - Dst: aes_riscv_zvkned_ecb_dec
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - context
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 661
    functionDepth: 4
    functionLinenumber: 661
    functionLinenumberEnd: 670
    functionName: _gcry_aes_riscv_zvkned_ecb_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - aes_riscv_zvkned_ecb_enc
    - aes_riscv_zvkned_ecb_dec
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_riscv_zvkned_ecb_crypt (void *context, void *outbuf_arg,\n\t\t\t\t
      \ const void *inbuf_arg, size_t nblocks,\n\t\t\t\t  int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:686,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:688,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:692,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:694,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:696,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:697,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:704,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - context
    - iv_arg
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 707
    functionName: _gcry_aes_riscv_zvkned_cfb_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - PRELOAD_ROUND_KEYS
    - __riscv_vxor_vv_u32m1
    - unaligned_load_u32m1
    - unaligned_store_u32m1
    - AES_CRYPT
    - __riscv_vle32_v_u32m1
    - __riscv_vse32_v_u32m1
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE _gcry_aes_riscv_zvkned_cfb_enc (void *context,
      unsigned char *iv_arg,\n\t\t\t\tvoid *outbuf_arg, const void *inbuf_arg,\n\t\t\t\tsize_t
      nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:724,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:726,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:730,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:731,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:733,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:735,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:741,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - context
    - iv_arg
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - cbc_mac
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 744
    functionName: _gcry_aes_riscv_zvkned_cbc_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - PRELOAD_ROUND_KEYS
    - __riscv_vxor_vv_u32m1
    - unaligned_load_u32m1
    - unaligned_store_u32m1
    - AES_CRYPT
    - __riscv_vle32_v_u32m1
    - __riscv_vse32_v_u32m1
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE _gcry_aes_riscv_zvkned_cbc_enc (void *context,
      unsigned char *iv_arg,\n\t\t\t\tvoid *outbuf_arg, const void *inbuf_arg,\n\t\t\t\tsize_t
      nblocks, int cbc_mac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:905,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:907,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:908,1
    - Dst: memory_barrier_with_vec
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:910,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:914,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:915,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:916,1
    - Dst: memory_barrier_with_vec
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:918,1
    - Dst: memory_barrier_with_vec
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:919,1
    - Dst: memory_barrier_with_vec
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:920,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:924,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:925,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:926,1
    - Dst: merge_4x_u32m1_to_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:930,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:931,1
    - Dst: unaligned_load_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:933,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:935,1
    - Dst: __riscv_vxor_vv_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:937,1
    - Dst: unaligned_store_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:938,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:948,1
    - Dst: __riscv_vadd_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:950,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:952,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:954,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:955,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:961,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:963,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 5
    argNames:
    - context
    - ctr_arg
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 886
    functionDepth: 2
    functionLinenumber: 886
    functionLinenumberEnd: 964
    functionName: _gcry_aes_riscv_zvkned_ctr32le_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - PRELOAD_ROUND_KEYS
    - unaligned_store_u32m4
    - __riscv_vxor_vv_u32m1
    - unaligned_load_u32m1
    - unaligned_store_u32m1
    - AES_CRYPT
    - unaligned_load_u32m4
    - __riscv_vadd_vv_u32m1
    - __riscv_vle32_v_u32m1
    - __riscv_vse32_v_u32m1
    - memory_barrier_with_vec
    - __riscv_vxor_vv_u32m4
    - merge_4x_u32m1_to_u32m4
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE _gcry_aes_riscv_zvkned_ctr32le_enc (void *context,
      unsigned char *ctr_arg,\n\t\t\t\t    void *outbuf_arg, const void *inbuf_arg,\n\t\t\t\t
      \   size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:980,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:982,1
    - Dst: unaligned_load_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:986,1
    - Dst: __riscv_vlmul_trunc_v_u32m4_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:987,1
    - Dst: __riscv_vslidedown_vx_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:988,1
    - Dst: __riscv_vlmul_ext_v_u32m1_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:989,1
    - Dst: __riscv_vslideup_vx_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:990,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:994,1
    - Dst: __riscv_vxor_vv_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:996,1
    - Dst: unaligned_store_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:997,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1005,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1008,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1010,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1011,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1018,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 5
    argNames:
    - context
    - iv_arg
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 966
    functionDepth: 2
    functionLinenumber: 966
    functionLinenumberEnd: 1021
    functionName: _gcry_aes_riscv_zvkned_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - __riscv_vslideup_vx_u32m4
    - PRELOAD_ROUND_KEYS
    - unaligned_store_u32m4
    - __riscv_vxor_vv_u32m1
    - unaligned_load_u32m1
    - unaligned_store_u32m1
    - AES_CRYPT
    - unaligned_load_u32m4
    - __riscv_vle32_v_u32m1
    - __riscv_vse32_v_u32m1
    - clear_vec_regs
    - __riscv_vlmul_ext_v_u32m1_u32m4
    - __riscv_vxor_vv_u32m4
    - __riscv_vlmul_trunc_v_u32m4_u32m1
    - __riscv_vslidedown_vx_u32m4
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE _gcry_aes_riscv_zvkned_cfb_dec (void *context,
      unsigned char *iv_arg,\n\t\t\t\tvoid *outbuf_arg, const void *inbuf_arg,\n\t\t\t\tsize_t
      nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1039,1
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1043,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1045,1
    - Dst: unaligned_load_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1049,1
    - Dst: __riscv_vlmul_ext_v_u32m1_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1050,1
    - Dst: __riscv_vslideup_vx_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1051,1
    - Dst: __riscv_vlmul_trunc_v_u32m4_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1053,1
    - Dst: __riscv_vslidedown_vx_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1054,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1056,1
    - Dst: __riscv_vxor_vv_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1058,1
    - Dst: unaligned_store_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1059,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1067,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1070,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1072,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1073,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1080,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 5
    argNames:
    - context
    - iv_arg
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1023
    functionDepth: 2
    functionLinenumber: 1023
    functionLinenumberEnd: 1083
    functionName: _gcry_aes_riscv_zvkned_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - do_prepare_decryption
    - __riscv_vslideup_vx_u32m4
    - PRELOAD_ROUND_KEYS
    - unaligned_store_u32m4
    - __riscv_vxor_vv_u32m1
    - unaligned_load_u32m1
    - unaligned_store_u32m1
    - AES_CRYPT
    - unaligned_load_u32m4
    - __riscv_vle32_v_u32m1
    - __riscv_vslidedown_vx_u32m4
    - __riscv_vse32_v_u32m1
    - clear_vec_regs
    - __riscv_vlmul_ext_v_u32m1_u32m4
    - __riscv_vxor_vv_u32m4
    - __riscv_vlmul_trunc_v_u32m4_u32m1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE _gcry_aes_riscv_zvkned_cbc_dec (void *context,
      unsigned char *iv_arg,\n\t\t\t\tvoid *outbuf_arg, const void *inbuf_arg,\n\t\t\t\tsize_t
      nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1100,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1103,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1104,1
    - Dst: __riscv_vmv_v_x_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1108,1
    - Dst: merge_4x_u32m1_to_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1109,1
    - Dst: unaligned_load_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1115,1
    - Dst: __riscv_vxor_vv_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1120,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1124,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1125,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1126,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1129,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1130,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1131,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1134,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1135,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1136,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1139,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1140,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1141,1
    - Dst: merge_4x_u32m1_to_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1144,1
    - Dst: __riscv_vxor_vv_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1146,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1148,1
    - Dst: __riscv_vxor_vv_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1150,1
    - Dst: unaligned_store_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1152,1
    - Dst: split_u32m4_to_4x_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1160,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1161,1
    - Dst: __riscv_vget_v_u32m1x4_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1161,1
    - Dst: __riscv_vget_v_u32m1x4_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1162,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1163,1
    - Dst: __riscv_vget_v_u32m1x4_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1163,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1164,1
    - Dst: __riscv_vget_v_u32m1x4_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1164,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1174,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1177,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1181,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1182,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1183,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1185,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1187,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1189,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1190,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1198,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1199,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 4
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1085
    functionDepth: 2
    functionLinenumber: 1085
    functionLinenumberEnd: 1204
    functionName: aes_riscv_ocb_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - PRELOAD_ROUND_KEYS
    - unaligned_store_u32m4
    - __riscv_vxor_vv_u32m1
    - unaligned_load_u32m1
    - __riscv_vget_v_u32m1x4_u32m1
    - AES_CRYPT
    - unaligned_load_u32m4
    - unaligned_store_u32m1
    - ocb_get_l
    - __riscv_vle32_v_u32m1
    - __riscv_vse32_v_u32m1
    - __riscv_vxor_vv_u32m4
    - __riscv_vmv_v_x_u32m1
    - merge_4x_u32m1_to_u32m4
    - split_u32m4_to_4x_u32m1
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE aes_riscv_ocb_enc (gcry_cipher_hd_t c, void
      *outbuf_arg,\n\t\t   const void *inbuf_arg, size_t nblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1223,1
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1227,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1230,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1231,1
    - Dst: __riscv_vmv_v_x_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1235,1
    - Dst: merge_4x_u32m1_to_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1236,1
    - Dst: unaligned_load_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1242,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1248,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1249,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1250,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1253,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1254,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1255,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1258,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1259,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1260,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1263,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1264,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1265,1
    - Dst: merge_4x_u32m1_to_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1268,1
    - Dst: __riscv_vxor_vv_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1270,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1272,1
    - Dst: __riscv_vxor_vv_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1274,1
    - Dst: unaligned_store_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1276,1
    - Dst: __riscv_vxor_vv_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1279,1
    - Dst: split_u32m4_to_4x_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1287,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1288,1
    - Dst: __riscv_vget_v_u32m1x4_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1288,1
    - Dst: __riscv_vget_v_u32m1x4_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1289,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1290,1
    - Dst: __riscv_vget_v_u32m1x4_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1290,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1291,1
    - Dst: __riscv_vget_v_u32m1x4_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1291,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1303,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1304,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1305,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1306,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1307,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1309,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1311,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1312,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1315,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1323,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1324,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 59
    argCount: 4
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1206
    functionDepth: 2
    functionLinenumber: 1206
    functionLinenumberEnd: 1329
    functionName: aes_riscv_ocb_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - do_prepare_decryption
    - PRELOAD_ROUND_KEYS
    - unaligned_store_u32m4
    - __riscv_vxor_vv_u32m1
    - unaligned_load_u32m1
    - __riscv_vget_v_u32m1x4_u32m1
    - AES_CRYPT
    - unaligned_load_u32m4
    - unaligned_store_u32m1
    - ocb_get_l
    - __riscv_vle32_v_u32m1
    - __riscv_vse32_v_u32m1
    - __riscv_vxor_vv_u32m4
    - __riscv_vmv_v_x_u32m1
    - merge_4x_u32m1_to_u32m4
    - split_u32m4_to_4x_u32m1
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE aes_riscv_ocb_dec (gcry_cipher_hd_t c, void
      *outbuf_arg,\n\t\t   const void *inbuf_arg, size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_riscv_ocb_enc
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1337,1
    - Dst: aes_riscv_ocb_dec
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1331
    functionDepth: 3
    functionLinenumber: 1331
    functionLinenumberEnd: 1340
    functionName: _gcry_aes_riscv_zvkned_ocb_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - aes_riscv_ocb_enc
    - aes_riscv_ocb_dec
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_aes_riscv_zvkned_ocb_crypt (gcry_cipher_hd_t c, void
      *outbuf_arg,\n\t\t\t\t  const void *inbuf_arg, size_t nblocks,\n\t\t\t\t  int
      encrypt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1356,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1359,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1360,1
    - Dst: __riscv_vmv_v_x_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1364,1
    - Dst: merge_4x_u32m1_to_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1365,1
    - Dst: unaligned_load_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1371,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1377,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1378,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1379,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1382,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1383,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1384,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1387,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1388,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1389,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1392,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1393,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1394,1
    - Dst: merge_4x_u32m1_to_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1397,1
    - Dst: __riscv_vxor_vv_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1399,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1401,1
    - Dst: __riscv_vxor_vv_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1403,1
    - Dst: split_u32m4_to_4x_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1410,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1411,1
    - Dst: __riscv_vget_v_u32m1x4_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1411,1
    - Dst: __riscv_vget_v_u32m1x4_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1412,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1413,1
    - Dst: __riscv_vget_v_u32m1x4_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1413,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1414,1
    - Dst: __riscv_vget_v_u32m1x4_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1414,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1424,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1428,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1429,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1430,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1432,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1434,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1436,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1443,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1444,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 3
    argNames:
    - c
    - abuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1342
    functionDepth: 2
    functionLinenumber: 1342
    functionLinenumberEnd: 1449
    functionName: _gcry_aes_riscv_zvkned_ocb_auth
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - PRELOAD_ROUND_KEYS
    - __riscv_vxor_vv_u32m1
    - unaligned_load_u32m1
    - __riscv_vget_v_u32m1x4_u32m1
    - AES_CRYPT
    - unaligned_load_u32m4
    - ocb_get_l
    - __riscv_vle32_v_u32m1
    - __riscv_vse32_v_u32m1
    - __riscv_vxor_vv_u32m4
    - __riscv_vmv_v_x_u32m1
    - merge_4x_u32m1_to_u32m4
    - split_u32m4_to_4x_u32m1
    - clear_vec_regs
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_aes_riscv_zvkned_ocb_auth (gcry_cipher_hd_t c, const
      void *abuf_arg,\n\t\t\t\t size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cast_u32m1_u64m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1458,1
    - Dst: __riscv_vrgather_vv_u64m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1462,1
    - Dst: cast_u32m1_u64m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1462,1
    - Dst: cast_i64m1_u64m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1463,1
    - Dst: __riscv_vsra_vx_i64m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1464,1
    - Dst: cast_u64m1_i64m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1464,1
    - Dst: __riscv_vadd_vv_u64m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1465,1
    - Dst: __riscv_vand_vv_u64m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1466,1
    - Dst: cast_u64m1_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1468,1
    - Dst: __riscv_vxor_vv_u64m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - vec_in
    - xts_gfmul
    - xts_swap64
    - vl
    argTypes:
    - vuint32m1_t
    - vuint64m1_t
    - vuint64m1_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1454
    functionDepth: 1
    functionLinenumber: 1454
    functionLinenumberEnd: 1469
    functionName: vuint32m1_t::xts_gfmul_byA
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - __riscv_vadd_vv_u64m1
    - cast_i64m1_u64m1
    - __riscv_vsra_vx_i64m1
    - __riscv_vrgather_vv_u64m1
    - cast_u64m1_u32m1
    - cast_u64m1_i64m1
    - __riscv_vxor_vv_u64m1
    - __riscv_vand_vv_u64m1
    - cast_u32m1_u64m1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE vuint32m1_t\nxts_gfmul_byA (vuint32m1_t vec_in,
      vuint64m1_t xts_gfmul,\n\t       vuint64m1_t xts_swap64, size_t vl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vle64_v_u64m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1482,1
    - Dst: __riscv_vle64_v_u64m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1483,1
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1486,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1489,1
    - Dst: memory_barrier_with_vec
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1491,1
    - Dst: memory_barrier_with_vec
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1492,1
    - Dst: unaligned_load_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1496,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1501,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1503,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1505,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1507,1
    - Dst: merge_4x_u32m1_to_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1509,1
    - Dst: __riscv_vxor_vv_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1511,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1513,1
    - Dst: __riscv_vxor_vv_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1515,1
    - Dst: unaligned_store_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1517,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1525,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1528,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1529,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1531,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1533,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1534,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1540,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 5
    argNames:
    - context
    - tweak_arg
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1471
    functionDepth: 2
    functionLinenumber: 1471
    functionLinenumberEnd: 1543
    functionName: aes_riscv_xts_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - PRELOAD_ROUND_KEYS
    - __riscv_vxor_vv_u32m4
    - unaligned_store_u32m4
    - __riscv_vxor_vv_u32m1
    - unaligned_load_u32m1
    - unaligned_store_u32m1
    - AES_CRYPT
    - unaligned_load_u32m4
    - __riscv_vle32_v_u32m1
    - __riscv_vse32_v_u32m1
    - memory_barrier_with_vec
    - xts_gfmul_byA
    - __riscv_vle64_v_u64m1
    - merge_4x_u32m1_to_u32m4
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE aes_riscv_xts_enc (void *context, unsigned
      char *tweak_arg, void *outbuf_arg,\n\t\t   const void *inbuf_arg, size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_vle64_v_u64m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1556,1
    - Dst: __riscv_vle64_v_u64m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1557,1
    - Dst: do_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1562,1
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1566,1
    - Dst: __riscv_vle32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1569,1
    - Dst: memory_barrier_with_vec
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1571,1
    - Dst: memory_barrier_with_vec
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1572,1
    - Dst: unaligned_load_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1576,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1581,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1583,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1585,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1587,1
    - Dst: merge_4x_u32m1_to_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1589,1
    - Dst: __riscv_vxor_vv_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1591,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1593,1
    - Dst: __riscv_vxor_vv_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1595,1
    - Dst: unaligned_store_u32m4
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1597,1
    - Dst: unaligned_load_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1605,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1608,1
    - Dst: xts_gfmul_byA
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1609,1
    - Dst: AES_CRYPT
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1611,1
    - Dst: __riscv_vxor_vv_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1613,1
    - Dst: unaligned_store_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1614,1
    - Dst: __riscv_vse32_v_u32m1
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1620,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 5
    argNames:
    - context
    - tweak_arg
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1545
    functionDepth: 2
    functionLinenumber: 1545
    functionLinenumberEnd: 1623
    functionName: aes_riscv_xts_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - do_prepare_decryption
    - PRELOAD_ROUND_KEYS
    - __riscv_vxor_vv_u32m4
    - unaligned_store_u32m4
    - __riscv_vxor_vv_u32m1
    - unaligned_load_u32m1
    - unaligned_store_u32m1
    - AES_CRYPT
    - unaligned_load_u32m4
    - __riscv_vle32_v_u32m1
    - __riscv_vse32_v_u32m1
    - memory_barrier_with_vec
    - xts_gfmul_byA
    - __riscv_vle64_v_u64m1
    - merge_4x_u32m1_to_u32m4
    - clear_vec_regs
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE aes_riscv_xts_dec (void *context, unsigned
      char *tweak_arg, void *outbuf_arg,\n\t\t   const void *inbuf_arg, size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_riscv_xts_enc
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1631,1
    - Dst: aes_riscv_xts_dec
      Src: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c:1633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - context
    - tweak_arg
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1625
    functionDepth: 3
    functionLinenumber: 1625
    functionLinenumberEnd: 1634
    functionName: _gcry_aes_riscv_zvkned_xts_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
    functionUses: 0
    functionsReached:
    - aes_riscv_xts_dec
    - aes_riscv_xts_enc
    linkageType: ''
    returnType: ASM_FUNC_ATTR_NOINLINE
    signature: "ASM_FUNC_ATTR_NOINLINE _gcry_aes_riscv_zvkned_xts_crypt (void *context,
      unsigned char *tweak_arg,\n\t\t\t\t  void *outbuf_arg, const void *inbuf_arg,\n\t\t\t\t
      \ size_t nblocks, int encrypt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: crypto_sign_keypair_internal_2
      Src: /src/libgcrypt/cipher/dilithium.c:133,1
    - Dst: crypto_sign_keypair_internal_3
      Src: /src/libgcrypt/cipher/dilithium.c:137,1
    - Dst: crypto_sign_keypair_internal_5
      Src: /src/libgcrypt/cipher/dilithium.c:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - algo
    - pk
    - sk
    - seed
    argTypes:
    - int
    - uint8_t*
    - uint8_t*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 148
    functionName: dilithium_keypair
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 0
    functionsReached:
    - crypto_sign_keypair_internal_2
    - crypto_sign_keypair_internal_3
    - crypto_sign_keypair_internal_5
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t dilithium_keypair (int algo, uint8_t *pk, uint8_t *sk,\n
      \                  const uint8_t seed[SEEDBYTES])"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: crypto_sign_signature_internal_2
      Src: /src/libgcrypt/cipher/dilithium.c:193,1
    - Dst: crypto_sign_signature_internal_3
      Src: /src/libgcrypt/cipher/dilithium.c:200,1
    - Dst: crypto_sign_signature_internal_5
      Src: /src/libgcrypt/cipher/dilithium.c:206,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 9
    argNames:
    - algo
    - sig
    - siglen
    - m
    - mlen
    - ctx
    - ctxlen
    - sk
    - rnd
    argTypes:
    - int
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 215
    functionName: dilithium_sign
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 0
    functionsReached:
    - crypto_sign_signature_internal_2
    - crypto_sign_signature_internal_5
    - crypto_sign_signature_internal_3
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t dilithium_sign (int algo, uint8_t *sig, size_t siglen,\n
      \               const uint8_t *m, size_t mlen,\n                const uint8_t
      *ctx, size_t ctxlen,\n                const uint8_t *sk, const uint8_t rnd[RNDBYTES])"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: crypto_sign_verify_internal_2
      Src: /src/libgcrypt/cipher/dilithium.c:250,1
    - Dst: crypto_sign_verify_internal_3
      Src: /src/libgcrypt/cipher/dilithium.c:255,1
    - Dst: crypto_sign_verify_internal_5
      Src: /src/libgcrypt/cipher/dilithium.c:259,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 8
    argNames:
    - algo
    - sig
    - siglen
    - m
    - mlen
    - ctx
    - ctxlen
    - pk
    argTypes:
    - int
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 268
    functionName: dilithium_verify
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 0
    functionsReached:
    - crypto_sign_verify_internal_2
    - crypto_sign_verify_internal_5
    - crypto_sign_verify_internal_3
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t dilithium_verify (int algo, const uint8_t *sig, size_t
      siglen,\n                  const uint8_t *m, size_t mlen,\n                  const
      uint8_t *ctx, size_t ctxlen,\n                  const uint8_t *pk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/dilithium.c:279,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/dilithium.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - keccak_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: shake128_init
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 0
    functionsReached:
    - log_fatal
    - _gcry_md_open_internal
    linkageType: ''
    returnType: void
    signature: void shake128_init (keccak_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dilithium.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - in
    - inlen
    argTypes:
    - keccak_state*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: shake128_absorb
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 1
    functionsReached:
    - _gcry_md_write
    linkageType: ''
    returnType: void
    signature: void shake128_absorb (keccak_state *state, const uint8_t *in, size_t
      inlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - keccak_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: shake128_finalize
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shake128_finalize (keccak_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_extract
      Src: /src/libgcrypt/cipher/dilithium.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - outlen
    - state
    argTypes:
    - uint8_t*
    - size_t
    - keccak_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: shake128_squeeze
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 0
    functionsReached:
    - _gcry_md_extract
    linkageType: ''
    returnType: void
    signature: void shake128_squeeze (uint8_t *out, size_t outlen, keccak_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/dilithium.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - keccak_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: shake128_close
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 0
    functionsReached:
    - _gcry_md_close
    linkageType: ''
    returnType: void
    signature: void shake128_close (keccak_state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/dilithium.c:313,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/dilithium.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - keccak_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 316
    functionName: shake256_init
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 3
    functionsReached:
    - log_fatal
    - _gcry_md_open_internal
    linkageType: ''
    returnType: void
    signature: void shake256_init (keccak_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dilithium.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - in
    - inlen
    argTypes:
    - keccak_state*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 322
    functionName: shake256_absorb
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 3
    functionsReached:
    - _gcry_md_write
    linkageType: ''
    returnType: void
    signature: void shake256_absorb (keccak_state *state, const uint8_t *in, size_t
      inlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - keccak_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: shake256_finalize
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shake256_finalize (keccak_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_extract
      Src: /src/libgcrypt/cipher/dilithium.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - outlen
    - state
    argTypes:
    - uint8_t*
    - size_t
    - keccak_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: shake256_squeeze
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 2
    functionsReached:
    - _gcry_md_extract
    linkageType: ''
    returnType: void
    signature: void shake256_squeeze (uint8_t *out, size_t outlen, keccak_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/dilithium.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - keccak_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: shake256_close
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 3
    functionsReached:
    - _gcry_md_close
    linkageType: ''
    returnType: void
    signature: void shake256_close (keccak_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_hash_buffers_extract
      Src: /src/libgcrypt/cipher/dilithium.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 355
    functionName: shake256
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 3
    functionsReached:
    - _gcry_md_hash_buffers_extract
    linkageType: ''
    returnType: void
    signature: "void shake256 (uint8_t *out, size_t outlen, const uint8_t *in,\n\t
      \ size_t inlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - STATE
    - ','
    - SEED
    - ','
    - NONCE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: stream128_init
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream128_init(STATE, SEED, NONCE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - OUT
    - ','
    - OUTBLOCKS
    - ','
    - STATE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 474
    functionName: stream128_squeezeblocks
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream128_squeezeblocks(OUT, OUTBLOCKS, STATE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - STATE
    - ','
    - SEED
    - ','
    - NONCE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 476
    functionName: stream256_init
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream256_init(STATE, SEED, NONCE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - OUT
    - ','
    - OUTBLOCKS
    - ','
    - STATE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 478
    functionName: stream256_squeezeblocks
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream256_squeezeblocks(OUT, OUTBLOCKS, STATE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shake128_init
      Src: /src/libgcrypt/cipher/dilithium.c:487,1
    - Dst: shake128_absorb
      Src: /src/libgcrypt/cipher/dilithium.c:488,1
    - Dst: shake128_absorb
      Src: /src/libgcrypt/cipher/dilithium.c:489,1
    - Dst: shake128_finalize
      Src: /src/libgcrypt/cipher/dilithium.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - state
    - seed
    - nonce
    argTypes:
    - keccak_state*
    - uint8_t[]
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 491
    functionName: dilithium_shake128_stream_init
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 0
    functionsReached:
    - shake128_finalize
    - shake128_absorb
    - shake128_init
    linkageType: ''
    returnType: void
    signature: void dilithium_shake128_stream_init(keccak_state *state, const uint8_t
      seed[SEEDBYTES], uint16_t nonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shake256_init
      Src: /src/libgcrypt/cipher/dilithium.c:499,1
    - Dst: shake256_absorb
      Src: /src/libgcrypt/cipher/dilithium.c:500,1
    - Dst: shake256_absorb
      Src: /src/libgcrypt/cipher/dilithium.c:501,1
    - Dst: shake256_finalize
      Src: /src/libgcrypt/cipher/dilithium.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - state
    - seed
    - nonce
    argTypes:
    - keccak_state*
    - uint8_t[]
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 503
    functionName: dilithium_shake256_stream_init
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 0
    functionsReached:
    - shake256_finalize
    - shake256_absorb
    - shake256_init
    linkageType: ''
    returnType: void
    signature: void dilithium_shake256_stream_init(keccak_state *state, const uint8_t
      seed[CRHBYTES], uint16_t nonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - OUT
    - ','
    - OUTBLOCKS
    - ','
    - STATE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 508
    functionName: shake128_squeezeblocks
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shake128_squeezeblocks(OUT, OUTBLOCKS, STATE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - STATE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 509
    functionName: stream128_close
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream128_close(STATE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - OUT
    - ','
    - OUTBLOCKS
    - ','
    - STATE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 511
    functionName: shake256_squeezeblocks
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shake256_squeezeblocks(OUT, OUTBLOCKS, STATE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - STATE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 512
    functionName: stream256_close
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream256_close(STATE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - keccak_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 513
    functionName: shake256_close
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shake256_close (keccak_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - keccak_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 514
    functionName: shake128_close
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shake128_close (keccak_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 619
    functionName: VARIANT2
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VARIANT2(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 620
    functionName: VARIANT3
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VARIANT3(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 621
    functionName: VARIANT5
    functionSourceFile: /src/libgcrypt/cipher/dilithium.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VARIANT5(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: memory_barrier_with_vec
    functionSourceFile: /src/libgcrypt/cipher/simd-common-aarch64.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memory_barrier_with_vec(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: clear_vec_regs
    functionSourceFile: /src/libgcrypt/cipher/simd-common-aarch64.h
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clear_vec_regs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - n
    - ','
    - l0reg
    - ','
    - l1reg
    - ','
    - l2reg
    - ','
    - l3reg
    - ','
    - zreg
    - ','
    - zplain
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 364
    functionName: OCB_INPUT
    functionSourceFile: /src/libgcrypt/cipher/sm4-avx512-amd64.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_INPUT(n, l0reg, l1reg, l2reg, l3reg, zreg, zplain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 374
    functionName: OCB_LOAD_PTRS
    functionSourceFile: /src/libgcrypt/cipher/sm4-avx512-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_LOAD_PTRS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - n
    - ','
    - l0reg
    - ','
    - l1reg
    - ','
    - l2reg
    - ','
    - l3reg
    - ','
    - zreg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 487
    functionName: OCB_INPUT
    functionSourceFile: /src/libgcrypt/cipher/sm4-avx512-amd64.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_INPUT(n, l0reg, l1reg, l2reg, l3reg, zreg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: OCB_LOAD_PTRS
    functionSourceFile: /src/libgcrypt/cipher/sm4-avx512-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCB_LOAD_PTRS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_sld
      Src: /src/libgcrypt/cipher/sha256-ppc.c:91,1
    - Dst: vec_sld
      Src: /src/libgcrypt/cipher/sha256-ppc.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - v
    - idx
    argTypes:
    - vector4x_u32
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: vector4x_u32::vec_rol_elems
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 0
    functionsReached:
    - vec_sld
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector4x_u32

      vec_rol_elems(vector4x_u32 v, unsigned int idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_mergeh
      Src: /src/libgcrypt/cipher/sha256-ppc.c:102,1
    - Dst: vec_mergeh
      Src: /src/libgcrypt/cipher/sha256-ppc.c:102,1
    - Dst: vec_mergeh
      Src: /src/libgcrypt/cipher/sha256-ppc.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - v0
    - v1
    - v2
    - v3
    argTypes:
    - vector4x_u32
    - vector4x_u32
    - vector4x_u32
    - vector4x_u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: vector4x_u32::vec_merge_idx0_elems
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 0
    functionsReached:
    - vec_mergeh
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: "ASM_FUNC_ATTR_INLINE vector4x_u32\nvec_merge_idx0_elems(vector4x_u32
      v0, vector4x_u32 v1,\n\t\t     vector4x_u32 v2, vector4x_u32 v3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - v
    - a
    - b
    argTypes:
    - vector4x_u32
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: vector4x_u32::vec_vshasigma_u32
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector4x_u32

      vec_vshasigma_u32(vector4x_u32 v, unsigned int a, unsigned int b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - v
    - w
    argTypes:
    - vector4x_u32
    - vector4x_u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: vector4x_u32::vec_add_u32
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector4x_u32

      vec_add_u32(vector4x_u32 v, vector4x_u32 w)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_constant_p
      Src: /src/libgcrypt/cipher/sha256-ppc.c:134,1
    - Dst: vec_reve
      Src: /src/libgcrypt/cipher/sha256-ppc.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - offset
    - ptr
    argTypes:
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 150
    functionName: vector4x_u32::vec_u32_load_be
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 0
    functionsReached:
    - vec_reve
    - __builtin_constant_p
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector4x_u32

      vec_u32_load_be(unsigned long offset, const void *ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - ki
    - ','
    - w
    - )
    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: 166
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 166
    functionName: R
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 120
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(a,b,c,d,e,f,g,h,ki,w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kidx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 186
    functionName: GETK
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETK(kidx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: Cho
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Cho(b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - d
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: Maj
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Maj(c, d, b)
  - 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: Sum0
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sum0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: Sum1
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sum1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: S0
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: S1
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - X
    - ','
    - d
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: Xadd
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Xadd(X, d, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: Sum0add
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sum0add(d, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: Sum1add
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sum1add(d, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: S0add
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S0add(d, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: S1add
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S1add(d, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 227
    functionName: I
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: WN
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WN(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: W
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: W(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: L
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 258
    functionName: I2
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I2(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: W2
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: W2(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: L2
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L2(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: WL
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WL(i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vec_vsx_ld
      Src: /src/libgcrypt/cipher/sha256-ppc.c:291,1
    - Dst: vec_vsx_ld
      Src: /src/libgcrypt/cipher/sha256-ppc.c:292,1
    - Dst: vec_mergeo
      Src: /src/libgcrypt/cipher/sha256-ppc.c:295,1
    - Dst: vec_rol_elems
      Src: /src/libgcrypt/cipher/sha256-ppc.c:296,1
    - Dst: vec_rol_elems
      Src: /src/libgcrypt/cipher/sha256-ppc.c:297,1
    - Dst: vec_mergeo
      Src: /src/libgcrypt/cipher/sha256-ppc.c:299,1
    - Dst: vec_rol_elems
      Src: /src/libgcrypt/cipher/sha256-ppc.c:300,1
    - Dst: vec_rol_elems
      Src: /src/libgcrypt/cipher/sha256-ppc.c:301,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:317,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:317,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:317,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:317,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:318,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:318,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:318,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:318,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:319,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:319,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:319,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:319,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:320,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:320,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:320,1
    - Dst: I2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:320,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:322,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:322,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:323,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:323,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:324,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:324,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:325,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:325,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:326,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:326,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:327,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:327,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:328,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:328,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:329,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:329,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:330,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:330,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:331,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:331,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:332,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:332,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:333,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:333,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:334,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:334,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:335,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:335,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:336,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:336,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:337,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:337,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:339,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:339,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:340,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:340,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:341,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:341,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:342,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:342,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:343,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:343,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:344,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:344,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:345,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:345,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:346,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:346,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:347,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:347,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:348,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:348,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:349,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:349,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:350,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:350,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:351,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:351,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:352,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:352,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:353,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:353,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:354,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:354,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:356,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:356,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:357,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:357,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:358,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:358,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:359,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:359,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:360,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:360,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:361,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:361,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:362,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:362,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:363,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:363,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:364,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:364,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:365,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:365,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:366,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:366,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:367,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:367,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:368,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:368,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:369,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:369,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:370,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:370,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:371,1
    - Dst: W2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:371,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:373,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:373,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:374,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:374,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:375,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:375,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:376,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:376,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:377,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:377,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:378,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:378,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:379,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:379,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:380,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:380,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:381,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:381,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:382,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:382,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:383,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:383,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:384,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:384,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:385,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:385,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:386,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:386,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:387,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:387,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:388,1
    - Dst: L2
      Src: /src/libgcrypt/cipher/sha256-ppc.c:388,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:410,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:410,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:411,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:411,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:412,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:412,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:413,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:413,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:414,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:414,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:415,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:415,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:416,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:416,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:417,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:417,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:418,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:418,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:419,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:419,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:420,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:420,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:421,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:421,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:422,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:422,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:423,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:423,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:424,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:424,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:425,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:425,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:427,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:427,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:428,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:428,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:429,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:429,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:430,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:430,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:431,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:431,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:432,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:432,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:433,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:433,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:434,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:434,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:435,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:435,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:436,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:436,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:437,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:437,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:438,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:438,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:439,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:439,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:440,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:440,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:441,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:441,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:442,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:442,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:444,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:444,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:445,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:445,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:446,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:446,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:447,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:447,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:448,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:448,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:449,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:449,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:450,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:450,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:451,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:451,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:452,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:452,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:453,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:453,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:454,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:454,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:455,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:455,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:456,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:456,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:457,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:457,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:458,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:458,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:459,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:459,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:461,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:461,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:462,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:462,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:463,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:463,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:464,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:464,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:465,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:465,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:466,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:466,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:467,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:467,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:468,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:468,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:469,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:469,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:470,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:470,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:471,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:471,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:472,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:472,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:473,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:473,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:474,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:474,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:475,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:475,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:476,1
    - Dst: WL
      Src: /src/libgcrypt/cipher/sha256-ppc.c:476,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256-ppc.c:504,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256-ppc.c:504,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256-ppc.c:504,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256-ppc.c:504,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256-ppc.c:505,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256-ppc.c:505,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256-ppc.c:505,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256-ppc.c:505,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256-ppc.c:506,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256-ppc.c:506,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256-ppc.c:506,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256-ppc.c:506,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256-ppc.c:507,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256-ppc.c:507,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256-ppc.c:507,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256-ppc.c:507,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:509,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:509,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:510,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:510,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:511,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:511,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:512,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:512,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:513,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:513,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:514,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:514,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:515,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:515,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:516,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:516,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:517,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:517,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:518,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:518,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:519,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:519,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:520,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:520,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:521,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:521,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:522,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:522,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:523,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:523,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:524,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:524,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:526,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:526,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:527,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:527,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:528,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:528,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:529,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:529,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:530,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:530,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:531,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:531,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:532,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:532,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:533,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:533,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:534,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:534,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:535,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:535,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:536,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:536,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:537,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:537,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:538,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:538,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:539,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:539,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:540,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:540,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:541,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:541,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:543,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:543,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:544,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:544,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:545,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:545,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:546,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:546,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:547,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:547,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:548,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:548,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:549,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:549,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:550,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:550,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:551,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:551,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:552,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:552,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:553,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:553,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:554,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:554,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:555,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:555,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:556,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:556,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:557,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:557,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:558,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256-ppc.c:558,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:560,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha256-ppc.c:560,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:561,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha256-ppc.c:561,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:562,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha256-ppc.c:562,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:563,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha256-ppc.c:563,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:564,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha256-ppc.c:564,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:565,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha256-ppc.c:565,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:566,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha256-ppc.c:566,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:567,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha256-ppc.c:567,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:568,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha256-ppc.c:568,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:569,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha256-ppc.c:569,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:570,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha256-ppc.c:570,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:571,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha256-ppc.c:571,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:572,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha256-ppc.c:572,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:573,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha256-ppc.c:573,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:574,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha256-ppc.c:574,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256-ppc.c:575,1
    - Dst: L
      Src: /src/libgcrypt/cipher/sha256-ppc.c:575,1
    - Dst: vec_merge_idx0_elems
      Src: /src/libgcrypt/cipher/sha256-ppc.c:589,1
    - Dst: vec_merge_idx0_elems
      Src: /src/libgcrypt/cipher/sha256-ppc.c:590,1
    - Dst: vec_vsx_st
      Src: /src/libgcrypt/cipher/sha256-ppc.c:591,1
    - Dst: vec_vsx_st
      Src: /src/libgcrypt/cipher/sha256-ppc.c:592,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/sha256-ppc.c:594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 296
    argCount: 3
    argNames:
    - state
    - data
    - nblks
    argTypes:
    - u32[]
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 597
    functionName: sha256_transform_ppc
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 0
    functionsReached:
    - vec_merge_idx0_elems
    - W2
    - I
    - clear_vec_regs
    - vec_vsx_ld
    - WL
    - vec_rol_elems
    - W
    - vec_vsx_st
    - L
    - R
    - I2
    - L2
    - vec_mergeo
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE sha256_transform_ppc(u32 state[8], const unsigned
      char *data, size_t nblks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_transform_ppc
      Src: /src/libgcrypt/cipher/sha256-ppc.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - data
    - nblks
    argTypes:
    - u32[]
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 604
    functionName: _gcry_sha256_transform_ppc8
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 0
    functionsReached:
    - sha256_transform_ppc
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_sha256_transform_ppc8(u32 state[8], const unsigned
      char *data,\n\t\t\t    size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_transform_ppc
      Src: /src/libgcrypt/cipher/sha256-ppc.c:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - data
    - nblks
    argTypes:
    - u32[]
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 611
    functionName: _gcry_sha256_transform_ppc9
    functionSourceFile: /src/libgcrypt/cipher/sha256-ppc.c
    functionUses: 0
    functionsReached:
    - sha256_transform_ppc
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_sha256_transform_ppc9(u32 state[8], const unsigned
      char *data,\n\t\t\t    size_t nblks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - _a
    - _b
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: working_memcmp
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int working_memcmp( const void *_a, const void *_b, size_t n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - temp
    - ','
    - b
    - ','
    - offset
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: DO_PERMUTATION
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_PERMUTATION(a, temp, b, offset, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - left
    - ','
    - temp
    - ','
    - right
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 449
    functionName: INITIAL_PERMUTATION
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITIAL_PERMUTATION(left, temp, right)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - left
    - ','
    - temp
    - ','
    - right
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 463
    functionName: FINAL_PERMUTATION
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FINAL_PERMUTATION(left, temp, right)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - from
    - ','
    - to
    - ','
    - work
    - ','
    - subkey
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 482
    functionName: DES_ROUND
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DES_ROUND(from, to, work, subkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - data
    - ','
    - left
    - ','
    - right
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: READ_64BIT_DATA
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_64BIT_DATA(data, left, right)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - data
    - ','
    - left
    - ','
    - right
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: WRITE_64BIT_DATA
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_64BIT_DATA(data, left, right)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - from
    - ','
    - to
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 498
    functionName: des_ecb_encrypt
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: des_ecb_encrypt(ctx, from, to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - from
    - ','
    - to
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 499
    functionName: des_ecb_decrypt
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: des_ecb_decrypt(ctx, from, to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - from
    - ','
    - to
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 500
    functionName: tripledes_ecb_encrypt
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tripledes_ecb_encrypt(ctx, from, to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - from
    - ','
    - to
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 501
    functionName: tripledes_ecb_decrypt
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tripledes_ecb_decrypt(ctx, from, to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READ_64BIT_DATA
      Src: /src/libgcrypt/cipher/des.c:524,1
    - Dst: DO_PERMUTATION
      Src: /src/libgcrypt/cipher/des.c:526,1
    - Dst: DO_PERMUTATION
      Src: /src/libgcrypt/cipher/des.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - rawkey
    - subkey
    argTypes:
    - byte*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 604
    functionName: des_key_schedule
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - DO_PERMUTATION
    - READ_64BIT_DATA
    linkageType: ''
    returnType: void
    signature: void des_key_schedule (const byte * rawkey, u32 * subkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/des.c:618,1
    - Dst: selftest
      Src: /src/libgcrypt/cipher/des.c:621,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/des.c:624,1
    - Dst: des_key_schedule
      Src: /src/libgcrypt/cipher/des.c:629,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/des.c:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct _des_ctx*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 639
    functionName: des_setkey
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - des_key_schedule
    - log_error
    - fips_mode
    - _gcry_burn_stack
    - selftest
    linkageType: ''
    returnType: int
    signature: int des_setkey (struct _des_ctx *ctx, const byte * key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READ_64BIT_DATA
      Src: /src/libgcrypt/cipher/des.c:655,1
    - Dst: INITIAL_PERMUTATION
      Src: /src/libgcrypt/cipher/des.c:656,1
    - Dst: FINAL_PERMUTATION
      Src: /src/libgcrypt/cipher/des.c:667,1
    - Dst: WRITE_64BIT_DATA
      Src: /src/libgcrypt/cipher/des.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - from
    - to
    - mode
    argTypes:
    - struct _des_ctx*
    - byte*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 671
    functionName: des_ecb_crypt
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - WRITE_64BIT_DATA
    - FINAL_PERMUTATION
    - READ_64BIT_DATA
    - INITIAL_PERMUTATION
    linkageType: ''
    returnType: int
    signature: int des_ecb_crypt (struct _des_ctx *ctx, const byte * from, byte *
      to, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: des_key_schedule
      Src: /src/libgcrypt/cipher/des.c:687,1
    - Dst: des_key_schedule
      Src: /src/libgcrypt/cipher/des.c:688,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/des.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - key1
    - key2
    argTypes:
    - struct _tripledes_ctx*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 707
    functionName: tripledes_set2keys
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - des_key_schedule
    linkageType: ''
    returnType: int
    signature: "int tripledes_set2keys (struct _tripledes_ctx *ctx,\n\t\t    const
      byte * key1,\n\t\t    const byte * key2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/des.c:725,1
    - Dst: selftest
      Src: /src/libgcrypt/cipher/des.c:728,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/des.c:731,1
    - Dst: des_key_schedule
      Src: /src/libgcrypt/cipher/des.c:736,1
    - Dst: des_key_schedule
      Src: /src/libgcrypt/cipher/des.c:737,1
    - Dst: des_key_schedule
      Src: /src/libgcrypt/cipher/des.c:738,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/des.c:739,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - key1
    - key2
    - key3
    argTypes:
    - struct _tripledes_ctx*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 754
    functionName: tripledes_set3keys
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - des_key_schedule
    - log_error
    - fips_mode
    - _gcry_burn_stack
    - selftest
    linkageType: ''
    returnType: int
    signature: "int tripledes_set3keys (struct _tripledes_ctx *ctx,\n\t\t    const
      byte * key1,\n\t\t    const byte * key2,\n\t\t    const byte * key3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_3des_amd64_crypt_block
      Src: /src/libgcrypt/cipher/des.c:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - from
    - to
    - mode
    argTypes:
    - struct _tripledes_ctx*
    - byte*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 793
    functionName: tripledes_ecb_crypt
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - _gcry_3des_amd64_crypt_block
    linkageType: ''
    returnType: int
    signature: "int tripledes_ecb_crypt (struct _tripledes_ctx *ctx, const byte *
      from,\n                     byte * to, int mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_3des_amd64_ctr_enc
      Src: /src/libgcrypt/cipher/des.c:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - keys
    - out
    - in
    - ctr
    argTypes:
    - void*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 799
    functionName: tripledes_amd64_ctr_enc
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - _gcry_3des_amd64_ctr_enc
    linkageType: ''
    returnType: void
    signature: void tripledes_amd64_ctr_enc(const void *keys, byte *out, const byte
      *in, byte *ctr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_3des_amd64_cbc_dec
      Src: /src/libgcrypt/cipher/des.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - keys
    - out
    - in
    - iv
    argTypes:
    - void*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 805
    functionName: tripledes_amd64_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - _gcry_3des_amd64_cbc_dec
    linkageType: ''
    returnType: void
    signature: void tripledes_amd64_cbc_dec(const void *keys, byte *out, const byte
      *in, byte *iv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_3des_amd64_cfb_dec
      Src: /src/libgcrypt/cipher/des.c:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - keys
    - out
    - in
    - iv
    argTypes:
    - void*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 811
    functionName: tripledes_amd64_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - _gcry_3des_amd64_cfb_dec
    linkageType: ''
    returnType: void
    signature: void tripledes_amd64_cfb_dec(const void *keys, byte *out, const byte
      *in, byte *iv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: READ_64BIT_DATA
      Src: /src/libgcrypt/cipher/des.c:831,1
    - Dst: INITIAL_PERMUTATION
      Src: /src/libgcrypt/cipher/des.c:832,1
    - Dst: FINAL_PERMUTATION
      Src: /src/libgcrypt/cipher/des.c:861,1
    - Dst: WRITE_64BIT_DATA
      Src: /src/libgcrypt/cipher/des.c:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - from
    - to
    - mode
    argTypes:
    - struct _tripledes_ctx*
    - byte*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 865
    functionName: tripledes_ecb_crypt
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - WRITE_64BIT_DATA
    - FINAL_PERMUTATION
    - READ_64BIT_DATA
    - INITIAL_PERMUTATION
    linkageType: ''
    returnType: int
    signature: "int tripledes_ecb_crypt (struct _tripledes_ctx *ctx, const byte *
      from,\n                     byte * to, int mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tripledes_amd64_ctr_enc
      Src: /src/libgcrypt/cipher/des.c:894,1
    - Dst: tripledes_ecb_encrypt
      Src: /src/libgcrypt/cipher/des.c:908,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/des.c:910,1
    - Dst: cipher_block_add_be16
      Src: /src/libgcrypt/cipher/des.c:914,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/des.c:917,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/des.c:918,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - context
    - ctr
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 874
    functionDepth: 2
    functionLinenumber: 874
    functionLinenumberEnd: 919
    functionName: _gcry_3des_ctr_enc
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - tripledes_amd64_ctr_enc
    - cipher_block_xor
    - tripledes_ecb_encrypt
    - wipememory
    - _gcry_burn_stack
    - cipher_block_add_be16
    linkageType: ''
    returnType: void
    signature: "void _gcry_3des_ctr_enc(void *context, unsigned char *ctr, void *outbuf_arg,\n
      \                  const void *inbuf_arg, size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tripledes_amd64_cbc_dec
      Src: /src/libgcrypt/cipher/des.c:944,1
    - Dst: tripledes_ecb_decrypt
      Src: /src/libgcrypt/cipher/des.c:959,1
    - Dst: cipher_block_xor_n_copy_2
      Src: /src/libgcrypt/cipher/des.c:961,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/des.c:966,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/des.c:967,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 924
    functionDepth: 2
    functionLinenumber: 924
    functionLinenumberEnd: 968
    functionName: _gcry_3des_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - tripledes_ecb_decrypt
    - cipher_block_xor_n_copy_2
    - wipememory
    - _gcry_burn_stack
    - tripledes_amd64_cbc_dec
    linkageType: ''
    returnType: void
    signature: "void _gcry_3des_cbc_dec(void *context, unsigned char *iv, void *outbuf_arg,\n
      \                  const void *inbuf_arg, size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tripledes_amd64_cfb_dec
      Src: /src/libgcrypt/cipher/des.c:992,1
    - Dst: tripledes_ecb_encrypt
      Src: /src/libgcrypt/cipher/des.c:1005,1
    - Dst: cipher_block_xor_n_copy
      Src: /src/libgcrypt/cipher/des.c:1006,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/des.c:1011,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 973
    functionDepth: 3
    functionLinenumber: 973
    functionLinenumberEnd: 1012
    functionName: _gcry_3des_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - tripledes_ecb_encrypt
    - cipher_block_xor_n_copy
    - _gcry_burn_stack
    - tripledes_amd64_cfb_dec
    linkageType: ''
    returnType: void
    signature: "void _gcry_3des_cfb_dec(void *context, unsigned char *iv, void *outbuf_arg,\n\t\t
      \  const void *inbuf_arg, size_t nblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: working_memcmp
      Src: /src/libgcrypt/cipher/des.c:1036,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1046
    functionName: is_weak_key
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - working_memcmp
    linkageType: ''
    returnType: int
    signature: int is_weak_key ( const byte *key )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: des_setkey
      Src: /src/libgcrypt/cipher/des.c:1080,1
    - Dst: des_ecb_encrypt
      Src: /src/libgcrypt/cipher/des.c:1081,1
    - Dst: des_ecb_encrypt
      Src: /src/libgcrypt/cipher/des.c:1082,1
    - Dst: des_setkey
      Src: /src/libgcrypt/cipher/des.c:1083,1
    - Dst: des_ecb_decrypt
      Src: /src/libgcrypt/cipher/des.c:1084,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/des.c:1085,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/des.c:1086,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/des.c:1088,1
    - Dst: tripledes_set2keys
      Src: /src/libgcrypt/cipher/des.c:1111,1
    - Dst: tripledes_ecb_encrypt
      Src: /src/libgcrypt/cipher/des.c:1112,1
    - Dst: tripledes_ecb_decrypt
      Src: /src/libgcrypt/cipher/des.c:1113,1
    - Dst: tripledes_set3keys
      Src: /src/libgcrypt/cipher/des.c:1114,1
    - Dst: tripledes_ecb_encrypt
      Src: /src/libgcrypt/cipher/des.c:1115,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/des.c:1117,1
    - Dst: tripledes_set3keys
      Src: /src/libgcrypt/cipher/des.c:1197,1
    - Dst: tripledes_ecb_encrypt
      Src: /src/libgcrypt/cipher/des.c:1200,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/des.c:1201,1
    - Dst: tripledes_ecb_decrypt
      Src: /src/libgcrypt/cipher/des.c:1204,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/des.c:1205,1
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/des.c:1220,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/des.c:1224,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/des.c:1225,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/des.c:1226,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/des.c:1227,1
    - Dst: is_weak_key
      Src: /src/libgcrypt/cipher/des.c:1232,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1054
    functionDepth: 3
    functionLinenumber: 1054
    functionLinenumberEnd: 1237
    functionName: selftest
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 23
    functionsReached:
    - tripledes_ecb_decrypt
    - _gcry_md_read
    - _gcry_md_close
    - des_setkey
    - tripledes_ecb_encrypt
    - des_ecb_encrypt
    - _gcry_md_write
    - memcmp
    - _gcry_md_open_internal
    - is_weak_key
    - tripledes_set3keys
    - tripledes_set2keys
    - memcpy
    - des_ecb_decrypt
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest (void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/des.c:1250,1
    - Dst: tripledes_set3keys
      Src: /src/libgcrypt/cipher/des.c:1255,1
    - Dst: is_weak_key
      Src: /src/libgcrypt/cipher/des.c:1259,1
    - Dst: is_weak_key
      Src: /src/libgcrypt/cipher/des.c:1259,1
    - Dst: is_weak_key
      Src: /src/libgcrypt/cipher/des.c:1259,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/des.c:1261,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/des.c:1264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - context
    - key
    - keylen
    - bulk_ops
    argTypes:
    - void*
    - byte*
    - unsigned
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1240
    functionDepth: 3
    functionLinenumber: 1240
    functionLinenumberEnd: 1267
    functionName: do_tripledes_setkey
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - memset
    - is_weak_key
    - tripledes_set3keys
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t do_tripledes_setkey ( void *context, const byte *key,
      unsigned keylen,\n                      cipher_bulk_ops_t *bulk_ops )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - context
    - what
    - buffer
    - buflen
    argTypes:
    - void*
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1291
    functionName: do_tripledes_set_extra_info
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t do_tripledes_set_extra_info (void *context, int what,\n
      \                            const void *buffer, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tripledes_ecb_encrypt
      Src: /src/libgcrypt/cipher/des.c:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1294
    functionDepth: 1
    functionLinenumber: 1294
    functionLinenumberEnd: 1301
    functionName: do_tripledes_encrypt
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - tripledes_ecb_encrypt
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_tripledes_encrypt( void *context, byte *outbuf, const
      byte *inbuf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tripledes_ecb_decrypt
      Src: /src/libgcrypt/cipher/des.c:1307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1303
    functionDepth: 1
    functionLinenumber: 1303
    functionLinenumberEnd: 1309
    functionName: do_tripledes_decrypt
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - tripledes_ecb_decrypt
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_tripledes_decrypt( void *context, byte *outbuf, const
      byte *inbuf )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: des_setkey
      Src: /src/libgcrypt/cipher/des.c:1322,1
    - Dst: is_weak_key
      Src: /src/libgcrypt/cipher/des.c:1324,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/des.c:1325,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/des.c:1328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - context
    - key
    - keylen
    - bulk_ops
    argTypes:
    - void*
    - byte*
    - unsigned
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1311
    functionDepth: 3
    functionLinenumber: 1311
    functionLinenumberEnd: 1331
    functionName: do_des_setkey
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - is_weak_key
    - des_setkey
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t do_des_setkey (void *context, const byte *key, unsigned
      keylen,\n               cipher_bulk_ops_t *bulk_ops)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: des_ecb_encrypt
      Src: /src/libgcrypt/cipher/des.c:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1341
    functionName: do_des_encrypt
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - des_ecb_encrypt
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_des_encrypt( void *context, byte *outbuf, const byte
      *inbuf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: des_ecb_decrypt
      Src: /src/libgcrypt/cipher/des.c:1348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1343
    functionDepth: 1
    functionLinenumber: 1343
    functionLinenumberEnd: 1350
    functionName: do_des_decrypt
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - des_ecb_decrypt
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_des_decrypt( void *context, byte *outbuf, const byte
      *inbuf )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: selftest
      Src: /src/libgcrypt/cipher/des.c:1370,1
    - Dst: report
      Src: /src/libgcrypt/cipher/des.c:1383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1385
    functionName: selftest_fips
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 0
    functionsReached:
    - selftest
    - report
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftest_fips (int extended, selftest_report_func_t
      report)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: selftest_fips
      Src: /src/libgcrypt/cipher/des.c:1398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1390
    functionDepth: 1
    functionLinenumber: 1390
    functionLinenumberEnd: 1406
    functionName: run_selftests
    functionSourceFile: /src/libgcrypt/cipher/des.c
    functionUses: 4
    functionsReached:
    - selftest_fips
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t run_selftests (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - mac_algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: map_mac_algo_to_cipher
    functionSourceFile: /src/libgcrypt/cipher/mac-gmac.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int map_mac_algo_to_cipher (int mac_algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: map_mac_algo_to_cipher
      Src: /src/libgcrypt/cipher/mac-gmac.c:65,1
    - Dst: _gcry_cipher_open_internal
      Src: /src/libgcrypt/cipher/mac-gmac.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 76
    functionName: gmac_open
    functionSourceFile: /src/libgcrypt/cipher/mac-gmac.c
    functionUses: 0
    functionsReached:
    - map_mac_algo_to_cipher
    - _gcry_cipher_open_internal
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t gmac_open (gcry_mac_hd_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_close
      Src: /src/libgcrypt/cipher/mac-gmac.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: gmac_close
    functionSourceFile: /src/libgcrypt/cipher/mac-gmac.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void gmac_close (gcry_mac_hd_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_setkey
      Src: /src/libgcrypt/cipher/mac-gmac.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h
    - key
    - keylen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: gmac_setkey
    functionSourceFile: /src/libgcrypt/cipher/mac-gmac.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_setkey
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t gmac_setkey (gcry_mac_hd_t h, const unsigned char *key,
      size_t keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_setiv
      Src: /src/libgcrypt/cipher/mac-gmac.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h
    - iv
    - ivlen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: gmac_setiv
    functionSourceFile: /src/libgcrypt/cipher/mac-gmac.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_setiv
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t gmac_setiv (gcry_mac_hd_t h, const unsigned char *iv,
      size_t ivlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_reset
      Src: /src/libgcrypt/cipher/mac-gmac.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: gmac_reset
    functionSourceFile: /src/libgcrypt/cipher/mac-gmac.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_reset
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t gmac_reset (gcry_mac_hd_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_authenticate
      Src: /src/libgcrypt/cipher/mac-gmac.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h
    - buf
    - buflen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: gmac_write
    functionSourceFile: /src/libgcrypt/cipher/mac-gmac.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_authenticate
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t gmac_write (gcry_mac_hd_t h, const unsigned char *buf,
      size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_gettag
      Src: /src/libgcrypt/cipher/mac-gmac.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - h
    - outbuf
    - outlen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: gmac_read
    functionSourceFile: /src/libgcrypt/cipher/mac-gmac.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_gettag
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t gmac_read (gcry_mac_hd_t h, unsigned char *outbuf,
      size_t * outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_checktag
      Src: /src/libgcrypt/cipher/mac-gmac.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h
    - buf
    - buflen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: gmac_verify
    functionSourceFile: /src/libgcrypt/cipher/mac-gmac.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_checktag
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t gmac_verify (gcry_mac_hd_t h, const unsigned char *buf,
      size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: gmac_get_maclen
    functionSourceFile: /src/libgcrypt/cipher/mac-gmac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gmac_get_maclen (int algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_get_algo_keylen
      Src: /src/libgcrypt/cipher/mac-gmac.c:142,1
    - Dst: map_mac_algo_to_cipher
      Src: /src/libgcrypt/cipher/mac-gmac.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: gmac_get_keylen
    functionSourceFile: /src/libgcrypt/cipher/mac-gmac.c
    functionUses: 0
    functionsReached:
    - map_mac_algo_to_cipher
    - _gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gmac_get_keylen (int algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: ELF
    functionSourceFile: /src/libgcrypt/cipher/asm-common-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELF(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reg
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: GET_DATA_POINTER
    functionSourceFile: /src/libgcrypt/cipher/asm-common-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_DATA_POINTER(reg, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reg
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: GET_DATA_POINTER
    functionSourceFile: /src/libgcrypt/cipher/asm-common-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_DATA_POINTER(reg, name)
  - 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: CFI_STARTPROC
    functionSourceFile: /src/libgcrypt/cipher/asm-common-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_STARTPROC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: CFI_ENDPROC
    functionSourceFile: /src/libgcrypt/cipher/asm-common-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_ENDPROC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: CFI_REMEMBER_STATE
    functionSourceFile: /src/libgcrypt/cipher/asm-common-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_REMEMBER_STATE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: CFI_RESTORE_STATE
    functionSourceFile: /src/libgcrypt/cipher/asm-common-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_RESTORE_STATE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: CFI_ADJUST_CFA_OFFSET
    functionSourceFile: /src/libgcrypt/cipher/asm-common-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_ADJUST_CFA_OFFSET(off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reg
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: CFI_REL_OFFSET
    functionSourceFile: /src/libgcrypt/cipher/asm-common-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_REL_OFFSET(reg,off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: CFI_DEF_CFA_REGISTER
    functionSourceFile: /src/libgcrypt/cipher/asm-common-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_DEF_CFA_REGISTER(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ro
    - ','
    - rn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: CFI_REGISTER
    functionSourceFile: /src/libgcrypt/cipher/asm-common-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_REGISTER(ro,rn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: CFI_RESTORE
    functionSourceFile: /src/libgcrypt/cipher/asm-common-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_RESTORE(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: DW_SLEB128_7BIT
    functionSourceFile: /src/libgcrypt/cipher/asm-common-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DW_SLEB128_7BIT(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: DW_SLEB128_28BIT
    functionSourceFile: /src/libgcrypt/cipher/asm-common-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DW_SLEB128_28BIT(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rsp_offs
    - ','
    - cfa_depth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: CFI_CFA_ON_STACK
    functionSourceFile: /src/libgcrypt/cipher/asm-common-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_CFA_ON_STACK(rsp_offs,cfa_depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: CLEAR_REG
    functionSourceFile: /src/libgcrypt/cipher/asm-common-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEAR_REG(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: CLEAR_ALL_REGS
    functionSourceFile: /src/libgcrypt/cipher/asm-common-aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEAR_ALL_REGS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - i
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    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: 566
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 566
    functionName: CALC_S
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALC_S(a, b, c, d, i, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 580
    functionName: CALC_SB_2
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALC_SB_2(i, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - i
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    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: 584
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: CALC_SB
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALC_SB(i, a, b, c, d, e, f, g, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 592
    functionName: CALC_SB256_2
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALC_SB256_2(i, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - i
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    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: 596
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 596
    functionName: CALC_SB256
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALC_SB256(i, a, b, c, d, e, f, g, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - j
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 619
    functionName: CALC_K_2
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALC_K_2(a, b, c, d, j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - j
    - ','
    - k
    - ','
    - l
    - ','
    - m
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 626
    functionName: CALC_K
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALC_K(a, j, k, l, m, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - j
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 632
    functionName: CALC_K256_2
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALC_K256_2(a, b, j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - j
    - ','
    - k
    - ','
    - l
    - ','
    - m
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 639
    functionName: CALC_K256
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALC_K256(a, j, k, l, m, n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: selftest
      Src: /src/libgcrypt/cipher/twofish.c:673,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/twofish.c:675,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:684,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:685,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:686,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:687,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:688,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:689,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:690,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:691,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:692,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:693,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:694,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:695,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:696,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:697,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:698,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:699,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:704,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:705,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:706,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:707,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:708,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:709,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:710,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:711,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:712,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:713,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:714,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:715,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:716,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:717,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:718,1
    - Dst: CALC_S
      Src: /src/libgcrypt/cipher/twofish.c:719,1
    - Dst: CALC_SB256_2
      Src: /src/libgcrypt/cipher/twofish.c:724,1
    - Dst: CALC_K256
      Src: /src/libgcrypt/cipher/twofish.c:730,1
    - Dst: CALC_K256
      Src: /src/libgcrypt/cipher/twofish.c:734,1
    - Dst: CALC_SB_2
      Src: /src/libgcrypt/cipher/twofish.c:742,1
    - Dst: CALC_K
      Src: /src/libgcrypt/cipher/twofish.c:748,1
    - Dst: CALC_K
      Src: /src/libgcrypt/cipher/twofish.c:752,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 65
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - TWOFISH_context*
    - byte*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 757
    functionName: do_twofish_setkey
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached:
    - CALC_SB_2
    - log_error
    - CALC_SB256_2
    - selftest
    - CALC_S
    - CALC_K
    - CALC_K256
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t do_twofish_setkey (TWOFISH_context *ctx, const byte
      *key, const unsigned keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/twofish.c:764,1
    - Dst: do_twofish_setkey
      Src: /src/libgcrypt/cipher/twofish.c:767,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/twofish.c:774,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/twofish.c:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - context
    - key
    - keylen
    - bulk_ops
    argTypes:
    - void*
    - byte*
    - unsigned int
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 759
    functionDepth: 3
    functionLinenumber: 759
    functionLinenumberEnd: 787
    functionName: twofish_setkey
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 1
    functionsReached:
    - _gcry_burn_stack
    - _gcry_get_hw_features
    - memset
    - do_twofish_setkey
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t twofish_setkey (void *context, const byte *key, unsigned
      int keylen,\n                cipher_bulk_ops_t *bulk_ops)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_twofish_amd64_encrypt_block
      Src: /src/libgcrypt/cipher/twofish.c:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - out
    - in
    argTypes:
    - TWOFISH_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 872
    functionName: twofish_amd64_encrypt_block
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 1
    functionsReached:
    - _gcry_twofish_amd64_encrypt_block
    linkageType: ''
    returnType: void
    signature: void twofish_amd64_encrypt_block(const TWOFISH_context *c, byte *out,
      const byte *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_twofish_amd64_decrypt_block
      Src: /src/libgcrypt/cipher/twofish.c:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - out
    - in
    argTypes:
    - TWOFISH_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 878
    functionName: twofish_amd64_decrypt_block
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 1
    functionsReached:
    - _gcry_twofish_amd64_decrypt_block
    linkageType: ''
    returnType: void
    signature: void twofish_amd64_decrypt_block(const TWOFISH_context *c, byte *out,
      const byte *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_twofish_amd64_ctr_enc
      Src: /src/libgcrypt/cipher/twofish.c:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - out
    - in
    - ctr
    argTypes:
    - TWOFISH_context*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 885
    functionName: twofish_amd64_ctr_enc
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 1
    functionsReached:
    - _gcry_twofish_amd64_ctr_enc
    linkageType: ''
    returnType: void
    signature: "void twofish_amd64_ctr_enc(const TWOFISH_context *c, byte *out, const
      byte *in,\n                      byte *ctr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_twofish_amd64_cbc_dec
      Src: /src/libgcrypt/cipher/twofish.c:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - out
    - in
    - iv
    argTypes:
    - TWOFISH_context*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 892
    functionName: twofish_amd64_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 1
    functionsReached:
    - _gcry_twofish_amd64_cbc_dec
    linkageType: ''
    returnType: void
    signature: "void twofish_amd64_cbc_dec(const TWOFISH_context *c, byte *out, const
      byte *in,\n                      byte *iv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_twofish_amd64_cfb_dec
      Src: /src/libgcrypt/cipher/twofish.c:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - out
    - in
    - iv
    argTypes:
    - TWOFISH_context*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 899
    functionName: twofish_amd64_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 1
    functionsReached:
    - _gcry_twofish_amd64_cfb_dec
    linkageType: ''
    returnType: void
    signature: "void twofish_amd64_cfb_dec(const TWOFISH_context *c, byte *out, const
      byte *in,\n                      byte *iv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_twofish_amd64_ocb_enc
      Src: /src/libgcrypt/cipher/twofish.c:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - out
    - in
    - offset
    - checksum
    - Ls
    argTypes:
    - TWOFISH_context*
    - byte*
    - byte*
    - byte*
    - byte*
    - u64[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 906
    functionName: twofish_amd64_ocb_enc
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 1
    functionsReached:
    - _gcry_twofish_amd64_ocb_enc
    linkageType: ''
    returnType: void
    signature: "void twofish_amd64_ocb_enc(const TWOFISH_context *ctx, byte *out,
      const byte *in,\n\t\t      byte *offset, byte *checksum, const u64 Ls[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_twofish_amd64_ocb_dec
      Src: /src/libgcrypt/cipher/twofish.c:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - out
    - in
    - offset
    - checksum
    - Ls
    argTypes:
    - TWOFISH_context*
    - byte*
    - byte*
    - byte*
    - byte*
    - u64[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 913
    functionName: twofish_amd64_ocb_dec
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 1
    functionsReached:
    - _gcry_twofish_amd64_ocb_dec
    linkageType: ''
    returnType: void
    signature: "void twofish_amd64_ocb_dec(const TWOFISH_context *ctx, byte *out,
      const byte *in,\n\t\t      byte *offset, byte *checksum, const u64 Ls[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_twofish_amd64_ocb_auth
      Src: /src/libgcrypt/cipher/twofish.c:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - abuf
    - offset
    - checksum
    - Ls
    argTypes:
    - TWOFISH_context*
    - byte*
    - byte*
    - byte*
    - u64[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 920
    functionName: twofish_amd64_ocb_auth
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 1
    functionsReached:
    - _gcry_twofish_amd64_ocb_auth
    linkageType: ''
    returnType: void
    signature: "void twofish_amd64_ocb_auth(const TWOFISH_context *ctx, const byte
      *abuf,\n\t\t       byte *offset, byte *checksum, const u64 Ls[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 940
    functionName: G1
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G1(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 944
    functionName: G2
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G2(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - n
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 956
    functionName: ENCROUND
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCROUND(n, a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - n
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 964
    functionName: DECROUND
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECROUND(n, a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 971
    functionName: ENCCYCLE
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCCYCLE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 975
    functionName: DECCYCLE
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECCYCLE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - x
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 985
    functionName: INPACK
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INPACK(n, x, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - x
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 989
    functionName: OUTUNPACK
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OUTUNPACK(n, x, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: twofish_amd64_encrypt_block
      Src: /src/libgcrypt/cipher/twofish.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - out
    - in
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1003
    functionName: twofish_encrypt
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached:
    - twofish_amd64_encrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int twofish_encrypt (void *context, byte *out, const byte
      *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_twofish_arm_encrypt_block
      Src: /src/libgcrypt/cipher/twofish.c:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - out
    - in
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1013
    functionName: twofish_encrypt
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached:
    - _gcry_twofish_arm_encrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int twofish_encrypt (void *context, byte *out, const byte
      *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INPACK
      Src: /src/libgcrypt/cipher/twofish.c:1027,1
    - Dst: INPACK
      Src: /src/libgcrypt/cipher/twofish.c:1028,1
    - Dst: INPACK
      Src: /src/libgcrypt/cipher/twofish.c:1029,1
    - Dst: INPACK
      Src: /src/libgcrypt/cipher/twofish.c:1030,1
    - Dst: ENCCYCLE
      Src: /src/libgcrypt/cipher/twofish.c:1033,1
    - Dst: ENCCYCLE
      Src: /src/libgcrypt/cipher/twofish.c:1034,1
    - Dst: ENCCYCLE
      Src: /src/libgcrypt/cipher/twofish.c:1035,1
    - Dst: ENCCYCLE
      Src: /src/libgcrypt/cipher/twofish.c:1036,1
    - Dst: ENCCYCLE
      Src: /src/libgcrypt/cipher/twofish.c:1037,1
    - Dst: ENCCYCLE
      Src: /src/libgcrypt/cipher/twofish.c:1038,1
    - Dst: ENCCYCLE
      Src: /src/libgcrypt/cipher/twofish.c:1039,1
    - Dst: ENCCYCLE
      Src: /src/libgcrypt/cipher/twofish.c:1040,1
    - Dst: OUTUNPACK
      Src: /src/libgcrypt/cipher/twofish.c:1043,1
    - Dst: OUTUNPACK
      Src: /src/libgcrypt/cipher/twofish.c:1044,1
    - Dst: OUTUNPACK
      Src: /src/libgcrypt/cipher/twofish.c:1045,1
    - Dst: OUTUNPACK
      Src: /src/libgcrypt/cipher/twofish.c:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - out
    - in
    argTypes:
    - TWOFISH_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1047
    functionName: do_twofish_encrypt
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached:
    - ENCCYCLE
    - INPACK
    - OUTUNPACK
    linkageType: ''
    returnType: void
    signature: void do_twofish_encrypt (const TWOFISH_context *ctx, byte *out, const
      byte *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_twofish_encrypt
      Src: /src/libgcrypt/cipher/twofish.c:1053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - out
    - in
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1049
    functionDepth: 2
    functionLinenumber: 1049
    functionLinenumberEnd: 1055
    functionName: twofish_encrypt
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 1
    functionsReached:
    - do_twofish_encrypt
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int twofish_encrypt (void *context, byte *out, const byte
      *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: twofish_amd64_decrypt_block
      Src: /src/libgcrypt/cipher/twofish.c:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - out
    - in
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1070
    functionName: twofish_decrypt
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached:
    - twofish_amd64_decrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int twofish_decrypt (void *context, byte *out, const byte
      *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_twofish_arm_decrypt_block
      Src: /src/libgcrypt/cipher/twofish.c:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - out
    - in
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1080
    functionName: twofish_decrypt
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached:
    - _gcry_twofish_arm_decrypt_block
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int twofish_decrypt (void *context, byte *out, const byte
      *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INPACK
      Src: /src/libgcrypt/cipher/twofish.c:1094,1
    - Dst: INPACK
      Src: /src/libgcrypt/cipher/twofish.c:1095,1
    - Dst: INPACK
      Src: /src/libgcrypt/cipher/twofish.c:1096,1
    - Dst: INPACK
      Src: /src/libgcrypt/cipher/twofish.c:1097,1
    - Dst: DECCYCLE
      Src: /src/libgcrypt/cipher/twofish.c:1100,1
    - Dst: DECCYCLE
      Src: /src/libgcrypt/cipher/twofish.c:1101,1
    - Dst: DECCYCLE
      Src: /src/libgcrypt/cipher/twofish.c:1102,1
    - Dst: DECCYCLE
      Src: /src/libgcrypt/cipher/twofish.c:1103,1
    - Dst: DECCYCLE
      Src: /src/libgcrypt/cipher/twofish.c:1104,1
    - Dst: DECCYCLE
      Src: /src/libgcrypt/cipher/twofish.c:1105,1
    - Dst: DECCYCLE
      Src: /src/libgcrypt/cipher/twofish.c:1106,1
    - Dst: DECCYCLE
      Src: /src/libgcrypt/cipher/twofish.c:1107,1
    - Dst: OUTUNPACK
      Src: /src/libgcrypt/cipher/twofish.c:1110,1
    - Dst: OUTUNPACK
      Src: /src/libgcrypt/cipher/twofish.c:1111,1
    - Dst: OUTUNPACK
      Src: /src/libgcrypt/cipher/twofish.c:1112,1
    - Dst: OUTUNPACK
      Src: /src/libgcrypt/cipher/twofish.c:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - out
    - in
    argTypes:
    - TWOFISH_context*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1114
    functionName: do_twofish_decrypt
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached:
    - DECCYCLE
    - INPACK
    - OUTUNPACK
    linkageType: ''
    returnType: void
    signature: void do_twofish_decrypt (const TWOFISH_context *ctx, byte *out, const
      byte *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_twofish_decrypt
      Src: /src/libgcrypt/cipher/twofish.c:1121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - out
    - in
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1116
    functionDepth: 2
    functionLinenumber: 1116
    functionLinenumberEnd: 1123
    functionName: twofish_decrypt
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 1
    functionsReached:
    - do_twofish_decrypt
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int twofish_decrypt (void *context, byte *out, const byte
      *in)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_twofish_avx2_ctr_enc
      Src: /src/libgcrypt/cipher/twofish.c:1150,1
    - Dst: twofish_amd64_ctr_enc
      Src: /src/libgcrypt/cipher/twofish.c:1172,1
    - Dst: twofish_encrypt
      Src: /src/libgcrypt/cipher/twofish.c:1191,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/twofish.c:1196,1
    - Dst: cipher_block_add_be16
      Src: /src/libgcrypt/cipher/twofish.c:1200,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/twofish.c:1203,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/twofish.c:1204,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 5
    argNames:
    - context
    - ctr
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1132
    functionDepth: 2
    functionLinenumber: 1132
    functionLinenumberEnd: 1205
    functionName: _gcry_twofish_ctr_enc
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor
    - wipememory
    - _gcry_burn_stack
    - twofish_amd64_ctr_enc
    - _gcry_twofish_avx2_ctr_enc
    - cipher_block_add_be16
    - twofish_encrypt
    linkageType: ''
    returnType: void
    signature: "void _gcry_twofish_ctr_enc(void *context, unsigned char *ctr, void
      *outbuf_arg,\n\t\t      const void *inbuf_arg, size_t nblocks)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_twofish_avx2_cbc_dec
      Src: /src/libgcrypt/cipher/twofish.c:1228,1
    - Dst: twofish_amd64_cbc_dec
      Src: /src/libgcrypt/cipher/twofish.c:1250,1
    - Dst: twofish_decrypt
      Src: /src/libgcrypt/cipher/twofish.c:1269,1
    - Dst: cipher_block_xor_n_copy_2
      Src: /src/libgcrypt/cipher/twofish.c:1273,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/twofish.c:1278,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/twofish.c:1279,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1210
    functionDepth: 2
    functionLinenumber: 1210
    functionLinenumberEnd: 1280
    functionName: _gcry_twofish_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached:
    - twofish_amd64_cbc_dec
    - cipher_block_xor_n_copy_2
    - wipememory
    - _gcry_twofish_avx2_cbc_dec
    - _gcry_burn_stack
    - twofish_decrypt
    linkageType: ''
    returnType: void
    signature: "void _gcry_twofish_cbc_dec(void *context, unsigned char *iv, void
      *outbuf_arg,\n\t\t      const void *inbuf_arg, size_t nblocks)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_twofish_avx2_cfb_dec
      Src: /src/libgcrypt/cipher/twofish.c:1302,1
    - Dst: twofish_amd64_cfb_dec
      Src: /src/libgcrypt/cipher/twofish.c:1324,1
    - Dst: twofish_encrypt
      Src: /src/libgcrypt/cipher/twofish.c:1341,1
    - Dst: cipher_block_xor_n_copy
      Src: /src/libgcrypt/cipher/twofish.c:1345,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/twofish.c:1350,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1285
    functionDepth: 3
    functionLinenumber: 1285
    functionLinenumberEnd: 1351
    functionName: _gcry_twofish_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached:
    - _gcry_twofish_avx2_cfb_dec
    - _gcry_burn_stack
    - cipher_block_xor_n_copy
    - twofish_encrypt
    - twofish_amd64_cfb_dec
    linkageType: ''
    returnType: void
    signature: "void _gcry_twofish_cfb_dec(void *context, unsigned char *iv, void
      *outbuf_arg,\n\t\t    const void *inbuf_arg, size_t nblocks)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bulk_ocb_prepare_L_pointers_array_blk16
      Src: /src/libgcrypt/cipher/twofish.c:1374,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/twofish.c:1380,1
    - Dst: _gcry_twofish_avx2_ocb_enc
      Src: /src/libgcrypt/cipher/twofish.c:1383,1
    - Dst: _gcry_twofish_avx2_ocb_dec
      Src: /src/libgcrypt/cipher/twofish.c:1386,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/twofish.c:1413,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/twofish.c:1414,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/twofish.c:1415,1
    - Dst: twofish_amd64_ocb_enc
      Src: /src/libgcrypt/cipher/twofish.c:1419,1
    - Dst: twofish_amd64_ocb_dec
      Src: /src/libgcrypt/cipher/twofish.c:1422,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/twofish.c:1440,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 5
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1449
    functionName: _gcry_twofish_ocb_crypt
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached:
    - _gcry_twofish_avx2_ocb_enc
    - bulk_ocb_prepare_L_pointers_array_blk16
    - _gcry_twofish_avx2_ocb_dec
    - _gcry_burn_stack
    - twofish_amd64_ocb_dec
    - twofish_amd64_ocb_enc
    - ocb_get_l
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_twofish_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg,\n\t\t\tconst
      void *inbuf_arg, size_t nblocks, int encrypt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bulk_ocb_prepare_L_pointers_array_blk16
      Src: /src/libgcrypt/cipher/twofish.c:1471,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/twofish.c:1477,1
    - Dst: _gcry_twofish_avx2_ocb_auth
      Src: /src/libgcrypt/cipher/twofish.c:1479,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/twofish.c:1507,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/twofish.c:1508,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/twofish.c:1509,1
    - Dst: twofish_amd64_ocb_auth
      Src: /src/libgcrypt/cipher/twofish.c:1512,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/twofish.c:1529,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - c
    - abuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1452
    functionDepth: 2
    functionLinenumber: 1452
    functionLinenumberEnd: 1536
    functionName: _gcry_twofish_ocb_auth
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached:
    - twofish_amd64_ocb_auth
    - bulk_ocb_prepare_L_pointers_array_blk16
    - _gcry_twofish_avx2_ocb_auth
    - _gcry_burn_stack
    - ocb_get_l
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_twofish_ocb_auth (gcry_cipher_hd_t c, const void *abuf_arg,\n\t\t\tsize_t
      nblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_twofish_avx2_blk16
      Src: /src/libgcrypt/cipher/twofish.c:1549,1
    - Dst: _gcry_twofish_amd64_blk3
      Src: /src/libgcrypt/cipher/twofish.c:1557,1
    - Dst: twofish_encrypt
      Src: /src/libgcrypt/cipher/twofish.c:1569,1
    - Dst: twofish_decrypt
      Src: /src/libgcrypt/cipher/twofish.c:1571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - context
    - out
    - in
    - num_blks
    - encrypt
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1539
    functionDepth: 2
    functionLinenumber: 1539
    functionLinenumberEnd: 1580
    functionName: twofish_crypt_blk1_16
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached:
    - _gcry_twofish_avx2_blk16
    - twofish_decrypt
    - _gcry_twofish_amd64_blk3
    - twofish_encrypt
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int twofish_crypt_blk1_16(void *context, byte *out, const
      byte *in,\n\t\t      size_t num_blks, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: twofish_crypt_blk1_16
      Src: /src/libgcrypt/cipher/twofish.c:1586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1582
    functionDepth: 3
    functionLinenumber: 1582
    functionLinenumberEnd: 1587
    functionName: twofish_encrypt_blk1_16
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached:
    - twofish_crypt_blk1_16
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int twofish_encrypt_blk1_16(void *ctx, byte *out, const byte
      *in,\n\t\t\tsize_t num_blks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: twofish_crypt_blk1_16
      Src: /src/libgcrypt/cipher/twofish.c:1593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1589
    functionDepth: 3
    functionLinenumber: 1589
    functionLinenumberEnd: 1594
    functionName: twofish_decrypt_blk1_16
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached:
    - twofish_crypt_blk1_16
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int twofish_decrypt_blk1_16(void *ctx, byte *out, const byte
      *in,\n\t\t\tsize_t num_blks)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bulk_xts_crypt_128
      Src: /src/libgcrypt/cipher/twofish.c:1620,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/twofish.c:1627,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/twofish.c:1631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - context
    - tweak
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1598
    functionDepth: 2
    functionLinenumber: 1598
    functionLinenumberEnd: 1632
    functionName: _gcry_twofish_xts_crypt
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached:
    - wipememory
    - _gcry_burn_stack
    - bulk_xts_crypt_128
    linkageType: ''
    returnType: void
    signature: "void _gcry_twofish_xts_crypt (void *context, unsigned char *tweak,
      void *outbuf_arg,\n\t\t\t const void *inbuf_arg, size_t nblocks, int encrypt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bulk_ecb_crypt_128
      Src: /src/libgcrypt/cipher/twofish.c:1656,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/twofish.c:1663,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - context
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1636
    functionDepth: 1
    functionLinenumber: 1636
    functionLinenumberEnd: 1664
    functionName: _gcry_twofish_ecb_crypt
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - bulk_ecb_crypt_128
    linkageType: ''
    returnType: void
    signature: "void _gcry_twofish_ecb_crypt (void *context, void *outbuf_arg, const
      void *inbuf_arg,\n\t\t\t size_t nblocks, int encrypt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: twofish_setkey
      Src: /src/libgcrypt/cipher/twofish.c:1709,1
    - Dst: twofish_encrypt
      Src: /src/libgcrypt/cipher/twofish.c:1710,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/twofish.c:1711,1
    - Dst: twofish_decrypt
      Src: /src/libgcrypt/cipher/twofish.c:1713,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/twofish.c:1714,1
    - Dst: twofish_setkey
      Src: /src/libgcrypt/cipher/twofish.c:1717,1
    - Dst: twofish_encrypt
      Src: /src/libgcrypt/cipher/twofish.c:1718,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/twofish.c:1719,1
    - Dst: twofish_decrypt
      Src: /src/libgcrypt/cipher/twofish.c:1721,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/twofish.c:1722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1670
    functionDepth: 4
    functionLinenumber: 1670
    functionLinenumberEnd: 1726
    functionName: selftest
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 25
    functionsReached:
    - memcmp
    - twofish_decrypt
    - twofish_setkey
    - twofish_encrypt
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock
      Src: /src/libgcrypt/cipher/twofish.c:1788,1
    - Dst: twofish_setkey
      Src: /src/libgcrypt/cipher/twofish.c:1793,1
    - Dst: twofish_encrypt
      Src: /src/libgcrypt/cipher/twofish.c:1795,1
    - Dst: twofish_setkey
      Src: /src/libgcrypt/cipher/twofish.c:1796,1
    - Dst: twofish_encrypt
      Src: /src/libgcrypt/cipher/twofish.c:1798,1
    - Dst: twofish_setkey
      Src: /src/libgcrypt/cipher/twofish.c:1799,1
    - Dst: twofish_encrypt
      Src: /src/libgcrypt/cipher/twofish.c:1801,1
    - Dst: twofish_encrypt
      Src: /src/libgcrypt/cipher/twofish.c:1802,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/twofish.c:1805,1
    - Dst: twofish_setkey
      Src: /src/libgcrypt/cipher/twofish.c:1811,1
    - Dst: twofish_decrypt
      Src: /src/libgcrypt/cipher/twofish.c:1813,1
    - Dst: twofish_decrypt
      Src: /src/libgcrypt/cipher/twofish.c:1814,1
    - Dst: twofish_setkey
      Src: /src/libgcrypt/cipher/twofish.c:1816,1
    - Dst: twofish_decrypt
      Src: /src/libgcrypt/cipher/twofish.c:1818,1
    - Dst: twofish_setkey
      Src: /src/libgcrypt/cipher/twofish.c:1819,1
    - Dst: twofish_decrypt
      Src: /src/libgcrypt/cipher/twofish.c:1821,1
    - Dst: clock
      Src: /src/libgcrypt/cipher/twofish.c:1825,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/twofish.c:1826,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/twofish.c:1827,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/twofish.c:1827,1
    - Dst: printf
      Src: /src/libgcrypt/cipher/twofish.c:1829,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1741
    functionDepth: 4
    functionLinenumber: 1741
    functionLinenumberEnd: 1832
    functionName: main
    functionSourceFile: /src/libgcrypt/cipher/twofish.c
    functionUses: 12
    functionsReached:
    - printf
    - twofish_setkey
    - clock
    - memcmp
    - twofish_encrypt
    - twofish_decrypt
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_sld
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:61,1
    - Dst: vec_sld
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - v
    - idx
    argTypes:
    - vector4x_u32
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: vector4x_u32::vec_rol_elems
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached:
    - vec_sld
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector4x_u32

      vec_rol_elems(vector4x_u32 v, unsigned int idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_vsx_ld
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:72,1
    - Dst: vec_perm
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - offset
    - ptr
    argTypes:
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: vector4x_u32::vec_load_le
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached:
    - vec_vsx_ld
    - vec_perm
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector4x_u32

      vec_load_le(unsigned long offset, const void *ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_perm
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:85,1
    - Dst: vec_vsx_st
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vec
    - offset
    - ptr
    argTypes:
    - vector4x_u32
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: vec_store_le
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached:
    - vec_vsx_st
    - vec_perm
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE vec_store_le(vector4x_u32 vec, unsigned long offset,
      void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_perm
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:100,1
    - Dst: vec_perm
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:101,1
    - Dst: vec_perm
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - v
    - a
    argTypes:
    - vector4x_u32
    - vector4x_u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: vector4x_u32::vec_add_ctr_u64
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached:
    - vec_perm
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: 'ASM_FUNC_ATTR_INLINE vector4x_u32

      vec_add_ctr_u64(vector4x_u32 v, vector4x_u32 a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v1
    - ','
    - rolv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: ROTATE
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(v1,rolv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v1
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: WORD_ROL
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WORD_ROL(v1,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ds
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: XOR
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XOR(ds,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ds
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: PLUS
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLUS(ds,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - rol_x1
    - ','
    - rol_x2
    - ','
    - rol_x3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: QUARTERROUND4
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUARTERROUND4(x0,x1,x2,x3,rol_x1,rol_x2,rol_x3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: ADD_U64
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_U64(v,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_vsx_ld
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:160,1
    - Dst: vec_vsx_ld
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:161,1
    - Dst: vec_vsx_ld
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:162,1
    - Dst: vec_vsx_ld
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:163,1
    - Dst: ADD_U64
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:176,1
    - Dst: QUARTERROUND4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:180,1
    - Dst: QUARTERROUND4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:181,1
    - Dst: QUARTERROUND4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:182,1
    - Dst: QUARTERROUND4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:183,1
    - Dst: ADD_U64
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:190,1
    - Dst: ADD_U64
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:195,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:197,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:198,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:199,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:200,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:201,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:202,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:203,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:204,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:207,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:208,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:209,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:210,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:211,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:212,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:213,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:214,1
    - Dst: QUARTERROUND4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:230,1
    - Dst: QUARTERROUND4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:231,1
    - Dst: ADD_U64
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:238,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:240,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:241,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:242,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:243,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:244,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:245,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:246,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:247,1
    - Dst: vec_vsx_st
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:254,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 87
    argCount: 4
    argNames:
    - state
    - dst
    - src
    - nblks
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 259
    functionName: chacha20_ppc_blocks1
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached:
    - QUARTERROUND4
    - vec_vsx_ld
    - vec_store_le
    - ADD_U64
    - vec_vsx_st
    - clear_vec_regs
    - vec_load_le
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE unsigned
    signature: ASM_FUNC_ATTR_INLINE unsigned chacha20_ppc_blocks1(u32 *state, byte
      *dst, const byte *src, size_t nblks)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 277
    functionName: transpose_4x4
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: transpose_4x4(x0, x1, x2, x3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a1
    - ','
    - b1
    - ','
    - c1
    - ','
    - d1
    - ','
    - a2
    - ','
    - b2
    - ','
    - c2
    - ','
    - d2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: QUARTERROUND2
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUARTERROUND2(a1,b1,c1,d1,a2,b2,c2,d2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_vsx_ld
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:311,1
    - Dst: vec_vsx_ld
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:312,1
    - Dst: vec_vsx_ld
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:313,1
    - Dst: vec_vsx_ld
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:314,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:318,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:319,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:320,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:321,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:322,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:323,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:324,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:325,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:326,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:327,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:328,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:329,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:330,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:331,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:332,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:333,1
    - Dst: vec_cmplt
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:336,1
    - Dst: QUARTERROUND2
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:340,1
    - Dst: QUARTERROUND2
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:341,1
    - Dst: QUARTERROUND2
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:342,1
    - Dst: QUARTERROUND2
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:343,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:346,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:347,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:348,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:349,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:350,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:351,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:352,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:353,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:354,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:355,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:356,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:357,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:358,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:361,1
    - Dst: vec_cmplt
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:361,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:362,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:363,1
    - Dst: ADD_U64
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:364,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:366,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:367,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:368,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:369,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:371,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:372,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:373,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:374,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:376,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:377,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:378,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:379,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:381,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:382,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:383,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:384,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:386,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:387,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:388,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:389,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:391,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:392,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:393,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:394,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:396,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:397,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:398,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:399,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:401,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:402,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:403,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:404,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:406,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:407,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:408,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:409,1
    - Dst: vec_vsx_st
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:418,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 98
    argCount: 4
    argNames:
    - state
    - dst
    - src
    - nblks
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 423
    functionName: chacha20_ppc_blocks4
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached:
    - QUARTERROUND2
    - vec_vsx_ld
    - clear_vec_regs
    - vec_cmplt
    - vec_splat
    - transpose_4x4
    - vec_store_le
    - vec_vsx_st
    - vec_load_le
    - ADD_U64
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE unsigned
    signature: ASM_FUNC_ATTR_INLINE unsigned chacha20_ppc_blocks4(u32 *state, byte
      *dst, const byte *src, size_t nblks)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: ADD_1305_64
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_1305_64(A2, A1, A0, B2, B1, B0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - H2
    - ','
    - H1
    - ','
    - H0
    - ','
    - R1
    - ','
    - R0
    - ','
    - R1_MULT5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 441
    functionName: MUL_MOD_1305_64_PART1
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUL_MOD_1305_64_PART1(H2, H1, H0, R1, R0, R1_MULT5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - H2
    - ','
    - H1
    - ','
    - H0
    - ','
    - R1
    - ','
    - R0
    - ','
    - R1_MULT5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: MUL_MOD_1305_64_PART2
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUL_MOD_1305_64_PART2(H2, H1, H0, R1, R0, R1_MULT5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - in_pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: POLY1305_BLOCK_PART1
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART1(in_pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - in_pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: POLY1305_BLOCK_PART2
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART2(in_pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_vsx_ld
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:515,1
    - Dst: vec_vsx_ld
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:516,1
    - Dst: vec_vsx_ld
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:517,1
    - Dst: vec_vsx_ld
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:518,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:522,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:523,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:524,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:525,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:526,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:527,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:528,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:529,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:530,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:531,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:532,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:533,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:534,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:535,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:536,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:537,1
    - Dst: vec_cmplt
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:540,1
    - Dst: POLY1305_BLOCK_PART1
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:546,1
    - Dst: QUARTERROUND2
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:547,1
    - Dst: POLY1305_BLOCK_PART2
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:548,1
    - Dst: QUARTERROUND2
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:549,1
    - Dst: POLY1305_BLOCK_PART1
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:550,1
    - Dst: QUARTERROUND2
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:552,1
    - Dst: POLY1305_BLOCK_PART2
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:553,1
    - Dst: QUARTERROUND2
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:554,1
    - Dst: QUARTERROUND2
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:557,1
    - Dst: QUARTERROUND2
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:558,1
    - Dst: QUARTERROUND2
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:559,1
    - Dst: QUARTERROUND2
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:560,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:563,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:564,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:565,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:566,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:567,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:568,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:569,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:570,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:571,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:572,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:573,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:574,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:575,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:578,1
    - Dst: vec_cmplt
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:578,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:579,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:580,1
    - Dst: ADD_U64
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:581,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:583,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:584,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:585,1
    - Dst: transpose_4x4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:586,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:588,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:589,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:590,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:591,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:593,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:594,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:595,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:596,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:598,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:599,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:600,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:601,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:603,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:604,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:605,1
    - Dst: vec_load_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:606,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:608,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:609,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:610,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:611,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:613,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:614,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:615,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:616,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:618,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:619,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:620,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:621,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:623,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:624,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:625,1
    - Dst: vec_store_le
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:626,1
    - Dst: vec_vsx_st
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:635,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 121
    argCount: 6
    argNames:
    - state
    - dst
    - src
    - nblks
    - st
    - poly1305_src
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    - POLY1305_STATE*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 647
    functionName: chacha20_poly1305_ppc_blocks4
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached:
    - POLY1305_BLOCK_PART1
    - QUARTERROUND2
    - vec_vsx_ld
    - clear_vec_regs
    - POLY1305_BLOCK_PART2
    - vec_splat
    - transpose_4x4
    - vec_store_le
    - ADD_U64
    - vec_vsx_st
    - vec_load_le
    - vec_cmplt
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE unsigned
    signature: "ASM_FUNC_ATTR_INLINE unsigned chacha20_poly1305_ppc_blocks4(u32 *state,
      byte *dst, const byte *src,\n\t\t\t      size_t nblks, POLY1305_STATE *st,\n\t\t\t
      \     const byte *poly1305_src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - state
    - dst
    - src
    - nblks
    - st
    - poly1305_src
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    - POLY1305_STATE*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: chacha20_poly1305_ppc_blocks4
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE unsigned
    signature: "ASM_FUNC_ATTR_INLINE unsigned chacha20_poly1305_ppc_blocks4(u32 *state,
      byte *dst, const byte *src,\n\t\t\t      size_t nblks, POLY1305_STATE *st,\n\t\t\t
      \     const byte *poly1305_src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_ppc_blocks1
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - dst
    - src
    - nblks
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 688
    functionName: _gcry_chacha20_ppc8_blocks1
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached:
    - chacha20_ppc_blocks1
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_chacha20_ppc8_blocks1(u32 *state, byte *dst, const
      byte *src,\n\t\t\t    size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_ppc_blocks4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - dst
    - src
    - nblks
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 690
    functionDepth: 2
    functionLinenumber: 690
    functionLinenumberEnd: 695
    functionName: _gcry_chacha20_ppc8_blocks4
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached:
    - chacha20_ppc_blocks4
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_chacha20_ppc8_blocks4(u32 *state, byte *dst, const
      byte *src,\n\t\t\t    size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_poly1305_ppc_blocks4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - state
    - dst
    - src
    - nblks
    - st
    - poly1305_src
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    - POLY1305_STATE*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 704
    functionName: _gcry_chacha20_poly1305_ppc8_blocks4
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached:
    - chacha20_poly1305_ppc_blocks4
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_chacha20_poly1305_ppc8_blocks4(u32 *state, byte
      *dst, const byte *src,\n\t\t\t\t     size_t nblks, POLY1305_STATE *st,\n\t\t\t\t
      \    const byte *poly1305_src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_ppc_blocks1
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - dst
    - src
    - nblks
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 708
    functionDepth: 2
    functionLinenumber: 708
    functionLinenumberEnd: 713
    functionName: _gcry_chacha20_ppc9_blocks1
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached:
    - chacha20_ppc_blocks1
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_chacha20_ppc9_blocks1(u32 *state, byte *dst, const
      byte *src,\n\t\t\t    size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_ppc_blocks4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - dst
    - src
    - nblks
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 720
    functionName: _gcry_chacha20_ppc9_blocks4
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached:
    - chacha20_ppc_blocks4
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_chacha20_ppc9_blocks4(u32 *state, byte *dst, const
      byte *src,\n\t\t\t    size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_poly1305_ppc_blocks4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - state
    - dst
    - src
    - nblks
    - st
    - poly1305_src
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    - POLY1305_STATE*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 722
    functionDepth: 2
    functionLinenumber: 722
    functionLinenumberEnd: 729
    functionName: _gcry_chacha20_poly1305_ppc9_blocks4
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached:
    - chacha20_poly1305_ppc_blocks4
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_chacha20_poly1305_ppc9_blocks4(u32 *state, byte
      *dst, const byte *src,\n\t\t\t\t     size_t nblks, POLY1305_STATE *st,\n\t\t\t\t
      \    const byte *poly1305_src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_chacha20_ppc8_blocks1
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - dst
    - src
    - nblks
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 733
    functionDepth: 3
    functionLinenumber: 733
    functionLinenumberEnd: 738
    functionName: _gcry_chacha20_ppc9_blocks1
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached:
    - _gcry_chacha20_ppc8_blocks1
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_chacha20_ppc9_blocks1(u32 *state, byte *dst, const
      byte *src,\n\t\t\t    size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_chacha20_ppc8_blocks4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - dst
    - src
    - nblks
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 740
    functionDepth: 3
    functionLinenumber: 740
    functionLinenumberEnd: 745
    functionName: _gcry_chacha20_ppc9_blocks4
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached:
    - _gcry_chacha20_ppc8_blocks4
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_chacha20_ppc9_blocks4(u32 *state, byte *dst, const
      byte *src,\n\t\t\t    size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_chacha20_poly1305_ppc8_blocks4
      Src: /src/libgcrypt/cipher/chacha20-ppc.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - state
    - dst
    - src
    - nblks
    - st
    - poly1305_src
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    - POLY1305_STATE*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 747
    functionDepth: 3
    functionLinenumber: 747
    functionLinenumberEnd: 754
    functionName: _gcry_chacha20_poly1305_ppc9_blocks4
    functionSourceFile: /src/libgcrypt/cipher/chacha20-ppc.c
    functionUses: 0
    functionsReached:
    - _gcry_chacha20_poly1305_ppc8_blocks4
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_chacha20_poly1305_ppc9_blocks4(u32 *state, byte
      *dst, const byte *src,\n\t\t\t\t     size_t nblks, POLY1305_STATE *st,\n\t\t\t\t
      \    const byte *poly1305_src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: memory_barrier_with_vec
    functionSourceFile: /src/libgcrypt/cipher/simd-common-ppc.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memory_barrier_with_vec(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 67
    functionName: clear_vec_regs
    functionSourceFile: /src/libgcrypt/cipher/simd-common-ppc.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clear_vec_regs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_to_octet_string
      Src: /src/libgcrypt/cipher/rsa-common.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r_frame
    - space
    - value
    - nbytes
    argTypes:
    - unsigned char**
    - void*
    - gcry_mpi_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: octet_string_from_mpi
    functionSourceFile: /src/libgcrypt/cipher/rsa-common.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_to_octet_string
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t octet_string_from_mpi (unsigned char **r_frame, void
      *space,\n                       gcry_mpi_t value, size_t nbytes)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/cipher/rsa-common.c:89,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/rsa-common.c:90,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/rsa-common.c:96,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:104,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:111,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:114,1
    - Dst: _gcry_random_bytes_secure
      Src: /src/libgcrypt/cipher/rsa-common.c:119,1
    - Dst: _gcry_random_bytes_secure
      Src: /src/libgcrypt/cipher/rsa-common.c:136,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:144,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:146,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:148,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:152,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/rsa-common.c:154,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/rsa-common.c:156,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa-common.c:158,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:159,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 6
    argNames:
    - r_result
    - nbits
    - value
    - valuelen
    - random_override
    - random_override_len
    argTypes:
    - gcry_mpi_t*
    - unsigned int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 162
    functionName: _gcry_rsa_pkcs1_encode_for_enc
    functionSourceFile: /src/libgcrypt/cipher/rsa-common.c
    functionUses: 1
    functionsReached:
    - gpg_err_code_from_syserror
    - gcry_assert
    - log_mpidump
    - xtrymalloc_secure
    - xfree
    - _gcry_mpi_scan
    - _gcry_random_bytes_secure
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_rsa_pkcs1_encode_for_enc (gcry_mpi_t *r_result,
      unsigned int nbits,\n                                const unsigned char *value,
      size_t valuelen,\n                                const unsigned char *random_override,\n
      \                               size_t random_override_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_memmov_cond
      Src: /src/libgcrypt/cipher/rsa-common.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - dst
    - src
    - len
    - buflen
    argTypes:
    - void*
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: memmov_independently
    functionSourceFile: /src/libgcrypt/cipher/rsa-common.c
    functionUses: 0
    functionsReached:
    - ct_memmov_cond
    linkageType: ''
    returnType: void
    signature: void memmov_independently (void *dst, const void *src, size_t len,
      size_t buflen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/cipher/rsa-common.c:211,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/rsa-common.c:212,1
    - Dst: _gcry_mpi_print
      Src: /src/libgcrypt/cipher/rsa-common.c:214,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:217,1
    - Dst: gcry_err_code
      Src: /src/libgcrypt/cipher/rsa-common.c:218,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:232,1
    - Dst: ct_not_equal_byte
      Src: /src/libgcrypt/cipher/rsa-common.c:238,1
    - Dst: ct_not_equal_byte
      Src: /src/libgcrypt/cipher/rsa-common.c:244,1
    - Dst: ct_is_zero
      Src: /src/libgcrypt/cipher/rsa-common.c:249,1
    - Dst: memmov_independently
      Src: /src/libgcrypt/cipher/rsa-common.c:253,1
    - Dst: log_printhex
      Src: /src/libgcrypt/cipher/rsa-common.c:259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - r_result
    - r_resultlen
    - nbits
    - value
    argTypes:
    - unsigned char**
    - size_t*
    - unsigned int
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 263
    functionName: _gcry_rsa_pkcs1_decode_for_enc
    functionSourceFile: /src/libgcrypt/cipher/rsa-common.c
    functionUses: 1
    functionsReached:
    - gpg_err_code_from_syserror
    - log_printhex
    - gcry_err_code
    - _gcry_mpi_print
    - xtrymalloc_secure
    - ct_not_equal_byte
    - ct_is_zero
    - xfree
    - memmov_independently
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_rsa_pkcs1_decode_for_enc (unsigned char **r_result,
      size_t *r_resultlen,\n                                unsigned int nbits, gcry_mpi_t
      value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/cipher/rsa-common.c:302,1
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/rsa-common.c:303,1
    - Dst: _gcry_md_algo_info
      Src: /src/libgcrypt/cipher/rsa-common.c:305,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/rsa-common.c:325,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/rsa-common.c:326,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/rsa-common.c:333,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/rsa-common.c:334,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:337,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:339,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/rsa-common.c:341,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/rsa-common.c:344,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa-common.c:346,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:347,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 5
    argNames:
    - r_result
    - nbits
    - value
    - valuelen
    - algo
    argTypes:
    - gcry_mpi_t*
    - unsigned int
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 350
    functionName: _gcry_rsa_pkcs1_encode_for_sig
    functionSourceFile: /src/libgcrypt/cipher/rsa-common.c
    functionUses: 1
    functionsReached:
    - gpg_err_code_from_syserror
    - gcry_assert
    - log_mpidump
    - DIM
    - _gcry_md_get_algo_dlen
    - memset
    - memcpy
    - xfree
    - _gcry_md_algo_info
    - _gcry_mpi_scan
    - xtrymalloc
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_rsa_pkcs1_encode_for_sig (gcry_mpi_t *r_result,
      unsigned int nbits,\n                                const unsigned char *value,
      size_t valuelen,\n                                int algo)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/rsa-common.c:385,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/rsa-common.c:387,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/rsa-common.c:390,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/rsa-common.c:400,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/rsa-common.c:401,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/rsa-common.c:408,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/rsa-common.c:409,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:412,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/rsa-common.c:414,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/rsa-common.c:417,1
    - Dst: gcry_err_code
      Src: /src/libgcrypt/cipher/rsa-common.c:419,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa-common.c:421,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:422,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - r_result
    - nbits
    - value
    - valuelen
    argTypes:
    - gcry_mpi_t*
    - unsigned int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 425
    functionName: _gcry_rsa_pkcs1_encode_raw_for_sig
    functionSourceFile: /src/libgcrypt/cipher/rsa-common.c
    functionUses: 1
    functionsReached:
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - gpg_err_code_from_syserror
    - gcry_assert
    - log_mpidump
    - gcry_err_code
    - fips_mode
    - memset
    - memcpy
    - xfree
    - _gcry_mpi_scan
    - xtrymalloc
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_rsa_pkcs1_encode_raw_for_sig (gcry_mpi_t *r_result,
      unsigned int nbits,\n                                const unsigned char *value,
      size_t valuelen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/rsa-common.c:438,1
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/rsa-common.c:442,1
    - Dst: _gcry_md_reset
      Src: /src/libgcrypt/cipher/rsa-common.c:455,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/rsa-common.c:463,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/rsa-common.c:464,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/rsa-common.c:465,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:468,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/rsa-common.c:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 5
    argNames:
    - output
    - outlen
    - seed
    - seedlen
    - algo
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 474
    functionName: mgf1
    functionSourceFile: /src/libgcrypt/cipher/rsa-common.c
    functionUses: 0
    functionsReached:
    - _gcry_md_reset
    - _gcry_md_read
    - _gcry_md_close
    - _gcry_md_get_algo_dlen
    - _gcry_md_write
    - memcpy
    - _gcry_md_open_internal
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t mgf1 (unsigned char *output, size_t outlen, unsigned
      char *seed, size_t seedlen,\n      int algo)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/rsa-common.c:530,1
    - Dst: xtrycalloc_secure
      Src: /src/libgcrypt/cipher/rsa-common.c:548,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/rsa-common.c:550,1
    - Dst: _gcry_md_hash_buffer
      Src: /src/libgcrypt/cipher/rsa-common.c:554,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:562,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:570,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:573,1
    - Dst: _gcry_randomize
      Src: /src/libgcrypt/cipher/rsa-common.c:576,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/cipher/rsa-common.c:582,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/rsa-common.c:585,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:586,1
    - Dst: mgf1
      Src: /src/libgcrypt/cipher/rsa-common.c:589,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:592,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:593,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:598,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/cipher/rsa-common.c:605,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/rsa-common.c:608,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:609,1
    - Dst: mgf1
      Src: /src/libgcrypt/cipher/rsa-common.c:612,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:615,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:616,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:621,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/rsa-common.c:628,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa-common.c:630,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:631,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 9
    argNames:
    - r_result
    - nbits
    - algo
    - value
    - valuelen
    - label
    - labellen
    - random_override
    - random_override_len
    argTypes:
    - gcry_mpi_t*
    - unsigned int
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 634
    functionName: _gcry_rsa_oaep_encode
    functionSourceFile: /src/libgcrypt/cipher/rsa-common.c
    functionUses: 1
    functionsReached:
    - xtrycalloc_secure
    - gpg_err_code_from_syserror
    - log_mpidump
    - mgf1
    - _gcry_md_get_algo_dlen
    - xtrymalloc_secure
    - xfree
    - _gcry_randomize
    - _gcry_mpi_scan
    - memcpy
    - _gcry_md_hash_buffer
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_rsa_oaep_encode (gcry_mpi_t *r_result, unsigned
      int nbits, int algo,\n                       const unsigned char *value, size_t
      valuelen,\n                       const unsigned char *label, size_t labellen,\n
      \                      const void *random_override, size_t random_override_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/rsa-common.c:678,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/rsa-common.c:681,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/rsa-common.c:683,1
    - Dst: _gcry_md_hash_buffer
      Src: /src/libgcrypt/cipher/rsa-common.c:684,1
    - Dst: octet_string_from_mpi
      Src: /src/libgcrypt/cipher/rsa-common.c:693,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:696,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:704,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:705,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/cipher/rsa-common.c:713,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/rsa-common.c:716,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:717,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:718,1
    - Dst: mgf1
      Src: /src/libgcrypt/cipher/rsa-common.c:736,1
    - Dst: mgf1
      Src: /src/libgcrypt/cipher/rsa-common.c:741,1
    - Dst: ct_not_memequal
      Src: /src/libgcrypt/cipher/rsa-common.c:747,1
    - Dst: ct_not_equal_byte
      Src: /src/libgcrypt/cipher/rsa-common.c:750,1
    - Dst: ct_not_equal_byte
      Src: /src/libgcrypt/cipher/rsa-common.c:754,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:756,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:757,1
    - Dst: memmov_independently
      Src: /src/libgcrypt/cipher/rsa-common.c:763,1
    - Dst: log_printhex
      Src: /src/libgcrypt/cipher/rsa-common.c:769,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 7
    argNames:
    - r_result
    - r_resultlen
    - nbits
    - algo
    - value
    - label
    - labellen
    argTypes:
    - unsigned char**
    - size_t*
    - unsigned int
    - int
    - gcry_mpi_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 773
    functionName: _gcry_rsa_oaep_decode
    functionSourceFile: /src/libgcrypt/cipher/rsa-common.c
    functionUses: 1
    functionsReached:
    - octet_string_from_mpi
    - gpg_err_code_from_syserror
    - log_printhex
    - mgf1
    - ct_not_memequal
    - _gcry_md_get_algo_dlen
    - xtrymalloc_secure
    - ct_not_equal_byte
    - xfree
    - memmov_independently
    - xtrymalloc
    - _gcry_md_hash_buffer
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_rsa_oaep_decode (unsigned char **r_result, size_t
      *r_resultlen,\n                       unsigned int nbits, int algo,\n                       gcry_mpi_t
      value,\n                       const unsigned char *label, size_t labellen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/rsa-common.c:841,1
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/rsa-common.c:851,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/rsa-common.c:852,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/rsa-common.c:855,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/rsa-common.c:857,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/rsa-common.c:863,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/rsa-common.c:868,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/rsa-common.c:871,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/rsa-common.c:881,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/rsa-common.c:882,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:883,1
    - Dst: _gcry_md_reset
      Src: /src/libgcrypt/cipher/rsa-common.c:884,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:893,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/rsa-common.c:904,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/rsa-common.c:907,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:916,1
    - Dst: _gcry_randomize
      Src: /src/libgcrypt/cipher/rsa-common.c:918,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/rsa-common.c:922,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/rsa-common.c:924,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/rsa-common.c:925,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:926,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/rsa-common.c:931,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:933,1
    - Dst: _gcry_md_hash_buffers_extract
      Src: /src/libgcrypt/cipher/rsa-common.c:945,1
    - Dst: mgf1
      Src: /src/libgcrypt/cipher/rsa-common.c:949,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/rsa-common.c:962,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/rsa-common.c:964,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/rsa-common.c:967,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rsa-common.c:970,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:971,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rsa-common.c:975,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:976,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 93
    argCount: 8
    argNames:
    - r_result
    - nbits
    - algo
    - saltlen
    - hashed_already
    - value
    - valuelen
    - random_override
    argTypes:
    - gcry_mpi_t*
    - unsigned int
    - int
    - int
    - int
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 817
    functionDepth: 2
    functionLinenumber: 817
    functionLinenumberEnd: 979
    functionName: _gcry_rsa_pss_encode
    functionSourceFile: /src/libgcrypt/cipher/rsa-common.c
    functionUses: 1
    functionsReached:
    - fips_check_rejection
    - log_mpidump
    - memcpy
    - xtrymalloc
    - fips_service_indicator_mark_non_compliant
    - gcry_assert
    - _gcry_md_read
    - wipememory
    - _gcry_md_reset
    - gpg_err_code_from_syserror
    - _gcry_md_hash_buffers_extract
    - mgf1
    - _gcry_md_close
    - fips_mode
    - _gcry_md_get_algo_dlen
    - memset
    - xfree
    - _gcry_randomize
    - _gcry_mpi_scan
    - _gcry_md_write
    - _gcry_md_open_internal
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_rsa_pss_encode (gcry_mpi_t *r_result, unsigned
      int nbits, int algo,\n                      int saltlen, int hashed_already,\n
      \                     const unsigned char *value, size_t valuelen,\n                      const
      void *random_override)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/rsa-common.c:1012,1
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/rsa-common.c:1022,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/rsa-common.c:1023,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/rsa-common.c:1026,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/rsa-common.c:1028,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/rsa-common.c:1034,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/rsa-common.c:1065,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/rsa-common.c:1068,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/rsa-common.c:1075,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/rsa-common.c:1084,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/rsa-common.c:1085,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:1086,1
    - Dst: _gcry_md_reset
      Src: /src/libgcrypt/cipher/rsa-common.c:1087,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:1090,1
    - Dst: octet_string_from_mpi
      Src: /src/libgcrypt/cipher/rsa-common.c:1093,1
    - Dst: _gcry_md_hash_buffers_extract
      Src: /src/libgcrypt/cipher/rsa-common.c:1124,1
    - Dst: mgf1
      Src: /src/libgcrypt/cipher/rsa-common.c:1128,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/rsa-common.c:1150,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:1151,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:1152,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/rsa-common.c:1155,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/rsa-common.c:1156,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/rsa-common.c:1157,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/rsa-common.c:1160,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/rsa-common.c:1163,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rsa-common.c:1166,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:1167,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rsa-common.c:1171,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/rsa-common.c:1172,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 101
    argCount: 6
    argNames:
    - value
    - hashed_already
    - encoded
    - nbits
    - algo
    - saltlen
    argTypes:
    - gcry_mpi_t
    - int
    - gcry_mpi_t
    - unsigned int
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 989
    functionDepth: 2
    functionLinenumber: 989
    functionLinenumberEnd: 1175
    functionName: _gcry_rsa_pss_verify
    functionSourceFile: /src/libgcrypt/cipher/rsa-common.c
    functionUses: 1
    functionsReached:
    - fips_check_rejection
    - octet_string_from_mpi
    - memcpy
    - xtrymalloc
    - fips_service_indicator_mark_non_compliant
    - gcry_assert
    - _gcry_md_read
    - wipememory
    - _gcry_md_reset
    - gpg_err_code_from_syserror
    - _gcry_md_hash_buffers_extract
    - mgf1
    - _gcry_md_close
    - fips_mode
    - _gcry_md_get_algo_dlen
    - memset
    - xfree
    - mpi_get_opaque
    - _gcry_md_write
    - memcmp
    - _gcry_md_open_internal
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_rsa_pss_verify (gcry_mpi_t value, int hashed_already,\n
      \                     gcry_mpi_t encoded,\n                      unsigned int
      nbits, int algo, size_t saltlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:40,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:41,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:45,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: mulx_ghash
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-siv.c
    functionUses: 0
    functionsReached:
    - buf_get_be64
    - buf_put_be64
    linkageType: ''
    returnType: void
    signature: void mulx_ghash (byte *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cipher_bytecounter_add
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctr
    - add
    argTypes:
    - u32[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: gcm_siv_bytecounter_add
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-siv.c
    functionUses: 0
    functionsReached:
    - cipher_bytecounter_add
    linkageType: ''
    returnType: void
    signature: void gcm_siv_bytecounter_add (u32 ctr[2], size_t add)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctr
    argTypes:
    - u32[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: gcm_siv_check_len
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-siv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gcm_siv_check_len (u32 ctr[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cipher_block_bswap
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:76,1
    - Dst: mulx_ghash
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:78,1
    - Dst: _gcry_cipher_gcm_setupM
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - c
    - auth_key
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: polyval_set_key
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-siv.c
    functionUses: 0
    functionsReached:
    - cipher_block_bswap
    - _gcry_cipher_gcm_setupM
    - mulx_ghash
    linkageType: ''
    returnType: void
    signature: void polyval_set_key (gcry_cipher_hd_t c, const byte *auth_key)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:106,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:122,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:129,1
    - Dst: polyval_fn
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:134,1
    - Dst: cipher_block_bswap
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:138,1
    - Dst: ghash_fn
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:140,1
    - Dst: polyval_fn
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:154,1
    - Dst: cipher_block_bswap
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:159,1
    - Dst: ghash_fn
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:164,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:178,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:180,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 5
    argNames:
    - c
    - hash
    - buf
    - buflen
    - do_padding
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 181
    functionName: do_polyval_buf
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-siv.c
    functionUses: 0
    functionsReached:
    - cipher_block_bswap
    - polyval_fn
    - gcry_assert
    - wipememory
    - _gcry_burn_stack
    - buf_cpy
    - memset
    - ghash_fn
    linkageType: ''
    returnType: void
    signature: "void do_polyval_buf(gcry_cipher_hd_t c, byte *hash, const byte *buf,\n\t
      \      size_t buflen, int do_padding)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_hd_t::bulk::ctr32le_enc
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:200,1
    - Dst: enc_fn
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:208,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:211,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:211,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:215,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:225,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:232,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:235,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - c
    - outbuf
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 236
    functionName: do_ctr_le32
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-siv.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor
    - enc_fn
    - gcry_cipher_hd_t::bulk::ctr32le_enc
    - buf_xor
    - wipememory
    - _gcry_burn_stack
    - buf_put_le32
    - buf_get_le32
    linkageType: ''
    returnType: void
    signature: "void do_ctr_le32 (gcry_cipher_hd_t c, byte *outbuf, const byte *inbuf,\n\t
      \    size_t inbuflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:262,1
    - Dst: mulx_ghash
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:263,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:264,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:267,1
    - Dst: mulx_ghash
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:268,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:269,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:273,1
    - Dst: cipher_block_bswap
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:274,1
    - Dst: mulx_ghash
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:275,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:276,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:280,1
    - Dst: polyval_set_key
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:281,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:282,1
    - Dst: do_polyval_buf
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:283,1
    - Dst: cipher_block_bswap
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:284,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 239
    functionDepth: 4
    functionLinenumber: 239
    functionLinenumberEnd: 289
    functionName: gcm_siv_selftest
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-siv.c
    functionUses: 0
    functionsReached:
    - polyval_set_key
    - cipher_block_bswap
    - mulx_ghash
    - memcmp
    - memset
    - do_polyval_buf
    - memcpy
    linkageType: ''
    returnType: int
    signature: int gcm_siv_selftest (gcry_cipher_hd_t c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcm_siv_selftest
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:302,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - c
    - keylen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 292
    functionDepth: 5
    functionLinenumber: 292
    functionLinenumberEnd: 313
    functionName: _gcry_cipher_gcm_siv_setkey
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-siv.c
    functionUses: 1
    functionsReached:
    - gcm_siv_selftest
    - memset
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cipher_gcm_siv_setkey (gcry_cipher_hd_t c, unsigned
      int keylen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:339,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:340,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:341,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:346,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:347,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:348,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:351,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:352,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:353,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:355,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:356,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:357,1
    - Dst: polyval_set_key
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:359,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:360,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:363,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:364,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:365,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:367,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:368,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:369,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:373,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:374,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:375,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:380,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:381,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:382,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:385,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:386,1
    - Dst: gcry_cipher_hd_t::spec::setkey
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:388,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:390,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 3
    argNames:
    - c
    - iv
    - ivlen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 316
    functionDepth: 4
    functionLinenumber: 316
    functionLinenumberEnd: 396
    functionName: _gcry_cipher_gcm_siv_set_nonce
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-siv.c
    functionUses: 0
    functionsReached:
    - polyval_set_key
    - gcry_cipher_hd_t::spec::setkey
    - wipememory
    - buf_put_le32
    - memset
    - gcry_cipher_hd_t::spec::encrypt
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_gcm_siv_set_nonce (gcry_cipher_hd_t c,
      const byte *iv,\n\t\t\t\tsize_t ivlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcm_siv_bytecounter_add
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:414,1
    - Dst: gcm_siv_check_len
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:415,1
    - Dst: do_polyval_buf
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:421,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - c
    - aadbuf
    - aadbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 424
    functionName: _gcry_cipher_gcm_siv_authenticate
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-siv.c
    functionUses: 0
    functionsReached:
    - gcm_siv_bytecounter_add
    - gcm_siv_check_len
    - do_polyval_buf
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_gcm_siv_authenticate (gcry_cipher_hd_t
      c,\n\t\t\t\t   const byte *aadbuf, size_t aadbuflen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: do_polyval_buf
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:449,1
    - Dst: gcm_siv_bytecounter_add
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:453,1
    - Dst: gcm_siv_check_len
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:454,1
    - Dst: do_polyval_buf
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:461,1
    - Dst: le_bswap32
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:465,1
    - Dst: le_bswap32
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:466,1
    - Dst: le_bswap32
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:469,1
    - Dst: le_bswap32
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:470,1
    - Dst: do_polyval_buf
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:474,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:476,1
    - Dst: cipher_block_bswap
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:479,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:481,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:484,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:486,1
    - Dst: do_ctr_le32
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:490,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 492
    functionName: _gcry_cipher_gcm_siv_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-siv.c
    functionUses: 0
    functionsReached:
    - cipher_block_bswap
    - gcm_siv_check_len
    - cipher_block_xor
    - le_bswap32
    - wipememory
    - do_ctr_le32
    - memcpy
    - gcry_cipher_hd_t::spec::encrypt
    - gcm_siv_bytecounter_add
    - do_polyval_buf
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_gcm_siv_encrypt (gcry_cipher_hd_t c,\n\t\t\t
      \     byte *outbuf, size_t outbuflen,\n\t\t\t      const byte *inbuf, size_t
      inbuflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - c
    - tag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 510
    functionName: _gcry_cipher_gcm_siv_set_decryption_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-siv.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_gcm_siv_set_decryption_tag (gcry_cipher_hd_t
      c,\n\t\t\t\t\t const byte *tag, size_t taglen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: do_polyval_buf
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:537,1
    - Dst: gcm_siv_bytecounter_add
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:541,1
    - Dst: gcm_siv_check_len
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:542,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:549,1
    - Dst: do_ctr_le32
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:553,1
    - Dst: do_polyval_buf
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:556,1
    - Dst: le_bswap32
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:560,1
    - Dst: le_bswap32
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:561,1
    - Dst: le_bswap32
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:564,1
    - Dst: le_bswap32
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:565,1
    - Dst: do_polyval_buf
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:569,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:571,1
    - Dst: cipher_block_bswap
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:574,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:576,1
    - Dst: gcry_cipher_hd_t::spec::encrypt
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:579,1
    - Dst: buf_eq_const
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:581,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:583,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:587,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 513
    functionDepth: 3
    functionLinenumber: 513
    functionLinenumberEnd: 589
    functionName: _gcry_cipher_gcm_siv_decrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-siv.c
    functionUses: 0
    functionsReached:
    - cipher_block_bswap
    - gcm_siv_check_len
    - cipher_block_xor
    - buf_eq_const
    - le_bswap32
    - wipememory
    - do_ctr_le32
    - memcpy
    - gcry_cipher_hd_t::spec::encrypt
    - gcm_siv_bytecounter_add
    - do_polyval_buf
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_gcm_siv_decrypt (gcry_cipher_hd_t c,\n\t\t\t
      \     byte *outbuf, size_t outbuflen,\n\t\t\t      const byte *inbuf, size_t
      inbuflen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_gcm_siv_encrypt
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:606,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:626,1
    - Dst: buf_eq_const
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:633,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - c
    - outbuf
    - outbuflen
    - check
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 592
    functionDepth: 4
    functionLinenumber: 592
    functionLinenumberEnd: 638
    functionName: _gcry_cipher_gcm_siv_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-siv.c
    functionUses: 0
    functionsReached:
    - memcpy
    - _gcry_cipher_gcm_siv_encrypt
    - buf_eq_const
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_gcm_siv_tag (gcry_cipher_hd_t c,\n\t\t\t
      \ byte * outbuf, size_t outbuflen, int check)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_gcm_siv_tag
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - outtag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 641
    functionDepth: 5
    functionLinenumber: 641
    functionLinenumberEnd: 646
    functionName: _gcry_cipher_gcm_siv_get_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-siv.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_gcm_siv_tag
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_gcm_siv_get_tag (gcry_cipher_hd_t c,
      unsigned char *outtag,\n\t\t\t      size_t taglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_gcm_siv_tag
      Src: /src/libgcrypt/cipher/cipher-gcm-siv.c:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - intag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 649
    functionDepth: 5
    functionLinenumber: 649
    functionLinenumberEnd: 655
    functionName: _gcry_cipher_gcm_siv_check_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-siv.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_gcm_siv_tag
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_gcm_siv_check_tag (gcry_cipher_hd_t c,\n\t\t\t\t
      \  const unsigned char *intag,\n\t\t\t\t   size_t taglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: ELF
    functionSourceFile: /src/libgcrypt/cipher/asm-common-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELF(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: CFI_STARTPROC
    functionSourceFile: /src/libgcrypt/cipher/asm-common-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_STARTPROC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: CFI_ENDPROC
    functionSourceFile: /src/libgcrypt/cipher/asm-common-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_ENDPROC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: CFI_REMEMBER_STATE
    functionSourceFile: /src/libgcrypt/cipher/asm-common-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_REMEMBER_STATE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: CFI_RESTORE_STATE
    functionSourceFile: /src/libgcrypt/cipher/asm-common-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_RESTORE_STATE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: CFI_ADJUST_CFA_OFFSET
    functionSourceFile: /src/libgcrypt/cipher/asm-common-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_ADJUST_CFA_OFFSET(off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reg
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: CFI_REL_OFFSET
    functionSourceFile: /src/libgcrypt/cipher/asm-common-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_REL_OFFSET(reg,off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: CFI_DEF_CFA_REGISTER
    functionSourceFile: /src/libgcrypt/cipher/asm-common-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_DEF_CFA_REGISTER(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ro
    - ','
    - rn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: CFI_REGISTER
    functionSourceFile: /src/libgcrypt/cipher/asm-common-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_REGISTER(ro,rn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: CFI_RESTORE
    functionSourceFile: /src/libgcrypt/cipher/asm-common-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_RESTORE(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: DW_SLEB128_7BIT
    functionSourceFile: /src/libgcrypt/cipher/asm-common-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DW_SLEB128_7BIT(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: DW_SLEB128_28BIT
    functionSourceFile: /src/libgcrypt/cipher/asm-common-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DW_SLEB128_28BIT(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rsp_offs
    - ','
    - cfa_depth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: CFI_CFA_ON_STACK
    functionSourceFile: /src/libgcrypt/cipher/asm-common-s390x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFI_CFA_ON_STACK(rsp_offs,cfa_depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_point_new
      Src: /src/libgcrypt/cipher/ecc-curves.c:573,1
    - Dst: point_set
      Src: /src/libgcrypt/cipher/ecc-curves.c:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - point
    argTypes:
    - gcry_mpi_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 579
    functionName: point_copy
    functionSourceFile: /src/libgcrypt/cipher/ecc-curves.c
    functionUses: 2
    functionsReached:
    - point_set
    - mpi_point_new
    linkageType: ''
    returnType: gcry_mpi_point_t
    signature: gcry_mpi_point_t point_copy (gcry_mpi_point_t point)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/ecc-curves.c:589,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/ecc-curves.c:591,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/ecc-curves.c:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 593
    functionName: scanval
    functionSourceFile: /src/libgcrypt/cipher/ecc-curves.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_scan
    - log_fatal
    - gpg_strerror
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t scanval (const char *string)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:605,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:612,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:617,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 623
    functionName: find_domain_parms_idx
    functionSourceFile: /src/libgcrypt/cipher/ecc-curves.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int find_domain_parms_idx (const char *name)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: find_domain_parms_idx
      Src: /src/libgcrypt/cipher/ecc-curves.c:642,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/ecc-curves.c:660,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/ecc-curves.c:662,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/ecc-curves.c:665,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-curves.c:687,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-curves.c:690,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/cipher/ecc-curves.c:693,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/cipher/ecc-curves.c:694,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-curves.c:702,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/cipher/ecc-curves.c:705,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/cipher/ecc-curves.c:706,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-curves.c:713,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-curves.c:715,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-curves.c:717,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:726,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/ecc-curves.c:727,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/cipher/ecc-curves.c:730,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 4
    argNames:
    - nbits
    - name
    - curve
    - r_nbits
    argTypes:
    - unsigned int
    - char*
    - elliptic_curve_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 736
    functionName: _gcry_ecc_fill_in_curve
    functionSourceFile: /src/libgcrypt/cipher/ecc-curves.c
    functionUses: 1
    functionsReached:
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - mpi_resize
    - _gcry_mpih_sub_n
    - mpi_alloc_set_ui
    - fips_mode
    - find_domain_parms_idx
    - strcmp
    - scanval
    - mpi_sub
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_fill_in_curve (unsigned int nbits, const
      char *name,\n                         elliptic_curve_t *curve, unsigned int
      *r_nbits)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: find_domain_parms_idx
      Src: /src/libgcrypt/cipher/ecc-curves.c:752,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/ecc-curves.c:762,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/ecc-curves.c:763,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/ecc-curves.c:765,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-curves.c:767,1
    - Dst: strcpy
      Src: /src/libgcrypt/cipher/ecc-curves.c:768,1
    - Dst: stpcpy
      Src: /src/libgcrypt/cipher/ecc-curves.c:768,1
    - Dst: stpcpy
      Src: /src/libgcrypt/cipher/ecc-curves.c:768,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:770,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-curves.c:771,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-curves.c:772,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:780,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-curves.c:781,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:785,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-curves.c:786,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:790,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-curves.c:791,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:795,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-curves.c:796,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 8
    argNames:
    - name
    - model
    - dialect
    - p
    - a
    - b
    - g
    - n
    argTypes:
    - char*
    - enum gcry_mpi_ec_models*
    - enum ecc_dialects*
    - gcry_mpi_t*
    - gcry_mpi_t*
    - gcry_mpi_t*
    - gcry_mpi_t*
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 799
    functionName: _gcry_ecc_update_curve_param
    functionSourceFile: /src/libgcrypt/cipher/ecc-curves.c
    functionUses: 1
    functionsReached:
    - gpg_err_code_from_syserror
    - strlen
    - _gcry_mpi_release
    - find_domain_parms_idx
    - strcpy
    - xfree
    - scanval
    - stpcpy
    - xtrymalloc
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_update_curve_param (const char *name,\n                              enum
      gcry_mpi_ec_models *model,\n                              enum ecc_dialects
      *dialect,\n                              gcry_mpi_t *p, gcry_mpi_t *a, gcry_mpi_t
      *b,\n                              gcry_mpi_t *g, gcry_mpi_t *n)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/ecc-curves.c:813,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/ecc-curves.c:821,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/cipher/ecc-curves.c:834,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/ecc-curves.c:834,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/ecc-curves.c:843,1
    - Dst: sexp_nth_string
      Src: /src/libgcrypt/cipher/ecc-curves.c:847,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:848,1
    - Dst: find_domain_parms_idx
      Src: /src/libgcrypt/cipher/ecc-curves.c:852,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-curves.c:853,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/ecc-curves.c:861,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/ecc-curves.c:863,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/ecc-curves.c:866,1
    - Dst: point_from_keyparam
      Src: /src/libgcrypt/cipher/ecc-curves.c:875,1
    - Dst: _gcry_mpi_point_init
      Src: /src/libgcrypt/cipher/ecc-curves.c:879,1
    - Dst: _gcry_mpi_point_set
      Src: /src/libgcrypt/cipher/ecc-curves.c:880,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:884,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-curves.c:885,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:886,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:889,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-curves.c:890,1
    - Dst: mpi_cmpabs
      Src: /src/libgcrypt/cipher/ecc-curves.c:893,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/cipher/ecc-curves.c:899,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/cipher/ecc-curves.c:900,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:904,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:908,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:911,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-curves.c:912,1
    - Dst: mpi_cmpabs
      Src: /src/libgcrypt/cipher/ecc-curves.c:915,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/cipher/ecc-curves.c:920,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/cipher/ecc-curves.c:921,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:925,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:929,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:932,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-curves.c:933,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:934,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:937,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-curves.c:938,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:939,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:942,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-curves.c:943,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:944,1
    - Dst: _gcry_mpi_point_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:954,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:955,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:956,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:957,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:958,1
    - Dst: _gcry_mpi_point_free_parts
      Src: /src/libgcrypt/cipher/ecc-curves.c:959,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:960,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 109
    argCount: 3
    argNames:
    - keyparms
    - iterator
    - r_nbits
    argTypes:
    - gcry_sexp_t
    - int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 962
    functionName: _gcry_ecc_get_curve
    functionSourceFile: /src/libgcrypt/cipher/ecc-curves.c
    functionUses: 0
    functionsReached:
    - fips_check_rejection
    - mpi_free
    - sexp_release
    - _gcry_mpih_sub_n
    - _gcry_mpi_point_release
    - find_domain_parms_idx
    - sexp_find_token
    - point_from_keyparam
    - fips_service_indicator_mark_non_compliant
    - mpi_cmp
    - DIM
    - mpi_resize
    - fips_mode
    - _gcry_mpi_point_init
    - memset
    - xfree
    - scanval
    - _gcry_mpi_point_set
    - sexp_nth_string
    - _gcry_mpi_point_free_parts
    - _gcry_mpi_release
    - mpi_cmpabs
    - gpg_err_code
    - sexp_extract_param
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_ecc_get_curve (gcry_sexp_t keyparms, int iterator, unsigned int *r_nbits)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/ecc-curves.c:973,1
    - Dst: sexp_nth_mpi
      Src: /src/libgcrypt/cipher/ecc-curves.c:976,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - r_a
    - keyparam
    - name
    - opaque
    argTypes:
    - gcry_mpi_t*
    - gcry_sexp_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 982
    functionName: mpi_from_keyparam
    functionSourceFile: /src/libgcrypt/cipher/ecc-curves.c
    functionUses: 0
    functionsReached:
    - sexp_find_token
    - sexp_nth_mpi
    - sexp_release
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t mpi_from_keyparam (gcry_mpi_t *r_a, gcry_sexp_t keyparam,
      const char *name,\n                   int opaque)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/ecc-curves.c:997,1
    - Dst: sexp_nth_mpi
      Src: /src/libgcrypt/cipher/ecc-curves.c:1002,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:1003,1
    - Dst: mpi_point_new
      Src: /src/libgcrypt/cipher/ecc-curves.c:1011,1
    - Dst: _gcry_mpi_ec_decode_point
      Src: /src/libgcrypt/cipher/ecc-curves.c:1012,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:1013,1
    - Dst: mpi_point_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:1016,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/ecc-curves.c:1027,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/ecc-curves.c:1027,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-curves.c:1029,1
    - Dst: strcpy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1030,1
    - Dst: stpcpy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1030,1
    - Dst: mpi_from_keyparam
      Src: /src/libgcrypt/cipher/ecc-curves.c:1031,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-curves.c:1034,1
    - Dst: strcpy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1037,1
    - Dst: stpcpy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1037,1
    - Dst: mpi_from_keyparam
      Src: /src/libgcrypt/cipher/ecc-curves.c:1038,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:1041,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-curves.c:1042,1
    - Dst: strcpy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1045,1
    - Dst: stpcpy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1045,1
    - Dst: mpi_from_keyparam
      Src: /src/libgcrypt/cipher/ecc-curves.c:1046,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:1049,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:1050,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-curves.c:1051,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/ecc-curves.c:1055,1
    - Dst: mpi_point_snatch_set
      Src: /src/libgcrypt/cipher/ecc-curves.c:1057,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:1060,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:1061,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:1062,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-curves.c:1065,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 4
    argNames:
    - r_a
    - keyparam
    - name
    - ec
    argTypes:
    - gcry_mpi_point_t*
    - gcry_sexp_t
    - char*
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 989
    functionDepth: 2
    functionLinenumber: 989
    functionLinenumberEnd: 1071
    functionName: point_from_keyparam
    functionSourceFile: /src/libgcrypt/cipher/ecc-curves.c
    functionUses: 1
    functionsReached:
    - mpi_free
    - gpg_err_code_from_syserror
    - strlen
    - mpi_from_keyparam
    - _gcry_mpi_ec_decode_point
    - sexp_release
    - mpi_point_release
    - sexp_nth_mpi
    - sexp_find_token
    - strcpy
    - xfree
    - mpi_point_snatch_set
    - mpi_set_ui
    - stpcpy
    - xtrymalloc
    - mpi_point_new
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t point_from_keyparam (gcry_mpi_point_t *r_a,\n                     gcry_sexp_t
      keyparam, const char *name, mpi_ec_t ec)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_pk_util_get_nbits
      Src: /src/libgcrypt/cipher/ecc-curves.c:1083,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/ecc-curves.c:1094,1
    - Dst: _gcry_pk_util_parse_flaglist
      Src: /src/libgcrypt/cipher/ecc-curves.c:1099,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:1100,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/ecc-curves.c:1109,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:1113,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/ecc-curves.c:1117,1
    - Dst: mpi_from_keyparam
      Src: /src/libgcrypt/cipher/ecc-curves.c:1126,1
    - Dst: mpi_from_keyparam
      Src: /src/libgcrypt/cipher/ecc-curves.c:1129,1
    - Dst: mpi_from_keyparam
      Src: /src/libgcrypt/cipher/ecc-curves.c:1132,1
    - Dst: point_from_keyparam
      Src: /src/libgcrypt/cipher/ecc-curves.c:1135,1
    - Dst: _gcry_mpi_point_init
      Src: /src/libgcrypt/cipher/ecc-curves.c:1140,1
    - Dst: mpi_point_set
      Src: /src/libgcrypt/cipher/ecc-curves.c:1141,1
    - Dst: mpi_point_set
      Src: /src/libgcrypt/cipher/ecc-curves.c:1142,1
    - Dst: mpi_point_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:1143,1
    - Dst: mpi_from_keyparam
      Src: /src/libgcrypt/cipher/ecc-curves.c:1145,1
    - Dst: mpi_from_keyparam
      Src: /src/libgcrypt/cipher/ecc-curves.c:1148,1
    - Dst: mpi_get_ui
      Src: /src/libgcrypt/cipher/ecc-curves.c:1153,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:1154,1
    - Dst: sexp_nth_string
      Src: /src/libgcrypt/cipher/ecc-curves.c:1171,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:1172,1
    - Dst: _gcry_ecc_fill_in_curve
      Src: /src/libgcrypt/cipher/ecc-curves.c:1182,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-curves.c:1183,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 82
    argCount: 4
    argNames:
    - E
    - r_flags
    - keyparam
    - curvename
    argTypes:
    - elliptic_curve_t*
    - int*
    - gcry_sexp_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1075
    functionDepth: 3
    functionLinenumber: 1075
    functionLinenumberEnd: 1190
    functionName: mpi_ec_get_elliptic_curve
    functionSourceFile: /src/libgcrypt/cipher/ecc-curves.c
    functionUses: 0
    functionsReached:
    - mpi_point_set
    - _gcry_ecc_fill_in_curve
    - mpi_free
    - mpi_from_keyparam
    - sexp_release
    - mpi_point_release
    - sexp_find_token
    - _gcry_mpi_point_init
    - mpi_get_ui
    - xfree
    - point_from_keyparam
    - sexp_nth_string
    - _gcry_pk_util_parse_flaglist
    - _gcry_pk_util_get_nbits
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t mpi_ec_get_elliptic_curve (elliptic_curve_t *E, int
      *r_flags,\n                           gcry_sexp_t keyparam, const char *curvename)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mpi_point_snatch_set
      Src: /src/libgcrypt/cipher/ecc-curves.c:1198,1
    - Dst: point_from_keyparam
      Src: /src/libgcrypt/cipher/ecc-curves.c:1218,1
    - Dst: mpi_from_keyparam
      Src: /src/libgcrypt/cipher/ecc-curves.c:1221,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/ecc-curves.c:1226,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/ecc-curves.c:1251,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/cipher/ecc-curves.c:1255,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-curves.c:1257,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/ecc-curves.c:1262,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1263,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1267,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-curves.c:1270,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/ecc-curves.c:1274,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc-curves.c:1279,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 4
    argNames:
    - ec
    - flags
    - E
    - keyparam
    argTypes:
    - mpi_ec_t
    - int
    - elliptic_curve_t*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1192
    functionDepth: 3
    functionLinenumber: 1192
    functionLinenumberEnd: 1289
    functionName: mpi_ec_setup_elliptic_curve
    functionSourceFile: /src/libgcrypt/cipher/ecc-curves.c
    functionUses: 0
    functionsReached:
    - gpg_err_code_from_syserror
    - mpi_from_keyparam
    - mpi_set_opaque
    - xtrymalloc_secure
    - memset
    - mpi_point_snatch_set
    - xfree
    - point_from_keyparam
    - mpi_get_opaque
    - memcpy
    - log_debug
    - mpi_get_nbits
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t mpi_ec_setup_elliptic_curve (mpi_ec_t ec, int flags,\n
      \                            elliptic_curve_t *E, gcry_sexp_t keyparam)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/ecc-curves.c:1301,1
    - Dst: mpi_ec_get_elliptic_curve
      Src: /src/libgcrypt/cipher/ecc-curves.c:1302,1
    - Dst: _gcry_mpi_ec_p_internal_new
      Src: /src/libgcrypt/cipher/ecc-curves.c:1306,1
    - Dst: mpi_ec_setup_elliptic_curve
      Src: /src/libgcrypt/cipher/ecc-curves.c:1311,1
    - Dst: _gcry_mpi_ec_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:1314,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/ecc-curves.c:1326,1
    - Dst: sexp_nth_mpi
      Src: /src/libgcrypt/cipher/ecc-curves.c:1329,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:1330,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc-curves.c:1333,1
    - Dst: _gcry_ecc_model2str
      Src: /src/libgcrypt/cipher/ecc-curves.c:1334,1
    - Dst: _gcry_ecc_dialect2str
      Src: /src/libgcrypt/cipher/ecc-curves.c:1335,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc-curves.c:1338,1
    - Dst: snprintf
      Src: /src/libgcrypt/cipher/ecc-curves.c:1339,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/ecc-curves.c:1340,1
    - Dst: snprintf
      Src: /src/libgcrypt/cipher/ecc-curves.c:1341,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/ecc-curves.c:1342,1
    - Dst: snprintf
      Src: /src/libgcrypt/cipher/ecc-curves.c:1343,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/ecc-curves.c:1344,1
    - Dst: snprintf
      Src: /src/libgcrypt/cipher/ecc-curves.c:1345,1
    - Dst: log_printpnt
      Src: /src/libgcrypt/cipher/ecc-curves.c:1346,1
    - Dst: snprintf
      Src: /src/libgcrypt/cipher/ecc-curves.c:1347,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/ecc-curves.c:1348,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc-curves.c:1349,1
    - Dst: snprintf
      Src: /src/libgcrypt/cipher/ecc-curves.c:1352,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/ecc-curves.c:1353,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:1354,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/ecc-curves.c:1356,1
    - Dst: snprintf
      Src: /src/libgcrypt/cipher/ecc-curves.c:1358,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/ecc-curves.c:1359,1
    - Dst: _gcry_ecc_curve_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:1364,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 5
    argNames:
    - r_ec
    - r_flags
    - name_op
    - keyparam
    - curvename
    argTypes:
    - mpi_ec_t*
    - int*
    - char*
    - gcry_sexp_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1291
    functionDepth: 4
    functionLinenumber: 1291
    functionLinenumberEnd: 1366
    functionName: _gcry_mpi_ec_internal_new
    functionSourceFile: /src/libgcrypt/cipher/ecc-curves.c
    functionUses: 8
    functionsReached:
    - _gcry_mpi_ec_p_internal_new
    - _gcry_mpi_ec_free
    - log_printpnt
    - mpi_free
    - _gcry_ecc_curve_free
    - snprintf
    - sexp_release
    - sexp_nth_mpi
    - fips_mode
    - mpi_ec_get_elliptic_curve
    - sexp_find_token
    - _gcry_ecc_dialect2str
    - memset
    - _gcry_ecc_model2str
    - log_printmpi
    - mpi_ec_setup_elliptic_curve
    - log_debug
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_mpi_ec_internal_new (mpi_ec_t *r_ec, int *r_flags,
      const char *name_op,\n                           gcry_sexp_t keyparam, const
      char *curvename)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/ecc-curves.c:1387,1
    - Dst: mpi_ec_get_elliptic_curve
      Src: /src/libgcrypt/cipher/ecc-curves.c:1388,1
    - Dst: _gcry_mpi_ec_p_new
      Src: /src/libgcrypt/cipher/ecc-curves.c:1392,1
    - Dst: _gcry_ctx_get_pointer
      Src: /src/libgcrypt/cipher/ecc-curves.c:1396,1
    - Dst: mpi_ec_setup_elliptic_curve
      Src: /src/libgcrypt/cipher/ecc-curves.c:1397,1
    - Dst: _gcry_ecc_curve_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:1405,1
    - Dst: _gcry_ctx_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:1406,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - r_ctx
    - keyparam
    - curvename
    argTypes:
    - gcry_ctx_t*
    - gcry_sexp_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1375
    functionDepth: 4
    functionLinenumber: 1375
    functionLinenumberEnd: 1408
    functionName: _gcry_mpi_ec_new
    functionSourceFile: /src/libgcrypt/cipher/ecc-curves.c
    functionUses: 1
    functionsReached:
    - _gcry_ecc_curve_free
    - _gcry_mpi_ec_p_new
    - _gcry_ctx_get_pointer
    - mpi_ec_get_elliptic_curve
    - memset
    - mpi_ec_setup_elliptic_curve
    - _gcry_ctx_release
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_mpi_ec_new (gcry_ctx_t *r_ctx,\n                  gcry_sexp_t
      keyparam, const char *curvename)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/ecc-curves.c:1419,1
    - Dst: _gcry_ecc_fill_in_curve
      Src: /src/libgcrypt/cipher/ecc-curves.c:1420,1
    - Dst: _gcry_ecc_ec2os
      Src: /src/libgcrypt/cipher/ecc-curves.c:1426,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/ecc-curves.c:1429,1
    - Dst: _gcry_ecc_curve_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:1434,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:1435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1412
    functionDepth: 4
    functionLinenumber: 1412
    functionLinenumberEnd: 1438
    functionName: _gcry_ecc_get_param_sexp
    functionSourceFile: /src/libgcrypt/cipher/ecc-curves.c
    functionUses: 0
    functionsReached:
    - _gcry_ecc_ec2os
    - _gcry_ecc_curve_free
    - _gcry_mpi_release
    - sexp_build
    - memset
    - _gcry_ecc_fill_in_curve
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t _gcry_ecc_get_param_sexp (const char *name)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1450,1
    - Dst: mpi_is_const
      Src: /src/libgcrypt/cipher/ecc-curves.c:1451,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1451,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1452,1
    - Dst: mpi_is_const
      Src: /src/libgcrypt/cipher/ecc-curves.c:1453,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1453,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1454,1
    - Dst: mpi_is_const
      Src: /src/libgcrypt/cipher/ecc-curves.c:1455,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1455,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1456,1
    - Dst: mpi_is_const
      Src: /src/libgcrypt/cipher/ecc-curves.c:1457,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1457,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1458,1
    - Dst: _gcry_mpi_get_const
      Src: /src/libgcrypt/cipher/ecc-curves.c:1460,1
    - Dst: mpi_set
      Src: /src/libgcrypt/cipher/ecc-curves.c:1462,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1464,1
    - Dst: mpi_is_const
      Src: /src/libgcrypt/cipher/ecc-curves.c:1465,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1465,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1468,1
    - Dst: mpi_is_const
      Src: /src/libgcrypt/cipher/ecc-curves.c:1469,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1469,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1470,1
    - Dst: mpi_is_const
      Src: /src/libgcrypt/cipher/ecc-curves.c:1471,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1471,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1472,1
    - Dst: mpi_is_const
      Src: /src/libgcrypt/cipher/ecc-curves.c:1473,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1473,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1474,1
    - Dst: mpi_is_const
      Src: /src/libgcrypt/cipher/ecc-curves.c:1475,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1475,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1479,1
    - Dst: _gcry_mpi_ec_ec2os
      Src: /src/libgcrypt/cipher/ecc-curves.c:1480,1
    - Dst: _gcry_ecc_compute_public
      Src: /src/libgcrypt/cipher/ecc-curves.c:1489,1
    - Dst: _gcry_mpi_ec_ec2os
      Src: /src/libgcrypt/cipher/ecc-curves.c:1495,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1497,1
    - Dst: _gcry_ecc_eddsa_encodepoint
      Src: /src/libgcrypt/cipher/ecc-curves.c:1502,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/ecc-curves.c:1504,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 39
    argCount: 3
    argNames:
    - name
    - ec
    - copy
    argTypes:
    - char*
    - mpi_ec_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1444
    functionDepth: 5
    functionLinenumber: 1444
    functionLinenumberEnd: 1509
    functionName: _gcry_ecc_get_mpi
    functionSourceFile: /src/libgcrypt/cipher/ecc-curves.c
    functionUses: 0
    functionsReached:
    - _gcry_ecc_compute_public
    - mpi_set
    - mpi_set_opaque
    - _gcry_mpi_ec_ec2os
    - _gcry_mpi_get_const
    - _gcry_ecc_eddsa_encodepoint
    - strcmp
    - mpi_is_const
    - mpi_copy
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_ecc_get_mpi (const char *name, mpi_ec_t ec, int copy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1516,1
    - Dst: point_copy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1517,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1518,1
    - Dst: _gcry_ecc_compute_public
      Src: /src/libgcrypt/cipher/ecc-curves.c:1522,1
    - Dst: point_copy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1525,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - name
    - ec
    argTypes:
    - char*
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1513
    functionDepth: 2
    functionLinenumber: 1513
    functionLinenumberEnd: 1529
    functionName: _gcry_ecc_get_point
    functionSourceFile: /src/libgcrypt/cipher/ecc-curves.c
    functionUses: 0
    functionsReached:
    - strcmp
    - _gcry_ecc_compute_public
    - point_copy
    linkageType: ''
    returnType: gcry_mpi_point_t
    signature: gcry_mpi_point_t _gcry_ecc_get_point (const char *name, mpi_ec_t ec)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1540,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:1542,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1543,1
    - Dst: _gcry_mpi_ec_get_reset
      Src: /src/libgcrypt/cipher/ecc-curves.c:1544,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1546,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:1548,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1549,1
    - Dst: _gcry_mpi_ec_get_reset
      Src: /src/libgcrypt/cipher/ecc-curves.c:1550,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1552,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:1554,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1555,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1557,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:1559,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1560,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1562,1
    - Dst: mpi_get_ui
      Src: /src/libgcrypt/cipher/ecc-curves.c:1564,1
    - Dst: mpi_point_new
      Src: /src/libgcrypt/cipher/ecc-curves.c:1571,1
    - Dst: _gcry_mpi_ec_decode_point
      Src: /src/libgcrypt/cipher/ecc-curves.c:1572,1
    - Dst: _gcry_mpi_point_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:1576,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1581,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-curves.c:1583,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1584,1
    - Dst: _gcry_mpi_point_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:1589,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - name
    - newvalue
    - ec
    argTypes:
    - char*
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1533
    functionDepth: 1
    functionLinenumber: 1533
    functionLinenumberEnd: 1597
    functionName: _gcry_ecc_set_mpi
    functionSourceFile: /src/libgcrypt/cipher/ecc-curves.c
    functionUses: 0
    functionsReached:
    - mpi_free
    - _gcry_mpi_ec_decode_point
    - _gcry_mpi_ec_get_reset
    - _gcry_mpi_point_release
    - strcmp
    - mpi_get_ui
    - mpi_copy
    - mpi_point_new
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_ecc_set_mpi (const char *name, gcry_mpi_t newvalue,
      mpi_ec_t ec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1604,1
    - Dst: _gcry_mpi_point_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:1606,1
    - Dst: point_copy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1607,1
    - Dst: strcmp
      Src: /src/libgcrypt/cipher/ecc-curves.c:1609,1
    - Dst: _gcry_mpi_point_release
      Src: /src/libgcrypt/cipher/ecc-curves.c:1611,1
    - Dst: point_copy
      Src: /src/libgcrypt/cipher/ecc-curves.c:1612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - newvalue
    - ec
    argTypes:
    - char*
    - gcry_mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1618
    functionName: _gcry_ecc_set_point
    functionSourceFile: /src/libgcrypt/cipher/ecc-curves.c
    functionUses: 0
    functionsReached:
    - strcmp
    - _gcry_mpi_point_release
    - point_copy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_ecc_set_point (const char *name, gcry_mpi_point_t
      newvalue, mpi_ec_t ec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_hd_t::bulk::cbc_enc
      Src: /src/libgcrypt/cipher/cipher-cbc.c:47,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-cbc.c:59,1
    - Dst: enc_fn
      Src: /src/libgcrypt/cipher/cipher-cbc.c:60,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cipher-cbc.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - c
    - outbuf
    - inbuf
    - nblocks
    - blocksize
    - is_cbc_cmac
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - unsigned char*
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 73
    functionName: cbc_encrypt_inner
    functionSourceFile: /src/libgcrypt/cipher/cipher-cbc.c
    functionUses: 0
    functionsReached:
    - cipher_block_cpy
    - gcry_cipher_hd_t::bulk::cbc_enc
    - cipher_block_xor
    - enc_fn
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int cbc_encrypt_inner(gcry_cipher_hd_t c, unsigned char *outbuf,\n
      \                 const unsigned char *inbuf, size_t nblocks, size_t blocksize,\n
      \                 int is_cbc_cmac)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blocksize_shift
      Src: /src/libgcrypt/cipher/cipher-cbc.c:81,1
    - Dst: cbc_encrypt_inner
      Src: /src/libgcrypt/cipher/cipher-cbc.c:94,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-cbc.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 100
    functionName: _gcry_cipher_cbc_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-cbc.c
    functionUses: 0
    functionsReached:
    - _gcry_blocksize_shift
    - _gcry_burn_stack
    - cbc_encrypt_inner
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_cbc_encrypt (gcry_cipher_hd_t c,\n                          unsigned
      char *outbuf, size_t outbuflen,\n                          const unsigned char
      *inbuf, size_t inbuflen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blocksize_shift
      Src: /src/libgcrypt/cipher/cipher-cbc.c:108,1
    - Dst: cbc_encrypt_inner
      Src: /src/libgcrypt/cipher/cipher-cbc.c:131,1
    - Dst: enc_fn
      Src: /src/libgcrypt/cipher/cipher-cbc.c:157,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cipher-cbc.c:159,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-cbc.c:163,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 166
    functionName: _gcry_cipher_cbc_cts_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-cbc.c
    functionUses: 0
    functionsReached:
    - cbc_encrypt_inner
    - _gcry_burn_stack
    - _gcry_blocksize_shift
    - enc_fn
    - cipher_block_cpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_cbc_cts_encrypt (gcry_cipher_hd_t c,\n
      \                             unsigned char *outbuf, size_t outbuflen,\n                              const
      unsigned char *inbuf, size_t inbuflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_hd_t::bulk::cbc_dec
      Src: /src/libgcrypt/cipher/cipher-cbc.c:180,1
    - Dst: dec_fn
      Src: /src/libgcrypt/cipher/cipher-cbc.c:191,1
    - Dst: cipher_block_xor_n_copy_2
      Src: /src/libgcrypt/cipher/cipher-cbc.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - c
    - outbuf
    - inbuf
    - nblocks
    - blocksize
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 201
    functionName: cbc_decrypt_inner
    functionSourceFile: /src/libgcrypt/cipher/cipher-cbc.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_hd_t::bulk::cbc_dec
    - cipher_block_xor_n_copy_2
    - dec_fn
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int cbc_decrypt_inner(gcry_cipher_hd_t c, unsigned char *outbuf,\n
      \                 const unsigned char *inbuf, size_t nblocks, size_t blocksize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blocksize_shift
      Src: /src/libgcrypt/cipher/cipher-cbc.c:209,1
    - Dst: cbc_decrypt_inner
      Src: /src/libgcrypt/cipher/cipher-cbc.c:221,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-cbc.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 227
    functionName: _gcry_cipher_cbc_decrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-cbc.c
    functionUses: 0
    functionsReached:
    - _gcry_blocksize_shift
    - _gcry_burn_stack
    - cbc_decrypt_inner
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_cbc_decrypt (gcry_cipher_hd_t c,\n                          unsigned
      char *outbuf, size_t outbuflen,\n                          const unsigned char
      *inbuf, size_t inbuflen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blocksize_shift
      Src: /src/libgcrypt/cipher/cipher-cbc.c:235,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cipher-cbc.c:256,1
    - Dst: cbc_decrypt_inner
      Src: /src/libgcrypt/cipher/cipher-cbc.c:259,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/cipher-cbc.c:272,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-cbc.c:273,1
    - Dst: dec_fn
      Src: /src/libgcrypt/cipher/cipher-cbc.c:275,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/cipher-cbc.c:277,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-cbc.c:279,1
    - Dst: dec_fn
      Src: /src/libgcrypt/cipher/cipher-cbc.c:282,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/cipher-cbc.c:284,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/cipher-cbc.c:289,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 230
    functionDepth: 3
    functionLinenumber: 230
    functionLinenumberEnd: 292
    functionName: _gcry_cipher_cbc_cts_decrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-cbc.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor
    - dec_fn
    - buf_xor
    - _gcry_burn_stack
    - buf_cpy
    - cbc_decrypt_inner
    - _gcry_blocksize_shift
    - cipher_block_cpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_cbc_cts_decrypt (gcry_cipher_hd_t c,\n
      \                             unsigned char *outbuf, size_t outbuflen,\n                              const
      unsigned char *inbuf, size_t inbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: map_algo
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int map_algo (int algo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: map_algo
      Src: /src/libgcrypt/cipher/md.c:313,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/md.c:315,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/md.c:317,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/md.c:321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 324
    functionName: spec_from_algo
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 13
    functionsReached:
    - DIM
    - map_algo
    - gcry_assert
    linkageType: ''
    returnType: gcry_md_spec_t
    signature: 'gcry_md_spec_t *

      spec_from_algo (int algo)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/libgcrypt/cipher/md.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 341
    functionName: spec_from_name
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 2
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: gcry_md_spec_t
    signature: 'gcry_md_spec_t *

      spec_from_name (const char *name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/libgcrypt/cipher/md.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 364
    functionName: spec_from_oid
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 1
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: gcry_md_spec_t
    signature: 'gcry_md_spec_t *

      spec_from_oid (const char *oid)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libgcrypt/cipher/md.c:376,1
    - Dst: strncmp
      Src: /src/libgcrypt/cipher/md.c:376,1
    - Dst: spec_from_oid
      Src: /src/libgcrypt/cipher/md.c:379,1
    - Dst: stricmp
      Src: /src/libgcrypt/cipher/md.c:383,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - oid
    - oid_spec
    argTypes:
    - char*
    - gcry_md_oid_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 392
    functionName: search_oid
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 2
    functionsReached:
    - stricmp
    - strncmp
    - spec_from_oid
    linkageType: ''
    returnType: gcry_md_spec_t
    signature: 'gcry_md_spec_t *

      search_oid (const char *oid, gcry_md_oid_spec_t *oid_spec)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: search_oid
      Src: /src/libgcrypt/cipher/md.c:409,1
    - Dst: spec_from_name
      Src: /src/libgcrypt/cipher/md.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 419
    functionName: _gcry_md_map_name
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 2
    functionsReached:
    - search_oid
    - spec_from_name
    linkageType: ''
    returnType: int
    signature: int _gcry_md_map_name (const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/md.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 435
    functionName: _gcry_md_algo_name
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 2
    functionsReached:
    - spec_from_algo
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_md_algo_name (int algorithm)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/md.c:446,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/md.c:453,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/md.c:455,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/md.c:457,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/md.c:462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - algo
    - spec
    argTypes:
    - int
    - gcry_md_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 464
    functionName: check_digest_algo_spec
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 0
    functionsReached:
    - fips_check_rejection
    - fips_mode
    - fips_service_indicator_mark_non_compliant
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t check_digest_algo_spec (int algo, const gcry_md_spec_t
      *spec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/md.c:469,1
    - Dst: check_digest_algo_spec
      Src: /src/libgcrypt/cipher/md.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 475
    functionName: check_digest_algo
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 0
    functionsReached:
    - spec_from_algo
    - check_digest_algo_spec
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t check_digest_algo (int algo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/cipher/md.c:513,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/md.c:515,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/md.c:518,1
    - Dst: wipememory2
      Src: /src/libgcrypt/cipher/md.c:531,1
    - Dst: _gcry_fast_random_poll
      Src: /src/libgcrypt/cipher/md.c:543,1
    - Dst: md_enable
      Src: /src/libgcrypt/cipher/md.c:547,1
    - Dst: md_close
      Src: /src/libgcrypt/cipher/md.c:549,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - h
    - algo
    - flags
    - fast_rnd_poll
    argTypes:
    - gcry_md_hd_t*
    - int
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 557
    functionName: md_open
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 55
    functionsReached:
    - _gcry_fast_random_poll
    - xtrymalloc_secure
    - md_close
    - md_enable
    - xtrymalloc
    - wipememory2
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t md_open (gcry_md_hd_t *h, int algo, unsigned int flags,
      int fast_rnd_poll)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: md_open
      Src: /src/libgcrypt/cipher/md.c:572,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/md.c:574,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/md.c:592,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/md.c:594,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/md.c:596,1
    - Dst: md_close
      Src: /src/libgcrypt/cipher/md.c:600,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/md.c:605,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - h
    - algo
    - flags
    - fast_rnd_poll
    argTypes:
    - gcry_md_hd_t*
    - int
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 611
    functionName: _gcry_md_open_internal
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 20
    functionsReached:
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - fips_mode
    - md_open
    - md_close
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_md_open_internal (gcry_md_hd_t *h, int algo,
      unsigned int flags,\n                        int fast_rnd_poll)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/md.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h
    - algo
    - flags
    argTypes:
    - gcry_md_hd_t*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 3
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: _gcry_md_open
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 1
    functionsReached:
    - _gcry_md_open_internal
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_md_open (gcry_md_hd_t *h, int algo, unsigned
      int flags)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/md.c:641,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/md.c:643,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/md.c:645,1
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/md.c:647,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/md.c:650,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/md.c:658,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/cipher/md.c:675,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/md.c:677,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/md.c:680,1
    - Dst: GcryDigestEntry*::spec::init
      Src: /src/libgcrypt/cipher/md.c:689,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 2
    argNames:
    - hd
    - algorithm
    argTypes:
    - gcry_md_hd_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 695
    functionName: md_enable
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 12
    functionsReached:
    - spec_from_algo
    - fips_check_rejection
    - gpg_err_code_from_errno
    - fips_mode
    - xtrymalloc_secure
    - GcryDigestEntry*::spec::init
    - xtrymalloc
    - log_debug
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t md_enable (gcry_md_hd_t hd, int algorithm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: md_enable
      Src: /src/libgcrypt/cipher/md.c:703,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/md.c:704,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/md.c:721,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/md.c:723,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/md.c:725,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/md.c:730,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - hd
    - algorithm
    argTypes:
    - gcry_md_hd_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 735
    functionName: _gcry_md_enable
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 1
    functionsReached:
    - fips_mode
    - fips_check_rejection
    - md_enable
    - fips_service_indicator_mark_non_compliant
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_md_enable (gcry_md_hd_t hd, int algorithm)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: md_write
      Src: /src/libgcrypt/cipher/md.c:751,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/cipher/md.c:755,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/md.c:757,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/md.c:761,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/md.c:767,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/md.c:770,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/md.c:771,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/cipher/md.c:785,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/md.c:787,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/md.c:790,1
    - Dst: md_close
      Src: /src/libgcrypt/cipher/md.c:791,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/md.c:800,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/md.c:802,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/md.c:804,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/md.c:807,1
    - Dst: md_start_debug
      Src: /src/libgcrypt/cipher/md.c:813,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/md.c:815,1
    - Dst: md_close
      Src: /src/libgcrypt/cipher/md.c:820,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/md.c:823,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 2
    argNames:
    - ahd
    - b_hd
    argTypes:
    - gcry_md_hd_t
    - gcry_md_hd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 831
    functionName: md_copy
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 6
    functionsReached:
    - md_write
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - gpg_err_code_from_syserror
    - gcry_assert
    - xtrymalloc_secure
    - fips_mode
    - md_start_debug
    - memcpy
    - md_close
    - xtrymalloc
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t md_copy (gcry_md_hd_t ahd, gcry_md_hd_t *b_hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_copy
      Src: /src/libgcrypt/cipher/md.c:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - hd
    argTypes:
    - gcry_md_hd_t*
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 843
    functionName: _gcry_md_copy
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 1
    functionsReached:
    - md_copy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_md_copy (gcry_md_hd_t *handle, gcry_md_hd_t hd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/md.c:862,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/md.c:868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 872
    functionName: _gcry_md_reset
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 13
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: void _gcry_md_reset (gcry_md_hd_t a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_stop_debug
      Src: /src/libgcrypt/cipher/md.c:883,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/md.c:887,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/md.c:888,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/md.c:891,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/md.c:892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 893
    functionName: md_close
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 80
    functionsReached:
    - wipememory
    - md_stop_debug
    - xfree
    linkageType: ''
    returnType: void
    signature: void md_close (gcry_md_hd_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_close
      Src: /src/libgcrypt/cipher/md.c:900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 896
    functionDepth: 2
    functionLinenumber: 896
    functionLinenumberEnd: 901
    functionName: _gcry_md_close
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 21
    functionsReached:
    - md_close
    linkageType: ''
    returnType: void
    signature: void _gcry_md_close (gcry_md_hd_t hd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libgcrypt/cipher/md.c:911,1
    - Dst: BUG
      Src: /src/libgcrypt/cipher/md.c:912,1
    - Dst: fwrite
      Src: /src/libgcrypt/cipher/md.c:913,1
    - Dst: BUG
      Src: /src/libgcrypt/cipher/md.c:914,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - a
    - inbuf
    - inlen
    argTypes:
    - gcry_md_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 924
    functionName: md_write
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 69
    functionsReached:
    - fwrite
    - BUG
    linkageType: ''
    returnType: void
    signature: void md_write (gcry_md_hd_t a, const void *inbuf, size_t inlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_write
      Src: /src/libgcrypt/cipher/md.c:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hd
    - inbuf
    - inlen
    argTypes:
    - gcry_md_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 934
    functionName: _gcry_md_write
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 23
    functionsReached:
    - md_write
    linkageType: ''
    returnType: void
    signature: void _gcry_md_write (gcry_md_hd_t hd, const void *inbuf, size_t inlen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: md_write
      Src: /src/libgcrypt/cipher/md.c:946,1
    - Dst: GcryDigestEntry*::spec::read
      Src: /src/libgcrypt/cipher/md.c:966,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/cipher/md.c:969,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/md.c:971,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/md.c:974,1
    - Dst: _gcry_fatal_error
      Src: /src/libgcrypt/cipher/md.c:975,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/md.c:978,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/md.c:979,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/md.c:983,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 937
    functionDepth: 2
    functionLinenumber: 937
    functionLinenumberEnd: 985
    functionName: md_final
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 28
    functionsReached:
    - md_write
    - xtrymalloc_secure
    - GcryDigestEntry*::spec::read
    - _gcry_fatal_error
    - xfree
    - memcpy
    - xtrymalloc
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: void
    signature: void md_final (gcry_md_hd_t a)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/md.c:1016,1
    - Dst: _gcry_blake2_init_with_key
      Src: /src/libgcrypt/cipher/md.c:1017,1
    - Dst: _gcry_md_reset
      Src: /src/libgcrypt/cipher/md.c:1042,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - h
    - key
    - keylen
    argTypes:
    - gcry_md_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1050
    functionName: md_setkey
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 8
    functionsReached:
    - _gcry_blake2_init_with_key
    - _gcry_md_reset
    - memset
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t md_setkey (gcry_md_hd_t h, const unsigned char *key,
      size_t keylen)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/cipher/md.c:1108,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgcrypt/cipher/md.c:1110,1
    - Dst: _gcry_md_hash_buffer
      Src: /src/libgcrypt/cipher/md.c:1111,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/md.c:1113,1
    - Dst: _gcry_md_putc
      Src: /src/libgcrypt/cipher/md.c:1125,1
    - Dst: _gcry_md_putc
      Src: /src/libgcrypt/cipher/md.c:1127,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/md.c:1129,1
    - Dst: _gcry_md_putc
      Src: /src/libgcrypt/cipher/md.c:1136,1
    - Dst: _gcry_md_putc
      Src: /src/libgcrypt/cipher/md.c:1138,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/md.c:1140,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/md.c:1143,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 3
    argNames:
    - a
    - key
    - keylen
    argTypes:
    - gcry_md_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1148
    functionName: prepare_macpads
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    - xtrymalloc_secure
    - _gcry_md_putc
    - xfree
    - memcpy
    - _gcry_md_hash_buffer
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t prepare_macpads (gcry_md_hd_t a, const unsigned char
      *key, size_t keylen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cshake_customize
      Src: /src/libgcrypt/cipher/md.c:1171,1
    - Dst: _gcry_md_reset
      Src: /src/libgcrypt/cipher/md.c:1192,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - h
    - buffer
    - buflen
    argTypes:
    - gcry_md_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1151
    functionDepth: 6
    functionLinenumber: 1151
    functionLinenumberEnd: 1197
    functionName: md_customize
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 0
    functionsReached:
    - _gcry_md_reset
    - _gcry_cshake_customize
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t md_customize (gcry_md_hd_t h, void *buffer, size_t
      buflen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: md_final
      Src: /src/libgcrypt/cipher/md.c:1210,1
    - Dst: md_start_debug
      Src: /src/libgcrypt/cipher/md.c:1213,1
    - Dst: md_stop_debug
      Src: /src/libgcrypt/cipher/md.c:1216,1
    - Dst: md_customize
      Src: /src/libgcrypt/cipher/md.c:1219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - hd
    - cmd
    - buffer
    - buflen
    argTypes:
    - gcry_md_hd_t
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1200
    functionDepth: 7
    functionLinenumber: 1200
    functionLinenumberEnd: 1225
    functionName: _gcry_md_ctl
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 1
    functionsReached:
    - md_start_debug
    - md_stop_debug
    - md_final
    - md_customize
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_md_ctl (gcry_md_hd_t hd, int cmd, void *buffer,
      size_t buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: prepare_macpads
      Src: /src/libgcrypt/cipher/md.c:1235,1
    - Dst: _gcry_md_reset
      Src: /src/libgcrypt/cipher/md.c:1237,1
    - Dst: md_setkey
      Src: /src/libgcrypt/cipher/md.c:1241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - hd
    - key
    - keylen
    argTypes:
    - gcry_md_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1245
    functionName: _gcry_md_setkey
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 3
    functionsReached:
    - prepare_macpads
    - _gcry_md_reset
    - md_setkey
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_md_setkey (gcry_md_hd_t hd, const void *key,
      size_t keylen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: md_start_debug
      Src: /src/libgcrypt/cipher/md.c:1255,1
    - Dst: md_stop_debug
      Src: /src/libgcrypt/cipher/md.c:1257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hd
    - suffix
    argTypes:
    - gcry_md_hd_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1258
    functionName: _gcry_md_debug
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 1
    functionsReached:
    - md_start_debug
    - md_stop_debug
    linkageType: ''
    returnType: void
    signature: void _gcry_md_debug (gcry_md_hd_t hd, const char *suffix)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/md.c:1276,1
    - Dst: GcryDigestEntry*::spec::read
      Src: /src/libgcrypt/cipher/md.c:1278,1
    - Dst: GcryDigestEntry*::spec::read
      Src: /src/libgcrypt/cipher/md.c:1287,1
    - Dst: _gcry_fatal_error
      Src: /src/libgcrypt/cipher/md.c:1293,1
    - Dst: _gcry_fatal_error
      Src: /src/libgcrypt/cipher/md.c:1296,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - a
    - algo
    argTypes:
    - gcry_md_hd_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1265
    functionDepth: 2
    functionLinenumber: 1265
    functionLinenumberEnd: 1298
    functionName: md_read
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 57
    functionsReached:
    - GcryDigestEntry*::spec::read
    - _gcry_fatal_error
    - log_debug
    linkageType: ''
    returnType: byte
    signature: 'byte *

      md_read( gcry_md_hd_t a, int algo )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_ctl
      Src: /src/libgcrypt/cipher/md.c:1311,1
    - Dst: md_read
      Src: /src/libgcrypt/cipher/md.c:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hd
    - algo
    argTypes:
    - gcry_md_hd_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1305
    functionDepth: 8
    functionLinenumber: 1305
    functionLinenumberEnd: 1313
    functionName: _gcry_md_read
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 14
    functionsReached:
    - md_read
    - _gcry_md_ctl
    linkageType: ''
    returnType: byte
    signature: 'byte *

      _gcry_md_read (gcry_md_hd_t hd, int algo)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/md.c:1331,1
    - Dst: GcryDigestEntry*::spec::extract
      Src: /src/libgcrypt/cipher/md.c:1333,1
    - Dst: GcryDigestEntry*::spec::extract
      Src: /src/libgcrypt/cipher/md.c:1341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - a
    - algo
    - out
    - outlen
    argTypes:
    - gcry_md_hd_t
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1320
    functionDepth: 4
    functionLinenumber: 1320
    functionLinenumberEnd: 1346
    functionName: md_extract
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 6
    functionsReached:
    - GcryDigestEntry*::spec::extract
    - log_debug
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t md_extract(gcry_md_hd_t a, int algo, void *out, size_t
      outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_ctl
      Src: /src/libgcrypt/cipher/md.c:1356,1
    - Dst: md_extract
      Src: /src/libgcrypt/cipher/md.c:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - hd
    - algo
    - out
    - outlen
    argTypes:
    - gcry_md_hd_t
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1353
    functionDepth: 8
    functionLinenumber: 1353
    functionLinenumberEnd: 1358
    functionName: _gcry_md_extract
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 5
    functionsReached:
    - md_extract
    - _gcry_md_ctl
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_md_extract (gcry_md_hd_t hd, int algo, void *out,
      size_t outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fips_signal_error
      Src: /src/libgcrypt/cipher/md.c:1373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - hd
    - algo
    - buffer
    - buflen
    argTypes:
    - gcry_md_hd_t
    - int
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1375
    functionName: _gcry_md_get
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 0
    functionsReached:
    - fips_signal_error
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_md_get (gcry_md_hd_t hd, int algo, byte *buffer,
      int buflen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/md.c:1390,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/md.c:1393,1
    - Dst: log_bug
      Src: /src/libgcrypt/cipher/md.c:1407,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/md.c:1408,1
    - Dst: gcry_error
      Src: /src/libgcrypt/cipher/md.c:1408,1
    - Dst: gcry_md_spec_t*::hash_buffers
      Src: /src/libgcrypt/cipher/md.c:1410,1
    - Dst: md_open
      Src: /src/libgcrypt/cipher/md.c:1419,1
    - Dst: log_bug
      Src: /src/libgcrypt/cipher/md.c:1421,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/md.c:1422,1
    - Dst: gcry_error
      Src: /src/libgcrypt/cipher/md.c:1422,1
    - Dst: md_write
      Src: /src/libgcrypt/cipher/md.c:1423,1
    - Dst: md_final
      Src: /src/libgcrypt/cipher/md.c:1424,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/md.c:1425,1
    - Dst: md_read
      Src: /src/libgcrypt/cipher/md.c:1425,1
    - Dst: md_digest_length
      Src: /src/libgcrypt/cipher/md.c:1425,1
    - Dst: md_close
      Src: /src/libgcrypt/cipher/md.c:1426,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/md.c:1429,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/md.c:1432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - algo
    - digest
    - buffer
    - length
    argTypes:
    - int
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1384
    functionDepth: 3
    functionLinenumber: 1384
    functionLinenumberEnd: 1434
    functionName: _gcry_md_hash_buffer
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 10
    functionsReached:
    - spec_from_algo
    - md_write
    - gcry_md_spec_t*::hash_buffers
    - fips_service_indicator_mark_non_compliant
    - log_bug
    - md_open
    - fips_mode
    - gpg_strerror
    - md_close
    - md_digest_length
    - gcry_error
    - md_read
    - memcpy
    - md_final
    - log_debug
    linkageType: ''
    returnType: void
    signature: "void _gcry_md_hash_buffer (int algo, void *digest,\n                      const
      void *buffer, size_t length)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/md.c:1472,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/md.c:1475,1
    - Dst: gcry_md_spec_t*::hash_buffers
      Src: /src/libgcrypt/cipher/md.c:1491,1
    - Dst: md_open
      Src: /src/libgcrypt/cipher/md.c:1500,1
    - Dst: _gcry_md_setkey
      Src: /src/libgcrypt/cipher/md.c:1506,1
    - Dst: md_close
      Src: /src/libgcrypt/cipher/md.c:1511,1
    - Dst: md_write
      Src: /src/libgcrypt/cipher/md.c:1517,1
    - Dst: md_final
      Src: /src/libgcrypt/cipher/md.c:1518,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/md.c:1520,1
    - Dst: md_read
      Src: /src/libgcrypt/cipher/md.c:1520,1
    - Dst: md_extract
      Src: /src/libgcrypt/cipher/md.c:1522,1
    - Dst: md_close
      Src: /src/libgcrypt/cipher/md.c:1523,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/md.c:1526,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/md.c:1529,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 6
    argNames:
    - algo
    - flags
    - digest
    - digestlen
    - iov
    - iovcnt
    argTypes:
    - int
    - unsigned int
    - void*
    - int
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1454
    functionDepth: 5
    functionLinenumber: 1454
    functionLinenumberEnd: 1533
    functionName: _gcry_md_hash_buffers_extract
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 6
    functionsReached:
    - spec_from_algo
    - md_write
    - gcry_md_spec_t*::hash_buffers
    - md_extract
    - fips_service_indicator_mark_non_compliant
    - md_open
    - fips_mode
    - md_close
    - md_final
    - md_read
    - memcpy
    - _gcry_md_setkey
    - log_debug
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_md_hash_buffers_extract (int algo, unsigned int
      flags, void *digest,\n\t\t\t       int digestlen, const gcry_buffer_t *iov,\n\t\t\t
      \      int iovcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_hash_buffers_extract
      Src: /src/libgcrypt/cipher/md.c:1554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - algo
    - flags
    - digest
    - iov
    - iovcnt
    argTypes:
    - int
    - unsigned int
    - void*
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1550
    functionDepth: 6
    functionLinenumber: 1550
    functionLinenumberEnd: 1555
    functionName: _gcry_md_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 1
    functionsReached:
    - _gcry_md_hash_buffers_extract
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_md_hash_buffers (int algo, unsigned int flags,
      void *digest,\n\t\t       const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_signal_error
      Src: /src/libgcrypt/cipher/md.c:1565,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/md.c:1566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1558
    functionDepth: 2
    functionLinenumber: 1558
    functionLinenumberEnd: 1569
    functionName: md_get_algo
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 6
    functionsReached:
    - log_error
    - fips_signal_error
    linkageType: ''
    returnType: int
    signature: int md_get_algo (gcry_md_hd_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_get_algo
      Src: /src/libgcrypt/cipher/md.c:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1572
    functionDepth: 3
    functionLinenumber: 1572
    functionLinenumberEnd: 1576
    functionName: _gcry_md_get_algo
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 1
    functionsReached:
    - md_get_algo
    linkageType: ''
    returnType: int
    signature: int _gcry_md_get_algo (gcry_md_hd_t hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/md.c:1587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1589
    functionName: md_digest_length
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 1
    functionsReached:
    - spec_from_algo
    linkageType: ''
    returnType: int
    signature: int md_digest_length (int algorithm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_digest_length
      Src: /src/libgcrypt/cipher/md.c:1599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1600
    functionName: _gcry_md_get_algo_dlen
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 18
    functionsReached:
    - md_digest_length
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_md_get_algo_dlen (int algorithm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/md.c:1611,1
    - Dst: log_bug
      Src: /src/libgcrypt/cipher/md.c:1621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - algorithm
    - asnlen
    - mdlen
    argTypes:
    - int
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1624
    functionName: md_asn_oid
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 0
    functionsReached:
    - spec_from_algo
    - log_bug
    linkageType: ''
    returnType: byte
    signature: 'byte *

      md_asn_oid (int algorithm, size_t *asnlen, size_t *mdlen)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: check_digest_algo
      Src: /src/libgcrypt/cipher/md.c:1656,1
    - Dst: check_digest_algo
      Src: /src/libgcrypt/cipher/md.c:1662,1
    - Dst: md_asn_oid
      Src: /src/libgcrypt/cipher/md.c:1668,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/md.c:1671,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/cipher/md.c:1688,1
    - Dst: _gcry_md_selftest
      Src: /src/libgcrypt/cipher/md.c:1688,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 4
    argNames:
    - algo
    - what
    - buffer
    - nbytes
    argTypes:
    - int
    - int
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1645
    functionDepth: 3
    functionLinenumber: 1645
    functionLinenumberEnd: 1698
    functionName: _gcry_md_algo_info
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 6
    functionsReached:
    - gpg_err_code
    - check_digest_algo
    - _gcry_md_selftest
    - memcpy
    - md_asn_oid
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_md_algo_info (int algo, int what, void *buffer,
      size_t *nbytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/md.c:1707,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/md.c:1712,1
    - Dst: snprintf
      Src: /src/libgcrypt/cipher/md.c:1716,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/md.c:1716,1
    - Dst: fopen
      Src: /src/libgcrypt/cipher/md.c:1717,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/md.c:1719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - md
    - suffix
    argTypes:
    - gcry_md_hd_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1701
    functionDepth: 1
    functionLinenumber: 1701
    functionLinenumberEnd: 1720
    functionName: md_start_debug
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 3
    functionsReached:
    - snprintf
    - DIM
    - fips_mode
    - fopen
    - log_debug
    linkageType: ''
    returnType: void
    signature: void md_start_debug ( gcry_md_hd_t md, const char *suffix )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: md_write
      Src: /src/libgcrypt/cipher/md.c:1729,1
    - Dst: fclose
      Src: /src/libgcrypt/cipher/md.c:1730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - md
    argTypes:
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1723
    functionDepth: 1
    functionLinenumber: 1723
    functionLinenumberEnd: 1741
    functionName: md_stop_debug
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 3
    functionsReached:
    - md_write
    - fclose
    linkageType: ''
    returnType: void
    signature: void md_stop_debug( gcry_md_hd_t md )
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - h
    - cmd
    - buffer
    - nbytes
    argTypes:
    - gcry_md_hd_t
    - int
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1793
    functionName: _gcry_md_info
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_md_info (gcry_md_hd_t h, int cmd, void *buffer,
      size_t *nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1801
    functionName: _gcry_md_init
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_md_init (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_info
      Src: /src/libgcrypt/cipher/md.c:1809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1804
    functionDepth: 1
    functionLinenumber: 1804
    functionLinenumberEnd: 1813
    functionName: _gcry_md_is_secure
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 1
    functionsReached:
    - _gcry_md_info
    linkageType: ''
    returnType: int
    signature: int _gcry_md_is_secure (gcry_md_hd_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_info
      Src: /src/libgcrypt/cipher/md.c:1822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - algo
    argTypes:
    - gcry_md_hd_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1816
    functionDepth: 1
    functionLinenumber: 1816
    functionLinenumberEnd: 1825
    functionName: _gcry_md_is_enabled
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 1
    functionsReached:
    - _gcry_md_info
    linkageType: ''
    returnType: int
    signature: int _gcry_md_is_enabled (gcry_md_hd_t a, int algo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/md.c:1836,1
    - Dst: check_digest_algo_spec
      Src: /src/libgcrypt/cipher/md.c:1837,1
    - Dst: gcry_md_spec_t*::selftest
      Src: /src/libgcrypt/cipher/md.c:1838,1
    - Dst: report
      Src: /src/libgcrypt/cipher/md.c:1844,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/md.c:1846,1
    - Dst: gpg_error
      Src: /src/libgcrypt/cipher/md.c:1851,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1830
    functionDepth: 2
    functionLinenumber: 1830
    functionLinenumberEnd: 1852
    functionName: _gcry_md_selftest
    functionSourceFile: /src/libgcrypt/cipher/md.c
    functionUses: 3
    functionsReached:
    - spec_from_algo
    - gcry_md_spec_t*::selftest
    - fips_mode
    - gpg_error
    - check_digest_algo_spec
    - report
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _gcry_md_selftest (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha1_transform_amd64_ssse3
      Src: /src/libgcrypt/cipher/sha1.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: do_sha1_transform_amd64_ssse3
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 0
    functionsReached:
    - _gcry_sha1_transform_amd64_ssse3
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha1_transform_amd64_ssse3 (void *ctx, const unsigned
      char *data,\n                               size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha1_transform_amd64_avx
      Src: /src/libgcrypt/cipher/sha1.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: do_sha1_transform_amd64_avx
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 0
    functionsReached:
    - _gcry_sha1_transform_amd64_avx
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha1_transform_amd64_avx (void *ctx, const unsigned
      char *data,\n                             size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha1_transform_amd64_avx_bmi2
      Src: /src/libgcrypt/cipher/sha1.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: do_sha1_transform_amd64_avx_bmi2
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 0
    functionsReached:
    - _gcry_sha1_transform_amd64_avx_bmi2
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha1_transform_amd64_avx_bmi2 (void *ctx, const unsigned
      char *data,\n                                  size_t nblks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_sha1_transform_amd64_avx_bmi2
      Src: /src/libgcrypt/cipher/sha1.c:198,1
    - Dst: _gcry_sha1_transform_amd64_avx_bmi2
      Src: /src/libgcrypt/cipher/sha1.c:202,1
    - Dst: _gcry_sha1_transform_amd64_avx2_bmi2
      Src: /src/libgcrypt/cipher/sha1.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: do_sha1_transform_amd64_avx2_bmi2
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 0
    functionsReached:
    - do_sha1_transform_amd64_avx_bmi2
    - _gcry_sha1_transform_amd64_avx2_bmi2
    - _gcry_sha1_transform_amd64_avx_bmi2
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha1_transform_amd64_avx2_bmi2 (void *ctx, const unsigned
      char *data,\n                                   size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha1_transform_intel_shaext
      Src: /src/libgcrypt/cipher/sha1.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: do_sha1_transform_intel_shaext
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 0
    functionsReached:
    - _gcry_sha1_transform_intel_shaext
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha1_transform_intel_shaext (void *ctx, const unsigned
      char *data,\n                                size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha1_transform_armv7_neon
      Src: /src/libgcrypt/cipher/sha1.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: do_sha1_transform_armv7_neon
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 0
    functionsReached:
    - _gcry_sha1_transform_armv7_neon
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha1_transform_armv7_neon (void *ctx, const unsigned
      char *data,\n                              size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha1_transform_armv8_ce
      Src: /src/libgcrypt/cipher/sha1.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: do_sha1_transform_armv8_ce
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 0
    functionsReached:
    - _gcry_sha1_transform_armv8_ce
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha1_transform_armv8_ce (void *ctx, const unsigned
      char *data,\n                            size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kimd_execute
      Src: /src/libgcrypt/cipher/sha1.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: do_sha1_transform_s390x
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 0
    functionsReached:
    - kimd_execute
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_sha1_transform_s390x (void *ctx, const unsigned char
      *data, size_t nblks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/sha1.c:278,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/sha1.c:280,1
    - Dst: klmd_execute
      Src: /src/libgcrypt/cipher/sha1.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ctx
    - data
    - datalen
    - len_msb
    - len_lsb
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 288
    functionName: do_sha1_final_s390x
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    - klmd_execute
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha1_final_s390x (void *ctx, const unsigned char *data,
      size_t datalen,\n\t\t     u32 len_msb, u32 len_lsb)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/sha1.c:300,1
    - Dst: _gcry_ctz
      Src: /src/libgcrypt/cipher/sha1.c:313,1
    - Dst: kimd_query
      Src: /src/libgcrypt/cipher/sha1.c:354,1
    - Dst: km_function_to_mask
      Src: /src/libgcrypt/cipher/sha1.c:354,1
    - Dst: klmd_query
      Src: /src/libgcrypt/cipher/sha1.c:355,1
    - Dst: km_function_to_mask
      Src: /src/libgcrypt/cipher/sha1.c:355,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 364
    functionName: sha1_init
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 1
    functionsReached:
    - _gcry_ctz
    - _gcry_get_hw_features
    - km_function_to_mask
    - klmd_query
    - kimd_query
    linkageType: ''
    returnType: void
    signature: void sha1_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha1_init
      Src: /src/libgcrypt/cipher/sha1.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - SHA1_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: _gcry_sha1_mixblock_init
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 0
    functionsReached:
    - sha1_init
    linkageType: ''
    returnType: void
    signature: void _gcry_sha1_mixblock_init (SHA1_CONTEXT *hd)
  - 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: 384
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 384
    functionName: F1
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F1(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: 385
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 385
    functionName: F2
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F2(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: 386
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 386
    functionName: F3
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F3(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: 387
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 387
    functionName: F4
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F4(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: M
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 414
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - k
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: R
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 121
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(a,b,c,d,e,f,k,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:424,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha1.c:424,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:425,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha1.c:425,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:426,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha1.c:426,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:427,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha1.c:427,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:428,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha1.c:428,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:429,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha1.c:429,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:430,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha1.c:430,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:431,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha1.c:431,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:432,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha1.c:432,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:433,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha1.c:433,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:434,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha1.c:434,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:435,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha1.c:435,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:436,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha1.c:436,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:437,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha1.c:437,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:438,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha1.c:438,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:439,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha1.c:439,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:440,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:440,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:441,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:441,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:442,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:442,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:443,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:443,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:444,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:444,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:445,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:445,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:446,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:446,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:447,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:447,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:448,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:448,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:449,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:449,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:450,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:450,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:451,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:451,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:452,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:452,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:453,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:453,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:454,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:454,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:455,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:455,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:456,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:456,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:457,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:457,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:458,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:458,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:459,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:459,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:460,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:460,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:461,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:461,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:462,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:462,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:463,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:463,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:464,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:464,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:465,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:465,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:466,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:466,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:467,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:467,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:468,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:468,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:469,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:469,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:470,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:470,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:471,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:471,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:472,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:472,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:473,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:473,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:474,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:474,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:475,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:475,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:476,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:476,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:477,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:477,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:478,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:478,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:479,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:479,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:480,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:480,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:481,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:481,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:482,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:482,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:483,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:483,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:484,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:484,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:485,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:485,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:486,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:486,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:487,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:487,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:488,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:488,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:489,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:489,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:490,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:490,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:491,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:491,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:492,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:492,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:493,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:493,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:494,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:494,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:495,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:495,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:496,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:496,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:497,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:497,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:498,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:498,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:499,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:499,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:500,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:500,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:501,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:501,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:502,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:502,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha1.c:503,1
    - Dst: M
      Src: /src/libgcrypt/cipher/sha1.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 95
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 517
    functionName: do_transform_generic
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 0
    functionsReached:
    - M
    - R
    - I
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_transform_generic (void *ctx, const unsigned char *data,
      size_t nblks)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 415
    functionName: I
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - hd
    - blockof64byte
    argTypes:
    - SHA1_CONTEXT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 544
    functionName: _gcry_sha1_mixblock
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_sha1_mixblock (SHA1_CONTEXT *hd, void *blockof64byte)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: do_sha1_final_s390x
      Src: /src/libgcrypt/cipher/sha1.c:586,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/sha1.c:593,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sha1.c:596,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sha1.c:597,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/sha1.c:604,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sha1.c:607,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sha1.c:608,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 610
    functionName: sha1_final
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 1
    functionsReached:
    - memset
    - do_sha1_final_s390x
    - buf_put_be32
    linkageType: ''
    returnType: void
    signature: void sha1_final(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 614
    functionName: X
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 632
    functionName: sha1_read
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      sha1_read( void *context )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha1_init
      Src: /src/libgcrypt/cipher/sha1.c:647,1
    - Dst: _gcry_md_block_write
      Src: /src/libgcrypt/cipher/sha1.c:649,1
    - Dst: sha1_final
      Src: /src/libgcrypt/cipher/sha1.c:651,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/sha1.c:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - outbuf
    - nbytes
    - iov
    - iovcnt
    argTypes:
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 653
    functionName: _gcry_sha1_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 0
    functionsReached:
    - _gcry_md_block_write
    - sha1_final
    - memcpy
    - sha1_init
    linkageType: ''
    returnType: void
    signature: "void _gcry_sha1_hash_buffers (void *outbuf, size_t nbytes,\n\t\t\t
      const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha1_hash_buffers
      Src: /src/libgcrypt/cipher/sha1.c:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - outbuf
    - buffer
    - length
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 656
    functionDepth: 3
    functionLinenumber: 656
    functionLinenumberEnd: 665
    functionName: _gcry_sha1_hash_buffer
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 0
    functionsReached:
    - _gcry_sha1_hash_buffers
    linkageType: ''
    returnType: void
    signature: void _gcry_sha1_hash_buffer (void *outbuf, const void *buffer, size_t
      length)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha1.c:681,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha1.c:692,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha1.c:701,1
    - Dst: report
      Src: /src/libgcrypt/cipher/sha1.c:714,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 716
    functionName: selftests_sha1
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 0
    functionsReached:
    - report
    - _gcry_hash_selftest_check_one
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_sha1 (int extended, selftest_report_func_t
      report)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: selftests_sha1
      Src: /src/libgcrypt/cipher/sha1.c:728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 736
    functionName: run_selftests
    functionSourceFile: /src/libgcrypt/cipher/sha1.c
    functionUses: 4
    functionsReached:
    - selftests_sha1
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t run_selftests (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: asm_load_be_const
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc9le.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_load_be_const(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vec
    - be_bswap_const
    argTypes:
    - block
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: asm_be_swap
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc9le.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_be_swap(block vec, block be_bswap_const)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_constant_p
      Src: /src/libgcrypt/cipher/rijndael-ppc9le.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - offset
    - ptr
    argTypes:
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 83
    functionName: asm_load_be_noswap
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc9le.c
    functionUses: 0
    functionsReached:
    - __builtin_constant_p
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_load_be_noswap(unsigned long offset, const
      void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_constant_p
      Src: /src/libgcrypt/cipher/rijndael-ppc9le.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - vec
    - offset
    - ptr
    argTypes:
    - block
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: asm_store_be_noswap
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc9le.c
    functionUses: 0
    functionsReached:
    - __builtin_constant_p
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_store_be_noswap(block vec, unsigned long offset,
      void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_set
      Src: /src/libgcrypt/cipher/ecc-common.h:45,1
    - Dst: mpi_set
      Src: /src/libgcrypt/cipher/ecc-common.h:46,1
    - Dst: mpi_set
      Src: /src/libgcrypt/cipher/ecc-common.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - mpi_point_t
    - mpi_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: point_set
    functionSourceFile: /src/libgcrypt/cipher/ecc-common.h
    functionUses: 11
    functionsReached:
    - mpi_set
    linkageType: ''
    returnType: void
    signature: void point_set (mpi_point_t d, mpi_point_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - nbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: point_init
    functionSourceFile: /src/libgcrypt/cipher/ecc-common.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: point_init(a,nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: point_free
    functionSourceFile: /src/libgcrypt/cipher/ecc-common.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: point_free(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-siv.c:37,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-siv.c:38,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-siv.c:44,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-siv.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - d
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: s2v_double
    functionSourceFile: /src/libgcrypt/cipher/cipher-siv.c
    functionUses: 0
    functionsReached:
    - buf_get_be64
    - buf_put_be64
    linkageType: ''
    returnType: void
    signature: void s2v_double (unsigned char *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/cipher-siv.c:54,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-siv.c:56,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/cipher-siv.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - inlen
    argTypes:
    - unsigned char*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: s2v_pad
    functionSourceFile: /src/libgcrypt/cipher/cipher-siv.c
    functionUses: 0
    functionsReached:
    - buf_cpy
    - gcry_assert
    linkageType: ''
    returnType: void
    signature: void s2v_pad (unsigned char *out, const byte *in, size_t inlen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_hd_t::spec::setkey
      Src: /src/libgcrypt/cipher/cipher-siv.c:77,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-siv.c:83,1
    - Dst: _gcry_cmac_generate_subkeys
      Src: /src/libgcrypt/cipher/cipher-siv.c:84,1
    - Dst: _gcry_cmac_write
      Src: /src/libgcrypt/cipher/cipher-siv.c:88,1
    - Dst: _gcry_cmac_final
      Src: /src/libgcrypt/cipher/cipher-siv.c:92,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-siv.c:96,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-siv.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - c
    - ctrkey
    - ctrkeylen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 102
    functionName: _gcry_cipher_siv_setkey
    functionSourceFile: /src/libgcrypt/cipher/cipher-siv.c
    functionUses: 1
    functionsReached:
    - gcry_cipher_hd_t::spec::setkey
    - _gcry_cmac_final
    - _gcry_cmac_write
    - _gcry_cmac_generate_subkeys
    - memset
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_siv_setkey (gcry_cipher_hd_t c,\n\t                 const
      unsigned char *ctrkey, size_t ctrkeylen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cmac_reset
      Src: /src/libgcrypt/cipher/cipher-siv.c:123,1
    - Dst: _gcry_cmac_write
      Src: /src/libgcrypt/cipher/cipher-siv.c:125,1
    - Dst: _gcry_cmac_final
      Src: /src/libgcrypt/cipher/cipher-siv.c:129,1
    - Dst: s2v_double
      Src: /src/libgcrypt/cipher/cipher-siv.c:133,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-siv.c:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - c
    - aadbuf
    - aadbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 138
    functionName: _gcry_cipher_siv_authenticate
    functionSourceFile: /src/libgcrypt/cipher/cipher-siv.c
    functionUses: 0
    functionsReached:
    - _gcry_cmac_reset
    - s2v_double
    - _gcry_cmac_final
    - _gcry_cmac_write
    - cipher_block_xor_1
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_siv_authenticate (gcry_cipher_hd_t c,\n
      \                              const byte *aadbuf, size_t aadbuflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_siv_authenticate
      Src: /src/libgcrypt/cipher/cipher-siv.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - c
    - nonce
    - noncelen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 155
    functionName: _gcry_cipher_siv_set_nonce
    functionSourceFile: /src/libgcrypt/cipher/cipher-siv.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_siv_authenticate
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_siv_set_nonce (gcry_cipher_hd_t c, const
      byte *nonce,\n\t\t\t    size_t noncelen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cmac_reset
      Src: /src/libgcrypt/cipher/cipher-siv.c:166,1
    - Dst: _gcry_cmac_write
      Src: /src/libgcrypt/cipher/cipher-siv.c:170,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-siv.c:175,1
    - Dst: _gcry_cmac_write
      Src: /src/libgcrypt/cipher/cipher-siv.c:179,1
    - Dst: s2v_double
      Src: /src/libgcrypt/cipher/cipher-siv.c:188,1
    - Dst: s2v_pad
      Src: /src/libgcrypt/cipher/cipher-siv.c:189,1
    - Dst: cipher_block_xor_1
      Src: /src/libgcrypt/cipher/cipher-siv.c:190,1
    - Dst: _gcry_cmac_write
      Src: /src/libgcrypt/cipher/cipher-siv.c:192,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-siv.c:194,1
    - Dst: _gcry_cmac_final
      Src: /src/libgcrypt/cipher/cipher-siv.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - c
    - plain
    - plainlen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 202
    functionName: s2v_plaintext
    functionSourceFile: /src/libgcrypt/cipher/cipher-siv.c
    functionUses: 0
    functionsReached:
    - _gcry_cmac_reset
    - s2v_double
    - s2v_pad
    - _gcry_cmac_final
    - wipememory
    - _gcry_cmac_write
    - cipher_block_xor_1
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t s2v_plaintext (gcry_cipher_hd_t c, const byte *plain,
      size_t plainlen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: s2v_plaintext
      Src: /src/libgcrypt/cipher/cipher-siv.c:223,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-siv.c:228,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-siv.c:229,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-siv.c:232,1
    - Dst: _gcry_cipher_ctr_encrypt_ctx
      Src: /src/libgcrypt/cipher/cipher-siv.c:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 205
    functionDepth: 4
    functionLinenumber: 205
    functionLinenumberEnd: 243
    functionName: _gcry_cipher_siv_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-siv.c
    functionUses: 0
    functionsReached:
    - buf_get_be64
    - _gcry_cipher_ctr_encrypt_ctx
    - buf_put_be64
    - memcpy
    - s2v_plaintext
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_siv_encrypt (gcry_cipher_hd_t c,\n                          byte
      *outbuf, size_t outbuflen,\n                          const byte *inbuf, size_t
      inbuflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-siv.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - c
    - tag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: _gcry_cipher_siv_set_decryption_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-siv.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_siv_set_decryption_tag (gcry_cipher_hd_t
      c,\n\t\t\t\t     const byte *tag, size_t taglen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-siv.c:282,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/cipher/cipher-siv.c:283,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/cipher-siv.c:286,1
    - Dst: _gcry_cipher_ctr_encrypt_ctx
      Src: /src/libgcrypt/cipher/cipher-siv.c:289,1
    - Dst: s2v_plaintext
      Src: /src/libgcrypt/cipher/cipher-siv.c:295,1
    - Dst: buf_eq_const
      Src: /src/libgcrypt/cipher/cipher-siv.c:301,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-siv.c:304,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 264
    functionDepth: 4
    functionLinenumber: 264
    functionLinenumberEnd: 309
    functionName: _gcry_cipher_siv_decrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-siv.c
    functionUses: 0
    functionsReached:
    - buf_get_be64
    - _gcry_cipher_ctr_encrypt_ctx
    - buf_eq_const
    - wipememory
    - buf_put_be64
    - memcpy
    - s2v_plaintext
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_siv_decrypt (gcry_cipher_hd_t c,\n                          byte
      *outbuf, size_t outbuflen,\n                          const byte *inbuf, size_t
      inbuflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: s2v_plaintext
      Src: /src/libgcrypt/cipher/cipher-siv.c:326,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-siv.c:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - c
    - outbuf
    - outbuflen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 341
    functionName: _gcry_cipher_siv_get_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-siv.c
    functionUses: 0
    functionsReached:
    - memcpy
    - s2v_plaintext
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_siv_get_tag (gcry_cipher_hd_t c, unsigned
      char *outbuf,\n                          size_t outbuflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: s2v_plaintext
      Src: /src/libgcrypt/cipher/cipher-siv.c:357,1
    - Dst: buf_eq_const
      Src: /src/libgcrypt/cipher/cipher-siv.c:368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - c
    - intag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 344
    functionDepth: 4
    functionLinenumber: 344
    functionLinenumberEnd: 375
    functionName: _gcry_cipher_siv_check_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-siv.c
    functionUses: 0
    functionsReached:
    - buf_eq_const
    - s2v_plaintext
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_siv_check_tag (gcry_cipher_hd_t c, const
      unsigned char *intag,\n                            size_t taglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 329
    functionName: SBOX0
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX0(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 348
    functionName: SBOX0_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX0_INVERSE(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 366
    functionName: SBOX1
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX1(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 385
    functionName: SBOX1_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX1_INVERSE(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 401
    functionName: SBOX2
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX2(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 419
    functionName: SBOX2_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX2_INVERSE(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 437
    functionName: SBOX3
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX3(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 455
    functionName: SBOX3_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX3_INVERSE(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 473
    functionName: SBOX4
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX4(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 492
    functionName: SBOX4_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX4_INVERSE(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 510
    functionName: SBOX5
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX5(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 528
    functionName: SBOX5_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX5_INVERSE(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 546
    functionName: SBOX6
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX6(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 563
    functionName: SBOX6_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX6_INVERSE(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 582
    functionName: SBOX7
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX7(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 600
    functionName: SBOX7_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX7_INVERSE(r0, r1, r2, r3, w, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - block0
    - ','
    - block1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 609
    functionName: BLOCK_XOR
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_XOR(block0, block1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - block_dst
    - ','
    - block_src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 618
    functionName: BLOCK_COPY
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_COPY(block_dst, block_src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - which
    - ','
    - array0
    - ','
    - array1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 624
    functionName: SBOX
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX(which, array0, array1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - which
    - ','
    - array0
    - ','
    - array1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 630
    functionName: SBOX_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBOX_INVERSE(which, array0, array1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - block
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 645
    functionName: LINEAR_TRANSFORMATION
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LINEAR_TRANSFORMATION(block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - block
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 660
    functionName: LINEAR_TRANSFORMATION_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LINEAR_TRANSFORMATION_INVERSE(block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - which
    - ','
    - subkeys
    - ','
    - block
    - ','
    - block_tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 672
    functionName: ROUND
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND(which, subkeys, block, block_tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - which
    - ','
    - subkeys
    - ','
    - block
    - ','
    - block_tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 685
    functionName: ROUND_LAST
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_LAST(which, subkeys, block, block_tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - which
    - ','
    - subkey
    - ','
    - block
    - ','
    - block_tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 697
    functionName: ROUND_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_INVERSE(which, subkey, block, block_tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - which
    - ','
    - subkeys
    - ','
    - block
    - ','
    - block_tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 710
    functionName: ROUND_FIRST_INVERSE
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_FIRST_INVERSE(which, subkeys, block, block_tmp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/serpent.c:722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - key
    - key_length
    - key_prepared
    argTypes:
    - byte*
    - unsigned int
    - serpent_key_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 733
    functionName: serpent_key_prepare
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached:
    - buf_get_le32
    linkageType: ''
    returnType: void
    signature: "void serpent_key_prepare (const byte *key, unsigned int key_length,\n\t\t
      \    serpent_key_t key_prepared)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPAND_KEY
      Src: /src/libgcrypt/cipher/serpent.c:769,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:769,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:769,1
    - Dst: EXPAND_KEY
      Src: /src/libgcrypt/cipher/serpent.c:770,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:770,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:770,1
    - Dst: EXPAND_KEY
      Src: /src/libgcrypt/cipher/serpent.c:771,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:771,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:771,1
    - Dst: EXPAND_KEY
      Src: /src/libgcrypt/cipher/serpent.c:772,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:772,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:772,1
    - Dst: EXPAND_KEY
      Src: /src/libgcrypt/cipher/serpent.c:773,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:773,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:773,1
    - Dst: EXPAND_KEY
      Src: /src/libgcrypt/cipher/serpent.c:774,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:774,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:774,1
    - Dst: EXPAND_KEY
      Src: /src/libgcrypt/cipher/serpent.c:775,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:775,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:775,1
    - Dst: EXPAND_KEY
      Src: /src/libgcrypt/cipher/serpent.c:776,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:776,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:776,1
    - Dst: EXPAND_KEY
      Src: /src/libgcrypt/cipher/serpent.c:777,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:777,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:777,1
    - Dst: EXPAND_KEY
      Src: /src/libgcrypt/cipher/serpent.c:778,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:778,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:778,1
    - Dst: EXPAND_KEY
      Src: /src/libgcrypt/cipher/serpent.c:779,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:779,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:779,1
    - Dst: EXPAND_KEY
      Src: /src/libgcrypt/cipher/serpent.c:780,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:780,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:780,1
    - Dst: EXPAND_KEY
      Src: /src/libgcrypt/cipher/serpent.c:781,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:781,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:781,1
    - Dst: EXPAND_KEY
      Src: /src/libgcrypt/cipher/serpent.c:782,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:782,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:782,1
    - Dst: EXPAND_KEY
      Src: /src/libgcrypt/cipher/serpent.c:783,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:783,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:783,1
    - Dst: EXPAND_KEY
      Src: /src/libgcrypt/cipher/serpent.c:784,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:784,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:784,1
    - Dst: EXPAND_KEY4
      Src: /src/libgcrypt/cipher/serpent.c:785,1
    - Dst: SBOX
      Src: /src/libgcrypt/cipher/serpent.c:785,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/serpent.c:787,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/serpent.c:788,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/serpent.c:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    argCount: 2
    argNames:
    - key
    - subkeys
    argTypes:
    - serpent_key_t
    - serpent_subkeys_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 790
    functionName: serpent_subkeys_generate
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached:
    - wipememory
    - EXPAND_KEY4
    - SBOX
    - EXPAND_KEY
    linkageType: ''
    returnType: void
    signature: void serpent_subkeys_generate (serpent_key_t key, serpent_subkeys_t
      subkeys)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - wo
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 763
    functionName: EXPAND_KEY4
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAND_KEY4(wo, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: EXPAND_KEY
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAND_KEY(r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: serpent_key_prepare
      Src: /src/libgcrypt/cipher/serpent.c:802,1
    - Dst: serpent_subkeys_generate
      Src: /src/libgcrypt/cipher/serpent.c:803,1
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/serpent.c:807,1
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/serpent.c:815,1
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/serpent.c:823,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/serpent.c:829,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - context
    - key
    - key_length
    argTypes:
    - serpent_context_t*
    - byte*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 831
    functionName: serpent_setkey_internal
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached:
    - wipememory
    - serpent_key_prepare
    - _gcry_get_hw_features
    - serpent_subkeys_generate
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t serpent_setkey_internal (serpent_context_t *context,\n\t\t\t
      const byte *key, unsigned int key_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: serpent_test
      Src: /src/libgcrypt/cipher/serpent.c:848,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/serpent.c:850,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/serpent.c:854,1
    - Dst: serpent_setkey_internal
      Src: /src/libgcrypt/cipher/serpent.c:866,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - key
    - key_length
    - bulk_ops
    argTypes:
    - void*
    - byte*
    - unsigned int
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 834
    functionDepth: 3
    functionLinenumber: 834
    functionLinenumberEnd: 869
    functionName: serpent_setkey
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached:
    - serpent_test
    - memset
    - serpent_setkey_internal
    - log_error
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t serpent_setkey (void *ctx,\n\t\tconst byte *key, unsigned
      int key_length,\n                cipher_bulk_ops_t *bulk_ops)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/serpent.c:878,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/serpent.c:879,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/serpent.c:880,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/serpent.c:881,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:883,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:884,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:885,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:886,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:887,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:888,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:889,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:890,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:891,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:892,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:893,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:894,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:895,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:896,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:897,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:898,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:899,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:900,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:901,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:902,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:903,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:904,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:905,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:906,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:907,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:908,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:909,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:910,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:911,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:912,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/serpent.c:913,1
    - Dst: ROUND_LAST
      Src: /src/libgcrypt/cipher/serpent.c:915,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/serpent.c:917,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/serpent.c:918,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/serpent.c:919,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/serpent.c:920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 3
    argNames:
    - context
    - input
    - output
    argTypes:
    - serpent_context_t*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 921
    functionName: serpent_encrypt_internal
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached:
    - ROUND
    - buf_get_le32
    - buf_put_le32
    - ROUND_LAST
    linkageType: ''
    returnType: void
    signature: "void serpent_encrypt_internal (serpent_context_t *context,\n\t\t\t
      \ const byte *input, byte *output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/serpent.c:930,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/serpent.c:931,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/serpent.c:932,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/serpent.c:933,1
    - Dst: ROUND_FIRST_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:935,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:937,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:938,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:939,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:940,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:941,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:942,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:943,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:944,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:945,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:946,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:947,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:948,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:949,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:950,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:951,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:952,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:953,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:954,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:955,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:956,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:957,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:958,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:959,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:960,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:961,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:962,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:963,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:964,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:965,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:966,1
    - Dst: ROUND_INVERSE
      Src: /src/libgcrypt/cipher/serpent.c:967,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/serpent.c:969,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/serpent.c:970,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/serpent.c:971,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/serpent.c:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 3
    argNames:
    - context
    - input
    - output
    argTypes:
    - serpent_context_t*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 973
    functionName: serpent_decrypt_internal
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached:
    - buf_get_le32
    - ROUND_FIRST_INVERSE
    - buf_put_le32
    - ROUND_INVERSE
    linkageType: ''
    returnType: void
    signature: "void serpent_decrypt_internal (serpent_context_t *context,\n\t\t\t
      \ const byte *input, byte *output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serpent_encrypt_internal
      Src: /src/libgcrypt/cipher/serpent.c:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - buffer_out
    - buffer_in
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 982
    functionName: serpent_encrypt
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached:
    - serpent_encrypt_internal
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int serpent_encrypt (void *ctx, byte *buffer_out, const byte
      *buffer_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serpent_decrypt_internal
      Src: /src/libgcrypt/cipher/serpent.c:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - buffer_out
    - buffer_in
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 984
    functionDepth: 2
    functionLinenumber: 984
    functionLinenumberEnd: 991
    functionName: serpent_decrypt
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached:
    - serpent_decrypt_internal
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int serpent_decrypt (void *ctx, byte *buffer_out, const byte
      *buffer_in)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_serpent_avx512_ctr_enc
      Src: /src/libgcrypt/cipher/serpent.c:1017,1
    - Dst: _gcry_serpent_avx2_ctr_enc
      Src: /src/libgcrypt/cipher/serpent.c:1045,1
    - Dst: _gcry_serpent_sse2_ctr_enc
      Src: /src/libgcrypt/cipher/serpent.c:1072,1
    - Dst: _gcry_serpent_neon_ctr_enc
      Src: /src/libgcrypt/cipher/serpent.c:1100,1
    - Dst: serpent_encrypt_internal
      Src: /src/libgcrypt/cipher/serpent.c:1123,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/serpent.c:1125,1
    - Dst: cipher_block_add_be16
      Src: /src/libgcrypt/cipher/serpent.c:1129,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/serpent.c:1132,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/serpent.c:1133,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 5
    argNames:
    - context
    - ctr
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 998
    functionDepth: 3
    functionLinenumber: 998
    functionLinenumberEnd: 1134
    functionName: _gcry_serpent_ctr_enc
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor
    - _gcry_serpent_avx2_ctr_enc
    - _gcry_serpent_avx512_ctr_enc
    - _gcry_serpent_neon_ctr_enc
    - wipememory
    - _gcry_serpent_sse2_ctr_enc
    - _gcry_burn_stack
    - cipher_block_add_be16
    - serpent_encrypt_internal
    linkageType: ''
    returnType: void
    signature: "void _gcry_serpent_ctr_enc(void *context, unsigned char *ctr,\n                      void
      *outbuf_arg, const void *inbuf_arg,\n                      size_t nblocks)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_serpent_avx512_cbc_dec
      Src: /src/libgcrypt/cipher/serpent.c:1157,1
    - Dst: _gcry_serpent_avx2_cbc_dec
      Src: /src/libgcrypt/cipher/serpent.c:1184,1
    - Dst: _gcry_serpent_sse2_cbc_dec
      Src: /src/libgcrypt/cipher/serpent.c:1210,1
    - Dst: _gcry_serpent_neon_cbc_dec
      Src: /src/libgcrypt/cipher/serpent.c:1237,1
    - Dst: serpent_decrypt_internal
      Src: /src/libgcrypt/cipher/serpent.c:1260,1
    - Dst: cipher_block_xor_n_copy_2
      Src: /src/libgcrypt/cipher/serpent.c:1262,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/serpent.c:1268,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/serpent.c:1269,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1138
    functionDepth: 3
    functionLinenumber: 1138
    functionLinenumberEnd: 1270
    functionName: _gcry_serpent_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached:
    - _gcry_serpent_neon_cbc_dec
    - _gcry_serpent_sse2_cbc_dec
    - _gcry_serpent_avx512_cbc_dec
    - cipher_block_xor_n_copy_2
    - serpent_decrypt_internal
    - wipememory
    - _gcry_burn_stack
    - _gcry_serpent_avx2_cbc_dec
    linkageType: ''
    returnType: void
    signature: "void _gcry_serpent_cbc_dec(void *context, unsigned char *iv,\n                      void
      *outbuf_arg, const void *inbuf_arg,\n                      size_t nblocks)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_serpent_avx512_cfb_dec
      Src: /src/libgcrypt/cipher/serpent.c:1292,1
    - Dst: _gcry_serpent_avx2_cfb_dec
      Src: /src/libgcrypt/cipher/serpent.c:1319,1
    - Dst: _gcry_serpent_sse2_cfb_dec
      Src: /src/libgcrypt/cipher/serpent.c:1345,1
    - Dst: _gcry_serpent_neon_cfb_dec
      Src: /src/libgcrypt/cipher/serpent.c:1372,1
    - Dst: serpent_encrypt_internal
      Src: /src/libgcrypt/cipher/serpent.c:1393,1
    - Dst: cipher_block_xor_n_copy
      Src: /src/libgcrypt/cipher/serpent.c:1394,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/serpent.c:1399,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1274
    functionDepth: 3
    functionLinenumber: 1274
    functionLinenumberEnd: 1400
    functionName: _gcry_serpent_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached:
    - _gcry_serpent_avx512_cfb_dec
    - _gcry_serpent_neon_cfb_dec
    - cipher_block_xor_n_copy
    - _gcry_serpent_avx2_cfb_dec
    - _gcry_burn_stack
    - serpent_encrypt_internal
    - _gcry_serpent_sse2_cfb_dec
    linkageType: ''
    returnType: void
    signature: "void _gcry_serpent_cfb_dec(void *context, unsigned char *iv,\n                      void
      *outbuf_arg, const void *inbuf_arg,\n                      size_t nblocks)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: bulk_ocb_prepare_L_pointers_array_blk32
      Src: /src/libgcrypt/cipher/serpent.c:1430,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/serpent.c:1436,1
    - Dst: _gcry_serpent_avx512_ocb_crypt
      Src: /src/libgcrypt/cipher/serpent.c:1438,1
    - Dst: bulk_ocb_prepare_L_pointers_array_blk16
      Src: /src/libgcrypt/cipher/serpent.c:1468,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/serpent.c:1474,1
    - Dst: _gcry_serpent_avx2_ocb_enc
      Src: /src/libgcrypt/cipher/serpent.c:1477,1
    - Dst: _gcry_serpent_avx2_ocb_dec
      Src: /src/libgcrypt/cipher/serpent.c:1480,1
    - Dst: bulk_ocb_prepare_L_pointers_array_blk8
      Src: /src/libgcrypt/cipher/serpent.c:1509,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/serpent.c:1515,1
    - Dst: _gcry_serpent_sse2_ocb_enc
      Src: /src/libgcrypt/cipher/serpent.c:1518,1
    - Dst: _gcry_serpent_sse2_ocb_dec
      Src: /src/libgcrypt/cipher/serpent.c:1521,1
    - Dst: bulk_ocb_prepare_L_pointers_array_blk8
      Src: /src/libgcrypt/cipher/serpent.c:1551,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/serpent.c:1557,1
    - Dst: _gcry_serpent_neon_ocb_enc
      Src: /src/libgcrypt/cipher/serpent.c:1560,1
    - Dst: _gcry_serpent_neon_ocb_dec
      Src: /src/libgcrypt/cipher/serpent.c:1563,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/serpent.c:1589,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 86
    argCount: 5
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1403
    functionDepth: 3
    functionLinenumber: 1403
    functionLinenumberEnd: 1593
    functionName: _gcry_serpent_ocb_crypt
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached:
    - _gcry_serpent_neon_ocb_enc
    - _gcry_serpent_avx2_ocb_dec
    - _gcry_serpent_sse2_ocb_dec
    - bulk_ocb_prepare_L_pointers_array_blk16
    - _gcry_serpent_avx2_ocb_enc
    - bulk_ocb_prepare_L_pointers_array_blk8
    - _gcry_burn_stack
    - _gcry_serpent_avx512_ocb_crypt
    - bulk_ocb_prepare_L_pointers_array_blk32
    - _gcry_serpent_sse2_ocb_enc
    - ocb_get_l
    - _gcry_serpent_neon_ocb_dec
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_serpent_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg,\n\t\t\tconst
      void *inbuf_arg, size_t nblocks, int encrypt)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: bulk_ocb_prepare_L_pointers_array_blk16
      Src: /src/libgcrypt/cipher/serpent.c:1619,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/serpent.c:1625,1
    - Dst: _gcry_serpent_avx2_ocb_auth
      Src: /src/libgcrypt/cipher/serpent.c:1627,1
    - Dst: bulk_ocb_prepare_L_pointers_array_blk8
      Src: /src/libgcrypt/cipher/serpent.c:1655,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/serpent.c:1661,1
    - Dst: _gcry_serpent_sse2_ocb_auth
      Src: /src/libgcrypt/cipher/serpent.c:1663,1
    - Dst: bulk_ocb_prepare_L_pointers_array_blk8
      Src: /src/libgcrypt/cipher/serpent.c:1692,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/serpent.c:1698,1
    - Dst: _gcry_serpent_neon_ocb_auth
      Src: /src/libgcrypt/cipher/serpent.c:1700,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/serpent.c:1725,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 3
    argNames:
    - c
    - abuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1596
    functionDepth: 2
    functionLinenumber: 1596
    functionLinenumberEnd: 1729
    functionName: _gcry_serpent_ocb_auth
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached:
    - bulk_ocb_prepare_L_pointers_array_blk16
    - _gcry_serpent_avx2_ocb_auth
    - _gcry_serpent_sse2_ocb_auth
    - bulk_ocb_prepare_L_pointers_array_blk8
    - _gcry_burn_stack
    - _gcry_serpent_neon_ocb_auth
    - ocb_get_l
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_serpent_ocb_auth (gcry_cipher_hd_t c, const void *abuf_arg,\n\t\t\tsize_t
      nblocks)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_serpent_avx512_blk32
      Src: /src/libgcrypt/cipher/serpent.c:1742,1
    - Dst: _gcry_serpent_avx2_blk16
      Src: /src/libgcrypt/cipher/serpent.c:1750,1
    - Dst: _gcry_serpent_sse2_blk8
      Src: /src/libgcrypt/cipher/serpent.c:1760,1
    - Dst: _gcry_serpent_neon_blk8
      Src: /src/libgcrypt/cipher/serpent.c:1772,1
    - Dst: serpent_encrypt_internal
      Src: /src/libgcrypt/cipher/serpent.c:1783,1
    - Dst: serpent_decrypt_internal
      Src: /src/libgcrypt/cipher/serpent.c:1785,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 5
    argNames:
    - context
    - out
    - in
    - num_blks
    - encrypt
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1732
    functionDepth: 3
    functionLinenumber: 1732
    functionLinenumberEnd: 1795
    functionName: serpent_crypt_blk1_32
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached:
    - _gcry_serpent_avx512_blk32
    - _gcry_serpent_neon_blk8
    - serpent_decrypt_internal
    - _gcry_serpent_sse2_blk8
    - serpent_encrypt_internal
    - _gcry_serpent_avx2_blk16
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int serpent_crypt_blk1_32(void *context, byte *out, const
      byte *in,\n\t\t      size_t num_blks, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serpent_crypt_blk1_32
      Src: /src/libgcrypt/cipher/serpent.c:1801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1797
    functionDepth: 4
    functionLinenumber: 1797
    functionLinenumberEnd: 1802
    functionName: serpent_encrypt_blk1_32
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached:
    - serpent_crypt_blk1_32
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int serpent_encrypt_blk1_32(void *ctx, byte *out, const byte
      *in,\n\t\t\tsize_t num_blks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serpent_crypt_blk1_32
      Src: /src/libgcrypt/cipher/serpent.c:1808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1804
    functionDepth: 4
    functionLinenumber: 1804
    functionLinenumberEnd: 1809
    functionName: serpent_decrypt_blk1_32
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached:
    - serpent_crypt_blk1_32
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int serpent_decrypt_blk1_32(void *ctx, byte *out, const byte
      *in,\n\t\t\tsize_t num_blks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bulk_xts_crypt_128
      Src: /src/libgcrypt/cipher/serpent.c:1829,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/serpent.c:1836,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/serpent.c:1840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - context
    - tweak
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1813
    functionDepth: 2
    functionLinenumber: 1813
    functionLinenumberEnd: 1841
    functionName: _gcry_serpent_xts_crypt
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached:
    - wipememory
    - _gcry_burn_stack
    - bulk_xts_crypt_128
    linkageType: ''
    returnType: void
    signature: "void _gcry_serpent_xts_crypt (void *context, unsigned char *tweak,
      void *outbuf_arg,\n\t\t\t const void *inbuf_arg, size_t nblocks, int encrypt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bulk_ecb_crypt_128
      Src: /src/libgcrypt/cipher/serpent.c:1859,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/serpent.c:1866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - context
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1845
    functionDepth: 1
    functionLinenumber: 1845
    functionLinenumberEnd: 1867
    functionName: _gcry_serpent_ecb_crypt
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - bulk_ecb_crypt_128
    linkageType: ''
    returnType: void
    signature: "void _gcry_serpent_ecb_crypt (void *context, void *outbuf_arg, const
      void *inbuf_arg,\n\t\t\t size_t nblocks, int encrypt)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: serpent_setkey_internal
      Src: /src/libgcrypt/cipher/serpent.c:1922,1
    - Dst: serpent_encrypt_internal
      Src: /src/libgcrypt/cipher/serpent.c:1924,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/serpent.c:1926,1
    - Dst: serpent_decrypt_internal
      Src: /src/libgcrypt/cipher/serpent.c:1937,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/serpent.c:1938,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1873
    functionDepth: 3
    functionLinenumber: 1873
    functionLinenumberEnd: 1951
    functionName: serpent_test
    functionSourceFile: /src/libgcrypt/cipher/serpent.c
    functionUses: 1
    functionsReached:
    - serpent_encrypt_internal
    - memcmp
    - serpent_setkey_internal
    - serpent_decrypt_internal
    linkageType: ''
    returnType: char
    signature: 'char *

      serpent_test (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: reverse_buffer
    functionSourceFile: /src/libgcrypt/cipher/ecc-eddsa.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_buffer (unsigned char *buffer, unsigned int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:56,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:58,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: scanval
    functionSourceFile: /src/libgcrypt/cipher/ecc-eddsa.c
    functionUses: 3
    functionsReached:
    - _gcry_mpi_scan
    - log_fatal
    - gpg_strerror
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t scanval (const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_get_buffer
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:76,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - mpi
    - nbits
    - r_buffer
    - r_buflen
    argTypes:
    - gcry_mpi_t
    - unsigned int
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: eddsa_encodempi
    functionSourceFile: /src/libgcrypt/cipher/ecc-eddsa.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_get_buffer
    - gpg_err_code_from_syserror
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t eddsa_encodempi (gcry_mpi_t mpi, unsigned int nbits,\n
      \                unsigned char **r_buffer, unsigned int *r_buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_get_buffer_extra
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:101,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:103,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - x
    - y
    - nbits
    - with_prefix
    - r_buffer
    - r_buflen
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned int
    - int
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 112
    functionName: eddsa_encode_x_y
    functionSourceFile: /src/libgcrypt/cipher/ecc-eddsa.c
    functionUses: 0
    functionsReached:
    - gpg_err_code_from_syserror
    - _gcry_mpi_get_buffer_extra
    - mpi_test_bit
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t eddsa_encode_x_y (gcry_mpi_t x, gcry_mpi_t y, unsigned
      int nbits,\n                  int with_prefix,\n                  unsigned char
      **r_buffer, unsigned int *r_buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:129,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:130,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:132,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:134,1
    - Dst: eddsa_encode_x_y
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:138,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:141,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 7
    argNames:
    - point
    - ec
    - x_in
    - y_in
    - with_prefix
    - r_buffer
    - r_buflen
    argTypes:
    - mpi_point_t
    - mpi_ec_t
    - gcry_mpi_t
    - gcry_mpi_t
    - int
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 145
    functionName: _gcry_ecc_eddsa_encodepoint
    functionSourceFile: /src/libgcrypt/cipher/ecc-eddsa.c
    functionUses: 3
    functionsReached:
    - mpi_free
    - eddsa_encode_x_y
    - log_error
    - mpi_new
    - _gcry_mpi_ec_get_affine
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_eddsa_encodepoint (mpi_point_t point, mpi_ec_t
      ec,\n                             gcry_mpi_t x_in, gcry_mpi_t y_in,\n                             int
      with_prefix,\n                             unsigned char **r_buffer, unsigned
      int *r_buflen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:158,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:160,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:174,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:178,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:182,1
    - Dst: eddsa_encode_x_y
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:186,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:187,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:188,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:192,1
    - Dst: _gcry_mpi_set_opaque_copy
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:199,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - value
    - nbits
    argTypes:
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 205
    functionName: _gcry_ecc_eddsa_ensure_compact
    functionSourceFile: /src/libgcrypt/cipher/ecc-eddsa.c
    functionUses: 1
    functionsReached:
    - _gcry_mpi_set_opaque_copy
    - mpi_free
    - eddsa_encode_x_y
    - gpg_err_code_from_syserror
    - mpi_set_opaque
    - _gcry_mpi_scan
    - mpi_get_opaque
    - mpi_is_opaque
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_ecc_eddsa_ensure_compact (gcry_mpi_t value, unsigned
      int nbits)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:215,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:219,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:222,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:223,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:224,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:225,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:226,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:230,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:232,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:234,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:236,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:240,1
    - Dst: mpi_const
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:240,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:241,1
    - Dst: mpi_const
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:241,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:243,1
    - Dst: mpi_const
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:243,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:244,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:245,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:247,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:249,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:250,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:253,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:254,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:256,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:260,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:264,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:265,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:268,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:269,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:270,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:271,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:272,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 4
    argNames:
    - x
    - y
    - x_0
    - ec
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - int
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 275
    functionName: ecc_ed448_recover_x
    functionSourceFile: /src/libgcrypt/cipher/ecc-eddsa.c
    functionUses: 0
    functionsReached:
    - mpi_sub_ui
    - mpi_free
    - mpi_cmp
    - mpi_mulm
    - mpi_cmp_ui
    - mpi_new
    - mpi_const
    - mpi_test_bit
    - scanval
    - mpi_sub
    - mpi_powm
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t ecc_ed448_recover_x (gcry_mpi_t x, gcry_mpi_t y, int
      x_0, mpi_ec_t ec)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ecc_ed448_recover_x
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:293,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:298,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:301,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:303,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:304,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:305,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:306,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:310,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:312,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:314,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:316,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:320,1
    - Dst: mpi_const
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:320,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:322,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:323,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:325,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:327,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:328,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:332,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:333,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:335,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:336,1
    - Dst: scanval
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:340,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:342,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:344,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:345,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:347,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:348,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:353,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:354,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:356,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:357,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:358,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:359,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 4
    argNames:
    - x
    - y
    - sign
    - ec
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - int
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 362
    functionName: _gcry_ecc_eddsa_recover_x
    functionSourceFile: /src/libgcrypt/cipher/ecc-eddsa.c
    functionUses: 0
    functionsReached:
    - ecc_ed448_recover_x
    - mpi_sub_ui
    - mpi_free
    - mpi_set_ui
    - mpi_sub
    - mpi_cmp
    - mpi_mulm
    - mpi_new
    - mpi_const
    - mpi_test_bit
    - scanval
    - mpi_powm
    - mpi_add_ui
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_ecc_eddsa_recover_x (gcry_mpi_t x, gcry_mpi_t
      y, int sign, mpi_ec_t ec)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:380,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:387,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:408,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:412,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:416,1
    - Dst: eddsa_encode_x_y
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:422,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:426,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:427,1
    - Dst: mpi_snatch
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:431,1
    - Dst: mpi_snatch
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:432,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:433,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:448,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:450,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:451,1
    - Dst: reverse_buffer
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:452,1
    - Dst: _gcry_mpi_get_buffer
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:459,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:461,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:471,1
    - Dst: reverse_buffer
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:477,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:483,1
    - Dst: _gcry_ecc_eddsa_recover_x
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:485,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:486,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 5
    argNames:
    - pk
    - ctx
    - result
    - r_encpk
    - r_encpklen
    argTypes:
    - gcry_mpi_t
    - mpi_ec_t
    - mpi_point_t
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 489
    functionName: _gcry_ecc_eddsa_decodepoint
    functionSourceFile: /src/libgcrypt/cipher/ecc-eddsa.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_get_buffer
    - mpi_free
    - eddsa_encode_x_y
    - gpg_err_code_from_syserror
    - reverse_buffer
    - mpi_snatch
    - xfree
    - memcpy
    - _gcry_ecc_eddsa_recover_x
    - _gcry_mpi_set_buffer
    - mpi_set_ui
    - _gcry_mpi_scan
    - mpi_get_opaque
    - xtrymalloc
    - mpi_is_opaque
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_eddsa_decodepoint (gcry_mpi_t pk, mpi_ec_t
      ctx, mpi_point_t result,\n                             unsigned char **r_encpk,
      unsigned int *r_encpklen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc_secure
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:531,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:533,1
    - Dst: _gcry_mpi_get_buffer
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:535,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:538,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:539,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:542,1
    - Dst: _gcry_md_hash_buffers_extract
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:549,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:551,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:554,1
    - Dst: reverse_buffer
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:559,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - r_digest
    - ec
    argTypes:
    - unsigned char**
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 497
    functionDepth: 6
    functionLinenumber: 497
    functionLinenumberEnd: 576
    functionName: _gcry_ecc_eddsa_compute_h_d
    functionSourceFile: /src/libgcrypt/cipher/ecc-eddsa.c
    functionUses: 1
    functionsReached:
    - xtrycalloc_secure
    - _gcry_mpi_get_buffer
    - gpg_err_code_from_syserror
    - _gcry_md_hash_buffers_extract
    - reverse_buffer
    - xfree
    - memset
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_ecc_eddsa_compute_h_d (unsigned char **r_digest,
      mpi_ec_t ec)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:618,1
    - Dst: _gcry_random_bytes_secure
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:621,1
    - Dst: _gcry_mpi_set_opaque
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:622,1
    - Dst: _gcry_ecc_eddsa_compute_h_d
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:623,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:627,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:628,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:632,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:633,1
    - Dst: log_printpnt
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:635,1
    - Dst: mpi_point_snatch_set
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:637,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:643,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - ec
    - flags
    argTypes:
    - mpi_ec_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 590
    functionDepth: 7
    functionLinenumber: 590
    functionLinenumberEnd: 645
    functionName: _gcry_ecc_eddsa_genkey
    functionSourceFile: /src/libgcrypt/cipher/ecc-eddsa.c
    functionUses: 1
    functionsReached:
    - log_printpnt
    - _gcry_mpi_release
    - _gcry_mpi_ec_mul_point
    - mpi_snew
    - point_init
    - _gcry_ecc_eddsa_compute_h_d
    - xfree
    - mpi_point_snatch_set
    - _gcry_mpi_set_opaque
    - _gcry_random_bytes_secure
    - _gcry_mpi_set_buffer
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_ecc_eddsa_genkey (mpi_ec_t ec, int flags)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:711,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:715,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:716,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:717,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:718,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:719,1
    - Dst: _gcry_ecc_eddsa_compute_h_d
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:721,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:724,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:731,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:732,1
    - Dst: mpi_point_snatch_set
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:733,1
    - Dst: _gcry_ecc_eddsa_encodepoint
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:735,1
    - Dst: log_printhex
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:739,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:742,1
    - Dst: log_printhex
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:745,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:747,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:774,1
    - Dst: _gcry_md_hash_buffers_extract
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:779,1
    - Dst: _gcry_md_hash_buffers_extract
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:791,1
    - Dst: reverse_buffer
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:795,1
    - Dst: log_printhex
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:797,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:798,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:799,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:800,1
    - Dst: log_printpnt
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:802,1
    - Dst: _gcry_ecc_eddsa_encodepoint
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:805,1
    - Dst: log_printhex
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:809,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:811,1
    - Dst: _gcry_md_hash_buffers_extract
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:851,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:857,1
    - Dst: reverse_buffer
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:860,1
    - Dst: log_printhex
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:862,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:863,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:864,1
    - Dst: mpi_addm
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:865,1
    - Dst: eddsa_encodempi
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:866,1
    - Dst: log_printhex
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:870,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:871,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:877,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:878,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:879,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:880,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:881,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:882,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:883,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:884,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 155
    argCount: 5
    argNames:
    - input
    - ec
    - r_r
    - s
    - ctx
    argTypes:
    - gcry_mpi_t
    - mpi_ec_t
    - gcry_mpi_t
    - gcry_mpi_t
    - struct pk_encoding_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 669
    functionDepth: 7
    functionLinenumber: 669
    functionLinenumberEnd: 886
    functionName: _gcry_ecc_eddsa_sign
    functionSourceFile: /src/libgcrypt/cipher/ecc-eddsa.c
    functionUses: 1
    functionsReached:
    - mpi_set_opaque
    - _gcry_mpi_ec_mul_point
    - point_init
    - mpi_addm
    - log_printhex
    - _gcry_ecc_eddsa_encodepoint
    - eddsa_encodempi
    - point_free
    - _gcry_md_hash_buffers_extract
    - reverse_buffer
    - mpi_mod
    - mpi_snew
    - mpi_new
    - _gcry_ecc_eddsa_compute_h_d
    - memset
    - mpi_point_snatch_set
    - xfree
    - mpi_get_opaque
    - _gcry_mpi_set_buffer
    - log_printpnt
    - _gcry_mpi_release
    - mpi_mulm
    - mpi_is_opaque
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_eddsa_sign (gcry_mpi_t input, mpi_ec_t ec,\n
      \                     gcry_mpi_t r_r, gcry_mpi_t s,\n                      struct
      pk_encoding_ctx *ctx)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:917,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:917,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:917,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:938,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:939,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:940,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:941,1
    - Dst: _gcry_ecc_eddsa_encodepoint
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:944,1
    - Dst: _gcry_mpi_ec_curve_point
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:948,1
    - Dst: log_printhex
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:954,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:962,1
    - Dst: log_printhex
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:965,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:966,1
    - Dst: log_printhex
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:969,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:976,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1006,1
    - Dst: _gcry_md_hash_buffers_extract
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1011,1
    - Dst: _gcry_md_hash_buffers_extract
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1023,1
    - Dst: reverse_buffer
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1027,1
    - Dst: log_printhex
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1029,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1030,1
    - Dst: _gcry_mpi_get_opaque_copy
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1039,1
    - Dst: reverse_buffer
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1041,1
    - Dst: log_printhex
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1043,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1044,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1045,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1051,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1058,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1059,1
    - Dst: _gcry_mpi_sub
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1060,1
    - Dst: _gcry_mpi_ec_add_points
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1061,1
    - Dst: _gcry_ecc_eddsa_encodepoint
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1062,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1065,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1074,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1075,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1076,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1077,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1078,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-eddsa.c:1079,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 133
    argCount: 5
    argNames:
    - input
    - ec
    - r_in
    - s_in
    - ctx
    argTypes:
    - gcry_mpi_t
    - mpi_ec_t
    - gcry_mpi_t
    - gcry_mpi_t
    - struct pk_encoding_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 892
    functionDepth: 6
    functionLinenumber: 892
    functionLinenumberEnd: 1081
    functionName: _gcry_ecc_eddsa_verify
    functionSourceFile: /src/libgcrypt/cipher/ecc-eddsa.c
    functionUses: 1
    functionsReached:
    - _gcry_mpi_ec_add_points
    - _gcry_mpi_ec_mul_point
    - point_init
    - log_printhex
    - mpi_cmp
    - _gcry_mpi_get_opaque_copy
    - _gcry_ecc_eddsa_encodepoint
    - _gcry_mpi_ec_curve_point
    - _gcry_mpi_sub
    - point_free
    - _gcry_md_hash_buffers_extract
    - reverse_buffer
    - mpi_new
    - memset
    - xfree
    - _gcry_mpi_set_buffer
    - mpi_get_opaque
    - _gcry_mpi_release
    - memcmp
    - mpi_is_opaque
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_eddsa_verify (gcry_mpi_t input, mpi_ec_t
      ec,\n                        gcry_mpi_t r_in, gcry_mpi_t s_in,\n                        struct
      pk_encoding_ctx *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cipher_bytecounter_add
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctr
    - add
    argTypes:
    - u32[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: poly1305_bytecounter_add
    functionSourceFile: /src/libgcrypt/cipher/cipher-poly1305.c
    functionUses: 0
    functionsReached:
    - cipher_bytecounter_add
    linkageType: ''
    returnType: int
    signature: int poly1305_bytecounter_add (u32 ctr[2], size_t add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: le_bswap32
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:45,1
    - Dst: le_bswap32
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:46,1
    - Dst: le_bswap32
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:47,1
    - Dst: le_bswap32
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:48,1
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:49,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: poly1305_fill_bytecounts
    functionSourceFile: /src/libgcrypt/cipher/cipher-poly1305.c
    functionUses: 0
    functionsReached:
    - le_bswap32
    - _gcry_poly1305_update
    - wipememory
    linkageType: ''
    returnType: void
    signature: void poly1305_fill_bytecounts (gcry_cipher_hd_t c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - c
    - ctr
    argTypes:
    - gcry_cipher_hd_t
    - u32[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: poly1305_do_padding
    functionSourceFile: /src/libgcrypt/cipher/cipher-poly1305.c
    functionUses: 0
    functionsReached:
    - _gcry_poly1305_update
    linkageType: ''
    returnType: void
    signature: void poly1305_do_padding (gcry_cipher_hd_t c, u32 ctr[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly1305_do_padding
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 5
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: poly1305_aad_finish
    functionSourceFile: /src/libgcrypt/cipher/cipher-poly1305.c
    functionUses: 0
    functionsReached:
    - poly1305_do_padding
    linkageType: ''
    returnType: void
    signature: void poly1305_aad_finish (gcry_cipher_hd_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_poly1305_setiv
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: poly1305_set_zeroiv
    functionSourceFile: /src/libgcrypt/cipher/cipher-poly1305.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_poly1305_setiv
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t poly1305_set_zeroiv (gcry_cipher_hd_t c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: poly1305_set_zeroiv
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:108,1
    - Dst: poly1305_bytecounter_add
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:110,1
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - c
    - aadbuf
    - aadbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 119
    functionName: _gcry_cipher_poly1305_authenticate
    functionSourceFile: /src/libgcrypt/cipher/cipher-poly1305.c
    functionUses: 0
    functionsReached:
    - poly1305_bytecounter_add
    - _gcry_poly1305_update
    - poly1305_set_zeroiv
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_poly1305_authenticate (gcry_cipher_hd_t
      c,\n\t\t\t\t    const byte * aadbuf, size_t aadbuflen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: poly1305_set_zeroiv
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:138,1
    - Dst: poly1305_aad_finish
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:144,1
    - Dst: poly1305_bytecounter_add
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:146,1
    - Dst: LIKELY
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:153,1
    - Dst: LIKELY
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:153,1
    - Dst: _gcry_chacha20_poly1305_encrypt
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:155,1
    - Dst: gcry_cipher_hd_t::spec::stencrypt
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:170,1
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:172,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 122
    functionDepth: 6
    functionLinenumber: 122
    functionLinenumberEnd: 181
    functionName: _gcry_cipher_poly1305_encrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-poly1305.c
    functionUses: 0
    functionsReached:
    - _gcry_poly1305_update
    - poly1305_aad_finish
    - gcry_cipher_hd_t::spec::stencrypt
    - LIKELY
    - poly1305_bytecounter_add
    - poly1305_set_zeroiv
    - _gcry_chacha20_poly1305_encrypt
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_poly1305_encrypt (gcry_cipher_hd_t c,\n\t\t\t
      \      byte *outbuf, size_t outbuflen,\n\t\t\t       const byte *inbuf, size_t
      inbuflen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: poly1305_set_zeroiv
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:200,1
    - Dst: poly1305_aad_finish
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:206,1
    - Dst: poly1305_bytecounter_add
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:208,1
    - Dst: LIKELY
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:215,1
    - Dst: LIKELY
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:215,1
    - Dst: _gcry_chacha20_poly1305_decrypt
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:217,1
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:232,1
    - Dst: gcry_cipher_hd_t::spec::stdecrypt
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:234,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 5
    argNames:
    - c
    - outbuf
    - outbuflen
    - inbuf
    - inbuflen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 184
    functionDepth: 6
    functionLinenumber: 184
    functionLinenumberEnd: 243
    functionName: _gcry_cipher_poly1305_decrypt
    functionSourceFile: /src/libgcrypt/cipher/cipher-poly1305.c
    functionUses: 0
    functionsReached:
    - _gcry_poly1305_update
    - poly1305_aad_finish
    - gcry_cipher_hd_t::spec::stdecrypt
    - _gcry_chacha20_poly1305_decrypt
    - LIKELY
    - poly1305_bytecounter_add
    - poly1305_set_zeroiv
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_poly1305_decrypt (gcry_cipher_hd_t c,\n\t\t\t
      \      byte *outbuf, size_t outbuflen,\n\t\t\t       const byte *inbuf, size_t
      inbuflen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: poly1305_set_zeroiv
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:259,1
    - Dst: poly1305_aad_finish
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:265,1
    - Dst: poly1305_do_padding
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:270,1
    - Dst: poly1305_fill_bytecounts
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:273,1
    - Dst: _gcry_poly1305_finish
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:275,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:282,1
    - Dst: buf_eq_const
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:289,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - c
    - outbuf
    - outbuflen
    - check
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 246
    functionDepth: 6
    functionLinenumber: 246
    functionLinenumberEnd: 294
    functionName: _gcry_cipher_poly1305_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-poly1305.c
    functionUses: 0
    functionsReached:
    - poly1305_fill_bytecounts
    - poly1305_do_padding
    - poly1305_aad_finish
    - buf_eq_const
    - _gcry_poly1305_finish
    - memcpy
    - poly1305_set_zeroiv
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_poly1305_tag (gcry_cipher_hd_t c,\n\t\t\t
      \  byte * outbuf, size_t outbuflen, int check)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_poly1305_tag
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - outtag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 7
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: _gcry_cipher_poly1305_get_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-poly1305.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_poly1305_tag
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_poly1305_get_tag (gcry_cipher_hd_t c,
      unsigned char *outtag,\n                          size_t taglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_poly1305_tag
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - intag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 7
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: _gcry_cipher_poly1305_check_tag
    functionSourceFile: /src/libgcrypt/cipher/cipher-poly1305.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_poly1305_tag
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_cipher_poly1305_check_tag (gcry_cipher_hd_t
      c, const unsigned char *intag,\n                            size_t taglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 325
    functionName: _gcry_cipher_poly1305_setkey
    functionSourceFile: /src/libgcrypt/cipher/cipher-poly1305.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_cipher_poly1305_setkey (gcry_cipher_hd_t c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:338,1
    - Dst: gcry_cipher_hd_t::spec::setiv
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:352,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:355,1
    - Dst: gcry_cipher_hd_t::spec::stencrypt
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:356,1
    - Dst: _gcry_poly1305_init
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:359,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/cipher-poly1305.c:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - c
    - iv
    - ivlen
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 368
    functionName: _gcry_cipher_poly1305_setiv
    functionSourceFile: /src/libgcrypt/cipher/cipher-poly1305.c
    functionUses: 1
    functionsReached:
    - _gcry_poly1305_init
    - gcry_cipher_hd_t::spec::setiv
    - gcry_cipher_hd_t::spec::stencrypt
    - wipememory
    - memset
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_cipher_poly1305_setiv (gcry_cipher_hd_t c, const
      byte *iv, size_t ivlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buffer
    - ','
    - block
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: buffer_to_block
    functionSourceFile: /src/libgcrypt/cipher/whirlpool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: buffer_to_block(buffer, block, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buffer
    - ','
    - block
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: block_to_buffer
    functionSourceFile: /src/libgcrypt/cipher/whirlpool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: block_to_buffer(buffer, block, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - block_dst
    - ','
    - block_src
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: block_copy
    functionSourceFile: /src/libgcrypt/cipher/whirlpool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: block_copy(block_dst, block_src, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - block_dst
    - ','
    - block_src
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: block_xor
    functionSourceFile: /src/libgcrypt/cipher/whirlpool.c
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: block_xor(block_dst, block_src, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/whirlpool.c:1180,1
    - Dst: _gcry_ctz
      Src: /src/libgcrypt/cipher/whirlpool.c:1182,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/whirlpool.c:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1175
    functionDepth: 2
    functionLinenumber: 1175
    functionLinenumberEnd: 1191
    functionName: whirlpool_init
    functionSourceFile: /src/libgcrypt/cipher/whirlpool.c
    functionUses: 0
    functionsReached:
    - _gcry_ctz
    - memset
    linkageType: ''
    returnType: void
    signature: void whirlpool_init (void *ctx, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_whirlpool_transform_amd64
      Src: /src/libgcrypt/cipher/whirlpool.c:1213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1215
    functionName: whirlpool_transform
    functionSourceFile: /src/libgcrypt/cipher/whirlpool.c
    functionUses: 0
    functionsReached:
    - _gcry_whirlpool_transform_amd64
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int whirlpool_transform (void *ctx, const unsigned char *data,
      size_t nblks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_to_block
      Src: /src/libgcrypt/cipher/whirlpool.c:1233,1
    - Dst: block_copy
      Src: /src/libgcrypt/cipher/whirlpool.c:1234,1
    - Dst: block_copy
      Src: /src/libgcrypt/cipher/whirlpool.c:1235,1
    - Dst: block_xor
      Src: /src/libgcrypt/cipher/whirlpool.c:1236,1
    - Dst: block_copy
      Src: /src/libgcrypt/cipher/whirlpool.c:1274,1
    - Dst: block_copy
      Src: /src/libgcrypt/cipher/whirlpool.c:1310,1
    - Dst: block_xor
      Src: /src/libgcrypt/cipher/whirlpool.c:1315,1
    - Dst: block_xor
      Src: /src/libgcrypt/cipher/whirlpool.c:1316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - void*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1222
    functionDepth: 1
    functionLinenumber: 1222
    functionLinenumberEnd: 1320
    functionName: whirlpool_transform_blk
    functionSourceFile: /src/libgcrypt/cipher/whirlpool.c
    functionUses: 0
    functionsReached:
    - buffer_to_block
    - block_copy
    - block_xor
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int whirlpool_transform_blk (void *ctx, const unsigned char
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: whirlpool_transform_blk
      Src: /src/libgcrypt/cipher/whirlpool.c:1329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - c
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1322
    functionDepth: 2
    functionLinenumber: 1322
    functionLinenumberEnd: 1335
    functionName: whirlpool_transform
    functionSourceFile: /src/libgcrypt/cipher/whirlpool.c
    functionUses: 0
    functionsReached:
    - whirlpool_transform_blk
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int whirlpool_transform ( void *c, const unsigned char *data,
      size_t nblks )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: whirlpool_transform
      Src: /src/libgcrypt/cipher/whirlpool.c:1355,1
    - Dst: whirlpool_add_bugemu
      Src: /src/libgcrypt/cipher/whirlpool.c:1368,1
    - Dst: whirlpool_transform
      Src: /src/libgcrypt/cipher/whirlpool.c:1375,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/whirlpool.c:1399,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - context
    - buffer_arg
    - buffer_n
    argTypes:
    - whirlpool_context_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1341
    functionDepth: 1
    functionLinenumber: 1341
    functionLinenumberEnd: 1400
    functionName: whirlpool_add_bugemu
    functionSourceFile: /src/libgcrypt/cipher/whirlpool.c
    functionUses: 1
    functionsReached:
    - whirlpool_add_bugemu
    - gcry_assert
    - whirlpool_transform
    linkageType: ''
    returnType: void
    signature: "void whirlpool_add_bugemu (whirlpool_context_t *context,\n                      const
      void *buffer_arg, size_t buffer_n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: whirlpool_add_bugemu
      Src: /src/libgcrypt/cipher/whirlpool.c:1411,1
    - Dst: whirlpool_add_bugemu
      Src: /src/libgcrypt/cipher/whirlpool.c:1421,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/whirlpool.c:1427,1
    - Dst: whirlpool_add_bugemu
      Src: /src/libgcrypt/cipher/whirlpool.c:1430,1
    - Dst: block_to_buffer
      Src: /src/libgcrypt/cipher/whirlpool.c:1432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1404
    functionDepth: 2
    functionLinenumber: 1404
    functionLinenumberEnd: 1433
    functionName: whirlpool_final_bugemu
    functionSourceFile: /src/libgcrypt/cipher/whirlpool.c
    functionUses: 0
    functionsReached:
    - block_to_buffer
    - whirlpool_add_bugemu
    - memcpy
    linkageType: ''
    returnType: void
    signature: void whirlpool_final_bugemu (void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: whirlpool_add_bugemu
      Src: /src/libgcrypt/cipher/whirlpool.c:1443,1
    - Dst: _gcry_md_block_write
      Src: /src/libgcrypt/cipher/whirlpool.c:1449,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/whirlpool.c:1451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - buffer
    - buffer_n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1436
    functionDepth: 2
    functionLinenumber: 1436
    functionLinenumberEnd: 1453
    functionName: whirlpool_write
    functionSourceFile: /src/libgcrypt/cipher/whirlpool.c
    functionUses: 0
    functionsReached:
    - _gcry_md_block_write
    - whirlpool_add_bugemu
    - gcry_assert
    linkageType: ''
    returnType: void
    signature: void whirlpool_write (void *ctx, const void *buffer, size_t buffer_n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: whirlpool_final_bugemu
      Src: /src/libgcrypt/cipher/whirlpool.c:1465,1
    - Dst: whirlpool_write
      Src: /src/libgcrypt/cipher/whirlpool.c:1489,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/whirlpool.c:1498,1
    - Dst: whirlpool_write
      Src: /src/libgcrypt/cipher/whirlpool.c:1501,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/whirlpool.c:1504,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/whirlpool.c:1510,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/whirlpool.c:1511,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/whirlpool.c:1512,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/cipher/whirlpool.c:1513,1
    - Dst: whirlpool_write
      Src: /src/libgcrypt/cipher/whirlpool.c:1515,1
    - Dst: block_to_buffer
      Src: /src/libgcrypt/cipher/whirlpool.c:1517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1455
    functionDepth: 3
    functionLinenumber: 1455
    functionLinenumberEnd: 1518
    functionName: whirlpool_final
    functionSourceFile: /src/libgcrypt/cipher/whirlpool.c
    functionUses: 0
    functionsReached:
    - whirlpool_write
    - memset
    - buf_put_be64
    - block_to_buffer
    - whirlpool_final_bugemu
    linkageType: ''
    returnType: void
    signature: void whirlpool_final (void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1526
    functionName: whirlpool_read
    functionSourceFile: /src/libgcrypt/cipher/whirlpool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      whirlpool_read (void *ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: pand128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pand128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: pandn128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pandn128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: pxor128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pxor128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: paddq128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: paddq128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: paddd128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: paddd128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: paddb128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: paddb128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: psrld128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psrld128(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: psraq128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psraq128(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: psrldq128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psrldq128(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: pslldq128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pslldq128(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: psrl_byte_128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psrl_byte_128(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m8
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: pshufb128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufb128(m8, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m32
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: pshufd128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufd128(m32, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: pshufd128_0x93
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufd128_0x93(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: pshufd128_0xFF
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufd128_0xFF(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: pshufd128_0xFE
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufd128_0xFE(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: pshufd128_0x4E
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufd128_0x4E(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: palignr128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: palignr128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: movdqa128
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movdqa128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: movdqa128_memld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movdqa128_memld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: pand128_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pand128_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: pxor128_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pxor128_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: paddq128_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: paddq128_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: paddd128_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: paddd128_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: pshufb128_amemld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pshufb128_amemld(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: movdqu128_memld
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movdqu128_memld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: movdqu128_memst
    functionSourceFile: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movdqu128_memst(a, o)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:57,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:59,1
    - Dst: _gcry_dsa_compute_hash
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:63,1
    - Dst: _gcry_dsa_normalize_hash
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:70,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:74,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:78,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:79,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:82,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:83,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:85,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:88,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:89,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:90,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:91,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:92,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:105,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:109,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:113,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:119,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:126,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:132,1
    - Dst: _gcry_dsa_gen_rfc6979_k
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:133,1
    - Dst: _gcry_dsa_gen_k
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:141,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:144,1
    - Dst: _gcry_dsa_modify_k
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:146,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:148,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:149,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:152,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:156,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:158,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:169,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:170,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:171,1
    - Dst: mpi_addm
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:172,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:178,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:179,1
    - Dst: _gcry_mpih_mul_lli
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:182,1
    - Dst: _gcry_mpih_mod_lli
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:187,1
    - Dst: _gcry_mpi_assign_limb_space
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:189,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:193,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:194,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:206,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:207,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:211,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:212,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:213,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:214,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:215,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:216,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:217,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:219,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:222,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:223,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 116
    argCount: 7
    argNames:
    - input
    - k_supplied
    - ec
    - r
    - s
    - flags
    - hashalgo
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    - gcry_mpi_t
    - gcry_mpi_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 226
    functionName: _gcry_ecc_ecdsa_sign
    functionSourceFile: /src/libgcrypt/cipher/ecc-ecdsa.c
    functionUses: 2
    functionsReached:
    - fips_check_rejection
    - mpi_free
    - log_mpidump
    - _gcry_mpi_ec_mul_point
    - point_init
    - mpi_addm
    - _gcry_dsa_compute_hash
    - _gcry_mpi_randomize
    - _gcry_mpih_mul_lli
    - fips_service_indicator_mark_non_compliant
    - mpi_invm
    - mpi_cmp_ui
    - _gcry_mpi_ec_get_affine
    - log_debug
    - point_free
    - mpi_resize
    - mpi_mod
    - mpi_snew
    - mpi_new
    - fips_mode
    - _gcry_mpi_assign_limb_space
    - mpi_get_opaque
    - _gcry_dsa_gen_k
    - _gcry_mpih_mod_lli
    - mpi_get_nbits
    - _gcry_dsa_gen_rfc6979_k
    - mpi_mulm
    - _gcry_dsa_normalize_hash
    - _gcry_dsa_modify_k
    - mpi_is_opaque
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_ecdsa_sign (gcry_mpi_t input, gcry_mpi_t
      k_supplied, mpi_ec_t ec,\n                      gcry_mpi_t r, gcry_mpi_t s,\n
      \                     int flags, int hashalgo)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_ec_curve_point
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:242,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:245,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:245,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:247,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:247,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:250,1
    - Dst: _gcry_dsa_compute_hash
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:253,1
    - Dst: _gcry_dsa_normalize_hash
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:260,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:263,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:267,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:268,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:269,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:270,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:271,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:272,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:273,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:276,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:278,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:280,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:282,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:284,1
    - Dst: _gcry_mpi_ec_add_points
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:286,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:288,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:291,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:295,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:298,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:302,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:303,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:307,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:308,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:309,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:316,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:317,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:318,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:319,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:320,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:321,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:322,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:324,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-ecdsa.c:325,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 6
    argNames:
    - input
    - ec
    - r
    - s
    - flags
    - hashalgo
    argTypes:
    - gcry_mpi_t
    - mpi_ec_t
    - gcry_mpi_t
    - gcry_mpi_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 328
    functionName: _gcry_ecc_ecdsa_verify
    functionSourceFile: /src/libgcrypt/cipher/ecc-ecdsa.c
    functionUses: 2
    functionsReached:
    - point_free
    - _gcry_mpi_ec_add_points
    - mpi_free
    - log_mpidump
    - mpi_cmp
    - mpi_invm
    - mpi_mulm
    - _gcry_mpi_ec_mul_point
    - mpi_mod
    - mpi_cmp_ui
    - mpi_new
    - point_init
    - _gcry_dsa_compute_hash
    - _gcry_mpi_ec_curve_point
    - _gcry_mpi_ec_get_affine
    - _gcry_dsa_normalize_hash
    - log_debug
    - mpi_get_nbits
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_ecdsa_verify (gcry_mpi_t input, mpi_ec_t
      ec,\n                        gcry_mpi_t r, gcry_mpi_t s, int flags, int hashalgo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: POLY1305_LOAD_STATE
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_LOAD_STATE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: POLY1305_STORE_STATE
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_STORE_STATE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - src_offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: POLY1305_BLOCK_PART1
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-amd64.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART1(src_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: POLY1305_BLOCK_PART2
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-amd64.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART2()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: POLY1305_BLOCK_PART3
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART3()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: POLY1305_BLOCK_PART4
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART4()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: POLY1305_BLOCK_PART5
    functionSourceFile: /src/libgcrypt/cipher/asm-poly1305-amd64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_BLOCK_PART5()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:141,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:142,1
    - Dst: _gcry_aes_sbox4_armv8_ce
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:155,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:155,1
    - Dst: _gcry_aes_sbox4_armv8_ce
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - RIJNDAEL_context*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 169
    functionName: _gcry_aes_armv8_ce_setkey
    functionSourceFile: /src/libgcrypt/cipher/rijndael-armv8-ce.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_sbox4_armv8_ce
    - buf_get_le32
    - rol
    linkageType: ''
    returnType: void
    signature: void _gcry_aes_armv8_ce_setkey (RIJNDAEL_context *ctx, const byte *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DO_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:186,1
    - Dst: DO_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:187,1
    - Dst: DO_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:188,1
    - Dst: DO_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:189,1
    - Dst: DO_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:190,1
    - Dst: DO_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:191,1
    - Dst: DO_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:192,1
    - Dst: DO_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:193,1
    - Dst: DO_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:194,1
    - Dst: DO_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:199,1
    - Dst: DO_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:200,1
    - Dst: DO_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:203,1
    - Dst: DO_AESIMC
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 48
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 210
    functionName: _gcry_aes_armv8_ce_prepare_decryption
    functionSourceFile: /src/libgcrypt/cipher/rijndael-armv8-ce.c
    functionUses: 0
    functionsReached:
    - DO_AESIMC
    linkageType: ''
    returnType: void
    signature: void _gcry_aes_armv8_ce_prepare_decryption (RIJNDAEL_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: DO_AESIMC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-armv8-ce.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_AESIMC()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_enc_armv8_ce
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - dst
    - src
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: _gcry_aes_armv8_ce_encrypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-armv8-ce.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_enc_armv8_ce
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_aes_armv8_ce_encrypt (const RIJNDAEL_context *ctx,
      unsigned char *dst,\n                            const unsigned char *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_dec_armv8_ce
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - dst
    - src
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: _gcry_aes_armv8_ce_decrypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-armv8-ce.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_dec_armv8_ce
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gcry_aes_armv8_ce_decrypt (const RIJNDAEL_context *ctx,
      unsigned char *dst,\n                            const unsigned char *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_cbc_enc_armv8_ce
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - iv
    - outbuf
    - inbuf
    - nblocks
    - cbc_mac
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: _gcry_aes_armv8_ce_cbc_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-armv8-ce.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_cbc_enc_armv8_ce
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_armv8_ce_cbc_enc (const RIJNDAEL_context *ctx, unsigned
      char *iv,\n                            unsigned char *outbuf, const unsigned
      char *inbuf,\n                            size_t nblocks, int cbc_mac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_armv8_ce_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:254,1
    - Dst: _gcry_aes_cbc_dec_armv8_ce
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ctx
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: _gcry_aes_armv8_ce_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-armv8-ce.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_armv8_ce_prepare_decryption
    - _gcry_aes_cbc_dec_armv8_ce
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_armv8_ce_cbc_dec (RIJNDAEL_context *ctx, unsigned char
      *iv,\n                            unsigned char *outbuf, const unsigned char
      *inbuf,\n                            size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_cfb_enc_armv8_ce
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 270
    functionName: _gcry_aes_armv8_ce_cfb_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-armv8-ce.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_cfb_enc_armv8_ce
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_armv8_ce_cfb_enc (RIJNDAEL_context *ctx, unsigned char
      *iv,\n                            unsigned char *outbuf, const unsigned char
      *inbuf,\n                            size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_cfb_dec_armv8_ce
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: _gcry_aes_armv8_ce_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-armv8-ce.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_cfb_dec_armv8_ce
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_armv8_ce_cfb_dec (RIJNDAEL_context *ctx, unsigned char
      *iv,\n                            unsigned char *outbuf, const unsigned char
      *inbuf,\n                            size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_ctr_enc_armv8_ce
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: _gcry_aes_armv8_ce_ctr_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-armv8-ce.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_ctr_enc_armv8_ce
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_armv8_ce_ctr_enc (RIJNDAEL_context *ctx, unsigned char
      *iv,\n                            unsigned char *outbuf, const unsigned char
      *inbuf,\n                            size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_ctr32le_enc_armv8_ce
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - iv
    - outbuf
    - inbuf
    - nblocks
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: _gcry_aes_armv8_ce_ctr32le_enc
    functionSourceFile: /src/libgcrypt/cipher/rijndael-armv8-ce.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_ctr32le_enc_armv8_ce
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_armv8_ce_ctr32le_enc (RIJNDAEL_context *ctx, unsigned
      char *iv,\n                                unsigned char *outbuf,\n                                const
      unsigned char *inbuf, size_t nblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_armv8_ce_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:319,1
    - Dst: _gcry_aes_ocb_enc_armv8_ce
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:326,1
    - Dst: _gcry_aes_ocb_dec_armv8_ce
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 335
    functionName: _gcry_aes_armv8_ce_ocb_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-armv8-ce.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_armv8_ce_prepare_decryption
    - _gcry_aes_ocb_enc_armv8_ce
    - _gcry_aes_ocb_dec_armv8_ce
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_aes_armv8_ce_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg,\n
      \                             const void *inbuf_arg, size_t nblocks,\n                              int
      encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_ocb_auth_armv8_ce
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - abuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 352
    functionName: _gcry_aes_armv8_ce_ocb_auth
    functionSourceFile: /src/libgcrypt/cipher/rijndael-armv8-ce.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_ocb_auth_armv8_ce
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_aes_armv8_ce_ocb_auth (gcry_cipher_hd_t c, void *abuf_arg,\n
      \                            size_t nblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_armv8_ce_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:364,1
    - Dst: _gcry_aes_xts_enc_armv8_ce
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:369,1
    - Dst: _gcry_aes_xts_dec_armv8_ce
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - ctx
    - tweak
    - outbuf
    - inbuf
    - nblocks
    - encrypt
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 374
    functionName: _gcry_aes_armv8_ce_xts_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-armv8-ce.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_armv8_ce_prepare_decryption
    - _gcry_aes_xts_enc_armv8_ce
    - _gcry_aes_xts_dec_armv8_ce
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_armv8_ce_xts_crypt (RIJNDAEL_context *ctx, unsigned
      char *tweak,\n\t\t\t      unsigned char *outbuf, const unsigned char *inbuf,\n\t\t\t
      \     size_t nblocks, int encrypt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aes_armv8_ce_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:387,1
    - Dst: _gcry_aes_ecb_enc_armv8_ce
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:392,1
    - Dst: _gcry_aes_ecb_dec_armv8_ce
      Src: /src/libgcrypt/cipher/rijndael-armv8-ce.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - context
    - outbuf
    - inbuf
    - nblocks
    - encrypt
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 395
    functionName: _gcry_aes_armv8_ce_ecb_crypt
    functionSourceFile: /src/libgcrypt/cipher/rijndael-armv8-ce.c
    functionUses: 0
    functionsReached:
    - _gcry_aes_ecb_enc_armv8_ce
    - _gcry_aes_armv8_ce_prepare_decryption
    - _gcry_aes_ecb_dec_armv8_ce
    linkageType: ''
    returnType: void
    signature: "void _gcry_aes_armv8_ce_ecb_crypt (void *context, void *outbuf,\n\t\t\t
      \     const void *inbuf, size_t nblocks,\n\t\t\t      int encrypt)"
  - 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: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: ROTATE
    functionSourceFile: /src/libgcrypt/cipher/chacha20.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(v,c)
  - 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: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: XOR
    functionSourceFile: /src/libgcrypt/cipher/chacha20.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XOR(v,w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: PLUS
    functionSourceFile: /src/libgcrypt/cipher/chacha20.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLUS(v,w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: PLUSONE
    functionSourceFile: /src/libgcrypt/cipher/chacha20.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLUSONE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: QUARTERROUND
    functionSourceFile: /src/libgcrypt/cipher/chacha20.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUARTERROUND(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - offset
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: BUF_XOR_LE32
    functionSourceFile: /src/libgcrypt/cipher/chacha20.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUF_XOR_LE32(dst, src, offset, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUARTERROUND
      Src: /src/libgcrypt/cipher/chacha20.c:328,1
    - Dst: QUARTERROUND
      Src: /src/libgcrypt/cipher/chacha20.c:329,1
    - Dst: QUARTERROUND
      Src: /src/libgcrypt/cipher/chacha20.c:330,1
    - Dst: QUARTERROUND
      Src: /src/libgcrypt/cipher/chacha20.c:331,1
    - Dst: QUARTERROUND
      Src: /src/libgcrypt/cipher/chacha20.c:332,1
    - Dst: QUARTERROUND
      Src: /src/libgcrypt/cipher/chacha20.c:333,1
    - Dst: QUARTERROUND
      Src: /src/libgcrypt/cipher/chacha20.c:334,1
    - Dst: QUARTERROUND
      Src: /src/libgcrypt/cipher/chacha20.c:335,1
    - Dst: PLUS
      Src: /src/libgcrypt/cipher/chacha20.c:338,1
    - Dst: PLUS
      Src: /src/libgcrypt/cipher/chacha20.c:339,1
    - Dst: PLUS
      Src: /src/libgcrypt/cipher/chacha20.c:340,1
    - Dst: PLUS
      Src: /src/libgcrypt/cipher/chacha20.c:341,1
    - Dst: PLUS
      Src: /src/libgcrypt/cipher/chacha20.c:342,1
    - Dst: PLUS
      Src: /src/libgcrypt/cipher/chacha20.c:343,1
    - Dst: PLUS
      Src: /src/libgcrypt/cipher/chacha20.c:344,1
    - Dst: PLUS
      Src: /src/libgcrypt/cipher/chacha20.c:345,1
    - Dst: PLUS
      Src: /src/libgcrypt/cipher/chacha20.c:346,1
    - Dst: PLUS
      Src: /src/libgcrypt/cipher/chacha20.c:347,1
    - Dst: PLUS
      Src: /src/libgcrypt/cipher/chacha20.c:348,1
    - Dst: PLUS
      Src: /src/libgcrypt/cipher/chacha20.c:349,1
    - Dst: PLUS
      Src: /src/libgcrypt/cipher/chacha20.c:350,1
    - Dst: PLUS
      Src: /src/libgcrypt/cipher/chacha20.c:351,1
    - Dst: PLUS
      Src: /src/libgcrypt/cipher/chacha20.c:352,1
    - Dst: PLUS
      Src: /src/libgcrypt/cipher/chacha20.c:353,1
    - Dst: PLUSONE
      Src: /src/libgcrypt/cipher/chacha20.c:355,1
    - Dst: PLUS
      Src: /src/libgcrypt/cipher/chacha20.c:356,1
    - Dst: BUF_XOR_LE32
      Src: /src/libgcrypt/cipher/chacha20.c:358,1
    - Dst: BUF_XOR_LE32
      Src: /src/libgcrypt/cipher/chacha20.c:359,1
    - Dst: BUF_XOR_LE32
      Src: /src/libgcrypt/cipher/chacha20.c:360,1
    - Dst: BUF_XOR_LE32
      Src: /src/libgcrypt/cipher/chacha20.c:361,1
    - Dst: BUF_XOR_LE32
      Src: /src/libgcrypt/cipher/chacha20.c:362,1
    - Dst: BUF_XOR_LE32
      Src: /src/libgcrypt/cipher/chacha20.c:363,1
    - Dst: BUF_XOR_LE32
      Src: /src/libgcrypt/cipher/chacha20.c:364,1
    - Dst: BUF_XOR_LE32
      Src: /src/libgcrypt/cipher/chacha20.c:365,1
    - Dst: BUF_XOR_LE32
      Src: /src/libgcrypt/cipher/chacha20.c:366,1
    - Dst: BUF_XOR_LE32
      Src: /src/libgcrypt/cipher/chacha20.c:367,1
    - Dst: BUF_XOR_LE32
      Src: /src/libgcrypt/cipher/chacha20.c:368,1
    - Dst: BUF_XOR_LE32
      Src: /src/libgcrypt/cipher/chacha20.c:369,1
    - Dst: BUF_XOR_LE32
      Src: /src/libgcrypt/cipher/chacha20.c:370,1
    - Dst: BUF_XOR_LE32
      Src: /src/libgcrypt/cipher/chacha20.c:371,1
    - Dst: BUF_XOR_LE32
      Src: /src/libgcrypt/cipher/chacha20.c:372,1
    - Dst: BUF_XOR_LE32
      Src: /src/libgcrypt/cipher/chacha20.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 67
    argCount: 4
    argNames:
    - input
    - dst
    - src
    - nblks
    argTypes:
    - u32*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 382
    functionName: do_chacha20_blocks
    functionSourceFile: /src/libgcrypt/cipher/chacha20.c
    functionUses: 0
    functionsReached:
    - QUARTERROUND
    - BUF_XOR_LE32
    - PLUS
    - PLUSONE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_chacha20_blocks (u32 *input, byte *dst, const byte
      *src, size_t nblks)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_chacha20_amd64_avx512_blocks
      Src: /src/libgcrypt/cipher/chacha20.c:404,1
    - Dst: _gcry_chacha20_amd64_avx512_blocks
      Src: /src/libgcrypt/cipher/chacha20.c:406,1
    - Dst: _gcry_chacha20_amd64_ssse3_blocks1
      Src: /src/libgcrypt/cipher/chacha20.c:417,1
    - Dst: _gcry_chacha20_amd64_ssse3_blocks1
      Src: /src/libgcrypt/cipher/chacha20.c:419,1
    - Dst: _gcry_chacha20_ppc9_blocks1
      Src: /src/libgcrypt/cipher/chacha20.c:436,1
    - Dst: _gcry_chacha20_ppc8_blocks1
      Src: /src/libgcrypt/cipher/chacha20.c:438,1
    - Dst: _gcry_chacha20_s390x_vx_blocks4_2_1
      Src: /src/libgcrypt/cipher/chacha20.c:445,1
    - Dst: _gcry_chacha20_riscv_v_blocks
      Src: /src/libgcrypt/cipher/chacha20.c:452,1
    - Dst: do_chacha20_blocks
      Src: /src/libgcrypt/cipher/chacha20.c:456,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 4
    argNames:
    - ctx
    - dst
    - src
    - nblks
    argTypes:
    - CHACHA20_context_t*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 385
    functionDepth: 4
    functionLinenumber: 385
    functionLinenumberEnd: 458
    functionName: chacha20_blocks
    functionSourceFile: /src/libgcrypt/cipher/chacha20.c
    functionUses: 1
    functionsReached:
    - _gcry_chacha20_s390x_vx_blocks4_2_1
    - _gcry_chacha20_ppc9_blocks1
    - _gcry_chacha20_amd64_avx512_blocks
    - _gcry_chacha20_amd64_ssse3_blocks1
    - _gcry_chacha20_riscv_v_blocks
    - do_chacha20_blocks
    - _gcry_chacha20_ppc8_blocks1
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int chacha20_blocks (CHACHA20_context_t *ctx, byte *dst,
      const byte *src,\n\t\t size_t nblks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:469,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:470,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:471,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:472,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:482,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:483,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:484,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:485,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:486,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:487,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:488,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - CHACHA20_context_t*
    - byte*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 490
    functionName: chacha20_keysetup
    functionSourceFile: /src/libgcrypt/cipher/chacha20.c
    functionUses: 0
    functionsReached:
    - buf_get_le32
    linkageType: ''
    returnType: void
    signature: "void chacha20_keysetup (CHACHA20_context_t *ctx, const byte *key,\n
      \                  unsigned int keylen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:498,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:499,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:500,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:501,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:506,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:507,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:508,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:514,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/chacha20.c:515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - iv
    - ivlen
    argTypes:
    - CHACHA20_context_t*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 524
    functionName: chacha20_ivsetup
    functionSourceFile: /src/libgcrypt/cipher/chacha20.c
    functionUses: 0
    functionsReached:
    - buf_get_le32
    linkageType: ''
    returnType: void
    signature: void chacha20_ivsetup (CHACHA20_context_t * ctx, const byte *iv, size_t
      ivlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/libgcrypt/cipher/chacha20.c:535,1
    - Dst: chacha20_ivsetup
      Src: /src/libgcrypt/cipher/chacha20.c:539,1
    - Dst: chacha20_ivsetup
      Src: /src/libgcrypt/cipher/chacha20.c:541,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - context
    - iv
    - ivlen
    argTypes:
    - void*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 545
    functionName: chacha20_setiv
    functionSourceFile: /src/libgcrypt/cipher/chacha20.c
    functionUses: 0
    functionsReached:
    - chacha20_ivsetup
    - log_info
    linkageType: ''
    returnType: void
    signature: void chacha20_setiv (void *context, const byte *iv, size_t ivlen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/chacha20.c:554,1
    - Dst: selftest
      Src: /src/libgcrypt/cipher/chacha20.c:559,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/chacha20.c:561,1
    - Dst: _gcry_hwf_x86_cpu_details
      Src: /src/libgcrypt/cipher/chacha20.c:582,1
    - Dst: _gcry_chacha20_riscv_v_check_hw
      Src: /src/libgcrypt/cipher/chacha20.c:609,1
    - Dst: chacha20_keysetup
      Src: /src/libgcrypt/cipher/chacha20.c:614,1
    - Dst: chacha20_setiv
      Src: /src/libgcrypt/cipher/chacha20.c:617,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - CHACHA20_context_t*
    - byte*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 548
    functionDepth: 3
    functionLinenumber: 548
    functionLinenumberEnd: 620
    functionName: chacha20_do_setkey
    functionSourceFile: /src/libgcrypt/cipher/chacha20.c
    functionUses: 0
    functionsReached:
    - chacha20_keysetup
    - chacha20_setiv
    - log_error
    - _gcry_get_hw_features
    - selftest
    - _gcry_chacha20_riscv_v_check_hw
    - _gcry_hwf_x86_cpu_details
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t chacha20_do_setkey (CHACHA20_context_t *ctx,\n                    const
      byte *key, unsigned int keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_do_setkey
      Src: /src/libgcrypt/cipher/chacha20.c:628,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/chacha20.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - context
    - key
    - keylen
    - bulk_ops
    argTypes:
    - void*
    - byte*
    - unsigned int
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 623
    functionDepth: 4
    functionLinenumber: 623
    functionLinenumberEnd: 632
    functionName: chacha20_setkey
    functionSourceFile: /src/libgcrypt/cipher/chacha20.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - chacha20_do_setkey
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t chacha20_setkey (void *context, const byte *key, unsigned
      int keylen,\n                 cipher_bulk_ops_t *bulk_ops)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_chacha20_amd64_avx512_blocks
      Src: /src/libgcrypt/cipher/chacha20.c:652,1
    - Dst: _gcry_chacha20_amd64_avx2_blocks8
      Src: /src/libgcrypt/cipher/chacha20.c:667,1
    - Dst: _gcry_chacha20_amd64_ssse3_blocks4
      Src: /src/libgcrypt/cipher/chacha20.c:681,1
    - Dst: _gcry_chacha20_armv7_neon_blocks4
      Src: /src/libgcrypt/cipher/chacha20.c:695,1
    - Dst: _gcry_chacha20_aarch64_blocks4
      Src: /src/libgcrypt/cipher/chacha20.c:709,1
    - Dst: _gcry_chacha20_p10le_8x
      Src: /src/libgcrypt/cipher/chacha20.c:733,1
    - Dst: _gcry_chacha20_ppc9_blocks4
      Src: /src/libgcrypt/cipher/chacha20.c:738,1
    - Dst: _gcry_chacha20_ppc8_blocks4
      Src: /src/libgcrypt/cipher/chacha20.c:743,1
    - Dst: _gcry_chacha20_s390x_vx_blocks8
      Src: /src/libgcrypt/cipher/chacha20.c:758,1
    - Dst: chacha20_blocks
      Src: /src/libgcrypt/cipher/chacha20.c:770,1
    - Dst: chacha20_blocks
      Src: /src/libgcrypt/cipher/chacha20.c:779,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/chacha20.c:782,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 4
    argNames:
    - ctx
    - outbuf
    - inbuf
    - length
    argTypes:
    - CHACHA20_context_t*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 635
    functionDepth: 5
    functionLinenumber: 635
    functionLinenumberEnd: 790
    functionName: do_chacha20_encrypt_stream_tail
    functionSourceFile: /src/libgcrypt/cipher/chacha20.c
    functionUses: 0
    functionsReached:
    - _gcry_chacha20_p10le_8x
    - _gcry_chacha20_ppc9_blocks4
    - _gcry_chacha20_amd64_avx512_blocks
    - _gcry_chacha20_amd64_avx2_blocks8
    - buf_xor
    - _gcry_chacha20_amd64_ssse3_blocks4
    - _gcry_chacha20_ppc8_blocks4
    - _gcry_chacha20_armv7_neon_blocks4
    - _gcry_chacha20_aarch64_blocks4
    - chacha20_blocks
    - _gcry_chacha20_s390x_vx_blocks8
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_chacha20_encrypt_stream_tail (CHACHA20_context_t *ctx,
      byte *outbuf,\n\t\t\t\t const byte *inbuf, size_t length)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/chacha20.c:808,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/chacha20.c:814,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/chacha20.c:822,1
    - Dst: do_chacha20_encrypt_stream_tail
      Src: /src/libgcrypt/cipher/chacha20.c:825,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/chacha20.c:829,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - context
    - outbuf
    - inbuf
    - length
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 793
    functionDepth: 6
    functionLinenumber: 793
    functionLinenumberEnd: 830
    functionName: chacha20_encrypt_stream
    functionSourceFile: /src/libgcrypt/cipher/chacha20.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - do_chacha20_encrypt_stream_tail
    - gcry_assert
    - buf_xor
    linkageType: ''
    returnType: void
    signature: "void chacha20_encrypt_stream (void *context, byte *outbuf, const byte
      *inbuf,\n                         size_t length)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/chacha20.c:849,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/chacha20.c:855,1
    - Dst: _gcry_poly1305_update_burn
      Src: /src/libgcrypt/cipher/chacha20.c:856,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/chacha20.c:866,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/chacha20.c:870,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/chacha20.c:873,1
    - Dst: _gcry_chacha20_amd64_avx2_blocks8
      Src: /src/libgcrypt/cipher/chacha20.c:887,1
    - Dst: _gcry_chacha20_amd64_ssse3_blocks4
      Src: /src/libgcrypt/cipher/chacha20.c:899,1
    - Dst: _gcry_chacha20_amd64_ssse3_blocks1
      Src: /src/libgcrypt/cipher/chacha20.c:909,1
    - Dst: _gcry_chacha20_amd64_ssse3_blocks1
      Src: /src/libgcrypt/cipher/chacha20.c:919,1
    - Dst: _gcry_chacha20_aarch64_blocks4
      Src: /src/libgcrypt/cipher/chacha20.c:931,1
    - Dst: _gcry_chacha20_ppc9_blocks4
      Src: /src/libgcrypt/cipher/chacha20.c:949,1
    - Dst: _gcry_chacha20_ppc8_blocks4
      Src: /src/libgcrypt/cipher/chacha20.c:951,1
    - Dst: _gcry_chacha20_s390x_vx_blocks8
      Src: /src/libgcrypt/cipher/chacha20.c:963,1
    - Dst: _gcry_chacha20_s390x_vx_blocks4_2_1
      Src: /src/libgcrypt/cipher/chacha20.c:973,1
    - Dst: _gcry_chacha20_s390x_vx_blocks4_2_1
      Src: /src/libgcrypt/cipher/chacha20.c:983,1
    - Dst: _gcry_chacha20_s390x_vx_blocks4_2_1
      Src: /src/libgcrypt/cipher/chacha20.c:993,1
    - Dst: _gcry_chacha20_poly1305_amd64_avx2_blocks8
      Src: /src/libgcrypt/cipher/chacha20.c:1015,1
    - Dst: _gcry_chacha20_poly1305_amd64_ssse3_blocks4
      Src: /src/libgcrypt/cipher/chacha20.c:1036,1
    - Dst: _gcry_chacha20_poly1305_amd64_ssse3_blocks1
      Src: /src/libgcrypt/cipher/chacha20.c:1052,1
    - Dst: _gcry_chacha20_poly1305_aarch64_blocks4
      Src: /src/libgcrypt/cipher/chacha20.c:1073,1
    - Dst: _gcry_chacha20_poly1305_ppc9_blocks4
      Src: /src/libgcrypt/cipher/chacha20.c:1094,1
    - Dst: _gcry_chacha20_poly1305_ppc8_blocks4
      Src: /src/libgcrypt/cipher/chacha20.c:1098,1
    - Dst: _gcry_chacha20_poly1305_s390x_vx_blocks8
      Src: /src/libgcrypt/cipher/chacha20.c:1119,1
    - Dst: _gcry_chacha20_poly1305_s390x_vx_blocks4_2_1
      Src: /src/libgcrypt/cipher/chacha20.c:1135,1
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/chacha20.c:1150,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/chacha20.c:1155,1
    - Dst: do_chacha20_encrypt_stream_tail
      Src: /src/libgcrypt/cipher/chacha20.c:1169,1
    - Dst: _gcry_poly1305_update_burn
      Src: /src/libgcrypt/cipher/chacha20.c:1172,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/chacha20.c:1182,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 190
    argCount: 4
    argNames:
    - c
    - outbuf
    - inbuf
    - length
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 833
    functionDepth: 6
    functionLinenumber: 833
    functionLinenumberEnd: 1185
    functionName: _gcry_chacha20_poly1305_encrypt
    functionSourceFile: /src/libgcrypt/cipher/chacha20.c
    functionUses: 1
    functionsReached:
    - _gcry_chacha20_poly1305_s390x_vx_blocks8
    - _gcry_poly1305_update
    - gcry_assert
    - _gcry_chacha20_amd64_avx2_blocks8
    - _gcry_burn_stack
    - _gcry_chacha20_poly1305_ppc8_blocks4
    - _gcry_chacha20_ppc9_blocks4
    - _gcry_chacha20_poly1305_amd64_ssse3_blocks1
    - _gcry_chacha20_amd64_ssse3_blocks4
    - _gcry_chacha20_ppc8_blocks4
    - _gcry_poly1305_update_burn
    - _gcry_chacha20_poly1305_ppc9_blocks4
    - _gcry_chacha20_poly1305_s390x_vx_blocks4_2_1
    - _gcry_chacha20_s390x_vx_blocks4_2_1
    - _gcry_chacha20_amd64_ssse3_blocks1
    - _gcry_chacha20_poly1305_amd64_avx2_blocks8
    - buf_xor
    - do_chacha20_encrypt_stream_tail
    - _gcry_chacha20_poly1305_aarch64_blocks4
    - _gcry_chacha20_poly1305_amd64_ssse3_blocks4
    - _gcry_chacha20_aarch64_blocks4
    - _gcry_chacha20_s390x_vx_blocks8
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_chacha20_poly1305_encrypt(gcry_cipher_hd_t c,
      byte *outbuf,\n\t\t\t\tconst byte *inbuf, size_t length)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/chacha20.c:1208,1
    - Dst: _gcry_poly1305_update_burn
      Src: /src/libgcrypt/cipher/chacha20.c:1214,1
    - Dst: buf_xor
      Src: /src/libgcrypt/cipher/chacha20.c:1216,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/chacha20.c:1225,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/chacha20.c:1229,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/chacha20.c:1232,1
    - Dst: _gcry_chacha20_poly1305_amd64_avx2_blocks8
      Src: /src/libgcrypt/cipher/chacha20.c:1255,1
    - Dst: _gcry_chacha20_poly1305_amd64_ssse3_blocks4
      Src: /src/libgcrypt/cipher/chacha20.c:1274,1
    - Dst: _gcry_chacha20_poly1305_amd64_ssse3_blocks1
      Src: /src/libgcrypt/cipher/chacha20.c:1288,1
    - Dst: _gcry_chacha20_poly1305_aarch64_blocks4
      Src: /src/libgcrypt/cipher/chacha20.c:1306,1
    - Dst: _gcry_chacha20_poly1305_ppc9_blocks4
      Src: /src/libgcrypt/cipher/chacha20.c:1325,1
    - Dst: _gcry_chacha20_poly1305_ppc8_blocks4
      Src: /src/libgcrypt/cipher/chacha20.c:1329,1
    - Dst: _gcry_chacha20_poly1305_s390x_vx_blocks8
      Src: /src/libgcrypt/cipher/chacha20.c:1348,1
    - Dst: _gcry_chacha20_poly1305_s390x_vx_blocks4_2_1
      Src: /src/libgcrypt/cipher/chacha20.c:1362,1
    - Dst: _gcry_poly1305_update_burn
      Src: /src/libgcrypt/cipher/chacha20.c:1385,1
    - Dst: do_chacha20_encrypt_stream_tail
      Src: /src/libgcrypt/cipher/chacha20.c:1389,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/chacha20.c:1398,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 103
    argCount: 4
    argNames:
    - c
    - outbuf
    - inbuf
    - length
    argTypes:
    - gcry_cipher_hd_t
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1188
    functionDepth: 6
    functionLinenumber: 1188
    functionLinenumberEnd: 1401
    functionName: _gcry_chacha20_poly1305_decrypt
    functionSourceFile: /src/libgcrypt/cipher/chacha20.c
    functionUses: 1
    functionsReached:
    - gcry_assert
    - _gcry_chacha20_poly1305_amd64_ssse3_blocks1
    - _gcry_chacha20_poly1305_amd64_avx2_blocks8
    - buf_xor
    - _gcry_chacha20_poly1305_ppc9_blocks4
    - _gcry_burn_stack
    - _gcry_chacha20_poly1305_s390x_vx_blocks8
    - do_chacha20_encrypt_stream_tail
    - _gcry_chacha20_poly1305_aarch64_blocks4
    - _gcry_poly1305_update_burn
    - _gcry_chacha20_poly1305_amd64_ssse3_blocks4
    - _gcry_chacha20_poly1305_ppc8_blocks4
    - _gcry_chacha20_poly1305_s390x_vx_blocks4_2_1
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_chacha20_poly1305_decrypt(gcry_cipher_hd_t c,
      byte *outbuf,\n\t\t\t\tconst byte *inbuf, size_t length)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_setkey
      Src: /src/libgcrypt/cipher/chacha20.c:1462,1
    - Dst: chacha20_setiv
      Src: /src/libgcrypt/cipher/chacha20.c:1463,1
    - Dst: chacha20_encrypt_stream
      Src: /src/libgcrypt/cipher/chacha20.c:1465,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/chacha20.c:1466,1
    - Dst: chacha20_setkey
      Src: /src/libgcrypt/cipher/chacha20.c:1470,1
    - Dst: chacha20_setiv
      Src: /src/libgcrypt/cipher/chacha20.c:1471,1
    - Dst: chacha20_encrypt_stream
      Src: /src/libgcrypt/cipher/chacha20.c:1472,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/chacha20.c:1473,1
    - Dst: chacha20_setkey
      Src: /src/libgcrypt/cipher/chacha20.c:1478,1
    - Dst: chacha20_setiv
      Src: /src/libgcrypt/cipher/chacha20.c:1479,1
    - Dst: chacha20_encrypt_stream
      Src: /src/libgcrypt/cipher/chacha20.c:1481,1
    - Dst: chacha20_setkey
      Src: /src/libgcrypt/cipher/chacha20.c:1483,1
    - Dst: chacha20_setiv
      Src: /src/libgcrypt/cipher/chacha20.c:1484,1
    - Dst: chacha20_encrypt_stream
      Src: /src/libgcrypt/cipher/chacha20.c:1485,1
    - Dst: chacha20_encrypt_stream
      Src: /src/libgcrypt/cipher/chacha20.c:1486,1
    - Dst: chacha20_encrypt_stream
      Src: /src/libgcrypt/cipher/chacha20.c:1487,1
    - Dst: chacha20_setkey
      Src: /src/libgcrypt/cipher/chacha20.c:1493,1
    - Dst: chacha20_setiv
      Src: /src/libgcrypt/cipher/chacha20.c:1494,1
    - Dst: chacha20_encrypt_stream
      Src: /src/libgcrypt/cipher/chacha20.c:1497,1
    - Dst: chacha20_setkey
      Src: /src/libgcrypt/cipher/chacha20.c:1499,1
    - Dst: chacha20_setiv
      Src: /src/libgcrypt/cipher/chacha20.c:1500,1
    - Dst: chacha20_encrypt_stream
      Src: /src/libgcrypt/cipher/chacha20.c:1501,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1404
    functionDepth: 7
    functionLinenumber: 1404
    functionLinenumberEnd: 1507
    functionName: selftest
    functionSourceFile: /src/libgcrypt/cipher/chacha20.c
    functionUses: 29
    functionsReached:
    - chacha20_setiv
    - chacha20_setkey
    - chacha20_encrypt_stream
    - memcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctz
      Src: /src/libgcrypt/cipher/md5.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: md5_init
    functionSourceFile: /src/libgcrypt/cipher/md5.c
    functionUses: 0
    functionsReached:
    - _gcry_ctz
    linkageType: ''
    returnType: void
    signature: void md5_init( void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: FF
    functionSourceFile: /src/libgcrypt/cipher/md5.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FF(b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: FG
    functionSourceFile: /src/libgcrypt/cipher/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FG(b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: FH
    functionSourceFile: /src/libgcrypt/cipher/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FH(b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: FI
    functionSourceFile: /src/libgcrypt/cipher/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FI(b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/md5.c:101,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:119,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:120,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:121,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:122,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:123,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:124,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:125,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:126,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:127,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:128,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:129,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:130,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:131,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:132,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:133,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:134,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:147,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:148,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:149,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:150,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:151,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:152,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:153,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:154,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:155,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:156,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:157,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:158,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:159,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:160,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:161,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:162,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:165,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:166,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:167,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:168,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:169,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:170,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:171,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:172,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:173,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:174,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:175,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:176,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:177,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:178,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:179,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:180,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:183,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:184,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:185,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:186,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:187,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:188,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:189,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:190,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:191,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:192,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:193,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:194,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:195,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:196,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:197,1
    - Dst: OP
      Src: /src/libgcrypt/cipher/md5.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 72
    argCount: 2
    argNames:
    - c
    - data
    argTypes:
    - void*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 207
    functionName: transform_blk
    functionSourceFile: /src/libgcrypt/cipher/md5.c
    functionUses: 5
    functionsReached:
    - OP
    - buf_get_le32
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int transform_blk ( void *c, const unsigned char *data )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - s
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: OP
    functionSourceFile: /src/libgcrypt/cipher/md5.c
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP(a, b, c, d, s, T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - f
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: OP
    functionSourceFile: /src/libgcrypt/cipher/md5.c
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP(f, a, b, c, d, k, s, T)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transform_blk
      Src: /src/libgcrypt/cipher/md5.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - c
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 223
    functionName: transform
    functionSourceFile: /src/libgcrypt/cipher/md5.c
    functionUses: 14
    functionsReached:
    - transform_blk
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int transform ( void *c, const unsigned char *data, size_t
      nblks )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/md5.c:263,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/md5.c:266,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/md5.c:267,1
    - Dst: transform
      Src: /src/libgcrypt/cipher/md5.c:268,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/md5.c:274,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/md5.c:277,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/md5.c:278,1
    - Dst: transform
      Src: /src/libgcrypt/cipher/md5.c:279,1
    - Dst: X
      Src: /src/libgcrypt/cipher/md5.c:284,1
    - Dst: X
      Src: /src/libgcrypt/cipher/md5.c:285,1
    - Dst: X
      Src: /src/libgcrypt/cipher/md5.c:286,1
    - Dst: X
      Src: /src/libgcrypt/cipher/md5.c:287,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/md5.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 293
    functionName: md5_final
    functionSourceFile: /src/libgcrypt/cipher/md5.c
    functionUses: 0
    functionsReached:
    - X
    - transform
    - _gcry_burn_stack
    - buf_put_le32
    - memset
    linkageType: ''
    returnType: void
    signature: void md5_final( void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: X
    functionSourceFile: /src/libgcrypt/cipher/md5.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 300
    functionName: md5_read
    functionSourceFile: /src/libgcrypt/cipher/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      md5_read( void *context )'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc-gost.c:51,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/ecc-gost.c:53,1
    - Dst: _gcry_dsa_normalize_hash
      Src: /src/libgcrypt/cipher/ecc-gost.c:56,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-gost.c:61,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-gost.c:62,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-gost.c:63,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-gost.c:64,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-gost.c:65,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-gost.c:66,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/cipher/ecc-gost.c:68,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc-gost.c:70,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/ecc-gost.c:71,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:80,1
    - Dst: _gcry_dsa_gen_k
      Src: /src/libgcrypt/cipher/ecc-gost.c:81,1
    - Dst: _gcry_dsa_modify_k
      Src: /src/libgcrypt/cipher/ecc-gost.c:83,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-gost.c:85,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc-gost.c:86,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc-gost.c:89,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/cipher/ecc-gost.c:93,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc-gost.c:95,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-gost.c:96,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-gost.c:97,1
    - Dst: mpi_addm
      Src: /src/libgcrypt/cipher/ecc-gost.c:98,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc-gost.c:100,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc-gost.c:104,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc-gost.c:105,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:109,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:110,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:111,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:112,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:113,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:114,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:115,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:118,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 4
    argNames:
    - input
    - ec
    - r
    - s
    argTypes:
    - gcry_mpi_t
    - mpi_ec_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 121
    functionName: _gcry_ecc_gost_sign
    functionSourceFile: /src/libgcrypt/cipher/ecc-gost.c
    functionUses: 1
    functionsReached:
    - point_free
    - mpi_free
    - log_mpidump
    - _gcry_dsa_gen_k
    - _gcry_mpi_ec_mul_point
    - mpi_mod
    - mpi_mulm
    - point_init
    - mpi_new
    - mpi_cmp_ui
    - mpi_addm
    - mpi_set_ui
    - _gcry_mpi_ec_get_affine
    - _gcry_dsa_normalize_hash
    - _gcry_dsa_modify_k
    - log_debug
    - mpi_get_nbits
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_gost_sign (gcry_mpi_t input, mpi_ec_t ec,\n
      \                    gcry_mpi_t r, gcry_mpi_t s)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_ec_curve_point
      Src: /src/libgcrypt/cipher/ecc-gost.c:135,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc-gost.c:138,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-gost.c:138,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc-gost.c:140,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-gost.c:140,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-gost.c:143,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-gost.c:144,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-gost.c:145,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-gost.c:146,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-gost.c:147,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-gost.c:148,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/ecc-gost.c:149,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-gost.c:151,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-gost.c:152,1
    - Dst: point_init
      Src: /src/libgcrypt/cipher/ecc-gost.c:153,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/cipher/ecc-gost.c:155,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc-gost.c:156,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/cipher/ecc-gost.c:157,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/ecc-gost.c:158,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-gost.c:159,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/ecc-gost.c:160,1
    - Dst: mpi_subm
      Src: /src/libgcrypt/cipher/ecc-gost.c:161,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-gost.c:163,1
    - Dst: _gcry_mpi_ec_mul_point
      Src: /src/libgcrypt/cipher/ecc-gost.c:167,1
    - Dst: _gcry_mpi_ec_add_points
      Src: /src/libgcrypt/cipher/ecc-gost.c:171,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/ecc-gost.c:176,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc-gost.c:179,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/cipher/ecc-gost.c:183,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc-gost.c:186,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/cipher/ecc-gost.c:190,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/ecc-gost.c:191,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc-gost.c:195,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc-gost.c:196,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/ecc-gost.c:197,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc-gost.c:198,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/ecc-gost.c:204,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:207,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:208,1
    - Dst: point_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:209,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:210,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:211,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:212,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:213,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:214,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:215,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/ecc-gost.c:216,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 68
    argCount: 4
    argNames:
    - input
    - ec
    - r
    - s
    argTypes:
    - gcry_mpi_t
    - mpi_ec_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 218
    functionName: _gcry_ecc_gost_verify
    functionSourceFile: /src/libgcrypt/cipher/ecc-gost.c
    functionUses: 1
    functionsReached:
    - point_free
    - _gcry_mpi_ec_add_points
    - mpi_free
    - log_mpidump
    - mpi_cmp
    - mpi_invm
    - mpi_mulm
    - mpi_mod
    - _gcry_mpi_ec_mul_point
    - point_init
    - mpi_cmp_ui
    - mpi_new
    - mpi_subm
    - mpi_set_ui
    - _gcry_mpi_ec_curve_point
    - _gcry_mpi_ec_get_affine
    - log_debug
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_ecc_gost_verify (gcry_mpi_t input, mpi_ec_t ec,\n
      \                      gcry_mpi_t r, gcry_mpi_t s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - block
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: asm_xor
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_xor(block a, block b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - block
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: asm_vpmsumd
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-ppc.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_vpmsumd(block a, block b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: asm_swap_u64
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-ppc.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_swap_u64(block a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - block
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: asm_mergelo
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_mergelo(block l, block r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - block
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: asm_mergehi
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_mergehi(block l, block r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: asm_rot_block_left
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_rot_block_left(block a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: asm_rot_block_right
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_rot_block_right(block a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - shift
    argTypes:
    - block
    - vector16x_u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: asm_ashl_128
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_ashl_128(block a, vector16x_u8 shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - gcm_table
    - ','
    - slot
    - ','
    - vec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: STORE_TABLE
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STORE_TABLE(gcm_table, slot, vec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_constant_p
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - vec
    - offset
    - ptr
    argTypes:
    - block
    - unsigned long
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 202
    functionName: vec_store_he
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-ppc.c
    functionUses: 0
    functionsReached:
    - __builtin_constant_p
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE vec_store_he(block vec, unsigned long offset,
      unsigned char *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - in_ptr
    - ','
    - bswap_const
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: VEC_LOAD_BE
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VEC_LOAD_BE(in_ptr, bswap_const)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_constant_p
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - offset
    - ptr
    argTypes:
    - unsigned long
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 226
    functionName: vec_load_he
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-ppc.c
    functionUses: 0
    functionsReached:
    - __builtin_constant_p
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE vec_load_he(unsigned long offset, const unsigned
      char *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vec
    - be_bswap_const
    argTypes:
    - block
    - vector16x_u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: vec_be_swap
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE vec_be_swap(block vec, vector16x_u8 be_bswap_const)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:245,1
    - Dst: vec_splat
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vec
    - idx
    argTypes:
    - block
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: vec_dup_byte_elem
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-ppc.c
    functionUses: 0
    functionsReached:
    - vec_splat
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE vec_dup_byte_elem(block vec, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:280,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:281,1
    - Dst: vec_dup_byte_elem
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:282,1
    - Dst: vec_splat_s8
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:283,1
    - Dst: asm_ashl_128
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:286,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:289,1
    - Dst: asm_rot_block_right
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:290,1
    - Dst: asm_rot_block_left
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:291,1
    - Dst: asm_rot_block_right
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:292,1
    - Dst: STORE_TABLE
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:294,1
    - Dst: STORE_TABLE
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:295,1
    - Dst: STORE_TABLE
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:296,1
    - Dst: STORE_TABLE
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:297,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:302,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:304,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:305,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:308,1
    - Dst: asm_rot_block_left
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:310,1
    - Dst: asm_rot_block_right
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:311,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:312,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:315,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:316,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:319,1
    - Dst: asm_rot_block_right
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:320,1
    - Dst: asm_rot_block_left
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:321,1
    - Dst: STORE_TABLE
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:323,1
    - Dst: STORE_TABLE
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:324,1
    - Dst: STORE_TABLE
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:325,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:327,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:328,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:329,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:330,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:331,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:332,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:334,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:335,1
    - Dst: asm_rot_block_left
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:337,1
    - Dst: asm_rot_block_right
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:338,1
    - Dst: asm_rot_block_left
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:339,1
    - Dst: asm_rot_block_right
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:340,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:342,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:343,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:350,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:351,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:353,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:354,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:360,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:361,1
    - Dst: asm_rot_block_right
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:363,1
    - Dst: asm_rot_block_left
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:364,1
    - Dst: asm_rot_block_right
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:365,1
    - Dst: asm_rot_block_left
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:366,1
    - Dst: STORE_TABLE
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:368,1
    - Dst: STORE_TABLE
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:369,1
    - Dst: STORE_TABLE
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:370,1
    - Dst: STORE_TABLE
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:371,1
    - Dst: STORE_TABLE
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:372,1
    - Dst: STORE_TABLE
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:373,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 71
    argCount: 2
    argNames:
    - gcm_table_arg
    - gcm_key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 376
    functionName: ASM_FUNC_ATTR::_gcry_ghash_setup_ppc_vpmsum
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-ppc.c
    functionUses: 0
    functionsReached:
    - vec_dup_byte_elem
    - asm_swap_u64
    - asm_rot_block_right
    - STORE_TABLE
    - vec_splat_s8
    - asm_ashl_128
    - VEC_LOAD_BE
    - asm_vpmsumd
    - clear_vec_regs
    - asm_rot_block_left
    linkageType: ''
    returnType: void
    signature: 'void ASM_FUNC_ATTR

      _gcry_ghash_setup_ppc_vpmsum (void *gcm_table_arg, void *gcm_key)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vec_be_swap
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:390,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:390,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:392,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:393,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:394,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:395,1
    - Dst: vec_be_swap
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:400,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:400,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:405,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:406,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:407,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:409,1
    - Dst: asm_rot_block_left
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:411,1
    - Dst: asm_rot_block_right
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:413,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:415,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:417,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:418,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:431,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:432,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:433,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:434,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:435,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:436,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:437,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:439,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:440,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:441,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:442,1
    - Dst: vec_be_swap
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:444,1
    - Dst: vec_be_swap
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:445,1
    - Dst: vec_be_swap
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:446,1
    - Dst: vec_be_swap
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:447,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:449,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:451,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:452,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:453,1
    - Dst: asm_mergehi
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:455,1
    - Dst: asm_mergelo
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:456,1
    - Dst: asm_mergelo
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:457,1
    - Dst: asm_mergehi
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:458,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:460,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:461,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:462,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:463,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:465,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:466,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:467,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:468,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:473,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:474,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:475,1
    - Dst: vec_load_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:476,1
    - Dst: vec_be_swap
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:478,1
    - Dst: vec_be_swap
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:479,1
    - Dst: vec_be_swap
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:480,1
    - Dst: vec_be_swap
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:481,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:483,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:484,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:485,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:486,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:487,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:488,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:490,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:491,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:492,1
    - Dst: asm_mergelo
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:493,1
    - Dst: asm_mergehi
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:494,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:496,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:497,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:498,1
    - Dst: asm_rot_block_left
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:500,1
    - Dst: asm_rot_block_right
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:501,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:502,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:503,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:505,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:506,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:508,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:509,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:510,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:511,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:513,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:514,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:515,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:516,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:517,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:518,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:519,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:522,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:523,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:524,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:526,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:527,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:529,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:531,1
    - Dst: asm_rot_block_left
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:532,1
    - Dst: asm_rot_block_right
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:533,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:534,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:535,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:537,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:538,1
    - Dst: asm_swap_u64
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:540,1
    - Dst: asm_vpmsumd
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:541,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:542,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:543,1
    - Dst: vec_store_he
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:546,1
    - Dst: vec_be_swap
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:546,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/cipher-gcm-ppc.c:548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 122
    argCount: 4
    argNames:
    - result
    - gcm_table
    - buf
    - nblocks
    argTypes:
    - byte*
    - void*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 551
    functionName: ASM_FUNC_ATTR::_gcry_ghash_ppc_vpmsum
    functionSourceFile: /src/libgcrypt/cipher/cipher-gcm-ppc.c
    functionUses: 0
    functionsReached:
    - asm_xor
    - asm_swap_u64
    - asm_rot_block_right
    - asm_mergelo
    - vec_load_he
    - vec_be_swap
    - vec_store_he
    - asm_mergehi
    - asm_vpmsumd
    - clear_vec_regs
    - asm_rot_block_left
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int ASM_FUNC_ATTR\n_gcry_ghash_ppc_vpmsum (byte *result,
      void *gcm_table,\n\t\t\tconst byte *buf, const size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm4_aesni_avx_crypt_blk1_8
      Src: /src/libgcrypt/cipher/sm4.c:344,1
    - Dst: _gcry_sm4_aesni_avx_crypt_blk1_8
      Src: /src/libgcrypt/cipher/sm4.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - rk
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 351
    functionName: sm4_aesni_avx_crypt_blk1_16
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - _gcry_sm4_aesni_avx_crypt_blk1_8
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int sm4_aesni_avx_crypt_blk1_16(void *rk, byte *out, const
      byte *in,\n                            size_t num_blks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm4_aesni_avx_crypt_blk1_8
      Src: /src/libgcrypt/cipher/sm4.c:399,1
    - Dst: _gcry_sm4_aesni_avx2_crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - rk
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 403
    functionName: sm4_aesni_avx2_crypt_blk1_16
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 1
    functionsReached:
    - _gcry_sm4_aesni_avx_crypt_blk1_8
    - _gcry_sm4_aesni_avx2_crypt_blk1_16
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int sm4_aesni_avx2_crypt_blk1_16(void *rk, byte *out, const
      byte *in,\n\t\t\t     size_t num_blks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm4_intel_avx2_crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rk
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 453
    functionName: sm4_intel_avx2_crypt_blk1_16
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 1
    functionsReached:
    - _gcry_sm4_intel_avx2_crypt_blk1_16
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int sm4_intel_avx2_crypt_blk1_16(void *rk, byte *out, const
      byte *in,\n\t\t\t     size_t num_blks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm4_gfni_avx2_crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rk
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 534
    functionName: sm4_gfni_avx2_crypt_blk1_16
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 1
    functionsReached:
    - _gcry_sm4_gfni_avx2_crypt_blk1_16
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int sm4_gfni_avx2_crypt_blk1_16(void *rk, byte *out, const
      byte *in,\n\t\t\t    size_t num_blks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm4_gfni_avx512_crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rk
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 614
    functionName: sm4_gfni_avx512_crypt_blk1_16
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 1
    functionsReached:
    - _gcry_sm4_gfni_avx512_crypt_blk1_16
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int sm4_gfni_avx512_crypt_blk1_16(void *rk, byte *out, const
      byte *in,\n\t\t\t      size_t num_blks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm4_aarch64_crypt_blk1_8
      Src: /src/libgcrypt/cipher/sm4.c:648,1
    - Dst: _gcry_sm4_aarch64_crypt_blk1_8
      Src: /src/libgcrypt/cipher/sm4.c:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - rk
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 655
    functionName: sm4_aarch64_crypt_blk1_16
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - _gcry_sm4_aarch64_crypt_blk1_8
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int sm4_aarch64_crypt_blk1_16(void *rk, byte *out, const
      byte *in,\n\t\t\t  size_t num_blks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm4_armv8_ce_crypt_blk1_8
      Src: /src/libgcrypt/cipher/sm4.c:698,1
    - Dst: _gcry_sm4_armv8_ce_crypt_blk1_8
      Src: /src/libgcrypt/cipher/sm4.c:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - rk
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 705
    functionName: sm4_armv8_ce_crypt_blk1_16
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - _gcry_sm4_armv8_ce_crypt_blk1_8
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int sm4_armv8_ce_crypt_blk1_16(void *rk, byte *out, const
      byte *in,\n\t\t\t   size_t num_blks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm4_armv9_sve_ce_crypt
      Src: /src/libgcrypt/cipher/sm4.c:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rk
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: sm4_armv9_sve_ce_crypt_blk1_16
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - _gcry_sm4_armv9_sve_ce_crypt
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int sm4_armv9_sve_ce_crypt_blk1_16(void *rk, byte *out, const
      byte *in,\n\t\t\t       size_t num_blks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm4_ppc8le_crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4.c:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rk
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 748
    functionDepth: 4
    functionLinenumber: 748
    functionLinenumberEnd: 752
    functionName: sm4_ppc8le_crypt_blk1_16
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 2
    functionsReached:
    - _gcry_sm4_ppc8le_crypt_blk1_16
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int sm4_ppc8le_crypt_blk1_16(void *rk, byte *out, const byte
      *in, size_t num_blks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm4_ppc9le_crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4.c:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rk
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 754
    functionDepth: 5
    functionLinenumber: 754
    functionLinenumberEnd: 758
    functionName: sm4_ppc9le_crypt_blk1_16
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 1
    functionsReached:
    - _gcry_sm4_ppc9le_crypt_blk1_16
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int sm4_ppc9le_crypt_blk1_16(void *rk, byte *out, const byte
      *in, size_t num_blks)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 783
    functionName: prefetch_sbox_table
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prefetch_sbox_table(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 795
    functionName: sm4_t_non_lin_sub
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 sm4_t_non_lin_sub(u32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rol
      Src: /src/libgcrypt/cipher/sm4.c:799,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/sm4.c:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 800
    functionName: sm4_key_lin_sub
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - rol
    linkageType: ''
    returnType: u32
    signature: u32 sm4_key_lin_sub(u32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rol
      Src: /src/libgcrypt/cipher/sm4.c:804,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/sm4.c:805,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/sm4.c:805,1
    - Dst: rol
      Src: /src/libgcrypt/cipher/sm4.c:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 806
    functionName: sm4_enc_lin_sub
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - rol
    linkageType: ''
    returnType: u32
    signature: u32 sm4_enc_lin_sub(u32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sm4_key_lin_sub
      Src: /src/libgcrypt/cipher/sm4.c:810,1
    - Dst: sm4_t_non_lin_sub
      Src: /src/libgcrypt/cipher/sm4.c:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 811
    functionName: sm4_key_sub
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - sm4_key_lin_sub
    - sm4_t_non_lin_sub
    linkageType: ''
    returnType: u32
    signature: u32 sm4_key_sub(u32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sm4_enc_lin_sub
      Src: /src/libgcrypt/cipher/sm4.c:815,1
    - Dst: sm4_t_non_lin_sub
      Src: /src/libgcrypt/cipher/sm4.c:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 816
    functionName: sm4_enc_sub
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - sm4_t_non_lin_sub
    - sm4_enc_lin_sub
    linkageType: ''
    returnType: u32
    signature: u32 sm4_enc_sub(u32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sm4_enc_sub
      Src: /src/libgcrypt/cipher/sm4.c:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x0
    - x1
    - x2
    - x3
    - rk
    argTypes:
    - u32
    - u32
    - u32
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 818
    functionDepth: 2
    functionLinenumber: 818
    functionLinenumberEnd: 822
    functionName: sm4_round
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - sm4_enc_sub
    linkageType: ''
    returnType: u32
    signature: u32 sm4_round(const u32 x0, const u32 x1, const u32 x2, const u32 x3,
      const u32 rk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm4_intel_avx2_expand_key
      Src: /src/libgcrypt/cipher/sm4.c:833,1
    - Dst: _gcry_sm4_gfni_avx512_expand_key
      Src: /src/libgcrypt/cipher/sm4.c:842,1
    - Dst: _gcry_sm4_gfni_avx2_expand_key
      Src: /src/libgcrypt/cipher/sm4.c:851,1
    - Dst: _gcry_sm4_aesni_avx_expand_key
      Src: /src/libgcrypt/cipher/sm4.c:860,1
    - Dst: _gcry_sm4_armv8_ce_expand_key
      Src: /src/libgcrypt/cipher/sm4.c:869,1
    - Dst: prefetch_sbox_table
      Src: /src/libgcrypt/cipher/sm4.c:875,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/sm4.c:877,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/sm4.c:878,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/sm4.c:879,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/sm4.c:880,1
    - Dst: sm4_key_sub
      Src: /src/libgcrypt/cipher/sm4.c:884,1
    - Dst: sm4_key_sub
      Src: /src/libgcrypt/cipher/sm4.c:885,1
    - Dst: sm4_key_sub
      Src: /src/libgcrypt/cipher/sm4.c:886,1
    - Dst: sm4_key_sub
      Src: /src/libgcrypt/cipher/sm4.c:887,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/sm4.c:898,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - SM4_context*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 824
    functionDepth: 2
    functionLinenumber: 824
    functionLinenumberEnd: 899
    functionName: sm4_expand_key
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - _gcry_sm4_armv8_ce_expand_key
    - _gcry_sm4_gfni_avx512_expand_key
    - prefetch_sbox_table
    - buf_get_be32
    - wipememory
    - _gcry_sm4_gfni_avx2_expand_key
    - _gcry_sm4_aesni_avx_expand_key
    - _gcry_sm4_intel_avx2_expand_key
    - sm4_key_sub
    linkageType: ''
    returnType: void
    signature: void sm4_expand_key (SM4_context *ctx, const byte *key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/sm4.c:908,1
    - Dst: sm4_selftest
      Src: /src/libgcrypt/cipher/sm4.c:915,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/sm4.c:917,1
    - Dst: _gcry_sm4_armv9_sve_get_vl
      Src: /src/libgcrypt/cipher/sm4.c:952,1
    - Dst: sm4_get_crypt_blk1_16_fn
      Src: /src/libgcrypt/cipher/sm4.c:992,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/sm4.c:995,1
    - Dst: sm4_expand_key
      Src: /src/libgcrypt/cipher/sm4.c:1005,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 4
    argNames:
    - context
    - key
    - keylen
    - bulk_ops
    argTypes:
    - void*
    - byte*
    - unsigned
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 901
    functionDepth: 3
    functionLinenumber: 901
    functionLinenumberEnd: 1007
    functionName: sm4_setkey
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - log_error
    - _gcry_get_hw_features
    - memset
    - sm4_selftest
    - _gcry_sm4_armv9_sve_get_vl
    - sm4_get_crypt_blk1_16_fn
    - sm4_expand_key
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t sm4_setkey (void *context, const byte *key, const
      unsigned keylen,\n            cipher_bulk_ops_t *bulk_ops)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/sm4.c:1015,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/sm4.c:1016,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/sm4.c:1017,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/sm4.c:1018,1
    - Dst: sm4_round
      Src: /src/libgcrypt/cipher/sm4.c:1022,1
    - Dst: sm4_round
      Src: /src/libgcrypt/cipher/sm4.c:1023,1
    - Dst: sm4_round
      Src: /src/libgcrypt/cipher/sm4.c:1024,1
    - Dst: sm4_round
      Src: /src/libgcrypt/cipher/sm4.c:1025,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sm4.c:1028,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sm4.c:1029,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sm4.c:1030,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sm4.c:1031,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - rk
    - out
    - in
    argTypes:
    - u32*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1009
    functionDepth: 3
    functionLinenumber: 1009
    functionLinenumberEnd: 1034
    functionName: sm4_do_crypt
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - buf_get_be32
    - sm4_round
    - buf_put_be32
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int sm4_do_crypt (const u32 *rk, byte *out, const byte *in)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sm4_intel_avx2_crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4.c:1043,1
    - Dst: sm4_gfni_avx512_crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4.c:1048,1
    - Dst: sm4_gfni_avx2_crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4.c:1053,1
    - Dst: sm4_armv8_ce_crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4.c:1058,1
    - Dst: prefetch_sbox_table
      Src: /src/libgcrypt/cipher/sm4.c:1061,1
    - Dst: sm4_do_crypt
      Src: /src/libgcrypt/cipher/sm4.c:1063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1036
    functionDepth: 4
    functionLinenumber: 1036
    functionLinenumberEnd: 1064
    functionName: sm4_encrypt
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - sm4_intel_avx2_crypt_blk1_16
    - sm4_gfni_avx512_crypt_blk1_16
    - prefetch_sbox_table
    - sm4_do_crypt
    - sm4_gfni_avx2_crypt_blk1_16
    - sm4_armv8_ce_crypt_blk1_16
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int sm4_encrypt (void *context, byte *outbuf, const byte *inbuf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sm4_intel_avx2_crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4.c:1073,1
    - Dst: sm4_gfni_avx512_crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4.c:1078,1
    - Dst: sm4_gfni_avx2_crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4.c:1083,1
    - Dst: sm4_armv8_ce_crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4.c:1088,1
    - Dst: prefetch_sbox_table
      Src: /src/libgcrypt/cipher/sm4.c:1091,1
    - Dst: sm4_do_crypt
      Src: /src/libgcrypt/cipher/sm4.c:1093,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - context
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1066
    functionDepth: 4
    functionLinenumber: 1066
    functionLinenumberEnd: 1094
    functionName: sm4_decrypt
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - sm4_intel_avx2_crypt_blk1_16
    - sm4_gfni_avx512_crypt_blk1_16
    - prefetch_sbox_table
    - sm4_do_crypt
    - sm4_gfni_avx2_crypt_blk1_16
    - sm4_armv8_ce_crypt_blk1_16
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int sm4_decrypt (void *context, byte *outbuf, const byte *inbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/sm4.c:1107,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/sm4.c:1108,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/sm4.c:1109,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/sm4.c:1110,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/sm4.c:1111,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/sm4.c:1112,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/sm4.c:1113,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/sm4.c:1114,1
    - Dst: sm4_round
      Src: /src/libgcrypt/cipher/sm4.c:1119,1
    - Dst: sm4_round
      Src: /src/libgcrypt/cipher/sm4.c:1120,1
    - Dst: sm4_round
      Src: /src/libgcrypt/cipher/sm4.c:1122,1
    - Dst: sm4_round
      Src: /src/libgcrypt/cipher/sm4.c:1123,1
    - Dst: sm4_round
      Src: /src/libgcrypt/cipher/sm4.c:1125,1
    - Dst: sm4_round
      Src: /src/libgcrypt/cipher/sm4.c:1126,1
    - Dst: sm4_round
      Src: /src/libgcrypt/cipher/sm4.c:1128,1
    - Dst: sm4_round
      Src: /src/libgcrypt/cipher/sm4.c:1129,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sm4.c:1132,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sm4.c:1133,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sm4.c:1134,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sm4.c:1135,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sm4.c:1136,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sm4.c:1137,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sm4.c:1138,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sm4.c:1139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 3
    argNames:
    - rk
    - out
    - in
    argTypes:
    - u32*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1096
    functionDepth: 3
    functionLinenumber: 1096
    functionLinenumberEnd: 1142
    functionName: sm4_do_crypt_blks2
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - buf_get_be32
    - sm4_round
    - buf_put_be32
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int sm4_do_crypt_blks2 (const u32 *rk, byte *out, const byte
      *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sm4_do_crypt_blks2
      Src: /src/libgcrypt/cipher/sm4.c:1154,1
    - Dst: sm4_do_crypt
      Src: /src/libgcrypt/cipher/sm4.c:1163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1144
    functionDepth: 4
    functionLinenumber: 1144
    functionLinenumberEnd: 1173
    functionName: sm4_crypt_blocks
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - sm4_do_crypt_blks2
    - sm4_do_crypt
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int sm4_crypt_blocks (void *ctx, byte *out, const byte *in,\n\t\t
      \ size_t num_blks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SM4_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1242
    functionName: sm4_get_crypt_blk1_16_fn
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: crypt_blk1_16_fn_t
    signature: crypt_blk1_16_fn_t sm4_get_crypt_blk1_16_fn(SM4_context *ctx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm4_intel_avx512_ctr_enc_blk32
      Src: /src/libgcrypt/cipher/sm4.c:1264,1
    - Dst: _gcry_sm4_intel_avx2_ctr_enc
      Src: /src/libgcrypt/cipher/sm4.c:1279,1
    - Dst: _gcry_sm4_gfni_avx512_ctr_enc_blk32
      Src: /src/libgcrypt/cipher/sm4.c:1294,1
    - Dst: _gcry_sm4_gfni_avx512_ctr_enc
      Src: /src/libgcrypt/cipher/sm4.c:1305,1
    - Dst: _gcry_sm4_gfni_avx2_ctr_enc
      Src: /src/libgcrypt/cipher/sm4.c:1320,1
    - Dst: _gcry_sm4_aesni_avx2_ctr_enc
      Src: /src/libgcrypt/cipher/sm4.c:1335,1
    - Dst: _gcry_sm4_aesni_avx_ctr_enc
      Src: /src/libgcrypt/cipher/sm4.c:1350,1
    - Dst: _gcry_sm4_armv9_sve_ce_ctr_enc
      Src: /src/libgcrypt/cipher/sm4.c:1363,1
    - Dst: _gcry_sm4_armv8_ce_ctr_enc
      Src: /src/libgcrypt/cipher/sm4.c:1377,1
    - Dst: _gcry_sm4_aarch64_ctr_enc
      Src: /src/libgcrypt/cipher/sm4.c:1394,1
    - Dst: prefetch_sbox_table
      Src: /src/libgcrypt/cipher/sm4.c:1412,1
    - Dst: bulk_ctr_enc_128
      Src: /src/libgcrypt/cipher/sm4.c:1414,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/sm4.c:1419,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/sm4.c:1423,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 84
    argCount: 5
    argNames:
    - context
    - ctr
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1248
    functionDepth: 3
    functionLinenumber: 1248
    functionLinenumberEnd: 1424
    functionName: _gcry_sm4_ctr_enc
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - _gcry_sm4_aarch64_ctr_enc
    - _gcry_sm4_armv8_ce_ctr_enc
    - _gcry_sm4_gfni_avx512_ctr_enc_blk32
    - _gcry_sm4_aesni_avx_ctr_enc
    - prefetch_sbox_table
    - _gcry_sm4_gfni_avx2_ctr_enc
    - _gcry_sm4_aesni_avx2_ctr_enc
    - _gcry_sm4_armv9_sve_ce_ctr_enc
    - wipememory
    - _gcry_burn_stack
    - _gcry_sm4_intel_avx2_ctr_enc
    - _gcry_sm4_intel_avx512_ctr_enc_blk32
    - bulk_ctr_enc_128
    - _gcry_sm4_gfni_avx512_ctr_enc
    linkageType: ''
    returnType: void
    signature: "void _gcry_sm4_ctr_enc(void *context, unsigned char *ctr,\n                  void
      *outbuf_arg, const void *inbuf_arg,\n                  size_t nblocks)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm4_intel_avx512_cbc_dec_blk32
      Src: /src/libgcrypt/cipher/sm4.c:1444,1
    - Dst: _gcry_sm4_intel_avx2_cbc_dec
      Src: /src/libgcrypt/cipher/sm4.c:1459,1
    - Dst: _gcry_sm4_gfni_avx512_cbc_dec_blk32
      Src: /src/libgcrypt/cipher/sm4.c:1474,1
    - Dst: _gcry_sm4_gfni_avx512_cbc_dec
      Src: /src/libgcrypt/cipher/sm4.c:1484,1
    - Dst: _gcry_sm4_gfni_avx2_cbc_dec
      Src: /src/libgcrypt/cipher/sm4.c:1499,1
    - Dst: _gcry_sm4_aesni_avx2_cbc_dec
      Src: /src/libgcrypt/cipher/sm4.c:1514,1
    - Dst: _gcry_sm4_aesni_avx_cbc_dec
      Src: /src/libgcrypt/cipher/sm4.c:1529,1
    - Dst: _gcry_sm4_armv9_sve_ce_cbc_dec
      Src: /src/libgcrypt/cipher/sm4.c:1542,1
    - Dst: _gcry_sm4_armv8_ce_cbc_dec
      Src: /src/libgcrypt/cipher/sm4.c:1556,1
    - Dst: _gcry_sm4_aarch64_cbc_dec
      Src: /src/libgcrypt/cipher/sm4.c:1573,1
    - Dst: prefetch_sbox_table
      Src: /src/libgcrypt/cipher/sm4.c:1591,1
    - Dst: bulk_cbc_dec_128
      Src: /src/libgcrypt/cipher/sm4.c:1593,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/sm4.c:1598,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/sm4.c:1602,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 84
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1428
    functionDepth: 3
    functionLinenumber: 1428
    functionLinenumberEnd: 1603
    functionName: _gcry_sm4_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - bulk_cbc_dec_128
    - _gcry_sm4_gfni_avx2_cbc_dec
    - _gcry_sm4_armv9_sve_ce_cbc_dec
    - prefetch_sbox_table
    - _gcry_sm4_intel_avx512_cbc_dec_blk32
    - _gcry_sm4_aarch64_cbc_dec
    - _gcry_sm4_gfni_avx512_cbc_dec_blk32
    - _gcry_sm4_armv8_ce_cbc_dec
    - wipememory
    - _gcry_burn_stack
    - _gcry_sm4_aesni_avx_cbc_dec
    - _gcry_sm4_gfni_avx512_cbc_dec
    - _gcry_sm4_intel_avx2_cbc_dec
    - _gcry_sm4_aesni_avx2_cbc_dec
    linkageType: ''
    returnType: void
    signature: "void _gcry_sm4_cbc_dec(void *context, unsigned char *iv,\n                  void
      *outbuf_arg, const void *inbuf_arg,\n                  size_t nblocks)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm4_intel_avx512_cfb_dec_blk32
      Src: /src/libgcrypt/cipher/sm4.c:1623,1
    - Dst: _gcry_sm4_intel_avx2_cfb_dec
      Src: /src/libgcrypt/cipher/sm4.c:1638,1
    - Dst: _gcry_sm4_gfni_avx512_cfb_dec_blk32
      Src: /src/libgcrypt/cipher/sm4.c:1653,1
    - Dst: _gcry_sm4_gfni_avx512_cfb_dec
      Src: /src/libgcrypt/cipher/sm4.c:1663,1
    - Dst: _gcry_sm4_gfni_avx2_cfb_dec
      Src: /src/libgcrypt/cipher/sm4.c:1678,1
    - Dst: _gcry_sm4_aesni_avx2_cfb_dec
      Src: /src/libgcrypt/cipher/sm4.c:1693,1
    - Dst: _gcry_sm4_aesni_avx_cfb_dec
      Src: /src/libgcrypt/cipher/sm4.c:1708,1
    - Dst: _gcry_sm4_armv9_sve_ce_cfb_dec
      Src: /src/libgcrypt/cipher/sm4.c:1721,1
    - Dst: _gcry_sm4_armv8_ce_cfb_dec
      Src: /src/libgcrypt/cipher/sm4.c:1735,1
    - Dst: _gcry_sm4_aarch64_cfb_dec
      Src: /src/libgcrypt/cipher/sm4.c:1752,1
    - Dst: prefetch_sbox_table
      Src: /src/libgcrypt/cipher/sm4.c:1770,1
    - Dst: bulk_cfb_dec_128
      Src: /src/libgcrypt/cipher/sm4.c:1772,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/sm4.c:1777,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/sm4.c:1781,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 84
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1607
    functionDepth: 3
    functionLinenumber: 1607
    functionLinenumberEnd: 1782
    functionName: _gcry_sm4_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - _gcry_sm4_gfni_avx2_cfb_dec
    - _gcry_sm4_armv8_ce_cfb_dec
    - prefetch_sbox_table
    - _gcry_sm4_intel_avx512_cfb_dec_blk32
    - _gcry_sm4_armv9_sve_ce_cfb_dec
    - _gcry_sm4_aesni_avx_cfb_dec
    - _gcry_sm4_intel_avx2_cfb_dec
    - _gcry_sm4_gfni_avx512_cfb_dec_blk32
    - wipememory
    - _gcry_burn_stack
    - _gcry_sm4_aesni_avx2_cfb_dec
    - _gcry_sm4_aarch64_cfb_dec
    - _gcry_sm4_gfni_avx512_cfb_dec
    - bulk_cfb_dec_128
    linkageType: ''
    returnType: void
    signature: "void _gcry_sm4_cfb_dec(void *context, unsigned char *iv,\n                  void
      *outbuf_arg, const void *inbuf_arg,\n                  size_t nblocks)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/sm4.c:1790,1
    - Dst: _gcry_sm4_intel_avx512_crypt_blk32
      Src: /src/libgcrypt/cipher/sm4.c:1795,1
    - Dst: _gcry_sm4_gfni_avx512_crypt_blk32
      Src: /src/libgcrypt/cipher/sm4.c:1801,1
    - Dst: _gcry_sm4_armv9_sve_ce_crypt
      Src: /src/libgcrypt/cipher/sm4.c:1807,1
    - Dst: crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4.c:1814,1
    - Dst: crypt_blk1_16
      Src: /src/libgcrypt/cipher/sm4.c:1820,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - ctx
    - outbuf
    - inbuf
    - num_blks
    - rk
    argTypes:
    - SM4_context*
    - byte*
    - byte*
    - size_t
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1821
    functionName: sm4_crypt_blk1_32
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - _gcry_sm4_intel_avx512_crypt_blk32
    - crypt_blk1_16
    - gcry_assert
    - _gcry_sm4_armv9_sve_ce_crypt
    - _gcry_sm4_gfni_avx512_crypt_blk32
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int sm4_crypt_blk1_32 (SM4_context *ctx, byte *outbuf, const
      byte *inbuf,\n\t\t   size_t num_blks, u32 *rk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sm4_crypt_blk1_32
      Src: /src/libgcrypt/cipher/sm4.c:1828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - context
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1823
    functionDepth: 2
    functionLinenumber: 1823
    functionLinenumberEnd: 1829
    functionName: sm4_encrypt_blk1_32
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - sm4_crypt_blk1_32
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int sm4_encrypt_blk1_32 (void *context, byte *out, const
      byte *in,\n\t\t     size_t num_blks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sm4_crypt_blk1_32
      Src: /src/libgcrypt/cipher/sm4.c:1836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - context
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1831
    functionDepth: 2
    functionLinenumber: 1831
    functionLinenumberEnd: 1837
    functionName: sm4_decrypt_blk1_32
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - sm4_crypt_blk1_32
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int sm4_decrypt_blk1_32 (void *context, byte *out, const
      byte *in,\n\t\t     size_t num_blks)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: prefetch_sbox_table
      Src: /src/libgcrypt/cipher/sm4.c:1855,1
    - Dst: bulk_ecb_crypt_128
      Src: /src/libgcrypt/cipher/sm4.c:1857,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/sm4.c:1864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - context
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1840
    functionDepth: 1
    functionLinenumber: 1840
    functionLinenumberEnd: 1865
    functionName: _gcry_sm4_ecb_crypt
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - bulk_ecb_crypt_128
    - prefetch_sbox_table
    linkageType: ''
    returnType: void
    signature: "void _gcry_sm4_ecb_crypt (void *context, void *outbuf_arg,\n\t\t     const
      void *inbuf_arg, size_t nblocks, int encrypt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sm4_armv8_ce_xts_crypt
      Src: /src/libgcrypt/cipher/sm4.c:1881,1
    - Dst: prefetch_sbox_table
      Src: /src/libgcrypt/cipher/sm4.c:1896,1
    - Dst: bulk_xts_crypt_128
      Src: /src/libgcrypt/cipher/sm4.c:1898,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/sm4.c:1905,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/sm4.c:1909,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - context
    - tweak
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1868
    functionDepth: 2
    functionLinenumber: 1868
    functionLinenumberEnd: 1910
    functionName: _gcry_sm4_xts_crypt
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - prefetch_sbox_table
    - wipememory
    - _gcry_burn_stack
    - _gcry_sm4_armv8_ce_xts_crypt
    - bulk_xts_crypt_128
    linkageType: ''
    returnType: void
    signature: "void _gcry_sm4_xts_crypt (void *context, unsigned char *tweak, void
      *outbuf_arg,\n                     const void *inbuf_arg, size_t nblocks, int
      encrypt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bulk_ctr32le_enc_128
      Src: /src/libgcrypt/cipher/sm4.c:1930,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/sm4.c:1935,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/sm4.c:1939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - context
    - ctr
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1913
    functionDepth: 3
    functionLinenumber: 1913
    functionLinenumberEnd: 1940
    functionName: _gcry_sm4_ctr32le_enc
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - wipememory
    - bulk_ctr32le_enc_128
    - _gcry_burn_stack
    linkageType: ''
    returnType: void
    signature: "void _gcry_sm4_ctr32le_enc(void *context, unsigned char *ctr,\n                      void
      *outbuf_arg, const void *inbuf_arg,\n                      size_t nblocks)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: bulk_ocb_prepare_L_pointers_array_blk32
      Src: /src/libgcrypt/cipher/sm4.c:2052,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/sm4.c:2058,1
    - Dst: crypt_blk32
      Src: /src/libgcrypt/cipher/sm4.c:2060,1
    - Dst: bulk_ocb_prepare_L_pointers_array_blk16
      Src: /src/libgcrypt/cipher/sm4.c:2073,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/sm4.c:2079,1
    - Dst: crypt_blk16
      Src: /src/libgcrypt/cipher/sm4.c:2081,1
    - Dst: bulk_ocb_prepare_L_pointers_array_blk8
      Src: /src/libgcrypt/cipher/sm4.c:2094,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/sm4.c:2100,1
    - Dst: crypt_blk8
      Src: /src/libgcrypt/cipher/sm4.c:2102,1
    - Dst: bulk_ocb_crypt_128
      Src: /src/libgcrypt/cipher/sm4.c:2121,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/sm4.c:2126,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/sm4.c:2132,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 5
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2135
      start: 1943
    functionDepth: 4
    functionLinenumber: 1943
    functionLinenumberEnd: 2135
    functionName: _gcry_sm4_ocb_crypt
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - crypt_blk8
    - bulk_ocb_prepare_L_pointers_array_blk16
    - bulk_ocb_crypt_128
    - bulk_ocb_prepare_L_pointers_array_blk8
    - wipememory
    - _gcry_burn_stack
    - crypt_blk16
    - crypt_blk32
    - bulk_ocb_prepare_L_pointers_array_blk32
    - ocb_get_l
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_sm4_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg,\n\t\t
      \    const void *inbuf_arg, size_t nblocks, int encrypt)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: bulk_ocb_prepare_L_pointers_array_blk16
      Src: /src/libgcrypt/cipher/sm4.c:2200,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/sm4.c:2206,1
    - Dst: auth_blk16
      Src: /src/libgcrypt/cipher/sm4.c:2208,1
    - Dst: bulk_ocb_prepare_L_pointers_array_blk8
      Src: /src/libgcrypt/cipher/sm4.c:2220,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/sm4.c:2226,1
    - Dst: auth_blk8
      Src: /src/libgcrypt/cipher/sm4.c:2228,1
    - Dst: bulk_ocb_auth_128
      Src: /src/libgcrypt/cipher/sm4.c:2246,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/sm4.c:2250,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/sm4.c:2256,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 3
    argNames:
    - c
    - abuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2259
      start: 2138
    functionDepth: 4
    functionLinenumber: 2138
    functionLinenumberEnd: 2259
    functionName: _gcry_sm4_ocb_auth
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 0
    functionsReached:
    - bulk_ocb_prepare_L_pointers_array_blk16
    - auth_blk8
    - bulk_ocb_prepare_L_pointers_array_blk8
    - wipememory
    - _gcry_burn_stack
    - bulk_ocb_auth_128
    - auth_blk16
    - ocb_get_l
    linkageType: ''
    returnType: size_t
    signature: size_t _gcry_sm4_ocb_auth (gcry_cipher_hd_t c, const void *abuf_arg,
      size_t nblocks)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/sm4.c:2280,1
    - Dst: sm4_expand_key
      Src: /src/libgcrypt/cipher/sm4.c:2282,1
    - Dst: sm4_encrypt
      Src: /src/libgcrypt/cipher/sm4.c:2283,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/sm4.c:2284,1
    - Dst: sm4_decrypt
      Src: /src/libgcrypt/cipher/sm4.c:2286,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/sm4.c:2287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2291
      start: 2261
    functionDepth: 5
    functionLinenumber: 2261
    functionLinenumberEnd: 2291
    functionName: sm4_selftest
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 1
    functionsReached:
    - sm4_encrypt
    - memcmp
    - memset
    - sm4_decrypt
    - sm4_expand_key
    linkageType: ''
    returnType: char
    signature: 'char *

      sm4_selftest (void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sm4_selftest
      Src: /src/libgcrypt/cipher/sm4.c:2305,1
    - Dst: report
      Src: /src/libgcrypt/cipher/sm4.c:2313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2293
    functionDepth: 6
    functionLinenumber: 2293
    functionLinenumberEnd: 2315
    functionName: run_selftests
    functionSourceFile: /src/libgcrypt/cipher/sm4.c
    functionUses: 4
    functionsReached:
    - report
    - sm4_selftest
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t run_selftests (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/md2.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - X
    - buf
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: permute
    functionSourceFile: /src/libgcrypt/cipher/md2.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void permute (unsigned char *X, const unsigned char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: permute
      Src: /src/libgcrypt/cipher/md2.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - c
    - data
    argTypes:
    - void*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: transform_blk
    functionSourceFile: /src/libgcrypt/cipher/md2.c
    functionUses: 6
    functionsReached:
    - permute
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int transform_blk (void *c, const unsigned char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transform_blk
      Src: /src/libgcrypt/cipher/md2.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - c
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: transform
    functionSourceFile: /src/libgcrypt/cipher/md2.c
    functionUses: 15
    functionsReached:
    - transform_blk
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int transform ( void *c, const unsigned char *data, size_t
      nblks )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/md2.c:137,1
    - Dst: _gcry_ctz
      Src: /src/libgcrypt/cipher/md2.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: md2_init
    functionSourceFile: /src/libgcrypt/cipher/md2.c
    functionUses: 0
    functionsReached:
    - _gcry_ctz
    - memset
    linkageType: ''
    returnType: void
    signature: void md2_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/md2.c:150,1
    - Dst: transform_blk
      Src: /src/libgcrypt/cipher/md2.c:152,1
    - Dst: permute
      Src: /src/libgcrypt/cipher/md2.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: md2_final
    functionSourceFile: /src/libgcrypt/cipher/md2.c
    functionUses: 0
    functionsReached:
    - transform_blk
    - memset
    - permute
    linkageType: ''
    returnType: void
    signature: void md2_final (void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: md2_read
    functionSourceFile: /src/libgcrypt/cipher/md2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      md2_read (void *context)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc_secure
      Src: /src/libgcrypt/cipher/mac-poly1305.c:54,1
    - Dst: xtrycalloc
      Src: /src/libgcrypt/cipher/mac-poly1305.c:56,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/mac-poly1305.c:59,1
    - Dst: _gcry_cipher_open_internal
      Src: /src/libgcrypt/cipher/mac-poly1305.c:94,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/mac-poly1305.c:102,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 104
    functionName: poly1305mac_open
    functionSourceFile: /src/libgcrypt/cipher/mac-poly1305.c
    functionUses: 0
    functionsReached:
    - xtrycalloc_secure
    - gpg_err_code_from_syserror
    - _gcry_cipher_open_internal
    - xfree
    - xtrycalloc
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t poly1305mac_open (gcry_mac_hd_t h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_close
      Src: /src/libgcrypt/cipher/mac-poly1305.c:113,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/mac-poly1305.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: poly1305mac_close
    functionSourceFile: /src/libgcrypt/cipher/mac-poly1305.c
    functionUses: 0
    functionsReached:
    - xfree
    - _gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void poly1305mac_close (gcry_mac_hd_t h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/mac-poly1305.c:130,1
    - Dst: _gcry_cipher_setkey
      Src: /src/libgcrypt/cipher/mac-poly1305.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - h
    - key
    - keylen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 5
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: poly1305mac_prepare_key
    functionSourceFile: /src/libgcrypt/cipher/mac-poly1305.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_setkey
    - memcpy
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t poly1305mac_prepare_key (gcry_mac_hd_t h, const unsigned
      char *key, size_t keylen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/mac-poly1305.c:143,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/mac-poly1305.c:144,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/mac-poly1305.c:145,1
    - Dst: poly1305mac_prepare_key
      Src: /src/libgcrypt/cipher/mac-poly1305.c:153,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/mac-poly1305.c:168,1
    - Dst: _gcry_poly1305_init
      Src: /src/libgcrypt/cipher/mac-poly1305.c:170,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/mac-poly1305.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - h
    - key
    - keylen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 137
    functionDepth: 6
    functionLinenumber: 137
    functionLinenumberEnd: 182
    functionName: poly1305mac_setkey
    functionSourceFile: /src/libgcrypt/cipher/mac-poly1305.c
    functionUses: 0
    functionsReached:
    - poly1305mac_prepare_key
    - memset
    - memcpy
    - _gcry_poly1305_init
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t poly1305mac_setkey (gcry_mac_hd_t h, const unsigned
      char *key, size_t keylen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/mac-poly1305.c:200,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/mac-poly1305.c:201,1
    - Dst: _gcry_cipher_encrypt
      Src: /src/libgcrypt/cipher/mac-poly1305.c:207,1
    - Dst: _gcry_poly1305_init
      Src: /src/libgcrypt/cipher/mac-poly1305.c:211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - h
    - iv
    - ivlen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 217
    functionName: poly1305mac_setiv
    functionSourceFile: /src/libgcrypt/cipher/mac-poly1305.c
    functionUses: 0
    functionsReached:
    - _gcry_poly1305_init
    - _gcry_cipher_encrypt
    - memset
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t poly1305mac_setiv (gcry_mac_hd_t h, const unsigned
      char *iv, size_t ivlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/mac-poly1305.c:228,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/mac-poly1305.c:229,1
    - Dst: _gcry_poly1305_init
      Src: /src/libgcrypt/cipher/mac-poly1305.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 236
    functionName: poly1305mac_reset
    functionSourceFile: /src/libgcrypt/cipher/mac-poly1305.c
    functionUses: 0
    functionsReached:
    - _gcry_poly1305_init
    - memset
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t poly1305mac_reset (gcry_mac_hd_t h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_poly1305_update
      Src: /src/libgcrypt/cipher/mac-poly1305.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - h
    - buf
    - buflen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 239
    functionDepth: 4
    functionLinenumber: 239
    functionLinenumberEnd: 250
    functionName: poly1305mac_write
    functionSourceFile: /src/libgcrypt/cipher/mac-poly1305.c
    functionUses: 0
    functionsReached:
    - _gcry_poly1305_update
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t poly1305mac_write (gcry_mac_hd_t h, const unsigned
      char *buf, size_t buflen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_poly1305_finish
      Src: /src/libgcrypt/cipher/mac-poly1305.c:263,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/mac-poly1305.c:265,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/mac-poly1305.c:273,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/mac-poly1305.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - h
    - outbuf
    - outlen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 281
    functionName: poly1305mac_read
    functionSourceFile: /src/libgcrypt/cipher/mac-poly1305.c
    functionUses: 0
    functionsReached:
    - _gcry_poly1305_finish
    - buf_cpy
    - memset
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t poly1305mac_read (gcry_mac_hd_t h, unsigned char *outbuf,
      size_t *outlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: poly1305mac_read
      Src: /src/libgcrypt/cipher/mac-poly1305.c:292,1
    - Dst: buf_eq_const
      Src: /src/libgcrypt/cipher/mac-poly1305.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - h
    - buf
    - buflen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 284
    functionDepth: 4
    functionLinenumber: 284
    functionLinenumberEnd: 300
    functionName: poly1305mac_verify
    functionSourceFile: /src/libgcrypt/cipher/mac-poly1305.c
    functionUses: 0
    functionsReached:
    - poly1305mac_read
    - buf_eq_const
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t poly1305mac_verify (gcry_mac_hd_t h, const unsigned
      char *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 309
    functionName: poly1305mac_get_maclen
    functionSourceFile: /src/libgcrypt/cipher/mac-poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int poly1305mac_get_maclen (int algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: poly1305mac_get_keylen
    functionSourceFile: /src/libgcrypt/cipher/mac-poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int poly1305mac_get_keylen (int algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aria_gfni_avx_ecb_crypt_blk1_16
      Src: /src/libgcrypt/cipher/aria.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - out
    - in
    - key
    - nblks
    argTypes:
    - ARIA_context*
    - byte*
    - byte*
    - u32[][]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 483
    functionName: aria_avx_ecb_crypt_blk1_16
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - _gcry_aria_gfni_avx_ecb_crypt_blk1_16
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int aria_avx_ecb_crypt_blk1_16(const ARIA_context *ctx, byte
      *out, const byte *in,\n\t\t\t   const u32 key[][ARIA_RD_KEY_WORDS], size_t nblks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aria_gfni_avx_ctr_crypt_blk16
      Src: /src/libgcrypt/cipher/aria.c:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - iv
    argTypes:
    - ARIA_context*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 498
    functionName: aria_avx_ctr_crypt_blk16
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - _gcry_aria_gfni_avx_ctr_crypt_blk16
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int aria_avx_ctr_crypt_blk16(const ARIA_context *ctx, byte
      *out, const byte *in,\n\t\t\t byte *iv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aria_gfni_avx2_ecb_crypt_blk32
      Src: /src/libgcrypt/cipher/aria.c:537,1
    - Dst: _gcry_aria_vaes_avx2_ecb_crypt_blk32
      Src: /src/libgcrypt/cipher/aria.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - key
    argTypes:
    - ARIA_context*
    - byte*
    - byte*
    - u32[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 548
    functionName: aria_avx2_ecb_crypt_blk32
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - _gcry_aria_vaes_avx2_ecb_crypt_blk32
    - _gcry_aria_gfni_avx2_ecb_crypt_blk32
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int aria_avx2_ecb_crypt_blk32(const ARIA_context *ctx, byte
      *out, const byte *in,\n\t\t\t  const u32 key[][ARIA_RD_KEY_WORDS])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aria_gfni_avx2_ctr_crypt_blk32
      Src: /src/libgcrypt/cipher/aria.c:557,1
    - Dst: _gcry_aria_vaes_avx2_ctr_crypt_blk32
      Src: /src/libgcrypt/cipher/aria.c:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - iv
    argTypes:
    - ARIA_context*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 568
    functionName: aria_avx2_ctr_crypt_blk32
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - _gcry_aria_vaes_avx2_ctr_crypt_blk32
    - _gcry_aria_gfni_avx2_ctr_crypt_blk32
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int aria_avx2_ctr_crypt_blk32(const ARIA_context *ctx, byte
      *out, const byte *in,\n\t\t\t  byte *iv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aria_gfni_avx512_ecb_crypt_blk64
      Src: /src/libgcrypt/cipher/aria.c:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - key
    argTypes:
    - ARIA_context*
    - byte*
    - byte*
    - u32[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 587
    functionName: aria_gfni_avx512_ecb_crypt_blk64
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 1
    functionsReached:
    - _gcry_aria_gfni_avx512_ecb_crypt_blk64
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int aria_gfni_avx512_ecb_crypt_blk64(const ARIA_context *ctx,
      byte *out,\n\t\t\t\t const byte *in,\n\t\t\t\t const u32 key[][ARIA_RD_KEY_WORDS])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_aria_gfni_avx512_ctr_crypt_blk64
      Src: /src/libgcrypt/cipher/aria.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - iv
    argTypes:
    - ARIA_context*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 595
    functionName: aria_gfni_avx512_ctr_crypt_blk64
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 1
    functionsReached:
    - _gcry_aria_gfni_avx512_ctr_crypt_blk64
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int aria_gfni_avx512_ctr_crypt_blk64(const ARIA_context *ctx,
      byte *out,\n\t\t\t\t const byte *in, byte *iv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - tab
    - len
    argTypes:
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 621
    functionName: prefetch_table
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prefetch_table(const volatile byte *tab, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prefetch_table
      Src: /src/libgcrypt/cipher/aria.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 636
    functionName: prefetch_sboxes
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - prefetch_table
    linkageType: ''
    returnType: void
    signature: void prefetch_sboxes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ror
      Src: /src/libgcrypt/cipher/aria.c:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - r
    argTypes:
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: rotr32
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - ror
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: ALWAYS_INLINE rotr32(u32 v, u32 r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 649
    functionName: get_u8
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: ALWAYS_INLINE get_u8(u32 x, u32 y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - v0
    - v1
    - v2
    - v3
    argTypes:
    - byte
    - byte
    - byte
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 655
    functionName: make_u32
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: ALWAYS_INLINE make_u32(byte v0, byte v1, byte v2, byte v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotr32
      Src: /src/libgcrypt/cipher/aria.c:660,1
    - Dst: rotr32
      Src: /src/libgcrypt/cipher/aria.c:660,1
    - Dst: rotr32
      Src: /src/libgcrypt/cipher/aria.c:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t0
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 661
    functionName: aria_m
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - rotr32
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: ALWAYS_INLINE aria_m(u32 t0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:667,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:668,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:669,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:670,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:671,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:672,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:673,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:674,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:675,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:676,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:677,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:678,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:679,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:680,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:681,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - t0
    - t1
    - t2
    - t3
    argTypes:
    - u32*
    - u32*
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 683
    functionName: aria_sbox_layer1_with_pre_diff
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - get_u8
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: ALWAYS_INLINE aria_sbox_layer1_with_pre_diff(u32 *t0, u32 *t1, u32
      *t2, u32 *t3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:689,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:690,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:691,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:692,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:693,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:694,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:695,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:696,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:697,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:698,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:699,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:700,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:701,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:702,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:703,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - t0
    - t1
    - t2
    - t3
    argTypes:
    - u32*
    - u32*
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 705
    functionName: aria_sbox_layer2_with_pre_diff
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - get_u8
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: ALWAYS_INLINE aria_sbox_layer2_with_pre_diff(u32 *t0, u32 *t1, u32
      *t2, u32 *t3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - t0
    - t1
    - t2
    - t3
    argTypes:
    - u32*
    - u32*
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 718
    functionName: aria_diff_word
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: ALWAYS_INLINE aria_diff_word(u32 *t0, u32 *t1, u32 *t2, u32 *t3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotr32
      Src: /src/libgcrypt/cipher/aria.c:724,1
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/aria.c:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - t1
    - t2
    - t3
    argTypes:
    - u32*
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 726
    functionName: aria_diff_byte
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - rotr32
    - _gcry_bswap32
    linkageType: ''
    returnType: void
    signature: void aria_diff_byte(u32 *t1, u32 *t2, u32 *t3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - rk
    - t0
    - t1
    - t2
    - t3
    argTypes:
    - u32*
    - u32*
    - u32*
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 736
    functionName: aria_add_round_key
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: ALWAYS_INLINE aria_add_round_key(u32 *rk, u32 *t0, u32 *t1, u32 *t2,
      u32 *t3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aria_sbox_layer1_with_pre_diff
      Src: /src/libgcrypt/cipher/aria.c:742,1
    - Dst: aria_diff_word
      Src: /src/libgcrypt/cipher/aria.c:743,1
    - Dst: aria_diff_byte
      Src: /src/libgcrypt/cipher/aria.c:744,1
    - Dst: aria_diff_word
      Src: /src/libgcrypt/cipher/aria.c:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - t0
    - t1
    - t2
    - t3
    argTypes:
    - u32*
    - u32*
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 746
    functionName: aria_subst_diff_odd
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - aria_sbox_layer1_with_pre_diff
    - aria_diff_byte
    - aria_diff_word
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: ALWAYS_INLINE aria_subst_diff_odd(u32 *t0, u32 *t1, u32 *t2, u32 *t3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aria_sbox_layer2_with_pre_diff
      Src: /src/libgcrypt/cipher/aria.c:752,1
    - Dst: aria_diff_word
      Src: /src/libgcrypt/cipher/aria.c:753,1
    - Dst: aria_diff_byte
      Src: /src/libgcrypt/cipher/aria.c:754,1
    - Dst: aria_diff_word
      Src: /src/libgcrypt/cipher/aria.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - t0
    - t1
    - t2
    - t3
    argTypes:
    - u32*
    - u32*
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 756
    functionName: aria_subst_diff_even
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - aria_sbox_layer2_with_pre_diff
    - aria_diff_byte
    - aria_diff_word
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: ALWAYS_INLINE aria_subst_diff_even(u32 *t0, u32 *t1, u32 *t2, u32 *t3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_u32
      Src: /src/libgcrypt/cipher/aria.c:762,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:762,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:763,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:764,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:765,1
    - Dst: make_u32
      Src: /src/libgcrypt/cipher/aria.c:766,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:766,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:767,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:768,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:769,1
    - Dst: make_u32
      Src: /src/libgcrypt/cipher/aria.c:770,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:770,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:771,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:772,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:773,1
    - Dst: make_u32
      Src: /src/libgcrypt/cipher/aria.c:774,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:774,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:775,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:776,1
    - Dst: get_u8
      Src: /src/libgcrypt/cipher/aria.c:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - t0
    - t1
    - t2
    - t3
    argTypes:
    - u32*
    - u32*
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 778
    functionName: aria_last_round
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - make_u32
    - get_u8
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: ALWAYS_INLINE aria_last_round(u32 *t0, u32 *t1, u32 *t2, u32 *t3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - rk
    - x
    - y
    - n
    argTypes:
    - u32*
    - u32*
    - u32*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 799
    functionName: aria_gsrk
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: ALWAYS_INLINE aria_gsrk(u32 *rk, u32 *x, u32 *y, u32 n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: prefetch_sboxes
      Src: /src/libgcrypt/cipher/aria.c:811,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:815,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:816,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:817,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:818,1
    - Dst: aria_subst_diff_odd
      Src: /src/libgcrypt/cipher/aria.c:825,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:829,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:830,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:833,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:834,1
    - Dst: aria_subst_diff_even
      Src: /src/libgcrypt/cipher/aria.c:865,1
    - Dst: aria_subst_diff_odd
      Src: /src/libgcrypt/cipher/aria.c:882,1
    - Dst: aria_gsrk
      Src: /src/libgcrypt/cipher/aria.c:889,1
    - Dst: aria_gsrk
      Src: /src/libgcrypt/cipher/aria.c:891,1
    - Dst: aria_gsrk
      Src: /src/libgcrypt/cipher/aria.c:893,1
    - Dst: aria_gsrk
      Src: /src/libgcrypt/cipher/aria.c:895,1
    - Dst: aria_gsrk
      Src: /src/libgcrypt/cipher/aria.c:898,1
    - Dst: aria_gsrk
      Src: /src/libgcrypt/cipher/aria.c:900,1
    - Dst: aria_gsrk
      Src: /src/libgcrypt/cipher/aria.c:902,1
    - Dst: aria_gsrk
      Src: /src/libgcrypt/cipher/aria.c:904,1
    - Dst: aria_gsrk
      Src: /src/libgcrypt/cipher/aria.c:907,1
    - Dst: aria_gsrk
      Src: /src/libgcrypt/cipher/aria.c:909,1
    - Dst: aria_gsrk
      Src: /src/libgcrypt/cipher/aria.c:911,1
    - Dst: aria_gsrk
      Src: /src/libgcrypt/cipher/aria.c:913,1
    - Dst: aria_gsrk
      Src: /src/libgcrypt/cipher/aria.c:916,1
    - Dst: aria_gsrk
      Src: /src/libgcrypt/cipher/aria.c:920,1
    - Dst: aria_gsrk
      Src: /src/libgcrypt/cipher/aria.c:922,1
    - Dst: aria_gsrk
      Src: /src/libgcrypt/cipher/aria.c:927,1
    - Dst: aria_gsrk
      Src: /src/libgcrypt/cipher/aria.c:930,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/aria.c:934,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/aria.c:935,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/aria.c:936,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/aria.c:937,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 100
    argCount: 3
    argNames:
    - ctx
    - in_key
    - key_len
    argTypes:
    - ARIA_context*
    - byte*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 802
    functionDepth: 3
    functionLinenumber: 802
    functionLinenumberEnd: 938
    functionName: aria_set_encrypt_key
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - prefetch_sboxes
    - aria_subst_diff_even
    - buf_get_be32
    - wipememory
    - aria_gsrk
    - aria_subst_diff_odd
    linkageType: ''
    returnType: NO_INLINE
    signature: NO_INLINE aria_set_encrypt_key(ARIA_context *ctx, const byte *in_key,
      u32 key_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aria_m
      Src: /src/libgcrypt/cipher/aria.c:953,1
    - Dst: aria_m
      Src: /src/libgcrypt/cipher/aria.c:954,1
    - Dst: aria_m
      Src: /src/libgcrypt/cipher/aria.c:955,1
    - Dst: aria_m
      Src: /src/libgcrypt/cipher/aria.c:956,1
    - Dst: aria_diff_word
      Src: /src/libgcrypt/cipher/aria.c:958,1
    - Dst: aria_diff_byte
      Src: /src/libgcrypt/cipher/aria.c:960,1
    - Dst: aria_diff_word
      Src: /src/libgcrypt/cipher/aria.c:962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ARIA_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 940
    functionDepth: 2
    functionLinenumber: 940
    functionLinenumberEnd: 965
    functionName: aria_set_decrypt_key
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - aria_m
    - aria_diff_byte
    - aria_diff_word
    linkageType: ''
    returnType: void
    signature: void aria_set_decrypt_key(ARIA_context *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:975,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:976,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:977,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:978,1
    - Dst: aria_add_round_key
      Src: /src/libgcrypt/cipher/aria.c:980,1
    - Dst: aria_subst_diff_odd
      Src: /src/libgcrypt/cipher/aria.c:985,1
    - Dst: aria_add_round_key
      Src: /src/libgcrypt/cipher/aria.c:986,1
    - Dst: aria_subst_diff_even
      Src: /src/libgcrypt/cipher/aria.c:992,1
    - Dst: aria_add_round_key
      Src: /src/libgcrypt/cipher/aria.c:993,1
    - Dst: aria_last_round
      Src: /src/libgcrypt/cipher/aria.c:997,1
    - Dst: aria_add_round_key
      Src: /src/libgcrypt/cipher/aria.c:998,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/aria.c:1000,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/aria.c:1001,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/aria.c:1002,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/aria.c:1003,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - key
    argTypes:
    - ARIA_context*
    - byte*
    - byte*
    - u32[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 967
    functionDepth: 3
    functionLinenumber: 967
    functionLinenumberEnd: 1006
    functionName: aria_crypt
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - buf_put_be32
    - aria_subst_diff_even
    - buf_get_be32
    - aria_subst_diff_odd
    - aria_last_round
    - aria_add_round_key
    linkageType: ''
    returnType: NO_INLINE unsigned
    signature: "NO_INLINE unsigned aria_crypt(ARIA_context *ctx, byte *out, const
      byte *in,\n\t   u32 key[][ARIA_RD_KEY_WORDS])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prefetch_sboxes
      Src: /src/libgcrypt/cipher/aria.c:1013,1
    - Dst: aria_crypt
      Src: /src/libgcrypt/cipher/aria.c:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1008
    functionDepth: 4
    functionLinenumber: 1008
    functionLinenumberEnd: 1016
    functionName: aria_encrypt
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - prefetch_sboxes
    - aria_crypt
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int aria_encrypt(void *c, byte *outbuf, const byte *inbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aria_set_decrypt_key
      Src: /src/libgcrypt/cipher/aria.c:1025,1
    - Dst: prefetch_sboxes
      Src: /src/libgcrypt/cipher/aria.c:1029,1
    - Dst: aria_crypt
      Src: /src/libgcrypt/cipher/aria.c:1031,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - c
    - outbuf
    - inbuf
    argTypes:
    - void*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1018
    functionDepth: 4
    functionLinenumber: 1018
    functionLinenumberEnd: 1032
    functionName: aria_decrypt
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - prefetch_sboxes
    - aria_set_decrypt_key
    - aria_crypt
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int aria_decrypt(void *c, byte *outbuf, const byte *inbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:1044,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:1045,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:1046,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:1047,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:1048,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:1049,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:1050,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/cipher/aria.c:1051,1
    - Dst: aria_add_round_key
      Src: /src/libgcrypt/cipher/aria.c:1055,1
    - Dst: aria_add_round_key
      Src: /src/libgcrypt/cipher/aria.c:1056,1
    - Dst: aria_subst_diff_odd
      Src: /src/libgcrypt/cipher/aria.c:1059,1
    - Dst: aria_subst_diff_odd
      Src: /src/libgcrypt/cipher/aria.c:1060,1
    - Dst: aria_add_round_key
      Src: /src/libgcrypt/cipher/aria.c:1061,1
    - Dst: aria_add_round_key
      Src: /src/libgcrypt/cipher/aria.c:1062,1
    - Dst: aria_subst_diff_even
      Src: /src/libgcrypt/cipher/aria.c:1068,1
    - Dst: aria_subst_diff_even
      Src: /src/libgcrypt/cipher/aria.c:1069,1
    - Dst: aria_last_round
      Src: /src/libgcrypt/cipher/aria.c:1072,1
    - Dst: aria_last_round
      Src: /src/libgcrypt/cipher/aria.c:1073,1
    - Dst: aria_add_round_key
      Src: /src/libgcrypt/cipher/aria.c:1074,1
    - Dst: aria_add_round_key
      Src: /src/libgcrypt/cipher/aria.c:1075,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/aria.c:1077,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/aria.c:1078,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/aria.c:1079,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/aria.c:1080,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/aria.c:1081,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/aria.c:1082,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/aria.c:1083,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/aria.c:1084,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - key
    argTypes:
    - ARIA_context*
    - byte*
    - byte*
    - u32[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1035
    functionDepth: 3
    functionLinenumber: 1035
    functionLinenumberEnd: 1087
    functionName: aria_crypt_2blks
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - buf_put_be32
    - aria_subst_diff_even
    - buf_get_be32
    - aria_subst_diff_odd
    - aria_last_round
    - aria_add_round_key
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int aria_crypt_2blks(ARIA_context *ctx, byte *out, const
      byte *in,\n\t\t u32 key[][ARIA_RD_KEY_WORDS])"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: aria_gfni_avx512_ecb_crypt_blk64
      Src: /src/libgcrypt/cipher/aria.c:1102,1
    - Dst: aria_avx2_ecb_crypt_blk32
      Src: /src/libgcrypt/cipher/aria.c:1122,1
    - Dst: aria_avx_ecb_crypt_blk1_16
      Src: /src/libgcrypt/cipher/aria.c:1143,1
    - Dst: prefetch_sboxes
      Src: /src/libgcrypt/cipher/aria.c:1158,1
    - Dst: aria_crypt_2blks
      Src: /src/libgcrypt/cipher/aria.c:1164,1
    - Dst: aria_crypt
      Src: /src/libgcrypt/cipher/aria.c:1173,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 5
    argNames:
    - ctx
    - out
    - in
    - num_blks
    - key
    argTypes:
    - ARIA_context*
    - byte*
    - byte*
    - size_t
    - u32[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1089
    functionDepth: 4
    functionLinenumber: 1089
    functionLinenumberEnd: 1183
    functionName: aria_crypt_blocks
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - aria_crypt_2blks
    - prefetch_sboxes
    - aria_crypt
    - aria_gfni_avx512_ecb_crypt_blk64
    - aria_avx2_ecb_crypt_blk32
    - aria_avx_ecb_crypt_blk1_16
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int aria_crypt_blocks (ARIA_context *ctx, byte *out, const
      byte *in,\n\t\t   size_t num_blks, u32 key[][ARIA_RD_KEY_WORDS])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aria_crypt_blocks
      Src: /src/libgcrypt/cipher/aria.c:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1185
    functionDepth: 5
    functionLinenumber: 1185
    functionLinenumberEnd: 1191
    functionName: aria_enc_blocks
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - aria_crypt_blocks
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int aria_enc_blocks (void *c, byte *out, const byte *in, size_t
      num_blks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aria_crypt_blocks
      Src: /src/libgcrypt/cipher/aria.c:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - out
    - in
    - num_blks
    argTypes:
    - void*
    - byte*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1193
    functionDepth: 5
    functionLinenumber: 1193
    functionLinenumberEnd: 1199
    functionName: aria_dec_blocks
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - aria_crypt_blocks
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int aria_dec_blocks (void *c, byte *out, const byte *in, size_t
      num_blks)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: aria_gfni_avx512_ctr_crypt_blk64
      Src: /src/libgcrypt/cipher/aria.c:1222,1
    - Dst: aria_avx2_ctr_crypt_blk32
      Src: /src/libgcrypt/cipher/aria.c:1239,1
    - Dst: aria_avx_ctr_crypt_blk16
      Src: /src/libgcrypt/cipher/aria.c:1256,1
    - Dst: bulk_ctr_enc_128
      Src: /src/libgcrypt/cipher/aria.c:1275,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/aria.c:1280,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/aria.c:1284,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 5
    argNames:
    - context
    - ctr
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1205
    functionDepth: 3
    functionLinenumber: 1205
    functionLinenumberEnd: 1285
    functionName: _gcry_aria_ctr_enc
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - aria_gfni_avx512_ctr_crypt_blk64
    - wipememory
    - _gcry_burn_stack
    - aria_avx_ctr_crypt_blk16
    - bulk_ctr_enc_128
    - aria_avx2_ctr_crypt_blk32
    linkageType: ''
    returnType: void
    signature: "void _gcry_aria_ctr_enc(void *context, unsigned char *ctr,\n\t\t   void
      *outbuf_arg, const void *inbuf_arg,\n\t\t   size_t nblocks)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: prefetch_sboxes
      Src: /src/libgcrypt/cipher/aria.c:1299,1
    - Dst: cipher_block_xor
      Src: /src/libgcrypt/cipher/aria.c:1305,1
    - Dst: aria_crypt
      Src: /src/libgcrypt/cipher/aria.c:1307,1
    - Dst: cipher_block_cpy
      Src: /src/libgcrypt/cipher/aria.c:1316,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/aria.c:1319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - cbc_mac
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1288
    functionDepth: 4
    functionLinenumber: 1288
    functionLinenumberEnd: 1320
    functionName: _gcry_aria_cbc_enc
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - cipher_block_xor
    - prefetch_sboxes
    - aria_crypt
    - _gcry_burn_stack
    - cipher_block_cpy
    linkageType: ''
    returnType: void
    signature: "void _gcry_aria_cbc_enc (void *context, unsigned char *iv,\n\t\t    void
      *outbuf_arg, const void *inbuf_arg,\n\t\t    size_t nblocks, int cbc_mac)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aria_set_decrypt_key
      Src: /src/libgcrypt/cipher/aria.c:1336,1
    - Dst: bulk_cbc_dec_128
      Src: /src/libgcrypt/cipher/aria.c:1349,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/aria.c:1354,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/aria.c:1358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1324
    functionDepth: 3
    functionLinenumber: 1324
    functionLinenumberEnd: 1359
    functionName: _gcry_aria_cbc_dec
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - bulk_cbc_dec_128
    - _gcry_burn_stack
    - aria_set_decrypt_key
    - wipememory
    linkageType: ''
    returnType: void
    signature: "void _gcry_aria_cbc_dec(void *context, unsigned char *iv,\n\t\t   void
      *outbuf_arg, const void *inbuf_arg,\n\t\t   size_t nblocks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prefetch_sboxes
      Src: /src/libgcrypt/cipher/aria.c:1372,1
    - Dst: aria_crypt
      Src: /src/libgcrypt/cipher/aria.c:1377,1
    - Dst: cipher_block_xor_2dst
      Src: /src/libgcrypt/cipher/aria.c:1379,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/aria.c:1385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1362
    functionDepth: 4
    functionLinenumber: 1362
    functionLinenumberEnd: 1386
    functionName: _gcry_aria_cfb_enc
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - prefetch_sboxes
    - _gcry_burn_stack
    - aria_crypt
    - cipher_block_xor_2dst
    linkageType: ''
    returnType: void
    signature: "void _gcry_aria_cfb_enc (void *context, unsigned char *iv,\n\t\t    void
      *outbuf_arg, const void *inbuf_arg,\n\t\t    size_t nblocks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bulk_cfb_dec_128
      Src: /src/libgcrypt/cipher/aria.c:1409,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/aria.c:1414,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/aria.c:1418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - context
    - iv
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1390
    functionDepth: 3
    functionLinenumber: 1390
    functionLinenumberEnd: 1419
    functionName: _gcry_aria_cfb_dec
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - wipememory
    - _gcry_burn_stack
    - bulk_cfb_dec_128
    linkageType: ''
    returnType: void
    signature: "void _gcry_aria_cfb_dec(void *context, unsigned char *iv,\n\t\t   void
      *outbuf_arg, const void *inbuf_arg,\n\t\t   size_t nblocks)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aria_set_decrypt_key
      Src: /src/libgcrypt/cipher/aria.c:1433,1
    - Dst: bulk_ecb_crypt_128
      Src: /src/libgcrypt/cipher/aria.c:1446,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/aria.c:1452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - context
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1422
    functionDepth: 3
    functionLinenumber: 1422
    functionLinenumberEnd: 1453
    functionName: _gcry_aria_ecb_crypt
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - aria_set_decrypt_key
    - bulk_ecb_crypt_128
    linkageType: ''
    returnType: void
    signature: "void _gcry_aria_ecb_crypt (void *context, void *outbuf_arg,\n\t\t
      \     const void *inbuf_arg, size_t nblocks, int encrypt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aria_set_decrypt_key
      Src: /src/libgcrypt/cipher/aria.c:1467,1
    - Dst: bulk_xts_crypt_128
      Src: /src/libgcrypt/cipher/aria.c:1482,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/aria.c:1489,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/aria.c:1493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - context
    - tweak
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1456
    functionDepth: 3
    functionLinenumber: 1456
    functionLinenumberEnd: 1494
    functionName: _gcry_aria_xts_crypt
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - wipememory
    - _gcry_burn_stack
    - aria_set_decrypt_key
    - bulk_xts_crypt_128
    linkageType: ''
    returnType: void
    signature: "void _gcry_aria_xts_crypt (void *context, unsigned char *tweak, void
      *outbuf_arg,\n\t\t      const void *inbuf_arg, size_t nblocks, int encrypt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bulk_ctr32le_enc_128
      Src: /src/libgcrypt/cipher/aria.c:1516,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/aria.c:1522,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/aria.c:1526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - context
    - ctr
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1497
    functionDepth: 3
    functionLinenumber: 1497
    functionLinenumberEnd: 1527
    functionName: _gcry_aria_ctr32le_enc
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - wipememory
    - bulk_ctr32le_enc_128
    - _gcry_burn_stack
    linkageType: ''
    returnType: void
    signature: "void _gcry_aria_ctr32le_enc(void *context, unsigned char *ctr,\n\t\t
      \      void *outbuf_arg, const void *inbuf_arg,\n\t\t       size_t nblocks)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aria_set_decrypt_key
      Src: /src/libgcrypt/cipher/aria.c:1542,1
    - Dst: bulk_ocb_crypt_128
      Src: /src/libgcrypt/cipher/aria.c:1557,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/aria.c:1563,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/aria.c:1569,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1530
    functionDepth: 4
    functionLinenumber: 1530
    functionLinenumberEnd: 1572
    functionName: _gcry_aria_ocb_crypt
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - bulk_ocb_crypt_128
    - _gcry_burn_stack
    - aria_set_decrypt_key
    - wipememory
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_aria_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg,\n\t\t
      \     const void *inbuf_arg, size_t nblocks, int encrypt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bulk_ocb_auth_128
      Src: /src/libgcrypt/cipher/aria.c:1592,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/aria.c:1597,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/aria.c:1603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - c
    - abuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1575
    functionDepth: 4
    functionLinenumber: 1575
    functionLinenumberEnd: 1606
    functionName: _gcry_aria_ocb_auth
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - wipememory
    - _gcry_burn_stack
    - bulk_ocb_auth_128
    linkageType: ''
    returnType: size_t
    signature: size_t _gcry_aria_ocb_auth (gcry_cipher_hd_t c, const void *abuf_arg,
      size_t nblocks)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/aria.c:1616,1
    - Dst: aria_selftest
      Src: /src/libgcrypt/cipher/aria.c:1626,1
    - Dst: log_error
      Src: /src/libgcrypt/cipher/aria.c:1628,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/aria.c:1654,1
    - Dst: aria_set_encrypt_key
      Src: /src/libgcrypt/cipher/aria.c:1668,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/aria.c:1670,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - c
    - key
    - keylen
    - bulk_ops
    argTypes:
    - void*
    - byte*
    - unsigned
    - cipher_bulk_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1609
    functionDepth: 4
    functionLinenumber: 1609
    functionLinenumberEnd: 1672
    functionName: aria_setkey
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 0
    functionsReached:
    - log_error
    - _gcry_get_hw_features
    - aria_set_encrypt_key
    - _gcry_burn_stack
    - memset
    - aria_selftest
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t aria_setkey(void *c, const byte *key, unsigned keylen,\n\t
      \   cipher_bulk_ops_t *bulk_ops)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/aria.c:1694,1
    - Dst: aria_set_encrypt_key
      Src: /src/libgcrypt/cipher/aria.c:1696,1
    - Dst: aria_encrypt
      Src: /src/libgcrypt/cipher/aria.c:1697,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/aria.c:1698,1
    - Dst: aria_decrypt
      Src: /src/libgcrypt/cipher/aria.c:1700,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/aria.c:1701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1675
    functionDepth: 5
    functionLinenumber: 1675
    functionLinenumberEnd: 1705
    functionName: aria_selftest
    functionSourceFile: /src/libgcrypt/cipher/aria.c
    functionUses: 1
    functionsReached:
    - aria_decrypt
    - aria_set_encrypt_key
    - memcmp
    - memset
    - aria_encrypt
    linkageType: ''
    returnType: char
    signature: 'char *

      aria_selftest (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint8x16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: asm_sbox_be
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_sbox_be(uint8x16_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: vec_bswap
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vec_bswap(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: vpand128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpand128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: vpandn128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpandn128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: vpxor128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpxor128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: vpor128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpor128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: vpsrlb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsrlb128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: vpsllb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsllb128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: vpsrlw128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsrlw128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: vpsllw128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsllw128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: vpsrld128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsrld128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: vpslld128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpslld128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: vpsrlq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsrlq128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: vpsllq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsllq128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: vpsrldq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsrldq128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: vpslldq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpslldq128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: if_vpsrlb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_vpsrlb128(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: vpsrl_byte_128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsrl_byte_128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: vpsll_byte_128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsll_byte_128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: if_vprolb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_vprolb128(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: vprolb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vprolb128(s, a, o, tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: vpaddb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpaddb128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: vpcmpgtb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpcmpgtb128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: vpabsb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpabsb128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: vpshufd128_0x4e
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpshufd128_0x4e(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: vpshufd128_0x1b
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpshufd128_0x1b(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: vpshufb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpshufb128(m, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: vpunpckhdq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpunpckhdq128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: vpunpckldq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpunpckldq128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: vpunpckhqdq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpunpckhqdq128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: vpunpcklqdq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpunpcklqdq128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: vmovdqa128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovdqa128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: vmovd128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovd128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: vmovq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovq128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - z
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: vmovd128_amemld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovd128_amemld(z, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: vmovq128_amemld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovq128_amemld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: vmovdqa128_memld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovdqa128_memld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: vmovdqa128_memst
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovdqa128_memst(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: vpshufb128_amemld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpshufb128_amemld(m, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: vmovdqu128_memld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovdqu128_memld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: vpxor128_memld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpxor128_memld(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: vmovq128_memld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovq128_memld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: vmovdqu128_memst
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovdqu128_memst(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: vmovq128_memst
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovq128_memst(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: vaesenclast128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vaesenclast128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: aes_subbytes
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aes_subbytes(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - zero
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: aes_subbytes_and_shuf_and_xor
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aes_subbytes_and_shuf_and_xor(zero, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - shufmask_reg
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: aes_inv_shuf
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aes_inv_shuf(shufmask_reg, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: if_aes_subbytes
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_aes_subbytes(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: memory_barrier_with_vec
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memory_barrier_with_vec(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: vpand128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpand128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: vpandn128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpandn128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: vpxor128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpxor128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: vpor128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpor128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: vpsrlb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsrlb128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: vpsllb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsllb128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: vpsrlw128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsrlw128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: vpsllw128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsllw128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: vpsrld128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsrld128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: vpslld128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpslld128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: vpsrlq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsrlq128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: vpsllq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsllq128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: vpsrldq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsrldq128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: vpslldq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpslldq128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: if_vpsrlb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_vpsrlb128(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: vpsrl_byte_128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsrl_byte_128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: vpsll_byte_128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsll_byte_128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: if_vprolb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_vprolb128(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: vprolb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vprolb128(s, a, o, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: vpaddb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpaddb128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: vpcmpgtb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpcmpgtb128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: vpabsb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpabsb128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: vpshufd128_0x4e
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpshufd128_0x4e(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: vpshufd128_0x1b
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpshufd128_0x1b(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: vpshufb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpshufb128(m, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: vpunpckhdq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpunpckhdq128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: vpunpckldq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpunpckldq128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: vpunpckhqdq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpunpckhqdq128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: vpunpcklqdq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpunpcklqdq128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: vaesenclast128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vaesenclast128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: vmovdqa128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovdqa128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: vmovd128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovd128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: vmovq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovq128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - z
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: vmovd128_amemld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovd128_amemld(z, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: vmovq128_amemld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovq128_amemld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: vmovdqa128_memld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovdqa128_memld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: vmovdqa128_memst
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovdqa128_memst(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: vpshufb128_amemld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpshufb128_amemld(m, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: vmovdqu128_memld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovdqu128_memld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: vpxor128_memld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpxor128_memld(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: vmovq128_memld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovq128_memld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: vmovdqu128_memst
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovdqu128_memst(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: vmovq128_memst
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovq128_memst(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - zero
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: aes_subbytes_and_shuf_and_xor
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aes_subbytes_and_shuf_and_xor(zero, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - shufmask_reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: aes_load_inv_shufmask
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aes_load_inv_shufmask(shufmask_reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - shufmask_reg
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: aes_inv_shuf
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aes_inv_shuf(shufmask_reg, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 267
    functionName: if_not_aes_subbytes
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_not_aes_subbytes(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: memory_barrier_with_vec
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memory_barrier_with_vec(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: vpand128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpand128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: vpandn128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpandn128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 282
    functionName: vpxor128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpxor128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 283
    functionName: vpor128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpor128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: vpsrlw128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsrlw128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: vpsllw128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsllw128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: vpsrld128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsrld128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: vpslld128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpslld128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: vpsrlq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsrlq128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: vpsllq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsllq128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: vpsrldq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsrldq128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: vpslldq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpslldq128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: if_not_vpsrlb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_not_vpsrlb128(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: vpsrl_byte_128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsrl_byte_128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 297
    functionName: vpsll_byte_128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpsll_byte_128(s, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: if_not_vprolb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_not_vprolb128(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: vpaddb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpaddb128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: vpcmpgtb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpcmpgtb128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: vpabsb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpabsb128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: vpshufd128_0x1b
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpshufd128_0x1b(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: vpshufd128_0x4e
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpshufd128_0x4e(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    functionName: vpshufb128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpshufb128(m, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: vpunpckhdq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpunpckhdq128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    functionName: vpunpckldq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpunpckldq128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: vpunpckhqdq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpunpckhqdq128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: vpunpcklqdq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpunpcklqdq128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: vaesenclast128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vaesenclast128(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: vmovdqa128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovdqa128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: vmovd128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovd128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    functionName: vmovq128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovq128(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - z
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: vmovd128_amemld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovd128_amemld(z, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: vmovq128_amemld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovq128_amemld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: vmovdqa128_memld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovdqa128_memld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 329
    functionName: vmovdqa128_memst
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovdqa128_memst(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 330
    functionName: vpshufb128_amemld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpshufb128_amemld(m, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 333
    functionName: vmovdqu128_memld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovdqu128_memld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: vpxor128_memld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vpxor128_memld(a, b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: vmovq128_memld
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovq128_memld(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 339
    functionName: vmovdqu128_memst
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovdqu128_memst(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 340
    functionName: vmovq128_memst
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmovq128_memst(a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - zero
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: aes_subbytes_and_shuf_and_xor
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aes_subbytes_and_shuf_and_xor(zero, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - shufmask_reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionName: aes_load_inv_shufmask
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aes_load_inv_shufmask(shufmask_reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - shufmask_reg
    - ','
    - a
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: aes_inv_shuf
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aes_inv_shuf(shufmask_reg, a, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 350
    functionName: if_not_aes_subbytes
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_not_aes_subbytes(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 352
    functionName: memory_barrier_with_vec
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memory_barrier_with_vec(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - x
    - ','
    - lo_t
    - ','
    - hi_t
    - ','
    - mask4bit
    - ','
    - tmp0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: filter_8bit
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: filter_8bit(x, lo_t, hi_t, mask4bit, tmp0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - out
    - ','
    - in
    - ','
    - lo_t
    - ','
    - hi_t
    - ','
    - mask4bit
    - ','
    - tmp0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: filter_8bit_3op
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: filter_8bit_3op(out, in, lo_t, hi_t, mask4bit, tmp0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - t1
    - ','
    - t2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 384
    functionName: transpose_4x4
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: transpose_4x4(x0, x1, x2, x3, t1, t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 386
    functionName: load_zero
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: load_zero(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - constant
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 388
    functionName: load_frequent_const
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: load_frequent_const(constant, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - constant
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: prepare_frequent_const
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prepare_frequent_const(constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 408
    functionName: prepare_frequent_constants
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prepare_frequent_constants()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 37
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - t0
    - ','
    - t1
    - ','
    - t2
    - ','
    - t3
    - ','
    - t4
    - ','
    - t5
    - ','
    - t6
    - ','
    - t7
    - ','
    - mem_cd
    - ','
    - key
    - )
    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: 447
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 447
    functionName: roundsm16
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "roundsm16(x0, x1, x2, x3, x4, x5, x6, x7, t0, t1, t2, t3, t4, t5,
      t6, \\\n\t\t  t7, mem_cd, key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 43
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - y0
    - ','
    - y1
    - ','
    - y2
    - ','
    - y3
    - ','
    - y4
    - ','
    - y5
    - ','
    - y6
    - ','
    - y7
    - ','
    - mem_ab
    - ','
    - mem_cd
    - ','
    - i
    - ','
    - dir
    - ','
    - store_ab
    - )
    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: 600
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 600
    functionName: two_roundsm16
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "two_roundsm16(x0, x1, x2, x3, x4, x5, x6, x7, y0, y1, y2, y3, y4,
      y5, \\\n\t\t      y6, y7, mem_ab, mem_cd, i, dir, store_ab)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - mem_ab
    - )
    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: 613
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 613
    functionName: store_ab_state
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: store_ab_state(x0, x1, x2, x3, x4, x5, x6, x7, mem_ab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 39
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - y0
    - ','
    - y1
    - ','
    - y2
    - ','
    - y3
    - ','
    - y4
    - ','
    - y5
    - ','
    - y6
    - ','
    - y7
    - ','
    - mem_ab
    - ','
    - mem_cd
    - ','
    - i
    - )
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 622
    functionName: enc_rounds16
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "enc_rounds16(x0, x1, x2, x3, x4, x5, x6, x7, y0, y1, y2, y3, y4, y5,
      \\\n\t\t      y6, y7, mem_ab, mem_cd, i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 39
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - y0
    - ','
    - y1
    - ','
    - y2
    - ','
    - y3
    - ','
    - y4
    - ','
    - y5
    - ','
    - y6
    - ','
    - y7
    - ','
    - mem_ab
    - ','
    - mem_cd
    - ','
    - i
    - )
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 631
    functionName: dec_rounds16
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "dec_rounds16(x0, x1, x2, x3, x4, x5, x6, x7, y0, y1, y2, y3, y4, y5,
      \\\n\t\t      y6, y7, mem_ab, mem_cd, i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - v0
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - t0
    - ','
    - t1
    - ','
    - t2
    - ','
    - zero
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 664
    functionName: rol32_1_16
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rol32_1_16(v0, v1, v2, v3, t0, t1, t2, zero)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 41
    argNames:
    - (
    - l
    - ','
    - l0
    - ','
    - l1
    - ','
    - l2
    - ','
    - l3
    - ','
    - l4
    - ','
    - l5
    - ','
    - l6
    - ','
    - l7
    - ','
    - r
    - ','
    - t0
    - ','
    - t1
    - ','
    - t2
    - ','
    - t3
    - ','
    - tt0
    - ','
    - tt1
    - ','
    - tt2
    - ','
    - tt3
    - ','
    - kl
    - ','
    - kr
    - )
    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: 706
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 706
    functionName: fls16
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "fls16(l, l0, l1, l2, l3, l4, l5, l6, l7, r, t0, t1, t2, t3, tt0, \\\n\t
      \     tt1, tt2, tt3, kl, kr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 37
    argNames:
    - (
    - a0
    - ','
    - b0
    - ','
    - c0
    - ','
    - d0
    - ','
    - a1
    - ','
    - b1
    - ','
    - c1
    - ','
    - d1
    - ','
    - a2
    - ','
    - b2
    - ','
    - c2
    - ','
    - d2
    - ','
    - a3
    - ','
    - b3
    - ','
    - c3
    - ','
    - d3
    - ','
    - st0
    - ','
    - st1
    - )
    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: 829
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 829
    functionName: byteslice_16x16b_fast
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "byteslice_16x16b_fast(a0, b0, c0, d0, a1, b1, c1, d1, a2, b2, c2,
      d2, \\\n\t\t\t      a3, b3, c3, d3, st0, st1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 37
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - y0
    - ','
    - y1
    - ','
    - y2
    - ','
    - y3
    - ','
    - y4
    - ','
    - y5
    - ','
    - y6
    - ','
    - y7
    - ','
    - rio
    - ','
    - key
    - )
    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: 852
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 852
    functionName: inpack16_pre
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "inpack16_pre(x0, x1, x2, x3, x4, x5, x6, x7, y0, y1, y2, y3, y4, y5,
      \\\n\t\t     y6, y7, rio, key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 37
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - y0
    - ','
    - y1
    - ','
    - y2
    - ','
    - y3
    - ','
    - y4
    - ','
    - y5
    - ','
    - y6
    - ','
    - y7
    - ','
    - mem_ab
    - ','
    - mem_cd
    - )
    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: 875
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 875
    functionName: inpack16_post
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "inpack16_post(x0, x1, x2, x3, x4, x5, x6, x7, y0, y1, y2, y3, y4,
      y5, \\\n\t\t      y6, y7, mem_ab, mem_cd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 39
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - y0
    - ','
    - y1
    - ','
    - y2
    - ','
    - y3
    - ','
    - y4
    - ','
    - y5
    - ','
    - y6
    - ','
    - y7
    - ','
    - key
    - ','
    - stack_tmp0
    - ','
    - stack_tmp1
    - )
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 903
    functionName: outunpack16
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "outunpack16(x0, x1, x2, x3, x4, x5, x6, x7, y0, y1, y2, y3, y4, \\\n\t\t
      \   y5, y6, y7, key, stack_tmp0, stack_tmp1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 35
    argNames:
    - (
    - x0
    - ','
    - x1
    - ','
    - x2
    - ','
    - x3
    - ','
    - x4
    - ','
    - x5
    - ','
    - x6
    - ','
    - x7
    - ','
    - y0
    - ','
    - y1
    - ','
    - y2
    - ','
    - y3
    - ','
    - y4
    - ','
    - y5
    - ','
    - y6
    - ','
    - y7
    - ','
    - rio
    - )
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 922
    functionName: write_output
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "write_output(x0, x1, x2, x3, x4, x5, x6, x7, y0, y1, y2, y3, y4, y5,
      \\\n\t\t     y6, y7, rio)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 927
    functionName: SWAP_LE64
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP_LE64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - a0
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - b0
    - ','
    - b1
    - ','
    - b2
    - ','
    - b3
    - ','
    - b4
    - ','
    - b5
    - ','
    - b6
    - ','
    - b7
    - )
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 947
    functionName: M128I_BYTE
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M128I_BYTE(a0, a1, a2, a3, a4, a5, a6, a7, b0, b1, b2, b3, b4, b5,
      b6, b7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a0
    - ','
    - a1
    - ','
    - b0
    - ','
    - b1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 955
    functionName: M128I_U32
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M128I_U32(a0, a1, b0, b1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 957
    functionName: M128I_REP16
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M128I_REP16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 961
    functionName: SHUFB_BYTES
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHUFB_BYTES(idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: prepare_frequent_constants
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1126,1
    - Dst: inpack16_pre
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1133,1
    - Dst: inpack16_post
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1136,1
    - Dst: enc_rounds16
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1142,1
    - Dst: fls16
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1148,1
    - Dst: vmovdqa128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1155,1
    - Dst: vmovdqa128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1156,1
    - Dst: vmovdqa128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1157,1
    - Dst: vmovdqa128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1158,1
    - Dst: vmovdqa128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1159,1
    - Dst: vmovdqa128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1160,1
    - Dst: vmovdqa128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1161,1
    - Dst: vmovdqa128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1162,1
    - Dst: outunpack16
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1164,1
    - Dst: write_output
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1167,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - key_table
    - vout
    - vin
    - key_length
    argTypes:
    - void*
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1103
    functionDepth: 1
    functionLinenumber: 1103
    functionLinenumberEnd: 1171
    functionName: ASM_FUNC_ATTR_NOINLINE::FUNC_ENC_BLK16
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached:
    - inpack16_post
    - fls16
    - inpack16_pre
    - prepare_frequent_constants
    - vmovdqa128
    - enc_rounds16
    - write_output
    - outunpack16
    - clear_vec_regs
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR_NOINLINE\nFUNC_ENC_BLK16(const void *key_table,
      void *vout, const void *vin,\n\t       int key_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: prepare_frequent_constants
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1198,1
    - Dst: inpack16_pre
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1205,1
    - Dst: inpack16_post
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1208,1
    - Dst: dec_rounds16
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1214,1
    - Dst: fls16
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1220,1
    - Dst: vmovdqa128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1227,1
    - Dst: vmovdqa128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1228,1
    - Dst: vmovdqa128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1229,1
    - Dst: vmovdqa128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1230,1
    - Dst: vmovdqa128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1231,1
    - Dst: vmovdqa128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1232,1
    - Dst: vmovdqa128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1233,1
    - Dst: vmovdqa128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1234,1
    - Dst: outunpack16
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1236,1
    - Dst: write_output
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1239,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - key_table
    - vout
    - vin
    - key_length
    argTypes:
    - void*
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1243
    functionName: ASM_FUNC_ATTR_NOINLINE::FUNC_DEC_BLK16
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached:
    - inpack16_post
    - dec_rounds16
    - fls16
    - inpack16_pre
    - prepare_frequent_constants
    - vmovdqa128
    - write_output
    - clear_vec_regs
    - outunpack16
    linkageType: ''
    returnType: void
    signature: "void ASM_FUNC_ATTR_NOINLINE\nFUNC_DEC_BLK16(const void *key_table,
      void *vout, const void *vin,\n\t       int key_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 35
    argNames:
    - (
    - ab
    - ','
    - x
    - ','
    - t0
    - ','
    - t1
    - ','
    - t2
    - ','
    - t3
    - ','
    - t4
    - ','
    - inv_shift_row_n_s2n3_shuffle
    - ','
    - _0f0f0f0fmask
    - ','
    - pre_s1lo_mask
    - ','
    - pre_s1hi_mask
    - ','
    - sp1mask
    - ','
    - sp2mask
    - ','
    - sp3mask
    - ','
    - sp4mask
    - ','
    - fn_out_xor
    - ','
    - out_xor_dst
    - )
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1260
    functionName: camellia_f_core
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "camellia_f_core(ab, x, t0, t1, t2, t3, t4, inv_shift_row_n_s2n3_shuffle,
      \\\n\t\t\t_0f0f0f0fmask, pre_s1lo_mask, pre_s1hi_mask, \\\n\t\t\tsp1mask, sp2mask,
      sp3mask, sp4mask, fn_out_xor, \\\n\t\t\tout_xor_dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t0
    - ','
    - x
    - ','
    - _
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1312
    functionName: camellia_f_xor_x
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: camellia_f_xor_x(t0, x, _)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - ab
    - ','
    - x
    - ','
    - t0
    - ','
    - t1
    - ','
    - t2
    - ','
    - t3
    - ','
    - t4
    - ','
    - inv_shift_row
    - ','
    - _0f0f0f0fmask
    - ','
    - pre_s1lo_mask
    - ','
    - pre_s1hi_mask
    - ','
    - key
    - )
    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: 1333
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1333
    functionName: camellia_f
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "camellia_f(ab, x, t0, t1, t2, t3, t4, inv_shift_row, \\\n\t\t   _0f0f0f0fmask,
      pre_s1lo_mask, pre_s1hi_mask, key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - in
    - ','
    - out
    - ','
    - nrol
    - ','
    - t0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1339
    functionName: vec_rol128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vec_rol128(in, out, nrol, t0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - in
    - ','
    - out
    - ','
    - nror
    - ','
    - t0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1345
    functionName: vec_ror128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vec_ror128(in, out, nror, t0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a0
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - b0
    - ','
    - b1
    - ','
    - b2
    - ','
    - b3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1357
    functionName: U64_BYTE
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64_BYTE(a0, a1, a2, a3, b0, b1, b2, b3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a0
    - ','
    - b0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1363
    functionName: U64_U32
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64_U32(a0, b0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1412
    functionName: cmll_sub
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmll_sub(n, ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vpshufb128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1433,1
    - Dst: if_not_vprolb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1435,1
    - Dst: vmovdqa128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1435,1
    - Dst: vmovdqa128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1436,1
    - Dst: vmovdqa128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1437,1
    - Dst: vmovdqa128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1438,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1443,1
    - Dst: vmovdqa128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1444,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1445,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1446,1
    - Dst: camellia_f
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1448,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1451,1
    - Dst: camellia_f
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1452,1
    - Dst: camellia_f
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1455,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1458,1
    - Dst: camellia_f
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1459,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1463,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1464,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1465,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1466,1
    - Dst: vpor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1467,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1472,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1472,1
    - Dst: vec_rol128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1473,1
    - Dst: vec_rol128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1474,1
    - Dst: vec_rol128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1475,1
    - Dst: vec_rol128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1476,1
    - Dst: vec_rol128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1477,1
    - Dst: vec_rol128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1478,1
    - Dst: vec_rol128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1479,1
    - Dst: vec_ror128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1480,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1483,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1484,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1485,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1486,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1487,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1490,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1491,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1492,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1493,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1495,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1496,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1497,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1498,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1499,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1500,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1501,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1503,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1504,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1505,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1508,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1509,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1510,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1511,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1513,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1514,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1515,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1516,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1517,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1518,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1519,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1521,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1522,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1523,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1524,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1525,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1526,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1527,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1528,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1529,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1530,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1532,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1532,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1533,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1534,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1534,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1535,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1535,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1536,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1536,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1537,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1537,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1538,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1538,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1539,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1540,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1540,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1541,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1541,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1542,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1542,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1543,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1543,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1545,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1545,1
    - Dst: vec_ror128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1547,1
    - Dst: vec_ror128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1548,1
    - Dst: vec_ror128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1549,1
    - Dst: vec_ror128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1550,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1552,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1553,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1554,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1555,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1556,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1559,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1560,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1561,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1562,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1565,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1565,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1566,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1567,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1568,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1569,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1571,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1572,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1573,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1574,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1575,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1576,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1577,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1579,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1580,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1581,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1582,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1584,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1584,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1585,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1585,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1586,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1586,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1587,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1587,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1589,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1589,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1590,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1591,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1591,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1592,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1593,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1593,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1594,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1595,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1595,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1596,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1598,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1599,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1600,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1603,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1604,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1605,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1607,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1608,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1609,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1610,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1611,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1612,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1613,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1615,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1616,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1617,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1619,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1619,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1620,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1620,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1621,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1621,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1623,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1623,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1624,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1625,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1625,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1626,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1627,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1627,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1628,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1629,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1629,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1630,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1632,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1633,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1634,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1635,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1637,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1638,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1639,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1640,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1642,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1643,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1644,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1649,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1650,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1652,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1652,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1653,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1653,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1654,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1655,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1656,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1657,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1657,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1658,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1658,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1659,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1659,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1660,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1660,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1662,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1662,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1663,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1663,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1664,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1664,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1665,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1665,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1667,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1668,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1669,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1671,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1672,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1673,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1674,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1675,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1676,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1677,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1679,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1680,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1680,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1682,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1682,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1683,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1683,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1684,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1684,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1685,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1685,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1686,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1686,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1688,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1689,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1690,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1692,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1693,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1694,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1695,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1696,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1697,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1698,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1700,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1701,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1702,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1703,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1704,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1705,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1705,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1706,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1706,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1707,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1707,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1708,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1708,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1709,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1709,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1711,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1711,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1712,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1712,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1713,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1713,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1714,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1714,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1715,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1715,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1717,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1718,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1719,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1721,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1722,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1723,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1724,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1725,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1726,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1727,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1729,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1730,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1730,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1733,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1734,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1735,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1737,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1738,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1739,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1740,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1741,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1742,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1743,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1745,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1745,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1746,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1746,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1747,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1747,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1748,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1748,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1750,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1751,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1752,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1753,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1754,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1755,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1757,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1757,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1758,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1758,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1759,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1759,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1760,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1760,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1761,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1761,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1762,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1762,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1763,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1763,1
    - Dst: load_zero
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1769,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1770,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1770,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1771,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1771,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 262
    argCount: 2
    argNames:
    - key_table
    - x0
    argTypes:
    - void*
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1774
    functionName: camellia_setup128
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 1
    functionsReached:
    - vpsrldq128
    - vmovdqu128_memst
    - load_zero
    - vpaddb128
    - vmovdqa128
    - vec_rol128
    - camellia_f
    - vpsrld128
    - vmovq128_amemld
    - vpxor128
    - cmll_sub
    - vpor128
    - vpshufb128_amemld
    - vpand128
    - vpslldq128
    - vpandn128
    - vmovdqu128_memld
    - vpslld128
    - if_not_vprolb128
    - clear_vec_regs
    - vmovq128_memst
    - vec_ror128
    - vmovdqa128_memld
    - vpshufd128_0x1b
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE camellia_setup128(void *key_table, __m128i x0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vpshufb128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1798,1
    - Dst: vpshufb128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1799,1
    - Dst: if_not_vprolb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1801,1
    - Dst: vmovdqa128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1801,1
    - Dst: vmovdqa128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1802,1
    - Dst: vmovdqa128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1803,1
    - Dst: vmovdqa128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1804,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1809,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1810,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1811,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1812,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1813,1
    - Dst: camellia_f
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1815,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1818,1
    - Dst: camellia_f
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1819,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1822,1
    - Dst: camellia_f
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1823,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1826,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1827,1
    - Dst: camellia_f
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1828,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1832,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1833,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1834,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1835,1
    - Dst: vpor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1836,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1841,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1842,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1843,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1844,1
    - Dst: camellia_f
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1846,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1849,1
    - Dst: camellia_f
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1851,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1854,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1855,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1856,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1857,1
    - Dst: vpor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1858,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1863,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1863,1
    - Dst: vec_rol128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1864,1
    - Dst: vec_rol128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1865,1
    - Dst: vec_rol128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1866,1
    - Dst: vec_rol128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1867,1
    - Dst: vec_rol128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1868,1
    - Dst: vec_rol128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1869,1
    - Dst: vec_rol128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1870,1
    - Dst: vec_rol128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1871,1
    - Dst: vec_rol128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1872,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1875,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1876,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1877,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1878,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1879,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1882,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1883,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1884,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1885,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1887,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1888,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1889,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1890,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1891,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1892,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1893,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1895,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1896,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1897,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1899,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1900,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1901,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1902,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1903,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1904,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1905,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1906,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1908,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1908,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1909,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1910,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1910,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1911,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1911,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1912,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1912,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1913,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1913,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1914,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1914,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1915,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1915,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1916,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1916,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1918,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1918,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1921,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1922,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1923,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1924,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1926,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1927,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1928,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1929,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1930,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1931,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1932,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1934,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1935,1
    - Dst: vec_ror128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1937,1
    - Dst: vec_ror128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1938,1
    - Dst: vec_ror128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1939,1
    - Dst: vec_ror128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1940,1
    - Dst: vec_ror128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1941,1
    - Dst: vec_ror128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1942,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1944,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1946,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1947,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1948,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1949,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1951,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1951,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1952,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1952,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1953,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1953,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1954,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1954,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1957,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1958,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1959,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1960,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1962,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1963,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1964,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1965,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1966,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1967,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1968,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1970,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1971,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1972,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1973,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1974,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1977,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1978,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1979,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1980,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1983,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1984,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1985,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1987,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1988,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1989,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1990,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1991,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1992,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1993,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1995,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1996,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1997,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1998,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:1999,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2001,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2001,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2002,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2002,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2003,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2003,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2004,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2004,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2005,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2005,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2007,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2007,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2008,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2009,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2009,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2010,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2011,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2011,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2012,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2013,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2013,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2014,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2015,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2015,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2016,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2017,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2017,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2018,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2019,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2019,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2020,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2021,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2021,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2022,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2024,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2025,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2026,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2029,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2030,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2031,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2033,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2034,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2035,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2036,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2037,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2038,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2039,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2041,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2042,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2043,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2045,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2046,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2047,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2048,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2049,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2050,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2052,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2052,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2053,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2053,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2054,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2054,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2055,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2055,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2056,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2056,1
    - Dst: vmovdqu128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2057,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2057,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2059,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2059,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2060,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2061,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2061,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2062,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2063,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2063,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2064,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2065,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2065,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2066,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2069,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2070,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2071,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2073,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2074,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2075,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2076,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2077,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2078,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2079,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2081,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2082,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2083,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2084,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2086,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2087,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2088,1
    - Dst: vpshufd128_0x1b
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2089,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2091,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2092,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2093,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2098,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2099,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2101,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2101,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2102,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2102,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2103,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2104,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2105,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2106,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2106,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2107,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2107,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2108,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2108,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2109,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2109,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2111,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2111,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2112,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2112,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2113,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2113,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2114,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2114,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2116,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2117,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2118,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2120,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2121,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2122,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2123,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2124,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2125,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2126,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2128,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2129,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2129,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2131,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2131,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2132,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2132,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2133,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2133,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2134,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2134,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2135,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2135,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2137,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2138,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2139,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2141,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2142,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2143,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2144,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2145,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2146,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2147,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2149,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2150,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2151,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2152,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2153,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2154,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2154,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2155,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2155,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2156,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2156,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2157,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2157,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2158,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2158,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2160,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2160,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2161,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2161,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2162,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2162,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2163,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2163,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2164,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2164,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2166,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2167,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2168,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2170,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2171,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2172,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2173,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2174,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2175,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2176,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2178,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2179,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2179,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2182,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2183,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2184,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2186,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2187,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2188,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2189,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2190,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2191,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2192,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2194,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2194,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2195,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2195,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2196,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2196,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2197,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2197,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2199,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2200,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2201,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2202,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2203,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2205,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2205,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2206,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2206,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2207,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2207,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2208,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2208,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2209,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2209,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2211,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2211,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2212,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2212,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2213,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2213,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2214,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2214,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2215,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2215,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2216,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2216,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2217,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2217,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2218,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2218,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2221,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2222,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2223,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2225,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2226,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2227,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2228,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2229,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2230,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2231,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2233,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2234,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2234,1
    - Dst: vpandn128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2237,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2238,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2239,1
    - Dst: vpand128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2241,1
    - Dst: vpslld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2242,1
    - Dst: vpsrld128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2243,1
    - Dst: vpaddb128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2244,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2245,1
    - Dst: vpsrldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2246,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2247,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2249,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2250,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2251,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2252,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2253,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2254,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2256,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2256,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2257,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2257,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2258,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2258,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2259,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2259,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2260,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2260,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2261,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2261,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2262,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2262,1
    - Dst: load_zero
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2270,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2271,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2271,1
    - Dst: vmovq128_memst
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2272,1
    - Dst: cmll_sub
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2272,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 365
    argCount: 3
    argNames:
    - key_table
    - x0
    - x1
    argTypes:
    - void*
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 1776
    functionDepth: 1
    functionLinenumber: 1776
    functionLinenumberEnd: 2275
    functionName: camellia_setup256
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 2
    functionsReached:
    - vpsrldq128
    - vmovdqu128_memst
    - load_zero
    - vpaddb128
    - vec_rol128
    - camellia_f
    - vpsrld128
    - vmovq128_amemld
    - vpxor128
    - cmll_sub
    - vpor128
    - vpshufb128_amemld
    - vpand128
    - vpslldq128
    - vpandn128
    - vmovdqu128_memld
    - vpslld128
    - if_not_vprolb128
    - clear_vec_regs
    - vmovq128_memst
    - vec_ror128
    - vmovdqa128_memld
    - vpshufd128_0x1b
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE camellia_setup256(void *key_table, __m128i x0,
      __m128i x1)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2297,1
    - Dst: camellia_setup128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2298,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2302,1
    - Dst: vmovq128_amemld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2303,1
    - Dst: vpxor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2307,1
    - Dst: vpslldq128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2308,1
    - Dst: vpor128
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2309,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2313,1
    - Dst: vmovdqu128_memld
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2314,1
    - Dst: camellia_setup256
      Src: /src/libgcrypt/cipher/camellia-simd128.h:2318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - key_table
    - vkey
    - keylen
    argTypes:
    - void*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2319
      start: 2277
    functionDepth: 1
    functionLinenumber: 2277
    functionLinenumberEnd: 2319
    functionName: ASM_FUNC_ATTR_NOINLINE::FUNC_KEY_SETUP
    functionSourceFile: /src/libgcrypt/cipher/camellia-simd128.h
    functionUses: 0
    functionsReached:
    - vpslldq128
    - vmovdqu128_memld
    - camellia_setup256
    - camellia_setup128
    - vpor128
    - vmovq128_amemld
    - vpxor128
    linkageType: ''
    returnType: void
    signature: 'void ASM_FUNC_ATTR_NOINLINE

      FUNC_KEY_SETUP(void *key_table, const void *vkey, unsigned int keylen)'
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: map_algo
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int map_algo (int algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: map_algo
      Src: /src/libgcrypt/cipher/pubkey.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: spec_from_algo
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 21
    functionsReached:
    - map_algo
    linkageType: ''
    returnType: gcry_pk_spec_t
    signature: 'gcry_pk_spec_t *

      spec_from_algo (int algo)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stricmp
      Src: /src/libgcrypt/cipher/pubkey.c:103,1
    - Dst: stricmp
      Src: /src/libgcrypt/cipher/pubkey.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: spec_from_name
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 3
    functionsReached:
    - stricmp
    linkageType: ''
    returnType: gcry_pk_spec_t
    signature: 'gcry_pk_spec_t *

      spec_from_name (const char *name)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey.c:142,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey.c:144,1
    - Dst: sexp_cadr
      Src: /src/libgcrypt/cipher/pubkey.c:148,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:149,1
    - Dst: sexp_nth_string
      Src: /src/libgcrypt/cipher/pubkey.c:151,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:154,1
    - Dst: spec_from_name
      Src: /src/libgcrypt/cipher/pubkey.c:157,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey.c:158,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:161,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:168,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - sexp
    - want_private
    - r_spec
    - r_parms
    argTypes:
    - gcry_sexp_t
    - int
    - gcry_pk_spec_t**
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 170
    functionName: spec_from_sexp
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 0
    functionsReached:
    - sexp_cadr
    - sexp_release
    - sexp_find_token
    - xfree
    - sexp_nth_string
    - spec_from_name
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t spec_from_sexp (gcry_sexp_t sexp, int want_private,\n
      \               gcry_pk_spec_t **r_spec, gcry_sexp_t *r_parms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/pubkey.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: disable_pubkey_algo
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 0
    functionsReached:
    - spec_from_algo
    linkageType: ''
    returnType: void
    signature: void disable_pubkey_algo (int algo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_name
      Src: /src/libgcrypt/cipher/pubkey.c:197,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey.c:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: _gcry_pk_map_name
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 1
    functionsReached:
    - spec_from_name
    - fips_mode
    linkageType: ''
    returnType: int
    signature: int _gcry_pk_map_name (const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/pubkey.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: _gcry_pk_algo_name
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 2
    functionsReached:
    - spec_from_algo
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_pk_algo_name (int algo)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/pubkey.c:232,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey.c:233,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - algo
    - use
    argTypes:
    - int
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 245
    functionName: check_pubkey_algo
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 0
    functionsReached:
    - spec_from_algo
    - fips_mode
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t check_pubkey_algo (int algo, unsigned use)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/pubkey.c:254,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/pubkey.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: pubkey_get_npkey
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 13
    functionsReached:
    - spec_from_algo
    - strlen
    linkageType: ''
    returnType: int
    signature: int pubkey_get_npkey (int algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/pubkey.c:266,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/pubkey.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: pubkey_get_nskey
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 6
    functionsReached:
    - spec_from_algo
    - strlen
    linkageType: ''
    returnType: int
    signature: int pubkey_get_nskey (int algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/pubkey.c:278,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/pubkey.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: pubkey_get_nsig
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 11
    functionsReached:
    - spec_from_algo
    - strlen
    linkageType: ''
    returnType: int
    signature: int pubkey_get_nsig (int algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/pubkey.c:289,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/pubkey.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: pubkey_get_nenc
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 7
    functionsReached:
    - spec_from_algo
    - strlen
    linkageType: ''
    returnType: int
    signature: int pubkey_get_nenc (int algo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_sexp
      Src: /src/libgcrypt/cipher/pubkey.c:327,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey.c:336,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/pubkey.c:338,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/pubkey.c:344,1
    - Dst: gcry_pk_spec_t*::encrypt
      Src: /src/libgcrypt/cipher/pubkey.c:348,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:353,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - r_ciph
    - s_data
    - s_pkey
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 355
    functionName: _gcry_pk_encrypt
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 2
    functionsReached:
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - sexp_release
    - gcry_pk_spec_t*::encrypt
    - spec_from_sexp
    - fips_mode
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_pk_encrypt (gcry_sexp_t *r_ciph, gcry_sexp_t
      s_data, gcry_sexp_t s_pkey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_sexp
      Src: /src/libgcrypt/cipher/pubkey.c:395,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey.c:404,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/pubkey.c:406,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/pubkey.c:412,1
    - Dst: gcry_pk_spec_t*::decrypt
      Src: /src/libgcrypt/cipher/pubkey.c:416,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:421,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - r_plain
    - s_data
    - s_skey
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 423
    functionName: _gcry_pk_decrypt
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 2
    functionsReached:
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - sexp_release
    - spec_from_sexp
    - fips_mode
    - gcry_pk_spec_t*::decrypt
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_pk_decrypt (gcry_sexp_t *r_plain, gcry_sexp_t
      s_data, gcry_sexp_t s_skey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_sexp
      Src: /src/libgcrypt/cipher/pubkey.c:464,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey.c:473,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/pubkey.c:475,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/pubkey.c:481,1
    - Dst: gcry_pk_spec_t*::sign
      Src: /src/libgcrypt/cipher/pubkey.c:485,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:490,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - r_sig
    - s_hash
    - s_skey
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 492
    functionName: _gcry_pk_sign
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 3
    functionsReached:
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - sexp_release
    - spec_from_sexp
    - fips_mode
    - gcry_pk_spec_t*::sign
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_pk_sign (gcry_sexp_t *r_sig, gcry_sexp_t s_hash,
      gcry_sexp_t s_skey)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_pk_get_single_data
      Src: /src/libgcrypt/cipher/pubkey.c:519,1
    - Dst: _gcry_sexp_build_array
      Src: /src/libgcrypt/cipher/pubkey.c:537,1
    - Dst: strstr
      Src: /src/libgcrypt/cipher/pubkey.c:542,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/pubkey.c:545,1
    - Dst: strncmp
      Src: /src/libgcrypt/cipher/pubkey.c:550,1
    - Dst: _gcry_md_get_algo
      Src: /src/libgcrypt/cipher/pubkey.c:552,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey.c:554,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/pubkey.c:556,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/pubkey.c:558,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/pubkey.c:562,1
    - Dst: _gcry_md_algo_name
      Src: /src/libgcrypt/cipher/pubkey.c:565,1
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/pubkey.c:566,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/pubkey.c:567,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/pubkey.c:577,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/pubkey.c:580,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/pubkey.c:581,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/pubkey.c:584,1
    - Dst: _gcry_md_map_name
      Src: /src/libgcrypt/cipher/pubkey.c:587,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey.c:588,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/pubkey.c:591,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey.c:594,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/pubkey.c:596,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/pubkey.c:598,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/pubkey.c:602,1
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/pubkey.c:605,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/pubkey.c:606,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/pubkey.c:611,1
    - Dst: _gcry_sexp_build
      Src: /src/libgcrypt/cipher/pubkey.c:618,1
    - Dst: _gcry_sexp_build
      Src: /src/libgcrypt/cipher/pubkey.c:621,1
    - Dst: _gcry_pk_get_single_data
      Src: /src/libgcrypt/cipher/pubkey.c:629,1
    - Dst: _gcry_sexp_build
      Src: /src/libgcrypt/cipher/pubkey.c:634,1
    - Dst: _gcry_sexp_build
      Src: /src/libgcrypt/cipher/pubkey.c:637,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/pubkey.c:641,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 81
    argCount: 4
    argNames:
    - tmpl
    - hd
    - ctx
    - s_data_p
    argTypes:
    - char*
    - gcry_md_hd_t
    - gcry_ctx_t
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 497
    functionDepth: 9
    functionLinenumber: 497
    functionLinenumberEnd: 643
    functionName: prepare_datasexp_to_be_signed
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 0
    functionsReached:
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - gpg_err_code_from_syserror
    - strstr
    - _gcry_md_read
    - _gcry_md_get_algo
    - _gcry_md_close
    - _gcry_pk_get_single_data
    - fips_mode
    - _gcry_sexp_build_array
    - _gcry_md_get_algo_dlen
    - xfree
    - memcpy
    - _gcry_md_algo_name
    - strncmp
    - xtrymalloc
    - _gcry_sexp_build
    - _gcry_md_map_name
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t prepare_datasexp_to_be_signed (const char *tmpl, gcry_md_hd_t
      hd,\n                               gcry_ctx_t ctx, gcry_sexp_t *s_data_p)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_copy
      Src: /src/libgcrypt/cipher/pubkey.c:663,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/cipher/pubkey.c:665,1
    - Dst: prepare_datasexp_to_be_signed
      Src: /src/libgcrypt/cipher/pubkey.c:668,1
    - Dst: spec_from_sexp
      Src: /src/libgcrypt/cipher/pubkey.c:672,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey.c:681,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/pubkey.c:683,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/pubkey.c:689,1
    - Dst: gcry_pk_spec_t*::sign
      Src: /src/libgcrypt/cipher/pubkey.c:693,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:698,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:699,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 5
    argNames:
    - r_sig
    - tmpl
    - hd_orig
    - s_skey
    - ctx
    argTypes:
    - gcry_sexp_t*
    - char*
    - gcry_md_hd_t
    - gcry_sexp_t
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 646
    functionDepth: 10
    functionLinenumber: 646
    functionLinenumberEnd: 701
    functionName: _gcry_pk_sign_md
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 7
    functionsReached:
    - _gcry_md_copy
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - sexp_release
    - spec_from_sexp
    - fips_mode
    - gpg_err_code
    - prepare_datasexp_to_be_signed
    - gcry_pk_spec_t*::sign
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_pk_sign_md (gcry_sexp_t *r_sig, const char *tmpl,
      gcry_md_hd_t hd_orig,\n                  gcry_sexp_t s_skey, gcry_ctx_t ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_sexp
      Src: /src/libgcrypt/cipher/pubkey.c:718,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey.c:727,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/pubkey.c:729,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/pubkey.c:735,1
    - Dst: gcry_pk_spec_t*::verify
      Src: /src/libgcrypt/cipher/pubkey.c:739,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:744,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - s_sig
    - s_hash
    - s_pkey
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 746
    functionName: _gcry_pk_verify
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 3
    functionsReached:
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - gcry_pk_spec_t*::verify
    - sexp_release
    - spec_from_sexp
    - fips_mode
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_pk_verify (gcry_sexp_t s_sig, gcry_sexp_t s_hash,
      gcry_sexp_t s_pkey)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_copy
      Src: /src/libgcrypt/cipher/pubkey.c:764,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/cipher/pubkey.c:766,1
    - Dst: prepare_datasexp_to_be_signed
      Src: /src/libgcrypt/cipher/pubkey.c:769,1
    - Dst: spec_from_sexp
      Src: /src/libgcrypt/cipher/pubkey.c:773,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey.c:782,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/pubkey.c:784,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/pubkey.c:790,1
    - Dst: gcry_pk_spec_t*::verify
      Src: /src/libgcrypt/cipher/pubkey.c:794,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:799,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:800,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 5
    argNames:
    - s_sig
    - tmpl
    - hd_orig
    - s_pkey
    - ctx
    argTypes:
    - gcry_sexp_t
    - char*
    - gcry_md_hd_t
    - gcry_sexp_t
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 749
    functionDepth: 10
    functionLinenumber: 749
    functionLinenumberEnd: 802
    functionName: _gcry_pk_verify_md
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 7
    functionsReached:
    - _gcry_md_copy
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - gcry_pk_spec_t*::verify
    - sexp_release
    - spec_from_sexp
    - fips_mode
    - gpg_err_code
    - prepare_datasexp_to_be_signed
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_pk_verify_md (gcry_sexp_t s_sig, const char
      *tmpl, gcry_md_hd_t hd_orig,\n                    gcry_sexp_t s_pkey, gcry_ctx_t
      ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_sexp
      Src: /src/libgcrypt/cipher/pubkey.c:821,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey.c:830,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/pubkey.c:832,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/pubkey.c:838,1
    - Dst: gcry_pk_spec_t*::check_secret_key
      Src: /src/libgcrypt/cipher/pubkey.c:842,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:847,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - s_key
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 849
    functionName: _gcry_pk_testkey
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 2
    functionsReached:
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - sexp_release
    - spec_from_sexp
    - fips_mode
    - gcry_pk_spec_t*::check_secret_key
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_pk_testkey (gcry_sexp_t s_key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey.c:892,1
    - Dst: sexp_cadr
      Src: /src/libgcrypt/cipher/pubkey.c:899,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:900,1
    - Dst: _gcry_sexp_nth_string
      Src: /src/libgcrypt/cipher/pubkey.c:909,1
    - Dst: spec_from_name
      Src: /src/libgcrypt/cipher/pubkey.c:916,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey.c:917,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey.c:924,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/pubkey.c:926,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/pubkey.c:932,1
    - Dst: gcry_pk_spec_t*::generate
      Src: /src/libgcrypt/cipher/pubkey.c:936,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:941,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey.c:942,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:943,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 2
    argNames:
    - r_key
    - s_parms
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 881
    functionDepth: 2
    functionLinenumber: 881
    functionLinenumberEnd: 946
    functionName: _gcry_pk_genkey
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 1
    functionsReached:
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - sexp_cadr
    - sexp_release
    - fips_mode
    - sexp_find_token
    - xfree
    - gcry_pk_spec_t*::generate
    - spec_from_name
    - _gcry_sexp_nth_string
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_pk_genkey (gcry_sexp_t *r_key, gcry_sexp_t s_parms)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_sexp
      Src: /src/libgcrypt/cipher/pubkey.c:967,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey.c:972,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/pubkey.c:974,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/pubkey.c:978,1
    - Dst: gcry_pk_spec_t*::get_nbits
      Src: /src/libgcrypt/cipher/pubkey.c:979,1
    - Dst: gcry_pk_spec_t*::get_nbits
      Src: /src/libgcrypt/cipher/pubkey.c:983,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:985,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - key
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 954
    functionDepth: 2
    functionLinenumber: 954
    functionLinenumberEnd: 987
    functionName: _gcry_pk_get_nbits
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 1
    functionsReached:
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - sexp_release
    - spec_from_sexp
    - fips_mode
    - gcry_pk_spec_t*::get_nbits
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_pk_get_nbits (gcry_sexp_t key)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey.c:1010,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey.c:1012,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey.c:1014,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey.c:1016,1
    - Dst: sexp_cadr
      Src: /src/libgcrypt/cipher/pubkey.c:1020,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:1021,1
    - Dst: _gcry_sexp_nth_string
      Src: /src/libgcrypt/cipher/pubkey.c:1025,1
    - Dst: spec_from_name
      Src: /src/libgcrypt/cipher/pubkey.c:1029,1
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/pubkey.c:1037,1
    - Dst: gcry_pk_spec_t*::comp_keygrip
      Src: /src/libgcrypt/cipher/pubkey.c:1043,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey.c:1055,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey.c:1058,1
    - Dst: snprintf
      Src: /src/libgcrypt/cipher/pubkey.c:1062,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/pubkey.c:1063,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/pubkey.c:1063,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/pubkey.c:1064,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:1065,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/pubkey.c:1067,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/pubkey.c:1073,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/pubkey.c:1078,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/pubkey.c:1078,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/pubkey.c:1082,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:1083,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/pubkey.c:1084,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:1085,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 2
    argNames:
    - key
    - array
    argTypes:
    - gcry_sexp_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 997
    functionDepth: 9
    functionLinenumber: 997
    functionLinenumberEnd: 1087
    functionName: _gcry_pk_get_keygrip
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 1
    functionsReached:
    - strlen
    - sexp_cadr
    - snprintf
    - sexp_release
    - _gcry_md_read
    - _gcry_md_close
    - sexp_find_token
    - gcry_pk_spec_t*::comp_keygrip
    - sexp_nth_data
    - _gcry_md_write
    - memcpy
    - xfree
    - spec_from_name
    - xtrymalloc
    - _gcry_sexp_nth_string
    - _gcry_md_open_internal
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      _gcry_pk_get_keygrip (gcry_sexp_t key, unsigned char *array)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: spec_from_sexp
      Src: /src/libgcrypt/cipher/pubkey.c:1105,1
    - Dst: spec_from_name
      Src: /src/libgcrypt/cipher/pubkey.c:1110,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey.c:1117,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/pubkey.c:1119,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/pubkey.c:1123,1
    - Dst: gcry_pk_spec_t*::get_curve
      Src: /src/libgcrypt/cipher/pubkey.c:1124,1
    - Dst: gcry_pk_spec_t*::get_curve
      Src: /src/libgcrypt/cipher/pubkey.c:1128,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey.c:1130,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - key
    - iterator
    - r_nbits
    argTypes:
    - gcry_sexp_t
    - int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1091
    functionDepth: 2
    functionLinenumber: 1091
    functionLinenumberEnd: 1132
    functionName: _gcry_pk_get_curve
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 1
    functionsReached:
    - fips_check_rejection
    - fips_service_indicator_mark_non_compliant
    - gcry_pk_spec_t*::get_curve
    - sexp_release
    - spec_from_sexp
    - fips_mode
    - spec_from_name
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_pk_get_curve (gcry_sexp_t key, int iterator, unsigned int *r_nbits)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: map_algo
      Src: /src/libgcrypt/cipher/pubkey.c:1142,1
    - Dst: spec_from_name
      Src: /src/libgcrypt/cipher/pubkey.c:1147,1
    - Dst: gcry_pk_spec_t*::get_curve_param
      Src: /src/libgcrypt/cipher/pubkey.c:1151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - algo
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1154
    functionName: _gcry_pk_get_param
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 1
    functionsReached:
    - gcry_pk_spec_t*::get_curve_param
    - spec_from_name
    - map_algo
    linkageType: ''
    returnType: gcry_sexp_t
    signature: gcry_sexp_t _gcry_pk_get_param (int algo, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: disable_pubkey_algo
      Src: /src/libgcrypt/cipher/pubkey.c:1171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - cmd
    - buffer
    - buflen
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1158
    functionDepth: 1
    functionLinenumber: 1158
    functionLinenumberEnd: 1179
    functionName: _gcry_pk_ctl
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 1
    functionsReached:
    - disable_pubkey_algo
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_pk_ctl (int cmd, void *buffer, size_t buflen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: check_pubkey_algo
      Src: /src/libgcrypt/cipher/pubkey.c:1215,1
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/pubkey.c:1224,1
    - Dst: pubkey_get_npkey
      Src: /src/libgcrypt/cipher/pubkey.c:1232,1
    - Dst: pubkey_get_nskey
      Src: /src/libgcrypt/cipher/pubkey.c:1239,1
    - Dst: pubkey_get_nsig
      Src: /src/libgcrypt/cipher/pubkey.c:1246,1
    - Dst: pubkey_get_nenc
      Src: /src/libgcrypt/cipher/pubkey.c:1253,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - algorithm
    - what
    - buffer
    - nbytes
    argTypes:
    - int
    - int
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1203
    functionDepth: 2
    functionLinenumber: 1203
    functionLinenumberEnd: 1263
    functionName: _gcry_pk_algo_info
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 1
    functionsReached:
    - spec_from_algo
    - pubkey_get_nenc
    - pubkey_get_nsig
    - pubkey_get_npkey
    - check_pubkey_algo
    - pubkey_get_nskey
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_pk_algo_info (int algorithm, int what, void *buffer,
      size_t *nbytes)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctx_find_pointer
      Src: /src/libgcrypt/cipher/pubkey.c:1299,1
    - Dst: _gcry_pk_ecc_get_sexp
      Src: /src/libgcrypt/cipher/pubkey.c:1301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - r_sexp
    - mode
    - ctx
    argTypes:
    - gcry_sexp_t*
    - int
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1279
    functionDepth: 6
    functionLinenumber: 1279
    functionLinenumberEnd: 1304
    functionName: _gcry_pubkey_get_sexp
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 1
    functionsReached:
    - _gcry_pk_ecc_get_sexp
    - _gcry_ctx_find_pointer
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_pubkey_get_sexp (gcry_sexp_t *r_sexp, int mode,
      gcry_ctx_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1313
    functionName: _gcry_pk_init
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_pk_init (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: map_algo
      Src: /src/libgcrypt/cipher/pubkey.c:1324,1
    - Dst: spec_from_algo
      Src: /src/libgcrypt/cipher/pubkey.c:1325,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey.c:1327,1
    - Dst: gcry_pk_spec_t*::selftest
      Src: /src/libgcrypt/cipher/pubkey.c:1329,1
    - Dst: report
      Src: /src/libgcrypt/cipher/pubkey.c:1336,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/pubkey.c:1338,1
    - Dst: gpg_error
      Src: /src/libgcrypt/cipher/pubkey.c:1344,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1318
    functionDepth: 1
    functionLinenumber: 1318
    functionLinenumberEnd: 1345
    functionName: _gcry_pk_selftest
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 1
    functionsReached:
    - spec_from_algo
    - map_algo
    - fips_mode
    - gpg_error
    - gcry_pk_spec_t*::selftest
    - report
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _gcry_pk_selftest (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctx_alloc
      Src: /src/libgcrypt/cipher/pubkey.c:1364,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/pubkey.c:1368,1
    - Dst: _gcry_ctx_get_pointer
      Src: /src/libgcrypt/cipher/pubkey.c:1369,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/pubkey.c:1371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - r_ctx
    - p
    - len
    argTypes:
    - gcry_ctx_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1353
    functionDepth: 3
    functionLinenumber: 1353
    functionLinenumberEnd: 1375
    functionName: _gcry_pk_single_data_push
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 3
    functionsReached:
    - _gcry_ctx_alloc
    - memcpy
    - gpg_err_code_from_syserror
    - _gcry_ctx_get_pointer
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_pk_single_data_push (gcry_ctx_t *r_ctx,\n                          const
      unsigned char *p, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctx_find_pointer
      Src: /src/libgcrypt/cipher/pubkey.c:1385,1
    - Dst: _gcry_ctx_get_pointer
      Src: /src/libgcrypt/cipher/pubkey.c:1391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - r_ctx
    - r_p
    - r_len
    argTypes:
    - gcry_ctx_t*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1377
    functionDepth: 3
    functionLinenumber: 1377
    functionLinenumberEnd: 1394
    functionName: _gcry_pk_get_single_data
    functionSourceFile: /src/libgcrypt/cipher/pubkey.c
    functionUses: 1
    functionsReached:
    - _gcry_ctx_find_pointer
    - _gcry_ctx_get_pointer
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_pk_get_single_data (gcry_ctx_t *r_ctx,\n                          const
      unsigned char **r_p, size_t *r_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/dsa.c:152,1
    - Dst: fips_check_rejection
      Src: /src/libgcrypt/cipher/dsa.c:154,1
    - Dst: fips_service_indicator_mark_non_compliant
      Src: /src/libgcrypt/cipher/dsa.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 161
    functionName: dsa_check_keysize
    functionSourceFile: /src/libgcrypt/cipher/dsa.c
    functionUses: 0
    functionsReached:
    - fips_check_rejection
    - fips_mode
    - fips_service_indicator_mark_non_compliant
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t dsa_check_keysize (unsigned int nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cb_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: _gcry_register_pk_dsa_progress
    functionSourceFile: /src/libgcrypt/cipher/dsa.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gcry_register_pk_dsa_progress (void (*cb) (void *, const char
      *,\n                                            int, int, int),\n\t\t\t\tvoid
      *cb_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: progress_cb
      Src: /src/libgcrypt/cipher/dsa.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: progress
    functionSourceFile: /src/libgcrypt/cipher/dsa.c
    functionUses: 32
    functionsReached:
    - progress_cb
    linkageType: ''
    returnType: void
    signature: void progress (int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/dsa.c:188,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/dsa.c:189,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/dsa.c:190,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/dsa.c:199,1
    - Dst: sign
      Src: /src/libgcrypt/cipher/dsa.c:202,1
    - Dst: verify
      Src: /src/libgcrypt/cipher/dsa.c:205,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/cipher/dsa.c:209,1
    - Dst: verify
      Src: /src/libgcrypt/cipher/dsa.c:210,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:216,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:217,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - sk
    - qbits
    argTypes:
    - DSA_secret_key*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 220
    functionName: test_keys
    functionSourceFile: /src/libgcrypt/cipher/dsa.c
    functionUses: 3
    functionsReached:
    - _gcry_mpi_release
    - sign
    - verify
    - mpi_new
    - _gcry_mpi_randomize
    - mpi_add_ui
    linkageType: ''
    returnType: int
    signature: int test_keys (DSA_secret_key *sk, unsigned int qbits)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/dsa.c:269,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/dsa.c:270,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/dsa.c:271,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/dsa.c:272,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/dsa.c:272,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/dsa.c:273,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/dsa.c:273,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/dsa.c:274,1
    - Dst: _gcry_generate_elg_prime
      Src: /src/libgcrypt/cipher/dsa.c:280,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/dsa.c:285,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/dsa.c:286,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/dsa.c:286,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/dsa.c:290,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/dsa.c:290,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/dsa.c:291,1
    - Dst: mpi_fdiv_q
      Src: /src/libgcrypt/cipher/dsa.c:292,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/dsa.c:293,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/dsa.c:293,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/cipher/dsa.c:294,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/cipher/dsa.c:297,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/dsa.c:299,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/dsa.c:301,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/dsa.c:317,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/dsa.c:318,1
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/cipher/dsa.c:319,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/dsa.c:319,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/dsa.c:320,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/dsa.c:325,1
    - Dst: _gcry_random_bytes_secure
      Src: /src/libgcrypt/cipher/dsa.c:327,1
    - Dst: _gcry_random_bytes_secure
      Src: /src/libgcrypt/cipher/dsa.c:330,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/dsa.c:331,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/dsa.c:332,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/dsa.c:335,1
    - Dst: mpi_clear_highbit
      Src: /src/libgcrypt/cipher/dsa.c:336,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/dsa.c:338,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/dsa.c:338,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/dsa.c:339,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa.c:340,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa.c:341,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/dsa.c:344,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/dsa.c:344,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/dsa.c:345,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/dsa.c:349,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:350,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:351,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:352,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:353,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:354,1
    - Dst: test_keys
      Src: /src/libgcrypt/cipher/dsa.c:365,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:367,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:368,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:369,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:370,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:371,1
    - Dst: fips_signal_error
      Src: /src/libgcrypt/cipher/dsa.c:372,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 93
    argCount: 6
    argNames:
    - sk
    - nbits
    - qbits
    - transient_key
    - domain
    - ret_factors
    argTypes:
    - DSA_secret_key*
    - unsigned int
    - unsigned int
    - int
    - dsa_domain_t*
    - gcry_mpi_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 232
    functionDepth: 4
    functionLinenumber: 232
    functionLinenumberEnd: 376
    functionName: generate
    functionSourceFile: /src/libgcrypt/cipher/dsa.c
    functionUses: 9
    functionsReached:
    - mpi_free
    - log_mpidump
    - mpi_clear_highbit
    - mpi_get_nlimbs
    - memcpy
    - gcry_assert
    - mpi_cmp
    - _gcry_generate_elg_prime
    - mpi_alloc_set_ui
    - mpi_cmp_ui
    - test_keys
    - log_debug
    - mpi_powm
    - mpi_sub_ui
    - progress
    - xfree
    - mpi_alloc
    - mpi_fdiv_q
    - _gcry_mpi_set_buffer
    - _gcry_random_bytes_secure
    - mpi_add_ui
    - mpi_get_nbits
    - _gcry_mpi_release
    - mpi_alloc_secure
    - fips_signal_error
    - mpi_copy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t generate (DSA_secret_key *sk, unsigned int nbits, unsigned
      int qbits,\n          int transient_key, dsa_domain_t *domain, gcry_mpi_t **ret_factors
      )"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: dsa_check_keysize
      Src: /src/libgcrypt/cipher/dsa.c:438,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/dsa.c:445,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/dsa.c:446,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/dsa.c:447,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/dsa.c:448,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/dsa.c:448,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/dsa.c:449,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/dsa.c:449,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/dsa.c:450,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/dsa.c:460,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/dsa.c:462,1
    - Dst: _gcry_generate_fips186_2_prime
      Src: /src/libgcrypt/cipher/dsa.c:467,1
    - Dst: _gcry_generate_fips186_3_prime
      Src: /src/libgcrypt/cipher/dsa.c:474,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:480,1
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/cipher/dsa.c:487,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/dsa.c:488,1
    - Dst: mpi_fdiv_q
      Src: /src/libgcrypt/cipher/dsa.c:489,1
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/cipher/dsa.c:490,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/cipher/dsa.c:491,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/cipher/dsa.c:494,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/dsa.c:496,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/dsa.c:498,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/dsa.c:501,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/dsa.c:502,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/dsa.c:503,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/dsa.c:504,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/dsa.c:510,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/dsa.c:511,1
    - Dst: mpi_clear_highbit
      Src: /src/libgcrypt/cipher/dsa.c:512,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/dsa.c:514,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/dsa.c:514,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/cipher/dsa.c:518,1
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/cipher/dsa.c:521,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/dsa.c:522,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/dsa.c:526,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:527,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:528,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:529,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:530,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:531,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:532,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:544,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:545,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:546,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:547,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:548,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:549,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:550,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:551,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:552,1
    - Dst: test_keys
      Src: /src/libgcrypt/cipher/dsa.c:555,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:557,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:558,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:559,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:560,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:561,1
    - Dst: fips_signal_error
      Src: /src/libgcrypt/cipher/dsa.c:562,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/dsa.c:569,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:571,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 124
    argCount: 10
    argNames:
    - sk
    - nbits
    - qbits
    - deriveparms
    - use_fips186_2
    - domain
    - r_counter
    - r_seed
    - r_seedlen
    - r_h
    argTypes:
    - DSA_secret_key*
    - unsigned int
    - unsigned int
    - gcry_sexp_t
    - int
    - dsa_domain_t*
    - int*
    - void**
    - size_t*
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 575
    functionName: generate_fips186
    functionSourceFile: /src/libgcrypt/cipher/dsa.c
    functionUses: 0
    functionsReached:
    - log_mpidump
    - sexp_release
    - mpi_clear_highbit
    - sexp_find_token
    - _gcry_mpi_randomize
    - gcry_assert
    - mpi_cmp
    - fips_signal_error
    - mpi_alloc_set_ui
    - mpi_cmp_ui
    - mpi_alloc_like
    - test_keys
    - mpi_powm
    - mpi_sub_ui
    - mpi_snew
    - progress
    - sexp_nth_data
    - xfree
    - mpi_fdiv_q
    - _gcry_generate_fips186_3_prime
    - mpi_add_ui
    - mpi_get_nbits
    - _gcry_mpi_release
    - dsa_check_keysize
    - mpi_copy
    - _gcry_generate_fips186_2_prime
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t generate_fips186 (DSA_secret_key *sk, unsigned int
      nbits, unsigned int qbits,\n                  gcry_sexp_t deriveparms, int use_fips186_2,\n
      \                 dsa_domain_t *domain,\n                  int *r_counter, void
      **r_seed, size_t *r_seedlen,\n                  gcry_mpi_t *r_h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/dsa.c:587,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/dsa.c:587,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/dsa.c:589,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/dsa.c:590,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sk
    argTypes:
    - DSA_secret_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 593
    functionName: check_secret_key
    functionSourceFile: /src/libgcrypt/cipher/dsa.c
    functionUses: 5
    functionsReached:
    - mpi_free
    - mpi_cmp
    - mpi_get_nlimbs
    - mpi_alloc
    - mpi_powm
    linkageType: ''
    returnType: int
    signature: int check_secret_key( DSA_secret_key *sk )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/dsa.c:625,1
    - Dst: _gcry_dsa_compute_hash
      Src: /src/libgcrypt/cipher/dsa.c:629,1
    - Dst: _gcry_dsa_normalize_hash
      Src: /src/libgcrypt/cipher/dsa.c:636,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa.c:639,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/dsa.c:652,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/dsa.c:658,1
    - Dst: _gcry_dsa_gen_rfc6979_k
      Src: /src/libgcrypt/cipher/dsa.c:659,1
    - Dst: _gcry_dsa_gen_k
      Src: /src/libgcrypt/cipher/dsa.c:667,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/dsa.c:671,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/dsa.c:671,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/dsa.c:672,1
    - Dst: _gcry_dsa_modify_k
      Src: /src/libgcrypt/cipher/dsa.c:674,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/dsa.c:677,1
    - Dst: mpi_fdiv_r
      Src: /src/libgcrypt/cipher/dsa.c:678,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/dsa.c:681,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/dsa.c:681,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/dsa.c:682,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/dsa.c:683,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/dsa.c:684,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa.c:687,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa.c:688,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa.c:689,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/dsa.c:691,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa.c:708,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa.c:709,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 7
    argNames:
    - r
    - s
    - input
    - k_supplied
    - skey
    - flags
    - hashalgo
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - DSA_secret_key*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 712
    functionName: sign
    functionSourceFile: /src/libgcrypt/cipher/dsa.c
    functionUses: 64
    functionsReached:
    - _gcry_dsa_gen_rfc6979_k
    - mpi_add
    - mpi_free
    - _gcry_dsa_gen_k
    - mpi_invm
    - mpi_mul
    - mpi_mulm
    - mpi_cmp_ui
    - mpi_get_nlimbs
    - _gcry_dsa_compute_hash
    - mpi_alloc
    - mpi_powm
    - mpi_fdiv_r
    - mpi_get_opaque
    - _gcry_dsa_normalize_hash
    - _gcry_dsa_modify_k
    - mpi_is_opaque
    - mpi_get_nbits
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t sign (gcry_mpi_t r, gcry_mpi_t s, gcry_mpi_t input,
      gcry_mpi_t k_supplied,\n      DSA_secret_key *skey, int flags, int hashalgo)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/dsa.c:730,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/dsa.c:730,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/dsa.c:732,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/dsa.c:732,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/dsa.c:735,1
    - Dst: _gcry_dsa_compute_hash
      Src: /src/libgcrypt/cipher/dsa.c:738,1
    - Dst: _gcry_dsa_normalize_hash
      Src: /src/libgcrypt/cipher/dsa.c:743,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa.c:746,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/dsa.c:750,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/dsa.c:750,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/dsa.c:751,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/dsa.c:751,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/dsa.c:752,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/dsa.c:752,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/dsa.c:753,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/dsa.c:753,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/dsa.c:756,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/dsa.c:759,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/dsa.c:762,1
    - Dst: mpi_mulpowm
      Src: /src/libgcrypt/cipher/dsa.c:768,1
    - Dst: mpi_fdiv_r
      Src: /src/libgcrypt/cipher/dsa.c:769,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/dsa.c:771,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:775,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:776,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:777,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:778,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:779,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa.c:784,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa.c:785,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa.c:786,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa.c:787,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa.c:789,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa.c:790,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 6
    argNames:
    - r
    - s
    - input
    - pkey
    - flags
    - hashalgo
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - DSA_public_key*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 793
    functionName: verify
    functionSourceFile: /src/libgcrypt/cipher/dsa.c
    functionUses: 73
    functionsReached:
    - mpi_free
    - log_mpidump
    - mpi_cmp
    - mpi_invm
    - mpi_mulm
    - mpi_cmp_ui
    - mpi_get_nlimbs
    - _gcry_dsa_compute_hash
    - mpi_alloc
    - mpi_fdiv_r
    - _gcry_dsa_normalize_hash
    - mpi_mulpowm
    - mpi_get_nbits
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t verify (gcry_mpi_t r, gcry_mpi_t s, gcry_mpi_t input,
      DSA_public_key *pkey,\n        int flags, int hashalgo)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/dsa.c:816,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/dsa.c:817,1
    - Dst: _gcry_pk_util_get_nbits
      Src: /src/libgcrypt/cipher/dsa.c:819,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/dsa.c:824,1
    - Dst: _gcry_pk_util_parse_flaglist
      Src: /src/libgcrypt/cipher/dsa.c:827,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:828,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/dsa.c:834,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/dsa.c:841,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/dsa.c:842,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:844,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/dsa.c:847,1
    - Dst: strtoul
      Src: /src/libgcrypt/cipher/dsa.c:849,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:850,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/dsa.c:856,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:860,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/dsa.c:865,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/dsa.c:870,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:874,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/dsa.c:879,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:883,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/dsa.c:888,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:896,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:897,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/dsa.c:902,1
    - Dst: sexp_nth_mpi
      Src: /src/libgcrypt/cipher/dsa.c:903,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:904,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/dsa.c:905,1
    - Dst: sexp_nth_mpi
      Src: /src/libgcrypt/cipher/dsa.c:906,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:907,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/dsa.c:908,1
    - Dst: sexp_nth_mpi
      Src: /src/libgcrypt/cipher/dsa.c:909,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:910,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:911,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:916,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:917,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:918,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:919,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/dsa.c:924,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/dsa.c:925,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/dsa.c:931,1
    - Dst: generate_fips186
      Src: /src/libgcrypt/cipher/dsa.c:938,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/dsa.c:946,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/dsa.c:949,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:950,1
    - Dst: generate
      Src: /src/libgcrypt/cipher/dsa.c:955,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/dsa.c:974,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/dsa.c:976,1
    - Dst: stpcpy
      Src: /src/libgcrypt/cipher/dsa.c:979,1
    - Dst: stpcpy
      Src: /src/libgcrypt/cipher/dsa.c:981,1
    - Dst: stpcpy
      Src: /src/libgcrypt/cipher/dsa.c:984,1
    - Dst: stpcpy
      Src: /src/libgcrypt/cipher/dsa.c:986,1
    - Dst: stpcpy
      Src: /src/libgcrypt/cipher/dsa.c:987,1
    - Dst: stpcpy
      Src: /src/libgcrypt/cipher/dsa.c:989,1
    - Dst: xtrycalloc
      Src: /src/libgcrypt/cipher/dsa.c:994,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/dsa.c:996,1
    - Dst: sexp_build_array
      Src: /src/libgcrypt/cipher/dsa.c:1006,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/dsa.c:1010,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/dsa.c:1011,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/dsa.c:1015,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1027,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1028,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1029,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1030,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1031,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1033,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1034,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1035,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:1037,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:1038,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:1039,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa.c:1044,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/dsa.c:1045,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 134
    argCount: 2
    argNames:
    - genparms
    - r_skey
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 800
    functionDepth: 4
    functionLinenumber: 800
    functionLinenumberEnd: 1048
    functionName: dsa_generate
    functionSourceFile: /src/libgcrypt/cipher/dsa.c
    functionUses: 0
    functionsReached:
    - mpi_free
    - sexp_release
    - sexp_build
    - sexp_find_token
    - generate
    - xtrymalloc
    - memcpy
    - DIM
    - sexp_nth_mpi
    - strtoul
    - gpg_err_code_from_syserror
    - fips_mode
    - sexp_nth_data
    - memset
    - xfree
    - xtrycalloc
    - mpi_get_nbits
    - _gcry_pk_util_get_nbits
    - sexp_build_array
    - _gcry_mpi_release
    - generate_fips186
    - stpcpy
    - _gcry_pk_util_parse_flaglist
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t dsa_generate (const gcry_sexp_t genparms, gcry_sexp_t
      *r_skey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sexp_extract_param
      Src: /src/libgcrypt/cipher/dsa.c:1058,1
    - Dst: check_secret_key
      Src: /src/libgcrypt/cipher/dsa.c:1064,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1068,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1069,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1070,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1071,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1072,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/dsa.c:1074,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/dsa.c:1074,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - keyparms
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1052
    functionDepth: 5
    functionLinenumber: 1052
    functionLinenumberEnd: 1076
    functionName: dsa_check_secret_key
    functionSourceFile: /src/libgcrypt/cipher/dsa.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_release
    - gpg_strerror
    - check_secret_key
    - _gcry_sexp_extract_param
    - log_debug
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t dsa_check_secret_key (gcry_sexp_t keyparms)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dsa_get_nbits
      Src: /src/libgcrypt/cipher/dsa.c:1089,1
    - Dst: dsa_check_keysize
      Src: /src/libgcrypt/cipher/dsa.c:1091,1
    - Dst: _gcry_pk_util_init_encoding_ctx
      Src: /src/libgcrypt/cipher/dsa.c:1095,1
    - Dst: _gcry_pk_util_data_to_mpi
      Src: /src/libgcrypt/cipher/dsa.c:1098,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:1102,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/dsa.c:1105,1
    - Dst: _gcry_sexp_extract_param
      Src: /src/libgcrypt/cipher/dsa.c:1110,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:1116,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:1117,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:1118,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:1119,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/dsa.c:1120,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:1121,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/dsa.c:1124,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/dsa.c:1125,1
    - Dst: sign
      Src: /src/libgcrypt/cipher/dsa.c:1126,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:1131,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:1132,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/dsa.c:1134,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1137,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1138,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1139,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1140,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1141,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1142,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1143,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1144,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1145,1
    - Dst: _gcry_pk_util_free_encoding_ctx
      Src: /src/libgcrypt/cipher/dsa.c:1146,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/dsa.c:1148,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/dsa.c:1148,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - r_sig
    - s_data
    - keyparms
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1079
    functionDepth: 5
    functionLinenumber: 1079
    functionLinenumberEnd: 1150
    functionName: dsa_sign
    functionSourceFile: /src/libgcrypt/cipher/dsa.c
    functionUses: 3
    functionsReached:
    - log_mpidump
    - dsa_get_nbits
    - _gcry_pk_util_data_to_mpi
    - _gcry_mpi_release
    - sexp_build
    - _gcry_pk_util_free_encoding_ctx
    - sign
    - fips_mode
    - mpi_new
    - gpg_strerror
    - dsa_check_keysize
    - _gcry_mpi_scan
    - _gcry_sexp_extract_param
    - log_debug
    - _gcry_pk_util_init_encoding_ctx
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t dsa_sign (gcry_sexp_t *r_sig, gcry_sexp_t s_data, gcry_sexp_t
      keyparms)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dsa_get_nbits
      Src: /src/libgcrypt/cipher/dsa.c:1163,1
    - Dst: dsa_check_keysize
      Src: /src/libgcrypt/cipher/dsa.c:1165,1
    - Dst: _gcry_pk_util_init_encoding_ctx
      Src: /src/libgcrypt/cipher/dsa.c:1169,1
    - Dst: _gcry_pk_util_data_to_mpi
      Src: /src/libgcrypt/cipher/dsa.c:1172,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:1176,1
    - Dst: _gcry_pk_util_preparse_sigval
      Src: /src/libgcrypt/cipher/dsa.c:1179,1
    - Dst: _gcry_sexp_extract_param
      Src: /src/libgcrypt/cipher/dsa.c:1182,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:1187,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:1188,1
    - Dst: _gcry_sexp_extract_param
      Src: /src/libgcrypt/cipher/dsa.c:1192,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:1198,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:1199,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:1200,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/dsa.c:1201,1
    - Dst: verify
      Src: /src/libgcrypt/cipher/dsa.c:1205,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1208,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1209,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1210,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1211,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1212,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1213,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1214,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:1215,1
    - Dst: _gcry_pk_util_free_encoding_ctx
      Src: /src/libgcrypt/cipher/dsa.c:1216,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/dsa.c:1218,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/dsa.c:1218,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 3
    argNames:
    - s_sig
    - s_data
    - s_keyparms
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1153
    functionDepth: 5
    functionLinenumber: 1153
    functionLinenumberEnd: 1220
    functionName: dsa_verify
    functionSourceFile: /src/libgcrypt/cipher/dsa.c
    functionUses: 3
    functionsReached:
    - log_mpidump
    - dsa_get_nbits
    - _gcry_pk_util_data_to_mpi
    - _gcry_mpi_release
    - _gcry_pk_util_preparse_sigval
    - sexp_release
    - _gcry_pk_util_free_encoding_ctx
    - verify
    - gpg_strerror
    - dsa_check_keysize
    - _gcry_sexp_extract_param
    - log_debug
    - _gcry_pk_util_init_encoding_ctx
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t dsa_verify (gcry_sexp_t s_sig, gcry_sexp_t s_data,
      gcry_sexp_t s_keyparms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/dsa.c:1242,1
    - Dst: sexp_nth_mpi
      Src: /src/libgcrypt/cipher/dsa.c:1246,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:1247,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/dsa.c:1248,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - parms
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1235
    functionDepth: 1
    functionLinenumber: 1235
    functionLinenumberEnd: 1251
    functionName: dsa_get_nbits
    functionSourceFile: /src/libgcrypt/cipher/dsa.c
    functionUses: 2
    functionsReached:
    - _gcry_mpi_release
    - sexp_release
    - sexp_nth_mpi
    - sexp_find_token
    - mpi_get_nbits
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dsa_get_nbits (gcry_sexp_t parms)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sexp_sscan
      Src: /src/libgcrypt/cipher/dsa.c:1288,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/dsa.c:1288,1
    - Dst: sexp_sscan
      Src: /src/libgcrypt/cipher/dsa.c:1290,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/dsa.c:1291,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/dsa.c:1293,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/dsa.c:1295,1
    - Dst: _gcry_pk_sign
      Src: /src/libgcrypt/cipher/dsa.c:1303,1
    - Dst: _gcry_sexp_find_token
      Src: /src/libgcrypt/cipher/dsa.c:1312,1
    - Dst: _gcry_sexp_find_token
      Src: /src/libgcrypt/cipher/dsa.c:1315,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:1319,1
    - Dst: _gcry_sexp_find_token
      Src: /src/libgcrypt/cipher/dsa.c:1322,1
    - Dst: _gcry_sexp_nth_mpi
      Src: /src/libgcrypt/cipher/dsa.c:1325,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:1329,1
    - Dst: _gcry_sexp_find_token
      Src: /src/libgcrypt/cipher/dsa.c:1330,1
    - Dst: _gcry_sexp_nth_mpi
      Src: /src/libgcrypt/cipher/dsa.c:1333,1
    - Dst: _gcry_mpi_cmp
      Src: /src/libgcrypt/cipher/dsa.c:1339,1
    - Dst: _gcry_mpi_cmp
      Src: /src/libgcrypt/cipher/dsa.c:1342,1
    - Dst: _gcry_pk_verify
      Src: /src/libgcrypt/cipher/dsa.c:1349,1
    - Dst: _gcry_pk_verify
      Src: /src/libgcrypt/cipher/dsa.c:1355,1
    - Dst: gcry_err_code
      Src: /src/libgcrypt/cipher/dsa.c:1356,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1364,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1365,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1366,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/dsa.c:1367,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:1368,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:1369,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:1370,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:1371,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:1372,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 2
    argNames:
    - pkey
    - skey
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1259
    functionDepth: 3
    functionLinenumber: 1259
    functionLinenumberEnd: 1374
    functionName: selftest_sign
    functionSourceFile: /src/libgcrypt/cipher/dsa.c
    functionUses: 1
    functionsReached:
    - _gcry_pk_sign
    - strlen
    - _gcry_pk_verify
    - _gcry_mpi_release
    - sexp_release
    - _gcry_mpi_cmp
    - gcry_err_code
    - _gcry_sexp_nth_mpi
    - _gcry_mpi_scan
    - sexp_sscan
    - _gcry_sexp_find_token
    linkageType: ''
    returnType: char
    signature: 'char *

      selftest_sign (gcry_sexp_t pkey, gcry_sexp_t skey)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sexp_sscan
      Src: /src/libgcrypt/cipher/dsa.c:1388,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/dsa.c:1388,1
    - Dst: sexp_sscan
      Src: /src/libgcrypt/cipher/dsa.c:1390,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/dsa.c:1391,1
    - Dst: _gcry_strerror
      Src: /src/libgcrypt/cipher/dsa.c:1394,1
    - Dst: _gcry_pk_testkey
      Src: /src/libgcrypt/cipher/dsa.c:1399,1
    - Dst: _gcry_strerror
      Src: /src/libgcrypt/cipher/dsa.c:1402,1
    - Dst: selftest_sign
      Src: /src/libgcrypt/cipher/dsa.c:1407,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:1411,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:1412,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:1416,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/dsa.c:1417,1
    - Dst: report
      Src: /src/libgcrypt/cipher/dsa.c:1419,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - report
    argTypes:
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1377
    functionDepth: 3
    functionLinenumber: 1377
    functionLinenumberEnd: 1421
    functionName: selftests_dsa_2048
    functionSourceFile: /src/libgcrypt/cipher/dsa.c
    functionUses: 0
    functionsReached:
    - _gcry_strerror
    - _gcry_pk_testkey
    - strlen
    - sexp_release
    - selftest_sign
    - sexp_sscan
    - report
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_dsa_2048 (selftest_report_func_t report)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: selftests_dsa_2048
      Src: /src/libgcrypt/cipher/dsa.c:1435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1425
    functionDepth: 4
    functionLinenumber: 1425
    functionLinenumberEnd: 1443
    functionName: run_selftests
    functionSourceFile: /src/libgcrypt/cipher/dsa.c
    functionUses: 4
    functionsReached:
    - selftests_dsa_2048
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t run_selftests (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_crc32r_armv8_ce_reduction_4
      Src: /src/libgcrypt/cipher/crc-armv8-ce.c:115,1
    - Dst: _gcry_crc32r_armv8_ce_reduction_4
      Src: /src/libgcrypt/cipher/crc-armv8-ce.c:127,1
    - Dst: _gcry_crc32r_armv8_ce_reduction_4
      Src: /src/libgcrypt/cipher/crc-armv8-ce.c:134,1
    - Dst: _gcry_crc32r_armv8_ce_reduction_4
      Src: /src/libgcrypt/cipher/crc-armv8-ce.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 4
    argNames:
    - pcrc
    - inbuf
    - inlen
    - consts
    argTypes:
    - u32*
    - byte*
    - size_t
    - struct crc32_consts_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 147
    functionName: crc32r_less_than_16
    functionSourceFile: /src/libgcrypt/cipher/crc-armv8-ce.c
    functionUses: 1
    functionsReached:
    - _gcry_crc32r_armv8_ce_reduction_4
    linkageType: ''
    returnType: void
    signature: "void crc32r_less_than_16 (u32 *pcrc, const byte *inbuf, size_t inlen,\n\t\t
      \    const struct crc32_consts_s *consts)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/crc-armv8-ce.c:160,1
    - Dst: _gcry_crc32_armv8_ce_reduction_4
      Src: /src/libgcrypt/cipher/crc-armv8-ce.c:165,1
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/crc-armv8-ce.c:176,1
    - Dst: _gcry_crc32_armv8_ce_reduction_4
      Src: /src/libgcrypt/cipher/crc-armv8-ce.c:177,1
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/crc-armv8-ce.c:182,1
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/crc-armv8-ce.c:183,1
    - Dst: _gcry_crc32_armv8_ce_reduction_4
      Src: /src/libgcrypt/cipher/crc-armv8-ce.c:184,1
    - Dst: _gcry_bswap32
      Src: /src/libgcrypt/cipher/crc-armv8-ce.c:190,1
    - Dst: _gcry_crc32_armv8_ce_reduction_4
      Src: /src/libgcrypt/cipher/crc-armv8-ce.c:192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 4
    argNames:
    - pcrc
    - inbuf
    - inlen
    - consts
    argTypes:
    - u32*
    - byte*
    - size_t
    - struct crc32_consts_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 197
    functionName: crc32_less_than_16
    functionSourceFile: /src/libgcrypt/cipher/crc-armv8-ce.c
    functionUses: 2
    functionsReached:
    - _gcry_crc32_armv8_ce_reduction_4
    - _gcry_bswap32
    linkageType: ''
    returnType: void
    signature: "void crc32_less_than_16 (u32 *pcrc, const byte *inbuf, size_t inlen,\n\t\t
      \   const struct crc32_consts_s *consts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_crc32r_armv8_ce_bulk
      Src: /src/libgcrypt/cipher/crc-armv8-ce.c:208,1
    - Dst: crc32r_less_than_16
      Src: /src/libgcrypt/cipher/crc-armv8-ce.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pcrc
    - inbuf
    - inlen
    argTypes:
    - u32*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 211
    functionName: _gcry_crc32_armv8_ce_pmull
    functionSourceFile: /src/libgcrypt/cipher/crc-armv8-ce.c
    functionUses: 1
    functionsReached:
    - _gcry_crc32r_armv8_ce_bulk
    - crc32r_less_than_16
    linkageType: ''
    returnType: void
    signature: void _gcry_crc32_armv8_ce_pmull (u32 *pcrc, const byte *inbuf, size_t
      inlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_crc32_armv8_ce_bulk
      Src: /src/libgcrypt/cipher/crc-armv8-ce.c:224,1
    - Dst: crc32_less_than_16
      Src: /src/libgcrypt/cipher/crc-armv8-ce.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pcrc
    - inbuf
    - inlen
    argTypes:
    - u32*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 227
    functionName: _gcry_crc24rfc2440_armv8_ce_pmull
    functionSourceFile: /src/libgcrypt/cipher/crc-armv8-ce.c
    functionUses: 1
    functionsReached:
    - crc32_less_than_16
    - _gcry_crc32_armv8_ce_bulk
    linkageType: ''
    returnType: void
    signature: void _gcry_crc24rfc2440_armv8_ce_pmull (u32 *pcrc, const byte *inbuf,
      size_t inlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_resize
      Src: /src/libgcrypt/cipher/dsa-common.c:50,1
    - Dst: _gcry_mpih_add_lli
      Src: /src/libgcrypt/cipher/dsa-common.c:53,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/cipher/dsa-common.c:56,1
    - Dst: _gcry_mpih_add_n_cond
      Src: /src/libgcrypt/cipher/dsa-common.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - k
    - q
    - qbits
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: _gcry_dsa_modify_k
    functionSourceFile: /src/libgcrypt/cipher/dsa-common.c
    functionUses: 4
    functionsReached:
    - mpi_resize
    - _gcry_mpih_add_lli
    - _gcry_mpih_add_n_cond
    - mpi_test_bit
    linkageType: ''
    returnType: void
    signature: void _gcry_dsa_modify_k (gcry_mpi_t k, gcry_mpi_t q, int qbits)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/cipher/dsa-common.c:69,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/dsa-common.c:69,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/dsa-common.c:70,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/dsa-common.c:80,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/dsa-common.c:86,1
    - Dst: _gcry_random_bytes_secure
      Src: /src/libgcrypt/cipher/dsa-common.c:87,1
    - Dst: _gcry_random_bytes_secure
      Src: /src/libgcrypt/cipher/dsa-common.c:95,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/dsa-common.c:96,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/dsa-common.c:97,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/dsa-common.c:99,1
    - Dst: mpi_clear_highbit
      Src: /src/libgcrypt/cipher/dsa-common.c:101,1
    - Dst: _gcry_mpih_cmp_lli
      Src: /src/libgcrypt/cipher/dsa-common.c:103,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/dsa-common.c:106,1
    - Dst: _gcry_mpih_cmp_ui
      Src: /src/libgcrypt/cipher/dsa-common.c:109,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/dsa-common.c:112,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/dsa-common.c:117,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - q
    - security_level
    argTypes:
    - gcry_mpi_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 120
    functionName: _gcry_dsa_gen_k
    functionSourceFile: /src/libgcrypt/cipher/dsa-common.c
    functionUses: 6
    functionsReached:
    - mpi_alloc_secure
    - mpi_clear_highbit
    - mpi_get_nlimbs
    - xfree
    - _gcry_mpih_cmp_lli
    - _gcry_mpih_cmp_ui
    - _gcry_mpi_set_buffer
    - _gcry_random_bytes_secure
    - memcpy
    - log_debug
    - mpi_get_nbits
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_dsa_gen_k (gcry_mpi_t q, int security_level)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_print
      Src: /src/libgcrypt/cipher/dsa-common.c:134,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/cipher/dsa-common.c:142,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/cipher/dsa-common.c:142,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/dsa-common.c:142,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/dsa-common.c:144,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/dsa-common.c:146,1
    - Dst: _gcry_mpi_print
      Src: /src/libgcrypt/cipher/dsa-common.c:148,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/dsa-common.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - r_frame
    - value
    - nbytes
    argTypes:
    - unsigned char**
    - gcry_mpi_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 157
    functionName: int2octets
    functionSourceFile: /src/libgcrypt/cipher/dsa-common.c
    functionUses: 0
    functionsReached:
    - gpg_err_code_from_syserror
    - mpi_is_secure
    - xtrymalloc_secure
    - _gcry_mpi_print
    - memset
    - xfree
    - xtrymalloc
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t int2octets (unsigned char **r_frame, gcry_mpi_t value,
      size_t nbytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/dsa-common.c:172,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/cipher/dsa-common.c:176,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/dsa-common.c:179,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/cipher/dsa-common.c:180,1
    - Dst: int2octets
      Src: /src/libgcrypt/cipher/dsa-common.c:183,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa-common.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - r_frame
    - bits
    - nbits
    - q
    - qbits
    argTypes:
    - unsigned char**
    - void*
    - unsigned int
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 187
    functionName: bits2octets
    functionSourceFile: /src/libgcrypt/cipher/dsa-common.c
    functionUses: 0
    functionsReached:
    - mpi_rshift
    - mpi_free
    - mpi_cmp
    - int2octets
    - _gcry_mpi_scan
    - mpi_sub
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t bits2octets (unsigned char **r_frame,\n             const
      void *bits, unsigned int nbits,\n             gcry_mpi_t q, unsigned int qbits)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/dsa-common.c:213,1
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/dsa-common.c:218,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/dsa-common.c:222,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/dsa-common.c:225,1
    - Dst: xtrycalloc
      Src: /src/libgcrypt/cipher/dsa-common.c:232,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/dsa-common.c:235,1
    - Dst: int2octets
      Src: /src/libgcrypt/cipher/dsa-common.c:239,1
    - Dst: bits2octets
      Src: /src/libgcrypt/cipher/dsa-common.c:243,1
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/dsa-common.c:248,1
    - Dst: _gcry_md_setkey
      Src: /src/libgcrypt/cipher/dsa-common.c:254,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dsa-common.c:257,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dsa-common.c:258,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dsa-common.c:259,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dsa-common.c:260,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/dsa-common.c:261,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/dsa-common.c:261,1
    - Dst: _gcry_md_setkey
      Src: /src/libgcrypt/cipher/dsa-common.c:264,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dsa-common.c:267,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/dsa-common.c:268,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/dsa-common.c:268,1
    - Dst: _gcry_md_setkey
      Src: /src/libgcrypt/cipher/dsa-common.c:271,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dsa-common.c:274,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dsa-common.c:275,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dsa-common.c:276,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dsa-common.c:277,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/dsa-common.c:278,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/dsa-common.c:278,1
    - Dst: _gcry_md_setkey
      Src: /src/libgcrypt/cipher/dsa-common.c:281,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dsa-common.c:284,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/dsa-common.c:285,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/dsa-common.c:285,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/cipher/dsa-common.c:288,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/dsa-common.c:291,1
    - Dst: _gcry_md_setkey
      Src: /src/libgcrypt/cipher/dsa-common.c:299,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dsa-common.c:302,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/dsa-common.c:303,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/dsa-common.c:303,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/dsa-common.c:306,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa-common.c:311,1
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/cipher/dsa-common.c:312,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/dsa-common.c:313,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/cipher/dsa-common.c:318,1
    - Dst: _gcry_mpih_cmp_lli
      Src: /src/libgcrypt/cipher/dsa-common.c:322,1
    - Dst: _gcry_mpih_cmp_ui
      Src: /src/libgcrypt/cipher/dsa-common.c:323,1
    - Dst: _gcry_md_setkey
      Src: /src/libgcrypt/cipher/dsa-common.c:326,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dsa-common.c:329,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dsa-common.c:330,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/dsa-common.c:331,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/dsa-common.c:331,1
    - Dst: _gcry_md_setkey
      Src: /src/libgcrypt/cipher/dsa-common.c:334,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dsa-common.c:337,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/dsa-common.c:338,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/dsa-common.c:338,1
    - Dst: _gcry_md_setkey
      Src: /src/libgcrypt/cipher/dsa-common.c:352,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dsa-common.c:355,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dsa-common.c:356,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/dsa-common.c:357,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/dsa-common.c:357,1
    - Dst: _gcry_md_setkey
      Src: /src/libgcrypt/cipher/dsa-common.c:360,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/dsa-common.c:363,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/dsa-common.c:364,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/dsa-common.c:364,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/dsa-common.c:372,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/dsa-common.c:373,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/dsa-common.c:374,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/dsa-common.c:375,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/dsa-common.c:376,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/dsa-common.c:377,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/dsa-common.c:380,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 133
    argCount: 7
    argNames:
    - r_k
    - dsa_q
    - dsa_x
    - h1
    - hlen
    - halgo
    - extraloops
    argTypes:
    - gcry_mpi_t*
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned char*
    - unsigned int
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 196
    functionDepth: 9
    functionLinenumber: 196
    functionLinenumberEnd: 384
    functionName: _gcry_dsa_gen_rfc6979_k
    functionSourceFile: /src/libgcrypt/cipher/dsa-common.c
    functionUses: 3
    functionsReached:
    - mpi_free
    - bits2octets
    - _gcry_mpih_cmp_lli
    - _gcry_mpih_cmp_ui
    - memcpy
    - xtrymalloc
    - _gcry_md_read
    - gpg_err_code_from_syserror
    - _gcry_md_close
    - _gcry_md_get_algo_dlen
    - xtrymalloc_secure
    - xfree
    - xtrycalloc
    - _gcry_mpi_set_buffer
    - mpi_get_nbits
    - _gcry_mpih_rshift
    - mpi_alloc_secure
    - _gcry_md_write
    - int2octets
    - _gcry_md_setkey
    - _gcry_md_open_internal
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_dsa_gen_rfc6979_k (gcry_mpi_t *r_k,\n                         gcry_mpi_t
      dsa_q, gcry_mpi_t dsa_x,\n                         const unsigned char *h1,
      unsigned int hlen,\n                         int halgo, unsigned int extraloops)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/dsa-common.c:403,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/dsa-common.c:404,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/dsa-common.c:407,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/dsa-common.c:411,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/dsa-common.c:413,1
    - Dst: _gcry_md_hash_buffer
      Src: /src/libgcrypt/cipher/dsa-common.c:415,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/dsa-common.c:419,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/dsa-common.c:421,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/dsa-common.c:424,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/dsa-common.c:425,1
    - Dst: _gcry_mpi_to_octet_string
      Src: /src/libgcrypt/cipher/dsa-common.c:428,1
    - Dst: _gcry_md_hash_buffer
      Src: /src/libgcrypt/cipher/dsa-common.c:429,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/dsa-common.c:430,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/cipher/dsa-common.c:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - r_hash
    - input
    - hashalgo
    argTypes:
    - gcry_mpi_t*
    - gcry_mpi_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 438
    functionName: _gcry_dsa_compute_hash
    functionSourceFile: /src/libgcrypt/cipher/dsa-common.c
    functionUses: 4
    functionsReached:
    - gpg_err_code_from_syserror
    - _gcry_mpi_to_octet_string
    - mpi_set_opaque
    - _gcry_md_get_algo_dlen
    - xfree
    - mpi_get_opaque
    - xtrymalloc
    - _gcry_md_hash_buffer
    - mpi_is_opaque
    - mpi_get_nbits
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_dsa_compute_hash (gcry_mpi_t *r_hash, gcry_mpi_t
      input, int hashalgo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/dsa-common.c:457,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/dsa-common.c:459,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/cipher/dsa-common.c:460,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/cipher/dsa-common.c:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - input
    - out
    - qbits
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 472
    functionName: _gcry_dsa_normalize_hash
    functionSourceFile: /src/libgcrypt/cipher/dsa-common.c
    functionUses: 7
    functionsReached:
    - _gcry_mpi_scan
    - mpi_get_opaque
    - mpi_rshift
    - mpi_is_opaque
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_dsa_normalize_hash (gcry_mpi_t input,\n                          gcry_mpi_t
      *out,\n                          unsigned int qbits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha256_transform_amd64_ssse3
      Src: /src/libgcrypt/cipher/sha256.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: do_sha256_transform_amd64_ssse3
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached:
    - _gcry_sha256_transform_amd64_ssse3
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha256_transform_amd64_ssse3(void *ctx, const unsigned
      char *data,\n                                size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha256_transform_amd64_avx
      Src: /src/libgcrypt/cipher/sha256.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: do_sha256_transform_amd64_avx
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached:
    - _gcry_sha256_transform_amd64_avx
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha256_transform_amd64_avx(void *ctx, const unsigned
      char *data,\n                              size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha256_transform_amd64_avx2
      Src: /src/libgcrypt/cipher/sha256.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: do_sha256_transform_amd64_avx2
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached:
    - _gcry_sha256_transform_amd64_avx2
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha256_transform_amd64_avx2(void *ctx, const unsigned
      char *data,\n                               size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha256_transform_intel_shaext
      Src: /src/libgcrypt/cipher/sha256.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: do_sha256_transform_intel_shaext
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached:
    - _gcry_sha256_transform_intel_shaext
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha256_transform_intel_shaext(void *ctx, const unsigned
      char *data,\n                                 size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha256_transform_armv8_ce
      Src: /src/libgcrypt/cipher/sha256.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: do_sha256_transform_armv8_ce
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached:
    - _gcry_sha256_transform_armv8_ce
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha256_transform_armv8_ce(void *ctx, const unsigned
      char *data,\n                             size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha256_transform_ppc8
      Src: /src/libgcrypt/cipher/sha256.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: do_sha256_transform_ppc8
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached:
    - _gcry_sha256_transform_ppc8
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_sha256_transform_ppc8(void *ctx, const unsigned char
      *data, size_t nblks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha256_transform_ppc9
      Src: /src/libgcrypt/cipher/sha256.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: do_sha256_transform_ppc9
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached:
    - _gcry_sha256_transform_ppc9
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_sha256_transform_ppc9(void *ctx, const unsigned char
      *data, size_t nblks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_sha256_transform_riscv_zvknha_zvkb
      Src: /src/libgcrypt/cipher/sha256.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: do_sha256_transform_riscv_zvknha
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached:
    - _gcry_sha256_transform_riscv_zvknha_zvkb
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha256_transform_riscv_zvknha(void *ctx, const unsigned
      char *data,\n\t\t\t\t size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kimd_execute
      Src: /src/libgcrypt/cipher/sha256.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: do_sha256_transform_s390x
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached:
    - kimd_execute
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_sha256_transform_s390x (void *ctx, const unsigned char
      *data, size_t nblks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/sha256.c:293,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/sha256.c:295,1
    - Dst: klmd_execute
      Src: /src/libgcrypt/cipher/sha256.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ctx
    - data
    - datalen
    - len_msb
    - len_lsb
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 303
    functionName: do_sha256_final_s390x
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    - klmd_execute
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int do_sha256_final_s390x (void *ctx, const unsigned char
      *data, size_t datalen,\n\t\t       u32 len_msb, u32 len_lsb)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/sha256.c:314,1
    - Dst: _gcry_ctz
      Src: /src/libgcrypt/cipher/sha256.c:319,1
    - Dst: _gcry_sha256_riscv_v_check_hw
      Src: /src/libgcrypt/cipher/sha256.c:360,1
    - Dst: kimd_query
      Src: /src/libgcrypt/cipher/sha256.c:367,1
    - Dst: km_function_to_mask
      Src: /src/libgcrypt/cipher/sha256.c:367,1
    - Dst: klmd_query
      Src: /src/libgcrypt/cipher/sha256.c:368,1
    - Dst: km_function_to_mask
      Src: /src/libgcrypt/cipher/sha256.c:368,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 30
    argCount: 1
    argNames:
    - hd
    argTypes:
    - SHA256_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 376
    functionName: sha256_common_init
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached:
    - _gcry_ctz
    - _gcry_get_hw_features
    - _gcry_sha256_riscv_v_check_hw
    - km_function_to_mask
    - klmd_query
    - kimd_query
    linkageType: ''
    returnType: void
    signature: void sha256_common_init (SHA256_CONTEXT *hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_common_init
      Src: /src/libgcrypt/cipher/sha256.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 379
    functionDepth: 3
    functionLinenumber: 379
    functionLinenumberEnd: 396
    functionName: sha256_init
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 1
    functionsReached:
    - sha256_common_init
    linkageType: ''
    returnType: void
    signature: void sha256_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_common_init
      Src: /src/libgcrypt/cipher/sha256.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 416
    functionName: sha224_init
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached:
    - sha256_common_init
    linkageType: ''
    returnType: void
    signature: void sha224_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - k
    - ','
    - w
    - )
    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: 429
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 429
    functionName: R
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 122
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(a,b,c,d,e,f,g,h,k,w)
  - 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: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: Cho
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Cho(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: 435
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 435
    functionName: Maj
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Maj(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: 438
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 438
    functionName: Sum0
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sum0(x)
  - 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: Sum1
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sum1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 444
    functionName: S0
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 445
    functionName: S1
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    functionName: I
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: W
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: W(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:489,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256.c:489,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:490,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256.c:490,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:491,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256.c:491,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:492,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256.c:492,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:493,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256.c:493,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:494,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256.c:494,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:495,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256.c:495,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:496,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256.c:496,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:497,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256.c:497,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:498,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256.c:498,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:499,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256.c:499,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:500,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256.c:500,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:501,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256.c:501,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:502,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256.c:502,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:503,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256.c:503,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:504,1
    - Dst: I
      Src: /src/libgcrypt/cipher/sha256.c:504,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:506,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:506,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:507,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:507,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:508,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:508,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:509,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:509,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:510,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:510,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:511,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:511,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:512,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:512,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:513,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:513,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:514,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:514,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:515,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:515,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:516,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:516,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:517,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:517,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:518,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:518,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:519,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:519,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:520,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:520,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:521,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:521,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:523,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:523,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:524,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:524,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:525,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:525,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:526,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:526,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:527,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:527,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:528,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:528,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:529,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:529,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:530,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:530,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:531,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:531,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:532,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:532,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:533,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:533,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:534,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:534,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:535,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:535,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:536,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:536,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:537,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:537,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:538,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:538,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:540,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:540,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:541,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:541,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:542,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:542,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:543,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:543,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:544,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:544,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:545,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:545,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:546,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:546,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:547,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:547,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:548,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:548,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:549,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:549,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:550,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:550,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:551,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:551,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:552,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:552,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:553,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:553,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:554,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:554,1
    - Dst: R
      Src: /src/libgcrypt/cipher/sha256.c:555,1
    - Dst: W
      Src: /src/libgcrypt/cipher/sha256.c:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 85
    argCount: 3
    argNames:
    - ctx
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 571
    functionName: do_transform_generic
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached:
    - R
    - I
    - W
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_transform_generic (void *ctx, const unsigned char *data,
      size_t nblks)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: do_sha256_final_s390x
      Src: /src/libgcrypt/cipher/sha256.c:615,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/sha256.c:622,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sha256.c:625,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sha256.c:626,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/sha256.c:633,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sha256.c:636,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/cipher/sha256.c:637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 639
    functionName: sha256_final
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 1
    functionsReached:
    - do_sha256_final_s390x
    - memset
    - buf_put_be32
    linkageType: ''
    returnType: void
    signature: void sha256_final(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 643
    functionName: X
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 664
    functionName: sha256_read
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      sha256_read (void *context)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_init
      Src: /src/libgcrypt/cipher/sha256.c:677,1
    - Dst: _gcry_md_block_write
      Src: /src/libgcrypt/cipher/sha256.c:679,1
    - Dst: sha256_final
      Src: /src/libgcrypt/cipher/sha256.c:681,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/sha256.c:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - outbuf
    - nbytes
    - iov
    - iovcnt
    argTypes:
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 683
    functionName: _gcry_sha256_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached:
    - sha256_final
    - _gcry_md_block_write
    - memcpy
    - sha256_init
    linkageType: ''
    returnType: void
    signature: "void _gcry_sha256_hash_buffers (void *outbuf, size_t nbytes,\n\t\t\t
      \  const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha224_init
      Src: /src/libgcrypt/cipher/sha256.c:696,1
    - Dst: _gcry_md_block_write
      Src: /src/libgcrypt/cipher/sha256.c:698,1
    - Dst: sha256_final
      Src: /src/libgcrypt/cipher/sha256.c:700,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/sha256.c:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - outbuf
    - nbytes
    - iov
    - iovcnt
    argTypes:
    - void*
    - size_t
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 688
    functionDepth: 4
    functionLinenumber: 688
    functionLinenumberEnd: 702
    functionName: _gcry_sha224_hash_buffers
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached:
    - sha256_final
    - _gcry_md_block_write
    - memcpy
    - sha224_init
    linkageType: ''
    returnType: void
    signature: "void _gcry_sha224_hash_buffers (void *outbuf, size_t nbytes,\n\t\t\t
      \  const gcry_buffer_t *iov, int iovcnt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha256.c:718,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha256.c:729,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha256.c:738,1
    - Dst: report
      Src: /src/libgcrypt/cipher/sha256.c:751,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 753
    functionName: selftests_sha224
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached:
    - report
    - _gcry_hash_selftest_check_one
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_sha224 (int extended, selftest_report_func_t
      report)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha256.c:762,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha256.c:773,1
    - Dst: _gcry_hash_selftest_check_one
      Src: /src/libgcrypt/cipher/sha256.c:783,1
    - Dst: report
      Src: /src/libgcrypt/cipher/sha256.c:797,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 799
    functionName: selftests_sha256
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 0
    functionsReached:
    - report
    - _gcry_hash_selftest_check_one
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_sha256 (int extended, selftest_report_func_t
      report)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: selftests_sha224
      Src: /src/libgcrypt/cipher/sha256.c:811,1
    - Dst: selftests_sha256
      Src: /src/libgcrypt/cipher/sha256.c:814,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 822
    functionName: run_selftests
    functionSourceFile: /src/libgcrypt/cipher/sha256.c
    functionUses: 4
    functionsReached:
    - selftests_sha224
    - selftests_sha256
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t run_selftests (int algo, int extended, selftest_report_func_t
      report)
  - 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: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: max
    functionSourceFile: /src/libgcrypt/cipher/gostr3411-94.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: max(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/gostr3411-94.c:57,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/gostr3411-94.c:58,1
    - Dst: _gcry_ctz
      Src: /src/libgcrypt/cipher/gostr3411-94.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: gost3411_init
    functionSourceFile: /src/libgcrypt/cipher/gostr3411-94.c
    functionUses: 0
    functionsReached:
    - _gcry_ctz
    - memset
    linkageType: ''
    returnType: void
    signature: void gost3411_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gost3411_init
      Src: /src/libgcrypt/cipher/gostr3411-94.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: gost3411_cp_init
    functionSourceFile: /src/libgcrypt/cipher/gostr3411-94.c
    functionUses: 0
    functionsReached:
    - gost3411_init
    linkageType: ''
    returnType: void
    signature: void gost3411_cp_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - p
    - u
    - v
    argTypes:
    - u32*
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 123
    functionName: do_p
    functionSourceFile: /src/libgcrypt/cipher/gostr3411-94.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_p (u32 *p, u32 *u, u32 *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/gostr3411-94.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - u
    argTypes:
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: do_a
    functionSourceFile: /src/libgcrypt/cipher/gostr3411-94.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void do_a (u32 *u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/gostr3411-94.c:142,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/gostr3411-94.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - u
    argTypes:
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: do_a2
    functionSourceFile: /src/libgcrypt/cipher/gostr3411-94.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void do_a2 (u32 *u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - u
    argTypes:
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 162
    functionName: do_apply_c2
    functionSourceFile: /src/libgcrypt/cipher/gostr3411-94.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_apply_c2 (u32 *u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: do_chi_step12
    functionSourceFile: /src/libgcrypt/cipher/gostr3411-94.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_chi_step12(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: do_chi_step13
    functionSourceFile: /src/libgcrypt/cipher/gostr3411-94.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_chi_step13(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: do_chi_doublestep
    functionSourceFile: /src/libgcrypt/cipher/gostr3411-94.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_chi_doublestep(e, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - e
    - x
    argTypes:
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: do_chi_submix12
    functionSourceFile: /src/libgcrypt/cipher/gostr3411-94.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_chi_submix12 (u32 *e, u32 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - e
    - x
    argTypes:
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 198
    functionName: do_chi_submix13
    functionSourceFile: /src/libgcrypt/cipher/gostr3411-94.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_chi_submix13 (u32 *e, u32 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - a
    argTypes:
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: do_add
    functionSourceFile: /src/libgcrypt/cipher/gostr3411-94.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_add (u32 *s, u32 *a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/gostr3411-94.c:223,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/gostr3411-94.c:224,1
    - Dst: do_p
      Src: /src/libgcrypt/cipher/gostr3411-94.c:227,1
    - Dst: _gcry_gost_enc_data
      Src: /src/libgcrypt/cipher/gostr3411-94.c:229,1
    - Dst: do_a
      Src: /src/libgcrypt/cipher/gostr3411-94.c:231,1
    - Dst: do_apply_c2
      Src: /src/libgcrypt/cipher/gostr3411-94.c:233,1
    - Dst: do_a2
      Src: /src/libgcrypt/cipher/gostr3411-94.c:234,1
    - Dst: do_chi_doublestep
      Src: /src/libgcrypt/cipher/gostr3411-94.c:239,1
    - Dst: do_chi_doublestep
      Src: /src/libgcrypt/cipher/gostr3411-94.c:240,1
    - Dst: do_chi_doublestep
      Src: /src/libgcrypt/cipher/gostr3411-94.c:241,1
    - Dst: do_chi_doublestep
      Src: /src/libgcrypt/cipher/gostr3411-94.c:242,1
    - Dst: do_chi_doublestep
      Src: /src/libgcrypt/cipher/gostr3411-94.c:243,1
    - Dst: do_chi_doublestep
      Src: /src/libgcrypt/cipher/gostr3411-94.c:247,1
    - Dst: do_chi_submix12
      Src: /src/libgcrypt/cipher/gostr3411-94.c:249,1
    - Dst: do_chi_step12
      Src: /src/libgcrypt/cipher/gostr3411-94.c:250,1
    - Dst: do_chi_submix13
      Src: /src/libgcrypt/cipher/gostr3411-94.c:252,1
    - Dst: do_chi_step13
      Src: /src/libgcrypt/cipher/gostr3411-94.c:253,1
    - Dst: do_chi_doublestep
      Src: /src/libgcrypt/cipher/gostr3411-94.c:254,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/gostr3411-94.c:257,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/gostr3411-94.c:258,1
    - Dst: max
      Src: /src/libgcrypt/cipher/gostr3411-94.c:262,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - hd
    - h
    - m
    argTypes:
    - GOSTR3411_CONTEXT*
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 265
    functionName: do_hash_step
    functionSourceFile: /src/libgcrypt/cipher/gostr3411-94.c
    functionUses: 0
    functionsReached:
    - do_chi_step12
    - do_chi_doublestep
    - do_a
    - do_apply_c2
    - do_a2
    - do_chi_submix13
    - do_p
    - max
    - do_chi_submix12
    - _gcry_gost_enc_data
    - memcpy
    - do_chi_step13
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int do_hash_step (GOSTR3411_CONTEXT *hd, u32 *h, u32 *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/gostr3411-94.c:276,1
    - Dst: do_hash_step
      Src: /src/libgcrypt/cipher/gostr3411-94.c:277,1
    - Dst: do_add
      Src: /src/libgcrypt/cipher/gostr3411-94.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - void*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 267
    functionDepth: 4
    functionLinenumber: 267
    functionLinenumberEnd: 281
    functionName: transform_blk
    functionSourceFile: /src/libgcrypt/cipher/gostr3411-94.c
    functionUses: 8
    functionsReached:
    - buf_get_le32
    - do_hash_step
    - do_add
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int transform_blk (void *ctx, const unsigned char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transform_blk
      Src: /src/libgcrypt/cipher/gostr3411-94.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - c
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 297
    functionName: transform
    functionSourceFile: /src/libgcrypt/cipher/gostr3411-94.c
    functionUses: 15
    functionsReached:
    - transform_blk
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int transform ( void *c, const unsigned char *data, size_t
      nblks )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/gostr3411-94.c:317,1
    - Dst: _gcry_md_block_write
      Src: /src/libgcrypt/cipher/gostr3411-94.c:319,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/gostr3411-94.c:325,1
    - Dst: do_hash_step
      Src: /src/libgcrypt/cipher/gostr3411-94.c:342,1
    - Dst: do_hash_step
      Src: /src/libgcrypt/cipher/gostr3411-94.c:343,1
    - Dst: le_bswap32
      Src: /src/libgcrypt/cipher/gostr3411-94.c:345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 305
    functionDepth: 4
    functionLinenumber: 305
    functionLinenumberEnd: 346
    functionName: gost3411_final
    functionSourceFile: /src/libgcrypt/cipher/gostr3411-94.c
    functionUses: 0
    functionsReached:
    - le_bswap32
    - _gcry_md_block_write
    - do_hash_step
    - memset
    linkageType: ''
    returnType: void
    signature: void gost3411_final (void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: gost3411_read
    functionSourceFile: /src/libgcrypt/cipher/gostr3411-94.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      gost3411_read (void *context)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:70,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - keyparam
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: mldsa_get_info
    functionSourceFile: /src/libgcrypt/cipher/pubkey-dilithium.c
    functionUses: 0
    functionsReached:
    - sexp_nth_data
    - memcmp
    linkageType: ''
    returnType: struct mldsa_info
    signature: 'struct mldsa_info *

      mldsa_get_info (gcry_sexp_t keyparam)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mldsa_get_info
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - keyparam
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: mldsa_get_nbits
    functionSourceFile: /src/libgcrypt/cipher/pubkey-dilithium.c
    functionUses: 0
    functionsReached:
    - mldsa_get_info
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int mldsa_get_nbits (gcry_sexp_t keyparam)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mldsa_get_info
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:99,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:103,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:105,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:109,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:112,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:116,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - md
    - keyparam
    argTypes:
    - gcry_md_hd_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 120
    functionName: mldsa_compute_keygrip
    functionSourceFile: /src/libgcrypt/cipher/pubkey-dilithium.c
    functionUses: 0
    functionsReached:
    - mldsa_get_info
    - sexp_release
    - sexp_nth_data
    - _gcry_md_write
    - sexp_find_token
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t mldsa_compute_keygrip (gcry_md_hd_t md, gcry_sexp_t
      keyparam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_randomize
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - outlen
    - level
    argTypes:
    - unsigned char*
    - size_t
    - enum gcry_random_level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: randombytes
    functionSourceFile: /src/libgcrypt/cipher/pubkey-dilithium.c
    functionUses: 4
    functionsReached:
    - _gcry_randomize
    linkageType: ''
    returnType: void
    signature: "void randombytes (unsigned char *out, size_t outlen,\n             enum
      gcry_random_level level)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mldsa_get_info
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:138,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:152,1
    - Dst: randombytes
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:156,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:166,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:172,1
    - Dst: dilithium_keypair
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:175,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:176,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:179,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:190,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:191,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:192,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - genparms
    - r_skey
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 194
    functionName: mldsa_generate
    functionSourceFile: /src/libgcrypt/cipher/pubkey-dilithium.c
    functionUses: 0
    functionsReached:
    - dilithium_keypair
    - mldsa_get_info
    - _gcry_mpi_release
    - sexp_build
    - wipememory
    - _gcry_burn_stack
    - sexp_extract_param
    - mpi_get_opaque
    - memcpy
    - randombytes
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t mldsa_generate (const gcry_sexp_t genparms, gcry_sexp_t
      *r_skey)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mldsa_get_info
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:210,1
    - Dst: _gcry_pk_util_init_encoding_ctx
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:218,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:226,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:229,1
    - Dst: _gcry_pk_util_data_to_mpi
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:237,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:241,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:242,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:247,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:257,1
    - Dst: randombytes
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:262,1
    - Dst: dilithium_sign
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:265,1
    - Dst: dilithium_sign
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:268,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:270,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:274,1
    - Dst: _gcry_pk_util_free_encoding_ctx
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:280,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:281,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:282,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:283,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:285,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:285,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 3
    argNames:
    - r_sig
    - s_data
    - keyparms
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 287
    functionName: mldsa_sign
    functionSourceFile: /src/libgcrypt/cipher/pubkey-dilithium.c
    functionUses: 0
    functionsReached:
    - mldsa_get_info
    - log_mpidump
    - _gcry_mpi_release
    - _gcry_pk_util_data_to_mpi
    - sexp_build
    - _gcry_pk_util_free_encoding_ctx
    - wipememory
    - _gcry_burn_stack
    - dilithium_sign
    - sexp_extract_param
    - log_debug
    - gpg_strerror
    - mpi_get_opaque
    - memcpy
    - randombytes
    - mpi_is_opaque
    - _gcry_pk_util_init_encoding_ctx
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t mldsa_sign (gcry_sexp_t *r_sig, gcry_sexp_t s_data,
      gcry_sexp_t keyparms)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mldsa_get_info
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:303,1
    - Dst: _gcry_pk_util_init_encoding_ctx
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:308,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:316,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:319,1
    - Dst: _gcry_pk_util_data_to_mpi
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:326,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:330,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:331,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:336,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:340,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:344,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:345,1
    - Dst: dilithium_verify
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:353,1
    - Dst: dilithium_verify
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:356,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:358,1
    - Dst: _gcry_pk_util_free_encoding_ctx
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:363,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:364,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:365,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:366,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:368,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/pubkey-dilithium.c:368,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 3
    argNames:
    - s_sig
    - s_data
    - keyparms
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 370
    functionName: mldsa_verify
    functionSourceFile: /src/libgcrypt/cipher/pubkey-dilithium.c
    functionUses: 0
    functionsReached:
    - dilithium_verify
    - mldsa_get_info
    - log_mpidump
    - _gcry_mpi_release
    - _gcry_pk_util_data_to_mpi
    - _gcry_pk_util_free_encoding_ctx
    - _gcry_burn_stack
    - sexp_extract_param
    - log_printmpi
    - log_debug
    - gpg_strerror
    - mpi_get_opaque
    - mpi_is_opaque
    - _gcry_pk_util_init_encoding_ctx
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t mldsa_verify (gcry_sexp_t s_sig, gcry_sexp_t s_data,
      gcry_sexp_t keyparms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALIGNED_LOAD
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: asm_load_be_const
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc.c
    functionUses: 0
    functionsReached:
    - ALIGNED_LOAD
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_load_be_const(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vec
    - be_bswap_const
    argTypes:
    - block
    - block
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: asm_be_swap
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc.c
    functionUses: 0
    functionsReached:
    - asm_vperm1
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_be_swap(block vec, block be_bswap_const)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_constant_p
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - offset
    - ptr
    argTypes:
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 98
    functionName: asm_load_be_noswap
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc.c
    functionUses: 0
    functionsReached:
    - __builtin_constant_p
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_load_be_noswap(unsigned long offset, const
      void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_constant_p
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - vec
    - offset
    - ptr
    argTypes:
    - block
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 116
    functionName: asm_store_be_noswap
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc.c
    functionUses: 0
    functionsReached:
    - __builtin_constant_p
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE asm_store_be_noswap(block vec, unsigned long offset,
      void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: keysched_idx
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE unsigned
    signature: ASM_FUNC_ATTR_INLINE unsigned keysched_idx(unsigned int in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: bcast_u32_to_vec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE bcast_u32_to_vec(u32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - vec_u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: u32_from_vec
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASM_FUNC_ATTR_INLINE
    signature: ASM_FUNC_ATTR_INLINE u32_from_vec(vec_u32 x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: keysched_idx
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:164,1
    - Dst: keysched_idx
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:165,1
    - Dst: bcast_u32_to_vec
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:166,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:166,1
    - Dst: bcast_u32_to_vec
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:167,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:167,1
    - Dst: u32_from_vec
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:168,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:168,1
    - Dst: u32_from_vec
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:169,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:169,1
    - Dst: keysched_idx
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:176,1
    - Dst: keysched_idx
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:177,1
    - Dst: asm_sbox_be
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:184,1
    - Dst: vec_rl
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:184,1
    - Dst: asm_sbox_be
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:190,1
    - Dst: u32_from_vec
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:199,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:199,1
    - Dst: u32_from_vec
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:200,1
    - Dst: vec_revb
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:200,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:203,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - RIJNDAEL_context*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 206
    functionName: PPC_OPT_ATTR::_gcry_aes_ppc8_setkey
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc.c
    functionUses: 0
    functionsReached:
    - bcast_u32_to_vec
    - vec_rl
    - asm_sbox_be
    - wipememory
    - u32_from_vec
    - clear_vec_regs
    - buf_get_le32
    - keysched_idx
    - vec_revb
    linkageType: ''
    returnType: void
    signature: 'void PPC_OPT_ATTR

      _gcry_aes_ppc8_setkey (RIJNDAEL_context *ctx, const byte *key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_aes_ppc_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:212,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-ppc.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIJNDAEL_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: PPC_OPT_ATTR::_gcry_aes_ppc8_prepare_decryption
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc.c
    functionUses: 0
    functionsReached:
    - clear_vec_regs
    - internal_aes_ppc_prepare_decryption
    linkageType: ''
    returnType: void
    signature: 'void PPC_OPT_ATTR

      _gcry_aes_ppc8_prepare_decryption (RIJNDAEL_context *ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asm_load_be_const
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:30,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:36,1
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:38,1
    - Dst: AES_ENCRYPT
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:40,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:41,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - out
    - in
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 46
    functionName: PPC_OPT_ATTR::ENCRYPT_BLOCK_FUNC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 0
    functionsReached:
    - PRELOAD_ROUND_KEYS
    - asm_load_be_const
    - AES_ENCRYPT
    - VEC_LOAD_BE
    - clear_vec_regs
    - VEC_STORE_BE
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int PPC_OPT_ATTR\nENCRYPT_BLOCK_FUNC (const RIJNDAEL_context
      *ctx, unsigned char *out,\n\t\t    const unsigned char *in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asm_load_be_const
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:53,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:59,1
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:61,1
    - Dst: AES_DECRYPT
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:63,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:64,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - out
    - in
    argTypes:
    - RIJNDAEL_context*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: PPC_OPT_ATTR::DECRYPT_BLOCK_FUNC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 0
    functionsReached:
    - PRELOAD_ROUND_KEYS
    - AES_DECRYPT
    - asm_load_be_const
    - VEC_LOAD_BE
    - clear_vec_regs
    - VEC_STORE_BE
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int PPC_OPT_ATTR\nDECRYPT_BLOCK_FUNC (const RIJNDAEL_context
      *ctx, unsigned char *out,\n\t\t    const unsigned char *in)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asm_load_be_const
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:76,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:86,1
    - Dst: PRELOAD_ROUND_KEYS_ALL
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:89,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:95,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:97,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:98,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:99,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:100,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:101,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:102,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:103,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:104,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:105,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:108,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:109,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:112,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:113,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:116,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:119,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:122,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 5
    argNames:
    - context
    - iv_arg
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 125
    functionName: PPC_OPT_ATTR::CFB_ENC_FUNC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 0
    functionsReached:
    - asm_cipherlast_be
    - asm_cipher_be
    - asm_load_be_const
    - PRELOAD_ROUND_KEYS_ALL
    - VEC_LOAD_BE
    - clear_vec_regs
    - VEC_STORE_BE
    linkageType: ''
    returnType: void
    signature: "void PPC_OPT_ATTR\nCFB_ENC_FUNC (void *context, unsigned char *iv_arg,
      void *outbuf_arg,\n\t      const void *inbuf_arg, size_t nblocks)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: asm_load_be_const
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:132,1
    - Dst: internal_aes_ppc_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:145,1
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:149,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:153,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:154,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:155,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:156,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:157,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:158,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:159,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:160,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:161,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:162,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:163,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:164,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:166,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:167,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:168,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:169,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:184,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:185,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:186,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:187,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:188,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:189,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:190,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:191,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:192,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:195,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:196,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:199,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:200,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:206,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:207,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:208,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:209,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:210,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:211,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:212,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:213,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:228,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:229,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:230,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:231,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:232,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:233,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:234,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:235,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:236,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:239,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:240,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:243,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:244,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:250,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:251,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:252,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:253,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:254,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:255,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:256,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:257,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:260,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:261,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:262,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:263,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:264,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:265,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:266,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:267,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:273,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:274,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:275,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:276,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:278,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:279,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:280,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:281,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:292,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:293,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:294,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:295,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:296,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:297,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:298,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:299,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:300,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:303,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:304,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:307,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:308,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:313,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:314,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:315,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:316,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:327,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:328,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:329,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:330,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:331,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:332,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:333,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:334,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:335,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:338,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:339,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:342,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:343,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:348,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:349,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:350,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:351,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:354,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:355,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:356,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:357,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:366,1
    - Dst: AES_ENCRYPT
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:370,1
    - Dst: AES_DECRYPT
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:374,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:377,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:383,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 162
    argCount: 5
    argNames:
    - context
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 384
    functionName: PPC_OPT_ATTR::ECB_CRYPT_FUNC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 0
    functionsReached:
    - asm_xor
    - internal_aes_ppc_prepare_decryption
    - PRELOAD_ROUND_KEYS
    - asm_cipherlast_be
    - AES_DECRYPT
    - DO_ROUND
    - asm_load_be_const
    - asm_ncipherlast_be
    - AES_ENCRYPT
    - VEC_LOAD_BE
    - clear_vec_regs
    - VEC_STORE_BE
    linkageType: ''
    returnType: void
    signature: "void PPC_OPT_ATTR\nECB_CRYPT_FUNC (void *context, void *outbuf_arg,
      const void *inbuf_arg,\n\t\tsize_t nblocks, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 227
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: asm_load_be_const
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:391,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:404,1
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:406,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:412,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:413,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:414,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:415,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:416,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:417,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:418,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:419,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:420,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:421,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:422,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:423,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:425,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:426,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:427,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:428,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:429,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:430,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:431,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:432,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:433,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:434,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:435,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:436,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:449,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:450,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:451,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:452,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:453,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:454,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:455,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:456,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:457,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:460,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:461,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:464,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:465,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:471,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:472,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:473,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:474,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:475,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:476,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:477,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:478,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:479,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:480,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:481,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:482,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:483,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:484,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:485,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:486,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:487,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:488,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:489,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:490,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:491,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:492,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:493,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:494,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:495,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:496,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:497,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:498,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:499,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:500,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:501,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:502,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:509,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:510,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:511,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:512,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:514,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:515,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:516,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:517,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:526,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:527,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:528,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:529,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:530,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:531,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:532,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:533,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:534,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:537,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:538,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:541,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:542,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:548,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:549,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:550,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:551,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:552,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:553,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:554,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:555,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:556,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:557,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:558,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:559,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:568,1
    - Dst: AES_ENCRYPT
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:573,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:575,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:581,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:583,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 138
    argCount: 5
    argNames:
    - context
    - iv_arg
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 584
    functionName: PPC_OPT_ATTR::CFB_DEC_FUNC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 0
    functionsReached:
    - asm_xor
    - asm_cipherlast_be
    - PRELOAD_ROUND_KEYS
    - DO_ROUND
    - asm_load_be_const
    - AES_ENCRYPT
    - VEC_LOAD_BE_NOSWAP
    - VEC_LOAD_BE
    - VEC_BE_SWAP
    - clear_vec_regs
    - VEC_STORE_BE
    - VEC_STORE_BE_NOSWAP
    linkageType: ''
    returnType: void
    signature: "void PPC_OPT_ATTR\nCFB_DEC_FUNC (void *context, unsigned char *iv_arg,
      void *outbuf_arg,\n\t      const void *inbuf_arg, size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 448
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - 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: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: asm_load_be_const
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:591,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:604,1
    - Dst: PRELOAD_ROUND_KEYS_ALL
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:606,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:609,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:616,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:619,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:620,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:621,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:622,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:623,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:624,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:625,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:626,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:627,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:630,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:631,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:634,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:635,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:647,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:652,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:654,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 6
    argNames:
    - context
    - iv_arg
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - cbc_mac
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 655
    functionName: PPC_OPT_ATTR::CBC_ENC_FUNC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 0
    functionsReached:
    - asm_cipher_be
    - asm_load_be_const
    - PRELOAD_ROUND_KEYS_ALL
    - VEC_LOAD_BE
    - clear_vec_regs
    - VEC_STORE_BE
    linkageType: ''
    returnType: void
    signature: "void PPC_OPT_ATTR\nCBC_ENC_FUNC (void *context, unsigned char *iv_arg,
      void *outbuf_arg,\n\t      const void *inbuf_arg, size_t nblocks, int cbc_mac)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: asm_load_be_const
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:662,1
    - Dst: internal_aes_ppc_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:677,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:681,1
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:683,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:688,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:689,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:690,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:691,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:692,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:693,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:694,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:695,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:696,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:697,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:698,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:699,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:701,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:702,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:703,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:704,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:705,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:706,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:707,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:708,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:709,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:710,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:711,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:712,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:725,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:726,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:727,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:728,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:729,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:730,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:731,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:732,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:733,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:736,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:737,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:740,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:741,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:747,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:748,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:749,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:750,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:751,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:753,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:754,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:755,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:756,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:757,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:758,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:759,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:760,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:761,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:762,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:763,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:764,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:765,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:766,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:767,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:768,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:769,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:770,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:771,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:772,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:773,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:774,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:775,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:776,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:777,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:778,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:779,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:785,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:786,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:787,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:788,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:790,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:791,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:792,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:793,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:802,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:803,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:804,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:805,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:806,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:807,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:808,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:809,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:810,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:813,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:814,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:817,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:818,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:824,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:825,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:826,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:827,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:829,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:831,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:832,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:833,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:835,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:836,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:837,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:838,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:849,1
    - Dst: AES_DECRYPT
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:851,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:853,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:859,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:861,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 141
    argCount: 5
    argNames:
    - context
    - iv_arg
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 862
    functionName: PPC_OPT_ATTR::CBC_DEC_FUNC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 0
    functionsReached:
    - asm_xor
    - internal_aes_ppc_prepare_decryption
    - PRELOAD_ROUND_KEYS
    - AES_DECRYPT
    - DO_ROUND
    - asm_load_be_const
    - asm_ncipherlast_be
    - VEC_LOAD_BE_NOSWAP
    - VEC_LOAD_BE
    - VEC_BE_SWAP
    - clear_vec_regs
    - VEC_STORE_BE
    - VEC_STORE_BE_NOSWAP
    linkageType: ''
    returnType: void
    signature: "void PPC_OPT_ATTR\nCBC_DEC_FUNC (void *context, unsigned char *iv_arg,
      void *outbuf_arg,\n\t      const void *inbuf_arg, size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 724
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 801
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: asm_load_be_const
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:871,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:881,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:882,1
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:884,1
    - Dst: asm_add_uint16
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:894,1
    - Dst: asm_add_uint16
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:895,1
    - Dst: asm_add_uint16
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:899,1
    - Dst: asm_add_uint16
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:900,1
    - Dst: asm_add_uint16
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:901,1
    - Dst: asm_add_uint16
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:902,1
    - Dst: asm_add_uint16
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:903,1
    - Dst: asm_add_uint16
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:904,1
    - Dst: asm_add_uint16
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:905,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:906,1
    - Dst: ALIGNED_LOAD
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:907,1
    - Dst: asm_add_uint16
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:908,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:909,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:910,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:911,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:912,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:913,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:914,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:915,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:916,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:917,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:918,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:919,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:920,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:921,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:922,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:923,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:936,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:937,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:938,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:939,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:940,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:941,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:942,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:943,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:944,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:945,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:946,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:947,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:948,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:949,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:950,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:952,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:956,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:957,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:960,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:961,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:967,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:968,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:969,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:970,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:971,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:972,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:973,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:974,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:976,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:977,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:978,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:979,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:980,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:981,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:982,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:983,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:984,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:985,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:986,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:987,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:988,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:989,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:990,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:991,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:993,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:994,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:995,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:996,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:997,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:998,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:999,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1000,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1001,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1002,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1003,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1004,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1005,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1006,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1007,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1008,1
    - Dst: asm_add_uint16
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1014,1
    - Dst: asm_add_uint16
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1015,1
    - Dst: asm_add_uint16
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1016,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1017,1
    - Dst: asm_add_uint16
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1018,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1019,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1020,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1021,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1030,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1031,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1032,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1033,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1034,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1035,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1036,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1037,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1039,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1040,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1041,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1042,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1044,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1047,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1048,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1051,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1052,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1058,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1059,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1060,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1061,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1063,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1064,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1065,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1066,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1068,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1069,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1070,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1071,1
    - Dst: asm_add_uint16
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1082,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1083,1
    - Dst: AES_ENCRYPT
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1085,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1087,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1093,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1095,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 160
    argCount: 5
    argNames:
    - context
    - ctr_arg
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 1096
    functionName: PPC_OPT_ATTR::CTR_ENC_FUNC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 0
    functionsReached:
    - asm_xor
    - asm_cipherlast_be
    - PRELOAD_ROUND_KEYS
    - asm_cipher_be
    - DO_ROUND
    - asm_load_be_const
    - AES_ENCRYPT
    - VEC_LOAD_BE_NOSWAP
    - VEC_LOAD_BE
    - ALIGNED_LOAD
    - VEC_BE_SWAP
    - clear_vec_regs
    - VEC_STORE_BE
    - VEC_STORE_BE_NOSWAP
    - asm_add_uint16
    linkageType: ''
    returnType: void
    signature: "void PPC_OPT_ATTR\nCTR_ENC_FUNC (void *context, unsigned char *ctr_arg,
      void *outbuf_arg,\n\t      const void *inbuf_arg, size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 935
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1029
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: asm_load_be_const
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1103,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1116,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1117,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1119,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1120,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1121,1
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1127,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1131,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1131,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1132,1
    - Dst: AES_ENCRYPT
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1140,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1143,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1151,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1152,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1153,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1154,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1155,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1156,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1157,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1158,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1160,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1160,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1161,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1162,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1163,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1164,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1165,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1166,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1167,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1168,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1169,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1205,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1206,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1207,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1208,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1209,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1210,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1211,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1213,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1215,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1217,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1218,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1219,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1220,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1221,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1222,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1223,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1224,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1226,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1229,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1230,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1233,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1234,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1240,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1241,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1242,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1243,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1244,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1245,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1246,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1247,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1249,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1250,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1251,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1252,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1253,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1254,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1255,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1256,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1257,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1258,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1259,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1260,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1261,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1262,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1263,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1264,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1270,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1271,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1272,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1273,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1275,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1275,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1299,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1300,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1301,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1302,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1303,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1304,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1305,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1306,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1307,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1310,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1311,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1314,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1315,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1322,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1323,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1324,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1325,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1327,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1328,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1329,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1330,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1339,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1339,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1340,1
    - Dst: AES_ENCRYPT
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1348,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1351,1
    - Dst: internal_aes_ppc_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1363,1
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1367,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1371,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1371,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1372,1
    - Dst: AES_DECRYPT
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1378,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1383,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1391,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1392,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1393,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1394,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1395,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1396,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1397,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1398,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1400,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1400,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1401,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1402,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1403,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1404,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1405,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1406,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1407,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1408,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1409,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1443,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1444,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1445,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1446,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1447,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1448,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1449,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1451,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1453,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1455,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1456,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1457,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1458,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1459,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1460,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1461,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1462,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1464,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1467,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1468,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1471,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1472,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1478,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1479,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1480,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1481,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1482,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1483,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1484,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1485,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1489,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1490,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1491,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1492,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1493,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1494,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1495,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1496,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1497,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1498,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1499,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1500,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1501,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1502,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1503,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1504,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1510,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1511,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1512,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1513,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1515,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1515,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1537,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1538,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1539,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1540,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1541,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1542,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1543,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1544,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1545,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1548,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1549,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1552,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1553,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1560,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1561,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1562,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1563,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1565,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1566,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1567,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1568,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1579,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1579,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1580,1
    - Dst: AES_DECRYPT
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1586,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1591,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1598,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1599,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1602,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 345
    argCount: 5
    argNames:
    - c
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1099
    functionDepth: 2
    functionLinenumber: 1099
    functionLinenumberEnd: 1605
    functionName: PPC_OPT_ATTR::OCB_CRYPT_FUNC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 0
    functionsReached:
    - asm_xor
    - asm_cipherlast_be
    - PRELOAD_ROUND_KEYS
    - internal_aes_ppc_prepare_decryption
    - AES_DECRYPT
    - DO_ROUND
    - asm_load_be_const
    - asm_ncipherlast_be
    - AES_ENCRYPT
    - VEC_LOAD_BE_NOSWAP
    - VEC_STORE_BE_NOSWAP
    - VEC_LOAD_BE
    - VEC_BE_SWAP
    - clear_vec_regs
    - VEC_STORE_BE
    - ocb_get_l
    linkageType: ''
    returnType: size_t
    signature: "size_t PPC_OPT_ATTR\nOCB_CRYPT_FUNC (gcry_cipher_hd_t c, void *outbuf_arg,
      const void *inbuf_arg,\n\t\tsize_t nblocks, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1204
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1298
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1442
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1536
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: asm_load_be_const
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1611,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1624,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1625,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1627,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1628,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1629,1
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1631,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1635,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1635,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1636,1
    - Dst: AES_ENCRYPT
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1642,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1650,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1651,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1652,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1653,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1654,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1655,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1656,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1657,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1659,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1659,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1694,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1695,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1696,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1697,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1698,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1699,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1700,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1701,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1702,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1705,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1706,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1709,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1710,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1717,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1718,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1719,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1720,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1721,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1722,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1723,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1724,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1733,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1734,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1735,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1736,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1738,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1738,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1761,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1762,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1763,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1764,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1765,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1766,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1767,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1768,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1769,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1772,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1773,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1776,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1777,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1784,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1785,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1786,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1787,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1797,1
    - Dst: ocb_get_l
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1797,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1798,1
    - Dst: AES_ENCRYPT
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1804,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1810,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1811,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1814,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 132
    argCount: 3
    argNames:
    - c
    - abuf_arg
    - nblocks
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1608
    functionDepth: 2
    functionLinenumber: 1608
    functionLinenumberEnd: 1817
    functionName: PPC_OPT_ATTR::OCB_AUTH_FUNC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 0
    functionsReached:
    - asm_cipherlast_be
    - PRELOAD_ROUND_KEYS
    - DO_ROUND
    - asm_load_be_const
    - AES_ENCRYPT
    - VEC_LOAD_BE
    - clear_vec_regs
    - VEC_STORE_BE
    - ocb_get_l
    linkageType: ''
    returnType: size_t
    signature: 'size_t PPC_OPT_ATTR

      OCB_AUTH_FUNC (gcry_cipher_hd_t c, void *abuf_arg, size_t nblocks)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1693
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1760
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: asm_load_be_const
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1835,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1846,1
    - Dst: ALIGNED_LOAD
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1847,1
    - Dst: ALIGNED_LOAD
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1848,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1850,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1851,1
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1866,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1870,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1871,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1872,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1873,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1875,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1876,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1877,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1878,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1879,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1880,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1881,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1882,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1885,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1886,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1887,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1888,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1889,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1890,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1891,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1892,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1893,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1894,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1895,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1896,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1897,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1898,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1899,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1900,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1901,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1902,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1903,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1904,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1906,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1907,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1908,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1909,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1910,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1911,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1912,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1913,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1915,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1916,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1917,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1918,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1919,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1920,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1921,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1922,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1935,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1936,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1937,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1938,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1939,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1940,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1941,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1943,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1945,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1947,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1948,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1949,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1950,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1951,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1952,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1953,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1954,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1956,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1959,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1960,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1963,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1964,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1970,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1971,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1972,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1973,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1974,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1975,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1976,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1977,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1978,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1979,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1980,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1981,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1982,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1983,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1984,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1985,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1986,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1987,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1988,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1989,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1990,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1991,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1992,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:1993,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2000,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2001,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2002,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2003,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2005,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2006,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2007,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2008,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2010,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2011,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2012,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2013,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2027,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2028,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2029,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2030,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2031,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2032,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2033,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2034,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2035,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2038,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2039,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2042,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2043,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2050,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2051,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2052,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2053,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2055,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2056,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2057,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2058,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2067,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2070,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2073,1
    - Dst: AES_ENCRYPT
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2075,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2078,1
    - Dst: internal_aes_ppc_prepare_decryption
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2090,1
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2094,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2098,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2099,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2100,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2101,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2103,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2104,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2105,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2106,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2107,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2108,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2109,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2110,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2113,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2114,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2115,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2116,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2117,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2118,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2119,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2120,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2121,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2122,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2123,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2124,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2125,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2126,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2127,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2128,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2129,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2130,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2131,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2132,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2134,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2135,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2136,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2137,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2138,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2139,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2140,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2141,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2143,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2144,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2145,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2146,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2147,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2148,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2149,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2150,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2163,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2164,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2165,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2166,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2167,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2168,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2169,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2171,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2173,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2175,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2176,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2177,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2178,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2179,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2180,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2181,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2182,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2184,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2187,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2188,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2191,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2192,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2198,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2199,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2200,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2201,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2202,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2203,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2204,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2205,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2206,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2207,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2208,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2209,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2210,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2211,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2212,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2213,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2214,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2215,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2216,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2217,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2218,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2219,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2220,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2221,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2228,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2229,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2230,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2231,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2233,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2234,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2235,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2236,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2238,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2239,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2240,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2241,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2255,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2256,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2257,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2258,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2259,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2260,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2261,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2262,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2263,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2266,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2267,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2270,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2271,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2278,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2279,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2280,1
    - Dst: asm_ncipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2281,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2283,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2284,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2285,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2286,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2295,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2298,1
    - Dst: GEN_TWEAK
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2301,1
    - Dst: AES_DECRYPT
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2303,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2306,1
    - Dst: asm_vperm1
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2313,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2314,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2318,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 341
    argCount: 6
    argNames:
    - context
    - tweak_arg
    - outbuf_arg
    - inbuf_arg
    - nblocks
    - encrypt
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2319
      start: 1820
    functionDepth: 2
    functionLinenumber: 1820
    functionLinenumberEnd: 2319
    functionName: PPC_OPT_ATTR::XTS_CRYPT_FUNC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 0
    functionsReached:
    - asm_xor
    - asm_cipherlast_be
    - PRELOAD_ROUND_KEYS
    - internal_aes_ppc_prepare_decryption
    - AES_DECRYPT
    - DO_ROUND
    - asm_load_be_const
    - asm_ncipherlast_be
    - AES_ENCRYPT
    - VEC_LOAD_BE_NOSWAP
    - VEC_LOAD_BE
    - GEN_TWEAK
    - ALIGNED_LOAD
    - VEC_BE_SWAP
    - asm_vperm1
    - VEC_STORE_BE
    - VEC_STORE_BE_NOSWAP
    - clear_vec_regs
    linkageType: ''
    returnType: void
    signature: "void PPC_OPT_ATTR\nXTS_CRYPT_FUNC (void *context, unsigned char *tweak_arg,
      void *outbuf_arg,\n\t\tconst void *inbuf_arg, size_t nblocks, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tout
    - ','
    - tin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1861
    functionName: GEN_TWEAK
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GEN_TWEAK(tout, tin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1934
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2026
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2152
    functionDepth: 0
    functionLinenumber: 2152
    functionLinenumberEnd: 2162
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2254
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: asm_load_be_const
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2331,1
    - Dst: vec_reve
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2342,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2342,1
    - Dst: PRELOAD_ROUND_KEYS
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2345,1
    - Dst: VEC_ADD_CTRLE32
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2368,1
    - Dst: VEC_ADD_CTRLE32
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2369,1
    - Dst: VEC_ADD_CTRLE32
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2370,1
    - Dst: VEC_ADD_CTRLE32
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2371,1
    - Dst: VEC_ADD_CTRLE32
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2372,1
    - Dst: VEC_ADD_CTRLE32
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2373,1
    - Dst: VEC_ADD_CTRLE32
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2374,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2375,1
    - Dst: vec_reve
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2375,1
    - Dst: ALIGNED_LOAD
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2376,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2378,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2379,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2380,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2381,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2382,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2383,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2384,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2385,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2386,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2387,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2388,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2389,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2390,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2391,1
    - Dst: asm_cipher_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2392,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2405,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2406,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2407,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2408,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2409,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2410,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2411,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2412,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2413,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2414,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2415,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2416,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2417,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2418,1
    - Dst: VEC_LOAD_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2419,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2421,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2425,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2426,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2429,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2430,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2436,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2437,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2438,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2439,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2440,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2441,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2442,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2443,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2445,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2446,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2447,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2448,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2449,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2450,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2451,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2452,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2453,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2454,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2455,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2456,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2457,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2458,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2459,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2460,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2462,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2463,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2464,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2465,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2466,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2467,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2468,1
    - Dst: VEC_BE_SWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2469,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2470,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2471,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2472,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2473,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2474,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2475,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2476,1
    - Dst: VEC_STORE_BE_NOSWAP
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2477,1
    - Dst: VEC_ADD_CTRLE32
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2483,1
    - Dst: VEC_ADD_CTRLE32
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2484,1
    - Dst: VEC_ADD_CTRLE32
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2485,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2486,1
    - Dst: vec_reve
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2486,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2488,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2489,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2490,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2499,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2500,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2501,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2502,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2503,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2504,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2505,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2506,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2508,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2509,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2510,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2511,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2513,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2516,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2517,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2520,1
    - Dst: DO_ROUND
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2521,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2527,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2528,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2529,1
    - Dst: asm_xor
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2530,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2532,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2533,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2534,1
    - Dst: asm_cipherlast_be
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2535,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2537,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2538,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2539,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2540,1
    - Dst: vec_reve
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2550,1
    - Dst: VEC_LOAD_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2552,1
    - Dst: AES_ENCRYPT
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2554,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2556,1
    - Dst: VEC_STORE_BE
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2564,1
    - Dst: vec_reve
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2564,1
    - Dst: clear_vec_regs
      Src: /src/libgcrypt/cipher/rijndael-ppc-functions.h:2566,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 165
    argCount: 5
    argNames:
    - context
    - ctr_arg
    - outbuf_arg
    - inbuf_arg
    - nblocks
    argTypes:
    - void*
    - unsigned char*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2567
      start: 2322
    functionDepth: 1
    functionLinenumber: 2322
    functionLinenumberEnd: 2567
    functionName: PPC_OPT_ATTR::CTR32LE_ENC_FUNC
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 0
    functionsReached:
    - asm_xor
    - asm_cipherlast_be
    - PRELOAD_ROUND_KEYS
    - asm_cipher_be
    - DO_ROUND
    - asm_load_be_const
    - AES_ENCRYPT
    - VEC_LOAD_BE_NOSWAP
    - VEC_LOAD_BE
    - VEC_ADD_CTRLE32
    - vec_reve
    - ALIGNED_LOAD
    - VEC_BE_SWAP
    - clear_vec_regs
    - VEC_STORE_BE
    - VEC_STORE_BE_NOSWAP
    linkageType: ''
    returnType: void
    signature: "void PPC_OPT_ATTR\nCTR32LE_ENC_FUNC(void *context, unsigned char *ctr_arg,
      void *outbuf_arg,\n\t\t const void *inbuf_arg, size_t nblocks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctrv_u32
    - ','
    - addv_u32
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2350
      start: 2348
    functionDepth: 0
    functionLinenumber: 2348
    functionLinenumberEnd: 2350
    functionName: VEC_ADD_CTRLE32
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VEC_ADD_CTRLE32(ctrv_u32, addv_u32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2404
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2498
      start: 2492
    functionDepth: 0
    functionLinenumber: 2492
    functionLinenumberEnd: 2498
    functionName: DO_ROUND
    functionSourceFile: /src/libgcrypt/cipher/rijndael-ppc-functions.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ROUND(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: DIM
    functionSourceFile: /src/libgcrypt/cipher/gost-s-box.c
    functionUses: 391
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libgcrypt/cipher/gost-s-box.c:226,1
    - Dst: perror
      Src: /src/libgcrypt/cipher/gost-s-box.c:230,1
    - Dst: exit
      Src: /src/libgcrypt/cipher/gost-s-box.c:231,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/gost-s-box.c:234,1
    - Dst: fprintf
      Src: /src/libgcrypt/cipher/gost-s-box.c:237,1
    - Dst: fprintf
      Src: /src/libgcrypt/cipher/gost-s-box.c:239,1
    - Dst: fprintf
      Src: /src/libgcrypt/cipher/gost-s-box.c:243,1
    - Dst: fprintf
      Src: /src/libgcrypt/cipher/gost-s-box.c:248,1
    - Dst: fprintf
      Src: /src/libgcrypt/cipher/gost-s-box.c:251,1
    - Dst: fprintf
      Src: /src/libgcrypt/cipher/gost-s-box.c:254,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/gost-s-box.c:256,1
    - Dst: fprintf
      Src: /src/libgcrypt/cipher/gost-s-box.c:258,1
    - Dst: fprintf
      Src: /src/libgcrypt/cipher/gost-s-box.c:261,1
    - Dst: fclose
      Src: /src/libgcrypt/cipher/gost-s-box.c:263,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 266
    functionName: main
    functionSourceFile: /src/libgcrypt/cipher/gost-s-box.c
    functionUses: 12
    functionsReached:
    - perror
    - fclose
    - DIM
    - exit
    - fprintf
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_randomize
      Src: /src/libgcrypt/cipher/kem.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - length
    - dst
    argTypes:
    - void*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: sntrup761_random
    functionSourceFile: /src/libgcrypt/cipher/kem.c
    functionUses: 0
    functionsReached:
    - _gcry_randomize
    linkageType: ''
    returnType: void
    signature: void sntrup761_random (void *ctx, size_t length, uint8_t *dst)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: sntrup761_keypair
      Src: /src/libgcrypt/cipher/kem.c:115,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/kem.c:116,1
    - Dst: mceliece6688128f_keypair
      Src: /src/libgcrypt/cipher/kem.c:125,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/kem.c:126,1
    - Dst: kyber_keypair
      Src: /src/libgcrypt/cipher/kem.c:135,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/kem.c:136,1
    - Dst: KYBER_KEYPAIR_STACK_BURN
      Src: /src/libgcrypt/cipher/kem.c:136,1
    - Dst: kyber_keypair
      Src: /src/libgcrypt/cipher/kem.c:144,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/kem.c:145,1
    - Dst: KYBER_KEYPAIR_STACK_BURN
      Src: /src/libgcrypt/cipher/kem.c:145,1
    - Dst: kyber_keypair
      Src: /src/libgcrypt/cipher/kem.c:153,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/kem.c:154,1
    - Dst: KYBER_KEYPAIR_STACK_BURN
      Src: /src/libgcrypt/cipher/kem.c:154,1
    - Dst: _gcry_ecc_raw_keypair
      Src: /src/libgcrypt/cipher/kem.c:168,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 8
    argNames:
    - algo
    - pubkey
    - pubkey_len
    - seckey
    - seckey_len
    - optional
    - optional_len
    - extra
    argTypes:
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - struct kem_genkey_extra_data_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 100
    functionDepth: 7
    functionLinenumber: 100
    functionLinenumberEnd: 176
    functionName: _gcry_kem_genkey
    functionSourceFile: /src/libgcrypt/cipher/kem.c
    functionUses: 2
    functionsReached:
    - KYBER_KEYPAIR_STACK_BURN
    - sntrup761_keypair
    - _gcry_ecc_raw_keypair
    - mceliece6688128f_keypair
    - kyber_keypair
    - _gcry_burn_stack
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_kem_genkey (int algo,\n                  void
      *pubkey, size_t pubkey_len,\n                  void *seckey, size_t seckey_len,\n
      \                 const void *optional, size_t optional_len,\n                  struct
      kem_genkey_extra_data_s *extra)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: sntrup761_enc
      Src: /src/libgcrypt/cipher/kem.c:195,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/kem.c:196,1
    - Dst: mceliece6688128f_enc
      Src: /src/libgcrypt/cipher/kem.c:206,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/kem.c:207,1
    - Dst: kyber_encap
      Src: /src/libgcrypt/cipher/kem.c:218,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/kem.c:219,1
    - Dst: KYBER_ENCAP_STACK_BURN
      Src: /src/libgcrypt/cipher/kem.c:219,1
    - Dst: kyber_encap
      Src: /src/libgcrypt/cipher/kem.c:229,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/kem.c:230,1
    - Dst: KYBER_ENCAP_STACK_BURN
      Src: /src/libgcrypt/cipher/kem.c:230,1
    - Dst: kyber_encap
      Src: /src/libgcrypt/cipher/kem.c:240,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/kem.c:241,1
    - Dst: KYBER_ENCAP_STACK_BURN
      Src: /src/libgcrypt/cipher/kem.c:241,1
    - Dst: _gcry_ecc_raw_encap
      Src: /src/libgcrypt/cipher/kem.c:255,1
    - Dst: _gcry_ecc_dhkem_encap
      Src: /src/libgcrypt/cipher/kem.c:266,1
    - Dst: _gcry_ecc_dhkem_encap
      Src: /src/libgcrypt/cipher/kem.c:275,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 69
    argCount: 9
    argNames:
    - algo
    - pubkey
    - pubkey_len
    - ciphertext
    - ciphertext_len
    - shared
    - shared_len
    - optional
    - optional_len
    argTypes:
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 179
    functionDepth: 7
    functionLinenumber: 179
    functionLinenumberEnd: 281
    functionName: _gcry_kem_encap
    functionSourceFile: /src/libgcrypt/cipher/kem.c
    functionUses: 1
    functionsReached:
    - sntrup761_enc
    - _gcry_ecc_raw_encap
    - KYBER_ENCAP_STACK_BURN
    - _gcry_burn_stack
    - _gcry_ecc_dhkem_encap
    - mceliece6688128f_enc
    - kyber_encap
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_kem_encap (int algo,\n                 const
      void *pubkey, size_t pubkey_len,\n                 void *ciphertext, size_t
      ciphertext_len,\n                 void *shared, size_t shared_len,\n                 const
      void *optional, size_t optional_len)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: sntrup761_dec
      Src: /src/libgcrypt/cipher/kem.c:300,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/kem.c:301,1
    - Dst: mceliece6688128f_dec
      Src: /src/libgcrypt/cipher/kem.c:311,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/kem.c:312,1
    - Dst: kyber_decap
      Src: /src/libgcrypt/cipher/kem.c:323,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/kem.c:324,1
    - Dst: KYBER_DECAP_STACK_BURN
      Src: /src/libgcrypt/cipher/kem.c:324,1
    - Dst: kyber_decap
      Src: /src/libgcrypt/cipher/kem.c:334,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/kem.c:335,1
    - Dst: KYBER_DECAP_STACK_BURN
      Src: /src/libgcrypt/cipher/kem.c:335,1
    - Dst: kyber_decap
      Src: /src/libgcrypt/cipher/kem.c:345,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/kem.c:346,1
    - Dst: KYBER_DECAP_STACK_BURN
      Src: /src/libgcrypt/cipher/kem.c:346,1
    - Dst: _gcry_ecc_raw_decap
      Src: /src/libgcrypt/cipher/kem.c:360,1
    - Dst: _gcry_ecc_dhkem_decap
      Src: /src/libgcrypt/cipher/kem.c:373,1
    - Dst: _gcry_ecc_dhkem_decap
      Src: /src/libgcrypt/cipher/kem.c:385,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 73
    argCount: 9
    argNames:
    - algo
    - seckey
    - seckey_len
    - ciphertext
    - ciphertext_len
    - shared
    - shared_len
    - optional
    - optional_len
    argTypes:
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 284
    functionDepth: 7
    functionLinenumber: 284
    functionLinenumberEnd: 392
    functionName: _gcry_kem_decap
    functionSourceFile: /src/libgcrypt/cipher/kem.c
    functionUses: 1
    functionsReached:
    - _gcry_ecc_raw_decap
    - sntrup761_dec
    - _gcry_ecc_dhkem_decap
    - _gcry_burn_stack
    - kyber_decap
    - KYBER_DECAP_STACK_BURN
    - mceliece6688128f_dec
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_kem_decap (int algo,\n                 const
      void *seckey, size_t seckey_len,\n                 const void *ciphertext, size_t
      ciphertext_len,\n                 void *shared, size_t shared_len,\n                 const
      void *optional, size_t optional_len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/kem.c:427,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/kem.c:431,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/kem.c:441,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/kem.c:444,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/kem.c:446,1
    - Dst: xtrycalloc_secure
      Src: /src/libgcrypt/cipher/kem.c:452,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/kem.c:455,1
    - Dst: xtrycalloc_secure
      Src: /src/libgcrypt/cipher/kem.c:461,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/kem.c:464,1
    - Dst: xtrycalloc
      Src: /src/libgcrypt/cipher/kem.c:467,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/kem.c:470,1
    - Dst: _gcry_kem_genkey
      Src: /src/libgcrypt/cipher/kem.c:475,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/kem.c:482,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/kem.c:495,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/kem.c:513,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kem.c:514,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/kem.c:518,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kem.c:519,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/kem.c:521,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/kem.c:522,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/kem.c:523,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 2
    argNames:
    - genparms
    - r_skey
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 407
    functionDepth: 8
    functionLinenumber: 407
    functionLinenumberEnd: 525
    functionName: kem_generate
    functionSourceFile: /src/libgcrypt/cipher/kem.c
    functionUses: 0
    functionsReached:
    - xtrycalloc_secure
    - gpg_err_code_from_syserror
    - sexp_build
    - sexp_release
    - _gcry_kem_genkey
    - wipememory
    - sexp_nth_data
    - memcmp
    - sexp_find_token
    - xfree
    - xtrycalloc
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t kem_generate (const gcry_sexp_t genparms, gcry_sexp_t
      *r_skey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/kem.c:551,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/kem.c:555,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kem.c:560,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/kem.c:562,1
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/kem.c:566,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/kem.c:569,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/kem.c:573,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/kem.c:574,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - md
    - keyparam
    argTypes:
    - gcry_md_hd_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 542
    functionDepth: 2
    functionLinenumber: 542
    functionLinenumberEnd: 577
    functionName: kem_compute_keygrip
    functionSourceFile: /src/libgcrypt/cipher/kem.c
    functionUses: 0
    functionsReached:
    - sexp_release
    - _gcry_md_write
    - sexp_nth_data
    - memcmp
    - sexp_find_token
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t kem_compute_keygrip (gcry_md_hd_t md, gcry_sexp_t keyparam)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sexp_nth_data
      Src: /src/libgcrypt/cipher/kem.c:590,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/kem.c:594,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - keyparam
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 600
    functionName: kem_get_nbits
    functionSourceFile: /src/libgcrypt/cipher/kem.c
    functionUses: 0
    functionsReached:
    - sexp_nth_data
    - memcmp
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int kem_get_nbits (gcry_sexp_t keyparam)
  - BBCount: 32
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 65
    argCount: 1
    argNames:
    - mac_algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 101
    functionName: map_mac_algo_to_md
    functionSourceFile: /src/libgcrypt/cipher/mac-hmac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int map_mac_algo_to_md (int mac_algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: map_mac_algo_to_md
      Src: /src/libgcrypt/cipher/mac-hmac.c:113,1
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/mac-hmac.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 125
    functionName: hmac_open
    functionSourceFile: /src/libgcrypt/cipher/mac-hmac.c
    functionUses: 0
    functionsReached:
    - map_mac_algo_to_md
    - _gcry_md_open_internal
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t hmac_open (gcry_mac_hd_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/mac-hmac.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: hmac_close
    functionSourceFile: /src/libgcrypt/cipher/mac-hmac.c
    functionUses: 0
    functionsReached:
    - _gcry_md_close
    linkageType: ''
    returnType: void
    signature: void hmac_close (gcry_mac_hd_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_setkey
      Src: /src/libgcrypt/cipher/mac-hmac.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h
    - key
    - keylen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: hmac_setkey
    functionSourceFile: /src/libgcrypt/cipher/mac-hmac.c
    functionUses: 0
    functionsReached:
    - _gcry_md_setkey
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t hmac_setkey (gcry_mac_hd_t h, const unsigned char *key,
      size_t keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_reset
      Src: /src/libgcrypt/cipher/mac-hmac.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_mac_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: hmac_reset
    functionSourceFile: /src/libgcrypt/cipher/mac-hmac.c
    functionUses: 0
    functionsReached:
    - _gcry_md_reset
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t hmac_reset (gcry_mac_hd_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/mac-hmac.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - h
    - buf
    - buflen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: hmac_write
    functionSourceFile: /src/libgcrypt/cipher/mac-hmac.c
    functionUses: 0
    functionsReached:
    - _gcry_md_write
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t hmac_write (gcry_mac_hd_t h, const unsigned char *buf,
      size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/mac-hmac.c:165,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/mac-hmac.c:166,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/mac-hmac.c:169,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/mac-hmac.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - h
    - outbuf
    - outlen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 159
    functionDepth: 9
    functionLinenumber: 159
    functionLinenumberEnd: 177
    functionName: hmac_read
    functionSourceFile: /src/libgcrypt/cipher/mac-hmac.c
    functionUses: 0
    functionsReached:
    - _gcry_md_read
    - buf_cpy
    - _gcry_md_get_algo_dlen
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t hmac_read (gcry_mac_hd_t h, unsigned char *outbuf,
      size_t * outlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/mac-hmac.c:186,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/mac-hmac.c:187,1
    - Dst: buf_eq_const
      Src: /src/libgcrypt/cipher/mac-hmac.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - h
    - buf
    - buflen
    argTypes:
    - gcry_mac_hd_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 180
    functionDepth: 9
    functionLinenumber: 180
    functionLinenumberEnd: 193
    functionName: hmac_verify
    functionSourceFile: /src/libgcrypt/cipher/mac-hmac.c
    functionUses: 0
    functionsReached:
    - buf_eq_const
    - _gcry_md_read
    - _gcry_md_get_algo_dlen
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t hmac_verify (gcry_mac_hd_t h, const unsigned char *buf,
      size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/mac-hmac.c:199,1
    - Dst: map_mac_algo_to_md
      Src: /src/libgcrypt/cipher/mac-hmac.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: hmac_get_maclen
    functionSourceFile: /src/libgcrypt/cipher/mac-hmac.c
    functionUses: 0
    functionsReached:
    - map_mac_algo_to_md
    - _gcry_md_get_algo_dlen
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int hmac_get_maclen (int algo)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 225
    functionName: hmac_get_keylen
    functionSourceFile: /src/libgcrypt/cipher/mac-hmac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int hmac_get_keylen (int algo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/mac-hmac.c:245,1
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/mac-hmac.c:250,1
    - Dst: _gcry_md_get_algo_dlen
      Src: /src/libgcrypt/cipher/mac-hmac.c:255,1
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/cipher/mac-hmac.c:258,1
    - Dst: _gcry_md_setkey
      Src: /src/libgcrypt/cipher/mac-hmac.c:260,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/mac-hmac.c:262,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/cipher/mac-hmac.c:265,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/cipher/mac-hmac.c:266,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/mac-hmac.c:269,1
    - Dst: memcmp
      Src: /src/libgcrypt/cipher/mac-hmac.c:272,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/mac-hmac.c:285,1
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/cipher/mac-hmac.c:288,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 8
    argNames:
    - algo
    - data
    - datalen
    - key
    - keylen
    - expect
    - expectlen
    - trunc
    argTypes:
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 233
    functionDepth: 9
    functionLinenumber: 233
    functionLinenumberEnd: 290
    functionName: check_one
    functionSourceFile: /src/libgcrypt/cipher/mac-hmac.c
    functionUses: 15
    functionsReached:
    - _gcry_md_read
    - _gcry_md_close
    - _gcry_md_get_algo_dlen
    - fips_mode
    - _gcry_md_write
    - memcmp
    - _gcry_md_setkey
    - _gcry_md_open_internal
    linkageType: ''
    returnType: char
    signature: "char *\ncheck_one (int algo,\n           const void *data, size_t
      datalen,\n           const void *key, size_t keylen,\n           const void
      *expect, size_t expectlen, int trunc)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_one
      Src: /src/libgcrypt/cipher/mac-hmac.c:304,1
    - Dst: check_one
      Src: /src/libgcrypt/cipher/mac-hmac.c:317,1
    - Dst: check_one
      Src: /src/libgcrypt/cipher/mac-hmac.c:328,1
    - Dst: check_one
      Src: /src/libgcrypt/cipher/mac-hmac.c:339,1
    - Dst: report
      Src: /src/libgcrypt/cipher/mac-hmac.c:352,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 354
    functionName: selftests_sha1
    functionSourceFile: /src/libgcrypt/cipher/mac-hmac.c
    functionUses: 1
    functionsReached:
    - report
    - check_one
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_sha1 (int extended, selftest_report_func_t
      report)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_one
      Src: /src/libgcrypt/cipher/mac-hmac.c:453,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/mac-hmac.c:454,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/mac-hmac.c:455,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/mac-hmac.c:456,1
    - Dst: report
      Src: /src/libgcrypt/cipher/mac-hmac.c:467,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 469
    functionName: selftests_sha224
    functionSourceFile: /src/libgcrypt/cipher/mac-hmac.c
    functionUses: 1
    functionsReached:
    - DIM
    - report
    - check_one
    - strlen
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_sha224 (int extended, selftest_report_func_t
      report)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_one
      Src: /src/libgcrypt/cipher/mac-hmac.c:567,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/mac-hmac.c:568,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/mac-hmac.c:569,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/mac-hmac.c:570,1
    - Dst: report
      Src: /src/libgcrypt/cipher/mac-hmac.c:581,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 583
    functionName: selftests_sha256
    functionSourceFile: /src/libgcrypt/cipher/mac-hmac.c
    functionUses: 1
    functionsReached:
    - DIM
    - report
    - check_one
    - strlen
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_sha256 (int extended, selftest_report_func_t
      report)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_one
      Src: /src/libgcrypt/cipher/mac-hmac.c:693,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/mac-hmac.c:694,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/mac-hmac.c:695,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/mac-hmac.c:696,1
    - Dst: report
      Src: /src/libgcrypt/cipher/mac-hmac.c:707,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 709
    functionName: selftests_sha384
    functionSourceFile: /src/libgcrypt/cipher/mac-hmac.c
    functionUses: 1
    functionsReached:
    - DIM
    - report
    - check_one
    - strlen
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_sha384 (int extended, selftest_report_func_t
      report)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_one
      Src: /src/libgcrypt/cipher/mac-hmac.c:831,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/mac-hmac.c:832,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/mac-hmac.c:833,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/mac-hmac.c:834,1
    - Dst: report
      Src: /src/libgcrypt/cipher/mac-hmac.c:845,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - extended
    - report
    argTypes:
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 847
    functionName: selftests_sha512
    functionSourceFile: /src/libgcrypt/cipher/mac-hmac.c
    functionUses: 1
    functionsReached:
    - DIM
    - report
    - check_one
    - strlen
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_sha512 (int extended, selftest_report_func_t
      report)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/cipher/mac-hmac.c:1209,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/mac-hmac.c:1215,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/mac-hmac.c:1220,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/mac-hmac.c:1225,1
    - Dst: DIM
      Src: /src/libgcrypt/cipher/mac-hmac.c:1230,1
    - Dst: BUG
      Src: /src/libgcrypt/cipher/mac-hmac.c:1233,1
    - Dst: check_one
      Src: /src/libgcrypt/cipher/mac-hmac.c:1238,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/mac-hmac.c:1239,1
    - Dst: strlen
      Src: /src/libgcrypt/cipher/mac-hmac.c:1240,1
    - Dst: report
      Src: /src/libgcrypt/cipher/mac-hmac.c:1252,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - hashalgo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 1254
    functionName: selftests_sha3
    functionSourceFile: /src/libgcrypt/cipher/mac-hmac.c
    functionUses: 0
    functionsReached:
    - strlen
    - DIM
    - check_one
    - BUG
    - report
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_sha3 (int hashalgo, int extended, selftest_report_func_t
      report)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: selftests_sha1
      Src: /src/libgcrypt/cipher/mac-hmac.c:1265,1
    - Dst: selftests_sha224
      Src: /src/libgcrypt/cipher/mac-hmac.c:1268,1
    - Dst: selftests_sha256
      Src: /src/libgcrypt/cipher/mac-hmac.c:1271,1
    - Dst: selftests_sha384
      Src: /src/libgcrypt/cipher/mac-hmac.c:1274,1
    - Dst: selftests_sha512
      Src: /src/libgcrypt/cipher/mac-hmac.c:1277,1
    - Dst: map_mac_algo_to_md
      Src: /src/libgcrypt/cipher/mac-hmac.c:1285,1
    - Dst: selftests_sha3
      Src: /src/libgcrypt/cipher/mac-hmac.c:1286,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1257
    functionDepth: 1
    functionLinenumber: 1257
    functionLinenumberEnd: 1296
    functionName: hmac_selftest
    functionSourceFile: /src/libgcrypt/cipher/mac-hmac.c
    functionUses: 0
    functionsReached:
    - selftests_sha256
    - selftests_sha512
    - selftests_sha224
    - selftests_sha1
    - selftests_sha384
    - selftests_sha3
    - map_mac_algo_to_md
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t hmac_selftest (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/blake2.c:190,1
    - Dst: transform_fn
      Src: /src/libgcrypt/cipher/blake2.c:193,1
    - Dst: transform_fn
      Src: /src/libgcrypt/cipher/blake2.c:201,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/blake2.c:207,1
    - Dst: buf_cpy
      Src: /src/libgcrypt/cipher/blake2.c:209,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/blake2.c:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 7
    argNames:
    - S
    - inbuf
    - inlen
    - tmpbuf
    - tmpbuflen
    - blkbytes
    - transform_fn
    argTypes:
    - void*
    - void*
    - size_t
    - byte*
    - size_t*
    - size_t
    - blake2_transform_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 217
    functionName: blake2_write
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached:
    - _gcry_burn_stack
    - buf_cpy
    - transform_fn
    - gcry_assert
    linkageType: ''
    returnType: void
    signature: "void blake2_write(void *S, const void *inbuf, size_t inlen,\n\t\t\t
      byte *tmpbuf, size_t *tmpbuflen, size_t blkbytes,\n\t\t\t blake2_transform_t
      transform_fn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64_C
      Src: /src/libgcrypt/cipher/blake2.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - S
    argTypes:
    - BLAKE2B_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: blake2b_set_lastblock
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached:
    - U64_C
    linkageType: ''
    returnType: void
    signature: void blake2b_set_lastblock(BLAKE2B_STATE *S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - S
    argTypes:
    - BLAKE2B_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: blake2b_is_lastblock
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int blake2b_is_lastblock(const BLAKE2B_STATE *S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - S
    - inc
    argTypes:
    - BLAKE2B_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: blake2b_increment_counter
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blake2b_increment_counter(BLAKE2B_STATE *S, const int inc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - u64
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: rotr64
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: u64 rotr64(u64 x, u64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_increment_counter
      Src: /src/libgcrypt/cipher/blake2.c:267,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/blake2.c:270,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/blake2.c:271,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/blake2.c:272,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/blake2.c:273,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/blake2.c:274,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/blake2.c:275,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/blake2.c:276,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/blake2.c:277,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/blake2.c:278,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/blake2.c:279,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/blake2.c:280,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/blake2.c:281,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/blake2.c:282,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/blake2.c:283,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/blake2.c:284,1
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/blake2.c:285,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:328,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:329,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:330,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:331,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:332,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:333,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:334,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:335,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:336,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:337,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:338,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 58
    argCount: 3
    argNames:
    - S
    - inblks
    - nblks
    argTypes:
    - BLAKE2B_STATE*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 357
    functionName: blake2b_transform_generic
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached:
    - ROUND
    - blake2b_increment_counter
    - buf_get_le64
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int blake2b_transform_generic(BLAKE2B_STATE *S,\n                                              const
      void *inblks,\n                                              size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - r
    - ','
    - i
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 315
    functionName: G
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 252
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G(r,i,a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 327
    functionName: ROUND
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND(r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blake2b_transform_amd64_avx512
      Src: /src/libgcrypt/cipher/blake2.c:381,1
    - Dst: _gcry_blake2b_transform_amd64_avx2
      Src: /src/libgcrypt/cipher/blake2.c:385,1
    - Dst: blake2b_transform_generic
      Src: /src/libgcrypt/cipher/blake2.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - inblks
    - nblks
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 394
    functionName: blake2b_transform
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached:
    - blake2b_transform_generic
    - _gcry_blake2b_transform_amd64_avx512
    - _gcry_blake2b_transform_amd64_avx2
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int blake2b_transform(void *ctx, const void *inblks,\n                                      size_t
      nblks)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/blake2.c:403,1
    - Dst: blake2b_is_lastblock
      Src: /src/libgcrypt/cipher/blake2.c:404,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/blake2.c:408,1
    - Dst: blake2b_set_lastblock
      Src: /src/libgcrypt/cipher/blake2.c:409,1
    - Dst: blake2b_increment_counter
      Src: /src/libgcrypt/cipher/blake2.c:410,1
    - Dst: blake2b_transform
      Src: /src/libgcrypt/cipher/blake2.c:411,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/cipher/blake2.c:415,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/blake2.c:419,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/blake2.c:422,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 423
    functionName: blake2b_final
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    - blake2b_is_lastblock
    - blake2b_set_lastblock
    - blake2b_transform
    - blake2b_increment_counter
    - _gcry_burn_stack
    - memset
    - buf_put_le64
    linkageType: ''
    returnType: void
    signature: void blake2b_final(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: blake2b_read
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: byte *blake2b_read(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blake2_write
      Src: /src/libgcrypt/cipher/blake2.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - inbuf
    - inlen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 437
    functionName: blake2b_write
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached:
    - blake2_write
    linkageType: ''
    returnType: void
    signature: void blake2b_write(void *ctx, const void *inbuf, size_t inlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/blake2.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - S
    - P
    argTypes:
    - BLAKE2B_STATE*
    - struct blake2b_param_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 450
    functionName: blake2b_init_param
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached:
    - buf_get_le64
    linkageType: ''
    returnType: void
    signature: "void blake2b_init_param(BLAKE2B_STATE *S,\n\t\t\t\t      const struct
      blake2b_param_s *P)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_init_param
      Src: /src/libgcrypt/cipher/blake2.c:470,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/blake2.c:471,1
    - Dst: blake2b_write
      Src: /src/libgcrypt/cipher/blake2.c:475,1
    - Dst: blake2b_write
      Src: /src/libgcrypt/cipher/blake2.c:476,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - BLAKE2B_CONTEXT*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 452
    functionDepth: 4
    functionLinenumber: 452
    functionLinenumberEnd: 480
    functionName: blake2b_init
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached:
    - wipememory
    - blake2b_init_param
    - blake2b_write
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t blake2b_init(BLAKE2B_CONTEXT *ctx,\n\t\t\t\t\t   const
      byte *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/blake2.c:487,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/blake2.c:492,1
    - Dst: _gcry_hwf_x86_cpu_details
      Src: /src/libgcrypt/cipher/blake2.c:496,1
    - Dst: _gcry_hwf_x86_cpu_details
      Src: /src/libgcrypt/cipher/blake2.c:500,1
    - Dst: blake2b_init
      Src: /src/libgcrypt/cipher/blake2.c:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ctx
    - flags
    - key
    - keylen
    - dbits
    argTypes:
    - void*
    - unsigned int
    - byte*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 482
    functionDepth: 5
    functionLinenumber: 482
    functionLinenumberEnd: 506
    functionName: blake2b_init_ctx
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached:
    - _gcry_hwf_x86_cpu_details
    - _gcry_get_hw_features
    - blake2b_init
    - memset
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t blake2b_init_ctx(void *ctx, unsigned int flags,\n\t\t\t\t\tconst
      byte *key, size_t keylen,\n\t\t\t\t\tunsigned int dbits)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_init_ctx
      Src: /src/libgcrypt/cipher/blake2.c:516,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/blake2.c:521,1
    - Dst: blake2b_write
      Src: /src/libgcrypt/cipher/blake2.c:522,1
    - Dst: blake2b_write
      Src: /src/libgcrypt/cipher/blake2.c:523,1
    - Dst: blake2b_final
      Src: /src/libgcrypt/cipher/blake2.c:524,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/blake2.c:527,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/blake2.c:538,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/blake2.c:539,1
    - Dst: blake2b_init_ctx
      Src: /src/libgcrypt/cipher/blake2.c:544,1
    - Dst: blake2b_write
      Src: /src/libgcrypt/cipher/blake2.c:548,1
    - Dst: blake2b_final
      Src: /src/libgcrypt/cipher/blake2.c:549,1
    - Dst: blake2b_init_ctx
      Src: /src/libgcrypt/cipher/blake2.c:552,1
    - Dst: blake2b_write
      Src: /src/libgcrypt/cipher/blake2.c:556,1
    - Dst: blake2b_final
      Src: /src/libgcrypt/cipher/blake2.c:557,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/blake2.c:559,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/blake2.c:562,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/blake2.c:563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - in
    - inlen
    - outputlen
    - output
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 509
    functionDepth: 6
    functionLinenumber: 509
    functionLinenumberEnd: 565
    functionName: blake2b_vl_hash
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 2
    functionsReached:
    - blake2b_init_ctx
    - blake2b_write
    - wipememory
    - buf_put_le32
    - memcpy
    - blake2b_final
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t blake2b_vl_hash (const void *in, size_t inlen, size_t
      outputlen, void *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - S
    argTypes:
    - BLAKE2S_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 570
    functionName: blake2s_set_lastblock
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blake2s_set_lastblock(BLAKE2S_STATE *S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - S
    argTypes:
    - BLAKE2S_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 575
    functionName: blake2s_is_lastblock
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int blake2s_is_lastblock(BLAKE2S_STATE *S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - S
    - inc
    argTypes:
    - BLAKE2S_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: blake2s_increment_counter
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blake2s_increment_counter(BLAKE2S_STATE *S, const int inc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blake2s_increment_counter
      Src: /src/libgcrypt/cipher/blake2.c:608,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/blake2.c:611,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/blake2.c:612,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/blake2.c:613,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/blake2.c:614,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/blake2.c:615,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/blake2.c:616,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/blake2.c:617,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/blake2.c:618,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/blake2.c:619,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/blake2.c:620,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/blake2.c:621,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/blake2.c:622,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/blake2.c:623,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/blake2.c:624,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/blake2.c:625,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/blake2.c:626,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:669,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:670,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:671,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:672,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:673,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:674,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:675,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:676,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:677,1
    - Dst: ROUND
      Src: /src/libgcrypt/cipher/blake2.c:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 3
    argNames:
    - S
    - inblks
    - nblks
    argTypes:
    - BLAKE2S_STATE*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 696
    functionName: blake2s_transform_generic
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached:
    - blake2s_increment_counter
    - ROUND
    - buf_get_le32
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int blake2s_transform_generic(BLAKE2S_STATE *S,\n                                              const
      void *inblks,\n                                              size_t nblks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - r
    - ','
    - i
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 656
    functionName: G
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 252
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G(r,i,a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 668
    functionName: ROUND
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND(r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_blake2s_transform_amd64_avx512
      Src: /src/libgcrypt/cipher/blake2.c:720,1
    - Dst: _gcry_blake2s_transform_amd64_avx
      Src: /src/libgcrypt/cipher/blake2.c:724,1
    - Dst: blake2s_transform_generic
      Src: /src/libgcrypt/cipher/blake2.c:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - inblks
    - nblks
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 733
    functionName: blake2s_transform
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached:
    - _gcry_blake2s_transform_amd64_avx
    - _gcry_blake2s_transform_amd64_avx512
    - blake2s_transform_generic
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int blake2s_transform(void *ctx, const void *inblks,\n                                      size_t
      nblks)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/cipher/blake2.c:742,1
    - Dst: blake2s_is_lastblock
      Src: /src/libgcrypt/cipher/blake2.c:743,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/blake2.c:747,1
    - Dst: blake2s_set_lastblock
      Src: /src/libgcrypt/cipher/blake2.c:748,1
    - Dst: blake2s_increment_counter
      Src: /src/libgcrypt/cipher/blake2.c:749,1
    - Dst: blake2s_transform
      Src: /src/libgcrypt/cipher/blake2.c:750,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/blake2.c:754,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/blake2.c:758,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/blake2.c:761,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 735
    functionDepth: 3
    functionLinenumber: 735
    functionLinenumberEnd: 762
    functionName: blake2s_final
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached:
    - blake2s_is_lastblock
    - gcry_assert
    - blake2s_transform
    - blake2s_set_lastblock
    - blake2s_increment_counter
    - _gcry_burn_stack
    - buf_put_le32
    - memset
    linkageType: ''
    returnType: void
    signature: void blake2s_final(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 768
    functionName: blake2s_read
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: byte *blake2s_read(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blake2_write
      Src: /src/libgcrypt/cipher/blake2.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - inbuf
    - inlen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 770
    functionDepth: 3
    functionLinenumber: 770
    functionLinenumberEnd: 776
    functionName: blake2s_write
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached:
    - blake2_write
    linkageType: ''
    returnType: void
    signature: void blake2s_write(void *ctx, const void *inbuf, size_t inlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le32
      Src: /src/libgcrypt/cipher/blake2.c:788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - S
    - P
    argTypes:
    - BLAKE2S_STATE*
    - struct blake2s_param_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 789
    functionName: blake2s_init_param
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached:
    - buf_get_le32
    linkageType: ''
    returnType: void
    signature: "void blake2s_init_param(BLAKE2S_STATE *S,\n\t\t\t\t      const struct
      blake2s_param_s *P)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: blake2s_init_param
      Src: /src/libgcrypt/cipher/blake2.c:809,1
    - Dst: wipememory
      Src: /src/libgcrypt/cipher/blake2.c:810,1
    - Dst: blake2s_write
      Src: /src/libgcrypt/cipher/blake2.c:814,1
    - Dst: blake2s_write
      Src: /src/libgcrypt/cipher/blake2.c:815,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - BLAKE2S_CONTEXT*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 791
    functionDepth: 4
    functionLinenumber: 791
    functionLinenumberEnd: 819
    functionName: blake2s_init
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached:
    - wipememory
    - blake2s_write
    - blake2s_init_param
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t blake2s_init(BLAKE2S_CONTEXT *ctx,\n\t\t\t\t\t   const
      byte *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/cipher/blake2.c:826,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/blake2.c:831,1
    - Dst: _gcry_hwf_x86_cpu_details
      Src: /src/libgcrypt/cipher/blake2.c:835,1
    - Dst: _gcry_hwf_x86_cpu_details
      Src: /src/libgcrypt/cipher/blake2.c:839,1
    - Dst: blake2s_init
      Src: /src/libgcrypt/cipher/blake2.c:844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ctx
    - flags
    - key
    - keylen
    - dbits
    argTypes:
    - void*
    - unsigned int
    - byte*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 821
    functionDepth: 5
    functionLinenumber: 821
    functionLinenumberEnd: 845
    functionName: blake2s_init_ctx
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached:
    - _gcry_hwf_x86_cpu_details
    - _gcry_get_hw_features
    - memset
    - blake2s_init
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t blake2s_init_ctx(void *ctx, unsigned int flags,\n\t\t\t\t\tconst
      byte *key, size_t keylen,\n\t\t\t\t\tunsigned int dbits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - out
    - len
    - seed
    argTypes:
    - byte*
    - size_t
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 864
    functionName: selftest_seq
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void selftest_seq(byte *out, size_t len, u32 seed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_init_ctx
      Src: /src/libgcrypt/cipher/blake2.c:890,1
    - Dst: selftest_seq
      Src: /src/libgcrypt/cipher/blake2.c:903,1
    - Dst: blake2b_init_ctx
      Src: /src/libgcrypt/cipher/blake2.c:904,1
    - Dst: blake2b_write
      Src: /src/libgcrypt/cipher/blake2.c:905,1
    - Dst: blake2b_final
      Src: /src/libgcrypt/cipher/blake2.c:906,1
    - Dst: blake2b_write
      Src: /src/libgcrypt/cipher/blake2.c:907,1
    - Dst: selftest_seq
      Src: /src/libgcrypt/cipher/blake2.c:909,1
    - Dst: blake2b_init_ctx
      Src: /src/libgcrypt/cipher/blake2.c:910,1
    - Dst: blake2b_write
      Src: /src/libgcrypt/cipher/blake2.c:911,1
    - Dst: blake2b_final
      Src: /src/libgcrypt/cipher/blake2.c:912,1
    - Dst: blake2b_write
      Src: /src/libgcrypt/cipher/blake2.c:913,1
    - Dst: blake2b_final
      Src: /src/libgcrypt/cipher/blake2.c:918,1
    - Dst: report
      Src: /src/libgcrypt/cipher/blake2.c:932,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 866
    functionDepth: 6
    functionLinenumber: 866
    functionLinenumberEnd: 934
    functionName: selftests_blake2b
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached:
    - selftest_seq
    - blake2b_init_ctx
    - blake2b_write
    - report
    - blake2b_final
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_blake2b (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blake2s_init_ctx
      Src: /src/libgcrypt/cipher/blake2.c:960,1
    - Dst: selftest_seq
      Src: /src/libgcrypt/cipher/blake2.c:973,1
    - Dst: blake2s_init_ctx
      Src: /src/libgcrypt/cipher/blake2.c:974,1
    - Dst: blake2s_write
      Src: /src/libgcrypt/cipher/blake2.c:975,1
    - Dst: blake2s_final
      Src: /src/libgcrypt/cipher/blake2.c:976,1
    - Dst: blake2s_write
      Src: /src/libgcrypt/cipher/blake2.c:977,1
    - Dst: selftest_seq
      Src: /src/libgcrypt/cipher/blake2.c:979,1
    - Dst: blake2s_init_ctx
      Src: /src/libgcrypt/cipher/blake2.c:980,1
    - Dst: blake2s_write
      Src: /src/libgcrypt/cipher/blake2.c:981,1
    - Dst: blake2s_final
      Src: /src/libgcrypt/cipher/blake2.c:982,1
    - Dst: blake2s_write
      Src: /src/libgcrypt/cipher/blake2.c:983,1
    - Dst: blake2s_final
      Src: /src/libgcrypt/cipher/blake2.c:988,1
    - Dst: report
      Src: /src/libgcrypt/cipher/blake2.c:1002,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - algo
    - extended
    - report
    argTypes:
    - int
    - int
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 936
    functionDepth: 6
    functionLinenumber: 936
    functionLinenumberEnd: 1004
    functionName: selftests_blake2s
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached:
    - selftest_seq
    - blake2s_init_ctx
    - blake2s_final
    - blake2s_write
    - report
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t selftests_blake2s (int algo, int extended, selftest_report_func_t
      report)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_init_ctx
      Src: /src/libgcrypt/cipher/blake2.c:1015,1
    - Dst: blake2b_init_ctx
      Src: /src/libgcrypt/cipher/blake2.c:1018,1
    - Dst: blake2b_init_ctx
      Src: /src/libgcrypt/cipher/blake2.c:1021,1
    - Dst: blake2b_init_ctx
      Src: /src/libgcrypt/cipher/blake2.c:1024,1
    - Dst: blake2s_init_ctx
      Src: /src/libgcrypt/cipher/blake2.c:1027,1
    - Dst: blake2s_init_ctx
      Src: /src/libgcrypt/cipher/blake2.c:1030,1
    - Dst: blake2s_init_ctx
      Src: /src/libgcrypt/cipher/blake2.c:1033,1
    - Dst: blake2s_init_ctx
      Src: /src/libgcrypt/cipher/blake2.c:1036,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 5
    argNames:
    - ctx
    - flags
    - key
    - keylen
    - algo
    argTypes:
    - void*
    - unsigned int
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1007
    functionDepth: 6
    functionLinenumber: 1007
    functionLinenumberEnd: 1044
    functionName: _gcry_blake2_init_with_key
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 1
    functionsReached:
    - blake2s_init_ctx
    - blake2b_init_ctx
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_blake2_init_with_key(void *ctx, unsigned int
      flags,\n\t\t\t\t\t   const unsigned char *key,\n\t\t\t\t\t   size_t keylen,
      int algo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - bs
    - ','
    - BS
    - ','
    - dbits
    - ','
    - oid_branch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1082
    functionName: DEFINE_BLAKE2_VARIANT
    functionSourceFile: /src/libgcrypt/cipher/blake2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_BLAKE2_VARIANT(bs, BS, dbits, oid_branch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cb_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: _gcry_register_pk_elg_progress
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gcry_register_pk_elg_progress (void (*cb) (void *, const char
      *,\n                                            int, int, int),\n\t\t\t\tvoid
      *cb_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: progress_cb
      Src: /src/libgcrypt/cipher/elgamal.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: progress
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 34
    functionsReached:
    - progress_cb
    linkageType: ''
    returnType: void
    signature: void progress (int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 146
    functionName: wiener_map
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int wiener_map( unsigned int n )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/elgamal.c:152,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/elgamal.c:153,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/elgamal.c:154,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/elgamal.c:155,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/elgamal.c:162,1
    - Dst: do_encrypt
      Src: /src/libgcrypt/cipher/elgamal.c:164,1
    - Dst: decrypt
      Src: /src/libgcrypt/cipher/elgamal.c:165,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/elgamal.c:166,1
    - Dst: sign
      Src: /src/libgcrypt/cipher/elgamal.c:169,1
    - Dst: verify
      Src: /src/libgcrypt/cipher/elgamal.c:170,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:173,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:174,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:175,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:176,1
    - Dst: log_fatal
      Src: /src/libgcrypt/cipher/elgamal.c:179,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/elgamal.c:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - sk
    - nbits
    - nodie
    argTypes:
    - ELG_secret_key*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 188
    functionName: test_keys
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 5
    functionsReached:
    - do_encrypt
    - _gcry_mpi_release
    - mpi_cmp
    - log_fatal
    - sign
    - mpi_new
    - verify
    - _gcry_mpi_randomize
    - decrypt
    - log_debug
    linkageType: ''
    returnType: int
    signature: int test_keys ( ELG_secret_key *sk, unsigned int nbits, int nodie )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/cipher/elgamal.c:198,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/elgamal.c:199,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/elgamal.c:199,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/elgamal.c:200,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/elgamal.c:201,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/elgamal.c:209,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/elgamal.c:210,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/elgamal.c:215,1
    - Dst: _gcry_random_bytes_secure
      Src: /src/libgcrypt/cipher/elgamal.c:216,1
    - Dst: _gcry_random_bytes_secure
      Src: /src/libgcrypt/cipher/elgamal.c:225,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/elgamal.c:226,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/elgamal.c:227,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/elgamal.c:229,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/elgamal.c:233,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/elgamal.c:236,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/elgamal.c:239,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/elgamal.c:242,1
    - Dst: mpi_gcd
      Src: /src/libgcrypt/cipher/elgamal.c:245,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/cipher/elgamal.c:247,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/elgamal.c:249,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/elgamal.c:253,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/elgamal.c:255,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:256,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:257,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 1
    argNames:
    - p
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 260
    functionName: gen_k
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 6
    functionsReached:
    - mpi_sub_ui
    - mpi_gcd
    - mpi_add_ui
    - mpi_cmp
    - mpi_free
    - mpi_cmp_ui
    - mpi_alloc_secure
    - progress
    - mpi_get_nlimbs
    - xfree
    - mpi_alloc
    - _gcry_mpi_set_buffer
    - mpi_copy
    - _gcry_random_bytes_secure
    - memcpy
    - log_debug
    - mpi_get_nbits
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t gen_k( gcry_mpi_t p )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/elgamal.c:280,1
    - Dst: wiener_map
      Src: /src/libgcrypt/cipher/elgamal.c:281,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/elgamal.c:284,1
    - Dst: _gcry_generate_elg_prime
      Src: /src/libgcrypt/cipher/elgamal.c:285,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:288,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:289,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/elgamal.c:292,1
    - Dst: BUG
      Src: /src/libgcrypt/cipher/elgamal.c:308,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/elgamal.c:309,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/elgamal.c:311,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/elgamal.c:316,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/elgamal.c:321,1
    - Dst: _gcry_random_bytes_secure
      Src: /src/libgcrypt/cipher/elgamal.c:322,1
    - Dst: _gcry_random_bytes_secure
      Src: /src/libgcrypt/cipher/elgamal.c:327,1
    - Dst: memcpy
      Src: /src/libgcrypt/cipher/elgamal.c:328,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/elgamal.c:329,1
    - Dst: _gcry_random_bytes_secure
      Src: /src/libgcrypt/cipher/elgamal.c:334,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/cipher/elgamal.c:337,1
    - Dst: mpi_clear_highbit
      Src: /src/libgcrypt/cipher/elgamal.c:338,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/elgamal.c:340,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/elgamal.c:340,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/elgamal.c:341,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/elgamal.c:343,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/elgamal.c:344,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/elgamal.c:348,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:349,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:350,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:351,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:352,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:361,1
    - Dst: test_keys
      Src: /src/libgcrypt/cipher/elgamal.c:364,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 3
    argNames:
    - sk
    - nbits
    - ret_factors
    argTypes:
    - ELG_secret_key*
    - unsigned int
    - gcry_mpi_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 267
    functionDepth: 4
    functionLinenumber: 267
    functionLinenumberEnd: 367
    functionName: generate
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 10
    functionsReached:
    - mpi_free
    - log_mpidump
    - BUG
    - mpi_clear_highbit
    - memcpy
    - wiener_map
    - mpi_cmp
    - _gcry_generate_elg_prime
    - mpi_cmp_ui
    - test_keys
    - mpi_powm
    - log_debug
    - mpi_sub_ui
    - mpi_snew
    - mpi_new
    - progress
    - xfree
    - mpi_alloc
    - _gcry_mpi_set_buffer
    - _gcry_random_bytes_secure
    - _gcry_mpi_release
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t generate ( ELG_secret_key *sk, unsigned int nbits,
      gcry_mpi_t **ret_factors )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/elgamal.c:395,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/elgamal.c:399,1
    - Dst: wiener_map
      Src: /src/libgcrypt/cipher/elgamal.c:400,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/elgamal.c:403,1
    - Dst: _gcry_generate_elg_prime
      Src: /src/libgcrypt/cipher/elgamal.c:404,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:407,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:408,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/elgamal.c:411,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/elgamal.c:414,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/elgamal.c:415,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/elgamal.c:415,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:417,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:418,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:419,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/elgamal.c:423,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/elgamal.c:424,1
    - Dst: progress
      Src: /src/libgcrypt/cipher/elgamal.c:428,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:429,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:430,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:431,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:432,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/elgamal.c:439,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:441,1
    - Dst: test_keys
      Src: /src/libgcrypt/cipher/elgamal.c:444,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:446,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:447,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:448,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:449,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 4
    argNames:
    - sk
    - nbits
    - x
    - ret_factors
    argTypes:
    - ELG_secret_key*
    - unsigned int
    - gcry_mpi_t
    - gcry_mpi_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 377
    functionDepth: 4
    functionLinenumber: 377
    functionLinenumberEnd: 454
    functionName: generate_using_x
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 0
    functionsReached:
    - wiener_map
    - mpi_free
    - mpi_sub_ui
    - _gcry_mpi_release
    - mpi_cmp
    - log_mpidump
    - _gcry_generate_elg_prime
    - test_keys
    - mpi_cmp_ui
    - mpi_new
    - progress
    - mpi_alloc
    - mpi_copy
    - mpi_powm
    - log_debug
    - mpi_get_nbits
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t generate_using_x (ELG_secret_key *sk, unsigned int
      nbits, gcry_mpi_t x,\n                  gcry_mpi_t **ret_factors )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/elgamal.c:465,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/elgamal.c:465,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/elgamal.c:467,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/elgamal.c:468,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sk
    argTypes:
    - ELG_secret_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 471
    functionName: check_secret_key
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 6
    functionsReached:
    - mpi_free
    - mpi_cmp
    - mpi_get_nlimbs
    - mpi_alloc
    - mpi_powm
    linkageType: ''
    returnType: int
    signature: int check_secret_key( ELG_secret_key *sk )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gen_k
      Src: /src/libgcrypt/cipher/elgamal.c:484,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/elgamal.c:485,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/elgamal.c:492,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/elgamal.c:493,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:497,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:498,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:499,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:500,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:501,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:502,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - a
    - b
    - input
    - pkey
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - ELG_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 506
    functionName: do_encrypt
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 8
    functionsReached:
    - mpi_free
    - log_mpidump
    - mpi_mulm
    - gen_k
    - mpi_powm
    linkageType: ''
    returnType: void
    signature: void do_encrypt(gcry_mpi_t a, gcry_mpi_t b, gcry_mpi_t input, ELG_public_key
      *pkey )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/elgamal.c:515,1
    - Dst: mpi_normalize
      Src: /src/libgcrypt/cipher/elgamal.c:518,1
    - Dst: mpi_normalize
      Src: /src/libgcrypt/cipher/elgamal.c:519,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/elgamal.c:521,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/elgamal.c:525,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/elgamal.c:526,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/elgamal.c:527,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/elgamal.c:528,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/elgamal.c:529,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/elgamal.c:533,1
    - Dst: _gcry_mpi_randomize
      Src: /src/libgcrypt/cipher/elgamal.c:536,1
    - Dst: mpi_set_highbit
      Src: /src/libgcrypt/cipher/elgamal.c:537,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/elgamal.c:538,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/elgamal.c:539,1
    - Dst: mpi_add
      Src: /src/libgcrypt/cipher/elgamal.c:540,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/elgamal.c:543,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/elgamal.c:545,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/elgamal.c:546,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/elgamal.c:547,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/elgamal.c:549,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:551,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:552,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:553,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:554,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:555,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/elgamal.c:560,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/elgamal.c:561,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/elgamal.c:565,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:570,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:571,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:572,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:573,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:574,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 4
    argNames:
    - output
    - a
    - b
    - skey
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - ELG_secret_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 578
    functionName: decrypt
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 113
    functionsReached:
    - mpi_add
    - mpi_sub_ui
    - mpi_free
    - log_mpidump
    - mpi_mul
    - mpi_invm
    - mpi_normalize
    - mpi_mulm
    - mpi_snew
    - mpi_new
    - mpi_set_highbit
    - _gcry_mpi_randomize
    - mpi_powm
    - mpi_get_nbits
    linkageType: ''
    returnType: void
    signature: void decrypt (gcry_mpi_t output, gcry_mpi_t a, gcry_mpi_t b, ELG_secret_key
      *skey )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/elgamal.c:589,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/elgamal.c:589,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/elgamal.c:590,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/elgamal.c:590,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/cipher/elgamal.c:591,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/cipher/elgamal.c:599,1
    - Dst: gen_k
      Src: /src/libgcrypt/cipher/elgamal.c:600,1
    - Dst: mpi_powm
      Src: /src/libgcrypt/cipher/elgamal.c:601,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/cipher/elgamal.c:602,1
    - Dst: mpi_subm
      Src: /src/libgcrypt/cipher/elgamal.c:603,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/elgamal.c:604,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/elgamal.c:605,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:610,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:611,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:612,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:613,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:614,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:615,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:616,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:617,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:620,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:621,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:622,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 4
    argNames:
    - a
    - b
    - input
    - skey
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - ELG_secret_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 624
    functionName: sign
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 69
    functionsReached:
    - mpi_sub_ui
    - log_mpidump
    - mpi_free
    - mpi_mul
    - mpi_invm
    - mpi_mulm
    - gen_k
    - mpi_get_nlimbs
    - mpi_subm
    - mpi_alloc
    - mpi_copy
    - mpi_powm
    linkageType: ''
    returnType: void
    signature: void sign(gcry_mpi_t a, gcry_mpi_t b, gcry_mpi_t input, ELG_secret_key
      *skey )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/elgamal.c:639,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/elgamal.c:639,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/elgamal.c:642,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/elgamal.c:642,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/cipher/elgamal.c:643,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/cipher/elgamal.c:643,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/cipher/elgamal.c:647,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/cipher/elgamal.c:648,1
    - Dst: mpi_mulm
      Src: /src/libgcrypt/cipher/elgamal.c:649,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/cipher/elgamal.c:652,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/elgamal.c:654,1
    - Dst: mpi_mulpowm
      Src: /src/libgcrypt/cipher/elgamal.c:660,1
    - Dst: gcry_mpi_powm
      Src: /src/libgcrypt/cipher/elgamal.c:663,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/cipher/elgamal.c:665,1
    - Dst: mpi_invm
      Src: /src/libgcrypt/cipher/elgamal.c:668,1
    - Dst: mpi_mulpowm
      Src: /src/libgcrypt/cipher/elgamal.c:673,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/cipher/elgamal.c:674,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:678,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 4
    argNames:
    - a
    - b
    - input
    - pkey
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - ELG_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 681
    functionName: verify
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 77
    functionsReached:
    - mpi_free
    - mpi_cmp
    - mpi_invm
    - mpi_mulm
    - mpi_cmp_ui
    - mpi_get_nlimbs
    - mpi_alloc
    - gcry_mpi_powm
    - mpi_mulpowm
    linkageType: ''
    returnType: int
    signature: int verify(gcry_mpi_t a, gcry_mpi_t b, gcry_mpi_t input, ELG_public_key
      *pkey )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/elgamal.c:698,1
    - Dst: _gcry_pk_util_get_nbits
      Src: /src/libgcrypt/cipher/elgamal.c:700,1
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/elgamal.c:705,1
    - Dst: sexp_nth_mpi
      Src: /src/libgcrypt/cipher/elgamal.c:708,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/elgamal.c:709,1
    - Dst: generate_using_x
      Src: /src/libgcrypt/cipher/elgamal.c:716,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:717,1
    - Dst: generate
      Src: /src/libgcrypt/cipher/elgamal.c:721,1
    - Dst: xtrycalloc
      Src: /src/libgcrypt/cipher/elgamal.c:734,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/elgamal.c:737,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/cipher/elgamal.c:740,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/cipher/elgamal.c:743,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/elgamal.c:744,1
    - Dst: stpcpy
      Src: /src/libgcrypt/cipher/elgamal.c:747,1
    - Dst: stpcpy
      Src: /src/libgcrypt/cipher/elgamal.c:750,1
    - Dst: stpcpy
      Src: /src/libgcrypt/cipher/elgamal.c:753,1
    - Dst: sexp_build_array
      Src: /src/libgcrypt/cipher/elgamal.c:754,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/elgamal.c:755,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/elgamal.c:756,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/elgamal.c:761,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:773,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:774,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:775,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:776,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/elgamal.c:777,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:782,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/elgamal.c:783,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 2
    argNames:
    - genparms
    - r_skey
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 687
    functionDepth: 5
    functionLinenumber: 687
    functionLinenumberEnd: 787
    functionName: elg_generate
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 0
    functionsReached:
    - sexp_build_array
    - mpi_free
    - gpg_err_code_from_syserror
    - generate_using_x
    - sexp_release
    - sexp_build
    - sexp_nth_mpi
    - sexp_find_token
    - memset
    - generate
    - xfree
    - xtrycalloc
    - stpcpy
    - xtrymalloc
    - _gcry_pk_util_get_nbits
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t elg_generate (const gcry_sexp_t genparms, gcry_sexp_t
      *r_skey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/elgamal.c:796,1
    - Dst: check_secret_key
      Src: /src/libgcrypt/cipher/elgamal.c:802,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:806,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:807,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:808,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:809,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/elgamal.c:811,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/elgamal.c:811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - keyparms
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 813
    functionName: elg_check_secret_key
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_release
    - gpg_strerror
    - check_secret_key
    - sexp_extract_param
    - log_debug
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t elg_check_secret_key (gcry_sexp_t keyparms)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_pk_util_init_encoding_ctx
      Src: /src/libgcrypt/cipher/elgamal.c:826,1
    - Dst: elg_get_nbits
      Src: /src/libgcrypt/cipher/elgamal.c:827,1
    - Dst: _gcry_pk_util_data_to_mpi
      Src: /src/libgcrypt/cipher/elgamal.c:830,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:834,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/elgamal.c:835,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/elgamal.c:842,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:848,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:849,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:850,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/elgamal.c:854,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/elgamal.c:855,1
    - Dst: do_encrypt
      Src: /src/libgcrypt/cipher/elgamal.c:856,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/elgamal.c:857,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:860,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:861,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:862,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:863,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:864,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:865,1
    - Dst: _gcry_pk_util_free_encoding_ctx
      Src: /src/libgcrypt/cipher/elgamal.c:866,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/elgamal.c:868,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/elgamal.c:868,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - r_ciph
    - s_data
    - keyparms
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 816
    functionDepth: 3
    functionLinenumber: 816
    functionLinenumberEnd: 870
    functionName: elg_encrypt
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 0
    functionsReached:
    - do_encrypt
    - log_mpidump
    - _gcry_mpi_release
    - _gcry_pk_util_data_to_mpi
    - sexp_build
    - _gcry_pk_util_free_encoding_ctx
    - mpi_new
    - log_debug
    - elg_get_nbits
    - gpg_strerror
    - sexp_extract_param
    - mpi_is_opaque
    - _gcry_pk_util_init_encoding_ctx
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t elg_encrypt (gcry_sexp_t *r_ciph, gcry_sexp_t s_data,
      gcry_sexp_t keyparms)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_pk_util_init_encoding_ctx
      Src: /src/libgcrypt/cipher/elgamal.c:888,1
    - Dst: elg_get_nbits
      Src: /src/libgcrypt/cipher/elgamal.c:889,1
    - Dst: _gcry_pk_util_preparse_encval
      Src: /src/libgcrypt/cipher/elgamal.c:892,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/elgamal.c:895,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/elgamal.c:900,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/elgamal.c:901,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/elgamal.c:903,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/elgamal.c:903,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/elgamal.c:910,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/elgamal.c:917,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/elgamal.c:918,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/elgamal.c:919,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/elgamal.c:920,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/elgamal.c:921,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/cipher/elgamal.c:924,1
    - Dst: decrypt
      Src: /src/libgcrypt/cipher/elgamal.c:925,1
    - Dst: log_printmpi
      Src: /src/libgcrypt/cipher/elgamal.c:927,1
    - Dst: _gcry_rsa_pkcs1_decode_for_enc
      Src: /src/libgcrypt/cipher/elgamal.c:933,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:934,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/elgamal.c:936,1
    - Dst: sexp_null_cond
      Src: /src/libgcrypt/cipher/elgamal.c:937,1
    - Dst: ct_is_not_zero
      Src: /src/libgcrypt/cipher/elgamal.c:937,1
    - Dst: sexp_null_cond
      Src: /src/libgcrypt/cipher/elgamal.c:938,1
    - Dst: ct_is_zero
      Src: /src/libgcrypt/cipher/elgamal.c:938,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/elgamal.c:939,1
    - Dst: ct_ulong_select
      Src: /src/libgcrypt/cipher/elgamal.c:940,1
    - Dst: ct_is_zero
      Src: /src/libgcrypt/cipher/elgamal.c:941,1
    - Dst: ct_is_not_zero
      Src: /src/libgcrypt/cipher/elgamal.c:941,1
    - Dst: _gcry_rsa_oaep_decode
      Src: /src/libgcrypt/cipher/elgamal.c:945,1
    - Dst: mpi_free
      Src: /src/libgcrypt/cipher/elgamal.c:948,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/elgamal.c:950,1
    - Dst: sexp_null_cond
      Src: /src/libgcrypt/cipher/elgamal.c:951,1
    - Dst: ct_is_not_zero
      Src: /src/libgcrypt/cipher/elgamal.c:951,1
    - Dst: sexp_null_cond
      Src: /src/libgcrypt/cipher/elgamal.c:952,1
    - Dst: ct_is_zero
      Src: /src/libgcrypt/cipher/elgamal.c:952,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/elgamal.c:953,1
    - Dst: ct_ulong_select
      Src: /src/libgcrypt/cipher/elgamal.c:954,1
    - Dst: ct_is_zero
      Src: /src/libgcrypt/cipher/elgamal.c:955,1
    - Dst: ct_is_not_zero
      Src: /src/libgcrypt/cipher/elgamal.c:955,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/elgamal.c:961,1
    - Dst: xfree
      Src: /src/libgcrypt/cipher/elgamal.c:970,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:971,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:972,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:973,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:974,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:975,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:976,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:977,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/elgamal.c:978,1
    - Dst: _gcry_pk_util_free_encoding_ctx
      Src: /src/libgcrypt/cipher/elgamal.c:979,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/elgamal.c:981,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/elgamal.c:981,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 74
    argCount: 3
    argNames:
    - r_plain
    - s_data
    - keyparms
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 873
    functionDepth: 3
    functionLinenumber: 873
    functionLinenumberEnd: 983
    functionName: elg_decrypt
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 0
    functionsReached:
    - _gcry_rsa_oaep_decode
    - mpi_free
    - ct_ulong_select
    - sexp_build
    - sexp_release
    - _gcry_pk_util_preparse_encval
    - _gcry_rsa_pkcs1_decode_for_enc
    - ct_is_zero
    - log_printmpi
    - elg_get_nbits
    - ct_is_not_zero
    - log_debug
    - _gcry_pk_util_free_encoding_ctx
    - fips_mode
    - mpi_snew
    - xfree
    - gpg_strerror
    - _gcry_pk_util_init_encoding_ctx
    - sexp_null_cond
    - _gcry_mpi_release
    - decrypt
    - sexp_extract_param
    - mpi_is_opaque
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t elg_decrypt (gcry_sexp_t *r_plain, gcry_sexp_t s_data,
      gcry_sexp_t keyparms)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_pk_util_init_encoding_ctx
      Src: /src/libgcrypt/cipher/elgamal.c:996,1
    - Dst: elg_get_nbits
      Src: /src/libgcrypt/cipher/elgamal.c:997,1
    - Dst: _gcry_pk_util_data_to_mpi
      Src: /src/libgcrypt/cipher/elgamal.c:1000,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:1004,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/elgamal.c:1005,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/elgamal.c:1012,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:1018,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:1019,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:1020,1
    - Dst: fips_mode
      Src: /src/libgcrypt/cipher/elgamal.c:1021,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:1022,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/elgamal.c:1025,1
    - Dst: mpi_new
      Src: /src/libgcrypt/cipher/elgamal.c:1026,1
    - Dst: sign
      Src: /src/libgcrypt/cipher/elgamal.c:1027,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:1030,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:1031,1
    - Dst: sexp_build
      Src: /src/libgcrypt/cipher/elgamal.c:1033,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:1036,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:1037,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:1038,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:1039,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:1040,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:1041,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:1042,1
    - Dst: _gcry_pk_util_free_encoding_ctx
      Src: /src/libgcrypt/cipher/elgamal.c:1043,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/elgamal.c:1045,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/elgamal.c:1045,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 3
    argNames:
    - r_sig
    - s_data
    - keyparms
    argTypes:
    - gcry_sexp_t*
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 986
    functionDepth: 3
    functionLinenumber: 986
    functionLinenumberEnd: 1047
    functionName: elg_sign
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 0
    functionsReached:
    - log_mpidump
    - _gcry_mpi_release
    - _gcry_pk_util_data_to_mpi
    - sexp_build
    - _gcry_pk_util_free_encoding_ctx
    - sign
    - fips_mode
    - mpi_new
    - log_debug
    - elg_get_nbits
    - gpg_strerror
    - sexp_extract_param
    - mpi_is_opaque
    - _gcry_pk_util_init_encoding_ctx
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t elg_sign (gcry_sexp_t *r_sig, gcry_sexp_t s_data, gcry_sexp_t
      keyparms)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_pk_util_init_encoding_ctx
      Src: /src/libgcrypt/cipher/elgamal.c:1061,1
    - Dst: elg_get_nbits
      Src: /src/libgcrypt/cipher/elgamal.c:1062,1
    - Dst: _gcry_pk_util_data_to_mpi
      Src: /src/libgcrypt/cipher/elgamal.c:1065,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:1069,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/cipher/elgamal.c:1070,1
    - Dst: _gcry_pk_util_preparse_sigval
      Src: /src/libgcrypt/cipher/elgamal.c:1077,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/elgamal.c:1080,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:1085,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:1086,1
    - Dst: sexp_extract_param
      Src: /src/libgcrypt/cipher/elgamal.c:1090,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:1096,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:1097,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/cipher/elgamal.c:1098,1
    - Dst: verify
      Src: /src/libgcrypt/cipher/elgamal.c:1102,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:1106,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:1107,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:1108,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:1109,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:1110,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:1111,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/elgamal.c:1112,1
    - Dst: _gcry_pk_util_free_encoding_ctx
      Src: /src/libgcrypt/cipher/elgamal.c:1113,1
    - Dst: log_debug
      Src: /src/libgcrypt/cipher/elgamal.c:1115,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/cipher/elgamal.c:1115,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 3
    argNames:
    - s_sig
    - s_data
    - s_keyparms
    argTypes:
    - gcry_sexp_t
    - gcry_sexp_t
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1050
    functionDepth: 3
    functionLinenumber: 1050
    functionLinenumberEnd: 1117
    functionName: elg_verify
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 0
    functionsReached:
    - log_mpidump
    - _gcry_mpi_release
    - _gcry_pk_util_data_to_mpi
    - _gcry_pk_util_preparse_sigval
    - sexp_release
    - _gcry_pk_util_free_encoding_ctx
    - verify
    - log_debug
    - elg_get_nbits
    - gpg_strerror
    - sexp_extract_param
    - mpi_is_opaque
    - _gcry_pk_util_init_encoding_ctx
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t elg_verify (gcry_sexp_t s_sig, gcry_sexp_t s_data,
      gcry_sexp_t s_keyparms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sexp_find_token
      Src: /src/libgcrypt/cipher/elgamal.c:1138,1
    - Dst: sexp_nth_mpi
      Src: /src/libgcrypt/cipher/elgamal.c:1142,1
    - Dst: sexp_release
      Src: /src/libgcrypt/cipher/elgamal.c:1143,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/cipher/elgamal.c:1144,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/cipher/elgamal.c:1145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - parms
    argTypes:
    - gcry_sexp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1147
    functionName: elg_get_nbits
    functionSourceFile: /src/libgcrypt/cipher/elgamal.c
    functionUses: 4
    functionsReached:
    - _gcry_mpi_release
    - sexp_release
    - sexp_nth_mpi
    - sexp_find_token
    - mpi_get_nbits
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int elg_get_nbits (gcry_sexp_t parms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctz
      Src: /src/libgcrypt/cipher/tiger.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - context
    - variant
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 607
    functionName: do_init
    functionSourceFile: /src/libgcrypt/cipher/tiger.c
    functionUses: 0
    functionsReached:
    - _gcry_ctz
    linkageType: ''
    returnType: void
    signature: void do_init (void *context, int variant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_init
      Src: /src/libgcrypt/cipher/tiger.c:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 609
    functionDepth: 3
    functionLinenumber: 609
    functionLinenumberEnd: 615
    functionName: tiger_init
    functionSourceFile: /src/libgcrypt/cipher/tiger.c
    functionUses: 0
    functionsReached:
    - do_init
    linkageType: ''
    returnType: void
    signature: void tiger_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_init
      Src: /src/libgcrypt/cipher/tiger.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 617
    functionDepth: 3
    functionLinenumber: 617
    functionLinenumberEnd: 623
    functionName: tiger1_init
    functionSourceFile: /src/libgcrypt/cipher/tiger.c
    functionUses: 0
    functionsReached:
    - do_init
    linkageType: ''
    returnType: void
    signature: void tiger1_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_init
      Src: /src/libgcrypt/cipher/tiger.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - flags
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 625
    functionDepth: 3
    functionLinenumber: 625
    functionLinenumberEnd: 631
    functionName: tiger2_init
    functionSourceFile: /src/libgcrypt/cipher/tiger.c
    functionUses: 0
    functionsReached:
    - do_init
    linkageType: ''
    returnType: void
    signature: void tiger2_init (void *context, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - xa
    - ','
    - xb
    - ','
    - xc
    - ','
    - xx
    - ','
    - xmul
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 641
    functionName: tiger_round
    functionSourceFile: /src/libgcrypt/cipher/tiger.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tiger_round(xa, xb, xc, xx, xmul)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ya
    - ','
    - yb
    - ','
    - yc
    - ','
    - yx
    - ','
    - ymul
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 652
    functionName: pass
    functionSourceFile: /src/libgcrypt/cipher/tiger.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pass(ya, yb, yc, yx, ymul)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 671
    functionName: key_schedule
    functionSourceFile: /src/libgcrypt/cipher/tiger.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: key_schedule(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_le64
      Src: /src/libgcrypt/cipher/tiger.c:685,1
    - Dst: pass
      Src: /src/libgcrypt/cipher/tiger.c:692,1
    - Dst: key_schedule
      Src: /src/libgcrypt/cipher/tiger.c:693,1
    - Dst: pass
      Src: /src/libgcrypt/cipher/tiger.c:694,1
    - Dst: key_schedule
      Src: /src/libgcrypt/cipher/tiger.c:695,1
    - Dst: pass
      Src: /src/libgcrypt/cipher/tiger.c:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - void*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 708
    functionName: transform_blk
    functionSourceFile: /src/libgcrypt/cipher/tiger.c
    functionUses: 9
    functionsReached:
    - key_schedule
    - pass
    - buf_get_le64
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int transform_blk ( void *ctx, const unsigned char *data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transform_blk
      Src: /src/libgcrypt/cipher/tiger.c:718,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - c
    - data
    - nblks
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 724
    functionName: transform
    functionSourceFile: /src/libgcrypt/cipher/tiger.c
    functionUses: 17
    functionsReached:
    - transform_blk
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int transform ( void *c, const unsigned char *data, size_t
      nblks )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/cipher/tiger.c:762,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/tiger.c:765,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/tiger.c:766,1
    - Dst: transform
      Src: /src/libgcrypt/cipher/tiger.c:767,1
    - Dst: memset
      Src: /src/libgcrypt/cipher/tiger.c:773,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/tiger.c:776,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/cipher/tiger.c:777,1
    - Dst: transform
      Src: /src/libgcrypt/cipher/tiger.c:778,1
    - Dst: X
      Src: /src/libgcrypt/cipher/tiger.c:786,1
    - Dst: X
      Src: /src/libgcrypt/cipher/tiger.c:787,1
    - Dst: X
      Src: /src/libgcrypt/cipher/tiger.c:788,1
    - Dst: Y
      Src: /src/libgcrypt/cipher/tiger.c:792,1
    - Dst: Y
      Src: /src/libgcrypt/cipher/tiger.c:793,1
    - Dst: Y
      Src: /src/libgcrypt/cipher/tiger.c:794,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/cipher/tiger.c:801,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 802
    functionName: tiger_final
    functionSourceFile: /src/libgcrypt/cipher/tiger.c
    functionUses: 0
    functionsReached:
    - X
    - transform
    - _gcry_burn_stack
    - buf_put_le32
    - memset
    - Y
    linkageType: ''
    returnType: void
    signature: void tiger_final( void *context )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 783
    functionName: X
    functionSourceFile: /src/libgcrypt/cipher/tiger.c
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 784
    functionName: Y
    functionSourceFile: /src/libgcrypt/cipher/tiger.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Y(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 810
    functionName: tiger_read
    functionSourceFile: /src/libgcrypt/cipher/tiger.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      tiger_read( void *context )'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: jent_zalloc
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base-user.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: jent_zalloc(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:90,1
    - Dst: read_real_time
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - out
    argTypes:
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 116
    functionName: jent_get_nstime
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base-user.h
    functionUses: 0
    functionsReached:
    - read_real_time
    - clock_gettime
    linkageType: ''
    returnType: void
    signature: void jent_get_nstime(u64 *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wipememory
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:124,1
    - Dst: _gcry_free
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 8
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: jent_zfree
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base-user.h
    functionUses: 0
    functionsReached:
    - wipememory
    - _gcry_free
    linkageType: ''
    returnType: GPGRT_INLINE
    signature: GPGRT_INLINE jent_zfree (void *ptr, unsigned int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: jent_fips_enabled
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base-user.h
    functionUses: 0
    functionsReached:
    - fips_mode
    linkageType: ''
    returnType: GPGRT_INLINE
    signature: GPGRT_INLINE jent_fips_enabled(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wipememory
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: jent_memset_secure
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base-user.h
    functionUses: 0
    functionsReached:
    - wipememory
    linkageType: ''
    returnType: void
    signature: void jent_memset_secure(void *s, size_t n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:145,1
    - Dst: GetNativeSystemInfo
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:158,1
    - Dst: GetSystemInfo
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 170
    functionName: jent_ncpu
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base-user.h
    functionUses: 0
    functionsReached:
    - GetSystemInfo
    - GetNativeSystemInfo
    - sysconf
    linkageType: ''
    returnType: long
    signature: long jent_ncpu(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:180,1
    - Dst: sysconf
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:181,1
    - Dst: sysconf
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - l1
    - l2
    - l3
    argTypes:
    - long*
    - long*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: jent_get_cachesize
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base-user.h
    functionUses: 0
    functionsReached:
    - sysconf
    linkageType: ''
    returnType: void
    signature: void jent_get_cachesize(long *l1, long *l2, long *l3)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:204,1
    - Dst: snprintf
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:205,1
    - Dst: open
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:207,1
    - Dst: read
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:210,1
    - Dst: close
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:211,1
    - Dst: strncmp
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:214,1
    - Dst: strncmp
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:214,1
    - Dst: memset
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:218,1
    - Dst: snprintf
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:219,1
    - Dst: open
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:222,1
    - Dst: read
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:225,1
    - Dst: close
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:226,1
    - Dst: strstr
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:229,1
    - Dst: strstr
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:234,1
    - Dst: strtol
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:241,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 3
    argNames:
    - l1
    - l2
    - l3
    argTypes:
    - long*
    - long*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 256
    functionName: jent_get_cachesize
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base-user.h
    functionUses: 0
    functionsReached:
    - strtol
    - read
    - open
    - snprintf
    - close
    - strstr
    - memset
    - strncmp
    linkageType: ''
    returnType: void
    signature: void jent_get_cachesize(long *l1, long *l2, long *l3)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jent_get_cachesize
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 300
    functionName: jent_cache_size_roundup
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base-user.h
    functionUses: 0
    functionsReached:
    - jent_get_cachesize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t jent_cache_size_roundup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: jent_cache_size_roundup
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base-user.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t jent_cache_size_roundup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sched_yield
      Src: /src/libgcrypt/random/jitterentropy-base-user.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: jent_yield
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base-user.h
    functionUses: 0
    functionsReached:
    - sched_yield
    linkageType: ''
    returnType: void
    signature: void jent_yield(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jent_ncpu
      Src: /src/libgcrypt/random/jitterentropy-timer.c:34,1
    - Dst: calloc
      Src: /src/libgcrypt/random/jitterentropy-timer.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: jent_notime_init
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.c
    functionUses: 0
    functionsReached:
    - jent_ncpu
    - calloc
    linkageType: ''
    returnType: JENT_PRIVATE_STATIC
    signature: JENT_PRIVATE_STATIC jent_notime_init(void **ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libgcrypt/random/jitterentropy-timer.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: jent_notime_fini
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: JENT_PRIVATE_STATIC
    signature: JENT_PRIVATE_STATIC jent_notime_fini(void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_attr_init
      Src: /src/libgcrypt/random/jitterentropy-timer.c:70,1
    - Dst: pthread_create
      Src: /src/libgcrypt/random/jitterentropy-timer.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - (*start_routine) (void *)
    - arg
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: jent_notime_start
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.c
    functionUses: 0
    functionsReached:
    - pthread_create
    - pthread_attr_init
    linkageType: ''
    returnType: int
    signature: "int jent_notime_start(void *ctx,\n\t\t\t     void *(*start_routine)
      (void *), void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_join
      Src: /src/libgcrypt/random/jitterentropy-timer.c:83,1
    - Dst: pthread_attr_destroy
      Src: /src/libgcrypt/random/jitterentropy-timer.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: jent_notime_stop
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.c
    functionUses: 0
    functionsReached:
    - pthread_attr_destroy
    - pthread_join
    linkageType: ''
    returnType: void
    signature: void jent_notime_stop(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: jent_notime_block_switch
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jent_notime_block_switch(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: jent_notime_sample_timer
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *jent_notime_sample_timer(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jent_notime_start
      Src: /src/libgcrypt/random/jitterentropy-timer.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ec
    argTypes:
    - struct rand_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: jent_notime_settick
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.c
    functionUses: 0
    functionsReached:
    - jent_notime_start
    linkageType: ''
    returnType: int
    signature: int jent_notime_settick(struct rand_data *ec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jent_notime_stop
      Src: /src/libgcrypt/random/jitterentropy-timer.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ec
    argTypes:
    - struct rand_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: jent_notime_unsettick
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.c
    functionUses: 0
    functionsReached:
    - jent_notime_stop
    linkageType: ''
    returnType: void
    signature: void jent_notime_unsettick(struct rand_data *ec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jent_yield
      Src: /src/libgcrypt/random/jitterentropy-timer.c:177,1
    - Dst: jent_get_nstime
      Src: /src/libgcrypt/random/jitterentropy-timer.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ec
    - out
    argTypes:
    - struct rand_data*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 184
    functionName: jent_get_nstime_internal
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.c
    functionUses: 0
    functionsReached:
    - jent_yield
    - jent_get_nstime
    linkageType: ''
    returnType: void
    signature: void jent_get_nstime_internal(struct rand_data *ec, uint64_t *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jent_notime_init
      Src: /src/libgcrypt/random/jitterentropy-timer.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ec
    argTypes:
    - struct rand_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: jent_notime_enable_thread
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.c
    functionUses: 0
    functionsReached:
    - jent_notime_init
    linkageType: ''
    returnType: int
    signature: int jent_notime_enable_thread(struct rand_data *ec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jent_notime_fini
      Src: /src/libgcrypt/random/jitterentropy-timer.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ec
    argTypes:
    - struct rand_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: jent_notime_disable
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.c
    functionUses: 0
    functionsReached:
    - jent_notime_fini
    linkageType: ''
    returnType: void
    signature: void jent_notime_disable(struct rand_data *ec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jent_time_entropy_init
      Src: /src/libgcrypt/random/jitterentropy-timer.c:205,1
    - Dst: jent_notime_enable_thread
      Src: /src/libgcrypt/random/jitterentropy-timer.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ec
    - flags
    argTypes:
    - struct rand_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 214
    functionName: jent_notime_enable
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.c
    functionUses: 0
    functionsReached:
    - jent_time_entropy_init
    - jent_notime_enable_thread
    linkageType: ''
    returnType: int
    signature: int jent_notime_enable(struct rand_data *ec, unsigned int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - new_thread
    argTypes:
    - struct jent_notime_thread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: jent_notime_switch
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int jent_notime_switch(struct jent_notime_thread *new_thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: jent_notime_force
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jent_notime_force(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: jent_notime_forced
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int jent_notime_forced(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/libgcrypt/random/jitterentropy-health.c:74,1
    - Dst: ARRAY_SIZE
      Src: /src/libgcrypt/random/jitterentropy-health.c:77,1
    - Dst: ARRAY_SIZE
      Src: /src/libgcrypt/random/jitterentropy-health.c:82,1
    - Dst: ARRAY_SIZE
      Src: /src/libgcrypt/random/jitterentropy-health.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ec
    - osr
    argTypes:
    - struct rand_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 89
    functionName: jent_lag_init
    functionSourceFile: /src/libgcrypt/random/jitterentropy-health.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void jent_lag_init(struct rand_data *ec, unsigned int osr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ec
    argTypes:
    - struct rand_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: jent_lag_reset
    functionSourceFile: /src/libgcrypt/random/jitterentropy-health.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jent_lag_reset(struct rand_data *ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - EC
    - ','
    - LOC
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: JENT_LAG_HISTORY
    functionSourceFile: /src/libgcrypt/random/jitterentropy-health.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JENT_LAG_HISTORY(EC,LOC)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JENT_LAG_HISTORY
      Src: /src/libgcrypt/random/jitterentropy-health.c:142,1
    - Dst: JENT_LAG_HISTORY
      Src: /src/libgcrypt/random/jitterentropy-health.c:159,1
    - Dst: jent_lag_reset
      Src: /src/libgcrypt/random/jitterentropy-health.c:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ec
    - current_delta
    argTypes:
    - struct rand_data*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 193
    functionName: jent_lag_insert
    functionSourceFile: /src/libgcrypt/random/jitterentropy-health.c
    functionUses: 0
    functionsReached:
    - JENT_LAG_HISTORY
    - jent_lag_reset
    linkageType: ''
    returnType: void
    signature: void jent_lag_insert(struct rand_data *ec, uint64_t current_delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jent_delta
      Src: /src/libgcrypt/random/jitterentropy-health.c:198,1
    - Dst: JENT_LAG_HISTORY
      Src: /src/libgcrypt/random/jitterentropy-health.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ec
    - current_delta
    argTypes:
    - struct rand_data*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: jent_delta2
    functionSourceFile: /src/libgcrypt/random/jitterentropy-health.c
    functionUses: 0
    functionsReached:
    - JENT_LAG_HISTORY
    - jent_delta
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t jent_delta2(struct rand_data *ec, uint64_t current_delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jent_delta
      Src: /src/libgcrypt/random/jitterentropy-health.c:207,1
    - Dst: jent_delta
      Src: /src/libgcrypt/random/jitterentropy-health.c:207,1
    - Dst: JENT_LAG_HISTORY
      Src: /src/libgcrypt/random/jitterentropy-health.c:207,1
    - Dst: JENT_LAG_HISTORY
      Src: /src/libgcrypt/random/jitterentropy-health.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ec
    - delta2
    argTypes:
    - struct rand_data*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: jent_delta3
    functionSourceFile: /src/libgcrypt/random/jitterentropy-health.c
    functionUses: 0
    functionsReached:
    - JENT_LAG_HISTORY
    - jent_delta
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t jent_delta3(struct rand_data *ec, uint64_t delta2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ec
    - current_delta
    argTypes:
    - struct rand_data*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: jent_lag_insert
    functionSourceFile: /src/libgcrypt/random/jitterentropy-health.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jent_lag_insert(struct rand_data *ec, uint64_t current_delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jent_delta
      Src: /src/libgcrypt/random/jitterentropy-health.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ec
    - current_delta
    argTypes:
    - struct rand_data*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: jent_delta2
    functionSourceFile: /src/libgcrypt/random/jitterentropy-health.c
    functionUses: 0
    functionsReached:
    - jent_delta
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t jent_delta2(struct rand_data *ec, uint64_t current_delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jent_delta
      Src: /src/libgcrypt/random/jitterentropy-health.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ec
    - delta2
    argTypes:
    - struct rand_data*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: jent_delta3
    functionSourceFile: /src/libgcrypt/random/jitterentropy-health.c
    functionUses: 0
    functionsReached:
    - jent_delta
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t jent_delta3(struct rand_data *ec, uint64_t delta2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/libgcrypt/random/jitterentropy-health.c:266,1
    - Dst: ARRAY_SIZE
      Src: /src/libgcrypt/random/jitterentropy-health.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ec
    - osr
    argTypes:
    - struct rand_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: jent_apt_init
    functionSourceFile: /src/libgcrypt/random/jitterentropy-health.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void jent_apt_init(struct rand_data *ec, unsigned int osr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ec
    argTypes:
    - struct rand_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: jent_apt_reset
    functionSourceFile: /src/libgcrypt/random/jitterentropy-health.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jent_apt_reset(struct rand_data *ec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jent_apt_reset
      Src: /src/libgcrypt/random/jitterentropy-health.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ec
    - current_delta
    argTypes:
    - struct rand_data*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 321
    functionName: jent_apt_insert
    functionSourceFile: /src/libgcrypt/random/jitterentropy-health.c
    functionUses: 0
    functionsReached:
    - jent_apt_reset
    linkageType: ''
    returnType: void
    signature: void jent_apt_insert(struct rand_data *ec, uint64_t current_delta)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ec
    - stuck
    argTypes:
    - struct rand_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 379
    functionName: jent_rct_insert
    functionSourceFile: /src/libgcrypt/random/jitterentropy-health.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jent_rct_insert(struct rand_data *ec, int stuck)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jent_delta2
      Src: /src/libgcrypt/random/jitterentropy-health.c:398,1
    - Dst: jent_delta3
      Src: /src/libgcrypt/random/jitterentropy-health.c:399,1
    - Dst: jent_apt_insert
      Src: /src/libgcrypt/random/jitterentropy-health.c:405,1
    - Dst: jent_lag_insert
      Src: /src/libgcrypt/random/jitterentropy-health.c:406,1
    - Dst: jent_rct_insert
      Src: /src/libgcrypt/random/jitterentropy-health.c:410,1
    - Dst: jent_rct_insert
      Src: /src/libgcrypt/random/jitterentropy-health.c:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ec
    - current_delta
    argTypes:
    - struct rand_data*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 418
    functionName: jent_stuck
    functionSourceFile: /src/libgcrypt/random/jitterentropy-health.c
    functionUses: 0
    functionsReached:
    - jent_rct_insert
    - jent_delta2
    - jent_lag_insert
    - jent_delta3
    - jent_apt_insert
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int jent_stuck(struct rand_data *ec, uint64_t current_delta)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ec
    argTypes:
    - struct rand_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 438
    functionName: jent_health_failure
    functionSourceFile: /src/libgcrypt/random/jitterentropy-health.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int jent_health_failure(struct rand_data *ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: JENT_FLAGS_TO_MAX_MEMSIZE
    functionSourceFile: /src/libgcrypt/random/jitterentropy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JENT_FLAGS_TO_MAX_MEMSIZE(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: JENT_MAX_MEMSIZE_TO_FLAGS
    functionSourceFile: /src/libgcrypt/random/jitterentropy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JENT_MAX_MEMSIZE_TO_FLAGS(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: ARRAY_SIZE
    functionSourceFile: /src/libgcrypt/random/jitterentropy.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_SIZE(x)
  - 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: JENT_STUCK_INIT_THRES
    functionSourceFile: /src/libgcrypt/random/jitterentropy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JENT_STUCK_INIT_THRES(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: jent_notime_init
    functionSourceFile: /src/libgcrypt/random/jitterentropy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int jent_notime_init(void **ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: jent_notime_fini
    functionSourceFile: /src/libgcrypt/random/jitterentropy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jent_notime_fini(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - buflen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: getentropy
    functionSourceFile: /src/libgcrypt/random/rndoldlinux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: getentropy(buf,buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/libgcrypt/random/rndoldlinux.c:62,1
    - Dst: fcntl
      Src: /src/libgcrypt/random/rndoldlinux.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: set_cloexec_flag
    functionSourceFile: /src/libgcrypt/random/rndoldlinux.c
    functionUses: 0
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: int
    signature: int set_cloexec_flag (int fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_random_progress
      Src: /src/libgcrypt/random/rndoldlinux.c:82,1
    - Dst: open
      Src: /src/libgcrypt/random/rndoldlinux.c:84,1
    - Dst: _gcry_random_progress
      Src: /src/libgcrypt/random/rndoldlinux.c:87,1
    - Dst: poll
      Src: /src/libgcrypt/random/rndoldlinux.c:88,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/rndoldlinux.c:92,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndoldlinux.c:92,1
    - Dst: set_cloexec_flag
      Src: /src/libgcrypt/random/rndoldlinux.c:94,1
    - Dst: log_error
      Src: /src/libgcrypt/random/rndoldlinux.c:95,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndoldlinux.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - name
    - retry
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 110
    functionName: open_device
    functionSourceFile: /src/libgcrypt/random/rndoldlinux.c
    functionUses: 0
    functionsReached:
    - open
    - log_error
    - log_fatal
    - _gcry_random_progress
    - poll
    - strerror
    - set_cloexec_flag
    linkageType: ''
    returnType: int
    signature: int open_device (const char *name, int retry)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/libgcrypt/random/rndoldlinux.c:146,1
    - Dst: _gcry_random_read_conf
      Src: /src/libgcrypt/random/rndoldlinux.c:147,1
    - Dst: close
      Src: /src/libgcrypt/random/rndoldlinux.c:158,1
    - Dst: close
      Src: /src/libgcrypt/random/rndoldlinux.c:163,1
    - Dst: _gcry_rndjent_fini
      Src: /src/libgcrypt/random/rndoldlinux.c:167,1
    - Dst: getpid
      Src: /src/libgcrypt/random/rndoldlinux.c:174,1
    - Dst: close
      Src: /src/libgcrypt/random/rndoldlinux.c:179,1
    - Dst: close
      Src: /src/libgcrypt/random/rndoldlinux.c:184,1
    - Dst: _gcry_rndhw_poll_slow
      Src: /src/libgcrypt/random/rndoldlinux.c:194,1
    - Dst: _gcry_rndjent_poll
      Src: /src/libgcrypt/random/rndoldlinux.c:203,1
    - Dst: open_device
      Src: /src/libgcrypt/random/rndoldlinux.c:222,1
    - Dst: open_device
      Src: /src/libgcrypt/random/rndoldlinux.c:231,1
    - Dst: _gcry_pre_syscall
      Src: /src/libgcrypt/random/rndoldlinux.c:267,1
    - Dst: getentropy
      Src: /src/libgcrypt/random/rndoldlinux.c:268,1
    - Dst: _gcry_post_syscall
      Src: /src/libgcrypt/random/rndoldlinux.c:269,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/rndoldlinux.c:277,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndoldlinux.c:278,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/rndoldlinux.c:281,1
    - Dst: _gcry_random_progress
      Src: /src/libgcrypt/random/rndoldlinux.c:299,1
    - Dst: _gcry_pre_syscall
      Src: /src/libgcrypt/random/rndoldlinux.c:307,1
    - Dst: poll
      Src: /src/libgcrypt/random/rndoldlinux.c:308,1
    - Dst: _gcry_post_syscall
      Src: /src/libgcrypt/random/rndoldlinux.c:309,1
    - Dst: log_error
      Src: /src/libgcrypt/random/rndoldlinux.c:318,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndoldlinux.c:318,1
    - Dst: read
      Src: /src/libgcrypt/random/rndoldlinux.c:330,1
    - Dst: log_error
      Src: /src/libgcrypt/random/rndoldlinux.c:333,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/rndoldlinux.c:339,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndoldlinux.c:339,1
    - Dst: wipememory
      Src: /src/libgcrypt/random/rndoldlinux.c:343,1
    - Dst: _gcry_random_progress
      Src: /src/libgcrypt/random/rndoldlinux.c:346,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 113
    argCount: 3
    argNames:
    - origin
    - length
    - level
    argTypes:
    - enum random_origins
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 349
    functionName: _gcry_rndoldlinux_gather_random
    functionSourceFile: /src/libgcrypt/random/rndoldlinux.c
    functionUses: 0
    functionsReached:
    - _gcry_rndjent_poll
    - _gcry_post_syscall
    - _gcry_rndjent_fini
    - log_error
    - read
    - _gcry_random_read_conf
    - close
    - open_device
    - log_fatal
    - _gcry_random_progress
    - _gcry_rndhw_poll_slow
    - _gcry_pre_syscall
    - wipememory
    - getentropy
    - poll
    - getpid
    - strerror
    linkageType: ''
    returnType: int
    signature: "int _gcry_rndoldlinux_gather_random (void (*add)(const void*, size_t,\n
      \                                            enum random_origins),\n                                 enum
      random_origins origin,\n                                 size_t length, int
      level )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cb_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: _gcry_register_random_progress
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gcry_register_random_progress (void (*cb)(void *,const char*,int,int,int),\n
      \                               void *cb_data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: progress_cb
      Src: /src/libgcrypt/random/random.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - what
    - printchar
    - current
    - total
    argTypes:
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: _gcry_random_progress
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 2
    functionsReached:
    - progress_cb
    linkageType: ''
    returnType: void
    signature: void _gcry_random_progress (const char *what, int printchar, int current,
      int total)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_sysconfdir
      Src: /src/libgcrypt/random/random.c:100,1
    - Dst: xmalloc
      Src: /src/libgcrypt/random/random.c:102,1
    - Dst: strlen
      Src: /src/libgcrypt/random/random.c:102,1
    - Dst: strlen
      Src: /src/libgcrypt/random/random.c:102,1
    - Dst: strcpy
      Src: /src/libgcrypt/random/random.c:103,1
    - Dst: strcat
      Src: /src/libgcrypt/random/random.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 110
    functionName: get_random_conf_file
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 0
    functionsReached:
    - strlen
    - xmalloc
    - strcpy
    - _gcry_get_sysconfdir
    - strcat
    linkageType: ''
    returnType: char
    signature: 'char *

      get_random_conf_file (void)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_random_conf_file
      Src: /src/libgcrypt/random/random.c:126,1
    - Dst: fopen
      Src: /src/libgcrypt/random/random.c:133,1
    - Dst: fgets
      Src: /src/libgcrypt/random/random.c:139,1
    - Dst: feof
      Src: /src/libgcrypt/random/random.c:141,1
    - Dst: syslog
      Src: /src/libgcrypt/random/random.c:144,1
    - Dst: fclose
      Src: /src/libgcrypt/random/random.c:149,1
    - Dst: my_isascii
      Src: /src/libgcrypt/random/random.c:153,1
    - Dst: isspace
      Src: /src/libgcrypt/random/random.c:153,1
    - Dst: strchr
      Src: /src/libgcrypt/random/random.c:155,1
    - Dst: strlen
      Src: /src/libgcrypt/random/random.c:158,1
    - Dst: my_isascii
      Src: /src/libgcrypt/random/random.c:160,1
    - Dst: isspace
      Src: /src/libgcrypt/random/random.c:160,1
    - Dst: strcmp
      Src: /src/libgcrypt/random/random.c:165,1
    - Dst: strcmp
      Src: /src/libgcrypt/random/random.c:167,1
    - Dst: syslog
      Src: /src/libgcrypt/random/random.c:172,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 178
    functionName: _gcry_random_read_conf
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 1
    functionsReached:
    - my_isascii
    - strlen
    - fclose
    - get_random_conf_file
    - strcmp
    - feof
    - strchr
    - fopen
    - isspace
    - fgets
    - syslog
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_random_read_conf (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 228
    functionName: _gcry_set_preferred_rng_type
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_set_preferred_rng_type (int type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/random/random.c:239,1
    - Dst: _gcry_rngdrbg_inititialize
      Src: /src/libgcrypt/random/random.c:240,1
    - Dst: _gcry_rngcsprng_initialize
      Src: /src/libgcrypt/random/random.c:242,1
    - Dst: _gcry_rngdrbg_inititialize
      Src: /src/libgcrypt/random/random.c:244,1
    - Dst: _gcry_rngsystem_initialize
      Src: /src/libgcrypt/random/random.c:246,1
    - Dst: _gcry_rngcsprng_initialize
      Src: /src/libgcrypt/random/random.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - full
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: _gcry_random_initialize
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 2
    functionsReached:
    - _gcry_rngdrbg_inititialize
    - _gcry_rngcsprng_initialize
    - _gcry_rngsystem_initialize
    - fips_mode
    linkageType: ''
    returnType: void
    signature: void _gcry_random_initialize (int full)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/random/random.c:260,1
    - Dst: _gcry_rngdrbg_close_fds
      Src: /src/libgcrypt/random/random.c:261,1
    - Dst: _gcry_rngcsprng_close_fds
      Src: /src/libgcrypt/random/random.c:263,1
    - Dst: _gcry_rngdrbg_close_fds
      Src: /src/libgcrypt/random/random.c:265,1
    - Dst: _gcry_rngsystem_close_fds
      Src: /src/libgcrypt/random/random.c:267,1
    - Dst: _gcry_rngcsprng_close_fds
      Src: /src/libgcrypt/random/random.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 270
    functionName: _gcry_random_close_fds
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 4
    functionsReached:
    - _gcry_rngcsprng_close_fds
    - _gcry_rngdrbg_close_fds
    - _gcry_rngsystem_close_fds
    - fips_mode
    linkageType: ''
    returnType: void
    signature: void _gcry_random_close_fds (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/random/random.c:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ignore_fips_mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 292
    functionName: _gcry_get_rng_type
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 2
    functionsReached:
    - fips_mode
    linkageType: ''
    returnType: int
    signature: int _gcry_get_rng_type (int ignore_fips_mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/random/random.c:298,1
    - Dst: _gcry_rngdrbg_dump_stats
      Src: /src/libgcrypt/random/random.c:299,1
    - Dst: _gcry_rngcsprng_dump_stats
      Src: /src/libgcrypt/random/random.c:301,1
    - Dst: _gcry_rndjent_dump_stats
      Src: /src/libgcrypt/random/random.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 303
    functionName: _gcry_random_dump_stats
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 2
    functionsReached:
    - _gcry_rndjent_dump_stats
    - _gcry_rngcsprng_dump_stats
    - _gcry_rngdrbg_dump_stats
    - fips_mode
    linkageType: ''
    returnType: void
    signature: void _gcry_random_dump_stats (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/random/random.c:312,1
    - Dst: _gcry_rngcsprng_secure_alloc
      Src: /src/libgcrypt/random/random.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 316
    functionName: _gcry_secure_random_alloc
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 2
    functionsReached:
    - _gcry_rngcsprng_secure_alloc
    - fips_mode
    linkageType: ''
    returnType: void
    signature: void _gcry_secure_random_alloc (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/random/random.c:324,1
    - Dst: _gcry_rngcsprng_enable_quick_gen
      Src: /src/libgcrypt/random/random.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 328
    functionName: _gcry_enable_quick_random_gen
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 2
    functionsReached:
    - _gcry_rngcsprng_enable_quick_gen
    - fips_mode
    linkageType: ''
    returnType: void
    signature: void _gcry_enable_quick_random_gen (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/random/random.c:336,1
    - Dst: _gcry_rngdrbg_is_faked
      Src: /src/libgcrypt/random/random.c:337,1
    - Dst: _gcry_rngcsprng_is_faked
      Src: /src/libgcrypt/random/random.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: _gcry_random_is_faked
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 2
    functionsReached:
    - _gcry_rngcsprng_is_faked
    - fips_mode
    - _gcry_rngdrbg_is_faked
    linkageType: ''
    returnType: int
    signature: int _gcry_random_is_faked (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/random/random.c:349,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/random/random.c:352,1
    - Dst: _gcry_rngcsprng_add_bytes
      Src: /src/libgcrypt/random/random.c:352,1
    - Dst: gpg_err_code
      Src: /src/libgcrypt/random/random.c:358,1
    - Dst: _gcry_rngcsprng_add_bytes
      Src: /src/libgcrypt/random/random.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - buflen
    - quality
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 359
    functionName: _gcry_random_add_bytes
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 1
    functionsReached:
    - _gcry_rngcsprng_add_bytes
    - gpg_err_code
    - fips_mode
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_random_add_bytes (const void *buf, size_t buflen,
      int quality)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/random/random.c:366,1
    - Dst: _gcry_rngdrbg_randomize
      Src: /src/libgcrypt/random/random.c:367,1
    - Dst: _gcry_rngcsprng_randomize
      Src: /src/libgcrypt/random/random.c:369,1
    - Dst: _gcry_rngdrbg_randomize
      Src: /src/libgcrypt/random/random.c:371,1
    - Dst: _gcry_rngsystem_randomize
      Src: /src/libgcrypt/random/random.c:373,1
    - Dst: _gcry_rngcsprng_randomize
      Src: /src/libgcrypt/random/random.c:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - buffer
    - length
    - level
    argTypes:
    - void*
    - size_t
    - enum gcry_random_level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 376
    functionName: do_randomize
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 0
    functionsReached:
    - _gcry_rngsystem_randomize
    - _gcry_rngdrbg_randomize
    - _gcry_rngcsprng_randomize
    - fips_mode
    linkageType: ''
    returnType: void
    signature: void do_randomize (void *buffer, size_t length, enum gcry_random_level
      level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/random/random.c:386,1
    - Dst: do_randomize
      Src: /src/libgcrypt/random/random.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - nbytes
    - level
    argTypes:
    - size_t
    - enum gcry_random_level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 389
    functionName: _gcry_random_bytes
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 2
    functionsReached:
    - xmalloc
    - do_randomize
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_random_bytes (size_t nbytes, enum gcry_random_level level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_secure
      Src: /src/libgcrypt/random/random.c:403,1
    - Dst: do_randomize
      Src: /src/libgcrypt/random/random.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - nbytes
    - level
    argTypes:
    - size_t
    - enum gcry_random_level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 406
    functionName: _gcry_random_bytes_secure
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 8
    functionsReached:
    - do_randomize
    - xmalloc_secure
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_random_bytes_secure (size_t nbytes, enum gcry_random_level level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_randomize
      Src: /src/libgcrypt/random/random.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - length
    - level
    argTypes:
    - void*
    - size_t
    - enum gcry_random_level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: _gcry_randomize
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 12
    functionsReached:
    - do_randomize
    linkageType: ''
    returnType: void
    signature: void _gcry_randomize (void *buffer, size_t length, enum gcry_random_level
      level)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/random/random.c:427,1
    - Dst: _gcry_rngcsprng_set_seed_file
      Src: /src/libgcrypt/random/random.c:430,1
    - Dst: _gcry_rngcsprng_set_seed_file
      Src: /src/libgcrypt/random/random.c:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 437
    functionName: _gcry_set_random_seed_file
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 0
    functionsReached:
    - _gcry_rngcsprng_set_seed_file
    - fips_mode
    linkageType: ''
    returnType: void
    signature: void _gcry_set_random_seed_file (const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/random/random.c:445,1
    - Dst: _gcry_rngcsprng_update_seed_file
      Src: /src/libgcrypt/random/random.c:448,1
    - Dst: _gcry_rngcsprng_update_seed_file
      Src: /src/libgcrypt/random/random.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 455
    functionName: _gcry_update_random_seed_file
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 2
    functionsReached:
    - _gcry_rngcsprng_update_seed_file
    - fips_mode
    linkageType: ''
    returnType: void
    signature: void _gcry_update_random_seed_file (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/random/random.c:469,1
    - Dst: _gcry_rngcsprng_fast_poll
      Src: /src/libgcrypt/random/random.c:472,1
    - Dst: _gcry_rngcsprng_fast_poll
      Src: /src/libgcrypt/random/random.c:478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 479
    functionName: _gcry_fast_random_poll
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 4
    functionsReached:
    - _gcry_rngcsprng_fast_poll
    - fips_mode
    linkageType: ''
    returnType: void
    signature: void _gcry_fast_random_poll (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/random/random.c:501,1
    - Dst: _gcry_rngdrbg_randomize
      Src: /src/libgcrypt/random/random.c:503,1
    - Dst: _gcry_random_initialize
      Src: /src/libgcrypt/random/random.c:513,1
    - Dst: gpgrt_lock_lock
      Src: /src/libgcrypt/random/random.c:516,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/random.c:518,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/random/random.c:519,1
    - Dst: getpid
      Src: /src/libgcrypt/random/random.c:521,1
    - Dst: time
      Src: /src/libgcrypt/random/random.c:525,1
    - Dst: BUG
      Src: /src/libgcrypt/random/random.c:531,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/random.c:537,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/random.c:539,1
    - Dst: _gcry_randomize
      Src: /src/libgcrypt/random/random.c:542,1
    - Dst: do_randomize
      Src: /src/libgcrypt/random/random.c:550,1
    - Dst: _gcry_sha1_hash_buffer
      Src: /src/libgcrypt/random/random.c:560,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/random.c:563,1
    - Dst: gpgrt_lock_unlock
      Src: /src/libgcrypt/random/random.c:567,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/random.c:569,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/random/random.c:570,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 484
    functionDepth: 4
    functionLinenumber: 484
    functionLinenumberEnd: 571
    functionName: _gcry_create_nonce
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 3
    functionsReached:
    - time
    - do_randomize
    - gpgrt_lock_unlock
    - _gcry_random_initialize
    - log_fatal
    - _gcry_sha1_hash_buffer
    - fips_mode
    - BUG
    - gpg_strerror
    - _gcry_randomize
    - getpid
    - _gcry_rngdrbg_randomize
    - memcpy
    - gpgrt_lock_lock
    linkageType: ''
    returnType: void
    signature: void _gcry_create_nonce (void *buffer, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/random/random.c:579,1
    - Dst: _gcry_rngdrbg_selftest
      Src: /src/libgcrypt/random/random.c:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - report
    argTypes:
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 583
    functionName: _gcry_random_selftest
    functionSourceFile: /src/libgcrypt/random/random.c
    functionUses: 1
    functionsReached:
    - _gcry_rngdrbg_selftest
    - fips_mode
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _gcry_random_selftest (selftest_report_func_t report)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: ptr_to_le32
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ptr_to_le32(const uint8_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_to_le32
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:39,1
    - Dst: ptr_to_le32
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: ptr_to_le64
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.c
    functionUses: 0
    functionsReached:
    - ptr_to_le32
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ptr_to_le64(const uint8_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - value
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: le32_to_ptr
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void le32_to_ptr(uint8_t *p, const uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: le32_to_ptr
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:52,1
    - Dst: le32_to_ptr
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - value
    argTypes:
    - uint8_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: le64_to_ptr
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.c
    functionUses: 0
    functionsReached:
    - le32_to_ptr
    linkageType: ''
    returnType: void
    signature: void le64_to_ptr(uint8_t *p, const uint64_t 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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: A
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.c
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: A(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:65,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:65,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:65,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:65,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:65,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:66,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:66,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:66,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:66,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:66,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:67,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:67,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:67,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:67,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:67,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:68,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:68,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:68,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:68,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:68,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:69,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:69,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:69,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:69,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:69,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:72,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:73,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:74,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:75,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:76,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:79,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:80,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:81,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:82,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:83,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:85,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:86,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:87,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:88,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:89,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:91,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:92,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:93,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:94,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:95,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:97,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:98,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:99,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:100,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:101,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:103,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:104,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:105,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:106,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint64_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 108
    functionName: keccakp_theta
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.c
    functionUses: 0
    functionsReached:
    - A
    - rol64
    linkageType: ''
    returnType: void
    signature: void keccakp_theta(uint64_t s[25])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:117,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:117,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:117,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:117,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:118,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:118,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:118,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:118,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:119,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:119,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:119,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:119,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:120,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:120,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:120,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:120,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:121,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:121,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:121,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:121,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:122,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:122,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:122,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:122,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:123,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:123,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:123,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:123,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:124,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:124,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:124,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:124,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:125,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:125,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:125,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:125,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:126,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:126,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:126,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:126,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:127,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:127,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:127,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:127,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:128,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:128,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:128,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:128,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:129,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:129,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:129,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:129,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:130,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:130,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:130,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:130,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:131,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:131,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:131,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:131,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:132,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:132,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:132,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:132,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:133,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:133,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:133,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:133,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:134,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:134,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:134,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:134,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:135,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:135,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:135,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:135,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:136,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:136,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:136,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:136,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:137,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:137,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:137,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:137,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:138,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:138,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:138,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:138,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:139,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:139,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:139,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:139,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:140,1
    - Dst: rol64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:140,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:140,1
    - Dst: RHO_ROL
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint64_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 141
    functionName: keccakp_rho
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.c
    functionUses: 0
    functionsReached:
    - A
    - rol64
    - RHO_ROL
    linkageType: ''
    returnType: void
    signature: void keccakp_rho(uint64_t s[25])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: RHO_ROL
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RHO_ROL(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:145,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:149,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:149,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:150,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:150,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:151,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:151,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:152,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:152,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:153,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:153,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:154,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:154,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:155,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:155,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:156,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:156,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:157,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:157,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:158,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:158,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:159,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:159,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:160,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:160,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:161,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:161,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:162,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:162,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:163,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:163,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:164,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:164,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:165,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:165,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:166,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:166,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:167,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:167,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:168,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:168,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:169,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:169,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:170,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:170,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:171,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:171,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint64_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 173
    functionName: keccakp_pi
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.c
    functionUses: 0
    functionsReached:
    - A
    linkageType: ''
    returnType: void
    signature: void keccakp_pi(uint64_t s[25])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:179,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:180,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:181,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:182,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:183,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:185,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:186,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:187,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:188,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:189,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:191,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:191,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:191,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:192,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:192,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:192,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:193,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:193,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:193,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:194,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:194,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:194,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:195,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:195,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:195,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:197,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:197,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:197,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:198,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:198,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:198,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:199,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:199,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:199,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:200,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:200,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:200,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:201,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:201,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:201,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:203,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:203,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:203,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:204,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:204,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:204,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:205,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:205,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:205,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:206,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:206,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:206,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:207,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:207,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:207,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:209,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:209,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:210,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:210,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:211,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:211,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:212,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:212,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:213,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:213,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:215,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:216,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:217,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:218,1
    - Dst: A
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint64_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 220
    functionName: keccakp_chi
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.c
    functionUses: 0
    functionsReached:
    - A
    linkageType: ''
    returnType: void
    signature: void keccakp_chi(uint64_t s[25])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - round
    argTypes:
    - uint64_t[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: keccakp_iota
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void keccakp_iota(uint64_t s[25], unsigned int round)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keccakp_theta
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:243,1
    - Dst: keccakp_rho
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:244,1
    - Dst: keccakp_pi
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:245,1
    - Dst: keccakp_chi
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:246,1
    - Dst: keccakp_iota
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint64_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 249
    functionName: keccakp_1600
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.c
    functionUses: 0
    functionsReached:
    - keccakp_pi
    - keccakp_chi
    - keccakp_theta
    - keccakp_iota
    - keccakp_rho
    linkageType: ''
    returnType: void
    signature: void keccakp_1600(uint64_t s[25])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct sha_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: sha3_init
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sha3_init(struct sha_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha3_init
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct sha_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: sha3_256_init
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.c
    functionUses: 0
    functionsReached:
    - sha3_init
    linkageType: ''
    returnType: void
    signature: void sha3_256_init(struct sha_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptr_to_le64
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - in
    argTypes:
    - struct sha_ctx*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: sha3_fill_state
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.c
    functionUses: 0
    functionsReached:
    - ptr_to_le64
    linkageType: ''
    returnType: void
    signature: void sha3_fill_state(struct sha_ctx *ctx, const uint8_t *in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:297,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:305,1
    - Dst: sha3_fill_state
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:309,1
    - Dst: keccakp_1600
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:310,1
    - Dst: sha3_fill_state
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:315,1
    - Dst: keccakp_1600
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:316,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - in
    - inlen
    argTypes:
    - struct sha_ctx*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 321
    functionName: sha3_update
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.c
    functionUses: 0
    functionsReached:
    - keccakp_1600
    - memcpy
    - sha3_fill_state
    linkageType: ''
    returnType: void
    signature: void sha3_update(struct sha_ctx *ctx, const uint8_t *in, size_t inlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:331,1
    - Dst: sha3_fill_state
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:341,1
    - Dst: keccakp_1600
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:342,1
    - Dst: le64_to_ptr
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:349,1
    - Dst: le32_to_ptr
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:353,1
    - Dst: memset
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:355,1
    - Dst: sha3_init
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct sha_ctx*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 357
    functionName: sha3_final
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.c
    functionUses: 0
    functionsReached:
    - keccakp_1600
    - le64_to_ptr
    - sha3_fill_state
    - sha3_init
    - memset
    - le32_to_ptr
    linkageType: ''
    returnType: void
    signature: void sha3_final(struct sha_ctx *ctx, uint8_t *digest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_CTX_ON_STACK
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:361,1
    - Dst: sha3_256_init
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:372,1
    - Dst: sha3_update
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:373,1
    - Dst: sha3_final
      Src: /src/libgcrypt/random/jitterentropy-sha3.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 359
    functionDepth: 4
    functionLinenumber: 359
    functionLinenumberEnd: 382
    functionName: sha3_tester
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.c
    functionUses: 0
    functionsReached:
    - HASH_CTX_ON_STACK
    - sha3_256_init
    - sha3_update
    - sha3_final
    linkageType: ''
    returnType: int
    signature: int sha3_tester(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prev
    - next
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: jent_delta
    functionSourceFile: /src/libgcrypt/random/jitterentropy-health.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t jent_delta(uint64_t prev, uint64_t next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ec
    - osr
    argTypes:
    - struct rand_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: jent_lag_init
    functionSourceFile: /src/libgcrypt/random/jitterentropy-health.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jent_lag_init(struct rand_data *ec, unsigned int osr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: jent_gcd_tested
    functionSourceFile: /src/libgcrypt/random/jitterentropy-gcd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int jent_gcd_tested(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 54
    functionName: jent_gcd64
    functionSourceFile: /src/libgcrypt/random/jitterentropy-gcd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t jent_gcd64(uint64_t a, uint64_t b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jent_gcd64
      Src: /src/libgcrypt/random/jitterentropy-gcd.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - delta_history
    - nelem
    - running_gcd_out
    - delta_sum_out
    argTypes:
    - uint64_t*
    - size_t
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 96
    functionName: jent_gcd_analyze_internal
    functionSourceFile: /src/libgcrypt/random/jitterentropy-gcd.c
    functionUses: 0
    functionsReached:
    - jent_gcd64
    linkageType: ''
    returnType: int
    signature: "int jent_gcd_analyze_internal(uint64_t *delta_history, size_t nelem,\n\t\t\t\t
      \    uint64_t *running_gcd_out,\n\t\t\t\t     uint64_t *delta_sum_out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jent_gcd_analyze_internal
      Src: /src/libgcrypt/random/jitterentropy-gcd.c:101,1
    - Dst: jent_gcd_tested
      Src: /src/libgcrypt/random/jitterentropy-gcd.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - delta_history
    - nelem
    argTypes:
    - uint64_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 132
    functionName: jent_gcd_analyze
    functionSourceFile: /src/libgcrypt/random/jitterentropy-gcd.c
    functionUses: 0
    functionsReached:
    - jent_gcd_tested
    - jent_gcd_analyze_internal
    linkageType: ''
    returnType: int
    signature: int jent_gcd_analyze(uint64_t *delta_history, size_t nelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jent_zalloc
      Src: /src/libgcrypt/random/jitterentropy-gcd.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - nelem
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: jent_gcd_init
    functionSourceFile: /src/libgcrypt/random/jitterentropy-gcd.c
    functionUses: 0
    functionsReached:
    - jent_zalloc
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t *jent_gcd_init(size_t nelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jent_zfree
      Src: /src/libgcrypt/random/jitterentropy-gcd.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - delta_history
    - nelem
    argTypes:
    - uint64_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 9
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: jent_gcd_fini
    functionSourceFile: /src/libgcrypt/random/jitterentropy-gcd.c
    functionUses: 0
    functionsReached:
    - jent_zfree
    linkageType: ''
    returnType: void
    signature: void jent_gcd_fini(uint64_t *delta_history, size_t nelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jent_gcd_tested
      Src: /src/libgcrypt/random/jitterentropy-gcd.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: jent_gcd_get
    functionSourceFile: /src/libgcrypt/random/jitterentropy-gcd.c
    functionUses: 0
    functionsReached:
    - jent_gcd_tested
    linkageType: ''
    returnType: int
    signature: int jent_gcd_get(uint64_t *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jent_gcd_init
      Src: /src/libgcrypt/random/jitterentropy-gcd.c:165,1
    - Dst: jent_gcd_add_value
      Src: /src/libgcrypt/random/jitterentropy-gcd.c:174,1
    - Dst: jent_gcd_analyze_internal
      Src: /src/libgcrypt/random/jitterentropy-gcd.c:176,1
    - Dst: jent_gcd_fini
      Src: /src/libgcrypt/random/jitterentropy-gcd.c:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 161
    functionDepth: 10
    functionLinenumber: 161
    functionLinenumberEnd: 188
    functionName: jent_gcd_selftest
    functionSourceFile: /src/libgcrypt/random/jitterentropy-gcd.c
    functionUses: 0
    functionsReached:
    - jent_gcd_init
    - jent_gcd_add_value
    - jent_gcd_fini
    - jent_gcd_analyze_internal
    linkageType: ''
    returnType: int
    signature: int jent_gcd_selftest(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aligned
      Src: /src/libgcrypt/random/rndhw.c:58,1
    - Dst: wipememory
      Src: /src/libgcrypt/random/rndhw.c:116,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - origin
    - fast
    argTypes:
    - enum random_origins
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 119
    functionName: poll_padlock
    functionSourceFile: /src/libgcrypt/random/rndhw.c
    functionUses: 0
    functionsReached:
    - aligned
    - wipememory
    linkageType: ''
    returnType: size_t
    signature: "size_t poll_padlock (void (*add)(const void*, size_t, enum random_origins),\n
      \             enum random_origins origin, int fast)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 144
    functionName: rdrand_long
    functionSourceFile: /src/libgcrypt/random/rndhw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rdrand_long (volatile unsigned long *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rdrand_long
      Src: /src/libgcrypt/random/rndhw.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - v
    - count
    argTypes:
    - unsigned long*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: rdrand_nlong
    functionSourceFile: /src/libgcrypt/random/rndhw.c
    functionUses: 0
    functionsReached:
    - rdrand_long
    linkageType: ''
    returnType: int
    signature: int rdrand_nlong (volatile unsigned long *v, int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aligned
      Src: /src/libgcrypt/random/rndhw.c:160,1
    - Dst: rdrand_nlong
      Src: /src/libgcrypt/random/rndhw.c:165,1
    - Dst: DIM
      Src: /src/libgcrypt/random/rndhw.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - add
    - origin
    - fast
    argTypes:
    - add_fn_t
    - enum random_origins
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: poll_drng
    functionSourceFile: /src/libgcrypt/random/rndhw.c
    functionUses: 0
    functionsReached:
    - aligned
    - DIM
    - rdrand_nlong
    linkageType: ''
    returnType: size_t
    signature: size_t poll_drng (add_fn_t add, enum random_origins origin, int fast)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: _gcry_rndhw_failed_p
    functionSourceFile: /src/libgcrypt/random/rndhw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gcry_rndhw_failed_p (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/random/rndhw.c:190,1
    - Dst: poll_drng
      Src: /src/libgcrypt/random/rndhw.c:191,1
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/random/rndhw.c:194,1
    - Dst: poll_padlock
      Src: /src/libgcrypt/random/rndhw.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - origin
    argTypes:
    - enum random_origins
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: _gcry_rndhw_poll_fast
    functionSourceFile: /src/libgcrypt/random/rndhw.c
    functionUses: 0
    functionsReached:
    - poll_drng
    - _gcry_get_hw_features
    - poll_padlock
    linkageType: ''
    returnType: void
    signature: "void _gcry_rndhw_poll_fast (void (*add)(const void*, size_t, enum
      random_origins),\n                       enum random_origins origin)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/random/rndhw.c:215,1
    - Dst: poll_drng
      Src: /src/libgcrypt/random/rndhw.c:218,1
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/random/rndhw.c:222,1
    - Dst: poll_padlock
      Src: /src/libgcrypt/random/rndhw.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - origin
    - req_length
    argTypes:
    - enum random_origins
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 230
    functionName: _gcry_rndhw_poll_slow
    functionSourceFile: /src/libgcrypt/random/rndhw.c
    functionUses: 1
    functionsReached:
    - poll_drng
    - _gcry_get_hw_features
    - poll_padlock
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_rndhw_poll_slow (void (*add)(const void*, size_t, enum
      random_origins),\n                       enum random_origins origin, size_t
      req_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandle
      Src: /src/libgcrypt/random/rndw32.c:263,1
    - Dst: GetProcAddress
      Src: /src/libgcrypt/random/rndw32.c:268,1
    - Dst: GetProcAddress
      Src: /src/libgcrypt/random/rndw32.c:270,1
    - Dst: GetProcAddress
      Src: /src/libgcrypt/random/rndw32.c:272,1
    - Dst: GetProcAddress
      Src: /src/libgcrypt/random/rndw32.c:277,1
    - Dst: pCryptAcquireContext
      Src: /src/libgcrypt/random/rndw32.c:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 294
    functionName: init_system_rng
    functionSourceFile: /src/libgcrypt/random/rndw32.c
    functionUses: 0
    functionsReached:
    - GetModuleHandle
    - pCryptAcquireContext
    - GetProcAddress
    linkageType: ''
    returnType: void
    signature: void init_system_rng (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pCryptGenRandom
      Src: /src/libgcrypt/random/rndw32.c:313,1
    - Dst: pRtlGenRandom
      Src: /src/libgcrypt/random/rndw32.c:318,1
    - Dst: log_debug
      Src: /src/libgcrypt/random/rndw32.c:324,1
    - Dst: wipememory
      Src: /src/libgcrypt/random/rndw32.c:327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - requester
    argTypes:
    - enum random_origins
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 329
    functionName: read_system_rng
    functionSourceFile: /src/libgcrypt/random/rndw32.c
    functionUses: 0
    functionsReached:
    - wipememory
    - pCryptGenRandom
    - pRtlGenRandom
    - log_debug
    linkageType: ''
    returnType: void
    signature: "void read_system_rng (void (*add)(const void*, size_t, enum random_origins),\n
      \                enum random_origins requester)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OpenFileMapping
      Src: /src/libgcrypt/random/rndw32.c:341,1
    - Dst: MapViewOfFile
      Src: /src/libgcrypt/random/rndw32.c:344,1
    - Dst: log_debug
      Src: /src/libgcrypt/random/rndw32.c:348,1
    - Dst: UnmapViewOfFile
      Src: /src/libgcrypt/random/rndw32.c:351,1
    - Dst: CloseHandle
      Src: /src/libgcrypt/random/rndw32.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - requester
    argTypes:
    - enum random_origins
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 355
    functionName: read_mbm_data
    functionSourceFile: /src/libgcrypt/random/rndw32.c
    functionUses: 0
    functionsReached:
    - UnmapViewOfFile
    - MapViewOfFile
    - CloseHandle
    - log_debug
    - OpenFileMapping
    linkageType: ''
    returnType: void
    signature: "void read_mbm_data (void (*add)(const void*, size_t, enum random_origins),\n
      \              enum random_origins requester)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/random/rndw32.c:423,1
    - Dst: log_info
      Src: /src/libgcrypt/random/rndw32.c:430,1
    - Dst: xmalloc
      Src: /src/libgcrypt/random/rndw32.c:435,1
    - Dst: log_debug
      Src: /src/libgcrypt/random/rndw32.c:440,1
    - Dst: RegQueryValueEx
      Src: /src/libgcrypt/random/rndw32.c:442,1
    - Dst: memcmp
      Src: /src/libgcrypt/random/rndw32.c:446,1
    - Dst: log_debug
      Src: /src/libgcrypt/random/rndw32.c:449,1
    - Dst: xrealloc
      Src: /src/libgcrypt/random/rndw32.c:455,1
    - Dst: log_debug
      Src: /src/libgcrypt/random/rndw32.c:467,1
    - Dst: xfree
      Src: /src/libgcrypt/random/rndw32.c:473,1
    - Dst: RegCloseKey
      Src: /src/libgcrypt/random/rndw32.c:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - requester
    argTypes:
    - enum random_origins
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 482
    functionName: registry_poll
    functionSourceFile: /src/libgcrypt/random/rndw32.c
    functionUses: 0
    functionsReached:
    - getenv
    - RegCloseKey
    - RegQueryValueEx
    - xrealloc
    - xmalloc
    - memcmp
    - log_info
    - xfree
    - log_debug
    linkageType: ''
    returnType: void
    signature: "void registry_poll (void (*add)(const void*, size_t, enum random_origins),\n
      \              enum random_origins requester)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/libgcrypt/random/rndw32.c:503,1
    - Dst: RegOpenKeyEx
      Src: /src/libgcrypt/random/rndw32.c:505,1
    - Dst: log_debug
      Src: /src/libgcrypt/random/rndw32.c:513,1
    - Dst: RegQueryValueEx
      Src: /src/libgcrypt/random/rndw32.c:515,1
    - Dst: stricmp
      Src: /src/libgcrypt/random/rndw32.c:517,1
    - Dst: log_debug
      Src: /src/libgcrypt/random/rndw32.c:524,1
    - Dst: RegCloseKey
      Src: /src/libgcrypt/random/rndw32.c:526,1
    - Dst: GetProcAddress
      Src: /src/libgcrypt/random/rndw32.c:539,1
    - Dst: GetModuleHandle
      Src: /src/libgcrypt/random/rndw32.c:539,1
    - Dst: LoadLibraryEx
      Src: /src/libgcrypt/random/rndw32.c:541,1
    - Dst: LoadLibrary
      Src: /src/libgcrypt/random/rndw32.c:544,1
    - Dst: log_debug
      Src: /src/libgcrypt/random/rndw32.c:548,1
    - Dst: GetProcAddress
      Src: /src/libgcrypt/random/rndw32.c:550,1
    - Dst: GetProcAddress
      Src: /src/libgcrypt/random/rndw32.c:552,1
    - Dst: GetProcAddress
      Src: /src/libgcrypt/random/rndw32.c:554,1
    - Dst: FreeLibrary
      Src: /src/libgcrypt/random/rndw32.c:558,1
    - Dst: log_debug
      Src: /src/libgcrypt/random/rndw32.c:560,1
    - Dst: GetModuleHandle
      Src: /src/libgcrypt/random/rndw32.c:565,1
    - Dst: GetProcAddress
      Src: /src/libgcrypt/random/rndw32.c:570,1
    - Dst: GetProcAddress
      Src: /src/libgcrypt/random/rndw32.c:572,1
    - Dst: GetProcAddress
      Src: /src/libgcrypt/random/rndw32.c:574,1
    - Dst: read_system_rng
      Src: /src/libgcrypt/random/rndw32.c:584,1
    - Dst: read_mbm_data
      Src: /src/libgcrypt/random/rndw32.c:585,1
    - Dst: pNetStatisticsGet
      Src: /src/libgcrypt/random/rndw32.c:596,1
    - Dst: log_debug
      Src: /src/libgcrypt/random/rndw32.c:601,1
    - Dst: pNetApiBufferSize
      Src: /src/libgcrypt/random/rndw32.c:602,1
    - Dst: pNetApiBufferFree
      Src: /src/libgcrypt/random/rndw32.c:604,1
    - Dst: snprintf
      Src: /src/libgcrypt/random/rndw32.c:616,1
    - Dst: CreateFile
      Src: /src/libgcrypt/random/rndw32.c:618,1
    - Dst: DeviceIoControl
      Src: /src/libgcrypt/random/rndw32.c:626,1
    - Dst: log_debug
      Src: /src/libgcrypt/random/rndw32.c:631,1
    - Dst: GetLastError
      Src: /src/libgcrypt/random/rndw32.c:637,1
    - Dst: log_info
      Src: /src/libgcrypt/random/rndw32.c:644,1
    - Dst: CloseHandle
      Src: /src/libgcrypt/random/rndw32.c:647,1
    - Dst: registry_poll
      Src: /src/libgcrypt/random/rndw32.c:665,1
    - Dst: xmalloc
      Src: /src/libgcrypt/random/rndw32.c:676,1
    - Dst: pNtQuerySystemInformation
      Src: /src/libgcrypt/random/rndw32.c:708,1
    - Dst: log_debug
      Src: /src/libgcrypt/random/rndw32.c:729,1
    - Dst: pNtPowerInformation
      Src: /src/libgcrypt/random/rndw32.c:768,1
    - Dst: log_debug
      Src: /src/libgcrypt/random/rndw32.c:773,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/random/rndw32.c:778,1
    - Dst: xfree
      Src: /src/libgcrypt/random/rndw32.c:780,1
    - Dst: registry_poll
      Src: /src/libgcrypt/random/rndw32.c:785,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 121
    argCount: 1
    argNames:
    - requester
    argTypes:
    - enum random_origins
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 786
    functionName: slow_gatherer
    functionSourceFile: /src/libgcrypt/random/rndw32.c
    functionUses: 0
    functionsReached:
    - pNtPowerInformation
    - GetProcAddress
    - RegOpenKeyEx
    - xmalloc
    - DeviceIoControl
    - GetModuleHandle
    - gcry_assert
    - RegCloseKey
    - CreateFile
    - log_info
    - pNtQuerySystemInformation
    - read_mbm_data
    - LoadLibraryEx
    - log_debug
    - RegQueryValueEx
    - LoadLibrary
    - stricmp
    - xfree
    - read_system_rng
    - snprintf
    - FreeLibrary
    - pNetApiBufferFree
    - pNetStatisticsGet
    - pNetApiBufferSize
    - registry_poll
    - GetLastError
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: "void slow_gatherer ( void (*add)(const void*, size_t, enum random_origins),\n
      \               enum random_origins requester )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/random/rndw32.c:811,1
    - Dst: atoi
      Src: /src/libgcrypt/random/rndw32.c:811,1
    - Dst: GetVersionEx
      Src: /src/libgcrypt/random/rndw32.c:814,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/rndw32.c:816,1
    - Dst: init_system_rng
      Src: /src/libgcrypt/random/rndw32.c:819,1
    - Dst: log_debug
      Src: /src/libgcrypt/random/rndw32.c:824,1
    - Dst: slow_gatherer
      Src: /src/libgcrypt/random/rndw32.c:827,1
    - Dst: _gcry_rndjent_poll
      Src: /src/libgcrypt/random/rndw32.c:830,1
    - Dst: log_debug
      Src: /src/libgcrypt/random/rndw32.c:833,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - origin
    - length
    - level
    argTypes:
    - enum random_origins
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 789
    functionDepth: 4
    functionLinenumber: 789
    functionLinenumberEnd: 837
    functionName: _gcry_rndw32_gather_random
    functionSourceFile: /src/libgcrypt/random/rndw32.c
    functionUses: 0
    functionsReached:
    - _gcry_rndjent_poll
    - atoi
    - slow_gatherer
    - getenv
    - log_fatal
    - init_system_rng
    - GetVersionEx
    - log_debug
    linkageType: ''
    returnType: int
    signature: "int _gcry_rndw32_gather_random (void (*add)(const void*, size_t,\n
      \                                       enum random_origins),\n                            enum
      random_origins origin,\n                            size_t length, int level
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_debug
      Src: /src/libgcrypt/random/rndw32.c:849,1
    - Dst: ADDPTR
      Src: /src/libgcrypt/random/rndw32.c:876,1
    - Dst: GetActiveWindow
      Src: /src/libgcrypt/random/rndw32.c:876,1
    - Dst: ADDPTR
      Src: /src/libgcrypt/random/rndw32.c:877,1
    - Dst: GetCapture
      Src: /src/libgcrypt/random/rndw32.c:877,1
    - Dst: ADDPTR
      Src: /src/libgcrypt/random/rndw32.c:878,1
    - Dst: GetClipboardOwner
      Src: /src/libgcrypt/random/rndw32.c:878,1
    - Dst: ADDPTR
      Src: /src/libgcrypt/random/rndw32.c:879,1
    - Dst: GetClipboardViewer
      Src: /src/libgcrypt/random/rndw32.c:879,1
    - Dst: ADDPTR
      Src: /src/libgcrypt/random/rndw32.c:880,1
    - Dst: GetCurrentProcess
      Src: /src/libgcrypt/random/rndw32.c:880,1
    - Dst: ADDINT
      Src: /src/libgcrypt/random/rndw32.c:881,1
    - Dst: GetCurrentProcessId
      Src: /src/libgcrypt/random/rndw32.c:881,1
    - Dst: ADDPTR
      Src: /src/libgcrypt/random/rndw32.c:882,1
    - Dst: GetCurrentThread
      Src: /src/libgcrypt/random/rndw32.c:882,1
    - Dst: ADDINT
      Src: /src/libgcrypt/random/rndw32.c:883,1
    - Dst: GetCurrentThreadId
      Src: /src/libgcrypt/random/rndw32.c:883,1
    - Dst: ADDPTR
      Src: /src/libgcrypt/random/rndw32.c:884,1
    - Dst: GetDesktopWindow
      Src: /src/libgcrypt/random/rndw32.c:884,1
    - Dst: ADDPTR
      Src: /src/libgcrypt/random/rndw32.c:885,1
    - Dst: GetFocus
      Src: /src/libgcrypt/random/rndw32.c:885,1
    - Dst: ADDINT
      Src: /src/libgcrypt/random/rndw32.c:886,1
    - Dst: GetInputState
      Src: /src/libgcrypt/random/rndw32.c:886,1
    - Dst: ADDINT
      Src: /src/libgcrypt/random/rndw32.c:887,1
    - Dst: GetMessagePos
      Src: /src/libgcrypt/random/rndw32.c:887,1
    - Dst: ADDINT
      Src: /src/libgcrypt/random/rndw32.c:888,1
    - Dst: GetMessageTime
      Src: /src/libgcrypt/random/rndw32.c:888,1
    - Dst: ADDPTR
      Src: /src/libgcrypt/random/rndw32.c:889,1
    - Dst: GetOpenClipboardWindow
      Src: /src/libgcrypt/random/rndw32.c:889,1
    - Dst: ADDPTR
      Src: /src/libgcrypt/random/rndw32.c:890,1
    - Dst: GetProcessHeap
      Src: /src/libgcrypt/random/rndw32.c:890,1
    - Dst: ADDPTR
      Src: /src/libgcrypt/random/rndw32.c:891,1
    - Dst: GetProcessWindowStation
      Src: /src/libgcrypt/random/rndw32.c:891,1
    - Dst: ADDINT
      Src: /src/libgcrypt/random/rndw32.c:895,1
    - Dst: GetTickCount
      Src: /src/libgcrypt/random/rndw32.c:895,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/random/rndw32.c:897,1
    - Dst: GetCaretPos
      Src: /src/libgcrypt/random/rndw32.c:908,1
    - Dst: GetCursorPos
      Src: /src/libgcrypt/random/rndw32.c:910,1
    - Dst: GlobalMemoryStatus
      Src: /src/libgcrypt/random/rndw32.c:921,1
    - Dst: GetCurrentThread
      Src: /src/libgcrypt/random/rndw32.c:932,1
    - Dst: GetThreadTimes
      Src: /src/libgcrypt/random/rndw32.c:933,1
    - Dst: GetCurrentProcess
      Src: /src/libgcrypt/random/rndw32.c:940,1
    - Dst: GetProcessTimes
      Src: /src/libgcrypt/random/rndw32.c:941,1
    - Dst: GetProcessWorkingSetSize
      Src: /src/libgcrypt/random/rndw32.c:950,1
    - Dst: GetStartupInfo
      Src: /src/libgcrypt/random/rndw32.c:968,1
    - Dst: __rdtsc
      Src: /src/libgcrypt/random/rndw32.c:1012,1
    - Dst: QueryPerformanceCounter
      Src: /src/libgcrypt/random/rndw32.c:1031,1
    - Dst: log_debug
      Src: /src/libgcrypt/random/rndw32.c:1034,1
    - Dst: GetTickCount
      Src: /src/libgcrypt/random/rndw32.c:1040,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 66
    argCount: 1
    argNames:
    - origin
    argTypes:
    - enum random_origins
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 1047
    functionName: _gcry_rndw32_gather_random_fast
    functionSourceFile: /src/libgcrypt/random/rndw32.c
    functionUses: 0
    functionsReached:
    - GetStartupInfo
    - GetProcessWindowStation
    - GetThreadTimes
    - GetCapture
    - GetFocus
    - GetClipboardViewer
    - GetMessagePos
    - __rdtsc
    - GetCursorPos
    - gcry_assert
    - ADDINT
    - GetProcessWorkingSetSize
    - GlobalMemoryStatus
    - GetMessageTime
    - GetProcessTimes
    - GetCurrentProcessId
    - log_debug
    - ADDPTR
    - GetProcessHeap
    - GetCurrentThread
    - GetClipboardOwner
    - GetTickCount
    - GetOpenClipboardWindow
    - GetDesktopWindow
    - GetActiveWindow
    - GetCurrentThreadId
    - QueryPerformanceCounter
    - GetInputState
    - GetCaretPos
    - GetCurrentProcess
    linkageType: ''
    returnType: void
    signature: "void _gcry_rndw32_gather_random_fast (void (*add)(const void*, size_t,\n
      \                                            enum random_origins),\n                                 enum
      random_origins origin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 872
    functionName: ADDINT
    functionSourceFile: /src/libgcrypt/random/rndw32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDINT(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 875
    functionName: ADDPTR
    functionSourceFile: /src/libgcrypt/random/rndw32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDPTR(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: SHA3_SIZE_BLOCK
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHA3_SIZE_BLOCK(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: HASH_CTX_ON_STACK
    functionSourceFile: /src/libgcrypt/random/jitterentropy-sha3.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_CTX_ON_STACK(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: jent_version
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: 'JENT_PRIVATE_STATIC

      unsigned'
    signature: 'JENT_PRIVATE_STATIC

      unsigned jent_version(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: jent_log2_simple
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int jent_log2_simple(unsigned int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JENT_FLAGS_TO_MAX_MEMSIZE
      Src: /src/libgcrypt/random/jitterentropy-base.c:111,1
    - Dst: JENT_FLAGS_TO_MAX_MEMSIZE
      Src: /src/libgcrypt/random/jitterentropy-base.c:115,1
    - Dst: jent_log2_simple
      Src: /src/libgcrypt/random/jitterentropy-base.c:122,1
    - Dst: JENT_MAX_MEMSIZE_TO_FLAGS
      Src: /src/libgcrypt/random/jitterentropy-base.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 138
    functionName: jent_update_memsize
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base.c
    functionUses: 0
    functionsReached:
    - JENT_MAX_MEMSIZE_TO_FLAGS
    - jent_log2_simple
    - JENT_FLAGS_TO_MAX_MEMSIZE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int jent_update_memsize(unsigned int flags)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: jent_notime_settick
      Src: /src/libgcrypt/random/jitterentropy-base.c:179,1
    - Dst: jent_random_data
      Src: /src/libgcrypt/random/jitterentropy-base.c:186,1
    - Dst: jent_health_failure
      Src: /src/libgcrypt/random/jitterentropy-base.c:188,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/jitterentropy-base.c:203,1
    - Dst: jent_random_data
      Src: /src/libgcrypt/random/jitterentropy-base.c:225,1
    - Dst: jent_notime_unsettick
      Src: /src/libgcrypt/random/jitterentropy-base.c:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - ec
    - data
    - len
    argTypes:
    - struct rand_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 231
    functionName: jent_read_entropy
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base.c
    functionUses: 0
    functionsReached:
    - jent_notime_unsettick
    - jent_random_data
    - jent_notime_settick
    - jent_health_failure
    - memcpy
    linkageType: ''
    returnType: JENT_PRIVATE_STATIC
    signature: JENT_PRIVATE_STATIC jent_read_entropy(struct rand_data *ec, char *data,
      size_t len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: jent_read_entropy
      Src: /src/libgcrypt/random/jitterentropy-base.c:272,1
    - Dst: jent_update_memsize
      Src: /src/libgcrypt/random/jitterentropy-base.c:295,1
    - Dst: jent_entropy_collector_free
      Src: /src/libgcrypt/random/jitterentropy-base.c:301,1
    - Dst: jent_entropy_init_ex
      Src: /src/libgcrypt/random/jitterentropy-base.c:304,1
    - Dst: _jent_entropy_collector_alloc
      Src: /src/libgcrypt/random/jitterentropy-base.c:307,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - ec
    - data
    - len
    argTypes:
    - struct rand_data**
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 323
    functionName: jent_read_entropy_safe
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base.c
    functionUses: 0
    functionsReached:
    - _jent_entropy_collector_alloc
    - jent_update_memsize
    - jent_entropy_init_ex
    - jent_read_entropy
    - jent_entropy_collector_free
    linkageType: ''
    returnType: JENT_PRIVATE_STATIC
    signature: JENT_PRIVATE_STATIC jent_read_entropy_safe(struct rand_data **ec, char
      *data, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JENT_FLAGS_TO_MAX_MEMSIZE
      Src: /src/libgcrypt/random/jitterentropy-base.c:354,1
    - Dst: UINT32_C
      Src: /src/libgcrypt/random/jitterentropy-base.c:359,1
    - Dst: jent_cache_size_roundup
      Src: /src/libgcrypt/random/jitterentropy-base.c:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 374
    functionName: jent_memsize
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base.c
    functionUses: 0
    functionsReached:
    - jent_cache_size_roundup
    - UINT32_C
    - JENT_FLAGS_TO_MAX_MEMSIZE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t jent_memsize(unsigned int flags)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: jent_entropy_init_ex
      Src: /src/libgcrypt/random/jitterentropy-base.c:392,1
    - Dst: jent_notime_forced
      Src: /src/libgcrypt/random/jitterentropy-base.c:400,1
    - Dst: jent_zalloc
      Src: /src/libgcrypt/random/jitterentropy-base.c:403,1
    - Dst: jent_memsize
      Src: /src/libgcrypt/random/jitterentropy-base.c:408,1
    - Dst: _gcry_calloc
      Src: /src/libgcrypt/random/jitterentropy-base.c:410,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/libgcrypt/random/jitterentropy-base.c:412,1
    - Dst: jent_fips_enabled
      Src: /src/libgcrypt/random/jitterentropy-base.c:443,1
    - Dst: jent_apt_init
      Src: /src/libgcrypt/random/jitterentropy-base.c:447,1
    - Dst: jent_lag_init
      Src: /src/libgcrypt/random/jitterentropy-base.c:450,1
    - Dst: jent_gcd_get
      Src: /src/libgcrypt/random/jitterentropy-base.c:453,1
    - Dst: jent_notime_enable
      Src: /src/libgcrypt/random/jitterentropy-base.c:467,1
    - Dst: jent_zfree
      Src: /src/libgcrypt/random/jitterentropy-base.c:475,1
    - Dst: jent_zfree
      Src: /src/libgcrypt/random/jitterentropy-base.c:476,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 2
    argNames:
    - osr
    - flags
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 378
    functionDepth: 11
    functionLinenumber: 378
    functionLinenumberEnd: 478
    functionName: jent_entropy_collector_alloc_internal
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base.c
    functionUses: 0
    functionsReached:
    - _gcry_calloc
    - jent_memsize
    - jent_lag_init
    - jent_zalloc
    - jent_notime_forced
    - jent_apt_init
    - gpgrt_annotate_leaked_object
    - jent_zfree
    - jent_gcd_get
    - jent_notime_enable
    - jent_entropy_init_ex
    - jent_fips_enabled
    linkageType: ''
    returnType: struct rand_data
    signature: struct rand_data *jent_entropy_collector_alloc_internal(unsigned int
      osr, unsigned int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jent_entropy_collector_alloc_internal
      Src: /src/libgcrypt/random/jitterentropy-base.c:483,1
    - Dst: jent_notime_settick
      Src: /src/libgcrypt/random/jitterentropy-base.c:490,1
    - Dst: jent_entropy_collector_free
      Src: /src/libgcrypt/random/jitterentropy-base.c:491,1
    - Dst: jent_random_data
      Src: /src/libgcrypt/random/jitterentropy-base.c:494,1
    - Dst: jent_notime_unsettick
      Src: /src/libgcrypt/random/jitterentropy-base.c:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - osr
    - flags
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 480
    functionDepth: 12
    functionLinenumber: 480
    functionLinenumberEnd: 498
    functionName: _jent_entropy_collector_alloc
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base.c
    functionUses: 1
    functionsReached:
    - jent_entropy_collector_alloc_internal
    - jent_notime_unsettick
    - jent_random_data
    - jent_notime_settick
    - jent_entropy_collector_free
    linkageType: ''
    returnType: struct rand_data
    signature: "struct rand_data *_jent_entropy_collector_alloc(unsigned int osr,\n\t\t\t\t\t\t
      \      unsigned int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _jent_entropy_collector_alloc
      Src: /src/libgcrypt/random/jitterentropy-base.c:504,1
    - Dst: JENT_FLAGS_TO_MAX_MEMSIZE
      Src: /src/libgcrypt/random/jitterentropy-base.c:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - osr
    - flags
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 500
    functionDepth: 13
    functionLinenumber: 500
    functionLinenumberEnd: 511
    functionName: jent_entropy_collector_alloc
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base.c
    functionUses: 2
    functionsReached:
    - _jent_entropy_collector_alloc
    - JENT_FLAGS_TO_MAX_MEMSIZE
    linkageType: ''
    returnType: JENT_PRIVATE_STATIC
    signature: "JENT_PRIVATE_STATIC *jent_entropy_collector_alloc(unsigned int osr,\n\t\t\t\t\t
      \      unsigned int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jent_notime_disable
      Src: /src/libgcrypt/random/jitterentropy-base.c:517,1
    - Dst: jent_zfree
      Src: /src/libgcrypt/random/jitterentropy-base.c:519,1
    - Dst: jent_memsize
      Src: /src/libgcrypt/random/jitterentropy-base.c:520,1
    - Dst: jent_zfree
      Src: /src/libgcrypt/random/jitterentropy-base.c:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entropy_collector
    argTypes:
    - struct rand_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 513
    functionDepth: 9
    functionLinenumber: 513
    functionLinenumberEnd: 525
    functionName: jent_entropy_collector_free
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base.c
    functionUses: 2
    functionsReached:
    - jent_notime_disable
    - jent_zfree
    - jent_memsize
    linkageType: ''
    returnType: JENT_PRIVATE_STATIC
    signature: JENT_PRIVATE_STATIC jent_entropy_collector_free(struct rand_data *entropy_collector)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: jent_gcd_init
      Src: /src/libgcrypt/random/jitterentropy-base.c:534,1
    - Dst: jent_notime_force
      Src: /src/libgcrypt/random/jitterentropy-base.c:539,1
    - Dst: jent_entropy_collector_alloc_internal
      Src: /src/libgcrypt/random/jitterentropy-base.c:553,1
    - Dst: jent_notime_settick
      Src: /src/libgcrypt/random/jitterentropy-base.c:559,1
    - Dst: jent_measure_jitter
      Src: /src/libgcrypt/random/jitterentropy-base.c:565,1
    - Dst: jent_measure_jitter
      Src: /src/libgcrypt/random/jitterentropy-base.c:584,1
    - Dst: jent_gcd_add_value
      Src: /src/libgcrypt/random/jitterentropy-base.c:622,1
    - Dst: jent_health_failure
      Src: /src/libgcrypt/random/jitterentropy-base.c:638,1
    - Dst: jent_gcd_analyze
      Src: /src/libgcrypt/random/jitterentropy-base.c:643,1
    - Dst: JENT_STUCK_INIT_THRES
      Src: /src/libgcrypt/random/jitterentropy-base.c:651,1
    - Dst: jent_gcd_fini
      Src: /src/libgcrypt/random/jitterentropy-base.c:655,1
    - Dst: jent_notime_unsettick
      Src: /src/libgcrypt/random/jitterentropy-base.c:658,1
    - Dst: jent_entropy_collector_free
      Src: /src/libgcrypt/random/jitterentropy-base.c:660,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 65
    argCount: 2
    argNames:
    - osr
    - flags
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 527
    functionDepth: 12
    functionLinenumber: 527
    functionLinenumberEnd: 663
    functionName: jent_time_entropy_init
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base.c
    functionUses: 1
    functionsReached:
    - jent_gcd_analyze
    - jent_gcd_init
    - jent_entropy_collector_alloc_internal
    - JENT_STUCK_INIT_THRES
    - jent_gcd_fini
    - jent_notime_unsettick
    - jent_notime_settick
    - jent_gcd_add_value
    - jent_notime_force
    - jent_health_failure
    - jent_measure_jitter
    - jent_entropy_collector_free
    linkageType: ''
    returnType: int
    signature: int jent_time_entropy_init(unsigned int osr, unsigned int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jent_notime_block_switch
      Src: /src/libgcrypt/random/jitterentropy-base.c:669,1
    - Dst: sha3_tester
      Src: /src/libgcrypt/random/jitterentropy-base.c:671,1
    - Dst: jent_gcd_selftest
      Src: /src/libgcrypt/random/jitterentropy-base.c:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 665
    functionDepth: 11
    functionLinenumber: 665
    functionLinenumberEnd: 679
    functionName: jent_entropy_init_common_pre
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base.c
    functionUses: 0
    functionsReached:
    - sha3_tester
    - jent_gcd_selftest
    - jent_notime_block_switch
    linkageType: ''
    returnType: int
    signature: int jent_entropy_init_common_pre(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 688
    functionName: jent_entropy_init_common_post
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int jent_entropy_init_common_post(int ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jent_entropy_init_common_pre
      Src: /src/libgcrypt/random/jitterentropy-base.c:693,1
    - Dst: jent_time_entropy_init
      Src: /src/libgcrypt/random/jitterentropy-base.c:698,1
    - Dst: jent_time_entropy_init
      Src: /src/libgcrypt/random/jitterentropy-base.c:702,1
    - Dst: jent_entropy_init_common_post
      Src: /src/libgcrypt/random/jitterentropy-base.c:705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 690
    functionDepth: 13
    functionLinenumber: 690
    functionLinenumberEnd: 706
    functionName: jent_entropy_init
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base.c
    functionUses: 0
    functionsReached:
    - jent_time_entropy_init
    - jent_entropy_init_common_pre
    - jent_entropy_init_common_post
    linkageType: ''
    returnType: JENT_PRIVATE_STATIC
    signature: JENT_PRIVATE_STATIC jent_entropy_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jent_entropy_init_common_pre
      Src: /src/libgcrypt/random/jitterentropy-base.c:711,1
    - Dst: jent_time_entropy_init
      Src: /src/libgcrypt/random/jitterentropy-base.c:718,1
    - Dst: jent_time_entropy_init
      Src: /src/libgcrypt/random/jitterentropy-base.c:724,1
    - Dst: jent_entropy_init_common_post
      Src: /src/libgcrypt/random/jitterentropy-base.c:728,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - osr
    - flags
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 708
    functionDepth: 13
    functionLinenumber: 708
    functionLinenumberEnd: 729
    functionName: jent_entropy_init_ex
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base.c
    functionUses: 2
    functionsReached:
    - jent_time_entropy_init
    - jent_entropy_init_common_pre
    - jent_entropy_init_common_post
    linkageType: ''
    returnType: JENT_PRIVATE_STATIC
    signature: JENT_PRIVATE_STATIC jent_entropy_init_ex(unsigned int osr, unsigned
      int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jent_notime_switch
      Src: /src/libgcrypt/random/jitterentropy-base.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_thread
    argTypes:
    - struct jent_notime_thread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 736
    functionName: jent_entropy_switch_notime_impl
    functionSourceFile: /src/libgcrypt/random/jitterentropy-base.c
    functionUses: 0
    functionsReached:
    - jent_notime_switch
    linkageType: ''
    returnType: JENT_PRIVATE_STATIC
    signature: JENT_PRIVATE_STATIC jent_entropy_switch_notime_impl(struct jent_notime_thread
      *new_thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: offsetof
    functionSourceFile: /src/libgcrypt/random/rndegd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: offsetof(type, member)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgcrypt/random/rndegd.c:56,1
    - Dst: strlen
      Src: /src/libgcrypt/random/rndegd.c:58,1
    - Dst: getenv
      Src: /src/libgcrypt/random/rndegd.c:62,1
    - Dst: strlen
      Src: /src/libgcrypt/random/rndegd.c:63,1
    - Dst: _gcry_xmalloc
      Src: /src/libgcrypt/random/rndegd.c:65,1
    - Dst: stpcpy
      Src: /src/libgcrypt/random/rndegd.c:67,1
    - Dst: stpcpy
      Src: /src/libgcrypt/random/rndegd.c:67,1
    - Dst: stpcpy
      Src: /src/libgcrypt/random/rndegd.c:68,1
    - Dst: strcpy
      Src: /src/libgcrypt/random/rndegd.c:71,1
    - Dst: stpcpy
      Src: /src/libgcrypt/random/rndegd.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - first_part
    - second_part
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 50
    functionDepth: 11
    functionLinenumber: 50
    functionLinenumberEnd: 74
    functionName: my_make_filename
    functionSourceFile: /src/libgcrypt/random/rndegd.c
    functionUses: 0
    functionsReached:
    - strlen
    - getenv
    - strcpy
    - _gcry_xmalloc
    - stpcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      my_make_filename (const char *first_part, const char *second_part)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/libgcrypt/random/rndegd.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - fd
    - buf
    - nbytes
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: do_write
    functionSourceFile: /src/libgcrypt/random/rndegd.c
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: int
    signature: int do_write( int fd, void *buf, size_t nbytes )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libgcrypt/random/rndegd.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - fd
    - buf
    - nbytes
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 119
    functionName: do_read
    functionSourceFile: /src/libgcrypt/random/rndegd.c
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: int
    signature: int do_read( int fd, void *buf, size_t nbytes )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: my_make_filename
      Src: /src/libgcrypt/random/rndegd.c:129,1
    - Dst: strlen
      Src: /src/libgcrypt/random/rndegd.c:130,1
    - Dst: xfree
      Src: /src/libgcrypt/random/rndegd.c:132,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgcrypt/random/rndegd.c:133,1
    - Dst: xfree
      Src: /src/libgcrypt/random/rndegd.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 123
    functionDepth: 12
    functionLinenumber: 123
    functionLinenumberEnd: 138
    functionName: _gcry_rndegd_set_socket_name
    functionSourceFile: /src/libgcrypt/random/rndegd.c
    functionUses: 2
    functionsReached:
    - my_make_filename
    - xfree
    - gpg_error_from_syserror
    - strlen
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _gcry_rndegd_set_socket_name (const char *name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libgcrypt/random/rndegd.c:155,1
    - Dst: _gcry_strdup
      Src: /src/libgcrypt/random/rndegd.c:164,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/rndegd.c:168,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndegd.c:169,1
    - Dst: my_make_filename
      Src: /src/libgcrypt/random/rndegd.c:174,1
    - Dst: my_make_filename
      Src: /src/libgcrypt/random/rndegd.c:176,1
    - Dst: strlen
      Src: /src/libgcrypt/random/rndegd.c:178,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/rndegd.c:179,1
    - Dst: memset
      Src: /src/libgcrypt/random/rndegd.c:181,1
    - Dst: strcpy
      Src: /src/libgcrypt/random/rndegd.c:183,1
    - Dst: strlen
      Src: /src/libgcrypt/random/rndegd.c:185,1
    - Dst: socket
      Src: /src/libgcrypt/random/rndegd.c:187,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/rndegd.c:189,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndegd.c:189,1
    - Dst: connect
      Src: /src/libgcrypt/random/rndegd.c:190,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/rndegd.c:193,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndegd.c:194,1
    - Dst: close
      Src: /src/libgcrypt/random/rndegd.c:195,1
    - Dst: xfree
      Src: /src/libgcrypt/random/rndegd.c:198,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - nofail
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 144
    functionDepth: 12
    functionLinenumber: 144
    functionLinenumberEnd: 202
    functionName: _gcry_rndegd_connect_socket
    functionSourceFile: /src/libgcrypt/random/rndegd.c
    functionUses: 0
    functionsReached:
    - socket
    - strlen
    - my_make_filename
    - close
    - log_fatal
    - memset
    - _gcry_strdup
    - strcpy
    - xfree
    - strerror
    - connect
    linkageType: ''
    returnType: int
    signature: int _gcry_rndegd_connect_socket (int nofail)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_rndegd_connect_socket
      Src: /src/libgcrypt/random/rndegd.c:231,1
    - Dst: do_write
      Src: /src/libgcrypt/random/rndegd.c:239,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/rndegd.c:240,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndegd.c:240,1
    - Dst: do_read
      Src: /src/libgcrypt/random/rndegd.c:241,1
    - Dst: log_error
      Src: /src/libgcrypt/random/rndegd.c:244,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndegd.c:244,1
    - Dst: do_read
      Src: /src/libgcrypt/random/rndegd.c:251,1
    - Dst: log_error
      Src: /src/libgcrypt/random/rndegd.c:254,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndegd.c:254,1
    - Dst: log_info
      Src: /src/libgcrypt/random/rndegd.c:264,1
    - Dst: _
      Src: /src/libgcrypt/random/rndegd.c:265,1
    - Dst: do_write
      Src: /src/libgcrypt/random/rndegd.c:275,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/rndegd.c:276,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndegd.c:276,1
    - Dst: do_read
      Src: /src/libgcrypt/random/rndegd.c:277,1
    - Dst: log_error
      Src: /src/libgcrypt/random/rndegd.c:280,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndegd.c:280,1
    - Dst: memset
      Src: /src/libgcrypt/random/rndegd.c:287,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 3
    argNames:
    - origin
    - length
    - level
    argTypes:
    - enum random_origins
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 212
    functionDepth: 13
    functionLinenumber: 212
    functionLinenumberEnd: 290
    functionName: _gcry_rndegd_gather_random
    functionSourceFile: /src/libgcrypt/random/rndegd.c
    functionUses: 0
    functionsReached:
    - log_error
    - log_fatal
    - _
    - _gcry_rndegd_connect_socket
    - log_info
    - do_read
    - memset
    - do_write
    - strerror
    linkageType: ''
    returnType: int
    signature: "int _gcry_rndegd_gather_random (void (*add)(const void*, size_t,\n
      \                                       enum random_origins),\n                            enum
      random_origins origin,\n                            size_t length, int level
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/random/random-csprng.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 247
    functionName: initialize_basics
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    linkageType: ''
    returnType: void
    signature: void initialize_basics(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_lock_lock
      Src: /src/libgcrypt/random/random-csprng.c:255,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/random-csprng.c:257,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/random/random-csprng.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 259
    functionName: lock_pool
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 0
    functionsReached:
    - log_fatal
    - gpg_strerror
    - gpgrt_lock_lock
    linkageType: ''
    returnType: void
    signature: void lock_pool (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_lock_unlock
      Src: /src/libgcrypt/random/random-csprng.c:268,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/random-csprng.c:270,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/random/random-csprng.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: unlock_pool
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 0
    functionsReached:
    - gpgrt_lock_unlock
    - log_fatal
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void unlock_pool (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initialize_basics
      Src: /src/libgcrypt/random/random-csprng.c:280,1
    - Dst: lock_pool
      Src: /src/libgcrypt/random/random-csprng.c:284,1
    - Dst: xcalloc_secure
      Src: /src/libgcrypt/random/random-csprng.c:291,1
    - Dst: xcalloc
      Src: /src/libgcrypt/random/random-csprng.c:292,1
    - Dst: xcalloc_secure
      Src: /src/libgcrypt/random/random-csprng.c:294,1
    - Dst: xcalloc
      Src: /src/libgcrypt/random/random-csprng.c:295,1
    - Dst: getfnc_gather_random
      Src: /src/libgcrypt/random/random-csprng.c:299,1
    - Dst: getfnc_fast_random_poll
      Src: /src/libgcrypt/random/random-csprng.c:302,1
    - Dst: unlock_pool
      Src: /src/libgcrypt/random/random-csprng.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 306
    functionName: initialize
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 17
    functionsReached:
    - lock_pool
    - getfnc_gather_random
    - xcalloc_secure
    - xcalloc
    - unlock_pool
    - initialize_basics
    - getfnc_fast_random_poll
    linkageType: ''
    returnType: void
    signature: void initialize(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initialize_basics
      Src: /src/libgcrypt/random/random-csprng.c:319,1
    - Dst: initialize
      Src: /src/libgcrypt/random/random-csprng.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - full
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 322
    functionName: _gcry_rngcsprng_initialize
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 1
    functionsReached:
    - initialize_basics
    - initialize
    linkageType: ''
    returnType: void
    signature: void _gcry_rngcsprng_initialize (int full)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_pool
      Src: /src/libgcrypt/random/random-csprng.c:330,1
    - Dst: _gcry_rndgetentropy_gather_random
      Src: /src/libgcrypt/random/random-csprng.c:332,1
    - Dst: _gcry_rndoldlinux_gather_random
      Src: /src/libgcrypt/random/random-csprng.c:335,1
    - Dst: xfree
      Src: /src/libgcrypt/random/random-csprng.c:344,1
    - Dst: xfree
      Src: /src/libgcrypt/random/random-csprng.c:345,1
    - Dst: unlock_pool
      Src: /src/libgcrypt/random/random-csprng.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 349
    functionName: _gcry_rngcsprng_close_fds
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 1
    functionsReached:
    - lock_pool
    - _gcry_rndgetentropy_gather_random
    - xfree
    - _gcry_rndoldlinux_gather_random
    - unlock_pool
    linkageType: ''
    returnType: void
    signature: void _gcry_rngcsprng_close_fds (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/libgcrypt/random/random-csprng.c:359,1
    - Dst: _gcry_rndhw_failed_p
      Src: /src/libgcrypt/random/random-csprng.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 366
    functionName: _gcry_rngcsprng_dump_stats
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 1
    functionsReached:
    - _gcry_rndhw_failed_p
    - log_info
    linkageType: ''
    returnType: void
    signature: void _gcry_rngcsprng_dump_stats (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: _gcry_rngcsprng_secure_alloc
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_rngcsprng_secure_alloc (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: _gcry_rngcsprng_enable_quick_gen
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_rngcsprng_enable_quick_gen (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/libgcrypt/random/random-csprng.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 397
    functionName: _gcry_rngcsprng_is_faked
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 1
    functionsReached:
    - initialize
    linkageType: ''
    returnType: int
    signature: int _gcry_rngcsprng_is_faked (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgcrypt/random/random-csprng.c:417,1
    - Dst: initialize_basics
      Src: /src/libgcrypt/random/random-csprng.c:426,1
    - Dst: lock_pool
      Src: /src/libgcrypt/random/random-csprng.c:431,1
    - Dst: add_randomness
      Src: /src/libgcrypt/random/random-csprng.c:433,1
    - Dst: unlock_pool
      Src: /src/libgcrypt/random/random-csprng.c:434,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - buflen
    - quality
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 439
    functionName: _gcry_rngcsprng_add_bytes
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 1
    functionsReached:
    - add_randomness
    - lock_pool
    - gpg_error
    - unlock_pool
    - initialize_basics
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t _gcry_rngcsprng_add_bytes (const void *buf, size_t buflen,
      int quality)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/libgcrypt/random/random-csprng.c:454,1
    - Dst: lock_pool
      Src: /src/libgcrypt/random/random-csprng.c:464,1
    - Dst: read_pool
      Src: /src/libgcrypt/random/random-csprng.c:484,1
    - Dst: unlock_pool
      Src: /src/libgcrypt/random/random-csprng.c:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - buffer
    - length
    - level
    argTypes:
    - void*
    - size_t
    - enum gcry_random_level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 491
    functionName: _gcry_rngcsprng_randomize
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 1
    functionsReached:
    - unlock_pool
    - lock_pool
    - initialize
    - read_pool
    linkageType: ''
    returnType: void
    signature: "void _gcry_rngcsprng_randomize (void *buffer, size_t length,\n                           enum
      gcry_random_level level)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/random/random-csprng.c:554,1
    - Dst: _gcry_sha1_mixblock_init
      Src: /src/libgcrypt/random/random-csprng.c:555,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/random-csprng.c:559,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/random-csprng.c:560,1
    - Dst: _gcry_sha1_mixblock
      Src: /src/libgcrypt/random/random-csprng.c:561,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/random-csprng.c:562,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/random-csprng.c:575,1
    - Dst: _gcry_sha1_mixblock
      Src: /src/libgcrypt/random/random-csprng.c:588,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/random-csprng.c:590,1
    - Dst: _gcry_sha1_hash_buffer
      Src: /src/libgcrypt/random/random-csprng.c:599,1
    - Dst: _gcry_burn_stack
      Src: /src/libgcrypt/random/random-csprng.c:603,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - pool
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 538
    functionDepth: 4
    functionLinenumber: 538
    functionLinenumberEnd: 604
    functionName: mix_pool
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    - _gcry_sha1_mixblock_init
    - _gcry_burn_stack
    - _gcry_sha1_mixblock
    - _gcry_sha1_hash_buffer
    - memcpy
    linkageType: ''
    returnType: void
    signature: void mix_pool(unsigned char *pool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BUG
      Src: /src/libgcrypt/random/random-csprng.c:611,1
    - Dst: xstrdup
      Src: /src/libgcrypt/random/random-csprng.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 613
    functionName: _gcry_rngcsprng_set_seed_file
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 1
    functionsReached:
    - xstrdup
    - BUG
    linkageType: ''
    returnType: void
    signature: void _gcry_rngcsprng_set_seed_file (const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MultiByteToWideChar
      Src: /src/libgcrypt/random/random-csprng.c:630,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/random/random-csprng.c:633,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/random/random-csprng.c:640,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/random/random-csprng.c:643,1
    - Dst: MultiByteToWideChar
      Src: /src/libgcrypt/random/random-csprng.c:647,1
    - Dst: xfree
      Src: /src/libgcrypt/random/random-csprng.c:650,1
    - Dst: gpg_err_set_errno
      Src: /src/libgcrypt/random/random-csprng.c:651,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 655
    functionName: utf8_to_wchar
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 16
    functionsReached:
    - MultiByteToWideChar
    - xtrymalloc
    - gpg_err_set_errno
    - xfree
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      utf8_to_wchar (const char *string)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 669
    functionName: any8bitchar
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int any8bitchar (const char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: any8bitchar
      Src: /src/libgcrypt/random/random-csprng.c:678,1
    - Dst: utf8_to_wchar
      Src: /src/libgcrypt/random/random-csprng.c:683,1
    - Dst: _wopen
      Src: /src/libgcrypt/random/random-csprng.c:686,1
    - Dst: xfree
      Src: /src/libgcrypt/random/random-csprng.c:687,1
    - Dst: open
      Src: /src/libgcrypt/random/random-csprng.c:691,1
    - Dst: open
      Src: /src/libgcrypt/random/random-csprng.c:693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - flags
    - mode
    argTypes:
    - char*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 695
    functionName: my_open
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 0
    functionsReached:
    - open
    - xfree
    - utf8_to_wchar
    - _wopen
    - any8bitchar
    linkageType: ''
    returnType: int
    signature: int my_open (const char *name, int flags, unsigned int mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/random/random-csprng.c:714,1
    - Dst: fcntl
      Src: /src/libgcrypt/random/random-csprng.c:718,1
    - Dst: log_info
      Src: /src/libgcrypt/random/random-csprng.c:722,1
    - Dst: _
      Src: /src/libgcrypt/random/random-csprng.c:722,1
    - Dst: strerror
      Src: /src/libgcrypt/random/random-csprng.c:722,1
    - Dst: log_info
      Src: /src/libgcrypt/random/random-csprng.c:727,1
    - Dst: _
      Src: /src/libgcrypt/random/random-csprng.c:727,1
    - Dst: select
      Src: /src/libgcrypt/random/random-csprng.c:731,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - fd
    - fname
    - for_write
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 741
    functionName: lock_seed_file
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 0
    functionsReached:
    - select
    - _
    - log_info
    - memset
    - fcntl
    - strerror
    linkageType: ''
    returnType: int
    signature: int lock_seed_file (int fd, const char *fname, int for_write)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/random/random-csprng.c:767,1
    - Dst: my_open
      Src: /src/libgcrypt/random/random-csprng.c:773,1
    - Dst: my_open
      Src: /src/libgcrypt/random/random-csprng.c:775,1
    - Dst: log_info
      Src: /src/libgcrypt/random/random-csprng.c:785,1
    - Dst: _
      Src: /src/libgcrypt/random/random-csprng.c:785,1
    - Dst: strerror
      Src: /src/libgcrypt/random/random-csprng.c:785,1
    - Dst: lock_seed_file
      Src: /src/libgcrypt/random/random-csprng.c:788,1
    - Dst: close
      Src: /src/libgcrypt/random/random-csprng.c:790,1
    - Dst: fstat
      Src: /src/libgcrypt/random/random-csprng.c:793,1
    - Dst: log_info
      Src: /src/libgcrypt/random/random-csprng.c:795,1
    - Dst: _
      Src: /src/libgcrypt/random/random-csprng.c:795,1
    - Dst: strerror
      Src: /src/libgcrypt/random/random-csprng.c:795,1
    - Dst: close
      Src: /src/libgcrypt/random/random-csprng.c:796,1
    - Dst: S_ISREG
      Src: /src/libgcrypt/random/random-csprng.c:799,1
    - Dst: log_info
      Src: /src/libgcrypt/random/random-csprng.c:801,1
    - Dst: _
      Src: /src/libgcrypt/random/random-csprng.c:801,1
    - Dst: close
      Src: /src/libgcrypt/random/random-csprng.c:802,1
    - Dst: log_info
      Src: /src/libgcrypt/random/random-csprng.c:807,1
    - Dst: _
      Src: /src/libgcrypt/random/random-csprng.c:807,1
    - Dst: close
      Src: /src/libgcrypt/random/random-csprng.c:808,1
    - Dst: log_info
      Src: /src/libgcrypt/random/random-csprng.c:814,1
    - Dst: _
      Src: /src/libgcrypt/random/random-csprng.c:814,1
    - Dst: close
      Src: /src/libgcrypt/random/random-csprng.c:815,1
    - Dst: read
      Src: /src/libgcrypt/random/random-csprng.c:821,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/random-csprng.c:827,1
    - Dst: _
      Src: /src/libgcrypt/random/random-csprng.c:827,1
    - Dst: strerror
      Src: /src/libgcrypt/random/random-csprng.c:827,1
    - Dst: close
      Src: /src/libgcrypt/random/random-csprng.c:828,1
    - Dst: close
      Src: /src/libgcrypt/random/random-csprng.c:832,1
    - Dst: add_randomness
      Src: /src/libgcrypt/random/random-csprng.c:834,1
    - Dst: getpid
      Src: /src/libgcrypt/random/random-csprng.c:837,1
    - Dst: add_randomness
      Src: /src/libgcrypt/random/random-csprng.c:838,1
    - Dst: time
      Src: /src/libgcrypt/random/random-csprng.c:841,1
    - Dst: add_randomness
      Src: /src/libgcrypt/random/random-csprng.c:842,1
    - Dst: clock
      Src: /src/libgcrypt/random/random-csprng.c:845,1
    - Dst: add_randomness
      Src: /src/libgcrypt/random/random-csprng.c:846,1
    - Dst: _gcry_rndjent_get_version
      Src: /src/libgcrypt/random/random-csprng.c:855,1
    - Dst: read_random_source
      Src: /src/libgcrypt/random/random-csprng.c:856,1
    - Dst: read_random_source
      Src: /src/libgcrypt/random/random-csprng.c:858,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 759
    functionDepth: 3
    functionLinenumber: 759
    functionLinenumberEnd: 862
    functionName: read_seed_file
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 0
    functionsReached:
    - add_randomness
    - time
    - gcry_assert
    - lock_seed_file
    - read
    - read_random_source
    - close
    - log_fatal
    - _
    - my_open
    - fstat
    - clock
    - _gcry_rndjent_get_version
    - log_info
    - S_ISREG
    - getpid
    - strerror
    linkageType: ''
    returnType: int
    signature: int read_seed_file (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: initialize_basics
      Src: /src/libgcrypt/random/random-csprng.c:875,1
    - Dst: lock_pool
      Src: /src/libgcrypt/random/random-csprng.c:876,1
    - Dst: unlock_pool
      Src: /src/libgcrypt/random/random-csprng.c:880,1
    - Dst: unlock_pool
      Src: /src/libgcrypt/random/random-csprng.c:885,1
    - Dst: log_info
      Src: /src/libgcrypt/random/random-csprng.c:886,1
    - Dst: _
      Src: /src/libgcrypt/random/random-csprng.c:886,1
    - Dst: mix_pool
      Src: /src/libgcrypt/random/random-csprng.c:900,1
    - Dst: mix_pool
      Src: /src/libgcrypt/random/random-csprng.c:901,1
    - Dst: my_open
      Src: /src/libgcrypt/random/random-csprng.c:904,1
    - Dst: my_open
      Src: /src/libgcrypt/random/random-csprng.c:908,1
    - Dst: my_open
      Src: /src/libgcrypt/random/random-csprng.c:910,1
    - Dst: log_info
      Src: /src/libgcrypt/random/random-csprng.c:915,1
    - Dst: _
      Src: /src/libgcrypt/random/random-csprng.c:915,1
    - Dst: strerror
      Src: /src/libgcrypt/random/random-csprng.c:915,1
    - Dst: lock_seed_file
      Src: /src/libgcrypt/random/random-csprng.c:916,1
    - Dst: close
      Src: /src/libgcrypt/random/random-csprng.c:918,1
    - Dst: ftruncate
      Src: /src/libgcrypt/random/random-csprng.c:921,1
    - Dst: log_info
      Src: /src/libgcrypt/random/random-csprng.c:923,1
    - Dst: _
      Src: /src/libgcrypt/random/random-csprng.c:923,1
    - Dst: strerror
      Src: /src/libgcrypt/random/random-csprng.c:923,1
    - Dst: close
      Src: /src/libgcrypt/random/random-csprng.c:924,1
    - Dst: write
      Src: /src/libgcrypt/random/random-csprng.c:931,1
    - Dst: log_info
      Src: /src/libgcrypt/random/random-csprng.c:935,1
    - Dst: _
      Src: /src/libgcrypt/random/random-csprng.c:935,1
    - Dst: strerror
      Src: /src/libgcrypt/random/random-csprng.c:935,1
    - Dst: close
      Src: /src/libgcrypt/random/random-csprng.c:936,1
    - Dst: log_info
      Src: /src/libgcrypt/random/random-csprng.c:937,1
    - Dst: _
      Src: /src/libgcrypt/random/random-csprng.c:937,1
    - Dst: strerror
      Src: /src/libgcrypt/random/random-csprng.c:937,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 865
    functionDepth: 5
    functionLinenumber: 865
    functionLinenumberEnd: 938
    functionName: _gcry_rngcsprng_update_seed_file
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 1
    functionsReached:
    - lock_pool
    - ftruncate
    - lock_seed_file
    - close
    - write
    - _
    - mix_pool
    - my_open
    - log_info
    - unlock_pool
    - initialize_basics
    - strerror
    linkageType: ''
    returnType: void
    signature: void _gcry_rngcsprng_update_seed_file (void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/random/random-csprng.c:962,1
    - Dst: getpid
      Src: /src/libgcrypt/random/random-csprng.c:966,1
    - Dst: add_randomness
      Src: /src/libgcrypt/random/random-csprng.c:977,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/random/random-csprng.c:981,1
    - Dst: log_bug
      Src: /src/libgcrypt/random/random-csprng.c:987,1
    - Dst: read_seed_file
      Src: /src/libgcrypt/random/random-csprng.c:992,1
    - Dst: BUG
      Src: /src/libgcrypt/random/random-csprng.c:1007,1
    - Dst: read_random_source
      Src: /src/libgcrypt/random/random-csprng.c:1008,1
    - Dst: BUG
      Src: /src/libgcrypt/random/random-csprng.c:1023,1
    - Dst: read_random_source
      Src: /src/libgcrypt/random/random-csprng.c:1024,1
    - Dst: random_poll
      Src: /src/libgcrypt/random/random-csprng.c:1031,1
    - Dst: do_fast_random_poll
      Src: /src/libgcrypt/random/random-csprng.c:1034,1
    - Dst: add_randomness
      Src: /src/libgcrypt/random/random-csprng.c:1040,1
    - Dst: mix_pool
      Src: /src/libgcrypt/random/random-csprng.c:1046,1
    - Dst: mix_pool
      Src: /src/libgcrypt/random/random-csprng.c:1056,1
    - Dst: mix_pool
      Src: /src/libgcrypt/random/random-csprng.c:1057,1
    - Dst: memset
      Src: /src/libgcrypt/random/random-csprng.c:1073,1
    - Dst: getpid
      Src: /src/libgcrypt/random/random-csprng.c:1081,1
    - Dst: getpid
      Src: /src/libgcrypt/random/random-csprng.c:1083,1
    - Dst: add_randomness
      Src: /src/libgcrypt/random/random-csprng.c:1084,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 3
    argNames:
    - buffer
    - length
    - level
    argTypes:
    - byte*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 949
    functionDepth: 5
    functionLinenumber: 949
    functionLinenumberEnd: 1089
    functionName: read_pool
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 1
    functionsReached:
    - add_randomness
    - gcry_assert
    - read_random_source
    - log_bug
    - do_fast_random_poll
    - read_seed_file
    - mix_pool
    - BUG
    - random_poll
    - memset
    - getpid
    linkageType: ''
    returnType: void
    signature: void read_pool (byte *buffer, size_t length, int level)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/random/random-csprng.c:1102,1
    - Dst: mix_pool
      Src: /src/libgcrypt/random/random-csprng.c:1125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - buffer
    - length
    - origin
    argTypes:
    - void*
    - size_t
    - enum random_origins
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1096
    functionDepth: 5
    functionLinenumber: 1096
    functionLinenumberEnd: 1129
    functionName: add_randomness
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 3
    functionsReached:
    - mix_pool
    - gcry_assert
    linkageType: ''
    returnType: void
    signature: void add_randomness (const void *buffer, size_t length, enum random_origins
      origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_random_source
      Src: /src/libgcrypt/random/random-csprng.c:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1133
    functionDepth: 1
    functionLinenumber: 1133
    functionLinenumberEnd: 1138
    functionName: random_poll
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 6
    functionsReached:
    - read_random_source
    linkageType: ''
    returnType: void
    signature: void random_poll (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/libgcrypt/random/random-csprng.c:1156,1
    - Dst: access
      Src: /src/libgcrypt/random/random-csprng.c:1157,1
    - Dst: _gcry_rndegd_connect_socket
      Src: /src/libgcrypt/random/random-csprng.c:1165,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/random-csprng.c:1182,1
    - Dst: _
      Src: /src/libgcrypt/random/random-csprng.c:1182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1142
    functionDepth: 13
    functionLinenumber: 1142
    functionLinenumberEnd: 1185
    functionName: "(*\ngetfnc_gather_random (void))(void (*)(const void*, size_t,\n
      \                                     enum random_origins),\n                             enum
      random_origins, size_t, int)"
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 0
    functionsReached:
    - _gcry_rndegd_connect_socket
    - access
    - _
    - log_fatal
    linkageType: ''
    returnType: int
    signature: "int (*\ngetfnc_gather_random (void))(void (*)(const void*, size_t,\n
      \                                     enum random_origins),\n                             enum
      random_origins, size_t, int)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1198
    functionName: "(*\ngetfnc_fast_random_poll (void))( void (*)(const void*, size_t,\n
      \                                         enum random_origins),\n                                 enum
      random_origins)"
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void (*\ngetfnc_fast_random_poll (void))( void (*)(const void*, size_t,\n
      \                                         enum random_origins),\n                                 enum
      random_origins)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/random/random-csprng.c:1205,1
    - Dst: fast_gather_fnc
      Src: /src/libgcrypt/random/random-csprng.c:1210,1
    - Dst: gethrtime
      Src: /src/libgcrypt/random/random-csprng.c:1216,1
    - Dst: add_randomness
      Src: /src/libgcrypt/random/random-csprng.c:1217,1
    - Dst: gettimeofday
      Src: /src/libgcrypt/random/random-csprng.c:1222,1
    - Dst: BUG
      Src: /src/libgcrypt/random/random-csprng.c:1223,1
    - Dst: add_randomness
      Src: /src/libgcrypt/random/random-csprng.c:1224,1
    - Dst: add_randomness
      Src: /src/libgcrypt/random/random-csprng.c:1225,1
    - Dst: clock_gettime
      Src: /src/libgcrypt/random/random-csprng.c:1229,1
    - Dst: BUG
      Src: /src/libgcrypt/random/random-csprng.c:1230,1
    - Dst: add_randomness
      Src: /src/libgcrypt/random/random-csprng.c:1231,1
    - Dst: add_randomness
      Src: /src/libgcrypt/random/random-csprng.c:1232,1
    - Dst: times
      Src: /src/libgcrypt/random/random-csprng.c:1237,1
    - Dst: add_randomness
      Src: /src/libgcrypt/random/random-csprng.c:1238,1
    - Dst: getrusage
      Src: /src/libgcrypt/random/random-csprng.c:1251,1
    - Dst: add_randomness
      Src: /src/libgcrypt/random/random-csprng.c:1252,1
    - Dst: memset
      Src: /src/libgcrypt/random/random-csprng.c:1253,1
    - Dst: time
      Src: /src/libgcrypt/random/random-csprng.c:1265,1
    - Dst: add_randomness
      Src: /src/libgcrypt/random/random-csprng.c:1266,1
    - Dst: clock
      Src: /src/libgcrypt/random/random-csprng.c:1269,1
    - Dst: add_randomness
      Src: /src/libgcrypt/random/random-csprng.c:1270,1
    - Dst: _gcry_rndhw_poll_fast
      Src: /src/libgcrypt/random/random-csprng.c:1275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1202
    functionDepth: 6
    functionLinenumber: 1202
    functionLinenumberEnd: 1276
    functionName: do_fast_random_poll
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 1
    functionsReached:
    - add_randomness
    - gethrtime
    - gcry_assert
    - clock_gettime
    - getrusage
    - fast_gather_fnc
    - clock
    - BUG
    - _gcry_rndhw_poll_fast
    - gettimeofday
    - memset
    - times
    - time
    linkageType: ''
    returnType: void
    signature: void do_fast_random_poll (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initialize_basics
      Src: /src/libgcrypt/random/random-csprng.c:1289,1
    - Dst: lock_pool
      Src: /src/libgcrypt/random/random-csprng.c:1291,1
    - Dst: do_fast_random_poll
      Src: /src/libgcrypt/random/random-csprng.c:1295,1
    - Dst: unlock_pool
      Src: /src/libgcrypt/random/random-csprng.c:1297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1286
    functionDepth: 7
    functionLinenumber: 1286
    functionLinenumberEnd: 1298
    functionName: _gcry_rngcsprng_fast_poll
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 1
    functionsReached:
    - unlock_pool
    - lock_pool
    - do_fast_random_poll
    - initialize_basics
    linkageType: ''
    returnType: void
    signature: void _gcry_rngcsprng_fast_poll (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_fatal
      Src: /src/libgcrypt/random/random-csprng.c:1306,1
    - Dst: slow_gather_fnc
      Src: /src/libgcrypt/random/random-csprng.c:1308,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/random-csprng.c:1309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - origin
    - length
    - level
    argTypes:
    - enum random_origins
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1302
    functionDepth: 2
    functionLinenumber: 1302
    functionLinenumberEnd: 1310
    functionName: read_random_source
    functionSourceFile: /src/libgcrypt/random/random-csprng.c
    functionUses: 3
    functionsReached:
    - slow_gather_fnc
    - log_fatal
    linkageType: ''
    returnType: void
    signature: void read_random_source (enum random_origins origin, size_t length,
      int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - weight
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: SC
    functionSourceFile: /src/libgcrypt/random/rndunix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SC( weight )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wait4
      Src: /src/libgcrypt/random/rndunix.c:367,1
    - Dst: kill
      Src: /src/libgcrypt/random/rndunix.c:374,1
    - Dst: wait3
      Src: /src/libgcrypt/random/rndunix.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pid
    - statptr
    - options
    argTypes:
    - pid_t
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 385
    functionName: waitpid
    functionSourceFile: /src/libgcrypt/random/rndunix.c
    functionUses: 12
    functionsReached:
    - wait3
    - kill
    - wait4
    linkageType: ''
    returnType: pid_t
    signature: pid_t waitpid(pid_t pid, int *statptr, int options)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/libgcrypt/random/rndunix.c:405,1
    - Dst: vfork
      Src: /src/libgcrypt/random/rndunix.c:414,1
    - Dst: fork
      Src: /src/libgcrypt/random/rndunix.c:416,1
    - Dst: close
      Src: /src/libgcrypt/random/rndunix.c:420,1
    - Dst: close
      Src: /src/libgcrypt/random/rndunix.c:421,1
    - Dst: dup2
      Src: /src/libgcrypt/random/rndunix.c:429,1
    - Dst: exit
      Src: /src/libgcrypt/random/rndunix.c:430,1
    - Dst: getpwnam
      Src: /src/libgcrypt/random/rndunix.c:436,1
    - Dst: setuid
      Src: /src/libgcrypt/random/rndunix.c:439,1
    - Dst: close
      Src: /src/libgcrypt/random/rndunix.c:442,1
    - Dst: close
      Src: /src/libgcrypt/random/rndunix.c:443,1
    - Dst: execl
      Src: /src/libgcrypt/random/rndunix.c:446,1
    - Dst: exit
      Src: /src/libgcrypt/random/rndunix.c:449,1
    - Dst: close
      Src: /src/libgcrypt/random/rndunix.c:455,1
    - Dst: fcntl
      Src: /src/libgcrypt/random/rndunix.c:458,1
    - Dst: fdopen
      Src: /src/libgcrypt/random/rndunix.c:461,1
    - Dst: kill
      Src: /src/libgcrypt/random/rndunix.c:468,1
    - Dst: close
      Src: /src/libgcrypt/random/rndunix.c:470,1
    - Dst: fclose
      Src: /src/libgcrypt/random/rndunix.c:472,1
    - Dst: waitpid
      Src: /src/libgcrypt/random/rndunix.c:474,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct RI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 482
    functionName: my_popen
    functionSourceFile: /src/libgcrypt/random/rndunix.c
    functionUses: 0
    functionsReached:
    - pipe
    - fdopen
    - execl
    - fclose
    - close
    - exit
    - setuid
    - getpwnam
    - kill
    - waitpid
    - fcntl
    - fork
    - dup2
    - vfork
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      my_popen(struct RI *entry)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libgcrypt/random/rndunix.c:489,1
    - Dst: waitpid
      Src: /src/libgcrypt/random/rndunix.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct RI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 504
    functionName: my_pclose
    functionSourceFile: /src/libgcrypt/random/rndunix.c
    functionUses: 0
    functionsReached:
    - fclose
    - waitpid
    linkageType: ''
    returnType: int
    signature: int my_pclose(struct RI *entry)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/libgcrypt/random/rndunix.c:536,1
    - Dst: access
      Src: /src/libgcrypt/random/rndunix.c:540,1
    - Dst: fprintf
      Src: /src/libgcrypt/random/rndunix.c:542,1
    - Dst: my_popen
      Src: /src/libgcrypt/random/rndunix.c:548,1
    - Dst: fileno
      Src: /src/libgcrypt/random/rndunix.c:551,1
    - Dst: fcntl
      Src: /src/libgcrypt/random/rndunix.c:556,1
    - Dst: FD_SET
      Src: /src/libgcrypt/random/rndunix.c:562,1
    - Dst: fprintf
      Src: /src/libgcrypt/random/rndunix.c:569,1
    - Dst: select
      Src: /src/libgcrypt/random/rndunix.c:590,1
    - Dst: select
      Src: /src/libgcrypt/random/rndunix.c:592,1
    - Dst: _gcry_random_progress
      Src: /src/libgcrypt/random/rndunix.c:605,1
    - Dst: FD_ISSET
      Src: /src/libgcrypt/random/rndunix.c:616,1
    - Dst: fread
      Src: /src/libgcrypt/random/rndunix.c:619,1
    - Dst: my_pclose
      Src: /src/libgcrypt/random/rndunix.c:622,1
    - Dst: fprintf
      Src: /src/libgcrypt/random/rndunix.c:636,1
    - Dst: FD_ZERO
      Src: /src/libgcrypt/random/rndunix.c:684,1
    - Dst: FD_SET
      Src: /src/libgcrypt/random/rndunix.c:687,1
    - Dst: _gcry_random_progress
      Src: /src/libgcrypt/random/rndunix.c:694,1
    - Dst: fprintf
      Src: /src/libgcrypt/random/rndunix.c:699,1
    - Dst: fflush
      Src: /src/libgcrypt/random/rndunix.c:700,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 91
    argCount: 3
    argNames:
    - dbgfp
    - dbgall
    - nbytes
    argTypes:
    - FILE*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 704
    functionName: slow_poll
    functionSourceFile: /src/libgcrypt/random/rndunix.c
    functionUses: 0
    functionsReached:
    - FD_ZERO
    - select
    - fileno
    - fprintf
    - FD_SET
    - _gcry_random_progress
    - my_popen
    - access
    - fread
    - fcntl
    - my_pclose
    - fflush
    - FD_ISSET
    linkageType: ''
    returnType: int
    signature: int slow_poll(FILE *dbgfp, int dbgall, size_t *nbytes )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/random/rndunix.c:717,1
    - Dst: fopen
      Src: /src/libgcrypt/random/rndunix.c:719,1
    - Dst: log_info
      Src: /src/libgcrypt/random/rndunix.c:721,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndunix.c:722,1
    - Dst: fprintf
      Src: /src/libgcrypt/random/rndunix.c:724,1
    - Dst: getpid
      Src: /src/libgcrypt/random/rndunix.c:724,1
    - Dst: getenv
      Src: /src/libgcrypt/random/rndunix.c:726,1
    - Dst: sysconf
      Src: /src/libgcrypt/random/rndunix.c:731,1
    - Dst: fileno
      Src: /src/libgcrypt/random/rndunix.c:747,1
    - Dst: fileno
      Src: /src/libgcrypt/random/rndunix.c:748,1
    - Dst: close
      Src: /src/libgcrypt/random/rndunix.c:751,1
    - Dst: malloc
      Src: /src/libgcrypt/random/rndunix.c:759,1
    - Dst: log_error
      Src: /src/libgcrypt/random/rndunix.c:761,1
    - Dst: exit
      Src: /src/libgcrypt/random/rndunix.c:762,1
    - Dst: signal
      Src: /src/libgcrypt/random/rndunix.c:774,1
    - Dst: signal
      Src: /src/libgcrypt/random/rndunix.c:776,1
    - Dst: fclose
      Src: /src/libgcrypt/random/rndunix.c:779,1
    - Dst: fstat
      Src: /src/libgcrypt/random/rndunix.c:787,1
    - Dst: open
      Src: /src/libgcrypt/random/rndunix.c:788,1
    - Dst: fstat
      Src: /src/libgcrypt/random/rndunix.c:789,1
    - Dst: open
      Src: /src/libgcrypt/random/rndunix.c:790,1
    - Dst: fstat
      Src: /src/libgcrypt/random/rndunix.c:791,1
    - Dst: open
      Src: /src/libgcrypt/random/rndunix.c:792,1
    - Dst: slow_poll
      Src: /src/libgcrypt/random/rndunix.c:800,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/rndunix.c:804,1
    - Dst: write
      Src: /src/libgcrypt/random/rndunix.c:808,1
    - Dst: select
      Src: /src/libgcrypt/random/rndunix.c:815,1
    - Dst: exit
      Src: /src/libgcrypt/random/rndunix.c:819,1
    - Dst: fprintf
      Src: /src/libgcrypt/random/rndunix.c:823,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndunix.c:824,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 66
    argCount: 1
    argNames:
    - pipefd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 710
    functionDepth: 3
    functionLinenumber: 710
    functionLinenumberEnd: 832
    functionName: start_gatherer
    functionSourceFile: /src/libgcrypt/random/rndunix.c
    functionUses: 0
    functionsReached:
    - exit
    - fstat
    - memcpy
    - sysconf
    - log_error
    - close
    - write
    - log_info
    - fileno
    - fprintf
    - fopen
    - malloc
    - signal
    - slow_poll
    - getpid
    - select
    - open
    - fclose
    - getenv
    - strerror
    linkageType: ''
    returnType: void
    signature: void start_gatherer( int pipefd )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libgcrypt/random/rndunix.c:844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - fd
    - msg
    argTypes:
    - int
    - GATHER_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 852
    functionName: read_a_msg
    functionSourceFile: /src/libgcrypt/random/rndunix.c
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: int
    signature: int read_a_msg( int fd, GATHER_MSG *msg )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/libgcrypt/random/rndunix.c:875,1
    - Dst: geteuid
      Src: /src/libgcrypt/random/rndunix.c:875,1
    - Dst: BUG
      Src: /src/libgcrypt/random/rndunix.c:876,1
    - Dst: pipe
      Src: /src/libgcrypt/random/rndunix.c:878,1
    - Dst: log_error
      Src: /src/libgcrypt/random/rndunix.c:879,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndunix.c:879,1
    - Dst: fork
      Src: /src/libgcrypt/random/rndunix.c:882,1
    - Dst: log_error
      Src: /src/libgcrypt/random/rndunix.c:884,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndunix.c:884,1
    - Dst: start_gatherer
      Src: /src/libgcrypt/random/rndunix.c:888,1
    - Dst: read_a_msg
      Src: /src/libgcrypt/random/rndunix.c:899,1
    - Dst: log_error
      Src: /src/libgcrypt/random/rndunix.c:900,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndunix.c:901,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 3
    argNames:
    - origin
    - length
    - level
    argTypes:
    - enum random_origins
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 859
    functionDepth: 4
    functionLinenumber: 859
    functionLinenumberEnd: 937
    functionName: _gcry_rndunix_gather_random
    functionSourceFile: /src/libgcrypt/random/rndunix.c
    functionUses: 0
    functionsReached:
    - pipe
    - log_error
    - start_gatherer
    - BUG
    - read_a_msg
    - getuid
    - geteuid
    - fork
    - strerror
    linkageType: ''
    returnType: int
    signature: "int _gcry_rndunix_gather_random (void (*add)(const void*, size_t,\n
      \                                        enum random_origins),\n                             enum
      random_origins origin,\n                             size_t length, int level
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - delta_history
    - ','
    - delta
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: jent_gcd_add_value
    functionSourceFile: /src/libgcrypt/random/jitterentropy-gcd.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: jent_gcd_add_value(delta_history, delta, idx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_rndjent_fini
      Src: /src/libgcrypt/random/rndgetentropy.c:50,1
    - Dst: _gcry_rndjent_poll
      Src: /src/libgcrypt/random/rndgetentropy.c:61,1
    - Dst: _gcry_pre_syscall
      Src: /src/libgcrypt/random/rndgetentropy.c:83,1
    - Dst: fips_mode
      Src: /src/libgcrypt/random/rndgetentropy.c:85,1
    - Dst: getrandom
      Src: /src/libgcrypt/random/rndgetentropy.c:99,1
    - Dst: getentropy
      Src: /src/libgcrypt/random/rndgetentropy.c:105,1
    - Dst: _gcry_post_syscall
      Src: /src/libgcrypt/random/rndgetentropy.c:107,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/rndgetentropy.c:112,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndgetentropy.c:112,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/rndgetentropy.c:116,1
    - Dst: strerror
      Src: /src/libgcrypt/random/rndgetentropy.c:117,1
    - Dst: wipememory
      Src: /src/libgcrypt/random/rndgetentropy.c:123,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - origin
    - length
    - level
    argTypes:
    - enum random_origins
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 126
    functionName: _gcry_rndgetentropy_gather_random
    functionSourceFile: /src/libgcrypt/random/rndgetentropy.c
    functionUses: 1
    functionsReached:
    - _gcry_rndjent_poll
    - _gcry_post_syscall
    - _gcry_rndjent_fini
    - log_fatal
    - fips_mode
    - wipememory
    - _gcry_pre_syscall
    - getentropy
    - strerror
    - getrandom
    linkageType: ''
    returnType: int
    signature: "int _gcry_rndgetentropy_gather_random (void (*add)(const void*, size_t,\n
      \                                              enum random_origins),\n                                   enum
      random_origins origin,\n                                   size_t length, int
      level)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/random/random-system.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: basic_initialization
    functionSourceFile: /src/libgcrypt/random/random-system.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    linkageType: ''
    returnType: void
    signature: void basic_initialization (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_lock_lock
      Src: /src/libgcrypt/random/random-system.c:82,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/random-system.c:84,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/random/random-system.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: lock_rng
    functionSourceFile: /src/libgcrypt/random/random-system.c
    functionUses: 0
    functionsReached:
    - log_fatal
    - gpg_strerror
    - gpgrt_lock_lock
    linkageType: ''
    returnType: void
    signature: void lock_rng (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_lock_unlock
      Src: /src/libgcrypt/random/random-system.c:97,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/random-system.c:99,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/random/random-system.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: unlock_rng
    functionSourceFile: /src/libgcrypt/random/random-system.c
    functionUses: 0
    functionsReached:
    - gpgrt_lock_unlock
    - log_fatal
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void unlock_rng (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/random/random-system.c:124,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/random/random-system.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - buffer
    - length
    - origin
    argTypes:
    - void*
    - size_t
    - enum random_origins
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: read_cb
    functionSourceFile: /src/libgcrypt/random/random-system.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    linkageType: ''
    returnType: void
    signature: void read_cb (const void *buffer, size_t length, enum random_origins
      origin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/random/random-system.c:144,1
    - Dst: _gcry_rndgetentropy_gather_random
      Src: /src/libgcrypt/random/random-system.c:151,1
    - Dst: _gcry_rndoldlinux_gather_random
      Src: /src/libgcrypt/random/random-system.c:153,1
    - Dst: _gcry_rndunix_gather_random
      Src: /src/libgcrypt/random/random-system.c:155,1
    - Dst: _gcry_rndw32_gather_random
      Src: /src/libgcrypt/random/random-system.c:159,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/random-system.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - buffer
    - length
    - level
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 139
    functionDepth: 5
    functionLinenumber: 139
    functionLinenumberEnd: 170
    functionName: get_random
    functionSourceFile: /src/libgcrypt/random/random-system.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    - _gcry_rndgetentropy_gather_random
    - log_fatal
    - _gcry_rndw32_gather_random
    - _gcry_rndoldlinux_gather_random
    - _gcry_rndunix_gather_random
    linkageType: ''
    returnType: void
    signature: void get_random (void *buffer, size_t length, int level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: basic_initialization
      Src: /src/libgcrypt/random/random-system.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - full
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: _gcry_rngsystem_initialize
    functionSourceFile: /src/libgcrypt/random/random-system.c
    functionUses: 1
    functionsReached:
    - basic_initialization
    linkageType: ''
    returnType: void
    signature: void _gcry_rngsystem_initialize (int full)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_rng
      Src: /src/libgcrypt/random/random-system.c:197,1
    - Dst: _gcry_rndgetentropy_gather_random
      Src: /src/libgcrypt/random/random-system.c:199,1
    - Dst: _gcry_rndoldlinux_gather_random
      Src: /src/libgcrypt/random/random-system.c:202,1
    - Dst: unlock_rng
      Src: /src/libgcrypt/random/random-system.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 194
    functionDepth: 4
    functionLinenumber: 194
    functionLinenumberEnd: 205
    functionName: _gcry_rngsystem_close_fds
    functionSourceFile: /src/libgcrypt/random/random-system.c
    functionUses: 1
    functionsReached:
    - _gcry_rndgetentropy_gather_random
    - lock_rng
    - unlock_rng
    - _gcry_rndoldlinux_gather_random
    linkageType: ''
    returnType: void
    signature: void _gcry_rngsystem_close_fds (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: _gcry_rngsystem_dump_stats
    functionSourceFile: /src/libgcrypt/random/random-system.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_rngsystem_dump_stats (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: _gcry_rngsystem_is_faked
    functionSourceFile: /src/libgcrypt/random/random-system.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gcry_rngsystem_is_faked (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - buflen
    - quality
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: _gcry_rngsystem_add_bytes
    functionSourceFile: /src/libgcrypt/random/random-system.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t _gcry_rngsystem_add_bytes (const void *buf, size_t buflen,
      int quality)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_rngsystem_initialize
      Src: /src/libgcrypt/random/random-system.c:247,1
    - Dst: lock_rng
      Src: /src/libgcrypt/random/random-system.c:252,1
    - Dst: get_random
      Src: /src/libgcrypt/random/random-system.c:253,1
    - Dst: unlock_rng
      Src: /src/libgcrypt/random/random-system.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - buffer
    - length
    - level
    argTypes:
    - void*
    - size_t
    - enum gcry_random_level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 243
    functionDepth: 6
    functionLinenumber: 243
    functionLinenumberEnd: 255
    functionName: _gcry_rngsystem_randomize
    functionSourceFile: /src/libgcrypt/random/random-system.c
    functionUses: 1
    functionsReached:
    - unlock_rng
    - _gcry_rngsystem_initialize
    - lock_rng
    - get_random
    linkageType: ''
    returnType: void
    signature: "void _gcry_rngsystem_randomize (void *buffer, size_t length,\n                           enum
      gcry_random_level level)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: jent_notime_block_switch
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jent_notime_block_switch(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ec
    argTypes:
    - struct rand_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: jent_notime_settick
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int jent_notime_settick(struct rand_data *ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ec
    argTypes:
    - struct rand_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: jent_notime_unsettick
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jent_notime_unsettick(struct rand_data *ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jent_get_nstime
      Src: /src/libgcrypt/random/jitterentropy-timer.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ec
    - out
    argTypes:
    - struct rand_data*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: jent_get_nstime_internal
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.h
    functionUses: 0
    functionsReached:
    - jent_get_nstime
    linkageType: ''
    returnType: void
    signature: void jent_get_nstime_internal(struct rand_data *ec, uint64_t *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ec
    - flags
    argTypes:
    - struct rand_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: jent_notime_enable
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int jent_notime_enable(struct rand_data *ec, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ec
    argTypes:
    - struct rand_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: jent_notime_disable
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jent_notime_disable(struct rand_data *ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - new_thread
    argTypes:
    - struct jent_notime_thread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: jent_notime_switch
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int jent_notime_switch(struct jent_notime_thread *new_thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: jent_notime_force
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jent_notime_force(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: jent_notime_forced
    functionSourceFile: /src/libgcrypt/random/jitterentropy-timer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int jent_notime_forced(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condition
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: BUILD_BUG_ON
    functionSourceFile: /src/libgcrypt/random/jitterentropy-noise.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUILD_BUG_ON(condition)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/libgcrypt/random/jitterentropy-noise.c:51,1
    - Dst: UINT64_C
      Src: /src/libgcrypt/random/jitterentropy-noise.c:57,1
    - Dst: jent_get_nstime_internal
      Src: /src/libgcrypt/random/jitterentropy-noise.c:65,1
    - Dst: UINT64_C
      Src: /src/libgcrypt/random/jitterentropy-noise.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ec
    - bits
    - min
    argTypes:
    - struct rand_data*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 85
    functionName: jent_loop_shuffle
    functionSourceFile: /src/libgcrypt/random/jitterentropy-noise.c
    functionUses: 0
    functionsReached:
    - jent_get_nstime_internal
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t jent_loop_shuffle(struct rand_data *ec,\n\t\t\t\t  unsigned
      int bits, unsigned int min)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HASH_CTX_ON_STACK
      Src: /src/libgcrypt/random/jitterentropy-noise.c:106,1
    - Dst: BUILD_BUG_ON
      Src: /src/libgcrypt/random/jitterentropy-noise.c:114,1
    - Dst: jent_loop_shuffle
      Src: /src/libgcrypt/random/jitterentropy-noise.c:116,1
    - Dst: sha3_256_init
      Src: /src/libgcrypt/random/jitterentropy-noise.c:118,1
    - Dst: sha3_update
      Src: /src/libgcrypt/random/jitterentropy-noise.c:133,1
    - Dst: sha3_update
      Src: /src/libgcrypt/random/jitterentropy-noise.c:134,1
    - Dst: sha3_update
      Src: /src/libgcrypt/random/jitterentropy-noise.c:135,1
    - Dst: sha3_final
      Src: /src/libgcrypt/random/jitterentropy-noise.c:150,1
    - Dst: sha3_final
      Src: /src/libgcrypt/random/jitterentropy-noise.c:152,1
    - Dst: jent_memset_secure
      Src: /src/libgcrypt/random/jitterentropy-noise.c:155,1
    - Dst: jent_memset_secure
      Src: /src/libgcrypt/random/jitterentropy-noise.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ec
    - time
    - loop_cnt
    - stuck
    argTypes:
    - struct rand_data*
    - uint64_t
    - uint64_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 157
    functionName: jent_hash_time
    functionSourceFile: /src/libgcrypt/random/jitterentropy-noise.c
    functionUses: 0
    functionsReached:
    - sha3_256_init
    - sha3_final
    - sha3_update
    - jent_loop_shuffle
    - HASH_CTX_ON_STACK
    - jent_memset_secure
    - BUILD_BUG_ON
    linkageType: ''
    returnType: void
    signature: "void jent_hash_time(struct rand_data *ec, uint64_t time,\n\t\t\t   uint64_t
      loop_cnt, unsigned int stuck)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - k
    argTypes:
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: uint32rotl
    functionSourceFile: /src/libgcrypt/random/jitterentropy-noise.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t uint32rotl(const uint32_t x, int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint32rotl
      Src: /src/libgcrypt/random/jitterentropy-noise.c:170,1
    - Dst: uint32rotl
      Src: /src/libgcrypt/random/jitterentropy-noise.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: xoshiro128starstar
    functionSourceFile: /src/libgcrypt/random/jitterentropy-noise.c
    functionUses: 0
    functionsReached:
    - uint32rotl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t xoshiro128starstar(uint32_t *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BUILD_BUG_ON
      Src: /src/libgcrypt/random/jitterentropy-noise.c:201,1
    - Dst: jent_loop_shuffle
      Src: /src/libgcrypt/random/jitterentropy-noise.c:203,1
    - Dst: xoshiro128starstar
      Src: /src/libgcrypt/random/jitterentropy-noise.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ec
    - loop_cnt
    argTypes:
    - struct rand_data*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 239
    functionName: jent_memaccess
    functionSourceFile: /src/libgcrypt/random/jitterentropy-noise.c
    functionUses: 0
    functionsReached:
    - jent_loop_shuffle
    - xoshiro128starstar
    - BUILD_BUG_ON
    linkageType: ''
    returnType: void
    signature: void jent_memaccess(struct rand_data *ec, uint64_t loop_cnt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BUILD_BUG_ON
      Src: /src/libgcrypt/random/jitterentropy-noise.c:273,1
    - Dst: jent_loop_shuffle
      Src: /src/libgcrypt/random/jitterentropy-noise.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ec
    - loop_cnt
    argTypes:
    - struct rand_data*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 303
    functionName: jent_memaccess
    functionSourceFile: /src/libgcrypt/random/jitterentropy-noise.c
    functionUses: 0
    functionsReached:
    - jent_loop_shuffle
    - BUILD_BUG_ON
    linkageType: ''
    returnType: void
    signature: void jent_memaccess(struct rand_data *ec, uint64_t loop_cnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jent_memaccess
      Src: /src/libgcrypt/random/jitterentropy-noise.c:335,1
    - Dst: jent_get_nstime_internal
      Src: /src/libgcrypt/random/jitterentropy-noise.c:341,1
    - Dst: jent_delta
      Src: /src/libgcrypt/random/jitterentropy-noise.c:342,1
    - Dst: jent_stuck
      Src: /src/libgcrypt/random/jitterentropy-noise.c:347,1
    - Dst: jent_hash_time
      Src: /src/libgcrypt/random/jitterentropy-noise.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ec
    - loop_cnt
    - ret_current_delta
    argTypes:
    - struct rand_data*
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 326
    functionDepth: 5
    functionLinenumber: 326
    functionLinenumberEnd: 357
    functionName: jent_measure_jitter
    functionSourceFile: /src/libgcrypt/random/jitterentropy-noise.c
    functionUses: 1
    functionsReached:
    - jent_hash_time
    - jent_stuck
    - jent_get_nstime_internal
    - jent_memaccess
    - jent_delta
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int jent_measure_jitter(struct rand_data *ec,\n\t\t\t\t uint64_t
      loop_cnt,\n\t\t\t\t uint64_t *ret_current_delta)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jent_measure_jitter
      Src: /src/libgcrypt/random/jitterentropy-noise.c:373,1
    - Dst: jent_measure_jitter
      Src: /src/libgcrypt/random/jitterentropy-noise.c:377,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ec
    argTypes:
    - struct rand_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 365
    functionDepth: 6
    functionLinenumber: 365
    functionLinenumberEnd: 387
    functionName: jent_random_data
    functionSourceFile: /src/libgcrypt/random/jitterentropy-noise.c
    functionUses: 2
    functionsReached:
    - jent_measure_jitter
    linkageType: ''
    returnType: void
    signature: void jent_random_data(struct rand_data *ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 332
    functionName: ARRAY_SIZE
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_SIZE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: dbg
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbg(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_strtokenize
      Src: /src/libgcrypt/random/random-drbg.c:431,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/random/random-drbg.c:433,1
    - Dst: DIM
      Src: /src/libgcrypt/random/random-drbg.c:436,1
    - Dst: strcmp
      Src: /src/libgcrypt/random/random-drbg.c:437,1
    - Dst: DIM
      Src: /src/libgcrypt/random/random-drbg.c:442,1
    - Dst: xfree
      Src: /src/libgcrypt/random/random-drbg.c:444,1
    - Dst: xfree
      Src: /src/libgcrypt/random/random-drbg.c:448,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - string
    - r_flags
    argTypes:
    - char*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 452
    functionName: parse_flag_string
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - gpg_err_code_from_syserror
    - _gcry_strtokenize
    - DIM
    - strcmp
    - xfree
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t parse_flag_string (const char *string, u32 *r_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - string
    - buf
    - len
    argTypes:
    - drbg_string_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 461
    functionName: drbg_string_fill
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void drbg_string_fill (drbg_string_t *string,\n                       const
      unsigned char *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - drbg_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 469
    functionName: drbg_statelen
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ushort
    signature: ushort drbg_statelen (drbg_state_t drbg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - drbg_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 477
    functionName: drbg_blocklen
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ushort
    signature: ushort drbg_blocklen (drbg_state_t drbg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - drbg_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: drbg_keylen
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ushort
    signature: ushort drbg_keylen (drbg_state_t drbg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 492
    functionName: drbg_max_request_bytes
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t drbg_max_request_bytes (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 508
    functionName: drbg_max_addtl
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t drbg_max_addtl (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 519
    functionName: drbg_max_requests
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t drbg_max_requests (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - flags
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 541
    functionName: drbg_sec_strength
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short drbg_sec_strength (u32 flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - dst
    - dstlen
    - add
    - addlen
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 572
    functionName: drbg_add_buf
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void drbg_add_buf (unsigned char *dst, size_t dstlen,\n              unsigned
      char *add, size_t addlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/random/random-drbg.c:594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - length
    - origin
    argTypes:
    - void*
    - size_t
    - enum random_origins
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 600
    functionName: drbg_read_cb
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    linkageType: ''
    returnType: void
    signature: "void drbg_read_cb (const void *buffer, size_t length,\n              enum
      random_origins origin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_rndgetentropy_gather_random
      Src: /src/libgcrypt/random/random-drbg.c:616,1
    - Dst: _gcry_rndoldlinux_gather_random
      Src: /src/libgcrypt/random/random-drbg.c:619,1
    - Dst: _gcry_rndunix_gather_random
      Src: /src/libgcrypt/random/random-drbg.c:622,1
    - Dst: _gcry_rndw32_gather_random
      Src: /src/libgcrypt/random/random-drbg.c:627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - drbg
    - buffer
    - len
    argTypes:
    - drbg_state_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 602
    functionDepth: 5
    functionLinenumber: 602
    functionLinenumberEnd: 635
    functionName: drbg_get_entropy
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - _gcry_rndgetentropy_gather_random
    - _gcry_rndw32_gather_random
    - _gcry_rndunix_gather_random
    - _gcry_rndoldlinux_gather_random
    linkageType: ''
    returnType: int
    signature: "int drbg_get_entropy (drbg_state_t drbg, unsigned char *buffer,\n\t\t
      \      size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:653,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:653,1
    - Dst: memset
      Src: /src/libgcrypt/random/random-drbg.c:656,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:656,1
    - Dst: drbg_sym_setkey
      Src: /src/libgcrypt/random/random-drbg.c:658,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:667,1
    - Dst: drbg_sym
      Src: /src/libgcrypt/random/random-drbg.c:694,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - drbg
    - out
    - key
    - in
    argTypes:
    - drbg_state_t
    - unsigned char*
    - unsigned char*
    - drbg_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 700
    functionName: drbg_ctr_bcc
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - drbg_string_fill
    - drbg_blocklen
    - drbg_sym
    - memset
    - drbg_sym_setkey
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t drbg_ctr_bcc (drbg_state_t drbg,\n              unsigned
      char *out, const unsigned char *key,\n              drbg_string_t *in)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:753,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:754,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:755,1
    - Dst: memset
      Src: /src/libgcrypt/random/random-drbg.c:768,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:768,1
    - Dst: memset
      Src: /src/libgcrypt/random/random-drbg.c:769,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:769,1
    - Dst: memset
      Src: /src/libgcrypt/random/random-drbg.c:770,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:770,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/random/random-drbg.c:781,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/random/random-drbg.c:784,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:787,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:790,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:797,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:797,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:798,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:799,1
    - Dst: drbg_keylen
      Src: /src/libgcrypt/random/random-drbg.c:812,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:812,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/random/random-drbg.c:817,1
    - Dst: drbg_ctr_bcc
      Src: /src/libgcrypt/random/random-drbg.c:819,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:824,1
    - Dst: drbg_keylen
      Src: /src/libgcrypt/random/random-drbg.c:829,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:830,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:830,1
    - Dst: drbg_sym_setkey
      Src: /src/libgcrypt/random/random-drbg.c:835,1
    - Dst: drbg_sym
      Src: /src/libgcrypt/random/random-drbg.c:845,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:848,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:849,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/random-drbg.c:851,1
    - Dst: memset
      Src: /src/libgcrypt/random/random-drbg.c:858,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:858,1
    - Dst: memset
      Src: /src/libgcrypt/random/random-drbg.c:859,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:859,1
    - Dst: memset
      Src: /src/libgcrypt/random/random-drbg.c:860,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:860,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 4
    argNames:
    - drbg
    - df_data
    - bytes_to_return
    - addtl
    argTypes:
    - drbg_state_t
    - unsigned char*
    - size_t
    - drbg_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 862
    functionName: drbg_ctr_df
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - drbg_string_fill
    - buf_put_be32
    - drbg_blocklen
    - drbg_statelen
    - drbg_sym
    - drbg_ctr_bcc
    - memset
    - drbg_sym_setkey
    - drbg_keylen
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t drbg_ctr_df (drbg_state_t drbg, unsigned char *df_data,\n
      \            size_t bytes_to_return, drbg_string_t *addtl)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:886,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:886,1
    - Dst: memset
      Src: /src/libgcrypt/random/random-drbg.c:889,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:889,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:889,1
    - Dst: memset
      Src: /src/libgcrypt/random/random-drbg.c:891,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:891,1
    - Dst: drbg_add_buf
      Src: /src/libgcrypt/random/random-drbg.c:902,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:902,1
    - Dst: _gcry_cipher_setkey
      Src: /src/libgcrypt/random/random-drbg.c:904,1
    - Dst: drbg_keylen
      Src: /src/libgcrypt/random/random-drbg.c:904,1
    - Dst: drbg_ctr_df
      Src: /src/libgcrypt/random/random-drbg.c:913,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:913,1
    - Dst: drbg_sym_ctr
      Src: /src/libgcrypt/random/random-drbg.c:918,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:918,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:919,1
    - Dst: _gcry_cipher_setkey
      Src: /src/libgcrypt/random/random-drbg.c:924,1
    - Dst: drbg_keylen
      Src: /src/libgcrypt/random/random-drbg.c:924,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/random-drbg.c:929,1
    - Dst: drbg_keylen
      Src: /src/libgcrypt/random/random-drbg.c:929,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:929,1
    - Dst: drbg_add_buf
      Src: /src/libgcrypt/random/random-drbg.c:931,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:931,1
    - Dst: memset
      Src: /src/libgcrypt/random/random-drbg.c:935,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:935,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:935,1
    - Dst: memset
      Src: /src/libgcrypt/random/random-drbg.c:937,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:937,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - drbg
    - addtl
    - reseed
    argTypes:
    - drbg_state_t
    - drbg_string_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 879
    functionDepth: 5
    functionLinenumber: 879
    functionLinenumberEnd: 939
    functionName: drbg_ctr_update
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - drbg_sym_ctr
    - drbg_blocklen
    - drbg_statelen
    - _gcry_cipher_setkey
    - drbg_add_buf
    - memset
    - drbg_keylen
    - memcpy
    - drbg_ctr_df
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t drbg_ctr_update (drbg_state_t drbg, drbg_string_t *addtl,
      int reseed)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/random/random-drbg.c:954,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:954,1
    - Dst: drbg_ctr_update
      Src: /src/libgcrypt/random/random-drbg.c:960,1
    - Dst: drbg_sym_ctr
      Src: /src/libgcrypt/random/random-drbg.c:966,1
    - Dst: drbg_ctr_update
      Src: /src/libgcrypt/random/random-drbg.c:973,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - drbg
    - buf
    - buflen
    - addtl
    argTypes:
    - drbg_state_t
    - unsigned char*
    - unsigned int
    - drbg_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 946
    functionDepth: 6
    functionLinenumber: 946
    functionLinenumberEnd: 977
    functionName: drbg_ctr_generate
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - drbg_blocklen
    - drbg_sym_ctr
    - memset
    - drbg_ctr_update
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t drbg_ctr_generate (drbg_state_t drbg,\n                   unsigned
      char *buf, unsigned int buflen,\n                   drbg_string_t *addtl)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/random/random-drbg.c:1001,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1001,1
    - Dst: drbg_hmac_setkey
      Src: /src/libgcrypt/random/random-drbg.c:1002,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1009,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1009,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1011,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1016,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1016,1
    - Dst: drbg_hash
      Src: /src/libgcrypt/random/random-drbg.c:1027,1
    - Dst: drbg_hmac_setkey
      Src: /src/libgcrypt/random/random-drbg.c:1028,1
    - Dst: drbg_hash
      Src: /src/libgcrypt/random/random-drbg.c:1033,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/random-drbg.c:1034,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:1034,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - drbg
    - seed
    - reseed
    argTypes:
    - drbg_state_t
    - drbg_string_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 1041
    functionName: drbg_hmac_update
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - drbg_hmac_setkey
    - drbg_string_fill
    - drbg_blocklen
    - drbg_statelen
    - memset
    - drbg_hash
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t drbg_hmac_update (drbg_state_t drbg, drbg_string_t *seed,
      int reseed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: drbg_hmac_update
      Src: /src/libgcrypt/random/random-drbg.c:1056,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1061,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1061,1
    - Dst: drbg_hash
      Src: /src/libgcrypt/random/random-drbg.c:1066,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/random-drbg.c:1067,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:1067,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:1068,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:1069,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/random-drbg.c:1072,1
    - Dst: drbg_hmac_update
      Src: /src/libgcrypt/random/random-drbg.c:1079,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - drbg
    - buf
    - buflen
    - addtl
    argTypes:
    - drbg_state_t
    - unsigned char*
    - unsigned int
    - drbg_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1082
    functionName: drbg_hmac_generate
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - drbg_string_fill
    - drbg_blocklen
    - drbg_statelen
    - drbg_hmac_update
    - drbg_hash
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t drbg_hmac_generate (drbg_state_t drbg, unsigned char
      *buf, unsigned int buflen,\n                    drbg_string_t *addtl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf_put_be32
      Src: /src/libgcrypt/random/random-drbg.c:1117,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1120,1
    - Dst: drbg_hash
      Src: /src/libgcrypt/random/random-drbg.c:1128,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:1131,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:1132,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/random-drbg.c:1133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - drbg
    - outval
    - outlen
    - entropy
    argTypes:
    - drbg_state_t
    - unsigned char*
    - size_t
    - drbg_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1106
    functionDepth: 1
    functionLinenumber: 1106
    functionLinenumberEnd: 1138
    functionName: drbg_hash_df
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - drbg_string_fill
    - buf_put_be32
    - drbg_blocklen
    - drbg_hash
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t drbg_hash_df (drbg_state_t drbg,\n              unsigned
      char *outval, size_t outlen,\n              drbg_string_t *entropy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgcrypt/random/random-drbg.c:1149,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1149,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/random-drbg.c:1159,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1159,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1160,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1161,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1161,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1167,1
    - Dst: drbg_hash_df
      Src: /src/libgcrypt/random/random-drbg.c:1172,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1172,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1178,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1179,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1179,1
    - Dst: drbg_hash_df
      Src: /src/libgcrypt/random/random-drbg.c:1182,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1182,1
    - Dst: memset
      Src: /src/libgcrypt/random/random-drbg.c:1185,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - drbg
    - seed
    - reseed
    argTypes:
    - drbg_state_t
    - drbg_string_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1187
    functionName: drbg_hash_update
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - drbg_string_fill
    - drbg_statelen
    - memset
    - drbg_hash_df
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t drbg_hash_update (drbg_state_t drbg, drbg_string_t *seed,
      int reseed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1203,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1204,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1204,1
    - Dst: drbg_hash
      Src: /src/libgcrypt/random/random-drbg.c:1210,1
    - Dst: drbg_add_buf
      Src: /src/libgcrypt/random/random-drbg.c:1213,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1213,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:1213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - drbg
    - addtl
    argTypes:
    - drbg_state_t
    - drbg_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1216
    functionName: drbg_hash_process_addtl
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - drbg_string_fill
    - drbg_blocklen
    - drbg_statelen
    - drbg_add_buf
    - drbg_hash
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t drbg_hash_process_addtl (drbg_state_t drbg, drbg_string_t
      *addtl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgcrypt/random/random-drbg.c:1230,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1230,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1232,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1232,1
    - Dst: drbg_hash
      Src: /src/libgcrypt/random/random-drbg.c:1237,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:1238,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:1239,1
    - Dst: memcpy
      Src: /src/libgcrypt/random/random-drbg.c:1241,1
    - Dst: drbg_add_buf
      Src: /src/libgcrypt/random/random-drbg.c:1245,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1245,1
    - Dst: memset
      Src: /src/libgcrypt/random/random-drbg.c:1248,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - drbg
    - buf
    - buflen
    argTypes:
    - drbg_state_t
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1221
    functionDepth: 1
    functionLinenumber: 1221
    functionLinenumberEnd: 1250
    functionName: drbg_hash_hashgen
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - drbg_string_fill
    - drbg_blocklen
    - drbg_statelen
    - drbg_add_buf
    - memset
    - drbg_hash
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t drbg_hash_hashgen (drbg_state_t drbg, unsigned char
      *buf, unsigned int buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: drbg_hash_process_addtl
      Src: /src/libgcrypt/random/random-drbg.c:1268,1
    - Dst: drbg_hash_hashgen
      Src: /src/libgcrypt/random/random-drbg.c:1273,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1278,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1279,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1279,1
    - Dst: drbg_hash
      Src: /src/libgcrypt/random/random-drbg.c:1283,1
    - Dst: drbg_add_buf
      Src: /src/libgcrypt/random/random-drbg.c:1286,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1286,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:1286,1
    - Dst: drbg_add_buf
      Src: /src/libgcrypt/random/random-drbg.c:1287,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1287,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1287,1
    - Dst: be_bswap64
      Src: /src/libgcrypt/random/random-drbg.c:1288,1
    - Dst: drbg_add_buf
      Src: /src/libgcrypt/random/random-drbg.c:1289,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - drbg
    - buf
    - buflen
    - addtl
    argTypes:
    - drbg_state_t
    - unsigned char*
    - unsigned int
    - drbg_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1253
    functionDepth: 2
    functionLinenumber: 1253
    functionLinenumberEnd: 1292
    functionName: drbg_hash_generate
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - drbg_hash_hashgen
    - drbg_string_fill
    - be_bswap64
    - drbg_blocklen
    - drbg_statelen
    - drbg_add_buf
    - drbg_hash_process_addtl
    - drbg_hash
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t drbg_hash_generate (drbg_state_t drbg, unsigned char
      *buf, unsigned int buflen,\n\t\t    drbg_string_t *addtl)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: drbg_max_addtl
      Src: /src/libgcrypt/random/random-drbg.c:1329,1
    - Dst: dbg
      Src: /src/libgcrypt/random/random-drbg.c:1331,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1336,1
    - Dst: dbg
      Src: /src/libgcrypt/random/random-drbg.c:1338,1
    - Dst: drbg_sec_strength
      Src: /src/libgcrypt/random/random-drbg.c:1348,1
    - Dst: dbg
      Src: /src/libgcrypt/random/random-drbg.c:1355,1
    - Dst: xcalloc_secure
      Src: /src/libgcrypt/random/random-drbg.c:1356,1
    - Dst: drbg_get_entropy
      Src: /src/libgcrypt/random/random-drbg.c:1359,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1362,1
    - Dst: dbg
      Src: /src/libgcrypt/random/random-drbg.c:1371,1
    - Dst: drbg_state_t::d_ops::update
      Src: /src/libgcrypt/random/random-drbg.c:1374,1
    - Dst: dbg
      Src: /src/libgcrypt/random/random-drbg.c:1375,1
    - Dst: xfree
      Src: /src/libgcrypt/random/random-drbg.c:1383,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - drbg
    - pers
    - reseed
    argTypes:
    - drbg_state_t
    - drbg_string_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1320
    functionDepth: 6
    functionLinenumber: 1320
    functionLinenumberEnd: 1385
    functionName: drbg_seed
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - drbg_max_addtl
    - xcalloc_secure
    - drbg_string_fill
    - drbg_sec_strength
    - drbg_state_t::d_ops::update
    - dbg
    - xfree
    - drbg_get_entropy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t drbg_seed (drbg_state_t drbg, drbg_string_t *pers, int
      reseed)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dbg
      Src: /src/libgcrypt/random/random-drbg.c:1417,1
    - Dst: dbg
      Src: /src/libgcrypt/random/random-drbg.c:1422,1
    - Dst: drbg_max_request_bytes
      Src: /src/libgcrypt/random/random-drbg.c:1427,1
    - Dst: dbg
      Src: /src/libgcrypt/random/random-drbg.c:1429,1
    - Dst: drbg_max_addtl
      Src: /src/libgcrypt/random/random-drbg.c:1434,1
    - Dst: dbg
      Src: /src/libgcrypt/random/random-drbg.c:1436,1
    - Dst: drbg_max_requests
      Src: /src/libgcrypt/random/random-drbg.c:1443,1
    - Dst: dbg
      Src: /src/libgcrypt/random/random-drbg.c:1448,1
    - Dst: drbg_seed
      Src: /src/libgcrypt/random/random-drbg.c:1450,1
    - Dst: dbg
      Src: /src/libgcrypt/random/random-drbg.c:1459,1
    - Dst: drbg_state_t::d_ops::generate
      Src: /src/libgcrypt/random/random-drbg.c:1463,1
    - Dst: dbg
      Src: /src/libgcrypt/random/random-drbg.c:1484,1
    - Dst: drbg_healthcheck
      Src: /src/libgcrypt/random/random-drbg.c:1485,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/random-drbg.c:1488,1
    - Dst: dbg
      Src: /src/libgcrypt/random/random-drbg.c:1493,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 4
    argNames:
    - drbg
    - buf
    - buflen
    - addtl
    argTypes:
    - drbg_state_t
    - unsigned char*
    - unsigned int
    - drbg_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1408
    functionDepth: 7
    functionLinenumber: 1408
    functionLinenumberEnd: 1499
    functionName: drbg_generate
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - drbg_max_addtl
    - drbg_state_t::d_ops::generate
    - log_fatal
    - drbg_seed
    - drbg_max_requests
    - dbg
    - drbg_healthcheck
    - drbg_max_request_bytes
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t drbg_generate (drbg_state_t drbg,\n               unsigned
      char *buf, unsigned int buflen,\n               drbg_string_t *addtl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drbg_max_request_bytes
      Src: /src/libgcrypt/random/random-drbg.c:1521,1
    - Dst: drbg_max_request_bytes
      Src: /src/libgcrypt/random/random-drbg.c:1522,1
    - Dst: drbg_generate
      Src: /src/libgcrypt/random/random-drbg.c:1523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - drbg
    - buf
    - buflen
    - addtl
    argTypes:
    - drbg_state_t
    - unsigned char*
    - unsigned int
    - drbg_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1509
    functionDepth: 8
    functionLinenumber: 1509
    functionLinenumberEnd: 1531
    functionName: drbg_generate_long
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - drbg_generate
    - drbg_max_request_bytes
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t drbg_generate_long (drbg_state_t drbg,\n                    unsigned
      char *buf, unsigned int buflen,\n                    drbg_string_t *addtl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drbg_state_t::d_ops::crypto_fini
      Src: /src/libgcrypt/random/random-drbg.c:1547,1
    - Dst: xfree
      Src: /src/libgcrypt/random/random-drbg.c:1548,1
    - Dst: xfree
      Src: /src/libgcrypt/random/random-drbg.c:1550,1
    - Dst: xfree
      Src: /src/libgcrypt/random/random-drbg.c:1553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - drbg_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1559
    functionName: drbg_uninstantiate
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - drbg_state_t::d_ops::crypto_fini
    - xfree
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t drbg_uninstantiate (drbg_state_t drbg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dbg
      Src: /src/libgcrypt/random/random-drbg.c:1593,1
    - Dst: drbg_state_t::d_ops::crypto_init
      Src: /src/libgcrypt/random/random-drbg.c:1615,1
    - Dst: xcalloc_secure
      Src: /src/libgcrypt/random/random-drbg.c:1619,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1619,1
    - Dst: xcalloc_secure
      Src: /src/libgcrypt/random/random-drbg.c:1622,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1622,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1629,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:1629,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1630,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:1631,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:1632,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1633,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:1633,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:1635,1
    - Dst: xcalloc_secure
      Src: /src/libgcrypt/random/random-drbg.c:1639,1
    - Dst: dbg
      Src: /src/libgcrypt/random/random-drbg.c:1643,1
    - Dst: drbg_seed
      Src: /src/libgcrypt/random/random-drbg.c:1646,1
    - Dst: dbg
      Src: /src/libgcrypt/random/random-drbg.c:1650,1
    - Dst: drbg_state_t::d_ops::crypto_fini
      Src: /src/libgcrypt/random/random-drbg.c:1655,1
    - Dst: drbg_uninstantiate
      Src: /src/libgcrypt/random/random-drbg.c:1657,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 4
    argNames:
    - drbg
    - pers
    - coreref
    - pr
    argTypes:
    - drbg_state_t
    - drbg_string_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1583
    functionDepth: 7
    functionLinenumber: 1583
    functionLinenumberEnd: 1659
    functionName: drbg_instantiate
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - drbg_state_t::d_ops::crypto_fini
    - xcalloc_secure
    - drbg_blocklen
    - drbg_statelen
    - drbg_uninstantiate
    - drbg_seed
    - dbg
    - drbg_state_t::d_ops::crypto_init
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t drbg_instantiate (drbg_state_t drbg,\n                  drbg_string_t
      *pers, int coreref, int pr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drbg_seed
      Src: /src/libgcrypt/random/random-drbg.c:1678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - drbg
    - addtl
    argTypes:
    - drbg_state_t
    - drbg_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1674
    functionDepth: 7
    functionLinenumber: 1674
    functionLinenumberEnd: 1680
    functionName: drbg_reseed
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - drbg_seed
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t drbg_reseed (drbg_state_t drbg,drbg_string_t *addtl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_lock_lock
      Src: /src/libgcrypt/random/random-drbg.c:1697,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/random-drbg.c:1699,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/random/random-drbg.c:1699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1692
    functionDepth: 2
    functionLinenumber: 1692
    functionLinenumberEnd: 1700
    functionName: drbg_lock
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - log_fatal
    - gpg_strerror
    - gpgrt_lock_lock
    linkageType: ''
    returnType: void
    signature: void drbg_lock (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_lock_unlock
      Src: /src/libgcrypt/random/random-drbg.c:1707,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/random-drbg.c:1709,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/random/random-drbg.c:1709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1702
    functionDepth: 2
    functionLinenumber: 1702
    functionLinenumberEnd: 1710
    functionName: drbg_unlock
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - gpgrt_lock_unlock
    - log_fatal
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void drbg_unlock (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/random/random-drbg.c:1725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1714
    functionDepth: 1
    functionLinenumber: 1714
    functionLinenumberEnd: 1728
    functionName: basic_initialization
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 1
    functionsReached:
    - gcry_assert
    linkageType: ''
    returnType: void
    signature: void basic_initialization (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/libgcrypt/random/random-drbg.c:1737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - flags
    - coreref
    argTypes:
    - u32
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1747
    functionName: drbg_algo_available
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t drbg_algo_available (u32 flags, int *coreref)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: drbg_algo_available
      Src: /src/libgcrypt/random/random-drbg.c:1770,1
    - Dst: drbg_uninstantiate
      Src: /src/libgcrypt/random/random-drbg.c:1776,1
    - Dst: drbg_instantiate
      Src: /src/libgcrypt/random/random-drbg.c:1784,1
    - Dst: fips_signal_error
      Src: /src/libgcrypt/random/random-drbg.c:1786,1
    - Dst: getpid
      Src: /src/libgcrypt/random/random-drbg.c:1788,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - flags
    - pers
    argTypes:
    - u32
    - drbg_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1749
    functionDepth: 8
    functionLinenumber: 1749
    functionLinenumberEnd: 1790
    functionName: _drbg_init_internal
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - drbg_instantiate
    - drbg_uninstantiate
    - drbg_algo_available
    - fips_signal_error
    - getpid
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _drbg_init_internal (u32 flags, drbg_string_t *pers)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: basic_initialization
      Src: /src/libgcrypt/random/random-drbg.c:1800,1
    - Dst: drbg_lock
      Src: /src/libgcrypt/random/random-drbg.c:1803,1
    - Dst: _drbg_init_internal
      Src: /src/libgcrypt/random/random-drbg.c:1805,1
    - Dst: drbg_unlock
      Src: /src/libgcrypt/random/random-drbg.c:1806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - full
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1797
    functionDepth: 9
    functionLinenumber: 1797
    functionLinenumberEnd: 1807
    functionName: _gcry_rngdrbg_inititialize
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 1
    functionsReached:
    - _drbg_init_internal
    - drbg_lock
    - drbg_unlock
    - basic_initialization
    linkageType: ''
    returnType: void
    signature: void _gcry_rngdrbg_inititialize (int full)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_flag_string
      Src: /src/libgcrypt/random/random-drbg.c:1837,1
    - Dst: dbg
      Src: /src/libgcrypt/random/random-drbg.c:1840,1
    - Dst: drbg_lock
      Src: /src/libgcrypt/random/random-drbg.c:1841,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1846,1
    - Dst: _drbg_init_internal
      Src: /src/libgcrypt/random/random-drbg.c:1849,1
    - Dst: _drbg_init_internal
      Src: /src/libgcrypt/random/random-drbg.c:1852,1
    - Dst: drbg_unlock
      Src: /src/libgcrypt/random/random-drbg.c:1853,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - flagstr
    - pers
    - npers
    argTypes:
    - char*
    - gcry_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1826
    functionDepth: 9
    functionLinenumber: 1826
    functionLinenumberEnd: 1856
    functionName: _gcry_rngdrbg_reinit
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 2
    functionsReached:
    - drbg_unlock
    - parse_flag_string
    - drbg_string_fill
    - _drbg_init_internal
    - dbg
    - drbg_lock
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_rngdrbg_reinit (const char *flagstr, gcry_buffer_t
      *pers, int npers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drbg_lock
      Src: /src/libgcrypt/random/random-drbg.c:1864,1
    - Dst: _gcry_rndgetentropy_gather_random
      Src: /src/libgcrypt/random/random-drbg.c:1866,1
    - Dst: _gcry_rndoldlinux_gather_random
      Src: /src/libgcrypt/random/random-drbg.c:1869,1
    - Dst: drbg_uninstantiate
      Src: /src/libgcrypt/random/random-drbg.c:1873,1
    - Dst: drbg_unlock
      Src: /src/libgcrypt/random/random-drbg.c:1876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1861
    functionDepth: 4
    functionLinenumber: 1861
    functionLinenumberEnd: 1877
    functionName: _gcry_rngdrbg_close_fds
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 1
    functionsReached:
    - drbg_unlock
    - drbg_lock
    - _gcry_rndgetentropy_gather_random
    - drbg_uninstantiate
    - _gcry_rndoldlinux_gather_random
    linkageType: ''
    returnType: void
    signature: void _gcry_rngdrbg_close_fds (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1885
    functionName: _gcry_rngdrbg_dump_stats
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_rngdrbg_dump_stats (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1889
    functionDepth: 0
    functionLinenumber: 1889
    functionLinenumberEnd: 1893
    functionName: _gcry_rngdrbg_is_faked
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gcry_rngdrbg_is_faked (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_rngdrbg_inititialize
      Src: /src/libgcrypt/random/random-drbg.c:1904,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:1907,1
    - Dst: drbg_lock
      Src: /src/libgcrypt/random/random-drbg.c:1908,1
    - Dst: drbg_reseed
      Src: /src/libgcrypt/random/random-drbg.c:1909,1
    - Dst: drbg_unlock
      Src: /src/libgcrypt/random/random-drbg.c:1910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - buflen
    - quality
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1898
    functionDepth: 10
    functionLinenumber: 1898
    functionLinenumberEnd: 1912
    functionName: _gcry_rngdrbg_add_bytes
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - _gcry_rngdrbg_inititialize
    - drbg_unlock
    - drbg_string_fill
    - drbg_reseed
    - drbg_lock
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t _gcry_rngdrbg_add_bytes (const void *buf, size_t buflen,
      int quality)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_rngdrbg_inititialize
      Src: /src/libgcrypt/random/random-drbg.c:1922,1
    - Dst: drbg_lock
      Src: /src/libgcrypt/random/random-drbg.c:1923,1
    - Dst: fips_signal_error
      Src: /src/libgcrypt/random/random-drbg.c:1926,1
    - Dst: getpid
      Src: /src/libgcrypt/random/random-drbg.c:1932,1
    - Dst: getpid
      Src: /src/libgcrypt/random/random-drbg.c:1935,1
    - Dst: drbg_reseed
      Src: /src/libgcrypt/random/random-drbg.c:1938,1
    - Dst: fips_signal_error
      Src: /src/libgcrypt/random/random-drbg.c:1940,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/random-drbg.c:1941,1
    - Dst: drbg_generate_long
      Src: /src/libgcrypt/random/random-drbg.c:1951,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/random-drbg.c:1952,1
    - Dst: fips_signal_error
      Src: /src/libgcrypt/random/random-drbg.c:1960,1
    - Dst: drbg_generate_long
      Src: /src/libgcrypt/random/random-drbg.c:1963,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/random-drbg.c:1965,1
    - Dst: drbg_unlock
      Src: /src/libgcrypt/random/random-drbg.c:1969,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - buffer
    - length
    - level
    argTypes:
    - void*
    - size_t
    - enum gcry_random_level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1917
    functionDepth: 10
    functionLinenumber: 1917
    functionLinenumberEnd: 1972
    functionName: _gcry_rngdrbg_randomize
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 2
    functionsReached:
    - _gcry_rngdrbg_inititialize
    - drbg_unlock
    - drbg_lock
    - log_fatal
    - drbg_reseed
    - fips_signal_error
    - getpid
    - drbg_generate_long
    linkageType: ''
    returnType: void
    signature: "void _gcry_rngdrbg_randomize (void *buffer, size_t length,\n\t\t      enum
      gcry_random_level level)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: parse_flag_string
      Src: /src/libgcrypt/random/random-drbg.c:2313,1
    - Dst: drbg_algo_available
      Src: /src/libgcrypt/random/random-drbg.c:2317,1
    - Dst: xtrycalloc_secure
      Src: /src/libgcrypt/random/random-drbg.c:2321,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/random/random-drbg.c:2324,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:2332,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:2334,1
    - Dst: drbg_instantiate
      Src: /src/libgcrypt/random/random-drbg.c:2335,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:2341,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:2343,1
    - Dst: drbg_reseed
      Src: /src/libgcrypt/random/random-drbg.c:2345,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:2349,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:2352,1
    - Dst: drbg_generate_long
      Src: /src/libgcrypt/random/random-drbg.c:2355,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:2357,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:2360,1
    - Dst: drbg_generate_long
      Src: /src/libgcrypt/random/random-drbg.c:2363,1
    - Dst: drbg_uninstantiate
      Src: /src/libgcrypt/random/random-drbg.c:2364,1
    - Dst: xfree
      Src: /src/libgcrypt/random/random-drbg.c:2367,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 2
    argNames:
    - test
    - buf
    argTypes:
    - struct gcry_drbg_test_vector*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2302
    functionDepth: 9
    functionLinenumber: 2302
    functionLinenumberEnd: 2369
    functionName: _gcry_rngdrbg_cavs_test
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 2
    functionsReached:
    - xtrycalloc_secure
    - parse_flag_string
    - gpg_err_code_from_syserror
    - drbg_string_fill
    - drbg_instantiate
    - drbg_uninstantiate
    - drbg_reseed
    - xfree
    - drbg_algo_available
    - drbg_generate_long
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_rngdrbg_cavs_test (struct gcry_drbg_test_vector
      *test, unsigned char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc_secure
      Src: /src/libgcrypt/random/random-drbg.c:2382,1
    - Dst: _gcry_rngdrbg_cavs_test
      Src: /src/libgcrypt/random/random-drbg.c:2386,1
    - Dst: memcmp
      Src: /src/libgcrypt/random/random-drbg.c:2388,1
    - Dst: xfree
      Src: /src/libgcrypt/random/random-drbg.c:2390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - test
    argTypes:
    - struct gcry_drbg_test_vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2378
    functionDepth: 10
    functionLinenumber: 2378
    functionLinenumberEnd: 2392
    functionName: _gcry_rngdrbg_healthcheck_one
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 2
    functionsReached:
    - _gcry_rngdrbg_cavs_test
    - memcmp
    - xfree
    - xcalloc_secure
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_rngdrbg_healthcheck_one (struct gcry_drbg_test_vector
      * test)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fips_mode
      Src: /src/libgcrypt/random/random-drbg.c:2416,1
    - Dst: parse_flag_string
      Src: /src/libgcrypt/random/random-drbg.c:2419,1
    - Dst: xtrycalloc_secure
      Src: /src/libgcrypt/random/random-drbg.c:2424,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/random/random-drbg.c:2426,1
    - Dst: drbg_algo_available
      Src: /src/libgcrypt/random/random-drbg.c:2427,1
    - Dst: xtrycalloc_secure
      Src: /src/libgcrypt/random/random-drbg.c:2430,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/random/random-drbg.c:2433,1
    - Dst: drbg_instantiate
      Src: /src/libgcrypt/random/random-drbg.c:2439,1
    - Dst: drbg_max_addtl
      Src: /src/libgcrypt/random/random-drbg.c:2442,1
    - Dst: drbg_max_request_bytes
      Src: /src/libgcrypt/random/random-drbg.c:2443,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:2445,1
    - Dst: drbg_generate
      Src: /src/libgcrypt/random/random-drbg.c:2446,1
    - Dst: drbg_generate
      Src: /src/libgcrypt/random/random-drbg.c:2451,1
    - Dst: drbg_uninstantiate
      Src: /src/libgcrypt/random/random-drbg.c:2454,1
    - Dst: drbg_instantiate
      Src: /src/libgcrypt/random/random-drbg.c:2460,1
    - Dst: drbg_string_fill
      Src: /src/libgcrypt/random/random-drbg.c:2466,1
    - Dst: drbg_instantiate
      Src: /src/libgcrypt/random/random-drbg.c:2468,1
    - Dst: dbg
      Src: /src/libgcrypt/random/random-drbg.c:2472,1
    - Dst: drbg_uninstantiate
      Src: /src/libgcrypt/random/random-drbg.c:2476,1
    - Dst: xfree
      Src: /src/libgcrypt/random/random-drbg.c:2478,1
    - Dst: xfree
      Src: /src/libgcrypt/random/random-drbg.c:2479,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 1
    argNames:
    - test
    argTypes:
    - struct gcry_drbg_test_vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2481
      start: 2401
    functionDepth: 8
    functionLinenumber: 2401
    functionLinenumberEnd: 2481
    functionName: drbg_healthcheck_sanity
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - xtrycalloc_secure
    - parse_flag_string
    - drbg_max_addtl
    - gpg_err_code_from_syserror
    - drbg_string_fill
    - drbg_instantiate
    - drbg_uninstantiate
    - fips_mode
    - dbg
    - xfree
    - drbg_max_request_bytes
    - drbg_generate
    - drbg_algo_available
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t drbg_healthcheck_sanity (struct gcry_drbg_test_vector
      *test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_rngdrbg_healthcheck_one
      Src: /src/libgcrypt/random/random-drbg.c:2494,1
    - Dst: _gcry_rngdrbg_healthcheck_one
      Src: /src/libgcrypt/random/random-drbg.c:2495,1
    - Dst: _gcry_rngdrbg_healthcheck_one
      Src: /src/libgcrypt/random/random-drbg.c:2496,1
    - Dst: _gcry_rngdrbg_healthcheck_one
      Src: /src/libgcrypt/random/random-drbg.c:2497,1
    - Dst: _gcry_rngdrbg_healthcheck_one
      Src: /src/libgcrypt/random/random-drbg.c:2498,1
    - Dst: _gcry_rngdrbg_healthcheck_one
      Src: /src/libgcrypt/random/random-drbg.c:2499,1
    - Dst: _gcry_rngdrbg_healthcheck_one
      Src: /src/libgcrypt/random/random-drbg.c:2500,1
    - Dst: _gcry_rngdrbg_healthcheck_one
      Src: /src/libgcrypt/random/random-drbg.c:2501,1
    - Dst: drbg_healthcheck_sanity
      Src: /src/libgcrypt/random/random-drbg.c:2502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2504
      start: 2490
    functionDepth: 11
    functionLinenumber: 2490
    functionLinenumberEnd: 2504
    functionName: drbg_healthcheck
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 1
    functionsReached:
    - _gcry_rngdrbg_healthcheck_one
    - drbg_healthcheck_sanity
    linkageType: ''
    returnType: int
    signature: int drbg_healthcheck (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: drbg_lock
      Src: /src/libgcrypt/random/random-drbg.c:2512,1
    - Dst: drbg_healthcheck
      Src: /src/libgcrypt/random/random-drbg.c:2513,1
    - Dst: drbg_unlock
      Src: /src/libgcrypt/random/random-drbg.c:2515,1
    - Dst: report
      Src: /src/libgcrypt/random/random-drbg.c:2517,1
    - Dst: gpg_error
      Src: /src/libgcrypt/random/random-drbg.c:2519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - report
    argTypes:
    - selftest_report_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2507
    functionDepth: 12
    functionLinenumber: 2507
    functionLinenumberEnd: 2520
    functionName: _gcry_rngdrbg_selftest
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 1
    functionsReached:
    - drbg_unlock
    - drbg_healthcheck
    - gpg_error
    - drbg_lock
    - report
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t _gcry_rngdrbg_selftest (selftest_report_func_t report)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/random/random-drbg.c:2532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - drbg_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2539
      start: 2526
    functionDepth: 3
    functionLinenumber: 2526
    functionLinenumberEnd: 2539
    functionName: drbg_hash_init
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - _gcry_md_open_internal
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t drbg_hash_init (drbg_state_t drbg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_open_internal
      Src: /src/libgcrypt/random/random-drbg.c:2547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - drbg_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2555
      start: 2541
    functionDepth: 3
    functionLinenumber: 2541
    functionLinenumberEnd: 2555
    functionName: drbg_hmac_init
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - _gcry_md_open_internal
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t drbg_hmac_init (drbg_state_t drbg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_setkey
      Src: /src/libgcrypt/random/random-drbg.c:2562,1
    - Dst: drbg_statelen
      Src: /src/libgcrypt/random/random-drbg.c:2562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - drbg
    - key
    argTypes:
    - drbg_state_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2563
      start: 2557
    functionDepth: 3
    functionLinenumber: 2557
    functionLinenumberEnd: 2563
    functionName: drbg_hmac_setkey
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 1
    functionsReached:
    - drbg_statelen
    - _gcry_md_setkey
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t drbg_hmac_setkey (drbg_state_t drbg, const unsigned
      char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_close
      Src: /src/libgcrypt/random/random-drbg.c:2570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - drbg_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2571
      start: 2565
    functionDepth: 3
    functionLinenumber: 2565
    functionLinenumberEnd: 2571
    functionName: drbg_hash_fini
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - _gcry_md_close
    linkageType: ''
    returnType: void
    signature: void drbg_hash_fini (drbg_state_t drbg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_md_reset
      Src: /src/libgcrypt/random/random-drbg.c:2578,1
    - Dst: _gcry_md_write
      Src: /src/libgcrypt/random/random-drbg.c:2580,1
    - Dst: _gcry_md_final
      Src: /src/libgcrypt/random/random-drbg.c:2581,1
    - Dst: _gcry_md_read
      Src: /src/libgcrypt/random/random-drbg.c:2582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - drbg
    - buf
    argTypes:
    - drbg_state_t
    - drbg_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2583
      start: 2573
    functionDepth: 9
    functionLinenumber: 2573
    functionLinenumberEnd: 2583
    functionName: drbg_hash
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 6
    functionsReached:
    - _gcry_md_final
    - _gcry_md_write
    - _gcry_md_reset
    - _gcry_md_read
    linkageType: ''
    returnType: byte
    signature: 'byte *

      drbg_hash (drbg_state_t drbg, const drbg_string_t *buf)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_close
      Src: /src/libgcrypt/random/random-drbg.c:2591,1
    - Dst: _gcry_cipher_close
      Src: /src/libgcrypt/random/random-drbg.c:2593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - drbg_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2594
      start: 2585
    functionDepth: 3
    functionLinenumber: 2585
    functionLinenumberEnd: 2594
    functionName: drbg_sym_fini
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void drbg_sym_fini (drbg_state_t drbg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_open_internal
      Src: /src/libgcrypt/random/random-drbg.c:2602,1
    - Dst: drbg_sym_fini
      Src: /src/libgcrypt/random/random-drbg.c:2606,1
    - Dst: _gcry_cipher_open_internal
      Src: /src/libgcrypt/random/random-drbg.c:2611,1
    - Dst: drbg_sym_fini
      Src: /src/libgcrypt/random/random-drbg.c:2616,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:2621,1
    - Dst: _gcry_cipher_get_algo_blklen
      Src: /src/libgcrypt/random/random-drbg.c:2622,1
    - Dst: drbg_sym_fini
      Src: /src/libgcrypt/random/random-drbg.c:2624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - drbg_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2629
      start: 2596
    functionDepth: 4
    functionLinenumber: 2596
    functionLinenumberEnd: 2629
    functionName: drbg_sym_init
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 0
    functionsReached:
    - _gcry_cipher_get_algo_blklen
    - drbg_blocklen
    - _gcry_cipher_open_internal
    - drbg_sym_fini
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t drbg_sym_init (drbg_state_t drbg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_setkey
      Src: /src/libgcrypt/random/random-drbg.c:2636,1
    - Dst: drbg_keylen
      Src: /src/libgcrypt/random/random-drbg.c:2636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - drbg
    - key
    argTypes:
    - drbg_state_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2637
      start: 2631
    functionDepth: 5
    functionLinenumber: 2631
    functionLinenumberEnd: 2637
    functionName: drbg_sym_setkey
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 2
    functionsReached:
    - _gcry_cipher_setkey
    - drbg_keylen
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t drbg_sym_setkey (drbg_state_t drbg, const unsigned char
      *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_reset
      Src: /src/libgcrypt/random/random-drbg.c:2644,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:2645,1
    - Dst: _gcry_cipher_encrypt
      Src: /src/libgcrypt/random/random-drbg.c:2648,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:2648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - drbg
    - outval
    - buf
    argTypes:
    - drbg_state_t
    - unsigned char*
    - drbg_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2650
      start: 2639
    functionDepth: 3
    functionLinenumber: 2639
    functionLinenumberEnd: 2650
    functionName: drbg_sym
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 2
    functionsReached:
    - drbg_blocklen
    - _gcry_cipher_encrypt
    - _gcry_cipher_reset
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t drbg_sym (drbg_state_t drbg, unsigned char *outval,
      const drbg_string_t *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_reset
      Src: /src/libgcrypt/random/random-drbg.c:2659,1
    - Dst: _gcry_cipher_setctr
      Src: /src/libgcrypt/random/random-drbg.c:2660,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:2660,1
    - Dst: _gcry_cipher_encrypt
      Src: /src/libgcrypt/random/random-drbg.c:2668,1
    - Dst: _gcry_cipher_getctr
      Src: /src/libgcrypt/random/random-drbg.c:2676,1
    - Dst: drbg_blocklen
      Src: /src/libgcrypt/random/random-drbg.c:2676,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - drbg
    - inbuf
    - inbuflen
    - outbuf
    - outbuflen
    argTypes:
    - drbg_state_t
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2677
      start: 2652
    functionDepth: 3
    functionLinenumber: 2652
    functionLinenumberEnd: 2677
    functionName: drbg_sym_ctr
    functionSourceFile: /src/libgcrypt/random/random-drbg.c
    functionUses: 2
    functionsReached:
    - _gcry_cipher_reset
    - drbg_blocklen
    - _gcry_cipher_getctr
    - _gcry_cipher_encrypt
    - _gcry_cipher_setctr
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t drbg_sym_ctr (drbg_state_t drbg,\n\t      const unsigned
      char *inbuf, unsigned int inbuflen,\n\t      unsigned char *outbuf, unsigned
      int outbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rand_data
    argTypes:
    - struct rand_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: jent_init_statistic
    functionSourceFile: /src/libgcrypt/random/rndjent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jent_init_statistic (struct rand_data *rand_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - rand_data
    - prev_data
    argTypes:
    - struct rand_data*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 168
    functionName: jent_bit_count
    functionSourceFile: /src/libgcrypt/random/rndjent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jent_bit_count (struct rand_data *rand_data, u64 prev_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - struct entropy_stat*
    - struct entropy_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: jent_statistic_copy_stat
    functionSourceFile: /src/libgcrypt/random/rndjent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jent_statistic_copy_stat (struct entropy_stat *src, struct entropy_stat
      *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - rand_data
    - target
    - loop_cnt
    argTypes:
    - struct rand_data*
    - struct entropy_stat*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 221
    functionName: jent_calc_statistic
    functionSourceFile: /src/libgcrypt/random/rndjent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void jent_calc_statistic (struct rand_data *rand_data,\n                     struct
      entropy_stat *target, unsigned int loop_cnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_lock_lock
      Src: /src/libgcrypt/random/rndjent.c:232,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/rndjent.c:234,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/random/rndjent.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: lock_rng
    functionSourceFile: /src/libgcrypt/random/rndjent.c
    functionUses: 2
    functionsReached:
    - log_fatal
    - gpg_strerror
    - gpgrt_lock_lock
    linkageType: ''
    returnType: void
    signature: void lock_rng (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_lock_unlock
      Src: /src/libgcrypt/random/rndjent.c:247,1
    - Dst: log_fatal
      Src: /src/libgcrypt/random/rndjent.c:249,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/random/rndjent.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: unlock_rng
    functionSourceFile: /src/libgcrypt/random/rndjent.c
    functionUses: 2
    functionsReached:
    - gpgrt_lock_unlock
    - log_fatal
    - gpg_strerror
    linkageType: ''
    returnType: void
    signature: void unlock_rng (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/random/rndjent.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: is_rng_available
    functionSourceFile: /src/libgcrypt/random/rndjent.c
    functionUses: 0
    functionsReached:
    - _gcry_get_hw_features
    linkageType: ''
    returnType: int
    signature: int is_rng_available (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: is_rng_available
      Src: /src/libgcrypt/random/rndjent.c:286,1
    - Dst: lock_rng
      Src: /src/libgcrypt/random/rndjent.c:288,1
    - Dst: jent_entropy_collector_free
      Src: /src/libgcrypt/random/rndjent.c:293,1
    - Dst: _gcry_random_read_conf
      Src: /src/libgcrypt/random/rndjent.c:295,1
    - Dst: jent_entropy_init
      Src: /src/libgcrypt/random/rndjent.c:297,1
    - Dst: jent_entropy_collector_alloc
      Src: /src/libgcrypt/random/rndjent.c:299,1
    - Dst: jent_read_entropy_safe
      Src: /src/libgcrypt/random/rndjent.c:317,1
    - Dst: _gcry_md_hash_buffer
      Src: /src/libgcrypt/random/rndjent.c:322,1
    - Dst: wipememory
      Src: /src/libgcrypt/random/rndjent.c:329,1
    - Dst: unlock_rng
      Src: /src/libgcrypt/random/rndjent.c:332,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - origin
    - length
    argTypes:
    - enum random_origins
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 279
    functionDepth: 14
    functionLinenumber: 279
    functionLinenumberEnd: 343
    functionName: _gcry_rndjent_poll
    functionSourceFile: /src/libgcrypt/random/rndjent.c
    functionUses: 3
    functionsReached:
    - jent_read_entropy_safe
    - unlock_rng
    - jent_entropy_init
    - _gcry_random_read_conf
    - _gcry_md_hash_buffer
    - is_rng_available
    - wipememory
    - lock_rng
    - jent_entropy_collector_alloc
    - jent_entropy_collector_free
    linkageType: ''
    returnType: size_t
    signature: "size_t _gcry_rndjent_poll (void (*add)(const void*, size_t, enum random_origins),\n
      \                   enum random_origins origin, size_t length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_rng_available
      Src: /src/libgcrypt/random/rndjent.c:356,1
    - Dst: _gcry_rndjent_poll
      Src: /src/libgcrypt/random/rndjent.c:361,1
    - Dst: lock_rng
      Src: /src/libgcrypt/random/rndjent.c:363,1
    - Dst: is_rng_available
      Src: /src/libgcrypt/random/rndjent.c:366,1
    - Dst: unlock_rng
      Src: /src/libgcrypt/random/rndjent.c:367,1
    - Dst: jent_version
      Src: /src/libgcrypt/random/rndjent.c:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r_active
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 350
    functionDepth: 15
    functionLinenumber: 350
    functionLinenumberEnd: 376
    functionName: _gcry_rndjent_get_version
    functionSourceFile: /src/libgcrypt/random/rndjent.c
    functionUses: 2
    functionsReached:
    - unlock_rng
    - _gcry_rndjent_poll
    - is_rng_available
    - lock_rng
    - jent_version
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_rndjent_get_version (int *r_active)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_rng_available
      Src: /src/libgcrypt/random/rndjent.c:388,1
    - Dst: log_info
      Src: /src/libgcrypt/random/rndjent.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 395
    functionName: _gcry_rndjent_dump_stats
    functionSourceFile: /src/libgcrypt/random/rndjent.c
    functionUses: 1
    functionsReached:
    - log_info
    - is_rng_available
    linkageType: ''
    returnType: void
    signature: void _gcry_rndjent_dump_stats (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock_rng
      Src: /src/libgcrypt/random/rndjent.c:402,1
    - Dst: jent_entropy_collector_free
      Src: /src/libgcrypt/random/rndjent.c:406,1
    - Dst: unlock_rng
      Src: /src/libgcrypt/random/rndjent.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 398
    functionDepth: 10
    functionLinenumber: 398
    functionLinenumberEnd: 413
    functionName: _gcry_rndjent_fini
    functionSourceFile: /src/libgcrypt/random/rndjent.c
    functionUses: 2
    functionsReached:
    - unlock_rng
    - lock_rng
    - jent_entropy_collector_free
    linkageType: ''
    returnType: void
    signature: void _gcry_rndjent_fini (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/mpi/mpi-bit.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: _gcry_mpi_normalize
    functionSourceFile: /src/libgcrypt/mpi/mpi-bit.c
    functionUses: 1
    functionsReached:
    - mpi_is_opaque
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_normalize( gcry_mpi_t a )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/mpi/mpi-bit.c:75,1
    - Dst: _gcry_mpi_normalize
      Src: /src/libgcrypt/mpi/mpi-bit.c:79,1
    - Dst: count_leading_zeros
      Src: /src/libgcrypt/mpi/mpi-bit.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 91
    functionName: _gcry_mpi_get_nbits
    functionSourceFile: /src/libgcrypt/mpi/mpi-bit.c
    functionUses: 1
    functionsReached:
    - _gcry_mpi_normalize
    - count_leading_zeros
    - mpi_is_opaque
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gcry_mpi_get_nbits (gcry_mpi_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: _gcry_mpi_test_bit
    functionSourceFile: /src/libgcrypt/mpi/mpi-bit.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gcry_mpi_test_bit( gcry_mpi_t a, unsigned int n )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_immutable
      Src: /src/libgcrypt/mpi/mpi-bit.c:121,1
    - Dst: mpi_immutable_failed
      Src: /src/libgcrypt/mpi/mpi-bit.c:123,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/mpi-bit.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 138
    functionName: _gcry_mpi_set_bit
    functionSourceFile: /src/libgcrypt/mpi/mpi-bit.c
    functionUses: 1
    functionsReached:
    - mpi_resize
    - mpi_is_immutable
    - mpi_immutable_failed
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_set_bit( gcry_mpi_t a, unsigned int n )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_immutable
      Src: /src/libgcrypt/mpi/mpi-bit.c:148,1
    - Dst: mpi_immutable_failed
      Src: /src/libgcrypt/mpi/mpi-bit.c:150,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/mpi-bit.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 168
    functionName: _gcry_mpi_set_highbit
    functionSourceFile: /src/libgcrypt/mpi/mpi-bit.c
    functionUses: 1
    functionsReached:
    - mpi_resize
    - mpi_is_immutable
    - mpi_immutable_failed
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_set_highbit( gcry_mpi_t a, unsigned int n )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_immutable
      Src: /src/libgcrypt/mpi/mpi-bit.c:178,1
    - Dst: mpi_immutable_failed
      Src: /src/libgcrypt/mpi/mpi-bit.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 193
    functionName: _gcry_mpi_clear_highbit
    functionSourceFile: /src/libgcrypt/mpi/mpi-bit.c
    functionUses: 1
    functionsReached:
    - mpi_is_immutable
    - mpi_immutable_failed
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_clear_highbit( gcry_mpi_t a, unsigned int n )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_immutable
      Src: /src/libgcrypt/mpi/mpi-bit.c:203,1
    - Dst: mpi_immutable_failed
      Src: /src/libgcrypt/mpi/mpi-bit.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 215
    functionName: _gcry_mpi_clear_bit
    functionSourceFile: /src/libgcrypt/mpi/mpi-bit.c
    functionUses: 1
    functionsReached:
    - mpi_is_immutable
    - mpi_immutable_failed
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_clear_bit( gcry_mpi_t a, unsigned int n )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_immutable
      Src: /src/libgcrypt/mpi/mpi-bit.c:229,1
    - Dst: mpi_immutable_failed
      Src: /src/libgcrypt/mpi/mpi-bit.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - a
    - count
    argTypes:
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 245
    functionName: _gcry_mpi_rshift_limbs
    functionSourceFile: /src/libgcrypt/mpi/mpi-bit.c
    functionUses: 0
    functionsReached:
    - mpi_is_immutable
    - mpi_immutable_failed
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_rshift_limbs( gcry_mpi_t a, unsigned int count )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_immutable
      Src: /src/libgcrypt/mpi/mpi-bit.c:260,1
    - Dst: mpi_immutable_failed
      Src: /src/libgcrypt/mpi/mpi-bit.c:262,1
    - Dst: RESIZE_IF_NEEDED
      Src: /src/libgcrypt/mpi/mpi-bit.c:270,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/mpi-bit.c:288,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/mpi-bit.c:302,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - x
    - a
    - n
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 303
    functionName: _gcry_mpi_rshift
    functionSourceFile: /src/libgcrypt/mpi/mpi-bit.c
    functionUses: 1
    functionsReached:
    - RESIZE_IF_NEEDED
    - MPN_NORMALIZE
    - _gcry_mpih_rshift
    - mpi_immutable_failed
    - mpi_is_immutable
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_rshift ( gcry_mpi_t x, gcry_mpi_t a, unsigned int n
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RESIZE_IF_NEEDED
      Src: /src/libgcrypt/mpi/mpi-bit.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - count
    argTypes:
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 328
    functionName: _gcry_mpi_lshift_limbs
    functionSourceFile: /src/libgcrypt/mpi/mpi-bit.c
    functionUses: 0
    functionsReached:
    - RESIZE_IF_NEEDED
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_lshift_limbs (gcry_mpi_t a, unsigned int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_immutable
      Src: /src/libgcrypt/mpi/mpi-bit.c:343,1
    - Dst: mpi_immutable_failed
      Src: /src/libgcrypt/mpi/mpi-bit.c:345,1
    - Dst: RESIZE_IF_NEEDED
      Src: /src/libgcrypt/mpi/mpi-bit.c:356,1
    - Dst: _gcry_mpih_lshift
      Src: /src/libgcrypt/mpi/mpi-bit.c:362,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/mpi-bit.c:374,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - x
    - a
    - n
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 375
    functionName: _gcry_mpi_lshift
    functionSourceFile: /src/libgcrypt/mpi/mpi-bit.c
    functionUses: 1
    functionsReached:
    - RESIZE_IF_NEEDED
    - MPN_NORMALIZE
    - _gcry_mpih_lshift
    - mpi_immutable_failed
    - mpi_is_immutable
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_lshift ( gcry_mpi_t x, gcry_mpi_t a, unsigned int n
      )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: count_leading_zeros
      Src: /src/libgcrypt/mpi/mpih-div.c:69,1
    - Dst: udiv_qrnnd
      Src: /src/libgcrypt/mpi/mpih-div.c:84,1
    - Dst: UDIV_QRNND_PREINV
      Src: /src/libgcrypt/mpi/mpih-div.c:98,1
    - Dst: UDIV_QRNND_PREINV
      Src: /src/libgcrypt/mpi/mpih-div.c:104,1
    - Dst: udiv_qrnnd
      Src: /src/libgcrypt/mpi/mpih-div.c:121,1
    - Dst: UDIV_QRNND_PREINV
      Src: /src/libgcrypt/mpi/mpih-div.c:134,1
    - Dst: count_leading_zeros
      Src: /src/libgcrypt/mpi/mpih-div.c:144,1
    - Dst: udiv_qrnnd
      Src: /src/libgcrypt/mpi/mpih-div.c:159,1
    - Dst: udiv_qrnnd
      Src: /src/libgcrypt/mpi/mpih-div.c:165,1
    - Dst: udiv_qrnnd
      Src: /src/libgcrypt/mpi/mpih-div.c:183,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 3
    argNames:
    - dividend_ptr
    - dividend_size
    - divisor_limb
    argTypes:
    - mpi_ptr_t
    - mpi_size_t
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 187
    functionName: _gcry_mpih_mod_1
    functionSourceFile: /src/libgcrypt/mpi/mpih-div.c
    functionUses: 0
    functionsReached:
    - udiv_qrnnd
    - count_leading_zeros
    - UDIV_QRNND_PREINV
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_mod_1(mpi_ptr_t dividend_ptr, mpi_size_t dividend_size,\n\t\t\t\t
      \     mpi_limb_t divisor_limb)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_divide_by_zero
      Src: /src/libgcrypt/mpi/mpih-div.c:215,1
    - Dst: udiv_qrnnd
      Src: /src/libgcrypt/mpi/mpih-div.c:234,1
    - Dst: udiv_qrnnd
      Src: /src/libgcrypt/mpi/mpih-div.c:238,1
    - Dst: sub_ddmmss
      Src: /src/libgcrypt/mpi/mpih-div.c:257,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/mpi/mpih-div.c:278,1
    - Dst: udiv_qrnnd
      Src: /src/libgcrypt/mpi/mpih-div.c:286,1
    - Dst: umul_ppmm
      Src: /src/libgcrypt/mpi/mpih-div.c:287,1
    - Dst: sub_ddmmss
      Src: /src/libgcrypt/mpi/mpih-div.c:295,1
    - Dst: sub_ddmmss
      Src: /src/libgcrypt/mpi/mpih-div.c:302,1
    - Dst: _gcry_mpih_cmp
      Src: /src/libgcrypt/mpi/mpih-div.c:320,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/mpih-div.c:321,1
    - Dst: MPN_COPY_DECR
      Src: /src/libgcrypt/mpi/mpih-div.c:338,1
    - Dst: udiv_qrnnd
      Src: /src/libgcrypt/mpi/mpih-div.c:350,1
    - Dst: umul_ppmm
      Src: /src/libgcrypt/mpi/mpih-div.c:351,1
    - Dst: _gcry_mpih_submul_1
      Src: /src/libgcrypt/mpi/mpih-div.c:366,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/mpih-div.c:369,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 113
    argCount: 6
    argNames:
    - qp
    - qextra_limbs
    - np
    - nsize
    - dp
    - dsize
    argTypes:
    - mpi_ptr_t
    - mpi_size_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_ptr_t
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 380
    functionName: _gcry_mpih_divrem
    functionSourceFile: /src/libgcrypt/mpi/mpih-div.c
    functionUses: 0
    functionsReached:
    - udiv_qrnnd
    - umul_ppmm
    - add_ssaaaa
    - _gcry_mpih_cmp
    - _gcry_mpih_sub_n
    - sub_ddmmss
    - _gcry_mpih_submul_1
    - _gcry_mpih_add_n
    - _gcry_divide_by_zero
    - MPN_COPY_DECR
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_divrem( mpi_ptr_t qp, mpi_size_t qextra_limbs,\n
      \                     mpi_ptr_t np, mpi_size_t nsize,\n                      mpi_ptr_t
      dp, mpi_size_t dsize)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: count_leading_zeros
      Src: /src/libgcrypt/mpi/mpih-div.c:416,1
    - Dst: udiv_qrnnd
      Src: /src/libgcrypt/mpi/mpih-div.c:430,1
    - Dst: UDIV_QRNND_PREINV
      Src: /src/libgcrypt/mpi/mpih-div.c:444,1
    - Dst: UDIV_QRNND_PREINV
      Src: /src/libgcrypt/mpi/mpih-div.c:450,1
    - Dst: udiv_qrnnd
      Src: /src/libgcrypt/mpi/mpih-div.c:466,1
    - Dst: UDIV_QRNND_PREINV
      Src: /src/libgcrypt/mpi/mpih-div.c:479,1
    - Dst: count_leading_zeros
      Src: /src/libgcrypt/mpi/mpih-div.c:489,1
    - Dst: udiv_qrnnd
      Src: /src/libgcrypt/mpi/mpih-div.c:504,1
    - Dst: udiv_qrnnd
      Src: /src/libgcrypt/mpi/mpih-div.c:510,1
    - Dst: udiv_qrnnd
      Src: /src/libgcrypt/mpi/mpih-div.c:528,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 4
    argNames:
    - quot_ptr
    - dividend_ptr
    - dividend_size
    - divisor_limb
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 532
    functionName: _gcry_mpih_divmod_1
    functionSourceFile: /src/libgcrypt/mpi/mpih-div.c
    functionUses: 0
    functionsReached:
    - udiv_qrnnd
    - count_leading_zeros
    - UDIV_QRNND_PREINV
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_divmod_1( mpi_ptr_t quot_ptr,\n                        mpi_ptr_t
      dividend_ptr, mpi_size_t dividend_size,\n                        mpi_limb_t
      divisor_limb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count_trailing_zeros
      Src: /src/libgcrypt/mpi/mpi-scan.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: _gcry_mpi_trailing_zeros
    functionSourceFile: /src/libgcrypt/mpi/mpi-scan.c
    functionUses: 0
    functionsReached:
    - count_trailing_zeros
    linkageType: ''
    returnType: unsigned
    signature: unsigned _gcry_mpi_trailing_zeros( gcry_mpi_t a )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpi-inv.c:49,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:50,1
    - Dst: MPN_ZERO
      Src: /src/libgcrypt/mpi/mpi-inv.c:51,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:54,1
    - Dst: MPN_ZERO
      Src: /src/libgcrypt/mpi/mpi-inv.c:55,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpi-inv.c:57,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:58,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-inv.c:59,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:61,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-inv.c:62,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/mpi-inv.c:63,1
    - Dst: _gcry_mpih_add_1
      Src: /src/libgcrypt/mpi/mpi-inv.c:64,1
    - Dst: mpih_sub_n_cond
      Src: /src/libgcrypt/mpi/mpi-inv.c:74,1
    - Dst: mpih_add_n_cond
      Src: /src/libgcrypt/mpi/mpi-inv.c:75,1
    - Dst: mpih_abs_cond
      Src: /src/libgcrypt/mpi/mpi-inv.c:76,1
    - Dst: mpih_swap_cond
      Src: /src/libgcrypt/mpi/mpi-inv.c:77,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/mpi-inv.c:79,1
    - Dst: mpih_sub_n_cond
      Src: /src/libgcrypt/mpi/mpi-inv.c:81,1
    - Dst: mpih_add_n_cond
      Src: /src/libgcrypt/mpi/mpi-inv.c:82,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/mpi-inv.c:84,1
    - Dst: mpih_add_n_cond
      Src: /src/libgcrypt/mpi/mpi-inv.c:85,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:88,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:89,1
    - Dst: _gcry_mpih_cmp_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:91,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:94,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:99,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 3
    argNames:
    - ap
    - np
    - nsize
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 103
    functionName: mpih_invm_odd
    functionSourceFile: /src/libgcrypt/mpi/mpi-inv.c
    functionUses: 0
    functionsReached:
    - mpih_swap_cond
    - mpih_sub_n_cond
    - _gcry_mpih_rshift
    - mpih_abs_cond
    - _gcry_is_secure
    - _gcry_mpih_add_1
    - _gcry_mpi_free_limb_space
    - mpih_add_n_cond
    - MPN_ZERO
    - _gcry_mpih_cmp_ui
    - mpi_alloc_limb_space
    - MPN_COPY
    linkageType: ''
    returnType: mpi_ptr_t
    signature: mpi_ptr_t mpih_invm_odd (mpi_ptr_t ap, mpi_ptr_t np, mpi_size_t nsize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpi-inv.c:116,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:129,1
    - Dst: MPN_ZERO
      Src: /src/libgcrypt/mpi/mpi-inv.c:130,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:133,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:142,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-inv.c:143,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:145,1
    - Dst: MPN_ZERO
      Src: /src/libgcrypt/mpi/mpi-inv.c:146,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/mpi-inv.c:158,1
    - Dst: mpih_set_cond
      Src: /src/libgcrypt/mpi/mpi-inv.c:159,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/mpi-inv.c:160,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:167,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:168,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - ap
    - asize
    - k
    argTypes:
    - mpi_ptr_t
    - mpi_size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 172
    functionName: mpih_invm_pow2
    functionSourceFile: /src/libgcrypt/mpi/mpi-inv.c
    functionUses: 0
    functionsReached:
    - _gcry_mpih_sub_n
    - _gcry_mpih_rshift
    - _gcry_is_secure
    - mpih_set_cond
    - _gcry_mpi_free_limb_space
    - MPN_ZERO
    - mpi_alloc_limb_space
    - MPN_COPY
    linkageType: ''
    returnType: mpi_ptr_t
    signature: mpi_ptr_t mpih_invm_pow2 (mpi_ptr_t ap, mpi_size_t asize, unsigned
      int k)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-inv.c:188,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-inv.c:189,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:190,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:191,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-inv.c:192,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:193,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:194,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-inv.c:195,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpi-inv.c:196,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/mpi/mpi-inv.c:196,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpi-inv.c:197,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/mpi/mpi-inv.c:197,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpi-inv.c:198,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/mpi/mpi-inv.c:198,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpi-inv.c:199,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/mpi/mpi-inv.c:199,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:200,1
    - Dst: mpi_fdiv_q
      Src: /src/libgcrypt/mpi/mpi-inv.c:201,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/mpi/mpi-inv.c:202,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/mpi/mpi-inv.c:202,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/mpi/mpi-inv.c:202,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:203,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:203,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:203,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-inv.c:204,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-inv.c:204,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-inv.c:204,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-inv.c:205,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-inv.c:205,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-inv.c:205,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-inv.c:214,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:216,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:218,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:219,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:220,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:221,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:222,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:223,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:224,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:225,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:226,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:227,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:228,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:229,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-inv.c:243,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-inv.c:244,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/mpi-inv.c:245,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/mpi-inv.c:245,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/mpi/mpi-inv.c:246,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/mpi/mpi-inv.c:247,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:251,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:252,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-inv.c:253,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-inv.c:254,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpi-inv.c:255,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/mpi/mpi-inv.c:255,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:255,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-inv.c:256,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/mpi-inv.c:257,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:258,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:259,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-inv.c:260,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:264,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:265,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-inv.c:266,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/mpi-inv.c:270,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/mpi-inv.c:270,1
    - Dst: mpi_add
      Src: /src/libgcrypt/mpi/mpi-inv.c:271,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:272,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/mpi/mpi-inv.c:274,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/mpi/mpi-inv.c:275,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/mpi/mpi-inv.c:276,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/mpi-inv.c:279,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-inv.c:282,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-inv.c:283,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-inv.c:284,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:287,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:289,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-inv.c:292,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:295,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:296,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:297,1
    - Dst: mpi_add
      Src: /src/libgcrypt/mpi/mpi-inv.c:299,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:300,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:302,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:304,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-inv.c:305,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:307,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:308,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:309,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:310,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:311,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:312,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:313,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:314,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:315,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-inv.c:329,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-inv.c:330,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/mpi-inv.c:332,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/mpi-inv.c:332,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/mpi/mpi-inv.c:333,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/mpi/mpi-inv.c:334,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/mpi-inv.c:336,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:338,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:340,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-inv.c:341,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-inv.c:342,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpi-inv.c:344,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/mpi/mpi-inv.c:344,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:345,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-inv.c:347,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/mpi-inv.c:348,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:349,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:351,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-inv.c:353,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:357,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:359,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-inv.c:360,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/mpi-inv.c:365,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/mpi-inv.c:365,1
    - Dst: mpi_add
      Src: /src/libgcrypt/mpi/mpi-inv.c:366,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:367,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/mpi/mpi-inv.c:369,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/mpi/mpi-inv.c:370,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/mpi/mpi-inv.c:371,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/mpi-inv.c:374,1
    - Dst: mpi_add
      Src: /src/libgcrypt/mpi/mpi-inv.c:375,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/mpi/mpi-inv.c:376,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/mpi/mpi-inv.c:377,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/mpi-inv.c:381,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-inv.c:384,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-inv.c:386,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-inv.c:387,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:390,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:393,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-inv.c:396,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:399,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:401,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:402,1
    - Dst: mpi_add
      Src: /src/libgcrypt/mpi/mpi-inv.c:404,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:406,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:408,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:410,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-inv.c:411,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:413,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:414,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:415,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:417,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:418,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:419,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:421,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:422,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:423,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:425,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:426,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 211
    argCount: 3
    argNames:
    - x
    - a
    - n
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 429
    functionName: mpi_invm_generic
    functionSourceFile: /src/libgcrypt/mpi/mpi-inv.c
    functionUses: 0
    functionsReached:
    - mpi_rshift
    - mpi_add
    - mpi_free
    - mpi_set
    - mpi_mul
    - mpi_alloc_set_ui
    - mpi_cmp_ui
    - mpi_get_nlimbs
    - mpi_alloc
    - mpi_test_bit
    - mpi_copy
    - mpi_fdiv_q
    - mpi_sub
    linkageType: ''
    returnType: int
    signature: int mpi_invm_generic (gcry_mpi_t x, gcry_mpi_t a, gcry_mpi_t n)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpih_cmp_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:441,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/mpi-inv.c:443,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/mpi-inv.c:446,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:450,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpi-inv.c:450,1
    - Dst: MPN_ZERO
      Src: /src/libgcrypt/mpi/mpi-inv.c:451,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-inv.c:452,1
    - Dst: _gcry_mpih_mod_lli
      Src: /src/libgcrypt/mpi/mpi-inv.c:455,1
    - Dst: mpih_invm_odd
      Src: /src/libgcrypt/mpi/mpi-inv.c:457,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:458,1
    - Dst: _gcry_mpi_assign_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:462,1
    - Dst: mpi_trailing_zeros
      Src: /src/libgcrypt/mpi/mpi-inv.c:471,1
    - Dst: _gcry_mpi_get_nbits
      Src: /src/libgcrypt/mpi/mpi-inv.c:478,1
    - Dst: mpih_invm_pow2
      Src: /src/libgcrypt/mpi/mpi-inv.c:480,1
    - Dst: _gcry_mpi_assign_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:484,1
    - Dst: mpih_invm_pow2
      Src: /src/libgcrypt/mpi/mpi-inv.c:500,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/mpi-inv.c:505,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/mpi/mpi-inv.c:506,1
    - Dst: _gcry_mpih_mod_lli
      Src: /src/libgcrypt/mpi/mpi-inv.c:509,1
    - Dst: mpih_invm_odd
      Src: /src/libgcrypt/mpi/mpi-inv.c:510,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:511,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:514,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:515,1
    - Dst: mpih_invm_pow2
      Src: /src/libgcrypt/mpi/mpi-inv.c:520,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:523,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpi-inv.c:523,1
    - Dst: _gcry_mpih_sub
      Src: /src/libgcrypt/mpi/mpi-inv.c:525,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/mpi-inv.c:527,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:528,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:534,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpi-inv.c:534,1
    - Dst: _gcry_mpih_mul_n
      Src: /src/libgcrypt/mpi/mpi-inv.c:535,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:536,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:537,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:545,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpi-inv.c:545,1
    - Dst: _gcry_mpih_mul
      Src: /src/libgcrypt/mpi/mpi-inv.c:547,1
    - Dst: _gcry_mpih_mul
      Src: /src/libgcrypt/mpi/mpi-inv.c:549,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:551,1
    - Dst: _gcry_mpih_add
      Src: /src/libgcrypt/mpi/mpi-inv.c:553,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:554,1
    - Dst: _gcry_mpi_assign_limb_space
      Src: /src/libgcrypt/mpi/mpi-inv.c:556,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-inv.c:559,1
    - Dst: mpi_invm_generic
      Src: /src/libgcrypt/mpi/mpi-inv.c:564,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 76
    argCount: 3
    argNames:
    - x
    - a
    - n
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 436
    functionDepth: 4
    functionLinenumber: 436
    functionLinenumberEnd: 565
    functionName: _gcry_mpi_invm
    functionSourceFile: /src/libgcrypt/mpi/mpi-inv.c
    functionUses: 1
    functionsReached:
    - mpi_rshift
    - mpi_free
    - mpih_invm_odd
    - _gcry_mpih_sub_n
    - _gcry_mpih_sub
    - _gcry_mpih_cmp_ui
    - mpi_alloc_limb_space
    - _gcry_mpih_mul_n
    - _gcry_mpih_add
    - mpih_invm_pow2
    - mpi_cmp_ui
    - mpi_test_bit
    - MPN_COPY
    - _gcry_mpih_mul
    - mpi_new
    - _gcry_mpi_assign_limb_space
    - _gcry_mpi_get_nbits
    - MPN_ZERO
    - _gcry_mpih_mod_lli
    - mpi_trailing_zeros
    - _gcry_is_secure
    - mpi_invm_generic
    - _gcry_mpi_free_limb_space
    linkageType: ''
    returnType: int
    signature: int _gcry_mpi_invm (gcry_mpi_t x, gcry_mpi_t a, gcry_mpi_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: _gcry_mpi_ec_ed25519_mod
    functionSourceFile: /src/libgcrypt/mpi/ec-ed25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_ec_ed25519_mod (gcry_mpi_t a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/mpi-mul.c:52,1
    - Dst: _gcry_mpih_mul_1
      Src: /src/libgcrypt/mpi/mpi-mul.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - prod
    - mult
    - small_mult
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 60
    functionName: _gcry_mpi_mul_ui
    functionSourceFile: /src/libgcrypt/mpi/mpi-mul.c
    functionUses: 1
    functionsReached:
    - mpi_resize
    - _gcry_mpih_mul_1
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_mul_ui (gcry_mpi_t prod, gcry_mpi_t mult, unsigned long
      small_mult)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/mpi-mul.c:83,1
    - Dst: _gcry_mpih_lshift
      Src: /src/libgcrypt/mpi/mpi-mul.c:90,1
    - Dst: MPN_COPY_DECR
      Src: /src/libgcrypt/mpi/mpi-mul.c:97,1
    - Dst: MPN_ZERO
      Src: /src/libgcrypt/mpi/mpi-mul.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - w
    - u
    - cnt
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 106
    functionName: _gcry_mpi_mul_2exp
    functionSourceFile: /src/libgcrypt/mpi/mpi-mul.c
    functionUses: 1
    functionsReached:
    - MPN_ZERO
    - mpi_resize
    - _gcry_mpih_lshift
    - MPN_COPY_DECR
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_mul_2exp (gcry_mpi_t w, gcry_mpi_t u, unsigned long
      cnt)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpi-mul.c:123,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpi-mul.c:127,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpi-mul.c:133,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpi-mul.c:137,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpi-mul.c:145,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpi-mul.c:145,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpi-mul.c:145,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-mul.c:149,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-mul.c:155,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpi-mul.c:155,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/mpi-mul.c:159,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-mul.c:167,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-mul.c:172,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-mul.c:177,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-mul.c:179,1
    - Dst: _gcry_mpih_mul
      Src: /src/libgcrypt/mpi/mpi-mul.c:186,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-mul.c:193,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-mul.c:194,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-mul.c:195,1
    - Dst: _gcry_mpi_assign_limb_space
      Src: /src/libgcrypt/mpi/mpi-mul.c:198,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-mul.c:203,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 66
    argCount: 3
    argNames:
    - w
    - u
    - v
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 204
    functionName: _gcry_mpi_mul
    functionSourceFile: /src/libgcrypt/mpi/mpi-mul.c
    functionUses: 1
    functionsReached:
    - mpi_resize
    - mpi_is_secure
    - _gcry_mpi_assign_limb_space
    - _gcry_mpi_free_limb_space
    - _gcry_mpih_mul
    - mpi_alloc_limb_space
    - MPN_COPY
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_mul (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-mul.c:214,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/mpi/mpi-mul.c:218,1
    - Dst: _gcry_mpi_tdiv_r
      Src: /src/libgcrypt/mpi/mpi-mul.c:219,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-mul.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - w
    - u
    - v
    - m
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 223
    functionName: _gcry_mpi_mulm
    functionSourceFile: /src/libgcrypt/mpi/mpi-mul.c
    functionUses: 1
    functionsReached:
    - mpi_copy
    - mpi_mul
    - _gcry_mpi_tdiv_r
    - mpi_free
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_mulm (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, gcry_mpi_t
      m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - ','
    - m
    - ','
    - y
    - ','
    - k
    - ','
    - r1
    - ','
    - r2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: barrett_mulm
    functionSourceFile: /src/libgcrypt/mpi/mpi-mpow.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: barrett_mulm( w, u, v, m, y, k, r1, r2 )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/mpi-mpow.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - exparray
    - k
    - i
    - t
    argTypes:
    - gcry_mpi_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: build_index
    functionSourceFile: /src/libgcrypt/mpi/mpi-mpow.c
    functionUses: 0
    functionsReached:
    - mpi_test_bit
    linkageType: ''
    returnType: int
    signature: int build_index( gcry_mpi_t *exparray, int k, int i, int t )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/mpi/mpi-mpow.c:80,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/mpi/mpi-mpow.c:83,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/mpi/mpi-mpow.c:88,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/mpi/mpi-mpow.c:89,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/mpi/mpi-mpow.c:90,1
    - Dst: xcalloc
      Src: /src/libgcrypt/mpi/mpi-mpow.c:92,1
    - Dst: init_barrett
      Src: /src/libgcrypt/mpi/mpi-mpow.c:94,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpi-mpow.c:97,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/mpi/mpi-mpow.c:97,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/mpi-mpow.c:98,1
    - Dst: barrett_mulm
      Src: /src/libgcrypt/mpi/mpi-mpow.c:100,1
    - Dst: build_index
      Src: /src/libgcrypt/mpi/mpi-mpow.c:102,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/mpi/mpi-mpow.c:103,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/mpi/mpi-mpow.c:106,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-mpow.c:111,1
    - Dst: barrett_mulm
      Src: /src/libgcrypt/mpi/mpi-mpow.c:113,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpi-mpow.c:118,1
    - Dst: barrett_mulm
      Src: /src/libgcrypt/mpi/mpi-mpow.c:121,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-mpow.c:125,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-mpow.c:127,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-mpow.c:128,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-mpow.c:129,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-mpow.c:132,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/mpi-mpow.c:133,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 4
    argNames:
    - res
    - basearray
    - exparray
    - m
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t*
    - gcry_mpi_t*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 134
    functionName: _gcry_mpi_mulpowm
    functionSourceFile: /src/libgcrypt/mpi/mpi-mpow.c
    functionUses: 0
    functionsReached:
    - init_barrett
    - gcry_assert
    - mpi_free
    - mpi_alloc_set_ui
    - xcalloc
    - barrett_mulm
    - mpi_get_nlimbs
    - xfree
    - mpi_alloc
    - mpi_set_ui
    - build_index
    - mpi_copy
    - mpi_get_nbits
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_mulpowm( gcry_mpi_t res, gcry_mpi_t *basearray, gcry_mpi_t
      *exparray, gcry_mpi_t m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_mul
      Src: /src/libgcrypt/mpi/mpi-mpow.c:142,1
    - Dst: calc_barrett
      Src: /src/libgcrypt/mpi/mpi-mpow.c:143,1
    - Dst: mpi_fdiv_r
      Src: /src/libgcrypt/mpi/mpi-mpow.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - w
    - u
    - v
    - m
    - y
    - k
    - r1
    - r2
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - int
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: barrett_mulm
    functionSourceFile: /src/libgcrypt/mpi/mpi-mpow.c
    functionUses: 1
    functionsReached:
    - mpi_mul
    - mpi_fdiv_r
    - calc_barrett
    linkageType: ''
    returnType: void
    signature: "void barrett_mulm( gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, gcry_mpi_t
      m, gcry_mpi_t y, int k, gcry_mpi_t r1, gcry_mpi_t r2\t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_normalize
      Src: /src/libgcrypt/mpi/mpi-mpow.c:155,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/mpi/mpi-mpow.c:156,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpi-mpow.c:157,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/mpi-mpow.c:158,1
    - Dst: mpi_lshift_limbs
      Src: /src/libgcrypt/mpi/mpi-mpow.c:159,1
    - Dst: mpi_fdiv_q
      Src: /src/libgcrypt/mpi/mpi-mpow.c:160,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpi-mpow.c:161,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpi-mpow.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - m
    - k
    - r1
    - r2
    argTypes:
    - gcry_mpi_t
    - int*
    - gcry_mpi_t*
    - gcry_mpi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: init_barrett
    functionSourceFile: /src/libgcrypt/mpi/mpi-mpow.c
    functionUses: 1
    functionsReached:
    - mpi_normalize
    - mpi_get_nlimbs
    - mpi_alloc
    - mpi_lshift_limbs
    - mpi_set_ui
    - mpi_fdiv_q
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t init_barrett( gcry_mpi_t m, int *k, gcry_mpi_t *r1, gcry_mpi_t
      *r2 )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mpi_normalize
      Src: /src/libgcrypt/mpi/mpi-mpow.c:180,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/mpi/mpi-mpow.c:181,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-mpow.c:189,1
    - Dst: mpi_rshift_limbs
      Src: /src/libgcrypt/mpi/mpi-mpow.c:190,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/mpi/mpi-mpow.c:191,1
    - Dst: mpi_rshift_limbs
      Src: /src/libgcrypt/mpi/mpi-mpow.c:192,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-mpow.c:199,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/mpi/mpi-mpow.c:202,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-mpow.c:205,1
    - Dst: mpi_has_sign
      Src: /src/libgcrypt/mpi/mpi-mpow.c:207,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpi-mpow.c:210,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/mpi-mpow.c:211,1
    - Dst: mpi_lshift_limbs
      Src: /src/libgcrypt/mpi/mpi-mpow.c:212,1
    - Dst: mpi_add
      Src: /src/libgcrypt/mpi/mpi-mpow.c:213,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-mpow.c:214,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/mpi/mpi-mpow.c:218,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-mpow.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 7
    argNames:
    - r
    - x
    - m
    - y
    - k
    - r1
    - r2
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - int
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 222
    functionName: calc_barrett
    functionSourceFile: /src/libgcrypt/mpi/mpi-mpow.c
    functionUses: 1
    functionsReached:
    - mpi_add
    - mpi_free
    - mpi_set
    - mpi_cmp
    - mpi_mul
    - mpi_rshift_limbs
    - mpi_normalize
    - mpi_has_sign
    - mpi_get_nlimbs
    - mpi_alloc
    - mpi_lshift_limbs
    - mpi_set_ui
    - mpi_sub
    linkageType: ''
    returnType: int
    signature: int calc_barrett( gcry_mpi_t r, gcry_mpi_t x, gcry_mpi_t m, gcry_mpi_t
      y, int k, gcry_mpi_t r1, gcry_mpi_t r2 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_fdiv_r
      Src: /src/libgcrypt/mpi/mpi-mod.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rem
    - dividend
    - divisor
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: _gcry_mpi_mod
    functionSourceFile: /src/libgcrypt/mpi/mpi-mod.c
    functionUses: 1
    functionsReached:
    - _gcry_mpi_fdiv_r
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_mod (gcry_mpi_t rem, gcry_mpi_t dividend, gcry_mpi_t
      divisor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_normalize
      Src: /src/libgcrypt/mpi/mpi-mod.c:64,1
    - Dst: xcalloc
      Src: /src/libgcrypt/mpi/mpi-mod.c:65,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-mod.c:69,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/mpi/mpi-mod.c:75,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpi-mod.c:76,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/mpi-mod.c:79,1
    - Dst: mpi_lshift_limbs
      Src: /src/libgcrypt/mpi/mpi-mod.c:80,1
    - Dst: mpi_fdiv_q
      Src: /src/libgcrypt/mpi/mpi-mod.c:81,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpi-mod.c:84,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpi-mod.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - m
    - copy
    argTypes:
    - gcry_mpi_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 88
    functionName: _gcry_mpi_barrett_init
    functionSourceFile: /src/libgcrypt/mpi/mpi-mod.c
    functionUses: 0
    functionsReached:
    - mpi_set_ui
    - mpi_normalize
    - xcalloc
    - mpi_get_nlimbs
    - mpi_alloc
    - mpi_lshift_limbs
    - mpi_copy
    - mpi_fdiv_q
    linkageType: ''
    returnType: mpi_barrett_t
    signature: mpi_barrett_t _gcry_mpi_barrett_init (gcry_mpi_t m, int copy)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-mod.c:95,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-mod.c:96,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-mod.c:97,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-mod.c:99,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-mod.c:101,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/mpi-mod.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mpi_barrett_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: _gcry_mpi_barrett_free
    functionSourceFile: /src/libgcrypt/mpi/mpi-mod.c
    functionUses: 0
    functionsReached:
    - xfree
    - mpi_free
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_barrett_free (mpi_barrett_t ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mpi_normalize
      Src: /src/libgcrypt/mpi/mpi-mod.c:130,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/mpi/mpi-mod.c:131,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/mpi/mpi-mod.c:133,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-mod.c:145,1
    - Dst: mpi_rshift_limbs
      Src: /src/libgcrypt/mpi/mpi-mod.c:146,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/mpi/mpi-mod.c:147,1
    - Dst: mpi_rshift_limbs
      Src: /src/libgcrypt/mpi/mpi-mod.c:148,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-mod.c:155,1
    - Dst: mpi_mul
      Src: /src/libgcrypt/mpi/mpi-mod.c:158,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-mod.c:161,1
    - Dst: mpi_has_sign
      Src: /src/libgcrypt/mpi/mpi-mod.c:163,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpi-mod.c:167,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/mpi-mod.c:168,1
    - Dst: mpi_lshift_limbs
      Src: /src/libgcrypt/mpi/mpi-mod.c:169,1
    - Dst: mpi_add
      Src: /src/libgcrypt/mpi/mpi-mod.c:171,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/mpi/mpi-mod.c:175,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-mod.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - r
    - x
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_barrett_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 179
    functionName: _gcry_mpi_mod_barrett
    functionSourceFile: /src/libgcrypt/mpi/mpi-mod.c
    functionUses: 0
    functionsReached:
    - mpi_add
    - mpi_set
    - mpi_cmp
    - mpi_mul
    - mpi_rshift_limbs
    - mpi_normalize
    - mpi_mod
    - mpi_has_sign
    - mpi_get_nlimbs
    - mpi_alloc
    - mpi_lshift_limbs
    - mpi_set_ui
    - mpi_sub
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_mod_barrett (gcry_mpi_t r, gcry_mpi_t x, mpi_barrett_t
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_mul
      Src: /src/libgcrypt/mpi/mpi-mod.c:186,1
    - Dst: mpi_mod_barrett
      Src: /src/libgcrypt/mpi/mpi-mod.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - w
    - u
    - v
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_barrett_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: _gcry_mpi_mul_barrett
    functionSourceFile: /src/libgcrypt/mpi/mpi-mod.c
    functionUses: 0
    functionsReached:
    - mpi_mul
    - mpi_mod_barrett
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpi_mul_barrett (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t
      v,\n                       mpi_barrett_t ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/mpi-add.c:52,1
    - Dst: _gcry_mpih_add_1
      Src: /src/libgcrypt/mpi/mpi-add.c:64,1
    - Dst: _gcry_mpih_sub_1
      Src: /src/libgcrypt/mpi/mpi-add.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - w
    - u
    - v
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 84
    functionName: _gcry_mpi_add_ui
    functionSourceFile: /src/libgcrypt/mpi/mpi-add.c
    functionUses: 3
    functionsReached:
    - mpi_resize
    - _gcry_mpih_add_1
    - _gcry_mpih_sub_1
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_add_ui (gcry_mpi_t w, gcry_mpi_t u, unsigned long v
      )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RESIZE_IF_NEEDED
      Src: /src/libgcrypt/mpi/mpi-add.c:100,1
    - Dst: RESIZE_IF_NEEDED
      Src: /src/libgcrypt/mpi/mpi-add.c:111,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-add.c:120,1
    - Dst: _gcry_mpih_sub
      Src: /src/libgcrypt/mpi/mpi-add.c:127,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/mpi-add.c:129,1
    - Dst: _gcry_mpih_cmp
      Src: /src/libgcrypt/mpi/mpi-add.c:132,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/mpi-add.c:133,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/mpi-add.c:135,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/mpi-add.c:140,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/mpi-add.c:142,1
    - Dst: _gcry_mpih_add
      Src: /src/libgcrypt/mpi/mpi-add.c:148,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 55
    argCount: 4
    argNames:
    - w
    - u
    - v
    - inv_v_sign
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 157
    functionName: _gcry_mpi_add_inv_sign
    functionSourceFile: /src/libgcrypt/mpi/mpi-add.c
    functionUses: 0
    functionsReached:
    - _gcry_mpih_cmp
    - MPN_NORMALIZE
    - RESIZE_IF_NEEDED
    - _gcry_mpih_sub_n
    - _gcry_mpih_sub
    - _gcry_mpih_add
    - MPN_COPY
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_add_inv_sign(gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t
      v, int inv_v_sign)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/mpi-add.c:178,1
    - Dst: _gcry_mpih_add_1
      Src: /src/libgcrypt/mpi/mpi-add.c:191,1
    - Dst: _gcry_mpih_sub_1
      Src: /src/libgcrypt/mpi/mpi-add.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - w
    - u
    - v
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 212
    functionName: _gcry_mpi_sub_ui
    functionSourceFile: /src/libgcrypt/mpi/mpi-add.c
    functionUses: 1
    functionsReached:
    - mpi_resize
    - _gcry_mpih_add_1
    - _gcry_mpih_sub_1
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_sub_ui(gcry_mpi_t w, gcry_mpi_t u, unsigned long v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_add_inv_sign
      Src: /src/libgcrypt/mpi/mpi-add.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - u
    - v
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: _gcry_mpi_add
    functionSourceFile: /src/libgcrypt/mpi/mpi-add.c
    functionUses: 1
    functionsReached:
    - _gcry_mpi_add_inv_sign
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_add(gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_add_inv_sign
      Src: /src/libgcrypt/mpi/mpi-add.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - u
    - v
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: _gcry_mpi_sub
    functionSourceFile: /src/libgcrypt/mpi/mpi-add.c
    functionUses: 2
    functionsReached:
    - _gcry_mpi_add_inv_sign
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_sub(gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-add.c:234,1
    - Dst: mpi_add
      Src: /src/libgcrypt/mpi/mpi-add.c:238,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/mpi/mpi-add.c:239,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-add.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - w
    - u
    - v
    - m
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 243
    functionName: _gcry_mpi_addm
    functionSourceFile: /src/libgcrypt/mpi/mpi-add.c
    functionUses: 1
    functionsReached:
    - mpi_copy
    - mpi_add
    - mpi_mod
    - mpi_free
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_addm( gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, gcry_mpi_t
      m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-add.c:252,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/mpi-add.c:256,1
    - Dst: mpi_mod
      Src: /src/libgcrypt/mpi/mpi-add.c:257,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-add.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - w
    - u
    - v
    - m
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 261
    functionName: _gcry_mpi_subm
    functionSourceFile: /src/libgcrypt/mpi/mpi-add.c
    functionUses: 1
    functionsReached:
    - mpi_copy
    - mpi_sub
    - mpi_free
    - mpi_mod
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_subm( gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, gcry_mpi_t
      m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: LOAD64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD64(x, pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - pos
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: STORE64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STORE64(x, pos, 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: LIMB_TO64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMB_TO64(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: LIMB_FROM64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMB_FROM64(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: HIBIT_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HIBIT_LIMB64(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: HI32_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HI32_LIMB64(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: LO32_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LO32_LIMB64(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hi
    - ','
    - lo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: LIMB64_C
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMB64_C(hi, lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mask
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: MASK_AND64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MASK_AND64(mask, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val1
    - ','
    - val2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: LIMB_OR64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMB_OR64(val1, val2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - x
    - ','
    - pos
    - ','
    - mask1
    - ','
    - val1
    - ','
    - mask2
    - ','
    - val2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: STORE64_COND
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STORE64_COND(x, pos, mask1, val1, mask2, val2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - pos
    argTypes:
    - mpi_ptr_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: LOAD32
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 LOAD32(mpi_ptr_t x, unsigned int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hi
    - lo
    argTypes:
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: LIMB64_HILO
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mpi_limb64_t
    signature: mpi_limb64_t LIMB64_HILO(u32 hi, u32 lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 82
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: ADD3_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD3_LIMB64(A2, A1, A0, B2, B1, B0, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 97
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: SUB3_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB3_LIMB64(A3, A2, A1, A0, B2, B1, B0, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 116
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: ADD4_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 135
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 135
    functionName: SUB4_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C4
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 159
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 159
    functionName: ADD5_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ADD5_LIMB64(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0, \\\n                    C4,
      C3, C2, C1, C0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C4
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 183
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 183
    functionName: SUB5_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SUB5_LIMB64(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0, \\\n                    C4,
      C3, C2, C1, C0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 204
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 204
    functionName: ADD3_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD3_LIMB64(A2, A1, A0, B2, B1, B0, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 219
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 219
    functionName: SUB3_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB3_LIMB64(A2, A1, A0, B2, B1, B0, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 238
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 238
    functionName: ADD4_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 257
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 257
    functionName: SUB4_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C4
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 281
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 281
    functionName: ADD5_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ADD5_LIMB64(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0, \\\n                    C4,
      C3, C2, C1, C0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C4
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 305
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 305
    functionName: SUB5_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SUB5_LIMB64(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0, \\\n                    C4,
      C3, C2, C1, C0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 326
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 326
    functionName: ADD3_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD3_LIMB64(A2, A1, A0, B2, B1, B0, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 341
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 341
    functionName: SUB3_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB3_LIMB64(A2, A1, A0, B2, B1, B0, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 360
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 360
    functionName: ADD4_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 379
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 379
    functionName: SUB4_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C4
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 403
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 403
    functionName: ADD5_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ADD5_LIMB64(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0, \\\n\t                    C4,
      C3, C2, C1, C0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C4
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 427
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 427
    functionName: SUB5_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SUB5_LIMB64(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0, \\\n\t                    C4,
      C3, C2, C1, C0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 448
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 448
    functionName: ADD3_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD3_LIMB64(A2, A1, A0, B2, B1, B0, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 463
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 463
    functionName: SUB3_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB3_LIMB64(A3, A2, A1, A0, B2, B1, B0, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 482
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 482
    functionName: ADD4_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 501
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 501
    functionName: SUB4_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C4
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 525
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 525
    functionName: ADD5_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ADD5_LIMB64(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0, \\\n                    C4,
      C3, C2, C1, C0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C4
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 549
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 549
    functionName: SUB5_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SUB5_LIMB64(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0, \\\n                    C4,
      C3, C2, C1, C0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - A1
    - ','
    - A0
    - ','
    - B1
    - ','
    - B0
    - ','
    - C1
    - ','
    - C0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 557
    functionName: ADD2_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD2_LIMB64(A1, A0, B1, B0, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - A1
    - ','
    - A0
    - ','
    - B1
    - ','
    - B0
    - ','
    - C1
    - ','
    - C0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 560
    functionName: SUB2_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB2_LIMB64(A1, A0, B1, B0, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 570
    functionName: LIMB_FROM64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMB_FROM64(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 571
    functionName: HIBIT_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HIBIT_LIMB64(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 572
    functionName: HI32_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HI32_LIMB64(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 573
    functionName: LO32_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LO32_LIMB64(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 574
    functionName: LOAD32
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD32(x, pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hi
    - ','
    - lo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 575
    functionName: LIMB64_C
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMB64_C(hi, lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - pos
    argTypes:
    - mpi_ptr_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 589
    functionName: LOAD64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mpi_limb64_t
    signature: mpi_limb64_t LOAD64(const mpi_ptr_t x, unsigned int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - pos
    - v
    argTypes:
    - mpi_ptr_t
    - unsigned int
    - mpi_limb64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 596
    functionName: STORE64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STORE64(mpi_ptr_t x, unsigned int pos, mpi_limb64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mask
    - val
    argTypes:
    - mpi_limb_t
    - mpi_limb64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 604
    functionName: MASK_AND64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mpi_limb64_t
    signature: mpi_limb64_t MASK_AND64(mpi_limb_t mask, mpi_limb64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - mpi_limb64_t
    - mpi_limb64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 612
    functionName: LIMB_OR64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mpi_limb64_t
    signature: mpi_limb64_t LIMB_OR64(mpi_limb64_t val1, mpi_limb64_t val2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - x
    - pos
    - mask1
    - val1
    - mask2
    - val2
    argTypes:
    - mpi_ptr_t
    - unsigned int
    - mpi_limb_t
    - mpi_limb64_t
    - mpi_limb_t
    - mpi_limb64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 620
    functionName: STORE64_COND
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void STORE64_COND(mpi_ptr_t x, unsigned int pos, mpi_limb_t mask1,\n\t
      \    mpi_limb64_t val1, mpi_limb_t mask2, mpi_limb64_t val2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 629
    functionName: LIMB_TO64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mpi_limb64_t
    signature: mpi_limb64_t LIMB_TO64(mpi_limb_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - hi
    - lo
    argTypes:
    - mpi_limb_t
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 638
    functionName: LIMB64_HILO
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mpi_limb64_t
    signature: mpi_limb64_t LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - carry
    - ','
    - a1
    - ','
    - a0
    - ','
    - b1
    - ','
    - b0
    - ','
    - c1
    - ','
    - c0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 657
    functionName: ADD2_LIMB32_CARRY_OUT
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD2_LIMB32_CARRY_OUT(carry, a1, a0, b1, b0, c1, c0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a1
    - ','
    - a0
    - ','
    - b1
    - ','
    - b0
    - ','
    - c1
    - ','
    - c0
    - ','
    - carry
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 672
    functionName: ADD2_LIMB32_CARRY_IN_OUT
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD2_LIMB32_CARRY_IN_OUT(a1, a0, b1, b0, c1, c0, carry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a1
    - ','
    - a0
    - ','
    - b1
    - ','
    - b0
    - ','
    - c1
    - ','
    - c0
    - ','
    - carry
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 686
    functionName: ADD2_LIMB32_CARRY_IN
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD2_LIMB32_CARRY_IN(a1, a0, b1, b0, c1, c0, carry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - a3
    - ','
    - a2
    - ','
    - a1
    - ','
    - a0
    - ','
    - b3
    - ','
    - b2
    - ','
    - b1
    - ','
    - b0
    - ','
    - c3
    - ','
    - c2
    - ','
    - c1
    - ','
    - c0
    - )
    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: 692
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 692
    functionName: ADD4_LIMB32
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD4_LIMB32(a3, a2, a1, a0, b3, b2, b1, b0, c3, c2, c1, c0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 37
    argNames:
    - (
    - a5
    - ','
    - a4
    - ','
    - a3
    - ','
    - a2
    - ','
    - a1
    - ','
    - a0
    - ','
    - b5
    - ','
    - b4
    - ','
    - b3
    - ','
    - b2
    - ','
    - b1
    - ','
    - b0
    - ','
    - c5
    - ','
    - c4
    - ','
    - c3
    - ','
    - c2
    - ','
    - c1
    - ','
    - c0
    - )
    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: 700
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 700
    functionName: ADD6_LIMB32
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ADD6_LIMB32(a5, a4, a3, a2, a1, a0, b5, b4, b3, b2, b1, b0, \\\n\t\t
      \   c5, c4, c3, c2, c1, c0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 49
    argNames:
    - (
    - a7
    - ','
    - a6
    - ','
    - a5
    - ','
    - a4
    - ','
    - a3
    - ','
    - a2
    - ','
    - a1
    - ','
    - a0
    - ','
    - b7
    - ','
    - b6
    - ','
    - b5
    - ','
    - b4
    - ','
    - b3
    - ','
    - b2
    - ','
    - b1
    - ','
    - b0
    - ','
    - c7
    - ','
    - c6
    - ','
    - c5
    - ','
    - c4
    - ','
    - c3
    - ','
    - c2
    - ','
    - c1
    - ','
    - c0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 710
    functionName: ADD8_LIMB32
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ADD8_LIMB32(a7, a6, a5, a4, a3, a2, a1, a0, \\\n\t\t    b7, b6, b5,
      b4, b3, b2, b1, b0, \\\n\t\t    c7, c6, c5, c4, c3, c2, c1, c0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 61
    argNames:
    - (
    - a9
    - ','
    - a8
    - ','
    - a7
    - ','
    - a6
    - ','
    - a5
    - ','
    - a4
    - ','
    - a3
    - ','
    - a2
    - ','
    - a1
    - ','
    - a0
    - ','
    - b9
    - ','
    - b8
    - ','
    - b7
    - ','
    - b6
    - ','
    - b5
    - ','
    - b4
    - ','
    - b3
    - ','
    - b2
    - ','
    - b1
    - ','
    - b0
    - ','
    - c9
    - ','
    - c8
    - ','
    - c7
    - ','
    - c6
    - ','
    - c5
    - ','
    - c4
    - ','
    - c3
    - ','
    - c2
    - ','
    - c1
    - ','
    - c0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 721
    functionName: ADD10_LIMB32
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ADD10_LIMB32(a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, \\\n\t\t     b9,
      b8, b7, b6, b5, b4, b3, b2, b1, b0, \\\n\t\t     c9, c8, c7, c6, c5, c4, c3,
      c2, c1, c0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 85
    argNames:
    - (
    - a13
    - ','
    - a12
    - ','
    - a11
    - ','
    - a10
    - ','
    - a9
    - ','
    - a8
    - ','
    - a7
    - ','
    - a6
    - ','
    - a5
    - ','
    - a4
    - ','
    - a3
    - ','
    - a2
    - ','
    - a1
    - ','
    - a0
    - ','
    - b13
    - ','
    - b12
    - ','
    - b11
    - ','
    - b10
    - ','
    - b9
    - ','
    - b8
    - ','
    - b7
    - ','
    - b6
    - ','
    - b5
    - ','
    - b4
    - ','
    - b3
    - ','
    - b2
    - ','
    - b1
    - ','
    - b0
    - ','
    - c13
    - ','
    - c12
    - ','
    - c11
    - ','
    - c10
    - ','
    - c9
    - ','
    - c8
    - ','
    - c7
    - ','
    - c6
    - ','
    - c5
    - ','
    - c4
    - ','
    - c3
    - ','
    - c2
    - ','
    - c1
    - ','
    - c0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 737
    functionName: ADD14_LIMB32
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ADD14_LIMB32(a13, a12, a11, a10, a9, a8, a7, \\\n\t\t     a6, a5,
      a4, a3, a2, a1, a0, \\\n\t\t     b13, b12, b11, b10, b9, b8, b7, \\\n\t\t     b6,
      b5, b4, b3, b2, b1, b0, \\\n\t\t     c13, c12, c11, c10, c9, c8, c7, \\\n\t\t
      \    c6, c5, c4, c3, c2, c1, c0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - carry
    - ','
    - a1
    - ','
    - a0
    - ','
    - b1
    - ','
    - b0
    - ','
    - c1
    - ','
    - c0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 751
    functionName: SUB2_LIMB32_CARRY_OUT
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB2_LIMB32_CARRY_OUT(carry, a1, a0, b1, b0, c1, c0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a1
    - ','
    - a0
    - ','
    - b1
    - ','
    - b0
    - ','
    - c1
    - ','
    - c0
    - ','
    - carry
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 766
    functionName: SUB2_LIMB32_CARRY_IN_OUT
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB2_LIMB32_CARRY_IN_OUT(a1, a0, b1, b0, c1, c0, carry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a1
    - ','
    - a0
    - ','
    - b1
    - ','
    - b0
    - ','
    - c1
    - ','
    - c0
    - ','
    - carry
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 780
    functionName: SUB2_LIMB32_CARRY_IN
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB2_LIMB32_CARRY_IN(a1, a0, b1, b0, c1, c0, carry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - a3
    - ','
    - a2
    - ','
    - a1
    - ','
    - a0
    - ','
    - b3
    - ','
    - b2
    - ','
    - b1
    - ','
    - b0
    - ','
    - c3
    - ','
    - c2
    - ','
    - c1
    - ','
    - c0
    - )
    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: 786
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 786
    functionName: SUB4_LIMB32
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB4_LIMB32(a3, a2, a1, a0, b3, b2, b1, b0, c3, c2, c1, c0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 37
    argNames:
    - (
    - a5
    - ','
    - a4
    - ','
    - a3
    - ','
    - a2
    - ','
    - a1
    - ','
    - a0
    - ','
    - b5
    - ','
    - b4
    - ','
    - b3
    - ','
    - b2
    - ','
    - b1
    - ','
    - b0
    - ','
    - c5
    - ','
    - c4
    - ','
    - c3
    - ','
    - c2
    - ','
    - c1
    - ','
    - c0
    - )
    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: 794
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 794
    functionName: SUB6_LIMB32
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SUB6_LIMB32(a5, a4, a3, a2, a1, a0, b5, b4, b3, b2, b1, b0, \\\n\t\t
      \   c5, c4, c3, c2, c1, c0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 49
    argNames:
    - (
    - a7
    - ','
    - a6
    - ','
    - a5
    - ','
    - a4
    - ','
    - a3
    - ','
    - a2
    - ','
    - a1
    - ','
    - a0
    - ','
    - b7
    - ','
    - b6
    - ','
    - b5
    - ','
    - b4
    - ','
    - b3
    - ','
    - b2
    - ','
    - b1
    - ','
    - b0
    - ','
    - c7
    - ','
    - c6
    - ','
    - c5
    - ','
    - c4
    - ','
    - c3
    - ','
    - c2
    - ','
    - c1
    - ','
    - c0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 804
    functionName: SUB8_LIMB32
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SUB8_LIMB32(a7, a6, a5, a4, a3, a2, a1, a0, \\\n\t\t    b7, b6, b5,
      b4, b3, b2, b1, b0, \\\n\t\t    c7, c6, c5, c4, c3, c2, c1, c0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 61
    argNames:
    - (
    - a9
    - ','
    - a8
    - ','
    - a7
    - ','
    - a6
    - ','
    - a5
    - ','
    - a4
    - ','
    - a3
    - ','
    - a2
    - ','
    - a1
    - ','
    - a0
    - ','
    - b9
    - ','
    - b8
    - ','
    - b7
    - ','
    - b6
    - ','
    - b5
    - ','
    - b4
    - ','
    - b3
    - ','
    - b2
    - ','
    - b1
    - ','
    - b0
    - ','
    - c9
    - ','
    - c8
    - ','
    - c7
    - ','
    - c6
    - ','
    - c5
    - ','
    - c4
    - ','
    - c3
    - ','
    - c2
    - ','
    - c1
    - ','
    - c0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 815
    functionName: SUB10_LIMB32
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SUB10_LIMB32(a9, a8, a7, a6, a5, a4, a3, a2, a1, a0, \\\n\t\t     b9,
      b8, b7, b6, b5, b4, b3, b2, b1, b0, \\\n\t\t     c9, c8, c7, c6, c5, c4, c3,
      c2, c1, c0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 85
    argNames:
    - (
    - a13
    - ','
    - a12
    - ','
    - a11
    - ','
    - a10
    - ','
    - a9
    - ','
    - a8
    - ','
    - a7
    - ','
    - a6
    - ','
    - a5
    - ','
    - a4
    - ','
    - a3
    - ','
    - a2
    - ','
    - a1
    - ','
    - a0
    - ','
    - b13
    - ','
    - b12
    - ','
    - b11
    - ','
    - b10
    - ','
    - b9
    - ','
    - b8
    - ','
    - b7
    - ','
    - b6
    - ','
    - b5
    - ','
    - b4
    - ','
    - b3
    - ','
    - b2
    - ','
    - b1
    - ','
    - b0
    - ','
    - c13
    - ','
    - c12
    - ','
    - c11
    - ','
    - c10
    - ','
    - c9
    - ','
    - c8
    - ','
    - c7
    - ','
    - c6
    - ','
    - c5
    - ','
    - c4
    - ','
    - c3
    - ','
    - c2
    - ','
    - c1
    - ','
    - c0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 831
    functionName: SUB14_LIMB32
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SUB14_LIMB32(a13, a12, a11, a10, a9, a8, a7, \\\n\t\t     a6, a5,
      a4, a3, a2, a1, a0, \\\n\t\t     b13, b12, b11, b10, b9, b8, b7, \\\n\t\t     b6,
      b5, b4, b3, b2, b1, b0, \\\n\t\t     c13, c12, c11, c10, c9, c8, c7, \\\n\t\t
      \    c6, c5, c4, c3, c2, c1, c0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 856
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 856
    functionName: ADD4_LIMB32
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD4_LIMB32(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 37
    argNames:
    - (
    - A5
    - ','
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B5
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C5
    - ','
    - C4
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 879
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 879
    functionName: ADD6_LIMB32
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ADD6_LIMB32(A5, A4, A3, A2, A1, A0, B5, B4, B3, B2, B1, B0, \\\n\t\t
      \   C5, C4, C3, C2, C1, C0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 898
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 898
    functionName: SUB4_LIMB32
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB4_LIMB32(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 37
    argNames:
    - (
    - A5
    - ','
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B5
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C5
    - ','
    - C4
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 920
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 920
    functionName: SUB6_LIMB32
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SUB6_LIMB32(A5, A4, A3, A2, A1, A0, B5, B4, B3, B2, B1, B0, \\\n\t\t
      \   C5, C4, C3, C2, C1, C0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 942
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 942
    functionName: ADD4_LIMB32
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD4_LIMB32(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 961
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 961
    functionName: SUB4_LIMB32
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB4_LIMB32(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - A1
    - ','
    - A0
    - ','
    - B1
    - ','
    - B0
    - ','
    - C1
    - ','
    - C0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 972
    functionName: ADD2_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD2_LIMB64(A1, A0, B1, B0, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - A1
    - ','
    - A0
    - ','
    - B1
    - ','
    - B0
    - ','
    - C1
    - ','
    - C0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 982
    functionName: ADD2_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD2_LIMB64(A1, A0, B1, B0, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 990
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 990
    functionName: ADD3_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD3_LIMB64(A2, A1, A0, B2, B1, B0, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 998
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 998
    functionName: ADD4_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 1009
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1009
    functionName: ADD4_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C4
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 1019
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1019
    functionName: ADD5_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ADD5_LIMB64(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0, \\\n\t\t    C4,
      C3, C2, C1, C0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 43
    argNames:
    - (
    - A6
    - ','
    - A5
    - ','
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B6
    - ','
    - B5
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C6
    - ','
    - C5
    - ','
    - C4
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 1031
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1031
    functionName: ADD7_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ADD7_LIMB64(A6, A5, A4, A3, A2, A1, A0, B6, B5, B4, B3, B2, B1, B0,
      \\\n\t\t    C6, C5, C4, C3, C2, C1, C0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - A1
    - ','
    - A0
    - ','
    - B1
    - ','
    - B0
    - ','
    - C1
    - ','
    - C0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1039
    functionName: SUB2_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB2_LIMB64(A1, A0, B1, B0, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - A1
    - ','
    - A0
    - ','
    - B1
    - ','
    - B0
    - ','
    - C1
    - ','
    - C0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1049
    functionName: SUB2_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB2_LIMB64(A1, A0, B1, B0, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 1057
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1057
    functionName: SUB3_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB3_LIMB64(A2, A1, A0, B2, B1, B0, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 1065
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1065
    functionName: SUB4_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 1076
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1076
    functionName: SUB4_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C4
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 1086
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1086
    functionName: SUB5_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SUB5_LIMB64(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0, \\\n\t\t    C4,
      C3, C2, C1, C0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 43
    argNames:
    - (
    - A6
    - ','
    - A5
    - ','
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B6
    - ','
    - B5
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C6
    - ','
    - C5
    - ','
    - C4
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 1098
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1098
    functionName: SUB7_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SUB7_LIMB64(A6, A5, A4, A3, A2, A1, A0, B6, B5, B4, B3, B2, B1, B0,
      \\\n\t\t    C6, C5, C4, C3, C2, C1, C0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 1118
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1118
    functionName: ADD3_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD3_LIMB64(A2, A1, A0, B2, B1, B0, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 1128
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1128
    functionName: ADD4_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C4
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 1139
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1139
    functionName: ADD5_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ADD5_LIMB64(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0, \\\n                    C4,
      C3, C2, C1, C0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 43
    argNames:
    - (
    - A6
    - ','
    - A5
    - ','
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B6
    - ','
    - B5
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C6
    - ','
    - C5
    - ','
    - C4
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 1151
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1151
    functionName: ADD7_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ADD7_LIMB64(A6, A5, A4, A3, A2, A1, A0, B6, B5, B4, B3, B2, B1, B0,
      \\\n                    C6, C5, C4, C3, C2, C1, C0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 1161
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1161
    functionName: SUB3_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB3_LIMB64(A2, A1, A0, B2, B1, B0, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 1171
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1171
    functionName: SUB4_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB4_LIMB64(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C4
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 1182
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1182
    functionName: SUB5_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SUB5_LIMB64(A4, A3, A2, A1, A0, B4, B3, B2, B1, B0, \\\n                    C4,
      C3, C2, C1, C0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 43
    argNames:
    - (
    - A6
    - ','
    - A5
    - ','
    - A4
    - ','
    - A3
    - ','
    - A2
    - ','
    - A1
    - ','
    - A0
    - ','
    - B6
    - ','
    - B5
    - ','
    - B4
    - ','
    - B3
    - ','
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - C6
    - ','
    - C5
    - ','
    - C4
    - ','
    - C3
    - ','
    - C2
    - ','
    - C1
    - ','
    - C0
    - )
    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: 1194
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1194
    functionName: SUB7_LIMB64
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SUB7_LIMB64(A6, A5, A4, A3, A2, A1, A0, B6, B5, B4, B3, B2, B1, B0,
      \\\n                    C6, C5, C4, C3, C2, C1, C0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1200
    functionName: LOAD64_UNALIGNED
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD64_UNALIGNED(x, pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1203
    functionName: LOAD64_UNALIGNED
    functionSourceFile: /src/libgcrypt/mpi/ec-inline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD64_UNALIGNED(x, pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/mpi/mpih-pow.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - n
    argTypes:
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: compute_minv
    functionSourceFile: /src/libgcrypt/mpi/mpih-pow.c
    functionUses: 0
    functionsReached:
    - gcry_assert
    linkageType: ''
    returnType: mpi_limb_t
    signature: mpi_limb_t compute_minv (mpi_limb_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpih_addmul_1
      Src: /src/libgcrypt/mpi/mpih-pow.c:94,1
    - Dst: _gcry_mpih_add_1_lli
      Src: /src/libgcrypt/mpi/mpih-pow.c:95,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/mpih-pow.c:98,1
    - Dst: _gcry_mpih_set_cond
      Src: /src/libgcrypt/mpi/mpih-pow.c:99,1
    - Dst: ct_ulong_gen_mask
      Src: /src/libgcrypt/mpi/mpih-pow.c:100,1
    - Dst: mpih_limb_is_not_zero
      Src: /src/libgcrypt/mpi/mpih-pow.c:100,1
    - Dst: mpih_limb_is_zero
      Src: /src/libgcrypt/mpi/mpih-pow.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - rp
    - tp
    - mp
    - n
    - minv
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 102
    functionName: mont_reduc
    functionSourceFile: /src/libgcrypt/mpi/mpih-pow.c
    functionUses: 0
    functionsReached:
    - _gcry_mpih_add_1_lli
    - mpih_limb_is_zero
    - _gcry_mpih_sub_n
    - ct_ulong_gen_mask
    - mpih_limb_is_not_zero
    - _gcry_mpih_addmul_1
    - _gcry_mpih_set_cond
    linkageType: ''
    returnType: void
    signature: "void mont_reduc (mpi_ptr_t rp, mpi_ptr_t tp,\n            mpi_ptr_t
      mp, mpi_size_t n, mpi_limb_t minv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpih_mul_lli
      Src: /src/libgcrypt/mpi/mpih-pow.c:118,1
    - Dst: mont_reduc
      Src: /src/libgcrypt/mpi/mpih-pow.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - rp
    - xp
    - yp
    - mp
    - n
    - minv
    - scratch_2n
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_limb_t
    - mpi_ptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: mont_mul
    functionSourceFile: /src/libgcrypt/mpi/mpih-pow.c
    functionUses: 0
    functionsReached:
    - _gcry_mpih_mul_lli
    - mont_reduc
    linkageType: ''
    returnType: void
    signature: "void mont_mul (mpi_ptr_t rp, mpi_ptr_t xp, mpi_ptr_t yp, mpi_ptr_t
      mp,\n          mpi_size_t n, mpi_limb_t minv, mpi_ptr_t scratch_2n)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - esize
    argTypes:
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 152
    functionName: window_size
    functionSourceFile: /src/libgcrypt/mpi/mpih-pow.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int window_size (mpi_size_t esize)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: window_size
      Src: /src/libgcrypt/mpi/mpih-pow.c:182,1
    - Dst: _gcry_mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpih-pow.c:188,1
    - Dst: compute_minv
      Src: /src/libgcrypt/mpi/mpih-pow.c:190,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/mpi/mpih-pow.c:192,1
    - Dst: MPN_ZERO
      Src: /src/libgcrypt/mpi/mpih-pow.c:194,1
    - Dst: count_leading_zeros
      Src: /src/libgcrypt/mpi/mpih-pow.c:197,1
    - Dst: _gcry_mpih_lshift
      Src: /src/libgcrypt/mpi/mpih-pow.c:200,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpih-pow.c:205,1
    - Dst: _gcry_mpih_divrem
      Src: /src/libgcrypt/mpi/mpih-pow.c:208,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/mpih-pow.c:210,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpih-pow.c:212,1
    - Dst: _gcry_mpih_sqr_n_basecase
      Src: /src/libgcrypt/mpi/mpih-pow.c:215,1
    - Dst: _gcry_mpih_lshift
      Src: /src/libgcrypt/mpi/mpih-pow.c:219,1
    - Dst: _gcry_mpih_divrem
      Src: /src/libgcrypt/mpi/mpih-pow.c:220,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/mpih-pow.c:222,1
    - Dst: mont_mul
      Src: /src/libgcrypt/mpi/mpih-pow.c:224,1
    - Dst: _gcry_mpih_sqr_n_basecase
      Src: /src/libgcrypt/mpi/mpih-pow.c:229,1
    - Dst: mont_reduc
      Src: /src/libgcrypt/mpi/mpih-pow.c:230,1
    - Dst: mont_mul
      Src: /src/libgcrypt/mpi/mpih-pow.c:231,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpih-pow.c:234,1
    - Dst: _gcry_mpih_sqr_n_basecase
      Src: /src/libgcrypt/mpi/mpih-pow.c:267,1
    - Dst: mont_reduc
      Src: /src/libgcrypt/mpi/mpih-pow.c:268,1
    - Dst: _gcry_mpih_lookup_lli
      Src: /src/libgcrypt/mpi/mpih-pow.c:272,1
    - Dst: mont_mul
      Src: /src/libgcrypt/mpi/mpih-pow.c:273,1
    - Dst: MPN_ZERO
      Src: /src/libgcrypt/mpi/mpih-pow.c:277,1
    - Dst: mont_mul
      Src: /src/libgcrypt/mpi/mpih-pow.c:279,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpih-pow.c:281,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpih-pow.c:282,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 6
    argNames:
    - rp
    - bp
    - mp
    - n
    - ep
    - en
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_ptr_t
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 169
    functionDepth: 4
    functionLinenumber: 169
    functionLinenumberEnd: 283
    functionName: _gcry_mpih_powm_lli
    functionSourceFile: /src/libgcrypt/mpi/mpih-pow.c
    functionUses: 0
    functionsReached:
    - _gcry_mpih_lookup_lli
    - _gcry_mpih_divrem
    - gcry_assert
    - mont_mul
    - _gcry_mpih_lshift
    - mont_reduc
    - _gcry_mpih_rshift
    - count_leading_zeros
    - _gcry_mpih_sqr_n_basecase
    - compute_minv
    - MPN_COPY
    - _gcry_mpi_free_limb_space
    - MPN_ZERO
    - window_size
    - _gcry_mpi_alloc_limb_space
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpih_powm_lli (mpi_ptr_t rp, mpi_ptr_t bp, mpi_ptr_t mp,
      mpi_size_t n,\n                     mpi_ptr_t ep, mpi_size_t en)"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - tab
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 67
    functionName: prefetch
    functionSourceFile: /src/libgcrypt/mpi/ec-nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prefetch(const void *tab, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:78,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:78,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:79,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:79,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:82,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:82,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:83,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:83,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:86,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:86,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:87,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:87,1
    - Dst: LIMB_TO64
      Src: /src/libgcrypt/mpi/ec-nist.c:90,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec-nist.c:93,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec-nist.c:94,1
    - Dst: RESIZE_AND_CLEAR_IF_NEEDED
      Src: /src/libgcrypt/mpi/ec-nist.c:100,1
    - Dst: RESIZE_AND_CLEAR_IF_NEEDED
      Src: /src/libgcrypt/mpi/ec-nist.c:101,1
    - Dst: prefetch
      Src: /src/libgcrypt/mpi/ec-nist.c:105,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:109,1
    - Dst: ADD3_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:110,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:111,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:112,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:112,1
    - Dst: ADD4_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:114,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:116,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:116,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:116,1
    - Dst: ADD4_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:118,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:120,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:120,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:120,1
    - Dst: LO32_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:127,1
    - Dst: SUB4_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:129,1
    - Dst: ADD4_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:134,1
    - Dst: LO32_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:139,1
    - Dst: ct_limb_gen_mask
      Src: /src/libgcrypt/mpi/ec-nist.c:141,1
    - Dst: ct_limb_gen_inv_mask
      Src: /src/libgcrypt/mpi/ec-nist.c:142,1
    - Dst: STORE64_COND
      Src: /src/libgcrypt/mpi/ec-nist.c:144,1
    - Dst: STORE64_COND
      Src: /src/libgcrypt/mpi/ec-nist.c:145,1
    - Dst: STORE64_COND
      Src: /src/libgcrypt/mpi/ec-nist.c:146,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/ec-nist.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - w
    - ctx
    argTypes:
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 151
    functionName: _gcry_mpi_ec_nist192_mod
    functionSourceFile: /src/libgcrypt/mpi/ec-nist.c
    functionUses: 0
    functionsReached:
    - ADD3_LIMB64
    - LO32_LIMB64
    - ADD4_LIMB64
    - RESIZE_AND_CLEAR_IF_NEEDED
    - MPN_NORMALIZE
    - SUB4_LIMB64
    - LIMB_TO64
    - DIM
    - prefetch
    - ct_limb_gen_inv_mask
    - STORE64_COND
    - ct_limb_gen_mask
    - LIMB64_C
    - LOAD64
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_ec_nist192_mod (gcry_mpi_t w, mpi_ec_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:159,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:159,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:160,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:160,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:163,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:163,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:164,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:164,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:167,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:167,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:168,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:168,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:171,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:171,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:172,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:172,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:175,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:175,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:176,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:176,1
    - Dst: LIMB_TO64
      Src: /src/libgcrypt/mpi/ec-nist.c:179,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec-nist.c:182,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec-nist.c:183,1
    - Dst: RESIZE_AND_CLEAR_IF_NEEDED
      Src: /src/libgcrypt/mpi/ec-nist.c:190,1
    - Dst: RESIZE_AND_CLEAR_IF_NEEDED
      Src: /src/libgcrypt/mpi/ec-nist.c:191,1
    - Dst: prefetch
      Src: /src/libgcrypt/mpi/ec-nist.c:196,1
    - Dst: ADD3_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:206,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:207,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:207,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:208,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:209,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:209,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:211,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:212,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:212,1
    - Dst: ADD4_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:215,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:217,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:217,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:218,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:219,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:220,1
    - Dst: ADD4_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:227,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:228,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:228,1
    - Dst: LOAD64_UNALIGNED
      Src: /src/libgcrypt/mpi/ec-nist.c:229,1
    - Dst: LOAD64_UNALIGNED
      Src: /src/libgcrypt/mpi/ec-nist.c:230,1
    - Dst: LOAD64_UNALIGNED
      Src: /src/libgcrypt/mpi/ec-nist.c:231,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:234,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:234,1
    - Dst: LOAD64_UNALIGNED
      Src: /src/libgcrypt/mpi/ec-nist.c:235,1
    - Dst: SUB4_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:238,1
    - Dst: HI32_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:247,1
    - Dst: SUB4_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:249,1
    - Dst: ADD4_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:254,1
    - Dst: HI32_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:259,1
    - Dst: ct_limb_gen_mask
      Src: /src/libgcrypt/mpi/ec-nist.c:261,1
    - Dst: ct_limb_gen_inv_mask
      Src: /src/libgcrypt/mpi/ec-nist.c:262,1
    - Dst: STORE64_COND
      Src: /src/libgcrypt/mpi/ec-nist.c:264,1
    - Dst: STORE64_COND
      Src: /src/libgcrypt/mpi/ec-nist.c:265,1
    - Dst: STORE64_COND
      Src: /src/libgcrypt/mpi/ec-nist.c:266,1
    - Dst: STORE64_COND
      Src: /src/libgcrypt/mpi/ec-nist.c:267,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/ec-nist.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - w
    - ctx
    argTypes:
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 272
    functionName: _gcry_mpi_ec_nist224_mod
    functionSourceFile: /src/libgcrypt/mpi/ec-nist.c
    functionUses: 0
    functionsReached:
    - ADD3_LIMB64
    - ADD4_LIMB64
    - LOAD64_UNALIGNED
    - RESIZE_AND_CLEAR_IF_NEEDED
    - MPN_NORMALIZE
    - SUB4_LIMB64
    - LIMB_TO64
    - DIM
    - prefetch
    - LIMB64_HILO
    - ct_limb_gen_inv_mask
    - STORE64_COND
    - ct_limb_gen_mask
    - LOAD32
    - HI32_LIMB64
    - LIMB64_C
    - LOAD64
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_ec_nist224_mod (gcry_mpi_t w, mpi_ec_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:280,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:280,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:281,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:281,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:282,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:285,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:285,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:286,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:286,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:287,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:290,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:290,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:291,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:291,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:292,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:295,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:295,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:296,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:296,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:297,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:300,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:300,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:301,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:301,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:302,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:305,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:305,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:306,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:306,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:307,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:310,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:310,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:311,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:311,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:312,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:315,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:315,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:316,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:316,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:317,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:320,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:320,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:321,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:321,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:322,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:325,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:325,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:326,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:326,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:327,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:330,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:330,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:331,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:331,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:332,1
    - Dst: LIMB_TO64
      Src: /src/libgcrypt/mpi/ec-nist.c:335,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec-nist.c:338,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec-nist.c:339,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec-nist.c:340,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec-nist.c:341,1
    - Dst: RESIZE_AND_CLEAR_IF_NEEDED
      Src: /src/libgcrypt/mpi/ec-nist.c:350,1
    - Dst: RESIZE_AND_CLEAR_IF_NEEDED
      Src: /src/libgcrypt/mpi/ec-nist.c:351,1
    - Dst: prefetch
      Src: /src/libgcrypt/mpi/ec-nist.c:356,1
    - Dst: ADD4_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:366,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:368,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:369,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:370,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:370,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:372,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:372,1
    - Dst: LOAD64_UNALIGNED
      Src: /src/libgcrypt/mpi/ec-nist.c:373,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:374,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:374,1
    - Dst: ADD5_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:381,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:383,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:385,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:385,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:386,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:388,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:388,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:388,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:389,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:390,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:390,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:390,1
    - Dst: LOAD64_UNALIGNED
      Src: /src/libgcrypt/mpi/ec-nist.c:391,1
    - Dst: ADD5_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:394,1
    - Dst: ADD5_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:399,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:402,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:403,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:404,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:405,1
    - Dst: SUB5_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:412,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:415,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:415,1
    - Dst: LOAD64_UNALIGNED
      Src: /src/libgcrypt/mpi/ec-nist.c:416,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:417,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:417,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:417,1
    - Dst: LOAD64_UNALIGNED
      Src: /src/libgcrypt/mpi/ec-nist.c:418,1
    - Dst: ADD5_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:421,1
    - Dst: ADD3_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:429,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:431,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:431,1
    - Dst: LOAD64_UNALIGNED
      Src: /src/libgcrypt/mpi/ec-nist.c:432,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:434,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:435,1
    - Dst: ADD2_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:436,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:437,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:437,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:437,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:438,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:438,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:438,1
    - Dst: ADD5_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:445,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:448,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:448,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:449,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:450,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:450,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:451,1
    - Dst: SUB5_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:454,1
    - Dst: LO32_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:463,1
    - Dst: SUB5_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:471,1
    - Dst: ADD5_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:476,1
    - Dst: ADD5_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:483,1
    - Dst: LO32_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:489,1
    - Dst: LO32_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:490,1
    - Dst: ct_limb_gen_mask
      Src: /src/libgcrypt/mpi/ec-nist.c:491,1
    - Dst: ct_limb_gen_mask
      Src: /src/libgcrypt/mpi/ec-nist.c:492,1
    - Dst: ct_limb_gen_inv_mask
      Src: /src/libgcrypt/mpi/ec-nist.c:493,1
    - Dst: LIMB_OR64
      Src: /src/libgcrypt/mpi/ec-nist.c:495,1
    - Dst: MASK_AND64
      Src: /src/libgcrypt/mpi/ec-nist.c:495,1
    - Dst: MASK_AND64
      Src: /src/libgcrypt/mpi/ec-nist.c:495,1
    - Dst: LIMB_OR64
      Src: /src/libgcrypt/mpi/ec-nist.c:496,1
    - Dst: MASK_AND64
      Src: /src/libgcrypt/mpi/ec-nist.c:496,1
    - Dst: MASK_AND64
      Src: /src/libgcrypt/mpi/ec-nist.c:496,1
    - Dst: LIMB_OR64
      Src: /src/libgcrypt/mpi/ec-nist.c:497,1
    - Dst: MASK_AND64
      Src: /src/libgcrypt/mpi/ec-nist.c:497,1
    - Dst: MASK_AND64
      Src: /src/libgcrypt/mpi/ec-nist.c:497,1
    - Dst: LIMB_OR64
      Src: /src/libgcrypt/mpi/ec-nist.c:498,1
    - Dst: MASK_AND64
      Src: /src/libgcrypt/mpi/ec-nist.c:498,1
    - Dst: MASK_AND64
      Src: /src/libgcrypt/mpi/ec-nist.c:498,1
    - Dst: LIMB_OR64
      Src: /src/libgcrypt/mpi/ec-nist.c:499,1
    - Dst: MASK_AND64
      Src: /src/libgcrypt/mpi/ec-nist.c:499,1
    - Dst: LIMB_OR64
      Src: /src/libgcrypt/mpi/ec-nist.c:500,1
    - Dst: MASK_AND64
      Src: /src/libgcrypt/mpi/ec-nist.c:500,1
    - Dst: LIMB_OR64
      Src: /src/libgcrypt/mpi/ec-nist.c:501,1
    - Dst: MASK_AND64
      Src: /src/libgcrypt/mpi/ec-nist.c:501,1
    - Dst: LIMB_OR64
      Src: /src/libgcrypt/mpi/ec-nist.c:502,1
    - Dst: MASK_AND64
      Src: /src/libgcrypt/mpi/ec-nist.c:502,1
    - Dst: STORE64
      Src: /src/libgcrypt/mpi/ec-nist.c:504,1
    - Dst: STORE64
      Src: /src/libgcrypt/mpi/ec-nist.c:505,1
    - Dst: STORE64
      Src: /src/libgcrypt/mpi/ec-nist.c:506,1
    - Dst: STORE64
      Src: /src/libgcrypt/mpi/ec-nist.c:507,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/ec-nist.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 2
    argNames:
    - w
    - ctx
    argTypes:
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 512
    functionName: _gcry_mpi_ec_nist256_mod
    functionSourceFile: /src/libgcrypt/mpi/ec-nist.c
    functionUses: 0
    functionsReached:
    - LIMB_OR64
    - LO32_LIMB64
    - RESIZE_AND_CLEAR_IF_NEEDED
    - LOAD32
    - LIMB64_C
    - ADD2_LIMB64
    - ADD4_LIMB64
    - DIM
    - ct_limb_gen_inv_mask
    - ct_limb_gen_mask
    - ADD5_LIMB64
    - ADD3_LIMB64
    - SUB5_LIMB64
    - MASK_AND64
    - STORE64
    - LOAD64_UNALIGNED
    - MPN_NORMALIZE
    - LIMB_TO64
    - prefetch
    - LIMB64_HILO
    - LOAD64
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_ec_nist256_mod (gcry_mpi_t w, mpi_ec_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:520,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:520,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:521,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:521,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:522,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:522,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:523,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:526,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:526,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:527,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:527,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:528,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:528,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:529,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:532,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:532,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:533,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:533,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:534,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:534,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:535,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:538,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:538,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:539,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:539,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:540,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:540,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:541,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:544,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:544,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:545,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:545,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:546,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:546,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:547,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:550,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:550,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:551,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:551,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:552,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:552,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:553,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:556,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:556,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:557,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:557,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:558,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:558,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:559,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:562,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:562,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:563,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:563,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:564,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:564,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:565,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:568,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:568,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:569,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:569,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:570,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:570,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:571,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:574,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:574,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:575,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:575,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:576,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:576,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:577,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:580,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:580,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:581,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:581,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:582,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:582,1
    - Dst: LIMB64_C
      Src: /src/libgcrypt/mpi/ec-nist.c:583,1
    - Dst: LIMB_TO64
      Src: /src/libgcrypt/mpi/ec-nist.c:586,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec-nist.c:589,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec-nist.c:590,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec-nist.c:591,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec-nist.c:593,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec-nist.c:595,1
    - Dst: RESIZE_AND_CLEAR_IF_NEEDED
      Src: /src/libgcrypt/mpi/ec-nist.c:602,1
    - Dst: RESIZE_AND_CLEAR_IF_NEEDED
      Src: /src/libgcrypt/mpi/ec-nist.c:603,1
    - Dst: prefetch
      Src: /src/libgcrypt/mpi/ec-nist.c:608,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/ec-nist.c:615,1
    - Dst: ADD2_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:629,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:630,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:630,1
    - Dst: LOAD64_SHR32
      Src: /src/libgcrypt/mpi/ec-nist.c:631,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:632,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:632,1
    - Dst: LOAD64_SHR32
      Src: /src/libgcrypt/mpi/ec-nist.c:633,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:640,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:640,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:641,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:641,1
    - Dst: ADD3_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:642,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:643,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:643,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:644,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:651,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:651,1
    - Dst: ADD2_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:652,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:653,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:653,1
    - Dst: LOAD64_SHR32
      Src: /src/libgcrypt/mpi/ec-nist.c:654,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:655,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:655,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:656,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:656,1
    - Dst: ADD3_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:665,1
    - Dst: ADD7_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:674,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:676,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:676,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:676,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:677,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:677,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:677,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:679,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:679,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:679,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:680,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:680,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:680,1
    - Dst: ADD7_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:687,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:690,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:690,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:691,1
    - Dst: LOAD64
      Src: /src/libgcrypt/mpi/ec-nist.c:691,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:692,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:692,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:693,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:693,1
    - Dst: ADD7_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:700,1
    - Dst: LOAD64_SHR32
      Src: /src/libgcrypt/mpi/ec-nist.c:703,1
    - Dst: LOAD64_SHR32
      Src: /src/libgcrypt/mpi/ec-nist.c:704,1
    - Dst: LOAD64_SHR32
      Src: /src/libgcrypt/mpi/ec-nist.c:705,1
    - Dst: LOAD64_SHR32
      Src: /src/libgcrypt/mpi/ec-nist.c:706,1
    - Dst: LOAD64_SHR32
      Src: /src/libgcrypt/mpi/ec-nist.c:707,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:708,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:708,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:708,1
    - Dst: ADD7_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:715,1
    - Dst: LOAD64_SHR32
      Src: /src/libgcrypt/mpi/ec-nist.c:718,1
    - Dst: LOAD64_SHR32
      Src: /src/libgcrypt/mpi/ec-nist.c:719,1
    - Dst: LOAD64_SHR32
      Src: /src/libgcrypt/mpi/ec-nist.c:720,1
    - Dst: LOAD64_SHR32
      Src: /src/libgcrypt/mpi/ec-nist.c:721,1
    - Dst: LIMB64_HILO
      Src: /src/libgcrypt/mpi/ec-nist.c:722,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:722,1
    - Dst: LOAD32
      Src: /src/libgcrypt/mpi/ec-nist.c:722,1
    - Dst: LOAD64_SHR32
      Src: /src/libgcrypt/mpi/ec-nist.c:723,1
    - Dst: ADD7_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:726,1
    - Dst: SUB7_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:731,1
    - Dst: LO32_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:742,1
    - Dst: SUB7_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:752,1
    - Dst: ADD7_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:756,1
    - Dst: LO32_LIMB64
      Src: /src/libgcrypt/mpi/ec-nist.c:763,1
    - Dst: ct_limb_gen_mask
      Src: /src/libgcrypt/mpi/ec-nist.c:764,1
    - Dst: ct_limb_gen_inv_mask
      Src: /src/libgcrypt/mpi/ec-nist.c:765,1
    - Dst: STORE64_COND
      Src: /src/libgcrypt/mpi/ec-nist.c:767,1
    - Dst: STORE64_COND
      Src: /src/libgcrypt/mpi/ec-nist.c:768,1
    - Dst: STORE64_COND
      Src: /src/libgcrypt/mpi/ec-nist.c:769,1
    - Dst: STORE64_COND
      Src: /src/libgcrypt/mpi/ec-nist.c:770,1
    - Dst: STORE64_COND
      Src: /src/libgcrypt/mpi/ec-nist.c:771,1
    - Dst: STORE64_COND
      Src: /src/libgcrypt/mpi/ec-nist.c:772,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/ec-nist.c:776,1
    - Dst: wipememory
      Src: /src/libgcrypt/mpi/ec-nist.c:779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 45
    argCount: 2
    argNames:
    - w
    - ctx
    argTypes:
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 781
    functionName: _gcry_mpi_ec_nist384_mod
    functionSourceFile: /src/libgcrypt/mpi/ec-nist.c
    functionUses: 0
    functionsReached:
    - LO32_LIMB64
    - RESIZE_AND_CLEAR_IF_NEEDED
    - LOAD32
    - LIMB64_C
    - ADD2_LIMB64
    - SUB7_LIMB64
    - DIM
    - ct_limb_gen_inv_mask
    - wipememory
    - ct_limb_gen_mask
    - ADD3_LIMB64
    - LOAD64_SHR32
    - ADD7_LIMB64
    - MPN_NORMALIZE
    - LIMB_TO64
    - prefetch
    - LIMB64_HILO
    - _gcry_mpih_rshift
    - STORE64_COND
    - LOAD64
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_ec_nist384_mod (gcry_mpi_t w, mpi_ec_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 615
    functionName: LOAD64_SHR32
    functionSourceFile: /src/libgcrypt/mpi/ec-nist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD64_SHR32(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 619
    functionName: LOAD64_SHR32
    functionSourceFile: /src/libgcrypt/mpi/ec-nist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD64_SHR32(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 622
    functionName: LOAD64_SHR32
    functionSourceFile: /src/libgcrypt/mpi/ec-nist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD64_SHR32(idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec-nist.c:787,1
    - Dst: RESIZE_AND_CLEAR_IF_NEEDED
      Src: /src/libgcrypt/mpi/ec-nist.c:791,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/ec-nist.c:797,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/ec-nist.c:800,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/ec-nist.c:803,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/ec-nist.c:804,1
    - Dst: mpih_set_cond
      Src: /src/libgcrypt/mpi/ec-nist.c:805,1
    - Dst: mpih_limb_is_not_zero
      Src: /src/libgcrypt/mpi/ec-nist.c:805,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/ec-nist.c:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - w
    - ctx
    argTypes:
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 810
    functionName: _gcry_mpi_ec_nist521_mod
    functionSourceFile: /src/libgcrypt/mpi/ec-nist.c
    functionUses: 0
    functionsReached:
    - RESIZE_AND_CLEAR_IF_NEEDED
    - MPN_NORMALIZE
    - _gcry_mpih_sub_n
    - DIM
    - _gcry_mpih_rshift
    - mpih_limb_is_not_zero
    - mpih_set_cond
    - _gcry_mpih_add_n
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_ec_nist521_mod (gcry_mpi_t w, mpi_ec_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sub_ddmmss
      Src: /src/libgcrypt/mpi/mpih-const-time.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mpi_limb_t
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: mpih_ct_limb_greater_than
    functionSourceFile: /src/libgcrypt/mpi/mpih-const-time.c
    functionUses: 0
    functionsReached:
    - sub_ddmmss
    linkageType: ''
    returnType: mpi_limb_t
    signature: mpi_limb_t mpih_ct_limb_greater_than (mpi_limb_t x, mpi_limb_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpih_ct_limb_greater_than
      Src: /src/libgcrypt/mpi/mpih-const-time.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mpi_limb_t
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: mpih_ct_limb_less_than
    functionSourceFile: /src/libgcrypt/mpi/mpih-const-time.c
    functionUses: 0
    functionsReached:
    - mpih_ct_limb_greater_than
    linkageType: ''
    returnType: mpi_limb_t
    signature: mpi_limb_t mpih_ct_limb_less_than (mpi_limb_t x, mpi_limb_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_limb_gen_mask
      Src: /src/libgcrypt/mpi/mpih-const-time.c:63,1
    - Dst: ct_limb_gen_inv_mask
      Src: /src/libgcrypt/mpi/mpih-const-time.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wp
    - up
    - usize
    - op_enable
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: _gcry_mpih_set_cond
    functionSourceFile: /src/libgcrypt/mpi/mpih-const-time.c
    functionUses: 1
    functionsReached:
    - ct_limb_gen_inv_mask
    - ct_limb_gen_mask
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpih_set_cond (mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t usize,\n
      \                    unsigned long op_enable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_limb_gen_mask
      Src: /src/libgcrypt/mpi/mpih-const-time.c:83,1
    - Dst: ct_limb_gen_inv_mask
      Src: /src/libgcrypt/mpi/mpih-const-time.c:84,1
    - Dst: mpih_ct_limb_less_than
      Src: /src/libgcrypt/mpi/mpih-const-time.c:93,1
    - Dst: mpih_ct_limb_less_than
      Src: /src/libgcrypt/mpi/mpih-const-time.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - wp
    - up
    - vp
    - usize
    - op_enable
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 103
    functionName: _gcry_mpih_add_n_cond
    functionSourceFile: /src/libgcrypt/mpi/mpih-const-time.c
    functionUses: 1
    functionsReached:
    - mpih_ct_limb_less_than
    - ct_limb_gen_inv_mask
    - ct_limb_gen_mask
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_add_n_cond (mpi_ptr_t wp, mpi_ptr_t up, mpi_ptr_t
      vp,\n                       mpi_size_t usize, unsigned long op_enable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_limb_gen_mask
      Src: /src/libgcrypt/mpi/mpih-const-time.c:115,1
    - Dst: ct_limb_gen_inv_mask
      Src: /src/libgcrypt/mpi/mpih-const-time.c:116,1
    - Dst: mpih_ct_limb_greater_than
      Src: /src/libgcrypt/mpi/mpih-const-time.c:125,1
    - Dst: mpih_ct_limb_less_than
      Src: /src/libgcrypt/mpi/mpih-const-time.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - wp
    - up
    - vp
    - usize
    - op_enable
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: _gcry_mpih_sub_n_cond
    functionSourceFile: /src/libgcrypt/mpi/mpih-const-time.c
    functionUses: 0
    functionsReached:
    - mpih_ct_limb_less_than
    - ct_limb_gen_inv_mask
    - ct_limb_gen_mask
    - mpih_ct_limb_greater_than
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_sub_n_cond (mpi_ptr_t wp, mpi_ptr_t up, mpi_ptr_t
      vp,\n                       mpi_size_t usize, unsigned long op_enable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_limb_gen_mask
      Src: /src/libgcrypt/mpi/mpih-const-time.c:147,1
    - Dst: ct_limb_gen_inv_mask
      Src: /src/libgcrypt/mpi/mpih-const-time.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - up
    - vp
    - usize
    - op_enable
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: _gcry_mpih_swap_cond
    functionSourceFile: /src/libgcrypt/mpi/mpih-const-time.c
    functionUses: 0
    functionsReached:
    - ct_limb_gen_inv_mask
    - ct_limb_gen_mask
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpih_swap_cond (mpi_ptr_t up, mpi_ptr_t vp, mpi_size_t
      usize,\n                      unsigned long op_enable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_limb_gen_mask
      Src: /src/libgcrypt/mpi/mpih-const-time.c:170,1
    - Dst: ct_limb_gen_inv_mask
      Src: /src/libgcrypt/mpi/mpih-const-time.c:171,1
    - Dst: mpih_ct_limb_less_than
      Src: /src/libgcrypt/mpi/mpih-const-time.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - wp
    - up
    - usize
    - op_enable
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 183
    functionName: _gcry_mpih_abs_cond
    functionSourceFile: /src/libgcrypt/mpi/mpih-const-time.c
    functionUses: 0
    functionsReached:
    - mpih_ct_limb_less_than
    - ct_limb_gen_inv_mask
    - ct_limb_gen_mask
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpih_abs_cond (mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t usize,\n
      \                    unsigned long op_enable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpih-const-time.c:198,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpih-const-time.c:199,1
    - Dst: MPN_ZERO
      Src: /src/libgcrypt/mpi/mpih-const-time.c:200,1
    - Dst: _gcry_mpih_lshift
      Src: /src/libgcrypt/mpi/mpih-const-time.c:212,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/mpih-const-time.c:215,1
    - Dst: mpih_add_n_cond
      Src: /src/libgcrypt/mpi/mpih-const-time.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - vp
    - vsize
    - up
    - usize
    argTypes:
    - mpi_ptr_t
    - mpi_size_t
    - mpi_ptr_t
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 220
    functionName: _gcry_mpih_mod_lli
    functionSourceFile: /src/libgcrypt/mpi/mpih-const-time.c
    functionUses: 2
    functionsReached:
    - _gcry_mpih_lshift
    - _gcry_mpih_sub_n
    - _gcry_is_secure
    - mpih_add_n_cond
    - MPN_ZERO
    - mpi_alloc_limb_space
    linkageType: ''
    returnType: mpi_ptr_t
    signature: "mpi_ptr_t _gcry_mpih_mod_lli (mpi_ptr_t vp, mpi_size_t vsize,\n                    mpi_ptr_t
      up, mpi_size_t usize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_ulong_gen_mask
      Src: /src/libgcrypt/mpi/mpih-const-time.c:225,1
    - Dst: mpih_ct_limb_less_than
      Src: /src/libgcrypt/mpi/mpih-const-time.c:229,1
    - Dst: mpih_ct_limb_greater_than
      Src: /src/libgcrypt/mpi/mpih-const-time.c:230,1
    - Dst: ct_ulong_gen_mask
      Src: /src/libgcrypt/mpi/mpih-const-time.c:233,1
    - Dst: mpih_limb_is_zero
      Src: /src/libgcrypt/mpi/mpih-const-time.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - up
    - usize
    - v
    argTypes:
    - mpi_ptr_t
    - mpi_size_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 236
    functionName: _gcry_mpih_cmp_ui
    functionSourceFile: /src/libgcrypt/mpi/mpih-const-time.c
    functionUses: 4
    functionsReached:
    - mpih_limb_is_zero
    - mpih_ct_limb_less_than
    - ct_ulong_gen_mask
    - mpih_ct_limb_greater_than
    linkageType: ''
    returnType: int
    signature: int _gcry_mpih_cmp_ui (mpi_ptr_t up, mpi_size_t usize, unsigned long
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpih_ct_limb_greater_than
      Src: /src/libgcrypt/mpi/mpih-const-time.c:250,1
    - Dst: mpih_ct_limb_less_than
      Src: /src/libgcrypt/mpi/mpih-const-time.c:251,1
    - Dst: ct_limb_gen_mask
      Src: /src/libgcrypt/mpi/mpih-const-time.c:252,1
    - Dst: ct_limb_gen_inv_mask
      Src: /src/libgcrypt/mpi/mpih-const-time.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - up
    - vp
    - size
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 259
    functionName: _gcry_mpih_cmp_lli
    functionSourceFile: /src/libgcrypt/mpi/mpih-const-time.c
    functionUses: 2
    functionsReached:
    - mpih_ct_limb_less_than
    - ct_limb_gen_inv_mask
    - ct_limb_gen_mask
    - mpih_ct_limb_greater_than
    linkageType: ''
    returnType: int
    signature: int _gcry_mpih_cmp_lli (mpi_ptr_t up, mpi_ptr_t vp, mpi_size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_is_not_zero
      Src: /src/libgcrypt/mpi/mpih-const-time.c:285,1
    - Dst: ct_limb_select
      Src: /src/libgcrypt/mpi/mpih-const-time.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - rp
    - table
    - n
    - nents
    - idx
    argTypes:
    - mpi_ptr_t
    - mpi_limb_t*
    - mpi_size_t
    - mpi_size_t
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 290
    functionName: _gcry_mpih_lookup_lli
    functionSourceFile: /src/libgcrypt/mpi/mpih-const-time.c
    functionUses: 1
    functionsReached:
    - ct_limb_select
    - ct_is_not_zero
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpih_lookup_lli (mpi_ptr_t rp, const mpi_limb_t *table,\n
      \                      mpi_size_t n, mpi_size_t nents, mpi_size_t idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: _gcry_mpi_get_hw_config
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_mpi_get_hw_config (void)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/libgcrypt/mpi/mpiutil.c:76,1
    - Dst: mpi_alloc_set_ui
      Src: /src/libgcrypt/mpi/mpiutil.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 83
    functionName: _gcry_mpi_init
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached:
    - log_bug
    - mpi_alloc_set_ui
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_mpi_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/mpi/mpiutil.c:99,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpiutil.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - nlimbs
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: _gcry_mpi_alloc
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - mpi_alloc_limb_space
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_mpi_alloc( unsigned nlimbs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/mpi/mpiutil.c:113,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpiutil.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - nlimbs
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: _gcry_mpi_alloc_secure
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - mpi_alloc_limb_space
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_mpi_alloc_secure( unsigned nlimbs )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:131,1
    - Dst: xmalloc
      Src: /src/libgcrypt/mpi/mpiutil.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - nlimbs
    - secure
    argTypes:
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: _gcry_mpi_alloc_limb_space
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached:
    - xmalloc
    - xmalloc_secure
    linkageType: ''
    returnType: mpi_ptr_t
    signature: mpi_ptr_t _gcry_mpi_alloc_limb_space( unsigned int nlimbs, int secure
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wipememory
      Src: /src/libgcrypt/mpi/mpiutil.c:150,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/mpiutil.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - nlimbs
    argTypes:
    - mpi_ptr_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 153
    functionName: _gcry_mpi_free_limb_space
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 5
    functionsReached:
    - wipememory
    - xfree
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_free_limb_space( mpi_ptr_t a, unsigned int nlimbs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:159,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:161,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpiutil.c:163,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpiutil.c:164,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpiutil.c:165,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpiutil.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - a
    - ap
    - nlimbs
    argTypes:
    - gcry_mpi_t
    - mpi_ptr_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 172
    functionName: _gcry_mpi_assign_limb_space
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 3
    functionsReached:
    - _gcry_mpi_free_limb_space
    - _gcry_is_secure
    - mpi_alloc_limb_space
    - MPN_COPY
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_assign_limb_space( gcry_mpi_t a, mpi_ptr_t ap, unsigned
      int nlimbs )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xrealloc
      Src: /src/libgcrypt/mpi/mpiutil.c:197,1
    - Dst: xcalloc_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:205,1
    - Dst: xcalloc
      Src: /src/libgcrypt/mpi/mpiutil.c:208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - a
    - nlimbs
    argTypes:
    - gcry_mpi_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 211
    functionName: _gcry_mpi_resize
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 0
    functionsReached:
    - xrealloc
    - xcalloc
    - xcalloc_secure
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_resize (gcry_mpi_t a, unsigned nlimbs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_immutable
      Src: /src/libgcrypt/mpi/mpiutil.c:216,1
    - Dst: mpi_immutable_failed
      Src: /src/libgcrypt/mpi/mpiutil.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: _gcry_mpi_clear
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 0
    functionsReached:
    - mpi_is_immutable
    - mpi_immutable_failed
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_clear( gcry_mpi_t a )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/libgcrypt/mpi/mpiutil.c:233,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/mpiutil.c:237,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpiutil.c:240,1
    - Dst: log_bug
      Src: /src/libgcrypt/mpi/mpiutil.c:251,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/mpiutil.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 253
    functionName: _gcry_mpi_free
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 0
    functionsReached:
    - log_bug
    - gpgrt_annotate_leaked_object
    - xfree
    - _gcry_mpi_free_limb_space
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_free( gcry_mpi_t a )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/libgcrypt/mpi/mpiutil.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: _gcry_mpi_immutable_failed
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 0
    functionsReached:
    - log_info
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_immutable_failed (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_assert
      Src: /src/libgcrypt/mpi/mpiutil.c:274,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpiutil.c:277,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpiutil.c:278,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpiutil.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 281
    functionName: mpi_set_secure
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_free_limb_space
    - mpi_alloc_limb_space
    - gcry_assert
    - MPN_COPY
    linkageType: ''
    returnType: void
    signature: void mpi_set_secure( gcry_mpi_t a )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpiutil.c:288,1
    - Dst: mpi_is_immutable
      Src: /src/libgcrypt/mpi/mpiutil.c:290,1
    - Dst: mpi_immutable_failed
      Src: /src/libgcrypt/mpi/mpiutil.c:292,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/mpiutil.c:297,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpiutil.c:299,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - a
    - p
    - nbits
    argTypes:
    - gcry_mpi_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 312
    functionName: _gcry_mpi_set_opaque
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 2
    functionsReached:
    - mpi_immutable_failed
    - _gcry_is_secure
    - xfree
    - mpi_alloc
    - mpi_is_immutable
    - _gcry_mpi_free_limb_space
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_mpi_set_opaque (gcry_mpi_t a, void *p, unsigned int
      nbits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:322,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:322,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/mpi/mpiutil.c:322,1
    - Dst: memcpy
      Src: /src/libgcrypt/mpi/mpiutil.c:325,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/mpi/mpiutil.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - a
    - p
    - nbits
    argTypes:
    - gcry_mpi_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 315
    functionDepth: 3
    functionLinenumber: 315
    functionLinenumberEnd: 327
    functionName: _gcry_mpi_set_opaque_copy
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 6
    functionsReached:
    - mpi_set_opaque
    - xtrymalloc_secure
    - _gcry_is_secure
    - memcpy
    - xtrymalloc
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_mpi_set_opaque_copy (gcry_mpi_t a, const void *p,
      unsigned int nbits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/libgcrypt/mpi/mpiutil.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - nbits
    argTypes:
    - gcry_mpi_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 338
    functionName: _gcry_mpi_get_opaque
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached:
    - log_bug
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_mpi_get_opaque (gcry_mpi_t a, unsigned int *nbits)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/mpi/mpiutil.c:348,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:352,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:352,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/mpi/mpiutil.c:352,1
    - Dst: memcpy
      Src: /src/libgcrypt/mpi/mpiutil.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - a
    - nbits
    argTypes:
    - gcry_mpi_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 356
    functionName: _gcry_mpi_get_opaque_copy
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached:
    - xtrymalloc_secure
    - _gcry_is_secure
    - memcpy
    - mpi_get_opaque
    - xtrymalloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _gcry_mpi_get_opaque_copy (gcry_mpi_t a, unsigned int *nbits)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:371,1
    - Dst: xmalloc_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:371,1
    - Dst: xmalloc
      Src: /src/libgcrypt/mpi/mpiutil.c:372,1
    - Dst: memcpy
      Src: /src/libgcrypt/mpi/mpiutil.c:374,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/mpi/mpiutil.c:376,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:381,1
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:381,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpiutil.c:382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 393
    functionName: _gcry_mpi_copy
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached:
    - mpi_set_opaque
    - mpi_is_secure
    - xmalloc
    - mpi_alloc_secure
    - _gcry_is_secure
    - memcpy
    - mpi_alloc
    - xmalloc_secure
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_mpi_copy (gcry_mpi_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_cmp_ui
      Src: /src/libgcrypt/mpi/mpiutil.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 404
    functionName: _gcry_mpi_is_neg
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached:
    - _gcry_mpi_cmp_ui
    linkageType: ''
    returnType: int
    signature: int _gcry_mpi_is_neg (gcry_mpi_t a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpiutil.c:412,1
    - Dst: mpi_is_immutable
      Src: /src/libgcrypt/mpi/mpiutil.c:413,1
    - Dst: mpi_immutable_failed
      Src: /src/libgcrypt/mpi/mpiutil.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - w
    - u
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 420
    functionName: _gcry_mpi_neg
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached:
    - mpi_immutable_failed
    - mpi_is_immutable
    - mpi_set
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_neg (gcry_mpi_t w, gcry_mpi_t u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_immutable
      Src: /src/libgcrypt/mpi/mpiutil.c:427,1
    - Dst: mpi_immutable_failed
      Src: /src/libgcrypt/mpi/mpiutil.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - w
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 434
    functionName: _gcry_mpi_abs
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached:
    - mpi_is_immutable
    - mpi_immutable_failed
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_abs (gcry_mpi_t w)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:449,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:449,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/mpi/mpiutil.c:450,1
    - Dst: memcpy
      Src: /src/libgcrypt/mpi/mpiutil.c:451,1
    - Dst: mpi_set_opaque
      Src: /src/libgcrypt/mpi/mpiutil.c:452,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:455,1
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:455,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpiutil.c:456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 464
    functionName: _gcry_mpi_alloc_like
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached:
    - mpi_set_opaque
    - mpi_is_secure
    - xtrymalloc_secure
    - mpi_alloc_secure
    - _gcry_is_secure
    - memcpy
    - mpi_alloc
    - xtrymalloc
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_mpi_alloc_like( gcry_mpi_t a )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_immutable
      Src: /src/libgcrypt/mpi/mpiutil.c:473,1
    - Dst: mpi_immutable_failed
      Src: /src/libgcrypt/mpi/mpiutil.c:475,1
    - Dst: _gcry_mpi_assign_limb_space
      Src: /src/libgcrypt/mpi/mpiutil.c:478,1
    - Dst: _gcry_mpi_free
      Src: /src/libgcrypt/mpi/mpiutil.c:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - w
    - u
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 468
    functionDepth: 4
    functionLinenumber: 468
    functionLinenumberEnd: 487
    functionName: _gcry_mpi_snatch
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached:
    - _gcry_mpi_assign_limb_space
    - _gcry_mpi_free
    - mpi_is_immutable
    - mpi_immutable_failed
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_snatch (gcry_mpi_t w, gcry_mpi_t u)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_alloc
      Src: /src/libgcrypt/mpi/mpiutil.c:498,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/mpi/mpiutil.c:498,1
    - Dst: mpi_is_immutable
      Src: /src/libgcrypt/mpi/mpiutil.c:499,1
    - Dst: mpi_immutable_failed
      Src: /src/libgcrypt/mpi/mpiutil.c:501,1
    - Dst: RESIZE_IF_NEEDED
      Src: /src/libgcrypt/mpi/mpiutil.c:504,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpiutil.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - w
    - u
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 513
    functionName: _gcry_mpi_set
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached:
    - RESIZE_IF_NEEDED
    - mpi_immutable_failed
    - _gcry_mpi_alloc
    - mpi_get_nlimbs
    - mpi_is_immutable
    - MPN_COPY
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_mpi_set (gcry_mpi_t w, gcry_mpi_t u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ct_limb_gen_mask
      Src: /src/libgcrypt/mpi/mpiutil.c:524,1
    - Dst: ct_limb_gen_inv_mask
      Src: /src/libgcrypt/mpi/mpiutil.c:525,1
    - Dst: log_bug
      Src: /src/libgcrypt/mpi/mpiutil.c:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - w
    - u
    - set
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 551
    functionName: _gcry_mpi_set_cond
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 0
    functionsReached:
    - log_bug
    - ct_limb_gen_inv_mask
    - ct_limb_gen_mask
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_mpi_set_cond (gcry_mpi_t w, const gcry_mpi_t u, unsigned
      long set)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_alloc
      Src: /src/libgcrypt/mpi/mpiutil.c:558,1
    - Dst: mpi_is_immutable
      Src: /src/libgcrypt/mpi/mpiutil.c:561,1
    - Dst: mpi_immutable_failed
      Src: /src/libgcrypt/mpi/mpiutil.c:563,1
    - Dst: RESIZE_IF_NEEDED
      Src: /src/libgcrypt/mpi/mpiutil.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - w
    - u
    argTypes:
    - gcry_mpi_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 572
    functionName: _gcry_mpi_set_ui
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached:
    - mpi_immutable_failed
    - RESIZE_IF_NEEDED
    - mpi_is_immutable
    - _gcry_mpi_alloc
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_mpi_set_ui (gcry_mpi_t w, unsigned long u)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - w
    - u
    argTypes:
    - unsigned int*
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 595
    functionName: _gcry_mpi_get_ui
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gcry_err_code_t
    signature: gcry_err_code_t _gcry_mpi_get_ui (unsigned int *w, gcry_mpi_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpiutil.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - u
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 606
    functionName: _gcry_mpi_alloc_set_ui
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 0
    functionsReached:
    - mpi_alloc
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_mpi_alloc_set_ui( unsigned long u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 614
    functionName: _gcry_mpi_swap
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_swap (gcry_mpi_t a, gcry_mpi_t b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ct_limb_gen_mask
      Src: /src/libgcrypt/mpi/mpiutil.c:626,1
    - Dst: ct_limb_gen_inv_mask
      Src: /src/libgcrypt/mpi/mpiutil.c:627,1
    - Dst: log_bug
      Src: /src/libgcrypt/mpi/mpiutil.c:640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - a
    - b
    - swap
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 659
    functionName: _gcry_mpi_swap_cond
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 0
    functionsReached:
    - log_bug
    - ct_limb_gen_inv_mask
    - ct_limb_gen_mask
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_swap_cond (gcry_mpi_t a, gcry_mpi_t b, unsigned long
      swap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ct_limb_gen_mask
      Src: /src/libgcrypt/mpi/mpiutil.c:675,1
    - Dst: ct_limb_gen_inv_mask
      Src: /src/libgcrypt/mpi/mpiutil.c:676,1
    - Dst: log_bug
      Src: /src/libgcrypt/mpi/mpiutil.c:690,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - a
    - b
    - dir
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 712
    functionName: _gcry_mpi_tfr
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 0
    functionsReached:
    - log_bug
    - ct_limb_gen_inv_mask
    - ct_limb_gen_mask
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_tfr (gcry_mpi_t a, gcry_mpi_t b, unsigned long dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - n
    - set
    argTypes:
    - gcry_mpi_t
    - unsigned int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 729
    functionName: _gcry_mpi_set_bit_cond
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_set_bit_cond (gcry_mpi_t a, unsigned int n, unsigned
      long set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_alloc
      Src: /src/libgcrypt/mpi/mpiutil.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 737
    functionName: _gcry_mpi_new
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 2
    functionsReached:
    - _gcry_mpi_alloc
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_mpi_new (unsigned int nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_alloc_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 740
    functionDepth: 2
    functionLinenumber: 740
    functionLinenumberEnd: 745
    functionName: _gcry_mpi_snew
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 2
    functionsReached:
    - _gcry_mpi_alloc_secure
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_mpi_snew (unsigned int nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_free
      Src: /src/libgcrypt/mpi/mpiutil.c:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 751
    functionName: _gcry_mpi_release
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 55
    functionsReached:
    - _gcry_mpi_free
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_release( gcry_mpi_t a )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_immutable
      Src: /src/libgcrypt/mpi/mpiutil.c:760,1
    - Dst: mpi_immutable_failed
      Src: /src/libgcrypt/mpi/mpiutil.c:762,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:767,1
    - Dst: xmalloc_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:767,1
    - Dst: xmalloc
      Src: /src/libgcrypt/mpi/mpiutil.c:768,1
    - Dst: _gcry_create_nonce
      Src: /src/libgcrypt/mpi/mpiutil.c:769,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:773,1
    - Dst: _gcry_random_bytes_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:773,1
    - Dst: _gcry_random_bytes
      Src: /src/libgcrypt/mpi/mpiutil.c:774,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/mpi/mpiutil.c:776,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/mpiutil.c:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - w
    - nbits
    - level
    argTypes:
    - gcry_mpi_t
    - unsigned int
    - enum gcry_random_level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 753
    functionDepth: 5
    functionLinenumber: 753
    functionLinenumberEnd: 778
    functionName: _gcry_mpi_randomize
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 16
    functionsReached:
    - mpi_is_secure
    - _gcry_random_bytes
    - mpi_immutable_failed
    - xmalloc
    - _gcry_create_nonce
    - xfree
    - _gcry_random_bytes_secure
    - xmalloc_secure
    - mpi_is_immutable
    - _gcry_mpi_set_buffer
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpi_randomize (gcry_mpi_t w,\n                     unsigned
      int nbits, enum gcry_random_level level)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mpi_set_secure
      Src: /src/libgcrypt/mpi/mpiutil.c:786,1
    - Dst: log_bug
      Src: /src/libgcrypt/mpi/mpiutil.c:797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - a
    - flag
    argTypes:
    - gcry_mpi_t
    - enum gcry_mpi_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 781
    functionDepth: 2
    functionLinenumber: 781
    functionLinenumberEnd: 799
    functionName: _gcry_mpi_set_flag
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached:
    - mpi_set_secure
    - log_bug
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_set_flag (gcry_mpi_t a, enum gcry_mpi_flag flag)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/libgcrypt/mpi/mpiutil.c:822,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - a
    - flag
    argTypes:
    - gcry_mpi_t
    - enum gcry_mpi_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 824
    functionName: _gcry_mpi_clear_flag
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached:
    - log_bug
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_clear_flag (gcry_mpi_t a, enum gcry_mpi_flag flag)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/libgcrypt/mpi/mpiutil.c:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - a
    - flag
    argTypes:
    - gcry_mpi_t
    - enum gcry_mpi_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 843
    functionName: _gcry_mpi_get_flag
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached:
    - log_bug
    linkageType: ''
    returnType: int
    signature: int _gcry_mpi_get_flag (gcry_mpi_t a, enum gcry_mpi_flag flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/libgcrypt/mpi/mpiutil.c:853,1
    - Dst: log_bug
      Src: /src/libgcrypt/mpi/mpiutil.c:855,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - 'no'
    argTypes:
    - enum gcry_mpi_constants
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 857
    functionName: _gcry_mpi_const
    functionSourceFile: /src/libgcrypt/mpi/mpiutil.c
    functionUses: 1
    functionsReached:
    - log_bug
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_mpi_const (enum gcry_mpi_constants no)
  - 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: __ll_lowpart
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ll_lowpart(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: __ll_highpart
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ll_highpart(t)
  - 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: __MPN
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __MPN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - xh
    - ','
    - xl
    - ','
    - m0
    - ','
    - m1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(xh, xl, m0, m1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - n1
    - ','
    - n0
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: udiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: udiv_qrnnd(q, r, n1, n0, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: count_leading_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_leading_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ph
    - ','
    - pl
    - ','
    - m0
    - ','
    - m1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(ph, pl, m0, m1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - n1
    - ','
    - n0
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: udiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: udiv_qrnnd(q, r, n1, n0, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 239
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - xh
    - ','
    - xl
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 268
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(xh, xl, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - xh
    - ','
    - xl
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(xh, xl, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: count_leading_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_leading_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ph
    - ','
    - pl
    - ','
    - m0
    - ','
    - m1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(ph, pl, m0, m1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: count_leading_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_leading_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 342
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: smul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 358
    functionName: __umulsidi3
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __umulsidi3(u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 374
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ph
    - ','
    - pl
    - ','
    - m0
    - ','
    - m1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 389
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(ph, pl, m0, m1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - nh
    - ','
    - nl
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: udiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: udiv_qrnnd(q, r, nh, nl, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 401
    functionName: count_leading_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_leading_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 417
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 426
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - wh
    - ','
    - wl
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 439
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(wh, wl, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - n1
    - ','
    - n0
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 451
    functionName: udiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: udiv_qrnnd(q, r, n1, n0, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 474
    functionName: count_leading_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_leading_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - xh
    - ','
    - xl
    - ','
    - m0
    - ','
    - m1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 496
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(xh, xl, m0, m1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - xh
    - ','
    - xl
    - ','
    - m0
    - ','
    - m1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 508
    functionName: smul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smul_ppmm(xh, xl, m0, m1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - n1
    - ','
    - n0
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 519
    functionName: sdiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sdiv_qrnnd(q, r, n1, n0, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 536
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 546
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 553
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - n1
    - ','
    - n0
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 561
    functionName: udiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: udiv_qrnnd(q, r, n1, n0, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 569
    functionName: count_leading_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_leading_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: count_trailing_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_trailing_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 593
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 603
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 610
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - n1
    - ','
    - n0
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: udiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: udiv_qrnnd(q, r, n1, n0, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 626
    functionName: count_leading_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_leading_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 634
    functionName: count_trailing_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_trailing_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - h
    - ','
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 651
    functionName: rshift_rhlc
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rshift_rhlc(r,h,l,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 667
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 677
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 686
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 693
    functionName: __umulsidi3
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __umulsidi3(u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - nh
    - ','
    - nl
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 705
    functionName: udiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: udiv_qrnnd(q, r, nh, nl, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 713
    functionName: count_leading_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_leading_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - h
    - ','
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 724
    functionName: rshift_rhlc
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rshift_rhlc(r,h,l,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 742
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 751
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 758
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - n1
    - ','
    - n0
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 766
    functionName: udiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: udiv_qrnnd(q, r, n1, n0, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - n1
    - ','
    - n0
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 774
    functionName: sdiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sdiv_qrnnd(q, r, n1, n0, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 778
    functionName: count_leading_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_leading_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - xh
    - ','
    - xl
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 808
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(xh, xl, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 827
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 836
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 844
    functionName: count_leading_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_leading_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - wh
    - ','
    - wl
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 855
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(wh, wl, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - n1
    - ','
    - n0
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 863
    functionName: udiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: udiv_qrnnd(q, r, n1, n0, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 884
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 891
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 900
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 919
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 926
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 935
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 954
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 961
    functionName: __umulsidi3
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __umulsidi3(u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - n1
    - ','
    - n0
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 971
    functionName: udiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: udiv_qrnnd(q, r, n1, n0, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 973
    functionName: count_trailing_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_trailing_zeros(count,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 1008
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1032
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1034
    functionName: count_leading_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_leading_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ph
    - ','
    - pl
    - ','
    - m0
    - ','
    - m1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1041
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(ph, pl, m0, m1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ph
    - ','
    - pl
    - ','
    - m0
    - ','
    - m1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1048
    functionName: smul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smul_ppmm(ph, pl, m0, m1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1072
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1096
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1098
    functionName: count_leading_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_leading_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ph
    - ','
    - pl
    - ','
    - m0
    - ','
    - m1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1105
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(ph, pl, m0, m1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ph
    - ','
    - pl
    - ','
    - m0
    - ','
    - m1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1112
    functionName: smul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smul_ppmm(ph, pl, m0, m1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1129
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1138
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1149
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1165
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1174
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ph
    - ','
    - pl
    - ','
    - m0
    - ','
    - m1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1206
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(ph, pl, m0, m1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1222
    functionName: count_leading_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_leading_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1240
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1257
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1267
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1278
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - n1
    - ','
    - n0
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1291
    functionName: udiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: udiv_qrnnd(q, r, n1, n0, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1303
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - n1
    - ','
    - n0
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1350
    functionName: udiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: udiv_qrnnd(q, r, n1, n0, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1355
    functionName: count_leading_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_leading_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1408
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - n1
    - ','
    - n0
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1417
    functionName: udiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: udiv_qrnnd(q, r, n1, n0, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1437
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1446
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - xh
    - ','
    - xl
    - ','
    - m0
    - ','
    - m1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1460
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(xh, xl, m0, m1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - n1
    - ','
    - n0
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1470
    functionName: sdiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sdiv_qrnnd(q, r, n1, n0, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1485
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1493
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - xh
    - ','
    - xl
    - ','
    - m0
    - ','
    - m1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1508
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(xh, xl, m0, m1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1525
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1535
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1546
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - n1
    - ','
    - n0
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1556
    functionName: udiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: udiv_qrnnd(q, r, n1, n0, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ph
    - ','
    - pl
    - ','
    - m0
    - ','
    - m1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1577
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(ph, pl, m0, m1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1584
    functionName: __umulsidi3
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __umulsidi3(u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1606
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1617
    functionName: add_ssaaaa
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_ssaaaa(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1637
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - sh
    - ','
    - sl
    - ','
    - ah
    - ','
    - al
    - ','
    - bh
    - ','
    - bl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1648
    functionName: sub_ddmmss
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_ddmmss(sh, sl, ah, al, bh, bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1658
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1676
    functionName: umul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w1
    - ','
    - w0
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1693
    functionName: smul_ppmm
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smul_ppmm(w1, w0, u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - n1
    - ','
    - n0
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1709
    functionName: __udiv_qrnnd_c
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __udiv_qrnnd_c(q, r, n1, n0, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - nh
    - ','
    - nl
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1743
    functionName: udiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: udiv_qrnnd(q, r, nh, nl, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - nh
    - ','
    - nl
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1754
    functionName: udiv_qrnnd
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: udiv_qrnnd(q, r, nh, nl, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1765
    functionName: count_leading_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_leading_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1768
    functionName: count_leading_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_leading_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1774
    functionDepth: 0
    functionLinenumber: 1774
    functionLinenumberEnd: 1775
    functionName: count_trailing_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_trailing_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1778
    functionName: count_trailing_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_trailing_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1809
    functionName: count_leading_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_leading_zeros(count, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 1823
    functionName: count_trailing_zeros
    functionSourceFile: /src/libgcrypt/mpi/longlong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_trailing_zeros(count, x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_normalize
      Src: /src/libgcrypt/mpi/mpi-cmp.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - gcry_mpi_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 54
    functionName: _gcry_mpi_cmp_ui
    functionSourceFile: /src/libgcrypt/mpi/mpi-cmp.c
    functionUses: 2
    functionsReached:
    - _gcry_mpi_normalize
    linkageType: ''
    returnType: int
    signature: int _gcry_mpi_cmp_ui (gcry_mpi_t u, unsigned long v)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/mpi/mpi-cmp.c:67,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/mpi/mpi-cmp.c:67,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/mpi/mpi-cmp.c:70,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/mpi/mpi-cmp.c:70,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/mpi/mpi-cmp.c:72,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/mpi/mpi-cmp.c:72,1
    - Dst: memcmp
      Src: /src/libgcrypt/mpi/mpi-cmp.c:80,1
    - Dst: _gcry_mpi_normalize
      Src: /src/libgcrypt/mpi/mpi-cmp.c:84,1
    - Dst: _gcry_mpi_normalize
      Src: /src/libgcrypt/mpi/mpi-cmp.c:85,1
    - Dst: _gcry_mpih_cmp
      Src: /src/libgcrypt/mpi/mpi-cmp.c:110,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 38
    argCount: 3
    argNames:
    - u
    - v
    - absmode
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 116
    functionName: do_mpi_cmp
    functionSourceFile: /src/libgcrypt/mpi/mpi-cmp.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_normalize
    - memcmp
    - mpi_is_opaque
    - _gcry_mpih_cmp
    linkageType: ''
    returnType: int
    signature: int do_mpi_cmp (gcry_mpi_t u, gcry_mpi_t v, int absmode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_mpi_cmp
      Src: /src/libgcrypt/mpi/mpi-cmp.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: _gcry_mpi_cmp
    functionSourceFile: /src/libgcrypt/mpi/mpi-cmp.c
    functionUses: 4
    functionsReached:
    - do_mpi_cmp
    linkageType: ''
    returnType: int
    signature: int _gcry_mpi_cmp (gcry_mpi_t u, gcry_mpi_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_mpi_cmp
      Src: /src/libgcrypt/mpi/mpi-cmp.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: _gcry_mpi_cmpabs
    functionSourceFile: /src/libgcrypt/mpi/mpi-cmp.c
    functionUses: 0
    functionsReached:
    - do_mpi_cmp
    linkageType: ''
    returnType: int
    signature: int _gcry_mpi_cmpabs (gcry_mpi_t u, gcry_mpi_t v)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - res_ptr
    - s1_ptr
    - s1_size
    - s2_limb
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 70
    functionName: _gcry_mpih_add_1
    functionSourceFile: /src/libgcrypt/mpi/mpi-inline.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: G10_MPI_INLINE_DECL
    signature: "G10_MPI_INLINE_DECL _gcry_mpih_add_1( mpi_ptr_t res_ptr, mpi_ptr_t
      s1_ptr,\n\t       mpi_size_t s1_size, mpi_limb_t s2_limb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/mpi/mpi-inline.h:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - s1_ptr
    - s1_size
    - s2_limb
    argTypes:
    - mpi_ptr_t
    - mpi_size_t
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: _gcry_mpih_add_1_lli
    functionSourceFile: /src/libgcrypt/mpi/mpi-inline.h
    functionUses: 1
    functionsReached:
    - add_ssaaaa
    linkageType: ''
    returnType: G10_MPI_INLINE_DECL
    signature: G10_MPI_INLINE_DECL _gcry_mpih_add_1_lli (mpi_ptr_t s1_ptr, mpi_size_t
      s1_size, mpi_limb_t s2_limb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/mpi-inline.h:100,1
    - Dst: _gcry_mpih_add_1
      Src: /src/libgcrypt/mpi/mpi-inline.h:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - res_ptr
    - s1_ptr
    - s1_size
    - s2_ptr
    - s2_size
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_ptr_t
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: _gcry_mpih_add
    functionSourceFile: /src/libgcrypt/mpi/mpi-inline.h
    functionUses: 2
    functionsReached:
    - _gcry_mpih_add_n
    - _gcry_mpih_add_1
    linkageType: ''
    returnType: G10_MPI_INLINE_DECL
    signature: "G10_MPI_INLINE_DECL _gcry_mpih_add(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
      mpi_size_t s1_size,\n\t\t\t       mpi_ptr_t s2_ptr, mpi_size_t s2_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - res_ptr
    - s1_ptr
    - s1_size
    - s2_limb
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 136
    functionName: _gcry_mpih_sub_1
    functionSourceFile: /src/libgcrypt/mpi/mpi-inline.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: G10_MPI_INLINE_DECL
    signature: "G10_MPI_INLINE_DECL _gcry_mpih_sub_1(mpi_ptr_t res_ptr,  mpi_ptr_t
      s1_ptr,\n\t      mpi_size_t s1_size, mpi_limb_t s2_limb )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/mpi-inline.h:147,1
    - Dst: _gcry_mpih_sub_1
      Src: /src/libgcrypt/mpi/mpi-inline.h:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - res_ptr
    - s1_ptr
    - s1_size
    - s2_ptr
    - s2_size
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_ptr_t
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: _gcry_mpih_sub
    functionSourceFile: /src/libgcrypt/mpi/mpi-inline.h
    functionUses: 2
    functionsReached:
    - _gcry_mpih_sub_1
    - _gcry_mpih_sub_n
    linkageType: ''
    returnType: G10_MPI_INLINE_DECL
    signature: "G10_MPI_INLINE_DECL _gcry_mpih_sub( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
      mpi_size_t s1_size,\n\t\t\t\tmpi_ptr_t s2_ptr, mpi_size_t s2_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - op1_ptr
    - op2_ptr
    - size
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 180
    functionName: _gcry_mpih_cmp
    functionSourceFile: /src/libgcrypt/mpi/mpi-inline.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: G10_MPI_INLINE_DECL
    signature: G10_MPI_INLINE_DECL _gcry_mpih_cmp( mpi_ptr_t op1_ptr, mpi_ptr_t op2_ptr,
      mpi_size_t size )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/mpi/mpicoder.c:70,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpicoder.c:70,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/mpi/mpicoder.c:81,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/mpi/mpicoder.c:83,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpicoder.c:96,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 3
    argNames:
    - buffer
    - ret_nread
    - secure
    argTypes:
    - unsigned char*
    - unsigned*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 110
    functionName: mpi_read_from_buffer
    functionSourceFile: /src/libgcrypt/mpi/mpicoder.c
    functionUses: 0
    functionsReached:
    - mpi_free
    - buf_get_be64
    - buf_get_be32
    - mpi_alloc_secure
    - mpi_alloc
    linkageType: ''
    returnType: gcry_mpi_t
    signature: "gcry_mpi_t mpi_read_from_buffer (const unsigned char *buffer, unsigned
      *ret_nread,\n                      int secure)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/mpicoder.c:184,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/mpi/mpicoder.c:201,1
    - Dst: buf_get_le32
      Src: /src/libgcrypt/mpi/mpicoder.c:202,1
    - Dst: mpi_clear
      Src: /src/libgcrypt/mpi/mpicoder.c:223,1
    - Dst: mpi_clear
      Src: /src/libgcrypt/mpi/mpicoder.c:246,1
    - Dst: mpi_clear
      Src: /src/libgcrypt/mpi/mpicoder.c:253,1
    - Dst: mpi_clear
      Src: /src/libgcrypt/mpi/mpicoder.c:260,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 78
    argCount: 3
    argNames:
    - val
    - str
    - slen
    argTypes:
    - gcry_mpi_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 271
    functionName: mpi_fromstr
    functionSourceFile: /src/libgcrypt/mpi/mpicoder.c
    functionUses: 0
    functionsReached:
    - mpi_clear
    - mpi_resize
    - buf_get_le32
    linkageType: ''
    returnType: int
    signature: int mpi_fromstr (gcry_mpi_t val, const char *str, size_t slen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpicoder.c:313,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/mpi/mpicoder.c:313,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/mpi/mpicoder.c:314,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/mpi/mpicoder.c:327,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/mpi/mpicoder.c:330,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/mpi/mpicoder.c:343,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/mpi/mpicoder.c:344,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/mpi/mpicoder.c:345,1
    - Dst: buf_put_le64
      Src: /src/libgcrypt/mpi/mpicoder.c:346,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/mpi/mpicoder.c:350,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/mpi/mpicoder.c:351,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/mpi/mpicoder.c:352,1
    - Dst: buf_put_le32
      Src: /src/libgcrypt/mpi/mpicoder.c:353,1
    - Dst: memmove
      Src: /src/libgcrypt/mpi/mpicoder.c:375,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 6
    argNames:
    - a
    - fill_le
    - extraalloc
    - nbytes
    - sign
    - force_secure
    argTypes:
    - gcry_mpi_t
    - unsigned int
    - int
    - unsigned int*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 377
    functionName: do_get_buffer
    functionSourceFile: /src/libgcrypt/mpi/mpicoder.c
    functionUses: 0
    functionsReached:
    - memmove
    - buf_put_be32
    - mpi_is_secure
    - buf_get_be64
    - xtrymalloc_secure
    - buf_get_be32
    - buf_put_le32
    - buf_put_be64
    - xtrymalloc
    - buf_put_le64
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\ndo_get_buffer (gcry_mpi_t a, unsigned int fill_le,
      int extraalloc,\n               unsigned int *nbytes, int *sign, int force_secure)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_get_flag
      Src: /src/libgcrypt/mpi/mpicoder.c:384,1
    - Dst: _gcry_mpi_get_opaque_copy
      Src: /src/libgcrypt/mpi/mpicoder.c:387,1
    - Dst: do_get_buffer
      Src: /src/libgcrypt/mpi/mpicoder.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - a
    - fill_le
    - r_nbytes
    - sign
    argTypes:
    - gcry_mpi_t
    - unsigned int
    - unsigned int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 380
    functionDepth: 4
    functionLinenumber: 380
    functionLinenumberEnd: 396
    functionName: _gcry_mpi_get_buffer
    functionSourceFile: /src/libgcrypt/mpi/mpicoder.c
    functionUses: 9
    functionsReached:
    - _gcry_mpi_get_opaque_copy
    - mpi_get_flag
    - do_get_buffer
    linkageType: ''
    returnType: byte
    signature: "byte *\n_gcry_mpi_get_buffer (gcry_mpi_t a, unsigned int fill_le,\n
      \                     unsigned int *r_nbytes, int *sign)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_get_buffer
      Src: /src/libgcrypt/mpi/mpicoder.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - a
    - fill_le
    - extraalloc
    - r_nbytes
    - sign
    argTypes:
    - gcry_mpi_t
    - unsigned int
    - int
    - unsigned int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: _gcry_mpi_get_buffer_extra
    functionSourceFile: /src/libgcrypt/mpi/mpicoder.c
    functionUses: 2
    functionsReached:
    - do_get_buffer
    linkageType: ''
    returnType: byte
    signature: "byte *\n_gcry_mpi_get_buffer_extra (gcry_mpi_t a, unsigned int fill_le,
      int extraalloc,\n                            unsigned int *r_nbytes, int *sign)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_get_buffer
      Src: /src/libgcrypt/mpi/mpicoder.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a
    - fill_le
    - r_nbytes
    - sign
    argTypes:
    - gcry_mpi_t
    - unsigned int
    - unsigned int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: _gcry_mpi_get_secure_buffer
    functionSourceFile: /src/libgcrypt/mpi/mpicoder.c
    functionUses: 0
    functionsReached:
    - do_get_buffer
    linkageType: ''
    returnType: byte
    signature: "byte *\n_gcry_mpi_get_secure_buffer (gcry_mpi_t a, unsigned int fill_le,\n
      \                            unsigned int *r_nbytes, int *sign)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_immutable
      Src: /src/libgcrypt/mpi/mpicoder.c:427,1
    - Dst: mpi_immutable_failed
      Src: /src/libgcrypt/mpi/mpicoder.c:429,1
    - Dst: RESIZE_IF_NEEDED
      Src: /src/libgcrypt/mpi/mpicoder.c:434,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/mpi/mpicoder.c:440,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/mpi/mpicoder.c:443,1
    - Dst: memcpy
      Src: /src/libgcrypt/mpi/mpicoder.c:456,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/mpi/mpicoder.c:460,1
    - Dst: buf_get_be64
      Src: /src/libgcrypt/mpi/mpicoder.c:462,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/mpi/mpicoder.c:470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - a
    - buffer_arg
    - nbytes
    - sign
    argTypes:
    - gcry_mpi_t
    - void*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 471
    functionName: _gcry_mpi_set_buffer
    functionSourceFile: /src/libgcrypt/mpi/mpicoder.c
    functionUses: 17
    functionsReached:
    - gcry_assert
    - RESIZE_IF_NEEDED
    - buf_get_be64
    - mpi_immutable_failed
    - buf_get_be32
    - memcpy
    - mpi_is_immutable
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpi_set_buffer (gcry_mpi_t a, const void *buffer_arg,\n
      \                     unsigned int nbytes, int sign)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_immutable
      Src: /src/libgcrypt/mpi/mpicoder.c:482,1
    - Dst: mpi_immutable_failed
      Src: /src/libgcrypt/mpi/mpicoder.c:484,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/mpi/mpicoder.c:488,1
    - Dst: mpi_normalize
      Src: /src/libgcrypt/mpi/mpicoder.c:490,1
    - Dst: mpi_clear_highbit
      Src: /src/libgcrypt/mpi/mpicoder.c:498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 499
    functionName: onecompl
    functionSourceFile: /src/libgcrypt/mpi/mpicoder.c
    functionUses: 0
    functionsReached:
    - mpi_normalize
    - mpi_immutable_failed
    - mpi_clear_highbit
    - mpi_is_immutable
    - mpi_get_nbits
    linkageType: ''
    returnType: void
    signature: void onecompl (gcry_mpi_t a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctz
      Src: /src/libgcrypt/mpi/mpicoder.c:513,1
    - Dst: buf_put_he64
      Src: /src/libgcrypt/mpi/mpicoder.c:519,1
    - Dst: buf_get_he64
      Src: /src/libgcrypt/mpi/mpicoder.c:519,1
    - Dst: buf_put_he32
      Src: /src/libgcrypt/mpi/mpicoder.c:523,1
    - Dst: buf_get_he32
      Src: /src/libgcrypt/mpi/mpicoder.c:523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 531
    functionName: twocompl
    functionSourceFile: /src/libgcrypt/mpi/mpicoder.c
    functionUses: 0
    functionsReached:
    - buf_get_he32
    - buf_put_he64
    - _gcry_ctz
    - buf_get_he64
    - buf_put_he32
    linkageType: ''
    returnType: void
    signature: void twocompl (unsigned char *p, unsigned int n)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpicoder.c:545,1
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/mpi/mpicoder.c:560,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpicoder.c:562,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/mpi/mpicoder.c:565,1
    - Dst: onecompl
      Src: /src/libgcrypt/mpi/mpicoder.c:569,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/mpi/mpicoder.c:570,1
    - Dst: mpi_normalize
      Src: /src/libgcrypt/mpi/mpicoder.c:576,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpicoder.c:580,1
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/mpi/mpicoder.c:587,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpicoder.c:589,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/mpi/mpicoder.c:592,1
    - Dst: mpi_normalize
      Src: /src/libgcrypt/mpi/mpicoder.c:595,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpicoder.c:599,1
    - Dst: mpi_read_from_buffer
      Src: /src/libgcrypt/mpi/mpicoder.c:606,1
    - Dst: mpi_normalize
      Src: /src/libgcrypt/mpi/mpicoder.c:611,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpicoder.c:616,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/mpi/mpicoder.c:629,1
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/mpi/mpicoder.c:635,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpicoder.c:637,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/mpi/mpicoder.c:640,1
    - Dst: onecompl
      Src: /src/libgcrypt/mpi/mpicoder.c:644,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/mpi/mpicoder.c:645,1
    - Dst: mpi_normalize
      Src: /src/libgcrypt/mpi/mpicoder.c:653,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpicoder.c:657,1
    - Dst: strlen
      Src: /src/libgcrypt/mpi/mpicoder.c:667,1
    - Dst: mpi_alloc_secure
      Src: /src/libgcrypt/mpi/mpicoder.c:670,1
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpicoder.c:672,1
    - Dst: mpi_fromstr
      Src: /src/libgcrypt/mpi/mpicoder.c:674,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpicoder.c:676,1
    - Dst: mpi_normalize
      Src: /src/libgcrypt/mpi/mpicoder.c:681,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpicoder.c:685,1
    - Dst: strlen
      Src: /src/libgcrypt/mpi/mpicoder.c:687,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 102
    argCount: 5
    argNames:
    - ret_mpi
    - format
    - buffer_arg
    - buflen
    - nscanned
    argTypes:
    - struct gcry_mpi**
    - enum gcry_mpi_format
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 538
    functionDepth: 3
    functionLinenumber: 538
    functionLinenumberEnd: 692
    functionName: _gcry_mpi_scan
    functionSourceFile: /src/libgcrypt/mpi/mpicoder.c
    functionUses: 25
    functionsReached:
    - mpi_fromstr
    - mpi_free
    - strlen
    - mpi_normalize
    - onecompl
    - mpi_alloc_secure
    - buf_get_be32
    - _gcry_is_secure
    - mpi_read_from_buffer
    - mpi_alloc
    - _gcry_mpi_set_buffer
    - mpi_add_ui
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_mpi_scan (struct gcry_mpi **ret_mpi, enum gcry_mpi_format
      format,\n                const void *buffer_arg, size_t buflen, size_t *nscanned)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/mpi/mpicoder.c:706,1
    - Dst: _gcry_mpi_cmp_ui
      Src: /src/libgcrypt/mpi/mpicoder.c:719,1
    - Dst: _gcry_mpi_get_buffer
      Src: /src/libgcrypt/mpi/mpicoder.c:732,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/mpi/mpicoder.c:734,1
    - Dst: twocompl
      Src: /src/libgcrypt/mpi/mpicoder.c:738,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/mpicoder.c:758,1
    - Dst: memcpy
      Src: /src/libgcrypt/mpi/mpicoder.c:769,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/mpicoder.c:771,1
    - Dst: _gcry_mpi_get_buffer
      Src: /src/libgcrypt/mpi/mpicoder.c:789,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/mpi/mpicoder.c:791,1
    - Dst: memcpy
      Src: /src/libgcrypt/mpi/mpicoder.c:792,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/mpicoder.c:793,1
    - Dst: _gcry_mpi_get_buffer
      Src: /src/libgcrypt/mpi/mpicoder.c:817,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/mpi/mpicoder.c:819,1
    - Dst: memcpy
      Src: /src/libgcrypt/mpi/mpicoder.c:820,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/mpicoder.c:821,1
    - Dst: _gcry_mpi_get_buffer
      Src: /src/libgcrypt/mpi/mpicoder.c:832,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/mpi/mpicoder.c:834,1
    - Dst: twocompl
      Src: /src/libgcrypt/mpi/mpicoder.c:838,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/mpicoder.c:854,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/mpi/mpicoder.c:862,1
    - Dst: memcpy
      Src: /src/libgcrypt/mpi/mpicoder.c:868,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/mpicoder.c:870,1
    - Dst: _gcry_mpi_get_buffer
      Src: /src/libgcrypt/mpi/mpicoder.c:881,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/mpi/mpicoder.c:883,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/mpicoder.c:889,1
    - Dst: buf_get_be32
      Src: /src/libgcrypt/mpi/mpicoder.c:911,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/mpi/mpicoder.c:930,1
    - Dst: buf_put_be32
      Src: /src/libgcrypt/mpi/mpicoder.c:931,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/mpicoder.c:948,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 149
    argCount: 5
    argNames:
    - format
    - buffer
    - buflen
    - nwritten
    - a
    argTypes:
    - enum gcry_mpi_format
    - unsigned char*
    - size_t
    - size_t*
    - struct gcry_mpi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 701
    functionDepth: 5
    functionLinenumber: 701
    functionLinenumberEnd: 953
    functionName: _gcry_mpi_print
    functionSourceFile: /src/libgcrypt/mpi/mpicoder.c
    functionUses: 6
    functionsReached:
    - _gcry_mpi_get_buffer
    - gpg_err_code_from_syserror
    - twocompl
    - buf_put_be32
    - _gcry_mpi_cmp_ui
    - buf_get_be32
    - xfree
    - memcpy
    - mpi_get_nbits
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_mpi_print (enum gcry_mpi_format format,\n                 unsigned
      char *buffer, size_t buflen,\n                 size_t *nwritten, struct gcry_mpi
      *a)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_print
      Src: /src/libgcrypt/mpi/mpicoder.c:970,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpicoder.c:974,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/mpi/mpicoder.c:974,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/mpi/mpicoder.c:974,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/mpi/mpicoder.c:976,1
    - Dst: _gcry_mpi_print
      Src: /src/libgcrypt/mpi/mpicoder.c:981,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/mpicoder.c:984,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - format
    - buffer
    - nwritten
    - a
    argTypes:
    - enum gcry_mpi_format
    - unsigned char**
    - size_t*
    - struct gcry_mpi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 961
    functionDepth: 6
    functionLinenumber: 961
    functionLinenumberEnd: 990
    functionName: _gcry_mpi_aprint
    functionSourceFile: /src/libgcrypt/mpi/mpicoder.c
    functionUses: 1
    functionsReached:
    - gpg_err_code_from_syserror
    - mpi_is_secure
    - xtrymalloc_secure
    - _gcry_mpi_print
    - xfree
    - xtrymalloc
    linkageType: ''
    returnType: gcry_err_code_t
    signature: "gcry_err_code_t _gcry_mpi_aprint (enum gcry_mpi_format format,\n                  unsigned
      char **buffer, size_t *nwritten,\n                  struct gcry_mpi *a)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_print
      Src: /src/libgcrypt/mpi/mpicoder.c:1014,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpicoder.c:1026,1
    - Dst: xtrymalloc_secure
      Src: /src/libgcrypt/mpi/mpicoder.c:1026,1
    - Dst: xtrymalloc
      Src: /src/libgcrypt/mpi/mpicoder.c:1026,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/mpi/mpicoder.c:1029,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/mpicoder.c:1034,1
    - Dst: _gcry_mpi_print
      Src: /src/libgcrypt/mpi/mpicoder.c:1036,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/mpicoder.c:1039,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - r_frame
    - space
    - value
    - nbytes
    argTypes:
    - unsigned char**
    - void*
    - gcry_mpi_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1000
    functionDepth: 6
    functionLinenumber: 1000
    functionLinenumberEnd: 1046
    functionName: _gcry_mpi_to_octet_string
    functionSourceFile: /src/libgcrypt/mpi/mpicoder.c
    functionUses: 4
    functionsReached:
    - gpg_err_code_from_syserror
    - mpi_is_secure
    - xtrymalloc_secure
    - _gcry_mpi_print
    - memset
    - xfree
    - xtrymalloc
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_mpi_to_octet_string (unsigned char **r_frame,
      void *space,\n                           gcry_mpi_t value, size_t nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - prodp
    - ','
    - up
    - ','
    - vp
    - ','
    - size
    - ','
    - tspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: MPN_MUL_N_RECURSE
    functionSourceFile: /src/libgcrypt/mpi/mpih-mul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPN_MUL_N_RECURSE(prodp, up, vp, size, tspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - prodp
    - ','
    - up
    - ','
    - size
    - ','
    - tspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: MPN_SQR_N_RECURSE
    functionSourceFile: /src/libgcrypt/mpi/mpih-mul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPN_SQR_N_RECURSE(prodp, up, size, tspace)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpih-mul.c:85,1
    - Dst: MPN_ZERO
      Src: /src/libgcrypt/mpi/mpih-mul.c:87,1
    - Dst: _gcry_mpih_mul_1
      Src: /src/libgcrypt/mpi/mpih-mul.c:91,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:103,1
    - Dst: _gcry_mpih_addmul_1
      Src: /src/libgcrypt/mpi/mpih-mul.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - prodp
    - up
    - vp
    - size
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 113
    functionName: mul_n_basecase
    functionSourceFile: /src/libgcrypt/mpi/mpih-mul.c
    functionUses: 0
    functionsReached:
    - _gcry_mpih_add_n
    - _gcry_mpih_addmul_1
    - _gcry_mpih_mul_1
    - MPN_ZERO
    - MPN_COPY
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t mul_n_basecase( mpi_ptr_t prodp, mpi_ptr_t up,\n\t\t\t\t
      mpi_ptr_t vp, mpi_size_t size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MPN_MUL_N_RECURSE
      Src: /src/libgcrypt/mpi/mpih-mul.c:134,1
    - Dst: _gcry_mpih_addmul_1
      Src: /src/libgcrypt/mpi/mpih-mul.c:135,1
    - Dst: _gcry_mpih_addmul_1
      Src: /src/libgcrypt/mpi/mpih-mul.c:137,1
    - Dst: MPN_MUL_N_RECURSE
      Src: /src/libgcrypt/mpi/mpih-mul.c:165,1
    - Dst: _gcry_mpih_cmp
      Src: /src/libgcrypt/mpi/mpih-mul.c:170,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:171,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:175,1
    - Dst: _gcry_mpih_cmp
      Src: /src/libgcrypt/mpi/mpih-mul.c:178,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:179,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:183,1
    - Dst: MPN_MUL_N_RECURSE
      Src: /src/libgcrypt/mpi/mpih-mul.c:190,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpih-mul.c:193,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:194,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:199,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:201,1
    - Dst: MPN_MUL_N_RECURSE
      Src: /src/libgcrypt/mpi/mpih-mul.c:209,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:213,1
    - Dst: _gcry_mpih_add_1
      Src: /src/libgcrypt/mpi/mpih-mul.c:215,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpih-mul.c:217,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:218,1
    - Dst: _gcry_mpih_add_1
      Src: /src/libgcrypt/mpi/mpih-mul.c:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 5
    argNames:
    - prodp
    - up
    - vp
    - size
    - tspace
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_ptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 222
    functionName: mul_n
    functionSourceFile: /src/libgcrypt/mpi/mpih-mul.c
    functionUses: 1
    functionsReached:
    - _gcry_mpih_cmp
    - _gcry_mpih_sub_n
    - _gcry_mpih_add_1
    - _gcry_mpih_addmul_1
    - _gcry_mpih_add_n
    - MPN_MUL_N_RECURSE
    - MPN_COPY
    linkageType: ''
    returnType: void
    signature: "void mul_n( mpi_ptr_t prodp, mpi_ptr_t up, mpi_ptr_t vp,\n\t\t\tmpi_size_t
      size, mpi_ptr_t tspace )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpih-mul.c:237,1
    - Dst: MPN_ZERO
      Src: /src/libgcrypt/mpi/mpih-mul.c:239,1
    - Dst: _gcry_mpih_mul_1
      Src: /src/libgcrypt/mpi/mpih-mul.c:243,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:255,1
    - Dst: _gcry_mpih_addmul_1
      Src: /src/libgcrypt/mpi/mpih-mul.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - prodp
    - up
    - size
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 263
    functionName: _gcry_mpih_sqr_n_basecase
    functionSourceFile: /src/libgcrypt/mpi/mpih-mul.c
    functionUses: 1
    functionsReached:
    - _gcry_mpih_add_n
    - _gcry_mpih_addmul_1
    - _gcry_mpih_mul_1
    - MPN_ZERO
    - MPN_COPY
    linkageType: ''
    returnType: void
    signature: void _gcry_mpih_sqr_n_basecase( mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t
      size )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MPN_SQR_N_RECURSE
      Src: /src/libgcrypt/mpi/mpih-mul.c:284,1
    - Dst: _gcry_mpih_addmul_1
      Src: /src/libgcrypt/mpi/mpih-mul.c:285,1
    - Dst: _gcry_mpih_addmul_1
      Src: /src/libgcrypt/mpi/mpih-mul.c:287,1
    - Dst: MPN_SQR_N_RECURSE
      Src: /src/libgcrypt/mpi/mpih-mul.c:300,1
    - Dst: _gcry_mpih_cmp
      Src: /src/libgcrypt/mpi/mpih-mul.c:305,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:306,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:308,1
    - Dst: MPN_SQR_N_RECURSE
      Src: /src/libgcrypt/mpi/mpih-mul.c:313,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpih-mul.c:316,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:317,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:321,1
    - Dst: MPN_SQR_N_RECURSE
      Src: /src/libgcrypt/mpi/mpih-mul.c:328,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:331,1
    - Dst: _gcry_mpih_add_1
      Src: /src/libgcrypt/mpi/mpih-mul.c:333,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpih-mul.c:336,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:337,1
    - Dst: _gcry_mpih_add_1
      Src: /src/libgcrypt/mpi/mpih-mul.c:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - prodp
    - up
    - size
    - tspace
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_ptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 341
    functionName: _gcry_mpih_sqr_n
    functionSourceFile: /src/libgcrypt/mpi/mpih-mul.c
    functionUses: 0
    functionsReached:
    - _gcry_mpih_cmp
    - _gcry_mpih_sub_n
    - _gcry_mpih_add_1
    - _gcry_mpih_addmul_1
    - _gcry_mpih_add_n
    - MPN_SQR_N_RECURSE
    - MPN_COPY
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpih_sqr_n( mpi_ptr_t prodp,\n                  mpi_ptr_t
      up, mpi_size_t size, mpi_ptr_t tspace)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpih_sqr_n_basecase
      Src: /src/libgcrypt/mpi/mpih-mul.c:353,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpih-mul.c:356,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpih-mul.c:357,1
    - Dst: _gcry_mpih_sqr_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:358,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpih-mul.c:359,1
    - Dst: mul_n_basecase
      Src: /src/libgcrypt/mpi/mpih-mul.c:364,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpih-mul.c:367,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpih-mul.c:367,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpih-mul.c:368,1
    - Dst: mul_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:369,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpih-mul.c:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - prodp
    - up
    - vp
    - size
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 373
    functionName: _gcry_mpih_mul_n
    functionSourceFile: /src/libgcrypt/mpi/mpih-mul.c
    functionUses: 1
    functionsReached:
    - mul_n_basecase
    - _gcry_mpih_sqr_n
    - mul_n
    - _gcry_is_secure
    - _gcry_mpih_sqr_n_basecase
    - mpi_alloc_limb_space
    - _gcry_mpi_free_limb_space
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpih_mul_n( mpi_ptr_t prodp,\n                     mpi_ptr_t
      up, mpi_ptr_t vp, mpi_size_t size)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpih-mul.c:387,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpih-mul.c:389,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpih-mul.c:390,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpih-mul.c:391,1
    - Dst: MPN_MUL_N_RECURSE
      Src: /src/libgcrypt/mpi/mpih-mul.c:395,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpih-mul.c:403,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpih-mul.c:405,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpih-mul.c:406,1
    - Dst: _gcry_is_secure
      Src: /src/libgcrypt/mpi/mpih-mul.c:407,1
    - Dst: MPN_MUL_N_RECURSE
      Src: /src/libgcrypt/mpi/mpih-mul.c:412,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:413,1
    - Dst: _gcry_mpih_add_1
      Src: /src/libgcrypt/mpi/mpih-mul.c:414,1
    - Dst: _gcry_mpih_mul
      Src: /src/libgcrypt/mpi/mpih-mul.c:423,1
    - Dst: xcalloc
      Src: /src/libgcrypt/mpi/mpih-mul.c:427,1
    - Dst: _gcry_mpih_mul_karatsuba_case
      Src: /src/libgcrypt/mpi/mpih-mul.c:429,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:435,1
    - Dst: _gcry_mpih_add_1
      Src: /src/libgcrypt/mpi/mpih-mul.c:436,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 6
    argNames:
    - prodp
    - up
    - usize
    - vp
    - vsize
    - ctx
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_ptr_t
    - mpi_size_t
    - struct karatsuba_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 438
    functionName: _gcry_mpih_mul_karatsuba_case
    functionSourceFile: /src/libgcrypt/mpi/mpih-mul.c
    functionUses: 1
    functionsReached:
    - _gcry_mpih_mul
    - xcalloc
    - _gcry_is_secure
    - _gcry_mpih_add_1
    - _gcry_mpih_mul_karatsuba_case
    - _gcry_mpih_add_n
    - mpi_alloc_limb_space
    - MPN_MUL_N_RECURSE
    - _gcry_mpi_free_limb_space
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpih_mul_karatsuba_case( mpi_ptr_t prodp,\n                                  mpi_ptr_t
      up, mpi_size_t usize,\n                                  mpi_ptr_t vp, mpi_size_t
      vsize,\n                                  struct karatsuba_ctx *ctx )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpih-mul.c:447,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpih-mul.c:449,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpih-mul.c:453,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpih-mul.c:455,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/mpih-mul.c:456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct karatsuba_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 458
    functionName: _gcry_mpih_release_karatsuba_ctx
    functionSourceFile: /src/libgcrypt/mpi/mpih-mul.c
    functionUses: 0
    functionsReached:
    - xfree
    - _gcry_mpi_free_limb_space
    linkageType: ''
    returnType: void
    signature: void _gcry_mpih_release_karatsuba_ctx( struct karatsuba_ctx *ctx )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpih-mul.c:495,1
    - Dst: MPN_ZERO
      Src: /src/libgcrypt/mpi/mpih-mul.c:497,1
    - Dst: _gcry_mpih_mul_1
      Src: /src/libgcrypt/mpi/mpih-mul.c:501,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/mpih-mul.c:513,1
    - Dst: _gcry_mpih_addmul_1
      Src: /src/libgcrypt/mpi/mpih-mul.c:516,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/mpih-mul.c:525,1
    - Dst: _gcry_mpih_mul_karatsuba_case
      Src: /src/libgcrypt/mpi/mpih-mul.c:526,1
    - Dst: _gcry_mpih_release_karatsuba_ctx
      Src: /src/libgcrypt/mpi/mpih-mul.c:527,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - prodp
    - up
    - usize
    - vp
    - vsize
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_ptr_t
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 475
    functionDepth: 4
    functionLinenumber: 475
    functionLinenumberEnd: 529
    functionName: _gcry_mpih_mul
    functionSourceFile: /src/libgcrypt/mpi/mpih-mul.c
    functionUses: 3
    functionsReached:
    - _gcry_mpih_add_n
    - _gcry_mpih_release_karatsuba_ctx
    - _gcry_mpih_addmul_1
    - _gcry_mpih_mul_1
    - memset
    - _gcry_mpih_mul_karatsuba_case
    - MPN_ZERO
    - MPN_COPY
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_mul( mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t
      usize,\n                   mpi_ptr_t vp, mpi_size_t vsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpih_mul_1
      Src: /src/libgcrypt/mpi/mpih-mul.c:545,1
    - Dst: _gcry_mpih_addmul_1
      Src: /src/libgcrypt/mpi/mpih-mul.c:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - prodp
    - up
    - usize
    - vp
    - vsize
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_ptr_t
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 558
    functionName: _gcry_mpih_mul_lli
    functionSourceFile: /src/libgcrypt/mpi/mpih-mul.c
    functionUses: 2
    functionsReached:
    - _gcry_mpih_addmul_1
    - _gcry_mpih_mul_1
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_mul_lli( mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t
      usize,\n                    mpi_ptr_t vp, mpi_size_t vsize )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - s
    - ','
    - p
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: mpi_ec_hw_mul_point
    functionSourceFile: /src/libgcrypt/mpi/ec-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_ec_hw_mul_point(r,s,p,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: _gcry_mpi_get_powm_config
    functionSourceFile: /src/libgcrypt/mpi/mpi-pow.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      _gcry_mpi_get_powm_config (void)'
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpi-pow.c:105,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpi-pow.c:106,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpi-pow.c:107,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/mpi-pow.c:111,1
    - Dst: _gcry_divide_by_zero
      Src: /src/libgcrypt/mpi/mpi-pow.c:114,1
    - Dst: RESIZE_IF_NEEDED
      Src: /src/libgcrypt/mpi/mpi-pow.c:123,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:136,1
    - Dst: count_leading_zeros
      Src: /src/libgcrypt/mpi/mpi-pow.c:137,1
    - Dst: _gcry_mpih_lshift
      Src: /src/libgcrypt/mpi/mpi-pow.c:139,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-pow.c:141,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:152,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-pow.c:153,1
    - Dst: _gcry_mpih_divrem
      Src: /src/libgcrypt/mpi/mpi-pow.c:156,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/mpi-pow.c:160,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/mpi/mpi-pow.c:177,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:179,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-pow.c:180,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:186,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-pow.c:187,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/mpi/mpi-pow.c:192,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:194,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-pow.c:195,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/mpi-pow.c:201,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-pow.c:204,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:219,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/mpi-pow.c:226,1
    - Dst: count_leading_zeros
      Src: /src/libgcrypt/mpi/mpi-pow.c:231,1
    - Dst: _gcry_mpih_sqr_n_basecase
      Src: /src/libgcrypt/mpi/mpi-pow.c:252,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:258,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:262,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:264,1
    - Dst: _gcry_mpih_sqr_n
      Src: /src/libgcrypt/mpi/mpi-pow.c:266,1
    - Dst: _gcry_mpih_divrem
      Src: /src/libgcrypt/mpi/mpi-pow.c:272,1
    - Dst: _gcry_mpih_mul
      Src: /src/libgcrypt/mpi/mpi-pow.c:289,1
    - Dst: _gcry_mpih_mul_karatsuba_case
      Src: /src/libgcrypt/mpi/mpi-pow.c:291,1
    - Dst: _gcry_mpih_divrem
      Src: /src/libgcrypt/mpi/mpi-pow.c:297,1
    - Dst: mpi_set_cond
      Src: /src/libgcrypt/mpi/mpi-pow.c:304,1
    - Dst: _gcry_mpih_lshift
      Src: /src/libgcrypt/mpi/mpi-pow.c:325,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-pow.c:335,1
    - Dst: _gcry_mpih_divrem
      Src: /src/libgcrypt/mpi/mpi-pow.c:341,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/mpi-pow.c:347,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/mpi-pow.c:348,1
    - Dst: _gcry_mpih_release_karatsuba_ctx
      Src: /src/libgcrypt/mpi/mpi-pow.c:350,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/mpi-pow.c:357,1
    - Dst: _gcry_mpih_sub
      Src: /src/libgcrypt/mpi/mpi-pow.c:358,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/mpi-pow.c:361,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/mpi/mpi-pow.c:363,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:369,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:371,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:373,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:375,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:377,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 174
    argCount: 4
    argNames:
    - res
    - base
    - expo
    - mod
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 73
    functionDepth: 5
    functionLinenumber: 73
    functionLinenumberEnd: 378
    functionName: _gcry_mpi_powm
    functionSourceFile: /src/libgcrypt/mpi/mpi-pow.c
    functionUses: 1
    functionsReached:
    - mpi_is_secure
    - _gcry_mpih_sub
    - count_leading_zeros
    - _gcry_mpih_release_karatsuba_ctx
    - _gcry_divide_by_zero
    - mpi_alloc_limb_space
    - _gcry_mpih_divrem
    - gcry_assert
    - _gcry_mpih_lshift
    - MPN_COPY
    - _gcry_mpih_mul
    - RESIZE_IF_NEEDED
    - mpi_resize
    - memset
    - _gcry_mpih_mul_karatsuba_case
    - _gcry_mpih_sqr_n_basecase
    - MPN_NORMALIZE
    - _gcry_mpih_sqr_n
    - mpi_set_cond
    - _gcry_mpih_rshift
    - _gcry_mpi_free_limb_space
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpi_powm (gcry_mpi_t res,\n                gcry_mpi_t base,
      gcry_mpi_t expo, gcry_mpi_t mod)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpih_mul
      Src: /src/libgcrypt/mpi/mpi-pow.c:403,1
    - Dst: _gcry_mpih_mul_karatsuba_case
      Src: /src/libgcrypt/mpi/mpi-pow.c:405,1
    - Dst: _gcry_mpih_divrem
      Src: /src/libgcrypt/mpi/mpi-pow.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 9
    argNames:
    - xp
    - xsize_p
    - rp
    - rsize
    - sp
    - ssize
    - mp
    - msize
    - karactx_p
    argTypes:
    - mpi_ptr_t
    - mpi_size_t*
    - mpi_ptr_t
    - mpi_size_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_ptr_t
    - mpi_size_t
    - struct karatsuba_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 395
    functionDepth: 5
    functionLinenumber: 395
    functionLinenumberEnd: 414
    functionName: mul_mod
    functionSourceFile: /src/libgcrypt/mpi/mpi-pow.c
    functionUses: 0
    functionsReached:
    - _gcry_mpih_divrem
    - _gcry_mpih_mul
    - _gcry_mpih_mul_karatsuba_case
    linkageType: ''
    returnType: void
    signature: "void mul_mod (mpi_ptr_t xp, mpi_size_t *xsize_p,\n         mpi_ptr_t
      rp, mpi_size_t rsize,\n         mpi_ptr_t sp, mpi_size_t ssize,\n         mpi_ptr_t
      mp, mpi_size_t msize,\n         struct karatsuba_ctx *karactx_p)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/mpi-pow.c:465,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpi-pow.c:478,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpi-pow.c:479,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpi-pow.c:480,1
    - Dst: _gcry_divide_by_zero
      Src: /src/libgcrypt/mpi/mpi-pow.c:485,1
    - Dst: RESIZE_IF_NEEDED
      Src: /src/libgcrypt/mpi/mpi-pow.c:494,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:507,1
    - Dst: count_leading_zeros
      Src: /src/libgcrypt/mpi/mpi-pow.c:508,1
    - Dst: _gcry_mpih_lshift
      Src: /src/libgcrypt/mpi/mpi-pow.c:510,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-pow.c:512,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:523,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-pow.c:524,1
    - Dst: _gcry_mpih_divrem
      Src: /src/libgcrypt/mpi/mpi-pow.c:527,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/mpi-pow.c:531,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/mpi/mpi-pow.c:549,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:551,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-pow.c:552,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:558,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-pow.c:559,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/mpi-pow.c:565,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:576,1
    - Dst: MPN_ZERO
      Src: /src/libgcrypt/mpi/mpi-pow.c:577,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-pow.c:578,1
    - Dst: _gcry_mpih_powm_lli
      Src: /src/libgcrypt/mpi/mpi-pow.c:581,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:583,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:608,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/mpi-pow.c:610,1
    - Dst: mul_mod
      Src: /src/libgcrypt/mpi/mpi-pow.c:615,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:616,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-pow.c:618,1
    - Dst: mul_mod
      Src: /src/libgcrypt/mpi/mpi-pow.c:622,1
    - Dst: mul_mod
      Src: /src/libgcrypt/mpi/mpi-pow.c:625,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:627,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-pow.c:631,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:636,1
    - Dst: MPN_ZERO
      Src: /src/libgcrypt/mpi/mpi-pow.c:637,1
    - Dst: MPN_ZERO
      Src: /src/libgcrypt/mpi/mpi-pow.c:657,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-pow.c:659,1
    - Dst: count_leading_zeros
      Src: /src/libgcrypt/mpi/mpi-pow.c:662,1
    - Dst: count_leading_zeros
      Src: /src/libgcrypt/mpi/mpi-pow.c:687,1
    - Dst: count_trailing_zeros
      Src: /src/libgcrypt/mpi/mpi-pow.c:716,1
    - Dst: mpi_set_cond
      Src: /src/libgcrypt/mpi/mpi-pow.c:733,1
    - Dst: mpi_set_cond
      Src: /src/libgcrypt/mpi/mpi-pow.c:740,1
    - Dst: mul_mod
      Src: /src/libgcrypt/mpi/mpi-pow.c:743,1
    - Dst: mul_mod
      Src: /src/libgcrypt/mpi/mpi-pow.c:756,1
    - Dst: _gcry_mpih_lshift
      Src: /src/libgcrypt/mpi/mpi-pow.c:769,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-pow.c:779,1
    - Dst: _gcry_mpih_divrem
      Src: /src/libgcrypt/mpi/mpi-pow.c:785,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/mpi-pow.c:791,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/mpi-pow.c:792,1
    - Dst: _gcry_mpih_release_karatsuba_ctx
      Src: /src/libgcrypt/mpi/mpi-pow.c:794,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:796,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:797,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/mpi-pow.c:804,1
    - Dst: _gcry_mpih_sub
      Src: /src/libgcrypt/mpi/mpi-pow.c:805,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/mpi-pow.c:808,1
    - Dst: gcry_assert
      Src: /src/libgcrypt/mpi/mpi-pow.c:810,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:816,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:818,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:820,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-pow.c:822,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 238
    argCount: 4
    argNames:
    - res
    - base
    - expo
    - mod
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 429
    functionDepth: 6
    functionLinenumber: 429
    functionLinenumberEnd: 823
    functionName: _gcry_mpi_powm
    functionSourceFile: /src/libgcrypt/mpi/mpi-pow.c
    functionUses: 1
    functionsReached:
    - mpi_is_secure
    - _gcry_mpih_sub
    - count_leading_zeros
    - _gcry_mpih_release_karatsuba_ctx
    - _gcry_divide_by_zero
    - count_trailing_zeros
    - mpi_alloc_limb_space
    - _gcry_mpih_divrem
    - gcry_assert
    - _gcry_mpih_lshift
    - MPN_COPY
    - RESIZE_IF_NEEDED
    - mpi_resize
    - _gcry_mpih_powm_lli
    - mul_mod
    - memset
    - MPN_ZERO
    - MPN_NORMALIZE
    - mpi_set_cond
    - _gcry_mpih_rshift
    - _gcry_mpi_free_limb_space
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpi_powm (gcry_mpi_t res,\n                gcry_mpi_t base,
      gcry_mpi_t expo, gcry_mpi_t mod)"
  - 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: ABS
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: MIN
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(l,o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: MAX
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(h,i)
  - 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: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: RESIZE_IF_NEEDED
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESIZE_IF_NEEDED(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: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: RESIZE_AND_CLEAR_IF_NEEDED
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESIZE_AND_CLEAR_IF_NEEDED(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - s
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: MPN_COPY
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPN_COPY( d, s, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - s
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: MPN_COPY_INCR
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPN_COPY_INCR( d, s, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - s
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: MPN_COPY_DECR
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPN_COPY_DECR( d, s, n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: MPN_ZERO
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPN_ZERO(d, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: MPN_NORMALIZE
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPN_NORMALIZE(d, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: MPN_NORMALIZE_NOT_ZERO
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPN_NORMALIZE_NOT_ZERO(d, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - prodp
    - ','
    - up
    - ','
    - vp
    - ','
    - size
    - ','
    - tspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: MPN_MUL_N_RECURSE
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPN_MUL_N_RECURSE(prodp, up, vp, size, tspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - q
    - ','
    - r
    - ','
    - nh
    - ','
    - nl
    - ','
    - d
    - ','
    - di
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: UDIV_QRNND_PREINV
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UDIV_QRNND_PREINV(q, r, nh, nl, d, di)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: mpi_alloc_limb_space
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_alloc_limb_space(n,f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: mpi_rshift_limbs
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_rshift_limbs(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: mpi_lshift_limbs
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpi_lshift_limbs(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 267
    functionName: mpih_set_cond
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpih_set_cond(w,u,s,o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - ','
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 268
    functionName: mpih_add_n_cond
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpih_add_n_cond(w,u,v,s,o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - v
    - ','
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: mpih_sub_n_cond
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpih_sub_n_cond(w,u,v,s,o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - u
    - ','
    - v
    - ','
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: mpih_swap_cond
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpih_swap_cond(u,v,s,o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - w
    - ','
    - u
    - ','
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: mpih_abs_cond
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpih_abs_cond(w,u,s,o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - v
    - ','
    - vs
    - ','
    - u
    - ','
    - us
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: mpih_mod_lli
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mpih_mod_lli(v,vs,u,us)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: mpih_limb_is_zero
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mpih_limb_is_zero (mpi_limb_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: mpih_limb_is_not_zero
    functionSourceFile: /src/libgcrypt/mpi/mpi-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mpih_limb_is_not_zero (mpi_limb_t a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-div.c:46,1
    - Dst: _gcry_mpi_tdiv_r
      Src: /src/libgcrypt/mpi/mpi-div.c:50,1
    - Dst: mpi_add
      Src: /src/libgcrypt/mpi/mpi-div.c:53,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-div.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - rem
    - dividend
    - divisor
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 57
    functionName: _gcry_mpi_fdiv_r
    functionSourceFile: /src/libgcrypt/mpi/mpi-div.c
    functionUses: 1
    functionsReached:
    - mpi_copy
    - _gcry_mpi_tdiv_r
    - mpi_add
    - mpi_free
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_fdiv_r( gcry_mpi_t rem, gcry_mpi_t dividend, gcry_mpi_t
      divisor )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpih_mod_1
      Src: /src/libgcrypt/mpi/mpi-div.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - rem
    - dividend
    - divisor
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: _gcry_mpi_fdiv_r_ui
    functionSourceFile: /src/libgcrypt/mpi/mpi-div.c
    functionUses: 0
    functionsReached:
    - _gcry_mpih_mod_1
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long _gcry_mpi_fdiv_r_ui( gcry_mpi_t rem, gcry_mpi_t dividend,\n
      \                    unsigned long divisor )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpi-div.c:88,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/mpi/mpi-div.c:88,1
    - Dst: _gcry_mpi_fdiv_qr
      Src: /src/libgcrypt/mpi/mpi-div.c:89,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-div.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - quot
    - dividend
    - divisor
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: _gcry_mpi_fdiv_q
    functionSourceFile: /src/libgcrypt/mpi/mpi-div.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_fdiv_qr
    - mpi_get_nlimbs
    - mpi_free
    - mpi_alloc
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_fdiv_q( gcry_mpi_t quot, gcry_mpi_t dividend, gcry_mpi_t
      divisor )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-div.c:100,1
    - Dst: _gcry_mpi_tdiv_qr
      Src: /src/libgcrypt/mpi/mpi-div.c:104,1
    - Dst: mpi_sub_ui
      Src: /src/libgcrypt/mpi/mpi-div.c:107,1
    - Dst: mpi_add
      Src: /src/libgcrypt/mpi/mpi-div.c:108,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-div.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - quot
    - rem
    - dividend
    - divisor
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: _gcry_mpi_fdiv_qr
    functionSourceFile: /src/libgcrypt/mpi/mpi-div.c
    functionUses: 1
    functionsReached:
    - mpi_add
    - mpi_free
    - mpi_sub_ui
    - _gcry_mpi_tdiv_qr
    - mpi_copy
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_fdiv_qr( gcry_mpi_t quot, gcry_mpi_t rem, gcry_mpi_t
      dividend, gcry_mpi_t divisor )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_tdiv_qr
      Src: /src/libgcrypt/mpi/mpi-div.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rem
    - num
    - den
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: _gcry_mpi_tdiv_r
    functionSourceFile: /src/libgcrypt/mpi/mpi-div.c
    functionUses: 2
    functionsReached:
    - _gcry_mpi_tdiv_qr
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_tdiv_r( gcry_mpi_t rem, gcry_mpi_t num, gcry_mpi_t den)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/mpi-div.c:149,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-div.c:156,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/mpi-div.c:168,1
    - Dst: _gcry_divide_by_zero
      Src: /src/libgcrypt/mpi/mpi-div.c:171,1
    - Dst: _gcry_mpih_divmod_1
      Src: /src/libgcrypt/mpi/mpi-div.c:183,1
    - Dst: _gcry_mpih_mod_1
      Src: /src/libgcrypt/mpi/mpi-div.c:189,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-div.c:204,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpi-div.c:205,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-div.c:206,1
    - Dst: count_leading_zeros
      Src: /src/libgcrypt/mpi/mpi-div.c:212,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-div.c:226,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpi-div.c:226,1
    - Dst: _gcry_mpih_lshift
      Src: /src/libgcrypt/mpi/mpi-div.c:227,1
    - Dst: _gcry_mpih_lshift
      Src: /src/libgcrypt/mpi/mpi-div.c:233,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/mpi-div.c:248,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/mpi-div.c:249,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-div.c:250,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/mpi-div.c:256,1
    - Dst: _gcry_mpih_divrem
      Src: /src/libgcrypt/mpi/mpi-div.c:261,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/mpi-div.c:275,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/mpi-div.c:278,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/mpi-div.c:287,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 92
    argCount: 4
    argNames:
    - quot
    - rem
    - num
    - den
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 289
    functionName: _gcry_mpi_tdiv_qr
    functionSourceFile: /src/libgcrypt/mpi/mpi-div.c
    functionUses: 2
    functionsReached:
    - _gcry_mpih_divmod_1
    - _gcry_mpih_divrem
    - MPN_NORMALIZE
    - mpi_resize
    - mpi_is_secure
    - _gcry_mpih_lshift
    - _gcry_mpih_rshift
    - count_leading_zeros
    - _gcry_mpih_mod_1
    - _gcry_mpi_free_limb_space
    - _gcry_divide_by_zero
    - mpi_alloc_limb_space
    - MPN_COPY
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_tdiv_qr( gcry_mpi_t quot, gcry_mpi_t rem, gcry_mpi_t
      num, gcry_mpi_t den)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RESIZE_IF_NEEDED
      Src: /src/libgcrypt/mpi/mpi-div.c:306,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/mpi-div.c:312,1
    - Dst: MPN_COPY_INCR
      Src: /src/libgcrypt/mpi/mpi-div.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - w
    - u
    - count
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 321
    functionName: _gcry_mpi_tdiv_q_2exp
    functionSourceFile: /src/libgcrypt/mpi/mpi-div.c
    functionUses: 0
    functionsReached:
    - MPN_COPY_INCR
    - _gcry_mpih_rshift
    - RESIZE_IF_NEEDED
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_tdiv_q_2exp( gcry_mpi_t w, gcry_mpi_t u, unsigned int
      count )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpih_mod_1
      Src: /src/libgcrypt/mpi/mpi-div.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dividend
    - divisor
    argTypes:
    - gcry_mpi_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: _gcry_mpi_divisible_ui
    functionSourceFile: /src/libgcrypt/mpi/mpi-div.c
    functionUses: 0
    functionsReached:
    - _gcry_mpih_mod_1
    linkageType: ''
    returnType: int
    signature: int _gcry_mpi_divisible_ui(gcry_mpi_t dividend, unsigned long divisor
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc
      Src: /src/libgcrypt/mpi/mpi-div.c:342,1
    - Dst: mpi_get_nlimbs
      Src: /src/libgcrypt/mpi/mpi-div.c:342,1
    - Dst: _gcry_mpi_tdiv_qr
      Src: /src/libgcrypt/mpi/mpi-div.c:343,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-div.c:344,1
    - Dst: _gcry_mpi_tdiv_qr
      Src: /src/libgcrypt/mpi/mpi-div.c:347,1
    - Dst: _gcry_mpi_fdiv_q
      Src: /src/libgcrypt/mpi/mpi-div.c:352,1
    - Dst: _gcry_mpi_fdiv_r
      Src: /src/libgcrypt/mpi/mpi-div.c:354,1
    - Dst: _gcry_mpi_fdiv_qr
      Src: /src/libgcrypt/mpi/mpi-div.c:356,1
    - Dst: log_bug
      Src: /src/libgcrypt/mpi/mpi-div.c:359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - quot
    - rem
    - dividend
    - divisor
    - round
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 334
    functionDepth: 5
    functionLinenumber: 334
    functionLinenumberEnd: 360
    functionName: _gcry_mpi_div
    functionSourceFile: /src/libgcrypt/mpi/mpi-div.c
    functionUses: 1
    functionsReached:
    - mpi_free
    - _gcry_mpi_fdiv_r
    - log_bug
    - _gcry_mpi_fdiv_q
    - mpi_get_nlimbs
    - _gcry_mpi_fdiv_qr
    - _gcry_mpi_tdiv_qr
    - mpi_alloc
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpi_div (gcry_mpi_t quot, gcry_mpi_t rem, gcry_mpi_t dividend,\n
      \              gcry_mpi_t divisor, int round)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - nbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: point_init
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: point_init(a, nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: point_free
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: point_free(a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libgcrypt/mpi/ec.c:50,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/mpi/ec.c:51,1
    - Dst: snprintf
      Src: /src/libgcrypt/mpi/ec.c:54,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec.c:58,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec.c:59,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/mpi/ec.c:61,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/mpi/ec.c:63,1
    - Dst: strlen
      Src: /src/libgcrypt/mpi/ec.c:64,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/mpi/ec.c:65,1
    - Dst: strlen
      Src: /src/libgcrypt/mpi/ec.c:66,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/mpi/ec.c:67,1
    - Dst: strlen
      Src: /src/libgcrypt/mpi/ec.c:71,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/mpi/ec.c:72,1
    - Dst: strlen
      Src: /src/libgcrypt/mpi/ec.c:73,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/mpi/ec.c:74,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/mpi/ec.c:79,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/mpi/ec.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - name
    - point
    - ctx
    argTypes:
    - char*
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 82
    functionName: _gcry_mpi_point_log
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 1
    functionsReached:
    - log_mpidump
    - strlen
    - _gcry_mpi_release
    - snprintf
    - mpi_new
    - _gcry_mpi_ec_get_affine
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_point_log (const char *name, mpi_point_t point, mpi_ec_t
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgcrypt/mpi/ec.c:93,1
    - Dst: _gcry_mpi_point_init
      Src: /src/libgcrypt/mpi/ec.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: _gcry_mpi_point_new
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 1
    functionsReached:
    - xmalloc
    - _gcry_mpi_point_init
    linkageType: ''
    returnType: mpi_point_t
    signature: mpi_point_t _gcry_mpi_point_new (unsigned int nbits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_point_free_parts
      Src: /src/libgcrypt/mpi/ec.c:105,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/ec.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - mpi_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: _gcry_mpi_point_release
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 4
    functionsReached:
    - _gcry_mpi_point_free_parts
    - xfree
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_point_release (mpi_point_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec.c:116,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec.c:117,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - nbits
    argTypes:
    - mpi_point_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: _gcry_mpi_point_init
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 4
    functionsReached:
    - mpi_new
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_point_init (mpi_point_t p, unsigned int nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:126,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:127,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - mpi_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: _gcry_mpi_point_free_parts
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 3
    functionsReached:
    - mpi_free
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_point_free_parts (mpi_point_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:136,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:137,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - mpi_point_t
    - mpi_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: point_set
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 11
    functionsReached:
    - mpi_set
    linkageType: ''
    returnType: void
    signature: void point_set (mpi_point_t d, mpi_point_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_point_new
      Src: /src/libgcrypt/mpi/ec.c:148,1
    - Dst: point_set
      Src: /src/libgcrypt/mpi/ec.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - point
    argTypes:
    - gcry_mpi_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: _gcry_mpi_point_copy
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 1
    functionsReached:
    - point_set
    - _gcry_mpi_point_new
    linkageType: ''
    returnType: gcry_mpi_point_t
    signature: gcry_mpi_point_t _gcry_mpi_point_copy (gcry_mpi_point_t point)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/ec.c:161,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/ec.c:163,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/ec.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: _gcry_mpi_ec_point_resize
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - mpi_resize
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_ec_point_resize (mpi_point_t p, mpi_ec_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_swap_cond
      Src: /src/libgcrypt/mpi/ec.c:178,1
    - Dst: mpi_swap_cond
      Src: /src/libgcrypt/mpi/ec.c:180,1
    - Dst: mpi_swap_cond
      Src: /src/libgcrypt/mpi/ec.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - d
    - s
    - swap
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_point_t
    - unsigned long
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: point_swap_cond
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - mpi_swap_cond
    linkageType: ''
    returnType: void
    signature: "void point_swap_cond (mpi_point_t d, mpi_point_t s, unsigned long
      swap,\n                 mpi_ec_t ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_tfr
      Src: /src/libgcrypt/mpi/ec.c:202,1
    - Dst: mpi_tfr
      Src: /src/libgcrypt/mpi/ec.c:204,1
    - Dst: mpi_tfr
      Src: /src/libgcrypt/mpi/ec.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - a
    - b
    - dir
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_point_t
    - unsigned long
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 206
    functionName: point_tfr
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - mpi_tfr
    linkageType: ''
    returnType: void
    signature: "void point_tfr (mpi_point_t a, mpi_point_t b, unsigned long dir,\n
      \          mpi_ec_t ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:216,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:218,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - x
    - y
    - z
    - point
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: _gcry_mpi_point_get
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 1
    functionsReached:
    - mpi_set
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpi_point_get (gcry_mpi_t x, gcry_mpi_t y, gcry_mpi_t z,\n
      \                    mpi_point_t point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_snatch
      Src: /src/libgcrypt/mpi/ec.c:231,1
    - Dst: mpi_snatch
      Src: /src/libgcrypt/mpi/ec.c:232,1
    - Dst: mpi_snatch
      Src: /src/libgcrypt/mpi/ec.c:233,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/ec.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - x
    - y
    - z
    - point
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: _gcry_mpi_point_snatch_get
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 1
    functionsReached:
    - mpi_snatch
    - xfree
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpi_point_snatch_get (gcry_mpi_t x, gcry_mpi_t y, gcry_mpi_t
      z,\n                            mpi_point_t point)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mpi_point_new
      Src: /src/libgcrypt/mpi/ec.c:247,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:250,1
    - Dst: mpi_clear
      Src: /src/libgcrypt/mpi/ec.c:252,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:254,1
    - Dst: mpi_clear
      Src: /src/libgcrypt/mpi/ec.c:256,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:258,1
    - Dst: mpi_clear
      Src: /src/libgcrypt/mpi/ec.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - point
    - x
    - y
    - z
    argTypes:
    - mpi_point_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 263
    functionName: _gcry_mpi_point_set
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 2
    functionsReached:
    - mpi_set
    - mpi_clear
    - mpi_point_new
    linkageType: ''
    returnType: mpi_point_t
    signature: "mpi_point_t _gcry_mpi_point_set (mpi_point_t point,\n                     gcry_mpi_t
      x, gcry_mpi_t y, gcry_mpi_t z)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mpi_point_new
      Src: /src/libgcrypt/mpi/ec.c:276,1
    - Dst: mpi_snatch
      Src: /src/libgcrypt/mpi/ec.c:279,1
    - Dst: mpi_clear
      Src: /src/libgcrypt/mpi/ec.c:281,1
    - Dst: mpi_snatch
      Src: /src/libgcrypt/mpi/ec.c:283,1
    - Dst: mpi_clear
      Src: /src/libgcrypt/mpi/ec.c:285,1
    - Dst: mpi_snatch
      Src: /src/libgcrypt/mpi/ec.c:287,1
    - Dst: mpi_clear
      Src: /src/libgcrypt/mpi/ec.c:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - point
    - x
    - y
    - z
    argTypes:
    - mpi_point_t
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 292
    functionName: _gcry_mpi_point_snatch_set
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 1
    functionsReached:
    - mpi_snatch
    - mpi_clear
    - mpi_point_new
    linkageType: ''
    returnType: mpi_point_t
    signature: "mpi_point_t _gcry_mpi_point_snatch_set (mpi_point_t point,\n                            gcry_mpi_t
      x, gcry_mpi_t y, gcry_mpi_t z)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_ec_ed25519_mod
      Src: /src/libgcrypt/mpi/ec.c:300,1
    - Dst: _gcry_mpi_mod_barrett
      Src: /src/libgcrypt/mpi/ec.c:302,1
    - Dst: _gcry_mpi_mod
      Src: /src/libgcrypt/mpi/ec.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - w
    - ec
    argTypes:
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 308
    functionName: ec_mod
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_mod
    - _gcry_mpi_mod_barrett
    - _gcry_mpi_ec_ed25519_mod
    linkageType: ''
    returnType: void
    signature: void ec_mod (gcry_mpi_t w, mpi_ec_t ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_add
      Src: /src/libgcrypt/mpi/ec.c:313,1
    - Dst: mpi_ec_t::mod
      Src: /src/libgcrypt/mpi/ec.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - w
    - u
    - v
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 315
    functionName: ec_addm
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - mpi_add
    - mpi_ec_t::mod
    linkageType: ''
    returnType: void
    signature: void ec_addm (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, mpi_ec_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/ec.c:320,1
    - Dst: mpi_add
      Src: /src/libgcrypt/mpi/ec.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - w
    - u
    - v
    - ec
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: ec_subm
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - mpi_add
    - mpi_sub
    linkageType: ''
    returnType: void
    signature: void ec_subm (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, mpi_ec_t ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_mul
      Src: /src/libgcrypt/mpi/ec.c:329,1
    - Dst: mpi_ec_t::mod
      Src: /src/libgcrypt/mpi/ec.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - w
    - u
    - v
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 331
    functionName: ec_mulm
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - mpi_mul
    - mpi_ec_t::mod
    linkageType: ''
    returnType: void
    signature: void ec_mulm (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, mpi_ec_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpih_add_lli
      Src: /src/libgcrypt/mpi/ec.c:339,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/ec.c:340,1
    - Dst: _gcry_mpih_add_n_cond
      Src: /src/libgcrypt/mpi/ec.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - w
    - u
    - v
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: ec_addm_lli
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - _gcry_mpih_sub_n
    - _gcry_mpih_add_lli
    - _gcry_mpih_add_n_cond
    linkageType: ''
    returnType: void
    signature: void ec_addm_lli (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, mpi_ec_t
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/ec.c:352,1
    - Dst: _gcry_mpih_add_n_cond
      Src: /src/libgcrypt/mpi/ec.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - w
    - u
    - v
    - ec
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 346
    functionDepth: 4
    functionLinenumber: 346
    functionLinenumberEnd: 355
    functionName: ec_subm_lli
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - _gcry_mpih_sub_n
    - _gcry_mpih_add_n_cond
    linkageType: ''
    returnType: void
    signature: void ec_subm_lli (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, mpi_ec_t
      ec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/ec.c:369,1
    - Dst: mpi_alloc_limb_space
      Src: /src/libgcrypt/mpi/ec.c:374,1
    - Dst: _gcry_mpih_mul_lli
      Src: /src/libgcrypt/mpi/ec.c:378,1
    - Dst: MPN_COPY
      Src: /src/libgcrypt/mpi/ec.c:382,1
    - Dst: _gcry_mpi_free_limb_space
      Src: /src/libgcrypt/mpi/ec.c:383,1
    - Dst: mpi_ec_t::mod
      Src: /src/libgcrypt/mpi/ec.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - w
    - u
    - v
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 386
    functionName: ec_mulm_lli
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - _gcry_mpih_mul_lli
    - mpi_resize
    - mpi_ec_t::mod
    - MPN_COPY
    - mpi_alloc_limb_space
    - _gcry_mpi_free_limb_space
    linkageType: ''
    returnType: void
    signature: void ec_mulm_lli (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, mpi_ec_t
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ec_addm
      Src: /src/libgcrypt/mpi/ec.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - u
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: ec_mul2
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - ec_addm
    linkageType: ''
    returnType: void
    signature: void ec_mul2 (gcry_mpi_t w, gcry_mpi_t u, mpi_ec_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_powm
      Src: /src/libgcrypt/mpi/ec.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - w
    - b
    - e
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 401
    functionName: ec_powm
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - mpi_powm
    linkageType: ''
    returnType: void
    signature: "void ec_powm (gcry_mpi_t w, const gcry_mpi_t b, const gcry_mpi_t e,\n
      \        mpi_ec_t ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - b
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 413
    functionName: ec_pow2
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - ec_mulm
    linkageType: ''
    returnType: void
    signature: void ec_pow2 (gcry_mpi_t w, const gcry_mpi_t b, mpi_ec_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_invm
      Src: /src/libgcrypt/mpi/ec.c:419,1
    - Dst: log_error
      Src: /src/libgcrypt/mpi/ec.c:421,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/mpi/ec.c:422,1
    - Dst: log_mpidump
      Src: /src/libgcrypt/mpi/ec.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - x
    - a
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: ec_invm
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - mpi_invm
    - log_mpidump
    - log_error
    linkageType: ''
    returnType: void
    signature: void ec_invm (gcry_mpi_t x, gcry_mpi_t a, mpi_ec_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/libgcrypt/mpi/ec.c:440,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/ec.c:446,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/ec.c:447,1
    - Dst: mpih_set_cond
      Src: /src/libgcrypt/mpi/ec.c:448,1
    - Dst: mpih_limb_is_zero
      Src: /src/libgcrypt/mpi/ec.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - w
    - u
    - v
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 450
    functionName: ec_addm_25519
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - log_bug
    - mpih_limb_is_zero
    - _gcry_mpih_sub_n
    - mpih_set_cond
    - _gcry_mpih_add_n
    linkageType: ''
    returnType: void
    signature: void ec_addm_25519 (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, mpi_ec_t
      ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/libgcrypt/mpi/ec.c:461,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/ec.c:467,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/ec.c:468,1
    - Dst: mpih_set_cond
      Src: /src/libgcrypt/mpi/ec.c:469,1
    - Dst: mpih_limb_is_not_zero
      Src: /src/libgcrypt/mpi/ec.c:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - w
    - u
    - v
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 471
    functionName: ec_subm_25519
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - log_bug
    - _gcry_mpih_sub_n
    - mpih_limb_is_not_zero
    - mpih_set_cond
    - _gcry_mpih_add_n
    linkageType: ''
    returnType: void
    signature: void ec_subm_25519 (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, mpi_ec_t
      ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/libgcrypt/mpi/ec.c:484,1
    - Dst: _gcry_mpih_mul_n
      Src: /src/libgcrypt/mpi/ec.c:490,1
    - Dst: memcpy
      Src: /src/libgcrypt/mpi/ec.c:491,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/ec.c:494,1
    - Dst: _gcry_mpih_addmul_1
      Src: /src/libgcrypt/mpi/ec.c:497,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec.c:499,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/ec.c:503,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/ec.c:505,1
    - Dst: mpih_set_cond
      Src: /src/libgcrypt/mpi/ec.c:506,1
    - Dst: mpih_limb_is_zero
      Src: /src/libgcrypt/mpi/ec.c:506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - w
    - u
    - v
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 473
    functionDepth: 4
    functionLinenumber: 473
    functionLinenumberEnd: 507
    functionName: ec_mulm_25519
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - log_bug
    - mpih_limb_is_zero
    - _gcry_mpih_sub_n
    - _gcry_mpih_rshift
    - _gcry_mpih_addmul_1
    - memset
    - mpih_set_cond
    - _gcry_mpih_add_n
    - memcpy
    - _gcry_mpih_mul_n
    linkageType: ''
    returnType: void
    signature: void ec_mulm_25519 (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, mpi_ec_t
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ec_addm_25519
      Src: /src/libgcrypt/mpi/ec.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - u
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 513
    functionName: ec_mul2_25519
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - ec_addm_25519
    linkageType: ''
    returnType: void
    signature: void ec_mul2_25519 (gcry_mpi_t w, gcry_mpi_t u, mpi_ec_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ec_mulm_25519
      Src: /src/libgcrypt/mpi/ec.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - b
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 5
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: ec_pow2_25519
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - ec_mulm_25519
    linkageType: ''
    returnType: void
    signature: void ec_pow2_25519 (gcry_mpi_t w, const gcry_mpi_t b, mpi_ec_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/libgcrypt/mpi/ec.c:535,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/ec.c:541,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/ec.c:542,1
    - Dst: mpih_set_cond
      Src: /src/libgcrypt/mpi/ec.c:543,1
    - Dst: mpih_limb_is_not_zero
      Src: /src/libgcrypt/mpi/ec.c:543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - w
    - u
    - v
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 544
    functionName: ec_addm_448
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - log_bug
    - _gcry_mpih_sub_n
    - mpih_limb_is_not_zero
    - mpih_set_cond
    - _gcry_mpih_add_n
    linkageType: ''
    returnType: void
    signature: void ec_addm_448 (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, mpi_ec_t
      ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/libgcrypt/mpi/ec.c:555,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/ec.c:561,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/ec.c:562,1
    - Dst: mpih_set_cond
      Src: /src/libgcrypt/mpi/ec.c:563,1
    - Dst: mpih_limb_is_not_zero
      Src: /src/libgcrypt/mpi/ec.c:563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - w
    - u
    - v
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 564
    functionName: ec_subm_448
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - log_bug
    - _gcry_mpih_sub_n
    - mpih_limb_is_not_zero
    - mpih_set_cond
    - _gcry_mpih_add_n
    linkageType: ''
    returnType: void
    signature: void ec_subm_448 (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, mpi_ec_t
      ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_bug
      Src: /src/libgcrypt/mpi/ec.c:579,1
    - Dst: _gcry_mpih_mul_n
      Src: /src/libgcrypt/mpi/ec.c:585,1
    - Dst: memcpy
      Src: /src/libgcrypt/mpi/ec.c:587,1
    - Dst: memcpy
      Src: /src/libgcrypt/mpi/ec.c:588,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/ec.c:593,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/ec.c:594,1
    - Dst: memcpy
      Src: /src/libgcrypt/mpi/ec.c:596,1
    - Dst: memcpy
      Src: /src/libgcrypt/mpi/ec.c:597,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/ec.c:600,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/ec.c:601,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec.c:606,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/ec.c:609,1
    - Dst: _gcry_mpih_lshift
      Src: /src/libgcrypt/mpi/ec.c:610,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/ec.c:611,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/ec.c:612,1
    - Dst: _gcry_mpih_rshift
      Src: /src/libgcrypt/mpi/ec.c:614,1
    - Dst: memcpy
      Src: /src/libgcrypt/mpi/ec.c:617,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec.c:623,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/ec.c:631,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/ec.c:633,1
    - Dst: mpih_set_cond
      Src: /src/libgcrypt/mpi/ec.c:634,1
    - Dst: mpih_limb_is_zero
      Src: /src/libgcrypt/mpi/ec.c:634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 4
    argNames:
    - w
    - u
    - v
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 566
    functionDepth: 4
    functionLinenumber: 566
    functionLinenumberEnd: 635
    functionName: ec_mulm_448
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - log_bug
    - _gcry_mpih_lshift
    - _gcry_mpih_sub_n
    - mpih_limb_is_zero
    - _gcry_mpih_rshift
    - memset
    - mpih_set_cond
    - _gcry_mpih_add_n
    - memcpy
    - _gcry_mpih_mul_n
    linkageType: ''
    returnType: void
    signature: void ec_mulm_448 (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, mpi_ec_t
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ec_addm_448
      Src: /src/libgcrypt/mpi/ec.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - u
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 641
    functionName: ec_mul2_448
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - ec_addm_448
    linkageType: ''
    returnType: void
    signature: void ec_mul2_448 (gcry_mpi_t w, gcry_mpi_t u, mpi_ec_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ec_mulm_448
      Src: /src/libgcrypt/mpi/ec.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - w
    - b
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 643
    functionDepth: 5
    functionLinenumber: 643
    functionLinenumberEnd: 647
    functionName: ec_pow2_448
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - ec_mulm_448
    linkageType: ''
    returnType: void
    signature: void ec_pow2_448 (gcry_mpi_t w, const gcry_mpi_t b, mpi_ec_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec.c:655,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec.c:656,1
    - Dst: RESIZE_AND_CLEAR_IF_NEEDED
      Src: /src/libgcrypt/mpi/ec.c:660,1
    - Dst: memcpy
      Src: /src/libgcrypt/mpi/ec.c:667,1
    - Dst: _gcry_mpih_lshift
      Src: /src/libgcrypt/mpi/ec.c:669,1
    - Dst: memcpy
      Src: /src/libgcrypt/mpi/ec.c:672,1
    - Dst: _gcry_mpih_addmul_1
      Src: /src/libgcrypt/mpi/ec.c:674,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/ec.c:675,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec.c:680,1
    - Dst: umul_ppmm
      Src: /src/libgcrypt/mpi/ec.c:681,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec.c:683,1
    - Dst: umul_ppmm
      Src: /src/libgcrypt/mpi/ec.c:684,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/mpi/ec.c:685,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/mpi/ec.c:686,1
    - Dst: _gcry_mpih_add_n
      Src: /src/libgcrypt/mpi/ec.c:688,1
    - Dst: _gcry_mpih_sub_n
      Src: /src/libgcrypt/mpi/ec.c:690,1
    - Dst: mpih_set_cond
      Src: /src/libgcrypt/mpi/ec.c:691,1
    - Dst: mpih_limb_is_not_zero
      Src: /src/libgcrypt/mpi/ec.c:692,1
    - Dst: mpih_limb_is_zero
      Src: /src/libgcrypt/mpi/ec.c:692,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/ec.c:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - w
    - ctx
    argTypes:
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 697
    functionName: ec_secp256k1_mod
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - umul_ppmm
    - RESIZE_AND_CLEAR_IF_NEEDED
    - add_ssaaaa
    - MPN_NORMALIZE
    - _gcry_mpih_lshift
    - DIM
    - _gcry_mpih_sub_n
    - mpih_limb_is_zero
    - mpih_limb_is_not_zero
    - _gcry_mpih_addmul_1
    - memset
    - mpih_set_cond
    - _gcry_mpih_add_n
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ec_secp256k1_mod (gcry_mpi_t w, mpi_ec_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ec
    argTypes:
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 800
    functionName: _gcry_mpi_ec_get_reset
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_ec_get_reset (mpi_ec_t ec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/mpi/ec.c:812,1
    - Dst: mpi_sub
      Src: /src/libgcrypt/mpi/ec.c:813,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/ec.c:814,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ec
    argTypes:
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 819
    functionName: ec_get_a_is_pminus3
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - mpi_sub
    - mpi_alloc_like
    - mpi_free
    - mpi_cmp_ui
    linkageType: ''
    returnType: int
    signature: int ec_get_a_is_pminus3 (mpi_ec_t ec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec.c:830,1
    - Dst: ec_invm
      Src: /src/libgcrypt/mpi/ec.c:831,1
    - Dst: mpi_const
      Src: /src/libgcrypt/mpi/ec.c:831,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ec
    argTypes:
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 823
    functionDepth: 3
    functionLinenumber: 823
    functionLinenumberEnd: 834
    functionName: ec_get_two_inv_p
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - ec_invm
    - mpi_const
    - mpi_new
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t ec_get_two_inv_p (mpi_ec_t ec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/mpi/ec.c:874,1
    - Dst: log_fatal
      Src: /src/libgcrypt/mpi/ec.c:876,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/mpi/ec.c:876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 868
    functionDepth: 4
    functionLinenumber: 868
    functionLinenumberEnd: 878
    functionName: scanval
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 5
    functionsReached:
    - _gcry_mpi_scan
    - log_fatal
    - gpg_strerror
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t scanval (const char *string)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgcrypt/mpi/ec.c:895,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/mpi/ec.c:906,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/ec.c:907,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/ec.c:908,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/ec.c:909,1
    - Dst: _gcry_mpi_barrett_init
      Src: /src/libgcrypt/mpi/ec.c:911,1
    - Dst: _gcry_mpi_ec_get_reset
      Src: /src/libgcrypt/mpi/ec.c:913,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec.c:917,1
    - Dst: scanval
      Src: /src/libgcrypt/mpi/ec.c:919,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/mpi/ec.c:920,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:923,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec.c:927,1
    - Dst: scanval
      Src: /src/libgcrypt/mpi/ec.c:928,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec.c:934,1
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/mpi/ec.c:935,1
    - Dst: _gcry_mpi_scan
      Src: /src/libgcrypt/mpi/ec.c:952,1
    - Dst: log_fatal
      Src: /src/libgcrypt/mpi/ec.c:955,1
    - Dst: gpg_strerror
      Src: /src/libgcrypt/mpi/ec.c:956,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/mpi/ec.c:964,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/ec.c:980,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/ec.c:986,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec.c:990,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 7
    argNames:
    - ctx
    - model
    - dialect
    - flags
    - p
    - a
    - b
    argTypes:
    - mpi_ec_t
    - enum gcry_mpi_ec_models
    - enum ecc_dialects
    - int
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 884
    functionDepth: 4
    functionLinenumber: 884
    functionLinenumberEnd: 1011
    functionName: ec_p_init
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - mpi_free
    - mpi_cmp
    - mpi_resize
    - getenv
    - _gcry_mpi_ec_get_reset
    - DIM
    - log_fatal
    - _gcry_mpi_barrett_init
    - scanval
    - mpi_alloc_like
    - gpg_strerror
    - mpi_copy
    - _gcry_mpi_scan
    - mpi_get_nbits
    linkageType: ''
    returnType: void
    signature: "void ec_p_init (mpi_ec_t ctx, enum gcry_mpi_ec_models model,\n           enum
      ecc_dialects dialect,\n           int flags,\n           gcry_mpi_t p, gcry_mpi_t
      a, gcry_mpi_t b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_barrett_free
      Src: /src/libgcrypt/mpi/ec.c:1020,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:1023,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:1024,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:1025,1
    - Dst: _gcry_mpi_point_release
      Src: /src/libgcrypt/mpi/ec.c:1026,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:1027,1
    - Dst: _gcry_mpi_point_release
      Src: /src/libgcrypt/mpi/ec.c:1030,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:1031,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:1034,1
    - Dst: DIM
      Src: /src/libgcrypt/mpi/ec.c:1036,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:1037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1014
    functionDepth: 2
    functionLinenumber: 1014
    functionLinenumberEnd: 1051
    functionName: ec_deinit
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - DIM
    - _gcry_mpi_barrett_free
    - mpi_free
    - _gcry_mpi_point_release
    linkageType: ''
    returnType: void
    signature: void ec_deinit (void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcalloc
      Src: /src/libgcrypt/mpi/ec.c:1069,1
    - Dst: ec_p_init
      Src: /src/libgcrypt/mpi/ec.c:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - model
    - dialect
    - flags
    - p
    - a
    - b
    argTypes:
    - enum gcry_mpi_ec_models
    - enum ecc_dialects
    - int
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1061
    functionDepth: 5
    functionLinenumber: 1061
    functionLinenumberEnd: 1073
    functionName: _gcry_mpi_ec_p_internal_new
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 1
    functionsReached:
    - ec_p_init
    - xcalloc
    linkageType: ''
    returnType: mpi_ec_t
    signature: "mpi_ec_t _gcry_mpi_ec_p_internal_new (enum gcry_mpi_ec_models model,\n
      \                            enum ecc_dialects dialect,\n                             int
      flags,\n                             gcry_mpi_t p, gcry_mpi_t a, gcry_mpi_t
      b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctx_alloc
      Src: /src/libgcrypt/mpi/ec.c:1097,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgcrypt/mpi/ec.c:1099,1
    - Dst: _gcry_ctx_get_pointer
      Src: /src/libgcrypt/mpi/ec.c:1100,1
    - Dst: ec_p_init
      Src: /src/libgcrypt/mpi/ec.c:1101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - r_ctx
    - model
    - dialect
    - flags
    - p
    - a
    - b
    argTypes:
    - gcry_ctx_t*
    - enum gcry_mpi_ec_models
    - enum ecc_dialects
    - int
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1083
    functionDepth: 5
    functionLinenumber: 1083
    functionLinenumberEnd: 1105
    functionName: _gcry_mpi_ec_p_new
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 1
    functionsReached:
    - _gcry_ctx_alloc
    - ec_p_init
    - gpg_err_code_from_syserror
    - _gcry_ctx_get_pointer
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_mpi_ec_p_new (gcry_ctx_t *r_ctx,\n                    enum
      gcry_mpi_ec_models model,\n                    enum ecc_dialects dialect,\n
      \                   int flags,\n                    gcry_mpi_t p, gcry_mpi_t
      a, gcry_mpi_t b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ec_deinit
      Src: /src/libgcrypt/mpi/ec.c:1113,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/ec.c:1114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1108
    functionDepth: 3
    functionLinenumber: 1108
    functionLinenumberEnd: 1116
    functionName: _gcry_mpi_ec_free
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 10
    functionsReached:
    - ec_deinit
    - xfree
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_ec_free (mpi_ec_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctx_get_pointer
      Src: /src/libgcrypt/mpi/ec.c:1122,1
    - Dst: _gcry_ecc_get_mpi
      Src: /src/libgcrypt/mpi/ec.c:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - ctx
    - copy
    argTypes:
    - char*
    - gcry_ctx_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1119
    functionDepth: 6
    functionLinenumber: 1119
    functionLinenumberEnd: 1125
    functionName: _gcry_mpi_ec_get_mpi
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 1
    functionsReached:
    - _gcry_ecc_get_mpi
    - _gcry_ctx_get_pointer
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t _gcry_mpi_ec_get_mpi (const char *name, gcry_ctx_t ctx,
      int copy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctx_get_pointer
      Src: /src/libgcrypt/mpi/ec.c:1131,1
    - Dst: _gcry_ecc_get_point
      Src: /src/libgcrypt/mpi/ec.c:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - name
    - ctx
    - copy
    argTypes:
    - char*
    - gcry_ctx_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1128
    functionDepth: 3
    functionLinenumber: 1128
    functionLinenumberEnd: 1136
    functionName: _gcry_mpi_ec_get_point
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 1
    functionsReached:
    - _gcry_ecc_get_point
    - _gcry_ctx_get_pointer
    linkageType: ''
    returnType: gcry_mpi_point_t
    signature: gcry_mpi_point_t _gcry_mpi_ec_get_point (const char *name, gcry_ctx_t
      ctx, int copy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctx_get_pointer
      Src: /src/libgcrypt/mpi/ec.c:1143,1
    - Dst: _gcry_ecc_set_mpi
      Src: /src/libgcrypt/mpi/ec.c:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - newvalue
    - ctx
    argTypes:
    - char*
    - gcry_mpi_t
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1139
    functionDepth: 3
    functionLinenumber: 1139
    functionLinenumberEnd: 1146
    functionName: _gcry_mpi_ec_set_mpi
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 1
    functionsReached:
    - _gcry_ecc_set_mpi
    - _gcry_ctx_get_pointer
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_mpi_ec_set_mpi (const char *name, gcry_mpi_t
      newvalue,\n                      gcry_ctx_t ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ctx_get_pointer
      Src: /src/libgcrypt/mpi/ec.c:1153,1
    - Dst: _gcry_ecc_set_point
      Src: /src/libgcrypt/mpi/ec.c:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - newvalue
    - ctx
    argTypes:
    - char*
    - gcry_mpi_point_t
    - gcry_ctx_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1149
    functionDepth: 3
    functionLinenumber: 1149
    functionLinenumberEnd: 1156
    functionName: _gcry_mpi_ec_set_point
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 1
    functionsReached:
    - _gcry_ecc_set_point
    - _gcry_ctx_get_pointer
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gcry_mpi_ec_set_point (const char *name, gcry_mpi_point_t
      newvalue,\n                        gcry_ctx_t ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_ecc_eddsa_decodepoint
      Src: /src/libgcrypt/mpi/ec.c:1173,1
    - Dst: _gcry_ecc_mont_decodepoint
      Src: /src/libgcrypt/mpi/ec.c:1175,1
    - Dst: _gcry_ecc_sec_decodepoint
      Src: /src/libgcrypt/mpi/ec.c:1177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - result
    - value
    - ec
    argTypes:
    - mpi_point_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1164
    functionDepth: 4
    functionLinenumber: 1164
    functionLinenumberEnd: 1180
    functionName: _gcry_mpi_ec_decode_point
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 3
    functionsReached:
    - _gcry_ecc_sec_decodepoint
    - _gcry_ecc_mont_decodepoint
    - _gcry_ecc_eddsa_decodepoint
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gcry_mpi_ec_decode_point (mpi_point_t result, gcry_mpi_t
      value, mpi_ec_t ec)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/ec.c:1191,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/ec.c:1201,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:1204,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:1206,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec.c:1214,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec.c:1215,1
    - Dst: ec_invm
      Src: /src/libgcrypt/mpi/ec.c:1216,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1217,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:1221,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/ec.c:1222,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1224,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:1229,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/ec.c:1230,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec.c:1232,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1233,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1234,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:1235,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:1240,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:1241,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:1248,1
    - Dst: log_fatal
      Src: /src/libgcrypt/mpi/ec.c:1252,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/ec.c:1263,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:1267,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/ec.c:1268,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:1273,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/ec.c:1274,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec.c:1280,1
    - Dst: ec_invm
      Src: /src/libgcrypt/mpi/ec.c:1281,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/ec.c:1283,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/ec.c:1288,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1290,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/ec.c:1294,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1296,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/mpi/ec.c:1299,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 81
    argCount: 4
    argNames:
    - x
    - y
    - point
    - ctx
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1187
    functionDepth: 3
    functionLinenumber: 1187
    functionLinenumberEnd: 1306
    functionName: _gcry_mpi_ec_get_affine
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 20
    functionsReached:
    - ec_mulm_lli
    - mpi_ec_t::mulm
    - mpi_free
    - mpi_set
    - _gcry_mpi_release
    - mpi_resize
    - log_fatal
    - mpi_cmp_ui
    - mpi_new
    - ec_invm
    linkageType: ''
    returnType: int
    signature: "int _gcry_mpi_ec_get_affine (gcry_mpi_t x, gcry_mpi_t y, mpi_point_t
      point,\n                         mpi_ec_t ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/ec.c:1324,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/ec.c:1324,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:1327,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:1328,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:1329,1
    - Dst: ec_get_a_is_pminus3
      Src: /src/libgcrypt/mpi/ec.c:1333,1
    - Dst: ec_pow2
      Src: /src/libgcrypt/mpi/ec.c:1338,1
    - Dst: ec_subm
      Src: /src/libgcrypt/mpi/ec.c:1339,1
    - Dst: ec_addm
      Src: /src/libgcrypt/mpi/ec.c:1340,1
    - Dst: ec_addm
      Src: /src/libgcrypt/mpi/ec.c:1341,1
    - Dst: ec_addm
      Src: /src/libgcrypt/mpi/ec.c:1342,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:1343,1
    - Dst: ec_pow2
      Src: /src/libgcrypt/mpi/ec.c:1349,1
    - Dst: ec_addm
      Src: /src/libgcrypt/mpi/ec.c:1350,1
    - Dst: ec_addm
      Src: /src/libgcrypt/mpi/ec.c:1351,1
    - Dst: ec_pow2
      Src: /src/libgcrypt/mpi/ec.c:1352,1
    - Dst: ec_pow2
      Src: /src/libgcrypt/mpi/ec.c:1353,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:1354,1
    - Dst: ec_addm
      Src: /src/libgcrypt/mpi/ec.c:1355,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:1358,1
    - Dst: ec_mul2
      Src: /src/libgcrypt/mpi/ec.c:1359,1
    - Dst: ec_pow2
      Src: /src/libgcrypt/mpi/ec.c:1363,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:1364,1
    - Dst: ec_addm
      Src: /src/libgcrypt/mpi/ec.c:1365,1
    - Dst: ec_addm
      Src: /src/libgcrypt/mpi/ec.c:1366,1
    - Dst: ec_pow2
      Src: /src/libgcrypt/mpi/ec.c:1370,1
    - Dst: ec_mul2
      Src: /src/libgcrypt/mpi/ec.c:1371,1
    - Dst: ec_subm
      Src: /src/libgcrypt/mpi/ec.c:1372,1
    - Dst: ec_pow2
      Src: /src/libgcrypt/mpi/ec.c:1376,1
    - Dst: ec_addm
      Src: /src/libgcrypt/mpi/ec.c:1377,1
    - Dst: ec_addm
      Src: /src/libgcrypt/mpi/ec.c:1378,1
    - Dst: ec_addm
      Src: /src/libgcrypt/mpi/ec.c:1379,1
    - Dst: ec_subm
      Src: /src/libgcrypt/mpi/ec.c:1382,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:1383,1
    - Dst: ec_subm
      Src: /src/libgcrypt/mpi/ec.c:1384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 3
    argNames:
    - result
    - point
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1311
    functionDepth: 2
    functionLinenumber: 1311
    functionLinenumberEnd: 1396
    functionName: dup_point_weierstrass
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - ec_get_a_is_pminus3
    - ec_addm
    - mpi_cmp_ui
    - ec_mul2
    - ec_mulm
    - mpi_set_ui
    - ec_subm
    - ec_pow2
    linkageType: ''
    returnType: void
    signature: void dup_point_weierstrass (mpi_point_t result, mpi_point_t point,
      mpi_ec_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ec_get_a_is_pminus3
      Src: /src/libgcrypt/mpi/ec.c:1413,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1418,1
    - Dst: ec_subm_lli
      Src: /src/libgcrypt/mpi/ec.c:1419,1
    - Dst: ec_addm_lli
      Src: /src/libgcrypt/mpi/ec.c:1420,1
    - Dst: ec_addm_lli
      Src: /src/libgcrypt/mpi/ec.c:1421,1
    - Dst: ec_addm_lli
      Src: /src/libgcrypt/mpi/ec.c:1422,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1423,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1429,1
    - Dst: ec_addm_lli
      Src: /src/libgcrypt/mpi/ec.c:1430,1
    - Dst: ec_addm_lli
      Src: /src/libgcrypt/mpi/ec.c:1431,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1432,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1433,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1434,1
    - Dst: ec_addm_lli
      Src: /src/libgcrypt/mpi/ec.c:1435,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1438,1
    - Dst: ec_addm_lli
      Src: /src/libgcrypt/mpi/ec.c:1439,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1443,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1444,1
    - Dst: ec_addm_lli
      Src: /src/libgcrypt/mpi/ec.c:1445,1
    - Dst: ec_addm_lli
      Src: /src/libgcrypt/mpi/ec.c:1446,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1450,1
    - Dst: ec_addm_lli
      Src: /src/libgcrypt/mpi/ec.c:1451,1
    - Dst: ec_subm_lli
      Src: /src/libgcrypt/mpi/ec.c:1452,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1456,1
    - Dst: ec_addm_lli
      Src: /src/libgcrypt/mpi/ec.c:1457,1
    - Dst: ec_addm_lli
      Src: /src/libgcrypt/mpi/ec.c:1458,1
    - Dst: ec_addm_lli
      Src: /src/libgcrypt/mpi/ec.c:1459,1
    - Dst: ec_subm_lli
      Src: /src/libgcrypt/mpi/ec.c:1462,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1463,1
    - Dst: ec_subm_lli
      Src: /src/libgcrypt/mpi/ec.c:1464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 3
    argNames:
    - result
    - point
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1400
    functionDepth: 5
    functionLinenumber: 1400
    functionLinenumberEnd: 1475
    functionName: dup_point_weierstrass_lli
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - ec_mulm_lli
    - ec_get_a_is_pminus3
    - ec_subm_lli
    - ec_addm_lli
    linkageType: ''
    returnType: void
    signature: void dup_point_weierstrass_lli (mpi_point_t result, mpi_point_t point,
      mpi_ec_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_fatal
      Src: /src/libgcrypt/mpi/ec.c:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - result
    - point
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1479
    functionDepth: 2
    functionLinenumber: 1479
    functionLinenumberEnd: 1487
    functionName: dup_point_montgomery
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - log_fatal
    linkageType: ''
    returnType: void
    signature: void dup_point_montgomery (mpi_point_t result, mpi_point_t point, mpi_ec_t
      ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_ec_t::addm
      Src: /src/libgcrypt/mpi/ec.c:1511,1
    - Dst: mpi_ec_t::pow2
      Src: /src/libgcrypt/mpi/ec.c:1512,1
    - Dst: mpi_ec_t::pow2
      Src: /src/libgcrypt/mpi/ec.c:1516,1
    - Dst: mpi_ec_t::pow2
      Src: /src/libgcrypt/mpi/ec.c:1517,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:1521,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1523,1
    - Dst: mpi_ec_t::addm
      Src: /src/libgcrypt/mpi/ec.c:1526,1
    - Dst: mpi_ec_t::pow2
      Src: /src/libgcrypt/mpi/ec.c:1529,1
    - Dst: mpi_ec_t::mul2
      Src: /src/libgcrypt/mpi/ec.c:1532,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:1533,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:1536,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:1537,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1538,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:1541,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1542,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - result
    - point
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1560
    functionName: dup_point_edwards
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - mpi_ec_t::mulm
    - mpi_ec_t::addm
    - mpi_ec_t::pow2
    - mpi_ec_t::subm
    - mpi_ec_t::mul2
    linkageType: ''
    returnType: void
    signature: void dup_point_edwards (mpi_point_t result, mpi_point_t point, mpi_ec_t
      ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dup_point_weierstrass
      Src: /src/libgcrypt/mpi/ec.c:1570,1
    - Dst: dup_point_montgomery
      Src: /src/libgcrypt/mpi/ec.c:1573,1
    - Dst: dup_point_edwards
      Src: /src/libgcrypt/mpi/ec.c:1576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - result
    - point
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1564
    functionDepth: 3
    functionLinenumber: 1564
    functionLinenumberEnd: 1579
    functionName: _gcry_mpi_ec_dup_point
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 1
    functionsReached:
    - dup_point_edwards
    - dup_point_montgomery
    - dup_point_weierstrass
    linkageType: ''
    returnType: void
    signature: void _gcry_mpi_ec_dup_point (mpi_point_t result, mpi_point_t point,
      mpi_ec_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1610,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1611,1
    - Dst: ec_subm_lli
      Src: /src/libgcrypt/mpi/ec.c:1613,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1615,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1616,1
    - Dst: ec_subm_lli
      Src: /src/libgcrypt/mpi/ec.c:1618,1
    - Dst: ec_addm_lli
      Src: /src/libgcrypt/mpi/ec.c:1621,1
    - Dst: ec_addm_lli
      Src: /src/libgcrypt/mpi/ec.c:1623,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1625,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1627,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1628,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1629,1
    - Dst: ec_subm_lli
      Src: /src/libgcrypt/mpi/ec.c:1630,1
    - Dst: ec_addm_lli
      Src: /src/libgcrypt/mpi/ec.c:1632,1
    - Dst: ec_subm_lli
      Src: /src/libgcrypt/mpi/ec.c:1633,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1635,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1636,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1637,1
    - Dst: ec_subm_lli
      Src: /src/libgcrypt/mpi/ec.c:1638,1
    - Dst: ec_mulm_lli
      Src: /src/libgcrypt/mpi/ec.c:1639,1
    - Dst: ec_get_two_inv_p
      Src: /src/libgcrypt/mpi/ec.c:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 5
    argNames:
    - result
    - p1
    - x2
    - y2
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_point_t
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1587
    functionDepth: 5
    functionLinenumber: 1587
    functionLinenumberEnd: 1656
    functionName: add_points_weierstrass_a
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - ec_mulm_lli
    - ec_get_two_inv_p
    - ec_subm_lli
    - ec_addm_lli
    linkageType: ''
    returnType: void
    signature: "void add_points_weierstrass_a (mpi_point_t result,\n                          mpi_point_t
      p1,\n                          gcry_mpi_t x2, gcry_mpi_t y2,\n                          mpi_ec_t
      ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mpi_cmp
      Src: /src/libgcrypt/mpi/ec.c:1684,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/mpi/ec.c:1684,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/mpi/ec.c:1684,1
    - Dst: _gcry_mpi_ec_dup_point
      Src: /src/libgcrypt/mpi/ec.c:1687,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/ec.c:1689,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:1692,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:1693,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:1694,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/ec.c:1696,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:1699,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:1700,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:1701,1
    - Dst: ec_pow2
      Src: /src/libgcrypt/mpi/ec.c:1707,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:1708,1
    - Dst: ec_pow2
      Src: /src/libgcrypt/mpi/ec.c:1709,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:1710,1
    - Dst: ec_subm
      Src: /src/libgcrypt/mpi/ec.c:1712,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:1714,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:1715,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:1717,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:1718,1
    - Dst: ec_subm
      Src: /src/libgcrypt/mpi/ec.c:1720,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/ec.c:1722,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/ec.c:1724,1
    - Dst: _gcry_mpi_ec_dup_point
      Src: /src/libgcrypt/mpi/ec.c:1727,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:1732,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:1733,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:1734,1
    - Dst: ec_addm
      Src: /src/libgcrypt/mpi/ec.c:1740,1
    - Dst: ec_addm
      Src: /src/libgcrypt/mpi/ec.c:1742,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:1744,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:1745,1
    - Dst: ec_pow2
      Src: /src/libgcrypt/mpi/ec.c:1747,1
    - Dst: ec_pow2
      Src: /src/libgcrypt/mpi/ec.c:1748,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:1749,1
    - Dst: ec_subm
      Src: /src/libgcrypt/mpi/ec.c:1750,1
    - Dst: ec_mul2
      Src: /src/libgcrypt/mpi/ec.c:1752,1
    - Dst: ec_subm
      Src: /src/libgcrypt/mpi/ec.c:1753,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:1755,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:1756,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:1757,1
    - Dst: ec_subm
      Src: /src/libgcrypt/mpi/ec.c:1758,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:1759,1
    - Dst: ec_get_two_inv_p
      Src: /src/libgcrypt/mpi/ec.c:1759,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 4
    argNames:
    - result
    - p1
    - p2
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_point_t
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1660
    functionDepth: 4
    functionLinenumber: 1660
    functionLinenumberEnd: 1781
    functionName: add_points_weierstrass
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - mpi_set
    - mpi_cmp
    - ec_addm
    - mpi_cmp_ui
    - ec_mul2
    - ec_mulm
    - ec_get_two_inv_p
    - _gcry_mpi_ec_dup_point
    - mpi_set_ui
    - ec_subm
    - ec_pow2
    linkageType: ''
    returnType: void
    signature: "void add_points_weierstrass (mpi_point_t result,\n                        mpi_point_t
      p1, mpi_point_t p2,\n                        mpi_ec_t ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_fatal
      Src: /src/libgcrypt/mpi/ec.c:1794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - result
    - p1
    - p2
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_point_t
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1785
    functionDepth: 2
    functionLinenumber: 1785
    functionLinenumberEnd: 1796
    functionName: add_points_montgomery
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - log_fatal
    linkageType: ''
    returnType: void
    signature: "void add_points_montgomery (mpi_point_t result,\n                       mpi_point_t
      p1, mpi_point_t p2,\n                       mpi_ec_t ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/mpi/ec.c:1823,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1828,1
    - Dst: mpi_ec_t::pow2
      Src: /src/libgcrypt/mpi/ec.c:1831,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1834,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1837,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1840,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1841,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:1844,1
    - Dst: mpi_ec_t::addm
      Src: /src/libgcrypt/mpi/ec.c:1847,1
    - Dst: mpi_ec_t::addm
      Src: /src/libgcrypt/mpi/ec.c:1850,1
    - Dst: mpi_ec_t::addm
      Src: /src/libgcrypt/mpi/ec.c:1851,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1852,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:1853,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:1854,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1855,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1856,1
    - Dst: mpi_ec_t::addm
      Src: /src/libgcrypt/mpi/ec.c:1861,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1865,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:1866,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1868,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1869,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - result
    - p1
    - p2
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_point_t
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1800
    functionDepth: 1
    functionLinenumber: 1800
    functionLinenumberEnd: 1892
    functionName: add_points_edwards
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - mpi_ec_t::mulm
    - mpi_ec_t::addm
    - mpi_ec_t::pow2
    - mpi_ec_t::subm
    - mpi_point_resize
    linkageType: ''
    returnType: void
    signature: "void add_points_edwards (mpi_point_t result,\n                    mpi_point_t
      p1, mpi_point_t p2,\n                    mpi_ec_t ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/mpi/ec.c:1920,1
    - Dst: mpi_ec_t::pow2
      Src: /src/libgcrypt/mpi/ec.c:1925,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1928,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1931,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1934,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1935,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:1938,1
    - Dst: mpi_ec_t::addm
      Src: /src/libgcrypt/mpi/ec.c:1941,1
    - Dst: mpi_ec_t::addm
      Src: /src/libgcrypt/mpi/ec.c:1944,1
    - Dst: mpi_ec_t::addm
      Src: /src/libgcrypt/mpi/ec.c:1945,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1946,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:1947,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:1948,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1949,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1950,1
    - Dst: mpi_ec_t::addm
      Src: /src/libgcrypt/mpi/ec.c:1955,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1959,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:1960,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1962,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1963,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:1966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 5
    argNames:
    - result
    - p1
    - x2
    - y2
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_point_t
    - gcry_mpi_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1898
    functionDepth: 1
    functionLinenumber: 1898
    functionLinenumberEnd: 1985
    functionName: add_points_edwards_a
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - mpi_ec_t::mulm
    - mpi_ec_t::addm
    - mpi_ec_t::pow2
    - mpi_ec_t::subm
    - mpi_point_resize
    linkageType: ''
    returnType: void
    signature: "void add_points_edwards_a (mpi_point_t result,\n                      mpi_point_t
      p1,\n                      gcry_mpi_t x2, gcry_mpi_t y2,\n                      mpi_ec_t
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_ec_t::addm
      Src: /src/libgcrypt/mpi/ec.c:1996,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:1997,1
    - Dst: mpi_ec_t::addm
      Src: /src/libgcrypt/mpi/ec.c:1998,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:1999,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:2000,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:2001,1
    - Dst: mpi_ec_t::pow2
      Src: /src/libgcrypt/mpi/ec.c:2002,1
    - Dst: mpi_ec_t::pow2
      Src: /src/libgcrypt/mpi/ec.c:2003,1
    - Dst: mpi_ec_t::addm
      Src: /src/libgcrypt/mpi/ec.c:2004,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:2005,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:2006,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:2007,1
    - Dst: mpi_ec_t::pow2
      Src: /src/libgcrypt/mpi/ec.c:2008,1
    - Dst: mpi_ec_t::pow2
      Src: /src/libgcrypt/mpi/ec.c:2009,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:2010,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:2011,1
    - Dst: mpi_ec_t::addm
      Src: /src/libgcrypt/mpi/ec.c:2012,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:2013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 6
    argNames:
    - prd
    - sum
    - p1
    - p2
    - dif_x
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_point_t
    - mpi_point_t
    - mpi_point_t
    - gcry_mpi_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 1991
    functionDepth: 0
    functionLinenumber: 1991
    functionLinenumberEnd: 2014
    functionName: montgomery_ladder
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - mpi_ec_t::pow2
    - mpi_ec_t::mulm
    - mpi_ec_t::addm
    - mpi_ec_t::subm
    linkageType: ''
    returnType: void
    signature: "void montgomery_ladder (mpi_point_t prd, mpi_point_t sum,\n                   mpi_point_t
      p1, mpi_point_t p2, gcry_mpi_t dif_x,\n                   mpi_ec_t ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: add_points_weierstrass
      Src: /src/libgcrypt/mpi/ec.c:2026,1
    - Dst: add_points_montgomery
      Src: /src/libgcrypt/mpi/ec.c:2029,1
    - Dst: add_points_edwards
      Src: /src/libgcrypt/mpi/ec.c:2032,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - result
    - p1
    - p2
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_point_t
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2018
    functionDepth: 5
    functionLinenumber: 2018
    functionLinenumberEnd: 2035
    functionName: _gcry_mpi_ec_add_points
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 5
    functionsReached:
    - add_points_weierstrass
    - add_points_edwards
    - add_points_montgomery
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpi_ec_add_points (mpi_point_t result,\n                         mpi_point_t
      p1, mpi_point_t p2,\n                         mpi_ec_t ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_fatal
      Src: /src/libgcrypt/mpi/ec.c:2048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - result
    - p1
    - p2
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_point_t
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2039
    functionDepth: 2
    functionLinenumber: 2039
    functionLinenumberEnd: 2050
    functionName: sub_points_weierstrass
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - log_fatal
    linkageType: ''
    returnType: void
    signature: "void sub_points_weierstrass (mpi_point_t result,\n                        mpi_point_t
      p1, mpi_point_t p2,\n                        mpi_ec_t ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_fatal
      Src: /src/libgcrypt/mpi/ec.c:2063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - result
    - p1
    - p2
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_point_t
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2054
    functionDepth: 2
    functionLinenumber: 2054
    functionLinenumberEnd: 2065
    functionName: sub_points_montgomery
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - log_fatal
    linkageType: ''
    returnType: void
    signature: "void sub_points_montgomery (mpi_point_t result,\n                       mpi_point_t
      p1, mpi_point_t p2,\n                       mpi_ec_t ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_mpi_point_new
      Src: /src/libgcrypt/mpi/ec.c:2074,1
    - Dst: point_set
      Src: /src/libgcrypt/mpi/ec.c:2075,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:2076,1
    - Dst: add_points_edwards
      Src: /src/libgcrypt/mpi/ec.c:2077,1
    - Dst: _gcry_mpi_point_release
      Src: /src/libgcrypt/mpi/ec.c:2078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - result
    - p1
    - p2
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_point_t
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 2069
    functionDepth: 2
    functionLinenumber: 2069
    functionLinenumberEnd: 2079
    functionName: sub_points_edwards
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - _gcry_mpi_point_release
    - _gcry_mpi_point_new
    - add_points_edwards
    - mpi_ec_t::subm
    - point_set
    linkageType: ''
    returnType: void
    signature: "void sub_points_edwards (mpi_point_t result,\n                    mpi_point_t
      p1, mpi_point_t p2,\n                    mpi_ec_t ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sub_points_weierstrass
      Src: /src/libgcrypt/mpi/ec.c:2091,1
    - Dst: sub_points_montgomery
      Src: /src/libgcrypt/mpi/ec.c:2094,1
    - Dst: sub_points_edwards
      Src: /src/libgcrypt/mpi/ec.c:2097,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - result
    - p1
    - p2
    - ctx
    argTypes:
    - mpi_point_t
    - mpi_point_t
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2083
    functionDepth: 3
    functionLinenumber: 2083
    functionLinenumberEnd: 2100
    functionName: _gcry_mpi_ec_sub_points
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 1
    functionsReached:
    - sub_points_weierstrass
    - sub_points_montgomery
    - sub_points_edwards
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpi_ec_sub_points (mpi_point_t result,\n                         mpi_point_t
      p1, mpi_point_t p2,\n                         mpi_ec_t ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/mpi/ec.c:2121,1
    - Dst: point_init
      Src: /src/libgcrypt/mpi/ec.c:2122,1
    - Dst: point_init
      Src: /src/libgcrypt/mpi/ec.c:2123,1
    - Dst: point_init
      Src: /src/libgcrypt/mpi/ec.c:2124,1
    - Dst: point_init
      Src: /src/libgcrypt/mpi/ec.c:2125,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:2126,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:2127,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/ec.c:2128,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:2129,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/mpi/ec.c:2131,1
    - Dst: _gcry_mpi_get_opaque_copy
      Src: /src/libgcrypt/mpi/ec.c:2140,1
    - Dst: log_fatal
      Src: /src/libgcrypt/mpi/ec.c:2142,1
    - Dst: reverse_buffer
      Src: /src/libgcrypt/mpi/ec.c:2145,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/ec.c:2150,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/mpi/ec.c:2150,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec.c:2150,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/mpi/ec.c:2151,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/ec.c:2152,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/mpi/ec.c:2157,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/mpi/ec.c:2158,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/mpi/ec.c:2159,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/mpi/ec.c:2160,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/ec.c:2162,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/ec.c:2174,1
    - Dst: point_swap_cond
      Src: /src/libgcrypt/mpi/ec.c:2175,1
    - Dst: montgomery_ladder
      Src: /src/libgcrypt/mpi/ec.c:2176,1
    - Dst: point_swap_cond
      Src: /src/libgcrypt/mpi/ec.c:2177,1
    - Dst: mpi_clear
      Src: /src/libgcrypt/mpi/ec.c:2182,1
    - Dst: point_swap_cond
      Src: /src/libgcrypt/mpi/ec.c:2184,1
    - Dst: MPN_NORMALIZE
      Src: /src/libgcrypt/mpi/ec.c:2187,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:2190,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:2191,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec.c:2195,1
    - Dst: ec_invm
      Src: /src/libgcrypt/mpi/ec.c:2196,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:2197,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:2198,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:2199,1
    - Dst: point_free
      Src: /src/libgcrypt/mpi/ec.c:2202,1
    - Dst: point_free
      Src: /src/libgcrypt/mpi/ec.c:2203,1
    - Dst: point_free
      Src: /src/libgcrypt/mpi/ec.c:2204,1
    - Dst: point_free
      Src: /src/libgcrypt/mpi/ec.c:2205,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/mpi/ec.c:2207,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 68
    argCount: 4
    argNames:
    - result
    - scalar
    - point
    - ctx
    argTypes:
    - mpi_point_t
    - gcry_mpi_t
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2208
      start: 2106
    functionDepth: 4
    functionLinenumber: 2106
    functionLinenumberEnd: 2208
    functionName: montgomery_mul_point
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - mpi_clear
    - mpi_free
    - mpi_is_secure
    - point_init
    - ec_mulm
    - ec_invm
    - mpi_copy
    - _gcry_mpi_get_opaque_copy
    - mpi_test_bit
    - montgomery_ladder
    - point_swap_cond
    - mpi_point_resize
    - point_free
    - mpi_resize
    - reverse_buffer
    - mpi_snew
    - mpi_new
    - xfree
    - _gcry_mpi_set_buffer
    - mpi_get_nbits
    - _gcry_mpi_release
    - MPN_NORMALIZE
    - log_fatal
    - mpi_set_ui
    - mpi_is_opaque
    linkageType: ''
    returnType: void
    signature: "void montgomery_mul_point (mpi_point_t result,\n                      gcry_mpi_t
      scalar, mpi_point_t point,\n                      mpi_ec_t ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/mpi/ec.c:2223,1
    - Dst: point_init
      Src: /src/libgcrypt/mpi/ec.c:2227,1
    - Dst: _gcry_mpih_cmp_ui
      Src: /src/libgcrypt/mpi/ec.c:2228,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec.c:2232,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec.c:2233,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/mpi/ec.c:2235,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:2237,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:2238,1
    - Dst: point_free
      Src: /src/libgcrypt/mpi/ec.c:2239,1
    - Dst: point_set
      Src: /src/libgcrypt/mpi/ec.c:2240,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:2244,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:2245,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:2246,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:2247,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:2248,1
    - Dst: point_set
      Src: /src/libgcrypt/mpi/ec.c:2251,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/mpi/ec.c:2253,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/mpi/ec.c:2255,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:2261,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:2262,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:2263,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:2267,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:2268,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:2269,1
    - Dst: point_init
      Src: /src/libgcrypt/mpi/ec.c:2272,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/mpi/ec.c:2273,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/mpi/ec.c:2274,1
    - Dst: dup_point_weierstrass_lli
      Src: /src/libgcrypt/mpi/ec.c:2281,1
    - Dst: _gcry_mpih_cmp_ui
      Src: /src/libgcrypt/mpi/ec.c:2282,1
    - Dst: add_points_weierstrass_a
      Src: /src/libgcrypt/mpi/ec.c:2283,1
    - Dst: mpih_set_cond
      Src: /src/libgcrypt/mpi/ec.c:2286,1
    - Dst: mpih_set_cond
      Src: /src/libgcrypt/mpi/ec.c:2287,1
    - Dst: mpih_set_cond
      Src: /src/libgcrypt/mpi/ec.c:2288,1
    - Dst: point_tfr
      Src: /src/libgcrypt/mpi/ec.c:2289,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/ec.c:2289,1
    - Dst: dup_point_edwards
      Src: /src/libgcrypt/mpi/ec.c:2296,1
    - Dst: add_points_edwards_a
      Src: /src/libgcrypt/mpi/ec.c:2297,1
    - Dst: point_tfr
      Src: /src/libgcrypt/mpi/ec.c:2298,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/ec.c:2298,1
    - Dst: point_free
      Src: /src/libgcrypt/mpi/ec.c:2301,1
    - Dst: point_free
      Src: /src/libgcrypt/mpi/ec.c:2302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 4
    argNames:
    - result
    - scalar
    - point1
    - ctx
    argTypes:
    - mpi_point_t
    - gcry_mpi_t
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2303
      start: 2212
    functionDepth: 6
    functionLinenumber: 2212
    functionLinenumberEnd: 2303
    functionName: mpi_ec_mul_point_lli
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 0
    functionsReached:
    - point_free
    - dup_point_edwards
    - mpi_free
    - mpi_set
    - point_tfr
    - add_points_weierstrass_a
    - point_init
    - mpi_new
    - dup_point_weierstrass_lli
    - mpih_set_cond
    - _gcry_mpi_ec_get_affine
    - mpi_test_bit
    - point_set
    - mpi_set_ui
    - add_points_edwards_a
    - _gcry_mpih_cmp_ui
    - mpi_point_resize
    - mpi_get_nbits
    linkageType: ''
    returnType: void
    signature: "void mpi_ec_mul_point_lli (mpi_point_t result,\n                      gcry_mpi_t
      scalar, mpi_point_t point1,\n                      mpi_ec_t ctx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mpi_ec_hw_mul_point
      Src: /src/libgcrypt/mpi/ec.c:2321,1
    - Dst: montgomery_mul_point
      Src: /src/libgcrypt/mpi/ec.c:2328,1
    - Dst: mpi_ec_mul_point_lli
      Src: /src/libgcrypt/mpi/ec.c:2333,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/ec.c:2336,1
    - Dst: mpi_ec_mul_point_lli
      Src: /src/libgcrypt/mpi/ec.c:2339,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/mpi/ec.c:2346,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:2348,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:2349,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:2350,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/mpi/ec.c:2352,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/mpi/ec.c:2353,1
    - Dst: _gcry_mpi_ec_dup_point
      Src: /src/libgcrypt/mpi/ec.c:2363,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/ec.c:2364,1
    - Dst: _gcry_mpi_ec_add_points
      Src: /src/libgcrypt/mpi/ec.c:2365,1
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/mpi/ec.c:2372,1
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/mpi/ec.c:2373,1
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/mpi/ec.c:2374,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/ec.c:2375,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/ec.c:2376,1
    - Dst: mpi_has_sign
      Src: /src/libgcrypt/mpi/ec.c:2378,1
    - Dst: ec_invm
      Src: /src/libgcrypt/mpi/ec.c:2381,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/ec.c:2384,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:2386,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:2387,1
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/mpi/ec.c:2393,1
    - Dst: mpi_alloc_like
      Src: /src/libgcrypt/mpi/ec.c:2394,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:2395,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:2396,1
    - Dst: ec_invm
      Src: /src/libgcrypt/mpi/ec.c:2397,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:2398,1
    - Dst: ec_invm
      Src: /src/libgcrypt/mpi/ec.c:2399,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:2400,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:2401,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:2402,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec.c:2404,1
    - Dst: mpi_mul_ui
      Src: /src/libgcrypt/mpi/ec.c:2406,1
    - Dst: mpi_get_nbits
      Src: /src/libgcrypt/mpi/ec.c:2407,1
    - Dst: mpi_clear
      Src: /src/libgcrypt/mpi/ec.c:2414,1
    - Dst: mpi_clear
      Src: /src/libgcrypt/mpi/ec.c:2415,1
    - Dst: mpi_clear
      Src: /src/libgcrypt/mpi/ec.c:2416,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:2420,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:2421,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/ec.c:2422,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:2424,1
    - Dst: point_init
      Src: /src/libgcrypt/mpi/ec.c:2429,1
    - Dst: point_init
      Src: /src/libgcrypt/mpi/ec.c:2430,1
    - Dst: point_set
      Src: /src/libgcrypt/mpi/ec.c:2433,1
    - Dst: ec_subm
      Src: /src/libgcrypt/mpi/ec.c:2434,1
    - Dst: _gcry_mpi_ec_dup_point
      Src: /src/libgcrypt/mpi/ec.c:2438,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/ec.c:2439,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/ec.c:2439,1
    - Dst: point_set
      Src: /src/libgcrypt/mpi/ec.c:2441,1
    - Dst: _gcry_mpi_ec_add_points
      Src: /src/libgcrypt/mpi/ec.c:2442,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/ec.c:2444,1
    - Dst: mpi_test_bit
      Src: /src/libgcrypt/mpi/ec.c:2444,1
    - Dst: point_set
      Src: /src/libgcrypt/mpi/ec.c:2446,1
    - Dst: _gcry_mpi_ec_add_points
      Src: /src/libgcrypt/mpi/ec.c:2447,1
    - Dst: point_free
      Src: /src/libgcrypt/mpi/ec.c:2451,1
    - Dst: point_free
      Src: /src/libgcrypt/mpi/ec.c:2452,1
    - Dst: point_free
      Src: /src/libgcrypt/mpi/ec.c:2453,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:2454,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/ec.c:2455,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 96
    argCount: 4
    argNames:
    - result
    - scalar
    - point
    - ctx
    argTypes:
    - mpi_point_t
    - gcry_mpi_t
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2456
      start: 2309
    functionDepth: 7
    functionLinenumber: 2309
    functionLinenumberEnd: 2456
    functionName: _gcry_mpi_ec_mul_point
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 20
    functionsReached:
    - _gcry_mpi_ec_add_points
    - mpi_clear
    - mpi_free
    - mpi_set
    - mpi_is_secure
    - point_init
    - ec_mulm
    - _gcry_mpi_ec_dup_point
    - mpi_mul_ui
    - ec_invm
    - mpi_copy
    - montgomery_mul_point
    - mpi_cmp_ui
    - mpi_alloc_like
    - mpi_test_bit
    - point_set
    - mpi_point_resize
    - point_free
    - mpi_has_sign
    - ec_subm
    - mpi_ec_mul_point_lli
    - mpi_get_nbits
    - mpi_ec_hw_mul_point
    - mpi_set_ui
    linkageType: ''
    returnType: void
    signature: "void _gcry_mpi_ec_mul_point (mpi_point_t result,\n                        gcry_mpi_t
      scalar, mpi_point_t point,\n                        mpi_ec_t ctx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec.c:2466,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec.c:2467,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec.c:2468,1
    - Dst: mpi_cmpabs
      Src: /src/libgcrypt/mpi/ec.c:2472,1
    - Dst: mpi_cmpabs
      Src: /src/libgcrypt/mpi/ec.c:2474,1
    - Dst: mpi_cmpabs
      Src: /src/libgcrypt/mpi/ec.c:2476,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/mpi/ec.c:2485,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec.c:2488,1
    - Dst: ec_pow2
      Src: /src/libgcrypt/mpi/ec.c:2491,1
    - Dst: ec_pow2
      Src: /src/libgcrypt/mpi/ec.c:2493,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:2494,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:2495,1
    - Dst: ec_addm
      Src: /src/libgcrypt/mpi/ec.c:2496,1
    - Dst: ec_addm
      Src: /src/libgcrypt/mpi/ec.c:2497,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/mpi/ec.c:2499,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/mpi/ec.c:2502,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/mpi/ec.c:2509,1
    - Dst: mpi_mul_ui
      Src: /src/libgcrypt/mpi/ec.c:2516,1
    - Dst: mpi_add_ui
      Src: /src/libgcrypt/mpi/ec.c:2517,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:2518,1
    - Dst: ec_pow2
      Src: /src/libgcrypt/mpi/ec.c:2519,1
    - Dst: ec_addm
      Src: /src/libgcrypt/mpi/ec.c:2520,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:2521,1
    - Dst: ec_addm
      Src: /src/libgcrypt/mpi/ec.c:2522,1
    - Dst: ec_mulm
      Src: /src/libgcrypt/mpi/ec.c:2523,1
    - Dst: mpi_rshift
      Src: /src/libgcrypt/mpi/ec.c:2527,1
    - Dst: ec_powm
      Src: /src/libgcrypt/mpi/ec.c:2528,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/ec.c:2530,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/mpi/ec.c:2536,1
    - Dst: mpi_resize
      Src: /src/libgcrypt/mpi/ec.c:2539,1
    - Dst: mpi_ec_t::pow2
      Src: /src/libgcrypt/mpi/ec.c:2543,1
    - Dst: mpi_ec_t::pow2
      Src: /src/libgcrypt/mpi/ec.c:2544,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:2546,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:2548,1
    - Dst: mpi_ec_t::addm
      Src: /src/libgcrypt/mpi/ec.c:2549,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:2550,1
    - Dst: mpi_ec_t::mulm
      Src: /src/libgcrypt/mpi/ec.c:2551,1
    - Dst: mpi_ec_t::subm
      Src: /src/libgcrypt/mpi/ec.c:2552,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/ec.c:2553,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/mpi/ec.c:2560,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/mpi/ec.c:2561,1
    - Dst: _gcry_mpi_release
      Src: /src/libgcrypt/mpi/ec.c:2562,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 2
    argNames:
    - point
    - ctx
    argTypes:
    - gcry_mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2460
    functionDepth: 4
    functionLinenumber: 2460
    functionLinenumberEnd: 2565
    functionName: _gcry_mpi_ec_curve_point
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 9
    functionsReached:
    - mpi_rshift
    - mpi_mul_ui
    - mpi_ec_t::mulm
    - mpi_ec_t::addm
    - _gcry_mpi_release
    - mpi_cmpabs
    - mpi_cmp
    - mpi_resize
    - ec_addm
    - mpi_ec_t::pow2
    - mpi_cmp_ui
    - mpi_new
    - ec_mulm
    - mpi_ec_t::subm
    - _gcry_mpi_ec_get_affine
    - ec_pow2
    - mpi_add_ui
    - ec_powm
    linkageType: ''
    returnType: int
    signature: int _gcry_mpi_ec_curve_point (gcry_mpi_point_t point, mpi_ec_t ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpi_cmp
      Src: /src/libgcrypt/mpi/ec.c:2575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - point
    - ctx
    argTypes:
    - gcry_mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2568
    functionDepth: 0
    functionLinenumber: 2568
    functionLinenumberEnd: 2579
    functionName: _gcry_mpi_ec_bad_point
    functionSourceFile: /src/libgcrypt/mpi/ec.c
    functionUses: 2
    functionsReached:
    - mpi_cmp
    linkageType: ''
    returnType: int
    signature: int _gcry_mpi_ec_bad_point (gcry_mpi_point_t point, mpi_ec_t ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mpi_has_sign
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:54,1
    - Dst: mpi_get_flag
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:57,1
    - Dst: mpi_get_opaque
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:62,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:70,1
    - Dst: memcpy
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:72,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:83,1
    - Dst: buf_put_be64
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:87,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - raw
    - raw_nbytes
    - a
    argTypes:
    - byte*
    - unsigned int
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 91
    functionName: mpi_copy_to_raw
    functionSourceFile: /src/libgcrypt/mpi/ec-hw-s390x.c
    functionUses: 0
    functionsReached:
    - mpi_get_flag
    - mpi_has_sign
    - memset
    - buf_put_be64
    - mpi_get_opaque
    - memcpy
    linkageType: ''
    returnType: int
    signature: int mpi_copy_to_raw(byte *raw, unsigned int raw_nbytes, gcry_mpi_t
      a)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_get_hw_features
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:112,1
    - Dst: s390_mul_point_montgomery
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:116,1
    - Dst: strcmp
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:120,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:132,1
    - Dst: strcmp
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:143,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:155,1
    - Dst: strcmp
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:166,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:178,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:179,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:180,1
    - Dst: strcmp
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:191,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:203,1
    - Dst: strcmp
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:214,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:226,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:227,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:228,1
    - Dst: pcc_query
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:242,1
    - Dst: km_function_to_mask
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:242,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:245,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:246,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:248,1
    - Dst: mpi_has_sign
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:254,1
    - Dst: mpi_cmp
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:254,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:256,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:256,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:256,1
    - Dst: _gcry_mpi_mod
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:257,1
    - Dst: mpi_copy_to_raw
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:264,1
    - Dst: mpi_copy_to_raw
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:267,1
    - Dst: mpi_copy_to_raw
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:270,1
    - Dst: pcc_scalar_multiply
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:273,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:276,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:277,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:278,1
    - Dst: mpi_normalize
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:279,1
    - Dst: mpi_normalize
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:280,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:282,1
    - Dst: mpi_release
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:288,1
    - Dst: mpi_release
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:289,1
    - Dst: mpi_release
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:290,1
    - Dst: wipememory
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:291,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 105
    argCount: 4
    argNames:
    - result
    - scalar
    - point
    - ctx
    argTypes:
    - mpi_point_t
    - gcry_mpi_t
    - mpi_point_t
    - mpi_ec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 294
    functionName: _gcry_s390x_ec_hw_mul_point
    functionSourceFile: /src/libgcrypt/mpi/ec-hw-s390x.c
    functionUses: 0
    functionsReached:
    - _gcry_get_hw_features
    - mpi_is_secure
    - pcc_scalar_multiply
    - _gcry_mpi_mod
    - s390_mul_point_montgomery
    - mpi_cmp
    - wipememory
    - pcc_query
    - km_function_to_mask
    - _gcry_mpi_ec_get_affine
    - mpi_point_resize
    - mpi_normalize
    - mpi_has_sign
    - mpi_snew
    - mpi_new
    - strcmp
    - memset
    - mpi_copy_to_raw
    - _gcry_mpi_set_buffer
    - mpi_release
    - mpi_set_ui
    linkageType: ''
    returnType: int
    signature: "int _gcry_s390x_ec_hw_mul_point (mpi_point_t result, gcry_mpi_t scalar,\n\t\t\t
      \    mpi_point_t point, mpi_ec_t ctx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:311,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:321,1
    - Dst: strcmp
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:329,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:339,1
    - Dst: memset
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:340,1
    - Dst: pcc_query
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:352,1
    - Dst: km_function_to_mask
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:352,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:355,1
    - Dst: mpi_is_opaque
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:357,1
    - Dst: _gcry_mpi_get_opaque_copy
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:363,1
    - Dst: log_fatal
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:365,1
    - Dst: reverse_buffer
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:368,1
    - Dst: mpi_is_secure
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:373,1
    - Dst: mpi_snew
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:373,1
    - Dst: mpi_new
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:373,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:374,1
    - Dst: xfree
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:375,1
    - Dst: _gcry_mpi_ec_get_affine
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:382,1
    - Dst: mpi_copy_to_raw
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:388,1
    - Dst: mpi_copy_to_raw
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:391,1
    - Dst: pcc_scalar_multiply
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:394,1
    - Dst: _gcry_mpi_set_buffer
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:397,1
    - Dst: mpi_set_ui
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:398,1
    - Dst: mpi_point_resize
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:399,1
    - Dst: mpi_release
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:405,1
    - Dst: mpi_release
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:406,1
    - Dst: wipememory
      Src: /src/libgcrypt/mpi/ec-hw-s390x.c:407,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 5
    argNames:
    - result
    - scalar
    - point
    - ctx
    - param_block_buf
    argTypes:
    - mpi_point_t
    - gcry_mpi_t
    - mpi_point_t
    - mpi_ec_t
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 410
    functionName: s390_mul_point_montgomery
    functionSourceFile: /src/libgcrypt/mpi/ec-hw-s390x.c
    functionUses: 1
    functionsReached:
    - mpi_is_secure
    - pcc_scalar_multiply
    - _gcry_mpi_get_opaque_copy
    - wipememory
    - pcc_query
    - km_function_to_mask
    - _gcry_mpi_ec_get_affine
    - mpi_point_resize
    - reverse_buffer
    - mpi_snew
    - mpi_new
    - strcmp
    - memset
    - xfree
    - mpi_copy_to_raw
    - _gcry_mpi_set_buffer
    - mpi_release
    - log_fatal
    - mpi_set_ui
    - mpi_is_opaque
    linkageType: ''
    returnType: int
    signature: "int s390_mul_point_montgomery (mpi_point_t result, gcry_mpi_t scalar,\n\t\t\t
      \  mpi_point_t point, mpi_ec_t ctx,\n\t\t\t   byte *param_block_buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-gcd.c:35,1
    - Dst: mpi_copy
      Src: /src/libgcrypt/mpi/mpi-gcd.c:36,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/mpi-gcd.c:41,1
    - Dst: _gcry_mpi_fdiv_r
      Src: /src/libgcrypt/mpi/mpi-gcd.c:43,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-gcd.c:44,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-gcd.c:45,1
    - Dst: mpi_set
      Src: /src/libgcrypt/mpi/mpi-gcd.c:47,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-gcd.c:49,1
    - Dst: mpi_free
      Src: /src/libgcrypt/mpi/mpi-gcd.c:50,1
    - Dst: mpi_cmp_ui
      Src: /src/libgcrypt/mpi/mpi-gcd.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - g
    - xa
    - xb
    argTypes:
    - gcry_mpi_t
    - gcry_mpi_t
    - gcry_mpi_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 52
    functionName: _gcry_mpi_gcd
    functionSourceFile: /src/libgcrypt/mpi/mpi-gcd.c
    functionUses: 2
    functionsReached:
    - mpi_free
    - _gcry_mpi_fdiv_r
    - mpi_set
    - mpi_cmp_ui
    - mpi_copy
    linkageType: ''
    returnType: int
    signature: int _gcry_mpi_gcd (gcry_mpi_t g, gcry_mpi_t xa, gcry_mpi_t xb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/mpi/mpih-sub1.c:57,1
    - Dst: sub_ddmmss
      Src: /src/libgcrypt/mpi/mpih-sub1.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - res_ptr
    - s1_ptr
    - s2_ptr
    - size
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 66
    functionName: _gcry_mpih_sub_n
    functionSourceFile: /src/libgcrypt/mpi/mpih-sub1.c
    functionUses: 21
    functionsReached:
    - sub_ddmmss
    - add_ssaaaa
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_sub_n( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,\n\t\t\t\t
      \ mpi_ptr_t s2_ptr, mpi_size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - wp
    - up
    - usize
    - cnt
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 66
    functionName: _gcry_mpih_rshift
    functionSourceFile: /src/libgcrypt/mpi/mpih-rshift.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: mpi_limb_t
    signature: mpi_limb_t _gcry_mpih_rshift( mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t
      usize, unsigned cnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umul_ppmm
      Src: /src/libgcrypt/mpi/mpih-mul2.c:53,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/mpi/mpih-mul2.c:54,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/mpi/mpih-mul2.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - res_ptr
    - s1_ptr
    - s1_size
    - s2_limb
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 63
    functionName: _gcry_mpih_addmul_1
    functionSourceFile: /src/libgcrypt/mpi/mpih-mul2.c
    functionUses: 9
    functionsReached:
    - umul_ppmm
    - add_ssaaaa
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_addmul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,\n\t\t
      \ mpi_size_t s1_size, mpi_limb_t s2_limb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umul_ppmm
      Src: /src/libgcrypt/mpi/mpih-mul3.c:53,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/mpi/mpih-mul3.c:54,1
    - Dst: sub_ddmmss
      Src: /src/libgcrypt/mpi/mpih-mul3.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - res_ptr
    - s1_ptr
    - s1_size
    - s2_limb
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 64
    functionName: _gcry_mpih_submul_1
    functionSourceFile: /src/libgcrypt/mpi/mpih-mul3.c
    functionUses: 1
    functionsReached:
    - sub_ddmmss
    - umul_ppmm
    - add_ssaaaa
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_submul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,\n\t\t
      \ mpi_size_t s1_size, mpi_limb_t s2_limb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - wp
    - up
    - usize
    - cnt
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 66
    functionName: _gcry_mpih_lshift
    functionSourceFile: /src/libgcrypt/mpi/mpih-lshift.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_lshift( mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t
      usize,\n\t\t\t\t\t    unsigned int cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 3
    functionName: C_SYMBOL_NAME
    functionSourceFile: /src/libgcrypt/mpi/sysdep.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_SYMBOL_NAME(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/mpi/mpih-add1.c:57,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/mpi/mpih-add1.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - res_ptr
    - s1_ptr
    - s2_ptr
    - size
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 65
    functionName: _gcry_mpih_add_n
    functionSourceFile: /src/libgcrypt/mpi/mpih-add1.c
    functionUses: 16
    functionsReached:
    - add_ssaaaa
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_add_n (mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,\n
      \                 mpi_ptr_t s2_ptr, mpi_size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umul_ppmm
      Src: /src/libgcrypt/mpi/mpih-mul1.c:53,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/mpi/mpih-mul1.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - res_ptr
    - s1_ptr
    - s1_size
    - s2_limb
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: _gcry_mpih_mul_1
    functionSourceFile: /src/libgcrypt/mpi/mpih-mul1.c
    functionUses: 5
    functionsReached:
    - umul_ppmm
    - add_ssaaaa
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_mul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
      mpi_size_t s1_size,\n\t\t\t\t\t\t    mpi_limb_t s2_limb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: R
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 127
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: MEM
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - displacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: MEM_DISP
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_DISP(base,displacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - base
    - ','
    - idx
    - ','
    - size_suffix
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: MEM_INDX
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_INDX(base,idx,size_suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - base
    - ','
    - idx
    - ','
    - size_suffix
    - ','
    - scale
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: MEM_INDX1
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_INDX1(base,idx,size_suffix,scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - memory_base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: MEM_PREDEC
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_PREDEC(memory_base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - memory_base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: MEM_POSTINC
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_POSTINC(memory_base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - label
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: L
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L(label)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: R
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 127
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: MEM
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - displacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: MEM_DISP
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_DISP(base,displacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - base
    - ','
    - idx
    - ','
    - size_suffix
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: MEM_INDX
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_INDX(base,idx,size_suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - base
    - ','
    - idx
    - ','
    - size_suffix
    - ','
    - scale
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: MEM_INDX1
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_INDX1(base,idx,size_suffix,scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - memory_base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: MEM_PREDEC
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_PREDEC(memory_base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - memory_base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: MEM_POSTINC
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_POSTINC(memory_base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - label
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: L
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L(label)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: R
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 127
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: MEM
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - displacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: MEM_DISP
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_DISP(base,displacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - base
    - ','
    - idx
    - ','
    - size_suffix
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: MEM_INDX
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_INDX(base,idx,size_suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - base
    - ','
    - idx
    - ','
    - size_suffix
    - ','
    - scale
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: MEM_INDX1
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_INDX1(base,idx,size_suffix,scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - memory_base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: MEM_PREDEC
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_PREDEC(memory_base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - memory_base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: MEM_POSTINC
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_POSTINC(memory_base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - label
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: L
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L(label)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: PROLOG
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROLOG(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: EPILOG
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EPILOG(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: MEM
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - displacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: MEM_DISP
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_DISP(base,displacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - memory_base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: MEM_PREDEC
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_PREDEC(memory_base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - memory_base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: MEM_POSTINC
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_POSTINC(memory_base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: R_
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R_(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: R
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 127
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - base
    - ','
    - idx
    - ','
    - size_suffix
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: MEM_INDX_
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_INDX_(base,idx,size_suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - base
    - ','
    - idx
    - ','
    - size_suffix
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: MEM_INDX
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_INDX(base,idx,size_suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - base
    - ','
    - idx
    - ','
    - size_suffix
    - ','
    - scale
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: MEM_INDX1_
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_INDX1_(base,idx,size_suffix,scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - base
    - ','
    - idx
    - ','
    - size_suffix
    - ','
    - scale
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: MEM_INDX1
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_INDX1(base,idx,size_suffix,scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - label
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: L
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L(label)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - base
    - ','
    - idx
    - ','
    - size_suffix
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: MEM_INDX
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_INDX(base,idx,size_suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - base
    - ','
    - idx
    - ','
    - size_suffix
    - ','
    - scale
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: MEM_INDX1
    functionSourceFile: /src/libgcrypt/mpi/m68k/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_INDX1(base,idx,size_suffix,scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - log2
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: ALIGNARG
    functionSourceFile: /src/libgcrypt/mpi/powerpc32/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGNARG(log2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - typearg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: ASM_TYPE_DIRECTIVE
    functionSourceFile: /src/libgcrypt/mpi/powerpc32/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_TYPE_DIRECTIVE(name,typearg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: ASM_SIZE_DIRECTIVE
    functionSourceFile: /src/libgcrypt/mpi/powerpc32/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_SIZE_DIRECTIVE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: C_LABEL
    functionSourceFile: /src/libgcrypt/mpi/powerpc32/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_LABEL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - body
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: L
    functionSourceFile: /src/libgcrypt/mpi/powerpc32/syntax.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L(body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: ENTRY
    functionSourceFile: /src/libgcrypt/mpi/powerpc32/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENTRY(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - alignt
    - ','
    - words
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: EALIGN
    functionSourceFile: /src/libgcrypt/mpi/powerpc32/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EALIGN(name, alignt, words)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: END
    functionSourceFile: /src/libgcrypt/mpi/powerpc32/syntax.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: END(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/mpi/generic/mpih-sub1.c:57,1
    - Dst: sub_ddmmss
      Src: /src/libgcrypt/mpi/generic/mpih-sub1.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - res_ptr
    - s1_ptr
    - s2_ptr
    - size
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 66
    functionName: _gcry_mpih_sub_n
    functionSourceFile: /src/libgcrypt/mpi/generic/mpih-sub1.c
    functionUses: 21
    functionsReached:
    - sub_ddmmss
    - add_ssaaaa
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_sub_n( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,\n\t\t\t\t
      \ mpi_ptr_t s2_ptr, mpi_size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - wp
    - up
    - usize
    - cnt
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 66
    functionName: _gcry_mpih_rshift
    functionSourceFile: /src/libgcrypt/mpi/generic/mpih-rshift.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: mpi_limb_t
    signature: mpi_limb_t _gcry_mpih_rshift( mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t
      usize, unsigned cnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umul_ppmm
      Src: /src/libgcrypt/mpi/generic/mpih-mul2.c:53,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/mpi/generic/mpih-mul2.c:54,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/mpi/generic/mpih-mul2.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - res_ptr
    - s1_ptr
    - s1_size
    - s2_limb
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 63
    functionName: _gcry_mpih_addmul_1
    functionSourceFile: /src/libgcrypt/mpi/generic/mpih-mul2.c
    functionUses: 9
    functionsReached:
    - umul_ppmm
    - add_ssaaaa
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_addmul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,\n\t\t
      \ mpi_size_t s1_size, mpi_limb_t s2_limb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umul_ppmm
      Src: /src/libgcrypt/mpi/generic/mpih-mul3.c:53,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/mpi/generic/mpih-mul3.c:54,1
    - Dst: sub_ddmmss
      Src: /src/libgcrypt/mpi/generic/mpih-mul3.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - res_ptr
    - s1_ptr
    - s1_size
    - s2_limb
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 64
    functionName: _gcry_mpih_submul_1
    functionSourceFile: /src/libgcrypt/mpi/generic/mpih-mul3.c
    functionUses: 1
    functionsReached:
    - sub_ddmmss
    - umul_ppmm
    - add_ssaaaa
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_submul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,\n\t\t
      \ mpi_size_t s1_size, mpi_limb_t s2_limb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - wp
    - up
    - usize
    - cnt
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 66
    functionName: _gcry_mpih_lshift
    functionSourceFile: /src/libgcrypt/mpi/generic/mpih-lshift.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_lshift( mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t
      usize,\n\t\t\t\t\t    unsigned int cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/mpi/generic/mpih-add1.c:57,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/mpi/generic/mpih-add1.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - res_ptr
    - s1_ptr
    - s2_ptr
    - size
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 65
    functionName: _gcry_mpih_add_n
    functionSourceFile: /src/libgcrypt/mpi/generic/mpih-add1.c
    functionUses: 16
    functionsReached:
    - add_ssaaaa
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_add_n (mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,\n
      \                 mpi_ptr_t s2_ptr, mpi_size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umul_ppmm
      Src: /src/libgcrypt/mpi/generic/mpih-mul1.c:53,1
    - Dst: add_ssaaaa
      Src: /src/libgcrypt/mpi/generic/mpih-mul1.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - res_ptr
    - s1_ptr
    - s1_size
    - s2_limb
    argTypes:
    - mpi_ptr_t
    - mpi_ptr_t
    - mpi_size_t
    - mpi_limb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: _gcry_mpih_mul_1
    functionSourceFile: /src/libgcrypt/mpi/generic/mpih-mul1.c
    functionUses: 5
    functionsReached:
    - umul_ppmm
    - add_ssaaaa
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t _gcry_mpih_mul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
      mpi_size_t s1_size,\n\t\t\t\t\t\t    mpi_limb_t s2_limb)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sdiv_qrnnd
      Src: /src/libgcrypt/mpi/generic/udiv-w-sdiv.c:46,1
    - Dst: sub_ddmmss
      Src: /src/libgcrypt/mpi/generic/udiv-w-sdiv.c:51,1
    - Dst: sdiv_qrnnd
      Src: /src/libgcrypt/mpi/generic/udiv-w-sdiv.c:53,1
    - Dst: sdiv_qrnnd
      Src: /src/libgcrypt/mpi/generic/udiv-w-sdiv.c:66,1
    - Dst: sdiv_qrnnd
      Src: /src/libgcrypt/mpi/generic/udiv-w-sdiv.c:90,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 4
    argNames:
    - rp
    - a1
    - a0
    - d
    argTypes:
    - mpi_limp_t*
    - mpi_limp_t*
    - mpi_limp_t*
    - mpi_limp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 130
    functionName: mpihelp_udiv_w_sdiv
    functionSourceFile: /src/libgcrypt/mpi/generic/udiv-w-sdiv.c
    functionUses: 0
    functionsReached:
    - sub_ddmmss
    - sdiv_qrnnd
    linkageType: ''
    returnType: mpi_limb_t
    signature: "mpi_limb_t mpihelp_udiv_w_sdiv( mpi_limp_t *rp,\n\t\t     mpi_limp_t
      *a1,\n\t\t     mpi_limp_t *a0,\n\t\t     mpi_limp_t *d   )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: R
    functionSourceFile: /src/libgcrypt/mpi/i386/syntax.h
    functionUses: 127
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: MEM
    functionSourceFile: /src/libgcrypt/mpi/i386/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - displacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: MEM_DISP
    functionSourceFile: /src/libgcrypt/mpi/i386/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_DISP(base,displacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - base
    - ','
    - index
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: MEM_INDEX
    functionSourceFile: /src/libgcrypt/mpi/i386/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_INDEX(base,index,size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mnemonic
    - ','
    - size_suffix
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: INSN1
    functionSourceFile: /src/libgcrypt/mpi/i386/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSN1(mnemonic,size_suffix,dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mnemonic
    - ','
    - size_suffix
    - ','
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: INSN2
    functionSourceFile: /src/libgcrypt/mpi/i386/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSN2(mnemonic,size_suffix,dst,src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - log
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: ALIGN
    functionSourceFile: /src/libgcrypt/mpi/i386/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGN(log)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - log
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: ALIGN
    functionSourceFile: /src/libgcrypt/mpi/i386/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGN(log)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: R
    functionSourceFile: /src/libgcrypt/mpi/i386/syntax.h
    functionUses: 127
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: MEM
    functionSourceFile: /src/libgcrypt/mpi/i386/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - displacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: MEM_DISP
    functionSourceFile: /src/libgcrypt/mpi/i386/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_DISP(base,displacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - base
    - ','
    - index
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: MEM_INDEX
    functionSourceFile: /src/libgcrypt/mpi/i386/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_INDEX(base,index,size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mnemonic
    - ','
    - size_suffix
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: INSN1
    functionSourceFile: /src/libgcrypt/mpi/i386/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSN1(mnemonic,size_suffix,dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mnemonic
    - ','
    - size_suffix
    - ','
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: INSN2
    functionSourceFile: /src/libgcrypt/mpi/i386/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSN2(mnemonic,size_suffix,dst,src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - log
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: ALIGN
    functionSourceFile: /src/libgcrypt/mpi/i386/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGN(log)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - log
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: ALIGN
    functionSourceFile: /src/libgcrypt/mpi/i386/syntax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGN(log)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 18
    functionName: FUNC_ENTRY
    functionSourceFile: /src/libgcrypt/mpi/amd64/func_abi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNC_ENTRY()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: FUNC_EXIT
    functionSourceFile: /src/libgcrypt/mpi/amd64/func_abi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNC_EXIT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: FUNC_ENTRY
    functionSourceFile: /src/libgcrypt/mpi/amd64/func_abi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNC_ENTRY()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: FUNC_EXIT
    functionSourceFile: /src/libgcrypt/mpi/amd64/func_abi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNC_EXIT()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: my_strusage
    functionSourceFile: /src/libgpg-error/tests/t-strlist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage (int level)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: enter_test_function
      Src: /src/libgpg-error/tests/t-strlist.c:66,1
    - Dst: gpgrt_strlist_rev
      Src: /src/libgpg-error/tests/t-strlist.c:69,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-strlist.c:70,1
    - Dst: gpgrt_strlist_add
      Src: /src/libgpg-error/tests/t-strlist.c:72,1
    - Dst: gpgrt_strlist_add
      Src: /src/libgpg-error/tests/t-strlist.c:73,1
    - Dst: gpgrt_strlist_add
      Src: /src/libgpg-error/tests/t-strlist.c:74,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-strlist.c:76,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-strlist.c:77,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-strlist.c:78,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-strlist.c:79,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-strlist.c:80,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-strlist.c:81,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-strlist.c:83,1
    - Dst: gpgrt_strlist_rev
      Src: /src/libgpg-error/tests/t-strlist.c:85,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-strlist.c:87,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-strlist.c:88,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-strlist.c:89,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-strlist.c:90,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-strlist.c:91,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-strlist.c:92,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-strlist.c:94,1
    - Dst: gpgrt_strlist_free
      Src: /src/libgpg-error/tests/t-strlist.c:96,1
    - Dst: leave_test_function
      Src: /src/libgpg-error/tests/t-strlist.c:97,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 98
    functionName: check_strlist_rev
    functionSourceFile: /src/libgpg-error/tests/t-strlist.c
    functionUses: 0
    functionsReached:
    - leave_test_function
    - fail
    - gpgrt_strlist_rev
    - enter_test_function
    - gpgrt_strlist_free
    - strcmp
    - gpgrt_strlist_add
    linkageType: ''
    returnType: void
    signature: void check_strlist_rev (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: enter_test_function
      Src: /src/libgpg-error/tests/t-strlist.c:204,1
    - Dst: DIM
      Src: /src/libgpg-error/tests/t-strlist.c:206,1
    - Dst: DIM
      Src: /src/libgpg-error/tests/t-strlist.c:207,1
    - Dst: gpgrt_strlist_add
      Src: /src/libgpg-error/tests/t-strlist.c:221,1
    - Dst: gpgrt_strlist_tokenize
      Src: /src/libgpg-error/tests/t-strlist.c:223,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgpg-error/tests/t-strlist.c:227,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-strlist.c:233,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-strlist.c:235,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-strlist.c:237,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-strlist.c:243,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-strlist.c:247,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-strlist.c:249,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-strlist.c:250,1
    - Dst: gpgrt_strlist_count
      Src: /src/libgpg-error/tests/t-strlist.c:254,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-strlist.c:255,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-strlist.c:260,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-strlist.c:262,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-strlist.c:264,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-strlist.c:272,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-strlist.c:273,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-strlist.c:277,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-strlist.c:279,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-strlist.c:281,1
    - Dst: gpgrt_strlist_free
      Src: /src/libgpg-error/tests/t-strlist.c:288,1
    - Dst: leave_test_function
      Src: /src/libgpg-error/tests/t-strlist.c:292,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 293
    functionName: check_tokenize_to_strlist
    functionSourceFile: /src/libgpg-error/tests/t-strlist.c
    functionUses: 0
    functionsReached:
    - leave_test_function
    - gpg_err_code_from_syserror
    - fail
    - enter_test_function
    - DIM
    - gpgrt_strlist_free
    - strcmp
    - show
    - gpgrt_strlist_tokenize
    - gpgrt_strlist_add
    - gpgrt_strlist_count
    linkageType: ''
    returnType: void
    signature: void check_tokenize_to_strlist (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARGPARSE_x
      Src: /src/libgpg-error/tests/t-strlist.c:300,1
    - Dst: ARGPARSE_s_n
      Src: /src/libgpg-error/tests/t-strlist.c:301,1
    - Dst: ARGPARSE_end
      Src: /src/libgpg-error/tests/t-strlist.c:302,1
    - Dst: gpgrt_set_strusage
      Src: /src/libgpg-error/tests/t-strlist.c:306,1
    - Dst: gpgrt_log_set_prefix
      Src: /src/libgpg-error/tests/t-strlist.c:307,1
    - Dst: gpgrt_strusage
      Src: /src/libgpg-error/tests/t-strlist.c:307,1
    - Dst: gpgrt_argparse
      Src: /src/libgpg-error/tests/t-strlist.c:309,1
    - Dst: gpgrt_argparse
      Src: /src/libgpg-error/tests/t-strlist.c:318,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-strlist.c:320,1
    - Dst: check_strlist_rev
      Src: /src/libgpg-error/tests/t-strlist.c:322,1
    - Dst: check_tokenize_to_strlist
      Src: /src/libgpg-error/tests/t-strlist.c:323,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-strlist.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 327
    functionName: main
    functionSourceFile: /src/libgpg-error/tests/t-strlist.c
    functionUses: 12
    functionsReached:
    - gpgrt_log_set_prefix
    - gpgrt_set_strusage
    - ARGPARSE_s_n
    - show
    - ARGPARSE_x
    - check_tokenize_to_strlist
    - ARGPARSE_end
    - gpgrt_argparse
    - check_strlist_rev
    - gpgrt_strusage
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: my_strusage
    functionSourceFile: /src/libgpg-error/tests/t-logging.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage (int level)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_log_get_stream
      Src: /src/libgpg-error/tests/t-logging.c:60,1
    - Dst: gpgrt_log_flush
      Src: /src/libgpg-error/tests/t-logging.c:65,1
    - Dst: gpgrt_rewind
      Src: /src/libgpg-error/tests/t-logging.c:66,1
    - Dst: realloc
      Src: /src/libgpg-error/tests/t-logging.c:73,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-logging.c:75,1
    - Dst: gpgrt_fread
      Src: /src/libgpg-error/tests/t-logging.c:77,1
    - Dst: gpgrt_ferror
      Src: /src/libgpg-error/tests/t-logging.c:78,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-logging.c:79,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-logging.c:80,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgpg-error/tests/t-logging.c:80,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-logging.c:86,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-logging.c:87,1
    - Dst: gpgrt_ftruncate
      Src: /src/libgpg-error/tests/t-logging.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 92
    functionName: log_to_string
    functionSourceFile: /src/libgpg-error/tests/t-logging.c
    functionUses: 0
    functionsReached:
    - gpg_err_code_from_syserror
    - fail
    - realloc
    - gpgrt_rewind
    - gpgrt_log_get_stream
    - strlen
    - die
    - gpgrt_fread
    - gpg_strerror
    - gpgrt_ferror
    - gpgrt_log_flush
    - gpgrt_ftruncate
    linkageType: ''
    returnType: char
    signature: 'char *

      log_to_string (void)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/libgpg-error/tests/t-logging.c:100,1
    - Dst: log_to_string
      Src: /src/libgpg-error/tests/t-logging.c:101,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-logging.c:102,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-logging.c:103,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-logging.c:104,1
    - Dst: log_info
      Src: /src/libgpg-error/tests/t-logging.c:107,1
    - Dst: log_info
      Src: /src/libgpg-error/tests/t-logging.c:108,1
    - Dst: log_to_string
      Src: /src/libgpg-error/tests/t-logging.c:109,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-logging.c:110,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-logging.c:112,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-logging.c:113,1
    - Dst: log_info
      Src: /src/libgpg-error/tests/t-logging.c:116,1
    - Dst: log_to_string
      Src: /src/libgpg-error/tests/t-logging.c:117,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-logging.c:118,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-logging.c:121,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-logging.c:122,1
    - Dst: log_info
      Src: /src/libgpg-error/tests/t-logging.c:125,1
    - Dst: log_to_string
      Src: /src/libgpg-error/tests/t-logging.c:126,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-logging.c:127,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-logging.c:128,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-logging.c:129,1
    - Dst: log_info
      Src: /src/libgpg-error/tests/t-logging.c:132,1
    - Dst: log_to_string
      Src: /src/libgpg-error/tests/t-logging.c:133,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-logging.c:134,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-logging.c:136,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-logging.c:137,1
    - Dst: log_info
      Src: /src/libgpg-error/tests/t-logging.c:140,1
    - Dst: log_to_string
      Src: /src/libgpg-error/tests/t-logging.c:141,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-logging.c:142,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-logging.c:144,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-logging.c:145,1
    - Dst: log_info
      Src: /src/libgpg-error/tests/t-logging.c:148,1
    - Dst: log_to_string
      Src: /src/libgpg-error/tests/t-logging.c:149,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-logging.c:150,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-logging.c:152,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-logging.c:155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 156
    functionName: check_log_info
    functionSourceFile: /src/libgpg-error/tests/t-logging.c
    functionUses: 0
    functionsReached:
    - log_to_string
    - fail
    - strcmp
    - log_info
    - free
    linkageType: ''
    returnType: void
    signature: void check_log_info (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libgpg-error/tests/t-logging.c:165,1
    - Dst: getpid
      Src: /src/libgpg-error/tests/t-logging.c:166,1
    - Dst: log_info
      Src: /src/libgpg-error/tests/t-logging.c:168,1
    - Dst: log_to_string
      Src: /src/libgpg-error/tests/t-logging.c:169,1
    - Dst: strncmp
      Src: /src/libgpg-error/tests/t-logging.c:170,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-logging.c:170,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-logging.c:171,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-logging.c:171,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-logging.c:172,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-logging.c:173,1
    - Dst: log_info
      Src: /src/libgpg-error/tests/t-logging.c:175,1
    - Dst: log_to_string
      Src: /src/libgpg-error/tests/t-logging.c:176,1
    - Dst: strncmp
      Src: /src/libgpg-error/tests/t-logging.c:177,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-logging.c:177,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-logging.c:178,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-logging.c:178,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-logging.c:181,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-logging.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 183
    functionName: check_with_pid
    functionSourceFile: /src/libgpg-error/tests/t-logging.c
    functionUses: 0
    functionsReached:
    - log_to_string
    - fail
    - strlen
    - snprintf
    - strcmp
    - log_info
    - getpid
    - strncmp
    - free
    linkageType: ''
    returnType: void
    signature: void check_with_pid (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_get_errorcount
      Src: /src/libgpg-error/tests/t-logging.c:191,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-logging.c:192,1
    - Dst: log_error
      Src: /src/libgpg-error/tests/t-logging.c:194,1
    - Dst: log_get_errorcount
      Src: /src/libgpg-error/tests/t-logging.c:195,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-logging.c:196,1
    - Dst: log_to_string
      Src: /src/libgpg-error/tests/t-logging.c:197,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-logging.c:198,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-logging.c:199,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-logging.c:200,1
    - Dst: log_get_errorcount
      Src: /src/libgpg-error/tests/t-logging.c:201,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-logging.c:202,1
    - Dst: log_get_errorcount
      Src: /src/libgpg-error/tests/t-logging.c:203,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-logging.c:204,1
    - Dst: log_get_errorcount
      Src: /src/libgpg-error/tests/t-logging.c:205,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-logging.c:206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 207
    functionName: check_log_error
    functionSourceFile: /src/libgpg-error/tests/t-logging.c
    functionUses: 0
    functionsReached:
    - log_to_string
    - fail
    - log_error
    - log_get_errorcount
    - strcmp
    - free
    linkageType: ''
    returnType: void
    signature: void check_log_error (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARGPARSE_x
      Src: /src/libgpg-error/tests/t-logging.c:214,1
    - Dst: ARGPARSE_s_n
      Src: /src/libgpg-error/tests/t-logging.c:215,1
    - Dst: ARGPARSE_end
      Src: /src/libgpg-error/tests/t-logging.c:216,1
    - Dst: gpgrt_set_strusage
      Src: /src/libgpg-error/tests/t-logging.c:220,1
    - Dst: gpgrt_log_set_prefix
      Src: /src/libgpg-error/tests/t-logging.c:221,1
    - Dst: gpgrt_strusage
      Src: /src/libgpg-error/tests/t-logging.c:221,1
    - Dst: gpgrt_argparse
      Src: /src/libgpg-error/tests/t-logging.c:223,1
    - Dst: gpgrt_argparse
      Src: /src/libgpg-error/tests/t-logging.c:232,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-logging.c:234,1
    - Dst: gpgrt_fopenmem
      Src: /src/libgpg-error/tests/t-logging.c:235,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-logging.c:237,1
    - Dst: gpgrt_log_set_sink
      Src: /src/libgpg-error/tests/t-logging.c:238,1
    - Dst: check_log_info
      Src: /src/libgpg-error/tests/t-logging.c:240,1
    - Dst: gpgrt_log_set_prefix
      Src: /src/libgpg-error/tests/t-logging.c:241,1
    - Dst: check_with_pid
      Src: /src/libgpg-error/tests/t-logging.c:242,1
    - Dst: gpgrt_log_set_prefix
      Src: /src/libgpg-error/tests/t-logging.c:243,1
    - Dst: check_log_error
      Src: /src/libgpg-error/tests/t-logging.c:244,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-logging.c:248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 250
    functionName: main
    functionSourceFile: /src/libgpg-error/tests/t-logging.c
    functionUses: 12
    functionsReached:
    - gpgrt_fopenmem
    - gpgrt_log_set_prefix
    - gpgrt_set_strusage
    - check_log_info
    - ARGPARSE_s_n
    - show
    - ARGPARSE_x
    - ARGPARSE_end
    - check_log_error
    - check_with_pid
    - gpgrt_argparse
    - die
    - gpgrt_log_set_sink
    - gpgrt_strusage
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: thread_func
    functionSourceFile: /src/libgpg-error/tests/t-lock-single-posix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      thread_func (void *arg)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_lock_lock
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:55,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:57,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:57,1
    - Dst: gpgrt_lock_unlock
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:59,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:61,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:61,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:65,1
    - Dst: pthread_create
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:77,1
    - Dst: gpgrt_lock_lock
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:79,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:81,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:81,1
    - Dst: gpgrt_lock_unlock
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:83,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:85,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:85,1
    - Dst: pthread_join
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:87,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 94
    functionName: run_test
    functionSourceFile: /src/libgpg-error/tests/t-lock-single-posix.c
    functionUses: 2
    functionsReached:
    - fail
    - gpgrt_lock_unlock
    - gpg_strerror
    - pthread_create
    - pthread_join
    - gpgrt_lock_lock
    linkageType: ''
    returnType: void
    signature: void run_test (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: show
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: syscall_clam_pre
    functionSourceFile: /src/libgpg-error/tests/t-lock-single-posix.c
    functionUses: 0
    functionsReached:
    - show
    linkageType: ''
    returnType: void
    signature: void syscall_clam_pre (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: show
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: syscall_clam_post
    functionSourceFile: /src/libgpg-error/tests/t-lock-single-posix.c
    functionUses: 0
    functionsReached:
    - show
    linkageType: ''
    returnType: void
    signature: void syscall_clam_post (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:125,1
    - Dst: puts
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:127,1
    - Dst: exit
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:134,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:136,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:141,1
    - Dst: gpg_error_check_version
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:148,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:150,1
    - Dst: gpgrt_set_syscall_clamp
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:154,1
    - Dst: gpgrt_lock_init
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:156,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:158,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:158,1
    - Dst: run_test
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:160,1
    - Dst: gpgrt_lock_destroy
      Src: /src/libgpg-error/tests/t-lock-single-posix.c:162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 165
    functionName: main
    functionSourceFile: /src/libgpg-error/tests/t-lock-single-posix.c
    functionUses: 12
    functionsReached:
    - gpgrt_set_syscall_clamp
    - fail
    - exit
    - gpgrt_lock_destroy
    - strcmp
    - puts
    - gpgrt_lock_init
    - gpg_strerror
    - die
    - gpg_error_check_version
    - run_test
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: FAIL
    functionSourceFile: /src/libgpg-error/tests/t-b64.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAIL(a)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/libgpg-error/tests/t-b64.c:96,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-b64.c:98,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:98,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/tests/t-b64.c:98,1
    - Dst: gpgrt_b64enc_start
      Src: /src/libgpg-error/tests/t-b64.c:100,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgpg-error/tests/t-b64.c:103,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:104,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:104,1
    - Dst: gpgrt_b64enc_write
      Src: /src/libgpg-error/tests/t-b64.c:108,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-b64.c:108,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-b64.c:111,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:112,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:112,1
    - Dst: gpgrt_b64enc_finish
      Src: /src/libgpg-error/tests/t-b64.c:116,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:119,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:119,1
    - Dst: es_fputc
      Src: /src/libgpg-error/tests/t-b64.c:123,1
    - Dst: es_fclose_snatch
      Src: /src/libgpg-error/tests/t-b64.c:124,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-b64.c:125,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:126,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/tests/t-b64.c:126,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-b64.c:128,1
    - Dst: gpgrt_log_debug_string
      Src: /src/libgpg-error/tests/t-b64.c:132,1
    - Dst: gpgrt_log_debug_string
      Src: /src/libgpg-error/tests/t-b64.c:133,1
    - Dst: es_free
      Src: /src/libgpg-error/tests/t-b64.c:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - string
    - expected
    - title
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 140
    functionName: test_b64enc_string
    functionSourceFile: /src/libgpg-error/tests/t-b64.c
    functionUses: 0
    functionsReached:
    - es_fopenmem
    - es_fclose_snatch
    - gpg_err_code_from_syserror
    - fail
    - gpg_error_from_syserror
    - strlen
    - gpgrt_b64enc_write
    - es_fputc
    - es_free
    - gpgrt_b64enc_finish
    - gpgrt_log_debug_string
    - strcmp
    - gpg_strerror
    - die
    - gpgrt_b64enc_start
    - free
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t test_b64enc_string (const char *string, const char *expected,
      const char *title)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-b64.c:151,1
    - Dst: malloc
      Src: /src/libgpg-error/tests/t-b64.c:152,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-b64.c:152,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/tests/t-b64.c:155,1
    - Dst: strcpy
      Src: /src/libgpg-error/tests/t-b64.c:158,1
    - Dst: gpgrt_b64dec_start
      Src: /src/libgpg-error/tests/t-b64.c:160,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgpg-error/tests/t-b64.c:163,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:164,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:164,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-b64.c:165,1
    - Dst: gpgrt_b64dec_proc
      Src: /src/libgpg-error/tests/t-b64.c:169,1
    - Dst: gpg_err_code
      Src: /src/libgpg-error/tests/t-b64.c:172,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-b64.c:174,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-b64.c:175,1
    - Dst: gpgrt_b64dec_finish
      Src: /src/libgpg-error/tests/t-b64.c:180,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-b64.c:183,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-b64.c:187,1
    - Dst: strncmp
      Src: /src/libgpg-error/tests/t-b64.c:187,1
    - Dst: gpgrt_log_debug_string
      Src: /src/libgpg-error/tests/t-b64.c:191,1
    - Dst: gpgrt_log_debug_string
      Src: /src/libgpg-error/tests/t-b64.c:192,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-b64.c:193,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-b64.c:195,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-b64.c:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - string
    - expected
    - title
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 201
    functionName: test_b64dec_string
    functionSourceFile: /src/libgpg-error/tests/t-b64.c
    functionUses: 0
    functionsReached:
    - gpgrt_b64dec_proc
    - gpg_err_code_from_syserror
    - fail
    - gpgrt_b64dec_start
    - gpg_error_from_syserror
    - strlen
    - gpgrt_b64dec_finish
    - gpgrt_log_debug_string
    - strcpy
    - malloc
    - gpg_strerror
    - gpg_err_code
    - strncmp
    - free
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t test_b64dec_string (const char *string, const char *expected,
      const char *title)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: show
      Src: /src/libgpg-error/tests/t-b64.c:210,1
    - Dst: test_b64enc_string
      Src: /src/libgpg-error/tests/t-b64.c:212,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:214,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:214,1
    - Dst: test_b64enc_string
      Src: /src/libgpg-error/tests/t-b64.c:215,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:217,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:217,1
    - Dst: test_b64enc_string
      Src: /src/libgpg-error/tests/t-b64.c:218,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:220,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:220,1
    - Dst: test_b64enc_string
      Src: /src/libgpg-error/tests/t-b64.c:221,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:223,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:223,1
    - Dst: test_b64enc_string
      Src: /src/libgpg-error/tests/t-b64.c:227,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:229,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:229,1
    - Dst: test_b64enc_string
      Src: /src/libgpg-error/tests/t-b64.c:230,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:232,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:232,1
    - Dst: test_b64enc_string
      Src: /src/libgpg-error/tests/t-b64.c:233,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:235,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:235,1
    - Dst: test_b64enc_string
      Src: /src/libgpg-error/tests/t-b64.c:237,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:239,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:239,1
    - Dst: test_b64enc_string
      Src: /src/libgpg-error/tests/t-b64.c:240,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:242,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:242,1
    - Dst: test_b64enc_string
      Src: /src/libgpg-error/tests/t-b64.c:243,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:251,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:251,1
    - Dst: test_b64enc_string
      Src: /src/libgpg-error/tests/t-b64.c:253,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:255,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:255,1
    - Dst: test_b64enc_string
      Src: /src/libgpg-error/tests/t-b64.c:256,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:258,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:258,1
    - Dst: test_b64enc_string
      Src: /src/libgpg-error/tests/t-b64.c:259,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:261,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:261,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 262
    functionName: encoder_tests
    functionSourceFile: /src/libgpg-error/tests/t-b64.c
    functionUses: 0
    functionsReached:
    - test_b64enc_string
    - gpg_strerror
    - fail
    - show
    linkageType: ''
    returnType: void
    signature: void encoder_tests (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: show
      Src: /src/libgpg-error/tests/t-b64.c:271,1
    - Dst: test_b64dec_string
      Src: /src/libgpg-error/tests/t-b64.c:273,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:275,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:275,1
    - Dst: test_b64dec_string
      Src: /src/libgpg-error/tests/t-b64.c:277,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:279,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:279,1
    - Dst: test_b64dec_string
      Src: /src/libgpg-error/tests/t-b64.c:281,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:283,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:283,1
    - Dst: test_b64dec_string
      Src: /src/libgpg-error/tests/t-b64.c:285,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:287,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 289
    functionName: decoder_tests
    functionSourceFile: /src/libgpg-error/tests/t-b64.c
    functionUses: 0
    functionsReached:
    - test_b64dec_string
    - gpg_strerror
    - fail
    - show
    linkageType: ''
    returnType: void
    signature: void decoder_tests (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: show
      Src: /src/libgpg-error/tests/t-b64.c:299,1
    - Dst: gpgrt_b64enc_start
      Src: /src/libgpg-error/tests/t-b64.c:302,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgpg-error/tests/t-b64.c:305,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:306,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:306,1
    - Dst: gpgrt_b64dec_finish
      Src: /src/libgpg-error/tests/t-b64.c:310,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:313,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:313,1
    - Dst: gpgrt_b64dec_start
      Src: /src/libgpg-error/tests/t-b64.c:317,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgpg-error/tests/t-b64.c:320,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:321,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:321,1
    - Dst: gpgrt_b64enc_finish
      Src: /src/libgpg-error/tests/t-b64.c:325,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-b64.c:328,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-b64.c:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 333
    functionName: extra_tests
    functionSourceFile: /src/libgpg-error/tests/t-b64.c
    functionUses: 0
    functionsReached:
    - gpg_err_code_from_syserror
    - fail
    - gpgrt_b64dec_start
    - gpgrt_b64dec_finish
    - gpgrt_b64enc_finish
    - gpg_strerror
    - show
    - gpgrt_b64enc_start
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t extra_tests (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-b64.c:348,1
    - Dst: puts
      Src: /src/libgpg-error/tests/t-b64.c:350,1
    - Dst: exit
      Src: /src/libgpg-error/tests/t-b64.c:357,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-b64.c:359,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-b64.c:364,1
    - Dst: encoder_tests
      Src: /src/libgpg-error/tests/t-b64.c:371,1
    - Dst: decoder_tests
      Src: /src/libgpg-error/tests/t-b64.c:372,1
    - Dst: extra_tests
      Src: /src/libgpg-error/tests/t-b64.c:373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 376
    functionName: main
    functionSourceFile: /src/libgpg-error/tests/t-b64.c
    functionUses: 12
    functionsReached:
    - exit
    - strcmp
    - puts
    - decoder_tests
    - extra_tests
    - encoder_tests
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:90,1
    - Dst: es_fprintf
      Src: /src/libgpg-error/tests/t-poll.c:91,1
    - Dst: es_fflush
      Src: /src/libgpg-error/tests/t-poll.c:92,1
    - Dst: es_fclose
      Src: /src/libgpg-error/tests/t-poll.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - argaddr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: producer_thread
    functionSourceFile: /src/libgpg-error/tests/t-poll.c
    functionUses: 0
    functionsReached:
    - es_fclose
    - es_fflush
    - es_fprintf
    - show
    linkageType: ''
    returnType: THREAD_RET_TYPE
    signature: THREAD_RET_TYPE producer_thread (void *argaddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:109,1
    - Dst: es_fgets
      Src: /src/libgpg-error/tests/t-poll.c:110,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:112,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:115,1
    - Dst: es_fclose
      Src: /src/libgpg-error/tests/t-poll.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - argaddr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 119
    functionName: consumer_thread
    functionSourceFile: /src/libgpg-error/tests/t-poll.c
    functionUses: 0
    functionsReached:
    - es_fclose
    - es_fgets
    - show
    linkageType: ''
    returnType: THREAD_RET_TYPE
    signature: THREAD_RET_TYPE consumer_thread (void *argaddr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_fileno
      Src: /src/libgpg-error/tests/t-poll.c:130,1
    - Dst: CreateThread
      Src: /src/libgpg-error/tests/t-poll.c:133,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-poll.c:135,1
    - Dst: GetLastError
      Src: /src/libgpg-error/tests/t-poll.c:135,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:136,1
    - Dst: pthread_create
      Src: /src/libgpg-error/tests/t-poll.c:140,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-poll.c:141,1
    - Dst: strerror
      Src: /src/libgpg-error/tests/t-poll.c:141,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:142,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - th
    argTypes:
    - struct thread_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 151
    functionName: launch_thread
    functionSourceFile: /src/libgpg-error/tests/t-poll.c
    functionUses: 1
    functionsReached:
    - CreateThread
    - es_fileno
    - pthread_create
    - show
    - die
    - GetLastError
    - strerror
    linkageType: ''
    returnType: void
    signature: void launch_thread (THREAD_RET_TYPE (*fnc)(void *), struct thread_arg
      *th)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/libgpg-error/tests/t-poll.c:160,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:162,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-poll.c:164,1
    - Dst: GetLastError
      Src: /src/libgpg-error/tests/t-poll.c:164,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/tests/t-poll.c:165,1
    - Dst: pthread_join
      Src: /src/libgpg-error/tests/t-poll.c:169,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - th
    argTypes:
    - struct thread_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 173
    functionName: join_thread
    functionSourceFile: /src/libgpg-error/tests/t-poll.c
    functionUses: 0
    functionsReached:
    - fail
    - WaitForSingleObject
    - pthread_join
    - show
    - GetLastError
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void join_thread (struct thread_arg *th)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CreatePipe
      Src: /src/libgpg-error/tests/t-poll.c:189,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-poll.c:190,1
    - Dst: GetLastError
      Src: /src/libgpg-error/tests/t-poll.c:190,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:196,1
    - Dst: pipe
      Src: /src/libgpg-error/tests/t-poll.c:198,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/tests/t-poll.c:200,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-poll.c:201,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-poll.c:201,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:208,1
    - Dst: es_sysopen
      Src: /src/libgpg-error/tests/t-poll.c:211,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/tests/t-poll.c:214,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-poll.c:215,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-poll.c:215,1
    - Dst: es_sysopen
      Src: /src/libgpg-error/tests/t-poll.c:218,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/tests/t-poll.c:221,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-poll.c:222,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-poll.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - r_in
    - r_out
    argTypes:
    - estream_t*
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 224
    functionName: create_pipe
    functionSourceFile: /src/libgpg-error/tests/t-poll.c
    functionUses: 11
    functionsReached:
    - pipe
    - gpg_error_from_syserror
    - es_sysopen
    - gpg_strerror
    - show
    - die
    - GetLastError
    - CreatePipe
    linkageType: ''
    returnType: void
    signature: void create_pipe (estream_t *r_in, estream_t *r_out)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgpg-error/tests/t-poll.c:236,1
    - Dst: gpgrt_poll
      Src: /src/libgpg-error/tests/t-poll.c:250,1
    - Dst: DIM
      Src: /src/libgpg-error/tests/t-poll.c:250,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-poll.c:253,1
    - Dst: strerror
      Src: /src/libgpg-error/tests/t-poll.c:253,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-poll.c:258,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:262,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:264,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:310,1
    - Dst: es_fgetc
      Src: /src/libgpg-error/tests/t-poll.c:317,1
    - Dst: es_feof
      Src: /src/libgpg-error/tests/t-poll.c:320,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:322,1
    - Dst: es_ferror
      Src: /src/libgpg-error/tests/t-poll.c:326,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-poll.c:328,1
    - Dst: strerror
      Src: /src/libgpg-error/tests/t-poll.c:329,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:334,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:343,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:349,1
    - Dst: es_write
      Src: /src/libgpg-error/tests/t-poll.c:357,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:358,1
    - Dst: assert
      Src: /src/libgpg-error/tests/t-poll.c:362,1
    - Dst: memmove
      Src: /src/libgpg-error/tests/t-poll.c:364,1
    - Dst: es_fflush
      Src: /src/libgpg-error/tests/t-poll.c:368,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-poll.c:370,1
    - Dst: strerror
      Src: /src/libgpg-error/tests/t-poll.c:371,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:379,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nwritten <= used)
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/libgpg-error/tests/t-poll.c
    constantsTouched: []
    func_position:
      end: 383
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 383
    functionName: test_poll
    functionSourceFile: /src/libgpg-error/tests/t-poll.c
    functionUses: 0
    functionsReached:
    - memmove
    - fail
    - assert
    - gpgrt_poll
    - DIM
    - es_write
    - es_fflush
    - es_feof
    - memset
    - show
    - es_fgetc
    - es_ferror
    - strerror
    linkageType: ''
    returnType: void
    signature: void test_poll (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-poll.c:398,1
    - Dst: puts
      Src: /src/libgpg-error/tests/t-poll.c:400,1
    - Dst: exit
      Src: /src/libgpg-error/tests/t-poll.c:407,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-poll.c:409,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-poll.c:414,1
    - Dst: gpg_error_check_version
      Src: /src/libgpg-error/tests/t-poll.c:421,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-poll.c:423,1
    - Dst: create_pipe
      Src: /src/libgpg-error/tests/t-poll.c:428,1
    - Dst: create_pipe
      Src: /src/libgpg-error/tests/t-poll.c:430,1
    - Dst: create_pipe
      Src: /src/libgpg-error/tests/t-poll.c:432,1
    - Dst: es_set_nonblock
      Src: /src/libgpg-error/tests/t-poll.c:434,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-poll.c:435,1
    - Dst: strerror
      Src: /src/libgpg-error/tests/t-poll.c:435,1
    - Dst: es_set_nonblock
      Src: /src/libgpg-error/tests/t-poll.c:436,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-poll.c:437,1
    - Dst: strerror
      Src: /src/libgpg-error/tests/t-poll.c:437,1
    - Dst: es_set_nonblock
      Src: /src/libgpg-error/tests/t-poll.c:438,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-poll.c:439,1
    - Dst: strerror
      Src: /src/libgpg-error/tests/t-poll.c:439,1
    - Dst: launch_thread
      Src: /src/libgpg-error/tests/t-poll.c:441,1
    - Dst: launch_thread
      Src: /src/libgpg-error/tests/t-poll.c:442,1
    - Dst: launch_thread
      Src: /src/libgpg-error/tests/t-poll.c:443,1
    - Dst: test_poll
      Src: /src/libgpg-error/tests/t-poll.c:444,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-poll.c:445,1
    - Dst: es_fclose
      Src: /src/libgpg-error/tests/t-poll.c:446,1
    - Dst: es_fclose
      Src: /src/libgpg-error/tests/t-poll.c:447,1
    - Dst: es_fclose
      Src: /src/libgpg-error/tests/t-poll.c:448,1
    - Dst: join_thread
      Src: /src/libgpg-error/tests/t-poll.c:452,1
    - Dst: join_thread
      Src: /src/libgpg-error/tests/t-poll.c:453,1
    - Dst: join_thread
      Src: /src/libgpg-error/tests/t-poll.c:454,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 457
    functionName: main
    functionSourceFile: /src/libgpg-error/tests/t-poll.c
    functionUses: 12
    functionsReached:
    - launch_thread
    - fail
    - es_fclose
    - exit
    - create_pipe
    - strcmp
    - puts
    - join_thread
    - es_set_nonblock
    - show
    - die
    - test_poll
    - gpg_error_check_version
    - strerror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgpg-error/tests/t-version.c:98,1
    - Dst: gpgrt_cmp_version
      Src: /src/libgpg-error/tests/t-version.c:101,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-version.c:103,1
    - Dst: DIM
      Src: /src/libgpg-error/tests/t-version.c:106,1
    - Dst: gpgrt_cmp_version
      Src: /src/libgpg-error/tests/t-version.c:109,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-version.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 114
    functionName: t_gpgrt_cmp_version
    functionSourceFile: /src/libgpg-error/tests/t-version.c
    functionUses: 0
    functionsReached:
    - gpgrt_cmp_version
    - DIM
    - fail
    linkageType: ''
    returnType: void
    signature: void t_gpgrt_cmp_version (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-version.c:130,1
    - Dst: puts
      Src: /src/libgpg-error/tests/t-version.c:132,1
    - Dst: exit
      Src: /src/libgpg-error/tests/t-version.c:138,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-version.c:140,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-version.c:145,1
    - Dst: t_gpgrt_cmp_version
      Src: /src/libgpg-error/tests/t-version.c:152,1
    - Dst: gpg_error_check_version
      Src: /src/libgpg-error/tests/t-version.c:154,1
    - Dst: fprintf
      Src: /src/libgpg-error/tests/t-version.c:156,1
    - Dst: gpg_error_check_version
      Src: /src/libgpg-error/tests/t-version.c:160,1
    - Dst: fprintf
      Src: /src/libgpg-error/tests/t-version.c:162,1
    - Dst: gpg_error_check_version
      Src: /src/libgpg-error/tests/t-version.c:166,1
    - Dst: fprintf
      Src: /src/libgpg-error/tests/t-version.c:168,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-version.c:171,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-version.c:175,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-version.c:177,1
    - Dst: gpg_error_check_version
      Src: /src/libgpg-error/tests/t-version.c:177,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-version.c:178,1
    - Dst: gpg_error_check_version
      Src: /src/libgpg-error/tests/t-version.c:178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/libgpg-error/tests/t-version.c
    functionUses: 12
    functionsReached:
    - printf
    - exit
    - strcmp
    - puts
    - t_gpgrt_cmp_version
    - fprintf
    - show
    - gpg_error_check_version
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make
      Src: /src/libgpg-error/tests/t-strerror.c:40,1
    - Dst: atoi
      Src: /src/libgpg-error/tests/t-strerror.c:40,1
    - Dst: atoi
      Src: /src/libgpg-error/tests/t-strerror.c:40,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-strerror.c:41,1
    - Dst: gpg_strsource
      Src: /src/libgpg-error/tests/t-strerror.c:41,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-strerror.c:41,1
    - Dst: gpg_err_make
      Src: /src/libgpg-error/tests/t-strerror.c:60,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-strerror.c:61,1
    - Dst: gpg_strsource
      Src: /src/libgpg-error/tests/t-strerror.c:61,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-strerror.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/libgpg-error/tests/t-strerror.c
    functionUses: 12
    functionsReached:
    - printf
    - atoi
    - gpg_err_make
    - gpg_strerror
    - gpg_strsource
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: my_strusage
    functionSourceFile: /src/libgpg-error/tests/t-malloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage (int level)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_calloc
      Src: /src/libgpg-error/tests/t-malloc.c:57,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-malloc.c:59,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-malloc.c:63,1
    - Dst: gpgrt_reallocarray
      Src: /src/libgpg-error/tests/t-malloc.c:71,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-malloc.c:73,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-malloc.c:77,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-malloc.c:78,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-malloc.c:82,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-malloc.c:87,1
    - Dst: gpgrt_reallocarray
      Src: /src/libgpg-error/tests/t-malloc.c:93,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-malloc.c:95,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-malloc.c:99,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-malloc.c:100,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-malloc.c:104,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-malloc.c:108,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 109
    functionName: check_reallocarray
    functionSourceFile: /src/libgpg-error/tests/t-malloc.c
    functionUses: 0
    functionsReached:
    - fail
    - gpgrt_calloc
    - gpgrt_reallocarray
    - strcmp
    - xfree
    - die
    linkageType: ''
    returnType: void
    signature: void check_reallocarray (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARGPARSE_x
      Src: /src/libgpg-error/tests/t-malloc.c:116,1
    - Dst: ARGPARSE_s_n
      Src: /src/libgpg-error/tests/t-malloc.c:117,1
    - Dst: ARGPARSE_end
      Src: /src/libgpg-error/tests/t-malloc.c:118,1
    - Dst: gpgrt_set_strusage
      Src: /src/libgpg-error/tests/t-malloc.c:122,1
    - Dst: gpgrt_log_set_prefix
      Src: /src/libgpg-error/tests/t-malloc.c:123,1
    - Dst: gpgrt_strusage
      Src: /src/libgpg-error/tests/t-malloc.c:123,1
    - Dst: gpgrt_argparse
      Src: /src/libgpg-error/tests/t-malloc.c:125,1
    - Dst: gpgrt_argparse
      Src: /src/libgpg-error/tests/t-malloc.c:134,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-malloc.c:136,1
    - Dst: check_reallocarray
      Src: /src/libgpg-error/tests/t-malloc.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 141
    functionName: main
    functionSourceFile: /src/libgpg-error/tests/t-malloc.c
    functionUses: 12
    functionsReached:
    - gpgrt_log_set_prefix
    - gpgrt_set_strusage
    - ARGPARSE_s_n
    - show
    - ARGPARSE_x
    - check_reallocarray
    - ARGPARSE_end
    - gpgrt_argparse
    - gpgrt_strusage
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - array
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: DIM
    functionSourceFile: /src/libgpg-error/tests/t-common.h
    functionUses: 410
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: enter_test_function
    functionSourceFile: /src/libgpg-error/tests/t-common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enter_test_function()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: leave_test_function
    functionSourceFile: /src/libgpg-error/tests/t-common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: leave_test_function()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_malloc
      Src: /src/libgpg-error/tests/t-common.h:50,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-common.h:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: xmalloc
    functionSourceFile: /src/libgpg-error/tests/t-common.h
    functionUses: 316
    functionsReached:
    - die
    - gpgrt_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xmalloc (size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_strdup
      Src: /src/libgpg-error/tests/t-common.h:59,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-common.h:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: xstrdup
    functionSourceFile: /src/libgpg-error/tests/t-common.h
    functionUses: 203
    functionsReached:
    - die
    - gpgrt_strdup
    linkageType: ''
    returnType: char
    signature: 'char *

      xstrdup (const char *s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_free
      Src: /src/libgpg-error/tests/t-common.h:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: xfree
    functionSourceFile: /src/libgpg-error/tests/t-common.h
    functionUses: 1912
    functionsReached:
    - gpgrt_free
    linkageType: ''
    returnType: void
    signature: void xfree (void *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libgpg-error/tests/t-common.h:79,1
    - Dst: flockfile
      Src: /src/libgpg-error/tests/t-common.h:81,1
    - Dst: fprintf
      Src: /src/libgpg-error/tests/t-common.h:84,1
    - Dst: fprintf
      Src: /src/libgpg-error/tests/t-common.h:86,1
    - Dst: va_start
      Src: /src/libgpg-error/tests/t-common.h:87,1
    - Dst: vfprintf
      Src: /src/libgpg-error/tests/t-common.h:88,1
    - Dst: va_end
      Src: /src/libgpg-error/tests/t-common.h:89,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-common.h:90,1
    - Dst: putc
      Src: /src/libgpg-error/tests/t-common.h:91,1
    - Dst: funlockfile
      Src: /src/libgpg-error/tests/t-common.h:93,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-common.h:95,1
    - Dst: xstrdup
      Src: /src/libgpg-error/tests/t-common.h:95,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-common.h:96,1
    - Dst: xmalloc
      Src: /src/libgpg-error/tests/t-common.h:96,1
    - Dst: exit
      Src: /src/libgpg-error/tests/t-common.h:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 98
    functionName: die
    functionSourceFile: /src/libgpg-error/tests/t-common.h
    functionUses: 235
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - exit
    - flockfile
    - fflush
    - fprintf
    - xmalloc
    - xfree
    - funlockfile
    - va_start
    - xstrdup
    - putc
    linkageType: ''
    returnType: void
    signature: void die (const char *format, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libgpg-error/tests/t-common.h:106,1
    - Dst: flockfile
      Src: /src/libgpg-error/tests/t-common.h:108,1
    - Dst: fprintf
      Src: /src/libgpg-error/tests/t-common.h:111,1
    - Dst: fprintf
      Src: /src/libgpg-error/tests/t-common.h:113,1
    - Dst: va_start
      Src: /src/libgpg-error/tests/t-common.h:114,1
    - Dst: vfprintf
      Src: /src/libgpg-error/tests/t-common.h:115,1
    - Dst: va_end
      Src: /src/libgpg-error/tests/t-common.h:116,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-common.h:117,1
    - Dst: putc
      Src: /src/libgpg-error/tests/t-common.h:118,1
    - Dst: funlockfile
      Src: /src/libgpg-error/tests/t-common.h:120,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-common.h:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 125
    functionName: fail
    functionSourceFile: /src/libgpg-error/tests/t-common.h
    functionUses: 298
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - flockfile
    - fflush
    - fprintf
    - funlockfile
    - va_start
    - die
    - putc
    linkageType: ''
    returnType: void
    signature: void fail (const char *format, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: flockfile
      Src: /src/libgpg-error/tests/t-common.h:136,1
    - Dst: fprintf
      Src: /src/libgpg-error/tests/t-common.h:139,1
    - Dst: fprintf
      Src: /src/libgpg-error/tests/t-common.h:141,1
    - Dst: va_start
      Src: /src/libgpg-error/tests/t-common.h:142,1
    - Dst: vfprintf
      Src: /src/libgpg-error/tests/t-common.h:143,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-common.h:144,1
    - Dst: putc
      Src: /src/libgpg-error/tests/t-common.h:145,1
    - Dst: va_end
      Src: /src/libgpg-error/tests/t-common.h:146,1
    - Dst: funlockfile
      Src: /src/libgpg-error/tests/t-common.h:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 150
    functionName: show
    functionSourceFile: /src/libgpg-error/tests/t-common.h
    functionUses: 17
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - flockfile
    - fprintf
    - funlockfile
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void show (const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:150,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:151,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:154,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:155,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:156,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:157,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:159,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:160,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:163,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:164,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:165,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:166,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:168,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:169,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:172,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:173,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:174,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:175,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:176,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - pk
    argTypes:
    - gpgrt_nvc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 179
    functionName: test_getting_values
    functionSourceFile: /src/libgpg-error/tests/t-name-value.c
    functionUses: 0
    functionsReached:
    - gpgrt_assert
    - gpgrt_nvc_lookup
    linkageType: ''
    returnType: void
    signature: void test_getting_values (gpgrt_nvc_t pk)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: enter_test_function
      Src: /src/libgpg-error/tests/t-name-value.c:188,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:190,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:192,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:194,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:196,1
    - Dst: gpgrt_nve_value
      Src: /src/libgpg-error/tests/t-name-value.c:199,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-name-value.c:200,1
    - Dst: gpgrt_nve_name
      Src: /src/libgpg-error/tests/t-name-value.c:200,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:203,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:205,1
    - Dst: gpgrt_nve_value
      Src: /src/libgpg-error/tests/t-name-value.c:208,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-name-value.c:209,1
    - Dst: gpgrt_nve_name
      Src: /src/libgpg-error/tests/t-name-value.c:209,1
    - Dst: gpgrt_nve_next
      Src: /src/libgpg-error/tests/t-name-value.c:211,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:213,1
    - Dst: gpgrt_nve_value
      Src: /src/libgpg-error/tests/t-name-value.c:216,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-name-value.c:217,1
    - Dst: gpgrt_nve_name
      Src: /src/libgpg-error/tests/t-name-value.c:217,1
    - Dst: gpgrt_nve_next
      Src: /src/libgpg-error/tests/t-name-value.c:219,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:221,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:223,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:225,1
    - Dst: gpgrt_nve_value
      Src: /src/libgpg-error/tests/t-name-value.c:228,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-name-value.c:229,1
    - Dst: gpgrt_nve_name
      Src: /src/libgpg-error/tests/t-name-value.c:229,1
    - Dst: gpgrt_nve_next
      Src: /src/libgpg-error/tests/t-name-value.c:231,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:233,1
    - Dst: gpgrt_nve_value
      Src: /src/libgpg-error/tests/t-name-value.c:236,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-name-value.c:237,1
    - Dst: gpgrt_nve_name
      Src: /src/libgpg-error/tests/t-name-value.c:237,1
    - Dst: gpgrt_nve_next
      Src: /src/libgpg-error/tests/t-name-value.c:239,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:241,1
    - Dst: leave_test_function
      Src: /src/libgpg-error/tests/t-name-value.c:243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - pk
    argTypes:
    - gpgrt_nvc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 244
    functionName: test_getting_section_values
    functionSourceFile: /src/libgpg-error/tests/t-name-value.c
    functionUses: 0
    functionsReached:
    - leave_test_function
    - gpgrt_nve_name
    - fail
    - enter_test_function
    - gpgrt_nve_next
    - gpgrt_nve_value
    - gpgrt_nvc_lookup
    - show
    linkageType: ''
    returnType: void
    signature: void test_getting_section_values (gpgrt_nvc_t pk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_nve_value
      Src: /src/libgpg-error/tests/t-name-value.c:256,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:256,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:257,1
    - Dst: fprintf
      Src: /src/libgpg-error/tests/t-name-value.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pk
    argTypes:
    - gpgrt_nvc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 261
    functionName: test_key_extraction
    functionSourceFile: /src/libgpg-error/tests/t-name-value.c
    functionUses: 0
    functionsReached:
    - fprintf
    - gpgrt_assert
    - gpgrt_nve_value
    - gpgrt_nvc_lookup
    linkageType: ''
    returnType: void
    signature: void test_key_extraction (gpgrt_nvc_t pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:271,1
    - Dst: gpgrt_nve_next
      Src: /src/libgpg-error/tests/t-name-value.c:271,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:273,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:276,1
    - Dst: gpgrt_nve_next
      Src: /src/libgpg-error/tests/t-name-value.c:278,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pk
    argTypes:
    - gpgrt_nvc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 281
    functionName: test_iteration
    functionSourceFile: /src/libgpg-error/tests/t-name-value.c
    functionUses: 0
    functionsReached:
    - gpgrt_assert
    - gpgrt_nvc_lookup
    - gpgrt_nve_next
    linkageType: ''
    returnType: void
    signature: void test_iteration (gpgrt_nvc_t pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:289,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:290,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:291,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-name-value.c:291,1
    - Dst: gpgrt_nve_value
      Src: /src/libgpg-error/tests/t-name-value.c:291,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:293,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:294,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:295,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-name-value.c:295,1
    - Dst: gpgrt_nve_value
      Src: /src/libgpg-error/tests/t-name-value.c:295,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:297,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:298,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:299,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-name-value.c:299,1
    - Dst: gpgrt_nve_value
      Src: /src/libgpg-error/tests/t-name-value.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - pk
    argTypes:
    - gpgrt_nvc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 302
    functionName: test_whitespace
    functionSourceFile: /src/libgpg-error/tests/t-name-value.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gpgrt_assert
    - gpgrt_nve_value
    - gpgrt_nvc_lookup
    linkageType: ''
    returnType: void
    signature: void test_whitespace (gpgrt_nvc_t pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_fopenmem
      Src: /src/libgpg-error/tests/t-name-value.c:314,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:315,1
    - Dst: gpgrt_nvc_write
      Src: /src/libgpg-error/tests/t-name-value.c:317,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:318,1
    - Dst: es_ftell
      Src: /src/libgpg-error/tests/t-name-value.c:320,1
    - Dst: xmalloc
      Src: /src/libgpg-error/tests/t-name-value.c:321,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:322,1
    - Dst: es_fseek
      Src: /src/libgpg-error/tests/t-name-value.c:324,1
    - Dst: es_read
      Src: /src/libgpg-error/tests/t-name-value.c:325,1
    - Dst: es_fclose
      Src: /src/libgpg-error/tests/t-name-value.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - pk
    argTypes:
    - gpgrt_nvc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 330
    functionName: nvc_to_string
    functionSourceFile: /src/libgpg-error/tests/t-name-value.c
    functionUses: 3
    functionsReached:
    - es_fopenmem
    - es_fclose
    - gpgrt_nvc_write
    - es_fseek
    - xmalloc
    - es_read
    - es_ftell
    - gpgrt_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      nvc_to_string (gpgrt_nvc_t pk)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 333
    functionName: dummy_free
    functionSourceFile: /src/libgpg-error/tests/t-name-value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_free (void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: dummy_realloc
    functionSourceFile: /src/libgpg-error/tests/t-name-value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *dummy_realloc (void *p, size_t s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgpg-error/tests/t-name-value.c:347,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-name-value.c:356,1
    - Dst: es_mopen
      Src: /src/libgpg-error/tests/t-name-value.c:357,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:359,1
    - Dst: gpgrt_nvc_parse
      Src: /src/libgpg-error/tests/t-name-value.c:362,1
    - Dst: gpgrt_nvc_parse
      Src: /src/libgpg-error/tests/t-name-value.c:364,1
    - Dst: gpgrt_nvc_parse
      Src: /src/libgpg-error/tests/t-name-value.c:366,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-name-value.c:368,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-name-value.c:369,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:370,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:371,1
    - Dst: gpgrt_nvc_write
      Src: /src/libgpg-error/tests/t-name-value.c:379,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:380,1
    - Dst: nvc_to_string
      Src: /src/libgpg-error/tests/t-name-value.c:382,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:383,1
    - Dst: memcmp
      Src: /src/libgpg-error/tests/t-name-value.c:383,1
    - Dst: es_fclose
      Src: /src/libgpg-error/tests/t-name-value.c:386,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-name-value.c:387,1
    - Dst: test_func
      Src: /src/libgpg-error/tests/t-name-value.c:390,1
    - Dst: gpgrt_nvc_release
      Src: /src/libgpg-error/tests/t-name-value.c:392,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 394
    functionName: run_tests
    functionSourceFile: /src/libgpg-error/tests/t-name-value.c
    functionUses: 1
    functionsReached:
    - nvc_to_string
    - gpgrt_nvc_parse
    - es_mopen
    - strlen
    - es_fclose
    - DIM
    - gpgrt_nvc_write
    - test_func
    - memcmp
    - gpg_strerror
    - xfree
    - show
    - gpgrt_nvc_release
    - gpgrt_assert
    linkageType: ''
    returnType: void
    signature: void run_tests (void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: enter_test_function
      Src: /src/libgpg-error/tests/t-name-value.c:408,1
    - Dst: gpgrt_nvc_new
      Src: /src/libgpg-error/tests/t-name-value.c:410,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:411,1
    - Dst: gpgrt_nvc_set
      Src: /src/libgpg-error/tests/t-name-value.c:413,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:414,1
    - Dst: nvc_to_string
      Src: /src/libgpg-error/tests/t-name-value.c:415,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:416,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-name-value.c:416,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-name-value.c:417,1
    - Dst: gpgrt_nvc_set
      Src: /src/libgpg-error/tests/t-name-value.c:419,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:421,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-name-value.c:421,1
    - Dst: nvc_to_string
      Src: /src/libgpg-error/tests/t-name-value.c:422,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:423,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-name-value.c:423,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-name-value.c:424,1
    - Dst: gpgrt_nvc_set
      Src: /src/libgpg-error/tests/t-name-value.c:426,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:428,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-name-value.c:428,1
    - Dst: nvc_to_string
      Src: /src/libgpg-error/tests/t-name-value.c:429,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:430,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-name-value.c:430,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-name-value.c:431,1
    - Dst: gpgrt_nvc_add
      Src: /src/libgpg-error/tests/t-name-value.c:433,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:435,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-name-value.c:435,1
    - Dst: nvc_to_string
      Src: /src/libgpg-error/tests/t-name-value.c:436,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:437,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-name-value.c:437,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-name-value.c:438,1
    - Dst: gpgrt_nvc_add
      Src: /src/libgpg-error/tests/t-name-value.c:440,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:442,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-name-value.c:442,1
    - Dst: nvc_to_string
      Src: /src/libgpg-error/tests/t-name-value.c:443,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:444,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-name-value.c:444,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-name-value.c:446,1
    - Dst: gpgrt_nvc_delete
      Src: /src/libgpg-error/tests/t-name-value.c:448,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:448,1
    - Dst: nvc_to_string
      Src: /src/libgpg-error/tests/t-name-value.c:449,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:450,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-name-value.c:450,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-name-value.c:451,1
    - Dst: gpgrt_nvc_delete
      Src: /src/libgpg-error/tests/t-name-value.c:453,1
    - Dst: gpgrt_nve_next
      Src: /src/libgpg-error/tests/t-name-value.c:453,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:453,1
    - Dst: nvc_to_string
      Src: /src/libgpg-error/tests/t-name-value.c:455,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:456,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-name-value.c:456,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-name-value.c:457,1
    - Dst: gpgrt_nvc_delete
      Src: /src/libgpg-error/tests/t-name-value.c:459,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:459,1
    - Dst: nvc_to_string
      Src: /src/libgpg-error/tests/t-name-value.c:460,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:461,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-name-value.c:461,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-name-value.c:462,1
    - Dst: gpgrt_nvc_delete
      Src: /src/libgpg-error/tests/t-name-value.c:464,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:464,1
    - Dst: nvc_to_string
      Src: /src/libgpg-error/tests/t-name-value.c:465,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:466,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-name-value.c:466,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-name-value.c:467,1
    - Dst: gpgrt_nvc_add
      Src: /src/libgpg-error/tests/t-name-value.c:470,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:472,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-name-value.c:472,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:473,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:474,1
    - Dst: gpgrt_nvc_delete
      Src: /src/libgpg-error/tests/t-name-value.c:475,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:476,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:477,1
    - Dst: gpgrt_nvc_delete
      Src: /src/libgpg-error/tests/t-name-value.c:478,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:479,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:480,1
    - Dst: gpgrt_nvc_add
      Src: /src/libgpg-error/tests/t-name-value.c:484,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:486,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-name-value.c:486,1
    - Dst: gpgrt_nvc_add
      Src: /src/libgpg-error/tests/t-name-value.c:488,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:490,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-name-value.c:490,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:492,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:493,1
    - Dst: gpgrt_nvc_delete
      Src: /src/libgpg-error/tests/t-name-value.c:495,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:496,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:497,1
    - Dst: gpgrt_nvc_set
      Src: /src/libgpg-error/tests/t-name-value.c:499,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:503,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-name-value.c:503,1
    - Dst: nvc_to_string
      Src: /src/libgpg-error/tests/t-name-value.c:504,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:505,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-name-value.c:505,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-name-value.c:508,1
    - Dst: gpgrt_nvc_set
      Src: /src/libgpg-error/tests/t-name-value.c:510,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:514,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-name-value.c:514,1
    - Dst: nvc_to_string
      Src: /src/libgpg-error/tests/t-name-value.c:515,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:516,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-name-value.c:516,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-name-value.c:520,1
    - Dst: gpgrt_nvc_set
      Src: /src/libgpg-error/tests/t-name-value.c:522,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:526,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-name-value.c:526,1
    - Dst: nvc_to_string
      Src: /src/libgpg-error/tests/t-name-value.c:527,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:528,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-name-value.c:528,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-name-value.c:532,1
    - Dst: gpgrt_nvc_set
      Src: /src/libgpg-error/tests/t-name-value.c:534,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:538,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-name-value.c:538,1
    - Dst: nvc_to_string
      Src: /src/libgpg-error/tests/t-name-value.c:539,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:540,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-name-value.c:540,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-name-value.c:544,1
    - Dst: gpgrt_nvc_release
      Src: /src/libgpg-error/tests/t-name-value.c:545,1
    - Dst: gpgrt_nvc_new
      Src: /src/libgpg-error/tests/t-name-value.c:547,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:548,1
    - Dst: gpgrt_nvc_set
      Src: /src/libgpg-error/tests/t-name-value.c:550,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:551,1
    - Dst: nvc_to_string
      Src: /src/libgpg-error/tests/t-name-value.c:552,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:553,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-name-value.c:553,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-name-value.c:554,1
    - Dst: gpgrt_nvc_release
      Src: /src/libgpg-error/tests/t-name-value.c:555,1
    - Dst: leave_test_function
      Src: /src/libgpg-error/tests/t-name-value.c:557,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 105
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 558
    functionName: run_modification_tests
    functionSourceFile: /src/libgpg-error/tests/t-name-value.c
    functionUses: 1
    functionsReached:
    - nvc_to_string
    - leave_test_function
    - fail
    - enter_test_function
    - gpgrt_nvc_set
    - gpgrt_nvc_delete
    - gpgrt_nve_next
    - strcmp
    - gpgrt_nvc_add
    - xfree
    - gpg_strerror
    - gpgrt_nvc_lookup
    - gpgrt_nvc_release
    - gpgrt_nvc_new
    - gpgrt_assert
    linkageType: ''
    returnType: void
    signature: void run_modification_tests (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: es_fopen
      Src: /src/libgpg-error/tests/t-name-value.c:572,1
    - Dst: perror
      Src: /src/libgpg-error/tests/t-name-value.c:575,1
    - Dst: exit
      Src: /src/libgpg-error/tests/t-name-value.c:576,1
    - Dst: gpgrt_nvc_parse
      Src: /src/libgpg-error/tests/t-name-value.c:580,1
    - Dst: gpgrt_nvc_parse
      Src: /src/libgpg-error/tests/t-name-value.c:582,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-name-value.c:585,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-name-value.c:586,1
    - Dst: exit
      Src: /src/libgpg-error/tests/t-name-value.c:587,1
    - Dst: nvc_to_string
      Src: /src/libgpg-error/tests/t-name-value.c:590,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-name-value.c:591,1
    - Dst: gpgrt_nvc_new
      Src: /src/libgpg-error/tests/t-name-value.c:593,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:594,1
    - Dst: gpgrt_nvc_lookup
      Src: /src/libgpg-error/tests/t-name-value.c:596,1
    - Dst: gpgrt_nve_next
      Src: /src/libgpg-error/tests/t-name-value.c:596,1
    - Dst: strcasecmp
      Src: /src/libgpg-error/tests/t-name-value.c:600,1
    - Dst: gpgrt_nve_name
      Src: /src/libgpg-error/tests/t-name-value.c:600,1
    - Dst: gpgrt_nve_value
      Src: /src/libgpg-error/tests/t-name-value.c:602,1
    - Dst: gpgrt_nve_set
      Src: /src/libgpg-error/tests/t-name-value.c:607,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:608,1
    - Dst: gpgrt_nvc_add
      Src: /src/libgpg-error/tests/t-name-value.c:612,1
    - Dst: gpgrt_nve_name
      Src: /src/libgpg-error/tests/t-name-value.c:612,1
    - Dst: gpgrt_nve_value
      Src: /src/libgpg-error/tests/t-name-value.c:612,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/tests/t-name-value.c:613,1
    - Dst: nvc_to_string
      Src: /src/libgpg-error/tests/t-name-value.c:617,1
    - Dst: fprintf
      Src: /src/libgpg-error/tests/t-name-value.c:619,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-name-value.c:620,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 621
    functionName: parse
    functionSourceFile: /src/libgpg-error/tests/t-name-value.c
    functionUses: 115
    functionsReached:
    - nvc_to_string
    - gpgrt_nvc_parse
    - gpgrt_nve_name
    - fail
    - gpgrt_nve_set
    - perror
    - exit
    - gpgrt_nve_next
    - gpgrt_nvc_add
    - fprintf
    - es_fopen
    - gpg_strerror
    - xfree
    - gpgrt_nvc_lookup
    - gpgrt_nve_value
    - gpgrt_nvc_new
    - gpgrt_assert
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void parse (const char *fname)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 641
    functionName: my_strusage
    functionSourceFile: /src/libgpg-error/tests/t-name-value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage (int level)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ARGPARSE_x
      Src: /src/libgpg-error/tests/t-name-value.c:649,1
    - Dst: ARGPARSE_s_n
      Src: /src/libgpg-error/tests/t-name-value.c:650,1
    - Dst: ARGPARSE_c
      Src: /src/libgpg-error/tests/t-name-value.c:651,1
    - Dst: ARGPARSE_c
      Src: /src/libgpg-error/tests/t-name-value.c:652,1
    - Dst: ARGPARSE_end
      Src: /src/libgpg-error/tests/t-name-value.c:653,1
    - Dst: gpgrt_set_strusage
      Src: /src/libgpg-error/tests/t-name-value.c:657,1
    - Dst: gpgrt_log_set_prefix
      Src: /src/libgpg-error/tests/t-name-value.c:658,1
    - Dst: gpgrt_strusage
      Src: /src/libgpg-error/tests/t-name-value.c:658,1
    - Dst: gpgrt_argparse
      Src: /src/libgpg-error/tests/t-name-value.c:660,1
    - Dst: gpgrt_argparse
      Src: /src/libgpg-error/tests/t-name-value.c:675,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-name-value.c:679,1
    - Dst: run_tests
      Src: /src/libgpg-error/tests/t-name-value.c:681,1
    - Dst: run_modification_tests
      Src: /src/libgpg-error/tests/t-name-value.c:682,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-name-value.c:684,1
    - Dst: run_tests
      Src: /src/libgpg-error/tests/t-name-value.c:687,1
    - Dst: run_modification_tests
      Src: /src/libgpg-error/tests/t-name-value.c:688,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-name-value.c:690,1
    - Dst: run_tests
      Src: /src/libgpg-error/tests/t-name-value.c:693,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-name-value.c:695,1
    - Dst: gpgrt_usage
      Src: /src/libgpg-error/tests/t-name-value.c:700,1
    - Dst: parse
      Src: /src/libgpg-error/tests/t-name-value.c:701,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 705
    functionName: main
    functionSourceFile: /src/libgpg-error/tests/t-name-value.c
    functionUses: 12
    functionsReached:
    - ARGPARSE_c
    - gpgrt_set_strusage
    - gpgrt_log_set_prefix
    - run_modification_tests
    - ARGPARSE_s_n
    - show
    - gpgrt_usage
    - ARGPARSE_x
    - ARGPARSE_end
    - run_tests
    - parse
    - gpgrt_argparse
    - gpgrt_strusage
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libgpg-error/tests/t-syserror.c:44,1
    - Dst: fclose
      Src: /src/libgpg-error/tests/t-syserror.c:47,1
    - Dst: fopen
      Src: /src/libgpg-error/tests/t-syserror.c:48,1
    - Dst: fclose
      Src: /src/libgpg-error/tests/t-syserror.c:52,1
    - Dst: fprintf
      Src: /src/libgpg-error/tests/t-syserror.c:53,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgpg-error/tests/t-syserror.c:58,1
    - Dst: fprintf
      Src: /src/libgpg-error/tests/t-syserror.c:61,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgpg-error/tests/t-syserror.c:65,1
    - Dst: fprintf
      Src: /src/libgpg-error/tests/t-syserror.c:67,1
    - Dst: gpg_err_set_errno
      Src: /src/libgpg-error/tests/t-syserror.c:71,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgpg-error/tests/t-syserror.c:73,1
    - Dst: fprintf
      Src: /src/libgpg-error/tests/t-syserror.c:76,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgpg-error/tests/t-syserror.c:80,1
    - Dst: fprintf
      Src: /src/libgpg-error/tests/t-syserror.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/libgpg-error/tests/t-syserror.c
    functionUses: 12
    functionsReached:
    - gpg_err_code_from_syserror
    - fclose
    - fprintf
    - fopen
    - gpg_err_set_errno
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: init_accounts
    functionSourceFile: /src/libgpg-error/tests/t-lock.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_accounts (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: die
      Src: /src/libgpg-error/tests/t-lock.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: check_accounts
    functionSourceFile: /src/libgpg-error/tests/t-lock.c
    functionUses: 2
    functionsReached:
    - die
    linkageType: ''
    returnType: void
    signature: void check_accounts (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libgpg-error/tests/t-lock.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: print_accounts
    functionSourceFile: /src/libgpg-error/tests/t-lock.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_accounts (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/libgpg-error/tests/t-lock.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - high
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: get_rand
    functionSourceFile: /src/libgpg-error/tests/t-lock.c
    functionUses: 2
    functionsReached:
    - rand
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_rand (int high)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_rand
      Src: /src/libgpg-error/tests/t-lock.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: pick_account
    functionSourceFile: /src/libgpg-error/tests/t-lock.c
    functionUses: 1
    functionsReached:
    - get_rand
    linkageType: ''
    returnType: int
    signature: int pick_account (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_rand
      Src: /src/libgpg-error/tests/t-lock.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: pick_value
    functionSourceFile: /src/libgpg-error/tests/t-lock.c
    functionUses: 1
    functionsReached:
    - get_rand
    linkageType: ''
    returnType: int
    signature: int pick_value (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_lock_lock
      Src: /src/libgpg-error/tests/t-lock.c:147,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-lock.c:149,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-lock.c:149,1
    - Dst: check_accounts
      Src: /src/libgpg-error/tests/t-lock.c:151,1
    - Dst: gpgrt_lock_unlock
      Src: /src/libgpg-error/tests/t-lock.c:152,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-lock.c:154,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-lock.c:154,1
    - Dst: gpgrt_yield
      Src: /src/libgpg-error/tests/t-lock.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: revision_thread
    functionSourceFile: /src/libgpg-error/tests/t-lock.c
    functionUses: 0
    functionsReached:
    - fail
    - gpgrt_lock_unlock
    - check_accounts
    - gpg_strerror
    - gpgrt_yield
    - gpgrt_lock_lock
    linkageType: ''
    returnType: THREAD_RET_TYPE
    signature: THREAD_RET_TYPE revision_thread (void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/libgpg-error/tests/t-lock.c:174,1
    - Dst: time
      Src: /src/libgpg-error/tests/t-lock.c:174,1
    - Dst: getpid
      Src: /src/libgpg-error/tests/t-lock.c:174,1
    - Dst: gpgrt_lock_lock
      Src: /src/libgpg-error/tests/t-lock.c:178,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-lock.c:180,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-lock.c:180,1
    - Dst: pick_account
      Src: /src/libgpg-error/tests/t-lock.c:182,1
    - Dst: pick_account
      Src: /src/libgpg-error/tests/t-lock.c:183,1
    - Dst: pick_value
      Src: /src/libgpg-error/tests/t-lock.c:184,1
    - Dst: gpgrt_lock_unlock
      Src: /src/libgpg-error/tests/t-lock.c:188,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-lock.c:190,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-lock.c:190,1
    - Dst: gpgrt_yield
      Src: /src/libgpg-error/tests/t-lock.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 195
    functionName: accountant_thread
    functionSourceFile: /src/libgpg-error/tests/t-lock.c
    functionUses: 0
    functionsReached:
    - time
    - pick_account
    - fail
    - pick_value
    - gpgrt_lock_unlock
    - gpg_strerror
    - gpgrt_yield
    - srand
    - getpid
    - gpgrt_lock_lock
    linkageType: ''
    returnType: THREAD_RET_TYPE
    signature: THREAD_RET_TYPE accountant_thread (void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CreateThread
      Src: /src/libgpg-error/tests/t-lock.c:209,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-lock.c:211,1
    - Dst: GetLastError
      Src: /src/libgpg-error/tests/t-lock.c:211,1
    - Dst: CreateThread
      Src: /src/libgpg-error/tests/t-lock.c:215,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-lock.c:217,1
    - Dst: GetLastError
      Src: /src/libgpg-error/tests/t-lock.c:218,1
    - Dst: WaitForSingleObject
      Src: /src/libgpg-error/tests/t-lock.c:223,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-lock.c:225,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-lock.c:227,1
    - Dst: GetLastError
      Src: /src/libgpg-error/tests/t-lock.c:228,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/tests/t-lock.c:229,1
    - Dst: WaitForSingleObject
      Src: /src/libgpg-error/tests/t-lock.c:233,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-lock.c:235,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-lock.c:237,1
    - Dst: GetLastError
      Src: /src/libgpg-error/tests/t-lock.c:237,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/tests/t-lock.c:238,1
    - Dst: pthread_create
      Src: /src/libgpg-error/tests/t-lock.c:247,1
    - Dst: pthread_create
      Src: /src/libgpg-error/tests/t-lock.c:250,1
    - Dst: pthread_join
      Src: /src/libgpg-error/tests/t-lock.c:254,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-lock.c:255,1
    - Dst: pthread_join
      Src: /src/libgpg-error/tests/t-lock.c:259,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-lock.c:260,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-lock.c:263,1
    - Dst: gpgrt_lock_destroy
      Src: /src/libgpg-error/tests/t-lock.c:268,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 269
    functionName: run_test
    functionSourceFile: /src/libgpg-error/tests/t-lock.c
    functionUses: 3
    functionsReached:
    - fail
    - WaitForSingleObject
    - CreateThread
    - gpgrt_lock_destroy
    - pthread_join
    - pthread_create
    - show
    - die
    - GetLastError
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void run_test (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-lock.c:285,1
    - Dst: puts
      Src: /src/libgpg-error/tests/t-lock.c:287,1
    - Dst: exit
      Src: /src/libgpg-error/tests/t-lock.c:294,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-lock.c:296,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-lock.c:301,1
    - Dst: srand
      Src: /src/libgpg-error/tests/t-lock.c:308,1
    - Dst: time
      Src: /src/libgpg-error/tests/t-lock.c:308,1
    - Dst: getpid
      Src: /src/libgpg-error/tests/t-lock.c:308,1
    - Dst: gpg_error_check_version
      Src: /src/libgpg-error/tests/t-lock.c:310,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-lock.c:312,1
    - Dst: init_accounts
      Src: /src/libgpg-error/tests/t-lock.c:316,1
    - Dst: check_accounts
      Src: /src/libgpg-error/tests/t-lock.c:317,1
    - Dst: run_test
      Src: /src/libgpg-error/tests/t-lock.c:318,1
    - Dst: check_accounts
      Src: /src/libgpg-error/tests/t-lock.c:319,1
    - Dst: run_test
      Src: /src/libgpg-error/tests/t-lock.c:321,1
    - Dst: check_accounts
      Src: /src/libgpg-error/tests/t-lock.c:322,1
    - Dst: gpgrt_lock_init
      Src: /src/libgpg-error/tests/t-lock.c:324,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-lock.c:326,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-lock.c:326,1
    - Dst: run_test
      Src: /src/libgpg-error/tests/t-lock.c:327,1
    - Dst: check_accounts
      Src: /src/libgpg-error/tests/t-lock.c:328,1
    - Dst: print_accounts
      Src: /src/libgpg-error/tests/t-lock.c:330,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 333
    functionName: main
    functionSourceFile: /src/libgpg-error/tests/t-lock.c
    functionUses: 12
    functionsReached:
    - fail
    - run_test
    - exit
    - gpg_error_check_version
    - die
    - print_accounts
    - strcmp
    - puts
    - init_accounts
    - check_accounts
    - gpgrt_lock_init
    - gpg_strerror
    - srand
    - getpid
    - time
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_setenv
      Src: /src/libgpg-error/tests/t-spawn.c:60,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-spawn.c:62,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-spawn.c:62,1
    - Dst: gpgrt_setenv
      Src: /src/libgpg-error/tests/t-spawn.c:65,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-spawn.c:67,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-spawn.c:67,1
    - Dst: gpgrt_setenv
      Src: /src/libgpg-error/tests/t-spawn.c:68,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-spawn.c:70,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-spawn.c:70,1
    - Dst: gpgrt_spawn_actions_new
      Src: /src/libgpg-error/tests/t-spawn.c:72,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-spawn.c:74,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-spawn.c:75,1
    - Dst: gpgrt_spawn_actions_set_env_rev
      Src: /src/libgpg-error/tests/t-spawn.c:77,1
    - Dst: gpgrt_process_spawn
      Src: /src/libgpg-error/tests/t-spawn.c:79,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-spawn.c:85,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-spawn.c:85,1
    - Dst: gpgrt_spawn_actions_release
      Src: /src/libgpg-error/tests/t-spawn.c:87,1
    - Dst: gpgrt_process_get_streams
      Src: /src/libgpg-error/tests/t-spawn.c:89,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-spawn.c:91,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-spawn.c:92,1
    - Dst: gpgrt_fgets
      Src: /src/libgpg-error/tests/t-spawn.c:97,1
    - Dst: DIM
      Src: /src/libgpg-error/tests/t-spawn.c:97,1
    - Dst: strchr
      Src: /src/libgpg-error/tests/t-spawn.c:101,1
    - Dst: strncmp
      Src: /src/libgpg-error/tests/t-spawn.c:106,1
    - Dst: strncmp
      Src: /src/libgpg-error/tests/t-spawn.c:108,1
    - Dst: strncmp
      Src: /src/libgpg-error/tests/t-spawn.c:111,1
    - Dst: strncmp
      Src: /src/libgpg-error/tests/t-spawn.c:113,1
    - Dst: strncmp
      Src: /src/libgpg-error/tests/t-spawn.c:116,1
    - Dst: gpgrt_fclose
      Src: /src/libgpg-error/tests/t-spawn.c:120,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-spawn.c:122,1
    - Dst: gpgrt_process_wait
      Src: /src/libgpg-error/tests/t-spawn.c:124,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-spawn.c:126,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-spawn.c:126,1
    - Dst: gpgrt_process_release
      Src: /src/libgpg-error/tests/t-spawn.c:128,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-spawn.c:131,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-spawn.c:136,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-spawn.c:138,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-spawn.c:140,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 141
    functionName: run_test
    functionSourceFile: /src/libgpg-error/tests/t-spawn.c
    functionUses: 4
    functionsReached:
    - gpgrt_setenv
    - gpgrt_process_get_streams
    - gpgrt_spawn_actions_release
    - fail
    - gpgrt_process_spawn
    - gpgrt_fgets
    - gpgrt_process_release
    - show
    - DIM
    - gpgrt_spawn_actions_new
    - strchr
    - gpg_strerror
    - gpgrt_process_wait
    - gpgrt_fclose
    - gpgrt_spawn_actions_set_env_rev
    - strncmp
    linkageType: ''
    returnType: void
    signature: void run_test (const char *progname)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-spawn.c:158,1
    - Dst: puts
      Src: /src/libgpg-error/tests/t-spawn.c:160,1
    - Dst: exit
      Src: /src/libgpg-error/tests/t-spawn.c:168,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-spawn.c:170,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-spawn.c:175,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-spawn.c:180,1
    - Dst: gpg_error_check_version
      Src: /src/libgpg-error/tests/t-spawn.c:187,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-spawn.c:189,1
    - Dst: gpgrt_getenv
      Src: /src/libgpg-error/tests/t-spawn.c:197,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-spawn.c:200,1
    - Dst: gpgrt_free
      Src: /src/libgpg-error/tests/t-spawn.c:201,1
    - Dst: gpgrt_getenv
      Src: /src/libgpg-error/tests/t-spawn.c:203,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-spawn.c:206,1
    - Dst: gpgrt_free
      Src: /src/libgpg-error/tests/t-spawn.c:207,1
    - Dst: gpgrt_getenv
      Src: /src/libgpg-error/tests/t-spawn.c:209,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-spawn.c:212,1
    - Dst: gpgrt_free
      Src: /src/libgpg-error/tests/t-spawn.c:213,1
    - Dst: run_test
      Src: /src/libgpg-error/tests/t-spawn.c:218,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 220
    functionName: main
    functionSourceFile: /src/libgpg-error/tests/t-spawn.c
    functionUses: 12
    functionsReached:
    - printf
    - exit
    - strcmp
    - puts
    - gpgrt_getenv
    - die
    - gpgrt_free
    - gpg_error_check_version
    - run_test
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: my_strusage
    functionSourceFile: /src/libgpg-error/tests/t-stringutils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage (int level)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_fnameconcat
      Src: /src/libgpg-error/tests/t-stringutils.c:69,1
    - Dst: getenv
      Src: /src/libgpg-error/tests/t-stringutils.c:73,1
    - Dst: xstrdup
      Src: /src/libgpg-error/tests/t-stringutils.c:76,1
    - Dst: getpwuid
      Src: /src/libgpg-error/tests/t-stringutils.c:82,1
    - Dst: getuid
      Src: /src/libgpg-error/tests/t-stringutils.c:82,1
    - Dst: xstrdup
      Src: /src/libgpg-error/tests/t-stringutils.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 90
    functionName: mygethome
    functionSourceFile: /src/libgpg-error/tests/t-stringutils.c
    functionUses: 0
    functionsReached:
    - gpgrt_fnameconcat
    - getenv
    - getuid
    - xstrdup
    - getpwuid
    linkageType: ''
    returnType: char
    signature: 'char *

      mygethome (void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MultiByteToWideChar
      Src: /src/libgpg-error/tests/t-stringutils.c:102,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-stringutils.c:104,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-stringutils.c:107,1
    - Dst: xmalloc
      Src: /src/libgpg-error/tests/t-stringutils.c:108,1
    - Dst: MultiByteToWideChar
      Src: /src/libgpg-error/tests/t-stringutils.c:109,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-stringutils.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 114
    functionName: utf8_to_wchar
    functionSourceFile: /src/libgpg-error/tests/t-stringutils.c
    functionUses: 17
    functionsReached:
    - die
    - xmalloc
    - MultiByteToWideChar
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      utf8_to_wchar (const char *string)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WideCharToMultiByte
      Src: /src/libgpg-error/tests/t-stringutils.c:123,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-stringutils.c:125,1
    - Dst: xmalloc
      Src: /src/libgpg-error/tests/t-stringutils.c:127,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-stringutils.c:129,1
    - Dst: WideCharToMultiByte
      Src: /src/libgpg-error/tests/t-stringutils.c:130,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-stringutils.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - string
    - length
    argTypes:
    - wchar_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 135
    functionName: wchar_to_utf8
    functionSourceFile: /src/libgpg-error/tests/t-stringutils.c
    functionUses: 9
    functionsReached:
    - die
    - xmalloc
    - WideCharToMultiByte
    linkageType: ''
    returnType: char
    signature: 'char *

      wchar_to_utf8 (const wchar_t *string, size_t length)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentDirectoryW
      Src: /src/libgpg-error/tests/t-stringutils.c:147,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-stringutils.c:149,1
    - Dst: GetLastError
      Src: /src/libgpg-error/tests/t-stringutils.c:149,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-stringutils.c:151,1
    - Dst: wchar_to_utf8
      Src: /src/libgpg-error/tests/t-stringutils.c:153,1
    - Dst: utf8_to_wchar
      Src: /src/libgpg-error/tests/t-stringutils.c:156,1
    - Dst: wcscmp
      Src: /src/libgpg-error/tests/t-stringutils.c:157,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-stringutils.c:158,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-stringutils.c:159,1
    - Dst: xmalloc
      Src: /src/libgpg-error/tests/t-stringutils.c:172,1
    - Dst: getcwd
      Src: /src/libgpg-error/tests/t-stringutils.c:173,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-stringutils.c:177,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-stringutils.c:179,1
    - Dst: strerror
      Src: /src/libgpg-error/tests/t-stringutils.c:179,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 183
    functionName: mygetcwd
    functionSourceFile: /src/libgpg-error/tests/t-stringutils.c
    functionUses: 1
    functionsReached:
    - xmalloc
    - xfree
    - wchar_to_utf8
    - utf8_to_wchar
    - die
    - GetCurrentDirectoryW
    - wcscmp
    - GetLastError
    - strerror
    - getcwd
    linkageType: ''
    returnType: char
    signature: 'char *

      mygetcwd (void)'
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: mygethome
      Src: /src/libgpg-error/tests/t-stringutils.c:190,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-stringutils.c:191,1
    - Dst: gpgrt_fnameconcat
      Src: /src/libgpg-error/tests/t-stringutils.c:193,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:198,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:200,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-stringutils.c:201,1
    - Dst: gpgrt_fnameconcat
      Src: /src/libgpg-error/tests/t-stringutils.c:203,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:208,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:210,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-stringutils.c:211,1
    - Dst: gpgrt_fnameconcat
      Src: /src/libgpg-error/tests/t-stringutils.c:213,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-stringutils.c:217,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:222,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-stringutils.c:223,1
    - Dst: gpgrt_fnameconcat
      Src: /src/libgpg-error/tests/t-stringutils.c:225,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-stringutils.c:226,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:227,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-stringutils.c:228,1
    - Dst: gpgrt_fnameconcat
      Src: /src/libgpg-error/tests/t-stringutils.c:230,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-stringutils.c:231,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:232,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-stringutils.c:233,1
    - Dst: gpgrt_fnameconcat
      Src: /src/libgpg-error/tests/t-stringutils.c:235,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-stringutils.c:236,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:237,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-stringutils.c:238,1
    - Dst: gpgrt_fnameconcat
      Src: /src/libgpg-error/tests/t-stringutils.c:240,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-stringutils.c:241,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:242,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-stringutils.c:243,1
    - Dst: gpgrt_fnameconcat
      Src: /src/libgpg-error/tests/t-stringutils.c:245,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-stringutils.c:246,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:247,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-stringutils.c:248,1
    - Dst: gpgrt_fnameconcat
      Src: /src/libgpg-error/tests/t-stringutils.c:250,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:252,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-stringutils.c:255,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:256,1
    - Dst: strncmp
      Src: /src/libgpg-error/tests/t-stringutils.c:257,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:258,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-stringutils.c:259,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:260,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-stringutils.c:264,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:265,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-stringutils.c:267,1
    - Dst: gpgrt_fnameconcat
      Src: /src/libgpg-error/tests/t-stringutils.c:269,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:271,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-stringutils.c:274,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:275,1
    - Dst: strncmp
      Src: /src/libgpg-error/tests/t-stringutils.c:276,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:277,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-stringutils.c:278,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:279,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-stringutils.c:283,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:284,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-stringutils.c:286,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 287
    functionName: check_fnameconcat
    functionSourceFile: /src/libgpg-error/tests/t-stringutils.c
    functionUses: 0
    functionsReached:
    - gpgrt_fnameconcat
    - fail
    - strlen
    - mygethome
    - strcmp
    - xfree
    - strncmp
    linkageType: ''
    returnType: void
    signature: void check_fnameconcat (void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mygetcwd
      Src: /src/libgpg-error/tests/t-stringutils.c:294,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-stringutils.c:295,1
    - Dst: gpgrt_absfnameconcat
      Src: /src/libgpg-error/tests/t-stringutils.c:297,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:299,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-stringutils.c:300,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:301,1
    - Dst: strncmp
      Src: /src/libgpg-error/tests/t-stringutils.c:302,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:303,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-stringutils.c:304,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:305,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-stringutils.c:306,1
    - Dst: gpgrt_absfnameconcat
      Src: /src/libgpg-error/tests/t-stringutils.c:308,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:310,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-stringutils.c:311,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:312,1
    - Dst: strncmp
      Src: /src/libgpg-error/tests/t-stringutils.c:313,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:314,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-stringutils.c:315,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:316,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-stringutils.c:317,1
    - Dst: gpgrt_absfnameconcat
      Src: /src/libgpg-error/tests/t-stringutils.c:319,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:321,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-stringutils.c:322,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:323,1
    - Dst: strncmp
      Src: /src/libgpg-error/tests/t-stringutils.c:324,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:325,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-stringutils.c:326,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:327,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-stringutils.c:328,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-stringutils.c:330,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 331
    functionName: check_absfnameconcat
    functionSourceFile: /src/libgpg-error/tests/t-stringutils.c
    functionUses: 0
    functionsReached:
    - fail
    - strlen
    - gpgrt_absfnameconcat
    - strcmp
    - mygetcwd
    - xfree
    - strncmp
    linkageType: ''
    returnType: void
    signature: void check_absfnameconcat (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mygetcwd
      Src: /src/libgpg-error/tests/t-stringutils.c:337,1
    - Dst: gpgrt_access
      Src: /src/libgpg-error/tests/t-stringutils.c:339,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:340,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-stringutils.c:341,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/tests/t-stringutils.c:341,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-stringutils.c:343,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-stringutils.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 346
    functionName: check_access
    functionSourceFile: /src/libgpg-error/tests/t-stringutils.c
    functionUses: 0
    functionsReached:
    - fail
    - gpg_error_from_syserror
    - gpgrt_access
    - mygetcwd
    - gpg_strerror
    - xfree
    - show
    linkageType: ''
    returnType: void
    signature: void check_access (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ARGPARSE_x
      Src: /src/libgpg-error/tests/t-stringutils.c:353,1
    - Dst: ARGPARSE_s_n
      Src: /src/libgpg-error/tests/t-stringutils.c:354,1
    - Dst: ARGPARSE_x
      Src: /src/libgpg-error/tests/t-stringutils.c:355,1
    - Dst: ARGPARSE_end
      Src: /src/libgpg-error/tests/t-stringutils.c:356,1
    - Dst: gpgrt_set_strusage
      Src: /src/libgpg-error/tests/t-stringutils.c:362,1
    - Dst: gpgrt_log_set_prefix
      Src: /src/libgpg-error/tests/t-stringutils.c:363,1
    - Dst: gpgrt_strusage
      Src: /src/libgpg-error/tests/t-stringutils.c:363,1
    - Dst: gpgrt_argparse
      Src: /src/libgpg-error/tests/t-stringutils.c:365,1
    - Dst: gpgrt_argparse
      Src: /src/libgpg-error/tests/t-stringutils.c:375,1
    - Dst: gpgrt_getcwd
      Src: /src/libgpg-error/tests/t-stringutils.c:377,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-stringutils.c:379,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/tests/t-stringutils.c:380,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/tests/t-stringutils.c:380,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-stringutils.c:387,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-stringutils.c:390,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-stringutils.c:393,1
    - Dst: check_fnameconcat
      Src: /src/libgpg-error/tests/t-stringutils.c:395,1
    - Dst: check_absfnameconcat
      Src: /src/libgpg-error/tests/t-stringutils.c:396,1
    - Dst: check_access
      Src: /src/libgpg-error/tests/t-stringutils.c:397,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-stringutils.c:399,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 401
    functionName: main
    functionSourceFile: /src/libgpg-error/tests/t-stringutils.c
    functionUses: 12
    functionsReached:
    - gpgrt_log_set_prefix
    - gpgrt_set_strusage
    - gpgrt_getcwd
    - ARGPARSE_s_n
    - fail
    - gpg_error_from_syserror
    - show
    - check_fnameconcat
    - ARGPARSE_x
    - check_access
    - ARGPARSE_end
    - gpg_strerror
    - xfree
    - gpgrt_argparse
    - check_absfnameconcat
    - gpgrt_strusage
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: my_strusage
    functionSourceFile: /src/libgpg-error/tests/t-argparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage (int level)'
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: ARGPARSE_verbatim
      Src: /src/libgpg-error/tests/t-argparse.c:71,1
    - Dst: ARGPARSE_c
      Src: /src/libgpg-error/tests/t-argparse.c:72,1
    - Dst: ARGPARSE_c
      Src: /src/libgpg-error/tests/t-argparse.c:73,1
    - Dst: ARGPARSE_c
      Src: /src/libgpg-error/tests/t-argparse.c:74,1
    - Dst: ARGPARSE_x
      Src: /src/libgpg-error/tests/t-argparse.c:75,1
    - Dst: ARGPARSE_s_n
      Src: /src/libgpg-error/tests/t-argparse.c:76,1
    - Dst: ARGPARSE_s_n
      Src: /src/libgpg-error/tests/t-argparse.c:78,1
    - Dst: ARGPARSE_s_s
      Src: /src/libgpg-error/tests/t-argparse.c:79,1
    - Dst: ARGPARSE_o_s
      Src: /src/libgpg-error/tests/t-argparse.c:80,1
    - Dst: ARGPARSE_header
      Src: /src/libgpg-error/tests/t-argparse.c:82,1
    - Dst: ARGPARSE_s_s
      Src: /src/libgpg-error/tests/t-argparse.c:83,1
    - Dst: ARGPARSE_o_i
      Src: /src/libgpg-error/tests/t-argparse.c:84,1
    - Dst: ARGPARSE_o_i
      Src: /src/libgpg-error/tests/t-argparse.c:85,1
    - Dst: ARGPARSE_s_n
      Src: /src/libgpg-error/tests/t-argparse.c:86,1
    - Dst: ARGPARSE_conffile
      Src: /src/libgpg-error/tests/t-argparse.c:87,1
    - Dst: ARGPARSE_noconffile
      Src: /src/libgpg-error/tests/t-argparse.c:88,1
    - Dst: ARGPARSE_s_s
      Src: /src/libgpg-error/tests/t-argparse.c:89,1
    - Dst: ARGPARSE_verbatim
      Src: /src/libgpg-error/tests/t-argparse.c:90,1
    - Dst: ARGPARSE_end
      Src: /src/libgpg-error/tests/t-argparse.c:91,1
    - Dst: getenv
      Src: /src/libgpg-error/tests/t-argparse.c:106,1
    - Dst: gpgrt_set_strusage
      Src: /src/libgpg-error/tests/t-argparse.c:109,1
    - Dst: getenv
      Src: /src/libgpg-error/tests/t-argparse.c:110,1
    - Dst: gpgrt_set_confdir
      Src: /src/libgpg-error/tests/t-argparse.c:113,1
    - Dst: gpgrt_fnameconcat
      Src: /src/libgpg-error/tests/t-argparse.c:115,1
    - Dst: gpgrt_set_confdir
      Src: /src/libgpg-error/tests/t-argparse.c:116,1
    - Dst: xfree
      Src: /src/libgpg-error/tests/t-argparse.c:117,1
    - Dst: gpgrt_argparser
      Src: /src/libgpg-error/tests/t-argparse.c:120,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-argparse.c:135,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-argparse.c:139,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-argparse.c:163,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-argparse.c:165,1
    - Dst: puts
      Src: /src/libgpg-error/tests/t-argparse.c:167,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-argparse.c:169,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-argparse.c:171,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-argparse.c:173,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-argparse.c:175,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-argparse.c:177,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-argparse.c:179,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-argparse.c:181,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-argparse.c:183,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-argparse.c:185,1
    - Dst: gpgrt_argparse
      Src: /src/libgpg-error/tests/t-argparse.c:187,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 90
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 194
    functionName: main
    functionSourceFile: /src/libgpg-error/tests/t-argparse.c
    functionUses: 12
    functionsReached:
    - gpgrt_fnameconcat
    - gpgrt_argparser
    - puts
    - ARGPARSE_verbatim
    - gpgrt_set_strusage
    - printf
    - ARGPARSE_s_n
    - ARGPARSE_header
    - ARGPARSE_c
    - ARGPARSE_s_s
    - ARGPARSE_noconffile
    - ARGPARSE_x
    - ARGPARSE_end
    - xfree
    - gpgrt_argparse
    - ARGPARSE_conffile
    - ARGPARSE_o_i
    - getenv
    - gpgrt_set_confdir
    - ARGPARSE_o_s
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_rewind
      Src: /src/libgpg-error/tests/t-printf.c:58,1
    - Dst: realloc
      Src: /src/libgpg-error/tests/t-printf.c:65,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-printf.c:67,1
    - Dst: gpgrt_fread
      Src: /src/libgpg-error/tests/t-printf.c:69,1
    - Dst: gpgrt_ferror
      Src: /src/libgpg-error/tests/t-printf.c:70,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-printf.c:71,1
    - Dst: strerror
      Src: /src/libgpg-error/tests/t-printf.c:71,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-printf.c:77,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-printf.c:78,1
    - Dst: gpgrt_ftruncate
      Src: /src/libgpg-error/tests/t-printf.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - stream
    argTypes:
    - gpgrt_stream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 83
    functionName: stream_to_string
    functionSourceFile: /src/libgpg-error/tests/t-printf.c
    functionUses: 0
    functionsReached:
    - fail
    - realloc
    - gpgrt_rewind
    - strlen
    - gpgrt_fread
    - gpgrt_ferror
    - die
    - gpgrt_ftruncate
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      stream_to_string (gpgrt_stream_t stream)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:92,1
    - Dst: va_start
      Src: /src/libgpg-error/tests/t-printf.c:95,1
    - Dst: vasprintf
      Src: /src/libgpg-error/tests/t-printf.c:97,1
    - Dst: va_end
      Src: /src/libgpg-error/tests/t-printf.c:101,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-printf.c:104,1
    - Dst: strerror
      Src: /src/libgpg-error/tests/t-printf.c:104,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 109
    functionName: one_test_x0
    functionSourceFile: /src/libgpg-error/tests/t-printf.c
    functionUses: 0
    functionsReached:
    - va_end
    - fail
    - vasprintf
    - va_start
    - show
    - strerror
    linkageType: ''
    returnType: void
    signature: void one_test_x0 (const char *format, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/tests/t-printf.c:119,1
    - Dst: gpgrt_vasprintf
      Src: /src/libgpg-error/tests/t-printf.c:120,1
    - Dst: va_end
      Src: /src/libgpg-error/tests/t-printf.c:121,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-printf.c:124,1
    - Dst: strerror
      Src: /src/libgpg-error/tests/t-printf.c:124,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:127,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-printf.c:129,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-printf.c:131,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-printf.c:137,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-printf.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 142
    functionName: one_test_x1
    functionSourceFile: /src/libgpg-error/tests/t-printf.c
    functionUses: 0
    functionsReached:
    - va_end
    - gpgrt_vasprintf
    - fail
    - strcmp
    - va_start
    - show
    - strerror
    - free
    linkageType: ''
    returnType: void
    signature: void one_test_x1 (const char *format, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/tests/t-printf.c:152,1
    - Dst: gpgrt_vbsprintf
      Src: /src/libgpg-error/tests/t-printf.c:153,1
    - Dst: va_end
      Src: /src/libgpg-error/tests/t-printf.c:154,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-printf.c:157,1
    - Dst: strerror
      Src: /src/libgpg-error/tests/t-printf.c:157,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:160,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-printf.c:162,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-printf.c:164,1
    - Dst: es_free
      Src: /src/libgpg-error/tests/t-printf.c:168,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-printf.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 172
    functionName: one_test_x2
    functionSourceFile: /src/libgpg-error/tests/t-printf.c
    functionUses: 0
    functionsReached:
    - va_end
    - fail
    - show
    - es_free
    - strcmp
    - va_start
    - gpgrt_vbsprintf
    - strerror
    - free
    linkageType: ''
    returnType: void
    signature: void one_test_x2 (const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: one_test_0
    functionSourceFile: /src/libgpg-error/tests/t-printf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: one_test_0(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: one_test_1
    functionSourceFile: /src/libgpg-error/tests/t-printf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: one_test_1(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: one_test_2
    functionSourceFile: /src/libgpg-error/tests/t-printf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: one_test_2(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: one_test_3
    functionSourceFile: /src/libgpg-error/tests/t-printf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: one_test_3(a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:197,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:202,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:203,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:208,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:209,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:210,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:211,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:212,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:213,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:214,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:215,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:216,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:217,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:218,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:219,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:221,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:222,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:223,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:224,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:225,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:226,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:227,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:228,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:230,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:231,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:232,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:233,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:234,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:235,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:236,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:237,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:238,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:239,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:241,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:242,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:244,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:245,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:246,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:247,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:248,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:250,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:251,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:252,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:253,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:254,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:255,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:256,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:257,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:259,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:260,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:261,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:262,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:263,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:264,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:265,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:266,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:267,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:268,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:269,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:270,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:271,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:272,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:273,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:274,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:276,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:277,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:278,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:279,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:280,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:281,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:282,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:283,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:284,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:285,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:286,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:287,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:288,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:289,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:290,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:291,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:293,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:294,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:295,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:296,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:297,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:298,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:299,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:300,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:301,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:302,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:303,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:304,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:305,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:306,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:307,1
    - Dst: one_test_3
      Src: /src/libgpg-error/tests/t-printf.c:308,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:310,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:311,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:312,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:313,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:314,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:315,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:316,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:317,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:318,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:319,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:320,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:321,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:323,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:325,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:326,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:327,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:328,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:329,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:330,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:331,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:332,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:333,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:334,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:335,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:336,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:337,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:338,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:339,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:340,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:341,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:343,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:344,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:345,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:346,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:347,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:348,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:349,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:350,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:351,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:352,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:353,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:354,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:356,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:357,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:358,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:359,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:360,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:362,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:363,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:365,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:366,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:367,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:370,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:371,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:372,1
    - Dst: one_test_0
      Src: /src/libgpg-error/tests/t-printf.c:378,1
    - Dst: one_test_1
      Src: /src/libgpg-error/tests/t-printf.c:379,1
    - Dst: one_test_2
      Src: /src/libgpg-error/tests/t-printf.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 155
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 384
    functionName: run_tests
    functionSourceFile: /src/libgpg-error/tests/t-printf.c
    functionUses: 2
    functionsReached:
    - one_test_2
    - show
    - one_test_3
    - one_test_0
    - one_test_1
    linkageType: ''
    returnType: void
    signature: void run_tests (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_snprintf
      Src: /src/libgpg-error/tests/t-printf.c:393,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-printf.c:395,1
    - Dst: gpgrt_snprintf
      Src: /src/libgpg-error/tests/t-printf.c:396,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-printf.c:398,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-printf.c:398,1
    - Dst: gpgrt_snprintf
      Src: /src/libgpg-error/tests/t-printf.c:399,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-printf.c:401,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-printf.c:401,1
    - Dst: gpgrt_snprintf
      Src: /src/libgpg-error/tests/t-printf.c:402,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-printf.c:404,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-printf.c:404,1
    - Dst: gpgrt_snprintf
      Src: /src/libgpg-error/tests/t-printf.c:405,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-printf.c:407,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-printf.c:407,1
    - Dst: gpgrt_snprintf
      Src: /src/libgpg-error/tests/t-printf.c:411,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-printf.c:413,1
    - Dst: snprintf
      Src: /src/libgpg-error/tests/t-printf.c:414,1
    - Dst: strlen
      Src: /src/libgpg-error/tests/t-printf.c:416,1
    - Dst: printf
      Src: /src/libgpg-error/tests/t-printf.c:418,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 423
    functionName: check_snprintf
    functionSourceFile: /src/libgpg-error/tests/t-printf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - printf
    - gpgrt_snprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: void check_snprintf (void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_bsprintf
      Src: /src/libgpg-error/tests/t-printf.c:436,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-printf.c:439,1
    - Dst: strerror
      Src: /src/libgpg-error/tests/t-printf.c:440,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:443,1
    - Dst: gpgrt_bsprintf
      Src: /src/libgpg-error/tests/t-printf.c:445,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-printf.c:448,1
    - Dst: strerror
      Src: /src/libgpg-error/tests/t-printf.c:449,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:452,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-printf.c:454,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-printf.c:455,1
    - Dst: gpgrt_free
      Src: /src/libgpg-error/tests/t-printf.c:456,1
    - Dst: gpgrt_free
      Src: /src/libgpg-error/tests/t-printf.c:457,1
    - Dst: gpgrt_bsprintf
      Src: /src/libgpg-error/tests/t-printf.c:462,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-printf.c:465,1
    - Dst: strerror
      Src: /src/libgpg-error/tests/t-printf.c:466,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:469,1
    - Dst: gpgrt_free
      Src: /src/libgpg-error/tests/t-printf.c:470,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:474,1
    - Dst: gpgrt_bsprintf
      Src: /src/libgpg-error/tests/t-printf.c:477,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-printf.c:480,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:483,1
    - Dst: gpgrt_free
      Src: /src/libgpg-error/tests/t-printf.c:484,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:487,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 491
    functionName: check_large_float
    functionSourceFile: /src/libgpg-error/tests/t-printf.c
    functionUses: 0
    functionsReached:
    - fail
    - strcmp
    - show
    - gpgrt_free
    - strerror
    - gpgrt_bsprintf
    linkageType: ''
    returnType: void
    signature: void check_large_float (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libgpg-error/tests/t-printf.c:507,1
    - Dst: strdup
      Src: /src/libgpg-error/tests/t-printf.c:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - string
    - 'no'
    - opaque
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 519
    functionName: string_filter
    functionSourceFile: /src/libgpg-error/tests/t-printf.c
    functionUses: 0
    functionsReached:
    - strdup
    - free
    linkageType: ''
    returnType: char
    signature: 'char *

      string_filter (const char *string, int no, void *opaque)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_fopenmem
      Src: /src/libgpg-error/tests/t-printf.c:531,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-printf.c:533,1
    - Dst: gpgrt_fprintf_sf
      Src: /src/libgpg-error/tests/t-printf.c:535,1
    - Dst: stream_to_string
      Src: /src/libgpg-error/tests/t-printf.c:540,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-printf.c:541,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:543,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:544,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-printf.c:545,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-printf.c:547,1
    - Dst: gpgrt_fprintf_sf
      Src: /src/libgpg-error/tests/t-printf.c:549,1
    - Dst: stream_to_string
      Src: /src/libgpg-error/tests/t-printf.c:553,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-printf.c:554,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:556,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:557,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-printf.c:558,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-printf.c:560,1
    - Dst: gpgrt_fprintf_sf
      Src: /src/libgpg-error/tests/t-printf.c:562,1
    - Dst: stream_to_string
      Src: /src/libgpg-error/tests/t-printf.c:566,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-printf.c:567,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:569,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:570,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-printf.c:571,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-printf.c:573,1
    - Dst: gpgrt_fprintf_sf
      Src: /src/libgpg-error/tests/t-printf.c:575,1
    - Dst: stream_to_string
      Src: /src/libgpg-error/tests/t-printf.c:579,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-printf.c:580,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:582,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:583,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-printf.c:584,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-printf.c:586,1
    - Dst: gpgrt_fclose
      Src: /src/libgpg-error/tests/t-printf.c:588,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 589
    functionName: check_fprintf_sf
    functionSourceFile: /src/libgpg-error/tests/t-printf.c
    functionUses: 0
    functionsReached:
    - stream_to_string
    - gpgrt_fprintf_sf
    - fail
    - gpgrt_fclose
    - strcmp
    - show
    - die
    - gpgrt_fopenmem
    - free
    linkageType: ''
    returnType: void
    signature: void check_fprintf_sf (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_fopenmem
      Src: /src/libgpg-error/tests/t-printf.c:598,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-printf.c:600,1
    - Dst: gpgrt_fwrite
      Src: /src/libgpg-error/tests/t-printf.c:602,1
    - Dst: stream_to_string
      Src: /src/libgpg-error/tests/t-printf.c:604,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-printf.c:605,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:607,1
    - Dst: show
      Src: /src/libgpg-error/tests/t-printf.c:608,1
    - Dst: fail
      Src: /src/libgpg-error/tests/t-printf.c:609,1
    - Dst: free
      Src: /src/libgpg-error/tests/t-printf.c:611,1
    - Dst: gpgrt_fclose
      Src: /src/libgpg-error/tests/t-printf.c:612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 613
    functionName: check_fwrite
    functionSourceFile: /src/libgpg-error/tests/t-printf.c
    functionUses: 0
    functionsReached:
    - stream_to_string
    - fail
    - gpgrt_fclose
    - strcmp
    - show
    - die
    - gpgrt_fwrite
    - gpgrt_fopenmem
    - free
    linkageType: ''
    returnType: void
    signature: void check_fwrite (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-printf.c:628,1
    - Dst: puts
      Src: /src/libgpg-error/tests/t-printf.c:630,1
    - Dst: exit
      Src: /src/libgpg-error/tests/t-printf.c:637,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-printf.c:639,1
    - Dst: strcmp
      Src: /src/libgpg-error/tests/t-printf.c:644,1
    - Dst: setlocale
      Src: /src/libgpg-error/tests/t-printf.c:651,1
    - Dst: gpg_error_check_version
      Src: /src/libgpg-error/tests/t-printf.c:652,1
    - Dst: die
      Src: /src/libgpg-error/tests/t-printf.c:654,1
    - Dst: run_tests
      Src: /src/libgpg-error/tests/t-printf.c:658,1
    - Dst: check_snprintf
      Src: /src/libgpg-error/tests/t-printf.c:659,1
    - Dst: check_large_float
      Src: /src/libgpg-error/tests/t-printf.c:660,1
    - Dst: check_fprintf_sf
      Src: /src/libgpg-error/tests/t-printf.c:661,1
    - Dst: check_fwrite
      Src: /src/libgpg-error/tests/t-printf.c:662,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 616
    functionDepth: 3
    functionLinenumber: 616
    functionLinenumberEnd: 669
    functionName: main
    functionSourceFile: /src/libgpg-error/tests/t-printf.c
    functionUses: 12
    functionsReached:
    - exit
    - check_fwrite
    - setlocale
    - strcmp
    - puts
    - run_tests
    - check_large_float
    - check_fprintf_sf
    - die
    - gpg_error_check_version
    - check_snprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: ATTR_PRINTF
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATTR_PRINTF(f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: ATTR_NR_PRINTF
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATTR_NR_PRINTF(f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: ATTR_SENTINEL
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATTR_SENTINEL(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: DIM
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 412
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: DIMof
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIMof(type,member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: spacep
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 140
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: spacep(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: digitp
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 158
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digitp(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libgpg-error/doc/yat2m.c:341,1
    - Dst: fprintf
      Src: /src/libgpg-error/doc/yat2m.c:342,1
    - Dst: va_start
      Src: /src/libgpg-error/doc/yat2m.c:344,1
    - Dst: vfprintf
      Src: /src/libgpg-error/doc/yat2m.c:345,1
    - Dst: va_end
      Src: /src/libgpg-error/doc/yat2m.c:346,1
    - Dst: putc
      Src: /src/libgpg-error/doc/yat2m.c:347,1
    - Dst: exit
      Src: /src/libgpg-error/doc/yat2m.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 350
    functionName: die
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 247
    functionsReached:
    - va_end
    - vfprintf
    - exit
    - fprintf
    - fflush
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void die (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libgpg-error/doc/yat2m.c:359,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:360,1
    - Dst: fprintf
      Src: /src/libgpg-error/doc/yat2m.c:361,1
    - Dst: va_start
      Src: /src/libgpg-error/doc/yat2m.c:363,1
    - Dst: vfprintf
      Src: /src/libgpg-error/doc/yat2m.c:364,1
    - Dst: va_end
      Src: /src/libgpg-error/doc/yat2m.c:365,1
    - Dst: putc
      Src: /src/libgpg-error/doc/yat2m.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 368
    functionName: err
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 93
    functionsReached:
    - va_end
    - vfprintf
    - fprintf
    - fflush
    - va_start
    - strncmp
    - putc
    linkageType: ''
    returnType: void
    signature: void err (const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libgpg-error/doc/yat2m.c:376,1
    - Dst: fprintf
      Src: /src/libgpg-error/doc/yat2m.c:377,1
    - Dst: va_start
      Src: /src/libgpg-error/doc/yat2m.c:379,1
    - Dst: vfprintf
      Src: /src/libgpg-error/doc/yat2m.c:380,1
    - Dst: va_end
      Src: /src/libgpg-error/doc/yat2m.c:381,1
    - Dst: putc
      Src: /src/libgpg-error/doc/yat2m.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 383
    functionName: inf
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 9
    functionsReached:
    - va_end
    - vfprintf
    - fprintf
    - fflush
    - va_start
    - putc
    linkageType: ''
    returnType: void
    signature: void inf (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libgpg-error/doc/yat2m.c:389,1
    - Dst: die
      Src: /src/libgpg-error/doc/yat2m.c:391,1
    - Dst: strerror
      Src: /src/libgpg-error/doc/yat2m.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 393
    functionName: xmalloc
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 321
    functionsReached:
    - die
    - strerror
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xmalloc (size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libgpg-error/doc/yat2m.c:398,1
    - Dst: die
      Src: /src/libgpg-error/doc/yat2m.c:400,1
    - Dst: strerror
      Src: /src/libgpg-error/doc/yat2m.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: xcalloc
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 73
    functionsReached:
    - die
    - calloc
    - strerror
    linkageType: ''
    returnType: void
    signature: 'void *

      xcalloc (size_t n, size_t m)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libgpg-error/doc/yat2m.c:407,1
    - Dst: die
      Src: /src/libgpg-error/doc/yat2m.c:409,1
    - Dst: strerror
      Src: /src/libgpg-error/doc/yat2m.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - old
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 411
    functionName: xrealloc
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 37
    functionsReached:
    - die
    - strerror
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      xrealloc (void *old, size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libgpg-error/doc/yat2m.c:416,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:416,1
    - Dst: die
      Src: /src/libgpg-error/doc/yat2m.c:418,1
    - Dst: strerror
      Src: /src/libgpg-error/doc/yat2m.c:418,1
    - Dst: strcpy
      Src: /src/libgpg-error/doc/yat2m.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 421
    functionName: xstrdup
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 205
    functionsReached:
    - strlen
    - strcpy
    - malloc
    - die
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      xstrdup (const char *string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: mystpcpy
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      mystpcpy (char *a,const char *b)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:445,1
    - Dst: va_arg
      Src: /src/libgpg-error/doc/yat2m.c:446,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:448,1
    - Dst: DIM
      Src: /src/libgpg-error/doc/yat2m.c:449,1
    - Dst: die
      Src: /src/libgpg-error/doc/yat2m.c:450,1
    - Dst: xmalloc
      Src: /src/libgpg-error/doc/yat2m.c:454,1
    - Dst: malloc
      Src: /src/libgpg-error/doc/yat2m.c:454,1
    - Dst: mystpcpy
      Src: /src/libgpg-error/doc/yat2m.c:456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - xmode
    - s1
    - arg_ptr
    argTypes:
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 459
    functionName: do_strconcat
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 3
    functionsReached:
    - strlen
    - DIM
    - xmalloc
    - malloc
    - va_arg
    - die
    - mystpcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      do_strconcat (int xmode, const char *s1, va_list arg_ptr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/libgpg-error/doc/yat2m.c:471,1
    - Dst: va_start
      Src: /src/libgpg-error/doc/yat2m.c:474,1
    - Dst: do_strconcat
      Src: /src/libgpg-error/doc/yat2m.c:475,1
    - Dst: va_end
      Src: /src/libgpg-error/doc/yat2m.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s1
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 479
    functionName: xstrconcat
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 53
    functionsReached:
    - va_end
    - do_strconcat
    - va_start
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      xstrconcat (const char *s1, ...)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libgpg-error/doc/yat2m.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mb
    - initiallen
    argTypes:
    - membuf_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 496
    functionName: init_membuf
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 73
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void init_membuf (membuf_t *mb, int initiallen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libgpg-error/doc/yat2m.c:511,1
    - Dst: memcpy
      Src: /src/libgpg-error/doc/yat2m.c:520,1
    - Dst: memset
      Src: /src/libgpg-error/doc/yat2m.c:522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - mb
    - buf
    - len
    argTypes:
    - membuf_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 524
    functionName: put_membuf
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 71
    functionsReached:
    - memset
    - memcpy
    - realloc
    linkageType: ''
    returnType: void
    signature: void put_membuf (membuf_t *mb, const void *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/libgpg-error/doc/yat2m.c:533,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mb
    - string
    argTypes:
    - membuf_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 534
    functionName: put_membuf_str
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 15
    functionsReached:
    - put_membuf
    - strlen
    linkageType: ''
    returnType: void
    signature: void put_membuf_str (membuf_t *mb, const char *string)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - mb
    - len
    argTypes:
    - membuf_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 559
    functionName: get_membuf
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 87
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void *

      get_membuf (membuf_t *mb, size_t *len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: put_membuf
      Src: /src/libgpg-error/doc/yat2m.c:567,1
    - Dst: get_membuf
      Src: /src/libgpg-error/doc/yat2m.c:568,1
    - Dst: die
      Src: /src/libgpg-error/doc/yat2m.c:570,1
    - Dst: strerror
      Src: /src/libgpg-error/doc/yat2m.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mb
    argTypes:
    - membuf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 572
    functionName: xget_membuf
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - put_membuf
    - get_membuf
    - strerror
    - die
    linkageType: ''
    returnType: char
    signature: 'char *

      xget_membuf (membuf_t *mb)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/libgpg-error/doc/yat2m.c:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 585
    functionName: ascii_strupr
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 10
    functionsReached:
    - toupper
    linkageType: ''
    returnType: char
    signature: 'char *

      ascii_strupr (char *string)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/libgpg-error/doc/yat2m.c:597,1
    - Dst: time
      Src: /src/libgpg-error/doc/yat2m.c:599,1
    - Dst: strcpy
      Src: /src/libgpg-error/doc/yat2m.c:601,1
    - Dst: gmtime
      Src: /src/libgpg-error/doc/yat2m.c:604,1
    - Dst: sprintf
      Src: /src/libgpg-error/doc/yat2m.c:605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 609
    functionName: isodatestring
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 3
    functionsReached:
    - sprintf
    - strcpy
    - strtoul
    - time
    - gmtime
    linkageType: ''
    returnType: char
    signature: 'char *

      isodatestring (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:620,1
    - Dst: xcalloc
      Src: /src/libgpg-error/doc/yat2m.c:624,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:624,1
    - Dst: strcpy
      Src: /src/libgpg-error/doc/yat2m.c:625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 629
    functionName: add_predefined_macro
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 2
    functionsReached:
    - strcmp
    - strcpy
    - strlen
    - xcalloc
    linkageType: ''
    returnType: void
    signature: void add_predefined_macro (const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:641,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:644,1
    - Dst: xcalloc
      Src: /src/libgpg-error/doc/yat2m.c:647,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:647,1
    - Dst: strcpy
      Src: /src/libgpg-error/doc/yat2m.c:648,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - macroname
    - macrovalue
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 654
    functionName: set_macro
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 4
    functionsReached:
    - strlen
    - xcalloc
    - strcmp
    - strcpy
    - free
    linkageType: ''
    returnType: void
    signature: void set_macro (const char *macroname, char *macrovalue)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:678,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:681,1
    - Dst: xcalloc
      Src: /src/libgpg-error/doc/yat2m.c:684,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:684,1
    - Dst: strcpy
      Src: /src/libgpg-error/doc/yat2m.c:685,1
    - Dst: xstrdup
      Src: /src/libgpg-error/doc/yat2m.c:689,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - nameandvalue
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 690
    functionName: set_variable
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 2
    functionsReached:
    - strlen
    - xcalloc
    - strcmp
    - strcpy
    - xstrdup
    - free
    linkageType: ''
    returnType: void
    signature: void set_variable (char *nameandvalue)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:701,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:705,1
    - Dst: isdigit
      Src: /src/libgpg-error/doc/yat2m.c:709,1
    - Dst: atoi
      Src: /src/libgpg-error/doc/yat2m.c:711,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 712
    functionName: macro_set_p
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 2
    functionsReached:
    - strcmp
    - isdigit
    - atoi
    linkageType: ''
    returnType: int
    signature: int macro_set_p (const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: macro_set_p
      Src: /src/libgpg-error/doc/yat2m.c:738,1
    - Dst: macro_set_p
      Src: /src/libgpg-error/doc/yat2m.c:740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - fname
    - lnr
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 751
    functionName: evaluate_conditions
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 4
    functionsReached:
    - macro_set_p
    linkageType: ''
    returnType: void
    signature: void evaluate_conditions (const char *fname, int lnr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:764,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:768,1
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:772,1
    - Dst: xcalloc
      Src: /src/libgpg-error/doc/yat2m.c:778,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:778,1
    - Dst: strcpy
      Src: /src/libgpg-error/doc/yat2m.c:781,1
    - Dst: evaluate_conditions
      Src: /src/libgpg-error/doc/yat2m.c:784,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - name
    - isset
    - fname
    - lnr
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 785
    functionName: push_condition
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 2
    functionsReached:
    - strlen
    - xcalloc
    - strcmp
    - strcpy
    - evaluate_conditions
    - err
    linkageType: ''
    returnType: void
    signature: void push_condition (const char *name, int isset, const char *fname,
      int lnr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:795,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:800,1
    - Dst: evaluate_conditions
      Src: /src/libgpg-error/doc/yat2m.c:802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - isset
    - fname
    - lnr
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 803
    functionName: pop_condition
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 2
    functionsReached:
    - evaluate_conditions
    - free
    - err
    linkageType: ''
    returnType: void
    signature: void pop_condition (int isset, const char *fname, int lnr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:825,1
    - Dst: xcalloc
      Src: /src/libgpg-error/doc/yat2m.c:840,1
    - Dst: xrealloc
      Src: /src/libgpg-error/doc/yat2m.c:843,1
    - Dst: memset
      Src: /src/libgpg-error/doc/yat2m.c:846,1
    - Dst: assert
      Src: /src/libgpg-error/doc/yat2m.c:861,1
    - Dst: xstrdup
      Src: /src/libgpg-error/doc/yat2m.c:862,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:863,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts:
    - condition: (!sect->name)
      pos:
        line_end: 860
        line_start: 860
        source_file: /src/libgpg-error/doc/yat2m.c
    constantsTouched: []
    func_position:
      end: 865
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 865
    functionName: get_section_buffer
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 2
    functionsReached:
    - assert
    - xcalloc
    - strcmp
    - xrealloc
    - memset
    - xstrdup
    linkageType: ''
    returnType: section_buffer_t
    signature: section_buffer_t get_section_buffer (const char *name)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: init_membuf
      Src: /src/libgpg-error/doc/yat2m.c:883,1
    - Dst: put_membuf_str
      Src: /src/libgpg-error/doc/yat2m.c:905,1
    - Dst: put_membuf_str
      Src: /src/libgpg-error/doc/yat2m.c:907,1
    - Dst: put_membuf_str
      Src: /src/libgpg-error/doc/yat2m.c:909,1
    - Dst: put_membuf_str
      Src: /src/libgpg-error/doc/yat2m.c:917,1
    - Dst: put_membuf_str
      Src: /src/libgpg-error/doc/yat2m.c:919,1
    - Dst: put_membuf_str
      Src: /src/libgpg-error/doc/yat2m.c:921,1
    - Dst: put_membuf
      Src: /src/libgpg-error/doc/yat2m.c:923,1
    - Dst: put_membuf
      Src: /src/libgpg-error/doc/yat2m.c:928,1
    - Dst: put_membuf_str
      Src: /src/libgpg-error/doc/yat2m.c:931,1
    - Dst: put_membuf_str
      Src: /src/libgpg-error/doc/yat2m.c:933,1
    - Dst: put_membuf_str
      Src: /src/libgpg-error/doc/yat2m.c:935,1
    - Dst: xget_membuf
      Src: /src/libgpg-error/doc/yat2m.c:937,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 2
    argNames:
    - line
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 938
    functionName: roff_alternate
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 0
    functionsReached:
    - put_membuf
    - xget_membuf
    - init_membuf
    - put_membuf_str
    linkageType: ''
    returnType: char
    signature: 'char *

      roff_alternate (const char *line, const char *mode)'
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:954,1
    - Dst: xstrconcat
      Src: /src/libgpg-error/doc/yat2m.c:955,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:956,1
    - Dst: xstrconcat
      Src: /src/libgpg-error/doc/yat2m.c:957,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:958,1
    - Dst: roff_alternate
      Src: /src/libgpg-error/doc/yat2m.c:959,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:960,1
    - Dst: roff_alternate
      Src: /src/libgpg-error/doc/yat2m.c:961,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:962,1
    - Dst: roff_alternate
      Src: /src/libgpg-error/doc/yat2m.c:963,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:964,1
    - Dst: roff_alternate
      Src: /src/libgpg-error/doc/yat2m.c:965,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:966,1
    - Dst: roff_alternate
      Src: /src/libgpg-error/doc/yat2m.c:967,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:968,1
    - Dst: roff_alternate
      Src: /src/libgpg-error/doc/yat2m.c:969,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:970,1
    - Dst: xstrdup
      Src: /src/libgpg-error/doc/yat2m.c:971,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:972,1
    - Dst: xstrconcat
      Src: /src/libgpg-error/doc/yat2m.c:973,1
    - Dst: strchr
      Src: /src/libgpg-error/doc/yat2m.c:974,1
    - Dst: xstrdup
      Src: /src/libgpg-error/doc/yat2m.c:975,1
    - Dst: xstrdup
      Src: /src/libgpg-error/doc/yat2m.c:994,1
    - Dst: xmalloc
      Src: /src/libgpg-error/doc/yat2m.c:1006,1
    - Dst: strcpy
      Src: /src/libgpg-error/doc/yat2m.c:1009,1
    - Dst: strcpy
      Src: /src/libgpg-error/doc/yat2m.c:1011,1
    - Dst: strcpy
      Src: /src/libgpg-error/doc/yat2m.c:1013,1
    - Dst: get_section_buffer
      Src: /src/libgpg-error/doc/yat2m.c:1021,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:1030,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:1031,1
    - Dst: xrealloc
      Src: /src/libgpg-error/doc/yat2m.c:1032,1
    - Dst: strcpy
      Src: /src/libgpg-error/doc/yat2m.c:1033,1
    - Dst: strcpy
      Src: /src/libgpg-error/doc/yat2m.c:1034,1
    - Dst: xcalloc
      Src: /src/libgpg-error/doc/yat2m.c:1038,1
    - Dst: xstrconcat
      Src: /src/libgpg-error/doc/yat2m.c:1041,1
    - Dst: xstrdup
      Src: /src/libgpg-error/doc/yat2m.c:1043,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:1049,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 77
    argCount: 3
    argNames:
    - sectname
    - line
    - verbatim
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 942
    functionDepth: 2
    functionLinenumber: 942
    functionLinenumberEnd: 1050
    functionName: add_content
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 2
    functionsReached:
    - strlen
    - xstrconcat
    - free
    - xcalloc
    - xrealloc
    - xmalloc
    - strchr
    - strcpy
    - xstrdup
    - get_section_buffer
    - strncmp
    - roff_alternate
    linkageType: ''
    returnType: void
    signature: void add_content (const char *sectname, const char *line, int verbatim)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inf
      Src: /src/libgpg-error/doc/yat2m.c:1058,1
    - Dst: assert
      Src: /src/libgpg-error/doc/yat2m.c:1059,1
    - Dst: xstrdup
      Src: /src/libgpg-error/doc/yat2m.c:1060,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts:
    - condition: (!thepage.name)
      pos:
        line_end: 1058
        line_start: 1058
        source_file: /src/libgpg-error/doc/yat2m.c
    constantsTouched: []
    func_position:
      end: 1062
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1062
    functionName: start_page
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 2
    functionsReached:
    - xstrdup
    - inf
    - assert
    linkageType: ''
    returnType: void
    signature: void start_page (char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/libgpg-error/doc/yat2m.c:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - fp
    argTypes:
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1070
    functionName: writechr
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 4
    functionsReached:
    - putc
    linkageType: ''
    returnType: void
    signature: void writechr (int c, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgpg-error/doc/yat2m.c:1080,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - roff
    - html
    - fp
    argTypes:
    - char*
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1081
    functionName: writestr
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 11
    functionsReached:
    - fputs
    linkageType: ''
    returnType: void
    signature: void writestr (const char *roff, const char *html, FILE *fp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1091,1
    - Dst: ascii_strupr
      Src: /src/libgpg-error/doc/yat2m.c:1095,1
    - Dst: xstrdup
      Src: /src/libgpg-error/doc/yat2m.c:1095,1
    - Dst: strrchr
      Src: /src/libgpg-error/doc/yat2m.c:1096,1
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:1099,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:1100,1
    - Dst: fputs
      Src: /src/libgpg-error/doc/yat2m.c:1109,1
    - Dst: fputs
      Src: /src/libgpg-error/doc/yat2m.c:1117,1
    - Dst: fputs
      Src: /src/libgpg-error/doc/yat2m.c:1118,1
    - Dst: fprintf
      Src: /src/libgpg-error/doc/yat2m.c:1119,1
    - Dst: fputs
      Src: /src/libgpg-error/doc/yat2m.c:1122,1
    - Dst: fputs
      Src: /src/libgpg-error/doc/yat2m.c:1124,1
    - Dst: fputs
      Src: /src/libgpg-error/doc/yat2m.c:1130,1
    - Dst: fputs
      Src: /src/libgpg-error/doc/yat2m.c:1131,1
    - Dst: fputs
      Src: /src/libgpg-error/doc/yat2m.c:1134,1
    - Dst: fputs
      Src: /src/libgpg-error/doc/yat2m.c:1136,1
    - Dst: fprintf
      Src: /src/libgpg-error/doc/yat2m.c:1148,1
    - Dst: fprintf
      Src: /src/libgpg-error/doc/yat2m.c:1158,1
    - Dst: isodatestring
      Src: /src/libgpg-error/doc/yat2m.c:1159,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:1161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1163
    functionName: write_th
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 2
    functionsReached:
    - xstrdup
    - free
    - fprintf
    - writestr
    - fputs
    - strrchr
    - isodatestring
    - ascii_strupr
    - err
    linkageType: ''
    returnType: int
    signature: int write_th (FILE *fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_strupr
      Src: /src/libgpg-error/doc/yat2m.c:1175,1
    - Dst: xstrdup
      Src: /src/libgpg-error/doc/yat2m.c:1175,1
    - Dst: strrchr
      Src: /src/libgpg-error/doc/yat2m.c:1176,1
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:1179,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:1180,1
    - Dst: fprintf
      Src: /src/libgpg-error/doc/yat2m.c:1190,1
    - Dst: isodatestring
      Src: /src/libgpg-error/doc/yat2m.c:1195,1
    - Dst: fputs
      Src: /src/libgpg-error/doc/yat2m.c:1196,1
    - Dst: fputs
      Src: /src/libgpg-error/doc/yat2m.c:1198,1
    - Dst: fputs
      Src: /src/libgpg-error/doc/yat2m.c:1200,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:1203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1205
    functionName: write_bottom
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - xstrdup
    - free
    - fprintf
    - isodatestring
    - strrchr
    - fputs
    - ascii_strupr
    - err
    linkageType: ''
    returnType: int
    signature: int write_bottom (FILE *fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgpg-error/doc/yat2m.c:1216,1
    - Dst: fprintf
      Src: /src/libgpg-error/doc/yat2m.c:1222,1
    - Dst: fprintf
      Src: /src/libgpg-error/doc/yat2m.c:1226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - fp
    - name
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1229
    functionName: write_sh
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_sh (FILE *fp, const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgpg-error/doc/yat2m.c:1245,1
    - Dst: fprintf
      Src: /src/libgpg-error/doc/yat2m.c:1266,1
    - Dst: fputs
      Src: /src/libgpg-error/doc/yat2m.c:1270,1
    - Dst: proc_texi_buffer
      Src: /src/libgpg-error/doc/yat2m.c:1271,1
    - Dst: fputs
      Src: /src/libgpg-error/doc/yat2m.c:1273,1
    - Dst: fputs
      Src: /src/libgpg-error/doc/yat2m.c:1275,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 4
    argNames:
    - fp
    - line
    - len
    - itemx
    argTypes:
    - FILE*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1279
    functionName: write_html_item
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 1
    functionsReached:
    - fprintf
    - proc_texi_buffer
    - fputs
    linkageType: ''
    returnType: void
    signature: void write_html_item (FILE *fp, const char *line, size_t len, int itemx)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:1363,1
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1367,1
    - Dst: memchr
      Src: /src/libgpg-error/doc/yat2m.c:1379,1
    - Dst: memchr
      Src: /src/libgpg-error/doc/yat2m.c:1385,1
    - Dst: write_html_item
      Src: /src/libgpg-error/doc/yat2m.c:1387,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:1387,1
    - Dst: memchr
      Src: /src/libgpg-error/doc/yat2m.c:1392,1
    - Dst: proc_texi_buffer
      Src: /src/libgpg-error/doc/yat2m.c:1396,1
    - Dst: die
      Src: /src/libgpg-error/doc/yat2m.c:1405,1
    - Dst: write_html_item
      Src: /src/libgpg-error/doc/yat2m.c:1409,1
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1410,1
    - Dst: memchr
      Src: /src/libgpg-error/doc/yat2m.c:1413,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:1435,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:1453,1
    - Dst: write_html_item
      Src: /src/libgpg-error/doc/yat2m.c:1457,1
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1459,1
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1461,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:1463,1
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1468,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:1471,1
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1476,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:1479,1
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1482,1
    - Dst: memchr
      Src: /src/libgpg-error/doc/yat2m.c:1485,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:1490,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:1496,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:1497,1
    - Dst: inf
      Src: /src/libgpg-error/doc/yat2m.c:1500,1
    - Dst: writechr
      Src: /src/libgpg-error/doc/yat2m.c:1505,1
    - Dst: writechr
      Src: /src/libgpg-error/doc/yat2m.c:1506,1
    - Dst: memchr
      Src: /src/libgpg-error/doc/yat2m.c:1510,1
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:1522,1
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:1533,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:1543,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:1544,1
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1548,1
    - Dst: inf
      Src: /src/libgpg-error/doc/yat2m.c:1550,1
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1563,1
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1564,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:1578,1
    - Dst: proc_texi_buffer
      Src: /src/libgpg-error/doc/yat2m.c:1582,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:1582,1
    - Dst: inf
      Src: /src/libgpg-error/doc/yat2m.c:1587,1
    - Dst: memchr
      Src: /src/libgpg-error/doc/yat2m.c:1588,1
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:1601,1
    - Dst: xmalloc
      Src: /src/libgpg-error/doc/yat2m.c:1615,1
    - Dst: memcpy
      Src: /src/libgpg-error/doc/yat2m.c:1616,1
    - Dst: digitp
      Src: /src/libgpg-error/doc/yat2m.c:1620,1
    - Dst: strchr
      Src: /src/libgpg-error/doc/yat2m.c:1621,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:1632,1
    - Dst: fprintf
      Src: /src/libgpg-error/doc/yat2m.c:1639,1
    - Dst: proc_texi_buffer
      Src: /src/libgpg-error/doc/yat2m.c:1647,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:1651,1
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1657,1
    CyclomaticComplexity: 114
    EdgeCount: 114
    ICount: 202
    argCount: 7
    argNames:
    - fp
    - command
    - rest
    - len
    - table_level
    - eol_action
    - sect
    argTypes:
    - FILE*
    - char*
    - char*
    - size_t
    - int*
    - int*
    - section_buffer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1660
    functionName: proc_texi_cmd
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 2
    functionsReached:
    - strlen
    - digitp
    - free
    - fprintf
    - strcmp
    - writestr
    - err
    - memcmp
    - writechr
    - inf
    - write_html_item
    - xmalloc
    - die
    - memcpy
    - strchr
    - strncmp
    - proc_texi_buffer
    - memchr
    linkageType: ''
    returnType: size_t
    signature: "size_t proc_texi_cmd (FILE *fp, const char *command, const char *rest,
      size_t len,\n               int *table_level, int *eol_action, section_buffer_t
      sect)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: writechr
      Src: /src/libgpg-error/doc/yat2m.c:1686,1
    - Dst: writechr
      Src: /src/libgpg-error/doc/yat2m.c:1692,1
    - Dst: writechr
      Src: /src/libgpg-error/doc/yat2m.c:1695,1
    - Dst: proc_texi_cmd
      Src: /src/libgpg-error/doc/yat2m.c:1707,1
    - Dst: assert
      Src: /src/libgpg-error/doc/yat2m.c:1709,1
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:1718,1
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1729,1
    - Dst: writechr
      Src: /src/libgpg-error/doc/yat2m.c:1732,1
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1740,1
    - Dst: writechr
      Src: /src/libgpg-error/doc/yat2m.c:1745,1
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1748,1
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1754,1
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1761,1
    - Dst: writechr
      Src: /src/libgpg-error/doc/yat2m.c:1764,1
    - Dst: proc_texi_cmd
      Src: /src/libgpg-error/doc/yat2m.c:1770,1
    - Dst: assert
      Src: /src/libgpg-error/doc/yat2m.c:1771,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 93
    argCount: 7
    argNames:
    - fp
    - line
    - len
    - table_level
    - eol_action
    - sect
    - char_2D_is_minus
    argTypes:
    - FILE*
    - char*
    - size_t
    - int*
    - int*
    - section_buffer_t
    - int
    assertStmts:
    - condition: (n <= len)
      pos:
        line_end: 1708
        line_start: 1708
        source_file: /src/libgpg-error/doc/yat2m.c
    - condition: (n <= len)
      pos:
        line_end: 1770
        line_start: 1770
        source_file: /src/libgpg-error/doc/yat2m.c
    constantsTouched: []
    func_position:
      end: 1776
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1776
    functionName: proc_texi_buffer
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 7
    functionsReached:
    - proc_texi_cmd
    - assert
    - writestr
    - writechr
    - err
    linkageType: ''
    returnType: void
    signature: "void proc_texi_buffer (FILE *fp, const char *line, size_t len,\n                  int
      *table_level, int *eol_action, section_buffer_t sect,\n                  int
      char_2D_is_minus)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgpg-error/doc/yat2m.c:1788,1
    - Dst: fputs
      Src: /src/libgpg-error/doc/yat2m.c:1792,1
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1793,1
    - Dst: fputs
      Src: /src/libgpg-error/doc/yat2m.c:1795,1
    - Dst: writechr
      Src: /src/libgpg-error/doc/yat2m.c:1796,1
    - Dst: proc_texi_buffer
      Src: /src/libgpg-error/doc/yat2m.c:1799,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:1799,1
    - Dst: writechr
      Src: /src/libgpg-error/doc/yat2m.c:1801,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - fp
    - line
    - table_level
    - sect
    argTypes:
    - FILE*
    - char*
    - int*
    - section_buffer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1802
    functionName: parse_texi_line
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 2
    functionsReached:
    - strlen
    - writestr
    - strchr
    - writechr
    - fputs
    - proc_texi_buffer
    linkageType: ''
    returnType: void
    signature: "void parse_texi_line (FILE *fp, const char *line, int *table_level,\n
      \                section_buffer_t sect)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: writestr
      Src: /src/libgpg-error/doc/yat2m.c:1825,1
    - Dst: writechr
      Src: /src/libgpg-error/doc/yat2m.c:1826,1
    - Dst: parse_texi_line
      Src: /src/libgpg-error/doc/yat2m.c:1833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - sect
    argTypes:
    - FILE*
    - section_buffer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 1836
    functionName: write_content
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 2
    functionsReached:
    - writestr
    - parse_texi_line
    - writechr
    linkageType: ''
    returnType: void
    signature: void write_content (FILE *fp, section_buffer_t sect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:1847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1850
    functionName: is_standard_section
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int is_standard_section (const char *name)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: inf
      Src: /src/libgpg-error/doc/yat2m.c:1867,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:1871,1
    - Dst: inf
      Src: /src/libgpg-error/doc/yat2m.c:1873,1
    - Dst: fopen
      Src: /src/libgpg-error/doc/yat2m.c:1878,1
    - Dst: die
      Src: /src/libgpg-error/doc/yat2m.c:1880,1
    - Dst: strerror
      Src: /src/libgpg-error/doc/yat2m.c:1880,1
    - Dst: xstrconcat
      Src: /src/libgpg-error/doc/yat2m.c:1885,1
    - Dst: inf
      Src: /src/libgpg-error/doc/yat2m.c:1887,1
    - Dst: fopen
      Src: /src/libgpg-error/doc/yat2m.c:1888,1
    - Dst: die
      Src: /src/libgpg-error/doc/yat2m.c:1890,1
    - Dst: strerror
      Src: /src/libgpg-error/doc/yat2m.c:1890,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:1891,1
    - Dst: write_th
      Src: /src/libgpg-error/doc/yat2m.c:1896,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:1904,1
    - Dst: write_sh
      Src: /src/libgpg-error/doc/yat2m.c:1912,1
    - Dst: write_content
      Src: /src/libgpg-error/doc/yat2m.c:1913,1
    - Dst: is_standard_section
      Src: /src/libgpg-error/doc/yat2m.c:1919,1
    - Dst: write_sh
      Src: /src/libgpg-error/doc/yat2m.c:1923,1
    - Dst: write_content
      Src: /src/libgpg-error/doc/yat2m.c:1924,1
    - Dst: write_sh
      Src: /src/libgpg-error/doc/yat2m.c:1931,1
    - Dst: write_bottom
      Src: /src/libgpg-error/doc/yat2m.c:1932,1
    - Dst: fclose
      Src: /src/libgpg-error/doc/yat2m.c:1937,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:1938,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:1949,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:1950,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:1953,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:1956,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1854
    functionDepth: 0
    functionLinenumber: 1854
    functionLinenumberEnd: 1958
    functionName: finish_page
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 4
    functionsReached:
    - write_sh
    - xstrconcat
    - write_content
    - fclose
    - strcmp
    - write_th
    - fopen
    - inf
    - die
    - strerror
    - write_bottom
    - is_standard_section
    - free
    linkageType: ''
    returnType: void
    signature: void finish_page (void)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgpg-error/doc/yat2m.c:1982,1
    - Dst: fgets
      Src: /src/libgpg-error/doc/yat2m.c:1983,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:1985,1
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:1992,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:2003,1
    - Dst: memmove
      Src: /src/libgpg-error/doc/yat2m.c:2010,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:2029,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:2031,1
    - Dst: xrealloc
      Src: /src/libgpg-error/doc/yat2m.c:2037,1
    - Dst: set_macro
      Src: /src/libgpg-error/doc/yat2m.c:2039,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:2041,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:2046,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:2048,1
    - Dst: xrealloc
      Src: /src/libgpg-error/doc/yat2m.c:2049,1
    - Dst: strcpy
      Src: /src/libgpg-error/doc/yat2m.c:2051,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:2052,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:2059,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:2070,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:2071,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:2072,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:2084,1
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:2091,1
    - Dst: push_condition
      Src: /src/libgpg-error/doc/yat2m.c:2097,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:2100,1
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:2107,1
    - Dst: push_condition
      Src: /src/libgpg-error/doc/yat2m.c:2113,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:2116,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:2118,1
    - Dst: pop_condition
      Src: /src/libgpg-error/doc/yat2m.c:2121,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:2124,1
    - Dst: strncmp
      Src: /src/libgpg-error/doc/yat2m.c:2126,1
    - Dst: pop_condition
      Src: /src/libgpg-error/doc/yat2m.c:2129,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:2142,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:2151,1
    - Dst: xstrdup
      Src: /src/libgpg-error/doc/yat2m.c:2153,1
    - Dst: xmalloc
      Src: /src/libgpg-error/doc/yat2m.c:2154,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:2157,1
    - Dst: set_variable
      Src: /src/libgpg-error/doc/yat2m.c:2159,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:2161,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:2163,1
    - Dst: finish_page
      Src: /src/libgpg-error/doc/yat2m.c:2165,1
    - Dst: start_page
      Src: /src/libgpg-error/doc/yat2m.c:2166,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:2169,1
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:2172,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:2175,1
    - Dst: ascii_strupr
      Src: /src/libgpg-error/doc/yat2m.c:2176,1
    - Dst: xstrdup
      Src: /src/libgpg-error/doc/yat2m.c:2176,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:2181,1
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:2184,1
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:2186,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:2190,1
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:2193,1
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:2195,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:2199,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:2204,1
    - Dst: xstrdup
      Src: /src/libgpg-error/doc/yat2m.c:2207,1
    - Dst: fopen
      Src: /src/libgpg-error/doc/yat2m.c:2208,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:2212,1
    - Dst: xmalloc
      Src: /src/libgpg-error/doc/yat2m.c:2213,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:2213,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:2214,1
    - Dst: strcpy
      Src: /src/libgpg-error/doc/yat2m.c:2215,1
    - Dst: strlen
      Src: /src/libgpg-error/doc/yat2m.c:2216,1
    - Dst: strcat
      Src: /src/libgpg-error/doc/yat2m.c:2217,1
    - Dst: strcat
      Src: /src/libgpg-error/doc/yat2m.c:2218,1
    - Dst: fopen
      Src: /src/libgpg-error/doc/yat2m.c:2219,1
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:2223,1
    - Dst: strerror
      Src: /src/libgpg-error/doc/yat2m.c:2224,1
    - Dst: parse_file
      Src: /src/libgpg-error/doc/yat2m.c:2227,1
    - Dst: fclose
      Src: /src/libgpg-error/doc/yat2m.c:2228,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:2230,1
    - Dst: memcmp
      Src: /src/libgpg-error/doc/yat2m.c:2232,1
    - Dst: add_content
      Src: /src/libgpg-error/doc/yat2m.c:2244,1
    - Dst: add_content
      Src: /src/libgpg-error/doc/yat2m.c:2246,1
    - Dst: ferror
      Src: /src/libgpg-error/doc/yat2m.c:2248,1
    - Dst: err
      Src: /src/libgpg-error/doc/yat2m.c:2249,1
    - Dst: strerror
      Src: /src/libgpg-error/doc/yat2m.c:2249,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:2250,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:2251,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:2252,1
    CyclomaticComplexity: 142
    EdgeCount: 142
    ICount: 178
    argCount: 4
    argNames:
    - fname
    - fp
    - section_name
    - in_pause
    argTypes:
    - char*
    - FILE*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2253
      start: 1965
    functionDepth: 0
    functionLinenumber: 1965
    functionLinenumberEnd: 2253
    functionName: parse_file
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 10
    functionsReached:
    - strlen
    - start_page
    - set_variable
    - parse_file
    - xmalloc
    - xstrdup
    - fgets
    - ascii_strupr
    - err
    - memmove
    - pop_condition
    - add_content
    - strncmp
    - strcat
    - finish_page
    - push_condition
    - fopen
    - set_macro
    - fclose
    - xrealloc
    - memcmp
    - strcpy
    - strerror
    - ferror
    - free
    linkageType: ''
    returnType: void
    signature: void parse_file (const char *fname, FILE *fp, char **section_name,
      int in_pause)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:2266,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:2267,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:2273,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:2274,1
    - Dst: set_macro
      Src: /src/libgpg-error/doc/yat2m.c:2278,1
    - Dst: xstrdup
      Src: /src/libgpg-error/doc/yat2m.c:2278,1
    - Dst: parse_file
      Src: /src/libgpg-error/doc/yat2m.c:2283,1
    - Dst: free
      Src: /src/libgpg-error/doc/yat2m.c:2284,1
    - Dst: finish_page
      Src: /src/libgpg-error/doc/yat2m.c:2285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - fname
    - fp
    argTypes:
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2286
    functionName: top_parse_file
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 2
    functionsReached:
    - finish_page
    - parse_file
    - xstrdup
    - set_macro
    - free
    linkageType: ''
    returnType: void
    signature: void top_parse_file (const char *fname, FILE *fp)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: add_predefined_macro
      Src: /src/libgpg-error/doc/yat2m.c:2300,1
    - Dst: add_predefined_macro
      Src: /src/libgpg-error/doc/yat2m.c:2301,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:2311,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:2316,1
    - Dst: puts
      Src: /src/libgpg-error/doc/yat2m.c:2318,1
    - Dst: exit
      Src: /src/libgpg-error/doc/yat2m.c:2335,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:2337,1
    - Dst: puts
      Src: /src/libgpg-error/doc/yat2m.c:2339,1
    - Dst: exit
      Src: /src/libgpg-error/doc/yat2m.c:2344,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:2346,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:2351,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:2356,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:2361,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:2366,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:2371,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:2380,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:2389,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:2398,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:2403,1
    - Dst: strrchr
      Src: /src/libgpg-error/doc/yat2m.c:2408,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:2416,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:2425,1
    - Dst: add_predefined_macro
      Src: /src/libgpg-error/doc/yat2m.c:2430,1
    - Dst: die
      Src: /src/libgpg-error/doc/yat2m.c:2437,1
    - Dst: getenv
      Src: /src/libgpg-error/doc/yat2m.c:2441,1
    - Dst: strcmp
      Src: /src/libgpg-error/doc/yat2m.c:2445,1
    - Dst: fopen
      Src: /src/libgpg-error/doc/yat2m.c:2447,1
    - Dst: die
      Src: /src/libgpg-error/doc/yat2m.c:2449,1
    - Dst: strerror
      Src: /src/libgpg-error/doc/yat2m.c:2449,1
    - Dst: top_parse_file
      Src: /src/libgpg-error/doc/yat2m.c:2450,1
    - Dst: fclose
      Src: /src/libgpg-error/doc/yat2m.c:2451,1
    - Dst: top_parse_file
      Src: /src/libgpg-error/doc/yat2m.c:2454,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 124
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2457
      start: 2289
    functionDepth: 0
    functionLinenumber: 2289
    functionLinenumberEnd: 2457
    functionName: main
    functionSourceFile: /src/libgpg-error/doc/yat2m.c
    functionUses: 12
    functionsReached:
    - fclose
    - getenv
    - exit
    - strcmp
    - puts
    - fopen
    - strrchr
    - die
    - strerror
    - top_parse_file
    - add_predefined_macro
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: LDAP_E_ERROR
      Src: /src/libgpg-error/doc/ldap2gpgerr.c:173,1
    - Dst: LDAP_X_ERROR
      Src: /src/libgpg-error/doc/ldap2gpgerr.c:175,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 227
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 184
    functionName: map_ldap_to_gpg_error
    functionSourceFile: /src/libgpg-error/doc/ldap2gpgerr.c
    functionUses: 0
    functionsReached:
    - LDAP_X_ERROR
    - LDAP_E_ERROR
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t map_ldap_to_gpg_error (int code)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibraryEx
      Src: /src/libgpg-error/src/w32-utils.c:71,1
    - Dst: _gpgrt_w32_set_errno
      Src: /src/libgpg-error/src/w32-utils.c:74,1
    - Dst: GetProcAddress
      Src: /src/libgpg-error/src/w32-utils.c:77,1
    - Dst: _gpgrt_w32_set_errno
      Src: /src/libgpg-error/src/w32-utils.c:80,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-utils.c:81,1
    - Dst: func
      Src: /src/libgpg-error/src/w32-utils.c:91,1
    - Dst: _gpgrt_wchar_to_utf8
      Src: /src/libgpg-error/src/w32-utils.c:93,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - HWND
    - int
    - HANDLE
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 104
    functionName: w32_shgetfolderpath
    functionSourceFile: /src/libgpg-error/src/w32-utils.c
    functionUses: 3
    functionsReached:
    - GetProcAddress
    - func
    - _gpgrt_w32_set_errno
    - _gpgrt_wchar_to_utf8
    - CloseHandle
    - LoadLibraryEx
    linkageType: ''
    returnType: char
    signature: 'char *

      w32_shgetfolderpath (HWND a, int b, HANDLE c, DWORD d)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: w32_shgetfolderpath
      Src: /src/libgpg-error/src/w32-utils.c:114,1
    - Dst: _gpgrt_strconcat
      Src: /src/libgpg-error/src/w32-utils.c:117,1
    - Dst: xfree
      Src: /src/libgpg-error/src/w32-utils.c:118,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/libgpg-error/src/w32-utils.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: _gpgrt_w32_get_sysconfdir
    functionSourceFile: /src/libgpg-error/src/w32-utils.c
    functionUses: 0
    functionsReached:
    - _gpgrt_strconcat
    - w32_shgetfolderpath
    - gpgrt_annotate_leaked_object
    - xfree
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_w32_get_sysconfdir (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: w32_shgetfolderpath
      Src: /src/libgpg-error/src/w32-utils.c:134,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/libgpg-error/src/w32-utils.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: _gpgrt_w32_get_profile
    functionSourceFile: /src/libgpg-error/src/w32-utils.c
    functionUses: 0
    functionsReached:
    - w32_shgetfolderpath
    - gpgrt_annotate_leaked_object
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_w32_get_profile (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: w32_shgetfolderpath
      Src: /src/libgpg-error/src/w32-utils.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: w32_utils_init
    functionSourceFile: /src/libgpg-error/src/w32-utils.c
    functionUses: 0
    functionsReached:
    - w32_shgetfolderpath
    linkageType: ''
    returnType: void
    signature: void w32_utils_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: w32_utils_init
      Src: /src/libgpg-error/src/w32-utils.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: _gpgrt_w32__init_utils
    functionSourceFile: /src/libgpg-error/src/w32-utils.c
    functionUses: 0
    functionsReached:
    - w32_utils_init
    linkageType: ''
    returnType: void
    signature: void _gpgrt_w32__init_utils (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - code
    argTypes:
    - gpg_err_code_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: _gpg_err_code_to_errno
    functionSourceFile: /src/libgpg-error/src/code-to-errno.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gpg_err_code_to_errno (gpg_err_code_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: _set_errno
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 177
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _set_errno(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: IS_INVALID_FD
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_INVALID_FD(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - array
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: DIM
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 413
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: tohex
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tohex(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_malloc
      Src: /src/libgpg-error/src/estream.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: mem_alloc
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _gpgrt_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      mem_alloc (size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_realloc
      Src: /src/libgpg-error/src/estream.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: mem_realloc
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 1
    functionsReached:
    - _gpgrt_realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      mem_realloc (void *p, size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/estream.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: mem_free
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 1
    functionsReached:
    - _gpgrt_free
    linkageType: ''
    returnType: void
    signature: void mem_free (void *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_wipememory
      Src: /src/libgpg-error/src/estream.c:248,1
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/estream.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p
    - n
    - with_wipe
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: mem_free2
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _gpgrt_wipememory
    - _gpgrt_free
    linkageType: ''
    returnType: void
    signature: void mem_free2 (void *p, size_t n, int with_wipe)
  - BBCount: 75
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 151
    argCount: 1
    argNames:
    - w32_err
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 373
    functionName: map_w32_to_errno
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int map_w32_to_errno (DWORD w32_err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetLastError
      Src: /src/libgpg-error/src/estream.c:381,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:382,1
    - Dst: map_w32_to_errno
      Src: /src/libgpg-error/src/estream.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ec
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 384
    functionName: _gpgrt_w32_set_errno
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 1
    functionsReached:
    - _set_errno
    - map_w32_to_errno
    - GetLastError
    linkageType: ''
    returnType: int
    signature: int _gpgrt_w32_set_errno (int ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLastError
      Src: /src/libgpg-error/src/estream.c:390,1
    - Dst: map_w32_to_errno
      Src: /src/libgpg-error/src/estream.c:391,1
    - Dst: _gpg_err_code_from_errno
      Src: /src/libgpg-error/src/estream.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 393
    functionName: _gpgrt_w32_get_last_err_code
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - map_w32_to_errno
    - GetLastError
    - _gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_w32_get_last_err_code (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - c
    - n
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionName: memrchr
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      memrchr (const void *buffer, int c, size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 421
    functionName: dbg_lock_0
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbg_lock_0(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 422
    functionName: dbg_lock_1
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbg_lock_1(f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 423
    functionName: dbg_lock_2
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbg_lock_2(f, a, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbg_lock_1
      Src: /src/libgpg-error/src/estream.c:436,1
    - Dst: memset
      Src: /src/libgpg-error/src/estream.c:437,1
    - Dst: _gpgrt_lock_init
      Src: /src/libgpg-error/src/estream.c:438,1
    - Dst: dbg_lock_2
      Src: /src/libgpg-error/src/estream.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 444
    functionName: init_stream_lock
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - dbg_lock_2
    - dbg_lock_1
    - memset
    - _gpgrt_lock_init
    linkageType: ''
    returnType: int
    signature: int init_stream_lock (estream_t _GPGRT__RESTRICT stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbg_lock_1
      Src: /src/libgpg-error/src/estream.c:452,1
    - Dst: _gpgrt_lock_destroy
      Src: /src/libgpg-error/src/estream.c:453,1
    - Dst: dbg_lock_1
      Src: /src/libgpg-error/src/estream.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 456
    functionName: destroy_stream_lock
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _gpgrt_lock_destroy
    - dbg_lock_1
    linkageType: ''
    returnType: void
    signature: void destroy_stream_lock (estream_t _GPGRT__RESTRICT stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbg_lock_1
      Src: /src/libgpg-error/src/estream.c:464,1
    - Dst: _gpgrt_lock_lock
      Src: /src/libgpg-error/src/estream.c:465,1
    - Dst: dbg_lock_1
      Src: /src/libgpg-error/src/estream.c:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 468
    functionName: lock_stream
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - dbg_lock_1
    - _gpgrt_lock_lock
    linkageType: ''
    returnType: void
    signature: void lock_stream (estream_t _GPGRT__RESTRICT stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbg_lock_1
      Src: /src/libgpg-error/src/estream.c:478,1
    - Dst: _gpgrt_lock_trylock
      Src: /src/libgpg-error/src/estream.c:479,1
    - Dst: dbg_lock_2
      Src: /src/libgpg-error/src/estream.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 485
    functionName: trylock_stream
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - dbg_lock_2
    - dbg_lock_1
    - _gpgrt_lock_trylock
    linkageType: ''
    returnType: int
    signature: int trylock_stream (estream_t _GPGRT__RESTRICT stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbg_lock_1
      Src: /src/libgpg-error/src/estream.c:493,1
    - Dst: _gpgrt_lock_unlock
      Src: /src/libgpg-error/src/estream.c:494,1
    - Dst: dbg_lock_1
      Src: /src/libgpg-error/src/estream.c:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: unlock_stream
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _gpgrt_lock_unlock
    - dbg_lock_1
    linkageType: ''
    returnType: void
    signature: void unlock_stream (estream_t _GPGRT__RESTRICT stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbg_lock_0
      Src: /src/libgpg-error/src/estream.c:503,1
    - Dst: _gpgrt_lock_lock
      Src: /src/libgpg-error/src/estream.c:504,1
    - Dst: dbg_lock_0
      Src: /src/libgpg-error/src/estream.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 506
    functionName: lock_list
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - dbg_lock_0
    - _gpgrt_lock_lock
    linkageType: ''
    returnType: void
    signature: void lock_list (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbg_lock_0
      Src: /src/libgpg-error/src/estream.c:512,1
    - Dst: _gpgrt_lock_unlock
      Src: /src/libgpg-error/src/estream.c:513,1
    - Dst: dbg_lock_0
      Src: /src/libgpg-error/src/estream.c:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 515
    functionName: unlock_list
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - dbg_lock_0
    - _gpgrt_lock_unlock
    linkageType: ''
    returnType: void
    signature: void unlock_list (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lock_list
      Src: /src/libgpg-error/src/estream.c:546,1
    - Dst: mem_alloc
      Src: /src/libgpg-error/src/estream.c:552,1
    - Dst: unlock_list
      Src: /src/libgpg-error/src/estream.c:563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - stream
    - with_locked_list
    argTypes:
    - estream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 566
    functionName: do_list_add
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - mem_alloc
    - lock_list
    - unlock_list
    linkageType: ''
    returnType: int
    signature: int do_list_add (estream_t stream, int with_locked_list)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lock_list
      Src: /src/libgpg-error/src/estream.c:577,1
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:591,1
    - Dst: unlock_list
      Src: /src/libgpg-error/src/estream.c:595,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - stream
    - with_locked_list
    argTypes:
    - estream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 596
    functionName: do_list_remove
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - lock_list
    - unlock_list
    - mem_free
    linkageType: ''
    returnType: void
    signature: void do_list_remove (estream_t stream, int with_locked_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fflush
      Src: /src/libgpg-error/src/estream.c:607,1
    - Dst: _gpgrt_set_syscall_clamp
      Src: /src/libgpg-error/src/estream.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 619
    functionName: do_deinit
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 6
    functionsReached:
    - _gpgrt_fflush
    - _gpgrt_set_syscall_clamp
    linkageType: ''
    returnType: void
    signature: void do_deinit (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/libgpg-error/src/estream.c:633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 636
    functionName: _gpgrt_estream_init
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - atexit
    linkageType: ''
    returnType: int
    signature: int _gpgrt_estream_init (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:686,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:691,1
    - Dst: mem_alloc
      Src: /src/libgpg-error/src/estream.c:703,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 11
    argNames:
    - _GPGRT__RESTRICT *_GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - data_n
    - data_len
    - block_size
    - grow
    - wipe
    - func_realloc
    - func_free
    - modeflags
    - memory_limit
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t
    - size_t
    - unsigned int
    - unsigned int
    - func_realloc_t
    - func_free_t
    - unsigned int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 725
    functionName: func_mem_create
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - mem_alloc
    linkageType: ''
    returnType: int
    signature: "int func_mem_create (void *_GPGRT__RESTRICT *_GPGRT__RESTRICT cookie,\n
      \                unsigned char *_GPGRT__RESTRICT data, size_t data_n,\n                 size_t
      data_len,\n                 size_t block_size, unsigned int grow, unsigned int
      wipe,\n                 func_realloc_t func_realloc, func_free_t func_free,\n
      \                unsigned int modeflags,\n                 size_t memory_limit)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgpg-error/src/estream.c:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - cookie
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 751
    functionName: func_mem_read
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t func_mem_read (void *cookie, void *buffer, size_t size)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/estream.c:773,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:793,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:804,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:814,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/estream.c:818,1
    - Dst: estream_cookie_mem_t::func_realloc
      Src: /src/libgpg-error/src/estream.c:819,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/estream.c:826,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/estream.c:829,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/estream.c:832,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 3
    argNames:
    - cookie
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 839
    functionName: func_mem_write
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - gpgrt_assert
    - memcpy
    - estream_cookie_mem_t::func_realloc
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t func_mem_write (void *cookie, const void *buffer, size_t
      size)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:866,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:877,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:884,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:892,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/estream.c:896,1
    - Dst: estream_cookie_mem_t::func_realloc
      Src: /src/libgpg-error/src/estream.c:897,1
    - Dst: memset
      Src: /src/libgpg-error/src/estream.c:908,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 3
    argNames:
    - cookie
    - offset
    - whence
    argTypes:
    - void*
    - gpgrt_off_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 917
    functionName: func_mem_seek
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - gpgrt_assert
    - memset
    - estream_cookie_mem_t::func_realloc
    linkageType: ''
    returnType: int
    signature: int func_mem_seek (void *cookie, gpgrt_off_t *offset, int whence)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: func_mem_seek
      Src: /src/libgpg-error/src/estream.c:944,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:950,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - cookie
    - cmd
    - ptr
    - len
    argTypes:
    - void*
    - int
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 955
    functionName: func_mem_ioctl
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - func_mem_seek
    linkageType: ''
    returnType: int
    signature: int func_mem_ioctl (void *cookie, int cmd, void *ptr, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_wipememory
      Src: /src/libgpg-error/src/estream.c:969,1
    - Dst: estream_cookie_mem_t::func_free
      Src: /src/libgpg-error/src/estream.c:970,1
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 961
    functionDepth: 2
    functionLinenumber: 961
    functionLinenumberEnd: 974
    functionName: func_mem_destroy
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _gpgrt_wipememory
    - estream_cookie_mem_t::func_free
    - mem_free
    linkageType: ''
    returnType: int
    signature: int func_mem_destroy (void *cookie)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:1014,1
    - Dst: mem_alloc
      Src: /src/libgpg-error/src/estream.c:1016,1
    - Dst: setmode
      Src: /src/libgpg-error/src/estream.c:1024,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/estream.c:1033,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - cookie
    - fd
    - modeflags
    - no_close
    argTypes:
    - void**
    - int
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1008
    functionDepth: 2
    functionLinenumber: 1008
    functionLinenumberEnd: 1035
    functionName: func_fd_create
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - mem_alloc
    - trace_errno
    - trace
    - setmode
    linkageType: ''
    returnType: int
    signature: int func_fd_create (void **cookie, int fd, unsigned int modeflags,
      int no_close)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:1048,1
    - Dst: IS_INVALID_FD
      Src: /src/libgpg-error/src/estream.c:1052,1
    - Dst: _gpgrt_yield
      Src: /src/libgpg-error/src/estream.c:1054,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/estream.c:1059,1
    - Dst: read
      Src: /src/libgpg-error/src/estream.c:1062,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/estream.c:1065,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/estream.c:1068,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - cookie
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1070
    functionName: func_fd_read
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - trace
    - _gpgrt_post_syscall
    - read
    - trace_errno
    - _gpgrt_yield
    - _gpgrt_pre_syscall
    - IS_INVALID_FD
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t func_fd_read (void *cookie, void *buffer, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:1082,1
    - Dst: IS_INVALID_FD
      Src: /src/libgpg-error/src/estream.c:1084,1
    - Dst: _gpgrt_yield
      Src: /src/libgpg-error/src/estream.c:1086,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/estream.c:1091,1
    - Dst: write
      Src: /src/libgpg-error/src/estream.c:1094,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/estream.c:1097,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/estream.c:1102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - cookie
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1105
    functionName: func_fd_write
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - trace
    - _gpgrt_post_syscall
    - trace_errno
    - write
    - _gpgrt_yield
    - _gpgrt_pre_syscall
    - IS_INVALID_FD
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t func_fd_write (void *cookie, const void *buffer, size_t
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_INVALID_FD
      Src: /src/libgpg-error/src/estream.c:1118,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:1120,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/estream.c:1125,1
    - Dst: lseek
      Src: /src/libgpg-error/src/estream.c:1126,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/estream.c:1127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - cookie
    - offset
    - whence
    argTypes:
    - void*
    - gpgrt_off_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1138
    functionName: func_fd_seek
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - _gpgrt_post_syscall
    - lseek
    - _gpgrt_pre_syscall
    - IS_INVALID_FD
    linkageType: ''
    returnType: int
    signature: int func_fd_seek (void *cookie, gpgrt_off_t *offset, int whence)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_INVALID_FD
      Src: /src/libgpg-error/src/estream.c:1153,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:1155,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:1161,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:1164,1
    - Dst: fcntl
      Src: /src/libgpg-error/src/estream.c:1165,1
    - Dst: fcntl
      Src: /src/libgpg-error/src/estream.c:1169,1
    - Dst: fcntl
      Src: /src/libgpg-error/src/estream.c:1171,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:1177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - cookie
    - cmd
    - ptr
    - len
    argTypes:
    - void*
    - int
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1182
    functionName: func_fd_ioctl
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - IS_INVALID_FD
    - fcntl
    linkageType: ''
    returnType: int
    signature: int func_fd_ioctl (void *cookie, int cmd, void *ptr, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:1193,1
    - Dst: IS_INVALID_FD
      Src: /src/libgpg-error/src/estream.c:1197,1
    - Dst: close
      Src: /src/libgpg-error/src/estream.c:1200,1
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:1201,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/estream.c:1206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1187
    functionDepth: 2
    functionLinenumber: 1187
    functionLinenumberEnd: 1208
    functionName: func_fd_destroy
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - trace
    - trace_errno
    - close
    - mem_free
    - IS_INVALID_FD
    linkageType: ''
    returnType: int
    signature: int func_fd_destroy (void *cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1232
    functionName: IS_INVALID_SOCKET
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_INVALID_SOCKET(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:1252,1
    - Dst: mem_alloc
      Src: /src/libgpg-error/src/estream.c:1254,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/estream.c:1266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - cookie
    - sock
    - modeflags
    - no_close
    argTypes:
    - void**
    - SOCKET
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1245
    functionDepth: 2
    functionLinenumber: 1245
    functionLinenumberEnd: 1268
    functionName: func_sock_create
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - mem_alloc
    - trace_errno
    - trace
    linkageType: ''
    returnType: int
    signature: "int func_sock_create (void **cookie, SOCKET sock,\n                  unsigned
      int modeflags, int no_close)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:1281,1
    - Dst: IS_INVALID_SOCKET
      Src: /src/libgpg-error/src/estream.c:1285,1
    - Dst: _gpgrt_yield
      Src: /src/libgpg-error/src/estream.c:1287,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/estream.c:1292,1
    - Dst: recv
      Src: /src/libgpg-error/src/estream.c:1295,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/estream.c:1298,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/estream.c:1301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - cookie
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1274
    functionDepth: 1
    functionLinenumber: 1274
    functionLinenumberEnd: 1303
    functionName: func_sock_read
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - IS_INVALID_SOCKET
    - trace
    - _gpgrt_post_syscall
    - trace_errno
    - recv
    - _gpgrt_yield
    - _gpgrt_pre_syscall
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t func_sock_read (void *cookie, void *buffer, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:1315,1
    - Dst: IS_INVALID_SOCKET
      Src: /src/libgpg-error/src/estream.c:1317,1
    - Dst: _gpgrt_yield
      Src: /src/libgpg-error/src/estream.c:1319,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/estream.c:1324,1
    - Dst: send
      Src: /src/libgpg-error/src/estream.c:1327,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/estream.c:1330,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/estream.c:1335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - cookie
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1309
    functionDepth: 1
    functionLinenumber: 1309
    functionLinenumberEnd: 1338
    functionName: func_sock_write
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - IS_INVALID_SOCKET
    - trace
    - _gpgrt_post_syscall
    - send
    - trace_errno
    - _gpgrt_yield
    - _gpgrt_pre_syscall
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t func_sock_write (void *cookie, const void *buffer, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:1350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cookie
    - offset
    - whence
    argTypes:
    - void*
    - gpgrt_off_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1352
    functionName: func_sock_seek
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    linkageType: ''
    returnType: int
    signature: int func_sock_seek (void *cookie, gpgrt_off_t *offset, int whence)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_INVALID_SOCKET
      Src: /src/libgpg-error/src/estream.c:1367,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:1369,1
    - Dst: ioctlsocket
      Src: /src/libgpg-error/src/estream.c:1379,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:1384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - cookie
    - cmd
    - ptr
    - len
    argTypes:
    - void*
    - int
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1358
    functionDepth: 1
    functionLinenumber: 1358
    functionLinenumberEnd: 1389
    functionName: func_sock_ioctl
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - ioctlsocket
    - IS_INVALID_SOCKET
    linkageType: ''
    returnType: int
    signature: int func_sock_ioctl (void *cookie, int cmd, void *ptr, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:1400,1
    - Dst: IS_INVALID_SOCKET
      Src: /src/libgpg-error/src/estream.c:1404,1
    - Dst: closesocket
      Src: /src/libgpg-error/src/estream.c:1407,1
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:1408,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/estream.c:1413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1394
    functionDepth: 2
    functionLinenumber: 1394
    functionLinenumberEnd: 1415
    functionName: func_sock_destroy
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - IS_INVALID_SOCKET
    - trace
    - trace_errno
    - mem_free
    - closesocket
    linkageType: ''
    returnType: int
    signature: int func_sock_destroy (void *cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:1455,1
    - Dst: mem_alloc
      Src: /src/libgpg-error/src/estream.c:1457,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/estream.c:1474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - cookie
    - hd
    - modeflags
    - no_close
    - no_syscall_clamp
    argTypes:
    - void**
    - HANDLE
    - unsigned int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1448
    functionDepth: 2
    functionLinenumber: 1448
    functionLinenumberEnd: 1476
    functionName: func_w32_create
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - mem_alloc
    - trace_errno
    - trace
    linkageType: ''
    returnType: int
    signature: "int func_w32_create (void **cookie, HANDLE hd,\n                 unsigned
      int modeflags, int no_close, int no_syscall_clamp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:1490,1
    - Dst: _gpgrt_yield
      Src: /src/libgpg-error/src/estream.c:1496,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/estream.c:1502,1
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:1507,1
    - Dst: ReadFile
      Src: /src/libgpg-error/src/estream.c:1508,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/estream.c:1510,1
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:1511,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:1516,1
    - Dst: map_w32_to_errno
      Src: /src/libgpg-error/src/estream.c:1516,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/estream.c:1525,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/estream.c:1528,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - cookie
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1530
    functionName: func_w32_read
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - trace
    - ReadFile
    - _gpgrt_post_syscall
    - trace_errno
    - _gpgrt_yield
    - _gpgrt_pre_syscall
    - map_w32_to_errno
    - GetLastError
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t func_w32_read (void *cookie, void *buffer, size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:1545,1
    - Dst: _gpgrt_yield
      Src: /src/libgpg-error/src/estream.c:1549,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/estream.c:1555,1
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:1560,1
    - Dst: WriteFile
      Src: /src/libgpg-error/src/estream.c:1561,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/estream.c:1563,1
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:1564,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:1565,1
    - Dst: map_w32_to_errno
      Src: /src/libgpg-error/src/estream.c:1565,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/estream.c:1573,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/estream.c:1578,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - cookie
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1539
    functionDepth: 1
    functionLinenumber: 1539
    functionLinenumberEnd: 1581
    functionName: func_w32_write
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - trace
    - _gpgrt_post_syscall
    - trace_errno
    - _gpgrt_yield
    - _gpgrt_pre_syscall
    - map_w32_to_errno
    - GetLastError
    - WriteFile
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t func_w32_write (void *cookie, const void *buffer, size_t
      size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:1596,1
    - Dst: GetFileType
      Src: /src/libgpg-error/src/estream.c:1600,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:1602,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:1623,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/estream.c:1627,1
    - Dst: SetFilePointerEx
      Src: /src/libgpg-error/src/estream.c:1628,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:1630,1
    - Dst: map_w32_to_errno
      Src: /src/libgpg-error/src/estream.c:1630,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/estream.c:1630,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/estream.c:1631,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/estream.c:1635,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - cookie
    - offset
    - whence
    argTypes:
    - void*
    - gpgrt_off_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1587
    functionDepth: 1
    functionLinenumber: 1587
    functionLinenumberEnd: 1639
    functionName: func_w32_seek
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - _gpgrt_post_syscall
    - GetFileType
    - _gpgrt_pre_syscall
    - map_w32_to_errno
    - GetLastError
    - SetFilePointerEx
    linkageType: ''
    returnType: int
    signature: int func_w32_seek (void *cookie, gpgrt_off_t *offset, int whence)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:1651,1
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:1661,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/estream.c:1662,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/estream.c:1664,1
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:1665,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:1666,1
    - Dst: map_w32_to_errno
      Src: /src/libgpg-error/src/estream.c:1666,1
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:1672,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/estream.c:1677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1645
    functionDepth: 2
    functionLinenumber: 1645
    functionLinenumberEnd: 1679
    functionName: func_w32_destroy
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - trace
    - trace_errno
    - mem_free
    - map_w32_to_errno
    - GetLastError
    - CloseHandle
    linkageType: ''
    returnType: int
    signature: int func_w32_destroy (void *cookie)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_alloc
      Src: /src/libgpg-error/src/estream.c:1722,1
    - Dst: setmode
      Src: /src/libgpg-error/src/estream.c:1730,1
    - Dst: fileno
      Src: /src/libgpg-error/src/estream.c:1730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - cookie
    - fp
    - modeflags
    - no_close
    argTypes:
    - void**
    - FILE*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1715
    functionDepth: 2
    functionLinenumber: 1715
    functionLinenumberEnd: 1741
    functionName: func_fp_create
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - mem_alloc
    - setmode
    - fileno
    linkageType: ''
    returnType: int
    signature: "int func_fp_create (void **cookie, FILE *fp,\n                unsigned
      int modeflags, int no_close)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/estream.c:1759,1
    - Dst: fread
      Src: /src/libgpg-error/src/estream.c:1760,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/estream.c:1761,1
    - Dst: ferror
      Src: /src/libgpg-error/src/estream.c:1765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - cookie
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1747
    functionDepth: 1
    functionLinenumber: 1747
    functionLinenumberEnd: 1768
    functionName: func_fp_read
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _gpgrt_pre_syscall
    - fread
    - _gpgrt_post_syscall
    - ferror
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t func_fp_read (void *cookie, void *buffer, size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/estream.c:1782,1
    - Dst: fwrite
      Src: /src/libgpg-error/src/estream.c:1797,1
    - Dst: fwrite
      Src: /src/libgpg-error/src/estream.c:1803,1
    - Dst: fflush
      Src: /src/libgpg-error/src/estream.c:1809,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/estream.c:1810,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - cookie
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1774
    functionDepth: 1
    functionLinenumber: 1774
    functionLinenumberEnd: 1818
    functionName: func_fp_write
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _gpgrt_pre_syscall
    - _gpgrt_post_syscall
    - fwrite
    - fflush
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t func_fp_write (void *cookie, const void *buffer, size_t
      size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:1832,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/estream.c:1836,1
    - Dst: fseek
      Src: /src/libgpg-error/src/estream.c:1837,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/estream.c:1841,1
    - Dst: ftell
      Src: /src/libgpg-error/src/estream.c:1845,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/estream.c:1846,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - cookie
    - offset
    - whence
    argTypes:
    - void*
    - gpgrt_off_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1824
    functionDepth: 1
    functionLinenumber: 1824
    functionLinenumberEnd: 1855
    functionName: func_fp_seek
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - _gpgrt_post_syscall
    - _gpgrt_pre_syscall
    - ftell
    - fseek
    linkageType: ''
    returnType: int
    signature: int func_fp_seek (void *cookie, gpgrt_off_t *offset, int whence)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/estream.c:1871,1
    - Dst: fflush
      Src: /src/libgpg-error/src/estream.c:1872,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/estream.c:1873,1
    - Dst: fclose
      Src: /src/libgpg-error/src/estream.c:1874,1
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:1878,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1861
    functionDepth: 2
    functionLinenumber: 1861
    functionLinenumberEnd: 1884
    functionName: func_fp_destroy
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _gpgrt_post_syscall
    - fclose
    - mem_free
    - _gpgrt_pre_syscall
    - fflush
    linkageType: ''
    returnType: int
    signature: int func_fp_destroy (void *cookie)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1912
    functionDepth: 0
    functionLinenumber: 1912
    functionLinenumberEnd: 1920
    functionName: any8bitchar
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int any8bitchar (const char *string)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mem_alloc
      Src: /src/libgpg-error/src/estream.c:1934,1
    - Dst: any8bitchar
      Src: /src/libgpg-error/src/estream.c:1942,1
    - Dst: _gpgrt_utf8_to_wchar
      Src: /src/libgpg-error/src/estream.c:1946,1
    - Dst: _wopen
      Src: /src/libgpg-error/src/estream.c:1951,1
    - Dst: _gpgrt_free_wchar
      Src: /src/libgpg-error/src/estream.c:1952,1
    - Dst: open
      Src: /src/libgpg-error/src/estream.c:1956,1
    - Dst: open
      Src: /src/libgpg-error/src/estream.c:1958,1
    - Dst: setmode
      Src: /src/libgpg-error/src/estream.c:1968,1
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:1979,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 5
    argNames:
    - cookie
    - filedes
    - path
    - modeflags
    - cmode
    argTypes:
    - void**
    - int*
    - char*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1924
    functionDepth: 2
    functionLinenumber: 1924
    functionLinenumberEnd: 1982
    functionName: func_file_create
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _gpgrt_utf8_to_wchar
    - open
    - mem_alloc
    - _gpgrt_free_wchar
    - mem_free
    - setmode
    - _wopen
    - any8bitchar
    linkageType: ''
    returnType: int
    signature: "int func_file_create (void **cookie, int *filedes,\n                  const
      char *path, unsigned int modeflags, unsigned int cmode)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mem_alloc
      Src: /src/libgpg-error/src/estream.c:2004,1
    - Dst: _gpgrt_fname_to_wchar
      Src: /src/libgpg-error/src/estream.c:2011,1
    - Dst: CreateFileW
      Src: /src/libgpg-error/src/estream.c:2067,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:2076,1
    - Dst: map_w32_to_errno
      Src: /src/libgpg-error/src/estream.c:2076,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/estream.c:2076,1
    - Dst: _gpgrt_free_wchar
      Src: /src/libgpg-error/src/estream.c:2088,1
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:2090,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 6
    argNames:
    - cookie
    - rethd
    - path
    - modeflags
    - cmode
    - xflags
    argTypes:
    - void**
    - HANDLE*
    - char*
    - unsigned int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2092
      start: 1988
    functionDepth: 2
    functionLinenumber: 1988
    functionLinenumberEnd: 2092
    functionName: func_file_create_w32
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - _gpgrt_fname_to_wchar
    - mem_alloc
    - _gpgrt_free_wchar
    - mem_free
    - map_w32_to_errno
    - GetLastError
    - CreateFileW
    linkageType: ''
    returnType: int
    signature: "int func_file_create_w32 (void **cookie, HANDLE *rethd, const char
      *path,\n                      unsigned int modeflags, unsigned int cmode,\n
      \                     unsigned int xflags)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:2188,1
    - Dst: strcspn
      Src: /src/libgpg-error/src/estream.c:2213,1
    - Dst: strspn
      Src: /src/libgpg-error/src/estream.c:2216,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/estream.c:2217,1
    - Dst: strchr
      Src: /src/libgpg-error/src/estream.c:2239,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:2241,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/estream.c:2245,1
    - Dst: strchr
      Src: /src/libgpg-error/src/estream.c:2248,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:2250,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/estream.c:2255,1
    - Dst: strchr
      Src: /src/libgpg-error/src/estream.c:2258,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:2260,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/estream.c:2269,1
    - Dst: strchr
      Src: /src/libgpg-error/src/estream.c:2272,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:2274,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/estream.c:2279,1
    - Dst: strchr
      Src: /src/libgpg-error/src/estream.c:2282,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:2284,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/estream.c:2289,1
    - Dst: strchr
      Src: /src/libgpg-error/src/estream.c:2292,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:2294,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/estream.c:2299,1
    - Dst: strchr
      Src: /src/libgpg-error/src/estream.c:2304,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/estream.c:2315,1
    - Dst: strchr
      Src: /src/libgpg-error/src/estream.c:2318,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:2320,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 134
    argCount: 4
    argNames:
    - modestr
    - modeflags
    - r_xmode
    - r_cmode
    argTypes:
    - char*
    - unsigned int*
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2333
      start: 2162
    functionDepth: 0
    functionLinenumber: 2162
    functionLinenumberEnd: 2333
    functionName: parse_mode
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - strcspn
    - strchr
    - strncmp
    - strspn
    linkageType: ''
    returnType: int
    signature: "int parse_mode (const char *modestr,\n            unsigned int *modeflags,\n
      \           unsigned int *r_xmode,\n            unsigned int *r_cmode)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:2349,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:2367,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2341
    functionDepth: 0
    functionLinenumber: 2341
    functionLinenumberEnd: 2394
    functionName: fill_stream
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    linkageType: ''
    returnType: int
    signature: int fill_stream (estream_t stream)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/estream.c:2402,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:2412,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:2438,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2474
      start: 2396
    functionDepth: 0
    functionLinenumber: 2396
    functionLinenumberEnd: 2474
    functionName: flush_stream
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - gpgrt_assert
    linkageType: ''
    returnType: int
    signature: int flush_stream (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/estream.c:2483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2487
    functionName: es_empty
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - gpgrt_assert
    linkageType: ''
    returnType: void
    signature: void es_empty (estream_t stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 7
    argNames:
    - stream
    - cookie
    - syshd
    - kind
    - functions
    - modeflags
    - xmode
    argTypes:
    - estream_t
    - void*
    - es_syshd_t*
    - gpgrt_stream_backend_kind_t
    - struct cookie_io_functions_s
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2537
      start: 2493
    functionDepth: 0
    functionLinenumber: 2493
    functionLinenumberEnd: 2537
    functionName: init_stream_obj
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void init_stream_obj (estream_t stream,\n                 void *cookie,
      es_syshd_t *syshd,\n                 gpgrt_stream_backend_kind_t kind,\n                 struct
      cookie_io_functions_s functions,\n                 unsigned int modeflags, unsigned
      int xmode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:2550,1
    - Dst: flush_stream
      Src: /src/libgpg-error/src/estream.c:2556,1
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:2562,1
    - Dst: func_close
      Src: /src/libgpg-error/src/estream.c:2563,1
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:2568,1
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:2574,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/estream.c:2578,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2580
      start: 2544
    functionDepth: 2
    functionLinenumber: 2544
    functionLinenumberEnd: 2580
    functionName: deinit_stream_obj
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - trace
    - trace_errno
    - mem_free
    - flush_stream
    - func_close
    linkageType: ''
    returnType: int
    signature: int deinit_stream_obj (estream_t stream)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:2611,1
    - Dst: mem_alloc
      Src: /src/libgpg-error/src/estream.c:2617,1
    - Dst: mem_alloc
      Src: /src/libgpg-error/src/estream.c:2624,1
    - Dst: _gpgrt_w32_pollable_create
      Src: /src/libgpg-error/src/estream.c:2642,1
    - Dst: init_stream_obj
      Src: /src/libgpg-error/src/estream.c:2655,1
    - Dst: init_stream_lock
      Src: /src/libgpg-error/src/estream.c:2657,1
    - Dst: do_list_add
      Src: /src/libgpg-error/src/estream.c:2659,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/estream.c:2669,1
    - Dst: deinit_stream_obj
      Src: /src/libgpg-error/src/estream.c:2672,1
    - Dst: destroy_stream_lock
      Src: /src/libgpg-error/src/estream.c:2673,1
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:2674,1
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:2675,1
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:2680,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 8
    argNames:
    - r_stream
    - cookie
    - syshd
    - kind
    - functions
    - modeflags
    - xmode
    - with_locked_list
    argTypes:
    - estream_t*
    - void*
    - es_syshd_t*
    - gpgrt_stream_backend_kind_t
    - struct cookie_io_functions_s
    - unsigned int
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2687
      start: 2588
    functionDepth: 3
    functionLinenumber: 2588
    functionLinenumberEnd: 2687
    functionName: create_stream
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - destroy_stream_lock
    - _gpgrt_w32_pollable_create
    - init_stream_obj
    - trace
    - mem_alloc
    - trace_errno
    - mem_free
    - deinit_stream_obj
    - init_stream_lock
    - do_list_add
    linkageType: ''
    returnType: int
    signature: "int create_stream (estream_t *r_stream, void *cookie, es_syshd_t *syshd,\n
      \              gpgrt_stream_backend_kind_t kind,\n               struct cookie_io_functions_s
      functions, unsigned int modeflags,\n               unsigned int xmode, int with_locked_list)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:2699,1
    - Dst: do_list_remove
      Src: /src/libgpg-error/src/estream.c:2703,1
    - Dst: es_empty
      Src: /src/libgpg-error/src/estream.c:2707,1
    - Dst: estream_t::intern::onclose::fnc
      Src: /src/libgpg-error/src/estream.c:2714,1
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:2716,1
    - Dst: deinit_stream_obj
      Src: /src/libgpg-error/src/estream.c:2719,1
    - Dst: destroy_stream_lock
      Src: /src/libgpg-error/src/estream.c:2720,1
    - Dst: mem_free2
      Src: /src/libgpg-error/src/estream.c:2722,1
    - Dst: mem_free2
      Src: /src/libgpg-error/src/estream.c:2724,1
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:2726,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/estream.c:2731,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - stream
    - cancel_mode
    - with_locked_list
    argTypes:
    - estream_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2733
      start: 2694
    functionDepth: 3
    functionLinenumber: 2694
    functionLinenumberEnd: 2733
    functionName: do_close
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 1
    functionsReached:
    - destroy_stream_lock
    - trace
    - es_empty
    - trace_errno
    - mem_free
    - estream_t::intern::onclose::fnc
    - deinit_stream_obj
    - do_list_remove
    - mem_free2
    linkageType: ''
    returnType: int
    signature: int do_close (estream_t stream, int cancel_mode, int with_locked_list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_alloc
      Src: /src/libgpg-error/src/estream.c:2754,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - stream
    - mode
    - fnc_value
    argTypes:
    - estream_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2763
      start: 2740
    functionDepth: 2
    functionLinenumber: 2740
    functionLinenumberEnd: 2763
    functionName: do_onclose
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - mem_alloc
    linkageType: ''
    returnType: int
    signature: "int do_onclose (estream_t stream, int mode,\n            void (*fnc)
      (estream_t, void*), void *fnc_value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:2792,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - bytes_to_read
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2806
    functionName: do_read_nbf
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    linkageType: ''
    returnType: int
    signature: "int do_read_nbf (estream_t _GPGRT__RESTRICT stream,\n\t     unsigned
      char *_GPGRT__RESTRICT buffer,\n\t     size_t bytes_to_read, size_t *_GPGRT__RESTRICT
      bytes_read)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2821
      start: 2812
    functionDepth: 0
    functionLinenumber: 2812
    functionLinenumberEnd: 2821
    functionName: check_pending_nbf
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_pending_nbf (estream_t _GPGRT__RESTRICT stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fill_stream
      Src: /src/libgpg-error/src/estream.c:2848,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/estream.c:2864,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - bytes_to_read
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2874
      start: 2829
    functionDepth: 1
    functionLinenumber: 2829
    functionLinenumberEnd: 2874
    functionName: do_read_fbf
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - fill_stream
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int do_read_fbf (estream_t _GPGRT__RESTRICT stream,\n\t     unsigned
      char *_GPGRT__RESTRICT buffer,\n\t     size_t bytes_to_read, size_t *_GPGRT__RESTRICT
      bytes_read)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2896
      start: 2880
    functionDepth: 0
    functionLinenumber: 2880
    functionLinenumberEnd: 2896
    functionName: check_pending_fbf
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_pending_fbf (estream_t _GPGRT__RESTRICT stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_read_fbf
      Src: /src/libgpg-error/src/estream.c:2910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - bytes_to_read
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2913
      start: 2903
    functionDepth: 2
    functionLinenumber: 2903
    functionLinenumberEnd: 2913
    functionName: do_read_lbf
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - do_read_fbf
    linkageType: ''
    returnType: int
    signature: "int do_read_lbf (estream_t _GPGRT__RESTRICT stream,\n\t     unsigned
      char *_GPGRT__RESTRICT buffer,\n\t     size_t bytes_to_read, size_t *_GPGRT__RESTRICT
      bytes_read)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: flush_stream
      Src: /src/libgpg-error/src/estream.c:2936,1
    - Dst: do_read_nbf
      Src: /src/libgpg-error/src/estream.c:2954,1
    - Dst: do_read_lbf
      Src: /src/libgpg-error/src/estream.c:2959,1
    - Dst: do_read_fbf
      Src: /src/libgpg-error/src/estream.c:2964,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - bytes_to_read
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2976
      start: 2920
    functionDepth: 3
    functionLinenumber: 2920
    functionLinenumberEnd: 2976
    functionName: es_readn
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - do_read_nbf
    - do_read_lbf
    - flush_stream
    - do_read_fbf
    linkageType: ''
    returnType: int
    signature: "int es_readn (estream_t _GPGRT__RESTRICT stream,\n\t  void *_GPGRT__RESTRICT
      buffer_arg,\n\t  size_t bytes_to_read, size_t *_GPGRT__RESTRICT bytes_read)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: flush_stream
      Src: /src/libgpg-error/src/estream.c:2991,1
    - Dst: check_pending_nbf
      Src: /src/libgpg-error/src/estream.c:3003,1
    - Dst: check_pending_fbf
      Src: /src/libgpg-error/src/estream.c:3006,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3010
      start: 2985
    functionDepth: 1
    functionLinenumber: 2985
    functionLinenumberEnd: 3010
    functionName: check_pending
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - flush_stream
    - check_pending_nbf
    - check_pending_fbf
    linkageType: ''
    returnType: int
    signature: int check_pending (estream_t _GPGRT__RESTRICT stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgpg-error/src/estream.c:3032,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - data_n
    - _GPGRT__RESTRICT bytes_unread
    argTypes:
    - estream_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3040
      start: 3017
    functionDepth: 0
    functionLinenumber: 3017
    functionLinenumberEnd: 3040
    functionName: es_unreadn
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void es_unreadn (estream_t _GPGRT__RESTRICT stream,\n\t    const unsigned
      char *_GPGRT__RESTRICT data, size_t data_n,\n\t    size_t *_GPGRT__RESTRICT
      bytes_unread)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:3056,1
    - Dst: flush_stream
      Src: /src/libgpg-error/src/estream.c:3065,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:3084,1
    - Dst: es_empty
      Src: /src/libgpg-error/src/estream.c:3090,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - offset
    - whence
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    - gpgrt_off_t
    - int
    - gpgrt_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3108
      start: 3046
    functionDepth: 1
    functionLinenumber: 3046
    functionLinenumberEnd: 3108
    functionName: es_seek
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - flush_stream
    - es_empty
    linkageType: ''
    returnType: int
    signature: "int es_seek (estream_t _GPGRT__RESTRICT stream, gpgrt_off_t offset,
      int whence,\n\t gpgrt_off_t *_GPGRT__RESTRICT offset_new)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:3128,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:3146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - bytes_to_write
    - _GPGRT__RESTRICT bytes_written
    argTypes:
    - estream_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3160
      start: 3116
    functionDepth: 0
    functionLinenumber: 3116
    functionLinenumberEnd: 3160
    functionName: es_write_nbf
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    linkageType: ''
    returnType: int
    signature: "int es_write_nbf (estream_t _GPGRT__RESTRICT stream,\n\t      const
      unsigned char *_GPGRT__RESTRICT buffer,\n\t      size_t bytes_to_write, size_t
      *_GPGRT__RESTRICT bytes_written)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: flush_stream
      Src: /src/libgpg-error/src/estream.c:3185,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/estream.c:3196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - bytes_to_write
    - _GPGRT__RESTRICT bytes_written
    argTypes:
    - estream_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3206
      start: 3168
    functionDepth: 1
    functionLinenumber: 3168
    functionLinenumberEnd: 3206
    functionName: es_write_fbf
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - flush_stream
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int es_write_fbf (estream_t _GPGRT__RESTRICT stream,\n\t      const
      unsigned char *_GPGRT__RESTRICT buffer,\n\t      size_t bytes_to_write, size_t
      *_GPGRT__RESTRICT bytes_written)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memrchr
      Src: /src/libgpg-error/src/estream.c:3222,1
    - Dst: flush_stream
      Src: /src/libgpg-error/src/estream.c:3227,1
    - Dst: es_write_nbf
      Src: /src/libgpg-error/src/estream.c:3229,1
    - Dst: es_write_fbf
      Src: /src/libgpg-error/src/estream.c:3235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - bytes_to_write
    - _GPGRT__RESTRICT bytes_written
    argTypes:
    - estream_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3241
      start: 3212
    functionDepth: 2
    functionLinenumber: 3212
    functionLinenumberEnd: 3241
    functionName: es_write_lbf
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - memrchr
    - flush_stream
    - es_write_nbf
    - es_write_fbf
    linkageType: ''
    returnType: int
    signature: "int es_write_lbf (estream_t _GPGRT__RESTRICT stream,\n\t      const
      unsigned char *_GPGRT__RESTRICT buffer,\n\t      size_t bytes_to_write, size_t
      *_GPGRT__RESTRICT bytes_written)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: es_seek
      Src: /src/libgpg-error/src/estream.c:3264,1
    - Dst: es_write_nbf
      Src: /src/libgpg-error/src/estream.c:3279,1
    - Dst: es_write_lbf
      Src: /src/libgpg-error/src/estream.c:3283,1
    - Dst: es_write_fbf
      Src: /src/libgpg-error/src/estream.c:3287,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - bytes_to_write
    - _GPGRT__RESTRICT bytes_written
    argTypes:
    - estream_t
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3297
      start: 3246
    functionDepth: 3
    functionLinenumber: 3246
    functionLinenumberEnd: 3297
    functionName: es_writen
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - es_seek
    - es_write_lbf
    - es_write_nbf
    - es_write_fbf
    linkageType: ''
    returnType: int
    signature: "int es_writen (estream_t _GPGRT__RESTRICT stream,\n\t   const void
      *_GPGRT__RESTRICT buffer,\n\t   size_t bytes_to_write, size_t *_GPGRT__RESTRICT
      bytes_written)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: flush_stream
      Src: /src/libgpg-error/src/estream.c:3310,1
    - Dst: fill_stream
      Src: /src/libgpg-error/src/estream.c:3319,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3333
      start: 3300
    functionDepth: 1
    functionLinenumber: 3300
    functionLinenumberEnd: 3333
    functionName: peek_stream
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - flush_stream
    - fill_stream
    linkageType: ''
    returnType: int
    signature: "int peek_stream (estream_t _GPGRT__RESTRICT stream,\n             unsigned
      char **_GPGRT__RESTRICT data,\n             size_t *_GPGRT__RESTRICT data_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:3344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - stream
    - size
    argTypes:
    - estream_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3354
      start: 3337
    functionDepth: 0
    functionLinenumber: 3337
    functionLinenumberEnd: 3354
    functionName: skip_stream
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    linkageType: ''
    returnType: int
    signature: int skip_stream (estream_t stream, size_t size)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: func_mem_create
      Src: /src/libgpg-error/src/estream.c:3376,1
    - Dst: memset
      Src: /src/libgpg-error/src/estream.c:3384,1
    - Dst: create_stream
      Src: /src/libgpg-error/src/estream.c:3385,1
    - Dst: peek_stream
      Src: /src/libgpg-error/src/estream.c:3400,1
    - Dst: memchr
      Src: /src/libgpg-error/src/estream.c:3407,1
    - Dst: _gpgrt_write
      Src: /src/libgpg-error/src/estream.c:3411,1
    - Dst: skip_stream
      Src: /src/libgpg-error/src/estream.c:3416,1
    - Dst: _gpgrt_write
      Src: /src/libgpg-error/src/estream.c:3422,1
    - Dst: skip_stream
      Src: /src/libgpg-error/src/estream.c:3427,1
    - Dst: es_seek
      Src: /src/libgpg-error/src/estream.c:3445,1
    - Dst: mem_alloc
      Src: /src/libgpg-error/src/estream.c:3451,1
    - Dst: _gpgrt_read
      Src: /src/libgpg-error/src/estream.c:3461,1
    - Dst: do_close
      Src: /src/libgpg-error/src/estream.c:3475,1
    - Dst: func_mem_destroy
      Src: /src/libgpg-error/src/estream.c:3477,1
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:3482,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 85
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - max_length
    - _GPGRT__RESTRICT *_GPGRT__RESTRICT
    - _GPGRT__RESTRICT line_length
    argTypes:
    - estream_t
    - size_t
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3487
      start: 3357
    functionDepth: 4
    functionLinenumber: 3357
    functionLinenumberEnd: 3487
    functionName: doreadline
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - peek_stream
    - do_close
    - func_mem_create
    - mem_alloc
    - func_mem_destroy
    - skip_stream
    - mem_free
    - create_stream
    - es_seek
    - memset
    - _gpgrt_write
    - _gpgrt_read
    - memchr
    linkageType: ''
    returnType: int
    signature: "int doreadline (estream_t _GPGRT__RESTRICT stream, size_t max_length,\n
      \           char *_GPGRT__RESTRICT *_GPGRT__RESTRICT line,\n            size_t
      *_GPGRT__RESTRICT line_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_writen
      Src: /src/libgpg-error/src/estream.c:3499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - outfncarg
    - buf
    - buflen
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3502
      start: 3491
    functionDepth: 4
    functionLinenumber: 3491
    functionLinenumberEnd: 3502
    functionName: print_writer
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - es_writen
    linkageType: ''
    returnType: int
    signature: int print_writer (void *outfncarg, const char *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_estream_format
      Src: /src/libgpg-error/src/estream.c:3514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - _GPGRT__RESTRICT
    - sf
    - sfvalue
    - _GPGRT__RESTRICT
    - ap
    argTypes:
    - estream_t
    - gpgrt_string_filter_t
    - void*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3518
      start: 3506
    functionDepth: 1
    functionLinenumber: 3506
    functionLinenumberEnd: 3518
    functionName: do_print_stream
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _gpgrt_estream_format
    linkageType: ''
    returnType: int
    signature: "int do_print_stream (estream_t _GPGRT__RESTRICT stream,\n                 gpgrt_string_filter_t
      sf, void *sfvalue,\n                 const char *_GPGRT__RESTRICT format, va_list
      ap)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: flush_stream
      Src: /src/libgpg-error/src/estream.c:3530,1
    - Dst: es_empty
      Src: /src/libgpg-error/src/estream.c:3535,1
    - Dst: mem_free2
      Src: /src/libgpg-error/src/estream.c:3543,1
    - Dst: mem_alloc
      Src: /src/libgpg-error/src/estream.c:3559,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - mode
    - size
    argTypes:
    - estream_t
    - char*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3578
      start: 3521
    functionDepth: 2
    functionLinenumber: 3521
    functionLinenumberEnd: 3578
    functionName: es_set_buffering
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - es_empty
    - flush_stream
    - mem_alloc
    - mem_free2
    linkageType: ''
    returnType: int
    signature: "int es_set_buffering (estream_t _GPGRT__RESTRICT stream,\n\t\t  char
      *_GPGRT__RESTRICT buffer, int mode, size_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3594
      start: 3581
    functionDepth: 0
    functionLinenumber: 3581
    functionLinenumberEnd: 3594
    functionName: es_offset_calculate
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gpgrt_off_t
    signature: gpgrt_off_t es_offset_calculate (estream_t stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3606
      start: 3597
    functionDepth: 0
    functionLinenumber: 3597
    functionLinenumberEnd: 3606
    functionName: es_opaque_ctrl
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void es_opaque_ctrl (estream_t _GPGRT__RESTRICT stream,\n                void
      *_GPGRT__RESTRICT opaque_new,\n\t\tvoid **_GPGRT__RESTRICT opaque_old)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: parse_mode
      Src: /src/libgpg-error/src/estream.c:3624,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/estream.c:3630,1
    - Dst: func_file_create_w32
      Src: /src/libgpg-error/src/estream.c:3640,1
    - Dst: func_file_create
      Src: /src/libgpg-error/src/estream.c:3649,1
    - Dst: create_stream
      Src: /src/libgpg-error/src/estream.c:3656,1
    - Dst: fname_set_internal
      Src: /src/libgpg-error/src/estream.c:3662,1
    - Dst: struct cookie_io_functions_s*::public::func_close
      Src: /src/libgpg-error/src/estream.c:3666,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3669
      start: 3611
    functionDepth: 4
    functionLinenumber: 3611
    functionLinenumberEnd: 3669
    functionName: _gpgrt_fopen
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - fname_set_internal
    - func_file_create_w32
    - struct cookie_io_functions_s*::public::func_close
    - func_file_create
    - strcmp
    - create_stream
    - parse_mode
    linkageType: ''
    returnType: estream_t
    signature: "estream_t _gpgrt_fopen (const char *_GPGRT__RESTRICT path,\n              const
      char *_GPGRT__RESTRICT mode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_mode
      Src: /src/libgpg-error/src/estream.c:3700,1
    - Dst: func_mem_create
      Src: /src/libgpg-error/src/estream.c:3704,1
    - Dst: memset
      Src: /src/libgpg-error/src/estream.c:3710,1
    - Dst: create_stream
      Src: /src/libgpg-error/src/estream.c:3712,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 7
    argNames:
    - _GPGRT__RESTRICT
    - data_n
    - data_len
    - grow
    - func_realloc
    - func_free
    - _GPGRT__RESTRICT
    argTypes:
    - void*
    - size_t
    - size_t
    - unsigned int
    - func_realloc_t
    - func_free_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3721
      start: 3687
    functionDepth: 4
    functionLinenumber: 3687
    functionLinenumberEnd: 3721
    functionName: _gpgrt_mopen
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - func_mem_create
    - memset
    - parse_mode
    - create_stream
    linkageType: ''
    returnType: estream_t
    signature: "estream_t _gpgrt_mopen (void *_GPGRT__RESTRICT data, size_t data_n,
      size_t data_len,\n              unsigned int grow,\n              func_realloc_t
      func_realloc, func_free_t func_free,\n              const char *_GPGRT__RESTRICT
      mode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_mode
      Src: /src/libgpg-error/src/estream.c:3735,1
    - Dst: func_mem_create
      Src: /src/libgpg-error/src/estream.c:3739,1
    - Dst: memset
      Src: /src/libgpg-error/src/estream.c:3745,1
    - Dst: create_stream
      Src: /src/libgpg-error/src/estream.c:3746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - memlimit
    - _GPGRT__RESTRICT
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3751
      start: 3725
    functionDepth: 4
    functionLinenumber: 3725
    functionLinenumberEnd: 3751
    functionName: _gpgrt_fopenmem
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - func_mem_create
    - memset
    - parse_mode
    - create_stream
    linkageType: ''
    returnType: estream_t
    signature: estream_t _gpgrt_fopenmem (size_t memlimit, const char *_GPGRT__RESTRICT
      mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fopenmem
      Src: /src/libgpg-error/src/estream.c:3767,1
    - Dst: es_writen
      Src: /src/libgpg-error/src/estream.c:3770,1
    - Dst: _gpgrt_fclose
      Src: /src/libgpg-error/src/estream.c:3773,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:3775,1
    - Dst: es_seek
      Src: /src/libgpg-error/src/estream.c:3779,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - memlimit
    - _GPGRT__RESTRICT
    - data
    - datalen
    argTypes:
    - size_t
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3785
      start: 3758
    functionDepth: 5
    functionLinenumber: 3758
    functionLinenumberEnd: 3785
    functionName: _gpgrt_fopenmem_init
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - _gpgrt_fclose
    - _gpgrt_fopenmem
    - es_seek
    - es_writen
    linkageType: ''
    returnType: estream_t
    signature: "estream_t _gpgrt_fopenmem_init (size_t memlimit, const char *_GPGRT__RESTRICT
      mode,\n                      const void *data, size_t datalen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_mode
      Src: /src/libgpg-error/src/estream.c:3803,1
    - Dst: memset
      Src: /src/libgpg-error/src/estream.c:3807,1
    - Dst: create_stream
      Src: /src/libgpg-error/src/estream.c:3808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - functions
    argTypes:
    - void*
    - char*
    - gpgrt_cookie_io_functions_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3815
      start: 3789
    functionDepth: 4
    functionLinenumber: 3789
    functionLinenumberEnd: 3815
    functionName: _gpgrt_fopencookie
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - create_stream
    - memset
    - parse_mode
    linkageType: ''
    returnType: estream_t
    signature: "estream_t _gpgrt_fopencookie (void *_GPGRT__RESTRICT cookie,\n                    const
      char *_GPGRT__RESTRICT mode,\n                    gpgrt_cookie_io_functions_t
      functions)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: parse_mode
      Src: /src/libgpg-error/src/estream.c:3829,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:3835,1
    - Dst: func_fd_create
      Src: /src/libgpg-error/src/estream.c:3840,1
    - Dst: create_stream
      Src: /src/libgpg-error/src/estream.c:3847,1
    - Dst: estream_t::intern::func_ioctl
      Src: /src/libgpg-error/src/estream.c:3854,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - filedes
    - mode
    - no_close
    - with_locked_list
    argTypes:
    - int
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3863
      start: 3819
    functionDepth: 4
    functionLinenumber: 3819
    functionLinenumberEnd: 3863
    functionName: do_fdopen
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - estream_t::intern::func_ioctl
    - create_stream
    - parse_mode
    - func_fd_create
    linkageType: ''
    returnType: estream_t
    signature: estream_t do_fdopen (int filedes, const char *mode, int no_close, int
      with_locked_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_fdopen
      Src: /src/libgpg-error/src/estream.c:3868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filedes
    - mode
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3869
      start: 3865
    functionDepth: 0
    functionLinenumber: 3865
    functionLinenumberEnd: 3869
    functionName: _gpgrt_fdopen
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - do_fdopen
    linkageType: ''
    returnType: estream_t
    signature: estream_t _gpgrt_fdopen (int filedes, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_fdopen
      Src: /src/libgpg-error/src/estream.c:3875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filedes
    - mode
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3876
      start: 3872
    functionDepth: 0
    functionLinenumber: 3872
    functionLinenumberEnd: 3876
    functionName: _gpgrt_fdopen_nc
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - do_fdopen
    linkageType: ''
    returnType: estream_t
    signature: estream_t _gpgrt_fdopen_nc (int filedes, const char *mode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parse_mode
      Src: /src/libgpg-error/src/estream.c:3890,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:3896,1
    - Dst: fflush
      Src: /src/libgpg-error/src/estream.c:3902,1
    - Dst: func_fp_create
      Src: /src/libgpg-error/src/estream.c:3903,1
    - Dst: fileno
      Src: /src/libgpg-error/src/estream.c:3908,1
    - Dst: create_stream
      Src: /src/libgpg-error/src/estream.c:3910,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - fp
    - mode
    - no_close
    - with_locked_list
    argTypes:
    - FILE*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3919
      start: 3880
    functionDepth: 4
    functionLinenumber: 3880
    functionLinenumberEnd: 3919
    functionName: do_fpopen
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - fileno
    - create_stream
    - fflush
    - parse_mode
    - func_fp_create
    linkageType: ''
    returnType: estream_t
    signature: estream_t do_fpopen (FILE *fp, const char *mode, int no_close, int
      with_locked_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_fpopen
      Src: /src/libgpg-error/src/estream.c:3933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - mode
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3934
      start: 3930
    functionDepth: 5
    functionLinenumber: 3930
    functionLinenumberEnd: 3934
    functionName: _gpgrt_fpopen
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - do_fpopen
    linkageType: ''
    returnType: estream_t
    signature: estream_t _gpgrt_fpopen (FILE *fp, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_fpopen
      Src: /src/libgpg-error/src/estream.c:3941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - mode
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3942
      start: 3938
    functionDepth: 5
    functionLinenumber: 3938
    functionLinenumberEnd: 3942
    functionName: _gpgrt_fpopen_nc
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - do_fpopen
    linkageType: ''
    returnType: estream_t
    signature: estream_t _gpgrt_fpopen_nc (FILE *fp, const char *mode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: parse_mode
      Src: /src/libgpg-error/src/estream.c:3957,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:3963,1
    - Dst: func_sock_create
      Src: /src/libgpg-error/src/estream.c:3968,1
    - Dst: create_stream
      Src: /src/libgpg-error/src/estream.c:3975,1
    - Dst: estream_t::intern::func_ioctl
      Src: /src/libgpg-error/src/estream.c:3982,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - sock
    - mode
    - no_close
    - with_locked_list
    argTypes:
    - SOCKET
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3991
      start: 3947
    functionDepth: 4
    functionLinenumber: 3947
    functionLinenumberEnd: 3991
    functionName: do_sockopen
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - estream_t::intern::func_ioctl
    - create_stream
    - parse_mode
    - func_sock_create
    linkageType: ''
    returnType: estream_t
    signature: estream_t do_sockopen (SOCKET sock, const char *mode, int no_close,
      int with_locked_list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_mode
      Src: /src/libgpg-error/src/estream.c:4006,1
    - Dst: func_w32_create
      Src: /src/libgpg-error/src/estream.c:4013,1
    - Dst: create_stream
      Src: /src/libgpg-error/src/estream.c:4021,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - hd
    - mode
    - no_close
    - with_locked_list
    argTypes:
    - HANDLE
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4030
      start: 3994
    functionDepth: 4
    functionLinenumber: 3994
    functionLinenumberEnd: 4030
    functionName: do_w32open
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - create_stream
    - func_w32_create
    - parse_mode
    linkageType: ''
    returnType: estream_t
    signature: "estream_t do_w32open (HANDLE hd, const char *mode,\n            int
      no_close, int with_locked_list)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: do_fdopen
      Src: /src/libgpg-error/src/estream.c:4044,1
    - Dst: do_sockopen
      Src: /src/libgpg-error/src/estream.c:4049,1
    - Dst: do_w32open
      Src: /src/libgpg-error/src/estream.c:4052,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:4059,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - syshd
    - mode
    - no_close
    argTypes:
    - es_syshd_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4063
      start: 4033
    functionDepth: 5
    functionLinenumber: 4033
    functionLinenumberEnd: 4063
    functionName: do_sysopen
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - do_sockopen
    - do_w32open
    - _set_errno
    - do_fdopen
    linkageType: ''
    returnType: estream_t
    signature: estream_t do_sysopen (es_syshd_t *syshd, const char *mode, int no_close)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_sysopen
      Src: /src/libgpg-error/src/estream.c:4071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - syshd
    - mode
    argTypes:
    - es_syshd_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4072
      start: 4068
    functionDepth: 6
    functionLinenumber: 4068
    functionLinenumberEnd: 4072
    functionName: _gpgrt_sysopen
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - do_sysopen
    linkageType: ''
    returnType: estream_t
    signature: estream_t _gpgrt_sysopen (es_syshd_t *syshd, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_sysopen
      Src: /src/libgpg-error/src/estream.c:4079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - syshd
    - mode
    argTypes:
    - es_syshd_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4080
      start: 4076
    functionDepth: 6
    functionLinenumber: 4076
    functionLinenumberEnd: 4080
    functionName: _gpgrt_sysopen_nc
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - do_sysopen
    linkageType: ''
    returnType: estream_t
    signature: estream_t _gpgrt_sysopen_nc (es_syshd_t *syshd, const char *mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock_list
      Src: /src/libgpg-error/src/estream.c:4092,1
    - Dst: unlock_list
      Src: /src/libgpg-error/src/estream.c:4098,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - 'no'
    - fd
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4099
      start: 4088
    functionDepth: 2
    functionLinenumber: 4088
    functionLinenumberEnd: 4099
    functionName: _gpgrt__set_std_fd
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - lock_list
    - unlock_list
    linkageType: ''
    returnType: void
    signature: void _gpgrt__set_std_fd (int no, int fd)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: lock_list
      Src: /src/libgpg-error/src/estream.c:4112,1
    - Dst: do_fdopen
      Src: /src/libgpg-error/src/estream.c:4126,1
    - Dst: do_fdopen
      Src: /src/libgpg-error/src/estream.c:4128,1
    - Dst: do_fdopen
      Src: /src/libgpg-error/src/estream.c:4130,1
    - Dst: do_fpopen
      Src: /src/libgpg-error/src/estream.c:4136,1
    - Dst: do_fpopen
      Src: /src/libgpg-error/src/estream.c:4138,1
    - Dst: do_fpopen
      Src: /src/libgpg-error/src/estream.c:4140,1
    - Dst: do_fpopen
      Src: /src/libgpg-error/src/estream.c:4146,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/estream.c:4149,1
    - Dst: strerror
      Src: /src/libgpg-error/src/estream.c:4150,1
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/estream.c:4151,1
    - Dst: es_set_buffering
      Src: /src/libgpg-error/src/estream.c:4158,1
    - Dst: fname_set_internal
      Src: /src/libgpg-error/src/estream.c:4159,1
    - Dst: unlock_list
      Src: /src/libgpg-error/src/estream.c:4164,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4166
      start: 4104
    functionDepth: 5
    functionLinenumber: 4104
    functionLinenumberEnd: 4166
    functionName: _gpgrt__get_std_stream
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _gpgrt_abort
    - fname_set_internal
    - do_fdopen
    - fprintf
    - lock_list
    - do_fpopen
    - es_set_buffering
    - unlock_list
    - strerror
    linkageType: ''
    returnType: estream_t
    signature: estream_t _gpgrt__get_std_stream (int fd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/src/estream.c:4192,1
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4198,1
    - Dst: deinit_stream_obj
      Src: /src/libgpg-error/src/estream.c:4200,1
    - Dst: parse_mode
      Src: /src/libgpg-error/src/estream.c:4202,1
    - Dst: func_file_create
      Src: /src/libgpg-error/src/estream.c:4207,1
    - Dst: init_stream_obj
      Src: /src/libgpg-error/src/estream.c:4214,1
    - Dst: func_fd_destroy
      Src: /src/libgpg-error/src/estream.c:4222,1
    - Dst: do_close
      Src: /src/libgpg-error/src/estream.c:4224,1
    - Dst: fname_set_internal
      Src: /src/libgpg-error/src/estream.c:4230,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4231,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:4237,1
    - Dst: deinit_stream_obj
      Src: /src/libgpg-error/src/estream.c:4238,1
    - Dst: do_close
      Src: /src/libgpg-error/src/estream.c:4239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 3
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    argTypes:
    - char*
    - char*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4244
      start: 4172
    functionDepth: 3
    functionLinenumber: 4172
    functionLinenumberEnd: 4244
    functionName: _gpgrt_freopen
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - func_fd_destroy
    - fname_set_internal
    - init_stream_obj
    - do_close
    - func_file_create
    - unlock_stream
    - deinit_stream_obj
    - strcmp
    - lock_stream
    - parse_mode
    linkageType: ''
    returnType: estream_t
    signature: "estream_t _gpgrt_freopen (const char *_GPGRT__RESTRICT path,\n                const
      char *_GPGRT__RESTRICT mode,\n                estream_t _GPGRT__RESTRICT stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_close
      Src: /src/libgpg-error/src/estream.c:4252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4255
      start: 4247
    functionDepth: 0
    functionLinenumber: 4247
    functionLinenumberEnd: 4255
    functionName: _gpgrt_fclose
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 1
    functionsReached:
    - do_close
    linkageType: ''
    returnType: int
    signature: int _gpgrt_fclose (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_close
      Src: /src/libgpg-error/src/estream.c:4267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4270
      start: 4262
    functionDepth: 0
    functionLinenumber: 4262
    functionLinenumberEnd: 4270
    functionName: _gpgrt_fcancel
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - do_close
    linkageType: ''
    returnType: int
    signature: int _gpgrt_fcancel (estream_t stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:4299,1
    - Dst: flush_stream
      Src: /src/libgpg-error/src/estream.c:4306,1
    - Dst: func_ioctl
      Src: /src/libgpg-error/src/estream.c:4312,1
    - Dst: do_close
      Src: /src/libgpg-error/src/estream.c:4320,1
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:4325,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - stream
    - r_buffer
    - r_buflen
    argTypes:
    - estream_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4329
      start: 4281
    functionDepth: 2
    functionLinenumber: 4281
    functionLinenumberEnd: 4329
    functionName: _gpgrt_fclose_snatch
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - do_close
    - mem_free
    - flush_stream
    - func_ioctl
    linkageType: ''
    returnType: int
    signature: int _gpgrt_fclose_snatch (estream_t stream, void **r_buffer, size_t
      *r_buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4359,1
    - Dst: do_onclose
      Src: /src/libgpg-error/src/estream.c:4360,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - mode
    - fnc_value
    argTypes:
    - estream_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4364
      start: 4353
    functionDepth: 3
    functionLinenumber: 4353
    functionLinenumberEnd: 4364
    functionName: _gpgrt_onclose
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - do_onclose
    linkageType: ''
    returnType: int
    signature: "int _gpgrt_onclose (estream_t stream, int mode,\n                void
      (*fnc) (estream_t, void*), void *fnc_value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_syshd_unlocked
      Src: /src/libgpg-error/src/estream.c:4372,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:4379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4382
      start: 4367
    functionDepth: 1
    functionLinenumber: 4367
    functionLinenumberEnd: 4382
    functionName: _gpgrt_fileno_unlocked
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - _gpgrt_syshd_unlocked
    linkageType: ''
    returnType: int
    signature: int _gpgrt_fileno_unlocked (estream_t stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:4396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - stream
    - syshd
    argTypes:
    - estream_t
    - es_syshd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4402
      start: 4389
    functionDepth: 0
    functionLinenumber: 4389
    functionLinenumberEnd: 4402
    functionName: _gpgrt_syshd_unlocked
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 1
    functionsReached:
    - _set_errno
    linkageType: ''
    returnType: int
    signature: int _gpgrt_syshd_unlocked (estream_t stream, es_syshd_t *syshd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4409
      start: 4405
    functionDepth: 2
    functionLinenumber: 4405
    functionLinenumberEnd: 4409
    functionName: _gpgrt_flockfile
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - lock_stream
    linkageType: ''
    returnType: void
    signature: void _gpgrt_flockfile (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trylock_stream
      Src: /src/libgpg-error/src/estream.c:4415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4416
      start: 4412
    functionDepth: 2
    functionLinenumber: 4412
    functionLinenumberEnd: 4416
    functionName: _gpgrt_ftrylockfile
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - trylock_stream
    linkageType: ''
    returnType: int
    signature: int _gpgrt_ftrylockfile (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4423
      start: 4419
    functionDepth: 2
    functionLinenumber: 4419
    functionLinenumberEnd: 4423
    functionName: _gpgrt_funlockfile
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    linkageType: ''
    returnType: void
    signature: void _gpgrt_funlockfile (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4431,1
    - Dst: _gpgrt_fileno_unlocked
      Src: /src/libgpg-error/src/estream.c:4432,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4436
      start: 4426
    functionDepth: 2
    functionLinenumber: 4426
    functionLinenumberEnd: 4436
    functionName: _gpgrt_fileno
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - _gpgrt_fileno_unlocked
    linkageType: ''
    returnType: int
    signature: int _gpgrt_fileno (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4448,1
    - Dst: _gpgrt_syshd_unlocked
      Src: /src/libgpg-error/src/estream.c:4449,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - syshd
    argTypes:
    - estream_t
    - es_syshd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4453
      start: 4443
    functionDepth: 2
    functionLinenumber: 4443
    functionLinenumberEnd: 4453
    functionName: _gpgrt_syshd
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - _gpgrt_syshd_unlocked
    linkageType: ''
    returnType: int
    signature: int _gpgrt_syshd (estream_t stream, es_syshd_t *syshd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_pending
      Src: /src/libgpg-error/src/estream.c:4459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4460
      start: 4456
    functionDepth: 2
    functionLinenumber: 4456
    functionLinenumberEnd: 4460
    functionName: _gpgrt__pending_unlocked
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - check_pending
    linkageType: ''
    returnType: int
    signature: int _gpgrt__pending_unlocked (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4476,1
    - Dst: _gpgrt__pending_unlocked
      Src: /src/libgpg-error/src/estream.c:4477,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4481
      start: 4471
    functionDepth: 3
    functionLinenumber: 4471
    functionLinenumberEnd: 4481
    functionName: _gpgrt__pending
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - _gpgrt__pending_unlocked
    linkageType: ''
    returnType: int
    signature: int _gpgrt__pending (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4488
      start: 4484
    functionDepth: 0
    functionLinenumber: 4484
    functionLinenumberEnd: 4488
    functionName: _gpgrt_feof_unlocked
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gpgrt_feof_unlocked (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4496,1
    - Dst: _gpgrt_feof_unlocked
      Src: /src/libgpg-error/src/estream.c:4497,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4501
      start: 4491
    functionDepth: 2
    functionLinenumber: 4491
    functionLinenumberEnd: 4501
    functionName: _gpgrt_feof
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - _gpgrt_feof_unlocked
    linkageType: ''
    returnType: int
    signature: int _gpgrt_feof (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4508
      start: 4504
    functionDepth: 0
    functionLinenumber: 4504
    functionLinenumberEnd: 4508
    functionName: _gpgrt_ferror_unlocked
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gpgrt_ferror_unlocked (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4516,1
    - Dst: _gpgrt_ferror_unlocked
      Src: /src/libgpg-error/src/estream.c:4517,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4521
      start: 4511
    functionDepth: 2
    functionLinenumber: 4511
    functionLinenumberEnd: 4521
    functionName: _gpgrt_ferror
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - _gpgrt_ferror_unlocked
    linkageType: ''
    returnType: int
    signature: int _gpgrt_ferror (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4531
      start: 4524
    functionDepth: 0
    functionLinenumber: 4524
    functionLinenumberEnd: 4531
    functionName: _gpgrt_clearerr_unlocked
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gpgrt_clearerr_unlocked (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4537,1
    - Dst: _gpgrt_clearerr_unlocked
      Src: /src/libgpg-error/src/estream.c:4538,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4540
      start: 4534
    functionDepth: 2
    functionLinenumber: 4534
    functionLinenumberEnd: 4540
    functionName: _gpgrt_clearerr
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - _gpgrt_clearerr_unlocked
    linkageType: ''
    returnType: void
    signature: void _gpgrt_clearerr (estream_t stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flush_stream
      Src: /src/libgpg-error/src/estream.c:4549,1
    - Dst: es_empty
      Src: /src/libgpg-error/src/estream.c:4552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4557
      start: 4543
    functionDepth: 1
    functionLinenumber: 4543
    functionLinenumberEnd: 4557
    functionName: do_fflush
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - es_empty
    - flush_stream
    linkageType: ''
    returnType: int
    signature: int do_fflush (estream_t stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4568,1
    - Dst: do_fflush
      Src: /src/libgpg-error/src/estream.c:4569,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4570,1
    - Dst: lock_list
      Src: /src/libgpg-error/src/estream.c:4577,1
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4597,1
    - Dst: do_fflush
      Src: /src/libgpg-error/src/estream.c:4598,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4599,1
    - Dst: unlock_list
      Src: /src/libgpg-error/src/estream.c:4602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - stream
    - in_atexit
    argTypes:
    - estream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4605
      start: 4561
    functionDepth: 2
    functionLinenumber: 4561
    functionLinenumberEnd: 4605
    functionName: _gpgrt_fflush
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 1
    functionsReached:
    - unlock_stream
    - lock_list
    - lock_stream
    - do_fflush
    - unlock_list
    linkageType: ''
    returnType: int
    signature: int _gpgrt_fflush (estream_t stream, int in_atexit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4613,1
    - Dst: es_seek
      Src: /src/libgpg-error/src/estream.c:4614,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - offset
    - whence
    argTypes:
    - estream_t
    - long int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4618
      start: 4608
    functionDepth: 2
    functionLinenumber: 4608
    functionLinenumberEnd: 4618
    functionName: _gpgrt_fseek
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - es_seek
    linkageType: ''
    returnType: int
    signature: int _gpgrt_fseek (estream_t stream, long int offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4626,1
    - Dst: es_seek
      Src: /src/libgpg-error/src/estream.c:4627,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - offset
    - whence
    argTypes:
    - estream_t
    - gpgrt_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4631
      start: 4621
    functionDepth: 2
    functionLinenumber: 4621
    functionLinenumberEnd: 4631
    functionName: _gpgrt_fseeko
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - es_seek
    linkageType: ''
    returnType: int
    signature: int _gpgrt_fseeko (estream_t stream, gpgrt_off_t offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4639,1
    - Dst: es_offset_calculate
      Src: /src/libgpg-error/src/estream.c:4640,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4644
      start: 4634
    functionDepth: 2
    functionLinenumber: 4634
    functionLinenumberEnd: 4644
    functionName: _gpgrt_ftell
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - es_offset_calculate
    linkageType: ''
    returnType: long int
    signature: long int _gpgrt_ftell (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4652,1
    - Dst: es_offset_calculate
      Src: /src/libgpg-error/src/estream.c:4653,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4657
      start: 4647
    functionDepth: 2
    functionLinenumber: 4647
    functionLinenumberEnd: 4657
    functionName: _gpgrt_ftello
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - es_offset_calculate
    linkageType: ''
    returnType: gpgrt_off_t
    signature: gpgrt_off_t _gpgrt_ftello (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4663,1
    - Dst: es_seek
      Src: /src/libgpg-error/src/estream.c:4664,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4668
      start: 4660
    functionDepth: 2
    functionLinenumber: 4660
    functionLinenumberEnd: 4668
    functionName: _gpgrt_rewind
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - es_seek
    linkageType: ''
    returnType: void
    signature: void _gpgrt_rewind (estream_t stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4677,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:4681,1
    - Dst: func_ioctl
      Src: /src/libgpg-error/src/estream.c:4686,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - stream
    - length
    argTypes:
    - estream_t
    - gpgrt_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4691
      start: 4671
    functionDepth: 2
    functionLinenumber: 4671
    functionLinenumberEnd: 4691
    functionName: _gpgrt_ftruncate
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - unlock_stream
    - lock_stream
    - func_ioctl
    linkageType: ''
    returnType: int
    signature: int _gpgrt_ftruncate (estream_t stream, gpgrt_off_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_readn
      Src: /src/libgpg-error/src/estream.c:4701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4704
      start: 4694
    functionDepth: 4
    functionLinenumber: 4694
    functionLinenumberEnd: 4704
    functionName: _gpgrt__getc_underflow
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - es_readn
    linkageType: ''
    returnType: int
    signature: int _gpgrt__getc_underflow (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_writen
      Src: /src/libgpg-error/src/estream.c:4713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - stream
    argTypes:
    - int
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4716
      start: 4707
    functionDepth: 4
    functionLinenumber: 4707
    functionLinenumberEnd: 4716
    functionName: _gpgrt__putc_overflow
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - es_writen
    linkageType: ''
    returnType: int
    signature: int _gpgrt__putc_overflow (int c, estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4724,1
    - Dst: _gpgrt_getc_unlocked
      Src: /src/libgpg-error/src/estream.c:4725,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4729
      start: 4719
    functionDepth: 2
    functionLinenumber: 4719
    functionLinenumberEnd: 4729
    functionName: _gpgrt_fgetc
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - _gpgrt_getc_unlocked
    linkageType: ''
    returnType: int
    signature: int _gpgrt_fgetc (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4737,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/estream.c:4738,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - c
    - stream
    argTypes:
    - int
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4742
      start: 4732
    functionDepth: 2
    functionLinenumber: 4732
    functionLinenumberEnd: 4742
    functionName: _gpgrt_fputc
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _gpgrt_putc_unlocked
    - unlock_stream
    - lock_stream
    linkageType: ''
    returnType: int
    signature: int _gpgrt_fputc (int c, estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4751,1
    - Dst: es_unreadn
      Src: /src/libgpg-error/src/estream.c:4752,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - c
    - stream
    argTypes:
    - int
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4756
      start: 4745
    functionDepth: 2
    functionLinenumber: 4745
    functionLinenumberEnd: 4756
    functionName: _gpgrt_ungetc
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - es_unreadn
    linkageType: ''
    returnType: int
    signature: int _gpgrt_ungetc (int c, estream_t stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4768,1
    - Dst: es_readn
      Src: /src/libgpg-error/src/estream.c:4769,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - bytes_to_read
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4776
      start: 4759
    functionDepth: 4
    functionLinenumber: 4759
    functionLinenumberEnd: 4776
    functionName: _gpgrt_read
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 1
    functionsReached:
    - es_readn
    - lock_stream
    - unlock_stream
    linkageType: ''
    returnType: int
    signature: "int _gpgrt_read (estream_t _GPGRT__RESTRICT stream,\n             void
      *_GPGRT__RESTRICT buffer, size_t bytes_to_read,\n             size_t *_GPGRT__RESTRICT
      bytes_read)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4788,1
    - Dst: es_writen
      Src: /src/libgpg-error/src/estream.c:4789,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - bytes_to_write
    - _GPGRT__RESTRICT bytes_written
    argTypes:
    - estream_t
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4796
      start: 4779
    functionDepth: 4
    functionLinenumber: 4779
    functionLinenumberEnd: 4796
    functionName: _gpgrt_write
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 1
    functionsReached:
    - unlock_stream
    - lock_stream
    - es_writen
    linkageType: ''
    returnType: int
    signature: "int _gpgrt_write (estream_t _GPGRT__RESTRICT stream,\n              const
      void *_GPGRT__RESTRICT buffer, size_t bytes_to_write,\n              size_t
      *_GPGRT__RESTRICT bytes_written)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4807,1
    - Dst: es_readn
      Src: /src/libgpg-error/src/estream.c:4808,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - size
    - nitems
    - _GPGRT__RESTRICT
    argTypes:
    - void*
    - size_t
    - size_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4817
      start: 4799
    functionDepth: 4
    functionLinenumber: 4799
    functionLinenumberEnd: 4817
    functionName: _gpgrt_fread
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - es_readn
    - lock_stream
    - unlock_stream
    linkageType: ''
    returnType: size_t
    signature: "size_t _gpgrt_fread (void *_GPGRT__RESTRICT ptr, size_t size, size_t
      nitems,\n              estream_t _GPGRT__RESTRICT stream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4828,1
    - Dst: es_writen
      Src: /src/libgpg-error/src/estream.c:4829,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - size
    - nitems
    - _GPGRT__RESTRICT
    argTypes:
    - void*
    - size_t
    - size_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4838
      start: 4820
    functionDepth: 4
    functionLinenumber: 4820
    functionLinenumberEnd: 4838
    functionName: _gpgrt_fwrite
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - es_writen
    linkageType: ''
    returnType: size_t
    signature: "size_t _gpgrt_fwrite (const void *_GPGRT__RESTRICT ptr, size_t size,
      size_t nitems,\n               estream_t _GPGRT__RESTRICT stream)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4852,1
    - Dst: _gpgrt_getc_unlocked
      Src: /src/libgpg-error/src/estream.c:4853,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4858,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - _GPGRT__RESTRICT
    - length
    - _GPGRT__RESTRICT
    argTypes:
    - char*
    - int
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4868
      start: 4841
    functionDepth: 2
    functionLinenumber: 4841
    functionLinenumberEnd: 4868
    functionName: _gpgrt_fgets
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - _gpgrt_getc_unlocked
    linkageType: ''
    returnType: char
    signature: "char *\n_gpgrt_fgets (char *_GPGRT__RESTRICT buffer, int length,\n
      \             estream_t _GPGRT__RESTRICT stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgpg-error/src/estream.c:4878,1
    - Dst: es_writen
      Src: /src/libgpg-error/src/estream.c:4879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    argTypes:
    - char*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4881
      start: 4871
    functionDepth: 4
    functionLinenumber: 4871
    functionLinenumberEnd: 4881
    functionName: _gpgrt_fputs_unlocked
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - es_writen
    - strlen
    linkageType: ''
    returnType: int
    signature: "int _gpgrt_fputs_unlocked (const char *_GPGRT__RESTRICT s,\n                       estream_t
      _GPGRT__RESTRICT stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgpg-error/src/estream.c:4889,1
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4890,1
    - Dst: es_writen
      Src: /src/libgpg-error/src/estream.c:4891,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    argTypes:
    - char*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4895
      start: 4883
    functionDepth: 4
    functionLinenumber: 4883
    functionLinenumberEnd: 4895
    functionName: _gpgrt_fputs
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - es_writen
    - strlen
    linkageType: ''
    returnType: int
    signature: int _gpgrt_fputs (const char *_GPGRT__RESTRICT s, estream_t _GPGRT__RESTRICT
      stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:4906,1
    - Dst: doreadline
      Src: /src/libgpg-error/src/estream.c:4907,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:4908,1
    - Dst: mem_realloc
      Src: /src/libgpg-error/src/estream.c:4922,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/estream.c:4934,1
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:4938,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - _GPGRT__RESTRICT *_GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    argTypes:
    - char*
    - size_t*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4950
      start: 4898
    functionDepth: 5
    functionLinenumber: 4898
    functionLinenumberEnd: 4950
    functionName: _gpgrt_getline
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - mem_free
    - lock_stream
    - mem_realloc
    - doreadline
    - memcpy
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: "gpgrt_ssize_t _gpgrt_getline (char *_GPGRT__RESTRICT *_GPGRT__RESTRICT
      lineptr,\n                size_t *_GPGRT__RESTRICT n, estream_t _GPGRT__RESTRICT
      stream)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mem_alloc
      Src: /src/libgpg-error/src/estream.c:4998,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:5014,1
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:5019,1
    - Dst: _gpgrt_getc_unlocked
      Src: /src/libgpg-error/src/estream.c:5021,1
    - Dst: _gpgrt_getc_unlocked
      Src: /src/libgpg-error/src/estream.c:5029,1
    - Dst: mem_realloc
      Src: /src/libgpg-error/src/estream.c:5039,1
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:5043,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:5047,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:5048,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:5062,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 4
    argNames:
    - stream
    - addr_of_buffer
    - length_of_buffer
    - max_length
    argTypes:
    - estream_t
    - char**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5065
      start: 4982
    functionDepth: 2
    functionLinenumber: 4982
    functionLinenumberEnd: 5065
    functionName: _gpgrt_read_line
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - mem_alloc
    - unlock_stream
    - mem_free
    - lock_stream
    - mem_realloc
    - _gpgrt_getc_unlocked
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: "gpgrt_ssize_t _gpgrt_read_line (estream_t stream,\n                  char
      **addr_of_buffer, size_t *length_of_buffer,\n                  size_t *max_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_print_stream
      Src: /src/libgpg-error/src/estream.c:5085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - _GPGRT__RESTRICT
    - sf
    - sfvalue
    - _GPGRT__RESTRICT
    - ap
    argTypes:
    - estream_t
    - gpgrt_string_filter_t
    - void*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5086
      start: 5079
    functionDepth: 2
    functionLinenumber: 5079
    functionLinenumberEnd: 5086
    functionName: _gpgrt_vfprintf_unlocked
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - do_print_stream
    linkageType: ''
    returnType: int
    signature: "int _gpgrt_vfprintf_unlocked (estream_t _GPGRT__RESTRICT stream,\n
      \                         gpgrt_string_filter_t sf, void *sfvalue,\n                          const
      char *_GPGRT__RESTRICT format,\n                          va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:5097,1
    - Dst: do_print_stream
      Src: /src/libgpg-error/src/estream.c:5098,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:5099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - _GPGRT__RESTRICT
    - sf
    - sfvalue
    - _GPGRT__RESTRICT
    - ap
    argTypes:
    - estream_t
    - gpgrt_string_filter_t
    - void*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5102
      start: 5089
    functionDepth: 2
    functionLinenumber: 5089
    functionLinenumberEnd: 5102
    functionName: _gpgrt_vfprintf
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - do_print_stream
    linkageType: ''
    returnType: int
    signature: "int _gpgrt_vfprintf (estream_t _GPGRT__RESTRICT stream,\n                 gpgrt_string_filter_t
      sf, void *sfvalue,\n                 const char *_GPGRT__RESTRICT format,\n
      \                va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/estream.c:5112,1
    - Dst: do_print_stream
      Src: /src/libgpg-error/src/estream.c:5113,1
    - Dst: va_end
      Src: /src/libgpg-error/src/estream.c:5114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5117
      start: 5105
    functionDepth: 2
    functionLinenumber: 5105
    functionLinenumberEnd: 5117
    functionName: _gpgrt_fprintf_unlocked
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - va_end
    - do_print_stream
    - va_start
    linkageType: ''
    returnType: int
    signature: "int _gpgrt_fprintf_unlocked (estream_t _GPGRT__RESTRICT stream,\n
      \                        const char *_GPGRT__RESTRICT format, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/estream.c:5127,1
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:5128,1
    - Dst: do_print_stream
      Src: /src/libgpg-error/src/estream.c:5129,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:5130,1
    - Dst: va_end
      Src: /src/libgpg-error/src/estream.c:5131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5134
      start: 5120
    functionDepth: 2
    functionLinenumber: 5120
    functionLinenumberEnd: 5134
    functionName: _gpgrt_fprintf
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - va_end
    - unlock_stream
    - lock_stream
    - va_start
    - do_print_stream
    linkageType: ''
    returnType: int
    signature: "int _gpgrt_fprintf (estream_t _GPGRT__RESTRICT stream,\n                const
      char *_GPGRT__RESTRICT format, ...)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentProcessId
      Src: /src/libgpg-error/src/estream.c:5146,1
    - Dst: GetTempPath
      Src: /src/libgpg-error/src/estream.c:5150,1
    - Dst: mystrlen
      Src: /src/libgpg-error/src/estream.c:5151,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:5153,1
    - Dst: mystrlen
      Src: /src/libgpg-error/src/estream.c:5156,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/estream.c:5157,1
    - Dst: CreateDirectory
      Src: /src/libgpg-error/src/estream.c:5162,1
    - Dst: GetTickCount
      Src: /src/libgpg-error/src/estream.c:5168,1
    - Dst: tohex
      Src: /src/libgpg-error/src/estream.c:5171,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/estream.c:5174,1
    - Dst: CreateFile
      Src: /src/libgpg-error/src/estream.c:5175,1
    - Dst: _open_osfhandle
      Src: /src/libgpg-error/src/estream.c:5184,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/estream.c:5187,1
    - Dst: Sleep
      Src: /src/libgpg-error/src/estream.c:5192,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:5194,1
    - Dst: tmpfile
      Src: /src/libgpg-error/src/estream.c:5204,1
    - Dst: fileno
      Src: /src/libgpg-error/src/estream.c:5208,1
    - Dst: dup
      Src: /src/libgpg-error/src/estream.c:5209,1
    - Dst: fclose
      Src: /src/libgpg-error/src/estream.c:5214,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5218
      start: 5137
    functionDepth: 1
    functionLinenumber: 5137
    functionLinenumberEnd: 5218
    functionName: tmpfd
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - Sleep
    - CloseHandle
    - tmpfile
    - CreateDirectory
    - fclose
    - GetTickCount
    - mystrlen
    - dup
    - GetTempPath
    - tohex
    - fileno
    - CreateFile
    - strcpy
    - GetCurrentProcessId
    - _open_osfhandle
    linkageType: ''
    returnType: int
    signature: int tmpfd (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5144
      start: 5143
    functionDepth: 0
    functionLinenumber: 5143
    functionLinenumberEnd: 5144
    functionName: mystrlen
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mystrlen(a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tmpfd
      Src: /src/libgpg-error/src/estream.c:5233,1
    - Dst: func_fd_create
      Src: /src/libgpg-error/src/estream.c:5240,1
    - Dst: create_stream
      Src: /src/libgpg-error/src/estream.c:5247,1
    - Dst: func_fd_destroy
      Src: /src/libgpg-error/src/estream.c:5255,1
    - Dst: close
      Src: /src/libgpg-error/src/estream.c:5257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5262
      start: 5220
    functionDepth: 4
    functionLinenumber: 5220
    functionLinenumberEnd: 5262
    functionName: _gpgrt_tmpfile
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - func_fd_destroy
    - tmpfd
    - close
    - create_stream
    - func_fd_create
    linkageType: ''
    returnType: estream_t
    signature: estream_t _gpgrt_tmpfile (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:5274,1
    - Dst: es_set_buffering
      Src: /src/libgpg-error/src/estream.c:5275,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:5276,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:5280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - type
    - size
    argTypes:
    - estream_t
    - char*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5285
      start: 5265
    functionDepth: 3
    functionLinenumber: 5265
    functionLinenumberEnd: 5285
    functionName: _gpgrt_setvbuf
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - unlock_stream
    - lock_stream
    - es_set_buffering
    linkageType: ''
    returnType: int
    signature: "int _gpgrt_setvbuf (estream_t _GPGRT__RESTRICT stream,\n                char
      *_GPGRT__RESTRICT buf, int type, size_t size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:5295,1
    - Dst: IS_INVALID_FD
      Src: /src/libgpg-error/src/estream.c:5304,1
    - Dst: setmode
      Src: /src/libgpg-error/src/estream.c:5305,1
    - Dst: setmode
      Src: /src/libgpg-error/src/estream.c:5312,1
    - Dst: fileno
      Src: /src/libgpg-error/src/estream.c:5312,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:5316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5317
      start: 5292
    functionDepth: 2
    functionLinenumber: 5292
    functionLinenumberEnd: 5317
    functionName: _gpgrt_set_binary
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - fileno
    - lock_stream
    - IS_INVALID_FD
    - setmode
    linkageType: ''
    returnType: void
    signature: void _gpgrt_set_binary (estream_t stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:5344,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:5348,1
    - Dst: func_ioctl
      Src: /src/libgpg-error/src/estream.c:5360,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:5365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - stream
    - onoff
    argTypes:
    - estream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5367
      start: 5338
    functionDepth: 2
    functionLinenumber: 5338
    functionLinenumberEnd: 5367
    functionName: _gpgrt_set_nonblock
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - unlock_stream
    - lock_stream
    - func_ioctl
    linkageType: ''
    returnType: int
    signature: int _gpgrt_set_nonblock (estream_t stream, int onoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:5376,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:5378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5380
      start: 5371
    functionDepth: 2
    functionLinenumber: 5371
    functionLinenumberEnd: 5380
    functionName: _gpgrt_get_nonblock
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    linkageType: ''
    returnType: int
    signature: int _gpgrt_get_nonblock (estream_t stream)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:5412,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream.c:5416,1
    - Dst: _gpgrt__pending
      Src: /src/libgpg-error/src/estream.c:5440,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/estream.c:5463,1
    - Dst: _gpgrt_w32_poll
      Src: /src/libgpg-error/src/estream.c:5464,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/estream.c:5465,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/estream.c:5469,1
    - Dst: _gpgrt_fileno
      Src: /src/libgpg-error/src/estream.c:5480,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/estream.c:5495,1
    - Dst: poll
      Src: /src/libgpg-error/src/estream.c:5497,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/estream.c:5499,1
    - Dst: _gpgrt_fileno
      Src: /src/libgpg-error/src/estream.c:5507,1
    - Dst: FD_ZERO
      Src: /src/libgpg-error/src/estream.c:5515,1
    - Dst: FD_SET
      Src: /src/libgpg-error/src/estream.c:5518,1
    - Dst: FD_ZERO
      Src: /src/libgpg-error/src/estream.c:5526,1
    - Dst: FD_SET
      Src: /src/libgpg-error/src/estream.c:5529,1
    - Dst: FD_ZERO
      Src: /src/libgpg-error/src/estream.c:5537,1
    - Dst: FD_SET
      Src: /src/libgpg-error/src/estream.c:5540,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/estream.c:5546,1
    - Dst: select
      Src: /src/libgpg-error/src/estream.c:5553,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/estream.c:5560,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/estream.c:5566,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/estream.c:5568,1
    - Dst: _gpgrt_fileno
      Src: /src/libgpg-error/src/estream.c:5587,1
    - Dst: _gpgrt_fileno
      Src: /src/libgpg-error/src/estream.c:5632,1
    - Dst: FD_ISSET
      Src: /src/libgpg-error/src/estream.c:5646,1
    - Dst: FD_ISSET
      Src: /src/libgpg-error/src/estream.c:5651,1
    - Dst: FD_ISSET
      Src: /src/libgpg-error/src/estream.c:5656,1
    - Dst: xfree
      Src: /src/libgpg-error/src/estream.c:5671,1
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:5675,1
    - Dst: trace
      Src: /src/libgpg-error/src/estream.c:5680,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 194
    argCount: 3
    argNames:
    - fds
    - nfds
    - timeout
    argTypes:
    - gpgrt_poll_t*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5699
      start: 5394
    functionDepth: 4
    functionLinenumber: 5394
    functionLinenumberEnd: 5699
    functionName: _gpgrt_poll
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - FD_ZERO
    - select
    - trace
    - _gpgrt_post_syscall
    - trace_errno
    - _gpgrt__pending
    - _gpgrt_pre_syscall
    - FD_SET
    - xfree
    - FD_ISSET
    - _gpgrt_fileno
    - poll
    - _gpgrt_w32_poll
    - xtrymalloc
    linkageType: ''
    returnType: int
    signature: int _gpgrt_poll (gpgrt_poll_t *fds, unsigned int nfds, int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:5705,1
    - Dst: es_opaque_ctrl
      Src: /src/libgpg-error/src/estream.c:5706,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:5707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - opaque
    argTypes:
    - estream_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5708
      start: 5702
    functionDepth: 2
    functionLinenumber: 5702
    functionLinenumberEnd: 5708
    functionName: _gpgrt_opaque_set
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - es_opaque_ctrl
    - unlock_stream
    - lock_stream
    linkageType: ''
    returnType: void
    signature: void _gpgrt_opaque_set (estream_t stream, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:5716,1
    - Dst: es_opaque_ctrl
      Src: /src/libgpg-error/src/estream.c:5717,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:5718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5721
      start: 5711
    functionDepth: 2
    functionLinenumber: 5711
    functionLinenumberEnd: 5721
    functionName: _gpgrt_opaque_get
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - es_opaque_ctrl
    - unlock_stream
    - lock_stream
    linkageType: ''
    returnType: void
    signature: 'void *

      _gpgrt_opaque_get (estream_t stream)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem_free
      Src: /src/libgpg-error/src/estream.c:5730,1
    - Dst: mem_alloc
      Src: /src/libgpg-error/src/estream.c:5741,1
    - Dst: strlen
      Src: /src/libgpg-error/src/estream.c:5741,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/estream.c:5744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - stream
    - fname
    - quote
    argTypes:
    - estream_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5745
      start: 5724
    functionDepth: 2
    functionLinenumber: 5724
    functionLinenumberEnd: 5745
    functionName: fname_set_internal
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 3
    functionsReached:
    - mem_alloc
    - strcpy
    - mem_free
    - strlen
    linkageType: ''
    returnType: void
    signature: void fname_set_internal (estream_t stream, const char *fname, int quote)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:5756,1
    - Dst: fname_set_internal
      Src: /src/libgpg-error/src/estream.c:5757,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:5758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - fname
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5760
      start: 5751
    functionDepth: 3
    functionLinenumber: 5751
    functionLinenumberEnd: 5760
    functionName: _gpgrt_fname_set
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    - fname_set_internal
    linkageType: ''
    returnType: void
    signature: void _gpgrt_fname_set (estream_t stream, const char *fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:5771,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:5775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5779
      start: 5766
    functionDepth: 2
    functionLinenumber: 5766
    functionLinenumberEnd: 5779
    functionName: _gpgrt_fname_get
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - lock_stream
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_fname_get (estream_t stream)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:5798,1
    - Dst: strchr
      Src: /src/libgpg-error/src/estream.c:5804,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/estream.c:5806,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/estream.c:5810,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/estream.c:5815,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/estream.c:5820,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/estream.c:5825,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/estream.c:5830,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/estream.c:5835,1
    - Dst: _gpgrt_fprintf_unlocked
      Src: /src/libgpg-error/src/estream.c:5840,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/estream.c:5846,1
    - Dst: _gpgrt_ferror_unlocked
      Src: /src/libgpg-error/src/estream.c:5853,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:5854,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 5
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - length
    - delimiters
    - _GPGRT__RESTRICT bytes_written
    argTypes:
    - estream_t
    - void*
    - size_t
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5857
      start: 5788
    functionDepth: 3
    functionLinenumber: 5788
    functionLinenumberEnd: 5857
    functionName: _gpgrt_write_sanitized
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - _gpgrt_fprintf_unlocked
    - unlock_stream
    - _gpgrt_putc_unlocked
    - lock_stream
    - strchr
    - _gpgrt_ferror_unlocked
    linkageType: ''
    returnType: int
    signature: "int _gpgrt_write_sanitized (estream_t _GPGRT__RESTRICT stream,\n                        const
      void * _GPGRT__RESTRICT buffer, size_t length,\n                        const
      char * delimiters,\n                        size_t * _GPGRT__RESTRICT bytes_written)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lock_stream
      Src: /src/libgpg-error/src/estream.c:5880,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/estream.c:5884,1
    - Dst: tohex
      Src: /src/libgpg-error/src/estream.c:5884,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/estream.c:5885,1
    - Dst: tohex
      Src: /src/libgpg-error/src/estream.c:5885,1
    - Dst: _gpgrt_ferror_unlocked
      Src: /src/libgpg-error/src/estream.c:5891,1
    - Dst: unlock_stream
      Src: /src/libgpg-error/src/estream.c:5893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - length
    - reserved
    - _GPGRT__RESTRICT bytes_written
    argTypes:
    - estream_t
    - void*
    - size_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5898
      start: 5864
    functionDepth: 2
    functionLinenumber: 5864
    functionLinenumberEnd: 5898
    functionName: _gpgrt_write_hexstring
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 0
    functionsReached:
    - unlock_stream
    - tohex
    - _gpgrt_putc_unlocked
    - lock_stream
    - _gpgrt_ferror_unlocked
    linkageType: ''
    returnType: int
    signature: "int _gpgrt_write_hexstring (estream_t _GPGRT__RESTRICT stream,\n                        const
      void *_GPGRT__RESTRICT buffer, size_t length,\n                        int reserved,
      size_t *_GPGRT__RESTRICT bytes_written )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5876
      start: 5875
    functionDepth: 0
    functionLinenumber: 5875
    functionLinenumberEnd: 5876
    functionName: tohex
    functionSourceFile: /src/libgpg-error/src/estream.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tohex(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: _
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 844
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: N_
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: N_
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: _
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 844
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: N_
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: SUN_LEN
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUN_LEN(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - array
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: DIM
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 413
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: xfree
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 1924
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xfree(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: xtrymalloc
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 438
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrymalloc(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: xtrycalloc
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 230
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrycalloc(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: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: xtryrealloc
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtryrealloc(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: xtryreallocarray
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtryreallocarray(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: xtrystrdup
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 171
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrystrdup(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: trace
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: trace(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - C
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: trace_errno
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: trace_errno(C,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: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: trace_start
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: trace_start(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: trace_append
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: trace_append(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: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: trace_finish
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: trace_finish(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: trace
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: trace(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - C
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: trace_errno
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: trace_errno(C,X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: trace_start
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: trace_start(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: trace_append
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: trace_append(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: trace_finish
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: trace_finish(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 402
    functionName: _gpgrt_getc_unlocked
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _gpgrt_getc_unlocked(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 409
    functionName: _gpgrt_putc_unlocked
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _gpgrt_putc_unlocked(c, stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: gpgrt_assert
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_assert(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 591
    functionName: gpgrt_assert
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_assert(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 636
    functionName: _gpgrt_create_pipe
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _gpgrt_create_pipe(a)
  - 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: 637
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 637
    functionName: _gpgrt_create_inbound_pipe
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _gpgrt_create_inbound_pipe(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 638
    functionName: _gpgrt_create_outbound_pipe
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _gpgrt_create_outbound_pipe(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 894
    functionName: _gpgrt_stpcpy
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE *

      _gpgrt_stpcpy (char *a, const char *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: 896
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 896
    functionName: stpcpy
    functionSourceFile: /src/libgpg-error/src/gpgrt-int.h
    functionUses: 85
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stpcpy(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: use_pthread_p
    functionSourceFile: /src/libgpg-error/src/posix-lock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: use_pthread_p()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: use_pthread_p
    functionSourceFile: /src/libgpg-error/src/posix-lock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: use_pthread_p()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: use_pthread_p
    functionSourceFile: /src/libgpg-error/src/posix-lock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: use_pthread_p()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_create
      Src: /src/libgpg-error/src/posix-lock.c:83,1
    - Dst: pthread_key_delete
      Src: /src/libgpg-error/src/posix-lock.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 96
    functionName: use_pthread_p
    functionSourceFile: /src/libgpg-error/src/posix-lock.c
    functionUses: 0
    functionsReached:
    - pthread_key_delete
    - pthread_key_create
    linkageType: ''
    returnType: int
    signature: int use_pthread_p (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: dummy_thread_func
    functionSourceFile: /src/libgpg-error/src/posix-lock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      dummy_thread_func (void *arg)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/libgpg-error/src/posix-lock.c:119,1
    - Dst: pthread_join
      Src: /src/libgpg-error/src/posix-lock.c:125,1
    - Dst: fputs
      Src: /src/libgpg-error/src/posix-lock.c:127,1
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/posix-lock.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 136
    functionName: use_pthread_p
    functionSourceFile: /src/libgpg-error/src/posix-lock.c
    functionUses: 0
    functionsReached:
    - _gpgrt_abort
    - pthread_create
    - fputs
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int use_pthread_p (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgpg-error/src/posix-lock.c:150,1
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/posix-lock.c:151,1
    - Dst: fputs
      Src: /src/libgpg-error/src/posix-lock.c:155,1
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/posix-lock.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - lockhd
    argTypes:
    - gpgrt_lock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 160
    functionName: get_lock_object
    functionSourceFile: /src/libgpg-error/src/posix-lock.c
    functionUses: 0
    functionsReached:
    - _gpgrt_abort
    - fputs
    linkageType: ''
    returnType: _gpgrt_lock_t
    signature: '_gpgrt_lock_t *

      get_lock_object (gpgrt_lock_t *lockhd)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgpg-error/src/posix-lock.c:176,1
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/posix-lock.c:177,1
    - Dst: get_lock_object
      Src: /src/libgpg-error/src/posix-lock.c:182,1
    - Dst: use_pthread_p
      Src: /src/libgpg-error/src/posix-lock.c:185,1
    - Dst: pthread_mutex_init
      Src: /src/libgpg-error/src/posix-lock.c:187,1
    - Dst: _gpg_err_code_from_errno
      Src: /src/libgpg-error/src/posix-lock.c:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - lockhd
    argTypes:
    - gpgrt_lock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 198
    functionName: _gpgrt_lock_init
    functionSourceFile: /src/libgpg-error/src/posix-lock.c
    functionUses: 1
    functionsReached:
    - _gpgrt_abort
    - use_pthread_p
    - get_lock_object
    - pthread_mutex_init
    - fputs
    - _gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_lock_init (gpgrt_lock_t *lockhd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_lock_object
      Src: /src/libgpg-error/src/posix-lock.c:204,1
    - Dst: use_pthread_p
      Src: /src/libgpg-error/src/posix-lock.c:208,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/posix-lock.c:210,1
    - Dst: pthread_mutex_lock
      Src: /src/libgpg-error/src/posix-lock.c:211,1
    - Dst: _gpg_err_code_from_errno
      Src: /src/libgpg-error/src/posix-lock.c:213,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/posix-lock.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - lockhd
    argTypes:
    - gpgrt_lock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 223
    functionName: _gpgrt_lock_lock
    functionSourceFile: /src/libgpg-error/src/posix-lock.c
    functionUses: 2
    functionsReached:
    - use_pthread_p
    - _gpgrt_post_syscall
    - get_lock_object
    - _gpgrt_pre_syscall
    - pthread_mutex_lock
    - _gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_lock_lock (gpgrt_lock_t *lockhd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_lock_object
      Src: /src/libgpg-error/src/posix-lock.c:229,1
    - Dst: use_pthread_p
      Src: /src/libgpg-error/src/posix-lock.c:233,1
    - Dst: pthread_mutex_trylock
      Src: /src/libgpg-error/src/posix-lock.c:235,1
    - Dst: _gpg_err_code_from_errno
      Src: /src/libgpg-error/src/posix-lock.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - lockhd
    argTypes:
    - gpgrt_lock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 246
    functionName: _gpgrt_lock_trylock
    functionSourceFile: /src/libgpg-error/src/posix-lock.c
    functionUses: 1
    functionsReached:
    - use_pthread_p
    - _gpg_err_code_from_errno
    - get_lock_object
    - pthread_mutex_trylock
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_lock_trylock (gpgrt_lock_t *lockhd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_lock_object
      Src: /src/libgpg-error/src/posix-lock.c:252,1
    - Dst: use_pthread_p
      Src: /src/libgpg-error/src/posix-lock.c:256,1
    - Dst: pthread_mutex_unlock
      Src: /src/libgpg-error/src/posix-lock.c:258,1
    - Dst: _gpg_err_code_from_errno
      Src: /src/libgpg-error/src/posix-lock.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - lockhd
    argTypes:
    - gpgrt_lock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 269
    functionName: _gpgrt_lock_unlock
    functionSourceFile: /src/libgpg-error/src/posix-lock.c
    functionUses: 2
    functionsReached:
    - pthread_mutex_unlock
    - use_pthread_p
    - get_lock_object
    - _gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_lock_unlock (gpgrt_lock_t *lockhd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_lock_object
      Src: /src/libgpg-error/src/posix-lock.c:277,1
    - Dst: use_pthread_p
      Src: /src/libgpg-error/src/posix-lock.c:281,1
    - Dst: pthread_mutex_destroy
      Src: /src/libgpg-error/src/posix-lock.c:283,1
    - Dst: _gpg_err_code_from_errno
      Src: /src/libgpg-error/src/posix-lock.c:285,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/posix-lock.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - lockhd
    argTypes:
    - gpgrt_lock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 300
    functionName: _gpgrt_lock_destroy
    functionSourceFile: /src/libgpg-error/src/posix-lock.c
    functionUses: 1
    functionsReached:
    - use_pthread_p
    - pthread_mutex_destroy
    - get_lock_object
    - memcpy
    - _gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_lock_destroy (gpgrt_lock_t *lockhd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code
      Src: /src/libgpg-error/src/strerror-sym.c:38,1
    - Dst: errnos_msgidxof
      Src: /src/libgpg-error/src/strerror-sym.c:45,1
    - Dst: msgidxof
      Src: /src/libgpg-error/src/strerror-sym.c:52,1
    - Dst: msgidxof
      Src: /src/libgpg-error/src/strerror-sym.c:52,1
    - Dst: msgidxof
      Src: /src/libgpg-error/src/strerror-sym.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - err
    argTypes:
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 56
    functionName: gpg_strerror_sym
    functionSourceFile: /src/libgpg-error/src/strerror-sym.c
    functionUses: 0
    functionsReached:
    - msgidxof
    - gpg_err_code
    - errnos_msgidxof
    linkageType: ''
    returnType: char
    signature: 'char *

      gpg_strerror_sym (gpg_error_t err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - array
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: DIM
    functionSourceFile: /src/libgpg-error/src/w32-estream.c
    functionUses: 413
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(array)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:132,1
    - Dst: EnterCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:136,1
    - Dst: ResetEvent
      Src: /src/libgpg-error/src/w32-estream.c:142,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:143,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/w32-estream.c:143,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:144,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:145,1
    - Dst: WaitForSingleObject
      Src: /src/libgpg-error/src/w32-estream.c:146,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:147,1
    - Dst: EnterCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:148,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/w32-estream.c:150,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:153,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/w32-estream.c:158,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:161,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:163,1
    - Dst: struct reader_context_s*::pcookie::next_functions::public::func_read
      Src: /src/libgpg-error/src/w32-estream.c:165,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:167,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:174,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:179,1
    - Dst: EnterCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:184,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:187,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:193,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:194,1
    - Dst: SetEvent
      Src: /src/libgpg-error/src/w32-estream.c:199,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:200,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/w32-estream.c:201,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:202,1
    - Dst: SetEvent
      Src: /src/libgpg-error/src/w32-estream.c:205,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:206,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/w32-estream.c:207,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:209,1
    - Dst: WaitForSingleObject
      Src: /src/libgpg-error/src/w32-estream.c:210,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:212,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:213,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:214,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:215,1
    - Dst: DeleteCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:216,1
    - Dst: free
      Src: /src/libgpg-error/src/w32-estream.c:217,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 64
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 220
    functionName: CALLBACK
    functionSourceFile: /src/libgpg-error/src/w32-estream.c
    functionUses: 0
    functionsReached:
    - trace
    - SetEvent
    - DeleteCriticalSection
    - WaitForSingleObject
    - LeaveCriticalSection
    - EnterCriticalSection
    - ResetEvent
    - GetLastError
    - CloseHandle
    - struct reader_context_s*::pcookie::next_functions::public::func_read
    - gpgrt_assert
    - free
    linkageType: ''
    returnType: DWORD
    signature: 'DWORD CALLBACK

      reader (void *arg)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgpg-error/src/w32-estream.c:230,1
    - Dst: calloc
      Src: /src/libgpg-error/src/w32-estream.c:241,1
    - Dst: CreateEvent
      Src: /src/libgpg-error/src/w32-estream.c:249,1
    - Dst: CreateEvent
      Src: /src/libgpg-error/src/w32-estream.c:251,1
    - Dst: CreateEvent
      Src: /src/libgpg-error/src/w32-estream.c:253,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:256,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/w32-estream.c:256,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:258,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:260,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:262,1
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/w32-estream.c:263,1
    - Dst: InitializeCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:267,1
    - Dst: CreateThread
      Src: /src/libgpg-error/src/w32-estream.c:269,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:273,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/w32-estream.c:273,1
    - Dst: DeleteCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:274,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:276,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:278,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:280,1
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/w32-estream.c:281,1
    - Dst: SetThreadPriority
      Src: /src/libgpg-error/src/w32-estream.c:290,1
    - Dst: get_desired_thread_priority
      Src: /src/libgpg-error/src/w32-estream.c:290,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - pcookie
    argTypes:
    - estream_cookie_w32_pollable_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 295
    functionName: create_reader
    functionSourceFile: /src/libgpg-error/src/w32-estream.c
    functionUses: 7
    functionsReached:
    - trace
    - DeleteCriticalSection
    - CreateThread
    - calloc
    - CreateEvent
    - InitializeCriticalSection
    - memset
    - _gpgrt_free
    - GetLastError
    - CloseHandle
    - get_desired_thread_priority
    - SetThreadPriority
    linkageType: ''
    returnType: struct reader_context_s
    signature: 'struct reader_context_s *

      create_reader (estream_cookie_w32_pollable_t pcookie)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:304,1
    - Dst: SetEvent
      Src: /src/libgpg-error/src/w32-estream.c:307,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:308,1
    - Dst: SetEvent
      Src: /src/libgpg-error/src/w32-estream.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct reader_context_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: destroy_reader
    functionSourceFile: /src/libgpg-error/src/w32-estream.c
    functionUses: 7
    functionsReached:
    - LeaveCriticalSection
    - SetEvent
    - EnterCriticalSection
    linkageType: ''
    returnType: void
    signature: void destroy_reader (struct reader_context_s *ctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:327,1
    - Dst: create_reader
      Src: /src/libgpg-error/src/w32-estream.c:334,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:337,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:341,1
    - Dst: EnterCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:350,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:351,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:357,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:361,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:366,1
    - Dst: WaitForSingleObject
      Src: /src/libgpg-error/src/w32-estream.c:367,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:368,1
    - Dst: EnterCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:369,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:374,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:380,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:384,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-estream.c:393,1
    - Dst: ResetEvent
      Src: /src/libgpg-error/src/w32-estream.c:397,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:399,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/w32-estream.c:400,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:401,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:403,1
    - Dst: SetEvent
      Src: /src/libgpg-error/src/w32-estream.c:408,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:410,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/w32-estream.c:411,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:412,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:414,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:418,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/w32-estream.c:421,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 75
    argCount: 3
    argNames:
    - cookie
    - buffer
    - count
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 423
    functionName: func_w32_pollable_read
    functionSourceFile: /src/libgpg-error/src/w32-estream.c
    functionUses: 0
    functionsReached:
    - create_reader
    - trace
    - _gpg_err_set_errno
    - SetEvent
    - WaitForSingleObject
    - LeaveCriticalSection
    - trace_errno
    - EnterCriticalSection
    - ResetEvent
    - GetLastError
    - memcpy
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t func_w32_pollable_read (void *cookie, void *buffer, size_t
      count)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:435,1
    - Dst: EnterCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:439,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:442,1
    - Dst: SetEvent
      Src: /src/libgpg-error/src/w32-estream.c:447,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:448,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/w32-estream.c:448,1
    - Dst: ResetEvent
      Src: /src/libgpg-error/src/w32-estream.c:449,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:450,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/w32-estream.c:450,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:451,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:452,1
    - Dst: WaitForSingleObject
      Src: /src/libgpg-error/src/w32-estream.c:453,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:454,1
    - Dst: EnterCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:455,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:459,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:462,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:464,1
    - Dst: struct writer_context_s*::pcookie::next_functions::public::func_write
      Src: /src/libgpg-error/src/w32-estream.c:466,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:468,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:475,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:481,1
    - Dst: EnterCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:485,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:487,1
    - Dst: SetEvent
      Src: /src/libgpg-error/src/w32-estream.c:490,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:491,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/w32-estream.c:491,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:493,1
    - Dst: WaitForSingleObject
      Src: /src/libgpg-error/src/w32-estream.c:494,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:497,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:499,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:500,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:501,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:502,1
    - Dst: DeleteCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:503,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:504,1
    - Dst: free
      Src: /src/libgpg-error/src/w32-estream.c:505,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 508
    functionName: CALLBACK
    functionSourceFile: /src/libgpg-error/src/w32-estream.c
    functionUses: 0
    functionsReached:
    - SetEvent
    - trace
    - DeleteCriticalSection
    - WaitForSingleObject
    - LeaveCriticalSection
    - EnterCriticalSection
    - struct writer_context_s*::pcookie::next_functions::public::func_write
    - ResetEvent
    - GetLastError
    - CloseHandle
    - free
    linkageType: ''
    returnType: DWORD
    signature: 'DWORD CALLBACK

      writer (void *arg)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgpg-error/src/w32-estream.c:518,1
    - Dst: calloc
      Src: /src/libgpg-error/src/w32-estream.c:523,1
    - Dst: CreateEvent
      Src: /src/libgpg-error/src/w32-estream.c:531,1
    - Dst: CreateEvent
      Src: /src/libgpg-error/src/w32-estream.c:533,1
    - Dst: CreateEvent
      Src: /src/libgpg-error/src/w32-estream.c:535,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:538,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/w32-estream.c:538,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:540,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:542,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:544,1
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/w32-estream.c:545,1
    - Dst: InitializeCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:549,1
    - Dst: CreateThread
      Src: /src/libgpg-error/src/w32-estream.c:551,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:555,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/w32-estream.c:555,1
    - Dst: DeleteCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:556,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:558,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:560,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-estream.c:562,1
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/w32-estream.c:563,1
    - Dst: SetThreadPriority
      Src: /src/libgpg-error/src/w32-estream.c:572,1
    - Dst: get_desired_thread_priority
      Src: /src/libgpg-error/src/w32-estream.c:572,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - pcookie
    argTypes:
    - estream_cookie_w32_pollable_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 577
    functionName: create_writer
    functionSourceFile: /src/libgpg-error/src/w32-estream.c
    functionUses: 7
    functionsReached:
    - trace
    - DeleteCriticalSection
    - CreateThread
    - calloc
    - CreateEvent
    - InitializeCriticalSection
    - memset
    - _gpgrt_free
    - GetLastError
    - CloseHandle
    - get_desired_thread_priority
    - SetThreadPriority
    linkageType: ''
    returnType: struct writer_context_s
    signature: 'struct writer_context_s *

      create_writer (estream_cookie_w32_pollable_t pcookie)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:583,1
    - Dst: EnterCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:584,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:585,1
    - Dst: SetEvent
      Src: /src/libgpg-error/src/w32-estream.c:588,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:589,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:591,1
    - Dst: WaitForSingleObject
      Src: /src/libgpg-error/src/w32-estream.c:594,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:597,1
    - Dst: SetEvent
      Src: /src/libgpg-error/src/w32-estream.c:598,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct writer_context_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 600
    functionName: destroy_writer
    functionSourceFile: /src/libgpg-error/src/w32-estream.c
    functionUses: 7
    functionsReached:
    - SetEvent
    - trace
    - WaitForSingleObject
    - LeaveCriticalSection
    - EnterCriticalSection
    linkageType: ''
    returnType: void
    signature: void destroy_writer (struct writer_context_s *ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:613,1
    - Dst: create_writer
      Src: /src/libgpg-error/src/w32-estream.c:622,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:628,1
    - Dst: EnterCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:631,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:632,1
    - Dst: ResetEvent
      Src: /src/libgpg-error/src/w32-estream.c:639,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:641,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/w32-estream.c:642,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:643,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:645,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:649,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:653,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:654,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:659,1
    - Dst: WaitForSingleObject
      Src: /src/libgpg-error/src/w32-estream.c:660,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:661,1
    - Dst: EnterCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:662,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:667,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:669,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:671,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/w32-estream.c:678,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-estream.c:682,1
    - Dst: ResetEvent
      Src: /src/libgpg-error/src/w32-estream.c:687,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:689,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/w32-estream.c:689,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:690,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:692,1
    - Dst: SetEvent
      Src: /src/libgpg-error/src/w32-estream.c:696,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:698,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/w32-estream.c:698,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:699,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:701,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-estream.c:705,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/w32-estream.c:710,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 3
    argNames:
    - cookie
    - buffer
    - count
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 712
    functionName: func_w32_pollable_write
    functionSourceFile: /src/libgpg-error/src/w32-estream.c
    functionUses: 0
    functionsReached:
    - trace
    - _gpg_err_set_errno
    - SetEvent
    - WaitForSingleObject
    - LeaveCriticalSection
    - trace_errno
    - EnterCriticalSection
    - create_writer
    - ResetEvent
    - GetLastError
    - memcpy
    - gpgrt_assert
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t func_w32_pollable_write (void *cookie, const void *buffer,
      size_t count)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: create_reader
      Src: /src/libgpg-error/src/w32-estream.c:762,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:766,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:769,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:771,1
    - Dst: DIM
      Src: /src/libgpg-error/src/w32-estream.c:773,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:775,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:777,1
    - Dst: create_writer
      Src: /src/libgpg-error/src/w32-estream.c:792,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:795,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:797,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:800,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:802,1
    - Dst: DIM
      Src: /src/libgpg-error/src/w32-estream.c:804,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:806,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:808,1
    - Dst: trace_start
      Src: /src/libgpg-error/src/w32-estream.c:821,1
    - Dst: trace_append
      Src: /src/libgpg-error/src/w32-estream.c:823,1
    - Dst: trace_finish
      Src: /src/libgpg-error/src/w32-estream.c:824,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:834,1
    - Dst: Sleep
      Src: /src/libgpg-error/src/w32-estream.c:838,1
    - Dst: WaitForMultipleObjects
      Src: /src/libgpg-error/src/w32-estream.c:842,1
    - Dst: WaitForSingleObject
      Src: /src/libgpg-error/src/w32-estream.c:857,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/w32-estream.c:859,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:872,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:877,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:880,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/w32-estream.c:880,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/w32-estream.c:882,1
    - Dst: handle_to_fd
      Src: /src/libgpg-error/src/w32-estream.c:885,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:887,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:896,1
    - Dst: trace
      Src: /src/libgpg-error/src/w32-estream.c:903,1
    - Dst: trace_start
      Src: /src/libgpg-error/src/w32-estream.c:909,1
    - Dst: trace_append
      Src: /src/libgpg-error/src/w32-estream.c:915,1
    - Dst: trace_finish
      Src: /src/libgpg-error/src/w32-estream.c:917,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:923,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 124
    argCount: 3
    argNames:
    - fds
    - nfds
    - timeout
    argTypes:
    - gpgrt_poll_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 717
    functionDepth: 2
    functionLinenumber: 717
    functionLinenumberEnd: 927
    functionName: _gpgrt_w32_poll
    functionSourceFile: /src/libgpg-error/src/w32-estream.c
    functionUses: 1
    functionsReached:
    - Sleep
    - create_reader
    - _gpg_err_set_errno
    - trace
    - trace_append
    - WaitForSingleObject
    - DIM
    - trace_start
    - trace_finish
    - handle_to_fd
    - GetLastError
    - WaitForMultipleObjects
    - create_writer
    - gpgrt_assert
    linkageType: ''
    returnType: int
    signature: int _gpgrt_w32_poll (gpgrt_poll_t *fds, size_t nfds, int timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_malloc
      Src: /src/libgpg-error/src/w32-estream.c:947,1
    - Dst: trace_errno
      Src: /src/libgpg-error/src/w32-estream.c:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT *_GPGRT__RESTRICT
    - modeflags
    - next_functions
    - next_cookie
    argTypes:
    - void*
    - unsigned int
    - struct cookie_io_functions_s
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 963
    functionName: _gpgrt_w32_pollable_create
    functionSourceFile: /src/libgpg-error/src/w32-estream.c
    functionUses: 1
    functionsReached:
    - _gpgrt_malloc
    - trace_errno
    linkageType: ''
    returnType: int
    signature: "int _gpgrt_w32_pollable_create (void *_GPGRT__RESTRICT *_GPGRT__RESTRICT
      cookie,\n                            unsigned int modeflags,\n                            struct
      cookie_io_functions_s next_functions,\n                            void *next_cookie)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cookie
    - offset
    - whence
    argTypes:
    - void*
    - gpgrt_off_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 979
    functionName: func_w32_pollable_seek
    functionSourceFile: /src/libgpg-error/src/w32-estream.c
    functionUses: 0
    functionsReached:
    - _gpg_err_set_errno
    linkageType: ''
    returnType: int
    signature: int func_w32_pollable_seek (void *cookie, gpgrt_off_t *offset, int
      whence)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: func_ioctl
      Src: /src/libgpg-error/src/w32-estream.c:1001,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-estream.c:1003,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - cookie
    - cmd
    - ptr
    - len
    argTypes:
    - void*
    - int
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 1005
    functionName: func_w32_pollable_ioctl
    functionSourceFile: /src/libgpg-error/src/w32-estream.c
    functionUses: 0
    functionsReached:
    - _gpg_err_set_errno
    - func_ioctl
    linkageType: ''
    returnType: int
    signature: int func_w32_pollable_ioctl (void *cookie, int cmd, void *ptr, size_t
      *len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: destroy_reader
      Src: /src/libgpg-error/src/w32-estream.c:1019,1
    - Dst: destroy_writer
      Src: /src/libgpg-error/src/w32-estream.c:1021,1
    - Dst: estream_cookie_w32_pollable_t::next_functions::public::func_close
      Src: /src/libgpg-error/src/w32-estream.c:1022,1
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/w32-estream.c:1023,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1026
    functionName: func_w32_pollable_destroy
    functionSourceFile: /src/libgpg-error/src/w32-estream.c
    functionUses: 0
    functionsReached:
    - destroy_reader
    - destroy_writer
    - estream_cookie_w32_pollable_t::next_functions::public::func_close
    - _gpgrt_free
    linkageType: ''
    returnType: int
    signature: int func_w32_pollable_destroy (void *cookie)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/libgpg-error/src/w32-iconv.c:697,1
    - Dst: TEXT
      Src: /src/libgpg-error/src/w32-iconv.c:697,1
    - Dst: GetProcAddressA
      Src: /src/libgpg-error/src/w32-iconv.c:700,1
    - Dst: GetProcAddressA
      Src: /src/libgpg-error/src/w32-iconv.c:701,1
    - Dst: GetProcAddressA
      Src: /src/libgpg-error/src/w32-iconv.c:702,1
    - Dst: GetProcAddressA
      Src: /src/libgpg-error/src/w32-iconv.c:703,1
    - Dst: GetProcAddressA
      Src: /src/libgpg-error/src/w32-iconv.c:704,1
    - Dst: GetProcAddressA
      Src: /src/libgpg-error/src/w32-iconv.c:705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 707
    functionName: load_mlang
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - LoadLibrary
    - GetProcAddressA
    - TEXT
    linkageType: ''
    returnType: int
    signature: int load_mlang(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_csconv
      Src: /src/libgpg-error/src/w32-iconv.c:714,1
    - Dst: make_csconv
      Src: /src/libgpg-error/src/w32-iconv.c:714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - cd
    - tocode
    - fromcode
    argTypes:
    - gpgrt_w32_iconv_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 718
    functionName: win_iconv_open
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - make_csconv
    linkageType: ''
    returnType: int
    signature: int win_iconv_open(gpgrt_w32_iconv_t cd, const char *tocode, const
      char *fromcode)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_w32_iconv_t::to::flush
      Src: /src/libgpg-error/src/w32-iconv.c:740,1
    - Dst: gpgrt_w32_iconv_t::from::mbtowc
      Src: /src/libgpg-error/src/w32-iconv.c:767,1
    - Dst: utf16_to_ucs4
      Src: /src/libgpg-error/src/w32-iconv.c:792,1
    - Dst: ucs4_to_utf16
      Src: /src/libgpg-error/src/w32-iconv.c:798,1
    - Dst: utf16_to_ucs4
      Src: /src/libgpg-error/src/w32-iconv.c:806,1
    - Dst: ucs4_to_utf16
      Src: /src/libgpg-error/src/w32-iconv.c:812,1
    - Dst: gpgrt_w32_iconv_t::to::wctomb
      Src: /src/libgpg-error/src/w32-iconv.c:818,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 77
    argCount: 5
    argNames:
    - cd
    - inbuf
    - inbytesleft
    - outbuf
    - outbytesleft
    argTypes:
    - gpgrt_w32_iconv_t
    - char**
    - size_t*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 841
    functionName: win_iconv
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - gpgrt_w32_iconv_t::to::wctomb
    - ucs4_to_utf16
    - utf16_to_ucs4
    - gpgrt_w32_iconv_t::from::mbtowc
    - gpgrt_w32_iconv_t::to::flush
    linkageType: ''
    returnType: size_t
    signature: "size_t win_iconv (gpgrt_w32_iconv_t cd,\n           const char **inbuf,
      size_t *inbytesleft,\n           char **outbuf, size_t *outbytesleft)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xstrndup
      Src: /src/libgpg-error/src/w32-iconv.c:852,1
    - Dst: strlen
      Src: /src/libgpg-error/src/w32-iconv.c:852,1
    - Dst: strrstr
      Src: /src/libgpg-error/src/w32-iconv.c:857,1
    - Dst: _stricmp
      Src: /src/libgpg-error/src/w32-iconv.c:859,1
    - Dst: _stricmp
      Src: /src/libgpg-error/src/w32-iconv.c:861,1
    - Dst: _stricmp
      Src: /src/libgpg-error/src/w32-iconv.c:863,1
    - Dst: name_to_codepage
      Src: /src/libgpg-error/src/w32-iconv.c:873,1
    - Dst: _stricmp
      Src: /src/libgpg-error/src/w32-iconv.c:878,1
    - Dst: _stricmp
      Src: /src/libgpg-error/src/w32-iconv.c:878,1
    - Dst: _stricmp
      Src: /src/libgpg-error/src/w32-iconv.c:879,1
    - Dst: _stricmp
      Src: /src/libgpg-error/src/w32-iconv.c:879,1
    - Dst: _stricmp
      Src: /src/libgpg-error/src/w32-iconv.c:880,1
    - Dst: _stricmp
      Src: /src/libgpg-error/src/w32-iconv.c:887,1
    - Dst: _stricmp
      Src: /src/libgpg-error/src/w32-iconv.c:887,1
    - Dst: _stricmp
      Src: /src/libgpg-error/src/w32-iconv.c:888,1
    - Dst: _stricmp
      Src: /src/libgpg-error/src/w32-iconv.c:888,1
    - Dst: load_mlang
      Src: /src/libgpg-error/src/w32-iconv.c:898,1
    - Dst: load_mlang
      Src: /src/libgpg-error/src/w32-iconv.c:904,1
    - Dst: IsValidCodePage
      Src: /src/libgpg-error/src/w32-iconv.c:911,1
    - Dst: GetCPInfo
      Src: /src/libgpg-error/src/w32-iconv.c:912,1
    - Dst: free
      Src: /src/libgpg-error/src/w32-iconv.c:926,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 55
    argCount: 2
    argNames:
    - _name
    - cv
    argTypes:
    - char*
    - csconv_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 929
    functionName: make_csconv
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 1
    functionsReached:
    - load_mlang
    - strlen
    - xstrndup
    - strrstr
    - GetCPInfo
    - _stricmp
    - name_to_codepage
    - IsValidCodePage
    - free
    linkageType: ''
    returnType: int
    signature: int make_csconv(const char *_name, csconv_t *cv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-iconv.c:953,1
    - Dst: GetACP
      Src: /src/libgpg-error/src/w32-iconv.c:954,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-iconv.c:955,1
    - Dst: _strnicmp
      Src: /src/libgpg-error/src/w32-iconv.c:957,1
    - Dst: atoi
      Src: /src/libgpg-error/src/w32-iconv.c:958,1
    - Dst: atoi
      Src: /src/libgpg-error/src/w32-iconv.c:960,1
    - Dst: _strnicmp
      Src: /src/libgpg-error/src/w32-iconv.c:961,1
    - Dst: atoi
      Src: /src/libgpg-error/src/w32-iconv.c:962,1
    - Dst: _stricmp
      Src: /src/libgpg-error/src/w32-iconv.c:965,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 968
    functionName: name_to_codepage
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 1
    functionsReached:
    - atoi
    - strcmp
    - GetACP
    - _strnicmp
    - _stricmp
    linkageType: ''
    returnType: int
    signature: int name_to_codepage(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - wbuf
    argTypes:
    - ushort*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 980
    functionName: utf16_to_ucs4
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint utf16_to_ucs4(const ushort *wbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - wc
    - wbuf
    - wbufsize
    argTypes:
    - uint
    - ushort*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 997
    functionName: ucs4_to_utf16
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ucs4_to_utf16(uint wc, ushort *wbuf, int *wbufsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - codepage
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1018
    functionName: mbtowc_flags
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mbtowc_flags(int codepage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 1
    argNames:
    - codepage
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1038
    functionName: must_use_null_useddefaultchar
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int must_use_null_useddefaultchar(int codepage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgpg-error/src/w32-iconv.c:1043,1
    - Dst: strlen
      Src: /src/libgpg-error/src/w32-iconv.c:1044,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/w32-iconv.c:1047,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - str
    - token
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1050
    functionName: strrstr
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 1
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      strrstr(const char *str, const char *token)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libgpg-error/src/w32-iconv.c:1057,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-iconv.c:1060,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1063
    functionName: xstrndup
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 1
    functionsReached:
    - memcpy
    - malloc
    linkageType: ''
    returnType: char
    signature: 'char *

      xstrndup(const char *s, size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-iconv.c:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1070
    functionName: seterror
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - _gpg_err_set_errno
    linkageType: ''
    returnType: int
    signature: int seterror(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cv
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1080
    functionName: sbcs_mblen
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sbcs_mblen(csconv_t *cv, const uchar *buf, int bufsize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDBCSLeadByteEx
      Src: /src/libgpg-error/src/w32-iconv.c:1085,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1087,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cv
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1082
    functionDepth: 2
    functionLinenumber: 1082
    functionLinenumberEnd: 1089
    functionName: dbcs_mblen
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - seterror
    - IsDBCSLeadByteEx
    linkageType: ''
    returnType: int
    signature: int dbcs_mblen(csconv_t *cv, const uchar *buf, int bufsize)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1106,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1110,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 3
    argNames:
    - cv
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1091
    functionDepth: 2
    functionLinenumber: 1091
    functionLinenumberEnd: 1111
    functionName: mbcs_mblen
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - seterror
    linkageType: ''
    returnType: int
    signature: int mbcs_mblen(csconv_t *cv, const uchar *buf, int bufsize)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1128,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - cv
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1113
    functionDepth: 2
    functionLinenumber: 1113
    functionLinenumberEnd: 1132
    functionName: utf8_mblen
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - seterror
    linkageType: ''
    returnType: int
    signature: int utf8_mblen(csconv_t *cv, const uchar *buf, int bufsize)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1145,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1147,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1153,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1156,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1162,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1165,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 3
    argNames:
    - cv
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1135
    functionDepth: 2
    functionLinenumber: 1135
    functionLinenumberEnd: 1168
    functionName: eucjp_mblen
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - seterror
    linkageType: ''
    returnType: int
    signature: int eucjp_mblen(csconv_t *cv, const uchar *buf, int bufsize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: csconv_t*::mblen
      Src: /src/libgpg-error/src/w32-iconv.c:1176,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1184,1
    - Dst: MultiByteToWideChar
      Src: /src/libgpg-error/src/w32-iconv.c:1185,1
    - Dst: mbtowc_flags
      Src: /src/libgpg-error/src/w32-iconv.c:1185,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - cv
    - buf
    - bufsize
    - wbuf
    - wbufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    - ushort*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1171
    functionDepth: 2
    functionLinenumber: 1171
    functionLinenumberEnd: 1190
    functionName: kernel_mbtowc
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - MultiByteToWideChar
    - seterror
    - csconv_t*::mblen
    - mbtowc_flags
    linkageType: ''
    returnType: int
    signature: int kernel_mbtowc(csconv_t *cv, const uchar *buf, int bufsize, ushort
      *wbuf, int *wbufsize)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1201,1
    - Dst: must_use_null_useddefaultchar
      Src: /src/libgpg-error/src/w32-iconv.c:1202,1
    - Dst: WideCharToMultiByte
      Src: /src/libgpg-error/src/w32-iconv.c:1210,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/w32-iconv.c:1214,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1215,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1216,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1219,1
    - Dst: csconv_t*::mblen
      Src: /src/libgpg-error/src/w32-iconv.c:1220,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1221,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - cv
    - wbuf
    - wbufsize
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - ushort*
    - int
    - uchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1223
    functionName: kernel_wctomb
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - seterror
    - WideCharToMultiByte
    - csconv_t*::mblen
    - must_use_null_useddefaultchar
    - GetLastError
    linkageType: ''
    returnType: int
    signature: int kernel_wctomb(csconv_t *cv, ushort *wbuf, int wbufsize, uchar *buf,
      int bufsize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: csconv_t*::mblen
      Src: /src/libgpg-error/src/w32-iconv.c:1241,1
    - Dst: ConvertINetMultiByteToUnicode
      Src: /src/libgpg-error/src/w32-iconv.c:1245,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - cv
    - buf
    - bufsize
    - wbuf
    - wbufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    - ushort*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1234
    functionDepth: 2
    functionLinenumber: 1234
    functionLinenumberEnd: 1250
    functionName: mlang_mbtowc
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - seterror
    - csconv_t*::mblen
    - ConvertINetMultiByteToUnicode
    linkageType: ''
    returnType: int
    signature: int mlang_mbtowc(csconv_t *cv, const uchar *buf, int bufsize, ushort
      *wbuf, int *wbufsize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ConvertINetUnicodeToMultiByte
      Src: /src/libgpg-error/src/w32-iconv.c:1260,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1263,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1265,1
    - Dst: csconv_t*::mblen
      Src: /src/libgpg-error/src/w32-iconv.c:1266,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1267,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-iconv.c:1268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - cv
    - wbuf
    - wbufsize
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - ushort*
    - int
    - uchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1270
    functionName: mlang_wctomb
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - seterror
    - csconv_t*::mblen
    - memcpy
    - ConvertINetUnicodeToMultiByte
    linkageType: ''
    returnType: int
    signature: int mlang_wctomb(csconv_t *cv, ushort *wbuf, int wbufsize, uchar *buf,
      int bufsize)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1283,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1306,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1310,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1316,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 5
    argNames:
    - cv
    - buf
    - bufsize
    - wbuf
    - wbufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    - ushort*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1273
    functionDepth: 2
    functionLinenumber: 1273
    functionLinenumberEnd: 1322
    functionName: utf16_mbtowc
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - seterror
    linkageType: ''
    returnType: int
    signature: int utf16_mbtowc(csconv_t *cv, const uchar *buf, int bufsize, ushort
      *wbuf, int *wbufsize)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1333,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-iconv.c:1335,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-iconv.c:1337,1
    - Dst: utf16_wctomb
      Src: /src/libgpg-error/src/w32-iconv.c:1339,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1346,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1360,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 5
    argNames:
    - cv
    - wbuf
    - wbufsize
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - ushort*
    - int
    - uchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1324
    functionDepth: 2
    functionLinenumber: 1324
    functionLinenumberEnd: 1374
    functionName: utf16_wctomb
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 1
    functionsReached:
    - utf16_wctomb
    - seterror
    - memcpy
    linkageType: ''
    returnType: int
    signature: int utf16_wctomb(csconv_t *cv, ushort *wbuf, int wbufsize, uchar *buf,
      int bufsize)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1387,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1410,1
    - Dst: ucs4_to_utf16
      Src: /src/libgpg-error/src/w32-iconv.c:1411,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 5
    argNames:
    - cv
    - buf
    - bufsize
    - wbuf
    - wbufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    - ushort*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1376
    functionDepth: 2
    functionLinenumber: 1376
    functionLinenumberEnd: 1413
    functionName: utf32_mbtowc
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - ucs4_to_utf16
    - seterror
    linkageType: ''
    returnType: int
    signature: int utf32_mbtowc(csconv_t *cv, const uchar *buf, int bufsize, ushort
      *wbuf, int *wbufsize)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1426,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-iconv.c:1428,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-iconv.c:1430,1
    - Dst: utf32_wctomb
      Src: /src/libgpg-error/src/w32-iconv.c:1432,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1439,1
    - Dst: utf16_to_ucs4
      Src: /src/libgpg-error/src/w32-iconv.c:1440,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - cv
    - wbuf
    - wbufsize
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - ushort*
    - int
    - uchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1415
    functionDepth: 2
    functionLinenumber: 1415
    functionLinenumberEnd: 1456
    functionName: utf32_wctomb
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 1
    functionsReached:
    - utf32_wctomb
    - seterror
    - memcpy
    - utf16_to_ucs4
    linkageType: ''
    returnType: int
    signature: int utf32_wctomb(csconv_t *cv, ushort *wbuf, int wbufsize, uchar *buf,
      int bufsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cs
    - ','
    - shift
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1472
    functionName: ISO2022_MODE
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISO2022_MODE(cs, shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1473
    functionName: ISO2022_MODE_CS
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISO2022_MODE_CS(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1474
    functionName: ISO2022_MODE_SHIFT
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISO2022_MODE_SHIFT(mode)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libgpg-error/src/w32-iconv.c:1535,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1536,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/w32-iconv.c:1540,1
    - Dst: ISO2022_MODE
      Src: /src/libgpg-error/src/w32-iconv.c:1542,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1549,1
    - Dst: ISO2022_MODE
      Src: /src/libgpg-error/src/w32-iconv.c:1553,1
    - Dst: ISO2022_MODE_CS
      Src: /src/libgpg-error/src/w32-iconv.c:1553,1
    - Dst: ISO2022_MODE
      Src: /src/libgpg-error/src/w32-iconv.c:1559,1
    - Dst: ISO2022_MODE_CS
      Src: /src/libgpg-error/src/w32-iconv.c:1559,1
    - Dst: ISO2022_MODE_CS
      Src: /src/libgpg-error/src/w32-iconv.c:1564,1
    - Dst: ISO2022_MODE_SHIFT
      Src: /src/libgpg-error/src/w32-iconv.c:1565,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1576,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1579,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-iconv.c:1581,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-iconv.c:1584,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-iconv.c:1587,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-iconv.c:1595,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-iconv.c:1596,1
    - Dst: ConvertINetMultiByteToUnicode
      Src: /src/libgpg-error/src/w32-iconv.c:1600,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1603,1
    - Dst: ISO2022_MODE
      Src: /src/libgpg-error/src/w32-iconv.c:1608,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1609,1
    - Dst: ISO2022_MODE
      Src: /src/libgpg-error/src/w32-iconv.c:1612,1
    - Dst: ISO2022_MODE
      Src: /src/libgpg-error/src/w32-iconv.c:1613,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 5
    argNames:
    - cv
    - buf
    - bufsize
    - wbuf
    - wbufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    - ushort*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1513
    functionDepth: 2
    functionLinenumber: 1513
    functionLinenumberEnd: 1616
    functionName: iso2022jp_mbtowc
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - seterror
    - ISO2022_MODE_SHIFT
    - ISO2022_MODE_CS
    - ConvertINetMultiByteToUnicode
    - ISO2022_MODE
    - strncmp
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int iso2022jp_mbtowc(csconv_t *cv, const uchar *buf, int bufsize,\n
      \                ushort *wbuf, int *wbufsize)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ConvertINetUnicodeToMultiByte
      Src: /src/libgpg-error/src/w32-iconv.c:1642,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1645,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1647,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/w32-iconv.c:1659,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1667,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1682,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1684,1
    - Dst: ISO2022_MODE
      Src: /src/libgpg-error/src/w32-iconv.c:1686,1
    - Dst: memmove
      Src: /src/libgpg-error/src/w32-iconv.c:1690,1
    - Dst: memmove
      Src: /src/libgpg-error/src/w32-iconv.c:1698,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-iconv.c:1699,1
    - Dst: ISO2022_MODE_SHIFT
      Src: /src/libgpg-error/src/w32-iconv.c:1701,1
    - Dst: memmove
      Src: /src/libgpg-error/src/w32-iconv.c:1704,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-iconv.c:1705,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1711,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-iconv.c:1712,1
    - Dst: ISO2022_MODE
      Src: /src/libgpg-error/src/w32-iconv.c:1713,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 5
    argNames:
    - cv
    - wbuf
    - wbufsize
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - ushort*
    - int
    - uchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1621
    functionDepth: 2
    functionLinenumber: 1621
    functionLinenumberEnd: 1715
    functionName: iso2022jp_wctomb
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - memmove
    - ISO2022_MODE_SHIFT
    - ISO2022_MODE
    - seterror
    - memcpy
    - strncmp
    - ConvertINetUnicodeToMultiByte
    linkageType: ''
    returnType: int
    signature: int iso2022jp_wctomb(csconv_t *cv, ushort *wbuf, int wbufsize, uchar
      *buf, int bufsize)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISO2022_MODE
      Src: /src/libgpg-error/src/w32-iconv.c:1725,1
    - Dst: ISO2022_MODE_SHIFT
      Src: /src/libgpg-error/src/w32-iconv.c:1728,1
    - Dst: ISO2022_MODE_CS
      Src: /src/libgpg-error/src/w32-iconv.c:1730,1
    - Dst: seterror
      Src: /src/libgpg-error/src/w32-iconv.c:1733,1
    - Dst: ISO2022_MODE_SHIFT
      Src: /src/libgpg-error/src/w32-iconv.c:1736,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-iconv.c:1738,1
    - Dst: ISO2022_MODE_CS
      Src: /src/libgpg-error/src/w32-iconv.c:1741,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-iconv.c:1743,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - cv
    - buf
    - bufsize
    argTypes:
    - csconv_t*
    - uchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1719
    functionDepth: 2
    functionLinenumber: 1719
    functionLinenumberEnd: 1750
    functionName: iso2022jp_flush
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - ISO2022_MODE_SHIFT
    - ISO2022_MODE_CS
    - ISO2022_MODE
    - seterror
    - memcpy
    linkageType: ''
    returnType: int
    signature: int iso2022jp_flush(csconv_t *cv, uchar *buf, int bufsize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libgpg-error/src/w32-iconv.c:1759,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-iconv.c:1765,1
    - Dst: win_iconv_open
      Src: /src/libgpg-error/src/w32-iconv.c:1766,1
    - Dst: free
      Src: /src/libgpg-error/src/w32-iconv.c:1769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tocode
    - fromcode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1754
    functionDepth: 2
    functionLinenumber: 1754
    functionLinenumberEnd: 1772
    functionName: gpgrt_w32_iconv_open
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - win_iconv_open
    - calloc
    - _gpg_err_set_errno
    - free
    linkageType: ''
    returnType: gpgrt_w32_iconv_t
    signature: gpgrt_w32_iconv_t gpgrt_w32_iconv_open (const char *tocode, const char
      *fromcode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libgpg-error/src/w32-iconv.c:1779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cd
    argTypes:
    - gpgrt_w32_iconv_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1774
    functionDepth: 0
    functionLinenumber: 1774
    functionLinenumberEnd: 1783
    functionName: gpgrt_w32_iconv_close
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int gpgrt_w32_iconv_close (gpgrt_w32_iconv_t cd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: win_iconv
      Src: /src/libgpg-error/src/w32-iconv.c:1792,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-iconv.c:1793,1
    - Dst: gpgrt_w32_iconv_t::_errno
      Src: /src/libgpg-error/src/w32-iconv.c:1793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - cd
    - inbuf
    - inbytesleft
    - outbuf
    - outbytesleft
    argTypes:
    - gpgrt_w32_iconv_t
    - char**
    - size_t*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1785
    functionDepth: 2
    functionLinenumber: 1785
    functionLinenumberEnd: 1795
    functionName: gpgrt_w32_iconv
    functionSourceFile: /src/libgpg-error/src/w32-iconv.c
    functionUses: 0
    functionsReached:
    - win_iconv
    - _gpg_err_set_errno
    - gpgrt_w32_iconv_t::_errno
    linkageType: ''
    returnType: size_t
    signature: "size_t gpgrt_w32_iconv (gpgrt_w32_iconv_t cd,\n                  const
      char **inbuf, size_t *inbytesleft,\n                  char **outbuf, size_t
      *outbytesleft)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: gettext
    functionSourceFile: /src/libgpg-error/src/gettext.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gettext(Msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Domainname
    - ','
    - Msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: dgettext
    functionSourceFile: /src/libgpg-error/src/gettext.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dgettext(Domainname, Msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Domainname
    - ','
    - Msgid
    - ','
    - Category
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: dcgettext
    functionSourceFile: /src/libgpg-error/src/gettext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dcgettext(Domainname, Msgid, Category)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Msgid1
    - ','
    - Msgid2
    - ','
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: ngettext
    functionSourceFile: /src/libgpg-error/src/gettext.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ngettext(Msgid1, Msgid2, N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - Domainname
    - ','
    - Msgid1
    - ','
    - Msgid2
    - ','
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: dngettext
    functionSourceFile: /src/libgpg-error/src/gettext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dngettext(Domainname, Msgid1, Msgid2, N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - Domainname
    - ','
    - Msgid1
    - ','
    - Msgid2
    - ','
    - N
    - ','
    - Category
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: dcngettext
    functionSourceFile: /src/libgpg-error/src/gettext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dcngettext(Domainname, Msgid1, Msgid2, N, Category)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Domainname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: textdomain
    functionSourceFile: /src/libgpg-error/src/gettext.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: textdomain(Domainname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Domainname
    - ','
    - Dirname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: bindtextdomain
    functionSourceFile: /src/libgpg-error/src/gettext.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bindtextdomain(Domainname, Dirname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Domainname
    - ','
    - Codeset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: bind_textdomain_codeset
    functionSourceFile: /src/libgpg-error/src/gettext.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bind_textdomain_codeset(Domainname, Codeset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - String
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: gettext_noop
    functionSourceFile: /src/libgpg-error/src/gettext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gettext_noop(String)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/w32-lock.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lockhd
    argTypes:
    - gpgrt_lock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: get_lock_object
    functionSourceFile: /src/libgpg-error/src/w32-lock.c
    functionUses: 5
    functionsReached:
    - _gpgrt_abort
    linkageType: ''
    returnType: _gpgrt_lock_t
    signature: '_gpgrt_lock_t *

      get_lock_object (gpgrt_lock_t *lockhd)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/w32-lock.c:64,1
    - Dst: get_lock_object
      Src: /src/libgpg-error/src/w32-lock.c:69,1
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/w32-lock.c:71,1
    - Dst: InitializeCriticalSection
      Src: /src/libgpg-error/src/w32-lock.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - lockhd
    argTypes:
    - gpgrt_lock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 77
    functionName: _gpgrt_lock_init
    functionSourceFile: /src/libgpg-error/src/w32-lock.c
    functionUses: 1
    functionsReached:
    - InitializeCriticalSection
    - _gpgrt_abort
    - get_lock_object
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_lock_init (gpgrt_lock_t *lockhd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_lock_object
      Src: /src/libgpg-error/src/w32-lock.c:83,1
    - Dst: InterlockedIncrement
      Src: /src/libgpg-error/src/w32-lock.c:87,1
    - Dst: _gpgrt_lock_init
      Src: /src/libgpg-error/src/w32-lock.c:96,1
    - Dst: Sleep
      Src: /src/libgpg-error/src/w32-lock.c:101,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/w32-lock.c:105,1
    - Dst: EnterCriticalSection
      Src: /src/libgpg-error/src/w32-lock.c:106,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/w32-lock.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - lockhd
    argTypes:
    - gpgrt_lock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 109
    functionName: _gpgrt_lock_lock
    functionSourceFile: /src/libgpg-error/src/w32-lock.c
    functionUses: 2
    functionsReached:
    - Sleep
    - _gpgrt_post_syscall
    - _gpgrt_lock_init
    - get_lock_object
    - EnterCriticalSection
    - _gpgrt_pre_syscall
    - InterlockedIncrement
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_lock_lock (gpgrt_lock_t *lockhd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_lock_object
      Src: /src/libgpg-error/src/w32-lock.c:115,1
    - Dst: InterlockedIncrement
      Src: /src/libgpg-error/src/w32-lock.c:119,1
    - Dst: _gpgrt_lock_init
      Src: /src/libgpg-error/src/w32-lock.c:121,1
    - Dst: Sleep
      Src: /src/libgpg-error/src/w32-lock.c:126,1
    - Dst: TryEnterCriticalSection
      Src: /src/libgpg-error/src/w32-lock.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - lockhd
    argTypes:
    - gpgrt_lock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 133
    functionName: _gpgrt_lock_trylock
    functionSourceFile: /src/libgpg-error/src/w32-lock.c
    functionUses: 1
    functionsReached:
    - Sleep
    - _gpgrt_lock_init
    - TryEnterCriticalSection
    - get_lock_object
    - InterlockedIncrement
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_lock_trylock (gpgrt_lock_t *lockhd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_lock_object
      Src: /src/libgpg-error/src/w32-lock.c:139,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-lock.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - lockhd
    argTypes:
    - gpgrt_lock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: _gpgrt_lock_unlock
    functionSourceFile: /src/libgpg-error/src/w32-lock.c
    functionUses: 2
    functionsReached:
    - LeaveCriticalSection
    - get_lock_object
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_lock_unlock (gpgrt_lock_t *lockhd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_lock_object
      Src: /src/libgpg-error/src/w32-lock.c:153,1
    - Dst: DeleteCriticalSection
      Src: /src/libgpg-error/src/w32-lock.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - lockhd
    argTypes:
    - gpgrt_lock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 161
    functionName: _gpgrt_lock_destroy
    functionSourceFile: /src/libgpg-error/src/w32-lock.c
    functionUses: 1
    functionsReached:
    - get_lock_object
    - DeleteCriticalSection
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_lock_destroy (gpgrt_lock_t *lockhd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_source
      Src: /src/libgpg-error/src/strsource-sym.c:37,1
    - Dst: msgidxof
      Src: /src/libgpg-error/src/strsource-sym.c:39,1
    - Dst: msgidxof
      Src: /src/libgpg-error/src/strsource-sym.c:39,1
    - Dst: msgidxof
      Src: /src/libgpg-error/src/strsource-sym.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - err
    argTypes:
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: gpg_strsource_sym
    functionSourceFile: /src/libgpg-error/src/strsource-sym.c
    functionUses: 0
    functionsReached:
    - gpg_err_source
    - msgidxof
    linkageType: ''
    returnType: char
    signature: 'char *

      gpg_strsource_sym (gpg_error_t err)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_log_fatal
      Src: /src/libgpg-error/src/strlist.c:48,1
    - Dst: _gpgrt_wipememory
      Src: /src/libgpg-error/src/strlist.c:51,1
    - Dst: strlen
      Src: /src/libgpg-error/src/strlist.c:51,1
    - Dst: xfree
      Src: /src/libgpg-error/src/strlist.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - sl
    argTypes:
    - gpgrt_strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: _gpgrt_strlist_free
    functionSourceFile: /src/libgpg-error/src/strlist.c
    functionUses: 0
    functionsReached:
    - _gpgrt_log_fatal
    - xfree
    - _gpgrt_wipememory
    - strlen
    linkageType: ''
    returnType: void
    signature: void _gpgrt_strlist_free (gpgrt_strlist_t sl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/strlist.c:66,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/strlist.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - list
    - string
    - stringlen
    - flags
    argTypes:
    - gpgrt_strlist_t*
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 84
    functionName: do_strlist_append
    functionSourceFile: /src/libgpg-error/src/strlist.c
    functionUses: 0
    functionsReached:
    - xtrymalloc
    - memcpy
    linkageType: ''
    returnType: gpgrt_strlist_t
    signature: "gpgrt_strlist_t do_strlist_append (gpgrt_strlist_t *list, const char
      *string, size_t stringlen,\n                   unsigned int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_strlist_append
      Src: /src/libgpg-error/src/strlist.c:103,1
    - Dst: strlen
      Src: /src/libgpg-error/src/strlist.c:103,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/strlist.c:106,1
    - Dst: strlen
      Src: /src/libgpg-error/src/strlist.c:106,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/strlist.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - list
    - string
    - flags
    argTypes:
    - gpgrt_strlist_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: _gpgrt_strlist_add
    functionSourceFile: /src/libgpg-error/src/strlist.c
    functionUses: 0
    functionsReached:
    - do_strlist_append
    - strcpy
    - xtrymalloc
    - strlen
    linkageType: ''
    returnType: gpgrt_strlist_t
    signature: "gpgrt_strlist_t _gpgrt_strlist_add (gpgrt_strlist_t *list, const char
      *string,\n                    unsigned int flags)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/libgpg-error/src/strlist.c:138,1
    - Dst: strlen
      Src: /src/libgpg-error/src/strlist.c:142,1
    - Dst: do_strlist_append
      Src: /src/libgpg-error/src/strlist.c:145,1
    - Dst: _gpgrt_strlist_free
      Src: /src/libgpg-error/src/strlist.c:148,1
    - Dst: _gpgrt_trim_spaces
      Src: /src/libgpg-error/src/strlist.c:151,1
    - Dst: _gpgrt_strlist_prev
      Src: /src/libgpg-error/src/strlist.c:154,1
    - Dst: _gpgrt_strlist_free
      Src: /src/libgpg-error/src/strlist.c:157,1
    - Dst: _gpgrt_strlist_free
      Src: /src/libgpg-error/src/strlist.c:162,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/strlist.c:174,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 4
    argNames:
    - list
    - string
    - delim
    - flags
    argTypes:
    - gpgrt_strlist_t*
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 188
    functionName: _gpgrt_strlist_tokenize
    functionSourceFile: /src/libgpg-error/src/strlist.c
    functionUses: 0
    functionsReached:
    - strpbrk
    - do_strlist_append
    - _gpgrt_trim_spaces
    - _gpgrt_strlist_free
    - _gpg_err_set_errno
    - strlen
    - _gpgrt_strlist_prev
    linkageType: ''
    returnType: gpgrt_strlist_t
    signature: "gpgrt_strlist_t _gpgrt_strlist_tokenize (gpgrt_strlist_t *list, const
      char *string,\n                         const char *delim, unsigned int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/strlist.c:201,1
    - Dst: strlen
      Src: /src/libgpg-error/src/strlist.c:201,1
    - Dst: _gpgrt_strlist_free
      Src: /src/libgpg-error/src/strlist.c:204,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/strlist.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - list
    argTypes:
    - gpgrt_strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: _gpgrt_strlist_copy
    functionSourceFile: /src/libgpg-error/src/strlist.c
    functionUses: 0
    functionsReached:
    - strcpy
    - xtrymalloc
    - _gpgrt_strlist_free
    - strlen
    linkageType: ''
    returnType: gpgrt_strlist_t
    signature: gpgrt_strlist_t _gpgrt_strlist_copy (gpgrt_strlist_t list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - list
    argTypes:
    - gpgrt_strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: _gpgrt_strlist_rev
    functionSourceFile: /src/libgpg-error/src/strlist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gpgrt_strlist_t
    signature: gpgrt_strlist_t _gpgrt_strlist_rev (gpgrt_strlist_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - head
    - node
    argTypes:
    - gpgrt_strlist_t
    - gpgrt_strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: _gpgrt_strlist_prev
    functionSourceFile: /src/libgpg-error/src/strlist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gpgrt_strlist_t
    signature: gpgrt_strlist_t _gpgrt_strlist_prev (gpgrt_strlist_t head, gpgrt_strlist_t
      node)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - gpgrt_strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: _gpgrt_strlist_last
    functionSourceFile: /src/libgpg-error/src/strlist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gpgrt_strlist_t
    signature: gpgrt_strlist_t _gpgrt_strlist_last (gpgrt_strlist_t node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/libgpg-error/src/strlist.c:269,1
    - Dst: xfree
      Src: /src/libgpg-error/src/strlist.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - list
    argTypes:
    - gpgrt_strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 279
    functionName: _gpgrt_strlist_pop
    functionSourceFile: /src/libgpg-error/src/strlist.c
    functionUses: 0
    functionsReached:
    - xtrystrdup
    - xfree
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_strlist_pop (gpgrt_strlist_t *list)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/src/strlist.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - haystack
    - needle
    argTypes:
    - gpgrt_strlist_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: _gpgrt_strlist_find
    functionSourceFile: /src/libgpg-error/src/strlist.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gpgrt_strlist_t
    signature: gpgrt_strlist_t _gpgrt_strlist_find (gpgrt_strlist_t haystack, const
      char *needle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: _
    functionSourceFile: /src/libgpg-error/src/gpg-error.c
    functionUses: 844
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: N_
    functionSourceFile: /src/libgpg-error/src/gpg-error.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: N_
    functionSourceFile: /src/libgpg-error/src/gpg-error.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: _
    functionSourceFile: /src/libgpg-error/src/gpg-error.c
    functionUses: 844
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: N_
    functionSourceFile: /src/libgpg-error/src/gpg-error.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: get_locale_dir
    functionSourceFile: /src/libgpg-error/src/gpg-error.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_locale_dir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/libgpg-error/src/gpg-error.c:71,1
    - Dst: setlocale
      Src: /src/libgpg-error/src/gpg-error.c:72,1
    - Dst: setlocale
      Src: /src/libgpg-error/src/gpg-error.c:75,1
    - Dst: get_locale_dir
      Src: /src/libgpg-error/src/gpg-error.c:86,1
    - Dst: bindtextdomain
      Src: /src/libgpg-error/src/gpg-error.c:89,1
    - Dst: drop_locale_dir
      Src: /src/libgpg-error/src/gpg-error.c:90,1
    - Dst: textdomain
      Src: /src/libgpg-error/src/gpg-error.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 94
    functionName: i18n_init
    functionSourceFile: /src/libgpg-error/src/gpg-error.c
    functionUses: 25
    functionsReached:
    - get_locale_dir
    - drop_locale_dir
    - textdomain
    - setlocale
    - bindtextdomain
    linkageType: ''
    returnType: void
    signature: void i18n_init (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleFileNameW
      Src: /src/libgpg-error/src/gpg-error.c:109,1
    - Dst: WideCharToMultiByte
      Src: /src/libgpg-error/src/gpg-error.c:115,1
    - Dst: malloc
      Src: /src/libgpg-error/src/gpg-error.c:119,1
    - Dst: strlen
      Src: /src/libgpg-error/src/gpg-error.c:119,1
    - Dst: WideCharToMultiByte
      Src: /src/libgpg-error/src/gpg-error.c:122,1
    - Dst: free
      Src: /src/libgpg-error/src/gpg-error.c:126,1
    - Dst: strrchr
      Src: /src/libgpg-error/src/gpg-error.c:131,1
    - Dst: strrchr
      Src: /src/libgpg-error/src/gpg-error.c:136,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/gpg-error.c:137,1
    - Dst: strcat
      Src: /src/libgpg-error/src/gpg-error.c:140,1
    - Dst: malloc
      Src: /src/libgpg-error/src/gpg-error.c:146,1
    - Dst: strlen
      Src: /src/libgpg-error/src/gpg-error.c:146,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/gpg-error.c:149,1
    - Dst: strcat
      Src: /src/libgpg-error/src/gpg-error.c:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 155
    functionName: get_locale_dir
    functionSourceFile: /src/libgpg-error/src/gpg-error.c
    functionUses: 1
    functionsReached:
    - WideCharToMultiByte
    - strlen
    - strcat
    - strcmp
    - GetModuleFileNameW
    - strcpy
    - malloc
    - strrchr
    - free
    linkageType: ''
    returnType: char
    signature: 'char *

      get_locale_dir (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libgpg-error/src/gpg-error.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - locale_dir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: drop_locale_dir
    functionSourceFile: /src/libgpg-error/src/gpg-error.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void drop_locale_dir (char *locale_dir)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_set_errno
      Src: /src/libgpg-error/src/gpg-error.c:181,1
    - Dst: strtoul
      Src: /src/libgpg-error/src/gpg-error.c:182,1
    - Dst: strtoul
      Src: /src/libgpg-error/src/gpg-error.c:191,1
    - Dst: gpg_err_make
      Src: /src/libgpg-error/src/gpg-error.c:198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - str
    - err
    argTypes:
    - char*
    - gpg_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 203
    functionName: get_err_from_number
    functionSourceFile: /src/libgpg-error/src/gpg-error.c
    functionUses: 0
    functionsReached:
    - strtoul
    - gpg_err_make
    - gpg_err_set_errno
    linkageType: ''
    returnType: int
    signature: int get_err_from_number (char *str, gpg_error_t *err)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/libgpg-error/src/gpg-error.c:222,1
    - Dst: gpg_strsource_sym
      Src: /src/libgpg-error/src/gpg-error.c:235,1
    - Dst: strcasecmp
      Src: /src/libgpg-error/src/gpg-error.c:236,1
    - Dst: strncasecmp
      Src: /src/libgpg-error/src/gpg-error.c:243,1
    - Dst: gpg_strerror_sym
      Src: /src/libgpg-error/src/gpg-error.c:254,1
    - Dst: strcasecmp
      Src: /src/libgpg-error/src/gpg-error.c:256,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - str
    - err
    - have_source
    - have_code
    argTypes:
    - char*
    - gpg_error_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 264
    functionName: get_err_from_symbol_one
    functionSourceFile: /src/libgpg-error/src/gpg-error.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - gpg_strerror_sym
    - strcasecmp
    - gpg_strsource_sym
    linkageType: ''
    returnType: int
    signature: "int get_err_from_symbol_one (char *str, gpg_error_t *err,\n\t\t\t
      int *have_source, int *have_code)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_err_from_symbol_one
      Src: /src/libgpg-error/src/gpg-error.c:297,1
    - Dst: get_err_from_symbol_one
      Src: /src/libgpg-error/src/gpg-error.c:299,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - str
    - err
    argTypes:
    - char*
    - gpg_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 304
    functionName: get_err_from_symbol
    functionSourceFile: /src/libgpg-error/src/gpg-error.c
    functionUses: 0
    functionsReached:
    - get_err_from_symbol_one
    linkageType: ''
    returnType: int
    signature: int get_err_from_symbol (char *str, gpg_error_t *err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/libgpg-error/src/gpg-error.c:318,1
    - Dst: gpg_strerror_sym
      Src: /src/libgpg-error/src/gpg-error.c:323,1
    - Dst: strcasecmp
      Src: /src/libgpg-error/src/gpg-error.c:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - str
    - err
    argTypes:
    - char*
    - gpg_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 332
    functionName: get_err_from_codesymbol
    functionSourceFile: /src/libgpg-error/src/gpg-error.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - gpg_strerror_sym
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int get_err_from_codesymbol (char *str, gpg_error_t *err)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gpg_strsource
      Src: /src/libgpg-error/src/gpg-error.c:354,1
    - Dst: strcasecmp
      Src: /src/libgpg-error/src/gpg-error.c:355,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/src/gpg-error.c:368,1
    - Dst: strcasecmp
      Src: /src/libgpg-error/src/gpg-error.c:369,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - str
    - err
    - have_source
    - have_code
    argTypes:
    - char*
    - gpg_error_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 381
    functionName: get_err_from_str_one
    functionSourceFile: /src/libgpg-error/src/gpg-error.c
    functionUses: 0
    functionsReached:
    - gpg_strsource
    - gpg_strerror
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: "int get_err_from_str_one (char *str, gpg_error_t *err,\n\t\t      int
      *have_source, int *have_code)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_err_from_str_one
      Src: /src/libgpg-error/src/gpg-error.c:402,1
    - Dst: get_err_from_str_one
      Src: /src/libgpg-error/src/gpg-error.c:427,1
    - Dst: get_err_from_str_one
      Src: /src/libgpg-error/src/gpg-error.c:429,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 22
    argCount: 2
    argNames:
    - str
    - err
    argTypes:
    - char*
    - gpg_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 434
    functionName: get_err_from_str
    functionSourceFile: /src/libgpg-error/src/gpg-error.c
    functionUses: 0
    functionsReached:
    - get_err_from_str_one
    linkageType: ''
    returnType: int
    signature: int get_err_from_str (char *str, gpg_error_t *err)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libgpg-error/src/gpg-error.c:454,1
    - Dst: rewind
      Src: /src/libgpg-error/src/gpg-error.c:458,1
    - Dst: fgets
      Src: /src/libgpg-error/src/gpg-error.c:459,1
    - Dst: strlen
      Src: /src/libgpg-error/src/gpg-error.c:463,1
    - Dst: strlen
      Src: /src/libgpg-error/src/gpg-error.c:464,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/gpg-error.c:466,1
    - Dst: strchr
      Src: /src/libgpg-error/src/gpg-error.c:474,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/gpg-error.c:478,1
    - Dst: putchar
      Src: /src/libgpg-error/src/gpg-error.c:491,1
    - Dst: putchar
      Src: /src/libgpg-error/src/gpg-error.c:499,1
    - Dst: printf
      Src: /src/libgpg-error/src/gpg-error.c:500,1
    - Dst: putchar
      Src: /src/libgpg-error/src/gpg-error.c:502,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 46
    argCount: 1
    argNames:
    - symbol
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 503
    functionName: print_desc
    functionSourceFile: /src/libgpg-error/src/gpg-error.c
    functionUses: 0
    functionsReached:
    - printf
    - strlen
    - strcmp
    - strchr
    - fopen
    - rewind
    - fgets
    - strncmp
    - putchar
    linkageType: ''
    returnType: void
    signature: void print_desc (const char *symbol)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/libgpg-error/src/gpg-error.c:522,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 549
    functionName: my_strusage
    functionSourceFile: /src/libgpg-error/src/gpg-error.c
    functionUses: 0
    functionsReached:
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage (int level)'
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: ARGPARSE_group
      Src: /src/libgpg-error/src/gpg-error.c:572,1
    - Dst: ARGPARSE_c
      Src: /src/libgpg-error/src/gpg-error.c:573,1
    - Dst: ARGPARSE_c
      Src: /src/libgpg-error/src/gpg-error.c:575,1
    - Dst: ARGPARSE_c
      Src: /src/libgpg-error/src/gpg-error.c:577,1
    - Dst: ARGPARSE_c
      Src: /src/libgpg-error/src/gpg-error.c:580,1
    - Dst: ARGPARSE_c
      Src: /src/libgpg-error/src/gpg-error.c:582,1
    - Dst: ARGPARSE_c
      Src: /src/libgpg-error/src/gpg-error.c:584,1
    - Dst: ARGPARSE_c
      Src: /src/libgpg-error/src/gpg-error.c:587,1
    - Dst: ARGPARSE_c
      Src: /src/libgpg-error/src/gpg-error.c:589,1
    - Dst: ARGPARSE_c
      Src: /src/libgpg-error/src/gpg-error.c:591,1
    - Dst: ARGPARSE_c
      Src: /src/libgpg-error/src/gpg-error.c:594,1
    - Dst: ARGPARSE_c
      Src: /src/libgpg-error/src/gpg-error.c:595,1
    - Dst: ARGPARSE_c
      Src: /src/libgpg-error/src/gpg-error.c:596,1
    - Dst: ARGPARSE_c
      Src: /src/libgpg-error/src/gpg-error.c:597,1
    - Dst: ARGPARSE_group
      Src: /src/libgpg-error/src/gpg-error.c:598,1
    - Dst: ARGPARSE_s_n
      Src: /src/libgpg-error/src/gpg-error.c:599,1
    - Dst: ARGPARSE_s_n
      Src: /src/libgpg-error/src/gpg-error.c:600,1
    - Dst: ARGPARSE_s_s
      Src: /src/libgpg-error/src/gpg-error.c:601,1
    - Dst: ARGPARSE_end
      Src: /src/libgpg-error/src/gpg-error.c:603,1
    - Dst: gpgrt_init
      Src: /src/libgpg-error/src/gpg-error.c:621,1
    - Dst: i18n_init
      Src: /src/libgpg-error/src/gpg-error.c:622,1
    - Dst: gpgrt_set_strusage
      Src: /src/libgpg-error/src/gpg-error.c:623,1
    - Dst: gpgrt_log_set_prefix
      Src: /src/libgpg-error/src/gpg-error.c:624,1
    - Dst: gpgrt_strusage
      Src: /src/libgpg-error/src/gpg-error.c:624,1
    - Dst: gpgrt_argparse
      Src: /src/libgpg-error/src/gpg-error.c:627,1
    - Dst: gpgrt_argparse
      Src: /src/libgpg-error/src/gpg-error.c:651,1
    - Dst: gpgrt_usage
      Src: /src/libgpg-error/src/gpg-error.c:656,1
    - Dst: gpgrt_usage
      Src: /src/libgpg-error/src/gpg-error.c:661,1
    - Dst: es_fprintf
      Src: /src/libgpg-error/src/gpg-error.c:667,1
    - Dst: gpgrt_strusage
      Src: /src/libgpg-error/src/gpg-error.c:670,1
    - Dst: exit
      Src: /src/libgpg-error/src/gpg-error.c:671,1
    - Dst: gpgrt_usage
      Src: /src/libgpg-error/src/gpg-error.c:677,1
    - Dst: gpgrt_usage
      Src: /src/libgpg-error/src/gpg-error.c:680,1
    - Dst: printf
      Src: /src/libgpg-error/src/gpg-error.c:686,1
    - Dst: printf
      Src: /src/libgpg-error/src/gpg-error.c:688,1
    - Dst: gpg_error_check_version
      Src: /src/libgpg-error/src/gpg-error.c:688,1
    - Dst: gpg_error_check_version
      Src: /src/libgpg-error/src/gpg-error.c:689,1
    - Dst: fputs
      Src: /src/libgpg-error/src/gpg-error.c:692,1
    - Dst: fputs
      Src: /src/libgpg-error/src/gpg-error.c:701,1
    - Dst: putc
      Src: /src/libgpg-error/src/gpg-error.c:704,1
    - Dst: putc
      Src: /src/libgpg-error/src/gpg-error.c:706,1
    - Dst: gpgrt_w32_override_locale
      Src: /src/libgpg-error/src/gpg-error.c:717,1
    - Dst: strtoul
      Src: /src/libgpg-error/src/gpg-error.c:717,1
    - Dst: gpgrt_w32_override_locale
      Src: /src/libgpg-error/src/gpg-error.c:719,1
    - Dst: printf
      Src: /src/libgpg-error/src/gpg-error.c:722,1
    - Dst: gettext_localename
      Src: /src/libgpg-error/src/gpg-error.c:722,1
    - Dst: log_info
      Src: /src/libgpg-error/src/gpg-error.c:724,1
    - Dst: gpgrt_fopen
      Src: /src/libgpg-error/src/gpg-error.c:731,1
    - Dst: log_error
      Src: /src/libgpg-error/src/gpg-error.c:733,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/src/gpg-error.c:734,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/src/gpg-error.c:734,1
    - Dst: printf
      Src: /src/libgpg-error/src/gpg-error.c:738,1
    - Dst: gpgrt_fclose
      Src: /src/libgpg-error/src/gpg-error.c:739,1
    - Dst: strtoul
      Src: /src/libgpg-error/src/gpg-error.c:747,1
    - Dst: gpgrt_fconcat
      Src: /src/libgpg-error/src/gpg-error.c:750,1
    - Dst: gpgrt_fconcat
      Src: /src/libgpg-error/src/gpg-error.c:752,1
    - Dst: gpgrt_fconcat
      Src: /src/libgpg-error/src/gpg-error.c:754,1
    - Dst: gpgrt_fconcat
      Src: /src/libgpg-error/src/gpg-error.c:756,1
    - Dst: gpgrt_fconcat
      Src: /src/libgpg-error/src/gpg-error.c:759,1
    - Dst: log_error
      Src: /src/libgpg-error/src/gpg-error.c:765,1
    - Dst: log_error
      Src: /src/libgpg-error/src/gpg-error.c:767,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/src/gpg-error.c:768,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/src/gpg-error.c:768,1
    - Dst: printf
      Src: /src/libgpg-error/src/gpg-error.c:770,1
    - Dst: gpgrt_free
      Src: /src/libgpg-error/src/gpg-error.c:771,1
    - Dst: gpgrt_chdir
      Src: /src/libgpg-error/src/gpg-error.c:775,1
    - Dst: log_error
      Src: /src/libgpg-error/src/gpg-error.c:777,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/src/gpg-error.c:777,1
    - Dst: printf
      Src: /src/libgpg-error/src/gpg-error.c:779,1
    - Dst: gpgrt_mkdir
      Src: /src/libgpg-error/src/gpg-error.c:783,1
    - Dst: log_error
      Src: /src/libgpg-error/src/gpg-error.c:785,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/src/gpg-error.c:785,1
    - Dst: printf
      Src: /src/libgpg-error/src/gpg-error.c:787,1
    - Dst: gpgrt_w32_set_errno
      Src: /src/libgpg-error/src/gpg-error.c:792,1
    - Dst: strtol
      Src: /src/libgpg-error/src/gpg-error.c:792,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/gpg-error.c:793,1
    - Dst: printf
      Src: /src/libgpg-error/src/gpg-error.c:794,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/src/gpg-error.c:794,1
    - Dst: log_info
      Src: /src/libgpg-error/src/gpg-error.c:796,1
    - Dst: printf
      Src: /src/libgpg-error/src/gpg-error.c:802,1
    - Dst: gpgrt_w32_reg_get_string
      Src: /src/libgpg-error/src/gpg-error.c:802,1
    - Dst: log_info
      Src: /src/libgpg-error/src/gpg-error.c:804,1
    - Dst: gpg_err_make
      Src: /src/libgpg-error/src/gpg-error.c:813,1
    - Dst: gpg_strsource_sym
      Src: /src/libgpg-error/src/gpg-error.c:815,1
    - Dst: printf
      Src: /src/libgpg-error/src/gpg-error.c:818,1
    - Dst: gpg_err_source
      Src: /src/libgpg-error/src/gpg-error.c:819,1
    - Dst: gpg_strsource
      Src: /src/libgpg-error/src/gpg-error.c:820,1
    - Dst: print_desc
      Src: /src/libgpg-error/src/gpg-error.c:822,1
    - Dst: gpg_err_make
      Src: /src/libgpg-error/src/gpg-error.c:827,1
    - Dst: gpg_strerror_sym
      Src: /src/libgpg-error/src/gpg-error.c:828,1
    - Dst: printf
      Src: /src/libgpg-error/src/gpg-error.c:831,1
    - Dst: gpg_err_code
      Src: /src/libgpg-error/src/gpg-error.c:832,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/src/gpg-error.c:833,1
    - Dst: print_desc
      Src: /src/libgpg-error/src/gpg-error.c:835,1
    - Dst: gpg_err_make
      Src: /src/libgpg-error/src/gpg-error.c:845,1
    - Dst: gpg_strsource_sym
      Src: /src/libgpg-error/src/gpg-error.c:846,1
    - Dst: strlen
      Src: /src/libgpg-error/src/gpg-error.c:849,1
    - Dst: gpg_err_make
      Src: /src/libgpg-error/src/gpg-error.c:856,1
    - Dst: gpg_strsource_sym
      Src: /src/libgpg-error/src/gpg-error.c:857,1
    - Dst: printf
      Src: /src/libgpg-error/src/gpg-error.c:859,1
    - Dst: gpg_err_source
      Src: /src/libgpg-error/src/gpg-error.c:859,1
    - Dst: gpg_err_make
      Src: /src/libgpg-error/src/gpg-error.c:865,1
    - Dst: gpg_strerror_sym
      Src: /src/libgpg-error/src/gpg-error.c:866,1
    - Dst: strlen
      Src: /src/libgpg-error/src/gpg-error.c:869,1
    - Dst: gpg_err_make
      Src: /src/libgpg-error/src/gpg-error.c:876,1
    - Dst: gpg_strerror_sym
      Src: /src/libgpg-error/src/gpg-error.c:877,1
    - Dst: printf
      Src: /src/libgpg-error/src/gpg-error.c:879,1
    - Dst: gpg_err_code
      Src: /src/libgpg-error/src/gpg-error.c:879,1
    - Dst: get_err_from_number
      Src: /src/libgpg-error/src/gpg-error.c:892,1
    - Dst: get_err_from_symbol
      Src: /src/libgpg-error/src/gpg-error.c:893,1
    - Dst: get_err_from_codesymbol
      Src: /src/libgpg-error/src/gpg-error.c:894,1
    - Dst: get_err_from_str
      Src: /src/libgpg-error/src/gpg-error.c:895,1
    - Dst: gpg_strsource_sym
      Src: /src/libgpg-error/src/gpg-error.c:897,1
    - Dst: gpg_strerror_sym
      Src: /src/libgpg-error/src/gpg-error.c:898,1
    - Dst: printf
      Src: /src/libgpg-error/src/gpg-error.c:900,1
    - Dst: gpg_err_source
      Src: /src/libgpg-error/src/gpg-error.c:901,1
    - Dst: gpg_err_code
      Src: /src/libgpg-error/src/gpg-error.c:901,1
    - Dst: gpg_strsource
      Src: /src/libgpg-error/src/gpg-error.c:903,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/src/gpg-error.c:903,1
    - Dst: print_desc
      Src: /src/libgpg-error/src/gpg-error.c:905,1
    - Dst: log_error
      Src: /src/libgpg-error/src/gpg-error.c:908,1
    - Dst: _
      Src: /src/libgpg-error/src/gpg-error.c:908,1
    - Dst: exit
      Src: /src/libgpg-error/src/gpg-error.c:912,1
    - Dst: gpgrt_get_errorcount
      Src: /src/libgpg-error/src/gpg-error.c:912,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 213
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 553
    functionDepth: 4
    functionLinenumber: 553
    functionLinenumberEnd: 913
    functionName: main
    functionSourceFile: /src/libgpg-error/src/gpg-error.c
    functionUses: 13
    functionsReached:
    - es_fprintf
    - strlen
    - exit
    - gpg_err_make
    - gpgrt_free
    - get_err_from_codesymbol
    - gpg_error_check_version
    - gpg_err_source
    - get_err_from_str
    - putc
    - gpgrt_set_strusage
    - printf
    - ARGPARSE_s_n
    - log_error
    - gpgrt_usage
    - _
    - print_desc
    - log_info
    - gpgrt_fconcat
    - gettext_localename
    - gpgrt_fclose
    - get_err_from_symbol
    - strtoul
    - gpgrt_strusage
    - ARGPARSE_c
    - ARGPARSE_s_s
    - gpgrt_log_set_prefix
    - strtol
    - gpg_err_code_from_syserror
    - gpg_error_from_syserror
    - gpg_strsource_sym
    - gpgrt_fopen
    - ARGPARSE_end
    - gpg_strerror
    - gpgrt_w32_set_errno
    - gpgrt_argparse
    - gpg_strsource
    - gpgrt_chdir
    - gpgrt_get_errorcount
    - ARGPARSE_group
    - get_err_from_number
    - i18n_init
    - gpgrt_w32_override_locale
    - gpg_strerror_sym
    - gpgrt_init
    - gpg_err_code
    - fputs
    - gpgrt_w32_reg_get_string
    - gpgrt_mkdir
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: closefrom
      Src: /src/libgpg-error/src/spawn-posix.c:94,1
    - Dst: closefrom
      Src: /src/libgpg-error/src/spawn-posix.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - lowfd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: closefrom_really
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached:
    - closefrom
    linkageType: ''
    returnType: void
    signature: void closefrom_really (int lowfd)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libgpg-error/src/spawn-posix.c:137,1
    - Dst: getdents64
      Src: /src/libgpg-error/src/spawn-posix.c:142,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:166,1
    - Dst: getrlimit
      Src: /src/libgpg-error/src/spawn-posix.c:177,1
    - Dst: getrlimit
      Src: /src/libgpg-error/src/spawn-posix.c:182,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 40
    argCount: 1
    argNames:
    - fallback_max_fds
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 206
    functionName: get_max_fds
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 5
    functionsReached:
    - getdents64
    - getrlimit
    - close
    - open
    linkageType: ''
    returnType: int
    signature: int get_max_fds (int fallback_max_fds)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:236,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - first_fd
    - max_fds
    - except
    argTypes:
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 239
    functionName: close_except
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void close_except (int first_fd, int max_fds, const int *except)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: closefrom_really
      Src: /src/libgpg-error/src/spawn-posix.c:264,1
    - Dst: get_max_fds
      Src: /src/libgpg-error/src/spawn-posix.c:266,1
    - Dst: close_except
      Src: /src/libgpg-error/src/spawn-posix.c:268,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/spawn-posix.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - first
    - except
    - fallback_max_fds
    argTypes:
    - int
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 270
    functionName: _gpgrt_close_all_fds
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached:
    - closefrom_really
    - get_max_fds
    - _gpg_err_set_errno
    - close_except
    linkageType: ''
    returnType: void
    signature: void _gpgrt_close_all_fds (int first, const int *except, int fallback_max_fds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:278,1
    - Dst: pipe
      Src: /src/libgpg-error/src/spawn-posix.c:279,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-posix.c:281,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - filedes
    argTypes:
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 287
    functionName: do_create_pipe
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 1
    functionsReached:
    - _gpgrt_pre_syscall
    - pipe
    - _gpgrt_post_syscall
    - _gpg_err_code_from_syserror
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t do_create_pipe (int filedes[2])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:297,1
    - Dst: pipe
      Src: /src/libgpg-error/src/spawn-posix.c:298,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:300,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-posix.c:301,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/spawn-posix.c:302,1
    - Dst: _
      Src: /src/libgpg-error/src/spawn-posix.c:302,1
    - Dst: _gpg_strerror
      Src: /src/libgpg-error/src/spawn-posix.c:302,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:307,1
    - Dst: _gpgrt_fdopen
      Src: /src/libgpg-error/src/spawn-posix.c:310,1
    - Dst: _gpgrt_fdopen
      Src: /src/libgpg-error/src/spawn-posix.c:312,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-posix.c:315,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/spawn-posix.c:316,1
    - Dst: _
      Src: /src/libgpg-error/src/spawn-posix.c:316,1
    - Dst: _gpg_strerror
      Src: /src/libgpg-error/src/spawn-posix.c:317,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:318,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - filedes
    - r_fp
    - outbound
    - nonblock
    argTypes:
    - int[]
    - estream_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 324
    functionName: do_create_pipe_and_estream
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached:
    - _gpg_err_code_from_syserror
    - pipe
    - _gpgrt_post_syscall
    - _gpgrt_log_info
    - close
    - _
    - _gpgrt_pre_syscall
    - _gpg_strerror
    - _gpgrt_fdopen
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t do_create_pipe_and_estream (int filedes[2], estream_t
      *r_fp,\n                            int outbound, int nonblock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_create_pipe_and_estream
      Src: /src/libgpg-error/src/spawn-posix.c:337,1
    - Dst: do_create_pipe
      Src: /src/libgpg-error/src/spawn-posix.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - filedes
    - r_fp
    - direction
    - nonblock
    argTypes:
    - int[]
    - estream_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: _gpgrt_make_pipe
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached:
    - do_create_pipe_and_estream
    - do_create_pipe
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gpgrt_make_pipe (int filedes[2], estream_t *r_fp,
      int direction,\n                  int nonblock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:349,1
    - Dst: socketpair
      Src: /src/libgpg-error/src/spawn-posix.c:350,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-posix.c:352,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - filedes
    argTypes:
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 358
    functionName: do_create_socketpair
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached:
    - _gpgrt_pre_syscall
    - _gpgrt_post_syscall
    - socketpair
    - _gpg_err_code_from_syserror
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t do_create_socketpair (int filedes[2])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libgpg-error/src/spawn-posix.c:365,1
    - Dst: _gpgrt_log_fatal
      Src: /src/libgpg-error/src/spawn-posix.c:367,1
    - Dst: strerror
      Src: /src/libgpg-error/src/spawn-posix.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - for_write
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 369
    functionName: posix_open_null
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached:
    - _gpgrt_log_fatal
    - strerror
    - open
    linkageType: ''
    returnType: int
    signature: int posix_open_null (int for_write)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/libgpg-error/src/spawn-posix.c:380,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-posix.c:384,1
    - Dst: strchr
      Src: /src/libgpg-error/src/spawn-posix.c:386,1
    - Dst: _gpgrt_setenv
      Src: /src/libgpg-error/src/spawn-posix.c:390,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - envchange
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 395
    functionName: prepare_environ
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached:
    - _gpg_err_code_from_syserror
    - xtrystrdup
    - strchr
    - xfree
    - _gpgrt_setenv
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t prepare_environ (const char *const *envchange)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: posix_open_null
      Src: /src/libgpg-error/src/spawn-posix.c:406,1
    - Dst: dup2
      Src: /src/libgpg-error/src/spawn-posix.c:412,1
    - Dst: _gpgrt_log_fatal
      Src: /src/libgpg-error/src/spawn-posix.c:413,1
    - Dst: strerror
      Src: /src/libgpg-error/src/spawn-posix.c:414,1
    - Dst: _gpgrt_close_all_fds
      Src: /src/libgpg-error/src/spawn-posix.c:423,1
    - Dst: prepare_environ
      Src: /src/libgpg-error/src/spawn-posix.c:425,1
    - Dst: gpgrt_spawn_actions_t::atfork
      Src: /src/libgpg-error/src/spawn-posix.c:429,1
    - Dst: execve
      Src: /src/libgpg-error/src/spawn-posix.c:436,1
    - Dst: execv
      Src: /src/libgpg-error/src/spawn-posix.c:438,1
    - Dst: _exit
      Src: /src/libgpg-error/src/spawn-posix.c:442,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - pgmname
    - argv
    - act
    - fallback_max_fds
    argTypes:
    - char*
    - char*[]
    - gpgrt_spawn_actions_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 444
    functionName: my_exec
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached:
    - gpgrt_spawn_actions_t::atfork
    - posix_open_null
    - prepare_environ
    - _exit
    - _gpgrt_close_all_fds
    - execve
    - execv
    - strerror
    - _gpgrt_log_fatal
    - dup2
    linkageType: ''
    returnType: int
    signature: "int my_exec (const char *pgmname, const char *argv[], gpgrt_spawn_actions_t
      act,\n         int fallback_max_fds)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/libgpg-error/src/spawn-posix.c:454,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-posix.c:456,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:457,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:461,1
    - Dst: fork
      Src: /src/libgpg-error/src/spawn-posix.c:462,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:465,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-posix.c:466,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/spawn-posix.c:467,1
    - Dst: _
      Src: /src/libgpg-error/src/spawn-posix.c:467,1
    - Dst: _gpg_strerror
      Src: /src/libgpg-error/src/spawn-posix.c:467,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:468,1
    - Dst: setsid
      Src: /src/libgpg-error/src/spawn-posix.c:476,1
    - Dst: chdir
      Src: /src/libgpg-error/src/spawn-posix.c:476,1
    - Dst: _exit
      Src: /src/libgpg-error/src/spawn-posix.c:477,1
    - Dst: fork
      Src: /src/libgpg-error/src/spawn-posix.c:479,1
    - Dst: _exit
      Src: /src/libgpg-error/src/spawn-posix.c:481,1
    - Dst: _exit
      Src: /src/libgpg-error/src/spawn-posix.c:483,1
    - Dst: my_exec
      Src: /src/libgpg-error/src/spawn-posix.c:485,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:489,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:490,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:491,1
    - Dst: waitpid
      Src: /src/libgpg-error/src/spawn-posix.c:492,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:494,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-posix.c:495,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/spawn-posix.c:496,1
    - Dst: _gpg_strerror
      Src: /src/libgpg-error/src/spawn-posix.c:497,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:501,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 4
    argNames:
    - pgmname
    - argv
    - act
    - fallback_max_fds
    argTypes:
    - char*
    - char*[]
    - gpgrt_spawn_actions_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 504
    functionName: spawn_detached
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached:
    - _gpg_err_code_from_syserror
    - _gpgrt_post_syscall
    - my_exec
    - _gpgrt_log_info
    - _exit
    - _
    - _gpgrt_pre_syscall
    - setsid
    - access
    - xfree
    - _gpg_strerror
    - waitpid
    - chdir
    - fork
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t spawn_detached (const char *pgmname, const char *argv[],\n
      \               gpgrt_spawn_actions_t act, int fallback_max_fds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/libgpg-error/src/spawn-posix.c:514,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-posix.c:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r_act
    argTypes:
    - gpgrt_spawn_actions_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 523
    functionName: _gpgrt_spawn_actions_new
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached:
    - _gpg_err_code_from_syserror
    - xtrycalloc
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_spawn_actions_new (gpgrt_spawn_actions_t *r_act)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - act
    argTypes:
    - gpgrt_spawn_actions_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 532
    functionName: _gpgrt_spawn_actions_release
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void _gpgrt_spawn_actions_release (gpgrt_spawn_actions_t act)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - act
    - environ_for_child
    argTypes:
    - gpgrt_spawn_actions_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: _gpgrt_spawn_actions_set_environ
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gpgrt_spawn_actions_set_environ (gpgrt_spawn_actions_t act,\n
      \                                 char **environ_for_child)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - act
    - envchange
    argTypes:
    - gpgrt_spawn_actions_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 546
    functionName: _gpgrt_spawn_actions_set_env_rev
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gpgrt_spawn_actions_set_env_rev (gpgrt_spawn_actions_t act,\n
      \                                 const char *const *envchange)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - act
    - arg
    argTypes:
    - gpgrt_spawn_actions_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 554
    functionName: _gpgrt_spawn_actions_set_atfork
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gpgrt_spawn_actions_set_atfork (gpgrt_spawn_actions_t act,\n
      \                                void (*atfork)(void *), void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - act
    - in
    - out
    - err
    argTypes:
    - gpgrt_spawn_actions_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 563
    functionName: _gpgrt_spawn_actions_set_redirect
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gpgrt_spawn_actions_set_redirect (gpgrt_spawn_actions_t act,\n
      \                                  int in, int out, int err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - act
    - fds
    argTypes:
    - gpgrt_spawn_actions_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 570
    functionName: _gpgrt_spawn_actions_set_inherit_fds
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gpgrt_spawn_actions_set_inherit_fds (gpgrt_spawn_actions_t act,\n
      \                                     const int *fds)"
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/libgpg-error/src/spawn-posix.c:591,1
    - Dst: memset
      Src: /src/libgpg-error/src/spawn-posix.c:599,1
    - Dst: xtrycalloc
      Src: /src/libgpg-error/src/spawn-posix.c:613,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-posix.c:615,1
    - Dst: strrchr
      Src: /src/libgpg-error/src/spawn-posix.c:617,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:631,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:638,1
    - Dst: getuid
      Src: /src/libgpg-error/src/spawn-posix.c:644,1
    - Dst: geteuid
      Src: /src/libgpg-error/src/spawn-posix.c:644,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:646,1
    - Dst: spawn_detached
      Src: /src/libgpg-error/src/spawn-posix.c:651,1
    - Dst: xtrycalloc
      Src: /src/libgpg-error/src/spawn-posix.c:654,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:657,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-posix.c:658,1
    - Dst: do_create_socketpair
      Src: /src/libgpg-error/src/spawn-posix.c:666,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:669,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:670,1
    - Dst: dup
      Src: /src/libgpg-error/src/spawn-posix.c:673,1
    - Dst: dup
      Src: /src/libgpg-error/src/spawn-posix.c:674,1
    - Dst: do_create_pipe
      Src: /src/libgpg-error/src/spawn-posix.c:680,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:683,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:684,1
    - Dst: do_create_pipe
      Src: /src/libgpg-error/src/spawn-posix.c:701,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:705,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:707,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:708,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:709,1
    - Dst: do_create_pipe
      Src: /src/libgpg-error/src/spawn-posix.c:727,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:731,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:733,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:735,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:737,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:738,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:739,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:754,1
    - Dst: fork
      Src: /src/libgpg-error/src/spawn-posix.c:755,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:758,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-posix.c:759,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/spawn-posix.c:760,1
    - Dst: _
      Src: /src/libgpg-error/src/spawn-posix.c:760,1
    - Dst: _gpg_strerror
      Src: /src/libgpg-error/src/spawn-posix.c:760,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:762,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:764,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:766,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:768,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:770,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:772,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:773,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:774,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:781,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:783,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:785,1
    - Dst: my_exec
      Src: /src/libgpg-error/src/spawn-posix.c:795,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:797,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:798,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:806,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:807,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:811,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:813,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-posix.c:815,1
    - Dst: _gpgrt_process_wait
      Src: /src/libgpg-error/src/spawn-posix.c:824,1
    - Dst: _gpgrt_process_release
      Src: /src/libgpg-error/src/spawn-posix.c:825,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 182
    argCount: 5
    argNames:
    - pgmname
    - argv1
    - flags
    - act
    - r_process
    argTypes:
    - char*
    - char*[]
    - unsigned int
    - gpgrt_spawn_actions_t
    - gpgrt_process_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 573
    functionDepth: 4
    functionLinenumber: 573
    functionLinenumberEnd: 831
    functionName: _gpgrt_process_spawn
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached:
    - do_create_pipe
    - _gpgrt_process_wait
    - _gpg_strerror
    - fork
    - sysconf
    - geteuid
    - _gpg_err_code_from_syserror
    - _gpgrt_post_syscall
    - close
    - dup
    - _gpgrt_log_info
    - _
    - do_create_socketpair
    - spawn_detached
    - my_exec
    - _gpgrt_process_release
    - memset
    - xfree
    - getuid
    - xtrycalloc
    - _gpgrt_pre_syscall
    - strrchr
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gpgrt_process_spawn (const char *pgmname, const char
      *argv1[],\n                      unsigned int flags, gpgrt_spawn_actions_t act,\n
      \                     gpgrt_process_t *r_process)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:839,1
    - Dst: kill
      Src: /src/libgpg-error/src/spawn-posix.c:840,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-posix.c:841,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - process
    - sig
    argTypes:
    - gpgrt_process_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 844
    functionName: process_kill
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached:
    - _gpgrt_pre_syscall
    - kill
    - _gpgrt_post_syscall
    - _gpg_err_code_from_syserror
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t process_kill (gpgrt_process_t process, int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: process_kill
      Src: /src/libgpg-error/src/spawn-posix.c:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - process
    argTypes:
    - gpgrt_process_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 850
    functionName: _gpgrt_process_terminate
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached:
    - process_kill
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_process_terminate (gpgrt_process_t process)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - process
    - flags
    - r_fd_in
    - r_fd_out
    - r_fd_err
    argTypes:
    - gpgrt_process_t
    - unsigned int
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 874
    functionName: _gpgrt_process_get_fds
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gpgrt_process_get_fds (gpgrt_process_t process, unsigned
      int flags,\n                        int *r_fd_in, int *r_fd_out, int *r_fd_err)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fdopen
      Src: /src/libgpg-error/src/spawn-posix.c:885,1
    - Dst: _gpgrt_fdopen
      Src: /src/libgpg-error/src/spawn-posix.c:890,1
    - Dst: _gpgrt_fdopen
      Src: /src/libgpg-error/src/spawn-posix.c:895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - process
    - flags
    - r_fp_in
    - r_fp_out
    - r_fp_err
    argTypes:
    - gpgrt_process_t
    - unsigned int
    - gpgrt_stream_t*
    - gpgrt_stream_t*
    - gpgrt_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 899
    functionName: _gpgrt_process_get_streams
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached:
    - _gpgrt_fdopen
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gpgrt_process_get_streams (gpgrt_process_t process,
      unsigned int flags,\n                            gpgrt_stream_t *r_fp_in, gpgrt_stream_t
      *r_fp_out,\n                            gpgrt_stream_t *r_fp_err)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/libgpg-error/src/spawn-posix.c:912,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/spawn-posix.c:924,1
    - Dst: WIFEXITED
      Src: /src/libgpg-error/src/spawn-posix.c:929,1
    - Dst: WEXITSTATUS
      Src: /src/libgpg-error/src/spawn-posix.c:932,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/spawn-posix.c:942,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/spawn-posix.c:954,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/spawn-posix.c:955,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/spawn-posix.c:956,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/spawn-posix.c:957,1
    - Dst: WIFEXITED
      Src: /src/libgpg-error/src/spawn-posix.c:962,1
    - Dst: WEXITSTATUS
      Src: /src/libgpg-error/src/spawn-posix.c:969,1
    - Dst: WIFSIGNALED
      Src: /src/libgpg-error/src/spawn-posix.c:973,1
    - Dst: WTERMSIG
      Src: /src/libgpg-error/src/spawn-posix.c:982,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/spawn-posix.c:990,1
    - Dst: process_kill
      Src: /src/libgpg-error/src/spawn-posix.c:992,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 3
    argNames:
    - process
    - request
    - arg_ptr
    argTypes:
    - gpgrt_process_t
    - unsigned int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 1000
    functionName: _gpgrt_process_vctl
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached:
    - WTERMSIG
    - process_kill
    - WIFSIGNALED
    - WEXITSTATUS
    - va_arg
    - WIFEXITED
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gpgrt_process_vctl (gpgrt_process_t process, unsigned
      int request,\n                     va_list arg_ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:1013,1
    - Dst: waitpid
      Src: /src/libgpg-error/src/spawn-posix.c:1014,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/spawn-posix.c:1016,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-posix.c:1020,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/spawn-posix.c:1021,1
    - Dst: _
      Src: /src/libgpg-error/src/spawn-posix.c:1021,1
    - Dst: _gpg_strerror
      Src: /src/libgpg-error/src/spawn-posix.c:1022,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - process
    - hang
    argTypes:
    - gpgrt_process_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1036
    functionName: _gpgrt_process_wait
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 1
    functionsReached:
    - _gpg_err_code_from_syserror
    - _gpgrt_post_syscall
    - _gpgrt_log_info
    - _
    - _gpgrt_pre_syscall
    - waitpid
    - _gpg_strerror
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_process_wait (gpgrt_process_t process, int hang)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_process_terminate
      Src: /src/libgpg-error/src/spawn-posix.c:1046,1
    - Dst: _gpgrt_process_wait
      Src: /src/libgpg-error/src/spawn-posix.c:1047,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-posix.c:1050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - process
    argTypes:
    - gpgrt_process_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1051
    functionName: _gpgrt_process_release
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 1
    functionsReached:
    - _gpgrt_process_wait
    - xfree
    - _gpgrt_process_terminate
    linkageType: ''
    returnType: void
    signature: void _gpgrt_process_release (gpgrt_process_t process)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_process_wait
      Src: /src/libgpg-error/src/spawn-posix.c:1064,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - process_list
    - count
    - hang
    argTypes:
    - gpgrt_process_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1070
    functionName: _gpgrt_process_wait_list
    functionSourceFile: /src/libgpg-error/src/spawn-posix.c
    functionUses: 0
    functionsReached:
    - _gpgrt_process_wait
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_process_wait_list (gpgrt_process_t *process_list,
      int count, int hang)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code
      Src: /src/libgpg-error/src/strerror.c:44,1
    - Dst: gpg_err_code_to_errno
      Src: /src/libgpg-error/src/strerror.c:48,1
    - Dst: strerror
      Src: /src/libgpg-error/src/strerror.c:50,1
    - Dst: dgettext
      Src: /src/libgpg-error/src/strerror.c:54,1
    - Dst: msgidxof
      Src: /src/libgpg-error/src/strerror.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - err
    argTypes:
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: _gpg_strerror
    functionSourceFile: /src/libgpg-error/src/strerror.c
    functionUses: 4
    functionsReached:
    - gpg_err_code_to_errno
    - msgidxof
    - dgettext
    - gpg_err_code
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpg_strerror (gpg_error_t err)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strerror_r
      Src: /src/libgpg-error/src/strerror.c:73,1
    - Dst: strlen
      Src: /src/libgpg-error/src/strerror.c:76,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/strerror.c:78,1
    - Dst: strlen
      Src: /src/libgpg-error/src/strerror.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - 'no'
    - buf
    - buflen
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 91
    functionName: system_strerror_r
    functionSourceFile: /src/libgpg-error/src/strerror.c
    functionUses: 0
    functionsReached:
    - strerror_r
    - memcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: int system_strerror_r (int no, char *buf, size_t buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strerror_r
      Src: /src/libgpg-error/src/strerror.c:100,1
    - Dst: snprintf
      Src: /src/libgpg-error/src/strerror.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - 'no'
    - buf
    - buflen
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 114
    functionName: system_strerror_r
    functionSourceFile: /src/libgpg-error/src/strerror.c
    functionUses: 0
    functionsReached:
    - strerror_r
    - snprintf
    linkageType: ''
    returnType: int
    signature: int system_strerror_r (int no, char *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror_s
      Src: /src/libgpg-error/src/strerror.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - 'no'
    - buf
    - buflen
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: system_strerror_r
    functionSourceFile: /src/libgpg-error/src/strerror.c
    functionUses: 0
    functionsReached:
    - strerror_s
    linkageType: ''
    returnType: int
    signature: int system_strerror_r (int no, char *buf, size_t buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/libgpg-error/src/strerror.c:134,1
    - Dst: snprintf
      Src: /src/libgpg-error/src/strerror.c:141,1
    - Dst: strlen
      Src: /src/libgpg-error/src/strerror.c:146,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/strerror.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - 'no'
    - buf
    - buflen
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 151
    functionName: system_strerror_r
    functionSourceFile: /src/libgpg-error/src/strerror.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strerror
    - memcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: int system_strerror_r (int no, char *buf, size_t buflen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_code
      Src: /src/libgpg-error/src/strerror.c:165,1
    - Dst: gpg_err_code_to_errno
      Src: /src/libgpg-error/src/strerror.c:172,1
    - Dst: system_strerror_r
      Src: /src/libgpg-error/src/strerror.c:175,1
    - Dst: dgettext
      Src: /src/libgpg-error/src/strerror.c:187,1
    - Dst: msgidxof
      Src: /src/libgpg-error/src/strerror.c:187,1
    - Dst: strlen
      Src: /src/libgpg-error/src/strerror.c:188,1
    - Dst: strcasecmp
      Src: /src/libgpg-error/src/strerror.c:194,1
    - Dst: nl_langinfo
      Src: /src/libgpg-error/src/strerror.c:194,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/strerror.c:200,1
    - Dst: memset
      Src: /src/libgpg-error/src/strerror.c:201,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/strerror.c:205,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/strerror.c:210,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - err
    - buf
    - buflen
    argTypes:
    - gpg_error_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 216
    functionName: _gpg_strerror_r
    functionSourceFile: /src/libgpg-error/src/strerror.c
    functionUses: 0
    functionsReached:
    - gpg_err_code_to_errno
    - msgidxof
    - strlen
    - dgettext
    - gpg_err_code
    - memset
    - nl_langinfo
    - memcpy
    - strcasecmp
    - system_strerror_r
    linkageType: ''
    returnType: int
    signature: int _gpg_strerror_r (gpg_error_t err, char *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: jnlib_malloc
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: jnlib_malloc(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: jnlib_calloc
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: jnlib_calloc(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: jnlib_free
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: jnlib_free(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: jnlib_xstrdup
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: jnlib_xstrdup(a)
  - BBCount: 239
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgpg-error/src/w32-gettext.c:643,1
    - Dst: getenv
      Src: /src/libgpg-error/src/w32-gettext.c:646,1
    - Dst: getenv
      Src: /src/libgpg-error/src/w32-gettext.c:649,1
    - Dst: get_thread_ui_language
      Src: /src/libgpg-error/src/w32-gettext.c:654,1
    - Dst: GetThreadLocale
      Src: /src/libgpg-error/src/w32-gettext.c:655,1
    - Dst: LANGIDFROMLCID
      Src: /src/libgpg-error/src/w32-gettext.c:658,1
    - Dst: PRIMARYLANGID
      Src: /src/libgpg-error/src/w32-gettext.c:662,1
    - Dst: SUBLANGID
      Src: /src/libgpg-error/src/w32-gettext.c:663,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 538
    argCount: 1
    argNames:
    - categoryname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 1034
    functionName: my_nl_locale_name
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached:
    - getenv
    - PRIMARYLANGID
    - SUBLANGID
    - GetThreadLocale
    - LANGIDFROMLCID
    - get_thread_ui_language
    linkageType: ''
    returnType: char
    signature: 'char *

      my_nl_locale_name (const char *categoryname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1046
    functionName: do_swap_u32
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: GPG_ERR_INLINE do_swap_u32 (uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1049
    functionName: SWAPIT
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAPIT(flag, data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - str_param
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1076
    functionName: hash_string
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE unsigned long
    signature: GPG_ERR_INLINE unsigned long hash_string (const char *str_param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/libgpg-error/src/w32-gettext.c:1178,1
    - Dst: GetModuleHandle
      Src: /src/libgpg-error/src/w32-gettext.c:1180,1
    - Dst: GetProcAddress
      Src: /src/libgpg-error/src/w32-gettext.c:1182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1186
    functionName: module_init
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 1
    functionsReached:
    - InitializeCriticalSection
    - GetModuleHandle
    - GetProcAddress
    linkageType: ''
    returnType: void
    signature: void module_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: module_init
      Src: /src/libgpg-error/src/w32-gettext.c:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1193
    functionName: _gpg_w32__init_gettext_module
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached:
    - module_init
    linkageType: ''
    returnType: void
    signature: void _gpg_w32__init_gettext_module (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1203,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1204,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1208,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - domain
    argTypes:
    - struct loaded_domain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1211
    functionName: free_domain
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached:
    - jnlib_free
    linkageType: ''
    returnType: void
    signature: void free_domain (struct loaded_domain *domain)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fname_to_wchar
      Src: /src/libgpg-error/src/w32-gettext.c:1225,1
    - Dst: CreateFileW
      Src: /src/libgpg-error/src/w32-gettext.c:1230,1
    - Dst: xfree
      Src: /src/libgpg-error/src/w32-gettext.c:1232,1
    - Dst: GetFileSize
      Src: /src/libgpg-error/src/w32-gettext.c:1237,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-gettext.c:1240,1
    - Dst: jnlib_malloc
      Src: /src/libgpg-error/src/w32-gettext.c:1244,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-gettext.c:1247,1
    - Dst: ReadFile
      Src: /src/libgpg-error/src/w32-gettext.c:1258,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-gettext.c:1261,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1262,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/w32-gettext.c:1269,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1276,1
    - Dst: jnlib_calloc
      Src: /src/libgpg-error/src/w32-gettext.c:1280,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1283,1
    - Dst: SWAPIT
      Src: /src/libgpg-error/src/w32-gettext.c:1291,1
    - Dst: SWAPIT
      Src: /src/libgpg-error/src/w32-gettext.c:1303,1
    - Dst: SWAPIT
      Src: /src/libgpg-error/src/w32-gettext.c:1308,1
    - Dst: SWAPIT
      Src: /src/libgpg-error/src/w32-gettext.c:1310,1
    - Dst: SWAPIT
      Src: /src/libgpg-error/src/w32-gettext.c:1311,1
    - Dst: SWAPIT
      Src: /src/libgpg-error/src/w32-gettext.c:1313,1
    - Dst: jnlib_calloc
      Src: /src/libgpg-error/src/w32-gettext.c:1322,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1327,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1328,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 68
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1214
    functionDepth: 1
    functionLinenumber: 1214
    functionLinenumberEnd: 1330
    functionName: load_domain
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached:
    - _gpgrt_fname_to_wchar
    - ReadFile
    - jnlib_calloc
    - GetFileSize
    - SWAPIT
    - xfree
    - jnlib_free
    - jnlib_malloc
    - CloseHandle
    - CreateFileW
    linkageType: ''
    returnType: struct loaded_domain
    signature: 'struct loaded_domain *

      load_domain (const char *filename)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MultiByteToWideChar
      Src: /src/libgpg-error/src/w32-gettext.c:1352,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-gettext.c:1359,1
    - Dst: jnlib_malloc
      Src: /src/libgpg-error/src/w32-gettext.c:1362,1
    - Dst: MultiByteToWideChar
      Src: /src/libgpg-error/src/w32-gettext.c:1366,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1369,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - string
    - length
    - retlen
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1339
    functionDepth: 1
    functionLinenumber: 1339
    functionLinenumberEnd: 1375
    functionName: utf8_to_wchar
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 19
    functionsReached:
    - jnlib_free
    - jnlib_malloc
    - MultiByteToWideChar
    - _gpg_err_set_errno
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      utf8_to_wchar (const char *string, size_t length, size_t *retlen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utf8_to_wchar
      Src: /src/libgpg-error/src/w32-gettext.c:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1384
    functionName: _gpgrt_utf8_to_wchar
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 1
    functionsReached:
    - utf8_to_wchar
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      _gpgrt_utf8_to_wchar (const char *string)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wstring
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1390
    functionDepth: 1
    functionLinenumber: 1390
    functionLinenumberEnd: 1395
    functionName: _gpgrt_free_wchar
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 2
    functionsReached:
    - jnlib_free
    linkageType: ''
    returnType: void
    signature: void _gpgrt_free_wchar (wchar_t *wstring)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WideCharToMultiByte
      Src: /src/libgpg-error/src/w32-gettext.c:1406,1
    - Dst: _gpgrt_w32_set_errno
      Src: /src/libgpg-error/src/w32-gettext.c:1409,1
    - Dst: jnlib_malloc
      Src: /src/libgpg-error/src/w32-gettext.c:1413,1
    - Dst: WideCharToMultiByte
      Src: /src/libgpg-error/src/w32-gettext.c:1417,1
    - Dst: _gpgrt_w32_set_errno
      Src: /src/libgpg-error/src/w32-gettext.c:1420,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1421,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - string
    - length
    - retlen
    - cpno
    argTypes:
    - wchar_t*
    - size_t
    - size_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1428
    functionName: wchar_to_cp
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 2
    functionsReached:
    - jnlib_free
    - jnlib_malloc
    - _gpgrt_w32_set_errno
    - WideCharToMultiByte
    linkageType: ''
    returnType: char
    signature: "char *\nwchar_to_cp (const wchar_t *string, size_t length, size_t
      *retlen,\n             unsigned int cpno)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetConsoleOutputCP
      Src: /src/libgpg-error/src/w32-gettext.c:1439,1
    - Dst: GetACP
      Src: /src/libgpg-error/src/w32-gettext.c:1445,1
    - Dst: wchar_to_cp
      Src: /src/libgpg-error/src/w32-gettext.c:1447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - string
    - length
    - retlen
    argTypes:
    - wchar_t*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1448
    functionName: wchar_to_native
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached:
    - GetACP
    - wchar_to_cp
    - GetConsoleOutputCP
    linkageType: ''
    returnType: char
    signature: 'char *

      wchar_to_native (const wchar_t *string, size_t length, size_t *retlen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wchar_to_cp
      Src: /src/libgpg-error/src/w32-gettext.c:1456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - length
    argTypes:
    - wchar_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1457
    functionName: _gpgrt_wchar_to_utf8
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 1
    functionsReached:
    - wchar_to_cp
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_wchar_to_utf8 (const wchar_t *string, size_t length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utf8_to_wchar
      Src: /src/libgpg-error/src/w32-gettext.c:1468,1
    - Dst: wchar_to_native
      Src: /src/libgpg-error/src/w32-gettext.c:1471,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - string
    - length
    - retlen
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1478
    functionName: utf8_to_native
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 28
    functionsReached:
    - jnlib_free
    - wchar_to_native
    - utf8_to_wchar
    linkageType: ''
    returnType: char
    signature: 'char *

      utf8_to_native (const char *string, size_t length, size_t *retlen)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/libgpg-error/src/w32-gettext.c:1497,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-gettext.c:1500,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-gettext.c:1506,1
    - Dst: my_nl_locale_name
      Src: /src/libgpg-error/src/w32-gettext.c:1514,1
    - Dst: jnlib_malloc
      Src: /src/libgpg-error/src/w32-gettext.c:1524,1
    - Dst: strlen
      Src: /src/libgpg-error/src/w32-gettext.c:1524,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/w32-gettext.c:1527,1
    - Dst: strchr
      Src: /src/libgpg-error/src/w32-gettext.c:1528,1
    - Dst: strlen
      Src: /src/libgpg-error/src/w32-gettext.c:1539,1
    - Dst: strlen
      Src: /src/libgpg-error/src/w32-gettext.c:1539,1
    - Dst: strlen
      Src: /src/libgpg-error/src/w32-gettext.c:1540,1
    - Dst: jnlib_malloc
      Src: /src/libgpg-error/src/w32-gettext.c:1543,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1546,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/w32-gettext.c:1551,1
    - Dst: strlen
      Src: /src/libgpg-error/src/w32-gettext.c:1552,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/w32-gettext.c:1554,1
    - Dst: strlen
      Src: /src/libgpg-error/src/w32-gettext.c:1555,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/w32-gettext.c:1556,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/w32-gettext.c:1558,1
    - Dst: strlen
      Src: /src/libgpg-error/src/w32-gettext.c:1559,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/w32-gettext.c:1560,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1563,1
    - Dst: jnlib_calloc
      Src: /src/libgpg-error/src/w32-gettext.c:1571,1
    - Dst: strlen
      Src: /src/libgpg-error/src/w32-gettext.c:1571,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1574,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/w32-gettext.c:1577,1
    - Dst: jnlib_malloc
      Src: /src/libgpg-error/src/w32-gettext.c:1578,1
    - Dst: strlen
      Src: /src/libgpg-error/src/w32-gettext.c:1578,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1581,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1582,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/w32-gettext.c:1585,1
    - Dst: EnterCriticalSection
      Src: /src/libgpg-error/src/w32-gettext.c:1588,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-gettext.c:1591,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-gettext.c:1611,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1613,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1614,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1615,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 83
    argCount: 2
    argNames:
    - domainname
    - dirname
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1619
    functionName: _gpg_w32_bindtextdomain
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached:
    - strlen
    - LeaveCriticalSection
    - EnterCriticalSection
    - strcmp
    - strchr
    - strcpy
    - jnlib_free
    - jnlib_malloc
    - jnlib_calloc
    - my_nl_locale_name
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpg_w32_bindtextdomain (const char *domainname, const char *dirname)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgpg-error/src/w32-gettext.c:1635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - data
    - datalen
    - nplural
    argTypes:
    - char*
    - size_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1642
    functionName: get_plural
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      get_plural (const char *data, size_t datalen, unsigned long nplural)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: get_tls
      Src: /src/libgpg-error/src/w32-gettext.c:1649,1
    - Dst: SWAPIT
      Src: /src/libgpg-error/src/w32-gettext.c:1660,1
    - Dst: SWAPIT
      Src: /src/libgpg-error/src/w32-gettext.c:1661,1
    - Dst: SWAPIT
      Src: /src/libgpg-error/src/w32-gettext.c:1671,1
    - Dst: SWAPIT
      Src: /src/libgpg-error/src/w32-gettext.c:1672,1
    - Dst: utf8_to_native
      Src: /src/libgpg-error/src/w32-gettext.c:1685,1
    - Dst: SWAPIT
      Src: /src/libgpg-error/src/w32-gettext.c:1697,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-gettext.c:1698,1
    - Dst: jnlib_malloc
      Src: /src/libgpg-error/src/w32-gettext.c:1712,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-gettext.c:1716,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1732,1
    - Dst: SWAPIT
      Src: /src/libgpg-error/src/w32-gettext.c:1754,1
    - Dst: get_plural
      Src: /src/libgpg-error/src/w32-gettext.c:1760,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 4
    argNames:
    - domain
    - idx
    - use_plural
    - nplural
    argTypes:
    - struct loaded_domain*
    - uint32_t
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1763
    functionName: get_string
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 11
    functionsReached:
    - get_plural
    - get_tls
    - jnlib_malloc
    - SWAPIT
    - jnlib_free
    - utf8_to_native
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *\nget_string (struct loaded_domain *domain, uint32_t idx,\n
      \           int use_plural, unsigned long nplural)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/libgpg-error/src/w32-gettext.c:1786,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-gettext.c:1789,1
    - Dst: jnlib_malloc
      Src: /src/libgpg-error/src/w32-gettext.c:1797,1
    - Dst: strlen
      Src: /src/libgpg-error/src/w32-gettext.c:1797,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/w32-gettext.c:1799,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-gettext.c:1802,1
    - Dst: load_domain
      Src: /src/libgpg-error/src/w32-gettext.c:1810,1
    - Dst: jnlib_free
      Src: /src/libgpg-error/src/w32-gettext.c:1811,1
    - Dst: EnterCriticalSection
      Src: /src/libgpg-error/src/w32-gettext.c:1813,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-gettext.c:1816,1
    - Dst: LeaveCriticalSection
      Src: /src/libgpg-error/src/w32-gettext.c:1826,1
    - Dst: free_domain
      Src: /src/libgpg-error/src/w32-gettext.c:1830,1
    - Dst: strlen
      Src: /src/libgpg-error/src/w32-gettext.c:1842,1
    - Dst: hash_string
      Src: /src/libgpg-error/src/w32-gettext.c:1843,1
    - Dst: SWAPIT
      Src: /src/libgpg-error/src/w32-gettext.c:1847,1
    - Dst: SWAPIT
      Src: /src/libgpg-error/src/w32-gettext.c:1851,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-gettext.c:1853,1
    - Dst: SWAPIT
      Src: /src/libgpg-error/src/w32-gettext.c:1854,1
    - Dst: get_string
      Src: /src/libgpg-error/src/w32-gettext.c:1857,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-gettext.c:1876,1
    - Dst: SWAPIT
      Src: /src/libgpg-error/src/w32-gettext.c:1877,1
    - Dst: get_string
      Src: /src/libgpg-error/src/w32-gettext.c:1885,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 72
    argCount: 4
    argNames:
    - domainname
    - msgid
    - msgid2
    - nplural
    argTypes:
    - char*
    - char*
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1766
    functionDepth: 2
    functionLinenumber: 1766
    functionLinenumberEnd: 1892
    functionName: do_gettext
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached:
    - load_domain
    - strlen
    - LeaveCriticalSection
    - EnterCriticalSection
    - get_string
    - strcmp
    - free_domain
    - SWAPIT
    - strcpy
    - jnlib_free
    - jnlib_malloc
    - hash_string
    linkageType: ''
    returnType: char
    signature: "char *\ndo_gettext (const char *domainname,\n            const char
      *msgid, const char *msgid2, unsigned long nplural)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/w32-gettext.c:1903,1
    - Dst: malloc
      Src: /src/libgpg-error/src/w32-gettext.c:1907,1
    - Dst: strlen
      Src: /src/libgpg-error/src/w32-gettext.c:1907,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/w32-gettext.c:1910,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - domainname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1895
    functionDepth: 1
    functionLinenumber: 1895
    functionLinenumberEnd: 1914
    functionName: _gpg_w32_textdomain
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached:
    - strcpy
    - _gpg_err_set_errno
    - malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpg_w32_textdomain (const char *domainname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_gettext
      Src: /src/libgpg-error/src/w32-gettext.c:1924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msgid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1921
    functionDepth: 3
    functionLinenumber: 1921
    functionLinenumberEnd: 1925
    functionName: _gpg_w32_gettext
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached:
    - do_gettext
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpg_w32_gettext (const char *msgid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_gettext
      Src: /src/libgpg-error/src/w32-gettext.c:1934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - domainname
    - msgid
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1931
    functionDepth: 3
    functionLinenumber: 1931
    functionLinenumberEnd: 1935
    functionName: _gpg_w32_dgettext
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached:
    - do_gettext
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpg_w32_dgettext (const char *domainname, const char *msgid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_gettext
      Src: /src/libgpg-error/src/w32-gettext.c:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - domainname
    - msgid1
    - msgid2
    - n
    argTypes:
    - char*
    - char*
    - char*
    - unsigned long int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1940
    functionDepth: 3
    functionLinenumber: 1940
    functionLinenumberEnd: 1946
    functionName: _gpg_w32_dngettext
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached:
    - do_gettext
    linkageType: ''
    returnType: char
    signature: "char *\n_gpg_w32_dngettext (const char *domainname, const char *msgid1,\n\t\t\tconst
      char *msgid2, unsigned long int n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: my_nl_locale_name
      Src: /src/libgpg-error/src/w32-gettext.c:1956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1951
    functionDepth: 1
    functionLinenumber: 1951
    functionLinenumberEnd: 1958
    functionName: _gpg_w32_gettext_localename
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached:
    - my_nl_locale_name
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpg_w32_gettext_localename (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_tls
      Src: /src/libgpg-error/src/w32-gettext.c:1969,1
    - Dst: _gpgrt_w32_utf8_for_new_threads
      Src: /src/libgpg-error/src/w32-gettext.c:1976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1966
    functionDepth: 1
    functionLinenumber: 1966
    functionLinenumberEnd: 1979
    functionName: _gpg_w32_gettext_use_utf8
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 0
    functionsReached:
    - get_tls
    - _gpgrt_w32_utf8_for_new_threads
    linkageType: ''
    returnType: int
    signature: int _gpg_w32_gettext_use_utf8 (int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/libgpg-error/src/w32-gettext.c:1990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - name
    - langid
    argTypes:
    - char*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1985
    functionDepth: 0
    functionLinenumber: 1985
    functionLinenumberEnd: 1997
    functionName: gpgrt_w32_override_locale
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 1
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: void
    signature: void gpgrt_w32_override_locale (const char *name, unsigned short langid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_err_w32_bindtextdomain
      Src: /src/libgpg-error/src/w32-gettext.c:2017,1
    - Dst: printf
      Src: /src/libgpg-error/src/w32-gettext.c:2019,1
    - Dst: _gpg_err_w32_gettext_localename
      Src: /src/libgpg-error/src/w32-gettext.c:2019,1
    - Dst: fputs
      Src: /src/libgpg-error/src/w32-gettext.c:2020,1
    - Dst: fputs
      Src: /src/libgpg-error/src/w32-gettext.c:2021,1
    - Dst: _gpg_err_w32_ngettext
      Src: /src/libgpg-error/src/w32-gettext.c:2021,1
    - Dst: fputs
      Src: /src/libgpg-error/src/w32-gettext.c:2022,1
    - Dst: fputs
      Src: /src/libgpg-error/src/w32-gettext.c:2023,1
    - Dst: _gpg_err_w32_ngettext
      Src: /src/libgpg-error/src/w32-gettext.c:2023,1
    - Dst: fputs
      Src: /src/libgpg-error/src/w32-gettext.c:2024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2027
    functionName: main
    functionSourceFile: /src/libgpg-error/src/w32-gettext.c
    functionUses: 15
    functionsReached:
    - printf
    - _gpg_err_w32_gettext_localename
    - _gpg_err_w32_bindtextdomain
    - fputs
    - _gpg_err_w32_ngettext
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - 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: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: my_printf_realloc
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_printf_realloc(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: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: my_printf_realloc
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_printf_realloc(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: _set_errno
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 230
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _set_errno(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - array
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: DIM
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 414
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIM(array)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libgpg-error/src/estream-printf.c:306,1
    - Dst: free
      Src: /src/libgpg-error/src/estream-printf.c:310,1
    - Dst: realloc
      Src: /src/libgpg-error/src/estream-printf.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 315
    functionName: fixed_realloc
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - malloc
    - realloc
    - free
    linkageType: ''
    returnType: void
    signature: 'void *

      fixed_realloc (void *a, size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgpg-error/src/estream-printf.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - argcount
    argTypes:
    - argspec_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 340
    functionName: dump_argspecs
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump_argspecs (argspec_t arg, size_t argcount)
  - BBCount: 48
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 126
    argCount: 1
    argNames:
    - arg
    argTypes:
    - argspec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 433
    functionName: compute_type
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void compute_type (argspec_t arg)
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libgpg-error/src/estream-printf.c:665,1
    - Dst: free
      Src: /src/libgpg-error/src/estream-printf.c:671,1
    - Dst: compute_type
      Src: /src/libgpg-error/src/estream-printf.c:686,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream-printf.c:696,1
    - Dst: free
      Src: /src/libgpg-error/src/estream-printf.c:699,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 271
    argCount: 4
    argNames:
    - format
    - argspecs_addr
    - max_argspecs
    - r_argspecs_count
    argTypes:
    - char*
    - argspec_t*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 702
    functionName: parse_format
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - compute_type
    - calloc
    - free
    linkageType: ''
    returnType: int
    signature: "int parse_format (const char *format,\n              argspec_t *argspecs_addr,
      size_t max_argspecs,\n              size_t *r_argspecs_count)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:720,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:722,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:724,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:726,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:728,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:729,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:730,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:732,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:735,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:738,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:741,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:744,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:747,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:750,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:754,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:757,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:760,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:764,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:768,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:772,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:775,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:779,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:782,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:787,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:791,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:794,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:798,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/estream-printf.c:801,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 92
    argCount: 3
    argNames:
    - valuetable
    - valuetable_len
    - vaargs
    argTypes:
    - valueitem_t
    - size_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 809
    functionName: read_values
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int read_values (valueitem_t valuetable, size_t valuetable_len, va_list
      vaargs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgpg-error/src/estream-printf.c:826,1
    - Dst: outfnc
      Src: /src/libgpg-error/src/estream-printf.c:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - outfnc
    - outfncarg
    - padchar
    - count
    - nbytes
    argTypes:
    - estream_printf_out_t
    - void*
    - int
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 835
    functionName: pad_out
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - memset
    - outfnc
    linkageType: ''
    returnType: int
    signature: "int pad_out (estream_printf_out_t outfnc, void *outfncarg,\n         int
      padchar, int count, size_t *nbytes)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgpg-error/src/estream-printf.c:924,1
    - Dst: nl_langinfo
      Src: /src/libgpg-error/src/estream-printf.c:933,1
    - Dst: pad_out
      Src: /src/libgpg-error/src/estream-printf.c:1002,1
    - Dst: outfnc
      Src: /src/libgpg-error/src/estream-printf.c:1010,1
    - Dst: outfnc
      Src: /src/libgpg-error/src/estream-printf.c:1020,1
    - Dst: outfnc
      Src: /src/libgpg-error/src/estream-printf.c:1027,1
    - Dst: pad_out
      Src: /src/libgpg-error/src/estream-printf.c:1036,1
    - Dst: outfnc
      Src: /src/libgpg-error/src/estream-printf.c:1041,1
    - Dst: pad_out
      Src: /src/libgpg-error/src/estream-printf.c:1049,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 150
    argCount: 5
    argNames:
    - outfnc
    - outfncarg
    - arg
    - value
    - nbytes
    argTypes:
    - estream_printf_out_t
    - void*
    - argspec_t
    - value_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 1056
    functionName: pr_integer
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - pad_out
    - nl_langinfo
    - DIM
    - outfnc
    linkageType: ''
    returnType: int
    signature: "int pr_integer (estream_printf_out_t outfnc, void *outfncarg,\n            argspec_t
      arg, value_t value, size_t *nbytes)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libgpg-error/src/estream-printf.c:1147,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream-printf.c:1153,1
    - Dst: sprintf
      Src: /src/libgpg-error/src/estream-printf.c:1159,1
    - Dst: strlen
      Src: /src/libgpg-error/src/estream-printf.c:1161,1
    - Dst: pad_out
      Src: /src/libgpg-error/src/estream-printf.c:1180,1
    - Dst: outfnc
      Src: /src/libgpg-error/src/estream-printf.c:1187,1
    - Dst: outfnc
      Src: /src/libgpg-error/src/estream-printf.c:1193,1
    - Dst: pad_out
      Src: /src/libgpg-error/src/estream-printf.c:1201,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 99
    argCount: 5
    argNames:
    - outfnc
    - outfncarg
    - arg
    - value
    - nbytes
    argTypes:
    - estream_printf_out_t
    - void*
    - argspec_t
    - value_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1207
    functionName: pr_float
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - strlen
    - snprintf
    - sprintf
    - pad_out
    - outfnc
    linkageType: ''
    returnType: int
    signature: "int pr_float (estream_printf_out_t outfnc, void *outfncarg,\n          argspec_t
      arg, value_t value, size_t *nbytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: outfnc
      Src: /src/libgpg-error/src/estream-printf.c:1221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - outfnc
    - outfncarg
    - arg
    - value
    - nbytes
    argTypes:
    - estream_printf_out_t
    - void*
    - argspec_t
    - value_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1227
    functionName: pr_char
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - outfnc
    linkageType: ''
    returnType: int
    signature: "int pr_char (estream_printf_out_t outfnc, void *outfncarg,\n            argspec_t
      arg, value_t value, size_t *nbytes)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: my_printf_realloc
      Src: /src/libgpg-error/src/estream-printf.c:1253,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/estream-printf.c:1256,1
    - Dst: sf
      Src: /src/libgpg-error/src/estream-printf.c:1262,1
    - Dst: strlen
      Src: /src/libgpg-error/src/estream-printf.c:1266,1
    - Dst: pad_out
      Src: /src/libgpg-error/src/estream-printf.c:1273,1
    - Dst: outfnc
      Src: /src/libgpg-error/src/estream-printf.c:1278,1
    - Dst: pad_out
      Src: /src/libgpg-error/src/estream-printf.c:1286,1
    - Dst: sf
      Src: /src/libgpg-error/src/estream-printf.c:1295,1
    - Dst: my_printf_realloc
      Src: /src/libgpg-error/src/estream-printf.c:1297,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 46
    argCount: 8
    argNames:
    - outfnc
    - outfncarg
    - arg
    - value
    - nbytes
    - sf
    - sfvalue
    - string_no
    argTypes:
    - estream_printf_out_t
    - void*
    - argspec_t
    - value_t
    - size_t*
    - gpgrt_string_filter_t
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1300
    functionName: pr_string
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 3
    functionsReached:
    - sf
    - strlen
    - pad_out
    - my_printf_realloc
    - outfnc
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int pr_string (estream_printf_out_t outfnc, void *outfncarg,\n           argspec_t
      arg, value_t value, size_t *nbytes,\n           gpgrt_string_filter_t sf, void
      *sfvalue, int string_no)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DIM
      Src: /src/libgpg-error/src/estream-printf.c:1328,1
    - Dst: outfnc
      Src: /src/libgpg-error/src/estream-printf.c:1340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - outfnc
    - outfncarg
    - arg
    - value
    - nbytes
    argTypes:
    - estream_printf_out_t
    - void*
    - argspec_t
    - value_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1346
    functionName: pr_pointer
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - DIM
    - outfnc
    linkageType: ''
    returnType: int
    signature: "int pr_pointer (estream_printf_out_t outfnc, void *outfncarg,\n            argspec_t
      arg, value_t value, size_t *nbytes)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 5
    argNames:
    - outfnc
    - outfncarg
    - arg
    - value
    - nbytes
    argTypes:
    - estream_printf_out_t
    - void*
    - argspec_t
    - value_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1393
    functionName: pr_bytes_so_far
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pr_bytes_so_far (estream_printf_out_t outfnc, void *outfncarg,\n
      \                argspec_t arg, value_t value, size_t *nbytes)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: outfnc
      Src: /src/libgpg-error/src/estream-printf.c:1431,1
    - Dst: outfnc
      Src: /src/libgpg-error/src/estream-printf.c:1441,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/estream-printf.c:1454,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/estream-printf.c:1460,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/estream-printf.c:1470,1
    - Dst: strerror
      Src: /src/libgpg-error/src/estream-printf.c:1477,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/estream-printf.c:1480,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/estream-printf.c:1486,1
    - Dst: pr_integer
      Src: /src/libgpg-error/src/estream-printf.c:1494,1
    - Dst: pr_float
      Src: /src/libgpg-error/src/estream-printf.c:1504,1
    - Dst: pr_char
      Src: /src/libgpg-error/src/estream-printf.c:1507,1
    - Dst: pr_string
      Src: /src/libgpg-error/src/estream-printf.c:1510,1
    - Dst: pr_string
      Src: /src/libgpg-error/src/estream-printf.c:1514,1
    - Dst: pr_pointer
      Src: /src/libgpg-error/src/estream-printf.c:1518,1
    - Dst: pr_bytes_so_far
      Src: /src/libgpg-error/src/estream-printf.c:1521,1
    - Dst: outfnc
      Src: /src/libgpg-error/src/estream-printf.c:1531,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 92
    argCount: 10
    argNames:
    - outfnc
    - outfncarg
    - sf
    - sfvalue
    - format
    - argspecs
    - argspecs_len
    - valuetable
    - myerrno
    - nbytes
    argTypes:
    - estream_printf_out_t
    - void*
    - gpgrt_string_filter_t
    - void*
    - char*
    - argspec_t
    - size_t
    - valueitem_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1407
    functionDepth: 2
    functionLinenumber: 1407
    functionLinenumberEnd: 1536
    functionName: do_format
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - pr_pointer
    - pr_integer
    - pr_char
    - pr_float
    - outfnc
    - pr_bytes_so_far
    - pr_string
    - gpgrt_assert
    - strerror
    linkageType: ''
    returnType: int
    signature: "int do_format (estream_printf_out_t outfnc, void *outfncarg,\n           gpgrt_string_filter_t
      sf, void *sfvalue,\n           const char *format, argspec_t argspecs, size_t
      argspecs_len,\n           valueitem_t valuetable, int myerrno, size_t *nbytes)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: parse_format
      Src: /src/libgpg-error/src/estream-printf.c:1575,1
    - Dst: DIM
      Src: /src/libgpg-error/src/estream-printf.c:1575,1
    - Dst: strlen
      Src: /src/libgpg-error/src/estream-printf.c:1619,1
    - Dst: dump_argspecs
      Src: /src/libgpg-error/src/estream-printf.c:1623,1
    - Dst: DIM
      Src: /src/libgpg-error/src/estream-printf.c:1628,1
    - Dst: calloc
      Src: /src/libgpg-error/src/estream-printf.c:1630,1
    - Dst: DIM
      Src: /src/libgpg-error/src/estream-printf.c:1636,1
    - Dst: memset
      Src: /src/libgpg-error/src/estream-printf.c:1639,1
    - Dst: read_values
      Src: /src/libgpg-error/src/estream-printf.c:1670,1
    - Dst: do_format
      Src: /src/libgpg-error/src/estream-printf.c:1678,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream-printf.c:1684,1
    - Dst: free
      Src: /src/libgpg-error/src/estream-printf.c:1689,1
    - Dst: free
      Src: /src/libgpg-error/src/estream-printf.c:1691,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 87
    argCount: 6
    argNames:
    - outfnc
    - outfncarg
    - sf
    - sfvalue
    - format
    - vaargs
    argTypes:
    - estream_printf_out_t
    - void*
    - gpgrt_string_filter_t
    - void*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1546
    functionDepth: 3
    functionLinenumber: 1546
    functionLinenumberEnd: 1693
    functionName: _gpgrt_estream_format
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 1
    functionsReached:
    - _set_errno
    - strlen
    - calloc
    - DIM
    - read_values
    - dump_argspecs
    - memset
    - parse_format
    - do_format
    - free
    linkageType: ''
    returnType: int
    signature: "int _gpgrt_estream_format (estream_printf_out_t outfnc,\n                       void
      *outfncarg,\n                       gpgrt_string_filter_t sf, void *sfvalue,\n
      \                      const char *format, va_list vaargs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libgpg-error/src/estream-printf.c:1704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - outfncarg
    - buf
    - buflen
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1707
    functionName: plain_stdio_out
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: int
    signature: int plain_stdio_out (void *outfncarg, const char *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/estream-printf.c:1717,1
    - Dst: _gpgrt_estream_format
      Src: /src/libgpg-error/src/estream-printf.c:1718,1
    - Dst: va_end
      Src: /src/libgpg-error/src/estream-printf.c:1720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1711
    functionDepth: 4
    functionLinenumber: 1711
    functionLinenumberEnd: 1723
    functionName: _gpgrt_estream_printf
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - _gpgrt_estream_format
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: int _gpgrt_estream_printf (const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/estream-printf.c:1732,1
    - Dst: _gpgrt_estream_format
      Src: /src/libgpg-error/src/estream-printf.c:1733,1
    - Dst: va_end
      Src: /src/libgpg-error/src/estream-printf.c:1735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - format
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1726
    functionDepth: 4
    functionLinenumber: 1726
    functionLinenumberEnd: 1738
    functionName: _gpgrt_estream_fprintf
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - _gpgrt_estream_format
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: int _gpgrt_estream_fprintf (FILE *fp, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_estream_format
      Src: /src/libgpg-error/src/estream-printf.c:1744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fp
    - format
    - arg_ptr
    argTypes:
    - FILE*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1741
    functionDepth: 4
    functionLinenumber: 1741
    functionLinenumberEnd: 1746
    functionName: _gpgrt_estream_vfprintf
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - _gpgrt_estream_format
    linkageType: ''
    returnType: int
    signature: int _gpgrt_estream_vfprintf (FILE *fp, const char *format, va_list
      arg_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgpg-error/src/estream-printf.c:1774,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - outfncarg
    - buf
    - buflen
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1785
    functionName: fixed_buffer_out
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int fixed_buffer_out (void *outfncarg, const char *buf, size_t buflen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_estream_format
      Src: /src/libgpg-error/src/estream-printf.c:1800,1
    - Dst: fixed_buffer_out
      Src: /src/libgpg-error/src/estream-printf.c:1803,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - buf
    - bufsize
    - format
    - arg_ptr
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1789
    functionDepth: 4
    functionLinenumber: 1789
    functionLinenumberEnd: 1812
    functionName: _gpgrt_estream_vsnprintf
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - _gpgrt_estream_format
    - fixed_buffer_out
    linkageType: ''
    returnType: int
    signature: "int _gpgrt_estream_vsnprintf (char *buf, size_t bufsize,\n                   const
      char *format, va_list arg_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/estream-printf.c:1821,1
    - Dst: _gpgrt_estream_vsnprintf
      Src: /src/libgpg-error/src/estream-printf.c:1822,1
    - Dst: va_end
      Src: /src/libgpg-error/src/estream-printf.c:1823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - bufsize
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1815
    functionDepth: 5
    functionLinenumber: 1815
    functionLinenumberEnd: 1826
    functionName: _gpgrt_estream_snprintf
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - _gpgrt_estream_vsnprintf
    linkageType: ''
    returnType: int
    signature: int _gpgrt_estream_snprintf (char *buf, size_t bufsize, const char
      *format, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream-printf.c:1850,1
    - Dst: my_printf_realloc
      Src: /src/libgpg-error/src/estream-printf.c:1859,1
    - Dst: memset
      Src: /src/libgpg-error/src/estream-printf.c:1865,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/estream-printf.c:1870,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - outfncarg
    - buf
    - buflen
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1841
    functionDepth: 1
    functionLinenumber: 1841
    functionLinenumberEnd: 1874
    functionName: dynamic_buffer_out
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - memset
    - my_printf_realloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: int dynamic_buffer_out (void *outfncarg, const char *buf, size_t buflen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: my_printf_realloc
      Src: /src/libgpg-error/src/estream-printf.c:1889,1
    - Dst: _gpgrt_estream_format
      Src: /src/libgpg-error/src/estream-printf.c:1896,1
    - Dst: dynamic_buffer_out
      Src: /src/libgpg-error/src/estream-printf.c:1899,1
    - Dst: _set_errno
      Src: /src/libgpg-error/src/estream-printf.c:1904,1
    - Dst: memset
      Src: /src/libgpg-error/src/estream-printf.c:1908,1
    - Dst: my_printf_realloc
      Src: /src/libgpg-error/src/estream-printf.c:1910,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/estream-printf.c:1914,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - bufp
    - format
    - arg_ptr
    argTypes:
    - char**
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1880
    functionDepth: 4
    functionLinenumber: 1880
    functionLinenumberEnd: 1917
    functionName: _gpgrt_estream_vasprintf
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - _set_errno
    - _gpgrt_estream_format
    - memset
    - my_printf_realloc
    - gpgrt_assert
    - dynamic_buffer_out
    linkageType: ''
    returnType: int
    signature: int _gpgrt_estream_vasprintf (char **bufp, const char *format, va_list
      arg_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/estream-printf.c:1928,1
    - Dst: _gpgrt_estream_vasprintf
      Src: /src/libgpg-error/src/estream-printf.c:1929,1
    - Dst: va_end
      Src: /src/libgpg-error/src/estream-printf.c:1930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bufp
    - format
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1922
    functionDepth: 5
    functionLinenumber: 1922
    functionLinenumberEnd: 1933
    functionName: _gpgrt_estream_asprintf
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - _gpgrt_estream_vasprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: int _gpgrt_estream_asprintf (char **bufp, const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/estream-printf.c:1947,1
    - Dst: _gpgrt_estream_vasprintf
      Src: /src/libgpg-error/src/estream-printf.c:1948,1
    - Dst: va_end
      Src: /src/libgpg-error/src/estream-printf.c:1949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1940
    functionDepth: 5
    functionLinenumber: 1940
    functionLinenumberEnd: 1953
    functionName: _gpgrt_estream_bsprintf
    functionSourceFile: /src/libgpg-error/src/estream-printf.c
    functionUses: 0
    functionsReached:
    - _gpgrt_estream_vasprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_estream_bsprintf (const char *format, ...)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libgpg-error/src/mkheader.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: xfree
    functionSourceFile: /src/libgpg-error/src/mkheader.c
    functionUses: 1932
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void xfree (void *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libgpg-error/src/mkheader.c:60,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:63,1
    - Dst: exit
      Src: /src/libgpg-error/src/mkheader.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: xmalloc
    functionSourceFile: /src/libgpg-error/src/mkheader.c
    functionUses: 325
    functionsReached:
    - exit
    - malloc
    - fputs
    linkageType: ''
    returnType: char
    signature: 'char *

      xmalloc (size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgpg-error/src/mkheader.c:74,1
    - Dst: xmalloc
      Src: /src/libgpg-error/src/mkheader.c:76,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/mkheader.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: xstrdup
    functionSourceFile: /src/libgpg-error/src/mkheader.c
    functionUses: 214
    functionsReached:
    - xmalloc
    - memcpy
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      xstrdup (const char *string)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:135,1
    - Dst: xstrdup
      Src: /src/libgpg-error/src/mkheader.c:139,1
    - Dst: xmalloc
      Src: /src/libgpg-error/src/mkheader.c:153,1
    - Dst: strlen
      Src: /src/libgpg-error/src/mkheader.c:153,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/mkheader.c:160,1
    - Dst: canon_host_triplet
      Src: /src/libgpg-error/src/mkheader.c:167,1
    - Dst: xfree
      Src: /src/libgpg-error/src/mkheader.c:168,1
    - Dst: xstrdup
      Src: /src/libgpg-error/src/mkheader.c:172,1
    - Dst: strlen
      Src: /src/libgpg-error/src/mkheader.c:177,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 3
    argNames:
    - triplet
    - no_vendor_hack
    - r_os
    argTypes:
    - char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 187
    functionName: canon_host_triplet
    functionSourceFile: /src/libgpg-error/src/mkheader.c
    functionUses: 1
    functionsReached:
    - strlen
    - canon_host_triplet
    - strcmp
    - xmalloc
    - xfree
    - xstrdup
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      canon_host_triplet (const char *triplet, int no_vendor_hack, char **r_os)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libgpg-error/src/mkheader.c:200,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/mkheader.c:203,1
    - Dst: strerror
      Src: /src/libgpg-error/src/mkheader.c:204,1
    - Dst: fgets
      Src: /src/libgpg-error/src/mkheader.c:208,1
    - Dst: strlen
      Src: /src/libgpg-error/src/mkheader.c:210,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/mkheader.c:215,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/mkheader.c:222,1
    - Dst: strtok
      Src: /src/libgpg-error/src/mkheader.c:224,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:227,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:229,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:231,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:233,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:235,1
    - Dst: strtok
      Src: /src/libgpg-error/src/mkheader.c:237,1
    - Dst: xfree
      Src: /src/libgpg-error/src/mkheader.c:240,1
    - Dst: xstrdup
      Src: /src/libgpg-error/src/mkheader.c:241,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:243,1
    - Dst: ferror
      Src: /src/libgpg-error/src/mkheader.c:247,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/mkheader.c:249,1
    - Dst: strerror
      Src: /src/libgpg-error/src/mkheader.c:250,1
    - Dst: fclose
      Src: /src/libgpg-error/src/mkheader.c:251,1
    - Dst: fclose
      Src: /src/libgpg-error/src/mkheader.c:255,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 257
    functionName: parse_config_h
    functionSourceFile: /src/libgpg-error/src/mkheader.c
    functionUses: 0
    functionsReached:
    - strtok
    - strlen
    - fclose
    - fprintf
    - strcmp
    - xfree
    - fopen
    - xstrdup
    - fgets
    - strncmp
    - strerror
    - ferror
    linkageType: ''
    returnType: int
    signature: int parse_config_h (const char *fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:264,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/mkheader.c:266,1
    - Dst: strerror
      Src: /src/libgpg-error/src/mkheader.c:266,1
    - Dst: exit
      Src: /src/libgpg-error/src/mkheader.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: write_str
    functionSourceFile: /src/libgpg-error/src/mkheader.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - strerror
    - fputs
    linkageType: ''
    returnType: void
    signature: void write_str (char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/libgpg-error/src/mkheader.c:274,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/mkheader.c:276,1
    - Dst: strerror
      Src: /src/libgpg-error/src/mkheader.c:276,1
    - Dst: exit
      Src: /src/libgpg-error/src/mkheader.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 279
    functionName: write_line
    functionSourceFile: /src/libgpg-error/src/mkheader.c
    functionUses: 18
    functionsReached:
    - puts
    - exit
    - strerror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_line (char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgpg-error/src/mkheader.c:302,1
    - Dst: strtok
      Src: /src/libgpg-error/src/mkheader.c:307,1
    - Dst: strtok
      Src: /src/libgpg-error/src/mkheader.c:308,1
    - Dst: strchr
      Src: /src/libgpg-error/src/mkheader.c:310,1
    - Dst: write_str
      Src: /src/libgpg-error/src/mkheader.c:312,1
    - Dst: write_str
      Src: /src/libgpg-error/src/mkheader.c:313,1
    - Dst: write_str
      Src: /src/libgpg-error/src/mkheader.c:314,1
    - Dst: write_str
      Src: /src/libgpg-error/src/mkheader.c:315,1
    - Dst: write_str
      Src: /src/libgpg-error/src/mkheader.c:316,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 318
    functionName: write_sources_or_codes
    functionSourceFile: /src/libgpg-error/src/mkheader.c
    functionUses: 0
    functionsReached:
    - write_str
    - strchr
    - strtok
    linkageType: ''
    returnType: void
    signature: void write_sources_or_codes (char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgpg-error/src/mkheader.c:339,1
    - Dst: strchr
      Src: /src/libgpg-error/src/mkheader.c:341,1
    - Dst: strtok
      Src: /src/libgpg-error/src/mkheader.c:347,1
    - Dst: strtok
      Src: /src/libgpg-error/src/mkheader.c:348,1
    - Dst: strchr
      Src: /src/libgpg-error/src/mkheader.c:350,1
    - Dst: write_str
      Src: /src/libgpg-error/src/mkheader.c:352,1
    - Dst: write_str
      Src: /src/libgpg-error/src/mkheader.c:353,1
    - Dst: write_str
      Src: /src/libgpg-error/src/mkheader.c:354,1
    - Dst: write_str
      Src: /src/libgpg-error/src/mkheader.c:355,1
    - Dst: write_str
      Src: /src/libgpg-error/src/mkheader.c:356,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 358
    functionName: write_errnos_in
    functionSourceFile: /src/libgpg-error/src/mkheader.c
    functionUses: 0
    functionsReached:
    - write_str
    - strchr
    - strtok
    linkageType: ''
    returnType: void
    signature: void write_errnos_in (char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libgpg-error/src/mkheader.c:371,1
    - Dst: strlen
      Src: /src/libgpg-error/src/mkheader.c:371,1
    - Dst: strlen
      Src: /src/libgpg-error/src/mkheader.c:371,1
    - Dst: strlen
      Src: /src/libgpg-error/src/mkheader.c:372,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:375,1
    - Dst: exit
      Src: /src/libgpg-error/src/mkheader.c:376,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/mkheader.c:382,1
    - Dst: strlen
      Src: /src/libgpg-error/src/mkheader.c:383,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - name
    - repl
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 397
    functionName: mk_include_name
    functionSourceFile: /src/libgpg-error/src/mkheader.c
    functionUses: 0
    functionsReached:
    - strlen
    - exit
    - strcpy
    - malloc
    - fputs
    linkageType: ''
    returnType: char
    signature: 'char *

      mk_include_name (const char *name, const char *repl)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgpg-error/src/mkheader.c:415,1
    - Dst: mk_include_name
      Src: /src/libgpg-error/src/mkheader.c:416,1
    - Dst: fopen
      Src: /src/libgpg-error/src/mkheader.c:417,1
    - Dst: free
      Src: /src/libgpg-error/src/mkheader.c:421,1
    - Dst: mk_include_name
      Src: /src/libgpg-error/src/mkheader.c:422,1
    - Dst: fopen
      Src: /src/libgpg-error/src/mkheader.c:423,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/mkheader.c:427,1
    - Dst: strerror
      Src: /src/libgpg-error/src/mkheader.c:428,1
    - Dst: exit
      Src: /src/libgpg-error/src/mkheader.c:429,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/mkheader.c:433,1
    - Dst: fgets
      Src: /src/libgpg-error/src/mkheader.c:437,1
    - Dst: strlen
      Src: /src/libgpg-error/src/mkheader.c:439,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/mkheader.c:444,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/mkheader.c:447,1
    - Dst: exit
      Src: /src/libgpg-error/src/mkheader.c:449,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/mkheader.c:462,1
    - Dst: outf
      Src: /src/libgpg-error/src/mkheader.c:466,1
    - Dst: ferror
      Src: /src/libgpg-error/src/mkheader.c:468,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/mkheader.c:470,1
    - Dst: strerror
      Src: /src/libgpg-error/src/mkheader.c:471,1
    - Dst: exit
      Src: /src/libgpg-error/src/mkheader.c:472,1
    - Dst: fclose
      Src: /src/libgpg-error/src/mkheader.c:474,1
    - Dst: free
      Src: /src/libgpg-error/src/mkheader.c:475,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 3
    argNames:
    - fname
    - lnr
    - name
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 476
    functionName: include_file
    functionSourceFile: /src/libgpg-error/src/mkheader.c
    functionUses: 1
    functionsReached:
    - strlen
    - fclose
    - outf
    - exit
    - fprintf
    - strchr
    - mk_include_name
    - fopen
    - fgets
    - strncmp
    - strerror
    - ferror
    - free
    linkageType: ''
    returnType: void
    signature: void include_file (const char *fname, int lnr, const char *name, void
      (*outf)(char*))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgpg-error/src/mkheader.c:489,1
    - Dst: mk_include_name
      Src: /src/libgpg-error/src/mkheader.c:490,1
    - Dst: access
      Src: /src/libgpg-error/src/mkheader.c:491,1
    - Dst: free
      Src: /src/libgpg-error/src/mkheader.c:494,1
    - Dst: mk_include_name
      Src: /src/libgpg-error/src/mkheader.c:495,1
    - Dst: access
      Src: /src/libgpg-error/src/mkheader.c:496,1
    - Dst: include_file
      Src: /src/libgpg-error/src/mkheader.c:499,1
    - Dst: free
      Src: /src/libgpg-error/src/mkheader.c:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - fname
    - lnr
    - name
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 503
    functionName: try_include_file
    functionSourceFile: /src/libgpg-error/src/mkheader.c
    functionUses: 0
    functionsReached:
    - strchr
    - access
    - mk_include_name
    - include_file
    - free
    linkageType: ''
    returnType: int
    signature: "int try_include_file (const char *fname, int lnr, const char *name,\n
      \                 void (*outf)(char*))"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:509,1
    - Dst: putchar
      Src: /src/libgpg-error/src/mkheader.c:511,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:512,1
    - Dst: putchar
      Src: /src/libgpg-error/src/mkheader.c:513,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:515,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:517,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:519,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/mkheader.c:523,1
    - Dst: exit
      Src: /src/libgpg-error/src/mkheader.c:525,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:529,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:532,1
    - Dst: printf
      Src: /src/libgpg-error/src/mkheader.c:535,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:538,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:544,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:547,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:551,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:557,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:560,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:563,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:566,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:568,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:570,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:573,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:575,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:577,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:581,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:582,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:583,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:587,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:588,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:589,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:590,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:593,1
    - Dst: write_sources_or_codes
      Src: /src/libgpg-error/src/mkheader.c:595,1
    - Dst: include_file
      Src: /src/libgpg-error/src/mkheader.c:596,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:598,1
    - Dst: write_sources_or_codes
      Src: /src/libgpg-error/src/mkheader.c:600,1
    - Dst: include_file
      Src: /src/libgpg-error/src/mkheader.c:601,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:603,1
    - Dst: include_file
      Src: /src/libgpg-error/src/mkheader.c:605,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:607,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:609,1
    - Dst: include_file
      Src: /src/libgpg-error/src/mkheader.c:611,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:614,1
    - Dst: try_include_file
      Src: /src/libgpg-error/src/mkheader.c:619,1
    - Dst: include_file
      Src: /src/libgpg-error/src/mkheader.c:621,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 83
    argCount: 3
    argNames:
    - fname
    - lnr
    - tag
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 627
    functionName: write_special
    functionSourceFile: /src/libgpg-error/src/mkheader.c
    functionUses: 1
    functionsReached:
    - printf
    - write_sources_or_codes
    - exit
    - try_include_file
    - strcmp
    - fprintf
    - fputs
    - include_file
    - putchar
    linkageType: ''
    returnType: int
    signature: int write_special (const char *fname, int lnr, const char *tag)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:645,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:650,1
    - Dst: canon_host_triplet
      Src: /src/libgpg-error/src/mkheader.c:660,1
    - Dst: printf
      Src: /src/libgpg-error/src/mkheader.c:661,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:668,1
    - Dst: canon_host_triplet
      Src: /src/libgpg-error/src/mkheader.c:685,1
    - Dst: malloc
      Src: /src/libgpg-error/src/mkheader.c:687,1
    - Dst: strlen
      Src: /src/libgpg-error/src/mkheader.c:687,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:690,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/mkheader.c:693,1
    - Dst: strrchr
      Src: /src/libgpg-error/src/mkheader.c:694,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/mkheader.c:698,1
    - Dst: parse_config_h
      Src: /src/libgpg-error/src/mkheader.c:700,1
    - Dst: fopen
      Src: /src/libgpg-error/src/mkheader.c:703,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/mkheader.c:706,1
    - Dst: strerror
      Src: /src/libgpg-error/src/mkheader.c:707,1
    - Dst: fgets
      Src: /src/libgpg-error/src/mkheader.c:711,1
    - Dst: strlen
      Src: /src/libgpg-error/src/mkheader.c:713,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/mkheader.c:718,1
    - Dst: strchr
      Src: /src/libgpg-error/src/mkheader.c:725,1
    - Dst: strchr
      Src: /src/libgpg-error/src/mkheader.c:726,1
    - Dst: puts
      Src: /src/libgpg-error/src/mkheader.c:729,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:734,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:736,1
    - Dst: strrchr
      Src: /src/libgpg-error/src/mkheader.c:738,1
    - Dst: printf
      Src: /src/libgpg-error/src/mkheader.c:739,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/mkheader.c:741,1
    - Dst: printf
      Src: /src/libgpg-error/src/mkheader.c:742,1
    - Dst: printf
      Src: /src/libgpg-error/src/mkheader.c:744,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:746,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:747,1
    - Dst: write_special
      Src: /src/libgpg-error/src/mkheader.c:749,1
    - Dst: putchar
      Src: /src/libgpg-error/src/mkheader.c:751,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:752,1
    - Dst: putchar
      Src: /src/libgpg-error/src/mkheader.c:753,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:754,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:758,1
    - Dst: putchar
      Src: /src/libgpg-error/src/mkheader.c:760,1
    - Dst: ferror
      Src: /src/libgpg-error/src/mkheader.c:763,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/mkheader.c:765,1
    - Dst: strerror
      Src: /src/libgpg-error/src/mkheader.c:766,1
    - Dst: fputs
      Src: /src/libgpg-error/src/mkheader.c:770,1
    - Dst: ferror
      Src: /src/libgpg-error/src/mkheader.c:777,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/mkheader.c:779,1
    - Dst: strerror
      Src: /src/libgpg-error/src/mkheader.c:779,1
    - Dst: fclose
      Src: /src/libgpg-error/src/mkheader.c:784,1
    - Dst: xfree
      Src: /src/libgpg-error/src/mkheader.c:786,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 101
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 788
    functionName: main
    functionSourceFile: /src/libgpg-error/src/mkheader.c
    functionUses: 15
    functionsReached:
    - strlen
    - puts
    - fgets
    - printf
    - canon_host_triplet
    - strcmp
    - fprintf
    - strchr
    - xfree
    - malloc
    - fopen
    - putchar
    - fclose
    - strcpy
    - write_special
    - fputs
    - strrchr
    - parse_config_h
    - strerror
    - ferror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: _gpgrt_set_syscall_clamp
    functionSourceFile: /src/libgpg-error/src/syscall-clamp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gpgrt_set_syscall_clamp (void (*pre)(void), void (*post)(void))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: _gpgrt_get_syscall_clamp
    functionSourceFile: /src/libgpg-error/src/syscall-clamp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gpgrt_get_syscall_clamp (void (**r_pre)(void), void (**r_post)(void))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pre_syscall_func
      Src: /src/libgpg-error/src/syscall-clamp.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: _gpgrt_pre_syscall
    functionSourceFile: /src/libgpg-error/src/syscall-clamp.c
    functionUses: 22
    functionsReached:
    - pre_syscall_func
    linkageType: ''
    returnType: void
    signature: void _gpgrt_pre_syscall (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: post_syscall_func
      Src: /src/libgpg-error/src/syscall-clamp.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: _gpgrt_post_syscall
    functionSourceFile: /src/libgpg-error/src/syscall-clamp.c
    functionUses: 22
    functionsReached:
    - post_syscall_func
    linkageType: ''
    returnType: void
    signature: void _gpgrt_post_syscall (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_strerror
      Src: /src/libgpg-error/src/visibility.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: gpg_strerror
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1198
    functionsReached:
    - _gpg_strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      gpg_strerror (gpg_error_t err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_strerror_r
      Src: /src/libgpg-error/src/visibility.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - err
    - buf
    - buflen
    argTypes:
    - gpg_error_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: gpg_strerror_r
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpg_strerror_r
    linkageType: ''
    returnType: int
    signature: int gpg_strerror_r (gpg_error_t err, char *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_strsource
      Src: /src/libgpg-error/src/visibility.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: gpg_strsource
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 41
    functionsReached:
    - _gpg_strsource
    linkageType: ''
    returnType: char
    signature: 'char *

      gpg_strsource (gpg_error_t err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_err_code_from_errno
      Src: /src/libgpg-error/src/visibility.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: gpg_err_code_from_errno
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 45
    functionsReached:
    - _gpg_err_code_from_errno
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpg_err_code_from_errno (int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_err_code_to_errno
      Src: /src/libgpg-error/src/visibility.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - gpg_err_code_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: gpg_err_code_to_errno
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 7
    functionsReached:
    - _gpg_err_code_to_errno
    linkageType: ''
    returnType: int
    signature: int gpg_err_code_to_errno (gpg_err_code_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/visibility.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: gpg_err_code_from_syserror
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 128
    functionsReached:
    - _gpg_err_code_from_syserror
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpg_err_code_from_syserror (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/visibility.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: gpg_err_set_errno
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 171
    functionsReached:
    - _gpg_err_set_errno
    linkageType: ''
    returnType: void
    signature: void gpg_err_set_errno (int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_err_init
      Src: /src/libgpg-error/src/visibility.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: gpg_err_init
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpg_err_init
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t gpg_err_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_err_deinit
      Src: /src/libgpg-error/src/visibility.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: gpg_err_deinit
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpg_err_deinit
    linkageType: ''
    returnType: void
    signature: void gpg_err_deinit (int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_add_emergency_cleanup
      Src: /src/libgpg-error/src/visibility.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: gpgrt_add_emergency_cleanup
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_add_emergency_cleanup
    linkageType: ''
    returnType: void
    signature: void gpgrt_add_emergency_cleanup (void (*f)(void))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/visibility.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: gpgrt_abort
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 7
    functionsReached:
    - _gpgrt_abort
    linkageType: ''
    returnType: void
    signature: void gpgrt_abort (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_error_check_version
      Src: /src/libgpg-error/src/visibility.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req_version
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: gpg_error_check_version
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 10
    functionsReached:
    - _gpg_error_check_version
    linkageType: ''
    returnType: char
    signature: 'char *

      gpg_error_check_version (const char *req_version)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_error_check_version
      Src: /src/libgpg-error/src/visibility.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req_version
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: gpgrt_check_version
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 0
    functionsReached:
    - _gpg_error_check_version
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_check_version (const char *req_version)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_set_syscall_clamp
      Src: /src/libgpg-error/src/visibility.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: gpgrt_set_syscall_clamp
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 11
    functionsReached:
    - _gpgrt_set_syscall_clamp
    linkageType: ''
    returnType: void
    signature: void gpgrt_set_syscall_clamp (void (*pre)(void), void (*post)(void))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_get_syscall_clamp
      Src: /src/libgpg-error/src/visibility.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: gpgrt_get_syscall_clamp
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 6
    functionsReached:
    - _gpgrt_get_syscall_clamp
    linkageType: ''
    returnType: void
    signature: void gpgrt_get_syscall_clamp (void (**r_pre)(void), void (**r_post)(void))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_set_alloc_func
      Src: /src/libgpg-error/src/visibility.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (*f)(void *a, size_t n)
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: gpgrt_set_alloc_func
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_set_alloc_func
    linkageType: ''
    returnType: void
    signature: void gpgrt_set_alloc_func (void *(*f)(void *a, size_t n))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_lock_init
      Src: /src/libgpg-error/src/visibility.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lockhd
    argTypes:
    - gpgrt_lock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: gpgrt_lock_init
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 10
    functionsReached:
    - _gpgrt_lock_init
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_lock_init (gpgrt_lock_t *lockhd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_lock_lock
      Src: /src/libgpg-error/src/visibility.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lockhd
    argTypes:
    - gpgrt_lock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: gpgrt_lock_lock
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 16
    functionsReached:
    - _gpgrt_lock_lock
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_lock_lock (gpgrt_lock_t *lockhd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_lock_trylock
      Src: /src/libgpg-error/src/visibility.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lockhd
    argTypes:
    - gpgrt_lock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: gpgrt_lock_trylock
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_lock_trylock
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_lock_trylock (gpgrt_lock_t *lockhd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_lock_unlock
      Src: /src/libgpg-error/src/visibility.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lockhd
    argTypes:
    - gpgrt_lock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: gpgrt_lock_unlock
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 16
    functionsReached:
    - _gpgrt_lock_unlock
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_lock_unlock (gpgrt_lock_t *lockhd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_lock_destroy
      Src: /src/libgpg-error/src/visibility.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lockhd
    argTypes:
    - gpgrt_lock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: gpgrt_lock_destroy
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 7
    functionsReached:
    - _gpgrt_lock_destroy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_lock_destroy (gpgrt_lock_t *lockhd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_yield
      Src: /src/libgpg-error/src/visibility.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: gpgrt_yield
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 9
    functionsReached:
    - _gpgrt_yield
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_yield (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fopen
      Src: /src/libgpg-error/src/visibility.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 5
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: gpgrt_fopen
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 7
    functionsReached:
    - _gpgrt_fopen
    linkageType: ''
    returnType: estream_t
    signature: "estream_t gpgrt_fopen (const char *_GPGRT__RESTRICT path,\n             const
      char *_GPGRT__RESTRICT mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_mopen
      Src: /src/libgpg-error/src/visibility.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - _GPGRT__RESTRICT
    - data_n
    - data_len
    - grow
    - (*func_realloc) (void *mem, size_t size)
    - _GPGRT__RESTRICT
    argTypes:
    - void*
    - size_t
    - size_t
    - unsigned int
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 5
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: gpgrt_mopen
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_mopen
    linkageType: ''
    returnType: estream_t
    signature: "estream_t gpgrt_mopen (void *_GPGRT__RESTRICT data, size_t data_n,
      size_t data_len,\n             unsigned int grow,\n             void *(*func_realloc)
      (void *mem, size_t size),\n             void (*func_free) (void *mem),\n             const
      char *_GPGRT__RESTRICT mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fopenmem
      Src: /src/libgpg-error/src/visibility.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - memlimit
    - _GPGRT__RESTRICT
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 5
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: gpgrt_fopenmem
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 7
    functionsReached:
    - _gpgrt_fopenmem
    linkageType: ''
    returnType: estream_t
    signature: estream_t gpgrt_fopenmem (size_t memlimit, const char *_GPGRT__RESTRICT
      mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fopenmem_init
      Src: /src/libgpg-error/src/visibility.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - memlimit
    - _GPGRT__RESTRICT
    - data
    - datalen
    argTypes:
    - size_t
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 6
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: gpgrt_fopenmem_init
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_fopenmem_init
    linkageType: ''
    returnType: estream_t
    signature: "estream_t gpgrt_fopenmem_init (size_t memlimit, const char *_GPGRT__RESTRICT
      mode,\n                     const void *data, size_t datalen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fdopen
      Src: /src/libgpg-error/src/visibility.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filedes
    - mode
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: gpgrt_fdopen
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gpgrt_fdopen
    linkageType: ''
    returnType: estream_t
    signature: estream_t gpgrt_fdopen (int filedes, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fdopen_nc
      Src: /src/libgpg-error/src/visibility.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filedes
    - mode
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: gpgrt_fdopen_nc
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_fdopen_nc
    linkageType: ''
    returnType: estream_t
    signature: estream_t gpgrt_fdopen_nc (int filedes, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_sysopen
      Src: /src/libgpg-error/src/visibility.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - syshd
    - mode
    argTypes:
    - es_syshd_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 7
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: gpgrt_sysopen
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_sysopen
    linkageType: ''
    returnType: estream_t
    signature: estream_t gpgrt_sysopen (es_syshd_t *syshd, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_sysopen_nc
      Src: /src/libgpg-error/src/visibility.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - syshd
    - mode
    argTypes:
    - es_syshd_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 7
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: gpgrt_sysopen_nc
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_sysopen_nc
    linkageType: ''
    returnType: estream_t
    signature: estream_t gpgrt_sysopen_nc (es_syshd_t *syshd, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fpopen
      Src: /src/libgpg-error/src/visibility.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - mode
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 6
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: gpgrt_fpopen
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_fpopen
    linkageType: ''
    returnType: estream_t
    signature: estream_t gpgrt_fpopen (FILE *fp, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fpopen_nc
      Src: /src/libgpg-error/src/visibility.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - mode
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 6
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: gpgrt_fpopen_nc
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_fpopen_nc
    linkageType: ''
    returnType: estream_t
    signature: estream_t gpgrt_fpopen_nc (FILE *fp, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_freopen
      Src: /src/libgpg-error/src/visibility.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    argTypes:
    - char*
    - char*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: gpgrt_freopen
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_freopen
    linkageType: ''
    returnType: estream_t
    signature: "estream_t gpgrt_freopen (const char *_GPGRT__RESTRICT path,\n               const
      char *_GPGRT__RESTRICT mode,\n               estream_t _GPGRT__RESTRICT stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fopencookie
      Src: /src/libgpg-error/src/visibility.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - functions
    argTypes:
    - void*
    - char*
    - gpgrt_cookie_io_functions_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 5
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: gpgrt_fopencookie
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_fopencookie
    linkageType: ''
    returnType: estream_t
    signature: "estream_t gpgrt_fopencookie (void *_GPGRT__RESTRICT cookie,\n                   const
      char *_GPGRT__RESTRICT mode,\n                   gpgrt_cookie_io_functions_t
      functions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fclose
      Src: /src/libgpg-error/src/visibility.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: gpgrt_fclose
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 13
    functionsReached:
    - _gpgrt_fclose
    linkageType: ''
    returnType: int
    signature: int gpgrt_fclose (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fcancel
      Src: /src/libgpg-error/src/visibility.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: gpgrt_fcancel
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 5
    functionsReached:
    - _gpgrt_fcancel
    linkageType: ''
    returnType: int
    signature: int gpgrt_fcancel (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fclose_snatch
      Src: /src/libgpg-error/src/visibility.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - r_buffer
    - r_buflen
    argTypes:
    - estream_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: gpgrt_fclose_snatch
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_fclose_snatch
    linkageType: ''
    returnType: int
    signature: int gpgrt_fclose_snatch (estream_t stream, void **r_buffer, size_t
      *r_buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_onclose
      Src: /src/libgpg-error/src/visibility.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - mode
    - fnc_value
    argTypes:
    - estream_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: gpgrt_onclose
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_onclose
    linkageType: ''
    returnType: int
    signature: "int gpgrt_onclose (estream_t stream, int mode,\n               void
      (*fnc) (estream_t, void*), void *fnc_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fileno
      Src: /src/libgpg-error/src/visibility.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: gpgrt_fileno
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_fileno
    linkageType: ''
    returnType: int
    signature: int gpgrt_fileno (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fileno_unlocked
      Src: /src/libgpg-error/src/visibility.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: gpgrt_fileno_unlocked
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_fileno_unlocked
    linkageType: ''
    returnType: int
    signature: int gpgrt_fileno_unlocked (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_syshd
      Src: /src/libgpg-error/src/visibility.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - syshd
    argTypes:
    - estream_t
    - es_syshd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: gpgrt_syshd
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_syshd
    linkageType: ''
    returnType: int
    signature: int gpgrt_syshd (estream_t stream, es_syshd_t *syshd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_syshd_unlocked
      Src: /src/libgpg-error/src/visibility.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - syshd
    argTypes:
    - estream_t
    - es_syshd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: gpgrt_syshd_unlocked
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_syshd_unlocked
    linkageType: ''
    returnType: int
    signature: int gpgrt_syshd_unlocked (estream_t stream, es_syshd_t *syshd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt__set_std_fd
      Src: /src/libgpg-error/src/visibility.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - 'no'
    - fd
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: _gpgrt_set_std_fd
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 0
    functionsReached:
    - _gpgrt__set_std_fd
    linkageType: ''
    returnType: void
    signature: void _gpgrt_set_std_fd (int no, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt__get_std_stream
      Src: /src/libgpg-error/src/visibility.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 6
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: _gpgrt_get_std_stream
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt__get_std_stream
    linkageType: ''
    returnType: estream_t
    signature: estream_t _gpgrt_get_std_stream (int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_flockfile
      Src: /src/libgpg-error/src/visibility.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: gpgrt_flockfile
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_flockfile
    linkageType: ''
    returnType: void
    signature: void gpgrt_flockfile (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_ftrylockfile
      Src: /src/libgpg-error/src/visibility.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: gpgrt_ftrylockfile
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_ftrylockfile
    linkageType: ''
    returnType: int
    signature: int gpgrt_ftrylockfile (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_funlockfile
      Src: /src/libgpg-error/src/visibility.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: gpgrt_funlockfile
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_funlockfile
    linkageType: ''
    returnType: void
    signature: void gpgrt_funlockfile (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt__pending
      Src: /src/libgpg-error/src/visibility.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 4
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: _gpgrt_pending
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 0
    functionsReached:
    - _gpgrt__pending
    linkageType: ''
    returnType: int
    signature: int _gpgrt_pending (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt__pending_unlocked
      Src: /src/libgpg-error/src/visibility.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: _gpgrt_pending_unlocked
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 0
    functionsReached:
    - _gpgrt__pending_unlocked
    linkageType: ''
    returnType: int
    signature: int _gpgrt_pending_unlocked (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_feof
      Src: /src/libgpg-error/src/visibility.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: gpgrt_feof
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_feof
    linkageType: ''
    returnType: int
    signature: int gpgrt_feof (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_feof_unlocked
      Src: /src/libgpg-error/src/visibility.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: gpgrt_feof_unlocked
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_feof_unlocked
    linkageType: ''
    returnType: int
    signature: int gpgrt_feof_unlocked (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_ferror
      Src: /src/libgpg-error/src/visibility.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: gpgrt_ferror
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 9
    functionsReached:
    - _gpgrt_ferror
    linkageType: ''
    returnType: int
    signature: int gpgrt_ferror (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_ferror_unlocked
      Src: /src/libgpg-error/src/visibility.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: gpgrt_ferror_unlocked
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gpgrt_ferror_unlocked
    linkageType: ''
    returnType: int
    signature: int gpgrt_ferror_unlocked (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_clearerr
      Src: /src/libgpg-error/src/visibility.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: gpgrt_clearerr
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_clearerr
    linkageType: ''
    returnType: void
    signature: void gpgrt_clearerr (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_clearerr_unlocked
      Src: /src/libgpg-error/src/visibility.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: gpgrt_clearerr_unlocked
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_clearerr_unlocked
    linkageType: ''
    returnType: void
    signature: void gpgrt_clearerr_unlocked (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fflush
      Src: /src/libgpg-error/src/visibility.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 3
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: gpgrt_fflush
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_fflush
    linkageType: ''
    returnType: int
    signature: int gpgrt_fflush (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fseek
      Src: /src/libgpg-error/src/visibility.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - offset
    - whence
    argTypes:
    - estream_t
    - long int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: gpgrt_fseek
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_fseek
    linkageType: ''
    returnType: int
    signature: int gpgrt_fseek (estream_t stream, long int offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fseeko
      Src: /src/libgpg-error/src/visibility.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - offset
    - whence
    argTypes:
    - estream_t
    - gpgrt_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: gpgrt_fseeko
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_fseeko
    linkageType: ''
    returnType: int
    signature: int gpgrt_fseeko (estream_t stream, gpgrt_off_t offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_ftell
      Src: /src/libgpg-error/src/visibility.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 3
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: gpgrt_ftell
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_ftell
    linkageType: ''
    returnType: long int
    signature: long int gpgrt_ftell (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_ftello
      Src: /src/libgpg-error/src/visibility.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: gpgrt_ftello
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_ftello
    linkageType: ''
    returnType: gpgrt_off_t
    signature: gpgrt_off_t gpgrt_ftello (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_rewind
      Src: /src/libgpg-error/src/visibility.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: gpgrt_rewind
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 5
    functionsReached:
    - _gpgrt_rewind
    linkageType: ''
    returnType: void
    signature: void gpgrt_rewind (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_ftruncate
      Src: /src/libgpg-error/src/visibility.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - length
    argTypes:
    - estream_t
    - gpgrt_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 410
    functionDepth: 3
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionName: gpgrt_ftruncate
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_ftruncate
    linkageType: ''
    returnType: int
    signature: int gpgrt_ftruncate (estream_t stream, gpgrt_off_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fgetc
      Src: /src/libgpg-error/src/visibility.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 420
    functionName: gpgrt_fgetc
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_fgetc
    linkageType: ''
    returnType: int
    signature: int gpgrt_fgetc (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt__getc_underflow
      Src: /src/libgpg-error/src/visibility.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 5
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: _gpgrt_getc_underflow
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 0
    functionsReached:
    - _gpgrt__getc_underflow
    linkageType: ''
    returnType: int
    signature: int _gpgrt_getc_underflow (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fputc
      Src: /src/libgpg-error/src/visibility.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - stream
    argTypes:
    - int
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 3
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: gpgrt_fputc
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_fputc
    linkageType: ''
    returnType: int
    signature: int gpgrt_fputc (int c, estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt__putc_overflow
      Src: /src/libgpg-error/src/visibility.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - stream
    argTypes:
    - int
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 5
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: _gpgrt_putc_overflow
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 0
    functionsReached:
    - _gpgrt__putc_overflow
    linkageType: ''
    returnType: int
    signature: int _gpgrt_putc_overflow (int c, estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_ungetc
      Src: /src/libgpg-error/src/visibility.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - stream
    argTypes:
    - int
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 3
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: gpgrt_ungetc
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_ungetc
    linkageType: ''
    returnType: int
    signature: int gpgrt_ungetc (int c, estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_read
      Src: /src/libgpg-error/src/visibility.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - bytes_to_read
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 446
    functionDepth: 5
    functionLinenumber: 446
    functionLinenumberEnd: 452
    functionName: gpgrt_read
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_read
    linkageType: ''
    returnType: int
    signature: "int gpgrt_read (estream_t _GPGRT__RESTRICT stream,\n            void
      *_GPGRT__RESTRICT buffer, size_t bytes_to_read,\n            size_t *_GPGRT__RESTRICT
      bytes_read)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_write
      Src: /src/libgpg-error/src/visibility.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - bytes_to_write
    - _GPGRT__RESTRICT bytes_written
    argTypes:
    - estream_t
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 5
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: gpgrt_write
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_write
    linkageType: ''
    returnType: int
    signature: "int gpgrt_write (estream_t _GPGRT__RESTRICT stream,\n             const
      void *_GPGRT__RESTRICT buffer, size_t bytes_to_write,\n             size_t *_GPGRT__RESTRICT
      bytes_written)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_write_sanitized
      Src: /src/libgpg-error/src/visibility.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - length
    - delimiters
    - _GPGRT__RESTRICT bytes_written
    argTypes:
    - estream_t
    - void*
    - size_t
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 462
    functionDepth: 4
    functionLinenumber: 462
    functionLinenumberEnd: 470
    functionName: gpgrt_write_sanitized
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_write_sanitized
    linkageType: ''
    returnType: int
    signature: "int gpgrt_write_sanitized (estream_t _GPGRT__RESTRICT stream,\n                       const
      void * _GPGRT__RESTRICT buffer, size_t length,\n                       const
      char * delimiters,\n                       size_t * _GPGRT__RESTRICT bytes_written)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_write_hexstring
      Src: /src/libgpg-error/src/visibility.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - length
    - reserved
    - _GPGRT__RESTRICT bytes_written
    argTypes:
    - estream_t
    - void*
    - size_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 472
    functionDepth: 3
    functionLinenumber: 472
    functionLinenumberEnd: 479
    functionName: gpgrt_write_hexstring
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_write_hexstring
    linkageType: ''
    returnType: int
    signature: "int gpgrt_write_hexstring (estream_t _GPGRT__RESTRICT stream,\n                       const
      void *_GPGRT__RESTRICT buffer, size_t length,\n                       int reserved,
      size_t *_GPGRT__RESTRICT bytes_written )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fread
      Src: /src/libgpg-error/src/visibility.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - size
    - nitems
    - _GPGRT__RESTRICT
    argTypes:
    - void*
    - size_t
    - size_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 5
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: gpgrt_fread
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 5
    functionsReached:
    - _gpgrt_fread
    linkageType: ''
    returnType: size_t
    signature: "size_t gpgrt_fread (void *_GPGRT__RESTRICT ptr, size_t size, size_t
      nitems,\n             estream_t _GPGRT__RESTRICT stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fwrite
      Src: /src/libgpg-error/src/visibility.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - size
    - nitems
    - _GPGRT__RESTRICT
    argTypes:
    - void*
    - size_t
    - size_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 488
    functionDepth: 5
    functionLinenumber: 488
    functionLinenumberEnd: 493
    functionName: gpgrt_fwrite
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 6
    functionsReached:
    - _gpgrt_fwrite
    linkageType: ''
    returnType: size_t
    signature: "size_t gpgrt_fwrite (const void *_GPGRT__RESTRICT ptr, size_t size,
      size_t nitems,\n              estream_t _GPGRT__RESTRICT stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fgets
      Src: /src/libgpg-error/src/visibility.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _GPGRT__RESTRICT
    - length
    - _GPGRT__RESTRICT
    argTypes:
    - char*
    - int
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 495
    functionDepth: 3
    functionLinenumber: 495
    functionLinenumberEnd: 500
    functionName: gpgrt_fgets
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_fgets
    linkageType: ''
    returnType: char
    signature: "char *\ngpgrt_fgets (char *_GPGRT__RESTRICT buffer, int length,\n
      \            estream_t _GPGRT__RESTRICT stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fputs
      Src: /src/libgpg-error/src/visibility.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    argTypes:
    - char*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 502
    functionDepth: 5
    functionLinenumber: 502
    functionLinenumberEnd: 506
    functionName: gpgrt_fputs
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_fputs
    linkageType: ''
    returnType: int
    signature: int gpgrt_fputs (const char *_GPGRT__RESTRICT s, estream_t _GPGRT__RESTRICT
      stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fputs_unlocked
      Src: /src/libgpg-error/src/visibility.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    argTypes:
    - char*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 508
    functionDepth: 5
    functionLinenumber: 508
    functionLinenumberEnd: 513
    functionName: gpgrt_fputs_unlocked
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_fputs_unlocked
    linkageType: ''
    returnType: int
    signature: "int gpgrt_fputs_unlocked (const char *_GPGRT__RESTRICT s,\n                      estream_t
      _GPGRT__RESTRICT stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_getline
      Src: /src/libgpg-error/src/visibility.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _GPGRT__RESTRICT *_GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    argTypes:
    - char*
    - size_t*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 515
    functionDepth: 6
    functionLinenumber: 515
    functionLinenumberEnd: 520
    functionName: gpgrt_getline
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_getline
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: "gpgrt_ssize_t gpgrt_getline (char *_GPGRT__RESTRICT *_GPGRT__RESTRICT
      lineptr,\n               size_t *_GPGRT__RESTRICT n, estream_t _GPGRT__RESTRICT
      stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_read_line
      Src: /src/libgpg-error/src/visibility.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - stream
    - addr_of_buffer
    - length_of_buffer
    - max_length
    argTypes:
    - estream_t
    - char**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 522
    functionDepth: 3
    functionLinenumber: 522
    functionLinenumberEnd: 529
    functionName: gpgrt_read_line
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gpgrt_read_line
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: "gpgrt_ssize_t gpgrt_read_line (estream_t stream,\n                 char
      **addr_of_buffer, size_t *length_of_buffer,\n                 size_t *max_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_vfprintf
      Src: /src/libgpg-error/src/visibility.c:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - ap
    argTypes:
    - estream_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 537
    functionName: gpgrt_vfprintf
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_vfprintf
    linkageType: ''
    returnType: int
    signature: "int gpgrt_vfprintf (estream_t _GPGRT__RESTRICT stream,\n                const
      char *_GPGRT__RESTRICT format,\n                va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_vfprintf_unlocked
      Src: /src/libgpg-error/src/visibility.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - ap
    argTypes:
    - estream_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: gpgrt_vfprintf_unlocked
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_vfprintf_unlocked
    linkageType: ''
    returnType: int
    signature: "int gpgrt_vfprintf_unlocked (estream_t _GPGRT__RESTRICT stream,\n
      \                         const char *_GPGRT__RESTRICT format,\n                          va_list
      ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:553,1
    - Dst: _gpgrt_vfprintf
      Src: /src/libgpg-error/src/visibility.c:554,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - _GPGRT__RESTRICT
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 558
    functionName: gpgrt_printf
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gpgrt_vfprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: int gpgrt_printf (const char *_GPGRT__RESTRICT format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:566,1
    - Dst: _gpgrt_vfprintf_unlocked
      Src: /src/libgpg-error/src/visibility.c:567,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - _GPGRT__RESTRICT
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 571
    functionName: gpgrt_printf_unlocked
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gpgrt_vfprintf_unlocked
    - va_start
    linkageType: ''
    returnType: int
    signature: int gpgrt_printf_unlocked (const char *_GPGRT__RESTRICT format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:580,1
    - Dst: _gpgrt_vfprintf
      Src: /src/libgpg-error/src/visibility.c:581,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 585
    functionName: gpgrt_fprintf
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - va_end
    - _gpgrt_vfprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: "int gpgrt_fprintf (estream_t _GPGRT__RESTRICT stream,\n               const
      char *_GPGRT__RESTRICT format, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:594,1
    - Dst: _gpgrt_vfprintf_unlocked
      Src: /src/libgpg-error/src/visibility.c:595,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 587
    functionDepth: 3
    functionLinenumber: 587
    functionLinenumberEnd: 599
    functionName: gpgrt_fprintf_unlocked
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - va_end
    - _gpgrt_vfprintf_unlocked
    - va_start
    linkageType: ''
    returnType: int
    signature: "int gpgrt_fprintf_unlocked (estream_t _GPGRT__RESTRICT stream,\n                        const
      char *_GPGRT__RESTRICT format, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:609,1
    - Dst: _gpgrt_vfprintf
      Src: /src/libgpg-error/src/visibility.c:610,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - sf
    - sfvalue
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    - gpgrt_string_filter_t
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 601
    functionDepth: 3
    functionLinenumber: 601
    functionLinenumberEnd: 614
    functionName: gpgrt_fprintf_sf
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - va_end
    - _gpgrt_vfprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: "int gpgrt_fprintf_sf (estream_t _GPGRT__RESTRICT stream,\n                  gpgrt_string_filter_t
      sf, void *sfvalue,\n                  const char *_GPGRT__RESTRICT format, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:624,1
    - Dst: _gpgrt_vfprintf_unlocked
      Src: /src/libgpg-error/src/visibility.c:625,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - sf
    - sfvalue
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    - gpgrt_string_filter_t
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 616
    functionDepth: 3
    functionLinenumber: 616
    functionLinenumberEnd: 629
    functionName: gpgrt_fprintf_sf_unlocked
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gpgrt_vfprintf_unlocked
    - va_start
    linkageType: ''
    returnType: int
    signature: "int gpgrt_fprintf_sf_unlocked (estream_t _GPGRT__RESTRICT stream,\n
      \                          gpgrt_string_filter_t sf, void *sfvalue,\n                           const
      char *_GPGRT__RESTRICT format, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_setvbuf
      Src: /src/libgpg-error/src/visibility.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    - type
    - size
    argTypes:
    - estream_t
    - char*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 631
    functionDepth: 4
    functionLinenumber: 631
    functionLinenumberEnd: 636
    functionName: gpgrt_setvbuf
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_setvbuf
    linkageType: ''
    returnType: int
    signature: "int gpgrt_setvbuf (estream_t _GPGRT__RESTRICT stream,\n                char
      *_GPGRT__RESTRICT buf, int type, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_setvbuf
      Src: /src/libgpg-error/src/visibility.c:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _GPGRT__RESTRICT
    - _GPGRT__RESTRICT
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 638
    functionDepth: 4
    functionLinenumber: 638
    functionLinenumberEnd: 642
    functionName: gpgrt_setbuf
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 0
    functionsReached:
    - _gpgrt_setvbuf
    linkageType: ''
    returnType: void
    signature: void gpgrt_setbuf (estream_t _GPGRT__RESTRICT stream, char *_GPGRT__RESTRICT
      buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_set_binary
      Src: /src/libgpg-error/src/visibility.c:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 644
    functionDepth: 3
    functionLinenumber: 644
    functionLinenumberEnd: 648
    functionName: gpgrt_set_binary
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_set_binary
    linkageType: ''
    returnType: void
    signature: void gpgrt_set_binary (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_set_nonblock
      Src: /src/libgpg-error/src/visibility.c:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - onoff
    argTypes:
    - estream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 650
    functionDepth: 3
    functionLinenumber: 650
    functionLinenumberEnd: 654
    functionName: gpgrt_set_nonblock
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_set_nonblock
    linkageType: ''
    returnType: int
    signature: int gpgrt_set_nonblock (estream_t stream, int onoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_get_nonblock
      Src: /src/libgpg-error/src/visibility.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 656
    functionDepth: 3
    functionLinenumber: 656
    functionLinenumberEnd: 660
    functionName: gpgrt_get_nonblock
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_get_nonblock
    linkageType: ''
    returnType: int
    signature: int gpgrt_get_nonblock (estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_poll
      Src: /src/libgpg-error/src/visibility.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fds
    - nfds
    - timeout
    argTypes:
    - gpgrt_poll_t*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 662
    functionDepth: 5
    functionLinenumber: 662
    functionLinenumberEnd: 666
    functionName: gpgrt_poll
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_poll
    linkageType: ''
    returnType: int
    signature: int gpgrt_poll (gpgrt_poll_t *fds, unsigned int nfds, int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_tmpfile
      Src: /src/libgpg-error/src/visibility.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 5
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: gpgrt_tmpfile
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_tmpfile
    linkageType: ''
    returnType: estream_t
    signature: estream_t gpgrt_tmpfile (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_opaque_set
      Src: /src/libgpg-error/src/visibility.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - opaque
    argTypes:
    - estream_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 3
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: gpgrt_opaque_set
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_opaque_set
    linkageType: ''
    returnType: void
    signature: void gpgrt_opaque_set (estream_t stream, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_opaque_get
      Src: /src/libgpg-error/src/visibility.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 3
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: gpgrt_opaque_get
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_opaque_get
    linkageType: ''
    returnType: void
    signature: 'void *

      gpgrt_opaque_get (estream_t stream)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fname_set
      Src: /src/libgpg-error/src/visibility.c:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - fname
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 686
    functionDepth: 4
    functionLinenumber: 686
    functionLinenumberEnd: 690
    functionName: gpgrt_fname_set
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_fname_set
    linkageType: ''
    returnType: void
    signature: void gpgrt_fname_set (estream_t stream, const char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fname_get
      Src: /src/libgpg-error/src/visibility.c:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 692
    functionDepth: 3
    functionLinenumber: 692
    functionLinenumberEnd: 696
    functionName: gpgrt_fname_get
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_fname_get
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_fname_get (estream_t stream)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:704,1
    - Dst: _gpgrt_estream_vasprintf
      Src: /src/libgpg-error/src/visibility.c:705,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r_buf
    - _GPGRT__RESTRICT
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 698
    functionDepth: 5
    functionLinenumber: 698
    functionLinenumberEnd: 709
    functionName: gpgrt_asprintf
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 11
    functionsReached:
    - _gpgrt_estream_vasprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: int gpgrt_asprintf (char **r_buf, const char *_GPGRT__RESTRICT format,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_estream_vasprintf
      Src: /src/libgpg-error/src/visibility.c:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r_buf
    - _GPGRT__RESTRICT
    - ap
    argTypes:
    - char**
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 5
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: gpgrt_vasprintf
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 11
    functionsReached:
    - _gpgrt_estream_vasprintf
    linkageType: ''
    returnType: int
    signature: int gpgrt_vasprintf (char **r_buf, const char *_GPGRT__RESTRICT format,
      va_list ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:724,1
    - Dst: _gpgrt_estream_vasprintf
      Src: /src/libgpg-error/src/visibility.c:725,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - _GPGRT__RESTRICT
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 717
    functionDepth: 5
    functionLinenumber: 717
    functionLinenumberEnd: 730
    functionName: gpgrt_bsprintf
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_estream_vasprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_bsprintf (const char *_GPGRT__RESTRICT format, ...)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_estream_vasprintf
      Src: /src/libgpg-error/src/visibility.c:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - _GPGRT__RESTRICT
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 732
    functionDepth: 5
    functionLinenumber: 732
    functionLinenumberEnd: 742
    functionName: gpgrt_vbsprintf
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_estream_vasprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_vbsprintf (const char *_GPGRT__RESTRICT format, va_list ap)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:750,1
    - Dst: _gpgrt_estream_vsnprintf
      Src: /src/libgpg-error/src/visibility.c:751,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - bufsize
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 744
    functionDepth: 5
    functionLinenumber: 744
    functionLinenumberEnd: 755
    functionName: gpgrt_snprintf
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - va_end
    - va_start
    - _gpgrt_estream_vsnprintf
    linkageType: ''
    returnType: int
    signature: int gpgrt_snprintf (char *buf, size_t bufsize, const char *format,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_estream_vsnprintf
      Src: /src/libgpg-error/src/visibility.c:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - bufsize
    - format
    - arg_ptr
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 757
    functionDepth: 5
    functionLinenumber: 757
    functionLinenumberEnd: 762
    functionName: gpgrt_vsnprintf
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_estream_vsnprintf
    linkageType: ''
    returnType: int
    signature: "int gpgrt_vsnprintf (char *buf, size_t bufsize,\n                 const
      char *format, va_list arg_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_realloc
      Src: /src/libgpg-error/src/visibility.c:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 770
    functionName: gpgrt_realloc
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gpgrt_realloc (void *a, size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_reallocarray
      Src: /src/libgpg-error/src/visibility.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a
    - oldnmemb
    - nmemb
    - size
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: gpgrt_reallocarray
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gpgrt_reallocarray
    linkageType: ''
    returnType: void
    signature: 'void *

      gpgrt_reallocarray (void *a, size_t oldnmemb, size_t nmemb, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_malloc
      Src: /src/libgpg-error/src/visibility.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 782
    functionName: gpgrt_malloc
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 5
    functionsReached:
    - _gpgrt_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gpgrt_malloc (size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_calloc
      Src: /src/libgpg-error/src/visibility.c:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: gpgrt_calloc
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_calloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gpgrt_calloc (size_t n, size_t m)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_strdup
      Src: /src/libgpg-error/src/visibility.c:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 794
    functionName: gpgrt_strdup
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_strdup
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_strdup (const char *string)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_strdup
      Src: /src/libgpg-error/src/visibility.c:803,1
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:806,1
    - Dst: _gpgrt_strconcat_core
      Src: /src/libgpg-error/src/visibility.c:807,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s1
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 811
    functionName: gpgrt_strconcat
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_strconcat_core
    - _gpgrt_strdup
    - va_end
    - va_start
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_strconcat (const char *s1, ...)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/visibility.c:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 818
    functionName: gpgrt_free
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 19
    functionsReached:
    - _gpgrt_free
    linkageType: ''
    returnType: void
    signature: void gpgrt_free (void *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_wipememory
      Src: /src/libgpg-error/src/visibility.c:824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 825
    functionName: gpgrt_wipememory
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gpgrt_wipememory
    linkageType: ''
    returnType: void
    signature: void gpgrt_wipememory (void *ptr, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_getenv
      Src: /src/libgpg-error/src/visibility.c:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 831
    functionName: gpgrt_getenv
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_getenv
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_getenv (const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_setenv
      Src: /src/libgpg-error/src/visibility.c:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - value
    - overwrite
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 837
    functionName: gpgrt_setenv
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_setenv
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_setenv (const char *name, const char *value, int
      overwrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_mkdir
      Src: /src/libgpg-error/src/visibility.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - modestr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 843
    functionName: gpgrt_mkdir
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_mkdir
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_mkdir (const char *name, const char *modestr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_chdir
      Src: /src/libgpg-error/src/visibility.c:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 849
    functionName: gpgrt_chdir
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_chdir
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_chdir (const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_getcwd
      Src: /src/libgpg-error/src/visibility.c:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 855
    functionName: gpgrt_getcwd
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_getcwd
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_getcwd (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_access
      Src: /src/libgpg-error/src/visibility.c:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fname
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 861
    functionName: gpgrt_access
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_access
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_access (const char *fname, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_b64enc_start
      Src: /src/libgpg-error/src/visibility.c:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - title
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 869
    functionName: gpgrt_b64enc_start
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 12
    functionsReached:
    - _gpgrt_b64enc_start
    linkageType: ''
    returnType: gpgrt_b64state_t
    signature: gpgrt_b64state_t gpgrt_b64enc_start (estream_t stream, const char *title)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_b64enc_write
      Src: /src/libgpg-error/src/visibility.c:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - buffer
    - nbytes
    argTypes:
    - gpgrt_b64state_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 875
    functionName: gpgrt_b64enc_write
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 11
    functionsReached:
    - _gpgrt_b64enc_write
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_b64enc_write (gpgrt_b64state_t state, const void
      *buffer, size_t nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_b64enc_finish
      Src: /src/libgpg-error/src/visibility.c:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - gpgrt_b64state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 881
    functionName: gpgrt_b64enc_finish
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 12
    functionsReached:
    - _gpgrt_b64enc_finish
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_b64enc_finish (gpgrt_b64state_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_b64dec_start
      Src: /src/libgpg-error/src/visibility.c:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - title
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 887
    functionName: gpgrt_b64dec_start
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 9
    functionsReached:
    - _gpgrt_b64dec_start
    linkageType: ''
    returnType: gpgrt_b64state_t
    signature: gpgrt_b64state_t gpgrt_b64dec_start (const char *title)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_b64dec_proc
      Src: /src/libgpg-error/src/visibility.c:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - buffer
    - length
    - r_nbytes
    argTypes:
    - gpgrt_b64state_t
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 894
    functionName: gpgrt_b64dec_proc
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 8
    functionsReached:
    - _gpgrt_b64dec_proc
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t gpgrt_b64dec_proc (gpgrt_b64state_t state, void *buffer,\n
      \                  size_t length, size_t *r_nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_b64dec_finish
      Src: /src/libgpg-error/src/visibility.c:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - gpgrt_b64state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 900
    functionName: gpgrt_b64dec_finish
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 10
    functionsReached:
    - _gpgrt_b64dec_finish
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_b64dec_finish (gpgrt_b64state_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_get_errorcount
      Src: /src/libgpg-error/src/visibility.c:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - clear
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 908
    functionName: gpgrt_get_errorcount
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_get_errorcount
    linkageType: ''
    returnType: int
    signature: int gpgrt_get_errorcount (int clear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_inc_errorcount
      Src: /src/libgpg-error/src/visibility.c:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 914
    functionName: gpgrt_inc_errorcount
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_inc_errorcount
    linkageType: ''
    returnType: void
    signature: void gpgrt_inc_errorcount (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_log_set_sink
      Src: /src/libgpg-error/src/visibility.c:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - stream
    - fd
    argTypes:
    - char*
    - estream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 920
    functionName: gpgrt_log_set_sink
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_log_set_sink
    linkageType: ''
    returnType: void
    signature: void gpgrt_log_set_sink (const char *name, estream_t stream, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_log_set_socket_dir_cb
      Src: /src/libgpg-error/src/visibility.c:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (*fnc)(void)
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 926
    functionName: gpgrt_log_set_socket_dir_cb
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_log_set_socket_dir_cb
    linkageType: ''
    returnType: void
    signature: void gpgrt_log_set_socket_dir_cb (const char *(*fnc)(void))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_log_set_pid_suffix_cb
      Src: /src/libgpg-error/src/visibility.c:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 928
    functionDepth: 1
    functionLinenumber: 928
    functionLinenumberEnd: 932
    functionName: gpgrt_log_set_pid_suffix_cb
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_log_set_pid_suffix_cb
    linkageType: ''
    returnType: void
    signature: void gpgrt_log_set_pid_suffix_cb (int (*cb)(unsigned long *r_value))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_log_set_prefix
      Src: /src/libgpg-error/src/visibility.c:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - text
    - flags
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 938
    functionName: gpgrt_log_set_prefix
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 7
    functionsReached:
    - _gpgrt_log_set_prefix
    linkageType: ''
    returnType: void
    signature: void gpgrt_log_set_prefix (const char *text, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_log_get_prefix
      Src: /src/libgpg-error/src/visibility.c:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 944
    functionName: gpgrt_log_get_prefix
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_log_get_prefix
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_log_get_prefix (unsigned int *flags)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_log_test_fd
      Src: /src/libgpg-error/src/visibility.c:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 950
    functionName: gpgrt_log_test_fd
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_log_test_fd
    linkageType: ''
    returnType: int
    signature: int gpgrt_log_test_fd (int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_log_get_fd
      Src: /src/libgpg-error/src/visibility.c:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 956
    functionName: gpgrt_log_get_fd
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_log_get_fd
    linkageType: ''
    returnType: int
    signature: int gpgrt_log_get_fd (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_log_get_stream
      Src: /src/libgpg-error/src/visibility.c:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 962
    functionName: gpgrt_log_get_stream
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_log_get_stream
    linkageType: ''
    returnType: estream_t
    signature: estream_t gpgrt_log_get_stream (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_add_post_log_func
      Src: /src/libgpg-error/src/visibility.c:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 969
    functionName: gpgrt_add_post_log_func
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_add_post_log_func
    linkageType: ''
    returnType: void
    signature: void gpgrt_add_post_log_func (void (*f)(int))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:977,1
    - Dst: _gpgrt_logv
      Src: /src/libgpg-error/src/visibility.c:978,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 980
    functionName: gpgrt_log
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 5
    functionsReached:
    - _gpgrt_logv
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void gpgrt_log (int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_logv
      Src: /src/libgpg-error/src/visibility.c:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - level
    - fmt
    - arg_ptr
    argTypes:
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 986
    functionName: gpgrt_logv
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_logv
    linkageType: ''
    returnType: void
    signature: void gpgrt_logv (int level, const char *fmt, va_list arg_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_logv_prefix
      Src: /src/libgpg-error/src/visibility.c:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - level
    - prefix
    - fmt
    - arg_ptr
    argTypes:
    - int
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 993
    functionName: gpgrt_logv_prefix
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_logv_prefix
    linkageType: ''
    returnType: void
    signature: "void gpgrt_logv_prefix (int level, const char *prefix,\n                    const
      char *fmt, va_list arg_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_logv_prefix
      Src: /src/libgpg-error/src/visibility.c:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - domain
    - level
    - prefix
    - buffer
    - length
    - fmt
    - arg_ptr
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1004
    functionName: gpgrt_logv_domain
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_logv_prefix
    linkageType: ''
    returnType: void
    signature: "void gpgrt_logv_domain (const char *domain, int level, const char
      *prefix,\n                   const void *buffer, size_t length,\n                   const
      char *fmt, va_list arg_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_log_string
      Src: /src/libgpg-error/src/visibility.c:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - string
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1010
    functionName: gpgrt_log_string
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_log_string
    linkageType: ''
    returnType: void
    signature: void gpgrt_log_string (int level, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:1017,1
    - Dst: _gpgrt_logv
      Src: /src/libgpg-error/src/visibility.c:1018,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1020
    functionName: gpgrt_log_info
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 5
    functionsReached:
    - _gpgrt_logv
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void gpgrt_log_info (const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:1027,1
    - Dst: _gpgrt_logv
      Src: /src/libgpg-error/src/visibility.c:1028,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1030
    functionName: gpgrt_log_error
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 0
    functionsReached:
    - _gpgrt_logv
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void gpgrt_log_error (const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:1037,1
    - Dst: _gpgrt_logv
      Src: /src/libgpg-error/src/visibility.c:1038,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:1039,1
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/visibility.c:1040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1041
    functionName: gpgrt_log_fatal
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_logv
    - _gpgrt_abort
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void gpgrt_log_fatal (const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:1048,1
    - Dst: _gpgrt_logv
      Src: /src/libgpg-error/src/visibility.c:1049,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:1050,1
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/visibility.c:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1052
    functionName: gpgrt_log_bug
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 0
    functionsReached:
    - _gpgrt_logv
    - _gpgrt_abort
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void gpgrt_log_bug (const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:1059,1
    - Dst: _gpgrt_logv
      Src: /src/libgpg-error/src/visibility.c:1060,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1054
    functionDepth: 1
    functionLinenumber: 1054
    functionLinenumberEnd: 1062
    functionName: gpgrt_log_debug
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_logv
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void gpgrt_log_debug (const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:1069,1
    - Dst: _gpgrt_logv_internal
      Src: /src/libgpg-error/src/visibility.c:1070,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - string
    - fmt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1072
    functionName: gpgrt_log_debug_string
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - va_end
    - _gpgrt_logv_internal
    - va_start
    linkageType: ''
    returnType: void
    signature: void gpgrt_log_debug_string (const char *string, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:1079,1
    - Dst: _gpgrt_logv
      Src: /src/libgpg-error/src/visibility.c:1080,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1082
    functionName: gpgrt_log_printf
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_logv
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void gpgrt_log_printf (const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_log_flush
      Src: /src/libgpg-error/src/visibility.c:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1088
    functionName: gpgrt_log_flush
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_log_flush
    linkageType: ''
    returnType: void
    signature: void gpgrt_log_flush (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:1095,1
    - Dst: _gpgrt_logv_printhex
      Src: /src/libgpg-error/src/visibility.c:1096,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buffer
    - length
    - fmt
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1098
    functionName: gpgrt_log_printhex
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - va_end
    - _gpgrt_logv_printhex
    - va_start
    linkageType: ''
    returnType: void
    signature: void gpgrt_log_printhex (const void *buffer, size_t length, const char
      *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:1105,1
    - Dst: _gpgrt_logv_clock
      Src: /src/libgpg-error/src/visibility.c:1106,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1108
    functionName: gpgrt_log_clock
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - _gpgrt_logv_clock
    linkageType: ''
    returnType: void
    signature: void gpgrt_log_clock (const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt__log_assert
      Src: /src/libgpg-error/src/visibility.c:1115,1
    - Dst: _gpgrt__log_assert
      Src: /src/libgpg-error/src/visibility.c:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - expr
    - file
    - line
    - func
    argTypes:
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1119
    functionName: _gpgrt_log_assert
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 0
    functionsReached:
    - _gpgrt__log_assert
    linkageType: ''
    returnType: void
    signature: "void _gpgrt_log_assert (const char *expr, const char *file,\n                   int
      line, const char *func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_make_pipe
      Src: /src/libgpg-error/src/visibility.c:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - filedes
    - r_fp
    - direction
    - nonblock
    argTypes:
    - int[]
    - estream_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1127
    functionName: gpgrt_make_pipe
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_make_pipe
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_make_pipe (int filedes[2], estream_t *r_fp, int
      direction, int nonblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_close_all_fds
      Src: /src/libgpg-error/src/visibility.c:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - from
    - keep_fds
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1129
    functionDepth: 2
    functionLinenumber: 1129
    functionLinenumberEnd: 1133
    functionName: gpgrt_close_all_fds
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_close_all_fds
    linkageType: ''
    returnType: void
    signature: void gpgrt_close_all_fds (int from, int *keep_fds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_spawn_actions_new
      Src: /src/libgpg-error/src/visibility.c:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r_act
    argTypes:
    - gpgrt_spawn_actions_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1140
    functionName: gpgrt_spawn_actions_new
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 10
    functionsReached:
    - _gpgrt_spawn_actions_new
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_spawn_actions_new (gpgrt_spawn_actions_t *r_act)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_spawn_actions_release
      Src: /src/libgpg-error/src/visibility.c:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - act
    argTypes:
    - gpgrt_spawn_actions_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1146
    functionName: gpgrt_spawn_actions_release
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 10
    functionsReached:
    - _gpgrt_spawn_actions_release
    linkageType: ''
    returnType: void
    signature: void gpgrt_spawn_actions_release (gpgrt_spawn_actions_t act)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_spawn_actions_set_env_rev
      Src: /src/libgpg-error/src/visibility.c:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - act
    - env
    argTypes:
    - gpgrt_spawn_actions_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1153
    functionName: gpgrt_spawn_actions_set_env_rev
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_spawn_actions_set_env_rev
    linkageType: ''
    returnType: void
    signature: "void gpgrt_spawn_actions_set_env_rev (gpgrt_spawn_actions_t act,\n
      \                                const char *const *env)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_spawn_actions_set_envvars
      Src: /src/libgpg-error/src/visibility.c:1160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - act
    - envvars
    argTypes:
    - gpgrt_spawn_actions_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1156
    functionDepth: 1
    functionLinenumber: 1156
    functionLinenumberEnd: 1161
    functionName: gpgrt_spawn_actions_set_envvars
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_spawn_actions_set_envvars
    linkageType: ''
    returnType: void
    signature: "void gpgrt_spawn_actions_set_envvars (gpgrt_spawn_actions_t act,\n
      \                                char *envvars)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_spawn_actions_set_redirect
      Src: /src/libgpg-error/src/visibility.c:1167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - act
    - in
    - out
    - err
    argTypes:
    - gpgrt_spawn_actions_t
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1168
    functionName: gpgrt_spawn_actions_set_redirect
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_spawn_actions_set_redirect
    linkageType: ''
    returnType: void
    signature: "void gpgrt_spawn_actions_set_redirect (gpgrt_spawn_actions_t act,
      void *in,\n                                  void *out, void *err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_spawn_actions_set_inherit_handles
      Src: /src/libgpg-error/src/visibility.c:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - act
    - hds
    argTypes:
    - gpgrt_spawn_actions_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1174
    functionName: gpgrt_spawn_actions_set_inherit_handles
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 6
    functionsReached:
    - _gpgrt_spawn_actions_set_inherit_handles
    linkageType: ''
    returnType: void
    signature: void gpgrt_spawn_actions_set_inherit_handles (gpgrt_spawn_actions_t
      act, void **hds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_spawn_actions_set_environ
      Src: /src/libgpg-error/src/visibility.c:1179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - act
    - env
    argTypes:
    - gpgrt_spawn_actions_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1180
    functionName: gpgrt_spawn_actions_set_environ
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_spawn_actions_set_environ
    linkageType: ''
    returnType: void
    signature: void gpgrt_spawn_actions_set_environ (gpgrt_spawn_actions_t act, char
      **env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_spawn_actions_set_redirect
      Src: /src/libgpg-error/src/visibility.c:1185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - act
    - in
    - out
    - err
    argTypes:
    - gpgrt_spawn_actions_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1186
    functionName: gpgrt_spawn_actions_set_redirect
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_spawn_actions_set_redirect
    linkageType: ''
    returnType: void
    signature: void gpgrt_spawn_actions_set_redirect (gpgrt_spawn_actions_t act, int
      in, int out, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_spawn_actions_set_inherit_fds
      Src: /src/libgpg-error/src/visibility.c:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - act
    - fds
    argTypes:
    - gpgrt_spawn_actions_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1192
    functionName: gpgrt_spawn_actions_set_inherit_fds
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 6
    functionsReached:
    - _gpgrt_spawn_actions_set_inherit_fds
    linkageType: ''
    returnType: void
    signature: void gpgrt_spawn_actions_set_inherit_fds (gpgrt_spawn_actions_t act,
      const int *fds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_spawn_actions_set_atfork
      Src: /src/libgpg-error/src/visibility.c:1197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - act
    - arg
    argTypes:
    - gpgrt_spawn_actions_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1198
    functionName: gpgrt_spawn_actions_set_atfork
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_spawn_actions_set_atfork
    linkageType: ''
    returnType: void
    signature: void gpgrt_spawn_actions_set_atfork (gpgrt_spawn_actions_t act, void
      (*atfork)(void *), void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_process_spawn
      Src: /src/libgpg-error/src/visibility.c:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pgmname
    - argv1
    - flags
    - act
    - r_process
    argTypes:
    - char*
    - char*[]
    - unsigned int
    - gpgrt_spawn_actions_t
    - gpgrt_process_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1208
    functionName: gpgrt_process_spawn
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 28
    functionsReached:
    - _gpgrt_process_spawn
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t gpgrt_process_spawn (const char *pgmname, const char
      *argv1[],\n                     unsigned int flags,\n                     gpgrt_spawn_actions_t
      act,\n                     gpgrt_process_t *r_process)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_process_terminate
      Src: /src/libgpg-error/src/visibility.c:1213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - process
    argTypes:
    - gpgrt_process_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1214
    functionName: gpgrt_process_terminate
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 8
    functionsReached:
    - _gpgrt_process_terminate
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_process_terminate (gpgrt_process_t process)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_process_get_fds
      Src: /src/libgpg-error/src/visibility.c:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - process
    - flags
    - r_fd_in
    - r_fd_out
    - r_fd_err
    argTypes:
    - gpgrt_process_t
    - unsigned int
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1223
    functionName: gpgrt_process_get_fds
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 5
    functionsReached:
    - _gpgrt_process_get_fds
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t gpgrt_process_get_fds (gpgrt_process_t process,\n                       unsigned
      int flags,\n                       int *r_fd_in, int *r_fd_out,\n                       int
      *r_fd_err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_process_get_streams
      Src: /src/libgpg-error/src/visibility.c:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - process
    - flags
    - r_fp_in
    - r_fp_out
    - r_fp_err
    argTypes:
    - gpgrt_process_t
    - unsigned int
    - gpgrt_stream_t*
    - gpgrt_stream_t*
    - gpgrt_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1234
    functionName: gpgrt_process_get_streams
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 13
    functionsReached:
    - _gpgrt_process_get_streams
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t gpgrt_process_get_streams (gpgrt_process_t process,\n
      \                          unsigned int flags,\n                           gpgrt_stream_t
      *r_fp_in,\n                           gpgrt_stream_t *r_fp_out,\n                           gpgrt_stream_t
      *r_fp_err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:1243,1
    - Dst: _gpgrt_process_vctl
      Src: /src/libgpg-error/src/visibility.c:1244,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:1245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - process
    - request
    argTypes:
    - gpgrt_process_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1247
    functionName: gpgrt_process_ctl
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 14
    functionsReached:
    - va_end
    - _gpgrt_process_vctl
    - va_start
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t gpgrt_process_ctl (gpgrt_process_t process,\n                   unsigned
      int request, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_process_wait
      Src: /src/libgpg-error/src/visibility.c:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - process
    - hang
    argTypes:
    - gpgrt_process_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1253
    functionName: gpgrt_process_wait
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 27
    functionsReached:
    - _gpgrt_process_wait
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_process_wait (gpgrt_process_t process, int hang)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_process_release
      Src: /src/libgpg-error/src/visibility.c:1258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - process
    argTypes:
    - gpgrt_process_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1259
    functionName: gpgrt_process_release
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 30
    functionsReached:
    - _gpgrt_process_release
    linkageType: ''
    returnType: void
    signature: void gpgrt_process_release (gpgrt_process_t process)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_argparse
      Src: /src/libgpg-error/src/visibility.c:1265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fp
    - arg
    - opts
    argTypes:
    - estream_t
    - gpgrt_argparse_t*
    - gpgrt_opt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1262
    functionDepth: 1
    functionLinenumber: 1262
    functionLinenumberEnd: 1266
    functionName: gpgrt_argparse
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 47
    functionsReached:
    - _gpgrt_argparse
    linkageType: ''
    returnType: int
    signature: int gpgrt_argparse (estream_t fp, gpgrt_argparse_t *arg, gpgrt_opt_t
      *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_argparser
      Src: /src/libgpg-error/src/visibility.c:1271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - opts
    - name
    argTypes:
    - gpgrt_argparse_t*
    - gpgrt_opt_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1272
    functionName: gpgrt_argparser
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 17
    functionsReached:
    - _gpgrt_argparser
    linkageType: ''
    returnType: int
    signature: int gpgrt_argparser (gpgrt_argparse_t *arg, gpgrt_opt_t *opts, const
      char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_usage
      Src: /src/libgpg-error/src/visibility.c:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1274
    functionDepth: 1
    functionLinenumber: 1274
    functionLinenumberEnd: 1278
    functionName: gpgrt_usage
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 13
    functionsReached:
    - _gpgrt_usage
    linkageType: ''
    returnType: void
    signature: void gpgrt_usage (int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/visibility.c:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1280
    functionDepth: 1
    functionLinenumber: 1280
    functionLinenumberEnd: 1284
    functionName: gpgrt_strusage
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 33
    functionsReached:
    - _gpgrt_strusage
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_strusage (int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_set_strusage
      Src: /src/libgpg-error/src/visibility.c:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (*f)(int)
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1290
    functionName: gpgrt_set_strusage
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 35
    functionsReached:
    - _gpgrt_set_strusage
    linkageType: ''
    returnType: void
    signature: void gpgrt_set_strusage (const char *(*f)(int))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_set_usage_outfnc
      Src: /src/libgpg-error/src/visibility.c:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1296
    functionName: gpgrt_set_usage_outfnc
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_set_usage_outfnc
    linkageType: ''
    returnType: void
    signature: void gpgrt_set_usage_outfnc (int (*f)(int, const char *))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_set_fixed_string_mapper
      Src: /src/libgpg-error/src/visibility.c:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (*f)(const char*)
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1298
    functionDepth: 1
    functionLinenumber: 1298
    functionLinenumberEnd: 1302
    functionName: gpgrt_set_fixed_string_mapper
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gpgrt_set_fixed_string_mapper
    linkageType: ''
    returnType: void
    signature: void gpgrt_set_fixed_string_mapper (const char *(*f)(const char*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_set_confdir
      Src: /src/libgpg-error/src/visibility.c:1307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - what
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1308
    functionName: gpgrt_set_confdir
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 16
    functionsReached:
    - _gpgrt_set_confdir
    linkageType: ''
    returnType: void
    signature: void gpgrt_set_confdir (int what, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_cmp_version
      Src: /src/libgpg-error/src/visibility.c:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - level
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1313
    functionDepth: 1
    functionLinenumber: 1313
    functionLinenumberEnd: 1317
    functionName: gpgrt_cmp_version
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_cmp_version
    linkageType: ''
    returnType: int
    signature: int gpgrt_cmp_version (const char *a, const char *b, int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:1328,1
    - Dst: _gpgrt_vfnameconcat
      Src: /src/libgpg-error/src/visibility.c:1329,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - first
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1322
    functionDepth: 1
    functionLinenumber: 1322
    functionLinenumberEnd: 1332
    functionName: gpgrt_fnameconcat
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 11
    functionsReached:
    - va_end
    - _gpgrt_vfnameconcat
    - va_start
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_fnameconcat (const char *first, ... )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:1340,1
    - Dst: _gpgrt_vfnameconcat
      Src: /src/libgpg-error/src/visibility.c:1341,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:1343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - first
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1345
    functionName: gpgrt_absfnameconcat
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - va_end
    - _gpgrt_vfnameconcat
    - va_start
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_absfnameconcat (const char *first, ... )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/visibility.c:1353,1
    - Dst: _gpgrt_vfnameconcat
      Src: /src/libgpg-error/src/visibility.c:1354,1
    - Dst: va_end
      Src: /src/libgpg-error/src/visibility.c:1355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - flags
    - first
    argTypes:
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1357
    functionName: gpgrt_fconcat
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - va_end
    - _gpgrt_vfnameconcat
    - va_start
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_fconcat (unsigned int flags, const char *first, ... )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_strlist_free
      Src: /src/libgpg-error/src/visibility.c:1364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sl
    argTypes:
    - gpgrt_strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1361
    functionDepth: 2
    functionLinenumber: 1361
    functionLinenumberEnd: 1365
    functionName: gpgrt_strlist_free
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 5
    functionsReached:
    - _gpgrt_strlist_free
    linkageType: ''
    returnType: void
    signature: void gpgrt_strlist_free (gpgrt_strlist_t sl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_strlist_add
      Src: /src/libgpg-error/src/visibility.c:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - list
    - string
    - flags
    argTypes:
    - gpgrt_strlist_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1367
    functionDepth: 2
    functionLinenumber: 1367
    functionLinenumberEnd: 1372
    functionName: gpgrt_strlist_add
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_strlist_add
    linkageType: ''
    returnType: gpgrt_strlist_t
    signature: "gpgrt_strlist_t gpgrt_strlist_add (gpgrt_strlist_t *list, const char
      *string,\n                   unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_strlist_tokenize
      Src: /src/libgpg-error/src/visibility.c:1378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - list
    - string
    - delim
    - flags
    argTypes:
    - gpgrt_strlist_t*
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1374
    functionDepth: 3
    functionLinenumber: 1374
    functionLinenumberEnd: 1379
    functionName: gpgrt_strlist_tokenize
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_strlist_tokenize
    linkageType: ''
    returnType: gpgrt_strlist_t
    signature: "gpgrt_strlist_t gpgrt_strlist_tokenize (gpgrt_strlist_t *list, const
      char *string,\n                        const char *delim, unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_strlist_copy
      Src: /src/libgpg-error/src/visibility.c:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - gpgrt_strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1381
    functionDepth: 3
    functionLinenumber: 1381
    functionLinenumberEnd: 1385
    functionName: gpgrt_strlist_copy
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_strlist_copy
    linkageType: ''
    returnType: gpgrt_strlist_t
    signature: gpgrt_strlist_t gpgrt_strlist_copy (gpgrt_strlist_t list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_strlist_rev
      Src: /src/libgpg-error/src/visibility.c:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - gpgrt_strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1391
    functionName: gpgrt_strlist_rev
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_strlist_rev
    linkageType: ''
    returnType: gpgrt_strlist_t
    signature: gpgrt_strlist_t gpgrt_strlist_rev (gpgrt_strlist_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_strlist_prev
      Src: /src/libgpg-error/src/visibility.c:1396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - head
    - node
    argTypes:
    - gpgrt_strlist_t
    - gpgrt_strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1393
    functionDepth: 1
    functionLinenumber: 1393
    functionLinenumberEnd: 1397
    functionName: gpgrt_strlist_prev
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_strlist_prev
    linkageType: ''
    returnType: gpgrt_strlist_t
    signature: gpgrt_strlist_t gpgrt_strlist_prev (gpgrt_strlist_t head, gpgrt_strlist_t
      node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_strlist_last
      Src: /src/libgpg-error/src/visibility.c:1402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - gpgrt_strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1403
    functionName: gpgrt_strlist_last
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_strlist_last
    linkageType: ''
    returnType: gpgrt_strlist_t
    signature: gpgrt_strlist_t gpgrt_strlist_last (gpgrt_strlist_t node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_strlist_pop
      Src: /src/libgpg-error/src/visibility.c:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - gpgrt_strlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1409
    functionName: gpgrt_strlist_pop
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_strlist_pop
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_strlist_pop (gpgrt_strlist_t *list)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_strlist_find
      Src: /src/libgpg-error/src/visibility.c:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - haystack
    - needle
    argTypes:
    - gpgrt_strlist_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1411
    functionDepth: 1
    functionLinenumber: 1411
    functionLinenumberEnd: 1415
    functionName: gpgrt_strlist_find
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_strlist_find
    linkageType: ''
    returnType: gpgrt_strlist_t
    signature: gpgrt_strlist_t gpgrt_strlist_find (gpgrt_strlist_t haystack, const
      char *needle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_nvc_new
      Src: /src/libgpg-error/src/visibility.c:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1419
    functionDepth: 1
    functionLinenumber: 1419
    functionLinenumberEnd: 1423
    functionName: gpgrt_nvc_new
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_nvc_new
    linkageType: ''
    returnType: gpgrt_nvc_t
    signature: gpgrt_nvc_t gpgrt_nvc_new (unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_nvc_release
      Src: /src/libgpg-error/src/visibility.c:1428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cont
    argTypes:
    - gpgrt_nvc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1425
    functionDepth: 1
    functionLinenumber: 1425
    functionLinenumberEnd: 1429
    functionName: gpgrt_nvc_release
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_nvc_release
    linkageType: ''
    returnType: void
    signature: void gpgrt_nvc_release (gpgrt_nvc_t cont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_nvc_get_flag
      Src: /src/libgpg-error/src/visibility.c:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cont
    - flags
    - clear
    argTypes:
    - gpgrt_nvc_t
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1431
    functionDepth: 1
    functionLinenumber: 1431
    functionLinenumberEnd: 1435
    functionName: gpgrt_nvc_get_flag
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_nvc_get_flag
    linkageType: ''
    returnType: int
    signature: int gpgrt_nvc_get_flag (gpgrt_nvc_t cont, unsigned int flags, int clear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_nvc_add
      Src: /src/libgpg-error/src/visibility.c:1440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cont
    - name
    - value
    argTypes:
    - gpgrt_nvc_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1437
    functionDepth: 1
    functionLinenumber: 1437
    functionLinenumberEnd: 1441
    functionName: gpgrt_nvc_add
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_nvc_add
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_nvc_add (gpgrt_nvc_t cont, const char *name, const
      char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_nvc_set
      Src: /src/libgpg-error/src/visibility.c:1446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cont
    - name
    - value
    argTypes:
    - gpgrt_nvc_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1443
    functionDepth: 1
    functionLinenumber: 1443
    functionLinenumberEnd: 1447
    functionName: gpgrt_nvc_set
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_nvc_set
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_nvc_set (gpgrt_nvc_t cont, const char *name, const
      char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_nve_set
      Src: /src/libgpg-error/src/visibility.c:1452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cont
    - e
    - value
    argTypes:
    - gpgrt_nvc_t
    - gpgrt_nve_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1453
    functionName: gpgrt_nve_set
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_nve_set
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_nve_set (gpgrt_nvc_t cont, gpgrt_nve_t e, const
      char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_nvc_delete
      Src: /src/libgpg-error/src/visibility.c:1458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cont
    - entry
    - name
    argTypes:
    - gpgrt_nvc_t
    - gpgrt_nve_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1459
    functionName: gpgrt_nvc_delete
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_nvc_delete
    linkageType: ''
    returnType: void
    signature: void gpgrt_nvc_delete (gpgrt_nvc_t cont, gpgrt_nve_t entry, const char
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_nvc_lookup
      Src: /src/libgpg-error/src/visibility.c:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cont
    - name
    argTypes:
    - gpgrt_nvc_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1465
    functionName: gpgrt_nvc_lookup
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 9
    functionsReached:
    - _gpgrt_nvc_lookup
    linkageType: ''
    returnType: gpgrt_nve_t
    signature: gpgrt_nve_t gpgrt_nvc_lookup (gpgrt_nvc_t cont, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_nvc_parse
      Src: /src/libgpg-error/src/visibility.c:1471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - result
    - errlinep
    - stream
    - flags
    argTypes:
    - gpgrt_nvc_t*
    - int*
    - estream_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1472
    functionName: gpgrt_nvc_parse
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 4
    functionsReached:
    - _gpgrt_nvc_parse
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t gpgrt_nvc_parse (gpgrt_nvc_t *result, int *errlinep,\n
      \                estream_t stream, unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_nvc_write
      Src: /src/libgpg-error/src/visibility.c:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cont
    - stream
    argTypes:
    - gpgrt_nvc_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1474
    functionDepth: 1
    functionLinenumber: 1474
    functionLinenumberEnd: 1478
    functionName: gpgrt_nvc_write
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_nvc_write
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t gpgrt_nvc_write (gpgrt_nvc_t cont, estream_t stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_nve_next
      Src: /src/libgpg-error/src/visibility.c:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - entry
    - name
    argTypes:
    - gpgrt_nve_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1480
    functionDepth: 1
    functionLinenumber: 1480
    functionLinenumberEnd: 1484
    functionName: gpgrt_nve_next
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 5
    functionsReached:
    - _gpgrt_nve_next
    linkageType: ''
    returnType: gpgrt_nve_t
    signature: gpgrt_nve_t gpgrt_nve_next (gpgrt_nve_t entry, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_nve_name
      Src: /src/libgpg-error/src/visibility.c:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - gpgrt_nve_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1486
    functionDepth: 1
    functionLinenumber: 1486
    functionLinenumberEnd: 1490
    functionName: gpgrt_nve_name
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_nve_name
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_nve_name (gpgrt_nve_t entry)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_nve_value
      Src: /src/libgpg-error/src/visibility.c:1495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - gpgrt_nve_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1492
    functionDepth: 1
    functionLinenumber: 1492
    functionLinenumberEnd: 1496
    functionName: gpgrt_nve_value
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 6
    functionsReached:
    - _gpgrt_nve_value
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_nve_value (gpgrt_nve_t entry)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_nvc_get_string
      Src: /src/libgpg-error/src/visibility.c:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nvc
    - name
    argTypes:
    - gpgrt_nvc_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1502
    functionName: gpgrt_nvc_get_string
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_nvc_get_string
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_nvc_get_string (gpgrt_nvc_t nvc, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_nvc_get_bool
      Src: /src/libgpg-error/src/visibility.c:1507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nvc
    - name
    argTypes:
    - gpgrt_nvc_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1504
    functionDepth: 1
    functionLinenumber: 1504
    functionLinenumberEnd: 1508
    functionName: gpgrt_nvc_get_bool
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 1
    functionsReached:
    - _gpgrt_nvc_get_bool
    linkageType: ''
    returnType: int
    signature: int gpgrt_nvc_get_bool (gpgrt_nvc_t nvc, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_free_wchar
      Src: /src/libgpg-error/src/visibility.c:1520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wstring
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1516
    functionDepth: 2
    functionLinenumber: 1516
    functionLinenumberEnd: 1521
    functionName: gpgrt_free_wchar
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_free_wchar
    linkageType: ''
    returnType: void
    signature: void gpgrt_free_wchar (wchar_t *wstring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fname_to_wchar
      Src: /src/libgpg-error/src/visibility.c:1526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1523
    functionDepth: 1
    functionLinenumber: 1523
    functionLinenumberEnd: 1527
    functionName: gpgrt_fname_to_wchar
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 7
    functionsReached:
    - _gpgrt_fname_to_wchar
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      gpgrt_fname_to_wchar (const char *fname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_utf8_to_wchar
      Src: /src/libgpg-error/src/visibility.c:1532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1529
    functionDepth: 1
    functionLinenumber: 1529
    functionLinenumberEnd: 1533
    functionName: gpgrt_utf8_to_wchar
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_utf8_to_wchar
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      gpgrt_utf8_to_wchar (const char *string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_wchar_to_utf8
      Src: /src/libgpg-error/src/visibility.c:1538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1535
    functionDepth: 1
    functionLinenumber: 1535
    functionLinenumberEnd: 1539
    functionName: gpgrt_wchar_to_utf8
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_wchar_to_utf8
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_wchar_to_utf8 (const wchar_t *string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_w32_reg_query_string
      Src: /src/libgpg-error/src/visibility.c:1544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - root
    - dir
    - name
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1545
    functionName: gpgrt_w32_reg_query_string
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 3
    functionsReached:
    - _gpgrt_w32_reg_query_string
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_w32_reg_query_string (const char *root, const char *dir, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_w32_reg_get_string
      Src: /src/libgpg-error/src/visibility.c:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1547
    functionDepth: 1
    functionLinenumber: 1547
    functionLinenumberEnd: 1551
    functionName: gpgrt_w32_reg_get_string
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 2
    functionsReached:
    - _gpgrt_w32_reg_get_string
    linkageType: ''
    returnType: char
    signature: 'char *

      gpgrt_w32_reg_get_string (const char *key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_w32_set_errno
      Src: /src/libgpg-error/src/visibility.c:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ec
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1553
    functionDepth: 1
    functionLinenumber: 1553
    functionLinenumberEnd: 1557
    functionName: gpgrt_w32_set_errno
    functionSourceFile: /src/libgpg-error/src/visibility.c
    functionUses: 5
    functionsReached:
    - _gpgrt_w32_set_errno
    linkageType: ''
    returnType: int
    signature: int gpgrt_w32_set_errno (int ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libgpg-error/src/gen-w32-lock-obj.c:42,1
    - Dst: printf
      Src: /src/libgpg-error/src/gen-w32-lock-obj.c:43,1
    - Dst: memset
      Src: /src/libgpg-error/src/gen-w32-lock-obj.c:45,1
    - Dst: printf
      Src: /src/libgpg-error/src/gen-w32-lock-obj.c:48,1
    - Dst: printf
      Src: /src/libgpg-error/src/gen-w32-lock-obj.c:51,1
    - Dst: printf
      Src: /src/libgpg-error/src/gen-w32-lock-obj.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/libgpg-error/src/gen-w32-lock-obj.c
    functionUses: 15
    functionsReached:
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: errno_to_idx
      Src: /src/libgpg-error/src/code-from-errno.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: _gpg_err_code_from_errno
    functionSourceFile: /src/libgpg-error/src/code-from-errno.c
    functionUses: 7
    functionsReached:
    - errno_to_idx
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpg_err_code_from_errno (int err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: errno_to_idx
      Src: /src/libgpg-error/src/code-from-errno.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: _gpg_err_code_from_syserror
    functionSourceFile: /src/libgpg-error/src/code-from-errno.c
    functionUses: 10
    functionsReached:
    - errno_to_idx
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpg_err_code_from_syserror (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: sock_close
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sock_close(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: sock_close
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sock_close(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - clear
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: _gpgrt_get_errorcount
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gpgrt_get_errorcount (int clear)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: _gpgrt_inc_errorcount
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gpgrt_inc_errorcount (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/libgpg-error/src/logging.c:174,1
    - Dst: write
      Src: /src/libgpg-error/src/logging.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - fd
    - buffer
    - nbytes
    - is_socket
    argTypes:
    - int
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 188
    functionName: writen
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 19
    functionsReached:
    - send
    - write
    linkageType: ''
    returnType: int
    signature: int writen (int fd, const void *buffer, size_t nbytes, int is_socket)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - str
    - r_port
    argTypes:
    - char*
    - unsigned short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 209
    functionName: parse_portno
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parse_portno (const char *str, unsigned short *r_port)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libgpg-error/src/logging.c:245,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/logging.c:252,1
    - Dst: memset
      Src: /src/libgpg-error/src/logging.c:260,1
    - Dst: socket_dir_cb
      Src: /src/libgpg-error/src/logging.c:264,1
    - Dst: strlen
      Src: /src/libgpg-error/src/logging.c:265,1
    - Dst: strncpy
      Src: /src/libgpg-error/src/logging.c:267,1
    - Dst: strcat
      Src: /src/libgpg-error/src/logging.c:269,1
    - Dst: SUN_LEN
      Src: /src/libgpg-error/src/logging.c:272,1
    - Dst: strlen
      Src: /src/libgpg-error/src/logging.c:278,1
    - Dst: strncpy
      Src: /src/libgpg-error/src/logging.c:280,1
    - Dst: SUN_LEN
      Src: /src/libgpg-error/src/logging.c:284,1
    - Dst: _gpgrt_malloc
      Src: /src/libgpg-error/src/logging.c:296,1
    - Dst: strlen
      Src: /src/libgpg-error/src/logging.c:296,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/logging.c:302,1
    - Dst: strchr
      Src: /src/libgpg-error/src/logging.c:303,1
    - Dst: parse_portno
      Src: /src/libgpg-error/src/logging.c:304,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/logging.c:306,1
    - Dst: memset
      Src: /src/libgpg-error/src/logging.c:315,1
    - Dst: htons
      Src: /src/libgpg-error/src/logging.c:317,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/logging.c:324,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/logging.c:332,1
    - Dst: strchr
      Src: /src/libgpg-error/src/logging.c:333,1
    - Dst: parse_portno
      Src: /src/libgpg-error/src/logging.c:334,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/logging.c:336,1
    - Dst: memset
      Src: /src/libgpg-error/src/logging.c:342,1
    - Dst: htons
      Src: /src/libgpg-error/src/logging.c:344,1
    - Dst: inet_pton
      Src: /src/libgpg-error/src/logging.c:356,1
    - Dst: inet_addr
      Src: /src/libgpg-error/src/logging.c:363,1
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/logging.c:369,1
    - Dst: socket
      Src: /src/libgpg-error/src/logging.c:372,1
    - Dst: isatty
      Src: /src/libgpg-error/src/logging.c:376,1
    - Dst: _gpgrt_fileno
      Src: /src/libgpg-error/src/logging.c:376,1
    - Dst: _gpgrt_fprintf
      Src: /src/libgpg-error/src/logging.c:377,1
    - Dst: strerror
      Src: /src/libgpg-error/src/logging.c:379,1
    - Dst: connect
      Src: /src/libgpg-error/src/logging.c:383,1
    - Dst: isatty
      Src: /src/libgpg-error/src/logging.c:386,1
    - Dst: _gpgrt_fileno
      Src: /src/libgpg-error/src/logging.c:386,1
    - Dst: _gpgrt_fprintf
      Src: /src/libgpg-error/src/logging.c:387,1
    - Dst: strerror
      Src: /src/libgpg-error/src/logging.c:388,1
    - Dst: sock_close
      Src: /src/libgpg-error/src/logging.c:389,1
    - Dst: writen
      Src: /src/libgpg-error/src/logging.c:420,1
    - Dst: isatty
      Src: /src/libgpg-error/src/logging.c:425,1
    - Dst: _gpgrt_fileno
      Src: /src/libgpg-error/src/logging.c:425,1
    - Dst: _gpgrt_fprintf
      Src: /src/libgpg-error/src/logging.c:428,1
    - Dst: strerror
      Src: /src/libgpg-error/src/logging.c:429,1
    - Dst: _gpgrt_fprintf
      Src: /src/libgpg-error/src/logging.c:431,1
    - Dst: strerror
      Src: /src/libgpg-error/src/logging.c:432,1
    - Dst: sock_close
      Src: /src/libgpg-error/src/logging.c:436,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 118
    argCount: 3
    argNames:
    - cookie_arg
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 442
    functionName: fun_writer
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 0
    functionsReached:
    - inet_pton
    - strlen
    - htons
    - _gpgrt_free
    - _gpgrt_fileno
    - connect
    - sock_close
    - strncpy
    - _gpg_err_set_errno
    - _gpgrt_fprintf
    - writen
    - strncmp
    - strcat
    - socket
    - strchr
    - memset
    - socket_dir_cb
    - isatty
    - parse_portno
    - SUN_LEN
    - strcpy
    - inet_addr
    - _gpgrt_malloc
    - strerror
    linkageType: ''
    returnType: gpgrt_ssize_t
    signature: gpgrt_ssize_t fun_writer (void *cookie_arg, const void *buffer, size_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sock_close
      Src: /src/libgpg-error/src/logging.c:451,1
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/logging.c:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cookie_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: fun_closer
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 0
    functionsReached:
    - _gpgrt_free
    - sock_close
    linkageType: ''
    returnType: int
    signature: int fun_closer (void *cookie_arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fclose
      Src: /src/libgpg-error/src/logging.c:471,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/logging.c:483,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/logging.c:488,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/logging.c:491,1
    - Dst: _gpgrt_fdopen
      Src: /src/libgpg-error/src/logging.c:498,1
    - Dst: _gpgrt_fopen
      Src: /src/libgpg-error/src/logging.c:500,1
    - Dst: _gpgrt_malloc
      Src: /src/libgpg-error/src/logging.c:505,1
    - Dst: strlen
      Src: /src/libgpg-error/src/logging.c:505,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/logging.c:508,1
    - Dst: _gpgrt_fopencookie
      Src: /src/libgpg-error/src/logging.c:518,1
    - Dst: _gpgrt_setvbuf
      Src: /src/libgpg-error/src/logging.c:526,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - name
    - fd
    - stream
    argTypes:
    - char*
    - int
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 460
    functionDepth: 5
    functionLinenumber: 460
    functionLinenumberEnd: 536
    functionName: set_file_fd
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 0
    functionsReached:
    - _gpgrt_fclose
    - strlen
    - strcmp
    - _gpgrt_setvbuf
    - strcpy
    - _gpgrt_fdopen
    - _gpgrt_fopencookie
    - _gpgrt_malloc
    - strncmp
    - _gpgrt_fopen
    linkageType: ''
    returnType: void
    signature: void set_file_fd (const char *name, int fd, estream_t stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: set_file_fd
      Src: /src/libgpg-error/src/logging.c:552,1
    - Dst: _gpgrt_fd_valid_p
      Src: /src/libgpg-error/src/logging.c:555,1
    - Dst: _gpgrt_log_fatal
      Src: /src/libgpg-error/src/logging.c:556,1
    - Dst: strerror
      Src: /src/libgpg-error/src/logging.c:557,1
    - Dst: set_file_fd
      Src: /src/libgpg-error/src/logging.c:558,1
    - Dst: set_file_fd
      Src: /src/libgpg-error/src/logging.c:562,1
    - Dst: set_file_fd
      Src: /src/libgpg-error/src/logging.c:565,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - name
    - stream
    - fd
    argTypes:
    - char*
    - estream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 548
    functionDepth: 6
    functionLinenumber: 548
    functionLinenumberEnd: 566
    functionName: _gpgrt_log_set_sink
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 1
    functionsReached:
    - strerror
    - _gpgrt_log_fatal
    - set_file_fd
    - _gpgrt_fd_valid_p
    linkageType: ''
    returnType: void
    signature: void _gpgrt_log_set_sink (const char *name, estream_t stream, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (*fnc)(void)
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 576
    functionName: _gpgrt_log_set_socket_dir_cb
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gpgrt_log_set_socket_dir_cb (const char *(*fnc)(void))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 584
    functionName: _gpgrt_log_set_pid_suffix_cb
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gpgrt_log_set_pid_suffix_cb (int (*cb)(unsigned long *r_value))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/libgpg-error/src/logging.c:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - text
    - flags
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 605
    functionName: _gpgrt_log_set_prefix
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 1
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: void
    signature: void _gpgrt_log_set_prefix (const char *text, unsigned int flags)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 628
    functionName: _gpgrt_log_get_prefix
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_log_get_prefix (unsigned int *flags)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fileno
      Src: /src/libgpg-error/src/logging.c:638,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 633
    functionDepth: 3
    functionLinenumber: 633
    functionLinenumberEnd: 645
    functionName: _gpgrt_log_test_fd
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 1
    functionsReached:
    - _gpgrt_fileno
    linkageType: ''
    returnType: int
    signature: int _gpgrt_log_test_fd (int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fileno
      Src: /src/libgpg-error/src/logging.c:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 647
    functionDepth: 3
    functionLinenumber: 647
    functionLinenumberEnd: 651
    functionName: _gpgrt_log_get_fd
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 1
    functionsReached:
    - _gpgrt_fileno
    linkageType: ''
    returnType: int
    signature: int _gpgrt_log_get_fd (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_log_set_sink
      Src: /src/libgpg-error/src/logging.c:659,1
    - Dst: fputs
      Src: /src/libgpg-error/src/logging.c:662,1
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/logging.c:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 653
    functionDepth: 7
    functionLinenumber: 653
    functionLinenumberEnd: 667
    functionName: _gpgrt_log_get_stream
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 1
    functionsReached:
    - _gpgrt_abort
    - _gpgrt_log_set_sink
    - fputs
    linkageType: ''
    returnType: estream_t
    signature: estream_t _gpgrt_log_get_stream (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libgpg-error/src/logging.c:684,1
    - Dst: _gpgrt_log_fatal
      Src: /src/libgpg-error/src/logging.c:692,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 693
    functionName: _gpgrt_add_post_log_func
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 1
    functionsReached:
    - _gpgrt_log_fatal
    - malloc
    linkageType: ''
    returnType: void
    signature: void _gpgrt_add_post_log_func (void (*f)(int))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/libgpg-error/src/logging.c:717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 719
    functionName: run_post_log_funcs
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: void
    signature: void run_post_log_funcs (int level)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/logging.c:739,1
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/logging.c:780,1
    - Dst: _gpgrt_malloc
      Src: /src/libgpg-error/src/logging.c:781,1
    - Dst: snprintf
      Src: /src/libgpg-error/src/logging.c:802,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 84
    argCount: 3
    argNames:
    - string
    - 'no'
    - opaque
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 811
    functionName: fmt_string_filter
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 0
    functionsReached:
    - _gpgrt_malloc
    - snprintf
    - _gpgrt_free
    linkageType: ''
    returnType: char
    signature: 'char *

      fmt_string_filter (const char *string, int no, void *opaque)'
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libgpg-error/src/logging.c:827,1
    - Dst: localtime
      Src: /src/libgpg-error/src/logging.c:829,1
    - Dst: _gpgrt_fprintf_unlocked
      Src: /src/libgpg-error/src/logging.c:830,1
    - Dst: _gpgrt_fputs_unlocked
      Src: /src/libgpg-error/src/logging.c:839,1
    - Dst: strlen
      Src: /src/libgpg-error/src/logging.c:840,1
    - Dst: get_pid_suffix_cb
      Src: /src/libgpg-error/src/logging.c:847,1
    - Dst: _gpgrt_fprintf_unlocked
      Src: /src/libgpg-error/src/logging.c:848,1
    - Dst: getpid
      Src: /src/libgpg-error/src/logging.c:850,1
    - Dst: _gpgrt_fprintf_unlocked
      Src: /src/libgpg-error/src/logging.c:852,1
    - Dst: getpid
      Src: /src/libgpg-error/src/logging.c:853,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/logging.c:859,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/logging.c:867,1
    - Dst: _gpgrt_fputs_unlocked
      Src: /src/libgpg-error/src/logging.c:880,1
    - Dst: _gpgrt_fputs_unlocked
      Src: /src/libgpg-error/src/logging.c:884,1
    - Dst: _gpgrt_fputs_unlocked
      Src: /src/libgpg-error/src/logging.c:888,1
    - Dst: _gpgrt_fprintf_unlocked
      Src: /src/libgpg-error/src/logging.c:892,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 58
    argCount: 2
    argNames:
    - level
    - leading_backspace
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 815
    functionDepth: 5
    functionLinenumber: 815
    functionLinenumberEnd: 900
    functionName: print_prefix
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 0
    functionsReached:
    - localtime
    - strlen
    - _gpgrt_fprintf_unlocked
    - _gpgrt_putc_unlocked
    - _gpgrt_fputs_unlocked
    - get_pid_suffix_cb
    - getpid
    - time
    linkageType: ''
    returnType: int
    signature: int print_prefix (int level, int leading_backspace)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_w32_reg_query_string
      Src: /src/libgpg-error/src/logging.c:921,1
    - Dst: _gpgrt_log_set_sink
      Src: /src/libgpg-error/src/logging.c:923,1
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/logging.c:924,1
    - Dst: _gpgrt_log_set_sink
      Src: /src/libgpg-error/src/logging.c:927,1
    - Dst: fputs
      Src: /src/libgpg-error/src/logging.c:931,1
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/logging.c:932,1
    - Dst: _gpgrt_flockfile
      Src: /src/libgpg-error/src/logging.c:936,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/logging.c:938,1
    - Dst: print_prefix
      Src: /src/libgpg-error/src/logging.c:941,1
    - Dst: _gpgrt_fputs_unlocked
      Src: /src/libgpg-error/src/logging.c:949,1
    - Dst: strlen
      Src: /src/libgpg-error/src/logging.c:950,1
    - Dst: strchr
      Src: /src/libgpg-error/src/logging.c:962,1
    - Dst: _gpgrt_fprintf_unlocked
      Src: /src/libgpg-error/src/logging.c:964,1
    - Dst: strlen
      Src: /src/libgpg-error/src/logging.c:967,1
    - Dst: _gpgrt_fputs_unlocked
      Src: /src/libgpg-error/src/logging.c:972,1
    - Dst: strlen
      Src: /src/libgpg-error/src/logging.c:973,1
    - Dst: _gpgrt_vfprintf_unlocked
      Src: /src/libgpg-error/src/logging.c:979,1
    - Dst: strlen
      Src: /src/libgpg-error/src/logging.c:985,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/logging.c:999,1
    - Dst: print_prefix
      Src: /src/libgpg-error/src/logging.c:1003,1
    - Dst: _gpgrt_fputs_unlocked
      Src: /src/libgpg-error/src/logging.c:1004,1
    - Dst: _gpgrt_fputs_unlocked
      Src: /src/libgpg-error/src/logging.c:1012,1
    - Dst: _gpgrt_fputs_unlocked
      Src: /src/libgpg-error/src/logging.c:1017,1
    - Dst: _gpgrt_fputs_unlocked
      Src: /src/libgpg-error/src/logging.c:1022,1
    - Dst: print_prefix
      Src: /src/libgpg-error/src/logging.c:1026,1
    - Dst: _gpgrt_fputs_unlocked
      Src: /src/libgpg-error/src/logging.c:1027,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/logging.c:1035,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/logging.c:1041,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/logging.c:1050,1
    - Dst: run_post_log_funcs
      Src: /src/libgpg-error/src/logging.c:1051,1
    - Dst: _gpgrt_funlockfile
      Src: /src/libgpg-error/src/logging.c:1052,1
    - Dst: exit
      Src: /src/libgpg-error/src/logging.c:1053,1
    - Dst: _gpgrt_putc_unlocked
      Src: /src/libgpg-error/src/logging.c:1058,1
    - Dst: run_post_log_funcs
      Src: /src/libgpg-error/src/logging.c:1059,1
    - Dst: _gpgrt_funlockfile
      Src: /src/libgpg-error/src/logging.c:1060,1
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/logging.c:1074,1
    - Dst: _gpgrt_funlockfile
      Src: /src/libgpg-error/src/logging.c:1077,1
    - Dst: _gpgrt_inc_errorcount
      Src: /src/libgpg-error/src/logging.c:1081,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 99
    argCount: 6
    argNames:
    - level
    - ignore_arg_ptr
    - extrastring
    - prefmt
    - fmt
    - arg_ptr
    argTypes:
    - int
    - int
    - char*
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 906
    functionDepth: 7
    functionLinenumber: 906
    functionLinenumberEnd: 1084
    functionName: _gpgrt_logv_internal
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 1
    functionsReached:
    - _gpgrt_flockfile
    - _gpgrt_abort
    - _gpgrt_vfprintf_unlocked
    - _gpgrt_w32_reg_query_string
    - strlen
    - _gpgrt_fprintf_unlocked
    - _gpgrt_funlockfile
    - _gpgrt_log_set_sink
    - exit
    - print_prefix
    - _gpgrt_putc_unlocked
    - strchr
    - _gpgrt_fputs_unlocked
    - run_post_log_funcs
    - fputs
    - _gpgrt_free
    - _gpgrt_inc_errorcount
    linkageType: ''
    returnType: int
    signature: "int _gpgrt_logv_internal (int level, int ignore_arg_ptr, const char
      *extrastring,\n                      const char *prefmt, const char *fmt, va_list
      arg_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/logging.c:1092,1
    - Dst: _gpgrt_logv_internal
      Src: /src/libgpg-error/src/logging.c:1093,1
    - Dst: va_end
      Src: /src/libgpg-error/src/logging.c:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1087
    functionDepth: 8
    functionLinenumber: 1087
    functionLinenumberEnd: 1095
    functionName: _gpgrt_log
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gpgrt_logv_internal
    - va_start
    linkageType: ''
    returnType: void
    signature: void _gpgrt_log (int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_logv_internal
      Src: /src/libgpg-error/src/logging.c:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - level
    - fmt
    - arg_ptr
    argTypes:
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1098
    functionDepth: 8
    functionLinenumber: 1098
    functionLinenumberEnd: 1102
    functionName: _gpgrt_logv
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 8
    functionsReached:
    - _gpgrt_logv_internal
    linkageType: ''
    returnType: void
    signature: void _gpgrt_logv (int level, const char *fmt, va_list arg_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_logv_internal
      Src: /src/libgpg-error/src/logging.c:1112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - level
    - prefix
    - fmt
    - arg_ptr
    argTypes:
    - int
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1108
    functionDepth: 8
    functionLinenumber: 1108
    functionLinenumberEnd: 1113
    functionName: _gpgrt_logv_prefix
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 2
    functionsReached:
    - _gpgrt_logv_internal
    linkageType: ''
    returnType: void
    signature: "void _gpgrt_logv_prefix (int level, const char *prefix,\n                    const
      char *fmt, va_list arg_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/logging.c:1120,1
    - Dst: _gpgrt_logv_internal
      Src: /src/libgpg-error/src/logging.c:1121,1
    - Dst: va_end
      Src: /src/libgpg-error/src/logging.c:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1116
    functionDepth: 8
    functionLinenumber: 1116
    functionLinenumberEnd: 1123
    functionName: do_log_ignore_arg
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gpgrt_logv_internal
    - va_start
    linkageType: ''
    returnType: void
    signature: void do_log_ignore_arg (int level, const char *str, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_log_ignore_arg
      Src: /src/libgpg-error/src/logging.c:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - string
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1128
    functionDepth: 9
    functionLinenumber: 1128
    functionLinenumberEnd: 1135
    functionName: _gpgrt_log_string
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 1
    functionsReached:
    - do_log_ignore_arg
    linkageType: ''
    returnType: void
    signature: void _gpgrt_log_string (int level, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/logging.c:1143,1
    - Dst: _gpgrt_logv_internal
      Src: /src/libgpg-error/src/logging.c:1144,1
    - Dst: va_end
      Src: /src/libgpg-error/src/logging.c:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1138
    functionDepth: 8
    functionLinenumber: 1138
    functionLinenumberEnd: 1146
    functionName: _gpgrt_log_info
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 4
    functionsReached:
    - va_end
    - _gpgrt_logv_internal
    - va_start
    linkageType: ''
    returnType: void
    signature: void _gpgrt_log_info (const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/logging.c:1154,1
    - Dst: _gpgrt_logv_internal
      Src: /src/libgpg-error/src/logging.c:1155,1
    - Dst: va_end
      Src: /src/libgpg-error/src/logging.c:1156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1149
    functionDepth: 8
    functionLinenumber: 1149
    functionLinenumberEnd: 1157
    functionName: _gpgrt_log_error
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gpgrt_logv_internal
    - va_start
    linkageType: ''
    returnType: void
    signature: void _gpgrt_log_error (const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/logging.c:1165,1
    - Dst: _gpgrt_logv_internal
      Src: /src/libgpg-error/src/logging.c:1166,1
    - Dst: va_end
      Src: /src/libgpg-error/src/logging.c:1167,1
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/logging.c:1168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1160
    functionDepth: 8
    functionLinenumber: 1160
    functionLinenumberEnd: 1169
    functionName: _gpgrt_log_fatal
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 5
    functionsReached:
    - _gpgrt_abort
    - va_end
    - _gpgrt_logv_internal
    - va_start
    linkageType: ''
    returnType: void
    signature: void _gpgrt_log_fatal (const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/logging.c:1177,1
    - Dst: _gpgrt_logv_internal
      Src: /src/libgpg-error/src/logging.c:1178,1
    - Dst: va_end
      Src: /src/libgpg-error/src/logging.c:1179,1
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/logging.c:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1172
    functionDepth: 8
    functionLinenumber: 1172
    functionLinenumberEnd: 1181
    functionName: _gpgrt_log_bug
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 0
    functionsReached:
    - _gpgrt_abort
    - va_end
    - _gpgrt_logv_internal
    - va_start
    linkageType: ''
    returnType: void
    signature: void _gpgrt_log_bug (const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/logging.c:1189,1
    - Dst: _gpgrt_logv_internal
      Src: /src/libgpg-error/src/logging.c:1190,1
    - Dst: va_end
      Src: /src/libgpg-error/src/logging.c:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1184
    functionDepth: 8
    functionLinenumber: 1184
    functionLinenumberEnd: 1192
    functionName: _gpgrt_log_debug
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gpgrt_logv_internal
    - va_start
    linkageType: ''
    returnType: void
    signature: void _gpgrt_log_debug (const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/logging.c:1203,1
    - Dst: _gpgrt_logv_internal
      Src: /src/libgpg-error/src/logging.c:1204,1
    - Dst: va_end
      Src: /src/libgpg-error/src/logging.c:1205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - string
    - fmt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1198
    functionDepth: 8
    functionLinenumber: 1198
    functionLinenumberEnd: 1206
    functionName: _gpgrt_log_debug_string
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gpgrt_logv_internal
    - va_start
    linkageType: ''
    returnType: void
    signature: void _gpgrt_log_debug_string (const char *string, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/logging.c:1214,1
    - Dst: _gpgrt_logv_internal
      Src: /src/libgpg-error/src/logging.c:1215,1
    - Dst: va_end
      Src: /src/libgpg-error/src/logging.c:1217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1209
    functionDepth: 8
    functionLinenumber: 1209
    functionLinenumberEnd: 1218
    functionName: _gpgrt_log_printf
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gpgrt_logv_internal
    - va_start
    linkageType: ''
    returnType: void
    signature: void _gpgrt_log_printf (const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_log_ignore_arg
      Src: /src/libgpg-error/src/logging.c:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1223
    functionDepth: 9
    functionLinenumber: 1223
    functionLinenumberEnd: 1227
    functionName: _gpgrt_log_flush
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 1
    functionsReached:
    - do_log_ignore_arg
    linkageType: ''
    returnType: void
    signature: void _gpgrt_log_flush (void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgpg-error/src/logging.c:1250,1
    - Dst: strstr
      Src: /src/libgpg-error/src/logging.c:1254,1
    - Dst: _gpgrt_logv_internal
      Src: /src/libgpg-error/src/logging.c:1260,1
    - Dst: _gpgrt_log_printf
      Src: /src/libgpg-error/src/logging.c:1268,1
    - Dst: _gpgrt_log_printf
      Src: /src/libgpg-error/src/logging.c:1272,1
    - Dst: _gpgrt_log_printf
      Src: /src/libgpg-error/src/logging.c:1277,1
    - Dst: _gpgrt_log_printf
      Src: /src/libgpg-error/src/logging.c:1283,1
    - Dst: _gpgrt_log_debug
      Src: /src/libgpg-error/src/logging.c:1285,1
    - Dst: _gpgrt_log_debug
      Src: /src/libgpg-error/src/logging.c:1287,1
    - Dst: _gpgrt_log_printf
      Src: /src/libgpg-error/src/logging.c:1289,1
    - Dst: _gpgrt_log_printf
      Src: /src/libgpg-error/src/logging.c:1295,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 33
    argCount: 4
    argNames:
    - buffer
    - length
    - fmt
    - arg_ptr
    argTypes:
    - void*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1235
    functionDepth: 9
    functionLinenumber: 1235
    functionLinenumberEnd: 1296
    functionName: _gpgrt_logv_printhex
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 1
    functionsReached:
    - _gpgrt_log_debug
    - strstr
    - strchr
    - _gpgrt_log_printf
    - _gpgrt_logv_internal
    linkageType: ''
    returnType: void
    signature: "void _gpgrt_logv_printhex (const void *buffer, size_t length,\n                      const
      char *fmt, va_list arg_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/logging.c:1311,1
    - Dst: _gpgrt_logv_printhex
      Src: /src/libgpg-error/src/logging.c:1312,1
    - Dst: va_end
      Src: /src/libgpg-error/src/logging.c:1313,1
    - Dst: _gpgrt_logv_printhex
      Src: /src/libgpg-error/src/logging.c:1324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - buffer
    - length
    - fmt
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1303
    functionDepth: 10
    functionLinenumber: 1303
    functionLinenumberEnd: 1326
    functionName: _gpgrt_log_printhex
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gpgrt_logv_printhex
    - va_start
    linkageType: ''
    returnType: void
    signature: "void _gpgrt_log_printhex (const void *buffer, size_t length,\n                     const
      char *fmt, ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/libgpg-error/src/logging.c:1339,1
    - Dst: _gpgrt_log_debug
      Src: /src/libgpg-error/src/logging.c:1341,1
    - Dst: snprintf
      Src: /src/libgpg-error/src/logging.c:1350,1
    - Dst: _gpgrt_logv_internal
      Src: /src/libgpg-error/src/logging.c:1351,1
    - Dst: _gpgrt_logv_internal
      Src: /src/libgpg-error/src/logging.c:1357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - fmt
    - arg_ptr
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1330
    functionDepth: 9
    functionLinenumber: 1330
    functionLinenumberEnd: 1361
    functionName: _gpgrt_logv_clock
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 1
    functionsReached:
    - snprintf
    - _gpgrt_logv_internal
    - _gpgrt_log_debug
    - clock_gettime
    linkageType: ''
    returnType: void
    signature: void _gpgrt_logv_clock (const char *fmt, va_list arg_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/logging.c:1370,1
    - Dst: _gpgrt_logv_clock
      Src: /src/libgpg-error/src/logging.c:1371,1
    - Dst: va_end
      Src: /src/libgpg-error/src/logging.c:1372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1365
    functionDepth: 10
    functionLinenumber: 1365
    functionLinenumberEnd: 1373
    functionName: _gpgrt_log_clock
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - _gpgrt_logv_clock
    linkageType: ''
    returnType: void
    signature: void _gpgrt_log_clock (const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_log
      Src: /src/libgpg-error/src/logging.c:1381,1
    - Dst: _gpgrt_log
      Src: /src/libgpg-error/src/logging.c:1384,1
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/logging.c:1387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - expr
    - file
    - line
    - func
    argTypes:
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1376
    functionDepth: 9
    functionLinenumber: 1376
    functionLinenumberEnd: 1388
    functionName: _gpgrt__log_assert
    functionSourceFile: /src/libgpg-error/src/logging.c
    functionUses: 1
    functionsReached:
    - _gpgrt_abort
    - _gpgrt_log
    linkageType: ''
    returnType: void
    signature: "void _gpgrt__log_assert (const char *expr, const char *file,\n                   int
      line, const char *func)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dup
      Src: /src/libgpg-error/src/sysutils.c:47,1
    - Dst: close
      Src: /src/libgpg-error/src/sysutils.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: _gpgrt_fd_valid_p
    functionSourceFile: /src/libgpg-error/src/sysutils.c
    functionUses: 1
    functionsReached:
    - close
    - dup
    linkageType: ''
    returnType: int
    signature: int _gpgrt_fd_valid_p (int fd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgpg-error/src/sysutils.c:61,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/sysutils.c:63,1
    - Dst: GetEnvironmentVariable
      Src: /src/libgpg-error/src/sysutils.c:72,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/sysutils.c:73,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/sysutils.c:75,1
    - Dst: _gpgrt_malloc
      Src: /src/libgpg-error/src/sysutils.c:80,1
    - Dst: GetEnvironmentVariable
      Src: /src/libgpg-error/src/sysutils.c:83,1
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/sysutils.c:87,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/sysutils.c:90,1
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/sysutils.c:93,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/sysutils.c:94,1
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/sysutils.c:100,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/sysutils.c:101,1
    - Dst: getenv
      Src: /src/libgpg-error/src/sysutils.c:109,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/sysutils.c:112,1
    - Dst: _gpgrt_strdup
      Src: /src/libgpg-error/src/sysutils.c:115,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 118
    functionName: _gpgrt_getenv
    functionSourceFile: /src/libgpg-error/src/sysutils.c
    functionUses: 1
    functionsReached:
    - _gpg_err_set_errno
    - getenv
    - _gpgrt_malloc
    - strchr
    - _gpgrt_strdup
    - _gpgrt_free
    - GetEnvironmentVariable
    - GetLastError
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_getenv (const char *name)'
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgpg-error/src/sysutils.c:127,1
    - Dst: SetEnvironmentVariable
      Src: /src/libgpg-error/src/sysutils.c:144,1
    - Dst: getenv
      Src: /src/libgpg-error/src/sysutils.c:146,1
    - Dst: _putenv_s
      Src: /src/libgpg-error/src/sysutils.c:149,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/sysutils.c:153,1
    - Dst: _gpgrt_strdup
      Src: /src/libgpg-error/src/sysutils.c:165,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:167,1
    - Dst: putenv
      Src: /src/libgpg-error/src/sysutils.c:168,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:169,1
    - Dst: GetEnvironmentVariable
      Src: /src/libgpg-error/src/sysutils.c:175,1
    - Dst: SetEnvironmentVariable
      Src: /src/libgpg-error/src/sysutils.c:176,1
    - Dst: getenv
      Src: /src/libgpg-error/src/sysutils.c:178,1
    - Dst: _putenv_s
      Src: /src/libgpg-error/src/sysutils.c:181,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/sysutils.c:185,1
    - Dst: _gpgrt_strconcat
      Src: /src/libgpg-error/src/sysutils.c:192,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:194,1
    - Dst: putenv
      Src: /src/libgpg-error/src/sysutils.c:195,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:196,1
    - Dst: unsetenv
      Src: /src/libgpg-error/src/sysutils.c:209,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:210,1
    - Dst: setenv
      Src: /src/libgpg-error/src/sysutils.c:214,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:215,1
    - Dst: getenv
      Src: /src/libgpg-error/src/sysutils.c:231,1
    - Dst: _gpgrt_strdup
      Src: /src/libgpg-error/src/sysutils.c:233,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:235,1
    - Dst: putenv
      Src: /src/libgpg-error/src/sysutils.c:236,1
    - Dst: getenv
      Src: /src/libgpg-error/src/sysutils.c:240,1
    - Dst: _gpgrt_strconcat
      Src: /src/libgpg-error/src/sysutils.c:242,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:244,1
    - Dst: putenv
      Src: /src/libgpg-error/src/sysutils.c:245,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:246,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 66
    argCount: 3
    argNames:
    - name
    - value
    - overwrite
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 253
    functionName: _gpgrt_setenv
    functionSourceFile: /src/libgpg-error/src/sysutils.c
    functionUses: 2
    functionsReached:
    - SetEnvironmentVariable
    - _gpg_err_code_from_syserror
    - _gpg_err_set_errno
    - setenv
    - putenv
    - _putenv_s
    - getenv
    - _gpgrt_strconcat
    - strchr
    - _gpgrt_strdup
    - unsetenv
    - GetEnvironmentVariable
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_setenv (const char *name, const char *value,
      int overwrite)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/libgpg-error/src/sysutils.c:276,1
    - Dst: strpbrk
      Src: /src/libgpg-error/src/sysutils.c:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: has_path_separator
    functionSourceFile: /src/libgpg-error/src/sysutils.c
    functionUses: 0
    functionsReached:
    - strpbrk
    linkageType: ''
    returnType: int
    signature: int has_path_separator (const char *fname)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgpg-error/src/sysutils.c:299,1
    - Dst: atoi
      Src: /src/libgpg-error/src/sysutils.c:300,1
    - Dst: _gpgrt_utf8_to_wchar
      Src: /src/libgpg-error/src/sysutils.c:308,1
    - Dst: _gpgrt_windows_feature
      Src: /src/libgpg-error/src/sysutils.c:313,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/sysutils.c:323,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/sysutils.c:323,1
    - Dst: has_path_separator
      Src: /src/libgpg-error/src/sysutils.c:325,1
    - Dst: wcslen
      Src: /src/libgpg-error/src/sysutils.c:325,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/sysutils.c:334,1
    - Dst: _gpgrt_wchar_to_utf8
      Src: /src/libgpg-error/src/sysutils.c:340,1
    - Dst: _gpgrt_log_debug
      Src: /src/libgpg-error/src/sysutils.c:341,1
    - Dst: xfree
      Src: /src/libgpg-error/src/sysutils.c:343,1
    - Dst: GetFullPathNameW
      Src: /src/libgpg-error/src/sysutils.c:348,1
    - Dst: _gpgrt_w32_set_errno
      Src: /src/libgpg-error/src/sysutils.c:351,1
    - Dst: _gpgrt_free_wchar
      Src: /src/libgpg-error/src/sysutils.c:364,1
    - Dst: _gpgrt_free_wchar
      Src: /src/libgpg-error/src/sysutils.c:369,1
    - Dst: _gpgrt_wchar_to_utf8
      Src: /src/libgpg-error/src/sysutils.c:374,1
    - Dst: _gpgrt_log_debug
      Src: /src/libgpg-error/src/sysutils.c:375,1
    - Dst: xfree
      Src: /src/libgpg-error/src/sysutils.c:377,1
    - Dst: wmemmove
      Src: /src/libgpg-error/src/sysutils.c:392,1
    - Dst: wmemmove
      Src: /src/libgpg-error/src/sysutils.c:403,1
    - Dst: _gpgrt_free_wchar
      Src: /src/libgpg-error/src/sysutils.c:415,1
    - Dst: _gpgrt_free_wchar
      Src: /src/libgpg-error/src/sysutils.c:418,1
    - Dst: _gpgrt_wchar_to_utf8
      Src: /src/libgpg-error/src/sysutils.c:423,1
    - Dst: _gpgrt_log_debug
      Src: /src/libgpg-error/src/sysutils.c:424,1
    - Dst: xfree
      Src: /src/libgpg-error/src/sysutils.c:425,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 288
    functionDepth: 9
    functionLinenumber: 288
    functionLinenumberEnd: 428
    functionName: _gpgrt_fname_to_wchar
    functionSourceFile: /src/libgpg-error/src/sysutils.c
    functionUses: 3
    functionsReached:
    - _gpgrt_utf8_to_wchar
    - atoi
    - _gpgrt_log_debug
    - has_path_separator
    - wcslen
    - getenv
    - _gpgrt_free_wchar
    - GetFullPathNameW
    - _gpgrt_windows_feature
    - xfree
    - _gpgrt_w32_set_errno
    - _gpgrt_wchar_to_utf8
    - strncmp
    - xtrymalloc
    - wmemmove
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      _gpgrt_fname_to_wchar (const char *fname)'
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 23
    argCount: 1
    argNames:
    - modestr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 464
    functionName: modestr_to_mode
    functionSourceFile: /src/libgpg-error/src/sysutils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: mode_t
    signature: mode_t modestr_to_mode (const char *modestr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fname_to_wchar
      Src: /src/libgpg-error/src/sysutils.c:492,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:494,1
    - Dst: CreateDirectoryW
      Src: /src/libgpg-error/src/sysutils.c:496,1
    - Dst: _gpgrt_w32_set_errno
      Src: /src/libgpg-error/src/sysutils.c:498,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:499,1
    - Dst: _gpgrt_free_wchar
      Src: /src/libgpg-error/src/sysutils.c:504,1
    - Dst: mkdir
      Src: /src/libgpg-error/src/sysutils.c:509,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:510,1
    - Dst: mkdir
      Src: /src/libgpg-error/src/sysutils.c:513,1
    - Dst: modestr_to_mode
      Src: /src/libgpg-error/src/sysutils.c:513,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - name
    - modestr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 10
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: _gpgrt_mkdir
    functionSourceFile: /src/libgpg-error/src/sysutils.c
    functionUses: 1
    functionsReached:
    - _gpg_err_code_from_syserror
    - mkdir
    - _gpgrt_fname_to_wchar
    - modestr_to_mode
    - _gpgrt_free_wchar
    - _gpgrt_w32_set_errno
    - CreateDirectoryW
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_mkdir (const char *name, const char *modestr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_utf8_to_wchar
      Src: /src/libgpg-error/src/sysutils.c:532,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:534,1
    - Dst: SetCurrentDirectoryW
      Src: /src/libgpg-error/src/sysutils.c:535,1
    - Dst: _gpgrt_w32_set_errno
      Src: /src/libgpg-error/src/sysutils.c:537,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:538,1
    - Dst: _gpgrt_free_wchar
      Src: /src/libgpg-error/src/sysutils.c:542,1
    - Dst: chdir
      Src: /src/libgpg-error/src/sysutils.c:546,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 550
    functionName: _gpgrt_chdir
    functionSourceFile: /src/libgpg-error/src/sysutils.c
    functionUses: 1
    functionsReached:
    - _gpg_err_code_from_syserror
    - _gpgrt_utf8_to_wchar
    - _gpgrt_free_wchar
    - _gpgrt_w32_set_errno
    - chdir
    - SetCurrentDirectoryW
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_chdir (const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentDirectoryW
      Src: /src/libgpg-error/src/sysutils.c:563,1
    - Dst: _gpgrt_w32_set_errno
      Src: /src/libgpg-error/src/sysutils.c:566,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/sysutils.c:574,1
    - Dst: _gpgrt_wchar_to_utf8
      Src: /src/libgpg-error/src/sysutils.c:577,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/sysutils.c:592,1
    - Dst: getcwd
      Src: /src/libgpg-error/src/sysutils.c:595,1
    - Dst: xfree
      Src: /src/libgpg-error/src/sysutils.c:597,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 603
    functionName: _gpgrt_getcwd
    functionSourceFile: /src/libgpg-error/src/sysutils.c
    functionUses: 1
    functionsReached:
    - _gpg_err_set_errno
    - xfree
    - _gpgrt_w32_set_errno
    - GetCurrentDirectoryW
    - _gpgrt_wchar_to_utf8
    - xtrymalloc
    - getcwd
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_getcwd (void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fname_to_wchar
      Src: /src/libgpg-error/src/sysutils.c:618,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:620,1
    - Dst: GetFileAttributesW
      Src: /src/libgpg-error/src/sysutils.c:622,1
    - Dst: _gpgrt_w32_get_last_err_code
      Src: /src/libgpg-error/src/sysutils.c:624,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/sysutils.c:629,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:630,1
    - Dst: _gpgrt_free_wchar
      Src: /src/libgpg-error/src/sysutils.c:635,1
    - Dst: access
      Src: /src/libgpg-error/src/sysutils.c:637,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/sysutils.c:637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - fname
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 609
    functionDepth: 10
    functionLinenumber: 609
    functionLinenumberEnd: 641
    functionName: _gpgrt_access
    functionSourceFile: /src/libgpg-error/src/sysutils.c
    functionUses: 1
    functionsReached:
    - _gpg_err_code_from_syserror
    - _gpgrt_fname_to_wchar
    - _gpg_err_set_errno
    - _gpgrt_free_wchar
    - access
    - GetFileAttributesW
    - _gpgrt_w32_get_last_err_code
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_access (const char *fname, int mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getpwnam
      Src: /src/libgpg-error/src/sysutils.c:658,1
    - Dst: getpwuid
      Src: /src/libgpg-error/src/sysutils.c:665,1
    - Dst: getuid
      Src: /src/libgpg-error/src/sysutils.c:665,1
    - Dst: _gpgrt_strdup
      Src: /src/libgpg-error/src/sysutils.c:670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 677
    functionName: _gpgrt_getpwdir
    functionSourceFile: /src/libgpg-error/src/sysutils.c
    functionUses: 0
    functionsReached:
    - getpwuid
    - _gpgrt_strdup
    - getuid
    - getpwnam
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_getpwdir (const char *name)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetUserNameW
      Src: /src/libgpg-error/src/sysutils.c:693,1
    - Dst: _gpgrt_malloc
      Src: /src/libgpg-error/src/sysutils.c:694,1
    - Dst: _gpgrt_w32_set_errno
      Src: /src/libgpg-error/src/sysutils.c:697,1
    - Dst: GetUserNameW
      Src: /src/libgpg-error/src/sysutils.c:700,1
    - Dst: _gpgrt_w32_set_errno
      Src: /src/libgpg-error/src/sysutils.c:702,1
    - Dst: xfree
      Src: /src/libgpg-error/src/sysutils.c:703,1
    - Dst: _gpgrt_wchar_to_utf8
      Src: /src/libgpg-error/src/sysutils.c:706,1
    - Dst: xfree
      Src: /src/libgpg-error/src/sysutils.c:707,1
    - Dst: getpwuid
      Src: /src/libgpg-error/src/sysutils.c:715,1
    - Dst: getuid
      Src: /src/libgpg-error/src/sysutils.c:715,1
    - Dst: _gpgrt_strdup
      Src: /src/libgpg-error/src/sysutils.c:718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 726
    functionName: _gpgrt_getusername
    functionSourceFile: /src/libgpg-error/src/sysutils.c
    functionUses: 0
    functionsReached:
    - GetUserNameW
    - _gpgrt_strdup
    - getpwuid
    - xfree
    - _gpgrt_w32_set_errno
    - getuid
    - _gpgrt_malloc
    - _gpgrt_wchar_to_utf8
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_getusername (void)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/libgpg-error/src/b64enc.c:163,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/b64enc.c:172,1
    - Dst: xtrystrdup
      Src: /src/libgpg-error/src/b64enc.c:177,1
    - Dst: xfree
      Src: /src/libgpg-error/src/b64enc.c:180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - stream
    - title
    argTypes:
    - estream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 186
    functionName: _gpgrt_b64enc_start
    functionSourceFile: /src/libgpg-error/src/b64enc.c
    functionUses: 1
    functionsReached:
    - xtrystrdup
    - strncmp
    - xfree
    - xtrycalloc
    linkageType: ''
    returnType: gpgrt_b64state_t
    signature: gpgrt_b64state_t _gpgrt_b64enc_start (estream_t stream, const char
      *title)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fflush
      Src: /src/libgpg-error/src/b64enc.c:205,1
    - Dst: _gpgrt_fputs
      Src: /src/libgpg-error/src/b64enc.c:214,1
    - Dst: _gpgrt_fputs
      Src: /src/libgpg-error/src/b64enc.c:215,1
    - Dst: _gpgrt_fputs
      Src: /src/libgpg-error/src/b64enc.c:216,1
    - Dst: _gpgrt_fputs
      Src: /src/libgpg-error/src/b64enc.c:219,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/b64enc.c:228,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/b64enc.c:229,1
    - Dst: _gpgrt_fputc
      Src: /src/libgpg-error/src/b64enc.c:253,1
    - Dst: _gpgrt_ferror
      Src: /src/libgpg-error/src/b64enc.c:255,1
    - Dst: _gpgrt_fputs
      Src: /src/libgpg-error/src/b64enc.c:262,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/b64enc.c:267,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/b64enc.c:273,1
    - Dst: xfree
      Src: /src/libgpg-error/src/b64enc.c:276,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 63
    argCount: 3
    argNames:
    - state
    - buffer
    - nbytes
    argTypes:
    - gpgrt_b64state_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 192
    functionDepth: 5
    functionLinenumber: 192
    functionLinenumberEnd: 280
    functionName: _gpgrt_b64enc_write
    functionSourceFile: /src/libgpg-error/src/b64enc.c
    functionUses: 1
    functionsReached:
    - _gpg_err_code_from_syserror
    - _gpgrt_fflush
    - _gpgrt_fputc
    - xfree
    - _gpgrt_fputs
    - _gpgrt_ferror
    - gpgrt_assert
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_b64enc_write (gpgrt_b64state_t state, const void
      *buffer, size_t nbytes)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/b64enc.c:312,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/b64enc.c:313,1
    - Dst: _gpgrt_fputc
      Src: /src/libgpg-error/src/b64enc.c:331,1
    - Dst: _gpgrt_ferror
      Src: /src/libgpg-error/src/b64enc.c:332,1
    - Dst: _gpgrt_fputs
      Src: /src/libgpg-error/src/b64enc.c:339,1
    - Dst: _gpgrt_fputs
      Src: /src/libgpg-error/src/b64enc.c:347,1
    - Dst: _gpgrt_fputs
      Src: /src/libgpg-error/src/b64enc.c:353,1
    - Dst: _gpgrt_fputc
      Src: /src/libgpg-error/src/b64enc.c:362,1
    - Dst: _gpgrt_ferror
      Src: /src/libgpg-error/src/b64enc.c:363,1
    - Dst: _gpgrt_fputs
      Src: /src/libgpg-error/src/b64enc.c:367,1
    - Dst: _gpgrt_fputs
      Src: /src/libgpg-error/src/b64enc.c:373,1
    - Dst: _gpgrt_fputs
      Src: /src/libgpg-error/src/b64enc.c:374,1
    - Dst: _gpgrt_fputs
      Src: /src/libgpg-error/src/b64enc.c:375,1
    - Dst: xfree
      Src: /src/libgpg-error/src/b64enc.c:380,1
    - Dst: xfree
      Src: /src/libgpg-error/src/b64enc.c:381,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/src/b64enc.c:385,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 79
    argCount: 1
    argNames:
    - state
    argTypes:
    - gpgrt_b64state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 283
    functionDepth: 5
    functionLinenumber: 283
    functionLinenumberEnd: 387
    functionName: _gpgrt_b64enc_finish
    functionSourceFile: /src/libgpg-error/src/b64enc.c
    functionUses: 1
    functionsReached:
    - _gpgrt_fputc
    - gpg_error_from_syserror
    - xfree
    - _gpgrt_fputs
    - _gpgrt_ferror
    - gpgrt_assert
    - memcpy
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_b64enc_finish (gpgrt_b64state_t state)
  - 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: _ESTREAM_PREFIX1
    functionSourceFile: /src/libgpg-error/src/estream-printf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _ESTREAM_PREFIX1(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: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: _ESTREAM_PREFIX2
    functionSourceFile: /src/libgpg-error/src/estream-printf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _ESTREAM_PREFIX2(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: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: _ESTREAM_PREFIX
    functionSourceFile: /src/libgpg-error/src/estream-printf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _ESTREAM_PREFIX(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: _ESTREAM_GCC_A_PRINTF
    functionSourceFile: /src/libgpg-error/src/estream-printf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _ESTREAM_GCC_A_PRINTF( f, a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: _ESTREAM_GCC_A_PRINTF
    functionSourceFile: /src/libgpg-error/src/estream-printf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _ESTREAM_GCC_A_PRINTF( f, a )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/posix-thread.c:53,1
    - Dst: sched_yield
      Src: /src/libgpg-error/src/posix-thread.c:54,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/posix-thread.c:55,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/posix-thread.c:60,1
    - Dst: thr_yield
      Src: /src/libgpg-error/src/posix-thread.c:61,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/posix-thread.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: _gpgrt_yield
    functionSourceFile: /src/libgpg-error/src/posix-thread.c
    functionUses: 7
    functionsReached:
    - _gpgrt_pre_syscall
    - thr_yield
    - _gpgrt_post_syscall
    - sched_yield
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_yield (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: _GPG_ERR_ATTR_FORMAT_ARG
    functionSourceFile: /src/libgpg-error/src/w32-add.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GPG_ERR_ATTR_FORMAT_ARG(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: bindtextdomain
    functionSourceFile: /src/libgpg-error/src/w32-add.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bindtextdomain(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: textdomain
    functionSourceFile: /src/libgpg-error/src/w32-add.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: textdomain(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: gettext
    functionSourceFile: /src/libgpg-error/src/w32-add.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gettext(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: dgettext
    functionSourceFile: /src/libgpg-error/src/w32-add.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dgettext(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: ngettext
    functionSourceFile: /src/libgpg-error/src/w32-add.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ngettext(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: dngettext
    functionSourceFile: /src/libgpg-error/src/w32-add.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dngettext(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: gettext_localename
    functionSourceFile: /src/libgpg-error/src/w32-add.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gettext_localename()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: gettext_use_utf8
    functionSourceFile: /src/libgpg-error/src/w32-add.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gettext_use_utf8(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: iconv_open
    functionSourceFile: /src/libgpg-error/src/w32-add.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iconv_open(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: iconv_close
    functionSourceFile: /src/libgpg-error/src/w32-add.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iconv_close(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: iconv
    functionSourceFile: /src/libgpg-error/src/w32-add.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iconv(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: get_locale_dir
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_locale_dir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandle
      Src: /src/libgpg-error/src/init.c:85,1
    - Dst: memset
      Src: /src/libgpg-error/src/init.c:87,1
    - Dst: GetVersionEx
      Src: /src/libgpg-error/src/init.c:89,1
    - Dst: GetProcAddress
      Src: /src/libgpg-error/src/init.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: windows_specific_init
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 0
    functionsReached:
    - GetModuleHandle
    - memset
    - GetVersionEx
    - GetProcAddress
    linkageType: ''
    returnType: void
    signature: void windows_specific_init (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_locale_dir
      Src: /src/libgpg-error/src/init.c:107,1
    - Dst: bindtextdomain
      Src: /src/libgpg-error/src/init.c:110,1
    - Dst: drop_locale_dir
      Src: /src/libgpg-error/src/init.c:111,1
    - Dst: windows_specific_init
      Src: /src/libgpg-error/src/init.c:115,1
    - Dst: _gpgrt_estream_init
      Src: /src/libgpg-error/src/init.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: real_init
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 0
    functionsReached:
    - get_locale_dir
    - _gpgrt_estream_init
    - drop_locale_dir
    - windows_specific_init
    - bindtextdomain
    linkageType: ''
    returnType: void
    signature: void real_init (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TlsAlloc
      Src: /src/libgpg-error/src/init.c:139,1
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/init.c:143,1
    - Dst: _gpg_w32__init_gettext_module
      Src: /src/libgpg-error/src/init.c:145,1
    - Dst: _gpgrt_w32__init_utils
      Src: /src/libgpg-error/src/init.c:146,1
    - Dst: real_init
      Src: /src/libgpg-error/src/init.c:147,1
    - Dst: real_init
      Src: /src/libgpg-error/src/init.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 154
    functionName: _gpg_err_init
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 1
    functionsReached:
    - _gpgrt_abort
    - _gpgrt_w32__init_utils
    - _gpg_w32__init_gettext_module
    - real_init
    - TlsAlloc
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t _gpg_err_init (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TlsGetValue
      Src: /src/libgpg-error/src/init.c:171,1
    - Dst: TlsSetValue
      Src: /src/libgpg-error/src/init.c:174,1
    - Dst: LocalFree
      Src: /src/libgpg-error/src/init.c:175,1
    - Dst: TlsFree
      Src: /src/libgpg-error/src/init.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 186
    functionName: _gpg_err_deinit
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 1
    functionsReached:
    - TlsFree
    - LocalFree
    - TlsSetValue
    - TlsGetValue
    linkageType: ''
    returnType: void
    signature: void _gpg_err_deinit (int mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libgpg-error/src/init.c:209,1
    - Dst: _gpgrt_log_fatal
      Src: /src/libgpg-error/src/init.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 199
    functionDepth: 9
    functionLinenumber: 199
    functionLinenumberEnd: 218
    functionName: _gpgrt_add_emergency_cleanup
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 1
    functionsReached:
    - _gpgrt_log_fatal
    - malloc
    linkageType: ''
    returnType: void
    signature: void _gpgrt_add_emergency_cleanup (void (*f)(void))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/libgpg-error/src/init.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 238
    functionName: run_emergency_cleanup
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: void
    signature: void run_emergency_cleanup (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_emergency_cleanup
      Src: /src/libgpg-error/src/init.c:246,1
    - Dst: abort
      Src: /src/libgpg-error/src/init.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: _gpgrt_abort
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 15
    functionsReached:
    - run_emergency_cleanup
    - abort
    linkageType: ''
    returnType: void
    signature: void _gpgrt_abort (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (*f)(void *a, size_t n)
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: _gpgrt_set_alloc_func
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gpgrt_set_alloc_func (void *(*f)(void *a, size_t n))
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: custom_realloc
      Src: /src/libgpg-error/src/init.c:268,1
    - Dst: free
      Src: /src/libgpg-error/src/init.c:272,1
    - Dst: malloc
      Src: /src/libgpg-error/src/init.c:277,1
    - Dst: realloc
      Src: /src/libgpg-error/src/init.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 280
    functionName: _gpgrt_realloc
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 2
    functionsReached:
    - custom_realloc
    - malloc
    - realloc
    - free
    linkageType: ''
    returnType: void
    signature: 'void *

      _gpgrt_realloc (void *a, size_t n)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/init.c:310,1
    - Dst: _gpgrt_realloc
      Src: /src/libgpg-error/src/init.c:314,1
    - Dst: xfree
      Src: /src/libgpg-error/src/init.c:322,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/init.c:323,1
    - Dst: memset
      Src: /src/libgpg-error/src/init.c:326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - a
    - oldnmemb
    - nmemb
    - size
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 329
    functionName: _gpgrt_reallocarray
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 1
    functionsReached:
    - _gpgrt_realloc
    - memset
    - _gpg_err_set_errno
    - xfree
    linkageType: ''
    returnType: void
    signature: 'void *

      _gpgrt_reallocarray (void *a, size_t oldnmemb, size_t nmemb, size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_realloc
      Src: /src/libgpg-error/src/init.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: _gpgrt_malloc
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 8
    functionsReached:
    - _gpgrt_realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _gpgrt_malloc (size_t n)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/init.c:352,1
    - Dst: _gpgrt_realloc
      Src: /src/libgpg-error/src/init.c:356,1
    - Dst: memset
      Src: /src/libgpg-error/src/init.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 360
    functionName: _gpgrt_calloc
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 1
    functionsReached:
    - _gpgrt_realloc
    - memset
    - _gpg_err_set_errno
    linkageType: ''
    returnType: void
    signature: 'void *

      _gpgrt_calloc (size_t n, size_t m)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgpg-error/src/init.c:366,1
    - Dst: _gpgrt_realloc
      Src: /src/libgpg-error/src/init.c:369,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/init.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 373
    functionName: _gpgrt_strdup
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 6
    functionsReached:
    - _gpgrt_realloc
    - strcpy
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_strdup (const char *string)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgpg-error/src/init.c:387,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/init.c:388,1
    - Dst: strlen
      Src: /src/libgpg-error/src/init.c:390,1
    - Dst: DIM
      Src: /src/libgpg-error/src/init.c:391,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/init.c:393,1
    - Dst: _gpgrt_malloc
      Src: /src/libgpg-error/src/init.c:399,1
    - Dst: stpcpy
      Src: /src/libgpg-error/src/init.c:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - s1
    - arg_ptr
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 406
    functionName: _gpgrt_strconcat_core
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 1
    functionsReached:
    - _gpg_err_set_errno
    - strlen
    - DIM
    - va_arg
    - _gpgrt_malloc
    - stpcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_strconcat_core (const char *s1, va_list arg_ptr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_strdup
      Src: /src/libgpg-error/src/init.c:416,1
    - Dst: va_start
      Src: /src/libgpg-error/src/init.c:419,1
    - Dst: _gpgrt_strconcat_core
      Src: /src/libgpg-error/src/init.c:420,1
    - Dst: va_end
      Src: /src/libgpg-error/src/init.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s1
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 424
    functionName: _gpgrt_strconcat
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 2
    functionsReached:
    - _gpgrt_strconcat_core
    - _gpgrt_strdup
    - va_end
    - va_start
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_strconcat (const char *s1, ...)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_realloc
      Src: /src/libgpg-error/src/init.c:441,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/init.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 444
    functionName: _gpgrt_free
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 11
    functionsReached:
    - _gpgrt_realloc
    - _gpg_err_set_errno
    linkageType: ''
    returnType: void
    signature: void _gpgrt_free (void *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SecureZeroMemory
      Src: /src/libgpg-error/src/init.c:453,1
    - Dst: explicit_bzero
      Src: /src/libgpg-error/src/init.c:455,1
    - Dst: memset_ptr
      Src: /src/libgpg-error/src/init.c:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 463
    functionName: _gpgrt_wipememory
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 4
    functionsReached:
    - memset_ptr
    - explicit_bzero
    - SecureZeroMemory
    linkageType: ''
    returnType: void
    signature: void _gpgrt_wipememory (void *ptr, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 470
    functionName: _gpg_err_set_errno
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gpg_err_set_errno (int err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libgpg-error/src/init.c:498,1
    - Dst: fopen
      Src: /src/libgpg-error/src/init.c:500,1
    - Dst: flockfile
      Src: /src/libgpg-error/src/init.c:506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - module
    - file
    - line
    - with_errno
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 515
    functionName: _gpgrt_internal_trace_begin
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 0
    functionsReached:
    - flockfile
    - getenv
    - fopen
    linkageType: ''
    returnType: void
    signature: "void _gpgrt_internal_trace_begin (const char *module, const char *file,
      int line,\n                             int with_errno)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgpg-error/src/init.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 527
    functionName: print_internal_trace_prefix
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_internal_trace_prefix (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: print_internal_trace_prefix
      Src: /src/libgpg-error/src/init.c:532,1
    - Dst: vfprintf
      Src: /src/libgpg-error/src/init.c:533,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/init.c:535,1
    - Dst: strerror
      Src: /src/libgpg-error/src/init.c:535,1
    - Dst: strlen
      Src: /src/libgpg-error/src/init.c:536,1
    - Dst: fputc
      Src: /src/libgpg-error/src/init.c:537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - format
    - arg_ptr
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 538
    functionName: do_internal_trace
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - strlen
    - fprintf
    - print_internal_trace_prefix
    - fputc
    - strerror
    linkageType: ''
    returnType: void
    signature: void do_internal_trace (const char *format, va_list arg_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_internal_trace_prefix
      Src: /src/libgpg-error/src/init.c:545,1
    - Dst: va_start
      Src: /src/libgpg-error/src/init.c:546,1
    - Dst: vfprintf
      Src: /src/libgpg-error/src/init.c:547,1
    - Dst: va_end
      Src: /src/libgpg-error/src/init.c:548,1
    - Dst: strlen
      Src: /src/libgpg-error/src/init.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 550
    functionName: _gpgrt_internal_trace_printf
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 0
    functionsReached:
    - va_end
    - vfprintf
    - strlen
    - print_internal_trace_prefix
    - va_start
    linkageType: ''
    returnType: void
    signature: void _gpgrt_internal_trace_printf (const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/init.c:558,1
    - Dst: do_internal_trace
      Src: /src/libgpg-error/src/init.c:559,1
    - Dst: va_end
      Src: /src/libgpg-error/src/init.c:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 561
    functionName: _gpgrt_internal_trace
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 0
    functionsReached:
    - va_end
    - do_internal_trace
    - va_start
    linkageType: ''
    returnType: void
    signature: void _gpgrt_internal_trace (const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/libgpg-error/src/init.c:570,1
    - Dst: funlockfile
      Src: /src/libgpg-error/src/init.c:572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 575
    functionName: _gpgrt_internal_trace_end
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 0
    functionsReached:
    - fputc
    - funlockfile
    linkageType: ''
    returnType: void
    signature: void _gpgrt_internal_trace_end (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - k
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 601
    functionName: _gpgrt_windows_feature
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gpgrt_windows_feature (int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 609
    functionName: _gpgrt_w32_utf8_for_new_threads
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gpgrt_w32_utf8_for_new_threads (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleFileNameW
      Src: /src/libgpg-error/src/init.c:619,1
    - Dst: WideCharToMultiByte
      Src: /src/libgpg-error/src/init.c:625,1
    - Dst: malloc
      Src: /src/libgpg-error/src/init.c:629,1
    - Dst: strlen
      Src: /src/libgpg-error/src/init.c:629,1
    - Dst: WideCharToMultiByte
      Src: /src/libgpg-error/src/init.c:632,1
    - Dst: free
      Src: /src/libgpg-error/src/init.c:636,1
    - Dst: strrchr
      Src: /src/libgpg-error/src/init.c:641,1
    - Dst: strrchr
      Src: /src/libgpg-error/src/init.c:661,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/init.c:662,1
    - Dst: strcat
      Src: /src/libgpg-error/src/init.c:665,1
    - Dst: malloc
      Src: /src/libgpg-error/src/init.c:671,1
    - Dst: strlen
      Src: /src/libgpg-error/src/init.c:671,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/init.c:674,1
    - Dst: strcat
      Src: /src/libgpg-error/src/init.c:675,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 680
    functionName: get_locale_dir
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 2
    functionsReached:
    - WideCharToMultiByte
    - strlen
    - strcat
    - strcmp
    - GetModuleFileNameW
    - strcpy
    - malloc
    - strrchr
    - free
    linkageType: ''
    returnType: char
    signature: 'char *

      get_locale_dir (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libgpg-error/src/init.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - locale_dir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 687
    functionName: drop_locale_dir
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void drop_locale_dir (char *locale_dir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TlsGetValue
      Src: /src/libgpg-error/src/init.c:697,1
    - Dst: LocalAlloc
      Src: /src/libgpg-error/src/init.c:702,1
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/src/init.c:706,1
    - Dst: TlsSetValue
      Src: /src/libgpg-error/src/init.c:709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 692
    functionDepth: 2
    functionLinenumber: 692
    functionLinenumberEnd: 713
    functionName: get_tls
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 2
    functionsReached:
    - LocalAlloc
    - _gpgrt_abort
    - TlsSetValue
    - TlsGetValue
    linkageType: ''
    returnType: struct tls_space_s
    signature: 'struct tls_space_s *

      get_tls (void)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TlsAlloc
      Src: /src/libgpg-error/src/init.c:728,1
    - Dst: _gpg_w32__init_gettext_module
      Src: /src/libgpg-error/src/init.c:733,1
    - Dst: _gpgrt_w32__init_utils
      Src: /src/libgpg-error/src/init.c:734,1
    - Dst: LocalAlloc
      Src: /src/libgpg-error/src/init.c:738,1
    - Dst: TlsSetValue
      Src: /src/libgpg-error/src/init.c:742,1
    - Dst: real_init
      Src: /src/libgpg-error/src/init.c:745,1
    - Dst: TlsGetValue
      Src: /src/libgpg-error/src/init.c:750,1
    - Dst: LocalFree
      Src: /src/libgpg-error/src/init.c:752,1
    - Dst: TlsGetValue
      Src: /src/libgpg-error/src/init.c:756,1
    - Dst: LocalFree
      Src: /src/libgpg-error/src/init.c:758,1
    - Dst: TlsFree
      Src: /src/libgpg-error/src/init.c:759,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - hinst
    - reason
    - reserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 767
    functionName: DllMain
    functionSourceFile: /src/libgpg-error/src/init.c
    functionUses: 0
    functionsReached:
    - _gpgrt_w32__init_utils
    - TlsAlloc
    - _gpg_w32__init_gettext_module
    - real_init
    - LocalAlloc
    - TlsFree
    - TlsGetValue
    - LocalFree
    - TlsSetValue
    linkageType: ''
    returnType: int
    signature: int DllMain (HINSTANCE hinst, DWORD reason, LPVOID reserved)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/libgpg-error/src/b64dec.c:74,1
    - Dst: xtrycalloc
      Src: /src/libgpg-error/src/b64dec.c:79,1
    - Dst: xfree
      Src: /src/libgpg-error/src/b64dec.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - title
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 97
    functionName: _gpgrt_b64dec_start
    functionSourceFile: /src/libgpg-error/src/b64dec.c
    functionUses: 1
    functionsReached:
    - xtrystrdup
    - xfree
    - xtrycalloc
    linkageType: ''
    returnType: gpgrt_b64state_t
    signature: gpgrt_b64state_t _gpgrt_b64dec_start (const char *title)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgpg-error/src/b64dec.c:118,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/b64dec.c:244,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 113
    argCount: 4
    argNames:
    - state
    - buffer
    - length
    - r_nbytes
    argTypes:
    - gpgrt_b64state_t
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 254
    functionName: _gpgrt_b64dec_proc
    functionSourceFile: /src/libgpg-error/src/b64dec.c
    functionUses: 1
    functionsReached:
    - gpgrt_assert
    - xfree
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gpgrt_b64dec_proc (gpgrt_b64state_t state, void *buffer,
      size_t length,\n                    size_t *r_nbytes)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgpg-error/src/b64dec.c:273,1
    - Dst: xfree
      Src: /src/libgpg-error/src/b64dec.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - gpgrt_b64state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 279
    functionName: _gpgrt_b64dec_finish
    functionSourceFile: /src/libgpg-error/src/b64dec.c
    functionUses: 1
    functionsReached:
    - xfree
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_b64dec_finish (gpgrt_b64state_t state)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libgpg-error/src/w32-reg.c:57,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/w32-reg.c:62,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/w32-reg.c:67,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-reg.c:75,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-reg.c:75,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-reg.c:77,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-reg.c:77,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-reg.c:79,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-reg.c:79,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-reg.c:81,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-reg.c:81,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-reg.c:83,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-reg.c:85,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/w32-reg.c:85,1
    - Dst: RegOpenKeyExA
      Src: /src/libgpg-error/src/w32-reg.c:104,1
    - Dst: RegOpenKeyExA
      Src: /src/libgpg-error/src/w32-reg.c:109,1
    - Dst: RegQueryValueExA
      Src: /src/libgpg-error/src/w32-reg.c:116,1
    - Dst: RegCloseKey
      Src: /src/libgpg-error/src/w32-reg.c:121,1
    - Dst: RegOpenKeyExA
      Src: /src/libgpg-error/src/w32-reg.c:122,1
    - Dst: RegQueryValueExA
      Src: /src/libgpg-error/src/w32-reg.c:124,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/w32-reg.c:128,1
    - Dst: RegQueryValueExA
      Src: /src/libgpg-error/src/w32-reg.c:131,1
    - Dst: xfree
      Src: /src/libgpg-error/src/w32-reg.c:133,1
    - Dst: strchr
      Src: /src/libgpg-error/src/w32-reg.c:139,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/w32-reg.c:144,1
    - Dst: ExpandEnvironmentStrings
      Src: /src/libgpg-error/src/w32-reg.c:147,1
    - Dst: xfree
      Src: /src/libgpg-error/src/w32-reg.c:150,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/w32-reg.c:152,1
    - Dst: ExpandEnvironmentStrings
      Src: /src/libgpg-error/src/w32-reg.c:155,1
    - Dst: xfree
      Src: /src/libgpg-error/src/w32-reg.c:157,1
    - Dst: xfree
      Src: /src/libgpg-error/src/w32-reg.c:161,1
    - Dst: xfree
      Src: /src/libgpg-error/src/w32-reg.c:167,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/w32-reg.c:168,1
    - Dst: strlen
      Src: /src/libgpg-error/src/w32-reg.c:168,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/w32-reg.c:173,1
    - Dst: xfree
      Src: /src/libgpg-error/src/w32-reg.c:174,1
    - Dst: xfree
      Src: /src/libgpg-error/src/w32-reg.c:179,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/w32-reg.c:187,1
    - Dst: _gpgrt_estream_bsprintf
      Src: /src/libgpg-error/src/w32-reg.c:188,1
    - Dst: xfree
      Src: /src/libgpg-error/src/w32-reg.c:191,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/w32-reg.c:195,1
    - Dst: RegCloseKey
      Src: /src/libgpg-error/src/w32-reg.c:199,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 119
    argCount: 3
    argNames:
    - root
    - dir
    - name
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 45
    functionDepth: 9
    functionLinenumber: 45
    functionLinenumberEnd: 201
    functionName: _gpgrt_w32_reg_query_string
    functionSourceFile: /src/libgpg-error/src/w32-reg.c
    functionUses: 2
    functionsReached:
    - ExpandEnvironmentStrings
    - _gpgrt_estream_bsprintf
    - strlen
    - RegOpenKeyExA
    - _gpgrt_log_info
    - RegCloseKey
    - strcmp
    - strchr
    - xfree
    - strcpy
    - RegQueryValueExA
    - memcpy
    - strncmp
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: "char *\n_gpgrt_w32_reg_query_string (const char *root, const char
      *dir,\n                             const char *name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/libgpg-error/src/w32-reg.c:235,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/w32-reg.c:238,1
    - Dst: strchr
      Src: /src/libgpg-error/src/w32-reg.c:242,1
    - Dst: xfree
      Src: /src/libgpg-error/src/w32-reg.c:245,1
    - Dst: strchr
      Src: /src/libgpg-error/src/w32-reg.c:249,1
    - Dst: _gpgrt_w32_reg_query_string
      Src: /src/libgpg-error/src/w32-reg.c:253,1
    - Dst: xfree
      Src: /src/libgpg-error/src/w32-reg.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - key_arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 226
    functionDepth: 10
    functionLinenumber: 226
    functionLinenumberEnd: 256
    functionName: _gpgrt_w32_reg_get_string
    functionSourceFile: /src/libgpg-error/src/w32-reg.c
    functionUses: 1
    functionsReached:
    - _gpgrt_w32_reg_query_string
    - _gpgrt_log_info
    - xtrystrdup
    - strchr
    - xfree
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_w32_reg_get_string (const char *key_arg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:201,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 208
    functionName: is_native_utf8
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 1
    functionsReached:
    - _gpgrt_strusage
    - strcmp
    linkageType: ''
    returnType: int
    signature: int is_native_utf8 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fixed_string_mapper
      Src: /src/libgpg-error/src/argparse.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: map_fixed_string
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - fixed_string_mapper
    linkageType: ''
    returnType: char
    signature: 'char *

      map_fixed_string (const char *string)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/argparse.c:231,1
    - Dst: custom_outfnc
      Src: /src/libgpg-error/src/argparse.c:235,1
    - Dst: _gpgrt_fputs
      Src: /src/libgpg-error/src/argparse.c:237,1
    - Dst: strlen
      Src: /src/libgpg-error/src/argparse.c:238,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/argparse.c:240,1
    - Dst: va_end
      Src: /src/libgpg-error/src/argparse.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - is_error
    - string
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 221
    functionDepth: 5
    functionLinenumber: 221
    functionLinenumberEnd: 244
    functionName: writestrings
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - va_end
    - strlen
    - _gpgrt_fputs
    - va_arg
    - va_start
    - custom_outfnc
    linkageType: ''
    returnType: int
    signature: int writestrings (int is_error, const char *string, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: custom_outfnc
      Src: /src/libgpg-error/src/argparse.c:251,1
    - Dst: _gpgrt_fflush
      Src: /src/libgpg-error/src/argparse.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - is_error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: flushstrings
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - _gpgrt_fflush
    - custom_outfnc
    linkageType: ''
    returnType: void
    signature: void flushstrings (int is_error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:267,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:268,1
    - Dst: _gpgrt_nvc_release
      Src: /src/libgpg-error/src/argparse.c:272,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:274,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:275,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:276,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - gpgrt_argparse_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 284
    functionName: deinitialize
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - _gpgrt_nvc_release
    - xfree
    linkageType: ''
    returnType: void
    signature: void deinitialize (gpgrt_argparse_t *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deinitialize
      Src: /src/libgpg-error/src/argparse.c:290,1
    - Dst: exit
      Src: /src/libgpg-error/src/argparse.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - code
    argTypes:
    - gpgrt_argparse_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: my_exit
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - exit
    - deinitialize
    linkageType: ''
    returnType: void
    signature: void my_exit (gpgrt_argparse_t *arg, int code)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/argparse.c:309,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/argparse.c:311,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:315,1
    - Dst: _gpgrt_log_bug
      Src: /src/libgpg-error/src/argparse.c:371,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:393,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:395,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:397,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:399,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:401,1
    - Dst: xtrycalloc
      Src: /src/libgpg-error/src/argparse.c:407,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/argparse.c:409,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:488,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:490,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:492,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:494,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:496,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:498,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:500,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:502,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:504,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:508,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:510,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:512,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:514,1
    - Dst: _gpgrt_log_error
      Src: /src/libgpg-error/src/argparse.c:516,1
    - Dst: _gpgrt_fname_get
      Src: /src/libgpg-error/src/argparse.c:517,1
    - Dst: _gpgrt_log_error
      Src: /src/libgpg-error/src/argparse.c:524,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:524,1
    - Dst: _gpgrt_log_error
      Src: /src/libgpg-error/src/argparse.c:526,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:526,1
    - Dst: _gpgrt_log_error
      Src: /src/libgpg-error/src/argparse.c:528,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:528,1
    - Dst: _gpgrt_log_error
      Src: /src/libgpg-error/src/argparse.c:531,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:531,1
    - Dst: _gpgrt_log_error
      Src: /src/libgpg-error/src/argparse.c:533,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:533,1
    - Dst: _gpgrt_log_error
      Src: /src/libgpg-error/src/argparse.c:535,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:535,1
    - Dst: _gpgrt_log_error
      Src: /src/libgpg-error/src/argparse.c:537,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:537,1
    - Dst: _gpgrt_log_error
      Src: /src/libgpg-error/src/argparse.c:539,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:539,1
    - Dst: _gpgrt_log_error
      Src: /src/libgpg-error/src/argparse.c:543,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:543,1
    - Dst: _gpgrt_log_error
      Src: /src/libgpg-error/src/argparse.c:545,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:545,1
    - Dst: _gpgrt_log_error
      Src: /src/libgpg-error/src/argparse.c:547,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:547,1
    - Dst: _gpgrt_log_error
      Src: /src/libgpg-error/src/argparse.c:549,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:549,1
    - Dst: my_exit
      Src: /src/libgpg-error/src/argparse.c:552,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 189
    argCount: 3
    argNames:
    - arg
    - opts
    - fp
    argTypes:
    - gpgrt_argparse_t*
    - gpgrt_opt_t*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 295
    functionDepth: 9
    functionLinenumber: 295
    functionLinenumberEnd: 561
    functionName: initialize
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 22
    functionsReached:
    - _gpg_err_code_from_syserror
    - _gpgrt_log_bug
    - _
    - my_exit
    - strcmp
    - xfree
    - _gpgrt_log_error
    - xtrycalloc
    - _gpgrt_fname_get
    - xtrymalloc
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t initialize (gpgrt_argparse_t *arg, gpgrt_opt_t *opts,
      estream_t fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:572,1
    - Dst: xmalloc
      Src: /src/libgpg-error/src/argparse.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - arg
    - name
    - value
    argTypes:
    - gpgrt_argparse_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 581
    functionName: store_alias
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - xfree
    linkageType: ''
    returnType: void
    signature: void store_alias( gpgrt_argparse_t *arg, char *name, char *value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - keyword
    argTypes:
    - gpgrt_argparse_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 594
    functionName: ignore_invalid_option_p
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int ignore_invalid_option_p (gpgrt_argparse_t *arg, const char *keyword)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fgetc
      Src: /src/libgpg-error/src/argparse.c:613,1
    - Dst: isascii
      Src: /src/libgpg-error/src/argparse.c:625,1
    - Dst: isspace
      Src: /src/libgpg-error/src/argparse.c:625,1
    - Dst: isspace
      Src: /src/libgpg-error/src/argparse.c:634,1
    - Dst: DIM
      Src: /src/libgpg-error/src/argparse.c:639,1
    - Dst: isspace
      Src: /src/libgpg-error/src/argparse.c:646,1
    - Dst: ignore_invalid_option_p
      Src: /src/libgpg-error/src/argparse.c:655,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/argparse.c:657,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/argparse.c:660,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 2
    argNames:
    - arg
    - fp
    argTypes:
    - gpgrt_argparse_t*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 601
    functionDepth: 3
    functionLinenumber: 601
    functionLinenumberEnd: 669
    functionName: ignore_invalid_option_add
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - ignore_invalid_option_p
    - DIM
    - _gpgrt_fgetc
    - strcpy
    - isspace
    - xtrymalloc
    - isascii
    linkageType: ''
    returnType: int
    signature: int ignore_invalid_option_add (gpgrt_argparse_t *arg, estream_t fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - gpgrt_argparse_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 684
    functionName: ignore_invalid_option_clear
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void ignore_invalid_option_clear (gpgrt_argparse_t *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_getusername
      Src: /src/libgpg-error/src/argparse.c:693,1
    - Dst: _gpgrt_log_error
      Src: /src/libgpg-error/src/argparse.c:696,1
    - Dst: _gpg_strerror
      Src: /src/libgpg-error/src/argparse.c:698,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/src/argparse.c:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - gpgrt_argparse_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 688
    functionDepth: 9
    functionLinenumber: 688
    functionLinenumberEnd: 706
    functionName: assure_username
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - _gpg_strerror
    - _gpgrt_log_error
    - _gpgrt_getusername
    - gpg_error_from_syserror
    linkageType: ''
    returnType: int
    signature: int assure_username (gpgrt_argparse_t *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:725,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:727,1
    - Dst: assure_username
      Src: /src/libgpg-error/src/argparse.c:729,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:732,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:734,1
    - Dst: snprintf
      Src: /src/libgpg-error/src/argparse.c:736,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:739,1
    - Dst: snprintf
      Src: /src/libgpg-error/src/argparse.c:741,1
    - Dst: time
      Src: /src/libgpg-error/src/argparse.c:741,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:744,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:750,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:751,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:752,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:753,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:754,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/argparse.c:756,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:757,1
    - Dst: atoi
      Src: /src/libgpg-error/src/argparse.c:757,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:765,1
    - Dst: getenv
      Src: /src/libgpg-error/src/argparse.c:771,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 4
    argNames:
    - arg
    - name
    - numbuf
    - numbufsize
    argTypes:
    - gpgrt_argparse_t*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 712
    functionDepth: 10
    functionLinenumber: 712
    functionLinenumberEnd: 772
    functionName: get_var
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 3
    functionsReached:
    - atoi
    - snprintf
    - getenv
    - strcmp
    - assure_username
    - _gpgrt_strusage
    - time
    - strncmp
    linkageType: ''
    returnType: char
    signature: "char *\nget_var (gpgrt_argparse_t *arg, const char *name,\n         char
      *numbuf, size_t numbufsize)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/libgpg-error/src/argparse.c:787,1
    - Dst: strchr
      Src: /src/libgpg-error/src/argparse.c:793,1
    - Dst: memmove
      Src: /src/libgpg-error/src/argparse.c:799,1
    - Dst: strlen
      Src: /src/libgpg-error/src/argparse.c:799,1
    - Dst: isascii
      Src: /src/libgpg-error/src/argparse.c:823,1
    - Dst: isalnum
      Src: /src/libgpg-error/src/argparse.c:824,1
    - Dst: get_var
      Src: /src/libgpg-error/src/argparse.c:832,1
    - Dst: get_var
      Src: /src/libgpg-error/src/argparse.c:839,1
    - Dst: strlen
      Src: /src/libgpg-error/src/argparse.c:845,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/argparse.c:848,1
    - Dst: memmove
      Src: /src/libgpg-error/src/argparse.c:852,1
    - Dst: strlen
      Src: /src/libgpg-error/src/argparse.c:852,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/argparse.c:860,1
    - Dst: strlen
      Src: /src/libgpg-error/src/argparse.c:860,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:863,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/argparse.c:867,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/argparse.c:868,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/argparse.c:870,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:872,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 2
    argNames:
    - arg
    - string
    argTypes:
    - gpgrt_argparse_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 879
    functionName: substitute_vars
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 3
    functionsReached:
    - memmove
    - xtrymalloc
    - isalnum
    - strlen
    - get_var
    - xtrystrdup
    - strchr
    - xfree
    - strcpy
    - memcpy
    - isascii
    linkageType: ''
    returnType: char
    signature: 'char *

      substitute_vars (gpgrt_argparse_t *arg, const char *string)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: substitute_vars
      Src: /src/libgpg-error/src/argparse.c:893,1
    - Dst: xtrystrdup
      Src: /src/libgpg-error/src/argparse.c:895,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:903,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/argparse.c:907,1
    - Dst: strlen
      Src: /src/libgpg-error/src/argparse.c:907,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:910,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/argparse.c:913,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:918,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - arg
    - name
    - value
    - subst
    argTypes:
    - gpgrt_argparse_t*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 922
    functionName: set_variable
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 3
    functionsReached:
    - strlen
    - strcmp
    - xtrystrdup
    - xfree
    - strcpy
    - xtrymalloc
    - substitute_vars
    linkageType: ''
    returnType: int
    signature: "int set_variable (gpgrt_argparse_t *arg, const char *name, const char
      *value,\n              int subst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assure_username
      Src: /src/libgpg-error/src/argparse.c:934,1
    - Dst: strcasecmp
      Src: /src/libgpg-error/src/argparse.c:949,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - arg
    - alternate
    - args
    argTypes:
    - gpgrt_argparse_t*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 927
    functionDepth: 10
    functionLinenumber: 927
    functionLinenumberEnd: 960
    functionName: handle_meta_user
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - assure_username
    linkageType: ''
    returnType: int
    signature: int handle_meta_user (gpgrt_argparse_t *arg, unsigned int alternate,
      char *args)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/argparse.c:1018,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/argparse.c:1034,1
    - Dst: isascii
      Src: /src/libgpg-error/src/argparse.c:1047,1
    - Dst: isspace
      Src: /src/libgpg-error/src/argparse.c:1047,1
    - Dst: isascii
      Src: /src/libgpg-error/src/argparse.c:1052,1
    - Dst: isspace
      Src: /src/libgpg-error/src/argparse.c:1052,1
    - Dst: isascii
      Src: /src/libgpg-error/src/argparse.c:1055,1
    - Dst: isspace
      Src: /src/libgpg-error/src/argparse.c:1055,1
    - Dst: isascii
      Src: /src/libgpg-error/src/argparse.c:1060,1
    - Dst: isspace
      Src: /src/libgpg-error/src/argparse.c:1060,1
    - Dst: substitute_vars
      Src: /src/libgpg-error/src/argparse.c:1067,1
    - Dst: substitute_vars
      Src: /src/libgpg-error/src/argparse.c:1072,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:1075,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1083,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1083,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1099,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1104,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1109,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1110,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1111,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1112,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1113,1
    - Dst: strstr
      Src: /src/libgpg-error/src/argparse.c:1114,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1115,1
    - Dst: strstr
      Src: /src/libgpg-error/src/argparse.c:1116,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1117,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1118,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1119,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1120,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1121,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1122,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1123,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1124,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/argparse.c:1125,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/argparse.c:1125,1
    - Dst: _gpgrt_cmp_version
      Src: /src/libgpg-error/src/argparse.c:1129,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1130,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1132,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1134,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1136,1
    - Dst: strtol
      Src: /src/libgpg-error/src/argparse.c:1148,1
    - Dst: strtol
      Src: /src/libgpg-error/src/argparse.c:1149,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1151,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1153,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1155,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1157,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1159,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1161,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:1175,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:1176,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 131
    argCount: 3
    argNames:
    - arg
    - alternate
    - args
    argTypes:
    - gpgrt_argparse_t*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 999
    functionDepth: 9
    functionLinenumber: 999
    functionLinenumberEnd: 1178
    functionName: handle_meta_if
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - strtol
    - strstr
    - _gpgrt_log_info
    - _gpgrt_cmp_version
    - strcmp
    - xfree
    - isspace
    - strncmp
    - substitute_vars
    - isascii
    linkageType: ''
    returnType: int
    signature: int handle_meta_if (gpgrt_argparse_t *arg, unsigned int alternate,
      char *args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/libgpg-error/src/argparse.c:1204,1
    - Dst: isspace
      Src: /src/libgpg-error/src/argparse.c:1204,1
    - Dst: _gpgrt_trim_spaces
      Src: /src/libgpg-error/src/argparse.c:1209,1
    - Dst: isascii
      Src: /src/libgpg-error/src/argparse.c:1212,1
    - Dst: isalpha
      Src: /src/libgpg-error/src/argparse.c:1212,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:1226,1
    - Dst: set_variable
      Src: /src/libgpg-error/src/argparse.c:1233,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - arg
    - alternate
    - args
    argTypes:
    - gpgrt_argparse_t*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1236
    functionName: handle_meta_let
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - _gpgrt_trim_spaces
    - isalpha
    - set_variable
    - xfree
    - isspace
    - isascii
    linkageType: ''
    returnType: int
    signature: int handle_meta_let (gpgrt_argparse_t *arg, unsigned int alternate,
      char *args)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/argparse.c:1269,1
    - Dst: strlen
      Src: /src/libgpg-error/src/argparse.c:1269,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/argparse.c:1275,1
    - Dst: strrchr
      Src: /src/libgpg-error/src/argparse.c:1276,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/argparse.c:1277,1
    - Dst: _gpgrt_fopen
      Src: /src/libgpg-error/src/argparse.c:1278,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/argparse.c:1285,1
    - Dst: _gpgrt_nvc_parse
      Src: /src/libgpg-error/src/argparse.c:1287,1
    - Dst: _gpgrt_fclose
      Src: /src/libgpg-error/src/argparse.c:1289,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/argparse.c:1292,1
    - Dst: _gpg_strerror
      Src: /src/libgpg-error/src/argparse.c:1293,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:1296,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:1299,1
    - Dst: _gpgrt_nvc_lookup
      Src: /src/libgpg-error/src/argparse.c:1302,1
    - Dst: strchr
      Src: /src/libgpg-error/src/argparse.c:1306,1
    - Dst: _gpgrt_nvc_lookup
      Src: /src/libgpg-error/src/argparse.c:1308,1
    - Dst: _gpgrt_nve_value
      Src: /src/libgpg-error/src/argparse.c:1310,1
    - Dst: xtrystrdup
      Src: /src/libgpg-error/src/argparse.c:1311,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - arg
    - name
    - r_err
    argTypes:
    - gpgrt_argparse_t*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1244
    functionDepth: 9
    functionLinenumber: 1244
    functionLinenumberEnd: 1312
    functionName: emulated_registry_lookup
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - _gpgrt_nve_value
    - _gpgrt_fclose
    - strlen
    - _gpgrt_log_info
    - _gpgrt_nvc_parse
    - xtrystrdup
    - strchr
    - _gpgrt_nvc_lookup
    - strcpy
    - _gpg_strerror
    - xfree
    - strrchr
    - _gpgrt_fopen
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      emulated_registry_lookup (gpgrt_argparse_t *arg, const char *name, int *r_err)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/libgpg-error/src/argparse.c:1330,1
    - Dst: isspace
      Src: /src/libgpg-error/src/argparse.c:1330,1
    - Dst: _gpgrt_trim_spaces
      Src: /src/libgpg-error/src/argparse.c:1336,1
    - Dst: isascii
      Src: /src/libgpg-error/src/argparse.c:1339,1
    - Dst: isalpha
      Src: /src/libgpg-error/src/argparse.c:1339,1
    - Dst: _gpgrt_w32_reg_get_string
      Src: /src/libgpg-error/src/argparse.c:1348,1
    - Dst: emulated_registry_lookup
      Src: /src/libgpg-error/src/argparse.c:1355,1
    - Dst: getenv
      Src: /src/libgpg-error/src/argparse.c:1361,1
    - Dst: set_variable
      Src: /src/libgpg-error/src/argparse.c:1364,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:1365,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - arg
    - alternate
    - args
    argTypes:
    - gpgrt_argparse_t*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1320
    functionDepth: 11
    functionLinenumber: 1320
    functionLinenumberEnd: 1367
    functionName: handle_meta_getenv
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - _gpgrt_trim_spaces
    - isalpha
    - getenv
    - set_variable
    - _gpgrt_w32_reg_get_string
    - xfree
    - isspace
    - emulated_registry_lookup
    - isascii
    linkageType: ''
    returnType: int
    signature: int handle_meta_getenv (gpgrt_argparse_t *arg, unsigned int alternate,
      char *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - alternate
    - args
    argTypes:
    - gpgrt_argparse_t*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1381
    functionName: handle_meta_force
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int handle_meta_force (gpgrt_argparse_t *arg, unsigned int alternate,
      char *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - arg
    - alternate
    - args
    argTypes:
    - gpgrt_argparse_t*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1407
    functionName: handle_meta_ignore
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int handle_meta_ignore (gpgrt_argparse_t *arg, unsigned int alternate,
      char *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: substitute_vars
      Src: /src/libgpg-error/src/argparse.c:1418,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/argparse.c:1423,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/argparse.c:1425,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:1427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - arg
    - alternate
    - args
    argTypes:
    - gpgrt_argparse_t*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1413
    functionDepth: 9
    functionLinenumber: 1413
    functionLinenumberEnd: 1429
    functionName: handle_meta_echo
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - _gpgrt_log_info
    - xfree
    - substitute_vars
    linkageType: ''
    returnType: int
    signature: int handle_meta_echo (gpgrt_argparse_t *arg, unsigned int alternate,
      char *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - arg
    - alternate
    - args
    argTypes:
    - gpgrt_argparse_t*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1444
    functionName: handle_meta_verbose
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int handle_meta_verbose (gpgrt_argparse_t *arg, unsigned int alternate,
      char *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - arg
    - alternate
    - args
    argTypes:
    - gpgrt_argparse_t*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1459
    functionName: handle_meta_command
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int handle_meta_command (gpgrt_argparse_t *arg, unsigned int alternate,
      char *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - arg
    - alternate
    - args
    argTypes:
    - gpgrt_argparse_t*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1474
    functionName: handle_meta_expand
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int handle_meta_expand (gpgrt_argparse_t *arg, unsigned int alternate,
      char *args)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/libgpg-error/src/argparse.c:1525,1
    - Dst: isspace
      Src: /src/libgpg-error/src/argparse.c:1525,1
    - Dst: _gpgrt_trim_spaces
      Src: /src/libgpg-error/src/argparse.c:1530,1
    - Dst: DIM
      Src: /src/libgpg-error/src/argparse.c:1533,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1534,1
    - Dst: DIM
      Src: /src/libgpg-error/src/argparse.c:1536,1
    - Dst: func
      Src: /src/libgpg-error/src/argparse.c:1562,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 25
    argCount: 2
    argNames:
    - arg
    - keyword
    argTypes:
    - gpgrt_argparse_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1480
    functionDepth: 1
    functionLinenumber: 1480
    functionLinenumberEnd: 1563
    functionName: handle_metacmd
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - _gpgrt_trim_spaces
    - DIM
    - func
    - strcmp
    - isspace
    - isascii
    linkageType: ''
    returnType: int
    signature: int handle_metacmd (gpgrt_argparse_t *arg, char *keyword)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 5
    argNames:
    - arg
    - opts
    - idx
    - in_alias
    - set_ignore
    argTypes:
    - gpgrt_argparse_t*
    - opttable_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1592
    functionName: prepare_arg_return
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void prepare_arg_return (gpgrt_argparse_t *arg, opttable_t *opts,\n
      \                   int idx, int in_alias, int set_ignore)"
  - BBCount: 81
    BranchProfiles: []
    Callsites:
    - Dst: deinitialize
      Src: /src/libgpg-error/src/argparse.c:1646,1
    - Dst: arg_parse
      Src: /src/libgpg-error/src/argparse.c:1651,1
    - Dst: initialize
      Src: /src/libgpg-error/src/argparse.c:1653,1
    - Dst: _gpgrt_fgetc
      Src: /src/libgpg-error/src/argparse.c:1663,1
    - Dst: _gpgrt_fgetc
      Src: /src/libgpg-error/src/argparse.c:1664,1
    - Dst: _gpgrt_fgetc
      Src: /src/libgpg-error/src/argparse.c:1665,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1694,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1702,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:1707,1
    - Dst: ignore_invalid_option_add
      Src: /src/libgpg-error/src/argparse.c:1715,1
    - Dst: ignore_invalid_option_p
      Src: /src/libgpg-error/src/argparse.c:1725,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/argparse.c:1777,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/argparse.c:1796,1
    - Dst: prepare_arg_return
      Src: /src/libgpg-error/src/argparse.c:1821,1
    - Dst: prepare_arg_return
      Src: /src/libgpg-error/src/argparse.c:1830,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/argparse.c:1840,1
    - Dst: _gpgrt_trim_spaces
      Src: /src/libgpg-error/src/argparse.c:1841,1
    - Dst: handle_metacmd
      Src: /src/libgpg-error/src/argparse.c:1847,1
    - Dst: _gpgrt_fgetc
      Src: /src/libgpg-error/src/argparse.c:1863,1
    - Dst: prepare_arg_return
      Src: /src/libgpg-error/src/argparse.c:1890,1
    - Dst: strpbrk
      Src: /src/libgpg-error/src/argparse.c:1906,1
    - Dst: _gpgrt_trim_spaces
      Src: /src/libgpg-error/src/argparse.c:1910,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:1915,1
    - Dst: store_alias
      Src: /src/libgpg-error/src/argparse.c:1920,1
    - Dst: xtrystrdup
      Src: /src/libgpg-error/src/argparse.c:1933,1
    - Dst: _gpgrt_trim_spaces
      Src: /src/libgpg-error/src/argparse.c:1942,1
    - Dst: strlen
      Src: /src/libgpg-error/src/argparse.c:1948,1
    - Dst: strlen
      Src: /src/libgpg-error/src/argparse.c:1949,1
    - Dst: strchr
      Src: /src/libgpg-error/src/argparse.c:1952,1
    - Dst: substitute_vars
      Src: /src/libgpg-error/src/argparse.c:1954,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:1957,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:1963,1
    - Dst: set_opt_arg
      Src: /src/libgpg-error/src/argparse.c:1968,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:1969,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/libgpg-error/src/argparse.c:1971,1
    - Dst: ignore_invalid_option_clear
      Src: /src/libgpg-error/src/argparse.c:1989,1
    - Dst: _gpgrt_ferror
      Src: /src/libgpg-error/src/argparse.c:1990,1
    - Dst: isascii
      Src: /src/libgpg-error/src/argparse.c:2009,1
    - Dst: isspace
      Src: /src/libgpg-error/src/argparse.c:2009,1
    - Dst: isascii
      Src: /src/libgpg-error/src/argparse.c:2028,1
    - Dst: isspace
      Src: /src/libgpg-error/src/argparse.c:2028,1
    - Dst: isascii
      Src: /src/libgpg-error/src/argparse.c:2034,1
    - Dst: isspace
      Src: /src/libgpg-error/src/argparse.c:2034,1
    - Dst: isascii
      Src: /src/libgpg-error/src/argparse.c:2049,1
    - Dst: isspace
      Src: /src/libgpg-error/src/argparse.c:2049,1
    - Dst: xtryrealloc
      Src: /src/libgpg-error/src/argparse.c:2068,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:2077,1
    - Dst: DIM
      Src: /src/libgpg-error/src/argparse.c:2083,1
    - Dst: DIM
      Src: /src/libgpg-error/src/argparse.c:2087,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/argparse.c:2088,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/argparse.c:2092,1
    - Dst: DIM
      Src: /src/libgpg-error/src/argparse.c:2102,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 323
    argCount: 3
    argNames:
    - fp
    - arg
    - opts_orig
    argTypes:
    - estream_t
    - gpgrt_argparse_t*
    - gpgrt_opt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 1616
    functionDepth: 9
    functionLinenumber: 1616
    functionLinenumberEnd: 2120
    functionName: _gpgrt_argparse
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 1
    functionsReached:
    - _gpgrt_trim_spaces
    - handle_metacmd
    - ignore_invalid_option_p
    - strlen
    - _gpgrt_fgetc
    - prepare_arg_return
    - ignore_invalid_option_add
    - xtrymalloc
    - memcpy
    - substitute_vars
    - isascii
    - _gpgrt_log_info
    - DIM
    - gpgrt_annotate_leaked_object
    - ignore_invalid_option_clear
    - strpbrk
    - initialize
    - strcmp
    - xtrystrdup
    - strchr
    - xfree
    - _gpgrt_ferror
    - gpgrt_assert
    - arg_parse
    - xtryrealloc
    - deinitialize
    - isspace
    - set_opt_arg
    - store_alias
    linkageType: ''
    returnType: int
    signature: int _gpgrt_argparse (estream_t fp, gpgrt_argparse_t *arg, gpgrt_opt_t
      *opts_orig)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - opts
    - nopts
    argTypes:
    - opttable_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2125
    functionDepth: 0
    functionLinenumber: 2125
    functionLinenumberEnd: 2134
    functionName: any_opt_conffile
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int any_opt_conffile (opttable_t *opts, unsigned int nopts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgpg-error/src/argparse.c:2144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2158
    functionName: is_absfname
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int is_absfname (const char *fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgpg-error/src/argparse.c:2172,1
    - Dst: is_absfname
      Src: /src/libgpg-error/src/argparse.c:2172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2167
    functionDepth: 1
    functionLinenumber: 2167
    functionLinenumberEnd: 2175
    functionName: is_twopartfname
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - is_absfname
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      is_twopartfname (const char *fname)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:2196,1
    - Dst: _gpgrt_strconcat
      Src: /src/libgpg-error/src/argparse.c:2203,1
    - Dst: strlen
      Src: /src/libgpg-error/src/argparse.c:2206,1
    - Dst: strlen
      Src: /src/libgpg-error/src/argparse.c:2208,1
    - Dst: _gpgrt_access
      Src: /src/libgpg-error/src/argparse.c:2211,1
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/argparse.c:2225,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - configname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2193
    functionDepth: 11
    functionLinenumber: 2193
    functionLinenumberEnd: 2227
    functionName: try_versioned_conffile
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - strlen
    - _gpgrt_strconcat
    - _gpgrt_free
    - _gpgrt_access
    - _gpgrt_strusage
    linkageType: ''
    returnType: char
    signature: 'char *

      try_versioned_conffile (const char *configname)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - gpgrt_argparse_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2256
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2256
    functionName: finish_read_sys
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void finish_read_sys (gpgrt_argparse_t *arg)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: deinitialize
      Src: /src/libgpg-error/src/argparse.c:2289,1
    - Dst: initialize
      Src: /src/libgpg-error/src/argparse.c:2295,1
    - Dst: any_opt_conffile
      Src: /src/libgpg-error/src/argparse.c:2303,1
    - Dst: arg_parse
      Src: /src/libgpg-error/src/argparse.c:2318,1
    - Dst: xtrystrdup
      Src: /src/libgpg-error/src/argparse.c:2329,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:2342,1
    - Dst: is_twopartfname
      Src: /src/libgpg-error/src/argparse.c:2371,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/argparse.c:2373,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/argparse.c:2376,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:2382,1
    - Dst: _gpgrt_fconcat
      Src: /src/libgpg-error/src/argparse.c:2384,1
    - Dst: _gpgrt_fconcat
      Src: /src/libgpg-error/src/argparse.c:2387,1
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/argparse.c:2389,1
    - Dst: _gpgrt_fclose
      Src: /src/libgpg-error/src/argparse.c:2400,1
    - Dst: _gpgrt_fopen
      Src: /src/libgpg-error/src/argparse.c:2401,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/argparse.c:2405,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:2405,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/argparse.c:2415,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:2415,1
    - Dst: xtrystrdup
      Src: /src/libgpg-error/src/argparse.c:2419,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/libgpg-error/src/argparse.c:2424,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:2436,1
    - Dst: xtrystrdup
      Src: /src/libgpg-error/src/argparse.c:2438,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:2458,1
    - Dst: is_twopartfname
      Src: /src/libgpg-error/src/argparse.c:2459,1
    - Dst: _gpgrt_fnameconcat
      Src: /src/libgpg-error/src/argparse.c:2461,1
    - Dst: _gpgrt_fnameconcat
      Src: /src/libgpg-error/src/argparse.c:2467,1
    - Dst: try_versioned_conffile
      Src: /src/libgpg-error/src/argparse.c:2472,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:2474,1
    - Dst: _gpgrt_fclose
      Src: /src/libgpg-error/src/argparse.c:2487,1
    - Dst: _gpgrt_fopen
      Src: /src/libgpg-error/src/argparse.c:2488,1
    - Dst: _gpgrt_log_error
      Src: /src/libgpg-error/src/argparse.c:2494,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:2494,1
    - Dst: strerror
      Src: /src/libgpg-error/src/argparse.c:2495,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/argparse.c:2502,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:2502,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/argparse.c:2509,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:2509,1
    - Dst: xtrystrdup
      Src: /src/libgpg-error/src/argparse.c:2512,1
    - Dst: gpgrt_annotate_leaked_object
      Src: /src/libgpg-error/src/argparse.c:2517,1
    - Dst: _gpgrt_fclose
      Src: /src/libgpg-error/src/argparse.c:2524,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:2526,1
    - Dst: _gpgrt_argparse
      Src: /src/libgpg-error/src/argparse.c:2548,1
    - Dst: finish_read_sys
      Src: /src/libgpg-error/src/argparse.c:2551,1
    - Dst: _gpgrt_argparse
      Src: /src/libgpg-error/src/argparse.c:2560,1
    - Dst: arg_parse
      Src: /src/libgpg-error/src/argparse.c:2571,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 213
    argCount: 3
    argNames:
    - arg
    - opts
    - confname
    argTypes:
    - gpgrt_argparse_t*
    - gpgrt_opt_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2587
      start: 2282
    functionDepth: 12
    functionLinenumber: 2282
    functionLinenumberEnd: 2587
    functionName: _gpgrt_argparser
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 1
    functionsReached:
    - _gpgrt_fnameconcat
    - _gpgrt_free
    - _gpgrt_argparse
    - memcpy
    - xtrymalloc
    - _gpgrt_log_info
    - _
    - gpgrt_annotate_leaked_object
    - _gpgrt_fopen
    - finish_read_sys
    - initialize
    - xtrystrdup
    - try_versioned_conffile
    - xfree
    - _gpgrt_log_error
    - is_twopartfname
    - arg_parse
    - _gpgrt_fclose
    - deinitialize
    - _gpgrt_fconcat
    - strerror
    - any_opt_conffile
    linkageType: ''
    returnType: int
    signature: "int _gpgrt_argparser (gpgrt_argparse_t *arg, gpgrt_opt_t *opts,\n
      \                 const char *confname)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:2616,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:2623,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:2633,1
    - Dst: strlen
      Src: /src/libgpg-error/src/argparse.c:2644,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/argparse.c:2647,1
    - Dst: strncmp
      Src: /src/libgpg-error/src/argparse.c:2653,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 3
    argNames:
    - arg
    - keyword
    - only_commands
    argTypes:
    - gpgrt_argparse_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2594
    functionDepth: 0
    functionLinenumber: 2594
    functionLinenumberEnd: 2662
    functionName: find_long_option
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int find_long_option (gpgrt_argparse_t *arg, const char *keyword, int
      only_commands)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: show_help
      Src: /src/libgpg-error/src/argparse.c:2677,1
    - Dst: my_exit
      Src: /src/libgpg-error/src/argparse.c:2678,1
    - Dst: show_version
      Src: /src/libgpg-error/src/argparse.c:2684,1
    - Dst: my_exit
      Src: /src/libgpg-error/src/argparse.c:2685,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:2690,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:2690,1
    - Dst: my_exit
      Src: /src/libgpg-error/src/argparse.c:2691,1
    - Dst: dump_option_table
      Src: /src/libgpg-error/src/argparse.c:2694,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:2700,1
    - Dst: my_exit
      Src: /src/libgpg-error/src/argparse.c:2702,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 2
    argNames:
    - arg
    - idx
    argTypes:
    - gpgrt_argparse_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2704
      start: 2668
    functionDepth: 6
    functionLinenumber: 2668
    functionLinenumberEnd: 2704
    functionName: handle_special_commands
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - writestrings
    - dump_option_table
    - show_version
    - my_exit
    - show_help
    - _gpgrt_strusage
    linkageType: ''
    returnType: void
    signature: void handle_special_commands (gpgrt_argparse_t *arg, int idx)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/libgpg-error/src/argparse.c:2721,1
    - Dst: strchr
      Src: /src/libgpg-error/src/argparse.c:2774,1
    - Dst: find_long_option
      Src: /src/libgpg-error/src/argparse.c:2777,1
    - Dst: handle_special_commands
      Src: /src/libgpg-error/src/argparse.c:2781,1
    - Dst: set_opt_arg
      Src: /src/libgpg-error/src/argparse.c:2827,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:2859,1
    - Dst: show_help
      Src: /src/libgpg-error/src/argparse.c:2877,1
    - Dst: my_exit
      Src: /src/libgpg-error/src/argparse.c:2878,1
    - Dst: set_opt_arg
      Src: /src/libgpg-error/src/argparse.c:2894,1
    - Dst: set_opt_arg
      Src: /src/libgpg-error/src/argparse.c:2919,1
    - Dst: find_long_option
      Src: /src/libgpg-error/src/argparse.c:2944,1
    - Dst: handle_special_commands
      Src: /src/libgpg-error/src/argparse.c:2946,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/argparse.c:2980,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:2980,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 205
    argCount: 3
    argNames:
    - arg
    - opts_orig
    - no_init
    argTypes:
    - gpgrt_argparse_t*
    - gpgrt_opt_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2992
      start: 2708
    functionDepth: 9
    functionLinenumber: 2708
    functionLinenumberEnd: 2992
    functionName: arg_parse
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 2
    functionsReached:
    - handle_special_commands
    - initialize
    - _gpgrt_log_info
    - _
    - my_exit
    - strcmp
    - strchr
    - find_long_option
    - show_help
    - set_opt_arg
    linkageType: ''
    returnType: int
    signature: int arg_parse (gpgrt_argparse_t *arg, gpgrt_opt_t *opts_orig, int no_init)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/libgpg-error/src/argparse.c:3009,1
    - Dst: isascii
      Src: /src/libgpg-error/src/argparse.c:3027,1
    - Dst: isspace
      Src: /src/libgpg-error/src/argparse.c:3027,1
    - Dst: strtoul
      Src: /src/libgpg-error/src/argparse.c:3036,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - arg
    - flags
    - s
    argTypes:
    - gpgrt_argparse_t*
    - unsigned
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3049
      start: 2997
    functionDepth: 0
    functionLinenumber: 2997
    functionLinenumberEnd: 3049
    functionName: set_opt_arg
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 2
    functionsReached:
    - strtol
    - strtoul
    - isspace
    - isascii
    linkageType: ''
    returnType: int
    signature: int set_opt_arg (gpgrt_argparse_t *arg, unsigned flags, char *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgpg-error/src/argparse.c:3057,1
    - Dst: is_native_utf8
      Src: /src/libgpg-error/src/argparse.c:3062,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - o
    argTypes:
    - opttable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3075
      start: 3054
    functionDepth: 0
    functionLinenumber: 3054
    functionLinenumberEnd: 3075
    functionName: long_opt_strlen
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached:
    - is_native_utf8
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t long_opt_strlen (opttable_t *o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a_v
    - b_v
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3087
      start: 3080
    functionDepth: 0
    functionLinenumber: 3080
    functionLinenumberEnd: 3087
    functionName: cmp_ordtbl
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_ordtbl (const void *a_v, const void *b_v)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: show_version
      Src: /src/libgpg-error/src/argparse.c:3109,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3110,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3111,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3114,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3115,1
    - Dst: strlen
      Src: /src/libgpg-error/src/argparse.c:3116,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3117,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3119,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3120,1
    - Dst: xtrycalloc
      Src: /src/libgpg-error/src/argparse.c:3127,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3130,1
    - Dst: long_opt_strlen
      Src: /src/libgpg-error/src/argparse.c:3140,1
    - Dst: qsort
      Src: /src/libgpg-error/src/argparse.c:3145,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3157,1
    - Dst: map_fixed_string
      Src: /src/libgpg-error/src/argparse.c:3163,1
    - Dst: _
      Src: /src/libgpg-error/src/argparse.c:3163,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3179,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3184,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3194,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3200,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3203,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3212,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3217,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3222,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3230,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3237,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3240,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3246,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3253,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3258,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3262,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3267,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3269,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3277,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3279,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3286,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3290,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3293,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3296,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3298,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3299,1
    - Dst: flushstrings
      Src: /src/libgpg-error/src/argparse.c:3303,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:3304,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 143
    argCount: 3
    argNames:
    - opts
    - nopts
    - flags
    argTypes:
    - opttable_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3305
      start: 3102
    functionDepth: 6
    functionLinenumber: 3102
    functionLinenumberEnd: 3305
    functionName: show_help
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 2
    functionsReached:
    - long_opt_strlen
    - strlen
    - map_fixed_string
    - writestrings
    - show_version
    - _
    - flushstrings
    - xfree
    - qsort
    - xtrycalloc
    - _gpgrt_strusage
    linkageType: ''
    returnType: void
    signature: void show_help (opttable_t *opts, unsigned int nopts, unsigned int
      flags)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3315,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3315,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3316,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3317,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3318,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3318,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3321,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3322,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3324,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3325,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3327,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3328,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3330,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3331,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3333,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3334,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3337,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3338,1
    - Dst: flushstrings
      Src: /src/libgpg-error/src/argparse.c:3339,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3340
      start: 3308
    functionDepth: 6
    functionLinenumber: 3308
    functionLinenumberEnd: 3340
    functionName: show_version
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 2
    functionsReached:
    - _gpgrt_strusage
    - writestrings
    - flushstrings
    linkageType: ''
    returnType: void
    signature: void show_version (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/libgpg-error/src/argparse.c:3359,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3362,1
    - Dst: flushstrings
      Src: /src/libgpg-error/src/argparse.c:3364,1
    - Dst: my_exit
      Src: /src/libgpg-error/src/argparse.c:3365,1
    - Dst: qsort
      Src: /src/libgpg-error/src/argparse.c:3369,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3374,1
    - Dst: snprintf
      Src: /src/libgpg-error/src/argparse.c:3375,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3378,1
    - Dst: snprintf
      Src: /src/libgpg-error/src/argparse.c:3385,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3391,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3394,1
    - Dst: flushstrings
      Src: /src/libgpg-error/src/argparse.c:3397,1
    - Dst: xfree
      Src: /src/libgpg-error/src/argparse.c:3398,1
    - Dst: my_exit
      Src: /src/libgpg-error/src/argparse.c:3399,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - arg
    argTypes:
    - gpgrt_argparse_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3400
      start: 3344
    functionDepth: 6
    functionLinenumber: 3344
    functionLinenumberEnd: 3400
    functionName: dump_option_table
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 1
    functionsReached:
    - snprintf
    - writestrings
    - flushstrings
    - my_exit
    - xfree
    - qsort
    - xtrycalloc
    linkageType: ''
    returnType: void
    signature: void dump_option_table (gpgrt_argparse_t *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3410,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3410,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3410,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3411,1
    - Dst: flushstrings
      Src: /src/libgpg-error/src/argparse.c:3412,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3416,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3417,1
    - Dst: strlen
      Src: /src/libgpg-error/src/argparse.c:3418,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3419,1
    - Dst: exit
      Src: /src/libgpg-error/src/argparse.c:3420,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3424,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3427,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3428,1
    - Dst: strlen
      Src: /src/libgpg-error/src/argparse.c:3429,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3430,1
    - Dst: writestrings
      Src: /src/libgpg-error/src/argparse.c:3432,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3432,1
    - Dst: exit
      Src: /src/libgpg-error/src/argparse.c:3433,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3435
      start: 3403
    functionDepth: 6
    functionLinenumber: 3403
    functionLinenumberEnd: 3435
    functionName: _gpgrt_usage
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 1
    functionsReached:
    - strlen
    - writestrings
    - exit
    - flushstrings
    - _gpgrt_strusage
    linkageType: ''
    returnType: void
    signature: void _gpgrt_usage (int level)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strusage_handler
      Src: /src/libgpg-error/src/argparse.c:3468,1
    - Dst: map_fixed_string
      Src: /src/libgpg-error/src/argparse.c:3472,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3483,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:3484,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:3486,1
    - Dst: _gpgrt_strusage
      Src: /src/libgpg-error/src/argparse.c:3499,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:3500,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/argparse.c:3512,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3542
      start: 3465
    functionDepth: 1
    functionLinenumber: 3465
    functionLinenumberEnd: 3542
    functionName: _gpgrt_strusage
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 9
    functionsReached:
    - _gpgrt_strusage
    - strcmp
    - strusage_handler
    - map_fixed_string
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_strusage (int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (*f)(int)
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3550
      start: 3546
    functionDepth: 0
    functionLinenumber: 3546
    functionLinenumberEnd: 3550
    functionName: _gpgrt_set_strusage
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gpgrt_set_strusage (const char *(*f)(int) )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3562
      start: 3558
    functionDepth: 0
    functionLinenumber: 3558
    functionLinenumberEnd: 3562
    functionName: _gpgrt_set_usage_outfnc
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gpgrt_set_usage_outfnc (int (*f)(int, const char *))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (*f)(const char*)
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3573
      start: 3569
    functionDepth: 0
    functionLinenumber: 3569
    functionLinenumberEnd: 3573
    functionName: _gpgrt_set_fixed_string_mapper
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gpgrt_set_fixed_string_mapper (const char *(*f)(const char*))
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/argparse.c:3597,1
    - Dst: _gpgrt_strdup
      Src: /src/libgpg-error/src/argparse.c:3598,1
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/argparse.c:3602,1
    - Dst: _gpgrt_strdup
      Src: /src/libgpg-error/src/argparse.c:3603,1
    - Dst: _gpgrt_log_fatal
      Src: /src/libgpg-error/src/argparse.c:3609,1
    - Dst: strlen
      Src: /src/libgpg-error/src/argparse.c:3619,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - what
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3625
      start: 3590
    functionDepth: 9
    functionLinenumber: 3590
    functionLinenumberEnd: 3625
    functionName: _gpgrt_set_confdir
    functionSourceFile: /src/libgpg-error/src/argparse.c
    functionUses: 1
    functionsReached:
    - _gpgrt_log_fatal
    - _gpgrt_strdup
    - _gpgrt_free
    - strlen
    linkageType: ''
    returnType: void
    signature: void _gpgrt_set_confdir (int what, const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgpg-error/src/gen-posix-lock-obj.c:87,1
    - Dst: exit
      Src: /src/libgpg-error/src/gen-posix-lock-obj.c:88,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/gen-posix-lock-obj.c:94,1
    - Dst: exit
      Src: /src/libgpg-error/src/gen-posix-lock-obj.c:95,1
    - Dst: printf
      Src: /src/libgpg-error/src/gen-posix-lock-obj.c:98,1
    - Dst: printf
      Src: /src/libgpg-error/src/gen-posix-lock-obj.c:114,1
    - Dst: printf
      Src: /src/libgpg-error/src/gen-posix-lock-obj.c:141,1
    - Dst: printf
      Src: /src/libgpg-error/src/gen-posix-lock-obj.c:142,1
    - Dst: putchar
      Src: /src/libgpg-error/src/gen-posix-lock-obj.c:144,1
    - Dst: fputs
      Src: /src/libgpg-error/src/gen-posix-lock-obj.c:146,1
    - Dst: printf
      Src: /src/libgpg-error/src/gen-posix-lock-obj.c:150,1
    - Dst: fputs
      Src: /src/libgpg-error/src/gen-posix-lock-obj.c:161,1
    - Dst: ferror
      Src: /src/libgpg-error/src/gen-posix-lock-obj.c:168,1
    - Dst: fprintf
      Src: /src/libgpg-error/src/gen-posix-lock-obj.c:170,1
    - Dst: strerror
      Src: /src/libgpg-error/src/gen-posix-lock-obj.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 175
    functionName: main
    functionSourceFile: /src/libgpg-error/src/gen-posix-lock-obj.c
    functionUses: 16
    functionsReached:
    - printf
    - ferror
    - exit
    - fprintf
    - fputs
    - strerror
    - putchar
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libgpg-error/src/mkerrcodes.c:55,1
    - Dst: printf
      Src: /src/libgpg-error/src/mkerrcodes.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/libgpg-error/src/mkerrcodes.c
    functionUses: 16
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - 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: ascii_isspace
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ascii_isspace(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: spacep
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 140
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: spacep(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: digitp
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 159
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digitp(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: alphap
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: alphap(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: alnump
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: alnump(p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: ascii_toupper
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: GPGRT_INLINE
    signature: GPGRT_INLINE ascii_toupper (int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_toupper
      Src: /src/libgpg-error/src/name-value.c:95,1
    - Dst: ascii_toupper
      Src: /src/libgpg-error/src/name-value.c:95,1
    - Dst: ascii_toupper
      Src: /src/libgpg-error/src/name-value.c:98,1
    - Dst: ascii_toupper
      Src: /src/libgpg-error/src/name-value.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: ascii_strcasecmp
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 101
    functionsReached:
    - ascii_toupper
    linkageType: ''
    returnType: int
    signature: int ascii_strcasecmp (const char *a, const char *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_toupper
      Src: /src/libgpg-error/src/name-value.c:111,1
    - Dst: ascii_toupper
      Src: /src/libgpg-error/src/name-value.c:111,1
    - Dst: ascii_toupper
      Src: /src/libgpg-error/src/name-value.c:112,1
    - Dst: ascii_toupper
      Src: /src/libgpg-error/src/name-value.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - a_arg
    - b_arg
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: ascii_memcasecmp
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 8
    functionsReached:
    - ascii_toupper
    linkageType: ''
    returnType: int
    signature: int ascii_memcasecmp (const void *a_arg, const void *b_arg, size_t
      n )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgpg-error/src/name-value.c:123,1
    - Dst: ascii_memcasecmp
      Src: /src/libgpg-error/src/name-value.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - name
    - namelen
    - string
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: same_name_p
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 0
    functionsReached:
    - ascii_memcasecmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int same_name_p (const char *name, size_t namelen, const char *string)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/libgpg-error/src/name-value.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: _gpgrt_nvc_new
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 1
    functionsReached:
    - xtrycalloc
    linkageType: ''
    returnType: gpgrt_nvc_t
    signature: gpgrt_nvc_t _gpgrt_nvc_new (unsigned int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgpg-error/src/name-value.c:165,1
    - Dst: _gpgrt_wipememory
      Src: /src/libgpg-error/src/name-value.c:167,1
    - Dst: strlen
      Src: /src/libgpg-error/src/name-value.c:167,1
    - Dst: xfree
      Src: /src/libgpg-error/src/name-value.c:168,1
    - Dst: _gpgrt_strlist_free
      Src: /src/libgpg-error/src/name-value.c:169,1
    - Dst: xfree
      Src: /src/libgpg-error/src/name-value.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - entry
    - with_wipe
    argTypes:
    - gpgrt_nve_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: nve_release
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 2
    functionsReached:
    - _gpgrt_wipememory
    - xfree
    - _gpgrt_strlist_free
    - strlen
    linkageType: ''
    returnType: void
    signature: void nve_release (gpgrt_nve_t entry, int with_wipe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nve_release
      Src: /src/libgpg-error/src/name-value.c:186,1
    - Dst: xfree
      Src: /src/libgpg-error/src/name-value.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cont
    argTypes:
    - gpgrt_nvc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 190
    functionName: _gpgrt_nvc_release
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 2
    functionsReached:
    - nve_release
    - xfree
    linkageType: ''
    returnType: void
    signature: void _gpgrt_nvc_release (gpgrt_nvc_t cont)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - cont
    - flags
    - clear
    argTypes:
    - gpgrt_nvc_t
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 218
    functionName: _gpgrt_nvc_get_flag
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gpgrt_nvc_get_flag (gpgrt_nvc_t cont, unsigned int flags, int
      clear)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libgpg-error/src/name-value.c:238,1
    - Dst: strlen
      Src: /src/libgpg-error/src/name-value.c:246,1
    - Dst: alphap
      Src: /src/libgpg-error/src/name-value.c:247,1
    - Dst: alnump
      Src: /src/libgpg-error/src/name-value.c:255,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - name
    - sectionmode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 259
    functionName: valid_name
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 3
    functionsReached:
    - alnump
    - strchr
    - alphap
    - strlen
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int valid_name (const char *name, int sectionmode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgpg-error/src/name-value.c:274,1
    - Dst: strlen
      Src: /src/libgpg-error/src/name-value.c:281,1
    - Dst: strlen
      Src: /src/libgpg-error/src/name-value.c:282,1
    - Dst: ascii_isspace
      Src: /src/libgpg-error/src/name-value.c:293,1
    - Dst: ascii_isspace
      Src: /src/libgpg-error/src/name-value.c:296,1
    - Dst: snprintf
      Src: /src/libgpg-error/src/name-value.c:308,1
    - Dst: _gpgrt_strlist_add
      Src: /src/libgpg-error/src/name-value.c:310,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/name-value.c:314,1
    - Dst: _gpgrt_strlist_free
      Src: /src/libgpg-error/src/name-value.c:325,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - entry
    argTypes:
    - gpgrt_nve_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 331
    functionName: assert_raw_value
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 1
    functionsReached:
    - ascii_isspace
    - _gpg_err_code_from_syserror
    - _gpgrt_strlist_free
    - _gpgrt_strlist_add
    - strlen
    - snprintf
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t assert_raw_value (gpgrt_nve_t entry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isspace
      Src: /src/libgpg-error/src/name-value.c:347,1
    - Dst: ascii_isspace
      Src: /src/libgpg-error/src/name-value.c:354,1
    - Dst: strlen
      Src: /src/libgpg-error/src/name-value.c:359,1
    - Dst: ascii_isspace
      Src: /src/libgpg-error/src/name-value.c:360,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - s
    - swallow_ws
    - start
    argTypes:
    - char*
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 377
    functionName: continuation_length
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 1
    functionsReached:
    - ascii_isspace
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t continuation_length (const char *s, int *swallow_ws, const char
      **start)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: continuation_length
      Src: /src/libgpg-error/src/name-value.c:395,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/name-value.c:400,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/name-value.c:402,1
    - Dst: continuation_length
      Src: /src/libgpg-error/src/name-value.c:408,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/name-value.c:410,1
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/name-value.c:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - entry
    argTypes:
    - gpgrt_nve_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 418
    functionName: assert_value
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 2
    functionsReached:
    - continuation_length
    - _gpg_err_code_from_syserror
    - memcpy
    - gpgrt_assert
    - xtrymalloc
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t assert_value (gpgrt_nve_t entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - gpgrt_nve_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: _gpgrt_nve_name
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_nve_name (gpgrt_nve_t entry)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_value
      Src: /src/libgpg-error/src/name-value.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - entry
    argTypes:
    - gpgrt_nve_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 436
    functionName: _gpgrt_nve_value
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 2
    functionsReached:
    - assert_value
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_nve_value (gpgrt_nve_t entry)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_assert
      Src: /src/libgpg-error/src/name-value.c:454,1
    - Dst: valid_name
      Src: /src/libgpg-error/src/name-value.c:456,1
    - Dst: same_name_p
      Src: /src/libgpg-error/src/name-value.c:465,1
    - Dst: _gpgrt_nvc_lookup
      Src: /src/libgpg-error/src/name-value.c:466,1
    - Dst: xtrycalloc
      Src: /src/libgpg-error/src/name-value.c:472,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/name-value.c:475,1
    - Dst: _gpgrt_nvc_lookup
      Src: /src/libgpg-error/src/name-value.c:494,1
    - Dst: same_name_p
      Src: /src/libgpg-error/src/name-value.c:504,1
    - Dst: xfree
      Src: /src/libgpg-error/src/name-value.c:536,1
    - Dst: _gpgrt_wipememory
      Src: /src/libgpg-error/src/name-value.c:538,1
    - Dst: strlen
      Src: /src/libgpg-error/src/name-value.c:538,1
    - Dst: xfree
      Src: /src/libgpg-error/src/name-value.c:539,1
    - Dst: _gpgrt_strlist_free
      Src: /src/libgpg-error/src/name-value.c:540,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 60
    argCount: 5
    argNames:
    - cont
    - name
    - value
    - raw_value
    - preserve_order
    argTypes:
    - gpgrt_nvc_t
    - char*
    - char*
    - gpgrt_strlist_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 544
    functionName: do_nvc_add
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 0
    functionsReached:
    - _gpg_err_code_from_syserror
    - _gpgrt_strlist_free
    - strlen
    - valid_name
    - xtrycalloc
    - same_name_p
    - _gpgrt_wipememory
    - xfree
    - _gpgrt_nvc_lookup
    - gpgrt_assert
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t do_nvc_add (gpgrt_nvc_t cont, char *name, char *value,\n
      \           gpgrt_strlist_t raw_value, int preserve_order)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xtrystrdup
      Src: /src/libgpg-error/src/name-value.c:554,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/name-value.c:556,1
    - Dst: xtrystrdup
      Src: /src/libgpg-error/src/name-value.c:558,1
    - Dst: xfree
      Src: /src/libgpg-error/src/name-value.c:561,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/name-value.c:562,1
    - Dst: do_nvc_add
      Src: /src/libgpg-error/src/name-value.c:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cont
    - name
    - value
    argTypes:
    - gpgrt_nvc_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 549
    functionDepth: 3
    functionLinenumber: 549
    functionLinenumberEnd: 566
    functionName: _gpgrt_nvc_add
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 1
    functionsReached:
    - xtrystrdup
    - xfree
    - do_nvc_add
    - _gpg_err_code_from_syserror
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_nvc_add (gpgrt_nvc_t cont, const char *name,
      const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: valid_name
      Src: /src/libgpg-error/src/name-value.c:577,1
    - Dst: _gpgrt_nvc_lookup
      Src: /src/libgpg-error/src/name-value.c:580,1
    - Dst: _gpgrt_nve_set
      Src: /src/libgpg-error/src/name-value.c:582,1
    - Dst: _gpgrt_nvc_add
      Src: /src/libgpg-error/src/name-value.c:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cont
    - name
    - value
    argTypes:
    - gpgrt_nvc_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 572
    functionDepth: 4
    functionLinenumber: 572
    functionLinenumberEnd: 585
    functionName: _gpgrt_nvc_set
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 1
    functionsReached:
    - _gpgrt_nve_set
    - valid_name
    - _gpgrt_nvc_add
    - _gpgrt_nvc_lookup
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_nvc_set (gpgrt_nvc_t cont, const char *name,
      const char *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/src/name-value.c:598,1
    - Dst: xtrystrdup
      Src: /src/libgpg-error/src/name-value.c:605,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/name-value.c:607,1
    - Dst: _gpgrt_strlist_free
      Src: /src/libgpg-error/src/name-value.c:609,1
    - Dst: _gpgrt_wipememory
      Src: /src/libgpg-error/src/name-value.c:612,1
    - Dst: strlen
      Src: /src/libgpg-error/src/name-value.c:612,1
    - Dst: xfree
      Src: /src/libgpg-error/src/name-value.c:613,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - cont
    - e
    - value
    argTypes:
    - gpgrt_nvc_t
    - gpgrt_nve_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 619
    functionName: _gpgrt_nve_set
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 2
    functionsReached:
    - _gpg_err_code_from_syserror
    - _gpgrt_strlist_free
    - strlen
    - strcmp
    - xtrystrdup
    - _gpgrt_wipememory
    - xfree
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_nve_set (gpgrt_nvc_t cont, gpgrt_nve_t e, const
      char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nve_release
      Src: /src/libgpg-error/src/name-value.c:636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cont
    - entry
    argTypes:
    - gpgrt_nvc_t
    - gpgrt_nve_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 638
    functionName: do_nvc_delete
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 0
    functionsReached:
    - nve_release
    linkageType: ''
    returnType: void
    signature: void do_nvc_delete (gpgrt_nvc_t cont, gpgrt_nve_t entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_nvc_delete
      Src: /src/libgpg-error/src/name-value.c:648,1
    - Dst: valid_name
      Src: /src/libgpg-error/src/name-value.c:649,1
    - Dst: _gpgrt_nvc_lookup
      Src: /src/libgpg-error/src/name-value.c:651,1
    - Dst: do_nvc_delete
      Src: /src/libgpg-error/src/name-value.c:652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - cont
    - entry
    - name
    argTypes:
    - gpgrt_nvc_t
    - gpgrt_nve_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 654
    functionName: _gpgrt_nvc_delete
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 1
    functionsReached:
    - do_nvc_delete
    - valid_name
    - _gpgrt_nvc_lookup
    linkageType: ''
    returnType: void
    signature: void _gpgrt_nvc_delete (gpgrt_nvc_t cont, gpgrt_nve_t entry, const
      char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: same_name_p
      Src: /src/libgpg-error/src/name-value.c:681,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - cont
    - name
    argTypes:
    - gpgrt_nvc_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 685
    functionName: _gpgrt_nvc_lookup
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 5
    functionsReached:
    - same_name_p
    linkageType: ''
    returnType: gpgrt_nve_t
    signature: gpgrt_nve_t _gpgrt_nvc_lookup (gpgrt_nvc_t cont, const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: same_name_p
      Src: /src/libgpg-error/src/name-value.c:699,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - entry
    - name
    argTypes:
    - gpgrt_nve_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 709
    functionName: _gpgrt_nve_next
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 1
    functionsReached:
    - same_name_p
    linkageType: ''
    returnType: gpgrt_nve_t
    signature: gpgrt_nve_t _gpgrt_nve_next (gpgrt_nve_t entry, const char *name)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_nvc_new
      Src: /src/libgpg-error/src/name-value.c:728,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/name-value.c:730,1
    - Dst: _gpgrt_read_line
      Src: /src/libgpg-error/src/name-value.c:737,1
    - Dst: ascii_isspace
      Src: /src/libgpg-error/src/name-value.c:745,1
    - Dst: spacep
      Src: /src/libgpg-error/src/name-value.c:748,1
    - Dst: _gpgrt_strlist_add
      Src: /src/libgpg-error/src/name-value.c:751,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/name-value.c:753,1
    - Dst: do_nvc_add
      Src: /src/libgpg-error/src/name-value.c:762,1
    - Dst: strchr
      Src: /src/libgpg-error/src/name-value.c:773,1
    - Dst: _gpgrt_trim_spaces
      Src: /src/libgpg-error/src/name-value.c:780,1
    - Dst: _gpgrt_trim_spaces
      Src: /src/libgpg-error/src/name-value.c:788,1
    - Dst: strpbrk
      Src: /src/libgpg-error/src/name-value.c:789,1
    - Dst: strlen
      Src: /src/libgpg-error/src/name-value.c:789,1
    - Dst: xfree
      Src: /src/libgpg-error/src/name-value.c:794,1
    - Dst: xtrystrdup
      Src: /src/libgpg-error/src/name-value.c:795,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/name-value.c:798,1
    - Dst: strchr
      Src: /src/libgpg-error/src/name-value.c:814,1
    - Dst: _gpgrt_strconcat
      Src: /src/libgpg-error/src/name-value.c:825,1
    - Dst: xtrystrdup
      Src: /src/libgpg-error/src/name-value.c:827,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/name-value.c:831,1
    - Dst: _gpgrt_strlist_add
      Src: /src/libgpg-error/src/name-value.c:835,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/name-value.c:837,1
    - Dst: _gpgrt_strlist_add
      Src: /src/libgpg-error/src/name-value.c:843,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/name-value.c:845,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/name-value.c:851,1
    - Dst: do_nvc_add
      Src: /src/libgpg-error/src/name-value.c:858,1
    - Dst: xfree
      Src: /src/libgpg-error/src/name-value.c:863,1
    - Dst: xfree
      Src: /src/libgpg-error/src/name-value.c:864,1
    - Dst: xfree
      Src: /src/libgpg-error/src/name-value.c:865,1
    - Dst: _gpgrt_nvc_release
      Src: /src/libgpg-error/src/name-value.c:868,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 107
    argCount: 4
    argNames:
    - result
    - errlinep
    - stream
    - flags
    argTypes:
    - gpgrt_nvc_t*
    - int*
    - estream_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 715
    functionDepth: 4
    functionLinenumber: 715
    functionLinenumberEnd: 873
    functionName: do_nvc_parse
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 2
    functionsReached:
    - _gpgrt_trim_spaces
    - ascii_isspace
    - _gpg_err_code_from_syserror
    - strpbrk
    - _gpgrt_strlist_add
    - strlen
    - _gpgrt_nvc_new
    - spacep
    - _gpgrt_strconcat
    - xtrystrdup
    - strchr
    - xfree
    - _gpgrt_read_line
    - _gpgrt_nvc_release
    - do_nvc_add
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t do_nvc_parse (gpgrt_nvc_t *result, int *errlinep, estream_t
      stream,\n              unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_nvc_parse
      Src: /src/libgpg-error/src/name-value.c:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - result
    - errlinep
    - stream
    - flags
    argTypes:
    - gpgrt_nvc_t*
    - int*
    - estream_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 885
    functionName: _gpgrt_nvc_parse
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 2
    functionsReached:
    - do_nvc_parse
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gpgrt_nvc_parse (gpgrt_nvc_t *result, int *errlinep,
      estream_t stream,\n                  unsigned int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_fputs
      Src: /src/libgpg-error/src/name-value.c:896,1
    - Dst: assert_raw_value
      Src: /src/libgpg-error/src/name-value.c:898,1
    - Dst: _gpgrt_fputs
      Src: /src/libgpg-error/src/name-value.c:903,1
    - Dst: _gpgrt_ferror
      Src: /src/libgpg-error/src/name-value.c:905,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/name-value.c:906,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - entry
    - stream
    argTypes:
    - gpgrt_nve_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 889
    functionDepth: 5
    functionLinenumber: 889
    functionLinenumberEnd: 909
    functionName: write_one_entry
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 1
    functionsReached:
    - _gpg_err_code_from_syserror
    - _gpgrt_ferror
    - assert_raw_value
    - _gpgrt_fputs
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t write_one_entry (gpgrt_nve_t entry, estream_t stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: same_name_p
      Src: /src/libgpg-error/src/name-value.c:928,1
    - Dst: write_one_entry
      Src: /src/libgpg-error/src/name-value.c:935,1
    - Dst: write_one_entry
      Src: /src/libgpg-error/src/name-value.c:942,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - cont
    - stream
    argTypes:
    - gpgrt_nvc_t
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 945
    functionName: _gpgrt_nvc_write
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 1
    functionsReached:
    - write_one_entry
    - same_name_p
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_nvc_write (gpgrt_nvc_t cont, estream_t stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_nvc_lookup
      Src: /src/libgpg-error/src/name-value.c:964,1
    - Dst: _gpgrt_nve_value
      Src: /src/libgpg-error/src/name-value.c:967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - nvc
    - name
    argTypes:
    - gpgrt_nvc_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 968
    functionName: _gpgrt_nvc_get_string
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 1
    functionsReached:
    - _gpgrt_nve_value
    - _gpgrt_nvc_lookup
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_nvc_get_string (gpgrt_nvc_t nvc, const char *name)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_nvc_lookup
      Src: /src/libgpg-error/src/name-value.c:982,1
    - Dst: _gpgrt_nve_value
      Src: /src/libgpg-error/src/name-value.c:985,1
    - Dst: atoi
      Src: /src/libgpg-error/src/name-value.c:988,1
    - Dst: ascii_strcasecmp
      Src: /src/libgpg-error/src/name-value.c:991,1
    - Dst: ascii_strcasecmp
      Src: /src/libgpg-error/src/name-value.c:991,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - nvc
    - name
    argTypes:
    - gpgrt_nvc_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 973
    functionDepth: 2
    functionLinenumber: 973
    functionLinenumberEnd: 994
    functionName: _gpgrt_nvc_get_bool
    functionSourceFile: /src/libgpg-error/src/name-value.c
    functionUses: 1
    functionsReached:
    - _gpgrt_nve_value
    - atoi
    - ascii_strcasecmp
    - _gpgrt_nvc_lookup
    linkageType: ''
    returnType: int
    signature: int _gpgrt_nvc_get_bool (gpgrt_nvc_t nvc, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: fd_to_handle
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fd_to_handle(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: handle_to_fd
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: handle_to_fd(a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stpcpy
      Src: /src/libgpg-error/src/spawn-w32.c:107,1
    - Dst: strpbrk
      Src: /src/libgpg-error/src/spawn-w32.c:108,1
    - Dst: stpcpy
      Src: /src/libgpg-error/src/spawn-w32.c:111,1
    - Dst: stpcpy
      Src: /src/libgpg-error/src/spawn-w32.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - buffer
    - string
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 125
    functionName: build_w32_commandline_copy
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 1
    functionsReached:
    - strpbrk
    - stpcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      build_w32_commandline_copy (char *buffer, const char *string)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgpg-error/src/spawn-w32.c:141,1
    - Dst: strlen
      Src: /src/libgpg-error/src/spawn-w32.c:147,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/spawn-w32.c:154,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-w32.c:156,1
    - Dst: build_w32_commandline_copy
      Src: /src/libgpg-error/src/spawn-w32.c:158,1
    - Dst: build_w32_commandline_copy
      Src: /src/libgpg-error/src/spawn-w32.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - pgmname
    - argv
    - cmdline
    argTypes:
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 167
    functionName: build_w32_commandline
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 2
    functionsReached:
    - _gpg_err_code_from_syserror
    - xtrymalloc
    - build_w32_commandline_copy
    - strlen
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t build_w32_commandline (const char *pgmname, const char
      * const *argv,\n                       char **cmdline)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgpg-error/src/spawn-w32.c:181,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/spawn-w32.c:185,1
    - Dst: CreatePipe
      Src: /src/libgpg-error/src/spawn-w32.c:186,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/spawn-w32.c:188,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/spawn-w32.c:191,1
    - Dst: SetHandleInformation
      Src: /src/libgpg-error/src/spawn-w32.c:194,1
    - Dst: SetHandleInformation
      Src: /src/libgpg-error/src/spawn-w32.c:198,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/spawn-w32.c:206,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/spawn-w32.c:207,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:208,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - filedes
    - flags
    argTypes:
    - HANDLE[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 175
    functionDepth: 9
    functionLinenumber: 175
    functionLinenumberEnd: 211
    functionName: create_inheritable_pipe
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 2
    functionsReached:
    - _gpgrt_post_syscall
    - CloseHandle
    - _gpgrt_log_info
    - _gpgrt_pre_syscall
    - SetHandleInformation
    - memset
    - GetLastError
    - CreatePipe
    linkageType: ''
    returnType: int
    signature: int create_inheritable_pipe (HANDLE filedes[2], int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgpg-error/src/spawn-w32.c:224,1
    - Dst: CreateFileW
      Src: /src/libgpg-error/src/spawn-w32.c:227,1
    - Dst: _gpgrt_log_debug
      Src: /src/libgpg-error/src/spawn-w32.c:232,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/spawn-w32.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - for_write
    - enable_null_device
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 214
    functionDepth: 9
    functionLinenumber: 214
    functionLinenumberEnd: 237
    functionName: w32_open_null
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 1
    functionsReached:
    - GetLastError
    - memset
    - _gpgrt_log_debug
    - CreateFileW
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE w32_open_null (int for_write, int enable_null_device)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: create_inheritable_pipe
      Src: /src/libgpg-error/src/spawn-w32.c:258,1
    - Dst: _open_osfhandle
      Src: /src/libgpg-error/src/spawn-w32.c:260,1
    - Dst: handle_to_fd
      Src: /src/libgpg-error/src/spawn-w32.c:260,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/spawn-w32.c:263,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:264,1
    - Dst: _open_osfhandle
      Src: /src/libgpg-error/src/spawn-w32.c:268,1
    - Dst: handle_to_fd
      Src: /src/libgpg-error/src/spawn-w32.c:268,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/spawn-w32.c:271,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-w32.c:272,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:274,1
    - Dst: _gpgrt_sysopen
      Src: /src/libgpg-error/src/spawn-w32.c:287,1
    - Dst: _gpgrt_sysopen
      Src: /src/libgpg-error/src/spawn-w32.c:292,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-w32.c:296,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/spawn-w32.c:297,1
    - Dst: _
      Src: /src/libgpg-error/src/spawn-w32.c:297,1
    - Dst: _gpg_strerror
      Src: /src/libgpg-error/src/spawn-w32.c:298,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-w32.c:299,1
    - Dst: close
      Src: /src/libgpg-error/src/spawn-w32.c:300,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 4
    argNames:
    - filedes
    - r_fp
    - direction
    - nonblock
    argTypes:
    - int[]
    - estream_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 240
    functionDepth: 9
    functionLinenumber: 240
    functionLinenumberEnd: 307
    functionName: do_create_pipe_and_estream
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 1
    functionsReached:
    - _gpg_err_code_from_syserror
    - _open_osfhandle
    - _gpgrt_log_info
    - close
    - _
    - handle_to_fd
    - _gpg_strerror
    - _gpgrt_sysopen
    - create_inheritable_pipe
    - CloseHandle
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t do_create_pipe_and_estream (int filedes[2],\n                            estream_t
      *r_fp, int direction, int nonblock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_create_pipe_and_estream
      Src: /src/libgpg-error/src/spawn-w32.c:319,1
    - Dst: do_create_pipe_and_estream
      Src: /src/libgpg-error/src/spawn-w32.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - filedes
    - r_fp
    - direction
    - nonblock
    argTypes:
    - int[]
    - estream_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 322
    functionName: _gpgrt_make_pipe
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 1
    functionsReached:
    - do_create_pipe_and_estream
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_make_pipe (int filedes[2], estream_t *r_fp, int
      direction, int nonblock)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentStringsW
      Src: /src/libgpg-error/src/spawn-w32.c:340,1
    - Dst: DIM
      Src: /src/libgpg-error/src/spawn-w32.c:342,1
    - Dst: FreeEnvironmentStringsW
      Src: /src/libgpg-error/src/spawn-w32.c:344,1
    - Dst: wcslen
      Src: /src/libgpg-error/src/spawn-w32.c:348,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/spawn-w32.c:353,1
    - Dst: FreeEnvironmentStringsW
      Src: /src/libgpg-error/src/spawn-w32.c:356,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-w32.c:357,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/spawn-w32.c:359,1
    - Dst: FreeEnvironmentStringsW
      Src: /src/libgpg-error/src/spawn-w32.c:360,1
    - Dst: _gpgrt_utf8_to_wchar
      Src: /src/libgpg-error/src/spawn-w32.c:367,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-w32.c:370,1
    - Dst: wcschr
      Src: /src/libgpg-error/src/spawn-w32.c:374,1
    - Dst: wcsncmp
      Src: /src/libgpg-error/src/spawn-w32.c:379,1
    - Dst: wcslen
      Src: /src/libgpg-error/src/spawn-w32.c:379,1
    - Dst: wcslen
      Src: /src/libgpg-error/src/spawn-w32.c:380,1
    - Dst: memmove
      Src: /src/libgpg-error/src/spawn-w32.c:398,1
    - Dst: wcsncmp
      Src: /src/libgpg-error/src/spawn-w32.c:411,1
    - Dst: memmove
      Src: /src/libgpg-error/src/spawn-w32.c:428,1
    - Dst: DIM
      Src: /src/libgpg-error/src/spawn-w32.c:436,1
    - Dst: _gpgrt_free_wchar
      Src: /src/libgpg-error/src/spawn-w32.c:439,1
    - Dst: wcslen
      Src: /src/libgpg-error/src/spawn-w32.c:444,1
    - Dst: xtryrealloc
      Src: /src/libgpg-error/src/spawn-w32.c:446,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-w32.c:449,1
    - Dst: _gpgrt_free_wchar
      Src: /src/libgpg-error/src/spawn-w32.c:450,1
    - Dst: memmove
      Src: /src/libgpg-error/src/spawn-w32.c:453,1
    - Dst: _gpgrt_free_wchar
      Src: /src/libgpg-error/src/spawn-w32.c:458,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:464,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 87
    argCount: 2
    argNames:
    - r_env
    - envchange
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 469
    functionName: prepare_env_block
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 0
    functionsReached:
    - _gpg_err_code_from_syserror
    - memmove
    - _gpgrt_utf8_to_wchar
    - wcslen
    - DIM
    - _gpgrt_free_wchar
    - wcsncmp
    - xtryrealloc
    - xfree
    - memcpy
    - wcschr
    - GetEnvironmentStringsW
    - FreeEnvironmentStringsW
    - xtrymalloc
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t prepare_env_block (char **r_env, const char *const *envchange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xtrycalloc
      Src: /src/libgpg-error/src/spawn-w32.c:480,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-w32.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r_act
    argTypes:
    - gpgrt_spawn_actions_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 489
    functionName: _gpgrt_spawn_actions_new
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 1
    functionsReached:
    - _gpg_err_code_from_syserror
    - xtrycalloc
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_spawn_actions_new (gpgrt_spawn_actions_t *r_act)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - act
    argTypes:
    - gpgrt_spawn_actions_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 498
    functionName: _gpgrt_spawn_actions_release
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 1
    functionsReached:
    - xfree
    linkageType: ''
    returnType: void
    signature: void _gpgrt_spawn_actions_release (gpgrt_spawn_actions_t act)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - act
    - envchange
    argTypes:
    - gpgrt_spawn_actions_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 505
    functionName: _gpgrt_spawn_actions_set_env_rev
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gpgrt_spawn_actions_set_env_rev (gpgrt_spawn_actions_t act,\n
      \                                 const char *const *envchange)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - act
    - env
    argTypes:
    - gpgrt_spawn_actions_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: _gpgrt_spawn_actions_set_envvars
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gpgrt_spawn_actions_set_envvars (gpgrt_spawn_actions_t act, char
      *env)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - act
    - in
    - out
    - err
    argTypes:
    - gpgrt_spawn_actions_t
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 523
    functionName: _gpgrt_spawn_actions_set_redirect
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gpgrt_spawn_actions_set_redirect (gpgrt_spawn_actions_t act,\n
      \                                  void *in, void *out, void *err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - act
    - handles
    argTypes:
    - gpgrt_spawn_actions_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 530
    functionName: _gpgrt_spawn_actions_set_inherit_handles
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gpgrt_spawn_actions_set_inherit_handles (gpgrt_spawn_actions_t
      act,\n                                          void **handles)"
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgpg-error/src/spawn-w32.c:561,1
    - Dst: build_w32_commandline
      Src: /src/libgpg-error/src/spawn-w32.c:568,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:577,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/spawn-w32.c:581,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:584,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-w32.c:585,1
    - Dst: _gpgrt_access
      Src: /src/libgpg-error/src/spawn-w32.c:595,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/spawn-w32.c:598,1
    - Dst: _gpg_strerror
      Src: /src/libgpg-error/src/spawn-w32.c:599,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:600,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:601,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:609,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:610,1
    - Dst: create_inheritable_pipe
      Src: /src/libgpg-error/src/spawn-w32.c:618,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:621,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:622,1
    - Dst: GetStdHandle
      Src: /src/libgpg-error/src/spawn-w32.c:627,1
    - Dst: create_inheritable_pipe
      Src: /src/libgpg-error/src/spawn-w32.c:633,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:638,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:639,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:641,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:642,1
    - Dst: GetStdHandle
      Src: /src/libgpg-error/src/spawn-w32.c:647,1
    - Dst: create_inheritable_pipe
      Src: /src/libgpg-error/src/spawn-w32.c:653,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:658,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:659,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:663,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:664,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:666,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:667,1
    - Dst: GetStdHandle
      Src: /src/libgpg-error/src/spawn-w32.c:672,1
    - Dst: memset
      Src: /src/libgpg-error/src/spawn-w32.c:674,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:680,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:681,1
    - Dst: w32_open_null
      Src: /src/libgpg-error/src/spawn-w32.c:687,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:692,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:693,1
    - Dst: w32_open_null
      Src: /src/libgpg-error/src/spawn-w32.c:699,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:704,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:705,1
    - Dst: w32_open_null
      Src: /src/libgpg-error/src/spawn-w32.c:711,1
    - Dst: DIM
      Src: /src/libgpg-error/src/spawn-w32.c:726,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/spawn-w32.c:730,1
    - Dst: _gpgrt_windows_feature
      Src: /src/libgpg-error/src/spawn-w32.c:737,1
    - Dst: InitializeProcThreadAttributeList
      Src: /src/libgpg-error/src/spawn-w32.c:741,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/spawn-w32.c:742,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:748,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:750,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:752,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:756,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:758,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:762,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:763,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:764,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-w32.c:765,1
    - Dst: InitializeProcThreadAttributeList
      Src: /src/libgpg-error/src/spawn-w32.c:767,1
    - Dst: UpdateProcThreadAttribute
      Src: /src/libgpg-error/src/spawn-w32.c:769,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/spawn-w32.c:781,1
    - Dst: memset
      Src: /src/libgpg-error/src/spawn-w32.c:787,1
    - Dst: GetPriorityClass
      Src: /src/libgpg-error/src/spawn-w32.c:802,1
    - Dst: GetCurrentProcess
      Src: /src/libgpg-error/src/spawn-w32.c:802,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:814,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:815,1
    - Dst: prepare_env_block
      Src: /src/libgpg-error/src/spawn-w32.c:823,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:826,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:827,1
    - Dst: _gpgrt_utf8_to_wchar
      Src: /src/libgpg-error/src/spawn-w32.c:835,1
    - Dst: _gpgrt_utf8_to_wchar
      Src: /src/libgpg-error/src/spawn-w32.c:837,1
    - Dst: CreateProcessW
      Src: /src/libgpg-error/src/spawn-w32.c:840,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:852,1
    - Dst: DeleteProcThreadAttributeList
      Src: /src/libgpg-error/src/spawn-w32.c:855,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/spawn-w32.c:859,1
    - Dst: strerror
      Src: /src/libgpg-error/src/spawn-w32.c:860,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/spawn-w32.c:862,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/spawn-w32.c:863,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:866,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:868,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:870,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:873,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:875,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:878,1
    - Dst: _gpgrt_free_wchar
      Src: /src/libgpg-error/src/spawn-w32.c:879,1
    - Dst: _gpgrt_free_wchar
      Src: /src/libgpg-error/src/spawn-w32.c:880,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:881,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:882,1
    - Dst: _gpgrt_free_wchar
      Src: /src/libgpg-error/src/spawn-w32.c:886,1
    - Dst: _gpgrt_free_wchar
      Src: /src/libgpg-error/src/spawn-w32.c:887,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:888,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:892,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:895,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:898,1
    - Dst: AllowSetForegroundWindow
      Src: /src/libgpg-error/src/spawn-w32.c:910,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/spawn-w32.c:911,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/spawn-w32.c:912,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:916,1
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/spawn-w32.c:920,1
    - Dst: ResumeThread
      Src: /src/libgpg-error/src/spawn-w32.c:921,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:922,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/spawn-w32.c:923,1
    - Dst: _gpgrt_process_release
      Src: /src/libgpg-error/src/spawn-w32.c:937,1
    - Dst: _gpgrt_process_wait
      Src: /src/libgpg-error/src/spawn-w32.c:942,1
    - Dst: _gpgrt_process_release
      Src: /src/libgpg-error/src/spawn-w32.c:943,1
    CyclomaticComplexity: 92
    EdgeCount: 92
    ICount: 263
    argCount: 5
    argNames:
    - pgmname
    - argv
    - flags
    - act
    - r_process
    argTypes:
    - char*
    - char*[]
    - unsigned int
    - gpgrt_spawn_actions_t
    - gpgrt_process_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 533
    functionDepth: 11
    functionLinenumber: 533
    functionLinenumberEnd: 950
    functionName: _gpgrt_process_spawn
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 1
    functionsReached:
    - _gpgrt_free_wchar
    - _gpgrt_process_wait
    - _gpg_strerror
    - prepare_env_block
    - GetCurrentProcess
    - xtrymalloc
    - _gpg_err_code_from_syserror
    - build_w32_commandline
    - _gpgrt_post_syscall
    - _gpgrt_log_info
    - DIM
    - ResumeThread
    - DeleteProcThreadAttributeList
    - _gpgrt_windows_feature
    - CreateProcessW
    - w32_open_null
    - _gpgrt_process_release
    - GetStdHandle
    - memset
    - xfree
    - _gpgrt_access
    - AllowSetForegroundWindow
    - _gpgrt_utf8_to_wchar
    - UpdateProcThreadAttribute
    - GetPriorityClass
    - _gpgrt_pre_syscall
    - strerror
    - create_inheritable_pipe
    - GetLastError
    - CloseHandle
    - InitializeProcThreadAttributeList
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gpgrt_process_spawn (const char *pgmname, const char
      *argv[],\n                      unsigned int flags, gpgrt_spawn_actions_t act,\n
      \                     gpgrt_process_t *r_process)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _open_osfhandle
      Src: /src/libgpg-error/src/spawn-w32.c:959,1
    - Dst: _open_osfhandle
      Src: /src/libgpg-error/src/spawn-w32.c:964,1
    - Dst: _open_osfhandle
      Src: /src/libgpg-error/src/spawn-w32.c:969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - process
    - flags
    - r_fd_in
    - r_fd_out
    - r_fd_err
    argTypes:
    - gpgrt_process_t
    - unsigned int
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 974
    functionName: _gpgrt_process_get_fds
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 1
    functionsReached:
    - _open_osfhandle
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gpgrt_process_get_fds (gpgrt_process_t process, unsigned
      int flags,\n                        int *r_fd_in, int *r_fd_out, int *r_fd_err)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_sysopen
      Src: /src/libgpg-error/src/spawn-w32.c:988,1
    - Dst: _gpgrt_sysopen
      Src: /src/libgpg-error/src/spawn-w32.c:994,1
    - Dst: _gpgrt_sysopen
      Src: /src/libgpg-error/src/spawn-w32.c:1000,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - process
    - flags
    - r_fp_in
    - r_fp_out
    - r_fp_err
    argTypes:
    - gpgrt_process_t
    - unsigned int
    - estream_t*
    - estream_t*
    - estream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 976
    functionDepth: 7
    functionLinenumber: 976
    functionLinenumberEnd: 1004
    functionName: _gpgrt_process_get_streams
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 1
    functionsReached:
    - _gpgrt_sysopen
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gpgrt_process_get_streams (gpgrt_process_t process,
      unsigned int flags,\n                            estream_t *r_fp_in, estream_t
      *r_fp_out,\n                            estream_t *r_fp_err)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/spawn-w32.c:1011,1
    - Dst: TerminateProcess
      Src: /src/libgpg-error/src/spawn-w32.c:1012,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-w32.c:1013,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/spawn-w32.c:1014,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - process
    - exitcode
    argTypes:
    - gpgrt_process_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1006
    functionDepth: 2
    functionLinenumber: 1006
    functionLinenumberEnd: 1016
    functionName: process_kill
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 2
    functionsReached:
    - _gpgrt_pre_syscall
    - _gpgrt_post_syscall
    - TerminateProcess
    - _gpg_err_code_from_syserror
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t process_kill (gpgrt_process_t process, unsigned int
      exitcode)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/libgpg-error/src/spawn-w32.c:1029,1
    - Dst: GetProcessId
      Src: /src/libgpg-error/src/spawn-w32.c:1034,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/spawn-w32.c:1040,1
    - Dst: GetExitCodeProcess
      Src: /src/libgpg-error/src/spawn-w32.c:1051,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-w32.c:1052,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/spawn-w32.c:1060,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/spawn-w32.c:1072,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/spawn-w32.c:1073,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/spawn-w32.c:1074,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/spawn-w32.c:1096,1
    - Dst: GetExitCodeProcess
      Src: /src/libgpg-error/src/spawn-w32.c:1107,1
    - Dst: _gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/spawn-w32.c:1108,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/spawn-w32.c:1114,1
    - Dst: process_kill
      Src: /src/libgpg-error/src/spawn-w32.c:1122,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 3
    argNames:
    - process
    - request
    - arg_ptr
    argTypes:
    - gpgrt_process_t
    - unsigned int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1018
    functionDepth: 2
    functionLinenumber: 1018
    functionLinenumberEnd: 1130
    functionName: _gpgrt_process_vctl
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 1
    functionsReached:
    - GetProcessId
    - _gpg_err_code_from_syserror
    - process_kill
    - va_arg
    - GetExitCodeProcess
    linkageType: ''
    returnType: gpg_err_code_t
    signature: "gpg_err_code_t _gpgrt_process_vctl (gpgrt_process_t process, unsigned
      int request,\n                     va_list arg_ptr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/spawn-w32.c:1141,1
    - Dst: WaitForSingleObject
      Src: /src/libgpg-error/src/spawn-w32.c:1142,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/spawn-w32.c:1143,1
    - Dst: _gpgrt_log_info
      Src: /src/libgpg-error/src/spawn-w32.c:1152,1
    - Dst: _
      Src: /src/libgpg-error/src/spawn-w32.c:1152,1
    - Dst: GetLastError
      Src: /src/libgpg-error/src/spawn-w32.c:1153,1
    - Dst: _gpgrt_log_debug
      Src: /src/libgpg-error/src/spawn-w32.c:1163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - process
    - hang
    argTypes:
    - gpgrt_process_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1132
    functionDepth: 9
    functionLinenumber: 1132
    functionLinenumberEnd: 1170
    functionName: _gpgrt_process_wait
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 5
    functionsReached:
    - _gpgrt_post_syscall
    - _gpgrt_log_debug
    - WaitForSingleObject
    - _gpgrt_log_info
    - _
    - _gpgrt_pre_syscall
    - GetLastError
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_process_wait (gpgrt_process_t process, int hang)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: process_kill
      Src: /src/libgpg-error/src/spawn-w32.c:1178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - process
    argTypes:
    - gpgrt_process_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1179
    functionName: _gpgrt_process_terminate
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 2
    functionsReached:
    - process_kill
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_process_terminate (gpgrt_process_t process)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_process_terminate
      Src: /src/libgpg-error/src/spawn-w32.c:1189,1
    - Dst: _gpgrt_process_wait
      Src: /src/libgpg-error/src/spawn-w32.c:1190,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:1196,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:1198,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:1200,1
    - Dst: CloseHandle
      Src: /src/libgpg-error/src/spawn-w32.c:1203,1
    - Dst: xfree
      Src: /src/libgpg-error/src/spawn-w32.c:1204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - process
    argTypes:
    - gpgrt_process_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1205
    functionName: _gpgrt_process_release
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 3
    functionsReached:
    - _gpgrt_process_wait
    - CloseHandle
    - _gpgrt_process_terminate
    - xfree
    linkageType: ''
    returnType: void
    signature: void _gpgrt_process_release (gpgrt_process_t process)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_process_wait
      Src: /src/libgpg-error/src/spawn-w32.c:1218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - process_list
    - count
    - hang
    argTypes:
    - gpgrt_process_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1224
    functionName: _gpgrt_process_wait_list
    functionSourceFile: /src/libgpg-error/src/spawn-w32.c
    functionUses: 0
    functionsReached:
    - _gpgrt_process_wait
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_process_wait_list (gpgrt_process_t *process_list,
      int count, int hang)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_source
      Src: /src/libgpg-error/src/strsource.c:35,1
    - Dst: dgettext
      Src: /src/libgpg-error/src/strsource.c:36,1
    - Dst: msgidxof
      Src: /src/libgpg-error/src/strsource.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: _gpg_strsource
    functionSourceFile: /src/libgpg-error/src/strsource.c
    functionUses: 1
    functionsReached:
    - dgettext
    - gpg_err_source
    - msgidxof
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpg_strsource (gpg_error_t err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: digitp
    functionSourceFile: /src/libgpg-error/src/version.c
    functionUses: 159
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digitp(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: cright_blurb
    functionSourceFile: /src/libgpg-error/src/version.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      cright_blurb (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: digitp
      Src: /src/libgpg-error/src/version.c:59,1
    - Dst: digitp
      Src: /src/libgpg-error/src/version.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s
    - number
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: parse_version_number
    functionSourceFile: /src/libgpg-error/src/version.c
    functionUses: 5
    functionsReached:
    - digitp
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_version_number (const char *s, int *number)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: parse_version_number
      Src: /src/libgpg-error/src/version.c:83,1
    - Dst: parse_version_number
      Src: /src/libgpg-error/src/version.c:96,1
    - Dst: parse_version_number
      Src: /src/libgpg-error/src/version.c:109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - s
    - major
    - minor
    - micro
    argTypes:
    - char*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 115
    functionName: parse_version_string
    functionSourceFile: /src/libgpg-error/src/version.c
    functionUses: 5
    functionsReached:
    - parse_version_number
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_version_string (const char *s, int *major, int *minor, int *micro)'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: parse_version_string
      Src: /src/libgpg-error/src/version.c:144,1
    - Dst: parse_version_string
      Src: /src/libgpg-error/src/version.c:151,1
    - Dst: strcmp
      Src: /src/libgpg-error/src/version.c:189,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 62
    argCount: 3
    argNames:
    - a
    - b
    - level
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 210
    functionName: do_cmp_version
    functionSourceFile: /src/libgpg-error/src/version.c
    functionUses: 0
    functionsReached:
    - parse_version_string
    - strcmp
    linkageType: ''
    returnType: int
    signature: int do_cmp_version (const char *a, const char *b, int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_cmp_version
      Src: /src/libgpg-error/src/version.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - level
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: _gpgrt_cmp_version
    functionSourceFile: /src/libgpg-error/src/version.c
    functionUses: 3
    functionsReached:
    - do_cmp_version
    linkageType: ''
    returnType: int
    signature: int _gpgrt_cmp_version (const char *a, const char *b, int level)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cright_blurb
      Src: /src/libgpg-error/src/version.c:241,1
    - Dst: _gpgrt_cmp_version
      Src: /src/libgpg-error/src/version.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - req_version
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 246
    functionName: _gpg_error_check_version
    functionSourceFile: /src/libgpg-error/src/version.c
    functionUses: 2
    functionsReached:
    - cright_blurb
    - _gpgrt_cmp_version
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpg_error_check_version (const char *req_version)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/libgpg-error/src/stringutils.c:44,1
    - Dst: isspace
      Src: /src/libgpg-error/src/stringutils.c:48,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 59
    functionName: _gpgrt_trim_spaces
    functionSourceFile: /src/libgpg-error/src/stringutils.c
    functionUses: 6
    functionsReached:
    - isspace
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_trim_spaces (char *str)'
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgpg-error/src/stringutils.c:79,1
    - Dst: va_arg
      Src: /src/libgpg-error/src/stringutils.c:81,1
    - Dst: strlen
      Src: /src/libgpg-error/src/stringutils.c:83,1
    - Dst: DIM
      Src: /src/libgpg-error/src/stringutils.c:84,1
    - Dst: _gpg_err_set_errno
      Src: /src/libgpg-error/src/stringutils.c:86,1
    - Dst: _gpgrt_w32_get_sysconfdir
      Src: /src/libgpg-error/src/stringutils.c:97,1
    - Dst: strlen
      Src: /src/libgpg-error/src/stringutils.c:104,1
    - Dst: _gpgrt_w32_get_profile
      Src: /src/libgpg-error/src/stringutils.c:118,1
    - Dst: _gpgrt_getenv
      Src: /src/libgpg-error/src/stringutils.c:123,1
    - Dst: _gpgrt_getpwdir
      Src: /src/libgpg-error/src/stringutils.c:125,1
    - Dst: strlen
      Src: /src/libgpg-error/src/stringutils.c:129,1
    - Dst: _gpgrt_strdup
      Src: /src/libgpg-error/src/stringutils.c:136,1
    - Dst: strchr
      Src: /src/libgpg-error/src/stringutils.c:140,1
    - Dst: strlen
      Src: /src/libgpg-error/src/stringutils.c:143,1
    - Dst: _gpgrt_getpwdir
      Src: /src/libgpg-error/src/stringutils.c:145,1
    - Dst: xfree
      Src: /src/libgpg-error/src/stringutils.c:146,1
    - Dst: strlen
      Src: /src/libgpg-error/src/stringutils.c:148,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/stringutils.c:154,1
    - Dst: _gpgrt_free
      Src: /src/libgpg-error/src/stringutils.c:157,1
    - Dst: stpcpy
      Src: /src/libgpg-error/src/stringutils.c:162,1
    - Dst: stpcpy
      Src: /src/libgpg-error/src/stringutils.c:162,1
    - Dst: stpcpy
      Src: /src/libgpg-error/src/stringutils.c:162,1
    - Dst: stpcpy
      Src: /src/libgpg-error/src/stringutils.c:164,1
    - Dst: xfree
      Src: /src/libgpg-error/src/stringutils.c:166,1
    - Dst: stpcpy
      Src: /src/libgpg-error/src/stringutils.c:173,1
    - Dst: stpcpy
      Src: /src/libgpg-error/src/stringutils.c:175,1
    - Dst: stpcpy
      Src: /src/libgpg-error/src/stringutils.c:175,1
    - Dst: strchr
      Src: /src/libgpg-error/src/stringutils.c:181,1
    - Dst: _gpgrt_getcwd
      Src: /src/libgpg-error/src/stringutils.c:195,1
    - Dst: xfree
      Src: /src/libgpg-error/src/stringutils.c:198,1
    - Dst: strlen
      Src: /src/libgpg-error/src/stringutils.c:202,1
    - Dst: strlen
      Src: /src/libgpg-error/src/stringutils.c:202,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/stringutils.c:203,1
    - Dst: xfree
      Src: /src/libgpg-error/src/stringutils.c:206,1
    - Dst: xfree
      Src: /src/libgpg-error/src/stringutils.c:207,1
    - Dst: memcpy
      Src: /src/libgpg-error/src/stringutils.c:215,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/stringutils.c:221,1
    - Dst: stpcpy
      Src: /src/libgpg-error/src/stringutils.c:221,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/stringutils.c:223,1
    - Dst: stpcpy
      Src: /src/libgpg-error/src/stringutils.c:223,1
    - Dst: stpcpy
      Src: /src/libgpg-error/src/stringutils.c:223,1
    - Dst: xfree
      Src: /src/libgpg-error/src/stringutils.c:225,1
    - Dst: xfree
      Src: /src/libgpg-error/src/stringutils.c:226,1
    - Dst: strlen
      Src: /src/libgpg-error/src/stringutils.c:230,1
    - Dst: _gpgrt_getcwd
      Src: /src/libgpg-error/src/stringutils.c:240,1
    - Dst: xfree
      Src: /src/libgpg-error/src/stringutils.c:243,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/src/stringutils.c:248,1
    - Dst: strlen
      Src: /src/libgpg-error/src/stringutils.c:248,1
    - Dst: xfree
      Src: /src/libgpg-error/src/stringutils.c:251,1
    - Dst: xfree
      Src: /src/libgpg-error/src/stringutils.c:252,1
    - Dst: strcpy
      Src: /src/libgpg-error/src/stringutils.c:257,1
    - Dst: xfree
      Src: /src/libgpg-error/src/stringutils.c:258,1
    - Dst: xfree
      Src: /src/libgpg-error/src/stringutils.c:261,1
    - Dst: strlen
      Src: /src/libgpg-error/src/stringutils.c:267,1
    - Dst: memmove
      Src: /src/libgpg-error/src/stringutils.c:269,1
    - Dst: strlen
      Src: /src/libgpg-error/src/stringutils.c:269,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 127
    argCount: 3
    argNames:
    - flags
    - first_part
    - arg_ptr
    argTypes:
    - unsigned int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 279
    functionName: _gpgrt_vfnameconcat
    functionSourceFile: /src/libgpg-error/src/stringutils.c
    functionUses: 3
    functionsReached:
    - memmove
    - _gpg_err_set_errno
    - strlen
    - _gpgrt_w32_get_profile
    - DIM
    - _gpgrt_getpwdir
    - _gpgrt_getcwd
    - _gpgrt_strdup
    - strchr
    - xfree
    - memcpy
    - _gpgrt_free
    - va_arg
    - strcpy
    - stpcpy
    - _gpgrt_getenv
    - xtrymalloc
    - _gpgrt_w32_get_sysconfdir
    linkageType: ''
    returnType: char
    signature: "char *\n_gpgrt_vfnameconcat (unsigned int flags,\n                     const
      char *first_part, va_list arg_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/stringutils.c:288,1
    - Dst: _gpgrt_vfnameconcat
      Src: /src/libgpg-error/src/stringutils.c:289,1
    - Dst: va_end
      Src: /src/libgpg-error/src/stringutils.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - flags
    - first_part
    argTypes:
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 292
    functionName: _gpgrt_fconcat
    functionSourceFile: /src/libgpg-error/src/stringutils.c
    functionUses: 1
    functionsReached:
    - va_end
    - _gpgrt_vfnameconcat
    - va_start
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_fconcat (unsigned int flags, const char *first_part, ... )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/stringutils.c:305,1
    - Dst: _gpgrt_vfnameconcat
      Src: /src/libgpg-error/src/stringutils.c:306,1
    - Dst: va_end
      Src: /src/libgpg-error/src/stringutils.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - first_part
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 309
    functionName: _gpgrt_fnameconcat
    functionSourceFile: /src/libgpg-error/src/stringutils.c
    functionUses: 1
    functionsReached:
    - va_end
    - _gpgrt_vfnameconcat
    - va_start
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_fnameconcat (const char *first_part, ... )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/src/stringutils.c:322,1
    - Dst: _gpgrt_vfnameconcat
      Src: /src/libgpg-error/src/stringutils.c:323,1
    - Dst: va_end
      Src: /src/libgpg-error/src/stringutils.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - first_part
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 327
    functionName: _gpgrt_absfnameconcat
    functionSourceFile: /src/libgpg-error/src/stringutils.c
    functionUses: 0
    functionsReached:
    - va_end
    - _gpgrt_vfnameconcat
    - va_start
    linkageType: ''
    returnType: char
    signature: 'char *

      _gpgrt_absfnameconcat (const char *first_part, ... )'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: MARK_VISIBLE
    functionSourceFile: /src/libgpg-error/src/visibility.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MARK_VISIBLE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gpgrt_pre_syscall
      Src: /src/libgpg-error/src/w32-thread.c:42,1
    - Dst: Sleep
      Src: /src/libgpg-error/src/w32-thread.c:43,1
    - Dst: _gpgrt_post_syscall
      Src: /src/libgpg-error/src/w32-thread.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: _gpgrt_yield
    functionSourceFile: /src/libgpg-error/src/w32-thread.c
    functionUses: 7
    functionsReached:
    - Sleep
    - _gpgrt_pre_syscall
    - _gpgrt_post_syscall
    linkageType: ''
    returnType: gpg_err_code_t
    signature: gpg_err_code_t _gpgrt_yield (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 801
    functionName: GPGRT_ATTR_PRINTF
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GPGRT_ATTR_PRINTF(f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 803
    functionName: GPGRT_ATTR_NR_PRINTF
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GPGRT_ATTR_NR_PRINTF(f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 806
    functionName: GPGRT_ATTR_PRINTF
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GPGRT_ATTR_PRINTF(f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 808
    functionName: GPGRT_ATTR_NR_PRINTF
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GPGRT_ATTR_NR_PRINTF(f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 814
    functionName: GPGRT_ATTR_FORMAT_ARG
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GPGRT_ATTR_FORMAT_ARG(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 821
    functionName: GPGRT_ATTR_SENTINEL
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GPGRT_ATTR_SENTINEL(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __lsan_ignore_object
      Src: /src/libgpg-error/src/gpgrt.h:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 911
    functionName: gpgrt_annotate_leaked_object
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 35
    functionsReached:
    - __lsan_ignore_object
    linkageType: ''
    returnType: GPGRT_INLINE
    signature: GPGRT_INLINE gpgrt_annotate_leaked_object (const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 927
    functionName: gpgrt_init
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 929
    functionName: gpgrt_init
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - code
    argTypes:
    - gpg_err_source_t
    - gpg_err_code_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 964
    functionName: gpg_error_t::gpg_err_make
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gpg_error_t

      gpg_err_make (gpg_err_source_t source, gpg_err_code_t code)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make
      Src: /src/libgpg-error/src/gpgrt.h:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - gpg_err_code_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 977
    functionName: gpg_error_t
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached:
    - gpg_err_make
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gpg_error_t

      gpg_error (gpg_err_code_t code)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 985
    functionName: gpg_err_code_t::gpg_err_code
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gpg_err_code_t

      gpg_err_code (gpg_error_t err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 994
    functionName: gpg_err_source_t::gpg_err_source
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gpg_err_source_t

      gpg_err_source (gpg_error_t err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sqlres
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1040
    functionName: gpg_error_t::gpg_err_code_from_sqlite
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gpg_error_t

      gpg_err_code_from_sqlite (int sqlres)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error_t::gpg_err_make
      Src: /src/libgpg-error/src/gpgrt.h:1065,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgpg-error/src/gpgrt.h:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - err
    argTypes:
    - gpg_err_source_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1066
    functionName: gpg_error_t::gpg_err_make_from_errno
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached:
    - gpg_error_t::gpg_err_make
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gpg_error_t

      gpg_err_make_from_errno (gpg_err_source_t source, int err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgpg-error/src/gpgrt.h:1072,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgpg-error/src/gpgrt.h:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1073
    functionName: gpg_error_t::gpg_error_from_errno
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached:
    - gpg_error
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gpg_error_t

      gpg_error_from_errno (int err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgpg-error/src/gpgrt.h:1078,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/gpgrt.h:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1075
    functionDepth: 1
    functionLinenumber: 1075
    functionLinenumberEnd: 1079
    functionName: gpg_error_t::gpg_error_from_syserror
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached:
    - gpg_error
    - gpg_err_code_from_syserror
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gpg_error_t

      gpg_error_from_syserror (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1108
    functionName: gpgrt_unsetenv
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_unsetenv(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1148
    functionName: GPGRT_LOCK_DEFINE
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GPGRT_LOCK_DEFINE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1364
    functionName: gpgrt_pending
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_pending(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1370
    functionName: gpgrt_pending_unlocked
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_pending_unlocked(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1391
    functionName: gpgrt_getc_unlocked
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_getc_unlocked(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1398
    functionName: gpgrt_putc_unlocked
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_putc_unlocked(c, stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1400
    functionName: gpgrt_getc
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_getc(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1401
    functionName: gpgrt_putc
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_putc(c, stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - gpgrt_strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1677
    functionName: gpgrt_strlist_count
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE unsigned
    signature: GPG_ERR_INLINE unsigned gpgrt_strlist_count (gpgrt_strlist_t list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1831
    functionName: gpgrt_assert
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_assert(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1836
    functionName: gpgrt_assert
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_assert(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1841
    functionDepth: 0
    functionLinenumber: 1841
    functionLinenumberEnd: 1842
    functionName: log_set_file
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_set_file(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1843
    functionName: log_set_fd
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_set_fd(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1843
    functionDepth: 0
    functionLinenumber: 1843
    functionLinenumberEnd: 1844
    functionName: log_set_stream
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_set_stream(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1870
    functionName: log_assert
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 419
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_assert(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1875
    functionName: log_assert
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 419
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_assert(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1949
    functionName: gpgrt_create_pipe
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_create_pipe(a)
  - 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: 1950
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1950
    functionName: gpgrt_create_inbound_pipe
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_create_inbound_pipe(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1951
    functionName: gpgrt_create_outbound_pipe
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_create_outbound_pipe(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - t
    - ','
    - f
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2091
    functionName: ARGPARSE_x
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_x(s,l,t,f,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - t
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2092
    functionDepth: 0
    functionLinenumber: 2092
    functionLinenumberEnd: 2094
    functionName: ARGPARSE_s
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_s(s,l,t,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2094
    functionDepth: 0
    functionLinenumber: 2094
    functionLinenumberEnd: 2096
    functionName: ARGPARSE_s_n
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_s_n(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 2096
    functionDepth: 0
    functionLinenumber: 2096
    functionLinenumberEnd: 2098
    functionName: ARGPARSE_s_i
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_s_i(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2098
    functionDepth: 0
    functionLinenumber: 2098
    functionLinenumberEnd: 2100
    functionName: ARGPARSE_s_s
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_s_s(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2100
    functionDepth: 0
    functionLinenumber: 2100
    functionLinenumberEnd: 2102
    functionName: ARGPARSE_s_l
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_s_l(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2102
    functionDepth: 0
    functionLinenumber: 2102
    functionLinenumberEnd: 2104
    functionName: ARGPARSE_s_u
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_s_u(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - t
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2105
    functionDepth: 0
    functionLinenumber: 2105
    functionLinenumberEnd: 2107
    functionName: ARGPARSE_o
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_o(s,l,t,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2109
    functionName: ARGPARSE_o_n
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_o_n(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2111
    functionName: ARGPARSE_o_i
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_o_i(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2111
    functionDepth: 0
    functionLinenumber: 2111
    functionLinenumberEnd: 2113
    functionName: ARGPARSE_o_s
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_o_s(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2115
    functionName: ARGPARSE_o_l
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_o_l(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2117
    functionName: ARGPARSE_o_u
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_o_u(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - t
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2120
    functionName: ARGPARSE_p
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_p(s,l,t,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2122
    functionName: ARGPARSE_p_n
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_p_n(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2124
    functionName: ARGPARSE_p_i
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_p_i(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2126
    functionName: ARGPARSE_p_s
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_p_s(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2128
    functionName: ARGPARSE_p_l
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_p_l(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2128
    functionDepth: 0
    functionLinenumber: 2128
    functionLinenumberEnd: 2130
    functionName: ARGPARSE_p_u
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_p_u(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - t
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2131
    functionDepth: 0
    functionLinenumber: 2131
    functionLinenumberEnd: 2134
    functionName: ARGPARSE_op
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_op(s,l,t,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2134
    functionDepth: 0
    functionLinenumber: 2134
    functionLinenumberEnd: 2137
    functionName: ARGPARSE_op_n
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_op_n(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2137
    functionDepth: 0
    functionLinenumber: 2137
    functionLinenumberEnd: 2140
    functionName: ARGPARSE_op_i
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_op_i(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2143
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2143
    functionName: ARGPARSE_op_s
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_op_s(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2143
    functionDepth: 0
    functionLinenumber: 2143
    functionLinenumberEnd: 2146
    functionName: ARGPARSE_op_l
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_op_l(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2146
    functionDepth: 0
    functionLinenumber: 2146
    functionLinenumberEnd: 2149
    functionName: ARGPARSE_op_u
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_op_u(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2150
    functionDepth: 0
    functionLinenumber: 2150
    functionLinenumberEnd: 2152
    functionName: ARGPARSE_c
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_c(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2153
    functionDepth: 0
    functionLinenumber: 2153
    functionLinenumberEnd: 2155
    functionName: ARGPARSE_conffile
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_conffile(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2158
    functionName: ARGPARSE_noconffile
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_noconffile(s,l,d)
  - 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: 2162
      start: 2160
    functionDepth: 0
    functionLinenumber: 2160
    functionLinenumberEnd: 2162
    functionName: ARGPARSE_ignore
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_ignore(s,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2165
    functionDepth: 0
    functionLinenumber: 2165
    functionLinenumberEnd: 2167
    functionName: ARGPARSE_group
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_group(s,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2170
    functionDepth: 0
    functionLinenumber: 2170
    functionLinenumberEnd: 2172
    functionName: ARGPARSE_verbatim
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_verbatim(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2176
    functionDepth: 0
    functionLinenumber: 2176
    functionLinenumberEnd: 2178
    functionName: ARGPARSE_header
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_header(n,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2180
    functionDepth: 0
    functionLinenumber: 2180
    functionLinenumberEnd: 2182
    functionName: ARGPARSE_end
    functionSourceFile: /src/libgpg-error/src/gpgrt.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: errno_to_idx
    functionSourceFile: /src/libgpg-error/src/code-from-errno.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: errno_to_idx(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 949
    functionName: msgidxof
    functionSourceFile: /src/libgpg-error/src/err-codes-sym.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: GPG_ERR_INLINE msgidxof (int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: msgidxof
    functionSourceFile: /src/libgpg-error/src/err-sources-sym.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: GPG_ERR_INLINE msgidxof (int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 949
    functionName: msgidxof
    functionSourceFile: /src/libgpg-error/src/err-codes.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: GPG_ERR_INLINE msgidxof (int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 801
    functionName: GPGRT_ATTR_PRINTF
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GPGRT_ATTR_PRINTF(f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 803
    functionName: GPGRT_ATTR_NR_PRINTF
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GPGRT_ATTR_NR_PRINTF(f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 806
    functionName: GPGRT_ATTR_PRINTF
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GPGRT_ATTR_PRINTF(f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 808
    functionName: GPGRT_ATTR_NR_PRINTF
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GPGRT_ATTR_NR_PRINTF(f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 814
    functionName: GPGRT_ATTR_FORMAT_ARG
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GPGRT_ATTR_FORMAT_ARG(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 821
    functionName: GPGRT_ATTR_SENTINEL
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GPGRT_ATTR_SENTINEL(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __lsan_ignore_object
      Src: /src/libgpg-error/src/gpg-error.h:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 911
    functionName: gpgrt_annotate_leaked_object
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 35
    functionsReached:
    - __lsan_ignore_object
    linkageType: ''
    returnType: GPGRT_INLINE
    signature: GPGRT_INLINE gpgrt_annotate_leaked_object (const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 927
    functionName: gpgrt_init
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 929
    functionName: gpgrt_init
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - code
    argTypes:
    - gpg_err_source_t
    - gpg_err_code_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 964
    functionName: gpg_error_t::gpg_err_make
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gpg_error_t

      gpg_err_make (gpg_err_source_t source, gpg_err_code_t code)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_err_make
      Src: /src/libgpg-error/src/gpg-error.h:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - gpg_err_code_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 977
    functionName: gpg_error_t
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached:
    - gpg_err_make
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gpg_error_t

      gpg_error (gpg_err_code_t code)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 985
    functionName: gpg_err_code_t::gpg_err_code
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gpg_err_code_t

      gpg_err_code (gpg_error_t err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - gpg_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 994
    functionName: gpg_err_source_t::gpg_err_source
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gpg_err_source_t

      gpg_err_source (gpg_error_t err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sqlres
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1040
    functionName: gpg_error_t::gpg_err_code_from_sqlite
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gpg_error_t

      gpg_err_code_from_sqlite (int sqlres)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error_t::gpg_err_make
      Src: /src/libgpg-error/src/gpg-error.h:1065,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgpg-error/src/gpg-error.h:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - err
    argTypes:
    - gpg_err_source_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1066
    functionName: gpg_error_t::gpg_err_make_from_errno
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached:
    - gpg_error_t::gpg_err_make
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gpg_error_t

      gpg_err_make_from_errno (gpg_err_source_t source, int err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgpg-error/src/gpg-error.h:1072,1
    - Dst: gpg_err_code_from_errno
      Src: /src/libgpg-error/src/gpg-error.h:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1073
    functionName: gpg_error_t::gpg_error_from_errno
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached:
    - gpg_error
    - gpg_err_code_from_errno
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gpg_error_t

      gpg_error_from_errno (int err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpg_error
      Src: /src/libgpg-error/src/gpg-error.h:1078,1
    - Dst: gpg_err_code_from_syserror
      Src: /src/libgpg-error/src/gpg-error.h:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1075
    functionDepth: 1
    functionLinenumber: 1075
    functionLinenumberEnd: 1079
    functionName: gpg_error_t::gpg_error_from_syserror
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached:
    - gpg_error
    - gpg_err_code_from_syserror
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: 'GPG_ERR_INLINE gpg_error_t

      gpg_error_from_syserror (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1108
    functionName: gpgrt_unsetenv
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_unsetenv(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1148
    functionName: GPGRT_LOCK_DEFINE
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GPGRT_LOCK_DEFINE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1364
    functionName: gpgrt_pending
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_pending(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1370
    functionName: gpgrt_pending_unlocked
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_pending_unlocked(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1391
    functionName: gpgrt_getc_unlocked
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_getc_unlocked(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1398
    functionName: gpgrt_putc_unlocked
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_putc_unlocked(c, stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1400
    functionName: gpgrt_getc
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_getc(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1401
    functionName: gpgrt_putc
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_putc(c, stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - gpgrt_strlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1677
    functionName: gpgrt_strlist_count
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE unsigned
    signature: GPG_ERR_INLINE unsigned gpgrt_strlist_count (gpgrt_strlist_t list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1831
    functionName: gpgrt_assert
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_assert(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1836
    functionName: gpgrt_assert
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_assert(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1841
    functionDepth: 0
    functionLinenumber: 1841
    functionLinenumberEnd: 1842
    functionName: log_set_file
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_set_file(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1843
    functionName: log_set_fd
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_set_fd(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1843
    functionDepth: 0
    functionLinenumber: 1843
    functionLinenumberEnd: 1844
    functionName: log_set_stream
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_set_stream(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1870
    functionName: log_assert
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 419
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_assert(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1875
    functionName: log_assert
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 419
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_assert(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1949
    functionName: gpgrt_create_pipe
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_create_pipe(a)
  - 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: 1950
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1950
    functionName: gpgrt_create_inbound_pipe
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_create_inbound_pipe(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1951
    functionName: gpgrt_create_outbound_pipe
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gpgrt_create_outbound_pipe(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - t
    - ','
    - f
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2091
    functionName: ARGPARSE_x
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_x(s,l,t,f,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - t
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2092
    functionDepth: 0
    functionLinenumber: 2092
    functionLinenumberEnd: 2094
    functionName: ARGPARSE_s
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_s(s,l,t,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2094
    functionDepth: 0
    functionLinenumber: 2094
    functionLinenumberEnd: 2096
    functionName: ARGPARSE_s_n
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_s_n(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 2096
    functionDepth: 0
    functionLinenumber: 2096
    functionLinenumberEnd: 2098
    functionName: ARGPARSE_s_i
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_s_i(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2098
    functionDepth: 0
    functionLinenumber: 2098
    functionLinenumberEnd: 2100
    functionName: ARGPARSE_s_s
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_s_s(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2100
    functionDepth: 0
    functionLinenumber: 2100
    functionLinenumberEnd: 2102
    functionName: ARGPARSE_s_l
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_s_l(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2102
    functionDepth: 0
    functionLinenumber: 2102
    functionLinenumberEnd: 2104
    functionName: ARGPARSE_s_u
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_s_u(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - t
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2105
    functionDepth: 0
    functionLinenumber: 2105
    functionLinenumberEnd: 2107
    functionName: ARGPARSE_o
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_o(s,l,t,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2109
    functionName: ARGPARSE_o_n
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_o_n(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2111
    functionName: ARGPARSE_o_i
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_o_i(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2111
    functionDepth: 0
    functionLinenumber: 2111
    functionLinenumberEnd: 2113
    functionName: ARGPARSE_o_s
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_o_s(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2115
    functionName: ARGPARSE_o_l
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_o_l(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2117
    functionName: ARGPARSE_o_u
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_o_u(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - t
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2120
    functionName: ARGPARSE_p
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_p(s,l,t,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2122
    functionName: ARGPARSE_p_n
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_p_n(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2124
    functionName: ARGPARSE_p_i
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_p_i(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2126
    functionName: ARGPARSE_p_s
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_p_s(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2128
    functionName: ARGPARSE_p_l
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_p_l(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2128
    functionDepth: 0
    functionLinenumber: 2128
    functionLinenumberEnd: 2130
    functionName: ARGPARSE_p_u
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_p_u(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - t
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2131
    functionDepth: 0
    functionLinenumber: 2131
    functionLinenumberEnd: 2134
    functionName: ARGPARSE_op
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_op(s,l,t,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2134
    functionDepth: 0
    functionLinenumber: 2134
    functionLinenumberEnd: 2137
    functionName: ARGPARSE_op_n
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_op_n(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2137
    functionDepth: 0
    functionLinenumber: 2137
    functionLinenumberEnd: 2140
    functionName: ARGPARSE_op_i
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_op_i(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2143
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2143
    functionName: ARGPARSE_op_s
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_op_s(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2143
    functionDepth: 0
    functionLinenumber: 2143
    functionLinenumberEnd: 2146
    functionName: ARGPARSE_op_l
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_op_l(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2146
    functionDepth: 0
    functionLinenumber: 2146
    functionLinenumberEnd: 2149
    functionName: ARGPARSE_op_u
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_op_u(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2150
    functionDepth: 0
    functionLinenumber: 2150
    functionLinenumberEnd: 2152
    functionName: ARGPARSE_c
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_c(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2153
    functionDepth: 0
    functionLinenumber: 2153
    functionLinenumberEnd: 2155
    functionName: ARGPARSE_conffile
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_conffile(s,l,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2158
    functionName: ARGPARSE_noconffile
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_noconffile(s,l,d)
  - 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: 2162
      start: 2160
    functionDepth: 0
    functionLinenumber: 2160
    functionLinenumberEnd: 2162
    functionName: ARGPARSE_ignore
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_ignore(s,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2165
    functionDepth: 0
    functionLinenumber: 2165
    functionLinenumberEnd: 2167
    functionName: ARGPARSE_group
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_group(s,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2170
    functionDepth: 0
    functionLinenumber: 2170
    functionLinenumberEnd: 2172
    functionName: ARGPARSE_verbatim
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_verbatim(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2176
    functionDepth: 0
    functionLinenumber: 2176
    functionLinenumberEnd: 2178
    functionName: ARGPARSE_header
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_header(n,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2180
    functionDepth: 0
    functionLinenumber: 2180
    functionLinenumberEnd: 2182
    functionName: ARGPARSE_end
    functionSourceFile: /src/libgpg-error/src/gpg-error.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGPARSE_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: errnos_msgidxof
    functionSourceFile: /src/libgpg-error/src/errnos-sym.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: GPG_ERR_INLINE errnos_msgidxof (int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: msgidxof
    functionSourceFile: /src/libgpg-error/src/err-sources.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: GPG_ERR_INLINE
    signature: GPG_ERR_INLINE msgidxof (int code)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgpg-error/gpgscm/t-child.c:33,1
    - Dst: setmode
      Src: /src/libgpg-error/gpgscm/t-child.c:35,1
    - Dst: fileno
      Src: /src/libgpg-error/gpgscm/t-child.c:35,1
    - Dst: setmode
      Src: /src/libgpg-error/gpgscm/t-child.c:37,1
    - Dst: fileno
      Src: /src/libgpg-error/gpgscm/t-child.c:37,1
    - Dst: strcmp
      Src: /src/libgpg-error/gpgscm/t-child.c:43,1
    - Dst: strcmp
      Src: /src/libgpg-error/gpgscm/t-child.c:45,1
    - Dst: strcmp
      Src: /src/libgpg-error/gpgscm/t-child.c:47,1
    - Dst: strcmp
      Src: /src/libgpg-error/gpgscm/t-child.c:49,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/t-child.c:50,1
    - Dst: strcmp
      Src: /src/libgpg-error/gpgscm/t-child.c:51,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/t-child.c:52,1
    - Dst: strcmp
      Src: /src/libgpg-error/gpgscm/t-child.c:53,1
    - Dst: fwrite
      Src: /src/libgpg-error/gpgscm/t-child.c:54,1
    - Dst: strcmp
      Src: /src/libgpg-error/gpgscm/t-child.c:55,1
    - Dst: fwrite
      Src: /src/libgpg-error/gpgscm/t-child.c:57,1
    - Dst: fwrite
      Src: /src/libgpg-error/gpgscm/t-child.c:58,1
    - Dst: strcmp
      Src: /src/libgpg-error/gpgscm/t-child.c:60,1
    - Dst: feof
      Src: /src/libgpg-error/gpgscm/t-child.c:61,1
    - Dst: fread
      Src: /src/libgpg-error/gpgscm/t-child.c:64,1
    - Dst: fwrite
      Src: /src/libgpg-error/gpgscm/t-child.c:65,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/t-child.c:69,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/libgpg-error/gpgscm/t-child.c
    functionUses: 16
    functionsReached:
    - fwrite
    - fileno
    - strcmp
    - fprintf
    - feof
    - memset
    - setmode
    - fread
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: my_strusage
    functionSourceFile: /src/libgpg-error/gpgscm/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strusage( int level )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libgpg-error/gpgscm/main.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: path_absolute_p
    functionSourceFile: /src/libgpg-error/gpgscm/main.c
    functionUses: 1
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int path_absolute_p (const char *p)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: path_absolute_p
      Src: /src/libgpg-error/gpgscm/main.c:145,1
    - Dst: path_absolute_p
      Src: /src/libgpg-error/gpgscm/main.c:147,1
    - Dst: fopen
      Src: /src/libgpg-error/gpgscm/main.c:149,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/main.c:151,1
    - Dst: strlen
      Src: /src/libgpg-error/gpgscm/main.c:156,1
    - Dst: asprintf
      Src: /src/libgpg-error/gpgscm/main.c:158,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/main.c:159,1
    - Dst: fopen
      Src: /src/libgpg-error/gpgscm/main.c:161,1
    - Dst: free
      Src: /src/libgpg-error/gpgscm/main.c:170,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/main.c:174,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/main.c:180,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/gpgscm/main.c:181,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/main.c:183,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/main.c:189,1
    - Dst: fileno
      Src: /src/libgpg-error/gpgscm/main.c:200,1
    - Dst: fstat
      Src: /src/libgpg-error/gpgscm/main.c:205,1
    - Dst: mmap
      Src: /src/libgpg-error/gpgscm/main.c:212,1
    - Dst: scheme_load_memory
      Src: /src/libgpg-error/gpgscm/main.c:216,1
    - Dst: munmap
      Src: /src/libgpg-error/gpgscm/main.c:217,1
    - Dst: scheme_load_named_file
      Src: /src/libgpg-error/gpgscm/main.c:222,1
    - Dst: fclose
      Src: /src/libgpg-error/gpgscm/main.c:223,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/main.c:227,1
    - Dst: gpg_error
      Src: /src/libgpg-error/gpgscm/main.c:228,1
    - Dst: free
      Src: /src/libgpg-error/gpgscm/main.c:233,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 63
    argCount: 4
    argNames:
    - sc
    - file_name
    - lookup_in_cwd
    - lookup_in_path
    argTypes:
    - scheme*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 235
    functionName: load
    functionSourceFile: /src/libgpg-error/gpgscm/main.c
    functionUses: 26
    functionsReached:
    - strlen
    - gpg_error_from_syserror
    - free
    - fclose
    - fileno
    - fprintf
    - fstat
    - mmap
    - gpg_error
    - gpg_strerror
    - fopen
    - path_absolute_p
    - scheme_load_memory
    - scheme_load_named_file
    - munmap
    - asprintf
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t load (scheme *sc, char *file_name,\n      int lookup_in_cwd,
      int lookup_in_path)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_check_version
      Src: /src/libgpg-error/gpgscm/main.c:258,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/main.c:260,1
    - Dst: _
      Src: /src/libgpg-error/gpgscm/main.c:260,1
    - Dst: gpgrt_check_version
      Src: /src/libgpg-error/gpgscm/main.c:261,1
    - Dst: exit
      Src: /src/libgpg-error/gpgscm/main.c:262,1
    - Dst: getenv
      Src: /src/libgpg-error/gpgscm/main.c:266,1
    - Dst: getenv
      Src: /src/libgpg-error/gpgscm/main.c:267,1
    - Dst: strdup
      Src: /src/libgpg-error/gpgscm/main.c:269,1
    - Dst: gpgrt_log_set_prefix
      Src: /src/libgpg-error/gpgscm/main.c:280,1
    - Dst: gpgrt_get_errorcount
      Src: /src/libgpg-error/gpgscm/main.c:292,1
    - Dst: exit
      Src: /src/libgpg-error/gpgscm/main.c:293,1
    - Dst: scheme_init_new_custom_alloc
      Src: /src/libgpg-error/gpgscm/main.c:295,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/main.c:298,1
    - Dst: scheme_set_input_port_file
      Src: /src/libgpg-error/gpgscm/main.c:301,1
    - Dst: scheme_set_output_port_file
      Src: /src/libgpg-error/gpgscm/main.c:302,1
    - Dst: load
      Src: /src/libgpg-error/gpgscm/main.c:310,1
    - Dst: load
      Src: /src/libgpg-error/gpgscm/main.c:312,1
    - Dst: ffi_init
      Src: /src/libgpg-error/gpgscm/main.c:314,1
    - Dst: load
      Src: /src/libgpg-error/gpgscm/main.c:317,1
    - Dst: load
      Src: /src/libgpg-error/gpgscm/main.c:319,1
    - Dst: load
      Src: /src/libgpg-error/gpgscm/main.c:321,1
    - Dst: load
      Src: /src/libgpg-error/gpgscm/main.c:323,1
    - Dst: load
      Src: /src/libgpg-error/gpgscm/main.c:325,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/main.c:328,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/gpgscm/main.c:329,1
    - Dst: exit
      Src: /src/libgpg-error/gpgscm/main.c:330,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/main.c:336,1
    - Dst: scheme_load_string
      Src: /src/libgpg-error/gpgscm/main.c:337,1
    - Dst: load
      Src: /src/libgpg-error/gpgscm/main.c:341,1
    - Dst: gpgrt_log_fatal
      Src: /src/libgpg-error/gpgscm/main.c:343,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/gpgscm/main.c:343,1
    - Dst: scheme_load_string
      Src: /src/libgpg-error/gpgscm/main.c:347,1
    - Dst: scheme_deinit
      Src: /src/libgpg-error/gpgscm/main.c:348,1
    - Dst: xfree
      Src: /src/libgpg-error/gpgscm/main.c:349,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 351
    functionName: main
    functionSourceFile: /src/libgpg-error/gpgscm/main.c
    functionUses: 16
    functionsReached:
    - gpgrt_log_set_prefix
    - load
    - scheme_set_input_port_file
    - scheme_deinit
    - scheme_init_new_custom_alloc
    - gpgrt_check_version
    - getenv
    - exit
    - ffi_init
    - _
    - scheme_set_output_port_file
    - fprintf
    - gpgrt_log_fatal
    - gpg_strerror
    - xfree
    - strdup
    - scheme_load_string
    - gpgrt_get_errorcount
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/libgpg-error/gpgscm/scheme.c:84,1
    - Dst: tolower
      Src: /src/libgpg-error/gpgscm/scheme.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: stricmp
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 19
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: int stricmp(const char *s1, const char *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/libgpg-error/gpgscm/scheme.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: strlwr
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 17
    functionsReached:
    - tolower
    linkageType: ''
    returnType: char
    signature: char *strlwr(char *s)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_unreachable
      Src: /src/libgpg-error/gpgscm/scheme.c:174,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 1
    argNames:
    - typ
    argTypes:
    - enum scheme_types
    assertStmts:
    - condition: (! "not reached")
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 178
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 178
    functionName: type_to_string
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 6
    functionsReached:
    - __builtin_unreachable
    - assert
    linkageType: ''
    returnType: char
    signature: 'char *

      type_to_string (enum scheme_types typ)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: num_is_integer
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: INLINE
    signature: INLINE num_is_integer(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: typeflag
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: typeflag(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: type
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 119
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: type(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: settype
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: settype(p, typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: is_string
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 6
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_string(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: strvalue
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strvalue(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: strlength
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strlength(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: is_vector
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 10
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_vector(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: vector_length
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vector_length(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: vector_size
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vector_size(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: is_number
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 8
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_number(pointer p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_number
      Src: /src/libgpg-error/gpgscm/scheme.c:241,1
    - Dst: num_is_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:243,1
    - Dst: ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:243,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: is_integer
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 9
    functionsReached:
    - num_is_integer
    - ivalue
    - is_number
    - rvalue
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_integer(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_number
      Src: /src/libgpg-error/gpgscm/scheme.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: is_real
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_number
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_real(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: is_character
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_character(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: string_value
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 4
    functionsReached:
    - strvalue
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE *string_value(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: nvalue
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: INLINE
    signature: INLINE nvalue(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_is_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: ivalue
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 21
    functionsReached:
    - num_is_integer
    linkageType: ''
    returnType: INTERFACE long
    signature: INTERFACE long ivalue(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_is_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: rvalue
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 33
    functionsReached:
    - num_is_integer
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE rvalue(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: ivalue_unchecked
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ivalue_unchecked(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: rvalue_unchecked
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rvalue_unchecked(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: set_num_integer
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_num_integer(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: set_num_real
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_num_real(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ivalue_unchecked
      Src: /src/libgpg-error/gpgscm/scheme.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: charvalue
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 4
    functionsReached:
    - ivalue_unchecked
    linkageType: ''
    returnType: INTERFACE  long
    signature: INTERFACE  long charvalue(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: is_port
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 5
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_port(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_port
      Src: /src/libgpg-error/gpgscm/scheme.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: is_inport
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_port
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_inport(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_port
      Src: /src/libgpg-error/gpgscm/scheme.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: is_outport
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_port
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_outport(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: is_pair
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 21
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_pair(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: car
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 82
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: car(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: cdr
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cdr(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: pair_car
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - car
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE pair_car(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: pair_cdr
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - cdr
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE pair_cdr(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: set_car
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE set_car(pointer p, pointer q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: set_cdr
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cdr
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE set_cdr(pointer p, pointer q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: is_symbol
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 9
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_symbol(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:276,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: symname
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 5
    functionsReached:
    - strvalue
    - car
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE *symname(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: hasprop
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_symbol
    linkageType: ''
    returnType: SCHEME_EXPORT
    signature: SCHEME_EXPORT hasprop(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: symprop
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: symprop(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: is_syntax
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - typeflag
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_syntax(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: is_proc
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_proc(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: is_foreign
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_foreign(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:285,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: syntaxname
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - strvalue
    - car
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE *syntaxname(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: procnum
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: procnum(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: is_closure
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_closure(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: is_macro
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_macro(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: closure_code
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE closure_code(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: closure_env
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cdr
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE closure_env(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: is_continuation
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_continuation(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: cont_dump
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cont_dump(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: is_foreign_object
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_foreign_object(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: foreign_object_vtable *get_foreign_object_vtable(pointer p)
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE foreign_object_vtable *get_foreign_object_vtable(pointer
      p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: get_foreign_object_data
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE *get_foreign_object_data(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: is_promise
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_promise(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: is_environment
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_environment(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: setenvironment
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setenvironment(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: is_frame
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - type
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_frame(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: setframe
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setframe(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: is_atom
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_atom(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: setatom
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setatom(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: clratom
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clratom(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: is_mark
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_mark(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: setmark
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setmark(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    functionName: clrmark
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clrmark(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: is_immutable
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 22
    functionsReached:
    - typeflag
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE is_immutable(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: setimmutable
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 6
    functionsReached:
    - typeflag
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE setimmutable(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 327
    functionName: caar
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: caar(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: cadr
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cadr(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 329
    functionName: cdar
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cdar(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 330
    functionName: cddr
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cddr(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: cadar
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cadar(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 332
    functionName: caddr
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: caddr(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 333
    functionName: cdaar
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cdaar(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    functionName: cadaar
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cadaar(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 335
    functionName: cadddr
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cadddr(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: cddddr
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cddddr(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - SC
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: history_mark
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: history_mark(SC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - SC
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 343
    functionName: history_flatten
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: history_flatten(SC)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/libgpg-error/gpgscm/scheme.c:346,1
    - Dst: isalpha
      Src: /src/libgpg-error/gpgscm/scheme.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 346
    functionName: Cisalpha
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - isalpha
    - isascii
    linkageType: ''
    returnType: INLINE
    signature: INLINE Cisalpha(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/libgpg-error/gpgscm/scheme.c:347,1
    - Dst: isdigit
      Src: /src/libgpg-error/gpgscm/scheme.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: Cisdigit
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - isdigit
    - isascii
    linkageType: ''
    returnType: INLINE
    signature: INLINE Cisdigit(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/libgpg-error/gpgscm/scheme.c:348,1
    - Dst: isspace
      Src: /src/libgpg-error/gpgscm/scheme.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 348
    functionName: Cisspace
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - isspace
    - isascii
    linkageType: ''
    returnType: INLINE
    signature: INLINE Cisspace(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/libgpg-error/gpgscm/scheme.c:349,1
    - Dst: isupper
      Src: /src/libgpg-error/gpgscm/scheme.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 349
    functionName: Cisupper
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - isupper
    - isascii
    linkageType: ''
    returnType: INLINE
    signature: INLINE Cisupper(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/libgpg-error/gpgscm/scheme.c:350,1
    - Dst: islower
      Src: /src/libgpg-error/gpgscm/scheme.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 350
    functionName: Cislower
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - islower
    - isascii
    linkageType: ''
    returnType: INLINE
    signature: INLINE Cislower(int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/libgpg-error/gpgscm/scheme.c:392,1
    - Dst: strcasecmp
      Src: /src/libgpg-error/gpgscm/scheme.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - name
    - pc
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 402
    functionName: is_ascii_name
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - strncasecmp
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int is_ascii_name(const char *name, int *pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 467
    functionName: num_ivalue
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: num_ivalue(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 468
    functionName: num_rvalue
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: num_rvalue(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:475,1
    - Dst: num_rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 478
    functionName: num_add
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_rvalue
    linkageType: ''
    returnType: num
    signature: num num_add(num a, num b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:486,1
    - Dst: num_rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 489
    functionName: num_mul
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_rvalue
    linkageType: ''
    returnType: num
    signature: num num_mul(num a, num b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:497,1
    - Dst: num_rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: num_div
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_rvalue
    linkageType: ''
    returnType: num
    signature: num num_div(num a, num b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:508,1
    - Dst: num_rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 511
    functionName: num_intdiv
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_rvalue
    linkageType: ''
    returnType: num
    signature: num num_intdiv(num a, num b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:519,1
    - Dst: num_rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 522
    functionName: num_sub
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_rvalue
    linkageType: ''
    returnType: num
    signature: num num_sub(num a, num b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: num_ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:528,1
    - Dst: num_ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:529,1
    - Dst: labs
      Src: /src/libgpg-error/gpgscm/scheme.c:534,1
    - Dst: labs
      Src: /src/libgpg-error/gpgscm/scheme.c:538,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 543
    functionName: num_rem
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_ivalue
    - labs
    linkageType: ''
    returnType: num
    signature: num num_rem(num a, num b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:549,1
    - Dst: num_ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 558
    functionName: num_mod
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_ivalue
    linkageType: ''
    returnType: num
    signature: num num_mod(num a, num b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:566,1
    - Dst: num_rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 569
    functionName: num_eq
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - num_rvalue
    linkageType: ''
    returnType: int
    signature: int num_eq(num a, num b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:578,1
    - Dst: num_rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 581
    functionName: num_gt
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - num_rvalue
    linkageType: ''
    returnType: int
    signature: int num_gt(num a, num b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_lt
      Src: /src/libgpg-error/gpgscm/scheme.c:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 585
    functionName: num_ge
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_lt
    linkageType: ''
    returnType: int
    signature: int num_ge(num a, num b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:593,1
    - Dst: num_rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 596
    functionName: num_lt
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - num_rvalue
    linkageType: ''
    returnType: int
    signature: int num_lt(num a, num b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_gt
      Src: /src/libgpg-error/gpgscm/scheme.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - num
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 600
    functionName: num_le
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - num_gt
    linkageType: ''
    returnType: int
    signature: int num_le(num a, num b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libgpg-error/gpgscm/scheme.c:605,1
    - Dst: ceil
      Src: /src/libgpg-error/gpgscm/scheme.c:606,1
    - Dst: fmod
      Src: /src/libgpg-error/gpgscm/scheme.c:614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 620
    functionName: round_per_R5RS
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - floor
    - fmod
    - ceil
    linkageType: ''
    returnType: double
    signature: double round_per_R5RS(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 625
    functionName: is_zero_double
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_zero_double(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 637
    functionName: binary_decode
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long binary_decode(const char *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libgpg-error/gpgscm/scheme.c:668,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:671,1
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:672,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:674,1
    - Dst: store_string
      Src: /src/libgpg-error/gpgscm/scheme.c:674,1
    - Dst: strlength
      Src: /src/libgpg-error/gpgscm/scheme.c:674,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:674,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:678,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:682,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:685,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - sc
    - dst
    - src
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts:
    - condition: (!"implemented")
      pos:
        line_end: 677
        line_start: 677
        source_file: /src/libgpg-error/gpgscm/scheme.c
    - condition: (!"implemented")
      pos:
        line_end: 681
        line_start: 681
        source_file: /src/libgpg-error/gpgscm/scheme.c
    - condition: (!"vectors cannot be copied")
      pos:
        line_end: 684
        line_start: 684
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 687
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 687
    functionName: copy_value
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - type
    - typeflag
    - assert
    - strlength
    - strvalue
    - memcpy
    - store_string
    linkageType: ''
    returnType: void
    signature: void copy_value(scheme *sc, pointer dst, pointer src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:699,1
    - Dst: is_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:699,1
    - Dst: get_consecutive_cells
      Src: /src/libgpg-error/gpgscm/scheme.c:701,1
    - Dst: copy_value
      Src: /src/libgpg-error/gpgscm/scheme.c:705,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:706,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:709,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:710,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - sc
    - v
    - tag_car
    - tag_cdr
    argTypes:
    - scheme*
    - pointer
    - pointer
    - pointer
    assertStmts:
    - condition: (! is_vector(v))
      pos:
        line_end: 698
        line_start: 698
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 714
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 714
    functionName: mk_tagged_value
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - is_vector
    - typeflag
    - assert
    - get_consecutive_cells
    - car
    - cdr
    - copy_value
    linkageType: ''
    returnType: pointer
    signature: pointer mk_tagged_value(scheme *sc, pointer v, pointer tag_car, pointer
      tag_cdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 720
    functionName: has_tag
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - typeflag
    linkageType: ''
    returnType: INLINE
    signature: INLINE has_tag(pointer v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_tag
      Src: /src/libgpg-error/gpgscm/scheme.c:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - v
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 728
    functionName: get_tag
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 6
    functionsReached:
    - has_tag
    linkageType: ''
    returnType: INLINE
    signature: INLINE get_tag(scheme *sc, pointer v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::malloc
      Src: /src/libgpg-error/gpgscm/scheme.c:760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - sc
    - len
    - segment
    argTypes:
    - scheme*
    - size_t
    - struct cell_segment**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 776
    functionName: _alloc_cellseg
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - scheme*::malloc
    linkageType: ''
    returnType: int
    signature: int _alloc_cellseg(scheme *sc, size_t len, struct cell_segment **segment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::free
      Src: /src/libgpg-error/gpgscm/scheme.c:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - segment
    argTypes:
    - scheme*
    - struct cell_segment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 792
    functionName: _dealloc_cellseg
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - scheme*::free
    linkageType: ''
    returnType: struct cell_segment
    signature: 'struct cell_segment *

      _dealloc_cellseg(scheme *sc, struct cell_segment *segment)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _alloc_cellseg
      Src: /src/libgpg-error/gpgscm/scheme.c:802,1
    - Dst: alloc::alloc
      Src: /src/libgpg-error/gpgscm/scheme.c:807,1
    - Dst: sc::sc
      Src: /src/libgpg-error/gpgscm/scheme.c:812,1
    - Dst: cells_len::cells_len
      Src: /src/libgpg-error/gpgscm/scheme.c:814,1
    - Dst: cells::cells
      Src: /src/libgpg-error/gpgscm/scheme.c:815,1
    - Dst: cells_len::cells_len
      Src: /src/libgpg-error/gpgscm/scheme.c:815,1
    - Dst: cells::cells
      Src: /src/libgpg-error/gpgscm/scheme.c:816,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:818,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:819,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:823,1
    - Dst: cells::cells
      Src: /src/libgpg-error/gpgscm/scheme.c:824,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:827,1
    - Dst: cells::cells
      Src: /src/libgpg-error/gpgscm/scheme.c:827,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:827,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:828,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:829,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:829,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:830,1
    - Dst: cells::cells
      Src: /src/libgpg-error/gpgscm/scheme.c:830,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - sc
    - n
    argTypes:
    - scheme*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 834
    functionName: alloc_cellseg
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 7
    functionsReached:
    - sc::sc
    - car
    - cdr
    - _alloc_cellseg
    - cells_len::cells_len
    - alloc::alloc
    - cells::cells
    linkageType: ''
    returnType: int
    signature: int alloc_cellseg(scheme *sc, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 817
    functionName: typeflag
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void typeflag(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 871
    functionName: gc_reservations
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_reservations(fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:879,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:882,1
    - Dst: _gpgrt_abort
      Src: /src/libgpg-error/gpgscm/scheme.c:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 875
    functionDepth: 2
    functionLinenumber: 875
    functionLinenumberEnd: 888
    functionName: gc_reservation_failure
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - fprintf
    - _gpgrt_abort
    linkageType: ''
    returnType: void
    signature: void gc_reservation_failure(struct scheme *sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserve_cells
      Src: /src/libgpg-error/gpgscm/scheme.c:898,1
    - Dst: gc_reservation_failure
      Src: /src/libgpg-error/gpgscm/scheme.c:906,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - sc
    - reserve
    - lineno
    argTypes:
    - struct scheme*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 908
    functionName: _gc_disable
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - gc_reservation_failure
    - reserve_cells
    linkageType: ''
    returnType: void
    signature: void _gc_disable(struct scheme *sc, size_t reserve, int lineno)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - reserve
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 919
    functionName: gc_disable
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_disable(sc, reserve)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 926
    functionName: gc_enable
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_enable(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 930
    functionName: gc_enabled
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_enabled(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 939
    functionName: gc_consume
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_consume(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 943
    functionName: gc_reservation_failure
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_reservation_failure(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - reserve
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 948
    functionName: gc_disable
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_disable(sc, reserve)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 949
    functionName: gc_enable
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_enable(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 950
    functionName: gc_enabled
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_enabled(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 951
    functionName: gc_consume
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_consume(sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gc_enabled
      Src: /src/libgpg-error/gpgscm/scheme.c:955,1
    - Dst: gc_enabled
      Src: /src/libgpg-error/gpgscm/scheme.c:957,1
    - Dst: gc_consume
      Src: /src/libgpg-error/gpgscm/scheme.c:958,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:959,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:963,1
    - Dst: gc_enabled
      Src: /src/libgpg-error/gpgscm/scheme.c:963,1
    - Dst: _get_cell
      Src: /src/libgpg-error/gpgscm/scheme.c:964,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - sc
    - a
    - b
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts:
    - condition: (gc_enabled (sc))
      pos:
        line_end: 962
        line_start: 962
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 965
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 965
    functionName: get_cell_x
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - assert
    - _get_cell
    - cdr
    - gc_enabled
    - gc_consume
    linkageType: ''
    returnType: INLINE
    signature: INLINE get_cell_x(scheme *sc, pointer a, pointer b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:976,1
    - Dst: gc_enabled
      Src: /src/libgpg-error/gpgscm/scheme.c:976,1
    - Dst: gc
      Src: /src/libgpg-error/gpgscm/scheme.c:978,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:985,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - sc
    - a
    - b
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts:
    - condition: (gc_enabled (sc))
      pos:
        line_end: 975
        line_start: 975
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 988
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 988
    functionName: _get_cell
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - gc_enabled
    - gc
    - cdr
    - assert
    linkageType: ''
    returnType: pointer
    signature: pointer _get_cell(scheme *sc, pointer a, pointer b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gc
      Src: /src/libgpg-error/gpgscm/scheme.c:999,1
    - Dst: alloc_cellseg
      Src: /src/libgpg-error/gpgscm/scheme.c:1002,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - sc
    - n
    argTypes:
    - scheme*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 1014
    functionName: reserve_cells
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - alloc_cellseg
    - gc
    linkageType: ''
    returnType: pointer
    signature: pointer reserve_cells(scheme *sc, int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find_consecutive_cells
      Src: /src/libgpg-error/gpgscm/scheme.c:1022,1
    - Dst: gc
      Src: /src/libgpg-error/gpgscm/scheme.c:1026,1
    - Dst: find_consecutive_cells
      Src: /src/libgpg-error/gpgscm/scheme.c:1027,1
    - Dst: alloc_cellseg
      Src: /src/libgpg-error/gpgscm/scheme.c:1031,1
    - Dst: find_consecutive_cells
      Src: /src/libgpg-error/gpgscm/scheme.c:1037,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - sc
    - n
    argTypes:
    - scheme*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1043
    functionName: get_consecutive_cells
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - alloc_cellseg
    - find_consecutive_cells
    - gc
    linkageType: ''
    returnType: pointer
    signature: pointer get_consecutive_cells(scheme *sc, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1047,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - x
    - needed
    argTypes:
    - pointer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1053
    functionName: count_consecutive_cells
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - cdr
    linkageType: ''
    returnType: int
    signature: int count_consecutive_cells(pointer x, int needed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count_consecutive_cells
      Src: /src/libgpg-error/gpgscm/scheme.c:1061,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1064,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - sc
    - n
    argTypes:
    - scheme*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1071
    functionName: find_consecutive_cells
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - count_consecutive_cells
    - cdr
    linkageType: ''
    returnType: pointer
    signature: pointer find_consecutive_cells(scheme *sc, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - a
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1081
    functionName: free_cell
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - cdr
    linkageType: ''
    returnType: INLINE
    signature: INLINE free_cell(scheme *sc, pointer a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1088,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1089,1
    - Dst: free_cell
      Src: /src/libgpg-error/gpgscm/scheme.c:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - sc
    - a
    - r_car
    - r_cdr
    argTypes:
    - scheme*
    - pointer
    - pointer*
    - pointer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1091
    functionName: free_cons
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - car
    - free_cell
    - cdr
    linkageType: ''
    returnType: INLINE
    signature: INLINE free_cons(scheme *sc, pointer a, pointer *r_car, pointer *r_cdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell_x
      Src: /src/libgpg-error/gpgscm/scheme.c:1098,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:1099,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1100,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1101,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1101,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sc
    - recent
    - extra
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1103
    functionName: push_recent_alloc
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - get_cell_x
    - car
    - cdr
    - typeflag
    linkageType: ''
    returnType: void
    signature: void push_recent_alloc(scheme *sc, pointer recent, pointer extra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1107,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1108,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1111,1
    - Dst: free_cell
      Src: /src/libgpg-error/gpgscm/scheme.c:1112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1115
    functionName: ok_to_freely_gc
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - free_cell
    - cdr
    linkageType: ''
    returnType: INLINE
    signature: INLINE ok_to_freely_gc(scheme *sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cell_x
      Src: /src/libgpg-error/gpgscm/scheme.c:1119,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:1123,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1124,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1125,1
    - Dst: gc_enabled
      Src: /src/libgpg-error/gpgscm/scheme.c:1126,1
    - Dst: push_recent_alloc
      Src: /src/libgpg-error/gpgscm/scheme.c:1127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - sc
    - a
    - b
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1129
    functionName: get_cell
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 14
    functionsReached:
    - gc_enabled
    - typeflag
    - car
    - cdr
    - push_recent_alloc
    - get_cell_x
    linkageType: ''
    returnType: pointer
    signature: pointer get_cell(scheme *sc, pointer a, pointer b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_consecutive_cells
      Src: /src/libgpg-error/gpgscm/scheme.c:1133,1
    - Dst: vector_size
      Src: /src/libgpg-error/gpgscm/scheme.c:1133,1
    - Dst: vector_size
      Src: /src/libgpg-error/gpgscm/scheme.c:1135,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:1138,1
    - Dst: vector_length
      Src: /src/libgpg-error/gpgscm/scheme.c:1139,1
    - Dst: fill_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:1140,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:1143,1
    - Dst: gc_enabled
      Src: /src/libgpg-error/gpgscm/scheme.c:1147,1
    - Dst: push_recent_alloc
      Src: /src/libgpg-error/gpgscm/scheme.c:1148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - sc
    - len
    - init
    argTypes:
    - scheme*
    - int
    - pointer
    assertStmts:
    - condition: (alloc_len - len < 3)
      pos:
        line_end: 1142
        line_start: 1142
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 1150
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1150
    functionName: get_vector_object
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - vector_length
    - typeflag
    - assert
    - fill_vector
    - get_consecutive_cells
    - vector_size
    - push_recent_alloc
    - gc_enabled
    linkageType: ''
    returnType: pointer
    signature: pointer get_vector_object(scheme *sc, int len, pointer init)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/libgpg-error/gpgscm/scheme.c:1156,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:1158,1
    - Dst: setimmutable
      Src: /src/libgpg-error/gpgscm/scheme.c:1160,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1162,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - sc
    - a
    - b
    - immutable
    argTypes:
    - scheme*
    - pointer
    - pointer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1165
    functionName: _cons
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 9
    functionsReached:
    - typeflag
    - car
    - cdr
    - get_cell
    - setimmutable
    linkageType: ''
    returnType: pointer
    signature: pointer _cons(scheme *sc, pointer a, pointer b, int immutable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mk_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1179
    functionName: oblist_initial_value
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - mk_vector
    linkageType: ''
    returnType: pointer
    signature: pointer oblist_initial_value(scheme *sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hash_fn
      Src: /src/libgpg-error/gpgscm/scheme.c:1192,1
    - Dst: vector_length
      Src: /src/libgpg-error/gpgscm/scheme.c:1192,1
    - Dst: vector_elem_slot
      Src: /src/libgpg-error/gpgscm/scheme.c:1193,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1194,1
    - Dst: symname
      Src: /src/libgpg-error/gpgscm/scheme.c:1195,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1195,1
    - Dst: stricmp
      Src: /src/libgpg-error/gpgscm/scheme.c:1197,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - sc
    - name
    - slot
    argTypes:
    - scheme*
    - char*
    - pointer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1204
    functionName: oblist_find_by_name
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - vector_length
    - car
    - symname
    - cdr
    - hash_fn
    - stricmp
    - vector_elem_slot
    linkageType: ''
    returnType: INLINE
    signature: INLINE oblist_find_by_name(scheme *sc, const char *name, pointer **slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector_length
      Src: /src/libgpg-error/gpgscm/scheme.c:1212,1
    - Dst: vector_elem
      Src: /src/libgpg-error/gpgscm/scheme.c:1213,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1213,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:1214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1218
    functionName: oblist_all_symbols
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - vector_length
    - cons
    - cdr
    - vector_elem
    linkageType: ''
    returnType: pointer
    signature: pointer oblist_all_symbols(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1225
    functionName: oblist_initial_value
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer oblist_initial_value(scheme *sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1237,1
    - Dst: symname
      Src: /src/libgpg-error/gpgscm/scheme.c:1238,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1238,1
    - Dst: stricmp
      Src: /src/libgpg-error/gpgscm/scheme.c:1240,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - sc
    - name
    - slot
    argTypes:
    - scheme*
    - char*
    - pointer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1247
    functionName: oblist_find_by_name
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - stricmp
    - car
    - symname
    - cdr
    linkageType: ''
    returnType: INLINE
    signature: INLINE oblist_find_by_name(scheme *sc, const char *name, pointer **slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1252
    functionName: oblist_all_symbols
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer oblist_all_symbols(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:1265,1
    - Dst: gc_reservations
      Src: /src/libgpg-error/gpgscm/scheme.c:1265,1
    - Dst: immutable_cons
      Src: /src/libgpg-error/gpgscm/scheme.c:1266,1
    - Dst: mk_string
      Src: /src/libgpg-error/gpgscm/scheme.c:1266,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:1267,1
    - Dst: setimmutable
      Src: /src/libgpg-error/gpgscm/scheme.c:1268,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1268,1
    - Dst: immutable_cons
      Src: /src/libgpg-error/gpgscm/scheme.c:1269,1
    - Dst: gc_enable
      Src: /src/libgpg-error/gpgscm/scheme.c:1270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - sc
    - name
    - slot
    argTypes:
    - scheme*
    - char*
    - pointer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1272
    functionName: oblist_add_by_name
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - typeflag
    - car
    - gc_enable
    - immutable_cons
    - gc_reservations
    - setimmutable
    - gc_disable
    - mk_string
    linkageType: ''
    returnType: pointer
    signature: pointer oblist_add_by_name(scheme *sc, const char *name, pointer *slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/libgpg-error/gpgscm/scheme.c:1277,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - p
    argTypes:
    - scheme*
    - port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1282
    functionName: mk_port
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 6
    functionsReached:
    - get_cell
    - typeflag
    linkageType: ''
    returnType: pointer
    signature: pointer mk_port(scheme *sc, port *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/libgpg-error/gpgscm/scheme.c:1285,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - f
    argTypes:
    - scheme*
    - foreign_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1290
    functionName: mk_foreign_func
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - get_cell
    - typeflag
    linkageType: ''
    returnType: pointer
    signature: pointer mk_foreign_func(scheme *sc, foreign_func f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/libgpg-error/gpgscm/scheme.c:1293,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sc
    - vtable
    - data
    argTypes:
    - scheme*
    - foreign_object_vtable*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1299
    functionName: mk_foreign_object
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - get_cell
    - typeflag
    linkageType: ''
    returnType: pointer
    signature: pointer mk_foreign_object(scheme *sc, const foreign_object_vtable *vtable,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/libgpg-error/gpgscm/scheme.c:1302,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:1304,1
    - Dst: ivalue_unchecked
      Src: /src/libgpg-error/gpgscm/scheme.c:1305,1
    - Dst: set_num_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:1306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - c
    argTypes:
    - scheme*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1308
    functionName: mk_character
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 7
    functionsReached:
    - get_cell
    - ivalue_unchecked
    - set_num_integer
    - typeflag
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE mk_character(scheme *sc, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:1328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - n
    argTypes:
    - scheme*
    - long
    assertStmts:
    - condition: (0 <= n && n < MAX_SMALL_INTEGER)
      pos:
        line_end: 1327
        line_start: 1327
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 1330
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1330
    functionName: mk_small_integer
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: INLINE
    signature: INLINE mk_small_integer(scheme *sc, long n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mk_small_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:1344,1
    - Dst: get_cell
      Src: /src/libgpg-error/gpgscm/scheme.c:1347,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:1348,1
    - Dst: ivalue_unchecked
      Src: /src/libgpg-error/gpgscm/scheme.c:1349,1
    - Dst: set_num_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:1350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sc
    - n
    argTypes:
    - scheme*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1352
    functionName: mk_integer
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 18
    functionsReached:
    - ivalue_unchecked
    - typeflag
    - get_cell
    - set_num_integer
    - mk_small_integer
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE mk_integer(scheme *sc, long n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/libgpg-error/gpgscm/scheme.c:1357,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:1359,1
    - Dst: rvalue_unchecked
      Src: /src/libgpg-error/gpgscm/scheme.c:1360,1
    - Dst: set_num_real
      Src: /src/libgpg-error/gpgscm/scheme.c:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - n
    argTypes:
    - scheme*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1363
    functionName: mk_real
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 5
    functionsReached:
    - get_cell
    - rvalue_unchecked
    - set_num_real
    - typeflag
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE mk_real(scheme *sc, double n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:1367,1
    - Dst: mk_real
      Src: /src/libgpg-error/gpgscm/scheme.c:1369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - n
    argTypes:
    - scheme*
    - num
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1371
    functionName: mk_number
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_integer
    - mk_real
    linkageType: ''
    returnType: pointer
    signature: pointer mk_number(scheme *sc, num n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::malloc
      Src: /src/libgpg-error/gpgscm/scheme.c:1377,1
    - Dst: memcpy
      Src: /src/libgpg-error/gpgscm/scheme.c:1383,1
    - Dst: memset
      Src: /src/libgpg-error/gpgscm/scheme.c:1386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - sc
    - len_str
    - str
    - fill
    argTypes:
    - scheme*
    - int
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1390
    functionName: store_string
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 4
    functionsReached:
    - scheme*::malloc
    - memset
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *store_string(scheme *sc, int len_str, const char *str, char fill)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mk_counted_string
      Src: /src/libgpg-error/gpgscm/scheme.c:1394,1
    - Dst: strlen
      Src: /src/libgpg-error/gpgscm/scheme.c:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - str
    argTypes:
    - scheme*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1395
    functionName: mk_string
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 13
    functionsReached:
    - mk_counted_string
    - strlen
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE mk_string(scheme *sc, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/libgpg-error/gpgscm/scheme.c:1398,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:1399,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:1400,1
    - Dst: store_string
      Src: /src/libgpg-error/gpgscm/scheme.c:1400,1
    - Dst: strlength
      Src: /src/libgpg-error/gpgscm/scheme.c:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sc
    - str
    - len
    argTypes:
    - scheme*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1403
    functionName: mk_counted_string
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 9
    functionsReached:
    - typeflag
    - strlength
    - get_cell
    - strvalue
    - store_string
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE mk_counted_string(scheme *sc, const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/libgpg-error/gpgscm/scheme.c:1406,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:1407,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:1408,1
    - Dst: store_string
      Src: /src/libgpg-error/gpgscm/scheme.c:1408,1
    - Dst: strlength
      Src: /src/libgpg-error/gpgscm/scheme.c:1409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sc
    - len
    - fill
    argTypes:
    - scheme*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1411
    functionName: mk_empty_string
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - typeflag
    - strlength
    - get_cell
    - strvalue
    - store_string
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE mk_empty_string(scheme *sc, int len, char fill)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_vector_object
      Src: /src/libgpg-error/gpgscm/scheme.c:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - len
    argTypes:
    - scheme*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1414
    functionName: mk_vector
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 7
    functionsReached:
    - get_vector_object
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE mk_vector(scheme *sc, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:1418,1
    - Dst: is_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:1418,1
    - Dst: vector_length
      Src: /src/libgpg-error/gpgscm/scheme.c:1419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vec
    - obj
    argTypes:
    - pointer
    - pointer
    assertStmts:
    - condition: (is_vector (vec))
      pos:
        line_end: 1417
        line_start: 1417
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 1422
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1422
    functionName: fill_vector
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 4
    functionsReached:
    - vector_length
    - is_vector
    - assert
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE fill_vector(pointer vec, pointer obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:1425,1
    - Dst: is_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:1425,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:1426,1
    - Dst: vector_length
      Src: /src/libgpg-error/gpgscm/scheme.c:1426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vec
    - ielem
    argTypes:
    - pointer
    - int
    assertStmts:
    - condition: (is_vector (vec))
      pos:
        line_end: 1424
        line_start: 1424
        source_file: /src/libgpg-error/gpgscm/scheme.c
    - condition: (ielem < vector_length(vec))
      pos:
        line_end: 1425
        line_start: 1425
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 1428
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1428
    functionName: vector_elem_slot
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - vector_length
    - is_vector
    - assert
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE *vector_elem_slot(pointer vec, int ielem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:1431,1
    - Dst: is_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:1431,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:1432,1
    - Dst: vector_length
      Src: /src/libgpg-error/gpgscm/scheme.c:1432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vec
    - ielem
    argTypes:
    - pointer
    - int
    assertStmts:
    - condition: (is_vector (vec))
      pos:
        line_end: 1430
        line_start: 1430
        source_file: /src/libgpg-error/gpgscm/scheme.c
    - condition: (ielem < vector_length(vec))
      pos:
        line_end: 1431
        line_start: 1431
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 1434
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1434
    functionName: vector_elem
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 12
    functionsReached:
    - vector_length
    - is_vector
    - assert
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE vector_elem(pointer vec, int ielem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:1437,1
    - Dst: is_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:1437,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:1438,1
    - Dst: vector_length
      Src: /src/libgpg-error/gpgscm/scheme.c:1438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - vec
    - ielem
    - a
    argTypes:
    - pointer
    - int
    - pointer
    assertStmts:
    - condition: (is_vector (vec))
      pos:
        line_end: 1436
        line_start: 1436
        source_file: /src/libgpg-error/gpgscm/scheme.c
    - condition: (ielem < vector_length(vec))
      pos:
        line_end: 1437
        line_start: 1437
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 1441
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1441
    functionName: set_vector_elem
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 6
    functionsReached:
    - vector_length
    - is_vector
    - assert
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE set_vector_elem(pointer vec, int ielem, pointer a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oblist_find_by_name
      Src: /src/libgpg-error/gpgscm/scheme.c:1450,1
    - Dst: oblist_add_by_name
      Src: /src/libgpg-error/gpgscm/scheme.c:1454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sc
    - name
    argTypes:
    - scheme*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1457
    functionName: mk_symbol
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 10
    functionsReached:
    - oblist_add_by_name
    - oblist_find_by_name
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE mk_symbol(scheme *sc, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:1465,1
    - Dst: oblist_find_by_name
      Src: /src/libgpg-error/gpgscm/scheme.c:1468,1
    - Dst: oblist_add_by_name
      Src: /src/libgpg-error/gpgscm/scheme.c:1473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1479
    functionName: gensym
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - snprintf
    - oblist_add_by_name
    - oblist_find_by_name
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE gensym(scheme *sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::malloc
      Src: /src/libgpg-error/gpgscm/scheme.c:1484,1
    - Dst: memcpy
      Src: /src/libgpg-error/gpgscm/scheme.c:1489,1
    - Dst: scheme*::free
      Src: /src/libgpg-error/gpgscm/scheme.c:1490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1482
    functionDepth: 0
    functionLinenumber: 1482
    functionLinenumberEnd: 1494
    functionName: expand_strbuff
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - scheme*::malloc
    - scheme*::free
    - memcpy
    linkageType: ''
    returnType: int
    signature: int expand_strbuff(scheme *sc)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libgpg-error/gpgscm/scheme.c:1505,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:1513,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:1514,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:1515,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:1517,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:1517,1
    - Dst: strlwr
      Src: /src/libgpg-error/gpgscm/scheme.c:1517,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:1519,1
    - Dst: mk_atom
      Src: /src/libgpg-error/gpgscm/scheme.c:1519,1
    - Dst: isdigit
      Src: /src/libgpg-error/gpgscm/scheme.c:1531,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:1532,1
    - Dst: strlwr
      Src: /src/libgpg-error/gpgscm/scheme.c:1532,1
    - Dst: isdigit
      Src: /src/libgpg-error/gpgscm/scheme.c:1537,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:1538,1
    - Dst: strlwr
      Src: /src/libgpg-error/gpgscm/scheme.c:1538,1
    - Dst: isdigit
      Src: /src/libgpg-error/gpgscm/scheme.c:1540,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:1541,1
    - Dst: strlwr
      Src: /src/libgpg-error/gpgscm/scheme.c:1541,1
    - Dst: isdigit
      Src: /src/libgpg-error/gpgscm/scheme.c:1545,1
    - Dst: isdigit
      Src: /src/libgpg-error/gpgscm/scheme.c:1557,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:1562,1
    - Dst: strlwr
      Src: /src/libgpg-error/gpgscm/scheme.c:1562,1
    - Dst: mk_real
      Src: /src/libgpg-error/gpgscm/scheme.c:1566,1
    - Dst: atof
      Src: /src/libgpg-error/gpgscm/scheme.c:1566,1
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:1568,1
    - Dst: atol
      Src: /src/libgpg-error/gpgscm/scheme.c:1568,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 56
    argCount: 2
    argNames:
    - sc
    - q
    argTypes:
    - scheme*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1569
    functionName: mk_atom
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 4
    functionsReached:
    - strlwr
    - mk_symbol
    - mk_real
    - strstr
    - isdigit
    - mk_integer
    - atof
    - atol
    - cons
    - mk_atom
    linkageType: ''
    returnType: pointer
    signature: pointer mk_atom(scheme *sc, char *q)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libgpg-error/gpgscm/scheme.c:1576,1
    - Dst: strcmp
      Src: /src/libgpg-error/gpgscm/scheme.c:1578,1
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:1581,1
    - Dst: sscanf
      Src: /src/libgpg-error/gpgscm/scheme.c:1582,1
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:1583,1
    - Dst: sscanf
      Src: /src/libgpg-error/gpgscm/scheme.c:1585,1
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:1586,1
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:1588,1
    - Dst: sscanf
      Src: /src/libgpg-error/gpgscm/scheme.c:1589,1
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:1590,1
    - Dst: binary_decode
      Src: /src/libgpg-error/gpgscm/scheme.c:1592,1
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:1593,1
    - Dst: stricmp
      Src: /src/libgpg-error/gpgscm/scheme.c:1596,1
    - Dst: stricmp
      Src: /src/libgpg-error/gpgscm/scheme.c:1598,1
    - Dst: stricmp
      Src: /src/libgpg-error/gpgscm/scheme.c:1600,1
    - Dst: stricmp
      Src: /src/libgpg-error/gpgscm/scheme.c:1602,1
    - Dst: sscanf
      Src: /src/libgpg-error/gpgscm/scheme.c:1606,1
    - Dst: is_ascii_name
      Src: /src/libgpg-error/gpgscm/scheme.c:1612,1
    - Dst: mk_character
      Src: /src/libgpg-error/gpgscm/scheme.c:1620,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - sc
    - name
    argTypes:
    - scheme*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1623
    functionName: mk_sharp_const
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - binary_decode
    - snprintf
    - strcmp
    - mk_integer
    - stricmp
    - mk_character
    - sscanf
    - is_ascii_name
    linkageType: ''
    returnType: pointer
    signature: pointer mk_sharp_const(scheme *sc, char *name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1640,1
    - Dst: setmark
      Src: /src/libgpg-error/gpgscm/scheme.c:1641,1
    - Dst: is_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:1642,1
    - Dst: is_frame
      Src: /src/libgpg-error/gpgscm/scheme.c:1642,1
    - Dst: is_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:1644,1
    - Dst: vector_length
      Src: /src/libgpg-error/gpgscm/scheme.c:1644,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1646,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1652,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1653,1
    - Dst: has_tag
      Src: /src/libgpg-error/gpgscm/scheme.c:1657,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1658,1
    - Dst: is_atom
      Src: /src/libgpg-error/gpgscm/scheme.c:1659,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1662,1
    - Dst: is_mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1663,1
    - Dst: setatom
      Src: /src/libgpg-error/gpgscm/scheme.c:1664,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1665,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1670,1
    - Dst: is_mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1671,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1672,1
    - Dst: is_atom
      Src: /src/libgpg-error/gpgscm/scheme.c:1681,1
    - Dst: clratom
      Src: /src/libgpg-error/gpgscm/scheme.c:1682,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1683,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1684,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1688,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1689,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 1
    argNames:
    - a
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1693
    functionName: mark
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 35
    functionsReached:
    - has_tag
    - vector_length
    - is_atom
    - is_vector
    - car
    - cdr
    - clratom
    - is_mark
    - setatom
    - setmark
    - is_frame
    - mark
    linkageType: ''
    returnType: void
    signature: void mark(pointer a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1652,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1654
    functionName: if
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 7
    functionsReached:
    - mark
    linkageType: ''
    returnType: else
    signature: else if (is_port(p))
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:1701,1
    - Dst: gc_enabled
      Src: /src/libgpg-error/gpgscm/scheme.c:1701,1
    - Dst: putstr
      Src: /src/libgpg-error/gpgscm/scheme.c:1704,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1708,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1709,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1712,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1713,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1714,1
    - Dst: history_mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1715,1
    - Dst: dump_stack_mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1716,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1717,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1718,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1719,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1720,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1721,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1723,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1724,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1728,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1728,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1730,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1733,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1734,1
    - Dst: clrmark
      Src: /src/libgpg-error/gpgscm/scheme.c:1737,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:1748,1
    - Dst: is_mark
      Src: /src/libgpg-error/gpgscm/scheme.c:1751,1
    - Dst: clrmark
      Src: /src/libgpg-error/gpgscm/scheme.c:1752,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:1755,1
    - Dst: finalize_cell
      Src: /src/libgpg-error/gpgscm/scheme.c:1756,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1760,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1761,1
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:1770,1
    - Dst: putstr
      Src: /src/libgpg-error/gpgscm/scheme.c:1771,1
    - Dst: alloc_cellseg
      Src: /src/libgpg-error/gpgscm/scheme.c:1776,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 3
    argNames:
    - sc
    - a
    - b
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts:
    - condition: (gc_enabled (sc))
      pos:
        line_end: 1700
        line_start: 1700
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 1778
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1778
    functionName: gc
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 22
    functionsReached:
    - alloc_cellseg
    - putstr
    - assert
    - typeflag
    - dump_stack_mark
    - snprintf
    - car
    - finalize_cell
    - cdr
    - clrmark
    - is_mark
    - gc_enabled
    - mark
    - history_mark
    linkageType: ''
    returnType: void
    signature: void gc(scheme *sc, pointer a, pointer b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1759
    functionName: typeflag
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void typeflag(p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:1785,1
    - Dst: scheme*::free
      Src: /src/libgpg-error/gpgscm/scheme.c:1787,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:1787,1
    - Dst: port_close
      Src: /src/libgpg-error/gpgscm/scheme.c:1793,1
    - Dst: scheme*::free
      Src: /src/libgpg-error/gpgscm/scheme.c:1795,1
    - Dst: scheme*::free
      Src: /src/libgpg-error/gpgscm/scheme.c:1797,1
    - Dst: pointer::_object::_foreign_object::_vtable::finalize
      Src: /src/libgpg-error/gpgscm/scheme.c:1801,1
    - Dst: vector_size
      Src: /src/libgpg-error/gpgscm/scheme.c:1807,1
    - Dst: vector_length
      Src: /src/libgpg-error/gpgscm/scheme.c:1807,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:1810,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:1811,1
    - Dst: dump_stack_deallocate_frame
      Src: /src/libgpg-error/gpgscm/scheme.c:1819,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - sc
    - a
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1782
    functionDepth: 2
    functionLinenumber: 1782
    functionLinenumberEnd: 1824
    functionName: finalize_cell
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - type
    - vector_length
    - scheme*::free
    - car
    - cdr
    - pointer::_object::_foreign_object::_vtable::finalize
    - vector_size
    - strvalue
    - dump_stack_deallocate_frame
    - port_close
    linkageType: ''
    returnType: int
    signature: int finalize_cell(scheme *sc, pointer a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1809
    functionName: typeflag
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void typeflag(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sc
    - p
    argTypes:
    - scheme*
    - port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1832
    functionName: port_clear_location
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void port_clear_location (scheme *sc, port *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:1841,1
    - Dst: ivalue_unchecked
      Src: /src/libgpg-error/gpgscm/scheme.c:1841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sc
    - p
    - delta
    argTypes:
    - scheme*
    - port*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1842
    functionName: port_increment_current_line
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - mk_integer
    - ivalue_unchecked
    linkageType: ''
    returnType: void
    signature: void port_increment_current_line (scheme *sc, port *p, long delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:1847,1
    - Dst: mk_string
      Src: /src/libgpg-error/gpgscm/scheme.c:1848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sc
    - p
    - name
    argTypes:
    - scheme*
    - port*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1849
    functionName: port_init_location
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 7
    functionsReached:
    - mk_integer
    - mk_string
    linkageType: ''
    returnType: void
    signature: void port_init_location (scheme *sc, port *p, pointer name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sc
    - p
    argTypes:
    - scheme*
    - port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1856
    functionName: port_clear_location
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void port_clear_location (scheme *sc, port *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sc
    - p
    - delta
    argTypes:
    - scheme*
    - port*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1861
    functionName: port_increment_current_line
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void port_increment_current_line (scheme *sc, port *p, long delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sc
    - p
    - name
    argTypes:
    - scheme*
    - port*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1866
    functionName: port_init_location
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void port_init_location (scheme *sc, port *p, pointer name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libgpg-error/gpgscm/scheme.c:1877,1
    - Dst: string_value
      Src: /src/libgpg-error/gpgscm/scheme.c:1877,1
    - Dst: port_init_location
      Src: /src/libgpg-error/gpgscm/scheme.c:1885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - sc
    - fname
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1872
    functionDepth: 0
    functionLinenumber: 1872
    functionLinenumberEnd: 1888
    functionName: file_push
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - port_init_location
    - fopen
    - string_value
    linkageType: ''
    returnType: int
    signature: int file_push(scheme *sc, pointer fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: port_close
      Src: /src/libgpg-error/gpgscm/scheme.c:1893,1
    - Dst: port_clear_location
      Src: /src/libgpg-error/gpgscm/scheme.c:1894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1890
    functionDepth: 0
    functionLinenumber: 1890
    functionLinenumberEnd: 1898
    functionName: file_pop
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - port_close
    - port_clear_location
    linkageType: ''
    returnType: void
    signature: void file_pop(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1900
    functionDepth: 0
    functionLinenumber: 1900
    functionLinenumberEnd: 1903
    functionName: file_interactive
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_interactive(scheme *sc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libgpg-error/gpgscm/scheme.c:1916,1
    - Dst: port_rep_from_file
      Src: /src/libgpg-error/gpgscm/scheme.c:1920,1
    - Dst: port_init_location
      Src: /src/libgpg-error/gpgscm/scheme.c:1922,1
    - Dst: mk_string
      Src: /src/libgpg-error/gpgscm/scheme.c:1922,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - sc
    - fn
    - prop
    argTypes:
    - scheme*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1905
    functionDepth: 0
    functionLinenumber: 1905
    functionLinenumberEnd: 1924
    functionName: port_rep_from_filename
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - port_rep_from_file
    - fopen
    - mk_string
    - port_init_location
    linkageType: ''
    returnType: port
    signature: port *port_rep_from_filename(scheme *sc, const char *fn, int prop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: port_rep_from_filename
      Src: /src/libgpg-error/gpgscm/scheme.c:1928,1
    - Dst: mk_port
      Src: /src/libgpg-error/gpgscm/scheme.c:1932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sc
    - fn
    - prop
    argTypes:
    - scheme*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1933
    functionName: port_from_filename
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - port_rep_from_filename
    - mk_port
    linkageType: ''
    returnType: pointer
    signature: pointer port_from_filename(scheme *sc, const char *fn, int prop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::malloc
      Src: /src/libgpg-error/gpgscm/scheme.c:1939,1
    - Dst: port_init_location
      Src: /src/libgpg-error/gpgscm/scheme.c:1946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - sc
    - f
    - prop
    argTypes:
    - scheme*
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1948
    functionName: port_rep_from_file
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - scheme*::malloc
    - port_init_location
    linkageType: ''
    returnType: port
    signature: port *port_rep_from_file(scheme *sc, FILE *f, int prop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: port_rep_from_file
      Src: /src/libgpg-error/gpgscm/scheme.c:1952,1
    - Dst: mk_port
      Src: /src/libgpg-error/gpgscm/scheme.c:1956,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sc
    - f
    - prop
    argTypes:
    - scheme*
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1957
    functionName: port_from_file
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 4
    functionsReached:
    - port_rep_from_file
    - mk_port
    linkageType: ''
    returnType: pointer
    signature: pointer port_from_file(scheme *sc, FILE *f, int prop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::malloc
      Src: /src/libgpg-error/gpgscm/scheme.c:1961,1
    - Dst: port_init_location
      Src: /src/libgpg-error/gpgscm/scheme.c:1969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - sc
    - start
    - past_the_end
    - prop
    argTypes:
    - scheme*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 1971
    functionName: port_rep_from_string
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - scheme*::malloc
    - port_init_location
    linkageType: ''
    returnType: port
    signature: port *port_rep_from_string(scheme *sc, char *start, char *past_the_end,
      int prop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: port_rep_from_string
      Src: /src/libgpg-error/gpgscm/scheme.c:1975,1
    - Dst: mk_port
      Src: /src/libgpg-error/gpgscm/scheme.c:1979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - sc
    - start
    - past_the_end
    - prop
    argTypes:
    - scheme*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1980
    functionName: port_from_string
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 4
    functionsReached:
    - mk_port
    - port_rep_from_string
    linkageType: ''
    returnType: pointer
    signature: pointer port_from_string(scheme *sc, char *start, char *past_the_end,
      int prop)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::malloc
      Src: /src/libgpg-error/gpgscm/scheme.c:1987,1
    - Dst: scheme*::malloc
      Src: /src/libgpg-error/gpgscm/scheme.c:1991,1
    - Dst: memset
      Src: /src/libgpg-error/gpgscm/scheme.c:1995,1
    - Dst: port_init_location
      Src: /src/libgpg-error/gpgscm/scheme.c:2001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1984
    functionDepth: 0
    functionLinenumber: 1984
    functionLinenumberEnd: 2003
    functionName: port_rep_from_scratch
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - scheme*::malloc
    - memset
    - port_init_location
    linkageType: ''
    returnType: port
    signature: port *port_rep_from_scratch(scheme *sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: port_rep_from_scratch
      Src: /src/libgpg-error/gpgscm/scheme.c:2007,1
    - Dst: mk_port
      Src: /src/libgpg-error/gpgscm/scheme.c:2011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2005
    functionDepth: 0
    functionLinenumber: 2005
    functionLinenumberEnd: 2012
    functionName: port_from_scratch
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - port_rep_from_scratch
    - mk_port
    linkageType: ''
    returnType: pointer
    signature: pointer port_from_scratch(scheme *sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: port_clear_location
      Src: /src/libgpg-error/gpgscm/scheme.c:2019,1
    - Dst: fclose
      Src: /src/libgpg-error/gpgscm/scheme.c:2021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - sc
    - p
    - flag
    argTypes:
    - scheme*
    - pointer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2025
    functionName: port_close
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 4
    functionsReached:
    - fclose
    - port_clear_location
    linkageType: ''
    returnType: void
    signature: void port_close(scheme *sc, pointer p, int flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: basic_inchar
      Src: /src/libgpg-error/gpgscm/scheme.c:2035,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2028
    functionDepth: 0
    functionLinenumber: 2028
    functionLinenumberEnd: 2045
    functionName: inchar
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 8
    functionsReached:
    - basic_inchar
    linkageType: ''
    returnType: int
    signature: int inchar(scheme *sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/libgpg-error/gpgscm/scheme.c:2049,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pt
    argTypes:
    - port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2058
    functionName: basic_inchar
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - fgetc
    linkageType: ''
    returnType: int
    signature: int basic_inchar(port *pt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ungetc
      Src: /src/libgpg-error/gpgscm/scheme.c:2066,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sc
    - c
    argTypes:
    - scheme*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2072
    functionName: backchar
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 6
    functionsReached:
    - ungetc
    linkageType: ''
    returnType: void
    signature: void backchar(scheme *sc, int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::malloc
      Src: /src/libgpg-error/gpgscm/scheme.c:2079,1
    - Dst: memset
      Src: /src/libgpg-error/gpgscm/scheme.c:2081,1
    - Dst: memcpy
      Src: /src/libgpg-error/gpgscm/scheme.c:2083,1
    - Dst: scheme*::free
      Src: /src/libgpg-error/gpgscm/scheme.c:2087,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - sc
    - p
    argTypes:
    - scheme*
    - port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2092
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2092
    functionName: realloc_port_string
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - scheme*::malloc
    - scheme*::free
    - memset
    - memcpy
    linkageType: ''
    returnType: int
    signature: int realloc_port_string(scheme *sc, port *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libgpg-error/gpgscm/scheme.c:2097,1
    - Dst: realloc_port_string
      Src: /src/libgpg-error/gpgscm/scheme.c:2102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - sc
    - s
    argTypes:
    - scheme*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2094
    functionDepth: 0
    functionLinenumber: 2094
    functionLinenumberEnd: 2107
    functionName: putstr
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 6
    functionsReached:
    - fputs
    - realloc_port_string
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE putstr(scheme *sc, const char *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libgpg-error/gpgscm/scheme.c:2112,1
    - Dst: realloc_port_string
      Src: /src/libgpg-error/gpgscm/scheme.c:2117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - sc
    - s
    - len
    argTypes:
    - scheme*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2122
    functionName: putchars
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - fwrite
    - realloc_port_string
    linkageType: ''
    returnType: void
    signature: void putchars(scheme *sc, const char *s, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/libgpg-error/gpgscm/scheme.c:2127,1
    - Dst: realloc_port_string
      Src: /src/libgpg-error/gpgscm/scheme.c:2131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - sc
    - c
    argTypes:
    - scheme*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2135
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2135
    functionName: putcharacter
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - fputc
    - realloc_port_string
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE putcharacter(scheme *sc, int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_one_of
      Src: /src/libgpg-error/gpgscm/scheme.c:2142,1
    - Dst: inchar
      Src: /src/libgpg-error/gpgscm/scheme.c:2142,1
    - Dst: backchar
      Src: /src/libgpg-error/gpgscm/scheme.c:2147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - sc
    - delim
    argTypes:
    - scheme*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2151
    functionName: readstr_upto
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - backchar
    - is_one_of
    - inchar
    linkageType: ''
    returnType: char
    signature: char *readstr_upto(scheme *sc, char *delim)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: inchar
      Src: /src/libgpg-error/gpgscm/scheme.c:2161,1
    - Dst: expand_strbuff
      Src: /src/libgpg-error/gpgscm/scheme.c:2167,1
    - Dst: mk_counted_string
      Src: /src/libgpg-error/gpgscm/scheme.c:2180,1
    - Dst: toupper
      Src: /src/libgpg-error/gpgscm/scheme.c:2228,1
    - Dst: backchar
      Src: /src/libgpg-error/gpgscm/scheme.c:2250,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 104
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2272
      start: 2154
    functionDepth: 0
    functionLinenumber: 2154
    functionLinenumberEnd: 2272
    functionName: readstrexp
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - mk_counted_string
    - backchar
    - expand_strbuff
    - toupper
    - inchar
    linkageType: ''
    returnType: pointer
    signature: pointer readstrexp(scheme *sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2275
    functionDepth: 0
    functionLinenumber: 2275
    functionLinenumberEnd: 2281
    functionName: is_one_of
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: INLINE
    signature: INLINE is_one_of(char *s, int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inchar
      Src: /src/libgpg-error/gpgscm/scheme.c:2288,1
    - Dst: isspace
      Src: /src/libgpg-error/gpgscm/scheme.c:2293,1
    - Dst: port_increment_current_line
      Src: /src/libgpg-error/gpgscm/scheme.c:2296,1
    - Dst: backchar
      Src: /src/libgpg-error/gpgscm/scheme.c:2299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2284
    functionDepth: 0
    functionLinenumber: 2284
    functionLinenumberEnd: 2304
    functionName: skipspace
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - backchar
    - inchar
    - isspace
    - port_increment_current_line
    linkageType: ''
    returnType: INLINE
    signature: INLINE skipspace(scheme *sc)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: skipspace
      Src: /src/libgpg-error/gpgscm/scheme.c:2309,1
    - Dst: inchar
      Src: /src/libgpg-error/gpgscm/scheme.c:2311,1
    - Dst: inchar
      Src: /src/libgpg-error/gpgscm/scheme.c:2319,1
    - Dst: is_one_of
      Src: /src/libgpg-error/gpgscm/scheme.c:2320,1
    - Dst: backchar
      Src: /src/libgpg-error/gpgscm/scheme.c:2323,1
    - Dst: backchar
      Src: /src/libgpg-error/gpgscm/scheme.c:2324,1
    - Dst: inchar
      Src: /src/libgpg-error/gpgscm/scheme.c:2330,1
    - Dst: port_increment_current_line
      Src: /src/libgpg-error/gpgscm/scheme.c:2334,1
    - Dst: token
      Src: /src/libgpg-error/gpgscm/scheme.c:2339,1
    - Dst: inchar
      Src: /src/libgpg-error/gpgscm/scheme.c:2345,1
    - Dst: backchar
      Src: /src/libgpg-error/gpgscm/scheme.c:2348,1
    - Dst: inchar
      Src: /src/libgpg-error/gpgscm/scheme.c:2352,1
    - Dst: inchar
      Src: /src/libgpg-error/gpgscm/scheme.c:2356,1
    - Dst: port_increment_current_line
      Src: /src/libgpg-error/gpgscm/scheme.c:2360,1
    - Dst: token
      Src: /src/libgpg-error/gpgscm/scheme.c:2365,1
    - Dst: backchar
      Src: /src/libgpg-error/gpgscm/scheme.c:2367,1
    - Dst: is_one_of
      Src: /src/libgpg-error/gpgscm/scheme.c:2368,1
    - Dst: backchar
      Src: /src/libgpg-error/gpgscm/scheme.c:2375,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 71
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2307
    functionDepth: 0
    functionLinenumber: 2307
    functionLinenumberEnd: 2378
    functionName: token
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 141
    functionsReached:
    - skipspace
    - backchar
    - is_one_of
    - inchar
    - port_increment_current_line
    - token
    linkageType: ''
    returnType: int
    signature: int token(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2382
      start: 2381
    functionDepth: 0
    functionLinenumber: 2381
    functionLinenumberEnd: 2382
    functionName: ok_abbrev
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ok_abbrev(x)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: putcharacter
      Src: /src/libgpg-error/gpgscm/scheme.c:2386,1
    - Dst: putcharacter
      Src: /src/libgpg-error/gpgscm/scheme.c:2389,1
    - Dst: putcharacter
      Src: /src/libgpg-error/gpgscm/scheme.c:2392,1
    - Dst: putcharacter
      Src: /src/libgpg-error/gpgscm/scheme.c:2395,1
    - Dst: putcharacter
      Src: /src/libgpg-error/gpgscm/scheme.c:2398,1
    - Dst: putcharacter
      Src: /src/libgpg-error/gpgscm/scheme.c:2401,1
    - Dst: putcharacter
      Src: /src/libgpg-error/gpgscm/scheme.c:2404,1
    - Dst: putcharacter
      Src: /src/libgpg-error/gpgscm/scheme.c:2408,1
    - Dst: putcharacter
      Src: /src/libgpg-error/gpgscm/scheme.c:2410,1
    - Dst: putcharacter
      Src: /src/libgpg-error/gpgscm/scheme.c:2412,1
    - Dst: putcharacter
      Src: /src/libgpg-error/gpgscm/scheme.c:2416,1
    - Dst: putcharacter
      Src: /src/libgpg-error/gpgscm/scheme.c:2418,1
    - Dst: putcharacter
      Src: /src/libgpg-error/gpgscm/scheme.c:2423,1
    - Dst: putcharacter
      Src: /src/libgpg-error/gpgscm/scheme.c:2427,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - sc
    - p
    - len
    argTypes:
    - scheme*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2383
    functionDepth: 0
    functionLinenumber: 2383
    functionLinenumberEnd: 2428
    functionName: printslashstring
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - putcharacter
    linkageType: ''
    returnType: void
    signature: void printslashstring(scheme *sc, char *p, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atom2str
      Src: /src/libgpg-error/gpgscm/scheme.c:2435,1
    - Dst: putchars
      Src: /src/libgpg-error/gpgscm/scheme.c:2436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sc
    - l
    - f
    argTypes:
    - scheme*
    - pointer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2437
    functionName: printatom
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - putchars
    - atom2str
    linkageType: ''
    returnType: void
    signature: void printatom(scheme *sc, pointer l, int f)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: is_port
      Src: /src/libgpg-error/gpgscm/scheme.c:2452,1
    - Dst: is_number
      Src: /src/libgpg-error/gpgscm/scheme.c:2454,1
    - Dst: num_is_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:2457,1
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:2458,1
    - Dst: ivalue_unchecked
      Src: /src/libgpg-error/gpgscm/scheme.c:2458,1
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:2460,1
    - Dst: rvalue_unchecked
      Src: /src/libgpg-error/gpgscm/scheme.c:2460,1
    - Dst: strcspn
      Src: /src/libgpg-error/gpgscm/scheme.c:2462,1
    - Dst: ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:2470,1
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:2473,1
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:2475,1
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:2478,1
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:2480,1
    - Dst: is_string
      Src: /src/libgpg-error/gpgscm/scheme.c:2489,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:2491,1
    - Dst: strlength
      Src: /src/libgpg-error/gpgscm/scheme.c:2492,1
    - Dst: printslashstring
      Src: /src/libgpg-error/gpgscm/scheme.c:2497,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:2497,1
    - Dst: strlength
      Src: /src/libgpg-error/gpgscm/scheme.c:2497,1
    - Dst: is_character
      Src: /src/libgpg-error/gpgscm/scheme.c:2500,1
    - Dst: charvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:2501,1
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:2526,1
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:2531,1
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:2535,1
    - Dst: is_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:2539,1
    - Dst: symname
      Src: /src/libgpg-error/gpgscm/scheme.c:2540,1
    - Dst: is_proc
      Src: /src/libgpg-error/gpgscm/scheme.c:2541,1
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:2543,1
    - Dst: procname
      Src: /src/libgpg-error/gpgscm/scheme.c:2543,1
    - Dst: procnum
      Src: /src/libgpg-error/gpgscm/scheme.c:2543,1
    - Dst: is_macro
      Src: /src/libgpg-error/gpgscm/scheme.c:2544,1
    - Dst: is_closure
      Src: /src/libgpg-error/gpgscm/scheme.c:2546,1
    - Dst: is_promise
      Src: /src/libgpg-error/gpgscm/scheme.c:2548,1
    - Dst: is_foreign
      Src: /src/libgpg-error/gpgscm/scheme.c:2550,1
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:2552,1
    - Dst: procnum
      Src: /src/libgpg-error/gpgscm/scheme.c:2552,1
    - Dst: is_continuation
      Src: /src/libgpg-error/gpgscm/scheme.c:2553,1
    - Dst: is_foreign_object
      Src: /src/libgpg-error/gpgscm/scheme.c:2555,1
    - Dst: pointer::_object::_foreign_object::_vtable::to_string
      Src: /src/libgpg-error/gpgscm/scheme.c:2557,1
    - Dst: strlen
      Src: /src/libgpg-error/gpgscm/scheme.c:2562,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 133
    argCount: 5
    argNames:
    - sc
    - l
    - f
    - pp
    - plen
    argTypes:
    - scheme*
    - pointer
    - int
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2563
      start: 2441
    functionDepth: 0
    functionLinenumber: 2441
    functionLinenumberEnd: 2563
    functionName: atom2str
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - procnum
    - strlen
    - is_symbol
    - is_character
    - num_is_integer
    - is_number
    - is_macro
    - symname
    - is_closure
    - strvalue
    - ivalue
    - is_string
    - is_promise
    - pointer::_object::_foreign_object::_vtable::to_string
    - is_continuation
    - is_port
    - charvalue
    - is_foreign
    - is_foreign_object
    - ivalue_unchecked
    - procname
    - strcspn
    - snprintf
    - strlength
    - printslashstring
    - rvalue_unchecked
    - is_proc
    linkageType: ''
    returnType: void
    signature: void atom2str(scheme *sc, pointer l, int f, char **pp, int *plen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/libgpg-error/gpgscm/scheme.c:2568,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:2570,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2571,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sc
    - c
    - e
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2574
      start: 2567
    functionDepth: 0
    functionLinenumber: 2567
    functionLinenumberEnd: 2574
    functionName: mk_closure
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - get_cell
    - car
    - cdr
    - typeflag
    linkageType: ''
    returnType: pointer
    signature: pointer mk_closure(scheme *sc, pointer c, pointer e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/libgpg-error/gpgscm/scheme.c:2578,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:2580,1
    - Dst: cont_dump
      Src: /src/libgpg-error/gpgscm/scheme.c:2581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - d
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2583
      start: 2577
    functionDepth: 0
    functionLinenumber: 2577
    functionLinenumberEnd: 2583
    functionName: mk_continuation
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - get_cell
    - cont_dump
    - typeflag
    linkageType: ''
    returnType: pointer
    signature: pointer mk_continuation(scheme *sc, pointer d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2587,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2588,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2590,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2590,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2590,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2592,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2592,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2593,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2593,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2593,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2594,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2594,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2595,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2598,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2598,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - sc
    - d
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2600
    functionName: list_star
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - cons
    - cdr
    linkageType: ''
    returnType: pointer
    signature: pointer list_star(scheme *sc, pointer d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:2607,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2607,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2608,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sc
    - term
    - list
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2603
    functionDepth: 0
    functionLinenumber: 2603
    functionLinenumberEnd: 2611
    functionName: reverse
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - car
    - cons
    - cdr
    linkageType: ''
    returnType: pointer
    signature: pointer reverse(scheme *sc, pointer term, pointer list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2618,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - sc
    - term
    - list
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2624
      start: 2614
    functionDepth: 0
    functionLinenumber: 2614
    functionLinenumberEnd: 2624
    functionName: reverse_in_place
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - cdr
    linkageType: ''
    returnType: pointer
    signature: pointer reverse_in_place(scheme *sc, pointer term, pointer list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:2631,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2632,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2632,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - sc
    - a
    - b
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2627
    functionDepth: 0
    functionLinenumber: 2627
    functionLinenumberEnd: 2641
    functionName: revappend
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - car
    - cdr
    - cons
    linkageType: ''
    returnType: pointer
    signature: pointer revappend(scheme *sc, pointer a, pointer b)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/libgpg-error/gpgscm/scheme.c:2645,1
    - Dst: is_string
      Src: /src/libgpg-error/gpgscm/scheme.c:2646,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:2647,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:2647,1
    - Dst: is_number
      Src: /src/libgpg-error/gpgscm/scheme.c:2650,1
    - Dst: is_number
      Src: /src/libgpg-error/gpgscm/scheme.c:2651,1
    - Dst: num_is_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:2652,1
    - Dst: num_is_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:2652,1
    - Dst: num_eq
      Src: /src/libgpg-error/gpgscm/scheme.c:2653,1
    - Dst: nvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:2653,1
    - Dst: nvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:2653,1
    - Dst: is_character
      Src: /src/libgpg-error/gpgscm/scheme.c:2656,1
    - Dst: is_character
      Src: /src/libgpg-error/gpgscm/scheme.c:2657,1
    - Dst: charvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:2658,1
    - Dst: charvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:2658,1
    - Dst: is_port
      Src: /src/libgpg-error/gpgscm/scheme.c:2661,1
    - Dst: is_port
      Src: /src/libgpg-error/gpgscm/scheme.c:2662,1
    - Dst: is_proc
      Src: /src/libgpg-error/gpgscm/scheme.c:2666,1
    - Dst: is_proc
      Src: /src/libgpg-error/gpgscm/scheme.c:2667,1
    - Dst: procnum
      Src: /src/libgpg-error/gpgscm/scheme.c:2668,1
    - Dst: procnum
      Src: /src/libgpg-error/gpgscm/scheme.c:2668,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2674
      start: 2644
    functionDepth: 0
    functionLinenumber: 2644
    functionLinenumberEnd: 2674
    functionName: eqv
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - nvalue
    - is_number
    - procnum
    - num_eq
    - is_port
    - is_character
    - num_is_integer
    - strvalue
    - is_string
    - charvalue
    - is_proc
    linkageType: ''
    returnType: int
    signature: int eqv(pointer a, pointer b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2679
      start: 2678
    functionDepth: 0
    functionLinenumber: 2678
    functionLinenumberEnd: 2679
    functionName: is_true
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_true(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2679
    functionDepth: 0
    functionLinenumber: 2679
    functionLinenumberEnd: 2680
    functionName: is_false
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_false(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - table_size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2698
      start: 2686
    functionDepth: 0
    functionLinenumber: 2686
    functionLinenumberEnd: 2698
    functionName: hash_fn
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hash_fn(const char *key, int table_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2704
    functionDepth: 0
    functionLinenumber: 2704
    functionLinenumberEnd: 2715
    functionName: pointercmp
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pointercmp(pointer a, pointer b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mk_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:2733,1
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:2738,1
    - Dst: immutable_cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2739,1
    - Dst: gc_enable
      Src: /src/libgpg-error/gpgscm/scheme.c:2740,1
    - Dst: setenvironment
      Src: /src/libgpg-error/gpgscm/scheme.c:2741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - sc
    - old_env
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2742
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2742
    functionName: new_frame_in_env
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - gc_enable
    - setenvironment
    - mk_vector
    - immutable_cons
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void new_frame_in_env(scheme *sc, pointer old_env)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:2755,1
    - Dst: is_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:2755,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2757,1
    - Dst: is_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:2758,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2758,1
    - Dst: hash_fn
      Src: /src/libgpg-error/gpgscm/scheme.c:2759,1
    - Dst: symname
      Src: /src/libgpg-error/gpgscm/scheme.c:2759,1
    - Dst: vector_length
      Src: /src/libgpg-error/gpgscm/scheme.c:2759,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2759,1
    - Dst: vector_elem_slot
      Src: /src/libgpg-error/gpgscm/scheme.c:2760,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2760,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2762,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2764,1
    - Dst: pointercmp
      Src: /src/libgpg-error/gpgscm/scheme.c:2765,1
    - Dst: caar
      Src: /src/libgpg-error/gpgscm/scheme.c:2765,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2767,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - sc
    - env
    - hdl
    - all
    - sslot
    argTypes:
    - scheme*
    - pointer
    - pointer
    - int
    - pointer**
    assertStmts:
    - condition: (is_symbol(hdl))
      pos:
        line_end: 2754
        line_start: 2754
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 2780
      start: 2748
    functionDepth: 0
    functionLinenumber: 2748
    functionLinenumberEnd: 2780
    functionName: find_slot_spec_in_env
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 5
    functionsReached:
    - vector_length
    - is_vector
    - assert
    - caar
    - car
    - symname
    - cdr
    - hash_fn
    - is_symbol
    - pointercmp
    - vector_elem_slot
    linkageType: ''
    returnType: pointer
    signature: pointer find_slot_spec_in_env(scheme *sc, pointer env, pointer hdl,
      int all, pointer **sslot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: immutable_cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2786,1
    - Dst: setenvironment
      Src: /src/libgpg-error/gpgscm/scheme.c:2787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sc
    - old_env
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2784
    functionDepth: 0
    functionLinenumber: 2784
    functionLinenumberEnd: 2788
    functionName: new_frame_in_env
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - immutable_cons
    - setenvironment
    linkageType: ''
    returnType: INLINE
    signature: INLINE new_frame_in_env(scheme *sc, pointer old_env)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:2800,1
    - Dst: is_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:2800,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2802,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2803,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2803,1
    - Dst: pointercmp
      Src: /src/libgpg-error/gpgscm/scheme.c:2804,1
    - Dst: caar
      Src: /src/libgpg-error/gpgscm/scheme.c:2804,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2806,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 5
    argNames:
    - sc
    - env
    - hdl
    - all
    - sslot
    argTypes:
    - scheme*
    - pointer
    - pointer
    - int
    - pointer**
    assertStmts:
    - condition: (is_symbol(hdl))
      pos:
        line_end: 2799
        line_start: 2799
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 2819
      start: 2794
    functionDepth: 0
    functionLinenumber: 2794
    functionLinenumberEnd: 2819
    functionName: find_slot_spec_in_env
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 5
    functionsReached:
    - assert
    - caar
    - car
    - cdr
    - is_symbol
    - pointercmp
    linkageType: ''
    returnType: pointer
    signature: pointer find_slot_spec_in_env(scheme *sc, pointer env, pointer hdl,
      int all, pointer **sslot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_slot_spec_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:2825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sc
    - env
    - hdl
    - all
    argTypes:
    - scheme*
    - pointer
    - pointer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2823
    functionDepth: 0
    functionLinenumber: 2823
    functionLinenumberEnd: 2826
    functionName: find_slot_in_env
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 4
    functionsReached:
    - find_slot_spec_in_env
    linkageType: ''
    returnType: pointer
    signature: pointer find_slot_in_env(scheme *sc, pointer env, pointer hdl, int
      all)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:2837,1
    - Dst: gc_reservations
      Src: /src/libgpg-error/gpgscm/scheme.c:2837,1
    - Dst: immutable_cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2838,1
    - Dst: immutable_cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2839,1
    - Dst: gc_enable
      Src: /src/libgpg-error/gpgscm/scheme.c:2840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - sc
    - variable
    - value
    - sslot
    argTypes:
    - scheme*
    - pointer
    - pointer
    - pointer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2841
      start: 2831
    functionDepth: 0
    functionLinenumber: 2831
    functionLinenumberEnd: 2841
    functionName: new_slot_spec_in_env
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 4
    functionsReached:
    - immutable_cons
    - gc_disable
    - gc_enable
    - gc_reservations
    linkageType: ''
    returnType: INLINE
    signature: "INLINE new_slot_spec_in_env(scheme *sc,\n                                        pointer
      variable, pointer value,\n\t\t\t\t\tpointer *sslot)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:2848,1
    - Dst: is_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:2848,1
    - Dst: find_slot_spec_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:2849,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:2850,1
    - Dst: new_slot_spec_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:2851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sc
    - variable
    - value
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts:
    - condition: (is_symbol(variable))
      pos:
        line_end: 2847
        line_start: 2847
        source_file: /src/libgpg-error/gpgscm/scheme.c
    - condition: (slot == sc->NIL)
      pos:
        line_end: 2849
        line_start: 2849
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 2852
      start: 2843
    functionDepth: 0
    functionLinenumber: 2843
    functionLinenumberEnd: 2852
    functionName: new_slot_in_env
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - is_symbol
    - new_slot_spec_in_env
    - find_slot_spec_in_env
    - assert
    linkageType: ''
    returnType: INLINE
    signature: INLINE new_slot_in_env(scheme *sc, pointer variable, pointer value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sc
    - slot
    - value
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2854
    functionDepth: 0
    functionLinenumber: 2854
    functionLinenumberEnd: 2858
    functionName: set_slot_in_env
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 4
    functionsReached:
    - cdr
    linkageType: ''
    returnType: INLINE
    signature: INLINE set_slot_in_env(scheme *sc, pointer slot, pointer value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2863
      start: 2860
    functionDepth: 0
    functionLinenumber: 2860
    functionLinenumberEnd: 2863
    functionName: slot_value_in_env
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - cdr
    linkageType: ''
    returnType: INLINE
    signature: INLINE slot_value_in_env(pointer slot)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: history_flatten
      Src: /src/libgpg-error/gpgscm/scheme.c:2882,1
    - Dst: has_tag
      Src: /src/libgpg-error/gpgscm/scheme.c:2892,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2892,1
    - Dst: get_tag
      Src: /src/libgpg-error/gpgscm/scheme.c:2893,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2893,1
    - Dst: is_string
      Src: /src/libgpg-error/gpgscm/scheme.c:2894,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2894,1
    - Dst: is_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:2894,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2894,1
    - Dst: string_value
      Src: /src/libgpg-error/gpgscm/scheme.c:2895,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2895,1
    - Dst: ivalue_unchecked
      Src: /src/libgpg-error/gpgscm/scheme.c:2896,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:2896,1
    - Dst: string_value
      Src: /src/libgpg-error/gpgscm/scheme.c:2898,1
    - Dst: ivalue_unchecked
      Src: /src/libgpg-error/gpgscm/scheme.c:2899,1
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:2907,1
    - Dst: find_slot_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:2914,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2916,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2916,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2917,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2920,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2920,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2920,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2923,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2925,1
    - Dst: mk_string
      Src: /src/libgpg-error/gpgscm/scheme.c:2925,1
    - Dst: setimmutable
      Src: /src/libgpg-error/gpgscm/scheme.c:2926,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2926,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2927,1
    - Dst: slot_value_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:2927,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2933,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:2937,1
    - Dst: mk_string
      Src: /src/libgpg-error/gpgscm/scheme.c:2937,1
    - Dst: setimmutable
      Src: /src/libgpg-error/gpgscm/scheme.c:2938,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:2938,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - sc
    - s
    - a
    argTypes:
    - scheme*
    - char*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2940
      start: 2869
    functionDepth: 0
    functionLinenumber: 2869
    functionLinenumberEnd: 2940
    functionName: _Error_1
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - has_tag
    - ivalue_unchecked
    - mk_string
    - is_integer
    - snprintf
    - car
    - get_tag
    - cdr
    - string_value
    - find_slot_in_env
    - cons
    - setimmutable
    - is_string
    - history_flatten
    - slot_value_in_env
    linkageType: ''
    returnType: enum scheme_opcodes
    signature: enum scheme_opcodes _Error_1(scheme *sc, const char *s, pointer a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sc
    - ','
    - s
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2942
      start: 2941
    functionDepth: 0
    functionLinenumber: 2941
    functionLinenumberEnd: 2942
    functionName: Error_1
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Error_1(sc,s, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2943
      start: 2942
    functionDepth: 0
    functionLinenumber: 2942
    functionLinenumberEnd: 2943
    functionName: Error_0
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Error_0(sc,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2969
      start: 2965
    functionDepth: 0
    functionLinenumber: 2965
    functionLinenumberEnd: 2969
    functionName: s_set_flag
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_set_flag(sc, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2975
      start: 2971
    functionDepth: 0
    functionLinenumber: 2971
    functionLinenumberEnd: 2975
    functionName: s_clear_flag
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_clear_flag(sc, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2979
      start: 2977
    functionDepth: 0
    functionLinenumber: 2977
    functionLinenumberEnd: 2979
    functionName: s_get_flag
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_get_flag(sc, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2984
      start: 2983
    functionDepth: 0
    functionLinenumber: 2983
    functionLinenumberEnd: 2984
    functionName: s_goto
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_goto(sc, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2989
    functionDepth: 0
    functionLinenumber: 2989
    functionLinenumberEnd: 2994
    functionName: s_thread_to
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_thread_to(sc, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - OP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3000
      start: 2999
    functionDepth: 0
    functionLinenumber: 2999
    functionLinenumberEnd: 3000
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE(OP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - OP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3002
      start: 3001
    functionDepth: 0
    functionLinenumber: 3001
    functionLinenumberEnd: 3002
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE(OP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3006
      start: 3005
    functionDepth: 0
    functionLinenumber: 3005
    functionLinenumberEnd: 3006
    functionName: s_thread_to
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_thread_to(sc, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - OP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3007
      start: 3006
    functionDepth: 0
    functionLinenumber: 3006
    functionLinenumberEnd: 3007
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE(OP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3018
      start: 3017
    functionDepth: 0
    functionLinenumber: 3017
    functionLinenumberEnd: 3018
    functionName: s_return
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_return(sc, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3022
      start: 3021
    functionDepth: 0
    functionLinenumber: 3021
    functionLinenumberEnd: 3022
    functionName: s_return_enable_gc
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_return_enable_gc(sc, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3026
      start: 3023
    functionDepth: 0
    functionLinenumber: 3023
    functionLinenumberEnd: 3026
    functionName: dump_stack_reset
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: INLINE
    signature: INLINE dump_stack_reset(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump_stack_reset
      Src: /src/libgpg-error/gpgscm/scheme.c:3030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3032
      start: 3028
    functionDepth: 0
    functionLinenumber: 3028
    functionLinenumberEnd: 3032
    functionName: dump_stack_initialize
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - dump_stack_reset
    linkageType: ''
    returnType: INLINE
    signature: INLINE dump_stack_initialize(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump_stack_initialize
      Src: /src/libgpg-error/gpgscm/scheme.c:3036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3037
      start: 3034
    functionDepth: 0
    functionLinenumber: 3034
    functionLinenumberEnd: 3037
    functionName: dump_stack_free
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - dump_stack_initialize
    linkageType: ''
    returnType: void
    signature: void dump_stack_free(scheme *sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mk_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:3046,1
    - Dst: setframe
      Src: /src/libgpg-error/gpgscm/scheme.c:3048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3051
      start: 3041
    functionDepth: 0
    functionLinenumber: 3041
    functionLinenumberEnd: 3051
    functionName: dump_stack_make_frame
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - mk_vector
    - setframe
    linkageType: ''
    returnType: pointer
    signature: pointer dump_stack_make_frame(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - frame
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3057
      start: 3053
    functionDepth: 0
    functionLinenumber: 3053
    functionLinenumberEnd: 3057
    functionName: frame_slots
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: INLINE
    signature: 'INLINE *

      frame_slots(pointer frame)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gc_enabled
      Src: /src/libgpg-error/gpgscm/scheme.c:3066,1
    - Dst: dump_stack_make_frame
      Src: /src/libgpg-error/gpgscm/scheme.c:3067,1
    - Dst: gc_reservation_failure
      Src: /src/libgpg-error/gpgscm/scheme.c:3069,1
    - Dst: frame_slots
      Src: /src/libgpg-error/gpgscm/scheme.c:3071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3073
      start: 3061
    functionDepth: 0
    functionLinenumber: 3061
    functionLinenumberEnd: 3073
    functionName: dump_stack_allocate_frame
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - gc_reservation_failure
    - gc_enabled
    - frame_slots
    - dump_stack_make_frame
    linkageType: ''
    returnType: pointer
    signature: pointer dump_stack_allocate_frame(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: frame_slots
      Src: /src/libgpg-error/gpgscm/scheme.c:3078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - frame
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3084
      start: 3075
    functionDepth: 0
    functionLinenumber: 3075
    functionLinenumberEnd: 3084
    functionName: dump_stack_deallocate_frame
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 4
    functionsReached:
    - frame_slots
    linkageType: ''
    returnType: void
    signature: void dump_stack_deallocate_frame(scheme *sc, pointer frame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dump_stack_make_frame
      Src: /src/libgpg-error/gpgscm/scheme.c:3089,1
    - Dst: dump_stack_deallocate_frame
      Src: /src/libgpg-error/gpgscm/scheme.c:3091,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3092
      start: 3086
    functionDepth: 0
    functionLinenumber: 3086
    functionLinenumberEnd: 3092
    functionName: dump_stack_preallocate_frame
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - dump_stack_deallocate_frame
    - dump_stack_make_frame
    linkageType: ''
    returnType: void
    signature: void dump_stack_preallocate_frame(scheme *sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gc_enable
      Src: /src/libgpg-error/gpgscm/scheme.c:3102,1
    - Dst: frame_payload
      Src: /src/libgpg-error/gpgscm/scheme.c:3105,1
    - Dst: frame_slots
      Src: /src/libgpg-error/gpgscm/scheme.c:3108,1
    - Dst: dump_stack_deallocate_frame
      Src: /src/libgpg-error/gpgscm/scheme.c:3113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - sc
    - a
    - enable_gc
    argTypes:
    - scheme*
    - pointer
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3094
    functionDepth: 0
    functionLinenumber: 3094
    functionLinenumberEnd: 3115
    functionName: _s_return
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - frame_slots
    - frame_payload
    - dump_stack_deallocate_frame
    - gc_enable
    linkageType: ''
    returnType: enum scheme_opcodes
    signature: enum scheme_opcodes _s_return(scheme *sc, pointer a, int enable_gc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:3121,1
    - Dst: gc_reservations
      Src: /src/libgpg-error/gpgscm/scheme.c:3121,1
    - Dst: dump_stack_allocate_frame
      Src: /src/libgpg-error/gpgscm/scheme.c:3122,1
    - Dst: frame_payload
      Src: /src/libgpg-error/gpgscm/scheme.c:3123,1
    - Dst: frame_slots
      Src: /src/libgpg-error/gpgscm/scheme.c:3124,1
    - Dst: gc_enable
      Src: /src/libgpg-error/gpgscm/scheme.c:3130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - sc
    - op
    - args
    - code
    argTypes:
    - scheme*
    - enum scheme_opcodes
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3131
      start: 3117
    functionDepth: 0
    functionLinenumber: 3117
    functionLinenumberEnd: 3131
    functionName: s_save
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 12
    functionsReached:
    - frame_slots
    - frame_payload
    - dump_stack_allocate_frame
    - gc_enable
    - gc_reservations
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void s_save(scheme *sc, enum scheme_opcodes op, pointer args, pointer
      code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:3135,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:3136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3137
      start: 3133
    functionDepth: 0
    functionLinenumber: 3133
    functionLinenumberEnd: 3137
    functionName: dump_stack_mark
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - mark
    linkageType: ''
    returnType: INLINE
    signature: INLINE dump_stack_mark(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::free
      Src: /src/libgpg-error/gpgscm/scheme.c:3146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3149
      start: 3143
    functionDepth: 0
    functionLinenumber: 3143
    functionLinenumberEnd: 3149
    functionName: history_free
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - scheme*::free
    linkageType: ''
    returnType: void
    signature: void history_free(scheme *sc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:3160,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:3164,1
    - Dst: mk_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:3166,1
    - Dst: mk_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:3170,1
    - Dst: mk_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:3172,1
    - Dst: set_vector_elem
      Src: /src/libgpg-error/gpgscm/scheme.c:3175,1
    - Dst: scheme*::malloc
      Src: /src/libgpg-error/gpgscm/scheme.c:3178,1
    - Dst: history_free
      Src: /src/libgpg-error/gpgscm/scheme.c:3188,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - sc
    - N
    - M
    argTypes:
    - scheme*
    - size_t
    - size_t
    assertStmts:
    - condition: ((N & h->mask_N) == 0)
      pos:
        line_end: 3159
        line_start: 3159
        source_file: /src/libgpg-error/gpgscm/scheme.c
    - condition: ((M & h->mask_M) == 0)
      pos:
        line_end: 3163
        line_start: 3163
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 3190
      start: 3151
    functionDepth: 0
    functionLinenumber: 3151
    functionLinenumberEnd: 3190
    functionName: history_init
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - scheme*::malloc
    - assert
    - mk_vector
    - history_free
    - set_vector_elem
    linkageType: ''
    returnType: pointer
    signature: pointer history_init(scheme *sc, size_t N, size_t M)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:3196,1
    - Dst: mark
      Src: /src/libgpg-error/gpgscm/scheme.c:3197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3198
      start: 3192
    functionDepth: 0
    functionLinenumber: 3192
    functionLinenumberEnd: 3198
    functionName: history_mark
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - mark
    linkageType: ''
    returnType: void
    signature: void history_mark(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3201
      start: 3200
    functionDepth: 0
    functionLinenumber: 3200
    functionLinenumberEnd: 3201
    functionName: add_mod
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_mod(a, b, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3202
      start: 3201
    functionDepth: 0
    functionLinenumber: 3201
    functionLinenumberEnd: 3202
    functionName: sub_mod
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sub_mod(a, b, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:3206,1
    - Dst: is_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:3206,1
    - Dst: fill_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:3208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sc
    - v
    argTypes:
    - scheme*
    - pointer
    assertStmts:
    - condition: (is_vector(v))
      pos:
        line_end: 3205
        line_start: 3205
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 3209
      start: 3203
    functionDepth: 0
    functionLinenumber: 3203
    functionLinenumberEnd: 3209
    functionName: tailstack_clear
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - fill_vector
    - is_vector
    - assert
    linkageType: ''
    returnType: INLINE
    signature: INLINE tailstack_clear(scheme *sc, pointer v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vector_elem
      Src: /src/libgpg-error/gpgscm/scheme.c:3221,1
    - Dst: set_vector_elem
      Src: /src/libgpg-error/gpgscm/scheme.c:3224,1
    - Dst: tailstack_clear
      Src: /src/libgpg-error/gpgscm/scheme.c:3225,1
    - Dst: vector_elem
      Src: /src/libgpg-error/gpgscm/scheme.c:3225,1
    - Dst: sub_mod
      Src: /src/libgpg-error/gpgscm/scheme.c:3228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3231
      start: 3211
    functionDepth: 0
    functionLinenumber: 3211
    functionLinenumberEnd: 3231
    functionName: callstack_pop
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - tailstack_clear
    - set_vector_elem
    - sub_mod
    - vector_elem
    linkageType: ''
    returnType: pointer
    signature: pointer callstack_pop(scheme *sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_mod
      Src: /src/libgpg-error/gpgscm/scheme.c:3243,1
    - Dst: tailstack_clear
      Src: /src/libgpg-error/gpgscm/scheme.c:3246,1
    - Dst: vector_elem
      Src: /src/libgpg-error/gpgscm/scheme.c:3246,1
    - Dst: set_vector_elem
      Src: /src/libgpg-error/gpgscm/scheme.c:3249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - item
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3250
      start: 3233
    functionDepth: 0
    functionLinenumber: 3233
    functionLinenumberEnd: 3250
    functionName: callstack_push
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - tailstack_clear
    - set_vector_elem
    - add_mod
    - vector_elem
    linkageType: ''
    returnType: void
    signature: void callstack_push(scheme *sc, pointer item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_mod
      Src: /src/libgpg-error/gpgscm/scheme.c:3263,1
    - Dst: set_vector_elem
      Src: /src/libgpg-error/gpgscm/scheme.c:3264,1
    - Dst: vector_elem
      Src: /src/libgpg-error/gpgscm/scheme.c:3264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - item
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3265
      start: 3252
    functionDepth: 0
    functionLinenumber: 3252
    functionLinenumberEnd: 3265
    functionName: tailstack_push
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - set_vector_elem
    - add_mod
    - vector_elem
    linkageType: ''
    returnType: void
    signature: void tailstack_push(scheme *sc, pointer item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:3274,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:3275,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:3283,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:3283,1
    - Dst: vector_elem
      Src: /src/libgpg-error/gpgscm/scheme.c:3286,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:3293,1
    - Dst: tailstack_flatten
      Src: /src/libgpg-error/gpgscm/scheme.c:3295,1
    - Dst: sub_mod
      Src: /src/libgpg-error/gpgscm/scheme.c:3295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - sc
    - tailstack
    - i
    - n
    - acc
    argTypes:
    - scheme*
    - pointer
    - size_t
    - size_t
    - pointer
    assertStmts:
    - condition: (i <= h->M)
      pos:
        line_end: 3273
        line_start: 3273
        source_file: /src/libgpg-error/gpgscm/scheme.c
    - condition: (n < h->M)
      pos:
        line_end: 3274
        line_start: 3274
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 3297
      start: 3267
    functionDepth: 0
    functionLinenumber: 3267
    functionLinenumberEnd: 3297
    functionName: tailstack_flatten
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - mk_symbol
    - tailstack_flatten
    - assert
    - sub_mod
    - vector_elem
    - cons
    linkageType: ''
    returnType: pointer
    signature: "pointer tailstack_flatten(scheme *sc, pointer tailstack, size_t i,
      size_t n,\n\t\t  pointer acc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:3305,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:3306,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:3314,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:3314,1
    - Dst: vector_elem
      Src: /src/libgpg-error/gpgscm/scheme.c:3317,1
    - Dst: tailstack_flatten
      Src: /src/libgpg-error/gpgscm/scheme.c:3324,1
    - Dst: vector_elem
      Src: /src/libgpg-error/gpgscm/scheme.c:3324,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:3328,1
    - Dst: callstack_flatten
      Src: /src/libgpg-error/gpgscm/scheme.c:3330,1
    - Dst: sub_mod
      Src: /src/libgpg-error/gpgscm/scheme.c:3330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - sc
    - i
    - n
    - acc
    argTypes:
    - scheme*
    - size_t
    - size_t
    - pointer
    assertStmts:
    - condition: (i <= h->N)
      pos:
        line_end: 3304
        line_start: 3304
        source_file: /src/libgpg-error/gpgscm/scheme.c
    - condition: (n < h->N)
      pos:
        line_end: 3305
        line_start: 3305
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 3331
      start: 3299
    functionDepth: 0
    functionLinenumber: 3299
    functionLinenumberEnd: 3331
    functionName: callstack_flatten
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - mk_symbol
    - tailstack_flatten
    - assert
    - sub_mod
    - vector_elem
    - callstack_flatten
    - cons
    linkageType: ''
    returnType: pointer
    signature: pointer callstack_flatten(scheme *sc, size_t i, size_t n, pointer acc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: callstack_flatten
      Src: /src/libgpg-error/gpgscm/scheme.c:3342,1
    - Dst: reverse_in_place
      Src: /src/libgpg-error/gpgscm/scheme.c:3346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3347
      start: 3333
    functionDepth: 0
    functionLinenumber: 3333
    functionLinenumberEnd: 3347
    functionName: history_flatten
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - reverse_in_place
    - callstack_flatten
    linkageType: ''
    returnType: pointer
    signature: pointer history_flatten(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - SC
    - ','
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3355
      start: 3354
    functionDepth: 0
    functionLinenumber: 3354
    functionLinenumberEnd: 3355
    functionName: history_init
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: history_init(SC, A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - SC
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3356
      start: 3355
    functionDepth: 0
    functionLinenumber: 3355
    functionLinenumberEnd: 3356
    functionName: history_free
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: history_free(SC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - SC
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3357
      start: 3356
    functionDepth: 0
    functionLinenumber: 3356
    functionLinenumberEnd: 3357
    functionName: callstack_pop
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: callstack_pop(SC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3358
      start: 3357
    functionDepth: 0
    functionLinenumber: 3357
    functionLinenumberEnd: 3358
    functionName: callstack_push
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: callstack_push(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3359
      start: 3358
    functionDepth: 0
    functionLinenumber: 3358
    functionLinenumberEnd: 3359
    functionName: tailstack_push
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tailstack_push(SC, X)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:3370,1
    - Dst: is_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:3370,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:3371,1
    - Dst: is_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:3371,1
    - Dst: symprop
      Src: /src/libgpg-error/gpgscm/scheme.c:3373,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:3373,1
    - Dst: caar
      Src: /src/libgpg-error/gpgscm/scheme.c:3374,1
    - Dst: cdar
      Src: /src/libgpg-error/gpgscm/scheme.c:3379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - sc
    - obj
    - key
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts:
    - condition: (is_symbol(obj))
      pos:
        line_end: 3369
        line_start: 3369
        source_file: /src/libgpg-error/gpgscm/scheme.c
    - condition: (is_symbol(key))
      pos:
        line_end: 3370
        line_start: 3370
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 3382
      start: 3365
    functionDepth: 0
    functionLinenumber: 3365
    functionLinenumberEnd: 3382
    functionName: get_property
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - assert
    - symprop
    - caar
    - cdar
    - cdr
    - is_symbol
    linkageType: ''
    returnType: pointer
    signature: pointer get_property(scheme *sc, pointer obj, pointer key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:3390,1
    - Dst: is_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:3390,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:3391,1
    - Dst: is_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:3391,1
    - Dst: symprop
      Src: /src/libgpg-error/gpgscm/scheme.c:3393,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:3393,1
    - Dst: caar
      Src: /src/libgpg-error/gpgscm/scheme.c:3394,1
    - Dst: cdar
      Src: /src/libgpg-error/gpgscm/scheme.c:3399,1
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:3401,1
    - Dst: gc_reservations
      Src: /src/libgpg-error/gpgscm/scheme.c:3401,1
    - Dst: symprop
      Src: /src/libgpg-error/gpgscm/scheme.c:3402,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:3402,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:3402,1
    - Dst: symprop
      Src: /src/libgpg-error/gpgscm/scheme.c:3402,1
    - Dst: gc_enable
      Src: /src/libgpg-error/gpgscm/scheme.c:3403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - sc
    - obj
    - key
    - value
    argTypes:
    - scheme*
    - pointer
    - pointer
    - pointer
    assertStmts:
    - condition: (is_symbol(obj))
      pos:
        line_end: 3389
        line_start: 3389
        source_file: /src/libgpg-error/gpgscm/scheme.c
    - condition: (is_symbol(key))
      pos:
        line_end: 3390
        line_start: 3390
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 3407
      start: 3384
    functionDepth: 0
    functionLinenumber: 3384
    functionLinenumberEnd: 3407
    functionName: set_property
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - assert
    - symprop
    - caar
    - gc_enable
    - cdar
    - cdr
    - is_symbol
    - gc_reservations
    - cons
    - gc_disable
    linkageType: ''
    returnType: pointer
    signature: pointer set_property(scheme *sc, pointer obj, pointer key, pointer
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_length
      Src: /src/libgpg-error/gpgscm/scheme.c:3413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - a
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3413
      start: 3412
    functionDepth: 0
    functionLinenumber: 3412
    functionLinenumberEnd: 3413
    functionName: is_list
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - list_length
    linkageType: ''
    returnType: int
    signature: int is_list(scheme *sc, pointer a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:3430,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:3432,1
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:3436,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:3439,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:3443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - sc
    - a
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3452
      start: 3421
    functionDepth: 0
    functionLinenumber: 3421
    functionLinenumberEnd: 3452
    functionName: list_length
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 16
    functionsReached:
    - is_pair
    - cdr
    linkageType: ''
    returnType: int
    signature: int list_length(scheme *sc, pointer a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3457
      start: 3456
    functionDepth: 0
    functionLinenumber: 3456
    functionLinenumberEnd: 3457
    functionName: s_retbool
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_retbool(tf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_interactive
      Src: /src/libgpg-error/gpgscm/scheme.c:3488,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:3489,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:3490,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:3490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3491
      start: 3487
    functionDepth: 0
    functionLinenumber: 3487
    functionLinenumberEnd: 3491
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strvalue
    - car
    - file_interactive
    linkageType: ''
    returnType: void
    signature: void CASE(OP_LOAD)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:3509,1
    - Dst: file_pop
      Src: /src/libgpg-error/gpgscm/scheme.c:3513,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:3514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3517
      start: 3501
    functionDepth: 0
    functionLinenumber: 3501
    functionLinenumberEnd: 3517
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - file_pop
    - s_return
    - s_thread_to
    linkageType: ''
    returnType: void
    signature: void CASE(OP_T0LVL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:3545,1
    - Dst: gensym
      Src: /src/libgpg-error/gpgscm/scheme.c:3549,1
    - Dst: putstr
      Src: /src/libgpg-error/gpgscm/scheme.c:3556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3557
      start: 3537
    functionDepth: 0
    functionLinenumber: 3537
    functionLinenumberEnd: 3557
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - s_return
    - gensym
    - putstr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_T1LVL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_macro
      Src: /src/libgpg-error/gpgscm/scheme.c:3601,1
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:3602,1
    - Dst: gc_reservations
      Src: /src/libgpg-error/gpgscm/scheme.c:3602,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:3603,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:3604,1
    - Dst: gc_enable
      Src: /src/libgpg-error/gpgscm/scheme.c:3605,1
    - Dst: s_clear_flag
      Src: /src/libgpg-error/gpgscm/scheme.c:3607,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:3608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3609
      start: 3600
    functionDepth: 0
    functionLinenumber: 3600
    functionLinenumberEnd: 3609
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - s_clear_flag
    - is_macro
    - gc_enable
    - s_save
    - gc_reservations
    - cons
    - s_thread_to
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_E0ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:3635,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:3635,1
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:3636,1
    - Dst: s_return_enable_gc
      Src: /src/libgpg-error/gpgscm/scheme.c:3637,1
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:3637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3638
      start: 3633
    functionDepth: 0
    functionLinenumber: 3633
    functionLinenumberEnd: 3638
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue
    - car
    - mk_integer
    - s_return_enable_gc
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_TRACING)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_slot_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:3732,1
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:3737,1
    - Dst: gc_reservations
      Src: /src/libgpg-error/gpgscm/scheme.c:3737,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:3738,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:3739,1
    - Dst: gc_enable
      Src: /src/libgpg-error/gpgscm/scheme.c:3740,1
    - Dst: slot_value_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:3741,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:3742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3744
      start: 3728
    functionDepth: 0
    functionLinenumber: 3728
    functionLinenumberEnd: 3744
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - gc_enable
    - s_save
    - find_slot_in_env
    - gc_reservations
    - cons
    - s_thread_to
    - gc_disable
    - slot_value_in_env
    linkageType: ''
    returnType: void
    signature: void CASE(OP_LAMBDA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mk_closure
      Src: /src/libgpg-error/gpgscm/scheme.c:3753,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:3759,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:3761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3763
      start: 3746
    functionDepth: 0
    functionLinenumber: 3746
    functionLinenumberEnd: 3763
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_closure
    - cdr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_LAMBDA)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_slot_spec_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:3793,1
    - Dst: set_slot_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:3795,1
    - Dst: new_slot_spec_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:3797,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:3799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3800
      start: 3791
    functionDepth: 0
    functionLinenumber: 3791
    functionLinenumberEnd: 3800
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - s_return
    - new_slot_spec_in_env
    - find_slot_spec_in_env
    - set_slot_in_env
    linkageType: ''
    returnType: void
    signature: void CASE(OP_DEF1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:3805,1
    - Dst: find_slot_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:3807,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:3807,1
    - Dst: is_immutable
      Src: /src/libgpg-error/gpgscm/scheme.c:3810,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:3810,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:3811,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:3812,1
    - Dst: set_slot_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:3819,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:3820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3821
      start: 3802
    functionDepth: 0
    functionLinenumber: 3802
    functionLinenumberEnd: 3821
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - is_immutable
    - set_slot_in_env
    - find_slot_in_env
    - s_return
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_DEFP)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:3830,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:3831,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:3834,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:3836,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:3836,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:3838,1
    - Dst: s_clear_flag
      Src: /src/libgpg-error/gpgscm/scheme.c:3842,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:3843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3844
      start: 3826
    functionDepth: 0
    functionLinenumber: 3826
    functionLinenumberEnd: 3844
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - s_clear_flag
    - car
    - s_save
    - cdr
    - s_return
    - s_thread_to
    linkageType: ''
    returnType: void
    signature: void CASE(OP_BEGIN)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_true
      Src: /src/libgpg-error/gpgscm/scheme.c:3853,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:3863,1
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:3867,1
    - Dst: gc_reservations
      Src: /src/libgpg-error/gpgscm/scheme.c:3867,1
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:3870,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:3870,1
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:3870,1
    - Dst: cdar
      Src: /src/libgpg-error/gpgscm/scheme.c:3870,1
    - Dst: gc_enable
      Src: /src/libgpg-error/gpgscm/scheme.c:3871,1
    - Dst: Error_1
      Src: /src/libgpg-error/gpgscm/scheme.c:3872,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:3873,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:3875,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:3875,1
    - Dst: gc_enable
      Src: /src/libgpg-error/gpgscm/scheme.c:3876,1
    - Dst: cadar
      Src: /src/libgpg-error/gpgscm/scheme.c:3877,1
    - Dst: s_clear_flag
      Src: /src/libgpg-error/gpgscm/scheme.c:3879,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:3880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3881
      start: 3852
    functionDepth: 0
    functionLinenumber: 3852
    functionLinenumberEnd: 3881
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - Error_1
    - is_pair
    - s_clear_flag
    - car
    - gc_enable
    - cdar
    - s_save
    - cdr
    - gc_reservations
    - s_thread_to
    - cadar
    - is_true
    linkageType: ''
    returnType: void
    signature: void CASE(OP_IF1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:3918,1
    - Dst: new_frame_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:3919,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:3920,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:3921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3922
      start: 3917
    functionDepth: 0
    functionLinenumber: 3917
    functionLinenumberEnd: 3922
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - new_frame_in_env
    - s_thread_to
    - cdr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_LET0AST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:3979,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:3979,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:3979,1
    - Dst: new_slot_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:3980,1
    - Dst: caar
      Src: /src/libgpg-error/gpgscm/scheme.c:3980,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:3980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3981
      start: 3978
    functionDepth: 0
    functionLinenumber: 3978
    functionLinenumberEnd: 3981
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - caar
    - new_slot_in_env
    - car
    - cdr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_LET2REC)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:3987,1
    - Dst: Error_0
      Src: /src/libgpg-error/gpgscm/scheme.c:3988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3989
      start: 3986
    functionDepth: 0
    functionLinenumber: 3986
    functionLinenumberEnd: 3989
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - Error_0
    linkageType: ''
    returnType: void
    signature: void CASE(OP_COND0)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_true
      Src: /src/libgpg-error/gpgscm/scheme.c:3996,1
    - Dst: cdar
      Src: /src/libgpg-error/gpgscm/scheme.c:3997,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:3998,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4000,1
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:4001,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:4001,1
    - Dst: Error_0
      Src: /src/libgpg-error/gpgscm/scheme.c:4002,1
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:4004,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:4005,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:4005,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:4006,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4006,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:4006,1
    - Dst: gc_enable
      Src: /src/libgpg-error/gpgscm/scheme.c:4007,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:4008,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:4010,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4011
      start: 3995
    functionDepth: 0
    functionLinenumber: 3995
    functionLinenumberEnd: 4011
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - Error_0
    - is_pair
    - car
    - gc_enable
    - cdar
    - cdr
    - s_return
    - cadr
    - s_thread_to
    - cons
    - is_true
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_COND1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4031
      start: 4028
    functionDepth: 0
    functionLinenumber: 4028
    functionLinenumberEnd: 4031
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - s_return
    linkageType: ''
    returnType: void
    signature: void CASE(OP_AND0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_false
      Src: /src/libgpg-error/gpgscm/scheme.c:4039,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4041
      start: 4038
    functionDepth: 0
    functionLinenumber: 4038
    functionLinenumberEnd: 4041
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - s_return
    - is_false
    linkageType: ''
    returnType: void
    signature: void CASE(OP_AND1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4054
      start: 4051
    functionDepth: 0
    functionLinenumber: 4051
    functionLinenumberEnd: 4054
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - s_return
    linkageType: ''
    returnType: void
    signature: void CASE(OP_OR0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_true
      Src: /src/libgpg-error/gpgscm/scheme.c:4062,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4064
      start: 4061
    functionDepth: 0
    functionLinenumber: 4061
    functionLinenumberEnd: 4064
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - s_return
    - is_true
    linkageType: ''
    returnType: void
    signature: void CASE(OP_OR1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:4087,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4087,1
    - Dst: caar
      Src: /src/libgpg-error/gpgscm/scheme.c:4088,1
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:4089,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:4090,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:4090,1
    - Dst: cdar
      Src: /src/libgpg-error/gpgscm/scheme.c:4090,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:4090,1
    - Dst: gc_enable
      Src: /src/libgpg-error/gpgscm/scheme.c:4091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4092
      start: 4086
    functionDepth: 0
    functionLinenumber: 4086
    functionLinenumberEnd: 4092
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - caar
    - car
    - gc_enable
    - cdar
    - cdr
    - cons
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_MACRO0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:4104,1
    - Dst: find_slot_spec_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:4105,1
    - Dst: set_slot_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:4107,1
    - Dst: new_slot_spec_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:4109,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4112
      start: 4102
    functionDepth: 0
    functionLinenumber: 4102
    functionLinenumberEnd: 4112
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - typeflag
    - find_slot_spec_in_env
    - set_slot_in_env
    - s_return
    - new_slot_spec_in_env
    linkageType: ''
    returnType: void
    signature: void CASE(OP_MACRO1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:4121,1
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:4122,1
    - Dst: caar
      Src: /src/libgpg-error/gpgscm/scheme.c:4122,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:4125,1
    - Dst: eqv
      Src: /src/libgpg-error/gpgscm/scheme.c:4126,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4133
      start: 4120
    functionDepth: 0
    functionLinenumber: 4120
    functionLinenumberEnd: 4133
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - caar
    - car
    - cdr
    - eqv
    linkageType: ''
    returnType: void
    signature: void CASE(OP_CASE1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_true
      Src: /src/libgpg-error/gpgscm/scheme.c:4148,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:4149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4150
      start: 4147
    functionDepth: 0
    functionLinenumber: 4147
    functionLinenumberEnd: 4150
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_true
    - s_thread_to
    linkageType: ''
    returnType: void
    signature: void CASE(OP_CASE2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:4161,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4163
      start: 4160
    functionDepth: 0
    functionLinenumber: 4160
    functionLinenumberEnd: 4163
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cadr
    - cdr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_PEVAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mk_real
      Src: /src/libgpg-error/gpgscm/scheme.c:4187,1
    - Dst: exp
      Src: /src/libgpg-error/gpgscm/scheme.c:4187,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4187,1
    - Dst: mk_real
      Src: /src/libgpg-error/gpgscm/scheme.c:4191,1
    - Dst: log
      Src: /src/libgpg-error/gpgscm/scheme.c:4191,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4191,1
    - Dst: mk_real
      Src: /src/libgpg-error/gpgscm/scheme.c:4195,1
    - Dst: sin
      Src: /src/libgpg-error/gpgscm/scheme.c:4195,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4195,1
    - Dst: mk_real
      Src: /src/libgpg-error/gpgscm/scheme.c:4199,1
    - Dst: cos
      Src: /src/libgpg-error/gpgscm/scheme.c:4199,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4199,1
    - Dst: mk_real
      Src: /src/libgpg-error/gpgscm/scheme.c:4203,1
    - Dst: tan
      Src: /src/libgpg-error/gpgscm/scheme.c:4203,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4203,1
    - Dst: mk_real
      Src: /src/libgpg-error/gpgscm/scheme.c:4207,1
    - Dst: asin
      Src: /src/libgpg-error/gpgscm/scheme.c:4207,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4207,1
    - Dst: mk_real
      Src: /src/libgpg-error/gpgscm/scheme.c:4211,1
    - Dst: acos
      Src: /src/libgpg-error/gpgscm/scheme.c:4211,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4211,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4216,1
    - Dst: mk_real
      Src: /src/libgpg-error/gpgscm/scheme.c:4216,1
    - Dst: atan
      Src: /src/libgpg-error/gpgscm/scheme.c:4216,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4216,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4218,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4219,1
    - Dst: mk_real
      Src: /src/libgpg-error/gpgscm/scheme.c:4219,1
    - Dst: atan2
      Src: /src/libgpg-error/gpgscm/scheme.c:4219,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4219,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4220
      start: 4185
    functionDepth: 0
    functionLinenumber: 4185
    functionLinenumberEnd: 4220
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - log
    - mk_real
    - rvalue
    - sin
    - acos
    - cos
    - atan
    - tan
    - s_return
    - exp
    - asin
    - cadr
    - atan2
    linkageType: ''
    returnType: void
    signature: void CASE(OP_EXP)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mk_real
      Src: /src/libgpg-error/gpgscm/scheme.c:4224,1
    - Dst: sqrt
      Src: /src/libgpg-error/gpgscm/scheme.c:4224,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4224,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4229,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4230,1
    - Dst: num_is_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:4231,1
    - Dst: num_is_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:4231,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4235,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4235,1
    - Dst: pow
      Src: /src/libgpg-error/gpgscm/scheme.c:4238,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4238,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4238,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4249,1
    - Dst: mk_real
      Src: /src/libgpg-error/gpgscm/scheme.c:4249,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4251,1
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:4251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4253
      start: 4222
    functionDepth: 0
    functionLinenumber: 4222
    functionLinenumberEnd: 4253
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_real
    - rvalue
    - pow
    - car
    - s_return
    - mk_integer
    - sqrt
    - num_is_integer
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_SQRT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mk_real
      Src: /src/libgpg-error/gpgscm/scheme.c:4257,1
    - Dst: floor
      Src: /src/libgpg-error/gpgscm/scheme.c:4257,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4257,1
    - Dst: mk_real
      Src: /src/libgpg-error/gpgscm/scheme.c:4261,1
    - Dst: ceil
      Src: /src/libgpg-error/gpgscm/scheme.c:4261,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4261,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4265,1
    - Dst: rvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4266,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4268,1
    - Dst: mk_real
      Src: /src/libgpg-error/gpgscm/scheme.c:4268,1
    - Dst: floor
      Src: /src/libgpg-error/gpgscm/scheme.c:4268,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4270,1
    - Dst: mk_real
      Src: /src/libgpg-error/gpgscm/scheme.c:4270,1
    - Dst: ceil
      Src: /src/libgpg-error/gpgscm/scheme.c:4270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4272
      start: 4255
    functionDepth: 0
    functionLinenumber: 4255
    functionLinenumberEnd: 4272
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - floor
    - mk_real
    - ceil
    - rvalue
    - car
    - s_return
    linkageType: ''
    returnType: void
    signature: void CASE(OP_FLOOR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:4298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4301
      start: 4297
    functionDepth: 0
    functionLinenumber: 4297
    functionLinenumberEnd: 4301
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cdr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_SUB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:4312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4315
      start: 4311
    functionDepth: 0
    functionLinenumber: 4311
    functionLinenumberEnd: 4315
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cdr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_DIV)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:4330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4333
      start: 4329
    functionDepth: 0
    functionLinenumber: 4329
    functionLinenumberEnd: 4333
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cdr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_INTDIV)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_immutable
      Src: /src/libgpg-error/gpgscm/scheme.c:4378,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4378,1
    - Dst: caar
      Src: /src/libgpg-error/gpgscm/scheme.c:4379,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4379,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4380,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4381
      start: 4373
    functionDepth: 0
    functionLinenumber: 4373
    functionLinenumberEnd: 4381
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - caar
    - car
    - is_immutable
    - s_return
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_CONS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_immutable
      Src: /src/libgpg-error/gpgscm/scheme.c:4386,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4386,1
    - Dst: cdar
      Src: /src/libgpg-error/gpgscm/scheme.c:4387,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4387,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4388,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4389
      start: 4385
    functionDepth: 0
    functionLinenumber: 4385
    functionLinenumberEnd: 4389
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - cdar
    - is_immutable
    - s_return
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_SETCDR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4395,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4395,1
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:4396,1
    - Dst: s_return_enable_gc
      Src: /src/libgpg-error/gpgscm/scheme.c:4397,1
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:4397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4398
      start: 4393
    functionDepth: 0
    functionLinenumber: 4393
    functionLinenumberEnd: 4398
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue
    - car
    - mk_integer
    - s_return_enable_gc
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_CHAR2INT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4402,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4402,1
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:4403,1
    - Dst: s_return_enable_gc
      Src: /src/libgpg-error/gpgscm/scheme.c:4404,1
    - Dst: mk_character
      Src: /src/libgpg-error/gpgscm/scheme.c:4404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4405
      start: 4400
    functionDepth: 0
    functionLinenumber: 4400
    functionLinenumberEnd: 4405
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue
    - car
    - mk_character
    - s_return_enable_gc
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_INT2CHAR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4409,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4409,1
    - Dst: toupper
      Src: /src/libgpg-error/gpgscm/scheme.c:4410,1
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:4411,1
    - Dst: s_return_enable_gc
      Src: /src/libgpg-error/gpgscm/scheme.c:4412,1
    - Dst: mk_character
      Src: /src/libgpg-error/gpgscm/scheme.c:4412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4413
      start: 4407
    functionDepth: 0
    functionLinenumber: 4407
    functionLinenumberEnd: 4413
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue
    - car
    - toupper
    - mk_character
    - s_return_enable_gc
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_CHARUPCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4417,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4417,1
    - Dst: tolower
      Src: /src/libgpg-error/gpgscm/scheme.c:4418,1
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:4419,1
    - Dst: s_return_enable_gc
      Src: /src/libgpg-error/gpgscm/scheme.c:4420,1
    - Dst: mk_character
      Src: /src/libgpg-error/gpgscm/scheme.c:4420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4421
      start: 4415
    functionDepth: 0
    functionLinenumber: 4415
    functionLinenumberEnd: 4421
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue
    - tolower
    - car
    - mk_character
    - s_return_enable_gc
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_CHARDNCASE)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gc_reservations
      Src: /src/libgpg-error/gpgscm/scheme.c:4424,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:4425,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4425,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4425,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4428,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4428,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:4430,1
    - Dst: ivalue_unchecked
      Src: /src/libgpg-error/gpgscm/scheme.c:4433,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4433,1
    - Dst: Error_1
      Src: /src/libgpg-error/gpgscm/scheme.c:4442,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4442,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4444,1
    - Dst: mk_sharp_const
      Src: /src/libgpg-error/gpgscm/scheme.c:4444,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4447,1
    - Dst: mk_atom
      Src: /src/libgpg-error/gpgscm/scheme.c:4447,1
    - Dst: strtol
      Src: /src/libgpg-error/gpgscm/scheme.c:4451,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4453,1
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:4453,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4456,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4460
      start: 4423
    functionDepth: 0
    functionLinenumber: 4423
    functionLinenumberEnd: 4460
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue_unchecked
    - Error_1
    - mk_symbol
    - strtol
    - mk_sharp_const
    - car
    - cdr
    - s_return
    - mk_integer
    - gc_reservations
    - strvalue
    - cadr
    - mk_atom
    linkageType: ''
    returnType: void
    signature: void CASE(OP_STR2SYM)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4470,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:4471,1
    - Dst: ivalue_unchecked
      Src: /src/libgpg-error/gpgscm/scheme.c:4474,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4474,1
    - Dst: is_number
      Src: /src/libgpg-error/gpgscm/scheme.c:4475,1
    - Dst: Error_1
      Src: /src/libgpg-error/gpgscm/scheme.c:4483,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4483,1
    - Dst: is_number
      Src: /src/libgpg-error/gpgscm/scheme.c:4484,1
    - Dst: is_character
      Src: /src/libgpg-error/gpgscm/scheme.c:4484,1
    - Dst: is_string
      Src: /src/libgpg-error/gpgscm/scheme.c:4484,1
    - Dst: is_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:4484,1
    - Dst: atom2str
      Src: /src/libgpg-error/gpgscm/scheme.c:4487,1
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:4488,1
    - Dst: s_return_enable_gc
      Src: /src/libgpg-error/gpgscm/scheme.c:4489,1
    - Dst: mk_counted_string
      Src: /src/libgpg-error/gpgscm/scheme.c:4489,1
    - Dst: Error_1
      Src: /src/libgpg-error/gpgscm/scheme.c:4491,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4493
      start: 4468
    functionDepth: 0
    functionLinenumber: 4468
    functionLinenumberEnd: 4493
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue_unchecked
    - Error_1
    - is_number
    - mk_counted_string
    - s_return_enable_gc
    - car
    - cdr
    - is_symbol
    - atom2str
    - is_character
    - is_string
    - cadr
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_ATOM2STR)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4499,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4499,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:4501,1
    - Dst: charvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4502,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4502,1
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:4504,1
    - Dst: s_return_enable_gc
      Src: /src/libgpg-error/gpgscm/scheme.c:4505,1
    - Dst: mk_empty_string
      Src: /src/libgpg-error/gpgscm/scheme.c:4505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4506
      start: 4495
    functionDepth: 0
    functionLinenumber: 4495
    functionLinenumberEnd: 4506
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_empty_string
    - s_return_enable_gc
    - car
    - cdr
    - charvalue
    - ivalue
    - cadr
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_MKSTRING)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:4510,1
    - Dst: strlength
      Src: /src/libgpg-error/gpgscm/scheme.c:4510,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4510,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4516,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4516,1
    - Dst: ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4518,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4518,1
    - Dst: strlength
      Src: /src/libgpg-error/gpgscm/scheme.c:4520,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4520,1
    - Dst: Error_1
      Src: /src/libgpg-error/gpgscm/scheme.c:4521,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4521,1
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:4524,1
    - Dst: s_return_enable_gc
      Src: /src/libgpg-error/gpgscm/scheme.c:4525,1
    - Dst: mk_character
      Src: /src/libgpg-error/gpgscm/scheme.c:4526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4527
      start: 4508
    functionDepth: 0
    functionLinenumber: 4508
    functionLinenumberEnd: 4527
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - Error_1
    - s_return_enable_gc
    - car
    - strlength
    - mk_integer
    - mk_character
    - strvalue
    - ivalue
    - cadr
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_STRLEN)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_immutable
      Src: /src/libgpg-error/gpgscm/scheme.c:4534,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4534,1
    - Dst: Error_1
      Src: /src/libgpg-error/gpgscm/scheme.c:4535,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4536,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4538,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4538,1
    - Dst: ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4540,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4540,1
    - Dst: strlength
      Src: /src/libgpg-error/gpgscm/scheme.c:4541,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4541,1
    - Dst: Error_1
      Src: /src/libgpg-error/gpgscm/scheme.c:4542,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4542,1
    - Dst: charvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4545,1
    - Dst: caddr
      Src: /src/libgpg-error/gpgscm/scheme.c:4545,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4548,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4549
      start: 4529
    functionDepth: 0
    functionLinenumber: 4529
    functionLinenumberEnd: 4549
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - caddr
    - Error_1
    - car
    - strlength
    - is_immutable
    - s_return
    - strvalue
    - ivalue
    - cadr
    - charvalue
    linkageType: ''
    returnType: void
    signature: void CASE(OP_STRSET)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:4558,1
    - Dst: strlength
      Src: /src/libgpg-error/gpgscm/scheme.c:4559,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4559,1
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:4561,1
    - Dst: mk_empty_string
      Src: /src/libgpg-error/gpgscm/scheme.c:4562,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4564,1
    - Dst: strlength
      Src: /src/libgpg-error/gpgscm/scheme.c:4565,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4565,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:4565,1
    - Dst: memcpy
      Src: /src/libgpg-error/gpgscm/scheme.c:4566,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4566,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4566,1
    - Dst: strlength
      Src: /src/libgpg-error/gpgscm/scheme.c:4566,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4566,1
    - Dst: s_return_enable_gc
      Src: /src/libgpg-error/gpgscm/scheme.c:4568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4569
      start: 4551
    functionDepth: 0
    functionLinenumber: 4551
    functionLinenumberEnd: 4569
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - strlength
    - cdr
    - memcpy
    - strvalue
    - s_return_enable_gc
    - mk_empty_string
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_STRAPPEND)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4576,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4576,1
    - Dst: ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4578,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4578,1
    - Dst: strlength
      Src: /src/libgpg-error/gpgscm/scheme.c:4580,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4580,1
    - Dst: Error_1
      Src: /src/libgpg-error/gpgscm/scheme.c:4581,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4581,1
    - Dst: cddr
      Src: /src/libgpg-error/gpgscm/scheme.c:4584,1
    - Dst: ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4585,1
    - Dst: caddr
      Src: /src/libgpg-error/gpgscm/scheme.c:4585,1
    - Dst: strlength
      Src: /src/libgpg-error/gpgscm/scheme.c:4586,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4586,1
    - Dst: Error_1
      Src: /src/libgpg-error/gpgscm/scheme.c:4587,1
    - Dst: caddr
      Src: /src/libgpg-error/gpgscm/scheme.c:4587,1
    - Dst: strlength
      Src: /src/libgpg-error/gpgscm/scheme.c:4590,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4590,1
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:4593,1
    - Dst: s_return_enable_gc
      Src: /src/libgpg-error/gpgscm/scheme.c:4594,1
    - Dst: mk_counted_string
      Src: /src/libgpg-error/gpgscm/scheme.c:4594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4595
      start: 4571
    functionDepth: 0
    functionLinenumber: 4571
    functionLinenumberEnd: 4595
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - caddr
    - Error_1
    - mk_counted_string
    - s_return_enable_gc
    - car
    - strlength
    - cddr
    - strvalue
    - ivalue
    - cadr
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_SUBSTR)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_length
      Src: /src/libgpg-error/gpgscm/scheme.c:4600,1
    - Dst: Error_1
      Src: /src/libgpg-error/gpgscm/scheme.c:4602,1
    - Dst: mk_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:4604,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4605,1
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:4606,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:4606,1
    - Dst: set_vector_elem
      Src: /src/libgpg-error/gpgscm/scheme.c:4607,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4607,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4610
      start: 4597
    functionDepth: 0
    functionLinenumber: 4597
    functionLinenumberEnd: 4610
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - Error_1
    - is_pair
    - car
    - mk_vector
    - cdr
    - list_length
    - s_return
    - set_vector_elem
    linkageType: ''
    returnType: void
    signature: void CASE(OP_VECTOR)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4617,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4617,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:4619,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4620,1
    - Dst: mk_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:4622,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4623,1
    - Dst: fill_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:4625,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4628
      start: 4612
    functionDepth: 0
    functionLinenumber: 4612
    functionLinenumberEnd: 4628
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - fill_vector
    - car
    - mk_vector
    - cdr
    - s_return
    - ivalue
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_MKVECTOR)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:4632,1
    - Dst: vector_length
      Src: /src/libgpg-error/gpgscm/scheme.c:4632,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4632,1
    - Dst: ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4637,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4637,1
    - Dst: vector_length
      Src: /src/libgpg-error/gpgscm/scheme.c:4639,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4639,1
    - Dst: Error_1
      Src: /src/libgpg-error/gpgscm/scheme.c:4640,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4640,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4643,1
    - Dst: vector_elem
      Src: /src/libgpg-error/gpgscm/scheme.c:4643,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4644
      start: 4630
    functionDepth: 0
    functionLinenumber: 4630
    functionLinenumberEnd: 4644
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - vector_length
    - Error_1
    - car
    - vector_elem
    - mk_integer
    - s_return
    - ivalue
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_VECLEN)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_immutable
      Src: /src/libgpg-error/gpgscm/scheme.c:4649,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4649,1
    - Dst: Error_1
      Src: /src/libgpg-error/gpgscm/scheme.c:4650,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4651,1
    - Dst: ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4654,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4654,1
    - Dst: vector_length
      Src: /src/libgpg-error/gpgscm/scheme.c:4655,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4655,1
    - Dst: Error_1
      Src: /src/libgpg-error/gpgscm/scheme.c:4656,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4656,1
    - Dst: set_vector_elem
      Src: /src/libgpg-error/gpgscm/scheme.c:4659,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4659,1
    - Dst: caddr
      Src: /src/libgpg-error/gpgscm/scheme.c:4659,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4660,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4661
      start: 4646
    functionDepth: 0
    functionLinenumber: 4646
    functionLinenumberEnd: 4661
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - set_vector_elem
    - caddr
    - Error_1
    - vector_length
    - car
    - is_immutable
    - s_return
    - ivalue
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_VECSET)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:4682,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (! "reached")
      pos:
        line_end: 4681
        line_start: 4681
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 4683
      start: 4671
    functionDepth: 0
    functionLinenumber: 4671
    functionLinenumberEnd: 4683
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void CASE(OP_NUMEQ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_proc
      Src: /src/libgpg-error/gpgscm/scheme.c:4731,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4731,1
    - Dst: is_closure
      Src: /src/libgpg-error/gpgscm/scheme.c:4731,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4731,1
    - Dst: is_continuation
      Src: /src/libgpg-error/gpgscm/scheme.c:4732,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4732,1
    - Dst: is_foreign
      Src: /src/libgpg-error/gpgscm/scheme.c:4732,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4732,1
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:4734,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4734,1
    - Dst: list_length
      Src: /src/libgpg-error/gpgscm/scheme.c:4736,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4736,1
    - Dst: is_environment
      Src: /src/libgpg-error/gpgscm/scheme.c:4739,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4739,1
    - Dst: is_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:4741,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4741,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4743,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4743,1
    - Dst: eqv
      Src: /src/libgpg-error/gpgscm/scheme.c:4745,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4745,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4745,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:4751,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:4753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4754
      start: 4725
    functionDepth: 0
    functionLinenumber: 4725
    functionLinenumberEnd: 4754
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_environment
    - is_proc
    - is_vector
    - is_pair
    - car
    - s_save
    - is_continuation
    - is_closure
    - list_length
    - s_thread_to
    - eqv
    - cadr
    - is_foreign
    linkageType: ''
    returnType: void
    signature: void CASE(OP_PROCP)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:4765,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:4765,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4766,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:4767,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:4768,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4771
      start: 4762
    functionDepth: 0
    functionLinenumber: 4762
    functionLinenumberEnd: 4771
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - s_save
    - cdr
    - cons
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_WRITE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:4781,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4782,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:4783,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:4784,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4787
      start: 4780
    functionDepth: 0
    functionLinenumber: 4780
    functionLinenumberEnd: 4787
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - car
    - s_save
    - cons
    linkageType: ''
    returnType: void
    signature: void CASE(OP_NEWLINE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/libgpg-error/gpgscm/scheme.c:4793,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4793,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:4794,1
    - Dst: mk_string
      Src: /src/libgpg-error/gpgscm/scheme.c:4794,1
    - Dst: setimmutable
      Src: /src/libgpg-error/gpgscm/scheme.c:4795,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4796
      start: 4791
    functionDepth: 0
    functionLinenumber: 4791
    functionLinenumberEnd: 4796
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - cons
    - setimmutable
    - is_string
    - mk_string
    linkageType: ''
    returnType: void
    signature: void CASE(OP_ERR0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4832
      start: 4827
    functionDepth: 0
    functionLinenumber: 4827
    functionLinenumberEnd: 4832
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - s_return
    linkageType: ''
    returnType: void
    signature: void CASE(OP_APPEND)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gc_reservations
      Src: /src/libgpg-error/gpgscm/scheme.c:4848,1
    - Dst: set_property
      Src: /src/libgpg-error/gpgscm/scheme.c:4850,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4850,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4851,1
    - Dst: caddr
      Src: /src/libgpg-error/gpgscm/scheme.c:4851,1
    - Dst: get_property
      Src: /src/libgpg-error/gpgscm/scheme.c:4854,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4854,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4854,1
    - Dst: free_cons
      Src: /src/libgpg-error/gpgscm/scheme.c:4861,1
    - Dst: free_cons
      Src: /src/libgpg-error/gpgscm/scheme.c:4862,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:4863,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4864,1
    - Dst: mk_tagged_value
      Src: /src/libgpg-error/gpgscm/scheme.c:4864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (c == sc->NIL)
      pos:
        line_end: 4862
        line_start: 4862
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 4865
      start: 4847
    functionDepth: 0
    functionLinenumber: 4847
    functionLinenumberEnd: 4865
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - caddr
    - assert
    - free_cons
    - car
    - s_return
    - get_property
    - mk_tagged_value
    - gc_reservations
    - set_property
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_SET_SYMBOL_PROPERTY)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_vector
      Src: /src/libgpg-error/gpgscm/scheme.c:4868,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4868,1
    - Dst: mk_tagged_value
      Src: /src/libgpg-error/gpgscm/scheme.c:4870,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4870,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4871,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4871,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:4872,1
    - Dst: cadr
      Src: /src/libgpg-error/gpgscm/scheme.c:4872,1
    - Dst: get_tag
      Src: /src/libgpg-error/gpgscm/scheme.c:4875,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4875,1
    - Dst: ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4879,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4880
      start: 4867
    functionDepth: 0
    functionLinenumber: 4867
    functionLinenumberEnd: 4880
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_vector
    - car
    - get_tag
    - cdr
    - mk_tagged_value
    - ivalue
    - cadr
    linkageType: ''
    returnType: void
    signature: void CASE(OP_MK_TAGGED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4890,1
    - Dst: s_retbool
      Src: /src/libgpg-error/gpgscm/scheme.c:4891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4892
      start: 4887
    functionDepth: 0
    functionLinenumber: 4887
    functionLinenumberEnd: 4892
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - s_retbool
    linkageType: ''
    returnType: void
    signature: void CASE(OP_GCVERB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:4895,1
    - Dst: is_number
      Src: /src/libgpg-error/gpgscm/scheme.c:4895,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4895,1
    - Dst: Error_0
      Src: /src/libgpg-error/gpgscm/scheme.c:4896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4897
      start: 4894
    functionDepth: 0
    functionLinenumber: 4894
    functionLinenumberEnd: 4897
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - Error_0
    - car
    - is_number
    linkageType: ''
    returnType: void
    signature: void CASE(OP_NEWSEGMENT)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:4919,1
    - Dst: port_from_filename
      Src: /src/libgpg-error/gpgscm/scheme.c:4921,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4921,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4921,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4923,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (! "reached")
      pos:
        line_end: 4918
        line_start: 4918
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 4927
      start: 4910
    functionDepth: 0
    functionLinenumber: 4910
    functionLinenumberEnd: 4927
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - assert
    - car
    - s_return
    - port_from_filename
    - strvalue
    linkageType: ''
    returnType: void
    signature: void CASE(OP_OPEN_INFILE)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:4937,1
    - Dst: port_from_string
      Src: /src/libgpg-error/gpgscm/scheme.c:4939,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4939,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4939,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4940,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4940,1
    - Dst: strlength
      Src: /src/libgpg-error/gpgscm/scheme.c:4940,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4940,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4942,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4944,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (! "reached")
      pos:
        line_end: 4936
        line_start: 4936
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 4945
      start: 4930
    functionDepth: 0
    functionLinenumber: 4930
    functionLinenumberEnd: 4945
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - assert
    - car
    - strlength
    - s_return
    - strvalue
    - port_from_string
    linkageType: ''
    returnType: void
    signature: void CASE(OP_OPEN_INSTRING)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4948,1
    - Dst: port_from_scratch
      Src: /src/libgpg-error/gpgscm/scheme.c:4949,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4951,1
    - Dst: port_from_string
      Src: /src/libgpg-error/gpgscm/scheme.c:4954,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4954,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4954,1
    - Dst: strvalue
      Src: /src/libgpg-error/gpgscm/scheme.c:4955,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4955,1
    - Dst: strlength
      Src: /src/libgpg-error/gpgscm/scheme.c:4955,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4955,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4958,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4961,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4962
      start: 4946
    functionDepth: 0
    functionLinenumber: 4946
    functionLinenumberEnd: 4962
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - car
    - strlength
    - s_return
    - strvalue
    - port_from_scratch
    - port_from_string
    linkageType: ''
    returnType: void
    signature: void CASE(OP_OPEN_OUTSTRING)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:4966,1
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:4967,1
    - Dst: s_return_enable_gc
      Src: /src/libgpg-error/gpgscm/scheme.c:4968,1
    - Dst: mk_counted_string
      Src: /src/libgpg-error/gpgscm/scheme.c:4970,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:4974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4975
      start: 4963
    functionDepth: 0
    functionLinenumber: 4963
    functionLinenumberEnd: 4975
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_counted_string
    - car
    - s_return
    - s_return_enable_gc
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_GET_OUTSTRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:4995,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:4996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4997
      start: 4994
    functionDepth: 0
    functionLinenumber: 4994
    functionLinenumberEnd: 4997
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - s_thread_to
    linkageType: ''
    returnType: void
    signature: void CASE(OP_READ)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:5013,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5014,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5016,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:5017,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5018,1
    - Dst: inchar
      Src: /src/libgpg-error/gpgscm/scheme.c:5021,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:5023,1
    - Dst: backchar
      Src: /src/libgpg-error/gpgscm/scheme.c:5026,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:5028,1
    - Dst: mk_character
      Src: /src/libgpg-error/gpgscm/scheme.c:5028,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5029
      start: 5010
    functionDepth: 0
    functionLinenumber: 5010
    functionLinenumberEnd: 5029
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - car
    - backchar
    - s_save
    - s_return
    - mk_character
    - inchar
    - cons
    linkageType: ''
    returnType: void
    signature: void CASE(OP_READ_CHAR)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:5034,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5035,1
    - Dst: s_retbool
      Src: /src/libgpg-error/gpgscm/scheme.c:5038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5039
      start: 5031
    functionDepth: 0
    functionLinenumber: 5031
    functionLinenumberEnd: 5039
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_pair
    - car
    - s_retbool
    linkageType: ''
    returnType: void
    signature: void CASE(OP_CHAR_READY)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:5052,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:5055,1
    - Dst: token
      Src: /src/libgpg-error/gpgscm/scheme.c:5058,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:5060,1
    - Dst: Error_0
      Src: /src/libgpg-error/gpgscm/scheme.c:5062,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:5073,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5074,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5074,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:5077,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:5078,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:5081,1
    - Dst: token
      Src: /src/libgpg-error/gpgscm/scheme.c:5082,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:5083,1
    - Dst: token
      Src: /src/libgpg-error/gpgscm/scheme.c:5085,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:5087,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:5089,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:5091,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:5093,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:5095,1
    - Dst: token
      Src: /src/libgpg-error/gpgscm/scheme.c:5096,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:5097,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:5099,1
    - Dst: token
      Src: /src/libgpg-error/gpgscm/scheme.c:5100,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:5101,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:5103,1
    - Dst: mk_atom
      Src: /src/libgpg-error/gpgscm/scheme.c:5103,1
    - Dst: readstr_upto
      Src: /src/libgpg-error/gpgscm/scheme.c:5103,1
    - Dst: readstrexp
      Src: /src/libgpg-error/gpgscm/scheme.c:5105,1
    - Dst: Error_0
      Src: /src/libgpg-error/gpgscm/scheme.c:5107,1
    - Dst: setimmutable
      Src: /src/libgpg-error/gpgscm/scheme.c:5109,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:5110,1
    - Dst: find_slot_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:5112,1
    - Dst: Error_0
      Src: /src/libgpg-error/gpgscm/scheme.c:5114,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5116,1
    - Dst: slot_value_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:5116,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:5117,1
    - Dst: mk_sharp_const
      Src: /src/libgpg-error/gpgscm/scheme.c:5121,1
    - Dst: readstr_upto
      Src: /src/libgpg-error/gpgscm/scheme.c:5121,1
    - Dst: Error_0
      Src: /src/libgpg-error/gpgscm/scheme.c:5122,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:5124,1
    - Dst: Error_0
      Src: /src/libgpg-error/gpgscm/scheme.c:5127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5128
      start: 5041
    functionDepth: 0
    functionLinenumber: 5041
    functionLinenumberEnd: 5128
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - readstr_upto
    - Error_0
    - mk_sharp_const
    - readstrexp
    - s_save
    - s_return
    - find_slot_in_env
    - s_thread_to
    - cons
    - setimmutable
    - token
    - mk_atom
    - slot_value_in_env
    linkageType: ''
    returnType: void
    signature: void CASE(OP_SET_INPORT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:5132,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5133,1
    - Dst: gc_enable
      Src: /src/libgpg-error/gpgscm/scheme.c:5134,1
    - Dst: token
      Src: /src/libgpg-error/gpgscm/scheme.c:5135,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:5137,1
    - Dst: inchar
      Src: /src/libgpg-error/gpgscm/scheme.c:5139,1
    - Dst: backchar
      Src: /src/libgpg-error/gpgscm/scheme.c:5141,1
    - Dst: port_increment_current_line
      Src: /src/libgpg-error/gpgscm/scheme.c:5143,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:5145,1
    - Dst: reverse_in_place
      Src: /src/libgpg-error/gpgscm/scheme.c:5145,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:5147,1
    - Dst: token
      Src: /src/libgpg-error/gpgscm/scheme.c:5148,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:5149,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:5151,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:5152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5154
      start: 5131
    functionDepth: 0
    functionLinenumber: 5131
    functionLinenumberEnd: 5154
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - backchar
    - gc_enable
    - s_save
    - s_return
    - inchar
    - s_thread_to
    - cons
    - port_increment_current_line
    - token
    - reverse_in_place
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_RDLIST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: token
      Src: /src/libgpg-error/gpgscm/scheme.c:5157,1
    - Dst: Error_0
      Src: /src/libgpg-error/gpgscm/scheme.c:5158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5159
      start: 5156
    functionDepth: 0
    functionLinenumber: 5156
    functionLinenumberEnd: 5159
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - token
    - Error_0
    linkageType: ''
    returnType: void
    signature: void CASE(OP_RDDOT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5171,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5172,1
    - Dst: gc_reservations
      Src: /src/libgpg-error/gpgscm/scheme.c:5175,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5176,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:5176,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5177,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:5177,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5178,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5178,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5179,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5184,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5185,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5189,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5190,1
    - Dst: putstr
      Src: /src/libgpg-error/gpgscm/scheme.c:5206,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5207,1
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:5207,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:5208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5209
      start: 5169
    functionDepth: 0
    functionLinenumber: 5169
    functionLinenumberEnd: 5209
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - putstr
    - mk_symbol
    - mk_integer
    - gc_reservations
    - cons
    - s_thread_to
    linkageType: ''
    returnType: void
    signature: void CASE(OP_RDQQUOTE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:5239,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:5240,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:5240,1
    - Dst: putstr
      Src: /src/libgpg-error/gpgscm/scheme.c:5241,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5242,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:5243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5244
      start: 5238
    functionDepth: 0
    functionLinenumber: 5238
    functionLinenumberEnd: 5244
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - putstr
    - is_pair
    - car
    - s_save
    - cdr
    - s_thread_to
    linkageType: ''
    returnType: void
    signature: void CASE(OP_P1LIST)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ivalue_unchecked
      Src: /src/libgpg-error/gpgscm/scheme.c:5257,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:5257,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5258,1
    - Dst: vector_length
      Src: /src/libgpg-error/gpgscm/scheme.c:5259,1
    - Dst: putstr
      Src: /src/libgpg-error/gpgscm/scheme.c:5261,1
    - Dst: s_return
      Src: /src/libgpg-error/gpgscm/scheme.c:5262,1
    - Dst: vector_elem
      Src: /src/libgpg-error/gpgscm/scheme.c:5264,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:5265,1
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:5265,1
    - Dst: s_save
      Src: /src/libgpg-error/gpgscm/scheme.c:5266,1
    - Dst: putstr
      Src: /src/libgpg-error/gpgscm/scheme.c:5269,1
    - Dst: s_thread_to
      Src: /src/libgpg-error/gpgscm/scheme.c:5270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5272
      start: 5256
    functionDepth: 0
    functionLinenumber: 5256
    functionLinenumberEnd: 5272
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue_unchecked
    - vector_length
    - putstr
    - car
    - s_save
    - cdr
    - vector_elem
    - s_return
    - mk_integer
    - s_thread_to
    linkageType: ''
    returnType: void
    signature: void CASE(OP_PVECFROM)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_length
      Src: /src/libgpg-error/gpgscm/scheme.c:5275,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5275,1
    - Dst: Error_1
      Src: /src/libgpg-error/gpgscm/scheme.c:5277,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5277,1
    - Dst: gc_disable
      Src: /src/libgpg-error/gpgscm/scheme.c:5279,1
    - Dst: s_return_enable_gc
      Src: /src/libgpg-error/gpgscm/scheme.c:5280,1
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:5280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5281
      start: 5274
    functionDepth: 0
    functionLinenumber: 5274
    functionLinenumberEnd: 5281
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - Error_1
    - car
    - list_length
    - mk_integer
    - s_return_enable_gc
    - gc_disable
    linkageType: ''
    returnType: void
    signature: void CASE(OP_LIST_LENGTH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_closure
      Src: /src/libgpg-error/gpgscm/scheme.c:5318,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5318,1
    - Dst: is_macro
      Src: /src/libgpg-error/gpgscm/scheme.c:5320,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5320,1
    - Dst: history_flatten
      Src: /src/libgpg-error/gpgscm/scheme.c:5322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5335
      start: 5313
    functionDepth: 0
    functionLinenumber: 5313
    functionLinenumberEnd: 5335
    functionName: CASE
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_macro
    - car
    - history_flatten
    - is_closure
    linkageType: ''
    returnType: void
    signature: void CASE(OP_CLOSUREP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ivalue
      Src: /src/libgpg-error/gpgscm/scheme.c:5338,1
    - Dst: is_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:5338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5339
      start: 5337
    functionDepth: 0
    functionLinenumber: 5337
    functionLinenumberEnd: 5339
    functionName: is_nonneg
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - is_integer
    - ivalue
    linkageType: ''
    returnType: int
    signature: int is_nonneg(pointer p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: procnum
      Src: /src/libgpg-error/gpgscm/scheme.c:5389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5395
      start: 5388
    functionDepth: 0
    functionLinenumber: 5388
    functionLinenumberEnd: 5395
    functionName: procname
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - procnum
    linkageType: ''
    returnType: char
    signature: char *procname(pointer x)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: list_length
      Src: /src/libgpg-error/gpgscm/scheme.c:5401,1
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:5406,1
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:5413,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5426,1
    - Dst: is_pair
      Src: /src/libgpg-error/gpgscm/scheme.c:5429,1
    - Dst: fct
      Src: /src/libgpg-error/gpgscm/scheme.c:5431,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:5438,1
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:5444,1
    - Dst: type_to_string
      Src: /src/libgpg-error/gpgscm/scheme.c:5448,1
    - Dst: type
      Src: /src/libgpg-error/gpgscm/scheme.c:5448,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5448,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 4
    argNames:
    - sc
    - pcd
    - msg
    - msg_size
    argTypes:
    - scheme*
    - struct op_code_info*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5454
      start: 5397
    functionDepth: 0
    functionLinenumber: 5397
    functionLinenumberEnd: 5454
    functionName: check_arguments
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - type
    - is_pair
    - snprintf
    - car
    - fct
    - cdr
    - list_length
    - type_to_string
    linkageType: ''
    returnType: int
    signature: int check_arguments (scheme *sc, const struct op_code_info *pcd, char
      *msg, size_t msg_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oblist_find_by_name
      Src: /src/libgpg-error/gpgscm/scheme.c:5463,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:5464,1
    - Dst: immutable_cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5466,1
    - Dst: mk_string
      Src: /src/libgpg-error/gpgscm/scheme.c:5466,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:5467,1
    - Dst: setimmutable
      Src: /src/libgpg-error/gpgscm/scheme.c:5468,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5468,1
    - Dst: mk_tagged_value
      Src: /src/libgpg-error/gpgscm/scheme.c:5469,1
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:5469,1
    - Dst: free_cell
      Src: /src/libgpg-error/gpgscm/scheme.c:5470,1
    - Dst: setimmutable
      Src: /src/libgpg-error/gpgscm/scheme.c:5471,1
    - Dst: get_tag
      Src: /src/libgpg-error/gpgscm/scheme.c:5471,1
    - Dst: immutable_cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - sc
    - op
    - name
    argTypes:
    - scheme*
    - enum scheme_opcodes
    - char*
    assertStmts:
    - condition: (x == sc->NIL)
      pos:
        line_end: 5463
        line_start: 5463
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 5473
      start: 5459
    functionDepth: 0
    functionLinenumber: 5459
    functionLinenumberEnd: 5473
    functionName: assign_syntax
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - typeflag
    - assert
    - car
    - get_tag
    - mk_integer
    - immutable_cons
    - oblist_find_by_name
    - mk_tagged_value
    - free_cell
    - setimmutable
    - mk_string
    linkageType: ''
    returnType: void
    signature: void assign_syntax(scheme *sc, enum scheme_opcodes op, char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ivalue_unchecked
      Src: /src/libgpg-error/gpgscm/scheme.c:5477,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5477,1
    - Dst: get_tag
      Src: /src/libgpg-error/gpgscm/scheme.c:5477,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/scheme.c:5478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sc
    - p
    argTypes:
    - scheme*
    - pointer
    assertStmts:
    - condition: (op < OP_MAXDEFINED)
      pos:
        line_end: 5477
        line_start: 5477
        source_file: /src/libgpg-error/gpgscm/scheme.c
    constantsTouched: []
    func_position:
      end: 5480
      start: 5476
    functionDepth: 0
    functionLinenumber: 5476
    functionLinenumberEnd: 5480
    functionName: syntaxnum
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - ivalue_unchecked
    - car
    - get_tag
    - assert
    linkageType: ''
    returnType: int
    signature: int syntaxnum(scheme *sc, pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:5485,1
    - Dst: mk_proc
      Src: /src/libgpg-error/gpgscm/scheme.c:5486,1
    - Dst: new_slot_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:5487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sc
    - op
    - name
    argTypes:
    - scheme*
    - enum scheme_opcodes
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5488
      start: 5482
    functionDepth: 0
    functionLinenumber: 5482
    functionLinenumberEnd: 5488
    functionName: assign_proc
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - new_slot_in_env
    - mk_symbol
    - mk_proc
    linkageType: ''
    returnType: void
    signature: void assign_proc(scheme *sc, enum scheme_opcodes op, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cell
      Src: /src/libgpg-error/gpgscm/scheme.c:5493,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:5494,1
    - Dst: ivalue_unchecked
      Src: /src/libgpg-error/gpgscm/scheme.c:5495,1
    - Dst: set_num_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:5496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - op
    argTypes:
    - scheme*
    - enum scheme_opcodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5498
      start: 5490
    functionDepth: 0
    functionLinenumber: 5490
    functionLinenumberEnd: 5498
    functionName: mk_proc
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - get_cell
    - ivalue_unchecked
    - set_num_integer
    - typeflag
    linkageType: ''
    returnType: pointer
    signature: pointer mk_proc(scheme *sc, enum scheme_opcodes op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sc
    - a
    - b
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5504
      start: 5502
    functionDepth: 0
    functionLinenumber: 5502
    functionLinenumberEnd: 5504
    functionName: s_cons
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - cons
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE s_cons(scheme *sc, pointer a, pointer b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: immutable_cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sc
    - a
    - b
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5507
      start: 5505
    functionDepth: 0
    functionLinenumber: 5505
    functionLinenumberEnd: 5507
    functionName: s_immutable_cons
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - immutable_cons
    linkageType: ''
    returnType: INTERFACE
    signature: INTERFACE s_immutable_cons(scheme *sc, pointer a, pointer b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libgpg-error/gpgscm/scheme.c:5578,1
    - Dst: scheme_init
      Src: /src/libgpg-error/gpgscm/scheme.c:5579,1
    - Dst: free
      Src: /src/libgpg-error/gpgscm/scheme.c:5580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5585
      start: 5577
    functionDepth: 0
    functionLinenumber: 5577
    functionLinenumberEnd: 5585
    functionName: scheme_init_new
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - scheme_init
    linkageType: ''
    returnType: scheme
    signature: scheme *scheme_init_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libgpg-error/gpgscm/scheme.c:5588,1
    - Dst: scheme_init_custom_alloc
      Src: /src/libgpg-error/gpgscm/scheme.c:5589,1
    - Dst: free
      Src: /src/libgpg-error/gpgscm/scheme.c:5590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - malloc
    - free
    argTypes:
    - func_alloc
    - func_dealloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5595
      start: 5587
    functionDepth: 0
    functionLinenumber: 5587
    functionLinenumberEnd: 5595
    functionName: scheme_init_new_custom_alloc
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - scheme_init_custom_alloc
    - malloc
    - free
    linkageType: ''
    returnType: scheme
    signature: scheme *scheme_init_new_custom_alloc(func_alloc malloc, func_dealloc
      free)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scheme_init_custom_alloc
      Src: /src/libgpg-error/gpgscm/scheme.c:5599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5600
      start: 5598
    functionDepth: 0
    functionLinenumber: 5598
    functionLinenumberEnd: 5600
    functionName: scheme_init
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - scheme_init_custom_alloc
    linkageType: ''
    returnType: int
    signature: int scheme_init(scheme *sc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libgpg-error/gpgscm/scheme.c:5631,1
    - Dst: scheme*::malloc
      Src: /src/libgpg-error/gpgscm/scheme.c:5633,1
    - Dst: alloc_cellseg
      Src: /src/libgpg-error/gpgscm/scheme.c:5641,1
    - Dst: dump_stack_initialize
      Src: /src/libgpg-error/gpgscm/scheme.c:5646,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:5652,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5653,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:5653,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:5655,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5656,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:5656,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:5658,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5659,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:5659,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:5661,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5662,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:5662,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:5664,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5665,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:5665,1
    - Dst: oblist_initial_value
      Src: /src/libgpg-error/gpgscm/scheme.c:5669,1
    - Dst: new_frame_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:5671,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:5674,1
    - Dst: new_slot_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:5675,1
    - Dst: assign_syntax
      Src: /src/libgpg-error/gpgscm/scheme.c:5677,1
    - Dst: assign_syntax
      Src: /src/libgpg-error/gpgscm/scheme.c:5678,1
    - Dst: assign_syntax
      Src: /src/libgpg-error/gpgscm/scheme.c:5679,1
    - Dst: assign_syntax
      Src: /src/libgpg-error/gpgscm/scheme.c:5680,1
    - Dst: assign_syntax
      Src: /src/libgpg-error/gpgscm/scheme.c:5681,1
    - Dst: assign_syntax
      Src: /src/libgpg-error/gpgscm/scheme.c:5682,1
    - Dst: assign_syntax
      Src: /src/libgpg-error/gpgscm/scheme.c:5683,1
    - Dst: assign_syntax
      Src: /src/libgpg-error/gpgscm/scheme.c:5684,1
    - Dst: assign_syntax
      Src: /src/libgpg-error/gpgscm/scheme.c:5685,1
    - Dst: assign_syntax
      Src: /src/libgpg-error/gpgscm/scheme.c:5686,1
    - Dst: assign_syntax
      Src: /src/libgpg-error/gpgscm/scheme.c:5687,1
    - Dst: assign_syntax
      Src: /src/libgpg-error/gpgscm/scheme.c:5688,1
    - Dst: assign_syntax
      Src: /src/libgpg-error/gpgscm/scheme.c:5689,1
    - Dst: assign_syntax
      Src: /src/libgpg-error/gpgscm/scheme.c:5690,1
    - Dst: assign_syntax
      Src: /src/libgpg-error/gpgscm/scheme.c:5691,1
    - Dst: assign_syntax
      Src: /src/libgpg-error/gpgscm/scheme.c:5692,1
    - Dst: assign_proc
      Src: /src/libgpg-error/gpgscm/scheme.c:5696,1
    - Dst: history_init
      Src: /src/libgpg-error/gpgscm/scheme.c:5700,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:5703,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:5704,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:5705,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:5706,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:5707,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:5708,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:5709,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:5710,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:5711,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:5713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 88
    argCount: 3
    argNames:
    - sc
    - malloc
    - free
    argTypes:
    - scheme*
    - func_alloc
    - func_dealloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5717
      start: 5602
    functionDepth: 0
    functionLinenumber: 5602
    functionLinenumberEnd: 5717
    functionName: scheme_init_custom_alloc
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 4
    functionsReached:
    - scheme*::malloc
    - history_init
    - mk_symbol
    - typeflag
    - car
    - new_frame_in_env
    - oblist_initial_value
    - cdr
    - new_slot_in_env
    - memset
    - dump_stack_initialize
    - assign_proc
    - alloc_cellseg
    - assign_syntax
    linkageType: ''
    returnType: int
    signature: int scheme_init_custom_alloc(scheme *sc, func_alloc malloc, func_dealloc
      free)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: port_from_file
      Src: /src/libgpg-error/gpgscm/scheme.c:5720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - fin
    argTypes:
    - scheme*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5721
      start: 5719
    functionDepth: 0
    functionLinenumber: 5719
    functionLinenumberEnd: 5721
    functionName: scheme_set_input_port_file
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - port_from_file
    linkageType: ''
    returnType: void
    signature: void scheme_set_input_port_file(scheme *sc, FILE *fin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: port_from_string
      Src: /src/libgpg-error/gpgscm/scheme.c:5724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sc
    - start
    - past_the_end
    argTypes:
    - scheme*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5725
      start: 5723
    functionDepth: 0
    functionLinenumber: 5723
    functionLinenumberEnd: 5725
    functionName: scheme_set_input_port_string
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - port_from_string
    linkageType: ''
    returnType: void
    signature: void scheme_set_input_port_string(scheme *sc, char *start, char *past_the_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: port_from_file
      Src: /src/libgpg-error/gpgscm/scheme.c:5728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - fout
    argTypes:
    - scheme*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5729
      start: 5727
    functionDepth: 0
    functionLinenumber: 5727
    functionLinenumberEnd: 5729
    functionName: scheme_set_output_port_file
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - port_from_file
    linkageType: ''
    returnType: void
    signature: void scheme_set_output_port_file(scheme *sc, FILE *fout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: port_from_string
      Src: /src/libgpg-error/gpgscm/scheme.c:5732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sc
    - start
    - past_the_end
    argTypes:
    - scheme*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5733
      start: 5731
    functionDepth: 0
    functionLinenumber: 5731
    functionLinenumberEnd: 5733
    functionName: scheme_set_output_port_string
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - port_from_string
    linkageType: ''
    returnType: void
    signature: void scheme_set_output_port_string(scheme *sc, char *start, char *past_the_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - p
    argTypes:
    - scheme*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5737
      start: 5735
    functionDepth: 0
    functionLinenumber: 5735
    functionLinenumberEnd: 5737
    functionName: scheme_set_external_data
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scheme_set_external_data(scheme *sc, void *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dump_stack_free
      Src: /src/libgpg-error/gpgscm/scheme.c:5745,1
    - Dst: history_free
      Src: /src/libgpg-error/gpgscm/scheme.c:5748,1
    - Dst: is_port
      Src: /src/libgpg-error/gpgscm/scheme.c:5751,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:5752,1
    - Dst: is_port
      Src: /src/libgpg-error/gpgscm/scheme.c:5756,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:5757,1
    - Dst: is_port
      Src: /src/libgpg-error/gpgscm/scheme.c:5760,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:5761,1
    - Dst: port_clear_location
      Src: /src/libgpg-error/gpgscm/scheme.c:5766,1
    - Dst: gc
      Src: /src/libgpg-error/gpgscm/scheme.c:5770,1
    - Dst: _dealloc_cellseg
      Src: /src/libgpg-error/gpgscm/scheme.c:5772,1
    - Dst: scheme*::free
      Src: /src/libgpg-error/gpgscm/scheme.c:5775,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5776
      start: 5739
    functionDepth: 0
    functionLinenumber: 5739
    functionLinenumberEnd: 5776
    functionName: scheme_deinit
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - _dealloc_cellseg
    - port_clear_location
    - typeflag
    - scheme*::free
    - history_free
    - gc
    - is_port
    - dump_stack_free
    linkageType: ''
    returnType: void
    signature: void scheme_deinit(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scheme_load_named_file
      Src: /src/libgpg-error/gpgscm/scheme.c:5779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - fin
    argTypes:
    - scheme*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5779
      start: 5778
    functionDepth: 0
    functionLinenumber: 5778
    functionLinenumberEnd: 5779
    functionName: scheme_load_file
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - scheme_load_named_file
    linkageType: ''
    returnType: void
    signature: void scheme_load_file(scheme *sc, FILE *fin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dump_stack_reset
      Src: /src/libgpg-error/gpgscm/scheme.c:5782,1
    - Dst: mk_port
      Src: /src/libgpg-error/gpgscm/scheme.c:5787,1
    - Dst: port_init_location
      Src: /src/libgpg-error/gpgscm/scheme.c:5793,1
    - Dst: mk_string
      Src: /src/libgpg-error/gpgscm/scheme.c:5795,1
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:5799,1
    - Dst: Eval_Cycle
      Src: /src/libgpg-error/gpgscm/scheme.c:5800,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:5801,1
    - Dst: port_clear_location
      Src: /src/libgpg-error/gpgscm/scheme.c:5806,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - sc
    - fin
    - filename
    argTypes:
    - scheme*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5807
      start: 5781
    functionDepth: 0
    functionLinenumber: 5781
    functionLinenumberEnd: 5807
    functionName: scheme_load_named_file
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 5
    functionsReached:
    - port_clear_location
    - port_init_location
    - typeflag
    - mk_port
    - mk_integer
    - dump_stack_reset
    - Eval_Cycle
    - mk_string
    linkageType: ''
    returnType: void
    signature: void scheme_load_named_file(scheme *sc, FILE *fin, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scheme_load_memory
      Src: /src/libgpg-error/gpgscm/scheme.c:5810,1
    - Dst: strlen
      Src: /src/libgpg-error/gpgscm/scheme.c:5810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - cmd
    argTypes:
    - scheme*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5811
      start: 5809
    functionDepth: 0
    functionLinenumber: 5809
    functionLinenumberEnd: 5811
    functionName: scheme_load_string
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 3
    functionsReached:
    - scheme_load_memory
    - strlen
    linkageType: ''
    returnType: void
    signature: void scheme_load_string(scheme *sc, const char *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dump_stack_reset
      Src: /src/libgpg-error/gpgscm/scheme.c:5814,1
    - Dst: port_init_location
      Src: /src/libgpg-error/gpgscm/scheme.c:5821,1
    - Dst: mk_string
      Src: /src/libgpg-error/gpgscm/scheme.c:5821,1
    - Dst: mk_port
      Src: /src/libgpg-error/gpgscm/scheme.c:5822,1
    - Dst: mk_integer
      Src: /src/libgpg-error/gpgscm/scheme.c:5826,1
    - Dst: Eval_Cycle
      Src: /src/libgpg-error/gpgscm/scheme.c:5827,1
    - Dst: typeflag
      Src: /src/libgpg-error/gpgscm/scheme.c:5828,1
    - Dst: port_clear_location
      Src: /src/libgpg-error/gpgscm/scheme.c:5833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 4
    argNames:
    - sc
    - buf
    - len
    - filename
    argTypes:
    - scheme*
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5834
      start: 5813
    functionDepth: 0
    functionLinenumber: 5813
    functionLinenumberEnd: 5834
    functionName: scheme_load_memory
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 4
    functionsReached:
    - port_clear_location
    - port_init_location
    - typeflag
    - mk_port
    - mk_integer
    - dump_stack_reset
    - Eval_Cycle
    - mk_string
    linkageType: ''
    returnType: void
    signature: void scheme_load_memory(scheme *sc, const char *buf, size_t len, const
      char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_slot_spec_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:5839,1
    - Dst: set_slot_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:5841,1
    - Dst: new_slot_spec_in_env
      Src: /src/libgpg-error/gpgscm/scheme.c:5843,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - sc
    - envir
    - symbol
    - value
    argTypes:
    - scheme*
    - pointer
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5845
      start: 5836
    functionDepth: 0
    functionLinenumber: 5836
    functionLinenumberEnd: 5845
    functionName: scheme_define
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - new_slot_spec_in_env
    - find_slot_spec_in_env
    - set_slot_in_env
    linkageType: ''
    returnType: void
    signature: void scheme_define(scheme *sc, pointer envir, pointer symbol, pointer
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scheme_define
      Src: /src/libgpg-error/gpgscm/scheme.c:5850,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:5852,1
    - Dst: mk_foreign_func
      Src: /src/libgpg-error/gpgscm/scheme.c:5853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - sr
    argTypes:
    - scheme*
    - scheme_registerable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5854
      start: 5848
    functionDepth: 0
    functionLinenumber: 5848
    functionLinenumberEnd: 5854
    functionName: scheme_register_foreign_func
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 1
    functionsReached:
    - mk_foreign_func
    - mk_symbol
    - scheme_define
    linkageType: ''
    returnType: void
    signature: void scheme_register_foreign_func(scheme * sc, scheme_registerable
      * sr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scheme_register_foreign_func
      Src: /src/libgpg-error/gpgscm/scheme.c:5863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sc
    - list
    - count
    argTypes:
    - scheme*
    - scheme_registerable*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5865
      start: 5856
    functionDepth: 0
    functionLinenumber: 5856
    functionLinenumberEnd: 5865
    functionName: scheme_register_foreign_func_list
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - scheme_register_foreign_func
    linkageType: ''
    returnType: void
    signature: "void scheme_register_foreign_func_list(scheme * sc,\n                                       scheme_registerable
      * list,\n                                       int count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scheme_eval
      Src: /src/libgpg-error/gpgscm/scheme.c:5868,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5868,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:5868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - procname
    argTypes:
    - scheme*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5868
      start: 5867
    functionDepth: 0
    functionLinenumber: 5867
    functionLinenumberEnd: 5868
    functionName: scheme_apply0
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - mk_symbol
    - scheme_eval
    - cons
    linkageType: ''
    returnType: pointer
    signature: pointer scheme_apply0(scheme *sc, const char *procname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5873,1
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5874,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5875,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5879,1
    - Dst: dump_stack_reset
      Src: /src/libgpg-error/gpgscm/scheme.c:5882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5883
      start: 5870
    functionDepth: 0
    functionLinenumber: 5870
    functionLinenumberEnd: 5883
    functionName: save_from_C_call
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - car
    - dump_stack_reset
    - cons
    linkageType: ''
    returnType: void
    signature: void save_from_C_call(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: car
      Src: /src/libgpg-error/gpgscm/scheme.c:5886,1
    - Dst: caar
      Src: /src/libgpg-error/gpgscm/scheme.c:5886,1
    - Dst: cadar
      Src: /src/libgpg-error/gpgscm/scheme.c:5887,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:5888,1
    - Dst: cdar
      Src: /src/libgpg-error/gpgscm/scheme.c:5888,1
    - Dst: cdr
      Src: /src/libgpg-error/gpgscm/scheme.c:5890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sc
    argTypes:
    - scheme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5891
      start: 5884
    functionDepth: 0
    functionLinenumber: 5884
    functionLinenumberEnd: 5891
    functionName: restore_from_C_call
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - caar
    - car
    - cdar
    - cdr
    - cadar
    linkageType: ''
    returnType: void
    signature: void restore_from_C_call(scheme *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: save_from_C_call
      Src: /src/libgpg-error/gpgscm/scheme.c:5898,1
    - Dst: Eval_Cycle
      Src: /src/libgpg-error/gpgscm/scheme.c:5903,1
    - Dst: restore_from_C_call
      Src: /src/libgpg-error/gpgscm/scheme.c:5905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - sc
    - func
    - args
    argTypes:
    - scheme*
    - pointer
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5907
      start: 5894
    functionDepth: 0
    functionLinenumber: 5894
    functionLinenumberEnd: 5907
    functionName: scheme_call
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 0
    functionsReached:
    - restore_from_C_call
    - save_from_C_call
    - Eval_Cycle
    linkageType: ''
    returnType: pointer
    signature: pointer scheme_call(scheme *sc, pointer func, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: save_from_C_call
      Src: /src/libgpg-error/gpgscm/scheme.c:5913,1
    - Dst: Eval_Cycle
      Src: /src/libgpg-error/gpgscm/scheme.c:5917,1
    - Dst: restore_from_C_call
      Src: /src/libgpg-error/gpgscm/scheme.c:5919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - sc
    - obj
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5921
      start: 5909
    functionDepth: 0
    functionLinenumber: 5909
    functionLinenumberEnd: 5921
    functionName: scheme_eval
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 2
    functionsReached:
    - restore_from_C_call
    - save_from_C_call
    - Eval_Cycle
    linkageType: ''
    returnType: pointer
    signature: pointer scheme_eval(scheme *sc, pointer obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ccommand
      Src: /src/libgpg-error/gpgscm/scheme.c:5935,1
    - Dst: MacTS_main
      Src: /src/libgpg-error/gpgscm/scheme.c:5936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5938
      start: 5931
    functionDepth: 0
    functionLinenumber: 5931
    functionLinenumberEnd: 5938
    functionName: main
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 17
    functionsReached:
    - ccommand
    - MacTS_main
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libgpg-error/gpgscm/scheme.c:5950,1
    - Dst: strcmp
      Src: /src/libgpg-error/gpgscm/scheme.c:5952,1
    - Dst: printf
      Src: /src/libgpg-error/gpgscm/scheme.c:5953,1
    - Dst: printf
      Src: /src/libgpg-error/gpgscm/scheme.c:5954,1
    - Dst: printf
      Src: /src/libgpg-error/gpgscm/scheme.c:5955,1
    - Dst: printf
      Src: /src/libgpg-error/gpgscm/scheme.c:5956,1
    - Dst: printf
      Src: /src/libgpg-error/gpgscm/scheme.c:5957,1
    - Dst: printf
      Src: /src/libgpg-error/gpgscm/scheme.c:5958,1
    - Dst: printf
      Src: /src/libgpg-error/gpgscm/scheme.c:5959,1
    - Dst: scheme_init
      Src: /src/libgpg-error/gpgscm/scheme.c:5962,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:5963,1
    - Dst: scheme_set_input_port_file
      Src: /src/libgpg-error/gpgscm/scheme.c:5966,1
    - Dst: scheme_set_output_port_file
      Src: /src/libgpg-error/gpgscm/scheme.c:5967,1
    - Dst: scheme_define
      Src: /src/libgpg-error/gpgscm/scheme.c:5969,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:5969,1
    - Dst: mk_foreign_func
      Src: /src/libgpg-error/gpgscm/scheme.c:5969,1
    - Dst: access
      Src: /src/libgpg-error/gpgscm/scheme.c:5972,1
    - Dst: getenv
      Src: /src/libgpg-error/gpgscm/scheme.c:5973,1
    - Dst: strcmp
      Src: /src/libgpg-error/gpgscm/scheme.c:5979,1
    - Dst: strcmp
      Src: /src/libgpg-error/gpgscm/scheme.c:5981,1
    - Dst: strcmp
      Src: /src/libgpg-error/gpgscm/scheme.c:5981,1
    - Dst: strcmp
      Src: /src/libgpg-error/gpgscm/scheme.c:5985,1
    - Dst: fopen
      Src: /src/libgpg-error/gpgscm/scheme.c:5988,1
    - Dst: mk_string
      Src: /src/libgpg-error/gpgscm/scheme.c:5991,1
    - Dst: cons
      Src: /src/libgpg-error/gpgscm/scheme.c:5992,1
    - Dst: reverse_in_place
      Src: /src/libgpg-error/gpgscm/scheme.c:5994,1
    - Dst: scheme_define
      Src: /src/libgpg-error/gpgscm/scheme.c:5995,1
    - Dst: mk_symbol
      Src: /src/libgpg-error/gpgscm/scheme.c:5995,1
    - Dst: fopen
      Src: /src/libgpg-error/gpgscm/scheme.c:5998,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:6001,1
    - Dst: scheme_load_named_file
      Src: /src/libgpg-error/gpgscm/scheme.c:6004,1
    - Dst: scheme_load_string
      Src: /src/libgpg-error/gpgscm/scheme.c:6006,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/scheme.c:6010,1
    - Dst: fclose
      Src: /src/libgpg-error/gpgscm/scheme.c:6013,1
    - Dst: scheme_load_named_file
      Src: /src/libgpg-error/gpgscm/scheme.c:6020,1
    - Dst: scheme_deinit
      Src: /src/libgpg-error/gpgscm/scheme.c:6023,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6026
      start: 5941
    functionDepth: 0
    functionLinenumber: 5941
    functionLinenumberEnd: 6026
    functionName: main
    functionSourceFile: /src/libgpg-error/gpgscm/scheme.c
    functionUses: 17
    functionsReached:
    - scheme_set_input_port_file
    - access
    - cons
    - printf
    - mk_foreign_func
    - scheme_set_output_port_file
    - scheme_load_named_file
    - scheme_load_string
    - scheme_deinit
    - strcmp
    - fprintf
    - fopen
    - mk_string
    - scheme_init
    - mk_symbol
    - fclose
    - getenv
    - scheme_define
    - reverse_in_place
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: FFI_PROLOG
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFI_PROLOG()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: CONVERSION_number
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERSION_number(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: CONVERSION_string
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERSION_string(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: CONVERSION_character
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERSION_character(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: CONVERSION_list
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERSION_list(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: CONVERSION_bool
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERSION_bool(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: CONVERSION_path
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERSION_path(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: IS_A_number
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_A_number(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: IS_A_string
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_A_string(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: IS_A_character
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_A_character(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: IS_A_list
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_A_list(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: IS_A_bool
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_A_bool(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: IS_A_path
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_A_path(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - SC
    - ','
    - CTYPE
    - ','
    - TARGET
    - ','
    - WANT
    - ','
    - ARGS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: FFI_ARG_OR_RETURN
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFI_ARG_OR_RETURN(SC, CTYPE, TARGET, WANT, ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - ARGS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: FFI_ARGS_DONE_OR_RETURN
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFI_ARGS_DONE_OR_RETURN(SC, ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - ERR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: FFI_RETURN_ERR
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFI_RETURN_ERR(SC, ERR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - SC
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: FFI_RETURN
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFI_RETURN(SC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: FFI_RETURN_POINTER
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFI_RETURN_POINTER(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: FFI_RETURN_INT
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFI_RETURN_INT(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: FFI_RETURN_STRING
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFI_RETURN_STRING(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - SC
    - ','
    - NAME
    - ','
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: ffi_define_function_name
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ffi_define_function_name(SC, NAME, F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: ffi_define_function
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ffi_define_function(SC, F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: ffi_define_constant
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ffi_define_constant(SC, C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - SC
    - ','
    - SYM
    - ','
    - EXP
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: ffi_define
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ffi_define(SC, SYM, EXP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - SC
    - ','
    - C
    - ','
    - P
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: ffi_define_variable_pointer
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ffi_define_variable_pointer(SC, C, P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: ffi_define_variable_integer
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ffi_define_variable_integer(SC, C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: ffi_define_variable_string
    functionSourceFile: /src/libgpg-error/gpgscm/ffi-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ffi_define_variable_string(SC, C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: _
    functionSourceFile: /src/libgpg-error/gpgscm/private.h
    functionUses: 857
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: N_
    functionSourceFile: /src/libgpg-error/gpgscm/private.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: N_
    functionSourceFile: /src/libgpg-error/gpgscm/private.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: _
    functionSourceFile: /src/libgpg-error/gpgscm/private.h
    functionUses: 857
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: N_
    functionSourceFile: /src/libgpg-error/gpgscm/private.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: xfree
    functionSourceFile: /src/libgpg-error/gpgscm/private.h
    functionUses: 1974
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xfree(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: xtrymalloc
    functionSourceFile: /src/libgpg-error/gpgscm/private.h
    functionUses: 456
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrymalloc(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: xtrycalloc
    functionSourceFile: /src/libgpg-error/gpgscm/private.h
    functionUses: 240
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtrycalloc(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: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: xtryrealloc
    functionSourceFile: /src/libgpg-error/gpgscm/private.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xtryrealloc(a,b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_malloc
      Src: /src/libgpg-error/gpgscm/private.h:55,1
    - Dst: log_fatal
      Src: /src/libgpg-error/gpgscm/private.h:57,1
    - Dst: strerror
      Src: /src/libgpg-error/gpgscm/private.h:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: xmalloc
    functionSourceFile: /src/libgpg-error/gpgscm/private.h
    functionUses: 328
    functionsReached:
    - gpgrt_malloc
    - log_fatal
    - strerror
    linkageType: ''
    returnType: GPGRT_INLINE
    signature: 'GPGRT_INLINE *

      xmalloc (size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gpgrt_malloc
      Src: /src/libgpg-error/gpgscm/private.h:64,1
    - Dst: strlen
      Src: /src/libgpg-error/gpgscm/private.h:64,1
    - Dst: strcpy
      Src: /src/libgpg-error/gpgscm/private.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: xstrdup
    functionSourceFile: /src/libgpg-error/gpgscm/private.h
    functionUses: 216
    functionsReached:
    - gpgrt_malloc
    - strcpy
    - strlen
    linkageType: ''
    returnType: GPGRT_INLINE
    signature: 'GPGRT_INLINE *

      xstrdup (const char *s)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/ffi.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts:
    - condition: (! "reached")
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/libgpg-error/gpgscm/ffi.c
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: ordinal_suffix
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: 'char *

      ordinal_suffix (int n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - p
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ffi_bool_value
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ffi_bool_value (scheme *sc, pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:76,1
    - Dst: FFI_RETURN_INT
      Src: /src/libgpg-error/gpgscm/ffi.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: do_logand
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_RETURN_INT
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_logand (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:89,1
    - Dst: FFI_RETURN_INT
      Src: /src/libgpg-error/gpgscm/ffi.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: do_logior
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_RETURN_INT
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_logior (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:102,1
    - Dst: FFI_RETURN_INT
      Src: /src/libgpg-error/gpgscm/ffi.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: do_logxor
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_RETURN_INT
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_logxor (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:115,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:118,1
    - Dst: FFI_RETURN_INT
      Src: /src/libgpg-error/gpgscm/ffi.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: do_lognot
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_INT
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_lognot (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:127,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:128,1
    - Dst: fflush
      Src: /src/libgpg-error/gpgscm/ffi.c:129,1
    - Dst: fflush
      Src: /src/libgpg-error/gpgscm/ffi.c:130,1
    - Dst: FFI_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: do_flush_stdio
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - fflush
    - FFI_RETURN
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_flush_stdio (scheme *sc, pointer args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xfree
      Src: /src/libgpg-error/gpgscm/ffi.c:143,1
    - Dst: readline
      Src: /src/libgpg-error/gpgscm/ffi.c:147,1
    - Dst: add_history
      Src: /src/libgpg-error/gpgscm/ffi.c:149,1
    - Dst: printf
      Src: /src/libgpg-error/gpgscm/ffi.c:154,1
    - Dst: fflush
      Src: /src/libgpg-error/gpgscm/ffi.c:155,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/gpgscm/ffi.c:156,1
    - Dst: fgets
      Src: /src/libgpg-error/gpgscm/ffi.c:158,1
    - Dst: strlen
      Src: /src/libgpg-error/gpgscm/ffi.c:163,1
    - Dst: strlen
      Src: /src/libgpg-error/gpgscm/ffi.c:164,1
    - Dst: isspace
      Src: /src/libgpg-error/gpgscm/ffi.c:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - prompt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 168
    functionName: rl_gets
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 1
    functionsReached:
    - printf
    - strlen
    - fflush
    - xfree
    - readline
    - add_history
    - isspace
    - fgets
    - xtrymalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      rl_gets (const char *prompt)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:173,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:177,1
    - Dst: rl_gets
      Src: /src/libgpg-error/gpgscm/ffi.c:178,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/libgpg-error/gpgscm/ffi.c:180,1
    - Dst: FFI_RETURN_STRING
      Src: /src/libgpg-error/gpgscm/ffi.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 183
    functionName: do_prompt
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_RETURN_STRING
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - rl_gets
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_prompt (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:188,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:191,1
    - Dst: sleep
      Src: /src/libgpg-error/gpgscm/ffi.c:192,1
    - Dst: FFI_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: do_sleep
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - sleep
    - FFI_RETURN
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_sleep (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:199,1
    - Dst: FFI_ARG_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:201,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:202,1
    - Dst: usleep
      Src: /src/libgpg-error/gpgscm/ffi.c:203,1
    - Dst: FFI_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: do_usleep
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - usleep
    - FFI_RETURN
    - FFI_ARG_OR_RETURN
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_usleep (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:210,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:213,1
    - Dst: chdir
      Src: /src/libgpg-error/gpgscm/ffi.c:214,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:215,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:215,1
    - Dst: FFI_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: do_chdir
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN
    - FFI_RETURN_ERR
    - chdir
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_chdir (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:222,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:225,1
    - Dst: FFI_RETURN_STRING
      Src: /src/libgpg-error/gpgscm/ffi.c:226,1
    - Dst: gpg_strerror
      Src: /src/libgpg-error/gpgscm/ffi.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: do_strerror
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - gpg_strerror
    - FFI_RETURN_STRING
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_strerror (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:232,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:236,1
    - Dst: gpgrt_getenv
      Src: /src/libgpg-error/gpgscm/ffi.c:237,1
    - Dst: FFI_RETURN_STRING
      Src: /src/libgpg-error/gpgscm/ffi.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: do_getenv
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - gpgrt_getenv
    - FFI_RETURN_STRING
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_getenv (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:244,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:252,1
    - Dst: gpgrt_setenv
      Src: /src/libgpg-error/gpgscm/ffi.c:253,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:254,1
    - Dst: FFI_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: do_setenv
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpgrt_setenv
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN
    - FFI_RETURN_ERR
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_setenv (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:261,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:264,1
    - Dst: exit
      Src: /src/libgpg-error/gpgscm/ffi.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 266
    functionName: do_exit
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - exit
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_exit (scheme *sc, pointer args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:272,1
    - Dst: FFI_ARG_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:280,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:281,1
    - Dst: open
      Src: /src/libgpg-error/gpgscm/ffi.c:283,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:285,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:285,1
    - Dst: FFI_RETURN_INT
      Src: /src/libgpg-error/gpgscm/ffi.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: do_open
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 4
    functionsReached:
    - open
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_ERR
    - FFI_ARG_OR_RETURN
    - FFI_RETURN_INT
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_open (scheme *sc, pointer args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:292,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:299,1
    - Dst: fdopen
      Src: /src/libgpg-error/gpgscm/ffi.c:301,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:303,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:303,1
    - Dst: setvbuf
      Src: /src/libgpg-error/gpgscm/ffi.c:305,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:306,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:306,1
    - Dst: strchr
      Src: /src/libgpg-error/gpgscm/ffi.c:309,1
    - Dst: strchr
      Src: /src/libgpg-error/gpgscm/ffi.c:311,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/libgpg-error/gpgscm/ffi.c:314,1
    - Dst: scheme*::vptr::mk_port_from_file
      Src: /src/libgpg-error/gpgscm/ffi.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 315
    functionName: do_fdopen
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 4
    functionsReached:
    - fdopen
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - scheme*::vptr::mk_port_from_file
    - FFI_RETURN_ERR
    - strchr
    - setvbuf
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_fdopen (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:320,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:323,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:324,1
    - Dst: close
      Src: /src/libgpg-error/gpgscm/ffi.c:324,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: do_close
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 6
    functionsReached:
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - close
    - FFI_RETURN_ERR
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_close (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:330,1
    - Dst: FFI_ARG_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:335,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:337,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:338,1
    - Dst: lseek
      Src: /src/libgpg-error/gpgscm/ffi.c:338,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 340
    functionName: do_seek
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - lseek
    - FFI_RETURN_ERR
    - FFI_ARG_OR_RETURN
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_seek (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:345,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:349,1
    - Dst: GetTempPath
      Src: /src/libgpg-error/gpgscm/ffi.c:352,1
    - Dst: FFI_RETURN_STRING
      Src: /src/libgpg-error/gpgscm/ffi.c:353,1
    - Dst: strlen
      Src: /src/libgpg-error/gpgscm/ffi.c:356,1
    - Dst: FFI_RETURN_STRING
      Src: /src/libgpg-error/gpgscm/ffi.c:359,1
    - Dst: FFI_RETURN_STRING
      Src: /src/libgpg-error/gpgscm/ffi.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 363
    functionName: do_get_temp_path
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_RETURN_STRING
    - strlen
    - FFI_ARGS_DONE_OR_RETURN
    - GetTempPath
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_get_temp_path (scheme *sc, pointer args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:368,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:377,1
    - Dst: strlen
      Src: /src/libgpg-error/gpgscm/ffi.c:379,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:380,1
    - Dst: strncpy
      Src: /src/libgpg-error/gpgscm/ffi.c:381,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:385,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:385,1
    - Dst: FFI_RETURN_STRING
      Src: /src/libgpg-error/gpgscm/ffi.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 387
    functionName: do_mkdtemp
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_RETURN_STRING
    - strncpy
    - strlen
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_ERR
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_mkdtemp (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:392,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:395,1
    - Dst: unlink
      Src: /src/libgpg-error/gpgscm/ffi.c:396,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:397,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:397,1
    - Dst: FFI_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 399
    functionName: do_unlink
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - unlink
    - FFI_RETURN
    - FFI_RETURN_ERR
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_unlink (scheme *sc, pointer args)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/libgpg-error/gpgscm/ffi.c:407,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:408,1
    - Dst: S_ISDIR
      Src: /src/libgpg-error/gpgscm/ffi.c:410,1
    - Dst: opendir
      Src: /src/libgpg-error/gpgscm/ffi.c:415,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:417,1
    - Dst: readdir
      Src: /src/libgpg-error/gpgscm/ffi.c:419,1
    - Dst: strcmp
      Src: /src/libgpg-error/gpgscm/ffi.c:423,1
    - Dst: strcmp
      Src: /src/libgpg-error/gpgscm/ffi.c:424,1
    - Dst: gpgrt_bsprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:427,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:430,1
    - Dst: unlink_recursively
      Src: /src/libgpg-error/gpgscm/ffi.c:434,1
    - Dst: xfree
      Src: /src/libgpg-error/gpgscm/ffi.c:435,1
    - Dst: gpg_error_from_errno
      Src: /src/libgpg-error/gpgscm/ffi.c:436,1
    - Dst: closedir
      Src: /src/libgpg-error/gpgscm/ffi.c:443,1
    - Dst: rmdir
      Src: /src/libgpg-error/gpgscm/ffi.c:445,1
    - Dst: unlink
      Src: /src/libgpg-error/gpgscm/ffi.c:449,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:450,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 401
    functionDepth: 6
    functionLinenumber: 401
    functionLinenumberEnd: 452
    functionName: unlink_recursively
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 3
    functionsReached:
    - readdir
    - gpgrt_bsprintf
    - gpg_error_from_syserror
    - closedir
    - unlink
    - strcmp
    - gpg_error_from_errno
    - S_ISDIR
    - xfree
    - stat
    - unlink_recursively
    - rmdir
    - opendir
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t unlink_recursively (const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:457,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:460,1
    - Dst: unlink_recursively
      Src: /src/libgpg-error/gpgscm/ffi.c:461,1
    - Dst: FFI_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 463
    functionName: do_unlink_recursively
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN
    - unlink_recursively
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_unlink_recursively (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:468,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:473,1
    - Dst: rename
      Src: /src/libgpg-error/gpgscm/ffi.c:474,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:475,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:475,1
    - Dst: FFI_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 477
    functionName: do_rename
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN
    - FFI_RETURN_ERR
    - rename
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_rename (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:482,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:485,1
    - Dst: gpgrt_getcwd
      Src: /src/libgpg-error/gpgscm/ffi.c:486,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:488,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:488,1
    - Dst: scheme*::vptr::mk_string
      Src: /src/libgpg-error/gpgscm/ffi.c:489,1
    - Dst: xfree
      Src: /src/libgpg-error/gpgscm/ffi.c:490,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/libgpg-error/gpgscm/ffi.c:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 492
    functionName: do_getcwd
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpgrt_getcwd
    - gpg_error_from_syserror
    - scheme*::vptr::mk_string
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - FFI_RETURN_ERR
    - xfree
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_getcwd (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:497,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:503,1
    - Dst: gpgrt_mkdir
      Src: /src/libgpg-error/gpgscm/ffi.c:504,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:506,1
    - Dst: FFI_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 508
    functionName: do_mkdir
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN
    - FFI_RETURN_ERR
    - gpgrt_mkdir
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_mkdir (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:513,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:516,1
    - Dst: rmdir
      Src: /src/libgpg-error/gpgscm/ffi.c:517,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:518,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:518,1
    - Dst: FFI_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 520
    functionName: do_rmdir
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN
    - FFI_RETURN_ERR
    - rmdir
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_rmdir (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:525,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:528,1
    - Dst: FFI_RETURN_STRING
      Src: /src/libgpg-error/gpgscm/ffi.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 531
    functionName: do_get_isotime
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_STRING
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_get_isotime (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:536,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:538,1
    - Dst: time
      Src: /src/libgpg-error/gpgscm/ffi.c:539,1
    - Dst: gpgrt_log_fatal
      Src: /src/libgpg-error/gpgscm/ffi.c:541,1
    - Dst: FFI_RETURN_INT
      Src: /src/libgpg-error/gpgscm/ffi.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 543
    functionName: do_get_time
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_INT
    - gpgrt_log_fatal
    - time
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_get_time (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:548,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:549,1
    - Dst: FFI_RETURN_INT
      Src: /src/libgpg-error/gpgscm/ffi.c:550,1
    - Dst: getpid
      Src: /src/libgpg-error/gpgscm/ffi.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 551
    functionName: do_getpid
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - getpid
    - FFI_RETURN_INT
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_getpid (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:556,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:559,1
    - Dst: srand
      Src: /src/libgpg-error/gpgscm/ffi.c:560,1
    - Dst: FFI_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 562
    functionName: do_srandom
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - srand
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_srandom (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/libgpg-error/gpgscm/ffi.c:569,1
    - Dst: random
      Src: /src/libgpg-error/gpgscm/ffi.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - scale
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 579
    functionName: random_scaled
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 2
    functionsReached:
    - rand
    - random
    linkageType: ''
    returnType: int
    signature: int random_scaled (int scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:584,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:587,1
    - Dst: FFI_RETURN_INT
      Src: /src/libgpg-error/gpgscm/ffi.c:588,1
    - Dst: random_scaled
      Src: /src/libgpg-error/gpgscm/ffi.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 589
    functionName: do_random
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_INT
    - random_scaled
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_random (scheme *sc, pointer args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:594,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:599,1
    - Dst: ffi_sprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:601,1
    - Dst: scheme*::vptr::mk_counted_string
      Src: /src/libgpg-error/gpgscm/ffi.c:603,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:605,1
    - Dst: scheme*::vptr::string_value
      Src: /src/libgpg-error/gpgscm/ffi.c:607,1
    - Dst: random_scaled
      Src: /src/libgpg-error/gpgscm/ffi.c:608,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/libgpg-error/gpgscm/ffi.c:609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 610
    functionName: do_make_random_string
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - scheme*::vptr::string_value
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - FFI_RETURN_ERR
    - scheme*::vptr::mk_counted_string
    - ffi_sprintf
    - random_scaled
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_make_random_string (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_fclose
      Src: /src/libgpg-error/gpgscm/ffi.c:629,1
    - Dst: xfree
      Src: /src/libgpg-error/gpgscm/ffi.c:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - data
    argTypes:
    - scheme*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 631
    functionName: es_object_finalize
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - es_fclose
    - xfree
    linkageType: ''
    returnType: void
    signature: void es_object_finalize (scheme *sc, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - sc
    - out
    - size
    - data
    argTypes:
    - scheme*
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 640
    functionName: es_object_to_string
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void es_object_to_string (scheme *sc, char *out, size_t size, void
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/libgpg-error/gpgscm/ffi.c:651,1
    - Dst: scheme*::vptr::mk_foreign_object
      Src: /src/libgpg-error/gpgscm/ffi.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - stream
    argTypes:
    - scheme*
    - estream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 658
    functionName: es_wrap
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - scheme*::vptr::mk_foreign_object
    linkageType: ''
    returnType: pointer
    signature: pointer es_wrap (scheme *sc, estream_t stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_foreign_object
      Src: /src/libgpg-error/gpgscm/ffi.c:665,1
    - Dst: scheme*::vptr::get_foreign_object_vtable
      Src: /src/libgpg-error/gpgscm/ffi.c:668,1
    - Dst: scheme*::vptr::get_foreign_object_data
      Src: /src/libgpg-error/gpgscm/ffi.c:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - object
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 672
    functionName: es_unwrap
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - scheme*::vptr::get_foreign_object_data
    - scheme*::vptr::get_foreign_object_vtable
    - is_foreign_object
    linkageType: ''
    returnType: struct es_object_box
    signature: 'struct es_object_box *

      es_unwrap (scheme *sc, pointer object)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 675
    functionName: CONVERSION_estream
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERSION_estream(SC, X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SC
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 676
    functionName: IS_A_estream
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_A_estream(SC, X)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:680,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:683,1
    - Dst: es_fclose
      Src: /src/libgpg-error/gpgscm/ffi.c:684,1
    - Dst: FFI_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 688
    functionName: do_es_fclose
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN
    - es_fclose
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_es_fclose (scheme *sc, pointer args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:693,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:703,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/gpgscm/ffi.c:705,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:707,1
    - Dst: es_read
      Src: /src/libgpg-error/gpgscm/ffi.c:709,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:711,1
    - Dst: scheme*::vptr::mk_counted_string
      Src: /src/libgpg-error/gpgscm/ffi.c:713,1
    - Dst: xfree
      Src: /src/libgpg-error/gpgscm/ffi.c:714,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/libgpg-error/gpgscm/ffi.c:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 716
    functionName: do_es_read
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - FFI_RETURN_ERR
    - es_read
    - xfree
    - scheme*::vptr::mk_counted_string
    - xtrymalloc
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_es_read (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:721,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:724,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/libgpg-error/gpgscm/ffi.c:726,1
    - Dst: es_feof
      Src: /src/libgpg-error/gpgscm/ffi.c:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 727
    functionName: do_es_feof
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - es_feof
    - FFI_RETURN_POINTER
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_es_feof (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:732,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:741,1
    - Dst: strlen
      Src: /src/libgpg-error/gpgscm/ffi.c:743,1
    - Dst: es_write
      Src: /src/libgpg-error/gpgscm/ffi.c:746,1
    - Dst: FFI_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 754
    functionName: do_es_write
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - strlen
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN
    - es_write
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_es_write (scheme *sc, pointer args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:763,1
    - Dst: FFI_ARG_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:774,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:776,1
    - Dst: ffi_list2argv
      Src: /src/libgpg-error/gpgscm/ffi.c:778,1
    - Dst: gpg_error
      Src: /src/libgpg-error/gpgscm/ffi.c:779,1
    - Dst: ffi_sprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:780,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:784,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:789,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:791,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:792,1
    - Dst: gpgrt_spawn_process
      Src: /src/libgpg-error/gpgscm/ffi.c:795,1
    - Dst: xfree
      Src: /src/libgpg-error/gpgscm/ffi.c:800,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/libgpg-error/gpgscm/ffi.c:805,1
    - Dst: IMS
      Src: /src/libgpg-error/gpgscm/ffi.c:805,1
    - Dst: IMS
      Src: /src/libgpg-error/gpgscm/ffi.c:806,1
    - Dst: IMS
      Src: /src/libgpg-error/gpgscm/ffi.c:807,1
    - Dst: IMC
      Src: /src/libgpg-error/gpgscm/ffi.c:808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 811
    functionName: do_spawn_process
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_PROLOG
    - FFI_RETURN_POINTER
    - gpgrt_spawn_process
    - fprintf
    - FFI_ARG_OR_RETURN
    - gpg_error
    - FFI_RETURN_ERR
    - xfree
    - ffi_sprintf
    - IMC
    - IMS
    - ffi_list2argv
    linkageType: ''
    returnType: pointer
    signature: pointer do_spawn_process (scheme *sc, pointer args)
  - 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: 803
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 803
    functionName: IMC
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMC(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: 805
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 805
    functionName: IMS
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMS(A, B)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:816,1
    - Dst: FFI_ARG_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:824,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:828,1
    - Dst: ffi_list2argv
      Src: /src/libgpg-error/gpgscm/ffi.c:830,1
    - Dst: gpg_error
      Src: /src/libgpg-error/gpgscm/ffi.c:831,1
    - Dst: ffi_sprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:832,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:836,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:841,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:843,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:844,1
    - Dst: gpgrt_spawn_process_fd
      Src: /src/libgpg-error/gpgscm/ffi.c:847,1
    - Dst: xfree
      Src: /src/libgpg-error/gpgscm/ffi.c:849,1
    - Dst: FFI_RETURN_INT
      Src: /src/libgpg-error/gpgscm/ffi.c:850,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 851
    functionName: do_spawn_process_fd
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpgrt_spawn_process_fd
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_PROLOG
    - fprintf
    - FFI_ARG_OR_RETURN
    - gpg_error
    - FFI_RETURN_ERR
    - xfree
    - FFI_RETURN_INT
    - ffi_sprintf
    - ffi_list2argv
    linkageType: ''
    returnType: pointer
    signature: pointer do_spawn_process_fd (scheme *sc, pointer args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:856,1
    - Dst: FFI_ARG_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:864,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:866,1
    - Dst: gpgrt_wait_process
      Src: /src/libgpg-error/gpgscm/ffi.c:867,1
    - Dst: FFI_RETURN_INT
      Src: /src/libgpg-error/gpgscm/ffi.c:871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 872
    functionName: do_wait_process
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - gpgrt_wait_process
    - FFI_ARG_OR_RETURN
    - FFI_RETURN_INT
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_wait_process (scheme *sc, pointer args)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:878,1
    - Dst: FFI_ARG_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:888,1
    - Dst: FFI_ARG_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:889,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:891,1
    - Dst: scheme*::vptr::list_length
      Src: /src/libgpg-error/gpgscm/ffi.c:893,1
    - Dst: scheme*::vptr::list_length
      Src: /src/libgpg-error/gpgscm/ffi.c:894,1
    - Dst: scheme*::vptr::mk_string
      Src: /src/libgpg-error/gpgscm/ffi.c:896,1
    - Dst: ffi_list2argv
      Src: /src/libgpg-error/gpgscm/ffi.c:898,1
    - Dst: gpg_error
      Src: /src/libgpg-error/gpgscm/ffi.c:899,1
    - Dst: ffi_sprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:900,1
    - Dst: ordinal_suffix
      Src: /src/libgpg-error/gpgscm/ffi.c:903,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:905,1
    - Dst: ffi_list2intv
      Src: /src/libgpg-error/gpgscm/ffi.c:907,1
    - Dst: gpg_error
      Src: /src/libgpg-error/gpgscm/ffi.c:908,1
    - Dst: ffi_sprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:909,1
    - Dst: ordinal_suffix
      Src: /src/libgpg-error/gpgscm/ffi.c:912,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:914,1
    - Dst: xtrycalloc
      Src: /src/libgpg-error/gpgscm/ffi.c:916,1
    - Dst: xfree
      Src: /src/libgpg-error/gpgscm/ffi.c:919,1
    - Dst: xfree
      Src: /src/libgpg-error/gpgscm/ffi.c:920,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:921,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:921,1
    - Dst: gpgrt_wait_processes
      Src: /src/libgpg-error/gpgscm/ffi.c:924,1
    - Dst: scheme*::vptr::mk_integer
      Src: /src/libgpg-error/gpgscm/ffi.c:934,1
    - Dst: xfree
      Src: /src/libgpg-error/gpgscm/ffi.c:938,1
    - Dst: xfree
      Src: /src/libgpg-error/gpgscm/ffi.c:939,1
    - Dst: xfree
      Src: /src/libgpg-error/gpgscm/ffi.c:940,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/libgpg-error/gpgscm/ffi.c:941,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 942
    functionName: do_wait_processes
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpgrt_wait_processes
    - ordinal_suffix
    - scheme*::vptr::mk_string
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - scheme*::vptr::mk_integer
    - FFI_RETURN_POINTER
    - xtrycalloc
    - FFI_ARG_OR_RETURN
    - gpg_error
    - FFI_RETURN_ERR
    - xfree
    - ffi_list2argv
    - ffi_list2intv
    - scheme*::vptr::list_length
    - ffi_sprintf
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_wait_processes (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:948,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:950,1
    - Dst: gpgrt_create_pipe
      Src: /src/libgpg-error/gpgscm/ffi.c:951,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/libgpg-error/gpgscm/ffi.c:954,1
    - Dst: IMC
      Src: /src/libgpg-error/gpgscm/ffi.c:954,1
    - Dst: IMC
      Src: /src/libgpg-error/gpgscm/ffi.c:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 957
    functionName: do_pipe
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpgrt_create_pipe
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - IMC
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_pipe (scheme *sc, pointer args)
  - 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: 954
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 954
    functionName: IMC
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMC(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:962,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:964,1
    - Dst: gpgrt_create_inbound_pipe
      Src: /src/libgpg-error/gpgscm/ffi.c:965,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/libgpg-error/gpgscm/ffi.c:968,1
    - Dst: IMC
      Src: /src/libgpg-error/gpgscm/ffi.c:968,1
    - Dst: IMC
      Src: /src/libgpg-error/gpgscm/ffi.c:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 971
    functionName: do_inbound_pipe
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - gpgrt_create_inbound_pipe
    - IMC
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_inbound_pipe (scheme *sc, pointer args)
  - 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: 968
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 968
    functionName: IMC
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMC(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:976,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:978,1
    - Dst: gpgrt_create_outbound_pipe
      Src: /src/libgpg-error/gpgscm/ffi.c:979,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/libgpg-error/gpgscm/ffi.c:982,1
    - Dst: IMC
      Src: /src/libgpg-error/gpgscm/ffi.c:982,1
    - Dst: IMC
      Src: /src/libgpg-error/gpgscm/ffi.c:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 985
    functionName: do_outbound_pipe
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - gpgrt_create_outbound_pipe
    - FFI_RETURN_POINTER
    - IMC
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_outbound_pipe (scheme *sc, pointer args)
  - 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: 982
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 982
    functionName: IMC
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMC(A, B)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:993,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:1008,1
    - Dst: fopen
      Src: /src/libgpg-error/gpgscm/ffi.c:1011,1
    - Dst: fopen
      Src: /src/libgpg-error/gpgscm/ffi.c:1015,1
    - Dst: fstat
      Src: /src/libgpg-error/gpgscm/ffi.c:1019,1
    - Dst: fileno
      Src: /src/libgpg-error/gpgscm/ffi.c:1019,1
    - Dst: fstat
      Src: /src/libgpg-error/gpgscm/ffi.c:1022,1
    - Dst: fileno
      Src: /src/libgpg-error/gpgscm/ffi.c:1022,1
    - Dst: fprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:1028,1
    - Dst: feof
      Src: /src/libgpg-error/gpgscm/ffi.c:1035,1
    - Dst: fread
      Src: /src/libgpg-error/gpgscm/ffi.c:1039,1
    - Dst: ferror
      Src: /src/libgpg-error/gpgscm/ffi.c:1040,1
    - Dst: fread
      Src: /src/libgpg-error/gpgscm/ffi.c:1043,1
    - Dst: feof
      Src: /src/libgpg-error/gpgscm/ffi.c:1045,1
    - Dst: memcmp
      Src: /src/libgpg-error/gpgscm/ffi.c:1050,1
    - Dst: fread
      Src: /src/libgpg-error/gpgscm/ffi.c:1054,1
    - Dst: feof
      Src: /src/libgpg-error/gpgscm/ffi.c:1055,1
    - Dst: fclose
      Src: /src/libgpg-error/gpgscm/ffi.c:1063,1
    - Dst: fclose
      Src: /src/libgpg-error/gpgscm/ffi.c:1065,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/libgpg-error/gpgscm/ffi.c:1066,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:1068,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 61
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 1070
    functionName: do_file_equal
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - gpg_error_from_syserror
    - FFI_ARGS_DONE_OR_RETURN
    - fclose
    - FFI_RETURN_POINTER
    - fstat
    - fileno
    - fprintf
    - feof
    - memcmp
    - fopen
    - fread
    - ferror
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_file_equal (scheme *sc, pointer args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:1075,1
    - Dst: ffi_sprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:1083,1
    - Dst: pair_cdr
      Src: /src/libgpg-error/gpgscm/ffi.c:1084,1
    - Dst: scheme*::vptr::is_number
      Src: /src/libgpg-error/gpgscm/ffi.c:1085,1
    - Dst: pair_car
      Src: /src/libgpg-error/gpgscm/ffi.c:1085,1
    - Dst: ffi_sprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:1086,1
    - Dst: ordinal_suffix
      Src: /src/libgpg-error/gpgscm/ffi.c:1087,1
    - Dst: read
      Src: /src/libgpg-error/gpgscm/ffi.c:1091,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:1095,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:1095,1
    - Dst: pair_cdr
      Src: /src/libgpg-error/gpgscm/ffi.c:1097,1
    - Dst: scheme*::vptr::ivalue
      Src: /src/libgpg-error/gpgscm/ffi.c:1099,1
    - Dst: pair_car
      Src: /src/libgpg-error/gpgscm/ffi.c:1099,1
    - Dst: write
      Src: /src/libgpg-error/gpgscm/ffi.c:1105,1
    - Dst: FFI_RETURN_ERR
      Src: /src/libgpg-error/gpgscm/ffi.c:1107,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:1107,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/ffi.c:1108,1
    - Dst: FFI_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:1114,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts:
    - condition: (written <= left)
      pos:
        line_end: 1107
        line_start: 1107
        source_file: /src/libgpg-error/gpgscm/ffi.c
    constantsTouched: []
    func_position:
      end: 1115
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1115
    functionName: do_splice
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - ordinal_suffix
    - read
    - gpg_error_from_syserror
    - scheme*::vptr::ivalue
    - assert
    - write
    - FFI_RETURN
    - scheme*::vptr::is_number
    - FFI_RETURN_ERR
    - pair_car
    - pair_cdr
    - ffi_sprintf
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_splice (scheme *sc, pointer args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:1120,1
    - Dst: ffi_sprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:1131,1
    - Dst: strlen
      Src: /src/libgpg-error/gpgscm/ffi.c:1132,1
    - Dst: ffi_sprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:1133,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:1135,1
    - Dst: strchr
      Src: /src/libgpg-error/gpgscm/ffi.c:1137,1
    - Dst: FFI_RETURN_INT
      Src: /src/libgpg-error/gpgscm/ffi.c:1139,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/libgpg-error/gpgscm/ffi.c:1141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1142
    functionName: do_string_index
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - strlen
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - FFI_RETURN_INT
    - strchr
    - ffi_sprintf
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_string_index (scheme *sc, pointer args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:1147,1
    - Dst: ffi_sprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:1158,1
    - Dst: strlen
      Src: /src/libgpg-error/gpgscm/ffi.c:1159,1
    - Dst: ffi_sprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:1160,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:1162,1
    - Dst: strrchr
      Src: /src/libgpg-error/gpgscm/ffi.c:1164,1
    - Dst: FFI_RETURN_INT
      Src: /src/libgpg-error/gpgscm/ffi.c:1166,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/libgpg-error/gpgscm/ffi.c:1168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1169
    functionName: do_string_rindex
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - strlen
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - FFI_RETURN_INT
    - strrchr
    - ffi_sprintf
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_string_rindex (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:1174,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:1179,1
    - Dst: FFI_RETURN_POINTER
      Src: /src/libgpg-error/gpgscm/ffi.c:1180,1
    - Dst: strstr
      Src: /src/libgpg-error/gpgscm/ffi.c:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1181
    functionName: do_string_contains
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_POINTER
    - strstr
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_string_contains (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:1188,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:1189,1
    - Dst: FFI_RETURN_INT
      Src: /src/libgpg-error/gpgscm/ffi.c:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1191
    functionName: do_get_verbose
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_INT
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_get_verbose (scheme *sc, pointer args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FFI_PROLOG
      Src: /src/libgpg-error/gpgscm/ffi.c:1196,1
    - Dst: FFI_ARGS_DONE_OR_RETURN
      Src: /src/libgpg-error/gpgscm/ffi.c:1199,1
    - Dst: FFI_RETURN_INT
      Src: /src/libgpg-error/gpgscm/ffi.c:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - args
    argTypes:
    - scheme*
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1205
    functionName: do_set_verbose
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - FFI_ARGS_DONE_OR_RETURN
    - FFI_RETURN_INT
    - FFI_PROLOG
    linkageType: ''
    returnType: pointer
    signature: pointer do_set_verbose (scheme *sc, pointer args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::vptr::list_length
      Src: /src/libgpg-error/gpgscm/ffi.c:1213,1
    - Dst: xtrycalloc
      Src: /src/libgpg-error/gpgscm/ffi.c:1214,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:1216,1
    - Dst: scheme*::vptr::is_pair
      Src: /src/libgpg-error/gpgscm/ffi.c:1218,1
    - Dst: scheme*::vptr::pair_cdr
      Src: /src/libgpg-error/gpgscm/ffi.c:1218,1
    - Dst: scheme*::vptr::is_string
      Src: /src/libgpg-error/gpgscm/ffi.c:1220,1
    - Dst: scheme*::vptr::pair_car
      Src: /src/libgpg-error/gpgscm/ffi.c:1220,1
    - Dst: scheme*::vptr::string_value
      Src: /src/libgpg-error/gpgscm/ffi.c:1221,1
    - Dst: scheme*::vptr::pair_car
      Src: /src/libgpg-error/gpgscm/ffi.c:1221,1
    - Dst: scheme*::vptr::is_symbol
      Src: /src/libgpg-error/gpgscm/ffi.c:1222,1
    - Dst: scheme*::vptr::pair_car
      Src: /src/libgpg-error/gpgscm/ffi.c:1222,1
    - Dst: scheme*::vptr::symname
      Src: /src/libgpg-error/gpgscm/ffi.c:1223,1
    - Dst: scheme*::vptr::pair_car
      Src: /src/libgpg-error/gpgscm/ffi.c:1223,1
    - Dst: xfree
      Src: /src/libgpg-error/gpgscm/ffi.c:1226,1
    - Dst: gpg_error
      Src: /src/libgpg-error/gpgscm/ffi.c:1229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - sc
    - list
    - argv
    - len
    argTypes:
    - scheme*
    - pointer
    - char***
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1234
    functionName: ffi_list2argv
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 5
    functionsReached:
    - scheme*::vptr::symname
    - scheme*::vptr::is_string
    - gpg_error_from_syserror
    - scheme*::vptr::string_value
    - scheme*::vptr::pair_car
    - scheme*::vptr::pair_cdr
    - gpg_error
    - xfree
    - xtrycalloc
    - scheme*::vptr::list_length
    - scheme*::vptr::is_pair
    - scheme*::vptr::is_symbol
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ffi_list2argv (scheme *sc, pointer list, char ***argv,
      size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scheme*::vptr::list_length
      Src: /src/libgpg-error/gpgscm/ffi.c:1241,1
    - Dst: xtrycalloc
      Src: /src/libgpg-error/gpgscm/ffi.c:1242,1
    - Dst: gpg_error_from_syserror
      Src: /src/libgpg-error/gpgscm/ffi.c:1244,1
    - Dst: scheme*::vptr::is_pair
      Src: /src/libgpg-error/gpgscm/ffi.c:1246,1
    - Dst: scheme*::vptr::pair_cdr
      Src: /src/libgpg-error/gpgscm/ffi.c:1246,1
    - Dst: scheme*::vptr::is_number
      Src: /src/libgpg-error/gpgscm/ffi.c:1248,1
    - Dst: scheme*::vptr::pair_car
      Src: /src/libgpg-error/gpgscm/ffi.c:1248,1
    - Dst: scheme*::vptr::ivalue
      Src: /src/libgpg-error/gpgscm/ffi.c:1249,1
    - Dst: scheme*::vptr::pair_car
      Src: /src/libgpg-error/gpgscm/ffi.c:1249,1
    - Dst: xfree
      Src: /src/libgpg-error/gpgscm/ffi.c:1252,1
    - Dst: gpg_error
      Src: /src/libgpg-error/gpgscm/ffi.c:1255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - sc
    - list
    - intv
    - len
    argTypes:
    - scheme*
    - pointer
    - int**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1260
    functionName: ffi_list2intv
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 1
    functionsReached:
    - gpg_error_from_syserror
    - scheme*::vptr::ivalue
    - scheme*::vptr::pair_car
    - scheme*::vptr::pair_cdr
    - scheme*::vptr::is_number
    - gpg_error
    - xfree
    - xtrycalloc
    - scheme*::vptr::list_length
    - scheme*::vptr::is_pair
    linkageType: ''
    returnType: gpg_error_t
    signature: gpg_error_t ffi_list2intv (scheme *sc, pointer list, int **intv, size_t
      *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/libgpg-error/gpgscm/ffi.c:1269,1
    - Dst: tolower
      Src: /src/libgpg-error/gpgscm/ffi.c:1275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - s
    - macro
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1286
    functionName: ffi_schemify_name
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - tolower
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      ffi_schemify_name (const char *s, int macro)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/gpgscm/ffi.c:1296,1
    - Dst: vsnprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:1297,1
    - Dst: va_end
      Src: /src/libgpg-error/gpgscm/ffi.c:1298,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/gpgscm/ffi.c:1300,1
    - Dst: va_start
      Src: /src/libgpg-error/gpgscm/ffi.c:1304,1
    - Dst: vsnprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:1305,1
    - Dst: va_end
      Src: /src/libgpg-error/gpgscm/ffi.c:1306,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/ffi.c:1308,1
    - Dst: scheme*::vptr::mk_string
      Src: /src/libgpg-error/gpgscm/ffi.c:1310,1
    - Dst: xfree
      Src: /src/libgpg-error/gpgscm/ffi.c:1311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - sc
    - format
    argTypes:
    - scheme*
    - char*
    assertStmts:
    - condition: (size == written)
      pos:
        line_end: 1307
        line_start: 1307
        source_file: /src/libgpg-error/gpgscm/ffi.c
    constantsTouched: []
    func_position:
      end: 1313
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1313
    functionName: ffi_sprintf
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 13
    functionsReached:
    - va_end
    - assert
    - scheme*::vptr::mk_string
    - vsnprintf
    - xfree
    - va_start
    - xtrymalloc
    linkageType: ''
    returnType: pointer
    signature: pointer ffi_sprintf (scheme *sc, const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libgpg-error/gpgscm/ffi.c:1322,1
    - Dst: vsnprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:1323,1
    - Dst: va_end
      Src: /src/libgpg-error/gpgscm/ffi.c:1324,1
    - Dst: xtrymalloc
      Src: /src/libgpg-error/gpgscm/ffi.c:1326,1
    - Dst: va_start
      Src: /src/libgpg-error/gpgscm/ffi.c:1330,1
    - Dst: vsnprintf
      Src: /src/libgpg-error/gpgscm/ffi.c:1331,1
    - Dst: va_end
      Src: /src/libgpg-error/gpgscm/ffi.c:1332,1
    - Dst: assert
      Src: /src/libgpg-error/gpgscm/ffi.c:1334,1
    - Dst: scheme*::vptr::load_string
      Src: /src/libgpg-error/gpgscm/ffi.c:1336,1
    - Dst: xfree
      Src: /src/libgpg-error/gpgscm/ffi.c:1337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - sc
    - format
    argTypes:
    - scheme*
    - char*
    assertStmts:
    - condition: (size == written)
      pos:
        line_end: 1333
        line_start: 1333
        source_file: /src/libgpg-error/gpgscm/ffi.c
    constantsTouched: []
    func_position:
      end: 1338
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1338
    functionName: ffi_scheme_eval
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 0
    functionsReached:
    - va_end
    - assert
    - vsnprintf
    - scheme*::vptr::load_string
    - xfree
    - va_start
    - xtrymalloc
    linkageType: ''
    returnType: void
    signature: void ffi_scheme_eval (scheme *sc, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1348,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1349,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1350,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1351,1
    - Dst: ffi_define_constant
      Src: /src/libgpg-error/gpgscm/ffi.c:1354,1
    - Dst: ffi_define_constant
      Src: /src/libgpg-error/gpgscm/ffi.c:1355,1
    - Dst: ffi_define_constant
      Src: /src/libgpg-error/gpgscm/ffi.c:1356,1
    - Dst: ffi_define_constant
      Src: /src/libgpg-error/gpgscm/ffi.c:1357,1
    - Dst: ffi_define_constant
      Src: /src/libgpg-error/gpgscm/ffi.c:1358,1
    - Dst: ffi_define_constant
      Src: /src/libgpg-error/gpgscm/ffi.c:1365,1
    - Dst: ffi_define_constant
      Src: /src/libgpg-error/gpgscm/ffi.c:1366,1
    - Dst: ffi_define_constant
      Src: /src/libgpg-error/gpgscm/ffi.c:1367,1
    - Dst: ffi_define_constant
      Src: /src/libgpg-error/gpgscm/ffi.c:1368,1
    - Dst: ffi_define_constant
      Src: /src/libgpg-error/gpgscm/ffi.c:1369,1
    - Dst: ffi_define_constant
      Src: /src/libgpg-error/gpgscm/ffi.c:1370,1
    - Dst: ffi_define_constant
      Src: /src/libgpg-error/gpgscm/ffi.c:1371,1
    - Dst: ffi_define_constant
      Src: /src/libgpg-error/gpgscm/ffi.c:1372,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1374,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1375,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1376,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1377,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1378,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1379,1
    - Dst: ffi_define_function_name
      Src: /src/libgpg-error/gpgscm/ffi.c:1380,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1381,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1382,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1383,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1384,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1385,1
    - Dst: ffi_define_function_name
      Src: /src/libgpg-error/gpgscm/ffi.c:1386,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1387,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1388,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1389,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1390,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1391,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1392,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1393,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1394,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1395,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1398,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1399,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1400,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1403,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1404,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1405,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1406,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1407,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1408,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1409,1
    - Dst: ffi_define_function_name
      Src: /src/libgpg-error/gpgscm/ffi.c:1412,1
    - Dst: ffi_define_function_name
      Src: /src/libgpg-error/gpgscm/ffi.c:1413,1
    - Dst: ffi_define_function_name
      Src: /src/libgpg-error/gpgscm/ffi.c:1414,1
    - Dst: ffi_define_function_name
      Src: /src/libgpg-error/gpgscm/ffi.c:1415,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1418,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1419,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1420,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1421,1
    - Dst: ffi_define_function_name
      Src: /src/libgpg-error/gpgscm/ffi.c:1422,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1425,1
    - Dst: ffi_define_function
      Src: /src/libgpg-error/gpgscm/ffi.c:1426,1
    - Dst: ffi_define_function_name
      Src: /src/libgpg-error/gpgscm/ffi.c:1429,1
    - Dst: ffi_define_function_name
      Src: /src/libgpg-error/gpgscm/ffi.c:1430,1
    - Dst: ffi_define
      Src: /src/libgpg-error/gpgscm/ffi.c:1432,1
    - Dst: scheme*::vptr::mk_string
      Src: /src/libgpg-error/gpgscm/ffi.c:1432,1
    - Dst: ffi_define
      Src: /src/libgpg-error/gpgscm/ffi.c:1433,1
    - Dst: scheme*::vptr::mk_string
      Src: /src/libgpg-error/gpgscm/ffi.c:1433,1
    - Dst: scheme*::vptr::mk_string
      Src: /src/libgpg-error/gpgscm/ffi.c:1436,1
    - Dst: ffi_define
      Src: /src/libgpg-error/gpgscm/ffi.c:1439,1
    - Dst: ffi_define
      Src: /src/libgpg-error/gpgscm/ffi.c:1442,1
    - Dst: scheme*::vptr::mk_character
      Src: /src/libgpg-error/gpgscm/ffi.c:1442,1
    - Dst: ffi_define
      Src: /src/libgpg-error/gpgscm/ffi.c:1444,1
    - Dst: scheme*::vptr::mk_character
      Src: /src/libgpg-error/gpgscm/ffi.c:1444,1
    - Dst: ffi_define
      Src: /src/libgpg-error/gpgscm/ffi.c:1447,1
    - Dst: ffi_define
      Src: /src/libgpg-error/gpgscm/ffi.c:1455,1
    - Dst: ffi_define
      Src: /src/libgpg-error/gpgscm/ffi.c:1463,1
    - Dst: ffi_define
      Src: /src/libgpg-error/gpgscm/ffi.c:1472,1
    - Dst: scheme*::vptr::mk_port_from_file
      Src: /src/libgpg-error/gpgscm/ffi.c:1473,1
    - Dst: ffi_define
      Src: /src/libgpg-error/gpgscm/ffi.c:1474,1
    - Dst: scheme*::vptr::mk_port_from_file
      Src: /src/libgpg-error/gpgscm/ffi.c:1475,1
    - Dst: ffi_define
      Src: /src/libgpg-error/gpgscm/ffi.c:1476,1
    - Dst: scheme*::vptr::mk_port_from_file
      Src: /src/libgpg-error/gpgscm/ffi.c:1477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 78
    argCount: 5
    argNames:
    - sc
    - argv0
    - scriptname
    - argc
    - argv
    argTypes:
    - scheme*
    - char*
    - char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1480
    functionName: ffi_init
    functionSourceFile: /src/libgpg-error/gpgscm/ffi.c
    functionUses: 2
    functionsReached:
    - ffi_define_function
    - ffi_define
    - scheme*::vptr::mk_string
    - scheme*::vptr::mk_port_from_file
    - ffi_define_constant
    - ffi_define_function_name
    - scheme*::vptr::mk_character
    linkageType: ''
    returnType: gpg_error_t
    signature: "gpg_error_t ffi_init (scheme *sc, const char *argv0, const char *scriptname,\n
      \         int argc, const char **argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sc
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: cons
    functionSourceFile: /src/libgpg-error/gpgscm/scheme-private.h
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cons(sc,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sc
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: immutable_cons
    functionSourceFile: /src/libgpg-error/gpgscm/scheme-private.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: immutable_cons(sc,a,b)
Fuzzer filename: /src/fuzz_list.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- sys/uio.h
- ../common/name-value.h
- ldap-parse-uri.h
- ../common/ksba-io-support.h
- g13-syshelp.h
- sys/un.h
- call-syshelp.h
- visibility.h
- dlfcn.h
- ctype.h
- mount.h
- membuf.h
- ../common/sexp-parse.h
- keccak_permute_32.h
- sys/inotify.h
- ../cipher/sha1.h
- pkcs1v2-oaep.h
- packet.h
- ../common/status.h
- libusb.h
- reader.h
- Availability.h
- ../common/w32help.h
- ../src/gcrypt-testapi.h
- ../common/ttyio.h
- gpg-card.h
- cvt-openpgp.h
- termios.h
- aclapi.h
- cache.h
- ../cipher/sntrup761.c
- jitterentropy-sha3.h
- gcrypt-testapi.h
- ../common/gc-opt-flags.h
- get-passphrase.h
- tdbio.h
- grp.h
- w32-lock-obj.h
- float.h
- g13tuple.h
- errnos-sym.h
- comopt.h
- validate.h
- hwf-common.h
- ../common/comopt.h
- name-value.h
- bithelp.h
- jitterentropy-noise.c
- sys/mount.h
- wctype.h
- runner.h
- jitterentropy-base.c
- kbx-client-util.h
- utf8.h
- ../../common/util.h
- mpi-internal.h
- cipher.h
- tss2/tss2_tcti.h
- altivec.h
- ../kbx/keybox-search-desc.h
- spawn.h
- mime-maker.h
- asm-inline-s390x.h
- stringbuf.h
- iconv.h
- ../common/dotlock.h
- ./dirmngr-err.h
- camellia.h
- string.h
- kernel.h
- ../common/get-passphrase.h
- gnutls/gnutls.h
- ../cipher/asm-common-i386.h
- ../common/openpgpdefs.h
- rand-internal.h
- gcrypt.h
- opdefines.h
- sys/shm.h
- server.h
- ../common/logging.h
- ../common/utf8conv.h
- keyblob.h
- scheme.h
- dirent.h
- exectool.h
- code-from-errno.h
- photoid.h
- errno.h
- sys/sysctl.h
- ./mac-internal.h
- sysutils.h
- ../common/host2net.h
- ../src/ksba.h
- audit-events.h
- keyring.h
- cardglue.h
- stdarg.h
- exechelp.h
- getversion.c
- jitterentropy-base.h
- der-encoder.h
- immintrin.h
- sys/times.h
- TSSINCLUDE(tssutils.h)
- http.h
- ftw.h
- sddl.h
- gost.h
- stdlib.h
- ../kbx/keybox.h
- ./cipher-internal.h
- hmac256.h
- ../kbx/keybox-fwddecl.h
- ldap-misc.h
- keccak_permute_64.h
- strings.h
- ccid-driver.h
- ../compat/libcompat.h
- ./call-dirmngr.h
- gpg-wks.h
- call-agent.h
- sha1.h
- swis.h
- ../common/mbox-util.h
- libjnlib-config.h
- bufhelp.h
- kyber-common.c
- intel-tss.h
- time.h
- main.h
- libproc.h
- i18n.h
- ../src/assuan.h
- ../src/getversion.c
- ../cipher/asm-common-amd64.h
- windows.h
- bulkhelp.h
- ../cipher/asm-inline-s390x.h
- g10lib.h
- basetsd.h
- ks-action.h
- ec-context.h
- gpgrt-int.h
- ../common/simple-pwquery.h
- pkglue.h
- mac-internal.h
- dirmngr.h
- certreq.h
- test.c
- scheme-private.h
- keyboxd.h
- android/api-level.h
- status-codes.h
- apdu.h
- err-codes.h
- stddef.h
- sys/time.h
- mime-parser.h
- stdio.h
- ../src/g10lib.h
- gpgconf.h
- stdbool.h
- tpm2daemon.h
- ../common/mkdir_p.h
- ../common/gettime.h
- ldap-wrapper.h
- ws2tcpip.h
- create.h
- winioctl.h
- poly1305-internal.h
- sys/types.h
- keybox.h
- cipher-internal.h
- init.h
- libintl.h
- pkcs1v2-pss.h
- ../common/utilproto.h
- ../cipher/bithelp.h
- ../src/gcrypt-int.h
- ec-internal.h
- jitterentropy-health.c
- stopwatch.h
- ../src/keyinfo.h
- frontend.h
- rijndael-vp-simd128.h
- gpg.h
- suspend.h
- sys/auxv.h
- TSSINCLUDE(tss.h)
- ldap.h
- key-clean.h
- simple-pwquery.h
- TSSINCLUDE(tssmarshal.h)
- winldap.h
- sys/select.h
- ../common/call-gpg.h
- wchar.h
- readline/history.h
- t-support.h
- ntbtls.h
- shared.h
- asm-common-s390x.h
- TSSINCLUDE(tssresponsecode.h)
- gpgtar.h
- npth.h
- ../common/server-help.h
- scdaemon.h
- TSSINCLUDE(Unmarshal_fp.h)
- tpm2.h
- keyedit.h
- wincrypt.h
- mod-source-info.h
- mpi-asm-defs.h
- protos.h
- readline/readline.h
- simd-common-ppc.h
- ../cipher/bufhelp.h
- sys/syscall.h
- keybox-search-desc.h
- keybox-fwddecl.h
- ../common/membuf.h
- kyber.h
- sys/random.h
- ssh-utils.h
- context.h
- gen-help.h
- writer.h
- link.h
- keydb.h
- mbox-util.h
- gpgsm.h
- ../mpi/mpi-asm-defs.h
- sys/sysmacros.h
- rapdu.h
- sys/resource.h
- vfork.h
- ccparray.h
- mountinfo.h
- ldap-url.h
- simd-common-riscv.h
- semaphore.h
- ../common/dynload.h
- locale.h
- common-defs.h
- ../common/compliance.h
- ../common/shareddefs.h
- ffi.h
- common.h
- arm_neon.h
- ecc-common.h
- be-truecrypt.h
- ../common/asshelp.h
- dispatch/dispatch.h
- cipher-proto.h
- rijndael-tables.h
- jitterentropy-base-user.h
- ../common/iobuf.h
- sys/wait.h
- ../../common/strlist.h
- ../common/recsel.h
- options.h
- getopt.h
- netdb.h
- TargetConditionals.h
- cms.h
- thread.h
- ../regexp/jimregexp.h
- err-codes-sym.h
- ldapserver.h
- mkerrcodes.h
- pkcs1v2-v15c.h
- gpgrt.h
- rmd160.h
- jitterentropy-gcd.h
- sntrup761.h
- strlist.h
- ec-inline.h
- call-dirmngr.h
- w32help.h
- alloca.h
- stringhelp.h
- stdint.h
- assert.h
- gnutls/x509.h
- util.h
- ../../common/logging.h
- search.h
- sys/single_threaded.h
- err.h
- send-mail.h
- objcache.h
- sys/socket.h
- exec.h
- dek.h
- certcache.h
- cet.h
- call-gpg.h
- asn1-constants.h
- dynload.h
- ../common/tlv.h
- sqlite3.h
- pthread.h
- ../common/t-support.h
- ../common/fwddecl.h
- resolv.h
- ../cipher/cipher-internal.h
- asm-common-aarch64.h
- ../common/ccparray.h
- jitterentropy-noise.h
- jitterentropy-timer.c
- mpi.h
- ../common/pkscreening.h
- crl.h
- ks-engine.h
- err-sources-sym.h
- ../common/userids.h
- zlib.h
- ../src/gpgrt.h
- random.h
- jitterentropy.h
- ../random/random.h
- sys/errno.h
- processthreadsapi.h
- rijndael-ppc-common.h
- tss2/tss2_esys.h
- signal.h
- crlfetch.h
- io.h
- elf.h
- ../common/session-env.h
- sys/param.h
- ucred.h
- jimregexp.h
- asm-common-i386.h
- longlong.h
- tss2/tss2_tctildr.h
- misc.h
- ../common/ssh-utils.h
- code-to-errno.h
- shareddefs.h
- pwd.h
- ../kbx/kbx-client-util.h
- oidtranstbl.h
- convert.h
- ber-decoder.h
- kyber-kdep.c
- status.h
- fwddecl.h
- langinfo.h
- keybox-defs.h
- winsock2.h
- key-check.h
- keydb-private.h
- iso7816.h
- session-env.h
- gcrypt-int.h
- sys/mman.h
- ../common/exectool.h
- arpa/inet.h
- compliance.h
- ksba-io-support.h
- filter.h
- _ESTREAM_PRINTF_EXTRA_INCLUDE
- iobuf.h
- asshelp.h
- be-encfs.h
- const-time.h
- bzlib.h
- jitterentropy-health.h
- ../common/i18n.h
- dns-stuff.h
- dotlock.h
- ../common/audit.h
- mischelp.h
- sys/ucred.h
- fcntl.h
- assuan.h
- netinet/in.h
- asm/unistd.h
- err-sources.h
- ../common/util.h
- lisp.h
- audit.h
- process.h
- dotlock.c
- arpa/nameser.h
- debug.h
- tss2/tss2_rc.h
- g13.h
- sched.h
- sys/ipc.h
- minip12.h
- ../common/strlist.h
- sys/mkdev.h
- ../src/cipher-proto.h
- g13-common.h
- camellia-simd128.h
- der-builder.h
- dirmngr-err.h
- malloc.h
- posix-lock-obj.h
- simd-common-aarch64.h
- lock.h
- math.h
- sys/capability.h
- pkscreening.h
- gettext.h
- ../common/mischelp.h
- stdmem.h
- secmem.h
- x86intrin.h
- ../common/zb32.h
- ../common/init.h
- ../common/stringhelp.h
- kdf-internal.h
- sys/signal.h
- jitterentropy-gcd.c
- jitterentropy-timer.h
- ksba.h
- trustdb.h
- crlcache.h
- rijndael-internal.h
- t-common.h
- ../cipher/asm-common-aarch64.h
- types.h
- tlv.h
- config.h
- shlobj.h
- be-dmcrypt.h
- jitterentropy-sha3.c
- hash-common.h
- riscv_vector.h
- private.h
- sys/file.h
- gpgsql.h
- openssl/rand.h
- ber-help.h
- ibm-tss.h
- ../../common/init.h
- kem-ecc.h
- security.h
- pubkey-internal.h
- assuan-defs.h
- tofu.h
- server-help.h
- dns.h
- gost-sb.h
- tss2/tss2_mu.h
- ../src/gcrypt.h
- _unicode_mapping.c
- ocsp.h
- passphrase.h
- rijndael-ppc-functions.h
- poll.h
- asm/sysinfo.h
- asn1-func.h
- iphlpapi.h
- backend.h
- sys/stat.h
- lber.h
- TSSINCLUDE(tsscryptoh.h)
- dilithium-dep.c
- blockinput.h
- termio.h
- zb32.h
- keyinfo.h
- sys/utsname.h
- inttypes.h
- bits/libc-lock.h
- unistd.h
- userids.h
- sexp-parse.h
- agent.h
- cdb.h
- ffi-private.h
- ../common/sysutils.h
- asm-common-amd64.h
- winber.h
- app-common.h
- ../../common/sysutils.h
- atr.h
- winhttp.h
- w32main.h
- keyserver-internal.h
- utf8conv.h
- logging.h
- gpg-error.h
- mceliece6688128f.h
- dilithium-common.c
- openpgpdefs.h
- http-common.h
- ../common/exechelp.h
- ../common/types.h
- ttyio.h
- mpi-inline.h
- ../../common/exechelp.h
- limits.h
- sanitizer/lsan_interface.h
- dilithium.h
- dirmngr-status.h
- ./poly1305-internal.h
- cert.h
- mkdir_p.h
- pkcs1v2-v15s.h
- estream-support.h
- rfc822parse.h
- syslog.h
- estream-printf.h
- recsel.h
- gettime.h
report: name
sources:
- function_names: []
  source_file: /src/fuzzer_stubs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/fuzzer_stubs.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - g10_exit
  - gpg_deinit_default_ctrl
  - my_gcry_logger
  - unlink_cb
  - rmrfdir
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_import.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_LEN
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/fuzz_import.c
      type_or_value: '0x2000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - g10_exit
  - gpg_deinit_default_ctrl
  - my_gcry_logger
  - unlink_cb
  - rmrfdir
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_list.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_LEN
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/fuzz_list.c
      type_or_value: '0x10000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - g10_exit
  - gpg_deinit_default_ctrl
  - my_gcry_logger
  - unlink_cb
  - rmrfdir
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_decrypt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_LEN
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/fuzz_decrypt.c
      type_or_value: '0x10000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - g10_exit
  - gpg_deinit_default_ctrl
  - my_gcry_logger
  - unlink_cb
  - rmrfdir
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_verify.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ATTR_PRINTF
  - spacep
  - die
  - die_0
  - die_1
  - die_2
  - die_3
  - err
  - xmalloc
  - xcalloc
  - xstrdup
  - writen
  - read_assuan
  - write_assuan
  - start_server
  - unset_var
  - set_type_var
  - set_var
  - get_var
  - inc_counter
  - expand_line
  - eval_boolean
  - cmd_let
  - cmd_echo
  - cmd_send
  - handle_status_line
  - cmd_expect_ok
  - cmd_expect_err
  - cmd_count_status
  - cmd_openfile
  - cmd_createfile
  - cmd_pipeserver
  - cmd_quit_if
  - cmd_fail_if
  - cmd_cmpfiles
  - cmd_getenv
  - interpreter
  - main
  source_file: /src/gnupg/tests/asschk.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __func__
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/gnupg/tests/asschk.c
      type_or_value: __FUNCTION__
    - item_type: preproc_def
      name: __func__
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/gnupg/tests/asschk.c
      type_or_value: '"<unknown>"'
    - item_type: preproc_def
      name: MAX_LINELEN
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/gnupg/tests/asschk.c
      type_or_value: '2048'
    structs:
    - fields:
      - name: '*next'
        type: struct variable_s
      - name: type
        type: VARTYPE
      - name: count
        type: unsigned int
      - name: '*value'
        type: char
      - name: name[1]
        type: char
      item_type: struct
      name: variable_s
      pos:
        line_end: 154
        line_start: 148
        source_file: /src/gnupg/tests/asschk.c
    - fields:
      - name: '*name'
        type: char
      - name: (*fnc)(const char*, char*)
        type: void
      item_type: struct
      name: "cmdtbl[] = {\n    { \"let\"       , cmd_let },\n    { \"echo\"      ,
        cmd_echo },\n    { \"send\"      , cmd_send },\n    { \"expect-ok\" , cmd_expect_ok
        },\n    { \"expect-err\", cmd_expect_err },\n    { \"count-status\", cmd_count_status
        },\n    { \"openfile\"  , cmd_openfile },\n    { \"createfile\", cmd_createfile
        },\n    { \"pipeserver\", cmd_pipeserver },\n    { \"quit\"      , NULL },\n
        \   { \"quit-if\"   , cmd_quit_if },\n    { \"fail-if\"   , cmd_fail_if },\n
        \   { \"cmpfiles\"  , cmd_cmpfiles },\n    { \"getenv\"    , cmd_getenv },\n
        \   { NULL }\n  }"
      pos:
        line_end: 926
        line_start: 923
        source_file: /src/gnupg/tests/asschk.c
    typedefs:
    - item_type: typedef
      name: '*VARIABLE'
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/gnupg/tests/asschk.c
      type: variable_s
    union: []
- function_names:
  - reply
  - get_passphrase
  - whitespacep
  - rstrip
  - skip_options
  - option_value
  - parse_pinentry_user_data
  - main
  source_file: /src/gnupg/tests/openpgp/fake-pinentry.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OPT_USER_DATA
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/gnupg/tests/openpgp/fake-pinentry.c
      type_or_value: '"OPTION pinentry-user-data="'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/tests/gpgscm/ffi.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/gnupg/tests/gpgscm/t-child.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - parse_arguments
  - my_strusage
  - path_absolute_p
  - load
  - main
  source_file: /src/gnupg/tests/gpgscm/main.c
  types:
    enum:
    - enumerators:
      - name: aNull
        value: '0'
      - name: oVerbose
        value: '''v'''
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 63
        line_start: 59
        source_file: /src/gnupg/tests/gpgscm/main.c
    preproc_defs:
    - item_type: preproc_def
      name: ts_banner
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/tests/gpgscm/main.c
      type_or_value: '"TinyScheme 1.41"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - stricmp
  - strlwr
  - type_to_string
  - num_is_integer
  - typeflag
  - type
  - settype
  - is_string
  - strvalue
  - strlength
  - is_vector
  - vector_length
  - vector_size
  - is_number
  - is_integer
  - is_real
  - is_character
  - string_value
  - nvalue
  - ivalue
  - rvalue
  - ivalue_unchecked
  - rvalue_unchecked
  - set_num_integer
  - set_num_real
  - charvalue
  - is_port
  - is_inport
  - is_outport
  - is_pair
  - car
  - cdr
  - pair_car
  - pair_cdr
  - set_car
  - set_cdr
  - is_symbol
  - symname
  - hasprop
  - symprop
  - is_syntax
  - is_proc
  - is_foreign
  - syntaxname
  - procnum
  - is_closure
  - is_macro
  - closure_code
  - closure_env
  - is_continuation
  - cont_dump
  - is_foreign_object
  - foreign_object_vtable *get_foreign_object_vtable(pointer p)
  - get_foreign_object_data
  - is_promise
  - is_environment
  - setenvironment
  - is_frame
  - setframe
  - is_atom
  - setatom
  - clratom
  - is_mark
  - setmark
  - clrmark
  - is_immutable
  - setimmutable
  - caar
  - cadr
  - cdar
  - cddr
  - cadar
  - caddr
  - cdaar
  - cadaar
  - cadddr
  - cddddr
  - history_mark
  - history_flatten
  - Cisalpha
  - Cisdigit
  - Cisspace
  - Cisupper
  - Cislower
  - is_ascii_name
  - num_ivalue
  - num_rvalue
  - num_add
  - num_mul
  - num_div
  - num_intdiv
  - num_sub
  - num_rem
  - num_mod
  - num_eq
  - num_gt
  - num_ge
  - num_lt
  - num_le
  - round_per_R5RS
  - is_zero_double
  - binary_decode
  - copy_value
  - mk_tagged_value
  - has_tag
  - get_tag
  - _alloc_cellseg
  - _dealloc_cellseg
  - alloc_cellseg
  - typeflag
  - gc_reservations
  - gc_reservation_failure
  - _gc_disable
  - gc_disable
  - gc_enable
  - gc_enabled
  - gc_consume
  - gc_reservation_failure
  - gc_disable
  - gc_enable
  - gc_enabled
  - gc_consume
  - get_cell_x
  - _get_cell
  - reserve_cells
  - get_consecutive_cells
  - count_consecutive_cells
  - find_consecutive_cells
  - free_cell
  - free_cons
  - push_recent_alloc
  - ok_to_freely_gc
  - get_cell
  - get_vector_object
  - _cons
  - oblist_initial_value
  - oblist_find_by_name
  - oblist_all_symbols
  - oblist_initial_value
  - oblist_find_by_name
  - oblist_all_symbols
  - oblist_add_by_name
  - mk_port
  - mk_foreign_func
  - mk_foreign_object
  - mk_character
  - mk_small_integer
  - mk_integer
  - mk_real
  - mk_number
  - store_string
  - mk_string
  - mk_counted_string
  - mk_empty_string
  - mk_vector
  - fill_vector
  - vector_elem_slot
  - vector_elem
  - set_vector_elem
  - mk_symbol
  - gensym
  - expand_strbuff
  - mk_atom
  - mk_sharp_const
  - mark
  - if
  - gc
  - typeflag
  - finalize_cell
  - typeflag
  - port_clear_location
  - port_increment_current_line
  - port_init_location
  - port_clear_location
  - port_increment_current_line
  - port_init_location
  - file_push
  - file_pop
  - file_interactive
  - port_rep_from_filename
  - port_from_filename
  - port_rep_from_file
  - port_from_file
  - port_rep_from_string
  - port_from_string
  - port_rep_from_scratch
  - port_from_scratch
  - port_close
  - inchar
  - basic_inchar
  - backchar
  - realloc_port_string
  - putstr
  - putchars
  - putcharacter
  - readstr_upto
  - readstrexp
  - is_one_of
  - skipspace
  - token
  - ok_abbrev
  - printslashstring
  - printatom
  - atom2str
  - mk_closure
  - mk_continuation
  - list_star
  - reverse
  - reverse_in_place
  - revappend
  - eqv
  - is_true
  - is_false
  - hash_fn
  - pointercmp
  - new_frame_in_env
  - find_slot_spec_in_env
  - new_frame_in_env
  - find_slot_spec_in_env
  - find_slot_in_env
  - new_slot_spec_in_env
  - new_slot_in_env
  - set_slot_in_env
  - slot_value_in_env
  - _Error_1
  - Error_1
  - Error_0
  - s_set_flag
  - s_clear_flag
  - s_get_flag
  - s_goto
  - s_thread_to
  - CASE
  - CASE
  - s_thread_to
  - CASE
  - s_return
  - s_return_enable_gc
  - dump_stack_reset
  - dump_stack_initialize
  - dump_stack_free
  - dump_stack_make_frame
  - frame_slots
  - dump_stack_allocate_frame
  - dump_stack_deallocate_frame
  - dump_stack_preallocate_frame
  - _s_return
  - s_save
  - dump_stack_mark
  - history_free
  - history_init
  - history_mark
  - add_mod
  - sub_mod
  - tailstack_clear
  - callstack_pop
  - callstack_push
  - tailstack_push
  - tailstack_flatten
  - callstack_flatten
  - history_flatten
  - history_init
  - history_free
  - callstack_pop
  - callstack_push
  - tailstack_push
  - get_property
  - set_property
  - is_list
  - list_length
  - s_retbool
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - is_nonneg
  - procname
  - check_arguments
  - assign_syntax
  - syntaxnum
  - assign_proc
  - mk_proc
  - s_cons
  - s_immutable_cons
  - scheme_init_new
  - scheme_init_new_custom_alloc
  - scheme_init
  - scheme_init_custom_alloc
  - scheme_set_input_port_file
  - scheme_set_input_port_string
  - scheme_set_output_port_file
  - scheme_set_output_port_string
  - scheme_set_external_data
  - scheme_deinit
  - scheme_load_file
  - scheme_load_named_file
  - scheme_load_string
  - scheme_load_memory
  - scheme_define
  - scheme_register_foreign_func
  - scheme_register_foreign_func_list
  - scheme_apply0
  - save_from_C_call
  - restore_from_C_call
  - scheme_call
  - scheme_eval
  - main
  - main
  source_file: /src/gnupg/tests/gpgscm/scheme.c
  types:
    enum:
    - enumerators:
      - name: T_CONTINUATION
        value: 7 << 1 | 1
      - name: T_SINK
        value: 19 << 1 | 1
      - name: T_FOREIGN_OBJECT
        value: 15 << 1 | 1
      - name: T_VECTOR
        value: 11 << 1 | 1
      - name: T_NUMBER
        value: 2 << 1 | 1
      - name: T_FOREIGN
        value: 8 << 1 | 1
      - name: T_BOOLEAN
        value: 16 << 1 | 1
      - name: T_MACRO
        value: 12 << 1 | 1
      - name: T_FRAME
        value: 20 << 1 | 1
      - name: T_PAIR
        value: 5 << 1 | 1
      - name: T_SYMBOL
        value: 3 << 1 | 1
      - name: T_CHARACTER
        value: 9 << 1 | 1
      - name: T_PROMISE
        value: 13 << 1 | 1
      - name: T_NIL
        value: 17 << 1 | 1
      - name: T_STRING
        value: 1 << 1 | 1
      - name: T_PROC
        value: 4 << 1 | 1
      - name: T_CLOSURE
        value: 6 << 1 | 1
      - name: T_PORT
        value: 10 << 1 | 1
      - name: T_ENVIRONMENT
        value: 14 << 1 | 1
      - name: T_EOF_OBJ
        value: 18 << 1 | 1
      - name: T_LAST_SYSTEM_TYPE
        value: 20 << 1 | 1
      item_type: enum
      name: scheme_types
      pos:
        line_end: 154
        line_start: 132
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: stricmp
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: strcasecmp
    - item_type: preproc_def
      name: MY_GCC_VERSION
      pos:
        line_end: 51
        line_start: 48
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: "(__GNUC__ * 10000 \\\n                         + __GNUC_MINOR__
        * 100 \\\n                         + __GNUC_PATCHLEVEL__)"
    - item_type: preproc_def
      name: MY_GCC_VERSION
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TOK_EOF
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: TOK_LPAREN
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TOK_RPAREN
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TOK_DOT
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TOK_ATOM
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TOK_QUOTE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '4'
    - item_type: preproc_def
      name: TOK_COMMENT
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '5'
    - item_type: preproc_def
      name: TOK_DQUOTE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '6'
    - item_type: preproc_def
      name: TOK_BQUOTE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '7'
    - item_type: preproc_def
      name: TOK_COMMA
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '8'
    - item_type: preproc_def
      name: TOK_ATMARK
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '9'
    - item_type: preproc_def
      name: TOK_SHARP
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '10'
    - item_type: preproc_def
      name: TOK_SHARP_CONST
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '11'
    - item_type: preproc_def
      name: TOK_VEC
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '12'
    - item_type: preproc_def
      name: BACKQUOTE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '''`'''
    - item_type: preproc_def
      name: DELIMITERS
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '"()\";\f\t\v\n\r "'
    - item_type: preproc_def
      name: banner
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '"TinyScheme 1.41"'
    - item_type: preproc_def
      name: prompt
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '"ts> "'
    - item_type: preproc_def
      name: InitFile
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '"init.scm"'
    - item_type: preproc_def
      name: FIRST_CELLSEGS
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TYPE_BITS
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '6'
    - item_type: preproc_def
      name: ADJ
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: (1 << TYPE_BITS)
    - item_type: preproc_def
      name: T_MASKTYPE
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: (ADJ - 1)
    - item_type: preproc_def
      name: T_TAGGED
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '1024    '
    - item_type: preproc_def
      name: T_FINALIZE
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '2048    '
    - item_type: preproc_def
      name: T_SYNTAX
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '4096    '
    - item_type: preproc_def
      name: T_IMMUTABLE
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '8192    '
    - item_type: preproc_def
      name: T_ATOM
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '16384    '
    - item_type: preproc_def
      name: CLRATOM
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '49151    '
    - item_type: preproc_def
      name: MARK
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '32768    '
    - item_type: preproc_def
      name: UNMARK
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '32767    '
    - item_type: preproc_def
      name: GC_ENABLED
      pos:
        line_end: 868
        line_start: 867
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_GC_LOCKING
      pos:
        line_end: 873
        line_start: 872
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '1'
    - item_type: preproc_def
      name: oblist_add_by_name_allocates
      pos:
        line_end: 1272
        line_start: 1271
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MAX_SMALL_INTEGER
      pos:
        line_end: 1331
        line_start: 1330
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: (sizeof small_integers / sizeof *small_integers - 1)
    - item_type: preproc_def
      name: mk_small_integer_allocates
      pos:
        line_end: 1336
        line_start: 1335
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '0'
    - item_type: preproc_def
      name: mk_small_integer_allocates
      pos:
        line_end: 1343
        line_start: 1342
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '1'
    - item_type: preproc_def
      name: mk_small_integer
      pos:
        line_end: 1344
        line_start: 1343
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: mk_integer
    - item_type: preproc_def
      name: mk_symbol_allocates
      pos:
        line_end: 1455
        line_start: 1454
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: oblist_add_by_name_allocates
    - item_type: preproc_def
      name: BLOCK_SIZE
      pos:
        line_end: 1992
        line_start: 1991
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '256'
    - item_type: preproc_def
      name: new_slot_spec_in_env_allocates
      pos:
        line_end: 2845
        line_start: 2844
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '2'
    - item_type: preproc_def
      name: new_slot_in_env_allocates
      pos:
        line_end: 2855
        line_start: 2854
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: new_slot_spec_in_env_allocates
    - item_type: preproc_def
      name: BEGIN
      pos:
        line_end: 2955
        line_start: 2954
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: do {
    - item_type: preproc_def
      name: END
      pos:
        line_end: 2956
        line_start: 2955
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '} while (0)'
    - item_type: preproc_def
      name: S_OP_MASK
      pos:
        line_end: 2965
        line_start: 2964
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '0x000000ff'
    - item_type: preproc_def
      name: S_FLAG_MASK
      pos:
        line_end: 2966
        line_start: 2965
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '0xffffff00'
    - item_type: preproc_def
      name: S_FLAG_TAIL_CONTEXT
      pos:
        line_end: 2972
        line_start: 2971
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '0x00000100'
    - item_type: preproc_def
      name: FALLTHROUGH
      pos:
        line_end: 3020
        line_start: 3019
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: __attribute__ ((fallthrough))
    - item_type: preproc_def
      name: frame_payload
      pos:
        line_end: 3069
        line_start: 3068
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: vector_length
    - item_type: preproc_def
      name: s_save_allocates
      pos:
        line_end: 3128
        line_start: 3127
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '0'
    - item_type: preproc_def
      name: set_property_allocates
      pos:
        line_end: 3397
        line_start: 3396
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TST_NONE
      pos:
        line_end: 5375
        line_start: 5374
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TST_ANY
      pos:
        line_end: 5376
        line_start: 5375
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TST_STRING
      pos:
        line_end: 5377
        line_start: 5376
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TST_SYMBOL
      pos:
        line_end: 5378
        line_start: 5377
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TST_PORT
      pos:
        line_end: 5379
        line_start: 5378
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '4'
    - item_type: preproc_def
      name: TST_INPORT
      pos:
        line_end: 5380
        line_start: 5379
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '5'
    - item_type: preproc_def
      name: TST_OUTPORT
      pos:
        line_end: 5381
        line_start: 5380
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '6'
    - item_type: preproc_def
      name: TST_ENVIRONMENT
      pos:
        line_end: 5382
        line_start: 5381
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '7'
    - item_type: preproc_def
      name: TST_PAIR
      pos:
        line_end: 5383
        line_start: 5382
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '8'
    - item_type: preproc_def
      name: TST_LIST
      pos:
        line_end: 5384
        line_start: 5383
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '9'
    - item_type: preproc_def
      name: TST_CHAR
      pos:
        line_end: 5385
        line_start: 5384
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '10'
    - item_type: preproc_def
      name: TST_VECTOR
      pos:
        line_end: 5386
        line_start: 5385
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '11'
    - item_type: preproc_def
      name: TST_NUMBER
      pos:
        line_end: 5387
        line_start: 5386
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '12'
    - item_type: preproc_def
      name: TST_INTEGER
      pos:
        line_end: 5388
        line_start: 5387
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '13'
    - item_type: preproc_def
      name: TST_NATURAL
      pos:
        line_end: 5389
        line_start: 5388
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '14'
    - item_type: preproc_def
      name: INF_ARG
      pos:
        line_end: 5391
        line_start: 5390
        source_file: /src/gnupg/tests/gpgscm/scheme.c
      type_or_value: '0xff'
    structs:
    - fields:
      - name: name[31]
        type: char
      - name: min_arity
        type: unsigned char
      - name: max_arity
        type: unsigned char
      - name: arg_tests_encoding[3]
        type: char
      item_type: struct
      name: op_code_info
      pos:
        line_end: 467
        line_start: 462
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    - fields:
      - name: '*next'
        type: struct cell_segment
      - name: '*alloc'
        type: void
      - name: cells
        type: pointer
      - name: cells_len
        type: size_t
      item_type: struct
      name: cell_segment
      pos:
        line_end: 756
        line_start: 750
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    - fields:
      - name: fct
        type: test_predicate
      - name: '*kind'
        type: char
      item_type: struct
      name: "tests[]={\n  {0,0}, /* unused */\n  {is_any, 0},\n  {is_string, \"string\"},\n
        \ {is_symbol, \"symbol\"},\n  {is_port, \"port\"},\n  {is_inport,\"input port\"},\n
        \ {is_outport,\"output port\"},\n  {is_environment, \"environment\"},\n  {is_pair,
        \"pair\"},\n  {0, \"pair or '()\"},\n  {is_character, \"character\"},\n  {is_vector,
        \"vector\"},\n  {is_number, \"number\"},\n  {is_integer, \"integer\"},\n  {is_nonneg,
        \"non-negative integer\"}\n}"
      pos:
        line_end: 5356
        line_start: 5353
        source_file: /src/gnupg/tests/gpgscm/scheme.c
    typedefs: []
    union: []
- function_names:
  - FFI_PROLOG
  - CONVERSION_number
  - CONVERSION_string
  - CONVERSION_character
  - CONVERSION_list
  - CONVERSION_bool
  - CONVERSION_path
  - IS_A_number
  - IS_A_string
  - IS_A_character
  - IS_A_list
  - IS_A_bool
  - IS_A_path
  - FFI_ARG_OR_RETURN
  - FFI_ARGS_DONE_OR_RETURN
  - FFI_RETURN_ERR
  - FFI_RETURN
  - FFI_RETURN_POINTER
  - FFI_RETURN_INT
  - FFI_RETURN_STRING
  - ffi_define_function_name
  - ffi_define_function
  - ffi_define_constant
  - ffi_define
  - ffi_define_variable_pointer
  - ffi_define_variable_integer
  - ffi_define_variable_string
  source_file: /src/gnupg/tests/gpgscm/ffi-private.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/tests/gpgscm/private.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/tests/gpgscm/small-integers.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/tests/gpgscm/scheme.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STANDALONE
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_STRCASECMP
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_STRLWR
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_STRCASECMP
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_STRLWR
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SCHEME_EXPORT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: SCHEME_EXPORT
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: USE_MATH
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_CHAR_CLASSIFIERS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_ASCII_NAMES
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_STRING_PORTS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_ERROR_HOOK
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_TRACING
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_COLON_HOOK
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_COMPILE_HOOK
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_DL
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_PLIST
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_SMALL_INTEGERS
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_HISTORY
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_INTERFACE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_MATH
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_CHAR_CLASSIFIERS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ASCII_NAMES
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_STRING_PORTS
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_TRACING
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_PLIST
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_HISTORY
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ERROR_HOOK
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_COLON_HOOK
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_COMPILE_HOOK
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_THREADED_CODE
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SMALL_INTEGERS
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_STRCASECMP
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_STRLWR
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STDIO_ADDS_CR
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_INTERFACE
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SHOW_ERROR_LINE
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type_or_value: '1'
    structs:
    - fields:
      - name: (*finalize)(scheme *sc, void *data)
        type: void
      - name: (*to_string)(scheme *sc, char *out, size_t size, void *data)
        type: void
      item_type: struct
      name: foreign_object_vtable
      pos:
        line_end: 146
        line_start: 143
        source_file: /src/gnupg/tests/gpgscm/scheme.h
    - fields:
      - name: is_fixnum
        type: char
      - name: value
        type: "union {\n          long ivalue;\n          double rvalue;\n     }"
      item_type: struct
      name: num
      pos:
        line_end: 155
        line_start: 149
        source_file: /src/gnupg/tests/gpgscm/scheme.h
    - fields:
      - name: (*scheme_define)(scheme *sc, pointer env, pointer symbol, pointer value)
        type: void
      - name: (*cons)(scheme *sc, pointer a, pointer b)
        type: pointer
      - name: (*immutable_cons)(scheme *sc, pointer a, pointer b)
        type: pointer
      - name: (*reserve_cells)(scheme *sc, int n)
        type: pointer
      - name: (*mk_integer)(scheme *sc, long num)
        type: pointer
      - name: (*mk_real)(scheme *sc, double num)
        type: pointer
      - name: (*mk_symbol)(scheme *sc, const char *name)
        type: pointer
      - name: (*gensym)(scheme *sc)
        type: pointer
      - name: (*mk_string)(scheme *sc, const char *str)
        type: pointer
      - name: (*mk_counted_string)(scheme *sc, const char *str, int len)
        type: pointer
      - name: (*mk_character)(scheme *sc, int c)
        type: pointer
      - name: (*mk_vector)(scheme *sc, int len)
        type: pointer
      - name: (*mk_foreign_func)(scheme *sc, foreign_func f)
        type: pointer
      - name: (*mk_foreign_object)(scheme *sc, const foreign_object_vtable *vtable,
          void *data)
        type: pointer
      - name: '*(*get_foreign_object_vtable)(pointer p)'
        type: foreign_object_vtable
      - name: '*(*get_foreign_object_data)(pointer p)'
        type: void
      - name: (*putstr)(scheme *sc, const char *s)
        type: void
      - name: (*putcharacter)(scheme *sc, int c)
        type: void
      - name: (*is_string)(pointer p)
        type: int
      - name: '*(*string_value)(pointer p)'
        type: char
      - name: (*is_number)(pointer p)
        type: int
      - name: (*nvalue)(pointer p)
        type: num
      - name: (*ivalue)(pointer p)
        type: long
      - name: (*rvalue)(pointer p)
        type: double
      - name: (*is_integer)(pointer p)
        type: int
      - name: (*is_real)(pointer p)
        type: int
      - name: (*is_character)(pointer p)
        type: int
      - name: (*charvalue)(pointer p)
        type: long
      - name: (*is_list)(scheme *sc, pointer p)
        type: int
      - name: (*is_vector)(pointer p)
        type: int
      - name: (*list_length)(scheme *sc, pointer vec)
        type: int
      - name: (*vector_length)(pointer vec)
        type: long
      - name: (*fill_vector)(pointer vec, pointer elem)
        type: void
      - name: (*vector_elem)(pointer vec, int ielem)
        type: pointer
      - name: (*set_vector_elem)(pointer vec, int ielem, pointer newel)
        type: pointer
      - name: (*is_port)(pointer p)
        type: int
      - name: (*is_pair)(pointer p)
        type: int
      - name: (*pair_car)(pointer p)
        type: pointer
      - name: (*pair_cdr)(pointer p)
        type: pointer
      - name: (*set_car)(pointer p, pointer q)
        type: pointer
      - name: (*set_cdr)(pointer p, pointer q)
        type: pointer
      - name: (*is_symbol)(pointer p)
        type: int
      - name: '*(*symname)(pointer p)'
        type: char
      - name: (*is_syntax)(pointer p)
        type: int
      - name: (*is_proc)(pointer p)
        type: int
      - name: (*is_foreign)(pointer p)
        type: int
      - name: '*(*syntaxname)(pointer p)'
        type: char
      - name: (*is_closure)(pointer p)
        type: int
      - name: (*is_macro)(pointer p)
        type: int
      - name: (*closure_code)(pointer p)
        type: pointer
      - name: (*closure_env)(pointer p)
        type: pointer
      - name: (*is_continuation)(pointer p)
        type: int
      - name: (*is_promise)(pointer p)
        type: int
      - name: (*is_environment)(pointer p)
        type: int
      - name: (*is_immutable)(pointer p)
        type: int
      - name: (*setimmutable)(pointer p)
        type: void
      - name: (*load_file)(scheme *sc, FILE *fin)
        type: void
      - name: (*load_string)(scheme *sc, const char *input)
        type: void
      - name: (*mk_port_from_file)(scheme *sc, FILE *f, int kind)
        type: pointer
      item_type: struct
      name: scheme_interface
      pos:
        line_end: 261
        line_start: 196
        source_file: /src/gnupg/tests/gpgscm/scheme.h
    - fields:
      - name: f
        type: foreign_func
      - name: '*  name'
        type: char
      item_type: struct
      name: scheme_registerable
      pos:
        line_end: 269
        line_start: 265
        source_file: /src/gnupg/tests/gpgscm/scheme.h
    typedefs:
    - item_type: typedef
      name: scheme
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type: scheme
    - item_type: typedef
      name: '*pointer'
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type: cell
    - item_type: typedef
      name: '* (*func_alloc)(size_t)'
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type: void
    - item_type: typedef
      name: (*func_dealloc)(void *)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type: void
    - item_type: typedef
      name: (*foreign_func)(scheme *, pointer)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/gnupg/tests/gpgscm/scheme.h
      type: pointer
    union: []
- function_names: []
  source_file: /src/gnupg/tests/gpgscm/opdefines.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ordinal_suffix
  - ffi_bool_value
  - do_logand
  - do_logior
  - do_logxor
  - do_lognot
  - do_flush_stdio
  - rl_gets
  - do_prompt
  - do_sleep
  - do_usleep
  - do_chdir
  - do_strerror
  - do_getenv
  - do_setenv
  - do_exit
  - do_open
  - do_fdopen
  - do_close
  - do_seek
  - do_get_temp_path
  - do_mkdtemp
  - do_unlink
  - unlink_recursively
  - do_unlink_recursively
  - do_rename
  - do_getcwd
  - do_mkdir
  - do_rmdir
  - do_get_isotime
  - do_get_time
  - do_getpid
  - do_srandom
  - random_scaled
  - do_random
  - do_make_random_string
  - es_object_finalize
  - es_object_to_string
  - es_wrap
  - es_unwrap
  - CONVERSION_estream
  - IS_A_estream
  - do_es_fclose
  - do_es_read
  - do_es_feof
  - do_es_write
  - proc_object_finalize
  - proc_object_to_string
  - proc_wrap
  - proc_unwrap
  - CONVERSION_proc
  - IS_A_proc
  - read_from_pipe
  - do_process_spawn_io
  - do_process_spawn_fd
  - do_process_wait
  - do_pipe
  - IMC
  - do_inbound_pipe
  - IMC
  - do_outbound_pipe
  - IMC
  - do_file_equal
  - do_splice
  - do_string_index
  - do_string_rindex
  - do_string_contains
  - do_get_verbose
  - do_set_verbose
  - ffi_list2argv
  - ffi_list2intv
  - ffi_schemify_name
  - ffi_sprintf
  - ffi_scheme_eval
  - ffi_init
  source_file: /src/gnupg/tests/gpgscm/ffi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RAND_MAX
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/gnupg/tests/gpgscm/ffi.c
      type_or_value: '32767'
    - item_type: preproc_def
      name: SPAWN_IO_BUFSIZE
      pos:
        line_end: 820
        line_start: 819
        source_file: /src/gnupg/tests/gpgscm/ffi.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: BUFFER_SIZE
      pos:
        line_end: 1300
        line_start: 1299
        source_file: /src/gnupg/tests/gpgscm/ffi.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: O_BINARY
      pos:
        line_end: 1660
        line_start: 1659
        source_file: /src/gnupg/tests/gpgscm/ffi.c
      type_or_value: '0'
    - item_type: preproc_def
      name: O_TEXT
      pos:
        line_end: 1663
        line_start: 1662
        source_file: /src/gnupg/tests/gpgscm/ffi.c
      type_or_value: '0'
    structs:
    - fields:
      - name: stream
        type: estream_t
      - name: closed
        type: int
      item_type: struct
      name: es_object_box
      pos:
        line_end: 618
        line_start: 614
        source_file: /src/gnupg/tests/gpgscm/ffi.c
    - fields:
      - name: proc
        type: gpgrt_process_t
      item_type: struct
      name: proc_object_box
      pos:
        line_end: 762
        line_start: 759
        source_file: /src/gnupg/tests/gpgscm/ffi.c
    - fields:
      - name: hd
        type: HANDLE
      - name: '*buf'
        type: char
      - name: len
        type: size_t
      - name: 'off'
        type: off_t
      item_type: struct
      name: rfp
      pos:
        line_end: 827
        line_start: 822
        source_file: /src/gnupg/tests/gpgscm/ffi.c
    typedefs: []
    union: []
- function_names:
  - cons
  - immutable_cons
  source_file: /src/gnupg/tests/gpgscm/scheme-private.h
  types:
    enum:
    - enumerators:
      - name: port_free
        value: '0'
      - name: port_input
        value: '16'
      - name: port_string
        value: '2'
      - name: port_srfi6
        value: '4'
      - name: port_file
        value: '1'
      - name: port_output
        value: '32'
      - name: port_saw_EOF
        value: '64'
      item_type: enum
      name: scheme_port_kind
      pos:
        line_end: 22
        line_start: 14
        source_file: /src/gnupg/tests/gpgscm/scheme-private.h
    preproc_defs:
    - item_type: preproc_def
      name: CELL_SEGSIZE
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/gnupg/tests/gpgscm/scheme-private.h
      type_or_value: '5000  '
    - item_type: preproc_def
      name: CELL_MINRECOVER
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/gnupg/tests/gpgscm/scheme-private.h
      type_or_value: (CELL_SEGSIZE >> 2)
    - item_type: preproc_def
      name: MAXFIL
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/gnupg/tests/gpgscm/scheme-private.h
      type_or_value: '64'
    - item_type: preproc_def
      name: LINESIZE
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/gnupg/tests/gpgscm/scheme-private.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: STRBUFFSIZE
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/gnupg/tests/gpgscm/scheme-private.h
      type_or_value: '256'
    structs:
    - fields:
      - name: kind
        type: unsigned char
      - name: rep
        type: "union {\n    struct {\n      FILE *file;\n      int closeit;\n    }
          stdio;\n    struct {\n      char *start;\n      char *past_the_end;\n      char
          *curr;\n    } string;\n  }"
      item_type: struct
      name: port
      pos:
        line_end: 41
        line_start: 24
        source_file: /src/gnupg/tests/gpgscm/scheme-private.h
    - fields:
      - name: _flag
        type: uintptr_t
      - name: _object
        type: "union {\n    num _number;\n    struct {\n      char   *_svalue;\n      int
          \  _length;\n    } _string;\n    port *_port;\n    foreign_func _ff;\n    struct
          {\n      struct cell *_car;\n      struct cell *_cdr;\n    } _cons;\n    struct
          {\n      size_t _length;\n      pointer _elements[0];\n    } _vector;\n
          \   struct {\n         char *_data;\n         const foreign_object_vtable
          *_vtable;\n    } _foreign_object;\n  }"
      item_type: struct
      name: cell
      pos:
        line_end: 67
        line_start: 44
        source_file: /src/gnupg/tests/gpgscm/scheme-private.h
    - fields:
      - name: N
        type: size_t
      - name: M
        type: size_t
      - name: mask_N
        type: size_t
      - name: mask_M
        type: size_t
      - name: callstack
        type: pointer
      - name: tailstacks
        type: pointer
      - name: n
        type: size_t
      - name: '*m'
        type: size_t
      item_type: struct
      name: history
      pos:
        line_end: 94
        line_start: 72
        source_file: /src/gnupg/tests/gpgscm/scheme-private.h
    - fields:
      - name: malloc
        type: func_alloc
      - name: free
        type: func_dealloc
      - name: retcode
        type: int
      - name: tracing
        type: int
      - name: '*cell_segments'
        type: struct cell_segment
      - name: args
        type: pointer
      - name: envir
        type: pointer
      - name: code
        type: pointer
      - name: dump
        type: pointer
      - name: frame_freelist
        type: pointer
      - name: interactive_repl
        type: int
      - name: _sink
        type: struct cell
      - name: sink
        type: pointer
      - name: _NIL
        type: struct cell
      - name: NIL
        type: pointer
      - name: _HASHT
        type: struct cell
      - name: T
        type: pointer
      - name: _HASHF
        type: struct cell
      - name: F
        type: pointer
      - name: _EOF_OBJ
        type: struct cell
      - name: EOF_OBJ
        type: pointer
      - name: oblist
        type: pointer
      - name: global_env
        type: pointer
      - name: c_nest
        type: pointer
      - name: LAMBDA
        type: pointer
      - name: QUOTE
        type: pointer
      - name: QQUOTE
        type: pointer
      - name: UNQUOTE
        type: pointer
      - name: UNQUOTESP
        type: pointer
      - name: FEED_TO
        type: pointer
      - name: COLON_HOOK
        type: pointer
      - name: ERROR_HOOK
        type: pointer
      - name: SHARP_HOOK
        type: pointer
      - name: free_cell
        type: pointer
      - name: fcells
        type: long
      - name: inhibit_gc
        type: size_t
      - name: reserved_cells
        type: size_t
      - name: inport
        type: pointer
      - name: outport
        type: pointer
      - name: save_inport
        type: pointer
      - name: loadport
        type: pointer
      - name: load_stack[MAXFIL]
        type: port
      - name: nesting_stack[MAXFIL]
        type: int
      - name: file_i
        type: int
      - name: nesting
        type: int
      - name: gc_verbose
        type: char
      - name: no_memory
        type: char
      - name: linebuff[LINESIZE]
        type: char
      - name: '*strbuff'
        type: char
      - name: strbuff_size
        type: size_t
      - name: '*tmpfp'
        type: FILE
      - name: tok
        type: int
      - name: print_flag
        type: int
      - name: value
        type: pointer
      - name: flags
        type: unsigned int
      - name: '*ext_data'
        type: void
      - name: gensym_cnt
        type: long
      - name: '*vptr'
        type: struct scheme_interface
      item_type: struct
      name: scheme
      pos:
        line_end: 205
        line_start: 97
        source_file: /src/gnupg/tests/gpgscm/scheme-private.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/tests/gpgscm/scheme-config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STANDALONE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/gnupg/tests/gpgscm/scheme-config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_MATH
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/gnupg/tests/gpgscm/scheme-config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_CHAR_CLASSIFIERS
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/gnupg/tests/gpgscm/scheme-config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ASCII_NAMES
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/gnupg/tests/gpgscm/scheme-config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_STRING_PORTS
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/gnupg/tests/gpgscm/scheme-config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ERROR_HOOK
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/gnupg/tests/gpgscm/scheme-config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_TRACING
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/gnupg/tests/gpgscm/scheme-config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_COLON_HOOK
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/gnupg/tests/gpgscm/scheme-config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_DL
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/gnupg/tests/gpgscm/scheme-config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_PLIST
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/tests/gpgscm/scheme-config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_INTERFACE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/gnupg/tests/gpgscm/scheme-config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SHOW_ERROR_LINE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/tests/gpgscm/scheme-config.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ADD_PREFIX0
  - ADD_PREFIX
  source_file: /src/gnupg/regexp/jimregexp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: regcomp
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/gnupg/regexp/jimregexp.h
      type_or_value: ADD_PREFIX(REGEXP_PREFIX,regcomp)
    - item_type: preproc_def
      name: regexec
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/gnupg/regexp/jimregexp.h
      type_or_value: ADD_PREFIX(REGEXP_PREFIX,regexec)
    - item_type: preproc_def
      name: regerror
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/gnupg/regexp/jimregexp.h
      type_or_value: ADD_PREFIX(REGEXP_PREFIX,regerror)
    - item_type: preproc_def
      name: regfree
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/gnupg/regexp/jimregexp.h
      type_or_value: ADD_PREFIX(REGEXP_PREFIX,regfree)
    - item_type: preproc_def
      name: REG_EXTENDED
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/gnupg/regexp/jimregexp.h
      type_or_value: '0'
    - item_type: preproc_def
      name: REG_NEWLINE
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/gnupg/regexp/jimregexp.h
      type_or_value: '1'
    - item_type: preproc_def
      name: REG_ICASE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/gnupg/regexp/jimregexp.h
      type_or_value: '2'
    - item_type: preproc_def
      name: REG_NOTBOL
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/gnupg/regexp/jimregexp.h
      type_or_value: '16'
    structs:
    - fields:
      - name: rm_so
        type: int
      - name: rm_eo
        type: int
      item_type: struct
      name: regmatch_t
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/gnupg/regexp/jimregexp.h
    - fields:
      - name: re_nsub
        type: int
      - name: cflags
        type: int
      - name: err
        type: int
      - name: regstart
        type: int
      - name: reganch
        type: int
      - name: regmust
        type: int
      - name: regmlen
        type: int
      - name: '*program'
        type: int
      - name: '*regparse'
        type: char
      - name: p
        type: int
      - name: proglen
        type: int
      - name: eflags
        type: int
      - name: '*start'
        type: char
      - name: '*reginput'
        type: char
      - name: '*regbol'
        type: char
      - name: '*pmatch'
        type: regmatch_t
      - name: nmatch
        type: int
      item_type: struct
      name: regexp
      pos:
        line_end: 92
        line_start: 65
        source_file: /src/gnupg/regexp/jimregexp.h
    typedefs:
    - item_type: typedef
      name: regex_t
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/gnupg/regexp/jimregexp.h
      type: regexp
    union: []
- function_names:
  - utf8_tounicode
  - utf8_getchars
  - utf8_upper
  - utf8_index
  - utf8_charlen
  source_file: /src/gnupg/regexp/utf8.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_UTF8_LEN
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/gnupg/regexp/utf8.h
      type_or_value: '4'
    - item_type: preproc_def
      name: utf8_getchars
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/gnupg/regexp/utf8.h
      type_or_value: utf8_fromunicode
    structs: []
    typedefs: []
    union: []
- function_names:
  - UCHAR
  - OP
  - NEXT
  - OPERAND
  - FAIL
  - ISMULT
  - str_int_len
  - regcomp
  - reg
  - regbranch
  - regpiece
  - reg_addrange
  - reg_addrange_str
  - reg_utf8_tounicode_case
  - hexdigitval
  - parse_hex
  - reg_decode_escape
  - regatom
  - reg_grow
  - regnode
  - regc
  - reginsert
  - regtail
  - regoptail
  - regexec
  - regtry
  - prefix_cmp
  - reg_range_find
  - str_find
  - reg_iseol
  - regmatchsimplerepeat
  - regmatchrepeat
  - regmatch
  - regrepeat
  - regnext
  - regopsize
  - regdump
  - regprop
  - regerror
  - regfree
  source_file: /src/gnupg/regexp/jimregexp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: REG_MAX_PAREN
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: '100'
    - item_type: preproc_def
      name: END
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: BOL
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: EOL
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: ANY
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: ANYOF
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: ANYBUT
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: BRANCH
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "6\t"
    - item_type: preproc_def
      name: BACK
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "7\t"
    - item_type: preproc_def
      name: EXACTLY
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "8\t"
    - item_type: preproc_def
      name: NOTHING
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "9\t"
    - item_type: preproc_def
      name: REP
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "10\t"
    - item_type: preproc_def
      name: REPMIN
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "11\t"
    - item_type: preproc_def
      name: REPX
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "12\t"
    - item_type: preproc_def
      name: REPXMIN
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "13\t"
    - item_type: preproc_def
      name: BOLX
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "14\t"
    - item_type: preproc_def
      name: EOLX
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "15\t"
    - item_type: preproc_def
      name: WORDA
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "16\t"
    - item_type: preproc_def
      name: WORDZ
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "17\t"
    - item_type: preproc_def
      name: OPENNC
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "1000\t"
    - item_type: preproc_def
      name: OPEN
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "1001\t"
    - item_type: preproc_def
      name: CLOSENC
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "2000 \t"
    - item_type: preproc_def
      name: CLOSE
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "2001 \t"
    - item_type: preproc_def
      name: CLOSE_END
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: (CLOSE+REG_MAX_PAREN)
    - item_type: preproc_def
      name: REG_MAGIC
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: '0xFADED00D'
    - item_type: preproc_def
      name: META
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: '"^$.[()|?{+*"'
    - item_type: preproc_def
      name: HASWIDTH
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: SIMPLE
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: SPSTART
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: WORST
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: MAX_REP_COUNT
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/gnupg/regexp/jimregexp.c
      type_or_value: '1000000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - utf8_fromunicode
  - utf8_charlen
  - utf8_index
  - utf8_tounicode
  - ARRAYSIZE
  - cmp_casemap
  - utf8_map_case
  - utf8_upper
  source_file: /src/gnupg/regexp/utf8.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: code
        type: unsigned short
      - name: altcode
        type: unsigned short
      item_type: struct
      name: casemap
      pos:
        line_end: 115
        line_start: 112
        source_file: /src/gnupg/regexp/utf8.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/gnupg/tools/crlf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mime_maker_new
  - release_parts
  - mime_maker_release
  - mime_maker_set_verbose
  - dump_parts
  - mime_maker_dump_tree
  - find_parent
  - find_part
  - generate_boundary
  - ensure_part
  - have_header
  - add_header
  - mime_maker_qp_encode
  - nextislf
  - tohex
  - mime_maker_add_header
  - add_body
  - mime_maker_add_body
  - mime_maker_add_body_data
  - mime_maker_add_stream
  - mime_maker_add_container
  - mime_maker_end_container
  - mime_maker_get_partid
  - write_header
  - write_gap
  - write_boundary
  - write_body
  - write_tree
  - add_missing_headers
  - mime_maker_make
  - mime_maker_get_part
  source_file: /src/gnupg/tools/mime-maker.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct header_s
      - name: '*value'
        type: char
      - name: name[1]
        type: char
      item_type: struct
      name: header_s
      pos:
        line_end: 38
        line_start: 33
        source_file: /src/gnupg/tools/mime-maker.c
    - fields:
      - name: '*next'
        type: struct part_s
      - name: '*child'
        type: struct part_s
      - name: '*boundary'
        type: char
      - name: headers
        type: header_t
      - name: '*headers_tail'
        type: header_t
      - name: bodylen
        type: size_t
      - name: '*body'
        type: char
      - name: partid
        type: unsigned int
      item_type: struct
      name: part_s
      pos:
        line_end: 55
        line_start: 44
        source_file: /src/gnupg/tools/mime-maker.c
    - fields:
      - name: '*cookie'
        type: void
      - name: verbose
        type: unsigned int
      - name: debug
        type: unsigned int
      - name: mail
        type: part_t
      - name: current_part
        type: part_t
      - name: partid_counter
        type: unsigned int
      - name: boundary_counter
        type: int
      - name: '*boundary_suffix'
        type: char
      - name: '*b64state'
        type: struct b64state
      - name: outfp
        type: estream_t
      item_type: struct
      name: mime_maker_context_s
      pos:
        line_end: 80
        line_start: 61
        source_file: /src/gnupg/tools/mime-maker.c
    typedefs:
    - item_type: typedef
      name: '*header_t'
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/gnupg/tools/mime-maker.c
      type: header_s
    - item_type: typedef
      name: '*part_t'
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/gnupg/tools/mime-maker.c
      type: part_s
    union: []
- function_names:
  - decrypt_data_status_cb
  - decrypt_data
  - verify_signature_status_cb
  - verify_signature
  - collect_encrypted
  - collect_signeddata
  - collect_signature
  - t2body
  - get_language
  - new_part
  - part_data
  - wks_receive
  source_file: /src/gnupg/tools/wks-receive.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SIGNEDDATA
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/gnupg/tools/wks-receive.c
      type_or_value: '10000'
    - item_type: preproc_def
      name: MAX_SIGNATURE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/tools/wks-receive.c
      type_or_value: '10000'
    - item_type: preproc_def
      name: MAX_ENCRYPTED
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/gnupg/tools/wks-receive.c
      type_or_value: '100000'
    structs:
    - fields:
      - name: parser
        type: mime_parser_t
      - name: encrypted
        type: estream_t
      - name: plaintext
        type: estream_t
      - name: signeddata
        type: estream_t
      - name: signature
        type: estream_t
      - name: key_data
        type: estream_t
      - name: wkd_data
        type: estream_t
      - name: '*ct_language'
        type: char
      - name: collect_key_data
        type: unsigned int
      - name: collect_wkd_data
        type: unsigned int
      - name: draft_version_2
        type: unsigned int
      - name: multipart_mixed_seen
        type: unsigned int
      item_type: struct
      name: receive_ctx_s
      pos:
        line_end: 57
        line_start: 43
        source_file: /src/gnupg/tools/wks-receive.c
    typedefs:
    - item_type: typedef
      name: '*receive_ctx_t'
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/gnupg/tools/wks-receive.c
      type: receive_ctx_s
    union: []
- function_names:
  - my_strusage
  - parse_arguments
  - main
  - authenticate
  - get_serialno_cb
  - agent_scd_getinfo_socket_name
  - start_agent
  - scd_serialno
  - scd_passwd_reset
  - ga_scd_connect
  - inq_needpin
  - card_keyinfo_cb
  - scd_keyinfo_list
  - put_second_field_cb
  - scd_get_pubkey
  - ga_scd_get_auth_keys
  - release_ssh_key_list
  - ssh_authorized_keys
  - ga_filter_by_authorized_keys
  - ga_release_auth_keys
  - getpin
  - scd_pkauth
  source_file: /src/gnupg/tools/gpg-auth.c
  types:
    enum:
    - enumerators:
      - name: aNull
        value: '0'
      - name: oQuiet
        value: '''q'''
      - name: oVerbose
        value: '''v'''
      - name: oAgentProgram
      - name: oDebug
        value: '500'
      - name: oStatusFD
      - name: oWithColons
      - name: oNoAutostart
      - name: oLCctype
      - name: oLCmessages
      - name: oDummy
      - name: oUseSCDDirectly
      item_type: enum
      name: opt_values
      pos:
        line_end: 87
        line_start: 67
        source_file: /src/gnupg/tools/gpg-auth.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/gnupg/tools/gpg-auth.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DBG_IPC_VALUE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/gnupg/tools/gpg-auth.c
      type_or_value: '1024 '
    - item_type: preproc_def
      name: DBG_EXTPROG_VALUE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/gnupg/tools/gpg-auth.c
      type_or_value: '16384 '
    - item_type: preproc_def
      name: DBG_IPC
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/gnupg/tools/gpg-auth.c
      type_or_value: (opt.debug & DBG_IPC_VALUE)
    - item_type: preproc_def
      name: DBG_EXTPROG
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/gnupg/tools/gpg-auth.c
      type_or_value: (opt.debug & DBG_EXTPROG_VALUE)
    structs:
    - fields:
      - name: interactive
        type: int
      - name: verbose
        type: int
      - name: debug
        type: unsigned int
      - name: quiet
        type: int
      - name: with_colons
        type: int
      - name: '*agent_program'
        type: char
      - name: autostart
        type: int
      - name: use_scd_directly
        type: int
      - name: '*lc_ctype'
        type: char
      - name: '*lc_messages'
        type: char
      item_type: struct
      name: opt
      pos:
        line_end: 56
        line_start: 38
        source_file: /src/gnupg/tools/gpg-auth.c
    - fields:
      - name: '*next'
        type: struct ga_key_list
      - name: keygrip[2*KEYGRIP_LEN+1]
        type: char
      - name: pubkey_len
        type: size_t
      - name: '*pubkey'
        type: char
      - name: '*comment'
        type: char
      item_type: struct
      name: ga_key_list
      pos:
        line_end: 196
        line_start: 190
        source_file: /src/gnupg/tools/gpg-auth.c
    - fields:
      - name: error
        type: int
      - name: list
        type: ga_key_list_t
      item_type: struct
      name: card_keyinfo_parm_s
      pos:
        line_end: 578
        line_start: 575
        source_file: /src/gnupg/tools/gpg-auth.c
    - fields:
      - name: '*next'
        type: struct ssh_key_list
      - name: '*pubkey'
        type: char
      - name: '*comment'
        type: char
      item_type: struct
      name: ssh_key_list
      pos:
        line_end: 775
        line_start: 771
        source_file: /src/gnupg/tools/gpg-auth.c
    typedefs:
    - item_type: typedef
      name: '*ga_key_list_t'
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/gnupg/tools/gpg-auth.c
      type: ga_key_list
    - item_type: typedef
      name: '*ssh_key_list_t'
      pos:
        line_end: 776
        line_start: 776
        source_file: /src/gnupg/tools/gpg-auth.c
      type: ssh_key_list
    union: []
- function_names:
  - struct
  source_file: /src/gnupg/tools/gpg-card.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DBG_IPC_VALUE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/gnupg/tools/gpg-card.h
      type_or_value: '1024 '
    - item_type: preproc_def
      name: DBG_EXTPROG_VALUE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/gnupg/tools/gpg-card.h
      type_or_value: '16384 '
    - item_type: preproc_def
      name: DBG_IPC
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/gnupg/tools/gpg-card.h
      type_or_value: (opt.debug & DBG_IPC_VALUE)
    - item_type: preproc_def
      name: DBG_EXTPROG
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/gnupg/tools/gpg-card.h
      type_or_value: (opt.debug & DBG_EXTPROG_VALUE)
    - item_type: preproc_def
      name: MAX_FINGERPRINT_LEN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/gnupg/tools/gpg-card.h
      type_or_value: '32'
    structs:
    - fields:
      - name: '*next'
        type: struct pubkey_s
      - name: grip[KEYGRIP_LEN]
        type: unsigned char
      - name: fpr[MAX_FINGERPRINT_LEN]
        type: unsigned char
      - name: fprlen
        type: unsigned char
      - name: created
        type: time_t
      - name: grip_valid
        type: unsigned int
      - name: requested
        type: unsigned int
      item_type: struct
      name: pubkey_s
      pos:
        line_end: 75
        line_start: 66
        source_file: /src/gnupg/tools/gpg-card.h
    - fields:
      - name: '*next'
        type: struct userid_s
      - name: '*value'
        type: char
      item_type: struct
      name: userid_s
      pos:
        line_end: 82
        line_start: 78
        source_file: /src/gnupg/tools/gpg-card.h
    - fields:
      - name: '*next'
        type: struct keyblock_s
      - name: protocol
        type: int
      - name: keys
        type: pubkey_t
      - name: uids
        type: userid_t
      item_type: struct
      name: keyblock_s
      pos:
        line_end: 91
        line_start: 85
        source_file: /src/gnupg/tools/gpg-card.h
    - fields:
      - name: '*next'
        type: struct key_info_s
      - name: grip[20]
        type: unsigned char
      - name: xflag
        type: unsigned char
      - name: '*keyalgo'
        type: char
      - name: keyalgo_id
        type: enum gcry_pk_algos
      - name: '*label'
        type: char
      - name: fprlen
        type: unsigned char
      - name: fpr[32]
        type: unsigned char
      - name: created
        type: u32
      - name: usage
        type: unsigned int
      - name: keyref[1]
        type: char
      item_type: struct
      name: key_info_s
      pos:
        line_end: 136
        line_start: 114
        source_file: /src/gnupg/tools/gpg-card.h
    - fields:
      - name: initialized
        type: int
      - name: need_sn_cmd
        type: int
      - name: card_removed
        type: int
      - name: error
        type: int
      - name: '*reader'
        type: char
      - name: '*cardtype'
        type: char
      - name: cardversion
        type: unsigned int
      - name: '*apptypestr'
        type: char
      - name: apptype
        type: app_type_t
      - name: appversion
        type: unsigned int
      - name: manufacturer_id
        type: unsigned int
      - name: '*manufacturer_name'
        type: char
      - name: '*serialno'
        type: char
      - name: '*dispserialno'
        type: char
      - name: '*disp_name'
        type: char
      - name: '*disp_lang'
        type: char
      - name: disp_sex
        type: int
      - name: '*pubkey_url'
        type: char
      - name: '*login_data'
        type: char
      - name: '*private_do[4]'
        type: char
      - name: cafpr1len
        type: char
      - name: cafpr2len
        type: char
      - name: cafpr3len
        type: char
      - name: cafpr1[20]
        type: char
      - name: cafpr2[20]
        type: char
      - name: cafpr3[20]
        type: char
      - name: kinfo
        type: key_info_t
      - name: sig_counter
        type: unsigned long
      - name: chv1_cached
        type: int
      - name: is_v2
        type: int
      - name: nchvmaxlen
        type: byte
      - name: chvmaxlen[4]
        type: int
      - name: nchvinfo
        type: byte
      - name: chvinfo[4]
        type: int
      - name: '*chvlabels'
        type: char
      - name: chvusage[2]
        type: unsigned char
      - name: extcap
        type: "struct {\n    unsigned int ki:1;     /* Key import available.  */\n
          \   unsigned int aac:1;    /* Algorithm attributes are changeable.  */\n
          \   unsigned int kdf:1;    /* KDF object to support PIN hashing available.
          \ */\n    unsigned int bt:1;     /* Button for confirmation available.     */\n
          \   unsigned int sm:1;     /* Secure messaging available.            */\n
          \   unsigned int smalgo:15;/* Secure messaging cipher algorithm.     */\n
          \   unsigned int private_dos:1;/* Support fpr private use DOs.       */\n
          \   unsigned int mcl3:16;  /* Max. length for a OpenPGP card cert.3  */\n
          \ }"
      - name: status_indicator
        type: unsigned int
      - name: kdf_do_enabled
        type: int
      - name: uif[3]
        type: int
      - name: supported_keyalgo[3]
        type: strlist_t
      item_type: struct
      name: card_info_s
      pos:
        line_end: 198
        line_start: 143
        source_file: /src/gnupg/tools/gpg-card.h
    typedefs:
    - item_type: typedef
      name: '*pubkey_t'
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/gnupg/tools/gpg-card.h
      type: pubkey_s
    - item_type: typedef
      name: '*userid_t'
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/gnupg/tools/gpg-card.h
      type: userid_s
    - item_type: typedef
      name: '*keyblock_t'
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/gnupg/tools/gpg-card.h
      type: keyblock_s
    - item_type: typedef
      name: '*key_info_t'
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/gnupg/tools/gpg-card.h
      type: key_info_s
    - item_type: typedef
      name: '*card_info_t'
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/gnupg/tools/gpg-card.h
      type: card_info_s
    union: []
- function_names: []
  source_file: /src/gnupg/tools/mime-parser.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*mime_parser_t'
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/gnupg/tools/mime-parser.h
      type: mime_parser_context_s
    union: []
- function_names:
  - wks_set_status_fd
  - wks_write_status
  - append_to_uidinfo_list
  - free_uidinfo_list
  - debug_gpg_invocation
  - get_key_status_cb
  - wks_get_key
  - key_status_cb
  - set_expired_revoked
  - wks_list_key
  - wks_filter_uid
  - wks_armor_key
  - wks_find_add_revocs
  - wks_send_mime
  - wks_parse_policy
  - wks_free_policy
  - wks_write_to_file
  - wks_fname_from_userid
  - wks_compute_hu_fname
  - ensure_policy_file
  - install_key_from_spec_file
  - wks_install_key_core
  - wks_cmd_install_key
  - wks_cmd_remove_key
  - wks_cmd_print_wkd_hash
  - wks_cmd_print_wkd_url
  source_file: /src/gnupg/tools/wks-util.c
  types:
    enum:
    - enumerators:
      - name: TOK_SUBMISSION_ADDRESS
      - name: TOK_MAILBOX_ONLY
      - name: TOK_AUTH_SUBMIT
      - name: TOK_MAX_PENDING
      - name: TOK_DANE_ONLY
      - name: TOK_PROTOCOL_VERSION
      item_type: enum
      name: tokens
      pos:
        line_end: 765
        line_start: 758
        source_file: /src/gnupg/tools/wks-util.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*fpr'
        type: char
      - name: found
        type: int
      - name: count
        type: int
      item_type: struct
      name: get_key_status_parm_s
      pos:
        line_end: 176
        line_start: 171
        source_file: /src/gnupg/tools/wks-util.c
    - fields:
      - name: '*name'
        type: char
      - name: token
        type: enum tokens
      item_type: struct
      name: "keywords[] = {\n    { \"submission-address\", TOK_SUBMISSION_ADDRESS
        },\n    { \"mailbox-only\", TOK_MAILBOX_ONLY },\n    { \"dane-only\",    TOK_DANE_ONLY
        \   },\n    { \"auth-submit\",  TOK_AUTH_SUBMIT  },\n    { \"max-pending\",
        \ TOK_MAX_PENDING  },\n    { \"protocol-version\", TOK_PROTOCOL_VERSION }\n
        \ }"
      pos:
        line_end: 769
        line_start: 766
        source_file: /src/gnupg/tools/wks-util.c
    typedefs: []
    union: []
- function_names:
  - create_server_socket
  - connect_to_socket
  - log_data
  - transfer_data
  - io_loop
  - set_nonblock_flag
  - serve_client
  - run_proxy
  - print_help
  - main
  source_file: /src/gnupg/tools/sockprox.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*protocol_file'
        type: char
      - name: '*server_spec'
        type: char
      - name: '*listen_spec'
        type: char
      - name: verbose
        type: int
      item_type: struct
      name: opt
      pos:
        line_end: 55
        line_start: 49
        source_file: /src/gnupg/tools/sockprox.c
    - fields:
      - name: client_sock
        type: int
      - name: '*protocol_file'
        type: FILE
      item_type: struct
      name: thread_data
      pos:
        line_end: 63
        line_start: 59
        source_file: /src/gnupg/tools/sockprox.c
    typedefs: []
    union: []
- function_names:
  - do_release_keyblock
  - release_keyblock
  - flush_keyblock_cache
  - status_cb
  - parse_key_record
  - get_matching_keys
  - dump_keyblock
  - test_get_matching_keys
  - export_key_status_cb
  - get_minimal_openpgp_key
  source_file: /src/gnupg/tools/card-keys.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: lru
        type: unsigned int
      - name: keyblock
        type: keyblock_t
      item_type: struct
      name: keyblock_cache[5]
      pos:
        line_end: 41
        line_start: 37
        source_file: /src/gnupg/tools/card-keys.c
    - fields:
      - name: '*pgm'
        type: char
      - name: no_pubkey
        type: int
      item_type: struct
      name: status_cb_s
      pos:
        line_end: 138
        line_start: 134
        source_file: /src/gnupg/tools/card-keys.c
    - fields:
      - name: '*fpr'
        type: char
      - name: found
        type: int
      - name: count
        type: int
      item_type: struct
      name: export_key_status_parm_s
      pos:
        line_end: 568
        line_start: 563
        source_file: /src/gnupg/tools/card-keys.c
    typedefs: []
    union: []
- function_names:
  - my_strusage
  - wrong_args
  - set_status_fd
  - write_status
  - main
  - xnvc_new
  - xnvc_set
  - xnvc_set_hex
  - xnvc_set_printf
  - xnvc_get_string
  - msgtypestr
  - get_session_id
  - set_session_id
  - get_session_id_hex
  - get_pairing_statedir
  - open_pairing_state
  - write_state
  - read_state
  - send_message
  - read_message
  - display_sas
  - create_dh_keypair
  - hash_data
  - hmac_data
  - kdf
  - compute_master_secret
  - make_msg_commit
  - proc_msg_commit
  - proc_msg_dhpart1
  - proc_msg_dhpart2
  - proc_msg_confirm
  - expire_old_states
  - command_initiate
  - expect_state
  - command_respond
  - command_get
  - command_cleanup
  source_file: /src/gnupg/tools/gpg-pair-tool.c
  types:
    enum:
    - enumerators:
      - name: aNull
        value: '0'
      - name: oVerbose
        value: '''v'''
      - name: oQuiet
        value: '''q'''
      - name: oArmor
        value: '''a'''
      - name: oOutput
        value: '''o'''
      - name: aInitiate
        value: '400'
      - name: aRespond
        value: '401'
      - name: aGet
        value: '402'
      - name: aCleanup
        value: '403'
      - name: oDebug
        value: '500'
      - name: oSAS
      - name: oHomedir
      - name: oDummy
      - name: oStatusFD
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 161
        line_start: 141
        source_file: /src/gnupg/tools/gpg-pair-tool.c
    preproc_defs:
    - item_type: preproc_def
      name: DBG_MESSAGE_VALUE
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/gnupg/tools/gpg-pair-tool.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: DBG_CRYPTO_VALUE
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/gnupg/tools/gpg-pair-tool.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: DBG_MEMORY_VALUE
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/gnupg/tools/gpg-pair-tool.c
      type_or_value: "32\t"
    - item_type: preproc_def
      name: DBG_MESSAGE
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/gnupg/tools/gpg-pair-tool.c
      type_or_value: (opt.debug & DBG_MESSAGE_VALUE)
    - item_type: preproc_def
      name: DBG_CRYPTO
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/gnupg/tools/gpg-pair-tool.c
      type_or_value: (opt.debug & DBG_CRYPTO_VALUE)
    - item_type: preproc_def
      name: PAIRING_STATE_DIR
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/gnupg/tools/gpg-pair-tool.c
      type_or_value: '"state"'
    - item_type: preproc_def
      name: MSG_TYPE_COMMIT
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/gnupg/tools/gpg-pair-tool.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MSG_TYPE_DHPART1
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/gnupg/tools/gpg-pair-tool.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MSG_TYPE_DHPART2
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/gnupg/tools/gpg-pair-tool.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MSG_TYPE_CONFIRM
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/gnupg/tools/gpg-pair-tool.c
      type_or_value: '4'
    - item_type: preproc_def
      name: REALM_STANDARD
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/gnupg/tools/gpg-pair-tool.c
      type_or_value: '1'
    structs:
    - fields:
      - name: verbose
        type: int
      - name: debug
        type: unsigned int
      - name: quiet
        type: int
      - name: armor
        type: int
      - name: '*output'
        type: char
      - name: statusfp
        type: estream_t
      - name: ttl
        type: unsigned int
      - name: '*sas'
        type: char
      item_type: struct
      name: opt
      pos:
        line_end: 200
        line_start: 190
        source_file: /src/gnupg/tools/gpg-pair-tool.c
    - fields:
      - name: initialized
        type: int
      - name: sessid[8]
        type: unsigned char
      item_type: struct
      name: session_id
      pos:
        line_end: 582
        line_start: 579
        source_file: /src/gnupg/tools/gpg-pair-tool.c
    typedefs: []
    union: []
- function_names:
  - octdigitp
  - my_strusage
  - unescape_string
  - unpercent_string
  - set_var
  - set_int_var
  - get_var
  - arithmetic_op
  - get_var_ext
  - substitute_line
  - substitute_line_copy
  - assign_variable
  - show_variables
  - add_definq
  - show_definq
  - clear_definq
  - do_sendfd
  - do_recvfd
  - do_open
  - do_close
  - do_showopen
  - getinfo_pid_cb
  - do_serverpid
  - help_cmd_p
  - main
  - handle_inquire
  - read_and_print_response
  - start_agent
  source_file: /src/gnupg/tools/gpg-connect-agent.c
  types:
    enum:
    - enumerators:
      - name: aNull
        value: '0'
      - name: oRawSocket
        value: '''S'''
      - name: oSubst
        value: '''s'''
      - name: oDecode
      - name: oAgentProgram
      - name: oUIServer
      - name: oVerbose
        value: '''v'''
      - name: oRun
        value: '''r'''
      - name: oHex
      - name: oHomedir
      - name: oKeyboxd
      - name: oChUid
      - name: oQuiet
        value: '''q'''
      - name: oExec
        value: '''E'''
      - name: oNoVerbose
        value: '500'
      - name: oDirmngr
      - name: oKeyboxdProgram
      - name: oNoAutostart
      - name: oTcpSocket
        value: '''T'''
      - name: oUnBuffered
        value: '''u'''
      - name: oDirmngrProgram
      - name: oNoExtConnect
      - name: oNoHistory
      - name: oNoop
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 77
        line_start: 49
        source_file: /src/gnupg/tools/gpg-connect-agent.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/tools/gpg-connect-agent.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CONTROL_D
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/gnupg/tools/gpg-connect-agent.c
      type_or_value: ('D' - 'A' + 1)
    - item_type: preproc_def
      name: HISTORYNAME
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/tools/gpg-connect-agent.c
      type_or_value: '".gpg-connect_history"'
    structs:
    - fields:
      - name: verbose
        type: int
      - name: quiet
        type: int
      - name: autostart
        type: int
      - name: '*homedir'
        type: char
      - name: '*agent_program'
        type: char
      - name: '*dirmngr_program'
        type: char
      - name: '*keyboxd_program'
        type: char
      - name: hex
        type: int
      - name: decode
        type: int
      - name: use_dirmngr
        type: int
      - name: use_keyboxd
        type: int
      - name: use_uiserver
        type: int
      - name: '*raw_socket'
        type: char
      - name: '*tcp_socket'
        type: char
      - name: exec
        type: int
      - name: connect_flags
        type: unsigned int
      - name: enable_varsubst
        type: int
      - name: trim_leading_spaces
        type: int
      - name: no_history
        type: int
      - name: unbuffered
        type: int
      item_type: struct
      name: opt
      pos:
        line_end: 141
        line_start: 119
        source_file: /src/gnupg/tools/gpg-connect-agent.c
    - fields:
      - name: '*next'
        type: struct definq_s
      - name: '*name'
        type: char
      - name: is_var
        type: int
      - name: is_prog
        type: int
      - name: file[1]
        type: char
      item_type: struct
      name: definq_s
      pos:
        line_end: 154
        line_start: 147
        source_file: /src/gnupg/tools/gpg-connect-agent.c
    - fields:
      - name: '*next'
        type: struct variable_s
      - name: '*value'
        type: char
      - name: name[1]
        type: char
      item_type: struct
      name: variable_s
      pos:
        line_end: 167
        line_start: 162
        source_file: /src/gnupg/tools/gpg-connect-agent.c
    - fields:
      - name: '*next'
        type: struct loopline_s
      - name: line[1]
        type: char
      item_type: struct
      name: loopline_s
      pos:
        line_end: 178
        line_start: 174
        source_file: /src/gnupg/tools/gpg-connect-agent.c
    - fields:
      - name: inuse
        type: int
      item_type: struct
      name: open_fd_table[256]
      pos:
        line_end: 195
        line_start: 189
        source_file: /src/gnupg/tools/gpg-connect-agent.c
    - fields:
      - name: collecting
        type: int
      - name: head
        type: loopline_t
      - name: '*tail'
        type: loopline_t
      - name: current
        type: loopline_t
      - name: nestlevel
        type: unsigned int
      - name: oneshot
        type: int
      - name: '*condition'
        type: char
      item_type: struct
      name: loopstack[20]
      pos:
        line_end: 1231
        line_start: 1223
        source_file: /src/gnupg/tools/gpg-connect-agent.c
    typedefs:
    - item_type: typedef
      name: '*definq_t'
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/gnupg/tools/gpg-connect-agent.c
      type: definq_s
    - item_type: typedef
      name: '*variable_t'
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/gnupg/tools/gpg-connect-agent.c
      type: variable_s
    - item_type: typedef
      name: '*loopline_t'
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/gnupg/tools/gpg-connect-agent.c
      type: loopline_s
    union: []
- function_names:
  - parse_xoctal
  - parse_header
  - parse_extended_header
  - read_header
  - skip_data
  - print_header
  - gpgtar_list
  - gpgtar_read_header
  - gpgtar_print_header
  source_file: /src/gnupg/tools/gpgtar-list.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - length_sans_trailing_ws
  - lowercase_string
  - my_toupper
  - same_header_name
  - my_stpcpy
  - do_callback
  - new_part
  - release_part
  - release_handle_data
  - rfc822_free
  - rfc822_valid_header_name_p
  - rfc822_capitalize_header_name
  - rfc822_cmp_header_name
  - rfc822parse_open
  - rfc822parse_cancel
  - rfc822parse_close
  - find_parent
  - set_current_part_to_parent
  - transition_to_body
  - transition_to_header
  - insert_header
  - insert_body
  - rfc822parse_insert
  - rfc822parse_finish
  - rfc822parse_last_header_line
  - rfc822parse_get_field
  - rfc822parse_enum_header_lines
  - find_header
  - skip_ws
  - release_token_list
  - new_token
  - append_to_token
  - parse_field
  - rfc822parse_parse_field
  - rfc822parse_release_field
  - is_parameter
  - rfc822parse_query_parameter
  - rfc822parse_query_media_type
  - dump_structure
  - show_param
  - show_event
  - msg_cb
  - main
  source_file: /src/gnupg/tools/rfc822parse.c
  types:
    enum:
    - enumerators:
      - name: tSPACE
      - name: tQUOTED
      - name: tSPECIAL
      - name: tATOM
      - name: tDOMAINLIT
      item_type: enum
      name: token_type
      pos:
        line_end: 56
        line_start: 49
        source_file: /src/gnupg/tools/rfc822parse.c
    preproc_defs:
    - item_type: preproc_def
      name: HEADER_NAME_CHARS
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/gnupg/tools/rfc822parse.c
      type_or_value: "(\"abcdefghijklmnopqrstuvwxyz\" \\\n                            \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"
        \\\n                            \"-01234567890\")"
    - item_type: preproc_def
      name: stpcpy
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/gnupg/tools/rfc822parse.c
      type_or_value: my_stpcpy
    structs:
    - fields:
      - name: next
        type: TOKEN
      - name: type
        type: enum token_type
      - name: flags
        type: "struct {\n    unsigned int cont:1;\n    unsigned int lowered:1;\n  }"
      - name: data[1]
        type: char
      item_type: struct
      name: rfc822parse_field_context
      pos:
        line_end: 70
        line_start: 60
        source_file: /src/gnupg/tools/rfc822parse.c
    - fields:
      - name: '*next'
        type: struct hdr_line
      - name: cont
        type: int
      - name: line[1]
        type: unsigned char
      item_type: struct
      name: hdr_line
      pos:
        line_end: 77
        line_start: 72
        source_file: /src/gnupg/tools/rfc822parse.c
    - fields:
      - name: '*right'
        type: struct part
      - name: '*down'
        type: struct part
      - name: hdr_lines
        type: HDR_LINE
      - name: '*hdr_lines_tail'
        type: HDR_LINE
      - name: '*last_hdr_line'
        type: char
      - name: '*boundary'
        type: char
      item_type: struct
      name: part
      pos:
        line_end: 90
        line_start: 82
        source_file: /src/gnupg/tools/rfc822parse.c
    - fields:
      - name: callback
        type: rfc822parse_cb_t
      - name: '*callback_value'
        type: void
      - name: callback_error
        type: int
      - name: in_body
        type: int
      - name: in_preamble
        type: int
      - name: parts
        type: part_t
      - name: current_part
        type: part_t
      - name: this_part
        type: part_t
      - name: '*boundary'
        type: char
      item_type: struct
      name: rfc822parse_context
      pos:
        line_end: 105
        line_start: 93
        source_file: /src/gnupg/tools/rfc822parse.c
    - fields:
      - name: '*name'
        type: unsigned char
      - name: namelen
        type: size_t
      item_type: struct
      name: "tspecial_header[] = {\n    { \"Content-Type\", 12},\n    { \"Content-Transfer-Encoding\",
        25},\n    { \"Content-Disposition\", 19},\n    { NULL, 0}\n  }"
      pos:
        line_end: 904
        line_start: 900
        source_file: /src/gnupg/tools/rfc822parse.c
    typedefs:
    - item_type: typedef
      name: '*TOKEN'
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/gnupg/tools/rfc822parse.c
      type: rfc822parse_field_context
    - item_type: typedef
      name: '*HDR_LINE'
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/gnupg/tools/rfc822parse.c
      type: hdr_line
    - item_type: typedef
      name: '*part_t'
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/gnupg/tools/rfc822parse.c
      type: part
    union: []
- function_names:
  - release_card_info
  - map_apptypestr
  - app_type_string
  - status_sc_op_failure
  - default_inq_cb
  - warn_version_mismatch
  - start_agent
  - unescape_status_string
  - unhexify_fpr
  - store_serialno
  - scd_apdu
  - dummy_data_cb
  - get_serialno_cb
  - scd_switchcard
  - scd_switchapp
  - parse_keyref_helper
  - create_kinfo
  - learn_status_cb
  - scd_learn
  - scd_getattr
  - scd_setattr
  - inq_writecert_parms
  - scd_writecert
  - scd_writekey
  - scd_genkey_cb
  - scd_genkey
  - scd_serialno
  - scd_readcert
  - scd_readkey
  - card_cardlist_cb
  - scd_cardlist
  - scd_applist
  - scd_change_pin
  - scd_checkpin
  - agent_get_s2k_count
  - havekey_status_cb
  - scd_havekey_info
  - scd_delete_key
  - scd_apdu_strerror
  source_file: /src/gnupg/tools/card-call-scd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONTROL_D
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/tools/card-call-scd.c
      type_or_value: ('D' - 'A' + 1)
    - item_type: preproc_def
      name: START_AGENT_NO_STARTUP_CMDS
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/tools/card-call-scd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: START_AGENT_SUPPRESS_ERRORS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/tools/card-call-scd.c
      type_or_value: '2'
    structs:
    - fields:
      - name: ctx
        type: assuan_context_t
      - name: keyinfo
        type: "struct {\n    u32 *keyid;\n    u32 *mainkeyid;\n    int pubkey_algo;\n
          \ }"
      item_type: struct
      name: default_inq_parm_s
      pos:
        line_end: 56
        line_start: 48
        source_file: /src/gnupg/tools/card-call-scd.c
    - fields:
      - name: '*dflt'
        type: struct default_inq_parm_s
      - name: ctx
        type: assuan_context_t
      - name: '*ciphertext'
        type: unsigned char
      - name: ciphertextlen
        type: size_t
      item_type: struct
      name: cipher_parm_s
      pos:
        line_end: 64
        line_start: 58
        source_file: /src/gnupg/tools/card-call-scd.c
    - fields:
      - name: '*dflt'
        type: struct default_inq_parm_s
      - name: '*certdata'
        type: unsigned char
      - name: certdatalen
        type: size_t
      item_type: struct
      name: writecert_parm_s
      pos:
        line_end: 71
        line_start: 66
        source_file: /src/gnupg/tools/card-call-scd.c
    - fields:
      - name: '*dflt'
        type: struct default_inq_parm_s
      - name: '*keydata'
        type: unsigned char
      - name: keydatalen
        type: size_t
      item_type: struct
      name: writekey_parm_s
      pos:
        line_end: 78
        line_start: 73
        source_file: /src/gnupg/tools/card-call-scd.c
    - fields:
      - name: '*dflt'
        type: struct default_inq_parm_s
      - name: '*keyparms'
        type: char
      - name: '*passphrase'
        type: char
      item_type: struct
      name: genkey_parm_s
      pos:
        line_end: 85
        line_start: 80
        source_file: /src/gnupg/tools/card-call-scd.c
    - fields:
      - name: error
        type: gpg_error_t
      - name: with_apps
        type: int
      - name: list
        type: strlist_t
      item_type: struct
      name: card_cardlist_parm_s
      pos:
        line_end: 92
        line_start: 87
        source_file: /src/gnupg/tools/card-call-scd.c
    - fields:
      - name: '*dflt'
        type: struct default_inq_parm_s
      - name: '*key'
        type: void
      - name: keylen
        type: size_t
      item_type: struct
      name: import_key_parm_s
      pos:
        line_end: 99
        line_start: 94
        source_file: /src/gnupg/tools/card-call-scd.c
    - fields:
      - name: '**cache_nonce_addr'
        type: char
      - name: '**passwd_nonce_addr'
        type: char
      item_type: struct
      name: cache_nonce_parm_s
      pos:
        line_end: 106
        line_start: 102
        source_file: /src/gnupg/tools/card-call-scd.c
    - fields:
      - name: '*string'
        type: char
      item_type: struct
      name: havekey_status_parm_s
      pos:
        line_end: 1778
        line_start: 1775
        source_file: /src/gnupg/tools/card-call-scd.c
    typedefs: []
    union: []
- function_names:
  - struct
  source_file: /src/gnupg/tools/gpg-wks.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WKS_DRAFT_VERSION
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/gnupg/tools/gpg-wks.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DBG_MIME_VALUE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/gnupg/tools/gpg-wks.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: DBG_PARSER_VALUE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/tools/gpg-wks.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: DBG_CRYPTO_VALUE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/gnupg/tools/gpg-wks.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: DBG_MEMORY_VALUE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/gnupg/tools/gpg-wks.h
      type_or_value: "32\t"
    - item_type: preproc_def
      name: DBG_MEMSTAT_VALUE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/gnupg/tools/gpg-wks.h
      type_or_value: "128\t"
    - item_type: preproc_def
      name: DBG_IPC_VALUE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/gnupg/tools/gpg-wks.h
      type_or_value: '1024 '
    - item_type: preproc_def
      name: DBG_EXTPROG_VALUE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/gnupg/tools/gpg-wks.h
      type_or_value: '16384 '
    - item_type: preproc_def
      name: DBG_MIME
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/gnupg/tools/gpg-wks.h
      type_or_value: (opt.debug & DBG_MIME_VALUE)
    - item_type: preproc_def
      name: DBG_PARSER
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/gnupg/tools/gpg-wks.h
      type_or_value: (opt.debug & DBG_PARSER_VALUE)
    - item_type: preproc_def
      name: DBG_CRYPTO
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/gnupg/tools/gpg-wks.h
      type_or_value: (opt.debug & DBG_CRYPTO_VALUE)
    - item_type: preproc_def
      name: WKS_RECEIVE_DRAFT2
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/gnupg/tools/gpg-wks.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*submission_address'
        type: char
      - name: mailbox_only
        type: unsigned int
      - name: dane_only
        type: unsigned int
      - name: auth_submit
        type: unsigned int
      - name: protocol_version
        type: unsigned int
      - name: max_pending
        type: unsigned int
      item_type: struct
      name: policy_flags_s
      pos:
        line_end: 73
        line_start: 65
        source_file: /src/gnupg/tools/gpg-wks.h
    - fields:
      - name: '*next'
        type: struct uidinfo_list_s
      - name: created
        type: time_t
      - name: '*mbox'
        type: char
      - name: flags
        type: unsigned int
      - name: expired
        type: unsigned int
      - name: revoked
        type: unsigned int
      - name: uid[1]
        type: char
      item_type: struct
      name: uidinfo_list_s
      pos:
        line_end: 87
        line_start: 78
        source_file: /src/gnupg/tools/gpg-wks.h
    typedefs:
    - item_type: typedef
      name: '*policy_flags_t'
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/gnupg/tools/gpg-wks.h
      type: policy_flags_s
    - item_type: typedef
      name: '*uidinfo_list_t'
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/gnupg/tools/gpg-wks.h
      type: uidinfo_list_s
    union: []
- function_names: []
  source_file: /src/gnupg/tools/call-dirmngr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - find_kinfo
  - hex_to_buffer
  - send_apdu
  source_file: /src/gnupg/tools/card-misc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_strusage
  - get_outfp
  - set_status_fd
  - gpgconf_write_status
  - list_dirs
  - valid_swdb_name_p
  - query_swdb
  - dotlock_tool
  - main
  - gpgconf_failure
  - get_revision_from_blurb
  - w32_get_integrity_level
  - show_version_gnupg
  - show_version_libgcrypt
  - show_version_gpgrt
  - show_versions_via_dirmngr
  - show_versions
  - my_copy_file
  - show_configs_one_file
  - my_read_reg_string
  - show_other_registry_entries
  - show_registry_entries_from_file
  - show_configs
  source_file: /src/gnupg/tools/gpgconf.c
  types:
    enum:
    - enumerators:
      - name: oVerbose
        value: '''v'''
      - name: aListDirs
        value: '''L'''
      - name: oStatusFD
      - name: aShowConfigs
        value: '''X'''
      - name: aCheckPrograms
      - name: aApplyDefaults
      - name: aLaunch
      - name: aShowCodepages
      - name: aNull
        value: '0'
      - name: oQuiet
        value: '''q'''
      - name: oNull
        value: '''0'''
      - name: aShowVersions
        value: '''V'''
      - name: oBuilddir
      - name: aListComponents
      - name: aCheckOptions
      - name: aQuerySWDB
      - name: aApplyProfile
      - name: oOutput
        value: '''o'''
      - name: oComponent
        value: '''c'''
      - name: oHomedir
      - name: oChUid
      - name: aReload
        value: '''R'''
      - name: aChangeOptions
      - name: aCheckConfig
      - name: aRemoveSocketDir
      - name: oDryRun
        value: '''n'''
      - name: oRuntime
        value: '''r'''
      - name: aKill
        value: '''K'''
      - name: oShowSocket
      - name: oNoVerbose
        value: '500'
      - name: aListOptions
      - name: aListConfig
      - name: aCreateSocketDir
      - name: aDotlockLock
      - name: aDotlockUnlock
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 81
        line_start: 42
        source_file: /src/gnupg/tools/gpgconf.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/tools/gpgconf.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CUTLINE_FMT
      pos:
        line_end: 144
        line_start: 142
        source_file: /src/gnupg/tools/gpgconf.c
      type_or_value: '"--8<---------------cut here---------------%s------------->8---\n"'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*(*fnc)(void)'
        type: char
      - name: '*extra'
        type: char
      item_type: struct
      name: "list[] = {\n    { \"sysconfdir\",         gnupg_sysconfdir, NULL },\n
        \   { \"bindir\",             gnupg_bindir,     NULL },\n    { \"libexecdir\",
        \        gnupg_libexecdir, NULL },\n    { \"libdir\",             gnupg_libdir,
        \    NULL },\n    { \"datadir\",            gnupg_datadir,    NULL },\n    {
        \"localedir\",          gnupg_localedir,  NULL },\n    { \"socketdir\",          gnupg_socketdir,
        \ NULL },\n    { \"dirmngr-socket\",     dirmngr_socket_name, NULL,},\n    {
        \"keyboxd-socket\",     keyboxd_socket_name, NULL,},\n    { \"agent-ssh-socket\",
        \  gnupg_socketdir,  GPG_AGENT_SSH_SOCK_NAME },\n    { \"agent-extra-socket\",
        gnupg_socketdir,  GPG_AGENT_EXTRA_SOCK_NAME },\n    { \"agent-browser-socket\",gnupg_socketdir,
        GPG_AGENT_BROWSER_SOCK_NAME },\n    { \"agent-socket\",       gnupg_socketdir,
        \ GPG_AGENT_SOCK_NAME },\n    { NULL,                 gnupg_socketdir,  \"S.uiserver\"
        },\n    { \"homedir\",            gnupg_homedir,    NULL }\n  }"
      pos:
        line_end: 267
        line_start: 263
        source_file: /src/gnupg/tools/gpgconf.c
    - fields:
      - name: group
        type: int
      - name: '*name'
        type: char
      - name: prependregkey
        type: unsigned int
      item_type: struct
      name: "names[] =\n  {\n    { 1, \"HKLM\\\\Software\\\\Gpg4win:Install Directory\"
        },\n    { 1, \"HKLM\\\\Software\\\\Gpg4win:Desktop-Version\" },\n    { 1,
        \"HKLM\\\\Software\\\\Gpg4win:VS-Desktop-Version\" },\n    { 1, \":HomeDir\",
        1 },\n    { 1, \":DefaultLogFile\", 1 },\n    { 2, \"\\\\Software\\\\Microsoft\\\\Office\\\\Outlook\\\\Addins\\\\GNU.GpgOL\"\n
        \     \":LoadBehavior\" },\n    { 2, \"HKCU\\\\Software\\\\Microsoft\\\\Office\\\\16.0\\\\Outlook\\\\Options\\\\Mail:\"\n
        \     \"ReadAsPlain\" },\n    { 2, \"HKCU\\\\Software\\\\Policies\\\\Microsoft\\\\Office\\\\16.0\\\\Outlook\\\\\"\n
        \     \"Options\\\\Mail:ReadAsPlain\" },\n    { 3, \"logFile\" },\n    { 3,
        \"enableDebug\" },\n    { 3, \"searchSmimeServers\" },\n    { 3, \"smimeInsecureReplyAllowed\"
        },\n    { 3, \"enableSmime\" },\n    { 3, \"preferSmime\" },\n    { 3, \"encryptDefault\"
        },\n    { 3, \"signDefault\" },\n    { 3, \"inlinePGP\" },\n    { 3, \"replyCrypt\"
        },\n    { 3, \"autoresolve\" },\n    { 3, \"autoretrieve\" },\n    { 3, \"automation\"
        },\n    { 3, \"autosecure\" },\n    { 3, \"autotrust\" },\n    { 3, \"autoencryptUntrusted\"
        },\n    { 3, \"autoimport\" },\n    { 3, \"splitBCCMails\" },\n    { 3, \"combinedOpsEnabled\"
        },\n    { 3, \"encryptSubject\" },\n    { 0, NULL }\n    /*  We should add
        the following key but also hide unset ones.:\n     *   \"smimeNoCertSigErr\"\n
        \    *   \"smimeHtmlWarnShown\"\n     *   \"alwaysShowApproval\"\n     *   \"syncDec\"\n
        \    *   \"syncEnc\"\n     *   \"draftEnc\"\n     *   \"draftKey\"\n     *
        Or we just interate over the GpgOL keys.\n     */\n  }"
      pos:
        line_end: 1649
        line_start: 1645
        source_file: /src/gnupg/tools/gpgconf.c
    typedefs: []
    union: []
- function_names:
  - my_strusage
  - set_opt_session_env
  - parse_arguments
  - main
  - nullnone
  - get_data_from_file
  - fixup_scd_errors
  - maybe_set_card_removed
  - put_data_to_file
  - get_selection
  - print_help
  - print_shax_fpr
  - print_keygrip
  - print_string
  - print_isoname
  - mem_is_zero
  - list_one_kinfo
  - piv_keyref_is_retired
  - list_all_kinfo
  - list_retry_counter
  - list_openpgp
  - list_piv
  - list_nks
  - list_p15
  - print_a_version
  - list_card
  - print_card_list
  - cmd_list
  - cmd_checkkeys
  - cmd_verify
  - cmd_authenticate
  - ask_one_name
  - cmd_name
  - cmd_url
  - cmd_fetch
  - cmd_login
  - cmd_lang
  - cmd_salut
  - cmd_cafpr
  - cmd_privatedo
  - cmd_writecert
  - cmd_readcert
  - cmd_writekey
  - cmd_forcesig
  - check_pin_for_key_operation
  - restore_forced_chv1
  - ask_replace_keys
  - generate_all_openpgp_card_keys
  - generate_key
  - cmd_generate
  - cmd_passwd
  - cmd_unblock
  - cmd_factoryreset
  - gen_kdf_data
  - cmd_kdfsetup
  - show_keysize_warning
  - cmd_uif
  - cmd_yubikey
  - cmd_apdu
  - cmd_gpg
  - cmd_history
  - dispatch_command
  - interactive_loop
  - command_generator
  - command_completion
  source_file: /src/gnupg/tools/gpg-card.c
  types:
    enum:
    - enumerators:
      - name: oVerbose
        value: '''v'''
      - name: oStatusFD
      - name: oDisplay
      - name: oLCctype
      - name: oChUid
      - name: oQuiet
        value: '''q'''
      - name: oGpgsmProgram
      - name: oAgentProgram
      - name: oXauthority
      - name: oNoHistory
      - name: oGpgProgram
      - name: oNoAutostart
      - name: oTTYtype
      - name: oNoKeyLookup
      - name: oDummy
      - name: aNull
        value: '0'
      - name: oDebug
        value: '500'
      - name: oWithColons
      - name: oLCmessages
      - name: oTTYname
      item_type: enum
      name: opt_values
      pos:
        line_end: 83
        line_start: 55
        source_file: /src/gnupg/tools/gpg-card.c
    - enumerators:
      - name: cmdQUIT
      - name: cmdRESET
      - name: cmdFETCH
      - name: cmdLANG
      - name: cmdGENERATE
      - name: cmdREADCERT
      - name: cmdKDFSETUP
      - name: cmdAPDU
      - name: cmdCHECKKEYS
      - name: cmdLISTCARDS
      - name: cmdURL
      - name: cmdWRITECERT
      - name: cmdLOGIN
      - name: cmdFORCESIG
      - name: cmdFACTRST
      - name: cmdYUBIKEY
      - name: cmdHISTORY
      - name: cmdNOP
        value: '0'
      - name: cmdLIST
      - name: cmdNAME
      - name: cmdPRIVATEDO
      - name: cmdCAFPR
      - name: cmdUNBLOCK
      - name: cmdAUTH
      - name: cmdGPGSM
      - name: cmdINVCMD
      - name: cmdHELP
      - name: cmdVERIFY
      - name: cmdSALUT
      - name: cmdPASSWD
      - name: cmdWRITEKEY
      - name: cmdUIF
      - name: cmdGPG
      item_type: enum
      name: cmdids
      pos:
        line_end: 3898
        line_start: 3888
        source_file: /src/gnupg/tools/gpg-card.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/gnupg/tools/gpg-card.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CONTROL_D
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/gnupg/tools/gpg-card.c
      type_or_value: ('D' - 'A' + 1)
    - item_type: preproc_def
      name: HISTORYNAME
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/tools/gpg-card.c
      type_or_value: '".gpg-card_history"'
    - item_type: preproc_def
      name: MAX_GET_DATA_FROM_FILE
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/gnupg/tools/gpg-card.c
      type_or_value: '16384'
    - item_type: preproc_def
      name: OPENPGP_USER_PIN_DEFAULT
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/gnupg/tools/gpg-card.c
      type_or_value: '"123456"'
    - item_type: preproc_def
      name: OPENPGP_ADMIN_PIN_DEFAULT
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/gnupg/tools/gpg-card.c
      type_or_value: '"12345678"'
    - item_type: preproc_def
      name: OPENPGP_KDF_DATA_LENGTH_MIN
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/gnupg/tools/gpg-card.c
      type_or_value: '90'
    - item_type: preproc_def
      name: OPENPGP_KDF_DATA_LENGTH_MAX
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/gnupg/tools/gpg-card.c
      type_or_value: '110'
    structs:
    - fields:
      - name: '*label'
        type: char
      - name: '*keyref'
        type: char
      item_type: struct
      name: keyinfolabel_s
      pos:
        line_end: 128
        line_start: 124
        source_file: /src/gnupg/tools/gpg-card.c
    - fields:
      - name: '*name'
        type: char
      - name: id
        type: enum cmdids
      - name: '*desc'
        type: char
      item_type: struct
      name: "cmds[] = {\n  { \"quit\"    ,  cmdQUIT,       N_(\"quit this menu\")},\n
        \ { \"q\"       ,  cmdQUIT,       NULL },\n  { \"bye\"     ,  cmdQUIT,       NULL
        },\n  { \"help\"    ,  cmdHELP,       N_(\"show this help\")},\n  { \"?\"
        \      ,  cmdHELP,       NULL },\n  { \"list\"    ,  cmdLIST,       N_(\"list
        all available data\")},\n  { \"l\"       ,  cmdLIST,       NULL },\n  { \"ll\"
        \     ,  cmdLISTCARDS,  NULL },\n  { \"name\"    ,  cmdNAME,       N_(\"change
        card holder's name\")},\n  { \"url\"     ,  cmdURL,        N_(\"change URL
        to retrieve key\")},\n  { \"fetch\"   ,  cmdFETCH,      N_(\"fetch the key
        specified in the card URL\")},\n  { \"login\"   ,  cmdLOGIN,      N_(\"change
        the login name\")},\n  { \"lang\"    ,  cmdLANG,       N_(\"change the language
        preferences\")},\n  { \"salutation\",cmdSALUT,      N_(\"change card holder's
        salutation\")},\n  { \"salut\"   ,  cmdSALUT,      NULL },\n  { \"cafpr\"
        \  ,  cmdCAFPR ,     N_(\"change a CA fingerprint\")},\n  { \"forcesig\",
        \ cmdFORCESIG,   N_(\"toggle the signature force PIN flag\")},\n  { \"generate\",
        \ cmdGENERATE,   N_(\"generate new keys\")},\n  { \"passwd\"  ,  cmdPASSWD,
        \    N_(\"menu to change or unblock the PIN\")},\n  { \"verify\"  ,  cmdVERIFY,
        \    N_(\"verify the PIN and list all data\")},\n  { \"unblock\" ,  cmdUNBLOCK,
        \   N_(\"unblock the PIN using a Reset Code\")},\n  { \"authenticate\",cmdAUTH,
        \    N_(\"authenticate to the card\")},\n  { \"auth\"    ,  cmdAUTH,       NULL
        },\n  { \"reset\"   ,  cmdRESET,      N_(\"send a reset to the card daemon\")},\n
        \ { \"factory-reset\",cmdFACTRST, N_(\"destroy all keys and data\")},\n  {
        \"kdf-setup\", cmdKDFSETUP,   N_(\"setup KDF for PIN authentication\")},\n
        \ { \"uif\",       cmdUIF,        N_(\"change the User Interaction Flag\")},\n
        \ { \"privatedo\", cmdPRIVATEDO,  N_(\"change a private data object\")},\n
        \ { \"readcert\",  cmdREADCERT,   N_(\"read a certificate from a data object\")},\n
        \ { \"writecert\", cmdWRITECERT,  N_(\"store a certificate to a data object\")},\n
        \ { \"writekey\",  cmdWRITEKEY,   N_(\"store a private key to a data object\")},\n
        \ { \"checkkeys\", cmdCHECKKEYS,  N_(\"run various checks on the keys\")},\n
        \ { \"yubikey\",   cmdYUBIKEY,    N_(\"Yubikey management commands\")},\n
        \ { \"gpg\",       cmdGPG,        NULL},\n  { \"gpgsm\",     cmdGPGSM,      NULL},\n
        \ { \"apdu\",      cmdAPDU,       NULL},\n  { \"history\",   cmdHISTORY,    N_(\"manage
        the command history\")},\n  { NULL, cmdINVCMD, NULL }\n}"
      pos:
        line_end: 3905
        line_start: 3900
        source_file: /src/gnupg/tools/gpg-card.c
    typedefs:
    - item_type: typedef
      name: '*keyinfolabel_t'
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/gnupg/tools/gpg-card.c
      type: keyinfolabel_s
    union: []
- function_names:
  - my_strusage
  - set_cmd
  - shell_parse_stringlist
  - addchar
  - addargument
  - shell_parse_argv
  - parse_arguments
  - main
  - read_record
  - write_record
  - openpgp_message_p
  source_file: /src/gnupg/tools/gpgtar.c
  types:
    enum:
    - enumerators:
      - name: aExtract
      - name: aList
        value: '''t'''
      - name: oFilesFrom
        value: '''T'''
      - name: oOutput
        value: '''o'''
      - name: oSkipCrypto
      - name: oNull
      - name: oAnswerYes
      - name: oWithLog
      - name: oTarArgs
      - name: aNull
        value: '0'
      - name: aEncrypt
        value: '''e'''
      - name: oSymmetric
        value: '''c'''
      - name: oDirectory
        value: '''C'''
      - name: oNoVerbose
        value: '500'
      - name: oOpenPGP
      - name: oUtf8Strings
      - name: oAnswerNo
      - name: oCompatibilityFlags
      - name: oTarProgram
      - name: aDecrypt
        value: '''d'''
      - name: oRecipient
        value: '''r'''
      - name: aSignEncrypt
      - name: oQuiet
        value: '''q'''
      - name: oCMS
      - name: oNoCompress
      - name: oStatusFD
      - name: oGpgArgs
      - name: oDebug
      - name: oDryRun
      - name: aCreate
        value: '600'
      - name: aSign
        value: '''s'''
      - name: oUser
        value: '''u'''
      - name: oGpgProgram
      - name: oVerbose
        value: '''v'''
      - name: oSetFilename
      - name: oBatch
      - name: oRequireCompliance
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 96
        line_start: 50
        source_file: /src/gnupg/tools/gpgtar.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/tools/gpgtar.c
      type_or_value: '1'
    - item_type: preproc_def
      name: unquoted
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/gnupg/tools/gpgtar.c
      type_or_value: '0'
    - item_type: preproc_def
      name: singlequote
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/gnupg/tools/gpgtar.c
      type_or_value: '''\'''''
    - item_type: preproc_def
      name: doublequote
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/gnupg/tools/gpgtar.c
      type_or_value: '''"'''
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_strusage
  - main
  - read_file
  - get_regerror
  - parse_pattern_file
  - match_p
  - process
  source_file: /src/gnupg/tools/gpg-check-pattern.c
  types:
    enum:
    - enumerators:
      - name: aNull
        value: '0'
      - name: oVerbose
        value: '''v'''
      - name: oNull
        value: '''0'''
      - name: oNoVerbose
        value: '500'
      - name: oCheck
      - name: oHomedir
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 59
        line_start: 49
        source_file: /src/gnupg/tools/gpg-check-pattern.c
    preproc_defs:
    - item_type: preproc_def
      name: NCHUNK
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/gnupg/tools/gpg-check-pattern.c
      type_or_value: '8192'
    structs:
    - fields:
      - name: verbose
        type: int
      - name: '*homedir'
        type: char
      - name: checkonly
        type: int
      - name: 'null'
        type: int
      item_type: struct
      name: opt
      pos:
        line_end: 84
        line_start: 78
        source_file: /src/gnupg/tools/gpg-check-pattern.c
    - fields:
      - name: type
        type: int
      - name: lineno
        type: unsigned int
      - name: newblock
        type: unsigned int
      - name: icase
        type: unsigned int
      - name: accept
        type: unsigned int
      - name: reverse
        type: unsigned int
      - name: u
        type: "union {\n    struct {\n      const char *string;  /* Pointer to the
          actual string (nul termnated).  */\n      size_t length;       /* The length
          of this string (strlen).  */\n    } s; /*PAT_STRING*/\n    struct {\n      /*
          We allocate the regex_t because this type is larger than what\n         we
          need for PAT_STRING and we expect only a few regex in a\n         patternfile.
          \ It would be a waste of core to have so many\n         unused stuff in
          the table.  */\n      regex_t *regex;\n    } r; /*PAT_REGEX*/\n  }"
      item_type: struct
      name: pattern_s
      pos:
        line_end: 116
        line_start: 95
        source_file: /src/gnupg/tools/gpg-check-pattern.c
    typedefs:
    - item_type: typedef
      name: pattern_t
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/gnupg/tools/gpg-check-pattern.c
      type: pattern_s
    union: []
- function_names:
  - my_strusage
  - parse_arguments
  - main
  - only_ascii
  - mail_tube_message_cb
  - mail_tube_encrypt
  - get_vsd_gpgbin
  - prepare_for_appimage
  - start_gpg_encrypt
  source_file: /src/gnupg/tools/gpg-mail-tube.c
  types:
    enum:
    - enumerators:
      - name: aDefault
        value: '0'
      - name: oVerbose
        value: '''v'''
      - name: oQuiet
        value: '''q'''
      - name: oAsAttach
        value: '''a'''
      - name: oDebug
        value: '500'
      - name: oGpgProgram
      - name: oHeader
      - name: oVSD
      - name: oLogFile
      - name: oNoStderr
      - name: oSetenv
      - name: oDummy
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 64
        line_start: 46
        source_file: /src/gnupg/tools/gpg-mail-tube.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/gnupg/tools/gpg-mail-tube.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DBG_MIME_VALUE
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/gnupg/tools/gpg-mail-tube.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: DBG_PARSER_VALUE
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/gnupg/tools/gpg-mail-tube.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: DBG_CRYPTO_VALUE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/gnupg/tools/gpg-mail-tube.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: DBG_EXTPROG_VALUE
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/gnupg/tools/gpg-mail-tube.c
      type_or_value: '16384 '
    - item_type: preproc_def
      name: DBG_MIME
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/gnupg/tools/gpg-mail-tube.c
      type_or_value: (opt.debug & DBG_MIME_VALUE)
    - item_type: preproc_def
      name: DBG_PARSER
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/gnupg/tools/gpg-mail-tube.c
      type_or_value: (opt.debug & DBG_PARSER_VALUE)
    - item_type: preproc_def
      name: DBG_CRYPTO
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/gnupg/tools/gpg-mail-tube.c
      type_or_value: (opt.debug & DBG_CRYPTO_VALUE)
    - item_type: preproc_def
      name: DBG_EXTPROG
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/gnupg/tools/gpg-mail-tube.c
      type_or_value: (opt.debug & DBG_EXTPROG_VALUE)
    structs:
    - fields:
      - name: verbose
        type: int
      - name: debug
        type: unsigned int
      - name: quiet
        type: int
      - name: '*logfile'
        type: char
      - name: '*gpg_program'
        type: char
      - name: extra_headers
        type: strlist_t
      - name: vsd
        type: unsigned int
      - name: no_stderr
        type: unsigned int
      - name: as_attach
        type: unsigned int
      item_type: struct
      name: opt
      pos:
        line_end: 100
        line_start: 88
        source_file: /src/gnupg/tools/gpg-mail-tube.c
    - fields:
      - name: msg
        type: rfc822parse_t
      - name: err
        type: gpg_error_t
      - name: mime_version_seen
        type: unsigned int
      - name: in_body
        type: unsigned int
      - name: in_ct
        type: unsigned int
      - name: line[5000]
        type: char
      item_type: struct
      name: parser_context_s
      pos:
        line_end: 147
        line_start: 127
        source_file: /src/gnupg/tools/gpg-mail-tube.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/gnupg/tools/clean-sat.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/tools/rfc822parse.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*rfc822parse_t'
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/gnupg/tools/rfc822parse.h
      type: rfc822parse_context
    - item_type: typedef
      name: '*rfc822parse_field_t'
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/gnupg/tools/rfc822parse.h
      type: rfc822parse_field_context
    - item_type: typedef
      name: "(*rfc822parse_cb_t) (void *opaque,\n                                 rfc822parse_event_t
        event,\n                                 rfc822parse_t msg)"
      pos:
        line_end: 49
        line_start: 47
        source_file: /src/gnupg/tools/rfc822parse.h
      type: int
    union: []
- function_names:
  - digitp
  - hexdigitp
  - ascii_isspace
  - xtoi_1
  - die
  - err
  - convert_le_u32
  - convert_le_u16
  - print_pr_data
  - print_as_ascii
  - print_t1_block
  - print_p2r_header
  - print_p2r_iccpoweron
  - print_p2r_iccpoweroff
  - print_p2r_getslotstatus
  - print_p2r_xfrblock
  - print_p2r_getparameters
  - print_p2r_resetparameters
  - print_p2r_setparameters
  - print_p2r_escape
  - print_p2r_iccclock
  - print_p2r_to0apdu
  - print_p2r_secure
  - print_p2r_mechanical
  - print_p2r_abort
  - print_p2r_setdatarate
  - print_p2r_unknown
  - print_p2r
  - print_r2p_header
  - print_r2p_datablock
  - print_r2p_slotstatus
  - print_r2p_parameters
  - print_r2p_escape
  - print_r2p_datarate
  - print_r2p_unknown
  - print_r2p
  - flush_data
  - collect_data
  - parse_line
  - parse_line_sniffusb
  - parse_input
  - main
  source_file: /src/gnupg/tools/ccidmon.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PACKAGE_VERSION
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/tools/ccidmon.c
      type_or_value: '"[build on " __DATE__ " " __TIME__ "]"'
    - item_type: preproc_def
      name: PACKAGE_BUGREPORT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/gnupg/tools/ccidmon.c
      type_or_value: '"devnull@example.org"'
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/gnupg/tools/ccidmon.c
      type_or_value: '"ccidmon"'
    - item_type: preproc_def
      name: GNUPG_NAME
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/gnupg/tools/ccidmon.c
      type_or_value: '"GnuPG"'
    structs:
    - fields:
      - name: is_bi
        type: int
      - name: timestamp[20]
        type: char
      - name: address[50]
        type: char
      - name: count
        type: int
      - name: data[16000]
        type: char
      item_type: struct
      name: databuffer
      pos:
        line_end: 73
        line_start: 66
        source_file: /src/gnupg/tools/ccidmon.c
    typedefs: []
    union: []
- function_names:
  - check_suspicious_name
  - try_mkdir_p
  - extract_regular
  - extract_directory
  - extract
  - create_directory
  - check_output_directory
  - gpgtar_extract
  source_file: /src/gnupg/tools/gpgtar-extract.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: dirent
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/gnupg/tools/gpgtar-extract.c
      type_or_value: _wdirent
    - item_type: preproc_def
      name: DIR
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/gnupg/tools/gpgtar-extract.c
      type_or_value: _WDIR
    - item_type: preproc_def
      name: readdir
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/gnupg/tools/gpgtar-extract.c
      type_or_value: _wreaddir
    - item_type: preproc_def
      name: closedir
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/gnupg/tools/gpgtar-extract.c
      type_or_value: _wclosedir
    structs: []
    typedefs: []
    union: []
- function_names:
  - parse_ul_config_value
  - set_ul_config_value
  - yk_list
  - yk_enable_disable
  - yubikey_commands
  source_file: /src/gnupg/tools/card-yubikey.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: YKAPP_USB_SUPPORTED
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/gnupg/tools/card-yubikey.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: YKAPP_USB_ENABLED
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/tools/card-yubikey.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: YKAPP_NFC_SUPPORTED
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/tools/card-yubikey.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: YKAPP_NFC_ENABLED
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/tools/card-yubikey.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: YKAPP_SELECTED
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/tools/card-yubikey.c
      type_or_value: '0x80  '
    structs:
    - fields:
      - name: usb
        type: unsigned int
      - name: nfc
        type: unsigned int
      item_type: struct
      name: iface_s
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/gnupg/tools/card-yubikey.c
    - fields:
      - name: otp
        type: unsigned int
      - name: u2f
        type: unsigned int
      - name: opgp
        type: unsigned int
      - name: piv
        type: unsigned int
      - name: oath
        type: unsigned int
      - name: fido2
        type: unsigned int
      item_type: struct
      name: ykapps_s
      pos:
        line_end: 57
        line_start: 50
        source_file: /src/gnupg/tools/card-yubikey.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/tools/send-mail.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_qp_encode
  - main
  source_file: /src/gnupg/tools/t-mime-maker.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*plain'
        type: char
      - name: '*encoded'
        type: char
      item_type: struct
      name: "samples[] =\n    {\n      { \"\",\n        \"\"\n      },{\n        \"From
        someone\\n\"\n        \" I received this mail\\n\",\n        \"=46rom someone\\n\"\n
        \       \" I received this mail\\n\"\n      },{\n        \" From someone\\n\",\n
        \       \" From someone\\n\"\n      },{\n        \"Foo\\n\"\n        \".\\n\",\n
        \       \"Foo\\n\"\n        \"=2E\\n\"\n      },{\n        \"Foo\\n\"\n        \".\",\n
        \       \"Foo\\n\"\n        \"=2E\"\n      },{\n        \"Hello \xC4\xD6\xDC\xA7\xE4\xF6\xFC\xDF
        my dear umlauts\",\n        \"Hello =C3=84=C3=96=C3=9C=C2=A7=C3=A4=C3=B6=C3=BC=C3=9F
        \"\n        \"my dear umlauts\"\n      },{\n        \"\U0001F440\\t\u24B6\",\n
        \       \"=F0=9F=91=80\\t=E2=92=B6\"\n      }\n    }"
      pos:
        line_end: 41
        line_start: 37
        source_file: /src/gnupg/tools/t-mime-maker.c
    typedefs: []
    union: []
- function_names:
  - gc_error
  - gc_option_free
  - gc_components_free
  - gc_components_init
  - gpg_agent_runtime_change
  - scdaemon_runtime_change
  - tpm2daemon_runtime_change
  - dirmngr_runtime_change
  - keyboxd_runtime_change
  - gc_component_launch
  - do_runtime_change
  - gc_component_kill
  - gc_component_reload
  - my_dgettext
  - gc_percent_escape
  - percent_deescape
  - gc_component_list_components
  - all_digits_p
  - collect_error_output
  - gc_component_check_options
  - gc_check_programs
  - gc_component_find
  - list_one_option
  - gc_component_list_options
  - is_known_option
  - find_option
  - read_line_wrapper
  - retrieve_options_from_program
  - gc_component_retrieve_options
  - option_check_validity
  - copy_file
  - change_options_program
  - change_one_value
  - gc_component_change_options
  - key_matches_user_or_group
  - gc_process_gpgconf_conf
  - gc_apply_profile
  source_file: /src/gnupg/tools/gpgconf-comp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WIN32_LEAN_AND_MEAN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/gnupg/tools/gpgconf-comp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: GC_OPT_FLAG_GROUP
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/gnupg/tools/gpgconf-comp.c
      type_or_value: (1UL << 0)
    - item_type: preproc_def
      name: GC_OPT_FLAG_ARG_OPT
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/gnupg/tools/gpgconf-comp.c
      type_or_value: (1UL << 1)
    - item_type: preproc_def
      name: GC_OPT_FLAG_LIST
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/gnupg/tools/gpgconf-comp.c
      type_or_value: (1UL << 2)
    - item_type: preproc_def
      name: GC_OPT_FLAG_RUNTIME
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/gnupg/tools/gpgconf-comp.c
      type_or_value: (1UL << 3)
    - item_type: preproc_def
      name: BUF_LEN
      pos:
        line_end: 2326
        line_start: 2325
        source_file: /src/gnupg/tools/gpgconf-comp.c
      type_or_value: '4096'
    structs:
    - fields:
      - name: fallback
        type: gc_arg_type_t
      - name: '*name'
        type: char
      item_type: struct
      name: "gc_arg_type[GC_ARG_TYPE_NR] =\n  {\n    /* The basic argument types have
        their own types as fallback.  */\n    { GC_ARG_TYPE_NONE, \"none\" },\n    {
        GC_ARG_TYPE_STRING, \"string\" },\n    { GC_ARG_TYPE_INT32, \"int32\" },\n
        \   { GC_ARG_TYPE_UINT32, \"uint32\" },\n\n    /* Reserved basic type entries
        for future extension.  */\n    { GC_ARG_TYPE_NR, NULL }, { GC_ARG_TYPE_NR,
        NULL },\n    { GC_ARG_TYPE_NR, NULL }, { GC_ARG_TYPE_NR, NULL },\n    { GC_ARG_TYPE_NR,
        NULL }, { GC_ARG_TYPE_NR, NULL },\n    { GC_ARG_TYPE_NR, NULL }, { GC_ARG_TYPE_NR,
        NULL },\n    { GC_ARG_TYPE_NR, NULL }, { GC_ARG_TYPE_NR, NULL },\n    { GC_ARG_TYPE_NR,
        NULL }, { GC_ARG_TYPE_NR, NULL },\n    { GC_ARG_TYPE_NR, NULL }, { GC_ARG_TYPE_NR,
        NULL },\n    { GC_ARG_TYPE_NR, NULL }, { GC_ARG_TYPE_NR, NULL },\n    { GC_ARG_TYPE_NR,
        NULL }, { GC_ARG_TYPE_NR, NULL },\n    { GC_ARG_TYPE_NR, NULL }, { GC_ARG_TYPE_NR,
        NULL },\n    { GC_ARG_TYPE_NR, NULL }, { GC_ARG_TYPE_NR, NULL },\n    { GC_ARG_TYPE_NR,
        NULL }, { GC_ARG_TYPE_NR, NULL },\n    { GC_ARG_TYPE_NR, NULL }, { GC_ARG_TYPE_NR,
        NULL },\n    { GC_ARG_TYPE_NR, NULL }, { GC_ARG_TYPE_NR, NULL },\n\n    /*
        The complex argument types have a basic type as fallback.  */\n    { GC_ARG_TYPE_STRING,
        \"filename\" },\n    { GC_ARG_TYPE_STRING, \"ldap server\" },\n    { GC_ARG_TYPE_STRING,
        \"key fpr\" },\n    { GC_ARG_TYPE_STRING, \"pub key\" },\n    { GC_ARG_TYPE_STRING,
        \"sec key\" },\n    { GC_ARG_TYPE_STRING, \"alias list\" },\n  }"
      pos:
        line_end: 180
        line_start: 172
        source_file: /src/gnupg/tools/gpgconf-comp.c
    - fields:
      - name: '*name'
        type: char
      item_type: struct
      name: "gc_level[] =\n  {\n    { \"basic\" },\n    { \"advanced\" },\n    { \"expert\"
        },\n    { \"invisible\" },\n    { \"internal\" }\n  }"
      pos:
        line_end: 247
        line_start: 244
        source_file: /src/gnupg/tools/gpgconf-comp.c
    - fields:
      - name: '*name'
        type: char
      item_type: struct
      name: "gc_flag[] =\n  {\n    { \"group\" },\n    { \"optional arg\" },\n    {
        \"list\" },\n    { \"runtime\" },\n    { \"default\" },\n    { \"default desc\"
        },\n    { \"no arg desc\" },\n    { \"no change\" }\n  }"
      pos:
        line_end: 284
        line_start: 281
        source_file: /src/gnupg/tools/gpgconf-comp.c
    - fields:
      - name: '*name'
        type: char
      - name: flags
        type: unsigned long
      - name: level
        type: gc_expert_level_t
      - name: arg_type
        type: gc_arg_type_t
      item_type: struct
      name: known_option_s
      pos:
        line_end: 317
        line_start: 301
        source_file: /src/gnupg/tools/gpgconf-comp.c
    - fields:
      - name: '*name'
        type: char
      - name: '*desc'
        type: char
      - name: is_header
        type: unsigned int
      - name: is_list
        type: unsigned int
      - name: opt_arg
        type: unsigned int
      - name: runtime
        type: unsigned int
      - name: gpgconf_list
        type: unsigned int
      - name: has_default
        type: unsigned int
      - name: def_in_desc
        type: unsigned int
      - name: no_arg_desc
        type: unsigned int
      - name: no_change
        type: unsigned int
      - name: attr_ignore
        type: unsigned int
      - name: attr_force
        type: unsigned int
      - name: level
        type: gc_expert_level_t
      - name: arg_type
        type: gc_arg_type_t
      - name: '*default_value'
        type: char
      - name: '*value'
        type: char
      - name: new_flags
        type: unsigned long
      - name: '*new_value'
        type: char
      item_type: struct
      name: gc_option_s
      pos:
        line_end: 597
        line_start: 555
        source_file: /src/gnupg/tools/gpgconf-comp.c
    - fields:
      - name: '*program'
        type: char
      - name: '*name'
        type: char
      - name: '*desc_domain'
        type: char
      - name: '*desc'
        type: char
      - name: module_name
        type: char
      - name: '*option_config_filename'
        type: char
      - name: '*known_options'
        type: known_option_t
      - name: '**known_pseudo_options'
        type: char
      - name: (*runtime_change) (int killflag)
        type: void
      - name: '*opt_table'
        type: gpgrt_opt_t
      - name: '*options'
        type: gc_option_t
      item_type: struct
      name: "gc_component[GC_COMPONENT_NR] =\n  {\n   /* Note: The order of the items
        must match the order given in the\n    * gc_component_id_t enumeration.  The
        order is often used by\n    * frontends to display the backend options thus
        do not change the\n    * order without considering the user experience.  */\n
        \  { NULL },   /* DUMMY for GC_COMPONENT_ANY */\n\n   { GPG_NAME,  GPG_DISP_NAME,
        \    \"gnupg\",  N_(\"OpenPGP\"),\n     GNUPG_MODULE_NAME_GPG, GPG_NAME \".conf\",\n
        \    known_options_gpg, known_pseudo_options_gpg },\n\n   { GPGSM_NAME, GPGSM_DISP_NAME,
        \ \"gnupg\",  N_(\"S/MIME\"),\n     GNUPG_MODULE_NAME_GPGSM, GPGSM_NAME \".conf\",\n
        \    known_options_gpgsm, known_pseudo_options_gpgsm },\n\n   { KEYBOXD_NAME,
        KEYBOXD_DISP_NAME, \"gnupg\", N_(\"Public Keys\"),\n     GNUPG_MODULE_NAME_KEYBOXD,
        KEYBOXD_NAME \".conf\",\n     known_options_keyboxd, NULL, keyboxd_runtime_change
        },\n\n   { GPG_AGENT_NAME, GPG_AGENT_DISP_NAME, \"gnupg\", N_(\"Private Keys\"),\n
        \    GNUPG_MODULE_NAME_AGENT, GPG_AGENT_NAME \".conf\",\n     known_options_gpg_agent,
        NULL, gpg_agent_runtime_change },\n\n   { SCDAEMON_NAME, SCDAEMON_DISP_NAME,
        \"gnupg\", N_(\"Smartcards\"),\n     GNUPG_MODULE_NAME_SCDAEMON, SCDAEMON_NAME
        \".conf\",\n     known_options_scdaemon, NULL, scdaemon_runtime_change},\n\n#ifdef
        BUILD_WITH_TPM2D\n   { TPM2DAEMON_NAME, TPM2DAEMON_DISP_NAME, \"gnupg\", N_(\"TPM\"),\n
        \    GNUPG_MODULE_NAME_TPM2DAEMON, TPM2DAEMON_NAME \".conf\",\n     known_options_tpm2daemon,
        NULL, tpm2daemon_runtime_change},\n#else\n   { NULL },  /* DUMMY to keep the
        table in-sync with enums */\n#endif\n\n   { DIRMNGR_NAME, DIRMNGR_DISP_NAME,
        \"gnupg\",   N_(\"Network\"),\n     GNUPG_MODULE_NAME_DIRMNGR, DIRMNGR_NAME
        \".conf\",\n     known_options_dirmngr, NULL, dirmngr_runtime_change },\n\n
        \  { \"pinentry\", \"Pinentry\", \"gnupg\", N_(\"Passphrase Entry\"),\n     GNUPG_MODULE_NAME_PINENTRY,
        NULL,\n     known_options_pinentry }\n  }"
      pos:
        line_end: 651
        line_start: 603
        source_file: /src/gnupg/tools/gpgconf-comp.c
    - fields:
      - name: next
        type: error_line_t
      - name: '*fname'
        type: char
      - name: lineno
        type: unsigned int
      - name: '*errtext'
        type: char
      - name: buffer[1]
        type: char
      item_type: struct
      name: error_line_s
      pos:
        line_end: 708
        line_start: 701
        source_file: /src/gnupg/tools/gpgconf-comp.c
    - fields:
      - name: '*pgmname'
        type: char
      - name: fp
        type: estream_t
      - name: '*line'
        type: char
      - name: line_len
        type: size_t
      - name: '**extra_lines'
        type: char
      - name: extra_lines_idx
        type: int
      - name: '*extra_line_buffer'
        type: char
      item_type: struct
      name: read_line_wrapper_parm_s
      pos:
        line_end: 1691
        line_start: 1682
        source_file: /src/gnupg/tools/gpgconf-comp.c
    typedefs:
    - item_type: typedef
      name: known_option_t
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/gnupg/tools/gpgconf-comp.c
      type: known_option_s
    - item_type: typedef
      name: gc_option_t
      pos:
        line_end: 598
        line_start: 598
        source_file: /src/gnupg/tools/gpgconf-comp.c
      type: gc_option_s
    - item_type: typedef
      name: '*error_line_t'
      pos:
        line_end: 700
        line_start: 700
        source_file: /src/gnupg/tools/gpgconf-comp.c
      type: error_line_s
    union: []
- function_names:
  - struct
  source_file: /src/gnupg/tools/gpgconf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_dirmngr_options
  - connect_dirmngr
  - wkd_get_data_cb
  - wkd_get_status_cb
  - wkd_get_submission_address
  - wkd_get_policy_flags
  - wkd_get_key
  - wkd_dirmngr_ks_get
  source_file: /src/gnupg/tools/call-dirmngr.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: verbose
        type: int
      - name: debug_ipc
        type: int
      - name: autostart
        type: int
      item_type: struct
      name: opt
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/gnupg/tools/call-dirmngr.c
    - fields:
      - name: memfp
        type: estream_t
      item_type: struct
      name: wkd_get_parm_s
      pos:
        line_end: 98
        line_start: 95
        source_file: /src/gnupg/tools/call-dirmngr.c
    typedefs: []
    union: []
- function_names:
  - my_strusage
  - main
  - g10_exit
  - pkttype_to_string
  - create_filename
  - read_u16
  - read_u32
  - write_old_header
  - write_new_header
  - public_key_length
  - handle_zlib
  - handle_bzip2
  - write_part
  - do_split
  - split_packets
  source_file: /src/gnupg/tools/gpgsplit.c
  types:
    enum:
    - enumerators:
      - name: aNull
        value: '0'
      - name: oSecretToPublic
      - name: oPrefix
        value: '''p'''
      - name: oUncompress
        value: '500'
      - name: oVerbose
        value: '''v'''
      - name: oNoSplit
      - name: aTest
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 64
        line_start: 55
        source_file: /src/gnupg/tools/gpgsplit.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/tools/gpgsplit.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_strusage
  - wrong_args
  - parse_arguments
  - main
  - only_ascii
  - my_subst_vars_cb
  - my_subst_vars
  - copy_key_as_binary
  - copy_key_as_dane
  - encrypt_stream_status_cb
  - encrypt_stream
  - sign_stream_status_cb
  - sign_stream
  - get_submission_address
  - get_policy_flags
  - make_pending_fname
  - store_key_as_pending
  - send_confirmation_request
  - process_new_key
  - send_congratulation_message
  - check_and_publish
  - process_confirmation_response
  - command_receive_cb
  - get_domain_list
  - expire_one_domain
  - expire_pending_confirmations
  - command_list_domains
  - command_cron
  - command_check_key
  - command_revoke_key
  source_file: /src/gnupg/tools/gpg-wks-server.c
  types:
    enum:
    - enumerators:
      - name: aNull
        value: '0'
      - name: oOutput
        value: '''o'''
      - name: aCron
      - name: aRemoveKey
      - name: oFrom
      - name: oDummy
      - name: oVerbose
        value: '''v'''
      - name: aReceive
      - name: oSend
      - name: oWithFile
      - name: aRevokeKey
      - name: oQuiet
        value: '''q'''
      - name: oDebug
        value: '500'
      - name: aInstallKey
      - name: oWithDir
      - name: oGpgProgram
      - name: oDirectory
        value: '''C'''
      - name: aListDomains
      - name: oHeader
      - name: aCheck
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 83
        line_start: 56
        source_file: /src/gnupg/tools/gpg-wks-server.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/gnupg/tools/gpg-wks-server.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PENDING_TTL
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/tools/gpg-wks-server.c
      type_or_value: '(86400 * 3)  '
    structs:
    - fields:
      - name: '*fpr'
        type: char
      - name: mboxes
        type: uidinfo_list_t
      - name: '*language'
        type: char
      - name: draft_version_2
        type: unsigned int
      item_type: struct
      name: server_ctx_s
      pos:
        line_end: 146
        line_start: 140
        source_file: /src/gnupg/tools/gpg-wks-server.c
    - fields:
      - name: '*address'
        type: char
      item_type: struct
      name: my_subst_vars_s
      pos:
        line_end: 452
        line_start: 449
        source_file: /src/gnupg/tools/gpg-wks-server.c
    - fields:
      - name: '*name'
        type: char
      - name: '*perm'
        type: char
      item_type: struct
      name: "requireddirs[] = {\n    { \"pending\", \"-rwx\" },\n    { \"hu\",      \"-rwxr-xr-x\"
        }\n  }"
      pos:
        line_end: 1965
        line_start: 1962
        source_file: /src/gnupg/tools/gpg-wks-server.c
    typedefs:
    - item_type: typedef
      name: '*server_ctx_t'
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/gnupg/tools/gpg-wks-server.c
      type: server_ctx_s
    union: []
- function_names:
  - run_sendmail
  - send_mail
  - send_mail_to_file
  source_file: /src/gnupg/tools/send-mail.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cert_key
  - url_key
  - usage
  - main
  source_file: /src/gnupg/tools/make-dns-cert.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/tools/mime-maker.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*mime_maker_t'
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/gnupg/tools/mime-maker.h
      type: mime_maker_context_s
    union: []
- function_names:
  - my_strusage
  - wrong_args
  - parse_arguments
  - main
  - read_file
  - cmp_blacklist
  - add_blacklist
  - is_in_blacklist
  - proc_userid_from_stdin
  - add_user_id
  - decrypt_stream_status_cb
  - decrypt_stream
  - get_policy_and_sa
  - command_supported
  - command_check
  - command_create
  - encrypt_response_status_cb
  - encrypt_response
  - send_confirmation_response
  - process_confirmation_request
  - read_confirmation_request
  - command_receive_cb
  - domain_matches_mbox
  - mirror_one_keys_userid
  - mirror_one_key
  - command_mirror
  source_file: /src/gnupg/tools/gpg-wks-client.c
  types:
    enum:
    - enumerators:
      - name: oDirectory
        value: '''C'''
      - name: aCreate
      - name: aRead
      - name: aPrintWKDHash
      - name: oFakeSubmissionAddr
      - name: oNoAutostart
      - name: aNull
        value: '0'
      - name: oOutput
        value: '''o'''
      - name: aCheck
      - name: oSend
      - name: aRemoveKey
      - name: oBlacklist
      - name: oRealClean
      - name: oDummy
      - name: oVerbose
        value: '''v'''
      - name: aSupported
      - name: oGpgProgram
      - name: aInstallKey
      - name: oWithColons
      - name: oNoAddRevocs
      - name: oQuiet
        value: '''q'''
      - name: oDebug
        value: '500'
      - name: aReceive
      - name: aMirror
      - name: aPrintWKDURL
      - name: oStatusFD
      - name: oAddRevocs
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 83
        line_start: 49
        source_file: /src/gnupg/tools/gpg-wks-client.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/tools/gpg-wks-client.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NCHUNK
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/gnupg/tools/gpg-wks-client.c
      type_or_value: '32767'
    structs:
    - fields:
      - name: '*fpr'
        type: char
      - name: '*mainfpr'
        type: char
      - name: otrust
        type: int
      item_type: struct
      name: decrypt_stream_parm_s
      pos:
        line_end: 783
        line_start: 778
        source_file: /src/gnupg/tools/gpg-wks-client.c
    - fields:
      - name: '*domain'
        type: char
      - name: anyerror
        type: int
      - name: nkeys
        type: unsigned int
      - name: nuids
        type: unsigned int
      item_type: struct
      name: mirror_one_key_parm
      pos:
        line_end: 1912
        line_start: 1906
        source_file: /src/gnupg/tools/gpg-wks-client.c
    typedefs: []
    union: []
- function_names:
  - die
  - err
  - xmalloc
  - xcalloc
  - xrealloc
  - print_fd_and_time
  - print_line
  - setup_client
  - get_logname
  - print_version
  - main
  source_file: /src/gnupg/tools/watchgnupg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/tools/watchgnupg.c
      type_or_value: '"watchgnupg"'
    - item_type: preproc_def
      name: MYVERSION_LINE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/gnupg/tools/watchgnupg.c
      type_or_value: PGM " ("GNUPG_NAME") " VERSION
    - item_type: preproc_def
      name: BUGREPORT_LINE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/gnupg/tools/watchgnupg.c
      type_or_value: '"\nReport bugs to <bug-gnupg@gnu.org>.\n"'
    - item_type: preproc_def
      name: MYVERSION_LINE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/gnupg/tools/watchgnupg.c
      type_or_value: PGM " (standalone build) " __DATE__
    - item_type: preproc_def
      name: BUGREPORT_LINE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/gnupg/tools/watchgnupg.c
      type_or_value: '""'
    - item_type: preproc_def
      name: GNUPG_DEF_COPYRIGHT_LINE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/gnupg/tools/watchgnupg.c
      type_or_value: '"Copyright (C) 2020 g10 Code GmbH"'
    structs:
    - fields:
      - name: '*next'
        type: struct client_s
      - name: fd
        type: int
      - name: size
        type: size_t
      - name: len
        type: size_t
      - name: '*buffer'
        type: unsigned char
      item_type: struct
      name: client_s
      pos:
        line_end: 132
        line_start: 125
        source_file: /src/gnupg/tools/watchgnupg.c
    typedefs:
    - item_type: typedef
      name: '*client_t'
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/gnupg/tools/watchgnupg.c
      type: client_s
    union: []
- function_names:
  - die
  - err
  - xmalloc
  - stpcpy
  - run_gnupg
  - verify_signature
  - mime_signed_begin
  - mime_encrypted_begin
  - pkcs7_begin
  - show_event
  - message_cb
  - parse_message
  - main
  source_file: /src/gnupg/tools/gpgparsemail.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/tools/gpgparsemail.c
      type_or_value: '"gpgparsemail"'
    structs:
    - fields:
      - name: show_header
        type: int
      - name: show_data
        type: int
      - name: skip_show
        type: unsigned int
      - name: show_data_as_note
        type: int
      - name: show_boundary
        type: int
      - name: nesting_level
        type: int
      - name: is_pkcs7
        type: int
      - name: smfm_state
        type: int
      - name: is_smime
        type: int
      - name: '*signing_protocol'
        type: char
      - name: '*signing_protocol_2'
        type: char
      - name: hashing_level
        type: int
      - name: hashing
        type: int
      - name: '*hash_file'
        type: FILE
      - name: '*sig_file'
        type: FILE
      - name: verify_now
        type: int
      item_type: struct
      name: parse_info_s
      pos:
        line_end: 80
        line_start: 54
        source_file: /src/gnupg/tools/gpgparsemail.c
    typedefs: []
    union: []
- function_names:
  - out_of_memory
  - gcry_malloc
  - gcry_malloc_secure
  - gcry_xmalloc
  - gcry_strdup
  - gcry_realloc
  - gcry_xrealloc
  - gcry_calloc
  - gcry_xcalloc
  - gcry_xstrdup
  - gcry_free
  - gcry_control
  - gcry_set_outofcore_handler
  - gcry_set_fatalerror_handler
  - gcry_create_nonce
  - gcry_cipher_algo_name
  source_file: /src/gnupg/tools/no-libgcrypt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - struct
  source_file: /src/gnupg/tools/gpgtar.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RECORDSIZE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/gnupg/tools/gpgtar.h
      type_or_value: '512'
    - item_type: preproc_def
      name: COMPAT_NO_DIR_CHECK
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/gnupg/tools/gpgtar.h
      type_or_value: '1'
    structs:
    - fields:
      - name: nblocks
        type: unsigned long long
      - name: headerblock
        type: unsigned long long
      - name: nextracted
        type: unsigned long long
      - name: skipped_badname
        type: unsigned long
      - name: skipped_suspicious
        type: unsigned long
      - name: skipped_symlinks
        type: unsigned long
      - name: skipped_hardlinks
        type: unsigned long
      - name: skipped_other
        type: unsigned long
      item_type: struct
      name: tarinfo_s
      pos:
        line_end: 67
        line_start: 57
        source_file: /src/gnupg/tools/gpgtar.h
    - fields:
      - name: name[100]
        type: char
      - name: mode[8]
        type: char
      - name: uid[8]
        type: char
      - name: gid[8]
        type: char
      - name: size[12]
        type: char
      - name: mtime[12]
        type: char
      - name: checksum[8]
        type: char
      - name: typeflag[1]
        type: char
      - name: linkname[100]
        type: char
      - name: magic[6]
        type: char
      - name: version[2]
        type: char
      - name: uname[32]
        type: char
      - name: gname[32]
        type: char
      - name: devmajor[8]
        type: char
      - name: devminor[8]
        type: char
      - name: prefix[155]
        type: char
      - name: pad[12]
        type: char
      item_type: struct
      name: ustar_raw_header
      pos:
        line_end: 99
        line_start: 80
        source_file: /src/gnupg/tools/gpgtar.h
    - fields:
      - name: next
        type: tar_header_t
      - name: mode
        type: unsigned long
      - name: nlink
        type: unsigned long
      - name: uid
        type: unsigned long
      - name: gid
        type: unsigned long
      - name: size
        type: unsigned long long
      - name: mtime
        type: unsigned long long
      - name: typeflag
        type: typeflag_t
      - name: nrecords
        type: unsigned long long
      - name: name[1]
        type: char
      item_type: struct
      name: tar_header_s
      pos:
        line_end: 143
        line_start: 123
        source_file: /src/gnupg/tools/gpgtar.h
    typedefs:
    - item_type: typedef
      name: '*tarinfo_t'
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/gnupg/tools/gpgtar.h
      type: tarinfo_s
    - item_type: typedef
      name: '*tar_header_t'
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/gnupg/tools/gpgtar.h
      type: tar_header_s
    union: []
- function_names:
  - lstat
  - write_progress
  - name_to_utf8
  - fillup_entry_w32
  - fillup_entry_posix
  - add_entry
  - scan_directory
  - scan_recursive
  - pattern_valid_p
  - store_xoctal
  - store_uname
  - store_gname
  - compute_checksum
  - myreadlink
  - build_header
  - add_extended_header_record
  - write_extended_header
  - write_file
  - write_eof_mark
  - gpgtar_create
  source_file: /src/gnupg/tools/gpgtar-create.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: flist
        type: tar_header_t
      - name: '*flist_tail'
        type: tar_header_t
      - name: file_count
        type: unsigned long
      - name: nestlevel
        type: int
      item_type: struct
      name: scanctrl_s
      pos:
        line_end: 74
        line_start: 68
        source_file: /src/gnupg/tools/gpgtar-create.c
    typedefs:
    - item_type: typedef
      name: '*scanctrl_t'
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/gnupg/tools/gpgtar-create.c
      type: scanctrl_s
    union: []
- function_names:
  - show_message_parser_event
  - qp_decode
  - parse_message_cb
  - mime_parser_new
  - mime_parser_release
  - mime_parser_set_verbose
  - mime_parser_set_t2body
  - mime_parser_set_new_part
  - mime_parser_set_part_data
  - mime_parser_set_collect_encrypted
  - mime_parser_set_collect_signeddata
  - mime_parser_set_collect_signature
  - mime_parser_rfc822parser
  - process_part_data
  - mime_parser_parse
  source_file: /src/gnupg/tools/mime-parser.c
  types:
    enum:
    - enumerators:
      - name: PGPMIME_NONE
        value: '0'
      - name: PGPMIME_IN_ENCDATA
      - name: PGPMIME_WAIT_ENCVERSION
      - name: PGPMIME_WAIT_ENCDATA
      - name: PGPMIME_IN_ENCVERSION
      - name: PGPMIME_GOT_ENCDATA
      - name: PGPMIME_WAIT_SIGNEDDATA
      - name: PGPMIME_IN_SIGNEDDATA
      - name: PGPMIME_WAIT_SIGNATURE
      - name: PGPMIME_IN_SIGNATURE
      - name: PGPMIME_GOT_SIGNATURE
      - name: PGPMIME_INVALID
      item_type: enum
      name: pgpmime_states
      pos:
        line_end: 44
        line_start: 30
        source_file: /src/gnupg/tools/mime-parser.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*cookie'
        type: void
      - name: (*t2body) (void *cookie, int level)
        type: gpg_error_t
      - name: "(*new_part) (void *cookie,\n                           const char *mediatype,\n
          \                          const char *mediasubtype)"
        type: gpg_error_t
      - name: "(*part_data) (void *cookie,\n                            const void
          *data,\n                            size_t datalen)"
        type: gpg_error_t
      - name: (*collect_encrypted) (void *cookie, const char *data)
        type: gpg_error_t
      - name: (*collect_signeddata) (void *cookie, const char *data)
        type: gpg_error_t
      - name: (*collect_signature) (void *cookie, const char *data)
        type: gpg_error_t
      - name: msg
        type: rfc822parse_t
      - name: err
        type: gpg_error_t
      - name: nesting_level
        type: int
      - name: hashing_at_level
        type: int
      - name: pgpmime
        type: enum pgpmime_states
      - name: delay_hashing
        type: unsigned int
      - name: want_part
        type: unsigned int
      - name: decode_part
        type: unsigned int
      - name: verbose
        type: unsigned int
      - name: debug
        type: unsigned int
      - name: show
        type: "struct {\n    unsigned int n_skip;         /* Skip showing these number
          of lines.  */\n    unsigned int header:1;       /* Show the header lines.
          \ */\n    unsigned int data:1;         /* Show the data lines.  */\n    unsigned
          int as_note:1;      /* Show the next data line as a note.  */\n    unsigned
          int boundary : 1;\n  }"
      - name: b64state
        type: gpgrt_b64state_t
      - name: line[5000]
        type: char
      item_type: struct
      name: mime_parser_context_s
      pos:
        line_end: 99
        line_start: 48
        source_file: /src/gnupg/tools/mime-parser.c
    typedefs: []
    union: []
- function_names:
  - xfree
  - xmalloc
  - xstrdup
  - get_date_from_files
  - print_filename
  - main
  source_file: /src/gnupg/doc/mkdefsinc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/gnupg/doc/mkdefsinc.c
      type_or_value: '"mkdefsinc"'
    - item_type: preproc_def
      name: GNUPG_BINDIR
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/gnupg/doc/mkdefsinc.c
      type_or_value: '"INSTDIR/bin"'
    - item_type: preproc_def
      name: GNUPG_LIBEXECDIR
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/doc/mkdefsinc.c
      type_or_value: '"INSTDIR/bin"'
    - item_type: preproc_def
      name: GNUPG_LIBDIR
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/doc/mkdefsinc.c
      type_or_value: '"INSTDIR/lib/" PACKAGE_NAME'
    - item_type: preproc_def
      name: GNUPG_DATADIR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/doc/mkdefsinc.c
      type_or_value: '"INSTDIR/share/" PACKAGE_NAME'
    - item_type: preproc_def
      name: GNUPG_SYSCONFDIR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/doc/mkdefsinc.c
      type_or_value: '"APPDATA/GNU/etc/" PACKAGE_NAME'
    - item_type: preproc_def
      name: GNUPG_LOCALSTATEDIR
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/gnupg/doc/mkdefsinc.c
      type_or_value: '"APPDATA/GNU"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ATTR_PRINTF
  - ATTR_NR_PRINTF
  - die
  - err
  - inf
  - xmalloc
  - xcalloc
  - xrealloc
  - xstrdup
  - ascii_strupr
  - isodatestring
  - add_predefined_macro
  - set_macro
  - set_variable
  - macro_set_p
  - evaluate_conditions
  - push_condition
  - pop_condition
  - get_section_buffer
  - add_content
  - start_page
  - write_th
  - proc_texi_cmd
  - proc_texi_buffer
  - parse_texi_line
  - write_content
  - is_standard_section
  - finish_page
  - parse_file
  - top_parse_file
  - main
  source_file: /src/gnupg/doc/yat2m.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MY_GCC_VERSION
      pos:
        line_end: 116
        line_start: 113
        source_file: /src/gnupg/doc/yat2m.c
      type_or_value: "(__GNUC__ * 10000 \\\n                         + __GNUC_MINOR__
        * 100         \\\n                         + __GNUC_PATCHLEVEL__)"
    - item_type: preproc_def
      name: MY_GCC_VERSION
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/gnupg/doc/yat2m.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ATTR_MALLOC
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/gnupg/doc/yat2m.c
      type_or_value: __attribute__ ((__malloc__))
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/gnupg/doc/yat2m.c
      type_or_value: '"yat2m"'
    - item_type: preproc_def
      name: VERSION
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/gnupg/doc/yat2m.c
      type_or_value: '"1.0"'
    - item_type: preproc_def
      name: LINESIZE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/gnupg/doc/yat2m.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: MAX_CONDITION_NESTING
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/gnupg/doc/yat2m.c
      type_or_value: '10'
    structs:
    - fields:
      - name: '*next'
        type: struct macro_s
      - name: '*value'
        type: char
      - name: name[1]
        type: char
      item_type: struct
      name: macro_s
      pos:
        line_end: 166
        line_start: 161
        source_file: /src/gnupg/doc/yat2m.c
    - fields:
      - name: manverb
        type: int
      - name: isset
        type: int
      - name: name[1]
        type: char
      item_type: struct
      name: condition_s
      pos:
        line_end: 184
        line_start: 179
        source_file: /src/gnupg/doc/yat2m.c
    - fields:
      - name: '*next'
        type: struct line_buffer_s
      - name: verbatim
        type: int
      - name: '*line'
        type: char
      item_type: struct
      name: line_buffer_s
      pos:
        line_end: 201
        line_start: 195
        source_file: /src/gnupg/doc/yat2m.c
    - fields:
      - name: '*name'
        type: char
      - name: lines
        type: line_buffer_t
      - name: '*lines_tail'
        type: line_buffer_t
      - name: last_line
        type: line_buffer_t
      item_type: struct
      name: section_buffer_s
      pos:
        line_end: 214
        line_start: 206
        source_file: /src/gnupg/doc/yat2m.c
    - fields:
      - name: '*name'
        type: char
      - name: n_sections
        type: size_t
      - name: sections
        type: section_buffer_t
      item_type: struct
      name: thepage
      pos:
        line_end: 228
        line_start: 218
        source_file: /src/gnupg/doc/yat2m.c
    - fields:
      - name: '*name'
        type: char
      - name: what
        type: int
      - name: '*lead_in'
        type: char
      - name: '*lead_out'
        type: char
      item_type: struct
      name: "cmdtbl[] = {\n    { \"command\", 0, \"\\\\fB\", \"\\\\fR\" },\n    {
        \"code\",    0, \"\\\\fB\", \"\\\\fR\" },\n    { \"url\",     0, \"\\\\fB\",
        \"\\\\fR\" },\n    { \"sc\",      0, \"\\\\fB\", \"\\\\fR\" },\n    { \"var\",
        \    0, \"\\\\fI\", \"\\\\fR\" },\n    { \"samp\",    0, \"\\\\(oq\", \"\\\\(cq\"
        \ },\n    { \"kbd\",     0, \"\\\\(oq\", \"\\\\(cq\"  },\n    { \"file\",
        \   0, \"\\\\(oq\\\\fI\",\"\\\\fR\\\\(cq\" },\n    { \"env\",     0, \"\\\\(oq\\\\fI\",\"\\\\fR\\\\(cq\"
        },\n    { \"acronym\", 0 },\n    { \"dfn\",     0 },\n    { \"option\",  0,
        \"\\\\fB\", \"\\\\fR\"   },\n    { \"example\", 1, \".RS 2\\n.nf\\n\" },\n
        \   { \"smallexample\", 1, \".RS 2\\n.nf\\n\" },\n    { \"asis\",    7 },\n
        \   { \"anchor\",  7 },\n    { \"cartouche\", 1 },\n    { \"ref\",     0,
        \"[\", \"]\" },\n    { \"xref\",    0, \"See: [\", \"]\" },\n    { \"pxref\",
        \  0, \"see: [\", \"]\" },\n    { \"uref\",    0, \"(\\\\fB\", \"\\\\fR)\"
        },\n    { \"footnote\",0, \" ([\", \"])\" },\n    { \"emph\",    0, \"\\\\fI\",
        \"\\\\fR\" },\n    { \"w\",       1 },\n    { \"c\",       5 },\n    { \"efindex\",
        1 },\n    { \"opindex\", 1 },\n    { \"cpindex\", 1 },\n    { \"cindex\",
        \ 1 },\n    { \"noindent\", 0 },\n    { \"section\", 1 },\n    { \"chapter\",
        1 },\n    { \"subsection\", 6, \"\\n.SS \" },\n    { \"chapheading\", 0},\n
        \   { \"item\",    2, \".TP\\n.B \" },\n    { \"itemx\",   2, \".TQ\\n.B \"
        },\n    { \"table\",   3 },\n    { \"itemize\",   3 },\n    { \"bullet\",
        \ 0, \"* \" },\n    { \"*\",       0, \"\\n.br\"},\n    { \"/\",       0 },\n
        \   { \"end\",     4 },\n    { \"quotation\",1, \".RS\\n\\\\fB\" },\n    {
        \"value\", 8 },\n    { NULL }\n  }"
      pos:
        line_end: 720
        line_start: 715
        source_file: /src/gnupg/doc/yat2m.c
    typedefs:
    - item_type: typedef
      name: '*macro_t'
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/gnupg/doc/yat2m.c
      type: macro_s
    - item_type: typedef
      name: '*condition_t'
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/gnupg/doc/yat2m.c
      type: condition_s
    - item_type: typedef
      name: '*line_buffer_t'
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/gnupg/doc/yat2m.c
      type: line_buffer_s
    - item_type: typedef
      name: '*section_buffer_t'
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/gnupg/doc/yat2m.c
      type: section_buffer_s
    union: []
- function_names:
  - warn_kshelper_option
  - parse_keyserver_options
  - free_keyserver_spec
  - cmp_keyserver_spec
  - keyserver_match
  - parse_keyserver_uri
  - parse_preferred_keyserver
  - print_keyrec
  - parse_keyrec
  - show_prompt
  - search_line_handler
  - keyserver_export
  - keyserver_export_pubkey
  - keyserver_retrieval_screener
  - keyserver_import
  - keyserver_any_configured
  - keyserver_import_mbox
  - keyserver_import_ntds
  - keyserver_import_fpr
  - keyserver_import_fpr_ntds
  - keyserver_import_keyid
  - keyidlist
  - keyserver_refresh
  - keyserver_search
  - keyserver_get_chunk
  - keyserver_get
  - keyserver_put
  - keyserver_fetch
  - keyserver_import_cert
  - keyserver_import_wkd
  source_file: /src/gnupg/g10/keyserver.c
  types:
    enum:
    - enumerators:
      - name: KS_UNKNOWN
        value: '0'
      - name: KS_SEND
      - name: KS_GET
      - name: KS_GETNAME
      - name: KS_SEARCH
      item_type: enum
      name: ks_action
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/gnupg/g10/keyserver.c
    preproc_defs:
    - item_type: preproc_def
      name: X_OK
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/gnupg/g10/keyserver.c
      type_or_value: F_OK
    - item_type: preproc_def
      name: DEFAULT_MAX_CERT_SIZE
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/gnupg/g10/keyserver.c
      type_or_value: '65536'
    - item_type: preproc_def
      name: MAX_KS_GET_LINELEN
      pos:
        line_end: 1392
        line_start: 1391
        source_file: /src/gnupg/g10/keyserver.c
      type_or_value: '950  '
    structs:
    - fields:
      - name: desc
        type: KEYDB_SEARCH_DESC
      - name: createtime
        type: u32
      - name: size
        type: int
      - name: type
        type: byte
      - name: uidbuf
        type: IOBUF
      - name: lines
        type: unsigned int
      item_type: struct
      name: keyrec
      pos:
        line_end: 61
        line_start: 53
        source_file: /src/gnupg/g10/keyserver.c
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: '*searchstr_disp'
        type: char
      - name: '*desc'
        type: KEYDB_SEARCH_DESC
      - name: count
        type: int
      - name: validcount
        type: int
      - name: nkeys
        type: int
      - name: any_lines
        type: int
      - name: numlines
        type: unsigned int
      - name: eof_seen
        type: int
      - name: not_found
        type: int
      item_type: struct
      name: search_line_handler_parm_s
      pos:
        line_end: 78
        line_start: 64
        source_file: /src/gnupg/g10/keyserver.c
    - fields:
      - name: '*desc'
        type: KEYDB_SEARCH_DESC
      - name: ndesc
        type: int
      item_type: struct
      name: ks_retrieval_screener_arg_s
      pos:
        line_end: 857
        line_start: 853
        source_file: /src/gnupg/g10/keyserver.c
    typedefs: []
    union: []
- function_names:
  - w32_system
  - generate_photo_id
  - parse_image_header
  - image_type_to_string
  - get_default_photo_command
  - show_photo
  - setup_input_file
  - expand_args
  - fill_command_argv
  - run_with_pipe
  - create_temp_file
  - show_photo
  - show_photos
  source_file: /src/gnupg/g10/photoid.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXTRA_UID_NAME_SPACE
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/gnupg/g10/photoid.c
      type_or_value: '71'
    - item_type: preproc_def
      name: TEMPLATE
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/gnupg/g10/photoid.c
      type_or_value: '"gpg-XXXXXX"'
    structs:
    - fields:
      - name: keep_temp_file
        type: unsigned int
      - name: '*command'
        type: char
      - name: '*tempdir'
        type: char
      - name: '*tempfile'
        type: char
      item_type: struct
      name: spawn_info
      pos:
        line_end: 415
        line_start: 409
        source_file: /src/gnupg/g10/photoid.c
    typedefs: []
    union: []
- function_names:
  - key_present_value_new
  - key_present_hash_new
  - key_present_hash_lookup
  - key_present_hash_update
  - key_present_hash_update_from_kb
  - keyring_register_filename
  - keyring_is_writable
  - keyring_new
  - keyring_fp_close
  - keyring_release
  - keyring_push_found_state
  - keyring_pop_found_state
  - keyring_get_resource_name
  - keyring_lock
  - keyring_get_keyblock
  - keyring_update_keyblock
  - keyring_insert_keyblock
  - keyring_delete_keyblock
  - keyring_search_reset
  - prepare_search
  - word_match
  - prepare_word_match
  - compare_name
  - keyring_search
  - create_tmp_file
  - rename_tmp_file
  - write_keyblock
  - keyring_rebuild_cache
  - do_copy
  source_file: /src/gnupg/g10/keyring.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEY_PRESENT_HASH_BUCKETS
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/gnupg/g10/keyring.c
      type_or_value: '2048'
    structs:
    - fields:
      - name: '*next'
        type: struct keyring_resource
      - name: read_only
        type: int
      - name: lockhd
        type: dotlock_t
      - name: is_locked
        type: int
      - name: did_full_scan
        type: int
      - name: fname[1]
        type: char
      item_type: struct
      name: keyring_resource
      pos:
        line_end: 49
        line_start: 41
        source_file: /src/gnupg/g10/keyring.c
    - fields:
      - name: resource
        type: CONST_KR_RESOURCE
      - name: current
        type: "struct {\n    CONST_KR_RESOURCE kr;\n    IOBUF iobuf;\n    int eof;\n
          \   int error;\n  }"
      - name: found
        type: "struct {\n    CONST_KR_RESOURCE kr;\n    off_t offset;\n    size_t
          pk_no;\n    size_t uid_no;\n    unsigned int n_packets; /*used for delete
          and update*/\n  }"
      - name: word_match
        type: "struct {\n    char *name;\n    char *pattern;\n  }"
      item_type: struct
      name: keyring_handle
      pos:
        line_end: 74
        line_start: 54
        source_file: /src/gnupg/g10/keyring.c
    - fields:
      - name: '*next'
        type: struct key_present
      - name: kid[2]
        type: u32
      item_type: struct
      name: key_present
      pos:
        line_end: 93
        line_start: 90
        source_file: /src/gnupg/g10/keyring.c
    typedefs:
    - item_type: typedef
      name: '*KR_RESOURCE'
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/gnupg/g10/keyring.c
      type: keyring_resource
    - item_type: typedef
      name: '* CONST_KR_RESOURCE'
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/gnupg/g10/keyring.c
      type: keyring_resource
    - item_type: typedef
      name: '**key_present_hash_t'
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/gnupg/g10/keyring.c
      type: key_present
    union: []
- function_names:
  - get_help_from_file
  - display_online_help
  source_file: /src/gnupg/g10/helptext.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pk_ecdh_default_params
  - ecc_build_kdf_params
  source_file: /src/gnupg/g10/ecdh.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: qbits
        type: unsigned int
      - name: openpgp_hash_id
        type: int
      - name: openpgp_cipher_id
        type: int
      item_type: struct
      name: "kek_params_table[] =\n  /* Note: Must be sorted by ascending values for
        QBITS.  */\n  {\n    { 256, DIGEST_ALGO_SHA256, CIPHER_ALGO_AES    },\n    {
        384, DIGEST_ALGO_SHA384, CIPHER_ALGO_AES256 },\n\n    /* Note: 528 is 521
        rounded to the 8 bit boundary */\n    { 528, DIGEST_ALGO_SHA512, CIPHER_ALGO_AES256
        }\n  }"
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/gnupg/g10/ecdh.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g10/tdbio.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TRUST_RECORD_LEN
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/gnupg/g10/tdbio.h
      type_or_value: '40'
    - item_type: preproc_def
      name: SIGS_PER_RECORD
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/gnupg/g10/tdbio.h
      type_or_value: ((TRUST_RECORD_LEN-10)/5)
    - item_type: preproc_def
      name: ITEMS_PER_HTBL_RECORD
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/gnupg/g10/tdbio.h
      type_or_value: ((TRUST_RECORD_LEN-2)/4)
    - item_type: preproc_def
      name: ITEMS_PER_HLST_RECORD
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/gnupg/g10/tdbio.h
      type_or_value: ((TRUST_RECORD_LEN-6)/5)
    - item_type: preproc_def
      name: ITEMS_PER_PREF_RECORD
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/gnupg/g10/tdbio.h
      type_or_value: (TRUST_RECORD_LEN-10)
    - item_type: preproc_def
      name: MAX_LIST_SIGS_DEPTH
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/gnupg/g10/tdbio.h
      type_or_value: '20'
    - item_type: preproc_def
      name: RECTYPE_VER
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/gnupg/g10/tdbio.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RECTYPE_HTBL
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/gnupg/g10/tdbio.h
      type_or_value: '10'
    - item_type: preproc_def
      name: RECTYPE_HLST
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/g10/tdbio.h
      type_or_value: '11'
    - item_type: preproc_def
      name: RECTYPE_TRUST
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/g10/tdbio.h
      type_or_value: '12'
    - item_type: preproc_def
      name: RECTYPE_VALID
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/gnupg/g10/tdbio.h
      type_or_value: '13'
    - item_type: preproc_def
      name: RECTYPE_FREE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/gnupg/g10/tdbio.h
      type_or_value: '254'
    structs:
    - fields:
      - name: rectype
        type: int
      - name: mark
        type: int
      - name: dirty
        type: int
      - name: '*next'
        type: struct trust_record
      - name: recnum
        type: ulong
      - name: r
        type: "union {\n\tstruct {\t     /* version record: */\n\t    byte  version;
          \  /* should be 3 */\n\t    byte  marginals;\n\t    byte  completes;\n\t
          \   byte  cert_depth;\n\t    byte  trust_model;\n\t    byte  min_cert_level;\n\t
          \   ulong created;   /* timestamp of trustdb creation  */\n\t    ulong nextcheck;
          /* timestamp of next scheduled check */\n\t    ulong reserved;\n\t    ulong
          reserved2;\n\t    ulong firstfree;\n\t    ulong reserved3;\n            ulong
          trusthashtbl;\n\t} ver;\n\tstruct {\t    /* free record */\n\t    ulong
          next;\n\t} free;\n\tstruct {\n\t    ulong item[ITEMS_PER_HTBL_RECORD];\n\t}
          htbl;\n\tstruct {\n\t    ulong next;\n\t    ulong rnum[ITEMS_PER_HLST_RECORD];
          /* of another record */\n\t} hlst;\n      struct {\n        byte fingerprint[20];\n
          \       byte ownertrust;\n        byte depth;\n        ulong validlist;\n\tbyte
          min_ownertrust;\n        byte flags;\n      } trust;\n      struct {\n        byte
          namehash[20];\n        ulong next;\n        byte validity;\n\tbyte full_count;\n\tbyte
          marginal_count;\n      } valid;\n    }"
      item_type: struct
      name: trust_record
      pos:
        line_end: 91
        line_start: 43
        source_file: /src/gnupg/g10/tdbio.h
    typedefs:
    - item_type: typedef
      name: TRUSTREC
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/gnupg/g10/tdbio.h
      type: trust_record
    union: []
- function_names:
  - verify_signatures
  - print_file_status
  - verify_one_file
  - verify_files
  - gpg_verify
  - is_fingerprint
  - check_assert_signer_list
  - check_assert_pubkey_algo
  source_file: /src/gnupg/g10/verify.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - send_status_inv_recp
  - do_show_revocation_reason
  - show_revocation_reason
  - do_edit_ownertrust
  - edit_ownertrust
  - do_we_trust
  - do_we_trust_pre
  - write_trust_status
  - is_in_sender_list
  - check_signatures_trust
  - release_pk_list
  - key_present_in_pk_list
  - default_recipient
  - find_and_check_key
  - build_pk_list
  - algo_available
  - select_algo_from_prefs
  - select_mdc_from_pklist
  - select_aead_from_pklist
  - warn_missing_aead_from_pklist
  - warn_missing_aes_from_pklist
  source_file: /src/gnupg/g10/pkclist.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONTROL_D
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/g10/pkclist.c
      type_or_value: ('D' - 'A' + 1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_GROUP
  - STRINGIFY2
  - STRINGIFY
  - TEST
  - TEST_P
  - ASSERT
  - ABORT
  - exit_tests
  - prepend_srcdir
  - test_free
  - main
  source_file: /src/gnupg/g10/test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/gnupg/g10/test.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - new_armor_context
  - release_armor_context
  - push_armor_filter
  - was_armored
  - initialize
  - get_afx_crc
  - is_armored
  - use_armor_filter
  - invalid_armor
  - parse_hash_header
  - is_armor_tag
  - is_armor_header
  - parse_header_line
  - check_input
  - fake_packet
  - invalid_crc
  - radix64_read
  - armor_output_buf_as_radix64
  - armor_filter
  - make_radix64_string
  source_file: /src/gnupg/g10/armor.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_LINELEN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/g10/armor.c
      type_or_value: '20000'
    - item_type: preproc_def
      name: BEGIN_SIGNATURE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/gnupg/g10/armor.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BEGIN_SIGNED_MSG_IDX
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/gnupg/g10/armor.c
      type_or_value: '3'
    - item_type: preproc_def
      name: PARTIAL_CHUNK
      pos:
        line_end: 644
        line_start: 643
        source_file: /src/gnupg/g10/armor.c
      type_or_value: '512'
    - item_type: preproc_def
      name: PARTIAL_POW
      pos:
        line_end: 645
        line_start: 644
        source_file: /src/gnupg/g10/armor.c
      type_or_value: '9'
    structs: []
    typedefs: []
    union: []
- function_names:
  - HEXTOBIN
  - write_record
  - list_trustdb
  - export_ownertrust
  - import_ownertrust
  source_file: /src/gnupg/g10/tdbdump.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - release_unused_nodes
  - alloc_node
  - free_node
  - new_kbnode
  - new_kbnode2
  - clone_kbnode
  - release_kbnode
  - delete_kbnode
  - add_kbnode
  - insert_kbnode
  - find_prev_kbnode
  - find_next_kbnode
  - find_kbnode
  - walk_kbnode
  - clear_kbnode_flags
  - commit_kbnode
  - remove_kbnode
  - move_kbnode
  - dump_kbnode
  source_file: /src/gnupg/g10/kbnode.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_UNUSED_NODES
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/g10/kbnode.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - cache_disabled_value
  - register_trusted_key
  - trust_letter
  - trust_value_to_string
  - string_to_trust_value
  - uid_trust_string_fixed
  - get_ownertrust
  - get_ownertrust_with_min
  - get_ownertrust_info
  - get_ownertrust_string
  - update_ownertrust
  - clear_ownertrusts
  - revalidation_mark
  - check_trustdb_stale
  - check_or_update_trustdb
  - get_validity
  - get_validity_info
  - get_validity_string
  source_file: /src/gnupg/g10/trust.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - log_hexdump
  - hexstr
  - bufxor2
  - parse_session_key
  - block_offset
  - block
  - oracle
  - oracle_test
  - do_test
  source_file: /src/gnupg/g10/t-stutter.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g10/objcache.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - IS_CERT
  - IS_SIG
  - IS_KEY_SIG
  - IS_UID_SIG
  - IS_ATTST_SIGS
  - IS_SUBKEY_SIG
  - IS_BACK_SIG
  - IS_KEY_REV
  - IS_UID_REV
  - IS_SUBKEY_REV
  - is_deleted_kbnode
  - is_cloned_kbnode
  - is_in_klist
  - GPGRT_ATTR_UNUSED
  - GPGRT_ATTR_UNUSED
  - GPGRT_ATTR_UNUSED::pk_is_primary
  source_file: /src/gnupg/g10/keydb.h
  types:
    enum:
    - enumerators:
      - name: GET_PUBKEY_NORMAL
        value: '0'
      - name: GET_PUBKEY_NO_AKL
        value: '1'
      - name: GET_PUBKEY_NO_LOCAL
        value: '2'
      - name: GET_PUBKEY_TRY_LDAP
        value: '3'
      item_type: enum
      name: get_pubkey_modes
      pos:
        line_end: 383
        line_start: 377
        source_file: /src/gnupg/g10/keydb.h
    preproc_defs:
    - item_type: preproc_def
      name: KEYDB_RESOURCE_FLAG_PRIMARY
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/gnupg/g10/keydb.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: KEYDB_RESOURCE_FLAG_DEFAULT
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/gnupg/g10/keydb.h
      type_or_value: '4  '
    - item_type: preproc_def
      name: KEYDB_RESOURCE_FLAG_READONLY
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/gnupg/g10/keydb.h
      type_or_value: '8  '
    - item_type: preproc_def
      name: KEYDB_RESOURCE_FLAG_GPGVDEF
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/gnupg/g10/keydb.h
      type_or_value: '16  '
    - item_type: preproc_def
      name: GETPASSWORD_FLAG_SYMDECRYPT
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/gnupg/g10/keydb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FORMAT_KEYDESC_NORMAL
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/gnupg/g10/keydb.h
      type_or_value: '0'
    - item_type: preproc_def
      name: FORMAT_KEYDESC_IMPORT
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/gnupg/g10/keydb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FORMAT_KEYDESC_EXPORT
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/gnupg/g10/keydb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: FORMAT_KEYDESC_DELKEY
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/gnupg/g10/keydb.h
      type_or_value: '3'
    - item_type: preproc_def
      name: FORMAT_KEYDESC_KEYGRIP
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/gnupg/g10/keydb.h
      type_or_value: '4'
    - item_type: preproc_def
      name: GETKEY_WANT_SECRET
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/gnupg/g10/keydb.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: GETKEY_WITH_UNUSABLE
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/gnupg/g10/keydb.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: GETKEY_ALLOW_ADSK
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/gnupg/g10/keydb.h
      type_or_value: '4  '
    - item_type: preproc_def
      name: PUBKEY_STRING_SIZE
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/gnupg/g10/keydb.h
      type_or_value: '32'
    - item_type: preproc_def
      name: MK_DATESTR_SIZE
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/gnupg/g10/keydb.h
      type_or_value: '11'
    structs:
    - fields:
      - name: next
        type: kbnode_t
      - name: '*pkt'
        type: PACKET
      - name: flag
        type: int
      - name: tag
        type: unsigned int
      - name: private_flag
        type: int
      item_type: struct
      name: kbnode_struct
      pos:
        line_end: 67
        line_start: 60
        source_file: /src/gnupg/g10/keydb.h
    - fields:
      - name: '*next'
        type: struct key_item
      - name: ownertrust
        type: unsigned int
      - name: trust_depth
        type: byte
      - name: trust_value
        type: byte
      - name: '*trust_regexp'
        type: char
      - name: kid[2]
        type: u32
      item_type: struct
      name: key_item
      pos:
        line_end: 84
        line_start: 77
        source_file: /src/gnupg/g10/keydb.h
    - fields:
      - name: next
        type: PK_LIST
      - name: '*pk'
        type: PKT_public_key
      - name: flags
        type: int
      item_type: struct
      name: pk_list
      pos:
        line_end: 112
        line_start: 107
        source_file: /src/gnupg/g10/keydb.h
    - fields:
      - name: next
        type: SK_LIST
      - name: '*pk'
        type: PKT_public_key
      - name: mark
        type: int
      item_type: struct
      name: sk_list
      pos:
        line_end: 121
        line_start: 116
        source_file: /src/gnupg/g10/keydb.h
    - fields:
      - name: keyid[2]
        type: u32
      - name: nbits
        type: unsigned
      - name: pubkey_algo
        type: byte
      - name: fingerprint[MAX_FINGERPRINT_LEN]
        type: byte
      - name: userid[1]
        type: char
      item_type: struct
      name: pubkey_find_info
      pos:
        line_end: 132
        line_start: 126
        source_file: /src/gnupg/g10/keydb.h
    - fields:
      - name: digest_length
        type: int
      - name: exact
        type: int
      item_type: struct
      name: pref_hint
      pos:
        line_end: 140
        line_start: 136
        source_file: /src/gnupg/g10/keydb.h
    - fields:
      - name: '*next'
        type: struct pubkey_s
      - name: '*pk'
        type: PKT_public_key
      - name: keyblock
        type: kbnode_t
      item_type: struct
      name: pubkey_s
      pos:
        line_end: 369
        line_start: 363
        source_file: /src/gnupg/g10/keydb.h
    typedefs:
    - item_type: typedef
      name: '*GETKEY_CTX'
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/gnupg/g10/keydb.h
      type: getkey_ctx_s
    - item_type: typedef
      name: '*getkey_ctx_t'
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/gnupg/g10/keydb.h
      type: getkey_ctx_s
    - item_type: typedef
      name: '*PK_LIST'
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/gnupg/g10/keydb.h
      type: pk_list
    - item_type: typedef
      name: '*pk_list_t'
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/gnupg/g10/keydb.h
      type: pk_list
    - item_type: typedef
      name: '*SK_LIST'
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/gnupg/g10/keydb.h
      type: sk_list
    - item_type: typedef
      name: '*PUBKEY_FIND_INFO'
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/gnupg/g10/keydb.h
      type: pubkey_find_info
    - item_type: typedef
      name: '*pubkey_t'
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/gnupg/g10/keydb.h
      type: pubkey_s
    union: []
- function_names: []
  source_file: /src/gnupg/g10/tofu.h
  types:
    enum:
    - enumerators:
      - name: TOFU_POLICY_NONE
        value: '0'
      - name: TOFU_POLICY_BAD
        value: '4'
      - name: TOFU_POLICY_GOOD
        value: '2'
      - name: TOFU_POLICY_AUTO
        value: '1'
      - name: TOFU_POLICY_UNKNOWN
        value: '3'
      - name: TOFU_POLICY_ASK
        value: '5'
      - name: _tofu_GET_POLICY_ERROR
        value: '100'
      item_type: enum
      name: tofu_policy
      pos:
        line_end: 63
        line_start: 25
        source_file: /src/gnupg/g10/tofu.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - random_is_faked
  - release_sk_list
  - is_insecure
  - key_present_in_sk_list
  - is_duplicated_entry
  - build_sk_list
  - enum_secret_keys
  source_file: /src/gnupg/g10/skclist.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: eof
        type: int
      - name: state
        type: int
      - name: cardkey_done
        type: int
      - name: sl
        type: strlist_t
      - name: card_keyinfo
        type: keypair_info_t
      - name: card_keyinfo_list
        type: keypair_info_t
      - name: fpr2[2 * MAX_FINGERPRINT_LEN + 2 ]
        type: char
      - name: keyblock
        type: kbnode_t
      - name: node
        type: kbnode_t
      - name: ctx
        type: getkey_ctx_t
      - name: results
        type: SK_LIST
      item_type: struct
      name: '*c = *context'
      pos:
        line_end: 340
        line_start: 327
        source_file: /src/gnupg/g10/skclist.c
    typedefs: []
    union: []
- function_names:
  - BYTEF_CAST
  - BYTEF_CAST
  - init_compress
  - do_compress
  - init_uncompress
  - do_uncompress
  - compress_filter
  - release_context
  - handle_compressed
  - push_compress_filter
  - push_compress_filter2
  source_file: /src/gnupg/g10/compress.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_compress
  - do_compress
  - init_uncompress
  - do_uncompress
  - compress_filter_bz2
  source_file: /src/gnupg/g10/compress-bz2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - make_libversion
  - build_list_pk_test_algo
  - build_list_pk_algo_name
  - build_list_cipher_test_algo
  - build_list_cipher_algo_name
  - build_list_md_test_algo
  - build_list_md_algo_name
  - my_strusage
  - build_list
  - wrong_args
  - make_username
  - set_opt_session_env
  - set_debug
  - set_screen_dimensions
  - open_info_file
  - set_cmd
  - add_group
  - rm_group
  - check_permissions
  - print_algo_numbers
  - print_algo_names
  - list_config
  - gpgconf_list
  - parse_subpacket_list
  - parse_list_options
  - collapse_args
  - parse_trust_model
  - parse_tofu_policy
  - set_compliance_option
  - gen_key_forbidden
  - gpg_init_default_ctrl
  - gpg_deinit_default_ctrl
  - main
  - emergency_cleanup
  - g10_exit
  - print_hex
  - print_hashline
  - print_mds
  - add_notation_data
  - add_policy_url
  - add_keyserver_url
  - read_sessionkey_from_fd
  source_file: /src/gnupg/g10/gpg.c
  types:
    enum:
    - enumerators:
      - name: aExportSecretSshKey
      - name: oEmitVersion
      - name: oListOptions
      - name: oStrict
      - name: oRecipient
        value: '''r'''
      - name: aCheckTrustDB
      - name: oCompressAlgo
      - name: oGnuPG
      - name: oNoEncryptTo
      - name: oExitOnStatusWriteError
      - name: oAllowWeakDigestAlgos
      - name: oDisableCipherAlgo
      - name: oRecipientFile
        value: '''f'''
      - name: oSetNotation
        value: '''N'''
      - name: aDeArmor
      - name: oPassphraseRepeat
      - name: oMinRSALength
      - name: oNoRequireCrossCert
      - name: oDefaultNewKeyAlgo
      - name: oCertNotation
      - name: aPasswd
      - name: oNoSecmemWarn
      - name: oAllowOldCipherAlgos
      - name: oKeyOrigin
      - name: oMergeOnly
      - name: aSignEncrSym
      - name: oMinCertLevel
      - name: oWithKeyData
      - name: oShowOnlySessionKey
      - name: oAlwaysTrust
      - name: oKbxBufferSize
      - name: aQuickRevSig
      - name: oKeyring
      - name: oSetPolicyURL
      - name: oAutoCheckTrustDB
      - name: oNoUseEmbeddedFilename
      - name: aQuickUpdatePref
      - name: aVerifyFiles
      - name: oNoDefRecipient
      - name: oS2KCount
      - name: oPersonalCompressPreferences
      - name: oNoShowPhotos
      - name: aEditKey
      - name: aRefreshKeys
      - name: oDebugSetIobufSize
      - name: oLockNever
      - name: oTTYtype
      - name: oLockMultiple
      - name: aListPackets
      - name: aSearchKeys
      - name: oDebugIOLBF
      - name: oShowPhotos
      - name: oTTYname
      - name: oAttributeFile
      - name: oExportFilter
      - name: aExportSshKey
      - name: oNoGroups
      - name: oNoCompress
      - name: oCompliance
      - name: oQuiet
        value: '''q'''
      - name: aPrintMDs
      - name: oHiddenEncryptTo
      - name: oKeyidFormat
      - name: oDisableDSA2
      - name: oPassphraseFile
      - name: oDE_VS
      - name: aEncr
        value: '''e'''
      - name: oCompress
        value: '''z'''
      - name: aImportOwnerTrust
      - name: oNoUtf8Strings
      - name: oRequireCrossCert
      - name: oTOFUDBFormat
      - name: oNoGreeting
      - name: oAutoKeyImport
      - name: aChangeRecipients
      - name: oNoExpert
      - name: oWithSubkeyFingerprint
      - name: oListOnly
      - name: oChUid
      - name: oShowSessionKey
      - name: oNoSkipHiddenRecipients
      - name: aSignEncr
      - name: oDefCertLevel
      - name: oWithColons
      - name: oUseKeyboxd
      - name: oAssertPubkeyAlgo
      - name: oNoForYourEyesOnly
      - name: aQuickTSignKey
      - name: oAnswerNo
      - name: oNoSigCache
      - name: oS2KCipher
      - name: oUseEmbeddedFilename
      - name: aQuickSetPrimaryUid
      - name: aVerify
      - name: oDefRecipientSelf
      - name: oPersonalDigestPreferences
      - name: oInteractive
        value: '''i'''
      - name: oBatch
        value: '500'
      - name: aGenRandom
      - name: oNoRFC2440Text
      - name: oAllowNonSelfsignedUID
      - name: oCommandFD
      - name: oNoAutoKeyLocate
      - name: oWeakDigest
      - name: oNoShowNotation
      - name: aTOFUPolicy
      - name: oDisableFdTranslation
      - name: oNoRequireSecmem
      - name: oNoSymkeyCache
      - name: aClearsign
      - name: oAskSigExpire
      - name: oWithICAOSpelling
      - name: oNoOptions
      - name: oAutoKeyUpload
      - name: oIgnoreValidFrom
      - name: oForbidGenKey
      - name: aSignSym
      - name: oAskCertLevel
      - name: oWithKeyOrigin
      - name: oTrustModel
      - name: oTryAllSecrets
      - name: oOverrideSessionKey
      - name: oRequirePQCEncryption
      - name: oNotDashEscaped
      - name: aListConfig
      - name: aSendKeys
      - name: oOptions
      - name: oDefaultComment
      - name: oKeyboxdProgram
      - name: aDeleteSecretKeys
      - name: aShowKeys
      - name: oDebugIgnoreExpiration
      - name: oKeyServerOptions
      - name: oForceOCB
      - name: oLCmessages
      - name: oCompletesNeeded
      - name: aGenRevoke
      - name: oVerifyOptions
      - name: oMangleDosFilenames
      - name: oBZ2CompressLevel
      - name: oRFC4880
      - name: oArmor
        value: '''a'''
      - name: aSign
        value: '''s'''
      - name: aFixTrustDB
      - name: oLoggerFD
      - name: oReaderPort
      - name: oFakedSystemTime
      - name: oEncryptToDefaultKey
      - name: oCompressLevel
      - name: oHiddenRecipient
        value: '''R'''
      - name: aUpdateTrustDB
      - name: oRFC2440
      - name: oLimitCardInsertTries
      - name: oAllowWeakKeySignatures
      - name: oDisablePubkeyAlgo
      - name: oHiddenRecipientFile
        value: '''F'''
      - name: aListSecretKeys
        value: '''K'''
      - name: aEnArmor
      - name: oPinentryMode
      - name: oRFC2440Text
      - name: oAutoKeyLocate
      - name: oDefaultNewKeyADSK
      - name: oEnableSpecialFilenames
      - name: oShowNotation
      - name: aServer
      - name: oRequireSecmem
      - name: oRequestOrigin
      - name: oNoAutoKeyImport
      - name: oIgnoreTimeConflict
      - name: aDecryptFiles
      - name: oDefSigExpire
      - name: oWithoutSubkeyFingerprint
      - name: oNoTTY
      - name: oForceSignKey
      - name: oSigPolicyURL
      - name: aQuickAddUid
      - name: oPrimaryKeyring
      - name: oNoAutoCheckTrustDB
      - name: oComment
      - name: oTrySecretKey
      - name: aNull
        value: '0'
      - name: aListSigs
      - name: aQuickSetOwnertrust
      - name: oDisplayCharset
      - name: oAgentProgram
      - name: oKeyServer
      - name: oPhotoViewer
      - name: aDeleteKeys
      - name: aFetchKeys
      - name: oDebugAllowLargeChunks
      - name: oLCctype
      - name: oNoEmitVersion
      - name: oListFilter
      - name: aCheckKeys
      - name: oNoStrict
      - name: aQuickKeygen
      - name: oDefCertExpire
      - name: oWithKeyScreening
      - name: oHomedir
      - name: oUseAgent
      - name: oIgnoreMDCError
      - name: oCompatibilityFlags
      - name: aLSignKey
      - name: oFingerprint
      - name: oWithSigList
      - name: oNoRandomSeedFile
      - name: oNoAutoTrustNewKey
      - name: oNoExpensiveTrustChecks
      - name: oProcAllSigs
      - name: aQuickAddADSK
      - name: oShowKeyring
      - name: oShowPolicyURL
      - name: oDefaultPreferenceList
      - name: oNoComments
      - name: aListGcryptConfig
      - name: aRecvKeys
      - name: oDebug
      - name: oEscapeFrom
      - name: oDirmngrProgram
      - name: aPrimegen
      - name: oMaxCertDepth
      - name: oExecPath
      - name: oEnableProgressFilter
      - name: oLogTime
      - name: aSym
        value: '''c'''
      - name: oLocalUser
        value: '''u'''
      - name: aListTrustPath
      - name: oPassphrase
      - name: oPGP7
      - name: opcscDriver
      - name: oPrintDANERecords
      - name: oAllowFreeformUID
      - name: oDryRun
        value: '''n'''
      - name: oInputSizeHint
      - name: aCardStatus
      - name: oQuickRandom
      - name: oDigestAlgo
      - name: oDisableLargeRSA
      - name: oOnlySignTextIDs
      - name: aEncrFiles
      - name: oTextmode
      - name: oSetFilesize
      - name: oNoArmor
      - name: oFullTimestrings
      - name: oNoPermissionWarn
      - name: oKnownNotation
      - name: oMimemode
      - name: oNoLiteral
      - name: oUseOnlyOpenPGPCard
      - name: oIgnoreCrcError
      - name: oNoBatch
      - name: aStore
      - name: oNoAskSigExpire
      - name: oWithKeygrip
      - name: oNoAutoKeyUpload
      - name: oRequireCompliance
      - name: oOverrideSessionKeyFD
      - name: oForceOwnertrust
      - name: aSignKey
      - name: oNoAskCertLevel
      - name: oWithTofuInfo
      - name: oTrustedKey
      - name: oDisablePQCEncryption
      - name: aQuickAddKey
      - name: oSecretKeyring
      - name: oCertPolicyURL
      - name: oPreservePermissions
      - name: oStatusFD
      - name: oImportOptions
      - name: aDeleteSecretAndPublicKeys
      - name: aExport
      - name: oUseOCBSym
      - name: oXauthority
      - name: oMarginalsNeeded
      - name: oTempDir
      - name: aDesigRevoke
      - name: oNoMangleDosFilenames
      - name: oBZ2DecompressLowmem
      - name: oOpenPGP
      - name: aDetachedSign
        value: '''b'''
      - name: oTextmodeShort
        value: '''t'''
      - name: aListTrustDB
      - name: oLoggerFile
      - name: octapiDriver
      - name: oNoAutostart
      - name: oNoAllowNonSelfsignedUID
      - name: oCommandFile
      - name: oCipherAlgo
      - name: aListKeys
        value: '''k'''
      - name: oMaxOutput
      - name: aRebuildKeydbCaches
      - name: oEnableLargeRSA
      - name: oUnwrap
      - name: aQuickSetExpire
      - name: oDefRecipient
      - name: oSigKeyserverURL
      - name: oPersonalCipherPreferences
      - name: aGPGConfTest
      - name: aLocateExtKeys
      - name: oDebugAll
      - name: oLockOnce
      - name: oNoThrowKeyids
      - name: oDisplay
      - name: oAttributeFD
      - name: aFastImport
      - name: aExportSecretSub
      - name: oExportOptions
      - name: oS2KDigest
      - name: oUnGroup
      - name: aPrintMD
      - name: oLoadExtension
      - name: oEncryptTo
      - name: oMultifile
      - name: oTrustDBName
      - name: oSigNotation
      - name: aChangePIN
      - name: oAllowSecretKeyImport
      - name: oSender
      - name: oNoKeyring
      - name: aAddRecipients
      - name: oExpert
      - name: oFastListMode
      - name: oNoIncludeKeyBlock
      - name: oShowOnlySessionHash
      - name: aKeygen
      - name: oNoAskCertExpire
      - name: oWithWKDHash
      - name: oSkipHiddenRecipients
      - name: oGpgAgentInfo
      - name: oAssertSigner
      - name: oNoAutoKeyRetrieve
      - name: aQuickLSignKey
      - name: oWithFingerprint
      - name: oAnswerYes
      - name: oForYourEyesOnly
      - name: oLegacyListMode
      - name: aQuickSignKey
      - name: oWithV5Fingerprint
      - name: oWithSigCheck
      - name: oAutoKeyRetrieve
      - name: oSetFilename
      - name: oFixedListMode
      - name: oNoop
      - name: oNoShowPolicyURL
      - name: aQuickRevUid
      - name: oDefaultKey
      - name: oDefaultKeyserverURL
      - name: oNoEscapeFrom
      - name: oThrowKeyids
      - name: aGPGConfList
      - name: aLocateKeys
      - name: oDebugLevel
      - name: oDisableDirmngr
      - name: oImportFilter
      - name: oS2KMode
      - name: aImport
      - name: aExportSecret
      - name: oStatusFile
      - name: oGroup
      - name: oUtf8Strings
      - name: oPassphraseFD
      - name: aDecrypt
        value: '''d'''
      - name: oVerbose
        value: '''v'''
      - name: aExportOwnerTrust
      - name: oPGP8
      - name: oDisableCCID
      - name: oTOFUDefaultPolicy
      - name: oCertDigestAlgo
      - name: oNoAllowFreeformUID
      - name: oOutput
        value: '''o'''
      - name: oChunkSize
      - name: aCardEdit
      - name: oNoVerbose
      - name: oEnableDSA2
      - name: oDisableSignerUID
      - name: oNoDefKeyring
      - name: oHonorHttpProxy
      - name: aEncrSym
      - name: oNoTextmode
      - name: oIncludeKeyBlock
      - name: oNoUseAgent
      - name: oShowSessionHash
      - name: oSkipVerify
      - name: aFullKeygen
      - name: oAskCertExpire
      - name: oWithSecret
      - name: oAddDesigRevoker
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 474
        line_start: 83
        source_file: /src/gnupg/g10/gpg.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/g10/gpg.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MY_O_BINARY
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/gnupg/g10/gpg.c
      type_or_value: O_BINARY
    - item_type: preproc_def
      name: S_IRGRP
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/gnupg/g10/gpg.c
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IWGRP
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/gnupg/g10/gpg.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MY_O_BINARY
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/gnupg/g10/gpg.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ALWAYS_ADD_KEYRINGS
      pos:
        line_end: 1081
        line_start: 1080
        source_file: /src/gnupg/g10/gpg.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ALWAYS_ADD_KEYRINGS
      pos:
        line_end: 1083
        line_start: 1082
        source_file: /src/gnupg/g10/gpg.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_AKL_LIST
      pos:
        line_end: 1087
        line_start: 1086
        source_file: /src/gnupg/g10/gpg.c
      type_or_value: '"local,wkd"'
    structs:
    - fields:
      - name: forbid_gen_key
        type: unsigned int
      item_type: struct
      name: mopt
      pos:
        line_end: 1113
        line_start: 1111
        source_file: /src/gnupg/g10/gpg.c
    - fields:
      - name: '*keyword'
        type: char
      - name: policy
        type: int
      item_type: struct
      name: "list[] = {\n    { \"auto\",    TOFU_POLICY_AUTO },\n    { \"good\",    TOFU_POLICY_GOOD
        },\n    { \"unknown\", TOFU_POLICY_UNKNOWN },\n    { \"bad\",     TOFU_POLICY_BAD
        },\n    { \"ask\",     TOFU_POLICY_ASK }\n  }"
      pos:
        line_end: 2257
        line_start: 2257
        source_file: /src/gnupg/g10/gpg.c
    typedefs: []
    union: []
- function_names:
  - reset_literals_seen
  - release_list
  - add_onepass_sig
  - add_gpg_control
  - add_user_id
  - add_subkey
  - add_ring_trust
  - add_signature
  - symkey_decrypt_seskey
  - proc_symkey_enc
  - proc_pubkey_enc
  - print_sesenc_list
  - proc_encrypted
  - have_seen_pkt_encrypted_aead_or_mdc
  - proc_plaintext
  - proc_compressed_cb
  - proc_encrypt_cb
  - proc_compressed
  - do_check_sig
  - print_userid
  - list_node
  - proc_packets
  - proc_signature_packets
  - proc_signature_packets_by_fd
  - proc_encryption_packets
  - check_nesting
  - do_proc_packets
  - akl_has_wkd_method
  - issuer_fpr_raw
  - issuer_fpr_string
  - print_good_bad_signature
  - check_sig_and_print
  - proc_tree
  source_file: /src/gnupg/g10/mainproc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_NESTING_DEPTH
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/g10/mainproc.c
      type_or_value: '32'
    structs:
    - fields:
      - name: '*next'
        type: struct symlist_item
      - name: cipher_algo
        type: int
      - name: cipher_mode
        type: enum gcry_cipher_modes
      - name: other_error
        type: int
      item_type: struct
      name: symlist_item
      pos:
        line_end: 56
        line_start: 50
        source_file: /src/gnupg/g10/mainproc.c
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: '*anchor'
        type: struct mainproc_context
      - name: '*last_pubkey'
        type: PKT_public_key
      - name: '*last_user_id'
        type: PKT_user_id
      - name: mfx
        type: md_filter_context_t
      - name: sigs_only
        type: int
      - name: encrypt_only
        type: int
      - name: '*sigfilename'
        type: char
      - name: signed_data
        type: "struct\n  {\n    /* A file descriptor of the signed data.  Only used
          if not -1. */\n    gnupg_fd_t data_fd;\n    /* A list of filenames with
          the data files or NULL. This is only\n       used if DATA_FD is -1. */\n
          \   strlist_t data_names;\n    /* Flag to indicated that either one of the
          next previous fields\n       is used.  This is only needed for better readability.
          */\n    int used;\n  }"
      - name: '*dek'
        type: DEK
      - name: last_was_session_key
        type: int
      - name: list
        type: kbnode_t
      - name: iobuf
        type: iobuf_t
      - name: trustletter
        type: int
      - name: symkeys
        type: ulong
      - name: '*sesenc_list'
        type: struct seskey_enc_list
      - name: '*symenc_list'
        type: struct symlist_item
      - name: seen_pkt_encrypted_aead
        type: int
      - name: seen_pkt_encrypted_mdc
        type: int
      - name: any
        type: "struct {\n    unsigned int sig_seen:1;      /* Set to true if a signature
          packet\n                                     has been seen. */\n    unsigned
          int data:1;          /* Any data packet seen */\n    unsigned int uncompress_failed:1;\n
          \ }"
      item_type: struct
      name: mainproc_context
      pos:
        line_end: 108
        line_start: 63
        source_file: /src/gnupg/g10/mainproc.c
    typedefs:
    - item_type: typedef
      name: '*CTX'
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/gnupg/g10/mainproc.c
      type: mainproc_context
    union: []
- function_names:
  - keylist_context_release
  - release_list_filter
  - cleanup_keylist_globals
  - parse_and_set_list_filter
  - public_key_list
  - secret_key_list
  - format_key_info
  - print_key_info
  - print_key_info_log
  - print_card_key_info
  - show_preferences
  - status_one_subpacket
  - show_policy_url
  - show_keyserver_url
  - show_notation
  - print_matching_notations
  - print_signature_stats
  - list_all
  - list_one
  - locate_one
  - print_key_data
  - print_pk_screening
  - print_capabilities
  - print_one_subpacket
  - print_subpackets_colon
  - dump_attribs
  - print_keygrip
  - print_x509_notations
  - cmp_signodes
  - parse_trust_name
  - print_revocation_reason_comment
  - print_revocation_reason
  - list_signature_print
  - list_keyblock_print
  - list_keyblock_simple
  - print_revokers
  - print_compliance_flags
  - list_keyblock_colon
  - do_reorder_keyblock
  - reorder_keyblock
  - list_keyblock
  - list_keyblock_direct
  - print_icao_hexdigit
  - print_fingerprint
  - print_card_serialno
  - print_key_line
  - set_attrib_fd
  source_file: /src/gnupg/g10/keylist.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: check_sigs
        type: int
      - name: good_sigs
        type: int
      - name: inv_sigs
        type: int
      - name: no_key
        type: int
      - name: oth_err
        type: int
      - name: no_validity
        type: int
      item_type: struct
      name: keylist_context
      pos:
        line_end: 66
        line_start: 58
        source_file: /src/gnupg/g10/keylist.c
    - fields:
      - name: selkey
        type: recsel_expr_t
      item_type: struct
      name: list_filter_s
      pos:
        line_end: 74
        line_start: 71
        source_file: /src/gnupg/g10/keylist.c
    typedefs: []
    union: []
- function_names:
  - openpgp_cipher_open
  - openpgp_cipher_get_algo_keylen
  - openpgp_cipher_get_algo_blklen
  source_file: /src/gnupg/g10/main.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_CIPHER_ALGO
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/gnupg/g10/main.h
      type_or_value: CIPHER_ALGO_AES256
    - item_type: preproc_def
      name: DEFAULT_CIPHER_ALGO
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/gnupg/g10/main.h
      type_or_value: CIPHER_ALGO_AES
    - item_type: preproc_def
      name: DEFAULT_CIPHER_ALGO
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/g10/main.h
      type_or_value: CIPHER_ALGO_CAST5
    - item_type: preproc_def
      name: DEFAULT_CIPHER_ALGO
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/gnupg/g10/main.h
      type_or_value: CIPHER_ALGO_3DES
    - item_type: preproc_def
      name: DEFAULT_DIGEST_ALGO
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/g10/main.h
      type_or_value: ((GNUPG)? DIGEST_ALGO_SHA256:DIGEST_ALGO_SHA1)
    - item_type: preproc_def
      name: DEFAULT_S2K_DIGEST_ALGO
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/g10/main.h
      type_or_value: DEFAULT_DIGEST_ALGO
    - item_type: preproc_def
      name: DEFAULT_COMPRESS_ALGO
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/g10/main.h
      type_or_value: COMPRESS_ALGO_ZIP
    - item_type: preproc_def
      name: DEFAULT_COMPRESS_ALGO
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/gnupg/g10/main.h
      type_or_value: COMPRESS_ALGO_NONE
    - item_type: preproc_def
      name: S2K_DIGEST_ALGO
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/g10/main.h
      type_or_value: (opt.s2k_digest_algo?opt.s2k_digest_algo:DEFAULT_S2K_DIGEST_ALGO)
    - item_type: preproc_def
      name: GENERATE_KEYPAIR_FULL
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/gnupg/g10/main.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: GENERATE_KEYPAIR_CARDBACKUP
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/gnupg/g10/main.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: GENERATE_KEYPAIR_CARDPRIMARY
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/gnupg/g10/main.h
      type_or_value: '4  '
    structs:
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: header_okay
        type: int
      - name: pk_list
        type: PK_LIST
      - name: '*symkey_dek'
        type: DEK
      - name: '*symkey_s2k'
        type: STRING2KEY
      - name: cfx
        type: cipher_filter_context_t
      item_type: struct
      name: encrypt_filter_context_t
      pos:
        line_end: 65
        line_start: 57
        source_file: /src/gnupg/g10/main.h
    - fields:
      - name: '*name'
        type: char
      - name: values
        type: strlist_t
      - name: '*next'
        type: struct groupitem
      item_type: struct
      name: groupitem
      pos:
        line_end: 73
        line_start: 68
        source_file: /src/gnupg/g10/main.h
    - fields:
      - name: algo
        type: enum gcry_md_algos
      - name: rejection_shown
        type: int
      - name: '*next'
        type: struct weakhash
      item_type: struct
      name: weakhash
      pos:
        line_end: 80
        line_start: 75
        source_file: /src/gnupg/g10/main.h
    - fields:
      - name: '*pk'
        type: PKT_public_key
      - name: '*pksk'
        type: PKT_public_key
      - name: imagetype
        type: byte
      - name: validity_info
        type: int
      - name: '*validity_string'
        type: char
      - name: '*namehash'
        type: byte
      item_type: struct
      name: expando_args
      pos:
        line_end: 158
        line_start: 150
        source_file: /src/gnupg/g10/main.h
    - fields:
      - name: '*name'
        type: char
      - name: bit
        type: unsigned int
      - name: '**value'
        type: char
      - name: '*help'
        type: char
      item_type: struct
      name: parse_options
      pos:
        line_end: 184
        line_start: 178
        source_file: /src/gnupg/g10/main.h
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: node
        type: kbnode_t
      - name: hexfpr[2*MAX_FINGERPRINT_LEN + 1]
        type: char
      item_type: struct
      name: impex_filter_parm_s
      pos:
        line_end: 412
        line_start: 407
        source_file: /src/gnupg/g10/main.h
    typedefs:
    - item_type: typedef
      name: '*import_stats_t'
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/gnupg/g10/main.h
      type: import_stats_s
    - item_type: typedef
      name: '*import_filter_t'
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/gnupg/g10/main.h
      type: import_filter_s
    - item_type: typedef
      name: (*import_screener_t)(kbnode_t keyblock, void *arg)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/gnupg/g10/main.h
      type: gpg_error_t
    - item_type: typedef
      name: '*export_stats_t'
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/gnupg/g10/main.h
      type: export_stats_s
    union: []
- function_names:
  - register_secured_file
  - unregister_secured_file
  - is_secured_file
  - is_secured_filename
  - checksum_u16
  - checksum
  - checksum_mpi
  - print_pubkey_algo_note
  - print_cipher_algo_note
  - print_digest_algo_note
  - print_digest_rejected_note
  - print_sha1_keysig_rejected_note
  - print_reported_error
  - print_further_info
  - map_cipher_openpgp_to_gcry
  - map_cipher_gcry_to_openpgp
  - openpgp_cipher_blocklen
  - openpgp_cipher_test_algo
  - openpgp_cipher_algo_name
  - openpgp_cipher_algo_mode_name
  - openpgp_aead_test_algo
  - openpgp_aead_algo_name
  - openpgp_aead_algo_info
  - openpgp_pk_test_algo
  - openpgp_pk_test_algo2
  - openpgp_pk_algo_usage
  - openpgp_pk_algo_name
  - map_md_openpgp_to_gcry
  - openpgp_md_test_algo
  - openpgp_md_algo_name
  - get_signature_count
  - pct_expando
  - deprecated_warning
  - deprecated_command
  - obsolete_scdaemon_option
  - string_to_cipher_algo
  - string_to_aead_algo
  - string_to_digest_algo
  - compress_algo_to_string
  - string_to_compress_algo
  - check_compress_algo
  - default_cipher_algo
  - default_compress_algo
  - compliance_failure
  - optsep
  - argsplit
  - optlen
  - parse_options
  - path_access
  - pubkey_get_npkey
  - pubkey_get_nskey
  - pubkey_get_nsig
  - pubkey_get_nenc
  - pubkey_nbits
  - mpi_print
  - ecdsa_qbits_from_Q
  - additional_weak_digest
  - is_weak_digest
  - gnupg_register_partial_file
  - gnupg_rollback_partial_file
  - gnupg_commit_partial_file
  source_file: /src/gnupg/g10/misc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WIN32_LEAN_AND_MEAN
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/g10/misc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CSIDL_APPDATA
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/gnupg/g10/misc.c
      type_or_value: '0x001a'
    - item_type: preproc_def
      name: CSIDL_LOCAL_APPDATA
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/gnupg/g10/misc.c
      type_or_value: '0x001c'
    - item_type: preproc_def
      name: CSIDL_FLAG_CREATE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/gnupg/g10/misc.c
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: MY_GCRY_CIPHER_MODE_EAX
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/gnupg/g10/misc.c
      type_or_value: '14'
    structs:
    - fields:
      - name: '*next'
        type: struct secured_file_item
      - name: ino
        type: ino_t
      - name: dev
        type: dev_t
      item_type: struct
      name: secured_file_item
      pos:
        line_end: 86
        line_start: 81
        source_file: /src/gnupg/g10/misc.c
    - fields:
      - name: '*next'
        type: struct partial_file_item
      - name: '*fname_part'
        type: char
      - name: '*fname'
        type: char
      item_type: struct
      name: partial_file_item
      pos:
        line_end: 1976
        line_start: 1971
        source_file: /src/gnupg/g10/misc.c
    typedefs: []
    union: []
- function_names:
  - print_stats
  - cache_public_key
  - user_id_not_found_utf8
  - getkey_disable_caches
  - pubkeys_free
  - pk_from_block
  - get_pubkey_for_sig
  - get_pubkey_bykid
  - get_pubkey
  - get_pubkey_with_ldap_fallback
  - get_pubkey_fast
  - get_pubkeyblock_ext
  - get_pubkeyblock
  - get_seckey
  - skip_unusable
  - key_byname
  - get_pubkey_byname
  - key_is_ok
  - uid_is_ok
  - subkey_is_ok
  - only_expired_enc_subkeys
  - pubkey_cmp
  - get_best_pubkey_byname
  - get_pubkey_fromfile
  - get_pubkey_from_buffer
  - get_pubkey_byfpr
  - get_pubkey_byfpr_fast
  - get_keyblock_byfpr_fast
  - parse_def_secret_key
  - get_seckey_default
  - getkey_bynames
  - getkey_byname
  - getkey_next
  - getkey_end
  - setup_main_keyids
  - merge_keys_and_selfsig
  - parse_key_usage
  - fixup_uidnode
  - sig_to_revoke_info
  - merge_selfsigs_main
  - buf_to_sig
  - merge_selfsigs_subkey
  - merge_selfsigs
  - finish_lookup
  - print_status_key_considered
  - lookup
  - get_seckey_default_or_card
  - get_user_id_string
  - get_user_id_string_native
  - get_long_user_id_string
  - get_user_id
  - get_user_id_native
  - get_user_id_byfpr
  - get_user_id_byfpr_native
  - get_ctx_handle
  - free_akl
  - release_akl
  - akl_empty_or_only_local
  - parse_auto_key_locate
  - parse_key_origin
  - key_origin_string
  - have_secret_key_with_kid
  - has_key_with_fingerprint
  source_file: /src/gnupg/g10/getkey.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_PK_CACHE_ENTRIES
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/g10/getkey.c
      type_or_value: PK_UID_CACHE_SIZE
    - item_type: preproc_def
      name: MAX_UID_CACHE_ENTRIES
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/g10/getkey.c
      type_or_value: PK_UID_CACHE_SIZE
    - item_type: preproc_def
      name: LOOKUP_NOT_SELECTED
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/gnupg/g10/getkey.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: LOOKUP_ALL_SUBKEYS_EXPIRED
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/gnupg/g10/getkey.c
      type_or_value: '(1<<1)  '
    - item_type: preproc_def
      name: USAGE_MASK
      pos:
        line_end: 3810
        line_start: 3809
        source_file: /src/gnupg/g10/getkey.c
      type_or_value: (PUBKEY_USAGE_SIG|PUBKEY_USAGE_ENC|PUBKEY_USAGE_CERT)
    structs:
    - fields:
      - name: exact
        type: int
      - name: allow_adsk
        type: int
      - name: want_secret
        type: int
      - name: req_usage
        type: int
      - name: kr_handle
        type: KEYDB_HANDLE
      - name: not_allocated
        type: int
      - name: extra_list
        type: strlist_t
      - name: found_via_akl
        type: int
      - name: nitems
        type: int
      - name: items[1]
        type: KEYDB_SEARCH_DESC
      item_type: struct
      name: getkey_ctx_s
      pos:
        line_end: 105
        line_start: 58
        source_file: /src/gnupg/g10/getkey.c
    - fields:
      - name: any
        type: int
      - name: okay_count
        type: int
      - name: nokey_count
        type: int
      - name: error_count
        type: int
      item_type: struct
      name: lkup_stats[21]
      pos:
        line_end: 114
        line_start: 108
        source_file: /src/gnupg/g10/getkey.c
    - fields:
      - name: '*next'
        type: struct keyid_list
      - name: fprlen
        type: byte
      - name: fpr[MAX_FINGERPRINT_LEN]
        type: char
      - name: keyid[2]
        type: u32
      item_type: struct
      name: keyid_list
      pos:
        line_end: 123
        line_start: 117
        source_file: /src/gnupg/g10/getkey.c
    - fields:
      - name: '*next'
        type: struct pk_cache_entry
      - name: keyid[2]
        type: u32
      - name: '*pk'
        type: PKT_public_key
      item_type: struct
      name: pk_cache_entry
      pos:
        line_end: 132
        line_start: 127
        source_file: /src/gnupg/g10/getkey.c
    - fields:
      - name: valid
        type: int
      - name: key
        type: PKT_public_key
      - name: '*uid'
        type: PKT_user_id
      - name: validity
        type: unsigned int
      - name: creation_time
        type: u32
      item_type: struct
      name: pubkey_cmp_cookie
      pos:
        line_end: 1463
        line_start: 1455
        source_file: /src/gnupg/g10/getkey.c
    - fields:
      - name: '*name'
        type: char
      - name: origin
        type: int
      item_type: struct
      name: "key_origin_list[] =\n  {\n    { \"self\",    KEYORG_SELF    },\n    {
        \"file\",    KEYORG_FILE    },\n    { \"url\",     KEYORG_URL     },\n    {
        \"wkd\",     KEYORG_WKD     },\n    { \"dane\",    KEYORG_DANE    },\n    {
        \"ks-pref\", KEYORG_KS_PREF },\n    { \"ks\",      KEYORG_KS      },\n    {
        \"unknown\", KEYORG_UNKNOWN }\n  }"
      pos:
        line_end: 4628
        line_start: 4625
        source_file: /src/gnupg/g10/getkey.c
    typedefs: []
    union: []
- function_names:
  - make_session_key
  - encode_session_key
  - do_encode_md
  - encode_md_value
  source_file: /src/gnupg/g10/seskey.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - keyid_from_fpr20
  - new_key_item
  - copy_key_item
  - release_key_items
  - new_key_hash_table
  - release_key_hash_table
  - test_key_hash_table
  - add_key_hash_table
  - release_key_array
  - tdb_register_trusted_keyid
  - tdb_register_trusted_key
  - add_utk
  - tdb_update_utk
  - verify_own_keys
  - tdb_keyid_is_utk
  - tdb_utks
  - read_record
  - write_record
  - do_sync
  - trust_model_string
  - setup_trustdb
  - how_to_fix_the_trustdb
  - init_trustdb
  - have_trustdb
  - check_trustdb
  - update_trustdb
  - tdb_revalidation_mark
  - trustdb_pending_check
  - tdb_check_or_update
  - read_trust_options
  - read_trust_record
  - tdb_get_ownertrust
  - tdb_get_min_ownertrust
  - tdb_update_ownertrust
  - update_min_ownertrust
  - tdb_clear_ownertrusts
  - update_validity
  - tdb_cache_disabled_value
  - tdb_check_trustdb_stale
  - tdb_get_validity_core
  - get_validity_counts
  - list_trust_path
  - enum_cert_paths
  - enum_cert_paths_print
  - ask_ownertrust
  - mark_keyblock_seen
  - dump_key_array
  - store_validation_status
  - sanitize_regexp
  - check_regexp
  - validate_one_keyblock
  - search_skipfnc
  - validate_key_list
  - reset_trust_records
  - validate_keys
  source_file: /src/gnupg/g10/trustdb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEY_HASH_TABLE_SIZE
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/gnupg/g10/trustdb.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: REGEXP_OPERATOR_CHARS
      pos:
        line_end: 1707
        line_start: 1706
        source_file: /src/gnupg/g10/trustdb.c
      type_or_value: '"^[$()|*+?{"'
    structs:
    - fields:
      - name: keyblock
        type: KBNODE
      item_type: struct
      name: key_array
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/gnupg/g10/trustdb.c
    - fields:
      - name: init
        type: int
      - name: level
        type: int
      - name: '*dbname'
        type: char
      - name: no_trustdb
        type: int
      item_type: struct
      name: trustdb_args
      pos:
        line_end: 63
        line_start: 57
        source_file: /src/gnupg/g10/trustdb.c
    typedefs:
    - item_type: typedef
      name: '**KeyHashTable'
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/gnupg/g10/trustdb.c
      type: key_item
    union: []
- function_names: []
  source_file: /src/gnupg/g10/gpgsql.h
  types:
    enum:
    - enumerators:
      - name: GPGSQL_ARG_END
        value: '0xdead001'
      - name: GPGSQL_ARG_LONG_LONG
      - name: GPGSQL_ARG_INT
      - name: GPGSQL_ARG_STRING
      - name: GPGSQL_ARG_BLOB
      item_type: enum
      name: gpgsql_arg_type
      pos:
        line_end: 33
        line_start: 24
        source_file: /src/gnupg/g10/gpgsql.h
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "(*gpgsql_stepx_callback) (void *cookie,\n                                      /*
        number of columns.  */\n                                      int cols,\n
        \                                     /* columns as text.  */\n                                      char
        **values,\n                                      /* column names.  */\n                                      char
        **names,\n                                      /* The prepared statement
        so\n                                       * that it is possible to use\n
        \                                      * something like\n                                       *
        sqlite3_column_blob().  */\n                                      sqlite3_stmt
        *statement)"
      pos:
        line_end: 51
        line_start: 40
        source_file: /src/gnupg/g10/gpgsql.h
      type: int
    union: []
- function_names:
  - struct
  - struct
  source_file: /src/gnupg/g10/options.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DBG_PACKET_VALUE
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/gnupg/g10/options.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: DBG_MPI_VALUE
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/gnupg/g10/options.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: DBG_CRYPTO_VALUE
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/gnupg/g10/options.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: DBG_FILTER_VALUE
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/gnupg/g10/options.h
      type_or_value: "8\t"
    - item_type: preproc_def
      name: DBG_IOBUF_VALUE
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/gnupg/g10/options.h
      type_or_value: "16\t"
    - item_type: preproc_def
      name: DBG_MEMORY_VALUE
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/gnupg/g10/options.h
      type_or_value: "32\t"
    - item_type: preproc_def
      name: DBG_CACHE_VALUE
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/gnupg/g10/options.h
      type_or_value: "64\t"
    - item_type: preproc_def
      name: DBG_MEMSTAT_VALUE
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/gnupg/g10/options.h
      type_or_value: "128\t"
    - item_type: preproc_def
      name: DBG_TRUST_VALUE
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/gnupg/g10/options.h
      type_or_value: "256\t"
    - item_type: preproc_def
      name: DBG_HASHING_VALUE
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/gnupg/g10/options.h
      type_or_value: "512\t"
    - item_type: preproc_def
      name: DBG_IPC_VALUE
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/gnupg/g10/options.h
      type_or_value: '1024  '
    - item_type: preproc_def
      name: DBG_RECSEL_VALUE
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/gnupg/g10/options.h
      type_or_value: '2048  '
    - item_type: preproc_def
      name: DBG_CLOCK_VALUE
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/gnupg/g10/options.h
      type_or_value: '4096'
    - item_type: preproc_def
      name: DBG_LOOKUP_VALUE
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/gnupg/g10/options.h
      type_or_value: "8192\t"
    - item_type: preproc_def
      name: DBG_EXTPROG_VALUE
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/gnupg/g10/options.h
      type_or_value: '16384 '
    - item_type: preproc_def
      name: DBG_KEYDB_VALUE
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/gnupg/g10/options.h
      type_or_value: '32768 '
    - item_type: preproc_def
      name: DBG_PACKET
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/gnupg/g10/options.h
      type_or_value: (opt.debug & DBG_PACKET_VALUE)
    - item_type: preproc_def
      name: DBG_MPI
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/gnupg/g10/options.h
      type_or_value: (opt.debug & DBG_MPI_VALUE)
    - item_type: preproc_def
      name: DBG_CRYPTO
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/gnupg/g10/options.h
      type_or_value: (opt.debug & DBG_CRYPTO_VALUE)
    - item_type: preproc_def
      name: DBG_FILTER
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/gnupg/g10/options.h
      type_or_value: (opt.debug & DBG_FILTER_VALUE)
    - item_type: preproc_def
      name: DBG_CACHE
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/gnupg/g10/options.h
      type_or_value: (opt.debug & DBG_CACHE_VALUE)
    - item_type: preproc_def
      name: DBG_TRUST
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/gnupg/g10/options.h
      type_or_value: (opt.debug & DBG_TRUST_VALUE)
    - item_type: preproc_def
      name: DBG_HASHING
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/gnupg/g10/options.h
      type_or_value: (opt.debug & DBG_HASHING_VALUE)
    - item_type: preproc_def
      name: DBG_IPC
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/gnupg/g10/options.h
      type_or_value: (opt.debug & DBG_IPC_VALUE)
    - item_type: preproc_def
      name: DBG_RECSEL
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/gnupg/g10/options.h
      type_or_value: (opt.debug & DBG_RECSEL_VALUE)
    - item_type: preproc_def
      name: DBG_CLOCK
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/gnupg/g10/options.h
      type_or_value: (opt.debug & DBG_CLOCK_VALUE)
    - item_type: preproc_def
      name: DBG_LOOKUP
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/gnupg/g10/options.h
      type_or_value: (opt.debug & DBG_LOOKUP_VALUE)
    - item_type: preproc_def
      name: DBG_EXTPROG
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/gnupg/g10/options.h
      type_or_value: (opt.debug & DBG_EXTPROG_VALUE)
    - item_type: preproc_def
      name: DBG_KEYDB
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/gnupg/g10/options.h
      type_or_value: (opt.debug & DBG_KEYDB_VALUE)
    - item_type: preproc_def
      name: DBG_MEMORY
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/gnupg/g10/options.h
      type_or_value: memory_debug_mode
    - item_type: preproc_def
      name: DBG_MEMSTAT
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/gnupg/g10/options.h
      type_or_value: memory_stat_debug_mode
    - item_type: preproc_def
      name: COMPAT_PARALLELIZED
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/gnupg/g10/options.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: COMPAT_T7014_OLD
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/gnupg/g10/options.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: COMPAT_COMPR_KEYS
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/gnupg/g10/options.h
      type_or_value: '4  '
    - item_type: preproc_def
      name: COMPAT_NO_MANU
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/gnupg/g10/options.h
      type_or_value: '8  '
    - item_type: preproc_def
      name: COMPAT_SUGGEST_EMBEDDED_NAME
      pos:
        line_end: 411
        line_start: 408
        source_file: /src/gnupg/g10/options.h
      type_or_value: '16 '
    - item_type: preproc_def
      name: COMPAT_ALLOW_NOT_DASH_ESCAPED
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/gnupg/g10/options.h
      type_or_value: '32 '
    - item_type: preproc_def
      name: COMPAT_NO_PARTIALFILEGUARD
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/gnupg/g10/options.h
      type_or_value: '64 '
    - item_type: preproc_def
      name: GNUPG
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/gnupg/g10/options.h
      type_or_value: (opt.compliance==CO_GNUPG || opt.compliance==CO_DE_VS)
    - item_type: preproc_def
      name: RFC2440
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/gnupg/g10/options.h
      type_or_value: (opt.compliance==CO_RFC2440)
    - item_type: preproc_def
      name: RFC4880
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/gnupg/g10/options.h
      type_or_value: (opt.compliance==CO_RFC4880)
    - item_type: preproc_def
      name: PGP7
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/gnupg/g10/options.h
      type_or_value: (opt.compliance==CO_PGP7)
    - item_type: preproc_def
      name: PGP8
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/gnupg/g10/options.h
      type_or_value: (opt.compliance==CO_PGP8)
    - item_type: preproc_def
      name: PGPX
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/gnupg/g10/options.h
      type_or_value: (PGP7 || PGP8)
    - item_type: preproc_def
      name: IMPORT_LOCAL_SIGS
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: IMPORT_REPAIR_PKS_SUBKEY_BUG
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: IMPORT_FAST
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: IMPORT_SHOW
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: IMPORT_MERGE_ONLY
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: IMPORT_MINIMAL
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: IMPORT_CLEAN
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: IMPORT_ONLY_PUBKEYS
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: IMPORT_KEEP_OWNERTTRUST
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<8)
    - item_type: preproc_def
      name: IMPORT_EXPORT
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<9)
    - item_type: preproc_def
      name: IMPORT_RESTORE
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<10)
    - item_type: preproc_def
      name: IMPORT_REPAIR_KEYS
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<11)
    - item_type: preproc_def
      name: IMPORT_DRY_RUN
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<12)
    - item_type: preproc_def
      name: IMPORT_SELF_SIGS_ONLY
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<14)
    - item_type: preproc_def
      name: IMPORT_COLLAPSE_UIDS
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<15)
    - item_type: preproc_def
      name: IMPORT_COLLAPSE_SUBKEYS
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<16)
    - item_type: preproc_def
      name: IMPORT_BULK
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<17)
    - item_type: preproc_def
      name: IMPORT_IGNORE_ATTRIBUTES
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<18)
    - item_type: preproc_def
      name: IMPORT_FORCE_UPDATE
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<19)
    - item_type: preproc_def
      name: EXPORT_LOCAL_SIGS
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: EXPORT_ATTRIBUTES
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: EXPORT_SENSITIVE_REVKEYS
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: EXPORT_RESET_SUBKEY_PASSWD
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: EXPORT_MINIMAL
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: EXPORT_CLEAN
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: EXPORT_DANE_FORMAT
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: EXPORT_BACKUP
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<10)
    - item_type: preproc_def
      name: EXPORT_REVOCS
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<11)
    - item_type: preproc_def
      name: EXPORT_MODE1003
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<12)
    - item_type: preproc_def
      name: EXPORT_REALCLEAN
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<13)
    - item_type: preproc_def
      name: EXPORT_KEEP_EXPIRED
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<14)
    - item_type: preproc_def
      name: EXPORT_NO_STATUS
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/gnupg/g10/options.h
      type_or_value: '(1<<20) '
    - item_type: preproc_def
      name: LIST_SHOW_PHOTOS
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: LIST_SHOW_POLICY_URLS
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: LIST_SHOW_STD_NOTATIONS
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: LIST_SHOW_USER_NOTATIONS
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: LIST_SHOW_NOTATIONS
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/gnupg/g10/options.h
      type_or_value: (LIST_SHOW_STD_NOTATIONS|LIST_SHOW_USER_NOTATIONS)
    - item_type: preproc_def
      name: LIST_SHOW_KEYSERVER_URLS
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: LIST_SHOW_UID_VALIDITY
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: LIST_SHOW_UNUSABLE_UIDS
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: LIST_SHOW_UNUSABLE_SUBKEYS
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: LIST_SHOW_KEYRING
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<8)
    - item_type: preproc_def
      name: LIST_SHOW_SIG_EXPIRE
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<9)
    - item_type: preproc_def
      name: LIST_SHOW_SIG_SUBPACKETS
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<10)
    - item_type: preproc_def
      name: LIST_SHOW_USAGE
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<11)
    - item_type: preproc_def
      name: LIST_SHOW_ONLY_FPR_MBOX
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<12)
    - item_type: preproc_def
      name: LIST_SORT_SIGS
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<13)
    - item_type: preproc_def
      name: LIST_SHOW_PREF
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<14)
    - item_type: preproc_def
      name: LIST_SHOW_PREF_VERBOSE
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<15)
    - item_type: preproc_def
      name: LIST_SHOW_UNUSABLE_SIGS
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<16)
    - item_type: preproc_def
      name: LIST_SHOW_X509_NOTATIONS
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<17)
    - item_type: preproc_def
      name: LIST_STORE_X509_NOTATIONS
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<18)
    - item_type: preproc_def
      name: LIST_SHOW_OWNERTRUST
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<19)
    - item_type: preproc_def
      name: LIST_SHOW_TRUSTSIG
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<20)
    - item_type: preproc_def
      name: LIST_SHOW_HIDDEN_NOTATIONS
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<21)
    - item_type: preproc_def
      name: VERIFY_SHOW_PHOTOS
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: VERIFY_SHOW_POLICY_URLS
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: VERIFY_SHOW_STD_NOTATIONS
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: VERIFY_SHOW_USER_NOTATIONS
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: VERIFY_SHOW_NOTATIONS
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/gnupg/g10/options.h
      type_or_value: (VERIFY_SHOW_STD_NOTATIONS|VERIFY_SHOW_USER_NOTATIONS)
    - item_type: preproc_def
      name: VERIFY_SHOW_KEYSERVER_URLS
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: VERIFY_SHOW_UID_VALIDITY
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: VERIFY_SHOW_UNUSABLE_UIDS
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: VERIFY_SHOW_PRIMARY_UID_ONLY
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<9)
    - item_type: preproc_def
      name: VERIFY_SHOW_HIDDEN_NOTATIONS
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<21)
    - item_type: preproc_def
      name: KEYSERVER_HTTP_PROXY
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: KEYSERVER_TIMEOUT
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: KEYSERVER_ADD_FAKE_V3
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: KEYSERVER_AUTO_KEY_RETRIEVE
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: KEYSERVER_HONOR_KEYSERVER_URL
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: KEYSERVER_UPDATE_BEFORE_SEND
      pos:
        line_end: 503
        line_start: 502
        source_file: /src/gnupg/g10/options.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: KEYSERVER_LDAP_ONLY
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/gnupg/g10/options.h
      type_or_value: '(1<<6) '
    - item_type: preproc_def
      name: KEYSERVER_WARN_ONLY
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/gnupg/g10/options.h
      type_or_value: '(1<<7) '
    structs:
    - fields:
      - name: '*next'
        type: struct keyserver_spec
      - name: '*uri'
        type: char
      item_type: struct
      name: keyserver_spec
      pos:
        line_end: 40
        line_start: 36
        source_file: /src/gnupg/g10/options.h
    - fields:
      - name: type
        type: "enum {\n    AKL_NODEFAULT,\n    AKL_LOCAL,\n    AKL_CERT,\n    AKL_PKA,\n
          \   AKL_DANE,\n    AKL_WKD,\n    AKL_LDAP,\n    AKL_NTDS,\n    AKL_KEYSERVER,\n
          \   AKL_SPEC\n  }"
      - name: spec
        type: keyserver_spec_t
      - name: '*next'
        type: struct akl
      item_type: struct
      name: akl
      pos:
        line_end: 60
        line_start: 44
        source_file: /src/gnupg/g10/options.h
    - fields:
      - name: options
        type: unsigned int
      - name: import_options
        type: unsigned int
      - name: export_options
        type: unsigned int
      - name: '*http_proxy'
        type: char
      item_type: struct
      name: keyserver_options
      pos:
        line_end: 199
        line_start: 193
        source_file: /src/gnupg/g10/options.h
    - fields:
      - name: require_cross_cert
        type: unsigned int
      - name: use_embedded_filename
        type: unsigned int
      - name: utf8_filename
        type: unsigned int
      - name: dsa2
        type: unsigned int
      - name: allow_old_cipher_algos
        type: unsigned int
      - name: allow_weak_digest_algos
        type: unsigned int
      - name: allow_weak_key_signatures
        type: unsigned int
      - name: large_rsa
        type: unsigned int
      - name: disable_signer_uid
        type: unsigned int
      - name: include_key_block
        type: unsigned int
      - name: auto_key_import
        type: unsigned int
      - name: auto_key_upload
        type: unsigned int
      - name: rfc4880bis
        type: unsigned int
      - name: dummy_outfile
        type: unsigned int
      - name: use_only_openpgp_card
        type: unsigned int
      - name: full_timestrings
        type: unsigned int
      - name: force_sign_key
        type: unsigned int
      - name: no_auto_trust_new_key
        type: unsigned int
      - name: expl_import_self_sigs_only
        type: unsigned int
      - name: expl_import_clean
        type: unsigned int
      - name: require_compliance
        type: unsigned int
      - name: require_pqc_encryption
        type: unsigned int
      - name: disable_pqc_encryption
        type: unsigned int
      - name: proc_all_sigs
        type: unsigned int
      item_type: struct
      name: flags
      pos:
        line_end: 320
        line_start: 273
        source_file: /src/gnupg/g10/options.h
    typedefs:
    - item_type: typedef
      name: '*keyserver_spec_t'
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/gnupg/g10/options.h
      type: keyserver_spec
    union: []
- function_names:
  - set_exec_path
  - set_exec_path
  source_file: /src/gnupg/g10/exec.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g10/keyedit.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NODFLG_BADSIG
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/gnupg/g10/keyedit.h
      type_or_value: "(1<<0)\t"
    - item_type: preproc_def
      name: NODFLG_NOKEY
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/gnupg/g10/keyedit.h
      type_or_value: "(1<<1)\t"
    - item_type: preproc_def
      name: NODFLG_SIGERR
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/gnupg/g10/keyedit.h
      type_or_value: "(1<<2)\t"
    - item_type: preproc_def
      name: NODFLG_MARK_A
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/gnupg/g10/keyedit.h
      type_or_value: "(1<<4)\t"
    - item_type: preproc_def
      name: NODFLG_DELSIG
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/g10/keyedit.h
      type_or_value: "(1<<5)\t"
    - item_type: preproc_def
      name: NODFLG_SELUID
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/g10/keyedit.h
      type_or_value: "(1<<8)\t"
    - item_type: preproc_def
      name: NODFLG_SELKEY
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/gnupg/g10/keyedit.h
      type_or_value: "(1<<9)\t"
    - item_type: preproc_def
      name: NODFLG_SELSIG
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/gnupg/g10/keyedit.h
      type_or_value: "(1<<10)\t"
    - item_type: preproc_def
      name: NODFLG_MARK_B
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/gnupg/g10/keyedit.h
      type_or_value: '(1<<11)   '
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_RSA
  - is_ELGAMAL
  - is_DSA
  - pk_is_disabled
  - init_packet
  - init_parse_packet
  - deinit_parse_packet
  - search_packet
  - parse_packet
  - copy_all_packets
  - copy_some_packets
  - skip_some_packets
  source_file: /src/gnupg/g10/packet.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_PARSE_PACKET
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_KEY_PACKET_LENGTH
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/gnupg/g10/packet.h
      type_or_value: (256 * 1024)
    - item_type: preproc_def
      name: MAX_UID_PACKET_LENGTH
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/g10/packet.h
      type_or_value: (  2 * 1024)
    - item_type: preproc_def
      name: MAX_COMMENT_PACKET_LENGTH
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/g10/packet.h
      type_or_value: ( 64 * 1024)
    - item_type: preproc_def
      name: MAX_ATTR_PACKET_LENGTH
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/gnupg/g10/packet.h
      type_or_value: ( 16 * 1024*1024)
    - item_type: preproc_def
      name: PUBKEY_MAX_NPKEY
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/gnupg/g10/packet.h
      type_or_value: OPENPGP_MAX_NPKEY
    - item_type: preproc_def
      name: PUBKEY_MAX_NSKEY
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/g10/packet.h
      type_or_value: OPENPGP_MAX_NSKEY
    - item_type: preproc_def
      name: PUBKEY_MAX_NSIG
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/g10/packet.h
      type_or_value: OPENPGP_MAX_NSIG
    - item_type: preproc_def
      name: PUBKEY_MAX_NENC
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/g10/packet.h
      type_or_value: OPENPGP_MAX_NENC
    - item_type: preproc_def
      name: PUBKEY_USAGE_SIG
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/gnupg/g10/packet.h
      type_or_value: 'GCRY_PK_USAGE_SIGN  '
    - item_type: preproc_def
      name: PUBKEY_USAGE_ENC
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/gnupg/g10/packet.h
      type_or_value: 'GCRY_PK_USAGE_ENCR  '
    - item_type: preproc_def
      name: PUBKEY_USAGE_CERT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/gnupg/g10/packet.h
      type_or_value: 'GCRY_PK_USAGE_CERT  '
    - item_type: preproc_def
      name: PUBKEY_USAGE_AUTH
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/gnupg/g10/packet.h
      type_or_value: 'GCRY_PK_USAGE_AUTH  '
    - item_type: preproc_def
      name: PUBKEY_USAGE_UNKNOWN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/g10/packet.h
      type_or_value: 'GCRY_PK_USAGE_UNKN  '
    - item_type: preproc_def
      name: PUBKEY_USAGE_NONE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '256                 '
    - item_type: preproc_def
      name: PUBKEY_USAGE_GROUP
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '512                 '
    - item_type: preproc_def
      name: PUBKEY_USAGE_RENC
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '1024                '
    - item_type: preproc_def
      name: PUBKEY_USAGE_TIME
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '2048                '
    - item_type: preproc_def
      name: PUBKEY_USAGE_VERIFY
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '16384               '
    - item_type: preproc_def
      name: PUBKEY_USAGE_BASIC_MASK
      pos:
        line_end: 67
        line_start: 65
        source_file: /src/gnupg/g10/packet.h
      type_or_value: "(PUBKEY_USAGE_SIG|PUBKEY_USAGE_ENC\\\n                                  |PUBKEY_USAGE_CERT|PUBKEY_USAGE_AUTH)"
    - item_type: preproc_def
      name: PUBKEY_USAGE_XENC_MASK
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/gnupg/g10/packet.h
      type_or_value: (PUBKEY_USAGE_ENC | PUBKEY_USAGE_RENC)
    - item_type: preproc_def
      name: SIGCLASS_DATA
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '0x00   '
    - item_type: preproc_def
      name: SIGCLASS_TEXT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '0x01   '
    - item_type: preproc_def
      name: SIGCLASS_SALONE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '0x02   '
    - item_type: preproc_def
      name: SIGCLASS_CERT
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '0x10   '
    - item_type: preproc_def
      name: SIGCLASS_CERT11
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '0x11   '
    - item_type: preproc_def
      name: SIGCLASS_CERT12
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '0x12   '
    - item_type: preproc_def
      name: SIGCLASS_CERT13
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '0x13   '
    - item_type: preproc_def
      name: SIGCLASS_SUBKEY
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '0x18   '
    - item_type: preproc_def
      name: SIGCLASS_BACKSIG
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '0x19   '
    - item_type: preproc_def
      name: SIGCLASS_KEY
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '0x1f   '
    - item_type: preproc_def
      name: SIGCLASS_KEYREV
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '0x20   '
    - item_type: preproc_def
      name: SIGCLASS_SUBREV
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '0x28   '
    - item_type: preproc_def
      name: SIGCLASS_CERTREV
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '0x30   '
    - item_type: preproc_def
      name: SIGNHINT_KEYSIG
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SIGNHINT_SELFSIG
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '2'
    - item_type: preproc_def
      name: SIGNHINT_ADSK
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '4'
    - item_type: preproc_def
      name: ATTRIB_IMAGE
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RING_TRUST_SIG
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '0  '
    - item_type: preproc_def
      name: RING_TRUST_KEY
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: RING_TRUST_UID
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/gnupg/g10/packet.h
      type_or_value: '2  '
    structs:
    - fields:
      - name: type
        type: byte
      - name: value
        type: byte
      item_type: struct
      name: prefitem_t
      pos:
        line_end: 119
        line_start: 116
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: mode
        type: int
      - name: hash_algo
        type: byte
      - name: salt[8]
        type: byte
      - name: count
        type: u32
      item_type: struct
      name: STRING2KEY
      pos:
        line_end: 129
        line_start: 122
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: version
        type: byte
      - name: cipher_algo
        type: byte
      - name: aead_algo
        type: byte
      - name: s2k
        type: STRING2KEY
      - name: seskeylen
        type: byte
      - name: '*seskey'
        type: byte
      item_type: struct
      name: PKT_symkey_enc
      pos:
        line_end: 152
        line_start: 133
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: keyid[2]
        type: u32
      - name: version
        type: byte
      - name: pubkey_algo
        type: byte
      - name: seskey_algo
        type: byte
      - name: throw_keyid
        type: byte
      - name: data[PUBKEY_MAX_NENC]
        type: gcry_mpi_t
      item_type: struct
      name: PKT_pubkey_enc
      pos:
        line_end: 170
        line_start: 156
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: '*next'
        type: struct seskey_enc_list
      - name: result
        type: int
      - name: u_sym
        type: int
      - name: u
        type: "union {\n    PKT_pubkey_enc pub;\n    PKT_symkey_enc sym;\n  }"
      item_type: struct
      name: seskey_enc_list
      pos:
        line_end: 185
        line_start: 176
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: '*next'
        type: struct pubkey_enc_info_item
      - name: keyid[2]
        type: u32
      - name: version
        type: byte
      - name: pubkey_algo
        type: byte
      item_type: struct
      name: pubkey_enc_info_item
      pos:
        line_end: 196
        line_start: 189
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: keyid[2]
        type: u32
      - name: sig_class
        type: byte
      - name: digest_algo
        type: byte
      - name: pubkey_algo
        type: byte
      - name: last
        type: byte
      item_type: struct
      name: PKT_onepass_sig
      pos:
        line_end: 216
        line_start: 201
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: size
        type: size_t
      - name: len
        type: size_t
      - name: data[1]
        type: byte
      item_type: struct
      name: subpktarea_t
      pos:
        line_end: 227
        line_start: 223
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: class
        type: byte
      - name: algid
        type: byte
      - name: fprlen
        type: byte
      - name: fpr[MAX_FINGERPRINT_LEN]
        type: byte
      item_type: struct
      name: revocation_key
      pos:
        line_end: 242
        line_start: 231
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: fprlen
        type: byte
      - name: fpr[MAX_FINGERPRINT_LEN]
        type: byte
      item_type: struct
      name: rev_subject_info_s
      pos:
        line_end: 251
        line_start: 245
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: flags
        type: "struct\n  {\n    unsigned checked:1;         /* Signature has been
          checked. */\n    unsigned valid:1;           /* Signature is good (if checked
          is set). */\n    unsigned chosen_selfsig:1;  /* A selfsig that is the chosen
          one. */\n    unsigned unknown_critical:1;\n    unsigned exportable:1;\n
          \   unsigned revocable:1;\n    unsigned policy_url:1;  /* At least one policy
          URL is present */\n    unsigned notation:1;    /* At least one notation
          is present */\n    unsigned pref_ks:1;     /* At least one preferred keyserver
          is present */\n    unsigned key_block:1;   /* A key block subpacket is present.
          \ */\n    unsigned expired:1;\n  }"
      - name: keyid[2]
        type: u32
      - name: timestamp
        type: u32
      - name: expiredate
        type: u32
      - name: version
        type: byte
      - name: sig_class
        type: byte
      - name: pubkey_algo
        type: byte
      - name: digest_algo
        type: byte
      - name: trust_depth
        type: byte
      - name: trust_value
        type: byte
      - name: '*trust_regexp'
        type: byte
      - name: '*revkey'
        type: struct revocation_key
      - name: numrevkeys
        type: int
      - name: help_counter
        type: int
      - name: '*signers_uid'
        type: char
      - name: '*hashed'
        type: subpktarea_t
      - name: '*unhashed'
        type: subpktarea_t
      - name: digest_start[2]
        type: byte
      - name: data[PUBKEY_MAX_NSIG]
        type: gcry_mpi_t
      - name: digest[512 / 8]
        type: byte
      - name: digest_len
        type: int
      - name: '*rev_subject_info'
        type: struct rev_subject_info_s
      item_type: struct
      name: PKT_signature
      pos:
        line_end: 317
        line_start: 258
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: type
        type: byte
      - name: '*data'
        type: byte
      - name: len
        type: u32
      item_type: struct
      name: user_attribute
      pos:
        line_end: 326
        line_start: 322
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: ref
        type: int
      - name: len
        type: int
      - name: '*attribs'
        type: struct user_attribute
      - name: numattribs
        type: int
      - name: '*attrib_data'
        type: byte
      - name: attrib_len
        type: unsigned long
      - name: '*namehash'
        type: byte
      - name: help_key_usage
        type: u16
      - name: help_key_expire
        type: u32
      - name: help_full_count
        type: int
      - name: help_marginal_count
        type: int
      - name: expiredate
        type: u32
      - name: '*prefs'
        type: prefitem_t
      - name: created
        type: u32
      - name: keyupdate
        type: u32
      - name: '*updateurl'
        type: char
      - name: keyorg
        type: byte
      - name: selfsigversion
        type: byte
      - name: flags
        type: "struct\n  {\n    unsigned int mdc:1;\n    unsigned int aead:1;\n    unsigned
          int ks_modify:1;\n    unsigned int compacted:1;\n    unsigned int primary:2;
          /* 2 if set via the primary flag, 1 if calculated */\n                            /*
          Note that this flag is set in a\n                             * keyblock
          at max for one User ID and for\n                             * one User
          Attribute per keyblock.  */\n    unsigned int revoked:1;\n    unsigned int
          expired:1;\n  }"
      - name: '*mbox'
        type: char
      - name: name[1]
        type: char
      item_type: struct
      name: PKT_user_id
      pos:
        line_end: 377
        line_start: 333
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: date
        type: u32
      - name: keyid[2]
        type: u32
      - name: '*reason_comment'
        type: char
      - name: reason_comment_len
        type: size_t
      - name: algo
        type: byte
      - name: reason_code
        type: byte
      - name: got_reason
        type: byte
      item_type: struct
      name: revoke_info
      pos:
        line_end: 397
        line_start: 381
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: is_protected
        type: unsigned int
      - name: sha1chk
        type: unsigned int
      - name: csum
        type: u16
      - name: algo
        type: byte
      - name: s2k
        type: STRING2KEY
      - name: ivlen
        type: byte
      - name: iv[16]
        type: byte
      item_type: struct
      name: seckey_info
      pos:
        line_end: 413
        line_start: 401
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: timestamp
        type: u32
      - name: expiredate
        type: u32
      - name: max_expiredate
        type: u32
      - name: revoked
        type: struct revoke_info
      - name: hdrbytes
        type: byte
      - name: version
        type: byte
      - name: selfsigversion
        type: byte
      - name: fprlen
        type: byte
      - name: pubkey_algo
        type: byte
      - name: pubkey_usage
        type: u16
      - name: req_usage
        type: u16
      - name: has_expired
        type: u32
      - name: main_keyid[2]
        type: u32
      - name: keyid[2]
        type: u32
      - name: fpr[MAX_FINGERPRINT_LEN]
        type: byte
      - name: '*prefs'
        type: prefitem_t
      - name: flags
        type: "struct\n  {\n    unsigned int mdc:1;           /* MDC feature set.
          \ */\n    unsigned int aead:1;          /* AEAD feature set.  */\n    unsigned
          int disabled_valid:1;/* The next flag is valid.  */\n    unsigned int disabled:1;
          \     /* The key has been disabled.  */\n    unsigned int primary:1;       /*
          This is a primary key.  */\n    unsigned int revoked:2;       /* Key has
          been revoked.\n                                     1 = revoked by the owner\n
          \                                    2 = revoked by designated revoker.
          \ */\n    unsigned int maybe_revoked:1; /* A designated revocation is\n
          \                                    present, but without the key to\n                                     check
          it.  */\n    unsigned int valid:1;         /* Key (especially subkey) is
          valid.  */\n    unsigned int dont_cache:1;    /* Do not cache this key.
          \ */\n    unsigned int backsig:2;       /* 0=none, 1=bad, 2=good.  */\n
          \   unsigned int serialno_valid:1;/* SERIALNO below is valid.  */\n    unsigned
          int exact:1;         /* Found via exact (!) search.  */\n  }"
      - name: '*user_id'
        type: PKT_user_id
      - name: '*revkey'
        type: struct revocation_key
      - name: numrevkeys
        type: int
      - name: trust_timestamp
        type: u32
      - name: trust_depth
        type: byte
      - name: trust_value
        type: byte
      - name: keyorg
        type: byte
      - name: keyupdate
        type: u32
      - name: '*updateurl'
        type: char
      - name: '*trust_regexp'
        type: byte
      - name: '*serialno'
        type: char
      - name: '*seckey_info'
        type: struct seckey_info
      - name: pkey[PUBKEY_MAX_NSKEY]
        type: gcry_mpi_t
      item_type: struct
      name: PKT_public_key
      pos:
        line_end: 507
        line_start: 437
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: len
        type: int
      - name: data[1]
        type: char
      item_type: struct
      name: PKT_comment
      pos:
        line_end: 519
        line_start: 516
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: len
        type: u32
      - name: new_ctb
        type: byte
      - name: algorithm
        type: byte
      - name: buf
        type: iobuf_t
      item_type: struct
      name: PKT_compressed
      pos:
        line_end: 533
        line_start: 522
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: len
        type: u32
      - name: extralen
        type: int
      - name: new_ctb
        type: byte
      - name: is_partial
        type: byte
      - name: mdc_method
        type: byte
      - name: aead_algo
        type: byte
      - name: cipher_algo
        type: byte
      - name: chunkbyte
        type: byte
      - name: buf
        type: iobuf_t
      item_type: struct
      name: PKT_encrypted
      pos:
        line_end: 571
        line_start: 538
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: hash[20]
        type: byte
      item_type: struct
      name: PKT_mdc
      pos:
        line_end: 575
        line_start: 573
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: trustval
        type: unsigned int
      - name: sigcache
        type: unsigned int
      - name: subtype
        type: unsigned char
      - name: keyorg
        type: unsigned char
      - name: keyupdate
        type: u32
      - name: '*url'
        type: char
      item_type: struct
      name: PKT_ring_trust
      pos:
        line_end: 596
        line_start: 589
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: len
        type: u32
      - name: buf
        type: iobuf_t
      - name: new_ctb
        type: byte
      - name: is_partial
        type: byte
      - name: mode
        type: int
      - name: timestamp
        type: u32
      - name: namelen
        type: int
      - name: name[1]
        type: char
      item_type: struct
      name: PKT_plaintext
      pos:
        line_end: 615
        line_start: 600
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: control
        type: int
      - name: datalen
        type: size_t
      - name: data[1]
        type: char
      item_type: struct
      name: PKT_gpg_control
      pos:
        line_end: 621
        line_start: 617
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: pkttype
        type: pkttype_t
      - name: pkt
        type: "union {\n\tvoid *generic;\n\tPKT_symkey_enc\t*symkey_enc;\t/* PKT_SYMKEY_ENC
          */\n\tPKT_pubkey_enc\t*pubkey_enc;\t/* PKT_PUBKEY_ENC */\n\tPKT_onepass_sig
          *onepass_sig;\t/* PKT_ONEPASS_SIG */\n\tPKT_signature\t*signature;\t/* PKT_SIGNATURE
          */\n\tPKT_public_key\t*public_key;\t/* PKT_PUBLIC_[SUB]KEY */\n\tPKT_public_key\t*secret_key;\t/*
          PKT_SECRET_[SUB]KEY */\n\tPKT_comment\t*comment;\t/* PKT_COMMENT */\n\tPKT_user_id\t*user_id;\t/*
          PKT_USER_ID */\n\tPKT_compressed\t*compressed;\t/* PKT_COMPRESSED */\n\tPKT_encrypted\t*encrypted;\t/*
          PKT_ENCRYPTED[_MDC|_AEAD] */\n\tPKT_mdc \t*mdc;\t\t/* PKT_MDC */\n\tPKT_plaintext\t*plaintext;\t/*
          PKT_PLAINTEXT */\n        PKT_gpg_control *gpg_control;   /* PKT_GPG_CONTROL
          */\n    }"
      item_type: struct
      name: packet_struct
      pos:
        line_end: 642
        line_start: 624
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      - name: '*altvalue'
        type: char
      - name: '*bdat'
        type: unsigned char
      - name: blen
        type: size_t
      - name: flags
        type: "struct\n  {\n    /* The notation is critical.  */\n    unsigned int
          critical:1;\n    /* The notation is human readable.  */\n    unsigned int
          human:1;\n    /* The notation should be deleted.  */\n    unsigned int ignore:1;\n
          \ }"
      - name: '*next'
        type: struct notation
      item_type: struct
      name: notation
      pos:
        line_end: 686
        line_start: 650
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: inp
        type: iobuf_t
      - name: last_pkt
        type: struct packet_struct
      - name: free_last_pkt
        type: int
      - name: skip_meta
        type: int
      - name: only_fookey_enc
        type: int
      - name: n_parsed_packets
        type: unsigned int
      - name: last_ctb
        type: int
      item_type: struct
      name: parse_packet_ctx_s
      pos:
        line_end: 731
        line_start: 722
        source_file: /src/gnupg/g10/packet.h
    - fields:
      - name: using_file
        type: unsigned int
      - name: '*fname_part'
        type: char
      - name: '*fname'
        type: char
      - name: fp
        type: estream_t
      item_type: struct
      name: pfg
      pos:
        line_end: 1013
        line_start: 1008
        source_file: /src/gnupg/g10/packet.h
    typedefs:
    - item_type: typedef
      name: PACKET
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/gnupg/g10/packet.h
      type: packet_struct
    - item_type: typedef
      name: '*notation_t'
      pos:
        line_end: 687
        line_start: 687
        source_file: /src/gnupg/g10/packet.h
      type: notation
    - item_type: typedef
      name: '*parse_packet_ctx_t'
      pos:
        line_end: 732
        line_start: 732
        source_file: /src/gnupg/g10/packet.h
      type: parse_packet_ctx_s
    union: []
- function_names:
  - cleanup_export_globals
  - parse_export_options
  - parse_and_set_export_filter
  - push_export_filters
  - pop_export_filters
  - export_new_stats
  - export_release_stats
  - export_print_stats
  - export_pubkeys
  - export_seckeys
  - export_secsubkeys
  - export_pubkey_buffer
  - do_export
  - release_subkey_list
  - subkey_in_list_p
  - new_subkey_list_item
  - exact_subkey_match_p
  - match_curve_skey_pk
  - canon_pk_algo
  - secret_key_to_mode1003
  - cleartext_secret_key_to_openpgp
  - transfer_format_to_openpgp
  - print_status_exported
  - receive_seckey_from_agent
  - write_keyblock_to_output
  - apply_keep_uid_filter
  - apply_drop_subkey_filter
  - print_dane_records
  - do_export_one_keyblock
  - do_export_revocs
  - get_keywrap_key
  - do_export_stream
  - mb_write_uint32
  - mb_write_uint8
  - mb_write_data
  - mb_write_cstring
  - mb_write_string
  - mb_write_mpi
  - key_to_sshblob
  - export_one_ssh_key
  - export_ssh_key
  - export_secret_ssh_key
  source_file: /src/gnupg/g10/export.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct subkey_list_s
      - name: kid[2]
        type: u32
      item_type: struct
      name: subkey_list_s
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/gnupg/g10/export.c
    - fields:
      - name: count
        type: ulong
      - name: secret_count
        type: ulong
      - name: exported
        type: ulong
      item_type: struct
      name: export_stats_s
      pos:
        line_end: 63
        line_start: 58
        source_file: /src/gnupg/g10/export.c
    - fields:
      - name: '*next'
        type: struct export_filter_attic_s
      - name: export_keep_uid
        type: recsel_expr_t
      - name: export_drop_subkey
        type: recsel_expr_t
      - name: export_select_filter
        type: recsel_expr_t
      item_type: struct
      name: export_filter_attic_s
      pos:
        line_end: 87
        line_start: 81
        source_file: /src/gnupg/g10/export.c
    typedefs:
    - item_type: typedef
      name: '*subkey_list_t'
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/gnupg/g10/export.c
      type: subkey_list_s
    union: []
- function_names:
  - print_and_check_one_sig_colon
  - keyedit_print_one_sig
  - print_and_check_one_sig
  - sign_mk_attrib
  - parse_trustsig_string
  - trustsig_prompt
  - sign_uids
  - change_passphrase
  - fix_keyblock
  - parse_sign_type
  - command_generator
  - keyedit_completion
  - keyedit_menu
  - maybe_upload_key
  - keyedit_passwd
  - quick_find_keyblock
  - keyedit_quick_adduid
  - find_userid_by_namehash
  - find_userid
  - keyedit_quick_revuid
  - keyedit_quick_set_primary
  - keyedit_quick_update_pref
  - keyedit_quick_set_ownertrust
  - find_by_primary_fpr
  - keyedit_quick_sign
  - keyedit_quick_revsig
  - keyedit_quick_addkey
  - keyedit_quick_addadsk
  - keyedit_quick_set_expire
  - tty_print_notations
  - show_prefs
  - show_key_with_all_names_colon
  - show_names
  - show_key_with_all_names
  - show_basic_key_info
  - show_key_and_fingerprint
  - show_key_and_grip
  - no_primary_warning
  - subkey_expire_warning
  - no_usable_encr_subkeys_warning
  - menu_adduid
  - menu_deluid
  - menu_delsig
  - menu_clean
  - menu_delkey
  - menu_addrevoker
  - append_adsk_to_key
  - menu_addadsk
  - menu_expire
  - menu_changeusage
  - menu_backsign
  - change_primary_uid_cb
  - menu_set_primary_uid
  - menu_set_preferences
  - menu_set_keyserver_url
  - menu_set_notation
  - menu_select_uid
  - menu_select_uid_namehash
  - menu_select_key
  - count_uids_with_flag
  - count_keys_with_flag
  - count_uids
  - count_selected_uids
  - count_selected_keys
  - real_uids_left
  - ask_revoke_sig
  - menu_revsig
  - core_revuid
  - menu_revuid
  - menu_revkey
  - menu_revsubkey
  - enable_disable_key
  - menu_showphoto
  source_file: /src/gnupg/g10/keyedit.c
  types:
    enum:
    - enumerators:
      - name: cmdNONE
        value: '0'
      - name: cmdFPR
      - name: cmdREVKEY
      - name: cmdDELUID
      - name: cmdDEBUG
      - name: cmdTOGGLE
      - name: cmdPREF
      - name: cmdADDADSK
      - name: cmdINVCMD
      - name: cmdADDCARDKEY
      - name: cmdBKUPTOCARD
      - name: cmdGRIP
      - name: cmdHELP
      - name: cmdREVSIG
      - name: cmdPRIMARY
      - name: cmdADDPHOTO
      - name: cmdADDREVOKER
      - name: cmdTRUST
      - name: cmdBACKSIGN
      - name: cmdDISABLEKEY
      - name: cmdSHOWPREF
      - name: cmdNOTATION
      - name: cmdNOP
      - name: cmdCHKTRUST
      - name: cmdKEYTOTPM
      - name: cmdQUIT
      - name: cmdSELUID
      - name: cmdSIGN
      - name: cmdADDUID
      - name: cmdDELSIG
      - name: cmdDELKEY
      - name: cmdPASSWD
      - name: cmdCHANGEUSAGE
      - name: cmdPREFKS
      - name: cmdUPDTRUST
      - name: cmdLIST
      - name: cmdCHECK
      - name: cmdADDKEY
      - name: cmdSAVE
      - name: cmdREVUID
      - name: cmdSELKEY
      - name: cmdEXPIRE
      - name: cmdENABLEKEY
      - name: cmdSETPREF
      - name: cmdSHOWPHOTO
      - name: cmdKEYTOCARD
      - name: cmdCLEAN
      - name: cmdMINIMIZE
      item_type: enum
      name: cmdids
      pos:
        line_end: 1394
        line_start: 1379
        source_file: /src/gnupg/g10/keyedit.c
    preproc_defs:
    - item_type: preproc_def
      name: CONTROL_D
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/gnupg/g10/keyedit.c
      type_or_value: ('D' - 'A' + 1)
    - item_type: preproc_def
      name: SIGN_UIDS_LOCAL
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/gnupg/g10/keyedit.c
      type_or_value: '1  '
    - item_type: preproc_def
      name: SIGN_UIDS_NONREVOCABLE
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/gnupg/g10/keyedit.c
      type_or_value: '2  '
    - item_type: preproc_def
      name: SIGN_UIDS_TRUSTSIG
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/gnupg/g10/keyedit.c
      type_or_value: '4  '
    - item_type: preproc_def
      name: SIGN_UIDS_INTERACTIVE
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/gnupg/g10/keyedit.c
      type_or_value: '8  '
    - item_type: preproc_def
      name: SIGN_UIDS_QUICK
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/gnupg/g10/keyedit.c
      type_or_value: '16  '
    - item_type: preproc_def
      name: KEYEDIT_NEED_SK
      pos:
        line_end: 1374
        line_start: 1373
        source_file: /src/gnupg/g10/keyedit.c
      type_or_value: '1'
    - item_type: preproc_def
      name: KEYEDIT_NEED_SUBSK
      pos:
        line_end: 1376
        line_start: 1375
        source_file: /src/gnupg/g10/keyedit.c
      type_or_value: '2'
    - item_type: preproc_def
      name: KEYEDIT_TAIL_MATCH
      pos:
        line_end: 1378
        line_start: 1377
        source_file: /src/gnupg/g10/keyedit.c
      type_or_value: '8'
    structs:
    - fields:
      - name: non_exportable
        type: int
      - name: '*reason'
        type: struct revocation_reason_info
      - name: trust_depth
        type: byte
      - name: '*trust_regexp'
        type: char
      item_type: struct
      name: sign_attrib
      pos:
        line_end: 128
        line_start: 122
        source_file: /src/gnupg/g10/keyedit.c
    - fields:
      - name: '*name'
        type: char
      - name: id
        type: enum cmdids
      - name: flags
        type: int
      - name: '*desc'
        type: char
      item_type: struct
      name: "cmds[] =\n{\n  { \"quit\", cmdQUIT, 0, N_(\"quit this menu\")},\n  {
        \"q\", cmdQUIT, 0, NULL},\n  { \"save\", cmdSAVE, 0, N_(\"save and quit\")},\n
        \ { \"help\", cmdHELP, 0, N_(\"show this help\")},\n  { \"?\", cmdHELP, 0,
        NULL},\n  { \"fpr\", cmdFPR, 0, N_(\"show key fingerprint\")},\n  { \"grip\",
        cmdGRIP, 0, N_(\"show the keygrip\")},\n  { \"list\", cmdLIST, 0, N_(\"list
        key and user IDs\")},\n  { \"l\", cmdLIST, 0, NULL},\n  { \"uid\", cmdSELUID,
        0, N_(\"select user ID N\")},\n  { \"key\", cmdSELKEY, 0, N_(\"select subkey
        N\")},\n  { \"check\", cmdCHECK, 0, N_(\"check signatures\")},\n  { \"c\",
        cmdCHECK, 0, NULL},\n  { \"change-usage\", cmdCHANGEUSAGE, KEYEDIT_NEED_SK,
        NULL},\n  { \"cross-certify\", cmdBACKSIGN, KEYEDIT_NEED_SK, NULL},\n  { \"backsign\",
        cmdBACKSIGN,  KEYEDIT_NEED_SK, NULL},\n  { \"sign\", cmdSIGN,  KEYEDIT_TAIL_MATCH,\n
        \   N_(\"sign selected user IDs [* see below for related commands]\")},\n
        \ { \"s\", cmdSIGN, 0, NULL},\n    /* \"lsign\" and friends will never match
        since \"sign\" comes first\n       and it is a tail match.  They are just
        here so they show up in\n       the help menu. */\n  { \"lsign\", cmdNOP,
        0, N_(\"sign selected user IDs locally\")},\n  { \"tsign\", cmdNOP, 0, N_(\"sign
        selected user IDs with a trust signature\")},\n  { \"nrsign\", cmdNOP, 0,\n
        \   N_(\"sign selected user IDs with a non-revocable signature\")},\n  { \"debug\",
        cmdDEBUG, 0, NULL},\n  { \"adduid\", cmdADDUID,  KEYEDIT_NEED_SK, N_(\"add
        a user ID\")},\n  { \"addphoto\", cmdADDPHOTO,  KEYEDIT_NEED_SK,\n    N_(\"add
        a photo ID\")},\n  { \"deluid\", cmdDELUID, 0, N_(\"delete selected user IDs\")},\n
        \   /* delphoto is really deluid in disguise */\n  { \"delphoto\", cmdDELUID,
        0, NULL},\n  { \"addkey\", cmdADDKEY,  KEYEDIT_NEED_SK, N_(\"add a subkey\")},\n#ifdef
        ENABLE_CARD_SUPPORT\n  { \"addcardkey\", cmdADDCARDKEY,  KEYEDIT_NEED_SK,\n
        \   N_(\"add a key to a smartcard\")},\n  { \"keytocard\", cmdKEYTOCARD, KEYEDIT_NEED_SK
        | KEYEDIT_NEED_SUBSK,\n    N_(\"move a key to a smartcard\")},\n  { \"keytotpm\",
        cmdKEYTOTPM, KEYEDIT_NEED_SK | KEYEDIT_NEED_SUBSK,\n    N_(\"convert a key
        to TPM form using the local TPM\")},\n  { \"bkuptocard\", cmdBKUPTOCARD, KEYEDIT_NEED_SK
        | KEYEDIT_NEED_SUBSK,\n    N_(\"move a backup key to a smartcard\")},\n#endif
        /*ENABLE_CARD_SUPPORT */\n  { \"delkey\", cmdDELKEY, 0, N_(\"delete selected
        subkeys\")},\n  { \"addrevoker\", cmdADDREVOKER,  KEYEDIT_NEED_SK,\n    N_(\"add
        a revocation key\")},\n  { \"addadsk\", cmdADDADSK,  KEYEDIT_NEED_SK,\n    N_(\"add
        an additional decryption subkey\")},\n  { \"delsig\", cmdDELSIG, 0,\n    N_(\"delete
        signatures from the selected user IDs\")},\n  { \"expire\", cmdEXPIRE,  KEYEDIT_NEED_SK
        | KEYEDIT_NEED_SUBSK,\n    N_(\"change the expiration date for the key or
        selected subkeys\")},\n  { \"primary\", cmdPRIMARY,  KEYEDIT_NEED_SK,\n    N_(\"flag
        the selected user ID as primary\")},\n  { \"toggle\", cmdTOGGLE, KEYEDIT_NEED_SK,
        NULL},  /* Dummy command.  */\n  { \"t\", cmdTOGGLE, KEYEDIT_NEED_SK, NULL},\n
        \ { \"pref\", cmdPREF, 0, N_(\"list preferences (expert)\")},\n  { \"showpref\",
        cmdSHOWPREF, 0, N_(\"list preferences (verbose)\")},\n  { \"setpref\", cmdSETPREF,
        \ KEYEDIT_NEED_SK,\n    N_(\"set preference list for the selected user IDs\")},\n
        \ { \"updpref\", cmdSETPREF,  KEYEDIT_NEED_SK, NULL},\n  { \"keyserver\",
        cmdPREFKS,  KEYEDIT_NEED_SK,\n    N_(\"set the preferred keyserver URL for
        the selected user IDs\")},\n  { \"notation\", cmdNOTATION,  KEYEDIT_NEED_SK,\n
        \   N_(\"set a notation for the selected user IDs\")},\n  { \"passwd\", cmdPASSWD,
        \ KEYEDIT_NEED_SK | KEYEDIT_NEED_SUBSK,\n    N_(\"change the passphrase\")},\n
        \ { \"password\", cmdPASSWD,  KEYEDIT_NEED_SK | KEYEDIT_NEED_SUBSK, NULL},\n#ifndef
        NO_TRUST_MODELS\n  { \"trust\", cmdTRUST, 0, N_(\"change the ownertrust\")},\n#endif
        /*!NO_TRUST_MODELS*/\n  { \"revsig\", cmdREVSIG, 0,\n    N_(\"revoke signatures
        on the selected user IDs\")},\n  { \"revuid\", cmdREVUID,  KEYEDIT_NEED_SK,\n
        \   N_(\"revoke selected user IDs\")},\n  { \"revphoto\", cmdREVUID,  KEYEDIT_NEED_SK,
        NULL},\n  { \"revkey\", cmdREVKEY,  KEYEDIT_NEED_SK,\n    N_(\"revoke key
        or selected subkeys\")},\n#ifndef NO_TRUST_MODELS\n  { \"enable\", cmdENABLEKEY,
        0, N_(\"enable key\")},\n  { \"disable\", cmdDISABLEKEY, 0, N_(\"disable key\")},\n#endif
        /*!NO_TRUST_MODELS*/\n  { \"showphoto\", cmdSHOWPHOTO, 0, N_(\"show selected
        photo IDs\")},\n  { \"clean\", cmdCLEAN, 0,\n    N_(\"compact unusable user
        IDs and remove unusable signatures from key\")},\n  { \"minimize\", cmdMINIMIZE,
        0,\n    N_(\"compact unusable user IDs and remove all signatures from key\")},\n\n
        \ { NULL, cmdNONE, 0, NULL}\n}"
      pos:
        line_end: 1402
        line_start: 1396
        source_file: /src/gnupg/g10/keyedit.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g10/keydb-private.h
  types:
    enum:
    - enumerators:
      - name: KEYBLOCK_CACHE_EMPTY
      - name: KEYBLOCK_CACHE_FILLED
      - name: KEYBLOCK_CACHE_PREPARED
      item_type: enum
      name: keyblock_cache_states
      pos:
        line_end: 60
        line_start: 56
        source_file: /src/gnupg/g10/keydb-private.h
    preproc_defs:
    - item_type: preproc_def
      name: MAX_KEYDB_RESOURCES
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/g10/keydb-private.h
      type_or_value: '40'
    structs:
    - fields:
      - name: type
        type: KeydbResourceType
      - name: u
        type: "union {\n    KEYRING_HANDLE kr;\n    KEYBOX_HANDLE kb;\n  }"
      - name: '*token'
        type: void
      item_type: struct
      name: resource_item
      pos:
        line_end: 48
        line_start: 40
        source_file: /src/gnupg/g10/keydb-private.h
    - fields:
      - name: state
        type: enum keyblock_cache_states
      - name: fpr[MAX_FINGERPRINT_LEN]
        type: byte
      - name: fprlen
        type: byte
      - name: iobuf
        type: iobuf_t
      - name: pk_no
        type: int
      - name: uid_no
        type: int
      - name: resource
        type: int
      - name: offset
        type: off_t
      item_type: struct
      name: keyblock_cache
      pos:
        line_end: 72
        line_start: 62
        source_file: /src/gnupg/g10/keydb-private.h
    - fields:
      - name: use_keyboxd
        type: int
      - name: ctrl
        type: ctrl_t
      - name: kbl
        type: keyboxd_local_t
      - name: last_ubid_valid
        type: unsigned int
      - name: last_ubid[UBID_LEN]
        type: unsigned char
      - name: last_uid_no
        type: int
      - name: last_pk_no
        type: int
      - name: locked
        type: int
      - name: keep_lock
        type: int
      - name: found
        type: int
      - name: saved_found
        type: int
      - name: skipped_long_blobs
        type: unsigned long
      - name: no_caching
        type: int
      - name: is_reset
        type: int
      - name: current
        type: int
      - name: used
        type: int
      - name: keyblock_cache
        type: struct keyblock_cache
      - name: active[MAX_KEYDB_RESOURCES]
        type: struct resource_item
      item_type: struct
      name: keydb_handle_s
      pos:
        line_end: 150
        line_start: 77
        source_file: /src/gnupg/g10/keydb-private.h
    typedefs: []
    union: []
- function_names:
  - ctb_new_format_p
  - ctb_pkttype
  - build_keyblock_image
  - build_packet
  - build_packet_and_meta
  - gpg_mpi_write
  - sos_write
  - gpg_mpi_write_opaque_nohdr
  - gpg_mpi_write_opaque_32
  - calc_packet_length
  - write_fake_data
  - do_ring_trust
  - do_user_id
  - do_key
  - do_symkey_enc
  - do_pubkey_enc
  - calc_plaintext
  - do_plaintext
  - do_encrypted
  - do_encrypted_mdc
  - do_encrypted_aead
  - do_compressed
  - delete_sig_subpkt
  - build_sig_subpkt
  - build_sig_subpkt_from_sig
  - build_attribute_subpkt
  - notation_value_to_human_readable_string
  - string_to_notation
  - name_value_to_notation
  - blob_to_notation
  - sig_to_notation
  - search_sig_notations
  - free_notation
  - do_signature
  - do_onepass_sig
  - write_16
  - write_32
  - calc_header_length
  - write_header
  - write_sign_packet_header
  - write_header2
  - write_new_header
  source_file: /src/gnupg/g10/build-packet.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rol
  - rol
  - rmd160_init
  - transform
  - F0
  - F1
  - F2
  - F3
  - F4
  - R
  - rmd160_write
  - rmd160_final
  - X
  - rmd160_hash_buffer
  source_file: /src/gnupg/g10/rmd160.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: K0
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/gnupg/g10/rmd160.c
      type_or_value: '0x00000000'
    - item_type: preproc_def
      name: K1
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/gnupg/g10/rmd160.c
      type_or_value: '0x5A827999'
    - item_type: preproc_def
      name: K2
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/gnupg/g10/rmd160.c
      type_or_value: '0x6ED9EBA1'
    - item_type: preproc_def
      name: K3
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/gnupg/g10/rmd160.c
      type_or_value: '0x8F1BBCDC'
    - item_type: preproc_def
      name: K4
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/gnupg/g10/rmd160.c
      type_or_value: '0xA953FD4E'
    - item_type: preproc_def
      name: KK0
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/gnupg/g10/rmd160.c
      type_or_value: '0x50A28BE6'
    - item_type: preproc_def
      name: KK1
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/gnupg/g10/rmd160.c
      type_or_value: '0x5C4DD124'
    - item_type: preproc_def
      name: KK2
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/gnupg/g10/rmd160.c
      type_or_value: '0x6D703EF3'
    - item_type: preproc_def
      name: KK3
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/gnupg/g10/rmd160.c
      type_or_value: '0x7A6D76E9'
    - item_type: preproc_def
      name: KK4
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/gnupg/g10/rmd160.c
      type_or_value: '0x00000000'
    structs:
    - fields:
      - name: h0
        type: u32
      - name: nblocks
        type: u32
      - name: buf[64]
        type: unsigned char
      - name: count
        type: int
      item_type: struct
      name: rmd160_context_t
      pos:
        line_end: 63
        line_start: 57
        source_file: /src/gnupg/g10/rmd160.c
    typedefs: []
    union: []
- function_names:
  - progress_cb
  - status_currently_allowed
  - set_status_fd
  - is_status_enabled
  - write_status
  - write_status_strings
  - write_status_strings2
  - write_status_text
  - write_status_printf
  - write_status_warning
  - write_status_error
  - write_status_errcode
  - write_status_failure
  - write_status_text_and_buffer
  - write_status_buffer
  - write_status_begin_signing
  - myread
  - do_get_from_fd
  - cpr_enabled
  - cpr_get_no_help
  - cpr_get
  - cpr_get_utf8
  - cpr_get_hidden
  - cpr_kill_prompt
  - cpr_get_answer_is_yes_def
  - cpr_get_answer_is_yes
  - cpr_get_answer_yes_no_quit
  - cpr_get_answer_okay_cancel
  source_file: /src/gnupg/g10/cpr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONTROL_D
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/g10/cpr.c
      type_or_value: ('D' - 'A' + 1)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g10/exec.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - crc32
  - adler32
  - zlibVersion
  - compress
  - compress2
  - uncompress
  - deflateInit_
  - inflateInit_
  - deflateInit2_
  - inflateInit2_
  - deflate
  - deflateEnd
  - inflate
  - inflateEnd
  - deflateSetDictionary
  - deflateCopy
  - deflateReset
  - deflateParams
  - inflateSetDictionary
  - inflateSync
  - inflateReset
  - gzopen
  - gzdopen
  - gzsetparams
  - gzread
  - gzwrite
  - gzprintf
  - gzputs
  - gzgets
  - gzputc
  - gzgetc
  - gzflush
  - gzclose
  - gzerror
  - gzseek
  - gzrewind
  - gztell
  - gzeof
  source_file: /src/gnupg/g10/zlib-riscos.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ZLib_Compress
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AC0'
    - item_type: preproc_def
      name: ZLib_Decompress
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AC1'
    - item_type: preproc_def
      name: ZLib_CRC32
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AC2'
    - item_type: preproc_def
      name: ZLib_Adler32
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AC3'
    - item_type: preproc_def
      name: ZLib_Version
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AC4'
    - item_type: preproc_def
      name: ZLib_ZCompress
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AC5'
    - item_type: preproc_def
      name: ZLib_ZCompress2
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AC6'
    - item_type: preproc_def
      name: ZLib_ZUncompress
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AC7'
    - item_type: preproc_def
      name: ZLib_DeflateInit
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AC8'
    - item_type: preproc_def
      name: ZLib_InflateInit
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AC9'
    - item_type: preproc_def
      name: ZLib_DeflateInit2
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53ACA'
    - item_type: preproc_def
      name: ZLib_InflateInit2
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53ACB'
    - item_type: preproc_def
      name: ZLib_Deflate
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53ACC'
    - item_type: preproc_def
      name: ZLib_DeflateEnd
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53ACD'
    - item_type: preproc_def
      name: ZLib_Inflate
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53ACE'
    - item_type: preproc_def
      name: ZLib_InflateEnd
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53ACF'
    - item_type: preproc_def
      name: ZLib_DeflateSetDictionary
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AD0'
    - item_type: preproc_def
      name: ZLib_DeflateCopy
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AD1'
    - item_type: preproc_def
      name: ZLib_DeflateReset
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AD2'
    - item_type: preproc_def
      name: ZLib_DeflateParams
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AD3'
    - item_type: preproc_def
      name: ZLib_InflateSetDictionary
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AD4'
    - item_type: preproc_def
      name: ZLib_InflateSync
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AD5'
    - item_type: preproc_def
      name: ZLib_InflateReset
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AD6'
    - item_type: preproc_def
      name: ZLib_GZOpen
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AD7'
    - item_type: preproc_def
      name: ZLib_GZRead
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AD8'
    - item_type: preproc_def
      name: ZLib_GRWrite
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AD9'
    - item_type: preproc_def
      name: ZLib_GZFlush
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53ADA'
    - item_type: preproc_def
      name: ZLib_GZClose
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53ADB'
    - item_type: preproc_def
      name: ZLib_GZError
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53ADC'
    - item_type: preproc_def
      name: ZLib_GZSeek
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53ADD'
    - item_type: preproc_def
      name: ZLib_GZTell
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53ADE'
    - item_type: preproc_def
      name: ZLib_GZEOF
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53ADF'
    - item_type: preproc_def
      name: ZLib_TaskAssociate
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/gnupg/g10/zlib-riscos.h
      type_or_value: '0x53AE0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - release_import_filter
  - cleanup_import_globals
  - parse_import_options
  - parse_and_set_import_filter
  - save_and_clear_import_filter
  - restore_import_filter
  - import_new_stats_handle
  - import_release_stats_handle
  - read_key_from_file_or_buffer
  - import_included_key_block
  - import_keys_internal
  - import_keys
  - import_keys_es_stream
  - import
  - import_old_secring
  - import_print_stats
  - valid_keyblock_packet
  - read_block
  - fix_pks_corruption
  - fix_bad_direct_key_sigs
  - print_import_ok
  - print_import_check
  - check_prefs_warning
  - check_prefs
  - impex_filter_getval
  - apply_keep_uid_filter
  - apply_drop_sig_filter
  - insert_key_origin_pk
  - insert_key_origin_uid
  - insert_key_origin
  - update_key_origin
  - import_one_real
  - import_one
  - internal_skey_object_to_sexp
  - build_classic_transfer_sexp
  - transfer_secret_keys
  - sec_to_pub_keyblock
  - resync_sec_with_pub_keyblock
  - do_transfer
  - import_matching_seckeys
  - import_secret_one
  - revocation_reason_code_to_str
  - get_revocation_reason
  - list_standalone_revocation
  - import_revoke_cert
  - chk_self_sigs
  - delete_inv_parts
  - any_uid_left
  - remove_all_non_self_sigs
  - collapse_uids
  - collapse_subkeys
  - revocation_present
  - merge_blocks
  - append_new_uid
  - merge_sigs
  - merge_keysigs
  - append_key
  source_file: /src/gnupg/g10/import.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NODE_GOOD_SELFSIG
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/gnupg/g10/import.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NODE_BAD_SELFSIG
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/gnupg/g10/import.c
      type_or_value: '2'
    - item_type: preproc_def
      name: NODE_DELETION_MARK
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/gnupg/g10/import.c
      type_or_value: '4'
    - item_type: preproc_def
      name: NODE_FLAG_A
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/gnupg/g10/import.c
      type_or_value: '8'
    - item_type: preproc_def
      name: NODE_TRANSFER_SECKEY
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/gnupg/g10/import.c
      type_or_value: '16'
    structs:
    - fields:
      - name: count
        type: ulong
      - name: no_user_id
        type: ulong
      - name: imported
        type: ulong
      - name: n_uids
        type: ulong
      - name: n_sigs
        type: ulong
      - name: n_subk
        type: ulong
      - name: unchanged
        type: ulong
      - name: n_revoc
        type: ulong
      - name: secret_read
        type: ulong
      - name: secret_imported
        type: ulong
      - name: secret_dups
        type: ulong
      - name: skipped_new_keys
        type: ulong
      - name: not_imported
        type: ulong
      - name: n_sigs_cleaned
        type: ulong
      - name: n_uids_cleaned
        type: ulong
      - name: v3keys
        type: ulong
      item_type: struct
      name: import_stats_s
      pos:
        line_end: 64
        line_start: 46
        source_file: /src/gnupg/g10/import.c
    - fields:
      - name: keep_uid
        type: recsel_expr_t
      - name: drop_sig
        type: recsel_expr_t
      item_type: struct
      name: import_filter_s
      pos:
        line_end: 94
        line_start: 90
        source_file: /src/gnupg/g10/import.c
    - fields:
      - name: fpr[MAX_FINGERPRINT_LEN]
        type: byte
      - name: fprlen
        type: size_t
      item_type: struct
      name: '*fprlist = NULL'
      pos:
        line_end: 3166
        line_start: 3166
        source_file: /src/gnupg/g10/import.c
    typedefs: []
    union: []
- function_names:
  - dearmor_file
  - enarmor_file
  source_file: /src/gnupg/g10/dearmor.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - status_sc_op_failure
  - default_inq_cb
  - warn_version_mismatch
  - start_agent
  - unescape_status_string
  - unhexify_fpr
  - store_serialno
  - dummy_data_cb
  - get_serialno_cb
  - agent_release_card_info
  - learn_status_cb
  - agent_scd_learn
  - scd_keypairinfo_status_cb
  - agent_scd_keypairinfo
  - agent_scd_apdu
  - agent_keytotpm
  - agent_keytocard
  - getattr_one_status_cb
  - agent_scd_getattr_one
  - agent_scd_getattr
  - agent_scd_setattr
  - inq_writecert_parms
  - agent_scd_writecert
  - scd_genkey_cb
  - agent_scd_genkey
  - agent_scd_serialno
  - agent_scd_readcert
  - readkey_status_cb
  - agent_scd_readkey
  - card_cardlist_cb
  - agent_scd_cardlist
  - agent_scd_switchapp
  - card_keyinfo_cb
  - free_keypair_info
  - agent_scd_keyinfo
  - agent_scd_change_pin
  - agent_scd_checkpin
  - agent_get_passphrase
  - agent_clear_passphrase
  - gpg_agent_get_confirmation
  - agent_get_s2k_count
  - keyinfo_status_cb
  - agent_probe_secret_key
  - agent_probe_any_secret_key
  - agent_get_keyinfo
  - cache_nonce_status_cb
  - inq_genkey_parms
  - agent_genkey
  - agent_crosslink_keys
  - agent_readkey
  - agent_pksign
  - inq_ciphertext_cb
  - padding_info_cb
  - agent_pkdecrypt
  - agent_keywrap_key
  - inq_import_key_parms
  - agent_import_key
  - agent_export_key
  - confirm_status_cb
  - agent_delete_key
  - agent_passwd
  - agent_set_ephemeral_mode
  - agent_get_version
  source_file: /src/gnupg/g10/call-agent.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONTROL_D
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/g10/call-agent.c
      type_or_value: ('D' - 'A' + 1)
    - item_type: preproc_def
      name: FLAG_FOR_CARD_SUPPRESS_ERRORS
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/gnupg/g10/call-agent.c
      type_or_value: '2'
    structs:
    - fields:
      - name: '*desc'
        type: char
      - name: '*ok'
        type: char
      - name: '*notok'
        type: char
      item_type: struct
      name: confirm_parm_s
      pos:
        line_end: 57
        line_start: 52
        source_file: /src/gnupg/g10/call-agent.c
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: ctx
        type: assuan_context_t
      - name: keyinfo
        type: "struct {\n    u32 *keyid;\n    u32 *mainkeyid;\n    int pubkey_algo;\n
          \ }"
      - name: '*confirm'
        type: struct confirm_parm_s
      item_type: struct
      name: default_inq_parm_s
      pos:
        line_end: 69
        line_start: 59
        source_file: /src/gnupg/g10/call-agent.c
    - fields:
      - name: '*dflt'
        type: struct default_inq_parm_s
      - name: ctx
        type: assuan_context_t
      - name: '*ciphertext'
        type: unsigned char
      - name: ciphertextlen
        type: size_t
      item_type: struct
      name: cipher_parm_s
      pos:
        line_end: 77
        line_start: 71
        source_file: /src/gnupg/g10/call-agent.c
    - fields:
      - name: '*dflt'
        type: struct default_inq_parm_s
      - name: '*certdata'
        type: unsigned char
      - name: certdatalen
        type: size_t
      item_type: struct
      name: writecert_parm_s
      pos:
        line_end: 84
        line_start: 79
        source_file: /src/gnupg/g10/call-agent.c
    - fields:
      - name: '*dflt'
        type: struct default_inq_parm_s
      - name: '*keydata'
        type: unsigned char
      - name: keydatalen
        type: size_t
      item_type: struct
      name: writekey_parm_s
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/gnupg/g10/call-agent.c
    - fields:
      - name: '*dflt'
        type: struct default_inq_parm_s
      - name: '*keyparms'
        type: char
      - name: '*passphrase'
        type: char
      item_type: struct
      name: genkey_parm_s
      pos:
        line_end: 98
        line_start: 93
        source_file: /src/gnupg/g10/call-agent.c
    - fields:
      - name: '*dflt'
        type: struct default_inq_parm_s
      - name: '*key'
        type: void
      - name: keylen
        type: size_t
      item_type: struct
      name: import_key_parm_s
      pos:
        line_end: 105
        line_start: 100
        source_file: /src/gnupg/g10/call-agent.c
    - fields:
      - name: '**cache_nonce_addr'
        type: char
      - name: '**passwd_nonce_addr'
        type: char
      item_type: struct
      name: cache_nonce_parm_s
      pos:
        line_end: 112
        line_start: 108
        source_file: /src/gnupg/g10/call-agent.c
    - fields:
      - name: kpinfo
        type: keypair_info_t
      - name: '*kpinfo_tail'
        type: keypair_info_t
      item_type: struct
      name: keypairinfo_cb_parm_s
      pos:
        line_end: 832
        line_start: 828
        source_file: /src/gnupg/g10/call-agent.c
    - fields:
      - name: '*keyword'
        type: char
      - name: '*data'
        type: char
      - name: err
        type: gpg_error_t
      item_type: struct
      name: getattr_one_parm_s
      pos:
        line_end: 1146
        line_start: 1142
        source_file: /src/gnupg/g10/call-agent.c
    - fields:
      - name: error
        type: int
      - name: list
        type: strlist_t
      item_type: struct
      name: card_cardlist_parm_s
      pos:
        line_end: 1652
        line_start: 1649
        source_file: /src/gnupg/g10/call-agent.c
    - fields:
      - name: error
        type: int
      - name: list
        type: keypair_info_t
      item_type: struct
      name: card_keyinfo_parm_s
      pos:
        line_end: 1749
        line_start: 1746
        source_file: /src/gnupg/g10/call-agent.c
    - fields:
      - name: '*serialno'
        type: char
      - name: is_smartcard
        type: int
      - name: passphrase_cached
        type: int
      - name: cleartext
        type: int
      - name: card_available
        type: int
      item_type: struct
      name: keyinfo_data_parm_s
      pos:
        line_end: 2204
        line_start: 2197
        source_file: /src/gnupg/g10/call-agent.c
    typedefs: []
    union: []
- function_names:
  - show_encrypted_for_user_info
  - encrypt_symmetric
  - encrypt_store
  - create_dek_with_warnings
  - check_encryption_compliance
  - encrypt_seskey
  - use_aead
  - use_mdc
  - encrypt_simple
  - setup_symkey
  - write_symkey_enc
  - encrypt_crypt
  - reencrypt_to_new_recipients
  - encrypt_filter
  - write_pubkey_enc
  - write_pubkey_enc_from_list
  - encrypt_crypt_files
  source_file: /src/gnupg/g10/encrypt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - new_progress_context
  - release_progress_context
  - write_status_progress
  - progress_filter
  - handle_progress
  source_file: /src/gnupg/g10/progress.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - migrate_secring
  source_file: /src/gnupg/g10/migrate.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: V21_MIGRATION_FNAME
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/gnupg/g10/migrate.c
      type_or_value: '"gpg-v21-migrated"'
    - item_type: preproc_def
      name: V21_MIGRATION_FNAME
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/g10/migrate.c
      type_or_value: '".gpg-v21-migrated"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - have_static_passphrase
  - get_static_passphrase
  - set_next_passphrase
  - get_last_passphrase
  - set_passphrase_from_string
  - read_passphrase_from_fd
  - passphrase_get
  - passphrase_clear_cache
  - passphrase_to_dek
  - emit_status_need_passphrase
  - gpg_format_keydesc
  source_file: /src/gnupg/g10/passphrase.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - revocation_reason_build_cb
  - export_minimal_pk
  - gen_desig_revoke
  - create_revocation
  - gen_standard_revoke
  - gen_revoke
  - ask_revocation_reason
  - get_default_uid_revocation_reason
  - get_default_sig_revocation_reason
  - release_revocation_reason_info
  source_file: /src/gnupg/g10/revoke.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: code
        type: int
      - name: '*desc'
        type: char
      item_type: struct
      name: revocation_reason_info
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/gnupg/g10/revoke.c
    typedefs: []
    union: []
- function_names:
  - gpgsql_exec_printf
  - gpgsql_stepx
  source_file: /src/gnupg/g10/gpgsql.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_header
  - cipher_filter_cfb
  source_file: /src/gnupg/g10/cipher-cfb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MIN_PARTIAL_SIZE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/gnupg/g10/cipher-cfb.c
      type_or_value: '512'
    structs: []
    typedefs: []
    union: []
- function_names:
  - gpg_keyboxd_deinit_session_data
  - warn_version_mismatch
  - create_new_context
  - open_context
  - keydb_new
  - keydb_release
  - keydb_get_keyblock
  - keydb_default_status_cb
  - store_inq_cb
  - keydb_update_keyblock
  - keydb_insert_keyblock
  - keydb_delete_keyblock
  - keydb_search_reset
  - search_status_cb
  - keydb_search
  source_file: /src/gnupg/g10/call-keyboxd.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct keyboxd_local_s
      - name: ctx
        type: assuan_context_t
      - name: kcd
        type: kbx_client_data_t
      - name: search_result
        type: iobuf_t
      - name: is_active
        type: unsigned int
      - name: need_search_reset
        type: unsigned int
      item_type: struct
      name: keyboxd_local_s
      pos:
        line_end: 72
        line_start: 51
        source_file: /src/gnupg/g10/call-keyboxd.c
    - fields:
      - name: ctx
        type: assuan_context_t
      - name: '*data'
        type: void
      - name: datalen
        type: size_t
      item_type: struct
      name: store_parm_s
      pos:
        line_end: 404
        line_start: 399
        source_file: /src/gnupg/g10/call-keyboxd.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g10/dek.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: algo
        type: int
      - name: keylen
        type: int
      - name: algo_info_printed
        type: unsigned int
      - name: use_aead
        type: int
      - name: use_mdc
        type: unsigned int
      - name: symmetric
        type: unsigned int
      - name: key[32]
        type: byte
      - name: s2k_cacheid[1+16+1]
        type: char
      item_type: struct
      name: DEK
      pos:
        line_end: 48
        line_start: 22
        source_file: /src/gnupg/g10/dek.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g10/keyring.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPG_KEYRING_H
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/gnupg/g10/keyring.h
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: '*KEYRING_HANDLE'
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/gnupg/g10/keyring.h
      type: keyring_handle
    union: []
- function_names:
  - set_error
  - close_message_fd
  - option_handler
  - reset_notify
  - input_notify
  - output_notify
  - cmd_recipient
  - cmd_signer
  - cmd_encrypt
  - cmd_decrypt
  - cmd_verify
  - cmd_sign
  - cmd_import
  - cmd_export
  - cmd_delkeys
  - cmd_message
  - do_listkeys
  - cmd_listkeys
  - cmd_listsecretkeys
  - cmd_genkey
  - cmd_getinfo
  - cmd_passwd
  - register_commands
  - gpg_server
  - gpg_proxy_pinentry_notify
  source_file: /src/gnupg/g10/server.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: assuan_ctx
        type: assuan_context_t
      - name: message_fd
        type: gnupg_fd_t
      - name: recplist
        type: pk_list_t
      - name: allow_pinentry_notify
        type: int
      item_type: struct
      name: server_local_s
      pos:
        line_end: 56
        line_start: 43
        source_file: /src/gnupg/g10/server.c
    - fields:
      - name: '*name'
        type: char
      - name: handler
        type: assuan_handler_t
      - name: '* const help'
        type: char
      item_type: struct
      name: "table[] = {\n    { \"RECIPIENT\",     cmd_recipient },\n    { \"SIGNER\",
        \       cmd_signer    },\n    { \"ENCRYPT\",       cmd_encrypt   },\n    {
        \"DECRYPT\",       cmd_decrypt   },\n    { \"VERIFY\",        cmd_verify    },\n
        \   { \"SIGN\",          cmd_sign      },\n    { \"IMPORT\",        cmd_import
        \   },\n    { \"EXPORT\",        cmd_export    },\n    { \"INPUT\",         NULL
        \         },\n    { \"OUTPUT\",        NULL          },\n    { \"MESSAGE\",
        \      cmd_message   },\n    { \"LISTKEYS\",      cmd_listkeys  },\n    {
        \"LISTSECRETKEYS\",cmd_listsecretkeys },\n    { \"GENKEY\",        cmd_genkey
        \   },\n    { \"DELKEYS\",       cmd_delkeys   },\n    { \"GETINFO\",       cmd_getinfo
        \  },\n    { \"PASSWD\",        cmd_passwd,  hlp_passwd},\n    { NULL }\n
        \ }"
      pos:
        line_end: 605
        line_start: 600
        source_file: /src/gnupg/g10/server.c
    typedefs: []
    union: []
- function_names:
  - IS_INVALID_TIME_T
  - IS_INVALID_TIME_T
  - pubkey_letter
  - pubkey_string
  - parse_one_algo_string
  - extra_algo_strength_offset
  - compare_pubkey_string_part
  - compare_pubkey_string
  - do_hash_public_key
  - hash_public_key
  - v3_keyid
  - pk_keyid
  - pk_main_keyid
  - keyid_copy
  - format_keyid
  - keystrlen
  - keystr
  - keystr_with_sub
  - keystr_from_pk
  - keystr_from_pk_with_sub
  - pk_keyid_str
  - keystr_from_desc
  - compute_fingerprint
  - keyid_from_pk
  - keyid_from_fingerprint
  - keyid_from_sig
  - namehash_from_uid
  - nbits_from_pk
  - mk_datestr
  - dateonlystr_from_pk
  - datestr_from_pk
  - dateonlystr_from_sig
  - datestr_from_sig
  - expirestr_from_pk
  - expirestr_from_sig
  - revokestr_from_pk
  - usagestr_from_pk
  - colon_strtime
  - colon_datestr_from_pk
  - colon_datestr_from_sig
  - colon_expirestr_from_sig
  - fingerprint_from_pk
  - v5_fingerprint_from_pk
  - fpr20_from_fpr
  - fpr20_from_pk
  - hexfingerprint
  - v5hexfingerprint
  - format_hexfingerprint
  - keygrip_from_pk
  - hexkeygrip_from_pk
  - ecdh_param_str_from_pk
  source_file: /src/gnupg/g10/keyid.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEYID_STR_SIZE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/g10/keyid.c
      type_or_value: '19'
    structs: []
    typedefs: []
    union: []
- function_names:
  - map_assuan_err
  source_file: /src/gnupg/g10/gpg.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WIN32_LEAN_AND_MEAN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/gnupg/g10/gpg.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPG_ERR_SOURCE_DEFAULT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/gnupg/g10/gpg.h
      type_or_value: GPG_ERR_SOURCE_GPG
    - item_type: preproc_def
      name: MAX_EXTERN_MPI_BITS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/g10/gpg.h
      type_or_value: '16384'
    - item_type: preproc_def
      name: MAX_EXTERN_KEYPARM_BITS
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/g10/gpg.h
      type_or_value: (32768*8)
    - item_type: preproc_def
      name: MAX_FINGERPRINT_LEN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/g10/gpg.h
      type_or_value: '32'
    - item_type: preproc_def
      name: MAX_FORMATTED_FINGERPRINT_LEN
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/gnupg/g10/gpg.h
      type_or_value: '60'
    - item_type: preproc_def
      name: SERVER_CONTROL_MAGIC
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/gnupg/g10/gpg.h
      type_or_value: '0x53616c696e676572'
    - item_type: preproc_def
      name: SERVER_CONTROL_MAGIC
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/gnupg/g10/gpg.h
      type_or_value: '0x53616c69'
    structs:
    - fields:
      - name: magic
        type: unsigned long
      - name: '*server_local'
        type: struct server_local_s
      - name: dirmngr_local
        type: dirmngr_local_t
      - name: keyboxd_local
        type: keyboxd_local_t
      - name: tofu
        type: "struct {\n    tofu_dbs_t dbs;\n    int batch_updated_wanted;\n  }"
      - name: cached_getkey_kdb
        type: KEYDB_HANDLE
      - name: '*secret_keygrips'
        type: unsigned char
      - name: secret_keygrips_len
        type: size_t
      - name: no_more_secret_keygrips
        type: int
      - name: modify_recipients
        type: unsigned int
      - name: clear_recipients
        type: unsigned int
      - name: last_read_ctb
        type: int
      - name: in_check_revocation_keys
        type: unsigned int
      item_type: struct
      name: server_control_s
      pos:
        line_end: 137
        line_start: 95
        source_file: /src/gnupg/g10/gpg.h
    typedefs:
    - item_type: typedef
      name: '*keyboxd_local_t'
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/gnupg/g10/gpg.h
      type: keyboxd_local_s
    - item_type: typedef
      name: '*dirmngr_local_t'
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/gnupg/g10/gpg.h
      type: dirmngr_local_s
    - item_type: typedef
      name: '*KBNODE'
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/gnupg/g10/gpg.h
      type: kbnode_struct
    - item_type: typedef
      name: '*kbnode_t'
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/gnupg/g10/gpg.h
      type: kbnode_struct
    - item_type: typedef
      name: '*KEYDB_HANDLE'
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/gnupg/g10/gpg.h
      type: keydb_handle_s
    - item_type: typedef
      name: '*tofu_dbs_t'
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/gnupg/g10/gpg.h
      type: tofu_dbs_s
    union: []
- function_names: []
  source_file: /src/gnupg/g10/call-dirmngr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g10/pkglue.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_sc_op_status
  - change_pin
  - print_shax_fpr
  - print_shax_fpr_colon
  - print_keygrip
  - print_name
  - print_isoname
  - fpr_is_zero
  - fpr_is_ff
  - print_a_version
  - current_card_status
  - show_pin_hint
  - card_status
  - get_one_name
  - change_name
  - change_url
  - fetch_url
  - get_data_from_file
  - put_data_to_file
  - change_login
  - change_private_do
  - change_cert
  - read_cert
  - change_lang
  - change_sex
  - change_cafpr
  - toggle_forcesig
  - get_info_for_key_operation
  - check_pin_for_key_operation
  - restore_forced_chv1
  - show_card_key_info
  - replace_existing_key_p
  - show_keysize_warning
  - ask_card_rsa_keysize
  - ask_card_keyattr
  - do_change_keyattr
  - key_attr
  - generate_card_keys
  - card_generate_subkey
  - card_store_subkey
  - send_apdu
  - factory_reset
  - gen_kdf_data
  - kdf_setup
  - uif
  - command_generator
  - card_edit_completion
  - card_edit
  source_file: /src/gnupg/g10/card-util.c
  types:
    enum:
    - enumerators:
      - name: cmdQUIT
      - name: cmdDEBUG
      - name: cmdFETCH
      - name: cmdCAFPR
      - name: cmdPRIVATEDO
      - name: cmdFACTORYRESET
      - name: cmdOPENPGP
      - name: cmdINVCMD
      - name: cmdADMIN
      - name: cmdVERIFY
      - name: cmdFORCESIG
      - name: cmdWRITECERT
      - name: cmdLOGIN
      - name: cmdKDFSETUP
      - name: cmdNOP
        value: '0'
      - name: cmdHELP
      - name: cmdNAME
      - name: cmdLANG
      - name: cmdGENERATE
      - name: cmdREADCERT
      - name: cmdKEYATTR
      - name: cmdLIST
      - name: cmdURL
      - name: cmdSEX
      - name: cmdPASSWD
      - name: cmdUNBLOCK
      - name: cmdUIF
      item_type: enum
      name: cmdids
      pos:
        line_end: 2290
        line_start: 2281
        source_file: /src/gnupg/g10/card-util.c
    preproc_defs:
    - item_type: preproc_def
      name: CONTROL_D
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/g10/card-util.c
      type_or_value: ('D' - 'A' + 1)
    - item_type: preproc_def
      name: USER_PIN_DEFAULT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/gnupg/g10/card-util.c
      type_or_value: '"123456"'
    - item_type: preproc_def
      name: ADMIN_PIN_DEFAULT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/g10/card-util.c
      type_or_value: '"12345678"'
    - item_type: preproc_def
      name: KDF_DATA_LENGTH_MIN
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/g10/card-util.c
      type_or_value: '90'
    - item_type: preproc_def
      name: KDF_DATA_LENGTH_MAX
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/g10/card-util.c
      type_or_value: '110'
    - item_type: preproc_def
      name: MAX_GET_DATA_FROM_FILE
      pos:
        line_end: 951
        line_start: 950
        source_file: /src/gnupg/g10/card-util.c
      type_or_value: '16384'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: id
        type: enum cmdids
      - name: admin_only
        type: int
      - name: '*desc'
        type: char
      item_type: struct
      name: "cmds[] =\n  {\n    { \"quit\"    , cmdQUIT  , 0, N_(\"quit this menu\")},\n
        \   { \"q\"       , cmdQUIT  , 0, NULL },\n    { \"admin\"   , cmdADMIN ,
        0, N_(\"show admin commands\")},\n    { \"help\"    , cmdHELP  , 0, N_(\"show
        this help\")},\n    { \"?\"       , cmdHELP  , 0, NULL },\n    { \"list\"
        \   , cmdLIST  , 0, N_(\"list all available data\")},\n    { \"l\"       ,
        cmdLIST  , 0, NULL },\n    { \"debug\"   , cmdDEBUG , 0, NULL },\n    { \"name\"
        \   , cmdNAME  , 1, N_(\"change card holder's name\")},\n    { \"url\"     ,
        cmdURL   , 1, N_(\"change URL to retrieve key\")},\n    { \"fetch\"   , cmdFETCH
        , 0, N_(\"fetch the key specified in the card URL\")},\n    { \"login\"   ,
        cmdLOGIN , 1, N_(\"change the login name\")},\n    { \"lang\"    , cmdLANG
        \ , 1, N_(\"change the language preferences\")},\n    { \"salutation\",cmdSEX
        \ , 1, N_(\"change card holder's salutation\")},\n    { \"sex\"       ,cmdSEX
        \ , 1, NULL },  /* Backward compatibility.  */\n    { \"cafpr\"   , cmdCAFPR
        , 1, N_(\"change a CA fingerprint\")},\n    { \"forcesig\", cmdFORCESIG, 1,
        N_(\"toggle the signature force PIN flag\")},\n    { \"generate\", cmdGENERATE,
        1, N_(\"generate new keys\")},\n    { \"passwd\"  , cmdPASSWD, 0, N_(\"menu
        to change or unblock the PIN\")},\n    { \"verify\"  , cmdVERIFY, 0, N_(\"verify
        the PIN and list all data\")},\n    { \"unblock\" , cmdUNBLOCK,0, N_(\"unblock
        the PIN using a Reset Code\")},\n    { \"factory-reset\", cmdFACTORYRESET,
        1, N_(\"destroy all keys and data\")},\n    { \"kdf-setup\", cmdKDFSETUP,
        1,\n      N_(\"setup KDF for PIN authentication (on/single/off)\")},\n    {
        \"key-attr\", cmdKEYATTR, 1, N_(\"change the key attribute\")},\n    { \"uif\",
        cmdUIF, 1, N_(\"change the User Interaction Flag\")},\n    { \"openpgp\",
        cmdOPENPGP, 0, N_(\"switch to the OpenPGP app\")},\n    /* Note, that we do
        not announce these command yet. */\n    { \"privatedo\", cmdPRIVATEDO, 0,
        NULL },\n    { \"readcert\", cmdREADCERT, 0, NULL },\n    { \"writecert\",
        cmdWRITECERT, 1, NULL },\n    { NULL, cmdINVCMD, 0, NULL }\n  }"
      pos:
        line_end: 2298
        line_start: 2292
        source_file: /src/gnupg/g10/card-util.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g10/key-check.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_info
  - sig_comparison
  - remove_duplicate_sigs
  - key_check_all_keysigs
  source_file: /src/gnupg/g10/key-check.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_16
  - read_32
  - mpi_read
  - read_octet_string
  - sos_read
  - register_known_notation
  - set_packet_list_mode
  - unknown_pubkey_warning
  - dbg_parse_packet
  - parse_packet
  - dbg_search_packet
  - search_packet
  - dbg_copy_all_packets
  - copy_all_packets
  - dbg_copy_some_packets
  - copy_some_packets
  - dbg_skip_some_packets
  - skip_some_packets
  - parse
  - dump_hex_line
  - copy_packet
  - skip_packet
  - read_rest
  - read_sized_octet_string
  - parse_marker
  - parse_symkeyenc
  - parse_pubkeyenc
  - dump_sig_subpkt
  - parse_one_sig_subpkt
  - can_handle_critical_notation
  - can_handle_critical
  - enum_sig_subpkt
  - parse_sig_subpkt
  - parse_sig_subpkt2
  - parse_revkeys
  - parse_signature
  - parse_onepass_sig
  - parse_key
  - parse_attribute_subpkts
  - parse_user_id
  - make_attribute_uidname
  - parse_attribute
  - parse_comment
  - parse_ring_trust
  - parse_plaintext
  - parse_compressed
  - parse_encrypted
  - parse_mdc
  - parse_encrypted_aead
  - parse_gpg_control
  - create_gpg_control
  source_file: /src/gnupg/g10/parse-packet.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXTRA_UID_NAME_SPACE
      pos:
        line_end: 3412
        line_start: 3411
        source_file: /src/gnupg/g10/parse-packet.c
      type_or_value: '71'
    structs: []
    typedefs: []
    union: []
- function_names:
  - release_dfx_context
  - aead_set_nonce_and_ad
  - aead_checktag
  - decrypt_data
  - fill_buffer
  - aead_underflow
  - aead_decode_filter
  - mdc_decode_filter
  - decode_filter
  source_file: /src/gnupg/g10/decrypt-data.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: refcount
        type: int
      - name: cipher_hd
        type: gcry_cipher_hd_t
      - name: mdc_hash
        type: gcry_md_hd_t
      - name: startiv[16]
        type: byte
      - name: holdback[48]
        type: char
      - name: holdbacklen
        type: unsigned int
      - name: partial
        type: unsigned int
      - name: eof_seen
        type: unsigned int
      - name: checktag_failed
        type: unsigned int
      - name: cipher_algo
        type: byte
      - name: aead_algo
        type: byte
      - name: chunkbyte
        type: byte
      - name: chunksize
        type: uint64_t
      - name: chunkindex
        type: uint64_t
      - name: chunklen
        type: uint64_t
      - name: total
        type: uint64_t
      - name: length
        type: size_t
      item_type: struct
      name: decode_filter_context_s
      pos:
        line_end: 101
        line_start: 43
        source_file: /src/gnupg/g10/decrypt-data.c
    typedefs:
    - item_type: typedef
      name: '*decode_filter_ctx_t'
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/gnupg/g10/decrypt-data.c
      type: decode_filter_context_s
    union: []
- function_names:
  - g10_exit
  - check_signatures_trust
  - read_trust_options
  - cache_disabled_value
  - check_trustdb_stale
  - get_validity_info
  - get_validity
  - trust_value_to_string
  - uid_trust_string_fixed
  - get_ownertrust_info
  - get_ownertrust_string
  - get_ownertrust
  - keyserver_match
  - keyserver_any_configured
  - keyserver_import_keyid
  - keyserver_import_fpr
  - keyserver_import_fpr_ntds
  - keyserver_import_cert
  - keyserver_import_wkd
  - keyserver_import_mbox
  - keyserver_import_ntds
  - keyserver_import_ldap
  - read_key_from_file_or_buffer
  - import_included_key_block
  - get_session_key
  - get_override_session_key
  - decrypt_data
  - display_online_help
  - check_secret_key
  - passphrase_to_dek
  - passphrase_clear_cache
  - parse_preferred_keyserver
  - parse_keyserver_uri
  - free_keyserver_spec
  - show_photos
  - parse_image_header
  - image_type_to_string
  - agent_scd_getattr
  - dotlock_disable
  - dotlock_create
  - dotlock_destroy
  - dotlock_take
  - dotlock_release
  - dotlock_remove_lockfiles
  - agent_probe_secret_key
  - agent_probe_any_secret_key
  - agent_get_keyinfo
  - export_pubkey_buffer
  - tofu_write_tfs_record
  - tofu_get_policy
  - tofu_policy_str
  - tofu_begin_batch_update
  - tofu_end_batch_update
  - tofu_notice_key_changed
  - revocation_reason_code_to_str
  - get_revocation_reason
  - impex_filter_getval
  - check_assert_signer_list
  - check_assert_pubkey_algo
  source_file: /src/gnupg/g10/test-stubs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/gnupg/g10/test-stubs.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - len_without_trailing_chars
  - standard
  - text_filter
  - copy_clearsig_text
  source_file: /src/gnupg/g10/textfilter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LF
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/gnupg/g10/textfilter.c
      type_or_value: '"\r\n"'
    - item_type: preproc_def
      name: LF
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/g10/textfilter.c
      type_or_value: '"\n"'
    - item_type: preproc_def
      name: MAX_LINELEN
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/gnupg/g10/textfilter.c
      type_or_value: '19995 '
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g10/key-clean.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEY_CLEAN_NONE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/gnupg/g10/key-clean.h
      type_or_value: '0'
    - item_type: preproc_def
      name: KEY_CLEAN_INVALID
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/gnupg/g10/key-clean.h
      type_or_value: '1'
    - item_type: preproc_def
      name: KEY_CLEAN_ENCR
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/gnupg/g10/key-clean.h
      type_or_value: '2'
    - item_type: preproc_def
      name: KEY_CLEAN_AUTHENCR
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/gnupg/g10/key-clean.h
      type_or_value: '3'
    - item_type: preproc_def
      name: KEY_CLEAN_ALL
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/gnupg/g10/key-clean.h
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mk_notation_policy_etc
  - mk_sig_subpkt_key_block
  - hash_uid
  - hash_sigversion_to_magic
  - do_sign
  - complete_sig
  - openpgp_card_v1_p
  - match_dsa_hash
  - hash_for
  - print_status_sig_created
  - write_onepass_sig_packets
  - write_plaintext_packet
  - write_signature_packets
  - sign_file
  - clearsign_file
  - sign_symencrypt_file
  - make_keysig_packet
  - update_keysig_packet
  source_file: /src/gnupg/g10/sign.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LF
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/g10/sign.c
      type_or_value: '"\r\n"'
    - item_type: preproc_def
      name: LF
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/gnupg/g10/sign.c
      type_or_value: '"\n"'
    structs:
    - fields:
      - name: mode
        type: unsigned char
      - name: timestamp
        type: u32
      - name: namelen
        type: unsigned char
      - name: name[1]
        type: char
      item_type: struct
      name: pt_extra_hash_data_s
      pos:
        line_end: 63
        line_start: 57
        source_file: /src/gnupg/g10/sign.c
    typedefs:
    - item_type: typedef
      name: '*pt_extra_hash_data_t'
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/gnupg/g10/sign.c
      type: pt_extra_hash_data_s
    union: []
- function_names:
  - xxxx_do_check
  source_file: /src/gnupg/g10/seckey-cert.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g10/photoid.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pass
  - fail
  - run_test
  - main
  source_file: /src/gnupg/g10/t-rmd160.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*data'
        type: char
      - name: '*expect'
        type: char
      item_type: struct
      name: "testtbl[] =\n    {\n      {\t\"\",\n\t\"\\x9c\\x11\\x85\\xa5\\xc5\\xe9\\xfc\\x54\\x61\\x28\"\n\t\"\\x08\\x97\\x7e\\xe8\\xf5\\x48\\xb2\\x25\\x8d\\x31\"
        },\n      {\t\"a\",\n\t\"\\x0b\\xdc\\x9d\\x2d\\x25\\x6b\\x3e\\xe9\\xda\\xae\"\n\t\"\\x34\\x7b\\xe6\\xf4\\xdc\\x83\\x5a\\x46\\x7f\\xfe\"
        },\n      {\t\"abc\",\n\t\"\\x8e\\xb2\\x08\\xf7\\xe0\\x5d\\x98\\x7a\\x9b\\x04\"\n\t\"\\x4a\\x8e\\x98\\xc6\\xb0\\x87\\xf1\\x5a\\x0b\\xfc\"
        },\n      {\t\"message digest\",\n\t\"\\x5d\\x06\\x89\\xef\\x49\\xd2\\xfa\\xe5\\x72\\xb8\"\n\t\"\\x81\\xb1\\x23\\xa8\\x5f\\xfa\\x21\\x59\\x5f\\x36\"
        },\n      { \"abcdefghijklmnopqrstuvwxyz\",\n        \"\\xf7\\x1c\\x27\\x10\\x9c\\x69\\x2c\\x1b\\x56\\xbb\"\n
        \       \"\\xdc\\xeb\\x5b\\x9d\\x28\\x65\\xb3\\x70\\x8d\\xbc\" },\n      {
        \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"\n        \"abcdefghijklmnopqrstuvwxyz\"\n        \"0123456789\",\n
        \       \"\\xb0\\xe2\\x0b\\x6e\\x31\\x16\\x64\\x02\\x86\\xed\"\n        \"\\x3a\\x87\\xa5\\x71\\x30\\x79\\xb2\\x1f\\x51\\x89\"
        },\n      { \"1234567890\" \"1234567890\" \"1234567890\" \"1234567890\"\n
        \       \"1234567890\" \"1234567890\" \"1234567890\" \"1234567890\",\n        \"\\x9b\\x75\\x2e\\x45\\x57\\x3d\\x4b\\x39\\xf4\\xdb\"\n
        \       \"\\xd3\\x32\\x3c\\xab\\x82\\xbf\\x63\\x32\\x6b\\xfb\" },\n\n      {
        NULL, NULL }\n    }"
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/gnupg/g10/t-rmd160.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g10/call-agent.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: algo
        type: int
      item_type: struct
      name: key_attr
      pos:
        line_end: 27
        line_start: 21
        source_file: /src/gnupg/g10/call-agent.h
    - fields:
      - name: error
        type: int
      - name: '*reader'
        type: char
      - name: '*apptype'
        type: char
      - name: appversion
        type: unsigned int
      - name: manufacturer_id
        type: unsigned int
      - name: '*manufacturer_name'
        type: char
      - name: '*serialno'
        type: char
      - name: '*disp_name'
        type: char
      - name: '*disp_lang'
        type: char
      - name: disp_sex
        type: int
      - name: '*pubkey_url'
        type: char
      - name: '*login_data'
        type: char
      - name: '*private_do[4]'
        type: char
      - name: cafpr1len
        type: char
      - name: cafpr2len
        type: char
      - name: cafpr3len
        type: char
      - name: cafpr1[20]
        type: char
      - name: cafpr2[20]
        type: char
      - name: cafpr3[20]
        type: char
      - name: fpr1len
        type: unsigned char
      - name: fpr2len
        type: unsigned char
      - name: fpr3len
        type: unsigned char
      - name: fpr1[20]
        type: char
      - name: fpr2[20]
        type: char
      - name: fpr3[20]
        type: char
      - name: fpr1time
        type: u32
      - name: fpr2time
        type: u32
      - name: fpr3time
        type: u32
      - name: grp1[20]
        type: char
      - name: grp2[20]
        type: char
      - name: grp3[20]
        type: char
      - name: sig_counter
        type: unsigned long
      - name: chv1_cached
        type: int
      - name: is_v2
        type: int
      - name: chvmaxlen[3]
        type: int
      - name: chvretry[3]
        type: int
      - name: key_attr[3]
        type: struct key_attr
      - name: extcap
        type: "struct {\n    unsigned int ki:1;     /* Key import available.  */\n
          \   unsigned int aac:1;    /* Algorithm attributes are changeable.  */\n
          \   unsigned int kdf:1;    /* KDF object to support PIN hashing available.
          \ */\n    unsigned int bt:1;     /* Button for confirmation available.  */\n
          \ }"
      - name: status_indicator
        type: unsigned int
      - name: kdf_do_enabled
        type: int
      - name: uif[3]
        type: int
      - name: supported_keyalgo[3]
        type: strlist_t
      item_type: struct
      name: agent_card_info_s
      pos:
        line_end: 80
        line_start: 29
        source_file: /src/gnupg/g10/call-agent.h
    - fields:
      - name: '*next'
        type: struct keypair_info_s
      - name: keygrip[2 * KEYGRIP_LEN + 1]
        type: char
      - name: '*serialno'
        type: char
      - name: '*idstr'
        type: char
      - name: usage
        type: unsigned int
      - name: keytime
        type: u32
      - name: algo
        type: int
      item_type: struct
      name: keypair_info_s
      pos:
        line_end: 94
        line_start: 85
        source_file: /src/gnupg/g10/call-agent.h
    typedefs:
    - item_type: typedef
      name: '*keypair_info_t'
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/gnupg/g10/call-agent.h
      type: keypair_info_s
    union: []
- function_names:
  - decrypt_message
  - decrypt_message_fd
  - decrypt_messages
  source_file: /src/gnupg/g10/decrypt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - gpg_dirmngr_deinit_session_data
  - warn_version_mismatch
  - create_context
  - open_context
  - close_context
  - clear_context_flags
  - ks_status_cb
  - gpg_dirmngr_ks_list
  - ks_search_data_cb
  - gpg_dirmngr_ks_search
  - ks_get_data_cb
  - gpg_dirmngr_ks_get
  - gpg_dirmngr_ks_fetch
  - record_output
  - ks_put_inq_cb
  - gpg_dirmngr_ks_put
  - dns_cert_data_cb
  - dns_cert_status_cb
  - gpg_dirmngr_dns_cert
  - gpg_dirmngr_wkd_get
  source_file: /src/gnupg/g10/call-dirmngr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_WKD_RESULT_LENGTH
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/g10/call-dirmngr.c
      type_or_value: (256 * 1024)
    structs:
    - fields:
      - name: '*keyword'
        type: char
      - name: '*source'
        type: char
      item_type: struct
      name: ks_status_parm_s
      pos:
        line_end: 55
        line_start: 51
        source_file: /src/gnupg/g10/call-dirmngr.c
    - fields:
      - name: lasterr
        type: gpg_error_t
      - name: saveddata
        type: membuf_t
      - name: '*helpbuf'
        type: char
      - name: helpbufsize
        type: size_t
      - name: (*data_cb)(void*, int, char*)
        type: gpg_error_t
      - name: '*data_cb_value'
        type: void
      - name: '*stparm'
        type: struct ks_status_parm_s
      item_type: struct
      name: ks_search_parm_s
      pos:
        line_end: 68
        line_start: 59
        source_file: /src/gnupg/g10/call-dirmngr.c
    - fields:
      - name: memfp
        type: estream_t
      item_type: struct
      name: ks_get_parm_s
      pos:
        line_end: 75
        line_start: 72
        source_file: /src/gnupg/g10/call-dirmngr.c
    - fields:
      - name: ctx
        type: assuan_context_t
      - name: keyblock
        type: kbnode_t
      - name: '*data'
        type: void
      - name: datalen
        type: size_t
      item_type: struct
      name: ks_put_parm_s
      pos:
        line_end: 85
        line_start: 79
        source_file: /src/gnupg/g10/call-dirmngr.c
    - fields:
      - name: memfp
        type: estream_t
      - name: '*fpr'
        type: unsigned char
      - name: fprlen
        type: size_t
      - name: '*url'
        type: char
      item_type: struct
      name: dns_cert_parm_s
      pos:
        line_end: 95
        line_start: 89
        source_file: /src/gnupg/g10/call-dirmngr.c
    - fields:
      - name: '*next'
        type: struct dirmngr_local_s
      - name: ctx
        type: assuan_context_t
      - name: set_keyservers_done
        type: int
      - name: is_active
        type: int
      item_type: struct
      name: dirmngr_local_s
      pos:
        line_end: 119
        line_start: 106
        source_file: /src/gnupg/g10/call-dirmngr.c
    typedefs: []
    union: []
- function_names:
  - sig_check_dump_stats
  - check_key_verify_compliance
  - check_signature
  - check_signature_metadata_validity
  - check_signature_end
  - check_signature_end_simple
  - hash_uid_packet
  - cache_sig_result
  - check_revocation_keys
  - check_backsig
  - check_key_signature
  - check_signature_over_key_or_uid
  - check_key_signature2
  source_file: /src/gnupg/g10/sig-check.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: total
        type: unsigned int
      - name: cached
        type: unsigned int
      - name: goodsig
        type: unsigned int
      - name: badsig
        type: unsigned int
      item_type: struct
      name: cache_stats
      pos:
        line_end: 56
        line_start: 50
        source_file: /src/gnupg/g10/sig-check.c
    typedefs: []
    union: []
- function_names:
  - take_write_lock
  - release_write_lock
  - get_record_from_cache
  - write_cache_item
  - put_record_into_cache
  - tdbio_is_dirty
  - tdbio_sync
  - tdbio_begin_transaction
  - tdbio_end_transaction
  - tdbio_cancel_transaction
  - cleanup
  - tdbio_update_version_record
  - create_version_record
  - tdbio_set_dbname
  - tdbio_get_dbname
  - open_db
  - create_hashtable
  - tdbio_db_matches_options
  - tdbio_read_model
  - tdbio_read_nextcheck
  - tdbio_write_nextcheck
  - get_trusthashrec
  - upd_hashtable
  - drop_from_hashtable
  - lookup_hashtable
  - update_trusthashtbl
  - tdbio_dump_record
  - tdbio_read_record
  - tdbio_write_record
  - tdbio_delete_record
  - tdbio_new_recnum
  - cmp_trec_fpr
  - tdbio_search_trust_byfpr
  - tdbio_search_trust_bypk
  - tdbio_invalid
  source_file: /src/gnupg/g10/tdbio.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ftruncate
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/g10/tdbio.c
      type_or_value: chsize
    - item_type: preproc_def
      name: MY_O_BINARY
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/g10/tdbio.c
      type_or_value: O_BINARY
    - item_type: preproc_def
      name: MY_O_BINARY
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/gnupg/g10/tdbio.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MAX_CACHE_ENTRIES_SOFT
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/gnupg/g10/tdbio.c
      type_or_value: '200'
    - item_type: preproc_def
      name: MAX_CACHE_ENTRIES_HARD
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/gnupg/g10/tdbio.c
      type_or_value: '10000'
    structs:
    - fields:
      - name: next
        type: CACHE_CTRL
      - name: flags
        type: "struct {\n    unsigned used:1;\n    unsigned dirty:1;\n  }"
      - name: recno
        type: ulong
      - name: data[TRUST_RECORD_LEN]
        type: char
      item_type: struct
      name: cache_ctrl_struct
      pos:
        line_end: 66
        line_start: 57
        source_file: /src/gnupg/g10/tdbio.c
    - fields:
      - name: pubkey_algo
        type: int
      - name: '*fpr'
        type: char
      - name: fprlen
        type: int
      item_type: struct
      name: cmp_krec_fpr_struct
      pos:
        line_end: 87
        line_start: 82
        source_file: /src/gnupg/g10/tdbio.c
    - fields:
      - name: pubkey_algo
        type: int
      - name: keyid[2]
        type: u32
      item_type: struct
      name: cmp_xdir_struct
      pos:
        line_end: 94
        line_start: 90
        source_file: /src/gnupg/g10/tdbio.c
    typedefs:
    - item_type: typedef
      name: '*CACHE_CTRL'
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/gnupg/g10/tdbio.c
      type: cache_ctrl_struct
    union: []
- function_names:
  - do_test
  source_file: /src/gnupg/g10/t-keydb-get-keyblock.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g10/trustdb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TRUST_MASK
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/gnupg/g10/trustdb.h
      type_or_value: '15'
    - item_type: preproc_def
      name: TRUST_UNKNOWN
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/gnupg/g10/trustdb.h
      type_or_value: '0  '
    - item_type: preproc_def
      name: TRUST_EXPIRED
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/gnupg/g10/trustdb.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: TRUST_UNDEFINED
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/gnupg/g10/trustdb.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: TRUST_NEVER
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/gnupg/g10/trustdb.h
      type_or_value: '3  '
    - item_type: preproc_def
      name: TRUST_MARGINAL
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/g10/trustdb.h
      type_or_value: '4  '
    - item_type: preproc_def
      name: TRUST_FULLY
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/gnupg/g10/trustdb.h
      type_or_value: '5  '
    - item_type: preproc_def
      name: TRUST_ULTIMATE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/g10/trustdb.h
      type_or_value: '6  '
    - item_type: preproc_def
      name: TRUST_FLAG_REVOKED
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/gnupg/g10/trustdb.h
      type_or_value: '32 '
    - item_type: preproc_def
      name: TRUST_FLAG_SUB_REVOKED
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/gnupg/g10/trustdb.h
      type_or_value: '64 '
    - item_type: preproc_def
      name: TRUST_FLAG_DISABLED
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/gnupg/g10/trustdb.h
      type_or_value: '128 '
    - item_type: preproc_def
      name: TRUST_FLAG_PENDING_CHECK
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/gnupg/g10/trustdb.h
      type_or_value: '256 '
    - item_type: preproc_def
      name: TRUST_FLAG_TOFU_BASED
      pos:
        line_end: 39
        line_start: 37
        source_file: /src/gnupg/g10/trustdb.h
      type_or_value: '512 '
    - item_type: preproc_def
      name: _tofu_GET_TRUST_ERROR
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/gnupg/g10/trustdb.h
      type_or_value: '100'
    - item_type: preproc_def
      name: NAMEHASH_LEN
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/g10/trustdb.h
      type_or_value: '20'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g10/filter.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: md
        type: gcry_md_hd_t
      - name: md2
        type: gcry_md_hd_t
      - name: maxbuf_size
        type: size_t
      item_type: struct
      name: md_filter_context_t
      pos:
        line_end: 29
        line_start: 25
        source_file: /src/gnupg/g10/filter.h
    - fields:
      - name: refcount
        type: int
      - name: what
        type: int
      - name: only_keyblocks
        type: int
      - name: dearmor_mode
        type: int
      - name: '*hdrlines'
        type: char
      - name: no_openpgp_data
        type: int
      - name: inp_checked
        type: int
      - name: inp_bypass
        type: int
      - name: in_cleartext
        type: int
      - name: not_dash_escaped
        type: int
      - name: hashes
        type: int
      - name: faked
        type: int
      - name: truncated
        type: int
      - name: qp_detected
        type: int
      - name: dearmor_state
        type: int
      - name: eol[3]
        type: byte
      - name: '*buffer'
        type: byte
      - name: buffer_size
        type: unsigned
      - name: buffer_len
        type: unsigned
      - name: buffer_pos
        type: unsigned
      - name: radbuf[4]
        type: byte
      - name: idx
        type: int
      - name: crc_md
        type: gcry_md_hd_t
      - name: status
        type: int
      - name: cancel
        type: int
      - name: any_data
        type: int
      - name: pending_lf
        type: int
      item_type: struct
      name: armor_filter_context_t
      pos:
        line_end: 74
        line_start: 34
        source_file: /src/gnupg/g10/filter.h
    - fields:
      - name: status
        type: int
      - name: '*opaque'
        type: void
      - name: '*inbuf'
        type: byte
      - name: inbufsize
        type: unsigned
      - name: '*outbuf'
        type: byte
      - name: outbufsize
        type: unsigned
      - name: algo
        type: int
      - name: algo1hack
        type: int
      - name: new_ctb
        type: int
      - name: (*release)(struct compress_filter_context_s*)
        type: void
      item_type: struct
      name: compress_filter_context_s
      pos:
        line_end: 89
        line_start: 78
        source_file: /src/gnupg/g10/filter.h
    - fields:
      - name: '*dek'
        type: DEK
      - name: datalen
        type: u32
      - name: cipher_hd
        type: gcry_cipher_hd_t
      - name: wrote_header
        type: unsigned int
      - name: short_blklen_warn
        type: unsigned int
      - name: short_blklen_count
        type: unsigned long
      - name: chunkbyte
        type: byte
      - name: chunksize
        type: uint64_t
      - name: chunkindex
        type: uint64_t
      - name: chunklen
        type: uint64_t
      - name: total
        type: uint64_t
      - name: mdc_hash
        type: gcry_md_hd_t
      - name: enchash[20]
        type: byte
      - name: startiv[16]
        type: byte
      - name: '*buffer'
        type: char
      - name: bufsize
        type: size_t
      - name: buflen
        type: size_t
      item_type: struct
      name: cipher_filter_context_t
      pos:
        line_end: 139
        line_start: 93
        source_file: /src/gnupg/g10/filter.h
    - fields:
      - name: '*buffer'
        type: byte
      - name: buffer_size
        type: unsigned
      - name: buffer_len
        type: unsigned
      - name: buffer_pos
        type: unsigned
      - name: truncated
        type: int
      - name: not_dash_escaped
        type: int
      - name: escape_from
        type: int
      - name: md
        type: gcry_md_hd_t
      - name: pending_lf
        type: int
      - name: pending_esc
        type: int
      item_type: struct
      name: text_filter_context_t
      pos:
        line_end: 154
        line_start: 143
        source_file: /src/gnupg/g10/filter.h
    - fields:
      - name: '*what'
        type: char
      - name: last_time
        type: u32
      - name: last
        type: uint64_t
      - name: offset
        type: uint64_t
      - name: total
        type: uint64_t
      - name: refcount
        type: int
      item_type: struct
      name: progress_filter_context_t
      pos:
        line_end: 164
        line_start: 157
        source_file: /src/gnupg/g10/filter.h
    typedefs:
    - item_type: typedef
      name: '*md_thd_filter_context_t'
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/gnupg/g10/filter.h
      type: md_thd_filter_context
    - item_type: typedef
      name: compress_filter_context_t
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/gnupg/g10/filter.h
      type: compress_filter_context_s
    union: []
- function_names:
  - expand_id
  - expand_group
  source_file: /src/gnupg/g10/expand-group.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_default_pubkey_algo
  - adjust_algo_for_ecdh_ecdsa
  - print_status_key_created
  - print_status_key_not_created
  - write_uid
  - do_add_key_flags
  - keygen_add_key_expire
  - keygen_add_key_flags
  - keygen_add_key_flags_and_expire
  - keygen_add_key_flags_from_oduap
  - set_one_pref
  - keygen_set_std_prefs
  - keygen_get_std_prefs
  - add_feature_mdc
  - add_feature_aead
  - add_feature_v5
  - add_keyserver_modify
  - keygen_upd_std_prefs
  - keygen_add_std_prefs
  - keygen_add_keyserver_url
  - do_add_notation
  - keygen_add_notations
  - keygen_add_revkey
  - make_backsig
  - keygen_prepare_new_key_adsks
  - append_all_default_adsks
  - write_direct_sig
  - write_selfsigs
  - write_keybinding
  - curve_is_448
  - ecckey_from_sexp
  - key_from_sexp
  - do_create_from_keygrip
  - common_gen
  - gen_elg
  - gen_dsa
  - gen_ecc
  - gen_kyber
  - gen_rsa
  - check_valid_days
  - print_key_flags
  - ask_key_flags_with_mask
  - ask_key_flags
  - check_keygrip
  - ask_algo
  - get_keysize_range
  - fixup_keysize
  - ask_keysize
  - ask_curve
  - ask_kyber_variant
  - parse_expire_string_with_ct
  - parse_expire_string
  - parse_creation_string
  - ask_expire_interval
  - ask_expiredate
  - uid_from_string
  - uid_already_in_keyblock
  - ask_user_id
  - do_create
  - generate_user_id
  - parse_key_parameter_part
  - parse_key_parameter_string
  - append_to_parameter
  - release_parameter_list
  - get_parameter_idx
  - get_parameter
  - get_parameter_value
  - get_parameter_passphrase
  - get_parameter_algo
  - parse_usagestr
  - parse_parameter_usage
  - prepare_desig_revoker
  - prepare_adsk
  - parse_revocation_key
  - get_parameter_u32
  - get_parameter_uint
  - get_parameter_revkey
  - get_parameter_adsk
  - get_parameter_bool
  - proc_parameter_file
  - read_parameter_file
  - quickgen_set_para
  - quick_generate_keypair
  - generate_keypair
  - start_tree
  - card_write_key_to_backup_file
  - card_store_key_with_backup
  - do_generate_keypair
  - parse_algo_usage_expire
  - generate_subkeypair
  - append_subkey_to_keyblock
  - generate_card_subkeypair
  - write_keyblock
  - gen_card_key
  source_file: /src/gnupg/g10/keygen.c
  types:
    enum:
    - enumerators:
      - name: pKEYLENGTH
      - name: pSUBKEYLENGTH
      - name: pNAMEREAL
      - name: pKEYEXPIRE
      - name: pREVOKER
      - name: pSUBKEYEXPIRE
      - name: pKEYSERVER
      - name: pVERSION
      - name: pCARDKEY
      - name: pKEYCURVE
      - name: pSUBKEYCURVE
      - name: pUSERID
      - name: pNAMEEMAIL
      - name: pSUBKEYCREATIONDATE
      - name: pAUTHKEYCREATIONDATE
      - name: pSERIALNO
      - name: pKEYGRIP
      - name: pKEYTYPE
      - name: pKEYUSAGE
      - name: pSUBKEYUSAGE
      - name: pNAMECOMMENT
      - name: pEXPIREDATE
      - name: pCREATIONDATE
      - name: pCARDBACKUPKEY
      - name: pSUBKEYGRIP
      - name: pSUBVERSION
      - name: pSUBKEYTYPE
      - name: pAUTHKEYTYPE
      - name: pKEYCREATIONDATE
      - name: pPREFERENCES
      - name: pSUBKEYEXPIREDATE
      - name: pPASSPHRASE
      - name: pHANDLE
      - name: pADSK
      item_type: enum
      name: para_name
      pos:
        line_end: 107
        line_start: 72
        source_file: /src/gnupg/g10/keygen.c
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_STD_KEY_PARAM
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/gnupg/g10/keygen.c
      type_or_value: '"ed25519/cert,sign+cv25519/encr"'
    - item_type: preproc_def
      name: FUTURE_STD_KEY_PARAM
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/gnupg/g10/keygen.c
      type_or_value: '"ed25519/cert,sign+cv25519/encr"'
    - item_type: preproc_def
      name: PQC_STD_KEY_PARAM_PRI
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/gnupg/g10/keygen.c
      type_or_value: '"bp384/cert,sign"'
    - item_type: preproc_def
      name: PQC_STD_KEY_PARAM_SUB
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/gnupg/g10/keygen.c
      type_or_value: '"kyber768_bp256/encr"'
    - item_type: preproc_def
      name: PQC_STD_KEY_PARAM
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/gnupg/g10/keygen.c
      type_or_value: PQC_STD_KEY_PARAM_PRI "+" PQC_STD_KEY_PARAM_SUB
    - item_type: preproc_def
      name: KEYGEN_FLAG_NO_PROTECTION
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/gnupg/g10/keygen.c
      type_or_value: '1'
    - item_type: preproc_def
      name: KEYGEN_FLAG_TRANSIENT_KEY
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/gnupg/g10/keygen.c
      type_or_value: '2'
    - item_type: preproc_def
      name: KEYGEN_FLAG_CREATE_V5_KEY
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/gnupg/g10/keygen.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MAX_PREFS
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/gnupg/g10/keygen.c
      type_or_value: '30'
    structs:
    - fields:
      - name: '*next'
        type: struct para_data_s
      - name: lnr
        type: int
      - name: key
        type: enum para_name
      - name: u
        type: "union {\n        u32 expire;\n        u32 creation;\n        int abool;\n
          \       unsigned int usage;\n        struct revocation_key revkey;\n        PKT_public_key
          *adsk;  /* used with key == pADSK */\n        char value[1];\n    }"
      item_type: struct
      name: para_data_s
      pos:
        line_end: 122
        line_start: 109
        source_file: /src/gnupg/g10/keygen.c
    - fields:
      - name: lnr
        type: int
      - name: dryrun
        type: int
      - name: keygen_flags
        type: unsigned int
      - name: use_files
        type: int
      - name: pub
        type: "struct {\n    char  *fname;\n    char  *newfname;\n    IOBUF stream;\n
          \   armor_filter_context_t *afx;\n  }"
      item_type: struct
      name: output_control_s
      pos:
        line_end: 136
        line_start: 124
        source_file: /src/gnupg/g10/keygen.c
    - fields:
      - name: genkey_result
        type: gcry_sexp_t
      - name: genkey_result2
        type: gcry_sexp_t
      item_type: struct
      name: common_gen_cb_parm_s
      pos:
        line_end: 150
        line_start: 141
        source_file: /src/gnupg/g10/keygen.c
    - fields:
      - name: usage
        type: unsigned int
      - name: '*cpl_notation'
        type: char
      - name: '*pk'
        type: PKT_public_key
      item_type: struct
      name: opaque_data_usage_and_pk
      pos:
        line_end: 161
        line_start: 156
        source_file: /src/gnupg/g10/keygen.c
    - fields:
      - name: '*name'
        type: char
      - name: '* eddsa_curve'
        type: char
      - name: '*pretty_name'
        type: char
      - name: supported
        type: unsigned int
      - name: de_vs
        type: unsigned int
      - name: expert_only
        type: unsigned int
      - name: no_listing
        type: unsigned int
      - name: available
        type: unsigned int
      item_type: struct
      name: "curves[] = {\n#if GPG_USE_ECDSA || GPG_USE_ECDH\n# define MY_USE_ECDSADH
        1\n#else\n# define MY_USE_ECDSADH 0\n#endif\n    { \"Curve25519\",      \"Ed25519\",
        \"Curve 25519\", !!GPG_USE_EDDSA, 0,0,0,0 },\n    { \"X448\",            \"Ed448\",
        \  \"Curve 448\",   !!GPG_USE_EDDSA, 0,1,0,0 },\n    { \"NIST P-256\",      NULL,
        NULL,               MY_USE_ECDSADH,  0,1,0,0 },\n    { \"NIST P-384\",      NULL,
        NULL,               MY_USE_ECDSADH,  0,0,0,0 },\n    { \"NIST P-521\",      NULL,
        NULL,               MY_USE_ECDSADH,  0,1,0,0 },\n    { \"brainpoolP256r1\",
        NULL, \"Brainpool P-256\",  MY_USE_ECDSADH,  1,0,0,0 },\n    { \"brainpoolP384r1\",
        NULL, \"Brainpool P-384\",  MY_USE_ECDSADH,  1,1,0,0 },\n    { \"brainpoolP512r1\",
        NULL, \"Brainpool P-512\",  MY_USE_ECDSADH,  1,1,0,0 },\n    { \"secp256k1\",
        \      NULL, NULL,               MY_USE_ECDSADH,  0,1,1,0 },\n  }"
      pos:
        line_end: 3186
        line_start: 3177
        source_file: /src/gnupg/g10/keygen.c
    - fields:
      - name: '*desc'
        type: char
      - name: '*variant'
        type: char
      - name: de_vs
        type: unsigned int
      item_type: struct
      name: "table[] = {\n    { \"Kyber 768 (bp256)\",   \"kyber768_bp256\", 1 },\n
        \   { \"Kyber 1024 (bp384)\",  \"kyber1024_bp384\", 1 },\n    { \"Kyber 768
        (X25519)\",  \"kyber768_cv25519\", 0 },\n    { \"Kyber 1024 (X448)\",   \"kyber1024_cv448\",
        0 },\n  }"
      pos:
        line_end: 3339
        line_start: 3335
        source_file: /src/gnupg/g10/keygen.c
    - fields:
      - name: '*name'
        type: char
      - name: key
        type: enum para_name
      item_type: struct
      name: "keywords[] = {\n\t{ \"Key-Type\",       pKEYTYPE},\n\t{ \"Key-Length\",
        \    pKEYLENGTH },\n\t{ \"Key-Curve\",      pKEYCURVE },\n\t{ \"Key-Usage\",
        \     pKEYUSAGE },\n\t{ \"Subkey-Type\",    pSUBKEYTYPE },\n\t{ \"Subkey-Length\",
        \ pSUBKEYLENGTH },\n\t{ \"Subkey-Curve\",   pSUBKEYCURVE },\n\t{ \"Subkey-Usage\",
        \  pSUBKEYUSAGE },\n\t{ \"Name-Real\",      pNAMEREAL },\n\t{ \"Name-Email\",
        \    pNAMEEMAIL },\n\t{ \"Name-Comment\",   pNAMECOMMENT },\n        { \"User-Id\",
        \       pUSERID },\n\t{ \"Expire-Date\",    pEXPIREDATE },\n\t{ \"Subkey-Expire-Date\",
        pSUBKEYEXPIREDATE },\n\t{ \"Creation-Date\",  pCREATIONDATE },\n\t{ \"Passphrase\",
        \    pPASSPHRASE },\n\t{ \"Preferences\",    pPREFERENCES },\n\t{ \"Revoker\",
        \       pREVOKER },\n        { \"Handle\",         pHANDLE },\n        { \"Keyserver\",
        \     pKEYSERVER },\n        { \"Keygrip\",        pKEYGRIP },\n        {
        \"Key-Grip\",       pKEYGRIP },\n        { \"Subkey-grip\",    pSUBKEYGRIP
        },\n        { \"Key-Version\",    pVERSION },\n        { \"Subkey-Version\",
        pSUBVERSION },\n        { NULL, 0 }\n    }"
      pos:
        line_end: 5226
        line_start: 5224
        source_file: /src/gnupg/g10/keygen.c
    typedefs:
    - item_type: typedef
      name: '*common_gen_cb_parm_t'
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/gnupg/g10/keygen.c
      type: common_gen_cb_parm_s
    union: []
- function_names:
  - my_mpi_copy
  - free_symkey_enc
  - release_pubkey_enc_parts
  - free_pubkey_enc
  - copy_pubkey_enc_parts
  - free_seckey_enc
  - release_public_key_parts
  - free_public_key
  - cp_subpktarea
  - copy_prefs
  - copy_public_key_basics
  - copy_public_key
  - copy_signature
  - scopy_user_id
  - free_comment
  - free_attributes
  - free_user_id
  - free_compressed
  - free_encrypted
  - free_plaintext
  - free_packet
  - free_seskey_enc_list
  - cmp_public_keys
  - cmp_signatures
  - cmp_user_ids
  source_file: /src/gnupg/g10/free-packet.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CMP_FILENAME
  - CMP_FILENAME
  - overwrite_filep
  - make_outfile_name
  - ask_outfile_name
  - open_outfile
  - get_matching_datafile
  - open_sigfile
  - try_make_homedir
  - get_openpgp_revocdir
  source_file: /src/gnupg/g10/openfile.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAME_OF_DEV_NULL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/gnupg/g10/openfile.c
      type_or_value: '"nul"'
    - item_type: preproc_def
      name: NAME_OF_DEV_NULL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/g10/openfile.c
      type_or_value: '"/dev/null"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g10/rmd160.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STRINGIFY
  - STRINGIFY2
  - tofu_policy_str
  - tofu_policy_to_trust_level
  - begin_transaction
  - end_transaction
  - rollback_transaction
  - tofu_begin_batch_update
  - tofu_end_batch_update
  - tofu_suspend_batch_transaction
  - tofu_resume_batch_transaction
  - string_to_long
  - string_to_ulong
  - get_single_unsigned_long_cb
  - get_single_unsigned_long_cb2
  - version_check_cb
  - check_utks
  - initdb
  - busy_handler
  - opendbs
  - tofu_closedbs
  - get_single_long_cb
  - get_single_long_cb2
  - record_binding
  - strings_collect_cb
  - strings_collect_cb2
  - signature_stats_free
  - signature_stats_prepend
  - signature_stats_collect_cb
  - format_conflict_msg_part1
  - cross_sigs
  - signed_by_utk
  - ask_about_binding
  - STATS_SQL
  - build_conflict_set
  - get_policy
  - get_trust
  - time_ago_str
  - write_stats_status
  - show_statistics
  - show_warning
  - email_from_user_id
  - tofu_register_signature
  - tofu_register_encryption
  - tofu_wot_trust_combine
  - tofu_write_tfs_record
  - tofu_get_validity
  - tofu_set_policy
  - tofu_get_policy
  - tofu_notice_key_changed
  source_file: /src/gnupg/g10/tofu.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONTROL_L
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/gnupg/g10/tofu.c
      type_or_value: ('L' - 'A' + 1)
    - item_type: preproc_def
      name: BASIC_TRUST_THRESHOLD
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/g10/tofu.c
      type_or_value: '4'
    - item_type: preproc_def
      name: FULL_TRUST_THRESHOLD
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/gnupg/g10/tofu.c
      type_or_value: '21'
    - item_type: preproc_def
      name: TIME_AGO_FUTURE_IGNORE
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/gnupg/g10/tofu.c
      type_or_value: (2 * 60 * 60)
    - item_type: preproc_def
      name: TIME_AGO_UNIT_SMALL
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/gnupg/g10/tofu.c
      type_or_value: (24 * 60 * 60)
    - item_type: preproc_def
      name: TIME_AGO_SMALL_THRESHOLD
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/gnupg/g10/tofu.c
      type_or_value: (7 * TIME_AGO_UNIT_SMALL)
    - item_type: preproc_def
      name: TIME_AGO_UNIT_MEDIUM
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/gnupg/g10/tofu.c
      type_or_value: (30 * 24 * 60 * 60)
    - item_type: preproc_def
      name: TIME_AGO_MEDIUM_THRESHOLD
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/gnupg/g10/tofu.c
      type_or_value: (2 * TIME_AGO_UNIT_MEDIUM)
    - item_type: preproc_def
      name: TIME_AGO_UNIT_LARGE
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/gnupg/g10/tofu.c
      type_or_value: (365 * 24 * 60 * 60)
    - item_type: preproc_def
      name: TIME_AGO_LARGE_THRESHOLD
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/gnupg/g10/tofu.c
      type_or_value: (2 * TIME_AGO_UNIT_LARGE)
    - item_type: preproc_def
      name: MIN_SECS
      pos:
        line_end: 2889
        line_start: 2888
        source_file: /src/gnupg/g10/tofu.c
      type_or_value: (60)
    - item_type: preproc_def
      name: HOUR_SECS
      pos:
        line_end: 2890
        line_start: 2889
        source_file: /src/gnupg/g10/tofu.c
      type_or_value: (60 * MIN_SECS)
    - item_type: preproc_def
      name: DAY_SECS
      pos:
        line_end: 2891
        line_start: 2890
        source_file: /src/gnupg/g10/tofu.c
      type_or_value: (24 * HOUR_SECS)
    - item_type: preproc_def
      name: WEEK_SECS
      pos:
        line_end: 2892
        line_start: 2891
        source_file: /src/gnupg/g10/tofu.c
      type_or_value: (7 * DAY_SECS)
    - item_type: preproc_def
      name: MONTH_SECS
      pos:
        line_end: 2893
        line_start: 2892
        source_file: /src/gnupg/g10/tofu.c
      type_or_value: (30 * DAY_SECS)
    - item_type: preproc_def
      name: YEAR_SECS
      pos:
        line_end: 2894
        line_start: 2893
        source_file: /src/gnupg/g10/tofu.c
      type_or_value: (365 * DAY_SECS)
    structs:
    - fields:
      - name: '*db'
        type: sqlite3
      - name: '*want_lock_file'
        type: char
      - name: want_lock_file_ctime
        type: time_t
      - name: s
        type: "struct\n  {\n    sqlite3_stmt *savepoint_batch;\n    sqlite3_stmt *savepoint_batch_commit;\n\n
          \   sqlite3_stmt *record_binding_get_old_policy;\n    sqlite3_stmt *record_binding_update;\n
          \   sqlite3_stmt *get_policy_select_policy_and_conflict;\n    sqlite3_stmt
          *get_trust_bindings_with_this_email;\n    sqlite3_stmt *get_trust_gather_other_user_ids;\n
          \   sqlite3_stmt *get_trust_gather_signature_stats;\n    sqlite3_stmt *get_trust_gather_encryption_stats;\n
          \   sqlite3_stmt *register_already_seen;\n    sqlite3_stmt *register_signature;\n
          \   sqlite3_stmt *register_encryption;\n  }"
      - name: in_batch_transaction
        type: int
      - name: in_transaction
        type: int
      - name: batch_update_started
        type: time_t
      item_type: struct
      name: tofu_dbs_s
      pos:
        line_end: 89
        line_start: 63
        source_file: /src/gnupg/g10/tofu.c
    - fields:
      - name: '*next'
        type: struct signature_stats
      - name: policy
        type: enum tofu_policy
      - name: time_ago
        type: long
      - name: count
        type: unsigned long
      - name: is_expired
        type: int
      - name: is_revoked
        type: int
      - name: fingerprint[1]
        type: char
      item_type: struct
      name: signature_stats
      pos:
        line_end: 1221
        line_start: 1202
        source_file: /src/gnupg/g10/tofu.c
    typedefs: []
    union: []
- function_names:
  - make_libversion
  - my_strusage
  - main
  - g10_exit
  - check_signatures_trust
  - read_trust_options
  - cache_disabled_value
  - check_trustdb_stale
  - get_validity_info
  - get_validity
  - trust_value_to_string
  - uid_trust_string_fixed
  - get_ownertrust_info
  - get_ownertrust
  - get_ownertrust_string
  - keyserver_match
  - keyserver_any_configured
  - keyserver_import_keyid
  - keyserver_import_fpr
  - keyserver_import_fpr_ntds
  - keyserver_import_cert
  - keyserver_import_wkd
  - keyserver_import_mbox
  - keyserver_import_ntds
  - keyserver_import_ldap
  - read_key_from_file_or_buffer
  - import_included_key_block
  - get_session_key
  - get_override_session_key
  - decrypt_data
  - display_online_help
  - check_secret_key
  - passphrase_to_dek
  - passphrase_clear_cache
  - parse_preferred_keyserver
  - parse_keyserver_uri
  - free_keyserver_spec
  - show_photos
  - parse_image_header
  - image_type_to_string
  - agent_scd_getattr
  - dotlock_disable
  - dotlock_create
  - dotlock_destroy
  - dotlock_take
  - dotlock_release
  - dotlock_remove_lockfiles
  - agent_probe_secret_key
  - agent_probe_any_secret_key
  - agent_get_keyinfo
  - export_pubkey_buffer
  - tofu_write_tfs_record
  - tofu_get_policy
  - tofu_policy_str
  - tofu_begin_batch_update
  - tofu_end_batch_update
  - tofu_notice_key_changed
  - revocation_reason_code_to_str
  - get_revocation_reason
  - impex_filter_getval
  source_file: /src/gnupg/g10/gpgv.c
  types:
    enum:
    - enumerators:
      - name: aNull
        value: '0'
      - name: oVerbose
        value: '''v'''
      - name: oQuiet
        value: '''q'''
      - name: oOutput
        value: '''o'''
      - name: oPrintNotation
        value: '''N'''
      - name: oBatch
        value: '500'
      - name: oKeyring
      - name: oIgnoreTimeConflict
      - name: oStatusFD
      - name: oLoggerFD
      - name: oEnableSpecialFilenames
      - name: oWeakDigest
      - name: aTest
      - name: oAssertPubkeyAlgo
      - name: oHomedir
      - name: oDebug
      - name: oLoggerFile
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 73
        line_start: 55
        source_file: /src/gnupg/g10/gpgv.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/g10/gpgv.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mark_usable_uid_certs
  - is_trusted_key_sig
  - clean_sigs_from_uid
  - clean_uid_from_key
  - clean_one_uid
  - clean_all_uids
  - clean_one_subkey
  - clean_one_subkey_dupsigs
  - clean_all_subkeys
  source_file: /src/gnupg/g10/key-clean.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NF_USABLE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/g10/key-clean.c
      type_or_value: '8  '
    - item_type: preproc_def
      name: NF_CONSIDER
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/g10/key-clean.c
      type_or_value: '9  '
    - item_type: preproc_def
      name: NF_PROCESSED
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/gnupg/g10/key-clean.c
      type_or_value: '10  '
    - item_type: preproc_def
      name: NF_REVOC
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/gnupg/g10/key-clean.c
      type_or_value: '11  '
    - item_type: preproc_def
      name: NF_NOKEY
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/g10/key-clean.c
      type_or_value: '12  '
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_iobuf_write
  - set_nonce_and_ad
  - write_header
  - write_auth_tag
  - write_final_chunk
  - do_flush
  - do_free
  - cipher_filter_aead
  source_file: /src/gnupg/g10/cipher-aead.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AEAD_ENC_BUFFER_SIZE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/g10/cipher-aead.c
      type_or_value: (64*1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_delete_key
  - delete_keys
  source_file: /src/gnupg/g10/delkey.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - md_filter
  - free_md_filter_context
  - lock_md
  - unlock_md
  - get_buffer_to_hash
  - put_buffer_to_recv
  - get_buffer_to_fill
  - put_buffer_to_send
  - md_thread
  - md_thd_filter
  - md_thd_filter_set_md
  source_file: /src/gnupg/g10/mdfilter.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: md
        type: gcry_md_hd_t
      - name: thd
        type: npth_t
      - name: mutex
        type: npth_mutex_t
      - name: cond
        type: npth_cond_t
      - name: bufsize
        type: size_t
      - name: produce
        type: unsigned int
      - name: consume
        type: unsigned int
      - name: written0
        type: ssize_t
      - name: written1
        type: ssize_t
      - name: buf[1]
        type: unsigned char
      item_type: struct
      name: md_thd_filter_context
      pos:
        line_end: 92
        line_start: 80
        source_file: /src/gnupg/g10/mdfilter.c
    typedefs: []
    union: []
- function_names:
  - do_test
  source_file: /src/gnupg/g10/t-keydb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g10/keyserver-internal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEYSERVER_IMPORT_FLAG_QUICK
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/gnupg/g10/keyserver-internal.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: KEYSERVER_IMPORT_FLAG_LDAP
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/gnupg/g10/keyserver-internal.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: KEYSERVER_IMPORT_FLAG_SILENT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/g10/keyserver-internal.h
      type_or_value: '4  '
    - item_type: preproc_def
      name: KEYSERVER_IMPORT_FLAG_ONLYFPR
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/gnupg/g10/keyserver-internal.h
      type_or_value: '8  '
    - item_type: preproc_def
      name: KEYSERVER_IMPORT_FLAG_UPDSEND
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/g10/keyserver-internal.h
      type_or_value: '16  '
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_algo_in_prefs
  - get_session_key
  - ecdh_sexp_build
  - get_it
  - get_override_session_key
  source_file: /src/gnupg/g10/pubkey-enc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_output_file
  - pfg_open_file
  - pfg_close_file
  - handle_plaintext
  - do_hash
  - ask_for_detached_datafile
  - hash_datafiles
  - hash_datafile_by_fd
  - setup_plaintext_name
  source_file: /src/gnupg/g10/plaintext.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - objcache_dump_stats
  - uid_table_hasher
  - uid_table_init
  - uid_item_ref
  - uid_item_unref
  - uid_table_put
  - key_table_hasher
  - key_table_init
  - key_item_free
  - key_table_get
  - compare_key_items
  - key_table_put
  - primary_uid_from_keyblock
  - cache_put_keyblock
  - cache_get_uid_bykid
  - cache_get_uid_byfpr
  source_file: /src/gnupg/g10/objcache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_OF_UID_ITEM_BUCKETS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/gnupg/g10/objcache.c
      type_or_value: '107'
    - item_type: preproc_def
      name: MAX_UID_ITEMS_PER_BUCKET
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/gnupg/g10/objcache.c
      type_or_value: '20'
    - item_type: preproc_def
      name: NO_OF_KEY_ITEM_BUCKETS
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/g10/objcache.c
      type_or_value: '383'
    - item_type: preproc_def
      name: MAX_KEY_ITEMS_PER_BUCKET
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/g10/objcache.c
      type_or_value: '20'
    structs:
    - fields:
      - name: '*next'
        type: struct uid_item_s
      - name: refcount
        type: unsigned int
      - name: namelen
        type: unsigned int
      - name: name[1]
        type: char
      item_type: struct
      name: uid_item_s
      pos:
        line_end: 50
        line_start: 44
        source_file: /src/gnupg/g10/objcache.c
    - fields:
      - name: '*next'
        type: struct key_item_s
      - name: usecount
        type: unsigned int
      - name: fprlen
        type: byte
      - name: fpr[MAX_FINGERPRINT_LEN]
        type: char
      - name: keyid[2]
        type: u32
      - name: ui
        type: uid_item_t
      item_type: struct
      name: key_item_s
      pos:
        line_end: 70
        line_start: 62
        source_file: /src/gnupg/g10/objcache.c
    typedefs: []
    union: []
- function_names:
  - kid_not_found_p
  - kid_not_found_insert
  - kid_not_found_flush
  - keyblock_cache_clear
  - maybe_create_keyring_or_box
  - rt_from_file
  - keydb_search_desc_dump
  - keydb_add_resource
  - keydb_dump_stats
  - internal_keydb_init
  - internal_keydb_deinit
  - internal_keydb_lock
  - keydb_lock
  - keydb_disable_caching
  - keydb_get_resource_name
  - lock_all
  - do_fp_close
  - unlock_all
  - keydb_push_found_state
  - keydb_pop_found_state
  - keydb_parse_keyblock
  - internal_keydb_get_keyblock
  - internal_keydb_update_keyblock
  - internal_keydb_insert_keyblock
  - internal_keydb_delete_keyblock
  - keydb_locate_writable
  - keydb_rebuild_caches
  - keydb_get_skipped_counter
  - internal_keydb_search_reset
  - internal_keydb_search
  - keydb_search_first
  - keydb_search_next
  - keydb_search_kid
  - keydb_search_fpr
  source_file: /src/gnupg/g10/keydb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KID_NOT_FOUND_CACHE_BUCKETS
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/gnupg/g10/keydb.c
      type_or_value: '256'
    structs:
    - fields:
      - name: '*next'
        type: struct kid_not_found_cache_bucket
      - name: kid[2]
        type: u32
      item_type: struct
      name: kid_not_found_cache_bucket
      pos:
        line_end: 80
        line_start: 76
        source_file: /src/gnupg/g10/keydb.c
    - fields:
      - name: count
        type: unsigned int
      - name: peak
        type: unsigned int
      - name: flushes
        type: unsigned int
      item_type: struct
      name: kid_not_found_stats
      pos:
        line_end: 87
        line_start: 82
        source_file: /src/gnupg/g10/keydb.c
    - fields:
      - name: handles
        type: unsigned int
      - name: locks
        type: unsigned int
      - name: parse_keyblocks
        type: unsigned int
      - name: get_keyblocks
        type: unsigned int
      - name: build_keyblocks
        type: unsigned int
      - name: update_keyblocks
        type: unsigned int
      - name: insert_keyblocks
        type: unsigned int
      - name: delete_keyblocks
        type: unsigned int
      - name: search_resets
        type: unsigned int
      - name: found
        type: unsigned int
      - name: found_cached
        type: unsigned int
      - name: notfound
        type: unsigned int
      - name: notfound_cached
        type: unsigned int
      item_type: struct
      name: keydb_stats
      pos:
        line_end: 104
        line_start: 89
        source_file: /src/gnupg/g10/keydb.c
    typedefs: []
    union: []
- function_names:
  - test_compare_pubkey_string
  - main
  source_file: /src/gnupg/g10/t-keyid.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LEAN_T_SUPPORT
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/gnupg/g10/t-keyid.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/gnupg/g10/t-keyid.c
      type_or_value: '"t-keyid"'
    structs:
    - fields:
      - name: '*astr'
        type: char
      - name: '*bstr'
        type: char
      - name: expected
        type: int
      item_type: struct
      name: "t[] =\n  {\n    { \"rsa2048\"  , \"rsa2048\"             ,  1 },\n    {
        \"rsa2048\"  , \">=rsa2048\"           ,  1 },\n    { \"rsa2048\"  , \">rsa2048\"
        \           ,  0 },\n    { \"ed25519\"  , \">rsa1024\"            ,  0 },\n
        \   { \"ed25519\"  , \"ed25519\"             ,  1 },\n    { \"ed25519\"  ,
        \",,,=ed25519\"         ,  1 },\n    { \"nistp384\" , \">nistp256\"           ,
        \ 1 },\n    { \"nistp521\" , \">=rsa3072, >nistp384\",  1 },\n    { \" nistp521\"
        , \">=rsa3072, >nistp384   \",  1 },\n    { \"  nistp521  \" , \"  >=rsa3072,
        >nistp384   \",  1 },\n    { \"  =nistp521  \" , \"  >=rsa3072, >nistp384,,\",
        \ 1 },\n    { \"nistp384\" , \">nistp384\"           ,  0 },\n    { \"nistp384\"
        , \">=nistp384\"          ,  1 },\n    { \"brainpoolP384\" , \">=brainpoolp256\",
        1 },\n    { \"brainpoolP384\" , \">brainpoolp384\" , 0 },\n    { \"brainpoolP384\"
        , \">=brainpoolp384\", 1 },\n    { \"brainpoolP256r1\", \">brainpoolp256r1\",
        0 },\n    { \"brainpoolP384r1\", \">brainpoolp384r1\" , 0 },\n    { \"brainpoolP384r1\",
        \">=brainpoolp384r1\", 1 },\n    { \"brainpoolP384r1\", \">=brainpoolp384\"
        \ , 1 },\n    { \"ed25519\", \">ed448\", 0 },\n    { \"cv25519\", \">cv448\",
        0 },\n    { \"ed448\", \">ed25519\", 1 },\n    { \"ed448\", \">=ed25519\",
        1 },\n    { \"cv448\", \">cv25519\", 1 },\n    { \"\",  \"\", 0}\n  }"
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/gnupg/g10/t-keyid.c
    typedefs: []
    union: []
- function_names:
  - get_mpi_from_sexp
  - sexp_extract_param_sos
  - sexp_extract_param_sos_nlz
  - pk_verify
  - do_encrypt_kem
  - do_encrypt_ecdh
  - do_encrypt_rsa_elg
  - pk_encrypt
  - pk_check_secret_key
  source_file: /src/gnupg/g10/pkglue.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - session_env_mod_stdenvnames
  - session_env_list_stdenvnames
  - session_env_new
  - session_env_release
  - delete_var
  - update_var
  - session_env_putenv
  - session_env_setenv
  - session_env_getenv
  - session_env_getenv_or_default
  - session_env_listenv
  source_file: /src/gnupg/common/session-env.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INITIAL_ARRAYSIZE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/gnupg/common/session-env.c
      type_or_value: '14  '
    - item_type: preproc_def
      name: CHUNK_ARRAYSIZE
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/gnupg/common/session-env.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAXDEFAULT_ARRAYSIZE
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/gnupg/common/session-env.c
      type_or_value: (INITIAL_ARRAYSIZE + CHUNK_ARRAYSIZE * 5)
    structs:
    - fields:
      - name: '*value'
        type: char
      - name: is_default
        type: int
      - name: name[1]
        type: char
      item_type: struct
      name: variable_s
      pos:
        line_end: 45
        line_start: 40
        source_file: /src/gnupg/common/session-env.c
    - fields:
      - name: arraysize
        type: size_t
      - name: arrayused
        type: size_t
      - name: '**array'
        type: struct variable_s
      item_type: struct
      name: session_environment_s
      pos:
        line_end: 55
        line_start: 50
        source_file: /src/gnupg/common/session-env.c
    - fields:
      - name: '*name'
        type: char
      - name: '*assname'
        type: char
      - name: disabled
        type: unsigned int
      item_type: struct
      name: "stdenvnames[] = {\n  { \"GPG_TTY\", \"ttyname\" },      /* GnuPG specific
        envvar.  */\n  { \"TERM\",    \"ttytype\" },      /* Used to set ttytype.
        */\n  { \"DISPLAY\", \"display\" },      /* The X-Display.  */\n  { \"XAUTHORITY\",\"xauthority\"},
        \ /* Xlib Authentication.  */\n  { \"XMODIFIERS\" },              /* Used
        by Xlib to select X input\n                                      modules (eg
        \"@im=SCIM\").  */\n  { \"WAYLAND_DISPLAY\" },         /* For the Wayland
        display engine.  */\n  { \"XDG_SESSION_TYPE\" },        /* Used by Qt and
        other non-GTK toolkits\n                                    to check for x11
        or wayland.  */\n  { \"QT_QPA_PLATFORM\" },         /* Used by Qt to explicitly
        request\n                                    x11 or wayland; in particular,
        needed\n                                    to make Qt use Wayland on Gnome.
        \ */\n  { \"GTK_IM_MODULE\" },           /* Used by gtk to select gtk input\n
        \                                   modules (eg \"scim-bridge\").  */\n  {
        \"DBUS_SESSION_BUS_ADDRESS\" },/* Used by GNOME3 to talk to gcr over\n                                    dbus
        */\n  { \"QT_IM_MODULE\" },            /* Used by Qt to select qt input\n
        \                                     modules (eg \"xim\").  */\n  { \"INSIDE_EMACS\"
        },            /* Set by Emacs before running a\n                                    process.
        \ */\n  { \"PINENTRY_USER_DATA\", \"pinentry-user-data\"},\n                                 /*
        Used for communication with\n                                    non-standard
        Pinentries.  */\n  { \"PINENTRY_GEOM_HINT\" }       /* Used to pass window
        information. */\n}"
      pos:
        line_end: 66
        line_start: 61
        source_file: /src/gnupg/common/session-env.c
    typedefs: []
    union: []
- function_names:
  - my_error_from_syserror
  - get_max_fds
  - close_all_fds
  - get_all_open_fds
  - do_create_pipe
  - create_pipe_and_estream
  - gnupg_create_inbound_pipe
  - gnupg_create_outbound_pipe
  - gnupg_create_pipe
  - gnupg_close_pipe
  source_file: /src/gnupg/common/exechelp-posix.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cmp_time_s
  - test_timegm
  - main
  source_file: /src/gnupg/common/t-timestuff.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: year
        type: int
      item_type: struct
      name: "tvalues[] = {\n    { -1 },\n    { -2,  1 },\n    { -2,  2 },\n    { -2,
        \ 86399 },\n    { -2,  86400 },\n    { -2,  0x7ffffffe },\n    { -2,  0x7fffffff
        },\n    /* Note: Because we use mktime below we can only start with the\n
        \      day after Epoch.  */\n    { 1970, 0, 2, 0, 0 , 1},\n    { 1970, 0,
        2, 0, 0 , 2},\n    { 1970, 0, 2, 12, 0 , 0},\n    { 1970, 0, 2, 23, 59 , 59},\n
        \   { 1999, 11, 31, 23, 59 , 59},\n    { 2000, 0, 1, 0, 0, 0},\n    { 2000,
        0, 1, 0, 0, 1},\n    { 2010, 11, 31, 23, 59 , 59},\n    { 2010, 0, 1, 0, 0,
        0},\n    { 2010, 0, 1, 0, 0, 1},\n    /* On GNU based 32 bit systems the end
        of all ticks will be on\n       20380119T031408 (unless Uli takes compassion
        on us and changes\n       time_t to a u64).  We check that the previous day
        is okay.  */\n    { 2038, 0, 18, 23, 59, 59}\n\n  }"
      pos:
        line_end: 65
        line_start: 63
        source_file: /src/gnupg/common/t-timestuff.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/pkscreening.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - count_bits
  - count_sos_bits
  - compute_openpgp_fpr
  - compute_openpgp_fpr_rsa
  - default_ecdh_params
  - compute_openpgp_fpr_ecc
  source_file: /src/gnupg/common/openpgp-fpr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_gnupg_dirname
  - my_fixed_default_homedir
  - gnupg_registry_dir
  - w32_shgetfolderpath
  - create_common_conf
  - is_gnupg_default_homedir
  - copy_dir_with_fixup
  - standard_homedir
  - default_homedir
  - string_is_true
  - parse_gpgconf_ctl
  - check_portable_app
  - w32_myproc_self
  - w32_rootdir
  - unix_myproc_self
  - macos_myproc_self
  - unix_rootdir
  - w32_commondir
  - gnupg_isatty
  - gnupg_set_homedir
  - gnupg_maybe_make_homedir
  - gnupg_myproc_self
  - gnupg_homedir
  - gnupg_default_homedir_p
  - gnupg_daemon_rootdir
  - _gnupg_socketdir_internal
  - gnupg_socketdir
  - gnupg_sysconfdir
  - gnupg_bindir
  - gnupg_libexecdir
  - gnupg_libdir
  - gnupg_datadir
  - gnupg_localedir
  - gpg_agent_socket_name
  - dirmngr_socket_name
  - keyboxd_socket_name
  - get_default_pinentry_name
  - gnupg_set_builddir
  - gnupg_set_builddir_from_env
  - gnupg_module_name
  - X
  - gnupg_module_name_flush_some
  source_file: /src/gnupg/common/homedir.c
  types:
    enum:
    - enumerators:
      - name: WANTDIR_ROOT
        value: '0'
      - name: WANTDIR_SOCKET
      - name: WANTDIR_SYSCONF
      item_type: enum
      name: wantdir_values
      pos:
        line_end: 88
        line_start: 84
        source_file: /src/gnupg/common/homedir.c
    preproc_defs:
    - item_type: preproc_def
      name: CSIDL_APPDATA
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/common/homedir.c
      type_or_value: '0x001a'
    - item_type: preproc_def
      name: CSIDL_LOCAL_APPDATA
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/gnupg/common/homedir.c
      type_or_value: '0x001c'
    - item_type: preproc_def
      name: CSIDL_COMMON_APPDATA
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/gnupg/common/homedir.c
      type_or_value: '0x0023'
    - item_type: preproc_def
      name: CSIDL_FLAG_CREATE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/gnupg/common/homedir.c
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: MYPROC_SELF_EXE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/gnupg/common/homedir.c
      type_or_value: '"/proc/self/exe"'
    - item_type: preproc_def
      name: MYPROC_SELF_EXE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/gnupg/common/homedir.c
      type_or_value: '"/proc/curproc/exe"'
    - item_type: preproc_def
      name: MYPROC_SELF_EXE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/gnupg/common/homedir.c
      type_or_value: '"/proc/self/path/a.out"'
    - item_type: preproc_def
      name: MYPROC_SELF_EXE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/gnupg/common/homedir.c
      type_or_value: '"/proc/curproc/file"'
    structs:
    - fields:
      - name: checked
        type: unsigned int
      - name: found
        type: unsigned int
      - name: empty
        type: unsigned int
      - name: valid
        type: unsigned int
      - name: portable
        type: unsigned int
      - name: '*gnupg'
        type: char
      - name: '*rootdir'
        type: char
      - name: '*sysconfdir'
        type: char
      - name: '*socketdir'
        type: char
      item_type: struct
      name: gpgconf_ctl
      pos:
        line_end: 112
        line_start: 101
        source_file: /src/gnupg/common/homedir.c
    - fields:
      - name: '*(*rfnc)(void)'
        type: char
      - name: '*name'
        type: char
      item_type: struct
      name: "names[] = {\n    /* The first entry is what we return in case we found
        no\n       other pinentry.  */\n    { gnupg_bindir, DIRSEP_S \"pinentry\"
        EXEEXT_S },\n#ifdef HAVE_W32_SYSTEM\n    /* Try Gpg4win directory (with bin
        and without.) */\n    { w32_rootdir, \"\\\\..\\\\Gpg4win\\\\bin\\\\pinentry.exe\"
        },\n    { w32_rootdir, \"\\\\..\\\\Gpg4win\\\\pinentry.exe\" },\n    /* Try
        a pinentry in a dir above us */\n    { w32_rootdir, \"\\\\..\\\\bin\\\\pinentry.exe\"
        },\n    /* Try old Gpgwin directory.  */\n    { w32_rootdir, \"\\\\..\\\\GNU\\\\GnuPG\\\\pinentry.exe\"
        },\n    /* Try a Pinentry from the common GNU dir.  */\n    { w32_rootdir,
        \"\\\\..\\\\GNU\\\\bin\\\\pinentry.exe\" },\n#endif\n    /* Last chance is
        a pinentry-basic (which comes with the\n       GnuPG 2.1 Windows installer).
        \ */\n    { gnupg_bindir, DIRSEP_S \"pinentry-basic\" EXEEXT_S }\n  }"
      pos:
        line_end: 1819
        line_start: 1816
        source_file: /src/gnupg/common/homedir.c
    typedefs: []
    union: []
- function_names:
  - gnupg_amkdir_p
  - gnupg_mkdir_p
  source_file: /src/gnupg/common/mkdir_p.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - string_count_chr
  - mem_count_chr
  - string_has_ctrl_or_space
  - has_dotdot_after_at
  - has_invalid_email_chars
  - is_valid_mailbox_mem
  - is_valid_mailbox
  - mailbox_from_userid
  - is_valid_user_id
  - is_valid_domain_name
  source_file: /src/gnupg/common/mbox-util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/userids.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/audit.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*audit_ctx_t'
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/gnupg/common/audit.h
      type: audit_ctx_s
    union: []
- function_names: []
  source_file: /src/gnupg/common/utilproto.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tohex
  - hex2bin
  - hexcolon2bin
  - do_bin2hex
  - bin2hex
  - bin2hexcolon
  - hex2str
  - hex2str_alloc
  - hex2fixedbuf
  source_file: /src/gnupg/common/convert.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/fwddecl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*ctrl_t'
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/gnupg/common/fwddecl.h
      type: server_control_s
    union: []
- function_names: []
  source_file: /src/gnupg/common/name-value.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*nvc_t'
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/gnupg/common/name-value.h
      type: name_value_container
    - item_type: typedef
      name: '*nve_t'
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/gnupg/common/name-value.h
      type: name_value_entry
    union: []
- function_names: []
  source_file: /src/gnupg/common/gettime.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GNUPG_ISOTIME_NONE
      pos:
        line_end: 44
        line_start: 42
        source_file: /src/gnupg/common/gettime.h
      type_or_value: '"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"'
    structs: []
    typedefs:
    - item_type: typedef
      name: gnupg_isotime_t[16]
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/gnupg/common/gettime.h
      type: char
    union: []
- function_names:
  - IS_INVALID_TIME_T
  - IS_INVALID_TIME_T
  - timegm
  - timegm_u64
  - gnupg_get_time
  - gnupg_gmtime
  - gnupg_get_isotime
  - gnupg_set_time
  - gnupg_faked_time_p
  - make_timestamp
  - scan_secondsstr
  - scan_isodatestr
  - isotime_p
  - isotime_human_p
  - string2isotime
  - isotime_make_tm
  - isotime2epoch
  - isotime2epoch_u64
  - epoch2isotime
  - isodate_human_to_tm
  - parse_timestamp
  - add_days_to_timestamp
  - strtimevalue
  - elapsed_time_string
  - strtimestamp
  - isotimestamp
  - asctimestamp
  - rfctimestamp
  - days_per_year
  - days_per_month
  - date2jd
  - jd2date
  - check_isotime
  - dump_isotime
  - gnupg_copy_time
  - add_seconds_to_isotime
  - add_days_to_isotime
  source_file: /src/gnupg/common/gettime.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: JD_DIFF
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/gnupg/common/gettime.c
      type_or_value: 1721060L
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_strlist_rev
  - test_tokenize_to_strlist
  - main
  source_file: /src/gnupg/common/t-strlist.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*s'
        type: char
      - name: '*delim'
        type: char
      - name: error_expected
        type: int
      - name: '*items_expected[10]'
        type: char
      item_type: struct
      name: "tv[] = {\n    {\n      \"\", \":\",\n      1, { NULL }\n    },\n    {\n
        \     \"a\", \":\",\n      0, { \"a\", NULL }\n    },\n    {\n      \":\",
        \":\",\n      1, { NULL }\n    },\n    {\n      \"::\", \":\",\n      1, {
        NULL }\n    },\n    {\n      \"a:b:c\", \":\",\n      0, { \"a\", \"b\", \"c\",
        NULL }\n    },\n    {\n      \"a:b:\", \":\",\n      0, { \"a\", \"b\", NULL
        }\n    },\n    {\n      \"a:b\", \":\",\n      0, { \"a\", \"b\", NULL }\n
        \   },\n    {\n      \"aa:b:cd\", \":\",\n      0, { \"aa\", \"b\", \"cd\",
        NULL }\n    },\n    {\n      \"aa::b:cd\", \":\",\n      0, { \"aa\", \"b\",
        \"cd\", NULL }\n    },\n    {\n      \"::b:cd\", \":\",\n      0, { \"b\",
        \"cd\", NULL }\n    },\n    {\n      \"aa:   : b:cd \", \":\",\n      0, {
        \"aa\", \"b\", \"cd\", NULL }\n    },\n    {\n      \"  aa:   : b:  cd \",
        \":\",\n      0, { \"aa\", \"b\", \"cd\", NULL }\n    },\n    {\n      \"
        \ :\", \":\",\n      1, { NULL }\n    },\n    {\n      \"  : \", \":\",\n
        \     1, { NULL }\n    },\n    {\n      \": \", \":\",\n      1, { NULL }\n
        \   },\n    {\n      \": x \", \":\",\n      0, { \"x\", NULL }\n    },\n
        \   {\n      \"a:bc:cde:fghi:jklmn::foo:\", \":\",\n      0, { \"a\", \"bc\",
        \"cde\", \"fghi\", \"jklmn\", \"foo\", NULL }\n    },\n    {\n      \",a,bc,,def,\",
        \",\",\n      0, { \"a\", \"bc\", \"def\", NULL }\n    },\n    {\n      \"
        a \", \" \",\n      0, { \"a\", NULL }\n    },\n    {\n      \" \", \" \",\n
        \     1, { NULL }\n    },\n    {\n      \"a:bc:c de:fg   hi:jklmn::foo :\",
        \":\",\n      0, { \"a\", \"bc\", \"c de\", \"fg   hi\", \"jklmn\", \"foo\",
        NULL }\n    },\n    {\n      \"\", \" \",\n      1, { NULL }\n    }\n  }"
      pos:
        line_end: 82
        line_start: 77
        source_file: /src/gnupg/common/t-strlist.c
    typedefs: []
    union: []
- function_names:
  - BUG
  - bug_at
  - BUG
  - bug_at
  - return_if_fail
  - return_null_if_fail
  - return_val_if_fail
  - never_reached
  source_file: /src/gnupg/common/logging.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - gethome
  - mygetcwd
  - test_percent_escape
  - test_compare_filenames
  - test_strconcat
  - test_xstrconcat
  - test_make_filename_try
  - test_make_absfilename_try
  - test_strsplit
  - test_strtokenize
  - test_strtokenize_nt
  - test_split_fields
  - test_split_fields_colon
  - stresc
  - test_format_text
  - test_compare_version_strings
  - test_replace_substr
  - test_substitute_envvars
  - main
  source_file: /src/gnupg/common/t-stringhelp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*extra'
        type: char
      - name: '*value'
        type: char
      - name: '*expected'
        type: char
      item_type: struct
      name: "tests[] =\n    {\n      { NULL, \"\", \"\" },\n      { NULL, \"%\", \"%25\"
        },\n      { NULL, \"%%\", \"%25%25\" },\n      { NULL, \" %\", \" %25\" },\n
        \     { NULL, \":\", \"%3a\" },\n      { NULL, \" :\", \" %3a\" },\n      {
        NULL, \": \", \"%3a \" },\n      { NULL, \" : \", \" %3a \" },\n      { NULL,
        \"::\", \"%3a%3a\" },\n      { NULL, \": :\", \"%3a %3a\" },\n      { NULL,
        \"%:\", \"%25%3a\" },\n      { NULL, \":%\", \"%3a%25\" },\n      { \"\\\\\\n:\",
        \":%\", \"%3a%25\" },\n      { \"\\\\\\n:\", \"\\\\:%\", \"%5c%3a%25\" },\n
        \     { \"\\\\\\n:\", \"\\n:%\", \"%0a%3a%25\" },\n      { \"\\\\\\n:\", \"\\xff:%\",
        \"\\xff%3a%25\" },\n      { \"\\\\\\n:\", \"\\xfe:%\", \"\\xfe%3a%25\" },\n
        \     { \"\\\\\\n:\", \"\\x01:%\", \"\\x01%3a%25\" },\n      { \"\\x01\",
        \ \"\\x01:%\", \"%01%3a%25\" },\n      { \"\\xfe\",  \"\\xfe:%\", \"%fe%3a%25\"
        },\n      { \"\\xfe\",  \"\\xff:%\", \"\\xff%3a%25\" },\n\n      { NULL, NULL,
        NULL }\n    }"
      pos:
        line_end: 115
        line_start: 111
        source_file: /src/gnupg/common/t-stringhelp.c
    - fields:
      - name: '*a'
        type: char
      - name: '*b'
        type: char
      - name: result
        type: int
      item_type: struct
      name: "tests[] = {\n    { \"\", \"\", 0 },\n    { \"\", \"a\", -1 },\n    {
        \"a\", \"\", 1 },\n    { \"a\", \"a\", 0 },\n    { \"a\", \"aa\", -1 },\n
        \   { \"aa\", \"a\", 1 },\n    { \"a\",  \"b\", -1  },\n\n#ifdef HAVE_W32_SYSTEM\n
        \   { \"a\", \"A\", 0 },\n    { \"A\", \"a\", 0 },\n    { \"foo/bar\", \"foo\\\\bar\",
        0 },\n    { \"foo\\\\bar\", \"foo/bar\", 0 },\n    { \"foo\\\\\", \"foo/\",
        0 },\n    { \"foo/\", \"foo\\\\\", 0 },\n#endif /*HAVE_W32_SYSTEM*/\n    {
        NULL, NULL, 0}\n  }"
      pos:
        line_end: 166
        line_start: 162
        source_file: /src/gnupg/common/t-stringhelp.c
    - fields:
      - name: '*s'
        type: char
      - name: delim
        type: char
      - name: replacement
        type: char
      - name: '*fields_expected[10]'
        type: char
      item_type: struct
      name: "tv[] = {\n    {\n      \"a:bc:cde:fghi:jklmn::foo:\", ':', '\\0',\n      {
        \"a\", \"bc\", \"cde\", \"fghi\", \"jklmn\", \"\", \"foo\", \"\", NULL }\n
        \   },\n    {\n      \",a,bc,,def,\", ',', '!',\n      { \"!a!bc!!def!\",
        \"a!bc!!def!\", \"bc!!def!\", \"!def!\", \"def!\", \"\", NULL }\n    },\n
        \   {\n      \"\", ':', ',',\n      { \"\", NULL }\n    }\n  }"
      pos:
        line_end: 500
        line_start: 495
        source_file: /src/gnupg/common/t-stringhelp.c
    - fields:
      - name: '*s'
        type: char
      - name: '*delim'
        type: char
      - name: '*fields_expected[10]'
        type: char
      item_type: struct
      name: "tv[] = {\n    {\n      \"\", \":\",\n      { \"\", NULL }\n    },\n    {\n
        \     \"a\", \":\",\n      { \"a\", NULL }\n    },\n    {\n      \":\", \":\",\n
        \     { \"\", \"\", NULL }\n    },\n    {\n      \"::\", \":\",\n      { \"\",
        \"\", \"\", NULL }\n    },\n    {\n      \"a:b:c\", \":\",\n      { \"a\",
        \"b\", \"c\", NULL }\n    },\n    {\n      \"a:b:\", \":\",\n      { \"a\",
        \"b\", \"\", NULL }\n    },\n    {\n      \"a:b\", \":\",\n      { \"a\",
        \"b\", NULL }\n    },\n    {\n      \"aa:b:cd\", \":\",\n      { \"aa\", \"b\",
        \"cd\", NULL }\n    },\n    {\n      \"aa::b:cd\", \":\",\n      { \"aa\",
        \"\", \"b\", \"cd\", NULL }\n    },\n    {\n      \"::b:cd\", \":\",\n      {
        \"\", \"\", \"b\", \"cd\", NULL }\n    },\n    {\n      \"aa:   : b:cd \",
        \":\",\n      { \"aa\", \"\", \"b\", \"cd\", NULL }\n    },\n    {\n      \"
        \ aa:   : b:  cd \", \":\",\n      { \"aa\", \"\", \"b\", \"cd\", NULL }\n
        \   },\n    {\n      \"  \", \":\",\n      { \"\", NULL }\n    },\n    {\n
        \     \"  :\", \":\",\n      { \"\", \"\", NULL }\n    },\n    {\n      \"
        \ : \", \":\",\n      { \"\", \"\", NULL }\n    },\n    {\n      \": \", \":\",\n
        \     { \"\", \"\", NULL }\n    },\n    {\n      \": x \", \":\",\n      {
        \"\", \"x\", NULL }\n    },\n    {\n      \"a:bc:cde:fghi:jklmn::foo:\", \":\",\n
        \     { \"a\", \"bc\", \"cde\", \"fghi\", \"jklmn\", \"\", \"foo\", \"\",
        NULL }\n    },\n    {\n      \",a,bc,,def,\", \",\",\n      { \"\", \"a\",
        \"bc\", \"\", \"def\", \"\", NULL }\n    },\n    {\n      \" a \", \" \",\n
        \     { \"\", \"a\", \"\", NULL }\n    },\n    {\n      \" \", \" \",\n      {
        \"\", \"\", NULL }\n    },\n    {\n      \"\", \" \",\n      { \"\", NULL
        }\n    }\n  }"
      pos:
        line_end: 561
        line_start: 557
        source_file: /src/gnupg/common/t-stringhelp.c
    - fields:
      - name: '*s'
        type: char
      - name: '*delim'
        type: char
      - name: '*fields_expected[10]'
        type: char
      item_type: struct
      name: "tv[] = {\n    {\n      \"\", \":\",\n      { \"\", NULL }\n    },\n    {\n
        \     \"a\", \":\",\n      { \"a\", NULL }\n    },\n    {\n      \":\", \":\",\n
        \     { \"\", \"\", NULL }\n    },\n    {\n      \"::\", \":\",\n      { \"\",
        \"\", \"\", NULL }\n    },\n    {\n      \"a:b:c\", \":\",\n      { \"a\",
        \"b\", \"c\", NULL }\n    },\n    {\n      \"a:b:\", \":\",\n      { \"a\",
        \"b\", \"\", NULL }\n    },\n    {\n      \"a:b\", \":\",\n      { \"a\",
        \"b\", NULL }\n    },\n    {\n      \"aa:b:cd\", \":\",\n      { \"aa\", \"b\",
        \"cd\", NULL }\n    },\n    {\n      \"aa::b:cd\", \":\",\n      { \"aa\",
        \"\", \"b\", \"cd\", NULL }\n    },\n    {\n      \"::b:cd\", \":\",\n      {
        \"\", \"\", \"b\", \"cd\", NULL }\n    },\n    {\n      \"aa:   : b:cd \",
        \":\",\n      { \"aa\", \"   \", \" b\", \"cd \", NULL }\n    },\n    {\n
        \     \"  aa:   : b:  cd \", \":\",\n      { \"  aa\", \"   \", \" b\", \"
        \ cd \", NULL }\n    },\n    {\n      \"  \", \":\",\n      { \"  \", NULL
        }\n    },\n    {\n      \"  :\", \":\",\n      { \"  \", \"\", NULL }\n    },\n
        \   {\n      \"  : \", \":\",\n      { \"  \", \" \", NULL }\n    },\n    {\n
        \     \": \", \":\",\n      { \"\", \" \", NULL }\n    },\n    {\n      \":
        x \", \":\",\n      { \"\", \" x \", NULL }\n    },\n    {\n      \"a:bc:cde:fghi:jklmn::foo:\",
        \":\",\n      { \"a\", \"bc\", \"cde\", \"fghi\", \"jklmn\", \"\", \"foo\",
        \"\", NULL }\n    },\n    {\n      \",a,bc,,def,\", \",\",\n      { \"\",
        \"a\", \"bc\", \"\", \"def\", \"\", NULL }\n    },\n    {\n      \" a \",
        \" \",\n      { \"\", \"a\", \"\", NULL }\n    },\n    {\n      \" \", \"
        \",\n      { \"\", \"\", NULL }\n    },\n    {\n      \"\", \" \",\n      {
        \"\", NULL }\n    }\n  }"
      pos:
        line_end: 699
        line_start: 695
        source_file: /src/gnupg/common/t-stringhelp.c
    - fields:
      - name: '*s'
        type: char
      - name: nfields
        type: int
      - name: '*fields_expected[10]'
        type: char
      item_type: struct
      name: "tv[] = {\n    {\n      \"a bc cde fghi jklmn   foo \", 6,\n      { \"a\",
        \"bc\", \"cde\", \"fghi\", \"jklmn\", \"foo\", NULL }\n    },\n    {\n      \"
        a bc  def \", 2,\n      { \"a\", \"bc\", \"def\", NULL }\n    },\n    {\n
        \     \" a bc  def \", 3,\n      { \"a\", \"bc\", \"def\", NULL }\n    },\n
        \   {\n      \" a bc  def \", 4,\n      { \"a\", \"bc\", \"def\", NULL }\n
        \   },\n    {\n      \"\", 0,\n      { NULL }\n    }\n  }"
      pos:
        line_end: 837
        line_start: 833
        source_file: /src/gnupg/common/t-stringhelp.c
    - fields:
      - name: '*s'
        type: char
      - name: nfields
        type: int
      - name: '*fields_expected[10]'
        type: char
      item_type: struct
      name: "tv[] = {\n    {\n      \"a:bc:cde:fghi:jklmn:  foo \", 6,\n      { \"a\",
        \"bc\", \"cde\", \"fghi\", \"jklmn\", \"  foo \", NULL }\n    },\n    {\n
        \     \" a:bc: def \", 2,\n      { \" a\", \"bc\", NULL }\n    },\n    {\n
        \     \" a:bc :def \", 3,\n      { \" a\", \"bc \", \"def \", NULL }\n    },\n
        \   {\n      \" a:bc: def \", 4,\n      { \" a\", \"bc\", \" def \", NULL
        }\n    },\n    {\n      \"\", 0,\n      { NULL }\n    }\n  }"
      pos:
        line_end: 912
        line_start: 908
        source_file: /src/gnupg/common/t-stringhelp.c
    - fields:
      - name: target_cols
        type: int
      - name: '*input'
        type: char
      - name: '*expected'
        type: char
      item_type: struct
      name: test
      pos:
        line_end: 1021
        line_start: 1016
        source_file: /src/gnupg/common/t-stringhelp.c
    - fields:
      - name: '*a'
        type: char
      - name: '*b'
        type: char
      - name: okay
        type: int
      item_type: struct
      name: "tests[] = {\n    { \"1.0.0\",   \"1.0.0\", 0 },\n    { \"1.0.0-\",  \"1.0.0\",
        1 },\n    { \"1.0.0-1\", \"1.0.0\", 1 },\n    { \"1.0.0.1\", \"1.0.0\", 1
        },\n    { \"1.0.0\",   \"1.0.1\", -1 },\n    { \"1.0.0-\",  \"1.0.1\", -1
        },\n    { \"1.0.0-1\", \"1.0.1\", -1 },\n    { \"1.0.0.1\", \"1.0.1\", -1
        },\n    { \"1.0.0\",   \"1.1.0\", -1 },\n    { \"1.0.0-\",  \"1.1.0\", -1
        },\n    { \"1.0.0-1\", \"1.1.0\", -1 },\n    { \"1.0.0.1\", \"1.1.0\", -1
        },\n\n    { \"1.0.0\",   \"1.0.0-\", -1 },\n    { \"1.0.0\",   \"1.0.0-1\",
        -1 },\n    { \"1.0.0\",   \"1.0.0.1\", -1 },\n    { \"1.1.0\",   \"1.0.0\",
        1 },\n    { \"1.1.1\",   \"1.1.0\", 1 },\n    { \"1.1.2\",   \"1.1.2\", 0
        },\n    { \"1.1.2\",   \"1.0.2\", 1 },\n    { \"1.1.2\",   \"0.0.2\", 1 },\n
        \   { \"1.1.2\",   \"1.1.3\", -1 },\n\n    { \"0.99.1\",  \"0.9.9\", 1 },\n
        \   { \"0.9.1\",   \"0.91.0\", -1 },\n\n    { \"1.5.3\",   \"1.5\",  1 },\n
        \   { \"1.5.0\",   \"1.5\",  0 },\n    { \"1.4.99\",  \"1.5\",  -1 },\n    {
        \"1.5\",     \"1.4.99\",  1 },\n    { \"1.5\",     \"1.5.0\",  0 },\n    {
        \"1.5\",     \"1.5.1\",  -1 },\n\n    { \"1.5.3-x17\",   \"1.5-23\",  1 },\n\n
        \   { \"1.5.3a\",   \"1.5.3\",  1 },\n    { \"1.5.3a\",   \"1.5.3b\",  -1
        },\n\n    { \"3.1.4-ab\", \"3.1.4-ab\", 0 },\n    { \"3.1.4-ab\", \"3.1.4-ac\",
        -1 },\n    { \"3.1.4-ac\", \"3.1.4-ab\", 1 },\n    { \"3.1.4-ab\", \"3.1.4-abb\",
        -1 },\n    { \"3.1.4-abb\", \"3.1.4-ab\", 1 },\n\n    { \"\",       \"\",
        \  INT_MIN },\n    { NULL,     \"\",   INT_MIN },\n    { \"1.2.3\",  \"\",
        \  INT_MIN },\n    { \"1.2.3\",  \"2\",  INT_MIN },\n\n    /* Test cases for
        validity of A.  */\n    { \"\",      NULL, INT_MIN },\n    { \"1\",     NULL,
        INT_MIN },\n    { \"1.\",    NULL, 0       },\n    { \"1.0\",   NULL, 0       },\n
        \   { \"1.0.\",  NULL, 0       },\n    { \"a1.2\",  NULL, INT_MIN },\n    {
        NULL,    NULL, INT_MIN }\n  }"
      pos:
        line_end: 1130
        line_start: 1130
        source_file: /src/gnupg/common/t-stringhelp.c
    - fields:
      - name: '*string'
        type: char
      - name: '*substr'
        type: char
      - name: '*replace'
        type: char
      - name: '*result'
        type: char
      item_type: struct
      name: "t[] = {\n    { \"Look afar and see the end from the beginning.\",\n      \"see
        \",\n      \"view \",\n      \"Look afar and view the end from the beginning.\"\n
        \   },\n    { \"Look afar and see the end from the beginning.\",\n      \"see
        \",\n      \"xxx \",\n      \"Look afar and xxx the end from the beginning.\"\n
        \   },\n    { \"Look afar and see the end from the beginning.\",\n      \"see
        \",\n      \"xx \",\n      \"Look afar and xx the end from the beginning.\"\n
        \   },\n    { \"Look afar and see the end from the beginning.\",\n      \"see
        \",\n      \"x \",\n      \"Look afar and x the end from the beginning.\"\n
        \   },\n    { \"Look afar and see the end from the beginning.\",\n      \"see
        \",\n      \" \",\n      \"Look afar and  the end from the beginning.\"\n
        \   },\n    { \"Look afar and see the end from the beginning.\",\n      \"see
        \",\n      \"\",\n      \"Look afar and the end from the beginning.\"\n    },\n
        \   { \"Be different: conform.\",\n      \"\",\n      \"xxx\",\n      \"xxxBe
        different: conform.\"\n    },\n    { \"Be different: conform.\",\n      \"foo\",\n
        \     \"bar\",\n      \"Be different: conform.\"\n    },\n    { \"Be different:
        conform.\",\n      \"different\",\n      \"unlike\",\n      \"Be unlike: conform.\"\n
        \   },\n    { \"Be different: conform.\",\n      \"B\",\n      \"Bee\",\n
        \     \"Beee different: conform.\"\n    },\n    { \"Be different: conform.\",\n
        \     \".\",\n      \"\",\n      \"Be different: conform\"\n    },\n    {
        \"Be different: conform.\",\n      \".\",\n      \"!\",\n      \"Be different:
        conform!\"\n    },\n    { \"Be different: conform.\",\n      \".\",\n      \"...\",\n
        \     \"Be different: conform...\"\n    },\n    { \"Be different: conform.\",\n
        \     \":\",\n      \" - this is a very long replacement string - \",\n      \"Be
        different - this is a very long replacement string -  conform.\"\n    },\n
        \   { \"\",\n      \"\",\n      \"\",\n      \"\"\n    }\n  }"
      pos:
        line_end: 1211
        line_start: 1206
        source_file: /src/gnupg/common/t-stringhelp.c
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: "envvars[] = {\n    { \"HOME\", \"/home/joe\" },\n    { \"AVAR\",  \"avar\"
        },\n    { \"AVAR1\", \"avarx\" },\n    { \"AVAR2\", \"avarxy\" },\n    { \"AVAR3\",
        \"avarxyz\" },\n    { \"AVAR0\", \"ava\" },\n    { \"MY_VAR\", \"my_vars_value\"
        },\n    { \"STRANGE{X}VAR\", \"strange{x}vars-value\" },\n    { \"ZERO\",
        \ \"\" }\n  }"
      pos:
        line_end: 1320
        line_start: 1317
        source_file: /src/gnupg/common/t-stringhelp.c
    - fields:
      - name: '*string'
        type: char
      - name: '*result'
        type: char
      item_type: struct
      name: "tests[] = {\n    { \"foo bar\",\n      \"foo bar\"\n    },\n    { \"foo
        $HOME\",\n      \"foo /home/joe\"\n    },\n    { \"foo $HOME \",\n      \"foo
        /home/joe \"\n    },\n    { \"foo $HOME$$\",\n      \"foo /home/joe$\"\n    },\n
        \   { \"foo ${HOME}/.ssh\",\n      \"foo /home/joe/.ssh\"\n    },\n    { \"foo
        $HOME/.ssh\",\n      \"foo /home/joe/.ssh\"\n    },\n    { \"foo $HOME_/.ssh\",\n
        \     \"foo /.ssh\"\n    },\n    { \"foo $HOME/.ssh/$MY_VAR:1\",\n      \"foo
        /home/joe/.ssh/my_vars_value:1\"\n    },\n    { \"foo $HOME${MY_VAR}:1\",\n
        \     \"foo /home/joemy_vars_value:1\"\n    },\n    { \"${STRANGE{X}VAR}-bla\",\n
        \     \"strange{x}vars-value-bla\"\n    },\n    { \"${STRANGE{X}{VAR}-bla\",
        /* missing \"}\" */\n      \"${STRANGE{X}{VAR}-bla\"\n    },\n    { \"zero->$ZERO<-\",\n
        \     \"zero-><-\"\n    },\n    { \"->$AVAR.$AVAR1.$AVAR2.$AVAR3.$AVAR0<-\",\n
        \     \"->avar.avarx.avarxy.avarxyz.ava<-\"\n    },\n    { \"\",\n      \"\"\n
        \   }\n  }"
      pos:
        line_end: 1334
        line_start: 1331
        source_file: /src/gnupg/common/t-stringhelp.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/server-help.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fd_cache_strcmp
  - fd_cache_invalidate
  - fd_cache_synchronize
  - direct_open
  - fd_cache_close
  - fd_cache_open
  - file_filter
  - file_es_filter
  - sock_filter
  - block_filter
  - iobuf_set_buffer_size
  - iobuf_desc
  - print_chain
  - iobuf_print_chain
  - iobuf_alloc
  - iobuf_close
  - iobuf_cancel
  - iobuf_temp
  - iobuf_temp_with_content
  - iobuf_is_pipe_filename
  - do_open
  - iobuf_open
  - iobuf_create
  - iobuf_openrw
  - do_iobuf_fdopen
  - iobuf_fdopen
  - iobuf_fdopen_nc
  - iobuf_esopen
  - iobuf_sockopen
  - iobuf_ioctl
  - iobuf_push_filter
  - iobuf_push_filter2
  - iobuf_pop_filter
  - underflow
  - underflow_target
  - filter_flush
  - iobuf_readbyte
  - iobuf_read
  - iobuf_peek
  - iobuf_writebyte
  - iobuf_write
  - iobuf_writestr
  - iobuf_write_temp
  - iobuf_temp_to_buffer
  - iobuf_copy
  - iobuf_flush_temp
  - iobuf_set_limit
  - iobuf_get_filelength
  - iobuf_get_fd
  - iobuf_tell
  - fseeko
  - iobuf_seek
  - iobuf_get_real_fname
  - iobuf_get_fname
  - iobuf_get_fname_nonnull
  - iobuf_set_partial_body_length_mode
  - iobuf_read_line
  - iobuf_skip_rest
  - is_openpgp_compressed_packet
  - is_file_compressed
  source_file: /src/gnupg/common/iobuf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_IOBUF_BUFFER_SIZE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/gnupg/common/iobuf.c
      type_or_value: (64*1024)
    - item_type: preproc_def
      name: MAX_NESTING_FILTER
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/gnupg/common/iobuf.c
      type_or_value: '64'
    - item_type: preproc_def
      name: IOBUF_ZEROCOPY_THRESHOLD_SIZE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/gnupg/common/iobuf.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: FD_FOR_STDIN
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/gnupg/common/iobuf.c
      type_or_value: (GetStdHandle (STD_INPUT_HANDLE))
    - item_type: preproc_def
      name: FD_FOR_STDOUT
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/gnupg/common/iobuf.c
      type_or_value: (GetStdHandle (STD_OUTPUT_HANDLE))
    - item_type: preproc_def
      name: FD_FOR_STDIN
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/gnupg/common/iobuf.c
      type_or_value: (0)
    - item_type: preproc_def
      name: FD_FOR_STDOUT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/gnupg/common/iobuf.c
      type_or_value: (1)
    - item_type: preproc_def
      name: OP_MIN_PARTIAL_CHUNK
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/gnupg/common/iobuf.c
      type_or_value: '512'
    - item_type: preproc_def
      name: OP_MIN_PARTIAL_CHUNK_2POW
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/gnupg/common/iobuf.c
      type_or_value: '9'
    - item_type: preproc_def
      name: MAX_IOBUF_DESC
      pos:
        line_end: 1229
        line_start: 1228
        source_file: /src/gnupg/common/iobuf.c
      type_or_value: '32'
    - item_type: preproc_def
      name: LONG_MAX
      pos:
        line_end: 2685
        line_start: 2684
        source_file: /src/gnupg/common/iobuf.c
      type_or_value: ((long) ((unsigned long) -1 >> 1))
    - item_type: preproc_def
      name: LONG_MIN
      pos:
        line_end: 2688
        line_start: 2687
        source_file: /src/gnupg/common/iobuf.c
      type_or_value: (-1 - LONG_MAX)
    structs:
    - fields:
      - name: fp
        type: gnupg_fd_t
      - name: keep_open
        type: int
      - name: no_cache
        type: int
      - name: eof_seen
        type: int
      - name: delayed_rc
        type: int
      - name: print_only_name
        type: int
      - name: peeked[32]
        type: char
      - name: npeeked
        type: byte
      - name: upeeked
        type: byte
      - name: fname[1]
        type: char
      item_type: struct
      name: file_filter_ctx_t
      pos:
        line_end: 101
        line_start: 89
        source_file: /src/gnupg/common/iobuf.c
    - fields:
      - name: fp
        type: estream_t
      - name: keep_open
        type: int
      - name: no_cache
        type: int
      - name: eof_seen
        type: int
      - name: use_readlimit
        type: int
      - name: readlimit
        type: size_t
      - name: print_only_name
        type: int
      - name: fname[1]
        type: char
      item_type: struct
      name: file_es_filter_ctx_t
      pos:
        line_end: 114
        line_start: 104
        source_file: /src/gnupg/common/iobuf.c
    - fields:
      - name: '*next'
        type: struct close_cache_s
      - name: fp
        type: gnupg_fd_t
      - name: fname[1]
        type: char
      item_type: struct
      name: close_cache_s
      pos:
        line_end: 123
        line_start: 118
        source_file: /src/gnupg/common/iobuf.c
    - fields:
      - name: sock
        type: int
      - name: keep_open
        type: int
      - name: no_cache
        type: int
      - name: eof_seen
        type: int
      - name: print_only_name
        type: int
      - name: fname[1]
        type: char
      item_type: struct
      name: sock_filter_ctx_t
      pos:
        line_end: 140
        line_start: 131
        source_file: /src/gnupg/common/iobuf.c
    - fields:
      - name: use
        type: int
      - name: size
        type: size_t
      - name: count
        type: size_t
      - name: partial
        type: int
      - name: '*buffer'
        type: char
      - name: buflen
        type: size_t
      - name: first_c
        type: int
      - name: eof
        type: int
      item_type: struct
      name: block_filter_ctx_t
      pos:
        line_end: 161
        line_start: 151
        source_file: /src/gnupg/common/iobuf.c
    - fields:
      - name: len
        type: byte
      - name: extchk
        type: byte
      - name: magic[6]
        type: byte
      item_type: struct
      name: magic_compress_s
      pos:
        line_end: 3069
        line_start: 3064
        source_file: /src/gnupg/common/iobuf.c
    typedefs:
    - item_type: typedef
      name: '*close_cache_t'
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/gnupg/common/iobuf.c
      type: close_cache_s
    union: []
- function_names: []
  source_file: /src/gnupg/common/exechelp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - zb32_encode
  source_file: /src/gnupg/common/zb32.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/gc-opt-flags.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GC_OPT_FLAG_NONE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/gnupg/common/gc-opt-flags.h
      type_or_value: 0UL
    - item_type: preproc_def
      name: GC_OPT_FLAG_DEFAULT
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/gnupg/common/gc-opt-flags.h
      type_or_value: (1UL << 4)
    - item_type: preproc_def
      name: GC_OPT_FLAG_DEF_DESC
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/gnupg/common/gc-opt-flags.h
      type_or_value: (1UL << 5)
    - item_type: preproc_def
      name: GC_OPT_FLAG_NO_ARG_DESC
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/gnupg/common/gc-opt-flags.h
      type_or_value: (1UL << 6)
    - item_type: preproc_def
      name: GC_OPT_FLAG_NO_CHANGE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/common/gc-opt-flags.h
      type_or_value: (1UL <<7)
    structs: []
    typedefs: []
    union: []
- function_names:
  - strtoul
  - memmove
  - stricmp
  - isascii
  - STR
  - STR2
  source_file: /src/gnupg/common/stringhelp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_error_from_syserror
  - my_error
  - find_next_lc
  - recsel_parse_expr
  - recsel_release
  - recsel_set_debug
  - recsel_dump
  - recsel_select
  source_file: /src/gnupg/common/recsel.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: next
        type: recsel_expr_t
      - name: op
        type: select_op_t
      - name: not
        type: unsigned int
      - name: disjun
        type: unsigned int
      - name: xcase
        type: unsigned int
      - name: lefta
        type: unsigned int
      - name: '*value'
        type: char
      - name: numvalue
        type: long
      - name: name[1]
        type: char
      item_type: struct
      name: recsel_expr_s
      pos:
        line_end: 70
        line_start: 59
        source_file: /src/gnupg/common/recsel.c
    typedefs: []
    union: []
- function_names:
  - tcgetattr
  - tty_get_ttyname
  - cleanup
  - init_ttyfp
  - tty_batchmode
  - tty_no_terminal
  - w32_write_console
  - tty_printf
  - tty_fprintf
  - do_print_string
  - tty_print_utf8_string2
  - tty_print_utf8_string
  - do_get
  - tty_get
  - tty_getf
  - tty_get_hidden
  - tty_kill_prompt
  - tty_get_answer_is_yes
  - tty_private_set_rl_hooks
  - tty_read_history
  - tty_write_history
  - tty_enable_completion
  - tty_disable_completion
  - tty_cleanup_after_signal
  - tty_cleanup_rl_after_signal
  source_file: /src/gnupg/common/ttyio.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: termios
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/common/ttyio.c
      type_or_value: termio
    - item_type: preproc_def
      name: tcsetattr
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/common/ttyio.c
      type_or_value: ioctl
    - item_type: preproc_def
      name: TCSAFLUSH
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/gnupg/common/ttyio.c
      type_or_value: TCSETAF
    - item_type: preproc_def
      name: CONTROL_D
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/gnupg/common/ttyio.c
      type_or_value: ('D' - 'A' + 1)
    - item_type: preproc_def
      name: DEF_INPMODE
      pos:
        line_end: 78
        line_start: 76
        source_file: /src/gnupg/common/ttyio.c
      type_or_value: "(ENABLE_LINE_INPUT|ENABLE_ECHO_INPUT    \\\n                                       |ENABLE_PROCESSED_INPUT
        )"
    - item_type: preproc_def
      name: HID_INPMODE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/gnupg/common/ttyio.c
      type_or_value: (ENABLE_LINE_INPUT|ENABLE_PROCESSED_INPUT )
    - item_type: preproc_def
      name: DEF_OUTMODE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/gnupg/common/ttyio.c
      type_or_value: (ENABLE_WRAP_AT_EOL_OUTPUT|ENABLE_PROCESSED_OUTPUT)
    structs:
    - fields:
      - name: in
        type: HANDLE
      item_type: struct
      name: con
      pos:
        line_end: 75
        line_start: 73
        source_file: /src/gnupg/common/ttyio.c
    typedefs: []
    union: []
- function_names:
  - my_gcry_fatalerror_handler
  - my_gcry_outofcore_handler
  - setup_libgcrypt_logging
  - xoutofcore
  - xreallocarray
  - gnupg_cipher_algo_name
  - gnupg_cipher_mode_name
  - obsolete_option
  - print_fname_stdout
  - print_fname_stdin
  - do_print_utf8_buffer
  - print_utf8_buffer3
  - print_utf8_buffer2
  - print_utf8_buffer
  - print_utf8_string
  - print_hexstring
  - tohex
  - try_make_printable_string
  - make_printable_string
  - decode_c_string
  - DECODE_ONE
  - match_multistr
  - parse_version_number
  - parse_version_string
  - gnupg_compare_version
  - parse_debug_flag
  - parse_compatibility_flags
  - b64decode
  source_file: /src/gnupg/common/miscellaneous.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - percent_plus_escape
  - percent_data_escape
  - do_unescape
  - count_unescape
  - do_plus_or_plain_unescape
  - percent_plus_unescape
  - percent_unescape
  - do_unescape_inplace
  - percent_plus_unescape_inplace
  - percent_unescape_inplace
  source_file: /src/gnupg/common/percent.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/ccparray.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: count
        type: unsigned int
      - name: size
        type: unsigned int
      - name: out_of_core
        type: int
      - name: '**array'
        type: char
      item_type: struct
      name: _ccparray_private_s
      pos:
        line_end: 40
        line_start: 34
        source_file: /src/gnupg/common/ccparray.h
    typedefs:
    - item_type: typedef
      name: ccparray_t
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/gnupg/common/ccparray.h
      type: _ccparray_private_s
    union: []
- function_names:
  - _
  - digitp
  - hexdigitp
  - xtoi_1
  - xtoi_2
  - my_stpcpy
  - stpcpy
  - agent_send_option
  - agent_send_all_options
  - agent_open
  - copy_and_escape
  - simple_pw_set_socket
  - default_inq_cb
  - simple_pwquery
  - simple_pwclear
  - simple_query
  source_file: /src/gnupg/common/simple-pwquery.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIMPLE_PWQUERY_IMPLEMENTATION
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/gnupg/common/simple-pwquery.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SPWQ_OUT_OF_CORE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/common/simple-pwquery.c
      type_or_value: gpg_error_from_errno (ENOMEM)
    - item_type: preproc_def
      name: SPWQ_IO_ERROR
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/gnupg/common/simple-pwquery.c
      type_or_value: gpg_error_from_errno (EIO)
    - item_type: preproc_def
      name: SPWQ_PROTOCOL_ERROR
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/gnupg/common/simple-pwquery.c
      type_or_value: gpg_error (GPG_ERR_PROTOCOL_VIOLATION)
    - item_type: preproc_def
      name: SPWQ_ERR_RESPONSE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/gnupg/common/simple-pwquery.c
      type_or_value: gpg_error (GPG_ERR_INV_RESPONSE)
    - item_type: preproc_def
      name: SPWQ_NO_AGENT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/gnupg/common/simple-pwquery.c
      type_or_value: gpg_error (GPG_ERR_NO_AGENT)
    - item_type: preproc_def
      name: SPWQ_SYS_ERROR
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/gnupg/common/simple-pwquery.c
      type_or_value: gpg_error_from_syserror ()
    - item_type: preproc_def
      name: SPWQ_GENERAL_ERROR
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/gnupg/common/simple-pwquery.c
      type_or_value: gpg_error (GPG_ERR_GENERAL)
    - item_type: preproc_def
      name: SPWQ_NO_PIN_ENTRY
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/gnupg/common/simple-pwquery.c
      type_or_value: gpg_error (GPG_ERR_NO_PIN_ENTRY)
    structs: []
    typedefs: []
    union: []
- function_names:
  - iconv_open
  - iconv
  - iconv_close
  - handle_iconv_error
  - set_native_charset
  - get_native_charset
  - is_native_utf8
  - native_to_utf8
  - do_utf8_to_native
  - utf8_to_native
  - jnlib_iconv_open
  - jnlib_iconv
  - jnlib_iconv_close
  - wchar_to_cp
  - cp_to_wchar
  - get_w32_codepage
  - wchar_to_native
  - native_to_wchar
  - wchar_to_utf8
  - utf8_to_wchar
  source_file: /src/gnupg/common/utf8conv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_ENABLE_W32_ICONV_MACROS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/common/utf8conv.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MB_LEN_MAX
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/gnupg/common/utf8conv.c
      type_or_value: '16'
    structs: []
    typedefs:
    - item_type: typedef
      name: '*iconv_t'
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/gnupg/common/utf8conv.c
      type: void
    union: []
- function_names:
  - free_strlist
  - free_strlist_wipe
  - add_to_strlist
  - add_to_strlist_try
  - add_to_strlist2
  - append_to_strlist
  - do_append_to_strlist
  - append_to_strlist_try
  - append_to_strlist2
  - tokenize_to_strlist
  - strlist_copy
  - strlist_prev
  - strlist_last
  - strlist_pop
  - strlist_pop_try
  - strlist_find
  - strlist_length
  - strlist_rev
  source_file: /src/gnupg/common/strlist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fail
  - test_executing_true
  - test_executing_false
  - test_executing_cat
  - test_catting_cat
  - main
  source_file: /src/gnupg/common/t-exectool.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/get-passphrase.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_error
  - my_mpi_get_ui
  - screen_key_for_roca
  source_file: /src/gnupg/common/pkscreening.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: prime_ui
        type: unsigned int
      - name: '*print_hex'
        type: char
      - name: prime
        type: gcry_mpi_t
      - name: print
        type: gcry_mpi_t
      item_type: struct
      name: "table[] = {\n   { 3,   \"0x6\" },\n   { 5,   \"0x1E\" },\n   { 7,   \"0x7E\"
        },\n   { 11,  \"0x402\" },\n   { 13,  \"0x161A\" },\n   { 17,  \"0x1A316\"
        },\n   { 19,  \"0x30AF2\" },\n   { 23,  \"0x7FFFFE\" },\n   { 29,  \"0x1FFFFFFE\"
        },\n   { 31,  \"0x7FFFFFFE\" },\n   { 37,  \"0x4000402\"  },\n   { 41,  \"0x1FFFFFFFFFE\"
        },\n   { 43,  \"0x7FFFFFFFFFE\" },\n   { 47,  \"0x7FFFFFFFFFFE\" },\n   {
        53,  \"0x12DD703303AED2\" },\n   { 59,  \"0x7FFFFFFFFFFFFFE\" },\n   { 61,
        \ \"0x1434026619900B0A\" },\n   { 67,  \"0x7FFFFFFFFFFFFFFFE\" },\n   { 71,
        \ \"0x1164729716B1D977E\" },\n   { 73,  \"0x147811A48004962078A\" },\n   {
        79,  \"0xB4010404000640502\"   },\n   { 83,  \"0x7FFFFFFFFFFFFFFFFFFFE\" },\n
        \  { 89,  \"0x1FFFFFFFFFFFFFFFFFFFFFE\" },\n   { 97,  \"0x1000000006000001800000002\"
        },\n   { 101, \"0x1FFFFFFFFFFFFFFFFFFFFFFFFE\" },\n   { 103, \"0x16380E9115BD964257768FE396\"
        },\n   { 107, \"0x27816EA9821633397BE6A897E1A\" },\n   { 109, \"0x1752639F4E85B003685CBE7192BA\"
        },\n   { 113, \"0x1FFFFFFFFFFFFFFFFFFFFFFFFFFFE\" },\n   { 127, \"0x6CA09850C2813205A04C81430A190536\"
        },\n   { 131, \"0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE\" },\n   { 137, \"0x1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE\"
        },\n   { 139, \"0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE\" },\n   { 149, \"0x1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE\"
        },\n   { 151, \"0x50C018BC00482458DAC35B1A2412003D18030A\" },\n   { 157, \"0x161FB414D76AF63826461899071BD5BACA0B7E1A\"
        },\n   { 163, \"0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE\" },\n   { 167,
        \"0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE\" }\n  }"
      pos:
        line_end: 71
        line_start: 66
        source_file: /src/gnupg/common/pkscreening.c
    typedefs: []
    union: []
- function_names:
  - DIM
  - DIMof
  - SUN_LEN
  source_file: /src/gnupg/common/mischelp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PF_LOCAL
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/gnupg/common/mischelp.h
      type_or_value: PF_UNIX
    - item_type: preproc_def
      name: PF_LOCAL
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/gnupg/common/mischelp.h
      type_or_value: AF_UNIX
    - item_type: preproc_def
      name: AF_LOCAL
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/gnupg/common/mischelp.h
      type_or_value: AF_UNIX
    structs: []
    typedefs: []
    union: []
- function_names:
  - DIM
  - w32_strerror
  - cp_to_wchar
  - utf8_to_wchar
  - stpcpy
  - do_strconcat
  - strconcat
  - control_c_handler
  - ctrl_c_pending
  - die
  - inf
  - lock_info_cb
  - lock_and_unlock
  - main
  source_file: /src/gnupg/common/t-dotlock.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_DOSISH_SYSTEM
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/gnupg/common/t-dotlock.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_POSIX_SYSTEM
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/gnupg/common/t-dotlock.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/gnupg/common/t-dotlock.c
      type_or_value: '"t-dotlock"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - already_mapped
  - store_mapping
  - find_macro
  - map_static_macro_string
  - map_static_strings
  source_file: /src/gnupg/common/mapstrings.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: "macros[] = {\n#ifdef PACKAGE_BUGREPORT\n  { \"EMAIL\", PACKAGE_BUGREPORT
        },\n#else\n  { \"EMAIL\", \"bug@example.org\" },\n#endif\n  { \"GNUPG\",     GNUPG_NAME
        },\n  { \"GPG\",       GPG_NAME },\n  { \"GPGSM\",     GPGSM_NAME },\n  {
        \"GPG_AGENT\", GPG_AGENT_NAME },\n  { \"SCDAEMON\",  SCDAEMON_NAME },\n  {
        \"TPM2DAEMON\",TPM2DAEMON_NAME},\n  { \"DIRMNGR\",   DIRMNGR_NAME },\n  {
        \"G13\",       G13_NAME },\n  { \"GPGCONF\",   GPGCONF_NAME },\n  { \"GPGTAR\",
        \   GPGTAR_NAME }\n}"
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/gnupg/common/mapstrings.c
    - fields:
      - name: '*next'
        type: struct mapping_s
      - name: '*key'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: mapping_s
      pos:
        line_end: 67
        line_start: 62
        source_file: /src/gnupg/common/mapstrings.c
    - fields:
      - name: '*next'
        type: struct intmapping_s
      - name: key1
        type: int
      - name: key2
        type: int
      - name: '*string'
        type: char
      - name: domain[1]
        type: char
      item_type: struct
      name: intmapping_s
      pos:
        line_end: 79
        line_start: 72
        source_file: /src/gnupg/common/mapstrings.c
    typedefs: []
    union: []
- function_names:
  - pass
  - fail
  - listall
  - show_stdnames
  - test_all
  - main
  source_file: /src/gnupg/common/t-session-env.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _
  - N_
  - _
  - N_
  - N_
  - _
  - N_
  - ngettext
  - GNUPG_GCC_ATTR_FORMAT_ARG
  source_file: /src/gnupg/common/i18n.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/status.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/mbox-util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - xmalloc
  - every_other_filter
  - double_filter
  - content_filter_new
  - content_filter
  - main
  source_file: /src/gnupg/common/t-iobuf.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pos
        type: int
      - name: len
        type: int
      - name: '*buffer'
        type: char
      item_type: struct
      name: content_filter_state
      pos:
        line_end: 129
        line_start: 124
        source_file: /src/gnupg/common/t-iobuf.c
    typedefs: []
    union: []
- function_names:
  - test_map_static_macro_string
  - test_map_static_strings
  - main
  source_file: /src/gnupg/common/t-mapstrings.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*string'
        type: char
      - name: '*expected'
        type: char
      - name: '*lastresult'
        type: char
      item_type: struct
      name: "tests[] = {\n    { \"@GPG@ (@GNUPG@)\",\n      GPG_NAME \" (\" GNUPG_NAME
        \")\" },\n    { \"@GPG@(@GNUPG@)\",\n      GPG_NAME \"(\" GNUPG_NAME \")\"
        },\n    { \"@GPG@@GNUPG@\",\n      GPG_NAME  GNUPG_NAME },\n    { \" @GPG@@GNUPG@\",\n
        \     \" \" GPG_NAME  GNUPG_NAME },\n    { \" @GPG@@GNUPG@ \",\n      \" \"
        GPG_NAME  GNUPG_NAME \" \" },\n    { \" @GPG@GNUPG@ \",\n      \" \" GPG_NAME
        \"GNUPG@ \" },\n    { \" @ GPG@GNUPG@ \",\n      \" @ GPG\" GNUPG_NAME \"
        \" },\n    { \"--@GPGTAR@\",\n      \"--\" GPGTAR_NAME }\n  }"
      pos:
        line_end: 44
        line_start: 40
        source_file: /src/gnupg/common/t-mapstrings.c
    typedefs: []
    union: []
- function_names:
  - _tlv_parser_dump_tag
  - _tlv_parser_dump_state
  - dump_to_file
  - parse_tag
  - tlv_parse_tag
  - _tlv_parser_new
  - _tlv_parser_release
  - _tlv_push
  - _tlv_pop
  - _tlv_parser_next
  - tlv_parser_level
  - tlv_parser_offset
  - tlv_parser_lastfunc
  - tlv_parser_lasterrstr
  - tlv_parser_set_pending
  - tlv_parser_tag_length
  - tlv_parser_skip
  - tlv_expect_sequence
  - tlv_expect_context_tag
  - tlv_expect_set
  - tlv_expect_object
  - tlv_expect_octet_string
  - tlv_expect_integer
  - tlv_expect_mpinteger
  - tlv_expect_object_id
  - tlv_expect_null
  - cram_octet_string
  source_file: /src/gnupg/common/tlv-parser.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLV_MAX_DEPTH
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/common/tlv-parser.c
      type_or_value: '25'
    structs:
    - fields:
      - name: '*origbuffer'
        type: unsigned char
      - name: origbufsize
        type: size_t
      - name: origoff
        type: size_t
      - name: lasttlv
        type: tlv_parser_t
      - name: '*buffer'
        type: unsigned char
      - name: bufsize
        type: size_t
      - name: crammed
        type: size_t
      - name: in_ndef
        type: int
      - name: pending
        type: int
      - name: ti
        type: struct tag_info
      - name: lasterr
        type: gpg_error_t
      - name: '*lastfunc'
        type: char
      - name: verbosity
        type: int
      - name: stacklen
        type: unsigned int
      - name: stack[TLV_MAX_DEPTH]
        type: "struct {\n    unsigned char *buffer;        /* Saved value of BUFFER.
          \  */\n    size_t bufsize;               /* Saved value of BUFSIZE.  */\n
          \   size_t length;                /* Length of the container (ti.length).
          */\n    size_t crammed;               /* Saved CRAMMED value.                 */\n
          \   int    in_ndef;               /* Saved IN_NDEF flag (ti.ndef).        */\n
          \ }"
      item_type: struct
      name: tlv_parser_s
      pos:
        line_end: 70
        line_start: 36
        source_file: /src/gnupg/common/tlv-parser.c
    typedefs: []
    union: []
- function_names:
  - pass
  - fail
  - run_mbox_test
  - run_mbox_no_sub_test
  - run_dns_test
  - run_filter
  - main
  source_file: /src/gnupg/common/t-mbox-util.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/gnupg/common/t-mbox-util.c
      type_or_value: '"t-mbox-util"'
    structs:
    - fields:
      - name: '*userid'
        type: char
      - name: '*mbox'
        type: char
      item_type: struct
      name: "testtbl[] =\n    {\n      { \"Werner Koch <wk@gnupg.org>\", \"wk@gnupg.org\"
        },\n      { \"<wk@gnupg.org>\", \"wk@gnupg.org\" },\n      { \"wk@gnupg.org\",
        \"wk@gnupg.org\" },\n      { \"wk@gnupg.org \", NULL },\n      { \" wk@gnupg.org\",
        NULL },\n      { \"Werner Koch (test) <wk@gnupg.org>\", \"wk@gnupg.org\" },\n
        \     { \"Werner Koch <wk@gnupg.org> (test)\", \"wk@gnupg.org\" },\n      {
        \"Werner Koch <wk@gnupg.org (test)\", NULL },\n      { \"Werner Koch <wk@gnupg.org
        >\", NULL },\n      { \"Werner Koch <wk@gnupg.org\", NULL },\n      { \"\",
        NULL },\n      { \"@\", NULL },\n      { \"bar <>\", NULL },\n      { \"<foo@example.org>\",
        \"foo@example.org\" },\n      { \"<foo.@example.org>\", \"foo.@example.org\"
        },\n      { \"<.foo.@example.org>\", \".foo.@example.org\" },\n      { \"<foo..@example.org>\",
        \"foo..@example.org\" },\n      { \"<foo..bar@example.org>\", \"foo..bar@example.org\"
        },\n      { \"<foo@example.org.>\", NULL },\n      { \"<foo@example..org>\",
        NULL },\n      { \"<foo@.>\", NULL },\n      { \"<@example.org>\", NULL },\n
        \     { \"<foo@@example.org>\", NULL },\n      { \"<@foo@example.org>\", NULL
        },\n      { \"<foo@example.org> ()\", \"foo@example.org\" },\n      { \"<fo()o@example.org>
        ()\", \"fo()o@example.org\" },\n      { \"<fo()o@example.org> ()\", \"fo()o@example.org\"
        },\n      { \"fo()o@example.org\", NULL},\n      { \"Mr. Foo <foo@example.org><bar@example.net>\",
        \"foo@example.org\"},\n      { \"Surname, Forename | company <foo@example.org>\",
        \"foo@example.org\"},\n      /* The next one is for sure not RFC-822 correct
        but nevertheless\n       * the way gpg does it.  We won't change it because
        the user-id\n       * is only rfc-822 alike and not compliant (think only
        of our\n       * utf-8 requirement).  */\n      { \"\\\"<foo@example.org>\\\"
        <foo@example.net>\", \"foo@example.org\"},\n      { NULL, NULL }\n    }"
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/gnupg/common/t-mbox-util.c
    - fields:
      - name: '*userid'
        type: char
      - name: '*mbox'
        type: char
      item_type: struct
      name: "testtbl[] =\n    {\n      { \"foo+bar@example.org\", \"foo@example.org\"
        },\n      { \"Werner Koch <wk@gnupg.org>\", \"wk@gnupg.org\" },\n      { \"<wk@gnupg.org>\",
        \"wk@gnupg.org\" },\n      { \"wk@gnupg.org\", \"wk@gnupg.org\" },\n      {
        \"wk@gnupg.org \", NULL },\n      { \" wk@gnupg.org\", NULL },\n      { \"Werner
        Koch (test) <wk@gnupg.org>\", \"wk@gnupg.org\" },\n      { \"Werner Koch <wk@gnupg.org>
        (test)\", \"wk@gnupg.org\" },\n      { \"Werner Koch <wk@gnupg.org (test)\",
        NULL },\n      { \"Werner Koch <wk@gnupg.org >\", NULL },\n      { \"Werner
        Koch <wk@gnupg.org\", NULL },\n      { \"\", NULL },\n      { \"@\", NULL
        },\n      { \"bar <>\", NULL },\n      { \"<foo@example.org>\", \"foo@example.org\"
        },\n      { \"<foo.@example.org>\", \"foo.@example.org\" },\n      { \"<.foo.@example.org>\",
        \".foo.@example.org\" },\n      { \"<foo..@example.org>\", \"foo..@example.org\"
        },\n      { \"<foo..bar@example.org>\", \"foo..bar@example.org\" },\n      {
        \"<foo@example.org.>\", NULL },\n      { \"<foo@example..org>\", NULL },\n
        \     { \"<foo@.>\", NULL },\n      { \"<@example.org>\", NULL },\n      {
        \"<foo@@example.org>\", NULL },\n      { \"<@foo@example.org>\", NULL },\n
        \     { \"<foo@example.org> ()\", \"foo@example.org\" },\n      { \"<fo()o@example.org>
        ()\", \"fo()o@example.org\" },\n      { \"<fo()o@example.org> ()\", \"fo()o@example.org\"
        },\n      { \"fo()o@example.org\", NULL},\n      { \"Mr. Foo <foo@example.org><bar@example.net>\",
        \"foo@example.org\"},\n      { \"foo+bar@example.org\", \"foo@example.org\"
        },\n      { \"foo++bar@example.org\", \"foo++bar@example.org\" },\n      {
        \"foo++@example.org\", \"foo++@example.org\" },\n      { \"foo+@example.org\",
        \"foo+@example.org\" },\n      { \"+foo@example.org\", \"+foo@example.org\"
        },\n      { \"++foo@example.org\", \"++foo@example.org\" },\n      { \"+foo+@example.org\",
        \"+foo+@example.org\" },\n      { \"+@example.org\", \"+@example.org\" },\n
        \     { \"++@example.org\", \"++@example.org\" },\n      { \"foo+b@example.org\",
        \"foo@example.org\" },\n      { \"foo+ba@example.org\", \"foo@example.org\"
        },\n      { \"foo+bar@example.org\", \"foo@example.org\" },\n      { \"foo+barb@example.org\",
        \"foo@example.org\" },\n      { \"foo+barba@example.org\", \"foo@example.org\"
        },\n      { \"f+b@example.org\", \"f@example.org\" },\n      { \"fo+b@example.org\",
        \"fo@example.org\" },\n\n      { NULL, NULL }\n    }"
      pos:
        line_end: 115
        line_start: 111
        source_file: /src/gnupg/common/t-mbox-util.c
    - fields:
      - name: '*name'
        type: char
      - name: valid
        type: int
      item_type: struct
      name: "testtbl[] =\n    {\n      { \"\", 0 },\n      { \".\", 0 },\n      {
        \"-\", 0 },\n      { \"a\", 1 },\n      { \"ab\", 1 },\n      { \"a.b\", 1
        },\n      { \"a.b.\", 1 },\n      { \".a.b.\", 0 },\n      { \".a.b\", 0 },\n
        \     { \"-a.b\", 0 },\n      { \"a-.b\", 0 },\n      { \"a.-b\", 0 },\n      {
        \"a.b-\", 0 },\n      { \"a.b-.\", 0 },\n      { \"a..b\", 0 },\n      { \"ab.c\",
        1 },\n      { \"a-b.c\", 1 },\n      { \"a-b-.c\", 0 },\n      { \"-a-b.c\",
        0 },\n      { \"example.org\", 1 },\n      { \"x.example.org\", 1 },\n      {
        \"xy.example.org\", 1 },\n      { \"Xy.example.org\", 1 },\n      { \"-Xy.example.org\",
        0 },\n      { \"Xy.example-.org\", 0 },\n      { \"foo.example.org..\", 0
        },\n      { \"foo.example.org.\", 1 },\n      { \".foo.example.org.\", 0 },\n
        \     { \"..foo.example.org.\", 0 },\n      { NULL, 0 }\n    }"
      pos:
        line_end: 194
        line_start: 190
        source_file: /src/gnupg/common/t-mbox-util.c
    typedefs: []
    union: []
- function_names:
  - get_assumed_de_vs_compliance
  - get_compliance_cache
  - gnupg_initialize_compliance
  - gnupg_pk_is_compliant
  - gnupg_pk_is_allowed
  - gnupg_cipher_is_compliant
  - gnupg_cipher_is_allowed
  - gnupg_digest_is_compliant
  - gnupg_digest_is_allowed
  - gnupg_rng_is_compliant
  - gnupg_gcrypt_is_compliant
  - gnupg_status_compliance_flag
  - gnupg_manu_notation_value
  - gnupg_parse_compliance_option
  - gnupg_compliance_option_string
  - gnupg_set_compliance_extra_info
  source_file: /src/gnupg/common/compliance.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isascii
  source_file: /src/gnupg/common/isascii.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - xtrymalloc
  - xtrymalloc_secure
  - xtrycalloc
  - xtrycalloc_secure
  - xtryrealloc
  - xtryreallocarray
  - xtrystrdup
  - xfree
  - xmalloc
  - xmalloc_secure
  - xcalloc
  - xcalloc_secure
  - xrealloc
  - xstrdup
  - xmalloc_clear
  - xmalloc_secure_clear
  - out_of_core
  - gnupg_isatty
  - gnupg_ttyname
  - _gnupg_ttyname
  - gnupg_ttyname
  - spacep
  - digitp
  - alphap
  - alnump
  - hexdigitp
  - ascii_isspace
  - atoi_1
  - atoi_2
  - atoi_4
  - xtoi_1
  - xtoi_2
  - xtoi_4
  source_file: /src/gnupg/common/util.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXTERN_UNLESS_MAIN_MODULE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/common/util.h
      type_or_value: extern
    - item_type: preproc_def
      name: HASH_FNC
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/common/util.h
      type_or_value: ((void (*)(void *, const void*,size_t))gcry_md_write)
    - item_type: preproc_def
      name: KEYGRIP_LEN
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/gnupg/common/util.h
      type_or_value: '20'
    - item_type: preproc_def
      name: UBID_LEN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/gnupg/common/util.h
      type_or_value: '20'
    - item_type: preproc_def
      name: asprintf
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/gnupg/common/util.h
      type_or_value: gpgrt_asprintf
    - item_type: preproc_def
      name: vasprintf
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/gnupg/common/util.h
      type_or_value: gpgrt_vasprintf
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/gnupg/common/util.h
      type_or_value: gpgrt_snprintf
    - item_type: preproc_def
      name: xfree_fnc
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/gnupg/common/util.h
      type_or_value: gcry_free
    - item_type: preproc_def
      name: GNUPG_MODULE_NAME_AGENT
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/gnupg/common/util.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GNUPG_MODULE_NAME_PINENTRY
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/gnupg/common/util.h
      type_or_value: '2'
    - item_type: preproc_def
      name: GNUPG_MODULE_NAME_SCDAEMON
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/gnupg/common/util.h
      type_or_value: '3'
    - item_type: preproc_def
      name: GNUPG_MODULE_NAME_DIRMNGR
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/gnupg/common/util.h
      type_or_value: '4'
    - item_type: preproc_def
      name: GNUPG_MODULE_NAME_PROTECT_TOOL
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/gnupg/common/util.h
      type_or_value: '5'
    - item_type: preproc_def
      name: GNUPG_MODULE_NAME_CHECK_PATTERN
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/gnupg/common/util.h
      type_or_value: '6'
    - item_type: preproc_def
      name: GNUPG_MODULE_NAME_GPGSM
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/gnupg/common/util.h
      type_or_value: '7'
    - item_type: preproc_def
      name: GNUPG_MODULE_NAME_GPG
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/gnupg/common/util.h
      type_or_value: '8'
    - item_type: preproc_def
      name: GNUPG_MODULE_NAME_CONNECT_AGENT
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/gnupg/common/util.h
      type_or_value: '9'
    - item_type: preproc_def
      name: GNUPG_MODULE_NAME_GPGCONF
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/gnupg/common/util.h
      type_or_value: '10'
    - item_type: preproc_def
      name: GNUPG_MODULE_NAME_DIRMNGR_LDAP
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/gnupg/common/util.h
      type_or_value: '11'
    - item_type: preproc_def
      name: GNUPG_MODULE_NAME_GPGV
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/gnupg/common/util.h
      type_or_value: '12'
    - item_type: preproc_def
      name: GNUPG_MODULE_NAME_KEYBOXD
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/gnupg/common/util.h
      type_or_value: '13'
    - item_type: preproc_def
      name: GNUPG_MODULE_NAME_TPM2DAEMON
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/gnupg/common/util.h
      type_or_value: '14'
    - item_type: preproc_def
      name: GNUPG_MODULE_NAME_CARD
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/gnupg/common/util.h
      type_or_value: '15'
    - item_type: preproc_def
      name: GNUPG_MODULE_NAME_GPGTAR
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/gnupg/common/util.h
      type_or_value: '16'
    - item_type: preproc_def
      name: GNUPG_PROTOCOL_OPENPGP
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/gnupg/common/util.h
      type_or_value: '1   '
    - item_type: preproc_def
      name: GNUPG_PROTOCOL_CMS
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/gnupg/common/util.h
      type_or_value: '2   '
    - item_type: preproc_def
      name: GNUPG_PROTOCOL_SSH_AGENT
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/gnupg/common/util.h
      type_or_value: '4   '
    - item_type: preproc_def
      name: GET_TEMPLATE_CURRENT_LOCALE
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/gnupg/common/util.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: GET_TEMPLATE_SUBST_ENVVARS
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/gnupg/common/util.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: GET_TEMPLATE_CRLF
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/gnupg/common/util.h
      type_or_value: '4 '
    - item_type: preproc_def
      name: ECC_SCALAR_LEN_MAX
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/gnupg/common/util.h
      type_or_value: '66'
    - item_type: preproc_def
      name: ECC_POINT_LEN_MAX
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/gnupg/common/util.h
      type_or_value: (1+2*ECC_SCALAR_LEN_MAX)
    - item_type: preproc_def
      name: ECC_HASH_LEN_MAX
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/gnupg/common/util.h
      type_or_value: '64'
    structs:
    - fields:
      - name: '*curve'
        type: char
      - name: pubkey_len
        type: size_t
      - name: scalar_len
        type: size_t
      - name: point_len
        type: size_t
      - name: hash_algo
        type: int
      - name: kem_algo
        type: int
      - name: scalar_reverse
        type: int
      - name: may_have_prefix
        type: int
      - name: is_weierstrauss
        type: int
      item_type: struct
      name: gnupg_ecc_params
      pos:
        line_end: 351
        line_start: 340
        source_file: /src/gnupg/common/util.h
    - fields:
      - name: flag
        type: unsigned int
      - name: '*name'
        type: char
      item_type: struct
      name: debug_flags_s
      pos:
        line_end: 411
        line_start: 407
        source_file: /src/gnupg/common/util.h
    - fields:
      - name: flag
        type: unsigned int
      - name: '*name'
        type: char
      - name: '*desc'
        type: char
      item_type: struct
      name: compatibility_flags_s
      pos:
        line_end: 420
        line_start: 415
        source_file: /src/gnupg/common/util.h
    typedefs:
    - item_type: typedef
      name: '**rl_completion_func_t (const char *, int, int)'
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/gnupg/common/util.h
      type: char
    union: []
- function_names:
  - spwq_malloc
  - spwq_free
  - spwq_secure_malloc
  - spwq_secure_free
  source_file: /src/gnupg/common/simple-pwquery.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SPWQ_USE_LOGGING
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/common/simple-pwquery.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - out_of_memory
  - gcry_malloc
  - gcry_xmalloc
  - gcry_strdup
  - gcry_realloc
  - gcry_xrealloc
  - gcry_calloc
  - gcry_xcalloc
  - gcry_xstrdup
  - gcry_free
  - gpg_err_code_from_errno
  - gpg_err_code_from_syserror
  source_file: /src/gnupg/common/t-support.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pass
  - fail
  - test_openpgp_oid_from_str
  - test_openpgp_oid_to_str
  - test_openpgp_oid_is_ed25519
  - test_openpgp_enum_curves
  - test_get_keyalgo_string
  - main
  source_file: /src/gnupg/common/t-openpgp-oid.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BADOID
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/gnupg/common/t-openpgp-oid.c
      type_or_value: '"1.3.6.1.4.1.11591.2.12242973"'
    structs:
    - fields:
      - name: '*string'
        type: char
      - name: der[10]
        type: unsigned char
      item_type: struct
      name: "samples[] = {\n    { \"1.2.840.10045.3.1.7\",\n      {8, 0x2A, 0x86,
        0x48, 0xCE, 0x3D, 0x03, 0x01, 0x07 }},\n\n    { \"1.3.132.0.34\",\n      {5,
        0x2B, 0x81, 0x04, 0x00, 0x22 }},\n\n    { \"1.3.132.0.35\",\n      { 5, 0x2B,
        0x81, 0x04, 0x00, 0x23 }},\n\n    { BADOID,\n      { 9, 0x80, 0x02, 0x70,
        0x50, 0x25, 0x46, 0xfd, 0x0c, 0xc0 }},\n\n    { BADOID,\n      { 1, 0x80 }},\n\n
        \   { NULL }}"
      pos:
        line_end: 107
        line_start: 104
        source_file: /src/gnupg/common/t-openpgp-oid.c
    - fields:
      - name: 'yes'
        type: int
      - name: '*oidstr'
        type: char
      item_type: struct
      name: "samples[] = {\n    { 0, \"0.0\" },\n    { 0, \"1.3.132.0.35\" },\n    {
        0, \"1.3.6.1.4.1.3029.1.5.0\" },\n    { 0, \"1.3.6.1.4.1.3029.1.5.1\" }, /*
        Used during Libgcrypt development. */\n    { 0, \"1.3.6.1.4.1.3029.1.5.2\"
        },\n    { 0, \"1.3.6.1.4.1.3029.1.5.1.0\" },\n    { 0, \"1.3.6.1.4.1.3029.1.5\"
        },\n    { 0, \"1.3.6.1.4.1.11591.15.0\" },\n    { 1, \"1.3.6.1.4.1.11591.15.1\"
        }, /* Your the one we want.  */\n    { 0, \"1.3.6.1.4.1.11591.15.2\" },\n
        \   { 0, \"1.3.6.1.4.1.11591.15.1.0\" },\n    { 0, \"1.3.6.1.4.1.11591.15\"
        },\n    { 0, NULL },\n  }"
      pos:
        line_end: 164
        line_start: 160
        source_file: /src/gnupg/common/t-openpgp-oid.c
    - fields:
      - name: algo
        type: int
      - name: nbits
        type: unsigned int
      - name: '*curve'
        type: char
      - name: '*name'
        type: char
      item_type: struct
      name: "samples[] =\n      {\n       { GCRY_PK_RSA, 1024, NULL, \"rsa1024\" },\n
        \      { GCRY_PK_RSA, 1536, NULL, \"rsa1536\" },\n       { GCRY_PK_RSA, 768,
        \ NULL, \"rsa768\"  },\n       { GCRY_PK_DSA, 3072, NULL, \"dsa3072\" },\n
        \      { GCRY_PK_DSA, 1024, NULL, \"dsa1024\" },\n       { GCRY_PK_ELG, 2048,
        NULL, \"elg2048\" },\n       { GCRY_PK_ELG, 0,    NULL, \"unknown_20\" },\n
        \      { 47114711,    1000, NULL, \"unknown_47114711\" },\n       /* Note
        that we don't care about the actual ECC algorithm.  */\n       { GCRY_PK_EDDSA,
        \ 0, \"1.3.6.1.4.1.11591.15.1\", \"ed25519\" },\n       { GCRY_PK_ECDSA,  0,
        \"1.3.6.1.4.1.11591.15.1\", \"ed25519\" },\n       { GCRY_PK_ECDH,   0, \"1.3.6.1.4.1.11591.15.1\",
        \"ed25519\" },\n       { GCRY_PK_ECDH,   0, \"1.3.6.1.4.1.3029.1.5.1\", \"cv25519\"
        },\n       { GCRY_PK_ECDH,   0, \"1.3.36.3.3.2.8.1.1.7\",   \"brainpoolP256r1\"
        },\n       { GCRY_PK_ECDH,   0, \"1.3.36.3.3.2.8.1.1.11\",  \"brainpoolP384r1\"
        },\n       { GCRY_PK_ECDH,   0, \"1.3.36.3.3.2.8.1.1.13\",  \"brainpoolP512r1\"
        },\n       { GCRY_PK_ECDH,   0, \"1.3.132.0.10\",           \"secp256k1\"
        },\n       { GCRY_PK_ECDH,   0, \"1.2.840.10045.3.1.7\",    \"nistp256\"  },\n
        \      { GCRY_PK_ECDH,   0, \"1.3.132.0.34\",           \"nistp384\"  },\n
        \      { GCRY_PK_ECDH,   0, \"1.3.132.0.35\",           \"nistp521\"  },\n
        \      { GCRY_PK_ECDH,   0, \"1.2.3.4.5.6\",            \"E_1.2.3.4.5.6\"
        },\n       { GCRY_PK_ECDH,   0, BADOID,    \"E_1.3.6.1.4.1.11591.2.12242973\"
        },\n\n       /* Some again to test existing lookups.  */\n       { GCRY_PK_RSA,
        768,  NULL, \"rsa768\"  },\n       { GCRY_PK_DSA, 3072, NULL, \"dsa3072\"
        },\n       { GCRY_PK_DSA, 1024, NULL, \"dsa1024\" },\n       { GCRY_PK_ECDH,
        \  0, \"1.3.6.1.4.1.11591.15.1\", \"ed25519\" },\n       { GCRY_PK_ECDH,   0,
        \"1.3.6.1.4.1.3029.1.5.1\", \"cv25519\" },\n       { GCRY_PK_ECDH,   0, \"1.3.36.3.3.2.8.1.1.7\",
        \  \"brainpoolP256r1\" },\n       { 47114711,    1000, NULL, \"unknown_47114711\"
        }\n      }"
      pos:
        line_end: 237
        line_start: 231
        source_file: /src/gnupg/common/t-openpgp-oid.c
    typedefs: []
    union: []
- function_names:
  - getenv
  - xmalloc
  - xcalloc
  - xrealloc
  - xstrdup
  - xfree
  - DIM
  - DIMof
  - pass
  - fail
  source_file: /src/gnupg/common/t-support.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GNUPG_COMMON_T_SUPPORT_H
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/common/t-support.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - gnupg_prepare_get_passphrase
  - start_agent
  - default_inq_cb
  - gnupg_get_passphrase
  - gnupg_clear_passphrase
  source_file: /src/gnupg/common/get-passphrase.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: errsource
        type: gpg_err_source_t
      - name: verbosity
        type: int
      - name: '*agent_program'
        type: char
      - name: '*lc_ctype'
        type: char
      - name: '*lc_messages'
        type: char
      - name: session_env
        type: session_env_t
      - name: '*pinentry_user_data'
        type: char
      item_type: struct
      name: agentargs
      pos:
        line_end: 54
        line_start: 45
        source_file: /src/gnupg/common/get-passphrase.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/zb32.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/ssh-utils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/session-env.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*session_env_t'
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/gnupg/common/session-env.h
      type: session_environment_s
    union: []
- function_names:
  - read_line
  source_file: /src/gnupg/common/xreadline.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pkttype_str
  - S2K_DECODE_COUNT
  source_file: /src/gnupg/common/openpgpdefs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OPENPGP_MAX_NPKEY
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/gnupg/common/openpgpdefs.h
      type_or_value: '5  '
    - item_type: preproc_def
      name: OPENPGP_MAX_NSKEY
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/gnupg/common/openpgpdefs.h
      type_or_value: '7  '
    - item_type: preproc_def
      name: OPENPGP_MAX_NSIG
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/gnupg/common/openpgpdefs.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: OPENPGP_MAX_NENC
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/gnupg/common/openpgpdefs.h
      type_or_value: '4  '
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_membuf
  - init_membuf_secure
  - clear_membuf
  - put_membuf
  - put_membuf_cb
  - put_membuf_str
  - put_membuf_printf
  - get_membuf
  - get_membuf_shrink
  - peek_membuf
  - set_membuf_err
  source_file: /src/gnupg/common/membuf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - snext
  - sskip
  - smatch
  - smklen
  source_file: /src/gnupg/common/sexp-parse.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_nl_locale_name
  - gnupg_messages_locale_name
  source_file: /src/gnupg/common/localename.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LC_MESSAGES
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/gnupg/common/localename.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - wipememory
  - same_file_p
  source_file: /src/gnupg/common/mischelp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/ttyio.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - has_only_base64
  - is_empty_line
  - base64_reader_cb
  - starts_with_sequence
  - simple_reader_cb
  - update_write_progress
  - base64_writer_cb
  - plain_writer_cb
  - base64_finish_write
  - gnupg_ksba_create_reader
  - gnupg_ksba_reader_eof_seen
  - gnupg_ksba_destroy_reader
  - gnupg_ksba_create_writer
  - gnupg_ksba_finish_writer
  - gnupg_ksba_destroy_writer
  - gnupg_ksba_set_progress_cb
  - gnupg_ksba_set_total
  source_file: /src/gnupg/common/ksba-io-support.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LF
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/gnupg/common/ksba-io-support.c
      type_or_value: '"\r\n"'
    - item_type: preproc_def
      name: LF
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/gnupg/common/ksba-io-support.c
      type_or_value: '"\n"'
    structs:
    - fields:
      - name: fp
        type: estream_t
      - name: line[1024]
        type: unsigned char
      - name: linelen
        type: int
      - name: readpos
        type: int
      - name: have_lf
        type: int
      - name: line_counter
        type: unsigned long
      - name: allow_multi_pem
        type: int
      - name: autodetect
        type: int
      - name: assume_pem
        type: int
      - name: assume_base64
        type: int
      - name: strip_zeroes
        type: int
      - name: use_maxread
        type: int
      - name: maxread
        type: unsigned int
      - name: nzeroes
        type: off_t
      - name: identified
        type: int
      - name: is_pem
        type: int
      - name: is_base64
        type: int
      - name: stop_seen
        type: int
      - name: might_be_smime
        type: int
      - name: eof_seen
        type: int
      - name: base64
        type: "struct {\n    int idx;\n    unsigned char val;\n    int stop_seen;\n
          \ }"
      item_type: struct
      name: reader_cb_parm_s
      pos:
        line_end: 89
        line_start: 55
        source_file: /src/gnupg/common/ksba-io-support.c
    - fields:
      - name: stream
        type: estream_t
      - name: '*pem_name'
        type: char
      - name: progress
        type: "struct {\n    gnupg_ksba_progress_cb_t cb;\n    ctrl_t ctrl;\n    u32
          last_time;\t\t/* last time reported */\n    uint64_t last;\t\t/* last amount
          reported */\n    uint64_t current;\t        /* current amount */\n    uint64_t
          total;\t        /* total amount */\n  }"
      - name: wrote_begin
        type: int
      - name: did_finish
        type: int
      - name: base64
        type: "struct {\n    int idx;\n    int quad_count;\n    unsigned char radbuf[4];\n
          \ }"
      item_type: struct
      name: writer_cb_parm_s
      pos:
        line_end: 117
        line_start: 93
        source_file: /src/gnupg/common/ksba-io-support.c
    - fields:
      - name: is_writer
        type: int
      - name: u
        type: "union {\n    struct reader_cb_parm_s rparm;\n    struct writer_cb_parm_s
          wparm;\n  }"
      - name: u2
        type: "union {\n    ksba_reader_t reader;\n    ksba_writer_t writer;\n  }"
      item_type: struct
      name: gnupg_ksba_io_s
      pos:
        line_end: 132
        line_start: 121
        source_file: /src/gnupg/common/ksba-io-support.c
    typedefs: []
    union: []
- function_names:
  - classify_user_id
  source_file: /src/gnupg/common/userids.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pass
  - fail
  - test_scan_secondsstr
  - test_isotime2epoch
  - test_string2isotime
  - test_isodate_human_to_tm
  - main
  source_file: /src/gnupg/common/t-gettime.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UINTMAX_C
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/common/t-gettime.c
      type_or_value: (c)  (c)
    - item_type: preproc_def
      name: INVALID
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/gnupg/common/t-gettime.c
      type_or_value: ((time_t)(-1))
    structs:
    - fields:
      - name: '*string'
        type: char
      - name: expected
        type: u32
      item_type: struct
      name: "array [] = {\n    { \"\",  0 },\n    { \"0\",  0 },\n    { \" 0\",  0
        },\n    { \" 0x\",  0 },\n    { \" 1\",  1 },\n    { \"-1\",  0 },\n    {
        \" -1\",  0 },\n    { \"2\",  2 },\n    { \"11\",  11 },\n    { \"011\",  11
        },\n    { \"3600 \",  3600 },\n    { \"65535\",  65535 },\n    { \"65536\",
        \ 65536 },\n    { \"65537\",  65537 },\n    { \"4294967289\", 4294967289 },\n
        \   { \"4294967290\", 4294967290 },\n    { \"4294967293\", 4294967293 },\n
        \   { \"4294967295\", 4294967294 },\n    { \"4294967296\", 4294967294 },\n
        \   { \"4294967297\", 4294967294 },\n    { \"4294967298\", 4294967294 },\n
        \   { \"4294967299\", 4294967294 },\n    { \"4294967300\", 4294967294 },\n
        \   { \"5294967300\", 4294967294 },\n    { \"9999999999\", 4294967294 },\n
        \   { \"99999999999\",4294967294 },\n    { NULL, 0 }\n  }"
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/gnupg/common/t-gettime.c
    - fields:
      - name: '*string'
        type: char
      - name: expected
        type: time_t
      item_type: struct
      name: "array [] = {\n    { \"19700101T000001\",  1 },\n    { \"19700101T235959\",
        \ 86399 },\n    { \"19980815T143712\",  903191832 },\n    { \"19700101T000000\",
        \ 0 },\n    { \"19691231T235959\",  INVALID },\n    { \"19000101T000000\",
        \ INVALID },\n    { \"\",                 INVALID },\n    { \"19000101T00000\",
        \  INVALID },\n    { \"20010101t123456\",  INVALID },\n    { \"20010101T123456\",
        \ 978352496 },\n    { \"20070629T160000\",  1183132800 },\n    { \"20070629T160000:\",
        \ 1183132800 },\n    { \"20070629T160000,\",  1183132800 },\n    { \"20070629T160000
        \",  1183132800 },\n    { \"20070629T160000\\n\", 1183132800 },\n    { \"20070629T160000.\",
        \ INVALID },\n#if SIZEOF_TIME_T > 4\n    { \"21060207T062815\", (time_t)UINTMAX_C(0x0ffffffff)
        },\n    { \"21060207T062816\", (time_t)UINTMAX_C(0x100000000) },\n    { \"21060207T062817\",
        (time_t)UINTMAX_C(0x100000001) },\n    { \"21060711T120001\", (time_t)UINTMAX_C(4308292801)
        \ },\n#endif /*SIZEOF_TIME_T > 4*/\n    { NULL, 0 }\n  }"
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/gnupg/common/t-gettime.c
    - fields:
      - name: '*string'
        type: char
      - name: result
        type: size_t
      - name: '*expected'
        type: char
      item_type: struct
      name: "array [] = {\n    { \"19700101T000001\",      15, \"19700101T000001\"
        },\n    { \"19700101T235959\",      15, \"19700101T235959\" },\n    { \"19980815T143712\",
        \     15, \"19980815T143712\" },\n    { \"19700101T000000\",      15, \"19700101T000000\"
        },\n    { \"19691231T235959\",      15, \"19691231T235959\" },\n    { \"19000101T000000\",
        \     15, \"19000101T000000\" },\n    { \"\",                      0, \"\"
        \               },\n    { \"19000101T00000\",        0, \"\"                },\n
        \   { \"20010101t123456\",       0, \"\"                },\n    { \"20010101T123456\",
        \     15, \"20010101T123456\" },\n    { \"20070629T160000\",      15, \"20070629T160000\"
        },\n    { \"20070629T160000:\",     15, \"20070629T160000\" },\n    { \"20070629T160000,\",
        \    15, \"20070629T160000\" },\n    { \"20070629T160000 \",     15, \"20070629T160000\"
        },\n    { \"20070629T160000\\n\",    15,\"20070629T160000\"  },\n    { \"20070629T160000.\",
        \     0, \"\"                },\n    { \"1066-03-20\",           10, \"10660320T000000\"
        },\n    { \"1066-03-20,\",          10, \"10660320T000000\" },\n    { \"1066-03-20:\",
        \          0, \"\"                },\n    { \"1066-03-20 00\",        13,
        \"10660320T000000\" },\n    { \"1066-03-20 01\",        13, \"10660320T010000\"
        },\n    { \"1066-03-20 23\",        13, \"10660320T230000\" },\n    { \"1066-03-20
        24\",         0, \"\"                },\n    { \"1066-03-20 00:\",        0,
        \"\"                },\n    { \"1066-03-20 00:3\",       0, \"\"                },\n
        \   { \"1066-03-20 00:31\",     16, \"10660320T003100\" },\n    { \"1066-03-20
        00:31:47\",  19, \"10660320T003147\" },\n    { \"1066-03-20 00:31:47 \", 19,
        \"10660320T003147\" },\n    { \"1066-03-20 00:31:47,\", 19, \"10660320T003147\"
        },\n    { \"1066-03-20 00:31:47:\",  0, \"\"                },\n    { \"1-03-20
        00:31:47:\",     0, \"\"                },\n    { \"10-03-20 00:31:47:\",
        \   0, \"\"                },\n    { \"106-03-20 00:31:47:\",   0, \"\"                },\n
        \   { \"1066-23-20 00:31:47:\",  0, \"\"                },\n    { \"1066-00-20
        00:31:47:\",  0, \"\"                },\n    { \"1066-0-20 00:31:47:\",   0,
        \"\"                },\n    { \"1066-01-2 00:31:47:\",   0, \"\"                },\n
        \   { \"1066-01-2  00:31:47:\",  0, \"\"                },\n    { \"1066-01-32
        00:31:47:\",  0, \"\"                },\n    { \"1066-01-00 00:31:47:\",  0,
        \"\"                },\n    { \"1066-03-20  00:31:47:\",11, \"10660320T000000\"
        },\n    { \"1066-03-2000:31:47:\",   0, \"\"                },\n    { \"10666-03-20
        00:31:47:\", 0, \"\"                },\n    { NULL, 0 }\n  }"
      pos:
        line_end: 162
        line_start: 158
        source_file: /src/gnupg/common/t-gettime.c
    - fields:
      - name: '*string'
        type: char
      - name: okay
        type: int
      - name: year
        type: int
      item_type: struct
      name: "array [] = {\n    { \"1970-01-01\",      1, 1970,  1,  1 },\n    { \"1970-02-01\",
        \     1, 1970,  2,  1 },\n    { \"1970-12-31\",      1, 1970, 12, 31 },\n
        \   { \"1971-01-01\",      1, 1971,  1,  1 },\n    { \"1998-08-15\",      1,
        1998,  8, 15 },\n    { \"2015-04-10\",      1, 2015,  4, 10 },\n    { \"2015-04-10
        11:30\",1, 2015,  4, 10 },\n    { \"1969-12-31\",      0,    0,  0,  0 },\n
        \   { \"1900-01-01\",      0,    0,  0,  0 },\n    { \"\",                0,
        \   0,  0,  0 },\n    { \"1970-12-32\",      0,    0,  0,  0 },\n    { \"1970-13-01\",
        \     0,    0,  0,  0 },\n    { \"1970-01-00\",      0,    0,  0,  0 },\n
        \   { \"1970-00-01\",      0,    0,  0,  0 },\n    { \"1970-00-01\",      0,
        \   0,  0,  0 },\n    { \"1970\",            0,    0,  0,  0 },\n    { \"1970-01\",
        \        0,    0,  0,  0 },\n    { \"1970-01-1\",       0,    0,  0,  0 },\n
        \   { \"1970-1--01\",      0,    0,  0,  0 },\n    { \"1970-01-01,\",     1,
        1970,  1,  1 },\n    { \"1970-01-01 \",     1, 1970,  1,  1 },\n    { \"1970-01-01\\t\",
        \   1, 1970,  1,  1 },\n    { \"1970-01-01;\",     0,    0,  0,  0 },\n    {
        \"1970-01-01:\",     0,    0,  0,  0 },\n    { \"1970_01-01\",      0,    0,
        \ 0,  0 },\n    { \"1970-01_01\",      0,    0,  0,  0 },\n    { NULL, 0 }\n
        \ }"
      pos:
        line_end: 247
        line_start: 243
        source_file: /src/gnupg/common/t-gettime.c
    typedefs: []
    union: []
- function_names:
  - INT2FD
  - FD2INT
  - FD2INT
  - FD_DBG
  - FD2NUM
  - INT2FD
  - FD2INT
  - FD_DBG
  - FD2NUM
  source_file: /src/gnupg/common/sysutils.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GNUPG_INVALID_FD
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/common/sysutils.h
      type_or_value: ((void*)(-1))
    - item_type: preproc_def
      name: GNUPG_INVALID_FD
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/gnupg/common/sysutils.h
      type_or_value: (-1)
    structs:
    - fields:
      - name: '*d_name'
        type: char
      item_type: struct
      name: gnupg_dirent_s
      pos:
        line_end: 69
        line_start: 62
        source_file: /src/gnupg/common/sysutils.h
    typedefs:
    - item_type: typedef
      name: '*gnupg_fd_t'
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/gnupg/common/sysutils.h
      type: void
    - item_type: typedef
      name: gnupg_fd_t
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/gnupg/common/sysutils.h
      type: int
    - item_type: typedef
      name: '*gnupg_dir_t'
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/gnupg/common/sysutils.h
      type: gnupg_dir_s
    - item_type: typedef
      name: '*gnupg_dirent_t'
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/gnupg/common/sysutils.h
      type: gnupg_dirent_s
    union: []
- function_names:
  - fd_to_handle
  - handle_to_fd
  - pid_to_handle
  - handle_to_pid
  - my_error_from_syserror
  - my_error
  - get_max_fds
  - close_all_fds
  - get_all_open_fds
  - create_inheritable_pipe
  - create_pipe_and_estream
  - gnupg_create_inbound_pipe
  - gnupg_create_outbound_pipe
  - gnupg_create_pipe
  - gnupg_close_pipe
  source_file: /src/gnupg/common/exechelp-w32.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/gnupg/common/exechelp-w32.c
      type_or_value: '0x600'
    - item_type: preproc_def
      name: DEBUG_W32_SPAWN
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/gnupg/common/exechelp-w32.c
      type_or_value: '0'
    - item_type: preproc_def
      name: X_OK
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/gnupg/common/exechelp-w32.c
      type_or_value: F_OK
    - item_type: preproc_def
      name: INHERIT_READ
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/gnupg/common/exechelp-w32.c
      type_or_value: '1'
    - item_type: preproc_def
      name: INHERIT_WRITE
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/gnupg/common/exechelp-w32.c
      type_or_value: '2'
    - item_type: preproc_def
      name: INHERIT_BOTH
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/gnupg/common/exechelp-w32.c
      type_or_value: (INHERIT_READ|INHERIT_WRITE)
    structs: []
    typedefs: []
    union: []
- function_names:
  - pass
  - fail
  - test_percent_plus_escape
  - test_percent_data_escape
  - test_percent_data_escape_plus
  - main
  source_file: /src/gnupg/common/t-percent.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*string'
        type: char
      - name: '*expect'
        type: char
      item_type: struct
      name: "tbl[] = {\n    {\n      \"\",\n      \"\"\n    }, {\n      \"a\",\n      \"a\",\n
        \   }, {\n      \" \",\n      \"+\",\n    }, {\n      \"  \",\n      \"++\"\n
        \   }, {\n      \"+ +\",\n      \"%2B+%2B\"\n    }, {\n      \"\\\" \\\"\",\n
        \     \"%22+%22\"\n    }, {\n      \"%22\",\n      \"%2522\"\n    }, {\n      \"%%
        \",\n      \"%25%25+\"\n    }, {\n      \"\\n ABC\\t\",\n      \"%0A+ABC%09\"\n
        \   }, { NULL, NULL }\n  }"
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/gnupg/common/t-percent.c
    - fields:
      - name: '*prefix'
        type: char
      - name: '*data'
        type: char
      - name: datalen
        type: size_t
      - name: '*expect'
        type: char
      item_type: struct
      name: "tbl[] = {\n    {\n      NULL,\n      \"\", 0,\n      \"\"\n    }, {\n
        \     NULL,\n      \"a\", 1,\n      \"a\",\n    }, {\n      NULL,\n      \"%22\",
        3,\n      \"%2522\"\n    }, {\n      NULL,\n      \"%%\", 3,\n      \"%25%25%00\"\n
        \   }, {\n      NULL,\n      \"\\n \\0BC\\t\", 6,\n      \"\\n %00BC\\t\"\n
        \   }, {\n      \"\",\n      \"\", 0,\n      \"\"\n    }, {\n      \"\",\n
        \     \"a\", 1,\n      \"a\",\n    }, {\n      \"\",\n      \"%22\", 3,\n
        \     \"%2522\"\n    }, {\n      \"\",\n      \"%%\", 3,\n      \"%25%25%00\"\n
        \   }, {\n      \"\",\n      \"\\n \\0BC\\t\", 6,\n      \"\\n %00BC\\t\"\n
        \   }, {\n      \"a\",\n      \"\", 0,\n      \"a\"\n    }, {\n      \"a\",\n
        \     \"a\", 1,\n      \"aa\",\n    }, {\n      \"a\",\n      \"%22\", 3,\n
        \     \"a%2522\"\n    }, {\n      \"a\",\n      \"%%\", 3,\n      \"a%25%25%00\"\n
        \   }, {\n      \"a\",\n      \"\\n \\0BC\\t\", 6,\n      \"a\\n %00BC\\t\"\n
        \   }, {\n      \" \",\n      \"%%\", 3,\n      \" %25%25%00\"\n    }, {\n
        \     \"+\",\n      \"%%\", 3,\n      \"+%25%25%00\"\n    }, {\n      \"%\",\n
        \     \"%%\", 3,\n      \"%25%25%25%00\"\n    }, {\n      \"a b\",\n      \"%%\",
        3,\n      \"a b%25%25%00\"\n    }, {\n      \"a%2Bb\",\n      \"%%\", 3,\n
        \     \"a%252Bb%25%25%00\"\n    }, {\n      \"\\n\",\n      \"%%\", 3,\n      \"%0A%25%25%00\"\n
        \   }, {\n      NULL,\n      NULL, 0,\n      NULL }\n  }"
      pos:
        line_end: 109
        line_start: 104
        source_file: /src/gnupg/common/t-percent.c
    - fields:
      - name: '*data'
        type: char
      - name: datalen
        type: size_t
      - name: '*expect'
        type: char
      item_type: struct
      name: "tbl[] = {\n    {\n      \"\", 0,\n      \"\"\n    }, {\n      \"a\",
        1,\n      \"a\",\n    }, {\n      \"%22\", 3,\n      \"%2522\"\n    }, {\n
        \     \"%%\", 3,\n      \"%25%25%00\"\n    }, {\n      \"\\n \\0BC\\t\", 6,\n
        \     \"%0A+%00BC%09\"\n    }, {\n      \" \", 1,\n      \"+\"\n    }, {\n
        \     \"  \", 2,\n      \"++\"\n    }, {\n      \"+ +\", 3,\n      \"%2B+%2B\"\n
        \   }, {\n      \"\\\" \\\"\", 3,  /* Note: This function does not escape
        quotes.  */\n      \"\\\"+\\\"\"\n    }, {\n      \"%22\", 3,\n      \"%2522\"\n
        \   }, {\n      \"%% \", 3,\n      \"%25%25+\"\n    }, {\n      \"\\n ABC\\t\",
        6,\n      \"%0A+ABC%09\"\n    }, { NULL, 0, NULL }\n  }"
      pos:
        line_end: 244
        line_start: 240
        source_file: /src/gnupg/common/t-percent.c
    typedefs: []
    union: []
- function_names:
  - parse_pinentry_mode
  - str_pinentry_mode
  - parse_request_origin
  - str_request_origin
  source_file: /src/gnupg/common/agent-opt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - answer_is_yes_no_default
  - answer_is_yes
  - answer_is_yes_no_quit
  - answer_is_okay_cancel
  source_file: /src/gnupg/common/yesno.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/shareddefs.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pass
  - fail
  - test_gnupg_tmpfile
  - main
  source_file: /src/gnupg/common/t-sysutils.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ASTRING
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/common/t-sysutils.c
      type_or_value: '"fooooooooooooooo\n"  '
    structs: []
    typedefs: []
    union: []
- function_names:
  - tohex_lower
  - change_slashes
  - has_leading_keyword
  - memistr
  - ascii_memistr
  - gnupg_memstr
  - mem2str
  - trim_spaces
  - ascii_trim_spaces
  - trim_trailing_spaces
  - trim_trailing_chars
  - trim_trailing_ws
  - length_sans_trailing_chars
  - length_sans_trailing_ws
  - make_basename
  - make_dirname
  - get_pwdir
  - do_make_filename
  - make_filename
  - make_filename_try
  - make_absfilename
  - make_absfilename_try
  - compare_filenames
  - has_suffix
  - string_to_u64
  - hextobyte
  - utf8_charcount
  - w32_strerror
  - ascii_isupper
  - ascii_islower
  - ascii_toupper
  - ascii_tolower
  - ascii_strlwr
  - ascii_strupr
  - ascii_strcasecmp
  - ascii_strncasecmp
  - ascii_memcasecmp
  - ascii_strcmp
  - ascii_memcasemem
  - stpcpy
  - strpbrk
  - strsep
  - strlwr
  - strcasecmp
  - memicmp
  - memrchr
  - do_percent_escape
  - percent_escape
  - try_percent_escape
  - vstrconcat
  - strconcat
  - xstrconcat
  - strsplit
  - do_strtokenize
  - strtokenize
  - strtokenize_nt
  - split_fields
  - split_fields_colon
  - parse_version_number
  - parse_version_string
  - compare_version_strings
  - format_text
  - replace_substr
  - substitute_vars
  - subst_getenv
  - substitute_envvars
  source_file: /src/gnupg/common/stringhelp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_zb32enc
  - read_file
  - endecode_file
  - main
  source_file: /src/gnupg/common/t-zb32.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/common/t-zb32.c
      type_or_value: '"t-zb32"'
    - item_type: preproc_def
      name: NCHUNK
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/gnupg/common/t-zb32.c
      type_or_value: '8192'
    structs:
    - fields:
      - name: datalen
        type: size_t
      - name: '*data'
        type: char
      - name: '*expected'
        type: char
      item_type: struct
      name: "tests[] = {\n    /* From the DESIGN document.  */\n    {  1, \"\\x00\",
        \"y\" },\n    {  1, \"\\x80\", \"o\" },\n    {  2, \"\\x40\", \"e\" },\n    {
        \ 2, \"\\xc0\", \"a\" },\n    { 10, \"\\x00\\x00\", \"yy\" },\n    { 10, \"\\x80\\x80\",
        \"on\" },\n    { 20, \"\\x8b\\x88\\x80\", \"tqre\" },\n    { 24, \"\\xf0\\xbf\\xc7\",
        \"6n9hq\" },\n    { 24, \"\\xd4\\x7a\\x04\", \"4t7ye\" },\n    /* The next
        vector is strange: The DESIGN document from 2007 gives\n       \"8ik66o\"
        as result, the revision from 2009 gives \"6im5sd\".  I\n       look at it
        for quite some time and came to the conclusion that\n       \"6im54d\" is
        the right encoding.  */\n    { 30, \"\\xf5\\x57\\xbd\\x0c\", \"6im54d\" },\n
        \   /* From ccrtp's Java code.  */\n    { 40, \"\\x01\\x01\\x01\\x01\\x01\",
        \"yryonyeb\" },\n    { 15, \"\\x01\\x01\", \"yry\" },\n    { 80, \"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\",
        \"yryonyebyryonyeb\" },\n    { 15, \"\\x81\\x81\", \"ogy\" },\n    { 16, \"\\x81\\x81\",
        \"ogyo\" },\n    { 20, \"\\x81\\x81\\x81\", \"ogya\" },\n    { 64, \"\\x81\\x81\\x81\\x81\\x81\\x81\\x81\\x81\",
        \"ogyadycbogyan\" },\n    /* More tests.  */\n    { 160, \"\\x80\\x61\\x58\\x70\\xF5\\xBA\\xD6\\x90\\x33\\x36\"\n
        \     /* */\"\\x86\\xD0\\xF2\\xAD\\x85\\xAC\\x1E\\x42\\xB3\\x67\",\n      /*
        */\"oboioh8izmmjyc3so5exfmcfioxrfc58\" },\n    { 0,  \"\", \"\" }\n  }"
      pos:
        line_end: 57
        line_start: 53
        source_file: /src/gnupg/common/t-zb32.c
    typedefs: []
    union: []
- function_names:
  - sexp_to_string
  - canon_sexp_to_string
  - log_printcanon
  - log_printsexp
  - make_canon_sexp
  - make_canon_sexp_pad
  - keygrip_from_canon_sexp
  - cmp_simple_canon_sexp
  - cmp_canon_sexp_def_tcmp
  - cmp_canon_sexp
  - make_simple_sexp_from_hexstr
  - hash_algo_from_sigval
  - make_canon_sexp_from_rsa_pk
  - get_rsa_pk_from_canon_sexp
  - get_ecc_q_from_canon_sexp
  - ec2os
  - uncompress_ecc_q_in_canon_sexp
  - get_pk_algo_from_key
  - get_pk_algo_from_canon_sexp
  - pubkey_algo_string
  - pubkey_algo_to_string
  - hash_algo_to_string
  - cipher_mode_to_string
  - get_ecc_curve_from_key
  source_file: /src/gnupg/common/sexputil.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: algo
        type: int
      item_type: struct
      name: "hashnames[] =\n      {\n       { \"sha256\",    GCRY_MD_SHA256 },\n       {
        \"sha512\",    GCRY_MD_SHA512 },\n       { \"sha1\",      GCRY_MD_SHA1 },\n
        \      { \"sha384\",    GCRY_MD_SHA384 },\n       { \"sha224\",    GCRY_MD_SHA224
        },\n       { \"sha3-224\",  GCRY_MD_SHA3_224 },\n       { \"sha3-256\",  GCRY_MD_SHA3_256
        },\n       { \"sha3-384\",  GCRY_MD_SHA3_384 },\n       { \"sha3-512\",  GCRY_MD_SHA3_512
        },\n       { \"ripemd160\", GCRY_MD_RMD160 },\n       { \"rmd160\",    GCRY_MD_RMD160
        },\n       { \"md2\",       GCRY_MD_MD2 },\n       { \"md4\",       GCRY_MD_MD4
        },\n       { \"tiger\",     GCRY_MD_TIGER },\n       { \"haval\",     GCRY_MD_HAVAL
        },\n       { \"sm3\",       GCRY_MD_SM3 },\n       { \"md5\",       GCRY_MD_MD5
        }\n      }"
      pos:
        line_end: 1152
        line_start: 1148
        source_file: /src/gnupg/common/sexputil.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/asshelp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ASSHELP_FLAG_AUTOSTART
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/gnupg/common/asshelp.h
      type_or_value: '1  '
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/mkdir_p.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pass
  - test_hex2bin
  - test_hexcolon2bin
  - test_bin2hex
  - test_bin2hexcolon
  - test_hex2str
  - test_hex2fixedbuf
  - main
  source_file: /src/gnupg/common/t-convert.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*hex'
        type: char
      - name: '*str'
        type: char
      - name: len
        type: int
      - name: 'off'
        type: int
      - name: no_alloc_test
        type: int
      item_type: struct
      name: "tests[] = {\n    /* Simple tests.  */\n    { \"112233445566778899aabbccddeeff1122\",\n
        \     \"\\x11\\x22\\x33\\x44\\x55\\x66\\x77\\x88\\x99\\xaa\\xbb\\xcc\\xdd\\xee\\xff\\x11\\x22\",\n
        \     17, 34 },\n    { \"112233445566778899aabbccddeeff1122 blah\",\n      \"\\x11\\x22\\x33\\x44\\x55\\x66\\x77\\x88\\x99\\xaa\\xbb\\xcc\\xdd\\xee\\xff\\x11\\x22\",\n
        \     17, 34 },\n    { \"112233445566778899aabbccddeeff1122\\tblah\",\n      \"\\x11\\x22\\x33\\x44\\x55\\x66\\x77\\x88\\x99\\xaa\\xbb\\xcc\\xdd\\xee\\xff\\x11\\x22\",\n
        \     17, 34 },\n    { \"112233445566778899aabbccddeeff1122\\nblah\",\n      \"\\x11\\x22\\x33\\x44\\x55\\x66\\x77\\x88\\x99\\xaa\\xbb\\xcc\\xdd\\xee\\xff\\x11\\x22\",\n
        \     17, 34 },\n    /* Valid tests yielding an empty string.  */\n    { \"00\",\n
        \     \"\",\n      1, 2 },\n    { \"00 x\",\n      \"\",\n      1, 2 },\n
        \   { \"\",\n      \"\",\n      0, 0 },\n    { \" \",\n      \"\",\n      0,
        0 },\n    /* Test trailing Nul feature.  */\n    { \"112233445566778899aabbccddeeff1100\",\n
        \     \"\\x11\\x22\\x33\\x44\\x55\\x66\\x77\\x88\\x99\\xaa\\xbb\\xcc\\xdd\\xee\\xff\\x11\\x00\",\n
        \     17, 34 },\n    { \"112233445566778899aabbccddeeff1100 \",\n      \"\\x11\\x22\\x33\\x44\\x55\\x66\\x77\\x88\\x99\\xaa\\xbb\\xcc\\xdd\\xee\\xff\\x11\\x00\",\n
        \     17, 34 },\n    /* Test buffer size. (buffer is of length 20)  */\n    {
        \"6162636465666768696A6b6c6D6e6f70717273\",\n      \"abcdefghijklmnopqrs\",\n
        \     19, 38 },\n    { \"6162636465666768696A6b6c6D6e6f7071727300\",\n      \"abcdefghijklmnopqrs\",\n
        \     20, 40 },\n    { \"6162636465666768696A6b6c6D6e6f7071727374\",\n      NULL,\n
        \     0, 0, 1 },\n    { \"6162636465666768696A6b6c6D6e6f707172737400\",\n
        \     NULL,\n      0, 0, 1 },\n    { \"6162636465666768696A6b6c6D6e6f707172737475\",\n
        \     NULL,\n      0, 0, 1 },\n\n    /* Invalid tests. */\n    { \"112233445566778899aabbccddeeff1122334\",
        \     NULL, 0, 0 },\n    { \"112233445566778899AABBCCDDEEFF1122334\",      NULL,
        0, 0 },\n    { \"112233445566778899AABBCCDDEEFG11223344\",     NULL, 0, 0
        },\n    { \"0:0112233445566778899aabbccddeeff11223344\",  NULL, 0, 0 },\n
        \   { \"112233445566778899aabbccddeeff11223344:\",    NULL, 0, 0 },\n    {
        \"112233445566778899aabbccddeeff112233445\",    NULL, 0, 0 },\n    { \"112233445566778899aabbccddeeff1122334455\",
        \  NULL, 0, 0, 1 },\n    { \"112233445566778899aabbccddeeff11223344blah\",
        NULL, 0, 0 },\n    { \"0\",    NULL, 0, 0 },\n    { \"00:\",  NULL, 0, 0 },\n
        \   { \"00x\",  NULL, 0, 0 },\n\n    { NULL, NULL, 0, 0 }\n  }"
      pos:
        line_end: 289
        line_start: 283
        source_file: /src/gnupg/common/t-convert.c
    - fields:
      - name: '*hex'
        type: char
      - name: bufsize
        type: unsigned
      - name: resultlen
        type: unsigned int
      - name: '*result'
        type: char
      item_type: struct
      name: "tests[] = {\n    /* Simple tests.  */\n    { \"112233445566778899aabbccddeeff1122\",
        17, 34,\n      \"\\x11\\x22\\x33\\x44\\x55\\x66\\x77\\x88\\x99\\xaa\\xbb\\xcc\\xdd\\xee\\xff\\x11\\x22\"},\n
        \   { \" 112233445566778899aabbccddeeff1122\", 17, 35,\n      \"\\x11\\x22\\x33\\x44\\x55\\x66\\x77\\x88\\x99\\xaa\\xbb\\xcc\\xdd\\xee\\xff\\x11\\x22\"},\n
        \   { \"112233445566778899aabbccddeeff1122 \", 17, 35,\n      \"\\x11\\x22\\x33\\x44\\x55\\x66\\x77\\x88\\x99\\xaa\\xbb\\xcc\\xdd\\xee\\xff\\x11\\x22\"},\n
        \   { \"  112233445566778899aabbccddeeff1122 \", 17, 37,\n      \"\\x11\\x22\\x33\\x44\\x55\\x66\\x77\\x88\\x99\\xaa\\xbb\\xcc\\xdd\\xee\\xff\\x11\\x22\"},\n
        \   { \"  112233445566778899aabbccddeeff11 \", 16, 35,\n      \"\\x11\\x22\\x33\\x44\\x55\\x66\\x77\\x88\\x99\\xaa\\xbb\\xcc\\xdd\\xee\\xff\\x11\"},\n
        \   { \"  112233445566778899aabbccddeeff11\", 16, 34,\n      \"\\x11\\x22\\x33\\x44\\x55\\x66\\x77\\x88\\x99\\xaa\\xbb\\xcc\\xdd\\xee\\xff\\x11\"}\n
        \ }"
      pos:
        line_end: 455
        line_start: 450
        source_file: /src/gnupg/common/t-convert.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/w32help.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_nvc_new
  - test_getting_values
  - test_key_extraction
  - test_iteration
  - test_whitespace
  - nvc_to_string
  - dummy_free
  - dummy_realloc
  - run_tests
  - run_modification_tests
  - convert
  - parse
  - print_usage
  - main
  source_file: /src/gnupg/common/t-name-value.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*value'
        type: char
      - name: (*test_func) (nvc_t)
        type: void
      item_type: struct
      name: "tests[] =\n  {\n    {\n      \"# This is a comment followed by an empty
        line\\n\"\n      \"\\n\",\n      NULL,\n    },\n    {\n      \"# This is a
        comment followed by two empty lines, Windows style\\r\\n\"\n      \"\\r\\n\"\n
        \     \"\\r\\n\",\n      NULL,\n    },\n    {\n      \"# Some name,value pairs\\n\"\n
        \     \"Comment: Some comment.\\n\"\n      \"SomeOtherName: Some value.\\n\",\n
        \     test_getting_values,\n    },\n    {\n      \"  # Whitespace is preserved
        as much as possible\\r\\n\"\n      \"Comment:Some comment.\\n\"\n      \"SomeOtherName:
        Some value.   \\n\",\n      test_getting_values,\n    },\n    {\n      \"#
        Values may be continued in the next line as indicated by leading\\n\"\n      \"#
        space\\n\"\n      \"Comment: Some rather long\\n\"\n      \"  comment that
        is continued in the next line.\\n\"\n      \"\\n\"\n      \"  Blank lines
        with or without whitespace are allowed within\\n\"\n      \"  continuations
        to allow paragraphs.\\n\"\n      \"SomeOtherName: Some value.\\n\",\n      test_getting_values,\n
        \   },\n    {\n      \"# Names may be given multiple times forming an array
        of values\\n\"\n      \"Comment: Some comment, element 0.\\n\"\n      \"Comment:
        Some comment, element 1.\\n\"\n      \"Comment: Some comment, element 2.\\n\"\n
        \     \"SomeOtherName: Some value.\\n\",\n      test_iteration,\n    },\n
        \   {\n      \"# One whitespace at the beginning of a continuation is swallowed.\\n\"\n
        \     \"One: Without\\n\"\n      \" Whitespace\\n\"\n      \"Two: With\\n\"\n
        \     \"  Whitespace\\n\"\n      \"Three: Blank lines in continuations encode
        newlines.\\n\"\n      \"\\n\"\n      \"  Next paragraph.\\n\",\n      test_whitespace,\n
        \   },\n    {\n      \"Description: Key to sign all GnuPG released tarballs.\\n\"\n
        \     \"  The key is actually stored on a smart card.\\n\"\n      \"Use-for-ssh:
        yes\\n\"\n      \"OpenSSH-cert: long base64 encoded string wrapped so that
        this\\n\"\n      \"  key file can be easily edited with a standard editor.\\n\"\n
        \     \"Key: (shadowed-private-key\\n\"\n      \"  (rsa\\n\"\n      \"  (n
        #00AA1AD2A55FD8C8FDE9E1941772D9CC903FA43B268CB1B5A1BAFDC900\\n\"\n      \"
        \ 2961D8AEA153424DC851EF13B83AC64FBE365C59DC1BD3E83017C90D4365B4\\n\"\n      \"
        \ 83E02859FC13DB5842A00E969480DB96CE6F7D1C03600392B8E08EF0C01FC7\\n\"\n      \"
        \ 19F9F9086B25AD39B4F1C2A2DF3E2BE317110CFFF21D4A11455508FE407997\\n\"\n      \"
        \ 601260816C8422297C0637BB291C3A079B9CB38A92CE9E551F80AA0EBF4F0E\\n\"\n      \"
        \ 72C3F250461E4D31F23A7087857FC8438324A013634563D34EFDDCBF2EA80D\\n\"\n      \"
        \ F9662C9CCD4BEF2522D8BDFED24CEF78DC6B309317407EAC576D889F88ADA0\\n\"\n      \"
        \ 8C4FFB480981FB68C5C6CA27503381D41018E6CDC52AAAE46B166BDC10637A\\n\"\n      \"
        \ E186A02BA2497FDC5D1221#)\\n\"\n      \"  (e #00010001#)\\n\"\n      \"  (shadowed
        t1-v1\\n\"\n      \"   (#D2760001240102000005000011730000# OPENPGP.1)\\n\"\n
        \     \"    )))\\n\",\n      test_key_extraction,\n    },\n  }"
      pos:
        line_end: 133
        line_start: 129
        source_file: /src/gnupg/common/t-name-value.c
    typedefs: []
    union: []
- function_names:
  - findkey_fname
  - findkey_locale
  - gnupg_get_template
  - gnupg_get_help_string
  source_file: /src/gnupg/common/helpfile.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getenv
  source_file: /src/gnupg/common/common-defs.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_common_subsystems
  source_file: /src/gnupg/common/init.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - add_arg
  - glob_arg
  - count_leading_backslashes
  - strip_one_arg
  - parse_cmdstring
  - w32_parse_commandline
  source_file: /src/gnupg/common/w32-cmdline.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '**argv'
        type: char
      - name: argc
        type: int
      - name: size
        type: int
      item_type: struct
      name: add_arg_s
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/gnupg/common/w32-cmdline.c
    typedefs: []
    union: []
- function_names:
  - add_helptag
  - clear_helptags
  - event2str
  - audit_new
  - audit_release
  - audit_set_type
  - create_log_item
  - audit_log
  - audit_log_ok
  - audit_log_i
  - audit_log_s
  - audit_log_cert
  - writeout
  - writeout_v
  - writeout_para
  - enter_li
  - leave_li
  - writeout_li
  - writeout_rem
  - find_next_log_item
  - find_log_item
  - format_serial
  - get_cert_name
  - get_cert_subject
  - list_cert
  - list_certchain
  - proc_type_encrypt
  - proc_type_sign
  - proc_type_decrypt
  - proc_type_verify
  - audit_print_result
  source_file: /src/gnupg/common/audit.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct helptag_s
      - name: '*name'
        type: char
      item_type: struct
      name: helptag_s
      pos:
        line_end: 35
        line_start: 31
        source_file: /src/gnupg/common/audit.c
    - fields:
      - name: event
        type: audit_event_t
      - name: err
        type: gpg_error_t
      - name: intvalue
        type: int
      - name: '*string'
        type: char
      - name: cert
        type: ksba_cert_t
      - name: have_err
        type: unsigned int
      - name: have_intvalue
        type: unsigned int
      item_type: struct
      name: log_item_s
      pos:
        line_end: 49
        line_start: 40
        source_file: /src/gnupg/common/audit.c
    - fields:
      - name: '*failure'
        type: char
      - name: type
        type: audit_type_t
      - name: log
        type: log_item_t
      - name: logsize
        type: size_t
      - name: logused
        type: size_t
      - name: outstream
        type: estream_t
      - name: use_html
        type: int
      - name: indentlevel
        type: int
      - name: helptags
        type: helptag_t
      item_type: struct
      name: audit_ctx_s
      pos:
        line_end: 68
        line_start: 55
        source_file: /src/gnupg/common/audit.c
    typedefs:
    - item_type: typedef
      name: '*helptag_t'
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/gnupg/common/audit.c
      type: helptag_s
    - item_type: typedef
      name: '*log_item_t'
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/gnupg/common/audit.c
      type: log_item_s
    union: []
- function_names:
  - tohex
  - gpg_error_t::my_error_from_syserror
  - gpg_error_t
  - setsysinfo
  - trap_unaligned
  - trap_unaligned
  - disable_core_dumps
  - enable_core_dumps
  - any8bitchar
  - map_w32_to_errno
  - gnupg_w32_set_errno
  - enable_special_filenames
  - disable_translate_sys2libc_fd
  - get_session_marker
  - get_uint_nonce
  - check_permissions
  - gnupg_sleep
  - gnupg_usleep
  - translate_sys2libc_fd
  - translate_sys2libc_fd_int
  - gnupg_parse_fdstr
  - check_special_filename
  - gnupg_check_special_filename
  - gnupg_tmpfile
  - gnupg_reopen_std
  - gnupg_inhibit_set_foregound_window
  - gnupg_allow_set_foregound_window
  - w32_wait_when_sharing_violation
  - w32_remove
  - gnupg_remove_ext
  - gnupg_remove
  - w32_rename
  - gnupg_rename_file
  - modestr_to_mode
  - gnupg_mkdir
  - gnupg_chdir
  - gnupg_rmdir
  - gnupg_chmod
  - gnupg_mkdtemp
  - gnupg_setenv
  - gnupg_unsetenv
  - gnupg_getcwd
  - gnupg_access
  - gnupg_stat
  - gnupg_open
  - gnupg_opendir
  - gnupg_readdir
  - gnupg_closedir
  - try_set_envvar
  - gnupg_chuid
  - w32_get_user_sid
  - gnupg_inotify_watch_delete_self
  - gnupg_inotify_watch_socket
  - gnupg_inotify_has_name
  - gnupg_get_socket_name
  - gnupg_fd_valid
  - open_stream_nc
  - output_debug_string
  source_file: /src/gnupg/common/sysutils.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WINVER
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/gnupg/common/sysutils.c
      type_or_value: '0x0500  '
    - item_type: preproc_def
      name: NUMBER_OF_LETTERS
      pos:
        line_end: 1254
        line_start: 1253
        source_file: /src/gnupg/common/sysutils.c
      type_or_value: '36'
    - item_type: preproc_def
      name: ATTEMPTS_MIN
      pos:
        line_end: 1255
        line_start: 1254
        source_file: /src/gnupg/common/sysutils.c
      type_or_value: (5 * 36 * 36 * 36)
    - item_type: preproc_def
      name: NUMBER_OF_LETTERS
      pos:
        line_end: 1259
        line_start: 1258
        source_file: /src/gnupg/common/sysutils.c
      type_or_value: '62'
    - item_type: preproc_def
      name: ATTEMPTS_MIN
      pos:
        line_end: 1260
        line_start: 1259
        source_file: /src/gnupg/common/sysutils.c
      type_or_value: (62 * 62 * 62)
    - item_type: preproc_def
      name: STRUCT_STAT
      pos:
        line_end: 1471
        line_start: 1470
        source_file: /src/gnupg/common/sysutils.c
      type_or_value: _stat
    - item_type: preproc_def
      name: STRUCT_STAT
      pos:
        line_end: 1474
        line_start: 1473
        source_file: /src/gnupg/common/sysutils.c
      type_or_value: _stat32
    - item_type: preproc_def
      name: STRUCT_STAT
      pos:
        line_end: 1477
        line_start: 1476
        source_file: /src/gnupg/common/sysutils.c
      type_or_value: _stat64i32
    - item_type: preproc_def
      name: BUFSIZE_FOR_INOTIFY
      pos:
        line_end: 1941
        line_start: 1940
        source_file: /src/gnupg/common/sysutils.c
      type_or_value: (sizeof (struct inotify_event) + 255 + 1)
    structs:
    - fields:
      - name: dirent
        type: struct gnupg_dirent_s
      - name: namesize
        type: size_t
      - name: name[256]
        type: char
      item_type: struct
      name: gnupg_dir_s
      pos:
        line_end: 105
        line_start: 95
        source_file: /src/gnupg/common/sysutils.c
    - fields:
      - name: letter
        type: char
      - name: value
        type: mode_t
      item_type: struct
      name: "table[] = { { '-', 0 },\n                { 'r', S_IRUSR }, { 'w', S_IWUSR
        }, { 'x', S_IXUSR },\n                { 'r', S_IRGRP }, { 'w', S_IWGRP },
        { 'x', S_IXGRP },\n                { 'r', S_IROTH }, { 'w', S_IWOTH }, { 'x',
        S_IXOTH } }"
      pos:
        line_end: 1116
        line_start: 1113
        source_file: /src/gnupg/common/sysutils.c
    typedefs: []
    union:
    - fields:
      - name: ev
        type: struct inotify_event
      - name: _buf[sizeof (struct inotify_event) + 255 + 1]
        type: char
      item_type: union
      name: buf
      pos:
        line_end: 1944
        line_start: 1941
        source_file: /src/gnupg/common/sysutils.c
- function_names:
  - make_flagged_int
  - openpgp_oid_from_str
  - openpgp_oidbuf_to_str
  - openpgp_oid_to_str
  - openpgp_oidbuf_is_ed25519
  - openpgp_oid_is_ed25519
  - openpgp_oidbuf_is_cv25519
  - openpgp_oidbuf_is_ed448
  - openpgp_oidbuf_is_cv448
  - openpgp_oid_is_cv25519
  - openpgp_oid_is_ed448
  - openpgp_oid_is_cv448
  - openpgp_curve_to_oid
  - openpgp_oid_to_curve
  - openpgp_oid_or_name_to_curve
  - curve_supported_p
  - openpgp_enum_curves
  - openpgp_is_curve_supported
  - map_gcry_pk_to_openpgp
  - map_openpgp_pk_to_gcry
  - get_keyalgo_string
  source_file: /src/gnupg/common/openpgp-oid.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*oidstr'
        type: char
      - name: nbits
        type: unsigned int
      - name: '*alias'
        type: char
      - name: '*abbr'
        type: char
      - name: pubkey_algo
        type: int
      item_type: struct
      name: "oidtable[] = {\n\n  { \"Curve25519\", \"1.3.6.1.4.1.3029.1.5.1\", 255,
        \"cv25519\", NULL,\n    PUBKEY_ALGO_ECDH /* only during development */},\n
        \ { \"Ed25519\",    \"1.3.6.1.4.1.11591.15.1\", 255, \"ed25519\", NULL,\n
        \   PUBKEY_ALGO_EDDSA },\n  { \"Curve25519\", \"1.3.101.110\",            255,
        \"cv25519\", NULL,\n    PUBKEY_ALGO_ECDH },\n  { \"Ed25519\",    \"1.3.101.112\",
        \           255, \"ed25519\", NULL,\n    PUBKEY_ALGO_EDDSA },\n  { \"X448\",
        \      \"1.3.101.111\",            448, \"cv448\",   NULL,\n    PUBKEY_ALGO_ECDH
        },\n  { \"Ed448\",      \"1.3.101.113\",            456, \"ed448\",   NULL,\n
        \   PUBKEY_ALGO_EDDSA },\n\n  { \"NIST P-256\",      \"1.2.840.10045.3.1.7\",
        \   256, \"nistp256\", NULL,\n    0 },\n  { \"NIST P-384\",      \"1.3.132.0.34\",
        \          384, \"nistp384\", NULL,\n    0 },\n  { \"NIST P-521\",      \"1.3.132.0.35\",
        \          521, \"nistp521\", NULL,\n    0 },\n\n  { \"brainpoolP256r1\",
        \"1.3.36.3.3.2.8.1.1.7\",   256, NULL, \"bp256\",\n    0 },\n  { \"brainpoolP384r1\",
        \"1.3.36.3.3.2.8.1.1.11\",  384, NULL, \"bp384\",\n    0 },\n  { \"brainpoolP512r1\",
        \"1.3.36.3.3.2.8.1.1.13\",  512, NULL, \"bp512\",\n    0 },\n\n  { \"secp256k1\",
        \      \"1.3.132.0.10\",           256 },\n\n  { NULL, NULL, 0}\n}"
      pos:
        line_end: 47
        line_start: 40
        source_file: /src/gnupg/common/openpgp-oid.c
    - fields:
      - name: algo
        type: enum gcry_pk_algos
      - name: nbits
        type: unsigned int
      - name: '*curve'
        type: char
      - name: '*name'
        type: char
      item_type: struct
      name: keyalgo_string_s
      pos:
        line_end: 118
        line_start: 112
        source_file: /src/gnupg/common/openpgp-oid.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/gnupg/common/t-helpfile.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/compliance.h
  types:
    enum:
    - enumerators:
      - name: CO_GNUPG
      - name: CO_RFC4880
      - name: CO_RFC2440
      - name: CO_PGP8
      - name: CO_PGP7
      - name: CO_DE_VS
      item_type: enum
      name: gnupg_compliance_mode
      pos:
        line_end: 42
        line_start: 38
        source_file: /src/gnupg/common/compliance.h
    - enumerators:
      - name: PK_USE_ENCRYPTION
      - name: PK_USE_DECRYPTION
      - name: PK_USE_VERIFICATION
      - name: PK_USE_SIGNING
      item_type: enum
      name: pk_use_case
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/gnupg/common/compliance.h
    preproc_defs:
    - item_type: preproc_def
      name: PK_ALGO_FLAG_RSAPSS
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/gnupg/common/compliance.h
      type_or_value: '1    '
    - item_type: preproc_def
      name: PK_ALGO_FLAG_ECC18
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/common/compliance.h
      type_or_value: '256  '
    structs:
    - fields:
      - name: '*keyword'
        type: char
      - name: value
        type: int
      item_type: struct
      name: gnupg_compliance_option
      pos:
        line_end: 86
        line_start: 82
        source_file: /src/gnupg/common/compliance.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/exectool.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "(*exec_tool_status_cb_t) (void *opaque,\n                                       const
        char *keyword,\n                                       char *args)"
      pos:
        line_end: 42
        line_start: 40
        source_file: /src/gnupg/common/exectool.h
      type: void
    union: []
- function_names:
  - _DOTLOCK_PREFIX1
  - _DOTLOCK_PREFIX2
  - _DOTLOCK_PREFIX
  source_file: /src/gnupg/common/dotlock.h
  types:
    enum:
    - enumerators:
      - name: DOTLOCK_CONFIG_TEST
      - name: DOTLOCK_NOT_LOCKED
      - name: DOTLOCK_INV_FILE
      - name: DOTLOCK_CONFLICT
      - name: DOTLOCK_FILE_ERROR
      - name: DOTLOCK_STALE_REMOVED
      - name: DOTLOCK_WAITING
      - name: DOTLOCK_LOCKED_ALREADY
      - name: DOTLOCK_FATAL
      item_type: enum
      name: dotlock_reasons
      pos:
        line_end: 111
        line_start: 100
        source_file: /src/gnupg/common/dotlock.h
    preproc_defs:
    - item_type: preproc_def
      name: dotlock_disable
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/gnupg/common/dotlock.h
      type_or_value: _DOTLOCK_PREFIX(dotlock_disable)
    - item_type: preproc_def
      name: dotlock_create
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/gnupg/common/dotlock.h
      type_or_value: _DOTLOCK_PREFIX(dotlock_create)
    - item_type: preproc_def
      name: dotlock_create_with
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/gnupg/common/dotlock.h
      type_or_value: _DOTLOCK_PREFIX(dotlock_create_with)
    - item_type: preproc_def
      name: dotlock_set_fd
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/gnupg/common/dotlock.h
      type_or_value: _DOTLOCK_PREFIX(dotlock_set_fd)
    - item_type: preproc_def
      name: dotlock_get_fd
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/gnupg/common/dotlock.h
      type_or_value: _DOTLOCK_PREFIX(dotlock_get_fd)
    - item_type: preproc_def
      name: dotlock_destroy
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/gnupg/common/dotlock.h
      type_or_value: _DOTLOCK_PREFIX(dotlock_destroy)
    - item_type: preproc_def
      name: dotlock_take
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/gnupg/common/dotlock.h
      type_or_value: _DOTLOCK_PREFIX(dotlock_take)
    - item_type: preproc_def
      name: dotlock_release
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/gnupg/common/dotlock.h
      type_or_value: _DOTLOCK_PREFIX(dotlock_release)
    - item_type: preproc_def
      name: dotlock_remove_lockfiles
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/gnupg/common/dotlock.h
      type_or_value: _DOTLOCK_PREFIX(dotlock_remove_lockfiles)
    - item_type: preproc_def
      name: DOTLOCK_LOCK_BY_PARENT
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/gnupg/common/dotlock.h
      type_or_value: '(1U << 6) '
    - item_type: preproc_def
      name: DOTLOCK_LOCKED
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/gnupg/common/dotlock.h
      type_or_value: '(1U << 7) '
    structs: []
    typedefs:
    - item_type: typedef
      name: '*dotlock_t'
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/gnupg/common/dotlock.h
      type: dotlock_handle
    union: []
- function_names:
  - TEST_LOG_CAT
  - my_libassuan_log_handler
  - setup_libassuan_logging
  - set_libassuan_log_cats
  - log_libassuan_system_error
  - send_one_option
  - send_pinentry_environment
  - lock_spawning
  - unlock_spawning
  - wait_for_sock
  - start_new_service
  - start_new_gpg_agent
  - start_new_keyboxd
  - start_new_dirmngr
  - get_assuan_server_version
  - warn_server_version_mismatch
  - w32_ack_to_frontend
  source_file: /src/gnupg/common/asshelp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: lock_spawn_t
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/gnupg/common/asshelp.c
      type_or_value: HANDLE
    - item_type: preproc_def
      name: lock_spawn_t
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/gnupg/common/asshelp.c
      type_or_value: dotlock_t
    - item_type: preproc_def
      name: SECS_TO_WAIT_FOR_AGENT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/gnupg/common/asshelp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: SECS_TO_WAIT_FOR_KEYBOXD
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/gnupg/common/asshelp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: SECS_TO_WAIT_FOR_DIRMNGR
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/gnupg/common/asshelp.c
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_find_tlv
  - find_tlv
  - find_tlv_unchecked
  - parse_ber_header
  - parse_sexp
  source_file: /src/gnupg/common/tlv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ulongtobuf
  - ushorttobuf
  - buf16_to_ulong
  - buf16_to_uint
  - buf16_to_ushort
  - buf16_to_u16
  - buf32_to_size_t
  - buf32_to_ulong
  - buf32_to_uint
  - buf32_to_u32
  source_file: /src/gnupg/common/host2net.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_file
  - read_key
  - main
  source_file: /src/gnupg/common/t-ssh-utils.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FLAGS_NOFIPS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/common/t-ssh-utils.c
      type_or_value: '1'
    structs:
    - fields:
      - name: '*key'
        type: char
      - name: '*fpr_md5'
        type: char
      - name: '*fpr_sha256'
        type: char
      - name: flags
        type: int
      item_type: struct
      name: "sample_keys[] = {\n  { \"(protected-private-key \"\n    \"(rsa \"\n    \"(n
        #\"\n    \"00D88E47BCE0DA99D6180E8A9F4E6A673CC16F5BB6CF930E0E868BAABA715A8E1D3E2BEA\"\n
        \   \"5477170E1F6CAFC0F8907B9892993C70AC476BBB301669F68EE0593532FB522DD60755A3\"\n
        \   \"2F8B08649E856271A7F9BCB25F29554DF11707F812EA377683A99DD4698C4DBF797A0ABF\"\n
        \   \"43C8EBB364B9FFC9EE78CBEA348C590507A4EA390312153DDD905EC4F1A63D5DA56C08FD\"\n
        \   \"C3F6E5707BFC5DBDC09D19723B1AC6E466906F13AA2ECDBD258148F86C980D45CF233415\"\n
        \   \"38C5857C2CF0B4C9AB2B4E6A4517FF084FDB009A33553A68907A29691B6FAE994E864F78\"\n
        \   \"7B83F714730BEDB0AF1723D636E034D73EB7EC9BA127BB4BE80FD805813E3F45E7FAE514\"\n
        \   \"AD2ECA9607#)\"\n    \"(e \\\"#\\\")\"\n    \"(protected openpgp-s2k3-sha1-aes-cbc
        \"\n    \"(\"\n    \"(sha1 #B5847F9A2DB4E0C5# \\\"5242880\\\")\"\n    \"#342D81BDE21301F18FDCE169A99A47C5#)\"\n
        \   \"#23512602219EC7A97DBA89347CCD59D2072D80CE3F7DD6C97A058B83DAB3C829D97DF5\"\n
        \   \"DFE9181F27DBF58258C4CDBD562A5B20BB5BC35EDCA7B1E57B8CDBF92D798F46EE5567BD\"\n
        \   \"8A67EF3BE09908A49D41AA166A3398B64227BC75021C69A8FE8354E2903EF52DC91B1FE3\"\n
        \   \"EF9558E5C2D34CF38BFC29E99A49AE30B0C22CE81EE14FC71E986E7C7CB5FCF807433FDA\"\n
        \   \"EF1D00985767265BA0BE333754E44CCF622CBB98A029D78A6A9AADBC24613127B6448350\"\n
        \   \"23DA355ED31CF089DD11A7FC6003CEEB53FB327A05604D053C99996F9E01CB355983F66E\"\n
        \   \"7BEB9687A9277BBF440ED5FAF1A8396C9B06C9B47BA7A994E1931B08DAD34449952CD343\"\n
        \   \"9A691477682C324EA07CCCE5DF0F0E9DAEFAE3A4717AACA6DC18ED91DD5A820C924BD36B\"\n
        \   \"B3BA85BD63B3180C7F94EE58956940621280B9628FA5CC560BB14331AF1A7B5B499F8F03\"\n
        \   \"0ED464ABD4E26C5FD610697EDD0FD1203983E73418F3776568A613D3CEFF17199473052A\"\n
        \   \"18807A6F5C52A2A643185801D087EE4DC930ABEEB67C5B8A1CB2F29D0ACBD855972BEC0B\"\n
        \   \"DE6E52387CFCC54B4C2B87EE947C97173BFCAE3E2658EB819D87F542C9A9FE6C410D08F5\"\n
        \   \"3CD5451FB50253F4A848DFE136B3A5861D58B76A26A7E3E4E7A8F8D4BD5B80430674A6B9\"\n
        \   \"A2C8EDD53DB37865D1ACBB07E1758DFF64A944E0126F948BF088C0FC0C3607E39522EC94\"\n
        \   \"91483A90D9498D7F6C3C8720124C7E3F6E271E78E1CFFB4EF64F070F7424F30372A07D02\"\n
        \   \"2355D8B17BB0DEBCBE101F621E0526551A35A56830D74E0F5BD6313DF114D1E46D4844AA\"\n
        \   \"E4EB6268637D04B27D200D7F40AFA9AD2CFAA5415E5FC08358FFA79A9E743CCDF6668FE5\"\n
        \   \"D79FA03D61941E57244F066A31F1C9D6A34DC62BC738C52B604F00B19EB9FD0173F3B139\"\n
        \   \"42932066B7DC94DC4C563392F798A1CE2D5D75B8FF93E440433263CFB7016143A9923CD9\"\n
        \   \"634E964A8056946F462B06F320F44449D85B07FA26A324505C858274F89EDBD8346950DE\"\n
        \   \"5F#)\"\n    \"(protected-at \\\"20110720T135431\\\")\"\n    \")\"\n
        \   \"(comment passphrase_is_abc)\"\n    \")\",\n    \"MD5:c7:c6:a7:ec:04:6c:87:59:54:f2:88:58:09:e0:f2:b1\",\n
        \   \"SHA256:ksKb4DKk2SFX56GRtpt0szBnyjiYARSb2FNlUb7snnE\"\n  },\n  {\n    \"(protected-private-key
        \"\n    \"(dsa \"\n    \"(p #00FC7DC086F4517079BCCFA7FD229477FE88B0231038DFC21B29CCBD74C6F6FE04FD\"\n
        \   \"7248C0473D5028BE106D7A7C8F54B269225789E781763527D1432CD46E416C2D14DDCA70\"\n
        \   \"27DA4B92D1E222B5BDF4B9C8C761CACCFBD108F7729412E8835653BE5073447287A6BDEB\"\n
        \   \"4645A5411752405EE7F503E44B1DFDCA6054CD3C44630B#)\"\n    \"(q #00D498505BF0E7EE01239EB51F2B400B8EF6329B17#)\"\n
        \   \"(g #00A127B3DD5106F0A463312E42ECB83790E6F3BEA7AC3FAF7A42FB2C00F376323676\"\n
        \   \"C9E48984F0D4AC3FE5856F1C2765E9BC3C8A5C9C9CD3166C057E82569D187C48591AA66B\"\n
        \   \"8966BFF2B827BE36BD0BA4B895B42136F1381D52DDA708B2A3D181F648228DFFFEB153DA\"\n
        \   \"ACCAEBB51EF08A7807CD628024CEFF96FEE97DE95C8CBE#)\"\n    \"(y #008E2B0915A3A299D83B4333C848C5D312F25903773E8C4D50691CAF81C3B768FA41\"\n
        \   \"7D19F0FD437B377CCF51D3AE598649656D4D74D210CDBC2B76209B16EAAFCB14D6F4D691\"\n
        \   \"20164885852AF1CEBB4D8602AD6755DFA7163645B4DB7926CD44D2DD9F840BFEF57F3DB0\"\n
        \   \"933C85EB6B0AAC20BC67E73F47B8DDBEC8EFAA64286EF1#)\"\n    \"(protected
        openpgp-s2k3-sha1-aes-cbc \"\n    \"(\"\n    \"(sha1  \\\"\xFC\xBFjy\xB2\xFCa4\\\"
        \\\"5242880\\\")\"\n    \"#FF12BEE0B03F842349717AE1AB6D7AC2#)\"\n    \"#95570487C8B5C49492D4E662259F2CF9B6D7E64F728F17A1FE1B2DA616E5976FE32861E\"\n
        \   \"C4B1F0DA03D9006C432CF2136871266E9444377ACEF04340B36B4550B5C1E4CC69AD4380\"\n
        \   \"A709FB0DAA5104A8B#)\"\n    \"(protected-at \\\"20110720T142801\\\")\"\n
        \   \")\"\n    \"(comment sample_dsa_passphrase_is_abc)\"\n    \")\",\n    \"MD5:2d:b1:70:1a:04:9e:41:a3:ce:27:a5:c7:22:fe:3a:a3\",\n
        \   \"SHA256:z8+8HEuD/5QpegGS4tSK02dJF+a6o2V67VM2gOPz9oQ\",\n    FLAGS_NOFIPS\n
        \ },\n  { /* OpenSSH 6.7p1 generated key:  */\n    \"(protected-private-key
        \"\n    \"(ecdsa \"\n    \"(curve \\\"NIST P-256\\\")\"\n    \"(q #041F17ED5E3D637181DFA68157270F94A46C089B6F5D4518564600551C0A60A063B3\"\n
        \   \"31EDE027A23CAB58A5BAD469600229DC8DED06380A92F86460ED400F963319#)\"\n
        \   \"(protected openpgp-s2k3-sha1-aes-cbc \"\n    \"(\"\n    \"(sha1 #43F887516D94A502#
        \\\"20971520\\\")\"\n    \"#B135DEDA02CF36F126BA661FB22A35CF#)\"\n    \"#37E74BEC054B17723C106BA69214CFDA245512E40F4848ECF5719E3700002C940BC7EEC\"\n
        \   \"283537CA4D8779107E07F03AAA9FAF155BA9BF6286080C35EF72DDAAF303FD9069475B03\"\n
        \   \"C99D9FC93C58CD83A852964D2C7BFD1D803E2ECD1331937C3#)\"\n    \"(protected-at
        \\\"20150922T071259\\\")\"\n    \")\"\n    \"(comment \\\"ecdsa w/o comment\\\")\"\n
        \   \")\", /* Passphrase=\"abc\" */\n    \"MD5:93:4f:08:02:7d:cb:16:9b:0c:39:21:4b:cf:28:5a:19\",\n
        \   \"SHA256:zSj4uXfE1hlQnESD2LO723fMGXsNwzHrfqOfqep37is\"\n  },\n  { /* OpenSSH
        6.7p1 generated key:  */\n    \"(protected-private-key \"\n    \"(ecdsa \"\n
        \   \"(curve \\\"NIST P-384\\\") \"\n    \"(q #04B6E747AC2F179F96088D1DB58EB8600BB23FAEF5F58EFE712A7478FB7BF735\"\n
        \   \"B015EA2DFBBA965D8C6EB135A2B9B9599D65BF0167D2DB6ABF00F641F0F5FC15A4C3\"\n
        \   \"EFE432DA331B7C8A66D6C4C2B0EBB5ED11A80301C4E57C1EBD25665CEBF123#)\"\n
        \   \"(protected openpgp-s2k3-sha1-aes-cbc \"\n    \"(\"\n    \"(sha1 #3B13710B67D756EA#
        \\\"20971520\\\")\"\n    \"#720599AC095BF1BD73ED72F49FB77BFA#)\"\n    \"#F1A522F4533E3A6E40821D67CEA6C28A7FF07ACA4BEE81E0F39193B2E469E0C583D\"\n
        \   \"A42E0E2D52ADB5ACFAB9C4CA7F1C3556FD7FD2770717FB3CE7C59474A3E2A7AF3D93\"\n
        \   \"9EC01E067DAAA60D3D355D9BABCCD1F013E8637C555DDFA61F8FA5AFB010FF02979D\"\n
        \   \"35BBBEED71BFD8BB508F7#)\"\n    \"(protected-at \\\"20150922T070806\\\")\"\n
        \   \")\"\n    \"(comment \\\"ecdsa w/o comment\\\")\"\n    \")\", /* Passphrase=\"abc\"
        */\n    \"MD5:a3:cb:44:c8:56:15:25:62:85:fd:e8:04:7a:26:dc:76\",\n    \"SHA256:JuQh5fjduynuuTEwI9C6yAKK1NnLX9PPd7TP0qZfbGs\"\n
        \ },\n  { /* OpenSSH 6.7p1 generated key:  */\n    \"(protected-private-key
        \"\n    \"(ecdsa \"\n    \"(curve \\\"NIST P-521\\\")\"\n    \"(q #04005E460058F37DB5ADA670040203C4D7E18D9FC8A7087165904A4E25EE5EEE\"\n
        \   \"3046406D922616DA7E71016A1CB9E57A45E3D3727D7C8DF0F11AE2BD75FAD3355CAA\"\n
        \   \"E1019D89D33CC77424E5DA233588207444FC9F67BBE428A9528B7DC77AF8261A1D45\"\n
        \   \"ACC1A657C99E361E93C1E5C0F214104C18807670F4CDC1E038B7C950FDBAAECB40#)\"\n
        \   \"(protected openpgp-s2k3-sha1-aes-cbc \"\n    \"(\"\n    \"(sha1 #FB2E36984DE2E17C#
        \\\"19737600\\\")\"\n    \"#85DB6445B37012F9A449E5AC0D5017E9#)\"\n    \"#B4C7CCDFE9B5D32B31BA7C763B80485A62EBF34FD68D8E306DA75FD2BDDBABAA098\"\n
        \   \"9B51972BA3B731DA5261E0ADC3FAEF9BB4C8284C53D3E88E738AEF1490941903A5B2\"\n
        \   \"9F3747E83C4D80B6A89E0B7BDEE5C6638332F4AAEA5983F760B2887A43A1C4BE0564\"\n
        \   \"3F72C6943987D97FDAA7D9C235C6D31973A2400DA9BAB564A16EA#)\"\n    \"(protected-at
        \\\"20150922T075611\\\")\"\n    \")\"\n    \"(comment \\\"ecdsa w/o comment\\\")\"\n
        \   \")\", /* Passphrase=\"abc\" */\n    \"MD5:1e:a6:94:ab:bd:81:73:5f:22:bc:0e:c7:89:f6:68:df\",\n
        \   \"SHA256:+pbRyYa2UBwDki1k4Wziu2CKrdJIbZM/hOWOQ/sNe/0\"\n  },\n  { /* OpenSSH
        6.7p1 generated key:  */\n    \"(protected-private-key \"\n    \"(ecc \"\n
        \   \"(curve Ed25519)\"\n    \"(flags eddsa)\"\n    \"(q #40A3577AA7830C50EBC15B538E9505DB2F0D2FFCD57EA477DD83dcaea530f3c277#)\"\n
        \   \"(protected openpgp-s2k3-sha1-aes-cbc \"\n    \"(\"\n    \"(sha1 #FA8123F1A37CBC1F#
        \\\"3812352\\\")\"\n    \"#7671C7387E2DD931CC62C35CBBE08A28#)\"\n    \"#75e928f4698172b61dffe9ef2ada1d3473f690f3879c5386e2717e5b2fa46884\"\n
        \   \"b189ee409827aab0ff37f62996e040b5fa7e75fc4d8152c8734e2e648dff90c9\"\n
        \   \"e8c3e39ea7485618d05c34b1b74ff59676e9a3d932245cc101b5904777a09f86#)\"\n
        \   \"(protected-at \\\"20150928T050210\\\")\"\n    \")\"\n    \"(comment
        \\\"eddsa w/o comment\\\")\"\n    \")\", /* Passphrase=\"abc\" */\n    \"MD5:f1:fa:c8:a6:40:bb:b9:a1:65:d7:62:65:ac:26:78:0e\",\n
        \   \"SHA256:yhwBfYnTOnSXcWf1EOPo+oIIpNJ6w/bG36udZ96MmsQ\",\n    0 /* The
        fingerprint works in FIPS mode because ECC algorithm is enabled */\n  },\n
        \ {\n    NULL,\n    NULL\n  }\n}"
      pos:
        line_end: 37
        line_start: 31
        source_file: /src/gnupg/common/t-ssh-utils.c
    typedefs: []
    union: []
- function_names:
  - parse_comopt
  source_file: /src/gnupg/common/comopt.c
  types:
    enum:
    - enumerators:
      - name: aNull
        value: '0'
      - name: oKeyboxdProgram
      - name: oNoAutostart
      - name: oLogFile
        value: '500'
      - name: oUseKeyboxd
      - name: oNoop
      item_type: enum
      name: opt_values
      pos:
        line_end: 50
        line_start: 40
        source_file: /src/gnupg/common/comopt.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tlv_builder_new
  - ensure_space
  - tlv_builder_add_ptr
  - tlv_builder_add_val
  - tlv_builder_add_tag
  - tlv_builder_add_end
  - compute_lengths
  - tlv_builder_finalize
  - put_tlv_to_membuf
  - get_tlv_length
  source_file: /src/gnupg/common/tlv-builder.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: class
        type: int
      - name: tag
        type: int
      - name: is_constructed
        type: unsigned int
      - name: is_stop
        type: unsigned int
      - name: '*value'
        type: void
      - name: valuelen
        type: size_t
      - name: '*buffer'
        type: char
      item_type: struct
      name: item_s
      pos:
        line_end: 40
        line_start: 31
        source_file: /src/gnupg/common/tlv-builder.c
    - fields:
      - name: error
        type: gpg_error_t
      - name: use_secure
        type: int
      - name: nallocateditems
        type: size_t
      - name: nitems
        type: size_t
      - name: '*items'
        type: struct item_s
      - name: laststop
        type: int
      item_type: struct
      name: tlv_builder_s
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/gnupg/common/tlv-builder.c
    typedefs: []
    union: []
- function_names:
  - run_mem_cleanup
  - register_mem_cleanup_func
  - writestring_via_estream
  - early_system_init
  - _init_common_subsystems
  - prepare_w32_commandline
  source_file: /src/gnupg/common/init.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/gnupg/common/init.c
      type_or_value: '0x0600  '
    structs:
    - fields:
      - name: next
        type: mem_cleanup_item_t
      - name: (*func) (void)
        type: void
      item_type: struct
      name: mem_cleanup_item_s
      pos:
        line_end: 58
        line_start: 54
        source_file: /src/gnupg/common/init.c
    typedefs:
    - item_type: typedef
      name: '*mem_cleanup_item_t'
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/gnupg/common/init.c
      type: mem_cleanup_item_s
    union: []
- function_names:
  - xtrymalloc
  - xtrycalloc
  - xfree
  - my_set_errno
  - my_set_errno
  - _
  - my_fatal_0
  - my_fatal_0
  - LOCK_all_lockfiles
  - UNLOCK_all_lockfiles
  - LOCK_all_lockfiles
  - UNLOCK_all_lockfiles
  - map_w32_to_errno
  - any8bitchar
  - default_msg_cb
  - dotlock_disable
  - maybe_deadlock
  - read_lockfile
  - use_hardlinks_p
  - dotlock_get_process_id
  - dotlock_detect_tname
  - dotlock_create_unix
  - dotlock_create_w32
  - dotlock_create_with
  - dotlock_set_fd
  - dotlock_get_fd
  - dotlock_create
  - dotlock_destroy_unix
  - dotlock_destroy_w32
  - dotlock_destroy
  - dotlock_is_locked
  - next_wait_interval
  - dotlock_take_unix
  - dotlock_take_w32
  - dotlock_take
  - dotlock_release_unix
  - dotlock_release_w32
  - dotlock_release
  - dotlock_remove_lockfiles
  source_file: /src/gnupg/common/dotlock.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_DOSISH_SYSTEM
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/gnupg/common/dotlock.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_POSIX_SYSTEM
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/gnupg/common/dotlock.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SIGNAL_H
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/gnupg/common/dotlock.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DIRSEP_C
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/gnupg/common/dotlock.c
      type_or_value: '''\\'''
    - item_type: preproc_def
      name: EXTSEP_S
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/gnupg/common/dotlock.c
      type_or_value: '"."'
    - item_type: preproc_def
      name: DIRSEP_C
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/gnupg/common/dotlock.c
      type_or_value: '''/'''
    - item_type: preproc_def
      name: EXTSEP_S
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/gnupg/common/dotlock.c
      type_or_value: '"."'
    structs:
    - fields:
      - name: '*next'
        type: struct dotlock_handle
      - name: '*lockname'
        type: char
      - name: locked
        type: unsigned int
      - name: disable
        type: unsigned int
      - name: use_o_excl
        type: unsigned int
      - name: by_parent
        type: unsigned int
      - name: no_write
        type: unsigned int
      - name: extra_fd
        type: int
      - name: "(*msg_cb)(dotlock_t, void *,\n                enum dotlock_reasons
          reason,\n                const char *, ...)"
        type: int
      - name: '*msg_cb_arg'
        type: void
      item_type: struct
      name: dotlock_handle
      pos:
        line_end: 382
        line_start: 357
        source_file: /src/gnupg/common/dotlock.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/types.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIZEOF_UNSIGNED_SHORT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/common/types.h
      type_or_value: '2'
    - item_type: preproc_def
      name: SIZEOF_UNSIGNED_INT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/common/types.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_UNSIGNED_LONG
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/gnupg/common/types.h
      type_or_value: '4'
    structs: []
    typedefs:
    - item_type: typedef
      name: byte
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/gnupg/common/types.h
      type: char
    - item_type: typedef
      name: byte
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/gnupg/common/types.h
      type: unsigned char
    - item_type: typedef
      name: ushort
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/gnupg/common/types.h
      type: unsigned short
    - item_type: typedef
      name: ulong
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/gnupg/common/types.h
      type: unsigned long
    - item_type: typedef
      name: u16
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/gnupg/common/types.h
      type: unsigned int
    - item_type: typedef
      name: u16
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/gnupg/common/types.h
      type: unsigned short
    - item_type: typedef
      name: u32
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/gnupg/common/types.h
      type: unsigned int
    - item_type: typedef
      name: u32
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/gnupg/common/types.h
      type: unsigned long
    union: []
- function_names:
  - gpg_error_t::my_error_from_syserror
  - gpg_error_t::my_error_from_errno
  - start_gpg
  - release_gpg
  - writer_thread_main
  - start_writer
  - reader_thread_main
  - start_reader
  - _gpg_encrypt
  - gpg_encrypt_blob
  - gpg_encrypt_stream
  - _gpg_decrypt
  - gpg_decrypt_blob
  - gpg_decrypt_stream
  source_file: /src/gnupg/common/call-gpg.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: fd
        type: int
      - name: '*data'
        type: void
      - name: datalen
        type: size_t
      - name: stream
        type: estream_t
      - name: '*err_addr'
        type: gpg_error_t
      item_type: struct
      name: writer_thread_parms
      pos:
        line_end: 172
        line_start: 165
        source_file: /src/gnupg/common/call-gpg.c
    - fields:
      - name: fd
        type: int
      - name: '*mb'
        type: membuf_t
      - name: stream
        type: estream_t
      - name: '*err_addr'
        type: gpg_error_t
      item_type: struct
      name: reader_thread_parms
      pos:
        line_end: 300
        line_start: 294
        source_file: /src/gnupg/common/call-gpg.c
    typedefs: []
    union: []
- function_names:
  - test_read_registry
  - main
  source_file: /src/gnupg/common/t-w32-reg.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - i18n_init
  - i18n_switchto_utf8
  - i18n_switchback
  - i18n_utf8
  - i18n_localegettext
  source_file: /src/gnupg/common/i18n.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_MSGCACHE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/common/i18n.c
      type_or_value: '1'
    structs:
    - fields:
      - name: '*next'
        type: struct msg_cache_s
      - name: '*key'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: msg_cache_s
      pos:
        line_end: 56
        line_start: 51
        source_file: /src/gnupg/common/i18n.c
    - fields:
      - name: '*next'
        type: struct msg_cache_heads_s
      - name: '*cache'
        type: struct msg_cache_s
      - name: lc_messages[1]
        type: char
      item_type: struct
      name: msg_cache_heads_s
      pos:
        line_end: 65
        line_start: 60
        source_file: /src/gnupg/common/i18n.c
    typedefs: []
    union: []
- function_names:
  - set_completer
  - inhibit_completion
  - cleanup_after_signal
  - init_stream
  - read_write_history
  - gnupg_rl_initialize
  source_file: /src/gnupg/common/gpgrlhelp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_w32_registry_string
  - read_w32_reg_string
  source_file: /src/gnupg/common/w32-reg.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dlopen
  - dlsym
  - dlerror
  - dlclose
  source_file: /src/gnupg/common/dynload.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTLD_LAZY
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/common/dynload.h
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/ksba-io-support.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GNUPG_KSBA_IO_PEM
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/gnupg/common/ksba-io-support.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: GNUPG_KSBA_IO_BASE64
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/gnupg/common/ksba-io-support.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: GNUPG_KSBA_IO_AUTODETECT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/common/ksba-io-support.h
      type_or_value: '4  '
    - item_type: preproc_def
      name: GNUPG_KSBA_IO_MULTIPEM
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/common/ksba-io-support.h
      type_or_value: '8  '
    - item_type: preproc_def
      name: GNUPG_KSBA_IO_STRIP
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/gnupg/common/ksba-io-support.h
      type_or_value: '16  '
    structs: []
    typedefs:
    - item_type: typedef
      name: '*gnupg_ksba_io_t'
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/gnupg/common/ksba-io-support.h
      type: gnupg_ksba_io_s
    - item_type: typedef
      name: "(*gnupg_ksba_progress_cb_t)(ctrl_t ctrl,\n                                                uint64_t
        current,\n                                                uint64_t total)"
      pos:
        line_end: 48
        line_start: 46
        source_file: /src/gnupg/common/ksba-io-support.h
      type: gpg_error_t
    union: []
- function_names:
  - pass
  - fail
  - FREEEXPR
  - ADDEXPR
  - test_1_getval
  - run_test_1
  - run_test_1b
  - test_2_getval
  - run_test_2
  - main
  source_file: /src/gnupg/common/t-recsel.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/gnupg/common/t-recsel.c
      type_or_value: '"t-recsel"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_all
  - main
  source_file: /src/gnupg/common/t-w32-cmdline.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/common/t-w32-cmdline.c
      type_or_value: '"t-w32-cmdline"'
    structs:
    - fields:
      - name: '*cmdline'
        type: char
      - name: argc
        type: int
      - name: '*argv[10]'
        type: char
      - name: use_glob
        type: int
      item_type: struct
      name: "tests[] = {\n    /* Examples from \"Parsing C++ Command-Line Arguments\"
        dated 11/18/2006.\n     * https://docs.microsoft.com/en-us/previous-versions/17w5ykft(v=vs.85)\n
        \    */\n    { \"\\\"abc\\\" d e\", 3,          { \"abc\",      \"d\",     \"e\"
        }},\n    { \"a\\\\\\\\\\\\b d\\\"e f\\\"g h\", 3, { \"a\\\\\\\\\\\\b\", \"de
        fg\", \"h\" }},\n    { \"a\\\\\\\\\\\\\\\"b c d\",       3, { \"a\\\\\\\"b\",
        \  \"c\",     \"d\" }},\n    { \"a\\\\\\\\\\\\\\\\\\\"b c\\\" d e\", 3, {
        \"a\\\\\\\\b c\", \"d\",     \"e\" }},\n    /* Examples from \"Parsing C Command-Line
        Arguments\" dated 11/09/2020.\n     * https://docs.microsoft.com/en-us/cpp/c-language/\\\n
        \    * parsing-c-command-line-arguments?view=msvc-160\n     */\n    { \"\\\"a
        b c\\\" d e\",          3, { \"a b c\",    \"d\",     \"e\" }},\n    { \"\\\"ab\\\\\\\"c\\\"
        \\\"\\\\\\\\\\\" d\", 3, { \"ab\\\"c\",    \"\\\\\",    \"d\" }},\n    { \"a\\\\\\\\\\\\b
        d\\\"e f\\\"g h\",   3, { \"a\\\\\\\\\\\\b\", \"de fg\", \"h\" }},\n    {
        \"a\\\\\\\\\\\\\\\"b c d\",         3, { \"a\\\\\\\"b\",   \"c\",     \"d\"
        }},\n    { \"a\\\\\\\\\\\\\\\\\\\"b c\\\" d e\",   3, { \"a\\\\\\\\b c\",
        \"d\",     \"e\" }},\n    { \"a\\\"b\\\"\\\" c d\",           1, { \"ab\\\"
        c d\"               }},\n    /* Some arbitrary tests created using mingw.\n
        \    * But I am not sure whether their parser is fully correct.\n     */\n
        \   { \"e:a  a b\\\"c\\\" \",       3, { \"e:a\", \"a\", \"bc\" }},\n    /*
        { \"e:a  a b\\\"c\\\"\\\" d\\\"\\\"e \\\" \", */\n    /*   5, { \"e:a\", \"a\",
        \"bc\\\"\", \"de\", \" \" }}, */\n    /* { \"e:a  a b\\\"c\\\"\\\" d\\\"\\\"e\\\"
        f\\\\gh \", */\n    /*   4, { \"e:a\", \"a\", \"bc\\\"\", \"de f\\\\gh \"}},
        */\n    /* { \"e:a  a b\\\"c\\\"\\\" d\\\"\\\"e\\\" f\\\\\\\"gh \\\" \", */\n
        \   /*   4, { \"e:a\", \"a\", \"bc\\\"\", \"de f\\\"gh \" }},*/\n\n    { \"\\\"foo
        bar\\\"\", 1 , { \"foo bar\" }},\n\n#ifndef HAVE_W32_SYSTEM\n    /* We actually
        don't use this code on Unix but we provide a way to\n     * test some of the
        blobing code. */\n    { \"foo\",  1, { \"foo\"                 }, 1 },\n    {
        \"foo*\", 2, { \"[* follows]\", \"foo*\" }, 1 },\n    { \"foo?\", 2, { \"[?
        follows]\", \"foo?\" }, 1 },\n    { \"? \\\"*\\\" *\", 5, { \"[? follows]\",
        \"?\", \"*\", \"[* follows]\", \"*\" }, 1 },\n#endif /*!HAVE_W32_SYSTEM*/\n
        \   { \"\", 1 , { \"\" }}\n  }"
      pos:
        line_end: 59
        line_start: 54
        source_file: /src/gnupg/common/t-w32-cmdline.c
    typedefs: []
    union: []
- function_names:
  - xasprintf
  - xtryasprintf
  source_file: /src/gnupg/common/xasprintf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_status_string
  - gnupg_set_status_fd
  - gnupg_status_printf
  - gnupg_status_strings
  - get_inv_recpsgnr_code
  source_file: /src/gnupg/common/status.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - encode_s2k_iterations
  source_file: /src/gnupg/common/openpgp-s2k.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - gpg_error_t
  - gpg_error_t::my_error_from_syserror
  - skip_options
  - has_option
  - has_leading_option
  - has_option_name
  - get_option_value
  - option_value
  source_file: /src/gnupg/common/server-help.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/comopt.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*logfile'
        type: char
      - name: use_keyboxd
        type: int
      - name: no_autostart
        type: int
      - name: '*keyboxd_program'
        type: char
      item_type: struct
      name: gnupg_comopt_s
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/gnupg/common/comopt.h
    typedefs: []
    union: []
- function_names:
  - my_error_from_syserror
  - my_error
  - nvc_new
  - nvc_new_private_key
  - nve_release
  - nvc_release
  - nvc_modified
  - valid_name
  - assert_raw_value
  - continuation_length
  - assert_value
  - nve_name
  - nve_value
  - _nvc_add
  - nvc_add
  - nvc_set
  - nve_set
  - nvc_delete
  - nvc_delete_named
  - nvc_first
  - nvc_lookup
  - nve_next
  - nve_next_value
  - nvc_get_string
  - nvc_get_boolean
  - nvc_get_private_key
  - nvc_set_private_key
  - do_nvc_parse
  - nvc_parse
  - nvc_parse_private_key
  - write_one_entry
  - nvc_write
  source_file: /src/gnupg/common/name-value.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LINELEN
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/gnupg/common/name-value.c
      type_or_value: '70'
    structs:
    - fields:
      - name: '*first'
        type: struct name_value_entry
      - name: '*last'
        type: struct name_value_entry
      - name: private_key_mode
        type: unsigned int
      - name: modified
        type: unsigned int
      item_type: struct
      name: name_value_container
      pos:
        line_end: 51
        line_start: 45
        source_file: /src/gnupg/common/name-value.c
    - fields:
      - name: '*prev'
        type: struct name_value_entry
      - name: '*next'
        type: struct name_value_entry
      - name: '*name'
        type: char
      - name: raw_value
        type: strlist_t
      - name: '*value'
        type: char
      item_type: struct
      name: name_value_entry
      pos:
        line_end: 68
        line_start: 54
        source_file: /src/gnupg/common/name-value.c
    typedefs: []
    union: []
- function_names:
  - pass
  - fail
  - fail2
  - test_hash_algo_from_sigval
  - test_make_canon_sexp_from_rsa_pk
  - tcmp1
  - test_cmp_canon_sexp
  - test_ecc_uncompress
  - main
  source_file: /src/gnupg/common/t-sexputil.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*m'
        type: unsigned char
      - name: mlen
        type: size_t
      - name: '*e'
        type: unsigned char
      - name: elen
        type: size_t
      - name: '*result'
        type: unsigned char
      - name: resultlen
        type: size_t
      - name: reverr
        type: gpg_err_code_t
      item_type: struct
      name: "tests[] = {\n    {\n      \"\\x82\\xB4\\x12\\x48\\x08\\x48\\xC0\\x76\\xAA\\x8E\\xF1\\xF8\\x7F\\x5E\\x9B\\x89\"\n
        \     \"\\xA9\\x62\\x92\\xA2\\x16\\x1B\\xF5\\x9F\\xE1\\x41\\xF3\\xF0\\x42\\xB5\\x5C\\x46\"\n
        \     \"\\xB8\\x83\\x9F\\x39\\x97\\x73\\xFF\\xC5\\xB2\\xF4\\x59\\x5F\\xBA\\xC7\\x0E\\x03\"\n
        \     \"\\x9D\\x27\\xC0\\x86\\x37\\x31\\x46\\xE0\\xA1\\xFE\\xA1\\x41\\xD4\\xE3\\xE9\\xB3\"\n
        \     \"\\x9B\\xD5\\x84\\x65\\xA5\\x37\\x35\\x34\\x07\\x58\\xB6\\xBA\\x21\\xCA\\x21\\x72\"\n
        \     \"\\x4C\\xF3\\xFC\\x91\\x47\\xD1\\x3C\\x1D\\xA5\\x9C\\x38\\x4D\\x58\\x39\\x92\\x16\"\n
        \     \"\\xB1\\xE5\\x43\\xFE\\xB5\\x46\\x4B\\x43\\xD1\\x47\\xB0\\xE8\\x2A\\xDB\\xF8\\x34\"\n
        \     \"\\xB0\\x5A\\x22\\x3D\\x14\\xBB\\xEA\\x63\\x65\\xA7\\xF1\\xF2\\xF8\\x97\\x74\\xA7\",\n
        \     128,\n      \"\\x40\\x00\\x00\\x81\",\n      4,\n      \"\\x28\\x31\\x30\\x3a\\x70\\x75\\x62\\x6c\\x69\\x63\\x2d\\x6b\\x65\\x79\\x28\\x33\"\n
        \     \"\\x3a\\x72\\x73\\x61\\x28\\x31\\x3a\\x6e\\x31\\x32\\x39\\x3a\\x00\\x82\\xb4\\x12\"\n
        \     \"\\x48\\x08\\x48\\xc0\\x76\\xaa\\x8e\\xf1\\xf8\\x7f\\x5e\\x9b\\x89\\xa9\\x62\\x92\"\n
        \     \"\\xa2\\x16\\x1b\\xf5\\x9f\\xe1\\x41\\xf3\\xf0\\x42\\xb5\\x5c\\x46\\xb8\\x83\\x9f\"\n
        \     \"\\x39\\x97\\x73\\xff\\xc5\\xb2\\xf4\\x59\\x5f\\xba\\xc7\\x0e\\x03\\x9d\\x27\\xc0\"\n
        \     \"\\x86\\x37\\x31\\x46\\xe0\\xa1\\xfe\\xa1\\x41\\xd4\\xe3\\xe9\\xb3\\x9b\\xd5\\x84\"\n
        \     \"\\x65\\xa5\\x37\\x35\\x34\\x07\\x58\\xb6\\xba\\x21\\xca\\x21\\x72\\x4c\\xf3\\xfc\"\n
        \     \"\\x91\\x47\\xd1\\x3c\\x1d\\xa5\\x9c\\x38\\x4d\\x58\\x39\\x92\\x16\\xb1\\xe5\\x43\"\n
        \     \"\\xfe\\xb5\\x46\\x4b\\x43\\xd1\\x47\\xb0\\xe8\\x2a\\xdb\\xf8\\x34\\xb0\\x5a\\x22\"\n
        \     \"\\x3d\\x14\\xbb\\xea\\x63\\x65\\xa7\\xf1\\xf2\\xf8\\x97\\x74\\xa7\\x29\\x28\\x31\"\n
        \     \"\\x3a\\x65\\x34\\x3a\\x40\\x00\\x00\\x81\\x29\\x29\\x29\",\n      171\n
        \   },\n    {\n      \"\\x63\\xB4\\x12\\x48\\x08\\x48\\xC0\\x76\\xAA\\x8E\\xF1\\xF8\\x7F\\x5E\\x9B\\x89\",\n
        \     16,\n      \"\\x03\",\n      1,\n      \"\\x28\\x31\\x30\\x3a\\x70\\x75\\x62\\x6c\\x69\\x63\\x2d\\x6b\\x65\\x79\\x28\\x33\"\n
        \     \"\\x3a\\x72\\x73\\x61\\x28\\x31\\x3a\\x6e\\x31\\x36\\x3a\\x63\\xb4\\x12\\x48\\x08\"\n
        \     \"\\x48\\xc0\\x76\\xaa\\x8e\\xf1\\xf8\\x7f\\x5e\\x9b\\x89\\x29\\x28\\x31\\x3a\\x65\"\n
        \     \"\\x31\\x3a\\x03\\x29\\x29\\x29\",\n      54,\n    },\n    {\n      \"\",\n
        \     0,\n      \"\",\n      0,\n      \"\\x28\\x31\\x30\\x3a\\x70\\x75\\x62\\x6c\\x69\\x63\\x2d\\x6b\\x65\\x79\\x28\\x33\"\n
        \     \"\\x3a\\x72\\x73\\x61\\x28\\x31\\x3a\\x6e\\x31\\x3a\\x00\\x29\\x28\\x31\\x3a\\x65\"\n
        \     \"\\x31\\x3a\\x00\\x29\\x29\\x29\",\n      38,\n      GPG_ERR_BAD_PUBKEY\n
        \   },\n    {\n      NULL\n    }\n  }"
      pos:
        line_end: 86
        line_start: 78
        source_file: /src/gnupg/common/t-sexputil.c
    - fields:
      - name: curve_seen
        type: int
      item_type: struct
      name: tcmp_parm_s
      pos:
        line_end: 188
        line_start: 186
        source_file: /src/gnupg/common/t-sexputil.c
    - fields:
      - name: '*a'
        type: unsigned char
      - name: '*b'
        type: unsigned char
      - name: expected0
        type: int
      - name: expected1
        type: int
      item_type: struct
      name: "tests[] = {\n  {\n   \"(10:public-key(3:ecc(5:curve8:nistp256)(1:q10:qqqqqqqqqq)))\",\n
        \  \"(10:public-key(3:ecc(5:curve8:nistp256)(1:q10:qqqqqqqqqq)))\",\n   0,
        0\n  },\n  {\n   \"(10:public-key(3:ecc(5:curve19:1.2.840.10045.3.1.7)(1:q10:qqqqqqqqqq)))\",\n
        \  \"(10:public-key(3:ecc(5:curve19:1.2.840.10045.3.1.7)(1:q10:qqqqqqqqqq)))\",\n
        \  0, 0\n  },\n  {\n   \"(10:public-key(3:ecc(5:curve8:nistp256)(1:q10:qqqqqqqqqq)))\",\n
        \  \"(10:public-key(3:ecc(5:curve19:1.2.840.10045.3.1.7)(1:q10:qqqqqqqqqq)))\",\n
        \  -1, 0\n  },\n  {\n   \"(10:public-key(3:ecc(5:curve19:1.2.840.10045.3.1.7)(1:q10:qqqqqqqqqq)))\",\n
        \  \"(10:public-key(3:ecc(5:curve8:nistp256)(1:q10:qqqqqqqqqq)))\",\n   1,
        0\n  },\n  {\n   NULL\n  }\n  }"
      pos:
        line_end: 239
        line_start: 234
        source_file: /src/gnupg/common/t-sexputil.c
    - fields:
      - name: '*a'
        type: char
      - name: '*b'
        type: char
      item_type: struct
      name: "tests[] = {\n  {\n    \"(public-key\"\n    \" (ecc\"\n    \" (curve brainpoolP256r1)\"\n
        \   \" (q #042ECD8679930BE2DB4AD42B8600BA3F80\"\n    /*   */\"2D4D539BFF2F69B83EC9B7BBAA7F3406\"\n
        \   /*   */\"436DD11A1756AFE56CD93408410FCDA9\"\n    /*   */\"BA95024EB613BD481A14FCFEC27A448A#)))\",\n
        \   /* The same in compressed form.  */\n    \"(public-key\"\n    \" (ecc\"\n
        \   \" (curve brainpoolP256r1)\"\n    \" (q #022ECD8679930BE2DB4AD42B8600BA3F80\"\n
        \   /*   */\"2D4D539BFF2F69B83EC9B7BBAA7F3406#)))\"\n  },\n  {\n    \"(public-key\"\n
        \   \" (ecc\"\n    \" (curve brainpoolP256r1)\"\n    \" (q #045B784CA008EE64AB3D85017EE0D2BE87\"\n
        \   /*   */\"558762C7300E0C8E06B1F9AF7C031458\"\n    /*   */\"9EBBA41915313417BA54218EB0569C59\"\n
        \   /*   */\"0B156C76DBCAB6E84575E6EF68CE7B87#)))\",\n    /* The same in compressed
        form.  */\n    \"(public-key\"\n    \" (ecc\"\n    \" (curve brainpoolP256r1)\"\n
        \   \" (q #035B784CA008EE64AB3D85017EE0D2BE87\"\n    /*   */\"558762C7300E0C8E06B1F9AF7C031458#)))\"\n
        \ },\n  { /* A key which does not require a conversion.  */\n    \"(public-key\"\n
        \   \" (ecdsa\"\n    \" (p #00FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF#)\"\n
        \   \" (curve \\\"NIST P-256\\\")\"\n    \" (b #5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B#)\"\n
        \   \" (g #046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5#)\"\n
        \   \" (n #00FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551#)\"\n
        \   \" (h #000000000000000000000000000000000000000000000000000000000000000001#)\"\n
        \   \" (q #04C8A4CEC2E9A9BC8E173531A67B0840DF345C32E261ADD780E6D83D56EFADFD5DE872F8B854819B59543CE0B7F822330464FBC4E6324DADDCD9D059554F63B344#)))\"\n
        \ },\n  {  /* Nothing to do for an RSA private key.  */\n    \"(private-key\"\n
        \   \" (rsa\"\n    \"  (n #00B6B509596A9ECABC939212F891E656A626BA07DA8521A9CAD4C08E640C04052FBB87F424EF1A0275A48A9299AC9DB69ABE3D0124E6C756B1F7DFB9B842D6251AEA6EE85390495CADA73D671537FCE5850A932F32BAB60AB1AC1F852C1F83C625E7A7D70CDA9EF16D5C8E47739D77DF59261ABE8454807FF441E143FBD37F8545#)\"\n
        \   \"  (e #010001#)\"\n    \"  (d #077AD3DE284245F4806A1B82B79E616FBDE821C82D691A65665E57B5FAD3F34E67F401E7BD2E28699E89D9C496CF821945AE83AC7A1231176A196BA6027E77D85789055D50404A7A2A95B1512F91F190BBAEF730ED550D227D512F89C0CDB31AC06FA9A19503DDF6B66D0B42B9691BFD6140EC1720FFC48AE00C34796DC899E5#)\"\n
        \   \"  (p #00D586C78E5F1B4BF2E7CD7A04CA091911706F19788B93E44EE20AAF462E8363E98A72253ED845CCBF2481BB351E8557C85BCFFF0DABDBFF8E26A79A0938096F27#)\"\n
        \   \"  (q #00DB0CDF60F26F2A296C88D6BF9F8E5BE45C0DDD713C96CC73EBCB48B061740943F21D2A93D6E42A7211E7F02A95DCED6C390A67AD21ECF739AE8A0CA46FF2EBB3#)\"\n
        \   \"  (u #33149195F16912DB20A48D020DBC3B9E3881B39D722BF79378F6340F43148A6E9FC5F53E2853B7387BA4443BA53A52FCA8173DE6E85B42F9783D4A7817D0680B#)))\"\n
        \ },\n  { /* Nothing to do dor a DSA key.  */\n    \" (public-key\"\n    \"
        (dsa\"\n    \"  (p #0084E4C626E16005770BD9509ABF7354492E85B8C0060EFAAAEC617F725B592FAA59DF5460575F41022776A9718CE62EDD542AB73C7720869EBDBC834D174ADCD7136827DF51E2613545A25CA573BC502A61B809000B6E35F5EB7FD6F18C35678C23EA1C3638FB9CFDBA2800EE1B62F41A4479DE824F2834666FBF8DC5B53C2617#)\"\n
        \   \"  (q #00B0E6F710051002A9F425D98A677B18E0E5B038AB#)\"\n    \"  (g #44370CEE0FE8609994183DBFEBA7EEA97D466838BCF65EFF506E35616DA93FA4E572A2F08886B74977BC00CA8CD3DBEA7AEB7DB8CBB180E6975E0D2CA76E023E6DE9F8CCD8826EBA2F72B8516532F6001DEFFAE76AA5E59E0FA33DBA3999B4E92D1703098CDEDCC416CF008801964084CDE1980132B2B78CB4CE9C15A559528B#)\"\n
        \   \"  (y #3D5DD14AFA2BF24A791E285B90232213D0E3BA74AB1109E768AED19639A322F84BB7D959E2BA92EF73DE4C7F381AA9F4053CFA3CD4527EF9043E304E5B95ED0A3A5A9D590AA641C13DB2B6E32B9B964A6A2C730DD3EA7C8E13F7A140AFF1A91CE375E9B9B960384779DC4EA180FA1F827C52288F366C0770A220F50D6D8FD6F6#)))\"\n
        \ },\n  { /* Nothing to do for an ECDSA key w/o curvename.  */\n    \"(public-key\"\n
        \   \" (ecdsa(flags param)\"\n    \" (p #00FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF#)\"\n
        \   \" (a #00FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC#)\"\n
        \   \" (b #5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B#)\"\n
        \   \" (g #046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5#)\"\n
        \   \" (n #00FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551#)\"\n
        \   \" (h #000000000000000000000000000000000000000000000000000000000000000001#)\"\n
        \   \" (q #04C8A4CEC2E9A9BC8E173531A67B0840DF345C32E261ADD780E6D83D56EFADFD5DE872F8B854819B59543CE0B7F822330464FBC4E6324DADDCD9D059554F63B344#)))\"\n
        \ },\n  { /* Nothing to do for Ed25519 key.  */\n    \"(public-key\"\n    \"
        (ecc\"\n    \" (curve Ed25519)\"\n    \" (q #04\"\n    \"     1CC662926E7EFF4982B7FB8B928E61CD74CCDD85277CC57196C3AD20B611085F\"\n
        \   \"     47BD24842905C049257673B3F5249524E0A41FAA17B25B818D0F97E625F1A1D0#)\"\n
        \   \"     ))\"\n  },\n  { /* Nothing to do for Ed25519 with EdDSA key.  */\n
        \   \"(public-key\"\n    \" (ecc\"\n    \" (curve Ed25519)(flags eddsa)\"\n
        \   \" (q #773E72848C1FD5F9652B29E2E7AF79571A04990E96F2016BF4E0EC1890C2B7DB#)\"\n
        \   \" ))\"\n  },\n  { /* Nothing to do for Ed25519 with EdDSA key with prefix.
        \ */\n    \"(public-key\"\n    \" (ecc\"\n    \" (curve Ed25519)(flags eddsa)\"\n
        \   \" (q #40\"\n    \"     773E72848C1FD5F9652B29E2E7AF79571A04990E96F2016BF4E0EC1890C2B7DB#)\"\n
        \   \" ))\"\n  },\n  { /* Nothing to do for Ed25519 with EdDSA key with uncompress
        prefix.  */\n    \"(public-key\"\n    \" (ecc\"\n    \" (curve Ed25519)(flags
        eddsa)\"\n    \" (q #04\"\n    \"     629ad237d1ed04dcd4abe1711dd699a1cf51b1584c4de7a4ef8b8a640180b26f\"\n
        \   \"     5bb7c29018ece0f46b01f2960e99041a5779afe7e2292b65f9d51f8c84723e77#)\"\n
        \   \" ))\"\n  },\n  { /* Noting to do for a Cv25519 tweaked key.  */\n    \"(public-key\"\n
        \   \" (ecc\"\n    \" (curve Curve25519)(flags djb-tweak)\"\n    \" (q #40\"\n
        \   \"     918C1733127F6BF2646FAE3D081A18AE77111C903B906310B077505EFFF12740#)\"\n
        \   \" ))\"\n  },\n  { /* Nothing to do for a shadowed key.  */\n    \"(shadowed-private-key\"\n
        \   \" (rsa\"\n    \" (n #00B493C79928398DA9D99AC0E949FE6EB62F683CB974FFFBFBC01066F5C9A89B\"\n
        \   \"     D3DC48EAD7C65F36EA943C2B2C865C26C4884FF9EDFDA8C99C855B737D77EEF6\"\n
        \   \"     B85DBC0CCEC0E900C1F89A6893A2A93E8B31028469B6927CEB2F08687E547C68\"\n
        \   \"     6B0A2F7E50A194FF7AB7637E03DE0912EF7F6E5F1EC37625BD1620CCC2E7A564\"\n
        \   \"     31E168CDAFBD1D9E61AE47A69A6FA03EF22F844528A710B2392F262B95A3078C\"\n
        \   \"     F321DC8325F92A5691EF69F34FD0DE0B22C79D29DC87723FCADE463829E8E5F7\"\n
        \   \"     D196D73D6C9C180F6A6A0DDBF7B9D8F7FA293C36163B12199EF6A1A95CAE4051\"\n
        \   \"     E3069C522CC6C4A7110F663A5DAD20F66C13A1674D050088208FAE4F33B3AB51\"\n
        \   \"     03#)\"\n    \" (e #00010001#)\"\n    \" (shadowed t1-v1\"\n    \"
        (#D2760001240102000005000123350000# OPENPGP.1)\"\n    \")))\"\n  },\n  {\n
        \   NULL\n  }}"
      pos:
        line_end: 291
        line_start: 288
        source_file: /src/gnupg/common/t-sexputil.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/utf8conv.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*jnlib_iconv_t'
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/gnupg/common/utf8conv.h
      type: void
    union: []
- function_names: []
  source_file: /src/gnupg/common/recsel.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*recsel_expr_t'
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/gnupg/common/recsel.h
      type: recsel_expr_s
    union: []
- function_names:
  - my_error_from_syserror
  - read_and_log_stderr
  - copy_buffer_init
  - copy_buffer_shred
  - copy_buffer_do_copy
  - copy_buffer_flush
  - gnupg_exec_tool_stream
  - nop_free
  - gnupg_exec_tool
  source_file: /src/gnupg/common/exectool.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pgmname'
        type: char
      - name: status_cb
        type: exec_tool_status_cb_t
      - name: '*status_cb_value'
        type: void
      - name: cont
        type: int
      - name: quiet
        type: int
      - name: used
        type: size_t
      - name: buffer_size
        type: size_t
      - name: '*buffer'
        type: char
      item_type: struct
      name: read_and_log_buffer_t
      pos:
        line_end: 60
        line_start: 50
        source_file: /src/gnupg/common/exectool.c
    - fields:
      - name: buffer[4096]
        type: char
      - name: '*writep'
        type: char
      - name: nread
        type: size_t
      item_type: struct
      name: copy_buffer
      pos:
        line_end: 204
        line_start: 199
        source_file: /src/gnupg/common/exectool.c
    typedefs: []
    union: []
- function_names:
  - FREE_STRLIST
  source_file: /src/gnupg/common/strlist.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct string_list
      - name: flags
        type: unsigned int
      - name: d[1]
        type: char
      item_type: struct
      name: string_list
      pos:
        line_end: 38
        line_start: 33
        source_file: /src/gnupg/common/strlist.h
    typedefs:
    - item_type: typedef
      name: '*strlist_t'
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/gnupg/common/strlist.h
      type: string_list
    union: []
- function_names:
  - get_membuf_len
  - is_membuf_ready
  source_file: /src/gnupg/common/membuf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MEMBUF_ZERO
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/gnupg/common/membuf.h
      type_or_value: '{ 0, 0, NULL, 0}'
    structs:
    - fields:
      - name: len
        type: size_t
      - name: size
        type: size_t
      - name: '*buf'
        type: char
      - name: out_of_core
        type: int
      item_type: struct
      name: private_membuf_s
      pos:
        line_end: 42
        line_start: 36
        source_file: /src/gnupg/common/membuf.h
    typedefs:
    - item_type: typedef
      name: membuf_t
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/gnupg/common/membuf.h
      type: private_membuf_s
    union: []
- function_names:
  - iobuf_set_error
  - iobuf_error
  - iobuf_get
  - iobuf_get_noeof
  - iobuf_put
  - iobuf_where
  - iobuf_id
  - iobuf_get_temp_buffer
  - iobuf_get_temp_length
  - iobuf_is_temp
  source_file: /src/gnupg/common/iobuf.h
  types:
    enum:
    - enumerators:
      - name: IOBUF_INPUT
      - name: IOBUF_OUTPUT
      - name: IOBUF_OUTPUT_TEMP
      - name: IOBUF_INPUT_TEMP
      item_type: enum
      name: iobuf_use
      pos:
        line_end: 140
        line_start: 123
        source_file: /src/gnupg/common/iobuf.h
    preproc_defs:
    - item_type: preproc_def
      name: DBG_IOBUF
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/gnupg/common/iobuf.h
      type_or_value: iobuf_debug_mode
    - item_type: preproc_def
      name: IOBUF_FILELENGTH_LIMIT
      pos:
        line_end: 589
        line_start: 588
        source_file: /src/gnupg/common/iobuf.h
      type_or_value: '0xffffffff'
    structs:
    - fields:
      - name: use
        type: enum iobuf_use
      - name: nlimit
        type: off_t
      - name: nbytes
        type: off_t
      - name: ntotal
        type: off_t
      - name: nofast
        type: int
      - name: d
        type: "struct\n  {\n    /* Size of the buffer.  */\n    size_t size;\n    /*
          Number of bytes at the beginning of the buffer that have\n       already
          been consumed.  (In other words: the index of the first\n       byte that
          hasn't been consumed.)  This is only non-zero for\n       input filters.
          \ */\n    size_t start;\n    /* The number of bytes in the buffer including
          any bytes that have\n       been consumed.  */\n    size_t len;\n    /*
          The buffer itself.  */\n    byte *buf;\n  }"
      - name: e_d
        type: "struct\n  {\n    /* The external buffer provided by iobuf_read/iobuf_write
          caller. */\n    byte *buf;\n    /* The number of bytes in the external buffer.
          */\n    size_t len;\n    /* The number of bytes that were consumed from
          the external buffer. */\n    size_t used;\n    /* Gives hint for processing
          that the external buffer is preferred and\n       that internal buffer should
          be consumed early. */\n    int preferred;\n  }"
      - name: filter_eof
        type: int
      - name: error
        type: int
      - name: "(*filter) (void *opaque, int control,\n\t\t iobuf_t chain, byte * buf,
          size_t * len)"
        type: int
      - name: '*filter_ov'
        type: void
      - name: filter_ov_owner
        type: int
      - name: '*real_fname'
        type: char
      - name: chain
        type: iobuf_t
      - name: 'no'
        type: int
      - name: subno
        type: int
      item_type: struct
      name: iobuf_struct
      pos:
        line_end: 271
        line_start: 147
        source_file: /src/gnupg/common/iobuf.h
    typedefs:
    - item_type: typedef
      name: '*iobuf_t'
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/gnupg/common/iobuf.h
      type: iobuf_struct
    - item_type: typedef
      name: '*IOBUF'
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/gnupg/common/iobuf.h
      type: iobuf_struct
    union: []
- function_names:
  - set_assuan_context_func
  - vprint_assuan_status
  - print_assuan_status
  - vprint_assuan_status_strings
  - print_assuan_status_strings
  - status_printf
  - status_no_printf
  source_file: /src/gnupg/common/asshelp2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_eddsa
  - dummy_realloc
  - dummy_free
  - get_fingerprint
  - ssh_get_fingerprint
  - ssh_get_fingerprint_string
  - stream_write_uint32
  - stream_write_data
  - stream_write_string
  - stream_write_cstring
  - stream_write_mpi
  - sexp_to_sshblob
  - ssh_public_key_in_base64
  source_file: /src/gnupg/common/ssh-utils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tlv_parser_new
  - tlv_parser_release
  - tlv_parser_dump_tag
  - tlv_parser_dump_state
  - tlv_next
  - tlv_next_with_flag
  source_file: /src/gnupg/common/tlv.h
  types:
    enum:
    - enumerators:
      - name: CLASS_UNIVERSAL
        value: '0'
      - name: CLASS_CONTEXT
        value: '2'
      - name: CLASS_APPLICATION
        value: '1'
      - name: CLASS_PRIVATE
        value: '3'
      item_type: enum
      name: tlv_tag_class
      pos:
        line_end: 39
        line_start: 34
        source_file: /src/gnupg/common/tlv.h
    - enumerators:
      - name: TAG_OCTET_STRING
        value: '4'
      - name: TAG_EXTERNAL
        value: '8'
      - name: TAG_NUMERIC_STRING
        value: '18'
      - name: TAG_UTF8_STRING
        value: '12'
      - name: TAG_IA5_STRING
        value: '22'
      - name: TAG_UNIVERSAL_STRING
        value: '28'
      - name: TAG_NONE
        value: '0'
      - name: TAG_BIT_STRING
        value: '3'
      - name: TAG_OBJECT_DESCRIPTOR
        value: '7'
      - name: TAG_EMBEDDED_PDV
        value: '11'
      - name: TAG_SET
        value: '17'
      - name: TAG_VIDEOTEX_STRING
        value: '21'
      - name: TAG_GRAPHIC_STRING
        value: '25'
      - name: TAG_GENERAL_STRING
        value: '27'
      - name: TAG_BMP_STRING
        value: '30'
      - name: TAG_INTEGER
        value: '2'
      - name: TAG_OBJECT_ID
        value: '6'
      - name: TAG_SEQUENCE
        value: '16'
      - name: TAG_TELETEX_STRING
        value: '20'
      - name: TAG_ENUMERATED
        value: '10'
      - name: TAG_GENERALIZED_TIME
        value: '24'
      - name: TAG_VISIBLE_STRING
        value: '26'
      - name: TAG_BOOLEAN
        value: '1'
      - name: TAG_NULL
        value: '5'
      - name: TAG_REAL
        value: '9'
      - name: TAG_PRINTABLE_STRING
        value: '19'
      - name: TAG_REALTIVE_OID
        value: '13'
      - name: TAG_UTC_TIME
        value: '23'
      - name: TAG_CHARACTER_STRING
        value: '29'
      item_type: enum
      name: tlv_tag_type
      pos:
        line_end: 71
        line_start: 41
        source_file: /src/gnupg/common/tlv.h
    preproc_defs:
    - item_type: preproc_def
      name: SCD_TLV_H
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/gnupg/common/tlv.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TLV_PARSER_FLAG_T5793
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/gnupg/common/tlv.h
      type_or_value: '1  '
    structs:
    - fields:
      - name: class
        type: int
      - name: is_constructed
        type: int
      - name: tag
        type: unsigned long
      - name: length
        type: size_t
      - name: nhdr
        type: size_t
      - name: ndef
        type: int
      item_type: struct
      name: tag_info
      pos:
        line_end: 81
        line_start: 73
        source_file: /src/gnupg/common/tlv.h
    typedefs:
    - item_type: typedef
      name: '*tlv_builder_t'
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/gnupg/common/tlv.h
      type: tlv_builder_s
    - item_type: typedef
      name: '*tlv_parser_t'
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/gnupg/common/tlv.h
      type: tlv_parser_s
    union: []
- function_names:
  - ccparray_init
  - ccparray_put
  - ccparray_get
  source_file: /src/gnupg/common/ccparray.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_one_signal
  - get_signal_name
  - got_fatal_signal
  - got_usr_signal
  - gnupg_init_signals
  - do_block
  - gnupg_block_all_signals
  - gnupg_unblock_all_signals
  source_file: /src/gnupg/common/signal.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _sys_siglist
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/gnupg/common/signal.c
      type_or_value: sys_siglist
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_open_fds
  - xget_all_open_fds
  - test_close_all_fds
  - run_server
  - main
  source_file: /src/gnupg/common/t-exechelp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - compute_kmac256
  - gnupg_ecc_kem_kdf
  - gnupg_ecc_kem_simple_kdf
  - gnupg_kem_combiner
  - gnupg_get_ecc_params
  source_file: /src/gnupg/common/kem.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KMAC_KEY
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/gnupg/common/kem.c
      type_or_value: '"OpenPGPCompositeKeyDerivationFunction"'
    - item_type: preproc_def
      name: KMAC_CUSTOM
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/common/kem.c
      type_or_value: '"KDF"'
    - item_type: preproc_def
      name: KECCAK512_BLOCKSIZE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/common/kem.c
      type_or_value: '136'
    - item_type: preproc_def
      name: ECC_CURVE25519_INDEX
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/gnupg/common/kem.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/common/call-gpg.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pass
  - fail
  - run_test_1
  - run_test_var
  - main
  source_file: /src/gnupg/common/t-ccparray.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - strtimestamp_r
  - hash_data
  - gpgsm_verify
  - is_x509_fingerprint
  - check_assert_signer_list
  source_file: /src/gnupg/sm/verify.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - delete_one
  - gpgsm_delete
  source_file: /src/gnupg/sm/delete.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/sm/keydb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VALIDITY_REVOKED
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/sm/keydb.h
      type_or_value: (1<<5)
    structs: []
    typedefs:
    - item_type: typedef
      name: '*KEYDB_HANDLE'
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/gnupg/sm/keydb.h
      type: keydb_handle
    union: []
- function_names:
  - trim_spaces
  - my_isascii
  - die
  - err
  - inf
  - printresult
  - do_strconcat
  - my_xstrconcat
  - my_trim_spaces
  - prepend_srcdir
  - hash_buffer
  - read_textline
  - copy_data
  - hexdowncase
  - value_from_gnupg_autogen_rc
  - cert_cb
  - one_file
  - cert_collect_cb
  - run_one_test
  - run_tests_from_file
  - cram_file
  - main
  source_file: /src/gnupg/sm/t-minip12.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/gnupg/sm/t-minip12.c
      type_or_value: '"t-minip12"'
    - item_type: preproc_def
      name: xstrconcat
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/gnupg/sm/t-minip12.c
      type_or_value: my_xstrconcat
    structs: []
    typedefs: []
    union: []
- function_names:
  - struct
  source_file: /src/gnupg/sm/gpgsm.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPG_ERR_SOURCE_DEFAULT
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: GPG_ERR_SOURCE_GPGSM
    - item_type: preproc_def
      name: MAX_FINGERPRINT_LEN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: '32'
    - item_type: preproc_def
      name: MAX_DIGEST_LEN
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: '64     '
    - item_type: preproc_def
      name: DBG_X509_VALUE
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: DBG_MPI_VALUE
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: DBG_CRYPTO_VALUE
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: DBG_MEMORY_VALUE
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: "32\t"
    - item_type: preproc_def
      name: DBG_CACHE_VALUE
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: "64\t"
    - item_type: preproc_def
      name: DBG_MEMSTAT_VALUE
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: "128\t"
    - item_type: preproc_def
      name: DBG_HASHING_VALUE
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: "512\t"
    - item_type: preproc_def
      name: DBG_IPC_VALUE
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: '1024  '
    - item_type: preproc_def
      name: DBG_CLOCK_VALUE
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: '4096'
    - item_type: preproc_def
      name: DBG_LOOKUP_VALUE
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: "8192\t"
    - item_type: preproc_def
      name: DBG_X509
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: (opt.debug & DBG_X509_VALUE)
    - item_type: preproc_def
      name: DBG_CRYPTO
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: (opt.debug & DBG_CRYPTO_VALUE)
    - item_type: preproc_def
      name: DBG_MEMORY
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: (opt.debug & DBG_MEMORY_VALUE)
    - item_type: preproc_def
      name: DBG_CACHE
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: (opt.debug & DBG_CACHE_VALUE)
    - item_type: preproc_def
      name: DBG_HASHING
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: (opt.debug & DBG_HASHING_VALUE)
    - item_type: preproc_def
      name: DBG_IPC
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: (opt.debug & DBG_IPC_VALUE)
    - item_type: preproc_def
      name: DBG_CLOCK
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: (opt.debug & DBG_CLOCK_VALUE)
    - item_type: preproc_def
      name: DBG_LOOKUP
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: (opt.debug & DBG_LOOKUP_VALUE)
    - item_type: preproc_def
      name: COMPAT_ALLOW_KA_TO_ENCR
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: '1'
    - item_type: preproc_def
      name: COMPAT_NO_CHAIN_CACHE
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: '2'
    - item_type: preproc_def
      name: COMPAT_NO_KEYINFO_CACHE
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: '4'
    - item_type: preproc_def
      name: COMPAT_NO_PARTIALFILEGUARD
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: '8'
    - item_type: preproc_def
      name: VALIDATE_FLAG_NO_DIRMNGR
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VALIDATE_FLAG_CHAIN_MODEL
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: '2'
    - item_type: preproc_def
      name: VALIDATE_FLAG_STEED
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: '4'
    - item_type: preproc_def
      name: VALIDATE_FLAG_BYPASS
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: '8  '
    - item_type: preproc_def
      name: FIND_CERT_ALLOW_AMBIG
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FIND_CERT_WITH_EPHEM
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/gnupg/sm/gpgsm.h
      type_or_value: '2'
    structs:
    - fields:
      - name: '*next'
        type: struct cert_cache_item_s
      - name: fpr[20]
        type: unsigned char
      - name: result
        type: ksba_cert_t
      item_type: struct
      name: cert_cache_item_s
      pos:
        line_end: 244
        line_start: 239
        source_file: /src/gnupg/sm/gpgsm.h
    - fields:
      - name: '*next'
        type: struct keyinfo_cache_item_s
      - name: '*serialno'
        type: char
      - name: hexgrip[1]
        type: char
      item_type: struct
      name: keyinfo_cache_item_s
      pos:
        line_end: 253
        line_start: 248
        source_file: /src/gnupg/sm/gpgsm.h
    - fields:
      - name: no_server
        type: int
      - name: status_fd
        type: int
      - name: '*server_local'
        type: struct server_local_s
      - name: keydb_local
        type: keydb_local_t
      - name: audit
        type: audit_ctx_t
      - name: agent_seen
        type: int
      - name: with_colons
        type: int
      - name: with_secret
        type: int
      - name: with_chain
        type: int
      - name: with_validation
        type: int
      - name: with_ephemeral_keys
        type: int
      - name: autodetect_encoding
        type: int
      - name: is_pem
        type: int
      - name: is_base64
        type: int
      - name: input_size_hint
        type: uint64_t
      - name: no_protection
        type: int
      - name: create_base64
        type: int
      - name: create_pem
        type: int
      - name: '*pem_name'
        type: char
      - name: include_certs
        type: int
      - name: use_ocsp
        type: int
      - name: validation_model
        type: int
      - name: offline
        type: int
      - name: always_trust
        type: int
      - name: current_time
        type: ksba_isotime_t
      - name: revoked_at
        type: gnupg_isotime_t
      - name: '*revocation_reason'
        type: char
      - name: attributes
        type: strlist_t
      - name: parent_cert_cache
        type: cert_cache_item_t
      - name: keyinfo_cache
        type: keyinfo_cache_item_t
      - name: keyinfo_cache_valid
        type: int
      item_type: struct
      name: server_control_s
      pos:
        line_end: 332
        line_start: 260
        source_file: /src/gnupg/sm/gpgsm.h
    - fields:
      - name: '*next'
        type: struct certlist_s
      - name: cert
        type: ksba_cert_t
      - name: is_encrypt_to
        type: int
      - name: pk_algo
        type: int
      - name: hash_algo
        type: int
      - name: '*hash_algo_oid'
        type: char
      item_type: struct
      name: certlist_s
      pos:
        line_end: 345
        line_start: 336
        source_file: /src/gnupg/sm/gpgsm.h
    - fields:
      - name: valid
        type: unsigned int
      - name: relax
        type: unsigned int
      - name: chain_model
        type: unsigned int
      - name: qualified
        type: unsigned int
      - name: noconsent
        type: unsigned int
      - name: de_vs
        type: unsigned int
      item_type: struct
      name: rootca_flags_s
      pos:
        line_end: 359
        line_start: 350
        source_file: /src/gnupg/sm/gpgsm.h
    typedefs:
    - item_type: typedef
      name: '*keydb_local_t'
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/gnupg/sm/gpgsm.h
      type: keydb_local_s
    - item_type: typedef
      name: '*cert_cache_item_t'
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/gnupg/sm/gpgsm.h
      type: cert_cache_item_s
    - item_type: typedef
      name: '*keyinfo_cache_item_t'
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/gnupg/sm/gpgsm.h
      type: keyinfo_cache_item_s
    - item_type: typedef
      name: '*certlist_t'
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/gnupg/sm/gpgsm.h
      type: certlist_s
    union: []
- function_names:
  - release_parameter_list
  - get_parameter
  - get_parameter_value
  - get_parameter_algo
  - parse_parameter_usage
  - get_parameter_uint
  - read_parameters
  - has_invalid_email_chars
  - proc_parameters
  - create_request
  - gpgsm_genkey
  source_file: /src/gnupg/sm/certreqgen.c
  types:
    enum:
    - enumerators:
      - name: pKEYTYPE
      - name: pKEYGRIP
      - name: pKEYCURVE
      - name: pKEYUSAGE
      - name: pKEYLENGTH
      - name: pNAMEDN
      - name: pNAMEEMAIL
      - name: pNAMEDNS
      - name: pNAMEURI
      - name: pSERIAL
      - name: pISSUERDN
      - name: pSIGNINGKEY
      - name: pHASHALGO
      - name: pNOTBEFORE
      - name: pEXTENSION
      - name: pAUTHKEYID
      - name: pNOTAFTER
      - name: pSUBJKEYID
      item_type: enum
      name: para_name
      pos:
        line_end: 96
        line_start: 76
        source_file: /src/gnupg/sm/certreqgen.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct para_data_s
      - name: lnr
        type: int
      - name: key
        type: enum para_name
      - name: u
        type: "union {\n    unsigned int usage;\n    char value[1];\n  }"
      item_type: struct
      name: para_data_s
      pos:
        line_end: 107
        line_start: 98
        source_file: /src/gnupg/sm/certreqgen.c
    - fields:
      - name: lnr
        type: int
      - name: dryrun
        type: int
      - name: no_protection
        type: int
      item_type: struct
      name: reqgen_ctrl_s
      pos:
        line_end: 114
        line_start: 109
        source_file: /src/gnupg/sm/certreqgen.c
    - fields:
      - name: '*name'
        type: char
      - name: key
        type: enum para_name
      - name: allow_dups
        type: int
      item_type: struct
      name: "keywords[] = {\n    { \"Key-Type\",       pKEYTYPE},\n    { \"Key-Length\",
        \    pKEYLENGTH },\n    { \"Key-Grip\",       pKEYGRIP },\n    { \"Key-Curve\",
        \     pKEYCURVE },\n    { \"Key-Usage\",      pKEYUSAGE },\n    { \"Name-DN\",
        \       pNAMEDN },\n    { \"Name-Email\",     pNAMEEMAIL, 1 },\n    { \"Name-DNS\",
        \      pNAMEDNS, 1 },\n    { \"Name-URI\",       pNAMEURI, 1 },\n    { \"Serial\",
        \        pSERIAL },\n    { \"Issuer-DN\",      pISSUERDN },\n    { \"Creation-Date\",
        \ pNOTBEFORE },\n    { \"Not-Before\",     pNOTBEFORE },\n    { \"Expire-Date\",
        \   pNOTAFTER },\n    { \"Not-After\",      pNOTAFTER },\n    { \"Signing-Key\",
        \   pSIGNINGKEY },\n    { \"Hash-Algo\",      pHASHALGO },\n    { \"Authority-Key-Id\",
        pAUTHKEYID },\n    { \"Subject-Key-Id\", pSUBJKEYID },\n    { \"Extension\",
        \     pEXTENSION, 1 },\n    { NULL, 0 }\n  }"
      pos:
        line_end: 241
        line_start: 237
        source_file: /src/gnupg/sm/certreqgen.c
    typedefs: []
    union: []
- function_names:
  - get_oid_desc
  - print_key_data
  - print_pk_screening
  - print_capabilities
  - print_time
  - email_kludge
  - cert_has_de_vs_flag
  - print_compliance_flags
  - list_cert_colon
  - print_name_raw
  - print_names_raw
  - print_utf8_extn_raw
  - print_utf8_extn
  - print_hex_extn
  - list_cert_raw
  - list_cert_std
  - list_cert_chain
  - list_internal_keys
  - list_external_cb
  - list_external_keys
  - gpgsm_list_keys
  - do_show_certs
  - gpgsm_show_certs
  source_file: /src/gnupg/sm/keylist.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OID_FLAG_SKIP
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/gnupg/sm/keylist.c
      type_or_value: '1'
    - item_type: preproc_def
      name: OID_FLAG_UTF8
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/gnupg/sm/keylist.c
      type_or_value: '2'
    - item_type: preproc_def
      name: OID_FLAG_HEX
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/gnupg/sm/keylist.c
      type_or_value: '4'
    - item_type: preproc_def
      name: OID_FLAG_KP
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/gnupg/sm/keylist.c
      type_or_value: '8'
    structs:
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: fp
        type: estream_t
      - name: print_header
        type: int
      - name: with_colons
        type: int
      - name: with_chain
        type: int
      - name: raw_mode
        type: int
      item_type: struct
      name: list_external_parm_s
      pos:
        line_end: 48
        line_start: 40
        source_file: /src/gnupg/sm/keylist.c
    - fields:
      - name: '*oid'
        type: char
      - name: '*name'
        type: char
      - name: flag
        type: unsigned int
      item_type: struct
      name: "oidtranstbl[] = {\n\n  /* Algorithms. */\n  { \"1.2.840.10040.4.1\",
        \"dsa\" },\n  { \"1.2.840.10040.4.3\", \"dsaWithSha1\" },\n\n  { \"1.2.840.113549.1.1.1\",
        \"rsaEncryption\" },\n  { \"1.2.840.113549.1.1.2\", \"md2WithRSAEncryption\"
        },\n  { \"1.2.840.113549.1.1.3\", \"md4WithRSAEncryption\" },\n  { \"1.2.840.113549.1.1.4\",
        \"md5WithRSAEncryption\" },\n  { \"1.2.840.113549.1.1.5\", \"sha1WithRSAEncryption\"
        },\n  { \"1.2.840.113549.1.1.7\", \"rsaOAEP\" },\n  { \"1.2.840.113549.1.1.8\",
        \"rsaOAEP-MGF\" },\n  { \"1.2.840.113549.1.1.9\", \"rsaOAEP-pSpecified\" },\n
        \ { \"1.2.840.113549.1.1.10\", \"rsaPSS\" },\n  { \"1.2.840.113549.1.1.11\",
        \"sha256WithRSAEncryption\" },\n  { \"1.2.840.113549.1.1.12\", \"sha384WithRSAEncryption\"
        },\n  { \"1.2.840.113549.1.1.13\", \"sha512WithRSAEncryption\" },\n\n  { \"1.3.14.3.2.26\",
        \"sha1\" },\n  { \"1.3.14.3.2.29\",  \"sha-1WithRSAEncryption\" },\n  { \"1.3.36.3.3.1.2\",
        \"rsaSignatureWithripemd160\" },\n\n\n  /* Telesec extensions. */\n  { \"0.2.262.1.10.12.0\",
        \"certExtensionLiabilityLimitationExt\" },\n  { \"0.2.262.1.10.12.1\", \"telesecCertIdExt\"
        },\n  { \"0.2.262.1.10.12.2\", \"telesecPolicyIdentifier\" },\n  { \"0.2.262.1.10.12.3\",
        \"telesecPolicyQualifierID\" },\n  { \"0.2.262.1.10.12.4\", \"telesecCRLFilteredExt\"
        },\n  { \"0.2.262.1.10.12.5\", \"telesecCRLFilterExt\"},\n  { \"0.2.262.1.10.12.6\",
        \"telesecNamingAuthorityExt\" },\n#define OIDSTR_restriction \\\n    \"1.3.36.8.3.8\"\n
        \ { OIDSTR_restriction,      \"restriction\", OID_FLAG_UTF8 },\n\n\n  /* PKIX
        private extensions. */\n  { \"1.3.6.1.5.5.7.1.1\", \"authorityInfoAccess\"
        },\n  { \"1.3.6.1.5.5.7.1.2\", \"biometricInfo\" },\n  { \"1.3.6.1.5.5.7.1.3\",
        \"qcStatements\" },\n  { \"1.3.6.1.5.5.7.1.4\", \"acAuditIdentity\" },\n  {
        \"1.3.6.1.5.5.7.1.5\", \"acTargeting\" },\n  { \"1.3.6.1.5.5.7.1.6\", \"acAaControls\"
        },\n  { \"1.3.6.1.5.5.7.1.7\", \"sbgp-ipAddrBlock\" },\n  { \"1.3.6.1.5.5.7.1.8\",
        \"sbgp-autonomousSysNum\" },\n  { \"1.3.6.1.5.5.7.1.9\", \"sbgp-routerIdentifier\"
        },\n  { \"1.3.6.1.5.5.7.1.10\", \"acProxying\" },\n  { \"1.3.6.1.5.5.7.1.11\",
        \"subjectInfoAccess\" },\n\n  { \"1.3.6.1.5.5.7.3.1\",  \"serverAuth\", OID_FLAG_KP
        },\n  { \"1.3.6.1.5.5.7.3.2\",  \"clientAuth\", OID_FLAG_KP },\n  { \"1.3.6.1.5.5.7.3.3\",
        \ \"codeSigning\", OID_FLAG_KP },\n  { \"1.3.6.1.5.5.7.3.4\",  \"emailProtection\",
        OID_FLAG_KP },\n  { \"1.3.6.1.5.5.7.3.5\",  \"ipsecEndSystem\", OID_FLAG_KP
        }, /* historic */\n  { \"1.3.6.1.5.5.7.3.6\",  \"ipsecTunnel\", OID_FLAG_KP
        },    /* historic */\n  { \"1.3.6.1.5.5.7.3.7\",  \"ipsecUser\", OID_FLAG_KP
        },\n  { \"1.3.6.1.5.5.7.3.8\",  \"timeStamping\", OID_FLAG_KP },\n  { \"1.3.6.1.5.5.7.3.9\",
        \ \"ocspSigning\", OID_FLAG_KP },\n  { \"1.3.6.1.5.5.7.3.10\", \"dvcs\", OID_FLAG_KP
        },\n  { \"1.3.6.1.5.5.7.3.11\", \"sbgpCertAAServerAuth\", OID_FLAG_KP },\n
        \ { \"1.3.6.1.5.5.7.3.13\", \"eapOverPPP\", OID_FLAG_KP },\n  { \"1.3.6.1.5.5.7.3.14\",
        \"wlanSSID\", OID_FLAG_KP },\n  { \"1.3.6.1.5.5.7.3.17\", \"ipsecIKE\", OID_FLAG_KP
        },       /* rfc-4945 */\n\n  { \"1.3.6.1.5.5.7.48.1\", \"ocsp\" },\n  { \"1.3.6.1.5.5.7.48.1.5\",
        \"ocspNoCheck\", OID_FLAG_KP },\n  { \"1.3.6.1.5.5.7.48.2\", \"caIssuers\"
        },\n  { \"1.3.6.1.5.5.7.48.3\", \"timeStamping\" },\n  { \"1.3.6.1.5.5.7.48.5\",
        \"caRepository\" },\n\n  /* X.509 id-ce */\n  { \"2.5.29.14\", \"subjectKeyIdentifier\",
        OID_FLAG_SKIP},\n  { \"2.5.29.15\", \"keyUsage\", OID_FLAG_SKIP},\n  { \"2.5.29.16\",
        \"privateKeyUsagePeriod\" },\n  { \"2.5.29.17\", \"subjectAltName\", OID_FLAG_SKIP},\n
        \ { \"2.5.29.18\", \"issuerAltName\", OID_FLAG_SKIP},\n  { \"2.5.29.19\",
        \"basicConstraints\", OID_FLAG_SKIP},\n  { \"2.5.29.20\", \"cRLNumber\" },\n
        \ { \"2.5.29.21\", \"cRLReason\" },\n  { \"2.5.29.22\", \"expirationDate\"
        },\n  { \"2.5.29.23\", \"instructionCode\" },\n  { \"2.5.29.24\", \"invalidityDate\"
        },\n  { \"2.5.29.27\", \"deltaCRLIndicator\" },\n  { \"2.5.29.28\", \"issuingDistributionPoint\"
        },\n  { \"2.5.29.29\", \"certificateIssuer\" },\n  { \"2.5.29.30\", \"nameConstraints\"
        },\n  { \"2.5.29.31\", \"cRLDistributionPoints\", OID_FLAG_SKIP},\n  { \"2.5.29.32\",
        \"certificatePolicies\", OID_FLAG_SKIP},\n  { \"2.5.29.32.0\", \"anyPolicy\"
        },\n  { \"2.5.29.33\", \"policyMappings\" },\n  { \"2.5.29.35\", \"authorityKeyIdentifier\",
        OID_FLAG_SKIP},\n  { \"2.5.29.36\", \"policyConstraints\" },\n  { \"2.5.29.37\",
        \"extKeyUsage\", OID_FLAG_SKIP},\n  { \"2.5.29.37.0\", \"anyExtendedKeyUsage\",
        OID_FLAG_KP},\n  { \"2.5.29.46\", \"freshestCRL\" },\n  { \"2.5.29.54\", \"inhibitAnyPolicy\"
        },\n\n  /* Netscape certificate extensions. */\n  { \"2.16.840.1.113730.1.1\",
        \"netscape-cert-type\" },\n  { \"2.16.840.1.113730.1.2\", \"netscape-base-url\"
        },\n  { \"2.16.840.1.113730.1.3\", \"netscape-revocation-url\" },\n  { \"2.16.840.1.113730.1.4\",
        \"netscape-ca-revocation-url\" },\n  { \"2.16.840.1.113730.1.7\", \"netscape-cert-renewal-url\"
        },\n  { \"2.16.840.1.113730.1.8\", \"netscape-ca-policy-url\" },\n  { \"2.16.840.1.113730.1.9\",
        \"netscape-homePage-url\" },\n  { \"2.16.840.1.113730.1.10\", \"netscape-entitylogo\"
        },\n  { \"2.16.840.1.113730.1.11\", \"netscape-userPicture\" },\n  { \"2.16.840.1.113730.1.12\",
        \"netscape-ssl-server-name\" },\n  { \"2.16.840.1.113730.1.13\", \"netscape-comment\"
        },\n  { \"2.16.840.1.113730.4.1\", \"serverGatedCrypto.ns\", OID_FLAG_KP },\n\n
        \ /* GnuPG extensions */\n  { \"1.3.6.1.4.1.11591.2.1.1\", \"pkaAddress\"
        },\n  { \"1.3.6.1.4.1.11591.2.1.2\", \"manuNotation\" },\n  { \"1.3.6.1.4.1.11591.2.2.1\",
        \"standaloneCertificate\" },\n  { \"1.3.6.1.4.1.11591.2.2.2\", \"wellKnownPrivateKey\"
        },\n  { \"1.3.6.1.4.1.11591.2.6.1\", \"gpgUsageCert\", OID_FLAG_KP },\n  {
        \"1.3.6.1.4.1.11591.2.6.2\", \"gpgUsageSign\", OID_FLAG_KP },\n  { \"1.3.6.1.4.1.11591.2.6.3\",
        \"gpgUsageEncr\", OID_FLAG_KP },\n  { \"1.3.6.1.4.1.11591.2.6.4\", \"gpgUsageAuth\",
        OID_FLAG_KP },\n\n  /* Extensions used by the Bundesnetzagentur.  */\n  {
        \"1.3.6.1.4.1.8301.3.5\", \"validityModel\" },\n\n  /* Yubikey extensions
        for attestation certificates.  */\n  { \"1.3.6.1.4.1.41482.3.3\", \"yubikey-firmware-version\",
        OID_FLAG_HEX },\n  { \"1.3.6.1.4.1.41482.3.7\", \"yubikey-serial-number\",
        OID_FLAG_HEX },\n  { \"1.3.6.1.4.1.41482.3.8\", \"yubikey-pin-touch-policy\",
        OID_FLAG_HEX },\n  { \"1.3.6.1.4.1.41482.3.9\", \"yubikey-formfactor\", OID_FLAG_HEX
        },\n  { \"1.3.6.1.4.1.41482.5.1\", \"yk-opgp-cardholder-name\", OID_FLAG_UTF8
        },\n  { \"1.3.6.1.4.1.41482.5.2\", \"yk-opgp-attst-source\", OID_FLAG_HEX
        },\n  { \"1.3.6.1.4.1.41482.5.3\", \"yk-opgp-opgp-version-number\", OID_FLAG_HEX
        },\n  { \"1.3.6.1.4.1.41482.5.4\", \"yk-opgp-attst-fpr\", OID_FLAG_HEX },\n
        \ { \"1.3.6.1.4.1.41482.5.5\", \"yk-opgp-attst-date\", OID_FLAG_HEX },\n  {
        \"1.3.6.1.4.1.41482.5.6\", \"yk-opgp-attst-sigcount\", OID_FLAG_HEX },\n  {
        \"1.3.6.1.4.1.41482.5.7\", \"yk-opgp-serial-number\", OID_FLAG_HEX },\n  {
        \"1.3.6.1.4.1.41482.5.8\", \"yk-opgp-uif\", OID_FLAG_HEX },\n  { \"1.3.6.1.4.1.41482.5.9\",
        \"yk-opgp-form-factor\", OID_FLAG_HEX },\n  { \"1.3.6.1.4.1.41482.5.10\",\"yk-opgp-fips-certified\",
        OID_FLAG_HEX },\n  { \"1.3.6.1.4.1.41482.5.11\",\"yk-opgp-cspn-certified\",
        OID_FLAG_HEX },\n\n\n  /* Microsoft extensions.  */\n  { \"1.3.6.1.4.1.311.3.10.3.12\",\"ms-old-documentSigning\",
        OID_FLAG_KP },\n  { \"1.3.6.1.4.1.311.10.3.3\", \"ms-serverGatedCrypto\",
        OID_FLAG_KP },\n  { \"1.3.6.1.4.1.311.10.3.11\",\"ms-keyRecovery\", OID_FLAG_KP
        },\n  { \"1.3.6.1.4.1.311.10.3.12\",\"ms-documentSigning\", OID_FLAG_KP },\n
        \ { \"1.3.6.1.4.1.311.10.3.4\", \"ms-encryptedFileSystem\", OID_FLAG_KP },\n
        \ { \"1.3.6.1.4.1.311.10.3.4.1\",\"ms-efsRecovery\", OID_FLAG_KP },\n  { \"1.3.6.1.4.1.311.20.2.1\",
        \"ms-enrollmentAgent\", OID_FLAG_KP },\n  { \"1.3.6.1.4.1.311.20.2.2\", \"ms-smartcardLogon\",
        OID_FLAG_KP },\n  { \"1.3.6.1.4.1.311.21.5\",   \"ms-caExchange\", OID_FLAG_KP
        },\n  { \"1.3.6.1.4.1.311.21.6\",   \"ms-keyRecovery\", OID_FLAG_KP },\n  {
        \"1.3.6.1.4.1.311.21.19\",  \"ms-dsEmailReplication\", OID_FLAG_KP },\n\n
        \ /* BSI policies.  */\n\n  /* Other vendor extensions.  */\n  { \"1.3.6.1.4.1.30205.13.1.1\",
        \"trusted-disk\", OID_FLAG_KP },\n  { \"1.2.840.113583.1.1.5\",     \"pdfAuthenticDocumentsTrust\",
        OID_FLAG_KP },\n  { \"1.3.6.1.4.1.6449.1.3.5.2\", \"comodoCertifiedDeliveryService\",
        OID_FLAG_KP },\n\n  /* ARRL */\n  { \"1.3.6.1.4.1.12348.1.1\",    \"lotw-callsign\"
        },\n  { \"1.3.6.1.4.1.12348.1.2\",    \"lotw-qso-first-date\" },\n  { \"1.3.6.1.4.1.12348.1.3\",
        \   \"lotw-qso-end-date\" },\n  { \"1.3.6.1.4.1.12348.1.4\",    \"lotw-dxcc-entity\"
        },\n  /* { \"1.3.6.1.4.1.12348.1.5\",    \"lotw-fixme\" }, */\n\n  { NULL
        }\n}"
      pos:
        line_end: 67
        line_start: 62
        source_file: /src/gnupg/sm/keylist.c
    typedefs: []
    union: []
- function_names:
  - cert_usage_p
  - gpgsm_cert_use_sign_p
  - gpgsm_cert_use_encrypt_p
  - gpgsm_cert_use_verify_p
  - gpgsm_cert_use_decrypt_p
  - gpgsm_cert_use_cert_p
  - gpgsm_cert_use_ocsp_p
  - gpgsm_cert_has_well_known_private_key
  - same_subject_issuer
  - gpgsm_certs_identical_p
  - is_cert_in_certlist
  - gpgsm_add_cert_to_certlist
  - gpgsm_add_to_certlist
  - gpgsm_release_certlist
  - gpgsm_find_cert
  source_file: /src/gnupg/sm/certlist.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_MODE_SIGN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/sm/certlist.c
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_MODE_ENCR
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/sm/certlist.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_MODE_VRFY
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/gnupg/sm/certlist.c
      type_or_value: '2'
    - item_type: preproc_def
      name: USE_MODE_DECR
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/gnupg/sm/certlist.c
      type_or_value: '3'
    - item_type: preproc_def
      name: USE_MODE_CERT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/sm/certlist.c
      type_or_value: '4'
    - item_type: preproc_def
      name: USE_MODE_OCSP
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/gnupg/sm/certlist.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - gpgsm_print_further_info
  - transform_sigval
  - gpgsm_ksba_cms_get_sig_val
  - gpgsm_get_hash_algo_from_sigval
  - gpgsm_map_cipher_name_to_oid
  source_file: /src/gnupg/sm/misc.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*oidstr'
        type: char
      - name: '*name'
        type: char
      - name: '*altname'
        type: char
      item_type: struct
      name: "oidtbl[] =\n    {\n      { \"2.16.840.1.101.3.4.1.2\",    \"AES\",    \"AES-CBC\"
        \ },\n      { \"2.16.840.1.101.3.4.1.2\",    \"AES128\", \"AES128-CBC\" },\n
        \     { \"2.16.840.1.101.3.4.1.22\",   \"AES192\", \"AES192-CBC\" },\n      {
        \"2.16.840.1.101.3.4.1.42\",   \"AES256\", \"AES256-CBC\" },\n      { \"2.16.840.1.101.3.4.1.6\",
        \   \"AES-GCM\"    },\n      { \"2.16.840.1.101.3.4.1.6\",    \"AES128-GCM\"
        },\n      { \"2.16.840.1.101.3.4.1.26\",   \"AES192-GCM\" },\n      { \"2.16.840.1.101.3.4.1.46\",
        \  \"AES256-GCM\" },\n      { \"1.2.392.200011.61.1.1.1.2\", \"CAMELLIA\",
        \   \"CAMELLIA-CBC\" },\n      { \"1.2.392.200011.61.1.1.1.2\", \"CAMELLIA128\",
        \"CAMELLIA128-CBC\" },\n      { \"1.2.392.200011.61.1.1.1.3\", \"CAMELLIA192\",
        \"CAMELLIA192-CBC\" },\n      { \"1.2.392.200011.61.1.1.1.4\", \"CAMELLIA256\",
        \"CAMELLIA256-CBC\" },\n      { \"1.2.410.200004.1.4\",        \"SEED\", \"SEED-CBC\"
        },\n      { \"1.3.6.1.4.1.11591.13.2.2\",  \"SERPENT\",    \"SERPENT-CBC\"
        },\n      { \"1.3.6.1.4.1.11591.13.2.2\",  \"SERPENT128\", \"SERPENT128-CBC\"
        },\n      { \"1.3.6.1.4.1.11591.13.2.22\", \"SERPENT192\", \"SERPENT192-CBC\"
        },\n      { \"1.3.6.1.4.1.11591.13.2.42\", \"SERPENT256\", \"SERPENT256-CBC\"
        },\n      { \"1.2.840.113549.3.7\",        \"3DES\",  \"3DES-CBC\" }\n    }"
      pos:
        line_end: 351
        line_start: 347
        source_file: /src/gnupg/sm/misc.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/sm/passphrase.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_duptable
  - destroy_duptable
  - insert_duptable
  - gpgsm_export
  - gpgsm_p12_export
  - print_short_info
  - sexp_to_kparms
  - export_p12
  source_file: /src/gnupg/sm/export.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DUPTABLE_BITS
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/sm/export.c
      type_or_value: '12'
    - item_type: preproc_def
      name: DUPTABLE_SIZE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/gnupg/sm/export.c
      type_or_value: (1 << DUPTABLE_BITS)
    structs:
    - fields:
      - name: '*next'
        type: struct duptable_s
      - name: fpr[19]
        type: unsigned char
      item_type: struct
      name: duptable_s
      pos:
        line_end: 50
        line_start: 42
        source_file: /src/gnupg/sm/export.c
    typedefs:
    - item_type: typedef
      name: '*duptable_t'
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/gnupg/sm/export.c
      type: duptable_s
    union: []
- function_names:
  - print_imported_status
  - print_import_problem
  - print_imported_summary
  - check_and_store
  - import_one
  - reimport_one
  - gpgsm_import
  - gpgsm_import_files
  - rsa_key_check
  - store_cert_cb
  - p12_to_skey
  - parse_p12
  source_file: /src/gnupg/sm/import.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: O_BINARY
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/gnupg/sm/import.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MAX_P12OBJ_SIZE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/sm/import.c
      type_or_value: '128 '
    structs:
    - fields:
      - name: count
        type: unsigned long
      - name: imported
        type: unsigned long
      - name: unchanged
        type: unsigned long
      - name: not_imported
        type: unsigned long
      - name: secret_read
        type: unsigned long
      - name: secret_imported
        type: unsigned long
      - name: secret_dups
        type: unsigned long
      item_type: struct
      name: stats_s
      pos:
        line_end: 54
        line_start: 46
        source_file: /src/gnupg/sm/import.c
    - fields:
      - name: n
        type: gcry_mpi_t
      - name: e
        type: gcry_mpi_t
      - name: d
        type: gcry_mpi_t
      - name: p
        type: gcry_mpi_t
      - name: q
        type: gcry_mpi_t
      - name: u
        type: gcry_mpi_t
      item_type: struct
      name: rsa_secret_key_s
      pos:
        line_end: 65
        line_start: 57
        source_file: /src/gnupg/sm/import.c
    - fields:
      - name: err
        type: gpg_error_t
      - name: '*stats'
        type: struct stats_s
      - name: ctrl
        type: ctrl_t
      item_type: struct
      name: store_cert_parm_s
      pos:
        line_end: 649
        line_start: 644
        source_file: /src/gnupg/sm/import.c
    typedefs: []
    union: []
- function_names:
  - flush_istrusted_cache
  - release_a_keyinfo_cache
  - gpgsm_flush_keyinfo_cache
  - warn_version_mismatch
  - start_agent
  - default_inq_cb
  - sethash_inq_cb
  - gpgsm_agent_pksign
  - gpgsm_scd_pksign
  - inq_ciphertext_cb
  - gpgsm_agent_pkdecrypt
  - inq_genkey_parms
  - gpgsm_agent_genkey
  - gpgsm_agent_readkey
  - store_serialno
  - scd_serialno_status_cb
  - gpgsm_agent_scd_serialno
  - scd_keypairinfo_status_cb
  - gpgsm_agent_scd_keypairinfo
  - istrusted_status_cb
  - gpgsm_agent_istrusted
  - gpgsm_agent_marktrusted
  - gpgsm_agent_havekey
  - learn_status_cb
  - learn_cb
  - gpgsm_agent_learn
  - gpgsm_agent_passwd
  - gpgsm_agent_get_confirmation
  - gpgsm_agent_send_nop
  - keyinfo_status_cb
  - gpgsm_agent_keyinfo
  - gpgsm_agent_ask_passphrase
  - gpgsm_agent_keywrap_key
  - inq_import_key_parms
  - gpgsm_agent_import_key
  - gpgsm_agent_export_key
  source_file: /src/gnupg/sm/call-agent.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: ctx
        type: assuan_context_t
      - name: '*ciphertext'
        type: unsigned char
      - name: ciphertextlen
        type: size_t
      item_type: struct
      name: cipher_parm_s
      pos:
        line_end: 51
        line_start: 45
        source_file: /src/gnupg/sm/call-agent.c
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: ctx
        type: assuan_context_t
      - name: '*sexp'
        type: unsigned char
      - name: sexplen
        type: size_t
      item_type: struct
      name: genkey_parm_s
      pos:
        line_end: 59
        line_start: 53
        source_file: /src/gnupg/sm/call-agent.c
    - fields:
      - name: error
        type: int
      - name: ctrl
        type: ctrl_t
      - name: ctx
        type: assuan_context_t
      - name: '*data'
        type: membuf_t
      item_type: struct
      name: learn_parm_s
      pos:
        line_end: 67
        line_start: 61
        source_file: /src/gnupg/sm/call-agent.c
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: ctx
        type: assuan_context_t
      - name: '*key'
        type: void
      - name: keylen
        type: size_t
      item_type: struct
      name: import_key_parm_s
      pos:
        line_end: 75
        line_start: 69
        source_file: /src/gnupg/sm/call-agent.c
    - fields:
      - name: ctx
        type: assuan_context_t
      - name: '*data'
        type: void
      - name: datalen
        type: size_t
      item_type: struct
      name: sethash_inq_parm_s
      pos:
        line_end: 82
        line_start: 77
        source_file: /src/gnupg/sm/call-agent.c
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: ctx
        type: assuan_context_t
      item_type: struct
      name: default_inq_parm_s
      pos:
        line_end: 88
        line_start: 84
        source_file: /src/gnupg/sm/call-agent.c
    - fields:
      - name: '*next'
        type: struct istrusted_cache_s
      - name: flags
        type: struct rootca_flags_s
      - name: fpr[1]
        type: char
      item_type: struct
      name: istrusted_cache_s
      pos:
        line_end: 100
        line_start: 95
        source_file: /src/gnupg/sm/call-agent.c
    - fields:
      - name: flags
        type: struct rootca_flags_s
      - name: cache
        type: istrusted_cache_t
      item_type: struct
      name: istrusted_status_parm_s
      pos:
        line_end: 954
        line_start: 950
        source_file: /src/gnupg/sm/call-agent.c
    - fields:
      - name: '*serialno'
        type: char
      - name: fill_mode
        type: int
      - name: cache
        type: keyinfo_cache_item_t
      item_type: struct
      name: keyinfo_status_parm_s
      pos:
        line_end: 1406
        line_start: 1401
        source_file: /src/gnupg/sm/call-agent.c
    typedefs:
    - item_type: typedef
      name: '*istrusted_cache_t'
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/gnupg/sm/call-agent.c
      type: istrusted_cache_s
    union: []
- function_names:
  - init_dek
  - encode_session_key
  - ecdh_encrypt
  - encrypt_dek
  - encrypt_cb
  - gpgsm_encrypt
  source_file: /src/gnupg/sm/encrypt.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*algoid'
        type: char
      - name: algo
        type: int
      - name: mode
        type: int
      - name: chd
        type: gcry_cipher_hd_t
      - name: key[32]
        type: char
      - name: keylen
        type: int
      - name: iv[32]
        type: char
      - name: ivlen
        type: int
      item_type: struct
      name: dek_s
      pos:
        line_end: 49
        line_start: 40
        source_file: /src/gnupg/sm/encrypt.c
    - fields:
      - name: fp
        type: estream_t
      - name: dek
        type: DEK
      - name: eof_seen
        type: int
      - name: ready
        type: int
      - name: readerror
        type: int
      - name: bufsize
        type: int
      - name: '*buffer'
        type: unsigned char
      - name: buflen
        type: int
      item_type: struct
      name: encrypt_cb_parm_s
      pos:
        line_end: 64
        line_start: 54
        source_file: /src/gnupg/sm/encrypt.c
    typedefs:
    - item_type: typedef
      name: '*DEK'
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/gnupg/sm/encrypt.c
      type: dek_s
    union: []
- function_names:
  - gpgsm_get_fingerprint
  - gpgsm_get_fingerprint_string
  - gpgsm_get_fingerprint_hexstring
  - gpgsm_get_short_fingerprint
  - gpgsm_get_keygrip
  - gpgsm_get_keygrip_hexstring
  - gpgsm_get_key_algo_info
  - gpgsm_is_ecc_key
  - gpgsm_pubkey_algo_string
  - gpgsm_get_rsa_modulus
  - gpgsm_get_certid
  source_file: /src/gnupg/sm/fingerprint.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - have_static_passphrase
  - get_static_passphrase
  - read_passphrase_from_fd
  source_file: /src/gnupg/sm/passphrase.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - already_asked_marktrusted
  - set_already_asked_marktrusted
  - do_list
  - compare_certs
  - has_validation_model_chain
  - unknown_criticals
  - allowed_ca
  - check_cert_policy
  - find_up_search_by_keyid
  - find_up_store_certs_cb
  - find_up_external
  - find_up_via_auth_info_access
  - find_up_dirmngr
  - find_up
  - gpgsm_walk_cert_chain
  - is_root_cert
  - gpgsm_is_root_cert
  - is_cert_still_valid
  - check_validity_period
  - check_validity_period_cm
  - ask_marktrusted
  - do_validate_chain
  - gpgsm_validate_chain
  - gpgsm_basic_cert_check
  - get_regtp_ca_info
  source_file: /src/gnupg/sm/certchain.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct marktrusted_info_s
      - name: fpr[20]
        type: unsigned char
      item_type: struct
      name: marktrusted_info_s
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/gnupg/sm/certchain.c
    - fields:
      - name: '*next'
        type: struct chain_item_s
      - name: cert
        type: ksba_cert_t
      - name: is_root
        type: int
      item_type: struct
      name: chain_item_s
      pos:
        line_end: 59
        line_start: 54
        source_file: /src/gnupg/sm/certchain.c
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: count
        type: int
      - name: want_fpr
        type: unsigned int
      - name: got_fpr
        type: unsigned int
      - name: fpr[20]
        type: unsigned char
      item_type: struct
      name: find_up_store_certs_s
      pos:
        line_end: 600
        line_start: 593
        source_file: /src/gnupg/sm/certchain.c
    typedefs:
    - item_type: typedef
      name: '*chain_item_t'
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/gnupg/sm/certchain.c
      type: chain_item_s
    union: []
- function_names:
  - get_dsa_qbits
  - do_encode_md
  - pk_algo_from_sexp
  - hash_algo_from_buffer
  - uint_from_buffer
  - extract_pss_params
  - get_sig_val_from_cert
  - gpgsm_pss_hash_algo_from_cert
  - gpgsm_check_cert_sig
  - gpgsm_check_cms_signature
  - gpgsm_create_cms_signature
  source_file: /src/gnupg/sm/certcheck.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_error
  - strcpy_escaped_plus
  - data_line_cookie_write
  - data_line_cookie_close
  - close_message_fp
  - start_audit_session
  - option_handler
  - reset_notify
  - input_notify
  - output_notify
  - cmd_recipient
  - cmd_signer
  - cmd_encrypt
  - cmd_decrypt
  - cmd_verify
  - cmd_setattr
  - cmd_sign
  - cmd_import
  - cmd_export
  - cmd_delkeys
  - cmd_message
  - do_listkeys
  - cmd_listkeys
  - cmd_dumpkeys
  - cmd_listsecretkeys
  - cmd_dumpsecretkeys
  - cmd_genkey
  - cmd_getauditlog
  - cmd_getinfo
  - cmd_passwd
  - command_has_option
  - register_commands
  - gpgsm_server
  - gpgsm_init_statusfp
  - gpgsm_status2
  - gpgsm_status
  - gpgsm_status_with_err_code
  - gpgsm_status_with_error
  - gpgsm_exit_failure_status
  - gpgsm_progress_cb
  - gpgsm_proxy_pinentry_notify
  source_file: /src/gnupg/sm/server.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SERVER_STDIN
      pos:
        line_end: 1495
        line_start: 1494
        source_file: /src/gnupg/sm/server.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SERVER_STDOUT
      pos:
        line_end: 1496
        line_start: 1495
        source_file: /src/gnupg/sm/server.c
      type_or_value: '1'
    structs:
    - fields:
      - name: assuan_ctx
        type: assuan_context_t
      - name: message_fp
        type: estream_t
      - name: list_internal
        type: int
      - name: list_external
        type: int
      - name: list_to_output
        type: int
      - name: enable_audit_log
        type: int
      - name: recplist
        type: certlist_t
      - name: signerlist
        type: certlist_t
      - name: default_recplist
        type: certlist_t
      - name: allow_pinentry_notify
        type: int
      - name: no_encrypt_to
        type: int
      item_type: struct
      name: server_local_s
      pos:
        line_end: 61
        line_start: 48
        source_file: /src/gnupg/sm/server.c
    - fields:
      - name: '*name'
        type: char
      - name: handler
        type: assuan_handler_t
      - name: '* const help'
        type: char
      item_type: struct
      name: "table[] = {\n    { \"RECIPIENT\",     cmd_recipient, hlp_recipient },\n
        \   { \"SIGNER\",        cmd_signer,    hlp_signer },\n    { \"ENCRYPT\",
        \      cmd_encrypt,   hlp_encrypt },\n    { \"DECRYPT\",       cmd_decrypt,
        \  hlp_decrypt },\n    { \"VERIFY\",        cmd_verify,    hlp_verify },\n
        \   { \"SETATTR\",       cmd_setattr,   hlp_setattr },\n    { \"SIGN\",          cmd_sign,
        \     hlp_sign },\n    { \"IMPORT\",        cmd_import,    hlp_import },\n
        \   { \"EXPORT\",        cmd_export,    hlp_export },\n    { \"INPUT\",         NULL,
        \         hlp_input },\n    { \"OUTPUT\",        NULL,          hlp_output
        },\n    { \"MESSAGE\",       cmd_message,   hlp_message },\n    { \"LISTKEYS\",
        \     cmd_listkeys,  hlp_listkeys },\n    { \"DUMPKEYS\",      cmd_dumpkeys,
        \ hlp_listkeys },\n    { \"LISTSECRETKEYS\",cmd_listsecretkeys, hlp_listkeys
        },\n    { \"DUMPSECRETKEYS\",cmd_dumpsecretkeys, hlp_listkeys },\n    { \"GENKEY\",
        \       cmd_genkey,    hlp_genkey },\n    { \"DELKEYS\",       cmd_delkeys,
        \  hlp_delkeys },\n    { \"GETAUDITLOG\",   cmd_getauditlog,    hlp_getauditlog
        },\n    { \"GETINFO\",       cmd_getinfo,   hlp_getinfo },\n    { \"PASSWD\",
        \       cmd_passwd,    hlp_passwd },\n    { NULL }\n  }"
      pos:
        line_end: 1439
        line_start: 1435
        source_file: /src/gnupg/sm/server.c
    typedefs: []
    union: []
- function_names:
  - read_list
  - gpgsm_is_in_qualified_list
  - gpgsm_qualified_consent
  - gpgsm_not_qualified_warning
  source_file: /src/gnupg/sm/qualified.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hash_data
  - hash_and_copy_data
  - gpgsm_get_default_cert
  - get_default_signer
  - add_certificate_list
  - add_system_attribute
  - add_attribute
  - write_detached_signature
  - gpgsm_sign
  source_file: /src/gnupg/sm/sign.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DIM
  - p12_set_verbosity
  - dump_to_file
  - digest_algo_from_oid
  - builder_add_oid
  - builder_add_mpi
  - string_to_key
  - set_key_iv
  - set_key_iv_pbes2
  - crypt_block
  - decrypt_block
  - bag_decrypted_data_p
  - parse_bag_encrypted_data
  - bag_data_p
  - parse_shrouded_key_bag
  - parse_cert_bag
  - parse_bag_data
  - p12_parse
  - p12_parse_free_kparms
  - compute_tag_length
  - store_tag_length
  - create_final
  - build_rsa_key_sequence
  - build_ecc_key_sequence
  - build_key_bag
  - build_cert_bag
  - build_cert_sequence
  - p12_build
  - p12_raw_build
  source_file: /src/gnupg/sm/minip12.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DATA_3DESITER2048_SALT_OFF
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/gnupg/sm/minip12.c
      type_or_value: '18'
    - item_type: preproc_def
      name: DATA_RC2ITER2048_SALT_OFF
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/gnupg/sm/minip12.c
      type_or_value: '18'
    - item_type: preproc_def
      name: DATA_MACTEMPLATE_MAC_OFF
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/gnupg/sm/minip12.c
      type_or_value: '17'
    - item_type: preproc_def
      name: DATA_MACTEMPLATE_SALT_OFF
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/gnupg/sm/minip12.c
      type_or_value: '39'
    - item_type: preproc_def
      name: DATA_ATTRTEMPLATE_KEYID_OFF
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/gnupg/sm/minip12.c
      type_or_value: '73'
    structs:
    - fields:
      - name: '*buffer'
        type: unsigned char
      - name: length
        type: size_t
      item_type: struct
      name: buffer_s
      pos:
        line_end: 146
        line_start: 142
        source_file: /src/gnupg/sm/minip12.c
    - fields:
      - name: (*certcb)(void*, const unsigned char*, size_t)
        type: void
      - name: '*certcbarg'
        type: void
      - name: '*password'
        type: char
      - name: badpass
        type: int
      - name: '*curve'
        type: char
      - name: '*privatekey'
        type: gcry_mpi_t
      - name: '*privatekey2'
        type: gcry_mpi_t
      item_type: struct
      name: p12_parse_ctx_s
      pos:
        line_end: 170
        line_start: 150
        source_file: /src/gnupg/sm/minip12.c
    typedefs: []
    union: []
- function_names:
  - string_from_gcry_buffer
  - pwri_parse_pbkdf2
  - pwri_decrypt
  - determine_wrap_cipher
  - determine_hashalgo
  - build_shared_info
  - ecdh_derive_kek
  - ecc_kem_pkdecrypt
  - prepare_decryption
  - decrypt_filter
  - decrypt_gcm_filter
  - gpgsm_decrypt
  source_file: /src/gnupg/sm/decrypt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ENC_VAL_KEM_MAX
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/gnupg/sm/decrypt.c
      type_or_value: '1024'
    structs:
    - fields:
      - name: algo
        type: int
      - name: mode
        type: int
      - name: blklen
        type: int
      - name: hd
        type: gcry_cipher_hd_t
      - name: iv[16]
        type: char
      - name: ivlen
        type: size_t
      - name: any_data
        type: int
      - name: lastblock[16]
        type: unsigned char
      - name: helpblock[16]
        type: char
      - name: helpblocklen
        type: int
      - name: is_de_vs
        type: int
      item_type: struct
      name: decrypt_filter_parm_s
      pos:
        line_end: 55
        line_start: 40
        source_file: /src/gnupg/sm/decrypt.c
    typedefs: []
    union: []
- function_names:
  - init_membuf
  - put_membuf
  - get_membuf
  - warn_version_mismatch
  - prepare_dirmngr
  - start_dirmngr_ext
  - start_dirmngr
  - release_dirmngr
  - start_dirmngr2
  - release_dirmngr2
  - inq_certificate
  - unhexify_fpr
  - warning_and_note_printer
  - isvalid_status_cb
  - gpgsm_dirmngr_isvalid
  - lookup_cb
  - pattern_from_strlist
  - lookup_status_cb
  - gpgsm_dirmngr_lookup
  - get_cached_cert_data_cb
  - get_cached_cert
  - run_command_cb
  - run_command_inq_cb
  - run_command_status_cb
  - gpgsm_dirmngr_run_command
  source_file: /src/gnupg/sm/call-dirmngr.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: len
        type: size_t
      - name: size
        type: size_t
      - name: '*buf'
        type: char
      - name: out_of_core
        type: int
      item_type: struct
      name: membuf
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/gnupg/sm/call-dirmngr.c
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: ctx
        type: assuan_context_t
      - name: cert
        type: ksba_cert_t
      - name: issuer_cert
        type: ksba_cert_t
      item_type: struct
      name: inq_certificate_parm_s
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/gnupg/sm/call-dirmngr.c
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: seen
        type: int
      - name: fpr[20]
        type: unsigned char
      - name: revoked_at
        type: gnupg_isotime_t
      - name: '*revocation_reason'
        type: char
      item_type: struct
      name: isvalid_status_parm_s
      pos:
        line_end: 68
        line_start: 62
        source_file: /src/gnupg/sm/call-dirmngr.c
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: ctx
        type: assuan_context_t
      - name: (*cb)(void *, ksba_cert_t)
        type: void
      - name: '*cb_value'
        type: void
      - name: data
        type: struct membuf
      - name: error
        type: int
      item_type: struct
      name: lookup_parm_s
      pos:
        line_end: 78
        line_start: 71
        source_file: /src/gnupg/sm/call-dirmngr.c
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: ctx
        type: assuan_context_t
      item_type: struct
      name: run_command_parm_s
      pos:
        line_end: 83
        line_start: 80
        source_file: /src/gnupg/sm/call-dirmngr.c
    typedefs: []
    union: []
- function_names:
  - gpgsm_get_serial
  - gpgsm_print_serial
  - gpgsm_print_serial_decimal
  - gpgsm_dump_serial
  - gpgsm_format_serial
  - gpgsm_print_time
  - gpgsm_dump_string
  - gpgsm_dump_cert
  - gpgsm_format_sn_issuer
  - gpgsm_cert_log_name
  - parse_dn_part
  - parse_dn
  - print_dn_part
  - print_dn_parts
  - pretty_es_print_sexp
  - gpgsm_es_print_name2
  - gpgsm_es_print_name
  - format_name_writer
  - gpgsm_format_name2
  - gpgsm_format_name
  - gpgsm_fpr_and_name_for_status
  - gpgsm_format_keydesc
  source_file: /src/gnupg/sm/certdump.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*key'
        type: char
      - name: '*value'
        type: char
      - name: multivalued
        type: int
      - name: done
        type: int
      item_type: struct
      name: dn_array_s
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/gnupg/sm/certdump.c
    - fields:
      - name: '*label'
        type: char
      - name: '*oid'
        type: char
      item_type: struct
      name: "label_map[] = {\n    /* Warning: When adding new labels, make sure that
        the buffer\n       array->key will be allocated large enough. */\n    {\"EMail\",
        \       \"1.2.840.113549.1.9.1\" },\n    {\"T\",            \"2.5.4.12\" },\n
        \   {\"GN\",           \"2.5.4.42\" },\n    {\"SN\",           \"2.5.4.4\"
        },\n    {\"NameDistinguisher\", \"0.2.262.1.10.7.20\"},\n    {\"ADDR\",         \"2.5.4.16\"
        },\n    {\"BC\",           \"2.5.4.15\" },\n    {\"D\",            \"2.5.4.13\"
        },\n    {\"PostalCode\",   \"2.5.4.17\" },\n    {\"Pseudo\",       \"2.5.4.65\"
        },\n    {\"SerialNumber\", \"2.5.4.5\" },\n    {\"Callsign\",     \"1.3.6.1.4.1.12348.1.1\"},\n
        \   {NULL, NULL}\n  }"
      pos:
        line_end: 385
        line_start: 382
        source_file: /src/gnupg/sm/certdump.c
    - fields:
      - name: '*buffer'
        type: char
      - name: size
        type: size_t
      - name: len
        type: size_t
      - name: error
        type: int
      item_type: struct
      name: format_name_cookie
      pos:
        line_end: 748
        line_start: 742
        source_file: /src/gnupg/sm/certdump.c
    typedefs: []
    union: []
- function_names:
  - ask_mb_lines
  - store_key_value_lf
  - store_mb_lines
  - check_keygrip
  - gpgsm_gencertreq_tty
  source_file: /src/gnupg/sm/certreqgen-ui.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - our_pk_test_algo
  - our_cipher_test_algo
  - our_md_test_algo
  - make_libversion
  - my_strusage
  - build_list
  - set_binary
  - wrong_args
  - set_opt_session_env
  - set_debug
  - set_cmd
  - do_add_recipient
  - parse_validation_model
  - main
  - emergency_cleanup
  - gpgsm_exit
  - gpgsm_init_default_ctrl
  - gpgsm_deinit_default_ctrl
  - gpgsm_parse_validation_model
  - open_es_fread
  - open_es_fwrite
  - run_protect_tool
  source_file: /src/gnupg/sm/gpgsm.c
  types:
    enum:
    - enumerators:
      - name: aDecrypt
        value: '''d'''
      - name: aImport
      - name: aGPGConfTest
      - name: oLCmessages
      - name: oDebugIgnoreExpiration
      - name: oNoArmor
      - name: oMinRSALength
      - name: oDigestAlgo
      - name: oSkipVerify
      - name: oChUid
      - name: oKbxBufferSize
      - name: aFingerprint
      - name: oRecipient
        value: '''r'''
      - name: aExportSecretKeyP12
      - name: oPassphraseFD
      - name: oEnableSpecialFilenames
      - name: oForceCRLRefresh
      - name: oAnswerNo
      - name: oNoGreeting
      - name: oDisableCipherAlgo
      - name: oNoAutostart
      - name: aSignEncr
      - name: aPasswd
      - name: oDebugAllowCoreDump
      - name: oTTYtype
      - name: oInputSizeHint
      - name: oEnablePolicyChecks
      - name: oStatusFD
      - name: oWithValidation
      - name: oAuthenticode
      - name: aShowCerts
      - name: oHtmlAuditLog
      - name: oProtectToolProgram
      - name: aNull
        value: '0'
      - name: oOutput
        value: '''o'''
      - name: aRecvKeys
      - name: oDisableTrustedCertCRLCheck
      - name: oWithKeyScreening
      - name: oNoSecmemWarn
      - name: oNoEncryptTo
      - name: oNoQESNote
      - name: aDetachedSign
        value: '''b'''
      - name: aClearsign
      - name: aCallDirmngr
      - name: oDebugNone
      - name: oDisplay
      - name: oAssumeBase64
      - name: oPolicyFile
      - name: oDefRecipientSelf
      - name: oWithColons
      - name: oIgnoreCertExtension
      - name: aListSecretKeys
        value: '''K'''
      - name: aListChain
      - name: aDumpSecretKeys
      - name: oNoLogFile
      - name: oDirmngrProgram
      - name: oDisableCRLChecks
      - name: oWithKeygrip
      - name: oKeyServer_deprecated
      - name: oRequireCompliance
      - name: oVerbose
        value: '''v'''
      - name: aServer
      - name: oRequestOrigin
      - name: oDebugLevel
      - name: oDisableFdTranslation
      - name: oEnableOCSP
      - name: oDefaultKey
      - name: oNoBatch
      - name: oNoRandomSeedFile
      - name: oAssertKeyusage
      - name: aDumpKeys
      - name: oDebugForceECDHSHA1KDF
      - name: oXauthority
      - name: aEncr
        value: '''e'''
      - name: aVerify
      - name: oP12Charset
      - name: oWithFingerprint
      - name: oExtraDigestAlgo
      - name: oValidationModel
      - name: oUseKeyboxd
      - name: aSign
        value: '''s'''
      - name: aExportSecretKeyP8
      - name: oPinentryMode
      - name: oOptions
      - name: oEnableIssuerBasedCRLCheck
      - name: oNoPrettyDN
      - name: oNoTTY
      - name: oDisablePubkeyAlgo
      - name: oAssertSigner
      - name: aDeleteKey
      - name: aGPGConfList
      - name: oDebugNoChainValidation
      - name: oLCctype
      - name: oBase64
      - name: oAutoIssuerKeyRetrieve
      - name: oCipherAlgo
      - name: oWithEphemeralKeys
      - name: oAttribute
      - name: oLogTime
      - name: oFakedSystemTime
      - name: oQuiet
        value: '''q'''
      - name: aExport
      - name: aKeydbClearSomeCertFlags
      - name: oEnableTrustedCertCRLCheck
      - name: oAnswerYes
      - name: oNoDefKeyring
      - name: oLoggerFD
      - name: oAlwaysTrust
      - name: aSym
        value: '''c'''
      - name: aKeygen
      - name: aCallProtectTool
      - name: oDebugWait
      - name: oTTYname
      - name: oAssumeBinary
      - name: oDisablePolicyChecks
      - name: oNoDefRecipient
      - name: oWithKeyData
      - name: oIgnoreCertWithOID
      - name: oNoop
      - name: oDryRun
        value: '''n'''
      - name: aSendKeys
      - name: oAuditLog
      - name: oDisableDirmngr
      - name: aDumpExternalKeys
      - name: oEnableCRLChecks
      - name: oWithSecret
      - name: oEncryptTo
      - name: oCompatibilityFlags
      - name: oArmor
        value: '''a'''
      - name: oBatch
        value: '500'
      - name: aLearnCard
      - name: oDebugAll
      - name: oAgentProgram
      - name: oAssumeArmor
      - name: oIncludeCerts
      - name: oDefRecipient
      - name: oHomedir
      - name: oNoCommonCertsImport
      - name: oLogFile
      - name: oPreferSystemDirmngr
      - name: aListKeys
        value: '''k'''
      - name: aListExternalKeys
      - name: aDumpChain
      - name: oCompliance
      - name: oWithMD5Fingerprint
      - name: oNoVerbose
      - name: oKeyServer
      - name: oKeyboxdProgram
      - name: oNoProtection
      - name: oDebug
      - name: oUser
        value: '''u'''
      - name: aExportSecretKeyRaw
      - name: oDisableOCSP
      - name: oKeyring
      - name: oNoOptions
      - name: oIgnoreTimeConflict
      - name: oAssertValidsig
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 227
        line_start: 56
        source_file: /src/gnupg/sm/gpgsm.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/gnupg/sm/gpgsm.c
      type_or_value: '1'
    - item_type: preproc_def
      name: O_BINARY
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/gnupg/sm/gpgsm.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_INCLUDE_CERTS
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/gnupg/sm/gpgsm.c
      type_or_value: '-2 '
    - item_type: preproc_def
      name: DEFAULT_CIPHER_ALGO
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/gnupg/sm/gpgsm.c
      type_or_value: '"AES256-CBC"'
    - item_type: preproc_def
      name: DEFAULT_CIPHER_ALGO_DE_VS
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/gnupg/sm/gpgsm.c
      type_or_value: '"AES256-GCM"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - gpgsm_keydb_deinit_session_data
  - try_make_homedir
  - maybe_create_keybox
  - keydb_add_resource
  - warn_version_mismatch
  - create_new_context
  - open_context
  - keydb_new
  - kbx_client_set_ephemeral
  - keydb_release
  - keydb_get_resource_name
  - keydb_set_ephemeral
  - keydb_lock
  - lock_all
  - do_fp_close
  - unlock_all
  - keydb_push_found_state
  - keydb_pop_found_state
  - keydb_get_cert
  - keydb_get_flags
  - do_set_flags
  - keydb_default_status_cb
  - store_inq_cb
  - do_insert_cert
  - keydb_update_cert
  - keydb_delete
  - keydb_locate_writable
  - keydb_rebuild_caches
  - keydb_search_reset
  - keydb_search_desc_dump
  - search_status_cb
  - keydb_search
  - keydb_search_first
  - keydb_search_next
  - keydb_search_kid
  - keydb_search_fpr
  - keydb_search_issuer
  - keydb_search_issuer_sn
  - keydb_search_subject
  - keydb_store_cert
  - set_cert_flags
  - keydb_set_cert_flags
  - keydb_clear_some_cert_flags
  source_file: /src/gnupg/sm/keydb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_KEYDB_RESOURCES
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/sm/keydb.c
      type_or_value: '20'
    structs:
    - fields:
      - name: type
        type: KeydbResourceType
      - name: u
        type: "union {\n    KEYBOX_HANDLE kr;\n  }"
      - name: '*token'
        type: void
      item_type: struct
      name: resource_item
      pos:
        line_end: 51
        line_start: 45
        source_file: /src/gnupg/sm/keydb.c
    - fields:
      - name: '*next'
        type: struct keydb_local_s
      - name: ctx
        type: assuan_context_t
      - name: kcd
        type: kbx_client_data_t
      - name: search_result
        type: "struct {\n    char *buf;\n    size_t len;\n  }"
      - name: saved_search_result
        type: "struct {\n    char *buf;\n    size_t len;\n  }"
      - name: is_active
        type: unsigned int
      - name: need_search_reset
        type: unsigned int
      item_type: struct
      name: keydb_local_s
      pos:
        line_end: 86
        line_start: 58
        source_file: /src/gnupg/sm/keydb.c
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: use_keyboxd
        type: int
      - name: kbl
        type: keydb_local_t
      - name: last_ubid_valid
        type: unsigned int
      - name: last_is_ephemeral
        type: unsigned int
      - name: last_is_revoked
        type: unsigned int
      - name: last_ubid[UBID_LEN]
        type: unsigned char
      - name: locked
        type: int
      - name: keep_lock
        type: int
      - name: found
        type: int
      - name: saved_found
        type: int
      - name: current
        type: int
      - name: is_ephemeral
        type: int
      - name: used
        type: int
      - name: active[MAX_KEYDB_RESOURCES]
        type: struct resource_item
      item_type: struct
      name: keydb_handle
      pos:
        line_end: 143
        line_start: 100
        source_file: /src/gnupg/sm/keydb.c
    - fields:
      - name: ctx
        type: assuan_context_t
      - name: '*data'
        type: void
      - name: datalen
        type: size_t
      item_type: struct
      name: store_parm_s
      pos:
        line_end: 1195
        line_start: 1190
        source_file: /src/gnupg/sm/keydb.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/sm/minip12.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/tpm2d/tpm2.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - make_libversion
  - my_strusage
  - tid_log_callback
  - set_debug
  - cleanup
  - main
  - tpm2d_exit
  - tpm2d_init_default_ctrl
  - tpm2d_deinit_default_ctrl
  - tpm2d_get_socket_name
  - handle_signal
  - create_socket_name
  - create_server_socket
  - start_connection_thread
  - tpm2d_kick_the_loop
  - handle_connections
  - get_active_connection_count
  source_file: /src/gnupg/tpm2d/tpm2daemon.c
  types:
    enum:
    - enumerators:
      - name: oVerbose
        value: '''v'''
      - name: oOptions
      - name: oNoGreeting
      - name: oDebugWait
      - name: oNoGrab
      - name: oDaemon
      - name: aNull
        value: '0'
      - name: oSh
        value: '''s'''
      - name: aGPGConfTest
      - name: oDebugLevel
      - name: oDebugAssuanLogCats
      - name: oNoDetach
      - name: oMultiServer
      - name: oQuiet
        value: '''q'''
      - name: aGPGConfList
      - name: oHomedir
      - name: oDebugLogTid
      - name: oDebugAll
      - name: oServer
      - name: oParent
      - name: oCsh
        value: '''c'''
      - name: oNoVerbose
        value: '500'
      - name: oDebug
      - name: oNoOptions
      - name: oDebugAllowCoreDump
      - name: oLogFile
      - name: oListenBacklog
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 87
        line_start: 58
        source_file: /src/gnupg/tpm2d/tpm2daemon.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/gnupg/tpm2d/tpm2daemon.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ENAMETOOLONG
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/gnupg/tpm2d/tpm2daemon.c
      type_or_value: EINVAL
    - item_type: preproc_def
      name: TIMERTICK_INTERVAL_SEC
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/gnupg/tpm2d/tpm2daemon.c
      type_or_value: (0)
    - item_type: preproc_def
      name: TIMERTICK_INTERVAL_USEC
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/gnupg/tpm2d/tpm2daemon.c
      type_or_value: (500000)
    structs: []
    typedefs: []
    union: []
- function_names:
  - TSSINCLUDE
  - VAL
  - VAL_2B
  - tpm2_set_unique_tssdir
  - tpm2_error
  - TSS_start
  - tpm2_CreatePrimary
  - tpm2_FlushContext
  - tpm2_ReadPublic
  - tpm2_StartAuthSession
  - tpm2_Sign
  - tpm2_ECDH_ZGen
  - tpm2_RSA_Decrypt
  - tpm2_Load
  - tpm2_Import
  - tpm2_handle_int
  - tpm2_handle_ext
  - tpm2_handle_mso
  source_file: /src/gnupg/tpm2d/ibm-tss.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXT_TPM_RH_OWNER
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/tpm2d/ibm-tss.h
      type_or_value: TPM_RH_OWNER
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_error
  - reset_notify
  - option_handler
  - pin_cb
  - cmd_import
  - cmd_pksign
  - cmd_pkdecrypt
  - cmd_killtpm2d
  - register_commands
  - tpm2d_command_handler
  source_file: /src/gnupg/tpm2d/command.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXLEN_PIN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/tpm2d/command.c
      type_or_value: '100'
    - item_type: preproc_def
      name: MAXLEN_KEYDATA
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/tpm2d/command.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: MAXLEN_SETDATA
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/gnupg/tpm2d/command.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: MAXLEN_CERTDATA
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/gnupg/tpm2d/command.c
      type_or_value: '16384'
    structs:
    - fields:
      - name: '*next_session'
        type: struct server_local_s
      - name: ctrl_backlink
        type: ctrl_t
      - name: assuan_ctx
        type: assuan_context_t
      - name: card_removed
        type: int
      - name: stopme
        type: int
      item_type: struct
      name: server_local_s
      pos:
        line_end: 86
        line_start: 57
        source_file: /src/gnupg/tpm2d/command.c
    - fields:
      - name: '*name'
        type: char
      - name: handler
        type: assuan_handler_t
      - name: '* const help'
        type: char
      item_type: struct
      name: "table[] = {\n    { \"IMPORT\",       cmd_import,     hlp_import },\n
        \   { \"PKSIGN\",       cmd_pksign,     hlp_pksign },\n    { \"PKDECRYPT\",
        \   cmd_pkdecrypt,  hlp_pkdecrypt },\n    { \"KILLTPM2D\",    cmd_killtpm2d,
        \ hlp_killtpm2d },\n    { NULL }\n  }"
      pos:
        line_end: 381
        line_start: 377
        source_file: /src/gnupg/tpm2d/command.c
    typedefs: []
    union: []
- function_names:
  - struct
  source_file: /src/gnupg/tpm2d/tpm2daemon.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPG_ERR_SOURCE_DEFAULT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/tpm2d/tpm2daemon.h
      type_or_value: '16 '
    - item_type: preproc_def
      name: MAX_DIGEST_LEN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/tpm2d/tpm2daemon.h
      type_or_value: '64'
    - item_type: preproc_def
      name: DBG_MPI_VALUE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/gnupg/tpm2d/tpm2daemon.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: DBG_CRYPTO_VALUE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/gnupg/tpm2d/tpm2daemon.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: DBG_IPC_VALUE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/gnupg/tpm2d/tpm2daemon.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: DBG_CRYPTO
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/gnupg/tpm2d/tpm2daemon.h
      type_or_value: (opt.debug & DBG_CRYPTO_VALUE)
    - item_type: preproc_def
      name: DBG_MEMORY
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/gnupg/tpm2d/tpm2daemon.h
      type_or_value: (opt.debug & DBG_MEMORY_VALUE)
    structs:
    - fields:
      - name: thread_startup
        type: "struct {\n    gnupg_fd_t fd;\n  }"
      - name: '*server_local'
        type: struct server_local_s
      - name: '*ctx'
        type: struct assuan_context_s
      - name: in_data
        type: "struct\n  {\n    unsigned char *value;\n    int valuelen;\n  }"
      item_type: struct
      name: server_control_s
      pos:
        line_end: 85
        line_start: 62
        source_file: /src/gnupg/tpm2d/tpm2daemon.h
    typedefs:
    - item_type: typedef
      name: '*app_t'
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/gnupg/tpm2d/tpm2daemon.h
      type: app_ctx_s
    union: []
- function_names:
  - TSS_CONVERT_MARSHAL
  - TSS_CONVERT_UNMARSHAL
  - TSS_GetDigestSize
  - TSS_Hash_GetMd
  - TSS_Hash_Generate
  - TSS_TPM2B_Create
  - tpm2_error
  - TSS_start
  - tpm2_Import
  - tpm2_Create
  - tpm2_ReadPublic
  - tpm2_RSA_Decrypt
  - tpm2_Sign
  - tpm2_ECDH_ZGen
  - tpm2_CreatePrimary
  - tpm2_FlushContext
  - tpm2_StartAuthSession
  - tpm2_Load
  - tpm2_handle_ext
  - tpm2_handle_int
  - tpm2_handle_mso
  source_file: /src/gnupg/tpm2d/intel-tss.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXT_TPM_RH_OWNER
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_RH_OWNER
    - item_type: preproc_def
      name: EXT_TPM_RH_PLATFORM
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_RH_PLATFORM
    - item_type: preproc_def
      name: EXT_TPM_RH_ENDORSEMENT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_RH_ENDORSEMENT
    - item_type: preproc_def
      name: EXT_TPM_RH_NULL
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_RH_NULL
    - item_type: preproc_def
      name: INT_TPM_RH_NULL
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: ESYS_TR_RH_NULL
    - item_type: preproc_def
      name: TSS_CONTEXT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: ESYS_CONTEXT
    - item_type: preproc_def
      name: MAX_RESPONSE_SIZE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_MAX_RESPONSE_SIZE
    - item_type: preproc_def
      name: MAX_RSA_KEY_BYTES
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_MAX_RSA_KEY_BYTES
    - item_type: preproc_def
      name: MAX_ECC_CURVES
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_MAX_ECC_CURVES
    - item_type: preproc_def
      name: MAX_ECC_KEY_BYTES
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_MAX_ECC_KEY_BYTES
    - item_type: preproc_def
      name: MAX_SYM_DATA
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_MAX_SYM_DATA
    - item_type: preproc_def
      name: AES_128_BLOCK_SIZE_BYTES
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: '16'
    - item_type: preproc_def
      name: TPM_RC_SUCCESS
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_RC_SUCCESS
    - item_type: preproc_def
      name: TPM_RC_SYMMETRIC
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_RC_SYMMETRIC
    - item_type: preproc_def
      name: TPM_RC_ASYMMETRIC
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_RC_ASYMMETRIC
    - item_type: preproc_def
      name: TPM_RC_CURVE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_RC_CURVE
    - item_type: preproc_def
      name: TPM_RC_KEY_SIZE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_RC_KEY_SIZE
    - item_type: preproc_def
      name: TPM_RC_KEY
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_RC_KEY
    - item_type: preproc_def
      name: TPM_RC_VALUE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_RC_VALUE
    - item_type: preproc_def
      name: TPM_RC_POLICY
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_RC_POLICY
    - item_type: preproc_def
      name: TPM_RC_FAILURE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_RC_FAILURE
    - item_type: preproc_def
      name: TPM_RC_AUTH_FAIL
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_RC_AUTH_FAIL
    - item_type: preproc_def
      name: TPM_RC_BAD_AUTH
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_RC_BAD_AUTH
    - item_type: preproc_def
      name: RC_VER1
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_RC_VER1
    - item_type: preproc_def
      name: RC_FMT1
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_RC_FMT1
    - item_type: preproc_def
      name: TPM_EO_EQ
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_EO_EQ
    - item_type: preproc_def
      name: TPM_EO_NEQ
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_EO_NEQ
    - item_type: preproc_def
      name: TPM_EO_SIGNED_GT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_EO_SIGNED_GT
    - item_type: preproc_def
      name: TPM_EO_UNSIGNED_GT
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_EO_UNSIGNED_GT
    - item_type: preproc_def
      name: TPM_EO_SIGNED_LT
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_EO_SIGNED_LT
    - item_type: preproc_def
      name: TPM_EO_UNSIGNED_LT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_EO_UNSIGNED_LT
    - item_type: preproc_def
      name: TPM_EO_SIGNED_GE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_EO_SIGNED_GE
    - item_type: preproc_def
      name: TPM_EO_UNSIGNED_GE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_EO_UNSIGNED_GE
    - item_type: preproc_def
      name: TPM_EO_SIGNED_LE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_EO_SIGNED_LE
    - item_type: preproc_def
      name: TPM_EO_UNSIGNED_LE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_EO_UNSIGNED_LE
    - item_type: preproc_def
      name: TPM_EO_BITSET
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_EO_BITSET
    - item_type: preproc_def
      name: TPM_EO_BITCLEAR
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_EO_BITCLEAR
    - item_type: preproc_def
      name: TPM_CC_PolicyPCR
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_CC_PolicyPCR
    - item_type: preproc_def
      name: TPM_CC_PolicyAuthValue
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_CC_PolicyAuthValue
    - item_type: preproc_def
      name: TPM_CC_PolicyCounterTimer
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_CC_PolicyCounterTimer
    - item_type: preproc_def
      name: TPM_ST_HASHCHECK
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ST_HASHCHECK
    - item_type: preproc_def
      name: TPM_RH_OWNER
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: ESYS_TR_RH_OWNER
    - item_type: preproc_def
      name: TPM_RH_PLATFORM
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: ESYS_TR_RH_PLATFORM
    - item_type: preproc_def
      name: TPM_RH_ENDORSEMENT
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: ESYS_TR_RH_ENDORSEMENT
    - item_type: preproc_def
      name: TPM_RH_NULL
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: ESYS_TR_NONE
    - item_type: preproc_def
      name: TPM_RS_PW
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: ESYS_TR_PASSWORD
    - item_type: preproc_def
      name: TPM_HT_PERMANENT
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_HT_PERMANENT
    - item_type: preproc_def
      name: TPM_HT_TRANSIENT
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_HT_TRANSIENT
    - item_type: preproc_def
      name: TPM_HT_PERSISTENT
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_HT_PERSISTENT
    - item_type: preproc_def
      name: TPM_HANDLE
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: ESYS_TR
    - item_type: preproc_def
      name: TPM_RC
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_RC
    - item_type: preproc_def
      name: TPM_CC
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_CC
    - item_type: preproc_def
      name: TPM_ALG_ID
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ALG_ID
    - item_type: preproc_def
      name: TPM_SE
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_SE
    - item_type: preproc_def
      name: TPM_SE_HMAC
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_SE_HMAC
    - item_type: preproc_def
      name: TPM_SE_POLICY
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_SE_POLICY
    - item_type: preproc_def
      name: TPM_CAP
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_CAP
    - item_type: preproc_def
      name: TPM_CAP_ECC_CURVES
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_CAP_ECC_CURVES
    - item_type: preproc_def
      name: TPM_EO
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_EO
    - item_type: preproc_def
      name: TPM_ECC_NONE
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ECC_NONE
    - item_type: preproc_def
      name: TPM_ECC_NIST_P192
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ECC_NIST_P192
    - item_type: preproc_def
      name: TPM_ECC_NIST_P224
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ECC_NIST_P224
    - item_type: preproc_def
      name: TPM_ECC_NIST_P256
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ECC_NIST_P256
    - item_type: preproc_def
      name: TPM_ECC_NIST_P384
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ECC_NIST_P384
    - item_type: preproc_def
      name: TPM_ECC_NIST_P521
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ECC_NIST_P521
    - item_type: preproc_def
      name: TPM_ECC_BN_P256
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ECC_BN_P256
    - item_type: preproc_def
      name: TPM_ECC_BN_P638
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ECC_BN_P638
    - item_type: preproc_def
      name: TPM_ECC_SM2_P256
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ECC_SM2_P256
    - item_type: preproc_def
      name: TPM_ALG_NULL
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ALG_NULL
    - item_type: preproc_def
      name: TPM_ALG_SHA1
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ALG_SHA1
    - item_type: preproc_def
      name: TPM_ALG_SHA256
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ALG_SHA256
    - item_type: preproc_def
      name: TPM_ALG_SHA384
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ALG_SHA384
    - item_type: preproc_def
      name: TPM_ALG_SHA512
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ALG_SHA512
    - item_type: preproc_def
      name: TPM_ALG_AES
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ALG_AES
    - item_type: preproc_def
      name: TPM_ALG_CFB
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ALG_CFB
    - item_type: preproc_def
      name: TPM_ALG_RSA
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ALG_RSA
    - item_type: preproc_def
      name: TPM_ALG_RSASSA
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ALG_RSASSA
    - item_type: preproc_def
      name: TPM_ALG_ECC
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ALG_ECC
    - item_type: preproc_def
      name: TPM_ALG_KEYEDHASH
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ALG_KEYEDHASH
    - item_type: preproc_def
      name: TPM_ALG_RSAES
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ALG_RSAES
    - item_type: preproc_def
      name: TPM_ALG_OAEP
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ALG_OAEP
    - item_type: preproc_def
      name: TPM_ALG_ECDSA
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2_ALG_ECDSA
    - item_type: preproc_def
      name: TPMA_OBJECT_SIGN
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPMA_OBJECT_SIGN_ENCRYPT
    - item_type: preproc_def
      name: NAME_2B
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2B_NAME
    - item_type: preproc_def
      name: DATA_2B
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2B_DATA
    - item_type: preproc_def
      name: PRIVATE_2B
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2B_PRIVATE
    - item_type: preproc_def
      name: ENCRYPTED_SECRET_2B
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2B_ENCRYPTED_SECRET
    - item_type: preproc_def
      name: KEY_2B
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2B_KEY
    - item_type: preproc_def
      name: TPM2B_KEY
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2B_DATA
    - item_type: preproc_def
      name: DIGEST_2B
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2B_DIGEST
    - item_type: preproc_def
      name: ECC_PARAMETER_2B
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2B_ECC_PARAMETER
    - item_type: preproc_def
      name: SENSITIVE_DATA_2B
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2B_SENSITIVE_DATA
    - item_type: preproc_def
      name: PUBLIC_KEY_RSA_2B
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: TPM2B_PUBLIC_KEY_RSA
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: '0'
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/gnupg/tpm2d/intel-tss.h
      type_or_value: '1'
    structs:
    - fields:
      - name: size
        type: uint16_t
      - name: buffer[]
        type: BYTE
      item_type: struct
      name: TPM2B
      pos:
        line_end: 157
        line_start: 154
        source_file: /src/gnupg/tpm2d/intel-tss.h
    typedefs: []
    union: []
- function_names:
  - tpm2_start
  - tpm2_end
  - tpm2_get_parent
  - tpm2_flush_handle
  - tpm2_get_hmac_handle
  - tpm2_pre_auth
  - tpm2_post_auth
  - make_tpm2_shadow_info
  - parse_tpm2_shadow_info
  - tpm2_load_key
  - tpm2_sign
  - sexp_to_tpm2_sensitive_ecc
  - tpm2_ecc_curve
  - sexp_to_tpm2_public_ecc
  - sexp_to_tpm2_sensitive_rsa
  - sexp_to_tpm2_public_rsa
  - sexp_to_tpm2
  - tpm2_ObjectPublic_GetName
  - tpm2_SensitiveToDuplicate
  - tpm2_import_key
  - tpm2_ecc_decrypt
  - tpm2_rsa_decrypt
  source_file: /src/gnupg/tpm2d/tpm2.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: c
        type: TPMI_ECC_CURVE
      item_type: struct
      name: "tpm2_curves[] = {\n  { \"NIST P-192\", TPM_ECC_NIST_P192 },\n  { \"prime192v1\",
        TPM_ECC_NIST_P192 },\n  { \"secp192r1\", TPM_ECC_NIST_P192 },\n  { \"nistp192\",
        TPM_ECC_NIST_P192 },\n  { \"NIST P-224\", TPM_ECC_NIST_P224 },\n  { \"secp224r1\",
        TPM_ECC_NIST_P224 },\n  { \"nistp224\", TPM_ECC_NIST_P224 },\n  { \"NIST P-256\",
        TPM_ECC_NIST_P256 },\n  { \"prime256v1\", TPM_ECC_NIST_P256 },\n  { \"secp256r1\",
        TPM_ECC_NIST_P256 },\n  { \"nistp256\", TPM_ECC_NIST_P256 },\n  { \"NIST P-384\",
        TPM_ECC_NIST_P384 },\n  { \"secp384r1\", TPM_ECC_NIST_P384 },\n  { \"nistp384\",
        TPM_ECC_NIST_P384 },\n  { \"NIST P-521\", TPM_ECC_NIST_P521 },\n  { \"secp521r1\",
        TPM_ECC_NIST_P521 },\n  { \"nistp521\", TPM_ECC_NIST_P521 },\n}"
      pos:
        line_end: 405
        line_start: 402
        source_file: /src/gnupg/tpm2d/tpm2.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g13/be-encfs.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g13/create.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - parse_header
  - read_keyblob_prefix
  - g13_is_container
  - g13_keyblob_read
  source_file: /src/gnupg/g13/keyblob.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - be_truecrypt_create_new_keys
  source_file: /src/gnupg/g13/be-truecrypt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g13/mountinfo.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*mtab_t'
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/gnupg/g13/mountinfo.h
      type: mounttable_s
    union: []
- function_names:
  - no_such_backend
  - _no_such_backend
  - be_parse_conttype_name
  - be_is_supported_conttype
  - be_take_lock_for_create
  - be_get_detached_name
  - be_create_new_keys
  - be_create_container
  - be_mount_container
  - be_umount_container
  - be_suspend_container
  - be_resume_container
  source_file: /src/gnupg/g13/backend.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: conttype
        type: int
      item_type: struct
      name: "names[] = {\n    { \"encfs\",    CONTTYPE_ENCFS },\n    { \"dm-crypt\",
        CONTTYPE_DM_CRYPT }\n  }"
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/gnupg/g13/backend.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g13/be-truecrypt.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_error
  - set_error_fail_cmd
  - skip_options
  - has_option
  - leave_cmd
  - option_handler
  - reset_notify
  - cmd_finddevice
  - cmd_device
  - cmd_create
  - cmd_getkeyblob
  - cmd_mount
  - cmd_umount
  - cmd_suspend
  - cmd_resume
  - cmd_getinfo
  - fail_command
  - register_commands
  - syshelp_server
  - sh_encrypt_keyblob
  - g13_status
  source_file: /src/gnupg/g13/sh-cmd.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: assuan_ctx
        type: assuan_context_t
      - name: '*devicename'
        type: char
      - name: devicefp
        type: estream_t
      item_type: struct
      name: server_local_s
      pos:
        line_end: 47
        line_start: 36
        source_file: /src/gnupg/g13/sh-cmd.c
    - fields:
      - name: '*name'
        type: char
      - name: handler
        type: assuan_handler_t
      - name: '* const help'
        type: char
      item_type: struct
      name: "table[] =  {\n    { \"FINDDEVICE\",    cmd_finddevice, hlp_finddevice
        },\n    { \"DEVICE\",        cmd_device, hlp_device },\n    { \"CREATE\",
        \       cmd_create, hlp_create },\n    { \"GETKEYBLOB\",    cmd_getkeyblob,
        \ hlp_getkeyblob },\n    { \"MOUNT\",         cmd_mount,  hlp_mount  },\n
        \   { \"UMOUNT\",        cmd_umount, hlp_umount  },\n    { \"SUSPEND\",       cmd_suspend,hlp_suspend},\n
        \   { \"RESUME\",        cmd_resume, hlp_resume },\n    { \"INPUT\",         NULL
        },\n    { \"OUTPUT\",        NULL },\n    { \"GETINFO\",       cmd_getinfo,
        hlp_getinfo },\n    { NULL }\n  }"
      pos:
        line_end: 748
        line_start: 744
        source_file: /src/gnupg/g13/sh-cmd.c
    typedefs: []
    union: []
- function_names:
  - struct
  source_file: /src/gnupg/g13/g13-common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPG_ERR_SOURCE_DEFAULT
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/gnupg/g13/g13-common.h
      type_or_value: GPG_ERR_SOURCE_G13
    - item_type: preproc_def
      name: DBG_MOUNT_VALUE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/gnupg/g13/g13-common.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: DBG_CRYPTO_VALUE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/gnupg/g13/g13-common.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: DBG_MEMORY_VALUE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/g13/g13-common.h
      type_or_value: "32\t"
    - item_type: preproc_def
      name: DBG_MEMSTAT_VALUE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/g13/g13-common.h
      type_or_value: "128\t"
    - item_type: preproc_def
      name: DBG_IPC_VALUE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/gnupg/g13/g13-common.h
      type_or_value: '1024   '
    - item_type: preproc_def
      name: DBG_MOUNT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/g13/g13-common.h
      type_or_value: (opt.debug & DBG_MOUNT_VALUE)
    - item_type: preproc_def
      name: DBG_CRYPTO
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/gnupg/g13/g13-common.h
      type_or_value: (opt.debug & DBG_CRYPTO_VALUE)
    - item_type: preproc_def
      name: DBG_MEMORY
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/g13/g13-common.h
      type_or_value: (opt.debug & DBG_MEMORY_VALUE)
    - item_type: preproc_def
      name: DBG_IPC
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/g13/g13-common.h
      type_or_value: (opt.debug & DBG_IPC_VALUE)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g13/backend.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g13/runner.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*runner_t'
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/gnupg/g13/runner.h
      type: runner_s
    - item_type: typedef
      name: "(*engine_handler_fnc_t) (void *opaque,\n                                             runner_t
        runner,\n                                             const char *statusline)"
      pos:
        line_end: 29
        line_start: 27
        source_file: /src/gnupg/g13/runner.h
      type: gpg_error_t
    - item_type: typedef
      name: (*engine_handler_cleanup_fnc_t) (void *opaque)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/gnupg/g13/runner.h
      type: void
    union: []
- function_names: []
  source_file: /src/gnupg/g13/server.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - writen
  - check_already_spawned
  - runner_get_threads
  - runner_release
  - runner_new
  - runner_get_rid
  - runner_find_by_rid
  - runner_set_fds
  - runner_set_proc
  - runner_set_handler
  - runner_thread
  - runner_spawn
  - runner_cancel
  - runner_cancel_all
  - runner_send_line
  source_file: /src/gnupg/g13/runner.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: identifier
        type: unsigned int
      - name: spawned
        type: int
      - name: thread
        type: npth_t
      - name: next_running
        type: runner_t
      - name: canceled
        type: int
      - name: cancel_flag
        type: int
      - name: refcount
        type: int
      - name: proc
        type: gpgrt_process_t
      - name: in_fd
        type: int
      - name: out_fd
        type: int
      - name: handler
        type: engine_handler_fnc_t
      - name: handler_cleanup
        type: engine_handler_cleanup_fnc_t
      - name: '*handler_data'
        type: void
      - name: status_fp
        type: estream_t
      item_type: struct
      name: runner_s
      pos:
        line_end: 68
        line_start: 35
        source_file: /src/gnupg/g13/runner.c
    typedefs: []
    union: []
- function_names:
  - my_strusage
  - wrong_args
  - set_debug
  - set_cmd
  - main
  - g13_init_default_ctrl
  - g13_deinit_default_ctrl
  - g13_request_shutdown
  - handle_signal
  - handle_tick
  - idle_task
  - start_idle_task
  - join_idle_task
  source_file: /src/gnupg/g13/g13.c
  types:
    enum:
    - enumerators:
      - name: aNull
        value: '0'
      - name: oRecipient
        value: '''r'''
      - name: aMount
      - name: aServer
      - name: oDebugLevel
      - name: oDebugAllowCoreDump
      - name: oGpgProgram
      - name: oTTYtype
      - name: oStatusFD
      - name: oNoGreeting
      - name: oVerbose
        value: '''v'''
      - name: aCreate
      - name: aResume
      - name: oDebug
      - name: oDebugWait
      - name: oAuditLog
      - name: oAgentProgram
      - name: oTTYname
      - name: oXauthority
      - name: oNoSecmemWarn
      - name: oWithColons
      - name: oFakedSystemTime
      - name: oHomedir
      - name: oQuiet
        value: '''q'''
      - name: aGPGConfTest
      - name: aSuspend
      - name: oOptions
      - name: oDebugNone
      - name: oNoLogFile
      - name: oOutput
      - name: oDisplay
      - name: oLCmessages
      - name: oNoVerbose
      - name: oNoRandomSeedFile
      - name: oNoMount
      - name: oNoOptions
      - name: aGPGConfList
        value: '500'
      - name: aUmount
      - name: oDebugAll
      - name: aFindDevice
      - name: oLogFile
      - name: oType
      - name: oLCctype
      - name: oLoggerFD
      - name: oNoTTY
      - name: oDryRun
      - name: oNoDetach
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 109
        line_start: 53
        source_file: /src/gnupg/g13/g13.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/g13/g13.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TIMERTICK_INTERVAL_SEC
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/gnupg/g13/g13.c
      type_or_value: (1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - append_tuple
  - append_tuple_uint
  - create_tupledesc
  - destroy_tupledesc
  - ref_tupledesc
  - get_tupledesc_data
  - find_tuple
  - convert_uint
  - find_tuple_uint
  - next_tuple
  - all_printable
  - dump_tupledesc
  source_file: /src/gnupg/g13/g13tuple.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*data'
        type: unsigned char
      - name: datalen
        type: size_t
      - name: pos
        type: size_t
      - name: refcount
        type: int
      item_type: struct
      name: tupledesc_s
      pos:
        line_end: 39
        line_start: 33
        source_file: /src/gnupg/g13/g13tuple.c
    typedefs: []
    union: []
- function_names:
  - set_error
  - leave_cmd
  - option_handler
  - reset_notify
  - cmd_open
  - cmd_mount
  - cmd_umount
  - cmd_suspend
  - cmd_resume
  - cmd_recipient
  - cmd_signer
  - cmd_create
  - cmd_getinfo
  - command_has_option
  - register_commands
  - g13_server
  - g13_status
  - g13_proxy_pinentry_notify
  - g13_keyblob_decrypt
  source_file: /src/gnupg/g13/server.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: assuan_ctx
        type: assuan_context_t
      - name: '*containername'
        type: char
      item_type: struct
      name: server_local_s
      pos:
        line_end: 51
        line_start: 45
        source_file: /src/gnupg/g13/server.c
    - fields:
      - name: '*name'
        type: char
      - name: handler
        type: assuan_handler_t
      - name: '* const help'
        type: char
      item_type: struct
      name: "table[] =  {\n    { \"OPEN\",          cmd_open,   hlp_open },\n    {
        \"MOUNT\",         cmd_mount,  hlp_mount},\n    { \"UMOUNT\",        cmd_umount,
        hlp_umount },\n    { \"SUSPEND\",       cmd_suspend, hlp_suspend },\n    {
        \"RESUME\",        cmd_resume,  hlp_resume },\n    { \"RECIPIENT\",     cmd_recipient,
        hlp_recipient },\n    { \"SIGNER\",        cmd_signer, hlp_signer },\n    {
        \"CREATE\",        cmd_create, hlp_create },\n    { \"INPUT\",         NULL
        },\n    { \"OUTPUT\",        NULL },\n    { \"GETINFO\",       cmd_getinfo,hlp_getinfo
        },\n    { NULL }\n  }"
      pos:
        line_end: 564
        line_start: 560
        source_file: /src/gnupg/g13/server.c
    typedefs: []
    union: []
- function_names:
  - unref_tupledesc
  source_file: /src/gnupg/g13/g13tuple.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*tupledesc_t'
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/gnupg/g13/g13tuple.h
      type: tupledesc_s
    union: []
- function_names:
  - start_syshelp
  - call_syshelp_release
  - finddevice_status_cb
  - call_syshelp_find_device
  - getkeyblob_data_cb
  - call_syshelp_get_keyblob
  - call_syshelp_set_device
  - create_status_cb
  - create_data_cb
  - create_inq_cb
  - call_syshelp_run_create
  - mount_status_cb
  - mount_inq_cb
  - call_syshelp_run_mount
  - call_syshelp_run_umount
  - call_syshelp_run_suspend
  - call_syshelp_run_resume
  source_file: /src/gnupg/g13/call-syshelp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: assctx
        type: assuan_context_t
      item_type: struct
      name: call_syshelp_s
      pos:
        line_end: 44
        line_start: 40
        source_file: /src/gnupg/g13/call-syshelp.c
    - fields:
      - name: ctx
        type: assuan_context_t
      - name: ctrl
        type: ctrl_t
      - name: plaintext
        type: membuf_t
      - name: expect_plaintext
        type: unsigned int
      - name: got_plaintext
        type: unsigned int
      item_type: struct
      name: create_parm_s
      pos:
        line_end: 55
        line_start: 48
        source_file: /src/gnupg/g13/call-syshelp.c
    - fields:
      - name: ctx
        type: assuan_context_t
      - name: ctrl
        type: ctrl_t
      - name: '*keyblob'
        type: void
      - name: keybloblen
        type: size_t
      item_type: struct
      name: mount_parm_s
      pos:
        line_end: 65
        line_start: 59
        source_file: /src/gnupg/g13/call-syshelp.c
    typedefs: []
    union: []
- function_names:
  - g13_mount_container
  - g13_umount_container
  source_file: /src/gnupg/g13/mount.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - emergency_cleanup
  - g13_init_signals
  - g13_install_emergency_cleanup
  - g13_exit
  source_file: /src/gnupg/g13/g13-common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mountinfo_add_mount
  - mountinfo_del_mount
  - mountinfo_find_mount
  - mountinfo_dump_all
  source_file: /src/gnupg/g13/mountinfo.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: in_use
        type: int
      - name: '*container'
        type: char
      - name: '*mountpoint'
        type: char
      - name: conttype
        type: int
      - name: rid
        type: unsigned int
      - name: flags
        type: "struct {\n    unsigned int remove:1;  /* True if the mountpoint shall
          be removed\n                               on umount.  */\n  }"
      item_type: struct
      name: mounttable_s
      pos:
        line_end: 49
        line_start: 38
        source_file: /src/gnupg/g13/mountinfo.c
    typedefs: []
    union: []
- function_names:
  - be_dmcrypt_create_container
  - be_dmcrypt_mount_container
  - be_dmcrypt_umount_container
  - be_dmcrypt_suspend_container
  - be_dmcrypt_resume_container
  source_file: /src/gnupg/g13/be-dmcrypt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - g13_suspend_container
  - g13_resume_container
  source_file: /src/gnupg/g13/suspend.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g13/keyblob.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEYBLOB_TAG_BLOBVERSION
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/gnupg/g13/keyblob.h
      type_or_value: '0'
    - item_type: preproc_def
      name: KEYBLOB_TAG_CONTTYPE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/gnupg/g13/keyblob.h
      type_or_value: '1'
    - item_type: preproc_def
      name: KEYBLOB_TAG_DETACHED
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/gnupg/g13/keyblob.h
      type_or_value: '2'
    - item_type: preproc_def
      name: KEYBLOB_TAG_CREATED
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/gnupg/g13/keyblob.h
      type_or_value: '3'
    - item_type: preproc_def
      name: KEYBLOB_TAG_CONT_NSEC
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/gnupg/g13/keyblob.h
      type_or_value: '7'
    - item_type: preproc_def
      name: KEYBLOB_TAG_ENC_NSEC
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/gnupg/g13/keyblob.h
      type_or_value: '8'
    - item_type: preproc_def
      name: KEYBLOB_TAG_ENC_OFF
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/gnupg/g13/keyblob.h
      type_or_value: '9'
    - item_type: preproc_def
      name: KEYBLOB_TAG_ALGOSTR
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/gnupg/g13/keyblob.h
      type_or_value: '10'
    - item_type: preproc_def
      name: KEYBLOB_TAG_KEYNO
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/gnupg/g13/keyblob.h
      type_or_value: '16'
    - item_type: preproc_def
      name: KEYBLOB_TAG_ENCALGO
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/gnupg/g13/keyblob.h
      type_or_value: '17'
    - item_type: preproc_def
      name: KEYBLOB_TAG_ENCKEY
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/gnupg/g13/keyblob.h
      type_or_value: '18'
    - item_type: preproc_def
      name: KEYBLOB_TAG_MACALGO
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/gnupg/g13/keyblob.h
      type_or_value: '19'
    - item_type: preproc_def
      name: KEYBLOB_TAG_MACKEY
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/gnupg/g13/keyblob.h
      type_or_value: '20'
    - item_type: preproc_def
      name: KEYBLOB_TAG_HDRCOPY
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/gnupg/g13/keyblob.h
      type_or_value: '21'
    - item_type: preproc_def
      name: KEYBLOB_TAG_FILLER
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/gnupg/g13/keyblob.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: CONTTYPE_ENCFS
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/gnupg/g13/keyblob.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CONTTYPE_DM_CRYPT
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/gnupg/g13/keyblob.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CONTTYPE_TRUECRYPT
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/gnupg/g13/keyblob.h
      type_or_value: '21571'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sh_blockdev_getsz
  - sh_is_empty_partition
  source_file: /src/gnupg/g13/sh-blockdev.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_new_keyblob
  - g13_encrypt_keyblob
  - write_keyblob
  - g13_create_container
  source_file: /src/gnupg/g13/create.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g13/suspend.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g13/g13.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: no_server
        type: int
      - name: status_fd
        type: int
      - name: '*server_local'
        type: struct server_local_s
      - name: '*syshelp_local'
        type: struct call_syshelp_s
      - name: agent_seen
        type: int
      - name: with_colons
        type: int
      - name: conttype
        type: int
      - name: recipients
        type: strlist_t
      item_type: struct
      name: server_control_s
      pos:
        line_end: 51
        line_start: 34
        source_file: /src/gnupg/g13/g13.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g13/be-dmcrypt.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - send_cmd_bin
  - send_cmd
  - run_umount_helper
  - handle_status_line
  - encfs_handler
  - encfs_handler_cleanup
  - run_encfs_tool
  - be_encfs_get_detached_name
  - be_encfs_create_new_keys
  - be_encfs_create_container
  - be_encfs_mount_container
  source_file: /src/gnupg/g13/be-encfs.c
  types:
    enum:
    - enumerators:
      - name: ENCFS_CMD_CREATE
      - name: ENCFS_CMD_MOUNT
      - name: ENCFS_CMD_UMOUNT
      item_type: enum
      name: encfs_cmds
      pos:
        line_end: 41
        line_start: 36
        source_file: /src/gnupg/g13/be-encfs.c
    preproc_defs: []
    structs:
    - fields:
      - name: cmd
        type: enum encfs_cmds
      - name: tuples
        type: tupledesc_t
      - name: '*mountpoint'
        type: char
      item_type: struct
      name: encfs_parm_s
      pos:
        line_end: 51
        line_start: 46
        source_file: /src/gnupg/g13/be-encfs.c
    typedefs:
    - item_type: typedef
      name: '*encfs_parm_t'
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/gnupg/g13/be-encfs.c
      type: encfs_parm_s
    union: []
- function_names: []
  source_file: /src/gnupg/g13/mount.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_tuple_uint
  - main
  source_file: /src/gnupg/g13/t-g13tuple.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/g13/t-g13tuple.c
      type_or_value: '"t-g13tuple"'
    structs:
    - fields:
      - name: tag
        type: int
      - name: len
        type: int
      - name: '*data'
        type: char
      - name: val
        type: unsigned long long
      - name: ec
        type: gpg_err_code_t
      item_type: struct
      name: "tv[] = {\n    { 1, 0, \"\",     0, GPG_ERR_ERANGE },\n    { 2, 1, \"\\x00\",
        0, 0},\n    { 3, 1, \"\\x7f\", 127ull, 0},\n    { 4, 1, \"\\x80\", 0, GPG_ERR_ERANGE
        },\n    { 5, 1, \"\\x81\", 0, GPG_ERR_ERANGE },\n    { 6, 2, \"\\x80\\x01\",
        0, GPG_ERR_ERANGE },\n    { 7, 2, \"\\x00\\x80\", 128ull, 0 },\n    { 8, 1,
        \"\\x01\", 1, 0 },\n    { 9, 1, \"\\x40\", 64, 0 },\n    { 10, 2, \"\\x40\\x00\",
        16384, 0 },\n    { 11, 8, \"\\x7f\\xff\\xff\\xff\\xff\\xff\\xff\\xff\", 0x7fffffffffffffffull,
        0 },\n    { 12, 9, \"\\x00\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\", 0xffffffffffffffffull,
        0},\n    { 13, 9, \"\\x01\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\", 0, GPG_ERR_ERANGE
        }\n  }"
      pos:
        line_end: 45
        line_start: 39
        source_file: /src/gnupg/g13/t-g13tuple.c
    typedefs: []
    union: []
- function_names:
  - my_strusage
  - set_debug
  - main
  - g13_syshelp_init_default_ctrl
  - g13_syshelp_deinit_default_ctrl
  - release_tab_items
  - g13_syshelp_i_know_what_i_am_doing
  - parse_g13tab
  source_file: /src/gnupg/g13/g13-syshelp.c
  types:
    enum:
    - enumerators:
      - name: aGPGConfList
        value: '500'
      - name: oDebugNone
      - name: oNoLogFile
      - name: oGpgProgram
      - name: oTTYtype
      - name: oStatusFD
      - name: oHomedir
      - name: oQuiet
        value: '''q'''
      - name: oDebug
      - name: oDebugWait
      - name: oType
      - name: oAuditLog
      - name: oLCctype
      - name: oLoggerFD
      - name: oDryRun
      - name: oNoRandomSeedFile
      - name: oVerbose
        value: '''v'''
      - name: oDebugLevel
      - name: oDebugAllowCoreDump
      - name: oOutput
      - name: oDisplay
      - name: oLCmessages
      - name: oNoVerbose
      - name: oNoDetach
      - name: oFakedSystemTime
      - name: aNull
        value: '0'
      - name: oRecipient
        value: '''r'''
      - name: oDebugAll
      - name: oAgentProgram
      - name: oLogFile
      - name: oTTYname
      - name: oXauthority
      - name: oNoSecmemWarn
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 90
        line_start: 48
        source_file: /src/gnupg/g13/g13-syshelp.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/gnupg/g13/g13-syshelp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TIMERTICK_INTERVAL_SEC
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/gnupg/g13/g13-syshelp.c
      type_or_value: (1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_valid_algostr
  - check_blockdev
  - mk_setup_area_prefix
  - sh_dmcrypt_create_container
  - sh_dmcrypt_mount_container
  - sh_dmcrypt_umount_container
  - sh_dmcrypt_suspend_container
  - sh_dmcrypt_resume_container
  source_file: /src/gnupg/g13/sh-dmcrypt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SECTOR_SIZE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/gnupg/g13/sh-dmcrypt.c
      type_or_value: '512'
    - item_type: preproc_def
      name: PHY_SECTOR_SIZE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/gnupg/g13/sh-dmcrypt.c
      type_or_value: '(SECTOR_SIZE*8)  '
    - item_type: preproc_def
      name: SETUP_AREA_SECTORS
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/gnupg/g13/sh-dmcrypt.c
      type_or_value: '32  '
    - item_type: preproc_def
      name: HEADER_SETUP_AREA_COPIES
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/gnupg/g13/sh-dmcrypt.c
      type_or_value: '2'
    - item_type: preproc_def
      name: FOOTER_SETUP_AREA_COPIES
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/gnupg/g13/sh-dmcrypt.c
      type_or_value: '2'
    - item_type: preproc_def
      name: HEADER_SECTORS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/gnupg/g13/sh-dmcrypt.c
      type_or_value: (SETUP_AREA_SECTORS * HEADER_SETUP_AREA_COPIES)
    - item_type: preproc_def
      name: FOOTER_SECTORS
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/gnupg/g13/sh-dmcrypt.c
      type_or_value: (SETUP_AREA_SECTORS * FOOTER_SETUP_AREA_COPIES)
    - item_type: preproc_def
      name: MIN_ENCRYPTED_SPACE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/gnupg/g13/sh-dmcrypt.c
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g13/call-syshelp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/g13/g13-syshelp.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: next
        type: tab_item_t
      - name: '*label'
        type: char
      - name: '*mountpoint'
        type: char
      - name: blockdev[1]
        type: char
      item_type: struct
      name: tab_item_s
      pos:
        line_end: 36
        line_start: 28
        source_file: /src/gnupg/g13/g13-syshelp.h
    - fields:
      - name: no_server
        type: int
      - name: status_fd
        type: int
      - name: '*server_local'
        type: struct server_local_s
      - name: client
        type: "struct {\n    uid_t uid;     /* UID of the client calling use.  */\n
          \   char *uname;\n    tab_item_t tab;/* Linked list with the g13tab items
          for this user.  */\n  }"
      - name: fail_all_cmds
        type: int
      - name: conttype
        type: int
      - name: devti
        type: tab_item_t
      item_type: struct
      name: server_control_s
      pos:
        line_end: 66
        line_start: 46
        source_file: /src/gnupg/g13/g13-syshelp.h
    typedefs:
    - item_type: typedef
      name: '*tab_item_t'
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/gnupg/g13/g13-syshelp.h
      type: tab_item_s
    union: []
- function_names:
  - PARM_ERROR
  - get_assuan_ctx_from_ctrl
  - prepare_outstream
  - kbxd_writen
  - kbxd_status_printf
  - kbxd_write_data_line
  - leave_cmd
  - option_handler
  - cmd_search
  - cmd_next
  - cmd_store
  - cmd_delete
  - cmd_setephemeral
  - cmd_putkeyflag
  - cmd_transaction
  - cmd_getinfo
  - cmd_killkeyboxd
  - cmd_reloadkeyboxd
  - register_commands
  - reset_notify
  - kbxd_assuan_log_monitor
  - kbxd_start_command_handler
  source_file: /src/gnupg/kbx/kbxserver.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: gpg_error
      pos:
        line_end: 46
        line_start: 44
        source_file: /src/gnupg/kbx/kbxserver.c
      type_or_value: (e))
    structs:
    - fields:
      - name: '*sn'
        type: unsigned char
      - name: '*name'
        type: char
      item_type: struct
      name: search_backing_store_s
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/gnupg/kbx/kbxserver.c
    - fields:
      - name: '*next_session'
        type: struct server_local_s
      - name: client_pid
        type: pid_t
      - name: assuan_ctx
        type: assuan_context_t
      - name: session_id
        type: unsigned int
      - name: stopme
        type: int
      - name: inhibit_data_logging_count
        type: size_t
      - name: inhibit_data_logging
        type: unsigned int
      - name: inhibit_data_logging_now
        type: unsigned int
      - name: search_expecting_more
        type: unsigned int
      - name: search_any_found
        type: unsigned int
      - name: search_desc
        type: KEYBOX_SEARCH_DESC
      - name: '*multi_search_desc'
        type: KEYBOX_SEARCH_DESC
      - name: '*multi_search_store'
        type: struct search_backing_store_s
      - name: multi_search_desc_size
        type: unsigned int
      - name: multi_search_desc_len
        type: unsigned int
      - name: outstream
        type: estream_t
      item_type: struct
      name: server_local_s
      pos:
        line_end: 105
        line_start: 57
        source_file: /src/gnupg/kbx/kbxserver.c
    - fields:
      - name: '*name'
        type: char
      - name: handler
        type: assuan_handler_t
      - name: '* const help'
        type: char
      item_type: struct
      name: "table[] = {\n    { \"SEARCH\",        cmd_search,        hlp_search },\n
        \   { \"NEXT\",          cmd_next,          hlp_next   },\n    { \"STORE\",
        \        cmd_store,         hlp_store  },\n    { \"DELETE\",        cmd_delete,
        \       hlp_delete  },\n    { \"PUTKEYFLAG\",    cmd_putkeyflag,    hlp_putkeyflag
        \ },\n    { \"TRANSACTION\",   cmd_transaction,   hlp_transaction },\n    {
        \"SETEPHEMERAL\",  cmd_setephemeral,  hlp_setephemeral },\n    { \"GETINFO\",
        \      cmd_getinfo,       hlp_getinfo },\n    { \"OUTPUT\",        NULL,              hlp_output
        },\n    { \"KILLKEYBOXD\",   cmd_killkeyboxd,   hlp_killkeyboxd },\n    {
        \"RELOADKEYBOXD\", cmd_reloadkeyboxd, hlp_reloadkeyboxd },\n    { NULL, NULL
        }\n  }"
      pos:
        line_end: 931
        line_start: 927
        source_file: /src/gnupg/kbx/kbxserver.c
    typedefs: []
    union: []
- function_names:
  - my_strusage
  - hextobyte
  - format_fingerprint
  - format_keyid
  - read_file
  - dump_fpr
  - dump_grip
  - dump_openpgp_key
  - import_openpgp
  - main
  - myexit
  source_file: /src/gnupg/kbx/kbxutil.c
  types:
    enum:
    - enumerators:
      - name: oQuiet
        value: '''q'''
      - name: oDebugAll
      - name: aImportOpenPGP
      - name: aTest
      - name: oArmor
        value: '''a'''
      - name: oVerbose
        value: '''v'''
      - name: aFindByKid
      - name: aFindDups
      - name: oNoArmor
      - name: oDryRun
        value: '''n'''
      - name: aNoSuchCmd
        value: '500'
      - name: aFindByUid
      - name: aCut
      - name: oFrom
      - name: aNull
        value: '0'
      - name: oOutput
        value: '''o'''
      - name: aFindByFpr
      - name: oDebug
      - name: aStats
      - name: oTo
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 66
        line_start: 41
        source_file: /src/gnupg/kbx/kbxutil.c
    preproc_defs:
    - item_type: preproc_def
      name: NCHUNK
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/gnupg/kbx/kbxutil.c
      type_or_value: '8192'
    structs: []
    typedefs: []
    union: []
- function_names:
  - acquire_mutex
  - release_mutex
  - show_sqlstr
  - show_sqlstmt
  - diag_prepare_err
  - diag_bind_err
  - diag_step_err
  - kid_from_u32
  - run_sql_reset
  - run_sql_prepare
  - run_sql_bind_blob
  - run_sql_bind_int
  - run_sql_bind_ntext
  - run_sql_bind_text
  - run_sql_bind_text_like
  - run_sql_step
  - run_sql_step_for_select
  - run_sql_statement_bind_ubid
  - run_sql_statement
  - dblock_info_cb
  - migrate_from_v1_to_v2
  - create_or_open_database
  - be_sqlite_add_resource
  - be_sqlite_release_resource
  - be_sqlite_init_local
  - be_sqlite_release_local
  - be_sqlite_rollback
  - be_sqlite_commit
  - get_config_value
  - set_config_value
  - run_select_statement
  - be_sqlite_search
  - store_into_pubkey
  - store_into_fingerprint
  - store_into_userid
  - store_into_issuer
  - be_sqlite_store
  - be_sqlite_delete
  - be_sqlite_putkeyflag
  source_file: /src/gnupg/kbx/backend-sqlite.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DATABASE_VERSION
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/gnupg/kbx/backend-sqlite.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DATABASE_VERSION_MAX
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/gnupg/kbx/backend-sqlite.c
      type_or_value: '2'
    structs:
    - fields:
      - name: db_type
        type: enum database_types
      - name: backend_id
        type: unsigned int
      - name: filename[1]
        type: char
      item_type: struct
      name: backend_handle_s
      pos:
        line_end: 44
        line_start: 38
        source_file: /src/gnupg/kbx/backend-sqlite.c
    - fields:
      - name: '*select_stmt'
        type: sqlite3_stmt
      - name: select_col_uidno
        type: int
      - name: select_col_subkey
        type: int
      - name: select_mode
        type: KeydbSearchMode
      - name: filter_opgp
        type: unsigned int
      - name: filter_x509
        type: unsigned int
      - name: lastubid_valid
        type: unsigned int
      - name: descidx
        type: unsigned int
      - name: select_done
        type: int
      - name: select_eof
        type: int
      - name: lastubid[UBID_LEN]
        type: unsigned char
      item_type: struct
      name: be_sqlite_local_s
      pos:
        line_end: 81
        line_start: 48
        source_file: /src/gnupg/kbx/backend-sqlite.c
    - fields:
      - name: '*sql'
        type: char
      - name: '*name'
        type: char
      item_type: struct
      name: "table_definitions[] =\n  {\n   { \"PRAGMA foreign_keys = ON\" },\n\n
        \  /* Table to store config values:\n    * Standard name value pairs:\n    *
        \  dbversion = 1\n    *   created = <ISO time string>\n    */\n   { \"CREATE
        TABLE IF NOT EXISTS config (\"\n     \"name  TEXT NOT NULL UNIQUE,\"\n     \"value
        TEXT NOT NULL \"\n     \")\", \"config\" },\n\n   /* The actual data; either
        X.509 certificates or OpenPGP\n    * keyblocks.  */\n   { \"CREATE TABLE IF
        NOT EXISTS pubkey (\"\n     /* The 20 octet truncated primary-fpr */\n     \"ubid
        \    BLOB NOT NULL PRIMARY KEY,\"\n     /* The type of the public key: 1 =
        openpgp, 2 = X.509.  */\n     \"type  INTEGER NOT NULL,\"\n     /* The Ephemeral
        flag as used by gpgsm. Values: 0 or 1. */\n     \"ephemeral INTEGER NOT NULL
        DEFAULT 0,\"\n     /* The Revoked flag as set by gpgsm. Values: 0 or 1. */\n
        \    \"revoked INTEGER NOT NULL DEFAULT 0,\"\n     /* The OpenPGP keyblock
        or X.509 certificate.  */\n     \"keyblob BLOB NOT NULL\"\n     \")\"  },\n\n
        \  /* Table with fingerprints and keyids of OpenPGP and X.509 keys.\n    *
        It is also used for the primary key and the X.509 fingerprint\n    * because
        we want to be able to use the keyid and keygrip.  */\n   { \"CREATE TABLE
        IF NOT EXISTS fingerprint (\"\n     /* The fingerprint, for OpenPGP either
        20 octets or 32 octets;\n      * for X.509 it is the same as the UBID.  */\n
        \    \"fpr  BLOB NOT NULL,\"\n     /* The long keyid as a 64 bit blob.  */\n
        \    \"kid  BLOB NOT NULL,\"\n     /* The keygrip for this key.  */\n     \"keygrip
        BLOB NOT NULL,\"\n     /* 0 = primary or X.509, > 0 = subkey.  Also used as\n
        \     * order number for the keys similar to uidno.  */\n     \"subkey INTEGER
        NOT NULL,\"\n     /* The Unique Blob ID (possibly truncated fingerprint).
        \ */\n     \"ubid BLOB NOT NULL REFERENCES pubkey,\"\n     /* Various bit
        flags for future extensions.  */\n     \"flags INTEGER NOT NULL DEFAULT 0\"\n
        \    \")\", \"fpr\"  },\n\n   /* Indices for the fingerprint table.  */\n
        \  { \"CREATE INDEX IF NOT EXISTS fingerprintidx0 on fingerprint (ubid)\",\n
        \    \"fpr-index\"    },\n   { \"CREATE INDEX IF NOT EXISTS fingerprintidx1
        on fingerprint (fpr)\",\n     \"fpr-index\"    },\n   { \"CREATE INDEX IF
        NOT EXISTS fingerprintidx2 on fingerprint (keygrip)\",\n     \"fpr-index\"
        \   },\n\n   /* Table to allow fast access via user ids or mail addresses.
        \ */\n   { \"CREATE TABLE IF NOT EXISTS userid (\"\n     /* The full user
        id - for X.509 the Subject or altSubject.  */\n     \"uid  TEXT NOT NULL,\"\n
        \    /* The mail address if available or NULL.  */\n     \"addrspec TEXT,\"\n
        \    /* The type of the public key: 1 = openpgp, 2 = X.509.  */\n     \"type
        \ INTEGER NOT NULL,\"\n     /* The order number of the user id within the
        keyblock or\n      * certificates.  For X.509 0 is reserved for the issuer,
        1 the\n      * subject, 2 and up the altSubjects.  For OpenPGP this starts\n
        \     * with 1 for the first user id in the keyblock.  */\n     \"uidno INTEGER
        NOT NULL,\"\n     /* The Unique Blob ID (possibly truncated fingerprint).
        \ */\n     \"ubid BLOB NOT NULL REFERENCES pubkey\"\n     \")\"  },\n\n   /*
        Indices for the userid table.  */\n   { \"CREATE INDEX IF NOT EXISTS userididx0
        on userid (ubid)\"     },\n   { \"CREATE INDEX IF NOT EXISTS userididx1 on
        userid (uid)\"      },\n   { \"CREATE INDEX IF NOT EXISTS userididx3 on userid
        (addrspec)\" },\n\n   /* Table to allow fast access via s/n + issuer DN  (X.509
        only).  */\n   { \"CREATE TABLE IF NOT EXISTS issuer (\"\n     /* The hex
        encoded S/N.  */\n     \"sn TEXT NOT NULL,\"\n     /* The RFC2253 issuer DN.
        \ */\n     \"dn TEXT NOT NULL,\"\n     /* The Unique Blob ID (usually the
        truncated fingerprint).  */\n     \"ubid BLOB NOT NULL REFERENCES pubkey\"\n
        \    \")\"  },\n   { \"CREATE INDEX IF NOT EXISTS issueridx1 on issuer (dn)\"
        }\n\n  }"
      pos:
        line_end: 101
        line_start: 97
        source_file: /src/gnupg/kbx/backend-sqlite.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/kbx/keybox.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEYBOX_H
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/gnupg/kbx/keybox.h
      type_or_value: '1'
    - item_type: preproc_def
      name: KEYBOX_FLAG_BLOB_SECRET
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/gnupg/kbx/keybox.h
      type_or_value: '1'
    - item_type: preproc_def
      name: KEYBOX_FLAG_BLOB_EPHEMERAL
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/kbx/keybox.h
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/kbx/keybox-fwddecl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEYBOX_FWDDECL_H
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/gnupg/kbx/keybox-fwddecl.h
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: '*KEYRING_HANDLE'
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/gnupg/kbx/keybox-fwddecl.h
      type: keyring_handle
    - item_type: typedef
      name: '*KEYBOX_HANDLE'
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/gnupg/kbx/keybox-fwddecl.h
      type: keybox_handle
    union: []
- function_names: []
  source_file: /src/gnupg/kbx/backend.h
  types:
    enum:
    - enumerators:
      - name: DB_TYPE_NONE
      - name: DB_TYPE_KBX
      - name: DB_TYPE_CACHE
      - name: DB_TYPE_SQLITE
      item_type: enum
      name: database_types
      pos:
        line_end: 32
        line_start: 26
        source_file: /src/gnupg/kbx/backend.h
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct db_request_part_s
      - name: backend_id
        type: unsigned int
      - name: kbx_hd
        type: KEYBOX_HANDLE
      - name: besqlite
        type: be_sqlite_local_t
      - name: cache_seqno
        type: "struct {\n    unsigned int fpr;\n    unsigned int kid;\n    unsigned
          int grip;\n    unsigned int ubid;\n  }"
      item_type: struct
      name: db_request_part_s
      pos:
        line_end: 70
        line_start: 49
        source_file: /src/gnupg/kbx/backend.h
    - fields:
      - name: any_search
        type: unsigned int
      - name: any_found
        type: unsigned int
      - name: last_cached_valid
        type: unsigned int
      - name: last_cached_final
        type: unsigned int
      - name: last_cached_fprlen
        type: unsigned int
      - name: part
        type: db_request_part_t
      - name: next_dbidx
        type: unsigned int
      - name: last_cached_ubid[UBID_LEN]
        type: unsigned char
      - name: last_cached_kid_h
        type: u32
      - name: last_cached_kid_l
        type: u32
      - name: last_cached_fpr[32]
        type: unsigned char
      item_type: struct
      name: db_request_s
      pos:
        line_end: 98
        line_start: 76
        source_file: /src/gnupg/kbx/backend.h
    typedefs:
    - item_type: typedef
      name: '*backend_handle_t'
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/gnupg/kbx/backend.h
      type: backend_handle_s
    - item_type: typedef
      name: '*be_sqlite_local_t'
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/gnupg/kbx/backend.h
      type: be_sqlite_local_s
    - item_type: typedef
      name: '*db_request_part_t'
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/gnupg/kbx/backend.h
      type: db_request_part_s
    union: []
- function_names:
  - keybox_tmp_names
  source_file: /src/gnupg/kbx/keybox-util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/kbx/kbx-client-util.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GNUPG_KBX_CLIENT_UTIL_H
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/gnupg/kbx/kbx-client-util.h
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: '*kbx_client_data_t'
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/gnupg/kbx/kbx-client-util.h
      type: kbx_client_data_s
    union: []
- function_names: []
  source_file: /src/gnupg/kbx/keybox-search-desc.h
  types:
    enum:
    - enumerators:
      - name: PUBKEY_TYPE_UNKNOWN
        value: '0'
      - name: PUBKEY_TYPE_OPGP
        value: '1'
      - name: PUBKEY_TYPE_X509
        value: '2'
      item_type: enum
      name: pubkey_types
      pos:
        line_end: 56
        line_start: 51
        source_file: /src/gnupg/kbx/keybox-search-desc.h
    preproc_defs:
    - item_type: preproc_def
      name: KEYBOX_SEARCH_DESC_H
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/gnupg/kbx/keybox-search-desc.h
      type_or_value: '1'
    structs:
    - fields:
      - name: mode
        type: KeydbSearchMode
      - name: (*skipfnc)(void *, u32 *, int)
        type: int
      - name: '*skipfncvalue'
        type: void
      - name: '*sn'
        type: unsigned char
      - name: snlen
        type: unsigned short
      - name: u
        type: "union {\n    const char *name;\n    unsigned char fpr[32];\n    u32
          kid[2]; /* Note that this is in native endianness.  */\n    unsigned char
          grip[KEYGRIP_LEN];\n    unsigned char ubid[UBID_LEN];\n  }"
      - name: name_used
        type: byte
      - name: snhex
        type: byte
      - name: fprlen
        type: byte
      - name: exact
        type: int
      item_type: struct
      name: keydb_search_desc
      pos:
        line_end: 89
        line_start: 65
        source_file: /src/gnupg/kbx/keybox-search-desc.h
    typedefs:
    - item_type: typedef
      name: '*gpg_pkt_user_id_t'
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/gnupg/kbx/keybox-search-desc.h
      type: gpg_pkt_user_id_s
    - item_type: typedef
      name: KEYDB_SEARCH_DESC
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/gnupg/kbx/keybox-search-desc.h
      type: keydb_search_desc
    - item_type: typedef
      name: KEYBOX_SEARCH_DESC
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/gnupg/kbx/keybox-search-desc.h
      type: keydb_search_desc
    union: []
- function_names:
  - ftello
  - _keybox_read_blob
  - _keybox_write_blob
  - _keybox_write_header_blob
  source_file: /src/gnupg/kbx/keybox-file.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IMAGELEN_LIMIT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/kbx/keybox-file.c
      type_or_value: (5*1024*1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - blob_table_hasher
  - blob_table_init
  - blob_unref
  - find_blob
  - compare_blobs
  - blob_table_put
  - blob_table_get
  - key_table_hasher
  - key_table_init
  - key_item_unref
  - find_in_chain
  - compare_key_items
  - alloc_more_key_items
  - alloc_more_bloblist_items
  - new_bloblist_item
  - maybe_flush_some_key_buckets
  - do_key_table_put
  - key_table_put
  - key_table_put_no_fpr
  - key_table_put_no_kid
  - key_table_get
  - query_by_kid
  - query_by_fpr
  - be_cache_initialize
  - be_cache_add_resource
  - be_cache_release_resource
  - be_cache_search
  - be_cache_mark_final
  - be_cache_pubkey
  - be_cache_not_found
  source_file: /src/gnupg/kbx/backend-cache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_OF_KEY_ITEM_BUCKETS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/gnupg/kbx/backend-cache.c
      type_or_value: '383'
    - item_type: preproc_def
      name: KEY_ITEMS_PER_BUCKET_THRESHOLD
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/kbx/backend-cache.c
      type_or_value: '40'
    - item_type: preproc_def
      name: NO_OF_BLOB_BUCKETS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/kbx/backend-cache.c
      type_or_value: '383'
    - item_type: preproc_def
      name: BLOBS_PER_BUCKET_THRESHOLD
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/kbx/backend-cache.c
      type_or_value: '20'
    structs:
    - fields:
      - name: db_type
        type: enum database_types
      - name: backend_id
        type: unsigned int
      item_type: struct
      name: backend_handle_s
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/gnupg/kbx/backend-cache.c
    - fields:
      - name: '*next'
        type: struct blob_s
      - name: pktype
        type: enum pubkey_types
      - name: refcount
        type: unsigned int
      - name: usecount
        type: unsigned int
      - name: datalen
        type: unsigned int
      - name: '*data'
        type: unsigned char
      - name: ubid[UBID_LEN]
        type: unsigned char
      item_type: struct
      name: blob_s
      pos:
        line_end: 66
        line_start: 57
        source_file: /src/gnupg/kbx/backend-cache.c
    - fields:
      - name: '*next'
        type: struct bloblist_s
      - name: final_kid
        type: unsigned int
      - name: final_fpr
        type: unsigned int
      - name: ubid_valid
        type: unsigned int
      - name: subkey
        type: unsigned int
      - name: fprlen
        type: unsigned int
      - name: fpr[32]
        type: char
      - name: ubid[UBID_LEN]
        type: unsigned char
      item_type: struct
      name: bloblist_s
      pos:
        line_end: 93
        line_start: 83
        source_file: /src/gnupg/kbx/backend-cache.c
    - fields:
      - name: '*next'
        type: struct key_item_s
      - name: blist
        type: bloblist_t
      - name: usecount
        type: unsigned int
      - name: refcount
        type: unsigned int
      - name: kid_h
        type: u32
      - name: kid_l
        type: u32
      item_type: struct
      name: key_item_s
      pos:
        line_end: 113
        line_start: 105
        source_file: /src/gnupg/kbx/backend-cache.c
    typedefs: []
    union: []
- function_names:
  - get32
  - get16
  - print_string
  - print_checksum
  - dump_header_blob
  - _keybox_dump_blob
  - hash_blob_rawdata
  - update_stats
  - open_file
  - _keybox_dump_file
  - cmp_dupitems
  - _keybox_dump_find_dups
  - _keybox_dump_cut_records
  source_file: /src/gnupg/kbx/keybox-dump.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: too_short_blobs
        type: unsigned long
      - name: too_large_blobs
        type: unsigned long
      - name: total_blob_count
        type: unsigned long
      - name: empty_blob_count
        type: unsigned long
      - name: header_blob_count
        type: unsigned long
      - name: pgp_blob_count
        type: unsigned long
      - name: x509_blob_count
        type: unsigned long
      - name: unknown_blob_count
        type: unsigned long
      - name: non_flagged
        type: unsigned long
      - name: secret_flagged
        type: unsigned long
      - name: ephemeral_flagged
        type: unsigned long
      - name: skipped_long_blobs
        type: unsigned long
      item_type: struct
      name: file_stats_s
      pos:
        line_end: 583
        line_start: 569
        source_file: /src/gnupg/kbx/keybox-dump.c
    - fields:
      - name: recno
        type: unsigned long
      - name: digest[20]
        type: unsigned char
      item_type: struct
      name: dupitem_s
      pos:
        line_end: 773
        line_start: 769
        source_file: /src/gnupg/kbx/keybox-dump.c
    typedefs: []
    union: []
- function_names:
  - check_kbx_file_magic
  - create_keybox
  - be_kbx_add_resource
  - be_kbx_release_resource
  - be_kbx_release_kbx_hd
  - be_kbx_init_request_part
  - be_kbx_search
  - be_kbx_seek
  - be_kbx_insert
  - be_kbx_update
  - be_kbx_delete
  source_file: /src/gnupg/kbx/backend-kbx.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: db_type
        type: enum database_types
      - name: backend_id
        type: unsigned int
      - name: '*token'
        type: void
      - name: filename[1]
        type: char
      item_type: struct
      name: backend_handle_s
      pos:
        line_end: 40
        line_start: 33
        source_file: /src/gnupg/kbx/backend-kbx.c
    typedefs: []
    union: []
- function_names:
  - xtoi_1
  - xtoi_2
  - get32
  - get16
  - blob_get_blob_flags
  - blob_get_first_keyid
  - _keybox_get_flag_location
  - get_flag_from_image
  - blob_cmp_sn
  - blob_cmp_fpr
  - blob_cmp_fpr_part
  - blob_cmp_ubid
  - blob_cmp_name
  - blob_cmp_mail
  - blob_openpgp_has_grip
  - blob_x509_has_grip
  - has_short_kid
  - has_long_kid
  - has_fingerprint
  - has_keygrip
  - has_ubid
  - has_issuer
  - has_issuer_sn
  - has_sn
  - has_subject
  - has_username
  - has_mail
  - release_sn_array
  - keybox_search_reset
  - keybox_search
  - keybox_get_data
  - keybox_get_keyblock
  - keybox_get_cert
  - keybox_get_flags
  - keybox_offset
  - keybox_seek
  source_file: /src/gnupg/kbx/keybox-search.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: snlen
        type: int
      - name: '*sn'
        type: unsigned char
      item_type: struct
      name: sn_array_s
      pos:
        line_end: 40
        line_start: 37
        source_file: /src/gnupg/kbx/keybox-search.c
    typedefs: []
    union: []
- function_names:
  - keybox_register_file
  - keybox_is_writable
  - keybox_set_buffersize
  - do_keybox_new
  - keybox_new_openpgp
  - keybox_new_x509
  - keybox_fp_close
  - keybox_release
  - keybox_push_found_state
  - keybox_pop_found_state
  - keybox_get_resource_name
  - keybox_set_ephemeral
  - _keybox_ll_open
  - _keybox_ll_close
  - _keybox_close_file
  - keybox_lock
  source_file: /src/gnupg/kbx/keybox-init.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_LL_BUFFER_SIZE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/kbx/keybox-init.c
      type_or_value: '128'
    - item_type: preproc_def
      name: DEFAULT_LL_BUFFER_SIZE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/gnupg/kbx/keybox-init.c
      type_or_value: '64'
    structs:
    - fields:
      - name: inuse
        type: int
      - name: bufsize
        type: size_t
      - name: '*buf'
        type: char
      item_type: struct
      name: stream_buffer_s
      pos:
        line_end: 47
        line_start: 42
        source_file: /src/gnupg/kbx/keybox-init.c
    typedefs: []
    union: []
- function_names:
  - map_assuan_err
  - blob_get_type
  source_file: /src/gnupg/kbx/keybox-defs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEYBOX_DEFS_H
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/gnupg/kbx/keybox-defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPG_ERR_SOURCE_DEFAULT
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/gnupg/kbx/keybox-defs.h
      type_or_value: GPG_ERR_SOURCE_KEYBOX
    - item_type: preproc_def
      name: KEYBOX_LL_OPEN_READ
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/gnupg/kbx/keybox-defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: KEYBOX_LL_OPEN_UPDATE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/gnupg/kbx/keybox-defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: KEYBOX_LL_OPEN_CREATE
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/gnupg/kbx/keybox-defs.h
      type_or_value: '2'
    structs:
    - fields:
      - name: next
        type: KB_NAME
      - name: secret
        type: int
      - name: '*handle_table'
        type: KEYBOX_HANDLE
      - name: handle_table_size
        type: size_t
      - name: lockhd
        type: dotlock_t
      - name: is_locked
        type: int
      - name: did_full_scan
        type: int
      - name: fname[1]
        type: char
      item_type: struct
      name: keybox_name
      pos:
        line_end: 65
        line_start: 39
        source_file: /src/gnupg/kbx/keybox-defs.h
    - fields:
      - name: blob
        type: KEYBOXBLOB
      - name: pk_no
        type: size_t
      - name: uid_no
        type: size_t
      item_type: struct
      name: keybox_found_s
      pos:
        line_end: 73
        line_start: 68
        source_file: /src/gnupg/kbx/keybox-defs.h
    - fields:
      - name: kb
        type: KB_NAME
      - name: secret
        type: int
      - name: fp
        type: estream_t
      - name: eof
        type: int
      - name: error
        type: int
      - name: ephemeral
        type: int
      - name: for_openpgp
        type: int
      - name: found
        type: struct keybox_found_s
      - name: saved_found
        type: struct keybox_found_s
      - name: word_match
        type: "struct {\n    char *name;\n    char *pattern;\n  }"
      item_type: struct
      name: keybox_handle
      pos:
        line_end: 89
        line_start: 75
        source_file: /src/gnupg/kbx/keybox-defs.h
    - fields:
      - name: '*next'
        type: struct _keybox_openpgp_key_info
      - name: algo
        type: int
      - name: version
        type: int
      - name: grip[20]
        type: unsigned char
      - name: keyid[8]
        type: unsigned char
      - name: fprlen
        type: int
      - name: fpr[32]
        type: unsigned char
      item_type: struct
      name: _keybox_openpgp_key_info
      pos:
        line_end: 102
        line_start: 93
        source_file: /src/gnupg/kbx/keybox-defs.h
    - fields:
      - name: '*next'
        type: struct _keybox_openpgp_uid_info
      - name: 'off'
        type: size_t
      - name: len
        type: size_t
      item_type: struct
      name: _keybox_openpgp_uid_info
      pos:
        line_end: 109
        line_start: 104
        source_file: /src/gnupg/kbx/keybox-defs.h
    - fields:
      - name: is_secret
        type: int
      - name: nsubkeys
        type: unsigned int
      - name: nuids
        type: unsigned int
      - name: nsigs
        type: unsigned int
      - name: primary
        type: struct _keybox_openpgp_key_info
      - name: subkeys
        type: struct _keybox_openpgp_key_info
      - name: uids
        type: struct _keybox_openpgp_uid_info
      item_type: struct
      name: _keybox_openpgp_info
      pos:
        line_end: 125
        line_start: 111
        source_file: /src/gnupg/kbx/keybox-defs.h
    typedefs:
    - item_type: typedef
      name: '*KEYBOXBLOB'
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/gnupg/kbx/keybox-defs.h
      type: keyboxblob
    - item_type: typedef
      name: '*KB_NAME'
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/gnupg/kbx/keybox-defs.h
      type: keybox_name
    - item_type: typedef
      name: '*keybox_openpgp_info_t'
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/gnupg/kbx/keybox-defs.h
      type: _keybox_openpgp_info
    union: []
- function_names:
  - next_packet
  - keygrip_from_keyparm
  - parse_key
  - _keybox_parse_openpgp
  - _keybox_destroy_openpgp_info
  - kbx_get_first_opgp_keyid
  source_file: /src/gnupg/kbx/keybox-openpgp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*mpi'
        type: char
      - name: len
        type: int
      item_type: struct
      name: keyparm_s
      pos:
        line_end: 44
        line_start: 40
        source_file: /src/gnupg/kbx/keybox-openpgp.c
    typedefs: []
    union: []
- function_names:
  - fseeko
  - create_tmp_file
  - rename_tmp_file
  - blob_filecopy
  - keybox_insert_keyblock
  - keybox_update_keyblock
  - keybox_insert_cert
  - keybox_update_cert
  - keybox_set_flags
  - keybox_delete
  - keybox_compress_when_no_other_users
  source_file: /src/gnupg/kbx/keybox-update.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXTSEP_S
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/gnupg/kbx/keybox-update.c
      type_or_value: '"."'
    - item_type: preproc_def
      name: FILECOPY_INSERT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/gnupg/kbx/keybox-update.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FILECOPY_DELETE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/gnupg/kbx/keybox-update.c
      type_or_value: '2'
    - item_type: preproc_def
      name: FILECOPY_UPDATE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/kbx/keybox-update.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LONG_MAX
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/kbx/keybox-update.c
      type_or_value: ((long) ((unsigned long) -1 >> 1))
    - item_type: preproc_def
      name: LONG_MIN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/gnupg/kbx/keybox-update.c
      type_or_value: (-1 - LONG_MAX)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/kbx/frontend.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - keybox_strerror
  source_file: /src/gnupg/kbx/keybox-errors.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - make_libversion
  - my_strusage
  - set_debug
  - remove_socket
  - cleanup
  - parse_rereadable_options
  - finalize_rereadable_options
  - keyboxd_thread_init_once
  - initialize_modules
  - main
  - kbxd_exit
  - kbxd_libgcrypt_progress_cb
  - unregister_progress_cb
  - kbxd_set_progress_cb
  - kbxd_init_default_ctrl
  - kbxd_deinit_default_ctrl
  - reread_configuration
  - get_kbxd_socket_name
  - get_kbxd_active_connection_count
  - create_an_event
  - create_socket_name
  - create_server_socket
  - create_public_keys_directory
  - create_directories
  - kbxd_sighup_action
  - kbxd_sigusr2_action
  - handle_signal
  - check_nonce
  - do_start_connection_thread
  - start_connection_thread
  - keyboxd_kick_the_loop
  - handle_connections
  - check_own_socket_pid_cb
  - do_check_own_socket
  - check_own_socket_thread
  - check_others_thread
  - check_for_running_kbxd
  source_file: /src/gnupg/kbx/keyboxd.c
  types:
    enum:
    - enumerators:
      - name: oQuiet
        value: '''q'''
      - name: aGPGConfTest
      - name: oDebugWait
      - name: oNoDetach
      - name: oDaemon
      - name: oVerbose
        value: '''v'''
      - name: oOptions
      - name: oFakedSystemTime
      - name: oStealSocket
      - name: oNoGreeting
      - name: aNull
        value: '0'
      - name: oNoVerbose
        value: '500'
      - name: oDebug
      - name: oLogFile
      - name: oNoOptions
      - name: oListenBacklog
      - name: aGPGConfList
      - name: oDebugAll
      - name: oServer
      - name: oHomedir
      - name: oDisableCheckOwnSocket
      - name: oDummy
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 94
        line_start: 68
        source_file: /src/gnupg/kbx/keyboxd.c
    preproc_defs:
    - item_type: preproc_def
      name: WINVER
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/gnupg/kbx/keyboxd.c
      type_or_value: '0x0500  '
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/gnupg/kbx/keyboxd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CHECK_OWN_SOCKET_INTERVAL
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/gnupg/kbx/keyboxd.c
      type_or_value: (60)
    - item_type: preproc_def
      name: CHECK_PROBLEMS_INTERVAL
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/gnupg/kbx/keyboxd.c
      type_or_value: (4)
    - item_type: preproc_def
      name: KEYBOXD_PROBLEM_SOCKET_TAKEOVER
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/gnupg/kbx/keyboxd.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: KEYBOXD_PROBLEM_HOMEDIR_REMOVED
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/gnupg/kbx/keyboxd.c
      type_or_value: (1 << 1)
    structs:
    - fields:
      - name: '*next'
        type: struct progress_dispatch_s
      - name: ctrl
        type: ctrl_t
      - name: tid
        type: npth_t
      - name: "(*cb)(ctrl_t ctrl,\n             const char *what, int printchar,\n
          \            int current, int total)"
        type: void
      item_type: struct
      name: progress_dispatch_s
      pos:
        line_end: 236
        line_start: 219
        source_file: /src/gnupg/kbx/keyboxd.c
    - fields:
      - name: '*name'
        type: char
      - name: '*(*func) (void *arg)'
        type: void
      - name: l_fd
        type: gnupg_fd_t
      item_type: struct
      name: "listentbl[] = {\n    { \"std\",     start_connection_thread },\n  }"
      pos:
        line_end: 1511
        line_start: 1507
        source_file: /src/gnupg/kbx/keyboxd.c
    typedefs: []
    union: []
- function_names:
  - strdbtype
  - be_new_backend_id
  - be_generic_release_backend
  - be_release_request
  - be_find_request_part
  - be_return_pubkey
  - be_is_x509_blob
  - be_ubid_from_blob
  - be_get_x509_serial
  - be_get_x509_keygrip
  source_file: /src/gnupg/kbx/backend-support.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: db_type
        type: enum database_types
      - name: backend_id
        type: unsigned int
      item_type: struct
      name: backend_handle_s
      pos:
        line_end: 40
        line_start: 36
        source_file: /src/gnupg/kbx/backend-support.c
    typedefs: []
    union: []
- function_names:
  - take_read_lock
  - take_read_write_lock
  - release_lock
  - kbxd_set_database
  - kbxd_release_session_info
  - kbxd_rollback
  - kbxd_commit
  - dump_search_desc
  - kbxd_search
  - kbxd_store
  - kbxd_delete
  - kbxd_putkeyflag
  source_file: /src/gnupg/kbx/frontend.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: db_type
        type: enum database_types
      - name: backend_handle
        type: backend_handle_t
      item_type: struct
      name: the_database
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/gnupg/kbx/frontend.c
    typedefs: []
    union: []
- function_names:
  - lock_datastream
  - unlock_datastream
  - prepare_data_pipe
  - datastream_thread
  - kbx_client_data_new
  - kbx_client_data_release
  - kbx_client_data_simple
  - kbx_client_data_cmd
  - kbx_client_data_wait
  source_file: /src/gnupg/kbx/kbx-client-util.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_DATABLOB_SIZE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/gnupg/kbx/kbx-client-util.c
      type_or_value: (16*1024*1024)
    structs:
    - fields:
      - name: ctx
        type: assuan_context_t
      - name: fp
        type: estream_t
      - name: mutex
        type: npth_mutex_t
      - name: cond
        type: npth_cond_t
      - name: thd
        type: npth_t
      - name: '*data'
        type: char
      - name: datalen
        type: size_t
      - name: dataerr
        type: gpg_error_t
      - name: '*dlinedata'
        type: char
      - name: dlinedatalen
        type: size_t
      - name: dlineerr
        type: gpg_error_t
      item_type: struct
      name: kbx_client_data_s
      pos:
        line_end: 71
        line_start: 46
        source_file: /src/gnupg/kbx/kbx-client-util.c
    typedefs: []
    union: []
- function_names:
  - struct
  - L_
  - L_
  source_file: /src/gnupg/kbx/keyboxd.h
  types:
    enum:
    - enumerators:
      - name: KBXD_STORE_AUTO
        value: '0'
      - name: KBXD_STORE_UPDATE
      - name: KBXD_STORE_INSERT
      item_type: enum
      name: kbxd_store_modes
      pos:
        line_end: 159
        line_start: 154
        source_file: /src/gnupg/kbx/keyboxd.h
    preproc_defs:
    - item_type: preproc_def
      name: GPG_ERR_SOURCE_DEFAULT
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: GPG_ERR_SOURCE_KEYBOX
    - item_type: preproc_def
      name: DBG_MPI_VALUE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: DBG_CRYPTO_VALUE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: DBG_MEMORY_VALUE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: "32\t"
    - item_type: preproc_def
      name: DBG_CACHE_VALUE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: "64\t"
    - item_type: preproc_def
      name: DBG_MEMSTAT_VALUE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: "128\t"
    - item_type: preproc_def
      name: DBG_HASHING_VALUE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: "512\t"
    - item_type: preproc_def
      name: DBG_IPC_VALUE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: '1024  '
    - item_type: preproc_def
      name: DBG_CLOCK_VALUE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: '4096  '
    - item_type: preproc_def
      name: DBG_LOOKUP_VALUE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: "8192\t"
    - item_type: preproc_def
      name: DBG_CRYPTO
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: (opt.debug & DBG_CRYPTO_VALUE)
    - item_type: preproc_def
      name: DBG_MEMORY
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: (opt.debug & DBG_MEMORY_VALUE)
    - item_type: preproc_def
      name: DBG_CACHE
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: (opt.debug & DBG_CACHE_VALUE)
    - item_type: preproc_def
      name: DBG_HASHING
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: (opt.debug & DBG_HASHING_VALUE)
    - item_type: preproc_def
      name: DBG_IPC
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: (opt.debug & DBG_IPC_VALUE)
    - item_type: preproc_def
      name: DBG_CLOCK
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: (opt.debug & DBG_CLOCK_VALUE)
    - item_type: preproc_def
      name: DBG_LOOKUP
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: (opt.debug & DBG_LOOKUP_VALUE)
    - item_type: preproc_def
      name: SERVER_CONTROL_MAGIC
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: '0x6b6579626f786420'
    - item_type: preproc_def
      name: SERVER_CONTROL_MAGIC
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: '0x6b627864'
    - item_type: preproc_def
      name: LunderscorePROTO
      pos:
        line_end: 143
        line_start: 139
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: "static inline const char *keyboxd_Lunderscore (ctrl_t ctrl,
        \      \\\n                                                 const char *string)
        \ \\\n    GNUPG_GCC_ATTR_FORMAT_ARG(2);"
    - item_type: preproc_def
      name: gettext
      pos:
        line_end: 150
        line_start: 143
        source_file: /src/gnupg/kbx/keyboxd.h
      type_or_value: "(string);                              \\\n  }"
    structs:
    - fields:
      - name: magic
        type: unsigned long
      - name: refcount
        type: int
      - name: thread_startup
        type: "struct {\n    gnupg_fd_t fd;\n  }"
      - name: '*server_local'
        type: struct server_local_s
      - name: '*lc_messages'
        type: char
      - name: client_pid
        type: unsigned long
      - name: client_uid
        type: int
      - name: db_req
        type: db_request_t
      - name: filter_opgp
        type: unsigned int
      - name: filter_x509
        type: unsigned int
      - name: no_data_return
        type: unsigned int
      - name: ephemeral
        type: unsigned int
      item_type: struct
      name: server_control_s
      pos:
        line_end: 129
        line_start: 93
        source_file: /src/gnupg/kbx/keyboxd.h
    typedefs:
    - item_type: typedef
      name: '*db_request_t'
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/gnupg/kbx/keyboxd.h
      type: db_request_s
    union: []
- function_names:
  - get32
  - SF_NONE
  - SF_NOKEY
  - SF_BAD
  - SF_VALID
  - init_membuf
  - put_membuf
  - get_membuf
  - put8
  - put16
  - put32
  - add_fixup
  - pgp_temp_store_kid
  - pgp_create_key_part_single
  - pgp_create_key_part
  - pgp_create_uid_part
  - pgp_create_sig_part
  - pgp_create_blob_keyblock
  - x509_create_blob_cert
  - write_stored_kid
  - release_kid_list
  - create_blob_header
  - create_blob_trailer
  - create_blob_finish
  - _keybox_create_openpgp_blob
  - _keybox_x509_email_kludge
  - _keybox_create_x509_blob
  - _keybox_new_blob
  - _keybox_release_blob
  - _keybox_get_blob_image
  - _keybox_get_blob_fileoffset
  - _keybox_update_header_blob
  source_file: /src/gnupg/kbx/keybox-blob.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: len
        type: size_t
      - name: size
        type: size_t
      - name: '*buf'
        type: char
      - name: out_of_core
        type: int
      item_type: struct
      name: membuf
      pos:
        line_end: 193
        line_start: 188
        source_file: /src/gnupg/kbx/keybox-blob.c
    - fields:
      - name: fpr[32]
        type: char
      - name: off_kid
        type: u32
      - name: off_kid_addr
        type: ulong
      - name: flags
        type: u16
      - name: fprlen
        type: u16
      item_type: struct
      name: keyboxblob_key
      pos:
        line_end: 202
        line_start: 196
        source_file: /src/gnupg/kbx/keybox-blob.c
    - fields:
      - name: 'off'
        type: u32
      - name: off_addr
        type: ulong
      - name: '*name'
        type: char
      - name: len
        type: u32
      - name: flags
        type: u16
      - name: validity
        type: byte
      item_type: struct
      name: keyboxblob_uid
      pos:
        line_end: 210
        line_start: 203
        source_file: /src/gnupg/kbx/keybox-blob.c
    - fields:
      - name: '*next'
        type: struct keyid_list
      - name: seqno
        type: int
      - name: kid[8]
        type: byte
      item_type: struct
      name: keyid_list
      pos:
        line_end: 216
        line_start: 212
        source_file: /src/gnupg/kbx/keybox-blob.c
    - fields:
      - name: '*next'
        type: struct fixup_list
      - name: 'off'
        type: u32
      - name: val
        type: u32
      item_type: struct
      name: fixup_list
      pos:
        line_end: 222
        line_start: 218
        source_file: /src/gnupg/kbx/keybox-blob.c
    - fields:
      - name: '*blob'
        type: byte
      - name: bloblen
        type: size_t
      - name: fileoffset
        type: off_t
      - name: '*serialbuf'
        type: unsigned char
      - name: '*serial'
        type: unsigned char
      - name: seriallen
        type: size_t
      - name: nkeys
        type: int
      - name: '*keys'
        type: struct keyboxblob_key
      - name: nuids
        type: int
      - name: '*uids'
        type: struct keyboxblob_uid
      - name: nsigs
        type: int
      - name: '*sigs'
        type: u32
      - name: '*fixups'
        type: struct fixup_list
      - name: fixup_out_of_core
        type: int
      - name: '*temp_kids'
        type: struct keyid_list
      - name: bufbuf
        type: struct membuf
      - name: '*buf'
        type: struct membuf
      item_type: struct
      name: keyboxblob
      pos:
        line_end: 246
        line_start: 225
        source_file: /src/gnupg/kbx/keybox-blob.c
    typedefs: []
    union: []
- function_names:
  - agent_pkdecrypt
  - reverse_buffer
  - ecc_extract_pk_from_key
  - ecc_extract_sk_from_key
  - ecc_raw_kem
  - get_cardkey
  - ecc_get_curve
  - ecc_kem_decap
  - composite_pgp_kem_decrypt
  - ecc_kem_decrypt
  - agent_kem_decrypt
  source_file: /src/gnupg/agent/pkdecrypt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - map_assuan_err
  - struct
  - L_
  - L_
  - divert_tpm2_pksign
  - divert_tpm2_pkdecrypt
  - divert_tpm2_writekey
  - agent_tpm2d_ecc_kem
  source_file: /src/gnupg/agent/agent.h
  types:
    enum:
    - enumerators:
      - name: DAEMON_SCD
      - name: DAEMON_MAX_TYPE
      - name: DAEMON_TPM2D
      item_type: enum
      name: daemon_type
      pos:
        line_end: 64
        line_start: 59
        source_file: /src/gnupg/agent/agent.h
    - enumerators:
      - name: KEM_PQC_PGP
      - name: KEM_CMS
      - name: KEM_PGP
      item_type: enum
      name: kemids
      pos:
        line_end: 567
        line_start: 562
        source_file: /src/gnupg/agent/agent.h
    preproc_defs:
    - item_type: preproc_def
      name: GPG_ERR_SOURCE_DEFAULT
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/gnupg/agent/agent.h
      type_or_value: GPG_ERR_SOURCE_GPGAGENT
    - item_type: preproc_def
      name: GCRY_MODULE_ID_USER
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/agent/agent.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: MD_USER_TLS_MD5SHA1
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/agent/agent.h
      type_or_value: (GCRY_MODULE_ID_USER+1)
    - item_type: preproc_def
      name: MAX_DIGEST_LEN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/gnupg/agent/agent.h
      type_or_value: '64'
    - item_type: preproc_def
      name: MAX_PASSPHRASE_LEN
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/gnupg/agent/agent.h
      type_or_value: '255'
    - item_type: preproc_def
      name: DBG_MPI_VALUE
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/gnupg/agent/agent.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: DBG_CRYPTO_VALUE
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/gnupg/agent/agent.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: DBG_MEMORY_VALUE
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/gnupg/agent/agent.h
      type_or_value: "32\t"
    - item_type: preproc_def
      name: DBG_CACHE_VALUE
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/gnupg/agent/agent.h
      type_or_value: "64\t"
    - item_type: preproc_def
      name: DBG_MEMSTAT_VALUE
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/gnupg/agent/agent.h
      type_or_value: "128\t"
    - item_type: preproc_def
      name: DBG_HASHING_VALUE
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/gnupg/agent/agent.h
      type_or_value: "512\t"
    - item_type: preproc_def
      name: DBG_IPC_VALUE
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/gnupg/agent/agent.h
      type_or_value: '1024  '
    - item_type: preproc_def
      name: DBG_CRYPTO
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/gnupg/agent/agent.h
      type_or_value: (opt.debug & DBG_CRYPTO_VALUE)
    - item_type: preproc_def
      name: DBG_MEMORY
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/gnupg/agent/agent.h
      type_or_value: (opt.debug & DBG_MEMORY_VALUE)
    - item_type: preproc_def
      name: DBG_CACHE
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/gnupg/agent/agent.h
      type_or_value: (opt.debug & DBG_CACHE_VALUE)
    - item_type: preproc_def
      name: DBG_HASHING
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/gnupg/agent/agent.h
      type_or_value: (opt.debug & DBG_HASHING_VALUE)
    - item_type: preproc_def
      name: DBG_IPC
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/gnupg/agent/agent.h
      type_or_value: (opt.debug & DBG_IPC_VALUE)
    - item_type: preproc_def
      name: CACHE_TTL_NONCE
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/gnupg/agent/agent.h
      type_or_value: '120'
    - item_type: preproc_def
      name: CACHE_TTL_OPT_PRESET
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/gnupg/agent/agent.h
      type_or_value: '900'
    - item_type: preproc_def
      name: LunderscorePROTO
      pos:
        line_end: 396
        line_start: 392
        source_file: /src/gnupg/agent/agent.h
      type_or_value: "static inline const char *agent_Lunderscore (ctrl_t ctrl,         \\\n
        \                                              const char *string)  \\\n    GNUPG_GCC_ATTR_FORMAT_ARG(2);"
    - item_type: preproc_def
      name: gettext
      pos:
        line_end: 403
        line_start: 396
        source_file: /src/gnupg/agent/agent.h
      type_or_value: "(string);                              \\\n  }"
    - item_type: preproc_def
      name: CHECK_CONSTRAINTS_NOT_EMPTY
      pos:
        line_end: 575
        line_start: 574
        source_file: /src/gnupg/agent/agent.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CHECK_CONSTRAINTS_NEW_SYMKEY
      pos:
        line_end: 576
        line_start: 575
        source_file: /src/gnupg/agent/agent.h
      type_or_value: '2'
    - item_type: preproc_def
      name: GENKEY_FLAG_NO_PROTECTION
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/gnupg/agent/agent.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GENKEY_FLAG_PRESET
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/gnupg/agent/agent.h
      type_or_value: '2'
    structs:
    - fields:
      - name: '*next'
        type: struct ephemeral_private_key_s
      - name: grip[KEYGRIP_LEN]
        type: unsigned char
      - name: '*keybuf'
        type: unsigned char
      - name: keybuflen
        type: size_t
      item_type: struct
      name: ephemeral_private_key_s
      pos:
        line_end: 234
        line_start: 228
        source_file: /src/gnupg/agent/agent.h
    - fields:
      - name: thread_startup
        type: "struct {\n    gnupg_fd_t fd;\n  }"
      - name: restricted
        type: int
      - name: '*server_local'
        type: struct server_local_s
      - name: '*d_local[DAEMON_MAX_TYPE]'
        type: struct daemon_local_s
      - name: ephemeral_keys
        type: ephemeral_private_key_t
      - name: ephemeral_mode
        type: int
      - name: session_env
        type: session_env_t
      - name: '*lc_ctype'
        type: char
      - name: '*lc_messages'
        type: char
      - name: client_pid
        type: unsigned long
      - name: client_uid
        type: int
      - name: pinentry_mode
        type: pinentry_mode_t
      - name: cache_ttl_opt_preset
        type: int
      - name: digest
        type: "struct {\n    char *data;    /* NULL or malloced data of length VALUELEN.
          \ If\n                      this is set the other fields are ignored.  Used\n
          \                     for PureEdDSA and RSA with PSS (in which case\n                      data_is_pss
          is also set).  */\n    int valuelen;\n    int algo;\n    unsigned char value[MAX_DIGEST_LEN];\n
          \   unsigned int raw_value: 1;\n    unsigned int is_pss: 1;    /* DATA holds
          PSS formatted data.  */\n  }"
      - name: have_keygrip
        type: unsigned int
      - name: have_keygrip1
        type: unsigned int
      - name: keygrip[20]
        type: unsigned char
      - name: keygrip1[20]
        type: unsigned char
      - name: use_auth_call
        type: int
      - name: in_passwd
        type: int
      - name: s2k_count
        type: unsigned long
      - name: pinentry_active
        type: int
      item_type: struct
      name: server_control_s
      pos:
        line_end: 311
        line_start: 239
        source_file: /src/gnupg/agent/agent.h
    - fields:
      - name: min_digits
        type: int
      - name: max_digits
        type: int
      - name: max_tries
        type: int
      - name: constraints_flags
        type: unsigned int
      - name: failed_tries
        type: int
      - name: with_qualitybar
        type: int
      - name: with_repeat
        type: int
      - name: repeat_okay
        type: int
      - name: status
        type: unsigned int
      - name: (*check_cb)(struct pin_entry_info_s *)
        type: gpg_error_t
      - name: '*check_cb_arg'
        type: void
      - name: '*cb_errtext'
        type: char
      - name: max_length
        type: size_t
      - name: pin[1]
        type: char
      item_type: struct
      name: pin_entry_info_s
      pos:
        line_end: 343
        line_start: 324
        source_file: /src/gnupg/agent/agent.h
    - fields:
      - name: '*next'
        type: struct card_key_info_s
      - name: keygrip[41]
        type: char
      - name: '*serialno'
        type: char
      - name: '*idstr'
        type: char
      - name: '*usage'
        type: char
      item_type: struct
      name: card_key_info_s
      pos:
        line_end: 416
        line_start: 409
        source_file: /src/gnupg/agent/agent.h
    typedefs:
    - item_type: typedef
      name: '*ssh_control_file_t'
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/gnupg/agent/agent.h
      type: ssh_control_file_s
    - item_type: typedef
      name: '*ephemeral_private_key_t'
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/gnupg/agent/agent.h
      type: ephemeral_private_key_s
    - item_type: typedef
      name: (*lookup_ttl_t)(const char *hexgrip)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/gnupg/agent/agent.h
      type: int
    union: []
- function_names:
  - encode_md_for_card
  - has_percent0A_suffix
  - getpin_cb
  - divert_pksign
  - divert_pkdecrypt
  - agent_card_ecc_kem
  - divert_writekey
  - divert_generic_cmd
  source_file: /src/gnupg/agent/divert-scd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - clear_ephemeral_keys
  - store_key
  - nonalpha_count
  - do_check_passphrase_pattern
  - take_this_one_anyway
  - check_passphrase_constraints
  - reenter_compare_cb
  - agent_ask_new_passphrase
  - agent_genkey
  - agent_protect_and_store
  source_file: /src/gnupg/agent/genkey.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fixup_when_ecc_private_key
  - sexp_sscan_private_key
  source_file: /src/gnupg/agent/sexp-secret.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - release_keypair_info
  - release_certinfo
  - release_sinfo
  - kpinfo_cb
  - certinfo_cb
  - sinfo_cb
  - send_cert_back
  - agent_handle_learn
  source_file: /src/gnupg/agent/learncard.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct keypair_info_s
      - name: no_cert
        type: int
      - name: '*id'
        type: char
      - name: hexgrip[1]
        type: char
      item_type: struct
      name: keypair_info_s
      pos:
        line_end: 42
        line_start: 33
        source_file: /src/gnupg/agent/learncard.c
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: error
        type: int
      - name: info
        type: KEYPAIR_INFO
      item_type: struct
      name: kpinfo_cb_parm_s
      pos:
        line_end: 50
        line_start: 45
        source_file: /src/gnupg/agent/learncard.c
    - fields:
      - name: '*next'
        type: struct certinfo_s
      - name: type
        type: int
      - name: done
        type: int
      - name: id[1]
        type: char
      item_type: struct
      name: certinfo_s
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/gnupg/agent/learncard.c
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: error
        type: int
      - name: info
        type: CERTINFO
      item_type: struct
      name: certinfo_cb_parm_s
      pos:
        line_end: 68
        line_start: 63
        source_file: /src/gnupg/agent/learncard.c
    - fields:
      - name: '*next'
        type: struct sinfo_s
      - name: '*data'
        type: char
      - name: keyword[1]
        type: char
      item_type: struct
      name: sinfo_s
      pos:
        line_end: 77
        line_start: 73
        source_file: /src/gnupg/agent/learncard.c
    - fields:
      - name: error
        type: int
      - name: info
        type: SINFO
      item_type: struct
      name: sinfo_cb_parm_s
      pos:
        line_end: 83
        line_start: 80
        source_file: /src/gnupg/agent/learncard.c
    typedefs:
    - item_type: typedef
      name: '*KEYPAIR_INFO'
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/gnupg/agent/learncard.c
      type: keypair_info_s
    - item_type: typedef
      name: '*CERTINFO'
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/gnupg/agent/learncard.c
      type: certinfo_s
    - item_type: typedef
      name: '*SINFO'
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/gnupg/agent/learncard.c
      type: sinfo_s
    union: []
- function_names:
  - divert_tpm2_pksign
  - agent_write_tpm2_shadow_key
  - divert_tpm2_writekey
  - divert_tpm2_pkdecrypt
  - agent_tpm2d_ecc_kem
  source_file: /src/gnupg/agent/divert-tpm2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_strusage
  - make_canonical
  - make_advanced
  - read_file
  - read_key
  - read_and_protect
  - read_and_unprotect
  - read_and_shadow
  - show_shadow_info
  - show_file
  - show_keygrip
  - main
  - agent_exit
  - get_passphrase
  - release_passphrase
  - agent_key_available
  - agent_get_cache
  - agent_askpin
  - agent_write_private_key
  source_file: /src/gnupg/agent/protect-tool.c
  types:
    enum:
    - enumerators:
      - name: oArmor
        value: '''a'''
      - name: oNoVerbose
        value: '500'
      - name: oHaveCert
      - name: oStatusMsg
      - name: oS2Kcalibration
      - name: oVerbose
        value: '''v'''
      - name: oUnprotect
        value: '''u'''
      - name: oShowKeygrip
      - name: oPrompt
      - name: oForce
      - name: oProtect
        value: '''p'''
      - name: oShowShadowInfo
      - name: oStore
      - name: oHomedir
      - name: aNull
        value: '0'
      - name: oPassphrase
        value: '''P'''
      - name: oShadow
      - name: oNoFailOnExist
      - name: oCanonical
      - name: oDebugUseOCB
      - name: oAgentProgram
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 75
        line_start: 48
        source_file: /src/gnupg/agent/protect-tool.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/gnupg/agent/protect-tool.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NCHUNK
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/gnupg/agent/protect-tool.c
      type_or_value: '8192'
    structs:
    - fields:
      - name: n
        type: gcry_mpi_t
      - name: e
        type: gcry_mpi_t
      - name: d
        type: gcry_mpi_t
      - name: p
        type: gcry_mpi_t
      - name: q
        type: gcry_mpi_t
      - name: u
        type: gcry_mpi_t
      item_type: struct
      name: rsa_secret_key_s
      pos:
        line_end: 86
        line_start: 78
        source_file: /src/gnupg/agent/protect-tool.c
    typedefs: []
    union: []
- function_names:
  - uint32_construct
  - realloc_secure
  - ssh_identifier_from_curve_name
  - stream_read_byte
  - stream_write_byte
  - stream_read_uint32
  - stream_write_uint32
  - stream_read_data
  - stream_read_skip
  - stream_write_data
  - stream_read_string
  - stream_read_blob
  - stream_read_cstring
  - stream_write_string
  - stream_write_cstring
  - stream_read_mpi
  - stream_write_mpi
  - stream_copy
  - open_control_file
  - rewind_control_file
  - close_control_file
  - read_control_file_item
  - search_control_file
  - add_control_entry
  - ttl_from_sshcontrol
  - confirm_flag_from_sshcontrol
  - ssh_open_control_file
  - ssh_close_control_file
  - ssh_read_control_file
  - ssh_search_control_file
  - mpint_list_free
  - ssh_receive_mpint_list
  - ssh_key_modifier_rsa
  - ssh_signature_encoder_rsa
  - ssh_signature_encoder_dsa
  - ssh_signature_encoder_ecdsa
  - ssh_signature_encoder_eddsa
  - sexp_key_construct
  - ssh_key_to_blob
  - ssh_key_type_lookup
  - ssh_receive_key
  - ssh_send_key_public
  - ssh_read_key_public_from_blob
  - ssh_key_grip
  - card_key_available
  - get_ssh_keyinfo_on_cards
  - add_to_key_array
  - free_key_array
  - compare_key_collection_items
  - ssh_send_available_keys
  - ssh_handler_request_identities
  - data_hash
  - data_sign
  - ssh_handler_sign_request
  - ssh_key_extract_comment
  - ssh_key_to_protected_buffer
  - reenter_compare_cb
  - ssh_identity_register
  - ssh_identity_drop
  - ssh_handler_add_identity
  - ssh_handler_remove_identity
  - ssh_identities_remove_all
  - ssh_handler_remove_all_identities
  - ssh_lock
  - ssh_unlock
  - ssh_handler_lock
  - ssh_handler_unlock
  - ssh_handler_extension
  - request_spec_lookup
  - ssh_request_process
  - get_client_info
  - start_command_handler_ssh_stream
  - start_command_handler_ssh
  - serve_mmapped_ssh_request
  source_file: /src/gnupg/agent/command-ssh.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSH_REQUEST_REQUEST_IDENTITIES
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '11'
    - item_type: preproc_def
      name: SSH_REQUEST_SIGN_REQUEST
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '13'
    - item_type: preproc_def
      name: SSH_REQUEST_ADD_IDENTITY
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '17'
    - item_type: preproc_def
      name: SSH_REQUEST_REMOVE_IDENTITY
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '18'
    - item_type: preproc_def
      name: SSH_REQUEST_REMOVE_ALL_IDENTITIES
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '19'
    - item_type: preproc_def
      name: SSH_REQUEST_LOCK
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '22'
    - item_type: preproc_def
      name: SSH_REQUEST_UNLOCK
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '23'
    - item_type: preproc_def
      name: SSH_REQUEST_ADD_ID_CONSTRAINED
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '25'
    - item_type: preproc_def
      name: SSH_REQUEST_EXTENSION
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '27'
    - item_type: preproc_def
      name: SSH_OPT_CONSTRAIN_LIFETIME
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SSH_OPT_CONSTRAIN_CONFIRM
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SSH_OPT_CONSTRAIN_MAXSIGN
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SSH_OPT_CONSTRAIN_EXTENSION
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '255'
    - item_type: preproc_def
      name: SSH_RESPONSE_SUCCESS
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '6'
    - item_type: preproc_def
      name: SSH_RESPONSE_FAILURE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '5'
    - item_type: preproc_def
      name: SSH_RESPONSE_IDENTITIES_ANSWER
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '12'
    - item_type: preproc_def
      name: SSH_RESPONSE_SIGN_RESPONSE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '14'
    - item_type: preproc_def
      name: SSH_RESPONSE_EXTENSION_FAILURE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '28'
    - item_type: preproc_def
      name: SSH_DSA_SIGNATURE_PADDING
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '20'
    - item_type: preproc_def
      name: SSH_DSA_SIGNATURE_ELEMS
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SSH_AGENT_RSA_SHA2_256
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: SSH_AGENT_RSA_SHA2_512
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: SPEC_FLAG_USE_PKCS1V2
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: SPEC_FLAG_IS_ECDSA
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: SPEC_FLAG_IS_EdDSA
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '(1 << 2)  '
    - item_type: preproc_def
      name: SPEC_FLAG_WITH_CERT
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: SPEC_FLAG_WITH_FIXEDLENGTH
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: (1 << 8)
    - item_type: preproc_def
      name: SSH_CONTROL_FILE_NAME
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/gnupg/agent/command-ssh.c
      type_or_value: '"sshcontrol"'
    structs:
    - fields:
      - name: type
        type: unsigned char
      - name: handler
        type: ssh_request_handler_t
      - name: '*identifier'
        type: char
      - name: secret_input
        type: unsigned int
      item_type: struct
      name: ssh_request_spec
      pos:
        line_end: 148
        line_start: 142
        source_file: /src/gnupg/agent/command-ssh.c
    - fields:
      - name: '*ssh_identifier'
        type: char
      - name: '*name'
        type: char
      - name: algo
        type: int
      - name: '*elems_key_secret'
        type: char
      - name: '*elems_key_public'
        type: char
      - name: '*elems_signature'
        type: char
      - name: '*elems_sexp_order'
        type: char
      - name: key_modifier
        type: ssh_key_modifier_t
      - name: signature_encoder
        type: ssh_signature_encoder_t
      - name: '*curve_name'
        type: char
      - name: '*alt_curve_name'
        type: char
      - name: hash_algo
        type: int
      - name: flags
        type: unsigned int
      - name: keysize
        type: size_t
      item_type: struct
      name: ssh_key_type_spec
      pos:
        line_end: 219
        line_start: 166
        source_file: /src/gnupg/agent/command-ssh.c
    - fields:
      - name: '*fname'
        type: char
      - name: fp
        type: estream_t
      - name: lnr
        type: int
      - name: item
        type: "struct {\n    int valid;           /* True if the data of this structure
          is valid.  */\n    int disabled;        /* The item is disabled.  */\n    int
          ttl;             /* The TTL of the item.   */\n    int confirm;         /*
          The confirm flag is set.  */\n    char hexgrip[40+1];  /* The hexgrip of
          the item (uppercase).  */\n  }"
      item_type: struct
      name: ssh_control_file_s
      pos:
        line_end: 235
        line_start: 223
        source_file: /src/gnupg/agent/command-ssh.c
    - fields:
      - name: key
        type: gcry_sexp_t
      - name: '*cardsn'
        type: char
      - name: order
        type: int
      item_type: struct
      name: key_collection_item_s
      pos:
        line_end: 244
        line_start: 239
        source_file: /src/gnupg/agent/command-ssh.c
    - fields:
      - name: '*items'
        type: struct key_collection_item_s
      - name: allocated
        type: size_t
      - name: nitems
        type: size_t
      item_type: struct
      name: key_collection_s
      pos:
        line_end: 251
        line_start: 246
        source_file: /src/gnupg/agent/command-ssh.c
    - fields:
      - name: pid
        type: unsigned long
      - name: uid
        type: int
      item_type: struct
      name: peer_info_s
      pos:
        line_end: 300
        line_start: 296
        source_file: /src/gnupg/agent/command-ssh.c
    typedefs:
    - item_type: typedef
      name: "(*ssh_request_handler_t) (ctrl_t ctrl,\n\t\t\t\t\t      estream_t request,\n\t\t\t\t\t
        \     estream_t response)"
      pos:
        line_end: 134
        line_start: 132
        source_file: /src/gnupg/agent/command-ssh.c
      type: gpg_error_t
    - item_type: typedef
      name: ssh_key_type_spec_t
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/gnupg/agent/command-ssh.c
      type: ssh_key_type_spec
    - item_type: typedef
      name: "(*ssh_key_modifier_t) (const char *elems,\n                                           gcry_mpi_t
        *mpis)"
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/gnupg/agent/command-ssh.c
      type: gpg_error_t
    - item_type: typedef
      name: "(*ssh_signature_encoder_t) (ssh_key_type_spec_t *spec,\n                                                estream_t
        signature_blob,\n\t\t\t\t\t\tgcry_sexp_t sig)"
      pos:
        line_end: 162
        line_start: 160
        source_file: /src/gnupg/agent/command-ssh.c
      type: gpg_error_t
    union: []
- function_names:
  - initialize_module_call_pinentry
  - agent_query_dump_state
  - agent_reset_query
  - unlock_pinentry
  - atfork_core
  - atfork_cb
  - getinfo_features_cb
  - getinfo_pid_cb
  - start_pinentry
  - pinentry_active_p
  - getpin_cb
  - all_digitsp
  - unescape_passphrase_string
  - estimate_passphrase_quality
  - generate_pin
  - is_generated_pin
  - inq_cb
  - setup_genpin
  - setup_formatted_passphrase
  - setup_enforced_constraints
  - setup_qualitybar
  - pinentry_status_cb
  - build_cmd_setdesc
  - watch_sock
  - watch_sock_start
  - watch_sock_end
  - do_getpin
  - agent_askpin
  - agent_get_passphrase
  - agent_get_confirmation
  - popup_message_thread
  - agent_popup_message_start
  - agent_popup_message_stop
  - agent_clear_passphrase
  source_file: /src/gnupg/agent/call-pinentry.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_OPEN_FDS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/agent/call-pinentry.c
      type_or_value: _POSIX_OPEN_MAX
    - item_type: preproc_def
      name: MAX_OPEN_FDS
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/agent/call-pinentry.c
      type_or_value: '20'
    - item_type: preproc_def
      name: LOCK_TIMEOUT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/gnupg/agent/call-pinentry.c
      type_or_value: (1*60)
    - item_type: preproc_def
      name: DEFAULT_GENPIN_BITS
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/gnupg/agent/call-pinentry.c
      type_or_value: '150'
    structs:
    - fields:
      - name: tabbing
        type: unsigned int
      item_type: struct
      name: entry_features
      pos:
        line_end: 75
        line_start: 68
        source_file: /src/gnupg/agent/call-pinentry.c
    - fields:
      - name: lines
        type: int
      - name: size
        type: size_t
      - name: '*buffer'
        type: unsigned char
      - name: status
        type: int
      - name: constraints_flags
        type: unsigned int
      item_type: struct
      name: entry_parm_s
      pos:
        line_end: 98
        line_start: 91
        source_file: /src/gnupg/agent/call-pinentry.c
    - fields:
      - name: '*key'
        type: char
      - name: what
        type: int
      item_type: struct
      name: "tbl[] = {\n      /* TRANSLATORS: These are labels for buttons etc as
        used in\n       * Pinentries.  In your translation copy the text before the\n
        \      * second vertical bar verbatim; translate only the following\n       *
        text.  An underscore indicates that the next letter should be\n       * used
        as an accelerator.  Double the underscore to have\n       * pinentry display
        a literal underscore.   */\n      { \"ok\",     N_(\"|pinentry-label|_OK\")
        },\n      { \"cancel\", N_(\"|pinentry-label|_Cancel\") },\n      { \"yes\",
        \   N_(\"|pinentry-label|_Yes\") },\n      { \"no\",     N_(\"|pinentry-label|_No\")
        },\n      { \"prompt\", N_(\"|pinentry-label|PIN:\") },\n      { \"pwmngr\",
        N_(\"|pinentry-label|_Save in password manager\"), 1 },\n      { \"cf-visi\",N_(\"Do
        you really want to make your \"\n                     \"passphrase visible
        on the screen?\") },\n      { \"tt-visi\",N_(\"|pinentry-tt|Make passphrase
        visible\") },\n      { \"tt-hide\",N_(\"|pinentry-tt|Hide passphrase\") },\n
        \     { \"capshint\", N_(\"Caps Lock is on\") },\n      { NULL, NULL}\n    }"
      pos:
        line_end: 548
        line_start: 548
        source_file: /src/gnupg/agent/call-pinentry.c
    - fields:
      - name: ctx
        type: assuan_context_t
      - name: flags
        type: unsigned int
      - name: genpinhash_valid
        type: int
      - name: genpinhash[32]
        type: char
      item_type: struct
      name: inq_cb_parm_s
      pos:
        line_end: 883
        line_start: 877
        source_file: /src/gnupg/agent/call-pinentry.c
    - fields:
      - name: '*key'
        type: char
      item_type: struct
      name: "tbl[] = {\n    { \"hint\",  \"pinentry.formatted_passphrase.hint\",\n
        \     /* TRANSLATORS: This is a text shown by pinentry if the option\n         for
        formatted passphrase is enabled.  The length is\n         limited to about
        900 characters.  */\n      N_(\"Note: The blanks are not part of the passphrase.\")
        },\n    { NULL, NULL }\n  }"
      pos:
        line_end: 1065
        line_start: 1065
        source_file: /src/gnupg/agent/call-pinentry.c
    - fields:
      - name: '*key'
        type: char
      item_type: struct
      name: "tbl[] = {\n    { \"hint-short\", \"pinentry.constraints.hint.short\",
        NULL },\n    { \"hint-long\",  \"pinentry.constraints.hint.long\", NULL },\n
        \   /* TRANSLATORS: This is a text shown by pinentry as title of a dialog\n
        \      telling the user that the entered new passphrase does not satisfy\n
        \      the passphrase constraints.  Please keep it short. */\n    { \"error-title\",
        NULL, N_(\"Passphrase Not Allowed\") },\n    { NULL, NULL }\n  }"
      pos:
        line_end: 1123
        line_start: 1123
        source_file: /src/gnupg/agent/call-pinentry.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/agent/w32main.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wait_child_thread
  - daemon_unlock
  - atfork_cb
  - daemon_start
  - initialize_module_daemon
  - agent_daemon_dump_state
  - agent_daemon_check_running
  - agent_kill_daemon
  - agent_reset_daemon
  - daemon_type_ctx
  source_file: /src/gnupg/agent/call-daemon.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next_local'
        type: struct daemon_local_s
      - name: ctx
        type: assuan_context_t
      - name: in_use
        type: unsigned int
      - name: invalid
        type: unsigned int
      item_type: struct
      name: daemon_local_s
      pos:
        line_end: 62
        line_start: 52
        source_file: /src/gnupg/agent/call-daemon.c
    - fields:
      - name: '*local_list'
        type: struct daemon_local_s
      - name: '*socket_name'
        type: char
      - name: primary_ctx
        type: assuan_context_t
      - name: primary_ctx_reusable
        type: int
      item_type: struct
      name: daemon_global_s
      pos:
        line_end: 84
        line_start: 66
        source_file: /src/gnupg/agent/call-daemon.c
    - fields:
      - name: type
        type: enum daemon_type
      item_type: struct
      name: wait_child_thread_parm_s
      pos:
        line_end: 97
        line_start: 94
        source_file: /src/gnupg/agent/call-daemon.c
    typedefs: []
    union: []
- function_names:
  - make_libversion
  - my_strusage
  - set_debug
  - remove_socket
  - map_supervised_sockets
  - cleanup
  - parse_rereadable_options
  - finalize_rereadable_options
  - agent_thread_init_once
  - initialize_modules
  - main
  - agent_exit
  - agent_libgcrypt_progress_cb
  - unregister_progress_cb
  - agent_set_progress_cb
  - agent_init_default_ctrl
  - agent_deinit_default_ctrl
  - agent_copy_startup_env
  - reread_configuration
  - get_agent_socket_name
  - get_agent_ssh_socket_name
  - get_agent_active_connection_count
  - create_an_event
  - get_agent_daemon_notify_event
  - create_socket_name
  - create_server_socket
  - create_private_keys_directory
  - create_directories
  - agent_sighup_action
  - agent_sigusr2_action
  - handle_signal
  - check_nonce
  - putty_message_proc
  - putty_message_thread
  - win32_openssh_thread
  - do_start_connection_thread
  - start_connection_thread_std
  - start_connection_thread_extra
  - start_connection_thread_browser
  - start_connection_thread_ssh
  - agent_kick_the_loop
  - handle_connections
  - check_own_socket_pid_cb
  - do_check_own_socket
  - check_own_socket_thread
  - check_others_thread
  - check_for_running_agent
  source_file: /src/gnupg/agent/gpg-agent.c
  types:
    enum:
    - enumerators:
      - name: oDebugQuickRandom
      - name: oSysTrustlistName
      - name: oAutoExpandSecmem
      - name: oMinPassphraseLen
      - name: aGPGConfTest
      - name: oDaemon
      - name: oSSHFingerprintDigest
      - name: oScdaemonProgram
      - name: oExtraSocket
      - name: oNoOptions
      - name: oPinentryFormattedPassphrase
      - name: oCheckPassphrasePattern
      - name: oAllowLoopbackPinentry
      - name: oInactivityTimeout
      - name: oDefCacheTTL
      - name: oFakedSystemTime
      - name: oWin32OpenSSHSupport
      - name: oOptions
      - name: oBatch
      - name: oQuiet
        value: '''q'''
      - name: oNoDetach
      - name: oTTYname
      - name: oMaxPassphraseDays
      - name: oNoAllowExternalCache
      - name: oWriteEnvFile
      - name: oMaxCacheTTL
      - name: oAllowMarkTrusted
      - name: aNull
        value: '0'
      - name: oDebugAll
      - name: oPinentryTouchFile
      - name: oDisableCheckOwnSocket
      - name: oKeepTTY
      - name: oVerbose
        value: '''v'''
      - name: oNoGrab
      - name: oLCctype
      - name: oStealSocket
      - name: oEnforcePassphraseConstraints
      - name: oDebugWait
      - name: oNoUserTrustlist
      - name: oS2KCalibration
      - name: aGPGConfList
      - name: oServer
      - name: oXauthority
      - name: oNoUseStandardSocket
      - name: oSSHSupport
      - name: oDebugPinentry
      - name: oPinentryTimeout
      - name: oMinPassphraseNonalpha
      - name: oAllowPresetPassphrase
      - name: oListenBacklog
      - name: oBrowserSocket
      - name: oPuttySupport
      - name: aUseStandardSocketP
      - name: oSupervised
      - name: oTpm2daemonProgram
      - name: oNoop
      - name: oCheckSymPassphrasePattern
      - name: oNoAllowLoopbackPinentry
      - name: oCsh
        value: '''c'''
      - name: oHomedir
      - name: oDisplay
      - name: oChangeStdEnvName
      - name: oDebug
      - name: oPinentryProgram
      - name: oDefCacheTTLSSH
      - name: oDisableScdaemon
      - name: oIgnoreCacheForSigning
      - name: oSh
        value: '''s'''
      - name: oGrab
      - name: oTTYtype
      - name: oEnablePassphraseHistory
      - name: oAllowEmacsPinentry
      - name: oS2KCount
      - name: oMaxCacheTTLSSH
      - name: oDebugLevel
      - name: oPinentryInvisibleChar
      - name: oNoAllowMarkTrusted
      - name: oKeepDISPLAY
      - name: oUseStandardSocket
      - name: oNoVerbose
        value: '500'
      - name: oLogFile
      - name: oLCmessages
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 153
        line_start: 65
        source_file: /src/gnupg/agent/gpg-agent.c
    preproc_defs:
    - item_type: preproc_def
      name: WINVER
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: '0x0500  '
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ENAMETOOLONG
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: EINVAL
    - item_type: preproc_def
      name: DEFAULT_CACHE_TTL
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: '(10*60)  '
    - item_type: preproc_def
      name: DEFAULT_CACHE_TTL_SSH
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: '(30*60)  '
    - item_type: preproc_def
      name: MAX_CACHE_TTL
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: '(120*60) '
    - item_type: preproc_def
      name: MAX_CACHE_TTL_SSH
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: '(120*60) '
    - item_type: preproc_def
      name: MIN_PASSPHRASE_LEN
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: (8)
    - item_type: preproc_def
      name: MIN_PASSPHRASE_NONALPHA
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: (1)
    - item_type: preproc_def
      name: MAX_PASSPHRASE_DAYS
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: (0)
    - item_type: preproc_def
      name: CHECK_OWN_SOCKET_INTERVAL
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: (60)
    - item_type: preproc_def
      name: CHECK_PROBLEMS_INTERVAL
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: (4)
    - item_type: preproc_def
      name: PUTTY_IPC_MAGIC
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: '0x804e50ba'
    - item_type: preproc_def
      name: PUTTY_IPC_MAXLEN
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: '16384'
    - item_type: preproc_def
      name: W32_DEFAULT_AGENT_PIPE_NAME
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: '"\\\\.\\pipe\\openssh-ssh-agent"'
    - item_type: preproc_def
      name: AGENT_PROBLEM_SOCKET_TAKEOVER
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: AGENT_PROBLEM_PARENT_HAS_GONE
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: AGENT_PROBLEM_HOMEDIR_REMOVED
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: HAVE_PARENT_PID_SUPPORT
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HAVE_PARENT_PID_SUPPORT
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BUFSIZE
      pos:
        line_end: 2758
        line_start: 2757
        source_file: /src/gnupg/agent/gpg-agent.c
      type_or_value: (5 * 1024)
    structs:
    - fields:
      - name: '*next'
        type: struct progress_dispatch_s
      - name: ctrl
        type: ctrl_t
      - name: tid
        type: npth_t
      - name: "(*cb)(ctrl_t ctrl,\n             const char *what, int printchar,\n
          \            int current, int total)"
        type: void
      item_type: struct
      name: progress_dispatch_s
      pos:
        line_end: 506
        line_start: 489
        source_file: /src/gnupg/agent/gpg-agent.c
    - fields:
      - name: '*label'
        type: char
      - name: '**fdaddr'
        type: int
      - name: '**nameaddr'
        type: char
      item_type: struct
      name: "tbl[] = {\n    { \"ssh\",     &r_fd_ssh,     &socket_name_ssh },\n    {
        \"browser\", &r_fd_browser, &socket_name_browser },\n    { \"extra\",   &r_fd_extra,
        \  &socket_name_extra },\n    { \"std\",     &r_fd,         &socket_name }
        \ /* (Must be the last item.)  */\n  }"
      pos:
        line_end: 700
        line_start: 696
        source_file: /src/gnupg/agent/gpg-agent.c
    - fields:
      - name: '*name'
        type: char
      - name: '*(*func) (void *arg)'
        type: void
      - name: l_fd
        type: gnupg_fd_t
      item_type: struct
      name: "listentbl[] = {\n    { \"std\",     start_connection_thread_std   },\n
        \   { \"extra\",   start_connection_thread_extra },\n    { \"browser\", start_connection_thread_browser
        },\n    { \"ssh\",    start_connection_thread_ssh   }\n  }"
      pos:
        line_end: 3009
        line_start: 3005
        source_file: /src/gnupg/agent/gpg-agent.c
    typedefs: []
    union: []
- function_names:
  - pass
  - fail
  - test_agent_protect
  - test_agent_unprotect
  - test_agent_private_key_type
  - test_make_shadow_info
  - test_agent_shadow_key
  - test_agent_get_shadow_info
  - test_agent_protect_shared_secret
  - main
  - convert_from_openpgp_native
  source_file: /src/gnupg/agent/t-protect.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/gnupg/agent/t-protect.c
      type_or_value: '1'
    structs:
    - fields:
      - name: '*string'
        type: char
      item_type: struct
      name: key_spec
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/gnupg/agent/t-protect.c
    - fields:
      - name: '*key'
        type: char
      - name: '*passphrase'
        type: char
      - name: no_result_expected
        type: int
      - name: compare_results
        type: int
      - name: '*result_expected'
        type: unsigned char
      - name: resultlen_expected
        type: size_t
      - name: ret_expected
        type: int
      - name: '*result'
        type: unsigned char
      - name: resultlen
        type: size_t
      item_type: struct
      name: "specs[] =\n    {\n      /* Invalid S-Expressions  */\n      /* - non-NULL
        \ */\n      { \"\",\n\t\"passphrase\", 1, 0, NULL, 0, GPG_ERR_INV_SEXP, NULL,
        0 },\n      /* - NULL; disabled, this segfaults  */\n      //{ NULL,\n      //
        \ \"passphrase\", 1, NULL, 0, GPG_ERR_INV_SEXP, NULL, 0 },\n\n      /* Valid
        and invalid keys.  */\n      { key_rsa_valid.string,\n\t\"passphrase\", 0,
        0, NULL, 0, 0, NULL, 0 },\n      { key_rsa_bogus_0.string,\n\t\"passphrase\",
        0, 0, NULL, 0, GPG_ERR_INV_SEXP, NULL, 0 },\n      { key_rsa_bogus_1.string,\n\t\"passphrase\",
        0, 0, NULL, 0, GPG_ERR_INV_SEXP, NULL, 0 },\n\n      { key_ecdsa_valid.string,\n\t\"passphrase\",
        0, 0, NULL, 0, 0, NULL, 0 },\n\n      /* FIXME: add more test data.  */\n
        \   }"
      pos:
        line_end: 170
        line_start: 159
        source_file: /src/gnupg/agent/t-protect.c
    - fields:
      - name: '*snstr'
        type: char
      - name: '*idstr'
        type: char
      - name: '*expected'
        type: char
      item_type: struct
      name: "data[] = {\n    { \"\", \"\", NULL },\n\n  }"
      pos:
        line_end: 263
        line_start: 258
        source_file: /src/gnupg/agent/t-protect.c
    typedefs: []
    union: []
- function_names:
  - initialize_module_trustlist
  - lock_trusttable
  - unlock_trusttable
  - clear_trusttable
  - make_sys_trustlist_name
  - read_one_trustfile
  - read_trustfiles
  - istrusted_internal
  - agent_istrusted
  - agent_listtrusted
  - insert_colons
  - reformat_name
  - agent_marktrusted
  - agent_reload_trustlist
  source_file: /src/gnupg/agent/trustlist.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: flags
        type: "struct\n  {\n    unsigned int disabled:1;       /* This entry is disabled.
          \ */\n    unsigned int for_pgp:1;        /* Set by '*' or 'P' as first flag.
          */\n    unsigned int for_smime:1;      /* Set by '*' or 'S' as first flag.
          */\n    unsigned int relax:1;          /* Relax checking of root certificate\n
          \                                     constraints.  Be default enabled.
          */\n    unsigned int cm:1;             /* Use chain model for validation.
          */\n    unsigned int qual:1;           /* Root CA for qualified signatures.
          \ */\n    unsigned int de_vs:1;          /* Root CA for de-vs compliant
          PKI.    */\n    unsigned int noconsent:1;      /* Do not require a conset
          for \"qual\". */\n  }"
      - name: fpr[20]
        type: unsigned char
      item_type: struct
      name: trustitem_s
      pos:
        line_end: 53
        line_start: 38
        source_file: /src/gnupg/agent/trustlist.c
    typedefs:
    - item_type: typedef
      name: trustitem_t
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/gnupg/agent/trustlist.c
      type: trustitem_s
    union: []
- function_names: []
  source_file: /src/gnupg/agent/cvt-openpgp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_error
  - clear_outbuf
  - write_and_clear_outbuf
  - clear_nonce_cache
  - reset_notify
  - plus_to_blank
  - parse_hexstring
  - parse_keygrip
  - parse_ttl
  - agent_write_status
  - agent_print_status
  - agent_inq_pinentry_launched
  - progress_cb
  - leave_cmd
  - get_keyinfo_on_cards
  - cmd_geteventcounter
  - bump_key_eventcounter
  - bump_card_eventcounter
  - cmd_istrusted
  - cmd_listtrusted
  - cmd_marktrusted
  - cmd_havekey
  - cmd_sigkey
  - cmd_setkeydesc
  - cmd_sethash
  - cmd_pksign
  - cmd_pkdecrypt
  - cmd_genkey
  - cmd_keyattr
  - cmd_readkey
  - do_one_keyinfo
  - cmd_keyinfo
  - send_back_passphrase
  - reenter_passphrase_cmp_cb
  - cmd_get_passphrase
  - cmd_clear_passphrase
  - cmd_get_confirmation
  - cmd_learn
  - cmd_passwd
  - cmd_preset_passphrase
  - cmd_scd
  - cmd_keywrap_key
  - cmd_import_key
  - cmd_export_key
  - cmd_delete_key
  - cmd_keytocard
  - cmd_get_secret
  - cmd_put_secret
  - cmd_keytotpm
  - cmd_getval
  - cmd_putval
  - cmd_updatestartuptty
  - cmd_killagent
  - cmd_reloadagent
  - cmd_getinfo
  - option_handler
  - post_cmd_notify
  - io_monitor
  - command_has_option
  - register_commands
  - start_command_handler
  - pinentry_loopback
  - pinentry_loopback_confirm
  source_file: /src/gnupg/agent/command.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXLEN_CIPHERTEXT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/agent/command.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: MAXLEN_KEYPARAM
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/gnupg/agent/command.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: MAXLEN_KEYDATA
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/gnupg/agent/command.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: MAXLEN_PUT_SECRET
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/agent/command.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: KEYWRAP_KEYSIZE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/gnupg/agent/command.c
      type_or_value: (128/8)
    - item_type: preproc_def
      name: KEYTOCARD_TIMESTAMP_FORMAT
      pos:
        line_end: 3344
        line_start: 3343
        source_file: /src/gnupg/agent/command.c
      type_or_value: '"(10:created-at10:%010llu))"'
    - item_type: preproc_def
      name: KEYTOCARD_TIMESTAMP_FORMAT
      pos:
        line_end: 3346
        line_start: 3345
        source_file: /src/gnupg/agent/command.c
      type_or_value: '"(10:created-at10:%010lu))"'
    structs:
    - fields:
      - name: assuan_ctx
        type: assuan_context_t
      - name: use_cache_for_signing
        type: unsigned int
      - name: pause_io_logging
        type: unsigned int
      - name: connect_from_self
        type: unsigned int
      - name: greeting_seen
        type: unsigned int
      - name: stopme
        type: unsigned int
      - name: allow_pinentry_notify
        type: unsigned int
      - name: '*keydesc'
        type: char
      - name: '*import_key'
        type: void
      - name: '*export_key'
        type: void
      - name: allow_fully_canceled
        type: int
      - name: '*last_cache_nonce'
        type: char
      - name: '*last_passwd_nonce'
        type: char
      - name: last_card_keyinfo
        type: "struct {\n    struct card_key_info_s *ki;\n    unsigned int eventno;\n
          \   unsigned int maybe_key_change;\n  }"
      item_type: struct
      name: server_local_s
      pos:
        line_end: 124
        line_start: 68
        source_file: /src/gnupg/agent/command.c
    - fields:
      - name: '*next'
        type: struct putval_item_s
      - name: 'off'
        type: size_t
      - name: len
        type: size_t
      - name: d[1]
        type: char
      item_type: struct
      name: putval_item_s
      pos:
        line_end: 134
        line_start: 128
        source_file: /src/gnupg/agent/command.c
    - fields:
      - name: any
        type: unsigned int
      - name: key
        type: unsigned int
      - name: card
        type: unsigned int
      - name: maybe_key_change
        type: unsigned int
      item_type: struct
      name: eventcounter
      pos:
        line_end: 165
        line_start: 147
        source_file: /src/gnupg/agent/command.c
    - fields:
      - name: '*name'
        type: char
      - name: handler
        type: assuan_handler_t
      - name: '* const help'
        type: char
      item_type: struct
      name: "table[] = {\n    { \"GETEVENTCOUNTER\",cmd_geteventcounter, hlp_geteventcounter
        },\n    { \"ISTRUSTED\",      cmd_istrusted, hlp_istrusted },\n    { \"HAVEKEY\",
        \       cmd_havekey,   hlp_havekey },\n    { \"KEYINFO\",        cmd_keyinfo,
        \  hlp_keyinfo },\n    { \"SIGKEY\",         cmd_sigkey,    hlp_sigkey },\n
        \   { \"SETKEY\",         cmd_sigkey,    hlp_sigkey },\n    { \"SETKEYDESC\",
        \    cmd_setkeydesc,hlp_setkeydesc },\n    { \"SETHASH\",        cmd_sethash,
        \  hlp_sethash },\n    { \"PKSIGN\",         cmd_pksign,    hlp_pksign },\n
        \   { \"PKDECRYPT\",      cmd_pkdecrypt, hlp_pkdecrypt },\n    { \"GENKEY\",
        \        cmd_genkey,    hlp_genkey },\n    { \"READKEY\",        cmd_readkey,
        \  hlp_readkey },\n    { \"GET_PASSPHRASE\", cmd_get_passphrase, hlp_get_passphrase
        },\n    { \"PRESET_PASSPHRASE\", cmd_preset_passphrase, hlp_preset_passphrase
        },\n    { \"CLEAR_PASSPHRASE\", cmd_clear_passphrase,   hlp_clear_passphrase
        },\n    { \"GET_CONFIRMATION\", cmd_get_confirmation,   hlp_get_confirmation
        },\n    { \"LISTTRUSTED\",    cmd_listtrusted, hlp_listtrusted },\n    { \"MARKTRUSTED\",
        \   cmd_marktrusted, hlp_martrusted },\n    { \"LEARN\",          cmd_learn,
        \    hlp_learn },\n    { \"PASSWD\",         cmd_passwd,    hlp_passwd },\n
        \   { \"INPUT\",          NULL },\n    { \"OUTPUT\",         NULL },\n    {
        \"SCD\",            cmd_scd,       hlp_scd },\n    { \"KEYWRAP_KEY\",    cmd_keywrap_key,
        hlp_keywrap_key },\n    { \"IMPORT_KEY\",     cmd_import_key, hlp_import_key
        },\n    { \"EXPORT_KEY\",     cmd_export_key, hlp_export_key },\n    { \"DELETE_KEY\",
        \    cmd_delete_key, hlp_delete_key },\n    { \"GET_SECRET\",     cmd_get_secret,
        hlp_get_secret },\n    { \"PUT_SECRET\",     cmd_put_secret, hlp_put_secret
        },\n    { \"GETVAL\",         cmd_getval,    hlp_getval },\n    { \"PUTVAL\",
        \        cmd_putval,    hlp_putval },\n    { \"UPDATESTARTUPTTY\",  cmd_updatestartuptty,
        hlp_updatestartuptty },\n    { \"KILLAGENT\",      cmd_killagent,  hlp_killagent
        },\n    { \"RELOADAGENT\",    cmd_reloadagent,hlp_reloadagent },\n    { \"GETINFO\",
        \       cmd_getinfo,   hlp_getinfo },\n    { \"KEYTOCARD\",      cmd_keytocard,
        hlp_keytocard },\n    { \"KEYTOTPM\",       cmd_keytotpm, hlp_keytotpm },\n
        \   { \"KEYATTR\",        cmd_keyattr, hlp_keyattr },\n    { NULL }\n  }"
      pos:
        line_end: 4437
        line_start: 4433
        source_file: /src/gnupg/agent/command.c
    typedefs: []
    union: []
- function_names:
  - trans
  source_file: /src/gnupg/agent/trans.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_keygrip
  - convert_secret_key
  - convert_transfer_key
  - hash_passphrase_and_set_key
  - checksum
  - get_npkey_nskey
  - prepare_unprotect
  - scan_pgp_format
  - do_unprotect
  - try_do_unprotect_cb
  - convert_from_openpgp_main
  - convert_from_openpgp
  - convert_from_openpgp_native
  - apply_protection
  - extract_private_key
  - convert_to_openpgp
  source_file: /src/gnupg/agent/cvt-openpgp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: is_v4
        type: int
      - name: is_protected
        type: int
      - name: pubkey_algo
        type: int
      - name: '*curve'
        type: char
      - name: protect_algo
        type: int
      - name: '*iv'
        type: char
      - name: ivlen
        type: int
      - name: s2k_mode
        type: int
      - name: s2k_algo
        type: int
      - name: '*s2k_salt'
        type: byte
      - name: s2k_count
        type: u32
      - name: desired_csum
        type: u16
      - name: '*skey'
        type: gcry_mpi_t
      - name: skeysize
        type: size_t
      - name: skeyidx
        type: int
      - name: '*r_key'
        type: gcry_sexp_t
      item_type: struct
      name: try_do_unprotect_arg_s
      pos:
        line_end: 50
        line_start: 32
        source_file: /src/gnupg/agent/cvt-openpgp.c
    typedefs: []
    union: []
- function_names:
  - calibrate_get_time
  - calibrate_elapsed_time
  - calibrate_s2k_count_one
  - calibrate_s2k_count
  - set_s2k_calibration_time
  - get_calibrated_s2k_count
  - get_standard_s2k_count
  - get_standard_s2k_time
  - get_standard_s2k_count_rfc4880
  - calculate_mic
  - do_encryption
  - agent_protect
  - do_decryption
  - merge_lists
  - agent_unprotect
  - agent_private_key_type
  - hash_passphrase
  - s2k_hash_passphrase
  - make_shadow_info
  - agent_shadow_key_type
  - agent_shadow_key
  - agent_get_shadow_info_type
  - agent_get_shadow_info
  - agent_is_tpm2_key
  - agent_get_shadow_type
  - parse_shadow_info
  source_file: /src/gnupg/agent/protect.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROT_CIPHER
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/gnupg/agent/protect.c
      type_or_value: GCRY_CIPHER_AES128
    - item_type: preproc_def
      name: PROT_CIPHER_STRING
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/gnupg/agent/protect.c
      type_or_value: '"aes"'
    - item_type: preproc_def
      name: PROT_CIPHER_KEYLEN
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/gnupg/agent/protect.c
      type_or_value: (128/8)
    - item_type: preproc_def
      name: USE_CLOCK_GETTIME
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/gnupg/agent/protect.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_CLOCK_GETTIME
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/gnupg/agent/protect.c
      type_or_value: '1'
    structs:
    - fields:
      - name: '*algo'
        type: char
      - name: '*parmlist'
        type: char
      - name: prot_from
        type: int
      - name: ecc_hack
        type: int
      item_type: struct
      name: "protect_info[] = {\n  { \"rsa\",  \"nedpqu\", 2, 5 },\n  { \"dsa\",  \"pqgyx\",
        4, 4 },\n  { \"elg\",  \"pgyx\", 3, 3 },\n  { \"ecdsa\",\"pabgnqd\", 6, 6,
        1 },\n  { \"ecdh\", \"pabgnqd\", 6, 6, 1 },\n  { \"ecc\",  \"pabgnqd\", 6,
        6, 1 },\n  { \"kyber512\", \"ps\", 1, 1 },\n  { \"kyber768\", \"ps\", 1, 1
        },\n  { \"kyber1024\", \"ps\", 1, 1 },\n  { NULL }\n}"
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/gnupg/agent/protect.c
    - fields: []
      item_type: struct
      name: calibrate_time_s
      pos:
        line_end: 89
        line_start: 82
        source_file: /src/gnupg/agent/protect.c
    - fields:
      - name: '*name'
        type: char
      - name: algo
        type: int
      - name: keylen
        type: int
      - name: is_ocb
        type: unsigned int
      item_type: struct
      name: "algotable[] = {\n    { \"openpgp-s2k3-sha1-aes-cbc\",    GCRY_CIPHER_AES128,
        (128/8)},\n    { \"openpgp-s2k3-sha1-aes256-cbc\", GCRY_CIPHER_AES256, (256/8)},\n
        \   { \"openpgp-s2k3-ocb-aes\",         GCRY_CIPHER_AES128, (128/8), 1},\n
        \   { \"openpgp-native\", 0, 0 }\n  }"
      pos:
        line_end: 1023
        line_start: 1018
        source_file: /src/gnupg/agent/protect.c
    typedefs: []
    union: []
- function_names:
  - start_tpm2d
  - unlock_tpm2d
  - daemon_ctx
  - inq_needpin
  - inq_keydata
  - inq_extra
  - agent_tpm2d_writekey
  - pin_cb
  - agent_tpm2d_pksign
  - agent_tpm2d_pkdecrypt
  source_file: /src/gnupg/agent/call-tpm2d.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ctx
        type: assuan_context_t
      - name: (*getpin_cb)(ctrl_t, const char *, char **)
        type: gpg_error_t
      - name: ctrl
        type: ctrl_t
      - name: '*keydata'
        type: unsigned char
      - name: keydatalen
        type: size_t
      - name: '*extra'
        type: unsigned char
      - name: extralen
        type: size_t
      - name: '*pin'
        type: char
      item_type: struct
      name: inq_parm_s
      pos:
        line_end: 44
        line_start: 33
        source_file: /src/gnupg/agent/call-tpm2d.c
    typedefs: []
    union: []
- function_names:
  - build_argv
  - wndw_proc
  - w32_poll_events
  - handle_taskbar
  - w32_setup_taskbar
  - WinMain
  source_file: /src/gnupg/agent/w32main.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fname_from_keygrip
  - wipe_and_fclose
  - linefeed_to_percent0A
  - agent_write_private_key
  - agent_update_private_key
  - try_unprotect_cb
  - has_comment_expando
  - agent_modify_description
  - unprotect
  - read_key_file
  - remove_key_file
  - prompt_for_card
  - agent_key_from_file
  - is_shadowed_key
  - agent_raw_key_from_file
  - public_key_from_file
  - agent_public_key_from_file
  - agent_ssh_key_from_file
  - agent_key_available
  - agent_key_info_from_file
  - agent_delete_key
  - agent_write_shadow_key
  source_file: /src/gnupg/agent/findkey.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: O_BINARY
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/agent/findkey.c
      type_or_value: '0'
    structs:
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: '*protected_key'
        type: unsigned char
      - name: '*unprotected_key'
        type: unsigned char
      - name: change_required
        type: int
      item_type: struct
      name: try_unprotect_arg_s
      pos:
        line_end: 56
        line_start: 49
        source_file: /src/gnupg/agent/findkey.c
    typedefs: []
    union: []
- function_names:
  - my_strusage
  - preset_passphrase
  - forget_passphrase
  - main
  - agent_exit
  source_file: /src/gnupg/agent/preset-passphrase.c
  types:
    enum:
    - enumerators:
      - name: aNull
        value: '0'
      - name: oPreset
        value: '''c'''
      - name: oVerbose
        value: '''v'''
      - name: oForget
        value: '''f'''
      - name: oPassphrase
        value: '''P'''
      - name: oNoVerbose
        value: '500'
      - name: oHomedir
      - name: oRestricted
      - name: aTest
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 67
        line_start: 54
        source_file: /src/gnupg/agent/preset-passphrase.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/agent/preset-passphrase.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - start_scd
  - unlock_scd
  - daemon_ctx
  - handle_pincache_put
  - pincache_put_cb
  - handle_pincache_get
  - learn_status_cb
  - agent_card_learn
  - get_serialno_cb
  - agent_card_serialno
  - inq_needpin
  - hash_algo_option
  - prepare_setdata
  - agent_card_pksign
  - padding_info_cb
  - agent_card_pkdecrypt
  - agent_card_readcert
  - readkey_status_cb
  - agent_card_readkey
  - inq_writekey_parms
  - agent_card_writekey
  - card_getattr_cb
  - agent_card_getattr
  - card_keyinfo_cb
  - agent_card_free_keyinfo
  - agent_card_keyinfo
  - pass_status_thru
  - pass_data_thru
  - devinfo_watch_thread
  - agent_card_devinfo
  - agent_card_scd
  source_file: /src/gnupg/agent/call-scd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_OPEN_FDS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/agent/call-scd.c
      type_or_value: _POSIX_OPEN_MAX
    - item_type: preproc_def
      name: MAX_OPEN_FDS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/agent/call-scd.c
      type_or_value: '20'
    - item_type: preproc_def
      name: DEVINFO_WATCH_COMMAND
      pos:
        line_end: 1178
        line_start: 1177
        source_file: /src/gnupg/agent/call-scd.c
      type_or_value: '"DEVINFO --watch"'
    structs:
    - fields:
      - name: '*next_local'
        type: struct scd_local_s
      - name: ctx
        type: assuan_context_t
      - name: in_use
        type: unsigned int
      - name: invalid
        type: unsigned int
      item_type: struct
      name: scd_local_s
      pos:
        line_end: 60
        line_start: 50
        source_file: /src/gnupg/agent/call-scd.c
    - fields:
      - name: (*kpinfo_cb)(void*, const char *)
        type: void
      - name: '*kpinfo_cb_arg'
        type: void
      - name: (*certinfo_cb)(void*, const char *)
        type: void
      - name: '*certinfo_cb_arg'
        type: void
      - name: (*sinfo_cb)(void*, const char *, size_t, const char *)
        type: void
      - name: '*sinfo_cb_arg'
        type: void
      item_type: struct
      name: learn_parm_s
      pos:
        line_end: 72
        line_start: 64
        source_file: /src/gnupg/agent/call-scd.c
    - fields:
      - name: ctx
        type: assuan_context_t
      - name: (*getpin_cb)(void *, const char *, const char *, char*, size_t)
        type: int
      - name: '*getpin_cb_arg'
        type: void
      - name: '*getpin_cb_desc'
        type: char
      - name: passthru
        type: assuan_context_t
      - name: '*keydata'
        type: unsigned char
      - name: keydatalen
        type: size_t
      item_type: struct
      name: inq_needpin_parm_s
      pos:
        line_end: 88
        line_start: 76
        source_file: /src/gnupg/agent/call-scd.c
    - fields:
      - name: '*keyref'
        type: char
      item_type: struct
      name: readkey_status_parm_s
      pos:
        line_end: 698
        line_start: 695
        source_file: /src/gnupg/agent/call-scd.c
    - fields:
      - name: '*keyword'
        type: char
      - name: keywordlen
        type: size_t
      - name: '*data'
        type: char
      - name: error
        type: int
      item_type: struct
      name: card_getattr_parm_s
      pos:
        line_end: 858
        line_start: 853
        source_file: /src/gnupg/agent/call-scd.c
    - fields:
      - name: error
        type: int
      - name: '*list'
        type: struct card_key_info_s
      item_type: struct
      name: card_keyinfo_parm_s
      pos:
        line_end: 946
        line_start: 943
        source_file: /src/gnupg/agent/call-scd.c
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: '*assuan_context'
        type: void
      item_type: struct
      name: devinfo_watch_thread
      pos:
        line_end: 1182
        line_start: 1179
        source_file: /src/gnupg/agent/call-scd.c
    typedefs: []
    union: []
- function_names:
  - do_encode_md
  - get_dsa_qbits
  - rfc6979_hash_algo_string
  - do_encode_eddsa
  - do_encode_dsa
  - do_encode_raw_pkcs1
  - agent_pksign_do
  - agent_pksign
  source_file: /src/gnupg/agent/pksign.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - initialize_module_cache
  - deinitialize_module_cache
  - init_encryption
  - release_data
  - new_data
  - insert_to_timer_list_new
  - insert_to_timer_list
  - remove_from_timer_list
  - remove_from_timer_list_new
  - compute_expiration
  - update_expiration
  - do_expire
  - agent_cache_expiration
  - agent_flush_cache
  - cache_mode_equal
  - agent_put_cache
  - agent_get_cache
  - agent_store_cache_hit
  source_file: /src/gnupg/agent/cache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEF_CACHE_TTL_DATA
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/agent/cache.c
      type_or_value: '(10 * 60)  '
    - item_type: preproc_def
      name: ENCRYPTION_KEYSIZE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/gnupg/agent/cache.c
      type_or_value: (128/8)
    - item_type: preproc_def
      name: CACHE_EXPIRE_UNUSED
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/gnupg/agent/cache.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CACHE_EXPIRE_LAST_ACCESS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/gnupg/agent/cache.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CACHE_EXPIRE_CREATION
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/gnupg/agent/cache.c
      type_or_value: '2'
    structs:
    - fields:
      - name: totallen
        type: int
      - name: data[1]
        type: char
      item_type: struct
      name: secret_data_s
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/gnupg/agent/cache.c
    - fields:
      - name: next
        type: ITEM
      - name: tv_sec
        type: int
      - name: reason
        type: int
      item_type: struct
      name: timer_s
      pos:
        line_end: 63
        line_start: 59
        source_file: /src/gnupg/agent/cache.c
    - fields:
      - name: next
        type: ITEM
      - name: created
        type: time_t
      - name: accessed
        type: time_t
      - name: ttl
        type: int
      - name: '*pw'
        type: struct secret_data_s
      - name: cache_mode
        type: cache_mode_t
      - name: restricted
        type: int
      - name: t
        type: struct timer_s
      - name: key[1]
        type: char
      item_type: struct
      name: cache_item_s
      pos:
        line_end: 79
        line_start: 69
        source_file: /src/gnupg/agent/cache.c
    typedefs:
    - item_type: typedef
      name: '*ITEM'
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/gnupg/agent/cache.c
      type: cache_item_s
    union: []
- function_names:
  - check_ldap_uri_p
  - test_ldap_uri_p
  - cmp
  - check_ldap_parse_uri
  - test_ldap_parse_uri
  - check_ldap_escape_filter
  - test_ldap_escape_filter
  - main
  source_file: /src/gnupg/dirmngr/t-ldap-parse-uri.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/gnupg/dirmngr/t-ldap-parse-uri.c
      type_or_value: '"t-ldap-parse-uri"'
    structs:
    - fields:
      - name: '*uri'
        type: char
      - name: result
        type: int
      item_type: struct
      name: test_ldap_uri_p
      pos:
        line_end: 33
        line_start: 29
        source_file: /src/gnupg/dirmngr/t-ldap-parse-uri.c
    - fields:
      - name: '*uri'
        type: char
      - name: '*scheme'
        type: char
      - name: '*host'
        type: char
      - name: port
        type: int
      - name: use_tls
        type: int
      - name: '*path'
        type: char
      - name: '*auth'
        type: char
      - name: '*password'
        type: char
      item_type: struct
      name: test_ldap_parse_uri
      pos:
        line_end: 97
        line_start: 87
        source_file: /src/gnupg/dirmngr/t-ldap-parse-uri.c
    - fields:
      - name: '*filter'
        type: char
      - name: '*result'
        type: char
      item_type: struct
      name: test_ldap_escape_filter
      pos:
        line_end: 221
        line_start: 217
        source_file: /src/gnupg/dirmngr/t-ldap-parse-uri.c
    typedefs: []
    union: []
- function_names:
  - npth_unprotect
  - npth_protect
  - my_strusage
  - main
  - catch_alarm
  - alarm_thread
  - set_timeout
  - connect_ldap
  - print_ldap_entries
  - fetch_ldap
  - process_filter
  source_file: /src/gnupg/dirmngr/dirmngr_ldap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LDAP_DEPRECATED
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/dirmngr/dirmngr_ldap.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_LDAP_TIMEOUT
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/gnupg/dirmngr/dirmngr_ldap.c
      type_or_value: '15 '
    structs:
    - fields:
      - name: quiet
        type: int
      - name: verbose
        type: int
      - name: timeout
        type: my_ldap_timeval_t
      - name: alarm_timeout
        type: unsigned int
      - name: multi
        type: int
      - name: starttls
        type: int
      - name: ldaptls
        type: int
      - name: ntds
        type: int
      - name: areconly
        type: int
      - name: outstream
        type: estream_t
      - name: '*proxy'
        type: char
      - name: '*user'
        type: char
      - name: '*pass'
        type: char
      - name: '*host'
        type: char
      - name: port
        type: int
      - name: '*base'
        type: char
      - name: '*attr'
        type: char
      item_type: struct
      name: opt
      pos:
        line_end: 151
        line_start: 128
        source_file: /src/gnupg/dirmngr/dirmngr_ldap.c
    typedefs:
    - item_type: typedef
      name: my_ldap_timeval_t
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/gnupg/dirmngr/dirmngr_ldap.c
      type: LDAP_TIMEVAL
    - item_type: typedef
      name: my_ldap_timeval_t
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/gnupg/dirmngr/dirmngr_ldap.c
      type: timeval
    union: []
- function_names:
  - gnupg_http_tls_verify_cb
  - gnupg_http_tls_verify_cb
  source_file: /src/gnupg/dirmngr/http-ntbtls.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ldap2epochtime
  - tm2ldaptime
  - epoch2ldaptime
  - my_ldap_value_free
  - my_ldap_return_with_check
  - my_ldap_parse_result
  - my_ldap_parse_page_control
  - ks_ldap_help_variables
  - getval_for_filter
  - ks_ldap_help
  - ks_ldap_new_state
  - ks_ldap_clear_state
  - ks_ldap_free_state
  - ks_ldap_prepare_my_state
  - keyspec_to_ldap_filter
  - interrogate_ldap_dn
  - my_ldap_connect
  - extract_keys
  - no_ldap_due_to_tor
  - return_one_keyblock
  - return_all_attributes
  - search_and_parse
  - fetch_rootdse
  - map_rid_to_dn
  - basedn_from_rootdse
  - ks_ldap_get
  - ks_ldap_search
  - modlist_add
  - modlist_lookup
  - modlist_dump
  - modlist_free
  - modlists_join
  - uncescape
  - extract_attributes
  - ks_ldap_put
  - ks_ldap_del
  - ks_ldap_query
  source_file: /src/gnupg/dirmngr/ks-engine-ldap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WINVER
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/gnupg/dirmngr/ks-engine-ldap.c
      type_or_value: '0x0500  '
    - item_type: preproc_def
      name: SERVERINFO_REALLDAP
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/gnupg/dirmngr/ks-engine-ldap.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: SERVERINFO_PGPKEYV2
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/dirmngr/ks-engine-ldap.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: SERVERINFO_SCHEMAV2
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/gnupg/dirmngr/ks-engine-ldap.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: SERVERINFO_NTDS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/gnupg/dirmngr/ks-engine-ldap.c
      type_or_value: '8 '
    - item_type: preproc_def
      name: SERVERINFO_GENERIC
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/gnupg/dirmngr/ks-engine-ldap.c
      type_or_value: '16 '
    - item_type: preproc_def
      name: SERVERINFO_CNFPR
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/gnupg/dirmngr/ks-engine-ldap.c
      type_or_value: '32 '
    - item_type: preproc_def
      name: PAGE_SIZE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/gnupg/dirmngr/ks-engine-ldap.c
      type_or_value: '100'
    structs:
    - fields:
      - name: '*ldap_conn'
        type: LDAP
      - name: '*message'
        type: LDAPMessage
      - name: '*msg_iter'
        type: LDAPMessage
      - name: serverinfo
        type: unsigned int
      - name: scope
        type: int
      - name: '*basedn'
        type: char
      - name: '*keyspec'
        type: char
      - name: '*filter'
        type: char
      - name: '*pagecookie'
        type: struct berval
      - name: pageno
        type: unsigned int
      - name: total
        type: unsigned int
      - name: more_pages
        type: int
      item_type: struct
      name: ks_engine_ldap_local_s
      pos:
        line_end: 83
        line_start: 69
        source_file: /src/gnupg/dirmngr/ks-engine-ldap.c
    typedefs: []
    union: []
- function_names:
  - my_select
  - my_accept
  - my_select
  - my_accept
  - sock_close
  - sock_close
  - deinit_sockets
  - init_sockets
  - _my_socket_new
  - my_socket_new
  - _my_socket_ref
  - my_socket_ref
  - _my_socket_unref
  - my_socket_unref
  - my_gnutls_read
  - my_gnutls_write
  - my_ntbtls_verify_cb
  - fp_onclose_notification
  - make_header_line
  - http_set_verbose
  - http_register_tls_callback
  - http_register_tls_ca
  - http_register_cfg_ca
  - http_register_netactivity_cb
  - notify_netactivity
  - close_tls_session
  - session_unref
  - http_session_unref
  - http_session_release
  - make_fp_write
  - make_fp_read
  - http_session_new
  - http_session_ref
  - http_session_set_log_cb
  - http_session_set_timeout
  - http_open
  - http_raw_connect
  - http_start_data
  - http_wait_response
  - http_open_document
  - http_close
  - http_get_read_ptr
  - http_get_write_ptr
  - http_get_status_code
  - http_get_tls_info
  - parse_uri
  - http_parse_uri
  - http_release_parsed_uri
  - do_parse_uri
  - remove_escapes
  - escape_data
  - insert_escapes
  - http_escape_string
  - http_escape_data
  - parse_tuple
  - is_hostname_port
  - release_proxy_info
  - w32_get_internet_session
  - w32_get_proxy
  - get_proxy_for_url
  - send_request_basic_checks
  - send_request_set_sni
  - run_ntbtls_handshake
  - run_gnutls_handshake
  - proxy_get_token
  - run_proxy_connect
  - mk_proxy_request
  - mk_std_request
  - send_request
  - build_rel_path
  - capitalize_header_name
  - store_header
  - http_get_header
  - http_get_header_names
  - parse_response
  - start_server
  - use_socks
  - my_sock_new_for_addr
  - my_wsagetlasterror
  - connect_with_timeout
  - RESTORE_BLOCKING
  - RESTORE_BLOCKING
  - connect_server
  - read_server
  - write_server
  - cookie_read
  - cookie_write
  - simple_cookie_read
  - simple_cookie_write
  - send_gnutls_bye
  - cookie_close
  - http_verify_server_credentials
  - uri_query_lookup
  - uri_query_value
  - same_host_p
  - http_prepare_redirect
  - http_status2string
  - http_reinitialize
  source_file: /src/gnupg/dirmngr/http.c
  types:
    enum:
    - enumerators:
      - name: AUTH_NGT_NONE
        value: '0'
      - name: AUTH_NGT_RCVD
        value: '1'
      - name: AUTH_NGT_SENT
        value: '2'
      item_type: enum
      name: auth_negotiate_states
      pos:
        line_end: 253
        line_start: 248
        source_file: /src/gnupg/dirmngr/http.c
    preproc_defs:
    - item_type: preproc_def
      name: SECURITY_WIN32
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/gnupg/dirmngr/http.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EAGAIN
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/gnupg/dirmngr/http.c
      type_or_value: EWOULDBLOCK
    - item_type: preproc_def
      name: INADDR_NONE
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/gnupg/dirmngr/http.c
      type_or_value: ((unsigned long)(-1))
    - item_type: preproc_def
      name: HTTP_PROXY_ENV
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/gnupg/dirmngr/http.c
      type_or_value: '"http_proxy"'
    - item_type: preproc_def
      name: MAX_LINELEN
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/gnupg/dirmngr/http.c
      type_or_value: '20000  '
    - item_type: preproc_def
      name: VALID_URI_CHARS
      pos:
        line_end: 137
        line_start: 133
        source_file: /src/gnupg/dirmngr/http.c
      type_or_value: "\"abcdefghijklmnopqrstuvwxyz\"   \\\n                        \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"
        \  \\\n                        \"01234567890@\"                 \\\n                        \"!\\\"#$%&'()*+,-./:;<=>?[\\\\]^_{|}~\""
    - item_type: preproc_def
      name: HTTP_SESSION_MAGIC
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/gnupg/dirmngr/http.c
      type_or_value: '0x0068545470534553 '
    - item_type: preproc_def
      name: HTTP_SESSION_MAGIC
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/gnupg/dirmngr/http.c
      type_or_value: '0x68547365         '
    - item_type: preproc_def
      name: HTTP_CONTEXT_MAGIC
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/gnupg/dirmngr/http.c
      type_or_value: '0x0068545470435458 '
    - item_type: preproc_def
      name: HTTP_CONTEXT_MAGIC
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/gnupg/dirmngr/http.c
      type_or_value: '0x68546378         '
    - item_type: preproc_def
      name: REQ_WINSOCK_MAJOR
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/gnupg/dirmngr/http.c
      type_or_value: '1'
    - item_type: preproc_def
      name: REQ_WINSOCK_MINOR
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/gnupg/dirmngr/http.c
      type_or_value: '1'
    - item_type: preproc_def
      name: REQ_WINSOCK_MAJOR
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/gnupg/dirmngr/http.c
      type_or_value: '2'
    - item_type: preproc_def
      name: REQ_WINSOCK_MINOR
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/gnupg/dirmngr/http.c
      type_or_value: '2'
    structs:
    - fields:
      - name: fd
        type: assuan_fd_t
      - name: refcount
        type: int
      item_type: struct
      name: my_socket_s
      pos:
        line_end: 184
        line_start: 180
        source_file: /src/gnupg/dirmngr/http.c
    - fields:
      - name: sock
        type: my_socket_t
      - name: session
        type: http_session_t
      - name: use_tls
        type: int
      - name: pending
        type: "struct {\n    size_t size;\n    size_t len;\n    char *data;\n  }"
      - name: content_length
        type: uint64_t
      - name: content_length_valid
        type: unsigned int
      - name: up_to_empty_line
        type: unsigned int
      - name: last_was_lf
        type: unsigned int
      - name: last_was_lfcr
        type: unsigned int
      item_type: struct
      name: cookie_s
      pos:
        line_end: 232
        line_start: 198
        source_file: /src/gnupg/dirmngr/http.c
    - fields:
      - name: uri
        type: parsed_uri_t
      - name: is_http_proxy
        type: int
      - name: '*outtoken'
        type: unsigned char
      - name: outtoklen
        type: unsigned long
      item_type: struct
      name: proxy_info_s
      pos:
        line_end: 272
        line_start: 256
        source_file: /src/gnupg/dirmngr/http.c
    - fields:
      - name: magic
        type: unsigned long
      - name: refcount
        type: int
      - name: tls_session
        type: tls_session_t
      - name: verify
        type: "struct {\n    int done;      /* Verifciation has been done.  */\n    int
          rc;        /* TLS verification return code.  */\n    unsigned int status;
          /* Verification status.  */\n  }"
      - name: '*servername'
        type: char
      - name: "(*cert_log_cb) (http_session_t, gpg_error_t, const char *,\n                       const
          void **, size_t *)"
        type: void
      - name: flags
        type: unsigned int
      - name: verify_cb
        type: http_verify_cb_t
      - name: '*verify_cb_value'
        type: void
      - name: connect_timeout
        type: unsigned int
      item_type: struct
      name: http_session_s
      pos:
        line_end: 314
        line_start: 283
        source_file: /src/gnupg/dirmngr/http.c
    - fields:
      - name: '*next'
        type: struct header_s
      - name: '*value'
        type: char
      - name: name[1]
        type: char
      item_type: struct
      name: header_s
      pos:
        line_end: 323
        line_start: 318
        source_file: /src/gnupg/dirmngr/http.c
    - fields:
      - name: magic
        type: unsigned long
      - name: status_code
        type: unsigned int
      - name: sock
        type: my_socket_t
      - name: in_data
        type: unsigned int
      - name: is_http_0_9
        type: unsigned int
      - name: keep_alive
        type: unsigned int
      - name: fp_read
        type: estream_t
      - name: fp_write
        type: estream_t
      - name: '*write_cookie'
        type: void
      - name: '*read_cookie'
        type: void
      - name: session
        type: http_session_t
      - name: uri
        type: parsed_uri_t
      - name: req_type
        type: http_req_t
      - name: '*buffer'
        type: char
      - name: buffer_size
        type: size_t
      - name: flags
        type: unsigned int
      - name: headers
        type: header_t
      item_type: struct
      name: http_context_s
      pos:
        line_end: 354
        line_start: 335
        source_file: /src/gnupg/dirmngr/http.c
    - fields:
      - name: '*from'
        type: char
      - name: '*to'
        type: char
      item_type: struct
      name: "allow[] =\n  {\n    { \"protonmail.com\", \"api.protonmail.com\" },\n
        \   { NULL,             \"api.protonmail.ch\"  },\n    { \"protonmail.ch\",
        \ \"api.protonmail.com\" },\n    { NULL,             \"api.protonmail.ch\"
        \ },\n    { \"pm.me\",          \"api.protonmail.ch\"  }\n  }"
      pos:
        line_end: 4371
        line_start: 4367
        source_file: /src/gnupg/dirmngr/http.c
    typedefs:
    - item_type: typedef
      name: tls_session_t
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/gnupg/dirmngr/http.c
      type: ntbtls_t
    - item_type: typedef
      name: tls_session_t
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/gnupg/dirmngr/http.c
      type: gnutls_session_t
    - item_type: typedef
      name: '*my_socket_t'
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/gnupg/dirmngr/http.c
      type: my_socket_s
    - item_type: typedef
      name: '*cookie_t'
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/gnupg/dirmngr/http.c
      type: cookie_s
    - item_type: typedef
      name: '*proxy_info_t'
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/gnupg/dirmngr/http.c
      type: proxy_info_s
    - item_type: typedef
      name: '*header_t'
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/gnupg/dirmngr/http.c
      type: header_s
    union: []
- function_names:
  - init_cache_lock
  - acquire_cache_read_lock
  - acquire_cache_write_lock
  - release_cache_lock
  - compare_serialno
  - hexsn_to_sexp
  - cert_compute_fpr
  - clean_cache_slot
  - put_cert
  - load_certs_from_dir
  - load_certs_from_file
  - load_certs_from_w32_store
  - load_certs_from_system
  - cert_cache_init
  - cert_cache_deinit
  - cert_cache_print_stats
  - cert_cache_any_in_class
  - cache_cert
  - cache_cert_silent
  - get_cert_byfpr
  - get_cert_byhexfpr
  - get_cert_bysn
  - get_cert_byissuer
  - get_cert_bysubject
  - classify_pattern
  - get_certs_bypattern
  - ''
  - PATTERN_ISSUER
  - PATTERN_SUBJECT
  - is_trusted_cert
  - find_issuing_cert
  - read_certlist_from_stream
  - release_certlist
  source_file: /src/gnupg/dirmngr/certcache.c
  types:
    enum:
    - enumerators:
      - name: PATTERN_UNKNOWN
        value: '0'
      - name: PATTERN_EMAIL
      - name: PATTERN_EMAIL_SUBSTR
      - name: PATTERN_FINGERPRINT16
      - name: PATTERN_FINGERPRINT20
      - name: PATTERN_SHORT_KEYID
      - name: PATTERN_LONG_KEYID
      - name: PATTERN_SUBJECT
      - name: PATTERN_SERIALNO
      - name: PATTERN_SERIALNO_ISSUER
      - name: PATTERN_ISSUER
      - name: PATTERN_SUBSTR
      item_type: enum
      name: pattern_class
      pos:
        line_end: 52
        line_start: 38
        source_file: /src/gnupg/dirmngr/certcache.c
    preproc_defs:
    - item_type: preproc_def
      name: MAX_NONPERM_CACHED_CERTS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/gnupg/dirmngr/certcache.c
      type_or_value: '1000'
    structs:
    - fields:
      - name: '*next'
        type: struct cert_item_s
      - name: cert
        type: ksba_cert_t
      - name: fpr[20]
        type: unsigned char
      - name: '*issuer_dn'
        type: char
      - name: sn
        type: ksba_sexp_t
      - name: '*subject_dn'
        type: char
      - name: permanent
        type: unsigned int
      - name: trustclasses
        type: unsigned int
      item_type: struct
      name: cert_item_s
      pos:
        line_end: 76
        line_start: 59
        source_file: /src/gnupg/dirmngr/certcache.c
    - fields:
      - name: '*name'
        type: char
      item_type: struct
      name: "table[] = {\n#ifdef DEFAULT_TRUST_STORE_FILE\n    { DEFAULT_TRUST_STORE_FILE
        }\n#else\n    { \"/etc/ssl/ca-bundle.pem\" },\n    { \"/etc/ssl/certs/ca-certificates.crt\"
        },\n    { \"/etc/pki/tls/cert.pem\" },\n    { \"/usr/local/share/certs/ca-root-nss.crt\"
        },\n    { \"/etc/ssl/cert.pem\" }\n#endif /*!DEFAULT_TRUST_STORE_FILE*/\n
        \ }"
      pos:
        line_end: 704
        line_start: 702
        source_file: /src/gnupg/dirmngr/certcache.c
    typedefs:
    - item_type: typedef
      name: '*cert_item_t'
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/gnupg/dirmngr/certcache.c
      type: cert_item_s
    - item_type: typedef
      name: "(WINAPI *CERTOPENSYSTEMSTORE)\n  (HCRYPTPROV hProv, LPCSTR szSubsystemProtocol)"
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/gnupg/dirmngr/certcache.c
      type: HCERTSTORE
    - item_type: typedef
      name: "(WINAPI *CERTENUMCERTIFICATESINSTORE)\n  (HCERTSTORE hCertStore, PCCERT_CONTEXT
        pPrevCertContext)"
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/gnupg/dirmngr/certcache.c
      type: PCCERT_CONTEXT
    - item_type: typedef
      name: "(WINAPI *CERTCLOSESTORE)\n  (HCERTSTORE hCertStore,DWORD dwFlags)"
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/gnupg/dirmngr/certcache.c
      type: WINBOOL
    union: []
- function_names:
  - ldapserver_list_free
  - ldapserver_parse_one
  source_file: /src/gnupg/dirmngr/ldapserver.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ldapserver_iter_next
  - ldapserver_iter_end_p
  - ldapserver_iter_begin
  source_file: /src/gnupg/dirmngr/ldapserver.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ctrl
        type: ctrl_t
      - name: group
        type: enum { LDAPSERVER_SESSION, LDAPSERVER_GLOBAL }
      - name: server
        type: ldap_server_t
      item_type: struct
      name: ldapserver_iter
      pos:
        line_end: 39
        line_start: 34
        source_file: /src/gnupg/dirmngr/ldapserver.h
    typedefs: []
    union: []
- function_names:
  - ldap_err_to_gpg_err
  - ldap_to_gpg_err
  - ldap_parse_extfilter
  - isotime2rfc4517
  - rfc4517toisotime
  source_file: /src/gnupg/dirmngr/ldap-misc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/dirmngr/ks-engine.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DIRMNGR_KS_ENGINE_H
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/gnupg/dirmngr/ks-engine.h
      type_or_value: '1'
    - item_type: preproc_def
      name: KS_GET_FLAG_ONLY_LDAP
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/gnupg/dirmngr/ks-engine.h
      type_or_value: '1'
    - item_type: preproc_def
      name: KS_GET_FLAG_FIRST
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/gnupg/dirmngr/ks-engine.h
      type_or_value: '2'
    - item_type: preproc_def
      name: KS_GET_FLAG_NEXT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/gnupg/dirmngr/ks-engine.h
      type_or_value: '4'
    - item_type: preproc_def
      name: KS_GET_FLAG_ONLY_AD
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/dirmngr/ks-engine.h
      type_or_value: '8  '
    - item_type: preproc_def
      name: KS_GET_FLAG_ROOTDSE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/gnupg/dirmngr/ks-engine.h
      type_or_value: '16  '
    - item_type: preproc_def
      name: KS_GET_FLAG_SUBST
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/dirmngr/ks-engine.h
      type_or_value: '32  '
    - item_type: preproc_def
      name: KS_HTTP_FETCH_NOCACHE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/gnupg/dirmngr/ks-engine.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: KS_HTTP_FETCH_TRUST_CFG
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/gnupg/dirmngr/ks-engine.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: KS_HTTP_FETCH_NO_CRL
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/gnupg/dirmngr/ks-engine.h
      type_or_value: '4  '
    - item_type: preproc_def
      name: KS_HTTP_FETCH_ALLOW_DOWNGRADE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/gnupg/dirmngr/ks-engine.h
      type_or_value: '8  '
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/dirmngr/http.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTP_PARSE_NO_SCHEME_CHECK
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/gnupg/dirmngr/http.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*next'
        type: struct uri_tuple_s
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      - name: valuelen
        type: size_t
      - name: no_value
        type: int
      item_type: struct
      name: uri_tuple_s
      pos:
        line_end: 44
        line_start: 36
        source_file: /src/gnupg/dirmngr/http.h
    - fields:
      - name: '*original'
        type: char
      - name: '*scheme'
        type: char
      - name: is_http
        type: unsigned int
      - name: is_ldap
        type: unsigned int
      - name: use_tls
        type: unsigned int
      - name: opaque
        type: unsigned int
      - name: v6lit
        type: unsigned int
      - name: onion
        type: unsigned int
      - name: explicit_port
        type: unsigned int
      - name: ad_current
        type: unsigned int
      - name: '*auth'
        type: char
      - name: '*host'
        type: char
      - name: port
        type: unsigned short
      - name: off_host
        type: unsigned short
      - name: off_path
        type: unsigned short
      - name: '*path'
        type: char
      - name: params
        type: uri_tuple_t
      - name: query
        type: uri_tuple_t
      - name: buffer[1]
        type: char
      item_type: struct
      name: parsed_uri_s
      pos:
        line_end: 69
        line_start: 47
        source_file: /src/gnupg/dirmngr/http.h
    - fields:
      - name: redirects_left
        type: unsigned int
      - name: ctrl
        type: ctrl_t
      - name: '*orig_url'
        type: char
      - name: orig_onion
        type: unsigned int
      - name: orig_https
        type: unsigned int
      - name: silent
        type: unsigned int
      - name: allow_downgrade
        type: unsigned int
      - name: trust_location
        type: unsigned int
      - name: restrict_redir
        type: unsigned int
      item_type: struct
      name: http_redir_info_s
      pos:
        line_end: 120
        line_start: 109
        source_file: /src/gnupg/dirmngr/http.h
    typedefs:
    - item_type: typedef
      name: '*uri_tuple_t'
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/gnupg/dirmngr/http.h
      type: uri_tuple_s
    - item_type: typedef
      name: '*parsed_uri_t'
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/gnupg/dirmngr/http.h
      type: parsed_uri_s
    - item_type: typedef
      name: '*http_session_t'
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/gnupg/dirmngr/http.h
      type: http_session_s
    - item_type: typedef
      name: '*http_t'
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/gnupg/dirmngr/http.h
      type: http_context_s
    - item_type: typedef
      name: http_redir_info_t
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/gnupg/dirmngr/http.h
      type: http_redir_info_s
    - item_type: typedef
      name: "(*http_verify_cb_t) (void *opaque,\n                                         http_t
        http,\n                                         http_session_t session,\n
        \                                        unsigned int flags,\n                                         void
        *tls_context)"
      pos:
        line_end: 130
        line_start: 126
        source_file: /src/gnupg/dirmngr/http.h
      type: gpg_error_t
    union: []
- function_names: []
  source_file: /src/gnupg/dirmngr/http-common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/dirmngr/ldap-parse-uri.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ks_kdns_help
  - ks_kdns_fetch
  source_file: /src/gnupg/dirmngr/ks-engine-kdns.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/dirmngr/dns-stuff.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_NUMERICHOST
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/dirmngr/dns-stuff.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: DNS_WITHBRACKET
      pos:
        line_end: 48
        line_start: 46
        source_file: /src/gnupg/dirmngr/dns-stuff.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: DNS_CERTTYPE_ANY
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/dirmngr/dns-stuff.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: DNS_CERTTYPE_PKIX
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/gnupg/dirmngr/dns-stuff.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: DNS_CERTTYPE_SPKI
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/gnupg/dirmngr/dns-stuff.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: DNS_CERTTYPE_PGP
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/gnupg/dirmngr/dns-stuff.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: DNS_CERTTYPE_IPKIX
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/gnupg/dirmngr/dns-stuff.h
      type_or_value: '4 '
    - item_type: preproc_def
      name: DNS_CERTTYPE_ISPKI
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/gnupg/dirmngr/dns-stuff.h
      type_or_value: '5 '
    - item_type: preproc_def
      name: DNS_CERTTYPE_IPGP
      pos:
        line_end: 61
        line_start: 59
        source_file: /src/gnupg/dirmngr/dns-stuff.h
      type_or_value: '6 '
    - item_type: preproc_def
      name: DNS_CERTTYPE_ACPKIX
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/gnupg/dirmngr/dns-stuff.h
      type_or_value: '7 '
    - item_type: preproc_def
      name: DNS_CERTTYPE_IACPKIX
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/gnupg/dirmngr/dns-stuff.h
      type_or_value: '8 '
    - item_type: preproc_def
      name: DNS_CERTTYPE_URI
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/gnupg/dirmngr/dns-stuff.h
      type_or_value: '253 '
    - item_type: preproc_def
      name: DNS_CERTTYPE_OID
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/gnupg/dirmngr/dns-stuff.h
      type_or_value: '254 '
    - item_type: preproc_def
      name: DNS_CERTTYPE_RRBASE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/gnupg/dirmngr/dns-stuff.h
      type_or_value: '1024 '
    - item_type: preproc_def
      name: DNS_CERTTYPE_RR61
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/gnupg/dirmngr/dns-stuff.h
      type_or_value: (DNS_CERTTYPE_RRBASE + 61)
    structs:
    - fields:
      - name: next
        type: dns_addrinfo_t
      - name: family
        type: int
      - name: socktype
        type: int
      - name: protocol
        type: int
      - name: addrlen
        type: int
      - name: addr[1]
        type: struct sockaddr_storage
      item_type: struct
      name: dns_addrinfo_s
      pos:
        line_end: 81
        line_start: 73
        source_file: /src/gnupg/dirmngr/dns-stuff.h
    - fields:
      - name: priority
        type: unsigned short
      - name: weight
        type: unsigned short
      - name: port
        type: unsigned short
      - name: run_count
        type: int
      - name: target[1025]
        type: char
      item_type: struct
      name: srventry
      pos:
        line_end: 91
        line_start: 84
        source_file: /src/gnupg/dirmngr/dns-stuff.h
    typedefs:
    - item_type: typedef
      name: '*dns_addrinfo_t'
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/gnupg/dirmngr/dns-stuff.h
      type: dns_addrinfo_s
    union: []
- function_names:
  - cdb_init
  - cdb_free
  - cdb_read
  - cdb_find
  - cdb_findinit
  - cdb_findnext
  - cdb_bread
  - cdb_seek
  - cdb_unpack
  - cdb_make_add
  - cdb_make_put
  - match
  - make_find
  - cdb_make_exists
  - cdb_pack
  - cdb_make_start
  - ewrite
  - make_write
  - cdb_make_finish_internal
  - cdb_make_free
  - cdb_make_finish
  - cdb_hash
  source_file: /src/gnupg/dirmngr/cdblib.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAP_FAILED
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/gnupg/dirmngr/cdblib.c
      type_or_value: ((void*)-1)
    - item_type: preproc_def
      name: EPROTO
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/gnupg/dirmngr/cdblib.c
      type_or_value: EINVAL
    - item_type: preproc_def
      name: SEEK_SET
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/gnupg/dirmngr/cdblib.c
      type_or_value: '0'
    structs:
    - fields:
      - name: hval
        type: cdbi_t
      - name: rpos
        type: cdbi_t
      item_type: struct
      name: cdb_rec
      pos:
        line_end: 90
        line_start: 87
        source_file: /src/gnupg/dirmngr/cdblib.c
    - fields:
      - name: '*next'
        type: struct cdb_rl
      - name: cnt
        type: cdbi_t
      - name: rec[254]
        type: struct cdb_rec
      item_type: struct
      name: cdb_rl
      pos:
        line_end: 96
        line_start: 92
        source_file: /src/gnupg/dirmngr/cdblib.c
    typedefs: []
    union: []
- function_names:
  - test_ldap_parse_extfilter
  - main
  source_file: /src/gnupg/dirmngr/t-ldap-misc.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*string'
        type: char
      - name: '*base'
        type: char
      - name: '*filter'
        type: char
      - name: scope
        type: int
      - name: ec
        type: gpg_err_code_t
      item_type: struct
      name: "tests[] =\n  {\n   { \"^CN=foo, OU=My Users&(objectClasses=*)\",\n     \"CN=foo,
        OU=My Users\", \"(objectClasses=*)\",\n     -1 },\n   { \"^CN=foo, OU=My Users&base&(objectClasses=*)\",\n
        \    \"CN=foo, OU=My Users\", \"(objectClasses=*)\",\n     LDAP_SCOPE_BASE
        },\n   { \"^CN=foo, OU=My Users&one&(objectClasses=*)\",\n     \"CN=foo, OU=My
        Users\", \"(objectClasses=*)\",\n     LDAP_SCOPE_ONELEVEL },\n   { \"^CN=foo,
        OU=My Users&sub&(objectClasses=*)\",\n     \"CN=foo, OU=My Users\", \"(objectClasses=*)\",\n
        \    LDAP_SCOPE_SUBTREE },\n   /* { \"^CN=foo, OU=My Users&children&(objectClasses=*)\",
        */\n   /*   \"CN=foo, OU=My Users\", \"(objectClasses=*)\", */\n   /*   LDAP_SCOPE_CHILDREN
        }, */\n   { \"^CN=foo, OU=My Users&\",\n     \"CN=foo, OU=My Users\", NULL,\n
        \    -1 },\n   { \"^CN=foo, OU=My Users&sub&\",\n     \"CN=foo, OU=My Users\",
        NULL,\n     LDAP_SCOPE_SUBTREE },\n   /* { \"^&children&(objectClasses=*)\",
        */\n   /*   \"\", \"(objectClasses=*)\", */\n   /*   LDAP_SCOPE_CHILDREN },
        */\n   { \"^CN=foo, OU=My &&Users&base&(objectClasses=*)\",\n     \"CN=foo,
        OU=My &Users\", \"(objectClasses=*)\",\n     LDAP_SCOPE_BASE },\n   { \"^CN=foo,
        OU=My Users&&&base&(objectClasses=*)\",\n     \"CN=foo, OU=My Users&\", \"(objectClasses=*)\",\n
        \    LDAP_SCOPE_BASE },\n   { \"^CN=foo, OU=My Users\",\n     NULL, NULL,\n
        \    LDAP_SCOPE_BASE, GPG_ERR_SYNTAX },\n   { \"^CN=foo, OU=My Users&base(objectClasses=*)\",\n
        \    NULL, NULL,\n     LDAP_SCOPE_BASE, GPG_ERR_SYNTAX },\n   { \"^CN=foo,
        OU=My Users&base&objectClasses=*)\",\n     NULL, NULL,\n     LDAP_SCOPE_BASE,
        GPG_ERR_SYNTAX },\n   { \"^CN=foo, OU=My Users&base&(objectClasses=*\",\n
        \    NULL, NULL,\n     LDAP_SCOPE_BASE, GPG_ERR_SYNTAX }\n  }"
      pos:
        line_end: 39
        line_start: 33
        source_file: /src/gnupg/dirmngr/t-ldap-misc.c
    typedefs: []
    union: []
- function_names:
  - unhexify
  - hashify_data
  - hexify_data
  - serial_hex
  - serial_to_buffer
  - unpercent_string
  - canon_sexp_to_gcry
  - get_fingerprint_hexstring
  - get_fingerprint_hexstring_colon
  - dump_serial
  - dump_string
  - dump_cert
  - cert_log_name
  - cert_log_subject
  - cert_log_cb
  - remove_percent_escapes
  - host_and_port_from_url
  - my_estream_ksba_reader_cb
  - create_estream_ksba_reader
  - armor_data
  - copy_stream
  source_file: /src/gnupg/dirmngr/misc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fakecrl_isvalid
  source_file: /src/gnupg/dirmngr/fakecrl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ks_finger_help
  - ks_finger_fetch
  source_file: /src/gnupg/dirmngr/ks-engine-finger.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/dirmngr/certcache.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct certlist_s
      - name: cert
        type: ksba_cert_t
      - name: fpr[20]
        type: unsigned char
      item_type: struct
      name: certlist_s
      pos:
        line_end: 119
        line_start: 114
        source_file: /src/gnupg/dirmngr/certcache.h
    typedefs:
    - item_type: typedef
      name: '*certlist_t'
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/gnupg/dirmngr/certcache.h
      type: certlist_s
    union: []
- function_names:
  - dirmngr_status_printf
  source_file: /src/gnupg/dirmngr/t-support.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DIM
  - DIMof
  - pass
  - fail
  source_file: /src/gnupg/dirmngr/t-support.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DIRMNGR_T_SUPPORT_H
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/dirmngr/t-support.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - hash_domain
  - domaininfo_print_stats
  - domaininfo_is_wkd_not_supported
  - insert_or_update
  - set_no_name_cb
  - domaininfo_set_no_name
  - set_wkd_supported_cb
  - domaininfo_set_wkd_supported
  - set_wkd_not_supported_cb
  - domaininfo_set_wkd_not_supported
  - set_wkd_not_found_cb
  - domaininfo_set_wkd_not_found
  source_file: /src/gnupg/dirmngr/domaininfo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_OF_DOMAINBUCKETS
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/dirmngr/domaininfo.c
      type_or_value: '103'
    - item_type: preproc_def
      name: MAX_DOMAINBUCKET_LEN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/dirmngr/domaininfo.c
      type_or_value: '20'
    structs:
    - fields:
      - name: '*next'
        type: struct domaininfo_s
      - name: no_name
        type: unsigned int
      - name: wkd_not_found
        type: unsigned int
      - name: wkd_supported
        type: unsigned int
      - name: wkd_not_supported
        type: unsigned int
      - name: keepmark
        type: unsigned int
      - name: name[1]
        type: char
      item_type: struct
      name: domaininfo_s
      pos:
        line_end: 51
        line_start: 42
        source_file: /src/gnupg/dirmngr/domaininfo.c
    typedefs:
    - item_type: typedef
      name: '*domaininfo_t'
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/gnupg/dirmngr/domaininfo.c
      type: domaininfo_s
    union: []
- function_names:
  - workqueue_dump_queue
  - workqueue_add_task
  - run_a_task
  - workqueue_run_global_tasks
  - workqueue_run_post_session_tasks
  source_file: /src/gnupg/dirmngr/workqueue.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct wqitem_s
      - name: need_network
        type: unsigned int
      - name: session_id
        type: unsigned int
      - name: func
        type: wqtask_t
      - name: args[1]
        type: char
      item_type: struct
      name: wqitem_s
      pos:
        line_end: 45
        line_start: 29
        source_file: /src/gnupg/dirmngr/workqueue.c
    typedefs:
    - item_type: typedef
      name: '*wqitem_t'
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/gnupg/dirmngr/workqueue.c
      type: wqitem_s
    union: []
- function_names:
  - check_header_constants
  - unknown_criticals
  - check_cert_policy
  - allowed_ca
  - check_revocations
  - is_root_cert
  - validate_cert_chain
  - pk_algo_from_sexp
  - hash_algo_from_buffer
  - uint_from_buffer
  - check_cert_sig
  - check_cert_usage
  - check_cert_use_cert
  - check_cert_use_ocsp
  - check_cert_use_crl
  source_file: /src/gnupg/dirmngr/validate.c
  types:
    enum:
    - enumerators:
      - name: CERT_USAGE_MODE_SIGN
      - name: CERT_USAGE_MODE_CERT
      - name: CERT_USAGE_MODE_VRFY
      - name: CERT_USAGE_MODE_DECR
      - name: CERT_USAGE_MODE_ENCR
      - name: CERT_USAGE_MODE_OCSP
      - name: CERT_USAGE_MODE_CRL
      item_type: enum
      name: cert_usage_modes
      pos:
        line_end: 46
        line_start: 37
        source_file: /src/gnupg/dirmngr/validate.c
    preproc_defs:
    - item_type: preproc_def
      name: X
      pos:
        line_end: 89
        line_start: 87
        source_file: /src/gnupg/dirmngr/validate.c
      type_or_value: "(VALIDATE_FLAG_TRUST_SYSTEM | VALIDATE_FLAG_TRUST_CONFIG  \\\n
        \          | VALIDATE_FLAG_TRUST_HKP | VALIDATE_FLAG_TRUST_HKPSPOOL)"
    structs:
    - fields:
      - name: '*next'
        type: struct chain_item_s
      - name: cert
        type: ksba_cert_t
      - name: fpr[20]
        type: unsigned char
      - name: is_self_signed
        type: int
      - name: is_valid
        type: int
      item_type: struct
      name: chain_item_s
      pos:
        line_end: 59
        line_start: 52
        source_file: /src/gnupg/dirmngr/validate.c
    typedefs:
    - item_type: typedef
      name: '*chain_item_t'
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/gnupg/dirmngr/validate.c
      type: chain_item_s
    union: []
- function_names: []
  source_file: /src/gnupg/dirmngr/dirmngr-status.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/dirmngr/ocsp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PARM_ERROR
  - get_ldapservers_from_ctrl
  - release_uri_item_list
  - release_ctrl_keyservers
  - leave_cmd
  - data_line_write
  - data_line_cookie_write
  - data_line_cookie_close
  - count_colons
  - strcpy_escaped_plus
  - percentplus_line_to_strlist
  - parse_hexstring
  - is_tor_running
  - check_owner_permission
  - do_get_cert_local
  - get_cert_local
  - get_issuing_cert_local
  - get_cert_local_ski
  - get_istrusted_from_client
  - inquire_cert_and_load_crl
  - option_handler
  - cmd_dns_cert
  - proc_wkd_get
  - cmd_wkd_get
  - task_check_wkd_support
  - cmd_ldapserver
  - cmd_isvalid
  - get_fingerprint_from_line
  - cmd_checkcrl
  - cmd_checkocsp
  - lookup_cert_by_url
  - return_one_cert
  - lookup_cert_by_pattern
  - cmd_lookup
  - cmd_loadcrl
  - cmd_listcrls
  - cmd_cachecert
  - cmd_validate
  - make_keyserver_item
  - ensure_keyserver
  - cmd_keyserver
  - cmd_ks_search
  - cmd_ks_get
  - cmd_ks_fetch
  - cmd_ks_put
  - cmd_ks_del
  - cmd_ad_query
  - cmd_timestamp
  - cmd_loadswdb
  - cmd_getinfo
  - cmd_killdirmngr
  - cmd_reloaddirmngr
  - cmd_flushcrls
  - register_commands
  - reset_notify
  - dirmngr_assuan_log_monitor
  - start_command_handler
  - dirmngr_status
  - dirmngr_status_help
  - dirmngr_status_helpf
  - dirmngr_status_printf
  - dirmngr_tick
  source_file: /src/gnupg/dirmngr/server.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WINVER
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/gnupg/dirmngr/server.c
      type_or_value: '0x0500  '
    - item_type: preproc_def
      name: MAX_CERT_LENGTH
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/gnupg/dirmngr/server.c
      type_or_value: (16*1024)
    - item_type: preproc_def
      name: MAX_CERTLIST_LENGTH
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/gnupg/dirmngr/server.c
      type_or_value: ((MAX_CERT_LENGTH * 20 * 4)/3)
    - item_type: preproc_def
      name: MAX_KEYBLOCK_LENGTH
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/gnupg/dirmngr/server.c
      type_or_value: (20*1024*1024)
    - item_type: preproc_def
      name: gpg_error
      pos:
        line_end: 91
        line_start: 89
        source_file: /src/gnupg/dirmngr/server.c
      type_or_value: (e))
    structs:
    - fields:
      - name: assuan_ctx
        type: assuan_context_t
      - name: session_id
        type: unsigned int
      - name: ldapservers
        type: ldap_server_t
      - name: keyservers
        type: uri_item_t
      - name: stopme
        type: int
      - name: tor_state
        type: int
      - name: inhibit_data_logging_count
        type: size_t
      - name: inhibit_data_logging
        type: unsigned int
      - name: inhibit_data_logging_now
        type: unsigned int
      item_type: struct
      name: server_local_s
      pos:
        line_end: 122
        line_start: 95
        source_file: /src/gnupg/dirmngr/server.c
    - fields:
      - name: '*name'
        type: char
      - name: handler
        type: assuan_handler_t
      - name: '* const help'
        type: char
      item_type: struct
      name: "table[] = {\n    { \"DNS_CERT\",   cmd_dns_cert,   hlp_dns_cert },\n
        \   { \"WKD_GET\",    cmd_wkd_get,    hlp_wkd_get },\n    { \"LDAPSERVER\",
        cmd_ldapserver, hlp_ldapserver },\n    { \"ISVALID\",    cmd_isvalid,    hlp_isvalid
        },\n    { \"CHECKCRL\",   cmd_checkcrl,   hlp_checkcrl },\n    { \"CHECKOCSP\",
        \ cmd_checkocsp,  hlp_checkocsp },\n    { \"LOOKUP\",     cmd_lookup,     hlp_lookup
        },\n    { \"LOADCRL\",    cmd_loadcrl,    hlp_loadcrl },\n    { \"LISTCRLS\",
        \  cmd_listcrls,   hlp_listcrls },\n    { \"CACHECERT\",  cmd_cachecert,  hlp_cachecert
        },\n    { \"VALIDATE\",   cmd_validate,   hlp_validate },\n    { \"KEYSERVER\",
        \ cmd_keyserver,  hlp_keyserver },\n    { \"KS_SEARCH\",  cmd_ks_search,  hlp_ks_search
        },\n    { \"KS_GET\",     cmd_ks_get,     hlp_ks_get },\n    { \"KS_FETCH\",
        \  cmd_ks_fetch,   hlp_ks_fetch },\n    { \"KS_PUT\",     cmd_ks_put,     hlp_ks_put
        },\n    { \"KS_DEL\",     cmd_ks_del,     hlp_ks_del },\n    { \"AD_QUERY\",
        \  cmd_ad_query,   hlp_ad_query },\n    { \"GETINFO\",    cmd_getinfo,    hlp_getinfo
        },\n    { \"TIMESTAMP\",  cmd_timestamp,  hlp_timestamp },\n    { \"LOADSWDB\",
        \  cmd_loadswdb,   hlp_loadswdb },\n    { \"KILLDIRMNGR\",cmd_killdirmngr,hlp_killdirmngr
        },\n    { \"RELOADDIRMNGR\",cmd_reloaddirmngr,hlp_reloaddirmngr },\n    {
        \"FLUSHCRLS\",  cmd_flushcrls,  hlp_flushcrls },\n    { NULL, NULL }\n  }"
      pos:
        line_end: 3243
        line_start: 3239
        source_file: /src/gnupg/dirmngr/server.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/dirmngr/crlcache.h
  types:
    enum:
    - enumerators:
      - name: CRL_SIG_OK
        value: '0'
      - name: CRL_SIG_ERROR
      - name: CRL_SIG_NOT_OK
      - name: CRL_TOO_OLD
      - name: CRL_GENERAL_ERROR
      item_type: enum
      name: foo
      pos:
        line_end: 41
        line_start: 34
        source_file: /src/gnupg/dirmngr/crlcache.h
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*crl_cache_entry_t'
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/gnupg/dirmngr/crlcache.h
      type: crl_cache_entry_s
    union: []
- function_names:
  - DNS_POLL2EV
  - DNS_EV2POLL
  - dns_header
  - union
  - dns_p_calcsize
  - dns_p_sizeof
  - dns_p_opcode
  - dns_rr_i_save
  - dns_rr_i_rewind
  - dns_rr_i_count
  - dns_rr_foreach_
  - dns_rr_foreach
  - DNS_OPT_INIT
  - DNS_ANY_INIT
  - DNS_TRACE_ID_C
  - dns_te_datasize
  - DNS_PP_MIN
  - DNS_PP_MAX
  - DNS_PP_NARG_
  - DNS_PP_NARG
  - DNS_PP_CALL
  - DNS_PP_PASTE
  - DNS_PP_XPASTE
  - DNS_PP_STRINGIFY_
  - DNS_PP_STRINGIFY
  - DNS_PP_DEC
  source_file: /src/gnupg/dirmngr/dns.h
  types:
    enum:
    - enumerators:
      - name: DNS_ENOBUFS
        value: DNS_EBASE
      - name: DNS_EUNKNOWN
      - name: DNS_EORDER
      - name: DNS_EILLEGAL
      - name: DNS_ESECTION
      - name: DNS_EADDRESS
      - name: DNS_ENOQUERY
      - name: DNS_ENOANSWER
      - name: DNS_EFETCHED
      - name: DNS_ESERVICE
      - name: DNS_ENONAME
      - name: DNS_ELAST
      - name: DNS_EVERIFY
      - name: DNS_ECONNFIN
      - name: DNS_EFAIL
      item_type: enum
      name: dns_errno
      pos:
        line_end: 122
        line_start: 106
        source_file: /src/gnupg/dirmngr/dns.h
    - enumerators:
      - name: DNS_S_QD
        value: '0x01'
      - name: DNS_S_AN
        value: '0x02'
      - name: DNS_S_AR
        value: '0x08'
      - name: DNS_S_NS
        value: '0x04'
      - name: DNS_S_ALL
        value: '0x0f'
      item_type: enum
      name: dns_section
      pos:
        line_end: 211
        line_start: 197
        source_file: /src/gnupg/dirmngr/dns.h
    - enumerators:
      - name: DNS_C_IN
        value: '1'
      - name: DNS_C_ANY
        value: '255'
      item_type: enum
      name: dns_class
      pos:
        line_end: 218
        line_start: 214
        source_file: /src/gnupg/dirmngr/dns.h
    - enumerators:
      - name: DNS_T_A
        value: '1'
      - name: DNS_T_CNAME
        value: '5'
      - name: DNS_T_NS
        value: '2'
      - name: DNS_T_PTR
        value: '12'
      - name: DNS_T_SOA
        value: '6'
      - name: DNS_T_MX
        value: '15'
      - name: DNS_T_TXT
        value: '16'
      - name: DNS_T_AAAA
        value: '28'
      - name: DNS_T_SRV
        value: '33'
      - name: DNS_T_OPT
        value: '41'
      - name: DNS_T_SPF
        value: '99'
      - name: DNS_T_AXFR
        value: '252'
      - name: DNS_T_ALL
        value: '255'
      - name: DNS_T_SSHFP
        value: '44'
      item_type: enum
      name: dns_type
      pos:
        line_end: 237
        line_start: 221
        source_file: /src/gnupg/dirmngr/dns.h
    - enumerators:
      - name: DNS_OP_QUERY
        value: '0'
      - name: DNS_OP_STATUS
        value: '2'
      - name: DNS_OP_NOTIFY
        value: '4'
      - name: DNS_OP_UPDATE
        value: '5'
      - name: DNS_OP_IQUERY
        value: '1'
      item_type: enum
      name: dns_opcode
      pos:
        line_end: 246
        line_start: 240
        source_file: /src/gnupg/dirmngr/dns.h
    - enumerators:
      - name: DNS_RC_NOERROR
        value: '0'
      - name: DNS_RC_NOTIMP
        value: '4'
      - name: DNS_RC_SERVFAIL
        value: '2'
      - name: DNS_RC_NXDOMAIN
        value: '3'
      - name: DNS_RC_FORMERR
        value: '1'
      - name: DNS_RC_REFUSED
        value: '5'
      - name: DNS_RC_YXDOMAIN
        value: '6'
      - name: DNS_RC_YXRRSET
        value: '7'
      - name: DNS_RC_NXRRSET
        value: '8'
      - name: DNS_RC_NOTAUTH
        value: '9'
      - name: DNS_RC_NOTZONE
        value: '10'
      - name: DNS_RC_BADVERS
        value: '16'
      item_type: enum
      name: dns_rcode
      pos:
        line_end: 264
        line_start: 249
        source_file: /src/gnupg/dirmngr/dns.h
    - enumerators:
      - name: DNS_SSHFP_RSA
        value: '1'
      - name: DNS_SSHFP_DSA
        value: '2'
      item_type: enum
      name: dns_sshfp_key
      pos:
        line_end: 736
        line_start: 733
        source_file: /src/gnupg/dirmngr/dns.h
    - enumerators:
      - name: DNS_SSHFP_SHA1
        value: '1'
      item_type: enum
      name: dns_sshfp_digest
      pos:
        line_end: 740
        line_start: 738
        source_file: /src/gnupg/dirmngr/dns.h
    - enumerators:
      - name: DNS_SYSPOLL
      - name: DNS_LIBEVENT
      item_type: enum
      name: dns_events
      pos:
        line_end: 1031
        line_start: 1028
        source_file: /src/gnupg/dirmngr/dns.h
    preproc_defs:
    - item_type: preproc_def
      name: DNS_VENDOR
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '"william@25thandClement.com"'
    - item_type: preproc_def
      name: DNS_V_REL
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '0x20160809'
    - item_type: preproc_def
      name: DNS_V_ABI
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '0x20160608'
    - item_type: preproc_def
      name: DNS_V_API
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '0x20160809'
    - item_type: preproc_def
      name: DNS_EBASE
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: -(('d' << 24) | ('n' << 16) | ('s' << 8) | 64)
    - item_type: preproc_def
      name: dns_error_t
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: 'int '
    - item_type: preproc_def
      name: dns_debug
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '(*dns_debug_p()) '
    - item_type: preproc_def
      name: DNS_PRAGMA_PUSH
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: _Pragma("clang diagnostic push")
    - item_type: preproc_def
      name: DNS_PRAGMA_QUIET
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: _Pragma("clang diagnostic ignored \"-Winitializer-overrides\"")
    - item_type: preproc_def
      name: DNS_PRAGMA_POP
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: _Pragma("clang diagnostic pop")
    - item_type: preproc_def
      name: DNS_PRAGMA_PUSH
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: _Pragma("GCC diagnostic push")
    - item_type: preproc_def
      name: DNS_PRAGMA_QUIET
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: _Pragma("GCC diagnostic ignored \"-Woverride-init\"")
    - item_type: preproc_def
      name: DNS_PRAGMA_POP
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: _Pragma("GCC diagnostic pop")
    - item_type: preproc_def
      name: DNS_PRAGMA_EXTENSION
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: __extension__
    - item_type: preproc_def
      name: DNS_POLLIN
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: POLLIN
    - item_type: preproc_def
      name: DNS_POLLIN
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DNS_POLLOUT
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: POLLOUT
    - item_type: preproc_def
      name: DNS_POLLOUT
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DNS_EVREAD
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DNS_EVWRITE
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DNS_STRMAXLEN
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '47 '
    - item_type: preproc_def
      name: dns_random
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '(*dns_random_p()) '
    - item_type: preproc_def
      name: DNS_P_QBUFSIZ
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: dns_p_calcsize(256 + 4)
    - item_type: preproc_def
      name: DNS_P_DICTSIZE
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '16'
    - item_type: preproc_def
      name: DNS_D_MAXLABEL
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: "63\t"
    - item_type: preproc_def
      name: DNS_D_MAXNAME
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: "255\t"
    - item_type: preproc_def
      name: DNS_D_ANCHOR
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: DNS_D_CLEAVE
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: DNS_D_TRIM
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: DNS_OPT_MINDATA
      pos:
        line_end: 691
        line_start: 690
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '256'
    - item_type: preproc_def
      name: DNS_OPT_DNSSEC
      pos:
        line_end: 694
        line_start: 693
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: DNS_TXT_MINDATA
      pos:
        line_end: 762
        line_start: 761
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: DNS_OPTS_INITIALIZER_
      pos:
        line_end: 1013
        line_start: 1012
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '{ 0, 0 }, 0, 0'
    - item_type: preproc_def
      name: DNS_OPTS_INITIALIZER
      pos:
        line_end: 1014
        line_start: 1013
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '{ DNS_OPTS_INITIALIZER_ }'
    - item_type: preproc_def
      name: DNS_TRACE_ABI
      pos:
        line_end: 1193
        line_start: 1192
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '0x20160803'
    - item_type: preproc_def
      name: DNS_PP_D1
      pos:
        line_end: 1308
        line_start: 1307
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DNS_PP_D2
      pos:
        line_end: 1309
        line_start: 1308
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DNS_PP_D3
      pos:
        line_end: 1310
        line_start: 1309
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DNS_PP_D4
      pos:
        line_end: 1311
        line_start: 1310
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DNS_PP_D5
      pos:
        line_end: 1312
        line_start: 1311
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DNS_PP_D6
      pos:
        line_end: 1313
        line_start: 1312
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '5'
    - item_type: preproc_def
      name: DNS_PP_D7
      pos:
        line_end: 1314
        line_start: 1313
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '6'
    - item_type: preproc_def
      name: DNS_PP_D8
      pos:
        line_end: 1315
        line_start: 1314
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '7'
    - item_type: preproc_def
      name: DNS_PP_D9
      pos:
        line_end: 1316
        line_start: 1315
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '8'
    - item_type: preproc_def
      name: DNS_PP_D10
      pos:
        line_end: 1317
        line_start: 1316
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '9'
    - item_type: preproc_def
      name: DNS_PP_D11
      pos:
        line_end: 1318
        line_start: 1317
        source_file: /src/gnupg/dirmngr/dns.h
      type_or_value: '10'
    structs:
    - fields:
      - name: qid
        type: unsigned
      - name: qdcount
        type: unsigned
      - name: ancount
        type: unsigned
      - name: nscount
        type: unsigned
      - name: arcount
        type: unsigned
      item_type: struct
      name: dns_header
      pos:
        line_end: 351
        line_start: 322
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: dict[DNS_P_DICTSIZE]
        type: unsigned short
      - name: memo
        type: "struct dns_p_memo {\n\t\tstruct dns_s_memo {\n\t\t\tunsigned short
          base, end;\n\t\t} qd, an, ns, ar;\n\n\t\tstruct {\n\t\t\tunsigned short
          p;\n\t\t\tunsigned short maxudp;\n\t\t\tunsigned ttl;\n\t\t} opt;\n\t}"
      - name: cqe
        type: struct { struct dns_packet *cqe_next, *cqe_prev; }
      - name: size
        type: size_t
      item_type: struct
      name: dns_packet
      pos:
        line_end: 389
        line_start: 364
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: qd
        type: "struct dns_s_memo {\n\t\t\tunsigned short base, end;\n\t\t}"
      - name: opt
        type: "struct {\n\t\t\tunsigned short p;\n\t\t\tunsigned short maxudp;\n\t\t\tunsigned
          ttl;\n\t\t}"
      item_type: struct
      name: dns_p_memo
      pos:
        line_end: 377
        line_start: 367
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: base
        type: unsigned short
      item_type: struct
      name: dns_s_memo
      pos:
        line_end: 370
        line_start: 368
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: section
        type: enum dns_section
      - name: dn
        type: "struct {\n\t\tunsigned short p;\n\t\tunsigned short len;\n\t}"
      - name: type
        type: enum dns_type
      - name: class
        type: enum dns_class
      - name: ttl
        type: unsigned
      - name: rd
        type: "struct {\n\t\tunsigned short p;\n\t\tunsigned short len;\n\t}"
      item_type: struct
      name: dns_rr
      pos:
        line_end: 472
        line_start: 456
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: section
        type: enum dns_section
      - name: '*name'
        type: void
      - name: type
        type: enum dns_type
      - name: class
        type: enum dns_class
      - name: '*data'
        type: void
      - name: follow
        type: int
      - name: (*sort)(struct dns_rr *, struct dns_rr *, struct dns_rr_i *, struct
          dns_packet *)
        type: int
      - name: args[2]
        type: unsigned
      - name: state
        type: "struct {\n\t\tunsigned short next;\n\t\tunsigned short count;\n\n\t\tunsigned
          exec;\n\t\tunsigned regs[2];\n\t}"
      item_type: struct
      name: dns_rr_i
      pos:
        line_end: 505
        line_start: 486
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: addr
        type: struct in_addr
      item_type: struct
      name: dns_a
      pos:
        line_end: 533
        line_start: 531
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: addr
        type: struct in6_addr
      item_type: struct
      name: dns_aaaa
      pos:
        line_end: 552
        line_start: 550
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: preference
        type: unsigned short
      - name: host[DNS_D_MAXNAME + 1]
        type: char
      item_type: struct
      name: dns_mx
      pos:
        line_end: 572
        line_start: 569
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: host[DNS_D_MAXNAME + 1]
        type: char
      item_type: struct
      name: dns_ns
      pos:
        line_end: 591
        line_start: 589
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: host[DNS_D_MAXNAME + 1]
        type: char
      item_type: struct
      name: dns_cname
      pos:
        line_end: 610
        line_start: 608
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: mname[DNS_D_MAXNAME + 1]
        type: char
      - name: rname[DNS_D_MAXNAME + 1]
        type: char
      - name: serial
        type: unsigned
      item_type: struct
      name: dns_soa
      pos:
        line_end: 631
        line_start: 627
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: host[DNS_D_MAXNAME + 1]
        type: char
      item_type: struct
      name: dns_ptr
      pos:
        line_end: 648
        line_start: 646
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: priority
        type: unsigned short
      - name: weight
        type: unsigned short
      - name: port
        type: unsigned short
      - name: target[DNS_D_MAXNAME + 1]
        type: char
      item_type: struct
      name: dns_srv
      pos:
        line_end: 672
        line_start: 667
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: rcode
        type: enum dns_rcode
      - name: version
        type: unsigned char
      - name: flags
        type: unsigned short
      - name: size
        type: size_t
      - name: data[DNS_OPT_MINDATA]
        type: unsigned char
      item_type: struct
      name: dns_opt
      pos:
        line_end: 707
        line_start: 695
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: algo
        type: "enum dns_sshfp_key {\n\t\tDNS_SSHFP_RSA = 1,\n\t\tDNS_SSHFP_DSA = 2,\n\t}"
      - name: type
        type: "enum dns_sshfp_digest {\n\t\tDNS_SSHFP_SHA1 = 1,\n\t}"
      - name: digest
        type: "union {\n\t\tunsigned char sha1[20];\n\t}"
      item_type: struct
      name: dns_sshfp
      pos:
        line_end: 745
        line_start: 732
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: size
        type: size_t
      - name: data[DNS_TXT_MINDATA]
        type: unsigned char
      item_type: struct
      name: dns_txt
      pos:
        line_end: 767
        line_start: 764
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: nameserver[3]
        type: struct sockaddr_storage
      - name: search[4][DNS_D_MAXNAME + 1]
        type: char
      - name: lookup[4 * (1 + (4 * 2))]
        type: char
      - name: family[3]
        type: int
      - name: options
        type: "struct {\n\t\t_Bool edns0;\n\n\t\tunsigned ndots;\n\n\t\tunsigned timeout;\n\n\t\tunsigned
          attempts;\n\n\t\t_Bool rotate;\n\n\t\t_Bool recurse;\n\n\t\t_Bool smart;\n\n\t\tenum
          {\n\t\t\tDNS_RESCONF_TCP_ENABLE,\n\t\t\tDNS_RESCONF_TCP_ONLY,\n\t\t\tDNS_RESCONF_TCP_SOCKS,\n\t\t\tDNS_RESCONF_TCP_DISABLE,\n\t\t}
          tcp;\n\t}"
      - name: iface
        type: struct sockaddr_storage
      - name: _
        type: "struct { /* PRIVATE */\n\t\tdns_atomic_t refcount;\n\t}"
      item_type: struct
      name: dns_resolv_conf
      pos:
        line_end: 887
        line_start: 848
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: '*zone'
        type: char
      - name: state
        type: "struct {\n\t\tunsigned next;\n\t\tunsigned seed;\n\t}"
      item_type: struct
      name: dns_hints_i
      pos:
        line_end: 961
        line_start: 954
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: '*state'
        type: void
      - name: (*acquire)(struct dns_cache *)
        type: dns_refcount_t
      - name: (*release)(struct dns_cache *)
        type: dns_refcount_t
      - name: '*(*query)(struct dns_packet *, struct dns_cache *, int *)'
        type: struct dns_packet
      - name: (*submit)(struct dns_packet *, struct dns_cache *)
        type: int
      - name: (*check)(struct dns_cache *)
        type: int
      - name: '*(*fetch)(struct dns_cache *, int *)'
        type: struct dns_packet
      - name: (*pollfd)(struct dns_cache *)
        type: int
      - name: (*events)(struct dns_cache *)
        type: short
      - name: (*clear)(struct dns_cache *)
        type: void
      - name: arg[3]
        type: "union {\n\t\tlong i;\n\t\tvoid *p;\n\t}"
      - name: _
        type: "struct { /* PRIVATE */\n\t\tdns_atomic_t refcount;\n\t}"
      item_type: struct
      name: dns_cache
      pos:
        line_end: 996
        line_start: 972
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: closefd
        type: "struct {\n\t\tvoid *arg;\n\t\tint (*cb)(int *fd, void *arg);\n\t}"
      - name: events
        type: "enum dns_events {\n\t\tDNS_SYSPOLL,\n\t\tDNS_LIBEVENT,\n\t}"
      - name: '*socks_host'
        type: struct sockaddr_storage
      - name: '*socks_user'
        type: char
      - name: '*socks_password'
        type: char
      item_type: struct
      name: dns_options
      pos:
        line_end: 1039
        line_start: 1015
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: queries
        type: size_t
      - name: udp
        type: "struct {\n\t\tstruct {\n\t\t\tsize_t count, bytes;\n\t\t} sent, rcvd;\n\t}"
      item_type: struct
      name: dns_stat
      pos:
        line_end: 1055
        line_start: 1047
        source_file: /src/gnupg/dirmngr/dns.h
    - fields:
      - name: type
        type: "enum {\n\t\tDNS_TE_RES_SUBMIT = 1,\n\t\tDNS_TE_RES_FETCH = 99,\n\n\t\tDNS_TE_SO_SUBMIT
          = 100,\n\t\tDNS_TE_SO_VERIFY,\n\t\tDNS_TE_SO_FETCH = 199,\n\n\t\tDNS_TE_SYS_CONNECT
          = 200,\n\t\tDNS_TE_SYS_SEND,\n\t\tDNS_TE_SYS_RECV,\n\t}"
      - name: size
        type: size_t
      - name: id
        type: dns_trace_id_t
      - name: ts
        type: struct timespec
      - name: abi
        type: int
      - name: data[]
        type: unsigned char
      item_type: struct
      name: dns_trace_event
      pos:
        line_end: 1247
        line_start: 1194
        source_file: /src/gnupg/dirmngr/dns.h
    typedefs:
    - item_type: typedef
      name: dns_atomic_t
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/gnupg/dirmngr/dns.h
      type: unsigned long
    - item_type: typedef
      name: dns_refcount_t
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/gnupg/dirmngr/dns.h
      type: unsigned long
    - item_type: typedef
      name: dns_random_f(void)
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/gnupg/dirmngr/dns.h
      type: unsigned
    - item_type: typedef
      name: dns_resconf_i_t
      pos:
        line_end: 919
        line_start: 919
        source_file: /src/gnupg/dirmngr/dns.h
      type: unsigned long
    - item_type: typedef
      name: dns_trace_id_t
      pos:
        line_end: 1190
        line_start: 1190
        source_file: /src/gnupg/dirmngr/dns.h
      type: uint64_t
    union:
    - fields:
      - name: a
        type: struct dns_a
      - name: aaaa
        type: struct dns_aaaa
      - name: mx
        type: struct dns_mx
      - name: ns
        type: struct dns_ns
      - name: cname
        type: struct dns_cname
      - name: soa
        type: struct dns_soa
      - name: ptr
        type: struct dns_ptr
      - name: srv
        type: struct dns_srv
      - name: opt
        type: struct dns_opt
      - name: sshfp
        type: struct dns_sshfp
      - name: txt
        type: struct dns_txt
      item_type: union
      name: dns_any
      pos:
        line_end: 796
        line_start: 784
        source_file: /src/gnupg/dirmngr/dns.h
- function_names:
  - time_of_saved_swdb
  - fetch_file
  - verify_status_cb
  - dirmngr_load_swdb
  source_file: /src/gnupg/dirmngr/loadswdb.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: sigtime
        type: time_t
      - name: anyvalid
        type: int
      item_type: struct
      name: verify_status_parm_s
      pos:
        line_end: 187
        line_start: 183
        source_file: /src/gnupg/dirmngr/loadswdb.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/dirmngr/misc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_http_prepare_redirect
  - main
  source_file: /src/gnupg/dirmngr/t-http-basic.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/gnupg/dirmngr/t-http-basic.c
      type_or_value: '"t-http-basic"'
    structs:
    - fields:
      - name: '*url'
        type: char
      - name: '*location'
        type: char
      - name: '*expect_url'
        type: char
      - name: expect_err
        type: gpg_error_t
      item_type: struct
      name: "tests[] = {\n    {\n      \"http://gnupg.org/.well-known/openpgpkey/hu/12345678\",\n
        \     NULL,\n      \"\",\n      GPG_ERR_NO_DATA\n    },\n    {\n      \"http://gnupg.org/.well-known/openpgpkey/hu/12345678\",\n
        \     \"\",\n      \"\",\n      GPG_ERR_NO_DATA\n    },\n    {\n      \"http://gnupg.org/.well-known/openpgpkey/hu/12345678\",\n
        \     \"foo//bla\",\n      \"\",\n      GPG_ERR_BAD_URI\n    },\n    {\n      \"http://gnupg.org/.well-known/openpgpkey/hu/12345678\",\n
        \     \"http://gnupg.org/.well-known/openpgpkey/hu/12345678\",\n      \"http://gnupg.org/.well-known/openpgpkey/hu/12345678\",\n
        \     0\n    },\n    {\n      \"http://gnupg.org/.well-known/openpgpkey/hu/12345678\",\n
        \     \"http://gnupg.org/.well-known/openpgpkey/hu/12345678\",\n      \"http://gnupg.org/.well-known/openpgpkey/hu/12345678\",\n
        \     0\n    },\n    {\n      \"http://gnupg.org/.well-known/openpgpkey/hu/12345678\",\n
        \     \"http://foo.gnupg.org:8080/.not-so-well-known/openpgpkey/hu/12345678\",\n
        \     \"http://foo.gnupg.org:8080/.well-known/openpgpkey/hu/12345678\",\n
        \     0\n    },\n    {\n      \"http://gnupg.org/.well-known/openpgpkey/hu/12345678\",\n
        \     \"http:///.no-so-well-known/openpgpkey/hu/12345678\",\n      \"http://gnupg.org/.well-known/openpgpkey/hu/12345678\",\n
        \     GPG_ERR_BAD_URI\n    },\n    {\n      \"http://gnupg.org/.well-known/openpgpkey/hu/12345678\",\n
        \     \"http://gnupg.org:8080/.not-so-well-known/openpgpkey/hu/12345678\",\n
        \     \"http://gnupg.org:8080/.not-so-well-known/openpgpkey/hu/12345678\",\n
        \     0\n    },\n    {\n      \"http://gnupg.org/.well-known/openpgpkey/hu/12345678\",\n
        \     \"http://gnupg.org:8/.not-so-well-known/openpgpkey/hu/12345678\",\n
        \     \"http://gnupg.org:8/.not-so-well-known/openpgpkey/hu/12345678\",\n
        \     0\n    },\n    {\n      \"http://gnupg.org/.well-known/openpgpkey/hu/12345678\",\n
        \     \"http://gnupg.org:/.no-so-well-known/openpgpkey/hu/12345678\",\n      \"http://gnupg.org:/.no-so-well-known/openpgpkey/hu/12345678\",\n
        \     0\n    },\n    {\n      \"http://gnupg.org/.well-known/openpgpkey/hu/12345678\",\n
        \     \"http://gnupg.org/\",\n      \"http://gnupg.org/\",\n      0\n    },\n
        \   {\n      \"http://gnupg.org/.well-known/openpgpkey/hu/12345678\",\n      \"http://gnupg.net\",\n
        \     \"http://gnupg.net/.well-known/openpgpkey/hu/12345678\",\n      0\n
        \   },\n    {\n      \"http://gnupg.org\",\n      \"http://gnupg.org\",\n
        \     \"http://gnupg.org\",\n      0\n    },\n    {\n      \"http://gnupg.org\",\n
        \     \"http://foo.gnupg.org\",\n      \"http://foo.gnupg.org\",\n      0\n
        \   },\n    {\n      \"http://gnupg.org/\",\n      \"http://foo.gnupg.org\",\n
        \     \"http://foo.gnupg.org/\",\n      0\n    },\n    {\n      \"http://gnupg.org\",\n
        \     \"http://foo.gnupg.org/\",\n      \"http://foo.gnupg.org\",\n      0\n
        \   },\n    {\n      \"http://gnupg.org/.well-known/openpgpkey/hu/12345678\",\n
        \     \"http://gnupg.org/something-else\",\n      \"http://gnupg.org/something-else\",\n
        \     0\n    },\n  }"
      pos:
        line_end: 38
        line_start: 33
        source_file: /src/gnupg/dirmngr/t-http-basic.c
    typedefs: []
    union: []
- function_names:
  - create_new_hostinfo
  - find_hostinfo
  - sort_hostpool
  - host_in_pool_p
  - select_random_host
  - arecords_is_pool
  - tor_not_running_p
  - add_host
  - hostinfo_sort_pool
  - map_host
  - mark_host_dead
  - ks_hkp_mark_host
  - ks_hkp_print_hosttable
  - ks_hkp_help
  - make_host_part
  - ks_hkp_resolve
  - ks_hkp_housekeeping
  - ks_hkp_reload
  - send_request
  - handle_send_request_error
  - ks_hkp_search
  - ks_hkp_get
  - put_post_cb
  - ks_hkp_put
  - ks_hkp_init
  source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
  types:
    enum:
    - enumerators:
      - name: KS_PROTOCOL_HKP
      - name: KS_PROTOCOL_HKPS
      - name: KS_PROTOCOL_MAX
      item_type: enum
      name: ks_protocol
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
    preproc_defs:
    - item_type: preproc_def
      name: EAI_OVERFLOW
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
      type_or_value: EAI_FAIL
    - item_type: preproc_def
      name: EAI_SYSTEM
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
      type_or_value: WSAEINVAL
    - item_type: preproc_def
      name: RESURRECT_INTERVAL
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
      type_or_value: '(3600+1800)  '
    - item_type: preproc_def
      name: EXTRA_ESCAPE_CHARS
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
      type_or_value: '"@!\"#$%&''()*+,-./:;<=>?[\\]^_{|}~"'
    - item_type: preproc_def
      name: MAX_REDIRECTS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SEND_REQUEST_RETRIES
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SEND_REQUEST_EXTRA_RETRIES
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: MAX_POOL_SIZE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
      type_or_value: '128'
    - item_type: preproc_def
      name: INITIAL_HOSTTABLE_SIZE
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
      type_or_value: '50'
    structs:
    - fields:
      - name: lastfail
        type: time_t
      - name: lastused
        type: time_t
      - name: '*pool'
        type: int
      - name: pool_len
        type: size_t
      - name: pool_size
        type: size_t
      - name: poolidx
        type: int
      - name: v4
        type: unsigned int
      - name: v6
        type: unsigned int
      - name: onion
        type: unsigned int
      - name: dead
        type: unsigned int
      - name: iporname_valid
        type: unsigned int
      - name: did_a_lookup
        type: unsigned int
      - name: did_srv_lookup
        type: unsigned int
      - name: died_at
        type: time_t
      - name: '*cname'
        type: char
      - name: '*iporname'
        type: char
      - name: port[KS_PROTOCOL_MAX]
        type: unsigned short
      - name: name[1]
        type: char
      item_type: struct
      name: hostinfo_s
      pos:
        line_end: 108
        line_start: 79
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
    - fields:
      - name: '*datastring'
        type: char
      item_type: struct
      name: put_post_parm_s
      pos:
        line_end: 1793
        line_start: 1790
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
    typedefs:
    - item_type: typedef
      name: '*hostinfo_t'
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/gnupg/dirmngr/ks-engine-hkp.c
      type: hostinfo_s
    union: []
- function_names:
  - cdb_datapos
  - cdb_datalen
  - cdb_keypos
  - cdb_keylen
  - cdb_fileno
  source_file: /src/gnupg/dirmngr/cdb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TINYCDB_VERSION
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/gnupg/dirmngr/cdb.h
      type_or_value: '0.73'
    - item_type: preproc_def
      name: CDB_PUT_ADD
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/gnupg/dirmngr/cdb.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: CDB_PUT_REPLACE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/gnupg/dirmngr/cdb.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: CDB_PUT_INSERT
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/gnupg/dirmngr/cdb.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: CDB_PUT_WARN
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/gnupg/dirmngr/cdb.h
      type_or_value: "3\t"
    structs:
    - fields:
      - name: cdb_fd
        type: int
      - name: cdb_fsize
        type: cdbi_t
      - name: '*cdb_mem'
        type: unsigned char
      - name: cdb_vpos
        type: cdbi_t
      - name: cdb_kpos
        type: cdbi_t
      item_type: struct
      name: cdb
      pos:
        line_end: 30
        line_start: 19
        source_file: /src/gnupg/dirmngr/cdb.h
    - fields:
      - name: '*cdb_cdbp'
        type: struct cdb
      - name: cdb_hval
        type: cdbi_t
      - name: '*cdb_htp'
        type: unsigned char
      - name: cdb_httodo
        type: cdbi_t
      - name: '*cdb_key'
        type: void
      - name: cdb_klen
        type: cdbi_t
      item_type: struct
      name: cdb_find
      pos:
        line_end: 52
        line_start: 45
        source_file: /src/gnupg/dirmngr/cdb.h
    - fields:
      - name: cdb_fd
        type: int
      - name: cdb_dpos
        type: cdbi_t
      - name: cdb_rcnt
        type: cdbi_t
      - name: cdb_buf[4096]
        type: char
      - name: '*cdb_bpos'
        type: char
      - name: '*cdb_rec[256]'
        type: struct cdb_rl
      item_type: struct
      name: cdb_make
      pos:
        line_end: 73
        line_start: 65
        source_file: /src/gnupg/dirmngr/cdb.h
    typedefs:
    - item_type: typedef
      name: cdbi_t
      pos:
        line_end: 12
        line_start: 12
        source_file: /src/gnupg/dirmngr/cdb.h
      type: unsigned int
    union: []
- function_names:
  - setenv
  - pth_close
  - SAFE_CLOSE
  - lock_reaper_list
  - unlock_reaper_list
  - read_buffer
  - destroy_wrapper
  - print_log_line
  - read_log_data
  - ldap_reaper_thread
  - ldap_reaper_launch_thread
  - ldap_wrapper_wait_connections
  - ldap_wrapper_release_context
  - ldap_wrapper_connection_cleanup
  - reader_callback
  - ldap_wrapper
  source_file: /src/gnupg/dirmngr/ldap-wrapper.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_OPEN_FDS
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/gnupg/dirmngr/ldap-wrapper.c
      type_or_value: _POSIX_OPEN_MAX
    - item_type: preproc_def
      name: MAX_OPEN_FDS
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/gnupg/dirmngr/ldap-wrapper.c
      type_or_value: '20'
    - item_type: preproc_def
      name: INACTIVITY_TIMEOUT
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/gnupg/dirmngr/ldap-wrapper.c
      type_or_value: '(opt.ldaptimeout + 60*5)  '
    - item_type: preproc_def
      name: TIMERTICK_INTERVAL
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/gnupg/dirmngr/ldap-wrapper.c
      type_or_value: '2'
    structs:
    - fields:
      - name: '*next'
        type: struct wrapper_context_s
      - name: proc
        type: gpgrt_process_t
      - name: printable_pid
        type: int
      - name: fp
        type: estream_t
      - name: fp_err
        type: gpg_error_t
      - name: log_fp
        type: estream_t
      - name: ctrl
        type: ctrl_t
      - name: ready
        type: int
      - name: reader
        type: ksba_reader_t
      - name: '*line'
        type: char
      - name: linesize
        type: size_t
      - name: linelen
        type: size_t
      - name: stamp
        type: time_t
      - name: reaper_idx
        type: int
      item_type: struct
      name: wrapper_context_s
      pos:
        line_end: 103
        line_start: 84
        source_file: /src/gnupg/dirmngr/ldap-wrapper.c
    typedefs: []
    union: []
- function_names:
  - ks_action_parse_uri
  - ks_print_help
  - ks_printf_help
  - ks_action_help
  - ks_action_resolve
  - ks_action_search
  - ks_action_get
  - ks_action_fetch
  - ks_action_put
  - ks_action_del
  - ks_action_query
  source_file: /src/gnupg/dirmngr/ks-action.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - add_server_to_servers
  - run_ldap_wrapper
  - url_fetch_ldap
  - attr_fetch_ldap
  - rfc2254_need_escape
  - rfc2254_escape
  - extfilt_need_escape
  - extfilt_escape
  - make_one_filter
  - start_cacert_fetch_ldap
  - start_cert_fetch_ldap
  - read_buffer
  - fetch_next_cert_ldap
  - end_cert_fetch_ldap
  source_file: /src/gnupg/dirmngr/ldap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNENCODED_URL_CHARS
      pos:
        line_end: 45
        line_start: 41
        source_file: /src/gnupg/dirmngr/ldap.c
      type_or_value: "\"abcdefghijklmnopqrstuvwxyz\"   \\\n                            \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"
        \  \\\n                            \"01234567890\"                  \\\n                            \"$-_.+!*'(),\""
    - item_type: preproc_def
      name: USERCERTIFICATE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/dirmngr/ldap.c
      type_or_value: '"userCertificate"'
    - item_type: preproc_def
      name: CACERTIFICATE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/dirmngr/ldap.c
      type_or_value: '"caCertificate"'
    - item_type: preproc_def
      name: X509CACERT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/gnupg/dirmngr/ldap.c
      type_or_value: '"x509caCert"'
    - item_type: preproc_def
      name: USERSMIMECERTIFICATE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/gnupg/dirmngr/ldap.c
      type_or_value: '"userSMIMECertificate"'
    structs:
    - fields:
      - name: reader
        type: ksba_reader_t
      - name: '*tmpbuf'
        type: unsigned char
      - name: tmpbufsize
        type: size_t
      - name: truncated
        type: int
      item_type: struct
      name: cert_fetch_context_s
      pos:
        line_end: 58
        line_start: 52
        source_file: /src/gnupg/dirmngr/ldap.c
    typedefs: []
    union: []
- function_names:
  - init_asctobin
  - my_strusage
  - main
  - status_cb
  - data_cb
  - read_pem_certificate
  - read_certificate
  - inq_cert
  - do_check
  - do_cache
  - do_validate
  - do_loadcrl
  - do_lookup
  - squid_loop_body
  source_file: /src/gnupg/dirmngr/dirmngr-client.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NCHUNK
      pos:
        line_end: 649
        line_start: 648
        source_file: /src/gnupg/dirmngr/dirmngr-client.c
      type_or_value: '8192'
    structs:
    - fields:
      - name: quiet
        type: int
      - name: verbose
        type: int
      - name: '*dirmngr_program'
        type: char
      - name: force_default_responder
        type: int
      - name: pem
        type: int
      - name: escaped_pem
        type: int
      - name: url
        type: int
      - name: local
        type: int
      - name: use_ocsp
        type: int
      item_type: struct
      name: opt
      pos:
        line_end: 99
        line_start: 87
        source_file: /src/gnupg/dirmngr/dirmngr-client.c
    - fields:
      - name: ctx
        type: assuan_context_t
      - name: '*cert'
        type: unsigned char
      - name: certlen
        type: size_t
      item_type: struct
      name: inq_cert_parm_s
      pos:
        line_end: 108
        line_start: 103
        source_file: /src/gnupg/dirmngr/dirmngr-client.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/dirmngr/crlfetch.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*cert_fetch_context_t'
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/gnupg/dirmngr/crlfetch.h
      type: cert_fetch_context_s
    union: []
- function_names:
  - DNS_GNUC_2VER
  - DNS_GNUC_PREREQ
  - DNS_MSC_2VER
  - DNS_MSC_PREREQ
  - DNS_SUNPRO_PREREQ
  - dns_has_builtin
  - dns_has_builtin
  - dns_has_extension
  - dns_has_extension
  - dns_same_type
  - dns_same_type
  - dns_isarray
  - dns_inline_assert
  - dns_assume
  - dns_assume
  - dns_assume
  - lengthof
  - endof
  - dns_static_assert
  - dns_static_assert
  - dns_static_assert
  - dns_debug_p
  - DNS_SAY_
  - DNS_SAY
  - DNS_SHOW_
  - DNS_SHOW
  - DNS_CARP
  - dns_vendor
  - dns_v_rel
  - dns_v_abi
  - dns_v_api
  - dns_syerr
  - dns_soerr
  - dns_syerr
  - dns_soerr
  - dns_strerror
  - DNS_ATOMIC_FETCH_ADD
  - DNS_ATOMIC_FETCH_ADD
  - DNS_ATOMIC_FETCH_SUB
  - DNS_ATOMIC_FETCH_SUB
  - dns_atomic_fetch_add
  - dns_atomic_fetch_sub
  - dns_random_
  - dns_random_p
  - dns_k_tea_init
  - dns_k_tea_encrypt
  - dns_k_permutor_powof
  - dns_k_permutor_init
  - dns_k_permutor_F
  - dns_k_permutor_E
  - dns_k_permutor_D
  - dns_k_permutor_step
  - dns_k_shuffle16
  - DNS_SM_SAVE_AND_DO
  - DNS_SM_YIELD
  - dns_begin
  - dns_elapsed
  - dns_strnlen
  - dns_strnlcpy
  - dns_af_len
  - dns_sa_family
  - dns_sa_len
  - dns_sa_port
  - dns_sa_addr
  - dns_sa_path
  - dns_sa_cmp
  - dns_inet_pton
  - dns_inet_ntop
  - dns_inet_pton
  - dns_inet_ntop
  - dns_pton
  - dns_ntop
  - dns_strlcpy
  - dns_strlcat
  - dns_reallocarray
  - dns_strsep
  - dns_strsep
  - strcasecmp
  - strncasecmp
  - dns_isalpha
  - dns_isdigit
  - dns_isalnum
  - dns_isspace
  - dns_isgraph
  - dns_poll
  - dns_sigmask
  - dns_send
  - dns_recv
  - dns_send_nopipe
  - dns_connect
  - dns_fopen_addflag
  - dns_fopen
  - dns_hxd_lines
  - DNS_CHECK_OVERFLOW
  - dns_clamp_overflow
  - dns_add_overflow
  - dns_mul_overflow
  - DNS_B_INIT
  - DNS_B_FROM
  - DNS_B_INTO
  - dns_b_tell
  - dns_b_setoverflow
  - dns_b_into
  - dns_b_putc
  - dns_b_pputc
  - dns_b_put16
  - dns_b_pput16
  - dns_error_t::dns_b_put32
  - dns_b_put
  - dns_b_puts
  - dns_error_t::dns_b_fmtju
  - dns_b_popc
  - dns_b_tolstring
  - dns_b_tostring
  - dns_b_strlen
  - dns_b_strllen
  - dns_b_from
  - dns_b_getc
  - dns_b_get16
  - dns_b_get32
  - dns_b_move
  - DNS_TIME_C
  - dns_time_add
  - dns_time_mul
  - dns_time_diff
  - dns_ts2us
  - dns_tv2ts
  - dns_utime_print
  - dns_p_count
  - dns_p_init
  - dns_p_reset
  - dns_p_qend
  - dns_p_make
  - dns_p_free
  - dns_p_setptr
  - dns_p_movptr
  - dns_p_grow
  - dns_p_copy
  - dns_p_merge
  - dns_p_dictadd
  - plus1_ns
  - dns_p_push
  - dns_p_lines_fmt
  - DNS_P_LINE
  - dns_p_lines
  - dns_p_dump3
  - dns_p_dump
  - dns_s_unstudy
  - dns_m_unstudy
  - dns_s_study
  - dns_m_study
  - dns_p_study
  - dns_p_rcode
  - dns_q_make2
  - dns_q_make
  - dns_q_remake
  - dns_l_expand
  - dns_l_skip
  - dns_d_isanchored
  - dns_d_ndots
  - dns_d_trim
  - dns_d_init
  - dns_d_anchor
  - dns_d_cleave
  - dns_d_comp
  - dns_d_skip
  - dns_d_expand
  - dns_d_push
  - dns_d_cname
  - dns_rr_copy
  - dns_rr_parse
  - dns_rr_len
  - dns_rr_skip
  - dns_rr_section
  - dns_rr_type
  - dns_rr_cmp
  - dns_rr_exists
  - dns_rr_offset
  - dns_rr_i_match
  - dns_rr_i_start
  - dns_rr_i_skip
  - dns_rr_i_packet
  - dns_rr_i_order
  - dns_rr_i_shuffle
  - dns_rr_i_init
  - dns_rr_grep
  - dns_rr_print
  - dns_a_parse
  - dns_a_parse0
  - dns_a_push
  - dns_a_push0
  - dns_a_arpa
  - dns_a_cmp
  - dns_a_cmp0
  - dns_a_print
  - dns_a_print0
  - dns_aaaa_parse
  - dns_aaaa_parse0
  - dns_aaaa_push
  - dns_aaaa_push0
  - dns_aaaa_cmp
  - dns_aaaa_cmp0
  - dns_aaaa_arpa
  - dns_aaaa_print
  - dns_aaaa_print0
  - dns_mx_parse
  - dns_mx_parse0
  - dns_mx_push
  - dns_mx_push0
  - dns_mx_cmp
  - dns_mx_cmp0
  - dns_mx_print
  - dns_mx_print0
  - dns_mx_cname
  - dns_mx_cname0
  - dns_ns_parse
  - dns_ns_parse0
  - dns_ns_push
  - dns_ns_push0
  - dns_ns_cmp
  - dns_ns_cmp0
  - dns_ns_print
  - dns_ns_print0
  - dns_ns_cname
  - dns_ns_cname0
  - dns_cname_parse
  - dns_cname_parse0
  - dns_cname_push
  - dns_cname_push0
  - dns_cname_cmp
  - dns_cname_cmp0
  - dns_cname_print
  - dns_cname_print0
  - dns_cname_cname
  - dns_cname_cname0
  - dns_soa_parse
  - dns_soa_parse0
  - dns_soa_push
  - dns_soa_push0
  - dns_soa_cmp
  - dns_soa_cmp0
  - dns_soa_print
  - dns_soa_print0
  - dns_srv_parse
  - dns_srv_parse0
  - dns_srv_push
  - dns_srv_push0
  - dns_srv_cmp
  - dns_srv_cmp0
  - dns_srv_print
  - dns_srv_print0
  - dns_srv_cname
  - dns_srv_cname0
  - dns_opt_ttl
  - dns_opt_class
  - dns_opt_init
  - dns_opt_initany
  - dns_opt_parse
  - dns_opt_parse0
  - dns_opt_push
  - dns_opt_push0
  - dns_opt_cmp
  - dns_opt_cmp0
  - dns_opt_print
  - dns_opt_print0
  - dns_ptr_parse
  - dns_ptr_parse0
  - dns_ptr_push
  - dns_ptr_push0
  - dns_ptr_qname
  - dns_ptr_cmp
  - dns_ptr_cmp0
  - dns_ptr_print
  - dns_ptr_print0
  - dns_ptr_cname
  - dns_ptr_cname0
  - dns_sshfp_parse
  - dns_sshfp_parse0
  - dns_sshfp_push
  - dns_sshfp_push0
  - dns_sshfp_cmp
  - dns_sshfp_cmp0
  - dns_sshfp_print
  - dns_sshfp_print0
  - dns_txt_init
  - dns_txt_initany
  - dns_txt_parse
  - dns_txt_parse0
  - dns_txt_push
  - dns_txt_push0
  - dns_txt_cmp
  - dns_txt_cmp0
  - dns_txt_print
  - dns_txt_print0
  - dns_rrtype
  - dns_any_init
  - dns_any_sizeof
  - dns_any_reinit
  - dns_any_parse
  - dns_any_push
  - dns_any_cmp
  - dns_any_print
  - dns_any_cname
  - dns_trace_mkid
  - dns_te_initname
  - dns_te_initnames
  - dns_te_init
  - dns_trace_abi
  - dns_trace_open
  - dns_trace_close
  - dns_trace_acquire
  - dns_trace_acquire_p
  - dns_trace_release
  - dns_trace_id
  - dns_trace_setid
  - dns_trace_get
  - dns_trace_put
  - dns_trace_tag
  - dns_trace_tag_and_put
  - dns_trace_fget
  - dns_trace_fput
  - dns_trace_setcname
  - dns_trace_cname
  - dns_trace_res_submit
  - dns_trace_res_fetch
  - dns_trace_so_submit
  - dns_trace_so_verify
  - dns_trace_so_fetch
  - dns_trace_sys_connect
  - dns_trace_sys_send
  - dns_trace_sys_recv
  - dns_trace_dump_packet
  - dns_trace_dump_data
  - dns_trace_dump_addr
  - dns_trace_dump_meta
  - dns_trace_dump_error
  - dns_trace_dump
  - dns_hosts_open
  - dns_hosts_close
  - dns_hosts_acquire
  - dns_hosts_release
  - dns_hosts_mortal
  - dns_hosts_local
  - dns_hosts_issep
  - dns_hosts_iscom
  - dns_hosts_loadfile
  - dns_hosts_loadpath
  - dns_hosts_dump
  - dns_hosts_insert
  - dns_hosts_query
  - dns_resconf_open
  - dns_resconf_close
  - dns_resconf_acquire
  - dns_resconf_release
  - dns_resconf_mortal
  - dns_resconf_local
  - dns_resconf_root
  - dns_resconf_timeout
  - dns_resconf_keyword
  - dns_resconf_pton
  - dns_resconf_issep
  - dns_resconf_iscom
  - dns_resconf_loadfile
  - dns_resconf_loadpath
  - dns_anyconf_reset
  - dns_anyconf_push
  - dns_anyconf_pop
  - dns_anyconf_addc
  - dns_anyconf_match
  - dns_anyconf_peek
  - dns_anyconf_skip
  - dns_anyconf_scan
  - dns_anyconf_dump
  - dns_nssconf_keyword
  - dns_nssconf_c2k
  - dns_nssconf_k2c
  - dns_nssconf_k2s
  - dns_nssconf_loadfile
  - dns_nssconf_loadpath
  - dns_nssconf_peek
  - dns_nssconf_next
  - dns_nssconf_dump_status
  - dns_nssconf_dump
  - dns_resconf_setiface
  - dns_resconf_search
  - dns_resconf_dump
  - dns_hints_open
  - dns_hints_close
  - dns_hints_acquire
  - dns_hints_release
  - dns_hints_mortal
  - dns_hints_local
  - dns_hints_root
  - dns_hints_fetch
  - dns_hints_insert
  - dns_hints_isinaddr_any
  - dns_hints_insert_resconf
  - dns_hints_i_cmp
  - dns_hints_i_start
  - dns_hints_i_skip
  - dns_hints_i_init
  - dns_hints_grep
  - dns_hints_query
  - dns_hints_port
  - dns_hints_dump
  - dns_cache_acquire
  - dns_cache_release
  - dns_cache_query
  - dns_cache_submit
  - dns_cache_check
  - dns_cache_fetch
  - dns_cache_pollfd
  - dns_cache_events
  - dns_cache_clear
  - dns_cache_init
  - dns_cache_close
  - dns_socketclose
  - dns_socket
  - dns_so_closefd
  - dns_so_closefds
  - dns_so_init
  - dns_so_open
  - dns_so_destroy
  - dns_so_close
  - dns_so_reset
  - dns_so_mkqid
  - dns_so_newanswer
  - dns_so_submit
  - dns_so_verify
  - dns_so_tcp_keep
  - dns_so_tcp_send_buffer
  - dns_so_tcp_recv_expect
  - dns_so_tcp_recv_buffer
  - dns_so_tcp_send
  - dns_so_tcp_recv
  - dns_so_check
  - dns_so_fetch
  - dns_so_query
  - dns_so_elapsed
  - dns_so_clear
  - dns_so_events2
  - dns_so_events
  - dns_so_pollfd
  - dns_so_poll
  - dns_so_stat
  - dns_so_trace
  - dns_so_settrace
  - dns_res_tcp2type
  - dns_res_open
  - dns_res_stub
  - dns_res_frame_destroy
  - dns_res_frame_init
  - dns_res_frame_reset
  - dns_res_frame_prepare
  - dns_res_reset
  - dns_res_close
  - dns_res_acquire
  - dns_res_release
  - dns_res_mortal
  - dns_res_merge
  - dns_res_glue
  - dns_res_nameserv_cmp
  - dgoto
  - dns_res_exec
  - dns_res_clear
  - dns_res_events2
  - dns_res_events
  - dns_res_pollfd
  - dns_res_timeout
  - dns_res_elapsed
  - dns_res_poll
  - dns_res_submit2
  - dns_res_submit
  - dns_res_check
  - dns_res_fetch
  - dns_res_fetch_and_study
  - dns_res_query
  - dns_res_stat
  - dns_res_sethints
  - dns_res_trace
  - dns_res_settrace
  - DNS_AI_AF2INDEX
  - dns_static_assert
  - dns_ai_nextaf
  - dns_ai_qtype
  - dns_ai_parseport
  - dns_ai_open
  - dns_ai_close
  - dns_ai_setent
  - dns_ai_goto
  - dns_ai_nextent
  - dns_ai_elapsed
  - dns_ai_clear
  - dns_ai_events
  - dns_ai_pollfd
  - dns_ai_timeout
  - dns_ai_poll
  - dns_ai_print
  - dns_ai_stat
  - dns_ai_trace
  - dns_ai_settrace
  - '*(dns_strsection)(enum dns_section section, char *_dst)'
  - dns_isection
  - '*(dns_strclass)(enum dns_class type, char *_dst)'
  - dns_iclass
  - '*(dns_strtype)(enum dns_type type, char *_dst)'
  - dns_itype
  - dns__strcode
  - dns_stropcode
  - dns_iopcode
  - dns_strrcode
  - dns_ircode
  - hexdump
  - panic
  - panic_
  - panic
  - grow
  - add
  - append
  - slurp
  - resconf
  - hosts
  - cache
  - cache
  - trace
  - print_packet
  - parse_domain
  - trim_domain
  - expand_domain
  - show_resconf
  - show_nssconf
  - show_hosts
  - query_hosts
  - search_list
  - permute_set
  - shuffle_16
  - dump_random
  - send_query
  - print_arpa
  - show_hints
  - resolve_query
  - iclass
  - itype
  - iopcode
  - ircode
  - SIZE1
  - SIZE2
  - SIZE3
  - SIZE4
  - SIZE
  - sizes
  - print_usage
  - print_version
  - main_exit
  - main
  source_file: /src/gnupg/dirmngr/dns.c
  types:
    enum:
    - enumerators:
      - name: DNS_RESCONF_FILE
      - name: DNS_RESCONF_INET4
      - name: DNS_RESCONF_NDOTS
      - name: DNS_RESCONF_RECURSE
      - name: DNS_RESCONF_INTERFACE
      - name: DNS_RESCONF_ONLY
      - name: DNS_RESCONF_NAMESERVER
      - name: DNS_RESCONF_LOOKUP
      - name: DNS_RESCONF_FAMILY
      - name: DNS_RESCONF_EDNS0
      - name: DNS_RESCONF_ROTATE
      - name: DNS_RESCONF_TCPx
      - name: DNS_RESCONF_ENABLE
      - name: DNS_RESCONF_SEARCH
      - name: DNS_RESCONF_CACHE
      - name: DNS_RESCONF_OPTIONS
      - name: DNS_RESCONF_ATTEMPTS
      - name: DNS_RESCONF_TCP
      - name: DNS_RESCONF_ONE
      - name: DNS_RESCONF_DOMAIN
      - name: DNS_RESCONF_BIND
      - name: DNS_RESCONF_INET6
      - name: DNS_RESCONF_TIMEOUT
      - name: DNS_RESCONF_SMART
      - name: DNS_RESCONF_ZERO
      - name: DNS_RESCONF_DISABLE
      item_type: enum
      name: dns_resconf_keyword
      pos:
        line_end: 5608
        line_start: 5581
        source_file: /src/gnupg/dirmngr/dns.c
    - enumerators:
      - name: DNS_NSSCONF_INVALID
        value: '0'
      - name: DNS_NSSCONF_SUCCESS
      - name: DNS_NSSCONF_NOTFOUND
      - name: DNS_NSSCONF_UNAVAIL
      - name: DNS_NSSCONF_HOSTS
        value: '1'
      - name: DNS_NSSCONF_TRYAGAIN
      - name: DNS_NSSCONF_CONTINUE
      - name: DNS_NSSCONF_RETURN
      - name: DNS_NSSCONF_FILES
      - name: DNS_NSSCONF_DNS
      - name: DNS_NSSCONF_LAST
      - name: DNS_NSSCONF_MDNS
      item_type: enum
      name: dns_nssconf_keyword
      pos:
        line_end: 6102
        line_start: 6088
        source_file: /src/gnupg/dirmngr/dns.c
    - enumerators:
      - name: DNS_R_SWITCH
      - name: DNS_R_FETCH
      - name: DNS_R_QUERY_A
      - name: DNS_R_HINTS
      - name: DNS_R_RESOLV1_NS
      - name: DNS_R_CNAME1_A
      - name: DNS_R_DONE
      - name: DNS_R_GLUE
      - name: DNS_R_CACHE
      - name: DNS_R_CHECK
      - name: DNS_R_RESOLV0_NS
      - name: DNS_R_CNAME0_A
      - name: DNS_R_SMART1_A
      - name: DNS_R_INIT
      - name: DNS_R_SEARCH
      - name: DNS_R_FOREACH_NS
      - name: DNS_R_QUERY_AAAA
      - name: DNS_R_FOREACH_A
      - name: DNS_R_SMART0_A
      - name: DNS_R_FILE
      - name: DNS_R_SUBMIT
      - name: DNS_R_BIND
      - name: DNS_R_FOREACH_AAAA
      - name: DNS_R_ITERATE
      - name: DNS_R_FINISH
      - name: DNS_R_SERVFAIL
      item_type: enum
      name: dns_res_state
      pos:
        line_end: 8274
        line_start: 8243
        source_file: /src/gnupg/dirmngr/dns.c
    - enumerators:
      - name: DNS_AI_S_INIT
      - name: DNS_AI_S_NEXTAF
      - name: DNS_AI_S_SUBMIT
      - name: DNS_AI_S_NUMERIC
      - name: DNS_AI_S_CHECK
      - name: DNS_AI_S_FETCH
      - name: DNS_AI_S_FOREACH_I
      - name: DNS_AI_S_INIT_G
      - name: DNS_AI_S_ITERATE_G
      - name: DNS_AI_S_FOREACH_G
      - name: DNS_AI_S_SUBMIT_G
      - name: DNS_AI_S_CHECK_G
      - name: DNS_AI_S_FETCH_G
      - name: DNS_AI_S_DONE
      item_type: enum
      name: dns_ai_state
      pos:
        line_end: 9895
        line_start: 9880
        source_file: /src/gnupg/dirmngr/dns.c
    preproc_defs:
    - item_type: preproc_def
      name: _GNU_SOURCE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FD_SETSIZE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: STDCALL
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: __stdcall
    - item_type: preproc_def
      name: HAVE___ASSUME
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: DNS_MSC_PREREQ(8,0,0)
    - item_type: preproc_def
      name: HAVE___BUILTIN_TYPES_COMPATIBLE_P
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: (DNS_GNUC_PREREQ(3,1,1) || __clang__)
    - item_type: preproc_def
      name: HAVE___BUILTIN_UNREACHABLE
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: (DNS_GNUC_PREREQ(4,5,0) || dns_has_builtin(__builtin_unreachable))
    - item_type: preproc_def
      name: HAVE_PRAGMA_MESSAGE
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: (DNS_GNUC_PREREQ(4,4,0) || __clang__ || _MSC_VER)
    - item_type: preproc_def
      name: DNS_NOTUSED
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: __attribute__((unused))
    - item_type: preproc_def
      name: DNS_NORETURN
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: __attribute__((__noreturn__))
    - item_type: preproc_def
      name: PRIuZ
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '"Iu"'
    - item_type: preproc_def
      name: PRIuZ
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '"zu"'
    - item_type: preproc_def
      name: DNS_THREAD_SAFE
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DNS_THREAD_SAFE
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HAVE__STATIC_ASSERT
      pos:
        line_end: 203
        line_start: 200
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: "(dns_has_extension(c_static_assert) || DNS_GNUC_PREREQ(4,6,0)
        || \\\n\t __C11FEATURES__ || __STDC_VERSION__ >= 201112L)"
    - item_type: preproc_def
      name: HAVE_STATIC_ASSERT
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: HAVE_STATIC_ASSERT
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STATIC_ASSERT
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DNS_DEBUG
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: dns_debug
    - item_type: preproc_def
      name: DNS_HAI
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: DNS_SAY("HAI")
    - item_type: preproc_def
      name: DNS_DEBUG
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EPROTO
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: EPROTONOSUPPORT
    - item_type: preproc_def
      name: DNS_EINTR
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: WSAEINTR
    - item_type: preproc_def
      name: DNS_EINPROGRESS
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: WSAEINPROGRESS
    - item_type: preproc_def
      name: DNS_EISCONN
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: WSAEISCONN
    - item_type: preproc_def
      name: DNS_EWOULDBLOCK
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: WSAEWOULDBLOCK
    - item_type: preproc_def
      name: DNS_EALREADY
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: WSAEALREADY
    - item_type: preproc_def
      name: DNS_EAGAIN
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: EAGAIN
    - item_type: preproc_def
      name: DNS_ETIMEDOUT
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: WSAETIMEDOUT
    - item_type: preproc_def
      name: DNS_EINTR
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: EINTR
    - item_type: preproc_def
      name: DNS_EINPROGRESS
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: EINPROGRESS
    - item_type: preproc_def
      name: DNS_EISCONN
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: EISCONN
    - item_type: preproc_def
      name: DNS_EWOULDBLOCK
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: EWOULDBLOCK
    - item_type: preproc_def
      name: DNS_EALREADY
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: EALREADY
    - item_type: preproc_def
      name: DNS_EAGAIN
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: EAGAIN
    - item_type: preproc_def
      name: DNS_ETIMEDOUT
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: ETIMEDOUT
    - item_type: preproc_def
      name: HAVE___ATOMIC_FETCH_ADD
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE___ATOMIC_FETCH_ADD
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HAVE___ATOMIC_FETCH_SUB
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: HAVE___ATOMIC_FETCH_ADD
    - item_type: preproc_def
      name: DNS_RANDOM
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: arc4random
    - item_type: preproc_def
      name: DNS_RANDOM
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: random
    - item_type: preproc_def
      name: DNS_RANDOM
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: rand
    - item_type: preproc_def
      name: DNS_RANDOM_arc4random
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DNS_RANDOM_random
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DNS_RANDOM_rand
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '3'
    - item_type: preproc_def
      name: DNS_RANDOM_RAND_bytes
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '4'
    - item_type: preproc_def
      name: DNS_RANDOM_OPENSSL
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: (DNS_RANDOM_RAND_bytes == DNS_PP_XPASTE(DNS_RANDOM_, DNS_RANDOM))
    - item_type: preproc_def
      name: DNS_K_TEA_KEY_SIZE
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '16'
    - item_type: preproc_def
      name: DNS_K_TEA_BLOCK_SIZE
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '8'
    - item_type: preproc_def
      name: DNS_K_TEA_CYCLES
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '32'
    - item_type: preproc_def
      name: DNS_K_TEA_MAGIC
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: 0x9E3779B9U
    - item_type: preproc_def
      name: DNS_K_PERMUTOR_ROUNDS
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '8'
    - item_type: preproc_def
      name: DNS_SM_ENTER
      pos:
        line_end: 721
        line_start: 715
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: "do { \\\n\tstatic const int pc0 = __LINE__; \\\n\tDNS_SM_RESTORE;
        \\\n\tswitch (pc0 + pc) { \\\n\tcase __LINE__: (void)0"
    - item_type: preproc_def
      name: DNS_SM_EXIT
      pos:
        line_end: 735
        line_start: 733
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: do { goto leave; } while (0)
    - item_type: preproc_def
      name: DNS_SM_LEAVE
      pos:
        line_end: 741
        line_start: 736
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: "leave: (void)0; \\\n\tDNS_SM_SAVE_AND_DO(break); \\\n\t} \\\n\t}
        while (0)"
    - item_type: preproc_def
      name: DNS_MAXINTERVAL
      pos:
        line_end: 748
        line_start: 747
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '300'
    - item_type: preproc_def
      name: DNS_HAVE_SOCKADDR_UN
      pos:
        line_end: 798
        line_start: 797
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DNS_HAVE_SOCKADDR_UN
      pos:
        line_end: 800
        line_start: 799
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DNS_SA_NOPORT
      pos:
        line_end: 820
        line_start: 819
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '&dns_sa_noport'
    - item_type: preproc_def
      name: DNS_SUNPATHMAX
      pos:
        line_end: 863
        line_start: 862
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: (sizeof ((struct sockaddr_un *)0)->sun_path)
    - item_type: preproc_def
      name: DNS_FOPEN_STDFLAGS
      pos:
        line_end: 1252
        line_start: 1251
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '"rwabt+"'
    - item_type: preproc_def
      name: DNS_SM_RESTORE
      pos:
        line_end: 1325
        line_start: 1319
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: "do { \\\n\t\tpc = state->pc; \\\n\t\tsp = src + state->p; \\\n\t\tse
        = src + len; \\\n\t} while (0)"
    - item_type: preproc_def
      name: DNS_SM_SAVE
      pos:
        line_end: 1330
        line_start: 1325
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: "do { \\\n\t\tstate->p = sp - src; \\\n\t\tstate->pc = pc; \\\n\t}
        while (0)"
    - item_type: preproc_def
      name: DNS_TIME_INF
      pos:
        line_end: 1682
        line_start: 1681
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: (~DNS_TIME_C(0))
    - item_type: preproc_def
      name: DNS_SM_RESTORE
      pos:
        line_end: 2119
        line_start: 2118
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: do { pc = state->pc; error = state->error; } while (0)
    - item_type: preproc_def
      name: DNS_SM_SAVE
      pos:
        line_end: 2120
        line_start: 2119
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: do { state->error = error; state->pc = pc; } while (0)
    - item_type: preproc_def
      name: DNS_Q_RD
      pos:
        line_end: 2298
        line_start: 2297
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '0x1 '
    - item_type: preproc_def
      name: DNS_Q_EDNS0
      pos:
        line_end: 2299
        line_start: 2298
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '0x2 '
    - item_type: preproc_def
      name: DNS_D_MAXPTRS
      pos:
        line_end: 2367
        line_start: 2366
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: "127\t"
    - item_type: preproc_def
      name: DNS_TRACE_ID_BITS
      pos:
        line_end: 4541
        line_start: 4540
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: 'DNS_PP_MIN(DBL_MANT_DIG, (sizeof (dns_trace_id_t) * CHAR_BIT)) '
    - item_type: preproc_def
      name: DNS_TRACE_ID_MASK
      pos:
        line_end: 4542
        line_start: 4541
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: (((DNS_TRACE_ID_C(1) << (DNS_TRACE_ID_BITS - 1)) - 1) | (DNS_TRACE_ID_C(1)
        << (DNS_TRACE_ID_BITS - 1)))
    - item_type: preproc_def
      name: DNS_TRACE_ID_PRI
      pos:
        line_end: 4543
        line_start: 4542
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: PRIu64
    - item_type: preproc_def
      name: DNS_SM_RESTORE
      pos:
        line_end: 6449
        line_start: 6443
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: "do { \\\n\t\tpc = 0xff & (*state >> 0); \\\n\t\tsrchi = 0xff
        & (*state >> 8); \\\n\t\tndots = 0xff & (*state >> 16); \\\n\t} while (0)"
    - item_type: preproc_def
      name: DNS_SM_SAVE
      pos:
        line_end: 6456
        line_start: 6450
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: "do { \\\n\t\t*state = ((0xff & pc) << 0) \\\n\t\t       | ((0xff
        & srchi) << 8) \\\n\t\t       | ((0xff & ndots) << 16); \\\n\t} while (0)"
    - item_type: preproc_def
      name: HAVE_IOCTLSOCKET
      pos:
        line_end: 7177
        line_start: 7176
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: (_WIN32 || _WIN64)
    - item_type: preproc_def
      name: HAVE_SOCK_CLOEXEC
      pos:
        line_end: 7182
        line_start: 7181
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SOCK_CLOEXEC
      pos:
        line_end: 7184
        line_start: 7183
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HAVE_SOCK_NONBLOCK
      pos:
        line_end: 7190
        line_start: 7189
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SOCK_NONBLOCK
      pos:
        line_end: 7192
        line_start: 7191
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DNS_SO_MAXTRY
      pos:
        line_end: 7196
        line_start: 7195
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '7'
    - item_type: preproc_def
      name: DNS_SO_CLOSE_UDP
      pos:
        line_end: 7403
        line_start: 7402
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: DNS_SO_CLOSE_TCP
      pos:
        line_end: 7404
        line_start: 7403
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: DNS_SO_CLOSE_OLD
      pos:
        line_end: 7405
        line_start: 7404
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: DNS_SO_CLOSE_ALL
      pos:
        line_end: 7406
        line_start: 7405
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: (DNS_SO_CLOSE_UDP|DNS_SO_CLOSE_TCP|DNS_SO_CLOSE_OLD)
    - item_type: preproc_def
      name: DNS_SO_MINBUF
      pos:
        line_end: 7500
        line_start: 7499
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '768'
    - item_type: preproc_def
      name: DNS_R_MAXDEPTH
      pos:
        line_end: 8278
        line_start: 8277
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '8'
    - item_type: preproc_def
      name: DNS_R_ENDFRAME
      pos:
        line_end: 8279
        line_start: 8278
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: (DNS_R_MAXDEPTH - 1)
    - item_type: preproc_def
      name: DNS_AI_AFMAX
      pos:
        line_end: 9614
        line_start: 9613
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '32'
    - item_type: preproc_def
      name: DNS_SM_RESTORE
      pos:
        line_end: 9634
        line_start: 9632
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: do { pc = 0xff & (ai->af.state >> 0); i = 0xff & (ai->af.state
        >> 8); } while (0)
    - item_type: preproc_def
      name: DNS_SM_SAVE
      pos:
        line_end: 9636
        line_start: 9634
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: do { ai->af.state = ((0xff & pc) << 0) | ((0xff & i) << 8); }
        while (0)
    - item_type: preproc_def
      name: AI_NUMERICSERV
      pos:
        line_end: 9696
        line_start: 9695
        source_file: /src/gnupg/dirmngr/dns.c
      type_or_value: '0'
    structs:
    - fields:
      - name: key[DNS_K_TEA_KEY_SIZE / sizeof (uint32_t)]
        type: uint32_t
      - name: cycles
        type: unsigned
      item_type: struct
      name: dns_k_tea
      pos:
        line_end: 491
        line_start: 488
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: stepi
        type: unsigned
      - name: shift
        type: unsigned
      - name: tea
        type: struct dns_k_tea
      item_type: struct
      name: dns_k_permutor
      pos:
        line_end: 545
        line_start: 540
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: sample
        type: time_t
      item_type: struct
      name: dns_clock
      pos:
        line_end: 751
        line_start: 749
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: pc
        type: int
      - name: p
        type: size_t
      item_type: struct
      name: dns_hxd_lines_i
      pos:
        line_end: 1317
        line_start: 1314
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: '*base'
        type: unsigned char
      - name: '*p'
        type: unsigned char
      - name: '*pe'
        type: unsigned char
      - name: error
        type: dns_error_t
      - name: overflow
        type: size_t
      item_type: struct
      name: dns_buf
      pos:
        line_end: 1433
        line_start: 1427
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: pc
        type: int
      - name: section
        type: enum dns_section
      - name: rr
        type: struct dns_rr
      - name: error
        type: int
      item_type: struct
      name: dns_p_lines_i
      pos:
        line_end: 2126
        line_start: 2121
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: '*b'
        type: unsigned char
      - name: p
        type: size_t
      item_type: struct
      name: dst
      pos:
        line_end: 2561
        line_start: 2561
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: label[DNS_D_MAXLABEL + 1]
        type: unsigned char
      - name: len
        type: size_t
      - name: p
        type: unsigned short
      item_type: struct
      name: a
      pos:
        line_end: 2606
        line_start: 2606
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: '*dst'
        type: void
      - name: lim
        type: size_t
      item_type: struct
      name: "dn[] =\n\t\t{ { soa->mname, sizeof soa->mname },\n\t\t  { soa->rname,
        sizeof soa->rname } }"
      pos:
        line_end: 3664
        line_start: 3664
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: '*b'
        type: unsigned char
      - name: p
        type: size_t
      item_type: struct
      name: dst
      pos:
        line_end: 4273
        line_start: 4273
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: '*b'
        type: unsigned char
      - name: p
        type: size_t
      item_type: struct
      name: dst
      pos:
        line_end: 4306
        line_start: 4306
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: type
        type: enum dns_type
      - name: '*name'
        type: char
      - name: '*(*init)(union dns_any *, size_t)'
        type: union dns_any
      - name: (*parse)(union dns_any *, struct dns_rr *, struct dns_packet *)
        type: int
      - name: (*push)(struct dns_packet *, void *)
        type: int
      - name: (*cmp)(const void *, const void *)
        type: int
      - name: (*print)(void *, size_t, void *)
        type: size_t
      - name: (*cname)(void *, size_t, void *)
        type: size_t
      item_type: struct
      name: dns_rrtype
      pos:
        line_end: 4404
        line_start: 4395
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: refcount
        type: dns_atomic_t
      - name: '*fp'
        type: FILE
      - name: id
        type: dns_trace_id_t
      - name: cnames
        type: "struct {\n\t\tstruct dns_trace_cname {\n\t\t\tchar host[DNS_D_MAXNAME
          + 1];\n\t\t\tstruct sockaddr_storage addr;\n\t\t} base[4];\n\t\tsize_t p;\n\t}"
      item_type: struct
      name: dns_trace
      pos:
        line_end: 4572
        line_start: 4559
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: host[DNS_D_MAXNAME + 1]
        type: char
      - name: addr
        type: struct sockaddr_storage
      item_type: struct
      name: dns_trace_cname
      pos:
        line_end: 4569
        line_start: 4566
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: id
        type: dns_trace_id_t
      - name: begin
        type: dns_microseconds_t
      item_type: struct
      name: state = { 0 }
      pos:
        line_end: 4971
        line_start: 4968
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: '*head'
        type: "struct dns_hosts_entry {\n\t\tchar host[DNS_D_MAXNAME + 1];\n\t\tchar
          arpa[73 + 1];\n\n\t\tint af;\n\n\t\tunion {\n\t\t\tstruct in_addr a4;\n\t\t\tstruct
          in6_addr a6;\n\t\t} addr;\n\n\t\t_Bool alias;\n\n\t\tstruct dns_hosts_entry
          *next;\n\t}"
      - name: refcount
        type: dns_atomic_t
      item_type: struct
      name: dns_hosts
      pos:
        line_end: 5155
        line_start: 5137
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: host[DNS_D_MAXNAME + 1]
        type: char
      - name: arpa[73 + 1]
        type: char
      - name: af
        type: int
      - name: addr
        type: "union {\n\t\t\tstruct in_addr a4;\n\t\t\tstruct in6_addr a6;\n\t\t}"
      - name: alias
        type: _Bool
      - name: '*next'
        type: struct dns_hosts_entry
      item_type: struct
      name: dns_hosts_entry
      pos:
        line_end: 5152
        line_start: 5138
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: buf[128]
        type: char
      item_type: struct
      name: addr = { "", addr.buf }
      pos:
        line_end: 5660
        line_start: 5660
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: '*token[16]'
        type: char
      - name: count
        type: unsigned
      - name: buffer[1024]
        type: char
      item_type: struct
      name: dns_anyconf
      pos:
        line_end: 5926
        line_start: 5922
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: source
        type: enum dns_nssconf_keyword
      item_type: struct
      name: dns_nssconf_source
      pos:
        line_end: 6307
        line_start: 6305
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: zone[DNS_D_MAXNAME + 1]
        type: unsigned char
      - name: addrs[16]
        type: "struct {\n\t\tstruct sockaddr_storage ss;\n\t\tunsigned priority;\n\t}"
      - name: count
        type: unsigned
      - name: '*next'
        type: struct dns_hints_soa
      item_type: struct
      name: dns_hints_soa
      pos:
        line_end: 6604
        line_start: 6593
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: refcount
        type: dns_atomic_t
      - name: '*head'
        type: struct dns_hints_soa
      item_type: struct
      name: dns_hints
      pos:
        line_end: 6611
        line_start: 6607
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: af
        type: int
      - name: addr[INET6_ADDRSTRLEN]
        type: char
      item_type: struct
      name: "root_hints[] = {\n\t\t{ AF_INET,\t\"198.41.0.4\"\t\t},\t/* A.ROOT-SERVERS.NET.
        */\n\t\t{ AF_INET6,\t\"2001:503:ba3e::2:30\"\t},\t/* A.ROOT-SERVERS.NET. */\n\t\t{
        AF_INET,\t\"192.228.79.201\"\t},\t/* B.ROOT-SERVERS.NET. */\n\t\t{ AF_INET6,\t\"2001:500:84::b\"\t},\t/*
        B.ROOT-SERVERS.NET. */\n\t\t{ AF_INET,\t\"192.33.4.12\"\t\t},\t/* C.ROOT-SERVERS.NET.
        */\n\t\t{ AF_INET6,\t\"2001:500:2::c\"\t\t},\t/* C.ROOT-SERVERS.NET. */\n\t\t{
        AF_INET,\t\"199.7.91.13\"\t\t},\t/* D.ROOT-SERVERS.NET. */\n\t\t{ AF_INET6,\t\"2001:500:2d::d\"\t},\t/*
        D.ROOT-SERVERS.NET. */\n\t\t{ AF_INET,\t\"192.203.230.10\"\t},\t/* E.ROOT-SERVERS.NET.
        */\n\t\t{ AF_INET,\t\"192.5.5.241\"\t\t},\t/* F.ROOT-SERVERS.NET. */\n\t\t{
        AF_INET6,\t\"2001:500:2f::f\"\t},\t/* F.ROOT-SERVERS.NET. */\n\t\t{ AF_INET,\t\"192.112.36.4\"\t\t},\t/*
        G.ROOT-SERVERS.NET. */\n\t\t{ AF_INET,\t\"128.63.2.53\"\t\t},\t/* H.ROOT-SERVERS.NET.
        */\n\t\t{ AF_INET6,\t\"2001:500:1::803f:235\"\t},\t/* H.ROOT-SERVERS.NET.
        */\n\t\t{ AF_INET,\t\"192.36.148.17\"\t\t},\t/* I.ROOT-SERVERS.NET. */\n\t\t{
        AF_INET6,\t\"2001:7FE::53\"\t\t},\t/* I.ROOT-SERVERS.NET. */\n\t\t{ AF_INET,\t\"192.58.128.30\"\t\t},\t/*
        J.ROOT-SERVERS.NET. */\n\t\t{ AF_INET6,\t\"2001:503:c27::2:30\"\t},\t/* J.ROOT-SERVERS.NET.
        */\n\t\t{ AF_INET,\t\"193.0.14.129\"\t\t},\t/* K.ROOT-SERVERS.NET. */\n\t\t{
        AF_INET6,\t\"2001:7FD::1\"\t\t},\t/* K.ROOT-SERVERS.NET. */\n\t\t{ AF_INET,\t\"199.7.83.42\"\t\t},\t/*
        L.ROOT-SERVERS.NET. */\n\t\t{ AF_INET6,\t\"2001:500:3::42\"\t},\t/* L.ROOT-SERVERS.NET.
        */\n\t\t{ AF_INET,\t\"202.12.27.33\"\t\t},\t/* M.ROOT-SERVERS.NET. */\n\t\t{
        AF_INET6,\t\"2001:DC3::35\"\t\t},\t/* M.ROOT-SERVERS.NET. */\n\t}"
      pos:
        line_end: 6707
        line_start: 6704
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: opts
        type: struct dns_options
      - name: udp
        type: int
      - name: tcp
        type: int
      - name: '*old'
        type: int
      - name: onum
        type: unsigned
      - name: type
        type: int
      - name: local
        type: struct sockaddr_storage
      - name: qids
        type: struct dns_k_permutor
      - name: stat
        type: struct dns_stat
      - name: '*trace'
        type: struct dns_trace
      - name: state
        type: int
      - name: qid
        type: unsigned short
      - name: qname[DNS_D_MAXNAME + 1]
        type: char
      - name: qlen
        type: size_t
      - name: qtype
        type: enum dns_type
      - name: qclass
        type: enum dns_class
      - name: '*query'
        type: struct dns_packet
      - name: qout
        type: size_t
      - name: '*query_backup'
        type: struct dns_packet
      - name: elapsed
        type: struct dns_clock
      - name: '*answer'
        type: struct dns_packet
      - name: alen
        type: size_t
      item_type: struct
      name: dns_socket
      pos:
        line_end: 7362
        line_start: 7321
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: so
        type: struct dns_socket
      - name: '*resconf'
        type: struct dns_resolv_conf
      - name: '*hosts'
        type: struct dns_hosts
      - name: '*hints'
        type: struct dns_hints
      - name: '*cache'
        type: struct dns_cache
      - name: '*trace'
        type: struct dns_trace
      - name: refcount
        type: dns_atomic_t
      - name: qname[DNS_D_MAXNAME + 1]
        type: char
      - name: qlen
        type: size_t
      - name: qtype
        type: enum dns_type
      - name: qclass
        type: enum dns_class
      - name: elapsed
        type: struct dns_clock
      - name: search
        type: dns_resconf_i_t
      - name: smart
        type: struct dns_rr_i
      - name: '*nodata'
        type: struct dns_packet
      - name: sp
        type: unsigned
      - name: stack[DNS_R_MAXDEPTH]
        type: "struct dns_res_frame {\n\t\tenum dns_res_state state;\n\n\t\tint error;\n\t\tint
          which;\t/* (B)IND, (F)ILE; index into resconf->lookup */\n\t\tint qflags;\n\n\t\tunsigned
          attempts;\n\n\t\tstruct dns_packet *query, *answer, *hints;\n\n\t\tstruct
          dns_rr_i hints_i, hints_j;\n\t\tstruct dns_rr hints_ns, ans_cname;\n\t}"
      item_type: struct
      name: dns_resolver
      pos:
        line_end: 8323
        line_start: 8280
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: state
        type: enum dns_res_state
      - name: error
        type: int
      - name: which
        type: int
      - name: qflags
        type: int
      - name: attempts
        type: unsigned
      - name: '*query'
        type: struct dns_packet
      - name: hints_i
        type: struct dns_rr_i
      - name: hints_ns
        type: struct dns_rr
      item_type: struct
      name: dns_res_frame
      pos:
        line_end: 8322
        line_start: 8309
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: hints
        type: struct addrinfo
      - name: '*res'
        type: struct dns_resolver
      - name: '*trace'
        type: struct dns_trace
      - name: qname[DNS_D_MAXNAME + 1]
        type: char
      - name: qtype
        type: enum dns_type
      - name: qport
        type: unsigned short
      - name: af
        type: "struct {\n\t\tunsigned long todo;\n\t\tint state;\n\t\tint atype;\n\t\tenum
          dns_type qtype;\n\t}"
      - name: '*answer'
        type: struct dns_packet
      - name: '*glue'
        type: struct dns_packet
      - name: i
        type: struct dns_rr_i
      - name: rr
        type: struct dns_rr
      - name: cname[DNS_D_MAXNAME + 1]
        type: char
      - name: i_cname[DNS_D_MAXNAME + 1]
        type: char
      - name: g_depth
        type: int
      - name: state
        type: int
      - name: found
        type: int
      - name: st
        type: struct dns_stat
      item_type: struct
      name: dns_addrinfo
      pos:
        line_end: 9610
        line_start: 9579
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: name[16]
        type: char
      - name: type
        type: enum dns_section
      item_type: struct
      name: "dns_sections[] = {\n\t{ \"QUESTION\",   DNS_S_QUESTION },\n\t{ \"QD\",
        \        DNS_S_QUESTION },\n\t{ \"ANSWER\",     DNS_S_ANSWER },\n\t{ \"AN\",
        \        DNS_S_ANSWER },\n\t{ \"AUTHORITY\",  DNS_S_AUTHORITY },\n\t{ \"NS\",
        \        DNS_S_AUTHORITY },\n\t{ \"ADDITIONAL\", DNS_S_ADDITIONAL },\n\t{
        \"AR\",         DNS_S_ADDITIONAL },\n}"
      pos:
        line_end: 10217
        line_start: 10214
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: name[8]
        type: char
      - name: type
        type: enum dns_class
      item_type: struct
      name: "dns_classes[] = {\n\t{ \"IN\", DNS_C_IN },\n}"
      pos:
        line_end: 10273
        line_start: 10270
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: resconf
        type: "struct {\n\t\tconst char *path[8];\n\t\tunsigned count;\n\t}"
      - name: '*qname'
        type: char
      - name: qtype
        type: enum dns_type
      - name: (*sort)()
        type: int
      - name: '*trace'
        type: char
      - name: verbose
        type: int
      - name: memo
        type: "struct {\n\t\tstruct dns_resolv_conf *resconf;\n\t\tstruct dns_hosts
          *hosts;\n\t\tstruct dns_trace *trace;\n\t}"
      - name: socks_host
        type: struct sockaddr_storage
      - name: '*socks_user'
        type: char
      - name: '*socks_password'
        type: char
      item_type: struct
      name: "MAIN = {\n\t.sort\t= &dns_rr_i_packet,\n}"
      pos:
        line_end: 10492
        line_start: 10468
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: '*name'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: "type[] = {\n\t\tSIZE(struct dns_header, struct dns_packet, struct dns_rr,
        struct dns_rr_i),\n\t\tSIZE(struct dns_a, struct dns_aaaa, struct dns_mx,
        struct dns_ns),\n\t\tSIZE(struct dns_cname, struct dns_soa, struct dns_ptr,
        struct dns_srv),\n\t\tSIZE(struct dns_sshfp, struct dns_txt, union dns_any),\n\t\tSIZE(struct
        dns_resolv_conf, struct dns_hosts, struct dns_hints, struct dns_hints_i),\n\t\tSIZE(struct
        dns_options, struct dns_socket, struct dns_resolver, struct dns_addrinfo),\n\t\tSIZE(struct
        dns_cache), SIZE(size_t), SIZE(void *), SIZE(long)\n\t}"
      pos:
        line_end: 11422
        line_start: 11422
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: '*cmd'
        type: char
      - name: (*run)()
        type: int
      - name: '*help'
        type: char
      item_type: struct
      name: "cmds[] = {\n\t{ \"parse-packet\",\t&parse_packet,\t\t\"parse binary packet
        from stdin\" },\n\t{ \"parse-domain\",\t&parse_domain,\t\t\"anchor and iteratively
        cleave domain\" },\n\t{ \"trim-domain\",\t&trim_domain,\t\t\"trim and anchor
        domain name\" },\n\t{ \"expand-domain\",\t&expand_domain,\t\t\"expand domain
        at offset NN in packet from stdin\" },\n\t{ \"show-resconf\",\t&show_resconf,\t\t\"show
        resolv.conf data\" },\n\t{ \"show-hosts\",\t\t&show_hosts,\t\t\"show hosts
        data\" },\n\t{ \"show-nssconf\",\t&show_nssconf,\t\t\"show nsswitch.conf data\"
        },\n\t{ \"query-hosts\",\t&query_hosts,\t\t\"query A, AAAA or PTR in hosts
        data\" },\n\t{ \"search-list\",\t&search_list,\t\t\"generate query search
        list from domain\" },\n\t{ \"permute-set\",\t&permute_set,\t\t\"generate random
        permutation -> (0 .. N or N .. M)\" },\n\t{ \"shuffle-16\",\t\t&shuffle_16,\t\t\"simple
        16-bit permutation\" },\n\t{ \"dump-random\",\t&dump_random,\t\t\"generate
        random bytes\" },\n\t{ \"send-query\",\t\t&send_query,\t\t\"send query to
        host\" },\n\t{ \"send-query-udp\",\t&send_query,\t\t\"send udp query to host\"
        },\n\t{ \"send-query-tcp\",\t&send_query,\t\t\"send tcp query to host\" },\n\t{
        \"print-arpa\",\t\t&print_arpa,\t\t\"print arpa. zone name of address\" },\n\t{
        \"show-hints\",\t\t&show_hints,\t\t\"print hints: show-hints [local|root]
        [plain|packet]\" },\n\t{ \"resolve-stub\",\t&resolve_query,\t\t\"resolve as
        stub resolver\" },\n\t{ \"resolve-recurse\",\t&resolve_query,\t\t\"resolve
        as recursive resolver\" },\n\t{ \"addrinfo-stub\",\t&resolve_addrinfo,\t\"resolve
        through getaddrinfo clone\" },\n\t{ \"addrinfo-recurse\",\t&resolve_addrinfo,\t\"resolve
        through getaddrinfo clone\" },\n/*\t{ \"resolve-nameinfo\",\t&resolve_query,\t\t\"resolve
        as recursive resolver\" }, */\n\t{ \"dump-trace\",         &dump_trace,            \"dump
        the contents of a trace file\" },\n\t{ \"echo\",\t\t&echo_port,\t\t\"server
        echo mode, for nmap fuzzing\" },\n\t{ \"isection\",\t\t&isection,\t\t\"parse
        section string\" },\n\t{ \"iclass\",\t\t&iclass,\t\t\"parse class string\"
        },\n\t{ \"itype\",\t\t&itype,\t\t\t\"parse type string\" },\n\t{ \"iopcode\",\t\t&iopcode,\t\t\"parse
        opcode string\" },\n\t{ \"ircode\",\t\t&ircode,\t\t\"parse rcode string\"
        },\n\t{ \"sizes\",\t\t&sizes,\t\t\t\"print data structure sizes\" },\n}"
      pos:
        line_end: 11443
        line_start: 11443
        source_file: /src/gnupg/dirmngr/dns.c
    typedefs:
    - item_type: typedef
      name: socket_fd_t
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/gnupg/dirmngr/dns.c
      type: SOCKET
    - item_type: typedef
      name: socket_fd_t
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/gnupg/dirmngr/dns.c
      type: int
    - item_type: typedef
      name: dns_time_t
      pos:
        line_end: 1683
        line_start: 1683
        source_file: /src/gnupg/dirmngr/dns.c
      type: uint64_t
    - item_type: typedef
      name: dns_microseconds_t
      pos:
        line_end: 1684
        line_start: 1684
        source_file: /src/gnupg/dirmngr/dns.c
      type: dns_time_t
    - item_type: typedef
      name: dns_nssconf_i
      pos:
        line_end: 6309
        line_start: 6309
        source_file: /src/gnupg/dirmngr/dns.c
      type: unsigned
    union:
    - fields:
      - name: sin
        type: struct sockaddr_in
      - name: sin6
        type: struct sockaddr_in6
      item_type: union
      name: u
      pos:
        line_end: 945
        line_start: 945
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: sin
        type: struct sockaddr_in
      - name: sin6
        type: struct sockaddr_in6
      item_type: union
      name: u
      pos:
        line_end: 968
        line_start: 968
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: b[dns_p_calcsize((512))]
        type: unsigned char
      - name: p
        type: struct dns_packet
      item_type: union
      name: P_instance = { 0 }
      pos:
        line_end: 5385
        line_start: 5385
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: sin
        type: struct sockaddr_in
      item_type: union
      name: tmp
      pos:
        line_end: 6820
        line_start: 6820
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: b[dns_p_calcsize((512))]
        type: unsigned char
      - name: p
        type: struct dns_packet
      item_type: union
      name: P_instance = { 0 }
      pos:
        line_end: 6952
        line_start: 6952
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: b[dns_p_calcsize((512))]
        type: unsigned char
      - name: p
        type: struct dns_packet
      item_type: union
      name: P_instance = { 0 }
      pos:
        line_end: 8584
        line_start: 8584
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: host[DNS_D_MAXNAME + 1]
        type: char
      - name: name[DNS_D_MAXNAME + 1]
        type: char
      - name: ns
        type: struct dns_ns
      - name: cname
        type: struct dns_cname
      item_type: union
      name: u
      pos:
        line_end: 8694
        line_start: 8689
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: ns
        type: struct dns_ns
      - name: mx
        type: struct dns_mx
      - name: srv
        type: struct dns_srv
      item_type: union
      name: rd
      pos:
        line_end: 9238
        line_start: 9234
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: sin
        type: struct sockaddr_in
      - name: sin6
        type: struct sockaddr_in6
      - name: ss
        type: struct sockaddr_storage
      item_type: union
      name: u
      pos:
        line_end: 9824
        line_start: 9820
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: b[dns_p_calcsize((512))]
        type: unsigned char
      - name: p
        type: struct dns_packet
      item_type: union
      name: P_instance = { 0 }
      pos:
        line_end: 10727
        line_start: 10727
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: b[dns_p_calcsize((512))]
        type: unsigned char
      - name: p
        type: struct dns_packet
      item_type: union
      name: Q_instance = { 0 }
      pos:
        line_end: 10728
        line_start: 10728
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: b[dns_p_calcsize((512))]
        type: unsigned char
      - name: p
        type: struct dns_packet
      item_type: union
      name: Q_instance = { 0 }
      pos:
        line_end: 10938
        line_start: 10938
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: a
        type: struct in_addr
      - name: a6
        type: struct in6_addr
      item_type: union
      name: addr
      pos:
        line_end: 10953
        line_start: 10953
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: b[dns_p_calcsize((512))]
        type: unsigned char
      - name: p
        type: struct dns_packet
      item_type: union
      name: Q_instance = { 0 }
      pos:
        line_end: 11057
        line_start: 11057
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: a4
        type: struct in_addr
      - name: a6
        type: struct in6_addr
      item_type: union
      name: addr
      pos:
        line_end: 11122
        line_start: 11122
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: b[dns_p_calcsize((512))]
        type: unsigned char
      - name: p
        type: struct dns_packet
      item_type: union
      name: P_instance = { 0 }
      pos:
        line_end: 11154
        line_start: 11154
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: sa
        type: struct sockaddr
      - name: sin
        type: struct sockaddr_in
      item_type: union
      name: port
      pos:
        line_end: 11305
        line_start: 11302
        source_file: /src/gnupg/dirmngr/dns.c
    - fields:
      - name: b[dns_p_calcsize((512))]
        type: unsigned char
      - name: p
        type: struct dns_packet
      item_type: union
      name: P_instance = { 0 }
      pos:
        line_end: 11320
        line_start: 11320
        source_file: /src/gnupg/dirmngr/dns.c
- function_names: []
  source_file: /src/gnupg/dirmngr/ldap-wrapper.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - register_file_reader
  - get_file_reader
  - my_es_read
  - no_crl_due_to_tor
  - crl_fetch
  - crl_fetch_default
  - ca_cert_fetch
  - start_cert_fetch
  - fetch_next_cert
  - fetch_next_ksba_cert
  - end_cert_fetch
  - read_cert_via_http
  - fetch_cert_by_url
  - crl_close_reader
  source_file: /src/gnupg/dirmngr/crlfetch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_FILE_READER
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/gnupg/dirmngr/crlfetch.c
      type_or_value: '50'
    structs:
    - fields:
      - name: fp
        type: estream_t
      - name: checked
        type: unsigned int
      - name: is_pem
        type: unsigned int
      - name: b64state
        type: gpgrt_b64state_t
      item_type: struct
      name: reader_cb_context_s
      pos:
        line_end: 45
        line_start: 39
        source_file: /src/gnupg/dirmngr/crlfetch.c
    - fields:
      - name: reader
        type: ksba_reader_t
      - name: '*cb_ctx'
        type: struct reader_cb_context_s
      item_type: struct
      name: file_reader_map_s
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/gnupg/dirmngr/crlfetch.c
    typedefs: []
    union: []
- function_names:
  - map_assuan_err
  - struct
  source_file: /src/gnupg/dirmngr/dirmngr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_DIGEST_LEN
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: '64     '
    - item_type: preproc_def
      name: DBG_X509_VALUE
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: DBG_CRYPTO_VALUE
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: DBG_DNS_VALUE
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: '16    '
    - item_type: preproc_def
      name: DBG_MEMORY_VALUE
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: "32\t"
    - item_type: preproc_def
      name: DBG_CACHE_VALUE
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: "64\t"
    - item_type: preproc_def
      name: DBG_MEMSTAT_VALUE
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: "128\t"
    - item_type: preproc_def
      name: DBG_HASHING_VALUE
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: "512\t"
    - item_type: preproc_def
      name: DBG_IPC_VALUE
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: '1024  '
    - item_type: preproc_def
      name: DBG_NETWORK_VALUE
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: '2048  '
    - item_type: preproc_def
      name: DBG_LOOKUP_VALUE
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: '8192  '
    - item_type: preproc_def
      name: DBG_EXTPROG_VALUE
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: '16384 '
    - item_type: preproc_def
      name: DBG_KEEPTMP_VALUE
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: '32768 '
    - item_type: preproc_def
      name: DBG_LDAP_VALUE
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: '65536 '
    - item_type: preproc_def
      name: DBG_X509
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: (opt.debug & DBG_X509_VALUE)
    - item_type: preproc_def
      name: DBG_CRYPTO
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: (opt.debug & DBG_CRYPTO_VALUE)
    - item_type: preproc_def
      name: DBG_DNS
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: (opt.debug & DBG_DNS_VALUE)
    - item_type: preproc_def
      name: DBG_MEMORY
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: (opt.debug & DBG_MEMORY_VALUE)
    - item_type: preproc_def
      name: DBG_CACHE
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: (opt.debug & DBG_CACHE_VALUE)
    - item_type: preproc_def
      name: DBG_HASHING
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: (opt.debug & DBG_HASHING_VALUE)
    - item_type: preproc_def
      name: DBG_IPC
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: (opt.debug & DBG_IPC_VALUE)
    - item_type: preproc_def
      name: DBG_NETWORK
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: (opt.debug & DBG_NETWORK_VALUE)
    - item_type: preproc_def
      name: DBG_LOOKUP
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: (opt.debug & DBG_LOOKUP_VALUE)
    - item_type: preproc_def
      name: DBG_EXTPROG
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: (opt.debug & DBG_EXTPROG_VALUE)
    - item_type: preproc_def
      name: DBG_KEEPTMP
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: (opt.debug & DBG_KEEPTMP_VALUE)
    - item_type: preproc_def
      name: DBG_LDAP
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: (opt.debug & DBG_LDAP_VALUE)
    - item_type: preproc_def
      name: COMPAT_RESTRICT_HTTP_REDIR
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: '1'
    - item_type: preproc_def
      name: COMPAT_OCSP_SHA256_CERTID
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: '2'
    - item_type: preproc_def
      name: SERVER_CONTROL_MAGIC
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: '0x6469726d6e677220'
    - item_type: preproc_def
      name: SERVER_CONTROL_MAGIC
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type_or_value: '0x6469726d'
    structs:
    - fields:
      - name: '* next'
        type: struct ldap_server_s
      - name: '*host'
        type: char
      - name: port
        type: int
      - name: '*user'
        type: char
      - name: '*pass'
        type: char
      - name: '*base'
        type: char
      - name: starttls
        type: unsigned int
      - name: ldap_over_tls
        type: unsigned int
      - name: ntds
        type: unsigned int
      - name: areconly
        type: unsigned int
      - name: upload
        type: unsigned int
      item_type: struct
      name: ldap_server_s
      pos:
        line_end: 63
        line_start: 49
        source_file: /src/gnupg/dirmngr/dirmngr.h
    - fields:
      - name: '*next'
        type: struct uri_item_s
      - name: parsed_uri
        type: parsed_uri_t
      - name: uri[1]
        type: char
      item_type: struct
      name: uri_item_s
      pos:
        line_end: 75
        line_start: 70
        source_file: /src/gnupg/dirmngr/dirmngr.h
    - fields:
      - name: next
        type: fingerprint_list_t
      - name: binlen
        type: char
      - name: hexfpr[20+20+1]
        type: char
      item_type: struct
      name: fingerprint_list_s
      pos:
        line_end: 87
        line_start: 82
        source_file: /src/gnupg/dirmngr/dirmngr.h
    - fields:
      - name: '*next'
        type: struct cert_ref_s
      - name: fpr[20]
        type: unsigned char
      item_type: struct
      name: cert_ref_s
      pos:
        line_end: 225
        line_start: 221
        source_file: /src/gnupg/dirmngr/dirmngr.h
    - fields:
      - name: magic
        type: unsigned long
      - name: refcount
        type: int
      - name: no_server
        type: int
      - name: status_fd
        type: int
      - name: '*server_local'
        type: struct server_local_s
      - name: '*ks_get_state'
        type: struct ks_engine_ldap_local_s
      - name: force_crl_refresh
        type: int
      - name: check_revocations_nest_level
        type: int
      - name: ocsp_certs
        type: cert_ref_t
      - name: audit_events
        type: int
      - name: '*http_proxy'
        type: char
      - name: rootdse
        type: nvc_t
      - name: timeout
        type: unsigned int
      - name: http_no_crl
        type: unsigned int
      - name: rootdse_tried
        type: unsigned int
      item_type: struct
      name: server_control_s
      pos:
        line_end: 264
        line_start: 241
        source_file: /src/gnupg/dirmngr/dirmngr.h
    typedefs:
    - item_type: typedef
      name: '*ldap_server_t'
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type: ldap_server_s
    - item_type: typedef
      name: '*uri_item_t'
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type: uri_item_s
    - item_type: typedef
      name: '*fingerprint_list_t'
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type: fingerprint_list_s
    - item_type: typedef
      name: '*cert_ref_t'
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type: cert_ref_s
    - item_type: typedef
      name: '*(*wqtask_t)(ctrl_t ctrl, const char *args)'
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/gnupg/dirmngr/dirmngr.h
      type: char
    union: []
- function_names:
  - my_strusage
  - my_ksba_hash_buffer
  - my_gnutls_log
  - set_debug
  - set_tor_mode
  - dirmngr_use_tor
  - dirmngr_never_use_tor_p
  - wrong_args
  - shutdown_reaper
  - parse_rereadable_options
  - post_option_parsing
  - pid_suffix_callback
  - my_ntbtls_log_handler
  - dirmngr_thread_init
  - initialize_modules
  - main
  - cleanup
  - dirmngr_exit
  - dirmngr_init_default_ctrl
  - dirmngr_deinit_default_ctrl
  - parse_ldapserver_file
  - parse_fingerprint_item
  - reread_configuration
  - dirmngr_sighup_action
  - netactivity_action
  - handle_signal
  - housekeeping_thread
  - time_for_housekeeping_p
  - handle_tick
  - check_nonce
  - start_connection_thread
  - my_inotify_is_name
  - handle_connections
  - dirmngr_get_current_socket_name
  - get_revision_from_blurb
  - gpgconf_versions
  source_file: /src/gnupg/dirmngr/dirmngr.c
  types:
    enum:
    - enumerators:
      - name: aNull
        value: '0'
      - name: aFetchCRL
      - name: oNoDetach
      - name: oListenBacklog
      - name: oLDAPTimeout
      - name: oSocketName
      - name: oQuiet
        value: '''q'''
      - name: oDebug
      - name: oIgnoreLDAPDP
      - name: oOCSPMaxPeriod
      - name: oNoUseTor
      - name: oLDAPServer
      - name: oAllowVersionCheck
      - name: oConnectTimeout
      - name: aListCRLs
      - name: oNoOptions
      - name: aGPGConfVersions
      - name: oDisableIPv4
      - name: oIgnoreCRLExtension
      - name: oOCSPSigner
      - name: aDaemon
      - name: oDebugCacheExpiredCerts
      - name: oRecursiveResolver
      - name: oLDAPProxy
      - name: oForce
      - name: aGPGConfList
      - name: oDisableHTTP
      - name: oUserAgent
      - name: oIgnoreCert
      - name: oDisableCheckOwnSocket
      - name: oNoVerbose
        value: '500'
      - name: oDebugLevel
      - name: oHonorHTTPProxy
      - name: oHkpCaCert
      - name: oLDAPAddServers
      - name: oLDAPWrapperProgram
      - name: aShutdown
      - name: oLogFile
      - name: oFakeCRL
      - name: oSh
        value: '''s'''
      - name: oDebugAll
      - name: oIgnoreHTTPDP
      - name: oOCSPCurrentPeriod
      - name: oKeyServer
      - name: oConnectQuickTimeout
      - name: aLoadCRL
      - name: oHomedir
      - name: oLDAPFile
      - name: oStealSocket
      - name: aTest
      - name: oCsh
        value: '''c'''
      - name: oOptions
      - name: oDisableIPv6
      - name: oUseTor
      - name: oOCSPMaxClockSkew
      - name: oResolverTimeout
      - name: oAllowOCSP
      - name: aSupervised
      - name: oNoGreeting
      - name: oOnlyLDAPProxy
      - name: aGPGConfTest
      - name: oDisableLDAP
      - name: oIgnoreCertExtension
      - name: aServer
      - name: oGnutlsDebug
      - name: oHTTPProxy
      - name: oFakedSystemTime
      - name: oStandardResolver
      - name: oOCSPResponder
      - name: oHTTPWrapperProgram
      - name: aFlush
      - name: oBatch
      - name: oCompatibilityFlags
      - name: oNameServer
      - name: oVerbose
        value: '''v'''
      - name: oDebugWait
      - name: oIgnoreOCSPSvcUrl
      - name: oMaxReplies
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 165
        line_start: 84
        source_file: /src/gnupg/dirmngr/dirmngr.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/gnupg/dirmngr/dirmngr.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ENAMETOOLONG
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/gnupg/dirmngr/dirmngr.c
      type_or_value: EINVAL
    - item_type: preproc_def
      name: DEFAULT_MAX_REPLIES
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/gnupg/dirmngr/dirmngr.c
      type_or_value: '10'
    - item_type: preproc_def
      name: DEFAULT_LDAP_TIMEOUT
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/gnupg/dirmngr/dirmngr.c
      type_or_value: '15  '
    - item_type: preproc_def
      name: DEFAULT_CONNECT_TIMEOUT
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/gnupg/dirmngr/dirmngr.c
      type_or_value: '(15*1000)  '
    - item_type: preproc_def
      name: DEFAULT_CONNECT_QUICK_TIMEOUT
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/gnupg/dirmngr/dirmngr.c
      type_or_value: '( 2*1000)  '
    - item_type: preproc_def
      name: TIMERTICK_INTERVAL
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/gnupg/dirmngr/dirmngr.c
      type_or_value: (60)
    - item_type: preproc_def
      name: TIMERTICK_INTERVAL_SHUTDOWN
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/gnupg/dirmngr/dirmngr.c
      type_or_value: (4)
    - item_type: preproc_def
      name: HOUSEKEEPING_INTERVAL
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/gnupg/dirmngr/dirmngr.c
      type_or_value: (600)
    structs: []
    typedefs: []
    union:
    - fields:
      - name: aint
        type: int
      - name: afd
        type: assuan_fd_t
      - name: '*aptr'
        type: void
      item_type: union
      name: int_and_ptr_u
      pos:
        line_end: 435
        line_start: 430
        source_file: /src/gnupg/dirmngr/dirmngr.c
    - fields:
      - name: ev
        type: struct inotify_event
      - name: _buf[sizeof (struct inotify_event) + 100 + 1]
        type: char
      item_type: union
      name: buf
      pos:
        line_end: 2341
        line_start: 2338
        source_file: /src/gnupg/dirmngr/dirmngr.c
- function_names:
  - init_sockets
  - main
  source_file: /src/gnupg/dirmngr/t-dns-stuff.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/dirmngr/t-dns-stuff.c
      type_or_value: '"t-dns-stuff"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_free
  - my_unprotect
  - my_protect
  - my_unprotect
  - my_protect
  - enable_standard_resolver
  - standard_resolver_p
  - enable_recursive_resolver
  - recursive_resolver_p
  - enable_dns_tormode
  - disable_dns_tormode
  - set_dns_verbose
  - set_dns_disable_ipv4
  - set_dns_disable_ipv6
  - set_dns_timeout
  - set_dns_nameserver
  - free_dns_addrinfo
  - get_h_errno_as_gpg_error
  - map_eai_to_gpg_error
  - libdns_error_to_gpg_error
  - resolv_conf_changed_p
  - libdns_init
  - libdns_deinit
  - reload_dns_stuff
  - dns_stuff_housekeeping
  - libdns_res_open
  - libdns_switch_port_p
  - libdns_res_submit
  - libdns_res_wait
  - resolve_name_libdns
  - resolve_name_standard
  - resolve_dns_name
  - resolve_addr_libdns
  - resolve_addr_standard
  - resolve_dns_addr
  - is_ip_address
  - is_onion_address
  - get_dns_cert_libdns
  - get_dns_cert_standard
  - get_dns_cert
  - priosort
  - getsrv_libdns
  - getsrv_standard
  - get_dns_srv
  - get_dns_cname_libdns
  - get_dns_cname_standard
  - get_dns_cname
  - check_inet_support
  source_file: /src/gnupg/dirmngr/dns-stuff.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AI_ADDRCONFIG
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/gnupg/dirmngr/dns-stuff.c
      type_or_value: '0'
    - item_type: preproc_def
      name: T_SRV
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/gnupg/dirmngr/dns-stuff.c
      type_or_value: '33'
    - item_type: preproc_def
      name: T_CERT
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/gnupg/dirmngr/dns-stuff.c
      type_or_value: '37'
    - item_type: preproc_def
      name: SOCKS_PORT
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/gnupg/dirmngr/dns-stuff.c
      type_or_value: '1080'
    - item_type: preproc_def
      name: TOR_PORT
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/gnupg/dirmngr/dns-stuff.c
      type_or_value: '9050'
    - item_type: preproc_def
      name: TOR_PORT2
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/gnupg/dirmngr/dns-stuff.c
      type_or_value: '9150   '
    - item_type: preproc_def
      name: DEFAULT_NAMESERVER
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/gnupg/dirmngr/dns-stuff.c
      type_or_value: '"8.8.8.8"'
    - item_type: preproc_def
      name: DEFAULT_TIMEOUT
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/gnupg/dirmngr/dns-stuff.c
      type_or_value: '30'
    - item_type: preproc_def
      name: RESOLV_CONF_NAME
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/gnupg/dirmngr/dns-stuff.c
      type_or_value: '"/etc/resolv.conf"'
    structs:
    - fields:
      - name: valid
        type: unsigned int
      - name: v4
        type: unsigned int
      - name: v6
        type: unsigned int
      item_type: struct
      name: cached_inet_support
      pos:
        line_end: 158
        line_start: 153
        source_file: /src/gnupg/dirmngr/dns-stuff.c
    - fields:
      - name: '*resolv_conf'
        type: struct dns_resolv_conf
      - name: '*hosts'
        type: struct dns_hosts
      - name: '*hints'
        type: struct dns_hints
      - name: socks_host
        type: struct sockaddr_storage
      item_type: struct
      name: libdns_s
      pos:
        line_end: 171
        line_start: 164
        source_file: /src/gnupg/dirmngr/dns-stuff.c
    typedefs: []
    union:
    - fields:
      - name: ans[2048]
        type: unsigned char
      - name: header[1]
        type: HEADER
      item_type: union
      name: res
      pos:
        line_end: 1983
        line_start: 1980
        source_file: /src/gnupg/dirmngr/dns-stuff.c
    - fields:
      - name: ans[2048]
        type: unsigned char
      - name: header[1]
        type: HEADER
      item_type: union
      name: res
      pos:
        line_end: 2320
        line_start: 2317
        source_file: /src/gnupg/dirmngr/dns-stuff.c
- function_names: []
  source_file: /src/gnupg/dirmngr/validate.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VALIDATE_FLAG_TRUST_SYSTEM
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/gnupg/dirmngr/validate.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VALIDATE_FLAG_TRUST_CONFIG
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/gnupg/dirmngr/validate.h
      type_or_value: '2'
    - item_type: preproc_def
      name: VALIDATE_FLAG_TRUST_HKP
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/gnupg/dirmngr/validate.h
      type_or_value: '4'
    - item_type: preproc_def
      name: VALIDATE_FLAG_TRUST_HKPSPOOL
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/dirmngr/validate.h
      type_or_value: '8'
    - item_type: preproc_def
      name: VALIDATE_FLAG_MASK_TRUST
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/gnupg/dirmngr/validate.h
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: VALIDATE_FLAG_CRL
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/gnupg/dirmngr/validate.h
      type_or_value: '64'
    - item_type: preproc_def
      name: VALIDATE_FLAG_RECURSIVE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/dirmngr/validate.h
      type_or_value: '128'
    - item_type: preproc_def
      name: VALIDATE_FLAG_OCSP
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/dirmngr/validate.h
      type_or_value: '256'
    - item_type: preproc_def
      name: VALIDATE_FLAG_TLS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/dirmngr/validate.h
      type_or_value: '512'
    - item_type: preproc_def
      name: VALIDATE_FLAG_NOCRLCHECK
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/gnupg/dirmngr/validate.h
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_response
  - do_ocsp_request
  - validate_responder_cert
  - check_signature_core
  - check_signature
  - ocsp_isvalid
  - release_ctrl_ocsp_certs
  source_file: /src/gnupg/dirmngr/ocsp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_RESPONSE_SIZE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/gnupg/dirmngr/ocsp.c
      type_or_value: '65536'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ks_http_help
  - ks_http_fetch
  source_file: /src/gnupg/dirmngr/ks-engine-http.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_REDIRECTS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/dirmngr/ks-engine-http.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/dirmngr/ks-action.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DIRMNGR_KS_ACTION_H
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/gnupg/dirmngr/ks-action.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - LDAP_P
  - LDAP_VFREE
  - ldap_utf8_strtok
  - ldap_charray_add
  - ldap_charray_merge
  - ldap_charray_free
  - ldap_charray_inlist
  - ldap_charray_dup
  - ldap_str2charray
  - ldap_charray2str
  - ldap_is_ldap_url
  - skip_url_prefix
  - str2scope
  - ldap_url_parse_ext
  - ldap_url_parse
  - ldap_free_urldesc
  - ldap_int_unhex
  - ldap_pvt_hex_unescape
  source_file: /src/gnupg/dirmngr/ldap-url.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LDAP_URL_URLCOLON
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/gnupg/dirmngr/ldap-url.c
      type_or_value: '"URL:"'
    - item_type: preproc_def
      name: LDAP_URL_URLCOLON_LEN
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/gnupg/dirmngr/ldap-url.c
      type_or_value: (sizeof(LDAP_URL_URLCOLON)-1)
    - item_type: preproc_def
      name: LDAP_URL_PREFIX
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/gnupg/dirmngr/ldap-url.c
      type_or_value: '"ldap://"'
    - item_type: preproc_def
      name: LDAP_URL_PREFIX_LEN
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/gnupg/dirmngr/ldap-url.c
      type_or_value: (sizeof(LDAP_URL_PREFIX)-1)
    - item_type: preproc_def
      name: LDAPS_URL_PREFIX
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/gnupg/dirmngr/ldap-url.c
      type_or_value: '"ldaps://"'
    - item_type: preproc_def
      name: LDAPS_URL_PREFIX_LEN
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/gnupg/dirmngr/ldap-url.c
      type_or_value: (sizeof(LDAPS_URL_PREFIX)-1)
    - item_type: preproc_def
      name: LDAPI_URL_PREFIX
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/gnupg/dirmngr/ldap-url.c
      type_or_value: '"ldapi://"'
    - item_type: preproc_def
      name: LDAPI_URL_PREFIX_LEN
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/gnupg/dirmngr/ldap-url.c
      type_or_value: (sizeof(LDAPI_URL_PREFIX)-1)
    - item_type: preproc_def
      name: LDAP_FREE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/gnupg/dirmngr/ldap-url.c
      type_or_value: free
    - item_type: preproc_def
      name: LDAP_STRDUP
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/gnupg/dirmngr/ldap-url.c
      type_or_value: strdup
    - item_type: preproc_def
      name: LDAP_CALLOC
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/gnupg/dirmngr/ldap-url.c
      type_or_value: calloc
    - item_type: preproc_def
      name: LDAP_MALLOC
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/gnupg/dirmngr/ldap-url.c
      type_or_value: malloc
    - item_type: preproc_def
      name: LDAP_REALLOC
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/gnupg/dirmngr/ldap-url.c
      type_or_value: realloc
    - item_type: preproc_def
      name: ldap_utf8_strchr
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/gnupg/dirmngr/ldap-url.c
      type_or_value: strchr
    - item_type: preproc_def
      name: LDAP_SCOPE_DEFAULT
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/gnupg/dirmngr/ldap-url.c
      type_or_value: '-1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ldap_uri_p
  - ldap_parse_uri
  - add
  - copy
  - ldap_escape_filter
  source_file: /src/gnupg/dirmngr/ldap-parse-uri.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_default_keyserver
  source_file: /src/gnupg/dirmngr/http-common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_current_cache
  - create_directory_if_needed
  - cleanup_cache_dir
  - next_line_from_file
  - release_one_cache_entry
  - release_cache
  - open_dir_file
  - check_dir_version
  - open_dir
  - write_percented_string
  - write_dir_line_crl
  - update_dir
  - make_db_file_name
  - hash_dbfile
  - check_dbfile
  - lock_db_file
  - unlock_db_file
  - find_entry
  - crl_cache_init
  - crl_cache_deinit
  - crl_cache_flush
  - cache_isvalid
  - crl_cache_isvalid
  - crl_cache_cert_isvalid
  - hash_algo_from_buffer
  - uint_from_buffer
  - start_sig_check
  - finish_sig_check
  - abort_sig_check
  - crl_parse_insert
  - get_crl_number
  - get_auth_key_id
  - crl_cache_insert
  - list_one_crl_entry
  - crl_cache_list
  - crl_cache_load
  - crl_cache_reload_crl
  source_file: /src/gnupg/dirmngr/crlcache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DBDIR_D
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/gnupg/dirmngr/crlcache.c
      type_or_value: '"crls.d"'
    - item_type: preproc_def
      name: DBDIRFILE
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/gnupg/dirmngr/crlcache.c
      type_or_value: '"DIR.txt"'
    - item_type: preproc_def
      name: DBDIRVERSION
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/gnupg/dirmngr/crlcache.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_OPEN_DB_FILES
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/gnupg/dirmngr/crlcache.c
      type_or_value: '5'
    - item_type: preproc_def
      name: O_BINARY
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/gnupg/dirmngr/crlcache.c
      type_or_value: '0'
    - item_type: preproc_def
      name: INVCRL_TOO_OLD
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/gnupg/dirmngr/crlcache.c
      type_or_value: '1'
    - item_type: preproc_def
      name: INVCRL_UNKNOWN_EXTN
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/gnupg/dirmngr/crlcache.c
      type_or_value: '2'
    - item_type: preproc_def
      name: INVCRL_GENERAL
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/gnupg/dirmngr/crlcache.c
      type_or_value: '127'
    structs:
    - fields:
      - name: '*next'
        type: struct crl_cache_entry_s
      - name: deleted
        type: int
      - name: mark
        type: int
      - name: lineno
        type: unsigned int
      - name: '*release_ptr'
        type: char
      - name: '*url'
        type: char
      - name: '*issuer'
        type: char
      - name: '*issuer_hash'
        type: char
      - name: '*dbfile_hash'
        type: char
      - name: invalid
        type: int
      - name: user_trust_req
        type: int
      - name: '*check_trust_anchor'
        type: char
      - name: this_update
        type: ksba_isotime_t
      - name: next_update
        type: ksba_isotime_t
      - name: last_refresh
        type: ksba_isotime_t
      - name: '*crl_number'
        type: char
      - name: '*authority_issuer'
        type: char
      - name: '*authority_serialno'
        type: char
      - name: '*cdb'
        type: struct cdb
      - name: cdb_use_count
        type: unsigned int
      - name: cdb_lru_count
        type: unsigned int
      - name: dbfile_checked
        type: int
      item_type: struct
      name: crl_cache_entry_s
      pos:
        line_end: 167
        line_start: 140
        source_file: /src/gnupg/dirmngr/crlcache.c
    - fields:
      - name: entries
        type: crl_cache_entry_t
      item_type: struct
      name: crl_cache_s
      pos:
        line_end: 174
        line_start: 171
        source_file: /src/gnupg/dirmngr/crlcache.c
    typedefs:
    - item_type: typedef
      name: '*crl_cache_t'
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/gnupg/dirmngr/crlcache.c
      type: crl_cache_s
    union: []
- function_names: []
  source_file: /src/gnupg/dirmngr/ldap-misc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LDAP_DEPRECATED
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/dirmngr/ldap-misc.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - verify_callback
  - my_gnutls_log
  - my_http_tls_verify_cb
  - prepend_srcdir
  - main
  source_file: /src/gnupg/dirmngr/t-http.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/gnupg/dirmngr/t-http.c
      type_or_value: '"t-http"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/dirmngr/dirmngr-err.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPG_ERR_SOURCE_DEFAULT
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/gnupg/dirmngr/dirmngr-err.h
      type_or_value: GPG_ERR_SOURCE_DIRMNGR
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/dirmngr/ldap-url.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LDAP_URL_H
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/gnupg/dirmngr/ldap-url.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LDAP_CONST
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/gnupg/dirmngr/ldap-url.h
      type_or_value: const
    - item_type: preproc_def
      name: LDAP_URL_SUCCESS
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/gnupg/dirmngr/ldap-url.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: LDAP_URL_ERR_MEM
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/gnupg/dirmngr/ldap-url.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: LDAP_URL_ERR_PARAM
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/gnupg/dirmngr/ldap-url.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: LDAP_URL_ERR_BADSCHEME
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/gnupg/dirmngr/ldap-url.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: LDAP_URL_ERR_BADENCLOSURE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/gnupg/dirmngr/ldap-url.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: LDAP_URL_ERR_BADURL
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/gnupg/dirmngr/ldap-url.h
      type_or_value: '0x05'
    - item_type: preproc_def
      name: LDAP_URL_ERR_BADHOST
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/dirmngr/ldap-url.h
      type_or_value: '0x06'
    - item_type: preproc_def
      name: LDAP_URL_ERR_BADATTRS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/dirmngr/ldap-url.h
      type_or_value: '0x07'
    - item_type: preproc_def
      name: LDAP_URL_ERR_BADSCOPE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/gnupg/dirmngr/ldap-url.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: LDAP_URL_ERR_BADFILTER
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/gnupg/dirmngr/ldap-url.h
      type_or_value: '0x09'
    - item_type: preproc_def
      name: LDAP_URL_ERR_BADEXTS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/dirmngr/ldap-url.h
      type_or_value: '0x0a'
    - item_type: preproc_def
      name: LDAPS_PORT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/dirmngr/ldap-url.h
      type_or_value: '636'
    structs:
    - fields:
      - name: '*lud_next'
        type: struct ldap_url_desc
      - name: '*lud_scheme'
        type: char
      - name: '*lud_host'
        type: char
      - name: lud_port
        type: int
      - name: '*lud_dn'
        type: char
      - name: '**lud_attrs'
        type: char
      - name: lud_scope
        type: int
      - name: '*lud_filter'
        type: char
      - name: '**lud_exts'
        type: char
      - name: lud_crit_exts
        type: int
      item_type: struct
      name: ldap_url_desc
      pos:
        line_end: 28
        line_start: 16
        source_file: /src/gnupg/dirmngr/ldap-url.h
    typedefs: []
    union: []
- function_names:
  - app_get_slot
  - APP_CARD
  source_file: /src/gnupg/scd/app-common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APP_CHANGE_FLAG_RESET
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/gnupg/scd/app-common.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: APP_CHANGE_FLAG_NULLPIN
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/scd/app-common.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: APP_CHANGE_FLAG_CLEAR
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/gnupg/scd/app-common.h
      type_or_value: '4  '
    - item_type: preproc_def
      name: APP_GENKEY_FLAG_FORCE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/gnupg/scd/app-common.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: APP_WRITEKEY_FLAG_FORCE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/gnupg/scd/app-common.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: APP_READKEY_FLAG_INFO
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/gnupg/scd/app-common.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: APP_DECIPHER_INFO_NOPAD
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/gnupg/scd/app-common.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: APP_LEARN_FLAG_KEYPAIRINFO
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/scd/app-common.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: APP_LEARN_FLAG_MULTI
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/scd/app-common.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: APP_LEARN_FLAG_REREAD
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/gnupg/scd/app-common.h
      type_or_value: '4 '
    structs:
    - fields:
      - name: next
        type: card_t
      - name: lock
        type: npth_mutex_t
      - name: ref_count
        type: unsigned int
      - name: slot
        type: int
      - name: cardtype
        type: cardtype_t
      - name: cardversion
        type: unsigned int
      - name: card_status
        type: unsigned int
      - name: '*serialno'
        type: unsigned char
      - name: serialnolen
        type: size_t
      - name: app
        type: app_t
      - name: reset_requested
        type: unsigned int
      - name: periodical_check_needed
        type: unsigned int
      - name: maybe_check_aid
        type: unsigned int
      item_type: struct
      name: card_ctx_s
      pos:
        line_end: 122
        line_start: 89
        source_file: /src/gnupg/scd/app-common.h
    - fields:
      - name: next
        type: app_t
      - name: card
        type: card_t
      - name: apptype
        type: apptype_t
      - name: appversion
        type: unsigned int
      - name: did_chv1
        type: unsigned int
      - name: force_chv1
        type: unsigned int
      - name: did_chv2
        type: unsigned int
      - name: did_chv3
        type: unsigned int
      - name: need_reset
        type: unsigned int
      - name: '*app_local'
        type: struct app_local_s
      - name: fnc
        type: "struct {\n    void (*deinit) (app_t app);\n    gpg_error_t (*prep_reselect)
          (app_t app, ctrl_t ctrl);\n    gpg_error_t (*reselect) (app_t app, ctrl_t
          ctrl);\n    gpg_error_t (*learn_status) (app_t app, ctrl_t ctrl, unsigned
          int flags);\n    gpg_error_t (*readcert) (app_t app, const char *certid,\n
          \                    unsigned char **cert, size_t *certlen);\n    gpg_error_t
          (*readkey) (app_t app, ctrl_t ctrl,\n                            const char
          *certid, unsigned int flags,\n                            unsigned char
          **pk, size_t *pklen);\n    gpg_error_t (*getattr) (app_t app, ctrl_t ctrl,
          const char *name);\n    gpg_error_t (*setattr) (app_t app, ctrl_t ctrl,
          const char *name,\n                    gpg_error_t (*pincb)(void*, const
          char *, char **),\n                    void *pincb_arg,\n                    const
          unsigned char *value, size_t valuelen);\n    gpg_error_t (*sign) (app_t
          app, ctrl_t ctrl,\n                 const char *keyidstr, int hashalgo,\n
          \                gpg_error_t (*pincb)(void*, const char *, char **),\n                 void
          *pincb_arg,\n                 const void *indata, size_t indatalen,\n                 unsigned
          char **outdata, size_t *outdatalen );\n    gpg_error_t (*auth) (app_t app,
          ctrl_t ctrl, const char *keyidstr,\n                 gpg_error_t (*pincb)(void*,
          const char *, char **),\n                 void *pincb_arg,\n                 const
          void *indata, size_t indatalen,\n                 unsigned char **outdata,
          size_t *outdatalen);\n    gpg_error_t (*decipher) (app_t app, ctrl_t ctrl,
          const char *keyidstr,\n                             gpg_error_t (*pincb)(void*,
          const char *, char **),\n                             void *pincb_arg,\n
          \                            const void *indata, size_t indatalen,\n                             unsigned
          char **outdata, size_t *outdatalen,\n                             unsigned
          int *r_info);\n    gpg_error_t (*writecert) (app_t app, ctrl_t ctrl,\n                              const
          char *certid,\n                              gpg_error_t (*pincb)(void*,const
          char *,char **),\n                              void *pincb_arg,\n                              const
          unsigned char *data, size_t datalen);\n    gpg_error_t (*writekey) (app_t
          app, ctrl_t ctrl,\n                             const char *keyid, unsigned
          int flags,\n                             gpg_error_t (*pincb)(void*,const
          char *,char **),\n                             void *pincb_arg,\n                             const
          unsigned char *pk, size_t pklen);\n    gpg_error_t (*genkey) (app_t app,
          ctrl_t ctrl,\n                           const char *keyref, const char
          *keytype,\n                           unsigned int flags, time_t createtime,\n
          \                          gpg_error_t (*pincb)(void*, const char *, char
          **),\n                           void *pincb_arg);\n    gpg_error_t (*change_pin)
          (app_t app, ctrl_t ctrl,\n                       const char *chvnostr, unsigned
          int flags,\n                       gpg_error_t (*pincb)(void*, const char
          *, char **),\n                       void *pincb_arg);\n    gpg_error_t
          (*check_pin) (app_t app, ctrl_t ctrl, const char *keyidstr,\n                      gpg_error_t
          (*pincb)(void*, const char *, char **),\n                      void *pincb_arg);\n
          \   gpg_error_t (*with_keygrip) (app_t app, ctrl_t ctrl, int action,\n                                 const
          char *keygrip_str, int capability);\n    gpg_error_t (*check_aid) (app_t
          app, ctrl_t ctrl,\n                              const unsigned char *aid,
          size_t aidlen);\n  }"
      item_type: struct
      name: app_ctx_s
      pos:
        line_end: 200
        line_start: 128
        source_file: /src/gnupg/scd/app-common.h
    typedefs:
    - item_type: typedef
      name: '*card_t'
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/gnupg/scd/app-common.h
      type: card_ctx_s
    - item_type: typedef
      name: '*app_t'
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/gnupg/scd/app-common.h
      type: app_ctx_s
    union: []
- function_names:
  - SW_EXACT_LENGTH_P
  source_file: /src/gnupg/scd/apdu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: APDU_CARD_USABLE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/gnupg/scd/apdu.h
      type_or_value: '(1)    '
    - item_type: preproc_def
      name: APDU_CARD_PRESENT
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/gnupg/scd/apdu.h
      type_or_value: '(2)    '
    - item_type: preproc_def
      name: APDU_CARD_ACTIVE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/gnupg/scd/apdu.h
      type_or_value: '(4)    '
    structs: []
    typedefs: []
    union: []
- function_names:
  - release_cdflist
  - release_prkdflist
  - do_deinit
  - list_ef
  - select_and_read_binary
  - parse_certid
  - cdf_object_from_certid
  - prkdf_object_from_keyidstr
  - parse_keyusage_flags
  - read_ef_prkd
  - read_ef_cd
  - read_serialno
  - read_meta
  - send_certinfo
  - keygripstr_from_prkdf
  - send_keypairinfo
  - do_learn_status
  - readcert_by_cdf
  - do_readcert
  - do_getattr
  - apply_PKCS_padding
  - hash_from_digestinfo
  - verify_pin
  - do_sign
  - do_auth
  - strip_PKCS15_padding
  - do_decipher
  - app_select_sc_hsm
  source_file: /src/gnupg/scd/app-sc-hsm.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: encrypt
        type: unsigned int
      - name: decrypt
        type: unsigned int
      - name: sign
        type: unsigned int
      - name: sign_recover
        type: unsigned int
      - name: wrap
        type: unsigned int
      - name: unwrap
        type: unsigned int
      - name: verify
        type: unsigned int
      - name: verify_recover
        type: unsigned int
      - name: derive
        type: unsigned int
      - name: non_repudiation
        type: unsigned int
      item_type: struct
      name: keyusage_flags_s
      pos:
        line_end: 77
        line_start: 65
        source_file: /src/gnupg/scd/app-sc-hsm.c
    - fields:
      - name: '*next'
        type: struct cdf_object_s
      - name: objidlen
        type: size_t
      - name: '*objid'
        type: unsigned char
      - name: imagelen
        type: size_t
      - name: '*image'
        type: unsigned char
      - name: fid
        type: unsigned short
      item_type: struct
      name: cdf_object_s
      pos:
        line_end: 103
        line_start: 87
        source_file: /src/gnupg/scd/app-sc-hsm.c
    - fields:
      - name: '*next'
        type: struct prkdf_object_s
      - name: keytype
        type: key_type_t
      - name: keysize
        type: size_t
      - name: objidlen
        type: size_t
      - name: '*objid'
        type: unsigned char
      - name: usageflags
        type: keyusage_flags_t
      - name: key_reference
        type: unsigned char
      item_type: struct
      name: prkdf_object_s
      pos:
        line_end: 133
        line_start: 113
        source_file: /src/gnupg/scd/app-sc-hsm.c
    - fields:
      - name: certificate_info
        type: cdf_object_t
      - name: trusted_certificate_info
        type: cdf_object_t
      - name: private_key_info
        type: prkdf_object_t
      item_type: struct
      name: app_local_s
      pos:
        line_end: 147
        line_start: 139
        source_file: /src/gnupg/scd/app-sc-hsm.c
    typedefs:
    - item_type: typedef
      name: keyusage_flags_t
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/gnupg/scd/app-sc-hsm.c
      type: keyusage_flags_s
    - item_type: typedef
      name: '*cdf_object_t'
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/gnupg/scd/app-sc-hsm.c
      type: cdf_object_s
    - item_type: typedef
      name: '*prkdf_object_t'
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/gnupg/scd/app-sc-hsm.c
      type: prkdf_object_s
    union: []
- function_names: []
  source_file: /src/gnupg/scd/ccid-driver.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SCM_SCR331
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0xe001'
    - item_type: preproc_def
      name: SCM_SCR331DI
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x5111'
    - item_type: preproc_def
      name: SCM_SCR335
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x5115'
    - item_type: preproc_def
      name: SCM_SCR3310
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x5116    '
    - item_type: preproc_def
      name: SCM_SCR3320
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x5117'
    - item_type: preproc_def
      name: SCM_SPR532
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0xe003    '
    - item_type: preproc_def
      name: CHERRY_ST2000
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x003e'
    - item_type: preproc_def
      name: VASCO_920
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x0920'
    - item_type: preproc_def
      name: GEMPC_PINPAD
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x3478'
    - item_type: preproc_def
      name: GEMPC_CT30
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x3437'
    - item_type: preproc_def
      name: GEMPC_EZIO
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x34c2    '
    - item_type: preproc_def
      name: VEGA_ALPHA
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x0008'
    - item_type: preproc_def
      name: CYBERJACK_GO
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x0504'
    - item_type: preproc_def
      name: CRYPTOUCAN
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x81e6'
    - item_type: preproc_def
      name: ACR_122U
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x2200    '
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_OUT_OF_CORE
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x10001'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_INV_VALUE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x10002'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_INCOMPLETE_CARD_RESPONSE
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: = 0x10003
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_NO_DRIVER
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x10004'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_NOT_SUPPORTED
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x10005'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_LOCKING_FAILED
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x10006'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_BUSY
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x10007'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_NO_CARD
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x10008'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_CARD_INACTIVE
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x10009'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_CARD_IO_ERROR
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x1000a'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_GENERAL_ERROR
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x1000b'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_NO_READER
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x1000c'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_ABORTED
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x1000d'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_NO_PINPAD
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x1000e'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_USB_OTHER
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x10020'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_USB_IO
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x10021'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_USB_ACCESS
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x10023'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_USB_NO_DEVICE
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x10024'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_USB_BUSY
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x10026'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_USB_TIMEOUT
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x10027'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_USB_OVERFLOW
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x10028'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_UI_CANCELLED
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x10030'
    - item_type: preproc_def
      name: CCID_DRIVER_ERR_UI_TIMEOUT
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/gnupg/scd/ccid-driver.h
      type_or_value: '0x10031'
    structs: []
    typedefs:
    - item_type: typedef
      name: '*ccid_driver_t'
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/gnupg/scd/ccid-driver.h
      type: ccid_driver_s
    union: []
- function_names:
  - map_sw
  - iso7816_map_sw
  - iso7816_select_application
  - iso7816_select_application_ext
  - iso7816_select_mf
  - iso7816_select_file
  - iso7816_select_path
  - iso7816_list_directory
  - iso7816_send_apdu
  - iso7816_apdu_direct
  - iso7816_check_pinpad
  - iso7816_verify_kp
  - iso7816_verify
  - iso7816_verify_status
  - iso7816_change_reference_data_kp
  - iso7816_change_reference_data
  - iso7816_reset_retry_counter_with_rc
  - iso7816_reset_retry_counter
  - iso7816_select_data
  - iso7816_get_data
  - iso7816_get_data_odd
  - iso7816_put_data
  - iso7816_put_data_odd
  - iso7816_manage_security_env
  - iso7816_compute_ds
  - iso7816_decipher
  - iso7816_pso_csv
  - iso7816_internal_authenticate
  - iso7816_general_authenticate
  - do_generate_keypair
  - iso7816_generate_keypair
  - iso7816_read_public_key
  - iso7816_get_challenge
  - iso7816_read_binary_ext
  - iso7816_read_binary
  - iso7816_read_record_ext
  - iso7816_read_record
  - iso7816_update_binary
  source_file: /src/gnupg/scd/iso7816.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CMD_SELECT_FILE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/gnupg/scd/iso7816.c
      type_or_value: '0xA4'
    - item_type: preproc_def
      name: CMD_SELECT_DATA
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/gnupg/scd/iso7816.c
      type_or_value: '0xA5'
    - item_type: preproc_def
      name: CMD_VERIFY
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/gnupg/scd/iso7816.c
      type_or_value: ISO7816_VERIFY
    - item_type: preproc_def
      name: CMD_CHANGE_REFERENCE_DATA
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/gnupg/scd/iso7816.c
      type_or_value: ISO7816_CHANGE_REFERENCE_DATA
    - item_type: preproc_def
      name: CMD_RESET_RETRY_COUNTER
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/gnupg/scd/iso7816.c
      type_or_value: ISO7816_RESET_RETRY_COUNTER
    - item_type: preproc_def
      name: CMD_GET_DATA
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/scd/iso7816.c
      type_or_value: '0xCA'
    - item_type: preproc_def
      name: CMD_PUT_DATA
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/gnupg/scd/iso7816.c
      type_or_value: '0xDA'
    - item_type: preproc_def
      name: CMD_MSE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/gnupg/scd/iso7816.c
      type_or_value: '0x22'
    - item_type: preproc_def
      name: CMD_PSO
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/scd/iso7816.c
      type_or_value: '0x2A'
    - item_type: preproc_def
      name: CMD_GENERAL_AUTHENTICATE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/gnupg/scd/iso7816.c
      type_or_value: '0x87'
    - item_type: preproc_def
      name: CMD_INTERNAL_AUTHENTICATE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/scd/iso7816.c
      type_or_value: '0x88'
    - item_type: preproc_def
      name: CMD_GENERATE_KEYPAIR
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/scd/iso7816.c
      type_or_value: '0x47'
    - item_type: preproc_def
      name: CMD_GET_CHALLENGE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/gnupg/scd/iso7816.c
      type_or_value: '0x84'
    - item_type: preproc_def
      name: CMD_READ_BINARY
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/gnupg/scd/iso7816.c
      type_or_value: '0xB0'
    - item_type: preproc_def
      name: CMD_READ_RECORD
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/gnupg/scd/iso7816.c
      type_or_value: '0xB2'
    - item_type: preproc_def
      name: CMD_UPDATE_BINARY
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/gnupg/scd/iso7816.c
      type_or_value: '0xD6'
    structs: []
    typedefs: []
    union: []
- function_names:
  - atr_dump
  source_file: /src/gnupg/scd/atr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - app_help_count_bits
  - app_help_get_keygrip_string_pk
  - app_help_get_keygrip_string
  - app_help_pubkey_from_cert
  - app_help_read_length_of_cert
  source_file: /src/gnupg/scd/app-help.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_deinit
  - send_one_string
  - do_getattr
  - do_learn_status
  - copy_bcd
  - bcd_to_int
  - app_select_geldkarte
  source_file: /src/gnupg/scd/app-geldkarte.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: kblz[2+1+4+1]
        type: char
      - name: '*banktype'
        type: char
      - name: '*cardno'
        type: char
      - name: expires[7+1]
        type: char
      - name: validfrom[10+1]
        type: char
      - name: '*country'
        type: char
      - name: currency[3+1]
        type: char
      - name: currency_mult100
        type: unsigned int
      - name: chipid
        type: unsigned char
      - name: osvers
        type: unsigned char
      - name: balance
        type: int
      - name: maxamount
        type: int
      - name: maxamount1
        type: int
      item_type: struct
      name: app_local_s
      pos:
        line_end: 60
        line_start: 45
        source_file: /src/gnupg/scd/app-geldkarte.c
    typedefs: []
    union: []
- function_names:
  - flush_fid_cache
  - do_deinit
  - all_zero_p
  - get_dispserialno
  - pubkey_from_pk_file
  - keygripstr_from_pk_file
  - find_fid_by_keyref
  - get_chv_status
  - do_getattr
  - parse_keyref
  - get_nks_tag
  - set_usage_string
  - do_learn_status_core
  - do_learn_status
  - readcert_from_ef
  - iterate_over_filelist
  - do_readcert
  - do_readkey
  - do_writecert
  - do_writekey
  - make_prompt
  - basic_pin_checks
  - verify_pin
  - do_sign
  - X
  - X
  - do_decipher
  - parse_pwidstr
  - do_change_pin
  - do_check_pin
  - do_with_keygrip
  - get_nks_version
  - switch_application
  - app_select_nks
  source_file: /src/gnupg/scd/app-nks.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NKS_APP_NKS
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/gnupg/scd/app-nks.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NKS_APP_SIGG
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/gnupg/scd/app-nks.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NKS_APP_ESIGN
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/gnupg/scd/app-nks.c
      type_or_value: '2'
    - item_type: preproc_def
      name: NKS_APP_IDLM
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/gnupg/scd/app-nks.c
      type_or_value: '3'
    structs:
    - fields:
      - name: nks_app_id
        type: int
      - name: fid
        type: int
      - name: nks_ver
        type: int
      - name: certtype
        type: int
      - name: iskeypair
        type: int
      - name: isauthkey
        type: int
      - name: issignkey
        type: int
      - name: isencrkey
        type: int
      - name: kid
        type: unsigned char
      item_type: struct
      name: "filelist[] = {\n  { 0, 0x4531, 0, 0,  0xC000, 1,1,0, 0x80}, /* EF_PK.NKS.SIG
        */\n  /* */                              /* nks15: EF.PK.NKS.ADS */\n  { 0,
        0xC000, 0, 101 },                    /* EF_C.NKS.SIG  */\n  /* */                              /*
        nks15: EF.C.ICC.ADS  (sign key)  */\n\n  { 0, 0x4331, 0, 100 },                    /*
        Unnamed.                  */\n  /* */                              /* nks15:
        EF.C.ICC.RFU1             */\n  /* */                              /* (second
        cert for sign key)       */\n\n  { 0, 0x4332, 0, 100 },\n  { 0, 0xB000, 0,
        110 },                    /* EF_PK.RCA.NKS             */\n\n  { 0, 0x45B1,
        0, 0,  0xC200, 0,0,1, 0x81}, /* EF_PK.NKS.ENC             */\n  /* */                              /*
        nks15: EF.PK.ICC.ENC1            */\n  { 0, 0xC200, 0, 101 },                    /*
        EF_C.NKS.ENC              */\n                                     /* nks15:
        EF.C.ICC.ENC1 (Cert-encr) */\n\n  { 0, 0x43B1, 0, 100 },                    /*
        Unnamed */\n  /* */                              /* nks15: EF.C.ICC.RFU2             */\n
        \ /* */                              /* (second cert for enc1 key)       */\n\n
        \ { 0, 0x43B2, 0, 100 },\n  { 0, 0x4371,15, 100 },                    /* EF.C.ICC.RFU3
        \            */\n  /* */                              /* (second cert for
        auth key)       */\n\n  { 0, 0x45B2, 3, 0,  0xC201, 0,0,1, 0x83}, /* EF_PK.NKS.ENC1024
        \        */\n  /* */                              /* nks15: EF.PK.ICC.ENC2
        \           */\n  { 0, 0xC201, 3, 101 },                    /* EF_C.NKS.ENC1024
        \ */\n\n  { 0, 0xC20E,15, 111 },                    /* EF.C.CSP.RCA1 (RootCA
        1) */\n  { 0, 0xC208,15, 101 },                    /* EF.C.CSP.SCA1 (SubCA
        1) */\n  { 0, 0xC10E,15, 111 },                    /* EF.C.CSP.RCA2 (RootCA
        2) */\n  { 0, 0xC108,15, 101 },                    /* EF.C.CSP.SCA2 (SubCA
        2) */\n\n  { 0, 0x4571,15, 0,  0xC500, 1,0,0, 0x82}, /* EF.PK.ICC.AUT */\n
        \ { 0, 0xC500,15, 101 },                    /* EF.C.ICC.AUT  (Cert-auth) */\n\n
        \ { 0, 0xC201,15, 101 },                    /* EF.C.ICC.ENC2 (Cert-encr) */\n
        \                                           /* (empty on delivery) */\n\n
        \ { 1, 0x4531, 3, 0,  0xC000, 0,1,1, 0x84}, /* EF_PK.CH.SIG  */\n  { 1, 0xC000,
        0, 101 },                    /* EF_C.CH.SIG  */\n\n  { 1, 0xC008, 3, 101 },
        \                   /* EF_C.CA.SIG  */\n  { 1, 0xC00E, 3, 111 },                    /*
        EF_C.RCA.SIG  */\n\n  { 2, 0x4531, 15, 0, 0xC001, 0,1,0, 0x84}, /* EF_PK.CH.SIG
        \ */\n  { 2, 0xC000, 15,101 },                    /* EF.C.SCA.QES (SubCA)
        */\n  { 2, 0xC001, 15,100 },                    /* EF.C.ICC.QES (Cert)  */\n
        \ { 2, 0xC00E, 15,111 },                    /* EF.C.RCA.QES (RootCA */\n\n
        \ { 3, 0x4E03,  3, 0, -1 },                 /* EK_PK_03 */\n  { 3, 0x4E04,
        \ 3, 0, -1 },                 /* EK_PK_04 */\n  { 3, 0x4E05,  3, 0, -1 },
        \                /* EK_PK_05 */\n  { 3, 0x4E06,  3, 0, -1 },                 /*
        EK_PK_06 */\n  { 3, 0x4E07,  3, 0, -1 },                 /* EK_PK_07 */\n
        \ { 3, 0x4E08,  3, 0, -1 },                 /* EK_PK_08 */\n\n  { 0, 0 }\n}"
      pos:
        line_end: 113
        line_start: 100
        source_file: /src/gnupg/scd/app-nks.c
    - fields:
      - name: '*next'
        type: struct fid_cache_s
      - name: nks_app_id
        type: int
      - name: fid
        type: int
      - name: got_keygrip
        type: unsigned int
      - name: algo
        type: int
      - name: '*algostr'
        type: char
      - name: keygripstr[2*KEYGRIP_LEN+1]
        type: char
      item_type: struct
      name: fid_cache_s
      pos:
        line_end: 185
        line_start: 177
        source_file: /src/gnupg/scd/app-nks.c
    - fields:
      - name: active_nks_app
        type: int
      - name: only_idlm
        type: int
      - name: qes_app_id
        type: int
      - name: sigg_msig_checked
        type: int
      - name: sigg_is_msig
        type: int
      - name: need_app_select
        type: int
      - name: '*fid_cache'
        type: struct fid_cache_s
      item_type: struct
      name: app_local_s
      pos:
        line_end: 201
        line_start: 189
        source_file: /src/gnupg/scd/app-nks.c
    - fields:
      - name: '*name'
        type: char
      - name: special
        type: int
      item_type: struct
      name: "table[] = {\n    { \"$AUTHKEYID\",   1 },\n    { \"$ENCRKEYID\",   2
        },\n    { \"$SIGNKEYID\",   3 },\n    { \"NKS-VERSION\",  4 },  /* Legacy
        (printed decimal)  */\n    { \"CHV-STATUS\",   5 },\n    { \"$DISPSERIALNO\",6
        },\n    { \"SERIALNO\",     0 }\n  }"
      pos:
        line_end: 638
        line_start: 635
        source_file: /src/gnupg/scd/app-nks.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/scd/atr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - strcardtype
  - strapptype
  - xstrapptype
  - apptype_from_name
  - apptype_from_keyref
  - is_same_serialno
  - app_update_priority_list
  - print_progress_line
  - lock_card
  - unlock_card
  - card_list_r_lock
  - card_list_r_unlock
  - card_list_w_lock
  - card_list_w_unlock
  - card_list_signal
  - card_list_wait
  - app_dump_state
  - app_send_devinfo
  - is_app_allowed
  - check_application_conflict
  - card_reset
  - atr_to_cardtype
  - X
  - app_new_register
  - select_application
  - app_switch_current_card
  - select_additional_application_internal
  - select_all_additional_applications_internal
  - select_additional_application
  - get_supported_applications
  - deallocate_card
  - do_with_keygrip
  - card_get
  - card_put
  - card_unref_locked
  - app_munge_serialno
  - card_get_serialno
  - app_get_serialno
  - card_get_dispserialno
  - app_get_dispserialno
  - run_reselect
  - check_external_interference
  - maybe_switch_app
  - write_learn_status_core
  - app_write_learn_status
  - app_readcert
  - app_readkey
  - app_getattr
  - app_setattr
  - app_sign
  - app_auth
  - app_decipher
  - app_writecert
  - app_writekey
  - app_genkey
  - app_get_challenge
  - app_change_pin
  - app_check_pin
  - report_change
  - scd_update_reader_status_file
  - initialize_module_command
  - compare_card_list_items
  - send_serialno_and_app_status
  - send_card_and_app_list
  - app_send_card_list
  - app_send_active_apps
  - app_switch_active_app
  - app_do_with_keygrip
  source_file: /src/gnupg/scd/app.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: lock
        type: npth_mutex_t
      - name: cond
        type: npth_cond_t
      - name: num_readers_active
        type: int
      - name: num_writers_waiting
        type: int
      - name: writer_active
        type: int
      - name: notify_watchers
        type: int
      item_type: struct
      name: mrsw_lock
      pos:
        line_end: 63
        line_start: 49
        source_file: /src/gnupg/scd/app.c
    - fields:
      - name: apptype
        type: apptype_t
      - name: '*name'
        type: char
      - name: (*select_func)(app_t)
        type: gpg_error_t
      item_type: struct
      name: app_priority_list_s
      pos:
        line_end: 99
        line_start: 94
        source_file: /src/gnupg/scd/app.c
    - fields:
      - name: atrlen
        type: size_t
      - name: '*atr'
        type: unsigned char
      - name: type
        type: cardtype_t
      item_type: struct
      name: "atrlist[] = {\n    { 19, X(\"\\x3b\\xf9\\x96\\x00\\x00\\x80\\x31\\xfe\"\n
        \           \"\\x45\\x53\\x43\\x45\\x37\\x20\\x0f\\x00\\x20\\x46\\x4e\"),\n
        \     CARDTYPE_SCE7 },\n    { 0 }\n  }"
      pos:
        line_end: 652
        line_start: 647
        source_file: /src/gnupg/scd/app.c
    typedefs: []
    union: []
- function_names:
  - struct
  source_file: /src/gnupg/scd/scdaemon.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPG_ERR_SOURCE_DEFAULT
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: GPG_ERR_SOURCE_SCD
    - item_type: preproc_def
      name: GCRY_MODULE_ID_USER
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: MD_USER_TLS_MD5SHA1
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: (GCRY_MODULE_ID_USER+1)
    - item_type: preproc_def
      name: MAX_DIGEST_LEN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: '64'
    - item_type: preproc_def
      name: DBG_APP_VALUE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: '1     '
    - item_type: preproc_def
      name: DBG_MPI_VALUE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: DBG_CRYPTO_VALUE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: DBG_CARD_VALUE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: '16    '
    - item_type: preproc_def
      name: DBG_MEMORY_VALUE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: "32\t"
    - item_type: preproc_def
      name: DBG_CACHE_VALUE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: "64\t"
    - item_type: preproc_def
      name: DBG_MEMSTAT_VALUE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: "128\t"
    - item_type: preproc_def
      name: DBG_HASHING_VALUE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: "512\t"
    - item_type: preproc_def
      name: DBG_IPC_VALUE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: DBG_CARD_IO_VALUE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: '2048  '
    - item_type: preproc_def
      name: DBG_READER_VALUE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: '4096  '
    - item_type: preproc_def
      name: DBG_APP
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: (opt.debug & DBG_APP_VALUE)
    - item_type: preproc_def
      name: DBG_CRYPTO
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: (opt.debug & DBG_CRYPTO_VALUE)
    - item_type: preproc_def
      name: DBG_MEMORY
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: (opt.debug & DBG_MEMORY_VALUE)
    - item_type: preproc_def
      name: DBG_CACHE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: (opt.debug & DBG_CACHE_VALUE)
    - item_type: preproc_def
      name: DBG_HASHING
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: (opt.debug & DBG_HASHING_VALUE)
    - item_type: preproc_def
      name: DBG_IPC
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: (opt.debug & DBG_IPC_VALUE)
    - item_type: preproc_def
      name: DBG_CARD
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: (opt.debug & DBG_CARD_VALUE)
    - item_type: preproc_def
      name: DBG_CARD_IO
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: (opt.debug & DBG_CARD_IO_VALUE)
    - item_type: preproc_def
      name: DBG_READER
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: (opt.debug & DBG_READER_VALUE)
    - item_type: preproc_def
      name: COMPAT_CCID_NO_AUTO_DETACH
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/gnupg/scd/scdaemon.h
      type_or_value: '1'
    structs:
    - fields:
      - name: thread_startup
        type: "struct {\n    gnupg_fd_t fd;\n  }"
      - name: '*server_local'
        type: struct server_local_s
      - name: '*card_ctx'
        type: struct card_ctx_s
      - name: current_apptype
        type: apptype_t
      - name: in_data
        type: "struct\n  {\n    unsigned char *value;\n    int valuelen;\n  }"
      item_type: struct
      name: server_control_s
      pos:
        line_end: 134
        line_start: 106
        source_file: /src/gnupg/scd/scdaemon.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/gnupg/scd/iso7816.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISO7816_VERIFY
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/gnupg/scd/iso7816.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: ISO7816_CHANGE_REFERENCE_DATA
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/gnupg/scd/iso7816.h
      type_or_value: '0x24'
    - item_type: preproc_def
      name: ISO7816_RESET_RETRY_COUNTER
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/gnupg/scd/iso7816.h
      type_or_value: '0x2C'
    - item_type: preproc_def
      name: ISO7816_SELECT_NORESP
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/gnupg/scd/iso7816.h
      type_or_value: '0  '
    - item_type: preproc_def
      name: ISO7816_SELECT_FCI
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/gnupg/scd/iso7816.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: ISO7816_SELECT_FCP
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/gnupg/scd/iso7816.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: ISO7816_VERIFY_ERROR
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/gnupg/scd/iso7816.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: ISO7816_VERIFY_NO_PIN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/gnupg/scd/iso7816.h
      type_or_value: (-2)
    - item_type: preproc_def
      name: ISO7816_VERIFY_BLOCKED
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/gnupg/scd/iso7816.h
      type_or_value: (-3)
    - item_type: preproc_def
      name: ISO7816_VERIFY_NULLPIN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/gnupg/scd/iso7816.h
      type_or_value: (-4)
    - item_type: preproc_def
      name: ISO7816_VERIFY_NOT_NEEDED
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/gnupg/scd/iso7816.h
      type_or_value: (-5)
    structs:
    - fields:
      - name: fixedlen
        type: int
      - name: minlen
        type: int
      - name: maxlen
        type: int
      item_type: struct
      name: pininfo_s
      pos:
        line_end: 58
        line_start: 48
        source_file: /src/gnupg/scd/iso7816.h
    typedefs:
    - item_type: typedef
      name: pininfo_t
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/gnupg/scd/iso7816.h
      type: pininfo_s
    union: []
- function_names:
  - do_deinit
  - get_cached_data
  - flush_cached_data
  - get_one_do
  - dump_all_do
  - add_tlv
  - concat_tlv_list
  - put_data
  - parse_chv_keyref
  - get_chv_status
  - do_getattr
  - auth_adm_key
  - set_adm_key
  - do_setattr
  - send_keypair_and_cert_info
  - do_learn_status
  - readcert_by_tag
  - get_keygrip_by_tag
  - find_dobj_by_keyref
  - keyref_from_dobj
  - do_readcert
  - do_readkey
  - get_key_algorithm_by_dobj
  - cache_pin
  - pin_from_cache
  - make_prompt
  - ask_and_prepare_chv
  - verify_chv
  - do_change_chv
  - do_check_chv
  - do_sign
  - do_auth
  - do_decipher
  - does_key_exist
  - writekey_rsa
  - writekey_ecc
  - do_writekey
  - genkey_parse_rsa
  - genkey_parse_ecc
  - do_genkey
  - map_curve_name_to_oid
  - my_cmp_public_key
  - do_writecert
  - do_with_keygrip
  - do_prep_reselect
  - do_reselect
  - do_check_aid
  - app_select_piv
  source_file: /src/gnupg/scd/app-piv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PIV_ALGORITHM_3DES_ECB_0
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/gnupg/scd/app-piv.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: PIV_ALGORITHM_2DES_ECB
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/gnupg/scd/app-piv.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: PIV_ALGORITHM_2DES_CBC
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/gnupg/scd/app-piv.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: PIV_ALGORITHM_3DES_ECB
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/gnupg/scd/app-piv.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: PIV_ALGORITHM_3DES_CBC
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/gnupg/scd/app-piv.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: PIV_ALGORITHM_RSA_3072
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/gnupg/scd/app-piv.c
      type_or_value: '0x05'
    - item_type: preproc_def
      name: PIV_ALGORITHM_RSA_2048
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/gnupg/scd/app-piv.c
      type_or_value: '0x07'
    - item_type: preproc_def
      name: PIV_ALGORITHM_AES128_ECB
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/gnupg/scd/app-piv.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: PIV_ALGORITHM_AES128_CBC
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/gnupg/scd/app-piv.c
      type_or_value: '0x09'
    - item_type: preproc_def
      name: PIV_ALGORITHM_AES192_ECB
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/gnupg/scd/app-piv.c
      type_or_value: '0x0A'
    - item_type: preproc_def
      name: PIV_ALGORITHM_AES192_CBC
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/gnupg/scd/app-piv.c
      type_or_value: '0x0B'
    - item_type: preproc_def
      name: PIV_ALGORITHM_AES256_ECB
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/gnupg/scd/app-piv.c
      type_or_value: '0x0C'
    - item_type: preproc_def
      name: PIV_ALGORITHM_AES256_CBC
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/gnupg/scd/app-piv.c
      type_or_value: '0x0D'
    - item_type: preproc_def
      name: PIV_ALGORITHM_ECC_P256
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/gnupg/scd/app-piv.c
      type_or_value: '0x11'
    - item_type: preproc_def
      name: PIV_ALGORITHM_ECC_P384
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/gnupg/scd/app-piv.c
      type_or_value: '0x14'
    structs:
    - fields:
      - name: tag
        type: unsigned int
      - name: mandatory
        type: unsigned int
      - name: acr_contact
        type: unsigned int
      - name: acr_contactless
        type: unsigned int
      - name: dont_cache
        type: unsigned int
      - name: flush_on_error
        type: unsigned int
      - name: keypair
        type: unsigned int
      - name: keyref[3]
        type: char
      - name: '*oidsuffix'
        type: char
      - name: '*usage'
        type: char
      - name: '*desc'
        type: char
      item_type: struct
      name: data_object_s
      pos:
        line_end: 105
        line_start: 91
        source_file: /src/gnupg/scd/app-piv.c
    - fields:
      - name: '*next'
        type: struct cache_s
      - name: tag
        type: int
      - name: length
        type: size_t
      - name: data[1]
        type: unsigned char
      item_type: struct
      name: cache_s
      pos:
        line_end: 203
        line_start: 198
        source_file: /src/gnupg/scd/app-piv.c
    - fields:
      - name: '*cache'
        type: struct cache_s
      - name: flags
        type: "struct\n  {\n    unsigned int yubikey:1;  /* This is on a Yubikey.
          \ */\n  }"
      - name: pincache
        type: "struct\n  {\n    unsigned int maybe_00:1;\n    unsigned int maybe_80:1;\n
          \   unsigned int maybe_81:1;\n    unsigned int maybe_96:1;\n    unsigned
          int maybe_97:1;\n    unsigned int maybe_98:1;\n    unsigned int maybe_9B:1;\n
          \ }"
      item_type: struct
      name: app_local_s
      pos:
        line_end: 232
        line_start: 207
        source_file: /src/gnupg/scd/app-piv.c
    - fields:
      - name: tag
        type: int
      - name: len
        type: unsigned int
      - name: contlen
        type: unsigned int
      - name: '*data'
        type: void
      item_type: struct
      name: argv[10]
      pos:
        line_end: 545
        line_start: 540
        source_file: /src/gnupg/scd/app-piv.c
    - fields:
      - name: tag
        type: int
      - name: len
        type: size_t
      - name: '*data'
        type: void
      item_type: struct
      name: argv[10]
      pos:
        line_end: 645
        line_start: 641
        source_file: /src/gnupg/scd/app-piv.c
    - fields:
      - name: '*name'
        type: char
      - name: tag
        type: int
      - name: special
        type: int
      item_type: struct
      name: "table[] = {\n    { \"SERIALNO\",     0x0000, -1 },\n    { \"$AUTHKEYID\",
        \  0x0000, -2 }, /* Default ssh key.  */\n    { \"$ENCRKEYID\",   0x0000,
        -6 }, /* Default encryption key.  */\n    { \"$SIGNKEYID\",   0x0000, -7 },
        /* Default signing key.  */\n    { \"$DISPSERIALNO\",0x0000, -3 },\n    {
        \"CHV-STATUS\",   0x0000, -4 },\n    { \"CHV-USAGE\",    0x007E, -5 }\n  }"
      pos:
        line_end: 775
        line_start: 771
        source_file: /src/gnupg/scd/app-piv.c
    - fields:
      - name: '*name'
        type: char
      - name: tag
        type: unsigned short
      - name: flush_tag
        type: unsigned short
      - name: special
        type: int
      item_type: struct
      name: "table[] = {\n    /* Authenticate using the PIV Card Application Administration
        Key\n     * (0x9B).  Note that Yubico calls this key the \"management key\"\n
        \    * which we don't do because that term is too similar to \"Cert\n     *
        Management Key\" (0x9D).  */\n    { \"AUTH-ADM-KEY\", 0x0000, 0x0000, 1 },\n
        \   { \"SET-ADM-KEY\",  0x0000, 0x0000, 2 }\n  }"
      pos:
        line_end: 1041
        line_start: 1036
        source_file: /src/gnupg/scd/app-piv.c
    - fields:
      - name: curve_seen
        type: int
      item_type: struct
      name: my_cmp_public_key_parm_s
      pos:
        line_end: 3397
        line_start: 3395
        source_file: /src/gnupg/scd/app-piv.c
    typedefs:
    - item_type: typedef
      name: '*data_object_t'
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/gnupg/scd/app-piv.c
      type: data_object_s
    union: []
- function_names:
  - set_error
  - IS_LOCKED
  - hex_to_buffer
  - do_reset
  - reset_notify
  - option_handler
  - open_card
  - open_card_with_request
  - cmd_serialno
  - switchcard_core
  - cmd_switchcard
  - cmd_switchapp
  - cmd_learn
  - cmd_readcert
  - do_readkey
  - cmd_readkey
  - cmd_setdata
  - pin_cb
  - cmd_pksign
  - cmd_pkauth
  - cmd_pkdecrypt
  - cmd_getattr
  - cmd_setattr
  - cmd_writecert
  - cmd_writekey
  - cmd_genkey
  - cmd_random
  - cmd_passwd
  - cmd_checkpin
  - cmd_lock
  - cmd_unlock
  - cmd_getinfo
  - cmd_restart
  - cmd_disconnect
  - cmd_apdu
  - cmd_killscd
  - cmd_keyinfo
  - send_keyinfo
  - cmd_devinfo
  - command_has_option
  - register_commands
  - scd_command_handler
  - send_status_info
  - send_status_direct
  - send_status_printf
  - set_key_for_pincache
  - pincache_put
  - pincache_get
  - popup_prompt
  - send_client_notifications
  source_file: /src/gnupg/scd/command.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXLEN_PIN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/gnupg/scd/command.c
      type_or_value: '100'
    - item_type: preproc_def
      name: MAXLEN_KEYDATA
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/gnupg/scd/command.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: MAXLEN_SETDATA
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/gnupg/scd/command.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: MAXLEN_CERTDATA
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/gnupg/scd/command.c
      type_or_value: '16384'
    - item_type: preproc_def
      name: MAXLEN_SETATTRDATA
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/gnupg/scd/command.c
      type_or_value: '16384'
    structs:
    - fields:
      - name: '*next_session'
        type: struct server_local_s
      - name: ctrl_backlink
        type: ctrl_t
      - name: assuan_ctx
        type: assuan_context_t
      - name: card_removed
        type: unsigned int
      - name: stopme
        type: unsigned int
      - name: watching_status
        type: unsigned int
      item_type: struct
      name: server_local_s
      pos:
        line_end: 100
        line_start: 69
        source_file: /src/gnupg/scd/command.c
    - fields:
      - name: '*name'
        type: char
      - name: handler
        type: assuan_handler_t
      - name: '* const help'
        type: char
      item_type: struct
      name: "table[] = {\n    { \"SERIALNO\",     cmd_serialno, hlp_serialno },\n
        \   { \"SWITCHCARD\",   cmd_switchcard,hlp_switchcard },\n    { \"SWITCHAPP\",
        \   cmd_switchapp,hlp_switchapp },\n    { \"LEARN\",        cmd_learn,    hlp_learn
        },\n    { \"READCERT\",     cmd_readcert, hlp_readcert },\n    { \"READKEY\",
        \     cmd_readkey,  hlp_readkey },\n    { \"SETDATA\",      cmd_setdata,  hlp_setdata
        },\n    { \"PKSIGN\",       cmd_pksign,   hlp_pksign },\n    { \"PKAUTH\",
        \      cmd_pkauth,   hlp_pkauth },\n    { \"PKDECRYPT\",    cmd_pkdecrypt,hlp_pkdecrypt
        },\n    { \"INPUT\",        NULL },\n    { \"OUTPUT\",       NULL },\n    {
        \"GETATTR\",      cmd_getattr,  hlp_getattr },\n    { \"SETATTR\",      cmd_setattr,
        \ hlp_setattr },\n    { \"WRITECERT\",    cmd_writecert,hlp_writecert },\n
        \   { \"WRITEKEY\",     cmd_writekey, hlp_writekey },\n    { \"GENKEY\",       cmd_genkey,
        \  hlp_genkey },\n    { \"RANDOM\",       cmd_random,   hlp_random },\n    {
        \"PASSWD\",       cmd_passwd,   hlp_passwd },\n    { \"CHECKPIN\",     cmd_checkpin,
        hlp_checkpin },\n    { \"LOCK\",         cmd_lock,     hlp_lock },\n    {
        \"UNLOCK\",       cmd_unlock,   hlp_unlock },\n    { \"GETINFO\",      cmd_getinfo,
        \ hlp_getinfo },\n    { \"RESTART\",      cmd_restart,  hlp_restart },\n    {
        \"DISCONNECT\",   cmd_disconnect,hlp_disconnect },\n    { \"APDU\",         cmd_apdu,
        \    hlp_apdu },\n    { \"KILLSCD\",      cmd_killscd,  hlp_killscd },\n    {
        \"KEYINFO\",      cmd_keyinfo,  hlp_keyinfo },\n    { \"DEVINFO\",      cmd_devinfo,
        \ hlp_devinfo },\n    { NULL }\n  }"
      pos:
        line_end: 2472
        line_start: 2468
        source_file: /src/gnupg/scd/command.c
    - fields: []
      item_type: struct
      name: killed[50]
      pos:
        line_end: 2994
        line_start: 2987
        source_file: /src/gnupg/scd/command.c
    typedefs: []
    union: []
- function_names:
  - do_learn_status
  - do_readcert
  - verify_pin
  - do_sign
  - do_change_pin
  - app_select_dinsig
  source_file: /src/gnupg/scd/app-dinsig.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - make_libversion
  - my_strusage
  - tid_log_callback
  - set_debug
  - cleanup
  - setup_signal_mask
  - main
  - scd_exit
  - scd_init_default_ctrl
  - scd_deinit_default_ctrl
  - scd_get_socket_name
  - scd_init_event
  - handle_signal
  - create_socket_name
  - create_server_socket
  - start_connection_thread
  - scd_kick_the_loop
  - handle_connections
  - get_active_connection_count
  source_file: /src/gnupg/scd/scdaemon.c
  types:
    enum:
    - enumerators:
      - name: aNull
        value: '0'
      - name: oSh
        value: '''s'''
      - name: aGPGConfTest
      - name: oDebugLevel
      - name: oDebugLogTid
      - name: oNoOptions
      - name: oLogFile
      - name: oBatch
      - name: opcscDriver
      - name: oDisablePinpad
      - name: oCompatibilityFlags
      - name: oVerbose
        value: '''v'''
      - name: oOptions
      - name: oDebugAllowPINLogging
      - name: oDebugWait
      - name: oHomedir
      - name: oServer
      - name: oReaderPort
      - name: opcscShared
      - name: oAllowAdmin
      - name: oEnablePinpadVarlen
      - name: oCsh
        value: '''c'''
      - name: oNoVerbose
        value: '500'
      - name: oDebug
      - name: oDebugAssuanLogCats
      - name: oDebugAllowCoreDump
      - name: oNoDetach
      - name: oMultiServer
      - name: oCardTimeout
      - name: oDisableCCID
      - name: oDenyAdmin
      - name: oApplicationPriority
      - name: oListenBacklog
      - name: oQuiet
        value: '''q'''
      - name: aGPGConfList
      - name: oNoGreeting
      - name: oDebugCCIDDriver
      - name: oDebugAll
      - name: oNoGrab
      - name: oDaemon
      - name: octapiDriver
      - name: oDisableOpenSC
      - name: oDisableApplication
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 108
        line_start: 63
        source_file: /src/gnupg/scd/scdaemon.c
    preproc_defs:
    - item_type: preproc_def
      name: INCLUDED_BY_MAIN_MODULE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/gnupg/scd/scdaemon.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ENAMETOOLONG
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/gnupg/scd/scdaemon.c
      type_or_value: EINVAL
    - item_type: preproc_def
      name: DEFAULT_PCSC_DRIVER
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/gnupg/scd/scdaemon.c
      type_or_value: '"winscard.dll"'
    - item_type: preproc_def
      name: DEFAULT_PCSC_DRIVER
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/gnupg/scd/scdaemon.c
      type_or_value: '"/System/Library/Frameworks/PCSC.framework/PCSC"'
    - item_type: preproc_def
      name: DEFAULT_PCSC_DRIVER
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/gnupg/scd/scdaemon.c
      type_or_value: '"libpcsclite.so.1"'
    - item_type: preproc_def
      name: DEFAULT_PCSC_DRIVER
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/gnupg/scd/scdaemon.c
      type_or_value: '"libpcsclite.so"'
    - item_type: preproc_def
      name: TIMERTICK_INTERVAL_SEC
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/gnupg/scd/scdaemon.c
      type_or_value: (0)
    - item_type: preproc_def
      name: TIMERTICK_INTERVAL_USEC
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/gnupg/scd/scdaemon.c
      type_or_value: (500000)
    structs: []
    typedefs: []
    union: []
- function_names:
  - SCARD_CTL_CODE
  - SCARD_CTL_CODE
  - PCSC_ERR_MASK
  - all_zero_p
  - lock_slot
  - trylock_slot
  - unlock_slot
  - new_reader_slot
  - dump_reader_status
  - host_sw_string
  - apdu_strerror
  - pcsc_error_string
  - pcsc_error_to_sw
  - dump_pcsc_reader_status
  - pcsc_get_status
  - pcsc_send_apdu
  - control_pcsc
  - release_pcsc_context
  - close_pcsc_reader
  - connect_pcsc_card
  - disconnect_pcsc_card
  - reset_pcsc_reader
  - pcsc_vendor_specific_init
  - pcsc_init
  - open_pcsc_reader
  - check_pcsc_pinpad
  - pcsc_pinpad_verify
  - pcsc_pinpad_modify
  - dump_ccid_reader_status
  - close_ccid_reader
  - reset_ccid_reader
  - set_progress_cb_ccid_reader
  - set_prompt_cb_ccid_reader
  - get_status_ccid
  - send_apdu_ccid
  - check_ccid_pinpad
  - ccid_pinpad_operation
  - open_ccid_reader
  - rapdu_status_to_sw
  - close_rapdu_reader
  - reset_rapdu_reader
  - my_rapdu_get_status
  - my_rapdu_send_apdu
  - open_rapdu_reader
  - apdu_dev_list_start
  - apdu_dev_list_finish
  - apdu_open_reader
  - apdu_open_remote_reader
  - apdu_close_reader
  - apdu_prepare_exit
  - apdu_enum_reader
  - apdu_connect
  - apdu_disconnect
  - apdu_set_progress_cb
  - apdu_set_prompt_cb
  - apdu_reset
  - apdu_get_atr
  - apdu_get_status_internal
  - apdu_get_status
  - apdu_check_pinpad
  - apdu_pinpad_verify
  - apdu_pinpad_modify
  - send_apdu
  - send_le
  - apdu_send_le
  - apdu_send
  - apdu_send_simple
  - apdu_send_direct
  - apdu_get_reader_name
  - apdu_init
  source_file: /src/gnupg/scd/apdu.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CCID_DRIVER_INCLUDE_USB_IDS
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_READER
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '16 '
    - item_type: preproc_def
      name: DLSTDCALL
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: __stdcall
    - item_type: preproc_def
      name: HANDLE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: uintptr_t
    - item_type: preproc_def
      name: HANDLE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: long
    - item_type: preproc_def
      name: PCSC_SCOPE_USER
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PCSC_SCOPE_TERMINAL
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PCSC_SCOPE_SYSTEM
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PCSC_SCOPE_GLOBAL
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '3'
    - item_type: preproc_def
      name: PCSC_PROTOCOL_T0
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PCSC_PROTOCOL_T1
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PCSC_PROTOCOL_RAW
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x00010000  '
    - item_type: preproc_def
      name: PCSC_PROTOCOL_RAW
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '4'
    - item_type: preproc_def
      name: PCSC_SHARE_EXCLUSIVE
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PCSC_SHARE_SHARED
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PCSC_SHARE_DIRECT
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '3'
    - item_type: preproc_def
      name: PCSC_LEAVE_CARD
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PCSC_RESET_CARD
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PCSC_UNPOWER_CARD
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PCSC_EJECT_CARD
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '3'
    - item_type: preproc_def
      name: PCSC_UNKNOWN
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0000  '
    - item_type: preproc_def
      name: PCSC_ABSENT
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0001  '
    - item_type: preproc_def
      name: PCSC_PRESENT
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0002  '
    - item_type: preproc_def
      name: PCSC_SWALLOWED
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0003  '
    - item_type: preproc_def
      name: PCSC_POWERED
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0004  '
    - item_type: preproc_def
      name: PCSC_NEGOTIABLE
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0005  '
    - item_type: preproc_def
      name: PCSC_SPECIFIC
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0006  '
    - item_type: preproc_def
      name: PCSC_UNKNOWN
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: PCSC_ABSENT
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0002  '
    - item_type: preproc_def
      name: PCSC_PRESENT
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0004  '
    - item_type: preproc_def
      name: PCSC_SWALLOWED
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0008  '
    - item_type: preproc_def
      name: PCSC_POWERED
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0010  '
    - item_type: preproc_def
      name: PCSC_NEGOTIABLE
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0020  '
    - item_type: preproc_def
      name: PCSC_SPECIFIC
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0040  '
    - item_type: preproc_def
      name: PCSC_STATE_UNAWARE
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0000  '
    - item_type: preproc_def
      name: PCSC_STATE_IGNORE
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0001  '
    - item_type: preproc_def
      name: PCSC_STATE_CHANGED
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0002  '
    - item_type: preproc_def
      name: PCSC_STATE_UNKNOWN
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0004  '
    - item_type: preproc_def
      name: PCSC_STATE_UNAVAILABLE
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0008  '
    - item_type: preproc_def
      name: PCSC_STATE_EMPTY
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0010  '
    - item_type: preproc_def
      name: PCSC_STATE_PRESENT
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0020  '
    - item_type: preproc_def
      name: PCSC_STATE_ATRMATCH
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0040  '
    - item_type: preproc_def
      name: PCSC_STATE_EXCLUSIVE
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0080  '
    - item_type: preproc_def
      name: PCSC_STATE_INUSE
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0100  '
    - item_type: preproc_def
      name: PCSC_STATE_MUTE
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0200  '
    - item_type: preproc_def
      name: PCSC_STATE_UNPOWERED
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x0400  '
    - item_type: preproc_def
      name: PCSC_E_CANCELLED
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x80100002'
    - item_type: preproc_def
      name: PCSC_E_CANT_DISPOSE
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x8010000E'
    - item_type: preproc_def
      name: PCSC_E_INSUFFICIENT_BUFFER
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x80100008'
    - item_type: preproc_def
      name: PCSC_E_INVALID_ATR
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x80100015'
    - item_type: preproc_def
      name: PCSC_E_INVALID_HANDLE
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x80100003'
    - item_type: preproc_def
      name: PCSC_E_INVALID_PARAMETER
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x80100004'
    - item_type: preproc_def
      name: PCSC_E_INVALID_TARGET
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x80100005'
    - item_type: preproc_def
      name: PCSC_E_INVALID_VALUE
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x80100011'
    - item_type: preproc_def
      name: PCSC_E_NO_MEMORY
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x80100006'
    - item_type: preproc_def
      name: PCSC_E_UNKNOWN_READER
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x80100009'
    - item_type: preproc_def
      name: PCSC_E_TIMEOUT
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x8010000A'
    - item_type: preproc_def
      name: PCSC_E_SHARING_VIOLATION
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x8010000B'
    - item_type: preproc_def
      name: PCSC_E_NO_SMARTCARD
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x8010000C'
    - item_type: preproc_def
      name: PCSC_E_UNKNOWN_CARD
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x8010000D'
    - item_type: preproc_def
      name: PCSC_E_PROTO_MISMATCH
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x8010000F'
    - item_type: preproc_def
      name: PCSC_E_NOT_READY
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x80100010'
    - item_type: preproc_def
      name: PCSC_E_SYSTEM_CANCELLED
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x80100012'
    - item_type: preproc_def
      name: PCSC_E_NOT_TRANSACTED
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x80100016'
    - item_type: preproc_def
      name: PCSC_E_READER_UNAVAILABLE
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x80100017'
    - item_type: preproc_def
      name: PCSC_E_NO_SERVICE
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x8010001D'
    - item_type: preproc_def
      name: PCSC_E_SERVICE_STOPPED
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x8010001E'
    - item_type: preproc_def
      name: PCSC_E_NO_READERS_AVAILABLE
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x8010002E'
    - item_type: preproc_def
      name: PCSC_W_RESET_CARD
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x80100068'
    - item_type: preproc_def
      name: PCSC_W_REMOVED_CARD
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x80100069'
    - item_type: preproc_def
      name: CM_IOCTL_GET_FEATURE_REQUEST
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: SCARD_CTL_CODE(3400)
    - item_type: preproc_def
      name: CM_IOCTL_VENDOR_IFD_EXCHANGE
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: SCARD_CTL_CODE(1)
    - item_type: preproc_def
      name: FEATURE_VERIFY_PIN_DIRECT
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x06'
    - item_type: preproc_def
      name: FEATURE_MODIFY_PIN_DIRECT
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x07'
    - item_type: preproc_def
      name: FEATURE_GET_TLV_PROPERTIES
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '0x12'
    - item_type: preproc_def
      name: PCSCv2_PART10_PROPERTY_bEntryValidationCondition
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PCSCv2_PART10_PROPERTY_bTimeOut2
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '3'
    - item_type: preproc_def
      name: PCSCv2_PART10_PROPERTY_bMinPINSize
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '6'
    - item_type: preproc_def
      name: PCSCv2_PART10_PROPERTY_bMaxPINSize
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '7'
    - item_type: preproc_def
      name: PCSCv2_PART10_PROPERTY_wIdVendor
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '11'
    - item_type: preproc_def
      name: PCSCv2_PART10_PROPERTY_wIdProduct
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '12'
    - item_type: preproc_def
      name: PIN_VERIFY_STRUCTURE_SIZE
      pos:
        line_end: 1310
        line_start: 1309
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '24'
    - item_type: preproc_def
      name: PIN_MODIFY_STRUCTURE_SIZE
      pos:
        line_end: 1388
        line_start: 1387
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '29'
    - item_type: preproc_def
      name: SHORT_RESULT_BUFFER_SIZE
      pos:
        line_end: 2836
        line_start: 2835
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '258'
    - item_type: preproc_def
      name: SHORT_RESULT_BUFFER_SIZE
      pos:
        line_end: 3275
        line_start: 3274
        source_file: /src/gnupg/scd/apdu.c
      type_or_value: '258'
    structs:
    - fields:
      - name: '*table'
        type: void
      - name: '*portstr'
        type: char
      - name: idx
        type: int
      - name: idx_max
        type: int
      item_type: struct
      name: dev_list
      pos:
        line_end: 59
        line_start: 54
        source_file: /src/gnupg/scd/apdu.c
    - fields:
      - name: context
        type: HANDLE
      - name: count
        type: int
      - name: '*rdrname[MAX_READER]'
        type: char
      item_type: struct
      name: pcsc_global_data
      pos:
        line_end: 88
        line_start: 84
        source_file: /src/gnupg/scd/apdu.c
    - fields:
      - name: used
        type: int
      - name: port
        type: unsigned short
      - name: (*connect_card)(int)
        type: int
      - name: (*disconnect_card)(int)
        type: int
      - name: (*close_reader)(int)
        type: int
      - name: (*reset_reader)(int)
        type: int
      - name: (*get_status_reader)(int, unsigned int *, int)
        type: int
      - name: "(*send_apdu_reader)(int,unsigned char *,size_t,\n                          unsigned
          char *, size_t *, pininfo_t *)"
        type: int
      - name: (*check_pinpad)(int, int, pininfo_t *)
        type: int
      - name: (*dump_status_reader)(int)
        type: void
      - name: (*set_progress_cb)(int, gcry_handler_progress_t, void*)
        type: int
      - name: (*set_prompt_cb)(int, void (*) (void *, int), void*)
        type: int
      - name: (*pinpad_verify)(int, int, int, int, int, pininfo_t *)
        type: int
      - name: (*pinpad_modify)(int, int, int, int, int, pininfo_t *)
        type: int
      - name: ccid
        type: "struct {\n    ccid_driver_t handle;\n  }"
      - name: pcsc
        type: "struct {\n    HANDLE card;\n    pcsc_dword_t protocol;\n    pcsc_dword_t
          verify_ioctl;\n    pcsc_dword_t modify_ioctl;\n    int pinmin;\n    int
          pinmax;\n    pcsc_dword_t current_state;\n  }"
      - name: '*rdrname'
        type: char
      - name: is_t0
        type: unsigned int
      - name: pinpad_varlen_supported
        type: unsigned int
      - name: require_get_status
        type: unsigned int
      - name: atr[33]
        type: unsigned char
      - name: atrlen
        type: size_t
      item_type: struct
      name: reader_table_s
      pos:
        line_end: 141
        line_start: 92
        source_file: /src/gnupg/scd/apdu.c
    - fields: []
      item_type: struct
      name: pcsc_io_request_s
      pos:
        line_end: 274
        line_start: 265
        source_file: /src/gnupg/scd/apdu.c
    - fields:
      - name: '*reader'
        type: char
      - name: '*user_data'
        type: void
      - name: current_state
        type: pcsc_dword_t
      - name: event_state
        type: pcsc_dword_t
      - name: atrlen
        type: pcsc_dword_t
      - name: atr[33]
        type: unsigned char
      item_type: struct
      name: pcsc_readerstate_s
      pos:
        line_end: 290
        line_start: 282
        source_file: /src/gnupg/scd/apdu.c
    typedefs:
    - item_type: typedef
      name: pcsc_dword_t
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/gnupg/scd/apdu.c
      type: unsigned int
    - item_type: typedef
      name: pcsc_dword_t
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/gnupg/scd/apdu.c
      type: unsigned long
    - item_type: typedef
      name: '*reader_table_t'
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/gnupg/scd/apdu.c
      type: reader_table_s
    - item_type: typedef
      name: '*pcsc_io_request_t'
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/gnupg/scd/apdu.c
      type: pcsc_io_request_s
    - item_type: typedef
      name: '*pcsc_readerstate_t'
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/gnupg/scd/apdu.c
      type: pcsc_readerstate_s
    union: []
- function_names:
  - app_openpgp_manufacturer
  - do_deinit
  - wipe_and_free
  - wipe_and_free_string
  - get_cached_data
  - flush_cache_item
  - flush_cache_after_error
  - flush_cache
  - get_one_do
  - dump_all_do
  - count_bits
  - count_sos_bits
  - parse_login_data
  - store_fpr
  - send_fpr_if_not_null
  - send_fprtime_if_not_null
  - send_key_data
  - send_key_attr
  - determine_rsa_response
  - do_getattr
  - get_disp_name
  - get_remaining_tries
  - retrieve_fpr_from_card
  - retrieve_fprtime_from_card
  - retrieve_key_material
  - rsa_read_pubkey
  - ecdh_params
  - ecc_read_pubkey
  - store_keygrip
  - read_public_key
  - get_public_key
  - get_usage_string
  - send_keypair_info
  - do_learn_status
  - do_readkey
  - do_readcert
  - check_pinpad_request
  - get_prompt_info
  - pin2hash_if_kdf
  - chvno_to_keyref
  - cache_pin
  - pin_from_cache
  - build_enter_pin_prompt
  - verify_a_chv
  - verify_chv2
  - build_enter_admin_pin_prompt
  - verify_chv3
  - do_setattr
  - do_writecert
  - clear_chv_status
  - do_change_pin
  - does_key_exist
  - add_tlv
  - build_privkey_template
  - build_ecc_privkey_template
  - change_keyattr
  - change_rsa_keyattr
  - change_keyattr_from_string
  - rsa_writekey
  - ecc_writekey
  - do_writekey
  - do_genkey
  - convert_sig_counter_value
  - get_sig_counter
  - compare_fingerprint
  - check_against_given_fingerprint
  - check_keyidstr
  - do_sign
  - X
  - X
  - gen_challenge
  - do_auth
  - do_decipher
  - do_check_pin
  - send_keyinfo_if_available
  - do_with_keygrip
  - show_caps
  - parse_historical
  - ecc_curve
  - get_algorithm_attribute_string
  - parse_algorithm_attribute
  - do_prep_reselect
  - do_reselect
  - do_check_aid
  - app_select_openpgp
  source_file: /src/gnupg/scd/app-openpgp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KDF_DATA_LENGTH_MIN
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/gnupg/scd/app-openpgp.c
      type_or_value: '90'
    - item_type: preproc_def
      name: KDF_DATA_LENGTH_MAX
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/gnupg/scd/app-openpgp.c
      type_or_value: '110'
    - item_type: preproc_def
      name: ECC_FLAG_DJB_TWEAK
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/gnupg/scd/app-openpgp.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: ECC_FLAG_PUBKEY
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/gnupg/scd/app-openpgp.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: MAX_ARGS_STORE_FPR
      pos:
        line_end: 944
        line_start: 943
        source_file: /src/gnupg/scd/app-openpgp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: RSA_SMALL_SIZE_KEY
      pos:
        line_end: 1147
        line_start: 1146
        source_file: /src/gnupg/scd/app-openpgp.c
      type_or_value: '1952'
    - item_type: preproc_def
      name: RSA_SMALL_SIZE_OP
      pos:
        line_end: 1148
        line_start: 1147
        source_file: /src/gnupg/scd/app-openpgp.c
      type_or_value: '2048'
    structs:
    - fields:
      - name: tag
        type: int
      - name: constructed
        type: int
      - name: get_from
        type: int
      - name: binary
        type: unsigned int
      - name: dont_cache
        type: unsigned int
      - name: flush_on_error
        type: unsigned int
      - name: get_immediate_in_v11
        type: unsigned int
      - name: try_extlen
        type: unsigned int
      - name: '*desc'
        type: char
      item_type: struct
      name: "data_objects[] = {\n  { 0x005E, 0,    0, 1, 0, 0, 0, 2, \"Login Data\"
        },\n  { 0x5F50, 0,    0, 0, 0, 0, 0, 2, \"URL\" },\n  { 0x5F52, 0,    0, 1,
        0, 0, 0, 0, \"Historical Bytes\" },\n  { 0x0065, 1,    0, 1, 0, 0, 0, 0, \"Cardholder
        Related Data\"},\n  { 0x005B, 0, 0x65, 0, 0, 0, 0, 0, \"Name\" },\n  { 0x5F2D,
        0, 0x65, 0, 0, 0, 0, 0, \"Language preferences\" },\n  { 0x5F35, 0, 0x65,
        0, 0, 0, 0, 0, \"Salutation\" },\n  { 0x006E, 1,    0, 1, 0, 0, 0, 0, \"Application
        Related Data\" },\n  { 0x004F, 0, 0x6E, 1, 0, 0, 0, 0, \"AID\" },\n  { 0x0073,
        1,    0, 1, 0, 0, 0, 0, \"Discretionary Data Objects\" },\n  { 0x0047, 0,
        0x6E, 1, 1, 0, 0, 0, \"Card Capabilities\" },\n  { 0x00C0, 0, 0x6E, 1, 1,
        0, 0, 0, \"Extended Card Capabilities\" },\n  { 0x00C1, 0, 0x6E, 1, 1, 0,
        0, 0, \"Algorithm Attributes Signature\" },\n  { 0x00C2, 0, 0x6E, 1, 1, 0,
        0, 0, \"Algorithm Attributes Decryption\" },\n  { 0x00C3, 0, 0x6E, 1, 1, 0,
        0, 0, \"Algorithm Attributes Authentication\" },\n  { 0x00C4, 0, 0x6E, 1,
        0, 1, 1, 0, \"CHV Status Bytes\" },\n  { 0x00C5, 0, 0x6E, 1, 0, 0, 0, 0, \"Fingerprints\"
        },\n  { 0x00C6, 0, 0x6E, 1, 0, 0, 0, 0, \"CA Fingerprints\" },\n  { 0x00CD,
        0, 0x6E, 1, 0, 0, 0, 0, \"Generation time\" },\n  { 0x007A, 1,    0, 1, 0,
        0, 0, 0, \"Security Support Template\" },\n  { 0x0093, 0, 0x7A, 1, 1, 0, 0,
        0, \"Digital Signature Counter\" },\n  { 0x0101, 0,    0, 0, 0, 0, 0, 2, \"Private
        DO 1\"},\n  { 0x0102, 0,    0, 0, 0, 0, 0, 2, \"Private DO 2\"},\n  { 0x0103,
        0,    0, 0, 0, 0, 0, 2, \"Private DO 3\"},\n  { 0x0104, 0,    0, 0, 0, 0,
        0, 2, \"Private DO 4\"},\n  { 0x7F21, 1,    0, 1, 0, 0, 0, 1, \"Cardholder
        certificate\"},\n  /* V3.0 */\n  { 0x7F74, 0, 0x6E, 1, 0, 0, 0, 0, \"General
        Feature Management\"},\n  { 0x00D5, 0,    0, 1, 0, 0, 0, 0, \"AES key data\"},\n
        \ { 0x00D6, 0, 0x6E, 1, 0, 0, 0, 0, \"UIF for Signature\"},\n  { 0x00D7, 0,
        0x6E, 1, 0, 0, 0, 0, \"UIF for Decryption\"},\n  { 0x00D8, 0, 0x6E, 1, 0,
        0, 0, 0, \"UIF for Authentication\"},\n  { 0x00D9, 0, 0x6E, 1, 0, 0, 0, 0,
        \"UIF for Attestation\"},\n  { 0x00DA, 0, 0x6E, 1, 0, 0, 0, 0, \"Algorithm
        Attributes Attestation\"},\n  { 0x00DB, 0, 0x6E, 1, 0, 0, 0, 0, \"Key Fingerprint
        Attestation\"},\n  { 0x00DC, 0, 0x6E, 1, 0, 0, 0, 0, \"CA Fingerprint Attestation\"},\n
        \ { 0x00DA, 0, 0x6E, 1, 0, 0, 0, 0, \"Key Generation Date Attestation\"},\n
        \ { 0x00DE, 1,    0, 1, 0, 0, 0, 0, \"Key information\" },\n  { 0x00F9, 1,
        \   0, 1, 0, 0, 0, 0, \"KDF data object\"},\n  { 0x00FA, 1,    0, 1, 0, 0,
        0, 2, \"Algorithm Information\"},\n  { 0x00FB, 1,    0, 1, 0, 0, 0, 2, \"Secure
        Messaging Certificate\"},\n  { 0x00FC, 1,    0, 1, 0, 0, 0, 2, \"Attestation
        Certificate\"},\n  { 0 }\n}"
      pos:
        line_end: 101
        line_start: 82
        source_file: /src/gnupg/scd/app-openpgp.c
    - fields:
      - name: '*next'
        type: struct cache_s
      - name: tag
        type: int
      - name: length
        type: size_t
      - name: data[1]
        type: unsigned char
      item_type: struct
      name: cache_s
      pos:
        line_end: 175
        line_start: 170
        source_file: /src/gnupg/scd/app-openpgp.c
    - fields:
      - name: '*cache'
        type: struct cache_s
      - name: pk[3]
        type: "struct\n  {\n    int read_done;   /* True if we have at least tried
          to read them.  */\n    unsigned char *key; /* This is a malloced buffer
          with a canonical\n                           encoded S-expression encoding
          a public\n                           key. Might be NULL if key is not\n
          \                          available.  */\n    size_t keylen;      /* The
          length of the above S-expression.  This\n                           is usually
          only required for cross checks\n                           because the length
          of an S-expression is\n                           implicitly available.
          \ */\n    unsigned char keygrip_str[41]; /* The keygrip, null terminated
          */\n  }"
      - name: status_indicator
        type: unsigned char
      - name: manufacturer
        type: unsigned int
      - name: cardcap
        type: "struct\n  {\n    unsigned int cmd_chaining:1;  /* Command chaining
          is supported.  */\n    unsigned int ext_lc_le:1;     /* Extended Lc and
          Le are supported.  */\n  }"
      - name: extcap
        type: "struct\n  {\n    unsigned int is_v2:1;              /* Compatible to
          v2 or later.        */\n    unsigned int is_v3:1;              /* Compatible
          to v3 or later.        */\n    unsigned int has_button:1;         /* Has
          confirmation button or not.   */\n\n    unsigned int sm_supported:1;       /*
          Secure Messaging is supported.    */\n    unsigned int get_challenge:1;\n
          \   unsigned int key_import:1;\n    unsigned int change_force_chv:1;\n    unsigned
          int private_dos:1;\n    unsigned int algo_attr_change:1;   /* Algorithm
          attributes changeable.  */\n    unsigned int has_decrypt:1;        /* Support
          symmetric decryption.     */\n    unsigned int kdf_do:1;             /*
          Support KDF DO.                   */\n\n    unsigned int sm_algo:2;            /*
          Symmetric crypto algo for SM.     */\n    unsigned int pin_blk2:1;           /*
          PIN block 2 format supported.     */\n    unsigned int mse:1;                /*
          MSE command supported.            */\n    unsigned int max_certlen:16;       /*
          Maximum size of DO 7F21.          */\n    unsigned int max_get_challenge:16;
          /* Maximum size for get_challenge.   */\n    unsigned int max_special_do:16;
          \   /* Maximum size for special DOs.     */\n  }"
      - name: flags
        type: "struct\n  {\n    unsigned int no_sync:1;   /* Do not sync CHV1 and
          CHV2 */\n    unsigned int def_chv2:1;  /* Use 123456 for CHV2.  */\n  }"
      - name: override
        type: "struct\n  {\n    unsigned int cache_6e:1;\n  }"
      - name: pincache
        type: "struct\n  {\n    unsigned int maybe_chv1:1;\n    unsigned int maybe_chv2:1;\n
          \   unsigned int maybe_chv3:1;\n  }"
      - name: pinpad
        type: "struct\n  {\n    unsigned int disabled:1;    /* No pinpad use because
          of KDF DO.  */\n    unsigned int specified:1;\n    int fixedlen_user;\n
          \   int fixedlen_admin;\n  }"
      - name: keyattr[3]
        type: "struct\n  {\n    key_type_t key_type;\n    const char *keyalgo;         /*
          Algorithm in standard string format.  */\n    union {\n      struct {\n
          \       unsigned int n_bits;     /* Size of the modulus in bits.  The rest\n
          \                                   of this strucuire is only valid if\n
          \                                   this is not 0.  */\n        unsigned
          int e_bits;     /* Size of the public exponent in bits.  */\n        rsa_key_format_t
          format;\n      } rsa;\n      struct {\n        const char *curve;       /*
          Canonical name defined in openpgp-oid.c */\n        int algo;\n        unsigned
          int flags;\n      } ecc;\n    };\n   }"
      item_type: struct
      name: app_local_s
      pos:
        line_end: 286
        line_start: 179
        source_file: /src/gnupg/scd/app-openpgp.c
    - fields:
      - name: '*name'
        type: char
      - name: tag
        type: int
      - name: special
        type: int
      item_type: struct
      name: "table[] = {\n    { \"DISP-NAME\",    0x005B },\n    { \"LOGIN-DATA\",
        \  0x005E },\n    { \"DISP-LANG\",    0x5F2D },\n    { \"DISP-SEX\",     0x5F35
        },\n    { \"PUBKEY-URL\",   0x5F50 },\n    { \"KEY-FPR\",      0x00C5, 3 },\n
        \   { \"KEY-TIME\",     0x00CD, 4 },\n    { \"KEY-ATTR\",     0x0000, -5 },\n
        \   { \"CA-FPR\",       0x00C6, 3 },\n    { \"CHV-STATUS\",   0x00C4, 1 },\n
        \   { \"SIG-COUNTER\",  0x0093, 2 },\n    { \"SERIALNO\",     0x004F, -1 },\n
        \   { \"AID\",          0x004F },\n    { \"EXTCAP\",       0x0000, -2 },\n
        \   { \"PRIVATE-DO-1\", 0x0101 },\n    { \"PRIVATE-DO-2\", 0x0102 },\n    {
        \"PRIVATE-DO-3\", 0x0103 },\n    { \"PRIVATE-DO-4\", 0x0104 },\n    { \"$AUTHKEYID\",
        \  0x0000, -3 },\n    { \"$ENCRKEYID\",   0x0000, -6 },\n    { \"$SIGNKEYID\",
        \  0x0000, -7 },\n    { \"$DISPSERIALNO\",0x0000, -4 },\n    { \"UIF-1\",
        \       0x00D6, 0 },\n    { \"UIF-2\",        0x00D7, 0 },\n    { \"UIF-3\",
        \       0x00D8, 0 },\n    { \"KDF\",          0x00F9, 5 },\n    { \"MANUFACTURER\",
        0x0000, -8 },\n    { \"UIF\",          0x0000, -9 },  /* Shortcut for all
        UIF */\n    { \"KEY-STATUS\",   0x00DE,  6 },\n    { \"KEY-ATTR-INFO\", 0x00FA,
        \ 7 },\n    { NULL, 0 }\n  }"
      pos:
        line_end: 1171
        line_start: 1167
        source_file: /src/gnupg/scd/app-openpgp.c
    - fields:
      - name: '*name'
        type: char
      - name: tag
        type: int
      - name: flush_tag
        type: int
      - name: need_chv
        type: int
      - name: special
        type: int
      - name: need_v2
        type: unsigned int
      - name: need_v3
        type: unsigned int
      item_type: struct
      name: "table[] = {\n    { \"DISP-NAME\",    0x005B, 0,      3 },\n    { \"LOGIN-DATA\",
        \  0x005E, 0,      3, 2 },\n    { \"DISP-LANG\",    0x5F2D, 0,      3 },\n
        \   { \"DISP-SEX\",     0x5F35, 0,      3 },\n    { \"PUBKEY-URL\",   0x5F50,
        0,      3 },\n    { \"CHV-STATUS-1\", 0x00C4, 0,      3, 1 },\n    { \"CA-FPR-1\",
        \    0x00CA, 0x00C6, 3 },\n    { \"CA-FPR-2\",     0x00CB, 0x00C6, 3 },\n
        \   { \"CA-FPR-3\",     0x00CC, 0x00C6, 3 },\n    { \"PRIVATE-DO-1\", 0x0101,
        0,      2 },\n    { \"PRIVATE-DO-2\", 0x0102, 0,      3 },\n    { \"PRIVATE-DO-3\",
        0x0103, 0,      2 },\n    { \"PRIVATE-DO-4\", 0x0104, 0,      3 },\n    {
        \"CERT-1\",       0x7F21, 0,      3,11, 1, 1 },\n    { \"CERT-2\",       0x7F21,
        0,      3,12, 1, 1 },\n    { \"CERT-3\",       0x7F21, 0,      3, 0, 1 },\n
        \   { \"SM-KEY-ENC\",   0x00D1, 0,      3, 0, 1 },\n    { \"SM-KEY-MAC\",
        \  0x00D2, 0,      3, 0, 1 },\n    { \"KEY-ATTR\",     0,      0,      0,
        3, 1 },\n    { \"AESKEY\",       0x00D5, 0,      3, 0, 1 },\n    { \"UIF-1\",
        \       0x00D6, 0,      3, 5, 1 },\n    { \"UIF-2\",        0x00D7, 0,      3,
        5, 1 },\n    { \"UIF-3\",        0x00D8, 0,      3, 5, 1 },\n    { \"KDF\",
        \         0x00F9, 0,      0, 4, 1 },\n    { \"GEN-ATTST\",    0,      0,      3,21,
        1 },  /* Yubikey specific */\n    { NULL, 0 }\n  }"
      pos:
        line_end: 3081
        line_start: 3073
        source_file: /src/gnupg/scd/app-openpgp.c
    typedefs: []
    union: []
- function_names:
  - X
  - IS_CARDOS_5
  - IS_STARCOS_3
  - cardtype2str
  - cardproduct2str
  - release_cdflist
  - release_prkdflist
  - release_pukdflist
  - release_aodf_object
  - release_aodflist
  - release_lists
  - release_tokeninfo
  - do_deinit
  - select_and_read_binary
  - select_and_read_record
  - select_by_path
  - select_ef_by_path
  - select_df_by_path
  - parse_certid
  - cdf_object_from_objid
  - cdf_object_from_label
  - cdf_object_from_certid
  - prkdf_object_from_keyidstr
  - read_ef_odf
  - read_first_record
  - parse_keyusage_flags
  - dump_keyusage_flags
  - dump_keyaccess_flags
  - dump_gpgusage_flags
  - parse_keyaccess_flags
  - parse_common_obj_attr
  - parse_common_key_attr
  - read_ef_prkdf
  - CLASS_CONTEXT::switch
  - read_ef_pukdf
  - CLASS_CONTEXT::switch
  - objid_in_cdflist_p
  - read_ef_cdf
  - read_ef_aodf
  - CLASS_CONTEXT::switch
  - print_tokeninfo_tokenflags
  - read_ef_tokeninfo
  - read_p15_info
  - send_certinfo
  - keygrip_from_prkdf
  - keyref_from_prkdf
  - set_usage_string
  - send_keypairinfo
  - do_learn_status
  - readcert_by_cdf
  - do_readcert
  - compare_aodf_objid
  - send_key_fpr_line
  - send_key_fpr
  - do_getattr
  - micardo_mse
  - prepare_verify_pin
  - any_control_or_space
  - any_control_or_space_mem
  - get_dispserialno
  - make_pin_prompt
  - verify_pin
  - do_sign
  - do_auth
  - do_decipher
  - do_check_pin
  - do_with_keygrip
  - read_home_df
  - app_select_p15
  source_file: /src/gnupg/scd/app-p15.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_HOME_DF
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/gnupg/scd/app-p15.c
      type_or_value: '0x5015'
    structs:
    - fields:
      - name: atrlen
        type: size_t
      - name: '*atr'
        type: unsigned char
      - name: type
        type: card_type_t
      item_type: struct
      name: "card_atr_list[] = {\n  { 19, X(\"\\x3B\\xBA\\x13\\x00\\x81\\x31\\x86\\x5D\\x00\\x64\\x05\\x0A\\x02\\x01\\x31\\x80\"\n
        \         \"\\x90\\x00\\x8B\"),\n    CARD_TYPE_TCOS },  /* SLE44 */\n  { 19,
        X(\"\\x3B\\xBA\\x14\\x00\\x81\\x31\\x86\\x5D\\x00\\x64\\x05\\x14\\x02\\x02\\x31\\x80\"\n
        \         \"\\x90\\x00\\x91\"),\n    CARD_TYPE_TCOS }, /* SLE66S */\n  { 19,
        X(\"\\x3B\\xBA\\x96\\x00\\x81\\x31\\x86\\x5D\\x00\\x64\\x05\\x60\\x02\\x03\\x31\\x80\"\n
        \         \"\\x90\\x00\\x66\"),\n    CARD_TYPE_TCOS }, /* SLE66P */\n  { 27,
        X(\"\\x3B\\xFF\\x94\\x00\\xFF\\x80\\xB1\\xFE\\x45\\x1F\\x03\\x00\\x68\\xD2\\x76\\x00\"\n
        \         \"\\x00\\x28\\xFF\\x05\\x1E\\x31\\x80\\x00\\x90\\x00\\x23\"),\n
        \   CARD_TYPE_MICARDO }, /* German BMI card */\n  { 19, X(\"\\x3B\\x6F\\x00\\xFF\\x00\\x68\\xD2\\x76\\x00\\x00\\x28\\xFF\\x05\\x1E\\x31\\x80\"\n
        \         \"\\x00\\x90\\x00\"),\n    CARD_TYPE_MICARDO }, /* German BMI card
        (ATR due to reader problem) */\n  { 26, X(\"\\x3B\\xFE\\x94\\x00\\xFF\\x80\\xB1\\xFA\\x45\\x1F\\x03\\x45\\x73\\x74\\x45\\x49\"\n
        \         \"\\x44\\x20\\x76\\x65\\x72\\x20\\x31\\x2E\\x30\\x43\"),\n    CARD_TYPE_MICARDO
        }, /* EstEID (Estonian Big Brother card) */\n  { 11, X(\"\\x3b\\xd2\\x18\\x00\\x81\\x31\\xfe\\x58\\xc9\\x01\\x14\"),\n
        \   CARD_TYPE_CARDOS_50 }, /* CardOS 5.0 */\n  { 11, X(\"\\x3b\\xd2\\x18\\x00\\x81\\x31\\xfe\\x58\\xc9\\x03\\x16\"),\n
        \   CARD_TYPE_CARDOS_53 }, /* CardOS 5.3 */\n  { 11, X(\"\\x3b\\xd2\\x18\\x00\\x81\\x31\\xfe\\x58\\xc9\\x04\\x11\"),\n
        \   CARD_TYPE_CARDOS_54 }, /* CardOS 5.4 */\n  { 24, X(\"\\x3b\\xfe\\x18\\x00\\x00\\x80\\x31\\xfe\\x45\\x53\\x43\\x45\"\n
        \         \"\\x36\\x30\\x2d\\x43\\x44\\x30\\x38\\x31\\x2d\\x6e\\x46\\xa9\"),\n
        \   CARD_TYPE_AET },\n  { 25, X(\"\\x3b\\x9f\\x96\\x81\\xb1\\xfe\\x45\\x1f\\x07\\x00\\x64\\x05\"\n
        \         \"\\x1e\\xb2\\x00\\x31\\xb0\\x73\\x96\\x21\\xdb\\x05\\x90\\x00\\x5c\"),\n
        \   CARD_TYPE_STARCOS_32 },\n  { 21, X(\"\\x3b\\xda\\x96\\xff\\x81\\xb1\\xfe\\x45\\x1f\\x07\\x80\\x58\"\n
        \         \"\\x44\\x54\\x52\\x20\\x56\\x31\\x2e\\x31\\xe2\"),\n    CARD_TYPE_STARCOS_37
        },\n  { 0 }\n}"
      pos:
        line_end: 108
        line_start: 103
        source_file: /src/gnupg/scd/app-p15.c
    - fields:
      - name: encrypt
        type: unsigned int
      - name: decrypt
        type: unsigned int
      - name: sign
        type: unsigned int
      - name: sign_recover
        type: unsigned int
      - name: wrap
        type: unsigned int
      - name: unwrap
        type: unsigned int
      - name: verify
        type: unsigned int
      - name: verify_recover
        type: unsigned int
      - name: derive
        type: unsigned int
      - name: non_repudiation
        type: unsigned int
      item_type: struct
      name: keyusage_flags_s
      pos:
        line_end: 206
        line_start: 194
        source_file: /src/gnupg/scd/app-p15.c
    - fields:
      - name: any
        type: unsigned int
      - name: sensitive
        type: unsigned int
      - name: extractable
        type: unsigned int
      - name: always_sensitive
        type: unsigned int
      - name: never_extractable
        type: unsigned int
      - name: local
        type: unsigned int
      item_type: struct
      name: keyaccess_flags_s
      pos:
        line_end: 220
        line_start: 212
        source_file: /src/gnupg/scd/app-p15.c
    - fields:
      - name: any
        type: unsigned int
      - name: cert
        type: unsigned int
      - name: sign
        type: unsigned int
      - name: encr
        type: unsigned int
      - name: auth
        type: unsigned int
      item_type: struct
      name: gpgusage_flags_s
      pos:
        line_end: 232
        line_start: 225
        source_file: /src/gnupg/scd/app-p15.c
    - fields:
      - name: '*next'
        type: struct cdf_object_s
      - name: have_off
        type: unsigned int
      - name: objidlen
        type: size_t
      - name: '*objid'
        type: unsigned char
      - name: authidlen
        type: size_t
      - name: '*authid'
        type: unsigned char
      - name: '*label'
        type: char
      - name: cert
        type: ksba_cert_t
      - name: 'off'
        type: unsigned long
      - name: pathlen
        type: size_t
      - name: path[1]
        type: unsigned short
      item_type: struct
      name: cdf_object_s
      pos:
        line_end: 276
        line_start: 241
        source_file: /src/gnupg/scd/app-p15.c
    - fields:
      - name: '*next'
        type: struct prkdf_object_s
      - name: keygrip_valid
        type: unsigned int
      - name: key_reference_valid
        type: unsigned int
      - name: have_off
        type: unsigned int
      - name: have_keytime
        type: unsigned int
      - name: pin_verified
        type: unsigned int
      - name: is_ecc
        type: unsigned int
      - name: usageflags
        type: keyusage_flags_t
      - name: accessflags
        type: keyaccess_flags_t
      - name: extusage
        type: "struct {\n    unsigned int valid:1;\n    unsigned int sign:1;\n    unsigned
          int encr:1;\n    unsigned int auth:1;\n  }"
      - name: gpgusage
        type: gpgusage_flags_t
      - name: keygrip[2*KEYGRIP_LEN+1]
        type: char
      - name: '*keyalgostr'
        type: char
      - name: keyalgo
        type: int
      - name: keynbits
        type: unsigned int
      - name: keytime
        type: u32
      - name: '*common_name'
        type: char
      - name: '*serial_number'
        type: char
      - name: ecdh_kdf[4]
        type: unsigned char
      - name: objidlen
        type: size_t
      - name: '*objid'
        type: unsigned char
      - name: authidlen
        type: size_t
      - name: '*authid'
        type: unsigned char
      - name: '*label'
        type: char
      - name: key_reference
        type: unsigned long
      - name: 'off'
        type: unsigned long
      - name: pathlen
        type: size_t
      - name: path[1]
        type: unsigned short
      item_type: struct
      name: prkdf_object_s
      pos:
        line_end: 378
        line_start: 285
        source_file: /src/gnupg/scd/app-p15.c
    - fields:
      - name: '*next'
        type: struct aodf_object_s
      - name: have_off
        type: unsigned int
      - name: objidlen
        type: size_t
      - name: '*objid'
        type: unsigned char
      - name: authidlen
        type: size_t
      - name: '*authid'
        type: unsigned char
      - name: '*label'
        type: char
      - name: fid
        type: unsigned short
      - name: auth_type
        type: auth_type_t
      - name: pinflags
        type: "struct\n  {\n    unsigned int case_sensitive: 1;\n    unsigned int
          local: 1;\n    unsigned int change_disabled: 1;\n    unsigned int unblock_disabled:
          1;\n    unsigned int initialized: 1;\n    unsigned int needs_padding: 1;\n
          \   unsigned int unblocking_pin: 1;\n    unsigned int so_pin: 1;\n    unsigned
          int disable_allowed: 1;\n    unsigned int integrity_protected: 1;\n    unsigned
          int confidentiality_protected: 1;\n    unsigned int exchange_ref_data: 1;\n
          \ }"
      - name: pintype
        type: pin_type_t
      - name: min_length
        type: unsigned long
      - name: stored_length
        type: unsigned long
      - name: max_length
        type: unsigned long
      - name: max_length_valid
        type: int
      - name: pin_reference
        type: unsigned long
      - name: pin_reference_valid
        type: int
      - name: pad_char
        type: char
      - name: pad_char_valid
        type: int
      - name: 'off'
        type: unsigned long
      - name: pathlen
        type: size_t
      - name: '*path'
        type: unsigned short
      item_type: struct
      name: aodf_object_s
      pos:
        line_end: 466
        line_start: 388
        source_file: /src/gnupg/scd/app-p15.c
    - fields:
      - name: home_df
        type: unsigned short
      - name: card_type
        type: card_type_t
      - name: card_product
        type: card_product_t
      - name: no_extended_mode
        type: unsigned int
      - name: direct_path_selection
        type: unsigned int
      - name: any_gpgusage
        type: unsigned int
      - name: odf
        type: "struct\n  {\n    unsigned short private_keys;\n    unsigned short public_keys;\n
          \   unsigned short trusted_public_keys;\n    unsigned short secret_keys;\n
          \   unsigned short certificates;\n    unsigned short trusted_certificates;\n
          \   unsigned short useful_certificates;\n    unsigned short data_objects;\n
          \   unsigned short auth_objects;\n  }"
      - name: '*serialno'
        type: unsigned char
      - name: serialnolen
        type: size_t
      - name: '*manufacturer_id'
        type: char
      - name: '*token_label'
        type: char
      - name: '*tokenflags'
        type: unsigned char
      - name: tokenflagslen
        type: unsigned int
      - name: certificate_info
        type: cdf_object_t
      - name: trusted_certificate_info
        type: cdf_object_t
      - name: useful_certificate_info
        type: cdf_object_t
      - name: cdf_dup_counter
        type: unsigned int
      - name: public_key_info
        type: prkdf_object_t
      - name: private_key_info
        type: pukdf_object_t
      - name: auth_object_info
        type: aodf_object_t
      item_type: struct
      name: app_local_s
      pos:
        line_end: 540
        line_start: 471
        source_file: /src/gnupg/scd/app-p15.c
    typedefs:
    - item_type: typedef
      name: keyusage_flags_t
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/gnupg/scd/app-p15.c
      type: keyusage_flags_s
    - item_type: typedef
      name: keyaccess_flags_t
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/gnupg/scd/app-p15.c
      type: keyaccess_flags_s
    - item_type: typedef
      name: gpgusage_flags_t
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/gnupg/scd/app-p15.c
      type: gpgusage_flags_s
    - item_type: typedef
      name: '*cdf_object_t'
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/gnupg/scd/app-p15.c
      type: cdf_object_s
    - item_type: typedef
      name: '*prkdf_object_t'
      pos:
        line_end: 379
        line_start: 379
        source_file: /src/gnupg/scd/app-p15.c
      type: prkdf_object_s
    - item_type: typedef
      name: '*pukdf_object_t'
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/gnupg/scd/app-p15.c
      type: prkdf_object_s
    - item_type: typedef
      name: '*aodf_object_t'
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/gnupg/scd/app-p15.c
      type: aodf_object_s
    union: []
- function_names:
  - DEBUGOUT
  - DEBUGOUT_1
  - DEBUGOUT_2
  - DEBUGOUT_3
  - DEBUGOUT_4
  - DEBUGOUT_CONT
  - DEBUGOUT_CONT_1
  - DEBUGOUT_CONT_2
  - DEBUGOUT_CONT_3
  - DEBUGOUT_LF
  - DEBUGOUT
  - DEBUGOUT_1
  - DEBUGOUT_2
  - DEBUGOUT_3
  - DEBUGOUT_4
  - DEBUGOUT_CONT
  - DEBUGOUT_CONT_1
  - DEBUGOUT_CONT_2
  - DEBUGOUT_CONT_3
  - DEBUGOUT_LF
  - CCID_COMMAND_FAILED
  - CCID_ERROR_CODE
  - my_npth_unprotect
  - my_npth_protect
  - map_libusb_error
  - convert_le_u32
  - convert_le_u16
  - set_msg_len
  - print_progress
  - print_command_failed
  - print_pr_data
  - print_p2r_header
  - print_p2r_iccpoweron
  - print_p2r_iccpoweroff
  - print_p2r_getslotstatus
  - print_p2r_xfrblock
  - print_p2r_getparameters
  - print_p2r_resetparameters
  - print_p2r_setparameters
  - print_p2r_escape
  - print_p2r_iccclock
  - print_p2r_to0apdu
  - print_p2r_secure
  - print_p2r_mechanical
  - print_p2r_abort
  - print_p2r_setdatarate
  - print_p2r_unknown
  - print_r2p_header
  - print_r2p_datablock
  - print_r2p_slotstatus
  - print_r2p_parameters
  - print_r2p_escape
  - print_r2p_datarate
  - print_r2p_unknown
  - parse_ccid_descriptor
  - get_escaped_usb_string
  - make_reader_id
  - find_endpoint
  - scan_usb_device
  - scan_devices
  - debug_libusb_cb
  - ccid_set_debug_level
  - ccid_get_reader_list
  - ccid_vendor_specific_init
  - ccid_vendor_specific_setup
  - ccid_vendor_specific_pinpad_setup
  - ccid_dev_scan
  - ccid_dev_scan_finish
  - ccid_get_BAI
  - ccid_compare_BAI
  - intr_cb
  - ccid_setup_intr
  - ccid_usb_thread
  - ccid_open_usb_reader
  - ccid_open_reader
  - ccid_require_get_status
  - send_power_off
  - do_close_reader
  - ccid_set_progress_cb
  - ccid_set_prompt_cb
  - ccid_close_reader
  - ccid_check_card_presence
  - bulk_out
  - bulk_in
  - abort_cmd
  - send_escape_cmd
  - ccid_transceive_escape
  - ccid_poll
  - ccid_slot_status
  - update_param_by_atr
  - NEXTBYTE
  - ccid_get_atr
  - compute_edc
  - is_exlen_apdu
  - ccid_transceive_apdu_level
  - ccid_transceive
  - ccid_transceive_secure
  - print_error
  - print_data
  - print_result
  - main
  source_file: /src/gnupg/scd/ccid-driver.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CCID_DRIVER_INCLUDE_USB_IDS
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/gnupg/scd/ccid-driver.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DRVNAME
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/gnupg/scd/ccid-driver.c
      type_or_value: '"ccid-driver: "'
    - item_type: preproc_def
      name: CCID_MAX_BUF
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/gnupg/scd/ccid-driver.c
      type_or_value: (2048+7+10)
    - item_type: preproc_def
      name: CCID_CMD_TIMEOUT
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/gnupg/scd/ccid-driver.c
      type_or_value: (5*1000)
    - item_type: preproc_def
      name: CCID_MAX_DEVICE
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/gnupg/scd/ccid-driver.c
      type_or_value: '16'
    - item_type: preproc_def
      name: USE_LIBUSB_DEBUG_CB
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/gnupg/scd/ccid-driver.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EAGAIN
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/gnupg/scd/ccid-driver.c
      type_or_value: EWOULDBLOCK
    structs:
    - fields:
      - name: '*idev'
        type: libusb_device_handle
      - name: bai
        type: unsigned int
      - name: id_vendor
        type: unsigned short
      - name: id_product
        type: unsigned short
      - name: ifc_no
        type: int
      - name: ep_bulk_out
        type: int
      - name: ep_bulk_in
        type: int
      - name: ep_intr
        type: int
      - name: seqno
        type: int
      - name: t1_ns
        type: unsigned char
      - name: t1_nr
        type: unsigned char
      - name: nonnull_nad
        type: unsigned char
      - name: max_ifsd
        type: int
      - name: max_ccid_msglen
        type: int
      - name: ifsc
        type: int
      - name: apdu_level
        type: unsigned char
      - name: auto_voltage
        type: unsigned int
      - name: auto_param
        type: unsigned int
      - name: auto_pps
        type: unsigned int
      - name: auto_ifsd
        type: unsigned int
      - name: has_pinpad
        type: unsigned int
      - name: enodev_seen
        type: unsigned int
      - name: powered_off
        type: int
      - name: last_progress
        type: time_t
      - name: (*progress_cb)(void *, const char *, int, int, int)
        type: void
      - name: '*progress_cb_arg'
        type: void
      - name: (*prompt_cb)(void *, int)
        type: void
      - name: '*prompt_cb_arg'
        type: void
      - name: intr_buf[64]
        type: unsigned char
      - name: '*transfer'
        type: struct libusb_transfer
      item_type: struct
      name: ccid_driver_s
      pos:
        line_end: 256
        line_start: 216
        source_file: /src/gnupg/scd/ccid-driver.c
    - fields:
      - name: n
        type: int
      - name: interface_number
        type: int
      - name: setting_number
        type: int
      - name: '*ifcdesc_extra'
        type: unsigned char
      - name: ep_bulk_out
        type: int
      - name: ep_bulk_in
        type: int
      - name: ep_intr
        type: int
      - name: ifcdesc_extra_len
        type: size_t
      item_type: struct
      name: ccid_dev_table
      pos:
        line_end: 269
        line_start: 260
        source_file: /src/gnupg/scd/ccid-driver.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/npth/config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUILD_COMMITID
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/npth/config.h
      type_or_value: '"d4e067d96c5e868e5208613f37dfacaab4298d7c"'
    - item_type: preproc_def
      name: BUILD_TIMESTAMP
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/npth/config.h
      type_or_value: '"<none>"'
    - item_type: preproc_def
      name: HAVE_CLOCK_GETTIME
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DLFCN_H
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETTIMEOFDAY
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INTTYPES_H
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_MEMORY_H
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_POLL_H
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PPOLL
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PSELECT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTHREAD
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTHREAD_ATFORK
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTHREAD_GETNAME_NP
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTHREAD_MUTEX_TIMEDLOCK
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTHREAD_RWLOCK_RDLOCK
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTHREAD_RWLOCK_TRYRDLOCK
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTHREAD_RWLOCK_TRYWRLOCK
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTHREAD_RWLOCK_WRLOCK
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTHREAD_SETNAME_NP
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTHREAD_TRYJOIN_NP
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SELECT
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SIGNAL_H
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDINT_H
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDLIB_H
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRINGS_H
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRING_H
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_SELECT_H
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_SOCKET_H
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_STAT_H
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_TIME_H
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_TYPES_H
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_TIME_H
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UNISTD_H
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LT_OBJDIR
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/npth/config.h
      type_or_value: '".libs/"'
    - item_type: preproc_def
      name: PACKAGE
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/npth/config.h
      type_or_value: '"npth"'
    - item_type: preproc_def
      name: PACKAGE_BUGREPORT
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/npth/config.h
      type_or_value: '"https://bugs.gnupg.org"'
    - item_type: preproc_def
      name: PACKAGE_NAME
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/npth/config.h
      type_or_value: '"npth"'
    - item_type: preproc_def
      name: PACKAGE_STRING
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/npth/config.h
      type_or_value: '"npth 1.9"'
    - item_type: preproc_def
      name: PACKAGE_TARNAME
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/npth/config.h
      type_or_value: '"npth"'
    - item_type: preproc_def
      name: PACKAGE_URL
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/npth/config.h
      type_or_value: '""'
    - item_type: preproc_def
      name: PACKAGE_VERSION
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/npth/config.h
      type_or_value: '"1.9"'
    - item_type: preproc_def
      name: STDC_HEADERS
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _ALL_SOURCE
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _GNU_SOURCE
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _POSIX_PTHREAD_SEMANTICS
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _TANDEM_SOURCE
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: __EXTENSIONS__
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VERSION
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/npth/config.h
      type_or_value: '"1.9"'
    - item_type: preproc_def
      name: _REENTRANT
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/npth/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CRIGHTBLURB
      pos:
        line_end: 204
        line_start: 202
        source_file: /src/npth/config.h
      type_or_value: "\"Copyright (C) 2011, 2012, 2014, 2015, 2017, 2024\" \\\n                    \"
        g10 Code GmbH\\n\""
    structs: []
    typedefs: []
    union: []
- function_names:
  - fn_testing_cond_signal
  - fn_testing_cond_broadcast
  - run_test_with_fn
  - main
  source_file: /src/npth/tests/t-cond.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_THREAD
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/npth/tests/t-cond.c
      type_or_value: '17 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - DIM
  - fail_if_err
  - fail_msg
  - info_msg
  source_file: /src/npth/tests/t-support.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/npth/tests/t-mutex.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/npth/tests/t-fork.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - thread_one
  - thread_twoone
  - thread_two
  - main
  source_file: /src/npth/tests/t-thread.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _npth_debug
  - map_error
  - wait_for_single_object
  - npth_clock_gettime
  - calculate_timeout
  - enter_npth
  - leave_npth
  - ENTER
  - LEAVE
  - dequeue_thread
  - enqueue_thread
  - find_thread
  - new_thread
  - free_thread
  - deref_thread
  - npth_init
  - npth_attr_init
  - npth_attr_destroy
  - npth_attr_getdetachstate
  - npth_attr_setdetachstate
  - npth_getname_np
  - npth_setname_np
  - thread_start
  - npth_create
  - npth_self
  - npth_tryjoin_np
  - npth_join
  - npth_detach
  - npth_exit
  - npth_key_create
  - npth_key_delete
  - npth_getspecific
  - npth_setspecific
  - npth_mutexattr_init
  - npth_mutexattr_destroy
  - npth_mutexattr_gettype
  - npth_mutexattr_settype
  - npth_mutex_init
  - npth_mutex_destroy
  - mutex_init_check
  - npth_mutex_lock
  - npth_mutex_trylock
  - npth_mutex_timedlock
  - npth_mutex_unlock
  - npth_cond_init
  - npth_cond_destroy
  - cond_init_check
  - npth_cond_signal
  - npth_cond_broadcast
  - npth_cond_wait
  - npth_cond_timedwait
  - npth_rwlockattr_init
  - npth_rwlockattr_destroy
  - npth_rwlockattr_gettype_np
  - npth_rwlockattr_settype_np
  - npth_rwlock_init
  - rwlock_init_check
  - npth_rwlock_destroy
  - npth_rwlock_tryrdlock
  - npth_rwlock_rdlock
  - npth_rwlock_timedrdlock
  - npth_rwlock_trywrlock
  - npth_rwlock_wrlock
  - npth_rwlock_timedwrlock
  - npth_rwlock_unlock
  - npth_usleep
  - npth_sleep
  - npth_system
  - npth_waitpid
  - npth_connect
  - npth_accept
  - npth_select
  - npth_read
  - npth_write
  - npth_recvmsg
  - npth_sendmsg
  - npth_unprotect
  - npth_protect
  - npth_is_protected
  - npth_eselect
  - SET_FDOBJ
  source_file: /src/npth/w32/npth.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_CALLS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/npth/w32/npth.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DEBUG_CALLS
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/npth/w32/npth.c
      type_or_value: '0'
    - item_type: preproc_def
      name: THREAD_NAME_MAX
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/npth/w32/npth.c
      type_or_value: '15'
    - item_type: preproc_def
      name: MAX_THREADS
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/npth/w32/npth.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: INVALID_THREAD_ID
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/npth/w32/npth.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MAX_EVENTS
      pos:
        line_end: 1765
        line_start: 1764
        source_file: /src/npth/w32/npth.c
      type_or_value: '31'
    - item_type: preproc_def
      name: MAX_FDOBJS
      pos:
        line_end: 1771
        line_start: 1770
        source_file: /src/npth/w32/npth.c
      type_or_value: FD_SETSIZE
    structs:
    - fields:
      - name: '*next'
        type: struct dl
      - name: '*prev'
        type: struct dl
      item_type: struct
      name: dl
      pos:
        line_end: 177
        line_start: 174
        source_file: /src/npth/w32/npth.c
    - fields:
      - name: l
        type: struct dl
      - name: refs
        type: int
      - name: handle
        type: HANDLE
      - name: detached
        type: int
      - name: '*(*start_routine) (void *)'
        type: void
      - name: '*start_arg'
        type: void
      - name: name[THREAD_NAME_MAX + 1]
        type: char
      - name: event
        type: HANDLE
      - name: '*result'
        type: void
      item_type: struct
      name: npth_impl_s
      pos:
        line_end: 207
        line_start: 179
        source_file: /src/npth/w32/npth.c
    - fields:
      - name: detachstate
        type: int
      item_type: struct
      name: npth_attr_s
      pos:
        line_end: 373
        line_start: 370
        source_file: /src/npth/w32/npth.c
    - fields:
      - name: kind
        type: int
      item_type: struct
      name: npth_mutexattr_s
      pos:
        line_end: 733
        line_start: 730
        source_file: /src/npth/w32/npth.c
    - fields:
      - name: mutex
        type: HANDLE
      item_type: struct
      name: npth_mutex_s
      pos:
        line_end: 786
        line_start: 781
        source_file: /src/npth/w32/npth.c
    - fields:
      - name: waiter
        type: struct dl
      item_type: struct
      name: npth_cond_s
      pos:
        line_end: 980
        line_start: 973
        source_file: /src/npth/w32/npth.c
    - fields:
      - name: kind
        type: int
      item_type: struct
      name: npth_rwlockattr_s
      pos:
        line_end: 1276
        line_start: 1273
        source_file: /src/npth/w32/npth.c
    - fields:
      - name: prefer_writer
        type: int
      - name: reader_wait
        type: npth_cond_t
      - name: nr_readers_queued
        type: int
      - name: nr_readers
        type: int
      - name: writer_wait
        type: npth_cond_t
      - name: nr_writers_queued
        type: int
      - name: nr_writers
        type: int
      item_type: struct
      name: npth_rwlock_s
      pos:
        line_end: 1355
        line_start: 1325
        source_file: /src/npth/w32/npth.c
    - fields:
      - name: fd
        type: SOCKET
      - name: flags
        type: long
      item_type: struct
      name: fdobj[MAX_FDOBJS]
      pos:
        line_end: 1799
        line_start: 1796
        source_file: /src/npth/w32/npth.c
    typedefs:
    - item_type: typedef
      name: '*npth_impl_t'
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/npth/w32/npth.c
      type: npth_impl_s
    union:
    - fields:
      - name: '*p_readonly'
        type: void
      - name: '*p_writable'
        type: void
      item_type: union
      name: p
      pos:
        line_end: 713
        line_start: 710
        source_file: /src/npth/w32/npth.c
- function_names:
  - npth_timercmp
  - npth_timeradd
  - npth_timersub
  source_file: /src/npth/w32/npth.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NPTH_VERSION
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/npth/w32/npth.h
      type_or_value: '"1.9"'
    - item_type: preproc_def
      name: NPTH_VERSION_NUMBER
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/npth/w32/npth.h
      type_or_value: '0x010900'
    - item_type: preproc_def
      name: ETIMEDOUT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/npth/w32/npth.h
      type_or_value: '10060  '
    - item_type: preproc_def
      name: EOPNOTSUPP
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/npth/w32/npth.h
      type_or_value: '10045 '
    - item_type: preproc_def
      name: NPTH_CREATE_JOINABLE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/npth/w32/npth.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NPTH_CREATE_DETACHED
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/npth/w32/npth.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NPTH_MUTEX_NORMAL
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/npth/w32/npth.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NPTH_MUTEX_RECURSIVE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/npth/w32/npth.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NPTH_MUTEX_ERRORCHECK
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/npth/w32/npth.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NPTH_MUTEX_DEFAULT
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/npth/w32/npth.h
      type_or_value: NPTH_MUTEX_NORMAL
    - item_type: preproc_def
      name: NPTH_MUTEX_INITIALIZER
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/npth/w32/npth.h
      type_or_value: ((npth_mutex_t) -1)
    - item_type: preproc_def
      name: NPTH_RECURSIVE_MUTEX_INITIALIZER_NP
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/npth/w32/npth.h
      type_or_value: ((npth_mutex_t) -2)
    - item_type: preproc_def
      name: NPTH_ERRORCHECK_MUTEX_INITIALIZER_NP
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/npth/w32/npth.h
      type_or_value: ((npth_mutex_t) -3)
    - item_type: preproc_def
      name: NPTH_RWLOCK_PREFER_READER_NP
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/npth/w32/npth.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NPTH_RWLOCK_PREFER_WRITER_NP
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/npth/w32/npth.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NPTH_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/npth/w32/npth.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NPTH_RWLOCK_DEFAULT_NP
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/npth/w32/npth.h
      type_or_value: NPTH_RWLOCK_PREFER_READER_NP
    - item_type: preproc_def
      name: NPTH_RWLOCK_INITIALIZER
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/npth/w32/npth.h
      type_or_value: ((npth_rwlock_t) -1)
    - item_type: preproc_def
      name: NPTH_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/npth/w32/npth.h
      type_or_value: ((npth_rwlock_t) -2)
    - item_type: preproc_def
      name: NPTH_COND_INITIALIZER
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/npth/w32/npth.h
      type_or_value: ((npth_cond_t) -1)
    structs: []
    typedefs:
    - item_type: typedef
      name: '*npth_attr_t'
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/npth/w32/npth.h
      type: npth_attr_s
    - item_type: typedef
      name: npth_t
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/npth/w32/npth.h
      type: unsigned long int
    - item_type: typedef
      name: '*npth_mutexattr_t'
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/npth/w32/npth.h
      type: npth_mutexattr_s
    - item_type: typedef
      name: '*npth_mutex_t'
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/npth/w32/npth.h
      type: npth_mutex_s
    - item_type: typedef
      name: '*npth_rwlockattr_t'
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/npth/w32/npth.h
      type: npth_rwlockattr_s
    - item_type: typedef
      name: '*npth_rwlock_t'
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/npth/w32/npth.h
      type: npth_rwlock_s
    - item_type: typedef
      name: '*npth_condattr_t'
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/npth/w32/npth.h
      type: npth_condattr_s
    - item_type: typedef
      name: '*npth_cond_t'
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/npth/w32/npth.h
      type: npth_cond_s
    - item_type: typedef
      name: npth_key_t
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/npth/w32/npth.h
      type: DWORD
    union: []
- function_names:
  - sem_init
  - sem_post
  - sem_wait
  - sem_init
  - sem_post
  - sem_wait
  - busy_wait_for
  - enter_npth
  - leave_npth
  - ENTER
  - LEAVE
  - npth_init
  - npth_getname_np
  - npth_setname_np
  - thread_start
  - npth_create
  - npth_join
  - npth_exit
  - npth_mutex_lock
  - npth_mutex_timedlock
  - npth_rwlock_rdlock
  - npth_rwlock_timedrdlock
  - npth_rwlock_wrlock
  - npth_rwlock_timedwrlock
  - npth_cond_wait
  - npth_cond_timedwait
  - npth_usleep
  - npth_sleep
  - npth_system
  - npth_waitpid
  - npth_connect
  - npth_accept
  - npth_select
  - npth_pselect
  - npth_poll
  - npth_ppoll
  - npth_read
  - npth_write
  - npth_recvmsg
  - npth_sendmsg
  - npth_unprotect
  - npth_protect
  - npth_is_protected
  - npth_clock_gettime
  source_file: /src/npth/src/npth.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUSY_WAIT_INTERVAL
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/npth/src/npth.c
      type_or_value: '200'
    - item_type: preproc_def
      name: REQUIRE_THE_BUSY_WAIT_FOR_IMPLEMENTATION
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/npth/src/npth.c
      type_or_value: '1'
    - item_type: preproc_def
      name: REQUIRE_THE_BUSY_WAIT_FOR_IMPLEMENTATION
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/npth/src/npth.c
      type_or_value: '1'
    - item_type: preproc_def
      name: REQUIRE_THE_BUSY_WAIT_FOR_IMPLEMENTATION
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/npth/src/npth.c
      type_or_value: '1'
    structs:
    - fields:
      - name: mutex
        type: pthread_mutex_t
      - name: cond
        type: pthread_cond_t
      - name: value
        type: unsigned int
      item_type: struct
      name: sem_t
      pos:
        line_end: 72
        line_start: 68
        source_file: /src/npth/src/npth.c
    - fields:
      - name: '*(*start_routine) (void *)'
        type: void
      - name: '*arg'
        type: void
      item_type: struct
      name: startup_s
      pos:
        line_end: 343
        line_start: 339
        source_file: /src/npth/src/npth.c
    typedefs:
    - item_type: typedef
      name: sem_t
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/npth/src/npth.c
      type: dispatch_semaphore_t
    - item_type: typedef
      name: (*trylock_func_t) (void *)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/npth/src/npth.c
      type: int
    union: []
- function_names:
  - _sigev_handler
  - npth_sigev_init
  - npth_sigev_add
  - restore_sigmask_for_child_process
  - npth_sigev_fini
  - npth_sigev_sigmask
  - npth_sigev_get_pending
  source_file: /src/npth/src/npth-sigev.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIGEV_MAX
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/npth/src/npth-sigev.c
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - cright_blurb
  - npth_get_version
  source_file: /src/npth/src/getversion.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - npth_rwlock_init
  - npth_timercmp
  - npth_timeradd
  - npth_timersub
  source_file: /src/npth/src/npth.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _npth_socklen_t
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/npth/src/npth.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: _NPTH_NO_RWLOCK
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/npth/src/npth.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NPTH_VERSION
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/npth/src/npth.h
      type_or_value: '"1.9"'
    - item_type: preproc_def
      name: NPTH_VERSION_NUMBER
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/npth/src/npth.h
      type_or_value: '0x010900'
    - item_type: preproc_def
      name: npth_t
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_t
    - item_type: preproc_def
      name: npth_attr_t
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_attr_t
    - item_type: preproc_def
      name: npth_attr_init
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_attr_init
    - item_type: preproc_def
      name: npth_attr_destroy
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_attr_destroy
    - item_type: preproc_def
      name: NPTH_CREATE_JOINABLE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/npth/src/npth.h
      type_or_value: PTHREAD_CREATE_JOINABLE
    - item_type: preproc_def
      name: NPTH_CREATE_DETACHED
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/npth/src/npth.h
      type_or_value: PTHREAD_CREATE_DETACHED
    - item_type: preproc_def
      name: npth_attr_getdetachstate
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_attr_getdetachstate
    - item_type: preproc_def
      name: npth_attr_setdetachstate
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_attr_setdetachstate
    - item_type: preproc_def
      name: npth_self
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_self
    - item_type: preproc_def
      name: npth_detach
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_detach
    - item_type: preproc_def
      name: npth_key_t
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_key_t
    - item_type: preproc_def
      name: npth_key_create
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_key_create
    - item_type: preproc_def
      name: npth_key_delete
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_key_delete
    - item_type: preproc_def
      name: npth_setspecific
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_setspecific
    - item_type: preproc_def
      name: npth_getspecific
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_getspecific
    - item_type: preproc_def
      name: npth_mutexattr_t
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_mutexattr_t
    - item_type: preproc_def
      name: npth_mutexattr_init
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_mutexattr_init
    - item_type: preproc_def
      name: npth_mutexattr_destroy
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_mutexattr_destroy
    - item_type: preproc_def
      name: npth_mutexattr_settype
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_mutexattr_settype
    - item_type: preproc_def
      name: npth_mutexattr_gettype
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_mutexattr_gettype
    - item_type: preproc_def
      name: NPTH_MUTEX_NORMAL
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/npth/src/npth.h
      type_or_value: PTHREAD_MUTEX_NORMAL
    - item_type: preproc_def
      name: NPTH_MUTEX_RECURSIVE
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/npth/src/npth.h
      type_or_value: PTHREAD_MUTEX_RECURSIVE
    - item_type: preproc_def
      name: NPTH_MUTEX_ERRORCHECK
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/npth/src/npth.h
      type_or_value: PTHREAD_MUTEX_ERRORCHECK
    - item_type: preproc_def
      name: NPTH_MUTEX_DEFAULT
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/npth/src/npth.h
      type_or_value: PTHREAD_MUTEX_DEFAULT
    - item_type: preproc_def
      name: npth_mutex_t
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_mutex_t
    - item_type: preproc_def
      name: NPTH_MUTEX_INITIALIZER
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/npth/src/npth.h
      type_or_value: PTHREAD_MUTEX_INITIALIZER
    - item_type: preproc_def
      name: NPTH_RECURSIVE_MUTEX_INITIALIZER_NP
      pos:
        line_end: 213
        line_start: 211
        source_file: /src/npth/src/npth.h
      type_or_value: PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
    - item_type: preproc_def
      name: NPTH_ERRORCHECK_MUTEX_INITIALIZER_NP
      pos:
        line_end: 215
        line_start: 213
        source_file: /src/npth/src/npth.h
      type_or_value: PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
    - item_type: preproc_def
      name: npth_mutex_init
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_mutex_init
    - item_type: preproc_def
      name: npth_mutex_destroy
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_mutex_destroy
    - item_type: preproc_def
      name: npth_mutex_trylock
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_mutex_trylock
    - item_type: preproc_def
      name: npth_mutex_unlock
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_mutex_unlock
    - item_type: preproc_def
      name: NPTH_RWLOCK_PREFER_READER_NP
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/npth/src/npth.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NPTH_RWLOCK_PREFER_WRITER_NP
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/npth/src/npth.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NPTH_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/npth/src/npth.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NPTH_RWLOCK_DEFAULT_NP
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/npth/src/npth.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NPTH_RWLOCK_INITIALIZER
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/npth/src/npth.h
      type_or_value: NPTH_MUTEX_INITIALIZER
    - item_type: preproc_def
      name: NPTH_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/npth/src/npth.h
      type_or_value: NPTH_MUTEX_INITIALIZER
    - item_type: preproc_def
      name: npth_rwlock_destroy
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/npth/src/npth.h
      type_or_value: npth_mutex_destroy
    - item_type: preproc_def
      name: npth_rwlock_tryrdlock
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/npth/src/npth.h
      type_or_value: npth_mutex_trylock
    - item_type: preproc_def
      name: npth_rwlock_rdlock
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/npth/src/npth.h
      type_or_value: npth_mutex_lock
    - item_type: preproc_def
      name: npth_rwlock_trywrlock
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/npth/src/npth.h
      type_or_value: npth_mutex_trylock
    - item_type: preproc_def
      name: npth_rwlock_timedrdlock
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/npth/src/npth.h
      type_or_value: npth_mutex_timedlock
    - item_type: preproc_def
      name: npth_rwlock_wrlock
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/npth/src/npth.h
      type_or_value: npth_mutex_lock
    - item_type: preproc_def
      name: npth_rwlock_rdlock
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/npth/src/npth.h
      type_or_value: npth_mutex_lock
    - item_type: preproc_def
      name: npth_rwlock_timedwrlock
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/npth/src/npth.h
      type_or_value: npth_mutex_timedlock
    - item_type: preproc_def
      name: npth_rwlock_unlock
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/npth/src/npth.h
      type_or_value: npth_mutex_unlock
    - item_type: preproc_def
      name: npth_rwlockattr_t
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_rwlockattr_t
    - item_type: preproc_def
      name: npth_rwlockattr_init
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_rwlockattr_init
    - item_type: preproc_def
      name: npth_rwlockattr_destroy
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_rwlockattr_destroy
    - item_type: preproc_def
      name: npth_rwlockattr_gettype_np
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_rwlockattr_gettype_np
    - item_type: preproc_def
      name: npth_rwlockattr_settype_np
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_rwlockattr_settype_np
    - item_type: preproc_def
      name: NPTH_RWLOCK_PREFER_READER_NP
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/npth/src/npth.h
      type_or_value: PTHREAD_RWLOCK_PREFER_READER_NP
    - item_type: preproc_def
      name: NPTH_RWLOCK_PREFER_WRITER_NP
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/npth/src/npth.h
      type_or_value: PTHREAD_RWLOCK_PREFER_WRITER_NP
    - item_type: preproc_def
      name: NPTH_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
      pos:
        line_end: 272
        line_start: 270
        source_file: /src/npth/src/npth.h
      type_or_value: PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
    - item_type: preproc_def
      name: NPTH_RWLOCK_DEFAULT_NP
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/npth/src/npth.h
      type_or_value: PTHREAD_RWLOCK_DEFAULT_NP
    - item_type: preproc_def
      name: NPTH_RWLOCK_INITIALIZER
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/npth/src/npth.h
      type_or_value: PTHREAD_RWLOCK_INITIALIZER
    - item_type: preproc_def
      name: NPTH_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP
      pos:
        line_end: 276
        line_start: 274
        source_file: /src/npth/src/npth.h
      type_or_value: PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP
    - item_type: preproc_def
      name: npth_rwlock_init
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_rwlock_init
    - item_type: preproc_def
      name: npth_rwlock_destroy
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_rwlock_destroy
    - item_type: preproc_def
      name: npth_rwlock_tryrdlock
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_rwlock_tryrdlock
    - item_type: preproc_def
      name: npth_rwlock_trywrlock
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_rwlock_trywrlock
    - item_type: preproc_def
      name: npth_rwlock_unlock
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_rwlock_unlock
    - item_type: preproc_def
      name: NPTH_COND_INITIALIZER
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/npth/src/npth.h
      type_or_value: PTHREAD_COND_INITIALIZER
    - item_type: preproc_def
      name: npth_cond_init
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_cond_init
    - item_type: preproc_def
      name: npth_cond_broadcast
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_cond_broadcast
    - item_type: preproc_def
      name: npth_cond_signal
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_cond_signal
    - item_type: preproc_def
      name: npth_cond_destroy
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_cond_destroy
    - item_type: preproc_def
      name: npth_sigmask
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/npth/src/npth.h
      type_or_value: pthread_sigmask
    structs: []
    typedefs:
    - item_type: typedef
      name: npth_rwlockattr_t
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/npth/src/npth.h
      type: int
    - item_type: typedef
      name: npth_rwlock_t
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/npth/src/npth.h
      type: npth_mutex_t
    - item_type: typedef
      name: npth_rwlock_t
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/npth/src/npth.h
      type: pthread_rwlock_t
    - item_type: typedef
      name: npth_cond_t
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/npth/src/npth.h
      type: pthread_cond_t
    union: []
- function_names: []
  source_file: /src/libksba/config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUILD_REVISION
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/libksba/config.h
      type_or_value: '"06720f9"'
    - item_type: preproc_def
      name: BUILD_TIMESTAMP
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/libksba/config.h
      type_or_value: '"<none>"'
    - item_type: preproc_def
      name: GPG_ERR_SOURCE_DEFAULT
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libksba/config.h
      type_or_value: GPG_ERR_SOURCE_KSBA
    - item_type: preproc_def
      name: HAVE_ALLOCA
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_ALLOCA_H
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DLFCN_H
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETENV
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GMTIME_R
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INTTYPES_H
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_MEMORY_H
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDINT_H
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDLIB_H
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STPCPY
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRINGS_H
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRING_H
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_STAT_H
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_TYPES_H
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UNISTD_H
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: KSBA_USE_VISIBILITY
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LT_OBJDIR
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libksba/config.h
      type_or_value: '".libs/"'
    - item_type: preproc_def
      name: PACKAGE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libksba/config.h
      type_or_value: '"libksba"'
    - item_type: preproc_def
      name: PACKAGE_BUGREPORT
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libksba/config.h
      type_or_value: '"https://bugs.gnupg.org"'
    - item_type: preproc_def
      name: PACKAGE_NAME
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libksba/config.h
      type_or_value: '"libksba"'
    - item_type: preproc_def
      name: PACKAGE_STRING
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libksba/config.h
      type_or_value: '"libksba 1.8.1"'
    - item_type: preproc_def
      name: PACKAGE_TARNAME
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/libksba/config.h
      type_or_value: '"libksba"'
    - item_type: preproc_def
      name: PACKAGE_URL
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/libksba/config.h
      type_or_value: '""'
    - item_type: preproc_def
      name: PACKAGE_VERSION
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libksba/config.h
      type_or_value: '"1.8.1"'
    - item_type: preproc_def
      name: SIZEOF_UNSIGNED_INT
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/libksba/config.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_UNSIGNED_LONG
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libksba/config.h
      type_or_value: '8'
    - item_type: preproc_def
      name: STDC_HEADERS
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _ALL_SOURCE
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _GNU_SOURCE
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _POSIX_PTHREAD_SEMANTICS
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _TANDEM_SOURCE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: __EXTENSIONS__
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/libksba/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VERSION
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/libksba/config.h
      type_or_value: '"1.8.1"'
    - item_type: preproc_def
      name: WORDS_BIGENDIAN
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/libksba/config.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_der_encoding
  - test_der_builder
  - main
  source_file: /src/libksba/tests/t-der-builder.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libksba/tests/t-der-builder.c
      type_or_value: '"t-der-builder"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dummy_hash_fnc
  - dummy_writer_cb
  - get_oid_desc
  - print_oid_and_desc
  - dump_one_attribute_set
  - one_file
  - main
  source_file: /src/libksba/tests/t-cms-parser.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_into_buffer
  - test_oid_to_str
  - main
  source_file: /src/libksba/tests/t-oid.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libksba/tests/t-oid.c
      type_or_value: '"t-oid"'
    - item_type: preproc_def
      name: BADOID
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libksba/tests/t-oid.c
      type_or_value: '"1.3.6.1.4.1.11591.2.12242973"'
    - item_type: preproc_def
      name: NCHUNK
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libksba/tests/t-oid.c
      type_or_value: '8192'
    structs:
    - fields:
      - name: binlen
        type: unsigned int
      - name: '*bin'
        type: unsigned char
      - name: '*str'
        type: char
      item_type: struct
      name: "tests[] = {\n\n    {  7, \"\\x02\\x82\\x06\\x01\\x0A\\x0C\\x00\",\n       \"0.2.262.1.10.12.0\"\n
        \   },\n    {  7, \"\\x02\\x82\\x06\\x01\\x0A\\x0C\\x01\",\n       \"0.2.262.1.10.12.1\"\n
        \   },\n    {  7, \"\\x2A\\x86\\x48\\xCE\\x38\\x04\\x01\",\n       \"1.2.840.10040.4.1\"\n
        \   },\n    {  7, \"\\x2A\\x86\\x48\\xCE\\x38\\x04\\x03\",\n       \"1.2.840.10040.4.3\"\n
        \   },\n    { 10, \"\\x2B\\x06\\x01\\x04\\x01\\xDA\\x47\\x02\\x01\\x01\",\n
        \     \"1.3.6.1.4.1.11591.2.1.1\"\n    },\n    {  3, \"\\x55\\x1D\\x0E\",\n
        \      \"2.5.29.14\"\n    },\n    {  9, \"\\x80\\x02\\x70\\x50\\x25\\x46\\xfd\\x0c\\xc0\",\n
        \      BADOID\n    },\n    {  1, \"\\x80\",\n       BADOID\n    },\n    {
        \ 2, \"\\x81\\x00\",\n       \"2.48\"\n    },\n    {  2, \"\\x81\\x01\",\n
        \      \"2.49\"\n    },\n    {  2, \"\\x81\\x7f\",\n       \"2.175\"\n    },\n
        \   {  2, \"\\x81\\x80\",  /* legal encoding? */\n       \"2.48\"\n    },\n
        \   {  2, \"\\x81\\x81\\x01\",  /* legal encoding? */\n       \"2.49\"\n    },\n
        \   {  0, \"\",\n       \"\"\n    },\n\n    { 0, NULL, NULL }\n  }"
      pos:
        line_end: 80
        line_start: 76
        source_file: /src/libksba/tests/t-oid.c
    typedefs: []
    union: []
- function_names:
  - digitp
  - fail_if_err
  - fail_if_err2
  - xfree
  - print_names
  - get_oid_desc
  - print_oid_and_desc
  - print_oid_list
  - list_extensions
  - one_file
  - main
  source_file: /src/libksba/tests/cert-basic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - digitp
  - fail_if_err
  - fail_if_err2
  - fail
  - xfree
  - xmalloc
  - prepend_srcdir
  - print_hex
  - print_sexp
  - print_sexp_hex
  - print_dn
  - print_time
  source_file: /src/libksba/tests/t-common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_fd
  - test_file
  - test_mem
  - main
  source_file: /src/libksba/tests/t-reader.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_0
  - test_1
  - test_2
  - main
  source_file: /src/libksba/tests/t-dnparser.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_hasher
  - get_oid_desc
  - print_names
  - one_file
  - main
  source_file: /src/libksba/tests/t-crl-parser.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _GNU_SOURCE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/libksba/tests/t-crl-parser.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - rol
  - ror
  - sha1_init
  - sha256_init
  - transform
  - F1
  - F2
  - F3
  - F4
  - M
  - R
  - Cho
  - Maj
  - Sum0
  - Sum1
  - S0
  - S1
  - R
  - transform256
  - sha1_write
  - sha256_write
  - sha1_final
  - X
  - X
  - sha256_final
  - X
  - X
  - sha1_hash_buffer
  - sha256_hash_buffer
  source_file: /src/libksba/tests/sha1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: K1
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/libksba/tests/sha1.c
      type_or_value: 0x5A827999L
    - item_type: preproc_def
      name: K2
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/libksba/tests/sha1.c
      type_or_value: 0x6ED9EBA1L
    - item_type: preproc_def
      name: K3
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/libksba/tests/sha1.c
      type_or_value: 0x8F1BBCDCL
    - item_type: preproc_def
      name: K4
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/libksba/tests/sha1.c
      type_or_value: 0xCA62C1D6L
    structs:
    - fields:
      - name: h0
        type: u32
      - name: nblocks
        type: u32
      - name: buf[64]
        type: unsigned char
      - name: count
        type: int
      item_type: struct
      name: sha1_context_t
      pos:
        line_end: 49
        line_start: 43
        source_file: /src/libksba/tests/sha1.c
    - fields:
      - name: h0
        type: u32
      - name: nblocks
        type: u32
      - name: buf[64]
        type: unsigned char
      - name: count
        type: int
      item_type: struct
      name: sha256_context_t
      pos:
        line_end: 57
        line_start: 51
        source_file: /src/libksba/tests/sha1.c
    typedefs:
    - item_type: typedef
      name: u32
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/libksba/tests/sha1.c
      type: unsigned int
    - item_type: typedef
      name: u32
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/libksba/tests/sha1.c
      type: unsigned long
    union: []
- function_names:
  - get_oid_desc
  - read_file
  - get_one_cert
  - one_request
  - one_response
  - my_hash_buffer
  - main
  source_file: /src/libksba/tests/t-ocsp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*cert_fname'
        type: char
      - name: '*issuer_cert_fname'
        type: char
      - name: '*response_fname'
        type: char
      item_type: struct
      name: "files[] = {\n        { \"samples/ov-userrev.crt\", \"samples/ov-root-ca-cert.crt\",
        NULL },\n        { NULL }\n      }"
      pos:
        line_end: 476
        line_start: 472
        source_file: /src/libksba/tests/t-ocsp.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libksba/tests/oidtranstbl.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*oid'
        type: char
      item_type: struct
      name: "oidtranstbl[] = {\n  { NULL, NULL, NULL }\n}"
      pos:
        line_end: 0
        line_start: 0
        source_file: /src/libksba/tests/oidtranstbl.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libksba/src/writer.h
  types:
    enum:
    - enumerators:
      - name: WRITER_TYPE_NONE
        value: '0'
      - name: WRITER_TYPE_MEM
      - name: WRITER_TYPE_CB
      - name: WRITER_TYPE_FILE
      - name: WRITER_TYPE_FD
      item_type: enum
      name: writer_type
      pos:
        line_end: 41
        line_start: 35
        source_file: /src/libksba/src/writer.h
    preproc_defs:
    - item_type: preproc_def
      name: WRITER_H
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libksba/src/writer.h
      type_or_value: '1'
    structs:
    - fields:
      - name: error
        type: int
      - name: nwritten
        type: unsigned long
      - name: type
        type: enum writer_type
      - name: ndef_is_open
        type: int
      - name: "(*filter)(void*,\n                      const void *,size_t, size_t
          *,\n                      void *, size_t, size_t *)"
        type: gpg_error_t
      - name: '*filter_arg'
        type: void
      - name: u
        type: "union {\n    int fd;  /* for WRITER_TYPE_FD */\n    FILE *file; /*
          for WRITER_TYPE_FILE */\n    struct {\n      int (*fnc)(void*,const void
          *,size_t);\n      void *value;\n    } cb;   /* for WRITER_TYPE_CB */\n    struct
          {\n      unsigned char *buffer;\n      size_t size;\n    } mem;   /* for
          WRITER_TYPE_MEM */\n  }"
      - name: (*notify_cb)(void*,ksba_writer_t)
        type: void
      - name: '*notify_cb_value'
        type: void
      item_type: struct
      name: ksba_writer_s
      pos:
        line_end: 69
        line_start: 44
        source_file: /src/libksba/src/writer.h
    typedefs: []
    union: []
- function_names:
  - add_node
  - _ksba_asn_new_node
  - _ksba_asn_is_primitive
  - _ksba_asn_set_value
  - copy_value
  - copy_node
  - _ksba_asn_set_name
  - set_right
  - set_down
  - _ksba_asn_remove_node
  - find_node
  - _ksba_asn_find_node
  - _asn1_find_left
  - find_up
  - print_value
  - _ksba_asn_node_dump
  - _ksba_asn_node_dump_all
  - ksba_asn_tree_dump
  - _ksba_asn_delete_structure
  - _ksba_asn_check_identifier
  - _ksba_asn_walk_tree
  - _ksba_asn_walk_tree_up_right
  - _ksba_asn_change_integer_value
  - _ksba_asn_expand_object_id
  - _ksba_asn_set_default_tag
  - _ksba_asn_type_set_config
  - copy_tree
  - resolve_identifier
  - do_expand_tree
  - _ksba_asn_expand_tree
  - _ksba_asn_insert_copy
  - _ksba_asn_find_type_value
  source_file: /src/libksba/src/asn1-func.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _ksba_der_release
  - _ksba_der_builder_new
  - _ksba_der_builder_reset
  - ensure_space
  - _ksba_der_add_ptr
  - add_val_core
  - _ksba_der_add_val
  - _ksba_der_add_oid
  - _ksba_der_add_bts
  - _ksba_der_add_int
  - _ksba_der_add_der
  - _ksba_der_add_tag
  - _ksba_der_add_end
  - count_tl
  - write_tl
  - compute_lengths
  - _ksba_der_builder_get
  source_file: /src/libksba/src/der-builder.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: tag
        type: unsigned int
      - name: class
        type: unsigned int
      - name: hdrlen
        type: unsigned int
      - name: is_constructed
        type: unsigned int
      - name: encapsulate
        type: unsigned int
      - name: verbatim
        type: unsigned int
      - name: is_stop
        type: unsigned int
      - name: '*value'
        type: void
      - name: valuelen
        type: size_t
      - name: '*buffer'
        type: char
      item_type: struct
      name: item_s
      pos:
        line_end: 54
        line_start: 42
        source_file: /src/libksba/src/der-builder.c
    - fields:
      - name: error
        type: gpg_error_t
      - name: nallocateditems
        type: size_t
      - name: nitems
        type: size_t
      - name: '*items'
        type: struct item_s
      - name: laststop
        type: int
      - name: finished
        type: unsigned int
      item_type: struct
      name: ksba_der_s
      pos:
        line_end: 67
        line_start: 59
        source_file: /src/libksba/src/der-builder.c
    typedefs: []
    union: []
- function_names:
  - do_hash
  - HASH
  - ksba_crl_new
  - ksba_crl_release
  - ksba_crl_set_reader
  - ksba_crl_set_hash_function
  - ksba_crl_get_digest_algo
  - ksba_crl_get_issuer
  - ksba_crl_get_extension
  - ksba_crl_get_auth_key_id
  - ksba_crl_get_crl_number
  - ksba_crl_get_update_times
  - ksba_crl_get_item
  - ksba_crl_get_sig_val
  - read_byte
  - read_buffer
  - create_and_run_decoder
  - parse_one_extension
  - store_one_extension
  - parse_to_next_update
  - store_one_entry_extension
  - parse_crl_entry
  - parse_crl_extensions
  - parse_signature
  - ksba_crl_parse
  source_file: /src/libksba/src/crl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sum_a1_a2_gt_b
  - sum_a1_a2_ge_b
  - new_decoder_state
  - release_decoder_state
  - dump_decoder_state
  - push_decoder_state
  - pop_decoder_state
  - set_error
  - eof_or_error
  - universal_tag_name
  - dump_tlv
  - clear_help_flags
  - prepare_copied_tree
  - fixup_type_any
  - _ksba_ber_decoder_new
  - _ksba_ber_decoder_release
  - _ksba_ber_decoder_set_module
  - _ksba_ber_decoder_set_reader
  - read_byte
  - read_buffer
  - cmp_tag
  - find_anchor_node
  - match_der
  - decoder_init
  - decoder_deinit
  - decoder_next
  - decoder_skip
  - distance
  - _ksba_ber_decoder_dump
  - _ksba_ber_decoder_decode
  source_file: /src/libksba/src/ber-decoder.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_IMAGE_LENGTH
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libksba/src/ber-decoder.c
      type_or_value: (16 * 1024 * 1024)
    structs:
    - fields:
      - name: node
        type: AsnNode
      - name: went_up
        type: int
      - name: in_seq_of
        type: int
      - name: in_any
        type: int
      - name: again
        type: int
      - name: next_tag
        type: int
      - name: length
        type: int
      - name: ndef_length
        type: int
      - name: nread
        type: int
      item_type: struct
      name: decoder_state_item_s
      pos:
        line_end: 59
        line_start: 49
        source_file: /src/libksba/src/ber-decoder.c
    - fields:
      - name: cur
        type: DECODER_STATE_ITEM
      - name: stacksize
        type: int
      - name: idx
        type: int
      - name: stack[1]
        type: DECODER_STATE_ITEM
      item_type: struct
      name: decoder_state_s
      pos:
        line_end: 67
        line_start: 62
        source_file: /src/libksba/src/ber-decoder.c
    - fields:
      - name: module
        type: AsnNode
      - name: reader
        type: ksba_reader_t
      - name: '*last_errdesc'
        type: char
      - name: non_der
        type: int
      - name: root
        type: AsnNode
      - name: ds
        type: DECODER_STATE
      - name: bypass
        type: int
      - name: outer_sequence_length
        type: unsigned long
      - name: ignore_garbage
        type: int
      - name: fast_stop
        type: int
      - name: first_tag_seen
        type: int
      - name: honor_module_end
        type: int
      - name: debug
        type: int
      - name: use_image
        type: int
      - name: image
        type: "struct\n  {\n    unsigned char *buf;\n    size_t used;\n    size_t
          length;\n  }"
      - name: val
        type: "struct\n  {\n    int primitive;  /* current value is a primitive one
          */\n    size_t length;  /* length of the primitive one */\n    int nhdr;
          \      /* length of the header */\n    int tag;\n    int is_endtag;\n    AsnNode
          node;   /* NULL or matching node */\n  }"
      item_type: struct
      name: ber_decoder_s
      pos:
        line_end: 113
        line_start: 72
        source_file: /src/libksba/src/ber-decoder.c
    typedefs:
    - item_type: typedef
      name: DECODER_STATE_ITEM
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/libksba/src/ber-decoder.c
      type: decoder_state_item_s
    - item_type: typedef
      name: '*DECODER_STATE'
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/libksba/src/ber-decoder.c
      type: decoder_state_s
    union: []
- function_names: []
  source_file: /src/libksba/src/shared.h
  types:
    enum:
    - enumerators:
      - name: GCRY_MD_NONE
        value: '0'
      - name: GCRY_MD_RMD160
        value: '3'
      - name: GCRY_MD_MD5
        value: '1'
      - name: GCRY_MD_SHA1
        value: '2'
      - name: GCRY_MD_TIGER
        value: '6'
      - name: GCRY_MD_SHA256
        value: '8'
      - name: GCRY_MD_SHA384
        value: '9'
      - name: GCRY_MD_SHA512
        value: '10'
      - name: GCRY_MD_SHA224
        value: '11'
      item_type: enum
      name: gcry_md_algos
      pos:
        line_end: 49
        line_start: 39
        source_file: /src/libksba/src/shared.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - log_sexp
  - read_hash_block
  - read_and_hash_cont
  - read_encrypted_cont
  - write_encrypted_cont
  - ksba_cms_identify
  - ksba_cms_new
  - release_value_tree
  - ksba_cms_release
  - ksba_cms_set_reader_writer
  - ksba_cms_parse
  - ksba_cms_build
  - ksba_cms_get_content_type
  - ksba_cms_get_content_oid
  - ksba_cms_get_content_enc_iv
  - ksba_cms_get_digest_algo_list
  - ksba_cms_get_issuer_serial
  - ksba_cms_get_digest_algo
  - ksba_cms_get_cert
  - ksba_cms_get_attribute
  - ksba_cms_get_message_digest
  - ksba_cms_get_signing_time
  - ksba_cms_get_sigattr_oids
  - ksba_cms_get_sig_val
  - dbg_print_sexp
  - ksba_cms_get_enc_val
  - ksba_cms_set_hash_function
  - ksba_cms_hash_signed_attrs
  - ksba_cms_set_content_type
  - ksba_cms_add_digest_algo
  - ksba_cms_add_signer
  - ksba_cms_add_cert
  - ksba_cms_add_smime_capability
  - ksba_cms_add_attribute
  - ksba_cms_set_message_digest
  - ksba_cms_set_signing_time
  - ksba_cms_set_sig_val
  - ksba_cms_set_content_enc_algo
  - ksba_cms_set_enc_val
  - ksba_cms_add_recipient
  - ct_parse_data
  - ct_parse_signed_data
  - ct_parse_enveloped_data
  - ct_parse_digested_data
  - ct_parse_encrypted_data
  - ct_build_data
  - build_signed_data_header
  - set_issuer_serial
  - store_smime_capability_sequence
  - compare_attrarray
  - build_signed_data_attributes
  - build_signed_data_rest
  - ct_build_signed_data
  - build_enveloped_data_header
  - ct_build_enveloped_data
  - ct_build_digested_data
  - ct_build_encrypted_data
  source_file: /src/libksba/src/cms.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*oid'
        type: char
      - name: ct
        type: ksba_content_type_t
      - name: (*parse_handler)(ksba_cms_t)
        type: gpg_error_t
      - name: (*build_handler)(ksba_cms_t)
        type: gpg_error_t
      item_type: struct
      name: "content_handlers[] = {\n  {  \"1.2.840.113549.1.7.1\", KSBA_CT_DATA,\n
        \    ct_parse_data   , ct_build_data                  },\n  {  \"1.2.840.113549.1.7.2\",
        KSBA_CT_SIGNED_DATA,\n     ct_parse_signed_data   , ct_build_signed_data    },\n
        \ {  \"1.2.840.113549.1.7.3\", KSBA_CT_ENVELOPED_DATA,\n     ct_parse_enveloped_data,
        ct_build_enveloped_data },\n  {  \"1.2.840.113549.1.9.16.1.23\", KSBA_CT_AUTHENVELOPED_DATA,\n
        \    ct_parse_enveloped_data, ct_build_enveloped_data },\n  {  \"1.2.840.113549.1.7.5\",
        KSBA_CT_DIGESTED_DATA,\n     ct_parse_digested_data , ct_build_digested_data
        \ },\n  {  \"1.2.840.113549.1.7.6\", KSBA_CT_ENCRYPTED_DATA,\n     ct_parse_encrypted_data,
        ct_build_encrypted_data },\n  {  \"1.2.840.113549.1.9.16.1.2\", KSBA_CT_AUTH_DATA
        \  },\n  {  \"1.3.6.1.4.1.311.2.1.4\", KSBA_CT_SPC_IND_DATA_CTX,\n     ct_parse_data
        \  , ct_build_data                  },\n  {  \"1.3.6.1.4.1.11591.2.3.1\",
        KSBA_CT_OPENPGP_KEYBLOCK,\n     ct_parse_data   , ct_build_data                  },\n
        \ { NULL }\n}"
      pos:
        line_end: 74
        line_start: 69
        source_file: /src/libksba/src/cms.c
    - fields:
      - name: root
        type: AsnNode
      - name: '*image'
        type: unsigned char
      - name: imagelen
        type: size_t
      item_type: struct
      name: attrarray_s
      pos:
        line_end: 3049
        line_start: 3045
        source_file: /src/libksba/src/cms.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libksba/src/asn1-func.h
  types:
    enum:
    - enumerators:
      - name: VALTYPE_NULL
        value: '0'
      - name: VALTYPE_BOOL
      - name: VALTYPE_LONG
      - name: VALTYPE_MEM
      - name: VALTYPE_CSTR
      - name: VALTYPE_ULONG
      item_type: enum
      name: asn_value_type
      pos:
        line_end: 74
        line_start: 67
        source_file: /src/libksba/src/asn1-func.h
    preproc_defs: []
    structs:
    - fields:
      - name: class
        type: enum tag_class
      - name: explicit
        type: unsigned int
      - name: implicit
        type: unsigned int
      - name: has_imports
        type: unsigned int
      - name: assignment
        type: unsigned int
      - name: one_param
        type: unsigned int
      - name: has_tag
        type: unsigned int
      - name: has_size
        type: unsigned int
      - name: has_list
        type: unsigned int
      - name: has_min_max
        type: unsigned int
      - name: has_defined_by
        type: unsigned int
      - name: is_false
        type: unsigned int
      - name: is_true
        type: unsigned int
      - name: has_default
        type: unsigned int
      - name: is_optional
        type: unsigned int
      - name: is_implicit
        type: unsigned int
      - name: in_set
        type: unsigned int
      - name: in_choice
        type: unsigned int
      - name: in_array
        type: unsigned int
      - name: is_any
        type: unsigned int
      - name: not_used
        type: unsigned int
      - name: help_down
        type: unsigned int
      - name: help_right
        type: unsigned int
      - name: tag_seen
        type: unsigned int
      - name: skip_this
        type: unsigned int
      item_type: struct
      name: node_flag_s
      pos:
        line_end: 65
        line_start: 38
        source_file: /src/libksba/src/asn1-func.h
    - fields:
      - name: '*name'
        type: char
      - name: type
        type: node_type_t
      - name: flags
        type: struct node_flag_s
      - name: valuetype
        type: enum asn_value_type
      - name: value
        type: union asn_value_u
      - name: 'off'
        type: int
      - name: nhdr
        type: int
      - name: len
        type: int
      - name: actual_type
        type: node_type_t
      - name: down
        type: AsnNode
      - name: right
        type: AsnNode
      - name: left
        type: AsnNode
      - name: link_next
        type: AsnNode
      item_type: struct
      name: asn_node_struct
      pos:
        line_end: 113
        line_start: 97
        source_file: /src/libksba/src/asn1-func.h
    - fields:
      - name: parse_tree
        type: AsnNode
      - name: node_list
        type: AsnNode
      - name: filename[1]
        type: char
      item_type: struct
      name: ksba_asn_tree_s
      pos:
        line_end: 120
        line_start: 116
        source_file: /src/libksba/src/asn1-func.h
    - fields:
      - name: name_off
        type: unsigned int
      - name: type
        type: node_type_t
      - name: flags
        type: struct node_flag_s
      - name: stringvalue_off
        type: unsigned int
      item_type: struct
      name: static_struct_asn
      pos:
        line_end: 128
        line_start: 123
        source_file: /src/libksba/src/asn1-func.h
    typedefs:
    - item_type: typedef
      name: '*AsnNode'
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/libksba/src/asn1-func.h
      type: asn_node_struct
    - item_type: typedef
      name: '*asn_node_t'
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/libksba/src/asn1-func.h
      type: asn_node_struct
    union:
    - fields:
      - name: v_bool
        type: int
      - name: '*v_cstr'
        type: char
      - name: v_mem
        type: "struct {\n    size_t len;\n    unsigned char *buf;\n  }"
      - name: v_long
        type: long
      - name: v_ulong
        type: unsigned long
      item_type: union
      name: asn_value_u
      pos:
        line_end: 85
        line_start: 76
        source_file: /src/libksba/src/asn1-func.h
- function_names:
  - out_of_core
  - xmalloc
  - xcalloc
  - xrealloc
  - xstrdup
  - xfree
  - gen_help_stpcpy
  - gpg_strerror
  source_file: /src/libksba/src/gen-help.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libksba/src/certreq.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CERTREQ_H
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libksba/src/certreq.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*next'
        type: struct extn_list_s
      - name: '*oid'
        type: char
      - name: critical
        type: int
      - name: derlen
        type: int
      - name: der[1]
        type: unsigned char
      item_type: struct
      name: extn_list_s
      pos:
        line_end: 47
        line_start: 40
        source_file: /src/libksba/src/certreq.h
    - fields:
      - name: '*next'
        type: struct general_names_s
      - name: tag
        type: int
      - name: datalen
        type: size_t
      - name: data[1]
        type: char
      item_type: struct
      name: general_names_s
      pos:
        line_end: 60
        line_start: 51
        source_file: /src/libksba/src/certreq.h
    - fields:
      - name: last_error
        type: gpg_error_t
      - name: writer
        type: ksba_writer_t
      - name: (*hash_fnc)(void *, const void *, size_t)
        type: void
      - name: '*hash_fnc_arg'
        type: void
      - name: any_build_done
        type: int
      - name: x509
        type: "struct {\n    struct {\n      char *der;  /* Malloced serialno; if
          this is set we want to\n                          build a real X.509 certificate.
          \ */\n      size_t derlen;\n    } serial;\n    struct {\n      char *der;\n
          \     size_t derlen;\n    } issuer;\n    ksba_isotime_t not_before;\n    ksba_isotime_t
          not_after;\n    struct {\n      unsigned char *der;\n      size_t derlen;\n
          \   } siginfo;\n  }"
      - name: subject
        type: "struct {\n    char *der;\n    size_t derlen;\n  }"
      - name: key
        type: "struct {\n    unsigned char *der;\n    size_t derlen;\n  }"
      - name: '*subject_alt_names'
        type: struct general_names_s
      - name: '*extn_list'
        type: struct extn_list_s
      - name: cri
        type: "struct {\n    unsigned char *der;\n    size_t derlen;\n  }"
      - name: sig_val
        type: "struct {\n    char *algo;\n    int is_ecc;  /* 1 = plain ecc, 2 = EdDSA
          */\n    unsigned char *value;\n    size_t valuelen;\n  }"
      item_type: struct
      name: ksba_certreq_s
      pos:
        line_end: 120
        line_start: 63
        source_file: /src/libksba/src/certreq.h
    typedefs:
    - item_type: typedef
      name: '*AsnNode'
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/libksba/src/certreq.h
      type: asn_node_struct
    union: []
- function_names: []
  source_file: /src/libksba/src/ber-decoder.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BER_DECODER_H
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libksba/src/ber-decoder.h
      type_or_value: '1'
    - item_type: preproc_def
      name: BER_DECODER_FLAG_FAST_STOP
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libksba/src/ber-decoder.h
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: '*BerDecoder'
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/libksba/src/ber-decoder.h
      type: ber_decoder_s
    union: []
- function_names:
  - log_sexp
  - ksba_certreq_new
  - ksba_certreq_release
  - ksba_certreq_set_writer
  - ksba_certreq_set_hash_function
  - ksba_certreq_set_serial
  - ksba_certreq_set_issuer
  - ksba_certreq_set_validity
  - ksba_certreq_set_siginfo
  - ksba_certreq_add_subject
  - add_general_names_to_extn
  - ksba_certreq_set_public_key
  - ksba_certreq_add_extension
  - ksba_certreq_set_sig_val
  - build_extensions
  - build_cri
  - hash_cri
  - sign_and_write
  - ksba_certreq_build
  source_file: /src/libksba/src/certreq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libksba/src/reader.h
  types:
    enum:
    - enumerators:
      - name: READER_TYPE_NONE
        value: '0'
      - name: READER_TYPE_CB
      - name: READER_TYPE_FILE
      - name: READER_TYPE_MEM
      - name: READER_TYPE_FD
      item_type: enum
      name: reader_type
      pos:
        line_end: 41
        line_start: 35
        source_file: /src/libksba/src/reader.h
    preproc_defs:
    - item_type: preproc_def
      name: READER_H
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libksba/src/reader.h
      type_or_value: '1'
    structs:
    - fields:
      - name: eof
        type: int
      - name: error
        type: int
      - name: nread
        type: unsigned long
      - name: unread
        type: "struct {\n    unsigned char *buf;\n    size_t size;    /* allocated
          size */\n    size_t length;  /* used size */\n    size_t readpos; /* offset
          where to start the next read */\n  }"
      - name: type
        type: enum reader_type
      - name: u
        type: "union {\n    struct {\n      unsigned char *buffer;\n      size_t size;\n
          \     size_t readpos;\n    } mem;   /* for READER_TYPE_MEM */\n    int fd;
          \ /* for READER_TYPE_FD */\n    FILE *file; /* for READER_TYPE_FILE */\n
          \   struct {\n      int (*fnc)(void*,char *,size_t,size_t*);\n      void
          *value;\n    } cb;   /* for READER_TYPE_CB */\n  }"
      - name: (*notify_cb)(void*,ksba_reader_t)
        type: void
      - name: '*notify_cb_value'
        type: void
      item_type: struct
      name: ksba_reader_s
      pos:
        line_end: 70
        line_start: 44
        source_file: /src/libksba/src/reader.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libksba/src/crl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CRL_H
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libksba/src/crl.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*next'
        type: struct crl_extn_s
      - name: '*oid'
        type: char
      - name: critical
        type: int
      - name: derlen
        type: size_t
      - name: der[1]
        type: unsigned char
      item_type: struct
      name: crl_extn_s
      pos:
        line_end: 47
        line_start: 41
        source_file: /src/libksba/src/crl.h
    - fields:
      - name: last_error
        type: gpg_error_t
      - name: reader
        type: ksba_reader_t
      - name: any_parse_done
        type: int
      - name: (*hash_fnc)(void *, const void *, size_t)
        type: void
      - name: '*hash_fnc_arg'
        type: void
      - name: state
        type: "struct {\n    struct tag_info ti;\n    unsigned long outer_len, tbs_len,
          seqseq_len;\n    int outer_ndef, tbs_ndef, seqseq_ndef;\n    int have_seqseq;\n
          \ }"
      - name: crl_version
        type: int
      - name: algo
        type: "struct {\n    char *oid;\n    char *parm;\n    size_t parmlen;\n  }"
      - name: issuer
        type: "struct {\n    AsnNode root;  /* root of the tree with the values */\n
          \   unsigned char *image;\n    size_t imagelen;\n  }"
      - name: this_update
        type: ksba_isotime_t
      - name: next_update
        type: ksba_isotime_t
      - name: item
        type: "struct {\n    ksba_sexp_t serial;\n    ksba_crl_reason_t reason;\n
          \   ksba_isotime_t revocation_date;\n  }"
      - name: extension_list
        type: crl_extn_t
      - name: sigval
        type: ksba_sexp_t
      - name: hashbuf
        type: "struct {\n    int used;\n    char buffer[8192];\n  }"
      item_type: struct
      name: ksba_crl_s
      pos:
        line_end: 94
        line_start: 50
        source_file: /src/libksba/src/crl.h
    typedefs:
    - item_type: typedef
      name: '*AsnNode'
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/libksba/src/crl.h
      type: asn_node_struct
    - item_type: typedef
      name: '*crl_extn_t'
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/libksba/src/crl.h
      type: crl_extn_s
    union: []
- function_names:
  - ksba_writer_new
  - ksba_writer_release
  - ksba_writer_set_release_notify
  - ksba_writer_error
  - ksba_writer_tell
  - ksba_writer_set_fd
  - ksba_writer_set_file
  - ksba_writer_set_cb
  - ksba_writer_set_mem
  - ksba_writer_get_mem
  - ksba_writer_snatch_mem
  - ksba_writer_set_filter
  - do_writer_write
  - ksba_writer_write
  - ksba_writer_write_octet_string
  source_file: /src/libksba/src/writer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - xtrymalloc
  - xtrycalloc
  - xtryrealloc
  - xtrystrdup
  - xfree
  - xmalloc
  - xcalloc
  - xrealloc
  - xstrdup
  - DIM
  - DIMof
  - STR
  - STR2
  - return_if_fail
  - return_null_if_fail
  - return_val_if_fail
  - never_reached
  - stpcpy
  - ascii_memcasecmp
  - spacep
  - digitp
  - hexdigitp
  - atoi_1
  - atoi_2
  - atoi_4
  - xtoi_1
  - xtoi_2
  source_file: /src/libksba/src/util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - snext
  - sskip
  - smatch
  - smklen
  source_file: /src/libksba/src/sexp-parse.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ksba_set_malloc_hooks
  - ksba_set_hash_buffer_function
  - _ksba_hash_buffer
  - ksba_malloc
  - ksba_calloc
  - ksba_realloc
  - ksba_strdup
  - _ksba_reallocarray
  - ksba_free
  - out_of_core
  - _ksba_xmalloc
  - _ksba_xcalloc
  - _ksba_xrealloc
  - _ksba_xstrdup
  - _ksba_stpcpy
  - ascii_toupper
  - _ksba_ascii_memcasecmp
  source_file: /src/libksba/src/util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libksba/src/convert.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libksba/src/ocsp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OCSP_H
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libksba/src/ocsp.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*next'
        type: struct ocsp_certlist_s
      - name: cert
        type: ksba_cert_t
      item_type: struct
      name: ocsp_certlist_s
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/libksba/src/ocsp.h
    - fields:
      - name: '*next'
        type: struct ocsp_extension_s
      - name: 'off'
        type: size_t
      - name: len
        type: size_t
      - name: crit
        type: int
      - name: data[1]
        type: char
      item_type: struct
      name: ocsp_extension_s
      pos:
        line_end: 52
        line_start: 44
        source_file: /src/libksba/src/ocsp.h
    - fields:
      - name: '*next'
        type: struct ocsp_reqitem_s
      - name: cert
        type: ksba_cert_t
      - name: issuer_cert
        type: ksba_cert_t
      - name: issuer_name_hash[32]
        type: unsigned char
      - name: issuer_key_hash[32]
        type: unsigned char
      - name: '*serialno'
        type: unsigned char
      - name: serialnolen
        type: size_t
      - name: this_update
        type: ksba_isotime_t
      - name: next_update
        type: ksba_isotime_t
      - name: status
        type: ksba_status_t
      - name: revocation_time
        type: ksba_isotime_t
      - name: revocation_reason
        type: ksba_crl_reason_t
      - name: '*single_extensions'
        type: struct ocsp_extension_s
      item_type: struct
      name: ocsp_reqitem_s
      pos:
        line_end: 75
        line_start: 56
        source_file: /src/libksba/src/ocsp.h
    - fields:
      - name: '*digest_oid'
        type: char
      - name: '*requestlist'
        type: struct ocsp_reqitem_s
      - name: noncelen
        type: size_t
      - name: nonce[16]
        type: unsigned char
      - name: sha256_certid
        type: unsigned int
      - name: '*request_buffer'
        type: unsigned char
      - name: request_buflen
        type: size_t
      - name: hash_offset
        type: size_t
      - name: hash_length
        type: size_t
      - name: response_status
        type: ksba_ocsp_response_status_t
      - name: sigval
        type: ksba_sexp_t
      - name: produced_at
        type: ksba_isotime_t
      - name: '*received_certs'
        type: struct ocsp_certlist_s
      - name: '*response_extensions'
        type: struct ocsp_extension_s
      - name: bad_nonce
        type: int
      - name: responder_id
        type: "struct {\n    char *name;             /* Allocated DN. */\n    char
          *keyid;            /* Allocated key ID. */\n    size_t keyidlen;        /*
          length of the KeyID. */\n  }"
      item_type: struct
      name: ksba_ocsp_s
      pos:
        line_end: 111
        line_start: 78
        source_file: /src/libksba/src/ocsp.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libksba/src/cert.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CERT_H
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libksba/src/cert.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*oid'
        type: char
      - name: crit
        type: int
      - name: 'off'
        type: int
      item_type: struct
      name: cert_extn_info
      pos:
        line_end: 41
        line_start: 36
        source_file: /src/libksba/src/cert.h
    - fields:
      - name: '*next'
        type: struct cert_user_data
      - name: datalen
        type: size_t
      - name: '*data'
        type: void
      - name: databuf[sizeof (int)]
        type: char
      - name: key[1]
        type: char
      item_type: struct
      name: cert_user_data
      pos:
        line_end: 66
        line_start: 47
        source_file: /src/libksba/src/cert.h
    - fields:
      - name: '*udata'
        type: struct cert_user_data
      - name: initialized
        type: int
      - name: ref_count
        type: int
      - name: asn_tree
        type: ksba_asn_tree_t
      - name: root
        type: AsnNode
      - name: '*image'
        type: unsigned char
      - name: imagelen
        type: size_t
      - name: last_error
        type: gpg_error_t
      - name: cache
        type: "struct {\n    char *digest_algo;\n    int  extns_valid;\n    int  n_extns;\n
          \   struct cert_extn_info *extns;\n  }"
      item_type: struct
      name: ksba_cert_s
      pos:
        line_end: 103
        line_start: 70
        source_file: /src/libksba/src/cert.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libksba/src/der-encoder.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DER_ENCODER_H
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libksba/src/der-encoder.h
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: '*DerEncoder'
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/libksba/src/der-encoder.h
      type: der_encoder_s
    union: []
- function_names:
  - xtrymalloc
  - stpcpy
  - DIM
  - DIMof
  - STR
  - STR2
  - return_if_fail
  - return_null_if_fail
  - return_val_if_fail
  - never_reached
  - gpg_error
  - gpg_error_from_syserror
  source_file: /src/libksba/src/gen-help.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPG_ERR_GENERAL
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libksba/src/gen-help.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPG_ERR_SYNTAX
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libksba/src/gen-help.h
      type_or_value: '29'
    - item_type: preproc_def
      name: GPG_ERR_INV_VALUE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libksba/src/gen-help.h
      type_or_value: '55'
    - item_type: preproc_def
      name: GPG_ERR_BUG
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libksba/src/gen-help.h
      type_or_value: '59'
    - item_type: preproc_def
      name: GPG_ERR_ELEMENT_NOT_FOUND
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/libksba/src/gen-help.h
      type_or_value: '136'
    - item_type: preproc_def
      name: GPG_ERR_IDENTIFIER_NOT_FOUND
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libksba/src/gen-help.h
      type_or_value: '137'
    structs: []
    typedefs:
    - item_type: typedef
      name: '*ksba_asn_tree_t'
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/libksba/src/gen-help.h
      type: ksba_asn_tree_s
    union: []
- function_names:
  - init_stringbuf
  - deinit_stringbuf
  - put_stringbuf_mem
  - put_stringbuf_mem_skip
  - put_stringbuf
  - put_stringbuf_mem_sexp
  - put_stringbuf_sexp
  - put_stringbuf_uint
  - get_stringbuf
  source_file: /src/libksba/src/stringbuf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STRINGBUF_H
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libksba/src/stringbuf.h
      type_or_value: '1'
    structs:
    - fields:
      - name: len
        type: size_t
      - name: size
        type: size_t
      - name: '*buf'
        type: char
      - name: out_of_core
        type: gpg_error_t
      item_type: struct
      name: stringbuf
      pos:
        line_end: 42
        line_start: 36
        source_file: /src/libksba/src/stringbuf.h
    typedefs: []
    union: []
- function_names:
  - ksba_oid_to_str
  - _ksba_oid_node_to_str
  - make_flagged_int
  - ksba_oid_from_str
  - _ksba_oid_from_buf
  source_file: /src/libksba/src/oid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - parse_skip
  - parse_sequence
  - parse_context_tag
  - parse_enumerated
  - parse_integer
  - parse_octet_string
  - parse_optional_boolean
  - parse_optional_null
  - parse_object_id_into_str
  - parse_asntime_into_isotime
  source_file: /src/libksba/src/ber-help.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BER_HELP_H
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libksba/src/ber-help.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_SERIALNO_LENGTH
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libksba/src/ber-help.h
      type_or_value: (1 * 1024)
    - item_type: preproc_def
      name: MAX_KEYID_DER_LENGTH
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libksba/src/ber-help.h
      type_or_value: (4 * 1024)
    - item_type: preproc_def
      name: MAX_CERT_EXT_LENGTH
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libksba/src/ber-help.h
      type_or_value: (2 * 1024*1024)
    - item_type: preproc_def
      name: MAX_CRL_NUMBER_LENGTH
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libksba/src/ber-help.h
      type_or_value: (256)
    - item_type: preproc_def
      name: MAX_NAME_URL_LENGTH
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libksba/src/ber-help.h
      type_or_value: (4 * 1024)
    structs:
    - fields:
      - name: class
        type: enum tag_class
      - name: is_constructed
        type: int
      - name: tag
        type: unsigned long
      - name: length
        type: unsigned long
      - name: ndef
        type: int
      - name: nhdr
        type: size_t
      - name: buf[10]
        type: unsigned char
      - name: '*err_string'
        type: char
      - name: non_der
        type: int
      item_type: struct
      name: tag_info
      pos:
        line_end: 44
        line_start: 34
        source_file: /src/libksba/src/ber-help.h
    typedefs: []
    union: []
- function_names:
  - ATTR_PRINTF
  - print_error
  - fatal
  - one_file
  - usage
  - main
  source_file: /src/libksba/src/ber-dump.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGMNAME
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libksba/src/ber-dump.c
      type_or_value: '"ber-dump"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ksba_reader_new
  - ksba_reader_release
  - ksba_reader_set_release_notify
  - ksba_reader_clear
  - ksba_reader_error
  - ksba_reader_tell
  - ksba_reader_set_mem
  - ksba_reader_set_fd
  - ksba_reader_set_file
  - ksba_reader_set_cb
  - ksba_reader_read
  - ksba_reader_unread
  source_file: /src/libksba/src/reader.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ksba_check_version
  - ksba_set_malloc_hooks
  - ksba_set_hash_buffer_function
  - ksba_malloc
  - ksba_calloc
  - ksba_realloc
  - ksba_strdup
  - ksba_free
  - ksba_cert_new
  - ksba_cert_ref
  - ksba_cert_release
  - ksba_cert_set_user_data
  - ksba_cert_get_user_data
  - ksba_cert_read_der
  - ksba_cert_init_from_mem
  - ksba_cert_get_image
  - ksba_cert_hash
  - ksba_cert_get_digest_algo
  - ksba_cert_get_serial
  - ksba_cert_get_issuer
  - ksba_cert_get_validity
  - ksba_cert_get_subject
  - ksba_cert_get_public_key
  - ksba_cert_get_sig_val
  - ksba_cert_get_extension
  - ksba_cert_is_ca
  - ksba_cert_get_key_usage
  - ksba_cert_get_cert_policies
  - ksba_cert_get_ext_key_usages
  - ksba_cert_get_crl_dist_point
  - ksba_cert_get_auth_key_id
  - ksba_cert_get_subj_key_id
  - ksba_cert_get_authority_info_access
  - ksba_cert_get_subject_info_access
  - ksba_cms_identify
  - ksba_cms_new
  - ksba_cms_release
  - ksba_cms_set_reader_writer
  - ksba_cms_parse
  - ksba_cms_build
  - ksba_cms_get_content_type
  - ksba_cms_get_content_oid
  - ksba_cms_get_content_enc_iv
  - ksba_cms_get_digest_algo_list
  - ksba_cms_get_issuer_serial
  - ksba_cms_get_digest_algo
  - ksba_cms_get_cert
  - ksba_cms_get_attribute
  - ksba_cms_get_message_digest
  - ksba_cms_get_signing_time
  - ksba_cms_get_sigattr_oids
  - ksba_cms_get_sig_val
  - ksba_cms_get_enc_val
  - ksba_cms_set_hash_function
  - ksba_cms_hash_signed_attrs
  - ksba_cms_set_content_type
  - ksba_cms_add_digest_algo
  - ksba_cms_add_signer
  - ksba_cms_add_cert
  - ksba_cms_add_smime_capability
  - ksba_cms_add_attribute
  - ksba_cms_set_message_digest
  - ksba_cms_set_signing_time
  - ksba_cms_set_sig_val
  - ksba_cms_set_content_enc_algo
  - ksba_cms_add_recipient
  - ksba_cms_set_enc_val
  - ksba_crl_new
  - ksba_crl_release
  - ksba_crl_set_reader
  - ksba_crl_set_hash_function
  - ksba_crl_get_digest_algo
  - ksba_crl_get_issuer
  - ksba_crl_get_extension
  - ksba_crl_get_auth_key_id
  - ksba_crl_get_crl_number
  - ksba_crl_get_update_times
  - ksba_crl_get_item
  - ksba_crl_get_sig_val
  - ksba_crl_parse
  - ksba_ocsp_new
  - ksba_ocsp_release
  - ksba_ocsp_set_digest_algo
  - ksba_ocsp_set_requestor
  - ksba_ocsp_add_target
  - ksba_ocsp_set_nonce
  - ksba_ocsp_prepare_request
  - ksba_ocsp_hash_request
  - ksba_ocsp_set_sig_val
  - ksba_ocsp_add_cert
  - ksba_ocsp_build_request
  - ksba_ocsp_parse_response
  - ksba_ocsp_get_digest_algo
  - ksba_ocsp_hash_response
  - ksba_ocsp_get_sig_val
  - ksba_ocsp_get_responder_id
  - ksba_ocsp_get_cert
  - ksba_ocsp_get_status
  - ksba_ocsp_get_extension
  - ksba_certreq_new
  - ksba_certreq_release
  - ksba_certreq_set_writer
  - ksba_certreq_set_hash_function
  - ksba_certreq_set_serial
  - ksba_certreq_set_issuer
  - ksba_certreq_add_subject
  - ksba_certreq_set_public_key
  - ksba_certreq_add_extension
  - ksba_certreq_set_sig_val
  - ksba_certreq_build
  - ksba_certreq_set_validity
  - ksba_certreq_set_siginfo
  - ksba_reader_new
  - ksba_reader_release
  - ksba_reader_clear
  - ksba_reader_error
  - ksba_reader_set_mem
  - ksba_reader_set_fd
  - ksba_reader_set_file
  - ksba_reader_set_cb
  - ksba_reader_read
  - ksba_reader_unread
  - ksba_reader_tell
  - ksba_writer_new
  - ksba_writer_release
  - ksba_writer_error
  - ksba_writer_tell
  - ksba_writer_set_fd
  - ksba_writer_set_file
  - ksba_writer_set_cb
  - ksba_writer_set_mem
  - ksba_writer_get_mem
  - ksba_writer_snatch_mem
  - ksba_writer_set_filter
  - ksba_writer_write
  - ksba_writer_write_octet_string
  - ksba_asn_parse_file
  - ksba_asn_tree_release
  - ksba_asn_tree_dump
  - ksba_asn_create_tree
  - ksba_asn_delete_structure
  - ksba_oid_to_str
  - ksba_oid_from_str
  - ksba_dn_der2str
  - ksba_dn_str2der
  - ksba_dn_teststr
  - ksba_name_new
  - ksba_name_ref
  - ksba_name_release
  - ksba_name_enum
  - ksba_name_get_uri
  - ksba_der_release
  - ksba_der_builder_new
  - ksba_der_builder_reset
  - ksba_der_add_ptr
  - ksba_der_add_val
  - ksba_der_add_int
  - ksba_der_add_oid
  - ksba_der_add_bts
  - ksba_der_add_der
  - ksba_der_add_tag
  - ksba_der_add_end
  - ksba_der_builder_get
  source_file: /src/libksba/src/visibility.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_right
  - set_down
  - find_up
  - ksba_asn_create_tree
  source_file: /src/libksba/src/asn1-func2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libksba/src/der-builder.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DER_BUILDER_H
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/libksba/src/der-builder.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ksba_name_new
  - ksba_name_ref
  - ksba_name_release
  - _ksba_name_new_from_der
  - ksba_name_enum
  - ksba_name_get_uri
  source_file: /src/libksba/src/name.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ref_count
        type: int
      - name: n_names
        type: int
      - name: '**names'
        type: char
      item_type: struct
      name: ksba_name_s
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/libksba/src/name.c
    typedefs: []
    union: []
- function_names:
  - read_byte
  - read_buffer
  - create_and_run_decoder
  - parse_content_info
  - parse_encrypted_content_info
  - _ksba_cms_parse_content_info
  - parse_cms_version
  - _ksba_cms_parse_signed_data_part_1
  - _ksba_cms_parse_signed_data_part_2
  - _ksba_cms_parse_enveloped_data_part_1
  - _ksba_cms_parse_enveloped_data_part_2
  source_file: /src/libksba/src/cms-parser.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libksba/src/keyinfo.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libksba/src/cms.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CMS_H
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libksba/src/cms.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*next'
        type: struct value_tree_s
      - name: root
        type: AsnNode
      - name: '*image'
        type: unsigned char
      - name: imagelen
        type: size_t
      item_type: struct
      name: value_tree_s
      pos:
        line_end: 47
        line_start: 42
        source_file: /src/libksba/src/cms.h
    - fields:
      - name: '*algo'
        type: char
      - name: '*value'
        type: unsigned char
      - name: valuelen
        type: size_t
      - name: ecdh
        type: "struct {\n    unsigned char *e; /* Malloced buffer.      */\n    size_t
          elen;      /* Length of E.          */\n    char *encr_algo;  /* Malloced
          OID string.  */\n    char *wrap_algo;  /* Malloced OID string.  */\n  }"
      item_type: struct
      name: enc_val_s
      pos:
        line_end: 60
        line_start: 50
        source_file: /src/libksba/src/cms.h
    - fields:
      - name: '*next'
        type: struct oidlist_s
      - name: '*oid'
        type: char
      item_type: struct
      name: oidlist_s
      pos:
        line_end: 66
        line_start: 63
        source_file: /src/libksba/src/cms.h
    - fields:
      - name: '*next'
        type: struct oidparmlist_s
      - name: unprotected
        type: int
      - name: signeridx
        type: int
      - name: '*oid'
        type: char
      - name: parmlen
        type: size_t
      - name: parm[1]
        type: unsigned char
      item_type: struct
      name: oidparmlist_s
      pos:
        line_end: 76
        line_start: 69
        source_file: /src/libksba/src/cms.h
    - fields:
      - name: '*next'
        type: struct certlist_s
      - name: cert
        type: ksba_cert_t
      - name: msg_digest_len
        type: int
      - name: msg_digest[64]
        type: char
      - name: signing_time
        type: ksba_isotime_t
      - name: sa
        type: "struct {\n    AsnNode root;\n    unsigned char *image;\n  }"
      - name: enc_val
        type: struct enc_val_s
      item_type: struct
      name: certlist_s
      pos:
        line_end: 90
        line_start: 79
        source_file: /src/libksba/src/cms.h
    - fields:
      - name: '*next'
        type: struct signer_info_s
      - name: root
        type: AsnNode
      - name: '*image'
        type: unsigned char
      - name: imagelen
        type: size_t
      - name: cache
        type: "struct {\n    char *digest_algo;\n  }"
      item_type: struct
      name: signer_info_s
      pos:
        line_end: 101
        line_start: 93
        source_file: /src/libksba/src/cms.h
    - fields:
      - name: '*next'
        type: struct sig_val_s
      - name: '*algo'
        type: char
      - name: '*value'
        type: unsigned char
      - name: valuelen
        type: size_t
      - name: ecc
        type: "struct {\n    unsigned char *r;    /* Malloced buffer for parameter
          \"r\". */\n    size_t rlen;         /* Length of R.                       */\n
          \ }"
      item_type: struct
      name: sig_val_s
      pos:
        line_end: 112
        line_start: 103
        source_file: /src/libksba/src/cms.h
    - fields:
      - name: last_error
        type: gpg_error_t
      - name: reader
        type: ksba_reader_t
      - name: writer
        type: ksba_writer_t
      - name: (*hash_fnc)(void *, const void *, size_t)
        type: void
      - name: '*hash_fnc_arg'
        type: void
      - name: stop_reason
        type: ksba_stop_reason_t
      - name: content
        type: "struct {\n    char *oid;\n    unsigned long length;\n    int ndef;\n
          \   ksba_content_type_t ct;\n    gpg_error_t (*handler)(ksba_cms_t);\n  }"
      - name: authdata
        type: "struct {\n    unsigned char *mac;    /* The MAC (authtag)  */\n    int
          mac_len;\n    unsigned char *attr;   /* DER encoded authAttr.  */\n    int
          attr_len;\n  }"
      - name: auth_mode
        type: int
      - name: cms_version
        type: int
      - name: '*digest_algos'
        type: struct oidlist_s
      - name: '*cert_list'
        type: struct certlist_s
      - name: '*inner_cont_oid'
        type: char
      - name: inner_cont_len
        type: unsigned long
      - name: inner_cont_ndef
        type: int
      - name: detached_data
        type: int
      - name: '*encr_algo_oid'
        type: char
      - name: '*encr_iv'
        type: char
      - name: encr_ivlen
        type: size_t
      - name: '*cert_info_list'
        type: struct certlist_s
      - name: '*capability_list'
        type: struct oidparmlist_s
      - name: '*attribute_list'
        type: struct oidparmlist_s
      - name: '*signer_info'
        type: struct signer_info_s
      - name: '*recp_info'
        type: struct value_tree_s
      - name: '*sig_val'
        type: struct sig_val_s
      - name: '*enc_val'
        type: struct enc_val_s
      item_type: struct
      name: ksba_cms_s
      pos:
        line_end: 170
        line_start: 115
        source_file: /src/libksba/src/cms.h
    typedefs:
    - item_type: typedef
      name: '*AsnNode'
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/libksba/src/cms.h
      type: asn_node_struct
    union: []
- function_names:
  - dump_hex
  - ksba_ocsp_new
  - release_ocsp_certlist
  - release_ocsp_extensions
  - ksba_ocsp_release
  - ksba_ocsp_set_digest_algo
  - ksba_ocsp_set_requestor
  - ksba_ocsp_add_target
  - ksba_ocsp_set_nonce
  - issuer_name_hash
  - issuer_key_hash
  - write_request_extensions
  - ksba_ocsp_prepare_request
  - ksba_ocsp_hash_request
  - ksba_ocsp_set_sig_val
  - ksba_ocsp_add_cert
  - ksba_ocsp_build_request
  - parse_response_extensions
  - parse_single_extensions
  - parse_response_status
  - parse_single_response
  - parse_response_data
  - parse_response
  - ksba_ocsp_parse_response
  - ksba_ocsp_get_digest_algo
  - ksba_ocsp_hash_response
  - ksba_ocsp_get_sig_val
  - ksba_ocsp_get_responder_id
  - ksba_ocsp_get_cert
  - ksba_ocsp_get_status
  - ksba_ocsp_get_extension
  source_file: /src/libksba/src/ocsp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - append_quoted
  - append_utf8_value
  - append_latin1_value
  - append_ucs4_value
  - append_ucs2_value
  - append_atv
  - dn_to_str
  - _ksba_dn_to_str
  - create_and_run_decoder
  - _ksba_derdn_to_str
  - count_quoted_string
  - write_escaped
  - parse_rdn
  - _ksba_dn_from_str
  - ksba_dn_der2str
  - ksba_dn_str2der
  - ksba_dn_teststr
  source_file: /src/libksba/src/dn.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libksba/src/dn.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: P
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libksba/src/dn.c
      type_or_value: '0x01'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: source
        type: int
      - name: '*description'
        type: char
      - name: oidlen
        type: size_t
      - name: '*oid'
        type: unsigned char
      - name: '*oidstr'
        type: char
      item_type: struct
      name: "oid_name_tbl[] = {\n{\"CN\", 1, \"CommonName\",            3, \"\\x55\\x04\\x03\",
        \"2.5.4.3\" },\n{\"SN\", 2, \"Surname\",               3, \"\\x55\\x04\\x04\",
        \"2.5.4.4\" },\n{\"SERIALNUMBER\", 2, \"SerialNumber\",3, \"\\x55\\x04\\x05\",
        \"2.5.4.5\" },\n{\"C\",  1, \"CountryName\",           3, \"\\x55\\x04\\x06\",
        \"2.5.4.6\" },\n{\"L\" , 1, \"LocalityName\",          3, \"\\x55\\x04\\x07\",
        \"2.5.4.7\" },\n{\"ST\", 1, \"StateOrProvince\",       3, \"\\x55\\x04\\x08\",
        \"2.5.4.8\" },\n{\"STREET\", 1, \"StreetAddress\",     3, \"\\x55\\x04\\x09\",
        \"2.5.4.9\" },\n{\"O\",  1, \"OrganizationName\",      3, \"\\x55\\x04\\x0a\",
        \"2.5.4.10\" },\n{\"OU\", 1, \"OrganizationalUnit\",    3, \"\\x55\\x04\\x0b\",
        \"2.5.4.11\" },\n{\"T\",  2, \"Title\",                 3, \"\\x55\\x04\\x0c\",
        \"2.5.4.12\" },\n{\"D\",  3, \"Description\",           3, \"\\x55\\x04\\x0d\",
        \"2.5.4.13\" },\n{\"BC\", 3, \"BusinessCategory\",      3, \"\\x55\\x04\\x0f\",
        \"2.5.4.15\" },\n{\"ADDR\", 2, \"PostalAddress\",       3, \"\\x55\\x04\\x11\",
        \"2.5.4.16\" },\n{\"POSTALCODE\" , 0, \"PostalCode\",   3, \"\\x55\\x04\\x11\",
        \"2.5.4.17\" },\n{\"GN\", 2, \"GivenName\",             3, \"\\x55\\x04\\x2a\",
        \"2.5.4.42\" },\n{\"PSEUDO\", 2, \"Pseudonym\",         3, \"\\x55\\x04\\x41\",
        \"2.5.4.65\" },\n{\"DC\", 1, \"domainComponent\",      10,\n    \"\\x09\\x92\\x26\\x89\\x93\\xF2\\x2C\\x64\\x01\\x19\",
        \"0.9.2342.19200300.100.1.25\" },\n{\"UID\", 1, \"userid\",              10,\n
        \   \"\\x09\\x92\\x26\\x89\\x93\\xF2\\x2C\\x64\\x01\\x01\", \"0.9.2342.19200300.100.1.1
        \" },\n{\"EMAIL\", 3, \"emailAddress\",       9,\n    \"\\x2A\\x86\\x48\\x86\\xF7\\x0D\\x01\\x09\\x01\",
        \    \"1.2.840.113549.1.9.1\" },\n{ NULL }\n}"
      pos:
        line_end: 57
        line_start: 45
        source_file: /src/libksba/src/dn.c
    typedefs: []
    union: []
- function_names:
  - _ksba_asntime_to_iso
  - _ksba_assert_time_format
  - _ksba_copy_time
  - _ksba_cmp_time
  - _ksba_current_time
  source_file: /src/libksba/src/time.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libksba/src/asn1-constants.h
  types:
    enum:
    - enumerators:
      - name: CLASS_UNIVERSAL
        value: '0'
      - name: CLASS_CONTEXT
        value: '2'
      - name: CLASS_APPLICATION
        value: '1'
      - name: CLASS_PRIVATE
        value: '3'
      item_type: enum
      name: tag_class
      pos:
        line_end: 64
        line_start: 59
        source_file: /src/libksba/src/asn1-constants.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_byte
  - premature_eof
  - eof_or_error
  - _ksba_ber_read_tl
  - _ksba_ber_parse_tl
  - _ksba_ber_write_tl
  - _ksba_ber_encode_tl
  - _ksba_ber_count_tl
  - _ksba_parse_sequence
  - _ksba_parse_context_tag
  - _ksba_parse_enumerated
  - _ksba_parse_integer
  - _ksba_parse_octet_string
  - _ksba_parse_optional_boolean
  - _ksba_parse_optional_null
  - _ksba_parse_object_id_into_str
  - _ksba_parse_asntime_into_isotime
  source_file: /src/libksba/src/ber-help.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ATTR_PRINTF
  - print_error
  - insert_string
  - cmp_string
  - sort_string_table
  - write_string_table
  - create_static_structure
  - one_file
  - main
  source_file: /src/libksba/src/asn1-gentables.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGMNAME
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libksba/src/asn1-gentables.c
      type_or_value: '"asn1-gentables"'
    - item_type: preproc_def
      name: DEVNULL_NAME
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libksba/src/asn1-gentables.c
      type_or_value: '"nul"'
    - item_type: preproc_def
      name: DEVNULL_NAME
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libksba/src/asn1-gentables.c
      type_or_value: '"/dev/null"'
    structs:
    - fields:
      - name: '*next'
        type: struct name_list_s
      - name: name[1]
        type: char
      item_type: struct
      name: name_list_s
      pos:
        line_end: 54
        line_start: 51
        source_file: /src/libksba/src/asn1-gentables.c
    typedefs: []
    union: []
- function_names:
  - TLV_LENGTH
  - get_ecc_curve_oid
  - get_algorithm
  - _ksba_parse_algorithm_identifier
  - _ksba_parse_algorithm_identifier2
  - _ksba_parse_algorithm_identifier3
  - _ksba_keyinfo_to_sexp
  - oid_from_buffer
  - _ksba_keyinfo_from_sexp
  - _ksba_keyinfo_get_pss_info
  - cryptval_to_sexp
  - _ksba_sigval_to_sexp
  - _ksba_encval_to_sexp
  - _ksba_encval_kari_to_sexp
  source_file: /src/libksba/src/keyinfo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SUPPORTED_RSAPSS
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libksba/src/keyinfo.c
      type_or_value: '2'
    structs:
    - fields:
      - name: '*oidstring'
        type: char
      - name: '*oid'
        type: unsigned char
      - name: oidlen
        type: int
      - name: supported
        type: int
      - name: pkalgo
        type: pkalgo_t
      - name: '*algo_string'
        type: char
      - name: '*elem_string'
        type: char
      - name: '*ctrl_string'
        type: char
      - name: '*parmelem_string'
        type: char
      - name: '*parmctrl_string'
        type: char
      - name: '*digest_string'
        type: char
      item_type: struct
      name: algo_table_s
      pos:
        line_end: 77
        line_start: 65
        source_file: /src/libksba/src/keyinfo.c
    - fields:
      - name: '*oid'
        type: char
      - name: '*name'
        type: char
      - name: pkalgo
        type: unsigned char
      item_type: struct
      name: "curve_names[] =\n  {\n    { \"1.3.101.112\",         \"Ed25519\",    PKALGO_ED25519},\n
        \   { \"1.3.101.110\",         \"Curve25519\", PKALGO_X25519},\n    { \"1.3.101.110\",
        \        \"X25519\",     PKALGO_X25519},\n\n    { \"1.3.101.113\",         \"Ed448\",
        \     PKALGO_ED448 },\n    { \"1.3.101.111\",         \"X448\",       PKALGO_X448
        \ },\n\n    { \"1.2.840.10045.3.1.1\", \"NIST P-192\" },\n    { \"1.2.840.10045.3.1.1\",
        \"nistp192\"   },\n    { \"1.2.840.10045.3.1.1\", \"prime192v1\" },\n    {
        \"1.2.840.10045.3.1.1\", \"secp192r1\"  },\n\n    { \"1.3.132.0.33\",        \"NIST
        P-224\" },\n    { \"1.3.132.0.33\",        \"nistp224\"   },\n    { \"1.3.132.0.33\",
        \       \"secp224r1\"  },\n\n    { \"1.2.840.10045.3.1.7\", \"NIST P-256\"
        },\n    { \"1.2.840.10045.3.1.7\", \"nistp256\"   },\n    { \"1.2.840.10045.3.1.7\",
        \"prime256v1\" },\n    { \"1.2.840.10045.3.1.7\", \"secp256r1\"  },\n\n    {
        \"1.3.132.0.34\",        \"NIST P-384\" },\n    { \"1.3.132.0.34\",        \"nistp384\"
        \  },\n    { \"1.3.132.0.34\",        \"secp384r1\"  },\n\n    { \"1.3.132.0.35\",
        \       \"NIST P-521\" },\n    { \"1.3.132.0.35\",        \"nistp521\"   },\n
        \   { \"1.3.132.0.35\",        \"secp521r1\"  },\n\n    { \"1.3.36.3.3.2.8.1.1.1\"
        , \"brainpoolP160r1\" },\n    { \"1.3.36.3.3.2.8.1.1.3\" , \"brainpoolP192r1\"
        },\n    { \"1.3.36.3.3.2.8.1.1.5\" , \"brainpoolP224r1\" },\n    { \"1.3.36.3.3.2.8.1.1.7\"
        , \"brainpoolP256r1\" },\n    { \"1.3.36.3.3.2.8.1.1.9\" , \"brainpoolP320r1\"
        },\n    { \"1.3.36.3.3.2.8.1.1.11\", \"brainpoolP384r1\" },\n    { \"1.3.36.3.3.2.8.1.1.13\",
        \"brainpoolP512r1\" },\n\n\n    { \"1.2.643.2.2.35.1\",    \"GOST2001-CryptoPro-A\"
        },\n    { \"1.2.643.2.2.35.2\",    \"GOST2001-CryptoPro-B\" },\n    { \"1.2.643.2.2.35.3\",
        \   \"GOST2001-CryptoPro-C\" },\n    { \"1.2.643.7.1.2.1.2.1\", \"GOST2012-tc26-A\"
        \     },\n    { \"1.2.643.7.1.2.1.2.2\", \"GOST2012-tc26-B\"      },\n\n    {
        \"1.3.132.0.10\",        \"secp256k1\" },\n\n    { NULL, NULL}\n  }"
      pos:
        line_end: 309
        line_start: 304
        source_file: /src/libksba/src/keyinfo.c
    - fields:
      - name: '*name'
        type: char
      - name: derlen
        type: unsigned int
      - name: '*der'
        type: unsigned char
      item_type: struct
      name: "ecdomainparm_to_name[] =\n  {\n    { \"brainpoolP256r1\", 227,\n      \"\\x30\\x81\\xe0\\x02\\x01\\x01\\x30\\x2c\\x06\\x07\\x2a\\x86\\x48\\xce\\x3d\\x01\"\n
        \     \"\\x01\\x02\\x21\\x00\\xa9\\xfb\\x57\\xdb\\xa1\\xee\\xa9\\xbc\\x3e\\x66\\x0a\\x90\"\n
        \     \"\\x9d\\x83\\x8d\\x72\\x6e\\x3b\\xf6\\x23\\xd5\\x26\\x20\\x28\\x20\\x13\\x48\\x1d\"\n
        \     \"\\x1f\\x6e\\x53\\x77\\x30\\x44\\x04\\x20\\x7d\\x5a\\x09\\x75\\xfc\\x2c\\x30\\x57\"\n
        \     \"\\xee\\xf6\\x75\\x30\\x41\\x7a\\xff\\xe7\\xfb\\x80\\x55\\xc1\\x26\\xdc\\x5c\\x6c\"\n
        \     \"\\xe9\\x4a\\x4b\\x44\\xf3\\x30\\xb5\\xd9\\x04\\x20\\x26\\xdc\\x5c\\x6c\\xe9\\x4a\"\n
        \     \"\\x4b\\x44\\xf3\\x30\\xb5\\xd9\\xbb\\xd7\\x7c\\xbf\\x95\\x84\\x16\\x29\\x5c\\xf7\"\n
        \     \"\\xe1\\xce\\x6b\\xcc\\xdc\\x18\\xff\\x8c\\x07\\xb6\\x04\\x41\\x04\\x8b\\xd2\\xae\"\n
        \     \"\\xb9\\xcb\\x7e\\x57\\xcb\\x2c\\x4b\\x48\\x2f\\xfc\\x81\\xb7\\xaf\\xb9\\xde\\x27\"\n
        \     \"\\xe1\\xe3\\xbd\\x23\\xc2\\x3a\\x44\\x53\\xbd\\x9a\\xce\\x32\\x62\\x54\\x7e\\xf8\"\n
        \     \"\\x35\\xc3\\xda\\xc4\\xfd\\x97\\xf8\\x46\\x1a\\x14\\x61\\x1d\\xc9\\xc2\\x77\\x45\"\n
        \     \"\\x13\\x2d\\xed\\x8e\\x54\\x5c\\x1d\\x54\\xc7\\x2f\\x04\\x69\\x97\\x02\\x21\\x00\"\n
        \     \"\\xa9\\xfb\\x57\\xdb\\xa1\\xee\\xa9\\xbc\\x3e\\x66\\x0a\\x90\\x9d\\x83\\x8d\\x71\"\n
        \     \"\\x8c\\x39\\x7a\\xa3\\xb5\\x61\\xa6\\xf7\\x90\\x1e\\x0e\\x82\\x97\\x48\\x56\\xa7\"\n
        \     \"\\x02\\x01\\x01\"\n    },\n\n    { \"brainpoolP384r1\", 324,\n      \"\\x30\\x82\\x01\\x40\\x02\\x01\\x01\\x30\\x3c\\x06\\x07\\x2a\\x86\\x48\\xce\\x3d\"\n
        \     \"\\x01\\x01\\x02\\x31\\x00\\x8c\\xb9\\x1e\\x82\\xa3\\x38\\x6d\\x28\\x0f\\x5d\\x6f\"\n
        \     \"\\x7e\\x50\\xe6\\x41\\xdf\\x15\\x2f\\x71\\x09\\xed\\x54\\x56\\xb4\\x12\\xb1\\xda\"\n
        \     \"\\x19\\x7f\\xb7\\x11\\x23\\xac\\xd3\\xa7\\x29\\x90\\x1d\\x1a\\x71\\x87\\x47\\x00\"\n
        \     \"\\x13\\x31\\x07\\xec\\x53\\x30\\x64\\x04\\x30\\x7b\\xc3\\x82\\xc6\\x3d\\x8c\\x15\"\n
        \     \"\\x0c\\x3c\\x72\\x08\\x0a\\xce\\x05\\xaf\\xa0\\xc2\\xbe\\xa2\\x8e\\x4f\\xb2\\x27\"\n
        \     \"\\x87\\x13\\x91\\x65\\xef\\xba\\x91\\xf9\\x0f\\x8a\\xa5\\x81\\x4a\\x50\\x3a\\xd4\"\n
        \     \"\\xeb\\x04\\xa8\\xc7\\xdd\\x22\\xce\\x28\\x26\\x04\\x30\\x04\\xa8\\xc7\\xdd\\x22\"\n
        \     \"\\xce\\x28\\x26\\x8b\\x39\\xb5\\x54\\x16\\xf0\\x44\\x7c\\x2f\\xb7\\x7d\\xe1\\x07\"\n
        \     \"\\xdc\\xd2\\xa6\\x2e\\x88\\x0e\\xa5\\x3e\\xeb\\x62\\xd5\\x7c\\xb4\\x39\\x02\\x95\"\n
        \     \"\\xdb\\xc9\\x94\\x3a\\xb7\\x86\\x96\\xfa\\x50\\x4c\\x11\\x04\\x61\\x04\\x1d\\x1c\"\n
        \     \"\\x64\\xf0\\x68\\xcf\\x45\\xff\\xa2\\xa6\\x3a\\x81\\xb7\\xc1\\x3f\\x6b\\x88\\x47\"\n
        \     \"\\xa3\\xe7\\x7e\\xf1\\x4f\\xe3\\xdb\\x7f\\xca\\xfe\\x0c\\xbd\\x10\\xe8\\xe8\\x26\"\n
        \     \"\\xe0\\x34\\x36\\xd6\\x46\\xaa\\xef\\x87\\xb2\\xe2\\x47\\xd4\\xaf\\x1e\\x8a\\xbe\"\n
        \     \"\\x1d\\x75\\x20\\xf9\\xc2\\xa4\\x5c\\xb1\\xeb\\x8e\\x95\\xcf\\xd5\\x52\\x62\\xb7\"\n
        \     \"\\x0b\\x29\\xfe\\xec\\x58\\x64\\xe1\\x9c\\x05\\x4f\\xf9\\x91\\x29\\x28\\x0e\\x46\"\n
        \     \"\\x46\\x21\\x77\\x91\\x81\\x11\\x42\\x82\\x03\\x41\\x26\\x3c\\x53\\x15\\x02\\x31\"\n
        \     \"\\x00\\x8c\\xb9\\x1e\\x82\\xa3\\x38\\x6d\\x28\\x0f\\x5d\\x6f\\x7e\\x50\\xe6\\x41\"\n
        \     \"\\xdf\\x15\\x2f\\x71\\x09\\xed\\x54\\x56\\xb3\\x1f\\x16\\x6e\\x6c\\xac\\x04\\x25\"\n
        \     \"\\xa7\\xcf\\x3a\\xb6\\xaf\\x6b\\x7f\\xc3\\x10\\x3b\\x88\\x32\\x02\\xe9\\x04\\x65\"\n
        \     \"\\x65\\x02\\x01\\x01\"\n    },\n\n    { \"brainpoolP512r1\", 422,\n
        \     \"\\x30\\x82\\x01\\xa2\\x02\\x01\\x01\\x30\\x4c\\x06\\x07\\x2a\\x86\\x48\\xce\\x3d\"\n
        \     \"\\x01\\x01\\x02\\x41\\x00\\xaa\\xdd\\x9d\\xb8\\xdb\\xe9\\xc4\\x8b\\x3f\\xd4\\xe6\"\n
        \     \"\\xae\\x33\\xc9\\xfc\\x07\\xcb\\x30\\x8d\\xb3\\xb3\\xc9\\xd2\\x0e\\xd6\\x63\\x9c\"\n
        \     \"\\xca\\x70\\x33\\x08\\x71\\x7d\\x4d\\x9b\\x00\\x9b\\xc6\\x68\\x42\\xae\\xcd\\xa1\"\n
        \     \"\\x2a\\xe6\\xa3\\x80\\xe6\\x28\\x81\\xff\\x2f\\x2d\\x82\\xc6\\x85\\x28\\xaa\\x60\"\n
        \     \"\\x56\\x58\\x3a\\x48\\xf3\\x30\\x81\\x84\\x04\\x40\\x78\\x30\\xa3\\x31\\x8b\\x60\"\n
        \     \"\\x3b\\x89\\xe2\\x32\\x71\\x45\\xac\\x23\\x4c\\xc5\\x94\\xcb\\xdd\\x8d\\x3d\\xf9\"\n
        \     \"\\x16\\x10\\xa8\\x34\\x41\\xca\\xea\\x98\\x63\\xbc\\x2d\\xed\\x5d\\x5a\\xa8\\x25\"\n
        \     \"\\x3a\\xa1\\x0a\\x2e\\xf1\\xc9\\x8b\\x9a\\xc8\\xb5\\x7f\\x11\\x17\\xa7\\x2b\\xf2\"\n
        \     \"\\xc7\\xb9\\xe7\\xc1\\xac\\x4d\\x77\\xfc\\x94\\xca\\x04\\x40\\x3d\\xf9\\x16\\x10\"\n
        \     \"\\xa8\\x34\\x41\\xca\\xea\\x98\\x63\\xbc\\x2d\\xed\\x5d\\x5a\\xa8\\x25\\x3a\\xa1\"\n
        \     \"\\x0a\\x2e\\xf1\\xc9\\x8b\\x9a\\xc8\\xb5\\x7f\\x11\\x17\\xa7\\x2b\\xf2\\xc7\\xb9\"\n
        \     \"\\xe7\\xc1\\xac\\x4d\\x77\\xfc\\x94\\xca\\xdc\\x08\\x3e\\x67\\x98\\x40\\x50\\xb7\"\n
        \     \"\\x5e\\xba\\xe5\\xdd\\x28\\x09\\xbd\\x63\\x80\\x16\\xf7\\x23\\x04\\x81\\x81\\x04\"\n
        \     \"\\x81\\xae\\xe4\\xbd\\xd8\\x2e\\xd9\\x64\\x5a\\x21\\x32\\x2e\\x9c\\x4c\\x6a\\x93\"\n
        \     \"\\x85\\xed\\x9f\\x70\\xb5\\xd9\\x16\\xc1\\xb4\\x3b\\x62\\xee\\xf4\\xd0\\x09\\x8e\"\n
        \     \"\\xff\\x3b\\x1f\\x78\\xe2\\xd0\\xd4\\x8d\\x50\\xd1\\x68\\x7b\\x93\\xb9\\x7d\\x5f\"\n
        \     \"\\x7c\\x6d\\x50\\x47\\x40\\x6a\\x5e\\x68\\x8b\\x35\\x22\\x09\\xbc\\xb9\\xf8\\x22\"\n
        \     \"\\x7d\\xde\\x38\\x5d\\x56\\x63\\x32\\xec\\xc0\\xea\\xbf\\xa9\\xcf\\x78\\x22\\xfd\"\n
        \     \"\\xf2\\x09\\xf7\\x00\\x24\\xa5\\x7b\\x1a\\xa0\\x00\\xc5\\x5b\\x88\\x1f\\x81\\x11\"\n
        \     \"\\xb2\\xdc\\xde\\x49\\x4a\\x5f\\x48\\x5e\\x5b\\xca\\x4b\\xd8\\x8a\\x27\\x63\\xae\"\n
        \     \"\\xd1\\xca\\x2b\\x2f\\xa8\\xf0\\x54\\x06\\x78\\xcd\\x1e\\x0f\\x3a\\xd8\\x08\\x92\"\n
        \     \"\\x02\\x41\\x00\\xaa\\xdd\\x9d\\xb8\\xdb\\xe9\\xc4\\x8b\\x3f\\xd4\\xe6\\xae\\x33\"\n
        \     \"\\xc9\\xfc\\x07\\xcb\\x30\\x8d\\xb3\\xb3\\xc9\\xd2\\x0e\\xd6\\x63\\x9c\\xca\\x70\"\n
        \     \"\\x33\\x08\\x70\\x55\\x3e\\x5c\\x41\\x4c\\xa9\\x26\\x19\\x41\\x86\\x61\\x19\\x7f\"\n
        \     \"\\xac\\x10\\x47\\x1d\\xb1\\xd3\\x81\\x08\\x5d\\xda\\xdd\\xb5\\x87\\x96\\x82\\x9c\"\n
        \     \"\\xa9\\x00\\x69\\x02\\x01\\x01\"\n    },\n\n    { \"brainpoolP256r1\",
        195, /* with compressed base point */\n      \"\\x30\\x81\\xc0\\x02\\x01\\x01\\x30\\x2c\\x06\\x07\\x2a\\x86\\x48\\xce\\x3d\\x01\"\n
        \     \"\\x01\\x02\\x21\\x00\\xa9\\xfb\\x57\\xdb\\xa1\\xee\\xa9\\xbc\\x3e\\x66\\x0a\\x90\"\n
        \     \"\\x9d\\x83\\x8d\\x72\\x6e\\x3b\\xf6\\x23\\xd5\\x26\\x20\\x28\\x20\\x13\\x48\\x1d\"\n
        \     \"\\x1f\\x6e\\x53\\x77\\x30\\x44\\x04\\x20\\x7d\\x5a\\x09\\x75\\xfc\\x2c\\x30\\x57\"\n
        \     \"\\xee\\xf6\\x75\\x30\\x41\\x7a\\xff\\xe7\\xfb\\x80\\x55\\xc1\\x26\\xdc\\x5c\\x6c\"\n
        \     \"\\xe9\\x4a\\x4b\\x44\\xf3\\x30\\xb5\\xd9\\x04\\x20\\x26\\xdc\\x5c\\x6c\\xe9\\x4a\"\n
        \     \"\\x4b\\x44\\xf3\\x30\\xb5\\xd9\\xbb\\xd7\\x7c\\xbf\\x95\\x84\\x16\\x29\\x5c\\xf7\"\n
        \     \"\\xe1\\xce\\x6b\\xcc\\xdc\\x18\\xff\\x8c\\x07\\xb6\\x04\\x21\\x03\\x8b\\xd2\\xae\"\n
        \     \"\\xb9\\xcb\\x7e\\x57\\xcb\\x2c\\x4b\\x48\\x2f\\xfc\\x81\\xb7\\xaf\\xb9\\xde\\x27\"\n
        \     \"\\xe1\\xe3\\xbd\\x23\\xc2\\x3a\\x44\\x53\\xbd\\x9a\\xce\\x32\\x62\\x02\\x21\\x00\"\n
        \     \"\\xa9\\xfb\\x57\\xdb\\xa1\\xee\\xa9\\xbc\\x3e\\x66\\x0a\\x90\\x9d\\x83\\x8d\\x71\"\n
        \     \"\\x8c\\x39\\x7a\\xa3\\xb5\\x61\\xa6\\xf7\\x90\\x1e\\x0e\\x82\\x97\\x48\\x56\\xa7\"\n
        \     \"\\x02\\x01\\x01\"\n    },\n\n    { \"brainpoolP384r1\", 276, /* with
        compressed base point */\n      \"\\x30\\x82\\x01\\x10\\x02\\x01\\x01\\x30\\x3c\\x06\\x07\\x2a\\x86\\x48\\xce\\x3d\"\n
        \     \"\\x01\\x01\\x02\\x31\\x00\\x8c\\xb9\\x1e\\x82\\xa3\\x38\\x6d\\x28\\x0f\\x5d\\x6f\"\n
        \     \"\\x7e\\x50\\xe6\\x41\\xdf\\x15\\x2f\\x71\\x09\\xed\\x54\\x56\\xb4\\x12\\xb1\\xda\"\n
        \     \"\\x19\\x7f\\xb7\\x11\\x23\\xac\\xd3\\xa7\\x29\\x90\\x1d\\x1a\\x71\\x87\\x47\\x00\"\n
        \     \"\\x13\\x31\\x07\\xec\\x53\\x30\\x64\\x04\\x30\\x7b\\xc3\\x82\\xc6\\x3d\\x8c\\x15\"\n
        \     \"\\x0c\\x3c\\x72\\x08\\x0a\\xce\\x05\\xaf\\xa0\\xc2\\xbe\\xa2\\x8e\\x4f\\xb2\\x27\"\n
        \     \"\\x87\\x13\\x91\\x65\\xef\\xba\\x91\\xf9\\x0f\\x8a\\xa5\\x81\\x4a\\x50\\x3a\\xd4\"\n
        \     \"\\xeb\\x04\\xa8\\xc7\\xdd\\x22\\xce\\x28\\x26\\x04\\x30\\x04\\xa8\\xc7\\xdd\\x22\"\n
        \     \"\\xce\\x28\\x26\\x8b\\x39\\xb5\\x54\\x16\\xf0\\x44\\x7c\\x2f\\xb7\\x7d\\xe1\\x07\"\n
        \     \"\\xdc\\xd2\\xa6\\x2e\\x88\\x0e\\xa5\\x3e\\xeb\\x62\\xd5\\x7c\\xb4\\x39\\x02\\x95\"\n
        \     \"\\xdb\\xc9\\x94\\x3a\\xb7\\x86\\x96\\xfa\\x50\\x4c\\x11\\x04\\x31\\x03\\x1d\\x1c\"\n
        \     \"\\x64\\xf0\\x68\\xcf\\x45\\xff\\xa2\\xa6\\x3a\\x81\\xb7\\xc1\\x3f\\x6b\\x88\\x47\"\n
        \     \"\\xa3\\xe7\\x7e\\xf1\\x4f\\xe3\\xdb\\x7f\\xca\\xfe\\x0c\\xbd\\x10\\xe8\\xe8\\x26\"\n
        \     \"\\xe0\\x34\\x36\\xd6\\x46\\xaa\\xef\\x87\\xb2\\xe2\\x47\\xd4\\xaf\\x1e\\x02\\x31\"\n
        \     \"\\x00\\x8c\\xb9\\x1e\\x82\\xa3\\x38\\x6d\\x28\\x0f\\x5d\\x6f\\x7e\\x50\\xe6\\x41\"\n
        \     \"\\xdf\\x15\\x2f\\x71\\x09\\xed\\x54\\x56\\xb3\\x1f\\x16\\x6e\\x6c\\xac\\x04\\x25\"\n
        \     \"\\xa7\\xcf\\x3a\\xb6\\xaf\\x6b\\x7f\\xc3\\x10\\x3b\\x88\\x32\\x02\\xe9\\x04\\x65\"\n
        \     \"\\x65\\x02\\x01\\x01\"\n    },\n\n    { \"brainpoolP512r1\", 357,
        \ /* with compressed base point */\n      \"\\x30\\x82\\x01\\x61\\x02\\x01\\x01\\x30\\x4c\\x06\\x07\\x2a\\x86\\x48\\xce\\x3d\"\n
        \     \"\\x01\\x01\\x02\\x41\\x00\\xaa\\xdd\\x9d\\xb8\\xdb\\xe9\\xc4\\x8b\\x3f\\xd4\\xe6\"\n
        \     \"\\xae\\x33\\xc9\\xfc\\x07\\xcb\\x30\\x8d\\xb3\\xb3\\xc9\\xd2\\x0e\\xd6\\x63\\x9c\"\n
        \     \"\\xca\\x70\\x33\\x08\\x71\\x7d\\x4d\\x9b\\x00\\x9b\\xc6\\x68\\x42\\xae\\xcd\\xa1\"\n
        \     \"\\x2a\\xe6\\xa3\\x80\\xe6\\x28\\x81\\xff\\x2f\\x2d\\x82\\xc6\\x85\\x28\\xaa\\x60\"\n
        \     \"\\x56\\x58\\x3a\\x48\\xf3\\x30\\x81\\x84\\x04\\x40\\x78\\x30\\xa3\\x31\\x8b\\x60\"\n
        \     \"\\x3b\\x89\\xe2\\x32\\x71\\x45\\xac\\x23\\x4c\\xc5\\x94\\xcb\\xdd\\x8d\\x3d\\xf9\"\n
        \     \"\\x16\\x10\\xa8\\x34\\x41\\xca\\xea\\x98\\x63\\xbc\\x2d\\xed\\x5d\\x5a\\xa8\\x25\"\n
        \     \"\\x3a\\xa1\\x0a\\x2e\\xf1\\xc9\\x8b\\x9a\\xc8\\xb5\\x7f\\x11\\x17\\xa7\\x2b\\xf2\"\n
        \     \"\\xc7\\xb9\\xe7\\xc1\\xac\\x4d\\x77\\xfc\\x94\\xca\\x04\\x40\\x3d\\xf9\\x16\\x10\"\n
        \     \"\\xa8\\x34\\x41\\xca\\xea\\x98\\x63\\xbc\\x2d\\xed\\x5d\\x5a\\xa8\\x25\\x3a\\xa1\"\n
        \     \"\\x0a\\x2e\\xf1\\xc9\\x8b\\x9a\\xc8\\xb5\\x7f\\x11\\x17\\xa7\\x2b\\xf2\\xc7\\xb9\"\n
        \     \"\\xe7\\xc1\\xac\\x4d\\x77\\xfc\\x94\\xca\\xdc\\x08\\x3e\\x67\\x98\\x40\\x50\\xb7\"\n
        \     \"\\x5e\\xba\\xe5\\xdd\\x28\\x09\\xbd\\x63\\x80\\x16\\xf7\\x23\\x04\\x41\\x02\\x81\"\n
        \     \"\\xae\\xe4\\xbd\\xd8\\x2e\\xd9\\x64\\x5a\\x21\\x32\\x2e\\x9c\\x4c\\x6a\\x93\\x85\"\n
        \     \"\\xed\\x9f\\x70\\xb5\\xd9\\x16\\xc1\\xb4\\x3b\\x62\\xee\\xf4\\xd0\\x09\\x8e\\xff\"\n
        \     \"\\x3b\\x1f\\x78\\xe2\\xd0\\xd4\\x8d\\x50\\xd1\\x68\\x7b\\x93\\xb9\\x7d\\x5f\\x7c\"\n
        \     \"\\x6d\\x50\\x47\\x40\\x6a\\x5e\\x68\\x8b\\x35\\x22\\x09\\xbc\\xb9\\xf8\\x22\\x02\"\n
        \     \"\\x41\\x00\\xaa\\xdd\\x9d\\xb8\\xdb\\xe9\\xc4\\x8b\\x3f\\xd4\\xe6\\xae\\x33\\xc9\"\n
        \     \"\\xfc\\x07\\xcb\\x30\\x8d\\xb3\\xb3\\xc9\\xd2\\x0e\\xd6\\x63\\x9c\\xca\\x70\\x33\"\n
        \     \"\\x08\\x70\\x55\\x3e\\x5c\\x41\\x4c\\xa9\\x26\\x19\\x41\\x86\\x61\\x19\\x7f\\xac\"\n
        \     \"\\x10\\x47\\x1d\\xb1\\xd3\\x81\\x08\\x5d\\xda\\xdd\\xb5\\x87\\x96\\x82\\x9c\\xa9\"\n
        \     \"\\x00\\x69\\x02\\x01\\x01\"\n    },\n\n    { NULL }\n  }"
      pos:
        line_end: 367
        line_start: 362
        source_file: /src/libksba/src/keyinfo.c
    - fields:
      - name: '*name'
        type: char
      - name: namelen
        type: int
      - name: '*value'
        type: unsigned char
      - name: valuelen
        type: int
      item_type: struct
      name: parm[10]
      pos:
        line_end: 1176
        line_start: 1171
        source_file: /src/libksba/src/keyinfo.c
    typedefs: []
    union: []
- function_names:
  - parse_version_number
  - parse_version_string
  - compare_versions
  - cright_blurb
  - ksba_check_version
  source_file: /src/libksba/src/version.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - store_value
  - clear_value
  - _ksba_der_encoder_new
  - _ksba_der_encoder_release
  - _ksba_der_encoder_set_module
  - _ksba_der_encoder_set_writer
  - _ksba_der_write_algorithm_identifier
  - _ksba_der_copy_tree
  - _ksba_der_store_time
  - _ksba_der_store_string
  - _ksba_der_store_integer
  - _ksba_der_store_oid
  - _ksba_der_store_octet_string
  - _ksba_der_store_sequence
  - _ksba_der_store_set_of
  - _ksba_der_store_null
  - set_nhdr_and_len
  - copy_nhdr_and_len
  - sum_up_lengths
  - _ksba_der_encode_tree
  source_file: /src/libksba/src/der-encoder.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: module
        type: AsnNode
      - name: writer
        type: ksba_writer_t
      - name: '*last_errdesc'
        type: char
      - name: root
        type: AsnNode
      - name: debug
        type: int
      item_type: struct
      name: der_encoder_s
      pos:
        line_end: 49
        line_start: 43
        source_file: /src/libksba/src/der-encoder.c
    typedefs: []
    union: []
- function_names:
  - ksba_cert_new
  - ksba_cert_ref
  - ksba_cert_release
  - ksba_cert_set_user_data
  - ksba_cert_get_user_data
  - ksba_cert_read_der
  - ksba_cert_init_from_mem
  - ksba_cert_get_image
  - _ksba_cert_cmp
  - ksba_cert_hash
  - ksba_cert_get_digest_algo
  - ksba_cert_get_serial
  - _ksba_cert_get_serial_ptr
  - _ksba_cert_get_issuer_dn_ptr
  - _ksba_cert_get_subject_dn_ptr
  - get_name
  - ksba_cert_get_issuer
  - ksba_cert_get_subject
  - ksba_cert_get_validity
  - ksba_cert_get_public_key
  - _ksba_cert_get_public_key_ptr
  - ksba_cert_get_sig_val
  - read_extensions
  - ksba_cert_get_extension
  - ksba_cert_is_ca
  - ksba_cert_get_key_usage
  - append_cert_policy
  - ksba_cert_get_cert_policies
  - ksba_cert_get_ext_key_usages
  - parse_distribution_point
  - ksba_cert_get_crl_dist_point
  - ksba_cert_get_auth_key_id
  - get_simple_octet_string_ext
  - ksba_cert_get_subj_key_id
  - get_info_access
  - ksba_cert_get_authority_info_access
  - ksba_cert_get_subject_info_access
  source_file: /src/libksba/src/cert.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MARK_VISIBLE
  - MARK_VISIBLEX
  source_file: /src/libksba/src/visibility.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ksba_check_version
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_check_version
    - item_type: preproc_def
      name: ksba_set_hash_buffer_function
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_set_hash_buffer_function
    - item_type: preproc_def
      name: ksba_set_malloc_hooks
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_set_malloc_hooks
    - item_type: preproc_def
      name: ksba_free
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_free
    - item_type: preproc_def
      name: ksba_malloc
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_malloc
    - item_type: preproc_def
      name: ksba_calloc
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_calloc
    - item_type: preproc_def
      name: ksba_realloc
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_realloc
    - item_type: preproc_def
      name: ksba_strdup
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_strdup
    - item_type: preproc_def
      name: ksba_asn_create_tree
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_asn_create_tree
    - item_type: preproc_def
      name: ksba_asn_parse_file
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_asn_parse_file
    - item_type: preproc_def
      name: ksba_asn_tree_dump
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_asn_tree_dump
    - item_type: preproc_def
      name: ksba_asn_tree_release
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_asn_tree_release
    - item_type: preproc_def
      name: ksba_cert_get_auth_key_id
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_get_auth_key_id
    - item_type: preproc_def
      name: ksba_cert_get_cert_policies
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_get_cert_policies
    - item_type: preproc_def
      name: ksba_cert_get_crl_dist_point
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_get_crl_dist_point
    - item_type: preproc_def
      name: ksba_cert_get_digest_algo
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_get_digest_algo
    - item_type: preproc_def
      name: ksba_cert_get_ext_key_usages
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_get_ext_key_usages
    - item_type: preproc_def
      name: ksba_cert_get_extension
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_get_extension
    - item_type: preproc_def
      name: ksba_cert_get_image
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_get_image
    - item_type: preproc_def
      name: ksba_cert_get_issuer
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_get_issuer
    - item_type: preproc_def
      name: ksba_cert_get_key_usage
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_get_key_usage
    - item_type: preproc_def
      name: ksba_cert_get_public_key
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_get_public_key
    - item_type: preproc_def
      name: ksba_cert_get_serial
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_get_serial
    - item_type: preproc_def
      name: ksba_cert_get_sig_val
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_get_sig_val
    - item_type: preproc_def
      name: ksba_cert_get_subject
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_get_subject
    - item_type: preproc_def
      name: ksba_cert_get_validity
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_get_validity
    - item_type: preproc_def
      name: ksba_cert_hash
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_hash
    - item_type: preproc_def
      name: ksba_cert_init_from_mem
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_init_from_mem
    - item_type: preproc_def
      name: ksba_cert_is_ca
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_is_ca
    - item_type: preproc_def
      name: ksba_cert_new
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_new
    - item_type: preproc_def
      name: ksba_cert_read_der
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_read_der
    - item_type: preproc_def
      name: ksba_cert_ref
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_ref
    - item_type: preproc_def
      name: ksba_cert_release
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_release
    - item_type: preproc_def
      name: ksba_cert_get_authority_info_access
      pos:
        line_end: 70
        line_start: 68
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_get_authority_info_access
    - item_type: preproc_def
      name: ksba_cert_get_subject_info_access
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_get_subject_info_access
    - item_type: preproc_def
      name: ksba_cert_get_subj_key_id
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_get_subj_key_id
    - item_type: preproc_def
      name: ksba_cert_set_user_data
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_set_user_data
    - item_type: preproc_def
      name: ksba_cert_get_user_data
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cert_get_user_data
    - item_type: preproc_def
      name: ksba_certreq_set_serial
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_certreq_set_serial
    - item_type: preproc_def
      name: ksba_certreq_set_issuer
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_certreq_set_issuer
    - item_type: preproc_def
      name: ksba_certreq_set_validity
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_certreq_set_validity
    - item_type: preproc_def
      name: ksba_certreq_set_siginfo
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_certreq_set_siginfo
    - item_type: preproc_def
      name: ksba_certreq_add_subject
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_certreq_add_subject
    - item_type: preproc_def
      name: ksba_certreq_build
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_certreq_build
    - item_type: preproc_def
      name: ksba_certreq_new
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_certreq_new
    - item_type: preproc_def
      name: ksba_certreq_release
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_certreq_release
    - item_type: preproc_def
      name: ksba_certreq_set_hash_function
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_certreq_set_hash_function
    - item_type: preproc_def
      name: ksba_certreq_set_public_key
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_certreq_set_public_key
    - item_type: preproc_def
      name: ksba_certreq_set_sig_val
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_certreq_set_sig_val
    - item_type: preproc_def
      name: ksba_certreq_set_writer
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_certreq_set_writer
    - item_type: preproc_def
      name: ksba_certreq_add_extension
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_certreq_add_extension
    - item_type: preproc_def
      name: ksba_cms_add_cert
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_add_cert
    - item_type: preproc_def
      name: ksba_cms_add_digest_algo
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_add_digest_algo
    - item_type: preproc_def
      name: ksba_cms_add_recipient
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_add_recipient
    - item_type: preproc_def
      name: ksba_cms_add_signer
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_add_signer
    - item_type: preproc_def
      name: ksba_cms_build
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_build
    - item_type: preproc_def
      name: ksba_cms_get_cert
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_get_cert
    - item_type: preproc_def
      name: ksba_cms_get_content_enc_iv
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_get_content_enc_iv
    - item_type: preproc_def
      name: ksba_cms_get_content_oid
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_get_content_oid
    - item_type: preproc_def
      name: ksba_cms_get_content_type
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_get_content_type
    - item_type: preproc_def
      name: ksba_cms_get_digest_algo
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_get_digest_algo
    - item_type: preproc_def
      name: ksba_cms_get_digest_algo_list
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_get_digest_algo_list
    - item_type: preproc_def
      name: ksba_cms_get_enc_val
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_get_enc_val
    - item_type: preproc_def
      name: ksba_cms_get_issuer_serial
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_get_issuer_serial
    - item_type: preproc_def
      name: ksba_cms_get_message_digest
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_get_message_digest
    - item_type: preproc_def
      name: ksba_cms_get_sig_val
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_get_sig_val
    - item_type: preproc_def
      name: ksba_cms_get_sigattr_oids
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_get_sigattr_oids
    - item_type: preproc_def
      name: ksba_cms_get_signing_time
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_get_signing_time
    - item_type: preproc_def
      name: ksba_cms_hash_signed_attrs
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_hash_signed_attrs
    - item_type: preproc_def
      name: ksba_cms_identify
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_identify
    - item_type: preproc_def
      name: ksba_cms_new
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_new
    - item_type: preproc_def
      name: ksba_cms_parse
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_parse
    - item_type: preproc_def
      name: ksba_cms_release
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_release
    - item_type: preproc_def
      name: ksba_cms_set_content_enc_algo
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_set_content_enc_algo
    - item_type: preproc_def
      name: ksba_cms_set_content_type
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_set_content_type
    - item_type: preproc_def
      name: ksba_cms_set_enc_val
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_set_enc_val
    - item_type: preproc_def
      name: ksba_cms_set_hash_function
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_set_hash_function
    - item_type: preproc_def
      name: ksba_cms_set_message_digest
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_set_message_digest
    - item_type: preproc_def
      name: ksba_cms_set_reader_writer
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_set_reader_writer
    - item_type: preproc_def
      name: ksba_cms_set_sig_val
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_set_sig_val
    - item_type: preproc_def
      name: ksba_cms_set_signing_time
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_set_signing_time
    - item_type: preproc_def
      name: ksba_cms_add_smime_capability
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_add_smime_capability
    - item_type: preproc_def
      name: ksba_cms_add_attribute
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_add_attribute
    - item_type: preproc_def
      name: ksba_cms_get_attribute
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_cms_get_attribute
    - item_type: preproc_def
      name: ksba_crl_get_digest_algo
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_crl_get_digest_algo
    - item_type: preproc_def
      name: ksba_crl_get_issuer
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_crl_get_issuer
    - item_type: preproc_def
      name: ksba_crl_get_item
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_crl_get_item
    - item_type: preproc_def
      name: ksba_crl_get_sig_val
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_crl_get_sig_val
    - item_type: preproc_def
      name: ksba_crl_get_update_times
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_crl_get_update_times
    - item_type: preproc_def
      name: ksba_crl_new
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_crl_new
    - item_type: preproc_def
      name: ksba_crl_parse
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_crl_parse
    - item_type: preproc_def
      name: ksba_crl_release
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_crl_release
    - item_type: preproc_def
      name: ksba_crl_set_hash_function
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_crl_set_hash_function
    - item_type: preproc_def
      name: ksba_crl_set_reader
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_crl_set_reader
    - item_type: preproc_def
      name: ksba_crl_get_extension
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_crl_get_extension
    - item_type: preproc_def
      name: ksba_crl_get_auth_key_id
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_crl_get_auth_key_id
    - item_type: preproc_def
      name: ksba_crl_get_crl_number
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_crl_get_crl_number
    - item_type: preproc_def
      name: ksba_name_enum
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_name_enum
    - item_type: preproc_def
      name: ksba_name_get_uri
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_name_get_uri
    - item_type: preproc_def
      name: ksba_name_new
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_name_new
    - item_type: preproc_def
      name: ksba_name_ref
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_name_ref
    - item_type: preproc_def
      name: ksba_name_release
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_name_release
    - item_type: preproc_def
      name: ksba_ocsp_add_cert
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_add_cert
    - item_type: preproc_def
      name: ksba_ocsp_add_target
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_add_target
    - item_type: preproc_def
      name: ksba_ocsp_build_request
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_build_request
    - item_type: preproc_def
      name: ksba_ocsp_get_cert
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_get_cert
    - item_type: preproc_def
      name: ksba_ocsp_get_digest_algo
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_get_digest_algo
    - item_type: preproc_def
      name: ksba_ocsp_get_responder_id
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_get_responder_id
    - item_type: preproc_def
      name: ksba_ocsp_get_sig_val
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_get_sig_val
    - item_type: preproc_def
      name: ksba_ocsp_get_status
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_get_status
    - item_type: preproc_def
      name: ksba_ocsp_hash_request
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_hash_request
    - item_type: preproc_def
      name: ksba_ocsp_hash_response
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_hash_response
    - item_type: preproc_def
      name: ksba_ocsp_new
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_new
    - item_type: preproc_def
      name: ksba_ocsp_parse_response
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_parse_response
    - item_type: preproc_def
      name: ksba_ocsp_prepare_request
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_prepare_request
    - item_type: preproc_def
      name: ksba_ocsp_release
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_release
    - item_type: preproc_def
      name: ksba_ocsp_set_digest_algo
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_set_digest_algo
    - item_type: preproc_def
      name: ksba_ocsp_set_nonce
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_set_nonce
    - item_type: preproc_def
      name: ksba_ocsp_set_requestor
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_set_requestor
    - item_type: preproc_def
      name: ksba_ocsp_set_sig_val
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_set_sig_val
    - item_type: preproc_def
      name: ksba_ocsp_get_extension
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_ocsp_get_extension
    - item_type: preproc_def
      name: ksba_oid_from_str
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_oid_from_str
    - item_type: preproc_def
      name: ksba_oid_to_str
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_oid_to_str
    - item_type: preproc_def
      name: ksba_dn_der2str
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_dn_der2str
    - item_type: preproc_def
      name: ksba_dn_str2der
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_dn_str2der
    - item_type: preproc_def
      name: ksba_dn_teststr
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_dn_teststr
    - item_type: preproc_def
      name: ksba_reader_clear
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_reader_clear
    - item_type: preproc_def
      name: ksba_reader_error
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_reader_error
    - item_type: preproc_def
      name: ksba_reader_new
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_reader_new
    - item_type: preproc_def
      name: ksba_reader_read
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_reader_read
    - item_type: preproc_def
      name: ksba_reader_release
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_reader_release
    - item_type: preproc_def
      name: ksba_reader_set_cb
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_reader_set_cb
    - item_type: preproc_def
      name: ksba_reader_set_fd
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_reader_set_fd
    - item_type: preproc_def
      name: ksba_reader_set_file
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_reader_set_file
    - item_type: preproc_def
      name: ksba_reader_set_mem
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_reader_set_mem
    - item_type: preproc_def
      name: ksba_reader_tell
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_reader_tell
    - item_type: preproc_def
      name: ksba_reader_unread
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_reader_unread
    - item_type: preproc_def
      name: ksba_writer_error
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_writer_error
    - item_type: preproc_def
      name: ksba_writer_get_mem
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_writer_get_mem
    - item_type: preproc_def
      name: ksba_writer_new
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_writer_new
    - item_type: preproc_def
      name: ksba_writer_release
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_writer_release
    - item_type: preproc_def
      name: ksba_writer_set_cb
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_writer_set_cb
    - item_type: preproc_def
      name: ksba_writer_set_fd
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_writer_set_fd
    - item_type: preproc_def
      name: ksba_writer_set_file
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_writer_set_file
    - item_type: preproc_def
      name: ksba_writer_set_filter
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_writer_set_filter
    - item_type: preproc_def
      name: ksba_writer_set_mem
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_writer_set_mem
    - item_type: preproc_def
      name: ksba_writer_snatch_mem
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_writer_snatch_mem
    - item_type: preproc_def
      name: ksba_writer_tell
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_writer_tell
    - item_type: preproc_def
      name: ksba_writer_write
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_writer_write
    - item_type: preproc_def
      name: ksba_writer_write_octet_string
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_writer_write_octet_string
    - item_type: preproc_def
      name: ksba_der_release
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_der_release
    - item_type: preproc_def
      name: ksba_der_builder_new
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_der_builder_new
    - item_type: preproc_def
      name: ksba_der_builder_reset
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_der_builder_reset
    - item_type: preproc_def
      name: ksba_der_add_ptr
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_der_add_ptr
    - item_type: preproc_def
      name: ksba_der_add_val
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_der_add_val
    - item_type: preproc_def
      name: ksba_der_add_int
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_der_add_int
    - item_type: preproc_def
      name: ksba_der_add_oid
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_der_add_oid
    - item_type: preproc_def
      name: ksba_der_add_bts
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_der_add_bts
    - item_type: preproc_def
      name: ksba_der_add_der
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_der_add_der
    - item_type: preproc_def
      name: ksba_der_add_tag
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_der_add_tag
    - item_type: preproc_def
      name: ksba_der_add_end
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_der_add_end
    - item_type: preproc_def
      name: ksba_der_builder_get
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/libksba/src/visibility.h
      type_or_value: _ksba_der_builder_get
    - item_type: preproc_def
      name: _KSBA_VISIBILITY_DEFAULT
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/libksba/src/visibility.h
      type_or_value: __attribute__ ((visibility("default")))
    structs: []
    typedefs: []
    union: []
- function_names:
  - YY_CAST
  - YY_REINTERPRET_CAST
  - YY_CAST
  - YY_REINTERPRET_CAST
  - NEW_NODE
  - YYSIZEOF
  - YY_
  - YY_
  - YYUSE
  - YY_INITIAL_VALUE
  - YY_ASSERT
  - YYSTACK_BYTES
  - YYSTACK_RELOCATE
  - YYCOPY
  - YYCOPY
  - YYTRANSLATE
  - yypact_value_is_default
  - yytable_value_is_error
  - YYRECOVERING
  - YYBACKUP
  - YYDPRINTF
  - YY_LOCATION_PRINT
  - YY_SYMBOL_PRINT
  - yy_symbol_value_print
  - yy_symbol_print
  - yy_stack_print
  - YY_STACK_PRINT
  - yy_reduce_print
  - YY_REDUCE_PRINT
  - yystrlen
  - yystrlen
  - yystpcpy
  - yytnamerr
  - yysyntax_error
  - YYCASE_
  - yydestruct
  - yyparse
  - YYPOPSTACK
  - yylex
  - yyerror
  - new_node
  - release_all_nodes
  - set_name
  - set_str_value
  - set_ulong_value
  - set_right
  - append_right
  - set_down
  - ksba_asn_parse_file
  - ksba_asn_tree_release
  - _ksba_asn_release_nodes
  source_file: /src/libksba/src/asn1-parse.c
  types:
    enum:
    - enumerators:
      - name: IDENTIFIER
        value: '260'
      - name: OCTET
        value: '264'
      - name: UNIVERSAL
        value: '268'
      - name: OF
        value: '272'
      - name: ksba_TRUE
        value: '276'
      - name: DEFINED
        value: '280'
      - name: IMPLICIT
        value: '284'
      - name: ksba_END
        value: '288'
      - name: IMPORTS
        value: '292'
      - name: NUMERICSTRING
        value: '296'
      - name: BMPSTRING
        value: '301'
      - name: ASSIG
        value: '258'
      - name: SIZE
        value: '263'
      - name: BIT
        value: '267'
      - name: CHOICE
        value: '271'
      - name: ksba_BOOLEAN
        value: '275'
      - name: ANY
        value: '279'
      - name: EXPLICIT
        value: '283'
      - name: ksba_BEGIN
        value: '287'
      - name: FROM
        value: '291'
      - name: UTF8STRING
        value: '295'
      - name: INTEGER
        value: '262'
      - name: SEQUENCE
        value: '266'
      - name: DEFAULT
        value: '270'
      - name: STR_IDENTIFIER
        value: '274'
      - name: APPLICATION
        value: '278'
      - name: BY
        value: '282'
      - name: TAGS
        value: '286'
      - name: GeneralizedTime
        value: '290'
      - name: ENUMERATED
        value: '294'
      - name: TELETEXSTRING
        value: '298'
      - name: UNIVERSALSTRING
        value: '300'
      - name: PRINTABLESTRING
        value: '297'
      - name: OPTIONAL
        value: '261'
      - name: NUM
        value: '259'
      - name: STRING
        value: '265'
      - name: PRIVATE
        value: '269'
      - name: OBJECT
        value: '273'
      - name: ksba_FALSE
        value: '277'
      - name: SET
        value: '281'
      - name: DEFINITIONS
        value: '285'
      - name: UTCTime
        value: '289'
      - name: TOKEN_NULL
        value: '293'
      - name: IA5STRING
        value: '299'
      item_type: enum
      name: yytokentype
      pos:
        line_end: 203
        line_start: 157
        source_file: /src/libksba/src/asn1-parse.c
    preproc_defs:
    - item_type: preproc_def
      name: YYBISON
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYBISON_VERSION
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '"3.5.1"'
    - item_type: preproc_def
      name: YYSKELETON_NAME
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '"yacc.c"'
    - item_type: preproc_def
      name: YYPURE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '2'
    - item_type: preproc_def
      name: YYPUSH
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYPULL
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: yyparse
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: _ksba_asn1_yyparse
    - item_type: preproc_def
      name: MAX_STRING_LENGTH
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '129'
    - item_type: preproc_def
      name: PARSECTL
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: ((struct parser_control_s *)parm)
    - item_type: preproc_def
      name: YY_NULLPTR
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: nullptr
    - item_type: preproc_def
      name: YY_NULLPTR
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YY_NULLPTR
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: ((void*)0)
    - item_type: preproc_def
      name: YYERROR_VERBOSE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYERROR_VERBOSE
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYDEBUG
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYSTYPE_IS_TRIVIAL
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYSTYPE_IS_DECLARED
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYPTRDIFF_T
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: __PTRDIFF_TYPE__
    - item_type: preproc_def
      name: YYPTRDIFF_MAXIMUM
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: __PTRDIFF_MAX__
    - item_type: preproc_def
      name: YYPTRDIFF_T
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: ptrdiff_t
    - item_type: preproc_def
      name: YYPTRDIFF_MAXIMUM
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: PTRDIFF_MAX
    - item_type: preproc_def
      name: YYPTRDIFF_T
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: long
    - item_type: preproc_def
      name: YYPTRDIFF_MAXIMUM
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: LONG_MAX
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: __SIZE_TYPE__
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: size_t
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: size_t
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: unsigned
    - item_type: preproc_def
      name: YYSIZE_MAXIMUM
      pos:
        line_end: 342
        line_start: 337
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: "YY_CAST (YYPTRDIFF_T,                                 \\\n           (YYPTRDIFF_MAXIMUM
        < YY_CAST (YYSIZE_T, -1)  \\\n            ? YYPTRDIFF_MAXIMUM                         \\\n
        \           : YY_CAST (YYSIZE_T, -1)))"
    - item_type: preproc_def
      name: YY_ATTRIBUTE_PURE
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: __attribute__ ((__pure__))
    - item_type: preproc_def
      name: YY_ATTRIBUTE_UNUSED
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: __attribute__ ((__unused__))
    - item_type: preproc_def
      name: YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
      pos:
        line_end: 392
        line_start: 388
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: "_Pragma (\"GCC diagnostic push\")                                     \\\n
        \   _Pragma (\"GCC diagnostic ignored \\\"-Wuninitialized\\\"\")              \\\n
        \   _Pragma (\"GCC diagnostic ignored \\\"-Wmaybe-uninitialized\\\"\")"
    - item_type: preproc_def
      name: YY_IGNORE_MAYBE_UNINITIALIZED_END
      pos:
        line_end: 394
        line_start: 392
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: _Pragma ("GCC diagnostic pop")
    - item_type: preproc_def
      name: YY_IGNORE_USELESS_CAST_BEGIN
      pos:
        line_end: 409
        line_start: 406
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: "_Pragma (\"GCC diagnostic push\")                            \\\n
        \   _Pragma (\"GCC diagnostic ignored \\\"-Wuseless-cast\\\"\")"
    - item_type: preproc_def
      name: YY_IGNORE_USELESS_CAST_END
      pos:
        line_end: 411
        line_start: 409
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: _Pragma ("GCC diagnostic pop")
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: __builtin_alloca
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: __alloca
    - item_type: preproc_def
      name: alloca
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: _alloca
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: alloca
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYSTACK_ALLOC_MAXIMUM
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '4032 '
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: YYMALLOC
    - item_type: preproc_def
      name: YYSTACK_FREE
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: YYFREE
    - item_type: preproc_def
      name: YYSTACK_ALLOC_MAXIMUM
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: YYSIZE_MAXIMUM
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYMALLOC
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: malloc
    - item_type: preproc_def
      name: YYFREE
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: free
    - item_type: preproc_def
      name: YYSTACK_GAP_MAXIMUM
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: (YYSIZEOF (union yyalloc) - 1)
    - item_type: preproc_def
      name: YYCOPY_NEEDED
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYFINAL
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '2'
    - item_type: preproc_def
      name: YYLAST
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '195'
    - item_type: preproc_def
      name: YYNTOKENS
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '57'
    - item_type: preproc_def
      name: YYNNTS
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '51'
    - item_type: preproc_def
      name: YYNRULES
      pos:
        line_end: 559
        line_start: 558
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '116'
    - item_type: preproc_def
      name: YYNSTATES
      pos:
        line_end: 561
        line_start: 560
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '203'
    - item_type: preproc_def
      name: YYUNDEFTOK
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '2'
    - item_type: preproc_def
      name: YYMAXUTOK
      pos:
        line_end: 564
        line_start: 563
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '301'
    - item_type: preproc_def
      name: YYPACT_NINF
      pos:
        line_end: 674
        line_start: 673
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: (-137)
    - item_type: preproc_def
      name: YYTABLE_NINF
      pos:
        line_end: 679
        line_start: 678
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: yyerrok
      pos:
        line_end: 874
        line_start: 873
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: (yyerrstatus = 0)
    - item_type: preproc_def
      name: yyclearin
      pos:
        line_end: 875
        line_start: 874
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: (yychar = YYEMPTY)
    - item_type: preproc_def
      name: YYEMPTY
      pos:
        line_end: 876
        line_start: 875
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: (-2)
    - item_type: preproc_def
      name: YYEOF
      pos:
        line_end: 877
        line_start: 876
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYACCEPT
      pos:
        line_end: 879
        line_start: 878
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: goto yyacceptlab
    - item_type: preproc_def
      name: YYABORT
      pos:
        line_end: 880
        line_start: 879
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: goto yyabortlab
    - item_type: preproc_def
      name: YYERROR
      pos:
        line_end: 881
        line_start: 880
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: goto yyerrorlab
    - item_type: preproc_def
      name: YYTERROR
      pos:
        line_end: 904
        line_start: 903
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYERRCODE
      pos:
        line_end: 905
        line_start: 904
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '256'
    - item_type: preproc_def
      name: YYFPRINTF
      pos:
        line_end: 914
        line_start: 913
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: fprintf
    - item_type: preproc_def
      name: YYINITDEPTH
      pos:
        line_end: 1044
        line_start: 1043
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '200'
    - item_type: preproc_def
      name: YYMAXDEPTH
      pos:
        line_end: 1055
        line_start: 1054
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: '10000'
    - item_type: preproc_def
      name: yystpcpy
      pos:
        line_end: 1079
        line_start: 1078
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: stpcpy
    - item_type: preproc_def
      name: YYSYNTAX_ERROR
      pos:
        line_end: 2515
        line_start: 2513
        source_file: /src/libksba/src/asn1-parse.c
      type_or_value: "yysyntax_error (&yymsg_alloc, &yymsg, \\\n                                        yyssp,
        yytoken)"
    structs:
    - fields:
      - name: '*fp'
        type: FILE
      - name: lineno
        type: int
      - name: debug
        type: int
      - name: result_parse
        type: int
      - name: parse_tree
        type: AsnNode
      - name: all_nodes
        type: AsnNode
      item_type: struct
      name: parser_control_s
      pos:
        line_end: 110
        line_start: 103
        source_file: /src/libksba/src/asn1-parse.c
    - fields:
      - name: '*word'
        type: char
      - name: token
        type: int
      item_type: struct
      name: token_table_s
      pos:
        line_end: 2700
        line_start: 2697
        source_file: /src/libksba/src/asn1-parse.c
    typedefs:
    - item_type: typedef
      name: YYSTYPE
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/libksba/src/asn1-parse.c
      type: YYSTYPE
    - item_type: typedef
      name: yytype_int8
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/libksba/src/asn1-parse.c
      type: __INT_LEAST8_TYPE__
    - item_type: typedef
      name: yytype_int8
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/libksba/src/asn1-parse.c
      type: int_least8_t
    - item_type: typedef
      name: yytype_int8
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/libksba/src/asn1-parse.c
      type: signed char
    - item_type: typedef
      name: yytype_int16
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/libksba/src/asn1-parse.c
      type: __INT_LEAST16_TYPE__
    - item_type: typedef
      name: yytype_int16
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/libksba/src/asn1-parse.c
      type: int_least16_t
    - item_type: typedef
      name: yytype_int16
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/libksba/src/asn1-parse.c
      type: short
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/libksba/src/asn1-parse.c
      type: __UINT_LEAST8_TYPE__
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/libksba/src/asn1-parse.c
      type: uint_least8_t
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/libksba/src/asn1-parse.c
      type: unsigned char
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/libksba/src/asn1-parse.c
      type: short
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/libksba/src/asn1-parse.c
      type: __UINT_LEAST16_TYPE__
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/libksba/src/asn1-parse.c
      type: uint_least16_t
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/libksba/src/asn1-parse.c
      type: unsigned short
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/libksba/src/asn1-parse.c
      type: int
    - item_type: typedef
      name: yy_state_t
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/libksba/src/asn1-parse.c
      type: yytype_uint8
    - item_type: typedef
      name: yy_state_fast_t
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/libksba/src/asn1-parse.c
      type: int
    union:
    - fields:
      - name: constant
        type: unsigned int
      - name: str[MAX_STRING_LENGTH]
        type: char
      - name: node
        type: AsnNode
      item_type: union
      name: YYSTYPE
      pos:
        line_end: 218
        line_start: 208
        source_file: /src/libksba/src/asn1-parse.c
    - fields:
      - name: yyss_alloc
        type: yy_state_t
      - name: yyvs_alloc
        type: YYSTYPE
      item_type: union
      name: yyalloc
      pos:
        line_end: 497
        line_start: 493
        source_file: /src/libksba/src/asn1-parse.c
- function_names: []
  source_file: /src/libksba/src/ksba.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KSBA_H
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libksba/src/ksba.h
      type_or_value: '1'
    - item_type: preproc_def
      name: KSBA_VERSION
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libksba/src/ksba.h
      type_or_value: '"1.8.1"'
    - item_type: preproc_def
      name: KSBA_VERSION_NUMBER
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libksba/src/ksba.h
      type_or_value: '0x010801'
    - item_type: preproc_def
      name: _KSBA_GCC_VERSION
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/libksba/src/ksba.h
      type_or_value: "(__GNUC__ * 10000 \\\n                            + __GNUC_MINOR__
        * 100 \\\n                            + __GNUC_PATCHLEVEL__)"
    - item_type: preproc_def
      name: _KSBA_DEPRECATED
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libksba/src/ksba.h
      type_or_value: __attribute__ ((__deprecated__))
    - item_type: preproc_def
      name: _KSBA_NONSTRING
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libksba/src/ksba.h
      type_or_value: __attribute__((__nonstring__))
    - item_type: preproc_def
      name: KSBA_CLASS_UNIVERSAL
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libksba/src/ksba.h
      type_or_value: '0'
    - item_type: preproc_def
      name: KSBA_CLASS_APPLICATION
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libksba/src/ksba.h
      type_or_value: '1'
    - item_type: preproc_def
      name: KSBA_CLASS_CONTEXT
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libksba/src/ksba.h
      type_or_value: '2'
    - item_type: preproc_def
      name: KSBA_CLASS_PRIVATE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libksba/src/ksba.h
      type_or_value: '3'
    - item_type: preproc_def
      name: KSBA_CLASS_ENCAPSULATE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libksba/src/ksba.h
      type_or_value: '0x80  '
    - item_type: preproc_def
      name: KSBA_TYPE_BOOLEAN
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libksba/src/ksba.h
      type_or_value: '1'
    - item_type: preproc_def
      name: KSBA_TYPE_INTEGER
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/libksba/src/ksba.h
      type_or_value: '2'
    - item_type: preproc_def
      name: KSBA_TYPE_BIT_STRING
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libksba/src/ksba.h
      type_or_value: '3'
    - item_type: preproc_def
      name: KSBA_TYPE_OCTET_STRING
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libksba/src/ksba.h
      type_or_value: '4'
    - item_type: preproc_def
      name: KSBA_TYPE_NULL
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libksba/src/ksba.h
      type_or_value: '5'
    - item_type: preproc_def
      name: KSBA_TYPE_OBJECT_ID
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libksba/src/ksba.h
      type_or_value: '6'
    - item_type: preproc_def
      name: KSBA_TYPE_OBJECT_DESCRIPTOR
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/libksba/src/ksba.h
      type_or_value: '7'
    - item_type: preproc_def
      name: KSBA_TYPE_EXTERNAL
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libksba/src/ksba.h
      type_or_value: '8'
    - item_type: preproc_def
      name: KSBA_TYPE_REAL
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libksba/src/ksba.h
      type_or_value: '9'
    - item_type: preproc_def
      name: KSBA_TYPE_ENUMERATED
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libksba/src/ksba.h
      type_or_value: '10'
    - item_type: preproc_def
      name: KSBA_TYPE_EMBEDDED_PDV
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libksba/src/ksba.h
      type_or_value: '11'
    - item_type: preproc_def
      name: KSBA_TYPE_UTF8_STRING
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libksba/src/ksba.h
      type_or_value: '12'
    - item_type: preproc_def
      name: KSBA_TYPE_RELATIVE_OID
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libksba/src/ksba.h
      type_or_value: '13'
    - item_type: preproc_def
      name: KSBA_TYPE_TIME
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libksba/src/ksba.h
      type_or_value: '14'
    - item_type: preproc_def
      name: KSBA_TYPE_SEQUENCE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libksba/src/ksba.h
      type_or_value: '16'
    - item_type: preproc_def
      name: KSBA_TYPE_SET
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libksba/src/ksba.h
      type_or_value: '17'
    - item_type: preproc_def
      name: KSBA_TYPE_NUMERIC_STRING
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libksba/src/ksba.h
      type_or_value: '18'
    - item_type: preproc_def
      name: KSBA_TYPE_PRINTABLE_STRING
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libksba/src/ksba.h
      type_or_value: '19'
    - item_type: preproc_def
      name: KSBA_TYPE_TELETEX_STRING
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libksba/src/ksba.h
      type_or_value: '20'
    - item_type: preproc_def
      name: KSBA_TYPE_VIDEOTEX_STRING
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/libksba/src/ksba.h
      type_or_value: '21'
    - item_type: preproc_def
      name: KSBA_TYPE_IA5_STRING
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libksba/src/ksba.h
      type_or_value: '22'
    - item_type: preproc_def
      name: KSBA_TYPE_UTC_TIME
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libksba/src/ksba.h
      type_or_value: '23'
    - item_type: preproc_def
      name: KSBA_TYPE_GENERALIZED_TIME
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/libksba/src/ksba.h
      type_or_value: '24'
    - item_type: preproc_def
      name: KSBA_TYPE_GRAPHIC_STRING
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/libksba/src/ksba.h
      type_or_value: '25'
    - item_type: preproc_def
      name: KSBA_TYPE_VISIBLE_STRING
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libksba/src/ksba.h
      type_or_value: '26'
    - item_type: preproc_def
      name: KSBA_TYPE_GENERAL_STRING
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libksba/src/ksba.h
      type_or_value: '27'
    - item_type: preproc_def
      name: KSBA_TYPE_UNIVERSAL_STRING
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/libksba/src/ksba.h
      type_or_value: '28'
    - item_type: preproc_def
      name: KSBA_TYPE_CHARACTER_STRING
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libksba/src/ksba.h
      type_or_value: '29'
    - item_type: preproc_def
      name: KSBA_TYPE_BMP_STRING
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/libksba/src/ksba.h
      type_or_value: '30'
    - item_type: preproc_def
      name: KSBA_TYPE_DATE
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libksba/src/ksba.h
      type_or_value: '31'
    - item_type: preproc_def
      name: KSBA_TYPE_TIME_OF_DAY
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libksba/src/ksba.h
      type_or_value: '32'
    - item_type: preproc_def
      name: KSBA_TYPE_DATE_TIME
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libksba/src/ksba.h
      type_or_value: '33'
    - item_type: preproc_def
      name: KSBA_TYPE_DURATION
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libksba/src/ksba.h
      type_or_value: '34'
    - item_type: preproc_def
      name: KSBA_TYPE_OID_IRI
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libksba/src/ksba.h
      type_or_value: '35'
    - item_type: preproc_def
      name: KSBA_TYPE_RELATIVE_OID_IRI
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/libksba/src/ksba.h
      type_or_value: '36'
    structs: []
    typedefs:
    - item_type: typedef
      name: _KSBA_DEPRECATED
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/libksba/src/ksba.h
      type: gpg_error_t
    - item_type: typedef
      name: KsbaContentType
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/libksba/src/ksba.h
      type: ksba_content_type_t
    - item_type: typedef
      name: KsbaStopReason
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/libksba/src/ksba.h
      type: ksba_stop_reason_t
    - item_type: typedef
      name: KsbaCRLReason
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/libksba/src/ksba.h
      type: ksba_crl_reason_t
    - item_type: typedef
      name: KsbaKeyUsage
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/libksba/src/ksba.h
      type: ksba_key_usage_t
    - item_type: typedef
      name: ksba_isotime_t[16]
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/libksba/src/ksba.h
      type: char
    - item_type: typedef
      name: '*ksba_cert_t'
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/libksba/src/ksba.h
      type: ksba_cert_s
    - item_type: typedef
      name: '*KsbaCert _KSBA_DEPRECATED'
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/libksba/src/ksba.h
      type: ksba_cert_s
    - item_type: typedef
      name: '*ksba_cms_t'
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/libksba/src/ksba.h
      type: ksba_cms_s
    - item_type: typedef
      name: '*KsbaCMS _KSBA_DEPRECATED'
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/libksba/src/ksba.h
      type: ksba_cms_s
    - item_type: typedef
      name: '*ksba_crl_t'
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/libksba/src/ksba.h
      type: ksba_crl_s
    - item_type: typedef
      name: '*KsbaCRL _KSBA_DEPRECATED'
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/libksba/src/ksba.h
      type: ksba_crl_s
    - item_type: typedef
      name: '*ksba_ocsp_t'
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/libksba/src/ksba.h
      type: ksba_ocsp_s
    - item_type: typedef
      name: '*ksba_certreq_t'
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/libksba/src/ksba.h
      type: ksba_certreq_s
    - item_type: typedef
      name: '*KsbaCertreq'
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/libksba/src/ksba.h
      type: ksba_certreq_s
    - item_type: typedef
      name: '*ksba_reader_t'
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/libksba/src/ksba.h
      type: ksba_reader_s
    - item_type: typedef
      name: '*KsbaReader'
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/libksba/src/ksba.h
      type: ksba_reader_s
    - item_type: typedef
      name: '*ksba_writer_t'
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/libksba/src/ksba.h
      type: ksba_writer_s
    - item_type: typedef
      name: '*KsbaWriter'
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/libksba/src/ksba.h
      type: ksba_writer_s
    - item_type: typedef
      name: '*ksba_asn_tree_t'
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/libksba/src/ksba.h
      type: ksba_asn_tree_s
    - item_type: typedef
      name: '*KsbaAsnTree'
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/libksba/src/ksba.h
      type: ksba_asn_tree_s
    - item_type: typedef
      name: '*ksba_name_t'
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/libksba/src/ksba.h
      type: ksba_name_s
    - item_type: typedef
      name: '*KsbaName _KSBA_DEPRECATED'
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/libksba/src/ksba.h
      type: ksba_name_s
    - item_type: typedef
      name: '*ksba_sexp_t'
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/libksba/src/ksba.h
      type: unsigned char
    - item_type: typedef
      name: '*KsbaSexp _KSBA_DEPRECATED'
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/libksba/src/ksba.h
      type: unsigned char
    - item_type: typedef
      name: '*ksba_const_sexp_t'
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/libksba/src/ksba.h
      type: unsigned char
    - item_type: typedef
      name: '*KsbaConstSexp'
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/libksba/src/ksba.h
      type: unsigned char
    - item_type: typedef
      name: '*ksba_der_t'
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/libksba/src/ksba.h
      type: ksba_der_s
    union: []
- function_names:
  - _ksba_asn_lookup_table
  source_file: /src/libksba/src/asn1-tables.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libksba/gl/alloca_.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: alloca
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libksba/gl/alloca_.h
      type_or_value: __builtin_alloca
    - item_type: preproc_def
      name: alloca
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libksba/gl/alloca_.h
      type_or_value: __alloca
    - item_type: preproc_def
      name: alloca
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libksba/gl/alloca_.h
      type_or_value: _alloca
    structs: []
    typedefs: []
    union: []
- function_names:
  - _ksba_dummyobj_for_broken_ar
  source_file: /src/libksba/gl/dummyobj.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - memory_full
  - ADDRESS_FUNCTION
  - ADDRESS_FUNCTION
  - find_stack_direction
  - alloca
  - i00afunc
  - i00afunc
  source_file: /src/libksba/gl/alloca.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: free
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libksba/gl/alloca.c
      type_or_value: EMACS_FREE
    - item_type: preproc_def
      name: STACK_DIRECTION
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libksba/gl/alloca.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: STACK_DIR
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libksba/gl/alloca.c
      type_or_value: "STACK_DIRECTION\t"
    - item_type: preproc_def
      name: STACK_DIR
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libksba/gl/alloca.c
      type_or_value: stack_dir
    - item_type: preproc_def
      name: ALIGN_SIZE
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/libksba/gl/alloca.c
      type_or_value: sizeof(double)
    structs:
    - fields:
      - name: shgrow
        type: long
      - name: shaseg
        type: long
      - name: shhwm
        type: long
      - name: shsize
        type: long
      item_type: struct
      name: stack_control_header
      pos:
        line_end: 237
        line_start: 231
        source_file: /src/libksba/gl/alloca.c
    - fields:
      - name: ss[0200]
        type: long
      - name: sssize
        type: long
      - name: ssbase
        type: long
      - name: sspseg
        type: long
      - name: sstcpt
        type: long
      - name: sscsnm
        type: long
      - name: ssusr1
        type: long
      - name: ssusr2
        type: long
      - name: sstpid
        type: long
      - name: ssgvup
        type: long
      - name: sscray[7]
        type: long
      - name: ssa0
        type: long
      - name: ssa1
        type: long
      - name: ssa2
        type: long
      - name: ssa3
        type: long
      - name: ssa4
        type: long
      - name: ssa5
        type: long
      - name: ssa6
        type: long
      - name: ssa7
        type: long
      - name: sss0
        type: long
      - name: sss1
        type: long
      - name: sss2
        type: long
      - name: sss3
        type: long
      - name: sss4
        type: long
      - name: sss5
        type: long
      - name: sss6
        type: long
      - name: sss7
        type: long
      item_type: struct
      name: stack_segment_linkage
      pos:
        line_end: 279
        line_start: 246
        source_file: /src/libksba/gl/alloca.c
    - fields:
      - name: now
        type: long
      - name: maxc
        type: long
      - name: high_water
        type: long
      - name: overflows
        type: long
      - name: hits
        type: long
      - name: extends
        type: long
      - name: stko_mallocs
        type: long
      - name: underflows
        type: long
      - name: stko_free
        type: long
      - name: stkm_free
        type: long
      - name: segments
        type: long
      - name: maxs
        type: long
      - name: pad_size
        type: long
      - name: current_address
        type: long
      - name: current_size
        type: long
      - name: initial_address
        type: long
      - name: initial_size
        type: long
      item_type: struct
      name: stk_stat
      pos:
        line_end: 307
        line_start: 284
        source_file: /src/libksba/gl/alloca.c
    - fields:
      - name: this_address
        type: long
      - name: this_size
        type: long
      - name: unknown2
        type: long
      - name: unknown3
        type: long
      - name: link
        type: long
      - name: unknown5
        type: long
      - name: unknown6
        type: long
      - name: unknown7
        type: long
      - name: unknown8
        type: long
      - name: unknown9
        type: long
      - name: unknown10
        type: long
      - name: unknown11
        type: long
      - name: unknown12
        type: long
      - name: unknown13
        type: long
      - name: unknown14
        type: long
      item_type: struct
      name: stk_trailer
      pos:
        line_end: 332
        line_start: 313
        source_file: /src/libksba/gl/alloca.c
    typedefs: []
    union:
    - fields:
      - name: align[ALIGN_SIZE]
        type: char
      - name: h
        type: "struct\n    {\n      union hdr *next;\t\t/* For chaining headers.  */\n
          \     char *deep;\t\t/* For stack depth measure.  */\n    }"
      item_type: union
      name: hdr
      pos:
        line_end: 140
        line_start: 132
        source_file: /src/libksba/gl/alloca.c
- function_names: []
  source_file: /src/libksba/gl/alloca.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: alloca
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libksba/gl/alloca.h
      type_or_value: __builtin_alloca
    - item_type: preproc_def
      name: alloca
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libksba/gl/alloca.h
      type_or_value: __alloca
    - item_type: preproc_def
      name: alloca
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libksba/gl/alloca.h
      type_or_value: _alloca
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libassuan/config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_ENABLE_ES_MACROS
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: BUILD_COMMITID
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/libassuan/config.h
      type_or_value: '"92587b7bf5ffbdd34e2139f3563211cd2d04f652"'
    - item_type: preproc_def
      name: BUILD_REVISION
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/libassuan/config.h
      type_or_value: '"92587b7"'
    - item_type: preproc_def
      name: BUILD_TIMESTAMP
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/libassuan/config.h
      type_or_value: '"<none>"'
    - item_type: preproc_def
      name: HAVE_DECL_GETPEEREID
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/libassuan/config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: HAVE_DLFCN_H
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FCNTL_H
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FLOCKFILE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FOPENCOOKIE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FUNLOCKFILE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETADDRINFO
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETRLIMIT
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INET_PTON
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INTTYPES_H
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_ISASCII
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LOCALE_H
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_MEMORY_H
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_MEMRCHR
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_NANOSLEEP
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SETENV
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STAT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDINT_H
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDLIB_H
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STPCPY
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRINGS_H
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRING_H
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_SELECT_H
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_SOCKET_H
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_STAT_H
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_TIME_H
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_TYPES_H
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_UIO_H
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UINTPTR_T
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UNISTD_H
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LT_OBJDIR
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/libassuan/config.h
      type_or_value: '".libs/"'
    - item_type: preproc_def
      name: PACKAGE
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/libassuan/config.h
      type_or_value: '"libassuan"'
    - item_type: preproc_def
      name: PACKAGE_BUGREPORT
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/libassuan/config.h
      type_or_value: '"https://bugs.gnupg.org"'
    - item_type: preproc_def
      name: PACKAGE_NAME
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/libassuan/config.h
      type_or_value: '"libassuan"'
    - item_type: preproc_def
      name: PACKAGE_STRING
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/libassuan/config.h
      type_or_value: '"libassuan 3.0.3"'
    - item_type: preproc_def
      name: PACKAGE_TARNAME
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/libassuan/config.h
      type_or_value: '"libassuan"'
    - item_type: preproc_def
      name: PACKAGE_URL
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/libassuan/config.h
      type_or_value: '""'
    - item_type: preproc_def
      name: PACKAGE_VERSION
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/libassuan/config.h
      type_or_value: '"3.0.3"'
    - item_type: preproc_def
      name: STDC_HEADERS
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_DESCRIPTOR_PASSING
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _ALL_SOURCE
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _GNU_SOURCE
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _POSIX_PTHREAD_SEMANTICS
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _TANDEM_SOURCE
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: __EXTENSIONS__
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VERSION
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/libassuan/config.h
      type_or_value: '"3.0.3"'
    - item_type: preproc_def
      name: __EXTENSIONS__
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/libassuan/config.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - cmd_echo
  - cmd_kill
  - register_commands
  - server_common
  - server_pipe
  - server_socket
  - client
  - main
  source_file: /src/libassuan/tests/fdpassing.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (*handler) (assuan_context_t, char *line)
        type: gpg_error_t
      item_type: struct
      name: "table[] =\n      {\n        { \"ECHO\", cmd_echo },\n        { \"KILL\",
        cmd_kill },\n        { \"INPUT\", NULL },\n        { \"OUTPUT\", NULL },\n
        \       { NULL, NULL }\n      }"
      pos:
        line_end: 111
        line_start: 107
        source_file: /src/libassuan/tests/fdpassing.c
    typedefs: []
    union: []
- function_names:
  - cmd_echo
  - cmd_cat
  - server_register_commands
  - run_server
  - data_cb
  - run_client
  - run_client_testing_kill
  - parse_std_file_handles
  - main
  source_file: /src/libassuan/tests/pipeconnect.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (*handler) (assuan_context_t, char *line)
        type: gpg_error_t
      item_type: struct
      name: "table[] =\n      {\n\t{ \"ECHO\", cmd_echo },\n\t{ \"CAT\", cmd_cat },\n\t{
        \"INPUT\", NULL },\n\t{ \"OUTPUT\", NULL },\n\t{ NULL, NULL }\n      }"
      pos:
        line_end: 128
        line_start: 124
        source_file: /src/libassuan/tests/pipeconnect.c
    typedefs: []
    union: []
- function_names:
  - MY_GCC_A_SENTINEL
  - MY_GCC_A_SENTINEL
  - SOCKET2HANDLE
  - HANDLE2SOCKET
  - _log_enter
  - _log_leave
  - SOCKET2HANDLE
  - HANDLE2SOCKET
  - _log_enter
  - _log_leave
  - SOCKET2HANDLE
  - HANDLE2SOCKET
  - _log_enter
  - _log_leave
  - DIM
  - DIMof
  - xmalloc
  - xcalloc
  - xfree
  - xstrdup
  - log_set_prefix
  - log_get_prefix
  - log_info
  - log_error
  - log_fatal
  - log_printhex
  - prepend_srcdir
  - __stpcpy
  - do_strconcat
  - xstrconcat
  source_file: /src/libassuan/tests/common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __stpcpy
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/libassuan/tests/common.h
      type_or_value: stpcpy
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libassuan/tests/version.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libassuan/tests/socks5.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - digitp
  - xtoi_1
  - xtoi_2
  - init_membuf
  - put_membuf
  - get_membuf
  - free_membuf
  - assuan_inquire
  - _assuan_inquire_release
  - _assuan_inquire_ext_cb
  - assuan_inquire_ext
  source_file: /src/libassuan/src/assuan-inquire.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: len
        type: size_t
      - name: size
        type: size_t
      - name: '*buf'
        type: char
      - name: out_of_core
        type: int
      - name: too_large
        type: int
      - name: maxlen
        type: size_t
      item_type: struct
      name: membuf
      pos:
        line_end: 44
        line_start: 36
        source_file: /src/libassuan/src/assuan-inquire.c
    typedefs: []
    union: []
- function_names:
  - _assuan_malloc
  - _assuan_realloc
  - _assuan_calloc
  - _assuan_free
  - assuan_free
  - _assuan_system_hooks_copy
  - _assuan_usleep
  - _assuan_pipe
  - _assuan_close
  - _assuan_close_inheritable
  - _assuan_read
  - _assuan_write
  - _assuan_recvmsg
  - _assuan_sendmsg
  - _assuan_spawn
  - _assuan_waitpid
  - _assuan_socketpair
  - _assuan_socket
  - _assuan_connect
  source_file: /src/libassuan/src/system.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_SYSIO
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libassuan/src/system.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - gpg_error_t::_assuan_error
  - set_error
  - funopen
  - DIM
  - wipememory2
  - wipememory
  - SOCKET2HANDLE
  - HANDLE2SOCKET
  - SOCKET2HANDLE
  - HANDLE2SOCKET
  - SOCKET2HANDLE
  - HANDLE2SOCKET
  source_file: /src/libassuan/src/assuan-defs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ASSUAN_GCC_A_PURE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libassuan/src/assuan-defs.h
      type_or_value: __attribute__ ((__pure__))
    - item_type: preproc_def
      name: DIRSEP_C
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libassuan/src/assuan-defs.h
      type_or_value: '''/'''
    - item_type: preproc_def
      name: DIRSEP_C
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libassuan/src/assuan-defs.h
      type_or_value: '''\\'''
    - item_type: preproc_def
      name: LINELENGTH
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libassuan/src/assuan-defs.h
      type_or_value: ASSUAN_LINELENGTH
    - item_type: preproc_def
      name: setenv
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/libassuan/src/assuan-defs.h
      type_or_value: _assuan_setenv
    - item_type: preproc_def
      name: unsetenv
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/libassuan/src/assuan-defs.h
      type_or_value: _assuan_unsetenv
    - item_type: preproc_def
      name: clearenv
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/libassuan/src/assuan-defs.h
      type_or_value: _assuan_clearenv
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: handler
        type: assuan_handler_t
      - name: '*helpstr'
        type: char
      item_type: struct
      name: cmdtbl_s
      pos:
        line_end: 63
        line_start: 58
        source_file: /src/libassuan/src/assuan-defs.h
    - fields:
      - name: err_source
        type: gpg_err_source_t
      - name: malloc_hooks
        type: struct assuan_malloc_hooks
      - name: log_cb
        type: assuan_log_cb_t
      - name: '*log_cb_data'
        type: void
      - name: '*user_pointer'
        type: void
      - name: flags
        type: "struct\n  {\n    unsigned int no_waitpid : 1;\n    unsigned int confidential
          : 1;\n    unsigned int no_fixsignals : 1;\n    unsigned int convey_comments
          : 1;\n    unsigned int no_logging : 1;\n    unsigned int force_close : 1;\n
          \   /* From here, we have internal flags, not defined by assuan_flag_t.
          \ */\n    unsigned int is_socket : 1;\n    unsigned int is_server : 1; /*
          Set if this is context belongs to a server */\n    unsigned int in_inquire
          : 1; /* Server: inside assuan_inquire */\n    unsigned int in_process_next
          : 1;\n    unsigned int process_complete : 1;\n    unsigned int in_command
          : 1;\n    unsigned int in_inq_cb : 1; /* Client: inquire callback is active
          */\n    unsigned int confidential_inquiry : 1; /* Client: inquiry is confidential
          */\n  }"
      - name: io_monitor
        type: assuan_io_monitor_t
      - name: '*io_monitor_data'
        type: void
      - name: system
        type: struct assuan_system_hooks
      - name: peercred_valid
        type: int
      - name: peercred
        type: struct _assuan_peercred
      - name: engine
        type: "struct\n  {\n    void (*release) (assuan_context_t ctx);\n\n    /*
          Routine to read from input_fd.  Sets errno on failure.  */\n    ssize_t
          (*readfnc) (assuan_context_t, void *, size_t);\n    /* Routine to write
          to output_fd.  Sets errno on failure.  */\n    ssize_t (*writefnc) (assuan_context_t,
          const void *, size_t);\n    /* Send a file descriptor.  */\n    gpg_error_t
          (*sendfd) (assuan_context_t, assuan_fd_t);\n    /* Receive a file descriptor.
          \ */\n    gpg_error_t (*receivefd) (assuan_context_t, assuan_fd_t *);\n
          \ }"
      - name: '*log_fp'
        type: FILE
      - name: err_no
        type: gpg_error_t
      - name: '*err_str'
        type: char
      - name: "(*inquire_cb) (void *cb_data, gpg_error_t rc,\n\t\t\t     unsigned
          char *buf, size_t len)"
        type: gpg_error_t
      - name: '*inquire_cb_data'
        type: void
      - name: '*inquire_membuf'
        type: void
      - name: '*hello_line'
        type: char
      - name: '*okay_line'
        type: char
      - name: inbound
        type: "struct {\n    assuan_fd_t fd;\n    int eof;\n    char line[LINELENGTH];\n
          \   int linelen;  /* w/o CR, LF - might not be the same as\n                     strlen(line)
          due to embedded nuls. However a nul\n                     is always written
          at this pos. */\n    struct {\n      char line[LINELENGTH];\n      int linelen
          ;\n      int pending; /* i.e. at least one line is available in the attic
          */\n    } attic;\n  }"
      - name: outbound
        type: "struct {\n    assuan_fd_t fd;\n    struct {\n      FILE *fp;\n      char
          line[LINELENGTH];\n      int linelen;\n      int error;\n    } data;\n  }"
      - name: max_accepts
        type: int
      - name: server_proc
        type: assuan_pid_t
      - name: listen_fd
        type: assuan_fd_t
      - name: listen_nonce
        type: assuan_sock_nonce_t
      - name: connected_fd
        type: assuan_fd_t
      - name: myaddr
        type: struct sockaddr_un
      - name: serveraddr
        type: struct sockaddr_un
      - name: uds
        type: "struct {\n    assuan_fd_t pendingfds[5]; /* Array to save received
          descriptors.  */\n    int pendingfdscount;  /* Number of received descriptors.
          */\n  }"
      - name: (*accept_handler)(assuan_context_t)
        type: gpg_error_t
      - name: (*finish_handler)(assuan_context_t)
        type: void
      - name: '*cmdtbl'
        type: struct cmdtbl_s
      - name: cmdtbl_used
        type: size_t
      - name: cmdtbl_size
        type: size_t
      - name: '*current_cmd_name'
        type: char
      - name: bye_notify_fnc
        type: assuan_handler_t
      - name: reset_notify_fnc
        type: assuan_handler_t
      - name: cancel_notify_fnc
        type: assuan_handler_t
      - name: (*option_handler_fnc)(assuan_context_t,const char*, const char*)
        type: gpg_error_t
      - name: input_notify_fnc
        type: assuan_handler_t
      - name: output_notify_fnc
        type: assuan_handler_t
      - name: (*pre_cmd_notify_fnc)(assuan_context_t, const char *cmd)
        type: gpg_error_t
      - name: (*post_cmd_notify_fnc)(assuan_context_t, gpg_error_t)
        type: void
      - name: input_fd
        type: assuan_fd_t
      - name: output_fd
        type: assuan_fd_t
      item_type: struct
      name: assuan_context_s
      pos:
        line_end: 268
        line_start: 68
        source_file: /src/libassuan/src/assuan-defs.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libassuan/src/posix-includes.inc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libassuan/src/posix-sock-nonce.inc.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: length
        type: size_t
      item_type: struct
      name: assuan_sock_nonce_s
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/libassuan/src/posix-sock-nonce.inc.h
    typedefs:
    - item_type: typedef
      name: assuan_sock_nonce_t
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/libassuan/src/posix-sock-nonce.inc.h
      type: assuan_sock_nonce_s
    union: []
- function_names:
  - assuan_fd_t::assuan_fd_from_posix_fd
  source_file: /src/libassuan/src/posix-fd-t.inc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ASSUAN_INVALID_FD
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/libassuan/src/posix-fd-t.inc.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: ASSUAN_INVALID_PID
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/libassuan/src/posix-fd-t.inc.h
      type_or_value: ((pid_t) -1)
    structs: []
    typedefs:
    - item_type: typedef
      name: assuan_fd_t
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/libassuan/src/posix-fd-t.inc.h
      type: int
    union: []
- function_names: []
  source_file: /src/libassuan/src/w32-sock-nonce.inc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AF_LOCAL
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libassuan/src/w32-sock-nonce.inc.h
      type_or_value: AF_UNIX
    - item_type: preproc_def
      name: EADDRINUSE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libassuan/src/w32-sock-nonce.inc.h
      type_or_value: WSAEADDRINUSE
    structs:
    - fields:
      - name: length
        type: size_t
      - name: nonce[16]
        type: char
      item_type: struct
      name: assuan_sock_nonce_s
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/libassuan/src/w32-sock-nonce.inc.h
    - fields:
      - name: sun_family
        type: short
      - name: sun_port
        type: unsigned short
      - name: sun_addr
        type: struct         in_addr
      - name: sun_path[108-2-4]
        type: char
      item_type: struct
      name: sockaddr_un
      pos:
        line_end: 49
        line_start: 43
        source_file: /src/libassuan/src/w32-sock-nonce.inc.h
    typedefs:
    - item_type: typedef
      name: assuan_sock_nonce_t
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/libassuan/src/w32-sock-nonce.inc.h
      type: assuan_sock_nonce_s
    union: []
- function_names:
  - _assuan_debug
  - _assuan_debug_begin
  - _assuan_debug_add
  - _assuan_debug_end
  - TOHEX
  - _assuan_debug_buffer
  source_file: /src/libassuan/src/debug.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _assuan_funopen
  source_file: /src/libassuan/src/funopen.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isascii
  source_file: /src/libassuan/src/isascii.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - memrchr
  source_file: /src/libassuan/src/memrchr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - assuan_fd_t::assuan_fd_from_posix_fd
  source_file: /src/libassuan/src/w32-fd-t.inc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ASSUAN_INVALID_FD
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libassuan/src/w32-fd-t.inc.h
      type_or_value: ((void*)(intptr_t)(-1))
    - item_type: preproc_def
      name: ASSUAN_INVALID_PID
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libassuan/src/w32-fd-t.inc.h
      type_or_value: ((pid_t) -1)
    structs: []
    typedefs:
    - item_type: typedef
      name: '*assuan_fd_t'
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/libassuan/src/w32-fd-t.inc.h
      type: void
    union: []
- function_names:
  - STRINGIFY
  - XSTRINGIFY
  - _assuan_debug_srcname
  - _TRACE
  - TRACE_BEG
  - TRACE_BEG0
  - TRACE_BEG1
  - TRACE_BEG2
  - TRACE_BEG3
  - TRACE_BEG4
  - TRACE_BEG6
  - TRACE_BEG8
  - TRACE
  - TRACE0
  - TRACE1
  - TRACE2
  - TRACE3
  - TRACE4
  - TRACE6
  - TRACE_ERR
  - TRACE_SYSRES
  - TRACE_SYSERR
  - TRACE_SUC
  - TRACE_SUC0
  - TRACE_SUC1
  - TRACE_SUC2
  - TRACE_SUC5
  - TRACE_LOG
  - TRACE_LOG1
  - TRACE_LOG2
  - TRACE_LOG3
  - TRACE_LOG4
  - TRACE_LOG5
  - TRACE_LOG6
  - TRACE_LOGBUF
  - TRACE_SEQ
  - TRACE_ADD0
  - TRACE_ADD1
  - TRACE_ADD2
  - TRACE_ADD3
  - TRACE_END
  - TRACE_ENABLED
  source_file: /src/libassuan/src/debug.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - assuan_set_pointer
  - assuan_get_pointer
  - assuan_set_flag
  - assuan_get_flag
  - assuan_begin_confidential
  - assuan_end_confidential
  - assuan_ctx_set_system_hooks
  - assuan_set_io_monitor
  - assuan_set_error
  - assuan_get_pid
  - assuan_get_peercred
  source_file: /src/libassuan/src/context.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _assuan_bytetohex
  - _assuan_encode_c_string
  source_file: /src/libassuan/src/conversion.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NROFHEXDIGITS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libassuan/src/conversion.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - SUN_LEN
  - parse_portno
  - _assuan_connect_finalize
  - assuan_socket_connect_fd
  - assuan_socket_connect
  source_file: /src/libassuan/src/assuan-socket-connect.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PF_LOCAL
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libassuan/src/assuan-socket-connect.c
      type_or_value: PF_UNIX
    - item_type: preproc_def
      name: PF_LOCAL
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libassuan/src/assuan-socket-connect.c
      type_or_value: AF_UNIX
    - item_type: preproc_def
      name: AF_LOCAL
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libassuan/src/assuan-socket-connect.c
      type_or_value: AF_UNIX
    - item_type: preproc_def
      name: INADDR_NONE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libassuan/src/assuan-socket-connect.c
      type_or_value: ((unsigned long)(-1))
    - item_type: preproc_def
      name: WITH_IPV6
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libassuan/src/assuan-socket-connect.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - _assuan_server_finish
  - _assuan_server_release
  source_file: /src/libassuan/src/server.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - xtoi_1
  - xtoi_2
  - _assuan_client_finish
  - _assuan_client_release
  - assuan_client_read_response
  - assuan_client_parse_response
  - _assuan_read_from_server
  - assuan_transact
  source_file: /src/libassuan/src/client.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fix_signals
  - initial_handshake
  - at_pipe_fork_cb
  - pipe_connect
  - at_socketpair_fork_cb
  - socketpair_connect
  - assuan_pipe_connect
  - assuan_pipe_wait_server_termination
  - assuan_pipe_kill_server
  source_file: /src/libassuan/src/assuan-pipe-connect.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PF_LOCAL
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libassuan/src/assuan-pipe-connect.c
      type_or_value: PF_UNIX
    - item_type: preproc_def
      name: PF_LOCAL
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libassuan/src/assuan-pipe-connect.c
      type_or_value: AF_UNIX
    - item_type: preproc_def
      name: AF_LOCAL
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libassuan/src/assuan-pipe-connect.c
      type_or_value: AF_UNIX
    structs:
    - fields:
      - name: (*user_atfork) (void *opaque, int reserved)
        type: void
      - name: '*user_atforkvalue'
        type: void
      - name: parent_pid
        type: pid_t
      item_type: struct
      name: at_pipe_fork
      pos:
        line_end: 144
        line_start: 139
        source_file: /src/libassuan/src/assuan-pipe-connect.c
    - fields:
      - name: peer_fd
        type: assuan_fd_t
      - name: (*user_atfork) (void *opaque, int reserved)
        type: void
      - name: '*user_atforkvalue'
        type: void
      - name: parent_pid
        type: pid_t
      item_type: struct
      name: at_socketpair_fork
      pos:
        line_end: 264
        line_start: 258
        source_file: /src/libassuan/src/assuan-pipe-connect.c
    typedefs: []
    union: []
- function_names:
  - include_file
  - write_special
  - main
  source_file: /src/libassuan/src/mkheader.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/libassuan/src/mkheader.c
      type_or_value: '"mkheader"'
    - item_type: preproc_def
      name: LINESIZE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/libassuan/src/mkheader.c
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libassuan/src/w32-types.inc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*assuan_msghdr_t'
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/libassuan/src/w32-types.inc.h
      type: void
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/libassuan/src/w32-types.inc.h
      type: long long
    - item_type: typedef
      name: pid_t
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/libassuan/src/w32-types.inc.h
      type: long long
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/libassuan/src/w32-types.inc.h
      type: long
    - item_type: typedef
      name: pid_t
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/libassuan/src/w32-types.inc.h
      type: int
    - item_type: typedef
      name: assuan_pid_t
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/libassuan/src/w32-types.inc.h
      type: unsigned long long
    - item_type: typedef
      name: assuan_pid_t
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/libassuan/src/w32-types.inc.h
      type: unsigned long
    union: []
- function_names:
  - spacep
  - digitp
  - PROCESS_DONE
  - dummy_handler
  - std_handler_nop
  - std_handler_cancel
  - std_handler_option
  - std_handler_bye
  - std_handler_auth
  - std_handler_reset
  - std_handler_help
  - std_handler_end
  - assuan_command_parse_fd
  - std_handler_input
  - std_handler_output
  - w32_handler_sendfd
  - assuan_register_command
  - assuan_get_command_name
  - assuan_register_pre_cmd_notify
  - assuan_register_post_cmd_notify
  - assuan_register_bye_notify
  - assuan_register_reset_notify
  - assuan_register_cancel_notify
  - assuan_register_option_handler
  - assuan_register_input_notify
  - assuan_register_output_notify
  - _assuan_register_std_commands
  - handle_data_line
  - my_strcasecmp
  - dispatch_command
  - assuan_process_done
  - process_next
  - assuan_process_next
  - process_request
  - assuan_process
  - assuan_get_active_fds
  - fun1_cookie_write
  - fun2_cookie_write
  - assuan_get_data_fp
  - assuan_set_okay_line
  - assuan_write_status
  source_file: /src/libassuan/src/assuan-handler.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (*handler)(assuan_context_t, char *line)
        type: gpg_error_t
      - name: '*help'
        type: char
      - name: always
        type: int
      item_type: struct
      name: "std_cmd_table[] = {\n  { \"NOP\",    std_handler_nop, std_help_nop, 1
        },\n  { \"CANCEL\", std_handler_cancel, std_help_cancel, 1 },\n  { \"OPTION\",
        std_handler_option, std_help_option, 1 },\n  { \"BYE\",    std_handler_bye,
        std_help_bye, 1 },\n  { \"AUTH\",   std_handler_auth, std_help_auth, 1 },\n
        \ { \"RESET\",  std_handler_reset, std_help_reset, 1 },\n  { \"END\",    std_handler_end,
        std_help_end, 1 },\n  { \"HELP\",   std_handler_help, std_help_help, 1 },\n\n
        \ { \"INPUT\",  std_handler_input, std_help_input, 0 },\n  { \"OUTPUT\", std_handler_output,
        std_help_output, 0 },\n#if HAVE_W32_SYSTEM\n  { \"SENDFD\",  w32_handler_sendfd,
        w32_help_sendfd, 1 },\n#endif\n  { } }"
      pos:
        line_end: 405
        line_start: 400
        source_file: /src/libassuan/src/assuan-handler.c
    typedefs: []
    union: []
- function_names:
  - accept_connection_bottom
  - accept_connection
  - assuan_init_socket_server
  - assuan_set_sock_nonce
  source_file: /src/libassuan/src/assuan-socket-server.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - writen
  - readline
  - _assuan_read_line
  - assuan_read_line
  - assuan_pending_line
  - _assuan_write_line
  - assuan_write_line
  - _assuan_cookie_write_data
  - _assuan_cookie_write_flush
  - assuan_send_data
  - assuan_sendfd
  - assuan_receivefd
  source_file: /src/libassuan/src/assuan-buffer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _assuan_sysutils_blurb
  source_file: /src/libassuan/src/sysutils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_LOG_CAT
  - _assuan_init_log_envvars
  - assuan_set_assuan_log_stream
  - assuan_set_log_stream
  - assuan_set_assuan_log_prefix
  - assuan_get_assuan_log_prefix
  - _assuan_log_handler
  - _assuan_log_control_channel
  - TOHEX
  source_file: /src/libassuan/src/assuan-logging.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CHANNEL_FMT
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/libassuan/src/assuan-logging.c
      type_or_value: '"%p"'
    - item_type: preproc_def
      name: CHANNEL_FMT
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/libassuan/src/assuan-logging.c
      type_or_value: '"%d"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - __builtin_expect
  - __set_errno
  - KNOWN_VALUE
  - STORE_VALUE
  - KNOWN_VALUE
  - STORE_VALUE
  - __add_to_environ
  - setenv
  - unsetenv
  - clearenv
  - libc_freeres_fn
  source_file: /src/libassuan/src/setenv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: setenv
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/libassuan/src/setenv.c
      type_or_value: _assuan_setenv
    - item_type: preproc_def
      name: unsetenv
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/libassuan/src/setenv.c
      type_or_value: _assuan_unsetenv
    - item_type: preproc_def
      name: clearenv
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/libassuan/src/setenv.c
      type_or_value: _assuan_clearenv
    - item_type: preproc_def
      name: __environ
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libassuan/src/setenv.c
      type_or_value: environ
    - item_type: preproc_def
      name: LOCK
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libassuan/src/setenv.c
      type_or_value: __libc_lock_lock (envlock)
    - item_type: preproc_def
      name: UNLOCK
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libassuan/src/setenv.c
      type_or_value: __libc_lock_unlock (envlock)
    - item_type: preproc_def
      name: setenv
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libassuan/src/setenv.c
      type_or_value: __setenv
    - item_type: preproc_def
      name: unsetenv
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libassuan/src/setenv.c
      type_or_value: __unsetenv
    - item_type: preproc_def
      name: clearenv
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libassuan/src/setenv.c
      type_or_value: __clearenv
    - item_type: preproc_def
      name: tfind
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/libassuan/src/setenv.c
      type_or_value: __tfind
    - item_type: preproc_def
      name: tsearch
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libassuan/src/setenv.c
      type_or_value: __tsearch
    - item_type: preproc_def
      name: USE_TSEARCH
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libassuan/src/setenv.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - SUN_LEN
  - is_cygwin_fd
  - insert_cygwin_fd
  - delete_cygwin_fd
  - _assuan_utf8_to_wchar
  - MyCreateFile
  - MyDeleteFile
  - _assuan_sock_wsa2errno
  - get_nonce
  - read_port_and_nonce
  - eval_redirection
  - _assuan_sock_new
  - _assuan_sock_set_flag
  - _assuan_sock_get_flag
  - do_readn
  - do_writen
  - socks5_connect
  - use_socks
  - _assuan_sock_accept
  - _assuan_sock_connect
  - _assuan_sock_connect_byname
  - _assuan_sock_bind
  - _assuan_sock_set_sockaddr_un
  - _assuan_sock_get_nonce
  - _assuan_sock_check_nonce
  - assuan_sock_init
  - assuan_sock_deinit
  - assuan_sock_close
  - assuan_sock_new
  - assuan_sock_set_flag
  - assuan_sock_get_flag
  - assuan_sock_accept
  - assuan_sock_connect
  - assuan_sock_connect_byname
  - assuan_sock_bind
  - assuan_sock_set_sockaddr_un
  - assuan_sock_get_nonce
  - assuan_sock_check_nonce
  - assuan_sock_set_system_hooks
  source_file: /src/libassuan/src/assuan-socket.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PF_LOCAL
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: PF_UNIX
    - item_type: preproc_def
      name: PF_LOCAL
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: AF_UNIX
    - item_type: preproc_def
      name: AF_LOCAL
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: AF_UNIX
    - item_type: preproc_def
      name: S_IRUSR
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IWUSR
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IRGRP
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IWGRP
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ENOTSUP
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: '129'
    - item_type: preproc_def
      name: EPROTO
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: '134'
    - item_type: preproc_def
      name: EPROTONOSUPPORT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: '135'
    - item_type: preproc_def
      name: ENETDOWN
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: '116'
    - item_type: preproc_def
      name: ENETUNREACH
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: '118'
    - item_type: preproc_def
      name: EHOSTUNREACH
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: '110'
    - item_type: preproc_def
      name: ECONNREFUSED
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: '107'
    - item_type: preproc_def
      name: ETIMEDOUT
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: '138'
    - item_type: preproc_def
      name: ENAMETOOLONG
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: EINVAL
    - item_type: preproc_def
      name: INADDR_LOOPBACK
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: '((in_addr_t) 0x7f000001) '
    - item_type: preproc_def
      name: SOCKS_PORT
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: '1080'
    - item_type: preproc_def
      name: TOR_PORT
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: '9050'
    - item_type: preproc_def
      name: TOR_PORT2
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: '9150   '
    - item_type: preproc_def
      name: TIMEOUT_NOT_WAITING_SOCKS5_FOREVER
      pos:
        line_end: 757
        line_start: 756
        source_file: /src/libassuan/src/assuan-socket.c
      type_or_value: '1 '
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '*addr'
        type: struct sockaddr
      - name: '*addr_in'
        type: struct sockaddr_in
      - name: '*addr_in6'
        type: struct sockaddr_in6
      item_type: union
      name: addru
      pos:
        line_end: 776
        line_start: 772
        source_file: /src/libassuan/src/assuan-socket.c
    - fields:
      - name: '*addr'
        type: struct sockaddr
      - name: '*addr_in'
        type: struct sockaddr_in
      - name: '*addr_in6'
        type: struct sockaddr_in6
      item_type: union
      name: addru
      pos:
        line_end: 1051
        line_start: 1047
        source_file: /src/libassuan/src/assuan-socket.c
    - fields:
      - name: data[16]
        type: char
      - name: aint[4]
        type: int
      item_type: union
      name: nonce
      pos:
        line_end: 1294
        line_start: 1291
        source_file: /src/libassuan/src/assuan-socket.c
- function_names: []
  source_file: /src/libassuan/src/w32-includes.inc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - assuan_fdopen
  - __assuan_usleep
  - _assuan_w32ce_prepare_pipe
  - _assuan_w32ce_finish_pipe
  - _assuan_w32ce_create_pipe
  - __assuan_pipe
  - __assuan_close
  - get_file_handle
  - w32_fdpass_send
  - w32_fdpass_recv
  - __assuan_read
  - __assuan_write
  - __assuan_recvmsg
  - __assuan_sendmsg
  - build_w32_commandline
  - __assuan_spawn
  - __assuan_waitpid
  - __assuan_socketpair
  - __assuan_socket
  - __assuan_connect
  source_file: /src/libassuan/src/system-w32.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _assuan_error_is_eagain
  - _assuan_w32_strerror
  source_file: /src/libassuan/src/assuan-error.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _assuan_simple_read
  - _assuan_simple_write
  source_file: /src/libassuan/src/assuan-io.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - __stpcpy
  source_file: /src/libassuan/src/stpcpy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __stpcpy
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libassuan/src/stpcpy.c
      type_or_value: stpcpy
    structs: []
    typedefs: []
    union: []
- function_names:
  - assuan_set_hello_line
  - assuan_accept
  - assuan_get_input_fd
  - assuan_get_output_fd
  - assuan_close_input_fd
  - assuan_close_output_fd
  source_file: /src/libassuan/src/assuan-listen.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - digitp
  - assuan_set_gpg_err_source
  - assuan_get_gpg_err_source
  - assuan_set_malloc_hooks
  - assuan_get_malloc_hooks
  - assuan_set_log_cb
  - assuan_get_log_cb
  - assuan_set_system_hooks
  - assuan_control
  - _assuan_pre_syscall
  - _assuan_post_syscall
  - assuan_new_ext
  - assuan_new
  - _assuan_reset
  - assuan_release
  - parse_version_number
  - parse_version_string
  - compare_versions
  - assuan_check_version
  source_file: /src/libassuan/src/assuan.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_valid_socket
  - assuan_init_pipe_server
  source_file: /src/libassuan/src/assuan-pipe-server.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libassuan/src/posix-types.inc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*assuan_msghdr_t'
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/libassuan/src/posix-types.inc.h
      type: msghdr
    - item_type: typedef
      name: assuan_pid_t
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/libassuan/src/posix-types.inc.h
      type: pid_t
    union: []
- function_names:
  - assuan_fdopen
  - __assuan_usleep
  - __assuan_pipe
  - __assuan_close
  - __assuan_read
  - __assuan_write
  - __assuan_recvmsg
  - __assuan_sendmsg
  - writen
  - get_max_fds
  - __assuan_spawn
  - __assuan_waitpid
  - __assuan_socketpair
  - __assuan_socket
  - __assuan_connect
  source_file: /src/libassuan/src/system-posix.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MY_ALIGN
  - CMSG_SPACE
  - CMSG_LEN
  - CMSG_FIRSTHDR
  - CMSG_DATA
  - uds_reader
  - uds_writer
  - uds_sendfd
  - uds_receivefd
  - _assuan_uds_close_fds
  - _assuan_uds_deinit
  - _assuan_init_uds_io
  source_file: /src/libassuan/src/assuan-uds.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: cm
        type: struct cmsghdr
      - name: control[CMSG_SPACE(sizeof (int))]
        type: char
      item_type: union
      name: control_u
      pos:
        line_end: 95
        line_start: 92
        source_file: /src/libassuan/src/assuan-uds.c
    - fields:
      - name: cm
        type: struct cmsghdr
      - name: control[CMSG_SPACE(sizeof (int))]
        type: char
      item_type: union
      name: control_u
      pos:
        line_end: 197
        line_start: 194
        source_file: /src/libassuan/src/assuan-uds.c
- function_names:
  - assuan_fd_t::assuan_fd_from_posix_fd
  source_file: /src/libassuan/src/assuan.h
  types:
    enum:
    - enumerators:
      - name: ASSUAN_CONTROL_NOP
        value: '0'
      - name: ASSUAN_CONTROL_REINIT_SYSCALL_CLAMP
        value: '1'
      item_type: enum
      name: assuan_ctl_cmds
      pos:
        line_end: 180
        line_start: 176
        source_file: /src/libassuan/src/assuan.h
    preproc_defs:
    - item_type: preproc_def
      name: ASSUAN_VERSION
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '"3.0.3"'
    - item_type: preproc_def
      name: ASSUAN_VERSION_NUMBER
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '0x030003'
    - item_type: preproc_def
      name: _ASSUAN_GCC_VERSION
      pos:
        line_end: 70
        line_start: 67
        source_file: /src/libassuan/src/assuan.h
      type_or_value: "(__GNUC__ * 10000 \\\n                            + __GNUC_MINOR__
        * 100 \\\n                            + __GNUC_PATCHLEVEL__)"
    - item_type: preproc_def
      name: _ASSUAN_DEPRECATED
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libassuan/src/assuan.h
      type_or_value: __attribute__ ((__deprecated__))
    - item_type: preproc_def
      name: ASSUAN_LINELENGTH
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '1002 '
    - item_type: preproc_def
      name: ASSUAN_INVALID_FD
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libassuan/src/assuan.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: ASSUAN_INVALID_PID
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libassuan/src/assuan.h
      type_or_value: ((pid_t) -1)
    - item_type: preproc_def
      name: ASSUAN_LOG_INIT
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ASSUAN_LOG_CTX
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ASSUAN_LOG_ENGINE
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '3'
    - item_type: preproc_def
      name: ASSUAN_LOG_DATA
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '4'
    - item_type: preproc_def
      name: ASSUAN_LOG_SYSIO
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '5'
    - item_type: preproc_def
      name: ASSUAN_LOG_CONTROL
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '8'
    - item_type: preproc_def
      name: ASSUAN_NO_WAITPID
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ASSUAN_CONFIDENTIAL
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ASSUAN_NO_FIXSIGNALS
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '3'
    - item_type: preproc_def
      name: ASSUAN_CONVEY_COMMENTS
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '4'
    - item_type: preproc_def
      name: ASSUAN_NO_LOGGING
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '5'
    - item_type: preproc_def
      name: ASSUAN_FORCE_CLOSE
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '6'
    - item_type: preproc_def
      name: ASSUAN_IO_FROM_PEER
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ASSUAN_IO_TO_PEER
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ASSUAN_IO_MONITOR_NOLOG
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ASSUAN_IO_MONITOR_IGNORE
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ASSUAN_SYSTEM_HOOKS_VERSION
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ASSUAN_SPAWN_DETACHED
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '128'
    - item_type: preproc_def
      name: ASSUAN_SOCKET_SERVER_FDPASSING
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ASSUAN_SOCKET_SERVER_ACCEPTED
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ASSUAN_PIPE_CONNECT_FDPASSING
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ASSUAN_PIPE_CONNECT_DETACHED
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '128'
    - item_type: preproc_def
      name: ASSUAN_SOCKET_CONNECT_FDPASSING
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ASSUAN_RESPONSE_ERROR
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ASSUAN_RESPONSE_OK
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ASSUAN_RESPONSE_DATA
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ASSUAN_RESPONSE_INQUIRE
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '3'
    - item_type: preproc_def
      name: ASSUAN_RESPONSE_STATUS
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '4'
    - item_type: preproc_def
      name: ASSUAN_RESPONSE_END
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '5'
    - item_type: preproc_def
      name: ASSUAN_RESPONSE_COMMENT
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '6'
    - item_type: preproc_def
      name: ASSUAN_SOCK_SOCKS
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ASSUAN_SOCK_TOR
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ASSUAN_NO_NPTH_SYSTEM_HOOKS_ANY_MORE
      pos:
        line_end: 589
        line_start: 588
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ASSUAN_SYSTEM_NPTH_IMPL
      pos:
        line_end: 641
        line_start: 594
        source_file: /src/libassuan/src/assuan.h
      type_or_value: "static void _assuan_npth_usleep (assuan_context_t ctx, unsigned
        int usec) \\\n  { npth_unprotect();\t\t\t\t                        \\\n    __assuan_usleep
        (ctx, usec);\t\t\t\t\t\\\n    npth_protect(); }\t\t\t\t\t\t\t\\\n  static
        ssize_t _assuan_npth_read (assuan_context_t ctx, assuan_fd_t fd, \\\n\t\t\t\t
        \   void *buffer, size_t size)\t\t\\\n  { ssize_t res; (void) ctx; npth_unprotect();\t\t\t\t\\\n
        \   res = __assuan_read (ctx, fd, buffer, size);\t\t\t\\\n    npth_protect();
        return res; }\t\t\t\t\t\\\n  static ssize_t _assuan_npth_write (assuan_context_t
        ctx, assuan_fd_t fd, \\\n\t\t\t\t     const void *buffer, size_t size)\t\\\n
        \ { ssize_t res; (void) ctx; npth_unprotect();\t\t\t\t\\\n    res = __assuan_write
        (ctx, fd, buffer, size);\t\t\t\\\n    npth_protect(); return res; }\t\t\t\t\t\\\n
        \ static int _assuan_npth_recvmsg (assuan_context_t ctx, assuan_fd_t fd, \\\n\t\t\t\t
        \ assuan_msghdr_t msg, int flags)\t\\\n  { int res; (void) ctx; npth_unprotect();\t\t\t\t\\\n
        \   res = __assuan_recvmsg (ctx, fd, msg, flags);\t\t\t\\\n    npth_protect();
        return res; }\t\t\t\t\t\\\n  static int _assuan_npth_sendmsg (assuan_context_t
        ctx, assuan_fd_t fd, \\\n\t\t\t\t  const assuan_msghdr_t msg, int flags) \\\n
        \ { int res; (void) ctx; npth_unprotect();\t\t\t\t\\\n    res = __assuan_sendmsg
        (ctx, fd, msg, flags);\t\t\t\\\n    npth_protect(); return res; }\t\t\t\t\t\\\n
        \ static assuan_pid_t _assuan_npth_waitpid (assuan_context_t ctx,         \\\n
        \                                           assuan_pid_t pid, int nowait,
        \\\n                                            int *status, int options)
        \    \\\n  { assuan_pid_t res; (void) ctx; npth_unprotect();\t\t\t\\\n    res
        = __assuan_waitpid (ctx, pid, nowait, status, options);\t\t\\\n    npth_protect();
        return res; }\t\t\t\t\t\\\n  static int _assuan_npth_connect (assuan_context_t
        ctx, assuan_fd_t sock, \\\n\t\t\t\t   struct sockaddr *addr, socklen_t len)\\\n
        \ { int res; npth_unprotect();\t\t\t\t\t\t\\\n    res = __assuan_connect (ctx,
        sock, addr, len);\t\t\t\\\n    npth_protect(); return res; }\t\t\t\t\t\\\n
        \ static int _assuan_npth_close (assuan_context_t ctx, assuan_fd_t fd)\t\\\n
        \ { int res; npth_unprotect();\t\t\t\t\t\t\\\n    res = __assuan_close (ctx,
        fd);\t\t\t\t\t\\\n    npth_protect(); return res; }\t\t\t\t\t\\\n\t\t\t\t\t\t\t\t\t\\\n
        \ struct assuan_system_hooks _assuan_system_npth =\t\t\t\\\n    { ASSUAN_SYSTEM_HOOKS_VERSION,
        _assuan_npth_usleep, __assuan_pipe,\t\\\n      _assuan_npth_close, _assuan_npth_read,
        _assuan_npth_write,\t\\\n      _assuan_npth_recvmsg, _assuan_npth_sendmsg,\t\t\t\\\n
        \     __assuan_spawn, _assuan_npth_waitpid, __assuan_socketpair,\t\\\n      __assuan_socket,
        _assuan_npth_connect }"
    - item_type: preproc_def
      name: ASSUAN_SYSTEM_NPTH
      pos:
        line_end: 644
        line_start: 643
        source_file: /src/libassuan/src/assuan.h
      type_or_value: '&_assuan_system_npth'
    - item_type: preproc_def
      name: ASSUAN_SYSTEM_NPTH
      pos:
        line_end: 647
        line_start: 646
        source_file: /src/libassuan/src/assuan.h
      type_or_value: 'NULL'
    structs:
    - fields:
      - name: length
        type: size_t
      item_type: struct
      name: assuan_sock_nonce_s
      pos:
        line_end: 105
        line_start: 102
        source_file: /src/libassuan/src/assuan.h
    - fields:
      - name: '*(*malloc) (size_t cnt)'
        type: void
      - name: '*(*realloc) (void *ptr, size_t cnt)'
        type: void
      - name: (*free) (void *ptr)
        type: void
      item_type: struct
      name: assuan_malloc_hooks
      pos:
        line_end: 118
        line_start: 113
        source_file: /src/libassuan/src/assuan.h
    - fields:
      - name: version
        type: int
      - name: (*usleep) (assuan_context_t ctx, unsigned int usec)
        type: void
      - name: (*pipe) (assuan_context_t ctx, assuan_fd_t fd[2], int inherit_idx)
        type: int
      - name: (*close) (assuan_context_t ctx, assuan_fd_t fd)
        type: int
      - name: "(*read) (assuan_context_t ctx, assuan_fd_t fd, void *buffer,\n\t\t
          \  size_t size)"
        type: ssize_t
      - name: "(*write) (assuan_context_t ctx, assuan_fd_t fd,\n\t\t    const void
          *buffer, size_t size)"
        type: ssize_t
      - name: "(*recvmsg) (assuan_context_t ctx, assuan_fd_t fd, assuan_msghdr_t msg,\n\t\t
          \ int flags)"
        type: int
      - name: "(*sendmsg) (assuan_context_t ctx, assuan_fd_t fd,\n\t\t  const assuan_msghdr_t
          msg, int flags)"
        type: int
      - name: "(*spawn) (assuan_context_t ctx, assuan_pid_t *r_pid, const char *name,\n\t\tconst
          char **argv,\n\t\tassuan_fd_t fd_in, assuan_fd_t fd_out,\n\t\tassuan_fd_t
          *fd_child_list,\n\t\tvoid (*atfork) (void *opaque, int reserved),\n\t\tvoid
          *atforkvalue, unsigned int flags)"
        type: int
      - name: "(*waitpid) (assuan_context_t ctx, assuan_pid_t pid,\n                           int
          action, int *status, int options)"
        type: assuan_pid_t
      - name: "(*socketpair) (assuan_context_t ctx, int _namespace, int style,\n\t\t
          \    int protocol, assuan_fd_t filedes[2])"
        type: int
      - name: "(*socket) (assuan_context_t ctx, int _namespace,\n                         int
          style, int protocol)"
        type: assuan_fd_t
      - name: "(*connect) (assuan_context_t ctx, assuan_fd_t sock,\n                  struct
          sockaddr *addr, socklen_t length)"
        type: int
      item_type: struct
      name: assuan_system_hooks
      pos:
        line_end: 302
        line_start: 257
        source_file: /src/libassuan/src/assuan.h
    - fields: []
      item_type: struct
      name: _assuan_peercred
      pos:
        line_end: 435
        line_start: 425
        source_file: /src/libassuan/src/assuan.h
    typedefs:
    - item_type: typedef
      name: '*assuan_msghdr_t'
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/libassuan/src/assuan.h
      type: msghdr
    - item_type: typedef
      name: assuan_pid_t
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/libassuan/src/assuan.h
      type: pid_t
    - item_type: typedef
      name: '*assuan_context_t'
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/libassuan/src/assuan.h
      type: assuan_context_s
    - item_type: typedef
      name: assuan_fd_t
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/libassuan/src/assuan.h
      type: int
    - item_type: typedef
      name: assuan_sock_nonce_t
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/libassuan/src/assuan.h
      type: assuan_sock_nonce_s
    - item_type: typedef
      name: '*assuan_malloc_hooks_t'
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/libassuan/src/assuan.h
      type: assuan_malloc_hooks
    - item_type: typedef
      name: "(*assuan_log_cb_t) (assuan_context_t ctx, void *hook,\n\t\t\t\tunsigned
        int cat, const char *msg)"
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/libassuan/src/assuan.h
      type: int
    - item_type: typedef
      name: assuan_flag_t
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/libassuan/src/assuan.h
      type: unsigned int
    - item_type: typedef
      name: "(*assuan_io_monitor_t) (assuan_context_t ctx, void *hook,\n\t\t\t\t\t
        \    int inout, const char *line,\n\t\t\t\t\t     size_t linelen)"
      pos:
        line_end: 248
        line_start: 246
        source_file: /src/libassuan/src/assuan.h
      type: unsigned int
    - item_type: typedef
      name: '*assuan_system_hooks_t'
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/libassuan/src/assuan.h
      type: assuan_system_hooks
    - item_type: typedef
      name: (*assuan_handler_t) (assuan_context_t, char *)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/libassuan/src/assuan.h
      type: gpg_error_t
    - item_type: typedef
      name: '*assuan_peercred_t'
      pos:
        line_end: 436
        line_start: 436
        source_file: /src/libassuan/src/assuan.h
      type: _assuan_peercred
    - item_type: typedef
      name: assuan_response_t
      pos:
        line_end: 455
        line_start: 455
        source_file: /src/libassuan/src/assuan.h
      type: int
    union: []
- function_names: []
  source_file: /src/libgcrypt/config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ASM_DISABLED
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: BUILD_COMMITID
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/libgcrypt/config.h
      type_or_value: '"0de5c33470d249f511a412d76d15b3a525105371"'
    - item_type: preproc_def
      name: BUILD_REVISION
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/libgcrypt/config.h
      type_or_value: '"0de5c33"'
    - item_type: preproc_def
      name: BUILD_TIMESTAMP
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/libgcrypt/config.h
      type_or_value: '"<none>"'
    - item_type: preproc_def
      name: EGD_SOCKET_NAME
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libgcrypt/config.h
      type_or_value: '""'
    - item_type: preproc_def
      name: ENABLE_JENT_SUPPORT
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FIPS_MODULE_VERSION
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libgcrypt/config.h
      type_or_value: '""'
    - item_type: preproc_def
      name: GCRY_USE_VISIBILITY
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPG_ERR_SOURCE_DEFAULT
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libgcrypt/config.h
      type_or_value: GPG_ERR_SOURCE_GCRYPT
    - item_type: preproc_def
      name: HAVE_ATEXIT
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_BUILTIN_BSWAP32
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_BUILTIN_BSWAP64
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_BUILTIN_CLZ
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_BUILTIN_CLZL
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_BUILTIN_CTZ
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_BUILTIN_CTZL
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_CLOCK_GETTIME
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DEV_RANDOM
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DLFCN_H
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_EXPLICIT_BZERO
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FCNTL
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FLOCKFILE
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FTRUNCATE
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GCC_ASM_CFI_DIRECTIVES
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GCC_ASM_ELF_DIRECTIVES
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GCC_ASM_VOLATILE_MEMORY
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GCC_ATTRIBUTE_ALIGNED
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GCC_ATTRIBUTE_MAY_ALIAS
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GCC_ATTRIBUTE_MS_ABI
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GCC_ATTRIBUTE_PACKED
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GCC_ATTRIBUTE_SYSV_ABI
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GCC_DEFAULT_ABI_IS_SYSV_ABI
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GCC_STORAGE_CLASS__THREAD
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETAUXVAL
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETENTROPY
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETPAGESIZE
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETRUSAGE
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETTIMEOFDAY
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INTTYPES_H
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_MEMMOVE
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_MEMORY_H
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_MLOCK
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_MMAP
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTHREAD
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/libgcrypt/config.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: HAVE_RAISE
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_RAND
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDINT_H
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDLIB_H
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STPCPY
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRCASECMP
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRERROR
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRINGS_H
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRING_H
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRTOUL
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYNC_SYNCHRONIZE
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYSCALL
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYSCONF
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYSLOG
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_AUXV_H
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_RANDOM_H
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_STAT_H
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_SYSCTL_H
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_TYPES_H
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UINTPTR_T
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UNISTD_H
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_USHORT
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_VLA
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_VPRINTF
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_WAIT4
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_WAITPID
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LIBGCRYPT_CIPHERS
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/libgcrypt/config.h
      type_or_value: '"arcfour:blowfish:cast5:des:aes:twofish:serpent:rfc2268:seed:camellia:idea:salsa20:gost28147:chacha20:sm4:aria"'
    - item_type: preproc_def
      name: LIBGCRYPT_DIGESTS
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/libgcrypt/config.h
      type_or_value: '"crc:gostr3411-94::md4:md5:rmd160:sha1:sha256:sha512:sha3:tiger:whirlpool:stribog:blake2:sm3"'
    - item_type: preproc_def
      name: LIBGCRYPT_KDFS
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/libgcrypt/config.h
      type_or_value: '"s2k:pkdf2:scrypt"'
    - item_type: preproc_def
      name: LIBGCRYPT_PUBKEY_CIPHERS
      pos:
        line_end: 542
        line_start: 541
        source_file: /src/libgcrypt/config.h
      type_or_value: '"dsa:elgamal:rsa:ecc:kyber:dilithium"'
    - item_type: preproc_def
      name: LT_OBJDIR
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/libgcrypt/config.h
      type_or_value: '".libs/"'
    - item_type: preproc_def
      name: NAME_OF_DEV_RANDOM
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/libgcrypt/config.h
      type_or_value: '"/dev/random"'
    - item_type: preproc_def
      name: NAME_OF_DEV_URANDOM
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/libgcrypt/config.h
      type_or_value: '"/dev/urandom"'
    - item_type: preproc_def
      name: PACKAGE
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/libgcrypt/config.h
      type_or_value: '"libgcrypt"'
    - item_type: preproc_def
      name: PACKAGE_BUGREPORT
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/libgcrypt/config.h
      type_or_value: '"https://bugs.gnupg.org"'
    - item_type: preproc_def
      name: PACKAGE_NAME
      pos:
        line_end: 560
        line_start: 559
        source_file: /src/libgcrypt/config.h
      type_or_value: '"libgcrypt"'
    - item_type: preproc_def
      name: PACKAGE_STRING
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/libgcrypt/config.h
      type_or_value: '"libgcrypt 1.12.3"'
    - item_type: preproc_def
      name: PACKAGE_TARNAME
      pos:
        line_end: 566
        line_start: 565
        source_file: /src/libgcrypt/config.h
      type_or_value: '"libgcrypt"'
    - item_type: preproc_def
      name: PACKAGE_URL
      pos:
        line_end: 569
        line_start: 568
        source_file: /src/libgcrypt/config.h
      type_or_value: '""'
    - item_type: preproc_def
      name: PACKAGE_VERSION
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/libgcrypt/config.h
      type_or_value: '"1.12.3"'
    - item_type: preproc_def
      name: PRINTABLE_OS_NAME
      pos:
        line_end: 575
        line_start: 574
        source_file: /src/libgcrypt/config.h
      type_or_value: '"GNU/Linux"'
    - item_type: preproc_def
      name: SIZEOF_UINT64_T
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/libgcrypt/config.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_UNSIGNED_INT
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/libgcrypt/config.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_UNSIGNED_LONG
      pos:
        line_end: 584
        line_start: 583
        source_file: /src/libgcrypt/config.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_UNSIGNED_LONG_LONG
      pos:
        line_end: 587
        line_start: 586
        source_file: /src/libgcrypt/config.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_UNSIGNED_SHORT
      pos:
        line_end: 590
        line_start: 589
        source_file: /src/libgcrypt/config.h
      type_or_value: '2'
    - item_type: preproc_def
      name: SIZEOF_UNSIGNED___INT128
      pos:
        line_end: 593
        line_start: 592
        source_file: /src/libgcrypt/config.h
      type_or_value: '16'
    - item_type: preproc_def
      name: SIZEOF_VOID_P
      pos:
        line_end: 596
        line_start: 595
        source_file: /src/libgcrypt/config.h
      type_or_value: '8'
    - item_type: preproc_def
      name: STDC_HEADERS
      pos:
        line_end: 599
        line_start: 598
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AES
      pos:
        line_end: 602
        line_start: 601
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARCFOUR
      pos:
        line_end: 605
        line_start: 604
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARIA
      pos:
        line_end: 608
        line_start: 607
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_BLAKE2
      pos:
        line_end: 611
        line_start: 610
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_BLOWFISH
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_CAMELLIA
      pos:
        line_end: 617
        line_start: 616
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_CAST5
      pos:
        line_end: 623
        line_start: 622
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_CHACHA20
      pos:
        line_end: 626
        line_start: 625
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_CRC
      pos:
        line_end: 629
        line_start: 628
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_DES
      pos:
        line_end: 632
        line_start: 631
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_DILITHIUM
      pos:
        line_end: 635
        line_start: 634
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_DSA
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ECC
      pos:
        line_end: 641
        line_start: 640
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ELGAMAL
      pos:
        line_end: 644
        line_start: 643
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_GOST28147
      pos:
        line_end: 647
        line_start: 646
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_GOST_R_3411_12
      pos:
        line_end: 650
        line_start: 649
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_GOST_R_3411_94
      pos:
        line_end: 653
        line_start: 652
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_IDEA
      pos:
        line_end: 656
        line_start: 655
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_KYBER
      pos:
        line_end: 659
        line_start: 658
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_MD4
      pos:
        line_end: 665
        line_start: 664
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_MD5
      pos:
        line_end: 668
        line_start: 667
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_RFC2268
      pos:
        line_end: 677
        line_start: 676
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_RMD160
      pos:
        line_end: 680
        line_start: 679
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_RNDGETENTROPY
      pos:
        line_end: 686
        line_start: 685
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_RSA
      pos:
        line_end: 698
        line_start: 697
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SALSA20
      pos:
        line_end: 701
        line_start: 700
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SCRYPT
      pos:
        line_end: 704
        line_start: 703
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SEED
      pos:
        line_end: 707
        line_start: 706
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SERPENT
      pos:
        line_end: 710
        line_start: 709
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SHA1
      pos:
        line_end: 713
        line_start: 712
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SHA256
      pos:
        line_end: 716
        line_start: 715
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SHA3
      pos:
        line_end: 719
        line_start: 718
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SHA512
      pos:
        line_end: 722
        line_start: 721
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SM3
      pos:
        line_end: 725
        line_start: 724
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SM4
      pos:
        line_end: 728
        line_start: 727
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _ALL_SOURCE
      pos:
        line_end: 732
        line_start: 731
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _GNU_SOURCE
      pos:
        line_end: 736
        line_start: 735
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _POSIX_PTHREAD_SEMANTICS
      pos:
        line_end: 740
        line_start: 739
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _TANDEM_SOURCE
      pos:
        line_end: 744
        line_start: 743
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: __EXTENSIONS__
      pos:
        line_end: 748
        line_start: 747
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_TIGER
      pos:
        line_end: 753
        line_start: 752
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_TWOFISH
      pos:
        line_end: 756
        line_start: 755
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_WHIRLPOOL
      pos:
        line_end: 759
        line_start: 758
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VERSION
      pos:
        line_end: 762
        line_start: 761
        source_file: /src/libgcrypt/config.h
      type_or_value: '"1.12.3"'
    - item_type: preproc_def
      name: WORDS_BIGENDIAN
      pos:
        line_end: 771
        line_start: 770
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _REENTRANT
      pos:
        line_end: 795
        line_start: 794
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _GCRYPT_IN_LIBGCRYPT
      pos:
        line_end: 823
        line_start: 822
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WORDS_BIGENDIAN
      pos:
        line_end: 835
        line_start: 834
        source_file: /src/libgcrypt/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CAMELLIA_EXT_SYM_PREFIX
      pos:
        line_end: 845
        line_start: 844
        source_file: /src/libgcrypt/config.h
      type_or_value: _gcry_
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_hilo
  - check_bytecounter_add
  - test_bytecounter_add
  - main
  source_file: /src/libgcrypt/tests/t-cipher-internal.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgcrypt/tests/t-cipher-internal.c
      type_or_value: '"t-cipher-internal"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_textline
  - read_hexmpi_line
  - skip_to_empty_line
  - print_mpi_line
  - compute_missing
  - usage
  - main
  source_file: /src/libgcrypt/tests/rsacvt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PACKAGE_BUGREPORT
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgcrypt/tests/rsacvt.c
      type_or_value: '"devnull@example.org"'
    - item_type: preproc_def
      name: PACKAGE_VERSION
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libgcrypt/tests/rsacvt.c
      type_or_value: '"[build on " __DATE__ " " __TIME__ "]"'
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libgcrypt/tests/rsacvt.c
      type_or_value: '"rsacvt"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - show_note
  - prepend_srcdir
  - read_textline
  - parse_annotation
  - copy_data
  - hex2buffer
  - one_test_sexp
  - check_dsa
  - main
  source_file: /src/libgcrypt/tests/t-dsa.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/tests/t-dsa.c
      type_or_value: '"t-dsa"'
    - item_type: preproc_def
      name: N_TESTS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/tests/t-dsa.c
      type_or_value: '300'
    structs: []
    typedefs: []
    union: []
- function_names:
  - start_timer
  - stop_timer
  - elapsed_time
  source_file: /src/libgcrypt/tests/stopwatch.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: creation_time
        type: FILETIME
      item_type: struct
      name: started_at
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/libgcrypt/tests/stopwatch.h
    typedefs: []
    union: []
- function_names:
  - BUG
  - test_sexp
  - test_genkey
  - main
  source_file: /src/libgcrypt/tests/testapi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libgcrypt/tests/testapi.c
      type_or_value: '"testapi"'
    structs:
    - fields:
      - name: '*p'
        type: char
      item_type: struct
      name: "elg_testkey1 = {\n  \"0x9D559F31A6D30492C383213844AEBB7772963A85D3239F3611AAB93A2A985F64FB735B9259EC326BF5720F909980D609D37C288C9223B0350FBE493C3B5AF54CA23031E952E92F8A3DBEDBC5A684993D452CD54F85B85160166FCD25BD7AB6AE9B1EB4FCC9D300DAFF081C4CBA6694906D3E3FF18196A5CCF7F0A6182962166B\",\n
        \ \"0x5\",\n  \"0x9640024BB2A277205813FF685048AA27E2B192B667163E7C59E381E27003D044C700C531CE8FD4AA781B463BC9FFE74956AF09A38A098322B1CF72FC896F009E3A6BFF053D3B1D1E1994BF9CC07FA12963D782F027B51511DDE8C5F43421FBC12734A9C070F158C729A370BEE5FC51A772219438EDA8202C35FA3F5D8CD1997B\"\n}"
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/libgcrypt/tests/testapi.c
    typedefs: []
    union: []
- function_names:
  - show_note
  - prepend_srcdir
  - read_textline
  - copy_data
  - hex2buffer
  - one_test_sexp
  - check_rsa_15
  - main
  source_file: /src/libgcrypt/tests/t-rsa-15.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/tests/t-rsa-15.c
      type_or_value: '"t-rsa-15"'
    - item_type: preproc_def
      name: N_TESTS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/tests/t-rsa-15.c
      type_or_value: '120'
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_isascii
  - digitp
  - hexdigitp
  - xtoi_1
  - xtoi_2
  - die
  - hex2bin
  - init_external_test
  - run_external_test
  - deinit_external_test
  - print_buffer
  - main
  source_file: /src/libgcrypt/tests/fipsrngdrv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/tests/fipsrngdrv.c
      type_or_value: '"fipsrngdrv"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dummy_consumer
  - bench_s2k
  - check_openpgp
  - check_pbkdf2
  - check_scrypt
  - job_thread
  - pthread_jobs_launch_job
  - wait_all_jobs_completion
  - my_kdf_derive
  - check_argon2
  - check_balloon
  - check_onestep_kdf
  - check_hkdf
  - check_fips_indicators
  - main
  source_file: /src/libgcrypt/tests/t-kdf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgcrypt/tests/t-kdf.c
      type_or_value: '"t-kdf"'
    - item_type: preproc_def
      name: MAX_THREADS
      pos:
        line_end: 1261
        line_start: 1260
        source_file: /src/libgcrypt/tests/t-kdf.c
      type_or_value: '8'
    structs:
    - fields:
      - name: '*p'
        type: char
      - name: plen
        type: size_t
      - name: algo
        type: int
      - name: hashalgo
        type: int
      - name: '*salt'
        type: char
      - name: saltlen
        type: size_t
      - name: c
        type: unsigned long
      - name: dklen
        type: int
      - name: '*dk'
        type: char
      - name: disabled
        type: int
      item_type: struct
      name: "tv[] = {\n    {\n      \"\\x61\", 1,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_MD5,\n
        \     NULL, 0,\n      0,\n      16,\n      \"\\x0c\\xc1\\x75\\xb9\\xc0\\xf1\\xb6\\xa8\\x31\\xc3\\x99\\xe2\\x69\\x77\\x26\\x61\"\n
        \   },\n    {\n      \"\\x61\\x62\", 2,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_MD5,\n
        \     NULL, 0,\n      0,\n      16,\n      \"\\x18\\x7e\\xf4\\x43\\x61\\x22\\xd1\\xcc\\x2f\\x40\\xdc\\x2b\\x92\\xf0\\xeb\\xa0\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\", 3,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_MD5,\n
        \     NULL, 0,\n      0,\n      16,\n      \"\\x90\\x01\\x50\\x98\\x3c\\xd2\\x4f\\xb0\\xd6\\x96\\x3f\\x7d\\x28\\xe1\\x7f\\x72\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\", 4,\n      GCRY_KDF_SIMPLE_S2K,
        GCRY_MD_MD5,\n      NULL, 0,\n      0,\n      16,\n      \"\\xe2\\xfc\\x71\\x4c\\x47\\x27\\xee\\x93\\x95\\xf3\\x24\\xcd\\x2e\\x7f\\x33\\x1f\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\", 5,\n      GCRY_KDF_SIMPLE_S2K,
        GCRY_MD_MD5,\n      NULL, 0,\n      0,\n      16,\n      \"\\xab\\x56\\xb4\\xd9\\x2b\\x40\\x71\\x3a\\xcc\\x5a\\xf8\\x99\\x85\\xd4\\xb7\\x86\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\", 6,\n      GCRY_KDF_SIMPLE_S2K,
        GCRY_MD_MD5,\n      NULL, 0,\n      0,\n      16,\n      \"\\xe8\\x0b\\x50\\x17\\x09\\x89\\x50\\xfc\\x58\\xaa\\xd8\\x3c\\x8c\\x14\\x97\\x8e\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\", 7,\n      GCRY_KDF_SIMPLE_S2K,
        GCRY_MD_MD5,\n      NULL, 0,\n      0,\n      16,\n      \"\\x7a\\xc6\\x6c\\x0f\\x14\\x8d\\xe9\\x51\\x9b\\x8b\\xd2\\x64\\x31\\x2c\\x4d\\x64\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\", 8,\n      GCRY_KDF_SIMPLE_S2K,
        GCRY_MD_MD5,\n      NULL, 0,\n      0,\n      16,\n      \"\\xe8\\xdc\\x40\\x81\\xb1\\x34\\x34\\xb4\\x51\\x89\\xa7\\x20\\xb7\\x7b\\x68\\x18\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\", 9,\n
        \     GCRY_KDF_SIMPLE_S2K, GCRY_MD_MD5,\n      NULL, 0,\n      0,\n      16,\n
        \     \"\\x8a\\xa9\\x9b\\x1f\\x43\\x9f\\xf7\\x12\\x93\\xe9\\x53\\x57\\xba\\xc6\\xfd\\x94\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\",
        15,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_MD5,\n      NULL, 0,\n      0,\n      16,\n
        \     \"\\x8a\\x73\\x19\\xdb\\xf6\\x54\\x4a\\x74\\x22\\xc9\\xe2\\x54\\x52\\x58\\x0e\\xa5\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\\x70\",
        16,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_MD5,\n      NULL, 0,\n      0,\n      16,\n
        \     \"\\x1d\\x64\\xdc\\xe2\\x39\\xc4\\x43\\x7b\\x77\\x36\\x04\\x1d\\xb0\\x89\\xe1\\xb9\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\\x70\"\n
        \     \"\\x71\", 17,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_MD5,\n      NULL,
        0,\n      0,\n      16,\n      \"\\x9a\\x8d\\x98\\x45\\xa6\\xb4\\xd8\\x2d\\xfc\\xb2\\xc2\\xe3\\x51\\x62\\xc8\\x30\"\n
        \   },\n    {\n      \"\\x4c\\x6f\\x6e\\x67\\x5f\\x73\\x65\\x6e\\x74\\x65\\x6e\\x63\\x65\\x5f\\x75\\x73\"\n
        \     \"\\x65\\x64\\x5f\\x61\\x73\\x5f\\x70\\x61\\x73\\x73\\x70\\x68\\x72\\x61\\x73\\x65\",
        32,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_MD5,\n      NULL, 0,\n      0,\n      16,\n
        \     \"\\x35\\x2a\\xf0\\xfc\\xdf\\xe9\\xbb\\x62\\x16\\xfc\\x99\\x9d\\x8d\\x58\\x05\\xcb\"\n
        \   },\n    {\n      \"\\x57\\x69\\x74\\x68\\x5f\\x75\\x74\\x66\\x38\\x5f\\x75\\x6d\\x6c\\x61\\x75\\x74\"\n
        \     \"\\x73\\x3a\\xc3\\xa4\\xc3\\xbc\\xc3\\x96\\xc3\\x9f\", 26,\n      GCRY_KDF_SIMPLE_S2K,
        GCRY_MD_MD5,\n      NULL, 0,\n      0,\n      16,\n      \"\\x21\\xa4\\xeb\\xd8\\xfd\\xf0\\x59\\x25\\xd1\\x32\\x31\\xdb\\xe7\\xf2\\x13\\x5d\"\n
        \   },\n    {\n      \"\\x61\", 1,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_SHA1,\n
        \     NULL, 0,\n      0,\n      16,\n      \"\\x86\\xf7\\xe4\\x37\\xfa\\xa5\\xa7\\xfc\\xe1\\x5d\\x1d\\xdc\\xb9\\xea\\xea\\xea\"\n
        \   },\n    {\n      \"\\x61\\x62\", 2,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_SHA1,\n
        \     NULL, 0,\n      0,\n      16,\n      \"\\xda\\x23\\x61\\x4e\\x02\\x46\\x9a\\x0d\\x7c\\x7b\\xd1\\xbd\\xab\\x5c\\x9c\\x47\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\", 3,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_SHA1,\n
        \     NULL, 0,\n      0,\n      16,\n      \"\\xa9\\x99\\x3e\\x36\\x47\\x06\\x81\\x6a\\xba\\x3e\\x25\\x71\\x78\\x50\\xc2\\x6c\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\", 4,\n      GCRY_KDF_SIMPLE_S2K,
        GCRY_MD_SHA1,\n      NULL, 0,\n      0,\n      16,\n      \"\\x81\\xfe\\x8b\\xfe\\x87\\x57\\x6c\\x3e\\xcb\\x22\\x42\\x6f\\x8e\\x57\\x84\\x73\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\", 5,\n      GCRY_KDF_SIMPLE_S2K,
        GCRY_MD_SHA1,\n      NULL, 0,\n      0,\n      16,\n      \"\\x03\\xde\\x6c\\x57\\x0b\\xfe\\x24\\xbf\\xc3\\x28\\xcc\\xd7\\xca\\x46\\xb7\\x6e\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\", 6,\n      GCRY_KDF_SIMPLE_S2K,
        GCRY_MD_SHA1,\n      NULL, 0,\n      0,\n      16,\n      \"\\x1f\\x8a\\xc1\\x0f\\x23\\xc5\\xb5\\xbc\\x11\\x67\\xbd\\xa8\\x4b\\x83\\x3e\\x5c\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\", 7,\n      GCRY_KDF_SIMPLE_S2K,
        GCRY_MD_SHA1,\n      NULL, 0,\n      0,\n      16,\n      \"\\x2f\\xb5\\xe1\\x34\\x19\\xfc\\x89\\x24\\x68\\x65\\xe7\\xa3\\x24\\xf4\\x76\\xec\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\", 8,\n      GCRY_KDF_SIMPLE_S2K,
        GCRY_MD_SHA1,\n      NULL, 0,\n      0,\n      16,\n      \"\\x42\\x5a\\xf1\\x2a\\x07\\x43\\x50\\x2b\\x32\\x2e\\x93\\xa0\\x15\\xbc\\xf8\\x68\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\", 9,\n
        \     GCRY_KDF_SIMPLE_S2K, GCRY_MD_SHA1,\n      NULL, 0,\n      0,\n      16,\n
        \     \"\\xc6\\x3b\\x19\\xf1\\xe4\\xc8\\xb5\\xf7\\x6b\\x25\\xc4\\x9b\\x8b\\x87\\xf5\\x7d\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\",
        15,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_SHA1,\n      NULL, 0,\n      0,\n
        \     16,\n      \"\\x29\\x38\\xdc\\xc2\\xe3\\xaa\\x77\\x98\\x7c\\x7e\\x5d\\x4a\\x0f\\x26\\x96\\x67\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\\x70\",
        16,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_SHA1,\n      NULL, 0,\n      0,\n
        \     16,\n      \"\\x14\\xf3\\x99\\x52\\x88\\xac\\xd1\\x89\\xe6\\xe5\\x0a\\x7a\\xf4\\x7e\\xe7\\x09\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\\x70\"\n
        \     \"\\x71\", 17,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_SHA1,\n      NULL,
        0,\n      0,\n      16,\n      \"\\xd8\\x3d\\x62\\x1f\\xcd\\x2d\\x4d\\x29\\x85\\x54\\x70\\x43\\xa7\\xa5\\xfd\\x4d\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\\x70\"\n
        \     \"\\x71\\x72\", 18,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_SHA1,\n      NULL,
        0,\n      0,\n      16,\n      \"\\xe3\\x81\\xfe\\x42\\xc5\\x7e\\x48\\xa0\\x82\\x17\\x86\\x41\\xef\\xfd\\x1c\\xb9\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\\x70\"\n
        \     \"\\x71\\x72\\x73\", 19,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_SHA1,\n
        \     NULL, 0,\n      0,\n      16,\n      \"\\x89\\x3e\\x69\\xff\\x01\\x09\\xf3\\x45\\x9c\\x42\\x43\\x01\\x3b\\x3d\\xe8\\xb1\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\\x70\"\n
        \     \"\\x71\\x72\\x73\\x74\", 20,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_SHA1,\n
        \     NULL, 0,\n      0,\n      16,\n      \"\\x14\\xa2\\x3a\\xd7\\x0f\\x2a\\x5d\\xd7\\x25\\x57\\x5d\\xe6\\xc4\\x3e\\x1c\\xdd\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\\x70\"\n
        \     \"\\x71\\x72\\x73\\x74\\x75\", 21,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_SHA1,\n
        \     NULL, 0,\n      0,\n      16,\n      \"\\xec\\xa9\\x86\\xb9\\x5d\\x58\\x7f\\x34\\xd7\\x1c\\xa7\\x75\\x2a\\x4e\\x00\\x10\"\n
        \   },\n    {\n      \"\\x4c\\x6f\\x6e\\x67\\x5f\\x73\\x65\\x6e\\x74\\x65\\x6e\\x63\\x65\\x5f\\x75\\x73\"\n
        \     \"\\x65\\x64\\x5f\\x61\\x73\\x5f\\x70\\x61\\x73\\x73\\x70\\x68\\x72\\x61\\x73\\x65\",
        32,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_SHA1,\n      NULL, 0,\n      0,\n
        \     16,\n      \"\\x3e\\x1b\\x9a\\x50\\x7d\\x6e\\x9a\\xd8\\x93\\x64\\x96\\x7a\\x3f\\xcb\\x27\\x3f\"\n
        \   },\n    {\n      \"\\x4c\\x6f\\x6e\\x67\\x5f\\x73\\x65\\x6e\\x74\\x65\\x6e\\x63\\x65\\x5f\\x75\\x73\"\n
        \     \"\\x65\\x64\\x5f\\x61\\x73\\x5f\\x70\\x61\\x73\\x73\\x70\\x68\\x72\\x61\\x73\\x65\",
        32,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_SHA1,\n      NULL, 0,\n      0,\n
        \     32,\n      \"\\x3e\\x1b\\x9a\\x50\\x7d\\x6e\\x9a\\xd8\\x93\\x64\\x96\\x7a\\x3f\\xcb\\x27\\x3f\"\n
        \     \"\\xc3\\x7b\\x3a\\xb2\\xef\\x4d\\x68\\xaa\\x9c\\xd7\\xe4\\x88\\xee\\xd1\\x5e\\x70\"\n
        \   },\n    {\n      \"\\x57\\x69\\x74\\x68\\x5f\\x75\\x74\\x66\\x38\\x5f\\x75\\x6d\\x6c\\x61\\x75\\x74\"\n
        \     \"\\x73\\x3a\\xc3\\xa4\\xc3\\xbc\\xc3\\x96\\xc3\\x9f\", 26,\n      GCRY_KDF_SIMPLE_S2K,
        GCRY_MD_SHA1,\n      NULL, 0,\n      0,\n      16,\n      \"\\xe0\\x4e\\x1e\\xe3\\xad\\x0b\\x49\\x7c\\x7a\\x5f\\x37\\x3b\\x4d\\x90\\x3c\\x2e\"\n
        \   },\n    {\n      \"\\x61\", 1,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n
        \     \"\\x6d\\x47\\xe3\\x68\\x5d\\x2c\\x36\\x16\", 8,\n      1024,\n      16,\n
        \     \"\\x41\\x9f\\x48\\x6e\\xbf\\xe6\\xdd\\x05\\x9a\\x72\\x23\\x17\\x44\\xd8\\xd3\\xf3\"\n
        \   },\n    {\n      \"\\x61\\x62\", 2,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n
        \     \"\\x7c\\x34\\x78\\xfb\\x28\\x2d\\x25\\xc7\", 8,\n      1024,\n      16,\n
        \     \"\\x0a\\x9d\\x09\\x06\\x43\\x3d\\x4f\\xf9\\x87\\xd6\\xf7\\x48\\x90\\xde\\xd1\\x1c\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\", 3,\n      GCRY_KDF_ITERSALTED_S2K,
        GCRY_MD_SHA1,\n      \"\\xc3\\x16\\x37\\x2e\\x27\\xf6\\x9f\\x6f\", 8,\n      1024,\n
        \     16,\n      \"\\xf8\\x27\\xa0\\x07\\xc6\\xcb\\xdd\\xf1\\xfe\\x5c\\x88\\x3a\\xfc\\xcd\\x84\\x4d\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\", 4,\n      GCRY_KDF_ITERSALTED_S2K,
        GCRY_MD_SHA1,\n      \"\\xf0\\x0c\\x73\\x38\\xb7\\xc3\\xd5\\x14\", 8,\n      1024,\n
        \     16,\n      \"\\x9b\\x5f\\x26\\xba\\x52\\x3b\\xcd\\xd9\\xa5\\x2a\\xef\\x3c\\x03\\x4d\\xd1\\x52\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\", 5,\n      GCRY_KDF_ITERSALTED_S2K,
        GCRY_MD_SHA1,\n      \"\\xe1\\x7d\\xa2\\x36\\x09\\x59\\xee\\xc5\", 8,\n      1024,\n
        \     16,\n      \"\\x94\\x9d\\x5b\\x1a\\x5a\\x66\\x8c\\xfa\\x8f\\x6f\\x22\\xaf\\x8b\\x60\\x9f\\xaf\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\", 6,\n      GCRY_KDF_ITERSALTED_S2K,
        GCRY_MD_SHA1,\n      \"\\xaf\\xa7\\x0c\\x68\\xdf\\x7e\\xaa\\x27\", 8,\n      1024,\n
        \     16,\n      \"\\xe5\\x38\\xf4\\x39\\x62\\x27\\xcd\\xcc\\x91\\x37\\x7f\\x1b\\xdc\\x58\\x64\\x27\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\", 7,\n      GCRY_KDF_ITERSALTED_S2K,
        GCRY_MD_SHA1,\n      \"\\x40\\x57\\xb2\\x9d\\x5f\\xbb\\x11\\x4f\", 8,\n      1024,\n
        \     16,\n      \"\\xad\\xa2\\x33\\xd9\\xdd\\xe0\\xfb\\x94\\x8e\\xcc\\xec\\xcc\\xb3\\xa8\\x3a\\x9e\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\", 8,\n      GCRY_KDF_ITERSALTED_S2K,
        GCRY_MD_SHA1,\n      \"\\x38\\xf5\\x65\\xc5\\x0f\\x8c\\x19\\x61\", 8,\n      1024,\n
        \     16,\n      \"\\xa0\\xb0\\x3e\\x29\\x76\\xe6\\x8f\\xa0\\xd8\\x34\\x8f\\xa4\\x2d\\xfd\\x65\\xee\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\", 9,\n
        \     GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n      \"\\xc3\\xb7\\x99\\xcc\\xda\\x2d\\x05\\x7b\",
        8,\n      1024,\n      16,\n      \"\\x27\\x21\\xc8\\x99\\x5f\\xcf\\x20\\xeb\\xf2\\xd9\\xff\\x6a\\x69\\xff\\xad\\xe8\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\",
        15,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n      \"\\x7d\\xd8\\x68\\x8a\\x1c\\xc5\\x47\\x22\",
        8,\n      1024,\n      16,\n      \"\\x0f\\x96\\x7a\\x12\\x23\\x54\\xf6\\x92\\x61\\x67\\x07\\xb4\\x68\\x17\\xb8\\xaa\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\\x70\",
        16,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n      \"\\x8a\\x95\\xd4\\x88\\x0b\\xb8\\xe9\\x9d\",
        8,\n      1024,\n      16,\n      \"\\xcc\\xe4\\xc8\\x82\\x53\\x32\\xf1\\x93\\x5a\\x00\\xd4\\x7f\\xd4\\x46\\xfa\\x07\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\\x70\"\n
        \     \"\\x71\", 17,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n      \"\\xb5\\x22\\x48\\xa6\\xc4\\xad\\x74\\x67\",
        8,\n      1024,\n      16,\n      \"\\x0c\\xe3\\xe0\\xee\\x3d\\x8f\\x35\\xd2\\x35\\x14\\x14\\x29\\x0c\\xf1\\xe3\\x34\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\\x70\"\n
        \     \"\\x71\\x72\", 18,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n
        \     \"\\xac\\x9f\\x04\\x63\\x83\\x0e\\x3c\\x95\", 8,\n      1024,\n      16,\n
        \     \"\\x49\\x0a\\x04\\x68\\xa8\\x2a\\x43\\x6f\\xb9\\x73\\x94\\xb4\\x85\\x9a\\xaa\\x0e\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\\x70\"\n
        \     \"\\x71\\x72\\x73\", 19,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n
        \     \"\\x03\\x6f\\x60\\x30\\x3a\\x19\\x61\\x0d\", 8,\n      1024,\n      16,\n
        \     \"\\x15\\xe5\\x9b\\xbf\\x1c\\xf0\\xbe\\x74\\x95\\x1a\\xb2\\xc4\\xda\\x09\\xcd\\x99\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\\x70\"\n
        \     \"\\x71\\x72\\x73\\x74\", 20,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n
        \     \"\\x51\\x40\\xa5\\x57\\xf5\\x28\\xfd\\x03\", 8,\n      1024,\n      16,\n
        \     \"\\xa6\\xf2\\x7e\\x6b\\x30\\x4d\\x8d\\x67\\xd4\\xa2\\x7f\\xa2\\x57\\x27\\xab\\x96\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\\x70\"\n
        \     \"\\x71\\x72\\x73\\x74\\x75\", 21,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n
        \     \"\\x4c\\xf1\\x10\\x11\\x04\\x70\\xd3\\x6e\", 8,\n      1024,\n      16,\n
        \     \"\\x2c\\x50\\x79\\x8d\\x83\\x23\\xac\\xd6\\x22\\x29\\x37\\xaf\\x15\\x0d\\xdd\\x8f\"\n
        \   },\n    {\n      \"\\x57\\x69\\x74\\x68\\x5f\\x75\\x74\\x66\\x38\\x5f\\x75\\x6d\\x6c\\x61\\x75\\x74\"\n
        \     \"\\x73\\x3a\\xc3\\xa4\\xc3\\xbc\\xc3\\x96\\xc3\\x9f\", 26,\n      GCRY_KDF_ITERSALTED_S2K,
        GCRY_MD_SHA1,\n      \"\\xfe\\x3a\\x25\\xcb\\x78\\xef\\xe1\\x21\", 8,\n      1024,\n
        \     16,\n      \"\\x2a\\xb0\\x53\\x08\\xf3\\x2f\\xd4\\x6e\\xeb\\x01\\x49\\x5d\\x87\\xf6\\x27\\xf6\"\n
        \   },\n    {\n      \"\\x4c\\x6f\\x6e\\x67\\x5f\\x73\\x65\\x6e\\x74\\x65\\x6e\\x63\\x65\\x5f\\x75\\x73\"\n
        \     \"\\x65\\x64\\x5f\\x61\\x73\\x5f\\x70\\x61\\x73\\x73\\x70\\x68\\x72\\x61\\x73\\x65\",
        32,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n      \"\\x04\\x97\\xd0\\x02\\x6a\\x44\\x2d\\xde\",
        8,\n      1024,\n      16,\n      \"\\x57\\xf5\\x70\\x41\\xa0\\x9b\\x8c\\x09\\xca\\x74\\xa9\\x22\\xa5\\x82\\x2d\\x17\"\n
        \   },\n    {\n      \"\\x4c\\x6f\\x6e\\x67\\x5f\\x73\\x65\\x6e\\x74\\x65\\x6e\\x63\\x65\\x5f\\x75\\x73\"\n
        \     \"\\x65\\x64\\x5f\\x61\\x73\\x5f\\x70\\x61\\x73\\x73\\x70\\x68\\x72\\x61\\x73\\x65\",
        32,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n      \"\\xdd\\xf3\\x31\\x7c\\xce\\xf4\\x81\\x26\",
        8,\n      10240,\n      16,\n      \"\\xc3\\xdd\\x01\\x6d\\xaf\\xf6\\x58\\xc8\\xd7\\x79\\xb4\\x40\\x00\\xb5\\xe8\\x0b\"\n
        \   },\n    {\n      \"\\x4c\\x6f\\x6e\\x67\\x5f\\x73\\x65\\x6e\\x74\\x65\\x6e\\x63\\x65\\x5f\\x75\\x73\"\n
        \     \"\\x65\\x64\\x5f\\x61\\x73\\x5f\\x70\\x61\\x73\\x73\\x70\\x68\\x72\\x61\\x73\\x65\",
        32,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n      \"\\x95\\xd6\\x72\\x4e\\xfb\\xe1\\xc3\\x1a\",
        8,\n      102400,\n      16,\n      \"\\xf2\\x3f\\x36\\x7f\\xb4\\x6a\\xd0\\x3a\\x31\\x9e\\x65\\x11\\x8e\\x2b\\x99\\x9b\"\n
        \   },\n    {\n      \"\\x61\", 1,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n
        \     \"\\x6d\\x69\\x15\\x18\\xe4\\x13\\x42\\x82\", 8,\n      1024,\n      24,\n
        \     \"\\x28\\x0c\\x7e\\xf2\\x31\\xf6\\x1c\\x6b\\x5c\\xef\\x6a\\xd5\\x22\\x64\\x97\\x91\"\n
        \     \"\\xe3\\x5e\\x37\\xfd\\x50\\xe2\\xfc\\x6c\"\n    },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\",
        7,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n      \"\\x9b\\x76\\x5e\\x81\\xde\\x13\\xdf\\x15\",
        8,\n      1024,\n      24,\n      \"\\x91\\x1b\\xa1\\xc1\\x7b\\x4f\\xc3\\xb1\\x80\\x61\\x26\\x08\\xbe\\x53\\xe6\\x50\"\n
        \     \"\\x40\\x6f\\x28\\xed\\xc6\\xe6\\x67\\x55\"\n    },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\",
        9,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n      \"\\x7a\\xac\\xcc\\x6e\\x15\\x56\\xbd\\xa1\",
        8,\n      1024,\n      24,\n      \"\\xfa\\x7e\\x20\\x07\\xb6\\x47\\xb0\\x09\\x46\\xb8\\x38\\xfb\\xa1\\xaf\\xf7\\x75\"\n
        \     \"\\x2a\\xfa\\x77\\x14\\x06\\x54\\xcb\\x34\"\n    },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\",
        9,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n      \"\\x1c\\x68\\xf8\\xfb\\x98\\xf7\\x8c\\x39\",
        8,\n      1024,\n      24,\n      \"\\xcb\\x1e\\x86\\xf5\\xe0\\xe4\\xfb\\xbf\\x71\\x34\\x99\\x24\\xf4\\x39\\x8c\\xc2\"\n
        \     \"\\x8e\\x25\\x1c\\x4c\\x96\\x47\\x22\\xe8\"\n    },\n    {\n      \"\\x4c\\x6f\\x6e\\x67\\x5f\\x73\\x65\\x6e\\x74\\x65\\x6e\\x63\\x65\\x5f\\x75\\x73\"\n
        \     \"\\x65\\x64\\x5f\\x61\\x73\\x5f\\x70\\x61\\x73\\x73\\x70\\x68\\x72\\x61\\x73\\x65\",
        32,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n      \"\\x10\\xa9\\x4e\\xc1\\xa5\\xec\\x17\\x52\",
        8,\n      1024,\n      24,\n      \"\\x0f\\x83\\xa2\\x77\\x92\\xbb\\xe4\\x58\\x68\\xc5\\xf2\\x14\\x6e\\x6e\\x2e\\x6b\"\n
        \     \"\\x98\\x17\\x70\\x92\\x07\\x44\\xe0\\x51\"\n    },\n    {\n      \"\\x61\",
        1,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n      \"\\xef\\x8f\\x37\\x61\\x8f\\xab\\xae\\x4f\",
        8,\n      1024,\n      32,\n      \"\\x6d\\x65\\xae\\x86\\x23\\x91\\x39\\x98\\xec\\x1c\\x23\\x44\\xb6\\x0d\\xad\\x32\"\n
        \     \"\\x54\\x46\\xc7\\x23\\x26\\xbb\\xdf\\x4b\\x54\\x6e\\xd4\\xc2\\xfa\\xc6\\x17\\x17\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\", 7,\n      GCRY_KDF_ITERSALTED_S2K,
        GCRY_MD_SHA1,\n      \"\\xaa\\xfb\\xd9\\x06\\x7d\\x7c\\x40\\xaf\", 8,\n      1024,\n
        \     32,\n      \"\\x7d\\x10\\x54\\x13\\x3c\\x43\\x7a\\xb3\\x54\\x1f\\x38\\xd4\\x8f\\x70\\x0a\\x09\"\n
        \     \"\\xe2\\xfa\\xab\\x97\\x9a\\x70\\x16\\xef\\x66\\x68\\xca\\x34\\x2e\\xce\\xfa\\x1f\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\", 9,\n
        \     GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n      \"\\x58\\x03\\x4f\\x56\\x8b\\x97\\xd4\\x98\",
        8,\n      1024,\n      32,\n      \"\\xf7\\x40\\xb1\\x25\\x86\\x0d\\x35\\x8f\\x9f\\x91\\x2d\\xce\\x04\\xee\\x5a\\x04\"\n
        \     \"\\x9d\\xbd\\x44\\x23\\x4c\\xa6\\xbb\\xab\\xb0\\xd0\\x56\\x82\\xa9\\xda\\x47\\x16\"\n
        \   },\n    {\n      \"\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\", 9,\n
        \     GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n      \"\\x5d\\x41\\x3d\\xa3\\xa7\\xfc\\x5d\\x0c\",
        8,\n      1024,\n      32,\n      \"\\x4c\\x7a\\x86\\xed\\x81\\x8a\\x94\\x99\\x7d\\x4a\\xc4\\xf7\\x1c\\xf8\\x08\\xdb\"\n
        \     \"\\x09\\x35\\xd9\\xa3\\x2d\\x22\\xde\\x32\\x2d\\x74\\x38\\xe5\\xc8\\xf2\\x50\\x6e\"\n
        \   },\n    {\n      \"\\x4c\\x6f\\x6e\\x67\\x5f\\x73\\x65\\x6e\\x74\\x65\\x6e\\x63\\x65\\x5f\\x75\\x73\"\n
        \     \"\\x65\\x64\\x5f\\x61\\x73\\x5f\\x70\\x61\\x73\\x73\\x70\\x68\\x72\\x61\\x73\\x65\",
        32,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA1,\n      \"\\xca\\xa7\\xdc\\x59\\xce\\x31\\xe7\\x49\",
        8,\n      1024,\n      32,\n      \"\\x67\\xe9\\xd6\\x29\\x49\\x1c\\xb6\\xa0\\x85\\xe8\\xf9\\x8b\\x85\\x47\\x3a\\x7e\"\n
        \     \"\\xa7\\xee\\x89\\x52\\x6f\\x19\\x00\\x53\\x93\\x07\\x0a\\x8b\\xb9\\xa8\\x86\\x94\"\n
        \   },\n    {\n      \"\\x4c\\x6f\\x6e\\x67\\x5f\\x73\\x65\\x6e\\x74\\x65\\x6e\\x63\\x65\\x5f\\x75\\x73\"\n
        \     \"\\x65\\x64\\x5f\\x61\\x73\\x5f\\x70\\x61\\x73\\x73\\x70\\x68\\x72\\x61\\x73\\x65\",
        32,\n      GCRY_KDF_SIMPLE_S2K, GCRY_MD_SHA256,\n      NULL, 0,\n      0,\n
        \     16,\n      \"\\x88\\x36\\x78\\x6b\\xd9\\x5a\\x62\\xff\\x47\\xd3\\xfb\\x79\\xc9\\x08\\x70\\x56\"\n
        \   },\n    {\n      \"\\x4c\\x6f\\x6e\\x67\\x5f\\x73\\x65\\x6e\\x74\\x65\\x6e\\x63\\x65\\x5f\\x75\\x73\"\n
        \     \"\\x65\\x64\\x5f\\x61\\x73\\x5f\\x70\\x61\\x73\\x73\\x70\\x68\\x72\\x61\\x73\\x65\",
        32,\n      GCRY_KDF_SALTED_S2K, GCRY_MD_SHA256,\n      \"\\x05\\x8b\\xfe\\x31\\xaa\\xf3\\x29\\x11\",
        8,\n      0,\n      16,\n      \"\\xb2\\x42\\xfe\\x5e\\x09\\x02\\xd9\\x62\\xb9\\x35\\xf3\\xa8\\x43\\x80\\x9f\\xb1\"\n
        \   },\n    {\n      \"\\x4c\\x6f\\x6e\\x67\\x5f\\x73\\x65\\x6e\\x74\\x65\\x6e\\x63\\x65\\x5f\\x75\\x73\"\n
        \     \"\\x65\\x64\\x5f\\x61\\x73\\x5f\\x70\\x61\\x73\\x73\\x70\\x68\\x72\\x61\\x73\\x65\",
        32,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA256,\n      \"\\xd3\\x4a\\xea\\xc9\\x97\\x1b\\xcc\\x83\",
        8,\n      1024,\n      16,\n      \"\\x35\\x37\\x99\\x62\\x07\\x26\\x68\\x23\\x05\\x47\\xb2\\xa0\\x0b\\x2b\\x2b\\x8d\"\n
        \   },\n    {\n      \"\\x4c\\x6f\\x6e\\x67\\x5f\\x73\\x65\\x6e\\x74\\x65\\x6e\\x63\\x65\\x5f\\x75\\x73\"\n
        \     \"\\x65\\x64\\x5f\\x61\\x73\\x5f\\x70\\x61\\x73\\x73\\x70\\x68\\x72\\x61\\x73\\x65\",
        32,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA256,\n      \"\\x5e\\x71\\xbd\\x00\\x5f\\x96\\xc4\\x23\",
        8,\n      10240,\n      16,\n      \"\\xa1\\x6a\\xee\\xba\\xde\\x73\\x25\\x25\\xd1\\xab\\xa0\\xc5\\x7e\\xc6\\x39\\xa7\"\n
        \   },\n    {\n      \"\\x4c\\x6f\\x6e\\x67\\x5f\\x73\\x65\\x6e\\x74\\x65\\x6e\\x63\\x65\\x5f\\x75\\x73\"\n
        \     \"\\x65\\x64\\x5f\\x61\\x73\\x5f\\x70\\x61\\x73\\x73\\x70\\x68\\x72\\x61\\x73\\x65\",
        32,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA384,\n      \"\\xc3\\x08\\xeb\\x17\\x62\\x08\\x89\\xef\",
        8,\n      1024,\n      16,\n      \"\\x9b\\x7f\\x0c\\x81\\x6f\\x71\\x59\\x9b\\xd5\\xf6\\xbf\\x3a\\x86\\x20\\x16\\x33\"\n
        \   },\n    {\n      \"\\x4c\\x6f\\x6e\\x67\\x5f\\x73\\x65\\x6e\\x74\\x65\\x6e\\x63\\x65\\x5f\\x75\\x73\"\n
        \     \"\\x65\\x64\\x5f\\x61\\x73\\x5f\\x70\\x61\\x73\\x73\\x70\\x68\\x72\\x61\\x73\\x65\",
        32,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA512,\n      \"\\xe6\\x7d\\x13\\x6b\\x39\\xe3\\x44\\x05\",
        8,\n      1024,\n      16,\n      \"\\xc8\\xcd\\x4b\\xa4\\xf3\\xf1\\xd5\\xb0\\x59\\x06\\xf0\\xbb\\x89\\x34\\x6a\\xad\"\n
        \   },\n    {\n      \"\\x4c\\x6f\\x6e\\x67\\x5f\\x73\\x65\\x6e\\x74\\x65\\x6e\\x63\\x65\\x5f\\x75\\x73\"\n
        \     \"\\x65\\x64\\x5f\\x61\\x73\\x5f\\x70\\x61\\x73\\x73\\x70\\x68\\x72\\x61\\x73\\x65\",
        32,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA512,\n      \"\\xed\\x7d\\x30\\x47\\xe4\\xc3\\xf8\\xb6\",
        8,\n      1024,\n      32,\n      \"\\x89\\x7a\\xef\\x70\\x97\\xe7\\x10\\xdb\\x75\\xcc\\x20\\x22\\xab\\x7b\\xf3\\x05\"\n
        \     \"\\x4b\\xb6\\x2e\\x17\\x11\\x9f\\xd6\\xeb\\xbf\\xdf\\x4d\\x70\\x59\\xf0\\xf9\\xe5\"\n
        \   },\n    {\n      \"\\x4c\\x6f\\x6e\\x67\\x5f\\x73\\x65\\x6e\\x74\\x65\\x6e\\x63\\x65\\x5f\\x75\\x73\"\n
        \     \"\\x65\\x64\\x5f\\x61\\x73\\x5f\\x70\\x61\\x73\\x73\\x70\\x68\\x72\\x61\\x73\\x65\",
        32,\n      GCRY_KDF_ITERSALTED_S2K, GCRY_MD_SHA512,\n      \"\\xbb\\x1a\\x45\\x30\\x68\\x62\\x6d\\x63\",
        8,\n      1024,\n      24,\n      \"\\xde\\x5c\\xb8\\xd5\\x75\\xf6\\xad\\x69\\x5b\\xc9\\xf6\\x2f\\xba\\xeb\\xfb\\x36\"\n
        \     \"\\x34\\xf2\\xb8\\xee\\x3b\\x37\\x21\\xb7\"\n    }\n  }"
      pos:
        line_end: 239
        line_start: 228
        source_file: /src/libgcrypt/tests/t-kdf.c
    - fields:
      - name: '*p'
        type: char
      - name: plen
        type: size_t
      - name: '*salt'
        type: char
      - name: saltlen
        type: size_t
      - name: hashalgo
        type: int
      - name: c
        type: unsigned long
      - name: dklen
        type: int
      - name: '*dk'
        type: char
      - name: disabled
        type: int
      item_type: struct
      name: "tv[] = {\n    {\n      \"password\", 8,\n      \"salt\", 4,\n      GCRY_MD_SHA1,\n
        \     1,\n      20,\n      \"\\x0c\\x60\\xc8\\x0f\\x96\\x1f\\x0e\\x71\\xf3\\xa9\"\n
        \     \"\\xb5\\x24\\xaf\\x60\\x12\\x06\\x2f\\xe0\\x37\\xa6\"\n    },\n    {\n
        \     \"password\", 8,\n      \"salt\", 4,\n      GCRY_MD_SHA1,\n      1,\n
        \     10, /* too short dklen for FIPS */\n      \"\\x0c\\x60\\xc8\\x0f\\x96\\x1f\\x0e\\x71\\xf3\\xa9\"\n
        \   },\n    {\n      \"password\", 8,\n      \"salt\", 4,\n      GCRY_MD_SHA1,\n
        \     2,\n      20,\n      \"\\xea\\x6c\\x01\\x4d\\xc7\\x2d\\x6f\\x8c\\xcd\\x1e\"\n
        \     \"\\xd9\\x2a\\xce\\x1d\\x41\\xf0\\xd8\\xde\\x89\\x57\"\n    },\n    {\n
        \     \"password\", 8,\n      \"salt\", 4,\n      GCRY_MD_SHA1,\n      4096,\n
        \     20,\n      \"\\x4b\\x00\\x79\\x01\\xb7\\x65\\x48\\x9a\\xbe\\xad\"\n
        \     \"\\x49\\xd9\\x26\\xf7\\x21\\xd0\\x65\\xa4\\x29\\xc1\"\n    },\n    {\n
        \     \"password\", 8,\n      \"salt\", 4,\n      GCRY_MD_SHA1,\n      16777216,\n
        \     20,\n      \"\\xee\\xfe\\x3d\\x61\\xcd\\x4d\\xa4\\xe4\\xe9\\x94\"\n
        \     \"\\x5b\\x3d\\x6b\\xa2\\x15\\x8c\\x26\\x34\\xe9\\x84\",\n      1 /*
        This test takes too long.  */\n    },\n    {\n      \"passwordPASSWORDpassword\",
        24,\n      \"saltSALTsaltSALTsaltSALTsaltSALTsalt\", 36,\n      GCRY_MD_SHA1,\n
        \     4096,\n      25,\n      \"\\x3d\\x2e\\xec\\x4f\\xe4\\x1c\\x84\\x9b\\x80\\xc8\"\n
        \     \"\\xd8\\x36\\x62\\xc0\\xe4\\x4a\\x8b\\x29\\x1a\\x96\"\n      \"\\x4c\\xf2\\xf0\\x70\\x38\"\n
        \   },\n    {\n      \"pass\\0word\", 9,\n      \"sa\\0lt\", 5,\n      GCRY_MD_SHA1,\n
        \     4096,\n      16,\n      \"\\x56\\xfa\\x6a\\xa7\\x55\\x48\\x09\\x9d\\xcc\\x37\"\n
        \     \"\\xd7\\xf0\\x34\\x25\\xe0\\xc3\"\n    },\n    { /* empty password
        test, not in RFC-6070 */\n      \"\", 0,\n      \"salt\", 4,\n      GCRY_MD_SHA1,\n
        \     2,\n      20,\n      \"\\x13\\x3a\\x4c\\xe8\\x37\\xb4\\xd2\\x52\\x1e\\xe2\"\n
        \     \"\\xbf\\x03\\xe1\\x1c\\x71\\xca\\x79\\x4e\\x07\\x97\"\n    },\n    {\n
        \     \"password\", 8,\n      \"salt\", 4,\n      GCRY_MD_GOSTR3411_CP,\n
        \     1,\n      32,\n      \"\\x73\\x14\\xe7\\xc0\\x4f\\xb2\\xe6\\x62\\xc5\\x43\\x67\\x42\\x53\\xf6\\x8b\\xd0\"\n
        \     \"\\xb7\\x34\\x45\\xd0\\x7f\\x24\\x1b\\xed\\x87\\x28\\x82\\xda\\x21\\x66\\x2d\\x58\"\n
        \   },\n    {\n      \"password\", 8,\n      \"salt\", 4,\n      GCRY_MD_GOSTR3411_CP,\n
        \     2,\n      32,\n      \"\\x99\\x0d\\xfa\\x2b\\xd9\\x65\\x63\\x9b\\xa4\\x8b\\x07\\xb7\\x92\\x77\\x5d\\xf7\"\n
        \     \"\\x9f\\x2d\\xb3\\x4f\\xef\\x25\\xf2\\x74\\x37\\x88\\x72\\xfe\\xd7\\xed\\x1b\\xb3\"\n
        \   },\n    {\n      \"password\", 8,\n      \"salt\", 4,\n      GCRY_MD_GOSTR3411_CP,\n
        \     4096,\n      32,\n      \"\\x1f\\x18\\x29\\xa9\\x4b\\xdf\\xf5\\xbe\\x10\\xd0\\xae\\xb3\\x6a\\xf4\\x98\\xe7\"\n
        \     \"\\xa9\\x74\\x67\\xf3\\xb3\\x11\\x16\\xa5\\xa7\\xc1\\xaf\\xff\\x9d\\xea\\xda\\xfe\"\n
        \   },\n    /* { -- takes too long (4-5 min) to calculate\n      \"password\",
        8,\n      \"salt\", 4,\n      GCRY_MD_GOSTR3411_CP,\n      16777216,\n      32,\n
        \     \"\\xa5\\x7a\\xe5\\xa6\\x08\\x83\\x96\\xd1\\x20\\x85\\x0c\\x5c\\x09\\xde\\x0a\\x52\"\n
        \     \"\\x51\\x00\\x93\\x8a\\x59\\xb1\\xb5\\xc3\\xf7\\x81\\x09\\x10\\xd0\\x5f\\xcd\\x97\"\n
        \   }, */\n    {\n      \"passwordPASSWORDpassword\", 24,\n      \"saltSALTsaltSALTsaltSALTsaltSALTsalt\",
        36,\n      GCRY_MD_GOSTR3411_CP,\n      4096,\n      40,\n      \"\\x78\\x83\\x58\\xc6\\x9c\\xb2\\xdb\\xe2\\x51\\xa7\\xbb\\x17\\xd5\\xf4\\x24\\x1f\"\n
        \     \"\\x26\\x5a\\x79\\x2a\\x35\\xbe\\xcd\\xe8\\xd5\\x6f\\x32\\x6b\\x49\\xc8\\x50\\x47\"\n
        \     \"\\xb7\\x63\\x8a\\xcb\\x47\\x64\\xb1\\xfd\"\n    },\n    {\n      \"pass\\0word\",
        9,\n      \"sa\\0lt\", 5,\n      GCRY_MD_GOSTR3411_CP,\n      4096,\n      20,\n
        \     \"\\x43\\xe0\\x6c\\x55\\x90\\xb0\\x8c\\x02\\x25\\x24\"\n      \"\\x23\\x73\\x12\\x7e\\xdf\\x9c\\x8e\\x9c\\x32\\x91\"\n
        \   },\n    {\n      \"password\", 8,\n      \"salt\", 4,\n      GCRY_MD_STRIBOG512,\n
        \     1,\n      64,\n      \"\\x64\\x77\\x0a\\xf7\\xf7\\x48\\xc3\\xb1\\xc9\\xac\\x83\\x1d\\xbc\\xfd\\x85\\xc2\"\n
        \     \"\\x61\\x11\\xb3\\x0a\\x8a\\x65\\x7d\\xdc\\x30\\x56\\xb8\\x0c\\xa7\\x3e\\x04\\x0d\"\n
        \     \"\\x28\\x54\\xfd\\x36\\x81\\x1f\\x6d\\x82\\x5c\\xc4\\xab\\x66\\xec\\x0a\\x68\\xa4\"\n
        \     \"\\x90\\xa9\\xe5\\xcf\\x51\\x56\\xb3\\xa2\\xb7\\xee\\xcd\\xdb\\xf9\\xa1\\x6b\\x47\"\n
        \   },\n    {\n      \"password\", 8,\n      \"salt\", 4,\n      GCRY_MD_STRIBOG512,\n
        \     2,\n      64,\n      \"\\x5a\\x58\\x5b\\xaf\\xdf\\xbb\\x6e\\x88\\x30\\xd6\\xd6\\x8a\\xa3\\xb4\\x3a\\xc0\"\n
        \     \"\\x0d\\x2e\\x4a\\xeb\\xce\\x01\\xc9\\xb3\\x1c\\x2c\\xae\\xd5\\x6f\\x02\\x36\\xd4\"\n
        \     \"\\xd3\\x4b\\x2b\\x8f\\xbd\\x2c\\x4e\\x89\\xd5\\x4d\\x46\\xf5\\x0e\\x47\\xd4\\x5b\"\n
        \     \"\\xba\\xc3\\x01\\x57\\x17\\x43\\x11\\x9e\\x8d\\x3c\\x42\\xba\\x66\\xd3\\x48\\xde\"\n
        \   },\n    {\n      \"password\", 8,\n      \"salt\", 4,\n      GCRY_MD_STRIBOG512,\n
        \     4096,\n      64,\n      \"\\xe5\\x2d\\xeb\\x9a\\x2d\\x2a\\xaf\\xf4\\xe2\\xac\\x9d\\x47\\xa4\\x1f\\x34\\xc2\"\n
        \     \"\\x03\\x76\\x59\\x1c\\x67\\x80\\x7f\\x04\\x77\\xe3\\x25\\x49\\xdc\\x34\\x1b\\xc7\"\n
        \     \"\\x86\\x7c\\x09\\x84\\x1b\\x6d\\x58\\xe2\\x9d\\x03\\x47\\xc9\\x96\\x30\\x1d\\x55\"\n
        \     \"\\xdf\\x0d\\x34\\xe4\\x7c\\xf6\\x8f\\x4e\\x3c\\x2c\\xda\\xf1\\xd9\\xab\\x86\\xc3\"\n
        \   },\n    /* { -- takes toooo long\n      \"password\", 8,\n      \"salt\",
        4,\n      GCRY_MD_STRIBOG512,\n      16777216,\n      64,\n      \"\\x49\\xe4\\x84\\x3b\\xba\\x76\\xe3\\x00\\xaf\\xe2\\x4c\\x4d\\x23\\xdc\\x73\\x92\"\n
        \     \"\\xde\\xf1\\x2f\\x2c\\x0e\\x24\\x41\\x72\\x36\\x7c\\xd7\\x0a\\x89\\x82\\xac\\x36\"\n
        \     \"\\x1a\\xdb\\x60\\x1c\\x7e\\x2a\\x31\\x4e\\x8c\\xb7\\xb1\\xe9\\xdf\\x84\\x0e\\x36\"\n
        \     \"\\xab\\x56\\x15\\xbe\\x5d\\x74\\x2b\\x6c\\xf2\\x03\\xfb\\x55\\xfd\\xc4\\x80\\x71\"\n
        \   }, */\n    {\n      \"passwordPASSWORDpassword\", 24,\n      \"saltSALTsaltSALTsaltSALTsaltSALTsalt\",
        36,\n      GCRY_MD_STRIBOG512,\n      4096,\n      100,\n      \"\\xb2\\xd8\\xf1\\x24\\x5f\\xc4\\xd2\\x92\\x74\\x80\\x20\\x57\\xe4\\xb5\\x4e\\x0a\"\n
        \     \"\\x07\\x53\\xaa\\x22\\xfc\\x53\\x76\\x0b\\x30\\x1c\\xf0\\x08\\x67\\x9e\\x58\\xfe\"\n
        \     \"\\x4b\\xee\\x9a\\xdd\\xca\\xe9\\x9b\\xa2\\xb0\\xb2\\x0f\\x43\\x1a\\x9c\\x5e\\x50\"\n
        \     \"\\xf3\\x95\\xc8\\x93\\x87\\xd0\\x94\\x5a\\xed\\xec\\xa6\\xeb\\x40\\x15\\xdf\\xc2\"\n
        \     \"\\xbd\\x24\\x21\\xee\\x9b\\xb7\\x11\\x83\\xba\\x88\\x2c\\xee\\xbf\\xef\\x25\\x9f\"\n
        \     \"\\x33\\xf9\\xe2\\x7d\\xc6\\x17\\x8c\\xb8\\x9d\\xc3\\x74\\x28\\xcf\\x9c\\xc5\\x2a\"\n
        \     \"\\x2b\\xaa\\x2d\\x3a\"\n    },\n    {\n      \"pass\\0word\", 9,\n
        \     \"sa\\0lt\", 5,\n      GCRY_MD_STRIBOG512,\n      4096,\n      64,\n
        \     \"\\x50\\xdf\\x06\\x28\\x85\\xb6\\x98\\x01\\xa3\\xc1\\x02\\x48\\xeb\\x0a\\x27\\xab\"\n
        \     \"\\x6e\\x52\\x2f\\xfe\\xb2\\x0c\\x99\\x1c\\x66\\x0f\\x00\\x14\\x75\\xd7\\x3a\\x4e\"\n
        \     \"\\x16\\x7f\\x78\\x2c\\x18\\xe9\\x7e\\x92\\x97\\x6d\\x9c\\x1d\\x97\\x08\\x31\\xea\"\n
        \     \"\\x78\\xcc\\xb8\\x79\\xf6\\x70\\x68\\xcd\\xac\\x19\\x10\\x74\\x08\\x44\\xe8\\x30\"\n
        \   }\n  }"
      pos:
        line_end: 901
        line_start: 891
        source_file: /src/libgcrypt/tests/t-kdf.c
    - fields:
      - name: '*p'
        type: char
      - name: plen
        type: size_t
      - name: '*salt'
        type: char
      - name: saltlen
        type: size_t
      - name: parm_n
        type: int
      - name: parm_r
        type: int
      - name: parm_p
        type: unsigned long
      - name: dklen
        type: int
      - name: '*dk'
        type: char
      - name: disabled
        type: int
      item_type: struct
      name: "tv[] = {\n    {\n      \"\", 0,\n      \"\", 0,\n      16,\n      1,\n
        \     1,\n      64,\n      \"\\x77\\xd6\\x57\\x62\\x38\\x65\\x7b\\x20\\x3b\\x19\\xca\\x42\\xc1\\x8a\\x04\\x97\"\n
        \     \"\\xf1\\x6b\\x48\\x44\\xe3\\x07\\x4a\\xe8\\xdf\\xdf\\xfa\\x3f\\xed\\xe2\\x14\\x42\"\n
        \     \"\\xfc\\xd0\\x06\\x9d\\xed\\x09\\x48\\xf8\\x32\\x6a\\x75\\x3a\\x0f\\xc8\\x1f\\x17\"\n
        \     \"\\xe8\\xd3\\xe0\\xfb\\x2e\\x0d\\x36\\x28\\xcf\\x35\\xe2\\x0c\\x38\\xd1\\x89\\x06\"\n
        \   },\n    {\n      \"password\", 8,\n      \"NaCl\", 4,\n      1024,\n      8,\n
        \     16,\n      64,\n      \"\\xfd\\xba\\xbe\\x1c\\x9d\\x34\\x72\\x00\\x78\\x56\\xe7\\x19\\x0d\\x01\\xe9\\xfe\"\n
        \     \"\\x7c\\x6a\\xd7\\xcb\\xc8\\x23\\x78\\x30\\xe7\\x73\\x76\\x63\\x4b\\x37\\x31\\x62\"\n
        \     \"\\x2e\\xaf\\x30\\xd9\\x2e\\x22\\xa3\\x88\\x6f\\xf1\\x09\\x27\\x9d\\x98\\x30\\xda\"\n
        \     \"\\xc7\\x27\\xaf\\xb9\\x4a\\x83\\xee\\x6d\\x83\\x60\\xcb\\xdf\\xa2\\xcc\\x06\\x40\"\n
        \   },\n    {\n      \"pleaseletmein\", 13,\n      \"SodiumChloride\", 14,\n
        \     16384,\n      8,\n      1,\n      64,\n      \"\\x70\\x23\\xbd\\xcb\\x3a\\xfd\\x73\\x48\\x46\\x1c\\x06\\xcd\\x81\\xfd\\x38\\xeb\"\n
        \     \"\\xfd\\xa8\\xfb\\xba\\x90\\x4f\\x8e\\x3e\\xa9\\xb5\\x43\\xf6\\x54\\x5d\\xa1\\xf2\"\n
        \     \"\\xd5\\x43\\x29\\x55\\x61\\x3f\\x0f\\xcf\\x62\\xd4\\x97\\x05\\x24\\x2a\\x9a\\xf9\"\n
        \     \"\\xe6\\x1e\\x85\\xdc\\x0d\\x65\\x1e\\x40\\xdf\\xcf\\x01\\x7b\\x45\\x57\\x58\\x87\"\n
        \   },\n    {\n      \"pleaseletmein\", 13,\n      \"SodiumChloride\", 14,\n
        \     1048576,\n      8,\n      1,\n      64,\n      \"\\x21\\x01\\xcb\\x9b\\x6a\\x51\\x1a\\xae\\xad\\xdb\\xbe\\x09\\xcf\\x70\\xf8\\x81\"\n
        \     \"\\xec\\x56\\x8d\\x57\\x4a\\x2f\\xfd\\x4d\\xab\\xe5\\xee\\x98\\x20\\xad\\xaa\\x47\"\n
        \     \"\\x8e\\x56\\xfd\\x8f\\x4b\\xa5\\xd0\\x9f\\xfa\\x1c\\x6d\\x92\\x7c\\x40\\xf4\\xc3\"\n
        \     \"\\x37\\x30\\x40\\x49\\xe8\\xa9\\x52\\xfb\\xcb\\xf4\\x5c\\x6f\\xa7\\x7a\\x41\\xa4\",\n
        \     2 /* Only in debug mode.  */\n    }\n  }"
      pos:
        line_end: 1165
        line_start: 1154
        source_file: /src/libgcrypt/tests/t-kdf.c
    - fields:
      - name: oldest_thread_idx
        type: int
      - name: next_thread_idx
        type: int
      - name: num_threads_running
        type: int
      - name: attr
        type: pthread_attr_t
      - name: thread[MAX_THREADS]
        type: pthread_t
      - name: work[MAX_THREADS]
        type: "struct job_thread_param\n  {\n    gcry_kdf_job_fn_t job;\n    void
          *priv;\n  }"
      item_type: struct
      name: user_defined_threads_ctx
      pos:
        line_end: 1274
        line_start: 1262
        source_file: /src/libgcrypt/tests/t-kdf.c
    - fields:
      - name: job
        type: gcry_kdf_job_fn_t
      - name: '*priv'
        type: void
      item_type: struct
      name: job_thread_param
      pos:
        line_end: 1273
        line_start: 1269
        source_file: /src/libgcrypt/tests/t-kdf.c
    - fields:
      - name: subalgo
        type: int
      - name: param[4]
        type: unsigned long
      - name: passlen
        type: size_t
      - name: '*pass'
        type: char
      - name: saltlen
        type: size_t
      - name: '*salt'
        type: char
      - name: keylen
        type: size_t
      - name: '*key'
        type: char
      - name: adlen
        type: size_t
      - name: '*ad'
        type: char
      - name: dklen
        type: size_t
      - name: '*dk'
        type: char
      item_type: struct
      name: "tv[] = {\n    {\n      GCRY_KDF_ARGON2D,\n      { 32, 3, 32, 4 },\n      32,\n
        \     \"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"\n
        \     \"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\",\n
        \     16,\n      \"\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\",\n
        \     8,\n      \"\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\",\n      12,\n
        \     \"\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\",\n
        \     32,\n      \"\\x51\\x2b\\x39\\x1b\\x6f\\x11\\x62\\x97\\x53\\x71\\xd3\\x09\\x19\\x73\\x42\\x94\"\n
        \     \"\\xf8\\x68\\xe3\\xbe\\x39\\x84\\xf3\\xc1\\xa1\\x3a\\x4d\\xb9\\xfa\\xbe\\x4a\\xcb\"\n
        \   },\n    {\n      GCRY_KDF_ARGON2I,\n      { 32, 3, 32, 4 },\n      32,\n
        \     \"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"\n
        \     \"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\",\n
        \     16,\n      \"\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\",\n
        \     8,\n      \"\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\",\n      12,\n
        \     \"\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\",\n
        \     32,\n      \"\\xc8\\x14\\xd9\\xd1\\xdc\\x7f\\x37\\xaa\\x13\\xf0\\xd7\\x7f\\x24\\x94\\xbd\\xa1\"\n
        \     \"\\xc8\\xde\\x6b\\x01\\x6d\\xd3\\x88\\xd2\\x99\\x52\\xa4\\xc4\\x67\\x2b\\x6c\\xe8\"\n
        \   },\n    {\n      GCRY_KDF_ARGON2ID,\n      { 32, 3, 32, 4 },\n      32,\n
        \     \"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\"\n
        \     \"\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\",\n
        \     16,\n      \"\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\\x02\",\n
        \     8,\n      \"\\x03\\x03\\x03\\x03\\x03\\x03\\x03\\x03\",\n      12,\n
        \     \"\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\\x04\",\n
        \     32,\n      \"\\x0d\\x64\\x0d\\xf5\\x8d\\x78\\x76\\x6c\\x08\\xc0\\x37\\xa3\\x4a\\x8b\\x53\\xc9\"\n
        \     \"\\xd0\\x1e\\xf0\\x45\\x2d\\x75\\xb6\\x5e\\xb5\\x25\\x20\\xe9\\x6b\\x01\\xe6\\x59\"\n
        \   },\n    {\n      /* empty password */\n      GCRY_KDF_ARGON2I,\n      {
        32, 3, 128, 1 },\n      0, NULL,\n      16,\n      \"\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\x09\\x0a\\x0b\\x0c\\x0d\\x0e\\x0f\",\n
        \     0, NULL,\n      0, NULL,\n      32,\n      \"\\xbb\\x1f\\xf2\\xb9\\x9f\\xd4\\x4a\\xd9\\xdf\\x7f\\xb9\\x54\\x55\\x9e\\xb8\\xeb\"\n
        \     \"\\xb5\\x9d\\xab\\xce\\x2e\\x62\\x9f\\x9b\\x89\\x09\\xfe\\xde\\x57\\xcc\\x63\\x86\"\n
        \   },\n    {\n      /* empty password */\n      GCRY_KDF_ARGON2ID,\n      {
        32, 3, 128, 1 },\n      0, NULL,\n      16,\n      \"\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\x09\\x0a\\x0b\\x0c\\x0d\\x0e\\x0f\",\n
        \     0, NULL,\n      0, NULL,\n      32,\n      \"\\x09\\x2f\\x38\\x35\\xac\\xb2\\x43\\x92\\x93\\xeb\\xcd\\xe8\\x04\\x16\\x6a\\x31\"\n
        \     \"\\xce\\x14\\xd4\\x55\\xdb\\xd8\\xf7\\xe6\\xb4\\xf5\\x9d\\x64\\x8e\\xd0\\x3a\\xdb\"\n
        \   },\n  }"
      pos:
        line_end: 1438
        line_start: 1425
        source_file: /src/libgcrypt/tests/t-kdf.c
    - fields:
      - name: subalgo
        type: int
      - name: param[3]
        type: unsigned long
      - name: passlen
        type: size_t
      - name: '*pass'
        type: char
      - name: saltlen
        type: size_t
      - name: '*salt'
        type: char
      - name: dklen
        type: size_t
      - name: '*dk'
        type: char
      item_type: struct
      name: "tv[] = {\n    {\n      GCRY_MD_SHA256,\n      { 1024, 1, 1 },\n      15,\n
        \     \"abcdefghijklmno\",\n      32,\n      \"\\x15\\x1c\\xea\\x3a\\x22\\x2e\\x3e\\xfb\\xa8\\xcb\\x9e\\x6f\\x19\\xf2\\xb3\\xca\"\n
        \     \"\\xc7\\xbe\\xd9\\xfd\\xbc\\x17\\xb9\\xbd\\x88\\x51\\xc2\\x72\\xd9\\xc4\\x07\\x08\",\n
        \     32,\n      \"\\x37\\x13\\x86\\x34\\xfc\\x93\\x3d\\x9c\\xca\\x88\\x98\\xe0\\x8f\\xb1\\xfa\\xa4\"\n
        \     \"\\x90\\xcb\\x22\\x04\\x74\\xe4\\x72\\x3b\\x55\\xac\\x49\\xa7\\x11\\x1a\\xa3\\x94\"\n
        \   },\n    {\n      GCRY_MD_SHA256,\n      { 4096, 12, 4 },\n      32,\n
        \     \"Long_sentence_used_as_passphrase\",\n      32,\n      \"\\xf1\\x8a\\x2b\\xef\\x81\\x2a\\x4f\\x00\\x6b\\xad\\xd6\\x9e\\x61\\xe4\\x95\\xc7\"\n
        \     \"\\x45\\x57\\x54\\x08\\x03\\xae\\xc2\\x0b\\x02\\x72\\x56\\x75\\x55\\x32\\xf7\\x7b\",\n
        \     32,\n      \"\\x15\\xa3\\x5b\\xf6\\x87\\xde\\x58\\x48\\x20\\xce\\x15\\xbd\\x05\\x44\\x8e\\x0e\"\n
        \     \"\\x06\\x47\\xe7\\xf6\\xb0\\xcc\\xdc\\xf9\\x01\\xda\\x2e\\x6f\\x8f\\x3e\\x06\\x04\"\n
        \   }\n  }"
      pos:
        line_end: 1599
        line_start: 1590
        source_file: /src/libgcrypt/tests/t-kdf.c
    - fields:
      - name: algo
        type: int
      - name: subalgo
        type: int
      - name: param[1]
        type: unsigned long
      - name: inputlen
        type: size_t
      - name: '*input'
        type: char
      - name: otherlen
        type: size_t
      - name: '*other'
        type: char
      - name: keylen
        type: size_t
      - name: '*key'
        type: char
      - name: dklen
        type: size_t
      - name: '*dk'
        type: char
      item_type: struct
      name: "tv[] = {\n    {\n      GCRY_KDF_ONESTEP_KDF, GCRY_MD_SHA256,\n      {
        38 },\n      16,\n      \"\\x3f\\x89\\x2b\\xd8\\xb8\\x4d\\xae\\x64\\xa7\\x82\\xa3\\x5f\\x6e\\xaa\\x8f\\x00\",\n
        \     12,\n      \"\\xec\\x3f\\x1c\\xd8\\x73\\xd2\\x88\\x58\\xa5\\x8c\\xc3\\x9e\",\n
        \     0, NULL,\n      38,\n      \"\\xa7\\xc0\\x66\\x52\\x98\\x25\\x25\\x31\\xe0\\xdb\\x37\\x73\\x7a\\x37\\x46\\x51\"\n
        \     \"\\xb3\\x68\\x27\\x5f\\x20\\x48\\x28\\x4d\\x16\\xa1\\x66\\xc6\\xd8\\xa9\\x0a\\x91\"\n
        \     \"\\xa4\\x91\\xc1\\x6f\\x49\\x64\"\n   },\n    {\n      GCRY_KDF_ONESTEP_KDF,
        GCRY_MD_SHA512,\n      { 68 },\n      16,\n      \"\\xe6\\x5b\\x19\\x05\\x87\\x8b\\x95\\xf6\\x8b\\x55\\x35\\xbd\\x3b\\x2b\\x10\\x13\",\n
        \     12,\n      \"\\x83\\x02\\x21\\xb1\\x73\\x0d\\x91\\x76\\xf8\\x07\\xd4\\x07\",\n
        \     0, NULL,\n      68,\n      \"\\xb8\\xc4\\x4b\\xdf\\x0b\\x85\\xa6\\x4b\\x6a\\x51\\xc1\\x2a\\x06\\x71\\x0e\\x37\"\n
        \     \"\\x3d\\x82\\x9b\\xb1\\xfd\\xa5\\xb4\\xe1\\xa2\\x07\\x95\\xc6\\x19\\x95\\x94\\xf6\"\n
        \     \"\\xfa\\x65\\x19\\x8a\\x72\\x12\\x57\\xf7\\xd5\\x8c\\xb2\\xf6\\xf6\\xdb\\x9b\\xb5\"\n
        \     \"\\x69\\x9f\\x73\\x86\\x30\\x45\\x90\\x90\\x54\\xb2\\x38\\x9e\\x06\\xec\\x00\\xfe\"\n
        \     \"\\x31\\x8c\\xab\\xd9\"\n    },\n    {\n      GCRY_KDF_ONESTEP_KDF_MAC,
        GCRY_MAC_HMAC_SHA256,\n      { 44 },\n      16,\n      \"\\x02\\xb4\\x0d\\x33\\xe3\\xf6\\x85\\xae\\xae\\x67\\x7a\\xc3\\x44\\xee\\xaf\\x77\",\n
        \     12,\n      \"\\xc6\\x7c\\x38\\x95\\x80\\x12\\x8f\\x18\\xf6\\xcf\\x85\\x92\",\n
        \     16,\n      \"\\x0a\\xd5\\x2c\\x93\\x57\\xc8\\x5e\\x47\\x81\\x29\\x6a\\x36\\xca\\x72\\x03\\x9c\",\n
        \     44,\n      \"\\xbe\\x32\\xe7\\xd3\\x06\\xd8\\x91\\x02\\x8b\\xe0\\x88\\xf2\\x13\\xf9\\xf9\\x47\"\n
        \     \"\\xc5\\x04\\x20\\xd9\\xb5\\xa1\\x2c\\xa6\\x98\\x18\\xdd\\x99\\x95\\xde\\xdd\\x8e\"\n
        \     \"\\x61\\x37\\xc7\\x10\\x4d\\x67\\xf2\\xca\\x90\\x91\\x5d\\xda\"\n    },\n
        \   {\n      GCRY_KDF_ONESTEP_KDF_MAC, GCRY_MAC_HMAC_SHA512,\n      { 56 },\n
        \     16,\n      \"\\x8e\\x5c\\xd5\\xf6\\xae\\x55\\x8f\\xfa\\x04\\xcd\\xa2\\xfa\\xd9\\x4d\\xd6\\x16\",\n
        \     12,\n      \"\\x4a\\x43\\x30\\x18\\xe5\\x1c\\x09\\xbb\\xd6\\x13\\x26\\xbb\",\n
        \     16,\n      \"\\x6e\\xd9\\x3b\\x6f\\xe5\\xb3\\x50\\x2b\\xb4\\x2b\\x4c\\x0f\\xcb\\x13\\x36\\x62\",\n
        \     56,\n      \"\\x29\\x5d\\xfb\\xeb\\x54\\xec\\x0f\\xe2\\x4e\\xce\\x32\\xf5\\xb8\\x7c\\x85\\x3e\"\n
        \     \"\\x69\\x9a\\x62\\xe3\\x9d\\x9c\\x9e\\xe6\\xee\\x78\\xf8\\xb9\\xa0\\xee\\x50\\xa3\"\n
        \     \"\\x6a\\x82\\xe6\\x06\\x2c\\x95\\xed\\x53\\xbc\\x36\\x67\\x00\\xe2\\xd0\\xe0\\x93\"\n
        \     \"\\xbf\\x75\\x2e\\xea\\x42\\x99\\x47\\x2e\"\n    },\n  }"
      pos:
        line_end: 1687
        line_start: 1675
        source_file: /src/libgcrypt/tests/t-kdf.c
    - fields:
      - name: param[1]
        type: unsigned long
      - name: inputlen
        type: size_t
      - name: '*input'
        type: char
      - name: saltlen
        type: size_t
      - name: '*salt'
        type: char
      - name: infolen
        type: size_t
      - name: '*info'
        type: char
      - name: dklen
        type: size_t
      - name: '*dk'
        type: char
      item_type: struct
      name: "tv[] = {\n    {\n      /* Test Case 1 from RFC-5869 */\n      { 42 },\n
        \     22,\n      \"\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\"\n
        \     \"\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\",\n      13,\n      \"\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\x09\\x0a\\x0b\\x0c\",\n
        \     10,\n      \"\\xf0\\xf1\\xf2\\xf3\\xf4\\xf5\\xf6\\xf7\\xf8\\xf9\",\n
        \     42,\n      \"\\x3c\\xb2\\x5f\\x25\\xfa\\xac\\xd5\\x7a\\x90\\x43\\x4f\\x64\\xd0\\x36\\x2f\\x2a\"\n
        \     \"\\x2d\\x2d\\x0a\\x90\\xcf\\x1a\\x5a\\x4c\\x5d\\xb0\\x2d\\x56\\xec\\xc4\\xc5\\xbf\"\n
        \     \"\\x34\\x00\\x72\\x08\\xd5\\xb8\\x87\\x18\\x58\\x65\"\n    },\n    {\n
        \     { 82 },\n      80,\n      \"\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\x09\\x0a\\x0b\\x0c\\x0d\\x0e\\x0f\"\n
        \     \"\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f\"\n
        \     \"\\x20\\x21\\x22\\x23\\x24\\x25\\x26\\x27\\x28\\x29\\x2a\\x2b\\x2c\\x2d\\x2e\\x2f\"\n
        \     \"\\x30\\x31\\x32\\x33\\x34\\x35\\x36\\x37\\x38\\x39\\x3a\\x3b\\x3c\\x3d\\x3e\\x3f\"\n
        \     \"\\x40\\x41\\x42\\x43\\x44\\x45\\x46\\x47\\x48\\x49\\x4a\\x4b\\x4c\\x4d\\x4e\\x4f\",\n
        \     80,\n      \"\\x60\\x61\\x62\\x63\\x64\\x65\\x66\\x67\\x68\\x69\\x6a\\x6b\\x6c\\x6d\\x6e\\x6f\"\n
        \     \"\\x70\\x71\\x72\\x73\\x74\\x75\\x76\\x77\\x78\\x79\\x7a\\x7b\\x7c\\x7d\\x7e\\x7f\"\n
        \     \"\\x80\\x81\\x82\\x83\\x84\\x85\\x86\\x87\\x88\\x89\\x8a\\x8b\\x8c\\x8d\\x8e\\x8f\"\n
        \     \"\\x90\\x91\\x92\\x93\\x94\\x95\\x96\\x97\\x98\\x99\\x9a\\x9b\\x9c\\x9d\\x9e\\x9f\"\n
        \     \"\\xa0\\xa1\\xa2\\xa3\\xa4\\xa5\\xa6\\xa7\\xa8\\xa9\\xaa\\xab\\xac\\xad\\xae\\xaf\",\n
        \     80,\n      \"\\xb0\\xb1\\xb2\\xb3\\xb4\\xb5\\xb6\\xb7\\xb8\\xb9\\xba\\xbb\\xbc\\xbd\\xbe\\xbf\"\n
        \     \"\\xc0\\xc1\\xc2\\xc3\\xc4\\xc5\\xc6\\xc7\\xc8\\xc9\\xca\\xcb\\xcc\\xcd\\xce\\xcf\"\n
        \     \"\\xd0\\xd1\\xd2\\xd3\\xd4\\xd5\\xd6\\xd7\\xd8\\xd9\\xda\\xdb\\xdc\\xdd\\xde\\xdf\"\n
        \     \"\\xe0\\xe1\\xe2\\xe3\\xe4\\xe5\\xe6\\xe7\\xe8\\xe9\\xea\\xeb\\xec\\xed\\xee\\xef\"\n
        \     \"\\xf0\\xf1\\xf2\\xf3\\xf4\\xf5\\xf6\\xf7\\xf8\\xf9\\xfa\\xfb\\xfc\\xfd\\xfe\\xff\",\n
        \     82,\n      \"\\xb1\\x1e\\x39\\x8d\\xc8\\x03\\x27\\xa1\\xc8\\xe7\\xf7\\x8c\\x59\\x6a\\x49\\x34\"\n
        \     \"\\x4f\\x01\\x2e\\xda\\x2d\\x4e\\xfa\\xd8\\xa0\\x50\\xcc\\x4c\\x19\\xaf\\xa9\\x7c\"\n
        \     \"\\x59\\x04\\x5a\\x99\\xca\\xc7\\x82\\x72\\x71\\xcb\\x41\\xc6\\x5e\\x59\\x0e\\x09\"\n
        \     \"\\xda\\x32\\x75\\x60\\x0c\\x2f\\x09\\xb8\\x36\\x77\\x93\\xa9\\xac\\xa3\\xdb\\x71\"\n
        \     \"\\xcc\\x30\\xc5\\x81\\x79\\xec\\x3e\\x87\\xc1\\x4c\\x01\\xd5\\xc1\\xf3\\x43\\x4f\"\n
        \     \"\\x1d\\x87\"\n    },\n    {\n      { 42 },\n      22,\n      \"\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\"\n
        \     \"\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\",\n      0, NULL,\n      0, NULL,\n
        \     42,\n      \"\\x8d\\xa4\\xe7\\x75\\xa5\\x63\\xc1\\x8f\\x71\\x5f\\x80\\x2a\\x06\\x3c\\x5a\\x31\"\n
        \     \"\\xb8\\xa1\\x1f\\x5c\\x5e\\xe1\\x87\\x9e\\xc3\\x45\\x4e\\x5f\\x3c\\x73\\x8d\\x2d\"\n
        \     \"\\x9d\\x20\\x13\\x95\\xfa\\xa4\\xb6\\x1a\\x96\\xc8\"\n    },\n    /*
        Test Case 1 from RFC-9580, A.8.2 */\n    {\n      { 16 },\n      96,\n      \"\\x87\\xcf\\x18\\xd5\\xf1\\xb5\\x3f\\x81\\x7c\\xce\\x5a\\x00\\x4c\\xf3\\x93\\xcc\"\n
        \     \"\\x89\\x58\\xbd\\xdc\\x06\\x5f\\x25\\xf8\\x4a\\xf5\\x09\\xb1\\x7d\\xd3\\x67\\x64\"\n
        \     \"\\x86\\x93\\x24\\x83\\x67\\xf9\\xe5\\x01\\x5d\\xb9\\x22\\xf8\\xf4\\x80\\x95\\xdd\"\n
        \     \"\\xa7\\x84\\x98\\x7f\\x2d\\x59\\x85\\xb1\\x2f\\xba\\xd1\\x6c\\xaf\\x5e\\x44\\x35\"\n
        \     \"\\x67\\xe3\\x0e\\x69\\xcd\\xc7\\xba\\xb2\\xa2\\x68\\x0d\\x78\\xac\\xa4\\x6a\\x2f\"\n
        \     \"\\x8b\\x6e\\x2a\\xe4\\x4d\\x39\\x8b\\xdc\\x6f\\x92\\xc5\\xad\\x4a\\x49\\x25\\x14\",\n
        \     0, NULL,\n      14, \"OpenPGP X25519\",\n      16,\n      \"\\xf6\\x6d\\xad\\xcf\\xf6\\x45\\x92\\x23\\x9b\\x25\\x45\\x39\\xb6\\x4f\\xf6\\x07\"\n
        \   }\n  }"
      pos:
        line_end: 1789
        line_start: 1779
        source_file: /src/libgcrypt/tests/t-kdf.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/tests/pkcs1v2-v15s.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*desc'
        type: char
      - name: '*n'
        type: char
      - name: m[20]
        type: "struct {\n      const char *desc;\n      const char *mesg;\n      const
          char *sign;\n    }"
      item_type: struct
      name: "tbl[] =\n  {\n    {\n      \"A 1024-bit RSA key pair\",\n      \"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991\"\n
        \     \"d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1df\"\n
        \     \"d5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f1\"\n
        \     \"05acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137\",\n
        \     \"010001\",\n      \"33a5042a90b27d4f5451ca9bbbd0b44771a101af884340aef9885f2a4bbe92e8\"\n
        \     \"94a724ac3c568c8f97853ad07c0266c8c6a3ca0929f1e8f11231884429fc4d9a\"\n
        \     \"e55fee896a10ce707c3ed7e734e44727a39574501a532683109c2abacaba283c\"\n
        \     \"31b4bd2f53c3ee37e352cee34f9e503bd80c0622ad79c6dcee883547c6a3b325\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Signature Example 1.1\",\n          \"cdc87da223d786df3b45e0bbbc721326d1ee2af806cc315475cc6f0d9c66e1b6\"\n
        \         \"2371d45ce2392e1ac92844c310102f156a0d8d52c1f4c40ba3aa65095786cb76\"\n
        \         \"9757a6563ba958fed0bcc984e8b517a3d5f515b23b8a41e74aa867693f90dfb0\"\n
        \         \"61a6e86dfaaee64472c00e5f20945729cbebe77f06ce78e08f4098fba41f9d61\"\n
        \         \"93c0317e8b60d4b6084acb42d29e3808a3bc372d85e331170fcbf7cc72d0b71c\"\n
        \         \"296648b3a4d10f416295d0807aa625cab2744fd9ea8fd223c42537029828bd16\"\n
        \         \"be02546f130fd2e33b936d2676e08aed1b73318b750a0167d0\",\n          \"6bc3a06656842930a247e30d5864b4d819236ba7c68965862ad7dbc4e24af28e\"\n
        \         \"86bb531f03358be5fb74777c6086f850caef893f0d6fcc2d0c91ec013693b4ea\"\n
        \         \"00b80cd49aac4ecb5f8911afe539ada4a8f3823d1d13e472d1490547c659c761\"\n
        \         \"7f3d24087ddb6f2b72096167fc097cab18e9a458fcb634cdce8ee35894c484d7\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.2\",\n          \"851384cdfe819c22ed6c4ccb30daeb5cf059bc8e1166b7e3530c4c233e2b5f8f\"\n
        \         \"71a1cca582d43ecc72b1bca16dfc7013226b9e\",\n          \"84fd2ce734ec1da828d0f15bf49a8707c15d05948136de537a3db421384167c8\"\n
        \         \"6fae022587ee9e137daee754738262932d271c744c6d3a189ad4311bdb020492\"\n
        \         \"e322fbddc40406ea860d4e8ea2a4084aa98b9622a446756fdb740ddb3d91db76\"\n
        \         \"70e211661bbf8709b11c08a70771422d1a12def29f0688a192aebd89e0f896f8\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.3\",\n          \"a4b159941761c40c6a82f2b80d1b94f5aa2654fd17e12d588864679b54cd04ef\"\n
        \         \"8bd03012be8dc37f4b83af7963faff0dfa225477437c48017ff2be8191cf3955\"\n
        \         \"fc07356eab3f322f7f620e21d254e5db4324279fe067e0910e2e81ca2cab31c7\"\n
        \         \"45e67a54058eb50d993cdb9ed0b4d029c06d21a94ca661c3ce27fae1d6cb20f4\"\n
        \         \"564d66ce4767583d0e5f060215b59017be85ea848939127bd8c9c4d47b51056c\"\n
        \         \"031cf336f17c9980f3b8f5b9b6878e8b797aa43b882684333e17893fe9caa6aa\"\n
        \         \"299f7ed1a18ee2c54864b7b2b99b72618fb02574d139ef50f019c9eef4169713\"\n
        \         \"38e7d470\",\n          \"0b1f2e5180e5c7b4b5e672929f664c4896e50c35134b6de4d5a934252a3a245f\"\n
        \         \"f48340920e1034b7d5a5b524eb0e1cf12befef49b27b732d2c19e1c43217d6e1\"\n
        \         \"417381111a1d36de6375cf455b3c9812639dbc27600c751994fb61799ecf7da6\"\n
        \         \"bcf51540afd0174db4033188556675b1d763360af46feeca5b60f882829ee7b2\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.4\",\n          \"bc656747fa9eafb3f0\",\n
        \         \"45607ad611cf5747a41ac94d0ffec878bdaf63f6b57a4b088bf36e34e109f840\"\n
        \         \"f24b742ada16102dabf951cbc44f8982e94ed4cd09448d20ec0efa73545f80b6\"\n
        \         \"5406bed6194a61c340b4ad1568cbb75851049f11af1734964076e02029aee200\"\n
        \         \"e40e80be0f4361f69841c4f92a4450a2286d43289b405554c54d25c6ecb584f4\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.5\",\n          \"b45581547e5427770c768e8b82b75564e0ea4e9c32594d6bff706544de0a8776\"\n
        \         \"c7a80b4576550eee1b2acabc7e8b7d3ef7bb5b03e462c11047eadd00629ae575\"\n
        \         \"480ac1470fe046f13a2bf5af17921dc4b0aa8b02bee6334911651d7f8525d10f\"\n
        \         \"32b51d33be520d3ddf5a709955a3dfe78283b9e0ab54046d150c177f037fdccc\"\n
        \         \"5be4ea5f68b5e5a38c9d7edcccc4975f455a6909b4\",\n          \"54be9d90877515f450279c15b5f61ad6f15ecc95f18cbed82b65b1667a575809\"\n
        \         \"587994668044f3bc2ae7f884501f64f0b43f588cfa205a6ab704328c2d4ab92a\"\n
        \         \"7ae13440614d3e085f401da9ad28e2105e4a0edb681a6424df047388ce051ee9\"\n
        \         \"df7bc2163fe347520ad51ccd518064383e741acad3cbdc2cb5a7c68e868464c2\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.6\",\n          \"10aae9a0ab0b595d0841207b700d48d75faedde3b775cd6b4cc88ae06e4694ec\"\n
        \         \"74ba18f8520d4f5ea69cbbe7cc2beba43efdc10215ac4eb32dc302a1f53dc6c4\"\n
        \         \"352267e7936cfebf7c8d67035784a3909fa859c7b7b59b8e39c5c2349f1886b7\"\n
        \         \"05a30267d402f7486ab4f58cad5d69adb17ab8cd0ce1caf5025af4ae24b1fb87\"\n
        \         \"94c6070cc09a51e2f9911311e3877d0044c71c57a993395008806b723ac38373\"\n
        \         \"d395481818528c1e7053739282053529510e935cd0fa77b8fa53cc2d474bd4fb\"\n
        \         \"3cc5c672d6ffdc90a00f9848712c4bcfe46c60573659b11e6457e861f0f604b6\"\n
        \         \"138d144f8ce4e2da73\",\n          \"0e6ff63a856b9cbd5dbe423183122047dd39d6f76d1b2310e546fe9ee73b33ef\"\n
        \         \"a7c78f9474455c9e5b88cb383aafc3698668e7b7a59a9cbb5b0897b6c5afb7f8\"\n
        \         \"bac4b924e98d760a15fc43d2814ab2d5187f79bed9915a93397ebc22a7677506\"\n
        \         \"a02e076d3ffdc0441dbd4db00453dc28d830e0573f77b817b505c38b4a4bb5d0\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.7\",\n          \"efb5da1b4d1e6d9a5dff92d0184da7e31f877d1281ddda625664869e8379e67a\"\n
        \         \"d3b75eae74a580e9827abd6eb7a002cb5411f5266797768fb8e95ae40e3e8b34\"\n
        \         \"66f5ab15d69553952939ec23e61d58497fac76aa1c0bb5a3cb4a54383587c7bb\"\n
        \         \"78d13eefda205443e6ce4365802df55c64713497984e7ca96722b3edf84d56\",\n
        \         \"8385d58533a995f72df262b70f40b391ddf515f464b9d2cc2d66398fc05689d8\"\n
        \         \"11632946d62eabdca7a31fcf6cd6c981d28bbc29083e4a6d5b2b378ca4e540f0\"\n
        \         \"60b96d53ad2693f82178b94e2e2f86b9accfa02025107e062ab7080175684501\"\n
        \         \"028f676461d81c008fe4750671649970878fc175cf98e96b2ecbf6874d77dacb\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.8\",\n          \"53bb58ce42f1984940552657233b14969af365c0a561a4132af18af39432280e\"\n
        \         \"3e437082434b19231837184f02cf2b2e726bebf74d7ae3256d8b72f3eafdb134\"\n
        \         \"d33de06f2991d299d59f5468d43b9958d6a968f5969edbbc6e7185cbc716c7c9\"\n
        \         \"45dafa9cc71ddfaaa01094a452ddf5e2407320400bf05ea9729cafbf0600e788\"\n
        \         \"07ef9462e3fde32ed7d981a56f4751ef64fb4549910ecc911d728053b3994300\"\n
        \         \"4740e6f5821fe8d75c0617bf2c6b24bbfc34013fc95f0dedf5ba297f504fb833\"\n
        \         \"da2a436d1d8ff1cc5193e2a64389fced918e7feb6716330f66801db9497549cf\"\n
        \         \"1d3bd97cf1bc6255\",\n          \"8e1f3d26ec7c6bbb8c54c5d25f3120587803af6d3c2b99a37ced6a3657d4ae54\"\n
        \         \"266f63fffde660c866d65d0ab0589e1d12d9ce6054b05c8668ae127171ccaae7\"\n
        \         \"f1cd409677f52157b6123ab227f27a00966d1439b42a32169d1070394026fc8b\"\n
        \         \"c93545b1ac252d0f7da751c02e33a47831fbd71514c2bbbd3adb6740c0fd68ad\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.9\",\n          \"27cadc698450945f204ec3cf8c6cbd8ceb4cc0cbe312274fa96b04deac855160\"\n
        \         \"c0e04e4ac5d38210c27c\",\n          \"7b63f9223356f35f6117f68c8f8220034fc2384ab5dc6904141f139314d6ee89\"\n
        \         \"f54ec6ffd18c413a23c5931c7fbb13c555ccfd590e0eaa853c8c94d2520cd425\"\n
        \         \"0d9a05a193b65dc749b82478af0156ee1de55ddad33ec1f0099cad6c891a3617\"\n
        \         \"c7393d05fbfbbb00528a001df0b204ebdf1a341090dea89f870a877458427f7b\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.10\",\n          \"716407e901b9ef92d761b013fd13eb7ad72aed\",\n
        \         \"2a22dbe3774d5b297201b55a0f17f42dce63b7845cb325cfe951d0badb5c5a14\"\n
        \         \"472143d896c86cc339f83671164215abc97862f2151654e75a3b357c37311b3d\"\n
        \         \"7268cab540202e23bee52736f2cd86cce0c7dbde95e1c600a47395dc5eb0a472\"\n
        \         \"153fbc4fb21b643e0c04ae14dd37e97e617a7567c89652219781001ba6f83298\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.11\",\n          \"46c24e4103001629c712dd4ce8d747ee595d6c744ccc4f71347d9b8abf49d1b8\"\n
        \         \"fb2ef91b95dc899d4c0e3d2997e638f4cf3f68e0498de5aabd13f0dfe02ff26b\"\n
        \         \"a4379104e78ffa95ffbd15067ef8cbd7eb7860fecc71abe13d5c720a66851f2d\"\n
        \         \"efd4e795054d7bec024bb422a46a7368b56d95b47aebafbeadd612812593a70d\"\n
        \         \"b9f96d451ee15edb299308d777f4bb68ed3377c32156b41b7a9c92a14c8b8114\"\n
        \         \"4399c56a5a432f4f770aa97da8415d0bda2e813206031e70620031c881d616bf\"\n
        \         \"fd5f03bf147c1e73766c26246208\",\n          \"12235b0b406126d9d260d447e923a11051fb243079f446fd73a70181d53634d7\"\n
        \         \"a0968e4ee27777eda63f6e4a3a91ad5985998a4848da59ce697b24bb332fa2ad\"\n
        \         \"9ce462ca4affdc21dab908e8ce15af6eb9105b1abcf39142aa17b34c4c092386\"\n
        \         \"a7abbfe028afdbebc14f2ce26fbee5edeca11502d39a6b7403154843d98a62a7\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.12\",\n          \"bc99a932aa16d622bfff79c50b4c42358673261129e28d6a918ff1b0f1c4f46a\"\n
        \         \"d8afa98b0ca0f56f967975b0a29be882e93b6cd3fc33e1faef72e52b2ae0a3f1\"\n
        \         \"2024506e25690e902e782982145556532284cf505789738f4da31fa1333d3af8\"\n
        \         \"62b2ba6b6ce7ab4cce6aba\",\n          \"872ec5ad4f1846256f17e9936ac50e43e9963ea8c1e76f15879b7874d77d122a\"\n
        \         \"609dc8c561145b94bf4ffdffdeb17e6e76ffc6c10c0747f5e37a9f434f5609e7\"\n
        \         \"9da5250215a457afdf12c6507cc1551f54a28010595826a2c9b97fa0aa851cc6\"\n
        \         \"8b705d7a06d720ba027e4a1c0b019500fb63b78071684dcfa9772700b982dc66\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.13\",\n          \"731e172ac063992c5b11ba170dfb23bb000d47ba195329cf278061037381514c\"\n
        \         \"146064c5285db130dd5bae98b772225950eab05d3ea996f6fffb9a8c8622913f\"\n
        \         \"279914c89ada4f3dd77666a868bfcbff2b95b7daf453d4e2c9d75beee7f8e709\"\n
        \         \"05e4066a4f73aecc67f956aa5a3292b8488c917d317cfdc86253e690381e15ab\",\n
        \         \"76204eacc1d63ec1d6ad5bd0692e1a2f686df6e64ca945c77a824de212efa6d9\"\n
        \         \"782d81b4591403ff4020620298c07ebd3a8a61c5bf4dad62cbfc4ae6a03937be\"\n
        \         \"4b49a216d570fc6e81872937876e27bd19cf601effc30ddca573c9d56cd4569b\"\n
        \         \"db4851c450c42cb21e738cdd61027b8be5e9b410fc46aa3f29e4be9e64451346\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.14\",\n          \"0211382683a74d8d2a2cb6a06550563be1c26ca62821e4ff163b720464fc3a28\"\n
        \         \"d91bedddc62749a5538eaf41fbe0c82a77e06ad99383c9e985ffb8a93fd4d7c5\"\n
        \         \"8db51ad91ba461d69a8fd7ddabe2496757a0c49122c1a79a85cc0553e8214d03\"\n
        \         \"6dfe0185efa0d05860c612fa0882c82d246e5830a67355dff18a2c36b732f988\"\n
        \         \"cfedc562264c6254b40fcabb97b760947568dcd6a17cda6ee8855bddbab93702\"\n
        \         \"471aa0cfb1bed2e13118eba1175b73c96253c108d0b2aba05ab8e17e84392e20\"\n
        \         \"085f47404d8365527dc3fb8f2bb48a50038e71361ccf973407\",\n          \"525500918331f1042eae0c5c2054aa7f92deb26991b5796634f229daf9b49eb2\"\n
        \         \"054d87319f3cfa9b466bd075ef6699aea4bd4a195a1c52968b5e2b75e092d846\"\n
        \         \"ea1b5cc27905a8e1d5e5de0edfdb21391ebb951864ebd9f0b0ec35b654287136\"\n
        \         \"0a317b7ef13ae06af684e38e21b1e19bc7298e5d6fe0013a164bfa25d3e7313d\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.15\",\n          \"fc6b700d22583388ab2f8dafcaf1a05620698020da4bae44dafbd0877b501250\"\n
        \         \"6dc3181d5c66bf023f348b41fd9f94795ab96452a4219f2d39d72af359cf1956\"\n
        \         \"51c7\",\n          \"4452a6cc2626b01e95ab306df0d0cc7484fbab3c22e9703283567f66eadc248d\"\n
        \         \"bda58fce7dd0c70cce3f150fca4b369dff3b6237e2b16281ab55b53fb13089c8\"\n
        \         \"5cd265056b3d62a88bfc2135b16791f7fbcab9fd2dc33becb617be419d2c0461\"\n
        \         \"42a4d47b338314552edd4b6fe9ce1104ecec4a9958d7331e930fc09bf08a6e64\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.16\",\n          \"13ba086d709cfa5fedaa557a89181a6140f2300ed6d7c3febb6cf68abebcbc67\"\n
        \         \"8f2bca3dc2330295eec45bb1c4075f3ada987eae88b39c51606cb80429e649d9\"\n
        \         \"8acc8441b1f8897db86c5a4ce0abf28b1b81dca3667697b850696b74a5ebd85d\"\n
        \         \"ec56c90f8abe513efa857853720be319607921bca947522cd8fac8cace5b827c\"\n
        \         \"3e5a129e7ee57f6b84932f14141ac4274e8cbb46e6912b0d3e2177d499d1840c\"\n
        \         \"d47d4d7ae0b4cdc4d3\",\n          \"1f3b5a87db72a2c97bb3eff2a65a301268eacd89f42abc1098c1f2de77b0832a\"\n
        \         \"65d7815feb35070063f221bb3453bd434386c9a3fde18e3ca1687fb649e86c51\"\n
        \         \"d658619dde5debb86fe15491ff77ab748373f1be508880d66ea81e870e91cdf1\"\n
        \         \"704875c17f0b10103188bc64eef5a3551b414c733670215b1a22702562581ab1\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.17\",\n          \"eb1e5935\",\n
        \         \"370cb9839ae6074f84b2acd6e6f6b7921b4b523463757f6446716140c4e6c0e7\"\n
        \         \"5bec6ad0197ebfa86bf46d094f5f6cd36dca3a5cc73c8bbb70e2c7c9ab5d964e\"\n
        \         \"c8e3dfde481b4a1beffd01b4ad15b31ae7aebb9b70344a9411083165fdf9c375\"\n
        \         \"4bbb8b94dd34bd4813dfada1f6937de4267d5597ca09a31e83d7f1a79dd19b5e\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.18\",\n          \"6346b153e889c8228209630071c8a57783f368760b8eb908cfc2b276\",\n
        \         \"2479c975c5b1ae4c4e940f473a9045b8bf5b0bfca78ec29a38dfbedc8a749b7a\"\n
        \         \"2692f7c52d5bc7c831c7232372a00fed3b6b49e760ec99e074ff2eead5134e83\"\n
        \         \"05725dfa39212b84bd4b8d80bc8bc17a512823a3beb18fc08e45ed19c26c8177\"\n
        \         \"07d67fb05832ef1f12a33e90cd93b8a780319e2963ca25a2af7b09ad8f595c21\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.19\",\n          \"64702db9f825a0f3abc361974659f5e9d30c3aa4f56feac69050c72905e77fe0\"\n
        \         \"c22f88a378c21fcf45fe8a5c717302093929\",\n          \"152f3451c858d69594e6567dfb31291c1ee7860b9d15ebd5a5edd276ac3e6f7a\"\n
        \         \"8d1480e42b3381d2be023acf7ebbdb28de3d2163ae44259c6df98c335d045b61\"\n
        \         \"dac9dba9dbbb4e6ab4a083cd76b580cbe472206a1a9fd60680ceea1a570a29b0\"\n
        \         \"881c775eaef5525d6d2f344c28837d0aca422bbb0f1aba8f6861ae18bd73fe44\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 1.20\",\n          \"941921de4a1c9c1618d6f3ca3c179f6e29bae6ddf9a6a564f929e3ce82cf3265\"\n
        \         \"d7837d5e692be8dcc9e86c\",\n          \"7076c287fc6fff2b20537435e5a3107ce4da10716186d01539413e609d27d1da\"\n
        \         \"6fd952c61f4bab91c045fa4f8683ecc4f8dde74227f773cff3d96db84718c494\"\n
        \         \"4b06affeba94b725f1b07d3928b2490a85c2f1abf492a9177a7cd2ea0c966875\"\n
        \         \"6f825bbec900fa8ac3824e114387ef573780ca334882387b94e5aad7a27a28dc\"\n
        \       }\n      }\n    },\n    {\n      \"A 1024-bit RSA key pair\",\n      \"ac13d9fdae7b7335b69cd98567e9647d99bf373a9e05ce3435d66465f328b7f7\"\n
        \     \"334b792aee7efa044ebc4c7a30b21a5d7a89cdb3a30dfcd9fee9995e09415edc\"\n
        \     \"0bf9e5b4c3f74ff53fb4d29441bf1b7ed6cbdd4a47f9252269e1646f6c1aee05\"\n
        \     \"14e93f6cb9df71d06c060a2104b47b7260ac37c106861dc78ca5a25faa9cb2e3\",\n
        \     \"010001\",\n      \"0484ccefad7a4e6f35a96ec8e30eacf5e368b31195febf087df57053810c2bb0\"\n
        \     \"9127453a4c63073bbfb99024914ccc067266560186a1a267331b7d4c8bdfac96\"\n
        \     \"fda9f3f70bec4eeabce7cd5219343c2e491cce827e44ee230e4f69589e575ae9\"\n
        \     \"063030442a31c82cde30dc9c79cf64e7a0975e75e16ea45815488b455256eeb1\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Signature Example 2.1\",\n          \"e1c0f98d53f8f8b1419057d5b9b10b07feeaec32c0463a4d68382f531ba1d6cf\"\n
        \         \"e4ed38a2694a34b9c805adf072ffbcebe21d8d4b5c0e8c33452dd8f9c9bf45d1\"\n
        \         \"e633751133588229d293c6496b7c983c2c72bd21d339272d7828b0d09d010bba\"\n
        \         \"d318d998f7047967338acefd01e874ace5f86d2a60f3b3cae13fc5c66508cfb7\"\n
        \         \"2378fdd6c8de249765103ce8fe7cd33ad0ef1686feb25e6a35fb64e096a4\",\n
        \         \"64ac093971f8f096a4c1d4a543662a2e5a1281c950987de898707f029c159bd8\"\n
        \         \"32cac55d9136e0e9b4a80bf6f21b68cf9770a6349ae51e7f09dbda9d59c45837\"\n
        \         \"37472d4d6532c7177ee98108d2cf42cd085abb4922eb29d96f3d0f6b1d0d43c7\"\n
        \         \"39ccf1ba651675e1968b507d51902f38cdec0b6132729045325fc1fb8fd558e8\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.2\",\n          \"c111464e002e4ec618a8e263dbcca91fb18a00a18b440c4b5597bee7db2aeda8\"\n
        \         \"31e621fcac8dd81cee3503242b33b0daa987fe2f5493ad2d06a15007590040ce\"\n
        \         \"3c2277642fd27f3f255e3d98d89dfaeb86be34e0b8fbb935fb928560fa292d26\"\n
        \         \"34625a507dd580a89124b921293e8dfeddc281d79eb3a569d59e0db8013e53f7\"\n
        \         \"d4c2f96e5f2ec27fd8ddb01825d17fca406daa6224c7606d2c915282096a7805\"\n
        \         \"5a49621537b4f025a6e5b2129bc8c1a407\",\n          \"6e7eaad804945eb04670dd8676b7057d03ac3e226465b1fb8403e6ae7983e0a4\"\n
        \         \"6a89a4eb32bdc8e7ae5a53d48aa64bc9c3dbc8cf9cd6dc6a68fceae9e29f4745\"\n
        \         \"fa49e18d184dc5d26c4feb351fb4b228c4c18cabdbde8601724ae3803db305f2\"\n
        \         \"a076fa8a57f4610b8a6e0ed43575be5d5bfc1630479df3bcbc515177afe4994a\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.3\",\n          \"29b85b14b2da947a4c3ad1e5937da192c6050865af9504a5445370e43d3a8da5\"\n
        \         \"d355fd58766b2543ac6f93108783c13ff28b2be56083f0298239e0ee9681ee47\"\n
        \         \"c6\",\n          \"80b38ce735126c8545d91d18ec9037654d46e4f3c51a6b8618e15f72cd207500\"\n
        \         \"a470017577d0a8c55a2ba334383f1f8d99fce2460b3297bc037ef64ac4a3098c\"\n
        \         \"6aaa24a4d0144af102d0dda17e07dc695923932e568ada00dc4f7dbfbcdec43c\"\n
        \         \"c908388017d2eef04e60dfe4d57340fab916e2b811244cb1e4a552386fe3ed4c\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.4\",\n          \"d3b7aad37a4890e0365b86c7da9491e73cdf555d1b02b451816dc52f9630d590\"\n
        \         \"de83a5c93961012522dff6dbbb9cdb0e71ae51401964af1890e89325dbd626f2\"\n
        \         \"da013458e39eeca583e89e4c08e5d412be498495886e0551cfe742b8b5\",\n
        \         \"9d8a8889a311b486cbe2225703f5d4ae2a54c2bcaaad06fe7648b9e2d85edda1\"\n
        \         \"a07d856d6ae9bd5cc1e5153266ec7f1e1df3d929cc44700fac926458414c2841\"\n
        \         \"da83328e81e0b9d6c3885e767370ad5cf1f576d9dce348caec5e6443e0aeb7c3\"\n
        \         \"f72b7dd253667023b9a477ab34df8f2067e225adcb73ee11e159eb649147d602\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.5\",\n          \"f658188c8f9de60b5e99a29f52d3b889201b30d464c3b72792a302095dc1e77d\"\n
        \         \"45e94f5dab73dbb313543857ff91dbf473dfc145d73bd5062075d192a3fbf4a1\"\n
        \         \"33e7e568df20b8cff77b3af687aa22559ec1\",\n          \"0a95a44f6274e74cec451796af5688d4be010893faae27d490f4771b003f7046\"\n
        \         \"cccd419fc819d7331955f41eac9339f546c584a8b42a5ac63290583ff3eb6b29\"\n
        \         \"cadc754ae58d5a5637b6609796e8055173ff20a9cce492fd7837468615e84108\"\n
        \         \"87f0b4a59ff252a8259776c8ffdaa67c87dff8983ae679d1de22ea158d48f68b\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.6\",\n          \"31ae5f83a0fb3ac9255ffa435f70e2ab655566e5fb8b78b802c187cff1c5e40f\"\n
        \         \"ed06978c5d5976eb4ca775806399a6fc4db50c1f88661ba68abc21fb2ccd537f\"\n
        \         \"5018f36ed1f7d45383fd469e77bab3e8a95dfa1b941e430ddec552dcd82f5d10\"\n
        \         \"d29cd10a22d17ce2425928ff5d0710dce7d9f83b12e04c1a0159c27176e04acc\",\n
        \         \"3f11ea739f329c9d40046034b6c0cfceb49bc3201a5f25eaf5015aeded02189c\"\n
        \         \"e0b0cfde19125bd288b7d0c062321a5bdc2cfa4226f5104a1fbaebbe7f72f5f7\"\n
        \         \"927e1eae26fdc5ba92f2d3f869ebc32d9018dd04ede86de5c454f1f7a1b2e2d1\"\n
        \         \"940aacae27796355fe18ac80975353929ac6a838458b5d9dc7576e3887ee7bca\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.7\",\n          \"96ff99f15060c973a65b69a8b5b63adb3325320da937297584ad4fad5c3c7469\"\n
        \         \"019e9cf72acb315f1e491927bba1948755823eb07e3f20acdf78653cae450e47\"\n
        \         \"bc54baf8ca1167a5050844e022220ee6658a8ddd95632e9adc1a6c14379c1c5a\"\n
        \         \"e5a0ce5dc4020809622afdecf81f18a51e28666d02b1dcda0a27b8c3d2c27b2c\"\n
        \         \"07b3802200017a7c124a4337cc4b6ea2aea75c68b440e37947e3619bcfee055b\"\n
        \         \"b2edabc4244907e0483dd3a17d8edff3a650293fd4abf5c45d1a5b6c5402ba2b\"\n
        \         \"81b7b0e0c95ee949b2a238c19956206c124e0cd9c24620b36a83bf93b96ef204\"\n
        \         \"bde5316c1f5327c0a621ecce2093c0652ddf321768d74502f1908529629bab68\",\n
        \         \"183f853d0d03621870e3ba586850c5ea59fc4e9acf3794b9ad59a1bb80181e77\"\n
        \         \"b111d6648647e139a39ec04f86187491e77b4d75c060795bf7270846d396e0bf\"\n
        \         \"ea8315795e79d76a919ea76b06eec13baf4ce8afe1e34bc22457d7b7992e0842\"\n
        \         \"efade179b0aedaccfbe2d23d3eb314e1de91c871b9db5abffb17477fba233a06\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.8\",\n          \"3a176c793a546e2d276fb8ffc328163b494997a5302aae2e5045a2a20687ea6d\"\n
        \         \"1f181c6abfe6090c8dc40256db3de08322647fb795bba1713fb57e33d53e0e13\"\n
        \         \"bedac6a658ad4ab491223881198df29367faade8be9fcaa4e483f7b7f3dc7cbb\"\n
        \         \"f97a17aad88c26cfc6410f945b54fc53db55ac803d8b73691b1484847d7f3b7e\"\n
        \         \"9394e55f0a51fe61ae84523c94b22e82396db6cfacb72e0ee494aa0f1fa59312\"\n
        \         \"5443ae1555a6a933face0074791dc2c29242eb\",\n          \"413c9223a2e9b122cd872577e52f313d41dac79a26cb1033da0b6fcc4b482107\"\n
        \         \"744bf490fa798dccd0cbd118ef39c0f559d87b89335db09be7700fb09fdbd340\"\n
        \         \"40a00be5ca42883477b06e4e10a7cb11768fcb02c34fb106e522860d10693906\"\n
        \         \"260f43d90612990393a8ffac9fd70ca37829111eeba6f3dee54ef1c16268b33e\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.9\",\n          \"068a991b32b676c64b898c67e1137282b43711b0d0671c247d9f7c48f5043e4f\"\n
        \         \"c206dc65af8906f252f0245205ea084323d4276be5aa0fc5af9c3f34b2fd6634\"\n
        \         \"df572fc313d273b53e9e36b946e7e672f98d857d7eddd3dd04393132f461f22c\"\n
        \         \"990026166f385be1595c7f23f89ff57e05a7be285d105615485f356abab1ff2a\"\n
        \         \"b927d609952a627e468ca7590acb5213f43139f8e2c9d4d17c6bd7914e53f02f\"\n
        \         \"d19a131ff49cd25ede8f418a88530a8239887f0fc797edb504647964bf31caaf\"\n
        \         \"080d5817a0\",\n          \"575da9e9befca1829546e8293815001132030e749ca51088f168bd150b1394c7\"\n
        \         \"acd5978bca03f7b9d92a29b8e2856b0da07f0bb15c0b33e05487991ad97a812d\"\n
        \         \"c904aaf0fd1e387ef1c270c6868d3ee1c611577bc4d07ff456b2439832908a3d\"\n
        \         \"cc4fc0990472fda3cc6111930b99795d60c0e37888e87ce00bbf3c1cf307f9e1\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.10\",\n          \"d6839ee6d07450327e09a03e1ec280e1c8d11500dc390a49a9c9828749c3e9a4\"\n
        \         \"bee2ba576f6d1217a8e7854a907eeb93dfff92308ad0d94e2b381f92b0e84a47\"\n
        \         \"1bf1f37a68e965f65859d1fdfd6fea844079c40370dceae2\",\n          \"a7c5f6d0de9cf8f41737f23ae3e8cf609aebcf22d5de1213d9573cb94403f89c\"\n
        \         \"0f7088fffc61106fa609c7371a8d7e1bcd221bc1ad94912fabf2ffc02f848456\"\n
        \         \"4c225c069bfc6da9f3f9f4974e08e1fe56f748ff790597906a954e383743a37e\"\n
        \         \"575fef074f060f3dd15b5ee0f94dba69d86c99223fa9c3a61a8cb2af2fab1e04\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.11\",\n          \"33849c67df9a6ffac3da90a8cd31731a0297b9d6010a03320f8845035fc34309\"\n
        \         \"ad\",\n          \"1b87051f1591c8ae7ee3cb24267039a728405dbf231caf21f3247f05858b2a51\"\n
        \         \"650b81bc5377865e4c1e8fd0364152a16bc58f7d2ac01ca679cc49dd048903d5\"\n
        \         \"5ad05f102c74b3601f25ad30624025c30b6f0f7911fc22458e5d435f388e3fbc\"\n
        \         \"495fa0c610c1298f821da538403a93364d2eabf1e3b32f8110a7e03e372ecbc5\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.12\",\n          \"b3dabaca2059a70e25cbddf4aa5925995754ace43c5d603640489af48fea6edc\"\n
        \         \"4e19cbeea2c0db62ae0a104c72e4cd56cb532f4fe577b36a8198b4879d7ff804\"\n
        \         \"2690f662773f3d6393f25898d2\",\n          \"26f13770263fc5bdbeadf88fb4dd307a38959b16f3df946ade864b1e7e914d36\"\n
        \         \"4ebf9adfd86a70022dc61b43fb1fdf8696978e2d1f6a2defee75adaa69a39532\"\n
        \         \"074050be708eaf031d5fae0ffe245ba4ff3c5e340af5dfec6a4cce0e18876cfc\"\n
        \         \"1366eeeddfce0f835b38e81881b1fc5832930fc79b08f1fb34fb224233f4c468\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.13\",\n          \"099112fae740888ceaac7054d597351d79e159a958d8121578e52c837db3543c\"\n
        \         \"fa6f8e7f1dbd2a61978645a4d385b9bb1c60bfb11bb3c8752ae31f996dbb5262\"\n
        \         \"8f93d52694f182e69035a5e557ec718262f403df5211f73c6de0d55a0ba7\",\n
        \         \"8d8c8f3a86f49edbd125c83ebf6d52e765161501482154598c283abe94027787\"\n
        \         \"2b00d0777c2e697b7883cc321e151c80116f9fcd177ac4c7deddf03ca1b2c593\"\n
        \         \"31dc1c8e947f1eb2aaee8cc941ddc5f374a63d6c9938ecd8e88cbcec58929cff\"\n
        \         \"ddef0ba2175885a80dc4cd92d6b79d9c6a81696e16f9a83a10ca8efaf1975f55\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.14\",\n          \"aa17e6bbd6db19e54bee1a7f0edccaceab635d7628fcaa18ecfafc401cb3feb5\"\n
        \         \"1f9a3731f3802cbea81c733028c9584b6b78e2055954cf9104daa677aa40be9b\"\n
        \         \"7c65b07ac4a8bf25c1149e054735cf3ce332d429bc73802445dfb3688bb81948\"\n
        \         \"b57e276af32462f7ad804d50c93bc7e9ef7537695a271af72e4bd47ce5fa9d62\"\n
        \         \"f2dac0333623f49eb9d6d78034ed1df6e12bfd04261bbe5ce040e03ebe258d2d\"\n
        \         \"052a12ad4e3bf253042301c76458ed910c5ffa705c747ad8ca0c1c6228da2c97\"\n
        \         \"e138\",\n          \"644ea076214dbddd30055d7c561892279b46bab1e12253424c28f449e172646a\"\n
        \         \"f3498c7afcbff768e046a7c2e3d9c0e7128f877b92195aa2bb9f1cfbdfd15bb6\"\n
        \         \"5fbd23efb294fbb11a3c66056d6063853bb23c274665a13ef4f3c12f5921a419\"\n
        \         \"e949b30c0bc0d77d6b28691d2364d95bf68be8d5978ef1bc9852a4f06604474a\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.15\",\n          \"28249c387a061440e98638e1ed78a4865130e57533d789108c63e15fd8019bad\"\n
        \         \"2cd1a7552bd8afd206d978eb1f2cf3f23afc4b34e6dd7f69c1fdf4fec25268d1\"\n
        \         \"865551944922906dce6dc441f94a466bf8391ad82bf5940e447110f1d15de129\"\n
        \         \"3129fb4424a1717519d6d428d66b7a109142acc915f1eac96def2c3290b01d05\"\n
        \         \"990bf8023a6a64712f63137a8e\",\n          \"5702060669ed47bbca11b91668289ea3f5e746ad2e386dd1bc2a8bab1746ba2a\"\n
        \         \"64bf15b3fc2ec8b0cc99d854fa3211c955c455d7ff2e1ee239f54f386a42bb25\"\n
        \         \"40a8758f3297e552de1ebe8eac70f35487942bbadad5bd957390ff1793af3d30\"\n
        \         \"d936b6f79b44a9b63cee62d5584da3a1fcffa5b6feeec11cd63b180f0bfc5b6b\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.16\",\n          \"e491a156fdba316a2a20a12eea50be774ec9aabeb1c398e908bea32968217ea4\"\n
        \         \"1e966db7272f0efa37c90ae4e9f38621a627a9d12c8b4e8060c545c56059e9e4\"\n
        \         \"8a7f1681367247335819ba127e65931e1d9fb70dfddf4c9956a5b04c52bcf8cb\"\n
        \         \"dfcdf2291964dafaca7ee70e80a2759cec735d01aca8ff894b689b93783da893\"\n
        \         \"9c6209dd683c60\",\n          \"9f205ba90df2d4014926481f9b3f45a89d23ecd84f5f16e67334c4caf3f3b9c2\"\n
        \         \"01a798d4eec56276598823180e078d0aef4f8fba0b25c1fda3e33654c474a9c1\"\n
        \         \"1a23b08710913dff7656f0e7ee22cc44c999c095a6514a9d2fc0ca4ef208de0d\"\n
        \         \"9293b0c5608baed1074a0cfd57b99ef8ceabfd3472b7db3ab9606d13f9bb439a\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.17\",\n          \"06add75ab689de067744e69a2ebd4b90fa9383003cd05ff536cbf294cd215f09\"\n
        \         \"23b7fc9004f0aa185271a1d0061fd0e9777ad1ec0c71591f578bf7b8e5a1\",\n
        \         \"4514210e541d5bad7dd60ae549b943acc44f21390df5b61318455a17610df5b7\"\n
        \         \"4d84aed232f17e59d91dd2659922f812dbd49681690384b954e9adfb9b1a968c\"\n
        \         \"0cbff763eceed62750c59164b5e080a8fef3d55bfe2acfad2752a6a8459fa1fa\"\n
        \         \"b49ad378c6964b23ee97fd1034610c5cc14c61e0ebfb1711f8ade96fe6557b38\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.18\",\n          \"311c88800535d1b4e9bc78651831a3e967e74b5828e014115fbe5f609ce865fe\"\n
        \         \"d241970f872ec8f23dc2bf616b8020e44564f934dcbf72386170074d920ba895\"\n
        \         \"d33ddf279369f236a19acd4feb2b\",\n          \"894663e63ec19f56203f4a446b5e2b5174c814a54cbea2c8e298f99b34c4bbc2\"\n
        \         \"c8b177ba9857d81c854436bd99af58c09dde5acad2d6415043fb40e78475ef74\"\n
        \         \"012e4d4f75b2e95885c851a23b4a255493f30c172eae01d47910fabd269f5794\"\n
        \         \"0ba443506c0522bf728a257ac1073bdf99b42956db002a30a54dbdaf284d8f69\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.19\",\n          \"b265a9777faaf158a808aae7085a83e7079cef80d5fc9d7cdc963ec9\",\n
        \         \"281e88ce190e9862903436a86ba4372716449cc0ce8d554f702d7252a06760af\"\n
        \         \"42121dd09bf6ea13f0eb252ecc76421061f5744bd8e32c5a8c4fc1f9521b3f5c\"\n
        \         \"29146dd0591291acbdc5b63b551d228ae53895b197e6e27a7068aa3103b70cfb\"\n
        \         \"30f415845c7e5287f1114e4cdfb401ed519864cf61bc469c66699b2960a0aff2\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 2.20\",\n          \"7c439e7ab990cdef956c4239479b49da842f8b76765a7ad4897bc16c61ed3d09\"\n
        \         \"805d76e8a5be8b578b951f4545df92a8a537ba3e2c13dce0a003e7b6249e32be\"\n
        \         \"941f21cda725b80407be1e28bb9e393738325356ec21741d5c86f3c2b4f7b947\"\n
        \         \"afd56b2d3aec\",\n          \"6afad77a056d07290586e913809a0437d39ab307324512b2f5bc2baf580bf455\"\n
        \         \"43eb04ff83e963a6d7f33e9dffc1fcf42448c5fcfa472719c651f81f3c622298\"\n
        \         \"3d38917e29b48485879cebb0a61d389e238c9c71c368ede4083a946297f7190b\"\n
        \         \"4cef867e9ccda8f9ffc61984fcf05d4fbafe107dacf5b1dc8e2b1495b244f8e7\"\n
        \       }\n      }\n    },\n    {\n      \"A 1024-bit RSA key pair\",\n      \"b5d707b792e056f72fd76d8da889a53ce4d8ebaa082aeeb23032e3c5d8ebc4c1\"\n
        \     \"5561319be8dfe188991a8951d4b23a51e8a9382c805e4cfd490ebbceaa20802a\"\n
        \     \"d683b05a100f29985f011c3c8a44262552d83d9a1b7c27315e144ad8df5cbe8b\"\n
        \     \"c6400fd9cbe76b7421d708aa64f040bae07b7bd6f92218f9a729284cc598cdd1\",\n
        \     \"010001\",\n      \"451792b59447cc9378a8a4d645fb22ff4bbf067061511ac836db2743a624136b\"\n
        \     \"186b6943a1cceb6f91290d933bbb8ac053a4749528236ca272cf77d9d337ad2a\"\n
        \     \"b36a87a9153c5e16716e09ba0beaa64b312526d4a8c2dc68fe09e37e5074a090\"\n
        \     \"9d3f04ab73908a980dec1da7eb4505a48bcad3b60d0160845864a6511ff559a7\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Signature Example 3.1\",\n          \"986e7c43dbb671bd41b9a7f4b6afc80e805f2423488fb431f5ee792b6c2ac7db\"\n
        \         \"53cc428655aeb32d03f4e889c5c25de683c461b53acf89f9f8d3aabdf6b9f0c2\"\n
        \         \"a1de12e15b49edb3919a652fe9491c25a7fc\",\n          \"6275e87397e3092aab3698bb1b5cf24b8cd7712becac35e32203d54314e5470e\"\n
        \         \"a9aabc8657f56434e5af9fae778ff6045c20e2e1ef7cbdf88f0075f33ea99277\"\n
        \         \"7cb7e92f7da18a0ffd00aa4671ed63911fe9e92fb4a76e77dc6e0a916576716c\"\n
        \         \"15eaef089a71a0aea35bed9447a6c17f2aadb727fd42f0acc82462381d9fa2ef\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.2\",\n          \"4c7b98120c87509087c478\",\n
        \         \"59e5cbe7331b92e0cb8f689eaebb30f2b334a746a657055912ff1c92760b0b85\"\n
        \         \"bc4282f3184b9a814f4437f825ae07d356bac69e540c90942c7f7e6ff44fe574\"\n
        \         \"f121250ad230f4b50c78311e4fd3c9e265f517ce3297c3e1dddb5c869c698f44\"\n
        \         \"af525e736401a81b459f198ad1808ccd929d490474caf7005f910dacde21b077\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.3\",\n          \"66f7075422c8ec4216a9c4ff49427d483cae10c8534a41b2fd15fee06960ec6f\"\n
        \         \"b3f7a7e94a2f8a2e3e43dc4a40576c3097ac953b1de86f0b4ed36d644f23ae14\"\n
        \         \"425529622464ca0cbf0b1741347238157fab59e4de5524096d62baec63ac6450\"\n
        \         \"327efec6292f98019fc67a2a6638563e9b6e2d15efd237bb098a443aeeb2bf6c\"\n
        \         \"3f8c81b8c01b7fcb3febb0de3fc25b65f5af96b1d5cc3b27d0c6053087b39680\"\n
        \         \"e492a4ab2367471169e52838945dba9dd7723f4e624a05f7375b927a87abe6a8\"\n
        \         \"93a1658fd49f47f6c7b0fa596c65fa68a23f0ab432962d18d4343bd6fd67d00b\"\n
        \         \"25b81b09b562038564\",\n          \"599e69c154e4fe66b36a690492faebb2bbe734e0415d9f3cf7e37828f53e6113\"\n
        \         \"0449173a33460c6b4c8dc7d681ca6f4daf1cb816d40aa9082ee1937be4bc6a09\"\n
        \         \"c6de798c8286fcd2a2b2196c59994c937f37130752612c6bff6dbb53e0647f88\"\n
        \         \"58bc383864021e6d56681920249297822246a0f528aab3ed185eebce919cf83e\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.4\",\n          \"d9344428fa8a58f8fa7b443e51fc9b51e37a70210db8bd1de7f8675d8479ff65\"\n
        \         \"7ca72955b23c6f4a0916379a4edee1f26c85e05290211eeb25832b09cbe5eaed\"\n
        \         \"3e3965b05a52fb5b16491182c5913cb1825748e81ad014f13d296dc16957082b\"\n
        \         \"1b83b4be50a0f959c9e7f3aa8077972e2b93c2effd9f308625b8ca7f54d7b696\"\n
        \         \"48790447ac91f7985e510df70d6ebc3572c205e6\",\n          \"2c060165fcc5655c0657c8fe08e05bdc8cd77c1fecb6d18b893811c99dd091e0\"\n
        \         \"d8506dccb49e33daaff6da967b99e344cb17fa3c9631299b3589818b37ed9d5d\"\n
        \         \"7894e4a69ddb24832e1a8860014ee5e5eb953e8b35484ba4fec9c3033ae2e118\"\n
        \         \"9af794a72e4267215bfe458f0fce6b37a5549ef80543d0d41a87b2c6e4d84cb5\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.5\",\n          \"8c6702daaf58f6a475fad2c7a4bb156a5706425577d5e30c6a6bd3669fd030af\"\n
        \         \"d789faa3d01018d45db2a047f52cb4f63dea360942afe476264206d983ad3836\"\n
        \         \"e155c56b2ecc08763afb9fd51d19990efc3363f657e285e03521e8cad01d2c93\"\n
        \         \"5a183ae23f0ee8710086a85b9fad4e7f2b09452ebc403ce0c0e5755a7b2f33f4\"\n
        \         \"def0db71c97931ff904a81319984bdc5166f6b920c97ee74fb7e890f490c90de\"\n
        \         \"30cac976b71723e2f86e9de1d503a41bc81d53ccbef8ac405357d9dfdf306466\"\n
        \         \"b4269580212e9d7132\",\n          \"0d89fcf844a9dc223d5f638dcc3a5978716f2628b8a83ab33e6e255ff8aa0157\"\n
        \         \"8c14e3897da45aefd63fa87cf35e244bf4828ecd21950f3085a36621c9da1bbe\"\n
        \         \"7ea62731c68d4de0a376e22dac2f548cd4ba4a542e710f55ce85a9c19593c08c\"\n
        \         \"87d296d63587b3fe2c5d1165ee27744c75d8f4f14371637c0c0a446276289583\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.6\",\n          \"56f4ffd1279dcfe562a9ddd41ecdf60a3ff58246bfaf9565cf674b0b9075f40e\"\n
        \         \"eac08f0b8966618a196b1228ebce93fc9dd79bd463ea7d2c974d2c2f539eafb1\"\n
        \         \"b2bc1ea34d74f720e119342ff7131225aa9ada894b76b2ecb12f2f402844b442\"\n
        \         \"5cf8f1a39b0a9c83b45b03cfc0d15fd314d6abf532b8edfcf236514b2e458697\"\n
        \         \"86fefe27f54d666ee524e4b9c053be397501582991fa2d802c7d1b178b23e9b6\"\n
        \         \"ece6fd2ef0132c0601a86f0768badc59c5cc33f24ded554ae51ae3ec23f9dd08\"\n
        \         \"9e324a6821f6157f128442ac5807658ad34026b8fcfda6dc7f02a93c166ec945\"\n
        \         \"ee\",\n          \"0deb397bf2cff979d4719c648b0a3525351f5e08405ca2614a83e56ace86f552\"\n
        \         \"e41bb928de50f0bc0fe31a2ef2ad799fd3cf4742b1131a37bd08f2a13cacda67\"\n
        \         \"f495c9f1a9ef64857072329f00cc4c012235599a83fc4594fed923034901edc2\"\n
        \         \"7d5f05799834935cabe264ffc19663714d8c3de8e9619fd2842d2298f7a72c99\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.7\",\n          \"0e79ac9c9c0396d969fb3f7cc9947b078bac493b0352c8e0cde5463ea5c1184f\"\n
        \         \"d52a1fb748193c147a74800d24f751ba935e19c9115edf072288330bf383f495\"\n
        \         \"296be1aa4a5095b9573bcbdb228a43131237865d26dfbfcfef078f359f9a9562\"\n
        \         \"e25b696385e12813fffbc8d529819a91451d33a50726392e4fef29418cca2c73\"\n
        \         \"a068e60eae318470331a0f1db4bbb637173be80fea03c82c15d00193362d3a18\"\n
        \         \"ad9e2f680500d7265b1557033a520977d810fc\",\n          \"733b7fea120ca5f0359a8905750c49c363d884f56c2b7a729fad7bff445a1e54\"\n
        \         \"798941745393e1767712ac4b9dd2683888d9e68b905dbab87921851848727386\"\n
        \         \"02eaf4a80f4595f78fd4a4610bf8220b86a2885fda24e1996428ccd15f2008e0\"\n
        \         \"6851b2eeadc3dc8e03012f9bdb3ce0575ddc3adc7c5908498b69a797ba5829c7\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.8\",\n          \"22eb7dba73307c7c52a07ced89db8bc5394aed2272f7e81a74f4c02d14\",\n
        \         \"9ea4600a1a6549fd3975f6498a04d69f96fad0e8e6febcfbe01c2f83170bc74e\"\n
        \         \"b91f2e335338d583e885aac61424c9b266c3d2d98e7977ffe495f9c1a6ee5ef4\"\n
        \         \"1a4cc7478c24b316c7d9f6dbaa65a4cadef181ca946f9b92184faeca8a1316ae\"\n
        \         \"ab5cd3878c6df074f9060b9db66dece9a9367d7549035ac6bf1962365e1fd3fc\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.9\",\n          \"f680\",\n
        \         \"51639061fa7b7cd5df64b30a394ccf7e2426972aa1dcf5d45eb8ec2cd90b9b19\"\n
        \         \"6892be5fa03c43f3c3723ae3130d6151b33a637cfc50ba3526a7396cf8479c50\"\n
        \         \"8c1811810d68b3880af6e64b16bd7079be9c003929512261898fa57c06ff7e1d\"\n
        \         \"8039fa993fd2056ac7019b8dbcf2530d5380e601a4a1871b86c20bc1c489c5f3\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.10\",\n          \"650e64ed1da88bcf8ae27522be1d5c9919f2099dd632455f66d9afe8baf46cc8\"\n
        \         \"a198409b0928dd87226284d669bf01bcec44376cb0e9bdc686acaa8b46348608\"\n
        \         \"5994cafb5a8cfc33d49ceef479fc6e04f8eef637eb68cb57818d5f9770ac523e\"\n
        \         \"d5b01638367ff47f\",\n          \"503e05661d681eca574e0230af2daa877b90516e5e19728c91768d6eefee001b\"\n
        \         \"35419c5fcb5611d60e7ecbe3c95e5c88ba93460704f1694ae80444eb9718a08b\"\n
        \         \"6686fad86e525990c3c1a66c8c53aa31aed8cbc40fd54f5ff8a134749d79d38f\"\n
        \         \"bb0d58442678ff2f70c6c50f25472a72d63205e782423df40b6c43de03a18f8b\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.11\",\n          \"57f8ac6a9e468b7f1f745dffe39e9cbf9024a0ff36e0228392be6b2994291776\"\n
        \         \"b89c0a4b1fa86b2ec8bb7c3e64f5585afa77\",\n          \"90be16b408b385739539b3b9a29b94c729385f79dd4a79811e6f67c80ed359e5\"\n
        \         \"f4b2a19c222a82b3d6d62a903fb180c1f43cb3fe06a250bcb0e7c688665c8368\"\n
        \         \"a11ab1160adb740291352b3838b6923a4a37ad06040a535920dc0f10579ecf48\"\n
        \         \"1cd4413717d7d4d960aa751a743e2f7c616e542ee65fbbfe24660e101daa2bdd\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.12\",\n          \"80ef01aacc5bfb0db48c6de3d81495b9c2311a389389f23b70c024da4478bfab\"\n
        \         \"2bfe4e546f13fffdb963894ec6dadb3d2b0ee337f11631058eac8609e5a1554a\"\n
        \         \"f797a9f9ab478c2d5b9188c825\",\n          \"44c3f51dcc6fb2b4e70f537f5464c6320ad42e2128fadfd9a7e937cd65dcbf35\"\n
        \         \"ac66cffafd39283966f2f15de527723550715a31042945e200cc5c86faba5ec8\"\n
        \         \"abaf509c0ccd64d99dedc76e3ceaa8c447179337f4a0777b11526e472acd413b\"\n
        \         \"4ac7c303cdcd84cafc025243ef006f79ddaf55c15cc4a8f15ea2c87f05773814\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.13\",\n          \"ac17959155283b0c7cff515c3315d89bdfe9587cc00120d3ab31bb7607bdb301\"\n
        \         \"caeaf5e15f5a6f58c9c568ffb3d23402516ffe230c6981a81c178a8a18ca330b\"\n
        \         \"b8ecafb481b249b466a8cf78b70d9e78a139a88f484cce7c2035b2e89d493bde\"\n
        \         \"885e1cde42cb1a9449ff570dcf9e33c5cc77b259bee28305396802edc16fc5a8\"\n
        \         \"e10b56da2da786b5fb6c812b2e175b696b1a9a96fc722a432146450f07a648ef\"\n
        \         \"3ccf996ef3081fa5bb4221c913ba2228970c9b0ea5266bff\",\n          \"48458c72f067dd9ab720ef160cf3184bb9801e26d614a889a835844107ac0165\"\n
        \         \"0b1184a00bcaa7af1ff7de3a2ef2e7ceb5b25c3b5d5bcb29865934324748c68f\"\n
        \         \"07de174e1780a70fa24d6a3a9f7a41b81937c4984b2cbe06b3d7b44cdae9cbd4\"\n
        \         \"1632d00943c3b573b1aa2912750a9aeb07f110130ba361dcf8f536790d607847\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.14\",\n          \"99098f77f6ed35c08fab3fa9788693671a5800dc303c9cce424616fa0c7ee888\"\n
        \         \"8687674ca88ab22a5ff2d12e2b388b094ffd7dbf9a0927a9621717151e08ecb8\"\n
        \         \"ade1559f4b48e23d31cf57cd3884dfe2b3e4b260e896029407969496026c74a2\"\n
        \         \"1890d9a9afd2cbb8f2830a566aed24f016197401a8cd22c82fb8b22891845824\"\n
        \         \"0a23d10185ebe772dc19bcfe3e44922fe73209c1ee0040079fb03b827c8217d9\"\n
        \         \"ed7c98c95f30974fbe4fbddcf0f28d6021c0e91da60ca2ad77797ece86de5bf7\"\n
        \         \"68750ddb5ed6a3116ad99bbd17edf7f782f0db1cd05b0f677468c5ea420dc116\"\n
        \         \"b10e80d110de2b04\",\n          \"b46ae866139189b6b171a76205fb9ce041b40298e5ba92c2e9cc0bbfbb4a7642\"\n
        \         \"5de6ce13021ae1a4a942299f98ff89f552f43a9073de64f49c2ca3620d09d7e6\"\n
        \         \"e3fe28221e9368987e110cd6067106c4db31a03890236796c84252f56c95034a\"\n
        \         \"01c5fe981e81b654855aaf2747501155720c2193f3a1d10f49fee90c52fee9e4\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.15\",\n          \"ff790642305bf302003892e54df9f667509dc53920df583f50a3dd61abb6fab7\"\n
        \         \"5d\",\n          \"07563247734f3c3d7a3102bcb45bb5681568ed10f2ec459e469e1a9e3409a139\"\n
        \         \"fb151b98d3f3b62daaac8b8f8916df85d6dfa9ab760df1e15ac89044e579cf47\"\n
        \         \"a1af6cd6ec704ced9b034c6aaa90d0e70e0852140e7541f2efbe2cf190b95894\"\n
        \         \"1ec8b5974f9c444d26c34316c9216b6595e656bc6c7844fac16c515260928e78\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.16\",\n          \"e99fcbf8592dbe2d7e27453cb44de07100ebb1a2a19811a478adbeab270f94e8\"\n
        \         \"fe369d90b3ca612f9f22d71d54363a4217aa55113f059b3384e3e57e44522880\"\n
        \         \"62afc08fcdb7c5f8650b29837300461dd5676c17a20a3c8fb51489\",\n          \"22746436164e63937871c1d47d8e3e70c9e52d1117316bb154cd552e836f2a3f\"\n
        \         \"be6d89d6074b51b0159c26c28df75e3d7cfb7cf002f65d1ee521edc2c3a65c52\"\n
        \         \"6c98c7c025fa8bb631470916d301b8f7809ddd919ded31a0d46683ec5bb44170\"\n
        \         \"616eabcd970205ed760202d0d87a65795908b28d326f936213f29feb59773491\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.17\",\n          \"6a6a0c9b5b15bcda196a9d0c76b119d534d85abd123962d583b76ce9d180bce1\"\n
        \         \"ca4af870fbc6516012ca916c70ba862ac7e8243617306f4f9ab9501199cef55c\"\n
        \         \"6cf408fe7b36c557c49d420a4763d2463c8ad44b3cfc5be2742c0e7d9b0f6608\"\n
        \         \"f08c7f47b693ee40d2e180fae1eac439c190b56c2c0e14ddf9a226bae17d2038\"\n
        \         \"5d501955823c3f666254c1d3dd36ad5168b8f18d286fdcf67a7dad94097085fa\"\n
        \         \"b7ed86fe2142a28771717997ef1a7a08884efc39356d76077aaf82459a7fad45\"\n
        \         \"848875f2819b098937fe923bcc9dc442d72d754d812025090c9bc03db3080c13\",\n
        \         \"419322facace76f2d5e2fbc19aab86c718a28064f1d7b4c662f0474a8777a959\"\n
        \         \"bd6569538c16081c0f52698b2f001730c03b9a3d26947374c961fdeda115b6b7\"\n
        \         \"daf66518f1fe820f67c3ff12f0bc3f1101e3911c43906b0a127e50be0140c5ef\"\n
        \         \"c435e2957b442e60ad525ad70ac9ef61c3d64f0e566cbc1f9d51bae1d47271da\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.18\",\n          \"3b93ef4a555096691915dc23c00e954cdeb20a47cd55d16c3d8681d46ed7f2ed\"\n
        \         \"5ea42795be17baed25f0f4d113b3636addd585f16a8b5aec\",\n          \"ae211f4f77da1be6af9c9ea704dbac4b3f3e270d2facf3651d787d0ebf59a79a\"\n
        \         \"39612da12d57c4ac8abc728e1da3f01a1520fc9b32cb0ffe008c8069928f83e1\"\n
        \         \"3590a78b817e819fbf2fd05893ece5b14186d901c768e342dc54722345ae8aa8\"\n
        \         \"738d4d5970c5085472bd9899fa0042cf14bcedffdbc0ef50819075842fc36bb8\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.19\",\n          \"49ffd56bf7efc11304a5afbc19d479249018fdf4e09f618726440495de11ddee\"\n
        \         \"e38872d775fcea74a23896b5343c9c38d46af0dba224d047580cc60a65e9\",\n
        \         \"68fb0bd519bf6f96e076af29012f3c3a1137c0988de7b6fcedf4f51bdfee645b\"\n
        \         \"897f17709e05caa0b113500d904dc0600d17a9ff8eb02e1efc9c467a24003ef8\"\n
        \         \"1e727467c47dd656356d70372a15ea884121634b015d29511f2895557799079d\"\n
        \         \"03c6d4de259b3b362b80492d81bc9fe8544463ec030bb5c9c73c3274e3ed1222\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 3.20\",\n          \"bc255af89a6a199bca4a391eadbc3a24903c0bd667368f6be78e3feabfb4ffd4\"\n
        \         \"63122763740ffbbefeab9a25564bc5d1c24c93e422f75073e2ad72bf45b10df0\"\n
        \         \"0b52a147128e73fee33fa3f0577d77f80fbc2df1bed313290c12777f50a334db\"\n
        \         \"6faebf11081a04f87c2d621cdec7930b9b183a990475dcbb9cc7f345a3b55803\"\n
        \         \"030cf0361a5d8081\",\n          \"41f652df79fdd26de95c7a98fa858713fb566d8b39928e71764b2beb198403e0\"\n
        \         \"3b7e06dc960c505157bdf40592c4d77503fb72a4e0055f974fe939448da368f5\"\n
        \         \"3bd2efe26e6f9a254b3e8732aad81687b361e21a40cf3e5e92389a2b489c05c5\"\n
        \         \"97f0e164e267709372004327163562dd8a0adbbdfe3bc616bd08429684c20c69\"\n
        \       }\n      }\n    },\n    {\n      \"A 1024-bit RSA key pair\",\n      \"d131e09243370dd2cd5425c8d030f99adb105b147b8a3d0067c616443b7d4b96\"\n
        \     \"8238e06dbb5f2028e853574b7c14be1083c1e57e132c1df4a3a2713263fade12\"\n
        \     \"f7114f4369bbf05620554841331ed811005052192572ceb48d662407fd3081cf\"\n
        \     \"ab8b48c7e92d3c4a26a9645a38e6dee88bb0075975a4dad9646b21603840af5f\",\n
        \     \"010001\",\n      \"56b531bbee1837a6946cb86c8fbe7cf6eeadccd2a4921bcebb34a3ae0c6a5696\"\n
        \     \"3fcb8b5a703b717d032ee813e58e43695cf35547f87264c82dbafae844008b62\"\n
        \     \"d9122e9de8958560c8dbb007727e7139e0a982e0758814113de54ba0a4551751\"\n
        \     \"fca0fcb12d8de30d78b8b11298a7f78f0b088f1687053c84a5762f62a4bd05c1\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Signature Example 4.1\",\n          \"2c936bf6133a9693f146ee5a1a91c2f169b2e644a518e85a75f6e43b560d4a72\"\n
        \         \"f38c64f84c05240e8b4e55786163e7276265ba213ba93dee1b2e102135a989b6\"\n
        \         \"248e88327e300361a74f2e9bc41f2a37683f1a1a15f9dd472e118e1c4b3ede58\"\n
        \         \"dd70f3bacc252e0c654b0f7a6e41a9287510efa03bc92e805e5b2c913f51e25c\"\n
        \         \"7f858640cafac9d3c917686507fa94f8866f869a4e5a6a3d4f9d97ed8137f414\"\n
        \         \"d1447a86eef9e1496994ad2da597\",\n          \"9e93f7acc50fb3a0b1243dc338c8ccb12bcab4aa450440b6306c81b50b8f95a9\"\n
        \         \"36dd166330c699b28580da1be275616402da85bfd8eefcd6993587e6092865d8\"\n
        \         \"253b04081d572f262759f556dfb911e8d94e92e55af6d5898018ff33e5f6b1f9\"\n
        \         \"901996e92faf336e2dcce3ab0a93db932e942cc6478d6cc2fb660811910ccd17\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.2\",\n          \"94323f7c38b995cc6bd85d479f8de2dec1ef2e84b1feefecf39150b5d9f2cb15\"\n
        \         \"85ac0d719ab348bdc9750ddb8e3276db89818735bd6231413cbca2de941b55e8\"\n
        \         \"cfa1ab132cc78aa4f2b51fd6578ee2e032e90e34080f0f8e3db14d1b56f3d077\"\n
        \         \"f29dbc0216a41344998c0fe1ab412247df21e74ec22f5db0148ecaf473eeeccc\"\n
        \         \"14ff9e45d58c2e62b5fe6a501ab96fd7c5eddef14aa89266692e\",\n          \"09402a4356be73449b469e3631e1b02307c5cac2ce1528d784fab926dff51f86\"\n
        \         \"241b9d66f79d6d8eeeeb249d76fa9f166ff9a8c6a39e832d5d14b9d7ec5a3dc2\"\n
        \         \"8f01ebb06e39d59e8461b955b2a7f5b1f204b04cc6cc62646161ac1c2bf5bab5\"\n
        \         \"0f068c908d28de5eaef7e8ebfcabb09b7d75d83540dd4b354d131d86f0770717\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.3\",\n          \"0e233b2549bdd21ba51480da8e3dcef4db20e0dcc05ee237351edbc9a53c52f6\"\n
        \         \"74d105fec0939d3699647efc1e25cb4e9b1ab752ab6fe28869ff73f23e01eef8\"\n
        \         \"674c535c4c9335f798f1deecd489d06dc88fd6bc1d4996eff72b439e3c014dd1\"\n
        \         \"4cbf17715c158943de2e6f971c349987a1b395d682c3b0c17b66cd3ca41060b5\"\n
        \         \"7111e228314b2d34b5e44e55f1c11c31a6eb80b5f82d96bd4a17\",\n          \"d075be06cbd6223e871b0f3362a797de282da5c40323f37c2cc37465a1a86368\"\n
        \         \"ddcfa6daa135866c3203d0472260b29c3c9b1b8894085d547c5eb931424f2414\"\n
        \         \"0a5cba153bded4b9ce7daedc645d3980c5f583f76711c67b193a5212f2a9354a\"\n
        \         \"6796af090820913134ecf305befb6532cd48d4113a0ec4869a0a5655dbdc7259\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.4\",\n          \"d47c0f5c922e4f809e9ceed207f124a5acde37fa14638e8fbd0a72fe45262195\"\n
        \         \"8e37682c6ff283f3d51da152aa1f6374cd27d2a4a533053916dff1c07ba93631\"\n
        \         \"7481696360690458d8d1e5d66c35f9c99a5055d9f7cfe7605cca57eac335ade2\"\n
        \         \"eff6b5aa627d5b\",\n          \"11860bf4d74519ff8cfcce3d33e3aabdf77140a15636b2678df9673144c241b0\"\n
        \         \"a99a0a37f292cad51df0b63b14f8ab17e3fa15587790fb062b5f266c166b2ca7\"\n
        \         \"5157a0f9e1a5c8ec26b9199d07187799806a1de98715fbe52757a703773c918a\"\n
        \         \"000c211a78228525cb52eb441b269b3f33050ed1935ac0e8596319ae80c75b84\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.5\",\n          \"bebd9ddea3abf9f8eb58559766f8b3ab83535238c43dcd81a2949303a95f055a\"\n
        \         \"8340ceee1615e58df1e014c7552d769f8841ba09975cefe7e48dfc6a2649e820\"\n
        \         \"03e7bf420e70101b327d9170f73e8d887cd298f53dc1bfc882cf0efcfad6e86a\"\n
        \         \"0e7f9094c4f26c46921e09\",\n          \"84a26fbe67010aa1ef2d6c79263239b978f4e893dd1ec6f07d2317f151a2a1b3\"\n
        \         \"23e505f9450c37df6b1bf3e24f38b636bf774e96741ffaa769cfd7a8a6b3a5ef\"\n
        \         \"aba23aab3a437a225bd94186e91d392bed2ead8a78f381f40949cf1f3d272458\"\n
        \         \"1f25704bdf6608dd119e36d87d0355e6706c8a5259fd60c8df13bc62aa9fd57a\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.6\",\n          \"9d198e2c6e12f74a9a081bcf70fc04168a49e09c5faaa011e9a09e2c43ee2cd3\"\n
        \         \"9bb2f7e5682deab1fa111e41a3194a20a86da55101824d3d78a7e32db2b60aa7\"\n
        \         \"73770b573907b409a2592c83f347febb2d5c85e9255d6dc12aaa335adfbb5dc8\"\n
        \         \"62d7861953e2687d5303b686fff9634ee4d15cbcc29f7a3505a73deb6f9e388e\"\n
        \         \"9685fff4d5450f1e3275359a2b99440c6739f5b91ebd14ef78ae73c1a61911f5\"\n
        \         \"ae3a2b914967491727818065ee010df49d5a16ed8dcee848ae0948a2524eac7c\"\n
        \         \"4ff9096ced61357642c5e0f80680afffce0ba7eb59589949526ff51235cdc72d\"\n
        \         \"47a27b39b8d4ac849c3bc04fa836cf184bae0c83415956\",\n          \"38ef245b940d93970a503bf43e28e17b8aff083ccbe1e9c48e4d80f516c27d08\"\n
        \         \"5ca2a4e573236a2494d9b997f812484812f66525d06c0a0bb2130c15d6ce18b2\"\n
        \         \"2f3cee57097fc0d558afd9af27f151f8436fbc87d6be6142647a17e04df6dec7\"\n
        \         \"0a95c7daa84ede94ccb43e1d2c37b945817310d14a22b5b9ae611448ee41bc70\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.7\",\n          \"8e8ba8436fe3104b7ce2a4efc36c857d49e849c0085fc657baa0331793b3f36c\"\n
        \         \"7ce738b6130bfac75e5011f32aa3d1\",\n          \"7844699f1c4f296e50261f1526e0dd84f01c82cb85fa24609eb03358752c6cf5\"\n
        \         \"9994d84e12f46a7200cf5ad97c08dd4ffc44657db57214cd1f4eed6b77d239fb\"\n
        \         \"58216988c5e5bc735a4fdff408eb9f1279d65bbaf6a681924418349e62ff5e58\"\n
        \         \"15eaea592d90d1eef556fcd4d5b4b89c6c70739d6f0d3d0bd16a50f1e0024e98\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.8\",\n          \"585fa6a7f77a4b6eba5690e73e7128b72e677cdb3aaa8629ed61f2ee63af1a71\"\n
        \         \"ba87136a52db1a3321fcfeb248bf2e5cf5c639571d5895adf1fb0617ed140a2a\"\n
        \         \"0d9837c3c1d8450c289d33bc962379d73e3087f2b7ee6eadd6650148c042b6ff\"\n
        \         \"04482196c718fdc0ce579ceb62a81e584373eb937540c426b5566a9f407cfccf\"\n
        \         \"bc4b753694af0df4cd6aa9f16546a63394a0f6577371343ffddb651a62a3a58e\"\n
        \         \"ddec67a29ccae896563c63e3c90d54d91358adf194e6aab1f9\",\n          \"6893351c73915fac47c962cc6017ca74a5b5ee4cb1bb5a10ada2a43158a2261e\"\n
        \         \"b27b866db39d3590b4f8d20ee67cb1a5789463150d839343232543c826505101\"\n
        \         \"e1d2570426ab9fefd65ba84faaec731f27374ab10191c960831693f29a854c38\"\n
        \         \"128599f7287749b0b48bf7e9dfdaedc84eece071404584730cecce0d5cf005cc\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.9\",\n          \"783c18b11f\",\n
        \         \"132fdfb84193dfb79fdfe6babc2efd39b26aa20968a07c0e41560ee4dfcd4fca\"\n
        \         \"7917490f24e8df84f4e0115a3e63273e7a3b128abbbd17b8aa5a06ba155ecb23\"\n
        \         \"0fe797260479957010e44ba575292ec3f151abf48e9103e55142ec67a4134dd8\"\n
        \         \"f38ec659f9a789fd0341cef2bbcf9f529b93218fc3e43a766969d1bf87884807\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.10\",\n          \"96dc98b0eb84f55948307addeccbe76439ca3658bc36359624c8fe2fa09c52e4\"\n
        \         \"7acdc32a156d907682410a8567abcafdc6d8bb5325359ec75ffdb73ee0a9515a\"\n
        \         \"4ddf9a31e5d519460374280ada30de7dd534deaa57\",\n          \"8fb43dc8f06f2ba48f19be5b1a0931213a990aed9c9fed1de5d6f35a2a782f0a\"\n
        \         \"198ff6388d96e9d59b88e97822f349ff4164eea50a62935c61cbc76e3df75f68\"\n
        \         \"4d962475e563596496c9880a48ed978a6315a345571791cb2ddc88dabe418798\"\n
        \         \"a6a441c47afbb1cd15213eca3b1115ec8f58f877be8fbd38f4fdaef939f52640\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.11\",\n          \"372001599d9930c7d557458b436decfdc14d06cb7b96b06718c48d7de57482a8\"\n
        \         \"68ae7f065870a6216506d11b779323dfdf046cf5775129134b4d5689e4d9c0ce\"\n
        \         \"1e12d7d4b06cb5fc5820decfa41baf59bf257b32f025b7679b445b9499c92555\"\n
        \         \"145885992f1b76f84891ee4d3be0f5150fd590\",\n          \"a897c7f972e11749e1e7c155ce9462aa7e1cc0a979c12729795126cb8c0ea502\"\n
        \         \"21c426f1bb06c1caf7c51ac2fbd94d688da67ddf3ef66606e989a16de1f92b17\"\n
        \         \"706f88e87d9f1469a005c9fd76788ee8c4a7f01209e28b86f674881af57db6c3\"\n
        \         \"429b6fb45698bf5d3007f61c7d441178ad1243a49b2aa6029bfe902d26e42375\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.12\",\n          \"bfbfd07321f0f1d5fa9fdf0014c2fcb0358aad0e354b0d29081b233b43567750\"\n
        \         \"bd6e78\",\n          \"c24d31049409aa16d3f972ef8b7595eaa007833e2bcdc7504852f2505fba1fc1\"\n
        \         \"5f19a0eadde8335c7306fc3f51661da520ecc8db7f473885cabde93f0cebf1df\"\n
        \         \"9e8a82370b00a043ad632cdcc78f3fac1d8a3757fc8e5241bfed55c49604ac19\"\n
        \         \"abdac0c9c40da373c15f3c1bcc973ffb4f8b7b5b553ae075e1b1bdddd23d7d2a\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.13\",\n          \"c69739d22ac8966bf11c116f614b166740e96b90653e5750945fcf772186c037\"\n
        \         \"90a07fda323e1a61916b06ee2157db3dff80d67d5e39a53ae268c8f09ed99a73\"\n
        \         \"2005b0bc6a04af4e08d57a00e7201b3060efaadb73113bfc087fd837093aa252\"\n
        \         \"35b8c149f56215f031c24a\",\n          \"d06d32260da2db48104fbdc24e16a65b48737d43ce243704042aad6c03fde5a3\"\n
        \         \"dc0f2cc6e3ad68c3c62eabfa1f7b1cab009d1175aff77be58fb12a4e58127fed\"\n
        \         \"63ea3df44181bda38c773c83b9e804bb3db7963263df30e92c4c271956e7e810\"\n
        \         \"452c15e06e939666df0c8334033096c07dea05b44ebb142492e7669131ebcf2c\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.14\",\n          \"733047f336f9154738674547db02a9f4\",\n
        \         \"c113c0465c84cbfb0fa1bdbc54c3e1068ca23e69b8391909c3900fe5b4e7e3f0\"\n
        \         \"34c9a988a3ddc3c381756a1e1a27c1ecfb3a70e1ee0e920418ac4ab6d9532b8d\"\n
        \         \"0959a653b4c508670663462b2e135816b694a6b9b468a29f38de53bfcddf97e0\"\n
        \         \"3d8dd24f972633a49cf3eaae1d6962943860dd254340086b10357b80c1cfbf31\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.15\",\n          \"a9740b9aa0d34058fd3b906e4f7859dfb07d7173e5e6f6350adac21f27b23074\"\n
        \         \"69bd0ce19549d0700120cbe51077dbbbb00a8d8b09de8d8396e36507fe1ef6a1\"\n
        \         \"9017548e0c716674c2fec233adb2f775665ec41f2bd0ba396b061a9daa7e866f\"\n
        \         \"7c23fd3531954300a342f924535ea1498c48f6c8799328\",\n          \"4fbd4fb23704f4149ada327fa53388526a07dd43d915fcbda9a13bb2a3738f4a\"\n
        \         \"db1c3db26ab69048805a80c81605c96d68f841802f5abb02057b611fe2f39471\"\n
        \         \"6265e545252c230ce474aff0bbd4ff1f3808496036a4948ca7a110ff26c638c5\"\n
        \         \"0f3215b28a09f23af6f84cdc897898d0fd223b13481fe892b1a58ba2e4b3685b\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.16\",\n          \"af8f0887c219004d2abd894ea92559ee3198af3a734fe9b9638c263a728ad95a\"\n
        \         \"5ae8ce3eb15839f3aa7852bb390706e7760e43\",\n          \"327ec9d0be7aab7bc959d40227e1d00481fc04011fe08fd5449b90c0f054e0d6\"\n
        \         \"59b926cc812921c20a563c4abe4f825d6b5eef57b3e2d65d20a8013a50dd5c93\"\n
        \         \"238cf049f2ff0c7ebeb8e8caf72e46e7cf8a0c3f4925616b1bc1826ffcb0bda6\"\n
        \         \"0bbebedfd4c60f2788d1666fb84511853646c2dd466851fac85be0ed5ace5fe2\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.17\",\n          \"38df86557f375d09ccd8bd15d8ccf61f5d78ca5c7f5cde782e6bf5d0057056d4\"\n
        \         \"bad98b3d2f9575e824ab7a33ff57b0ac100ab0d6ead7aa0b50f6e4d3e5ec0b96\"\n
        \         \"6b815779a91b3a8bd049bf2aeb920142772222c9ca0c328c659e0a6437433cce\"\n
        \         \"b73c149aec4a7480d5bbc42920d7ca235db674\",\n          \"3046055c2b8ef7fa92c8a9e395985bd460fb6b47986553944d21045119f7e761\"\n
        \         \"7e03fe80870ac6aabf63b096cad5cce7f506953a7f693fe137adfb97cd458128\"\n
        \         \"ae95c47ca948dacf24036adeaa48f29a469fb513191e05acf79e67a793a3af5e\"\n
        \         \"4f9c6d0d01fdd0e0cd4296ad3da2ca89a50eedcd9f7b877d2ae1d58d98dcd78f\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.18\",\n          \"cb34edd5ab654041b6143056\",\n
        \         \"1ddf48ba5351bed0795f55b306aa1c6ed836f592ba93cf0c46b7c273709d36b8\"\n
        \         \"dff02abdb1a768d1c7114a86a457496da579e4d819f72a192e298be2152f7cf3\"\n
        \         \"9d1e30827d0282ccf34dc8889f1c2f5970930d9735042f8a5a712263165d6e6c\"\n
        \         \"5035e2e4a50e863c06799e3c89ccb5cb0e70b3c99c084030677a7c97907a1724\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.19\",\n          \"5b09ec88b1527178fa043263f3067d9ffe973032a99f4cb08ad2c7e0a2456cdd\"\n
        \         \"57a7df56fe6053527a5aeb67d7e552063c1ca97b1beffa7b39e997caf27878ea\"\n
        \         \"0f62cbebc8c21df4c889a202851e949088490c249b6e9acf1d8063f5be234398\"\n
        \         \"9bf95c4da01a2be78b4ab6b378015bc37957f76948b5e58e440c28453d40d7cf\"\n
        \         \"d57e7d690600474ab5e75973b1ea0c5f1e45d14190afe2f4eb6d3bdf71f1d2f8\"\n
        \         \"bb156a1c295d04aaeb9d689dce79ed62bc443ee20c\",\n          \"af56fc329739e2f7754b6ca25164a6fa58f685ddb742b4841d73a5e2c4c45343\"\n
        \         \"b74dfd2f0d370edddd36a017564a8d3ad402e2a341c972062c23814a00131e17\"\n
        \         \"b1dec7b4c57c5bf1d4fa79222937a4dc5c00235f853dd23dc9757f335c85c207\"\n
        \         \"eb074d4bcc243edaa7831b83135655e2277ef29e7aebf34a0f7b234a28650a30\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 4.20\",\n          \"3c330c1ef718c141e47b8fa859be4d5b96\",\n
        \         \"0b1022dc38e217fd3b0e7ef19dfcb4b456366240983095f6db965831a70f0f8e\"\n
        \         \"20e2dd2ac231cc379045c27365e73a53719bb6f011c3f8636b64994ca480602f\"\n
        \         \"b3b4f0e2274b58b363e0d308b528e15859a91dcf99bffefbc8052241b974192e\"\n
        \         \"636218f398332dafe8259ca5f5ccfa54c9b32b2735af0724f40b5a5d6121a40d\"\n
        \       }\n      }\n    },\n    {\n      \"A 1024-bit RSA key pair\",\n      \"c55ffbdd6a2753bc02af20ae18ea0daf230bb6f8795d05efecc815baece22b38\"\n
        \     \"79995f6d9764c1df8f97851381686266b8092fb6011898a76707a4d1d5bda08d\"\n
        \     \"246c687a8bbafa6398ac9ea2726823714a0c3934ca6e5f8ce33987b534857ea9\"\n
        \     \"f85cc4e19a1d2183e0e4c8aa55cb227b0e56ceb2b62b30efc78864b2f9fb9249\",\n
        \     \"010001\",\n      \"07e3fa71b398b6e44147370b3ebbbca84fc25c223ad7d930ea4a6573ff9c5b15\"\n
        \     \"fae682c622d3485ce3a4af11448f23bfef838e80bc327b87d5ba9c80370749af\"\n
        \     \"c8c1c017546fc6b65931b759ca4341fa5e5e10b24087e6e2c0f4dbb790695299\"\n
        \     \"9cbd90d2435fcacc9c82e48fdf24e495cff30ad419e7123e3ac942272e1abab1\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Signature Example 5.1\",\n          \"eae9a40bff183f4114732e7b3ba556f4ce288daa83e3ff23611244a7a0901f11\"\n
        \         \"7d86c09c33a5232bd320fa37a238a8aa62dd21abbfacdb93fa1c44cc55ac61be\"\n
        \         \"a24a6a34cc6476753837e16facd82eb49e1c57c958fbbff568887cf82eebe961\"\n
        \         \"e580e064db9cbec3b53df1f27199e49a04cbe59c69a265cfac8ce4f91ca95d52\"\n
        \         \"b1145c8b9f4440b39c185094be184874da5971d7d763fe07ce16e57f1e50d228\"\n
        \         \"6504b481e2c685bc9d9c01493fd3a6d8bb9b2e96bfdeb6c92914ca\",\n          \"44ceb442242bae085994ead07b709543ea2395a6e8d46473d70df34a9555aa56\"\n
        \         \"7f4da138e963fe9286a84fb7c5cf8200035904b50c32403cae517bfa7fca8a66\"\n
        \         \"fcfd632af747c49cdfb0b9aee35228b7dc4c21003969b0a013ede1292b65d10a\"\n
        \         \"50c90263fb0bf4f4b8376641b03e1fafb883f038f4323dfe5beac468deea99c3\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.2\",\n          \"9de5ca46748561a0b928b260a95a3ed920adc8d5eeb9271dc71bc14f69ccd631\"\n
        \         \"1d186a779f5eb8db17c690d6867cf3369bbff15fabb3cd2cfdd6f7d75286ff2d\"\n
        \         \"2499c5abb48ed54fd4d849a9180e110e0a53a721398292110fe8be26\",\n
        \         \"445ff5b6879f8ce75395016f0495f13135b179e73a3caeb330e3cda7f31f1dcb\"\n
        \         \"a7aa82e268c935e9d7014e0b0dcea69c7b968adb17424a64dfd1e2bc5707f920\"\n
        \         \"fc0c83cc63dfc74b963e682b46a22ac256ac6be5709c07cfcc3d4eba3a1d61ab\"\n
        \         \"15f1badb0a49fb5cf09a1f7481a3aaeaf7c257540377aea7b54417a609c76f4c\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.3\",\n          \"183ba1a3811d625ca9da1bbaaedc76192012fcb674bb9e77d8f37708d240d349\"\n
        \         \"e05797416feb24e3018c7a205d059de8e0ae05a8d7e09eafeeb9f06de5d4287a\"\n
        \         \"bbef059bc586b21c82d64aece8d7428afcd7b22fc5d168bc076b615f02733cb6\"\n
        \         \"3125c8f36d5cb809ce8065082398b3885a8919570c478a072f596615d78f0136\"\n
        \         \"d11be32b3fe0f4fbe3c7da5d81341910177e48b1bbac276c12ee815465dc67d4\"\n
        \         \"5324f905aaca4838d81f7431463e89eb8b9536586936afb42cb47bd8c31829d3\"\n
        \         \"1ec1ee29f91ccc6df9cd1b0b9b8646b60267fd7eceae92c0ae9e0ce5ff6f7e0b\"\n
        \         \"f756a9b8ffc9c616\",\n          \"ab4b78964c2a35d32855e0efced34bf80219b58c488ea375b1f327166a5135e5\"\n
        \         \"da9945c287297a3d932e572746f022748b85585a0abd9186f4ac35edc850d2fd\"\n
        \         \"8805b9e9f51a5adcb95e1ac1729e57b85331c1ed15c3d0cfae33f61c119b55c9\"\n
        \         \"5e344b72f2b4f8e7e8fac7a33e5b8b276a6088a7fabf4fa172357fb6e3f44a94\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.4\",\n          \"8707dcdb49d283a23a9bd6ff87aff834f06ff7f47b0e5f57ff1a0d995bba9cdd\"\n
        \         \"5ea01b42b25d6ff17a0dc10605cf452aca73be54ed5e0ce21566afcc17912abe\"\n
        \         \"18dfacd1bc03e3e2882a4bb3a4f39eeaf963d7c35e6ba858b1376a075160c6cf\"\n
        \         \"aed5e8c52e451132347219bd88893eebe35659a0ee4d94f94d035b7a8686ffb4\"\n
        \         \"16eb99fb2aaa81236b05ac4645925f2c2bc19ebe89a63f2f451d0b13b2fef061\"\n
        \         \"e530a349baf3b2356422b095fd9f192993ab99c9f9226ef9a7b3cfb365820859\"\n
        \         \"29c876b5e9d7c6acac7bb0275234e41ed351c838b7a31a\",\n          \"1753988b39dc745df9691af9ee69cada73a9877cca12f6d40627dced7622147e\"\n
        \         \"c901a5b463e7ef9b37fbd692785aa22a465df403af92a29f795d40a83fa964b8\"\n
        \         \"5a7ec05a3cdae3f8bc8a61a79dc842e1d377bc5e1d46adaaa866be282c6e2388\"\n
        \         \"173644f40627bcf8a0974a4be8fcc48aee7e8259f868a2bd789a908992056e55\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.5\",\n          \"ac9fa3f63df068e90d692eccfa7d8796491aca795b9858a45518623229af28b1\"\n
        \         \"3a502d8cb3b95092505882eb994de74659625698a0050417940d8bfa28a3f93d\"\n
        \         \"149ff8b0bb3926f618ef91966f4d39bdba5a0517ddebb16d2bc4b4e33a7d619c\"\n
        \         \"95a33cf5f572dbe07fab4aa67fb3f39aa2981a3dc0caee64758ea898ebce10bf\"\n
        \         \"3aa4fc8449e8e0cf7e88b188238c2068efacebfeef4073a654a58a3099d036ae\"\n
        \         \"ee2d818298d4ab39238edc459a9fd3577e9f5bfc0368aa657aeeda1eeb8ae7f5\"\n
        \         \"ac1eaf3b1c95817dde2ec1a59fcb5ef27cc34fb75331da7a4996925ac3ad17bb\"\n
        \         \"c3dafe6a9c644e3098effef8fea5cc0d5f0c048e1088\",\n          \"11e1a828f00a987e03d62e2a536c297ddac022e063ee0de4e4695ded1fdb2209\"\n
        \         \"00a3ac3f87d1be75f959c28b578a43b256643cdfff921595fdfbeaf410c2aed9\"\n
        \         \"e5e47e1d151ae28c7699aee225a645bc42b3beb52f08387ec554d0204d283c3b\"\n
        \         \"ccbcca216edad94ec64f9c20b3406ab78a6c4a4dae3fa617a00c6ab2f8e24762\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.6\",\n          \"1574697344e98685cd6e65e46783f0b5\",\n
        \         \"3b7d67d13cd3c0fd305ad404d8a3dcde4a45179c2d0b87115d6d060c249b87f3\"\n
        \         \"9e463b764b4207c48a74cfce2531e8183d3d012585ce5739d162c4ea22324402\"\n
        \         \"ea2e6eafb8a573fcff4015c95c45e4ca7ac51ae3a06f421e606d683f5e122b55\"\n
        \         \"79148a9c466adeb02428f4896a86df63be587ddd7a6a8de7176be4e7ff4aaa99\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.7\",\n          \"be46be8bdd8543d370bbb7ac839f5e6453f30cd8752a4b926732c59e6109044b\"\n
        \         \"e3a0756c7025a23280df2ed766ba39abb20b944c065fe1487dea31b4708a689a\"\n
        \         \"50b28d542994cbbb3a5bb9460ee7a9c1538bda751a528b7670f91578d6673e08\"\n
        \         \"abccdf5f4d8c1ebecfcac75cc42dbbb8cde3c1b474b556b32bb848fc327ba6e3\"\n
        \         \"cf5f77b1ebc04a19f3c8c39b6b847784eaa325a2b6f3\",\n          \"91de2f903247b2d13abe93ddd96dfaef1b4d172b090958f0cc34fa92835ad60c\"\n
        \         \"44b427fe031cadbf92ff1cd0384144c9b5f28f645c63e8d716bcec2e043bc396\"\n
        \         \"56641785c26ba36ba2a109e3644ebfd962d7a316916b3f13662013cc0f37ad8f\"\n
        \         \"9e0d9ec8b4c8ad5c7532cfa044aedc73787794c298797c8a7e1449ead6150ded\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.8\",\n          \"0b7e0663e715ea38bc930ec9d8e2a029aa1a4c95e7b20047ae1544d5b2d8476f\"\n
        \         \"c805539fb0efab7d5ff12c36d76a797b75c0b53fa9265473dab680c255d57e99\"\n
        \         \"b6d9fe08cf1a573491e21978fae9539cc05884633a1dd5cb21536fd42ddd731c\"\n
        \         \"a76c3457813ce1bb59c21dd31bf2ae3bfd7d20c6c712a9dd43951f1b198deaf7\"\n
        \         \"4108ead22926d2b0191e59d5f679ad97c71edc69de97987e543e87a96a9fee77\"\n
        \         \"e3f0ea957bd46a\",\n          \"4851098a85e70da33392a9e90b3476a48ba0e32cd6ad3dc1dd91da57e88dfbc7\"\n
        \         \"b6574b08e8716080e15df40579c5705d5bef584b08b263dbc4f0d15956ff1125\"\n
        \         \"c48f89591ebc941d9fe8f9a780c82ea32bf3efa16cabbee580fd6b9574080f69\"\n
        \         \"07feaff81d48c49a6de2248480f1d85239e9a418dd5310def776e08f509a1478\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.9\",\n          \"134233bacfa16dc84d8fa4bdbb4793d1dac07d6054bd083961da68679ca37533\"\n
        \         \"4f0920b9dfb8a68ed77f27fd9219281361e09fa6084f96e69885b47ea775af06\"\n
        \         \"772d6612d4d16f4a5cc4cd0d1eb23b7a1f09564b842ea07cbdde60453a2aa4ab\"\n
        \         \"69ddfeb5b13e9f08cd072e5b71ced334ea704c749ff4727ebe12c0290e00a841\"\n
        \         \"d74b0655cfd8065d2820fdf8fdc1bd455881808bff0ec727607475bf0b2bc893\"\n
        \         \"5958329b778efce560fc26c3bb6e2dc9aef18f969fba64745ed4d85b14757bb8\"\n
        \         \"33eadb9c5cb0eaed08d30b9515005a3e88091fc5cd2f36ad955b7c6f2b19bba3\"\n
        \         \"74fd\",\n          \"3e37b42dbec129db81c5e2a222f31e81b937ff02249518183730378b4c092aa7\"\n
        \         \"f3b23459611a824fc52754421a27cce918b62aa7b44638a0c082798052a58846\"\n
        \         \"6882510690ac773023280246c890ff1f6227049e668bc9d6e489b6944a34e8f9\"\n
        \         \"3002bbb00d752b577ce352530082becd309b0daccd1d68d06e1df71221c62269\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.10\",\n          \"35da3d0234bd74fcd76e8e69528f651b88271cbf16286938c2c4a37d411de8f6\"\n
        \         \"7578eb8b3d20a8fd7dcde7b656fe96a680873228ed0f9a620f1505442372f9b2\"\n
        \         \"b4168498723490f811f3111f5f77386347b4822ed9d6b5538392215cb6c4865b\"\n
        \         \"b7b5b7e2842eea0e9001ca0cdf5d6b\",\n          \"12ff2ab5fc83d649597c47bff329b7f461dbbbda01fb6bad26543e4dbcd60c5e\"\n
        \         \"2cdebfb112784a964e27f2a2e7fd07ec390aab1494370358a75b5e1fa4f1ad52\"\n
        \         \"02e6d546c0f315e86faff1d25b947282da32eab56c22f06c8a9d32aef281d6f0\"\n
        \         \"aa55d7ad3bcdfdb209a16ef45cc6f9682eae963cbb213adb7fad1bef49c0704f\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.11\",\n          \"75fdb07273f754d1116f997af2d11a512b94e9e04801b3fc739130b747b4be87\"\n
        \         \"44d7e7f8a297a089d9050c5f54f8a39aa3f2\",\n          \"07ffc1b7a10ddaba9605f0a3d93c8a5e4c0b77586139050731d9cc9b3c83d2b7\"\n
        \         \"3faf9a4e24d1c8bb0d623df10fc8407d151448fa43ee6581e7b0ac80d14adfa4\"\n
        \         \"f6d27a766750b231cbc1c5cfd62df1b9727d8b8741469f68e50a9b3bc7ade137\"\n
        \         \"db06747603742856d5e7ddb4e16a5b49d7365db2763bf5fdea083d81fac92d87\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.12\",\n          \"96c9facefba2ed33ed8b7b3d8b6df28f2fab0dcdd7a3cd7a7deda2545ed4470e\"\n
        \         \"d25b46d2166eebb7e147101783b645bac62664b8727009f35d1ea5fda5e7c28d\"\n
        \         \"6af6fe92046ca724cab8425a52a085f9ac9083d4d690bbdddfd0a82d948f70d6\"\n
        \         \"85e26bb9f527408abc847bff1202dedf6d2fac6cf3682a516ba72f4fe97b9046\"\n
        \         \"6af6e543123165b8a683caba2fa23a86ac06213065e1ed9b4f49af4fff6d46b3\"\n
        \         \"6d133d8da2dd29d55f9f322c40785ddc21c426c5e0a67d414f5ab971c4460ff9\"\n
        \         \"b114305a8ae7e7b95c73034e8e93c03529dd50c94f076279775a5a3a80c5d248\"\n
        \         \"6a2d510848bdc9b852ac1d32ceb7c041a08f2f8e62\",\n          \"46d03faec4a72318621ef4d0c1bca71a2aeea7a81df8febb8ba3fb3540d72d15\"\n
        \         \"34b9826916e89f27d325676ccf5a0aa16112db2d9303e0ebce4b85587c55aca0\"\n
        \         \"6850de84dec213d1137404a5dee6ca88d91ae28b7b536c90202bc7726da5042a\"\n
        \         \"8508d3b13cfbaadcee1278d35d303acfee6e0741904911a5f18810add3e7b8f6\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.13\",\n          \"c4b4c9966e56f40aff4708131cd3714421343ede70c4d46db6efbe1b19a9e3c2\"\n
        \         \"e58106008a983859cf942a319774695a0c98a963e2fe9d9379bc\",\n          \"b16b10f2bd7ea0f76a9ed2ffcf3ec10edcb82460fe5582a7764c0c5056ecfb09\"\n
        \         \"720648d5f19b3deaf2acc986460e7114261583a5f4a990e922feb5b4789734fd\"\n
        \         \"cce15ddc87cac3f6c7c9e9e2192315f0841f43ea86dea9a9380508b06c9ca5e9\"\n
        \         \"d4a651d01216627c466bf0d6ae744bf30fd791a8210339f5057ff85ceb84f196\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.14\",\n          \"b838a5d888950f1b8e4d947bba51aff9bb60b83d09ed9d97967a76955ed1ddf0\"\n
        \         \"481520bcf4f08bebbf899cc7c3ef0c04d5001b1e2e845fafc583300c98aca7a0\"\n
        \         \"3e90a434de77fef720da3663f21998208a94f894767d3ed81396b7efb286e0ff\"\n
        \         \"7db6ea8fdb4e72834600fe5f7f150a01b1d4a08b5ec9ee1fbc1001d12d5236db\"\n
        \         \"f0727e7ea36078f3ebac5046b765b4e23cdcefd115d62a50344dbbd7428d48ff\"\n
        \         \"c94b11e21c\",\n          \"b15681eef296a66b9fcd6630f89c55826a389e0c2d3d476a0f8a1e08cbcacc66\"\n
        \         \"02c714438f32f34e02c36e5c0f168ab028917e9050fbc850f0cf65d5eedb3b54\"\n
        \         \"be5495bbf0faeeb32bbe5a8f87bbacdd2585fb907b13185b02615663d2011ef2\"\n
        \         \"3d0ab04dad1ffa679b53152c9c42b84639684eaeaf644e4fc6ff2ec7d47ba5ac\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.15\",\n          \"9fd539c8ad864924eec1d655c07d1f28270cdb326b572c4667eca6488c033657\"\n
        \         \"ff29254b91f3216e1cac979753f223b179ea5f9efc236d401d1b9a3c20eb2afc\"\n
        \         \"9bfcfd0792acc5b00c9828a645\",\n          \"38bfdfd3272e48cfee68ceb91304eb91ee25e483401f30fe12d5e43518e4b771\"\n
        \         \"14a12c8c7992aee7d2e774fff91d8fd1cb7c6a2adf79b7c8ab93e8374db74c26\"\n
        \         \"909c659a97c76a222df4fc8c7ef5199080eaae2d031ca751c5013289db4ead77\"\n
        \         \"b28b76a4c496ad0eb422fca88fc684e42aea88fd33c256751ba066834e77a1e2\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.16\",\n          \"1de807409d0a61b0322dfed499e8c33241ec89cd7d9fc5\",\n
        \         \"8b6664f869d755c5d3e6df9922e227c110918a6fbd88c1a2e1289523adbbd8aa\"\n
        \         \"431d0786853ab596dd5b001243b54a2cb10c3166bf002338fca20345aede1b22\"\n
        \         \"ea1fa3d241c86c76bfc02f4fceae12c8a9d7e44ad6171665e88f128522dd535a\"\n
        \         \"9d65008f6a732d40af204e220f1facd942e09d15099fdc51b3a1426cb2dd3293\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.17\",\n          \"4b2bcb2679a14c3c4c069ed089a65aba29f22b6178c0\",\n
        \         \"1c47828ea53fb6436e9596b0ce47d9f38b5deb0b197c1bc474e2e8226570cc1b\"\n
        \         \"72f239312ae7c3c6382e1d8cda7d4f12febad70afae5acbf2428abc04421bb4e\"\n
        \         \"1e5990111b9ac83c62435c21aa25fd9b4907585411d253ba9b8778f624053d46\"\n
        \         \"fe95d7e22ca39381c7792eff46438fbc165ed7629c2fc1cef1b34d77768a2055\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.18\",\n          \"ef46ae51e0158cd0ef9c78d71e001567d66ae3c5e9a64f245715c7c2ad8eea0f\"\n
        \         \"9d320023072fdb0fb86a45217fd712cc80e5b94147c45fe00b692ccda1102598\"\n
        \         \"41b2c7e5c3dcff5956f2a596cda68eb77f4c8590d736b8fd6066773ef6f95a38\"\n
        \         \"cd384e9483a89dc2b6c2e8745c95c12fa672a1becfb63eac9b553eda8d293754\"\n
        \         \"ec3947eac0228de26314b59b66994cc60e8360e75d3876298f8f8a7d141da064\"\n
        \         \"e5ca026a973e28f254738cee669c721b034cb5f8e244dadd7cd1e159d451d4bf\"\n
        \         \"6580f3e69cdc0271382e8dc14bc733af38992c1cd882c7b150d23a067b9bcf3c\"\n
        \         \"cdab6b0fba132b4c1447c87c393f\",\n          \"8c1de15ab86cbf5bd9317ce2b8fc82f5722db6961c9f555140f78ebda24e3f51\"\n
        \         \"fd7301c1e4fe12b6957c30144fa1e127274603dc02051130b25385fc8646ee96\"\n
        \         \"a74550d2d63f858185bb984652a3431d533da6014622a64e0691662a4f7c9d58\"\n
        \         \"319ba3f85f19182475e1509bbf213af01010b4b9f82e647511fc97c6b7c97e8d\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.19\",\n          \"f87bb12daaad62c864ac3d444d514eec6e59b67cd0820dfcbdf851ea73891f58\"\n
        \         \"a8be6e843ee8773e4dc1c7d742da82ff16c1011b99566b9f3fd17d68d5ac99ce\"\n
        \         \"f5a3a0f75318769dc013bb055be13056df49a839b8395251399b27a0bb31c554\"\n
        \         \"aedf3d9c7482b6620c5d7c6914a564db04a000045699ee1e5088a5b68d814efe\"\n
        \         \"9d130dc34e2bd97851139c73460765b1f2654686fede9c9b3e92409db2d42a32\"\n
        \         \"ba9e20bcaeb2c4f9ff9b0e834b7492a2b1d8c65c8ba498342ae7d1d9fe7405c2\",\n
        \         \"207a348cdf684aa8e1a4af7b7c252707ce6f1f9db2291f2a95a0715d9c7fc51a\"\n
        \         \"a230110b5b518a9c8f958dd20c7524d5b65106d7421ba9fcfb789178412c3640\"\n
        \         \"f540b81bb31897d2645ec79d8e5975048e452261a1c2009cfeee0715a01beefd\"\n
        \         \"75e704b2a6f0f0ae7ea36c53cfe36f57f034e385448fcaab08dcff477d36ff15\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 5.20\",\n          \"4c4b\",\n
        \         \"1cb6881283dcd1863ba79dfb22351bc9a8e0358b2f8a1de3f9065d8ca859314a\"\n
        \         \"e11213a2cc87b2f632efa67d2103f38200b9193eb8d49982099afc74428f4b41\"\n
        \         \"316f4878b3f600bc2fb30458cc9c2a034a068e98d57ae79ce3e2fc84b6a745f0\"\n
        \         \"37a5dea2b9da4e8db4ada69fb82d20a41bb8430793eef92a4fd6186d179663cb\"\n
        \       }\n      }\n    },\n    {\n      \"A 1024-bit RSA key pair\",\n      \"d6311457e1caf1224436697983c86dd338205862d2a105baf7103428fd8353a1\"\n
        \     \"9b7ba4228f78b47f7907357034c52d8597da2b5d13dc535b836c74130a364891\"\n
        \     \"8d4a7a83990c2e28816aec0fca01d105c6c652ec5733d01f0058b2df5ae67333\"\n
        \     \"405a3a5b1220a26ac3d142f2b4d837eb7386a40a74cc3d1e4fbc64fd7da63c41\",\n
        \     \"010001\",\n      \"5ea61177442f899ebac5d09601c5efc2066b44a366b000f83d74cb97d16ed6e5\"\n
        \     \"f2ef0ff8b5ad81155345fc37391a68a340170852791443418d31bf992a4a1286\"\n
        \     \"6fe9ffccdebbbba637ee887b716caa92e249ced657eed71f5ccdd9163f326952\"\n
        \     \"5d789f4b33c48a95764436ec325e8689691c272d90bd88889851372fb8dcb9\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Signature Example 6.1\",\n          \"8f750e65951b5de75814b0b76630dc9f1c6253a0590eacb5512a8a4e1a8be852\"\n
        \         \"5d36941fa9d092f6bb4422aa8c0ad6423ea28c10caa6e954b79569d44c860f1c\"\n
        \         \"6581eb17a7543e7bf7fe\",\n          \"b18b5ec88d4e24c914b665ff9a2c75f4e91937df8c19955943e451addf3484e4\"\n
        \         \"97978d26da231af14d9c2927ed210afbf9dee33267aa45684649e86fb225a053\"\n
        \         \"b5455290c320e3f640623c75ca423721f280b887442497f32a90d78f64440477\"\n
        \         \"ad0927c7ba01c44da9d5c283a438be0dc580a00528fc65e204d42a2d4e2913c1\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.2\",\n          \"bdbf3b364073fe048fbae55e3cde668e84f753abfc710b8cdb7b6c0cf82dd5b6\"\n
        \         \"74d21e2b3e36b1b0360df8bf7e6227c92e15f3d784\",\n          \"66acf043bc6aae81a4d52b4e8c40128b25c6d10a8c698c83aed71e8f3583898b\"\n
        \         \"e8f4c9bea4b63190e21526caf83ab14a4f8bebe813a5abeb959567bb2f06c5f1\"\n
        \         \"1e464b5cdf7b2a132d426ddbecf585900a0d8092ca52b6dc0abc35f140946989\"\n
        \         \"46e1cd0ecd6bd41e2c6f963ee89c82193ecc5fd47630d34ad16ca2479eaf062d\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.3\",\n          \"3c5c74bc8fae807ae58bd213e6272aa3857931575c2aa2be4bcae4d79ae087b6\"\n
        \         \"b86f915df8c096c122edfbdc797f9d70b9761397fce3d3e0b8a6f256dbc6605b\"\n
        \         \"a948d5fbe6f5245c0295ce5dd73bf7436517f7c4222d2cfd8542e7a100cf0513\"\n
        \         \"04a1ab6fe005da077b62878fd0b741e6271e0d346b20723b7e00b3b8194e1a46\"\n
        \         \"0c6bf25600768290c1dcaa2f41b941a64fd90214d5166d78aabbaf7e41d24ff6\"\n
        \         \"36c9762fd892199d2cfd9deda50051e001b9fd3e5e2227aecb15c1b31371b35a\"\n
        \         \"78b3b8b7636376f134562b4e52f451b741a19ac932569ff3041faf12279f90\",\n
        \         \"5e897f879ba46f67112cd7c7c6fb2737ad793a872879052a88457af5e9d59959\"\n
        \         \"a848134a6824de3a674f72a906879e95be0ed87ea9f974a7a07ba9adbec2fbfa\"\n
        \         \"0294378b14e735f55f403ca053084f51d3d342d8af9c64b4d154ad9aa3c6bcaa\"\n
        \         \"ce1f1bbe62eeb5d0e6c4c03093c2af0f07888b8bbefa79400323133f776a3213\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.4\",\n          \"425646650d6b379e16e15bf3853ddc9d444f44535c493a3703b00163af3476df\"\n
        \         \"372a5b28f334c0860313e8136de608291b3378381b9e21ebef24825d12\",\n
        \         \"a6a0cb02481af248abae89cdf4161f6776d47108f18ec6e8437c224a14f452ad\"\n
        \         \"a136520f0fe010a7345af1971a02e4bcf8c98b26c5b8c6003de4d2b4072d8def\"\n
        \         \"1e1923d9cce0a675141d37873e5948ea6c8a780ed2a5ecc2ba9a81206c7eccc8\"\n
        \         \"0eac026db7d760223aa2387a182e98d66f1e23dfeaf3515cee4fa1abd464b768\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.5\",\n          \"f47d87bfd488af5b24db34ad0c131efca10cdd1aaeffbe6e36484722ed6809b1\"\n
        \         \"d57a183ba03d5e405d1256b2505ecb84db35dfa94de85dc2a1588b6e83124cf8\"\n
        \         \"6c5e9166860d4dd47170432b08ae6a6e30871086fa\",\n          \"6c008ff0e128fcec265f379eb083db50624a2798f93367c6d16e5d95a989f4f1\"\n
        \         \"eed0cc4cd861c6a524f2b9fa30e886f1477741d7ea8a60df140aecf3a6ccf004\"\n
        \         \"3dab92cbe72953cb1c1841e05918eced5b0f694af9a98ec7f4e2286d233dfd35\"\n
        \         \"132a0b584bf0e0dcbf05119ce2e3a4d813cf028fec48c34a1881ebb531ca489b\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.6\",\n          \"031878d588ee\",\n
        \         \"cc154e1af713f2f95e16f411175d9836ad6d8bbdc8f98cf05cfa0058235d1fdd\"\n
        \         \"e04082764c29dcdcc59ebe26578bf9e8ad6a5aa86b9d62914b4cf696a8ec2da8\"\n
        \         \"79f8fa4231463132ead7bb3be750ae0c5628a396b70adfa27b403423b10018f9\"\n
        \         \"d24fea337030147fbfaa15d47532c9257c2c7f541b5b974d15dd1e3fd2e20a69\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.7\",\n          \"27263852eaa960bf7671876fc7900f898ea82eb2b0fc418565fdae62f7d9ec4c\"\n
        \         \"e2217b97990dd272db157f99f63c0dcbb9fbacdbd4c4dadb6df67756358ca440\"\n
        \         \"115d3e5b3deb1ba1bd90ca1286fd100caf9be485a44a3845005718104bbdfc5e\"\n
        \         \"781a9e37d67affe556dca10f8efa39f9cb6392a72e3f2825811a2c05af84af9b\"\n
        \         \"e7f371dbd4106d9f\",\n          \"94798d179478bfe06d96a34ac99bc9d5de35dc4697ac3f70e9b34c95e22b1c30\"\n
        \         \"d1426be3508e622c1a18ab3c4672fe3de340eb510fb987b53ae93a59af6b00bb\"\n
        \         \"aee0e82708e6c6ae82c8455324017836db17660d069d80271e1ea9981163b14b\"\n
        \         \"66876dfd128f09cd2e3d6a36b73c3b40ad8e1324849029c8b8e3c8894ebfa194\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.8\",\n          \"a4fb2103d0be290e996016a439462e6bbdb0724d86cd51859133ca3d39dab77d\"\n
        \         \"a2069d82835896387ccf3df5cdd7a5793f223f3d923ea463513531ada667abfe\"\n
        \         \"f75398c7a4bc6efadd4edeef35ab8f5401e0daf7c2fca1cdbbeed3bcdd0933ff\"\n
        \         \"3ee4c5e288abdf219e36a3ee6f210841a03c9e3e4dac18122482ef85f49fdacd\"\n
        \         \"c502d279f1577be77a4e00b7c7f17ba5da6b28c01a07a863dfb21c156da32001\"\n
        \         \"f53d7ea3fcb8c9554f075459a67cc3c4e69a6a37178787463cebcaeda6490a8f\"\n
        \         \"80b392def9f22a4f\",\n          \"726670c9510b58354c8af32b41db8f692107c0c876e55273a820a0c30d392446\"\n
        \         \"0fa5bc33dfe19d72e56349282a80fb12a8fa9ea4a5da69c582d7c64122a8a791\"\n
        \         \"b3212c39e028265b8454df715ba30b003d129169cf12511c0d3e7aaecef3792c\"\n
        \         \"f185644cf80e448147b1a7961af384417d182c6f855246dad5b893d9a7680ebc\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.9\",\n          \"e5506e04b191841076858725a9fdd8f9745f242e99494a423f80367474271dce\"\n
        \         \"95a99a2f71134f39fb3f2e47c6a0b2fb6f615b0dee6df33b28f8b0d41e92d142\"\n
        \         \"b146e8cde9b11d6ec1d37d71fd82b719ce1addb821ca4cafbd2aa4f1e611a259\"\n
        \         \"e5f05b531fa11e3b671b7a5b10b4c8156c25b0a59ec6e158f6d346d84804fcf9\"\n
        \         \"2a72768f4ebc935eee5cfec7f6e6e83cbe158a13275e84183a94d724b0e96696\",\n
        \         \"34220edafd4ac884b9d00fbbfb71a4a6c4d4b71c198422050799d0c0fd54e909\"\n
        \         \"a4cad2298faab3347a0af0d27d5301a886009cf5c6f125dfc1131ace388bb214\"\n
        \         \"c2844420c023dbc8b4a96611b3b393acc3839490fc4ee2d369b8c3c876572283\"\n
        \         \"ef34d70c6403ef9e2e87a276b23572ed82e2402267c2737f75bb4a27d3cf16d2\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.10\",\n          \"8fc9cfa721dfa09ba0729ef9189e5427b3e738c5ae38a2657f7c7e314a49caeb\"\n
        \         \"a0fc9d4540f5f8d6c04753600ef6b9c3396540f86c1175b60bf40e3d8c845135\"\n
        \         \"5e1374f43043c0c6aa41d3796bd8279b3c3062b374996b7eaedd4db0aee8c94b\"\n
        \         \"93b171fc411d4dfc3728d0231558cfc8fa45f951b35c9d461218a650c702cea9\"\n
        \         \"3bb3fa1436ed445c95249dc220547101b9a93eb014cd843ff39ce4c96f82a39f\"\n
        \         \"863a4c2e1fa9\",\n          \"a26e7dbd5dfe08c72bd80d5e2668d5d72abb1a0c0420ff0ea86a9c7608c470e1\"\n
        \         \"c3f72ebf445d12187181415558dd03ebe407aa06b51647bafe0c85f3d3b8dce9\"\n
        \         \"0cebf0a0eecbac1228e785820c4f909d2ef392f03117561ec38eb0d88b023272\"\n
        \         \"a4286351620f21043ccaf7503684002957ef79bcff9d1c201c42e0960bd96979\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.11\",\n          \"961fe34a212cb0e6f6dcdecf1a4cb7b214390a77f44d3a3b3ee2b12f1f0ee314\"\n
        \         \"2e9eaf708955ec837ea1d0d2954e6ce950f34c8730548f2e095d5dbb938b190b\"\n
        \         \"738bff81719302b6798b768b0bbdd2e2b9672d891405c771a77902fd5427425a\"\n
        \         \"f04e21b91c5f39372041e494d9be62dece31bd8a262f6ddb849f068aa99f7d62\"\n
        \         \"62e184ab9cb1622447d62ff6710920307071c272be0bb37f0eef645f99eab51b\"\n
        \         \"0bcbbb6487d8d2b49f3f23e0aa918c89ac855653e1ccc00591580e0ce1e38779\"\n
        \         \"c04be7df1c6663acd9937e472b3eb6d4b70a080de8e03548f51245be7ce0b86d\"\n
        \         \"eec176e00e54bd63bd5bb02fc954\",\n          \"98ac477359159e93e1b336ee05606d42b7e1250d129560c0d095f8f8ea3c0474\"\n
        \         \"32a99c1ec4bc887d7f07f61df16f0c09f715b705388bb8a61187346e8d7b07ea\"\n
        \         \"b2fc05db89e0300944ae3773e44cb92c5cf0f4fbe01a05ad79bfaa247f83ed1e\"\n
        \         \"da48baafd1e180078ca8d321d50b425787f01243a493374e84f5cd56b753d7ac\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.12\",\n          \"96ff0a5ecac95116bd7343795af83c87ed9f8345d03f6f322f295493f40b19ba\"\n
        \         \"8ffe2c898c7b206621f72e02c7f0f00f9f1c523d73d335a26ceddc7398b7ca20\"\n
        \         \"09cacbb18283b76b2815d1e90100096e95b88530f1c48c3961c435bce0289ff6\"\n
        \         \"2e21bf4d3ec899c87e14c8ead7922e795e3e6f4180c0899ea0\",\n          \"7c7b0157f6a50909510963282f00111eea70193754e427a02b346feb682f4c71\"\n
        \         \"87bb381d31d23b94768843245aad5361fca42d8b284c8d92e6fb992fa7712fa5\"\n
        \         \"a93155df020d300a3bf89886668cf37bd13b550adb2d2a86c69daaacdc5030dc\"\n
        \         \"84343c8b4934f03cdc0eef0f6c1ea7ec0962007903b448217de93b7507549b2e\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.13\",\n          \"32a12e0c670ed215ae5449a0917ae95e23db803ad28a1842edfa90bc405dd89a\"\n
        \         \"1b468acebd08fe9c693d8fb105e8222eb57f79e4b22700e07f276d4aecc7a15f\"\n
        \         \"b74733065627b879b016eed4ab4a1c\",\n          \"85b90eb826514a0ec0fc1bdc3486a8dc8b0f263efe57cf1750a42a6b5b997264\"\n
        \         \"fa617864837e639f45d9205841cdc134abeacf6ee0ecda09b98d769f51f3947a\"\n
        \         \"33587ff0c8dd01b7f6b24a2fbf29c9fff737eee56ada2ceb746b025d956522d9\"\n
        \         \"20d12ddd13dba08b20e1eee13a8b2580e592c34e39333766115a23b9d00e2a42\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.14\",\n          \"bbda73cbe2bff7ff5362ebe932c0a0dd68ac84ee998fbf59a2a9265520323163\"\n
        \         \"b30d9e7008b94b0c0ebc5f6c4c973c13ff153d31690c3c95ab231f0c9ec998fb\"\n
        \         \"fcadc28b2d7f06507e17d21e82da\",\n          \"26f952b657fdb9a11dc843790c9d2a6a51c976101efb82d053606762aba33af6\"\n
        \         \"280bde3815e0874d6078753842e5b1c90cf7991220fcfa62284943690c301e9f\"\n
        \         \"c6e479af68b9694785be40d46986a62a121aa9ad0de969521f1cb8e7c4bd70c7\"\n
        \         \"c8cd7a9d1354e7d0aa0d85d6d7aa00e4649026d6f070f8b3c27c98556beaa4c0\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.15\",\n          \"2c325ddaf6526a1ea3518ee5e5407f0390e0ebaaa5f472a1e9ab46f746d71ba2\"\n
        \         \"e217faa81799bf358f95e98308270b18a0019929a288d0c956e0bf17c5198ceb\"\n
        \         \"2cd9fe40d702a44e5645eca5b439abca7b2c6f95acc3c2c365195c795e91d63b\"\n
        \         \"3c0933244ff12563af6622a40c7415db60a78dca0260251439538d38aa38289d\"\n
        \         \"928886ab128736a6a8739c1455c4849f2d5456453793\",\n          \"6d1f203dc3ffa7a334d31b9a75e012581b8d62b2bf73800be51d026533998318\"\n
        \         \"c0cac92a02d46d759bf80a41daa0a6a29f4fa0bb60664cacade24a65cb476511\"\n
        \         \"09beec8231919525d1473268745578db9e3064108ae46a4870f18066789b0366\"\n
        \         \"a7d0ce37e030b58946ec8c1a141154db0e261bef8baf2e9f65fcd16b7d5797b6\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.16\",\n          \"2985e8b550812fb66c18f80e6f092a945d091583861b625d1e\",\n
        \         \"2e843013cd5e795e2166c8e91b06c3131dc3a5e12136d7160ffd11bbefcf6ab6\"\n
        \         \"40e05d76e0c61ed306f6086bbb567ca87e40c6924d5c84a6ce28a83950bd4b84\"\n
        \         \"e27fc5069fd0624d50eac24a9411b5f76785d9db5da30f425695b019b84cdbb8\"\n
        \         \"25bd46e7352e08f114c87b066fe43d1056a2c610cea7e3d3dc98bf4497eb4f13\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.17\",\n          \"77788e838b834e8f4d045aa894b90abb85940cfc58d7725e7f373da5547137c6\"\n
        \         \"0bea751e0142bf9a6f4649aeb546ed560cc4ea1562d4a5fa3eb1b11477a3051e\"\n
        \         \"24c606b8a71c1a774bdcf1a5310fed555923730fa8af4c15800d362b37adf14f\"\n
        \         \"7afce78efa6bd893563efe0b3b828ebd499f12a2fe332bfe46dcbb314bbdbf69\"\n
        \         \"087e2a665df110835de55d61e5c2025fd8db\",\n          \"8e5f3353c49cbbb2ea696abb5740bae015effd950d5607137605a100c4a53f1b\"\n
        \         \"95176caf349f4fd588aedddcf5060ccb72478cfb098562f34d8f8eba446a3847\"\n
        \         \"565a7b8955ad9e0c6eb67099e1a46c3eb2d49d9090ae5f63e8a08b6e8f21f003\"\n
        \         \"e451d250ffc5a790d66a0e2e3e28a6339fe91d112921f55d1230306fad5c0190\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.18\",\n          \"1d599d762cd54df70f1a0983bc3ea2bbca6fcbbd162603ba81561077fd928492\"\n
        \         \"5cf1f1b08bea1e70bc595df0b343b83b9cf3d634f95e37e8d1c585fab199\",\n
        \         \"717497a4e60dbffa196eff758e901ce1fe6e2bc7e1d53a3dcf6225671af146c5\"\n
        \         \"dee200a814f4898d16a9b5f508dc9fde4d64070e55ae3b1fdf7919f42b7cffb7\"\n
        \         \"e928c4caeb552dc6fd081834b2dc2fed07e7e627d34b3910ca713bf4154eff99\"\n
        \         \"9657361518fce5a8f642dc9a18a66ede22190f60aaf958d6246b00a032c39841\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.19\",\n          \"da51008660b63b8767e65f12c6308ec18ed9575a426bc5fbe66010ec3f01175f\"\n
        \         \"fa5741eaccddb02fce7b2ef7784440d72d3752203f534e52fcf626a8c596513f\"\n
        \         \"419064bbbafde7f8d65f30d7ca68718970de71fc8c0eed4da00a4e1ab54102d9\"\n
        \         \"d165bd7c54af5c31c15c05bca55b6fdd191086a53e5296f484c347d8fb945a10\"\n
        \         \"c49449752732f62f34c32515588651137919285a2c8ef7b4aa0e690b0b65437f\"\n
        \         \"f8d56fc95dcbc3e78d\",\n          \"32677228ff08c66fd03bb31f0dfe890153b3446b57eb84ef3956208f72a07c87\"\n
        \         \"67e6bf09f038bcf7f735ee24a1f640a1898d409eb53abdb693942734569af71a\"\n
        \         \"4cd99a6520baca5d4286b199cc67628e2fcad296a30eca499eb880507f6a3744\"\n
        \         \"0b61c1284c403c41321b99053f5d69728d5b973576cf04748333d808d5e68a8f\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 6.20\",\n          \"8cd2dad2a5d5f9faa07e24a96e86f9b0ac8b40222ac9fb8a8a15727cf2f53e68\"\n
        \         \"4af4abdc9868a7253b25b096bd701f46a943\",\n          \"8f0322eb2c54052485a64549adff2a3631db6576fc0cafb551697dc5356f02e0\"\n
        \         \"93cb69173a7e8355a0dadebfa53cb2907f002db3a3e387da057b7c7355164384\"\n
        \         \"3ef574481f807415177e4b34c25bd55f4c02fa0adea3a9580465f358c00596b5\"\n
        \         \"cc062d5892303e1acc113c3b4bc74d42e858029078482a1b234a625b04284406\"\n
        \       }\n      }\n    },\n    {\n      \"A 1025-bit RSA key pair\",\n      \"016934cdff4850b6002cc0f0f4010a32c655e5cf6e7c89937fd755ef6abe379d\"\n
        \     \"adde70cc217751f14cba6d90fe52dc0af58b252f26bf72da579fdaf57ddd6cd6\"\n
        \     \"021879949a0276b4433ff01efcccf35a11e7c77b38c18cca94ae012d0f370421\"\n
        \     \"491c52ad15ac76b12ecd218f52e757866e089dd8adbb48e9ba894336c575c406\"\n
        \     \"55\",\n      \"010001\",\n      \"0d1719e5bd476d87c7ecc31eb8ab425d4fe4c8f5c7ae230a1047553ffb539fd3\"\n
        \     \"855af5a43b2ddd4e95a2b30d407aa88159bbad2a873d8093b48a4bce20ad9926\"\n
        \     \"253ed339ac3b543fc7429695338db0bc1dc3686cfd139bb5b28736bc1660a953\"\n
        \     \"48fc91c325d03a7fb216d2d9cd9364de4ee7d2119c3b0fbba8a71f0d3f5ab9b9\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Signature Example 7.1\",\n          \"3539997ae709fe32c1036a132757f2a1667a91cc83be733aada1bdd217924c9a\"\n
        \         \"2c9fed1fecf61d1cf79dae9a83f8ae3f4d051b34fbb559cbfda492f1d83b8beb\"\n
        \         \"a045d4ae1c8fea15b7577a1b8a3f55bac1727edca7f8f52cb4ba61caf1fa8f8f\"\n
        \         \"d9aac779095ca84c7991529fb80699d0d4688dfdb142ed61a95b89ce3306bf97\"\n
        \         \"80e1b91b848c8d2003970e52702a1f612e2f4017cfe0a91db9e46db9dc\",\n
        \         \"00080f770a2d1f6abf5f221f62e166abd79d06c7b9a878d61b80fc4d5ba290b2\"\n
        \         \"3abaab518f09447e45aee6f3bd0610244436a4730160e6a672110c01aeb5624b\"\n
        \         \"718dc7c0861e586ba8b60a29d6a5755cd2cc508599c6e28d7355b27e40b740c6\"\n
        \         \"fbbbb1a91823b1c1242ba693d452695147dbb23ea89cbf11eb8b07ec3a027b0f\"\n
        \         \"17\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.2\",\n
        \         \"318008873c4cfea7125ea6fd5215dfd98d5c5e73323f03f215c69c8f2bb1983b\"\n
        \         \"59dfa6e99add306966f3110c161ca22624b88070265b8f3f9d5df72991e79e5b\"\n
        \         \"189aa3d9cd9b2047cfa61d01234b233d36ac4b96ed081648877490fa4a80ec4c\"\n
        \         \"bbd9d2e0062c39e1853a0c38344ba858bd1d995f6caa28bf904026268a997211\"\n
        \         \"43c86a4343baf89b6d550764251fb07d167b4c4b1b70f99ef5fe50e62e5413fc\"\n
        \         \"ce0f9959c2a378c41d6f4236178b14b8919db1d0\",\n          \"006d547da4edcb103315cb8e4b669bee96aa2156235ca5c3e31b24a15a1392e4\"\n
        \         \"94047fedcb7081907c5617a8aa18d101b0532a3632451923c48a75b0ec2176cb\"\n
        \         \"98e5ce51588bcf868e29d5d9694f00ae2c924e73d2e6dd144d24fa45d01206a3\"\n
        \         \"f5d936413ccbb74b0e2d047d82b600b89d51594fce7de6bbd95b97fcfec598c4\"\n
        \         \"eb\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.3\",\n
        \         \"7f83b3e054c024825078dd9f040e1d09058200c9757b76fb372b8b5266b9dc26\"\n
        \         \"9ec7569d00\",\n          \"0134ee215151e53250f5a0016acce3701e2a58ddaad6cc369df0dcd9346a2b53\"\n
        \         \"0fe3715afeff1e9bcb720831c12558970a9e03896004f287adb821f317cf6393\"\n
        \         \"00cae6e909e91ed2a3eacb9952a7cc5494765264247951d28c16af03e24b80ee\"\n
        \         \"32b0b62edf10d70091927135f05a889f2f6056b95cddace47c69f97308c0df2e\"\n
        \         \"ba\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.4\",\n
        \         \"17ebc15007bb5e4af917201c3ba384926589c3159a89d1abd4c2c986fba0379e\"\n
        \         \"8af12975c5d031d1bfc15ca91736f07b1766d8b8a72db10c268c98fd7aa11e29\"\n
        \         \"99f06d86127cc889cf150dcc738f6ab8baae943cc606dd4d9ece701a4a7b101e\"\n
        \         \"351dee20b15ebc55256db3ce46a6bd5061125b62b995e970d16f7c9a8fc157ff\"\n
        \         \"68cec7e60f608f6626dd39528b2409aa2ff932fc119b2a7a81772a576b3d50a0\"\n
        \         \"d287a7fa2db87d2b92e1c961a70caa44d88137b950e100711a9854adfafb494d\"\n
        \         \"34e28606a27c\",\n          \"0105dadc99c59b5e3ac554b1b5e7480e5c0a62c7abaefdacf4426eccfe686b8a\"\n
        \         \"aa1ca4f51ebabffa77d99803e7ee8d20d1204aad8c67385d0744c854de2f997a\"\n
        \         \"56aaae04cecc656535c16bb2145d1801812594a8013b0eb54e7bf65d38420054\"\n
        \         \"ec46dac71a125208b302214a7c9b3a92ca9bf73739c766309af803edde7c54d2\"\n
        \         \"46\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.5\",\n
        \         \"6a52ba190e44ca0f1070021048762f3e79ed51c94f6dc1a9f1ed78352ef379aa\"\n
        \         \"49b3a9387e3ca7a196f105dcab18506f294a69\",\n          \"000b70e601c5ec58684e0918ba7a539e9d2dd29b01a3f453cad4a9a40e50f5db\"\n
        \         \"df72c11052f20be44a5d3851b01fd09d9c9208470f0a4a95035e989eed7d6b06\"\n
        \         \"2e13f4995bf0930b4a3d9b8a9ed75e33886e4b194ab5ccd6b412959cb4f5498b\"\n
        \         \"d32f668546be2c007ae8de5d98977b94b17e1263884b54e784b38fc112b8cbdd\"\n
        \         \"56\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.6\",\n
        \         \"bbe0b9de2b5e9dcd316742943f9219b24f66a38f9de709464fa5495d794a637b\"\n
        \         \"9ebc067762da7a6eeff098fa44f3cc36f2ccef67fd46c59e24738c810c69eddc\"\n
        \         \"d90cc7d71a4c3e693bcaa28a533d904b41ced3399b4c7647e5ec4b3ad903870f\"\n
        \         \"5b5f8d6a8d8128ae2381cec86c4d85b78a451e1ea97e3393ffe997e546b09c8c\"\n
        \         \"f82252b33f745feed4133206518e2b880319dcdf9106718afb016c514b380532\"\n
        \         \"65bc9879100e47b03eba0368f09e2923ac6f40a04b75054cd505bbc8965d649a\"\n
        \         \"1bae7bb6643cb74195e91c51f4183db2d738ce603550d634e6dd4f27f4daac61\"\n
        \         \"56cfa7e2468b5d6aeb782909\",\n          \"00c2e074dfbcd0e73ac0021aeb9933106b201b93c17a7bf93356d291fb4aaeb3\"\n
        \         \"d1316300a8de7b07e3d779bcc299e52b6cb03088016daeb841382eb3435f2e03\"\n
        \         \"ebf22dc086fb20ebe53ac54590249763a2655aa7eb0e7d3864936b34006a6c4f\"\n
        \         \"a02d9ca104adada6aa01b977b6def2750608a78f3ed83ad712a7a1b0fbde7c7c\"\n
        \         \"8d\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.7\",\n
        \         \"83a48bff886d1d68f2920a0ecff298321a96f5cadcdfd8be16b50d34d67d94cd\"\n
        \         \"b1a1bfa0eae24699b663c7ba3a08a390f7225884856794d180c546cac06e4118\",\n
        \         \"012e81bd38635065bf6554336b00d10618330553e0e80878aad355f00d5940d8\"\n
        \         \"ba4501c5c49f1016d5f0e6a73a4d9f8740d2cfc25ea248df3f7b1ae8fcd26bd5\"\n
        \         \"62e0f6eb777f46d7573069db8907c021b645d3b24058475199a91b5572d8ac87\"\n
        \         \"f83ee6af5cf9e171a858f60d2b8140f52daed68442228b4fffd8de40078d3de8\"\n
        \         \"cb\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.8\",\n
        \         \"18\",\n          \"00f2c299024ab7bd252c6946bea10dc053973898bd5f0e3c9460e6fe09d7d191\"\n
        \         \"e71bf79d436caa84e986be3fc09819c080e56a085cf424414af3fc7007cf1ac3\"\n
        \         \"6f1cf8635780b5568d734ad6d81a2ba8eb188b294669d871ca40e608f0ed33d5\"\n
        \         \"690cc61570c5b847ebdbdcdc4fa78f429efce13c6747e54d6f261b0455d6dd65\"\n
        \         \"c2\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.9\",\n
        \         \"04a6e24b93c2e5f6b4bbe05f5fb0afa042d204fe3378d365c2f288b6a8dad7ef\"\n
        \         \"e45d153eef40cacc\",\n          \"00ecc895fbd947e2dfc47c03ba2e993d1a143a7a6ad63a916ed54483ce26389f\"\n
        \         \"89d580f4edbdd0b37e08caaa5a0c1e526e1e9a1a8c0dc9cf50ed77de2676460d\"\n
        \         \"288dce565f128a266ea29b4ecc329a94cc252396dc50d5c0a13d809381fad88a\"\n
        \         \"0789ad4f56aa77e544ec2570af9918b7f741b486ca50b3384ad1124060591685\"\n
        \         \"a1\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.10\",\n
        \         \"9965bda55cbf0efed8d6553b4027f2d86208a6e6b489c176128092d629e49d16\"\n
        \         \"9f16fe51c4c08a6494b50073622091a3822ea57c328bd9b69d2465a2122af178\"\n
        \         \"bf6b1be307ee4c31479ffd9f4d11f33ea20b7aece812cab4eedd46993151d568\"\n
        \         \"ff64a16704a55d950ab7791aa23b26a0a8af880f6f8056bdd206838b44c607b6\"\n
        \         \"61b4f1dc3621065fded3db6f9e3f2dc8f400efe3c2afa6c0279940576bb05e39\"\n
        \         \"804bd3505f4bd28252918b28e74e058f24f27ef0db3d0dcf9eb29d41ffc11007\"\n
        \         \"ce86b982e89c0375bd9976a5af131a614d2808ba25079d977f0b239796ba6b1b\"\n
        \         \"cd5e855d96\",\n          \"015662e30e790e37868381b4f677a2aed6b2acc564491731824910ed80adc477\"\n
        \         \"159c88618cc7d0beb049b1aae74b1721e90ba7f7b0ea26bf33ad04f86ff31438\"\n
        \         \"97bf0d4eb45eb7deb54411ba9680aab13adbfcf18af46b87fcb1461c26206a95\"\n
        \         \"3bc3cdbb31e296ea09024bc5c7b62de6c69c14bfcfeb56391a9ef58cd805eb63\"\n
        \         \"1f\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.11\",\n
        \         \"71c7b18b4aa8ea5389ad7849232865be2a93e347a168d25c6c6ea2439c1cc80b\"\n
        \         \"b0b7223be9c8937122845bb0a39c025c43759defe6e4e8eb3baab4f1ebdca2c8\"\n
        \         \"ad12a465a30f8a6525b120ef6aaec9bddb45cd42c0150c407b048edf65199492\"\n
        \         \"f207ca01aaa5543af38ee98d53bd10d8eebc3b64977e75751d7450ddb1c0e1fc\"\n
        \         \"24da1718811fbe9b0abfc3ca31e6995fc7349073e217b37e23c5f17a8b7a3f00\"\n
        \         \"486a3702b9510d6f051b2761716e32c62bb5939b2fb11acb1c83\",\n          \"013ab63ab183353a235fb893ab4c35d6409c21849dcfcda3bfda1429fee742a7\"\n
        \         \"d8160fd3c83b3853a333f951539bb5771f4d0fe13adeb64e4030b92e8b0813eb\"\n
        \         \"52b1aa33bd94c5b8bc1bbccdf6c1df0ba670717c0cf6fd485be2fe9e16813be8\"\n
        \         \"cdd580e61086675e31831c924a41d4671a95d835e3fca495e88658d1e570e628\"\n
        \         \"c7\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.12\",\n
        \         \"0beb19b562928c271bb706189e43cfa57be76b2f7a83e02aa2ccb037c0f4f7f7\"\n
        \         \"3162d6c26f70de971821e7b9665cb931bb0eac820bf859984db4beefef4ab88e\"\n
        \         \"91631c0cd31db7f9358a5aa1dff2406b45f9bdcbef20d55c282bae5cfb610602\"\n
        \         \"3b5633c051af17e729bb07c9af6dd2\",\n          \"00d63da4d5d3e2284a192a6a9da3f1a7d3fcc164b9fc3dfd7452b02fed6ef1be\"\n
        \         \"5ad2a769ec9c36059b71911ccf7ab71ce30987ec47bbf55e6d4630d62342b315\"\n
        \         \"5048ee0bf43d24fe69abdac12f794b6798bd1a7cb489a64ce082254c3d92f475\"\n
        \         \"566b56400d9620cdfd63fc17c193c425d7ede941f76da1e345af0e2a8b8844c7\"\n
        \         \"40\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.13\",\n
        \         \"0287abe2670a45f8779048f5\",\n          \"0042f414782df65d9347bf1cad534853746cc0b853c1c526f9171445fcfaa499\"\n
        \         \"1a70f5a8445bcf4114f07fc8354c84a93b943733d3937a59883b896ce65fdb16\"\n
        \         \"5b1e3055374ce242e1268c1641cc443bb9e7da7f71f3e7f6313f239e6200e79a\"\n
        \         \"1be3ead6c36e941f24460baa57df639e57dab3eff9e77b87af355b83dae77cbe\"\n
        \         \"06\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.14\",\n
        \         \"3f49542c0e9f50932c0d453dc95320af21dd2bd1729c29f4f08c70944c2cc75d\"\n
        \         \"e9166b4fd230aa93702c5f2c3d9c299a359102570033540eb828cad75a5776d2\"\n
        \         \"e8cb456141a6fa97bc4e6e62d3df082982a4d98c2de441e59e9312\",\n          \"015c3993ceebd8dba45a368dd405af8a53b93e827019f994e4ed782c3911b9b5\"\n
        \         \"80d54224269b7997f1749630e52f221fafab9641c781e7044d3256e2e44e1437\"\n
        \         \"917232694518ba9e7138da47fe534329b8c9689e2785c02b603dd160d37336a2\"\n
        \         \"b05be04782659ac0e9671fe932ea8091d61318b2b201bda79af6c0c4446938e3\"\n
        \         \"f6\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.15\",\n
        \         \"d0dbc96cf9bfb1e3cd6de2eaa08d6d795bed8187ceb0856580e4b142b9ae60a0\"\n
        \         \"98cd42984e8dbf1d05a0c0ab8351548f0a13646f33390b2bb0c864b397cf1337\"\n
        \         \"1f8b2f675a82e46bf16c4afc605ee3e5a1469cac51fa734b4465d4c13d5b2dd1\"\n
        \         \"2eeda54e7d081cd9e3eaaf9e57db422020a0b5a5ec28ca43977a5d676ffab62f\"\n
        \         \"78107193594159cebfbd86269819a0f341a0f41284dd0a73ca8014d2e0b80179\"\n
        \         \"c6380b403afbb11b42db349bafd7570fbecbd14bd0c21ad641687a6ac32925f7\"\n
        \         \"031a24a6568ab9e287eb80754110dfba688a596325bcac4a39ce8b84a4\",\n
        \         \"008cc82d64559de0040f5541199aeff3999fe2f086f157ff51f2220db345519a\"\n
        \         \"a114b01762e70bc96583bb38b22b3f87beab32e23a3debdb8a595429ff12fad4\"\n
        \         \"95d74e220e4f7dca22272843899e8104c69a59642f6fa825890fe8132a0f7994\"\n
        \         \"0253e5007fb1177a5bf418067eddc8d32c5e5935bf338f1c690efc8011dc8c84\"\n
        \         \"2e\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.16\",\n
        \         \"7df0236e871a71c31790eb5f011c911c27c60373b8dc9ebb13ac85accb3bcbd3\"\n
        \         \"b474f978862dd84202ab20b334739425e1b79e0bb8b4bc47dc7153f57ada0412\"\n
        \         \"447bf5a5e6673419baad653e5f5c39e2ef7cfe7ef4778ab998caf97ce16c5833\"\n
        \         \"2772dddf826f1eec1af3db80e31375d6680aa254b4ab6ef9a3ec0e0403e4b583\"\n
        \         \"d371ddd96dd57b2c61a6e401251a1a630d1ddcdd84d90d82faf5a018d2a88e26\"\n
        \         \"5855e9d7ca36c68795f0b31b591cd6587c71d060a0b3f7f3eaef43795922028b\"\n
        \         \"c2b6ad467cfc2d7f659c5385aa70ba3672cdde4cfe4970cc7904601b278872bf\"\n
        \         \"51321c4a972f\",\n          \"01455e3bb29cbca8839b9f544d51472ebcfd25c29227c4655d5f7ebbd83c48e7\"\n
        \         \"643e7b594d6f7cd5f6bf9a40b05c4a05cbee1fd659d3cede3e7cad61e6fdf8f0\"\n
        \         \"e4fdef0812a853908f0f99ca7e388ebc19e874765b11640f1ee1e98f54953de6\"\n
        \         \"176f1582037017c838609a57a12acbafa6a56547f57d62dbe87669edc0fe3baa\"\n
        \         \"da\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.17\",\n
        \         \"1288c03f95006ea32f562d40d52af9feb32f0fa06db65b588a237b34e592d55c\"\n
        \         \"f979f903a642ef64d2ed542aa8c77dc1dd762f45a59303ed75e541ca271e2b60\"\n
        \         \"ca709e44fa0661131e8d5d4163fd8d398566ce26de8730e72f9cca737641c244\"\n
        \         \"159420637028df0a18079d6208ea8b4711a2c750f5c0a425313df8d7564bd243\"\n
        \         \"4d311523d5257eed806ac8c9c6af04ac\",\n          \"006bebb96f0e282f1b4d03e6c56505b93778da9f493650e8aaeb65cfe6285004\"\n
        \         \"2f75abe6e6eafeb9a70abd21eb5dba73cbb87c12980aacdf16716b1998c9499c\"\n
        \         \"e439c54aab4d19ce727b7875a41a3d30814e508daa26eb70aabbd0dcaecc4d4b\"\n
        \         \"51698071511eb31b210e66dcbc7fc0b8c62314daea69d47ae278100deb514092\"\n
        \         \"00\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.18\",\n
        \         \"5413993c2658bc1d9885\",\n          \"00bbeb2ca0bd64cb8960375b08a9480e69c09fd382dea2f94089b1533a0851fa\"\n
        \         \"0cbd0eadefca8c70b770797ad089e840d2fe1a8fb8549f3290583bbb81d3ee2b\"\n
        \         \"1c48f1ea751bf32f9590be3afdb7745e166e0b322c083124e645839482d08126\"\n
        \         \"22d31ab1877a9bb41b8daad868f30e7507832ac3410112133aa17b2d476d476d\"\n
        \         \"89\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.19\",\n
        \         \"9c84c1486bc12b3fa6c59871b6827c8ce253ca5fefa8a8c690bf326e8e37cdb9\"\n
        \         \"6d90a82ebab69f86350e1822e8bd536a2eb307c43b4850a8dac2f15f32e37839\"\n
        \         \"ef8c5c0e91dd0afad42ccd4fc60654a55002d228f52a4a5fe03b8bbb08ca82da\"\n
        \         \"ca558b44dbe1266e50c0e745a36d9d2904e3408abcd1fd569994063f4a75cc72\"\n
        \         \"f2fee2a0cd893a43af1c5b8b487df0a71610024e4f6ddf9f28ad0813c1aab91b\"\n
        \         \"cb3c9064d5ff742deffea657094139369e5ea6f4a96319a5cc8224145b545062\"\n
        \         \"758fefd1fe3409ae169259c6cdfd6b5f2958e314faecbe69d2cace58ee55179a\"\n
        \         \"b9b3e6d1ecc14a55\",\n          \"00e6be96e18dcebf8388ba82ec6f27105bc27871595e01705a2b97a1f4d78838\"\n
        \         \"352b0e7c0a2c627a6ff37db169a9a4648ad27af06533a4f041d4c820abf4fb52\"\n
        \         \"6464081434df36788503c65af762aa219fb76a91cbb40e1492a9cb77369bb4cc\"\n
        \         \"a1934e3853de6c86a5dc1148edeeb3b0030414fe3083ad72fe295c29b5ea9b66\"\n
        \         \"60\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 7.20\",\n
        \         \"940cdab4a3e92009ccd42e1e947b1314e32238a2dece7d23a89b5b30c751fd0a\"\n
        \         \"4a430d2c5485949a2b007e80978bbb192c354eb7da9aedfc74dbf5f71dfd43b4\"\n
        \         \"6c93db82629bdae2bd0a12b882ea04c3b465f5cf93023f01059626dbbe99f26b\"\n
        \         \"b1be949dddd16dc7f3debb19a194627f0b224434df7d8700e9e98b06e360c12f\"\n
        \         \"dbe3d19f51c9684eb9089ecbb0a2f0450399d3f59eac7294085d044f5393c6ce\"\n
        \         \"737423d8b8\",\n          \"0080e2c34fd4ab4d1d701ea3f085763acaffc9fd3ed918d04bffee1931624898\"\n
        \         \"c78f8941bd2a59ceb5b840f0114516ce411fae752b1b8a221ffca7a68766c697\"\n
        \         \"c50a3d88d8d02ffc1241d84bb7a7227f3d05149e15111277a136a5b8dd96dd4b\"\n
        \         \"225c5f49cdf6071dbf71935c7a6f1e2e9af3021c0d58a9b81c9bde61fa472c07\"\n
        \         \"a6\"\n        }\n      }\n    },\n    {\n      \"A 1026-bit RSA
        key pair\",\n      \"0333126488f7a2915132e30d5e97f6ed7bbb67b61985008eaea2a5dafb96a448\"\n
        \     \"ab75ce3d6e68a6265e7c245684999324c81e0ba6389863feb488b3f255d0d619\"\n
        \     \"c19040b74c189f0c9af4b0d5a55a544c090cd6152c90a6f2550d7d2a6b6d347d\"\n
        \     \"5b1b9dfb1de4403c796623d703bf9db443bf6702683b8d2a9c61e9368ac425a5\"\n
        \     \"81\",\n      \"010001\",\n      \"014a2b15dfa8831db4efa05b195084b742734ee136f4483f3be2509d2f619023\"\n
        \     \"c30a1ff2df78cbd117b14f2c9913171f7293b9fa6d41f0bd11a5317474675486\"\n
        \     \"d7f0aec0a778ba920e81f564d15930cddee7e2b06ad8adb612751f4e384d6f3f\"\n
        \     \"a0a6639fd62edf86f52c9fe0776291832183d359b7343260c94e125f4ab8bf43\"\n
        \     \"69\",\n      {\n        {\n          \"PKCS#1 v1.5 Signature Example
        8.1\",\n          \"9a2820f3b9029abc1865eb06fe61b8d397b65572d60061caa74e6356931e256b\"\n
        \         \"89712d186684b4de1e14c9ebfef16e40d99d1094396c561c883177e5126b9be2\"\n
        \         \"d9a9680327d5370c6f26861f5820c43da67a3ad60904e215ee6ff934b9da70d7\"\n
        \         \"730c8734abfcecde897fdd670a01465868adc93f26131957a50c52fb777cdbaa\"\n
        \         \"30892c9e12361164ec13979d43048118e4445db87bee58dd987b3425d02071d8\"\n
        \         \"dbae80708b039dbb64dbd1de5657d9fed0c118a541\",\n          \"0322d00fc1d96694f36eaed2309056f3ea1c1cc22b13b65e79118d202c42d161\"\n
        \         \"3099380509da7435bb579216fd5765066842e356a6416fc842a24a9ea1bc6a90\"\n
        \         \"980523b428e399bbd6fcdc2cb771daf0037a2de8c7649bd53317de0e37c314ba\"\n
        \         \"b0c437bbd798dfb965506c348b742f138ef1d1a203e051e34bdd3a30e0fce1ac\"\n
        \         \"43\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.2\",\n
        \         \"ea9a1a04b7cf478a897a708fd988f48e801edb0b7039df8c23bb3c56f4e821ac\"\n
        \         \"8b2bdd4b40faf545c778ddf9bc1a49cb57f9b71b6d48b2b6a57a63c84cea859d\"\n
        \         \"65c668284b08d96bdcaabe252db0e4a96cb1bac6019341db6fbefb8d106b0e90\"\n
        \         \"eda6bcc6c6262f37e7ea9c7e5d226bd7df85ec5e71ef\",\n          \"0268440939996ae5cbdafdbca86a7c428a04b578fe2dbe5126a82faf2becff09\"\n
        \         \"9ac60cb81b117f1ebf4204fe4370548d5d2c468063682da87dc80179bb3bba85\"\n
        \         \"a148ae2de7dcb494f476221df8219d4aae1e45af65de334a1a6dc1455286ae09\"\n
        \         \"cf26725885e774809972d7819805fff5a8c89d37376450739249f57eb151b71d\"\n
        \         \"c0\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.3\",\n
        \         \"07df586b905b23b91af13da12304bf83eca8a73e871ff9\",\n          \"01bfd915ff7780f14ccc55bd0306b3aeda5b5b5955a826d4526b0bc766154fa8\"\n
        \         \"da59560578ccd4882fe97092fbc736fda73ceefd103894063e93e22a7b5c44f7\"\n
        \         \"a85e3bdb96719a09374303c91ed7e22749fe3c4d6b96699d507c50adcfbdfc13\"\n
        \         \"1d6b5f2cf1830e31eabe39aeb517969c94a81cfefe6731aa2cdffe28c8af7140\"\n
        \         \"f4\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.4\",\n
        \         \"500b8777c7f839baf0a64bbbdbc5ce79755c57a205b845c174e2d2e90546a089\"\n
        \         \"c4e6ec8adffa23a7ea97bae6b65d782b82db5d2b5a56d22a29a05e7c4433e2b8\"\n
        \         \"2a621abba90add05ce393fc48a840542451ac7cd698d84b65128d8835e3a8b1e\"\n
        \         \"b0e01cb541ec50f1036e008e71e964dadc9219ed\",\n          \"007ae0cfd7f4c6ad1ff84b4a606ba1c4798c2e499b045b567d32634fd955f268\"\n
        \         \"260ab659bf5be99e0826eb3870e8f62f5a3ce758e6d156c3299b431cd9dfc658\"\n
        \         \"37ee94220d952351148799be9fcaf9be264daebeba2be86605201ef9a0d98f58\"\n
        \         \"ec638abfc4f27848f5d479d334acc2a97fdd2d327ec4c7ddc5a8abd566de35d1\"\n
        \         \"4f\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.5\",\n
        \         \"6b3f6a63d4e77859243c9cccdc98016523abb02483b35591c33aad81213bb7c7\"\n
        \         \"bb1a470aabc10d44256c4d4559d916efa8bff96212b2f4a3f371a10d57415265\"\n
        \         \"5f5dfba225f10895a87716c137450bb9519dfaa1f207faa942ea88abf71e9c17\"\n
        \         \"980085b555aebab76264ae2a3ab93c2d12981191ddac6fb5949eb36aee3c5da9\"\n
        \         \"40f00752c916d94608fa7d97ba6a2915b688f20323d4e9d96801d89a72ab5892\"\n
        \         \"dc2117c07434fcf972e058cf8c41ca4b4ff554f7d5068ad3155fced0f3125bc0\"\n
        \         \"4f9193378a8f5c4c3b8cb4dd6d1cc69d30ecca6eaa51e36a05730e9e342e855b\"\n
        \         \"af099defb8afd7ad8b1523703646\",\n          \"01921f22f471a08af819a952e18368ce15f9b064eb1d00b12899780244fe8c44\"\n
        \         \"24b21f64350b9226fe95ff54f11439839bfb54f939c91495e4f027901897273c\"\n
        \         \"fa295a57151f4e911dc102a77d958b622724c0fd3a34b3b7befb8b8cd0666e81\"\n
        \         \"5d0c07f2ecb7c4dd2f42b7f4091312e3d7b2df267887e0aca70b541c4c1eea16\"\n
        \         \"b5\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.6\",\n
        \         \"9329a58090de8be57c42\",\n          \"015ce24a6f2b373a19997bb20c18ac659f1edc0f25c9e5bf76d569996520c280\"\n
        \         \"efdcf15e2d63caaff6c77ae03897037a0615f9838c52104e972518e290fac38f\"\n
        \         \"63247530b4cf61c6ece3429b530781cf34964f32ae50f10934638386d3b4df76\"\n
        \         \"1c597d4aa7feca266c27f8ce66ade1be2659ce142ba5f935883c7e8c9b8957ab\"\n
        \         \"f2\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.7\",\n
        \         \"6ace0f1e1dc63e394a061f522a542fbe7120254e36e9f65d1957c95628782cb0\"\n
        \         \"368f3c13dad6567179c1ea24fe835a266385e4688317b82b0c3fe63cf2d52f04\"\n
        \         \"ae8a38a57559bb95d9ebd5fe8a9afe1479909eb99e0d3ef3f312e0a4abb766c7\"\n
        \         \"e2131a5ffb483183fbb42234d32e581f595065c4898261ecd0ae572c221c258d\"\n
        \         \"e950a40801ef796d4dd0040645fc534d8e7858234838ed12c68740c14e371613\"\n
        \         \"f0046176bbb0f43d997519c40c671496ff350a3fdf429cc22f464f435f6b29e7\"\n
        \         \"e1c30ebd505927d4a096587fc38d3d6494391e\",\n          \"0273ba2c502b3f2984c548d9f7d6c9b3d7fd460878c84d6be33b28106e15fc22\"\n
        \         \"17eff741cdc266834beaa86da405f3cae606cc61f2547bb922920345fe8fbb5e\"\n
        \         \"7b6abf91eae8c42660645025cc7fc07a534b76d37875e3f40d5270c10ef46c7f\"\n
        \         \"e45afabcffae2a9c9411bd04d61d4c0e5ffc022cb36a64b7c3a8c89bfde436ba\"\n
        \         \"fd\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.8\",\n
        \         \"fdcc0f1e5dcbe5016a6b0f8c28f5b331ff582837138dbf62ef7ff61bc1a35396\"\n
        \         \"c92e3d548d399e350a3c6bc2fdb5da94b986a4ce6dee104e9f274b152558bfa7\"\n
        \         \"22ccfdda3b26b9f8e51525f381034c51fdc9f7912ac927d1a708cc2dbbcd7ba6\"\n
        \         \"c031b011cba8e2df8fc9b88364ee965f24270e4348623253cb9e59d6f7940909\"\n
        \         \"94a7a4c9300270b57f2439ebbba4658467afdb7fe86b4f1aad1d3d3b2f\",\n
        \         \"00a7c450b30b2ecb19bb709a9231cbfa9f0d61697a26b90a96d91c24c4da70d7\"\n
        \         \"b00b5923c8e12d41094b705d50c778bbdacec660d5c15dffd3a2478fd9337080\"\n
        \         \"dca16b9c13e6233b8292b2fdcc29e9bf3b21a71878f34ef5eb7cd50ad4120372\"\n
        \         \"5a0f1c663f7342ec7c3df3d5aa51d058dfccce5fe69d363b4284320879e86d58\"\n
        \         \"b5\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.9\",\n
        \         \"2d1fcd1766f7d45f29594f9d4f743941ae912a97911ffc3d65dcd9656010773b\"\n
        \         \"b0224ba6df111b1c1368384f2492fc4fa7280c066514ae84f7614563d9052ca9\"\n
        \         \"4ef446a31b463bd6c25056805088c1d31abaff5215f7a8f89e7b64f2\",\n
        \         \"02c0e071e83690dc14d9a37d61e0afc27df978039da601ca2cec1dec8f0d17d2\"\n
        \         \"ffc450e678380a025a41c746118f58364252a122539eccbbb4ab3d8d377bdbb9\"\n
        \         \"11c58a4cb9462f36dc389248501bd08f48e3533b82591a2a20cf62df5f5a1f84\"\n
        \         \"ea300cb39457137141ad8cd1d185abb17ba5d03be348c06797b09558f0331c24\"\n
        \         \"b9\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.10\",\n
        \         \"4f469ab79cb893a53c0ee3815a8bc087eb74ea36615bddc333dee05fc72665aa\"\n
        \         \"6d0bd59e47229829834b1f91c9cd81ce28d68f14825a345f3a4f38a01b2dae59\"\n
        \         \"100764aab990a850b11c13d5dfe419f1d920d00cf13bf430e4ca8287989beebe\"\n
        \         \"da3e5d4036028c8ef9546e350150d196f00560bae1472299e7f4291d544629c4\"\n
        \         \"f652e35cde4f803e1b3ca33809515ef23d254b8e65202a14a411b1bc315c5ffa\"\n
        \         \"ecb8211197809dcb5ced682c09f67e41d1602c\",\n          \"01712964ea9ab970295b81b0fbd8357e54b936ee8772d8ae9c9612716fcc2fcb\"\n
        \         \"784ca9abeeebb8fcb68982161cc74e40c7c02247c0d00e03bc8e1a7051b87c90\"\n
        \         \"dd7d3dfc95e0b3c88e7a0f37f30e1bd5fe8b6eee465a0b34cb59c64ebdb57d6f\"\n
        \         \"5fdff2e70bb19c60d988ea956cdcdd1be562f26fb37c34da52a9f911b9974381\"\n
        \         \"2c\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.11\",\n
        \         \"52bb76c9ea265d6fad108372ffab2503bb20d38d37df199254a2f6de0c4fca7a\"\n
        \         \"730336\",\n          \"010c553423602260158a17133b5d30efe98e9aeb353bab3371e491cdbebd350a\"\n
        \         \"0a470b9dbfd18933511f0d0e3694a8ac4bf3f5b6eb9bf71c23d94c2e64beb7b7\"\n
        \         \"c72252ca827bd0c0567ba8a10a6d3b7e187b0fd8e9e95d4fe480f250dc7f0342\"\n
        \         \"290e9a7d32703a7213c65213aded455754781f3db73e79e3d1ba6af7f690fe81\"\n
        \         \"73\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.12\",\n
        \         \"5f597a19cbf51430d3c6a247a5235407386caed0a294f3f41f3f378250d4c5a2\"\n
        \         \"c99275f95544ccc1d77e5c151af13ed60be522eb8cabed89a9b45b09654600f9\"\n
        \         \"fc751e8b12e67e52\",\n          \"003bd4aa9081fe7e9f69a269fec8c8a73670c037e85a1f36fcad74e5b52d710a\"\n
        \         \"5a18ba095b9810cc6937bc76340951e7fed75b326d0a3b0f26c29cd5eb6415bb\"\n
        \         \"f7e2dd60adf6a0e61302dcc660cce910408b4f99a440ae2ad6c30772c29a9e7b\"\n
        \         \"3280e2e2939aba0b54ab022aa3295022718cd3b787b1137990fbebefacec8cb7\"\n
        \         \"49\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.13\",\n
        \         \"840cc900cb4b2cb67a304a9b02826db0d66736922e787013d6bf214df579ff0c\"\n
        \         \"f4821f9b\",\n          \"013b6c080f68939505e187a49482c791278da3ad4a747c4f01791b924805b682\"\n
        \         \"f649bbd80dba12fbbe5940f17f27e75d42677c4cccdffd0048772e36934c6912\"\n
        \         \"128ff903afea5e1ca8fe9424fc979b2187987698a5c5a75e7d7070a2a674852b\"\n
        \         \"d805bf13bbd1296bff1310a6d6ed45fdf8672d5241e74cd4c41986e43625500c\"\n
        \         \"23\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.14\",\n
        \         \"c6417194133b5f8ea63d95581c896f5b9ef3d87cf66c0291640f350a325b4911\"\n
        \         \"52e9d1430d6870346e468e719945d4e365d001075fa970f2a9870a1c65434ba1\"\n
        \         \"7002412acc4cc74d28b2dee29b36e397b68c5d59cf677c29aee793a9300b7bf4\"\n
        \         \"c673b3e0b603a3611ca90244ff087875c5168857cb92a95aaa61dff3c212dc62\"\n
        \         \"06f17147c44b9507d5c890758bb35bb72a2a5e9d4db265e5373a5b3402904f0f\"\n
        \         \"1a1205d5bcc59025d3220a5de1b182a84d30412b8426d46932321b57ef72640a\"\n
        \         \"dd2ceebf5be968436bcd1216907884823293b010ec28f0d9\",\n          \"016047caad6c47bf27d0ccfa0341017e565e028cf26c8e660f79e091f350ceb2\"\n
        \         \"aacf92f7d01d373f7155119c072917f24f01bf747be2dcdc41d1be588535c2d6\"\n
        \         \"ac1704c5fb16f6e5dc4bbc8453f521db731eba7898e6e5212b80ce9da0f15628\"\n
        \         \"189998313503dfd44e3d69de9ba9cb5eb32ac41cb8e3621ba1d291d0c5da249f\"\n
        \         \"15\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.15\",\n
        \         \"a642f0f70b4bd3b54be220119a7f79\",\n          \"00a0336e6367527bbf13b0a933b631c72cb33eabbc292a0f8f75550c2230fe82\"\n
        \         \"57f2af76d543ccd107dd2c8778d3ac8a7b5bb4acfa57f2af6a231495235a51da\"\n
        \         \"ddb083e373b777a95cf9c4a9b6be7751b65feb623ab334433654b1210f7f782b\"\n
        \         \"1725c6ba4ffd20d17ed4b6ec4a3af64bd2734755b7739eebf418f09d3aff289d\"\n
        \         \"13\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.16\",\n
        \         \"ca16e43d9c82d9d30c8fcb4022933cffc7d74caa0df4863509318edaba4e0d51\"\n
        \         \"99779c03504affa27d87191b6bf686a84d979a2fdd5b8a4c49321445c6f75d25\"\n
        \         \"235917adbee2a5cff8a97aef78c009221011d83c0f9d37160875af7367718b10\"\n
        \         \"eec3b42990e643f63707cfbb30a7fa74ab16a7ebf1c838c3b22637b63ccdcb6e\"\n
        \         \"b34c62eba9e948c7ac9030f0637729d3e2780ae6be4d2faf346c1163d3f98248\"\n
        \         \"193a76399fb784cacf68fb33c74babc9ddb627520c0c6112346468cf20a8e02c\"\n
        \         \"c9a9bd27910e83297b85e857324a0100f5cdd5931b6a6de05f94833aa8610a3a\"\n
        \         \"4b08a5a39353\",\n          \"024859233fb9db7cd141f4b8776a1d83e103db3ac94289d36ef40f5e6e63c312\"\n
        \         \"12afdddd1688c2c1c8d4db04719e1c6e8dbf7d60be25f1d68887fdadda3d112e\"\n
        \         \"3d0d24c0cdd7988a55c7102940082d1ac31fb3efabe7c288cb4ee72a992ac96d\"\n
        \         \"1edd78ec728273970a796995c3e2a38581e22803258eb4cd9da2040faf741c54\"\n
        \         \"2a\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.17\",\n
        \         \"3baa7e9ada2143f848825d22936704d1c997b2da76769c986fa152b898aeb11c\"\n
        \         \"10b94579764f9dc933652a8103670476958d59867ab24a971284056e99c648b7\"\n
        \         \"7e7a653644870fe4c7cef37f9001604872adede16aaced8aa5df42053304e4d1\"\n
        \         \"71120d7ab3ce81a4d1a27498d138018f6621bdfc1d53e7f3c1a5aa5d62b09a55\"\n
        \         \"4a56f1ed4f385a0768eaa2da0c9f5637034c2eef58cc35178bc2a6272cf529b6\"\n
        \         \"5adf\",\n          \"01e63b86d0c15999093d4428af7c6de6480745d819e429623f472b45de61aa56\"\n
        \         \"7b60d994792a0d1165805598f4e21fe613999a96225d0bba98f9cfbee83af585\"\n
        \         \"fa078439a742515ae218ec31f8d508f29b0e5875fca8f04f11a1c82f2bb0ae52\"\n
        \         \"8fdad3ca5075bb3f41bb5783348133fba8a0b3ad951a1a649ca0f9758b20c870\"\n
        \         \"fd\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.18\",\n
        \         \"7eb3c98e46fd1b5c9ff1b11be1619b566057f26c55e288f4844ccd50baa91b03\"\n
        \         \"8d6095836f771fc1c425fb533ef2b1dc4a3e949bb99525c28fe8a3e93178f3a0\"\n
        \         \"ac97fd5daa81b59286188e17b44b3771bca855d85f3c4d286f106810f4e522ea\"\n
        \         \"05834f11a31e89c35990c51b080c03a661e3d4a1b97a2c27940f5b2e412b699e\"\n
        \         \"a610e8996ae6715ab6e20969b6aa54cc72319dfee63bd2cacfd0608d40e2b403\"\n
        \         \"95fe55dda5bea3b0f9b94b5aadc098dd568da395db2d44e4\",\n          \"015cfad96e4b57d9cbb578c79074a2ba869c06028868c5a3fcf4a5e361831bd8\"\n
        \         \"c02c25b12b90234c8ea4822fb65e82d091a90f89b6c1156e4b44d78d32a64737\"\n
        \         \"d61587c0ce3f4b343e71f8f7a84c6f8fc8aef8f464c8b359e4fb18adc699c5a0\"\n
        \         \"76453755930c5f6fa7071f8fecb8631aa414f50835038be7ab05a4b050f3f56e\"\n
        \         \"86\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.19\",\n
        \         \"6a45ee0b7ea80368b2c429af288153f456cc663217a8ffcd2aa05c5d322db757\"\n
        \         \"56cdbc0f684141fe6bcae189bf24de1c8edd5b113644a4500d0d4ff580083640\"\n
        \         \"e12a2c95de69e9596bfb1d44365786e167d025d89ea2f8d13a0e6477f13b85bb\"\n
        \         \"dcf160774b18258ca0bec0bd7bf13911b3896b4889fa3de04ab26bd682b4ab43\"\n
        \         \"7c0c17f353a23a43e92e20e7f820694e403aabdd5d196e93895b479255df4030\"\n
        \         \"ad8ce3a53d1573be226d81aa18e4858957a2d0a3359c2e7a\",\n          \"0164f0dbcdd9521186a28084a3f3ae6aacb6596b856e8aab2e72a7f233d62d2d\"\n
        \         \"3ef196d3787e4b045731da9c6150ad9d5f918c6b06c92a11a0bfd5efccb7b03a\"\n
        \         \"0107241439d34d313d35b36a0d8ca0813c3623b2bd78f2e3a97199648da35806\"\n
        \         \"ffc58eed33ac9fcf79538fa88915b1a5758578b9a2db013804bf32e7a56dc724\"\n
        \         \"37\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 8.20\",\n
        \         \"92a4b4bce3daa0a7a64b72ad871f3aa8eab5ac4011aaaea2ceeba89277c64329\"\n
        \         \"572626c956884f4854f8613d22518b14f038fcaf9e68e13002fb0a00a78cc2ea\"\n
        \         \"5144fc131176d5e5d67e106a99879c\",\n          \"0124fd8b2acf2237fc71a2ee97e26a4dab7dea829e15beb2f8a73791a0ba152d\"\n
        \         \"a5b06adf341d7409e8d3d3175b510134325a353297a8d6d66c09700322eec5e3\"\n
        \         \"3f62486a211130d74c70dd925df8602ae3c4c6ccaf93cc9a970d1e853260eec6\"\n
        \         \"9481c5f1337e9dd3aeda88d88299be08095b715a5b2166e617c926722cedd6ef\"\n
        \         \"34\"\n        }\n      }\n    },\n    {\n      \"A 1027-bit RSA
        key pair\",\n      \"05f3743488261c6f0625e432fa6eb87fb12b26218290bfe396ba76ea4261322f\"\n
        \     \"8143e4b4ebcd5d2ae19b0f9d8dcd2fc7e6823208a751833d3b4e8e387c39f8ed\"\n
        \     \"6bbc9fdaec32d3ea9abbff574723f3f1229990963ea4fd9fb544f64290aa2ea7\"\n
        \     \"da631191a20dbc9423b461233b937249f2f4ea10928fae2a6fe664f12c0923ed\"\n
        \     \"11\",\n      \"010001\",\n      \"014cc3263252f8c4fb77cd57a1420c04c043278a0c45e7d42379493e340f9cf1\"\n
        \     \"a96f96063ab759d1630406ae286a1834b6d1db71ee722c93745fdd4ad33faa72\"\n
        \     \"d89351da691a7d0a71d2c55c5797d2ccb3b4626208bc5f5c84fe432f664dc30e\"\n
        \     \"de0963e658452b2ad5efa4935a122f461d1eab841c8ae0e6e82fc1fee85d181c\"\n
        \     \"bd\",\n      {\n        {\n          \"PKCS#1 v1.5 Signature Example
        9.1\",\n          \"82e5c5aae64e608b27504b91db\",\n          \"014582dae935e6b2aeff7d725089dab058c678b2ee28bcd444a72bdfac31463e\"\n
        \         \"18e94d7b5ecc84a431696a1cdd79f9c08c33e1d4b322dd277b503ae6e4f9c315\"\n
        \         \"305b4372fe45fe4a7ebbfc4ae590fa3c520bf828158f7820299f09b134ede117\"\n
        \         \"b672a1eac2f050c044b255ca8d4552d4b5f3f57b8734db2474500744a5337500\"\n
        \         \"5e\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.2\",\n
        \         \"77e0fbdcd6e0498fc5684ff13d4c9f5b780e77e2464637ff66eaa2d7d9c3defb\"\n
        \         \"9b0e3a383773db97a4fb491beb2114fdea2c2a480ffc219b796ad805d54fbec1\"\n
        \         \"7dcb34b1da1796cb9cd5f2416ab5e766f8e006918ebec1822998a28fffa6230c\"\n
        \         \"078726fba2e4a7b0\",\n          \"059327cee726ffb603e8a9fcd574aba9cbdfc36c0aa66fcfe3555cf2ef3582d3\"\n
        \         \"220df9d6bf8a78e3fff0c129b3abb3dc712112a2056bca08636554c1ac57df87\"\n
        \         \"f3664152688c6ac72e6b88f5637cd73f166989c82909fb67bc1fa2e2d523e51c\"\n
        \         \"918f2bbec1d75202af240a61cd2dcc555caeae9a68570d77810cf1df8123ff41\"\n
        \         \"c0\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.3\",\n
        \         \"0dfa5baa1cddb834707a5f8cc6ece571a7a7fca5676362d2b23741a9570ae263\"\n
        \         \"8f6b1c2389853675ccc6cc1b4c6dae23cda71ab96b5a2f22145750433e2d6ba4\"\n
        \         \"276ac1ff9a48afc9f312f4133785ca5af3746674319a6757a164e34d1498bd55\"\n
        \         \"30902e321855e3bed40881f00542256aa21a42fc\",\n          \"01d1954169af58993e14772a94f19bc47924ccdb2e90ee4336fb6e08498af4da\"\n
        \         \"2651a2b7836c313a57c861b55184ec3b15fac8145351bec5a7270a3aa8694db4\"\n
        \         \"e9a92cb9327bb7a4f7b70d244eaf9ebfa9edfd4d54782f3f97262695b97d416e\"\n
        \         \"527be4ea2deffe6eb5e06cda6f0a7e416677ac0fd6f8195d4ce28970d2ca411a\"\n
        \         \"2b\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.4\",\n
        \         \"167e79568c7736690c3bedbbc8d424eb536a12855a60cdb10f94ba112317e917\"\n
        \         \"a1b7d6fcfaa3438d68ee09fd47\",\n          \"029a2b908614ed7a5fab72f2a1c8e548b6f8b8b45b7581fd2451fe45a622fa0f\"\n
        \         \"08dd0ba2e8f3c417201ea0277910184f376da803fa72c50d39be2882526d1e85\"\n
        \         \"df9ab17975764acfb207366f6cd2c8b136a999daaf48f1c08a9ea1f08425c21b\"\n
        \         \"654180da4adf109b4bc5b817dd67bf7daab4a384034ab4ade694898cfc272ab6\"\n
        \         \"53\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.5\",\n
        \         \"0d03f71284f2e483242d923fd1e153bc160f0cdc2c0b76f1bc2cf7d1be9ccc7f\"\n
        \         \"afa6afc39034018409ccfd1628a70b358333bd96eed3adf3142b1760bf8a9bb1\"\n
        \         \"9ea2473a2ed85c91cd5f0a5f2d4632d6176419fa1d8cc88b6708477711ea4958\"\n
        \         \"a83901fef284f5a6c502798c8bd0a350f2ea83ed181eb970d30b78134c8e1d64\"\n
        \         \"f0d1495b7017245fa69bd57427f74920ba0eede9cba34eb22276b0f27413ba3f\"\n
        \         \"0da8ebdedb9b0c800e44481d01e6bbb0dfebf9a15ef6a7020b2c55ee02791179\"\n
        \         \"6f66f43dd846021f8d6f7e01bb802bac09fde9b904becf9990e684e6569acaeb\"\n
        \         \"3cc64dcf5d\",\n          \"0422791fe7b43e1f319ae67d918c5987e6393681a1861c1e71dd6fce1923710d\"\n
        \         \"bced4301fdcd4aad8f4fc27dfa02a94d91bd96200aed8b3c5a96efee7d11af90\"\n
        \         \"87fb81905c5df2c24ed7ed63d5fc22babd6b9e3b57cd25419a7817e93616e934\"\n
        \         \"54b95853fe5204b58c098b46de0b3f01f582763248c290b9e80969652442a4d8\"\n
        \         \"e5\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.6\",\n
        \         \"4aca963f14acf6a79c51081ef257166671e3b45fee312407ba3cf6d711aba1ae\"\n
        \         \"25a4a8ba454819a3912a312e990f1fa74cbcb72777f1c7c663a2d1cdb2c5c007\"\n
        \         \"4d4516f48717de1403e8ff7d0f9de7c7c851f3e351168ba6c414bed5d42bae52\"\n
        \         \"7b724ceb834d79bacf702c56a623c1688087dc9de9538ea7c7c761cd2fd578f0\"\n
        \         \"dc3f552ffbd4afc7f4ec7122fdec1a3a2b104d532db81cb9141854d57dcf54b7\"\n
        \         \"5601a905faeda65c2a7a7bc2b029ad12dd7a6ad1b40be04028b4b5b63730ef98\"\n
        \         \"4473f0c482148993c36b44e54be9a5f234e743292a12a34bf2ff73b7f798\",\n
        \         \"042643c03ada724e2dbb19cc07ad0e752228b9d36f653c6a9c0c29356cf4c3f1\"\n
        \         \"ca193776d5fef43fc55417716669de9ab2addd3ea88a90ae939a5eb11013e228\"\n
        \         \"ae0816eefa4dd42c6c08c878bd58b49040296a863bfd11285f8bbd315be16d2d\"\n
        \         \"65d7f5e5f26aa97147f95f5ee36f989aa896d7f9f1b3051f824244f90596723d\"\n
        \         \"11\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.7\",\n
        \         \"a75a4580\",\n          \"004fe4c5d9143c851e46167cc181575c075e69b981f9c103f9d9b011ff8b29ba\"\n
        \         \"55a43187ce8777996317a03c9d90afc1890a9adeec8eac087f99b815e6eb2b87\"\n
        \         \"1dcddc8092249d8f513c6c5609fdae2cfc6bf01fcb8025a4f79bf12aa8e10982\"\n
        \         \"9a0bb38a09d1a39365e0405652dae451e5c3298f47040598ecd70e4b403389bc\"\n
        \         \"d5\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.8\",\n
        \         \"7cfc00a643ae99796801ee3cebe2cbb1a6be1cac15c648d4ba3301293871a99f\"\n
        \         \"7cb143c128c77f96311fe43a3901df2c2a5c404be8314697e09b2e80aac6ac39\"\n
        \         \"971bbe0dbc26673f31959f238eafd15012e4967d33551892a3d3651fe4469b2d\"\n
        \         \"ba4557df893ab6b94f1325c3a1\",\n          \"05985a4cced0e8fdc58924edba9e400e6748214f8d0b83aafa20350bbf0e6876\"\n
        \         \"ca5a9af3970dd63be684f9936db282ff8b53cf5f1bb1cbf4473301f372d9948a\"\n
        \         \"f9391b2002b2be3e45ff24a2d899ae8b52b671b04bab460106bedcfac013959a\"\n
        \         \"48189598427fb957159a6d329c19f36ca75381b9350d34389c16e180a851e457\"\n
        \         \"cd\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.9\",\n
        \         \"3d90de7235515949245f490368c1f49383e44c1db51dd5385bdff5bd34450e63\"\n
        \         \"ce42150b441ef9ebc729a9033453f0a9399ff6861f5065b6666dc20b28720342\"\n
        \         \"8e72bdf4cb748ac8d4a55f43d2235e0ab2ec2cf2b06a015f41e35168ac7e3c56\"\n
        \         \"8f2f16ef5728b2be9524919d3676d68f537efef29a05af97cfed7ce9ec45c12f\"\n
        \         \"165e4d7a4fe72b99eabf83316cdf2bd1644b82fa13e4ffc449e76d44c3876963\"\n
        \         \"51478b1a0f859615da905f20e68b24565c873f834e593458518ade41c1428174\"\n
        \         \"da0c47663a7600c65025015e09c1\",\n          \"009813b2fdc51bff88dedbeca3b14ae58bc7e714c1d92d7426e4944ef93ef9ce\"\n
        \         \"6d10dc989eafe7348d0a95f99f56948f72602ac5e8614f6b38e68da79f48e276\"\n
        \         \"8eda5864cff2545137f3cf4d81a5aeb89b21072674caeba0007100c07ef4dcbb\"\n
        \         \"d05afbad9e8b30d746ea360d6cf875d10a67a57f4b5df4121d7297a4bdce128c\"\n
        \         \"b5\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.10\",\n
        \         \"20e6a3fe16b521b3c1e6ae993ec6e849a9c11f2042a2d4ce89cf0f99e1b4b947\"\n
        \         \"1da9a1730da8851fc5ab3c0922055f003758b235c28de40880663fcd80140718\"\n
        \         \"15dd06494a547ccec3348e12d538d5dfb48f807b59e9b7cd81f391c02c016cd9\"\n
        \         \"c1a84f9c595179d8f200242a5668182cf2cba3b9fb6ead451d6d27d9c7361525\"\n
        \         \"d688b55233ff45291cc07402d292de0be83d1646c43c28881fd45549b14d1261\"\n
        \         \"b12f120438276c6b3f98f55bcf1780bc1a91eb11d0229e1d7868d7fee49d6b91\"\n
        \         \"68e24de1cb4f0f22e67cbb1569204113027294b37ec7fae58bc64e825eaa4d56\"\n
        \         \"94d0058f2cd4c7d21418da3c0307fa2f0492e8b37758d3ea40a4e30f60\",\n
        \         \"01f02b3f839123aff2a3f43da5aaa0b6bbb60c043782f4962a7b9f025c948e34\"\n
        \         \"322e98de3703e3bb45a706a2bb0509bed9f410528c881ab9a1dc0197068c3728\"\n
        \         \"c3716d8381d9f86780fe78a6434b72f51e69cd32a7213ccea743b33c3c96eb00\"\n
        \         \"42fb98a70c2e52fc178ab2cb9ff8bdddc1046b08e047baddd65a45a4e65339d7\"\n
        \         \"25\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.11\",\n
        \         \"6eb49f8abc5b4948720a7f42f74084780022e0e9f9f68886d9f34e7f7f8ac154\"\n
        \         \"dbe19c91b8ed38ec036b614212ca35f79ed874579e2485dac8205d0e56b4b4c0\"\n
        \         \"000a8a75a6d497fc5119111a40db513df6619655b58a116fabee082bfa79373d\"\n
        \         \"917656871011241887f442608bd1eb1d95d1768065fa63324fab2736f922705c\"\n
        \         \"f289fde9267433859207a8bcf12d17861cfd062b88df78870d5a5e91131b63\",\n
        \         \"02a2fa32717796710b52b051906cdb9815b2d0366c070a78ff72d45942d7adde\"\n
        \         \"ae7edc73ca9301f1f9fae68a0bd4b1df05a9a671f8a5b7d45cd11fdc0f0ba09d\"\n
        \         \"25cec3b6303d9a666c76326496ea31ae3886a0c3b7d22762eea278934b96a4f9\"\n
        \         \"0a501ad3088f702e14763ce33846e2fdbe6d661cb82e6d989df3c5ac8fe40a85\"\n
        \         \"62\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.12\",\n
        \         \"45cfec132ee593f0c3f3813d3cb449e6e5e61d13de529ae3e71c998ea456359c\"\n
        \         \"e66b82045b7ac797fe96985deabc5122530b2e29efc975ee9603b4f96f3ff4e5\"\n
        \         \"9b0e35a9ad92f2b867794d8e\",\n          \"039be48f133ae7f0b19eddb213560973a3e2a1146c7942f8264bba5ad008692d\"\n
        \         \"113801fc2778a7e33a9e115ea632e50188c87b69e8d4d8cca48abf9f251efc00\"\n
        \         \"17b99edee566dcdc0bc58dbf6d67bf863db8a89abdf12a77f1b70de439d176f2\"\n
        \         \"eaada5464c79a584270ca514f48f1dae8678ecf1ac296d07c46898bad41acb19\"\n
        \         \"9d\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.13\",\n
        \         \"22512987157cf9b9ab4e5337b09891d63cec3743c0f7bc9d182e\",\n          \"02c7757f9993ef8c6d60a3f5abedcea535dff55ab9f4f62d1254bf261dd6a2ee\"\n
        \         \"52da6349f47b9b289f1d0ea3e0ff08f455fa5485658e4217f440c08b90ae4c6c\"\n
        \         \"c25697cb833531dbb474032543100b5f92b678195ddbfb1b59c59be7c83dd817\"\n
        \         \"45cd4e709a0e3f798ead5bf8662da65c1057cc082d905050c465958b555d77b8\"\n
        \         \"b1\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.14\",\n
        \         \"ae48cd83f4a1f94e1719219690c8c6f6737abd15e0d08e7fc2ea0d315b45bec2\"\n
        \         \"46e845bf1760c86c3f82d84b1e9d68dccc01d9a7d07ecc6bfbeed83d7ad03a6d\"\n
        \         \"566a89bc64421e7eb47e52c0238658d5e4c5597f125afc6c833c63cd6f97f9dd\"\n
        \         \"5cce8a2638807ce8a583da032bec81a38cd299a9c78e8254f288516413525fd9\"\n
        \         \"4a9e0a95c656d73cd52a4dcc7dd0947f4a005eaedccfd03bb1715c351cf059cd\"\n
        \         \"522c7f538c1628e72a05644e8fff50926fa8682a6753786f2aa2610abfaa95bf\"\n
        \         \"99af15617151d0bd0fc46fc3b29cbee1e663b923136b5e1992839f0ba52e44fc\"\n
        \         \"cbd9f320ede20f55a423770e573a9fb2b36dc8f184\",\n          \"00fba9f6f959b170b0946dcbdb98dc8e8479c669adba6c54636a2dc7d7f7033d\"\n
        \         \"350405d717f2d63dae65c24b37db1dc3e9f61743af1ce6de2467d185aef08d2b\"\n
        \         \"f865f075baa6a29c580661dcd4a48f21ff4e7b039eef1e1e20ba80cf20eab6ec\"\n
        \         \"de60fa5d3767a30e6ad4144713ca49fc038099af536c0d5f55c4cb15335381be\"\n
        \         \"a0\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.15\",\n
        \         \"2c8a007b603056d33187bf52cef6161aa5f5f5337fc359d46344721d945fbc4d\"\n
        \         \"240d30620b296c3977cf45c247eb2c36394079983f03ad82399c4b286c481659\"\n
        \         \"10b348b95ef39c43bfbeb3566d1d1eea5a427f4cb1681f2a7c401f3f0d6d9ee7\"\n
        \         \"993be5ec5d34a75541e9f8dc7c6069a8977c9f936edbe41a4ef785a3ef7ba051\"\n
        \         \"899009ed612a228f903167a934eee69b4f8736c29511c6bdc61eee9608a9911b\"\n
        \         \"ba52839be99f91d2ef85b8cf10c1d635080829ba7991fe2ef82e2bae27081406\"\n
        \         \"e89bab75c3ed19e87a4adb72ec2621f3f2585b38cbb36b3c0d405ffca7a6fb02\"\n
        \         \"24420794cbd8d7831801c881e165\",\n          \"041047e242b6448741f28a4c8b2dfecacc0ff6619e956a6a6b10cdd01eedd201\"\n
        \         \"c80e0fbf7c5bef52a7aa9900a859394b47e83d08b5e1da03a33554000cce17c1\"\n
        \         \"d86229a3a20350d11643a758c116b8fbf72660df4c86ef8c1fc4544c3ae1d1fc\"\n
        \         \"3ce9f263f62e8007cd7ff7ea8d50a0828389ff431fc5c562816d3d24b607211d\"\n
        \         \"29\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.16\",\n
        \         \"7b15d1a79c7ad2d12f75da57d14a8eb71fdd4c4eff5243741acde23ce6dad308\"\n
        \         \"c81d5d580ff9c3f893ff124fe458b31884daf7fc4466d700dc493f1c7a7dbf62\"\n
        \         \"241b17e73623fa17814ab4d2c9245be83bb3cc5f9444b15217b2441f459c00b8\"\n
        \         \"2e58689a11dd5c59fa395d1a6f9b2c25cc8499927ab9a49828533652cee23232\"\n
        \         \"972d6569ee56447866f10ebad54ea3f061320c6d3fefce34552b6266967b0578\"\n
        \         \"d6c455b9ac2466361712e7d05bd3332ec130d45c6a4976162c797ad1363f4969\"\n
        \         \"e4ae3ded6e36ea2cd7fb356609be031a79b294\",\n          \"03025290b4462f9ab79fdfaa7b1d53a4d12796c85aac28deac2127c8252c2a62\"\n
        \         \"395a8b819dfceebf68dd4dbfc87c1cf3d017a53a264092506bb6fc9528e6f876\"\n
        \         \"78736ca56a14a1aa2677a8b84f5e03fa2c0ce4785b26ba92e75fbdc16d8d4c7f\"\n
        \         \"b0bc39a88e132e1e05ad00f12f072706343f5eb3dab5112e3bbe76ed0bbc7bdf\"\n
        \         \"cf\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.17\",\n
        \         \"7a7644001f8013c50fd717b24465477abc34ba9c1e53ad7632645a6ef7c8e64e\"\n
        \         \"8ecb7bca5b4f09b52f4dd48f8bb3dd338c78182ce86e8bfb1c68a876f7321663\"\n
        \         \"06a8ea8c0d7c21ff26faaf4ab45510361950c76f95c2730b9d3e4d6d85ea2558\"\n
        \         \"4ac967a02b1e0a26\",\n          \"03b2accfeff063bd175ef8ae0cb85bdb800ddc27776f8d3dc7e21d199bb8d65f\"\n
        \         \"5b242e79d45ecdcff02e803f5681ff044a43b55a9aacb1eaf16784838b1d5a2b\"\n
        \         \"7c1a364dc405311a6555057ec73f0a8f4e0ffca423022ca6ad74469bbd5557bf\"\n
        \         \"a1cf4b95636f534537eff2fb16af5e6471824afe2167918c89ade01d52aea739\"\n
        \         \"9d\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.18\",\n
        \         \"12d224fc10a0fc40953ab6d701c416c3a823772beafa\",\n          \"032cb5c8d61290b766e6498aa601494d9f066f27a47a2870f3678943291ab22d\"\n
        \         \"3c45c076e560819d33f889f8cfab2df6c63c0ce1ed5ceb51547077c08278187a\"\n
        \         \"8272fec7de9554cdc916ca72f2c45143f2cf3243c4bd200c6e993f0db5b71d4f\"\n
        \         \"63771e249b19b997a6e5a919ca100c90fea6a2d4dc6881c3a0e1c1355383cfbb\"\n
        \         \"4b\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.19\",\n
        \         \"e0d4e2a5e98a51237da5085dcf098ae2c05b4e169254ee6dda16210e4a3fe81c\"\n
        \         \"7256eaeff28c0c63d854b7841a136c4360b215dca058748a4bfa825868042821\"\n
        \         \"992a4ed5a7d58f8012207549be8cc9cecc8501b9f802830f865845ce2e339bec\"\n
        \         \"28059611a1a00b5535c3c615e9d2a13959f1015c8bad2d753a59a6143b3a3058\"\n
        \         \"ef722560ffe1c18487c741dad61f07a15642e726ad18a984875e68c62eebedcf\"\n
        \         \"946f13b893b2808f78f9294807d774685494e6b89040eee6de1ba718ba2e082c\"\n
        \         \"3d5ef17c1028cd66\",\n          \"03e783bb53dbb67cf2195fc1a57f4b74c98203b1f3d615feb920e4abe8375834\"\n
        \         \"672f4b8f55fef2aca8b5d40aefe4efbdaac3e82108d07f2f1cf8c0d4dff81b39\"\n
        \         \"66ec69be5117ac1aa6118e460b92d88fcdd94d08ebaa5362e59d52004b433695\"\n
        \         \"1437da0f51d63e505615b4b75554080b94897fef293a34c40400c4f99aa1defe\"\n
        \         \"35\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 9.20\",\n
        \         \"64b3ba409803c9b960c1c4962f51271bc89a40bd405ce5bcdc8851d97c9be5e5\"\n
        \         \"b7464e50d99b6cf8adf8ff832b737de8b6ff1abeb89dbae93a90639487806b05\"\n
        \         \"96cd316860f68f0027a3503e158967afdff469076817fc7da3223cca1e6c4897\"\n
        \         \"3b570e0bf74bb8b39654372b7a1d6f\",\n          \"00d200eba0b6522afb420ebf16488c530352c42dde81e764c0cadb43828cb998\"\n
        \         \"d0a60b23b5b6958a00fc2553e235e8574e4d4fec9e668dba40de6661abe13fcb\"\n
        \         \"84c1ad15c4b0cc0c6f4f0f837787c4325f045d61ee2c9972b01f3212654ec426\"\n
        \         \"62567faac40e9c0a28158a2a6c31f01a849126df9e96cb8209beb581d6846bb5\"\n
        \         \"ab\"\n        }\n      }\n    },\n    {\n      \"A 1028-bit RSA
        key pair\",\n      \"0d5fb99fdedf4256e28d4b41d707fc27633e899515f4dabf6b462710ac112581\"\n
        \     \"fa73fa8369582c9fd4525a70161899df6325849e5c43493e13354e270955a43e\"\n
        \     \"3835b5998ed42a575bbf688d69ec366d2ba6f0504c1ee17dc59b7ea0b4640cbe\"\n
        \     \"cd8bd7962be8566f0ebd655743656a291285e037bbfa8655801bd0314f464c56\"\n
        \     \"91\",\n      \"010001\",\n      \"e76f42b47402d5e0f96464925ab4b3bc6894300ee486fb70ced491f2d1b36780\"\n
        \     \"84c1c2cb969568a5f77dabcd40933937a867f934fb2aeaae6d786798e0d04a10\"\n
        \     \"6f545e41a9c93833d81fd4d75353179cb0bca45e79aac9413464b0367f31ac5a\"\n
        \     \"ca566f2214bf5146a9484b87e42bdac2b01a996703506be07749aa0fbeb3b229\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Signature Example 10.1\",\n          \"b2d588509c2eacda281e7671cba2fca914ef73a3aea9202043ead6b72125c1b0\"\n
        \         \"d5cc15414620d573d7ab0b3a8ab66a92df870b75b1c4d68ea7056be0419ea253\"\n
        \         \"e6b08b129e0f64f10abf82e167f8e3e9282e7bf71b043baa2ba2d8756d46b6d3\"\n
        \         \"6e973415f4f8c0eb43fc604ced493dc046a25a119bd1581dbb597c3e67c2fddc\"\n
        \         \"396df5d23b7ba80bd2e31290bfc26225e00955a98d911911a399676fbb\",\n
        \         \"079a7b916f674117f1d877f4934325684148d5d0b0d5c2c6156a11159bc0bd30\"\n
        \         \"d0a73534dc9445ebe206d6075eb4ea7a7c0432bd44b83cfae4685a9eb9a97cbb\"\n
        \         \"fa4e82f71db51afa0d27cf27f0609bb3f8806413247d5d4954f789a101bf3921\"\n
        \         \"728b487e85fa3fd4dcd72d04448e42d3ec05cc475d74cbf765c34e3ec14cca50\"\n
        \         \"40\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.2\",\n
        \         \"ca2518a5a224b23d4205d8dd7eb04cbdcd0ccb82bc87961d859d6600b1ac3e25\"\n
        \         \"a9407b6c065027c04081f445a230ab9308e755f33a759773be6b969e0ea774aa\"\n
        \         \"6e334fb604184275f36a031daea6518697795bd6a7d6697b406da2cece15dc11\"\n
        \         \"3d8544988561131d4fc6f6e3c580d806807df2c6856509542e4ed39d346eba15\"\n
        \         \"976a8fd01d7941b0165606c76176649a161005a0\",\n          \"00beb921ce7489819d2f85c78839a27d7e19ea0a764ac53101e86f3170a76e31\"\n
        \         \"8a7ee89b1f5e23e7e2db9666eb4391b2792a5767ee359b5c71e2747910c82c60\"\n
        \         \"83d6d34829b96fa5a2ec0f62f1bcda5d78f8dc3c650b94e32b3860da5fc5b17f\"\n
        \         \"bf687ec0075a9c73dc1e98d1f36aaec4493f7891e3ab08e2042d8b1e462e8c4c\"\n
        \         \"33\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.3\",\n
        \         \"d433d15b2d61b86ac8ec0daeba65e11ded3c38842525e4b7c8e453b0f553cb4e\"\n
        \         \"b875a69d7816f54c87793e3abb79fc55113537b4762965cfee586e0a17997851\"\n
        \         \"e3dc9eaf6f1c9c2e98c9613e3bbea013ff58616b2ab05ab324a9c5ff4c5efdd9\"\n
        \         \"90dd97d91693c1ebd4c09c732116c8dfc3ec515c20532cba7e4758c68a69cfa0\"\n
        \         \"ac3186\",\n          \"03ae3be1c7446ad3efd8bae61b3d32d3ef152482b1bfee312fe9e6beeeab8cbd\"\n
        \         \"08f4c8f9cf067deab6bac7c0fecd87bbabc7f6798c77ef1c3fd8bca28cf9ece6\"\n
        \         \"56795f60b37875eabef82153a12bc7fde3fbc9e5e148f4e16cb72a773d9dd023\"\n
        \         \"17f70b3391400805e85e7a23567b34aa65a35f744170affcb323371ad2ab9f1e\"\n
        \         \"4d\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.4\",\n
        \         \"7d0f5bd7900f1e65654e6c7eeb064cb828f355d6de9bf0d34783ffcbe80ab1b8\"\n
        \         \"ae07b7f1e3f5a320dd9b8b76be0e9772de19a8d3\",\n          \"09e7a5304171da638be7601fbff6e49536f3366082253abc1db5d1b65493da59\"\n
        \         \"5ec93c37f5890b5f4715bd5e80c0bbc5c63b74af2e60439132d25213750bc1de\"\n
        \         \"302e3e8b83dad2de0dffc4faab4056dd7c405e04d5942453659d490f3c3daa7d\"\n
        \         \"3f117011816b56590104de7f9c052373e2dde414490427a58964493ff45f08a6\"\n
        \         \"e8\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.5\",\n
        \         \"d96aa091c160b552b16df0658fa8\",\n          \"0b69754ed6d7a7d2d85b2c7a306c78d63d0ffa438f43beec3a0286ce57e7e0f8\"\n
        \         \"5ca430e63908c0fa584ba2505f8c94656ec02494bb032f920c4b6b8c943e6be9\"\n
        \         \"2f578aa8ccdfaac0a54b8a9c0df548271f8973c9ffa2a20c84762e9017e7452e\"\n
        \         \"5d74da690f75c099ab91e2a7963bc537f9c24ccc3c418c6e985861d93daab2e6\"\n
        \         \"13\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.6\",\n
        \         \"56f048645a49fa0141f4d674aafcf2fffa83f9b452f1feed43057cac27675ea1\"\n
        \         \"a141d87f92f9cebf6ee4f78f8ed4c3a29deb729747b4f98e4c7590aaa8d56dbc\"\n
        \         \"61d38cb5622226f68e43f9c4f4c03998aee90934395bc840c86dcc8874776f43\"\n
        \         \"039f56a89d24bdc4b305df09e5ca0c0512ad6d1571919a3db3a6bd98b7820ada\"\n
        \         \"0869d225a404027acb6d767fc314db377e8d1db6ef0af29454db2bd4c1cee013\"\n
        \         \"a59743486d32329583cf80113cdaa10e4f2cea6c4f9fc6e4e2716ede85727c3a\"\n
        \         \"fd43494609777630ee33637ea35c9b4f688e492c3c640d\",\n          \"0666ef71e2c8a1eb1c46403fd23e521883ada1b9bc5fbd353bbb3c3dfb570ac1\"\n
        \         \"c721faf3f59732f213377380397948462fd20a3f0e5e0891a6b07c31b360aaa9\"\n
        \         \"65e2f0930eb341ee77ec439065c0aad91787ab6d2e6cdeddf55481651aebbf9d\"\n
        \         \"11d54bc11326183ebff49bd40bdf76d7ef69b67ea3968fa849032fb824b6dd6a\"\n
        \         \"e3\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.7\",\n
        \         \"79da89e355d551a0e031f4fb71ab6f4144c4762e07d0641433cb5ec86134963f\"\n
        \         \"7d2c4dc7beb5c6d46157c6c4e14a4b9c7a2c0d460f1fc062ea1b4f9874d5b1c2\"\n
        \         \"9ae2f2a5b39062e41212e65c85c28e767589965d1710ad5bc76fa5a6729a06fd\"\n
        \         \"496e2e0997e57337bd516e6bc79be9e070aa7b86c2ddf14f94985fe1582a292c\"\n
        \         \"d13934b3c38dfe5977ed1d9f8ad324c0dc07e5853c7e4890bfbdc1a01ecd72c5\"\n
        \         \"ff68a02f1e\",\n          \"0a0682f742e743e1c7dabaac618a786f28ed13a6587adfc33c9829d752c13ef2\"\n
        \         \"7a00c7e6d45e27171a5841771d78698c6cc66778b8c09338e35b9b6f59c064ce\"\n
        \         \"b3eb20ce909a5c6ceaaebbe93e86c7c5ff4a3917f126819632cf96fab1d39173\"\n
        \         \"a7ae7fc2ff5c0fb4090535dadb58d87d0da3db32ecec13718b3ac5c30ba802e3\"\n
        \         \"8b\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.8\",\n
        \         \"e69ac9433e6c28ac53f8034a868da9883e319e82e6bc2e49455e6e4f098b53f2\"\n
        \         \"87a858da1d876a9a5a6a9fc14fd24238cd4e4b5731077a4dbdd5038a9bc1f5de\"\n
        \         \"f43fec77f67eb062faefef7d0429238b25d031857896623a3f1d37bf\",\n
        \         \"08a020e4209878f1e637ad59daaf835daf4ca664844794c1c648f0e2233dba75\"\n
        \         \"48bd161f0c0a1824d762031a417572842f8e644aa93f9d91dd7709e16a429cc1\"\n
        \         \"43903ef4f837a458396bcac24092b01724c6fe3dd1ad243f3f70b5ae6faa09f3\"\n
        \         \"70caa512104b9176060df2bf121cbce9198ec2fe45a59ebddc467532b5afb9b2\"\n
        \         \"35\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.9\",\n
        \         \"45e09056a28e4b2e7c11f65e688a1e3c33f0e52c9a036c09d81de5a6dab58d4d\"\n
        \         \"55cf411b53ad646e83a34b0c08c221ae0376ab76a79d1fee671a584420564f8e\"\n
        \         \"852eb6f2d427aee0a096dd72dbe8507c677f8aa00eb7c25dfb0a49dd88a6c784\"\n
        \         \"76b80011b6828b3aaf4647794422ba6bd63b7ab0e7dafbd36f6c41dea03d7322\"\n
        \         \"3564969460d928540b739257e70bb68d5c653c3796945895\",\n          \"08717d5086a6453bdeff77d4c2b856e3ba990babf69701df6ca0a3b3a81b5569\"\n
        \         \"7d31889d100d6895c97f0a56b47168c98da62e59ec79d7aeab2f9a570746988a\"\n
        \         \"26f423576c703fd841ae51c9c229a2e9c25fe94c5b6ce2fa645412bee659faf6\"\n
        \         \"09a32eb2c05beeabaa4f58caac3133e5eaaa27344d30eeca22c6ebd8d9e34441\"\n
        \         \"0e\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.10\",\n
        \         \"b81c8bc4ac1fd971b21f027e06f4d87b34d5769d23c8599d1f157b08a7f92e34\"\n
        \         \"19fec4c8c1b34ca463c768b72e07f9dabc3cbbdd8b5617cc252875002a1a1392\"\n
        \         \"af0fafc08c7211758f3c042050ad731b636c0e83191a79de5aa2cb94dc8b0bdd\"\n
        \         \"e75db7d0c8bafb4223d347b024b3d9c6b239619b5d8b6346ea86fb8f24c584dc\"\n
        \         \"1a47791cb7c8c7ebf1ed438b88\",\n          \"01b9f43394c7cb885bfdcc3c84962223e8aaa94c6c9b7905401d24f0dc443b2e\"\n
        \         \"8d840e28a95fa22e1ae36ffe08966f38d38714cf68da8db23764b88c4bb2be4f\"\n
        \         \"d3da9ccd1b506942aa9d73fc09382dc3308314706e6ce27f00761f3c9bd54fa0\"\n
        \         \"e31c96719afbf0763e35cad889b72e13bd12b76d6f2020faf61dd3d708228df0\"\n
        \         \"6d\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.11\",\n
        \         \"d0322883e598163d722036da3e632aa65597acbcd1f47603109696f9b39fdc\",\n
        \         \"078d17ab8e6ff0be50b3539eb03ae8f0903b7a077481781fb0b1f09edcf77886\"\n
        \         \"312ad6c060274f0c389c16314040c8d7d9909cb75df18c82d62dd34eb59c6a87\"\n
        \         \"d3c46a7ef7474a5e447f7744a6a92f5990eaec7bfb00844d684d307ddb498189\"\n
        \         \"4149e752bfbe2e77057da7605469af7ffb6727a9981b9439caa5d80e6ae3b3d6\"\n
        \         \"51\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.12\",\n
        \         \"e8742f04b5654d9288b231a47a365839bb01be87\",\n          \"09b75306a7212ea6f47eb0ccf4e2e0d6f8f3abdb9cdcfaadbe51922f92ea6262\"\n
        \         \"3c58ea74ea1a247c9d731f2c033536b35273c717495f325a60405bd5f5e405b6\"\n
        \         \"80279e752160478740457216dc929ddd65dea505535546e4770f8211b849c365\"\n
        \         \"218e566e5bb41bfc361b65cdccb0e604c9edb970ee6a286a1fcec0ae9d92558e\"\n
        \         \"ab\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.13\",\n
        \         \"a03c2b85fde46468d1c50637b00a72dcfc32c41631739c060245f53e57c66c51\"\n
        \         \"766f24eafd93e6c66743480591bf14446e040b67a4f84699576c2e1463caccbc\"\n
        \         \"b073e4b7ec6da6c8cb41d4a123c748cd7e83d261e54c2fd2bc495bc4c44a78f9\"\n
        \         \"82003403092ec6960c088e2bcde348a2e0e55a4b4f42eab229b95c383f2113ed\"\n
        \         \"6cd1f3f3167de3d28d362c8d78b2eb6e31620e34b2f0f941dacdf7b4b8568c6a\"\n
        \         \"863a551d7bd4a5d7093eda69e1e28056dcb1eb69ae03ad74be72a75ae8fb56a2\"\n
        \         \"7125ca3d2db3769d13d35db108e2644a7f3b37938fec9762315206d30ccfd576\"\n
        \         \"ae7de0769869e5044d07646cf78c64a486480b0fd42cc7b246\",\n          \"058da5494c4e98aa121f67f65a2c865425a9e6002b223f0388809753573b4f33\"\n
        \         \"4de45d8f0007255d112ddc84db266700e440b5a86900c3d3d35b024c18d8a25a\"\n
        \         \"5800226d0a56d838d8919e6d5a8730d619499015ec4665c63d778083a042dd4f\"\n
        \         \"052a1bbb5f4080cbbb41fa945bad6a74779f680725e47a08a0514f350fa5adf9\"\n
        \         \"0a\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.14\",\n
        \         \"c40c70f26da569486bace785da32e337a0eb94fb3a0aa409c5770175c8e8cb2b\"\n
        \         \"aa8d2a1b9846c37df7d671036d5e91\",\n          \"05256128afba1f55d81f79ea33879147a24ad7779346ee798b211c247153ea38\"\n
        \         \"d26b217065f61e0110b53d72cb64934d9b1ad1b3dec332092d258f0caf1c4aee\"\n
        \         \"8b23e09bab0f0c278858b441d08ca3ae9f00aa9a3f018f7d9fa98a18df0d2484\"\n
        \         \"7e567a47f5779bd1793a4b0252f2bad40c9c4a81301cc28c2609d7bb3337e97f\"\n
        \         \"14\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.15\",\n
        \         \"9e6dcb11e0e8477139faf041a74e2bed643a62adedac7cbef365ecc43ae4e582\"\n
        \         \"60bc724623bd6342dc660d66142ea63680715f522ff3cd4b636f84aa9d75fbfb\"\n
        \         \"c384107e43004d986fbce1a27f7ecc7d02392c\",\n          \"0ccf234eb480085d920d37d687965d2fd2e4a4f3bd3bf7ddc16b5d62a6903274\"\n
        \         \"207c6f90836e29ffc63a57f98130c525232519c708f0dc8a1255ab55db1a2b9a\"\n
        \         \"bc11061602075ff6f97f9092796b98871a6cd5d2617ddc9d255a7300c910fd21\"\n
        \         \"0b14a981e5a0e0c6bb2b045fa9756898b93b8a634544d77afdb1cf0e7958f11a\"\n
        \         \"43\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.16\",\n
        \         \"20bc463b5e1220a39c84e89fe6716eecab5555f8bfce60cfb83793cc40a4da1d\"\n
        \         \"22c0ab4eaa931fb747be35f1cf6fb1465bef1df2760fcb3f70d3e296e7b27045\"\n
        \         \"0dffe2d588c4396a5f6f1e6387aa86971fb0ad24df550443dd122bdb2cf3c9ed\"\n
        \         \"6125fe55cec991cbae8ee1562a8c0f4f364f8f0a80cb30fd99440bf655f0804f\"\n
        \         \"92968ca2e01c0d5abb4ee267636dd4f511a8d3294116216bedc1088645e465d8\"\n
        \         \"e198b8afe1cd5424b42a533ced198ad597\",\n          \"051b714266066bbb819a2a3805a89cff461875c095f4f38982d1afc2ad2f1424\"\n
        \         \"50b8a752947f031cce2c9c340c8ac9f9f7a548b7cc17e4cc525696ea0c8753a1\"\n
        \         \"e15bcb985deaec776fb9e7d9f75862f8983523d9f871c63fb7561ac71c376bf4\"\n
        \         \"95d4323859bd14188fcdfb4b37abcb5dc1a58eedea7e0fe62ac16e208aab4cee\"\n
        \         \"26\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.17\",\n
        \         \"92da260bc213b72b48a05753503d00a1dbfd02ac7b9fd44d2401ea7ad58ad186\"\n
        \         \"1fda536329ae4173c9168005b9662c05cbea47ad864af7cb16602d3d183471bc\"\n
        \         \"98bcc62c6d00d334bff5b90cfe7d7e12d07fe7d4cbd9dcd3c4c23490be8cbadc\"\n
        \         \"08c9177980373c79eb4eea6d81a6bee2270bf420f91979ad3f271fd68dd4283b\"\n
        \         \"e81410928ca45b9deb58d3ae98b2f4fca62125950b5ee128dba105c35cc398d1\"\n
        \         \"5e742bba92697b5c62b267ce01141cecef807507de29c485305d0a990943230d\"\n
        \         \"8d9b7252ee0b1956de845f2fbb2838785b470a7c2053db396b315a30d8a7f91c\"\n
        \         \"fffd03e8a39ba8bc\",\n          \"03e23f8652374d48d381c378353eb47d9064cd708e1b9bf688704c04c0090088\"\n
        \         \"46e6a47e0bd2e30c3340f5d4e19d2dc5d8890c8f0104dd6f5dd6cad9c4d99484\"\n
        \         \"09c3cc0be670719dd0484180891c935b9979db8eb468a23e4ef46029f3af1457\"\n
        \         \"4bd10b473edd9b127a306e5124ada402c148f51b52e7e628bfacec3fc2543a0f\"\n
        \         \"92\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.18\",\n
        \         \"8603a5622a2dbbbcbbe53330e908d5a25f6e67a51e0768d7c3c3fbe8b92e8b1b\"\n
        \         \"36dc00743ce33da0f1c8cfb00d63edd6b2252fb6721397d2504b30ed1d293a82\"\n
        \         \"e244c951bbfc24298a42ffee26e456a7be105cb5e37b3d25de28bfc01042c4a8\"\n
        \         \"2ce870455487e5b30e26f8d5398c86126e\",\n          \"0822fc22a9cd877c09b6f92e8017ccc028d5379967c7d04ef32f869c7ef67d59\"\n
        \         \"3c7745f629d93df260038cd333eaee92359fdbbf84623b7b5514235b8306272f\"\n
        \         \"4efd13a6700be9289ad54e57d52d1febb46a37afd695942c4cbcfd3768f2821e\"\n
        \         \"888efa0e2c5fd3c9c42cc35550d7955cdbd35c8ef8581b41f8ddab2618262e3d\"\n
        \         \"ff\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.19\",\n
        \         \"067d4becb03e1eb275ae22507a77a5396e719b5f00b105950bc7998e0803da57\"\n
        \         \"a4de08a4078b9a00d2d46f\",\n          \"09108d44575f614a683ee4d78bce1c58f5243687cbe9c5483460b65df236927d\"\n
        \         \"bc78c06439ce1c7c519739c8f8950082d956d60fc3645ba7af8e78895470631b\"\n
        \         \"b4da00c01b982cc11c68d2650c7caea4a26e210ff4b1cae1db505fcea9293487\"\n
        \         \"b2073178ca245cf0ca2356baf865546b54af9535bab18db679ef5627092979c0\"\n
        \         \"a8\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 10.20\",\n
        \         \"884fc502c8824849478b2eac1e7ebbb7caf28eeb4889458602ec703581d05ef9\"\n
        \         \"b1a4220bd2f922f25e464c880701c8a45b1d1fabc8662eb249400426c2226238\"\n
        \         \"eb8ad0f9069c90f0018277448025a64180ed55d1afd27aff4f00702f715d2910\"\n
        \         \"000df3925c7010ff117f6d8d2a816709489efd29a45c5923177bf92cd0bf6b94\"\n
        \         \"745d348a144e98740f72226a3e2a9d417b7c1fd8f895f515c5c6d406a72bdccd\"\n
        \         \"39152c30fdbdda0e62823ee9dfab3432e6642eecb6987b9046e040a478a4df64\"\n
        \         \"8defb3016aa443d067a1fa4155555374f8ba325a8b55e4d6b5fa090eebaec9c9\"\n
        \         \"2e261cc04ceaa48b3bed7b3f87d3\",\n          \"0b41b412197126159e9bda1a2462c8a4fd3dffdc6e98e4dbfc06cfccf16f74fc\"\n
        \         \"b52338af14ed3936e02c1d7e77236cc6a489f00f089852de5cc425b45094a042\"\n
        \         \"e385464b64c3b2ffd01f19a01c2c0381f758a67365d1e65a707b134e3f8a9316\"\n
        \         \"b4aacb7e851a5eab3cd811bd4522dd141a00157dc3fcafc4154caf0593ca6210\"\n
        \         \"2e\"\n        }\n      }\n    },\n    {\n      \"A 1029-bit RSA
        key pair\",\n      \"1ed7eea9405f507f941623a17bea717b860de44cb77687b8b85a6d7d1ef4f862\"\n
        \     \"8d257cb94238c625ba25d46aae593960af79f75e28ab63ac3cac4820b82da1cf\"\n
        \     \"750d6c930d6b827854aaf6cac0c17b80b029f5d319ccca665c5694f54ba5f096\"\n
        \     \"f4543413ec4c5e97cc1dda89d2afd428578759032adf92895065baafe88d2d8b\"\n
        \     \"61\",\n      \"010001\",\n      \"0d938072b16a02f5d50a15aeebeb5afe431874482c6d18fa7ef316c47f4ed6d2\"\n
        \     \"124cd0e47eb89cc7587374576cdccb3bbaa195f7b531139369b56f9e2f53aea8\"\n
        \     \"ac7a97e1d7458f526cf7d710c4902aaedf997c1194b87b62ccd8dab8ff5b67d4\"\n
        \     \"0fe83de1b82b91609a7c5cf39229eb3a1b2f0ebf0b125cb80091a07ebc779ce7\"\n
        \     \"fd\",\n      {\n        {\n          \"PKCS#1 v1.5 Signature Example
        11.1\",\n          \"845519dd45d2ddcbc8dbe0b82954c458c3664d88274e502d279146b18f6a8167\"\n
        \         \"50e94b4ecdee6832cb35dfcbdbdd3e5dc06404d5f0c70e7c7cd0e19f38bc5ae3\"\n
        \         \"2c7cd91f94d8f56782397bc74e6b069827ec2730173740ce4a10e648c78897af\"\n
        \         \"1a89e83331d0f461378d06052873f17d9ffce46a32472607fe73e4a561879e61\"\n
        \         \"9e7c1ae814e45e1d2bdb121946b2aeb8563916c543ebfdc2c090feb5566500a8\"\n
        \         \"ce74afa45372bde0c6673a7f6accb0ee9d57bde93c36ddc57b8490aa2d68585a\"\n
        \         \"3db7297ada6d9b3f356dbc74d315c5fa1abf7de6cebca83c9df7\",\n          \"0863a626dc42baf3e161c35b3de3b1abc1aa5adf5416465d4c7b6b01ae2dad73\"\n
        \         \"f9f158eb213dbc360be4d47e5707871c39c38dbbc96b46c8f9afebd3ddac8716\"\n
        \         \"9098e1a76718d354cd091ca35296a77c21d2512ffe65e3b71b9022e9cd1f7c35\"\n
        \         \"ce1365fd1f2c2cb967ff4c8f90f0c8eaef0db73fed00e98cfc83f80c67b3be1d\"\n
        \         \"33\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.2\",\n
        \         \"868e7c4fc6340b6bbeb7b86ea89ee7265f3231f48baa92e4a2e8ce0fa1c1a8c0\"\n
        \         \"fb0aca944c74bccd\",\n          \"10cbf8717f76278fcc8fc0aab46e90a3d180c3c92a4a83eb93c8920af88bd650\"\n
        \         \"6b4073453f0beff3e61edbb4dbc9c947c69deb69a1ac929efc15625b9ed7cf1b\"\n
        \         \"c423a8875f3780ddda9eb2fccd9fa014626a7fcf998649bcfa5953a3c43efbcc\"\n
        \         \"38704d024919df2fc4adea39e34cd15cd4f86ad3f501012f6bd28aa5002c3b41\"\n
        \         \"ba\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.3\",\n
        \         \"92cf880da58915e3aa95089353e46184c915945c57679c1e4bd3825ed919a320\"\n
        \         \"52e9786e23b942539b9315f581daf0b41fa3261b967de40cd5d92a4824f364bd\"\n
        \         \"1e1f51844b109b1454134adf234e\",\n          \"08828966ac5836c513da4ffb87618797943c612ede7e12b31003ef171065b4ce\"\n
        \         \"dc6a80b1456c21b674b3779ad35f70177aa92c6eac0b833a967d7e98990b4824\"\n
        \         \"4205dbf26f5cd57ef87dc6fe5ed999cf8ca75dc8e626fd6eb281c499aff72989\"\n
        \         \"edf52ec6f3bcaf81ec5f8e8230b87ededcf7b778143ed6c8cebbac9de54109dc\"\n
        \         \"f7\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.4\",\n
        \         \"873c4715902ff19de08bccb0cf263763fab016d0220f0327b4755e354eb247f5\"\n
        \         \"dbc2d396989bbd36d31f61989390cac16643125e63e1a1ae1f1bc9bbedacce67\"\n
        \         \"fc1b51a7\",\n          \"05259c481593ea86d1f002ca58aaee9329fafe218f6750f0e588f33b64e708fb\"\n
        \         \"27a6fe81ebca8adaec757a14ff55a0c88ada2c3b43e39e8dfbe676894365a221\"\n
        \         \"0c2aa81f424d8529c2076b00c92dd8c8ae3b780d87dba729ddfdef7d407f854a\"\n
        \         \"71cb688b9f03c71f3baa24a2a6e1cb410774309e40c13c2b264738e5697cfdde\"\n
        \         \"f3\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.5\",\n
        \         \"14b27602ece8f067b58483af1777c4ed10b8b64e64c69f57ef889a1ca5d5b5d6\"\n
        \         \"51c608db239deea150ff12cf50c8679612f97ecb09f7\",\n          \"15c4b3f081a2e58af594e42fd6accf1d0d61d93a5e3a84cf904b98d9ad713361\"\n
        \         \"b784b24d9295e43c23be93ef36514a9bac2c1bdf4ee7323436763a20662f2db3\"\n
        \         \"41d9e38bed5f12c7dd18bc3bb0fcba5c0050bd1a2a44037197b8c9fc2aa599eb\"\n
        \         \"43c3d9679242c99bbc49b03b98eaca8346287259e6ea2e89155d0dd2b4778035\"\n
        \         \"75\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.6\",\n
        \         \"e566e5fa556c765b62bd6e374521f508fe446668c6474bef046cc6894a87322e\"\n
        \         \"1931e80d9ed9ea806b167a3af77fc04938b5548efbc068d4f1966a997625af31\"\n
        \         \"a4007f0698a8469ab681f4d508b4a48c8fe720cb5a94a7f443dd5a58030497da\"\n
        \         \"a959a3aaf6e34184397a\",\n          \"07e7c9442624bd266cc1cd1af3b8f06294dda1c07767fe19bced6c9ed7c4b1ed\"\n
        \         \"7f26e203db7f3a1bfa57daba6f3aa06003bcdc1e00c2d3d76b9cbff96849b1af\"\n
        \         \"f542d0d7afc6e422492eab0ab7f8e1d1ae0b279b851945b765851b9f8ad880dd\"\n
        \         \"164c11ac4a57f96a0e484ba16abf1cbe8aac090adb6a71797e1335eefe2ac998\"\n
        \         \"0d\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.7\",\n
        \         \"b443c343527b30d5ff\",\n          \"0b3f13c27224d16101b9c8201f1b4f8537db3c116f3ce130be0de0dc0dd20f77\"\n
        \         \"3cdf7b7f372387c4b653e5dd442184457411a82f8ed00366ecc077a4267c9d7e\"\n
        \         \"56549663239b4319fe499aa78954049c743bbf09d77b3029d918bb7b9a6ae80b\"\n
        \         \"129e41bb56dad2b8a4b6f3193374c8292fe017d063347e91cbf4dd3939c237f8\"\n
        \         \"3c\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.8\",\n
        \         \"db90047f615ad71972baed0c10626ec8cb18c6d75eaae058219fd6195426d44d\"\n
        \         \"5c543bef3c4c1498e877d7c853e53121eb31570081d5de4885cbc925a6c22321\"\n
        \         \"ccc9c3784eb219e42b7edb928877607329798d55739c89d6d6b3f0d430bbbc47\"\n
        \         \"22eafa67defc86aba6e63483fd6499b03fabdc8465d98bbbe4402b0231135c21\"\n
        \         \"243d7e02ad5f7e9e8b9460c12dde2a395b456961cc3dfd9a12f5d9359e0b3a6b\"\n
        \         \"d77f44655b603b0255dbbaff8bc840759a3462fece0d8db6e45e2fe2bbf8b6e9\"\n
        \         \"7b3feac07986738257ab9f8cfa795a20192b5e2cea118ca762252af6c6eb00ec\"\n
        \         \"5c6820bcc7c7\",\n          \"00aab067d3a8633d0bebd591ed34d067f4718cd7f9b1e35aaa405da1222ab940\"\n
        \         \"3866921fbd057433407a4aae7e26c5cfa0bc9c1157057b1da1cf3628518719a6\"\n
        \         \"03f6c3c4dea30bf49db9b068afec698121dce5d60d93a6f5633fc6af9df4c5dc\"\n
        \         \"cc138c294edd429d4afe3b3378868255cc53788cf2b47745d64acd885bb47d2e\"\n
        \         \"ec\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.9\",\n
        \         \"2be0067b95185bade118dce95c57029b554b25e1c39519f8f89073b9a04b7e91\"\n
        \         \"299cdb87b0bd17c9f151925c756eb9b645072561264107882138854ae7d507e1\"\n
        \         \"5fcfe847094540e71a547f63b590467fadff647f643e1cec11246529062c9e40\"\n
        \         \"8892f2a20cccc0ae45ca97a47fcadc8fede21a24711167706cc4b5d69477e5a8\"\n
        \         \"a146b960cd4b1727427b16517b63ebfbcf84d0b1ac8e7e70f044357522b1d0cb\",\n
        \         \"0976811217714544410133243beba9a21a6f7212c687915c72027bba3112f697\"\n
        \         \"05425cb994cbb6d359c146b95db1446435d4cf961dfd5c498739bfd4be6ef1ad\"\n
        \         \"d74b81b2898a4ce43dc37cb0e9ed7744cf409babff71788542ffd286ebe5255d\"\n
        \         \"63dd7bd55ba43f5184e248d3a66933cdb06991ecc90eb39ee71d65c88ed24d94\"\n
        \         \"4c\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.10\",\n
        \         \"a790e6ac5d556fb7cf44460c7b9be5eb7f24f987ff890dcb7840241d45545b71\"\n
        \         \"05635a1aaf4457e6410c65aece5011e2775ec8530a64a18839e9c58a7b77424f\"\n
        \         \"74293dcb9e9ea8736d6ba58b1c6653d57beaab98735f7af732477b9af6a33ff0\"\n
        \         \"75c7e46639d748550820ba6abd4a9d48cb4903f65b76f814c6cdc95e8d9e870c\"\n
        \         \"244a029b294a8a5c826ab161f6f978d9f1c03fcddaaefbfadb8caae84bc2dd33\"\n
        \         \"2eb04997d61efa91e9241e4ccd9764c726e766ed3b0338d086f1032c1533ef59\"\n
        \         \"3f88fd56033791b1d0625c6ca51eec279cfb6ae3f12700cf5bac271e6567\",\n
        \         \"0d1b111ce8de1d7c4f7fceac73df70aa6eda58dc32eb98f78e7fb9bc25de3e6b\"\n
        \         \"09ab8cae3b2026b6187ff63672e57da4ac28962445d1fe951d27be6a6ce7a580\"\n
        \         \"7e1376139446e8549d48aa59fc223354d121fdcc38f1d0275e4186922700adc6\"\n
        \         \"1dae1e4be805222a1cf07f110a6158a2a26258f19c657a110c0d9ad291680c75\"\n
        \         \"96\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.11\",\n
        \         \"32afd13e607d87b25ff40a885b2509f521f2a0a772a96a39fb3f71c96384b3d7\"\n
        \         \"578f48fcea9739560a65bfb483d9608d202555f66d612d16b9255387b4e11241\"\n
        \         \"15ed48bfef8b89d8ddfc219ccce48786c9e6426a9212e7b16d971d278a1118f2\"\n
        \         \"f86b9c4bbf75c9c2d099e3f66548f1f4a8a821d7274498f7cce6ec5e2bf2bfad\"\n
        \         \"2c6fc005e80a48cae46992fc8267a6480acb894ccc9b62095cad97db70d882a1\"\n
        \         \"3fb38588c48ca190f180cb3e61acb4e2cfd9cdbf855c539921f68e1149d0547e\"\n
        \         \"f59af53792dc660da5ef48a7ab8936d3d36ed6b6469eb6fd95e3af182c8768fa\"\n
        \         \"60047854f18f3741c1883bb0792688cadb9e4df391d91145b85e2ae24ffdfe51\",\n
        \         \"01a937b3cc8254d51508709e4a4de7b181ded9a447b3ec8dad492c397952df7c\"\n
        \         \"550e4b26c95017299d8d455ff7971c338cd014df78e2a8aa5ebee258f49253d5\"\n
        \         \"1ace9a49319ffc807ad70b2df2c96dcdb73b48acbc4f6c3c2a701e7c154b279b\"\n
        \         \"0705bdf2548c8b3611b97da1ac09cd12125099540bf7ba99b08c2f3d5f6aea7d\"\n
        \         \"40\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.12\",\n
        \         \"5b00b8b794a10d21f1b45ecaa20df7c5b3522c1b1db4b084b959aa4e5658ac54\"\n
        \         \"68f6e8fb612ff99f3216b5d21cb4acc0bb42eefdb8e82d754b85d09745894a52\"\n
        \         \"3c0162d08ecce48b99dd6c38e2bd3d531c8562deecfc6152369aacf580eaf9db\"\n
        \         \"6c68b69df2fbf3053f601f70022c9e381dfbc59099c37bde5ad89a8cc1efe4c7\"\n
        \         \"b7d78e9097e08121eda64ac45c327e5edaf922d3c35f88b52c93d399f4c23836\"\n
        \         \"2fe9\",\n          \"0fc6ac1d42947938cd2586d0e7fc3a0542b9af12d36eebf92b5d049c7965b11b\"\n
        \         \"a9ccbf4700f34560911177b9d1296f1c68e3af469f4f399dbc189c23ea746598\"\n
        \         \"2813323305ed6c35ff9cc109d0a2303fe7d329ca317ec4b18edd19c62c60a3c8\"\n
        \         \"c3106f86dbd072e3e1eb8785288c21abcac22e0c0d41f4e23e7f394d4682f6ce\"\n
        \         \"87\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.13\",\n
        \         \"b750ae6d4d2ceb92140534648d36ef25e45155f52bde1bf26ab7\",\n          \"16aadedca09e062560c661d2a49b0ee4d9ce23907c69d10004f149d103c59c16\"\n
        \         \"fe7d4373597db9ffd8923a77a6b943b188c47425e2a9e530413efdb6848dd342\"\n
        \         \"0ba53ef81c25c578f8d9514d93fcc9cb1fb52f58d88a57d1fd3fe22da310ecea\"\n
        \         \"9ece55e9608d63ae21dbaea6571b78fcfdd271bb659257476b5995687a02bbe7\"\n
        \         \"89\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.14\",\n
        \         \"47be01020eb7e7875bd4fcc005a82b36fdf2145ef132e2ed162ff694bc71589c\"\n
        \         \"7dc6d5a3f89d597f2d2aa343335118f6fdbdeef23e613cbaccde4195e664a009\"\n
        \         \"4b07fc0a32848d6139031cf572a1e323c5a707b6fa2aeef2dc872dd5a3e76b13\"\n
        \         \"f8ef94adebd4e205748e485b4001d5d2a090b89b2e6474c479e7b00d2d57f586\"\n
        \         \"ab76b80f795ba8996288292c3f2ca51a44e4e841c03707e48025af4bfd0ab6ef\"\n
        \         \"eb8362edd5d23405ba0e231b3324e1ca3c5d639d2c9d82\",\n          \"063917929bbb209217ff48ed4f55d07a03f76d6d94048b6f71310b2c96e214ab\"\n
        \         \"220d4e45ac01c93dcc8a5c26a02df61ffdb317549665610c84bdb8945fc6bbd3\"\n
        \         \"8baed7fee98eb056d9f039a860d452b3acac1800a932a28c88286abda8de3cb6\"\n
        \         \"c0d794daab7a8ba0110933b4d1ded239cbdd557d3e5a162917853315de680900\"\n
        \         \"a8\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.15\",\n
        \         \"4b9c09644810d4b30655ed8338bb276b624c68019822d1fc8f78861e13e22ac1\"\n
        \         \"71821cfdbd3f8f5b8dc9c0de732b746e1d132e5f3f149a5a867c2ee478e8f14a\"\n
        \         \"d4b9ddebd3ae7817e84955b3404b094393e61ca0189d055369b4243009a0f540\"\n
        \         \"3f41c1002308c00ce699671937baf13c7893d663c947fc7f84071a672e5e0737\"\n
        \         \"8aac08b3faf0fccf5bf283092585ebe240a3004620b6f3aeb6732b7b9d8d3bea\"\n
        \         \"fc8467d1f1f1c7da66b1bf5ccc145b3224245fae31dfb403f493c0755357add7\"\n
        \         \"cb2763713226c54f43640f7a670eb7b1f6e9e772f2e51417a705cfc5873ffb88\"\n
        \         \"a5db07ecc4ee89f330a6690a8812\",\n          \"1a0b698cf3a058b44919af73c3de328e86ce9a5d4999e0122f414b94f32b2d8a\"\n
        \         \"b1e6550cc0d48dc04befac2c67a4d069a7208f142dc267b3e38f6338a0b1839a\"\n
        \         \"93a836807d181e3f0c7e877fb2421602005bca25a9c372266d18e6d500c5c7ab\"\n
        \         \"13385283d2af919d0bba0dcb88bf7bb9972d67008ff498547d80fca658efe764\"\n
        \         \"a5\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.16\",\n
        \         \"ec9ff14b9f197a2b4f24948c29d2f64a64625223ddb85346378c2c25343fcbef\"\n
        \         \"585a99e1ec0bef0ef9d09ead85bee1c4bfb35e48fb26411bdf180dc5cf317b3a\"\n
        \         \"348371c7c5f4aa6d5908fcfc1ea39018cf0449e55f4ef994bfda404f1c189fdb\"\n
        \         \"8a0a5b0906c3d40de1e787c2db4d88dbc210b9f801f4cd9c97227e9b2fbc2811\"\n
        \         \"e38cedd9e9f03560031d4c958a7681ba9d7ea5e78e9bd8bdeddb4156790ef21f\"\n
        \         \"b74fbc4158c2939e4efcb82efdc881886a5b6713a24b9b5f2ee25ccf721a64e0\"\n
        \         \"f640778ecb3d35b4b8eea8ece31232636310ae3cc6b82b8a\",\n          \"013b42057820c73e3acfc1df4de1440c658e0180436da7185a9fabd26eb32674\"\n
        \         \"b554de354d1f4f24e87773267fed9dd0fd8293eaca4af3d3a9dc518c8e495a14\"\n
        \         \"7695111d3dc17763f1f02eec1ee29fb1ab749cf30c7886da8b2f646969598aa7\"\n
        \         \"0f9a92fa4f935c7cc77bfab6981f0df0d285cfb10d66581539f78d0368ed4f93\"\n
        \         \"01\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.17\",\n
        \         \"414cea8eec6da3c66ffc8470f7e14760f74bf6e75b84dc98fc8060dd3c219e76\"\n
        \         \"777dfabaa6e6b92955379f3ecaaf5fcb8aa5549ec9cdd1f5d577201b8e329f72\"\n
        \         \"faa2bcadeaee388daf7d408afde6553d2417860f3c8e25305dff76dbbd9516b6\"\n
        \         \"868ee456fc1f7b58d9ed18a46e4fc1e353e8d076bea30bf247c60e6f685801a6\"\n
        \         \"d3f630aea6abb412a941ffa6f607f6bfb13d900127bbecee4f98a7aca6920811\"\n
        \         \"575053ab2d427013801d8cfbc3880f1475431555a086fa5560c6e2206d9ee938\"\n
        \         \"1344b8241c1dd1d86448753af44b00a0c9\",\n          \"1697bb23e291525f4a0e79262f3406630d0d6df332496926c4e5aef96e41d955\"\n
        \         \"148647eaf790696af68c78eb2ab62ff7196296e1ea886df0917366090b630aa3\"\n
        \         \"1858b51615873fa6bc8ff0885c57b2e77a04908893ccefb1412403991d0d23c5\"\n
        \         \"57d222291cb8517b43286ee0056758d9c10bcd69bd68b84a2d1f537905b8a465\"\n
        \         \"e9\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.18\",\n
        \         \"1789b808b10de8d1778aa43f94101cb89f56343061a1a943bb8da55ee6b979e2\"\n
        \         \"7afeab0ed8ee3714fbe70b3be820603e5ceadec4b22f958773225df3aad487b2\"\n
        \         \"8057ebfebe2c8793da3846bdb15903ac71e9c93b2016668bd906301a0a7d50dc\"\n
        \         \"60b2fad8759d18db147f2066865fd90950a188747d9b696853486deaab8e443f\"\n
        \         \"ad2992fc8a565bdcbadab0b9333ab7fcdb9c3d0bcfde50a58d2aeaf1cefb0c95\"\n
        \         \"f90773b2fac137cdbc\",\n          \"02f99751c84438eac7f9963250d9ee22fda7297b6e86e2a8bcc7a9b5ac01f790\"\n
        \         \"e09911704660858ea5c16272c38133fadadefa23c102908e419de2ebe9ac2719\"\n
        \         \"4572878e2a971f8831c8f917e852e851df99d4df018fddb2cea31ac3a7b68975\"\n
        \         \"e80a997cb7dd4d4df757bb8c3ecd910bcb06033552127ac308117739a02c2017\"\n
        \         \"17\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.19\",\n
        \         \"ff875cca0efc3d90f56e31f4bb668414894d09de90127f8466324310e11369a3\"\n
        \         \"f2f6493c1c78a362b2a14fb5488cb56ce022739e43aa763d9c1c97b621cc5368\"\n
        \         \"c9c00e81606792695f9af9ab633ef239eab3449dda9e6607089c375190354f7a\"\n
        \         \"59a4b3ef75229d1c47ecdae33b2769ff5542655e781022d0c43b421a99843c3d\"\n
        \         \"e10422ad2fd89dfe446615f5192e7579d4374379bbffb9\",\n          \"0268917f8bdaac9ebe32b0dc6cd9d39efd3f88d817d66cb6390d7b55c6921221\"\n
        \         \"844ab8c08986d3f2ea49bc6e3a1002086c0b6df163f79d16116a93c4a2cc0422\"\n
        \         \"c94841e1e3b945ab1d253ab8d7d139c9188ba83027c593f83a6f38370e7f0379\"\n
        \         \"ffddf1427d6fcccf6083313f1815b5ded6737430bb4a70ba81484834d8d1d29a\"\n
        \         \"5e\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 11.20\",\n
        \         \"e07ecf00e2401ac98b2d5ae0c9b83f219ab027a65199fdb634596e2344624138\"\n
        \         \"729532495328f93fb3a33255278f3ec26065ce54995d424193bcb7581bfe1ab8\"\n
        \         \"957d0b961c3030b820d09c9e326cc30c0af642666154\",\n          \"00c46db41b65ddc71fbbfc125a4f9bab880a2f0c1f041c411df7d45d1e19997b\"\n
        \         \"348eabba19bf79b22177b2a0d73fefa5008362ce5960d7ef58a58993e74603d4\"\n
        \         \"d9d0b3dad4b20c829d36efcaf57f0c4f0cef89015a48450242bd020d5f52d8b5\"\n
        \         \"0ea13e56a1aad601915d60ec9abfc307f18af20672384dcc12f9822731369971\"\n
        \         \"40\"\n        }\n      }\n    },\n    {\n      \"A 1030-bit RSA
        key pair\",\n      \"36981a95ae24181452da257c038f05821412d84eb47a43fcc7ef1217959ba677\"\n
        \     \"027f7086d3a85cdd349f920f034c0278792dc8a8cf0c0080e5c61f474883c687\"\n
        \     \"9f4dee0ae952478a5ee2ce4e3918641e813cb374f7b2832bcd6aea809d254fc2\"\n
        \     \"ca9ac5a332424ab65c2a261275d19a414b616500d5e373706315f063dc885d7f\"\n
        \     \"b9\",\n      \"010001\",\n      \"09ad031730b6327355acd69468700e7e9baeac5a24a7ffc93b292eb871da5492\"\n
        \     \"46a5ce0c835255651a28c6e2f4c761afb6f06b9e2995fbb7dca174d5362faebd\"\n
        \     \"c39a72c5795d1f3392ec088b5dc2a785b2c9c4c6e669e723b5dd0ce443255512\"\n
        \     \"67dd62e0f78d2424adae48e249443aef4a370410db9e709399ac37cc481b5900\"\n
        \     \"c5\",\n      {\n        {\n          \"PKCS#1 v1.5 Signature Example
        12.1\",\n          \"e4b2d60e3bdd27816f\",\n          \"13fd4ac1ac6848173780965aff5e61c596892bc147760d43079b5d7177e423d4\"\n
        \         \"86f5a73e1a16b3ce9b5edac161ea6d4f6c23fcfc3e6219cac556067ffaed4ada\"\n
        \         \"c0a95005090b89844c54354db22aaff9eeff9da5aaa5490425e135cc0f64584c\"\n
        \         \"7f05fe336e4440bb869286d44af157880e3a40fb06725d09deb37f1ebb181c8f\"\n
        \         \"5c\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.2\",\n
        \         \"788685fc5805d627b13f2fe7fe6f7c9ab2ca4944abf308b86d1a0f583d17b576\"\n
        \         \"02439e1f2c6e0c5bf78170501338b4c447e9197b6503fb73ebabf776defae33b\"\n
        \         \"dcdce77de79b82be1485a8aa9b820937dbf428a20550966a86b62a172e6cfbdc\"\n
        \         \"fe0d6fc67a4db62252fdaf85f1e6bc14f8ab1c53326aa6a7bc5eec88e0b11d48\"\n
        \         \"d2b561f2260650102ff27b57b70072bcc121e35e70f3780c8333b5bf6b08fa12\"\n
        \         \"08260f33\",\n          \"0904cc11ac66a9837b74568be250e53ae4bef78dc67ffee509e5d9b472583eaa\"\n
        \         \"a56d4c9ee70f6e82dc998b53eff1272bf01f09e5262b155a6e56d1504003e4c8\"\n
        \         \"a46e6502553278230d6e81b7291843ab9769737f3c693152f17bf2d8bfc782bd\"\n
        \         \"b3fa0aeadf0d441e1e52dea54b75cf165e35c382d31174f6679d2f21b981f413\"\n
        \         \"58\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.3\",\n
        \         \"4ec7393fdc4b90af8fffcaf34e845a09656aef9dda12b0342c46eb049174aa51\"\n
        \         \"1b43c94d75c0e29070aff5b41423a170d9b3e8b21224aabc531d88886e2646d6\"\n
        \         \"788f1baad4ef4b0b4bde4b12ce9052082e2ddd0e3e6caabb0a14344b0a583f40\"\n
        \         \"4c1b6a3c7bca8a5885d5f224af1fcac3fad9370e9b2974e8ca62e22aceb9\",\n
        \         \"21a66af627ee0dd05fe7563cc1d29ccf6f8731b41e3db39597893ba1cf375f78\"\n
        \         \"1788fdf073b0b593c76df2816ec6defc224221ac19f5bee44fc0e5d4093d3468\"\n
        \         \"278fb42d405a0704465322da4d3a7ca9c3da73c3d082aee567b77083323e75bb\"\n
        \         \"35ed77e8db9c01b496a04cc4a899df359da4a2287cafffe1ed63cddead876c94\"\n
        \         \"07\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.4\",\n
        \         \"907760db32969b097dc124ef89751511a5d230596d2fd8a891ff00f05fbad45f\"\n
        \         \"72a45d465624a3ab67afdbb9e5f9e65b63e30c2e57fe7f32f399011033dc0529\"\n
        \         \"c0971fbe064fc5edb01f84cd57283fbbbd2aa02944110b6b534f74082f56be34\"\n
        \         \"6cc343bd4d0b348091c005c6199a7e3d56885247b0c16a36b235b8f5d4f00a6c\"\n
        \         \"6bb6feede88fcd788d75cacff7d95687996571559c05796a55711d7746bb92d8\"\n
        \         \"52893ba90675f98b0f5408481bf1543f39de3d0c0c1f53495bd212ddcdc6d0e5\"\n
        \         \"7d7a3dbe24208cb24ed41de03a5f052a9b5812700a5ce05c0200d4719c55544e\"\n
        \         \"7fb294d344a4f205ef9a3497b567547cbd1a633e2b79d3349095\",\n          \"0ec938a0d4b2a4edd278d63de761c102e2592102ee05db1b591e0d857bf66684\"\n
        \         \"9e74cc19b7e4e9cc392de539f790fc68e3b521db3a1a267e5a4e1219752e0199\"\n
        \         \"e7019a248554c5bae3112beea40cf3e64f8aaf9bb1e9d1c1d8833c2bfa31b9d5\"\n
        \         \"450fa249297fe2e46ab03e99b1f9c651d539eb53ce0961ce6023c17dd7383dd1\"\n
        \         \"2b\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.5\",\n
        \         \"bda554954732d1d5f3947555c61ffab801dbcdc8121dc6819127c2f22a436d20\"\n
        \         \"622d1f4a447c3a77b6585731afc03e77baeb709c1bfb906a1aa1949ab6763a15\"\n
        \         \"c7da5a12a8f395101e646a837173141f2a0cf536024b36918cf9db95b1cc405a\"\n
        \         \"efe63a3a93bc4ada60a0f4e0729f4db8b76fd64efcbcb66f0e4aaff3\",\n
        \         \"07262fe1f3d7b77932cdb7cd96ac198b9303eb44460f5298e8e52fe6705299bb\"\n
        \         \"d618efd0b36331562f20b20e866d99c2d04a0149f564ddf66ba319f3b8482539\"\n
        \         \"6ea8b893ba5b3ee5e5245cfe6b616e30a900bf83bb763d20b3303701cabe9433\"\n
        \         \"4148882ae4ef14e6d9e6c752bce253bdda5739e33bdc32eb082828c1c399c22f\"\n
        \         \"ea\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.6\",\n
        \         \"5176ad7c99be4cdbbb5d79ba5f496cad9f42dc25d527a5d5e8e3359179225e6b\"\n
        \         \"0e43666d3d82ab5baf424c85c33121606eb79ada6bafcab5c1e2546cabf6a360\"\n
        \         \"038405ca18c0083667\",\n          \"0627238b0b93e4cf985713d291296cede345e88e17824525535939b3f3d5ff4e\"\n
        \         \"bc40740011490025dfeaaee90638c5391eb44e9ff370457b60d5de80c16538cb\"\n
        \         \"3860559585caf5e3332c7b1fdd8f45fb6e3557f2c7a60d099e94f8e96baa1e03\"\n
        \         \"199ac83cec8f9c16bb49151a8872cbfe70f002cf3b53b611d6cbb665897cebf5\"\n
        \         \"99\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.7\",\n
        \         \"e174719364f7bdc86e2f0c61265bf8057d649cca\",\n          \"09771954fc8a1feee90f60c4b8a5bbd462c634379ab3da19ffeba6e031b4243a\"\n
        \         \"83509ceeed6e012a9163c6145cf70502a9fb0c21db31fad5ad14695de00262e4\"\n
        \         \"e567095e16110c6e65d6bcb9cc02e919f90d19e7307f4434503f9fe02c12c1d3\"\n
        \         \"f50cc160086fe460298c881225bff2e9e313da384444bec72a67ac344467e82b\"\n
        \         \"66\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.8\",\n
        \         \"98cbc91fd49b507c887e97c3cfa9b59c26001fcac16487f6004f0b6874546320\"\n
        \         \"02d549b5461ff1530c0f5fc09aacc46adada7dc9d7b3e20fedfeecd8f2f16841\"\n
        \         \"773268542e86431c7fb4d163f31e8e3172203426bc0d88a23b137634bfc71401\"\n
        \         \"7220fbfbec888e01e3eff7bbbdf93f083b88fdd6407d989bcc5ecb153c9cee34\"\n
        \         \"10fd006bcdf07af228790fd5e04f5c0a1b63648d48609bf163c6fd656020757c\"\n
        \         \"3c0638e1b82d75e2b4b908b7e0a3c8d7266b801f60fc2b4f317ebb8bf22ab9e1\"\n
        \         \"cb7b7784395bd7b424329e861d478661f6dc1298515f48564a3ff99735bb9003\"\n
        \         \"3875a25be8b724f3\",\n          \"0f2d7a5eab83584503d94ebf7dde9eed494110be94ed648af0cf6e891b062d2c\"\n
        \         \"9def958755b1a308488d1670742951ec0060545d2ec43fe84aec8901adf4fe8d\"\n
        \         \"67aae57a319f491c85c21cd7f9c599813ceb9df84778adc82a33c4e7674d7fbe\"\n
        \         \"1348dc207551104f5442acd684869ac22cac516cc9887fd1d021efcc54abdaf2\"\n
        \         \"b6\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.9\",\n
        \         \"3eed6bf116cb31e0fdd4c5c93358bab68fbfa8b5c515bcabf9051cdf95a243e5\"\n
        \         \"ee6815154eeb4ac10f5231d0493813e28149e9682bb1c8b77a6e1360b2b2c0f9\"\n
        \         \"c3161e417ef6cb3d9abbdc742ce025fafcd538c77c4d0716491da54bcdf167b4\"\n
        \         \"7a61a03527c96e4b42bfdc985b178781b6920f60f11cd5fa76663f56f319f450\"\n
        \         \"cc2a7f13bcce59e41cb666\",\n          \"07673fa683e098bfa2b955b6c34e9ce8eccc5ab0ab4c2cf79b9be1e664425a7c\"\n
        \         \"177a47d5320cd57086f951891845094b1fbbc9dee5f9b556df3e61e7e66973d6\"\n
        \         \"3e69c9da17296fe615d633c86218dca399258c04f805bd04d9dc97a29f39d606\"\n
        \         \"ff8e9c0a1371aaeec003ea274895ff7ba1502b28f8176302c24eece5b528d671\"\n
        \         \"00\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.10\",\n
        \         \"084ec287865e8fe6880472372097ad5b964c40a935eed1bea51ab1b5bc75c846\"\n
        \         \"bbcbd95488e9ecc363cf073a90b20be8b679364622f345e122d0566acd34a4ae\"\n
        \         \"11244525a38f47dc1f92b17f89ede06d836b4426ecbbea7933ac0e847e551033\"\n
        \         \"b5f7ea4eaf1f63f3479db7eaf802c996de923386cd15b122de5a2398d3f39702\"\n
        \         \"c3e9065c327395b9a995fa254de9c7adb451\",\n          \"13a7f004c0a88d513e2f1aaeab417fa0b2702fb93b828720ccd800cbb0af5a19\"\n
        \         \"65725b6ee0587117cbcb81a46318521c950dd8469bd85573f5d29d865303ebac\"\n
        \         \"45c7f6031c6f9378eb12b42f050944316f0b93db899bec937d5d0f58ed407004\"\n
        \         \"01cd3265a6a44b09bb11a438eea07715efe42de4e8808f88240261148e8de293\"\n
        \         \"ed\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.11\",\n
        \         \"610700007c3c6cb096c994d65d95c9b9a147c34614cd722f29ebc5e093786f79\"\n
        \         \"094802141a3108d2ec8a874c53187eb0d6ee2a859138cfbc29221506d0bd89b0\"\n
        \         \"f3dbef506bd1ba4036b0f1ec0073327060752b428cfa12db280c53aae5f3e357\"\n
        \         \"0e918cb09b90e9847f1f5ca4487a6bf3edad425f78407ecbe3f9bc7cab007566\"\n
        \         \"5879431c6cc39e0c7e67006067418bee8d0db5e7dbe12da716ca\",\n          \"1ebeaf85d18f37840e8a3eaf07d69f524d883fa42f291e2007db595ad6930e8d\"\n
        \         \"5a75b40bb95beb72d7ced038179747e9661d083840d587dcdf21c3adc7d47a01\"\n
        \         \"f6eca9c7bf9e2a9887751b36d1abaf25a313fc29d7f834d2a2482985575e1be2\"\n
        \         \"4bc4ef43a57ef4b0a6836993e11b67078504e3b79c721775f5b99bfaccc48a8c\"\n
        \         \"34\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.12\",\n
        \         \"da31f9be2609\",\n          \"1d2bbafca41ca06c4b811cb9d8369687166d14d9f92c5b98fc7c772f2d75d35a\"\n
        \         \"5f9acce59b99efb2dcb97dccbbc86d7fd6b4ae8beab1e981e6c7745a1bfb4c1f\"\n
        \         \"44a472b2ad07d41cc17515b7b14a49990b243442ff2c8fe505b1849fa991cacf\"\n
        \         \"6809a20e55f2af7798870d65776f1f9ee48797e313aa66a47e695f3e731b2c7f\"\n
        \         \"30\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.13\",\n
        \         \"f98be52d9a5e55ad92\",\n          \"292ea34d3e6118bf8cd054e21517e863ce7cb7dd7273308f7ecfeacf9b457583\"\n
        \         \"d9b9b97c54abf74e5a5ca36a87067e47d67aa047a1c2ed7a23d055ab4f094a83\"\n
        \         \"c439ef8dd2d02035ef0562d967313d81102fc68b74525bb0e1d7962eb2758ec5\"\n
        \         \"e5aeab65a93d2ec8e655405af88c00fa35f59de9d0cd8045abd37173b9fc6c51\"\n
        \         \"d8\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.14\",\n
        \         \"f438eff84c373fc12744a384158243dd97f4365e87d71e8b56b29791df44adf3\"\n
        \         \"49e7626004a2c53335ec6352cce2edd963947fd2393893c248ba1b840842ca77\"\n
        \         \"6c31729f707af50411001c287fba8fe72502320c445bb143fb7bf5394ec1fb2c\"\n
        \         \"d501592432154091de5a2365d678f35782fea8b47f64d60919f0f1d5afa7626c\"\n
        \         \"40d16cec19bfe025d116f42d22e20adb56375ad77089f9a93381fd78b7b1511c\"\n
        \         \"b4e4984d2ddc7c9d75b310f295422560d66e3602a871209616131a847143dd07\"\n
        \         \"8f23587db502dda03e18606482dbbe014ea083b7ec161b\",\n          \"0eafebf15d84ee4a13f1a82b8405118641e22e51da94d85887fc4a3b11f03249\"\n
        \         \"cc39a0374501071c7eef4abaa11408d02fae1786dea37588479c90d627698591\"\n
        \         \"c3bae1fefd6e8c40e3ff4b9f6061e06c12fdd21c7f45ddc5b78d1cbc41c15706\"\n
        \         \"fa20ba92f99f58b22be27675bee081a06067eed158f8e20bf04a6e968f719a32\"\n
        \         \"34\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.15\",\n
        \         \"fa1c0f7b1015a895b1a565f32996b2b8ccfd864b95544dbb9cf4f6e1a841de92\"\n
        \         \"06d55726fdf7eea2bf336a829fd2bc1209bd215aabb977d23a083f10ae69db43\"\n
        \         \"7ca32d7bfe4c8825b93488f01afdf784458cef5cdd8dffdd17\",\n          \"25e22e6df7fc6bd4e0f61ebc8da063fe478a3ed74d68f7763435e0e374f65262\"\n
        \         \"a5d7612e8678596122c0e5b8fa0c0b12812ba9653a0f273883c6264c6dfb74bb\"\n
        \         \"34405d2a043043fbb0abf2af7a123d2ddbf16992e09baa37d731d72ef1996265\"\n
        \         \"8a8fb010a10f7d5562ad5433479001af36d3d326eadb2e9abec7b555709d5d47\"\n
        \         \"e9\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.16\",\n
        \         \"828ebe2f51e58829cfa61526dded7e1f1ba311dbf1064c08ac0bb5d6716eab29\"\n
        \         \"8a23d63b793ffd9d9cea60229598823f282f107b6ee88a53fd93e7ddd48a731a\"\n
        \         \"2109ffedc89aeba2c0f16bcb140a0a89dc57ee8b5d000a2142175bc707bb409a\"\n
        \         \"ae3a039c663d019a0bd913c13f7ff6f6b91e905a589d38b150485d89092d18a3\"\n
        \         \"a762252765525d984566425b05770de9a8bef443ff5fc14833afa4ccece542d4\"\n
        \         \"f2cef1e796f59fb3a4bf37cb677ae4223666c82b31a16a6cd701a0493cd99686\"\n
        \         \"6c84bfcddf852b19ffc89e936179fce8b99e72fd4afc28b51173afbb25c4c7\",\n
        \         \"1617559e43ba182e953486436f15b602831e42eed203c269f653bf639c2b760b\"\n
        \         \"0d49fb532ca8ad01e7b4af83729255db559bcf55fab3659cebecd537694fef2d\"\n
        \         \"ef9c9e762d05d2321ed688c3f7e2c05733ab4fa81b08cf79facb75c3200b7a48\"\n
        \         \"3af08cb183c50927cc6169e432f7fc9b11780dbf4d3b72d2d0b85593d8b5b018\"\n
        \         \"2a\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.17\",\n
        \         \"bb4a6eccbdd6de0ac5c3b7f99798104a5869c1cf1a1fac7f859fe95149297eb7\"\n
        \         \"79110059e269f12756f08a548b66af\",\n          \"277bae63e6e3253a0e204f4e6c9fe84b040b864f21edd4426d82be8f1b911b0b\"\n
        \         \"d281cf114953d40209da2e9aae133bcd1855ef0a99693a9443c93f6dd275f058\"\n
        \         \"fd1bb69532b64a1dd7e1d0e780d75204fa8c61c2eb5de88272cb93aef080f702\"\n
        \         \"bb78889425a5f166f63b5b1a31ec5c1c26a599fafe58774298b97db314fc81d0\"\n
        \         \"92\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.18\",\n
        \         \"f1d111ad08e038ca3ab4e52e5eab7101876ca9be626a135917f45b1f9d1b32ef\"\n
        \         \"e4ff867ab8a305f949c0048b25f5462261b1a3493b8190210f5cfa6bf7e5c300\"\n
        \         \"5498deecc1e1c504f3a34998be6ad6ac004051c4e0a3db2c22eb5e14165528df\"\n
        \         \"7812a20d5c7f05b940ca13e9383ae00d6cd4d0f4ae3dad047ab9c4178db66d3b\"\n
        \         \"80960caf0a924dc94eb8e07709bcdb349e90fa2e10c5d526d2219ca76f8801fd\"\n
        \         \"c661bdca6a93da48d045ac375134ccd6ff7c52fd15c7cd3d1f31afe504bce7c0\"\n
        \         \"333a8979e3cecc53c4eadd7d95d46fa3b2a9f006100d6bfc0ed5ee77694ff1a2\"\n
        \         \"4e16a544de71465290dddd189f01670359f8c6b5d4c6b6b9f5c57aa5a38f0799\",\n
        \         \"0de94231c06ab187b00dda2b34e2b4cbac41f608c48c7227a6282a179e58c32e\"\n
        \         \"f5ddc9764fa2dfc3fbe021ddb48156a6373cd69b85d364d89b5a32fabb2d465d\"\n
        \         \"0562d4a1dd6fca64780b062a947124a7fc0b82e4fed12b8b4f726a0c8539c6cd\"\n
        \         \"e21af655acc8de1e7ba9d67b87b8e777d48acd868a80db15314f355560103577\"\n
        \         \"eb\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.19\",\n
        \         \"9c4ecc4b2444a401bfb6f4b7244923a5ad3386c3b841678cf5e6447b8a3a0759\"\n
        \         \"86c33fd001b843724dddc4212ff45ab3fecaa90a16f6b5592c515cc4ee54aea4\"\n
        \         \"593432167096678f934159856d14c432e7d6d28d71b2687f54ed719e5c201100\"\n
        \         \"688e85f20e79a9ee8aa4b61431343d1e99c21435c61e8bc104f2bad52960fcee\"\n
        \         \"e67b85033d3aeefae413ce29701effcb02b484a031e2f319ef7ed0d6e69b2916\"\n
        \         \"eeb38c4f1942ba23c2a1790ce3fe09d01b9b9fe6dba8dc210eaa8fe73ca76f1b\"\n
        \         \"5b\",\n          \"1853c21a4a18547d867b3ced02daf0b22ce8d4d5af2b8ef5f7c8fd385b815364\"\n
        \         \"8d81831d6acb5da830f67740259ffb339f7b90af4883819c4715e08c2899d4c7\"\n
        \         \"246e07e5bc6ef3cfd9a04da06c43e95c772be221cfaaf6954ef93331e595ff48\"\n
        \         \"921f05fce8fa0d429e0c99562a9c2f68ebf32cf1c6c6bb8b274a2e42d6715912\"\n
        \         \"ff\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 12.20\",\n
        \         \"c381e60399865166d2baa03145268334184039e05335a300c2804e2bfef5a7d1\"\n
        \         \"4c443d6538e16bdf9da7ad1fea634ebfe113bc821e79a449b2eb2f57c21fba35\"\n
        \         \"ffcc6a7e525572277e8f5537c7b5b9794defb39aab060785d1994002dcf80701\"\n
        \         \"2e1d1791da943b2b759c366bb424e42c9c2043ce788a25fbfebb87e74cb020b1\"\n
        \         \"1e8eaf161884d6672bbe9c09fbb3b8afa061\",\n          \"199069573753018f33592af15c1d3131bf5d8ac4f64cf614d3a01bf372df002e\"\n
        \         \"b5b5fc8f82ba137f83dc142ede38c58180e7bda69c4f1bc7bf96ecd3fa79bccb\"\n
        \         \"ddb7d92e4fd864c5fa933a4dfc600e1083008a386f4d022c2024ff7e0b3722ea\"\n
        \         \"fea05a1e02c7a63eeb40f4f4c4f660c32472a0a78923e3863a99445e7cfe2700\"\n
        \         \"60\"\n        }\n      }\n    },\n    {\n      \"A 1031-bit RSA
        key pair\",\n      \"70e923a5a0cd8ecdf99bbe93d7d02882955d91b6efe3cec86c93d21c0ac301b8\"\n
        \     \"293e51435b878bc6b34bed4111590e764676588b116c2a36a4c77ed9c90a13c1\"\n
        \     \"4d23e1994787fcdb8f5c97410fcad4045b8585702cce29da11f97e79a97c2e5f\"\n
        \     \"6a5fc0bb8ce76d1554a8bc47961720d364050bf27419bff168c0a7ecc8734cb5\"\n
        \     \"a5\",\n      \"010001\",\n      \"029e10f6bbb7d02debb1a5d5190d6906ffedeb9d154a0f66db8780b92831b596\"\n
        \     \"3e94847f3e7db1aa9148fb0ec5576e6ba4fe04d6f27832b1521812d37b22d9ea\"\n
        \     \"e28008e092c67e72324267e1b1ee454355741d8de1d2a6a05074bb1ce5818b41\"\n
        \     \"bd19dc6b58c8937d8ad640d7043fa11f468d6ccbec4ade520a9e159d605d0928\"\n
        \     \"29\",\n      {\n        {\n          \"PKCS#1 v1.5 Signature Example
        13.1\",\n          \"b5e86c8ba3985aa5541df95e513cff67612eaf2e16688576f7d673f6f1891fb7\"\n
        \         \"5c9dd2cd\",\n          \"6b42fd516309197f8af3c73e39624d8ebabecda3ec3ce657b1117f43e983877a\"\n
        \         \"1ba1aaf8e95cc39991d92e35e2db1e413090143d16467198b9b9a990d774c27a\"\n
        \         \"d3bbb4352d3f075d61732c6b58ec0f66e492a3f7ac4bbcf012ed6b401feb4ff3\"\n
        \         \"95cb8b218a81d61731eece376f688e66aea698b4a8862f58c91d876085496fd0\"\n
        \         \"14\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.2\",\n
        \         \"9546346cf22194c787888170a482f7f49217c3940dc6210ce39e4550a39b4528\"\n
        \         \"22419aeac24bec198bb359d08be8196df2e757766196c958e2b159c74c1c3023\"\n
        \         \"c2dbcce9ed5d0ef3fb51450bff6445db265e606e194bee064ca5b321d7e15514\"\n
        \         \"230c2b3b55d5da4cd040522f7bb86a962b813f9da39e51389bc64f56e447b2a2\"\n
        \         \"bf819d7a80094e2b8de27f104bb6eb2f2fb43af1d01eadca23a196ba125b6a78\"\n
        \         \"579974c0eec8a5496771f67dbd5069f336e4ef1f404742dfc69ce325aa649f8a\"\n
        \         \"6331cf403555e13f0810a76350a7e18d2992fab48f397f3b93c5bd5a6fe1d2c4\"\n
        \         \"618ba1f59f002dc257ec39ee2f876298da90f7440ad4c6c93fc114df05\",\n
        \         \"67e414993f987a22643dd039e7f9fe1cae744a7ae41d4c044fa4ed8dc9e340ce\"\n
        \         \"bb1e2afb198e847aef4bc061fd800d81d4d367b0fc2f730933c19b88d4ddf05e\"\n
        \         \"d98a5856de5eb45b116b7d24feb45677849dab76e9e0ccb45ba6b6f6141f37bb\"\n
        \         \"ad7c191c3777113bc7388e4e4644eca94703a72bddcc6f50cf980e3f6de39d73\"\n
        \         \"12\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.3\",\n
        \         \"5652b4c57520b255fb96f70a30ab92eec1939956b6a943c83ed0986e2e6ee4ef\"\n
        \         \"bf8a52287867281203a7a6d1d886b7005952b43b778544eda898e0df2fa06f68\"\n
        \         \"380318f14a53fe55d72f8cfa6af21d93bbfc20d358c208c562d739be0001ce07\"\n
        \         \"fd8cd2f46c3b44c836518809b76f3a70cf6926be069c3575d5\",\n          \"016411a231a738944b3e44f7885cf81acab732d1736de34c56cf40f99a6ce400\"\n
        \         \"70a20aa94c487844a93cef287a58bc0ea181b2cf27d914f293b929779d39036c\"\n
        \         \"4e5aaed35eee8a7fd50efd096c91a8f72c3c141c576c8d10b636fc4ddc1e6714\"\n
        \         \"f17ffcce106d221b4fd7d6fe1e7cbd3f3b08f5546b44d1feb718fbc13370c7fa\"\n
        \         \"2c\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.4\",\n
        \         \"6d57f079a3e8adcb47cf2e3ca976e03b09c77d1d9d9d8484357e912309e8f4a8\"\n
        \         \"3cb50cb6a7388c414aec844671ff810651e828103a1f6a199be260f74600028c\"\n
        \         \"6a7b7bb9416ce7b6350a3a6805620cf5e6b0095dfa22b54601f619afd10da203\"\n
        \         \"d28190cf9b0db5986d293033691ec5bbba6d73ea32472efa3f160fd2b1b5e43b\"\n
        \         \"0bfad31677305fef467244114ee10f5cb2d67b478323a711041e294c46b2ed39\"\n
        \         \"ccde079c877fe75cb875144ac31eb031a738a4cefef91f017ba71523f5124818\"\n
        \         \"cf48b972bc47c8f2ed356f5bf691fd94670bb2\",\n          \"315ce417d0bbd73e7c4356797e73ed7abfe9fcfff1a5342899a7d11fb0d0542b\"\n
        \         \"fcab66de2e4ec07c7dc2be7d797290a30db8c407dd16376588a6dcc1a207bf7f\"\n
        \         \"f311540faa9dd6f19a73ab25a7496e682fa8a7054081076c1a02157be63e7f64\"\n
        \         \"5de82df7c615503fa83b4edba20581812e097f65056ed417f6f24803530cf818\"\n
        \         \"58\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.5\",\n
        \         \"bb75446f787823dda2422b1adc7d7fefd06a6e9af5c04901ac5b99913ad6298c\"\n
        \         \"9d1a3322e8b217e4e0994c42204280d404d01eceb5ec53fb86f761a396b23ae1\"\n
        \         \"9d467905a0fe8050b895d8ba3746685c47439f90c3669c70ffb81994565c4df2\"\n
        \         \"a31eb2a452bc3cb312b8147cec191032f38f3b3d89d7582bf18e7b7275fb4f16\"\n
        \         \"ee89567e2a56bc73b3e2e109f9940ebd10b9df2b88accf0ba18e5b349520d2c7\"\n
        \         \"f5a31bd5226d12ec35bfc9e36203e13506ba12b756c8ba00af91b85b0b4c07c7\"\n
        \         \"f484adc458c926aaeb4f082fec987d9f276b8949597ec0401bb71a2fea9c7b74\"\n
        \         \"e0dfe6aa52ac8b80beead336a49db22fb3\",\n          \"53d0d795bb082f2001036f472c2ece6e7d2db69f292da7213675c7cbba0d33b2\"\n
        \         \"3212f8f43a4a8e09a6a50e019bbdd59a58898cc46c58a46e42ce7ba093fb4692\"\n
        \         \"f383de33a9a34f47c7e61938bf8a6adaa88df21296b4c67b526835f757f2c26c\"\n
        \         \"1d309d7cdd5ad5fd8f61f851ed23c4be2abb627dfd817f8477dc042b6a2e4069\"\n
        \         \"40\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.6\",\n
        \         \"883939d149a544e62ef04c610351a2dfa252eb9a9d1e11ae54c9b07ebcf1fdc4\"\n
        \         \"7ec1d94703411da415f59fb3e5041ed9470e7bcc819b5afeaf860c016ef125bd\"\n
        \         \"08a6cb8bcdf3b93a51dcadb2f68c8cc3775514282aff7567ec65f270d02beb95\"\n
        \         \"fb8fac24095e1706e48b524865bc14461d3ece8c501c3d802ade985ae95cfe1a\"\n
        \         \"b9d6b9ab0d15fcc8866f7f259c5e41c02cd413437e7d6ba7f15b0a70dafbd55c\"\n
        \         \"0edb6b8075c27cff3b289e6c99e9a884ff7f086da9f75d6a4cbbccaf52ba25c6\"\n
        \         \"342c38a76b44e101155df755e39c14862e220ca36ffbcc832afecba87f8abd96\"\n
        \         \"0a577f56ca6cd8e99126658f27ac6e53c442ed4766\",\n          \"1ec02ae6a0a3f611992961ca27ccbf296e11361832e1ee7520569a9aee06345c\"\n
        \         \"da22b4fa48fc345e4778bc3ccdfebd2dc5a6c9d48451aa441bea4b951199654a\"\n
        \         \"e8d2f7522e17edbc2f51ce15cbcd366f4939cb53c3b77081f4a73750054e00b3\"\n
        \         \"0ba2fe58f6f02e36a862542397dba6a3cd2277708819e78a2d876a23a5a269d7\"\n
        \         \"75\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.7\",\n
        \         \"4031e0def4f3d1ad9bc082770a88a1d9b4b7107548cdf8462b0bae3d994d8ebc\"\n
        \         \"4da044b905dd8ed91a1da676727822360ee2b6d5e12bb70316d79e8abb82a643\"\n
        \         \"44afb3b225885c\",\n          \"0be5a6d043be5d27d1d51d9e3aa61d92c9d84323119b48c84a80389718d7a1aa\"\n
        \         \"f57a9a0d214f6506484864dfae85db7b8474073a8f977b42b53b407e44c7c62b\"\n
        \         \"168d1e7778f4f27857bfba85dddc8b0e9f0e9a5b6de71a0443720e92bb88b077\"\n
        \         \"cba15d3f6e2be4d27a7c509c7dc03f1fdd4fe338a4e545c46c034522ccc0d45d\"\n
        \         \"4c\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.8\",\n
        \         \"7fdc96a4565774029fffa93b39f05dee9f84fa8953fd0f6338c81c9dec6cdd66\"\n
        \         \"1ffab96f0e08eb0b9ba9ca5be17b57c4b4868fd5341154de50277113c7185341\",\n
        \         \"1dd21fa495be7c490f982f69eab14e24daa04bd138b7143249cdccd78ccfc910\"\n
        \         \"6acaa03ec876694232566ec6cab9122840f669c800f2ee092bb9b6cb2a4542a9\"\n
        \         \"0de604c4f105000a3a0deccd3dd97a3261fa38227eb381a1f8f23b6665d28480\"\n
        \         \"dfb72117882ed8db25d76de40de2fbe72dc394ec6fbdaa99c64fade72978a51f\"\n
        \         \"c4\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.9\",\n
        \         \"631832ab1918cd020828e47ae2b4476b1469f272e30e53e596fba26b402937dc\"\n
        \         \"44c2ea5745c79d2dc64a10e1225ca0b6929d4954bc5d374096fd878dd101f766\"\n
        \         \"6313d9a8f826bc671401422c1cfe1a6d01a4d7864a14c60cebc2f070914ceede\"\n
        \         \"b1782fe540a0a5d2578444f9b36034ec77d6b803a0c9761b327592aa4846635c\"\n
        \         \"563f1c6a6df68faabce497af4dc9a3642b75a4a294d308568e6d73c11db56724\"\n
        \         \"042b55c3a24a7bc7a1050e4f448b6a\",\n          \"45d3a6ae8f48355c012b501079ee92affe3c9e602e4a080cfc94723ae96dac2a\"\n
        \         \"66e455a40e728b2a1b27e62240554ec7c5c0ad6aa00c0922e53d7b12ed42c087\"\n
        \         \"322d1536e46b7debda8095f55d1e12bc2442f43b4d128fee231dcd6f8c37aa6b\"\n
        \         \"cf4fe7b5e0dea9c6709d3d91f9e42a53168a16b6fe997b5dfebafb46ed9aea5c\"\n
        \         \"66\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.10\",\n
        \         \"8b043d90dae3416685d53a5b4c3cc254cda0cbd23b4e408de820a4da7ade6dd9\"\n
        \         \"5d4e1a97e2312c3e84261ee0b6cefe60e6b082fd5965efa1648f4fae61605fe3\"\n
        \         \"55332700469605265347e6547aea775b856e5a46c341d29952bbea927049963e\"\n
        \         \"3740208cfb0b652857b6f52e366a170be34f13d35846bde69720462001b09dd2\"\n
        \         \"68b89b0900318e733db2009efd9b517741e510d3f394f7adb54559b157\",\n
        \         \"6b278f362c292eea09b90bf353d143f2ca099ff879573479df2aff9b250d1c91\"\n
        \         \"87c6a3343ea14c076f2a20c1a19db26aad3548ec6fb3b2fafc751b59082d8b23\"\n
        \         \"c82c8a51f7faf7a4d4a82398bfbed449bde4ee9dc8680160666fd9c774c6aa57\"\n
        \         \"7b4ec54cf0d5bd9e3d1afa9c3b4b91467678c9d4c4fe400aa857a3b0545bdf84\"\n
        \         \"a6\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.11\",\n
        \         \"3b28a6092e470898af070a087c4553188de6c344bb0b5fdc7f66fbc52dc93a8b\"\n
        \         \"92a374112037d6a43286128acef95a3505c0abb1afa62c48cb2136077f8a0e0e\"\n
        \         \"0b5a4ee9b2c77d7a0c0b53f38a51cc3db9b583b3aec07f1e224fcb3f1dad195e\"\n
        \         \"058659a9d11f8edc7444994686ed62c97566e9e00cbf8f0dbc1716e6b7f0f88f\"\n
        \         \"e89a867a41d643135ad8b18aa143e7375df19529\",\n          \"3262fe17e44e5ecc843170d3ae2751da1f48d6e961d81e9359b0982c6d61308e\"\n
        \         \"bacfe2607c538c170ce0e72a07bc01487b295c36b8e22afdf6e7fe39c03a5c0c\"\n
        \         \"3661061f23fbf5890ead59f872c946cce0f816c9ed3a2c1e11f8f74da1e97a39\"\n
        \         \"0d534d785578a2455fcd874783f4572a15f4937dca98093fd0e9990af0005256\"\n
        \         \"bf\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.12\",\n
        \         \"4fdd6a3631ddd4bc3c76071902a227fd5b3653b1f970f2b767ef554e1c75cade\"\n
        \         \"819d8d1fca76bc10541cbf8b1d8b0e7255f95740\",\n          \"29cba5b43fa3565775893491b118578b14b5fa1eebe0c80759a6d191e7c2131e\"\n
        \         \"e10ac5b9b8ae1aa7d696c98488a35cdfa2aa006d91bf7e05a5c1909efb20dabc\"\n
        \         \"82133b6264c042180c2cca65459f66cc7eb1ba75d15d4f56c7528aab2838e679\"\n
        \         \"537a4c8dcd37d4b4ca825ce165fa4a97158244dc87c061fb12001e5533fbd4cc\"\n
        \         \"62\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.13\",\n
        \         \"590cd23050e57b28d5c2185ead60b1e9529f2bd52613eb03f6ed1aefa4a67288\"\n
        \         \"d5a3a34fd95ca63894af3a40cd68873a1f37e354d30414297b19254bc6c1a3f7\"\n
        \         \"a47520eea56eff77dbfda6bd7779d02fd816fc0e99919fe4395eaee5b2f5f032\"\n
        \         \"cfc4336f9cf9acef74dbbf4c9a0918da6558b4b4e3209bfcd71ddd597607b6e2\"\n
        \         \"8c3985dbf52ca7d1d751cb8169c0b1b13ff8b65b731e69dd2effe44c636f2b69\"\n
        \         \"9535831aeb5e62902f\",\n          \"67eb8957ce4c06f7391d00c7412453f4b68b3303a1292554e2a5fc7262c52e74\"\n
        \         \"bed70ec58c8950cdc4315a8fb7c6801554cd35781d44fb5e57d68d59a00f43b8\"\n
        \         \"6d53b84372d556e5a4153cbe6b397c4c9c6800705d2fc0c548645e11b9d8d512\"\n
        \         \"b2dd9bf59f3dc5d11c3c773d59ccbed9e6bc14320910cdf83b465901b746b596\"\n
        \         \"74\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.14\",\n
        \         \"808cb97613fd878535801c8008791510a5fe866ad5b6843a6e0019a0fcc21776\"\n
        \         \"0354f60cc699fbbe1adfe8b00ecd6a36a2b5a5a1faa23d343820024e3a3197ae\"\n
        \         \"673c\",\n          \"1c539659f872469916fb0007ef9e48574e964e4c0e6a2fa74b1373fd60b664a7\"\n
        \         \"98ac8129c08c12cdbf3749750be125602a7154326767327e92ba57b5e289b5ac\"\n
        \         \"9d7771b4520a7a2ce66c5eaf704afc5a190fa60be1376f943d2baf70523e47c3\"\n
        \         \"defc0a25a6001831a37aab0cf1f6487be37f0e31ca7db5ac41b5630957559369\"\n
        \         \"ff\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.15\",\n
        \         \"57edaa0566251686f65205efc62660e2c2e04fa5eaa3302de87a3f6b491f7fa3\"\n
        \         \"ac7270cc76751a436942ac765ef5f4749162d7e797126bcb8fdac19cf18dcc6e\"\n
        \         \"ff48593c05c8893b591a51332fa26ab863c5eaa4d751e8d1b19c582690b5415e\"\n
        \         \"6a89e05f231b33ac38c53f95a2d5f91051c2ec6ddb2b6dba789d553adb9f10c5\"\n
        \         \"83597036d3486fbb32172a1c11079e5f09aa29eb4674c8d7bf5bbd6d057e6b87\"\n
        \         \"a8b3aaf48086d721cbbc8efac6244d3239ae18f16623fa528e2e70fa25656a6a\"\n
        \         \"4a2292950fc928edb81c\",\n          \"33732fcc23342c585138b25b17c812ee3e9d3da41f6ffbcc1617a2ee75cc5b25\"\n
        \         \"01254fd1976d258800e905d7e44a0ab6fb4b8a88bb7bf9317395303ab2fca431\"\n
        \         \"28486a2bab36c75ef6aa5eb3fc5bd555b3ea79124aad7897e3a434dee7926371\"\n
        \         \"de2d6d237e89b03b8dd7096058e2a4b32cb557c7ada298a7e2edd3a3a3b529b4\"\n
        \         \"d2\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.16\",\n
        \         \"083376bb82212bf880be1285653af2cad625c52e94e321436877f725a83bbd43\"\n
        \         \"f4486d896cf67e31391b8706f8c0f8f4bb1ddba95c332f034f3909113f655692\"\n
        \         \"60a2e4f10406657c99faff001fe16ebb896e9e18115af1d4986c8579ab5652cc\"\n
        \         \"ca4774\",\n          \"2af46c00d1d915941e212a7b8d8105ee0f0ec480fffbb4f13bf28d73e2b319b9\"\n
        \         \"84a7b7c8367adca7ab12aaf53acb98d0cb54ee34204c908e60c7c79efb42c311\"\n
        \         \"4a02589e1ae6afb5975354578c1435ecc89c116e9026b6bc889ee288ae4daf03\"\n
        \         \"47cccefc5dfd1ef83cb86852eeffd84098599b725bf602ee620bdf44afbd84c0\"\n
        \         \"cd\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.17\",\n
        \         \"8c874cd0ce335139c08d760b825eb9905d\",\n          \"669a8ad7cb81ef2187f5a85647684b72484aff279f0af35435867cc2b04333a1\"\n
        \         \"96eca6cf44a97a1bd39d0f6a0ff9595702835bc80a72d71404ef3f46fa3b0d20\"\n
        \         \"e86d7a1d5f7efc3f3b8e8a7e37e87e27a99feba96ad81320be8fff78557d07bf\"\n
        \         \"bae21603a1368cafa5ae1d1b630aa21ff20e4585650a773d7e2f5e7f51729719\"\n
        \         \"3c\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.18\",\n
        \         \"cb3e6121d38b7d97e18ba15c493d1ac32e9d2ef4e3bd16df9c67e4a196e9247a\"\n
        \         \"8d0c24b21c4ab23e77d6db117d591195bbaf4466825f63978f114085281b79ae\"\n
        \         \"a37e32c6b36c1e9ddd4ad1236e97fd427b4d976e07649dca4f33a89c46fb8c00\"\n
        \         \"b4267b144704\",\n          \"568417803a400e9d050a4320ae7b7d8d248e163650869d9fdd100cc1a6b9bc29\"\n
        \         \"1c3f23f1256003164f619dbc78635ebdf089490afa5aa00b6f97eb0636c3bba8\"\n
        \         \"9d86360afe260043d861a74f64c71d9cbd31eae2393a1af1561f1ab92caa76dd\"\n
        \         \"1e76ab2333098c83c2d99fae827398758005c176cbc4a2e22efa0e6c12f4e342\"\n
        \         \"81\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.19\",\n
        \         \"219a2f8d0b000aedb5f185455ed3ea094c45426b285bab4a07cf3d0a2906f3e2\"\n
        \         \"03184c2d3d81a809b89c9fc48bc9af9ab32f84f15d81389c4edb0ac68ad09502\"\n
        \         \"e3f30c7cf645102954b297c8661466fc10\",\n          \"03835d9057e2b821dc4c6eaca3f4156a56550b6f9d7400fc5c5195a4aee4717d\"\n
        \         \"f32929122b43273a079a24f99dd9e7c34056aea4fc4e457d8314ef34427f8e20\"\n
        \         \"4b81bb4903fb3e779e389e41339068c157d9b09f2c5e99cc54e6ef86eeac0e19\"\n
        \         \"f44e33e707c4261a0a83ceb422f2e06bccae3b8bba428d7557152f40846ec011\"\n
        \         \"34\"\n        },{\n          \"PKCS#1 v1.5 Signature Example 13.20\",\n
        \         \"e39ca40d2e9d03ae0596f60eb8f609993085a5db156b0d5098fe5faac55f7099\"\n
        \         \"3fe176d2d0c038b860bbf9a66243f5e78e6cbe526ecf25128dae319656cc321e\"\n
        \         \"e80a50531490c9a6243fbdb0c5eb4cd642d2611505ae1084975738ad84621d67\"\n
        \         \"f5\",\n          \"4fcfa57397f27ee0f8ae75a0a54d54b0c51b957ee63bf7901b6055cc3987c32d\"\n
        \         \"f7220e166a71606abc78f91107f974dff7d6257c256dc6ed7a69c3c99f9f89ab\"\n
        \         \"b58fe589b7ee7cad0f48c16010d046a9c4e004bbe1a8297968d40bc70682ebae\"\n
        \         \"a448525dbee16b03bd0b6526d098d09b6bad9aba039305e2ab796902086580cc\"\n
        \         \"f0\"\n        }\n      }\n    },\n    {\n      \"A 1536-bit RSA
        key pair\",\n      \"d870a776cd13ed443df39908bee2cad73c485fd9bf06321322887fbe655c08cb\"\n
        \     \"e4c8f63e254fc91c75f0557d901d435b0e8ded82d49173414d29860324e46c1b\"\n
        \     \"030dfeaa29d80f9898c2c5e101cbf6daa0628978d415b502dea26de6561c79ab\"\n
        \     \"065c6dca6abc4d4d4d5e9f5c74cb3e6a5af71d1f90fa5eaa1be0ca947a70a39e\"\n
        \     \"fd315c4df21a1a821caaff8dcbad13b29c7e82aad53c64f582ec9ec31e6bde82\"\n
        \     \"ea5a5f4cccf0c457b888f1550c4ff8e1c178a76a46c196f4bef59e61dd944e47\",\n
        \     \"010001\",\n      \"05888fc77a43bda7a67bd15847650df185c185edcfb3ed58cee3b57c5d2406b7\"\n
        \     \"8bc055874e35e57adc4b0a2c7d203a661c0fa5d857ede607efdc9568042bf0d5\"\n
        \     \"99f4e4235e917f0894333a92df9462d9c10af3dfca7049a1eaa63570139883c5\"\n
        \     \"befebee4e2218943d30fc645ffe8b914d218dd58960aadc121715bce5ccdde4a\"\n
        \     \"2c73a8d9d86a4eb6e455dc924fd74a0b1f75691c281bae914d699ee259d85c5f\"\n
        \     \"b5dd999ebef9b70a4bd94aa4fafae26ca784d32fd4e077dbb6ea693bcd6d27d5\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Signature Example 14.1\",\n          \"f7a3c67e92a787f35dcc47aed7d6b6192967bdfd00a6acbf6f7efe46d3acaed9\"\n
        \         \"788aa4f1db184402249f9acefc1c7dfb1e690d24738de86fa5b5250f979ebd8f\"\n
        \         \"778eec0d7fcf731fa225086c866564ed3eb154dd458d0500282f86804887d443\"\n
        \         \"5eda9a4436a8e923a20cb4b4d0e81c91114bdc0682278ec258860799b59c9436\"\n
        \         \"f43a53cab4c4cd\",\n          \"09d1435bf5a9c17203d537fe57df987b7a51f34b2a14097e06a0de563be7d64b\"\n
        \         \"4ea37973b4fe9973a66a3f31ba8e07e9117b6a1ee70961337b4d2b0df59810b6\"\n
        \         \"24085118bda70ac74ae43e2fbcf89227630323da6830f5b1a2b954f1b15aea07\"\n
        \         \"54df2c5118579516e877ccb0b1286c5724655ef8d29185666f6e9bd32a6bd9ce\"\n
        \         \"9e1ef94729fc67d6a30e64560ecf78bf8e1b2b40e50605e25ae80c386764aed1\"\n
        \         \"1a0e71449049c939b2962f6c2417a358cdc8106b12b1a5587639438af1a68d32\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.2\",\n          \"2a133003ab67cdd2e83b44e9e9dc777de01f4d233d22e7d2b4467f04812a3aeb\"\n
        \         \"ffb10a092454e33b9e7028249328747ea14a11c798ac2e146e4e49659ba86067\"\n
        \         \"db64e9bd80a7021aabcc22856e810140c20fd8c6527badbbd9fa5953fa77e685\"\n
        \         \"8700beb6c74d5a463c9da861133baa5bd6a599807ae9162e3af3a348d04a4edd\"\n
        \         \"2ffbab\",\n          \"35e666cfb87c0488a86fdfed5f9deaedbc4674171c318459acaaaa20e1cad7c5\"\n
        \         \"8604140a80ff7f565bfbc86e90328d4c729b91bf72a98db701c1be638a6e8f2e\"\n
        \         \"468f20392470c7c5c34442d51b1b155fb464b8a556f4a170c02301fed0d1aa92\"\n
        \         \"aafdebc3f18ea8b4d71e245c2526f6fe665de48385f46ce1bf3312fa8928098e\"\n
        \         \"d3312b61116ca7e423204ef08bd2df3ad7bbc850098cb02683266625bbd95982\"\n
        \         \"5135a45f03829d096fed18b20baa3f9d44b007aa241f92f8886055d98e0e0704\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.3\",\n          \"58627ffaaa8e800a8be98e42f51a83611cfab7ee376b34737b3e48e1bc1742da\"\n
        \         \"a77de47e1a9b293377aa\",\n          \"3d17cb386c88784d359ad3c38dbe888bfae831bfb8edc9d0e801e7d69e1dd4c2\"\n
        \         \"441d68fdbb35126c73a4edabbff54e74fa5109dad8b5c313d86a79e4d4127660\"\n
        \         \"fc2a8e1c93fa8d092accf01cc18a606cf07de2dc3e7b55331152db01b6caea1e\"\n
        \         \"cec9093199be62c3e123e2873113503b22030f168dafc4e6bd065ad2f6b1ded0\"\n
        \         \"5be0c2f9b67bdc1a3bb18da9594c957da4e49fac3fe76e0766f74eb0d523e4dd\"\n
        \         \"1ae759dad6b9b908b7fc8b97ef5f4c8292320ac387c3508b54cfb85d34f6ad39\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.4\",\n          \"0f0f8d3c0e4d2608afad5a888ea14b3f6b2b2789dd2212b85909e64bfb104d0f\"\n
        \         \"7de427d14a9ffa855e2d4ca2442336e559568b28415d60cf8063de5592171b26\"\n
        \         \"9b3d763351c7f7d9d25809e70220ee30fe8a00b95d4c202026897ed2c61d7ad4\"\n
        \         \"3aeddf36b5c2cbe21e0086dbd0fdfd19e43f0277f3bc95ed55a34af930916602\"\n
        \         \"193cfe04514bd26a057e562a1190c27eaab6c322fcfaf4bbcc7f20c3779c638d\"\n
        \         \"7bbc07086cf75bf83996db4463\",\n          \"50904512361050872eae80102628b63d02168dca52f0abd87720ea48050d2c62\"\n
        \         \"061aa2153268bef8efb34eed46171a6288e504d420f6fc145138611e75ed3cf7\"\n
        \         \"9b4d102664d8644ff3e9e5dbfd71cdc27a210efb10be90275604f8d449148b3f\"\n
        \         \"86099039c33aef90bf191b3518eb459da3ba14fd0c72229dea5fac2f7dade108\"\n
        \         \"5c8a2370bbfcfa2e3a9e63ca224f6de8c8d297a3b1f06f1fc9497890fd0e0e13\"\n
        \         \"887facb152d12d96392528ef28d0724331ff414030c7a63855813ccd89fbdb1b\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.5\",\n          \"2665cb5ee36aa9bb1a5cde7ce8\",\n
        \         \"4f38c2ba84c50d46df531091b62712149c1f42dbd77e03d185ea96eda802337c\"\n
        \         \"22c1130bc3becebf1539fd11893851dae3cc1567cb6c73a72fa1c96948682112\"\n
        \         \"7e7cfea1363eee952b7c6eb59e102c6657c08035272cdf4ab5e583ed737ad028\"\n
        \         \"ac1cfafeddc9073dfbd7d3ba3da9e8dcd846fa365c9ccd8e9b39483d37073c1a\"\n
        \         \"7b782ee7121bb1a2ad8bf5f8ed6e653e924debad871b744339e5ae7e96f60dcc\"\n
        \         \"45ea5d697d3b1cc7c5e8da04e92be06cad2e614eac318aecaf12d5a76234c2c0\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.6\",\n          \"7b7b6161020fafb488716321340daf2c06ac43ce2132868684aaafab1399653d\"\n
        \         \"353b2693ad73cb55b71d66acd01a160cbf743767bd96e7fd1c7a13320665bbad\"\n
        \         \"1c4a0ced26593ce89cd82f546bd4d1b1bcd82c65a466f99da012a41e8c412069\"\n
        \         \"810958475b4d9c2f80d82d06414c8325eb4f2c5a1166f1f1d2d107d48c\",\n
        \         \"d5cbb6c7eff4a63ad8250de94cc29f7f31a0d7106d5d771b715df8a675fd1634\"\n
        \         \"d6e8ab58875cc4c1517b2fadf4e85c1cb8b85360e0687587d148089f3f48b79d\"\n
        \         \"98d2027c50770b334f1252ac0c3b2f036534c3c29722f6087d06d706cec7c4bd\"\n
        \         \"ce1cd64f7b4e0799a87aa073ea8320292b8ec82717406d36ef9125e41fb5d53b\"\n
        \         \"ccdd622d388fccee60a385ec206a715dc54d7877bd7285d0844c25d593779791\"\n
        \         \"278396ff9a8a91306a54ea76607c813f801f38760c3a814b9396959c29dbff9d\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.7\",\n          \"2b0ad613822878a572e14280\",\n
        \         \"89c81084daa8f914b7e24455107417ca621c9102d501eeb43d174c7bad381db1\"\n
        \         \"8d9533c3411aec6057ca5a4dfdc3f131c888b88f013003d617e06d64479502ae\"\n
        \         \"7e424a5dd637b03356404d260f5ed6b8cb16d2578528cc3e8500346eb790bdad\"\n
        \         \"41b2e36ca6f19885e3f6f51086bffb6abb9c66336b49473464c5d7ed8e9ff85e\"\n
        \         \"11aeff409067bab0a05c41e8151b8be987f3f5958e3e6f26515d96bf234b22ab\"\n
        \         \"91c0857b6c08a46b0305fe044ca9aaa0d70a2758a1ce431664a8dd79408c16ba\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.8\",\n          \"36938c8c7c6f7e355234db5a32a64810db502b67c6f592544ffb27eb1f22e06f\"\n
        \         \"2d638b56d5d2f7d19e9e271f2cc90cc0dd36d6cc2c06178bcc706aef20e56a35\"\n
        \         \"8e524f6316769c54b6de2dd5\",\n          \"a03753a5fb54aa51f6dd8dab91f19cb865568485f8558f0d103f0d2b6d78536e\"\n
        \         \"79c815c4a037bcaf11b69d4cdbab035abe216f7152f630ffc79f849d8dcd463a\"\n
        \         \"ae6ae97d3df15a9e73d23f1878fac754cbdd571afea5d25357d4b88345f489be\"\n
        \         \"0d67b9bfadf023f26e67315ed5fbf391910af4969b724bf0ca31c1059f8a3913\"\n
        \         \"b48a13819c236c9be8e824ca4cb619fb7d784cd5f9526b397c76c5d0c60cf7f4\"\n
        \         \"8d11196e54f72a08bb42f75aefe38f0b91b42bb806de4b87c9082f721a6880ca\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.9\",\n          \"60830c01cfa86ff2dcac7af9321ee5fe502e0e7a6facb73e3f6bc902640a6109\"\n
        \         \"5f646fd03e80d58182465331e75d6611a0977681627086241729de9f44ab4394\"\n
        \         \"9dac193673bd6cf87f5d65771ef87281633fdd07bac409a6e232b601aece2d\",\n
        \         \"4058f6e0240d851d619395a75287a88fafd8dc5600b069bf19dc3e1921e117b4\"\n
        \         \"97b82b3c520269b1d1128164fcd88dd2b46dc85c42ecf67debad21a3b9a15542\"\n
        \         \"fea22606eab582fc329711ffc07f4eef1f3bbfe0888cbca485bafc1188b0afe8\"\n
        \         \"09c9aaf8fa3666b9c9058539db1ec6a18e5be0b80144d2c37ca614c090b4a7f1\"\n
        \         \"3458e0d3a4cb0cb73dcc4d90806f61085889eb5c9b1409def360fd1c2e49438d\"\n
        \         \"7c67d79dbd9a592ab504c4715f65b29d846509951569a8c37909f5d550eefffa\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.10\",\n          \"635d2203ed9d5b9120e31bf69d305be6068697e35ce59c553e508dc77b073ffa\"\n
        \         \"3aaa59f996c30b2e686323819fde22be6c8d53868414b3545abf435768a611f0\"\n
        \         \"c1a479a0c7660d535e805b5fedc3779cf0c52c3cd040ab6514c7f8133d47b0ac\"\n
        \         \"c6914e6d4ad3c4737cf51291094e859433ba3066e19d6aa2da896dc9d95ef9e5\"\n
        \         \"636dab35f7298705c6d876175412f8842519ffe16cf74362ab\",\n          \"9461a1a841423ed5cfc6089a74dbfc53731103bf4985ddb150b0e9380d3fe0cf\"\n
        \         \"6d457c5c68a7f25504022d695ff842118ebf61022fea47fa45f7c1cc726e1de5\"\n
        \         \"0bd064b3bb701657162b88c0b910feb72f487a5c7f4b9ecfee24e07aa2d198d1\"\n
        \         \"13cb845d817bb59bb1da24a82b91c2fe3fba895183cbd9c0fe0ac0be64fef2e0\"\n
        \         \"139205b10bcabfe5a3a7a890fc0fe78dabe1adb5bd11448503cb0dcd0b68f160\"\n
        \         \"196e9613e29fbe9a3f9406ec20c030e81ec30965ea019c17aa971101c2e53059\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.11\",\n          \"87fba989f3cc15af7ee761c088264ab7715239e0b8c8a9e48e11db68033139c2\"\n
        \         \"a289ea426ebe269f5fb707090afb891a49ca05c0550d729bf4d37c8f1da7a3ca\"\n
        \         \"2f4387a40b5f7913a385f55b8141af36be8f571665f857e77a5c9ccce6ba8f2b\"\n
        \         \"e46323cc5691566ff4b6d7854304b93bba1a1759dfb144c9547cf2bc8eaaedaa\"\n
        \         \"4f1dd252823b7287ca555d2106089a243e5dfe8fc31d3f46222a68abaf31815a\"\n
        \         \"947e5857cf6a33170eccb6a5e06d23cc9d48eaf6cdbc\",\n          \"0b5f1cfc253baad4b983f8fe050d4a017cc466980ebd23c9d55343f5107e041e\"\n
        \         \"b6547810fdba4686e610832f9282edf06604b0abfeea38013279177940997b28\"\n
        \         \"902b14db379eeb4f44005dfcb0036803c9f125bce1f2a82c4d3007ae96b848b8\"\n
        \         \"13ec8c97ca3f710a9ae0dbc28a55e05881b858db557120f33c59cd4360f9208c\"\n
        \         \"74b27ec65d11ea41fa6a9eacf2a61168ad07c209948f35a161f41f87540ea182\"\n
        \         \"84aab8d8f9786131f043902b89c17a560d909464475a0dfce58909187cd6e446\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.12\",\n          \"4b5e80305cbea90d637fdb2347c6feb67842ebac6f903db5a71ebaab8a1c2df1\"\n
        \         \"1260a1ec907b8b634d37d36ed8de7d0da103bc4a9e933fb7bfee591cc933299f\"\n
        \         \"ee460f3542c978f307ae052464f30620cebf3c9a9cb6a901530c1d5613df0774\"\n
        \         \"312d4b5f\",\n          \"b6f03d35335007a747ae686760f9edad0889d2d4ca0cb88b674312d32c552b7a\"\n
        \         \"66c5a9528c014b58c849f231a2e045682e3bbb14c7f95ff8bdb6587f2511cc6b\"\n
        \         \"f9243960081103d47e7769a177ebdb91f12873decd5dc067e45c2b2a044ffa3f\"\n
        \         \"bb04c20a3dc20138403ff25ca0ebad96e4859fa4a0d732852af350a275699a94\"\n
        \         \"aa6e47f217e383ef8fce8eb6eed7826d7c6158fc5882e4613545fa26eee0c9f9\"\n
        \         \"3de7a16508ea161970460d6a7ca770f8de8ba93ceaf397ddf1fbcee282a1537d\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.13\",\n          \"e5ad627f24f4117a0a6be4a55fdb883d75a67312154a718923d0e8f5730a54d8\"\n
        \         \"ca7c974e4d59338bb571305cce990cbbcfa91ea9b773b83d7a1f0ffec4c6b143\"\n
        \         \"fe05058bc90ce146f369cbae3b3d99705ef43d0721b8\",\n          \"732986d4eddb8a7e9b65dc016dd571efabeb84490e88e3e73b63e80d1cc86a45\"\n
        \         \"2dec29fc817e8ad4eebddcd97c745bc4797e54fec6ace291b196dc2465f08cf1\"\n
        \         \"ddd217e77aaf7d50987791de81b04110d11ab8558906604eb9d92b35f90075af\"\n
        \         \"42280145b088e8753d0db73cd3a32bd19cea3538ee4f09273ef66d0705d45ee7\"\n
        \         \"109fe595df55767b3d10817227bb6ba39575b85d6a35a2ffb88cb267dbfc282b\"\n
        \         \"b8a3dee02ec77b0cb8135570f8a7d7ad04341a0864e67ff6fa0259a16974c86a\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.14\",\n          \"03e39ba7a80c771416d85263e4d43c6393dfe796523b89e0a461628880800d8f\"\n
        \         \"c2431b66305409e06c95ae7a17d534b1e84c199dfe731da949f164571decc8b1\"\n
        \         \"66beb8dc087cb4869998c2\",\n          \"60763beaf7c3e22b3b22dc44d947826e23fcf96b01b7741b24b1b9d93c07f0c6\"\n
        \         \"4d396798bb589bd425295369bfb879add342cd76280b57e6354f6195e842fa2a\"\n
        \         \"95f1c46f0b70786c318de9a55a8ac4545ee7cff399c678e578f8939ed49e84bb\"\n
        \         \"a9aae57c1a36fcc39486466e4012f95887a68110f1a48467e4c234f581c5ec47\"\n
        \         \"7106ccb3ec8617b4be219337448fe72e25deab53eacb92e5966295b3a5571219\"\n
        \         \"58dfe79ca472f79efbda1dcfba9dbd0f976732c093b98ff193c902987a426c0f\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.15\",\n          \"d4c235967d4e87b6711e32ac7037a397f99b1cad95a188946a48640eb6b7b003\"\n
        \         \"c32f85a121b09ca4c8bec0b82744aaf27d166cefc7a9702ad31dbd15ea2a185f\"\n
        \         \"5b9ba642f949078bc609b9a8a33692d7184939d1f9eb426a6db740ead94cfea1\"\n
        \         \"7feb0618d74d9a651688e90b9bb70524305d618c88a55f454450e0c585d3a8d9\"\n
        \         \"8165818f363b20a252492e1512585890a8c320a7187158ce0d4e4be1c701f8af\"\n
        \         \"dc545c4dab868d41d41c21c2cb1f67df7953d5f7261c5092bbc4332ac5575b6e\"\n
        \         \"0e03149c040c3e201c7915ac2022884ea0e6c21403f0b44e0f71343fc9111a7d\"\n
        \         \"b2f5e9e509c2d89784efb22c31e8165e0e936c\",\n          \"469f08bdd03b75640e8a44a07ca8de4bacf8331fe39c44d23aa7b581dc3f00f5\"\n
        \         \"421b5c172d0ffce91497d3d4b104f56a98ec94f719271e58b43efbd876e1c131\"\n
        \         \"fa97820728a5567555214cd94a18fcce5c2f53b19d1f3c73d09f7be1809738b0\"\n
        \         \"3ce769e454ed4cbedcaf43c48bd39df2f8bb63b8fc4d0d4d5b204fc220013a66\"\n
        \         \"8c19f9750293a4711583882645dbf3ac4f839b6fd1cf3b5ee8d734e1da374d91\"\n
        \         \"d89ea318e9183483f4a09a93514af54f75d0a35651b240f79f20a2977d14578c\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.16\",\n          \"d06adca4c20f0d9f7be65a20327c294756e3edd9e1d39d0f95c79df1bac33435\"\n
        \         \"9fab943d8545a3baa37a59295c58b237752b8de7d4323c56e9d7cb0c7f831d54\"\n
        \         \"9cb38719a081d58b6057ecb7429e2ca607cd1306355943159dc924ad3e9cb13d\"\n
        \         \"0e71eadcb005e184c0c2ceaaf9d74a1c1df6fec18c97a0\",\n          \"9fd9525c15c843b8069c15f26d3f95246af37a8b8e6b939ddf5b3828cdb62cfa\"\n
        \         \"373a92ecc41384a877caa090aa13c847ef2829ddca14142014021481550550da\"\n
        \         \"a29de2ab7001b855c9342f0c90bfa6c3349b2c396213ef70cbd84bb4ce6ef58b\"\n
        \         \"176e9f6fccdb6e46cac34114a1b9f98a8a32757bf75d6bfc455ade6a01f96050\"\n
        \         \"1b79f5fbe3b38fca03464e43d49663c79ff64d32981e4480cdf42d8af8daa7f1\"\n
        \         \"2b81a5aa965fadaa3c03b7ff22d3cfdffe3cadf4d5989ed14c969a6e8c9a1e04\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.17\",\n          \"3a6302d79e26b555c77de92a91e078571ed1572ffc3e4fc905ce53f104b32200\"\n
        \         \"957eb2b5e5f3e3fcbbc162f9e525c706f1dd04fcab516bc18a8e4f88a938a5b2\"\n
        \         \"5685d78ddc9f104e49bf5ca0b65a4b9657e04a71fb50eb4aac22c0bb93f60cac\"\n
        \         \"9483f17713553dca4b31e2727b32e350fe204cecd9a7cda4dada2e87ff6f2b73\"\n
        \         \"e7b0781e212f34fe363610f018a799373755ab46667bb6525d7dc7a0e8289017\"\n
        \         \"f5487fa692ef2fddce38ad3f4530de7ee5056670a735d378d1efc99481f8c9fb\"\n
        \         \"eea99f566a0b6e28462644a6d9c6cc88fb\",\n          \"b757fa747c5c876766f358acbfc7e7b80596368d0d862950e555f471646f640e\"\n
        \         \"851d612a556f55a74a3292429e4c14f78ba3ebbd9687f308dedb3cfed71f4a9d\"\n
        \         \"d26fa5122f7f7194aeb63bc8b75c343187115a1dbd359590f7ff3862b70885af\"\n
        \         \"1ca934b8cebc2cc9e647253fd1327a2ed4244dc8f58555a6897ca3229c801e7b\"\n
        \         \"f628f525e6c948804d0b1b6dbcd7902acde7a25ba591d886e28daa8ded5ee401\"\n
        \         \"e34e6412f1e644eec12ae94261906a172611dd5a9867789c419034688429e906\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.18\",\n          \"9dc7ce1d02cadcf10df1110456b8a7a5ea4376b27e8bf8cc8db81049fda3fbd0\"\n
        \         \"db8a3d0f6bd7486b8d84bf9ffd4b641752df7edf50865e8e58ad49f7240e47d3\"\n
        \         \"fc985edb596dabfe01722a227760383ce24d4a05d8b06ef5b96f117d81\",\n
        \         \"05a95e11b5bfb01dcfde3efa9f313d81bb0dfd46de63b0658056c53af7ad9e89\"\n
        \         \"438b7de78ff8ea88d072b1749a529f1cc9cf2cf32e5ab720e069b4906d282a03\"\n
        \         \"dd78d1b3ca2a3f925bf51c7491b73ba0bf54d50d971de5b27726d8fb3ee27734\"\n
        \         \"97df3549517eedcd9de68d90df35d3f05081151adab5397385abeea72b69bd0d\"\n
        \         \"e18dcee9a2be00e91a032403b1f81bbc0ae731c6c0d9cfdd06c331ed89d7de1d\"\n
        \         \"e1df46cf09ce53df1597fb6994681c7fbe94c9b08e50aa1b12419602987f37dd\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.19\",\n          \"87a645611bb191853f4fd9b740b2de4c163e7562b11762633e72dfb6f6be7efb\"\n
        \         \"9041a96582943ab2018391c05adfab464dd6e33f960ddbf3b17ac62bb78afc1c\"\n
        \         \"6a45396c0908707c62361255cbf09bad959b3133da48d532ba7ef1d20fb6572a\"\n
        \         \"1f0ed6f2c6e1bec1b17cc319baf72a198aa001b83d4e9869c34090f229a9c7f1\"\n
        \         \"42a74e85ab3ed51c69ac15fab4abe4671573cf5ad2b58e78a944edcceac5ee58\"\n
        \         \"bfce66f40aac2abe4e5fa072dd0f664fac811aef084210e5641b9cd08c8724f4\"\n
        \         \"b41eed1d9d4a18778046597bd1a27bbbc056c15e43c038ef375b435e73a7d32f\"\n
        \         \"015016b78235ce75a7b762049968e9932253e42ca976c8d8dca1bb2dbf\",\n
        \         \"b8806226fbd3d97b79f0dd1d8cf9a235e51b94b7e223ec68332d686ed3313ed1\"\n
        \         \"bef6887023af7a5c99df0368a349c6a594795b623536101342690deb5fad9023\"\n
        \         \"782f6dbe1643a45618574f16728112a7e0ef9f58656f6adbf400409f4aa5013c\"\n
        \         \"159a368ca59bde6b3918dfe1d802fa6cfa06c9ca31aca78cb263c8ed917af9a9\"\n
        \         \"a795d5e2c401e729964cf7ac28ccdb36d959ed7fd9af1c47097b6255c64e1b16\"\n
        \         \"f21d86870455d5f0bf901fcc68c34b72c1bee72e6b8c4e36ae33996c7a59d09a\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 14.20\",\n          \"032e283e596e87faa6cfcfb8fa04df6a61e611dfe73bbf668ee67b496bfb0ffb\"\n
        \         \"7f9dc931a98bcedb25\",\n          \"b9fdc03dc19970713c4a17e87e7ebb5f13505d59cbb22ba72e9ff16bdf8b659c\"\n
        \         \"3330a93dcc092a5d385b2d5e1534003146c050b7ddc4f756569da21180158226\"\n
        \         \"6119f5599b1e65e8ebea6bc96442ee12acb96c6dba083e921094da9c9ecf5afa\"\n
        \         \"a54b7fde7a0cae3fdfe4d251933a52f02dc23e1b3214c683e19af46e18c74956\"\n
        \         \"dc6ab3502d46caac3cb26b707cdc3025b6de4e83543b95845b4a159760770a4b\"\n
        \         \"d09e4635a04e217d665c9594879f381d71100934fada61c7cc22b8d2ff8eb35a\"\n
        \       }\n      }\n    },\n    {\n      \"A 2048-bit RSA key pair\",\n      \"df271fd25f8644496b0c81be4bd50297ef099b002a6fd67727eb449cea566ed6\"\n
        \     \"a3981a71312a141cabc9815c1209e320a25b32464e9999f18ca13a9fd3892558\"\n
        \     \"f9e0adefdd3650dd23a3f036d60fe398843706a40b0b8462c8bee3bce12f1f28\"\n
        \     \"60c2444cdc6a44476a75ff4aa24273ccbe3bf80248465f8ff8c3a7f3367dfc0d\"\n
        \     \"f5b6509a4f82811cedd81cdaaa73c491da412170d544d4ba96b97f0afc806549\"\n
        \     \"8d3a49fd910992a1f0725be24f465cfe7e0eabf678996c50bc5e7524abf73f15\"\n
        \     \"e5bef7d518394e3138ce4944506aaaaf3f9b236dcab8fc00f87af596fdc3d9d6\"\n
        \     \"c75cd508362fae2cbeddcc4c7450b17b776c079ecca1f256351a43b97dbe2153\",\n
        \     \"010001\",\n      \"5bd910257830dce17520b03441a51a8cab94020ac6ecc252c808f3743c95b7c8\"\n
        \     \"3b8c8af1a5014346ebc4242cdfb5d718e30a733e71f291e4d473b61bfba6daca\"\n
        \     \"ed0a77bd1f0950ae3c91a8f90111882589e1d62765ee671e7baeea309f64d447\"\n
        \     \"bbcfa9ea12dce05e9ea8939bc5fe6108581279c982b308794b3448e7f7b95229\"\n
        \     \"2df88c80cb40142c4b5cf5f8ddaa0891678d610e582fcb880f0d707caf47d09a\"\n
        \     \"84e14ca65841e5a3abc5e9dba94075a9084341f0edad9b68e3b8e082b80b6e6e\"\n
        \     \"8a0547b44fb5061b6a9131603a5537ddabd01d8e863d8922e9aa3e4bfaea0b39\"\n
        \     \"d79283ad2cbc8a59cce7a6ecf4e4c81ed4c6591c807defd71ab06866bb5e7745\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Signature Example 15.1\",\n          \"f45d55f35551e975d6a8dc7ea9f488593940cc75694a278f27e578a163d839b3\"\n
        \         \"4040841808cf9c58c9b8728bf5f9ce8ee811ea91714f47bab92d0f6d5a26fcfe\"\n
        \         \"ea6cd93b910c0a2c963e64eb1823f102753d41f0335910ad3a977104f1aaf6c3\"\n
        \         \"742716a9755d11b8eed690477f445c5d27208b2e284330fa3d301423fa7f2d08\"\n
        \         \"6e0ad0b892b9db544e456d3f0dab85d953c12d340aa873eda727c8a649db7fa6\"\n
        \         \"3740e25e9af1533b307e61329993110e95194e039399c3824d24c51f22b26bde\"\n
        \         \"1024cd395958a2dfeb4816a6e8adedb50b1f6b56d0b3060ff0f1c4cb0d0e001d\"\n
        \         \"d59d73be12\",\n          \"b75a5466b65d0f300ef53833f2175c8a347a3804fc63451dc902f0b71f908345\"\n
        \         \"9ed37a5179a3b723a53f1051642d77374c4c6c8dbb1ca20525f5c9f32db77695\"\n
        \         \"3556da31290e22197482ceb69906c46a758fb0e7409ba801077d2a0a20eae7d1\"\n
        \         \"d6d392ab4957e86b76f0652d68b83988a78f26e11172ea609bf849fbbd78ad7e\"\n
        \         \"dce21de662a081368c040607cee29db0627227f44963ad171d2293b633a392e3\"\n
        \         \"31dca54fe3082752f43f63c161b447a4c65a6875670d5f6600fcc860a1caeb0a\"\n
        \         \"88f8fdec4e564398a5c46c87f68ce07001f6213abe0ab5625f87d19025f08d81\"\n
        \         \"dac7bd4586bc9382191f6d2880f6227e5df3eed21e7792d249480487f3655261\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.2\",\n          \"c14b4c6075b2f9aad661def4ecfd3cb933c623f4e63bf53410d2f016d1ab98e2\"\n
        \         \"729eccf8006cd8e08050737d95fdbf296b66f5b9792a902936c4f7ac69f51453\"\n
        \         \"ce4369452dc22d96f037748114662000dd9cd3a5e179f4e0f81fa6a0311ca1ae\"\n
        \         \"e6519a0f63cec78d27bb726393fb7f1f88cde7c97f8a66cd66301281dac3f3a4\"\n
        \         \"33248c75d6c2dcd708b6a97b0a3f325e0b2964f8a5819e479b\",\n          \"afa7343462bea122cc149fca70abdae79446677db5373666af7dc313015f4de7\"\n
        \         \"86e6e394946fad3cc0e2b02bedba5047fe9e2d7d099705e4a39f28683279cf0a\"\n
        \         \"c85c1530412242c0e918953be000e939cf3bf182525e199370fa7907eba69d5d\"\n
        \         \"b4631017c0e36df70379b5db8d4c695a979a8e6173224065d7dc15132ef28cd8\"\n
        \         \"22795163063b54c651141be86d36e36735bc61f31fca574e5309f3a3bbdf91ef\"\n
        \         \"f12b99e9cc1744f1ee9a1bd22c5bad96ad481929251f0343fd36bcf0acde7f11\"\n
        \         \"e5ad60977721202796fe061f9ada1fc4c8e00d6022a8357585ffe9fdd59331a2\"\n
        \         \"8c4aa3121588fb6cf68396d8ac0546599500c9708500a5972bd54f72cf8db0c8\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.3\",\n          \"d02371ad7ee48bbfdb2763de7a843b9408ce5eb5abf847ca3d735986df84e906\"\n
        \         \"0bdbcdd3a55ba55dde20d4761e1a21d225c1a186f4ac4b3019d3adf78fe63346\"\n
        \         \"67f56f70c901a0a2700c6f0d56add719592dc88f6d2306c7009f6e7a635b4cb3\"\n
        \         \"a502dfe68ddc58d03be10a1170004fe74dd3e46b82591ff75414f0c4a03e605e\"\n
        \         \"20524f2416f12eca589f111b75d639c61baa80cafd05cf3500244a219ed9ced9\"\n
        \         \"f0b10297182b653b526f400f2953ba214d5bcd47884132872ae90d4d6b1f4215\"\n
        \         \"39f9f34662a56dc0e7b4b923b6231e30d2676797817f7c337b5ac824ba93143b\"\n
        \         \"3381fa3dce0e6aebd38e67735187b1ebd95c02\",\n          \"3bac63f86e3b70271203106b9c79aabd9f477c56e4ee58a4fce5baf2cab4960f\"\n
        \         \"88391c9c23698be75c99aedf9e1abf1705be1dac33140adb48eb31f450bb9efe\"\n
        \         \"83b7b90db7f1576d33f40c1cba4b8d6b1d3323564b0f1774114fa7c08e6d1e20\"\n
        \         \"dd8fbba9b6ac7ad41e26b4568f4a8aacbfd178a8f8d2c9d5f5b88112935a8bc9\"\n
        \         \"ae32cda40b8d20375510735096536818ce2b2db71a9772c9b0dda09ae10152fa\"\n
        \         \"11466218d091b53d92543061b7294a55be82ff35d5c32fa233f05aaac7585030\"\n
        \         \"7ecf81383c111674397b1a1b9d3bf7612ccbe5bacd2b38f0a98397b24c83658f\"\n
        \         \"b6c0b4140ef11970c4630d44344e76eaed74dcbee811dbf6575941f08a6523b8\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.4\",\n          \"29035584ab7e0226a9ec4b02e8dcf1272dc9a41d73e2820007b0f6e21feccd5b\"\n
        \         \"d9dbb9ef88cd6758769ee1f956da7ad18441de6fab8386dbc693\",\n          \"28d8e3fcd5dddb21ffbd8df1630d7377aa2651e14cad1c0e43ccc52f907f946d\"\n
        \         \"66de7254e27a6c190eb022ee89ecf6224b097b71068cd60728a1aed64b80e545\"\n
        \         \"7bd3106dd91706c937c9795f2b36367ff153dc2519a8db9bdf2c807430c451de\"\n
        \         \"17bbcd0ce782b3e8f1024d90624dea7f1eedc7420b7e7caa6577cef43141a726\"\n
        \         \"4206580e44a167df5e41eea0e69a805454c40eefc13f48e423d7a32d02ed42c0\"\n
        \         \"ab03d0a7cf70c5860ac92e03ee005b60ff3503424b98cc894568c7c56a023355\"\n
        \         \"1cebe588cf8b0167b7df13adcad828676810499c704da7ae23414d69e3c0d2db\"\n
        \         \"5dcbc2613bc120421f9e3653c5a8767297643c7e0740de016355453d6c95ae72\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.5\",\n          \"bda3a1c79059eae598308d3df609\",\n
        \         \"a156176cb96777c7fb96105dbd913bc4f74054f6807c6008a1a956ea92c1f81c\"\n
        \         \"b897dc4b92ef9f4e40668dc7c556901acb6cf269fe615b0fb72b30a513386923\"\n
        \         \"14b0e5878a88c2c7774bd16939b5abd82b4429d67bd7ac8e5ea7fe924e20a6ec\"\n
        \         \"662291f2548d734f6634868b039aa5f9d4d906b2d0cb8585bf428547afc91c6e\"\n
        \         \"2052ddcd001c3ef8c8eefc3b6b2a82b6f9c88c56f2e2c3cb0be4b80da95eba37\"\n
        \         \"1d8b5f60f92538743ddbb5da2972c71fe7b9f1b790268a0e770fc5eb4d5dd852\"\n
        \         \"47d48ae2ec3f26255a3985520206a1f268e483e9dbb1d5cab190917606de31e7\"\n
        \         \"c5182d8f151bf41dfeccaed7cde690b21647106b490c729d54a8fe2802a6d126\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.6\",\n          \"c187915e4e87da81c08ed4356a0cceac1c4fb5c046b45281b387ec28f1abfd56\"\n
        \         \"7e546b236b37d01ae71d3b2834365d3df380b75061b736b0130b070be58ae8a4\"\n
        \         \"6d12166361b613dbc47dfaeb4ca746456c2e888385525cca9dd1c3c7a9ada76d\"\n
        \         \"6c\",\n          \"9cab74163608669f7555a333cf196fe3a0e9e5eb1a32d34bb5c85ff689aaab0e\"\n
        \         \"3e65668ed3b1153f94eb3d8be379b8eef007c4a02c7071ce30d8bb341e58c620\"\n
        \         \"f73d37b4ecbf48be294f6c9e0ecb5e63fec41f120e5553dfa0ebebbb72640a95\"\n
        \         \"37badcb451330229d9f710f62e3ed8ec784e50ee1d9262b42671340011d7d098\"\n
        \         \"c6f2557b2131fa9bd0254636597e88ecb35a240ef0fd85957124df8080fee1e1\"\n
        \         \"49af939989e86b26c85a5881fae8673d9fd40800dd134eb9bdb6410f420b0aa9\"\n
        \         \"7b20efcf2eb0c807faeb83a3ccd9b51d4553e41dfc0df6ca80a1e81dc234bb83\"\n
        \         \"89dd195a38b42de4edc49d346478b9f11f0557205f5b0bd7ffe9c850f396d7c4\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.7\",\n          \"abfa2ecb7d29bd5bcb9931ce2bad2f74383e95683cee11022f08e8e7d0b8fa05\"\n
        \         \"8bf9eb7eb5f98868b5bb1fb5c31ceda3a64f1a12cdf20fcd0e5a246d7a1773d8\"\n
        \         \"dba0e3b277545babe58f2b96e3f4edc18eabf5cd2a560fca75fe96e07d859def\"\n
        \         \"b2564f3a34f16f11e91b3a717b41af53f6605323001aa406c6\",\n          \"c4b437bcf703f352e1faf74eb9622039426b5672caf2a7b381c6c4f0191e7e4a\"\n
        \         \"98f0eebcd6f41784c2537ff0f99e74982c87201bfbc65eae832db71d16dacadb\"\n
        \         \"0977e5c504679e40be0f9db06ffd848dd2e5c38a7ec021e7f68c47dfd38cc354\"\n
        \         \"493d5339b4595a5bf31e3f8f13816807373df6ad0dc7e731e51ad19eb4754b13\"\n
        \         \"4485842fe709d378444d8e36b1724a4fda21cafee653ab80747f7952ee804dea\"\n
        \         \"b1039d84139945bbf4be82008753f3c54c7821a1d241f42179c794ef7042bbf9\"\n
        \         \"955656222e45c34369a384697b6ae742e18fa5ca7abad27d9fe71052e3310d0f\"\n
        \         \"52c8d12ea33bf053a300f4afc4f098df4e6d886779d64594d369158fdbc1f694\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.8\",\n          \"df4044a89a83e9fcbf1262540ae3038bbc90f2b2628bf2a4467ac67722d8546b\"\n
        \         \"3a71cb0ea41669d5b4d61859c1b4e47cecc5933f757ec86db0644e311812d00f\"\n
        \         \"b802f03400639c0e364dae5aebc5791bc655762361bc43c53d3c7886768f7968\"\n
        \         \"c1c544c6f79f7be820c7e2bd2f9d73e62ded6d2e937e6a6daef90ee37a1a52a5\"\n
        \         \"4f00e31addd64894cf4c02e16099e29f9eb7f1a7bb7f84c47a2b594813be02a1\"\n
        \         \"7b7fc43b34c22c91925264126c89f86bb4d87f3ef131296c53a308e0331dac8b\"\n
        \         \"af3b63422266ecef2b90781535dbda41cbd0cf22a8cbfb532ec68fc6afb2ac06\",\n
        \         \"1414b38567ae6d973ede4a06842dcc0e0559b19e65a4889bdbabd0fd02806829\"\n
        \         \"13bacd5dc2f01b30bb19eb810b7d9ded32b284f147bbe771c930c6052aa73413\"\n
        \         \"90a849f81da9cd11e5eccf246dbae95fa95828e9ae0ca3550325326deef9f495\"\n
        \         \"30ba441bed4ac29c029c9a2736b1a4190b85084ad150426b46d7f85bd702f48d\"\n
        \         \"ac5f71330bc423a766c65cc1dcab20d3d3bba72b63b3ef8244d42f157cb7e3a8\"\n
        \         \"ba5c05272c64cc1ad21a13493c3911f60b4e9f4ecc9900eb056ee59d6fe4b8ff\"\n
        \         \"6e8048ccc0f38f2836fd3dfe91bf4a386e1ecc2c32839f0ca4d1b27a568fa940\"\n
        \         \"dd64ad16bd0125d0348e383085f08894861ca18987227d37b42b584a8357cb04\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.9\",\n          \"ea941ff06f86c226927fcf0e3b11b0872676170c1bfc33bda8e265c77771f9d0\"\n
        \         \"850164a5eecbcc5ce827fbfa07c85214796d8127e8caa81894ea61ceb1449e72\"\n
        \         \"fea0a4c943b2da6d9b105fe053b9039a9cc53d420b7539fab2239c6b51d17e69\"\n
        \         \"4c957d4b0f0984461879a0759c4401beecd4c606a0afbd7a076f50a2dfc2807f\"\n
        \         \"24f1919baa7746d3a64e268ed3f5f8e6da83a2a5c9152f837cb07812bd5ba7d3\"\n
        \         \"a07985de88113c1796e9b466ec299c5ac1059e27f09415\",\n          \"ceeb84ccb4e9099265650721eea0e8ec89ca25bd354d4f64564967be9d4b08b3\"\n
        \         \"f1c018539c9d371cf8961f2291fbe0dc2f2f95fea47b639f1e12f4bc381cef0c\"\n
        \         \"2b7a7b95c3adf27605b7f63998c3cbad542808c3822e064d4ad14093679e6e01\"\n
        \         \"418a6d5c059684cd56e34ed65ab605b8de4fcfa640474a54a8251bbb7326a42d\"\n
        \         \"08585cfcfc956769b15b6d7fdf7da84f81976eaa41d692380ff10eaecfe0a579\"\n
        \         \"682909b5521fade854d797b8a0345b9a864e0588f6caddbf65f177998e180d1f\"\n
        \         \"102443e6dca53a94823caa9c3b35f322583c703af67476159ec7ec93d1769b30\"\n
        \         \"0af0e7157dc298c6cd2dee2262f8cddc10f11e01741471bbfd6518a175734575\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.10\",\n          \"d8b81645c13cd7ecf5d00ed2c91b9acd46c15568e5303c4a9775ede76b48403d\"\n
        \         \"6be56c05b6b1cf77c6e75de096c5cb3551cb6fa964f3c879cf589d28e1da2f9d\"\n
        \         \"ec\",\n          \"2745074ca97175d992e2b44791c323c57167165cdd8da579cdef4686b9bb404b\"\n
        \         \"d36a56504eb1fd770f60bfa188a7b24b0c91e881c24e35b04dc4dd4ce38566bc\"\n
        \         \"c9ce54f49a175fc9d0b22522d9579047f9ed42eca83f764a10163997947e7d2b\"\n
        \         \"52ff08980e7e7c2257937b23f3d279d4cd17d6f495546373d983d536efd7d1b6\"\n
        \         \"7181ca2cb50ac616c5c7abfbb9260b91b1a38e47242001ff452f8de10ca6eaea\"\n
        \         \"dcaf9edc28956f28a711291fc9a80878b8ba4cfe25b8281cb80bc9cd6d2bd182\"\n
        \         \"5246eebe252d9957ef93707352084e6d36d423551bf266a85340fb4a6af37088\"\n
        \         \"0aab07153d01f48d086df0bfbec05e7b443b97e71718970e2f4bf62023e95b67\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.11\",\n          \"e5739b6c14c92d510d95b826933337ff0d24ef721ac4ef64c2bad264be8b44ef\"\n
        \         \"a1516e08a27eb6b611d3301df0062daefc73a8c0d92e2c521facbc7b26473876\"\n
        \         \"7ea6fc97d588a0baf6ce50adf79e600bd29e345fcb1dba71ac5c0289023fe4a8\"\n
        \         \"2b46a5407719197d2e958e3531fd54aef903aabb4355f88318994ed3c3dd62f4\"\n
        \         \"20a7\",\n          \"be40a5fb94f113e1b3eff6b6a33986f202e363f07483b792e68dfa5554df0466\"\n
        \         \"cc32150950783b4d968b639a04fd2fb97f6eb967021f5adccb9fca95acc8f2cd\"\n
        \         \"885a380b0a4e82bc760764dbab88c1e6c0255caa94f232199d6f597cc9145b00\"\n
        \         \"e3d4ba346b559a8833ad1516ad5163f016af6a59831c82ea13c8224d84d0765a\"\n
        \         \"9d12384da460a8531b4c407e04f4f350709eb9f08f5b220ffb45abf6b75d1579\"\n
        \         \"fd3f1eb55fc75b00af8ba3b087827fe9ae9fb4f6c5fa63031fe582852fe2834f\"\n
        \         \"9c89bff53e2552216bc7c1d4a3d5dc2ba6955cd9b17d1363e7fee8ed7629753f\"\n
        \         \"f3125edd48521ae3b9b03217f4496d0d8ede57acbc5bd4deae74a56f86671de2\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.12\",\n          \"7af42835917a88d6b3c6716ba2f5b0d5b20bd4e2e6e574e06af1eef7c81131be\"\n
        \         \"22bf8128b9cbc6ec00275ba80294a5d1172d0824a79e8fdd830183e4c00b9678\"\n
        \         \"2867b1227fea249aad32ffc5fe007bc51f21792f728deda8b5708aa99cabab20\"\n
        \         \"a4aa783ed86f0f27b5d563f42e07158cea72d097aa6887ec411dd012912a5e03\"\n
        \         \"2bbfa678507144bcc95f39b58be7bfd1759adb9a91fa1d6d8226a8343a8b849d\"\n
        \         \"ae76f7b98224d59e28f781f13ece605f84f6c90bae5f8cf378816f4020a7dda1\"\n
        \         \"bed90c92a23634d203fac3fcd86d68d3182a7d9ccabe7b0795f5c655e9acc4e3\"\n
        \         \"ec185140d10cef053464ab175c83bd83935e3dabaf3462eebe63d15f573d269a\",\n
        \         \"4e78c5902b807914d12fa537ae6871c86db8021e55d1adb8eb0ccf1b8f36ab7d\"\n
        \         \"ad1f682e947a627072f03e627371781d33221d174abe460dbd88560c22f69011\"\n
        \         \"6e2fbbe6e964363a3e5283bb5d946ef1c0047eba038c756c40be7923055809b0\"\n
        \         \"e9f34a03a58815ebdde767931f018f6f1878f2ef4f47dd374051dd48685ded6e\"\n
        \         \"fb3ea8021f44be1d7d149398f98ea9c08d62888ebb56192d17747b6b8e170954\"\n
        \         \"31f125a8a8e9962aa31c285264e08fb21aac336ce6c38aa375e42bc92ab0ab91\"\n
        \         \"038431e1f92c39d2af5ded7e43bc151e6ebea4c3e2583af3437e82c43c5e3b5b\"\n
        \         \"07cf0359683d2298e35948ed806c063c606ea178150b1efc15856934c7255cfe\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.13\",\n          \"ebaef3f9f23bdfe5fa6b8af4c208c189f2251bf32f5f137b9de4406378686b3f\"\n
        \         \"0721f62d24cb8688d6fc41a27cbae21d30e429feacc7111941c277\",\n          \"c48dbef507114f03c95fafbeb4df1bfa88e0184a33cc4f8a9a1035ff7f822a5e\"\n
        \         \"38cda18723915ff078244429e0f6081c14fd83331fa65c6ba7bb9a12dbf66223\"\n
        \         \"74cd0ca57de3774e2bd7ae823677d061d53ae9c4040d2da7ef7014f3bbdc95a3\"\n
        \         \"61a43855c8ce9b97ecabce174d926285142b534a3087f9f4ef74511ec742b0d5\"\n
        \         \"685603faf403b5072b985df46adf2d2529a02d40711e2190917052371b79b749\"\n
        \         \"b83abf0ae29486c3f2f62477b2bd362b039c013c0c5076ef520dbb405f42cee9\"\n
        \         \"5425c373a975e1cdd032c49622c85079b09e88dab2b13969ef7a723973781040\"\n
        \         \"459f57d5013638483de2d91cb3c490da81c46de6cd76ea8a0c8f6fe331712d24\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.14\",\n          \"c5a2711278761dfcdd4f0c99e6f5619d6c48b5d4c1a80982faa6b4cf1cf7a60f\"\n
        \         \"f327abef93c801429efde086408581461056acc33f3d04f5ada21216cacd5fd1\"\n
        \         \"f9ed83203e0e2fe6138e3eae8424e5915a083f3f7ab76052c8be55ae882d6ec1\"\n
        \         \"482b1e45c5dae9f41015405327022ec32f0ea2429763b255043b1958ee3cf6d6\"\n
        \         \"3983596eb385844f8528cc9a9865835dc5113c02b80d0fca68aa25e72bcaaeb3\"\n
        \         \"cf9d79d84f984fd417\",\n          \"6bd5257aa06611fb4660087cb4bc4a9e449159d31652bd980844daf3b1c7b353\"\n
        \         \"f8e56142f7ea9857433b18573b4deede818a93b0290297783f1a2f23cbc72797\"\n
        \         \"a672537f01f62484cd4162c3214b9ac628224c5de01f32bb9b76b27354f2b151\"\n
        \         \"d0e8c4213e4615ad0bc71f515e300d6a64c6743411fffde8e5ff190e54923043\"\n
        \         \"126ecfc4c4539022668fb675f25c07e20099ee315b98d6afec4b1a9a93dc3349\"\n
        \         \"6a15bd6fde1663a7d49b9f1e639d38664b37a010b1f35e658682d9cd63e57de0\"\n
        \         \"f15e8bdd096558f07ec0caa218a8c06f4788453940287c9d34b6d40a3f09bf77\"\n
        \         \"99fe98ae4eb49f3ff41c5040a50cefc9bdf2394b749cf164480df1ab6880273b\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.15\",\n          \"9bf8aa253b872ea77a7e23476be26b2329578cf6ac9ea2805b357f6fc3ad130d\"\n
        \         \"baeb3d869a13cce7a808bbbbc969857e03945c7bb61df1b5c2589b8e046c2a5d\"\n
        \         \"7e4057b1a74f24c711216364288529ec9570f25197213be1f5c2e596f8bf8b2c\"\n
        \         \"f3cb38aa56ffe5e31df7395820e94ecf3b1189a965dcf9a9cb4298d3c88b2923\"\n
        \         \"c19fc6bc34aacecad4e0931a7c4e5d73dc86dfa798a8476d82463eefaa90a8a9\"\n
        \         \"192ab08b23088dd58e1280f7d72e4548396baac112252dd5c5346adb2004a2f7\"\n
        \         \"101ccc899cc7fafae8bbe295738896a5b2012285014ef6\",\n          \"27f7f4da9bd610106ef57d32383a448a8a6245c83dc1309c6d770d357ba89e73\"\n
        \         \"f2ad0832062eb0fe0ac915575bcd6b8bcadb4e2ba6fa9da73a59175152b2d4fe\"\n
        \         \"72b070c9b7379e50000e55e6c269f6658c937972797d3add69f130e34b85bdec\"\n
        \         \"9f3a9b392202d6f3e430d09caca8227759ab825f7012d2ff4b5b62c8504dbad8\"\n
        \         \"55c05edd5cab5a4cccdc67f01dd6517c7d41c43e2a4957aff19db6f18b17859a\"\n
        \         \"f0bc84ab67146ec1a4a60a17d7e05f8b4f9ced6ad10908d8d78f7fc88b76adc8\"\n
        \         \"290f87daf2a7be10ae408521395d54ed2556fb7661854a730ce3d82c71a8d493\"\n
        \         \"ec49a378ac8a3c74439f7cc555ba13f859070890ee18ff658fa4d741969d70a5\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.16\",\n          \"32474830e2203754c8bf0681dc4f842afe360930378616c108e833656e5640c8\"\n
        \         \"6856885bb05d1eb9438efede679263de07cb39553f6a25e006b0a52311a063ca\"\n
        \         \"088266d2564ff6490c46b5609818548f88764dad34a25e3a85d575023f0b9e66\"\n
        \         \"5048a03c350579a9d32446c7bb96cc92e065ab94d3c8952e8df68ef0d9fa456b\"\n
        \         \"3a06bb80e3bbc4b28e6a94b6d0ff7696a64efe05e735fea025d7bdbc4139f3a3\"\n
        \         \"b546075cba7efa947374d3f0ac80a68d765f5df6210bca069a2d88647af7ea04\"\n
        \         \"2dac690cb57378ec0777614fb8b65ff453ca6b7dce6098451a2f8c0da9bfecf1\"\n
        \         \"fdf391bbaa4e2a91ca18a1121a7523a2abd42514f489e8\",\n          \"6917437257c22ccb5403290c3dee82d9cf7550b31bd31c51bd57bfd35d452ab4\"\n
        \         \"db7c4be6b2e25ac9a59a1d2a7feb627f0afd4976b3003cc9cffd8896505ec382\"\n
        \         \"f265104d4cf8c932fa9fe86e008707959912389da4b2d6b369b36a5e72e29d24\"\n
        \         \"c9a98c9d31a3ab44e643e6941266a47a45e3446ce8776abe241a8f5fc6423b24\"\n
        \         \"b1ff250dc2c3a8172353561077e850a769b25f0325dac88965a3b9b472c494e9\"\n
        \         \"5f719b4eac332caa7a65c7dfe46d9aa7e6e00f525f303dd63ab7919218901868\"\n
        \         \"f9337f8cd26aafe6f33b7fb2c98810af19f7fcb282ba1577912c1d368975fd5d\"\n
        \         \"440b86e10c199715fa0b6f4250b533732d0befe1545150fc47b876de09b00a94\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.17\",\n          \"008e59505eafb550aae5e845584cebb00b6de1733e9f95d42c882a5bbeb5ce1c\"\n
        \         \"57e119e7c0d4daca9f1ff7870217f7cfd8a6b373977cac9cab8e71e420\",\n
        \         \"922503b673ee5f3e691e1ca85e9ff4173cf72b05ac2c131da5603593e3bc259c\"\n
        \         \"94c1f7d3a06a5b9891bf113fa39e59ff7c1ed6465e908049cb89e4e125cd37d2\"\n
        \         \"ffd9227a41b4a0a19c0a44fbbf3de55bab802087a3bb8d4ff668ee6bbb8ad89e\"\n
        \         \"6857a79a9c72781990dfcf92cd519404c950f13d1143c3184f1d250c90e17ac6\"\n
        \         \"ce36163b9895627ad6ffec1422441f55e4499dba9be89546ae8bc63cca01dd08\"\n
        \         \"463ae7f1fce3d893996938778c1812e674ad9c309c5acca3fde44e7dd8695993\"\n
        \         \"e9c1fa87acda99ece5c8499e468957ad66359bf12a51adbe78d3a213b449bf0b\"\n
        \         \"5f8d4d496acf03d3033b7ccd196bc22f68fb7bef4f697c5ea2b35062f48a36dd\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.18\",\n          \"6abc54cf8d1dff1f53b17d8160368878a8788cc6d22fa5c2258c88e660b09a89\"\n
        \         \"33f9f2c0504ddadc21f6e75e0b833beb555229dee656b9047b92f62e76b8ffcc\"\n
        \         \"60dab06b80\",\n          \"0b6daf42f7a862147e417493c2c401efae32636ab4cbd44192bbf5f195b50ae0\"\n
        \         \"96a475a1614f0a9fa8f7a026cb46c6506e518e33d83e56477a875aca8c7e714c\"\n
        \         \"e1bdbd61ef5d535239b33f2bfdd61771bab62776d78171a1423cea8731f82e60\"\n
        \         \"766d6454265620b15f5c5a584f55f95b802fe78c574ed5dacfc831f3cf2b0502\"\n
        \         \"c0b298f25ccf11f973b31f85e474421985f3cff702df3946ef0a6605682111b2\"\n
        \         \"f55b1f8ab0d2ea3a683c69985ead93ed449ea48f0358ddf70802cb41de2fd83f\"\n
        \         \"3c808082d84936948e0c84a131b4927827460527bb5cd24bfab7b48e071b2417\"\n
        \         \"1930f99763272f9797bcb76f1d2481575558fcf260b1f0e554ebb3df3cfcb958\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.19\",\n          \"af2d78152cf10efe01d274f217b177f6b01b5e749f1567715da324859cd3dd88\"\n
        \         \"db848ec79f48dbba7b6f1d33111ef31b64899e7391c2bffd69f49025cf201fc5\"\n
        \         \"85dbd1542c1c778a2ce7a7ee108a309feca26d133a5ffedc4e869dcd7656596a\"\n
        \         \"c8427ea3ef6e3fd78fe99d8ddc71d839f6786e0da6e786bd62b3a4f19b891a56\"\n
        \         \"157a554ec2a2b39e25a1d7c7d37321c7a1d946cf4fbe758d9276f08563449d67\"\n
        \         \"414a2c030f4251cfe2213d04a541063787\",\n          \"209c61157857387b71e24bf3dd56414550503bec180ff53bdd9bac062a2d4995\"\n
        \         \"09bf991281b79527df9136615b7a6d9db3a103b535e0202a2caca197a7b74e53\"\n
        \         \"56f3dd595b49acfd9d30049a98ca88f625bca1d5f22a392d8a749efb6eed9b78\"\n
        \         \"21d3110ac0d244199ecb4aa3d735a83a2e8893c6bf8581383ccaee834635b7fa\"\n
        \         \"1faffa45b13d15c1da33af71e89303d68090ff62ee615fdf5a84d120711da53c\"\n
        \         \"2889198ab38317a9734ab27d67924cea74156ff99bef9876bb5c339e93745283\"\n
        \         \"e1b34e072226b88045e017e9f05b2a8c416740258e223b2690027491732273f3\"\n
        \         \"229d9ef2b1b3807e321018920ad3e53dae47e6d9395c184b93a374c671faa2ce\"\n
        \       },{\n          \"PKCS#1 v1.5 Signature Example 15.20\",\n          \"40ee992458d6f61486d25676a96dd2cb93a37f04b178482f2b186cf88215270d\"\n
        \         \"ba29d786d774b0c5e78c7f6e56a956e7f73950a2b0c0c10a08dbcd67e5b210bb\"\n
        \         \"21c58e2767d44f7dd4014e3966143bf7e3d66ff0c09be4c55f93b39994b8518d\"\n
        \         \"9c1d76d5b47374dea08f157d57d70634978f3856e0e5b481afbbdb5a3ac48d48\"\n
        \         \"4be92c93de229178354c2de526e9c65a31ede1ef68cb6398d7911684fec0babc\"\n
        \         \"3a781a66660783506974d0e14825101c3bfaea\",\n          \"927502b824afc42513ca6570de338b8a64c3a85eb828d3193624f27e8b1029c5\"\n
        \         \"5c119c9733b18f5849b3500918bcc00551d9a8fdf53a97749fa8dc480d6fe974\"\n
        \         \"2a5871f973926528972a1af49e3925b0adf14a842719b4a5a2d89fa9c0b6605d\"\n
        \         \"212bed1e6723b93406ad30e86829a5c719b890b389306dc5506486ee2f36a8df\"\n
        \         \"e0a96af678c9cbd6aff397ca200e3edc1e36bd2f08b31d540c0cb282a9559e4a\"\n
        \         \"dd4fc9e6492eed0ccbd3a6982e5faa2ddd17be47417c80b4e5452d31f72401a0\"\n
        \         \"42325109544d954c01939079d409a5c378d7512dfc2d2a71efcc3432a765d1c6\"\n
        \         \"a52cfce899cd79b15b4fc3723641ef6bd00acc10407e5df58dd1c3c5c559a506\"\n
        \       }\n      }\n    }\n  }"
      pos:
        line_end: 23
        line_start: 15
        source_file: /src/libgcrypt/tests/pkcs1v2-v15s.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/tests/pkcs1v2-v15c.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*desc'
        type: char
      - name: '*n'
        type: char
      - name: m[20]
        type: "struct {\n      const char *desc;\n      const char *mesg;\n      const
          char *seed;\n      const char *encr;\n    }"
      item_type: struct
      name: "tbl[] =\n  {\n    {\n      \"A 1024-bit RSA key pair\",\n      \"a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae4811a1e0ab\"\n
        \     \"c4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6c630f533c8cc72\"\n
        \     \"f62ae833c40bf25842e984bb78bdbf97c0107d55bdb662f5c4e0fab9845cb514\"\n
        \     \"8ef7392dd3aaff93ae1e6b667bb3d4247616d4f5ba10d4cfd226de88d39f16fb\",\n
        \     \"010001\",\n      \"53339cfdb79fc8466a655c7316aca85c55fd8f6dd898fdaf119517ef4f52e8fd\"\n
        \     \"8e258df93fee180fa0e4ab29693cd83b152a553d4ac4d1812b8b9fa5af0e7f55\"\n
        \     \"fe7304df41570926f3311f15c4d65a732c483116ee3d3d2d0af3549ad9bf7cbf\"\n
        \     \"b78ad884f84d5beb04724dc7369b31def37d0cf539e9cfcdd3de653729ead5d1\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Encryption Example 1.1\",\n          \"6628194e12073db03ba94cda9ef9532397d50dba79b987004afefe34\",\n
        \         \"017341ae3875d5f87101f8cc4fa9b9bc156bb04628fccdb2f4f11e905bd3a155\"\n
        \         \"d376f593bd7304210874eba08a5e22bcccb4c9d3882a93a54db022f503d16338\"\n
        \         \"b6b7ce16dc7f4bbf9a96b59772d6606e9747c7649bf9e083db981884a954ab3c\"\n
        \         \"6f\",\n          \"50b4c14136bd198c2f3c3ed243fce036e168d56517984a263cd66492b80804f1\"\n
        \         \"69d210f2b9bdfb48b12f9ea05009c77da257cc600ccefe3a6283789d8ea0e607\"\n
        \         \"ac58e2690ec4ebc10146e8cbaa5ed4d5cce6fe7b0ff9efc1eabb564dbf498285\"\n
        \         \"f449ee61dd7b42ee5b5892cb90601f30cda07bf26489310bcd23b528ceab3c31\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.2\",\n          \"750c4047f547e8e41411856523298ac9bae245efaf1397fbe56f9dd5\",\n
        \         \"ac4728a8428c1e522471a8df735a8e9292af0d55bcb73a12ac32c264f3881c7c\"\n
        \         \"8a710f70feb10485c8370f781fffd021816f058739766da0a9c9db0eae7e9a25\"\n
        \         \"b6c43318d0caac236522ca310f17fc52ad4229c83a24e9e545eb35e9826d559f\"\n
        \         \"57\",\n          \"6842e5e2cc0041d6b0c81a562c39a617379a515cab74abcb2619c7740a541d95\"\n
        \         \"55dd9165975bf8a3ebd0d0456661dfb1a6861ba2332269930e0db514fca0733e\"\n
        \         \"eb9c405713eb1f9d768033ed293e1e081a125f32ddb9ea52edbe275c4af60f8a\"\n
        \         \"7bf832bd227561c208dc0031a84b5012c9dd9f74459dcb070bdbe13cfa8c2d50\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.3\",\n          \"d94ae0832e6445ce42331cb06d531a82b1db4baad30f746dc916df24d4e3c245\"\n
        \         \"1fff59a6423eb0e1d02d4fe646cf699dfd818c6e97b051\",\n          \"dd2d60a5e008ebe1d0be6f60dbc43f2962ef50bfde542bbbe98fedd1feac057e\"\n
        \         \"771cf15fc632c8db272e28d29b5793ea6ab806218c538239b93a935e65d24416\"\n
        \         \"ec6c6e99ae04\",\n          \"709c7d2d4598c96065b6588da2f89fa87f062d7241ef6595898f637ada57eae9\"\n
        \         \"0173f0fb4bf6a91ebd96506907c853dacf208494be94d313a04185d474a90741\"\n
        \         \"2effc3e024d07e4d09aa245fbcb130219bfa5de02d4f7e2ec9e62e8ad32dee5f\"\n
        \         \"f4d8e4cfecbc5033a1c2c61c5233ae16192a481d0075bfc7ce028212cd27bebe\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.4\",\n          \"52e650d98e7f2a048b4f86852153b97e01dd316f346a19f67a85\",\n
        \         \"2629a7aac0c3905e831eb602388c545af554b96b2ae51532e9ccdb8972ef30b6\"\n
        \         \"4a2f98c695297a01c5812a2c401582f37b144a3e90e59d81b69039c64b844b02\"\n
        \         \"8c105c8e683615afb658b6c4d9f38238a76301bb14449113b69de126045e26f1\"\n
        \         \"3ee6d7\",\n          \"54ddb784268eadb3955bd9f9498842595ad29ff8a667feb41f6f530cb60bc926\"\n
        \         \"ac6c71c772f803d022b41ca57204223b27ca79ec5b72652ca9afbf40dc2f6a0e\"\n
        \         \"13bcd60d37f79504b0ffcc01cf5342d6d34ac6f1f2f9f2f4874625b9fdbb7dda\"\n
        \         \"2ec87df0cf87259798df86a06bd5aef7354b8cb1cb137575f4cfbc46281bb331\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.5\",\n          \"8da89fd9e5f974a29feffb462b49180f6cf9e802\",\n
        \         \"c3ca84600f35c8655fc7c64c75c5873853d3aa8a9426a51b63d7e75dcf6cae97\"\n
        \         \"a4253fba871d6f968997199bf01b6a4d3428ce4c96d1c487b2830cb9e35d6405\"\n
        \         \"5623699ab4979a02584b92e6ba39e757284079abf133a7da54e5425217a210f6\"\n
        \         \"7c18269b511f61f8c5\",\n          \"a85548013bd0e20ee0ebd36fb748977f985846d7610eed24c36cd83033dd2aa4\"\n
        \         \"580bd15335209dcf782ee26c48c30644b0b5cc86c8cd165ae21eadf578041867\"\n
        \         \"7607031875e221ecdf3b1057316f3f12a47d5da40c41539b636430da2e542190\"\n
        \         \"119e429c53c2226f959b19ccf48a3d240217c4de70d7072a7e0d95b616d115a8\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.6\",\n          \"26521050844271\",\n
        \         \"3c6a0471daf00b7c2efc9ee88041654f87629007c124322211a5f4ea3c582385\"\n
        \         \"7bc8fc7e21c94548b0eebdcff79160e112461e40509110cfdc4f0f13c7fb921a\"\n
        \         \"bac8dfaac21acb0f7b8a13a4b5cca523d5c7ddf70523eb570c59b6c7ae9767e4\"\n
        \         \"ec9a63d1136d10231b401e20e74102848348017a1616\",\n          \"5e514363287de9b380048cc4435d53294ad5941c551a97e13c16dc1398de610d\"\n
        \         \"c7337bc6bde578e9e9f56af14454f2e831beef3231a85068e8fef72c89e1df1c\"\n
        \         \"99430a60f6d94289cfba87b2b432a40b88db61dae088f9ed4e284a2163af65bf\"\n
        \         \"2b43559a5da2aec5bb8f43f92c1b04a5146a65b6e019b4cdd2940c35d9645b2d\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.7\",\n          \"8a847dd9e2\",\n
        \         \"a13dff8a48e80494ae66e6ba9f179a010d9e6d403187967f99fdd90ef90e0a94\"\n
        \         \"073ff0e4d0e6664ff373b509953e04ef7783be0fb46c8a9fc0ed8c1f33cb4d0d\"\n
        \         \"2f1d0d5cdba14dca508ca1d73d208018639bc8e1658623de1e5ba3f05ed0914d\"\n
        \         \"2f96902f2520332d8492d3734acdebbdf43e50a43e7aa872\",\n          \"827a67e815781c4d4e2b2e169d80cae9366872a792afbf3c0cd51ce28c70e86d\"\n
        \         \"41ebb9752f3f92dba51adbb6851b1f784561a8f197208fde02970b38f2a97422\"\n
        \         \"ec7f4fc8a10675a9dbde109eed0ce06527703ee05b657d3408f7fddb1eeccffa\"\n
        \         \"e16b1da107307a2cf256fa60e8152172de9f9527fe920a901d93c4f4d57e546e\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.8\",\n          \"373236b7202d39b2ee30cfb46db09511f6f307cc61cc21606c18a75b8a62f822\"\n
        \         \"df031ba0e0e82dd2f3e5d31e4ea257b15b\",\n          \"219974a087f0a28193e649a04ae9d84cf2c8a9a46cdfd8f1ac62c7e0f20f4e27\"\n
        \         \"030c72b20a5db725b4a8683df5556ee7947fa0a7661b6d99dcb79e494f4673f0\"\n
        \         \"73a041dd907c87324e8625dd\",\n          \"1a6df5759984f2c4119355c5db35c8a478164d5e5ee77b4991f104ba91b9870f\"\n
        \         \"1591be1f19f55a8051a62c0e59493df6f00fe50ef73a6cf0c43541f5320dab7b\"\n
        \         \"2fc67c93225cccd6d50347aa969ad87bd3d82081454fead810dc1ab8c21781f7\"\n
        \         \"612e6406729b322e04b1624f8538985659ae34d9931e019f762c797d5cbfa32d\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.9\",\n          \"97e0b636bfddb8e1c8a9cf5b305cef3a8f47f9a8b3344f1355fa3dbab67bb972\"\n
        \         \"10\",\n          \"c1f89bcdc56040d5e663b74bfde2397b584608cdf32d5a5844724ac7e598a86e\"\n
        \         \"f7114b1be08730cb10f661fbfb8609f7c6c37442a1b11e04a611ff8ca5ce9afc\"\n
        \         \"1eb3aaa92c9f28bae220440578990226078378c493411374c53e3ddc\",\n
        \         \"873cc4dca427972b63c6cc8ac11ccc33c959f7fcfe4b45bbd47b29d9c988c01a\"\n
        \         \"96bc1eae0ef9b1948dce2cc9f0aa917e86a6c11f8da3da29df905901f1918a76\"\n
        \         \"168de1175e2735128c097299d66ea5ccf9b95b3692eebfc6ea11bc37091b795f\"\n
        \         \"18803d70e79558e12516230fed5515e51b45ae86cefe47b93790e4994dc41e05\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.10\",\n          \"82b5075bfc88f4006576aa80a0007a7451184d4f760cf9242804222b0e0726f5\"\n
        \         \"55030e4e6b01f793b097018127824a3e402457d8495fc0\",\n          \"d55e3d4897e9d865014cb15d3ee3f9fbd29c92e5c237dcae46672a463eaaa4f7\"\n
        \         \"dd09861e946ac65b8562506393b85192ad41fb0c48c8c052981bddcd5f1fc8b1\"\n
        \         \"39cd47cacffc\",\n          \"2e83c3d288015a5f503d3e5de7d2ad9106545ef97d63e4d06a5a0d9dbc29f6ba\"\n
        \         \"fb93a5173fa5063a6939dba6c7a428c35e7dbe6a9593fe5ec4c19878893f3137\"\n
        \         \"09c87602726cb3255be75adc7f2f27e6db91c3a343eaff1c28d9d5f7cb6574e6\"\n
        \         \"31069003cdcfa07743a7340d58839e708bf36af6342db8dfa41feadafc6953ac\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.11\",\n          \"3648c36f851f52f2328779091985a3c812e18a7055d090bbf0324c13793bb822\"\n
        \         \"1a57\",\n          \"c1277185c35955caedfdf9de55d5d95a398d58f5f333191fc02945efdfadfb6d\"\n
        \         \"b05ee2a2d34183edf89a1a4dccc46591b3532ba7039362c75df194ec106448af\"\n
        \         \"b7f6bfb2807e383e159954255e827cb9dadc8d9b7e68a1aa097635\",\n          \"8862f1973fefe0af02d96cc458334ded6c02d8d7eaf593779c5d386c4e49f768\"\n
        \         \"f130b487b3c91e323a477e4c110a3341ff46eee37c773e5c0ac839bc55cc0c07\"\n
        \         \"0cac01cd45183cfee6b88bfb82361d3560197cdeab42e5c755d237971a88daf6\"\n
        \         \"10cb3952614b364056cd491420effe3a0b8ce31f2e3e49cad6f3b0640f4491de\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.12\",\n          \"94f78cf45c53fc46e7eb1b26618a29e9485012c1\",\n
        \         \"e6de9e9b9022a55f56121d5ac00aa6df299c8a369422e7542956b6da2e0dcdee\"\n
        \         \"968db07d995a7bb876f7f8cd66b2f542c05308f74983a3f8360c6b8947f87d60\"\n
        \         \"8b031a2c68dde1471ae496ae9b16e2a81181eb6fc2f65baaadda6422a93431f6\"\n
        \         \"f3b07b5b46a3cf8948\",\n          \"3c6d3b43d23adb79d697233808b074487697f335fd99cde865411fb182289256\"\n
        \         \"1fdc24a8b8bb2c4f653c4d156c77a75de31600b5709e8d506e98e1d373cbda01\"\n
        \         \"f4d9feb0297198cad0ca2a7e3b1e63903b1043ce79494c5754f7f90fc1f073a6\"\n
        \         \"19929ef126394b0624f3b8ba6d5645e990e7c0132ce2123146fd9cadf745ec61\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.13\",\n          \"779d1eb84fa284c37d29d5e179d00306b413c44a800a077e59853f6305f92e59\"\n
        \         \"fb7f81\",\n          \"c3e6d18bda97782ca781fa76d97a6c94d854d14199b4ea7d82c5bcbbe6cdaab5\"\n
        \         \"255747443c59bf8c77ecdaa64ae7ce61e2c7300132b754e9162f7cde758f480a\"\n
        \         \"e588cfd44a946d64e2720a2d17525545220484838118ad6e6b54\",\n          \"722ca92566c73cc85d19ce3faa14cb2e79849f205092d1589282313c0427f067\"\n
        \         \"798afae3e3f0a561f399346e9d107da04af44b0c6f044adefe097a0cd14a47a9\"\n
        \         \"9cd9819a98413706307cbd0da01697469eff71d31441639493fbed8eee1ba39f\"\n
        \         \"dd07fc0ea08230186179f90e7ef13c61ee56f167fc2f6b15793e1a3224ffa29e\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.14\",\n          \"88\",\n
        \         \"c0169d76e4ea4545410ddf6646c1ba7dd272d7c3498ba6b0804b426130a80fbf\"\n
        \         \"ff4bb7b5f559b0a9090e4ad9b9f416a6dfdc1501b1ba46877b1a96fa8491dcfd\"\n
        \         \"de50ebeed24d3f98962413346ed4a3393e235b77bc1ed67468ece2792a2fd3a8\"\n
        \         \"348fc5509b5906f2885615df8c1461377a741d5952fb36eac0201e27\",\n
        \         \"4ed7d1291a0336654d5ca2b1f9d20cb2da7226f7116b930988439b4463981104\"\n
        \         \"bd63c2ce2b77d626b3109c931403ac5b49b4247c4f6967b8c0db063c9995af9d\"\n
        \         \"36540650938b01f93906f9838907ed5936abb343b0e25509a1d2d4c5c8b95806\"\n
        \         \"50da2ce11fa3cf3e640723eacbee87fad3ee35958b45075df781c413466af139\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.15\",\n          \"a2dc087778d543408e8973f1363159edb8f0783c457089072dce66d3102bb4fa\"\n
        \         \"e60aa60e41933c48a1be3953ec2f804c0cc96c\",\n          \"18112014065329d04bfb0cf544dd38d7bef1549b4a49a16776dda74d0a7edc49\"\n
        \         \"67b4240c37142fa3f6639c2696cd7d4b18a11e2fb54081f2de5bd7bd15cdda92\"\n
        \         \"c94c3a47187b5ff43b53\",\n          \"7115190a210488f04fa0c00c93a468a8030b7b9fc10020d8310bcb01a5c8dda1\"\n
        \         \"d06ce241dc775b43e6f13b19abfcbf3616e84f107c9ed80d1b86bf87c98c2b62\"\n
        \         \"9ffadaa6ec01f4e675558ef52606eaf126068fa7534dd13b920d2381695ad775\"\n
        \         \"fff0bb7cec4690901d6f1e1736b82cfe3a0c224d18f12915fdc95c18397c3570\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.16\",\n          \"110bf2b1d0dd812f2a5a21f3404fa2f2c454c4432fdfa70f1b0f23ec69c10237\"\n
        \         \"73a73aba\",\n          \"17b85f7653ff0ef5de7f25696cd49023ad8eac948a83e22458ecd5d10a43866d\"\n
        \         \"c791555e64f078c38c752b6e9c6eeeb339eec91016d258886d012775ad643602\"\n
        \         \"a0f0d1793454a0609471162288223950826ed8e2025da9a4e9\",\n          \"5d0f2fd85e6f9d9e432fad860fdc49969624ff4fa0715d361e9f00b05b3aa0ba\"\n
        \         \"9eb27bae610efde1143cbc933b52dea7018760bb251be0e1e30cd1c5991aef74\"\n
        \         \"4db82f166b9063efb7e33840a2569005654b140e115fa56c30406e45656e8199\"\n
        \         \"af394f6386346d5f1a300b95ba48fc0873d618d692bb025bf15e9d232c641ada\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.17\",\n          \"d9d937131ff1940a86bf7139b48114364195b4005222a8bbbc261a7f2e212b8d\"\n
        \         \"d035e53f9144f5610b4cec32ea01bda9d3c80cf29464f80f5f5656c8\",\n
        \         \"3305e1da60e58673fc46cd33be2a66d3a102c3db161ef48c0d60ef25031b4014\"\n
        \         \"167826246aa528a3a3e5b0ab95078d8401d92903595afc1aa854e6044e5eb5f5\"\n
        \         \"be\",\n          \"0e12167489f0baefcad63934bc159f1bbd9e9b287e500f490923c16a85564a1d\"\n
        \         \"a63659375f22af7ba49798e1578cf315fae3e9ed5699c691e3c1d0bb46da492d\"\n
        \         \"01349e9329593d4381d074a0a531df921b31316f7e2b4fe915347283242335f0\"\n
        \         \"b0b23192c72102f2c63624b1e78965450e8230d4877e4617b03d44831398ddbf\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.18\",\n          \"81b34aeb8afb8a3f\",\n
        \         \"02f748342d010fb56a6f69f21f8c6a631679c8c4b8f6feb525cf8e72fda8ef8d\"\n
        \         \"f6623128c0fe74bc590caa34f1eed1ad2d6142dcc5bcae84ef313762f2e4e703\"\n
        \         \"03d209c8d9577a7c843d2b9172ed4efe2ad629614b99a91a4cc8325ba324116e\"\n
        \         \"cf0c5e29094938ae498984f4f4cbb1623886e03973\",\n          \"43b276c7d368ea21c6807116cde8608298f24002072d776e56e62c3572bfb99d\"\n
        \         \"a4c56e938a47dc075fa1ff7a618fb5faed3ee37b91dfc39153495aeba9df6d45\"\n
        \         \"df94b0e8a8ad2db37a9fe46d0fdf154231fd6f3221474e8f5c191fdb8538e1a6\"\n
        \         \"03e59897e150faf95b65da140667edb19809eb4a16acd01ecc604bda57f20ef2\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.19\",\n          \"7bf9fad889de73ed873d\",\n
        \         \"fa5dad45a4bb5e74c4cf2e213ed40aa9617598d11d49ae1c32d794e09cd0e5c7\"\n
        \         \"aaae81b9554dde3108d60a9a82f42cc6c2a689f460ff1d53ad85bf838311e758\"\n
        \         \"9e1967957b51567aa0d33afa3752cde6c5661d4f27aed3df52905f1cf2253304\"\n
        \         \"618e0786041e70b4dcbac8c108ba34ac3939f4\",\n          \"61c2550e0b36a6797ff86493801b1146d89059498352e4c262275b1404b13315\"\n
        \         \"e956bb3d312185b521b3c708e9d954021719a059d984724c53c04f5ad274bef9\"\n
        \         \"ff0a7950b2fdecc5290cd5f3bc26524cd1342048184b0e2cdf9406a453a2ef9f\"\n
        \         \"3bb23c4e7c1c8b2952a0202bcc238247ea327b8c0700c8003fd634ec1ed9bf30\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 1.20\",\n          \"b6a3509bb3b9b0b57cd58de409d953201a042f9492dc1d7e34a7d0941a1a1b\",\n
        \         \"3a9e15065786b3e01d826b862a8f702b5cac8c1662ee7d15ff323cdfe71ebf4a\"\n
        \         \"d1b1f3a6bcbdd4b0010877ecac091f615908e2be400bb0c498e355d571fd1089\"\n
        \         \"5b8ee9c3a9c31e4b110389c3d5c46ebf76b3b35ad1f4791b6d2097f109f2\",\n
        \         \"6b4b6d7babfe4d6417acadfb78572e7c87e3fe1bd58eefb0d4b1279c7b7c8326\"\n
        \         \"a68bb28795e09f9b1ce2e24a539f4b0d93b29274cecf7cd9f0b732aebeda9111\"\n
        \         \"bdfe25e268a88e3422e29b52bd4b7a0547db8fe12a6fcf1a3c06a002bf870a2f\"\n
        \         \"abb7c457e4bbce3e316f7232449f87a9d702b12d19bde7f9590f9467b06bd58a\"\n
        \       }\n      }\n    },\n    {\n      \"A 1024-bit RSA key pair\",\n      \"98b70582ca808fd1d3509562a0ef305af6d9875443b35bdf24d536353e3f1228\"\n
        \     \"dcd12a78568356c6ff323abf72ac1cdbfe712fb49fe594a5a2175d48b6732538\"\n
        \     \"d8df37cb970be4a5b562c3f298db9ddf75607877918cced1d0d1f377338c0d3d\"\n
        \     \"3207797e862c65d11439e588177527a7ded91971adcf91e2e834e37f05a73655\",\n
        \     \"010001\",\n      \"0614a786052d284cd906a8e413f7622c050f3549c026589ea27750e0bed9410e\"\n
        \     \"5a7883a1e603f5c517ad36d49faac5bd66bcb8030fa8d309e351ddd782d843df\"\n
        \     \"975680ae73eea9aab289b757205dadb8fdfb989ec8db8e7095f51f24529f5637\"\n
        \     \"aa669331e2569f8b854abecec99aa264c3da7cc6866f0c0e1fb8469848581c73\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Encryption Example 2.1\",\n          \"e9a771e0a65f28708e83d5e6cc898a41d7\",\n
        \         \"168e3eb5809b0870e1f2487e1be77a176b34716de141ba4c9059da90e5e51a36\"\n
        \         \"94e858fed10b926c02523980a8909da996c64333ea676787bce677f11fda77db\"\n
        \         \"b1a9516edda9b1294fc2e450522288e930be7fa729b250e3aac520511e9516aa\"\n
        \         \"863af6bc075cbdbff4304670\",\n          \"71c2b8fb3819f134c2247c6babb4cfbe17d7b2643f87ace5c571277be1908ef3\"\n
        \         \"a5288e34384e460a70386e7ea1d19d3dca1ce15ba93239a8cdda18e317fe0796\"\n
        \         \"80ce7e6ac6d9bdaf86cb9aebf1cf46cd10ef6a688b0cb2ce765dd0b325204239\"\n
        \         \"66eee1aa05c6c28c6f3524fb686b5fb15853659e583ac437219def8edc58be2d\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.2\",\n          \"664bf05d612baf61524c608eda36fc6ea2c93c143153221bcfd6ba0cfbbd6b64\"\n
        \         \"1447e4788b0a462cb5b3f9fafc9a75\",\n          \"e7f0a27918cad915da28113659ffb5dfa0b51b24d5a71c2027f8e4d9409e8c64\"\n
        \         \"72f0c54b5c08858da63d4b8172b07dcf8c5a7e8f9e90f017c24b44d16b670bdc\"\n
        \         \"96030c8353a2839ba4c075d24c20\",\n          \"0686901813db053ac708e3fcec6bae0360088fd344e9d7ea118bb3f537531425\"\n
        \         \"1e606737f5824b3628f6650348f6ab553b277da01544d05673baedf455cc0332\"\n
        \         \"f613f65478fcfe066734c46558bc233b4b6f5241e4f4ac53fc18c55384c8fd96\"\n
        \         \"183f0bb5515e893114f9c61ccc11fc1983de74469264dbdbb0c749174ecdfbe3\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.3\",\n          \"5e76e66ed57541fc23d359f4adbf3f568201d3c6f0e026aaa5676356cc9866f1\"\n
        \         \"755de98cb39f236dafa9e6bc794b7443b53a2d85\",\n          \"5c6568b6e33bc13ad2dcd6012d17da81b13dbd62aae40a64af97e219e75dc181\"\n
        \         \"126077d120dda19d6312cf1e9871c115f0867fe662d78a4031976bddef68f52b\"\n
        \         \"68995867cd809505dd\",\n          \"19e79966ff1fbc10073de73df3a531637874e47df639256c51d0bba935610b46\"\n
        \         \"34f9e5b4689bd921735b32236efcc6e7cc49a9e06a25ac9659b7fe829cb3e8b0\"\n
        \         \"1f103179422365741b76c8342149cedc76eb0ad018ed4235fbd524fd87c9549a\"\n
        \         \"b33ff23ee4f8200efa33027e9deec60fac013d1e56e6e333d493a4a9460fe58a\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.4\",\n          \"5b195048eb90eb4793\",\n
        \         \"bbbd49550ed1ea1b6bc7206ce0b003a632a52b0bac5f32710b39fa64b3556ad6\"\n
        \         \"f6c82bd9d531b307469e863f54b5fe2183056954f2a967e4dc2b326e41dddf74\"\n
        \         \"3a764f7e82886829a8fab2772a3497706b9538a9f84296c82d9bafc29c39d468\"\n
        \         \"4f75ff6bb1c12e39bb8056af2d24344b2cae4629\",\n          \"42c9cb6821b55dae30d90025753112e6ee02f4ad6f0f5b3cc4952a127c8a16f6\"\n
        \         \"6479b8144f3cf29d84e43d67d67712c7f5b76da2c66ba0e90cd4b1fc1c1b3f17\"\n
        \         \"a392e70408288af69b50fe8a50b3296a0dabd7c8dc3984a1940688be70982516\"\n
        \         \"20256cc21b7c76ed29d86ff7c01ec287df4738be3469b30a3f8fb7be83d9361a\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.5\",\n          \"660bbd40069cc67bade41a09ecf43cc4513f7c7cc02dde972d2b1f29295e09b9\"\n
        \         \"910c59edba0ed2ddf11a6d4169351f97240733528f91b268faa7af906e\",\n
        \         \"307f61b183a8dcf9155ab235e61fb56ba2b8795dc4235385e8acf366d25233b4\"\n
        \         \"70e05d7011b6fc532f0a658ad13afd290c6f30e2795ee3d39dbdc80f560ece2f\",\n
        \         \"049b26050a3abef83ec2776111e3b72fb9a2d6a801055d6b5e0da4e95ccf2ebd\"\n
        \         \"0a786a9721aa7925bf15beb62713a313877dd85d2658b208e88e6445fc35019b\"\n
        \         \"0cad6bf4d06e2ca5f11949eeee7ee47f1d5b4c88241f50e4d6edf0183d4fa35a\"\n
        \         \"371fc407364f2dcaa4cdaecefcea6dfac1d513f905e747944744bb64576ba1c8\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.6\",\n          \"81cb0a97698f823b56b45f\",\n
        \         \"938c8dfda08b89055b68af011f246cec1f93a2771da97dba20954c900912285e\"\n
        \         \"5db187b29e3272e99e694e1214172528453084064e5c60f01e786fc5d0d9af06\"\n
        \         \"39a498c57ade937760ae517484afd7025ea0d55a62b11f9aab7fa5ddd093e5ea\"\n
        \         \"bad61b67a295a775be96c6b76ec3fe472950\",\n          \"7fb8f335eedc4af6af44073da196457d046145030147f8420fc79bd589774a73\"\n
        \         \"0a6d94fb7efadc5aeea7c070f189249125e166c6d30129ecf2c4822a50496bc2\"\n
        \         \"f21e79ac57dbfbdd71a68b58d9051b480bf47748a13dfb673eaed7710a468fe7\"\n
        \         \"2f7d74e6f4a28944043a52d930de68dbcb6ee7fb8b69640541e3ed5b754e65fe\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.7\",\n          \"05f7835623c8cfaae482a91085b97f6b95928bb974acad02364aaf1317ed53c9\"\n
        \         \"db2ffbc8a3cb3a00f44dacef78\",\n          \"80c83d2547be41baf2321bd30a9ab7749c5eebb5a1fff0b31d6bdb0ad16dd0c0\"\n
        \         \"fb3ec157e78b0986602041cde88957a55329e3e2cfe85a594474945efa333585\"\n
        \         \"fffd41ebb8e7c518c3c9259aea8de635\",\n          \"87f9ce05f0ac9c05e45fb7bb555a7a18a9cdc55f544a542101e9a71cd2036682\"\n
        \         \"0e7ff6dca34675229d86e4fb5871f9310b12bb74e28618d6d6586587f66acc89\"\n
        \         \"68a83cd807f4d21297731d7c22c14599e75719fd23052b8aa65b7e9c5c020038\"\n
        \         \"2d35d560f2d33dd049e06ac827cbdd9af581a6b26db61d43d7124b34721df142\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.8\",\n          \"e2e0f6b328d9bbe9fd66cd87987c1160ed237b1c7c656a89fb1f21d709403b04\"\n
        \         \"10f8e4e12eb9690aebeb3807319a936564f66717a71c4862ccc56e\",\n          \"cf18e608b156145c44de314966cbcc6674a45ae0df900406e40d3dfc322f3940\"\n
        \         \"4ceeb6dc58f801bbf2ac4f47841abd796179d0824f3bf5518d78cc66ad8dfbed\"\n
        \         \"b117\",\n          \"1401aa21ec6ebaa7e3a9f713c86b508e375f6c125b29626ebd349f64e20fa48a\"\n
        \         \"1b068479fff33022f66f86e97d9c5edd9026e3183ce08641570659352f87a618\"\n
        \         \"91f3d86a3d245f0245e39d99892c67fa2bed8e37548de23defdd1e43d5d7e3d9\"\n
        \         \"a3c22ce6a368d84c5afa1cc5bf49b68fe5c25a326b0eec5e44c5e2ff5a359dd1\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.9\",\n          \"c69578ea03e269b1b91633a72f9fb4d10c\",\n
        \         \"e0a1a9bae30a7ac66cab3d86433c1ca5e8ac2b74e483ca7f34597716ee161890\"\n
        \         \"6c97772f2886f46d783121b7fe1b8fa5fbec09c068e5635c89e6a0a9accf2b12\"\n
        \         \"c64706b6ae9a5a74abb83f64e13a8c53f926760466b645e28e9ad6461ae7b89d\"\n
        \         \"5efccf7d89149aa2e69f0d25\",\n          \"78f87d6b06761bd7e717e0c5eb40e1fb80899c7be4017c2efb075978ee38d0f9\"\n
        \         \"5e9803dcd40fee9792c61d4a2d85dabdea96ca29f3ca1e8bcf817655d0c09474\"\n
        \         \"d98094eb6a7ef0333d6971c93836fe0232f718463dc9541853463bc1cf03677e\"\n
        \         \"786ee52e7271c3c11ac00553c6752707e0df9280c4f2b7d19fd6f3d8bbcc7be6\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.10\",\n          \"7672cfc27a41d501aa4c41baabf4525a7c455fc8\",\n
        \         \"4ceea1a89464a5d2f89e078953caf776365898a5bd5e8e448c65da26ff98900c\"\n
        \         \"d08061ef446c69b48dc4609ed8654a646d708262cb8409ac27c4a49adfed47a8\"\n
        \         \"5ad429ed75077578e4c273c61e2c3b46beb472f0a345a05d61a7eaaad8a63e0b\"\n
        \         \"3d4952f27c4081329e\",\n          \"252b14133f1db25013293501e356534f26afe334688e68d791833a0d82560570\"\n
        \         \"bbb3ce2b16d8b5f7f89e7ebc7cf9c294ab3416b7c21187707fe5e7992e720ff9\"\n
        \         \"58daa40f5ad45bc747479639a537fe0a4a75fcfb45a53f0173afc0f3cc910b86\"\n
        \         \"ae3137628d90ff675ae1ae31e1640537ea1a7cccfb73f8be5aeca03bab193bb0\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.11\",\n          \"a16ad8f2e0932342ed21e13777f4652a3550ddb4368b5ea71c66dbc3bbfeb7db\",\n
        \         \"55884c830d4a80b79f089da74dc25ae0c482462145e1d09523da3c9344bb97b0\"\n
        \         \"52fbdc1543dfb53cf2378259687c7b1b35caf2f91999ed4ace39af10d6bed0fa\"\n
        \         \"22444c129d90741cfcda90198e2782fb03bdcc7cfafd89db6fb0fed224\",\n
        \         \"08326aff6d03cc4e2610dd536af7f21d76227d827d5280d8b83ab9eb30e0769c\"\n
        \         \"fa02b5c1352bf4d170ceb66f8be698784e1a6c203fa5ab9007a6f7fc2065204b\"\n
        \         \"982fa561fbb361af2b8eea42ab3fec0ed08622e5f289805275380b69342a96f7\"\n
        \         \"6a9904876890d92f24002032351d8a1cbc3d27b2464821bbfbfbb9a678519610\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.12\",\n          \"4a\",\n
        \         \"8aa0ced17f09adae610a46030dad40311bf1469c2737411e40f92396751dd566\"\n
        \         \"37c958dbc58a17fdbddddbbf7975187898be1aa63c5eee5f9a1902980f595184\"\n
        \         \"b9b5b465b92e20f7ae8b5a5cee7f3b57d997a06a702d238350a92698ef275dff\"\n
        \         \"5277bd2c999647405adbe4fb3f1be75e159a4c438313b7fd8aca9dea\",\n
        \         \"4c4e5ab62d0c967ab82921429ffe50d2240e7e0a1875488755bb7ff615a8c99a\"\n
        \         \"bc37b2e47147a927d7b98c30db24da8cd35e13d7b71414d032bd0c3ce38b89b1\"\n
        \         \"1b2c3f9d830816716a2e8ccd8c79e9c74931a7b8a8db13128ce40b2159e498da\"\n
        \         \"98f2aa352f23853106b661d88ed06ff66a56e756597220bd10158153ce5c0263\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.13\",\n          \"bffc420873f5af5dd23bb0\",\n
        \         \"dd31ccd47d4e3102df0fc59b1b8477af3a78c2fa9c8ecb4f0b3bde2350043655\"\n
        \         \"0364665f81c0356abc0b78e9731911140275c866f75ad0cbbc88ad6b5d4da52d\"\n
        \         \"08e22ee539b58e92c6196387e221a087396cbe57ec5603f6162627983eff82de\"\n
        \         \"048bdc1b5edbb5d4ea84f50224bd88a905da\",\n          \"0da2d6f7bcb50a472eda24609da67728e53c9880aa5fb6fbe60d83c11e6bb3cf\"\n
        \         \"db17d14dbce8ec55c73ab0143e9b2756bb6968e5af1aedcf6a80c26d490e4718\"\n
        \         \"7ea5d8cd2facb81ce64a723c40f0ba4c693e1b1143df15a42091709ab4c7cd9d\"\n
        \         \"47079ecd68f6a196448a44679a041410418f11a1e1bce78e772604a2f2778195\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.14\",\n          \"1a9b8729210a8471fc5cd709f2edd3240150244bec96a92ff807e3b30d295d3c\"\n
        \         \"345c044f2e956037\",\n          \"5878c91b166e90c34e6e66568c151f4d444340b5f1d73052cc5633ea2e47aced\"\n
        \         \"7b178a64fb09a5ad0846aee4116d6780ee75eb20851668820cdec0f2c496e4c2\"\n
        \         \"88d8279c1c5d4ec00d980c272e870518486dcaea85\",\n          \"3700ac362cf60e163947a198d00f3b3b26e03ee2fb782b4288b8c1de76e9e899\"\n
        \         \"46c9807c56e09c7b52be0078acf692964acb97d1fa5ceb5776a1d556b4bc9db0\"\n
        \         \"0bda25237a751b7c229b6b57f7ff751c12d1f22a4fb0e90b63d042d9499e0f7e\"\n
        \         \"feadd3c588f2c743a12c567c81578dbeebfd3774da34ad09eebe9017890214b5\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.15\",\n          \"a6d0e8c1ea4ab4ecc8957d62281579675a648d62b7f22b2b08d1313f406f137e\"\n
        \         \"99426735cdb9372feca1ee78463fa5de9cdd84756c68bd1d92ba965f506410b1\",\n
        \         \"1c25c9b832169a1fdb6c148e47e66c3cc82141e611a6f30cc90c5049e8c502b3\"\n
        \         \"1cadc76239b7bdaf93fa97343e7ee551bc52fdb5ec9e400af05dbeacda\",\n
        \         \"00e8b2fc76dfb4a6cc4364de8f683c3fcd0a9ecfbd4a5a7224f49ae9b4f3b5cd\"\n
        \         \"c71cbb8c66fd35f3d18eca98967bd4005df79152416fd47e562c55edc6d61212\"\n
        \         \"286ef975bcc802692592653900973c72e01a693b05fc2d5856eaef7ac08ff5ec\"\n
        \         \"d531e2c2ce927745a1165a51aa6698a1ffcb87f81ef6510bcaf9cb761e9e1f0f\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.16\",\n          \"f3405b218f3ec603a980690099c2cf5cbe0b2b059679c46b7e48f6fdc4da4092\"\n
        \         \"d831c8b52b2cc79bd2bbf6e9f57b4e8caa94b581f9f231261f0e2bbbf53dbb\",\n
        \         \"f4707f58642b54cbf80a9b5048a6ec0bd35d095716db12060cbf50585fb92379\"\n
        \         \"81052f7bb1583cd87bc8bfb55b733e890eb9c08ef0e880e9ba0d50ec9541\",\n
        \         \"6d9d39198b5fcb132d93151149d75991024ac22eb6eb2dc7c6058f6487564510\"\n
        \         \"2b95254e25e9f0ae4506d43c601c188a314f4bb4e038c81539416e105e8097fb\"\n
        \         \"695aab36fef516e6a33f36f7f95ad1ff15889025b1b2e81e1bf3b2de5ba9187c\"\n
        \         \"a96ceba9fcecef9c53e4943486185967cf7a6477c329f00ea695525bca99f2c7\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.17\",\n          \"6afadbe3da68d90285bb8f1e2129ffebb1c65b9588d6c2c04024c238b20c65d2\"\n
        \         \"aca5e38276000a0e6a0d0537efeef6d3e3d94fb9\",\n          \"ee176ea3cfd490b6c049d2e74c90c0ee7468520349b851653db058a1c3e956e0\"\n
        \         \"885f261b6e71cf1e623d3b9d1d56fa1367e47ff374ad39309ffa2e671128d5ab\"\n
        \         \"b4a61a5b0dc2db2c08\",\n          \"672fe95159a9893f3498b616c17b59da71da802febf7cd38110614a1b25d96aa\"\n
        \         \"8a74aaaa2a0f000ef8aca3b41ad161b62633f241319c33e4ecb7706ab3adc6a3\"\n
        \         \"efea22430f3f5c9c4ce5404eb8e75a109369c0aa0b7dd713bd8b77cca5f74bca\"\n
        \         \"5bc555696b68e1172db402501dcd2649685db0fd88c88360dacc6509ffa8dfc2\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.18\",\n          \"6d9f9b4bb123ba909553a7573a971f64b72524cfeb042de39215f650db612d66\"\n
        \         \"d7ae8605d0441954625fa98122330e92\",\n          \"7ff8685aecf340261390ad0742730cb639283014ab3773556c697f97ef621a4d\"\n
        \         \"cbf8ec6edec50d8ec9590adbaf2351ddfa0e52ea6ed18eb6c378f38085ae5ee4\"\n
        \         \"cc48c1891ba47b2010d5d43539\",\n          \"8d30655cf15bf10a469787c6a10e79254ff0bd11938bc60a81a758d93cf2a030\"\n
        \         \"2459fc2f0d7700b86dd6ed618383b44b458704ca11928e504f028efe5037172c\"\n
        \         \"3e51b837be6156de6a09c55597be74c97caa1debf314cd94b91b9f94cbf7640f\"\n
        \         \"86c26d1d6a0b104628b587114aa31d99f69cf95737932c0cb5333374dea07fac\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.19\",\n          \"33cccb597de95cedb8b657fcd8f88886da04c757935314\",\n
        \         \"5342f4684391cd74f5282db83141fff678f23a3ea652e0d427fb6ad976c5a710\"\n
        \         \"a6379577718947ac727b4d58a0b0bd207ae373a8b99ac8e251eb02458a9edc39\"\n
        \         \"52fb28426d18fda18a802bbf0a0b8b2cf25ca3a022f778c7f47fc530d0b7a5bc\"\n
        \         \"846eea9180f2\",\n          \"8c4a63d0731e2e71eb4615189a968b3e4a242856b2090245238b6645978f1ee8\"\n
        \         \"d79811062ebd2d1f3d523ae600e0e5a6e405c4e4b5a16e8dfb4924304b0d1ff4\"\n
        \         \"d641bf987fc6d41d3eb7cdc53134d0069cdb5afef7f8f9cac0ee5230b6f88622\"\n
        \         \"a84de52ad6f75047843706ca969742c58da77262ff1f128a664e51cd635e7115\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 2.20\",\n          \"19d6\",\n
        \         \"eaacb578aeabf69d4eaeeb36d04cd8a22e8fd7a25f0443a11e4e08b3ffac1e05\"\n
        \         \"421a876cca91318250befaffef9b2749dc402fad4fdb7c1b66aa5e089ff99f8b\"\n
        \         \"300cdc46f48f5648c9408b5f8b3f5a12e65050dcbc0d5343d63d58081921652d\"\n
        \         \"5bc82dd3d70e075d32d802c2976478fc9f0993dd0859c90e228e87\",\n          \"613bba5c190ad772e08c29076e2e9e5f12efc9292e3b5cee52c2697fb7b607dc\"\n
        \         \"72e82578e8b753bacadf23b47725213db89f8873fa79b914a4b5161efd9e15cf\"\n
        \         \"a8dd1effe89f8947a6f3826dc6bf53beca365b9381184562a79e21ca0e68ebf0\"\n
        \         \"ab82ae762b28c14365152ae0f54f2e9d14439a846b383f5e2c55efa7008597b5\"\n
        \       }\n      }\n    },\n    {\n      \"A 1024-bit RSA key pair\",\n      \"b93096d0261efe000b3d1704f5043160abd3eb566c61e53c76c401e2b65521bc\"\n
        \     \"12d481215183e8f46c2ca8d00ada5dfd04dcf7cf36cc581105d99d2a7dd94b56\"\n
        \     \"760a6564fee5e8aaeb0607e145196210a31b7ed8dd2af32d29d2bad6f15ffa5a\"\n
        \     \"11dc735cc36219021ee8d1eeed34639b5a91ac6a92674e183970c59d5b196d4b\",\n
        \     \"010001\",\n      \"0107ea61adeca5e9007c59134a7d38fc7af3103ad2c4a2bee39708befc83dc79\"\n
        \     \"b70dc97592db6df70fb3c49c2535fcfd9fc2ce7b055392e3eeb3e79793cc1b60\"\n
        \     \"153f4a0bff26be667bbcdbbf6e32afa6fd14837f3c79be44cb1c638ffa5c6b17\"\n
        \     \"709a96e127030bb1116decfde52bb040842a94d2e674f11751ecb903ee104845\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Encryption Example 3.1\",\n          \"44e56aa77bd935ac59a9bd323783e12742\",\n
        \         \"92eef619f04f52028f4cc3e5241f0aa0921b4d183c1f5bd68d86fbe9e7b7d0bb\"\n
        \         \"104ed1cae07ac7d80bfd9c1ceff8dcda1dcc6930f4c55137346bfd68c19d8797\"\n
        \         \"2f7f34cbae5663260feb79f760221cd67be066d5af0f073c0f2c439e8bcb7463\"\n
        \         \"ede44c8b150ebaf3298726c3\",\n          \"1591d1ce0fad66d86fd42efdb31e9a028a3157fb0914b247eb3d22d76f9769b0\"\n
        \         \"e19f6c064ca1b9890639ee6e37b709224d6b58ebb655ae4b69ed4cd75d812921\"\n
        \         \"17c06930d42ac4d42ea73514218f49ea07ca97436709683d67a8e9e808da69a5\"\n
        \         \"0b739c42eb0deb94a3498fc5450eb69ace23767661fedf34183a1b6f425dd6a0\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.2\",\n          \"a75738291fad5413957fa3b9f3b2caac9f5a\",\n
        \         \"3a191aaf45ed4c2589205d9cf6a30f07700e38be06256243018d23c684daece7\"\n
        \         \"e867e39d76c6b6f03543fc15af81bf84f964eaf3a95a4b808628fd51553899f8\"\n
        \         \"11c08c62609c514cfa1dbb78d5a5b33cc0b857fcb1eecc531b132634439059f5\"\n
        \         \"5a733e146e1ca1eb5a97f4\",\n          \"70aaf724396c1ac50edbbfe8341b087ba0ffe287605a8c3a8ccf85ab2ed2fe22\"\n
        \         \"159d62aa027476ebbf0770026d2d3b0c0d7734faaaa8d15e2ce51c85535c26b4\"\n
        \         \"150ad6346e3bfd38db5dacf752e75d75314054d167a96d819f3438a7bec4467f\"\n
        \         \"c560a694469485e8e78e47e4e8277ca7d3fd2ad94a30464c2457854725c61615\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.3\",\n          \"87312f787de0659750d602ac1102\",\n
        \         \"a229e3e8ef1caa66caf0d8acd8d66b9e41cc771f26e20f12ecc6e2aa3845513d\"\n
        \         \"d134f7c6e574f41b215d1d111756daf971ccf39ccdce781619d79720df918d33\"\n
        \         \"9c826dc049b390917c17ba0fb1302fff110a14dd2384902741f912b26a1adbe0\"\n
        \         \"ed1e8fd989710b403d27c4e018fb9b\",\n          \"033846d7664c8f926257c7fd3264484792ac7f9bc8758a7a16abb89fa3ccc4d1\"\n
        \         \"3a1eed88af7323bc3c74e23fdab50381894c8626dfd0ac8589d46234d3c35f18\"\n
        \         \"998179448431dc816fb63e55cf26d74a9d2a0932673cb4beb829cd7d49508848\"\n
        \         \"c6d0c00d5c70f7fb476770e40319237c786bf4e26c48d2cfd96ee362bf292825\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.4\",\n          \"9a2bca75e32649777b9f13ec30fe16bb8ab46d6d5e0c6463a73d8c3663adabc7\"\n
        \         \"23bde72a50765e7b300ef6b561dee88484880e4d612c\",\n          \"8bfae9222f75a06998ed6d9b149e8905cfc8db055a0e32acedf824d2f6b5b42b\"\n
        \         \"3aeac6a7104e144d5e4834280e36445ab850f3a6de164c2c790fe7d9d7bc7f9b\"\n
        \         \"dbe25217da2ded\",\n          \"6ec5f559c8a320d90d1eb5ef091c4d1255a24a6919410eb1df65a97b30cdd7fa\"\n
        \         \"e18e6512a027e976704b4fa044374393d501e2ba46186200ef0dddf19c757758\"\n
        \         \"e4679430bcd9fd119ea243b349dcf81c3432d31fba911ec6fc686eaadff6b9fd\"\n
        \         \"f53aa4c85a49a22a051c5f1807f3083b1b3e6117b4ef1208de0a8001dc291c4e\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.5\",\n          \"dfd63e6ec61e07275b8e37cc6369e1f3ec0bfc57a298b905ae5d0774e0f522e6\"\n
        \         \"759c7d116f8e8efe69450fa7a8389f81\",\n          \"c422377b89864b0df38b4f9c15f98a059655e1c9b0c709635ca60649d8d2475e\"\n
        \         \"e16cb127f6763912964e1984d6daad4d6abd04b04618b32e5325ba95eb5e76db\"\n
        \         \"d46d9fb59df07a081e956cb073\",\n          \"9e06cd91a44a9adea6a79803d3e6bbab17db1062b6510bed40075566749544c0\"\n
        \         \"3d7a78b137b0dc1e6626321fedafc20dcdbf7080f7f5bdd56744ce999f76705c\"\n
        \         \"4f5e6fa15f46c5ae508090dbbc85fb86899c9578608dfd778aa4a79d3d736354\"\n
        \         \"ccfbfa2c86f29a7a58453d757fd522f78408d9916b1bd0654bffe6e066baeb50\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.6\",\n          \"5d91fbc1a7ba79939b89a2408cce8ed4bb2666ddfe09d91921a0aa69096a9569\"\n
        \         \"92c21c\",\n          \"af07fea321eaa267af7f09806f9ea8b4cf135ed6f1432d51b28f92448709c2ee\"\n
        \         \"8aed7f73b6282cbfd37f82dba8723e5e5e0a81f590f82e2fa84c3bc00c9b9f91\"\n
        \         \"aa553b8b2c074bfecac2f55237f4cb70543aba499468cf6844c3\",\n          \"76050e2264220e10052c49b96cc8411e396a7a6e4aedb06b48fdb071de839b40\"\n
        \         \"1cac0c468de8d1ed0b568ce690e8037af5def6b3d2dbc7b5f2fade356c26cffc\"\n
        \         \"dd334033ea2c997792d930a72646125c0ee86a4dd843c824c7a52ac988c92e6c\"\n
        \         \"69b580761c49881f29dd8a76da793f432e7d5dc731a25e5bb50258d027395fbd\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.7\",\n          \"04edd83c65656a01\",\n
        \         \"88f9a27197f9f257fa81c0e30590b73e9e11c76bc89e08536b4b64a2506aeb33\"\n
        \         \"b45074730809a05c45b9bc95717369cf92c1bf986e53ba11238330fdc4e05ea1\"\n
        \         \"07334ab31106aebd9c6c29e501a57d997c01bbc1010bd52f0538b95159f39132\"\n
        \         \"0de6db23d8162cf146584c6e076c4eae862072eb5b\",\n          \"791b379148a83a034d312a82bbb37b111b40bcf6a337fde289b08e072e440319\"\n
        \         \"73ff9d0c27f70d64a8eafc6eb5f8eb4e52e2c4197ecfa545ed63ae9a128379d3\"\n
        \         \"f562a18fe3ad14052767f0541b90168185cbb78db60381c092bc23e1aa05b408\"\n
        \         \"92f9a116e625cb148b560742cc1278c4d21a4a7d37f6982aee27f2a4c0c573d2\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.8\",\n          \"3f7eea781b77d85fe371b3e9373e7b69217d3150a02d8958de\",\n
        \         \"4999c64cbfa38524adcab66f64454d36fbfcb2986e1fa4753a0e03889ff06ee1\"\n
        \         \"600eee23be53a97442b42c69621866632e4a6b6a1c710573261d71f38abf9e52\"\n
        \         \"49ddc8e1b77b3f126ba08815c4fe63314f9b9e8e7a40c7fc72862520ed49d412\"\n
        \         \"59ab2e0c\",\n          \"74fd8b9856d7576e0f1287e0e9085a3801e6b6774db733541debd39e72cfa829\"\n
        \         \"1fec27018c9f5305a44ccb5a3cb591fed2e6a1d1d85caaa74dc23759d6665a45\"\n
        \         \"70a637f3ab304b7661313b96713c7b7e49773133dd5d4ef9d29a1af712001502\"\n
        \         \"8daab3df042c562620aa49d2c014414dfb1577d719a9588264712de3bf4a7679\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.9\",\n          \"a38508d9460c63f41581a8869a75824b14f5c650322999dc411350d0d4e8624f\"\n
        \         \"f09ceb00d3bedc5d762a40c9398004\",\n          \"6a0a288a1e67430c666aebea44b582a90969cc01e90aae1053ce55eeb9879bcc\"\n
        \         \"62253915e922f1096667bda02a14e70747b3593524c2848547d2114d1d0cdcb9\"\n
        \         \"7eb4df455bbac9b0cc290839b73a\",\n          \"a67757808f5abdc81edb7f692f9fb852f1a1661c4a009805c44b216cd3b1322b\"\n
        \         \"bb25d1458e31b0f07d65505759c4b4147f23cbee2af4a1a5938a068ce9c5323f\"\n
        \         \"f53f4b392e1250d037b31e6281dcdfb96bf4bfeaa147f096c784c92f4ac57091\"\n
        \         \"1228025029c3b523303fe8227e8b2cc0ef157014cb6731aac09bfe6ffa18eaf6\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.10\",\n          \"f78405236a9eb557aacec6007dbc4c0ede78ed12b04c82888a82c213\",\n
        \         \"86f0723b3168e2aeace9ec2e95fda6e6d6fc8d6294556566399d7311e799faa9\"\n
        \         \"b1ee1f032ab2e534a91fbcd07c8a7d04a9b485f31e0723fd29eb2188069d9bbd\"\n
        \         \"7629dc6e3fc89be604bcf00c52fa8e1d6c62555fd1f60cec02d4d961d828dabc\"\n
        \         \"4a\",\n          \"6e8d2fb0b2eef82fc110cee0a9d3842f2a058a24407fa11ba905d1aa50e8cc12\"\n
        \         \"decc073dbd08a8c70518ef25db96fda2411cca08728788956f73dfa120e0ea60\"\n
        \         \"5bffc93b43a441a43d0eaa3ff073e6982eef5296390607e25a588a398255ba00\"\n
        \         \"5a485e6e732e3a1920cd43a390fb66d5428dfd628974b8aff2f0602da578d625\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.11\",\n          \"561d27c1d3f6d5d1a643aa47e55d78eb00f32d42896a34e0c1d71bc3a5457c92\"\n
        \         \"05bed13b984c5259\",\n          \"98176e1d67a2462f5dc1bfa6e0759542104ac14811d3187938250455c65e4aaa\"\n
        \         \"7632bd2d1d752e1f34c53cab267676a78c10c998e773fd8ffe35c867c443bef7\"\n
        \         \"9865aa2da2915a85c7026323693e454d8ab32a7715\",\n          \"0bc04783c692447a3de61f53b72f7aa410316dd509a6f49e3aba56ad1ff86ebe\"\n
        \         \"9e6366e17e51450076bea371d4c689cd61495cd8fa29c0e87b6dbfa8e386c2e8\"\n
        \         \"20e4c742a487e89b275a2186e23840be9c02527ba717e9e60b5bf417711df34d\"\n
        \         \"7b8e2d12bceb859385fa001d4b4bffbbc0edefbd4002418468c566fdf6b83509\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.12\",\n          \"eb5f8c0dc9d901061b82aeff8d67d8bffc0c047ecc4aa346b23bdba62a87e9dc\"\n
        \         \"770b11695fbf1902f24b66ceab\",\n          \"7482770f3cf57edb8140ebc33a028245ee0648520689a50e33f5f467f6d1e432\"\n
        \         \"4e1c50c899e5ad2c46c97f8120d1c72239d6a82d8f8ebc80b973eea8c5456929\"\n
        \         \"504514b4b15662844f295062f21ebd92\",\n          \"b8404354a381b7c2abe5f72825f3d315bdace6c3cfbd88b89768612005197c61\"\n
        \         \"663883f2c2574f995ea6f94eb34f276862b33f58a8839223706be1c1ff472305\"\n
        \         \"f11ba9562a0eb012f1aaf85c22e88f2fdfeaff8633d3cfeb5f764f4228920de3\"\n
        \         \"0c6bde2cb4e8f03d90ed548f648500351a5f41df74ad65e8c3bee9505a7d70e1\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.13\",\n          \"5a7f0eaebae49cf57c475a6da67943a7d3046e3f7c7d50b09a8098b544693968\"\n
        \         \"93cfc0b2f08f6c2bff235051575e6e56\",\n          \"fb084886db3798d2b5bb35a3b1d3af4fdfc0456cbc797b9640d8c44a0e034e40\"\n
        \         \"372b34fc7c1e8b66011b4ecdfaec6ee4cdc828cb1ab491274ac1e39f67587a55\"\n
        \         \"476709b4023fc569cbe8b4fd4b\",\n          \"07784ecb8cc5ba02d207bab055c0e55d10a9b94270cca250ee75fa1b5ae190b3\"\n
        \         \"3b9696eb2ec972b26a0e9423af16aa3789176276060a76400321117482963403\"\n
        \         \"4f9712c9171017f2fb213f25c146c2651f89440ca536e533e305cc6b0113398f\"\n
        \         \"61b463b073e1be05073e9d64bcaeea5444b820c6abf3465430ff4de4a8bc0e75\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.14\",\n          \"f91c71af5aeacae179e16e87c9023ba94d84d7516cec6c3989801fb3e7add064\"\n
        \         \"bddf928b5000940bbde539d623379c\",\n          \"deb260258be2c853352157b06526b143ba133c4f49bf3df2c050ecb2c9ca3253\"\n
        \         \"11b3c3e3d88df6c24a894eab63745b6253e3c46bca171a26a4f2fc0ab62b8a2e\"\n
        \         \"63a018eb47018cab951f59f0203a\",\n          \"0dffff519710c9eadc533b108a4c2974fe531891a34107a67427935ba720cdc6\"\n
        \         \"f6ee029a1b036861db1404c5864990541fa2421301a7b248cb11f365b6a4aa94\"\n
        \         \"6f2231cbb14732b01aa4a60bcbe520ec6c3853a6958a93c5b68b85d4bc3d8415\"\n
        \         \"ef8b1d4f63038f4d942ca6bc7a38251f15a4e33b189c250bcfbc03156e4f9211\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.15\",\n          \"0790c081f361c95b59d527d3cb50710e66e27259501025ed3f20f30c\",\n
        \         \"fcfc2d56cb926d905db36e1e2eff1fbb75d653517f59e86f71bc4bc55726f088\"\n
        \         \"b821624483b3e29ac21a49bd859134908e6c0ec1a0dc8079930144120d1f6bf9\"\n
        \         \"3bc627b99969b2afe21a7de10d96f6ef43c567b5e238385cc11a5a2a13e17855\"\n
        \         \"8b\",\n          \"7f0e6b342d6a135466be4173381ac04abaab7e14fdcf51018987e96967169aea\"\n
        \         \"977803ebb3242ae9adb46ff51120934b39214631b03f5af5bdea1cacd328addc\"\n
        \         \"d40a3a29966bf98bd7c8c6fd0f4e8b972e2da10c6cc55205867f3904ed60f5b5\"\n
        \         \"bedf7c3b3c7dd5f387548f40056702ea720176dce206d413d7423f943fcdf639\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.16\",\n          \"93c41a1adda8f69360f41a58eca0b55ecb37a6a900fbc7dacd9ca399c23d3172\"\n
        \         \"615377ac0cc6b0ed43bf597f21cd259d8f80887b159d96d66161d5589b95f1fe\",\n
        \         \"991a2a7c061c23a8ebc9489abc1b4a64a5d4e838d9fcba4288c01fead66d59f4\"\n
        \         \"9636e4a8d7524cb89d7adc7af3f61ae6b39b588fb77eb7022362ffd26b\",\n
        \         \"7e54a432f525c52333abe3bb45487e039af94dd3efc35844dd8e835ee1006178\"\n
        \         \"e24dcd19fc07667b4a34f3bd771d09a7e29f8ca17e88d029b90ddb5f2813be99\"\n
        \         \"000d59f5432c466a84287577204bf7659739276998305747667fafd8029cdcbb\"\n
        \         \"5918393c2cfce4d84a9220ea3e3819725336f25fee8e085debed3332d5ddf1ee\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.17\",\n          \"9e2a7b3774b11e62b6490b5651a0c18e092e9fab8b2284ae4643bec36b265e5b\"\n
        \         \"a3c51ac385b2c73d220b2dc2e10b0d690f67945a0c42b3bd09d0a8a7\",\n
        \         \"a18bfb74f6debcedcfb47c7d5dbf106e774d7ef6638ec3821869cd2ed62dd532\"\n
        \         \"5f4e5733b8bfd5fafc43e4164e78d438994d85337d7f0d38f0ea3ba37f4f41b6\"\n
        \         \"a7\",\n          \"18c88aee2536d942f7622a644fad6fecd33228c7aea0cada0e531f4ccbf1c1f2\"\n
        \         \"69cc958629a43b9752fcaf2bf953ec9f7ef4bb0e62d128e0cf4babe92c6d9284\"\n
        \         \"9e9838dd88e2b468bdcefc04a9e4cb55e2a518ca259f9e81a49f28df34761f9d\"\n
        \         \"ea2e70595662626cf96ac05a7c8b103333e906e132639b65a766f4092c8ca078\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.18\",\n          \"0ac52d4001f25c2c9db91ce50bddf0d5919e19962e83b07cb79adb00436e1366\"\n
        \         \"b0aa8f3fd1ee796b23c8bc560ccfa4bcbdb1f8404dd6f7551520d7d9e2\",\n
        \         \"22ffdcfec6f06b1bbd1453977043a34eddf8594da022130914975542f2f00e98\"\n
        \         \"f31e0dd0c48f7ee5f09d6a527121ad23371c6cd0e0790eb7308bbb0896dd590d\",\n
        \         \"b26957c562294de1f39324b1cd803cfc39fcee2d3c9d1379f8a112079d694368\"\n
        \         \"f55503c2094d988a8a5b5ac549be1cf55316045df5b6f633a4ef1e1f019ba1b5\"\n
        \         \"42bf0a87fa3e5ca3f6b61cc8566128a0fa418b0825c90ec2f1ec74e587cd8057\"\n
        \         \"d952967ac4521ccdbf6326f350930093826d2efa058ed64415374db3204885ca\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.19\",\n          \"a8003462f806b7f661fb664632\",\n
        \         \"c743f4a6da03ab2de5a731cb88d8ca9b61c7319a5f8bf9d237877a05d0f368c3\"\n
        \         \"608a052ac6ce13731795475542ea16a862913d0432f08bd8c8b6ff8195691fee\"\n
        \         \"5ed142fb9eca9467524bd3b5fa5a4ac6143b0d38250ae621d439909cbe3a6b5c\"\n
        \         \"01fbea2d7a3f1ae41d61fdd64764149f\",\n          \"b738e1c429f8fc0682faadc8ca87ed8f16df930faf43b1991aac71d88f264c0d\"\n
        \         \"829ac03d23c25fc5f3e85dd302cb7b1533e68c2416c51a79bbcc7c29b07e2e0e\"\n
        \         \"23c6f2df0d0781917eba1a5708628eed8a15b3b184af700d0dabb14df60b09ba\"\n
        \         \"d2127df180f4d6f729658760d633c7775a7b596d09d903491f21096c34c3953b\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 3.20\",\n          \"ef32\",\n
        \         \"4399cb044a60076d18ccb34e8b078c818ea77f63b0a43abdecc5778193a8bbba\"\n
        \         \"5d56d0fc4e82a211516bbdef44e7f4e7febbe1e1923c999a7e961cd6ee1c416a\"\n
        \         \"8596e24b6383a469935f33d156fd5bcfdbd427460d486683061e4105f35b5e75\"\n
        \         \"2320155c7f69ad8eb402cc1106e0289a9b4965823e7a51cfe4d26d\",\n          \"131b625e86e6cd1e08acf195d93cd3a0dc8ba9e2dcd6fc996be21724af1790b6\"\n
        \         \"88d79d3ea9a95098cabbe8a5d48592e4746b0ed2af7caf89b7b6152e3824d915\"\n
        \         \"89eeec3375c71a899748703acc1e8d1de471ea7528040b795f299e668cec9f5a\"\n
        \         \"f3eb48f98c0d852067773e101fa24aeb6b404dafb42e7a63b04a66bd0e9f9c94\"\n
        \       }\n      }\n    },\n    {\n      \"A 1024-bit RSA key pair\",\n      \"e9f25e48140b5dcf4699e3037fa834f0c78b16735ff79f6b18ae60b51848d306\"\n
        \     \"99ec646d857f15770e2c7a0c0c900fb6040b5f34484e9cf5ceda23d5b250ef93\"\n
        \     \"286f011e9a5bf9e542e5c9f442de5458e23e41d1d9cd9f0ce1cf2008d3ea4d80\"\n
        \     \"32e854cffcdf5f698d1316e029c488fcbb2be29a4e7bfb8e6e81d342123ee75b\",\n
        \     \"010001\",\n      \"45458868445327486049e1bfdff56113a8aa45100dab074fd16394ec1a9039b8\"\n
        \     \"1b2cb581fe84e648b5f032854dd4fc69f361a0a39d0376138cd7e7c37784e2a2\"\n
        \     \"f9d4f26684cc5cc9f512ba6215ebd232f9aa3da469db43da1c0646e75b33aac5\"\n
        \     \"70081b5b2e96eab7546acf931785aa2fd1824cbe2c5f9bf56334ec1566d1cf45\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Encryption Example 4.1\",\n          \"ca24721c88e04774f415b4c46ca0fc26d5bb53aafb1992f6de785c763a\",\n
        \         \"fc7f85c1386dc43c3a2846e4dae4d9548054459da23182f984079b071fdb5e6d\"\n
        \         \"9d0fa0b22e3de636ee5b253a42f95eed4422956c70f48dfecf0e555b05157b15\"\n
        \         \"6a55c8bc658cd3b5397fab78d711564e89c7e6248aa06ad105c40c31c4b1997d\",\n
        \         \"e395ff1fa552fc2e79c4a53558df1400f8704eb36cf7cb051bab93150ac6396a\"\n
        \         \"dd63669b04248b9db36a9c94f5198c6e5d9a17d474edb20345fd6a78b51de816\"\n
        \         \"6e98cab5b6d16568b41a8e93e4838865d4bd9c51cde8dfbeeea5882b09dc70bc\"\n
        \         \"9fe749b5d24bb7ca511db2c2b829a7c9146c774eb0bd7aafdc5c38d3d7cd5827\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.2\",\n          \"25c7bc4cb243ac1f0740869cd26ba826f355d477c4aa6cbe543addea844444f4\"\n
        \         \"1c3592bb3da7d421\",\n          \"272be3fbcc7614996f1ac0e0a5e2690623bb0b6970fcde0b6f4558ee623426fa\"\n
        \         \"60add6c5a8a10d4a3751501536fe8a45c542f627f4229fa12457c11331137205\"\n
        \         \"552b014c91b1c4e09e459678340a74c285e26aefb9\",\n          \"7650d6f81aef5c0e320ec77fc89b7c3e6183850d10c98ad7e9feea47e38cfb37\"\n
        \         \"a025db421fb6d005809e38bb3c51951da9d9433ba7efb17de7d8fe3e9b9ce455\"\n
        \         \"5374ea663a1b5da4a092294ce966985655e2ddd20d7de3aa3537058cfd7e7a7b\"\n
        \         \"97fcdd9853792ba83fcc89074a8d0f3cefdf985b9e78aebfb05967364f2411cd\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.3\",\n          \"cf007ebd23da06971af79aa634d5d25505bd5229\",\n
        \         \"9cf7237e28a86e418d664fe3be7ae30eeb955a3f7102b27d5fa096749c7fc206\"\n
        \         \"4c880bf3d30eaa981fce3986a910feeae184c01025048ba6794896fccff74a59\"\n
        \         \"42f962f3e36371f6b3551829434ad8d00a2c597cf6d451eace88868538a480f6\"\n
        \         \"8ce68fc6856ebb57dc\",\n          \"b63252af2e8ea271e706fd683d0f8c10b3f4a345c4f5b6785ba9329f446243c6\"\n
        \         \"f369e30ea8fb11084db97988e9c3874b34d6fd08717d9e810e9c224360346bec\"\n
        \         \"cd3e0e53d10b1ed458e64f3fb092f48cb66ae03b64f6aa9c63bd279fae4c33f4\"\n
        \         \"2a9d73bb39118eb87d2512b9d936a27ed2e449607dbf0e3e223a53952635599c\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.4\",\n          \"efda79e9c336c234ff37b4f58fdbd31af3675b3d2b105eafbead4bbbfff54e68\"\n
        \         \"6ab5\",\n          \"30c20943f1bfc42361d4d22f51a8d786cb2d0dd5ff7d705b3028601811293dbe\"\n
        \         \"5d72c3559710ce0ae95d2f16b239a4ac8445537d488e3e6d2cf5b7a64c06c375\"\n
        \         \"6e11606763633edbddbf26bee6511842d2752dcd88896cb8558a87\",\n          \"bb91b2f6f4331d64d0736a2ea60329aa16c2ed7a4d5ca8d784e6304ce4844c71\"\n
        \         \"58f822d2af29c890977d75a935e43d93b5be10c1d44fa00ce28e75f527bd84a3\"\n
        \         \"be5af5bee94567c55e15ee3e93426ad8d50f064c5793ca38c43a70c5f560740b\"\n
        \         \"16eea16b7f13415f751b3fdb877a88293321f50fffa6f1249496c2b027a218ed\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.5\",\n          \"4a01fc13c1d86fe7b2fdc792f5280f875adc5ae99ff911d02c8c003d39bbee54\"\n
        \         \"b851efa34b4131be520d8100ef62c25a4b517e9b\",\n          \"be6ba5d11df1bfcb2b846771b6c9dfc9334da86c4b7c25439318e8ba8e47492b\"\n
        \         \"cd511bd4cae1677d312ca22a9457cc81d90e4d524ba2265f0fbca18e3c3f482d\"\n
        \         \"caa788332239346d6f\",\n          \"16bfcfb42d28b9d16270cd138dc3ca6442956a41825ed0230b71091613333a9e\"\n
        \         \"7c52ce8cc4b0bf29107941a0d72cc34afd0048bbf4c716c73aa9b0c78d37c193\"\n
        \         \"719ebe03a9317453b553d4f5b385d141fc3b0ed19b96dc350dfd4d12e3dd03ff\"\n
        \         \"1839d4782c6dfd5fdf5971f3ddb0e312a91606f31373020db3a76d04fd6d65d6\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.6\",\n          \"7ab06e196922c0\",\n
        \         \"de0d6033c1e96b5fd831214f30d81b8fd9a2693e5e8a36eaffd039e7473c28ee\"\n
        \         \"43a3916c78c9a112958a94ce671ccc40d97ed4187a3fffa0dc129d88a8b8c496\"\n
        \         \"6ea394a910896125f54dafbb3b17b9fa10c48220096490c6f75be25183e9984d\"\n
        \         \"f5e4d7ebf9475d11ea39335ac72f93d333bd74221942\",\n          \"541823f905576da142e265d89045ab6620fd1a74c9533ada4bc7b43d95629a31\"\n
        \         \"186f4e89892083d2549b0e638bdfc0d27e14ec18c45ca35861dfe612a3a1edaa\"\n
        \         \"fc72fb4681a99ea6e648be8962f1561e750d1449f23f430af9307225544d8a8b\"\n
        \         \"8965af5dd18cb78953ce6d16d85eb211af0c6468a2af9f72e78661b0fcaa4815\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.7\",\n          \"9ada9c10b8ae22\",\n
        \         \"cc2343724ac50ee54708fc5fd03f09a1cc1222a44bcd4403877c6bde86bf43e4\"\n
        \         \"2c1084f6efff20fac0acc31eca17c738d46868736552fd2f7e93b8222561054e\"\n
        \         \"6dadc315604eaf8f77f05dd8583a93bf03cb9cc2139bc419bb10e9b201b2a7e1\"\n
        \         \"8b03790cc83ed605d6d5663305347139c75e1ae2a56a\",\n          \"9f54d0dea05a5d0072235bc46793cfc47b006daaac0241c7e66d333e23c3cf97\"\n
        \         \"63b61d9eeaddd83f5d7f0aa97d16c7699255cf7e4872b6a0079562d2607d6440\"\n
        \         \"d7ed37c6713ce96643a441f8395564d26adea5823a4942da4ab8e47bed5881b9\"\n
        \         \"d184057957df6539e436da35e30a253af12d541d4b0ef83c5ef3c135ab95949a\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.8\",\n          \"d8126f4a8878978293117651b30e7922d14acf\",\n
        \         \"adf9b0a9152f0e6ec6f4395971ad403f02e7fa98f815560afaffa7cad5b4474b\"\n
        \         \"6ece65edabe27ec24a0aa473ed75a61f5c2490a536b1a4df7b03417737c534e1\"\n
        \         \"d45bf72694386bee820c48dbd18317bd617c04b6a417e30eed79588dc23fd4db\"\n
        \         \"a13744b4b2aa5af80a8a\",\n          \"3b2b85edfcd7c7c27bdedee1c28ab6187abf1c96d945300792cf8af197c2f9a3\"\n
        \         \"91b48b8332cfde7e4c7dc34c4230295692cefda5efb25735492b9ff784c7bae7\"\n
        \         \"3511c618e3aa7bc87bc313f26709a8ea4ad73a349ab9e5ad826c96ad0eca97e3\"\n
        \         \"13286bccbf8e33c91f036839b9948b4eb0c38e213ef47f77661a27f8cfe49903\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.9\",\n          \"f5df01afe6a922518b3f4b80cd4fca73b97bab61716e27d251bd465f4b35a1a2\"\n
        \         \"32e2da00901c294bf22350ce490d099f642b5375612db63ba1f2\",\n          \"6bf2810db8fb269398412dbb88060282d45fbe9627337e5434261a5dbc193ad6\"\n
        \         \"18c11f7bdec1de2505f86037fc1851bf6fb49d2360627347499efc98e29205da\"\n
        \         \"906d32\",\n          \"4012fcc5cfb978def88fb8f8174aa5b4a30775ac4559f0b2f3d3b4389b828a79\"\n
        \         \"d1402510c9a0337d489d1182ab31c838ac7c80b748609a2aa537da7acc3a4a7a\"\n
        \         \"31d2ad252bfd59280b3d1813a26f93c59ee8c5ee688718f4278393fece323a9d\"\n
        \         \"ff833755e89ac8ee1fa2904bf24cdf4f01e6eaedb6a8ef01f407bef3309f0339\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.10\",\n          \"a3823faf\",\n
        \         \"94f670fd82f6913275eea4c67116caaabd33578cf84d22636438a6fd7ecfeefc\"\n
        \         \"0b187decf793891c6e4cfc52b567d872bffbee0a67472a1a48c0f1ba598ad825\"\n
        \         \"8901c56a5592f141147e81339d747e0632def00d3dbee95c4e4321cc25b53114\"\n
        \         \"47a302c534929cf7e534f9ae67f41e01e22a3d7ce41b3b3135\",\n          \"7b602542b64f0a1e0ec2aa01cbed377e331ea3ff86f356fb7a5883764be4cbf7\"\n
        \         \"d0754c5829643136f2572336a23f15411d838514a1438724ad7409e8ec8fe263\"\n
        \         \"41aeea5668345d0d823fb5c21df459e8bf7c15b80b072e5f8a8465a44aa9d09d\"\n
        \         \"825c0315a0ecd2d649702b109be8fe35eb22843a20e7fd874f1c6b46a80b68df\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.11\",\n          \"75b9a4a0bb2d4643e478f654f2cc1a8c1bb46719760d4541a8a733f33b713d32\"\n
        \         \"c60bfd35f16174834847e8812cbd7f06ce7289f372c58230f2b001459b5d\",\n
        \         \"49a73deb93e3f1beaaad3a199a70569e099afacaf7a75fc4ce648fa82eaf2a0f\"\n
        \         \"e411d264fe45f74525c91f3c751017f80a02babff35799626f2b8ddb9f3691\",\n
        \         \"e5aee70de862723c5173dffbf6926c3d3316d5909cf5a1d663e680ab2bb576e3\"\n
        \         \"5b93fd432743a18e8db4faa332f44668a3d19e5e695732f84bbd86d0dded7665\"\n
        \         \"b70b97632eabe2364cafef7b74dcd1bfbd625e2bbbf6654cc0266181ac0a757c\"\n
        \         \"3fbabd430ae86371eb56af610f77cf2fff6e248f8c579160b91dcecc0d202b50\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.12\",\n          \"1506eb3491785aa72106bf6c85d01002046d1c16d435dd4e7c4b7e8e90dddf16\"\n
        \         \"332f94f4b835d0e4ad55d83a81b35c54b679d3cf\",\n          \"f66e6a8475844086e28477229746801d4350d9ad0768f3c3d8faa8107d95fb20\"\n
        \         \"5e4ba8c64b738e54e5ac0dfeab996d61125c2679807259bc9e47d8bdd2c04095\"\n
        \         \"05448bbf872bf6647a\",\n          \"d1fa3952cc6145ff771b6c5a68275bbc22d00392036617375f0c2bec3e288583\"\n
        \         \"ecfdc6df6a828de37f77c556a8cbc4d44336e8d2e30587e331587317e97b05a3\"\n
        \         \"fd78025b2d496b3bbeeb6c725d9ea561a732288233d68b79497fb0b6fee0a6b6\"\n
        \         \"8ac313661b4b654739f918f6fd3bffc17c1df41f014495d55f9590147b82d15d\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.13\",\n          \"9e3e\",\n
        \         \"9b3ddf17cd74e76c69b5ca3a010a0e0fbd1705d69c3074353be7d3c0c205f099\"\n
        \         \"c7a810b7a1ade09f5a036bb769eff53a53d4c6f87152922d9a7b86edeba37237\"\n
        \         \"d7f1734d9d9739383f4880af3ad68887e0fe7c87a174fb3238b1e51ead2a8434\"\n
        \         \"40c2b27f22dda4228dce70f91c98d471a8744d2765557958810244\",\n          \"42126b492a1e7cc03395b2ac7033cf6a6736b12e76825a173b9e011ae8bfed44\"\n
        \         \"fecb8d9f58cce19911fe42d455e249200932a9b68fe2e419bc639c1178d11ffb\"\n
        \         \"dbd9955d459f5ecfe09020098e297b8e91485e94bf11e7bf77edf5a27011c82b\"\n
        \         \"927365a12c9c77c7e49bb7fe2f613339de3f512087795386ca585a7024782790\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.14\",\n          \"70aa78a4d37f74c181aa27407f2f9fe663a91b16be9bea6fc612887f\",\n
        \         \"d0fd16c0f0d7909a3886170811e44f24fadf94ff17039a5684a09b24e1933fa0\"\n
        \         \"c47151635d757b73c23ff39101cbe2529a63a7f3a0195b6e47510711de171a16\"\n
        \         \"56c9eab3cf82d1c65226b58fd0fe58ec3196247f34b1a0552702dc037512c681\"\n
        \         \"04\",\n          \"9536d47e1d687f1f24996cb46ce946ae54d4a149b34b5bc34443a201518387f4\"\n
        \         \"b6381837cb7e4b0a4475137042f1448c1ea41515ef31c2fcbf62e7e95867b674\"\n
        \         \"ac230aed9c7d8d61c52752b2fc2a0bbafc77b31c514930de9823b438b6faaa40\"\n
        \         \"d25531033c66483fa0023af21da64fcc8bb8c5d52d3f6c4380f1d608d8c0118f\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.15\",\n          \"0116a4617773b6ddb219161c4fd071937bbb0715cc627c17b8e75280d99cdd41\"\n
        \         \"6ea5cdfa0906b9af0a20cd477fdcad1415a19a9d1b96fdc3c0edb9\",\n          \"86b158609bfa08a8ede4ef3f23e12eb50d245574264d764d871267db8a9524ea\"\n
        \         \"3fa2e3845ffc291bda989989bf715aa2b08c49798a819f6858d9fa35f94df3c7\"\n
        \         \"e086\",\n          \"74a3df385d20877bca9dbcebca2e532c6abe9562d6817be16e118a60f4ab0a1a\"\n
        \         \"c0a8466653a8f8170e35fce14b449cd59f558e020a898894bd2a717558e6650f\"\n
        \         \"3a128570d8c169a7746663c1d7ef62145f4b75c5feb6386fdb853394c659a91a\"\n
        \         \"a2aae03bef9113dd4928ff28b380927ad1ba4e8a37edd172efe8e9eabb614d83\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.16\",\n          \"15c5fcc7547d63761f6af1f26eed9be8134f9f92127e76b03a33a97b9be3f78b\"\n
        \         \"2e22fc7c850699a15c0e0ecebe2a71805f024b9388a3bdb2b360d69c5c0c46\",\n
        \         \"5b4f17a9de91737a7fe854e8a176be5a0a16fc1042cb870cc01892fcd38ea75b\"\n
        \         \"073c0ffa014f96a358e3aa5e73eaf8a91fce75470bde64e87ab891ba3bf2\",\n
        \         \"7362d7398d0c251f835817e47937a9255836ca0230457ff608b078d50931a880\"\n
        \         \"33ea7650811265f8e268b53315d8438e52a6a4b1b3895d30c3dae11a3b8ea8c3\"\n
        \         \"0f05e9d71def46d4511192a10f54218d3936cb17983a1e7aff18188939b94692\"\n
        \         \"7649b0fc4f7bbfcbfc14e1c0eca07d00c903db78169c50ef0a38f1da19ae4459\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.17\",\n          \"7cad18f175138742285e9035d13ad41fc3a85210e1544e24dea3fcfe66\",\n
        \         \"9a06ca10fcc6610e77dff90dd176f82e3f96e4a9d7ab872c748ed422f34b3348\"\n
        \         \"619440f0aaa22a669851dac8894a8efa34ea2c2da5e95869e0adc005a49ba458\"\n
        \         \"18caa474115c3449966a85c418fcaa8f45630efe0b1b4d3d69be1bc0068aa799\",\n
        \         \"1efad41446b91fdadd8b80619f68273668b7585fd91f3449ec85c242d0849e4a\"\n
        \         \"53a5977b61aa40d12cc485ec7e4ff20f988691cb9d73af46ea376afc69ba2233\"\n
        \         \"86e9f15d032697da75e2f952be2af062e8246cf749b89c4cbcd64e23f882bb55\"\n
        \         \"3c3ce305203622b5a7397735a634aab0d17ef9b5559ddd34f4872b56e7986efc\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.18\",\n          \"fd98c38be3193070b5c4334b11c25b334a44\",\n
        \         \"f357911103e987d1a9f15cc2e52f42390e0faa5002c4f17d40a4af50f31a2317\"\n
        \         \"50e7af61d9afdf9caa3861a20dc721895861fb118e088d3218e6fb3556b162d6\"\n
        \         \"bd67911dbc94219842658272a5d49bf5abb4a0879495c5e6e686285929a55a36\"\n
        \         \"8f524c14a40b0c61380d0e\",\n          \"deae183b56c3fb3841ea574234acd30aff00d0051f57803758a4714abcbedcda\"\n
        \         \"8bd1a48a980153df896b1376aa4b45958013d619be7eaff6c1a675e292efc3f4\"\n
        \         \"393ddbdeab47e890a78cef69002449578748906c1021b891b943d818d3a61e67\"\n
        \         \"a315612d4cb1cf197ce5dfabefdaeb590b8e8c73685e747e59a395c845c5d0c3\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.19\",\n          \"9653d79469f05d401965a95ce874fa225ec47974e8d06841c13b4785e00d547f\"\n
        \         \"9d3144c3879e6ccdaf787aefc2f8452a4a3c884e38ee\",\n          \"855d6d1512e543a45d3a9aa9685d5dfda70479ba39526364141bb63627458985\"\n
        \         \"71200122f4bc82c6224345c69d3ef542f123bde3015b60c4c0ffb98d630131ae\"\n
        \         \"e81fe4a0b01538\",\n          \"69ca62e29a5bdb4b04e24016212c259140a60cfa81eb6693bffafc9f600dce10\"\n
        \         \"822a007b6ade93facda1b2b165b557760f0a675ac9bcb206b964fb90cf6a2cf9\"\n
        \         \"9f186b36d2eb991d8253a0754f9cc2d72de549abae9094f5a86ce1db494dbb6e\"\n
        \         \"516286715b3dd40559b3107b9524b729ac654cfb40f9ab35d034e027197cbc36\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 4.20\",\n          \"0bdf3fce8e487db22d0760ab711586ca8e459c394ff8b1a1867067a9315199a8\"\n
        \         \"012474b0f90dcc87cb\",\n          \"c9b78dce9dfd7f0404ff982e06b59650bafe31ea19bc1f2e1f3989f4cefce46f\"\n
        \         \"c652423db3c99d92a8fb58f3ee393d555b7684889a4bf815a13e3b9bf2437140\"\n
        \         \"66b9075890675047f17e935bdcf0e66fcfe39bcf\",\n          \"43ad3e625fb17215578bef2f465faa72ae694383369ff7aa151201a3f259c8d8\"\n
        \         \"ce8c16bd25522149f666e8d692a0795ea71569d2881f9707085d3f59bdfa2873\"\n
        \         \"66d7f5a3f76ea5dc109fcb03302da0b78699713e0d3009584f97176c1b9ba63e\"\n
        \         \"80cfa8fd4c013d74b5fade8472d52c11e2e93681ba19d353d31ce6fa3c0ab60d\"\n
        \       }\n      }\n    },\n    {\n      \"A 1024-bit RSA key pair\",\n      \"ab29d49cdc925c69cae75292fc03620373c6fb36d3c249dd5bb50f881a4c9389\"\n
        \     \"afe73e8c56b8d667a5eaf2b5714adaf4caa006a49ac4bd4b91d545cf3c10009d\"\n
        \     \"318a9de0f3bbd8384e8c7e96ca1595e32a7041d168caa73443b885bf7f614ae1\"\n
        \     \"212e3b5adda29dfad501b8b1a81c3f48a456e133ad52da2abce5d6e782f275c9\",\n
        \     \"010001\",\n      \"077bb273323486ec4c25ed6706341aa8a67aec58430d533fe586c6b94f570a3b\"\n
        \     \"4290c45c0bdd94681f29a4b7588eea8039cca1c5b80b8270279dd0a9c5093911\"\n
        \     \"93e3d5c25c1075c4a1d3dc3274066dab817fb51b16bc267ed9a9980ffbc09285\"\n
        \     \"d97f112f152695e6e09cae72bb55066cb9dbd098a75ceb47b46272005c6bd215\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Encryption Example 5.1\",\n          \"5dc9f8b12dc812a09aa4b06dfcb57e1d2e8d1c7d2c076b25d5c18edbc046bd63\"\n
        \         \"c7ca4a599f18de26f3be738cc28d16672c006e4d9c\",\n          \"43d605a5740a970b323727af352a1bd48de69d9505e22c2fad030c3b84b6dea2\"\n
        \         \"d22f916406a7693cf506c2d251886f02203e3f7655a30a6837af8a8cbec7b5c9\"\n
        \         \"2fc04c8c18dfe9d3\",\n          \"215a35f4c0435b07ed5d2c4b6865bc281cea7050cfea7a7e86e03f8acb28b58d\"\n
        \         \"bee65458919ceaa5a33edd98201ea6e7632d7622d5a51d35a35fede86ef203ee\"\n
        \         \"f6eb3475ec8f19e69c0ed52c05dd7d59e353f52b6710af4026655504107ddb86\"\n
        \         \"f957e6c06ba67b1f4fc9f121e15f82736709d2de8d77432df08dccd2a0cc7704\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.2\",\n          \"d77407d8f69f80dc08eba5f426282de7\",\n
        \         \"b829c789be381cd59de21489dba141e0bd1fa8a3c3826d59c6d110e7df7242ba\"\n
        \         \"98c47a4392c7f2ac1c6e9dae22b9eb74a76436088bd0ba6e1991e19e3af79cf3\"\n
        \         \"f7defb6a1161802534ba0e7ed16534938872eca677058ac73467d49ed1125b50\"\n
        \         \"dfe5d6d65a5d245399b6bf1bf1\",\n          \"2d4806cfafe4af36bd02f62d6a43b00b416f708e9685b17ac8e3a4d8c2918093\"\n
        \         \"05769d7898f6fc85917ba2fd8e589ff7a8bb84bb7c12202ed279e06409a5c0a7\"\n
        \         \"d324bc46ae4f9282c9023d3dfb3a7915defc164b3f08266acf1241f826249815\"\n
        \         \"07414e562978351dc8b7a79ef531402101a8d3d3eaa3539bbf62aad99a3bb11e\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.3\",\n          \"238a\",\n
        \         \"a5881acff3529f251b1b9c619ce9f9df91e0a03dd889163646871a627207eef1\"\n
        \         \"47680c32f450a776e19f54ec055dc68b04bd4d89376df3eafa6fcaf60eb83184\"\n
        \         \"3910b625b64f25d9299afc306a23765380455194b75dc0135d27c3b7d72df908\"\n
        \         \"775c7e90befc0c5adf74a169ed5868f3d634327a05781892544543\",\n          \"7710eea8657dfd1565166562df0e2e840ec3e3dedc0b802bb0213e47a5ce97f4\"\n
        \         \"b85ba9ba141977363d8f54b06d578d5b2a96e969cfa915df219f002a85d03257\"\n
        \         \"047b3116a1c4ddaf791d93982d1b9ffa243186e9e2b19ef0741ce98de2a4a158\"\n
        \         \"6e5012c481de23a0eff882fd623838d2011f4f63738affd7efb8c50f46a6c20e\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.4\",\n          \"25a27eb1b21f10cf9d571c3305610b97f0daee39905c6594bfbf452a9a00d9e8\"\n
        \         \"2b\",\n          \"2504618011c673db3c412279dc8ad165ab7b6473ae195e8d6d41214918198b34\"\n
        \         \"51a6508d6138cedc518d8012ba0ec79b386af8fa40b03478bbf2ba065e582d61\"\n
        \         \"95ccbe158f11781eaeb1b1720b72d9b52127deb9551711e887dbd0b8\",\n
        \         \"3572bdea2305e1785c754de744c4fa3fa2cb757160e5cb39a31497e1485bbd7c\"\n
        \         \"0899c53585b2bbbbd99081b416efc68578db78e0ecd08da7a3953e386bb25c12\"\n
        \         \"bbb87c78944283a8c80187b4508dabbc7697f43a8ae78a33febb15f3cd581c80\"\n
        \         \"d49b971bcbd48e44142f58c2c91adb1ae145aa9a83b3c5815aa1a8ff8dd231fe\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.5\",\n          \"59cf0b6b50ea\",\n
        \         \"2bf19160df6988935bd246106b8909dd7bb3e51690df84d76e4d31ac82104456\"\n
        \         \"346b4c3c9ba7b5e9e68ee2086c8473c68302e2599abf6b31ceb3f781ad6b5689\"\n
        \         \"86f21cd6d755328fb83afd5548501d070ac2dd8f5cdfb62cef545e815fe382bc\"\n
        \         \"0c67b676e5456ebb9ab67df47740c6a43de3f9a2477a9b\",\n          \"2ed591fd4b357e94f481ba84ff4ebe7ae431054e5cd98a99589648e616cd68e0\"\n
        \         \"d4724fa8a6c599686bfee1747ad077dbedad45f1244d7f8e00da3a3a06d23132\"\n
        \         \"d3171d744ef14e1e97cdda109bd2e556a5fc7bbc609a7ff24cfabef4b56cbbb7\"\n
        \         \"0e050653b69848d7113075a5debe7a468215f8dc08e7ef84fd55778cd5b596e5\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.6\",\n          \"e94452f50a5edbe67573ab22309fa21babc6d22520e6e83bf72e7afa6d71e202\"\n
        \         \"96daeaf54a60c8036304879a2131d178780e348ee0120b997c\",\n          \"c530443a16efd8d6d72ab4443f8db24491de99d5aabe5188b3f61dc0483b7ee0\"\n
        \         \"0b1c13259b8ae2409f1ae62d9930c11a4ddef3e83582938893f9ac668f79c64c\"\n
        \         \"7f5d796d\",\n          \"0eee90c70818221ae2704bbe38d68f8e154c6ee7ade53e2a1f4d1dbaac98c575\"\n
        \         \"91ebb6c638bcb68e181435b70001bad180192bfda05732c05e7fb5af22aa89d2\"\n
        \         \"a8ff80cf9f0862f04c05caca3d2a3a5b0779946c6ddfa04cd79fa164d602f1b7\"\n
        \         \"de5c95be85e9608467e25c29d035c4660906269f6dc00a472b0446ea56e72a59\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.7\",\n          \"1cbfa0e7b1a10c13d75077b1cbd80310cd2410340d5f537293464a6781a9cc30\"\n
        \         \"2cb5380ed9267b3eb23cdb13\",\n          \"d36b7e1799059d1ed1347b0bf8247c6be5187d8f15219e3cb66ec62e1ac41ff7\"\n
        \         \"ed357ed7ca0384e31d39948561fc16cbd96b7e704279e572bf564e06c3a3401a\"\n
        \         \"2714dd51d7215beba1c66154f60dd0cd4d\",\n          \"9c03dc0133a6e6aaba92059bdf5a6cc1b144b90d2a94a48e7b3cb90b0bb6f624\"\n
        \         \"c7b1d172331e4323d08d2e8e099532dcb3b2a87ca420749fc6345c0d86e9abca\"\n
        \         \"71af09a0929edeeede83e72244203b2bf45ceb187e9db3c7d3ad05b23b59624c\"\n
        \         \"246696cfc75806391402e444e397496988e1e1f42c6aded30cdc937937f30054\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.8\",\n          \"e172a6b8b496f077738b74f6d8b292dda607f2adbfb372be37ee000888bea31f\"\n
        \         \"99cba1cf3932e4be3717c9e168901a32d1b820be4fb0137527a2481877fe01ee\",\n
        \         \"840ce13bbc9617dc9f3f26b147301a6f46300d7781a5d981162f869287371f1d\"\n
        \         \"5958764fb00b055370ec711bba5283fcb00b83bc02175ea1017bcc8353\",\n
        \         \"993e396fb57b2ea6a1a3fced9a69d361cbb6265b26503c175f84c61a41ea3e1c\"\n
        \         \"e4fbb62e01d6420e22fef1d9e28a5883e2eac82e05f358ea75f77da4897b6b64\"\n
        \         \"9aa47428394193ddec648c3a7fb81cfcf4b51ce3ebba78aedca7bb917b35b3e2\"\n
        \         \"2aeb201cea96592e50e0d2841e7d2ce0d69ff3039dc01e964a977a017683b387\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.9\",\n          \"c8f0ea23e06611e4fd27b61db7920c55f3c0a222128838e4cdb062e176b21fc2\"\n
        \         \"3253558c5d40de2dfd620fb7cdf1399c2af8fc77ca3335\",\n          \"164d77b5d26ae6d7abe7caed625d87c211cc509ad0172c20833d8f98cae38a2c\"\n
        \         \"370ef21d4096da841dbeee948ec63403cabd4a5f71ace49364aa7de20f32c988\"\n
        \         \"337a115f8346\",\n          \"7a8f15eef510ade8d5c317f9064ad7dae6c93e7cf156a73722023258f8b57447\"\n
        \         \"34700034a3de6f137af6e90046d86e9b90590fa5a650cef4fdb4d3360233af86\"\n
        \         \"f4a7a23c243d1951c666b673c33c7dec4f51ace34b805c0a9e67e209cc7f9ed6\"\n
        \         \"9b8f5eb5c553e0f15c10304bf56d7be171f31cce88f37d1fb4a2a00418897576\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.10\",\n          \"19db242205c03d7fa9935d9e04fa6ecf38a51ea998ac8e4baca6cdfd6a0ace1d\"\n
        \         \"f367e73d23c240af76b62e9fe9215fe943\",\n          \"be495205556956fae2a22ea70ce102de066c9e58959606217484a5b15036ffa1\"\n
        \         \"d461239dd47b4f381cea71516e2db0fc369d72b440696512a97288f06fc0bceb\"\n
        \         \"968286e995e02d218d9c2662\",\n          \"5512b3999b30c9c1440e5975931d55f21e9eb422b62dafcdab5d5003a75eb124\"\n
        \         \"819986361913361dfc46ac29aaba8e1aa02e1ba44467162d20f63ad170fe0d87\"\n
        \         \"a53d93c64e026b12be6bc2b8eb0e57c039eb60f32c4b527035f703a7a8374bd7\"\n
        \         \"faa7b5404a3c5aadb792e25ff92876b23dd3a7422c45266c6d986eec5334b9ba\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.11\",\n          \"49a761f8c18ef92362d6abb24c07fc728255842453694e17605899f437b31ac9\"\n
        \         \"8db516\",\n          \"d8cd85edfa0a84d076a9f8b2f93daaeba9ae374381ea4f8ceabc14f62a4ed763\"\n
        \         \"8c1e396757de3ae2b7efa3a17c9a5586da84a5e50ecded61087fa6f0ce938287\"\n
        \         \"998ac1b9bc3321a7ed160d286704e0526ece7b30b46814649fec\",\n          \"9b478268406212ca0530f431bdb26372615084ca488da43451d25a22b35ac6fc\"\n
        \         \"61e37074a5c22bc1c701db1932b8c557b8487cea566050e48ad6e0376f8db419\"\n
        \         \"8c4d27db2e6b28c25aed837ef47742d5eb8eb1d8b432c9d573cd4b86fdf32c52\"\n
        \         \"a3d0f6cf92cf3cd9519677a58b1d1d994fc1c9057ac106e816045926b45b00e5\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.12\",\n          \"84e828f715f228a60265\",\n
        \         \"f7f275a853d4e126d7d0c38ef703f3fbda7a9520788d7a81a31b0530d43fe6c9\"\n
        \         \"4b1b1bb10851209db26ac4b888aeceea7713824c2938b4c6431b2b03c693ab7b\"\n
        \         \"54631541546ac40394798548fbba95882d91a17c27e7dd53026c96791ee55f24\"\n
        \         \"7d7f898feab3709a132a782666a14d0df1a84e\",\n          \"4e3fe96e8f96e5b3c611cadb96ed51042098ecc547be7b88f8dea765ae14e835\"\n
        \         \"0cfe39dcb1c1d6e4179ca404d5384d87b0665075eed7da7aaf71008e2467d70b\"\n
        \         \"fff623b4594b6dfff90e3d8485f94189486ca0ca9e722b2a777e25b582f7ad4e\"\n
        \         \"c5103ad767859ac59a1b8c5c1971301748fcc264f6c929364a8d9af42255c0f6\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.13\",\n          \"c4797e8a6f269bf25d4cb4ec3fa46f8f11e6b369fbdaec1e51978358d46f3cf3\"\n
        \         \"b842917d967aa9d30b183453937a682656b27b\",\n          \"177742197f0411443bd87e28ea88d54b4f2c7ab1dcaed81a56f8d78791124454\"\n
        \         \"028504d322e1de346047a493933e87628ce08b06c017082dccd38b48946514ea\"\n
        \         \"377c2dfc752adc24fb57\",\n          \"7984c3bad86a547990e0475a484f8dba5d4dceb0d3e3fce071d6f87176b7cbe6\"\n
        \         \"f8112d81d7cdaad77ed0d5788e65f8bf5f0c2ad0df07ccdf54b2dacefc19ba65\"\n
        \         \"201ccfd361d186b7d9e269aa1e6ad2c72bd23f58084fdbc3bc60e17a33e3c55a\"\n
        \         \"95eb0c38a081bc0d3981db26a7212d6f691b336dac46b64ae22538a7b0087f25\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.14\",\n          \"a5e9deb1c20f982d5b7d4b87d799461f053d919e\",\n
        \         \"59759cf5f838d952493d0f4281e3ea0fe216971c0a2e2454b96c8a11b4c69127\"\n
        \         \"159024db6ec5c33640d120295899f6666c9417b202a86c26efd7c6134c92fd86\"\n
        \         \"b8323d174a62534881382d7c6c9e1b8c1e95daf210c3e9ba43e58879f34f2fa7\"\n
        \         \"1ef6ae4b68d64147be\",\n          \"70ac102d071e3d902281836216e081290bb5dfcd5668d11daefa0ab064599d0f\"\n
        \         \"914b472961375bbf5f2a666fae0f6a25bafd44f665c17c144dc4d4cc0a5d5ba5\"\n
        \         \"5c47a4cde959b32baa5232a07fbf9378c9c53ca2b37781c93a1cc8d6529478a1\"\n
        \         \"c673034dda7ff33560786a464f5b4a559c626ae295bc91d0eed9375f49e3e4aa\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.15\",\n          \"739fa76dbd127303b7abf93e1d7ba729755d6c811b5e93355e0c011f74464c7d\"\n
        \         \"b479193c3fb7380a62a0c006a2d1dc49a766af63fba4527cd157506d62c21a\",\n
        \         \"a0b4daff3e26cebb3e4e3a43db36c466fb8ce605b25af4c9da744b62d41f9e62\"\n
        \         \"c2285c390d60d18e3d7e675b4ac3196724451946bc1ccf2a9b562c4533c9\",\n
        \         \"2b798091b3a391533d62dc0e417ba6deda005bfc30ab7dc82e8f9bcc7417bcb0\"\n
        \         \"04348c6d00e537d2722b843861489245ab0d51f211447dac33a3f9dd6f3ca66b\"\n
        \         \"bfa0d1adf98bc9099515926976b9258aab63204ad89165c87bbefd8d988534b3\"\n
        \         \"7407df7d43ad391eed99824728efc3a533b789b47e8aa7121617474f3325c51a\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.16\",\n          \"5a44b547bda19ecca1dc7bc04550205f66c5de0acb\",\n
        \         \"2f5485d25fe5ce40ae62a112976cb4a539b74d96ef8be873325e204bb3f86607\"\n
        \         \"a16a2c2ab50f697809ed03017270ef20a102c43a2c4c3be6ab7a8ae2dcb56984\"\n
        \         \"d5e065524593eb7070834ce553f1756920bbcbbe4fb26d35d4adcb59df524635\"\n
        \         \"6ff12e7aa9ee6def\",\n          \"62d1489a403a90faac677abc174aa7243bc751a964695f6c32b39de018fe4643\"\n
        \         \"4420ea7659be2c410bc56c4e3e7a1b1677fdf4adfb2324f041edd5790c4cdfab\"\n
        \         \"3655e07e41fe9d73292151b0dd5b96fc84a6b20f6f3bc0f60eaea8d82917b210\"\n
        \         \"83055940fc02ee3e17c378bd4d8506d08ec45f33de5780f01bd318a9a16787ad\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.17\",\n          \"16802d803c\",\n
        \         \"02f0e762c33917bf6a4df11fa28473547a5ab0767dd3a61a8d05cc1e6f98345a\"\n
        \         \"f1a00e42f62bd8eccacbd37f4ccb809e9e055f73d3375a6041d9782ccd85d59d\"\n
        \         \"14f43e5c9410257b906e41cc8b973547d0622bd21db29a9138d3b1bede38ce5c\"\n
        \         \"94c4e1d2a0a8400b45bacd4269797c385aa3066e65807299\",\n          \"753b9cee70d4181f95638780db7a04f9b12ea38e5daee4f2894c02673a53f485\"\n
        \         \"30746ff2858b787efcb42d45e531bea1c8dae94877153b956ac7b28746ee21c6\"\n
        \         \"31bf9a3ba79d2ba81321b79603b1d01a4e909ed5a27cbf27c957783d3f7950e0\"\n
        \         \"1dd8f447f10eced36f2d193586f5cc17fb622a05faa1fb5cd2aa064c0867b1ca\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.18\",\n          \"d6d0f60385979ca506fc833421bcd22da6a06a8f370a7f02fef47c1cb2199f26\"\n
        \         \"45c75490fbf789ad524704da8a2766c6\",\n          \"a03c05672efe23b44b26c793e7053a77048ba2dbb4b53ae9751854e7add7d67c\"\n
        \         \"12cbd16c0b1934d2c23e77cdcc89ce1d45c761158aa8613171a73901ac1f61c6\"\n
        \         \"5705533d3e639b57a248929179\",\n          \"0078dc48a66158992aaa68fc3ccc628f92a708d0b1d43837208d534bc3f9be1c\"\n
        \         \"1412ed0f9f7bef49430dc9e998f752e0747768b4ae38144696c003d6d25ea1a6\"\n
        \         \"ca6aec924a9f4d9b575a8f136bba29bf31c13b7050bd55d1000d433daa6cf10b\"\n
        \         \"49116c8063107fd3a5bdf61545c5d863f6a78881786cc8dc376d36c911368225\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.19\",\n          \"b0381cac04f3101504968f26d6554745383bd171d36156dd3680b3db6fad7f77\"\n
        \         \"1f7d\",\n          \"cc548a6777cde953c15a71fc497c0c3617b1bb056b03288d9a548b693bb4308b\"\n
        \         \"67c1dac38bb9b8c9cc896ac244a9e30d132430f4ceae5790343dbce38d056f27\"\n
        \         \"b86bdd9d32a8171f3b3cc2fd142265ac9a68dc353627339cd88303\",\n          \"456f7c3e3be85ff7bdd6b5b250bfb81cd6fbb186d25e0c1c5259d6788793c541\"\n
        \         \"edacb4ecdedb8a89290134a606f46a81991c13b120e33056bc0fc7e97b342d0f\"\n
        \         \"20051813dde45e0b596a7dcd6904903b8fc076a6e24b3ad8013416d9fd184830\"\n
        \         \"554ad54d5548bcaddaf5920a024955887825dd371ae4ef90069a4f311c5a1729\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 5.20\",\n          \"e5\",\n
        \         \"fe0bc7acb56ce14b4e2f55fba0e2b17154907be94ce485c6984d61f67c04a740\"\n
        \         \"a28d6094aeae33b3ea0d58183e1ec7f601b2ab820fb8a7ffac0b4f960e1b4acb\"\n
        \         \"e57cdc35b225c497fcaca03019a295b3e66da96f5379ccd1da44479a4f2135e1\"\n
        \         \"063d71a282c1e66fdbd5d953f5718c2539d00ce49b451820454d2d49\",\n
        \         \"5c533677a1dcb36395da9a6d3477bfbf71512c6a933d041ca31344e1cbe1e555\"\n
        \         \"88a1146e3dec4610efac41b5f80266026652b3d7aa594274d9d920d33aa0ad9b\"\n
        \         \"4ec59aa880712a1d1c368a457f35c74388b042f2498e9f4bd45a26f321dd9eb3\"\n
        \         \"33ef80afe3af9f729ca18f42c88a7173858c542066f8a252ccf0feafe6b5a924\"\n
        \       }\n      }\n    },\n    {\n      \"A 1024-bit RSA key pair\",\n      \"ddcad6a38b3704cbe06bb1b51d1162584978a4291fb673b4ea30ed8b51a4bf26\"\n
        \     \"1dc9f0f469ce9988a089f084366464a180cfd7171069a6f636d75f23401b30cf\"\n
        \     \"43adcf870ecd24582f4da295229151ddcfc7c99186b245885cb63196c4a5726f\"\n
        \     \"207ee360af3ad8c48385a4e0841d7d851d54545de767d8f999dc17eb0c571189\",\n
        \     \"010001\",\n      \"5e48e03dddeca1a959d9ee4da3f1c3f0ec2ad0fe7a70c177632731944c3cd0d5\"\n
        \     \"8f4c4d9659746e685a76c93c2b333a643db21d29bcdc6d11b5f6908717b57765\"\n
        \     \"99ff3088b2014ffc51f18d932224f1059b2239ea5644e8069a5cc431aef60738\"\n
        \     \"0aa924c158abcbdd9751f54e6779c4ec232168b0014f4c8b497be949aee65751\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Encryption Example 6.1\",\n          \"a3e15275fb33aec37bd3dd582e19f5d38b9d0d\",\n
        \         \"78daa61c07f941b4b440e738338d06cc157a01574a72fa78d363dce994090422\"\n
        \         \"0a7132356996f07c01d54ee54fa32c5faa1b90d2430c80a23217e06bb1c8043d\"\n
        \         \"61ffa18aa1d18e15e430aa121cdff43fab2bb0debf73e3d5a75b46f90df73d65\"\n
        \         \"6bb066ac1c768fa383e4\",\n          \"9bf1dcfc654ca7a23d80a12c09c259d04bae07e831f609e9f035d356414ed106\"\n
        \         \"f9b46235fa3da91a32b8fdc8fb8830c96523dcaa9b2538fc0102dc0f7a5fae86\"\n
        \         \"35b3b12314c39055faacfbe00a15163424148cc9e0f0ab42df09023c052a46ae\"\n
        \         \"3f86a18dcc5380ce39062e362375d3a5f9e3b34a5da25cf0de9cc19c4d04f63f\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.2\",\n          \"443ab03c4604dbd8bf8006aecc2aa8de64a155b4f90cdb0859986d5ca3606603\"\n
        \         \"59808c59bd9c2de775fc18520224b669c325\",\n          \"3a6a6089f727dd169297a579fcaf8ea7f8e12d5427f1f7901a9022a21e2d82d2\"\n
        \         \"f08e63baca267b653aaf89de232ba3d392d1cb49dd76b388b2dadfb0094fda97\"\n
        \         \"18f1783738d18fa7aaa629\",\n          \"5a0ae0de28fd33cc9801bf4dd3067123745363cace4dd8b7b8b811d6482f5912\"\n
        \         \"0c0d653eee86a61a012a180ec5d17e99146d0cca0a587c85cf01dc7add84230d\"\n
        \         \"9180bddf5a7719f69d1fc481af6f47db8cbd4ee1871a573fc8767ce8beedb5c7\"\n
        \         \"3fa93f0c53804afe2e76ccebb87cba00cdac94de40e2b0beaa8e2e4158c77850\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.3\",\n          \"d1ba30e88cdda33d2b41896f43df081eef20caf78d7c1b970c6a6172e83839dc\"\n
        \         \"43d4be29f9a772ba4159738bc6132968618dc7197c0edc57a1\",\n          \"9bb62bf9a751fe418166436898ede835cfaee2f50efcad60942f2fb2da1a2038\"\n
        \         \"03f0be80beb17ffad0dab218b128027f3497a4f8d41ab9a1be264e96b4454876\"\n
        \         \"7be8d4a7\",\n          \"81191c5475273de66a41bf5604f32b58b759a14e7426c746de4b53baf780bba4\"\n
        \         \"2b42e9278aa94527f0eebf855f462d6fbb2978a4653037d8b448e1b807a1831d\"\n
        \         \"bc5322d066984eec28114fb7201c796b573adcc5cc927f3a5897b2005564ef1a\"\n
        \         \"2c0167f54365511834ac6f4958b8318d09e67854d631ca52807686ab705d71a3\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.4\",\n          \"a54bc2278b567685c9b56854e4c1c406d9161747c6813480163ee3af23b21ed1\"\n
        \         \"9983e0f42bfc9325cb5c82e1a47b8f\",\n          \"ccba5fa5c94e79832ab046c9777495b163bd3af217590fec5ac48c62786a27f3\"\n
        \         \"70d2859955e45afb2b79f12de4161145be62ac13a03bf48195fb9e5a18b82deb\"\n
        \         \"bf3ddfc80825d593fcd402e74eef\",\n          \"3de4c3e059357b8a54837ea15962cfe2007c5ea8985c93519164a689b755b61c\"\n
        \         \"8bd273969d333c4bcd9b060353c37baf13eb422f1cb97756e6b4946adfe1af75\"\n
        \         \"e9fe2d95b4b13da1732bd8b8be1197027919530c347f3dd1039e348a53b116f9\"\n
        \         \"f8fe8936a84acc39f2e06956b678d20fdf9517072e02f57078fdc04659400c5c\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.5\",\n          \"f3c00b009e5e08a63be1e40035cdaca5011cc701cf7eebcb99f0ffe17cfd0a4b\"\n
        \         \"f7befd2dd536ac946db797fdbc679cbe68f1a2f36259c558f04d\",\n          \"e22d5e43b1eba1ac0ce65c3270510e0f13c94e9624ee525659ef4d57378820c9\"\n
        \         \"35229b3099aa2b2350614f8cc4295815a2c9edb2d9c59c73d1aa900c2134c0a7\"\n
        \         \"d0909c\",\n          \"533e67a2bc5b3f01342d8cb8d925d73b4db34cb675da9039226a98e4d813c620\"\n
        \         \"110990a8e6acba50fd04f3307debaf20d4f374cf6de0d9b21d86e266079cf2f1\"\n
        \         \"8b4503208a215de2b11cca9e3464fc5ac1dd7e96b2fc0409e42f46a50612a6b2\"\n
        \         \"061ed1619a7fe46796ed8f52069a5bfc8408d558f52a03332ee8eddef8f745d9\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.6\",\n          \"aafe5b271111efb8792f5aa92383072976b72a0a272f90c52461f88afb1bb6b7\"\n
        \         \"ec26381c6576a41087a039809d14f6116067594ebb\",\n          \"750ef0869f8c757ef431578b45a6e741bd1d960efc3789b10d2bde273818074e\"\n
        \         \"bfe5faae10ac244f89f6c02de5d1adaefc7a8fd24d7bc376fd65d35e39508c42\"\n
        \         \"36acbe2d5ca7694b\",\n          \"344d4337612b22dd402be379e6b2650b519ef37b7ab485819452d167c1b215db\"\n
        \         \"d3fb24f9b2f9298669cb1aee141a7d8901642043111fc38b3f40ef0b7ffd7df7\"\n
        \         \"6c2d92e329411c75e0f17285bb6bb82688128ed9bb951caedd7d067edd0b13e8\"\n
        \         \"275ac88625d97ce8d20b69b35738b2f4726e2984b8dfa86695aae88d9e176df6\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.7\",\n          \"a1224df9aab6587845b2a393a5a876c17d959d535b5419d412a9a531bb437e1d\"\n
        \         \"ac1b546d62\",\n          \"761dc4f51bc8518d627c45b3e9818b8542a06ffe172be3af5ce7a9053fe54e69\"\n
        \         \"70124973374dfcc1f49fcffe957aae8c9c3b130f4605d2c3efa2932ad083dec5\"\n
        \         \"8e70d4f6926c80b5d4891a1a559edb0caffacad75eb26483\",\n          \"785f6aaab4d2f318d4af37b6e0074ed5a4194fa605a7ec87d05a07f3349b5b92\"\n
        \         \"f5fc4790eab13786cbf035c78ffcf1344d1f3ecdaae01672222e6d4a965559e2\"\n
        \         \"c08291cb1d4c2d4e68ff8ee71523f6ddaec50a4ab22edca247364c92d87399e8\"\n
        \         \"a71df7436b62d8ba8ad20294cbc60dcae0305c7973f7fcb4a5cbed15713a7a16\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.8\",\n          \"1e0e3f650c32dbb2f6916f36f135bcae881d545507402d6afd3d5b3bd8385a50\"\n
        \         \"b4fad6f78949fde62164ed7689e5f9a4\",\n          \"eea90a54d016da7e8f0876a733b0f2a06f90a73c1a3cd639b6cfa906ce08ef78\"\n
        \         \"8bb6fea74f22eb91a6ab3284cdfc1e72e63e78d18a64d67f9d1a291949ed2e32\"\n
        \         \"3e91dc033876eeeb09ffa71f59\",\n          \"6bbdae20f989bfaa5d65dadcd61a86b66307a0602fb551a73806122db188ec1d\"\n
        \         \"41e84daa2cc7d6be541e12288809a17e085f2cafa8ae13670e0f3365a1471cb3\"\n
        \         \"157c06e0f63b8200f3160c163fde7c901ef326e5700c9f5e07fe0198810fa80c\"\n
        \         \"8c5dc53a50bce254f7d19901cf6cbb603413e41f9030e739c8ba964997847499\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.9\",\n          \"73ddf0a14d57ba65b4f693ac761e202b1e5b857c8b3404e14185dfa8aaf04989\",\n
        \         \"fd433d7b0176b731d780dd6c5851b82f176d62b80d96aeb631d7fb8ac5be55ac\"\n
        \         \"217f4e08bc7ecf81f8e3f5ddaacdc6c2178df781882397533a638e62f074ac48\"\n
        \         \"8f4c12aa57be2ece5bb6e9096cd92259a45b0b032f101431a28b8640fb\",\n
        \         \"ae97ff434e9a5ee487761db356900b063737465be5058dc03a28a322e5c0e091\"\n
        \         \"b799bf659455cfbe05427ac4d04405e56ee04e063a2373dbcb9b4fa16e430794\"\n
        \         \"6a49b35634520d416f65c3c322edc54671569128a2a152a76fe444c430aa6f03\"\n
        \         \"c4129c6e2131755d764cec4a1486a81ba8a3168d16e74dca8e77bbfd67ea372b\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.10\",\n          \"ef3e7698e7d9cc863b466bb288556e4ac25282e094fb5b57c17617bb98\",\n
        \         \"db90a7580d8d429e22bd7ea5c7b4cd0c65ad0e2e27f53341bc23a8b1358a76a0\"\n
        \         \"b5e94fc5b42a9f756cc63b9d623f551767fbc6f7114e40ba7361fd32d6f8d772\"\n
        \         \"3437436df724b1327aaef7b957562768f8fadd57862ba0b314096a3b38770e31\",\n
        \         \"43f8cccea812d3385f43fa837cb5e6fa590f1affb862d2caccc6d8e8bb5d5c0d\"\n
        \         \"50ffb9f8f8098900c12e772a847b378157782b0a9040f7a616c2eb058e44d4a7\"\n
        \         \"e20b485ac29f40d68e03c39ddc8dae7e7e09e28f9dd2190f3a9f3574b2f63400\"\n
        \         \"1544363c861fe27f7a39236692fe3582140b2172ce647eed417685c6e1db856c\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.11\",\n          \"f86918474f881697111bdddc1f00613eb2c3d9c1787668353ebb02b320a326\",\n
        \         \"cb7d99da9b11ea57f6405543447dd15fb5cca0a10f3b69b4d23309eff2750c48\"\n
        \         \"6ca655325b55a327ffe8bd6dca99bc8efb5bc2942ec039e28425e4a56a07d380\"\n
        \         \"12f10d215a22d637685943d364725301dd40e217228ab791598998836bbf\",\n
        \         \"2a408780ad514e5671fe1dfc367d7aa465fc3469f1c152aee18145e0f5f0759f\"\n
        \         \"4469b43d55123f5dc9ffc617f23fa49b78960219660ec62274d6c59ba31460bd\"\n
        \         \"10941ebb5e05694151c57b5b9588caf09f455020a54e977c3cc027dae31f2ce4\"\n
        \         \"4217023e10adb6f2d8aa0f8084fc458605803fd44b21abc27bdb8d4c561784cf\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.12\",\n          \"6a40bb60708c5a992ecfdc7ee53f54084d19affd4d21\",\n
        \         \"c3f4faca56c1ff07d1ad103707d1b6682047b4d9d6246c2e5c4b0ce6553d5531\"\n
        \         \"3f8f38aee5e4d8073a55d24ad796c4b76126c8aa61c46a4ee85fa9057a526cd0\"\n
        \         \"aa245e5828f2181b4a6479868748e7479f4034533c0f3e1eb435fa47d53b58e4\"\n
        \         \"2c9617bf7e777e\",\n          \"c46411c7116fe6f46f1ca0f74c6081a55df41d2c0b8fc5d38faa340b5ecf7183\"\n
        \         \"f85f88c4fb28ac5fb1f18aebfcfc10bfdd3a19002c6b52241492704b6fe63d61\"\n
        \         \"a73010c149ff6303283e9978cd845404fa06b8c698aaea8f861361d886b2c0f0\"\n
        \         \"1b47a1a9a3dd903f8a58aed66afc85e9b71efc3f55a121667416a300001313e8\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.13\",\n          \"3252fe99620974e077d6eb5575\",\n
        \         \"bf069b4bcf15448bc39e45f4426aad0d5d82b74e93ae1cdd71f71bb9beb9b23d\"\n
        \         \"59732f9c8bc6343d130231de18f7c89fc2f422189cd927e509b13197aa56d81a\"\n
        \         \"7376f8333e4742448cc892de4044972c7f67dcbe8544a90eec59e795ae596408\"\n
        \         \"392af5776da0d6cb29c7e0a7868130a7\",\n          \"7653cbff586892cdd258bfe6baebd99145eb1b22894e1a764d02b2ba995952a0\"\n
        \         \"1258208de1a01d8e8cbb5cdaf0d603694f88255e809097b70e9d79e62bd5c0d8\"\n
        \         \"36dcc29dd19b05a16026904205b60c4503d4fbe9933855e86802c75428d9a634\"\n
        \         \"7303167632d33c5d9ecc8ae2493b58c36b2a6553a7b9e2b1358ae28dad50280d\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.14\",\n          \"dc94\",\n
        \         \"05e805bffbd1b74d1a5a838d857167b4c7d40a6cd3e68f31be4693b98cec6d75\"\n
        \         \"894919ab18572c75822e75e9ded72da0679783a7721814e199160b7507f67f4e\"\n
        \         \"de587c88be76815c50b261df308b314323730c1e073aa72998cc2f8e0a8a5bd6\"\n
        \         \"5bf934aca8a64859e25f02c5a2713941c8c8e62720846dfb51c2ff\",\n          \"6adde244f0638c5ab745ffbab5abe1fe800b0eee153550c48c36f4249f9d5d36\"\n
        \         \"b47b28ccda71a7dd832e6435ad0eb85ef7556bb84bf95a59ccc9c20751ed3e1a\"\n
        \         \"d0de102994a712c514014692a67f1d87ca2e4fef29ec83e01e29ad0c978acca4\"\n
        \         \"d5c502745a6c500df20004bc9bf16f5fcc69bf52709e31cf6a2b9fe624d9a364\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.15\",\n          \"4fae6cf37e9d5f59\",\n
        \         \"e7f9ed4a0c3a646669039bd01f249f32bea1e6576c21d45189d0f891cf4afd62\"\n
        \         \"32083a321ed2d34d070984f5e9457839b2ebc1e03a2c0d8dd709731e95b2e694\"\n
        \         \"1ca0907187affdcf5a87f5cbead2f9052c38d0ee54e1f128ffc337de4566a592\"\n
        \         \"5e1e947aef50881cbdaed99b1bbc1af513232c0ff4\",\n          \"46e6705eb1252debf8ec672c4fdeaf6988268459f99589bbd3054133d483abe1\"\n
        \         \"e27caab0a7f0221b1b67a14ebf45126e601348b0434406da3a8c76d4f1e3f1a0\"\n
        \         \"e06d0db823da5117b92a40b6f39f57e483a7da36e99b677bb3f76e6c5db03f3c\"\n
        \         \"e44504ebd45e9f14fe0f613a2eb79547ab578c586d3b654a06fe1ef37a221066\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.16\",\n          \"cdfdfdaabca3767e70bbc5e9abf6\",\n
        \         \"ac777f67299de4c1c4c574f31f674f6faabde031f8ec33e82676eb32a93f6579\"\n
        \         \"aac3e959359fc573ee5c0e3e077653eff9d5f8db4b1e7acadb059971531f49b0\"\n
        \         \"7c93eb9fdedcf0903a7d50b479676fcde8740afbd7d37c3a2102412bde1d3a82\"\n
        \         \"44156ad8089d45dfdc91cde6c3a159\",\n          \"513c761eb1929aff7977a9ff0e61b7a1d511c8cb253924332425569a07e229cb\"\n
        \         \"3901715390f7de37bd362c96fc0b0d79810c1e8b15e13b0032734778cf964e6f\"\n
        \         \"6d17fc41c7867672b2540f569d0a460a80fad56b5f054ab8e49e409e9e0b8613\"\n
        \         \"cb3da20c35c3e1bb99b7ecab7a00fc1fc2370f9c808567df89be2eddbdb6b110\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.17\",\n          \"b820c32e737daa234f29ba90647fc3bf0a8e\",\n
        \         \"f5caf8feb42df7b6b389f50599a4ec20e619ca22d2bfc91bc7f14ae9f1229e07\"\n
        \         \"c888ed57aa6ad3c1041044c51afb55217b0caa2334ad79f47abbf9b4208333b7\"\n
        \         \"2b4ba4bb5fd037981dd80170c80360c14d5af51e5f82abf51fd36f021867a6ec\"\n
        \         \"097bc33922acead9e33558\",\n          \"3e23251841db2e207a27101f1329191ab7fa6a701a526261482353a1a221efa9\"\n
        \         \"d3a9d459cd2a2d8668908b783bb09c879a217f1e400f95b217b040a53e341c17\"\n
        \         \"b93d3c3d65460c5c7f2b4d79a34b5a96117aa36751d9eaf233b03f68dba6a457\"\n
        \         \"1b907177f828336e825a92261b623639bec98d3a09f872c2ec591b4c383a69c7\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.18\",\n          \"606bbd613715ddcd92c7b6df04b36072f01162d008766312ca6977dd3a06eb95\"\n
        \         \"e1bac7bc1bc6602c9ee644\",\n          \"513a5c9568e89b9a53d5af716e55fb340f8a392370e888a80caeda502e7f9dfc\"\n
        \         \"175195a50e47071396d6ec554eb72f183be18f3bf4ec73b30592faef2fb514de\"\n
        \         \"befcc65c8d23c4ad259456c1e80b360ad459\",\n          \"4721a23940188730f5deac85002e3831b149ae57afc69735a045ee3fc3536472\"\n
        \         \"fc833c27c87eab6fc905e367961b312498636be6c77aa80b8da2f5d948aaa77b\"\n
        \         \"5fab724bbf64ee89d281eed47b212c3295266577f4fd93a22239dee540c9400f\"\n
        \         \"e56d7aef51df36a89ae92f926f558331e41bfdfefe35758b93ce1140ac9b6a54\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.19\",\n          \"1d82def8c592875008a5f89e7eb64e252edde9ddb881d37362317f6e6e6e993c\"\n
        \         \"60233b0f\",\n          \"875e075ef1b054b5841e08450d78eb54a55c88b6d01813c107a09b74543b3f9f\"\n
        \         \"e1b7c90211c62ea7338120d4ae0f73ba82c01d28f8194b3a396bdf50f9413a7f\"\n
        \         \"b03be225fe0545db80cdf0f610a95fd90376e039e3831ff99e\",\n          \"8fb546263c1d1875c743f52f0267b2f2fe688d2542021049f53489ce7c359130\"\n
        \         \"f8e11e3c461c5e863e4dc19f07a13a4c1a88224b26c5c0cbe2020245d91e1b83\"\n
        \         \"42425252f53fc40e4b14fa02bbd74737d4022cc54fe38f0d27d8fea50f2fdd84\"\n
        \         \"65d4f32f8ac03ee006be6233e4d1a3c16eb144b5d8be729ad304f82361e07cfb\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 6.20\",\n          \"8a8a3eabdca7cab0cc296a291ea8a93da4d2d2a196ff2f8d181fee1f\",\n
        \         \"2e4736e4296ab46618b1ef34da26776e92ef66f7cd174ef94769724223a765b4\"\n
        \         \"ebef08a88fedbe270560e5f67437cf49d57ea6620aca59898afd52cdef30a8b0\"\n
        \         \"d9855e5dfbe347de77c4c0280b0f1fd44d4fe68906be8a4f12c533087bf5bcea\"\n
        \         \"fb\",\n          \"03f3e4ba034831a0e30a4a3344cead61b28b43be31532c2d7637539b9013837e\"\n
        \         \"dcb1f216d32fdfae73323674a2814565dbf29e712d18c4373964df60c9399fda\"\n
        \         \"5414a0eb45bde8661a89091295a1ef71616a3cd145e9b318b651af175d4ec350\"\n
        \         \"1d5eb763e8d35a2b72746e020b4ba59973834b2150026b432b179a9ae8172b7b\"\n
        \       }\n      }\n    },\n    {\n      \"A 1025-bit RSA key pair\",\n      \"01709341d2ec0804a74034e8fa728642983d1650d746e449c9ee4079aa15e51f\"\n
        \     \"1fc134242e524b0d3d0dbf5a5121939b125fcc863e514160b634e37aa6989477\"\n
        \     \"6c7d33e1e7c619521de482a0aea45c3c6abc3f33e25d86ffa1393325659bf2d4\"\n
        \     \"098df169b4072187660e277700199b7a3e3484b3845f6fbf3198657df8cbf3a8\"\n
        \     \"1b\",\n      \"010001\",\n      \"6febf798121e993324972c8c28ccc65a2e6aa15fcde232da03e4464db4da5faa\"\n
        \     \"27e42a7c7a76d9ed49486b27a9d785c67d9ac0c519ad8dada6bfd115d7cd75b9\"\n
        \     \"9c4b59c76983a7015b0da6973c69fa950810ae2768d97588900562e86a6df7c7\"\n
        \     \"14b844b1e046686a5afc667b13573a55be9b5b38b99bd3cf54e4344a2f2d0e21\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Encryption Example 7.1\",\n          \"da509dce45e24700379bfe5aa1a81c24706c1842d9b13e7a2e0a15d3a4af8e6d\"\n
        \         \"08612dcaa15d460ece872988e3e90fb27e5ca5c10fa1facdcb0e\",\n          \"808c2046fb505c37695c8dc35c38f9f9905ab48a2b8a146e8e8eda3385ced95a\"\n
        \         \"313b2dc6eb418367feeff79a02ad74646df7a5d87054acddaf34eafd5c1db58e\"\n
        \         \"5dec0481\",\n          \"00fc3d0aaaf26cdf25a1a8dfcb71700fb65e2ab5551ae5f419b2d2f94cef0173\"\n
        \         \"02b00abd9e6c6efae94474d18e68da0a7c17ef2c5fcc89071d3b07121b9c01e3\"\n
        \         \"0ff053663f61f89fdbc49bdcf8e671669443919d41342845e3e99e46a8a3b48e\"\n
        \         \"2398a88e5b45d99a17dd1f212edabcbcd300a84d398ef57935bdae959e6054e7\"\n
        \         \"3a\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.2\",\n          \"ce0a794749874160e5d2e4ff\",\n          \"f4b2c9f311c1fd41d47944b50e1755d4eac5ee65087c9fc6d2f075b738c64926\"\n
        \         \"eaf7d4316bcdb63654d5420da61e0245f195b9e824aa0b06c88799b127fe9b03\"\n
        \         \"6df36175c0a6bd80e4e0af6ebc2f4270b04ce30b9fa27f0435860fccf40b3dc7\"\n
        \         \"eaeffdbab9e1766619bb016c17902663cb24\",\n          \"010cf74bebc2636d2c49d9c622bd76cc0b1d02ebb52fdfaec01c4ac1e756071a\"\n
        \         \"8ef76e122a4c62c6ba3265fa4c905626d113d59db79ad65f8640b3c4344d7340\"\n
        \         \"c16e38deb189e3a1b11eaab0b2606a7f82f5946d419acebbbb3a937d41e29b33\"\n
        \         \"edd3ad15f1e7770fcfc30ae06aa01bcd03d5dfb162f87a183967553c2502cb5f\"\n
        \         \"fe\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.3\",\n          \"41d6\",\n          \"556e59b2c189587508e20892fa5602d249fbfb71a10905ed5af7b79be87111a0\"\n
        \         \"c69addb19eef316d7c0b21817990dc3ed8c76cb23e830e17c0f43873159fab7c\"\n
        \         \"5c4a6cf219cb1dc5c5da4553a3e0bf183b8e112b61f692a7ddf004bdbfdcc8d6\"\n
        \         \"659c3dd80cb23aabe8c6fdf2675d073b662312e4accde91c1225e6d1\",\n
        \         \"002a100495596655304bddf9097f78d9ddb5eb429b66635a58a298f1928eed61\"\n
        \         \"534f80b4ea05ee39b02a64566f6c456e3b586e7cb43a88940ee129340f578e56\"\n
        \         \"e72d8b2783361006d97129abef02cf1c1912e17f0cd1d71c0b328d0b48a4ac7a\"\n
        \         \"ece3c005a6190eac22c1991041159a2ad1db0896015c4ff1d7b35447cfc10a24\"\n
        \         \"be\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.4\",\n          \"0bb4abc7dc6ca4235c29ed0a2cb63fd141341e2c4c901e6dc95da9f0010fa2e0\"\n
        \         \"22ccfe8adfdb6ecf4d89f579a10a5170be18c46a241ca7eed107cafe4a9d\",\n
        \         \"bb80be7802dd8bf5fb5b1b86396654f4739f5d4351f19ce31b72c210aea1a2ed\"\n
        \         \"2142d8d6f7ae374f06133a315c6264da65cef233ed3dcc8159d76c3a17f36d0c\",\n
        \         \"006f1b6c1fb37ae5c8c024449abc3840e8e5097143eed16beaf67b6c7a4824ac\"\n
        \         \"38b6f8c353b645c8cea4fab09c02fa6c325a507438b9645ec8230086b315e34e\"\n
        \         \"7a56adb0ecd89fd07b98739c24db6fe11ff2e5ad38318ec31df2ed2508debca7\"\n
        \         \"a67e240196aa9acd80329f4c4343c10b72699f9d6b5bc243995b09c46dd3d803\"\n
        \         \"ce\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.5\",\n          \"ed26ec202d5e69740da3488406bbbd\",\n          \"f2fd08cc0db9a55abfebd92e2a9d75872ab7dffb0b4da13606e152759f866f22\"\n
        \         \"eb8729fb8c9a5c45ba2f4acae43159a7ad3cf78e81fd0954909b1f0e7089ca86\"\n
        \         \"a4588d8c87a1a61f1a48398236def9b4975e2549573f60adb5e861b7c3b2dfeb\"\n
        \         \"810d13e297a6cd3f2afecb0e4f147c\",\n          \"00933c58a50c70150da0823a7c1e367d36e5213f66a30050fded72d5755b5f9c\"\n
        \         \"24050b4114f53509988b625420cfd00ac1c8cd84489ca26b743fb47d1b64d0a8\"\n
        \         \"808ee32127c771224a0dd5a564e636add73bcff7b473e9a12b7d464d7dd4a752\"\n
        \         \"048661a8b074b9fa1506fef603dd96d11996a7d9e74879f99bb2d91c37aab135\"\n
        \         \"72\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.6\",\n          \"dc285a26395939e7997204c71a932f795b4de401e96f34e189363237e9cfdadc\"\n
        \         \"61\",\n          \"d80bfcc291ce518ce0bb6ae934dfd85658b239fb4539cbe05da126a898b7f364\"\n
        \         \"887c0ddfb1eaea1d5a90de7695665c55822a1172cb5be8a112d28c8602c513be\"\n
        \         \"48c292f05972e6711a44cbc7281715094b490fde29165a6b6b7d99dbed\",\n
        \         \"0157e7b54a341b8df8bd9b99fc2e6c58d886fc79e7442a9e76d0d67e4858c4ab\"\n
        \         \"f0ed25c33df62e2aada399dfeadc7ff68928e6b9007102ddf809f5908eefc10f\"\n
        \         \"2a73710609231f5d45e00adda134b602dd0eee0f6722494b7e4f7b405772c831\"\n
        \         \"b63729be0f1c4b6d2a542c1565c7df231d9e892e586a18ec54377376db77f813\"\n
        \         \"84\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.7\",\n          \"4647d841c5a0b9973a91454dd1a05ec0e57503ed99672ac002dfee777f7fa506\"\n
        \         \"fb41b2ec8b8d2cdb9bef0133bd5e3a7d0c4344b28fa8db\",\n          \"f527a14e2e06e73f1c245d190d02cced011e468487acfa5e0bce39786b46a9a8\"\n
        \         \"c751a8b4406ccfa1fc5b7ab9bada7b4ad452467e50b7fc41318edc73dc2d84a2\"\n
        \         \"8a081fa17905bc\",\n          \"004e03caa9481d7f9678207c17b6822a5f6917ed01eb402e7f230135a123cd9b\"\n
        \         \"6de3bec3b9bf338adef8076fb7652fc7e3a373fc1622f1dc679d415c3200026d\"\n
        \         \"8a8a50f8db6a583f666929d0318ebf91d95912fc06102d9be87525a736b5af21\"\n
        \         \"e16de3efaa66e9cf41ca73482323dde80eec308581a44ca3aabf76dd481de652\"\n
        \         \"9a\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.8\",\n          \"ba10d47a9f624281\",\n          \"379fdcfa5d8c6137c36bad143fd9b1f7e894fa0e9ac0fb9cec60e86c8253975d\"\n
        \         \"8e78742108495e594ad0898fd04c91e401e7c88089a87b4a4a82e834cd3777a7\"\n
        \         \"d3f80e6486812d4ab0d33723162bcbc7e081a99d3f9b5c3ba44b19bdf884a462\"\n
        \         \"6fd7def7674057bea082e00db4b761ad753ab5985a94\",\n          \"00c4965e2963d7bc5b1044d8fc75eb3382cedd9907419792efc88c92b1d5c390\"\n
        \         \"fab190011c518ac9ce45c1b8e7276bffc7c7e05c2537089137a98df6e0c69202\"\n
        \         \"0ed654af83339bab11927177f2f523226b4fe64b99c1729f6c922906bc16d31f\"\n
        \         \"0c94dc2ea413810d55940c97afdd4829fbf1618a8c9de89dc24006e7e421a58d\"\n
        \         \"38\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.9\",\n          \"efc7489fec779e052e379c1ad9045903b6842a9ca41b48bddce58080a5edec63\"\n
        \         \"f36ee11560fd\",\n          \"c8ecba627214c414d7c3fdd316c2d82a98535728b9a9376f69a953d7cd1cead7\"\n
        \         \"1053dbe0140c7f02bd71e0137fea29cd4c21a58bdec66640990d28c10b701759\"\n
        \         \"3c1d11fe9abebd7124e1d985631e94e9e51241260f9ef1f1\",\n          \"0032184ef288fa0aaa0c2c1a19e7c29f81c7012f4529eb9eeb53681f6247f8d4\"\n
        \         \"35691345a5148a2c877b2b18926bae9de5b317bac0e902c96025eec2f9eabd0f\"\n
        \         \"9e8886ef9519c8249feb834665c1010db7624f487e161f89f6ae0018c1f4e0ab\"\n
        \         \"5472f7f0993561cd5985f383d049dd832b82c83748b2281bfb99d9d5008dc807\"\n
        \         \"de\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.10\",\n          \"5b264ff88defd3c299993d81129a6e5dd2b57b\",\n          \"0be7ab5b29704843c1c0d7e4ef5e93f3ba717db7815af572e3a9ab3f99b1ac9a\"\n
        \         \"22b92d9b43da2b9965c7977057173c03573f32480a927019afff0e0e34e4095e\"\n
        \         \"4a4d392dcd1bd9f27d32fde7159f023c83089e88a71f2433648ef8c84045b9c3\"\n
        \         \"6d8e5f6eff034b91b70234\",\n          \"004c65293556f2fd15ab90eb22e07533b3dc17334f5eed27a3993180c56c8e3d\"\n
        \         \"8f51eeb27595f878d23665ba3ab0e728a5aef7234f6036b023f871c2d6552a18\"\n
        \         \"ad5a25bec55bc76bee6383461281d39a30f6d66092e0cff6923268fc043cdf74\"\n
        \         \"7e8d5489504e7db30a7bd91a2bfc6c1b3414405701753d5b85ff7352012d55e9\"\n
        \         \"23\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.11\",\n          \"72e20900e5bcc23cf879ed3531889a1ed5aa3d5c792e34e3b12690d9ac2403d0\"\n
        \         \"f6f78f5923\",\n          \"116275e9be1bd4e6f203ffe4f0ab9a32738410e923e83971ee9a6b992c650a03\"\n
        \         \"1f940f6ef33d6150dff8b39dcf2250d5665c04273b2be2dec99712bbc012f75a\"\n
        \         \"31b30ba06ff9ebe3b89f58a68f2685e338ff6cb8d4181a8a14\",\n          \"00214a83be453a75bcda9433a7b951433439983072071cc82112b77742be0c38\"\n
        \         \"226ca3c6f38d55b9ca3f08c8793789796e6cde67376d673f5ec57dacc374c4c3\"\n
        \         \"173444dd8a6376de8f9ddc31a4c060d772f02eb749512dcd040231175d0b6942\"\n
        \         \"a947b2c82f7c19e2ce875000af84274cbe2adbf2fbfb537ccbe2fbd072871378\"\n
        \         \"75\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.12\",\n          \"16b110e2909b11b0cf36b052c6f3936a2ca13fc3a5\",\n          \"c2bf9e4fb1ed70ca212d15ee8eb3cd660eb65c5278e03a3b10eb12b25334a472\"\n
        \         \"8b949920122fb992bf2ce430103d74ab74e6d6e762b85d6ef9beb7d72598f293\"\n
        \         \"a43562e90689541111511d314a9c46022376ad055d54ced6ac1f36e98c2b25a0\"\n
        \         \"acde64dcf6522c3d22\",\n          \"016aa95a082382c10c045310fefecc8d17dbf216d8edc04bdacd4f524de485b7\"\n
        \         \"fe8a26f14cabd297e7f03b3c85086a16147d5f6193919bb95a53c146c784c00b\"\n
        \         \"5332e018f643cf958724cd08075eb64ca5680c27c705d40d88b9d7f426b736e3\"\n
        \         \"c5f6394ea683b65c2373a6fceb14f2ea851ca8e000e24dc8f7e7c81b1d4e720c\"\n
        \         \"36\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.13\",\n          \"3c860a28fae8da2ac0d9a33989977ffa04\",\n          \"7c9699906c9f1665125c0b10673f3dad98c91a4ff0faaa647db554fd6227ef50\"\n
        \         \"909c97b706092be210db2c24ba9e8e6a87f9ddd9f3f491291029ac6ee46e08d0\"\n
        \         \"d7a53c462db4f0fd1cc23ec8f55eda07f4ca0d3e3cd37622855b4db08f64be3e\"\n
        \         \"26c3e97875171294eadf86fcd6\",\n          \"010c1e04a858c615ee9695f64ab2db99806da482d2b460293c46dc7b717a5976\"\n
        \         \"a3c7e36d8d47a84a34d63cdfca2c1e38452573ed44c3a040405ecf3fbf368341\"\n
        \         \"c4a1fc9083a8f5529367b99cb89fc5a08b8f3475a0d55e3e42cccbeb20d04a19\"\n
        \         \"97eeda4e3cc9e992d237ec7d32fe25845ab024d5882805ed52f10ed7d25d62d0\"\n
        \         \"af\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.14\",\n          \"4edf4ad3440f17b10d26afcdf4e444d2aa61a19755a62107983f0122fb2a\",\n
        \         \"e020093939b4189e934cb62d27ca5e9719652c137fc49e721c4ab9e9f398b0a6\"\n
        \         \"12de8a8a8999af0dbc1cea0b6163da4261232814ed92eb2160cf4b26d0551b1b\"\n
        \         \"dd919d494793786e1b86f79d6416612a282261363d6c9b7a0d92ad1758eaad51\",\n
        \         \"008cf9b3f3e76090d101174ecd97d10bff6de4d46440003fc0d428f19b8558f3\"\n
        \         \"1374a5fa283d03d4dd43f93a4d9f14ca0068dc2cf3e25437b05ab1d40621eebd\"\n
        \         \"8416f5828ae7c6cfd297b4518f79942b914323284e2976a54d3cd911633a307e\"\n
        \         \"daf1edb67498466b3e98916f9904f4a0ea9b87a98344f073833edf9b2b5394cf\"\n
        \         \"d7\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.15\",\n          \"8a6d53b0ada1854e2313691aab23063de131bc36c764\",\n          \"2685458aebfbd6074ebeb0fc0cc4921c273e8c0a881551502e4c299f334dd567\"\n
        \         \"f51675b0ff30f2c48263200364996699f9b172affec0e79e5c523d1e779ec06d\"\n
        \         \"ecd476a57430781e2dc81f25d60d3a73976579a2f01f07584cf8e5fb3ebd8d5a\"\n
        \         \"932d57aa8a180aaa\",\n          \"013a3d32eec735ebda13f8be7602a0475cf3cf285b4286ad93d612c3ad917248\"\n
        \         \"809d1c4c180b367015cc66c4d8e7867384168cf4cb719bd593355355cdd7d753\"\n
        \         \"0c80c867745f9661c6c33bcb97f2cf75a4c27c3cbbdbbe7eaf4f8234f212e305\"\n
        \         \"8256d4439a9f9781df48efdb023568f94ae4594654a0f9baf6ea30b7d8d9480a\"\n
        \         \"d3\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.16\",\n          \"20f02044e63ac92eb9faf1a0ce35ba7209\",\n          \"2de1fcc117f821f1dea794b5eeb313f429e00b976b53419d3d03ecaa1b507688\"\n
        \         \"77e8b7fbd6c363047e15c255793b3cbe0f5884f0a511254d31bfb23741023c1f\"\n
        \         \"881fe016a12eef1b8af22b9368207e7b1639f7271debe3c8df5293eec3a032f1\"\n
        \         \"ce559c0a04771bbf8898947ca4\",\n          \"017006e86f6c5858fe5ade0dcbfa9ccd11c02d4e7d0de6c158adf9eef10107e7\"\n
        \         \"a4c36bd3d929ea6a476ecfa0b6ecd05149b51215954893a1ab2669c042da83e8\"\n
        \         \"c818b00ae734de5f9e0b97ba1fe3e9c46ae9816b63b15c2dcc61cb3b8b2c23dd\"\n
        \         \"b99fcd54e95560918b9a0fa3c4b6273d1b28a213e120b4f24286965ebee94ff8\"\n
        \         \"96\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.17\",\n          \"d3883b\",\n          \"5ca3bbf992d7ae3594c605c39c3e979025ccb0a35c6ef0fa574a98be05ef7c32\"\n
        \         \"8a19a2775ba06f2dd1e0ff6f0f1f6a3b20fbda2162d0924ff55b70ebfe2b16d4\"\n
        \         \"ff6aef8d47ebe59638e5810ffdb58db05f4d9b4a3a423f967fe579f87378369d\"\n
        \         \"5c5c07e5e3cb5dddf389621180270a21e01078c89afbab189e87f7\",\n          \"016f5505f74ff1104da1f8a52e50bfe29c998710c57de44098a9579e7a3313b6\"\n
        \         \"29603102f08d2d911f917a9c9662608c97a1ea371734f67cbf7003d93c4c314c\"\n
        \         \"3a0e77f3658fa4d0722562c4e13e85a7c8d0d9d4fbf7125884ba62ad2859b4d9\"\n
        \         \"6136f7a2455469ceb60b63ba8474e6160c8317921a07b4b6436f376c5f98257b\"\n
        \         \"17\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.18\",\n          \"06a2ae82a4853207c9f975\",\n          \"e2c33633d54754addd24c85c32d28ad870f1603d444460a03aacad7dcb809601\"\n
        \         \"56bbb259cad346be90c0d4f3fb18ac6e9d5a9ae2a5ab98a1f84b8e70c71d0ccc\"\n
        \         \"0a1a2aa39970d9c83b4b0c25aea43a5a5deadf9dc611b96d11334ef943090389\"\n
        \         \"a8d3c66cf31877aa2cdff1119943278addff5e\",\n          \"0122410e765b2c9e90bdacbcff1bca8ae64be99cf013297485721768370c36f8\"\n
        \         \"c0d9db8d79376254b9c69152720e05caefd4ce7eae08b3dfe3eaa91c4602eff3\"\n
        \         \"8e4d81bcd3787a14d622dbb79ce8644c4fd1d2e41f7c1c97279611740fc50000\"\n
        \         \"3178b37bbd81c5a5829b5c14bf459c4238b03beef73e498f865f6ca79a9ed60f\"\n
        \         \"65\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.19\",\n          \"ad8b11a927de\",\n          \"5ecacff63a7938e998068a2f4ba6bcc1020e1f28c734e434e8863c48e6dffae2\"\n
        \         \"8d1852727ffa7f2efa3de7013b812a02b2171a0f940b36d928dbdb960a6b2203\"\n
        \         \"0c893789cbfdea9735e9ad1094a68461c2eb6f718be474d93a51930e3cda02c2\"\n
        \         \"1f6363914e7eda5484037a76adc53312eb9dbbe45e23a14b\",\n          \"011fa43f5f4fbb983011814d4af545521df0b59e9b6ffd71333b8f9bbaaa0fcd\"\n
        \         \"c1421ce4bf31bf9959fdc6b09b4f4251ddeee8210fc3a52fe7c71a876e6dde1d\"\n
        \         \"fb59a4dab27d34fdce5bbfc6ed623e89967fb6fe73162015282c5f450138f250\"\n
        \         \"4ab61c1f12d2649d815d6e8138438f8a8046c4e840cb718598e1e4a9fc25a945\"\n
        \         \"64\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        7.20\",\n          \"bee29436c2a0de16f66042917007fb5130f3c1aa7df2c7c3bd99fbc1b413af4f\"\n
        \         \"96a65b0e543ec6a50be83a9f\",\n          \"2391a68425dd8f0b83c9b3612467a779cf92f5ff9611c01493bcbef865e15bba\"\n
        \         \"5e8fcf74beb9ea2573a9fce54164d06baa8b6df367cc4c6a114aa0346c454a2a\"\n
        \         \"9e60535918d3660c66484ed953727a9c9a25\",\n          \"00989ddbd28d6095ada6881e28341ce7a0a1ca6bf7f31f772f910493afdba2d6\"\n
        \         \"359d50b9833f83d0ab8713abe8e2102a27ab2a601fb77b9a25d6a0aff40cfdcf\"\n
        \         \"9e12c42843ebad328324a719f29e8d79ea9e5d0d988695736034db5fea73dd36\"\n
        \         \"00136f57a398fe352b278c60cb74ec98ad57a3e1d8c4478ca6179f4d0426f0f4\"\n
        \         \"20\"\n        }\n      }\n    },\n    {\n      \"A 1026-bit RSA
        key pair\",\n      \"0252e95bb11ba1e1c7c95b6853f8de0bfe2b6403ac1bde819d918907747b0199\"\n
        \     \"fadb8059c25aaf1ac565a74929d015a201f897a9bafe754168955b355bb009ce\"\n
        \     \"16149312283c39cee220d0f0858b13812e86a7d4e5388b7eae5aca7c886a76d3\"\n
        \     \"b1e6dd679268a82311e2820318cb8f0f7e85f0e6692eb0dedf30881caf7315d2\"\n
        \     \"7d\",\n      \"010001\",\n      \"0104c85fd5d8d7932a2985c4cb7e9e13a2c4f1903c8b70f3df9712faee2017b9\"\n
        \     \"2082c51653c0bdde9de66c3901b7c22be4f24cc56dffaa75d43b18a2e0c0dfe3\"\n
        \     \"726b198caa0c9665263a93796a27d32984465f4b4affca0d92f4e51a37e41ab1\"\n
        \     \"550766d5ca7e90d4de909bbd794e8bc52b7499a73e468ab44213cb3a3b5452d2\"\n
        \     \"ff\",\n      {\n        {\n          \"PKCS#1 v1.5 Encryption Example
        8.1\",\n          \"f72637aec28d2b6ebf8f73d74875df01cd12248f0020608e61c73d1a01f972f7\"\n
        \         \"4dee\",\n          \"cc2077a24001f3e3869694e4fe2772bf938f7627667b62d590f9ee4fcfffbbb4\"\n
        \         \"7afd5fed6a180844a9121a32ed7cbc56cd2870a2d696b943d6fde9767c1b9648\"\n
        \         \"616c32ed6c400d423dd4ab7216afada028402eb2a1c3ebcc245afc7f\",\n
        \         \"0072575d3b11c5ffd6ae24f353ff749927b4ae5df463f70c5f3ef5496b0d145e\"\n
        \         \"b2b8a53c28d53efe8bf9f27b2ef4ceea48310577c3d2b4b949a12e3df3f56776\"\n
        \         \"828818452d81bd45af158c87bb57745b8a10fc1a92a0ea55c85139f842f73f1d\"\n
        \         \"613b9a964af8ed720d0e0847f7ae5b305c05f12cbc4c9c1684acf902970d8209\"\n
        \         \"49\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.2\",\n          \"2a8e3ee7eac6b22ec658ad44d666c8cd3f57ecea299b5cb7bf9a373dfa66972f\"\n
        \         \"13e5f3a300e80e6dbf7415680d0d24901ad6b140b000aab85351f92f\",\n
        \         \"fb19209d8a29afafbc053ac1f320ba60fc1fe104aa7839c84c9b3eaa18a8f943\"\n
        \         \"bb219f59cc167a384bac7bd365824e103631b97bb9a6d118f4f0a951fa478a05\"\n
        \         \"ea09\",\n          \"021b54646571a9a93f0b0a0382e540a8c3974cb31c87ebf17b3ba62a1c9521c5\"\n
        \         \"0d7f90702e13ae0e22263834e7646035159445a0877d9a4f5b16177f7fe052bb\"\n
        \         \"d023d081894f2d97cac2452076ca1191a171a48fa1cbbbc3f0f6f3bc1a447840\"\n
        \         \"3a5a488febb3a41380163d942c977bb8ecd2866c5f5d919ed20c0db3ee31ef2f\"\n
        \         \"51\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.3\",\n          \"d99b4f10d9f32e12ecfae2630b22ac026af964b9c715d207\",\n
        \         \"e0af8b7eab36a6ee316d781367f09ea11e31fdc1ef2cf9c97c379eaacf6872a8\"\n
        \         \"213cbe4ce2e29c778b35954010063f1776ab5b172da624b406a1c58e0b574a03\"\n
        \         \"b1b1b2cd7d3a9e5035a9a973058f0497652d2f73b1dc8f487c09cfe71d8ff8f1\"\n
        \         \"458c790ee0c5\",\n          \"01023bbe8557c2630a262246db7abc540343887038f64c641fd74ee874ae9670\"\n
        \         \"fb2862d424703da20be4f48b239cd06043819d8f615144e2b1f00c8f88492e62\"\n
        \         \"f6e07316f84905353b0b1880ed77da2b62d3a93bb70ff6a5007938b973b4cd5a\"\n
        \         \"bfee0cf13f5d4ab2160102685cac8081834f9555806bb322d0dc5b8a2bf12845\"\n
        \         \"62\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.4\",\n          \"caeca8e59b810cf75112f7ed047a46692ca0b7a86e1841d719\",\n
        \         \"761f6864dcebc95a779bc0b16a95866c33dc8dcace61cd7bf90172d99aa457db\"\n
        \         \"6d90887d84c4738d25cdf0e89569ae47d3073ec446eeedd52d57208bdb694557\"\n
        \         \"034657a703784937ba694d42512138532b8ad1d986fe47318b2823de82ce276f\"\n
        \         \"a6f0d3c8ef\",\n          \"011c0c03f7b6e1c1a8411740a6e5b473c28d6221176c9d4f68024ca57cda273a\"\n
        \         \"f554740360990a1b74de34bcea103c2d0c36576002080b30bd28f076fb75fc9b\"\n
        \         \"eb9e05d1989a311d12c1f28fd69392ad4be52ce389dec11eba946be05991da7f\"\n
        \         \"d887a8d8768de736b905bf4bdbe88b85dfc3b25aea30fe90df1d22d8a8d61565\"\n
        \         \"1c\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.5\",\n          \"101212856e60cd272fb169cf62cf47f1bc50ef9f1fcfd214816c807f184a903f\"\n
        \         \"16f0e809acf5e0\",\n          \"6043c8df6a7f4ab83e3197e8cd0225dc3866b5d8e6993c2cc5b876351ee33c71\"\n
        \         \"c1a4ccdce45f3e9dc7b7e51b52eebe0e270e716207ca1403e13e723ce73f1045\"\n
        \         \"5edbde85b0829052edafe56e9a22024d4068371d36c91f\",\n          \"0005c5cff89b933d8b6523b35906bb3a711a0f7f503f92147466598503912730\"\n
        \         \"3b0011e7a42b41c33bd20db31b1560c9b5222089cdcf53b82c95f8c1adcd8b78\"\n
        \         \"3fd4b48a454020668e0b62520e52585209db529f38708649d8e064890b228fb3\"\n
        \         \"c1981b2aef3a5465ceb13021ebe08d02e33aa2dc3c39284ef7a858dcceb28ffa\"\n
        \         \"28\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.6\",\n          \"6f03b5725230de7f9963698edb7975ece8\",\n          \"a30ee5aeab5931033efb70afbc2d3d11a63384cb8cb33a8fcae6146684e63f0c\"\n
        \         \"c32e89a7e4ea43327bf035669543192886dec3fb4e2d0811efa9aec5109e31b6\"\n
        \         \"a056e53e317f6a904b13a7356f5e7ae60b97215ed14817d28f74b1640b1f2e42\"\n
        \         \"ef0d38ca35a354a0afefa803a4\",\n          \"0010bd2b356f9eabc22f7e68f72f6175f9ab9deda96423b74b11de82c607a138\"\n
        \         \"863e17966c07f56cde9ed6bc422ed9feaa1f65367ccf91cd4c9158a749571a0e\"\n
        \         \"9f9607cb48cd00a448de03649106ce0c2406aa50aa1217178cdb06801c70a89a\"\n
        \         \"7a1a83068e68db95d24ca3db33a7e5e43a68152274bbbf4006d9fb69f0514cc9\"\n
        \         \"e2\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.7\",\n          \"879913045461bc0eac\",\n          \"c3c6a24ac340a4a3ff3b2c302b56eb8391bbd95fafb66478384438abd8b45d13\"\n
        \         \"2b269909b187840a6844ad399fa8137205e02ccae7775ce6662120e154b7bfd3\"\n
        \         \"0e8ea4d34a7db6a23488a5daea38085bed56780cff8727125f1ad5f9d5a0bc3b\"\n
        \         \"e580bc4fa068267b27de383c55c7fc1764c86ac21a\",\n          \"01d21ece33f440c72a111d62ef486c77c6c890cd81a4eb0532ad2c0ec768dd1d\"\n
        \         \"e5b2112fdf04e287a95b950b1fca5ae693cf0e8acc936f374714de7495908c29\"\n
        \         \"15a707213ac3dbdabad81b4ba1cb50b95f9314531fec833f0821c04b5740d73b\"\n
        \         \"8cf1f9e3d7abc9744926138fb015c0f056cc4ba2f3163734db443ebd68858c4f\"\n
        \         \"a6\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.8\",\n          \"5b\",\n          \"42b999fb163a6ffa67a9bc4e6ba12f81b1d56e54bf0866397fd314eb0cf97f13\"\n
        \         \"b7804f768fba540621f05cd37264d8e8f58228fb6ab30ef54e30fa8cfcb5a87e\"\n
        \         \"148fbabf85886ab1f0d525492f56c647f7229b2bf394a0ceabbd37c93e6da809\"\n
        \         \"7e82727b3d53e8c2ad1f7713e34ed13ba59e0a914db06faae49cb37996\",\n
        \         \"0090e5355947902bc3fb580a84770903a3955b3dd7191c928f7407ba747265dc\"\n
        \         \"8cbc1d22f9377272b1a8c35c238f04a11937d1b4354f643795e986dee2e40a40\"\n
        \         \"6741b021fdf05c4ba11562e83e9f28592e0a7914fe88b2c0fe7a5eeaf500f7e9\"\n
        \         \"8a5ba954f75077bc8f659f21bb2203314be0d6d21e6320c05e6e2d557979226b\"\n
        \         \"80\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.9\",\n          \"f63529901324a20fe5e9258ada2f9537b01f5839b44597e3293a1225ca3a2adf\"\n
        \         \"684a72a793c69c56af2d3498d32a092e914b\",\n          \"7bfa8597a434cdadfe156314449513d76c105df1bfc48c4d076abfc05b5dda72\"\n
        \         \"e0dd15f9fe82a9955bd56d3343e7c6f25a60741207e73a2d10bb95d1d729a227\"\n
        \         \"93e6c455e916235a811694db\",\n          \"00adf4787467eac2ea61fe7ef82fd87c2da5899f30302bbc112786d2fb11c142\"\n
        \         \"f3f1d8cf37160d2e4a43983ffbd393a41b599ee6a27e246425502d4690202fe5\"\n
        \         \"f8ee1bc6c1d5d16be23b973aedf7f9111bd8b142844265fd93577a43c3acc6e2\"\n
        \         \"af2089d9d2f3f31a5c247a7b68315bae25d5ae8140a51ffc0097107ec1620ab3\"\n
        \         \"b5\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.10\",\n          \"c6d14b047145f317781dd7382dc0a97257d554bb53539ee9a292e7da5cb6426f\",\n
        \         \"01ff38d5ded6c43dc1dc5c27a7e4813f448f45c96edf4bd93e96fada9bc8ec5b\"\n
        \         \"434f0619a38e04356e06278551407b7f37e42d9145620a81981850a49e285117\"\n
        \         \"2d230b37824110f8ffdb847794639d2650cbed36260105f1f1296e52a7d4\",\n
        \         \"005edc939789cfbfaaff282baf9701d61f9dbee6f2d206cfab775761f42cb274\"\n
        \         \"ecba31c7cd2fe6031aba0b84d4627d3037e31ce7e15623ba7cb7690251c06327\"\n
        \         \"a431371298df292195b6451162d2da92a7078e2d07c9f56a07068a9a3e173e4a\"\n
        \         \"ae25a5d1c68e68208cb5253a0a53aa6e2ef6c295d1516569b862cb92ca823ccb\"\n
        \         \"ab\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.11\",\n          \"c11653e810b53e6511f13323fe5226a170c21f6daa4429d968efda0529d7b6e1\"\n
        \         \"0dced80c6b6301ded22f52911c0f7ff4535bd5e20ff53588cd3de6648ac02d\",\n
        \         \"85fa7c6ce96d0a8a1fba7504717ccbe137138093956eff063fc2efd4a46d7dc7\"\n
        \         \"4e90f1da9e43dba9129f14ec559a4d2d6c5a19cbf3a68c62d0983452a9ee0c\",\n
        \         \"01b08d498313a7d74a055314eb4315ba028760dad41114d5942d63bf8d27be3f\"\n
        \         \"49ccd94acf9d3aa22d09b99bf97409bcf33213c0996707868203a9ab27708d3f\"\n
        \         \"ff69b89d02e36e0121a119b8d4d9bfd4fe8b168fd7c12a243f7a000b39bf8d56\"\n
        \         \"481724208023bb607b30505dd1742f879f16c10ce490d34a680d27ac39607da2\"\n
        \         \"4e\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.12\",\n          \"095b77c94dc1b18788e400e6916a4b4cfd73ace0df9a3ac131bdf9ad0a12db76\"\n
        \         \"6deb225359d901cd56ed88cda3d328565402\",\n          \"a34a6805557109c261dddf5f85d371ae6520f45adf469601b5c359fec744cb2a\"\n
        \         \"ae80983c732db6c545df55e0208acfbbf1c2c5e79988f34ecd6e5bb4b525c1b8\"\n
        \         \"bcb070d0d84248b1f8e7480e\",\n          \"00395636a82667dcf00d5dbdd8541206948d49368917ec0e00fd7ac5ca8bf44e\"\n
        \         \"c58378386e594bc065a9a63cf2a355a608b6f0bacba56008bba4722a7c470545\"\n
        \         \"a20f387853d460313b2e864e17b233e596354132af173b4d04492647790262d3\"\n
        \         \"a43f8427378837466b0673a81527e6be104580326fec84ba371ea61091fa4033\"\n
        \         \"a4\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.13\",\n          \"38\",\n          \"547c91751905d5a284ac3fe432cbe03055b285065896110ea36d05a140083ce3\"\n
        \         \"955fa82841eaf6db4a50d12c074f45a688b5576d6e616807540ac117585c5bc3\"\n
        \         \"be5260727cdf123c774db40cff297088624853e4695136b931161517a7b9b5dd\"\n
        \         \"cd9d32de3dfe3ee2ea688cf7bf882ccf7b9c48d5e19effa6504a42620b\",\n
        \         \"0089e39dcfdf91693defe39d12bb25f80a768d441b481d6a7548695042480cd4\"\n
        \         \"a0ba9783d5c5bd38896dce06acb177a4ac5968e655a7aaf50d694a649713b7a4\"\n
        \         \"bdd14c819f83b2047de2195f7303665453a8a1115e5b48ac0e9a65eddb318951\"\n
        \         \"7b046fcbc2d14381776a77fb468e11293c78c8374c8f4660351ac2b2c7845a25\"\n
        \         \"fe\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.14\",\n          \"80646b3c4df0eb791bda0ccc4d97d81ea8f6f74eb245e2c7c348fd7fb99016a9\"\n
        \         \"d40a605ac742b27ad248\",\n          \"11b8e798d7a142d082e0598a8cb4f8c2aa875d5b65178c4ee67a5cb841d1cda3\"\n
        \         \"0431d020df2880d7935815d59d91b9993e53ac341c972861eaa26697cf10ca8b\"\n
        \         \"2794b45303be03489ebe074d8f239854c3a606fb\",\n          \"01f1e5a3dbd824752d2fba3c3242e9d996e627430d493e1b446a2dbcd86a4809\"\n
        \         \"3e37a2e128b28c49d2d172bf5a977c369baa9ffb839bd2fdf00bd30ff5228b57\"\n
        \         \"6b94e6d8ecf944247adad019f21d06fbe418d3a6d54cdf113e8d14f6ea06d8db\"\n
        \         \"796493bcb1896fc4f3f30386c5c8bab7037c879afea47c8fb7a3c5b50b291866\"\n
        \         \"b9\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.15\",\n          \"6b631c7c35ea75a1b0\",\n          \"3e4240c3e09ea78355358cda6129534730f48a9c9a1a5213284bfd0771216ad4\"\n
        \         \"ca233d993ee6357f4b1b12a6baa17743134a857fd769a8bc78d61fb14fea0522\"\n
        \         \"1dcf5aeb1affd40d8bc6945c301045b686c611fa437e30ca0fab5a4cdef5205b\"\n
        \         \"af9926c607be9637b1507f5083e940ccfa2fb38619\",\n          \"0047cb9a9198d983b32224cf27fc7299bbd4ae0778a83fc59c4745fa99e917bb\"\n
        \         \"74f8bd4ef13f140ca9b72e2aa174ceea264894e215f41c36d4e6f346f69b4f85\"\n
        \         \"505c54cd46259c712e30c49294badb1c4716851f2b75e39612cd5466ba56e3f3\"\n
        \         \"1599c2dce23d04c93a64402227df40b514c74d0aa36e1e8658e29277b305af35\"\n
        \         \"15\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.16\",\n          \"400855da54a6d1fe5fb58a73d2a5e5583870fbd525d2f572adb5963006d0a133\"\n
        \         \"9bea889d6d46a43762f513bb7cc03622bf859244d6\",\n          \"496e50bab5ef18f22c3f62b921148d36c101ad0a9a2038675808ce8b62f8a6a0\"\n
        \         \"ba8d9105f92ed8a02b312f324f3fd39192bd4153784fb55905c3b669307bada8\"\n
        \         \"27afa1b5cb3dc11dc4\",\n          \"00d3a85dec97d34488ee33c658ba188e64cb57837d2eddbcba8ee52f13f1e4fe\"\n
        \         \"9bec2f92e7210987e1c3fe345d4019770b07749451b04d6730d53a91015b257e\"\n
        \         \"810dae0a0c116a4f224514edbd39b2c65e152d3b9789dda4f0d45bf9832d279d\"\n
        \         \"3431062b4de1b0677ef59c6c332768ecda3aa6bcd10f70bd06030a7665ed3f20\"\n
        \         \"79\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.17\",\n          \"b87edb455a7e85539f928edae909fbf8f7a199c03a94a9a45acab25efaeecc26\"\n
        \         \"2974cae0bb72243a99c6472079f19738\",\n          \"035e31594a5665605b84fec93adf925850851df7b394e9bbecbe4d72c92f2703\"\n
        \         \"b6d60896e0054c59cafa5e0d286c812b23e537885e4c3438a772a1610ae9fae9\"\n
        \         \"18e34d4992c7f263f3e8e2f980b8\",\n          \"021c8c959aec4729688768930d67e20299dd47902db079f239b8c288b0a70447\"\n
        \         \"c7196b84912eaa5bc3aff6ba630c2eaa3fcbb24be463836531250bd4c4f2a1da\"\n
        \         \"68c8bf4f40cf5c98b685ebeca4d03e76b334af0b1b34488b582e2935253572f7\"\n
        \         \"fcfaa83544e7fd52ef458acccb19301a4ddd50516f16a5fb78f3959900dbcca1\"\n
        \         \"f2\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.18\",\n          \"302ac80e30c6553e9359df85b1e24a16c862a20ff4fd9d5f146be281dc3066ae\"\n
        \         \"b8fa00b52a99\",\n          \"326c99358c4e5fa4d2c043f02f92705f791cf712bc01045b4cf349b42ae5acfa\"\n
        \         \"c3783811bbf07f34bd6c851955cba4a8b2a7d139a78bc4d88e3a88e6c4cf494e\"\n
        \         \"6a4a52354145e11883cb5c78b572f30a51ed23f2564b6960\",\n          \"02032987ccf75a638624178064dba4b72be539e07ecdf5300356cc43d729fe34\"\n
        \         \"fb35bbbf5a32172ce39ea1fb47d38e497a03b601eeafdaaf99a34fd721184af2\"\n
        \         \"e18e83d050a4108b15e5e3a27e0e636df8d94f981658ebdecdab0defcc0daf3a\"\n
        \         \"c9a27b3f22a0541d35002752e9cc4fb2582fae2511a132ec5c228a8872bdbad6\"\n
        \         \"87\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.19\",\n          \"00b38201746dcaf40348af57bad72570caf5a2855fec6c42ee22dcfe64c997ec\"\n
        \         \"62a5c975624bbd1f8ec916\",\n          \"939105c004c01aa9f47446d3ccf530e9b2174c50aebca0a95cb7a4d83954efb8\"\n
        \         \"039e591c1971d776cec761129206db7ad3dd871668255a5550ac4e948be05c16\"\n
        \         \"2220dcefec13ff1fd8a5a7f78bf715b49d03ba\",\n          \"012ba87dc03a1a38bfedf121ed8722827bd97dd63fddfdd59050c53c5e7b49fb\"\n
        \         \"7ae6038487820efd5fb9714381ce8daeb56d1350bfc67df091bea2acdffde929\"\n
        \         \"2ab1291cc9751d9e39a826f054ad1f33a2b794da50ef80672917e0b3814045d2\"\n
        \         \"3df45dba3fdc6f09ab0a018b060aa9fafc3a5d19d5eb64310bd602a9911dcb7f\"\n
        \         \"24\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        8.20\",\n          \"ba2833660476d8731507669f50298c2c68d44c53e3d0a803786e\",\n
        \         \"86ce8e92ad88b1462a171af28b4e99088c0498a29b4ca5e66f64f86adec7f964\"\n
        \         \"e8eb8257c5c01cda165e0f7511db147c10bc07515f04f05f52d2bc89228357c6\"\n
        \         \"61b43f43d542dbe77834091c7ce70b182e19bc936c30684a831e2c3b8a4a7446\"\n
        \         \"3f0c9f1b\",\n          \"0112ac2898a25c1328791fc96a82b72918b51a668c540bcffc8e0b3aafe205ee\"\n
        \         \"871f5eb76ad116d304cc0442bdb1af5b9a6345827e678e40e33fc858ef6c456b\"\n
        \         \"e43652bb2ebc3964b4bf4a93a8eeef8404aef1a044415a156f7cfd7995ac25e7\"\n
        \         \"b03026698e14489efcc1ae929658bb663de0ac44a7a55caa0b0b2034c2aaec13\"\n
        \         \"4e\"\n        }\n      }\n    },\n    {\n      \"A 1027-bit RSA
        key pair\",\n      \"068ef0b274157d7b5ec72903865956183e0e3462ecd22114cad4c7baac94c7c2\"\n
        \     \"c5e6cbdfa2abfeaf8d23182e9c08815d100d8e8f621d3cd4afbb9985966fd6a4\"\n
        \     \"182b599088a35d77fe0178acf7531c70d896ff788edc82060540efefd9f3c24d\"\n
        \     \"5be69af7f2f44485b19118a468814fc513e3a1ced67791f9036eee56fa9e2060\"\n
        \     \"2b\",\n      \"010001\",\n      \"71940be6797bb3285ebdc20cc9275f5d775588e9af6f687a2e39d2c191111076\"\n
        \     \"95ddede391d2196b29581df3154a3712fa6fcdf85bb4fd48641f071ffdb1de08\"\n
        \     \"a1d5921ca10e68dc041313c9bbcb8081bdb5d4604227cbe57807416574d1a38d\"\n
        \     \"a0b2344bb215b4182b106b2b534a8d3206f2d7d303b8dd5bce292abf75cd7649\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Encryption Example 9.1\",\n          \"96ad3ba4d29bdd3525bbc5d02e88c0133ffdea409474db34df733ca59c3a232f\"\n
        \         \"6a64c2143ca131a7f18d005bb3aa6ca1eabeaa136bec37db111d4d8f61\",\n
        \         \"10e9f5093cec872edb16162b6bbd5212f6101a71d51dc1420cadd1d550faf9af\"\n
        \         \"40f573d3e3ab6891d8a882ef0656bc30062a05b1cc277a11c9ba2efd5103c56e\"\n
        \         \"23\",\n          \"04dec01bbf8e0c2296d9f5bc2d2ba895343ec30ec54413576d8084b93143cfa2\"\n
        \         \"d2033bf4c2c2e03f5b0259edf14a8f3e11698577652a2ab9f51ab0187cc75175\"\n
        \         \"c86dfc9a45b1e4eb8b5447a94ab9b5177a0404ba49e57f83c93f7fe2de241845\"\n
        \         \"f581f64212437e0c04ff34ea1dee6dd28f6ff3367235441374f0f2ef71a9cdae\"\n
        \         \"9e\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.2\",\n          \"7f92abb6e52ed5d420849ed6ccab36c3d0849255431e193d67bd944b6c0fcefb\"\n
        \         \"7729cf5a31\",\n          \"cea968be78ab5faac227dc3c6fc9ced49f851ed58b08d5ca375428489afbef3b\"\n
        \         \"f5ed83746d959a0a56e9ac66ff2e7c8b8c3ada97fa15dd7f991341747070ccad\"\n
        \         \"6542bd7f4b33f55604458b9103ae13dc89b4e62ccbf84ff73b\",\n          \"025a1e65eb37f4b328cc31b01724f83c26ed8d18a65165213ba0eff7ae767ee6\"\n
        \         \"0b9927761a0694b5c3bb64b7e03996a3568d6fd1ac6b7a8b71975bb0716d945c\"\n
        \         \"02d47368966fffb1d449fc6ed73e2d19831b86d1876751293669e77d6e12a0f0\"\n
        \         \"c962dfcd400fb83ce8260716317ad5fde21849aa6f68e70ce0b5b31142898ad1\"\n
        \         \"a2\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.3\",\n          \"f5b535b63d535e2137732c301337c953ea2edd58a78c2025832dca9d6bcdad87\"\n
        \         \"c997c906836b2bf95c83f03f7afa2901346d674aa69a1b47f6b916fd4b\",\n
        \         \"c89efdb234e01a2f07762957e8c0a4f91abae6d4f360e89a7c486c5549f3d0ad\"\n
        \         \"75777f0ccd97a0975e9844d986870276c9825f5d1eef3d1b487abcd19b512d08\"\n
        \         \"be\",\n          \"039a1ce8c0916251a01e5fb6615d2e11982f4fae7d46df21daa298f2c74611b5\"\n
        \         \"5816cc27fa37279aaf5902ecb6c839fa900cf3af86ff40a447dc402235f90667\"\n
        \         \"9123f3cd381904f33eee353ac90d5f7f203a6ea891351adb11601bd9d6b0a024\"\n
        \         \"333a2455be1ca62ed82cf37cf8de4e2392dd54e775033c56990bae5c4391b665\"\n
        \         \"3a\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.4\",\n          \"a7cf29820347a52ab9cc4204bb6ac1bd7fd90a758a156dfa9ce71927e74ee215\"\n
        \         \"98708cf69cfd7985742f5027ffa710\",\n          \"109f0d6ca0e13f504c07d84a5bbe43ed6a94acbafab048893605d341c5d28d85\"\n
        \         \"44c3fd284350f2c22d1f367dfb9b6a6751d06aaeb17c3c0a1011ae38fba4e46d\"\n
        \         \"4e44c482879eba0644374871b5c53b\",\n          \"0448c39cc457d6ccc30b0d76ff5a132e00c75d533646b8440b13ce730e1b7ad8\"\n
        \         \"3bb2ba4a082bb5a33cf41466e067fcf16c6a29f1879f77e9b0dbf3ec080575be\"\n
        \         \"bac0c5676baee002d573d1bcc8a70fed2ab67943efc9bc13139e5d8dde2cb30e\"\n
        \         \"1b934f50cf6c4573923f7398de6670cc26341f3e35a419361e59f60898f2692b\"\n
        \         \"94\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.5\",\n          \"b803c7ef5f9a9bd58401\",\n          \"8e7758ed4d1ba4dce088926c10b2f3d4c1e2671ae72e659f721ff7be6fc035e3\"\n
        \         \"85d512d07a38dcca1eb831fef906100444ee995cb07bc26a5dc92b272a74a92d\"\n
        \         \"2149732522d539434fa4d03b07cf9699958c19891d1d5906aa36d0a8d06c6fc8\"\n
        \         \"7a4551bf1858bdfed5f886cc8d31ee4c164e981d\",\n          \"04b62d4d4b9c1c3e051309795c69248aed389de24a6c79538a2d51d5d03719a8\"\n
        \         \"a528750d5d254a1b914096db96d83d2d9aaa2a165bb1346e44c3572756c38d52\"\n
        \         \"f8d307c04e1efee5847822317ab469345b86c7b85b541541c992abea98d108a7\"\n
        \         \"dfc7091c30c6685af0e33d0466ace4ccccb34e5b266d3d6b947bc7c0ae34d5e2\"\n
        \         \"64\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.6\",\n          \"617ea9e4a56c4ec1d3d7fd7f3281ae7fa932b2a0a6cf55eb6048145681b3588e\"\n
        \         \"df701269f89fe64aa14ad8df0d46796131\",\n          \"64d7ebd04850eb6f7ae1af48120a80130f32edb50369640b222b8d63eff65712\"\n
        \         \"70dcab3176d0247228dcd1c3f3cfd51331b756a8652a14ddaab99396b9199a73\"\n
        \         \"8750d69efcd377f184ae19b5a9\",\n          \"02dfe72958595881d807566d3e3607c022e461fe1dbed3cc6d63dedcb7190f06\"\n
        \         \"c7d24b4f03264cafbb7482ec28b9ba489d03115af58fde475eda58bf0155cdf1\"\n
        \         \"af16df206bcd125704c3e315ad3d9544b9e2c2fea810ce484556d29e07adbf0f\"\n
        \         \"f461ccbcf662bd74959a437d4c8011ceada5502af7676d9a1521e3189dafde00\"\n
        \         \"dd\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.7\",\n          \"c91f2c98c75b2fd4cd8d5c7ff2e769b12f28f313fbacb51b5e5014dfce9d635e\"\n
        \         \"7c6b2d88af5eac30d162b8ddc22ed8bc7bee506bfbf31e51ba48f426\",\n
        \         \"6c445961f86fa298d7647c2224d95bc127dafcbd5b9021ec7e9ebde96f5d7a76\"\n
        \         \"f4eed0ac922a6e93eb3b4c3c43f8a57e18294e1a5173b0f7e2dd2c4e577a4bec\"\n
        \         \"e714\",\n          \"03a885aaf7b7d94fdae34b41c3741766a409c1ee0232b1c53e5f6c5aa54ac1ef\"\n
        \         \"0e5bf99b9f7df3e9b00ced9476ee1adb8fc5716891f54d45ceda70b9db3b8fad\"\n
        \         \"25e77795af1481ec492184c49e9df823ee6466410f65013ce3c57916635da830\"\n
        \         \"677f932bdabab5c0a208d7f4367a7eaba75b045d25acfdb415fee05219a58423\"\n
        \         \"7a\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.8\",\n          \"7b1c3151a38d32ec7b82c48c000aa481de418e803b673d2e9a0fc3d5e974adcd\"\n
        \         \"cebd3c2a8f41142118a55e87d04bbad5b36425\",\n          \"b0f5be9b3f237cc5afca5a99fccb77b6efd868947f98554fbeceacfa884c1515\"\n
        \         \"39d7cf423e726031bfeb8dd2d4f301da6bdfcad6e5816582addce10d85d5ee1d\"\n
        \         \"0446f373b95ee160bcf035\",\n          \"066c3009dc6cbac7b8bd5141c55cf86a3d7969d585452e3a66540f9402dba215\"\n
        \         \"e3fb3a277f0d3396c8c008af19913e3d91e40f867606b5bf54304c0471dadd64\"\n
        \         \"04b67a4857bf52246c0d601823dd0380c6609dacb92db602e55764ae4650df1a\"\n
        \         \"dbb4b95fa5af4bcd1121f13c0a7323ada8c60de3d081729d197f9cf8e27cde80\"\n
        \         \"b1\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.9\",\n          \"b293c6f6d05d1f38b561ea3d0d0ad6a2af8309bb9adefa778fd6bb9fff3e010c\"\n
        \         \"404c533997ccfed7e1917a669261cfcca4e37029991d2de9b299\",\n          \"87bd2f6bb48245591d65f023a65b63bbba8419792c0141092b1db1be53e8c9b4\"\n
        \         \"df95f0ad55b96e5e57615d214b4977870a272f723166c62045765e6b4a73a7c9\"\n
        \         \"ebe11d24\",\n          \"03104ec6c4ab9dacae427fb10699bcae003da56f6d07509587145b733edb5323\"\n
        \         \"9a6f422286839cac064adfeee5dc89780cddadcc807219d6a97b85c13f27937d\"\n
        \         \"70327f82cc36a5da8e456377fca23aee514e044abf1f66c3e7bdebc2cff628bd\"\n
        \         \"524a0966e2638d2833bfa343ebc741f76b5b70a1136f4abc602864a2ad43a791\"\n
        \         \"bd\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.10\",\n          \"0838f4a592\",\n          \"89c5898c6c3dc6cbdb1acb2805df5398f0b3358a18e5e63c14d20c98d21d9fd8\"\n
        \         \"b2ecc9a0e83daf0c069268bbe86feea51c93791b68e5d93b745feaf6adc42b83\"\n
        \         \"c309c9cd3dfe1c06153ab8808556189890be053a925488d029fe5040e3e7d5d5\"\n
        \         \"31b32eb9d2f4eea22111b38a6553f00edd2365575bb949f363\",\n          \"014f2797dde8d46018ff23d89be2e3ae046eed3197c879c60e26f3d2400866eb\"\n
        \         \"50d7b45f6b01ae9ca006847efbe9abcc9bc3e35690072b68db9ecd926d945f78\"\n
        \         \"7b27c3753bf96b2d49983084142c42a1261aff7b17ff4b20de9bffa58624ab37\"\n
        \         \"1d4ce2f96469a8e1038d5720b81cf042dc78bfda9a3ccb6160812ddea158bd2f\"\n
        \         \"5c\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.11\",\n          \"12380c5e80bb95bbc8857357fefd17bf9e509627d28cdfcd12bb131661b342df\"\n
        \         \"a6ca672e13a8851fce19b1a8caf0e33cd6ef538a05fa54269a1378e7\",\n
        \         \"880331ebe91ab6ce1684d9af5d977eb426ca7156e0b6f4336c6e0933d6fa4878\"\n
        \         \"2c0ac969f3dde61d8fd74c47fe9e3061710d245b1d3811042860c1f48d2b8ffd\"\n
        \         \"809e\",\n          \"046c545ff496c21f690127245418cc5fb18f09102e7aca87e26e2082fc16f62f\"\n
        \         \"e9f42a722271a79eaee9625a7e632c1936404cec6211d823863ba02c6b0a8319\"\n
        \         \"58b4ed8fc625a2e52a054f8f181f130f8bc4b1dfbd44b70a35b35e9c7f4ac55e\"\n
        \         \"e5e2cb068b758639b2cd643dbfa82e2d9720e489f5c821d8ebdc1368a9d3468a\"\n
        \         \"37\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.12\",\n          \"eee1e45d18b147c269a60a9c642018ed6cd1157cd0ce2b2968dfa4b497fc40b2\"\n
        \         \"24bd861e2535122b\",\n          \"5c513e514452b14aee33b61760b858c5357c7d7f20e4a37c7eefe419cae3fd16\"\n
        \         \"f9d83e5ecde19ee63285ddce6680ee9464fe83756e9031d6379e6a6b384ce277\"\n
        \         \"bc642ced83b29cf74b72cefff5307104e183de2ce6a1\",\n          \"03a86483cbb72c15f5a6932b012f40c4b173333b2686f4984ba66e24c7cf4441\"\n
        \         \"23ba2ea666a1755d09357beea4379ce3cdb0a77a6ee3b7ca60db682417f7163d\"\n
        \         \"7d3ac7352811bb94c5b771f3d3fda773e5cebc8bc6601155b3f4e4b4ca85d9ba\"\n
        \         \"b8ec258cecff4433c92e8f863d96fcc79429498a9e1790330bc487c010d79924\"\n
        \         \"5d\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.13\",\n          \"5509a5c1ac5489dcb765f37cebbe7d81cf0276b1f2cff95d274bbd04\",\n
        \         \"76e81a51371fb50741141dcb31d51d1c461fcc026aea852015d468740b452340\"\n
        \         \"5f95ba879b0869bf031a60654fc4e568c1957ce4e42a350a95bf8cb2a8b5fde6\"\n
        \         \"dcfd2505c037a29ede689c53d83219e73e640817bf8afc9ab004ecaec843e4fe\"\n
        \         \"4e38\",\n          \"0255de280b71afefafa20f241e081b7ec6c162ddda1884fa9f825c4ce7636efb\"\n
        \         \"c11b84a6ebea35892571ac9e6b1ad8473fa573c883c9f215a19580c3ea302f88\"\n
        \         \"f44f48e4d95c3440d4931f1766a1fe7e790e5d38e85d1f63850a3c707ad8977b\"\n
        \         \"88c38cb9ed98345cd350c3dd45309fc81cb46276e4ad647fa84c14125efd67d8\"\n
        \         \"ba\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.14\",\n          \"025381a55c8e487d7f4ff7c36cfb375007d19f9371136e2b3df4425eeeee5d79\"\n
        \         \"c35261fbb4ea68bd91e8edaba2329e29315306c7d71833155b88\",\n          \"aa310f62da90da4a2028b381399cb7e0ed3bb510575c9bd0f638215baf7808e3\"\n
        \         \"245eaf38b76e2652290b7cc620907cda0cb7af073c122ff83daae1986b43ec1a\"\n
        \         \"1482dba6\",\n          \"049bfac6410b7780397a49fb8893b24d903b3600f33c782c1475b5d24b4f4e88\"\n
        \         \"fd1124ef0645f3d391ed31006dd1b7c264128d0db9aa0d65a09ffbe29a94cca3\"\n
        \         \"58da64bd1b72ff55888808105be091ae23ea3f347505179eccb2410d89decb62\"\n
        \         \"330f36c744262eb2b078b4254bcdcece211cf0574a2468e2a1e018bc31f50222\"\n
        \         \"35\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.15\",\n          \"073c4367bafd4810d7704460c783d350f7ccd099472f79f7fdf23ef0cfaaccab\"\n
        \         \"9571df53fde4\",\n          \"f95a3996def1cafc1a4a0b34146b73de6b5a92cb812e20b20c122a251e6b22e0\"\n
        \         \"469c98db128d43cefcdd80c7ff36998016a892a8b634b36b9b0ce87ea80b5dd9\"\n
        \         \"fd7a082914e73b83a3841de51b71b1a6b7ef7de4e4b88edc\",\n          \"02dee48b0f9953ee12c718b303b0c89d6150ebbe83ad624e117e3f2704a0b17a\"\n
        \         \"2ebee8385256f0e64280fb06c3b146c099af23a9f24793393781a555ac4ea2d8\"\n
        \         \"8d785d8cdb6e7a2f8952d2503ccf901f1239f6f7b1acd44121c365fdae370746\"\n
        \         \"de4526e7c6560f87546ed577cf9798bef47e492065509c49212d370dea0522d7\"\n
        \         \"94\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.16\",\n          \"bab20b9a6a532e6f8af078b3a185e0aa86e61681bd1bd775044a2c958d61edc2\"\n
        \         \"51607cd9f31148f5a911\",\n          \"376cf018143b0ce67021684cbb36e4afe2ff9de18bc7f02bed863bf1bc346631\"\n
        \         \"9e720feef19d38e26bca7e99d4096a9eed8de5bf203fc7dd9c8485dfa5b69075\"\n
        \         \"ef0cc037fcdfb55a0c928cdac0cba0497eb60e3f\",\n          \"048dd7509918430edabc01468db7e287a7381e428b5fc93ce8defd7f49d5e934\"\n
        \         \"153043d137aca9f7b97577b70dc01680f2dba91e932b53acf2a7f3348f5654b2\"\n
        \         \"cfcfe75d48f0fa4500d1ba5d29247ff142d6b980e11b9dba6883f73bb855a24c\"\n
        \         \"c4eb9068236daa0f2f93458d72726c2d8e31259acd3a7fdeb6feb5c6d2ed178d\"\n
        \         \"db\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.17\",\n          \"19b1f4cd3dbdf05b3d5f1680856c5a744f5162b520bfcdfc9887dd92be9d8cb6\"\n
        \         \"25c725ad75f4f2caa5ef51faca71b5e66f84f2fc6f678ace809d76b842eafe\",\n
        \         \"78a71882853d85af165cc0b22ffdc8873df49e2d6cc0ad0b0a995b4a259c867d\"\n
        \         \"c1aab6428a5b8e9f3be87d87f9e6eac550f4df11368e7f6cfd7d0e476a459b\",\n
        \         \"062a78db5ca69a304810789493db8cd644fb294e17fd364532b8ec17ce3fda70\"\n
        \         \"476465624a60a6ecdbd5d97240c8d89deac11dc30d7b851441408edd642881a0\"\n
        \         \"112b62f8cfde34d9c11385c29189bf3893a6abace04a10aa680cd3a6ee002c30\"\n
        \         \"7035d2399a2a60b5a7f1caaf0584d10fd06d6efd56114c05e43d42d834f03e3f\"\n
        \         \"e9\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.18\",\n          \"8cb73bc47850c17febd34ff4b7323b5053030b96221403cdef45dec65ba60ea3\",\n
        \         \"ed6478614881ebe3fdd6d9ee05f2765fc8a3eaa58031235af96f86e7f2c813ec\"\n
        \         \"0480661d1c2b4def742b2e41419df2883ed58679cb9adae4dec4cf77f8bc2941\"\n
        \         \"d033f8877a906ddc88d6dd3c5396adaac03eb2a7094c0fdf0a44a6b923ab\",\n
        \         \"03978d4effc6d62f232bf46b4290c5011d73280ab0e80ab9d6050a852a6679e0\"\n
        \         \"17e170d9e7156c8dcbd46cdeda70ff9a55168b9fdc0365b8aabb909aad40d595\"\n
        \         \"c90b9f00c1e00ad6f01d544307b254eaf4255de62bfd8a5f7e79dcfc7445cec6\"\n
        \         \"3df0c2bd0ad96cb70242b30b3242078816b58b0a9ffa16f1d86315f8a1cb2f8f\"\n
        \         \"6b\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.19\",\n          \"8ea55643dfe7cbe075c17b93c6ba6b5a74ea8d1abab9c728ae5b00866c62880d\"\n
        \         \"3c00052037cf802d2cf2a8e1bea58c7ba604774d4f80bc04\",\n          \"af9d9d312e22570fbc4bc85a445ed8d899660ed24cf0301533946e5cb9471a27\"\n
        \         \"c510cd175591d23d363dc4e3e69c7bb465517a4cd1d1ce413e1016aeafd55d2c\"\n
        \         \"b9debcfe4b1d\",\n          \"0587111916bb42f84757691efede7eb7796a5cf887c37ca9f61b451fb1bade38\"\n
        \         \"9cfc5fdc219841bb41da827452725fc82b4d1ade569ceec80579edb1b4b15b46\"\n
        \         \"ad7d45b245988023ea0dfcb3744a692eb9aca85f211010afb1e9894f854a5e34\"\n
        \         \"fe89aa051968a3b2362c150c6d970edd82b9e2d13b38c3c2956d9150088641d5\"\n
        \         \"30\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        9.20\",\n          \"525cffa3\",\n          \"0c99304cc6263d1ee2446e248c27112c8f96da82515f06f812398a88811f39fb\"\n
        \         \"056205c44d6bd4855a62c21c601b88f80234e23241f716322d8054a84a1fc3c8\"\n
        \         \"46defb61767cc4d816fa7b3747f8729bf3372ac2c229d052f45bc42fc38050dc\"\n
        \         \"a3f2632e6007b60853b7e0ccb3daa494e55335fd04f13d5fada7\",\n          \"063e4508e5312b5c38694de82a71eda312e9aed05bc143d338f7f22812d93c28\"\n
        \         \"65126a9b3a42c3ca19edb34601c0b28a75663b18f239f5adcaa4e9fa9f611804\"\n
        \         \"726fa12962bba3230cb886d66782a47ea9502a8371e7573bb6b0266c33646bdf\"\n
        \         \"53f8de368ef205b11a85baf21daf3ce7a2599f008b9945eeb186ec192c540ac2\"\n
        \         \"3c\"\n        }\n      }\n    },\n    {\n      \"A 1028-bit RSA
        key pair\",\n      \"0b52cb6b5c3b9ec5aaad894e5177f7f45b8d33dcbbe96a5b26f30072bf1573a6\"\n
        \     \"c41fb0a97ae1e52ed8c25c62b98bf59de7b68ab98c2d8b93c4942723cc4baed2\"\n
        \     \"b393c07b2b11909c732df7c1dcbb433a839d46f428e9ddc8d35fd33eed298180\"\n
        \     \"f75f2d5c9fe8534f0347f8685c28c437ea5b811a286e810c697a88cd7e45364c\"\n
        \     \"1f\",\n      \"010001\",\n      \"45cc1417b26fce3e9fd31089b1a3ccc46f8ff21eac2e1d67c0ae20152dc50d1c\"\n
        \     \"e7ce6f26404e2e6495b977bf13f9a405b24580d6393a85225496e4abc49ebeff\"\n
        \     \"de70cf26766866f276e15b492af8033f1bac7f66b71a3baf571ffccc038a4886\"\n
        \     \"9394cca3fa004985b434a51517877eae97a384947f01a72cf4b20193dd276481\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Encryption Example 10.1\",\n          \"5922d09fdf6522802fbcf7a28ec3d9fadf607203a31bd0da963aa0315f35e1a0\"\n
        \         \"a374d487dd0862a6f6bec932b7db\",\n          \"61395a0fa12e1ec2ffea2a8890653e8f378dc46ce2b8aa4a0a1c567b30e59c3a\"\n
        \         \"33a668989714fc3d45ac886327e36c345da858f903d1e606740314cb808d86ab\"\n
        \         \"c31b49b35b3f20e37929dcc859d59141\",\n          \"0439e7dd09af61c0ee25f3e5c2951da49d3fd708b297a3055ff9983a9ea538b8\"\n
        \         \"3d59dabdb85daf82ae7bb1978e7da2a6dc0587ef9c732ee688373fbcbfa2dacf\"\n
        \         \"f9b3c12f704ee14f8324bd4cc6bf9dcd3f0533c3b11a0d38dbcc7bb7ef9a7229\"\n
        \         \"6b6c13dc42d7ec17f851a51612c7494c6368a7fbec93d22e8f9b72bdc0449fb4\"\n
        \         \"30\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.2\",\n          \"5fbad43a910a290e5055d514e71c8eabf1f93320ebd0da8f90d146a8f3dd5c1a\"\n
        \         \"2c720b93211e482934149f1d21b978f48a0bb8e4cca3f5d45d3f3e3ba8e1\",\n
        \         \"21045261804bf754bcb8bf3498b1ad10aff33da1f225eda5646590458b20709f\"\n
        \         \"c8d0b498907a8364ce1c436b6b1e73181c86c677af45c17f9e4af3759cad2487\",\n
        \         \"029f64ac330134007f77f72c37f4177c24d660be4ebac1868ad11f9e3051b8cd\"\n
        \         \"77c4691199ac4919db2ed363740d2dde3291f10d9268e7c7de37ea421ebb1fad\"\n
        \         \"6529f292192a9680ba963eda9374037ab9529a486f35cbd29e09ea98a5045d9e\"\n
        \         \"16bb8770155d70afd217a146862749ec1ad159cf6e6a63df142b8246d844a737\"\n
        \         \"2d\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.3\",\n          \"22bbc616ec6ef3573156b41761ac3bdb57bd9b7036edc9a6978875e2a614cde3\"\n
        \         \"efedafd3889a5dbdcc5fad9e9becf8a8bb8033ff91dfed604bf8c6e9bbc7\",\n
        \         \"3b47d2ca9554b34f9429578d4fdec5d96eca89b68172d1db1356b3da7a69f158\"\n
        \         \"4d4c846b18432f02f259cadc24e154ff15f806f25343500e13b5be43c7b5ae7e\",\n
        \         \"00c4e6c10c255e4beb2b31c1656846b97ca23a3ba32ab19c648520113d7034df\"\n
        \         \"a46b0cd23d7399a93cb02f1eba948318e3791c306a2eb9c0c56d8f7e83250f83\"\n
        \         \"ad492fadf7831769f02e1824347445d0419b98b8e795456532300b92d6e455b5\"\n
        \         \"a4eba853d6f7459290ab0231994853a8c07e54f59c624537080289f93143ebc6\"\n
        \         \"61\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.4\",\n          \"316cc4450a53703c058c901f507d7ad0cb6396c551d4f06182abd3a43aacbabb\"\n
        \         \"3159c026b3e7dbc160f41953317e0f20808c\",\n          \"c1ecb1164b3e6623f0d9b9c5ebf99e788b7bd94eb74374f61ed314304caf46f8\"\n
        \         \"4a3fea1ba0e47fc8be4197d1d2cd4141cb9a615d89c4bd9110ca6ac9a560f076\"\n
        \         \"ebe69b74a10fe9ccdb76dabd\",\n          \"0616b8bc772c5564d451b128d9b1364c9e33b6e558ec67f2105c9800117d0b73\"\n
        \         \"ccab9db51d967a9d66322cbc5a01746e4731dd7d04e636e64d35f2c86ca39d26\"\n
        \         \"1492176b8dabdb134be94be51b6c023a0d55fcc1f04c94c86d477db403b04fb6\"\n
        \         \"c028505724793840cbf468aaaa91bc54e0d6477ce648cedd1276f2ad2d4d423b\"\n
        \         \"6c\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.5\",\n          \"d54ea37cbfbdb8183b3b547f6df2d5d63c415b1c44ed6393c697b4d93a97fa0d\"\n
        \         \"2f4d300a68e98f7fd0460701d1579d9683612b\",\n          \"d1ceb0c072d6888fa91a757cbf50d66976bbb72e619462614d5dec0fc0bbcabb\"\n
        \         \"070789c2b0895091b8fa9c7e75ab20b89758f97fd047bc44a568a2612d0d501d\"\n
        \         \"15d4fb82e77528796949f3\",\n          \"03c138c79199b0b1700bab2e63e1d2a0031ef602f7ddf1ed3a161a5e70f16451\"\n
        \         \"daa101f74cdd6547a7c652c7329bb1737fb14c1cc0c0c3e7612ae20ee021ab21\"\n
        \         \"d70bf9517b4d33a9d809612e7f426885b79b312e266e42b202b571c66f9a107b\"\n
        \         \"8fd7c56c050a8e1eb18956db06a0209dd16ef2d90524db87917f34006be6b15a\"\n
        \         \"13\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.6\",\n          \"f64b2511cbe3cc6581\",\n          \"daca1963cb3de5245779e96477ffda277f4b923fa9a8d9385d523169233f5879\"\n
        \         \"a3c9fc7a38e1b208c32de40bbe1da077471e61c8b9b7093c41b0a65c996432d6\"\n
        \         \"45521184a66afcb96f07a8f8eebb6ef817e027ee2f379545239ef6f9c1d0d860\"\n
        \         \"e82144ec71597f246a83ccf660ea4c70ee1df014ef\",\n          \"0508ed845c96238e3a07e8ec027f7b098a83f03eac1fec426f4d6005b60d0735\"\n
        \         \"db0537082f23b750f6db5488214181e114cf1f7207419ca293750aa766fa7a5b\"\n
        \         \"9be00e37292c23231c6ab3be2dedeed321b0f9cd832c5edb41677c1ab983e7e3\"\n
        \         \"ebc8b51993821d76df2ac2298d8b80ab17c38b3853f18fe309cc7bf7c4a2c27d\"\n
        \         \"63\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.7\",\n          \"852649015206e2a4097876f8abb9b846\",\n          \"034fe34e20e606a8dc7cbcd0d6ab3e0797c5dc4ed7868edc7959893e58137d26\"\n
        \         \"32b2c5a29a8135c24af699b59d68103a1f423393e3886e3fa854e39721501941\"\n
        \         \"3af0b0d4fb1bd69bd4934d4d1e2e9f3b9e7c46d4984fe9e7a37ab2f1c78b0b8d\"\n
        \         \"9cd8fabb3d18d4c506e2fd3f85ae\",\n          \"016fbf2a7d368071cc7be59449354b9de05a85e1bb97b2514b52b8d1f3e26994\"\n
        \         \"e12cfeda59e058a2f3c8792350c068417f99441bfe7417e0b5316e163ba8d1f9\"\n
        \         \"e32c59a4449882f47ad9b24f6876d478d3f5b7d2753573e3f697bf64c7b3ac22\"\n
        \         \"28ce69e75e8e14ab93f21978059a143b877c6dd421b6e20b0735a53605552ab0\"\n
        \         \"a8\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.8\",\n          \"f4fb50beabecba77e71dd8d16c975a86f619ea7dbf41969a24bae2b842c269e0\"\n
        \         \"b4d6a29e829dbe2e49799c9ed971a30335e6ed9bf39d124be0f8\",\n          \"9dbd92daeeb82bde816c593f706b1592568522bca0797f9e811dd9dc0e896e98\"\n
        \         \"4a4a9ace77def5a9250db79581af33fb6de2427d1af6a5f6929fa8b67bad023f\"\n
        \         \"04b3ffd2\",\n          \"0292edfbac38e2224545af8286232763bcb18bae13709799e3507758d0141ac2\"\n
        \         \"976f30b85467d783abf6fc71df619e1a59e6234f27b632feaabfd9853377354d\"\n
        \         \"933ef4ec5994c0d50d952e0ece0be1be4d38f11f66e7c3da88c83b4bedcc062e\"\n
        \         \"09f9af95eacac0099c525f241ea7d565e1b768cb9708f3bcd59177b6766a3734\"\n
        \         \"88\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.9\",\n          \"76913e848fb7b9faca91baf4f4420106a94d6ce25d1497fc4e7f859654795d7f\"\n
        \         \"24399f3a1208af028e61678a6d19a18640b4d50f75558600\",\n          \"9ceeaa2609ba90eb61e4f749c4cda01aea236881762dfc150d97c11eb6440cb0\"\n
        \         \"57e53c3fd9b39e560a46e9d3fa3af3fee5ee2d02fa4249af9998f53ed04db010\"\n
        \         \"e96d8a01ff6b\",\n          \"01963089c343ed88b56d6acfefbc655a37ccfd96203f218764695ad310c0b266\"\n
        \         \"65ee745eb010fc83be8c20645c4347dcd944655d9fe6cd9877dc70e5c188cfc9\"\n
        \         \"a66e71da745cd3e1a7b7f5a1b25b4fc1470adfbf7d8e45fb107c5aeb50ea8b56\"\n
        \         \"e04ca55b9b652ad834d9c96577b642ef33f164d4931fb89e0c8c6bf91708fda6\"\n
        \         \"db\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.10\",\n          \"c339f857e4d0231fa37c06f0956b4d53a6c58e0610d8da4317dc8411d3a0f898\"\n
        \         \"49b94e8d7ccdb0c7d5330c25\",\n          \"2490816ac96976ca725eb498e2ff040afe3d6417d32e4ffbd9fc9e3fa68ce849\"\n
        \         \"c881be379f17504b97e1e0d22d32ff8dfe76bb4549f713b5b8d870ed3659ddd3\"\n
        \         \"984b6fb39f6ebddc1177ad698d90443968ab\",\n          \"00b5fb7b1e9d71df8b16c63a1a496e6f7bf772864cb411552b50e0b7f15e4597\"\n
        \         \"16f5646243687633a9106c346c8c6b7cfac750b4566b1b88aac0acb916c07a78\"\n
        \         \"0be06df7975ccd8b726078687a8ea5d3903e04ab1d23dc9b1ed36000c9bbc3dc\"\n
        \         \"8161e9483a18abb8641ebb1fdd0266c084bf0bd09cc94eebb9283c5a5f74e360\"\n
        \         \"13\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.11\",\n          \"475865a57bdb91addf777cc9d0a17a71a9f9710a931bd0c3149b2391a353\",\n
        \         \"562f7970946ac4cf05edfb2634167e14d6658d24cdaef75b407c9004818efa75\"\n
        \         \"d1645e8152d1fc80d699dfe99a27a7df997a8a66475aafce419598e2a19199fc\"\n
        \         \"2053e3acdd07fec8ba61f2b03efc7deed815cda8952e21e3c0b9a9352ab36f5e\",\n
        \         \"03e268d7d180d03c7cbc8507ed1f830ed37a7995712d7d915732243de685d5bd\"\n
        \         \"99a14a8e86a67cdd60dcd90c339210835a46ceac1936ab3aa9c381882d7694a8\"\n
        \         \"383d6898e27344bd156fe9282c71322625d68d3070eff01ac8d595f6486d79b7\"\n
        \         \"88e36912fd3ccf284edd5fcee2409dca7d4f29cc182a78478bd3ea2362112510\"\n
        \         \"a5\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.12\",\n          \"9e1e53f986599da898d56dc1c7556fefcaa3395d8450d52b3ba7\",\n
        \         \"0b1763cc340e6e3978626a06d6efc40ded73db535a822ec04c9924d9ec40d385\"\n
        \         \"2015d7e1029c1393adcf0150308acb273c36356828a477fcf9a29acab9093570\"\n
        \         \"425026dac14da6cd304cdaa54c9a4c5a994ed68a5ceac7e081dec4646e237e47\"\n
        \         \"1e525ef8\",\n          \"06d519a730ea5f549fe19e301ba5152d103a3ead3f89ab3516ff7b344c4f72a1\"\n
        \         \"c26aa90d5a01a2a65193d3cf6341e59a31fd2d7dfe435c0984d1bbe81132010f\"\n
        \         \"4358eebfe83faf241e7f35af98b7c7ab91e4f0e8a32a2f57f07f49d5c21f1e13\"\n
        \         \"80ba0e179a38d3a2ca464fc14d2b74a03a8884aa857b66014702b1bc4e7cc5e1\"\n
        \         \"eb\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.13\",\n          \"1ae31e0cbe4497ba43c5d15f535fe018841c73145767a6a4c8\",\n
        \         \"8ff0faa7a2b4ff553ccbb20ff310ac5e0ea92818562ec9a06064f5de7986b4f6\"\n
        \         \"c9aea2b9f0114238e5a499a8ae20eae4021fcdd8f060c993a9bf642da0256739\"\n
        \         \"334808e388e1da8237278bf4f47e05015a8b88c5420cebc8bb37ee4352837af7\"\n
        \         \"6470184197\",\n          \"04a210f76c0f8493990953589886f62c1c4825012af44bdcf2c99b32a70a17f7\"\n
        \         \"64a3a97b2b047e39d80cde154ebed5d2813ee84ac9c8d6ec6a96f402dbb326d5\"\n
        \         \"a6e9c0f787c15e9823c508b3235f3a008dddcddb079e80ff50fe37254a0cc468\"\n
        \         \"297ee33253a74c1e037026056958ad0778e0aa1250df1c14857cb0d71aa6937e\"\n
        \         \"31\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.14\",\n          \"a6e3d1070321d8ff76b85c7093faa04283\",\n          \"d160b12c76622c3d34d85587e6e81cf054618a346b6752d5369a71c492357a13\"\n
        \         \"4b7f67f334a4f3b328baa9f0071847d0dafdac225d7b7f071618ea8681fcd2d2\"\n
        \         \"305c2f64631e623185fc0996e61c84f4180c637bf6ea2d060375f16a65e5b1e2\"\n
        \         \"b865285da3d8fb1b6a60ea36e1\",\n          \"0a7003b5861a85a8f72f199dc65c17fc58a924bcc40819e28c9583e821038c00\"\n
        \         \"05365e909eee4f3266f59a84e325b1bea9d281b4823f2fce44153f03170fadcb\"\n
        \         \"16a279b2c9587f6b79effc55a3c434e0bc5dafe9d4032648aae7e4ed1d7f141b\"\n
        \         \"fe722683fa32c89ddd673c3f0c03c85459890ab7fbc1d9a814bfe9b0d12ab17f\"\n
        \         \"51\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.15\",\n          \"d0bc89039ba19ee50a7382984e428aed88614f789813018916e2e7eb0db83da2\"\n
        \         \"8ec23c04a0c2f76a\",\n          \"c64d10a4b52f490ab62a6038b32b23c63a1c85970d9345148394cd35cfd6f6b1\"\n
        \         \"590fce8c675beef87cd0345e5cade8950945565426b6b28303b0b0393298cdd9\"\n
        \         \"5c881fa06533ca9d2d2714d0f13785a61b3a17a78140\",\n          \"008b197558ca4ce5901458abd8e8fd52d989960f01c216efb581f861148d1a2b\"\n
        \         \"44eb0b7c15ddc345dc83f9037ddb8fe2eaa2cbed9b1c1eeeaeb865bd29f44ee1\"\n
        \         \"478c95e9fbf444828eedcbc0170200de3549b22c11e4b433798b9d63bb49f0b0\"\n
        \         \"2daf5658ceedeaa93c0faeb9446538ba92eb17c85db5eea204ba2f49c3ce65bf\"\n
        \         \"13\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.16\",\n          \"ce0a4a5939f6aa263bbf8e1e5e94310356aba57559c41b39442770b61f6b3c9b\"\n
        \         \"5fe727f319522808d58019\",\n          \"27cce2d43c71318ed4fc8c0bdb9b791353199f3d89fc12ac47fdb6d88b44c654\"\n
        \         \"5e9eeed9f4c68515d4f530b8137d7745713bad0ebb7052231f6b4ced187aecd1\"\n
        \         \"e7a169d86cbd13d50b78be27c6545d8192e0ec\",\n          \"0ad3ae7e5a98652c1bf345c491903f5517c611ac310005877fa91abcee6485f2\"\n
        \         \"778abf0a6c73878737639b2672fdd00a3965d7d3d8d7688e77b5459e145ece64\"\n
        \         \"a9a52c3797f36107c9368bdf7990f3fb6c5cff59f4f8a3d49093dffe7406c910\"\n
        \         \"aa5723228dae5a9b29a4cc4769af8bd5fd6ece8858a29db1b19c081bf0d6b0dc\"\n
        \         \"78\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.17\",\n          \"03bfb259bd9246de3f71c3139c728574b44d97ad57bbdd67019495c2a2004139\"\n
        \         \"2634e31aad63f63b\",\n          \"5fa4bbb70e1f9ecb5eb2147bf459d1d06443f025c08e364ccc1b160c16416fb1\"\n
        \         \"74b44b953638a9688c5ea2d060171f3054f3ca3fe013b9e3188ee39da91f8016\"\n
        \         \"d4b7331879351f322ae529864d9074098aa2516b44ca\",\n          \"0178e3a017ed2fc118bb2e0328beb28a98c853b9e5a5f83080c0f1017fdca837\"\n
        \         \"9207722c25737a8915e0eb72c52285e88f6130a1cf56ad1d96ca2ce4b71ec368\"\n
        \         \"947bd071f8365910c792575b8cd6fd27e523e85965dda92282d5dfd1c064eaab\"\n
        \         \"6abeac65e16ae04f0d40b3bb68410b9274dfeea32a43f94083c10780353f43e4\"\n
        \         \"3c\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.18\",\n          \"162cca9ed4708dd10340e194c35c0a5fa49a5c3b5b247171203ca48a79e52dff\"\n
        \         \"40f2bca99a\",\n          \"4d73ffcdc26943a8707823478da31aac01274b1717c50c6ad0c62ee2bcd55795\"\n
        \         \"2ef13f15ffaf66bb4f45399911c6d65ad187572bc1eba0d286cc45aa4932e73e\"\n
        \         \"470c5dc8293904025c863fbc9622370490c91c8740b094d8f0\",\n          \"042bce0dfceca9ff05a6e3f74a6a70cdcbe0dec81eddc88e467f47bb760da44c\"\n
        \         \"794d3cdcab939249f849d1d43956641b0b79c6861c5f715b9d8d8be9f0766adb\"\n
        \         \"3f18af7db36ad95ffcd7e0fac1628523e8f69adeb7ff5094a2b5bf92b9d0efb1\"\n
        \         \"118b85392625fd56f88faa0a16d54730fbc5caf16682e9e41b7e79d2022f7ccf\"\n
        \         \"96\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.19\",\n          \"8e1b52cb4e007727c4b5f65d7847f34916891ef9c73ad18cf271f89f182c693e\"\n
        \         \"5289dc31dabc34cf7f44fbde579e645169ecba6e4e877f7def44\",\n          \"ba14748e6da7b6ac1833323295adb5422dbd19e2ec72dfd0aafd7bd07bfb97e7\"\n
        \         \"db108a3eaadcff67b67ec7e4c67004c178346a125dd3b6ca552370594f7f42cb\"\n
        \         \"334b4485\",\n          \"094b4030e30c8b462eca00f16bb17019d1ea3125f1c64c671cb00d46e3ad8784\"\n
        \         \"2852b201496ee2b3d5422893a80c66a30da2c9f1a32ad4d4e7737743ca1b78ef\"\n
        \         \"7d4a63c5e1e0be7e5188cce942956974ffd481e6478344230c37da5b25f6b599\"\n
        \         \"a59a0580f1a000c25954f3a463f2895f32b05cc08821b1a023609f18ca7d449c\"\n
        \         \"b4\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        10.20\",\n          \"82ff62affad8003094cc6535\",\n          \"1c7f21fd02097907405eaa77ae728865721d9386f5aabc2e0a95f3edb05d46e2\"\n
        \         \"33793ba1a388e4b0dda00cc32b948ac265ae6a2bf2c390a4dcce110d5e866447\"\n
        \         \"28f5378136476cf71dc7baac50cc41c20148dd37d5f70a812a294e242de803b4\"\n
        \         \"8b6340f428d3c9bca96f766fc4f44167e04a\",\n          \"00303c352e1fdd2af8a8e3a169b5dac54345caa335a71a37e938bf9847088656\"\n
        \         \"8418ae98d0aadfe79d0c651b3f516e70f10174fe6322cd376da02f226d15b36a\"\n
        \         \"bf6d1cbdab6dd5654d9925f7253ce991512a44e9fa152712d7b8db7f18337580\"\n
        \         \"fe51dc32a0582ce26053f1b9492869b9c47df92839c0502f2db4cc4d0b204f6f\"\n
        \         \"d1\"\n        }\n      }\n    },\n    {\n      \"A 1029-bit RSA
        key pair\",\n      \"11654794f4649a97ac87ef6794f6a6ffb5cdab8702c23254fde034f3129aad82\"\n
        \     \"5cf3c0cc3880a96fb64e48d7595ede06c31d0acbd1f8ef9cd1f9f6f00b24ba53\"\n
        \     \"45aba146d41c563baece3b2523df6a9f43018a5f0869b6ec993469886b5d2317\"\n
        \     \"d59cffd4ede9466a03f6dfec175cad5a85443095c730b98bbfa0489b91bb2739\"\n
        \     \"9d\",\n      \"010001\",\n      \"1d4c4c6e13dab2846ce685d0c493525bb0ad3562596db9ad16945d445ce67c54\"\n
        \     \"e938f654542b0934480291ac21aed098e85ad6fec6d0fe154c3c342b16999a8c\"\n
        \     \"ece7faf990b7c8ce87b66fe327fb352ed011323d2b819a36cabecc5aae7230d3\"\n
        \     \"f8e00245af35af808862e54d925607ee8b58e6a9f3ad8fa728fce26856c367b1\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Encryption Example 11.1\",\n          \"4ea8dfda3a9c2670ca9b80fa89710a\",\n
        \         \"9606421b973ab4ba2ae22ff538707d7d4e563e8f05f20bc3381ff45b0c2919a1\"\n
        \         \"b346b076035ae774b32af8ee566c73e20949684e447480dfa34dbb0c22666150\"\n
        \         \"909a59e1bb22d095abe5025a76d60ec101c780e83a0ff159465c3e7ac0212bb3\"\n
        \         \"8b2f1e0e6e0b54d35f4c7604c2d093\",\n          \"09bbcd8b63b29ce95226ec1d51912af39789fce5e77e7be67896c2c4e4c4376f\"\n
        \         \"a428ec5d8a497acca9e0821e1f6de1067819c48a516f0691cbeacbb19d1ba509\"\n
        \         \"f04fc01336d90f7396b43aa2f2b5150c28a45f35a9de1a2973ea10286794940a\"\n
        \         \"b79f129e318cf97a5fd72b045b466d666e5de0b714f212a0b9052a0c91448e52\"\n
        \         \"0d\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.2\",\n          \"c6e257f3a1b35bbdc5cf420bd7654c52b252df32c570d428e63ea2\",\n
        \         \"77bbd72b7b8fd28502ecf79fd1c8af8ebfe244327093b824795e95c0b436eb41\"\n
        \         \"e5f0f2aec43363aa2c08fc33f287e6538040e4280dba4723e53292e0a67b21ef\"\n
        \         \"77707985b72b2ecade280a61fa73d73dbb2fdb17f775f45fa175b77cb1067d6f\"\n
        \         \"93a437\",\n          \"0d21495c4928c26a92c16a907f083335ade8eb0c20b0b45fe0e08ef39ae24ec0\"\n
        \         \"b5057e6078dd7a1b9d102c24818557e90b83ffda14f3cc373c84c105ceee71bc\"\n
        \         \"731a7f3571bd7bbba1d4f23ff4df0a84f312990ff771ff118f05bcfa222f11c1\"\n
        \         \"ea01f6a468ca5a8750804098f846a86430ea23e9f07e2348461ef00ba62534fc\"\n
        \         \"e7\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.3\",\n          \"2d307f44ddff9c4535a06eda014a191304fb3fa8e3a2be88bb3b7be99f94d133\"\n
        \         \"9c219a51ff5cadda93\",\n          \"5fab242dd9f2924b20d378a887b5de21d195769c3b5371c00f4c3f1b63268b01\"\n
        \         \"0c31f32bb87c9a5229e0d9305f5fc83b8934b998d8cedf916f7a4d7268fe3be5\"\n
        \         \"1235f8beac800d4fffca6ffddb29da4fa1c7769d51\",\n          \"0fafb61c3716c79669fcd1645246a0d3b075b28b73822015a8cadc88a22b7da5\"\n
        \         \"3943e2544de396beeed3b0a989ad20a73ddcd191e8aa5caeb6e9088a4a3ae840\"\n
        \         \"67f9198e924a9cfe1450b018a6b69dd23758e9251c76cceae840da2cc6251739\"\n
        \         \"e23b9a42b63446eca0d61599a146b741fd43511c73663a923e3757f18a171c3b\"\n
        \         \"12\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.4\",\n          \"1f033388554bebfaa01c\",\n          \"9d81575674663b3d877d4b0aa4fdc605470abc550b535272c8237018867c5022\"\n
        \         \"cafe6a4ac83737e99c6ebafe69caa7fdca7027c8fbc437ec5232ce2e2529a0f7\"\n
        \         \"03e201f7e5103235ba65a64794f190ef425493b648ed24a2197d0ab04d81c7b3\"\n
        \         \"35a2dafd6b59c943a09b48eac35e35596291f5f7\",\n          \"001bdf3393342c3813ee3b8707eaf54647bade4c718a4b64547812e010c2b746\"\n
        \         \"c88cdafdc316f0369a6c430ae7e6c50f05d545c3f798deb1d9a5bb69c5913933\"\n
        \         \"c2d7792fae9d42ad76494dc9a3e27c211db4ef1985187a6c4d281c47721774a7\"\n
        \         \"a11c1218d4dd267b57485877aa751f6c2819f81b5054a28a26a53df3ea3482b3\"\n
        \         \"40\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.5\",\n          \"f71bc7374bd59c37775976f335244a36843c59e7489ad28b1a822d2d7d0b9a6f\"\n
        \         \"e9ac5bf43682d63d636ef6\",\n          \"a1ff9844a73ec4b3befb1a860352cf9b75fc66ff479a2ded5998845a79773a8c\"\n
        \         \"6206a36436c880a55e18711835456d91454b5ba132078f2037fbda7286251bad\"\n
        \         \"d12d0a9781af3f5897cd947b1e1425f9705509\",\n          \"093fb68526cead010a54d116cd7d6035099bf1abffe9331de36486f053a80298\"\n
        \         \"e4abfab40d3b03a3e7e925597338f1703b04535a9c87c65836f16111aae889e6\"\n
        \         \"c8d90a2407d441a1c2a311cbd94611a42e93c73a3d21483fadb8f4e246d089f1\"\n
        \         \"cfd70852b4dc778a60d152d3fca75fd6066704e933bf99f5bb77afc9a9cb3b8c\"\n
        \         \"b5\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.6\",\n          \"468783d4eac8813432048547ce241f72db1c85ce4adbe3ee2c\",\n
        \         \"c6e32630ed90d0afb168c08b752259ef4b9e811762f7cf4c535cb4a0a04b1d43\"\n
        \         \"654ed4fadfc7ddbc3aad0314078b226c4f3e9784457c91c7768c5c37b7600893\"\n
        \         \"2e8d0457850573ce6b41a43cdda970031836840e4e60a3487b47a185c86f8a16\"\n
        \         \"f6f221d0a0\",\n          \"0171a12b00cfd109674e5bf7f84347fda3fe4a8ea2f48e0d6b6d94b49fd7bdfb\"\n
        \         \"26e32400a71251ab842206921d83723a89ea09930025920e3ef8a887d2bc2415\"\n
        \         \"a7f1ed37ba8a5d03ef926acef61190001c5ea0f8cd92020cd89667e9ea5f7f2b\"\n
        \         \"15378a210b8ae914819098da1cbec9c543a263300f994fb0b4928571401c202b\"\n
        \         \"d6\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.7\",\n          \"af631d76c97fd995e494aa9b4bd758c5c672c5e4158f3aaf874b\",\n
        \         \"406e1e23f992bb0762125ca463bd0f2efdf1bfcb082a8df506af5f7270c39fde\"\n
        \         \"01d9eed3226661db22a9c404b7d765fa384f9ad4f51b9369d74b0e37706631bc\"\n
        \         \"6536f6555ec7fdebd348ef3cf5f8a877f606437c278cb8163ad349384baae32f\"\n
        \         \"31b686e0\",\n          \"01ff8fe79af318d756f284083b51b43b66aae83c6aa91a99934b4de84bd5fd24\"\n
        \         \"fa8d07c7551474665e62360a65984e67a4856c3dbd2c75f246e22222e9f4b969\"\n
        \         \"516726ed287f423a6747821fbbb7fa176235c850a861f299f7394c2c4307b102\"\n
        \         \"590940fed1206ad59b9dd6444e1e196e947325224ffaca069e9cdf8c62026907\"\n
        \         \"7d\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.8\",\n          \"73cb539082fb06dcae3c2068e989e7c0d8fff0fb340b6de80d0ba5d1e0064f22\"\n
        \         \"13928a4baf20a80348af3cde9de63f886d63e56a3e32cd8e\",\n          \"28e2a97c7e9e033b49aadcee8fdc07edfdfdb950354b708ce5df848d1b51aa2f\"\n
        \         \"4aff9974160181422947b133764c5a400657046a49363ffdf1f93ca48b3e5293\"\n
        \         \"7e1f38fb50fb\",\n          \"0c72e69548c34ecaf248b2dc6bb64387f4f3350f668e59013560808c413fa835\"\n
        \         \"fd360e04e4747a0031c8a64a9d7a07b363fad293b703a7dc990f806fb90e3912\"\n
        \         \"21a116df108f546eae51716ba04501ab777b0c2a17712f71e406275f017377cf\"\n
        \         \"2488c435ef6c6e7c45cdb98f24477ced180eb3efc8703e963826bfb344f16eb4\"\n
        \         \"a1\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.9\",\n          \"f2f985b8031273cb5fc89a31ddeb4c67a4e4f38c09d302874209b39c69b71f84\"\n
        \         \"9588868fa5f8\",\n          \"c120446f5bdda06c63738f18155595f62bc26567284c35036591cd5d753e4ef7\"\n
        \         \"900dff33bfdd3b108c102d089880c7b69d86e9ce3d688cda156fd6a99231058c\"\n
        \         \"c3183396380946e8a969a7fcbe9edc959a0e504532bab8ea\",\n          \"10e0bc14ba16012698cc76cb82045e2bfdbcb2b118f183067959d7137fd50fa8\"\n
        \         \"8fe4f9cecf6631a99cccab76cdb7744babd06b2bedfbca7724dafd91e6dfa88b\"\n
        \         \"ea2b44a8cbb06219b15c2ae76872fad288e8438acd395ce5cbe28a712b67f561\"\n
        \         \"a1786d75343ed9ad0d0a5eb6faed07b06aef03318ff1afe472db4ee3e21ec129\"\n
        \         \"33\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.10\",\n          \"39872cfd6cf74b4ccc1a70d973b31899a67aeedee5d671e05bd60112e64512bb\"\n
        \         \"e43bb840\",\n          \"68ac3f9697b750754fa7532e4161c12018e033a60251c8dca8387816f42379ab\"\n
        \         \"978e15578ae2e94c1776488b0cfdff186fa6d79888f8169ee449eaddc8e7f5a6\"\n
        \         \"58d0997a934f586e31f74730be603f1ee62fa6c08b0bffae6b88\",\n          \"09b77007f15d659efccaca66c1e7d962e047a1e149e52dcc0e1adc9e183bf73b\"\n
        \         \"5f2348d34328241b407f61822f6d57e1abb322d302f4530d2cb9a41a2770238a\"\n
        \         \"1bdf875edd797810d904e97a4d7c515132d6abbf3a4a407486dd004ea38aff8d\"\n
        \         \"4ed3825fe13142f136fd1d713e80e0cf225769b419cca54c156e54668b306b5f\"\n
        \         \"2a\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.11\",\n          \"74d56bf8d9c180dc099371a5af72\",\n          \"337870f0479cf1283a0c87c9c4af54ba8f850644d59a2025263d2bdc49bfa663\"\n
        \         \"6e7518f94b6ab18f85b19321209b769f0c1975d1d5ada06fd2a76c82450e4e09\"\n
        \         \"cdadb7832ffb8ae7dcb47410b287804dddc7493d610a81399b6df6df5ef15209\"\n
        \         \"2984fe2776a4f930546be1dc18313c14\",\n          \"0761ebaad8ff1c3dbe710f60e3be9f289fb27a6b5377755b71fb384c5facb160\"\n
        \         \"3c953e1e2ca11e784325ae42f321ae5c58648c84f524df9de9f93fb4b0c2e097\"\n
        \         \"97ff2d11407073b95a786df51a43f79982d86c49fb9e5014b1b768760a513026\"\n
        \         \"6d0699306a904ed2dfe20138d531c5dc4bbf4dccf10249a6e2b355f7ccb326a4\"\n
        \         \"8a\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.12\",\n          \"611063b5da123ce2129617df38599557b95d1b05e6b66bcd49afe9831a0421a5\"\n
        \         \"be4e48\",\n          \"10f9df30ec9777fcab5a924ded36fdfd6e1f381449ad99d20aea0e3972ea604e\"\n
        \         \"a22750d0601d10a377dad1a94f9b027340948123827398bb22b1445f71c505c6\"\n
        \         \"23aaf516cd9fb3e977f778cfdd3a5d28c2299e4b2abd9f98c4355a\",\n          \"07f2d58bc4163994d76f491edd69743c45dda0c38ccb0769de9cf9f4fd0055d3\"\n
        \         \"0a0cf002800d76ed8c12cbd36af051a9d7337b29bc774dc3c4012bf5c28aead8\"\n
        \         \"c3e036aa41398a8b0fe991c0bf66b5341c99d9377d94704ad490a9f8746fc5ce\"\n
        \         \"f726e196f341f93a1f1eae2c13e00cfd22062f8eb3da9dafb95a1e7b81b1fdb6\"\n
        \         \"56\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.13\",\n          \"80764f785fd4176e1641e129a35a9b31b3a89a7567ad6c1f0d65ec8af95fc16e\"\n
        \         \"15281409\",\n          \"2036d098a6e935f9a411201d2bcb629f790a94db2ec69867433b1761d7c6954b\"\n
        \         \"e91a9fc719190e108613cd584cbb977687046924bca6b2fe1a54bf76acf77b36\"\n
        \         \"8c39650f6d0a498dbdedae3f4c21040a8aed634de4ed8af1346e\",\n          \"049c61444e924772f94a795ccd99eb2fe430997b91b42de6163629ab98d25a71\"\n
        \         \"e7f96886a57e979d9c94c962209c1f712c70571a81f377eaf74e80e70722e1be\"\n
        \         \"3d1337c5045f797bd57df2f5ae5ef33ae579e93b38fb250df0c2bc59b33a7486\"\n
        \         \"7b8f3dfe5ba785d728b89d96b3002bc0054db5bb0d84fda45db4a1f2628ab112\"\n
        \         \"30\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.14\",\n          \"0abc2bc5fcd040189f8422f1ca045021da95\",\n          \"e4732e4990699fd74740c852ae8d4d707fbd79460f88740984ae53ffb9fc3962\"\n
        \         \"683ead0d1404f53151d1aee80fcd6a1ff65fc88ef08fd76d9fdca8f9e3ac7d8d\"\n
        \         \"82b82ece789c66c5402280b3e568101ce2a2a7b2b2f1e96519cfb41e60493d76\"\n
        \         \"8eb5b96ccc49bb0f6ec711fd\",\n          \"03d8ae604f92953173c77a01ffa090aa0e37a38a47c97219c0b9f864d348746a\"\n
        \         \"f7f4a6321129c6046a994ced1ccf3324da937153888dd6c67019a7caa7655a36\"\n
        \         \"42838edfa0e2ed8dc25c14bff8bff565c718f8b6c92056c9bbe8d9308370c7cd\"\n
        \         \"75a04e11b6e25aa6c3c2cddd172a4b6aeef04fb835b68637cf0ca0b9a911b8b8\"\n
        \         \"74\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.15\",\n          \"8f9835efb69cca8c07bfef4d8f535d0cbda5367bbd41080a\",\n
        \         \"32d4be07e6c7fb81d5208c2501c5df7c56d1986dc6d63110ad21d81e57ce113f\"\n
        \         \"3dbbfebe0f80c016b719e9d5c3d9a3bbbb2f35be95d456222b51c3d65b388e7a\"\n
        \         \"daf6b9ceae1fd46a6e05ca1bb199c27bacdc8b5fd14f0351aeb3fdd6dc1d93f3\"\n
        \         \"b53156efa3c6\",\n          \"0e47ad4d92d19a1ebcacbf875d801927d4fe5afaf66ed8015c559b566a9f3cbf\"\n
        \         \"0abe8a76fe7324f628c2e4f34584a50ff77e822a54118efa9bae9d0fa50294c6\"\n
        \         \"180baf3a8b0c7e453a7437ab1a19cc00307a8c6aed95c315b24b4790072456c9\"\n
        \         \"4460995dbb1fe5a12b4cf4454296f7400283cefdce6b00cc8049dd5dd8cb2af3\"\n
        \         \"6f\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.16\",\n          \"6dfbd93b0078d49ae4fe1e24cca97d0a9affd7bee062aed29def0b1c0b3aefad\"\n
        \         \"811d6e7ace8b49d7242a9fe6e23c22\",\n          \"319f9cda2c93388ebe1a50e76c9397559dcaf14fe10352aa511dc5baa64dc152\"\n
        \         \"fcc79cbb23d4e69b12b9f27a7909159887bb04129ad63516813386374f31892d\"\n
        \         \"4cdc4fe63969b5bfddc667f946897d\",\n          \"01c5ce836be2208a3d814e7e60c27674acb7cd3e31c024d9d38fc22953aafe73\"\n
        \         \"af5240434dcf54a388992eac36ec8464d9a042ac58d18a70398b8a773e6669bb\"\n
        \         \"3d76eeacdf1fd152474099bfa662a481dbab4ca46714958745e2b7832a59ccb0\"\n
        \         \"053649b7e0950743333f5fcd6f65197ddcb4e1bc12a66e8e92a8659faee57131\"\n
        \         \"e2\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.17\",\n          \"e5879ffce0b629b8857c195cf5d09f7b93bff1f7a9f2d8a45a563bbbe9e62d\",\n
        \         \"bace2cea0bfec25a2d34d72992c2b8ea0aea17b7a3a8bed60d1bb51013347b2d\"\n
        \         \"036a75a4ec3eb2c1788d44a9e1c5c88d041e82af878155ddc7d81b3e27cddd20\"\n
        \         \"409dbdda4a64bf8311a7b7eb77299312661a6e37df3502f86a22492befacf4\",\n
        \         \"01e4faebcab89d7baa3e0393f71684b0ae53df8eb9873e65a716ec2f41741f8b\"\n
        \         \"7816d2e197d976fd53a8ee7f924bf4bfd41042e16445e9060b55a0b6dc16aaf3\"\n
        \         \"064491d18928223950393328c147dbd03531ec012d8c527502e7eb3dca509b7d\"\n
        \         \"e16995924607c8b28a2bda9bcb2c7781461c76663b887b9643e2317f0ea1d1bb\"\n
        \         \"14\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.18\",\n          \"0a2e24130e8a9d28dfcb9df9765f4683e9da78425a28199806a93b322efa8849\"\n
        \         \"3ac37252c29a264f3e85ae56538e808dc55642a4885f054640f69c8981fe\",\n
        \         \"20431ef31fce19939da545a08530112db0fa07138dd86db1cc65e2b03fc2be60\"\n
        \         \"7c3e6038ebb7891755b23129fb969a7fe10610f2ebc3f077b2c8f4601e09ab4c\",\n
        \         \"0c14b7d32d3d4ce2b08ee44f516aee2990b6305240b25d2334aa31752aef2802\"\n
        \         \"1639f76a4c4719569b30052d4bd08b3a07f23be686237e481e67bf3f5a01add7\"\n
        \         \"56da772c7dc13d32298b9bbc3d33e6df82d85c089d347600497a8b8ea4de68ab\"\n
        \         \"b90e5c6aeb269a97be426cefacdebbcc0c1f2c409bbc7c72d90bdb426b13ccc1\"\n
        \         \"9a\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.19\",\n          \"7efc627ba5fa2825aae0ca94030e704708d35f92239826b42e2d4dbbe402ab7d\"\n
        \         \"196a7f54880cf2c5a4d0fce53a20a32b6830e62dcd00dbcbf33b5c0c704401\",\n
        \         \"f0497919c142f3a98ef55bcd5988234fdc8aebf736d47af97090a7a9dde0a735\"\n
        \         \"09f9cd413626bb8ba767c9d638491c286e67bf22d670d56b24c15bad70351e\",\n
        \         \"01dbce3b3f84b2da06b167e206649d424a42b8e9ea5453a16b5fc6c2e9cb17ed\"\n
        \         \"a1effe4e7836a5e58f99e531530b40171e4b51fc0b92de3031300936d2595e39\"\n
        \         \"1009e2e53c32f759604a6dbad9c970900fa6e41a35083f787b9bf3bebceaa1a7\"\n
        \         \"71841b5e6e4c8b509629007b467e3cec8a1d0323c3c5dbc34d8d4125a398c9d5\"\n
        \         \"3d\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        11.20\",\n          \"593d3fcd05acee3029815e1e76a890\",\n          \"1235ee3e7a9df5967fe98d9710ffdd5f7eb22dc07147af436fe20aa526bf0b94\"\n
        \         \"190cabb5213de98a23f5ef275022a2f73e60e9efe2c034c55ceb26aa806cded6\"\n
        \         \"739ddb2cbd3ec3b555204a798465c37c6757195686a3ea3c5657c360a0158d99\"\n
        \         \"2d4febfa0429eeb7c92a468434c5b7\",\n          \"0f699881a1524618bc25d4e514e2073068ea7d35384bafd46fc282e1d855119e\"\n
        \         \"e969f211c7184a07030647fc40990ecf2ea40522865d91778a627eca8e50c2bb\"\n
        \         \"9760b045daaf1277a4fa983576ca8cfad7608329c1881588017d63722b70e98b\"\n
        \         \"e524e0033995982573d3387078c8b7c1c5f9aef264a0484684b3426643737d34\"\n
        \         \"bb\"\n        }\n      }\n    },\n    {\n      \"A 1030-bit RSA
        key pair\",\n      \"261fe0284459c2fa6f05546bed585e1ee0a130b71c2b8a6fbb3bdc75787b2655\"\n
        \     \"d0ed4e325b54c7b371a6fcf2b6788277a50d4705ba23c596285da7e3c9304a41\"\n
        \     \"e7cc488b44922f7be2b47c16319e337451173d40b1ea481d1a9c1129b1feb7d0\"\n
        \     \"9f67497aeb98948f1abf3b7786bd3b87047187c8f37015682b3f2de50e078e8d\"\n
        \     \"0f\",\n      \"010001\",\n      \"05df768372cc0a64d3c21418302423139f479573e50b5c09b6e3be23fbc9aa1a\"\n
        \     \"76d32799a047761ffc21079448170104cca5e2a14ce457d00d807d42c76a55f6\"\n
        \     \"16874ba7f7eaa1ce63cbf132deb081aad2fd80d124c4da86ec6c020e8ca82dcd\"\n
        \     \"cd3554e69bb19872262a5031ab5db7cc8c9259a146d58b1db94cc7e756253d5a\"\n
        \     \"a1\",\n      {\n        {\n          \"PKCS#1 v1.5 Encryption Example
        12.1\",\n          \"7de69cd9228bbcfb9a8ca8c6c3efaf056fe4a7f4\",\n          \"33d62cd667823fbf13d592ae4d02a2370d1d99db06c725425e0d12fcb4834ef9\"\n
        \         \"e5499d607e8aaefeba819649fb3d61c705f5e9a3a2f896276189a3200d2faff7\"\n
        \         \"7679e056349a5b9b7b4449b675cd48b6980932c2cfc46bf89a7734f68dd9f4fe\"\n
        \         \"77e1d9cf1f31b21c4c61\",\n          \"04caeffcd51c3fc9236346774da0cfa77e9e6465f6437ff46d9fa458b3623412\"\n
        \         \"c3103009fbfe203196df729626e0ee3afb6b10a5acd72e84281d9d9bcba3e0ef\"\n
        \         \"77dd84f3db192d31b5b666f76c93810681373baa58e6dadb01fa5c65ec89fa51\"\n
        \         \"cc2474611b9a7cb00e862fd3d49b1cd31afc2db449e09dae2d0a7d4df0bc320b\"\n
        \         \"5a\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.2\",\n          \"97eea856a9bdbc714eb3ac22f6eb32719669c42f9430c58950c64c0dabff3a9e\"\n
        \         \"2043416c67caaaab7c68ccb3ca99a3\",\n          \"9f141261cec4f2c52f969125a36f141027088250d36b17421cd0961476190646\"\n
        \         \"8afab7622c0d02193691744791e0d35b6bc9f3377e10b2856c8ed9199c89f4a4\"\n
        \         \"1613d3c40cca373a7cc63c5260fe5a\",\n          \"0d26a05de93b707b8540fdc19889d2d1e7937157d32d303c528de35e553f9420\"\n
        \         \"28744af6a0402eca0fcf5a85261ad475d8710cc9f8b11ba2c6daf1d672690c68\"\n
        \         \"ed11e035e9c660ece1d80cdab800ead3c6e078617a1b0d273dedd8d65749166b\"\n
        \         \"d07774fb4c1486aa8a0adf595dbc3d10ffaef1838498a67555c77b6ed983d5b9\"\n
        \         \"de\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.3\",\n          \"8e3e772f39\",\n          \"9eb731fa6d8d5b7581f8fad2c8225bc96834af61db3d409dd56304ae23ea6269\"\n
        \         \"63a4d80440c24e431e419760903ac44bfe41a75081a5462bae6547c0e7a06e91\"\n
        \         \"60df9c01fa6c5354c83318db656dee0a437787fa46394e552ea5331559b4017b\"\n
        \         \"b6a0e1d6fc8a65b45da0c45d88954861cd6e7a417e037b1b05\",\n          \"244a8634519af49f569b6986ab477964a6b2920d843a1d97efd7fef83e81bada\"\n
        \         \"4c4b562961ef4e1fc333464b926bd74b07ad50c65b681683d389fe41d6d213b6\"\n
        \         \"469f182b14b462d72c1ce3928ca806d966b52d42d0bfd60c9d04914d50837cda\"\n
        \         \"e09b330e372744dce17f18e94d711c8b58ea449f1449d369faef514683d30160\"\n
        \         \"79\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.4\",\n          \"dcfae7718c247c40f9a2a3c3535c509280c873c3\",\n          \"b93bbea6c1853f153b5e01e7e4e5d0c63d9dfb245fc6cf64043d7a9220b0b81a\"\n
        \         \"c2af656b99714ba430e0a39695d25ff269b0b9b865fc4d4eee5e07a5b5be3543\"\n
        \         \"82aaa414bc6208545c86ce02388c07b376fb0298c37d1ac39ea189b0adf780f6\"\n
        \         \"e830bce917b50adb7a31\",\n          \"0c412052d4ef4ab51b2f623705f07f41fad64daffdba6244efd47f519de2e71a\"\n
        \         \"01a6c57d1f28b6bf7b5c8dbb9fe7b149b0ebaa53596199376df490323d25c217\"\n
        \         \"bc71be37f181035cf457eb5c06d6a3ded3d66d5b35f06181bf94d0ec13ec447c\"\n
        \         \"708233491c554f9e991f6bcb8b78d33c9c36955b8dce5179ff8bc59244f66790\"\n
        \         \"87\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.5\",\n          \"d71dd87a13991a0da2c74a58b0485634b3e04fec9e3f1cf2604a93bed79696fa\"\n
        \         \"6378eb1ba0e5d20470a4\",\n          \"0990599258e97a2ebfbe10977225c416762e95d2553a801f726cc249bcdf3221\"\n
        \         \"32585719fc12399acd7254ae77da343fe2a9a3acb11c14e214e2d85a76708c3e\"\n
        \         \"72173da5d99058e0c8709edf28c36938769f1f22\",\n          \"0ff9cce7b69d7fca48d7c4f6ccff248c3db88bf1b7852cd9d8525c3b41e44a9b\"\n
        \         \"540f208ffbb8c85bfa890ac02e994959d6b07f64814078556f8ec60db357acea\"\n
        \         \"f839115fad41f8918d69c21a3affef6eb14a5d2cd0645cd706b58143394a2735\"\n
        \         \"3682e3baa198002e1680f28f34be089a5784ace5ca6b110899dfb9582f2e4b2a\"\n
        \         \"40\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.6\",\n          \"5e4b158f8dcbcdd7e308385b40190f5def8cf3305fc49de63c9e35b40236aee1\"\n
        \         \"f456205a5267a2aa7d88cb2c11af7f2899d01da1b2c7466ffef7\",\n          \"a522f9808d9c01d8ff79775f7b22098fc5fe3254e1b04eb1cb850e10e2c5065e\"\n
        \         \"23274dc0a05587436da37559335fe7093fa5e7a2a9c9a4dcaf235179d0e98fa3\"\n
        \         \"3e34b616\",\n          \"1c0e86a6366beb1e12d6bcfa6ad49406c8b7e48d1d5be45cbd83194987496faa\"\n
        \         \"3e21927ec662f502ac3f91a4b4b91d160c1986a5ed092766883b8555e3c9314b\"\n
        \         \"44ba3383db287423af91b413918c0802c7778e46c296dc9f04cdb8b06adc7c53\"\n
        \         \"d859f442ccbd5ffab5af752b979bf523a40a1d08d76063ffb3d5cfc82f15ebd6\"\n
        \         \"d4\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.7\",\n          \"359ba50756a80330409d3f236a340b90f42f732a87711fe22352d4c8250d4547\"\n
        \         \"5e32b95883e1609755a13cdfc1bf394c5c67369eca1f9a33e8ba\",\n          \"f9ebddac9de1709a06bf6bbddf5894e23b962ba0c064bfcd7cc576603b0a1a1f\"\n
        \         \"f35d645ee87ac6f821a6a151e6bbb05bf3e05cd9a6e2cd9c6cf553bfb07bd2fd\"\n
        \         \"a040dfb6\",\n          \"083360e649059d00658dba21f2df28a2764c4589f7a77d5af99579a8ab4480c8\"\n
        \         \"26a77c2fb7954f4f31fe1d9eb1bf40e809577f39301ad3ab95b3816c90ec3f1c\"\n
        \         \"d629c4396174bed9fe1e0f476823e53b41d135b49a02b00effc761ec909423af\"\n
        \         \"15855237b77ee07df25ab4e858467d4ccfe80843241bbf88eb4f853ef4b43ba3\"\n
        \         \"ac\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.8\",\n          \"a9f39f8ba06466250c265df0ca46570a160112cf38fd745999\",\n
        \         \"88b3c28bd3999a860b8de775935b8ed78fa2f27c268b243a0245af8672254719\"\n
        \         \"f23a4b7fedc00d54e12e9d701f64699424b6b87d14d9676efa959be21a04b643\"\n
        \         \"5d251003dd153d7d08ff28d93a9320dc1bbc3db397a54894f20579f93e4ead65\"\n
        \         \"c31a407eb4\",\n          \"19839650b925f1f96d611e4dbb914993545c67390c32935fbf82259dad10f237\"\n
        \         \"30eb48f34200465a20387277e2b961e08318d2077447c9109271e4ded8ff3dc4\"\n
        \         \"f379eee455ae96081a1ae24b96ca730a62f7acc5a5ea5228e3a48ea6741cb30e\"\n
        \         \"829d5509ccc6c287c7291f3a1d89d626bc981577de52a11f12ae2143d3b0b52f\"\n
        \         \"86\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.9\",\n          \"68\",\n          \"538b095e4f2ad67730687421915242251d07f661edac7fe79e31d6c345aff59d\"\n
        \         \"f388c7182fff0c0427b59935c691dab8bc42be47d76911880d917b862718b4c1\"\n
        \         \"c1888d4220b9f8231acdf12d9b85186be0950c1aff84cd0fe36586a50e7e04b1\"\n
        \         \"72ca9c859e2ded6b8ea579dd5e6eee772ccaa6b4a5d8ab1731a835d6a8\",\n
        \         \"1e868adb0e653280604e8d3bc4d96984a20aa09d480b4dffac62ba78cbb7eed0\"\n
        \         \"645a6d94d9d2f2d1e917c146b41faa3d1d2c190105368fb48406a1d2426af3dc\"\n
        \         \"c85bd02d5c26c897ccb22e575912641a188ef4ac47a0a9fe9aa2706d8e1061f5\"\n
        \         \"d93063f49017003b2309ca7d8d36703bfdda3f7f43df158a15bb22139aae1510\"\n
        \         \"77\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.10\",\n          \"356587e6c6c0b46c2445e018635276ab845fd1076d107f\",\n
        \         \"e5d33e4d93c70844ee4a016556242d08e8e62f1a7f794779e223ee9dfb231c3a\"\n
        \         \"520f297e5073e4f92f535cf144557f94ee1e1e5cc6bf4c0c0c8e5ed40d066356\"\n
        \         \"06f754cc2dd83fe02c576ccd2b835fd0f53a99083f4d15bfe9268899ef09ff5f\"\n
        \         \"2f3cec9f9b8a7e\",\n          \"15d364a4499b30a5f78b6d7d4f667a1f76d715158f280119b055e1f2663fc796\"\n
        \         \"e33c0eb64e34a8dada5c81754257a8bdf0ed8115f607b7c9cca481f74520b6d9\"\n
        \         \"ac98f5e72c2baf3cbb6bd9baea5d75860cbdae3403fd5c37964aae64366ab09b\"\n
        \         \"c9c67276951448193bb4b1afa27079c34170a26956510d442764229908420fe8\"\n
        \         \"0a\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.11\",\n          \"e153276a6879678fee19894828d6262ea39ad054c89edcb23f72dcda1b0073c2\"\n
        \         \"87620218d92d0eb30c62afbf2b45df62d06665f80525b6727f95e34229e682a8\",\n
        \         \"2ad7142fcfa3bdbeb755b2c5b5cf13e6969eb73b7a06bc29bcad7e7530a59023\"\n
        \         \"0f6a43fc03d6c3a9c641e53a4177d5750291ec6d4b33f871668ad8569077\",\n
        \         \"178e49770a4c8ffb7f65f382cdb576e608e975c4371339102b952a1e71cbcb91\"\n
        \         \"fdcd0c0ed5a85fbd263da6a74e491fb04b60a5961d8e6ac724ec8a8161c22ae3\"\n
        \         \"10407f59f7e602da48aa2dad683e88db1d84295e0fba5ff2f673df32854d01b7\"\n
        \         \"1a89460ff0e6e1be98aebfa227e397eacc8b23174147c44e16201ec6babd165b\"\n
        \         \"a4\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.12\",\n          \"fa4eb931a7e2090f31edb1ff7d8361\",\n          \"437fa151f43405db22422cb35d1c5761161cb9a78abcb6f06dc4e7a869481f40\"\n
        \         \"b21ae1d33e075c485cd8501a3caa6018325b7f850d4d8f6dcfd2affe19d3e6c7\"\n
        \         \"0874e7101114f0fbb9822581bae6ba2ba1e7498881a5dc5bb8852738a82fb06d\"\n
        \         \"1527b4334487b324013e32bcf17bab\",\n          \"226d776700c5e1ddb9994b3291f1d334b69dd863065fa83421e01d5206ec2cdb\"\n
        \         \"8990cf78973109dc9f126b6033d6d5d6918ec850d69c713cb5bbe32ee59e445b\"\n
        \         \"cb4e50c6f164434d2a6ca63969a29b25036415b0f7cb21b4f8b34a8d9b74653f\"\n
        \         \"ff4f5db9d1a6b5152a644836b68b8ede9dc5a169dc60dc5fac468f2427845810\"\n
        \         \"62\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.13\",\n          \"588115e53709eb15a3374c25329e883826e3213f37a1b7a65de12df23172f17f\"\n
        \         \"a496ff492b09173ba0c6f58c293d47f148\",\n          \"078185e083cbb06fe1a749743515f3a0b4b26f853b10e568e87082ce44412ca6\"\n
        \         \"7e59888ccc0f503101521acabfd98fb7b5c11d8a941ba03c495aa03e13522f48\"\n
        \         \"7f6e1616bec2072b3996faee29\",\n          \"0e7e50a7b247b0297dec65c9523f67cab6b52a025f53320e9486cd207410cadc\"\n
        \         \"74e4b03fc06bbed598b022b63b37762a65fd351cb2727f3d8035a4cdba9c6a31\"\n
        \         \"e4ed6beb4fed3134eb63dfceab4f5f2459e59fca0174758aab3753b5c193c81e\"\n
        \         \"11490f97b622b73fa73f8eae7da8393484b8297971a3e923129ce4357b645cc6\"\n
        \         \"38\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.14\",\n          \"20f1cfaa6367c7c39b54a0\",\n          \"4a1c7b70f783ba0d5a26d4645cf05fa610f5be0177fdde9f2c345057db424457\"\n
        \         \"faa430c9424a54f7e55fcfee6faea4244c03977481edfcbb288837c6a48dbd72\"\n
        \         \"96677a24e06cc9d85e688c14090fa2830ff4967933eaf0db694b6ae402caf9c2\"\n
        \         \"beff04a52a2f847fe40f4ffbdf3d58b7c4fda8\",\n          \"1e528420bcbba7d59c6c40d446d1aa956aff0305365b4d7ce9810f22c34f09a5\"\n
        \         \"55e5ffbe5175037f903eaa6c40563636d381f45325b5e61a2c705112556402a7\"\n
        \         \"dcbe86cfa54a6e6a50378d05e21c95cc6c45ffdd0517f77a36b224d1700a1f3e\"\n
        \         \"bb81d3678a66e14534a80a598bd71726fe322e739c17eba508da8a031a27f6bb\"\n
        \         \"28\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.15\",\n          \"7360cdb6c15996b060331e9f2a368995c064adda56559527782c170c691bb3bd\"\n
        \         \"3b\",\n          \"58dd80f4fdc5c95dd9eb56ac80a02d53e8cc2efb3cbac6727d75b1e7b35e0542\"\n
        \         \"19433af5aae198fd62f2ecd2ab8e263877b5c91ed513e235497a63192db9a9bc\"\n
        \         \"b3bca97ae9bfcedf935644b2d3bc20e02ae5e7424e812a2949616b8201\",\n
        \         \"203bcde1b412e3cea25b8630b208f978ab22c1da8125076e10ff91d7bcfaefd7\"\n
        \         \"dcd8391655c886e8a945a7f57a74ce2dc0e8ec7fdb17cf195780d3ce80e0dde7\"\n
        \         \"639c677205b8f9ecea115468977bdea3500b239fce0d7a94be6de333ea7ecc22\"\n
        \         \"c07e65d0ebd65a390a185f181789e7ca8c1ac2fca828bb8d28227e38c9889ce0\"\n
        \         \"08\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.16\",\n          \"319b8294bdf07cd40685e88009fa7b3f1290160ef33067add5ef4d80fd\",\n
        \         \"4e07d7f963be24ee6d8bd4dd95e9e3334930e03e658d296bb795486d724e0741\"\n
        \         \"dd507347a5b57b79c90d3c90c1aea71619091acc8198b55122da5099582e0db7\"\n
        \         \"da3cbd3cfd85298f31554e29cbcba1199ce470163ca0337cc414ad3276708111\"\n
        \         \"d6\",\n          \"04fc7bb6fb6419612b6ef54b3ca00a87465195c37f7f940c233ecb1d4a505d3c\"\n
        \         \"56ed23e09e03f1454f04b56f6da25d0a6fcab0c400874ae9806ee18780b75c6c\"\n
        \         \"a56629e577e8e7b5d2fc2c440b9800195b58511bc3a7954412c8f273cc0e9d97\"\n
        \         \"1abbddd7028e6f84876a3058a454fe2f33c75e3dd062f119cd3eca8106b6bfbe\"\n
        \         \"a4\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.17\",\n          \"79c682a2b979fe5c9632af1831c2aacf0c6bf566885bf5256250\",\n
        \         \"5c2a956d4b5f06f750835ab8b29cf7c641d793c556e12aaba956dfde4632d5e5\"\n
        \         \"02d59041783afd1da7b2e2d24e22d6447835bf6d77c6eebc0d2d64e7ed2c1417\"\n
        \         \"18ad8687c597b7718f38bf1a3316edeff6b72e2851828807bcffa9b8e1a852f3\"\n
        \         \"faa807f6\",\n          \"251d4856b7a7580d53880162281bb4e41bdeb2a87ddbd5ae1b307d4448be1f11\"\n
        \         \"695ff722c432415d0c74baa3fc0dd51166ac865b310c4f5c8707986254c89604\"\n
        \         \"ccdabce6c692446621898b4f5a08bcdf6462e518ee3aeb75e26d8f63a06fcbb3\"\n
        \         \"df098ceebb0fd2f637e3a7937f4d19e3a1924c16082edc333cb6de37637246e4\"\n
        \         \"98\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.18\",\n          \"1e0d1807a2bd496bb0cba841c77158bfa5f8aa77d05675c64a5eb1856591d348\"\n
        \         \"54f865925b371b686aaab44598b4a16ab6b79344d3c23f7d5bf173b842d78c\",\n
        \         \"dbafa5332f0b552796636d8a0928b7d87d9cee3d4be6a31c77e14e0e5dfdd403\"\n
        \         \"efb98fa338816e1262c06496fde9d557c00cc0dd35fc33accd79a3150690eb\",\n
        \         \"1b2ecea5fa9003fab6559857c6d94f957003f4e41c094564804fe69639e540b6\"\n
        \         \"8f263faaeca199697a48858b8a0fcea491057df2fb8b35d093d894aec17c5cde\"\n
        \         \"5dfd8f33512bcc66cde76da07336985a97435b6efee4ee09d3a28aff34ce6ae8\"\n
        \         \"750da41e16ca47e938818e44a9b41fe91a6a801d355ee8d660e27e4fe2ce7f32\"\n
        \         \"5b\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.19\",\n          \"1c105d5ebea36646a97284c17a86c4\",\n          \"c6f80340a6557e0753a9573fe4f5214977efdb082a50eb5d5c517d46729fd2a3\"\n
        \         \"4af7cee1aa46b79d47e25d83090aeb4f502298c0313724fab54e54bebb48d6cd\"\n
        \         \"9bebddcbee0f07537727d65c50e7d4cc0c6d19fc480ba57867262cf2eedd9cfa\"\n
        \         \"ba607d658287eba42b469944ccb612\",\n          \"05b23dc0c62d90c1771eba378e43179d7ca6af515e2619ae4d7c8fc8bda378cb\"\n
        \         \"f7a1dbba1a14f494c4e0d71338797c7ee06e1a79e9ff2856fbf74fe6f1a7ca6e\"\n
        \         \"5b9ca283c4c97e61cf9f4073e032ca27d69b1b4eebea77cc95a9281f26b64a05\"\n
        \         \"a93944c82c5a13428ece21fb4401ad426e7ac1f05bff84b347cdc4dbe52e678a\"\n
        \         \"ed\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        12.20\",\n          \"f10402f00205c52757ed6e9d\",\n          \"e2aee7fcf43cede07552a2dfe5b5a9ef808276d8f10eb3f9bc50f1bd940aaae6\"\n
        \         \"34c9d8a0788d44d41e8a5c603649efea83033231516c69d33e12f1f5d3f0ac1f\"\n
        \         \"c23a9b3f5da4e0ef6e4550cb43fdff02b25dac86272d66db59cdd635f9c0dd0d\"\n
        \         \"aa0857910c15881b160d70ea53405aa959f4\",\n          \"0b9656317832a940c795bba58daa159a4f733e826ce55a4ec56433c51684444c\"\n
        \         \"78e2e2fcb37f85ad877916522d8a35a43f53c59517a818e521e1982a5091bf2c\"\n
        \         \"68b00ee49abd90dd776c02f64f34f680a88eee05ec088892bc0a9555b3f20c8b\"\n
        \         \"ee579c0ddde1511a18af98bc1d9cf90b81bf132abd58970b3e84d814e27d025b\"\n
        \         \"73\"\n        }\n      }\n    },\n    {\n      \"A 1031-bit RSA
        key pair\",\n      \"555dc2baf041b7f09a0478423aebcb5f49b95dbe1570e9a542128d332287866a\"\n
        \     \"c4cc63e76f8e3aef22c9753a545199942452418a67d1a2230ddb6f4222c663d3\"\n
        \     \"8e80050eeb67956ec5f54994a0bea695fa59fadf2dcfe7acb54ed9da3d0beb12\"\n
        \     \"2c8a691b0bb51ae65a774d75b1b349cb68c517cbd386ae482f05ee4603ecf295\"\n
        \     \"5d\",\n      \"010001\",\n      \"059787bb0123fced98d9341b7a8a999edb5076308e6d0011203be0ddf9a4110d\"\n
        \     \"0b692c1e2bf3902ebc03a0573ad0c193afb167b3ae4b5028a5aebb2204ef23f8\"\n
        \     \"e58360be9484951e34711176062e53e3f63874fc9e3591a9d9068aa5e6c8c7a9\"\n
        \     \"ab08e9792470066d71a07c3433dd703a42a6b3a9b1bffb3149498dcff8b35756\"\n
        \     \"ed\",\n      {\n        {\n          \"PKCS#1 v1.5 Encryption Example
        13.1\",\n          \"7bc81d8146e359\",\n          \"76655e4ad8fb9934d1847cc90c02473c572b5fdfd164a970a3cd96bc8cd796ac\"\n
        \         \"802c50282290ead4c77aa5cc2a7e343418c9df47efb88786af4cc8d1821c5007\"\n
        \         \"3909e84f7b451af4a32aee6c7cc897eef7660e1c4c535d10039d3aa2035c9851\"\n
        \         \"0125ec5f2a2e9dac639589ff8bb39f07438defb7d13377\",\n          \"146d6512dfdffbc02d5d54bff3e036a35b4c2aa944d6f6724793306537081bd1\"\n
        \         \"1ee568a4e9719f1e31f2d14e18c2da624470c5b0ffab397f9231b6ef4634f63a\"\n
        \         \"18285df3414517a51f93586d66b03cab1e78a4eb941b9d3d7f9203b59e1cb3bb\"\n
        \         \"4864b646dc17a06411ebd5ff03372058881b4a24b24f4c2dcd5cb44c2eeabe6f\"\n
        \         \"72\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.2\",\n          \"686a810a031d8061e41a776a7dfbdb3af626fe9769deeea460ba2867acf03d9f\"\n
        \         \"924d321e8a8f425c2851929867a326ae275b49d2\",\n          \"f79b49f6a6be3e68884c80dfe1e8501e544ca782238843d419764112250edc1b\"\n
        \         \"69c7d1c3587fdc75987c62cb4c33bb81202f72dba7eee24bfcf89d4dae150c07\"\n
        \         \"272458fb01b6cd270925\",\n          \"088a47f11cb134dec4b5087725e8a5bd04f7fe582a69914f683ee6de7c324fed\"\n
        \         \"7e07f57005c0e0df7500e370a42efd6fe5b290199519b19806b6e691698afd95\"\n
        \         \"17d780da0bebf70a26d65c5b64e340a6405e889555dfa0a92c429ae9c3ec88e8\"\n
        \         \"88eeda045e410e3a9e6199ab39eb1ac864e228c2cc1b64e3361695b5aa113dc5\"\n
        \         \"a7\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.3\",\n          \"18544aad24ab075d3a\",\n          \"23204b8ad94575f6e2f46c797bb873aa3f461acd05e7db7846a23157592d52e9\"\n
        \         \"a9a7043819c48896275ed9df0b1e540493c077ea15419afa87dc35f9fdf7ab8a\"\n
        \         \"af47eee1d33ecc28950645f1b691382d87541ed06406930c7ee1109aa5ca75a4\"\n
        \         \"90934ea8d3b2a04ba1521be092c868f7ea5be378ea\",\n          \"34d6e546d69e2706cdfc6d9e7418f8be03e45756a8b19b60c21d273420aa7d5e\"\n
        \         \"bbbf460ef4c84f6d4777e6bf203ff9185fd57dc723b58f35c1e9b5fff47cf95a\"\n
        \         \"e569a5cb64dd9cb8d6407c0ba5efd148f18b5696b047daaaa277ed8d4528614e\"\n
        \         \"e3da52387132b7a9ccfe073be50332c9e2837353c67daa0fdfefc3b652cf7d79\"\n
        \         \"fd\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.4\",\n          \"d90fa38f\",\n          \"3e09f6506f7f719147ae21e39453ae0b416098da103af84c0f7cefae500199c9\"\n
        \         \"855967a8300a1a7f8d2cc13b91727eebd93cf77d3facb19e83a840eb583bcea6\"\n
        \         \"c6113a9c6f6f1fb5a0b332559a6b431547457cda1d3dcee341d171c62e95e7ea\"\n
        \         \"ae16ae0eaf1c1fe810fbb0b7138cfa3d66c63850f381e49a2dad\",\n          \"27133f43791b39227c8e954e1caa830fa65995f8a9f88e0d1f756785ed5c8c78\"\n
        \         \"54fb1a9dc4a95fa44dbdf0f28599c472849379750a6a1bcb42cafb5bbfe08c65\"\n
        \         \"106dc840cbec8ee2cb5a206c8118aa061da4d21d1b5c46117f77c896bc71cee2\"\n
        \         \"f8757aff5cb2b3c34774558e8b82edb4ef9bf2d4f2ca4fc597fab40a2d74e523\"\n
        \         \"3a\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.5\",\n          \"fcbdd0248df857af175b4396875c006d5114cc11164280043808aa79886c4caa\"\n
        \         \"29117bf3ce45a9be5507c6b8bf0d30\",\n          \"2c9d1457ba4450df4021e4e51183f795d091c07f6ae0dd962d5728c54b7fc3c7\"\n
        \         \"72d79d7bece1bb0c996c9ac07f9954dda7687bec86bcdb3140b245bb5e01275b\"\n
        \         \"38d1f252335e36c68c0e58f4ce117e\",\n          \"2ceddef202691aae4271852a8983de7c214cee00dbe1a15884f4c3c1de7a3ea0\"\n
        \         \"1eccf47ae86c269324ae52377337b6ca82e85d553fbb2ee5f977dc664e142f1b\"\n
        \         \"54538faf85cac27c29f2ed0c404267335d48ea40e8a3ddd896bbb3e0edf0e16f\"\n
        \         \"9e8944683b8cfbaab5eaf22530f158c4880bc3e460c06a240342210aa87b7909\"\n
        \         \"68\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.6\",\n          \"25f2a306eabe6e3a1830dc936bfa41cdebb88005175df4a3c9c4642301456111\"\n
        \         \"5aa8\",\n          \"cb8e0ff41bab01a142f96e7d7cd392820a82a1736674b92135ef33089688dd30\"\n
        \         \"b2c2f7ba111af78d3f76a37f667db3975fce64ec9afb0968507f7b31097eaae4\"\n
        \         \"881b3624065616ca090c204c1fa4be134850ea5e90fecdc845b9d839\",\n
        \         \"4c7ac81245e7d4de3c4dbfb315c468341cbf22875735c5f80590505853068d6b\"\n
        \         \"e7039b1cee6d07ecb7669c42f6b92f2a71f645f72cbaff76341637d2f1d6b1fe\"\n
        \         \"ceb07f21e14c70fb77bc7f87b031c2c8f2ada4ec43e912682c2f49639e757157\"\n
        \         \"1877fc481cbf2698b37315bd4b930783f47945642b7d815e0432d45dd1d0d3b2\"\n
        \         \"a5\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.7\",\n          \"a0daab4f9fe04a2a51bf083270115d0d06dc2921cf8dd13f5cff2604bc551efd\"\n
        \         \"983d9b25b7274f3ccb0adcc11b1a3954ab9db4\",\n          \"c81d1c02f06e7ffd6e03b81b7193aabdac5663ab1425a67d1a2950885f5d1c4b\"\n
        \         \"725e209dcbce9f7bf296752342f184fea06a7d6cb2bd39b2a318075164a2e761\"\n
        \         \"b702702b019246c1e50e6e\",\n          \"06c06c975fc6b9c260d3d8813b5714248beb399b7d68fcac250338cac54c4072\"\n
        \         \"959f62038444e9e666bab5f936067047bcaf4ba4ed68c6c8185746293256e7c7\"\n
        \         \"2416658154dec067f4250dc6b29bbac18e821e49a4c9b163831f7bb38392326c\"\n
        \         \"6b4685464fe4f026c9ae4dbc5849477b4c260aa4ac02d21a264020f10ca11b4b\"\n
        \         \"0e\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.8\",\n          \"743cddb361c0bb32476495ad5dc63a2bce5fbac1c8c20393693267d843f28b8c\"\n
        \         \"f3ea13e374e09d0aa3f7ae5d8f72d8e6cb9dbd\",\n          \"f72ed2d069b8ae5027046e0327b987845809b4e816c8865824fc4a2301b45680\"\n
        \         \"2b189cbb43f04832ac25c848d74fbe1d625aa98ae05eb62547761c78b81761c3\"\n
        \         \"03f93df3fc0fea3c5a7bb1\",\n          \"383ebbf159e1d0a21c74eb61e3643cb631be18c7a2a54e248933587d345e9952\"\n
        \         \"72466dc1bd613addb4cd7ba50192fc2d894d7fdaf78363b079d998019f164231\"\n
        \         \"cc2d752db76a9f9d0c5204bfb0f9930553096b5b7680b0894fb99c11425c67d6\"\n
        \         \"5d965e35128e154746b3fed8d016993070a70e07ebebe06f2f4e976c9a63fbe3\"\n
        \         \"20\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.9\",\n          \"e53192febcd36958bd0803f2ea0afdbfdf993b58a9e4ee70df95b06d4e7d74b6\"\n
        \         \"745b87f581f342f8aef9ae4c3182c4199b6551fe18f8d3b9ffe4\",\n          \"ad982fa729f27fce8a674903ecac694dd33413c78e3428aeed469f84d9575c6d\"\n
        \         \"a27529f2c14b53b758d20fb6b247c829c5fb1a16af55079a7073cca05625962b\"\n
        \         \"6d1a6bef\",\n          \"221d88a86c9ed37aa09cf572549782e58ca8d4851f016acf289ee8bf23790b1a\"\n
        \         \"8f148c165508bc3fdb1ef9c9011627427c5f32e5cab850cb6bc0bc04a11da2f0\"\n
        \         \"1813f341417b3e632bcae002977d64ffc962c7fa7572f56d2617e2a52d3ef917\"\n
        \         \"c44a33b71582aff1390b7c774d607c8d578f7bc90b3580d77b0373191477bc14\"\n
        \         \"26\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.10\",\n          \"d0eb480e2745779c8a30fe820aef56d4ce39ef84ea40c7df0c\",\n
        \         \"465f91e3f07cb72283bc2bbe528b9ab3681654fe20b61a33f123ade52e832ffa\"\n
        \         \"8a1b74a4443cc89295a21a2aac9874da0a5679d18cb5c4cd690bd0a20cbd9e9a\"\n
        \         \"a072aa8713448f95e5d6a6e624d5b9085cfcecb7992f10ea2da6d626ebe543d8\"\n
        \         \"702236ee6c\",\n          \"06f3f8c70d0fc4e74473e68fd23cc9df1edd4235b428b772a083b41c3451625a\"\n
        \         \"6f15dea4bf313bf4f03fdc4fe9f6a2071ac69aa3f0fc4157efc621f9594061f6\"\n
        \         \"c19806bd5d759ad023cad148e447d259b62bf7342591be83baec77714cfe2b90\"\n
        \         \"1f369aea680248babf068710cbb970484f324a235253a31e022534abec7b3996\"\n
        \         \"06\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.11\",\n          \"1c4297f6dfc07ffe5759aa1eaa5b79378afcdd1a9a33a2133a39ac\",\n
        \         \"a7af2a8601e408c318fd1e0f82445b509544d5ec97a7958f594b2054c509f7ef\"\n
        \         \"fdd416306b2b2c91b5a637a156820d601a23ffdb31fb35d305aa9374578eefb8\"\n
        \         \"102e8b7244191f4ec74aa26a0b7db36cab44999c81b36157016b558906e5d708\"\n
        \         \"8d5132\",\n          \"3cdf2dc67a4aa531cfa1428008bd0544abbd032922dcc2436da0b5d7ef9a7017\"\n
        \         \"e6193a8baf38c58e91962d65a375f08c1d55579cf94a795c9c70b6e42e1643ce\"\n
        \         \"f540dce1e986dd998887b69552444b6de93ba7d5f7648354bfcb702139ed3954\"\n
        \         \"947d7b180b6c02bcad8243a0ab27ca665276291b46cc318da9b5f60a04affebc\"\n
        \         \"b0\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.12\",\n          \"00927fca7f5ec76f548dd48263e339be\",\n          \"debc2c1f22d932ffcb897cf10ae62c3e051e3f78463ae67d9561cf1a73d55c4b\"\n
        \         \"14aca6c21d83baf976cd8bf246c2297861a6b1e9c9ef3081c51c4b687c67b5dd\"\n
        \         \"0fe0f7553f738c2c8a5f81d1268a0c2d4a461d635b0e59d23ba417abb8045e9c\"\n
        \         \"10d66b0ec892f953c6f211f02ff0\",\n          \"49b92089b52ab78c33b5bb3032cf7024944ac68e139d2d56068c7a262a53e780\"\n
        \         \"9fb5b01565cc6561d7133046875230ac2175647296cf2b4847e12b7363197253\"\n
        \         \"21bea264757de0eb498872d89a4d7ce4a1bdb7335daea78ba196fd50d90382e6\"\n
        \         \"d62f8df7ae685a1dfc849e11997dee8860d10f707b0d35365a812430731e7a50\"\n
        \         \"8d\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.13\",\n          \"8b6df2d6da631ac8d5556a26975428fc4d20ef5b4a1f068ed2e5\",\n
        \         \"ff2c0698852d1b0ae3c5c5c9be26e83c9044842c1607f5f4086a6d6cf108adca\"\n
        \         \"61eaf665400d7cff2a3adadfafd80c64956da2d7d7c135abf5a0d176062556eb\"\n
        \         \"4d8b75b95cd11ea9c0442f846f037da8772902bffcde6559e1b59e60c6d0f989\"\n
        \         \"6ba5c3c4\",\n          \"41527669803339ebd8f2d1cc186c7e8ebb80cf4b949d8a284365329f3ce46ebd\"\n
        \         \"ac0a969f6761900cfe342bc84c7d6951accf45280baf24a0cbb242a94218ef9f\"\n
        \         \"d371b1e008246262070bf554ed57007b9739791635861d86c65b1a8256f425f9\"\n
        \         \"f3ae519e1b1bdc5875b878ddcfc1470feef2aeeb014b7e33efb9f4dd0783d171\"\n
        \         \"23\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.14\",\n          \"ea039669bcd7a8cdceab585591b56361e90bda0ea440104964e889ece18aeb04\"\n
        \         \"ce0ab5b1ccb230ae03255a39\",\n          \"204faeb313965cc1a18faf1039fdde681bc43b223e28bc471c50423da0bd797d\"\n
        \         \"6a8c738c54033c8e559ea2d10c3b79b80e2efdecfe891cea2ecb3451a1a8e2ec\"\n
        \         \"2f447b798d7de5641bda4aa990b301e1dde7\",\n          \"4ca1c85ce3c620d42991cf41733ead26a09311185fffe58f41288f6d0bb6845b\"\n
        \         \"2d5acf1aa06c78d71f769396a9434203e38bb01fd88eb23e6bc51ba0c5f3eeb3\"\n
        \         \"2713cad4d087805061ab473a1567e79bbf4eae4936f18d0205b3746a17e0648c\"\n
        \         \"52223dd9f9997281b535ab2fb3cff03ca890f710aa88fd2d0f392ff4a88d311a\"\n
        \         \"a1\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.15\",\n          \"0f462bebc6\",\n          \"4eae5d5492d944ffdb042ad9501681adb3eb6ab528b6e8135355b623ab55a740\"\n
        \         \"87b19fc59b8534da9a88da29f66f71f9452aede0e3e93907709c344956728574\"\n
        \         \"b66fb9a6f3383d58a0136f94c4ed86ca9dd38bff070fcc2def29bdd6fc985970\"\n
        \         \"967f02fd6f9301cd56d048a442d702409a98a132ab6bedd4fe\",\n          \"29369eb00a3f878438c938f9d7bda3856c45a6d77c1788511b982c58f63dbea3\"\n
        \         \"3e63ae1d45c2df6ba80f0de997592e1f8a3b3a09ed760651453e109978cfde3a\"\n
        \         \"600a74faa8a91b7c724f973cb80b96835f050b7dc09d2f157476c5b7051f94d9\"\n
        \         \"c0f317e1f188e30980795b096cf9bbceb5636b3db987054a5608752275962997\"\n
        \         \"e7\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.16\",\n          \"514d3b380022b3782e8a77d77bf24afdf92f3397474dae0d4bd6e4fa31ca6083\"\n
        \         \"df496b36626e7f8e1c919f9f2e\",\n          \"d4d3a9e8fbeb1dc607b4dd7887ba25c3d0bd813484bd5376dc83efb58ec5b256\"\n
        \         \"2cb44f985e59f50b9ade3c66716cc6f42e51c60a2f4d8d75bfb9b824105d1ee1\"\n
        \         \"5835f5f5f254fc6f680eee0b85af547c17\",\n          \"19fb391a310087bc3d08791fd59994be8012dffd76a02adbd479cc0c1556605d\"\n
        \         \"4da2a3461c7c71a85ed8cf85e08f45dade518c00af09f493ee8a5546ffbefb05\"\n
        \         \"3cca2eef0684763cf780f2e097bd8e5c2ea84cb1a8b8f8496cc918167f656cdc\"\n
        \         \"9e1d3b2a2338b64c61e90ecc274a1210e3db5783ae3c00abd3748a810fd91491\"\n
        \         \"14\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.17\",\n          \"fba16317b093083e3720aa064817e74ca751a517874b692650c4147f119f6890\"\n
        \         \"702cf8b14f0c1882212d72406c3a45d7d9ffa4312410a6\",\n          \"9cc9a4bf8cc275a6b9b13510319110917ad85324c5a4345e58f1fa47275ee592\"\n
        \         \"1569dcbcbd723670cf4a24ebcd57f57e998c4bbd4a95679d60baa0abe879668a\"\n
        \         \"2cb6ed0fb94e4a\",\n          \"4c41b9cbcc6fa87f23f17a36d051e7780a070656cae7beba14fa91c555b8588e\"\n
        \         \"8809e7d3354e7ef5e0faefe1cf392e6fdad4044aef08e33e6fc201c547fdbdf7\"\n
        \         \"c73d3be096ed253f9df4af52e13b9a1925aa7393a6429530209201e55b20e51d\"\n
        \         \"5005d06b58353bfafceec37d60e1ca0d9dddd8680bd0a5d692e74f2dbdfce266\"\n
        \         \"02\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.18\",\n          \"5ffe82e033544245b84962d3927c2fa59972ef59c237a386a51bd0ba1f2c1f8e\"\n
        \         \"45b46a05ad97db49d3acc6344f1edadf6564c28ce1\",\n          \"cc2359bfd0d57bcebf075b87a585a9bde6593eb24961eff1987e735605d4e30e\"\n
        \         \"971937f6f3f5be5278fd476dc660ee0730cd07e5d1f42009a333312d9328f3b0\"\n
        \         \"085c4075bc709a10f1\",\n          \"058b50e0bca6b934c01bf7c33bb615b722ea41807a7d2c7cb3d438e28dbe333e\"\n
        \         \"d6d837477af84bb006bbb10b36944f15d4f6d28b5ed249d5690c0837a16e157b\"\n
        \         \"a8802274101cd44e7fed72a75981c97566bc70e5559702bf5b62fb09b2136056\"\n
        \         \"73aaebb7fe9b1ae6d80403a20133803e1ed2350b8e15ff019a700f2abe87d6e7\"\n
        \         \"33\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.19\",\n          \"22633cc3fe7a7b4f00fa999c4fe0d882c31bdc0d670c0cc3d288961fbe6372e0\"\n
        \         \"e5324642c7b1fa852e1b4f696f12f55866\",\n          \"3edfcaf48871d291d5b7f7723d92d9515152b6bf52b823699c588f75f34e3795\"\n
        \         \"550d078118e286c96e9007aee154f57ce7f1d46039473a4a37a9b590a37eea59\"\n
        \         \"947fe8587c956988bcb174e97c\",\n          \"3debbc6cfb0eed87166bccd54c7597ad36ca0ac96cf16676e1874bf5f10a0ec6\"\n
        \         \"9c3be2259678eea63a1808d90665ffce9af0827ee629edd65943437f8ca0a671\"\n
        \         \"172c521cc0d1dd01e22f20a6c79c427ada8856000c4e035d9c5ef2e105f2c9f6\"\n
        \         \"457d9ee95b43bc4be3294a0ee1d5c833ae91078aed09e792bb42c25e00b087e5\"\n
        \         \"61\"\n        },{\n          \"PKCS#1 v1.5 Encryption Example
        13.20\",\n          \"552b384c5e5174f51f380d8b53e3c897b48c669a9c2d11985b8654de7f76d962\"\n
        \         \"396a37b95341f99dece4afd71d3c84e1287b0f0f86eeffcfd97ba188e3799e\",\n
        \         \"2e2f3e3f46d4740cb26cbc65aae2afe49d0be66639d0db10dfd6af606446f3b7\"\n
        \         \"de98212f86174bdfa5b2e2358507453c20ada69a4ffe0a35e12efbab3bb44c\",\n
        \         \"149291eeb536fc0703f7bdf1f031a430cc83adc43e09686491266934ef37eaea\"\n
        \         \"b11bc7f39149ab33436694593673ccc6390b529e64d342e9f21d176da21fa65a\"\n
        \         \"bd57eec60ddec7d1a093dba376445f1bcfe5a6aace9f1342af39db8ad485ba22\"\n
        \         \"2d39126228faeeb49bb3b271fd38e11525d803154e74084b75c3dbcdff2e3d10\"\n
        \         \"42\"\n        }\n      }\n    },\n    {\n      \"A 1536-bit RSA
        key pair\",\n      \"be0ca01f9c172166f912391e5d58ddc30d5dd0279a49bb312a31e4c8a66a52fb\"\n
        \     \"4e8b6742faacb224c3039f1e198f3323b888ba0e35bb94c511bd22b886405a71\"\n
        \     \"5e409de3bceb4fc9911b0e9c3b1e42e257d5bbea0722b5d5dd3537569dc75606\"\n
        \     \"46a750b87eaa6f3a405a94bf2ada72b50a4b0187bb9d00ec451d50a6a91a1e2a\"\n
        \     \"91192a7fd756b900141fe88f96e2080dfdd80166a7bf67e37144d09e3af89974\"\n
        \     \"e57c72b03a2b88fd2995252ace4f30e2e47c2818057240536b58db4207509e59\",\n
        \     \"010001\",\n      \"f37d28d61f2899a5c0e0a0749d1389387c64c8c358a971dad13cff85c59a62dd\"\n
        \     \"a7bbc0f7e5bdc65dff9de9c745404631758148168dfe6ac0a2876a56053bab2a\"\n
        \     \"2a9ff272794dd5d8139eed10bcfb4df33020d59e3048fd2f0c431426145e36a1\"\n
        \     \"d0a6bfce4443ef3c7e31d4a92fb8517a49f788c3b4e137395a4beeea63e0e0ad\"\n
        \     \"c3224f980925037df6f5b26c007239b4f01f8a9a61ea0b5119bc9d5496a95b60\"\n
        \     \"ea766ccbade037e340324f25f02e7245c236eae4367a6468a7a0938d85c0a1\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Encryption Example 14.1\",\n          \"2bd6e3c1defddd5a43\",\n
        \         \"e784d52503e6291f258e442db577f9916382a0d14c7b9dccbdb607af01f0258f\"\n
        \         \"dc972397da1239d4449a58286ece2008f718f690cee73a027fabf84bdf7ace45\"\n
        \         \"f7ed2d77324cbee90ecc6f1e7b86cc2935a47ba156650b42fc71aad07099a27e\"\n
        \         \"97fe5a3f25fe1348e442391212a5cf1b445a1e70191ffa8fcade635d2e4465f5\"\n
        \         \"f913c53e33b59152cd8a149784f27d831828af2d666a5c309b56d0719cfd8073\"\n
        \         \"4069a23e092d8315399f95c40ad7fd0bb5f94377\",\n          \"85ef3e477677bf76071a27bbc7395715cb350796e44f1b52a08e905e08ff1256\"\n
        \         \"705a9bf0152e872bdc74bb1f2fc8631ef8812d16946a30b58f4464d6e7b2450b\"\n
        \         \"e45b48ccff5d8ecf7a00b1b78fc8fa54713dd696a14acb6800c0d3b69a0b4443\"\n
        \         \"77fa303a7d66db4927918a4bfb0fd493bfaa016aebff995330a6dcb6215dd3bd\"\n
        \         \"b35d7cd61ccf0e9cccbf51e9ea658ea31d1243444c4b72fff01ac93f28eb7f67\"\n
        \         \"c1832e568ed72fd957d5b4fd2f00b6023171b85ab0caa1030ed3e3edc9503145\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.2\",\n          \"104735d9ad726046473df4b13b2f5fa285c3d233ecd46170582dd228cdee464d\"\n
        \         \"a5095e208cf8fbca05388b\",\n          \"dc6a631e297545d2f6fe9c69a5d306a10916d7e7ef0dc953f21b6a041431ec8b\"\n
        \         \"a5ce1c138743faac5497d699f2ff1d4a44a3e0637cc5e5e638cd73677d09afee\"\n
        \         \"3ec9fe8052947a73334c3270472856f307243ac58bf8638074667d7f7c18e3ab\"\n
        \         \"327ea3fc7891f1c58ab47e4ffa6e7d9011a33d9b40a2d789ee4221256230ca8a\"\n
        \         \"61811b0972cfd986017526181d24eebb32cc\",\n          \"921d2b026d6b7e22201de77fbf679990f9aff4ea7fe7ce4502215f9e7aa418b8\"\n
        \         \"5f72eadb6b6942bb08a08be7da6619aa5f1d2ff961c9dc2c341ae32a254fdeab\"\n
        \         \"a2f6450ac4474b6274f0c346f26da4ed555a8c951189dc8369f34d76d837d6f3\"\n
        \         \"8a9518a6271c5b56346225a5ab8da6032a5930fd5b77729de632e1752fc72a0c\"\n
        \         \"34aece25657b281be8932c5650c982fa145fde0bcdd48a73aa0288b4de461133\"\n
        \         \"f27d51e386016a72726a9ede1d32dfc7e6f9780c04eb70ffffc2688295667333\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.3\",\n          \"317e6f5e17500fe94fdff284bbe50301044d1422d3ca700598\",\n
        \         \"466d53c8d0bb9ed460caa63d79bfb877bc4ea345cab4357e639a95dcae379ddc\"\n
        \         \"ea5d64fee99fb6f75ff24eb74d440344d147e43314a0f89f8b96148215368eb8\"\n
        \         \"651f6d3ca0d08d0b4c73e6d1a768409826d43c2f81f30840605c43d0fe671d3f\"\n
        \         \"024c70d0b89923cf904e39979962cd515c1674292aa30dac700db4eb7e63d56f\"\n
        \         \"df08c22470f243861945d00fa4e27990212cfed4285df1edda4b0aec913559f5\"\n
        \         \"9d125590\",\n          \"141fca68dd2e4d1de5086dbb785ff47d81e39c311d917a9939a6ff5b13439ca9\"\n
        \         \"56c9742bcfe450b5bd035b541fab307f24fbfb3f8b90215b5604676e5696f3ba\"\n
        \         \"95fdb8d090a6c24a29d990fbff1da2028142558f0ad75343c72f38823db7667b\"\n
        \         \"05e16b5192b9336007f758106c328bd476118df82ad07548a726921fb2e192b4\"\n
        \         \"3c8c30cc9b8434630e27fd8b23ef8d8f22be7f73aecdcb2b1ec5539d5fbb2cff\"\n
        \         \"9ed5e7f19b49183d221dfd537d4f37032ef32f63b6ff74ee24a096cf45592709\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.4\",\n          \"90963ddab37891e7288b53be5d9dc567b1a07a1566c2afddd7727324ba\",\n
        \         \"a49f1215175ba04c274abc051f0c17a08a63648943db2e8c7622bcbb1dcc567e\"\n
        \         \"be6add8c444816c9d436ee93cefe23ec41ddfcb0a403bb6dbff0ae5d6fcdd764\"\n
        \         \"dac1a72a484f36471f4f3bd725b2db5afa6acf530e4e4e86b4fda8782047871c\"\n
        \         \"b055ad68c841de545a5540c8cc12e7e3f15814a0039a81034bde9c68ae2285e6\"\n
        \         \"16b7b5555f98c613ce2ef666a022465c6367d0bda40c12e941f6998a14a2b5e3\",\n
        \         \"8ad5bf78232aa36fb783583e71bc1393037d13e77454a9dc1111434e75dd8020\"\n
        \         \"46bab42025420c63961ea0062657ca5065deb653ac78eb6498cf14d1704cec59\"\n
        \         \"1169608db01fc93d0d68e62801b465a387a9c72f7eb35b0ba53a5efa98c9f0cb\"\n
        \         \"7c7cba1804cd701d0297b66005ae25ec3b6cd4cf3194a3fa65d98c4b95333079\"\n
        \         \"0efde74fa275d2a79d3310a5bcc2c81c91fc25562ca939f8d9c175edf4b07673\"\n
        \         \"d53924e27b1552881c10831923715d149f1f319e38e91dfa566c5453bacc148b\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.5\",\n          \"3d81021ff6473337e04b92\",\n
        \         \"9b7029731377e82697fa56b086ce49d3c4b1549de81e3e99e16cd972297a560f\"\n
        \         \"f483f2ef5b71b00fc684744f224e857e6d7239f156d7b6102f2304f8a55050b3\"\n
        \         \"756c548f6ea26ea6f7394d2bb379333584e3b481d073c0a58a0ad787adb480e1\"\n
        \         \"f20a1a590e031e6b2bb7f36a93610ddf7083a50768c998623f6e64376a29b4a4\"\n
        \         \"18032d2739bd4e747ddfc77fe3cf2793a29bc767bfacc713e5f10e531b4c7189\"\n
        \         \"97b9bb6b6515e071132889747e546b13468d\",\n          \"1b884b067d0bb1597f5fab933095755a530d9d04e2754a5797ffff5ef9cef189\"\n
        \         \"5499982300503b3febcbaa09d36b7dacc30df3c868f01a5f17ed4a72a85b6adc\"\n
        \         \"80a26a1b81976b393cba9b0c82cb1e2c583ab6f314eda29a433221b6e3ed5351\"\n
        \         \"5374bbcd2b96f5cb5bd5815d1a5dcbf080d2d37cb96c4d961dc47e130db7b8d0\"\n
        \         \"182e3369def4c0f6c42c6c20531af1a19036def08d4baca71b99af3c4e1ed527\"\n
        \         \"d51f37d0ee1ea2c8b8ebf4fd5279851dc320e742008e04044d0da06436613d1b\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.6\",\n          \"5c745dd4a8c592934ed15e22fa9dec4a4dc20a9f\",\n
        \         \"0e6abb829a3b16d08b0bd43eb95c791af2a33912ea833ee6893ed5ad3ee744c8\"\n
        \         \"b2dd28fcee808d3f01495825be0fe6373207a878d4a525ea72cfb0bb58a26776\"\n
        \         \"fb39eebd335f04cf7186be61c5635d95e560eddfd45dd86a4e670d33568d83d2\"\n
        \         \"ca203ed28d90e48b064d09a75f828deacd5b37efcf784fb11b17d6d9f2315224\"\n
        \         \"f8e763791bac6cf46e1c23b0b0252c19edf040d35f592553265b886b29ca56eb\"\n
        \         \"c5386371414d82a340\",\n          \"2b0a43b3cdc99d6cfc74da2a86ecd7d5762475d143e5486fa9cbebbf27d8e414\"\n
        \         \"1ef72b6d4f13f664b3d2e9ec32227c1ad5b76c0d1befbd658968c7db14952382\"\n
        \         \"49bcd95e7540254e65749823b8a34bf6a1410721df34f3c8d579f36aed9e0bac\"\n
        \         \"231e54c27f7673197d19f51ce6acbbcb7b1a55e38edebeed3461073e80c79a4f\"\n
        \         \"c3093130696bfff2bbcb74905f2d3444338057fdfacbc4db81935b29e99e55cc\"\n
        \         \"c1d48d89e9dc4a63a011a62332cf570262a06359cc36c05a6fe18afb7832b32e\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.7\",\n          \"b0e77f42c1a1e3f4155723a90db88eb153cb3d3a28eddf259c47056a470c915e\"\n
        \         \"c955f83189f71aeacdd55c335f\",\n          \"fb3601105caa9a2fdd6dd6c5746f4fcafef441bcb0fb8a2cc03d0b57349f9321\"\n
        \         \"af9d9984e64e2ec485c9ad755f140c0b66db1cfc26691c267731d1a3afe68720\"\n
        \         \"2a9677e42e844d477b75bcbb8c97d99fcf72b3fb6d349fa9c476619147217a04\"\n
        \         \"dc06aa3c3c176495380cb92c0a7e097b4b4c5ffe04631ab1d1bfea03678650c8\"\n
        \         \"5c170fa4a1d64a4c135e61481490b62b\",\n          \"a4bdd492fec79c3a79093a44334272d9d17f543d0202c39e408bfb39366be2de\"\n
        \         \"61df50ac458caeddeffb69e213ca92b7495366347ede733ff399aec796c3c3b1\"\n
        \         \"df349f011da01fee7d21c1c261843de88208560c0e8984b95223ea3731db91c5\"\n
        \         \"937a79b0db9387591ce32ec7f583e600f52444dfa7671ce8273898fbbca3a4aa\"\n
        \         \"6832cbb3543abe9647e5f8c137728252ce5440fce10e4d4ef75d56b814d51964\"\n
        \         \"4441411c10a2a14c350472827c99ea3ee5fda3880f341dca8d3d3a4e5e05ba42\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.8\",\n          \"b87f04b3350e1263daa3f9405e6fd3d25d8efa132556a49571f5708a42527af3\"\n
        \         \"1db01edf79820f9326645fb1\",\n          \"ec8d014d6eb8d0239a9773bdd320bfb3f2ee8fc27d5fdd91f3f3905dc8a4c5ff\"\n
        \         \"13529aeee461854cccd4e09b624afa647a7c04814eb1e57ba14df4c795b42e84\"\n
        \         \"c4d08629245dacbbed27399a725a948f3ba2f8b64d2602dd0d5f55cb23eaaffb\"\n
        \         \"3a66508e4a689ad9eee644e6a26d438f3663fea9bd0312bb0e7e5a6dee04bbe8\"\n
        \         \"a0745a73d5ac89faa096a52ed3046d77de\",\n          \"775dc324fe9d5e05ad015013d65f0eba0dcd52ff9dfc1795ea93d0f433579896\"\n
        \         \"86fe3f8b046223bba5c7849acac3123543432616c3103ac2ba8db0a1d29940bb\"\n
        \         \"a262470e5e53be60e0eb724d07cd912aefbb87fb51980e9e1ac194da31929541\"\n
        \         \"ca43224b152be6f2df6c5f0442b4f4d2cc2fb02739d485a01162bc8dbbad1476\"\n
        \         \"eb06e245ab36c4c72d3f3607d05084a0f6b72dc8bac346bd19091b02f5982c91\"\n
        \         \"457c7b10f4472b57184524214b23825b59f434cc48a2b854cab50ff79e59091c\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.9\",\n          \"e195a036a530e1c2a9d7a103358dc2bd25b101bf704450ab8e5062cb63df5610\"\n
        \         \"35\",\n          \"0ef881defc45ad3f3e58b1105e49b423ab89124a65b52cfd81cfd542b91e7c4c\"\n
        \         \"1a6071a2cf12b4827ed5d19cbaf8feea54bb3d73857ee87c715c71b9ed1c07c3\"\n
        \         \"afd90fce40448bb57e3524d038809839e36a4f5544c3e181e8c2e293cd5754c8\"\n
        \         \"6574ade6dfce0ab34a80b4d48a9d42e7115d8cbcb1fa28c8a26501db7d0bb496\"\n
        \         \"d01dd69265a026e1a97e9d3a1a65a8aa8ec2df0634e6f2651ef43540\",\n
        \         \"1ad77a007ca437abd0159ed4b0b6815416f9f09d1b1215fb7cff115297601a88\"\n
        \         \"30f20917863563853ed78e9c3d7ba4c97a05cf19dd329248471a4703a465178b\"\n
        \         \"85d4ecd542241298c2fecd413e23a70c8a5d47c20e31c2dabe3c82a954502727\"\n
        \         \"49ae2ebb89985d00b63dedd9596d0516d12a78c374b7eddc7dcee8e4fdd16c1d\"\n
        \         \"fabff7ffd4c1fd61ce04be8e4975c5cd71e2cb0e541b8461bb81fb28cce77365\"\n
        \         \"3e8b16b28a8c207428895f28535587a5c99d46ba4df9ae085018513d69aba3f6\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.10\",\n          \"042a3922aa871eea0d78422ce78566abbb5b08c2ddf1ee30cf\",\n
        \         \"5ae85114b0027a23c72bdb46ae7bb887bec5bad7a9884e93f6f4fd0bc938bc72\"\n
        \         \"410cce96a14f4de199197735051efcdcc196f3adbfaa063cb3f7a234c6cf99d7\"\n
        \         \"0fbb7e35b6aec66414669391e3cbe721ec991a1e5dfbb038f270368593749b20\"\n
        \         \"8d089aaee2ef35c3daf6238b5fe42d13dde407df14f2d618c979c97d2de02933\"\n
        \         \"b57fe8812204862b2f1dee983f24c2c596ea668e637d0a6ae6dc5265276994e7\"\n
        \         \"e4f02b6e\",\n          \"1244de880e0f7852e996959d762fcad91565a4d0ad3bc52750d4a0440f0b5c65\"\n
        \         \"1aa0e6f492061b2c8624c52ede6858fa2518ae8e8b116558b2c8076c17ae783d\"\n
        \         \"8db25f0d8fb1f2758a82ab971fa7283ef0749a37be2893f89437fb8ea90072b5\"\n
        \         \"855a2608fc542f5d2e0cb543f4fac528f94352d01640fc2c531b79810c00777b\"\n
        \         \"c9e10dd9ea9996e74087fadcb71aa14300676571614882943f4a561412c05467\"\n
        \         \"dca66ca49f8229351823db8a6b9f803d709c1187ed7410cf910015595ceab63e\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.11\",\n          \"f31d3d0c30fd65d7b98b709944782e20525ca7c1f42d5d03a0f6d2759df1919e\"\n
        \         \"ea82f80f1000fd5cf859df59871bac82dd9076cf\",\n          \"044bc377e8589fa5af1c17347d50e0cbbf901576f241de690c8816c129cd9f2f\"\n
        \         \"b0831a017bec30b82b68f698311af6e07772bcd898fa0c27f62afde895897784\"\n
        \         \"4625552d9bcb5a81aa3d7415b242a03b12fc1d3fe2d2ce6e5f71c4a4a4c7ca83\"\n
        \         \"e0656f5002ac36d8d02b69ae65734498f131952cea481fa2c2965b6ef0517ede\"\n
        \         \"50ddb09b3ea7026d06\",\n          \"86f66f0c250585065943de2f711fae4ff262700e0d3306a24c9430f87cfd93de\"\n
        \         \"f4c3447cc7210fd94a143362f4f945c6dbe280bdef5d14f75eb7bb31320bcbd0\"\n
        \         \"d88f0ccf2c95a74cb458c6272b58bf743093c4bba2d7bee9ea2dd30cf72fe293\"\n
        \         \"c90c97430a047b17266391c51f5c398ba3df8cb74ba3e372f9555ccc97d6db76\"\n
        \         \"14ea06d5c48c1c6006133d0e9d6995799385920ad8afc3deadf631cecc559caf\"\n
        \         \"f495b08d683fb22aa697d71c696e46b1bf4fd76b8d0b39f179bf66841bbb9707\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.12\",\n          \"6a3555579dad03943543ff74e1747c257a83d35294c2539383e235de69\",\n
        \         \"5d92434edbd4f5bd27197171f853ceb726303083ad4567a1d7c6104d192b9bcc\"\n
        \         \"dfd0daeda274e5cdfb3d0c5d19c9682581ec7adc1a87e08151415d5a9adc1af4\"\n
        \         \"50b1ba88d0ef32ac2d1f8ae345952814753af38e12635cff8c092159b4e75dee\"\n
        \         \"a1983ed3d2d9ec2fe7b9a2e16a141e818b84cd9b71c129a8b3c6db620232dc03\"\n
        \         \"a2401f731ff8a63da458a7d878905625aee1fc094dfb07b4575a7f0aad233e82\",\n
        \         \"9310272d124bc5cdb721889840aa7715e767321700cb39b2b8a5a82ae3f02eb9\"\n
        \         \"67e8db46843bc1bf62ed8bd2abe81434497f9900640253982d372b2bf7c1b09b\"\n
        \         \"d5019674a834fbbdff3568a2824aed4a8048d2b861362775bd5f0d63b348363d\"\n
        \         \"1378691f5dd1d7961074ed95fc9007bd5f5c2923c17c42904e2bf9d248779fdf\"\n
        \         \"b203973841a11290c7e9e9356d4eab170e431bfe454a88010d9aff33700cee55\"\n
        \         \"c704c82a7ffb15e253ef84f4019e12438f7c7386dc535b19ca86af71d477608e\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.13\",\n          \"cb79af5aeafdf2bad21dfe62926642cba804ec7fd0ea5d5408ace9edff28e7e8\"\n
        \         \"dfff6df383af144021460476c0c82c\",\n          \"5fcea257cfa92c84f0b8937d173faecf7503ab162e0baeef7e4c511f3e32a324\"\n
        \         \"ed40e242a852ba57895b7cfe4d617961e036f663e0228a29cd1a95acac08a255\"\n
        \         \"26d1ebff0ab3f033edbf1ae276a8d236736cc7af51b5d2bdc83dcc7d7d3bf5b8\"\n
        \         \"22af2effed7efcb617e083e51be994aed6569b2383b941aee594c7b012e6751c\"\n
        \         \"37b7a54e2a191824a130d55cf845\",\n          \"11fa819d3a638804eef1d9560a11f5230a0badfd66eb684e7d69dfa2898c8e0b\"\n
        \         \"6e04af8efc7061081ec59e45857642e8b20041af508d9d4e288220f9fd389de8\"\n
        \         \"b29124ce747eb68e2eaa8c8f6fb493f611ac09b723095d07eed924f6ab8e09ff\"\n
        \         \"93c5516d1f0ebf62c5f022f5bb4f4cb5b8f5d487a17df7d012d704357abf1748\"\n
        \         \"67ce40cdc55011b07139bea45ca0e581780de65417cc835ff26984fd0feba187\"\n
        \         \"69c394a2e485023e31d3b0a888a7b14c781dd85bab408674f5f57e4b763d8435\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.14\",\n          \"d16233fc775c319f157aa200476cd6ed64a1ea\",\n
        \         \"bb33b22b5f46794be83e6aff34a0e411d1f3f4b8daf9b5858724effdb969c955\"\n
        \         \"25c62dc44bb2b083386003054bbd3666b78282606fe6ea172731bee11672d601\"\n
        \         \"de32423d83f463cc2930f5fb79da1534c415c96582756594a999b226354248a0\"\n
        \         \"9f141caecf88839078f77f40bd4851349c1fc75e1ece6fd6966bc9c9d5ec1209\"\n
        \         \"6ed5043546859e4f957d3188e1d9060b59c1f7f62efbfe825dda45353e6fd4fa\"\n
        \         \"bac983f944f4c2c79cbb\",\n          \"10c20c0c71b11bbece14c81483dcfa730c23d4dd61b8755b39949dfd4a3c5033\"\n
        \         \"2160eec6f7710e09c7a97af93f7044b92f41d09fa3e6c6ce1f6411484ed47540\"\n
        \         \"a1b59e23c19334b66d6820c2d44db0f6aaf85aa27f53a41f856bf6a591365986\"\n
        \         \"9ba4abddecbe87413ac95be64009593b5ca2d0783a16f608665755245393fc14\"\n
        \         \"4fe3ea5e9aac9f1f991a928538b46997d3063cc1a69adc192a40c76f92d47a05\"\n
        \         \"80e3c02120023ece7032807b7c091343aa873f6a4ddde43fb2dcc379aeeef654\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.15\",\n          \"d2f3c2e6f43b0fc9fc2293b84588e66115\",\n
        \         \"b9816489525cd026156fb4e8a4a8f34aea8a3aa1a634cccb3258918fe85cb8d4\"\n
        \         \"aa02a52852a8941d3ea6c048b58cc6c75685675625e5e4dd7df93b8acec07967\"\n
        \         \"0b49f3dc6e0763ed4c8e2d0ee9b5ca5bb62de006919838e4b69ba105d4c5a4cc\"\n
        \         \"6dca67b12193a032b692739644cccf723f9f69e48b94c0bdce5aa35f75dc5392\"\n
        \         \"7b81e342ce72c6b65cf75eaecac5fe0dea93885ba420af9932d84ca4b50e07e3\"\n
        \         \"28ec5f816d2d8696b20df75f\",\n          \"80f1df25f36f314b982c9c8aafc0b8a1a2f174abb2980869c29d19be1d2d93b4\"\n
        \         \"fb4299906c357fdd40e89a195492a9797661f05d3871d1bd0a5c45d8f9b0fee5\"\n
        \         \"65b0004ff5afc5a6f89ad603e82283570bdb4c6e0cfc313e4e665a9434b32fcc\"\n
        \         \"773d6edabce85fe7c80f03302a84e208b5bd0aad91ce62fb8c2bf54ba66f7e8d\"\n
        \         \"002192162920a46e36dea5661fdd758153564074b8559f88936242fc0998148f\"\n
        \         \"19eb50fc11fb24a7ed8c8349658fe9d31e6274d45d6f2b609bb5ccd17e284c99\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.16\",\n          \"21ee5812e3246dab9c3c259b2137d65f98a05e5740465ca22c69349700a42cbe\"\n
        \         \"4ffb393fe28199339c51031cd3b22f2f0a83\",\n          \"e9de5bd355e6aff19fa11a2d0d3edc3f6469bd3c757206d66b3f09908ff618af\"\n
        \         \"4801ac77b52cde03d4ae749d02155e5c70fc995f487672d280635855db4b64a2\"\n
        \         \"2609b0c16067163c519042057cb36712c7c2fefed11f73c28bdb9d25f0636a4c\"\n
        \         \"aa11269e5fe65a2b175686a15f1e48d28d345dd9a1b2900a24f9ddda3df3a69f\"\n
        \         \"fb9cf5045ac4a193ae902f\",\n          \"7d8c531d4d3549e0bd2ee162b682539da61722b88ecf8c7df6d6b81fef5018bc\"\n
        \         \"4ea10a7e1a4eaa0215d9b3cdf41347929eac2748ebd779945c9bc461dc51f48d\"\n
        \         \"f6527553f07037e533ceb1348a46a7ea797d85a26a9f44c58869996ef11469bc\"\n
        \         \"c10b756c02d5c0e61883685cc37d758dfde4c9b7354e3b4f316ca7f7fde659c3\"\n
        \         \"fd5e332e1b6392a2929e131766ce9ba1d971ad246f3df0224338638bb653458c\"\n
        \         \"d4b526d961744dafecd5998ad72aed3c34599f7a4098e3d2df9d13a21ce2370c\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.17\",\n          \"a034a6c166cf0b25d2dde53af4b833b478c6b0d2fb0cef137fbf5c2712706491\"\n
        \         \"237f7b286d1211d57310f8a762b1b3bfe19c9a4b16d3e0a8\",\n          \"d84417972287130a24a606f583297ac911528adcdbbd7de14a5b489b6786f9f6\"\n
        \         \"f7e0b73bab538eb6c45ff34bd5dc43eae8d8c43f716516a60da247536f634be0\"\n
        \         \"65d94e7f92adf52a967ee05fd9afd732333f99ad058297b28f8ec6feff802844\"\n
        \         \"a0097df91a97702c483aa1c7892c7d43b6b91cd4d85d3ed2f1e955395706c3b3\"\n
        \         \"39baf2a0e0\",\n          \"904e040723ab9788a5ed0352eb96c7f3d707cf0dbc258c51dcf6243406f0c742\"\n
        \         \"c6cdf20767132c095e6c82a5025be7b4134d8fa4de187f8ecf12fdd3beabdb06\"\n
        \         \"158aef46c3fed2d1833406eca7a69eb2d208a2f6f440d54f6be5dd564709eda8\"\n
        \         \"12ac0629a94c7f8aee78beaf9e9378c8dd9c620374bbaca3941859dd702f6f7b\"\n
        \         \"25a238459ee89759de9422b5bb6d2857166ca2120e634774a0d1d42eb8d94815\"\n
        \         \"a1044bea8bfb02da5862cd9a745f1592478c6f57bfd13a5fdf4b8faae8a4bfc4\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.18\",\n          \"8fc6394cd6e17533d1ff8ebbf3e1aeaea330ed9f5a6e1efb83454294c6ce24f6\"\n
        \         \"904a0e\",\n          \"be1c1802db44682e58c61fe38757ea0e384ebadd7959484b38bb235755c46177\"\n
        \         \"e671769f36573d7cb0ee7e82087b584b58bb3005303368c6590ad9f2882cfa74\"\n
        \         \"0d51dc55eb0c790f5bb6b6a3bd71f8b2146bb9e8034c35b7cabcbe10936ffc5f\"\n
        \         \"0a8d7b30476ab91685aed8fa958e73c1eea3044c56b4b870da89371a93b89652\"\n
        \         \"79b55bb92cc316c23ef0975351c749817db5dcd86b94adf603bd\",\n          \"b83c718ce5c6ab1e40ffa5670ac166664d3a6833cb3bdef462794a25d53e1704\"\n
        \         \"6006858e63f88ab95d04f4fb6774f7005dbb2e22d519360d5e1338ad15308f6c\"\n
        \         \"6412549567007e021cb237ed4af5eef3bcf9b731599f7253ceba8304f4ee8c34\"\n
        \         \"3339d0a064eb77f1e93fd1cc7ba5fc3bb8184ced0e8697ac47b74620c494eab5\"\n
        \         \"86ed9fe76e07e4bd2a2d1b95595b69c64677a8835d56ac639df8f643241b3e2c\"\n
        \         \"4688d2adf228de2da9bb0a363438e751b5250deae305a3905e7e077a4e8c7466\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.19\",\n          \"89a12d22bf877d440a2e03aea932eb5183379b3c8b90bee8fed6fc6dafb0cf05\"\n
        \         \"27\",\n          \"6072895e4780c8f77e0b195fc9f5db7833f7b6f5c81c1d30cbe9e80ccb386606\"\n
        \         \"9f8db6963ad46d52942a5a73f6a327a94ed119dfce4c3765843713b619f9c438\"\n
        \         \"3203d55e2ab61da8961a81037f1118a78297eb366a1c51d9f9466b715bb62999\"\n
        \         \"e0a9d6e02501d47f97db409e3886e1366c3eff2ba790e26243227aa1588082bc\"\n
        \         \"e6d5cde3ea7efbf15c6c7dfa545472fa9e93956a4551d5a77ca00e26\",\n
        \         \"b7acbbcff0fa9fca6f0bbde5a2f0a1e6a0abadb32c89e317255bd18d12e1a60b\"\n
        \         \"3e002c1d69356448329a49b5bd241910fa0ce03b3e68a590507599391ed15397\"\n
        \         \"92293fef13174dacea6d2a05b39f684828a5d6d217f84b782c8fc9843caf6aeb\"\n
        \         \"178f0e2c6bd2a0e6f7b809296117cc8a6bf73735846424adeba1ab31145fca3b\"\n
        \         \"8af768c9d0a28e09d58ad496423108f08caac174acd1f3ac43486961c5c90e1e\"\n
        \         \"fb89bddb7bb39f4ca3af5712f553af594cd5d364132914261007aa1d5f216b8e\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 14.20\",\n          \"09d6948ce1c1f24c6d529cbc5d6d6c1beaab5695b30caab744969bf7f9dbd283\"\n
        \         \"335e98a9bcd65dad2b4f0e3cec890b05e67fe97823d4\",\n          \"eded62a650f7de3b1280229d5fb1c4408e82dfe0317e6430fcf471b1e28da8cf\"\n
        \         \"6b4bf4c5d031e3ee688b640772aa5008e5863c707a4022c329a6664e71101206\"\n
        \         \"b54db5406e7fa9c8226f42931119620ca30de7d03be143940cbb4d1a9c86e986\"\n
        \         \"3c987bff07023de19864f733da0c89bd039f19f4d8ed616f7c6e9494185b604a\"\n
        \         \"1a7bf7490fd0d8\",\n          \"7addb05cbf0b17aa508a0b170c4c5aee84ce06650d08c9966d95d3071a9a8f3a\"\n
        \         \"93f96a875399b478c256d0415e74849598211f9f9d0b89367baaaf174b7f13d8\"\n
        \         \"490baaa740961f52d7e353c504818a000b03674d9ce493dc3a4ee9161301f61d\"\n
        \         \"e521aef3f6d41d82e1c5dce02e636e7740a183f8023ad2614941d9b161cdbdf4\"\n
        \         \"8f8a562c8ffe44f57a746f2639e5e83bcfd392d23e1fb4a8d85e3ba5e1cb9c0e\"\n
        \         \"53f0d91b01cec0f0ef9dfe3f2b3065bd55b72fb17060abe8830aca004464fe7d\"\n
        \       }\n      }\n    },\n    {\n      \"A 2048-bit RSA key pair\",\n      \"dcfa10ffa74665aeef870974ea99b2ce54547c67f42aaa6dd01a2ed31fd2c242\"\n
        \     \"af5d960b1f896efba3543d6554b7b12687a5c688568f32e026c532d25993b97a\"\n
        \     \"7c2842ec2b8e1235eee2414d25806c6fbae438954eba9d2755dffeeb1b477009\"\n
        \     \"57815a8a233f97b1a2c714b3e2be2e42d8be30b1961582ea9948910e0c797c50\"\n
        \     \"fc4bb455f0fc45e5e34e6396ac5b2d46239365c7f3daaf0909400d61cf9e0ca8\"\n
        \     \"083eaf335a6fceb6863c1cc0cf5a171aff35d97ecb60ef251c7ec2c8a588361d\"\n
        \     \"c41266a4b7ed38b026ce0d53786449dbb11a06ea33ccf1eca575201ed1aa473e\"\n
        \     \"d1187ec1d8a744ea345bed7ea00ee4e81bba4648601dd537dc91015d31f0c2c1\",\n
        \     \"010001\",\n      \"21950851cdf25320318b305afa0f371f07ae5a44b314ebd729f5dcb15da7fa39\"\n
        \     \"47acdd915daed574bd16df88bf85f61060b387172fae6e01262b3864c2d3c22f\"\n
        \     \"94e04a8159422b4ed279c48a4c9d767d4966071a5bbf5d043e16ff46ec1ba071\"\n
        \     \"6f00bbc97bff5d5693e214e99c9721f12b3ec6282ae2a485721b96ddcf7403fa\"\n
        \     \"037d0c57ab463c448de5cc12265add886d311ea8d8a5903fa56c5f1c9cf2eb11\"\n
        \     \"cb657a1a7d3e41352dc3e686898c4ce4305e8b638e1b08a2a86cc9eb9866f349\"\n
        \     \"9ac77b6136b81cb276d614cfeb7b6ed3f3bc775e46c00066ebeee2cff7166b57\"\n
        \     \"520598947ff6210320b288fb4f2c3f8fe97b279414ebf7203000a19fc0424875\",\n
        \     {\n        {\n          \"PKCS#1 v1.5 Encryption Example 15.1\",\n          \"2aacec86f423dd925ec158822a748cbe6c31a0\",\n
        \         \"cc4b87f674497bb0e33d9e2a4a8070b7d78b5fd2c4b4f6ebaccd4ee505b71fca\"\n
        \         \"fe2156337ddf27b475af33f6c3405b8e3c0c206ec2812922fcd8a3661b8619bb\"\n
        \         \"c182f807f3a1072e62ca2bf1fa8b944e58a0e203dbb753f9f1b6ef627ebee598\"\n
        \         \"967b387a5f9636d8b641b38984b1ca037e3aaeaa1710f51625ea85f8fb9a6e02\"\n
        \         \"9e64575814d530fc146b3445ac4201b4e408adf655f67843d8871cace5d906d7\"\n
        \         \"fc038fea885b96fb8eb1a721c6c14abbeb78fb4c798a19589959898455a31684\"\n
        \         \"3c6cd99ef58c2b0b49b8ab4191b402a54c9297310cd224b17f214167725c48fc\"\n
        \         \"c61bc47cfaccf15eb3b0\",\n          \"6042e745589af03af87520f93c45d8c35985ada1161a37d822e9f9460fc75fcf\"\n
        \         \"0179d8491b8f5d1e4de8ceb31e07c4865c5a3efdbbb69a8803b89ee65a430a58\"\n
        \         \"09c707569150b580bb686a94c5541c46adcd827960ce244ff688387d1616e85b\"\n
        \         \"4d1780c6483606cf924b54f080cf4154e66829bf6e532481048ec41fadc07d75\"\n
        \         \"5bb34bb28145219cb30d47d0d618709180e90303ff9ef09018bed3da75761da7\"\n
        \         \"94811f96bc9e8d7c4ba1b5946bda0bd313faec4c993ed2748eed8cce4bdb520b\"\n
        \         \"a7db165f9fe56aa8454d6ff33874feeebf29de2df5b7f00aa1d9fb073fc4067b\"\n
        \         \"58dc50624e127f711dde2cc2cfdab4919ccf28c83660dfc227b0f500ec1f904f\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.2\",\n          \"5c8bf2acab08bffefa6480952b24daa5019d125fee\",\n
        \         \"5e163070efddb79f4764f8a81d44460b5c400bec7037522920f772959fd4cf3a\"\n
        \         \"ef2f14454dcd9e862512ca69db8368a4cd8d1a44da595d6b439391c93146b123\"\n
        \         \"f186083c4b6447bf7e20815146ac7549efb67460e8ff1b2bba5c95a51ef813d5\"\n
        \         \"dc4e6c3892bc4f439c99117ed06c14a6c540fd4c65d195d8c61ea7796838e5a5\"\n
        \         \"dfaf11d0713c191e8a0b8080f7a77e703ab36622f1c648b765435b9027971811\"\n
        \         \"b1152d972fb76aa89205033d9578187ae63488fda3c86b2f28e779ac4c89cd25\"\n
        \         \"2017d1a9958a52c5b87ec1bf9cbdf7de0e97c58ba11ba3a33705f3f499589a3a\"\n
        \         \"72e2c0fc5b16fca2\",\n          \"44e671e03bb66780ec0586d56f8f6a49415ad4bbce226d75d70f06ce29deea7d\"\n
        \         \"a1afa8287e44363c510f34eb8bf31ca2472959269c18df0936ff12c6166f4f45\"\n
        \         \"96cb1caec41deda8c50999bf4c944d21375b36753191b4cb7caa1b43e9116cbf\"\n
        \         \"1da8b201d297a4d08bb0e5bdc8953270f7c2809678c44bea75e81fac22d27106\"\n
        \         \"302bb69da074b6efa6688cf835c80bf5e4553528ece0b7c1b77b666ea34523ec\"\n
        \         \"1fcb3e25054e0bb8e4ba027e5c21bf7a5143bf041ce9ccbcfafa878082fe41f7\"\n
        \         \"8c70bf4e53cf487c1aadb01915cedde8cd9fb84efd981ac98cd57a8256d4e9e2\"\n
        \         \"d0862dab0454d3ff4fb985264a46995ab068a74edc7ed8aeff5fa30f3a7d7594\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.3\",\n          \"e2004b310739982cfa9e95453a\",\n
        \         \"e93e6412337ab7b0f1b569801a3c164a6f23e3c27c7c55a8c5ac9eaf318855f8\"\n
        \         \"328b5d7ab4cb8619a00e9941ccaa948570527182617443c1d21e4a6e21b3f6d4\"\n
        \         \"f698a61ae029172cf4da039d91585a87dad128c2fac5531b2f45dcef9b9fc331\"\n
        \         \"c804488528847c90875d19075fffb005763d88e08147669228a9aad01625bc61\"\n
        \         \"112cc7b772f321d433d4f26978209d0e79676af3b8a74b973f52ab919085f352\"\n
        \         \"355f856aa40ffabce543d4e76d454892989cb383f3e66bbb0e8feebff7c6a54e\"\n
        \         \"f2625fc4050e6f87a323132a4e671268fb83cff2d82251b79cbe32daa8e55320\"\n
        \         \"2fe8872261f60d5bb511f2fa2f1421a3\",\n          \"2bbf6b0c5cf20ef2f6c5a0aa48454f850aa5f6bbeb030db4e2bec11fb200f01e\"\n
        \         \"4eaef044d8143333338e5e66380087660ed0173a76821285677e371f28ec4500\"\n
        \         \"f4d59fabab2073e734365fc6b094ee0adbceaccfe24988ce615d605fc3408c03\"\n
        \         \"be221c993f61aa724fc8714a8a4a1815f9e9a99882aa46883e70474e3329b991\"\n
        \         \"e6d53dc6b500861992343a6da89a8bd6f37f34e5deeef80e7d56b93a45176066\"\n
        \         \"3650fa455d5541899a76aad1c6275ec82c4607122659b508cb5dc026acf93fa0\"\n
        \         \"1a5fca3d81c1bb20a5a5cf357a23c95688ea42eb1ef2c9d46ae37f8cbe615c20\"\n
        \         \"84d989b892f0167b23be3362face808d6a5eb896194408db7c01639c5862304c\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.4\",\n          \"db6af1292305278c5b3383f8a41d6c83522114c988855074065b23f9feae8ea4\"\n
        \         \"31fd5da36f9babf9dc61df2e39234783047338ec4f\",\n          \"cb851fb276a7491cd3efe4d3395016c1ec2b15094a1ec6d930d4ca21b420f847\"\n
        \         \"ff6868f014d209ff807e8b1f71670b325094c0f6e32f84f768222202b21be36a\"\n
        \         \"286b30e082ef3bba647cebeeafe310694418d70a679eb2010780dd0e96553c43\"\n
        \         \"cbc6d00eac22aa71f24821c4d6c1778e786cd8c7bf2cbbf214e203e2ef2f3335\"\n
        \         \"78cf1a947e27e59996290cbcd6ca3f8f96ba67e0e34130cfdf86ef48e67c90b8\"\n
        \         \"b72e6f4255017da2d1f3aedd7fb1d9de42efc037abe6616ebda8d0b40bd780cb\"\n
        \         \"db68ce54318fdafd\",\n          \"c99a9ab67cad0c41ec847bc27467fdf5bf61ed6d04c65f7d9dd8bb7007a8a9b8\"\n
        \         \"3a3c38a9cb925e3e7b3c407d64669315b35449e75428ae961914b0b91023e783\"\n
        \         \"191f9541b67865971c95b0be18931eb1c847c26a2983c0584eb217c99c705f5a\"\n
        \         \"d8cbb09f99b06bdf7bd12628ae3667c12c7227d96ff9c108dce3225106f62f9a\"\n
        \         \"4a3a8117a992f288c3b5979109878fcd59c6796b1998482ea82f301c939183b2\"\n
        \         \"dd47880448678acba12d7bc8a552eb327634e92d0cdcf71effb666ad902d9e26\"\n
        \         \"ad1860e29281d02fb0c5493bf74ac02c9440436e0d75322892777d325ec8452d\"\n
        \         \"e758cc6a5cbb02d341f45c9ac8edf150dad71582dc77958a8544b0b558ee2a0b\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.5\",\n          \"e799e4ebc869319ee22580\",\n
        \         \"3a0757cb49a3fe6ae80d3742068b5c8068b8c5885420011093c22099edaadb49\"\n
        \         \"1f226f856066163ab5105e7879c7491c1835985dc494210ef78bad4816d9b694\"\n
        \         \"c9c8be466a4d178a7ddecbce5365400d6821b6e9ae0e03bb69adc4ec734afdcd\"\n
        \         \"ea6dc0c48596c48b2735ef70f3734c186d0318378d2bf8099688672fa38591da\"\n
        \         \"4ae6fc112b727ec81984df7b56c9844e25b0fcd81d2be7d18d01646a6d9fe225\"\n
        \         \"d3697c34ed2e336cc0373daa28d882e497757b0a6510862eac10d3b24adb252f\"\n
        \         \"30d434e30a6376469d80b95711161778df35889b3acfb1f653ea63072f35a3c8\"\n
        \         \"9f6ba52afbbdc28f23d38f4d4e79fc397c10\",\n          \"3a3e725c6e4bb0061269618cbb8a6267d95583abaa03d8df85a4f6a5cc359bf1\"\n
        \         \"15260ddb70ae7c66bb8d87d6331ff1b0b54be5648e83e83a91c54cf371496ee5\"\n
        \         \"ca0273b19f700370c2c8cdf4281338a6e72f66324168ea8cdbc64c609ba96791\"\n
        \         \"c791b5ac8400992a8c66fb09f4e313074912af0cb7415fb215eb97faebbef1a4\"\n
        \         \"47239a91db4a34fca4d84346259ee0a1dadd10b7f01fc8c53e420f88cdfa0cbc\"\n
        \         \"f62be44b8a7940864ff8137edb122ac2dae5410a47cf0762e20f2086cbf66ff4\"\n
        \         \"d1a9f7270f009cb2e07d9020b48a76d24108e9989bf904e4a71ddb91740ad7e5\"\n
        \         \"d1b68ec64e3e66cd0e897dcc665739ebac451993f02cc5bfc63a602f558381da\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.6\",\n          \"099712b826ba67cf929225bd612ec065d451ede231c8d5c20404d470e79a7a1f\"\n
        \         \"246e3eecdcc75f085329f8f17b81d130300fc3b9f093a2\",\n          \"81cd64c84d7765fc60e4de3ba9b4dd21ddfb74fe2dfb7cf619dba4cbcc176ed9\"\n
        \         \"4e6f37ed1a97e3bfd36365d2644d3b6ee6c77109fa18412ee7cddd3be8d4bdee\"\n
        \         \"94c096f072cab6f1886e3a84a7fdb5aff3dd83f7e5c5b49bb1b38f8faa752531\"\n
        \         \"d89c88393e9eb8f57edc5b9fe6ed2bc95d272ca995f7e259b00832d98b872312\"\n
        \         \"cbef8a048f6eb7919784aed3d31eb4b12fd80760a134c9d6c334c2dd3dfdf497\"\n
        \         \"5cf1b51e87122b973333449608ffbb2cf30a02bc46ea247b4539b18607bd47d3\"\n
        \         \"cdf0877214ba\",\n          \"786b3f599d1b743e23582624fa2c94a36fb6bd33fddd576408cc854ad7cf667f\"\n
        \         \"17380af20b0b730c6be98c018076b9b5041daf2eeb025469300aa4364335be26\"\n
        \         \"7d33b06b4a7a797a3c0aa5fd3f916a55dc274c0a2487f125f9da82596f434c7f\"\n
        \         \"bac7ece2ef6c83e0348bf4f2c083050755b56a9c6347f39c76b0e0eedc615410\"\n
        \         \"25c23aa1855c0b22b446fe1ec5f1112c5a7fc285efdc8420ec01a3a7c33f735b\"\n
        \         \"4555092a9e8de16f3f7d469f88cd75c01c7f2e7d546a1b9e7f4984fa29a2cc80\"\n
        \         \"d310f9d7818df6d9ad6cc205374d52e8e17390bde72f25b712a4269f23aeb241\"\n
        \         \"a666e96496cd84b833fb53d0571f7ac2d1964b8f2a7e13336d9a7e03041dcfcb\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.7\",\n          \"5f2a5c7f93e714eecab3a55a69c79a3cbc15bd19df27989a9bab59fbbea9ffcc\"\n
        \         \"663bf8e1e7407dc273\",\n          \"e01960826d1a69f684c9c0b85d84dca5811c89a2c0742f33a2ad199fb657a1aa\"\n
        \         \"9813601d29936a43d9b9eb4d3289cd7d3706ab86b4d66adaa7e0a13451b2edb2\"\n
        \         \"bc771091110cdadd7ee2e6aaea2b35cfae4ce3b1da1816684c89c0b3fb2f8779\"\n
        \         \"b25ce0c12d42b1d3d30b8f20beb899916e4fd0a1588637192e0528ce6ea54c8e\"\n
        \         \"b754fd7ff0032581a9505998e69e14f072bf95dfeff014df99ed7853b982e889\"\n
        \         \"4129a1d27c53eaaa234c8d14a7ffc5f5e2187cef79ebf52b3d6c0665895bfb87\"\n
        \         \"e4bd610e358f3526da0592c9e502b72b76e46566\",\n          \"77d907181cc3b1bb1981e8cb22f7ad75f882e26afd281b64db70c84c6a50fe74\"\n
        \         \"249e22fbee90e30d0b70ae2f7e12acddf678f00d227e5361542662430269feea\"\n
        \         \"34124792afb3f87b30f950f4edf22c4404c9688dec38ea0b99cb3dc384bd88fa\"\n
        \         \"3183d7e07a2054d73ea51d4286bb39dae3ae6d0b9651f1ea488f805f2a216ea2\"\n
        \         \"1a5676b97d1b11d3b4036ce167fef64e0eba419af673983fc6ee01c637b164e5\"\n
        \         \"aaacc99adee9f47d219254696c8fceec6c74ac4e39051e15269401738264f0ca\"\n
        \         \"5bf122c55c9e5dd847b1d5774e7408c3684aa974b0baaf40edc22a0357af72c8\"\n
        \         \"16cf731fcb63965360699f269997b8480f30a6b5d57e12a5cc54ec0c805fdcf6\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.8\",\n          \"556139593eee8b6e87\",\n
        \         \"2de2a57224f5f5b12e223eb5f82b9f47249d25559379136eaf18e2f6c833e3f0\"\n
        \         \"1bdeea9c303bd9677c2a85717d593a2802aecbc6b3b71f2c7903ff690e3f3c49\"\n
        \         \"57dd74cc9c2a68dc1d319c1e1787bbb7f0e6e51e39a5badbba9fd46766197431\"\n
        \         \"2b557af18952549f6eba9df49f70eab3689f9fa8fbea1c97e1bb2f093e6aca9c\"\n
        \         \"380edc546a19c44f91f6dcaa289bd114fea1b036f99b1a57f86143d8675bd07d\"\n
        \         \"4deabc9d510c617099449ccced5c4507b79e851efeb18d06b199810bb6b3cbe4\"\n
        \         \"1273baa7351602e5f95213f96955ad5fdd3a2052dbc75fcf60aa2247f2d4e603\"\n
        \         \"da45370de1c1da687e268ee44667f94dad13bc9b\",\n          \"4ace54a752f556e36eabb11948958412140c80c31b61dc40f81a6b1217a01ce0\"\n
        \         \"67ab37f53df4c77d9ea9c2d7950c8cd49700b8cd24d4e78f7fa3462962cbfde6\"\n
        \         \"d02fb0e5036564932505ae1c851aa6d1d84efd04d578ad68273a36a8ae23d145\"\n
        \         \"2f94a9378817713e764a0917452629b5dc75b57b0d5e6a728c83691172d2cd95\"\n
        \         \"f8bad07db468ebf545b7f3f2c863b6e20c67c4769ded0391a336f3a5d87e24fc\"\n
        \         \"f91aaf774bee77a789a5908009c7a55eac92af4c3d461e7b40616ce806194bfc\"\n
        \         \"2074c3f4f13559700b2708a0b755789670a3626a14638811bb18e15b1025c3b9\"\n
        \         \"bef111176bc1f2469ea99aad20860573d6c6a1fe40db51e36fe33800101bda20\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.9\",\n          \"9a1396622d066c10560858c2c4cd5c04449e2b9550c5bc9293761a9104411da1\"\n
        \         \"8a57d9b6a997333cdbce77e9fdbe6bb831\",\n          \"f17861acffb24caced90ba38aa7ea0f2e54eeaa62ae66498f3c28f996bcee253\"\n
        \         \"bee8199e3eb80d627feeb6e0b39490edf76d16a2a0bc20093252a9d7f1f9388b\"\n
        \         \"061944852afbe73ce413a3fca521b9474e678129464d91b82bcaa59f56ecfb12\"\n
        \         \"4f61f50467130105b2cbc6943b953695cfcd20c9b6ef53f3f210331d3932dc01\"\n
        \         \"0c735929096b2e68ff16664b0b90a0fa1be460578592b0cb4d6ca45ea06bde3e\"\n
        \         \"8a1ebfef70d83ef79b3a74db060fc0203b74807f407001f4b4d99ec5158e8e7e\"\n
        \         \"4b102a515de95d2b70fe1fb4\",\n          \"100ece634525d467f6d4a6b66ede1cc237f61fb2b67023a83dc456b92cda183e\"\n
        \         \"d6620fe57d5a67332c77233ac1e8725b36f8e1b108412ca6fb35dcd4d81677a2\"\n
        \         \"b30d5eaf25e0b9191b38f7eef83f9121a808438c92ab03f520807bc9a894705e\"\n
        \         \"af4eed066823a67aa2a5599cd95e58da7c094836d2afeba39dd009a64ade0305\"\n
        \         \"3376f02936cf3f56bf64c1f3bdc07c45a95b9fcd9396cd9a8d41bcc56424937a\"\n
        \         \"1371b3847c905b9ab58402393d4046e4a015c14708f74ce7790eba8af7920724\"\n
        \         \"40bcafb14c0f8108971187c80f463a1fff258646ea16e51c6ee361b661a14f07\"\n
        \         \"cd4f5a82c709f494f1df0f803b6f64a72fb9c450ffe268fcab487d4d63013e41\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.10\",\n          \"b3824fb545a83f82ef8223118284c5456bab600adf79f50733b6668fbc515da5\"\n
        \         \"963162a6d7d7e96ff91aff12eb3e9311e221e70bc0\",\n          \"b8268e4bce7e53f2e8be98b192d63ad06544a80d6e62d632486e15e575ba706e\"\n
        \         \"3e768930dc8e411f8eeb0b6e8f060629da8a242368e479ccb331697070b4b352\"\n
        \         \"4e69169276bab0a94514ccd660702528ed20b5d1df07779a62c65686e7d66846\"\n
        \         \"6ffc748eb34344ca6f305cda3dc3e8f01c43ea9179da462147f4d3ec92f888b7\"\n
        \         \"eeaa410e12c86d8942c7d012f45c61ffa6e2b78f843e9a75d9673214d558caf0\"\n
        \         \"1b45f93686eeda5479db8052792559cc236a4a1ee65d3ca60e09a3c184d4b395\"\n
        \         \"d70b8ef88d78091a\",\n          \"c0e98d50894ada849fce8983f6f89574034d6cf3b8352bfc50724a703dd4f42f\"\n
        \         \"4006ae008ad97233cef6f16ce1b423f52c6b677ef005131ba987f98c722faa49\"\n
        \         \"42ecce2c99663740a1a1e98120faed97fd03ff36fe73758e70df17f31f1f3941\"\n
        \         \"812d34cae6c39de787ef5704bc39c920ea5b0eb1833e83b45794fde0ff0005c6\"\n
        \         \"2733c70a296ca0bd47f065503ddce2d649de1c328ddf6032a33fad46ba041dc0\"\n
        \         \"a994bf0f56a465f1625fcb81ce01fa299fc2b3c80939ebe6a673826e2b2f12ec\"\n
        \         \"dda5035c9509312dd19f10c35c8a8b0da63c085197006a9be236108eb98791b2\"\n
        \         \"6e2808b5ccd5acec738bca025b24182ef4ab9cccb171a69fb423a46e037a4d0a\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.11\",\n          \"a3a7da1bedb2ca99fcdeb7a46d633eca35062df2896b695907a7f971d2cc50b6\"\n
        \         \"e3d2a367d16e727f5697c0\",\n          \"f018a9b13fbe560bfe9552ed8a8606beea90055ed3f62bb2af07f692cb60acfb\"\n
        \         \"6d5907d60e0a597a54caeaf844911cdc874faf956953a27d300e9b715b104df3\"\n
        \         \"c232c3c96382cf5b5f3d07b230b525bb330e319d1a7c82d153af817ef11cf72e\"\n
        \         \"76dd50b0d7e5562265c8345da829f560d6a54e6f1e288a3dc2176d19a68a0b1c\"\n
        \         \"5c92b16b8bb29e4d01dfbd0b18079bd40cfcd52335b3a18bc4ee9244760eb494\"\n
        \         \"f5be5b1971886ca2beece0a3944fff8be6b42d96e1c2c72e4e90f87ed1361546\"\n
        \         \"7cfc91c26eb38a7af9f56686931a4726da04\",\n          \"25177bfe12619b44f4a4fe7cb76de93d4ed4a05a31e5be8cc4e560661de9a34a\"\n
        \         \"e317cc02ff63106708328bd3f78763ab3e57652c63f105f7971d2d8d701e6297\"\n
        \         \"a79c787b7ccd62a53b39d9c03946e66f488a92e8e17dc6ecb0f65bf01e3affee\"\n
        \         \"997687311be0e945add63fa3f400382cb8ffd8915754018cc75e828226b5039c\"\n
        \         \"d9c57fc6d99cbe8ea4a3d29cbd09d54d95cc0734c23544f8e1fbc7493e06d16c\"\n
        \         \"0a0ac1530d21f0337e262fd9d27fcc4afeb574d66866d4ca84cfd6e0af2bb977\"\n
        \         \"a5d99a5b0b3744042d332b936bbdd869e5f2c883b400ac8bc0683e679063429d\"\n
        \         \"98d494f31804d65bb3c974aa72e6657d4c1638c679c81a16453f6b0baa3f0517\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.12\",\n          \"49f6f8a4a86a8aa09763aac85572b0e7ee776aeff8a829000776ffa6\",\n
        \         \"6db6a827ac2a5e0616c0f443b23458e175acf9a3b255f5c8525e7253424faa91\"\n
        \         \"38054c3dbaa471f27fe855c1c0cec362597a1a1e6eb4f298ac3eb734d31ff0ef\"\n
        \         \"1008c0e02b9b06e29315fc094a7ed26b11ea55270a3dcb6706f46a9450bf8312\"\n
        \         \"881065130248d2644766a79966efdadbaaf575ef4dd35a937ff0bfbf3d9561c7\"\n
        \         \"54409be7b8847a608d791fb987eed46afeb0db1ca975c05f61570dd070985f13\"\n
        \         \"e4e0ed7a8cb391ce4d420832b45a8b7e9f90884e611898f472a0ac46c57aa7f8\"\n
        \         \"468aa19d9c7b312f134322990393881d32aa1468f6e5f8eb85a2c3c2daed92b9\"\n
        \         \"3c\",\n          \"0ff95f4a2a0718d673f9202c809f1045101f52b9dba77288fe288cb277c4dbaa\"\n
        \         \"35db9327eceec3765ae033e0b6b777b22ca6be662003eafa2bfbda606fd8cee7\"\n
        \         \"eee06c6a00c945a6556c60b00869f999971a8c57afe1ddee7a7577047a0db90f\"\n
        \         \"62cd247a887f3227ef6da907a75bcff19aa30c908f5835ef10100adc7f6ad6fb\"\n
        \         \"3199790b3f4d6ad19a0df5027fdb8f846604e02daf3355d956407779af155acf\"\n
        \         \"a5a32e6d6174dc90131dbd7abe585dd759fa3cb7e9f721453f3e354fe7be0b11\"\n
        \         \"8ef5b87942b5fed4c30d7a08fe2464eb79a3debab37b6d3a0ab31577de7e9322\"\n
        \         \"9b49d1e8fd5632d026d83ee06aa78534cee3081b222ec4cd9488ccde4e152905\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.13\",\n          \"12975db73d\",\n
        \         \"6a4b4fb805807272965bff2f4c800f964fa3aeb9fb433b40c8acc598b4840298\"\n
        \         \"93a219c9532134c06ac8425c28a5f063c284200a045643489716516a987bf81b\"\n
        \         \"a186f4ceb8d8d9dc1d73f2267fd1988d6a2ffd68cd3669de2b04700943d0d444\"\n
        \         \"ae3da8f0594e6261e5fff607f04df31e3d9c9122d76fb90f3f82c393253b7520\"\n
        \         \"165bd1f319ab3b875ecc6ab3ed0247d03770f8d6471d69cd13ee257c1fc8b30f\"\n
        \         \"19b93fe4f2fc9c21492813d1fc852af70cdc6384d2ae55b91e39ae6c3b19fd1a\"\n
        \         \"7deaf718c05d57809596a288fc9aefb815aea29faf6783c00535fd71d6254940\"\n
        \         \"b762f507261f209bc8ba9479bb3f5d64642319cc3186859c\",\n          \"2715d6eb53aee6d4bddd3be9b663144a410d0381779f799dca880792ab431af9\"\n
        \         \"989deb17369dc67438add82bdf0a59dd3bc278010258c7df876984ff527678bf\"\n
        \         \"9b34c07743b5d22f4f30cb5d7d8a6cfd505824f2e094024fb04330f66da7cbc0\"\n
        \         \"1d5ecc8dfca1ca9e5091b9d9c8e38d0ac3931de5d1fdc833738482a7fd152c1d\"\n
        \         \"24e69ea01dd3e1fa772354a607d62c60b561dc5ccb012b712f5c2da1892c3120\"\n
        \         \"ef990d74611ddd3566af1acd8b4850061c9128f82ad112da9f68ac88393f9a5c\"\n
        \         \"2c1020aa77e9b62e2d1e985fef864cc1aeb451ac839c720cb973e7b5df24a98c\"\n
        \         \"cb6e67726629a366fea3f9a9521daa19b04430e810f2c45a57d4253bedb91da0\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.14\",\n          \"8de0f5a413a7f786396f09a45e5e774f3c609ce6f1b490dde222b322d5340e9b\"\n
        \         \"105581f4c5be44eabb3d1b23f845\",\n          \"f871a897aee845c3bb826990b731d2777cf476b5cfc5596df3a523ba6979c7a4\"\n
        \         \"5179da5fd60f810bf414c54e182f2601720ffe8a50d7d9d11e564318e9026f07\"\n
        \         \"c5aaa13ef891283a9663c1e3d27b93817d01a56fce33d5169bfea62a8ee6c370\"\n
        \         \"a3aa8c7194d9d353d0981661fe85816250e0324eae1b847fc732919160d01e11\"\n
        \         \"92ac16be0eb8e995e48640276a2db7b87f84b3fac04ce862f02238623f62b92a\"\n
        \         \"2e327b01b8c7b9e5ec87055c6cb7b55651ab5ac989833b034f8be0116f28b1e8\"\n
        \         \"86a2ced123298eb004075a6b5b71b1\",\n          \"d367aca8d4f17414e9bf09ad811d78db0e850c45c8f9d7024475d3e56e3cbfbe\"\n
        \         \"6ee8abbfd7745826417cc8ed52f54e00a92f817ef983e98d100a1f990db1e290\"\n
        \         \"a8516d609bb32e502a77e11f76200b0025765e9bd2859ba94a696333a5ebe2eb\"\n
        \         \"25ba9d19007f64360cc075cad7f09950e4b7afcbac36e6ecb017cf4a1f25a4d2\"\n
        \         \"b951bb85e81cb2b4eb6f45cdd400d2ac4e2169896d941582449ce30f69c17cb4\"\n
        \         \"49321f65e44df303878627621351f52e5a0752e3b5eb126361697f53cf246616\"\n
        \         \"5c3fbd662b837580b76d459ff04497e5fe1b3cd18c4d58ffedabdd04a8c108d8\"\n
        \         \"59b65298639c3af80cd94e2387a8694409ef9e0b78b6f467390be108579c9b2c\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.15\",\n          \"9e78c82bfd0f23d391e7600164019aad28f59b14154404d9e966133c103fc37c\",\n
        \         \"bb42247db240bacacbcbe8c68cb0f70e460a4973dae65699358fef8270d65c3d\"\n
        \         \"0c455a379c563c597b28f4ffa070e0ec1ebb9ed427fe89abcd4793c422c33887\"\n
        \         \"8c8b145b46c4f71378a0fd7d5053b86798bc02d93293fed847f18fe06159074a\"\n
        \         \"c189d956232074db6ddcf9941a70f28b60e483395a2d210154b62abab8750f5a\"\n
        \         \"ebf1acefe2056f5abd2f0e0ec494afa82fc59bb357f116a94ec1cd0603b52fe5\"\n
        \         \"6d31a43b87aa637788c724cb6f88373c92f60711bf3f3594e23dee2fecedfe6f\"\n
        \         \"5fc886e96aee7c746822e56cba7ebdaa2a9210ea8198e4c22de9298945\",\n
        \         \"818dcbba98c346793c79d4bb785aa640191b05f8835ff73974443bce357a269d\"\n
        \         \"44646e8c79102dce22923978a3941ebcb9904fc1bb1fb43f11275e71eb7a84d2\"\n
        \         \"74be104b00af9225e2a4f7f5a048abb66cbab6525d1b115da8c0bb08deeaec7f\"\n
        \         \"80eb6c39504dc4eb38154ce4b691b4069319b293c25dc30b8fb38bca153e2fa6\"\n
        \         \"1b3376ddc3c53a579321d910a171fc42aaf17050ed6d311a7df5b9a5cf3a98fd\"\n
        \         \"69aa85ac2346c16fa03b1e53d103d6f5a04b0d9d3f1883531e2f6341fd91bd63\"\n
        \         \"a5aa993b6edb9992e5db17a7be555eafa3bbab32086e92b8b791066968e00f8a\"\n
        \         \"177161440ce538579789c2912ebd7ad019be29376cadeec2992107c9db076049\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.16\",\n          \"6d7208b2ffb01ad2360c4609f3bad31579c8d4005cc960142e2b696b26e94f2d\"\n
        \         \"99980bad384105b1899557af890525\",\n          \"72ae49971828ba5423ab963cdb18f4bdfdbc7473cf70fb77213441f1d446ae48\"\n
        \         \"109303a260c091ab5199d964e62163c24657247173cb0511b9cbb163459c956f\"\n
        \         \"9c0b1883b691b5e4eae04f0af24ea328c6de882cebc4f89a56373282d60af2ba\"\n
        \         \"967e257ac401a37f9441c11f2e0e421b2d151eb243a97eae5aaa86cd38df43c2\"\n
        \         \"6a1d6e3b12c13fa3597b85bbaa1309452c7e9b325d8c73fa799c575652737b92\"\n
        \         \"a247d23c4c701240c53dcfe2ea697af61c072fa76bdb052a58c919e69ec57b39\"\n
        \         \"a2a6c47d770ede6710fc7bdde601\",\n          \"4b56dcd304bdc7f0ccb70d2c586f5274601ee60536bb218061671350d6d3ae2e\"\n
        \         \"284f07b5ed630179269413122b98376090f7a4a4f6434af73ac40c7af4b6d7a3\"\n
        \         \"e314702ab9b85e08731da0d12ed3f0070b0d2095053b3f0d09d6c2cd8f98bade\"\n
        \         \"d91148c35b7b33c543653ccc32d836f5f7f2ee39cabd0bd89dd9a4a94e912b4c\"\n
        \         \"a97f1851d017451f6096acbf20a65ec5a29f08f8135c7318a2216d1b7d103795\"\n
        \         \"c7ec8ee57a79280f9a844bd6ab7128820e1fb5e82554fec02a78aa8d3fd6a13e\"\n
        \         \"0fad0ecee7ab611de4b0a0481f42b8d0b55cb8813d1ca6e2615cf5ae8ae86d0b\"\n
        \         \"5d4695507549f7a37366a445fb55b7c4b6b58ea699dbe5ddc8193e2bf3d5b840\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.17\",\n          \"7deb6d404148232c4821634d3df9bc\",\n
        \         \"e6f83c8c993e6015af430409684e627f3d9b84ad0555c6a6c09113a712472abb\"\n
        \         \"36f61192326cf84082aabd1ec95f4d1a92d9107e30610c8d2759556d5d61475c\"\n
        \         \"a3f3cbd949fac2203c423d56c27558e6118faa0f6f684ada13c3153f6d255338\"\n
        \         \"bff734e95f60ad2919abf28815d3cc0b1efd385d0d4581b0ee8494f2bbe29959\"\n
        \         \"91ac1ea81540cb7e885668e5a52eca9057ed9a1fb23fdf83b57551358c23cd43\"\n
        \         \"ce0e7a33c72566b88fe59343f1872446d32c44b3990aa4db3ee593424c8e0946\"\n
        \         \"d261e3270ef4076bb35df3c3c6da4bbe423f591b5c93ba56c5cf01d4f0a94096\"\n
        \         \"7109d39b939df282532e5483108b\",\n          \"aa6e6e4af689264d61bfa8f5086d8279ddc2289c5541af453519c44b95eae6a1\"\n
        \         \"5e7e7bd15fd31a4fad5f7c85905efca226930d67daf558b715b21f3628f61a3b\"\n
        \         \"042c1a38f9af3ada82ec4488c8ade5f1da81e1a8ab90e1b312dcda835f9e925f\"\n
        \         \"2e72463fa833a08b93253fdfe8cf4e5f3cfa91107719a6a9469acd7125ae67b2\"\n
        \         \"bd75857c59be0abe984074e295478af2740e25894e56a6250ef7362194138103\"\n
        \         \"743ca9544733d2505571bee00f178a2cfa38e1f8f22fb23930d6a75dd17c689a\"\n
        \         \"476d8715318595108fcce895e3449eca97a7ddbae3e6d6f0e35e666d6fbd7878\"\n
        \         \"48f8681337b1d4c5238b1c24de77a7e675e7aed8dc13dd9eb1068798517c0b6e\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.18\",\n          \"031fc3a3eaa42b0d9f6d7dd5993d6189cbb2e0e96faa33d61f317b6b3c00\",\n
        \         \"16ab6485cac0397114880e6f72bc1f1ef34ba27d1c433d77f3372b1fd5b21ba5\"\n
        \         \"7a505cd8f35b75242cf1b76d381c68342401eeefc84253a2de1a1913e438773b\"\n
        \         \"7bcb31cbab258f726ac934a87126969adb7f768c1bab8754a13a3ccbba6f3dd8\"\n
        \         \"d0ec6a7c6d687d0495b6e22c9ae767afc9d94f2e45a106133c42c79b52c26ad4\"\n
        \         \"b67bd8ece55e84325ca6f49c8e9531f5f6b9cac35c933eebe3b9a11b9bb1c9ea\"\n
        \         \"8ce6d2285da908e5919782b5b308fe478d98e49aea543bf8ca1b22edf43fdbf6\"\n
        \         \"af31cc8cd4fb7de2d819afa5483eacdd56d7787bc8bb1622384049bc309a66\",\n
        \         \"61c754763043b584e4a8546b79f0a3e2e0f3b3e2db6c94ad817e9281f485c082\"\n
        \         \"08fed4f4d7d0a78c6c311a07c75b9bbe8504f4b7a692990216de12585c009ae5\"\n
        \         \"8c26f085071f395e5af8925f3933f6d9f412d425546454e800b7e3aac78b7a08\"\n
        \         \"b92e798bb834ebeadc4b4a6356af1ca09bf586745f616d51748cc7a37b48cb10\"\n
        \         \"977e303bbe10bf27c69bdff0ba5cab8f62d0587a09d6e022823233c8c7aa4187\"\n
        \         \"2223ed15a74accb0f1f822f24d7594ed9925a1c6c0c0f9ad0e071eb6b5ebe1ba\"\n
        \         \"b6ba3b6d99a31652047f469260bee8710e370f04ed707593937a08dd82264992\"\n
        \         \"311f4af9884cf8ad34afb9f675993c8abf41519839f76fa1e931bdae1d08a634\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.19\",\n          \"c9c93afea997b1ee36fa72720354c704649bc6ef44f5187c6c28542b9ae955a7\"\n
        \         \"193fffec867bb62e219e68\",\n          \"52d4c3bf0c772c02d3bb711d7f146d8c4976f83081be4953d4afeb078e5412a3\"\n
        \         \"2c3dc737b59bc454c3de93a1aed07c1ba64d1de4368014d04f6440556a4a1697\"\n
        \         \"9d0803cc2922da97ed67619012f8f7d3b1a45584b0946af6dbd4a0857d4c2db9\"\n
        \         \"9a17bbd27acd9a62e67f8879dbef27f1046a867e6995162b2a1a1cccdceaf45b\"\n
        \         \"e1337e5fa8f85edaadf7508d58f326aa7cf301f441ba558b60e0fac6e0d19920\"\n
        \         \"61a0a469be021626890ee87e68139bd519ae773e3ec481b7f2b377331f52f2e3\"\n
        \         \"86884f765723e26cd4a8d968614c9c33dcdb\",\n          \"d06867022a0faf573d62cc24a6e06a44cd3d83eac5d0809ebf91304568cb1b27\"\n
        \         \"561bb292e8776e216d1d023e753c124b51867b94dc60894d62c7dae5fa1a9faf\"\n
        \         \"0376e1758cb6adc71417e83102528f23f4c5e5b50362a39e2aa9768b1062086f\"\n
        \         \"a8c53ff1c39a0ee03d383d24bf490722b786daec908cd7151e185ddd17882678\"\n
        \         \"027e368b0512cf98413f3e596fa3db4ec196ae5ff524a8266d760e0051433d18\"\n
        \         \"98ffc230e96a2f0bfdf2b24429adfa918aba1a450f76783472301293848bd82d\"\n
        \         \"5a338431d6cb1c106dc741d234bf5a80dbd325da64a394a0065f22028d0fdc5a\"\n
        \         \"df0d0de29f22fb8c2a41331fe1fcb61589e0ec7500ed8442d61846df6cca46cc\"\n
        \       },{\n          \"PKCS#1 v1.5 Encryption Example 15.20\",\n          \"69b7644855f91d1c61c8498e4ba1ba4d845ba882b173\",\n
        \         \"b22fc7de85c5f75a2f32af1bfbcd5789715687de06e66d064ae3eb8dfb07a257\"\n
        \         \"5be0e9e6f29f50d7396d078b36ef802f751a77cc92d7614c91dd279931fce007\"\n
        \         \"ebf915a0f14e312ce91fe5aa6fb37451614fe37c73fc6f6d6f8e52789b5d88e8\"\n
        \         \"6beb1633f5ddd5c070f14fd3cfee97dd4a643d35d45dd9bf34df8c310b48592e\"\n
        \         \"946831b34ef3c0b916f17cb0acb2cfc1c25d0309acc1124f265c1a83ed885c87\"\n
        \         \"fa826fda5710b54e16ec0f448cdb7ee0580ff7386530ea461e042a0b7742c461\"\n
        \         \"976bb5a380adbcb00106f2671b6cce4f7267752f8066804278350b01753e31b3\"\n
        \         \"8eccfbe90569f6\",\n          \"ab4267972c7796839388d4ad87ded74bb653e9a7050e282e82192875689f70ee\"\n
        \         \"1da18a1f7322092cd29fd00119922a6de12601980aa9fa6e619e2775e87adae3\"\n
        \         \"1695c1304e77f52cce016665f2267c20762643c6003c016d8480443c701df6c1\"\n
        \         \"d8d655549600ee455b70e473319b0d4445e0b7552a1f808e88f3264842735ae6\"\n
        \         \"1df0325ed03690d6d5d693ad1fed22668450379db5323dc01c89affae369b9c3\"\n
        \         \"01c319c37ddf51edf46e09b21e5de91483e8e3cb21eeb7057bc2ebdc3aaa3d65\"\n
        \         \"00c92f99b17b3180bba047d76073776336b15d054d79a440cc5e985ea543fcaa\"\n
        \         \"25db1dd892b71bb74a5cf68263d8fd58f1a48e6c2fcb8c0b71a251cfc1a20157\"\n
        \       }\n      }\n    }\n  }"
      pos:
        line_end: 24
        line_start: 15
        source_file: /src/libgcrypt/tests/pkcs1v2-v15c.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/tests/blake2s.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - show_sexp
  - read_file
  - benchmark
  - work_encrypt
  - work_decrypt
  - work_sign
  - work_verify
  - process_key_pair
  - context_init
  - context_destroy
  - process_key_pair_file
  - generate_key
  - main
  source_file: /src/libgcrypt/tests/pkbench.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/tests/pkbench.c
      type_or_value: '"pkbench"'
    structs:
    - fields:
      - name: key_secret
        type: gcry_sexp_t
      - name: key_public
        type: gcry_sexp_t
      - name: data
        type: gcry_sexp_t
      - name: data_encrypted
        type: gcry_sexp_t
      - name: data_signed
        type: gcry_sexp_t
      item_type: struct
      name: context
      pos:
        line_end: 47
        line_start: 40
        source_file: /src/libgcrypt/tests/pkbench.c
    - fields:
      - name: worker
        type: work_t
      - name: '*identifier'
        type: char
      item_type: struct
      name: "worker_functions[] = { { work_encrypt, \"encrypt\" },\n\t\t\t   { work_decrypt,
        \"decrypt\" },\n\t\t\t   { work_sign,    \"sign\"    },\n\t\t\t   { work_verify,
        \ \"verify\"  } }"
      pos:
        line_end: 263
        line_start: 259
        source_file: /src/libgcrypt/tests/pkbench.c
    typedefs:
    - item_type: typedef
      name: (*work_t) (context_t context, unsigned int final)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/libgcrypt/tests/pkbench.c
      type: int
    union: []
- function_names:
  - STR
  - STR2
  - get_nsec_time
  - get_time_nsec_diff
  - get_nsec_time
  - get_time_nsec_diff
  - get_nsec_time
  - get_time_nsec_diff
  - main
  - safe_div
  - get_slope
  - get_bench_obj_point_x
  - get_num_measurements
  - double_cmp
  - do_bench_obj_measurement
  - adjust_loop_iterations_to_timer_accuracy
  - slope_benchmark
  - auto_ghz_init
  - auto_ghz_free
  - auto_ghz_bench
  - get_auto_ghz
  - do_slope_benchmark
  - double_to_str
  - bench_print_result_csv
  - bench_print_result_std
  - bench_print_result
  - bench_print_result_nsec_per_iteration
  - bench_print_result_skipped
  - bench_print_section
  - bench_print_header
  - bench_print_header_nsec_per_iteration
  - bench_print_algo
  - bench_print_mode
  - bench_print_footer
  - bench_set_cipher_key
  - bench_encrypt_init
  - bench_encrypt_free
  - bench_encrypt_do_bench
  - bench_decrypt_do_bench
  - bench_xts_encrypt_init
  - bench_ccm_encrypt_do_bench
  - bench_ccm_decrypt_do_bench
  - bench_ccm_authenticate_do_bench
  - bench_aead_encrypt_do_bench
  - bench_aead_decrypt_do_bench
  - bench_aead_authenticate_do_bench
  - bench_gcm_encrypt_do_bench
  - bench_gcm_decrypt_do_bench
  - bench_gcm_authenticate_do_bench
  - bench_ocb_encrypt_do_bench
  - bench_ocb_decrypt_do_bench
  - bench_ocb_authenticate_do_bench
  - bench_siv_encrypt_do_bench
  - bench_siv_decrypt_do_bench
  - bench_siv_authenticate_do_bench
  - bench_gcm_siv_encrypt_do_bench
  - bench_gcm_siv_decrypt_do_bench
  - bench_gcm_siv_authenticate_do_bench
  - bench_eax_encrypt_do_bench
  - bench_eax_decrypt_do_bench
  - bench_eax_authenticate_do_bench
  - bench_poly1305_encrypt_do_bench
  - bench_poly1305_decrypt_do_bench
  - bench_poly1305_authenticate_do_bench
  - cipher_bench_one
  - _cipher_bench
  - cipher_bench
  - bench_hash_init
  - bench_hash_free
  - bench_hash_do_bench
  - hash_bench_one
  - _hash_bench
  - hash_bench
  - bench_mac_init
  - bench_mac_free
  - bench_mac_do_bench
  - mac_bench_one
  - _mac_bench
  - mac_bench
  - bench_kdf_init
  - bench_kdf_free
  - bench_kdf_do_bench
  - kdf_bench_one
  - kdf_bench
  - pk_algo_name
  - pk_map_name
  - bench_pk_init
  - bench_pk_free
  - bench_pk_sign_do_bench
  - bench_pk_verify_do_bench
  - cipher_pk_one
  - _pk_bench
  - pk_bench
  - ecc_algo_fips_allowed
  - ecc_algo_name
  - ecc_algo_curve
  - ecc_nbits
  - ecc_map_name
  - bench_ecc_mult_init
  - bench_ecc_mult_free
  - bench_ecc_mult_do_bench
  - bench_ecc_init
  - bench_ecc_free
  - bench_ecc_keygen
  - bench_ecc_keygen_do_bench
  - bench_ecc_sign_do_bench
  - bench_ecc_verify_do_bench
  - cipher_ecc_one
  - _ecc_bench
  - ecc_bench
  - pq_algo_name
  - pq_algo_is_kem
  - pq_map_name
  - pq_setup_obj
  - bench_pq_kem_keypair
  - bench_pq_kem_init
  - bench_pq_kem_free
  - bench_pq_kem_encapsulate
  - bench_pq_kem_keygen_do_bench
  - bench_pq_kem_encap_do_bench
  - bench_pq_kem_decap_do_bench
  - bench_pq_sig_init
  - bench_pq_sig_free
  - bench_pq_sig_keygen
  - bench_pq_sig_keygen_do_bench
  - bench_pq_sig_sign_do_bench
  - bench_pq_sig_verify_do_bench
  - cipher_pq_one
  - _pq_bench
  - pq_bench
  - bench_mpi_init
  - bench_mpi_free
  - bench_mpi_do_bench
  - mpi_bench_one
  - _mpi_bench
  - mpi_match_test
  - mpi_bench
  - print_help
  - warm_up_cpu
  - main
  source_file: /src/libgcrypt/tests/bench-slope.c
  types:
    enum:
    - enumerators:
      - name: PK_ALGO_RSA2048
        value: '0'
      - name: PK_ALGO_DSA2048
      - name: PK_ALGO_DSA3072
      - name: PK_ALGO_RSA4096
      - name: PK_ALGO_RSA3072
      - name: __MAX_PK_ALGO
      item_type: enum
      name: bench_pk_algo
      pos:
        line_end: 2351
        line_start: 2339
        source_file: /src/libgcrypt/tests/bench-slope.c
    - enumerators:
      - name: PK_OPER_SIGN
        value: '0'
      - name: __MAX_PK_OPER
      - name: PK_OPER_VERIFY
      item_type: enum
      name: bench_pk_operation
      pos:
        line_end: 2358
        line_start: 2353
        source_file: /src/libgcrypt/tests/bench-slope.c
    - enumerators:
      - name: ECC_ALGO_ED25519
        value: '0'
      - name: ECC_ALGO_ED448
      - name: ECC_ALGO_X25519
      - name: ECC_ALGO_NIST_P192
      - name: ECC_ALGO_X448
      - name: ECC_ALGO_NIST_P224
      - name: ECC_ALGO_NIST_P256
      - name: ECC_ALGO_NIST_P384
      - name: ECC_ALGO_NIST_P521
      - name: ECC_ALGO_SECP256K1
      - name: ECC_ALGO_BRAINP256R1
      - name: __MAX_ECC_ALGO
      item_type: enum
      name: bench_ecc_algo
      pos:
        line_end: 3000
        line_start: 2986
        source_file: /src/libgcrypt/tests/bench-slope.c
    - enumerators:
      - name: ECC_OPER_MULT
        value: '0'
      - name: __MAX_ECC_OPER
      - name: ECC_OPER_VERIFY
      - name: ECC_OPER_SIGN
      - name: ECC_OPER_KEYGEN
      item_type: enum
      name: bench_ecc_operation
      pos:
        line_end: 3009
        line_start: 3002
        source_file: /src/libgcrypt/tests/bench-slope.c
    - enumerators:
      - name: PQ_ALGO_MLKEM512
        value: '0'
      - name: PQ_ALGO_CM6688128F
      - name: PQ_ALGO_SNTRUP761
      - name: PQ_ALGO_MLKEM1024
      - name: PQ_ALGO_MLKEM768
      - name: PQ_ALGO_MLDSA44
      - name: PQ_ALGO_MLDSA65
      - name: PQ_ALGO_MLDSA87
      - name: __MAX_PQ_ALGO
      item_type: enum
      name: bench_pq_algo
      pos:
        line_end: 3627
        line_start: 3612
        source_file: /src/libgcrypt/tests/bench-slope.c
    - enumerators:
      - name: PQ_OPER_KEYGEN
        value: '0'
      - name: PQ_OPER_ENCAP
      - name: PQ_OPER_DECAP
      - name: PQ_OPER_VERIFY
      - name: PQ_OPER_SIGN
      - name: __MAX_PQ_OPER
      item_type: enum
      name: bench_pq_operation
      pos:
        line_end: 3637
        line_start: 3629
        source_file: /src/libgcrypt/tests/bench-slope.c
    - enumerators:
      - name: MPI_TEST_RSHIFT3
      - name: MPI_TEST_MUL4
      - name: MPI_TEST_DIV4
      - name: MPI_TEST_MOD4
      - name: MPI_TEST_SUB
      - name: MPI_TEST_LSHIFT65
      - name: MPI_TEST_MUL32
      - name: __MAX_MPI_TEST
      - name: MPI_TEST_MOD32
      - name: MPI_TEST_DIV32
      - name: MPI_TEST_RSHIFT65
      - name: MPI_TEST_MUL16
      - name: MPI_TEST_DIV16
      - name: MPI_TEST_MOD16
      - name: MPI_TEST_ADD
        value: '0'
      - name: MPI_TEST_LSHIFT3
      - name: MPI_TEST_MUL8
      - name: MPI_TEST_MOD8
      - name: MPI_TEST_DIV8
      item_type: enum
      name: bench_mpi_test
      pos:
        line_end: 4227
        line_start: 4206
        source_file: /src/libgcrypt/tests/bench-slope.c
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: '"bench-slope"'
    - item_type: preproc_def
      name: BUF_START_SIZE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: '16'
    - item_type: preproc_def
      name: BUF_END_SIZE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: (BUF_START_SIZE + 4096)
    - item_type: preproc_def
      name: BUF_STEP_SIZE
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: '64'
    - item_type: preproc_def
      name: NUM_MEASUREMENT_REPETITIONS
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: '64'
    - item_type: preproc_def
      name: AUTO_GHZ_TARGET_DIFF
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: (5e-5)
    - item_type: preproc_def
      name: NO_GET_NSEC_TIME
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: '1'
    - item_type: preproc_def
      name: AUTO_GHZ_OPERATION
      pos:
        line_end: 563
        line_start: 558
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: "asm volatile (\"\":\"+r\"(buflen),\"+r\"(one),\"+r\"(two)::\"memory\");
        \\\n\tbuflen ^= one; \\\n\tasm volatile (\"\":\"+r\"(buflen),\"+r\"(one),\"+r\"(two)::\"memory\");
        \\\n\tbuflen -= two"
    - item_type: preproc_def
      name: AUTO_GHZ_OPERATION
      pos:
        line_end: 569
        line_start: 566
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: "buflen ^= one; \\\n\tbuflen -= two"
    - item_type: preproc_def
      name: AUTO_GHZ_OPERATION_2
      pos:
        line_end: 574
        line_start: 571
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: "AUTO_GHZ_OPERATION; \\\n\tAUTO_GHZ_OPERATION"
    - item_type: preproc_def
      name: AUTO_GHZ_OPERATION_4
      pos:
        line_end: 578
        line_start: 575
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: "AUTO_GHZ_OPERATION_2; \\\n\tAUTO_GHZ_OPERATION_2"
    - item_type: preproc_def
      name: AUTO_GHZ_OPERATION_8
      pos:
        line_end: 582
        line_start: 579
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: "AUTO_GHZ_OPERATION_4; \\\n\tAUTO_GHZ_OPERATION_4"
    - item_type: preproc_def
      name: AUTO_GHZ_OPERATION_16
      pos:
        line_end: 586
        line_start: 583
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: "AUTO_GHZ_OPERATION_8; \\\n\tAUTO_GHZ_OPERATION_8"
    - item_type: preproc_def
      name: AUTO_GHZ_OPERATION_32
      pos:
        line_end: 590
        line_start: 587
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: "AUTO_GHZ_OPERATION_16; \\\n\tAUTO_GHZ_OPERATION_16"
    - item_type: preproc_def
      name: AUTO_GHZ_OPERATION_64
      pos:
        line_end: 594
        line_start: 591
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: "AUTO_GHZ_OPERATION_32; \\\n\tAUTO_GHZ_OPERATION_32"
    - item_type: preproc_def
      name: AUTO_GHZ_OPERATION_128
      pos:
        line_end: 598
        line_start: 595
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: "AUTO_GHZ_OPERATION_64; \\\n\tAUTO_GHZ_OPERATION_64"
    - item_type: preproc_def
      name: PQ_SIG_SEED_LEN
      pos:
        line_end: 3710
        line_start: 3709
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: '32'
    - item_type: preproc_def
      name: PQ_SIG_MSG_LEN
      pos:
        line_end: 3711
        line_start: 3710
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: '32'
    - item_type: preproc_def
      name: MPI_START_SIZE
      pos:
        line_end: 4202
        line_start: 4201
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: '64'
    - item_type: preproc_def
      name: MPI_END_SIZE
      pos:
        line_end: 4203
        line_start: 4202
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: MPI_STEP_SIZE
      pos:
        line_end: 4204
        line_start: 4203
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: '8'
    - item_type: preproc_def
      name: MPI_NUM_STEPS
      pos:
        line_end: 4205
        line_start: 4204
        source_file: /src/libgcrypt/tests/bench-slope.c
      type_or_value: (((MPI_END_SIZE - MPI_START_SIZE) / MPI_STEP_SIZE) + 1)
    structs:
    - fields:
      - name: perf_count
        type: LARGE_INTEGER
      item_type: struct
      name: nsec_time
      pos:
        line_end: 109
        line_start: 106
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: ts
        type: struct timespec
      item_type: struct
      name: nsec_time
      pos:
        line_end: 150
        line_start: 147
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: tv
        type: struct timeval
      item_type: struct
      name: nsec_time
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: '*ops'
        type: struct bench_ops
      - name: num_measure_repetitions
        type: unsigned int
      - name: min_bufsize
        type: unsigned int
      - name: max_bufsize
        type: unsigned int
      - name: step_size
        type: unsigned int
      - name: '*priv'
        type: void
      - name: '*hd'
        type: void
      item_type: struct
      name: bench_obj
      pos:
        line_end: 243
        line_start: 232
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: initialize
        type: bench_initialize_t
      - name: finalize
        type: bench_finalize_t
      - name: do_run
        type: bench_do_run_t
      item_type: struct
      name: bench_ops
      pos:
        line_end: 255
        line_start: 250
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: mode
        type: int
      - name: '*name'
        type: char
      - name: '*ops'
        type: struct bench_ops
      - name: algo
        type: int
      item_type: struct
      name: bench_cipher_mode
      pos:
        line_end: 1000
        line_start: 993
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: '*name'
        type: char
      - name: '*ops'
        type: struct bench_ops
      - name: algo
        type: int
      item_type: struct
      name: bench_hash_mode
      pos:
        line_end: 1903
        line_start: 1897
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: '*name'
        type: char
      - name: '*ops'
        type: struct bench_ops
      - name: algo
        type: int
      item_type: struct
      name: bench_mac_mode
      pos:
        line_end: 2031
        line_start: 2025
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: '*ops'
        type: struct bench_ops
      - name: algo
        type: int
      - name: subalgo
        type: int
      item_type: struct
      name: bench_kdf_mode
      pos:
        line_end: 2199
        line_start: 2193
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: oper
        type: enum bench_pk_operation
      - name: '*name'
        type: char
      - name: '*ops'
        type: struct bench_ops
      - name: algo
        type: enum bench_pk_algo
      item_type: struct
      name: bench_pk_oper
      pos:
        line_end: 2367
        line_start: 2360
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: pub_key
        type: gcry_sexp_t
      - name: sec_key
        type: gcry_sexp_t
      - name: data
        type: gcry_sexp_t
      - name: sig
        type: gcry_sexp_t
      item_type: struct
      name: bench_pk_hd
      pos:
        line_end: 2375
        line_start: 2369
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: '*name'
        type: char
      - name: '*sec_key'
        type: char
      - name: '*pub_key'
        type: char
      - name: value_bits
        type: unsigned int
      - name: sign_cost
        type: int
      - name: fips_allowed
        type: int
      item_type: struct
      name: "pk_algos[] = {\n#if USE_RSA\n  { \"RSA-2048\", sample_private_rsa_key_2048,
        sample_public_rsa_key_2048,\n    2040, 4, 1 },\n  { \"RSA-3072\", sample_private_rsa_key_3072,
        sample_public_rsa_key_3072,\n    3064, 8, 1 },\n  { \"RSA-4096\", sample_private_rsa_key_4096,
        sample_public_rsa_key_4096,\n    4088, 16, 1 },\n#endif\n#if USE_DSA\n  {
        \"DSA-2048\", sample_private_dsa_key_2048, sample_public_dsa_key_2048,\n    224,
        1, 0 },\n  { \"DSA-3072\", sample_private_dsa_key_3072, sample_public_dsa_key_3072,\n
        \   256, 2, 0 },\n#endif\n  { NULL, NULL, NULL, 0, 1, 0 }\n}"
      pos:
        line_end: 2743
        line_start: 2735
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: oper
        type: enum bench_ecc_operation
      - name: '*name'
        type: char
      - name: '*ops'
        type: struct bench_ops
      - name: algo
        type: enum bench_ecc_algo
      item_type: struct
      name: bench_ecc_oper
      pos:
        line_end: 3018
        line_start: 3011
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: ec
        type: gcry_ctx_t
      - name: k
        type: gcry_mpi_t
      - name: G
        type: gcry_mpi_point_t
      item_type: struct
      name: bench_ecc_mult_hd
      pos:
        line_end: 3025
        line_start: 3020
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: key_spec
        type: gcry_sexp_t
      - name: data
        type: gcry_sexp_t
      - name: pub_key
        type: gcry_sexp_t
      - name: sec_key
        type: gcry_sexp_t
      - name: sig
        type: gcry_sexp_t
      item_type: struct
      name: bench_ecc_hd
      pos:
        line_end: 3034
        line_start: 3027
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: oper
        type: enum bench_pq_operation
      - name: '*name'
        type: char
      - name: '*ops'
        type: struct bench_ops
      - name: algo
        type: enum bench_pq_algo
      item_type: struct
      name: bench_pq_oper
      pos:
        line_end: 3646
        line_start: 3639
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: algo
        type: int
      - name: pubkey_len
        type: size_t
      - name: seckey_len
        type: size_t
      - name: ciph_len
        type: size_t
      - name: shared_len
        type: size_t
      - name: '*pubkey'
        type: unsigned char
      - name: '*seckey'
        type: unsigned char
      - name: '*ciph'
        type: unsigned char
      - name: '*shared'
        type: unsigned char
      item_type: struct
      name: bench_pq_kem_hd
      pos:
        line_end: 3659
        line_start: 3648
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: key_spec
        type: gcry_sexp_t
      - name: data
        type: gcry_sexp_t
      - name: pub_key
        type: gcry_sexp_t
      - name: sec_key
        type: gcry_sexp_t
      - name: sig
        type: gcry_sexp_t
      item_type: struct
      name: bench_pq_sig_hd
      pos:
        line_end: 3668
        line_start: 3661
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: '*name'
        type: char
      - name: kem_algo
        type: int
      - name: '*sig_name'
        type: char
      - name: pubkey_len
        type: size_t
      - name: seckey_len
        type: size_t
      - name: ciph_len
        type: size_t
      - name: shared_len
        type: size_t
      - name: keygen_cost
        type: int
      - name: oper_cost
        type: int
      - name: keygen_on_demand
        type: int
      item_type: struct
      name: "pq_algos[] = {\n#if USE_KYBER\n  { \"ML-KEM-512\", GCRY_KEM_MLKEM512,
        NULL,\n    GCRY_KEM_MLKEM512_PUBKEY_LEN, GCRY_KEM_MLKEM512_SECKEY_LEN,\n    GCRY_KEM_MLKEM512_ENCAPS_LEN,
        GCRY_KEM_MLKEM512_SHARED_LEN, 1, 1, 0 },\n  { \"ML-KEM-768\", GCRY_KEM_MLKEM768,
        NULL,\n    GCRY_KEM_MLKEM768_PUBKEY_LEN, GCRY_KEM_MLKEM768_SECKEY_LEN,\n    GCRY_KEM_MLKEM768_ENCAPS_LEN,
        GCRY_KEM_MLKEM768_SHARED_LEN, 1, 1, 0 },\n  { \"ML-KEM-1024\", GCRY_KEM_MLKEM1024,
        NULL,\n    GCRY_KEM_MLKEM1024_PUBKEY_LEN, GCRY_KEM_MLKEM1024_SECKEY_LEN,\n
        \   GCRY_KEM_MLKEM1024_ENCAPS_LEN, GCRY_KEM_MLKEM1024_SHARED_LEN, 1, 1, 0
        },\n#endif\n  { \"sntrup761\", GCRY_KEM_SNTRUP761, NULL,\n    GCRY_KEM_SNTRUP761_PUBKEY_LEN,
        GCRY_KEM_SNTRUP761_SECKEY_LEN,\n    GCRY_KEM_SNTRUP761_ENCAPS_LEN, GCRY_KEM_SNTRUP761_SHARED_LEN,
        1, 1, 0 },\n  { \"cm6688128f\", GCRY_KEM_CM6688128F, NULL,\n    GCRY_KEM_CM6688128F_PUBKEY_LEN,
        GCRY_KEM_CM6688128F_SECKEY_LEN,\n    GCRY_KEM_CM6688128F_ENCAPS_LEN, GCRY_KEM_CM6688128F_SHARED_LEN,
        16, 1, 1 },\n#if USE_DILITHIUM\n  { \"ML-DSA-44\", -1, \"dilithium2\", 0,
        0, 0, 0, 1, 1, 0 },\n  { \"ML-DSA-65\", -1, \"dilithium3\", 0, 0, 0, 0, 1,
        1, 0 },\n  { \"ML-DSA-87\", -1, \"dilithium5\", 0, 0, 0, 0, 1, 1, 0 },\n#endif\n
        \ { NULL, -1, NULL, 0, 0, 0, 0, 1, 1, 0 }\n}"
      pos:
        line_end: 3683
        line_start: 3671
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: '*name'
        type: char
      - name: '*ops'
        type: struct bench_ops
      - name: test_id
        type: enum bench_mpi_test
      item_type: struct
      name: bench_mpi_mode
      pos:
        line_end: 4258
        line_start: 4252
        source_file: /src/libgcrypt/tests/bench-slope.c
    - fields:
      - name: bytes[MPI_NUM_STEPS + 1]
        type: gcry_mpi_t
      - name: y
        type: gcry_mpi_t
      item_type: struct
      name: bench_mpi_hd
      pos:
        line_end: 4264
        line_start: 4260
        source_file: /src/libgcrypt/tests/bench-slope.c
    typedefs:
    - item_type: typedef
      name: (*const bench_initialize_t) (struct bench_obj * obj)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/libgcrypt/tests/bench-slope.c
      type: int
    - item_type: typedef
      name: (*const bench_finalize_t) (struct bench_obj * obj)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/libgcrypt/tests/bench-slope.c
      type: void
    - item_type: typedef
      name: "(*const bench_do_run_t) (struct bench_obj * obj, void *buffer,\n\t\t\t\t
        \     size_t buflen)"
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/libgcrypt/tests/bench-slope.c
      type: void
    union:
    - fields:
      - name: d
        type: double
      - name: buf[sizeof(double)]
        type: char
      item_type: union
      name: u_neg_zero
      pos:
        line_end: 265
        line_start: 261
        source_file: /src/libgcrypt/tests/bench-slope.c
- function_names:
  - main
  source_file: /src/libgcrypt/tests/genhashdata.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libgcrypt/tests/genhashdata.c
      type_or_value: '"genhashdata"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_hex
  - check
  - progress_handler
  - main
  source_file: /src/libgcrypt/tests/keygrip.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgcrypt/tests/keygrip.c
      type_or_value: '"keygrip"'
    structs:
    - fields:
      - name: algo
        type: int
      - name: '*key'
        type: char
      - name: _GCRY_GCC_ATTR_NONSTRING
        type: unsigned char
      - name: skip_when_fips
        type: int
      item_type: struct
      name: "key_grips[] =\n  {\n    {\n      GCRY_PK_RSA,\n      \"(private-key\"\n
        \     \" (rsa\"\n      \"  (n #00B6B509596A9ECABC939212F891E656A626BA07DA8521A9CAD4C08E640C04052FBB87F424EF1A0275A48A9299AC9DB69ABE3D0124E6C756B1F7DFB9B842D6251AEA6EE85390495CADA73D671537FCE5850A932F32BAB60AB1AC1F852C1F83C625E7A7D70CDA9EF16D5C8E47739D77DF59261ABE8454807FF441E143FBD37F8545#)\"\n
        \     \"  (e #010001#)\"\n      \"  (d #077AD3DE284245F4806A1B82B79E616FBDE821C82D691A65665E57B5FAD3F34E67F401E7BD2E28699E89D9C496CF821945AE83AC7A1231176A196BA6027E77D85789055D50404A7A2A95B1512F91F190BBAEF730ED550D227D512F89C0CDB31AC06FA9A19503DDF6B66D0B42B9691BFD6140EC1720FFC48AE00C34796DC899E5#)\"\n
        \     \"  (p #00D586C78E5F1B4BF2E7CD7A04CA091911706F19788B93E44EE20AAF462E8363E98A72253ED845CCBF2481BB351E8557C85BCFFF0DABDBFF8E26A79A0938096F27#)\"\n
        \     \"  (q #00DB0CDF60F26F2A296C88D6BF9F8E5BE45C0DDD713C96CC73EBCB48B061740943F21D2A93D6E42A7211E7F02A95DCED6C390A67AD21ECF739AE8A0CA46FF2EBB3#)\"\n
        \     \"  (u #33149195F16912DB20A48D020DBC3B9E3881B39D722BF79378F6340F43148A6E9FC5F53E2853B7387BA4443BA53A52FCA8173DE6E85B42F9783D4A7817D0680B#)))\",\n
        \     \"\\x32\\xCF\\xFA\\x85\\xB1\\x79\\x1F\\xBB\\x26\\x14\\xE9\\x1A\\xFD\\xF3\\xAF\\xE3\\x32\\x08\\x2E\\x25\"\n
        \   },\n    {\n      GCRY_PK_DSA,\n      \" (public-key\"\n      \" (dsa\"\n
        \     \"  (p #0084E4C626E16005770BD9509ABF7354492E85B8C0060EFAAAEC617F725B592FAA59DF5460575F41022776A9718CE62EDD542AB73C7720869EBDBC834D174ADCD7136827DF51E2613545A25CA573BC502A61B809000B6E35F5EB7FD6F18C35678C23EA1C3638FB9CFDBA2800EE1B62F41A4479DE824F2834666FBF8DC5B53C2617#)\"\n
        \     \"  (q #00B0E6F710051002A9F425D98A677B18E0E5B038AB#)\"\n      \"  (g
        #44370CEE0FE8609994183DBFEBA7EEA97D466838BCF65EFF506E35616DA93FA4E572A2F08886B74977BC00CA8CD3DBEA7AEB7DB8CBB180E6975E0D2CA76E023E6DE9F8CCD8826EBA2F72B8516532F6001DEFFAE76AA5E59E0FA33DBA3999B4E92D1703098CDEDCC416CF008801964084CDE1980132B2B78CB4CE9C15A559528B#)\"\n
        \     \"  (y #3D5DD14AFA2BF24A791E285B90232213D0E3BA74AB1109E768AED19639A322F84BB7D959E2BA92EF73DE4C7F381AA9F4053CFA3CD4527EF9043E304E5B95ED0A3A5A9D590AA641C13DB2B6E32B9B964A6A2C730DD3EA7C8E13F7A140AFF1A91CE375E9B9B960384779DC4EA180FA1F827C52288F366C0770A220F50D6D8FD6F6#)))\",\n
        \     \"\\x04\\xA3\\x4F\\xA0\\x2B\\x03\\x94\\xD7\\x32\\xAD\\xD5\\x9B\\x50\\xAF\\xDB\\x5D\\x57\\x22\\xA6\\x10\"\n\n
        \   },\n    {\n      GCRY_PK_DSA,\n      \"(private-key\"\n      \" (dsa\"\n
        \     \"  (p #0084E4C626E16005770BD9509ABF7354492E85B8C0060EFAAAEC617F725B592FAA59DF5460575F41022776A9718CE62EDD542AB73C7720869EBDBC834D174ADCD7136827DF51E2613545A25CA573BC502A61B809000B6E35F5EB7FD6F18C35678C23EA1C3638FB9CFDBA2800EE1B62F41A4479DE824F2834666FBF8DC5B53C2617#)\"\n
        \     \"  (q #00B0E6F710051002A9F425D98A677B18E0E5B038AB#)\"\n      \"  (g
        #44370CEE0FE8609994183DBFEBA7EEA97D466838BCF65EFF506E35616DA93FA4E572A2F08886B74977BC00CA8CD3DBEA7AEB7DB8CBB180E6975E0D2CA76E023E6DE9F8CCD8826EBA2F72B8516532F6001DEFFAE76AA5E59E0FA33DBA3999B4E92D1703098CDEDCC416CF008801964084CDE1980132B2B78CB4CE9C15A559528B#)\"\n
        \     \"  (y #3D5DD14AFA2BF24A791E285B90232213D0E3BA74AB1109E768AED19639A322F84BB7D959E2BA92EF73DE4C7F381AA9F4053CFA3CD4527EF9043E304E5B95ED0A3A5A9D590AA641C13DB2B6E32B9B964A6A2C730DD3EA7C8E13F7A140AFF1A91CE375E9B9B960384779DC4EA180FA1F827C52288F366C0770A220F50D6D8FD6F6#)\"\n
        \     \"  (x #0087F9E91BFBCC1163DE71ED86D557708E32F8ADDE#)))\",\n      \"\\x04\\xA3\\x4F\\xA0\\x2B\\x03\\x94\\xD7\\x32\\xAD\\xD5\\x9B\\x50\\xAF\\xDB\\x5D\\x57\\x22\\xA6\\x10\"\n
        \   },\n    {\n      GCRY_PK_ECDSA,\n      \"(public-key\"\n      \" (ecdsa(flags
        param)\"\n      \" (p #00FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF#)\"\n
        \     \" (a #00FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC#)\"\n
        \     \" (b #5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B#)\"\n
        \     \" (g #046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5#)\"\n
        \     \" (n #00FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551#)\"\n
        \     \" (h #000000000000000000000000000000000000000000000000000000000000000001#)\"\n
        \     \" (q #04C8A4CEC2E9A9BC8E173531A67B0840DF345C32E261ADD780E6D83D56EFADFD5DE872F8B854819B59543CE0B7F822330464FBC4E6324DADDCD9D059554F63B344#)))\",\n
        \     \"\\xE6\\xDF\\x94\\x2D\\xBD\\x8C\\x77\\x05\\xA3\\xDD\\x41\\x6E\\xFC\\x04\\x01\\xDB\\x31\\x0E\\x99\\xB6\"\n
        \   },\n    {\n      GCRY_PK_ECDSA,\n      \"(public-key\"\n      \" (ecdsa(flags
        param)\"\n      \" (p #00FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF#)\"\n
        \     \" (curve \\\"NIST P-256\\\")\"\n      \" (b #5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B#)\"\n
        \     \" (g #046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5#)\"\n
        \     \" (n #00FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551#)\"\n
        \     \" (h #000000000000000000000000000000000000000000000000000000000000000001#)\"\n
        \     \" (q #04C8A4CEC2E9A9BC8E173531A67B0840DF345C32E261ADD780E6D83D56EFADFD5DE872F8B854819B59543CE0B7F822330464FBC4E6324DADDCD9D059554F63B344#)))\",\n
        \     \"\\xE6\\xDF\\x94\\x2D\\xBD\\x8C\\x77\\x05\\xA3\\xDD\\x41\\x6E\\xFC\\x04\\x01\\xDB\\x31\\x0E\\x99\\xB6\"\n
        \   },\n    {\n      GCRY_PK_ECDSA,\n      \"(public-key\"\n      \" (ecdsa\"\n
        \     \" (p #00FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF#)\"\n
        \     \" (curve \\\"NIST P-256\\\")\"\n      \" (b #5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B#)\"\n
        \     \" (g #046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5#)\"\n
        \     \" (n #00FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551#)\"\n
        \     \" (h #000000000000000000000000000000000000000000000000000000000000000001#)\"\n
        \     \" (q #04C8A4CEC2E9A9BC8E173531A67B0840DF345C32E261ADD780E6D83D56EFADFD5DE872F8B854819B59543CE0B7F822330464FBC4E6324DADDCD9D059554F63B344#)))\",\n
        \     \"\\xE6\\xDF\\x94\\x2D\\xBD\\x8C\\x77\\x05\\xA3\\xDD\\x41\\x6E\\xFC\\x04\\x01\\xDB\\x31\\x0E\\x99\\xB6\"\n
        \   },\n    {\n      GCRY_PK_ECDSA,\n      \"(public-key\"\n      \" (ecdsa\"\n
        \     \" (curve secp256r1)\"\n      \" (q #04C8A4CEC2E9A9BC8E173531A67B0840DF345C32E261ADD780E6D83D56EFADFD5DE872F8B854819B59543CE0B7F822330464FBC4E6324DADDCD9D059554F63B344#)))\",\n
        \     \"\\xE6\\xDF\\x94\\x2D\\xBD\\x8C\\x77\\x05\\xA3\\xDD\\x41\\x6E\\xFC\\x04\\x01\\xDB\\x31\\x0E\\x99\\xB6\"\n
        \   },\n    {\n      GCRY_PK_ECC,\n      \"(public-key\"\n      \" (ecc\"\n
        \     \" (curve secp256r1)\"\n      \" (q #04C8A4CEC2E9A9BC8E173531A67B0840DF345C32E261ADD780E6D83D56EFADFD5DE872F8B854819B59543CE0B7F822330464FBC4E6324DADDCD9D059554F63B344#)))\",\n
        \     \"\\xE6\\xDF\\x94\\x2D\\xBD\\x8C\\x77\\x05\\xA3\\xDD\\x41\\x6E\\xFC\\x04\\x01\\xDB\\x31\\x0E\\x99\\xB6\"\n
        \   },\n    {\n      GCRY_PK_ECC,\n      \"(public-key\"\n      \" (ecc\"\n
        \     \" (curve brainpoolP256r1)\"\n      \" (q #042ECD8679930BE2DB4AD42B8600BA3F80\"\n
        \     /*   */\"2D4D539BFF2F69B83EC9B7BBAA7F3406\"\n      /*   */\"436DD11A1756AFE56CD93408410FCDA9\"\n
        \     /*   */\"BA95024EB613BD481A14FCFEC27A448A#)))\",\n      \"\\x52\\xBA\\xD4\\xB4\\xA3\\x2D\\x32\\xA1\\xDD\\x06\"\n
        \     \"\\x5E\\x99\\x0B\\xF1\\xAB\\xC1\\x13\\x3D\\x84\\xD4\",\n      1\n    },\n
        \   { /* Compressed form of above.  */\n      GCRY_PK_ECC,\n      \"(public-key\"\n
        \     \" (ecc\"\n      \" (curve brainpoolP256r1)\"\n      \" (q #022ECD8679930BE2DB4AD42B8600BA3F80\"\n
        \     /*   */\"2D4D539BFF2F69B83EC9B7BBAA7F3406#)))\",\n      \"\\x52\\xBA\\xD4\\xB4\\xA3\\x2D\\x32\\xA1\\xDD\\x06\"\n
        \     \"\\x5E\\x99\\x0B\\xF1\\xAB\\xC1\\x13\\x3D\\x84\\xD4\",\n      1\n    },\n
        \   {\n      GCRY_PK_ECC,\n      \"(public-key\"\n      \" (ecc\"\n      \"
        (curve brainpoolP256r1)\"\n      \" (q #045B784CA008EE64AB3D85017EE0D2BE87\"\n
        \     /*   */\"558762C7300E0C8E06B1F9AF7C031458\"\n      /*   */\"9EBBA41915313417BA54218EB0569C59\"\n
        \     /*   */\"0B156C76DBCAB6E84575E6EF68CE7B87#)))\",\n      \"\\x99\\x38\\x6A\\x82\\x41\\x96\\x29\\x9C\\x89\\x74\"\n
        \     \"\\xD6\\xE1\\xBF\\x43\\xAC\\x9B\\x9A\\x12\\xE7\\x3F\",\n      1\n    },\n
        \   { /* Compressed form of above.  */\n      GCRY_PK_ECC,\n      \"(public-key\"\n
        \     \" (ecc\"\n      \" (curve brainpoolP256r1)\"\n      \" (q #035B784CA008EE64AB3D85017EE0D2BE87\"\n
        \     /*   */\"558762C7300E0C8E06B1F9AF7C031458#)))\",\n      \"\\x99\\x38\\x6A\\x82\\x41\\x96\\x29\\x9C\\x89\\x74\"\n
        \     \"\\xD6\\xE1\\xBF\\x43\\xAC\\x9B\\x9A\\x12\\xE7\\x3F\",\n      1\n    },\n
        \   { /* Ed25519 standard */\n      GCRY_PK_ECC,\n      \"(public-key\"\n
        \     \" (ecc\"\n      \" (curve Ed25519)\"\n      \" (q #04\"\n      \"     1CC662926E7EFF4982B7FB8B928E61CD74CCDD85277CC57196C3AD20B611085F\"\n
        \     \"     47BD24842905C049257673B3F5249524E0A41FAA17B25B818D0F97E625F1A1D0#)\"\n
        \     \"     ))\",\n      \"\\x0C\\xCA\\xB2\\xFD\\x48\\x9A\\x33\\x40\\x2C\\xE8\"\n
        \     \"\\xE0\\x4A\\x1F\\xB2\\x45\\xEA\\x80\\x3D\\x0A\\xF1\"\n    },\n    {
        /* Ed25519+EdDSA */\n      GCRY_PK_ECC,\n      \"(public-key\"\n      \" (ecc\"\n
        \     \" (curve Ed25519)(flags eddsa)\"\n      \" (q #773E72848C1FD5F9652B29E2E7AF79571A04990E96F2016BF4E0EC1890C2B7DB#)\"\n
        \     \" ))\",\n      \"\\x9D\\xB6\\xC6\\x4A\\x38\\x83\\x0F\\x49\\x60\\x70\"\n
        \     \"\\x17\\x89\\x47\\x55\\x20\\xBE\\x8C\\x82\\x1F\\x47\"\n    },\n    {
        /* Ed25519+EdDSA (with compression prefix) */\n      GCRY_PK_ECC,\n      \"(public-key\"\n
        \     \" (ecc\"\n      \" (curve Ed25519)(flags eddsa)\"\n      \" (q #40\"\n
        \     \"     773E72848C1FD5F9652B29E2E7AF79571A04990E96F2016BF4E0EC1890C2B7DB#)\"\n
        \     \" ))\",\n      \"\\x9D\\xB6\\xC6\\x4A\\x38\\x83\\x0F\\x49\\x60\\x70\"\n
        \     \"\\x17\\x89\\x47\\x55\\x20\\xBE\\x8C\\x82\\x1F\\x47\"\n    },\n    {
        /* Ed25519+EdDSA  (same but uncompressed)*/\n      GCRY_PK_ECC,\n      \"(public-key\"\n
        \     \" (ecc\"\n      \" (curve Ed25519)(flags eddsa)\"\n      \" (q #04\"\n
        \     \"     629ad237d1ed04dcd4abe1711dd699a1cf51b1584c4de7a4ef8b8a640180b26f\"\n
        \     \"     5bb7c29018ece0f46b01f2960e99041a5779afe7e2292b65f9d51f8c84723e77#)\"\n
        \     \" ))\",\n      \"\\x9D\\xB6\\xC6\\x4A\\x38\\x83\\x0F\\x49\\x60\\x70\"\n
        \     \"\\x17\\x89\\x47\\x55\\x20\\xBE\\x8C\\x82\\x1F\\x47\"\n    },\n    {
        /* Cv25519 */\n      GCRY_PK_ECC,\n      \"(public-key\"\n      \" (ecc\"\n
        \     \" (curve Curve25519)(flags djb-tweak)\"\n      \" (q #40\"\n      \"
        \    918C1733127F6BF2646FAE3D081A18AE77111C903B906310B077505EFFF12740#)\"\n
        \     \" ))\",\n      \"\\x0F\\x89\\xA5\\x65\\xD3\\xEA\\x18\\x7C\\xE8\\x39\"\n
        \     \"\\x33\\x23\\x98\\xF5\\xD4\\x80\\x67\\x7D\\xF4\\x9C\",\n      1\n    },\n
        \   { /* Random key  */\n      GCRY_PK_RSA,\n      \"(shadowed-private-key\"\n
        \     \" (rsa\"\n      \" (n #00B493C79928398DA9D99AC0E949FE6EB62F683CB974FFFBFBC01066F5C9A89B\"\n
        \     \"     D3DC48EAD7C65F36EA943C2B2C865C26C4884FF9EDFDA8C99C855B737D77EEF6\"\n
        \     \"     B85DBC0CCEC0E900C1F89A6893A2A93E8B31028469B6927CEB2F08687E547C68\"\n
        \     \"     6B0A2F7E50A194FF7AB7637E03DE0912EF7F6E5F1EC37625BD1620CCC2E7A564\"\n
        \     \"     31E168CDAFBD1D9E61AE47A69A6FA03EF22F844528A710B2392F262B95A3078C\"\n
        \     \"     F321DC8325F92A5691EF69F34FD0DE0B22C79D29DC87723FCADE463829E8E5F7\"\n
        \     \"     D196D73D6C9C180F6A6A0DDBF7B9D8F7FA293C36163B12199EF6A1A95CAE4051\"\n
        \     \"     E3069C522CC6C4A7110F663A5DAD20F66C13A1674D050088208FAE4F33B3AB51\"\n
        \     \"     03#)\"\n      \" (e #00010001#)\"\n      \" (shadowed t1-v1\"\n
        \     \" (#D2760001240102000005000123350000# OPENPGP.1)\"\n      \")))\",\n
        \     \"\\xE5\\x6E\\xE6\\xEE\\x5A\\x2F\\xDC\\x3E\\x98\\x9D\"\n      \"\\xFE\\x49\\xDA\\xF5\\x67\\x43\\xE3\\x27\\x28\\x33\"\n
        \   }\n  }"
      pos:
        line_end: 60
        line_start: 54
        source_file: /src/libgcrypt/tests/keygrip.c
    typedefs: []
    union: []
- function_names:
  - show_note
  - prepend_srcdir
  - read_textline
  - copy_data
  - hex2buffer
  - one_test_sexp
  - check_rsa_pss
  - main
  source_file: /src/libgcrypt/tests/t-rsa-pss.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/tests/t-rsa-pss.c
      type_or_value: '"t-rsa-pss"'
    - item_type: preproc_def
      name: N_TESTS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/tests/t-rsa-pss.c
      type_or_value: '120'
    - item_type: preproc_def
      name: DATA_TMPL_NO_SALT
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/libgcrypt/tests/t-rsa-pss.c
      type_or_value: '"(data(flags pss)(hash %s %b)(salt-length 1:0))"'
    - item_type: preproc_def
      name: DATA_TMPL_WITH_SALT
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/libgcrypt/tests/t-rsa-pss.c
      type_or_value: '"(data(flags pss)(hash %%s %%b)(salt-length %zd:%zd)(random-override
        %%b))"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/tests/blake2b.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - parse_annotation
  - one_genkey_test
  - one_encap_test
  - one_decap_test
  - check_mlkem_kat
  - main
  source_file: /src/libgcrypt/tests/t-mlkem.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/tests/t-mlkem.c
      type_or_value: '"t-mlkem"'
    - item_type: preproc_def
      name: N_TESTS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/tests/t-mlkem.c
      type_or_value: '36'
    structs: []
    typedefs: []
    union: []
- function_names:
  - prepend_srcdir
  - print_hex
  - progress_cb
  - writen
  - readn
  - check_forking
  - check_nonce_forking
  - check_close_random_device
  - rng_type
  - check_rng_type_switching
  - check_early_rng_type_switching
  - check_drbg_reinit
  - run_all_rng_tests
  - run_all_rng_tests
  - run_benchmark
  - main
  source_file: /src/libgcrypt/tests/random.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/tests/random.c
      type_or_value: '"random"'
    - item_type: preproc_def
      name: NEED_EXTRA_TEST_SUPPORT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/tests/random.c
      type_or_value: '1'
    structs:
    - fields:
      - name: '*flags'
        type: char
      item_type: struct
      name: "tv[] = {\n    { NULL },\n    { \"\" },\n    { \"sha1\" },\n    { \"sha1
        pr\" },\n    { \"sha256\" },\n    { \"sha256 pr\" },\n    { \"sha512\" },\n
        \   { \"sha512 pr\" },\n    { \"hmac sha1\" },\n    { \"hmac sha1 pr\" },\n
        \   { \"hmac sha256\" },\n    { \"hmac sha256 pr\" },\n    { \"hmac sha512\"
        },\n    { \"hmac sha512 pr\" },\n    { \"aes sym128\" },\n    { \"aes sym128
        pr\" },\n    { \"aes sym192\" },\n    { \"aes sym192 pr\" },\n    { \"aes
        sym256\" },\n    { \"aes sym256 pr\" }\n  }"
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/libgcrypt/tests/random.c
    typedefs: []
    union: []
- function_names:
  - check_ls_thread
  - check_thread_local
  - main
  source_file: /src/libgcrypt/tests/t-thread-local.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/tests/t-thread-local.c
      type_or_value: '"t-thread-local"'
    - item_type: preproc_def
      name: THREAD_RET_TYPE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgcrypt/tests/t-thread-local.c
      type_or_value: DWORD WINAPI
    - item_type: preproc_def
      name: THREAD_RET_VALUE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgcrypt/tests/t-thread-local.c
      type_or_value: '0'
    - item_type: preproc_def
      name: THREAD_RET_TYPE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/tests/t-thread-local.c
      type_or_value: void *
    - item_type: preproc_def
      name: THREAD_RET_VALUE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libgcrypt/tests/t-thread-local.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: N_TESTS
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libgcrypt/tests/t-thread-local.c
      type_or_value: '1'
    - item_type: preproc_def
      name: N_THREADS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libgcrypt/tests/t-thread-local.c
      type_or_value: '19'
    structs:
    - fields:
      - name: 'no'
        type: int
      item_type: struct
      name: thread_arg_s
      pos:
        line_end: 65
        line_start: 62
        source_file: /src/libgcrypt/tests/t-thread-local.c
    typedefs: []
    union: []
- function_names:
  - DIM
  - DIMof
  - xfree
  - spacep
  - my_stpcpy
  - die
  - xmalloc
  - xcalloc
  - xstrdup
  - fail
  - info
  - printresult
  - strtokenize
  - build_w32_commandline_copy
  - build_w32_commandline
  - w32_open_null
  - my_spawn
  - my_wait
  - run_one_test
  - runtests
  - main
  source_file: /src/libgcrypt/tests/testdrv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/tests/testdrv.c
      type_or_value: '"testdrv"'
    - item_type: preproc_def
      name: LONG_RUNNING
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/tests/testdrv.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TESTDRV_EXEEXT
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libgcrypt/tests/testdrv.c
      type_or_value: '".exe"'
    - item_type: preproc_def
      name: TESTDRV_EXEEXT
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/libgcrypt/tests/testdrv.c
      type_or_value: '""'
    - item_type: preproc_def
      name: MYPID_T
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/libgcrypt/tests/testdrv.c
      type_or_value: HANDLE
    - item_type: preproc_def
      name: MYINVALID_PID
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/libgcrypt/tests/testdrv.c
      type_or_value: INVALID_HANDLE_VALUE
    - item_type: preproc_def
      name: MYPID_T
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/libgcrypt/tests/testdrv.c
      type_or_value: pid_t
    - item_type: preproc_def
      name: MYINVALID_PID
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/libgcrypt/tests/testdrv.c
      type_or_value: ((pid_t)(-1))
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*pgm'
        type: char
      - name: '*args'
        type: char
      - name: flags
        type: unsigned int
      item_type: struct
      name: "testpgms[] =\n  {\n   { \"version\"     },\n   { \"t-secmem\"    },\n
        \  { \"mpitests\"    },\n   { \"t-sexp\"      },\n   { \"t-convert\"   },\n
        \  { \"t-mpi-bit\"   },\n   { \"t-mpi-point\" },\n   { \"curves\"      },\n
        \  { \"t-lock\"      },\n   { \"prime\"       },\n   { \"basic\"       },\n
        \  { \"basic-disable-all-hwf\", \"basic\", \"--disable-hwf all\" },\n   {
        \"keygen\"      },\n   { \"pubkey\"      },\n   { \"hmac\"        },\n   {
        \"hashtest\"    },\n   { \"t-kdf\"       },\n   { \"keygrip\"     },\n   {
        \"fips186-dsa\" },\n   { \"aeswrap\"     },\n   { \"pkcs1v2\"     },\n   {
        \"random\"      },\n   { \"dsa-rfc6979\" },\n   { \"t-rsa-pss\"   },\n   {
        \"t-ed25519\"   },\n   { \"t-cv25519\"   },\n   { \"t-x448\"      },\n   {
        \"t-ed448\"     },\n   { \"t-mlkem\"     },\n   { \"t-mldsa\"     },\n   {
        \"benchmark\"   },\n   { \"bench-slope\" },\n   { \"hashtest-6g\", \"hashtest\",
        \"--hugeblock --gigs 6 SHA1 SHA256 SHA512 \"\n                                                     \"SHA3-512
        SM3 BLAKE2S_256 \"\n                                                     \"BLAKE2B_512
        CRC32 \"\n                                                     \"CRC24RFC2440\",\n
        \    LONG_RUNNING },\n   { \"hashtest-256g\", \"hashtest\", \"--gigs 256 SHA1
        SHA256 SHA512 SHA3-512 SM3\",\n     LONG_RUNNING },\n   { NULL }\n  }"
      pos:
        line_end: 49
        line_start: 44
        source_file: /src/libgcrypt/tests/testdrv.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/tests/pkcs1v2-oaep.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*desc'
        type: char
      - name: '*n'
        type: char
      - name: m[6]
        type: "struct {\n      const char *desc;\n      const char *mesg;\n      const
          char *seed;\n      const char *encr;\n    }"
      item_type: struct
      name: "tbl[] = {\n    {\n      \"Example 1: A 1024-bit RSA key pair\",\n      \"a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae4811a1e0ab\"\n
        \     \"c4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6c630f533c8cc72\"\n
        \     \"f62ae833c40bf25842e984bb78bdbf97c0107d55bdb662f5c4e0fab9845cb514\"\n
        \     \"8ef7392dd3aaff93ae1e6b667bb3d4247616d4f5ba10d4cfd226de88d39f16fb\",\n
        \     \"010001\",\n      \"53339cfdb79fc8466a655c7316aca85c55fd8f6dd898fdaf119517ef4f52e8fd\"\n
        \     \"8e258df93fee180fa0e4ab29693cd83b152a553d4ac4d1812b8b9fa5af0e7f55\"\n
        \     \"fe7304df41570926f3311f15c4d65a732c483116ee3d3d2d0af3549ad9bf7cbf\"\n
        \     \"b78ad884f84d5beb04724dc7369b31def37d0cf539e9cfcdd3de653729ead5d1\",\n
        \     {\n        {\n          \"OAEP Example 1.1\",\n          \"6628194e12073db03ba94cda9ef9532397d50dba79b987004afefe34\",\n
        \         \"18b776ea21069d69776a33e96bad48e1dda0a5ef\",\n          \"354fe67b4a126d5d35fe36c777791a3f7ba13def484e2d3908aff722fad468fb\"\n
        \         \"21696de95d0be911c2d3174f8afcc201035f7b6d8e69402de5451618c21a535f\"\n
        \         \"a9d7bfc5b8dd9fc243f8cf927db31322d6e881eaa91a996170e657a05a266426\"\n
        \         \"d98c88003f8477c1227094a0d9fa1e8c4024309ce1ecccb5210035d47ac72e8a\"\n
        \       },{\n          \"OAEP Example 1.2\",\n          \"750c4047f547e8e41411856523298ac9bae245efaf1397fbe56f9dd5\",\n
        \         \"0cc742ce4a9b7f32f951bcb251efd925fe4fe35f\",\n          \"640db1acc58e0568fe5407e5f9b701dff8c3c91e716c536fc7fcec6cb5b71c11\"\n
        \         \"65988d4a279e1577d730fc7a29932e3f00c81515236d8d8e31017a7a09df4352\"\n
        \         \"d904cdeb79aa583adcc31ea698a4c05283daba9089be5491f67c1a4ee48dc74b\"\n
        \         \"bbe6643aef846679b4cb395a352d5ed115912df696ffe0702932946d71492b44\"\n
        \       },{\n          \"OAEP Example 1.3\",\n          \"d94ae0832e6445ce42331cb06d531a82b1db4baad30f746dc916df24d4e3c245\"\n
        \         \"1fff59a6423eb0e1d02d4fe646cf699dfd818c6e97b051\",\n          \"2514df4695755a67b288eaf4905c36eec66fd2fd\",\n
        \         \"423736ed035f6026af276c35c0b3741b365e5f76ca091b4e8c29e2f0befee603\"\n
        \         \"595aa8322d602d2e625e95eb81b2f1c9724e822eca76db8618cf09c5343503a4\"\n
        \         \"360835b5903bc637e3879fb05e0ef32685d5aec5067cd7cc96fe4b2670b6eac3\"\n
        \         \"066b1fcf5686b68589aafb7d629b02d8f8625ca3833624d4800fb081b1cf94eb\"\n
        \       },{\n          \"OAEP Example 1.4\",\n          \"52e650d98e7f2a048b4f86852153b97e01dd316f346a19f67a85\",\n
        \         \"c4435a3e1a18a68b6820436290a37cefb85db3fb\",\n          \"45ead4ca551e662c9800f1aca8283b0525e6abae30be4b4aba762fa40fd3d38e\"\n
        \         \"22abefc69794f6ebbbc05ddbb11216247d2f412fd0fba87c6e3acd888813646f\"\n
        \         \"d0e48e785204f9c3f73d6d8239562722dddd8771fec48b83a31ee6f592c4cfd4\"\n
        \         \"bc88174f3b13a112aae3b9f7b80e0fc6f7255ba880dc7d8021e22ad6a85f0755\"\n
        \       },{\n          \"OAEP Example 1.5\",\n          \"8da89fd9e5f974a29feffb462b49180f6cf9e802\",\n
        \         \"b318c42df3be0f83fea823f5a7b47ed5e425a3b5\",\n          \"36f6e34d94a8d34daacba33a2139d00ad85a9345a86051e73071620056b920e2\"\n
        \         \"19005855a213a0f23897cdcd731b45257c777fe908202befdd0b58386b1244ea\"\n
        \         \"0cf539a05d5d10329da44e13030fd760dcd644cfef2094d1910d3f433e1c7c6d\"\n
        \         \"d18bc1f2df7f643d662fb9dd37ead9059190f4fa66ca39e869c4eb449cbdc439\"\n
        \       },{\n          \"OAEP Example 1.6\",\n          \"26521050844271\",\n
        \         \"e4ec0982c2336f3a677f6a356174eb0ce887abc2\",\n          \"42cee2617b1ecea4db3f4829386fbd61dafbf038e180d837c96366df24c097b4\"\n
        \         \"ab0fac6bdf590d821c9f10642e681ad05b8d78b378c0f46ce2fad63f74e0ad3d\"\n
        \         \"f06b075d7eb5f5636f8d403b9059ca761b5c62bb52aa45002ea70baace08ded2\"\n
        \         \"43b9d8cbd62a68ade265832b56564e43a6fa42ed199a099769742df1539e8255\"\n
        \       }\n      }\n    },\n    {\n      \"Example 2: A 1025-bit RSA key pair\",\n
        \     \"01947c7fce90425f47279e70851f25d5e62316fe8a1df19371e3e628e260543e\"\n
        \     \"4901ef6081f68c0b8141190d2ae8daba7d1250ec6db636e944ec3722877c7c1d\"\n
        \     \"0a67f14b1694c5f0379451a43e49a32dde83670b73da91a1c99bc23b436a6005\"\n
        \     \"5c610f0baf99c1a079565b95a3f1526632d1d4da60f20eda25e653c4f002766f\"\n
        \     \"45\",\n      \"010001\",\n      \"0823f20fadb5da89088a9d00893e21fa4a1b11fbc93c64a3be0baaea97fb3b93\"\n
        \     \"c3ff713704c19c963c1d107aae99054739f79e02e186de86f87a6ddefea6d8cc\"\n
        \     \"d1d3c81a47bfa7255be20601a4a4b2f08a167b5e279d715b1b455bdd7eab2459\"\n
        \     \"41d9768b9acefb3ccda5952da3cee72525b4501663a8ee15c9e992d92462fe39\",\n
        \     {\n        {\n          \"OAEP Example 2.1\",\n          \"8ff00caa605c702830634d9a6c3d42c652b58cf1d92fec570beee7\",\n
        \         \"8c407b5ec2899e5099c53e8ce793bf94e71b1782\",\n          \"0181af8922b9fcb4d79d92ebe19815992fc0c1439d8bcd491398a0f4ad3a329a\"\n
        \         \"5bd9385560db532683c8b7da04e4b12aed6aacdf471c34c9cda891addcc2df34\"\n
        \         \"56653aa6382e9ae59b54455257eb099d562bbe10453f2b6d13c59c02e10f1f8a\"\n
        \         \"bb5da0d0570932dacf2d0901db729d0fefcc054e70968ea540c81b04bcaefe72\"\n
        \         \"0e\"\n        },{\n          \"OAEP Example 2.2\",\n          \"2d\",\n
        \         \"b600cf3c2e506d7f16778c910d3a8b003eee61d5\",\n          \"018759ff1df63b2792410562314416a8aeaf2ac634b46f940ab82d64dbf165ee\"\n
        \         \"e33011da749d4bab6e2fcd18129c9e49277d8453112b429a222a8471b0709939\"\n
        \         \"98e758861c4d3f6d749d91c4290d332c7a4ab3f7ea35ff3a07d497c955ff0ffc\"\n
        \         \"95006b62c6d296810d9bfab024196c7934012c2df978ef299aba239940cba102\"\n
        \         \"45\"\n        },{\n          \"OAEP Example 2.3\",\n          \"74fc88c51bc90f77af9d5e9a4a70133d4b4e0b34da3c37c7ef8e\",\n
        \         \"a73768aeeaa91f9d8c1ed6f9d2b63467f07ccae3\",\n          \"018802bab04c60325e81c4962311f2be7c2adce93041a00719c88f957575f2c7\"\n
        \         \"9f1b7bc8ced115c706b311c08a2d986ca3b6a9336b147c29c6f229409ddec651\"\n
        \         \"bd1fdd5a0b7f610c9937fdb4a3a762364b8b3206b4ea485fd098d08f63d4aa8b\"\n
        \         \"b2697d027b750c32d7f74eaf5180d2e9b66b17cb2fa55523bc280da10d14be20\"\n
        \         \"53\"\n        },{\n          \"OAEP Example 2.4\",\n          \"a7eb2a5036931d27d4e891326d99692ffadda9bf7efd3e34e622c4adc085f721\"\n
        \         \"dfe885072c78a203b151739be540fa8c153a10f00a\",\n          \"9a7b3b0e708bd96f8190ecab4fb9b2b3805a8156\",\n
        \         \"00a4578cbc176318a638fba7d01df15746af44d4f6cd96d7e7c495cbf425b09c\"\n
        \         \"649d32bf886da48fbaf989a2117187cafb1fb580317690e3ccd446920b7af82b\"\n
        \         \"31db5804d87d01514acbfa9156e782f867f6bed9449e0e9a2c09bcecc6aa0876\"\n
        \         \"36965e34b3ec766f2fe2e43018a2fddeb140616a0e9d82e5331024ee0652fc76\"\n
        \         \"41\"\n        },{\n          \"OAEP Example 2.5\",\n          \"2ef2b066f854c33f3bdcbb5994a435e73d6c6c\",\n
        \         \"eb3cebbc4adc16bb48e88c8aec0e34af7f427fd3\",\n          \"00ebc5f5fda77cfdad3c83641a9025e77d72d8a6fb33a810f5950f8d74c73e8d\"\n
        \         \"931e8634d86ab1246256ae07b6005b71b7f2fb98351218331ce69b8ffbdc9da0\"\n
        \         \"8bbc9c704f876deb9df9fc2ec065cad87f9090b07acc17aa7f997b27aca48806\"\n
        \         \"e897f771d95141fe4526d8a5301b678627efab707fd40fbebd6e792a25613e7a\"\n
        \         \"ec\",\n        },{\n          \"OAEP Example 2.6\",\n          \"8a7fb344c8b6cb2cf2ef1f643f9a3218f6e19bba89c0\",\n
        \         \"4c45cf4d57c98e3d6d2095adc51c489eb50dff84\",\n          \"010839ec20c27b9052e55befb9b77e6fc26e9075d7a54378c646abdf51e445bd\"\n
        \         \"5715de81789f56f1803d9170764a9e93cb78798694023ee7393ce04bc5d8f8c5\"\n
        \         \"a52c171d43837e3aca62f609eb0aa5ffb0960ef04198dd754f57f7fbe6abf765\"\n
        \         \"cf118b4ca443b23b5aab266f952326ac4581100644325f8b721acd5d04ff14ef\"\n
        \         \"3a\"\n        }\n      }\n    },\n    {\n      \"Example 3: A
        1026-bit RSA key pair\",\n      \"02b58fec039a860700a4d7b6462f93e6cdd491161ddd74f4e810b40e3c165200\"\n
        \     \"6a5c277b2774c11305a4cbab5a78efa57e17a86df7a3fa36fc4b1d2249f22ec7\"\n
        \     \"c2dd6a463232accea906d66ebe80b5704b10729da6f833234abb5efdd4a292cb\"\n
        \     \"fad33b4d33fa7a14b8c397b56e3acd21203428b77cdfa33a6da706b3d8b0fc43\"\n
        \     \"e9\",\n      \"010001\",\n      \"15b48a5b5683a94670e23b5718f814fa0e13f85038f50711182cba61510581f3\"\n
        \     \"d22c7e232ef937e22e551d68b86e2f8cb1aad8be2e488f5df7efd279e3f568d4\"\n
        \     \"eaf36f80cf7141ace60fcc9113fb6c4a841fd50bbc7c512ffcbeff21487aa811\"\n
        \     \"eb3ca8c62005346a86de86bfa1d8a948fd3f348c22eaadf333c3ce6ce13208fd\",\n
        \     {\n        {\n          \"OAEP Example 3.1\",\n          \"087820b569e8fa8d\",\n
        \         \"8ced6b196290805790e909074015e6a20b0c4894\",\n          \"026a0485d96aebd96b4382085099b962e6a2bdec3d90c8db625e14372de85e2d\"\n
        \         \"5b7baab65c8faf91bb5504fb495afce5c988b3f6a52e20e1d6cbd3566c5cd1f2\"\n
        \         \"b8318bb542cc0ea25c4aab9932afa20760eaddec784396a07ea0ef24d4e6f4d3\"\n
        \         \"7e5052a7a31e146aa480a111bbe926401307e00f410033842b6d82fe5ce4dfae\"\n
        \         \"80\"\n        },{\n          \"OAEP Example 3.2\",\n          \"4653acaf171960b01f52a7be63a3ab21dc368ec43b50d82ec3781e04\",\n
        \         \"b4291d6567550848cc156967c809baab6ca507f0\",\n          \"024db89c7802989be0783847863084941bf209d761987e38f97cb5f6f1bc88da\"\n
        \         \"72a50b73ebaf11c879c4f95df37b850b8f65d7622e25b1b889e80fe80baca206\"\n
        \         \"9d6e0e1d829953fc459069de98ea9798b451e557e99abf8fe3d9ccf9096ebbf3\"\n
        \         \"e5255d3b4e1c6d2ecadf067a359eea86405acd47d5e165517ccafd47d6dbee4b\"\n
        \         \"f5\"\n        },{\n          \"OAEP Example 3.3\",\n          \"d94cd0e08fa404ed89\",\n
        \         \"ce8928f6059558254008badd9794fadcd2fd1f65\",\n          \"0239bce681032441528877d6d1c8bb28aa3bc97f1df584563618995797683844\"\n
        \         \"ca86664732f4bed7a0aab083aaabfb7238f582e30958c2024e44e57043b97950\"\n
        \         \"fd543da977c90cdde5337d618442f99e60d7783ab59ce6dd9d69c47ad1e962be\"\n
        \         \"c22d05895cff8d3f64ed5261d92b2678510393484990ba3f7f06818ae6ffce8a\"\n
        \         \"3a\"\n        },{\n          \"OAEP Example 3.4\",\n          \"6cc641b6b61e6f963974dad23a9013284ef1\",\n
        \         \"6e2979f52d6814a57d83b090054888f119a5b9a3\",\n          \"02994c62afd76f498ba1fd2cf642857fca81f4373cb08f1cbaee6f025c3b512b\"\n
        \         \"42c3e8779113476648039dbe0493f9246292fac28950600e7c0f32edf9c81b9d\"\n
        \         \"ec45c3bde0cc8d8847590169907b7dc5991ceb29bb0714d613d96df0f12ec5d8\"\n
        \         \"d3507c8ee7ae78dd83f216fa61de100363aca48a7e914ae9f42ddfbe943b09d9\"\n
        \         \"a0\"\n        },{\n          \"OAEP Example 3.5\",\n          \"df5151832b61f4f25891fb4172f328d2eddf8371ffcfdbe997939295f30eca69\"\n
        \         \"18017cfda1153bf7a6af87593223\",\n          \"2d760bfe38c59de34cdc8b8c78a38e66284a2d27\",\n
        \         \"0162042ff6969592a6167031811a239834ce638abf54fec8b99478122afe2ee6\"\n
        \         \"7f8c5b18b0339805bfdbc5a4e6720b37c59cfba942464c597ff532a119821545\"\n
        \         \"fd2e59b114e61daf71820529f5029cf524954327c34ec5e6f5ba7efcc4de943a\"\n
        \         \"b8ad4ed787b1454329f70db798a3a8f4d92f8274e2b2948ade627ce8ee33e43c\"\n
        \         \"60\",\n        },{\n          \"OAEP Example 3.6\",\n          \"3c3bad893c544a6d520ab022319188c8d504b7a788b850903b85972eaa18552e\"\n
        \         \"1134a7ad6098826254ff7ab672b3d8eb3158fac6d4cbaef1\",\n          \"f174779c5fd3cfe007badcb7a36c9b55bfcfbf0e\",\n
        \         \"00112051e75d064943bc4478075e43482fd59cee0679de6893eec3a943daa490\"\n
        \         \"b9691c93dfc0464b6623b9f3dbd3e70083264f034b374f74164e1a00763725e5\"\n
        \         \"74744ba0b9db83434f31df96f6e2a26f6d8eba348bd4686c2238ac07c37aac37\"\n
        \         \"85d1c7eea2f819fd91491798ed8e9cef5e43b781b0e0276e37c43ff9492d0057\"\n
        \         \"30\"\n        }\n      }\n    },\n    {\n      \"Example 4: A
        1027-bit RSA key pair\",\n      \"051240b6cc0004fa48d0134671c078c7c8dec3b3e2f25bc2564467339db38853\"\n
        \     \"d06b85eea5b2de353bff42ac2e46bc97fae6ac9618da9537a5c8f553c1e35762\"\n
        \     \"5991d6108dcd7885fb3a25413f53efcad948cb35cd9b9ae9c1c67626d113d57d\"\n
        \     \"de4c5bea76bb5bb7de96c00d07372e9685a6d75cf9d239fa148d70931b5f3fb0\"\n
        \     \"39\",\n      \"010001\",\n      \"0411ffca3b7ca5e9e9be7fe38a85105e353896db05c5796aecd2a725161eb365\"\n
        \     \"1c8629a9b862b904d7b0c7b37f8cb5a1c2b54001018a00a1eb2cafe4ee4e9492\"\n
        \     \"c348bc2bedab4b9ebbf064e8eff322b9009f8eec653905f40df88a3cdc49d456\"\n
        \     \"7f75627d41aca624129b46a0b7c698e5e65f2b7ba102c749a10135b6540d0401\",\n
        \     {\n        {\n          \"OAEP Example 4.1\",\n          \"4a86609534ee434a6cbca3f7e962e76d455e3264c19f605f6e5ff6137c65c56d\"\n
        \         \"7fb344cd52bc93374f3d166c9f0c6f9c506bad19330972d2\",\n          \"1cac19ce993def55f98203f6852896c95ccca1f3\",\n
        \         \"04cce19614845e094152a3fe18e54e3330c44e5efbc64ae16886cb1869014cc5\"\n
        \         \"781b1f8f9e045384d0112a135ca0d12e9c88a8e4063416deaae3844f60d6e96f\"\n
        \         \"e155145f4525b9a34431ca3766180f70e15a5e5d8e8b1a516ff870609f13f896\"\n
        \         \"935ced188279a58ed13d07114277d75c6568607e0ab092fd803a223e4a8ee0b1\"\n
        \         \"a8\"\n        },{\n          \"OAEP Example 4.2\",\n          \"b0adc4f3fe11da59ce992773d9059943c03046497ee9d9f9a06df1166db46d98\"\n
        \         \"f58d27ec074c02eee6cbe2449c8b9fc5080c5c3f4433092512ec46aa793743c8\",\n
        \         \"f545d5897585e3db71aa0cb8da76c51d032ae963\",\n          \"0097b698c6165645b303486fbf5a2a4479c0ee85889b541a6f0b858d6b6597b1\"\n
        \         \"3b854eb4f839af03399a80d79bda6578c841f90d645715b280d37143992dd186\"\n
        \         \"c80b949b775cae97370e4ec97443136c6da484e970ffdb1323a20847821d3b18\"\n
        \         \"381de13bb49aaea66530c4a4b8271f3eae172cd366e07e6636f1019d2a28aed1\"\n
        \         \"5e\"\n        },{\n          \"OAEP Example 4.3\",\n          \"bf6d42e701707b1d0206b0c8b45a1c72641ff12889219a82bdea965b5e79a96b\"\n
        \         \"0d0163ed9d578ec9ada20f2fbcf1ea3c4089d83419ba81b0c60f3606da99\",\n
        \         \"ad997feef730d6ea7be60d0dc52e72eacbfdd275\",\n          \"0301f935e9c47abcb48acbbe09895d9f5971af14839da4ff95417ee453d1fd77\"\n
        \         \"319072bb7297e1b55d7561cd9d1bb24c1a9a37c619864308242804879d86ebd0\"\n
        \         \"01dce5183975e1506989b70e5a83434154d5cbfd6a24787e60eb0c658d2ac193\"\n
        \         \"302d1192c6e622d4a12ad4b53923bca246df31c6395e37702c6a78ae081fb9d0\"\n
        \         \"65\"\n        },{\n          \"OAEP Example 4.4\",\n          \"fb2ef112f5e766eb94019297934794f7be2f6fc1c58e\",\n
        \         \"136454df5730f73c807a7e40d8c1a312ac5b9dd3\",\n          \"02d110ad30afb727beb691dd0cf17d0af1a1e7fa0cc040ec1a4ba26a42c59d0a\"\n
        \         \"796a2e22c8f357ccc98b6519aceb682e945e62cb734614a529407cd452bee3e4\"\n
        \         \"4fece8423cc19e55548b8b994b849c7ecde4933e76037e1d0ce44275b08710c6\"\n
        \         \"8e430130b929730ed77e09b015642c5593f04e4ffb9410798102a8e96ffdfe11\"\n
        \         \"e4\"\n        },{\n          \"OAEP Example 4.5\",\n          \"28ccd447bb9e85166dabb9e5b7d1adadc4b9d39f204e96d5e440ce9ad928bc1c\"\n
        \         \"2284\",\n          \"bca8057f824b2ea257f2861407eef63d33208681\",\n
        \         \"00dbb8a7439d90efd919a377c54fae8fe11ec58c3b858362e23ad1b8a4431079\"\n
        \         \"9066b99347aa525691d2adc58d9b06e34f288c170390c5f0e11c0aa3645959f1\"\n
        \         \"8ee79e8f2be8d7ac5c23d061f18dd74b8c5f2a58fcb5eb0c54f99f01a8324756\"\n
        \         \"8292536583340948d7a8c97c4acd1e98d1e29dc320e97a260532a8aa7a758a1e\"\n
        \         \"c2\"\n        },{\n          \"OAEP Example 4.6\",\n          \"f22242751ec6b1\",\n
        \         \"2e7e1e17f647b5ddd033e15472f90f6812f3ac4e\",\n          \"00a5ffa4768c8bbecaee2db77e8f2eec99595933545520835e5ba7db9493d3e1\"\n
        \         \"7cddefe6a5f567624471908db4e2d83a0fbee60608fc84049503b2234a07dc83\"\n
        \         \"b27b22847ad8920ff42f674ef79b76280b00233d2b51b8cb2703a9d42bfbc825\"\n
        \         \"0c96ec32c051e57f1b4ba528db89c37e4c54e27e6e64ac69635ae887d9541619\"\n
        \         \"a9\"\n        }\n      }\n    },\n    {\n      \"Example 5: A
        1028-bit RSA key pair\",\n      \"0aadf3f9c125e5d891f31ac448e993defe580f802b45f9d7f22ba5021e9c4757\"\n
        \     \"6b5a1e68031ba9db4e6dabe4d96a1d6f3d267268cff408005f118efcadb99888\"\n
        \     \"d1c234467166b2a2b849a05a889c060ac0da0c5fae8b55f309ba62e703742fa0\"\n
        \     \"326f2d10b011021489ff497770190d895fd39f52293c39efd73a698bdab9f10e\"\n
        \     \"d9\",\n      \"010001\",\n      \"0256eb4cba7067f2d2be540dcdff4582a36b7d31d1c9099bb214b79848466a26\"\n
        \     \"8f80f58a49ac04c0e3648934a0206c04537c19b236643a6082732144df75fa21\"\n
        \     \"7588f794682be89168276dc726c5c0cbdb84d31bbf26d0a43af495717f7d528a\"\n
        \     \"cfee341561f6ff3cae05c578f8470d9682f9c0d072f9f6068b56d5880f682be2\"\n
        \     \"c5\",\n      {\n        {\n          \"OAEP Example 5.1\",\n          \"af71a901e3a61d3132f0fc1fdb474f9ea6579257ffc24d164170145b3dbde8\",\n
        \         \"44c92e283f77b9499c603d963660c87d2f939461\",\n          \"036046a4a47d9ed3ba9a89139c105038eb7492b05a5d68bfd53accff4597f7a6\"\n
        \         \"8651b47b4a4627d927e485eed7b4566420e8b409879e5d606eae251d22a5df79\"\n
        \           \"9f7920bfc117b992572a53b1263146bcea03385cc5e853c9a101c8c3e1bda31a\"\n
        \         \"519807496c6cb5e5efb408823a352b8fa0661fb664efadd593deb99fff5ed000\"\n
        \         \"e5\"\n        },{\n          \"OAEP Example 5.2\",\n          \"a3b844a08239a8ac41605af17a6cfda4d350136585903a417a79268760519a4b\"\n
        \         \"4ac3303ec73f0f87cfb32399\",\n          \"cb28f5860659fceee49c3eeafce625a70803bd32\",\n
        \         \"03d6eb654edce615bc59f455265ed4e5a18223cbb9be4e4069b473804d5de96f\"\n
        \         \"54dcaaa603d049c5d94aa1470dfcd2254066b7c7b61ff1f6f6770e3215c51399\"\n
        \         \"fd4e34ec5082bc48f089840ad04354ae66dc0f1bd18e461a33cc1258b443a283\"\n
        \         \"7a6df26759aa2302334986f87380c9cc9d53be9f99605d2c9a97da7b0915a4a7\"\n
        \         \"ad\"\n        },{\n          \"OAEP Example 5.3\",\n          \"308b0ecbd2c76cb77fc6f70c5edd233fd2f20929d629f026953bb62a8f4a3a31\"\n
        \         \"4bde195de85b5f816da2aab074d26cb6acddf323ae3b9c678ac3cf12fbdde7\",\n
        \         \"2285f40d770482f9a9efa2c72cb3ac55716dc0ca\",\n          \"0770952181649f9f9f07ff626ff3a22c35c462443d905d456a9fd0bff43cac2c\"\n
        \         \"a7a9f554e9478b9acc3ac838b02040ffd3e1847de2e4253929f9dd9ee4044325\"\n
        \         \"a9b05cabb808b2ee840d34e15d105a3f1f7b27695a1a07a2d73fe08ecaaa3c9c\"\n
        \         \"9d4d5a89ff890d54727d7ae40c0ec1a8dd86165d8ee2c6368141016a48b55b69\"\n
        \         \"67\"\n        },{\n          \"OAEP Example 5.4\",\n          \"15c5b9ee1185\",\n
        \         \"49fa45d3a78dd10dfd577399d1eb00af7eed5513\",\n          \"0812b76768ebcb642d040258e5f4441a018521bd96687e6c5e899fcd6c17588f\"\n
        \         \"f59a82cc8ae03a4b45b31299af1788c329f7dcd285f8cf4ced82606b97612671\"\n
        \         \"a45bedca133442144d1617d114f802857f0f9d739751c57a3f9ee400912c61e2\"\n
        \         \"e6992be031a43dd48fa6ba14eef7c422b5edc4e7afa04fdd38f402d1c8bb719a\"\n
        \         \"bf\"\n        },{\n          \"OAEP Example 5.5\",\n          \"21026e6800c7fa728fcaaba0d196ae28d7a2ac4ffd8abce794f0985f60c8a673\"\n
        \         \"7277365d3fea11db8923a2029a\",\n          \"f0287413234cc5034724a094c4586b87aff133fc\",\n
        \         \"07b60e14ec954bfd29e60d0047e789f51d57186c63589903306793ced3f68241\"\n
        \         \"c743529aba6a6374f92e19e0163efa33697e196f7661dfaaa47aac6bde5e51de\"\n
        \         \"b507c72c589a2ca1693d96b1460381249b2cdb9eac44769f2489c5d3d2f99f0e\"\n
        \         \"e3c7ee5bf64a5ac79c42bd433f149be8cb59548361640595513c97af7bc25097\"\n
        \         \"23\"\n        },{\n          \"OAEP Example 5.6\",\n          \"541e37b68b6c8872b84c02\",\n
        \         \"d9fba45c96f21e6e26d29eb2cdcb6585be9cb341\",\n          \"08c36d4dda33423b2ed6830d85f6411ba1dcf470a1fae0ebefee7c089f256cef\"\n
        \         \"74cb96ea69c38f60f39abee44129bcb4c92de7f797623b20074e3d9c2899701e\"\n
        \         \"d9071e1efa0bdd84d4c3e5130302d8f0240baba4b84a71cc032f2235a5ff0fae\"\n
        \         \"277c3e8f9112bef44c9ae20d175fc9a4058bfc930ba31b02e2e4f444483710f2\"\n
        \         \"4a\"\n        }\n      }\n    },\n    {\n      \"Example 6: A
        1029-bit RSA key pair\",\n      \"12b17f6dad2ecd19ff46dc13f7860f09e0e0cfb677b38a52592305ceaf022c16\"\n
        \     \"6db90d04ac29e33f7dd12d9faf66e0816bb63ead267cc7d46c17c37be214bca2\"\n
        \     \"a22d723a64e44407436b6fc965729aefc2554f376cd5dcea68293780a62bf39d\"\n
        \     \"0029485a160bbb9e5dc0972d21a504f52e5ee028aa416332f510b2e9cff5f722\"\n
        \     \"af\",\n      \"010001\",\n      \"0295eca3560618369559cecd303aa9cfdafc1d9f06959df75ffef929aa896961\"\n
        \     \"bcd190dc6997eda7f5963e724d07b4dc11f3065e5ae97d96835112280b9084bb\"\n
        \     \"14f2a21ebd4e889d41b9c4132ec1956fcab8bb2fed0575884936522c5ff7d332\"\n
        \     \"61904824e7cadee4e0bb372d2457cf78e2bd1286228ff83f10731ce63c90cff3\"\n
        \     \"f9\",\n      {\n        {\n          \"OAEP Example 6.1\",\n          \"4046ca8baa3347ca27f49e0d81f9cc1d71be9ba517d4\",\n
        \         \"dd0f6cfe415e88e5a469a51fbba6dfd40adb4384\",\n          \"0630eebcd2856c24f798806e41f9e67345eda9ceda386acc9facaea1eeed06ac\"\n
        \         \"e583709718d9d169fadf414d5c76f92996833ef305b75b1e4b95f662a20faedc\"\n
        \         \"3bae0c4827a8bf8a88edbd57ec203a27a841f02e43a615bab1a8cac0701de34d\"\n
        \         \"ebdef62a088089b55ec36ea7522fd3ec8d06b6a073e6df833153bc0aefd93bd1\"\n
        \         \"a3\"\n        },{\n          \"OAEP Example 6.2\",\n          \"5cc72c60231df03b3d40f9b57931bc31109f972527f28b19e7480c7288cb3c92\"\n
        \         \"b22512214e4be6c914792ddabdf57faa8aa7\",\n          \"8d14bd946a1351148f5cae2ed9a0c653e85ebd85\",\n
        \         \"0ebc37376173a4fd2f89cc55c2ca62b26b11d51c3c7ce49e8845f74e7607317c\"\n
        \         \"436bc8d23b9667dfeb9d087234b47bc6837175ae5c0559f6b81d7d22416d3e50\"\n
        \         \"f4ac533d8f0812f2db9e791fe9c775ac8b6ad0f535ad9ceb23a4a02014c58ab3\"\n
        \         \"f8d3161499a260f39348e714ae2a1d3443208fd8b722ccfdfb393e98011f99e6\"\n
        \         \"3f\"\n        },{\n          \"OAEP Example 6.3\",\n          \"b20e651303092f4bccb43070c0f86d23049362ed96642fc5632c27db4a52e3d8\"\n
        \         \"31f2ab068b23b149879c002f6bf3feee97591112562c\",\n          \"6c075bc45520f165c0bf5ea4c5df191bc9ef0e44\",\n
        \         \"0a98bf1093619394436cf68d8f38e2f158fde8ea54f3435f239b8d06b8321844\"\n
        \         \"202476aeed96009492480ce3a8d705498c4c8c68f01501dc81db608f60087350\"\n
        \         \"c8c3b0bd2e9ef6a81458b7c801b89f2e4fe99d4900ba6a4b5e5a96d865dc676c\"\n
        \         \"7755928794130d6280a8160a190f2df3ea7cf9aa0271d88e9e6905ecf1c5152d\"\n
        \         \"65\"\n        },{\n          \"OAEP Example 6.4\",\n          \"684e3038c5c041f7\",\n
        \         \"3bbc3bd6637dfe12846901029bf5b0c07103439c\",\n          \"008e7a67cacfb5c4e24bec7dee149117f19598ce8c45808fef88c608ff9cd6e6\"\n
        \         \"95263b9a3c0ad4b8ba4c95238e96a8422b8535629c8d5382374479ad13fa3997\"\n
        \         \"4b242f9a759eeaf9c83ad5a8ca18940a0162ba755876df263f4bd50c6525c560\"\n
        \         \"90267c1f0e09ce0899a0cf359e88120abd9bf893445b3cae77d3607359ae9a52\"\n
        \         \"f8\"\n        },{\n          \"OAEP Example 6.5\",\n          \"32488cb262d041d6e4dd35f987bf3ca696db1f06ac29a44693\",\n
        \         \"b46b41893e8bef326f6759383a83071dae7fcabc\",\n          \"00003474416c7b68bdf961c385737944d7f1f40cb395343c693cc0b4fe63b31f\"\n
        \         \"edf1eaeeac9ccc0678b31dc32e0977489514c4f09085f6298a9653f01aea4045\"\n
        \         \"ff582ee887be26ae575b73eef7f3774921e375a3d19adda0ca31aa1849887c1f\"\n
        \         \"42cac9677f7a2f4e923f6e5a868b38c084ef187594dc9f7f048fea2e02955384\"\n
        \         \"ab\"\n        },{\n          \"OAEP Example 6.6\",\n          \"50ba14be8462720279c306ba\",\n
        \         \"0a2403312a41e3d52f060fbc13a67de5cf7609a7\",\n          \"0a026dda5fc8785f7bd9bf75327b63e85e2c0fdee5dadb65ebdcac9ae1de95c9\"\n
        \         \"2c672ab433aa7a8e69ce6a6d8897fac4ac4a54de841ae5e5bbce7687879d7963\"\n
        \         \"4cea7a30684065c714d52409b928256bbf53eabcd5231eb7259504537399bd29\"\n
        \         \"164b726d33a46da701360a4168a091ccab72d44a62fed246c0ffea5b1348ab54\"\n
        \         \"70\"\n        }\n      }\n    },\n    {\n      \"Example 7: A
        1030-bit RSA key pair\",\n      \"311179f0bcfc9b9d3ca315d00ef30d7bdd3a2cfae9911bfedcb948b3a4782d07\"\n
        \     \"32b6ab44aa4bf03741a644dc01bec3e69b01a033e675d8acd7c4925c6b1aec31\"\n
        \     \"19051dfd89762d215d45475ffcb59f908148623f37177156f6ae86dd7a7c5f43\"\n
        \     \"dc1e1f908254058a284a5f06c0021793a87f1ac5feff7dcaee69c5e51a3789e3\"\n
        \     \"73\",\n      \"010001\",\n      \"070cfcff2feb8276e27432c45dfee48f49b7917d6530e1f0ca3460f32e027617\"\n
        \     \"4487c56e22a45d2500d7775495219d7d165a9cf3bd92c32af9a98d8dc9cc2968\"\n
        \     \"00adc94a0a54fb40f34291bf84ee8ea12b6f109359c6d3542a50f9c767f5cfff\"\n
        \     \"05a681c2e656fb77caaadb4be9468d8abcd4df98f58e86d2053fa1349f748e21\"\n
        \     \"b1\",\n      {\n        {\n          \"OAEP Example 7.1\",\n          \"47aae909\",\n
        \         \"43dd09a07ff4cac71caa4632ee5e1c1daee4cd8f\",\n          \"1688e4ce7794bba6cb7014169ecd559cede2a30b56a52b68d9fe18cf1973ef97\"\n
        \         \"b2a03153951c755f6294aa49adbdb55845ab6875fb3986c93ecf927962840d28\"\n
        \         \"2f9e54ce8b690f7c0cb8bbd73440d9571d1b16cd9260f9eab4783cc482e5223d\"\n
        \         \"c60973871783ec27b0ae0fd47732cbc286a173fc92b00fb4ba6824647cd93c85\"\n
        \         \"c1\"\n        },{\n          \"OAEP Example 7.2\",\n          \"1d9b2e2223d9bc13bfb9f162ce735db48ba7c68f6822a0a1a7b6ae165834e7\",\n
        \         \"3a9c3cec7b84f9bd3adecbc673ec99d54b22bc9b\",\n          \"1052ed397b2e01e1d0ee1c50bf24363f95e504f4a03434a08fd822574ed6b973\"\n
        \         \"6edbb5f390db10321479a8a139350e2bd4977c3778ef331f3e78ae118b268451\"\n
        \         \"f20a2f01d471f5d53c566937171b2dbc2d4bde459a5799f0372d6574239b2323\"\n
        \         \"d245d0bb81c286b63c89a361017337e4902f88a467f4c7f244bfd5ab46437ff3\"\n
        \         \"b6\"\n        },{\n          \"OAEP Example 7.3\",\n          \"d976fc\",\n
        \         \"76a75e5b6157a556cf8884bb2e45c293dd545cf5\",\n          \"2155cd843ff24a4ee8badb7694260028a490813ba8b369a4cbf106ec148e5298\"\n
        \         \"707f5965be7d101c1049ea8584c24cd63455ad9c104d686282d3fb803a4c11c1\"\n
        \         \"c2e9b91c7178801d1b6640f003f5728df007b8a4ccc92bce05e41a27278d7c85\"\n
        \         \"018c52414313a5077789001d4f01910b72aad05d220aa14a58733a7489bc5455\"\n
        \         \"6b\"\n        },{\n          \"OAEP Example 7.4\",\n          \"d4738623df223aa43843df8467534c41d013e0c803c624e263666b239bde40a5\"\n
        \         \"f29aeb8de79e3daa61dd0370f49bd4b013834b98212aef6b1c5ee373b3cb\",\n
        \         \"7866314a6ad6f2b250a35941db28f5864b585859\",\n          \"0ab14c373aeb7d4328d0aaad8c094d88b9eb098b95f21054a29082522be7c27a\"\n
        \         \"312878b637917e3d819e6c3c568db5d843802b06d51d9e98a2be0bf40c031423\"\n
        \         \"b00edfbff8320efb9171bd2044653a4cb9c5122f6c65e83cda2ec3c126027a9c\"\n
        \         \"1a56ba874d0fea23f380b82cf240b8cf540004758c4c77d934157a74f3fc12bf\"\n
        \         \"ac\"\n        },{\n          \"OAEP Example 7.5\",\n          \"bb47231ca5ea1d3ad46c99345d9a8a61\",\n
        \         \"b2166ed472d58db10cab2c6b000cccf10a7dc509\",\n          \"028387a318277434798b4d97f460068df5298faba5041ba11761a1cb7316b241\"\n
        \         \"84114ec500257e2589ed3b607a1ebbe97a6cc2e02bf1b681f42312a33b7a77d8\"\n
        \         \"e7855c4a6de03e3c04643f786b91a264a0d6805e2cea91e68177eb7a64d9255e\"\n
        \         \"4f27e713b7ccec00dc200ebd21c2ea2bb890feae4942df941dc3f97890ed3474\"\n
        \         \"78\"\n        },{\n          \"OAEP Example 7.6\",\n          \"2184827095d35c3f86f600e8e59754013296\",\n
        \         \"52673bde2ca166c2aa46131ac1dc808d67d7d3b1\",\n          \"14c678a94ad60525ef39e959b2f3ba5c097a94ff912b67dbace80535c187abd4\"\n
        \         \"7d075420b1872152bba08f7fc31f313bbf9273c912fc4c0149a9b0cfb79807e3\"\n
        \         \"46eb332069611bec0ff9bcd168f1f7c33e77313cea454b94e2549eecf002e2ac\"\n
        \         \"f7f6f2d2845d4fe0aab2e5a92ddf68c480ae11247935d1f62574842216ae6741\"\n
        \         \"15\"\n        }\n      }\n    },\n    {\n      \"Example 8: A
        1031-bit RSA key pair\",\n      \"5bdf0e30d321dda5147f882408fa69195480df8f80d3f6e8bf5818504f36427c\"\n
        \     \"a9b1f5540b9c65a8f6974cf8447a244d9280201bb49fcbbe6378d1944cd227e2\"\n
        \     \"30f96e3d10f819dcef276c64a00b2a4b6701e7d01de5fabde3b1e9a0df82f463\"\n
        \     \"1359cd22669647fbb1717246134ed7b497cfffbdc42b59c73a96ed90166212df\"\n
        \     \"f7\",\n      \"010001\",\n      \"0f7d1e9e5aaa25fd13e4a0663ae144e0d15f5cd18bcdb09df2cc7e64e3c5e915\"\n
        \     \"ad62645304161d098c715bb7ab8bd01d07eaf3fed7c7ed08af2a8a62ef44ab16\"\n
        \     \"b320e14af72a48f96afe262a0ae4cf65e635e910790cd4ee5cea768a4b2639f7\"\n
        \     \"e6f677b3f0bb6be32b75747d8909036f0264f58d401cdba131716157a75ecf63\"\n
        \     \"31\",\n      {\n        {\n          \"OAEP Example 8.1\",\n          \"050b755e5e6880f7b9e9d692a74c37aae449b31bfea6deff83747a897f6c2c82\"\n
        \         \"5bb1adbf850a3c96994b5de5b33cbc7d4a17913a7967\",\n          \"7706ffca1ecfb1ebee2a55e5c6e24cd2797a4125\",\n
        \         \"09b3683d8a2eb0fb295b62ed1fb9290b714457b7825319f4647872af889b3040\"\n
        \         \"9472020ad12912bf19b11d4819f49614824ffd84d09c0a17e7d17309d1291979\"\n
        \         \"0410aa2995699f6a86dbe3242b5acc23af45691080d6b1ae810fb3e3057087f0\"\n
        \         \"970092ce00be9562ff4053b6262ce0caa93e13723d2e3a5ba075d45f0d61b54b\"\n
        \         \"61\"\n        },{\n          \"OAEP Example 8.2\",\n          \"4eb68dcd93ca9b19df111bd43608f557026fe4aa1d5cfac227a3eb5ab9548c18\"\n
        \         \"a06dded23f81825986b2fcd71109ecef7eff88873f075c2aa0c469f69c92bc\",\n
        \         \"a3717da143b4dcffbc742665a8fa950585548343\",\n          \"2ecf15c97c5a15b1476ae986b371b57a24284f4a162a8d0c8182e7905e792256\"\n
        \         \"f1812ba5f83f1f7a130e42dcc02232844edc14a31a68ee97ae564a383a341165\"\n
        \         \"6424c5f62ddb646093c367be1fcda426cf00a06d8acb7e57776fbbd855ac3df5\"\n
        \         \"06fc16b1d7c3f2110f3d8068e91e186363831c8409680d8da9ecd8cf1fa20ee3\"\n
        \         \"9d\"\n        },{\n          \"OAEP Example 8.3\",\n          \"8604ac56328c1ab5ad917861\",\n
        \         \"ee06209073cca026bb264e5185bf8c68b7739f86\",\n          \"4bc89130a5b2dabb7c2fcf90eb5d0eaf9e681b7146a38f3173a3d9cfec52ea9e\"\n
        \         \"0a41932e648a9d69344c50da763f51a03c95762131e8052254dcd2248cba40fd\"\n
        \         \"31667786ce05a2b7b531ac9dac9ed584a59b677c1a8aed8c5d15d68c05569e2b\"\n
        \         \"e780bf7db638fd2bfd2a85ab276860f3777338fca989ffd743d13ee08e0ca989\"\n
        \         \"3f\"\n        },{\n          \"OAEP Example 8.4\",\n          \"fdda5fbf6ec361a9d9a4ac68af216a0686f438b1e0e5c36b955f74e107f39c0d\"\n
        \         \"ddcc\",\n          \"990ad573dc48a973235b6d82543618f2e955105d\",\n
        \         \"2e456847d8fc36ff0147d6993594b9397227d577752c79d0f904fcb039d4d812\"\n
        \         \"fea605a7b574dd82ca786f93752348438ee9f5b5454985d5f0e1699e3e7ad175\"\n
        \         \"a32e15f03deb042ab9fe1dd9db1bb86f8c089ccb45e7ef0c5ee7ca9b7290ca6b\"\n
        \         \"15bed47039788a8a93ff83e0e8d6244c71006362deef69b6f416fb3c684383fb\"\n
        \         \"d0\"\n        },{\n          \"OAEP Example 8.5\",\n          \"4a5f4914bee25de3c69341de07\",\n
        \         \"ecc63b28f0756f22f52ac8e6ec1251a6ec304718\",\n          \"1fb9356fd5c4b1796db2ebf7d0d393cc810adf6145defc2fce714f79d93800d5\"\n
        \         \"e2ac211ea8bbecca4b654b94c3b18b30dd576ce34dc95436ef57a09415645923\"\n
        \         \"359a5d7b4171ef22c24670f1b229d3603e91f76671b7df97e7317c97734476d5\"\n
        \         \"f3d17d21cf82b5ba9f83df2e588d36984fd1b584468bd23b2e875f32f68953f7\"\n
        \         \"b2\"\n        },{\n          \"OAEP Example 8.6\",\n          \"8e07d66f7b880a72563abcd3f35092bc33409fb7f88f2472be\",\n
        \         \"3925c71b362d40a0a6de42145579ba1e7dd459fc\",\n          \"3afd9c6600147b21798d818c655a0f4c9212db26d0b0dfdc2a7594ccb3d22f5b\"\n
        \         \"f1d7c3e112cd73fc7d509c7a8bafdd3c274d1399009f9609ec4be6477e453f07\"\n
        \         \"5aa33db382870c1c3409aef392d7386ae3a696b99a94b4da0589447e955d16c9\"\n
        \         \"8b17602a59bd736279fcd8fb280c4462d590bfa9bf13fed570eafde97330a2c2\"\n
        \         \"10\"\n        }\n      }\n    },\n    {\n      \"Example 9: A
        1536-bit RSA key pair\",\n      \"cf2cd41e34ca3a728ea5cb8aff64c36d27bdef5364e336fd68d3123c5a196a8c\"\n
        \     \"287013e853d5156d58d151954520fb4f6d7b17abb6817765909c576119659d90\"\n
        \     \"2b1906ed8a2b10c155c24d124528dab9eeae379beac66e4a411786dcb8fd0062\"\n
        \     \"ebc030de1219a04c2a8c1b7dd3131e4d6b6caee2e31a5ed41ac1509b2ef1ee2a\"\n
        \     \"b18364be568ca941c25ecc84ff9d643b5ec1aaae102a20d73f479b780fd6da91\"\n
        \     \"075212d9eac03a0674d899eba2e431f4c44b615b6ba2232bd4b33baed73d625d\",\n
        \     \"010001\",\n      \"198c141e23715a92bccf6a119a5bc11389468d2811f548d727e17b4ab0eb986d\"\n
        \     \"6f211efb53b71f7ccbea87ee69c75ee615008c5332deb52bf390abdfbfe37d72\"\n
        \     \"05368159b2638c1de326e21d22251f0fb5848b3bf15005d2a74330f0afe916ee\"\n
        \     \"62ccc1344d1d83a709e60676273840f7f377424a5e0a4da75f01b31ff76819cf\"\n
        \     \"9cbfdd215243c3917c03ef38199312e567b3bf7aed3ab457f371ef8a1423f45b\"\n
        \     \"68c6e282ec111bba2833b987fd69fad83bc1b8c613c5e1ea16c11ed125ea7ec1\",\n
        \     {\n        {\n          \"OAEP Example 9.1\",\n          \"f735fd55ba92592c3b52b8f9c4f69aaa1cbef8fe88add095595412467f9cf4ec\"\n
        \         \"0b896c59eda16210e7549c8abb10cdbc21a12ec9b6b5b8fd2f10399eb6\",\n
        \         \"8ec965f134a3ec9931e92a1ca0dc8169d5ea705c\",\n          \"267bcd118acab1fc8ba81c85d73003cb8610fa55c1d97da8d48a7c7f06896a4d\"\n
        \         \"b751aa284255b9d36ad65f37653d829f1b37f97b8001942545b2fc2c55a7376c\"\n
        \         \"a7a1be4b1760c8e05a33e5aa2526b8d98e317088e7834c755b2a59b12631a182\"\n
        \         \"c05d5d43ab1779264f8456f515ce57dfdf512d5493dab7b7338dc4b7d78db9c0\"\n
        \         \"91ac3baf537a69fc7f549d979f0eff9a94fda4169bd4d1d19a69c99e33c3b554\"\n
        \         \"90d501b39b1edae118ff6793a153261584d3a5f39f6e682e3d17c8cd1261fa72\"\n
        \       },{\n          \"OAEP Example 9.2\",\n          \"81b906605015a63aabe42ddf11e1978912f5404c7474b26dce3ed482bf961ecc\"\n
        \         \"818bf420c54659\",\n          \"ecb1b8b25fa50cdab08e56042867f4af5826d16c\",\n
        \         \"93ac9f0671ec29acbb444effc1a5741351d60fdb0e393fbf754acf0de49761a1\"\n
        \         \"4841df7772e9bc82773966a1584c4d72baea00118f83f35cca6e537cbd4d811f\"\n
        \         \"5583b29783d8a6d94cd31be70d6f526c10ff09c6fa7ce069795a3fcd0511fd5f\"\n
        \         \"cb564bcc80ea9c78f38b80012539d8a4ddf6fe81e9cddb7f50dbbbbcc7e5d860\"\n
        \         \"97ccf4ec49189fb8bf318be6d5a0715d516b49af191258cd32dc833ce6eb4673\"\n
        \         \"c03a19bbace88cc54895f636cc0c1ec89096d11ce235a265ca1764232a689ae8\"\n
        \       },{\n          \"OAEP Example 9.3\",\n          \"fd326429df9b890e09b54b18b8f34f1e24\",\n
        \         \"e89bb032c6ce622cbdb53bc9466014ea77f777c0\",\n          \"81ebdd95054b0c822ef9ad7693f5a87adfb4b4c4ce70df2df84ed49c04da58ba\"\n
        \         \"5fc20a19e1a6e8b7a3900b22796dc4e869ee6b42792d15a8eceb56c09c69914e\"\n
        \         \"813cea8f6931e4b8ed6f421af298d595c97f4789c7caa612c7ef360984c21b93\"\n
        \         \"edc5401068b5af4c78a8771b984d53b8ea8adf2f6a7d4a0ba76c75e1dd9f658f\"\n
        \         \"20ded4a46071d46d7791b56803d8fea7f0b0f8e41ae3f09383a6f9585fe7753e\"\n
        \         \"aaffd2bf94563108beecc207bbb535f5fcc705f0dde9f708c62f49a9c90371d3\"\n
        \       },{\n          \"OAEP Example 9.4\",\n          \"f1459b5f0c92f01a0f723a2e5662484d8f8c0a20fc29dad6acd43bb5f3effdf4\"\n
        \         \"e1b63e07fdfe6628d0d74ca19bf2d69e4a0abf86d293925a796772f8088e\",\n
        \         \"606f3b99c0b9ccd771eaa29ea0e4c884f3189ccc\",\n          \"bcc35f94cde66cb1136625d625b94432a35b22f3d2fa11a613ff0fca5bd57f87\"\n
        \         \"b902ccdc1cd0aebcb0715ee869d1d1fe395f6793003f5eca465059c88660d446\"\n
        \         \"ff5f0818552022557e38c08a67ead991262254f10682975ec56397768537f497\"\n
        \         \"7af6d5f6aaceb7fb25dec5937230231fd8978af49119a29f29e424ab8272b475\"\n
        \         \"62792d5c94f774b8829d0b0d9f1a8c9eddf37574d5fa248eefa9c5271fc5ec25\"\n
        \         \"79c81bdd61b410fa61fe36e424221c113addb275664c801d34ca8c6351e4a858\"\n
        \       },{\n          \"OAEP Example 9.5\",\n          \"53e6e8c729d6f9c319dd317e74b0db8e4ccca25f3c8305746e137ac63a63ef37\"\n
        \         \"39e7b595abb96e8d55e54f7bd41ab433378ffb911d\",\n          \"fcbc421402e9ecabc6082afa40ba5f26522c840e\",\n
        \         \"232afbc927fa08c2f6a27b87d4a5cb09c07dc26fae73d73a90558839f4fd66d2\"\n
        \         \"81b87ec734bce237ba166698ed829106a7de6942cd6cdce78fed8d2e4d81428e\"\n
        \         \"66490d036264cef92af941d3e35055fe3981e14d29cbb9a4f67473063baec79a\"\n
        \         \"1179f5a17c9c1832f2838fd7d5e59bb9659d56dce8a019edef1bb3accc697cc6\"\n
        \         \"cc7a778f60a064c7f6f5d529c6210262e003de583e81e3167b89971fb8c0e15d\"\n
        \         \"44fffef89b53d8d64dd797d159b56d2b08ea5307ea12c241bd58d4ee278a1f2e\"\n
        \       },{\n          \"OAEP Example 9.6\",\n          \"b6b28ea2198d0c1008bc64\",\n
        \         \"23aade0e1e08bb9b9a78d2302a52f9c21b2e1ba2\",\n          \"438cc7dc08a68da249e42505f8573ba60e2c2773d5b290f4cf9dff718e842081\"\n
        \         \"c383e67024a0f29594ea987b9d25e4b738f285970d195abb3a8c8054e3d79d6b\"\n
        \         \"9c9a8327ba596f1259e27126674766907d8d582ff3a8476154929adb1e6d1235\"\n
        \         \"b2ccb4ec8f663ba9cc670a92bebd853c8dbf69c6436d016f61add836e9473245\"\n
        \         \"0434207f9fd4c43dec2a12a958efa01efe2669899b5e604c255c55fb7166de55\"\n
        \         \"89e369597bb09168c06dd5db177e06a1740eb2d5c82faeca6d92fcee9931ba9f\"\n
        \       }\n      }\n    },\n    {\n      \"Example 10: A 2048-bit RSA key
        pair\",\n      \"ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8\"\n
        \     \"df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5\"\n
        \     \"404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2f\"\n
        \     \"a1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a0\"\n
        \     \"3381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600\"\n
        \     \"c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aef\"\n
        \     \"a2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88\"\n
        \     \"d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb\",\n
        \     \"010001\",\n      \"056b04216fe5f354ac77250a4b6b0c8525a85c59b0bd80c56450a22d5f438e59\"\n
        \     \"6a333aa875e291dd43f48cb88b9d5fc0d499f9fcd1c397f9afc070cd9e398c8d\"\n
        \     \"19e61db7c7410a6b2675dfbf5d345b804d201add502d5ce2dfcb091ce9997bbe\"\n
        \     \"be57306f383e4d588103f036f7e85d1934d152a323e4a8db451d6f4a5b1b0f10\"\n
        \     \"2cc150e02feee2b88dea4ad4c1baccb24d84072d14e1d24a6771f7408ee30564\"\n
        \     \"fb86d4393a34bcf0b788501d193303f13a2284b001f0f649eaf79328d4ac5c43\"\n
        \     \"0ab4414920a9460ed1b7bc40ec653e876d09abc509ae45b525190116a0c26101\"\n
        \     \"848298509c1c3bf3a483e7274054e15e97075036e989f60932807b5257751e79\",\n
        \     {\n        {\n          \"OAEP Example 10.1\",\n          \"8bba6bf82a6c0f86d5f1756e97956870b08953b06b4eb205bc1694ee\",\n
        \         \"47e1ab7119fee56c95ee5eaad86f40d0aa63bd33\",\n          \"53ea5dc08cd260fb3b858567287fa91552c30b2febfba213f0ae87702d068d19\"\n
        \         \"bab07fe574523dfb42139d68c3c5afeee0bfe4cb7969cbf382b804d6e6139614\"\n
        \         \"4e2d0e60741f8993c3014b58b9b1957a8babcd23af854f4c356fb1662aa72bfc\"\n
        \         \"c7e586559dc4280d160c126785a723ebeebeff71f11594440aaef87d10793a87\"\n
        \         \"74a239d4a04c87fe1467b9daf85208ec6c7255794a96cc29142f9a8bd418e3c1\"\n
        \         \"fd67344b0cd0829df3b2bec60253196293c6b34d3f75d32f213dd45c6273d505\"\n
        \         \"adf4cced1057cb758fc26aeefa441255ed4e64c199ee075e7f16646182fdb464\"\n
        \         \"739b68ab5daff0e63e9552016824f054bf4d3c8c90a97bb6b6553284eb429fcc\"\n
        \       },{\n          \"OAEP Example 10.2\",\n          \"e6ad181f053b58a904f2457510373e57\",\n
        \         \"6d17f5b4c1ffac351d195bf7b09d09f09a4079cf\",\n          \"a2b1a430a9d657e2fa1c2bb5ed43ffb25c05a308fe9093c01031795f58744001\"\n
        \         \"10828ae58fb9b581ce9dddd3e549ae04a0985459bde6c626594e7b05dc4278b2\"\n
        \         \"a1465c1368408823c85e96dc66c3a30983c639664fc4569a37fe21e5a195b577\"\n
        \         \"6eed2df8d8d361af686e750229bbd663f161868a50615e0c337bec0ca35fec0b\"\n
        \         \"b19c36eb2e0bbcc0582fa1d93aacdb061063f59f2ce1ee43605e5d89eca183d2\"\n
        \         \"acdfe9f81011022ad3b43a3dd417dac94b4e11ea81b192966e966b182082e719\"\n
        \         \"64607b4f8002f36299844a11f2ae0faeac2eae70f8f4f98088acdcd0ac556e9f\"\n
        \         \"ccc511521908fad26f04c64201450305778758b0538bf8b5bb144a828e629795\"\n
        \       },{\n          \"OAEP Example 10.3\",\n          \"510a2cf60e866fa2340553c94ea39fbc256311e83e94454b4124\",\n
        \         \"385387514deccc7c740dd8cdf9daee49a1cbfd54\",\n          \"9886c3e6764a8b9a84e84148ebd8c3b1aa8050381a78f668714c16d9cfd2a6ed\"\n
        \         \"c56979c535d9dee3b44b85c18be8928992371711472216d95dda98d2ee8347c9\"\n
        \         \"b14dffdff84aa48d25ac06f7d7e65398ac967b1ce90925f67dce049b7f812db0\"\n
        \         \"742997a74d44fe81dbe0e7a3feaf2e5c40af888d550ddbbe3bc20657a29543f8\"\n
        \         \"fc2913b9bd1a61b2ab2256ec409bbd7dc0d17717ea25c43f42ed27df8738bf4a\"\n
        \         \"fc6766ff7aff0859555ee283920f4c8a63c4a7340cbafddc339ecdb4b0515002\"\n
        \         \"f96c932b5b79167af699c0ad3fccfdf0f44e85a70262bf2e18fe34b850589975\"\n
        \         \"e867ff969d48eabf212271546cdc05a69ecb526e52870c836f307bd798780ede\"\n
        \       },{\n          \"OAEP Example 10.4\",\n          \"bcdd190da3b7d300df9a06e22caae2a75f10c91ff667b7c16bde8b53064a2649\"\n
        \         \"a94045c9\",\n          \"5caca6a0f764161a9684f85d92b6e0ef37ca8b65\",\n
        \         \"6318e9fb5c0d05e5307e1683436e903293ac4642358aaa223d7163013aba87e2\"\n
        \         \"dfda8e60c6860e29a1e92686163ea0b9175f329ca3b131a1edd3a77759a8b97b\"\n
        \         \"ad6a4f8f4396f28cf6f39ca58112e48160d6e203daa5856f3aca5ffed577af49\"\n
        \         \"9408e3dfd233e3e604dbe34a9c4c9082de65527cac6331d29dc80e0508a0fa71\"\n
        \         \"22e7f329f6cca5cfa34d4d1da417805457e008bec549e478ff9e12a763c477d1\"\n
        \         \"5bbb78f5b69bd57830fc2c4ed686d79bc72a95d85f88134c6b0afe56a8ccfbc8\"\n
        \         \"55828bb339bd17909cf1d70de3335ae07039093e606d655365de6550b872cd6d\"\n
        \         \"e1d440ee031b61945f629ad8a353b0d40939e96a3c450d2a8d5eee9f678093c8\"\n
        \       },{\n          \"OAEP Example 10.5\",\n          \"a7dd6c7dc24b46f9dd5f1e91ada4c3b3df947e877232a9\",\n
        \         \"95bca9e3859894b3dd869fa7ecd5bbc6401bf3e4\",\n          \"75290872ccfd4a4505660d651f56da6daa09ca1301d890632f6a992f3d565cee\"\n
        \         \"464afded40ed3b5be9356714ea5aa7655f4a1366c2f17c728f6f2c5a5d1f8e28\"\n
        \         \"429bc4e6f8f2cff8da8dc0e0a9808e45fd09ea2fa40cb2b6ce6ffff5c0e159d1\"\n
        \         \"1b68d90a85f7b84e103b09e682666480c657505c0929259468a314786d74eab1\"\n
        \         \"31573cf234bf57db7d9e66cc6748192e002dc0deea930585f0831fdcd9bc33d5\"\n
        \         \"1f79ed2ffc16bcf4d59812fcebcaa3f9069b0e445686d644c25ccf63b456ee5f\"\n
        \         \"a6ffe96f19cdf751fed9eaf35957754dbf4bfea5216aa1844dc507cb2d080e72\"\n
        \         \"2eba150308c2b5ff1193620f1766ecf4481bafb943bd292877f2136ca494aba0\"\n
        \       },{\n          \"OAEP Example 10.6\",\n          \"eaf1a73a1b0c4609537de69cd9228bbcfb9a8ca8c6c3efaf056fe4a7f4634ed0\"\n
        \         \"0b7c39ec6922d7b8ea2c04ebac\",\n          \"9f47ddf42e97eea856a9bdbc714eb3ac22f6eb32\",\n
        \         \"2d207a73432a8fb4c03051b3f73b28a61764098dfa34c47a20995f8115aa6816\"\n
        \         \"679b557e82dbee584908c6e69782d7deb34dbd65af063d57fca76a5fd069492f\"\n
        \         \"d6068d9984d209350565a62e5c77f23038c12cb10c6634709b547c46f6b4a709\"\n
        \         \"bd85ca122d74465ef97762c29763e06dbc7a9e738c78bfca0102dc5e79d65b97\"\n
        \         \"3f28240caab2e161a78b57d262457ed8195d53e3c7ae9da021883c6db7c24afd\"\n
        \         \"d2322eac972ad3c354c5fcef1e146c3a0290fb67adf007066e00428d2cec18ce\"\n
        \         \"58f9328698defef4b2eb5ec76918fde1c198cbb38b7afc67626a9aefec4322bf\"\n
        \         \"d90d2563481c9a221f78c8272c82d1b62ab914e1c69f6af6ef30ca5260db4a46\"\n
        \       }\n      }\n    }\n  }"
      pos:
        line_end: 25
        line_start: 16
        source_file: /src/libgcrypt/tests/pkcs1v2-oaep.h
    typedefs: []
    union: []
- function_names:
  - check_primes
  - print_mpi
  - create_42prime
  - main
  source_file: /src/libgcrypt/tests/prime.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libgcrypt/tests/prime.c
      type_or_value: '"prime"'
    structs:
    - fields:
      - name: prime_bits
        type: unsigned int
      - name: factor_bits
        type: unsigned int
      - name: flags
        type: unsigned int
      item_type: struct
      name: prime_spec
      pos:
        line_end: 42
        line_start: 37
        source_file: /src/libgcrypt/tests/prime.c
    typedefs: []
    union: []
- function_names:
  - init_gcrypt
  - main
  source_file: /src/libgcrypt/tests/gchash.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/tests/gchash.c
      type_or_value: '"gchash"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_const_and_immutable
  - test_opaque
  - test_maxsize
  - test_cmp
  - test_add
  - test_sub
  - test_mul
  - test_powm
  - test_addm_subm_mulm
  - test_invm_cmpui
  - test_invm
  - main
  source_file: /src/libgcrypt/tests/mpitests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/tests/mpitests.c
      type_or_value: '"mpitests"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_mpi
  - show_note
  - hex2buffer
  - reverse_buffer
  - test_cv_hl
  - test_cv_hl25
  - test_cv_x25519
  - test_cv
  - test_it
  - test_dh
  - check_cv25519
  - main
  source_file: /src/libgcrypt/tests/t-cv25519.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/tests/t-cv25519.c
      type_or_value: '"t-cv25519"'
    - item_type: preproc_def
      name: N_TESTS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/tests/t-cv25519.c
      type_or_value: '18'
    - item_type: preproc_def
      name: G_X
      pos:
        line_end: 566
        line_start: 565
        source_file: /src/libgcrypt/tests/t-cv25519.c
      type_or_value: '"0900000000000000000000000000000000000000000000000000000000000000"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mismatch
  - hex2buffer
  - show_sexp
  - show_note
  - show_md_not_available
  - show_old_hmac_not_available
  - show_mac_not_available
  - show_pk_not_available
  - progress_handler
  - prepare_vector_data
  - clutter_vector_registers
  - check_cbc_mac_cipher
  - check_aes128_cbc_cts_cipher
  - check_ecb_cipher
  - check_ctr_cipher
  - check_cfb_cipher
  - check_ofb_cipher
  - _check_gcm_cipher
  - check_gcm_cipher
  - _check_eax_cipher
  - check_eax_cipher
  - check_siv_cipher
  - check_gcm_siv_cipher
  - _check_poly1305_cipher
  - check_poly1305_cipher
  - check_ccm_cipher
  - do_check_ocb_cipher
  - check_ocb_cipher_largebuf_split
  - check_ocb_cipher_checksum
  - check_ocb_cipher_largebuf
  - ocb_aad_tag
  - check_ocb_cipher_aad_tablewrap
  - check_ocb_cipher_splitaad
  - check_ocb_cipher
  - do_check_xts_cipher
  - check_xts_cipher
  - check_gost28147_cipher_basic
  - check_gost28147_cipher
  - check_stream_cipher
  - check_stream_cipher_large_block
  - check_bulk_cipher_modes
  - get_algo_mode_blklen
  - get_algo_mode_taglen
  - check_one_cipher_core_reset
  - check_one_cipher_core
  - check_one_cipher_ctr_reset
  - check_one_cipher_ctr_overflow
  - check_one_cipher
  - buf_xor
  - cipher_cbc_bulk_test
  - buf_xor_2dst
  - cipher_cfb_bulk_test
  - cipher_ctr_bulk_test
  - cipher_ctr16_overflow_test
  - check_ciphers
  - check_ctr16_overflow
  - check_cipher_modes
  - fillbuf_count
  - check_one_md
  - check_one_md_multi
  - check_one_md_final
  - check_digests
  - check_one_hmac
  - check_hmac
  - check_one_mac
  - check_mac_gost_imit_verify_len
  - check_mac
  - verify_one_signature
  - check_pubkey_sign
  - check_pubkey_sign_ecdsa
  - check_pubkey_crypt
  - check_pubkey_grip
  - do_check_one_pubkey
  - check_one_pubkey
  - get_keys_new
  - check_one_pubkey_new
  - check_pubkey
  - main
  source_file: /src/libgcrypt/tests/basic.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgcrypt/tests/basic.c
      type_or_value: '"basic"'
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgcrypt/tests/basic.c
      type_or_value: __attribute__((always_inline))
    - item_type: preproc_def
      name: FLAG_CRYPT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libgcrypt/tests/basic.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FLAG_SIGN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libgcrypt/tests/basic.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: FLAG_GRIP
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libgcrypt/tests/basic.c
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: FLAG_NOFIPS
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libgcrypt/tests/basic.c
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: FLAG_CFB8
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libgcrypt/tests/basic.c
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: FLAG_SPECIAL
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libgcrypt/tests/basic.c
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: MAX_DATA_LEN
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libgcrypt/tests/basic.c
      type_or_value: '1040'
    - item_type: preproc_def
      name: CLUTTER_VECTOR_REGISTER_AMD64
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/libgcrypt/tests/basic.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CLUTTER_VECTOR_REGISTER_COUNT
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/libgcrypt/tests/basic.c
      type_or_value: '16'
    - item_type: preproc_def
      name: CLUTTER_VECTOR_REGISTER_I386
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/libgcrypt/tests/basic.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CLUTTER_VECTOR_REGISTER_COUNT
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/libgcrypt/tests/basic.c
      type_or_value: '8'
    - item_type: preproc_def
      name: CLUTTER_VECTOR_REGISTER_AARCH64
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/libgcrypt/tests/basic.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CLUTTER_VECTOR_REGISTER_COUNT
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/libgcrypt/tests/basic.c
      type_or_value: '32'
    - item_type: preproc_def
      name: CLUTTER_VECTOR_REGISTER_NEON
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/libgcrypt/tests/basic.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CLUTTER_VECTOR_REGISTER_COUNT
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/libgcrypt/tests/basic.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAX_GCM_DATA_LEN
      pos:
        line_end: 3549
        line_start: 3548
        source_file: /src/libgcrypt/tests/basic.c
      type_or_value: (256 + 32)
    structs:
    - fields:
      - name: '*secret'
        type: char
      - name: '*public'
        type: char
      - name: '*grip'
        type: char
      item_type: struct
      name: test_spec_pubkey_key
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: id
        type: int
      - name: flags
        type: int
      - name: key
        type: test_spec_pubkey_key_t
      item_type: struct
      name: test_spec_pubkey
      pos:
        line_end: 62
        line_start: 57
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: algo
        type: int
      - name: key[MAX_DATA_LEN]
        type: char
      - name: plaintext[MAX_DATA_LEN]
        type: unsigned char
      - name: plaintextlen
        type: size_t
      - name: mac[MAX_DATA_LEN]
        type: char
      item_type: struct
      name: tv
      pos:
        line_end: 459
        line_start: 452
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: out[MAX_DATA_LEN]
        type: unsigned char
      - name: inlen
        type: int
      item_type: struct
      name: tv
      pos:
        line_end: 598
        line_start: 594
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: algo
        type: int
      - name: '*key'
        type: char
      - name: is_weak_key
        type: int
      - name: flags
        type: int
      - name: data[MAX_DATA_LEN]
        type: "struct\n    {\n      const char *plaintext;\n      int keylen;\n      int
          inlen;\n      const char *out;\n    }"
      item_type: struct
      name: tv
      pos:
        line_end: 719
        line_start: 706
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: algo
        type: int
      - name: flags
        type: int
      - name: key[MAX_DATA_LEN]
        type: char
      - name: ctr[MAX_DATA_LEN]
        type: char
      - name: data[8]
        type: "struct data\n    {\n      const char *plaintext;\n      int inlen;\n
          \     const char *out;\n    }"
      item_type: struct
      name: tv
      pos:
        line_end: 1372
        line_start: 1360
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: '*plaintext'
        type: char
      - name: inlen
        type: int
      - name: '*out'
        type: char
      item_type: struct
      name: data
      pos:
        line_end: 1371
        line_start: 1366
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: algo
        type: int
      - name: flags
        type: int
      - name: key[MAX_DATA_LEN]
        type: char
      - name: iv[MAX_DATA_LEN]
        type: char
      - name: data[MAX_DATA_LEN]
        type: "struct data\n    {\n      unsigned char plaintext[MAX_DATA_LEN];\n
          \     int inlen;\n      char out[MAX_DATA_LEN];\n    }"
      - name: '*oid'
        type: char
      item_type: struct
      name: tv
      pos:
        line_end: 2759
        line_start: 2745
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: plaintext[MAX_DATA_LEN]
        type: unsigned char
      - name: inlen
        type: int
      - name: out[MAX_DATA_LEN]
        type: char
      item_type: struct
      name: data
      pos:
        line_end: 2756
        line_start: 2751
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: algo
        type: int
      - name: flags
        type: int
      - name: key[MAX_DATA_LEN]
        type: char
      - name: iv[MAX_DATA_LEN]
        type: char
      - name: data[MAX_DATA_LEN]
        type: "struct data\n    {\n      unsigned char plaintext[MAX_DATA_LEN];\n
          \     unsigned int inlen;\n      char out[MAX_DATA_LEN];\n    }"
      item_type: struct
      name: tv
      pos:
        line_end: 3283
        line_start: 3270
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: plaintext[MAX_DATA_LEN]
        type: unsigned char
      - name: inlen
        type: unsigned int
      - name: out[MAX_DATA_LEN]
        type: char
      item_type: struct
      name: data
      pos:
        line_end: 3281
        line_start: 3276
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: algo
        type: int
      - name: key[MAX_DATA_LEN]
        type: char
      - name: iv[MAX_DATA_LEN]
        type: char
      - name: ivlen
        type: int
      - name: aad[MAX_DATA_LEN]
        type: unsigned char
      - name: aadlen
        type: int
      - name: plaintext[MAX_GCM_DATA_LEN]
        type: unsigned char
      - name: inlen
        type: int
      - name: out[MAX_GCM_DATA_LEN]
        type: char
      - name: tag[MAX_DATA_LEN]
        type: char
      - name: taglen
        type: int
      - name: should_fail
        type: int
      item_type: struct
      name: tv
      pos:
        line_end: 3563
        line_start: 3549
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: algo
        type: int
      - name: key[MAX_DATA_LEN]
        type: char
      - name: nonce[MAX_DATA_LEN]
        type: char
      - name: noncelen
        type: int
      - name: header[MAX_DATA_LEN]
        type: unsigned char
      - name: headerlen
        type: int
      - name: plaintext[MAX_DATA_LEN]
        type: unsigned char
      - name: inlen
        type: int
      - name: out[MAX_DATA_LEN]
        type: char
      - name: tag[MAX_DATA_LEN]
        type: char
      - name: taglen
        type: int
      - name: should_fail
        type: int
      item_type: struct
      name: tv
      pos:
        line_end: 4804
        line_start: 4790
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: algo
        type: int
      - name: key[MAX_DATA_LEN]
        type: char
      - name: ad1[MAX_DATA_LEN]
        type: char
      - name: ad1len
        type: int
      - name: ad2[MAX_DATA_LEN]
        type: char
      - name: ad2len
        type: int
      - name: nonce[MAX_DATA_LEN]
        type: char
      - name: noncelen
        type: int
      - name: plaintext[MAX_DATA_LEN]
        type: unsigned char
      - name: inlen
        type: int
      - name: tag[MAX_DATA_LEN]
        type: char
      - name: out[MAX_DATA_LEN]
        type: char
      item_type: struct
      name: tv
      pos:
        line_end: 5336
        line_start: 5322
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: algo
        type: int
      - name: flags
        type: int
      - name: key[MAX_DATA_LEN]
        type: char
      - name: _GCRY_GCC_ATTR_NONSTRING
        type: char
      - name: ad[MAX_DATA_LEN]
        type: char
      - name: adlen
        type: int
      - name: plaintext[MAX_DATA_LEN * 2]
        type: unsigned char
      - name: inlen
        type: int
      - name: out[MAX_DATA_LEN * 2]
        type: char
      - name: tag[MAX_DATA_LEN]
        type: char
      item_type: struct
      name: tv
      pos:
        line_end: 5753
        line_start: 5741
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: algo
        type: int
      - name: '*key'
        type: char
      - name: '*iv'
        type: char
      - name: ivlen
        type: int
      - name: '*aad'
        type: char
      - name: aadlen
        type: int
      - name: '*plaintext'
        type: char
      - name: inlen
        type: int
      - name: '*out'
        type: char
      - name: '*tag'
        type: char
      item_type: struct
      name: tv
      pos:
        line_end: 7229
        line_start: 7217
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: algo
        type: int
      - name: flags
        type: int
      - name: keylen
        type: int
      - name: '*key'
        type: char
      - name: noncelen
        type: int
      - name: '*nonce'
        type: char
      - name: aadlen
        type: int
      - name: '*aad'
        type: char
      - name: plainlen
        type: int
      - name: '*plaintext'
        type: char
      - name: cipherlen
        type: int
      - name: '*ciphertext'
        type: char
      item_type: struct
      name: tv
      pos:
        line_end: 7748
        line_start: 7734
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: algo
        type: int
      - name: taglen
        type: int
      - name: '*key'
        type: char
      - name: '*nonce'
        type: char
      - name: '*aad'
        type: char
      - name: '*plain'
        type: char
      - name: '*ciph'
        type: char
      item_type: struct
      name: "tv[] = {\n    /* The RFC-7253 test vectos*/\n    { GCRY_CIPHER_AES, 16,
        NULL,\n      \"BBAA99887766554433221100\",\n      \"\",\n      \"\",\n      \"785407BFFFC8AD9EDCC5520AC9111EE6\"\n
        \   },\n    { GCRY_CIPHER_AES, 16, NULL,\n      \"BBAA99887766554433221101\",\n
        \     \"0001020304050607\",\n      \"0001020304050607\",\n      \"6820B3657B6F615A5725BDA0D3B4EB3A257C9AF1F8F03009\"\n
        \   },\n    { GCRY_CIPHER_AES, 16, NULL,\n      \"BBAA99887766554433221102\",\n
        \     \"0001020304050607\",\n      \"\",\n      \"81017F8203F081277152FADE694A0A00\"\n
        \   },\n    { GCRY_CIPHER_AES, 16, NULL,\n      \"BBAA99887766554433221103\",\n
        \     \"\",\n      \"0001020304050607\",\n      \"45DD69F8F5AAE72414054CD1F35D82760B2CD00D2F99BFA9\"\n
        \   },\n    { GCRY_CIPHER_AES, 16, NULL,\n      \"BBAA99887766554433221104\",\n
        \     \"000102030405060708090A0B0C0D0E0F\",\n      \"000102030405060708090A0B0C0D0E0F\",\n
        \     \"571D535B60B277188BE5147170A9A22C3AD7A4FF3835B8C5\"\n      \"701C1CCEC8FC3358\"\n
        \   },\n    { GCRY_CIPHER_AES, 16, NULL,\n      \"BBAA99887766554433221105\",\n
        \     \"000102030405060708090A0B0C0D0E0F\",\n      \"\",\n      \"8CF761B6902EF764462AD86498CA6B97\"\n
        \   },\n    { GCRY_CIPHER_AES, 16, NULL,\n      \"BBAA99887766554433221106\",\n
        \     \"\",\n      \"000102030405060708090A0B0C0D0E0F\",\n      \"5CE88EC2E0692706A915C00AEB8B2396F40E1C743F52436B\"\n
        \     \"DF06D8FA1ECA343D\"\n    },\n    { GCRY_CIPHER_AES, 16, NULL,\n      \"BBAA99887766554433221107\",\n
        \     \"000102030405060708090A0B0C0D0E0F1011121314151617\",\n      \"000102030405060708090A0B0C0D0E0F1011121314151617\",\n
        \     \"1CA2207308C87C010756104D8840CE1952F09673A448A122\"\n      \"C92C62241051F57356D7F3C90BB0E07F\"\n
        \   },\n    { GCRY_CIPHER_AES, 16, NULL,\n      \"BBAA99887766554433221108\",\n
        \     \"000102030405060708090A0B0C0D0E0F1011121314151617\",\n      \"\",\n
        \     \"6DC225A071FC1B9F7C69F93B0F1E10DE\"\n    },\n    { GCRY_CIPHER_AES,
        16, NULL,\n      \"BBAA99887766554433221109\",\n      \"\",\n      \"000102030405060708090A0B0C0D0E0F1011121314151617\",\n
        \     \"221BD0DE7FA6FE993ECCD769460A0AF2D6CDED0C395B1C3C\"\n      \"E725F32494B9F914D85C0B1EB38357FF\"\n
        \   },\n    { GCRY_CIPHER_AES, 16, NULL,\n      \"BBAA9988776655443322110A\",\n
        \     \"000102030405060708090A0B0C0D0E0F1011121314151617\"\n      \"18191A1B1C1D1E1F\",\n
        \     \"000102030405060708090A0B0C0D0E0F1011121314151617\"\n      \"18191A1B1C1D1E1F\",\n
        \     \"BD6F6C496201C69296C11EFD138A467ABD3C707924B964DE\"\n      \"AFFC40319AF5A48540FBBA186C5553C68AD9F592A79A4240\"\n
        \   },\n    { GCRY_CIPHER_AES, 16, NULL,\n      \"BBAA9988776655443322110B\",\n
        \     \"000102030405060708090A0B0C0D0E0F1011121314151617\"\n      \"18191A1B1C1D1E1F\",\n
        \     \"\",\n      \"FE80690BEE8A485D11F32965BC9D2A32\"\n    },\n    { GCRY_CIPHER_AES,
        16, NULL,\n      \"BBAA9988776655443322110C\",\n      \"\",\n      \"000102030405060708090A0B0C0D0E0F1011121314151617\"\n
        \     \"18191A1B1C1D1E1F\",\n      \"2942BFC773BDA23CABC6ACFD9BFD5835BD300F0973792EF4\"\n
        \     \"6040C53F1432BCDFB5E1DDE3BC18A5F840B52E653444D5DF\"\n    },\n    {
        GCRY_CIPHER_AES, 16, NULL,\n      \"BBAA9988776655443322110D\",\n      \"000102030405060708090A0B0C0D0E0F1011121314151617\"\n
        \     \"18191A1B1C1D1E1F2021222324252627\",\n      \"000102030405060708090A0B0C0D0E0F1011121314151617\"\n
        \     \"18191A1B1C1D1E1F2021222324252627\",\n      \"D5CA91748410C1751FF8A2F618255B68A0A12E093FF45460\"\n
        \     \"6E59F9C1D0DDC54B65E8628E568BAD7AED07BA06A4A69483\"\n      \"A7035490C5769E60\"\n
        \   },\n    { GCRY_CIPHER_AES, 16, NULL,\n      \"BBAA9988776655443322110E\",\n
        \     \"000102030405060708090A0B0C0D0E0F1011121314151617\"\n      \"18191A1B1C1D1E1F2021222324252627\",\n
        \     \"\",\n      \"C5CD9D1850C141E358649994EE701B68\"\n    },\n    { GCRY_CIPHER_AES,
        16, NULL,\n      \"BBAA9988776655443322110F\",\n      \"\",\n      \"000102030405060708090A0B0C0D0E0F1011121314151617\"\n
        \     \"18191A1B1C1D1E1F2021222324252627\",\n      \"4412923493C57D5DE0D700F753CCE0D1D2D95060122E9F15\"\n
        \     \"A5DDBFC5787E50B5CC55EE507BCB084E479AD363AC366B95\"\n      \"A98CA5F3000B1479\"\n
        \   },\n    { GCRY_CIPHER_AES, 12, \"0F0E0D0C0B0A09080706050403020100\",\n
        \     \"BBAA9988776655443322110D\",\n      \"000102030405060708090A0B0C0D0E0F1011121314151617\"\n
        \     \"18191A1B1C1D1E1F2021222324252627\",\n      \"000102030405060708090A0B0C0D0E0F1011121314151617\"\n
        \     \"18191A1B1C1D1E1F2021222324252627\",\n      \"1792A4E31E0755FB03E31B22116E6C2DDF9EFD6E33D536F1\"\n
        \     \"A0124B0A55BAE884ED93481529C76B6AD0C515F4D1CDD4FD\"\n      \"AC4F02AA\"\n
        \   },\n    { GCRY_CIPHER_AES, 12, \"0F0E0D0C0B0A09080706050403020100\",\n
        \     \"BBAA9988776655443322110D\",\n      \"000102030405060708090A0B0C0D0E0F1011121314151617\"\n
        \     \"18191A1B1C1D1E1F2021222324252627\",\n      /* test vector for checksumming
        */\n      \"01000000000000000000000000000000\"\n      \"02000000000000000000000000000000\"\n
        \     \"04000000000000000000000000000000\"\n      \"08000000000000000000000000000000\"\n
        \     \"10000000000000000000000000000000\"\n      \"20000000000000000000000000000000\"\n
        \     \"40000000000000000000000000000000\"\n      \"80000000000000000000000000000000\"\n
        \     \"00010000000000000000000000000000\"\n      \"00020000000000000000000000000000\"\n
        \     \"00040000000000000000000000000000\"\n      \"00080000000000000000000000000000\"\n
        \     \"00100000000000000000000000000000\"\n      \"00200000000000000000000000000000\"\n
        \     \"00400000000000000000000000000000\"\n      \"00800000000000000000000000000000\"\n
        \     \"00000100000000000000000000000000\"\n      \"00000200000000000000000000000000\"\n
        \     \"00000400000000000000000000000000\"\n      \"00000800000000000000000000000000\"\n
        \     \"00001000000000000000000000000000\"\n      \"00002000000000000000000000000000\"\n
        \     \"00004000000000000000000000000000\"\n      \"00008000000000000000000000000000\"\n
        \     \"00000001000000000000000000000000\"\n      \"00000002000000000000000000000000\"\n
        \     \"00000004000000000000000000000000\"\n      \"00000008000000000000000000000000\"\n
        \     \"00000010000000000000000000000000\"\n      \"00000020000000000000000000000000\"\n
        \     \"00000040000000000000000000000000\"\n      \"00000080000000000000000000000000\"\n
        \     \"00000000010000000000000000000000\"\n      \"00000000020000000000000000000000\"\n
        \     \"00000000040000000000000000000000\"\n      \"00000000080000000000000000000000\"\n
        \     \"00000000100000000000000000000000\"\n      \"00000000200000000000000000000000\"\n
        \     \"00000000400000000000000000000000\"\n      \"00000000800000000000000000000000\"\n
        \     \"00000000000100000000000000000000\"\n      \"00000000000200000000000000000000\"\n
        \     \"00000000000400000000000000000000\"\n      \"00000000000800000000000000000000\"\n
        \     \"00000000001000000000000000000000\"\n      \"00000000002000000000000000000000\"\n
        \     \"00000000004000000000000000000000\"\n      \"00000000008000000000000000000000\",\n
        \     \"01105c6e36f6ac480f022c51e31ed702\"\n      \"90fda4b7b783194d4b4be8e4e1e2dff4\"\n
        \     \"6a0804d1c5f9f808ea7933e31c063233\"\n      \"2bf65a22b20bb13cde3b80b3682ba965\"\n
        \     \"b1207c58916f7856fa9968b410e50dee\"\n      \"98b35c071163d1b352b9bbccd09fde29\"\n
        \     \"b850f40e71a8ae7d2e2d577f5ee39c46\"\n      \"7fa28130b50a123c29958e4665dda9a5\"\n
        \     \"e0793997f8f19633a96392141d6e0e88\"\n      \"77850ed4364065d1d2f8746e2f1d5fd1\"\n
        \     \"996cdde03215306503a30e41f58ef3c4\"\n      \"400365cfea4fa6381157c12a46598edf\"\n
        \     \"18604854462ec66e3d3cf26d4723cb6a\"\n      \"9d801095048086a606fdb9192760889b\"\n
        \     \"a8ce2e70e1b55a469137a9e2e6734565\"\n      \"283cb1e2c74f37e0854d03e33f8ba499\"\n
        \     \"ef5d9af4edfce077c6280338f0a64286\"\n      \"2e6bc27ebd5a4c91b3778e22631251c8\"\n
        \     \"c5bb75a10945597a9d6c274fc82d3338\"\n      \"b403a0a549d1375f26e71ef22bce0941\"\n
        \     \"93ea87e2ed72fce0546148c351eec3be\"\n      \"867bb1b96070c377fff3c98e21562beb\"\n
        \     \"475cfe28abcaaedf49981f6599b15140\"\n      \"ea6130d24407079f18ba9d4a8960b082\"\n
        \     \"b39c57320e2e064f02fde88c23112146\"\n      \"1cac3655868aef584714826ee4f361fb\"\n
        \     \"e6d692e1589cbb9dd3c74fa628df2a1f\"\n      \"3b0029b1d62b7e9978013ed3c793c1dd\"\n
        \     \"1f184c8f7022a853cac40b74ac749aa3\"\n      \"f33f0d14732dfda0f2c3c20591bf1f5a\"\n
        \     \"710ec0d0bca342baa5146068a78ff58c\"\n      \"66316312b7a98af35a0f4e92799b4047\"\n
        \     \"f047ae61f25c28d232ce5c168cc745d6\"\n      \"6da13cb0f9e38a696635dba7a21571cf\"\n
        \     \"cd64ec8cc33db7879f59a90d9edd00f6\"\n      \"a899e39ab36b9269a3ac04ebad9326bf\"\n
        \     \"53cd9b400168a61714cd628a4056d236\"\n      \"bd8622c76daa54cb65f5db2fe03bafbe\"\n
        \     \"0b23549ae31136f607293e8093a21934\"\n      \"74fd5e9c2451b4c8e0499e6ad34fafc8\"\n
        \     \"ab77722a282f7f84b14ddebf7e696300\"\n      \"c1ef92d4a0263c6cca104530f996e272\"\n
        \     \"f58992ff68d642b071a5848dc4acf2ae\"\n      \"28fb1f27ae0f297d5136a7a0a4a03e89\"\n
        \     \"b588755b8217a1c62773790e69261269\"\n      \"19f45daf7b3ccf18e3fc590a9a0e172f\"\n
        \     \"033ac4d13c3decc4c62d7de718ace802\"\n      \"140452dc850989f6762e3578bbb04be3\"\n
        \     \"1a237c599c4649f4e586b2de\"\n    }\n  }"
      pos:
        line_end: 8566
        line_start: 8557
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: '*aad0'
        type: char
      - name: '*aad1'
        type: char
      - name: '*aad2'
        type: char
      - name: '*aad3'
        type: char
      item_type: struct
      name: "tv[] = {\n    {\n      \"000102030405060708090A0B0C0D0E0F\"\n      \"101112131415161718191A1B1C1D1E1F2021222324252627\"\n
        \   },\n    {\n      \"000102030405060708090A0B0C0D0E0F\",\n      \"101112131415161718191A1B1C1D1E1F\",\n
        \     \"2021222324252627\"\n    },\n    {\n      \"000102030405060708090A0B0C0D0E0F\",\n
        \     \"1011121314151617\",\n      \"18191A1B1C1D1E1F\",\n      \"2021222324252627\"\n
        \   },\n    {\n      \"000102030405060708090A0B0C0D0E0F\",\n      \"101112131415161718191A1B1C1D1E1F\",\n
        \     \"20\",\n      \"21222324252627\"\n    },\n    {\n      \"000102030405060708090A0B0C0D0E0F\",\n
        \     \"101112131415161718191A1B1C1D1E1F\",\n      \"2021\",\n      \"222324252627\"\n
        \   },\n    {\n      \"000102030405060708090A0B0C0D0E0F\",\n      \"101112131415161718191A1B1C1D1E1F\",\n
        \     \"202122\",\n      \"2324252627\"\n    },\n    {\n      \"000102030405060708090A0B0C0D0E0F\",\n
        \     \"101112131415161718191A1B1C1D1E1F\",\n      \"20212223\",\n      \"24252627\"\n
        \   },\n    {\n      \"000102030405060708090A0B0C0D0E0F\",\n      \"101112131415161718191A1B1C1D1E1F\",\n
        \     \"2021222324\",\n      \"252627\"\n    },\n    {\n      \"000102030405060708090A0B0C0D0E0F\",\n
        \     \"101112131415161718191A1B1C1D1E1F\",\n      \"202122232425\",\n      \"2627\"\n
        \   },\n    {\n      \"000102030405060708090A0B0C0D0E0F\",\n      \"101112131415161718191A1B1C1D1E1F\",\n
        \     \"20212223242526\"\n      \"27\"\n    },\n    {\n      \"000102030405060708090A0B0C0D0E0F\",\n
        \     \"1011121314151617\",\n      \"18191A1B1C1D1E1F2021222324252627\"\n
        \   },\n    {\n      \"00\",\n      \"0102030405060708090A0B0C0D0E0F\",\n
        \     \"1011121314151617\",\n      \"18191A1B1C1D1E1F2021222324252627\"\n
        \   },\n    {\n      \"0001\",\n      \"02030405060708090A0B0C0D0E0F\",\n
        \     \"1011121314151617\",\n      \"18191A1B1C1D1E1F2021222324252627\"\n
        \   },\n    {\n      \"000102030405060708090A0B0C0D\",\n      \"0E0F\",\n
        \     \"1011121314151617\",\n      \"18191A1B1C1D1E1F2021222324252627\"\n
        \   },\n    {\n      \"000102030405060708090A0B0C0D0E\",\n      \"0F\",\n
        \     \"1011121314151617\",\n      \"18191A1B1C1D1E1F2021222324252627\"\n
        \   },\n    {\n      \"000102030405060708090A0B0C0D0E\",\n      \"0F101112131415161718191A1B1C1D1E1F20212223242526\",\n
        \     \"27\"\n    }\n  }"
      pos:
        line_end: 9549
        line_start: 9544
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: algo
        type: int
      - name: '*key'
        type: char
      - name: '*iv'
        type: char
      - name: '*plain'
        type: char
      - name: '*ciph'
        type: char
      item_type: struct
      name: "tv[] = {\n    /* CAVS; hex/XTSGenAES128.rsp; COUNT=100 */\n    { GCRY_CIPHER_AES,\n
        \     \"bcb6613c495de4bdad9c19f04e4b3915f9ecb379e1a575b633337e934fca1050\",\n
        \     \"64981173159d58ac355a20120c8e81f1\",\n      \"189acacee06dfa7c94484c7dae59e166\",\n
        \     \"7900191d0f19a97668fdba9def84eedc\"\n    },\n    /* CAVS; hex/XTSGenAES128.rsp;
        COUNT=101 */\n    { GCRY_CIPHER_AES,\n      \"b7b93f516aef295eff3a29d837cf1f135347e8a21dae616ff5062b2e8d78ce5e\",\n
        \     \"873edea653b643bd8bcf51403197ed14\",\n      \"236f8a5b58dd55f6194ed70c4ac1a17f1fe60ec9a6c454d087ccb77d6b638c47\",\n
        \     \"22e6a3c6379dcf7599b052b5a749c7f78ad8a11b9f1aa9430cf3aef445682e19\"\n
        \   },\n    /* CAVS; hex/XTSGenAES128.rsp; COUNT=301 */\n    { GCRY_CIPHER_AES,\n
        \     \"394c97881abd989d29c703e48a72b397a7acf51b59649eeea9b33274d8541df4\",\n
        \     \"4b15c684a152d485fe9937d39b168c29\",\n      \"2f3b9dcfbae729583b1d1ffdd16bb6fe2757329435662a78f0\",\n
        \     \"f3473802e38a3ffef4d4fb8e6aa266ebde553a64528a06463e\"\n    },\n    /*
        CAVS; hex/XTSGenAES128.rsp; COUNT=500 */\n    { GCRY_CIPHER_AES,\n      \"783a83ec52a27405dff9de4c57f9c979b360b6a5df88d67ec1a052e6f582a717\",\n
        \     \"886e975b29bdf6f0c01bb47f61f6f0f5\",\n      \"b04d84da856b9a59ce2d626746f689a8051dacd6bce3b990aa901e4030648879\",\n
        \     \"f941039ebab8cac39d59247cbbcb4d816c726daed11577692c55e4ac6d3e6820\"\n
        \   },\n    /* CAVS; hex/XTSGenAES256.rsp; COUNT=1 */\n    { GCRY_CIPHER_AES256,\n
        \     \"1ea661c58d943a0e4801e42f4b0947149e7f9f8e3e68d0c7505210bd311a0e7c\"\n
        \     \"d6e13ffdf2418d8d1911c004cda58da3d619b7e2b9141e58318eea392cf41b08\",\n
        \     \"adf8d92627464ad2f0428e84a9f87564\",\n      \"2eedea52cd8215e1acc647e810bbc3642e87287f8d2e57e36c0a24fbc12a202e\",\n
        \     \"cbaad0e2f6cea3f50b37f934d46a9b130b9d54f07e34f36af793e86f73c6d7db\"\n
        \   },\n    /* CAVS; hex/XTSGenAES256.rsp; COUNT=101 */\n    { GCRY_CIPHER_AES256,\n
        \     \"266c336b3b01489f3267f52835fd92f674374b88b4e1ebd2d36a5f457581d9d0\"\n
        \     \"42c3eef7b0b7e5137b086496b4d9e6ac658d7196a23f23f036172fdb8faee527\",\n
        \     \"06b209a7a22f486ecbfadb0f3137ba42\",\n      \"ca7d65ef8d3dfad345b61ccddca1ad81de830b9e86c7b426d76cb7db766852d9\"\n
        \     \"81c6b21409399d78f42cc0b33a7bbb06\",\n      \"c73256870cc2f4dd57acc74b5456dbd776912a128bc1f77d72cdebbf270044b7\"\n
        \     \"a43ceed29025e1e8be211fa3c3ed002d\"\n    },\n    /* CAVS; hex/XTSGenAES256.rsp;
        COUNT=401 */\n    { GCRY_CIPHER_AES256,\n      \"33e89e817ff8d037d6ac5a2296657503f20885d94c483e26449066bd9284d130\"\n
        \     \"2dbdbb4b66b6b9f4687f13dd028eb6aa528ca91deb9c5f40db93218806033801\",\n
        \     \"a78c04335ab7498a52b81ed74b48e6cf\",\n      \"14c3ac31291b075f40788247c3019e88c7b40bac3832da45bbc6c4fe7461371b\"\n
        \     \"4dfffb63f71c9f8edb98f28ff4f33121\",\n      \"dead7e587519bc78c70d99279fbe3d9b1ad13cdaae69824e0ab8135413230bfd\"\n
        \     \"b13babe8f986fbb30d46ab5ec56b916e\"\n    },\n    /* From https://github.com/heisencoder/XTS-AES/blob/master/testvals/
        */\n    { GCRY_CIPHER_AES,\n      \"fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0\",\n
        \     \"9a785634120000000000000000000000\",\n      \"000102030405060708090a0b0c0d0e0f10\",\n
        \     \"7fb2e8beccbb5c118aa52ddca31220bb1b\"\n    },\n    { GCRY_CIPHER_AES,\n
        \     \"fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0\",\n
        \     \"9a785634120000000000000000000000\",\n      \"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e\",\n
        \     \"d05bc090a8e04f1b3d3ecdd5baec0fd4edbf9dace45d6f6a7306e64be5dd82\"\n
        \   },\n    { GCRY_CIPHER_AES,\n      \"2718281828459045235360287471352631415926535897932384626433832795\",\n
        \     \"00000000000000000000000000000000\",\n      \"000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F\"\n
        \     \"20212223\",\n      \"27A7479BEFA1D476489F308CD4CFA6E288F548E5C4239F91712A587E2B05AC3D\"\n
        \     \"A96E4BBE\"\n    },\n    { GCRY_CIPHER_AES256,\n      \"2718281828459045235360287471352662497757247093699959574966967627\"\n
        \     \"3141592653589793238462643383279502884197169399375105820974944592\",\n
        \     \"11000000000000000000000000000000\",\n      \"3A060A8CAD115A6F44572E3759E43C8F8832FEDC28A8E35B357B5CF3EDBEF788\"\n
        \     \"CAD8BFCB23\",\n      \"6D1C78A8BAD91DB2924C507CCEDE835F5BADD157DA0AF55C98BBC28CF676F9FA\"\n
        \     \"61618FA696\"\n    },\n    { GCRY_CIPHER_AES256,\n      \"2718281828459045235360287471352662497757247093699959574966967627\"\n
        \     \"3141592653589793238462643383279502884197169399375105820974944592\",\n
        \     \"11000000000000000000000000000000\",\n      \"3A060A8CAD115A6F44572E3759E43C8F8832FEDC28A8E35B357B5CF3EDBEF788\"\n
        \     \"CAD8BFCB23\",\n      \"6D1C78A8BAD91DB2924C507CCEDE835F5BADD157DA0AF55C98BBC28CF676F9FA\"\n
        \     \"61618FA696\"\n    },\n    { GCRY_CIPHER_AES,\n      \"e0e1e2e3e4e5e6e7e8e9eaebecedeeefc0c1c2c3c4c5c6c7c8c9cacbcccdcecf\",\n
        \     \"21436587a90000000000000000000000\",\n      \"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\"\n
        \     \"202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\"\n
        \     \"404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\"\n
        \     \"606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\"\n
        \     \"808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\"\n
        \     \"a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf\"\n
        \     \"c0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedf\"\n
        \     \"e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\"\n
        \     \"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\"\n
        \     \"202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\"\n
        \     \"404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\"\n
        \     \"606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\"\n
        \     \"808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\"\n
        \     \"a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf\"\n
        \     \"c0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedf\"\n
        \     \"e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\"\n
        \     \"0001020304050607\",\n      \"38b45812ef43a05bd957e545907e223b954ab4aaf088303ad910eadf14b42be6\"\n
        \     \"8b2461149d8c8ba85f992be970bc621f1b06573f63e867bf5875acafa04e42cc\"\n
        \     \"bd7bd3c2a0fb1fff791ec5ec36c66ae4ac1e806d81fbf709dbe29e471fad3854\"\n
        \     \"9c8e66f5345d7c1eb94f405d1ec785cc6f6a68f6254dd8339f9d84057e01a177\"\n
        \     \"41990482999516b5611a38f41bb6478e6f173f320805dd71b1932fc333cb9ee3\"\n
        \     \"9936beea9ad96fa10fb4112b901734ddad40bc1878995f8e11aee7d141a2f5d4\"\n
        \     \"8b7a4e1e7f0b2c04830e69a4fd1378411c2f287edf48c6c4e5c247a19680f7fe\"\n
        \     \"41cefbd49b582106e3616cbbe4dfb2344b2ae9519391f3e0fb4922254b1d6d2d\"\n
        \     \"19c6d4d537b3a26f3bcc51588b32f3eca0829b6a5ac72578fb814fb43cf80d64\"\n
        \     \"a233e3f997a3f02683342f2b33d25b492536b93becb2f5e1a8b82f5b88334272\"\n
        \     \"9e8ae09d16938841a21a97fb543eea3bbff59f13c1a18449e398701c1ad51648\"\n
        \     \"346cbc04c27bb2da3b93a1372ccae548fb53bee476f9e9c91773b1bb19828394\"\n
        \     \"d55d3e1a20ed69113a860b6829ffa847224604435070221b257e8dff783615d2\"\n
        \     \"cae4803a93aa4334ab482a0afac9c0aeda70b45a481df5dec5df8cc0f423c77a\"\n
        \     \"5fd46cd312021d4b438862419a791be03bb4d97c0e59578542531ba466a83baf\"\n
        \     \"92cefc151b5cc1611a167893819b63fb37ec662bc0fc907db74a94468a55a7bc\"\n
        \     \"8a6b18e86de60290\"\n    },\n    { GCRY_CIPHER_AES256,\n      \"2718281828459045235360287471352662497757247093699959574966967627\"\n
        \     \"3141592653589793238462643383279502884197169399375105820974944592\",\n
        \     \"ffffffff000000000000000000000000\",\n      \"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\"\n
        \     \"202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\"\n
        \     \"404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\"\n
        \     \"606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\"\n
        \     \"808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\"\n
        \     \"a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf\"\n
        \     \"c0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedf\"\n
        \     \"e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\"\n
        \     \"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f\"\n
        \     \"202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f\"\n
        \     \"404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f\"\n
        \     \"606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f\"\n
        \     \"808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f\"\n
        \     \"a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf\"\n
        \     \"c0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedf\"\n
        \     \"e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\",\n
        \     \"bf53d2dade78e822a4d949a9bc6766b01b06a8ef70d26748c6a7fc36d80ae4c5\"\n
        \     \"520f7c4ab0ac8544424fa405162fef5a6b7f229498063618d39f0003cb5fb8d1\"\n
        \     \"c86b643497da1ff945c8d3bedeca4f479702a7a735f043ddb1d6aaade3c4a0ac\"\n
        \     \"7ca7f3fa5279bef56f82cd7a2f38672e824814e10700300a055e1630b8f1cb0e\"\n
        \     \"919f5e942010a416e2bf48cb46993d3cb6a51c19bacf864785a00bc2ecff15d3\"\n
        \     \"50875b246ed53e68be6f55bd7e05cfc2b2ed6432198a6444b6d8c247fab941f5\"\n
        \     \"69768b5c429366f1d3f00f0345b96123d56204c01c63b22ce78baf116e525ed9\"\n
        \     \"0fdea39fa469494d3866c31e05f295ff21fea8d4e6e13d67e47ce722e9698a1c\"\n
        \     \"1048d68ebcde76b86fcf976eab8aa9790268b7068e017a8b9b749409514f1053\"\n
        \     \"027fd16c3786ea1bac5f15cb79711ee2abe82f5cf8b13ae73030ef5b9e4457e7\"\n
        \     \"5d1304f988d62dd6fc4b94ed38ba831da4b7634971b6cd8ec325d9c61c00f1df\"\n
        \     \"73627ed3745a5e8489f3a95c69639c32cd6e1d537a85f75cc844726e8a72fc00\"\n
        \     \"77ad22000f1d5078f6b866318c668f1ad03d5a5fced5219f2eabbd0aa5c0f460\"\n
        \     \"d183f04404a0d6f469558e81fab24a167905ab4c7878502ad3e38fdbe62a4155\"\n
        \     \"6cec37325759533ce8f25f367c87bb5578d667ae93f9e2fd99bcbc5f2fbba88c\"\n
        \     \"f6516139420fcff3b7361d86322c4bd84c82f335abb152c4a93411373aaa8220\"\n
        \   }\n  }"
      pos:
        line_end: 9844
        line_start: 9837
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: key[MAX_DATA_LEN]
        type: char
      - name: '*oid'
        type: char
      - name: plaintext[MAX_DATA_LEN]
        type: unsigned char
      - name: inlen
        type: int
      - name: out[MAX_DATA_LEN]
        type: char
      item_type: struct
      name: "tv[] =\n  {\n    {\n      \"\\x81\\x82\\x83\\x84\\x85\\x86\\x87\\x88\\x89\\x8a\\x8b\\x8c\\x8d\\x8e\\x8f\\x80\"\n
        \     \"\\xd1\\xd2\\xd3\\xd4\\xd5\\xd6\\xd7\\xd8\\xd9\\xda\\xdb\\xdc\\xdd\\xde\\xdf\\xd0\",\n
        \     \"1.2.643.7.1.2.5.1.1\",\n      \"\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\",\n
        \     8,\n      \"\\xce\\x5a\\x5e\\xd7\\xe0\\x57\\x7a\\x5f\",\n    }, {\n
        \     \"\\x81\\x82\\x83\\x84\\x85\\x86\\x87\\x88\\x89\\x8a\\x8b\\x8c\\x8d\\x8e\\x8f\\x80\"\n
        \     \"\\xd1\\xd2\\xd3\\xd4\\xd5\\xd6\\xd7\\xd8\\xd9\\xda\\xdb\\xdc\\xdd\\xde\\xdf\\xd0\",\n
        \     \"1.2.643.2.2.31.0\",\n      \"\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\",\n
        \     8,\n      \"\\x98\\x56\\xcf\\x8b\\xfc\\xc2\\x82\\xf4\",\n    }, {\n
        \     \"\\x81\\x82\\x83\\x84\\x85\\x86\\x87\\x88\\x89\\x8a\\x8b\\x8c\\x8d\\x8e\\x8f\\x80\"\n
        \     \"\\xd1\\xd2\\xd3\\xd4\\xd5\\xd6\\xd7\\xd8\\xd9\\xda\\xdb\\xdc\\xdd\\xde\\xdf\\xd0\",\n
        \     \"1.2.643.2.2.31.1\",\n      \"\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\",\n
        \     8,\n      \"\\x66\\x81\\x84\\xae\\xdc\\x48\\xc9\\x17\",\n    }, {\n
        \     \"\\x81\\x82\\x83\\x84\\x85\\x86\\x87\\x88\\x89\\x8a\\x8b\\x8c\\x8d\\x8e\\x8f\\x80\"\n
        \     \"\\xd1\\xd2\\xd3\\xd4\\xd5\\xd6\\xd7\\xd8\\xd9\\xda\\xdb\\xdc\\xdd\\xde\\xdf\\xd0\",\n
        \     \"1.2.643.2.2.31.2\",\n      \"\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\",\n
        \     8,\n      \"\\xdb\\xee\\x81\\x14\\x7b\\x74\\xb0\\xf2\",\n    }, {\n
        \     \"\\x81\\x82\\x83\\x84\\x85\\x86\\x87\\x88\\x89\\x8a\\x8b\\x8c\\x8d\\x8e\\x8f\\x80\"\n
        \     \"\\xd1\\xd2\\xd3\\xd4\\xd5\\xd6\\xd7\\xd8\\xd9\\xda\\xdb\\xdc\\xdd\\xde\\xdf\\xd0\",\n
        \     \"1.2.643.2.2.31.3\",\n      \"\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\",\n
        \     8,\n      \"\\x31\\xa3\\x85\\x9d\\x0a\\xee\\xb8\\x0e\",\n    }, {\n
        \     \"\\x81\\x82\\x83\\x84\\x85\\x86\\x87\\x88\\x89\\x8a\\x8b\\x8c\\x8d\\x8e\\x8f\\x80\"\n
        \     \"\\xd1\\xd2\\xd3\\xd4\\xd5\\xd6\\xd7\\xd8\\xd9\\xda\\xdb\\xdc\\xdd\\xde\\xdf\\xd0\",\n
        \     \"1.2.643.2.2.31.4\",\n      \"\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\",\n
        \     8,\n      \"\\xb1\\x32\\x3e\\x0b\\x21\\x73\\xcb\\xd1\",\n    }, {\n
        \     \"\\x81\\x82\\x83\\x84\\x85\\x86\\x87\\x88\\x89\\x8a\\x8b\\x8c\\x8d\\x8e\\x8f\\x80\"\n
        \     \"\\xd1\\xd2\\xd3\\xd4\\xd5\\xd6\\xd7\\xd8\\xd9\\xda\\xdb\\xdc\\xdd\\xde\\xdf\\xd0\",\n
        \     \"1.2.643.2.2.30.0\",\n      \"\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\",\n
        \     8,\n      \"\\xce\\xd5\\x2a\\x7f\\xf7\\xf2\\x60\\xd5\",\n    }, {\n
        \     \"\\x81\\x82\\x83\\x84\\x85\\x86\\x87\\x88\\x89\\x8a\\x8b\\x8c\\x8d\\x8e\\x8f\\x80\"\n
        \     \"\\xd1\\xd2\\xd3\\xd4\\xd5\\xd6\\xd7\\xd8\\xd9\\xda\\xdb\\xdc\\xdd\\xde\\xdf\\xd0\",\n
        \     \"1.2.643.2.2.30.1\",\n      \"\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\",\n
        \     8,\n      \"\\xe4\\x21\\x75\\xe1\\x69\\x22\\xd0\\xa8\",\n    }\n  }"
      pos:
        line_end: 10178
        line_start: 10172
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: '*name'
        type: char
      - name: algo
        type: int
      - name: keylen
        type: int
      - name: ivlen
        type: int
      - name: '*key'
        type: char
      - name: '*iv'
        type: char
      - name: data[MAX_DATA_LEN]
        type: "struct data\n    {\n      unsigned int inlen;\n      const char *plaintext;\n
          \     const char *out;\n    }"
      item_type: struct
      name: tv
      pos:
        line_end: 10382
        line_start: 10368
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: inlen
        type: unsigned int
      - name: '*plaintext'
        type: char
      - name: '*out'
        type: char
      item_type: struct
      name: data
      pos:
        line_end: 10381
        line_start: 10376
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: '*name'
        type: char
      - name: algo
        type: int
      - name: keylen
        type: int
      - name: ivlen
        type: int
      - name: '*key'
        type: char
      - name: '*iv'
        type: char
      - name: data[MAX_DATA_LEN]
        type: "struct data\n    {\n      int offset, length;\n      const char *result;\n
          \   }"
      item_type: struct
      name: tv
      pos:
        line_end: 11063
        line_start: 11050
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: offset
        type: int
      - name: '*result'
        type: char
      item_type: struct
      name: data
      pos:
        line_end: 11062
        line_start: 11058
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: algo
        type: int
      - name: mode
        type: int
      - name: '*key'
        type: char
      - name: keylen
        type: int
      - name: '*iv'
        type: char
      - name: ivlen
        type: int
      - name: t1_hash[20]
        type: char
      item_type: struct
      name: "tv[] = {\n    { GCRY_CIPHER_AES, GCRY_CIPHER_MODE_CFB,\n      \"abcdefghijklmnop\",
        16,\n      \"1234567890123456\", 16,\n/*[0]*/\n      { 0x53, 0xda, 0x27, 0x3c,
        0x78, 0x3d, 0x54, 0x66, 0x19, 0x63,\n        0xd7, 0xe6, 0x20, 0x10, 0xcd,
        0xc0, 0x5a, 0x0b, 0x06, 0xcc }\n    },\n    { GCRY_CIPHER_AES192, GCRY_CIPHER_MODE_CFB,\n
        \     \"abcdefghijklmnopABCDEFG\", 24,\n      \"1234567890123456\", 16,\n/*[1]*/\n
        \     { 0xc7, 0xb1, 0xd0, 0x09, 0x95, 0x04, 0x34, 0x61, 0x2b, 0xd9,\n        0xcb,
        0xb3, 0xc7, 0xcb, 0xef, 0xea, 0x16, 0x19, 0x9b, 0x3e }\n    },\n    { GCRY_CIPHER_AES256,
        GCRY_CIPHER_MODE_CFB,\n      \"abcdefghijklmnopABCDEFGHIJKLMNOP\", 32,\n      \"1234567890123456\",
        16,\n/*[2]*/\n      { 0x31, 0xe1, 0x1f, 0x63, 0x65, 0x47, 0x8c, 0x3f, 0x53,
        0xdb,\n        0xd9, 0x4d, 0x91, 0x1d, 0x02, 0x9c, 0x05, 0x25, 0x58, 0x29
        }\n    },\n    { GCRY_CIPHER_AES, GCRY_CIPHER_MODE_CBC,\n      \"abcdefghijklmnop\",
        16,\n      \"1234567890123456\", 16,\n/*[3]*/\n      { 0xdc, 0x0c, 0xc2, 0xd9,
        0x6b, 0x47, 0xf9, 0xeb, 0x06, 0xb4,\n        0x2f, 0x6e, 0xec, 0x72, 0xbf,
        0x55, 0x26, 0x7f, 0xa9, 0x97 }\n    },\n    { GCRY_CIPHER_AES192, GCRY_CIPHER_MODE_CBC,\n
        \     \"abcdefghijklmnopABCDEFG\", 24,\n      \"1234567890123456\", 16,\n/*[4]*/\n
        \     { 0x2b, 0x90, 0x9b, 0xe6, 0x40, 0xab, 0x6e, 0xc2, 0xc5, 0xb1,\n        0x87,
        0xf5, 0x43, 0x84, 0x7b, 0x04, 0x06, 0x47, 0xd1, 0x8f }\n    },\n    { GCRY_CIPHER_AES256,
        GCRY_CIPHER_MODE_CBC,\n      \"abcdefghijklmnopABCDEFGHIJKLMNOP\", 32,\n      \"1234567890123456\",
        16,\n/*[5]*/\n      { 0xaa, 0xa8, 0xdf, 0x03, 0xb0, 0xba, 0xc4, 0xe3, 0xc1,
        0x02,\n        0x38, 0x31, 0x8d, 0x86, 0xcb, 0x49, 0x6d, 0xad, 0xae, 0x01
        }\n    },\n    { GCRY_CIPHER_AES, GCRY_CIPHER_MODE_OFB,\n      \"abcdefghijklmnop\",
        16,\n      \"1234567890123456\", 16,\n/*[6]*/\n      { 0x65, 0xfe, 0xde, 0x48,
        0xd0, 0xa1, 0xa6, 0xf9, 0x24, 0x6b,\n        0x52, 0x5f, 0x21, 0x8a, 0x6f,
        0xc7, 0x70, 0x3b, 0xd8, 0x4a }\n    },\n    { GCRY_CIPHER_AES192, GCRY_CIPHER_MODE_OFB,\n
        \     \"abcdefghijklmnopABCDEFG\", 24,\n      \"1234567890123456\", 16,\n/*[7]*/\n
        \     { 0x59, 0x5b, 0x02, 0xa2, 0x88, 0xc0, 0xbe, 0x94, 0x43, 0xaa,\n        0x39,
        0xf6, 0xbd, 0xcc, 0x83, 0x99, 0xee, 0x00, 0xa1, 0x91 }\n    },\n    { GCRY_CIPHER_AES256,
        GCRY_CIPHER_MODE_OFB,\n      \"abcdefghijklmnopABCDEFGHIJKLMNOP\", 32,\n      \"1234567890123456\",
        16,\n/*[8]*/\n      { 0x38, 0x8c, 0xe1, 0xe2, 0xbe, 0x67, 0x60, 0xe8, 0xeb,
        0xce,\n        0xd0, 0xc6, 0xaa, 0xd6, 0xf6, 0x26, 0x15, 0x56, 0xd0, 0x2b
        }\n    },\n    { GCRY_CIPHER_AES, GCRY_CIPHER_MODE_CTR,\n      \"abcdefghijklmnop\",
        16,\n      \"1234567890123456\", 16,\n/*[9]*/\n      { 0x9a, 0x48, 0x94, 0xd6,
        0x50, 0x46, 0x81, 0xdb, 0x68, 0x34,\n        0x3b, 0xc5, 0x9e, 0x66, 0x94,
        0x81, 0x98, 0xa0, 0xf9, 0xff }\n    },\n    { GCRY_CIPHER_AES192, GCRY_CIPHER_MODE_CTR,\n
        \     \"abcdefghijklmnopABCDEFG\", 24,\n      \"1234567890123456\", 16,\n/*[10]*/\n
        \     { 0x2c, 0x2c, 0xd3, 0x75, 0x81, 0x2a, 0x59, 0x07, 0xeb, 0x08,\n        0xce,
        0x28, 0x4c, 0x0c, 0x6a, 0xa8, 0x8f, 0xa3, 0x98, 0x7e }\n    },\n    { GCRY_CIPHER_AES256,
        GCRY_CIPHER_MODE_CTR,\n      \"abcdefghijklmnopABCDEFGHIJKLMNOP\", 32,\n      \"1234567890123456\",
        16,\n/*[11]*/\n      { 0x64, 0xce, 0x73, 0x03, 0xc7, 0x89, 0x99, 0x1f, 0xf1,
        0xce,\n        0xfe, 0xfb, 0xb9, 0x42, 0x30, 0xdf, 0xbb, 0x68, 0x6f, 0xd3
        }\n    },\n    { GCRY_CIPHER_AES, GCRY_CIPHER_MODE_ECB,\n      \"abcdefghijklmnop\",
        16,\n      \"1234567890123456\", 16,\n/*[12]*/\n      { 0x51, 0xae, 0xf5,
        0xac, 0x22, 0xa0, 0xba, 0x11, 0xc5, 0xaa,\n        0xb4, 0x70, 0x99, 0xce,
        0x18, 0x08, 0x12, 0x9b, 0xb1, 0xc5 }\n    },\n    { GCRY_CIPHER_AES192, GCRY_CIPHER_MODE_ECB,\n
        \     \"abcdefghijklmnopABCDEFG\", 24,\n      \"1234567890123456\", 16,\n/*[13]*/\n
        \     { 0x57, 0x91, 0xea, 0x48, 0xd8, 0xbf, 0x9e, 0xc1, 0xae, 0x33,\n        0xb3,
        0xfd, 0xf7, 0x7a, 0xeb, 0x30, 0xb1, 0x62, 0x0d, 0x82 }\n    },\n    { GCRY_CIPHER_AES256,
        GCRY_CIPHER_MODE_ECB,\n      \"abcdefghijklmnopABCDEFGHIJKLMNOP\", 32,\n      \"1234567890123456\",
        16,\n/*[14]*/\n      { 0x2d, 0x71, 0x54, 0xb9, 0xc5, 0x28, 0x76, 0xff, 0x76,
        0xb5,\n        0x99, 0x37, 0x99, 0x9d, 0xf7, 0x10, 0x6d, 0x86, 0x4f, 0x3f
        }\n    },\n    { GCRY_CIPHER_AES128, GCRY_CIPHER_MODE_XTS,\n      \"abcdefghijklmnopABCDEFGHIJKLMNOP\",
        32,\n      \"1234567890123456\", 16,\n/*[15]*/\n      { 0x71, 0x46, 0x40,
        0xb0, 0xed, 0x6f, 0xc4, 0x82, 0x2b, 0x3f,\n        0xb6, 0xf7, 0x81, 0x08,
        0x4c, 0x8b, 0xc1, 0x66, 0x4c, 0x1b }\n    },\n    { GCRY_CIPHER_AES256, GCRY_CIPHER_MODE_XTS,\n
        \     \"abcdefghijklmnopABCDEFGHIJKLMNOP_abcdefghijklmnopABCDEFGHIJKLMNO\",
        64,\n      \"1234567890123456\", 16,\n/*[16]*/\n      { 0x8e, 0xbc, 0xa5,
        0x21, 0x0a, 0x4b, 0x53, 0x14, 0x79, 0x81,\n        0x25, 0xad, 0x24, 0x45,
        0x98, 0xbd, 0x9f, 0x27, 0x5f, 0x01 }\n    },\n    { GCRY_CIPHER_AES, GCRY_CIPHER_MODE_OFB,\n
        \     \"abcdefghijklmnop\", 16,\n      \"1234567890123456\", 16,\n/*[17]*/\n
        \     { 0x65, 0xfe, 0xde, 0x48, 0xd0, 0xa1, 0xa6, 0xf9, 0x24, 0x6b,\n        0x52,
        0x5f, 0x21, 0x8a, 0x6f, 0xc7, 0x70, 0x3b, 0xd8, 0x4a }\n    },\n    { GCRY_CIPHER_AES192,
        GCRY_CIPHER_MODE_OFB,\n      \"abcdefghijklmnopABCDEFG\", 24,\n      \"1234567890123456\",
        16,\n/*[18]*/\n      { 0x59, 0x5b, 0x02, 0xa2, 0x88, 0xc0, 0xbe, 0x94, 0x43,
        0xaa,\n        0x39, 0xf6, 0xbd, 0xcc, 0x83, 0x99, 0xee, 0x00, 0xa1, 0x91
        }\n    },\n    { GCRY_CIPHER_AES256, GCRY_CIPHER_MODE_OFB,\n      \"abcdefghijklmnopABCDEFGHIJKLMNOP\",
        32,\n      \"1234567890123456\", 16,\n/*[19]*/\n      { 0x38, 0x8c, 0xe1,
        0xe2, 0xbe, 0x67, 0x60, 0xe8, 0xeb, 0xce,\n        0xd0, 0xc6, 0xaa, 0xd6,
        0xf6, 0x26, 0x15, 0x56, 0xd0, 0x2b }\n    },\n  }"
      pos:
        line_end: 11515
        line_start: 11506
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: md
        type: int
      - name: '*data'
        type: char
      - name: '*expect'
        type: char
      - name: datalen
        type: int
      - name: expectlen
        type: int
      - name: '*key'
        type: char
      - name: keylen
        type: int
      - name: '*n'
        type: char
      - name: '*s'
        type: char
      item_type: struct
      name: algos
      pos:
        line_end: 14350
        line_start: 14339
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: md
        type: int
      - name: '*data'
        type: char
      - name: '*key'
        type: char
      - name: '*expect'
        type: char
      item_type: struct
      name: algos
      pos:
        line_end: 15878
        line_start: 15872
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: algo
        type: int
      - name: '*data'
        type: char
      - name: '*key'
        type: char
      - name: '*expect'
        type: char
      - name: '*iv'
        type: char
      - name: dlen
        type: unsigned int
      - name: klen
        type: unsigned int
      item_type: struct
      name: algos
      pos:
        line_end: 16449
        line_start: 16440
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: '*data'
        type: char
      - name: algo
        type: int
      - name: expected_rc
        type: int
      - name: flags
        type: int
      item_type: struct
      name: "datas[] =\n    {\n      { \"(data\\n (flags pkcs1)\\n\"\n\t\" (hash sha1
        #11223344556677889900AABBCCDDEEFF10203040#))\\n\",\n\tGCRY_PK_RSA,\n\t0 },\n
        \     { \"(data\\n (flags pkcs1-raw)\\n\"\n\t\" (hash sha1 #11223344556677889900AABBCCDDEEFF10203040#))\\n\",\n\tGCRY_PK_RSA,\n\tGPG_ERR_CONFLICT
        },\n      { \"(data\\n (flags oaep)\\n\"\n\t\" (hash sha1 #11223344556677889900AABBCCDDEEFF10203040#))\\n\",\n\t0,\n\tGPG_ERR_CONFLICT
        },\n      /* This test is to see whether hash algorithms not hard wired in\n
        \        pubkey.c are detected:  */\n      { \"(data\\n (flags pkcs1)\\n\"\n\t\"
        (hash oid.1.3.14.3.2.29 \"\n        \"       #11223344556677889900AABBCCDDEEFF10203040#))\\n\",\n\tGCRY_PK_RSA,\n\t0
        },\n      {\t\"(data\\n (flags )\\n\"\n\t\" (hash sha1 #11223344556677889900AABBCCDDEEFF10203040#))\\n\",\n\t0,\n\tGPG_ERR_CONFLICT
        },\n      {\t\"(data\\n (flags pkcs1)\\n\"\n\t\" (hash foo #11223344556677889900AABBCCDDEEFF10203040#))\\n\",\n\tGCRY_PK_RSA,\n\tGPG_ERR_DIGEST_ALGO
        },\n      {\t\"(data\\n (flags )\\n\" \" (value #11223344556677889900AA#))\\n\",\n\t0,\n\t0
        },\n      {\t\"(data\\n (flags )\\n\" \" (value #0090223344556677889900AA#))\\n\",\n\t0,\n\t0
        },\n      { \"(data\\n (flags raw)\\n\" \" (value #11223344556677889900AA#))\\n\",\n\t0,\n\t0
        },\n      {\t\"(data\\n (flags pkcs1)\\n\"\n\t\" (value #11223344556677889900AA#))\\n\",\n\tGCRY_PK_RSA,\n\tGPG_ERR_CONFLICT
        },\n      { \"(data\\n (flags pkcs1-raw)\\n\"\n\t\" (value #11223344556677889900AA#))\\n\",\n\tGCRY_PK_RSA,\n\t0
        },\n      { \"(data\\n (flags raw foo)\\n\"\n\t\" (value #11223344556677889900AA#))\\n\",\n\t0,\n\tGPG_ERR_INV_FLAG
        },\n      { \"(data\\n (flags pss)\\n\"\n\t\" (hash sha1 #11223344556677889900AABBCCDDEEFF10203040#))\\n\",\n\tGCRY_PK_RSA,\n\t0
        },\n      { \"(data\\n (flags pss)\\n\"\n\t\" (hash sha1 #11223344556677889900AABBCCDDEEFF10203040#)\\n\"\n
        \       \" (random-override #4253647587980912233445566778899019283747#))\\n\",\n\tGCRY_PK_RSA,\n\t0
        },\n      { \"(data\\n (flags pss)\\n\"\n\t\" (hash-algo sha1)\\n\"\n\t\"
        (value #11223344556677889900AA#))\\n\",\n\tGCRY_PK_RSA,\n\t0 },\n      { \"(data\\n
        (flags pss)\\n\"\n\t\" (hash-algo sha1)\\n\"\n\t\" (value #11223344556677889900AA#)\\n\"\n
        \       \" (random-override #4253647587980912233445566778899019283747#))\\n\",\n\tGCRY_PK_RSA,\n\t0
        },\n      { \"(data\\n (flags pss)\\n\"\n\t\" (hash-algo sha256)\\n\"\n\t\"
        (value #11223344556677889900AABBCCDDEEFF#)\\n\"\n\t\" (salt-length 2:32)\\n\"\n
        \       \" (random-override #42536475879809122334455667788990192837465564738291\"\n
        \                          \"00122334455667#))\\n\",\n\tGCRY_PK_RSA,\n\t0
        },\n      { \"(data\\n (flags pss)\\n\"\n\t\" (hash-algo sha256)\\n\"\n\t\"
        (value #11223344556677889900AABBCCDDEEFF#)\\n\"\n\t\" (salt-length 2:33)\\n\"\n
        \       \" (random-override #42536475879809122334455667788990192837465564738291\"\n
        \                          \"0012233445566778#))\\n\",\n\tGCRY_PK_RSA,\n\t0,
        FLAG_NOFIPS },\n      { NULL }\n    }"
      pos:
        line_end: 17433
        line_start: 17427
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: nbits
        type: unsigned int
      - name: '*data'
        type: char
      - name: expected_rc
        type: int
      - name: '*baddata'
        type: char
      - name: dummy
        type: int
      item_type: struct
      name: "datas[] =\n    {\n      { 192,\n        \"(data (flags raw)\\n\"\n        \"
        (value #00112233445566778899AABBCCDDEEFF0001020304050607#))\",\n        0,\n
        \       \"(data (flags raw)\\n\"\n        \" (value #80112233445566778899AABBCCDDEEFF0001020304050607#))\",\n
        \       0\n      },\n      { 256,\n        \"(data (flags raw)\\n\"\n        \"
        (value #00112233445566778899AABBCCDDEEFF\"\n        /* */    \"000102030405060708090A0B0C0D0E0F#))\",\n
        \       0,\n        \"(data (flags raw)\\n\"\n        \" (value #80112233445566778899AABBCCDDEEFF\"\n
        \       /* */    \"000102030405060708090A0B0C0D0E0F#))\",\n        0\n      },\n
        \     { 256,\n        \"(data (flags raw)\\n\"\n        \" (hash sha256 #00112233445566778899AABBCCDDEEFF\"\n
        \       /* */          \"000102030405060708090A0B0C0D0E0F#))\",\n        0,\n
        \       \"(data (flags raw)\\n\"\n        \" (hash sha256 #80112233445566778899AABBCCDDEEFF\"\n
        \       /* */          \"000102030405060708090A0B0C0D0E0F#))\",\n        0\n
        \     },\n      { 256,\n        \"(data (flags gost)\\n\"\n        \" (value
        #00112233445566778899AABBCCDDEEFF\"\n        /* */    \"000102030405060708090A0B0C0D0E0F#))\",\n
        \       0,\n        \"(data (flags gost)\\n\"\n        \" (value #80112233445566778899AABBCCDDEEFF\"\n
        \       /* */    \"000102030405060708090A0B0C0D0E0F#))\",\n        0\n      },\n
        \     { 512,\n        \"(data (flags gost)\\n\"\n        \" (value #00112233445566778899AABBCCDDEEFF\"\n
        \       /* */    \"000102030405060708090A0B0C0D0E0F\"\n        /* */    \"000102030405060708090A0B0C0D0E0F\"\n
        \       /* */    \"000102030405060708090A0B0C0D0E0F#))\",\n        0,\n        \"(data
        (flags gost)\\n\"\n        \" (value #80112233445566778899AABBCCDDEEFF\"\n
        \       /* */    \"000102030405060708090A0B0C0D0E0F\"\n        /* */    \"000102030405060708090A0B0C0D0E0F\"\n
        \       /* */    \"000102030405060708090A0B0C0D0E0F#))\",\n        0\n      },\n
        \     { 256,\n        \"(data (flags sm2)\\n\"\n        \" (hash sm3 #112233445566778899AABBCCDDEEFF00\"\n
        \       /* */       \"123456789ABCDEF0123456789ABCDEF0#))\",\n        0,\n
        \       \"(data (flags sm2)\\n\"\n        \" (hash sm3 #B524F552CD82B8B028476E005C377FB1\"\n
        \       /* */       \"9A87E6FC682D48BB5D42E3D9B9EFFE76#))\",\n        0\n
        \     },\n      { 0, NULL }\n    }"
      pos:
        line_end: 17582
        line_start: 17575
        source_file: /src/libgcrypt/tests/basic.c
    - fields:
      - name: algo
        type: int
      - name: '*data'
        type: char
      - name: '*hint'
        type: char
      - name: unpadded
        type: int
      - name: encrypt_expected_rc
        type: int
      - name: decrypt_expected_rc
        type: int
      - name: flags
        type: int
      item_type: struct
      name: "datas[] =\n    {\n      {\tGCRY_PK_RSA,\n        \"(data\\n (flags pkcs1)\\n\"\n\t\"
        (value #11223344556677889900AA#))\\n\",\n\tNULL,\n\t0,\n\t0,\n\t0 },\n      {\tGCRY_PK_RSA,\n
        \       \"(data\\n (flags pkcs1)\\n\"\n\t\" (value #11223344556677889900AA#))\\n\",\n\t\"(flags
        pkcs1)\",\n\t1,\n\t0,\n\t0 },\n      { GCRY_PK_RSA,\n        \"(data\\n (flags
        oaep)\\n\"\n\t\" (value #11223344556677889900AA#))\\n\",\n\t\"(flags oaep)\",\n\t1,\n\t0,\n\t0
        },\n      { GCRY_PK_RSA,\n        \"(data\\n (flags oaep)\\n (hash-algo sha1)\\n\"\n\t\"
        (value #11223344556677889900AA#))\\n\",\n\t\"(flags oaep)(hash-algo sha1)\",\n\t1,\n\t0,\n\t0
        },\n      { GCRY_PK_RSA,\n        \"(data\\n (flags oaep)\\n (hash-algo sha1)\\n
        (label \\\"test\\\")\\n\"\n\t\" (value #11223344556677889900AA#))\\n\",\n\t\"(flags
        oaep)(hash-algo sha1)(label \\\"test\\\")\",\n\t1,\n\t0,\n\t0 },\n      {
        GCRY_PK_RSA,\n        \"(data\\n (flags oaep)\\n (hash-algo sha1)\\n (label
        \\\"test\\\")\\n\"\n\t\" (value #11223344556677889900AA#)\\n\"\n        \"
        (random-override #4253647587980912233445566778899019283747#))\\n\",\n\t\"(flags
        oaep)(hash-algo sha1)(label \\\"test\\\")\",\n\t1,\n\t0,\n\t0 },\n      {\t0,\n
        \       \"(data\\n (flags )\\n\" \" (value #11223344556677889900AA#))\\n\",\n\tNULL,\n\t1,\n\t0,\n\t0
        },\n      {\t0,\n        \"(data\\n (flags )\\n\" \" (value #0090223344556677889900AA#))\\n\",\n\tNULL,\n\t1,\n\t0,\n\t0
        },\n      { 0,\n        \"(data\\n (flags raw)\\n\" \" (value #11223344556677889900AA#))\\n\",\n\tNULL,\n\t1,\n\t0,\n\t0
        },\n      { GCRY_PK_RSA,\n        \"(data\\n (flags pkcs1)\\n\"\n\t\" (hash
        sha1 #11223344556677889900AABBCCDDEEFF10203040#))\\n\",\n\tNULL,\n\t0,\n\tGPG_ERR_CONFLICT,\n\t0},\n
        \     { 0,\n        \"(data\\n (flags raw foo)\\n\"\n\t\" (hash sha1 #11223344556677889900AABBCCDDEEFF10203040#))\\n\",\n\tNULL,\n\t0,\n\tGPG_ERR_INV_FLAG,\n\t0},\n
        \     { 0,\n        \"(data\\n (flags raw)\\n\"\n\t\" (value #11223344556677889900AA#))\\n\",\n\t\"(flags
        oaep)\",\n\t1,\n\t0,\n\tGPG_ERR_ENCODING_PROBLEM, FLAG_SPECIAL },\n      {
        GCRY_PK_RSA,\n        \"(data\\n (flags oaep)\\n\"\n\t\" (value #11223344556677889900AA#))\\n\",\n\t\"(flags
        pkcs1)\",\n\t1,\n\t0,\n\tGPG_ERR_ENCODING_PROBLEM, FLAG_SPECIAL },\n      {\t0,\n
        \       \"(data\\n (flags pss)\\n\"\n\t\" (value #11223344556677889900AA#))\\n\",\n\tNULL,\n\t0,\n\tGPG_ERR_CONFLICT
        },\n      { 0, NULL }\n    }"
      pos:
        line_end: 17715
        line_start: 17706
        source_file: /src/libgcrypt/tests/basic.c
    typedefs: []
    union: []
- function_names:
  - print_mpi
  - show_note
  - hex2buffer
  - reverse_buffer
  - test_cv_hl
  - test_cv_x448
  - test_cv
  - test_it
  - test_dh
  - check_x448
  - main
  source_file: /src/libgcrypt/tests/t-x448.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/tests/t-x448.c
      type_or_value: '"t-x448"'
    - item_type: preproc_def
      name: N_TESTS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/tests/t-x448.c
      type_or_value: '9'
    - item_type: preproc_def
      name: G_X
      pos:
        line_end: 429
        line_start: 427
        source_file: /src/libgcrypt/tests/t-x448.c
      type_or_value: "(\"0500000000000000000000000000000000000000000000000000000000000000\"
        \\\n             \"000000000000000000000000000000000000000000000000\")"
    structs: []
    typedefs: []
    union: []
- function_names:
  - show_sexp
  - data_from_hex
  - extract_cmp_data
  - check_oaep
  - check_pss
  - check_v15crypt
  - check_v15sign
  - main
  source_file: /src/libgcrypt/tests/pkcs1v2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/tests/pkcs1v2.c
      type_or_value: '"pkcs1v2"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_one
  - check
  - check_one_with_padding
  - check_all
  - main
  source_file: /src/libgcrypt/tests/aeswrap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libgcrypt/tests/aeswrap.c
      type_or_value: '"aeswrap"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mldsa_get_info_by_algo
  - parse_annotation
  - one_genkey_test
  - one_siggen_test
  - one_sigver_test
  - check_mldsa_kat
  - main
  source_file: /src/libgcrypt/tests/t-mldsa.c
  types:
    enum:
    - enumerators:
      - name: GCRY_MLDSA44
      - name: GCRY_MLDSA65
      - name: GCRY_MLDSA87
      item_type: enum
      name: gcry_mldsa_algos
      pos:
        line_end: 51
        line_start: 46
        source_file: /src/libgcrypt/tests/t-mldsa.c
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/tests/t-mldsa.c
      type_or_value: '"t-mldsa"'
    - item_type: preproc_def
      name: N_TESTS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/tests/t-mldsa.c
      type_or_value: '9'
    - item_type: preproc_def
      name: MAX_PUBKEY_LEN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/tests/t-mldsa.c
      type_or_value: '2592'
    - item_type: preproc_def
      name: MAX_SECKEY_LEN
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libgcrypt/tests/t-mldsa.c
      type_or_value: '4896'
    - item_type: preproc_def
      name: MAX_SIG_LEN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libgcrypt/tests/t-mldsa.c
      type_or_value: '4627'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: namelen
        type: unsigned int
      - name: algo
        type: int
      - name: nbits
        type: unsigned int
      - name: fips
        type: unsigned int
      - name: pubkey_len
        type: int
      - name: seckey_len
        type: int
      - name: sig_len
        type: int
      item_type: struct
      name: mldsa_info
      pos:
        line_end: 65
        line_start: 55
        source_file: /src/libgcrypt/tests/t-mldsa.c
    typedefs: []
    union: []
- function_names:
  - check_rsa_testparm
  - main
  source_file: /src/libgcrypt/tests/t-rsa-testparm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libgcrypt/tests/t-rsa-testparm.c
      type_or_value: '"t-rsa-testparm"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - showhex
  - mpi2bitstr_nlz
  - showmpi
  - negative_zero
  - check_formats
  - main
  source_file: /src/libgcrypt/tests/t-convert.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libgcrypt/tests/t-convert.c
      type_or_value: '"t-convert"'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: format
        type: enum gcry_mpi_format
      item_type: struct
      name: "fmts[] =\n    {\n      { \"STD\", GCRYMPI_FMT_STD },\n      { \"PGP\",
        GCRYMPI_FMT_PGP },\n      { \"SSH\", GCRYMPI_FMT_SSH },\n      { \"HEX\",
        GCRYMPI_FMT_HEX },\n      { \"USG\", GCRYMPI_FMT_USG },\n      { NULL, 0 }\n
        \   }"
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/libgcrypt/tests/t-convert.c
    - fields:
      - name: have_value
        type: int
      - name: value
        type: int
      - name: a
        type: "struct {\n      const char *hex;\n      size_t stdlen;\n      const
          char *std;\n      size_t sshlen;\n      const char *ssh;\n      size_t usglen;\n
          \     const char *usg;\n      size_t pgplen;\n      const char *pgp;\n    }"
      item_type: struct
      name: "data[] = {\n    {\n      1, 0,\n      { \"00\",\n\t0, \"\",\n\t4, \"\\x00\\x00\\x00\\x00\",\n\t0,
        \"\",\n\t2, \"\\x00\\x00\" }\n    },\n    {\n      1, 1,\n      { \"01\",\n\t1,
        \"\\x01\",\n\t5, \"\\x00\\x00\\x00\\x01\\x01\",\n\t1, \"\\x01\",\n\t3, \"\\x00\\x01\\x01\"
        }\n    },\n    {\n      1, 2,\n      { \"02\",\n\t1, \"\\x02\",\n\t5, \"\\x00\\x00\\x00\\x01\\x02\",\n\t1,
        \"\\x02\",\n\t3, \"\\x00\\x02\\x02\" }\n    },\n    {\n      1, 127,\n      {
        \"7F\",\n\t1, \"\\x7f\",\n\t5, \"\\x00\\x00\\x00\\x01\\x7f\",\n\t1, \"\\x7f\",\n\t3,
        \"\\x00\\x07\\x7f\" }\n    },\n    {\n      1, 128,\n      { \"0080\",\n\t2,
        \"\\x00\\x80\",\n\t6, \"\\x00\\x00\\x00\\x02\\x00\\x80\",\n\t1, \"\\x80\",\n\t3,
        \"\\x00\\x08\\x80\" }\n    },\n    {\n      1, 129,\n      { \"0081\",\n\t2,
        \"\\x00\\x81\",\n\t6, \"\\x00\\x00\\x00\\x02\\x00\\x81\",\n\t1, \"\\x81\",\n\t3,
        \"\\x00\\x08\\x81\" }\n    },\n    {\n      1, 255,\n      { \"00FF\",\n\t2,
        \"\\x00\\xff\",\n\t6, \"\\x00\\x00\\x00\\x02\\x00\\xff\",\n\t1, \"\\xff\",\n\t3,
        \"\\x00\\x08\\xff\" }\n    },\n    {\n      1, 256,\n      { \"0100\",\n\t2,
        \"\\x01\\x00\",\n\t6, \"\\x00\\x00\\x00\\x02\\x01\\x00\",\n\t2, \"\\x01\\x00\",\n\t4,
        \"\\x00\\x09\\x01\\x00\" }\n    },\n    {\n      1, 257,\n      { \"0101\",\n\t2,
        \"\\x01\\x01\",\n\t6, \"\\x00\\x00\\x00\\x02\\x01\\x01\",\n\t2, \"\\x01\\x01\",\n\t4,
        \"\\x00\\x09\\x01\\x01\" }\n    },\n    {\n      1, -1,\n      { \"-01\",\n\t1,
        \"\\xff\",\n\t5, \"\\x00\\x00\\x00\\x01\\xff\",\n\t1,\"\\x01\" }\n    },\n
        \   {\n      1, -2,\n      { \"-02\",\n\t1, \"\\xfe\",\n\t5, \"\\x00\\x00\\x00\\x01\\xfe\",\n\t1,
        \"\\x02\" }\n    },\n    {\n      1, -127,\n      { \"-7F\",\n\t1, \"\\x81\",\n\t5,
        \"\\x00\\x00\\x00\\x01\\x81\",\n\t1, \"\\x7f\" }\n    },\n    {\n      1,
        -128,\n      { \"-0080\",\n\t1, \"\\x80\",\n\t5, \"\\x00\\x00\\x00\\x01\\x80\",\n\t1,
        \"\\x80\" }\n    },\n    {\n      1, -129,\n      { \"-0081\",\n\t2, \"\\xff\\x7f\",\n\t6,
        \"\\x00\\x00\\x00\\x02\\xff\\x7f\",\n\t1, \"\\x81\" }\n    },\n    {\n      1,
        -255,\n      { \"-00FF\",\n\t2, \"\\xff\\x01\",\n\t6, \"\\x00\\x00\\x00\\x02\\xff\\x01\",\n\t1,
        \"\\xff\" }\n    },\n    {\n      1, -256,\n      { \"-0100\",\n\t2, \"\\xff\\x00\",\n\t6,
        \"\\x00\\x00\\x00\\x02\\xff\\x00\",\n\t2, \"\\x01\\x00\" }\n    },\n    {\n
        \     1, -257,\n      { \"-0101\",\n\t2, \"\\xfe\\xff\",\n\t6, \"\\x00\\x00\\x00\\x02\\xfe\\xff\",\n\t2,
        \"\\x01\\x01\" }\n    },\n    {\n      1, 65535,\n      { \"00FFFF\",\n\t3,
        \"\\x00\\xff\\xff\",\n\t7, \"\\x00\\x00\\x00\\x03\\x00\\xff\\xff\",\n\t2,
        \"\\xff\\xff\",\n\t4, \"\\x00\\x10\\xff\\xff\" }\n    },\n    {\n      1,
        65536,\n      { \"010000\",\n\t3, \"\\x01\\00\\x00\",\n\t7, \"\\x00\\x00\\x00\\x03\\x01\\x00\\x00\",\n\t3,
        \"\\x01\\x00\\x00\",\n\t5, \"\\x00\\x11\\x01\\x00\\x00 \"}\n    },\n    {\n
        \     1, 65537,\n      { \"010001\",\n\t3, \"\\x01\\00\\x01\",\n\t7, \"\\x00\\x00\\x00\\x03\\x01\\x00\\x01\",\n\t3,
        \"\\x01\\x00\\x01\",\n\t5, \"\\x00\\x11\\x01\\x00\\x01\" }\n    },\n    {\n
        \     1, -65537,\n      { \"-010001\",\n\t3, \"\\xfe\\xff\\xff\",\n\t7, \"\\x00\\x00\\x00\\x03\\xfe\\xff\\xff\",\n\t3,
        \"\\x01\\x00\\x01\" }\n    },\n    {\n      1, -65536,\n      { \"-010000\",\n\t3,
        \"\\xff\\x00\\x00\",\n\t7, \"\\x00\\x00\\x00\\x03\\xff\\x00\\x00\",\n\t3,
        \"\\x01\\x00\\x00\" }\n    },\n    {\n      1, -65535,\n      { \"-00FFFF\",\n\t3,
        \"\\xff\\x00\\x01\",\n\t7, \"\\x00\\x00\\x00\\x03\\xff\\x00\\x01\",\n\t2,
        \"\\xff\\xff\" }\n    },\n    {\n      1, 0x7fffffff,\n      { \"7FFFFFFF\",\n\t4,
        \"\\x7f\\xff\\xff\\xff\",\n\t8, \"\\x00\\x00\\x00\\x04\\x7f\\xff\\xff\\xff\",\n\t4,
        \"\\x7f\\xff\\xff\\xff\",\n\t6, \"\\x00\\x1f\\x7f\\xff\\xff\\xff\" }\n    },\n
        \   { 1, -0x7fffffff,\n      { \"-7FFFFFFF\",\n\t4, \"\\x80\\x00\\x00\\x01\",\n\t8,
        \"\\x00\\x00\\x00\\x04\\x80\\x00\\x00\\x01\",\n\t4, \"\\x7f\\xff\\xff\\xff\"
        }\n    },\n    {\n      1, (int)0x800000ffU,\n      { \"-7FFFFF01\",\n\t4,
        \"\\x80\\x00\\x00\\xff\",\n\t8, \"\\x00\\x00\\x00\\x04\\x80\\x00\\x00\\xff\",\n\t4,
        \"\\x7f\\xff\\xff\\x01\" }\n    },\n    {\n      1, (int)0x800000feU,\n      {
        \"-7FFFFF02\",\n\t4, \"\\x80\\x00\\x00\\xfe\",\n\t8, \"\\x00\\x00\\x00\\x04\\x80\\x00\\x00\\xfe\",\n\t4,
        \"\\x7f\\xff\\xff\\x02\" }\n    },\n    {\n      1, (int)0x800000fcU,\n      {
        \"-7FFFFF04\",\n\t4, \"\\x80\\x00\\x00\\xfc\",\n\t8, \"\\x00\\x00\\x00\\x04\\x80\\x00\\x00\\xfc\",\n\t4,
        \"\\x7f\\xff\\xff\\x04\" }\n    },\n    {\n      1, (int)0x800000f8U,\n      {
        \"-7FFFFF08\",\n\t4, \"\\x80\\x00\\x00\\xf8\",\n\t8, \"\\x00\\x00\\x00\\x04\\x80\\x00\\x00\\xf8\",\n\t4,
        \"\\x7f\\xff\\xff\\x08\" }\n    },\n    {\n      1, (int)0x800000f0U,\n      {
        \"-7FFFFF10\",\n\t4, \"\\x80\\x00\\x00\\xf0\",\n\t8, \"\\x00\\x00\\x00\\x04\\x80\\x00\\x00\\xf0\",\n\t4,
        \"\\x7f\\xff\\xff\\x10\" }\n    },\n    {\n      1, (int)0x800000e0U,\n      {
        \"-7FFFFF20\",\n\t4, \"\\x80\\x00\\x00\\xe0\",\n\t8, \"\\x00\\x00\\x00\\x04\\x80\\x00\\x00\\xe0\",\n\t4,
        \"\\x7f\\xff\\xff\\x20\" }\n    },\n    {\n      1, (int)0x800000c0U,\n      {
        \"-7FFFFF40\",\n\t4, \"\\x80\\x00\\x00\\xc0\",\n\t8, \"\\x00\\x00\\x00\\x04\\x80\\x00\\x00\\xc0\",\n\t4,
        \"\\x7f\\xff\\xff\\x40\" }\n    },\n    {\n      1, (int)0x80000080U,\n      {
        \"-7FFFFF80\",\n\t4, \"\\x80\\x00\\x00\\x80\",\n\t8, \"\\x00\\x00\\x00\\x04\\x80\\x00\\x00\\x80\",\n\t4,
        \"\\x7f\\xff\\xff\\x80\" }\n    },\n    {\n      1, (int)0x80000100U,\n      {
        \"-7FFFFF00\",\n\t4, \"\\x80\\x00\\x01\\x00\",\n\t8, \"\\x00\\x00\\x00\\x04\\x80\\x00\\x01\\x00\",\n\t4,
        \"\\x7f\\xff\\xff\\x00\" }\n    },\n    {\n      0, 0,\n      { \"076543210FEDCBA9876543210123456789ABCDEF00112233\",\n\t24,
        \"\\x07\\x65\\x43\\x21\\x0f\\xed\\xcb\\xa9\\x87\\x65\\x43\\x21\\x01\\x23\"\n\t
        \   \"\\x45\\x67\\x89\\xab\\xcd\\xef\\x00\\x11\\x22\\x33\",\n\t28, \"\\x00\\x00\\x00\\x18\\x07\\x65\\x43\\x21\\x0f\\xed\\xcb\\xa9\\x87\\x65\"\n\t
        \   \"\\x43\\x21\\x01\\x23\\x45\\x67\\x89\\xab\\xcd\\xef\\x00\\x11\\x22\\x33\"\n\t
        \   \"\\x44\",\n\t24, \"\\x07\\x65\\x43\\x21\\x0f\\xed\\xcb\\xa9\\x87\\x65\\x43\\x21\\x01\\x23\"\n\t
        \   \"\\x45\\x67\\x89\\xab\\xcd\\xef\\x00\\x11\\x22\\x33\",\n\t26, \"\\x00\\xbb\\x07\\x65\\x43\\x21\\x0f\\xed\\xcb\\xa9\\x87\\x65\\x43\\x21\"\n\t
        \   \"\\x01\\x23\\x45\\x67\\x89\\xab\\xcd\\xef\\x00\\x11\\x22\\x33\" }\n    },\n
        \   {\n      0, 0,\n      { \"-07FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01\",\n\t24,
        \"\\xf8\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\"\n\t
        \   \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xff\",\n\t28, \"\\x00\\x00\\x00\\x18\\xf8\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\"\n\t
        \   \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xff\",\n\t24,
        \"\\x07\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\"\n\t
        \   \"\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x01\" }\n    }\n  }"
      pos:
        line_end: 156
        line_start: 142
        source_file: /src/libgcrypt/tests/t-convert.c
    typedefs: []
    union: []
- function_names:
  - DIM
  - DIMof
  - xmalloc
  - xcalloc
  - xstrdup
  - xfree
  - my_isascii
  - digitp
  - hexdigitp
  - xtoi_1
  - xtoi_2
  - xmalloc
  - xcalloc
  - xstrdup
  - xfree
  - pass
  - die
  - fail
  - info
  - xgcry_control
  - split_fields_colon
  - show_note
  - show_sexp
  - prepend_srcdir
  - read_textline
  - copy_data
  - hex2buffer
  - reverse_buffer
  source_file: /src/libgcrypt/tests/t-common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t_sntrup761_md_hash_buffer
  - t_sntrup761_ct_not_memequal
  - t_sntrup761_ct_memmov_cond
  - rng
  - ref_mod
  - ref_F3_freeze
  - ref_Fq_freeze
  - ref_Rq_mult_small
  - ref_R3_mult
  - test_freeze_helpers
  - make_inputs
  - test_mult
  - main
  source_file: /src/libgcrypt/tests/t-sntrup761.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _gcry_md_hash_buffer
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/tests/t-sntrup761.c
      type_or_value: t_sntrup761_md_hash_buffer
    - item_type: preproc_def
      name: _gcry_ct_not_memequal
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/tests/t-sntrup761.c
      type_or_value: t_sntrup761_ct_not_memequal
    - item_type: preproc_def
      name: _gcry_ct_memmov_cond
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgcrypt/tests/t-sntrup761.c
      type_or_value: t_sntrup761_ct_memmov_cond
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgcrypt/tests/t-sntrup761.c
      type_or_value: '"t-sntrup761"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_secmem
  - test_secmem_overflow
  - outofcore_handler
  - main
  source_file: /src/libgcrypt/tests/t-secmem.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libgcrypt/tests/t-secmem.c
      type_or_value: '"t-secmem"'
    - item_type: preproc_def
      name: DEFAULT_PAGE_SIZE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/tests/t-secmem.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: MINIMUM_POOL_SIZE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/tests/t-secmem.c
      type_or_value: '16384'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/tests/pkcs1v2-pss.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*desc'
        type: char
      - name: '*n'
        type: char
      - name: m[6]
        type: "struct {\n      const char *desc;\n      const char *mesg;\n      const
          char *salt;\n      const char *sign;\n    }"
      item_type: struct
      name: "tbl[] =\n  {\n    {\n      \"Example 1: A 1024-bit RSA key pair\",\n
        \     \"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991\"\n
        \     \"d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1df\"\n
        \     \"d5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f1\"\n
        \     \"05acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137\",\n
        \     \"010001\",\n      \"33a5042a90b27d4f5451ca9bbbd0b44771a101af884340aef9885f2a4bbe92e8\"\n
        \     \"94a724ac3c568c8f97853ad07c0266c8c6a3ca0929f1e8f11231884429fc4d9a\"\n
        \     \"e55fee896a10ce707c3ed7e734e44727a39574501a532683109c2abacaba283c\"\n
        \     \"31b4bd2f53c3ee37e352cee34f9e503bd80c0622ad79c6dcee883547c6a3b325\",\n
        \     {\n        {\n          \"PSS Example 1.1\",\n          \"cdc87da223d786df3b45e0bbbc721326d1ee2af806cc315475cc6f0d9c66e1b6\"\n
        \         \"2371d45ce2392e1ac92844c310102f156a0d8d52c1f4c40ba3aa65095786cb76\"\n
        \         \"9757a6563ba958fed0bcc984e8b517a3d5f515b23b8a41e74aa867693f90dfb0\"\n
        \         \"61a6e86dfaaee64472c00e5f20945729cbebe77f06ce78e08f4098fba41f9d61\"\n
        \         \"93c0317e8b60d4b6084acb42d29e3808a3bc372d85e331170fcbf7cc72d0b71c\"\n
        \         \"296648b3a4d10f416295d0807aa625cab2744fd9ea8fd223c42537029828bd16\"\n
        \         \"be02546f130fd2e33b936d2676e08aed1b73318b750a0167d0\",\n          \"dee959c7e06411361420ff80185ed57f3e6776af\",\n
        \         \"9074308fb598e9701b2294388e52f971faac2b60a5145af185df5287b5ed2887\"\n
        \         \"e57ce7fd44dc8634e407c8e0e4360bc226f3ec227f9d9e54638e8d31f5051215\"\n
        \         \"df6ebb9c2f9579aa77598a38f914b5b9c1bd83c4e2f9f382a0d0aa3542ffee65\"\n
        \         \"984a601bc69eb28deb27dca12c82c2d4c3f66cd500f1ff2b994d8a4e30cbb33c\"\n
        \       },{\n          \"PSS Example 1.2\",\n          \"851384cdfe819c22ed6c4ccb30daeb5cf059bc8e1166b7e3530c4c233e2b5f8f\"\n
        \         \"71a1cca582d43ecc72b1bca16dfc7013226b9e\",\n          \"ef2869fa40c346cb183dab3d7bffc98fd56df42d\",\n
        \         \"3ef7f46e831bf92b32274142a585ffcefbdca7b32ae90d10fb0f0c729984f04e\"\n
        \         \"f29a9df0780775ce43739b97838390db0a5505e63de927028d9d29b219ca2c45\"\n
        \         \"17832558a55d694a6d25b9dab66003c4cccd907802193be5170d26147d37b935\"\n
        \         \"90241be51c25055f47ef62752cfbe21418fafe98c22c4d4d47724fdb5669e843\"\n
        \       },{\n          \"PSS Example 1.3\",\n          \"a4b159941761c40c6a82f2b80d1b94f5aa2654fd17e12d588864679b54cd04ef\"\n
        \         \"8bd03012be8dc37f4b83af7963faff0dfa225477437c48017ff2be8191cf3955\"\n
        \         \"fc07356eab3f322f7f620e21d254e5db4324279fe067e0910e2e81ca2cab31c7\"\n
        \         \"45e67a54058eb50d993cdb9ed0b4d029c06d21a94ca661c3ce27fae1d6cb20f4\"\n
        \         \"564d66ce4767583d0e5f060215b59017be85ea848939127bd8c9c4d47b51056c\"\n
        \         \"031cf336f17c9980f3b8f5b9b6878e8b797aa43b882684333e17893fe9caa6aa\"\n
        \         \"299f7ed1a18ee2c54864b7b2b99b72618fb02574d139ef50f019c9eef4169713\"\n
        \         \"38e7d470\",\n          \"710b9c4747d800d4de87f12afdce6df18107cc77\",\n
        \         \"666026fba71bd3e7cf13157cc2c51a8e4aa684af9778f91849f34335d141c001\"\n
        \         \"54c4197621f9624a675b5abc22ee7d5baaffaae1c9baca2cc373b3f33e78e614\"\n
        \         \"3c395a91aa7faca664eb733afd14d8827259d99a7550faca501ef2b04e33c23a\"\n
        \         \"a51f4b9e8282efdb728cc0ab09405a91607c6369961bc8270d2d4f39fce612b1\"\n
        \       },{\n          \"PSS Example 1.4\",\n          \"bc656747fa9eafb3f0\",\n
        \         \"056f00985de14d8ef5cea9e82f8c27bef720335e\",\n          \"4609793b23e9d09362dc21bb47da0b4f3a7622649a47d464019b9aeafe53359c\"\n
        \         \"178c91cd58ba6bcb78be0346a7bc637f4b873d4bab38ee661f199634c547a1ad\"\n
        \         \"8442e03da015b136e543f7ab07c0c13e4225b8de8cce25d4f6eb8400f81f7e18\"\n
        \         \"33b7ee6e334d370964ca79fdb872b4d75223b5eeb08101591fb532d155a6de87\",\n
        \       },{\n          \"PSS Example 1.5\",\n          \"b45581547e5427770c768e8b82b75564e0ea4e9c32594d6bff706544de0a8776\"\n
        \         \"c7a80b4576550eee1b2acabc7e8b7d3ef7bb5b03e462c11047eadd00629ae575\"\n
        \         \"480ac1470fe046f13a2bf5af17921dc4b0aa8b02bee6334911651d7f8525d10f\"\n
        \         \"32b51d33be520d3ddf5a709955a3dfe78283b9e0ab54046d150c177f037fdccc\"\n
        \         \"5be4ea5f68b5e5a38c9d7edcccc4975f455a6909b4\",\n          \"80e70ff86a08de3ec60972b39b4fbfdcea67ae8e\",\n
        \         \"1d2aad221ca4d31ddf13509239019398e3d14b32dc34dc5af4aeaea3c095af73\"\n
        \         \"479cf0a45e5629635a53a018377615b16cb9b13b3e09d671eb71e387b8545c59\"\n
        \         \"60da5a64776e768e82b2c93583bf104c3fdb23512b7b4e89f633dd0063a530db\"\n
        \         \"4524b01c3f384c09310e315a79dcd3d684022a7f31c865a664e316978b759fad\"\n
        \       },{\n          \"PSS Example 1.6\",\n          \"10aae9a0ab0b595d0841207b700d48d75faedde3b775cd6b4cc88ae06e4694ec\"\n
        \         \"74ba18f8520d4f5ea69cbbe7cc2beba43efdc10215ac4eb32dc302a1f53dc6c4\"\n
        \         \"352267e7936cfebf7c8d67035784a3909fa859c7b7b59b8e39c5c2349f1886b7\"\n
        \         \"05a30267d402f7486ab4f58cad5d69adb17ab8cd0ce1caf5025af4ae24b1fb87\"\n
        \         \"94c6070cc09a51e2f9911311e3877d0044c71c57a993395008806b723ac38373\"\n
        \         \"d395481818528c1e7053739282053529510e935cd0fa77b8fa53cc2d474bd4fb\"\n
        \         \"3cc5c672d6ffdc90a00f9848712c4bcfe46c60573659b11e6457e861f0f604b6\"\n
        \         \"138d144f8ce4e2da73\",\n          \"a8ab69dd801f0074c2a1fc60649836c616d99681\",\n
        \         \"2a34f6125e1f6b0bf971e84fbd41c632be8f2c2ace7de8b6926e31ff93e9af98\"\n
        \         \"7fbc06e51e9be14f5198f91f3f953bd67da60a9df59764c3dc0fe08e1cbef0b7\"\n
        \         \"5f868d10ad3fba749fef59fb6dac46a0d6e504369331586f58e4628f39aa2789\"\n
        \         \"82543bc0eeb537dc61958019b394fb273f215858a0a01ac4d650b955c67f4c58\"\n
        \       }\n      }\n    },\n    {\n      \"Example 2: A 1025-bit RSA key pair\",\n
        \     \"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fe\"\n
        \     \"d006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c\"\n
        \     \"7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b47\"\n
        \     \"2cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33\"\n
        \     \"c9\",\n      \"010001\",\n      \"027d147e4673057377fd1ea201565772176a7dc38358d376045685a2e787c23c\"\n
        \     \"15576bc16b9f444402d6bfc5d98a3e88ea13ef67c353eca0c0ddba9255bd7b8b\"\n
        \     \"b50a644afdfd1dd51695b252d22e7318d1b6687a1c10ff75545f3db0fe602d5f\"\n
        \     \"2b7f294e3601eab7b9d1cecd767f64692e3e536ca2846cb0c2dd486a39fa75b1\",\n
        \     {\n        {\n          \"PSS Example 2.1\",\n          \"daba032066263faedb659848115278a52c44faa3a76f37515ed336321072c40a\"\n
        \         \"9d9b53bc05014078adf520875146aae70ff060226dcb7b1f1fc27e9360\",\n
        \         \"57bf160bcb02bb1dc7280cf0458530b7d2832ff7\",\n          \"014c5ba5338328ccc6e7a90bf1c0ab3fd606ff4796d3c12e4b639ed9136a5fec\"\n
        \         \"6c16d8884bdd99cfdc521456b0742b736868cf90de099adb8d5ffd1deff39ba4\"\n
        \         \"007ab746cefdb22d7df0e225f54627dc65466131721b90af445363a8358b9f60\"\n
        \         \"7642f78fab0ab0f43b7168d64bae70d8827848d8ef1e421c5754ddf42c2589b5\"\n
        \         \"b3\"\n        },{\n          \"PSS Example 2.2\",\n          \"e4f8601a8a6da1be34447c0959c058570c3668cfd51dd5f9ccd6ad4411fe8213\"\n
        \         \"486d78a6c49f93efc2ca2288cebc2b9b60bd04b1e220d86e3d4848d709d032d1\"\n
        \         \"e8c6a070c6af9a499fcf95354b14ba6127c739de1bb0fd16431e46938aec0cf8\"\n
        \         \"ad9eb72e832a7035de9b7807bdc0ed8b68eb0f5ac2216be40ce920c0db0eddd3\"\n
        \         \"860ed788efaccaca502d8f2bd6d1a7c1f41ff46f1681c8f1f818e9c4f6d91a0c\"\n
        \         \"7803ccc63d76a6544d843e084e363b8acc55aa531733edb5dee5b5196e9f03e8\"\n
        \         \"b731b3776428d9e457fe3fbcb3db7274442d785890e9cb0854b6444dace791d7\"\n
        \         \"273de1889719338a77fe\",\n          \"7f6dd359e604e60870e898e47b19bf2e5a7b2a90\",\n
        \         \"010991656cca182b7f29d2dbc007e7ae0fec158eb6759cb9c45c5ff87c7635dd\"\n
        \         \"46d150882f4de1e9ae65e7f7d9018f6836954a47c0a81a8a6b6f83f2944d6081\"\n
        \         \"b1aa7c759b254b2c34b691da67cc0226e20b2f18b42212761dcd4b908a62b371\"\n
        \         \"b5918c5742af4b537e296917674fb914194761621cc19a41f6fb953fbcbb649d\"\n
        \         \"ea\"\n        },{\n          \"PSS Example 2.3\",\n          \"52a1d96c8ac39e41e455809801b927a5b445c10d902a0dcd3850d22a66d2bb07\"\n
        \         \"03e67d5867114595aabf5a7aeb5a8f87034bbb30e13cfd4817a9be7623002360\"\n
        \         \"6d0286a3faf8a4d22b728ec518079f9e64526e3a0cc7941aa338c437997c680c\"\n
        \         \"cac67c66bfa1\",\n          \"fca862068bce2246724b708a0519da17e648688c\",\n
        \         \"007f0030018f53cdc71f23d03659fde54d4241f758a750b42f185f87578520c3\"\n
        \         \"0742afd84359b6e6e8d3ed959dc6fe486bedc8e2cf001f63a7abe16256a1b84d\"\n
        \         \"f0d249fc05d3194ce5f0912742dbbf80dd174f6c51f6bad7f16cf3364eba095a\"\n
        \         \"06267dc3793803ac7526aebe0a475d38b8c2247ab51c4898df7047dc6adf52c6\"\n
        \         \"c4\"\n        },{\n          \"PSS Example 2.4\",\n          \"a7182c83ac18be6570a106aa9d5c4e3dbbd4afaeb0c60c4a23e1969d79ff\",\n
        \         \"8070ef2de945c02387684ba0d33096732235d440\",\n          \"009cd2f4edbe23e12346ae8c76dd9ad3230a62076141f16c152ba18513a48ef6\"\n
        \         \"f010e0e37fd3df10a1ec629a0cb5a3b5d2893007298c30936a95903b6ba85555\"\n
        \         \"d9ec3673a06108fd62a2fda56d1ce2e85c4db6b24a81ca3b496c36d4fd06eb7c\"\n
        \         \"9166d8e94877c42bea622b3bfe9251fdc21d8d5371badad78a488214796335b4\"\n
        \         \"0b\"\n        },{\n          \"PSS Example 2.5\",\n          \"86a83d4a72ee932a4f5630af6579a386b78fe88999e0abd2d49034a4bfc854dd\"\n
        \         \"94f1094e2e8cd7a179d19588e4aefc1b1bd25e95e3dd461f\",\n          \"17639a4e88d722c4fca24d079a8b29c32433b0c9\",\n
        \         \"00ec430824931ebd3baa43034dae98ba646b8c36013d1671c3cf1cf8260c374b\"\n
        \         \"19f8e1cc8d965012405e7e9bf7378612dfcc85fce12cda11f950bd0ba8876740\"\n
        \         \"436c1d2595a64a1b32efcfb74a21c873b3cc33aaf4e3dc3953de67f0674c0453\"\n
        \         \"b4fd9f604406d441b816098cb106fe3472bc251f815f59db2e4378a3addc181e\"\n
        \         \"cf\"\n        },{\n          \"PSS Example 2.6\",\n\n          \"049f9154d871ac4a7c7ab45325ba7545a1ed08f70525b2667cf1\",\n
        \         \"37810def1055ed922b063df798de5d0aabf886ee\",\n          \"00475b1648f814a8dc0abdc37b5527f543b666bb6e39d30e5b49d3b876dccc58\"\n
        \         \"eac14e32a2d55c2616014456ad2f246fc8e3d560da3ddf379a1c0bd200f10221\"\n
        \         \"df078c219a151bc8d4ec9d2fc2564467811014ef15d8ea01c2ebbff8c2c8efab\"\n
        \         \"38096e55fcbe3285c7aa558851254faffa92c1c72b78758663ef4582843139d7\"\n
        \         \"a6\"\n        }\n      }\n    },\n    {\n      \"Example 3: A
        1026-bit RSA key pair\",\n      \"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db67\"\n
        \     \"4e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d9\"\n
        \     \"8170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c\"\n
        \     \"831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a4\"\n
        \     \"43\",\n      \"010001\",\n      \"651451733b56de5ac0a689a4aeb6e6894a69014e076c88dd7a667eab3232bbcc\"\n
        \     \"d2fc44ba2fa9c31db46f21edd1fdb23c5c128a5da5bab91e7f952b67759c7cff\"\n
        \     \"705415ac9fa0907c7ca6178f668fb948d869da4cc3b7356f4008dfd5449d32ee\"\n
        \     \"02d9a477eb69fc29266e5d9070512375a50fbbcc27e238ad98425f6ebbf88991\",\n
        \     {\n        {\n          \"PSS Example 3.1\",\n          \"594b37333bbb2c84524a87c1a01f75fcec0e3256f108e38dca36d70d0057\",\n
        \         \"f31ad6c8cf89df78ed77feacbcc2f8b0a8e4cfaa\",\n          \"0088b135fb1794b6b96c4a3e678197f8cac52b64b2fe907d6f27de761124964a\"\n
        \         \"99a01a882740ecfaed6c01a47464bb05182313c01338a8cd097214cd68ca103b\"\n
        \         \"d57d3bc9e816213e61d784f182467abf8a01cf253e99a156eaa8e3e1f90e3c6e\"\n
        \         \"4e3aa2d83ed0345b89fafc9c26077c14b6ac51454fa26e446e3a2f153b2b1679\"\n
        \         \"7f\"\n        },{\n          \"PSS Example 3.2\",\n          \"8b769528884a0d1ffd090cf102993e796dadcfbddd38e44ff6324ca451\",\n
        \         \"fcf9f0e1f199a3d1d0da681c5b8606fc642939f7\",\n          \"02a5f0a858a0864a4f65017a7d69454f3f973a2999839b7bbc48bf7864116917\"\n
        \         \"9556f595fa41f6ff18e286c2783079bc0910ee9cc34f49ba681124f923dfa88f\"\n
        \         \"426141a368a5f5a930c628c2c3c200e18a7644721a0cbec6dd3f6279bde3e8f2\"\n
        \         \"be5e2d4ee56f97e7ceaf33054be7042bd91a63bb09f897bd41e81197dee99b11\"\n
        \         \"af\"\n        },{\n          \"PSS Example 3.3\",\n          \"1abdba489c5ada2f995ed16f19d5a94d9e6ec34a8d84f84557d26e5ef9b02b22\"\n
        \         \"887e3f9a4b690ad1149209c20c61431f0c017c36c2657b35d7b07d3f5ad87085\"\n
        \         \"07a9c1b831df835a56f831071814ea5d3d8d8f6ade40cba38b42db7a2d3d7a29\"\n
        \         \"c8f0a79a7838cf58a9757fa2fe4c40df9baa193bfc6f92b123ad57b07ace3e6a\"\n
        \         \"c068c9f106afd9eeb03b4f37c25dbfbcfb3071f6f9771766d072f3bb070af660\"\n
        \         \"5532973ae25051\",\n          \"986e7c43dbb671bd41b9a7f4b6afc80e805f2423\",\n
        \         \"0244bcd1c8c16955736c803be401272e18cb990811b14f72db964124d5fa7606\"\n
        \         \"49cbb57afb8755dbb62bf51f466cf23a0a1607576e983d778fceffa92df7548a\"\n
        \         \"ea8ea4ecad2c29dd9f95bc07fe91ecf8bee255bfe8762fd7690aa9bfa4fa0849\"\n
        \         \"ef728c2c42c4532364522df2ab7f9f8a03b63f7a499175828668f5ef5a29e380\"\n
        \         \"2c\"\n        },{\n          \"PSS Example 3.4\",\n          \"8fb431f5ee792b6c2ac7db53cc428655aeb32d03f4e889c5c25de683c461b53a\"\n
        \         \"cf89f9f8d3aabdf6b9f0c2a1de12e15b49edb3919a652fe9491c25a7fce1f722\"\n
        \         \"c2543608b69dc375ec\",\n          \"f8312d9c8eea13ec0a4c7b98120c87509087c478\",\n
        \         \"0196f12a005b98129c8df13c4cb16f8aa887d3c40d96df3a88e7532ef39cd992\"\n
        \         \"f273abc370bc1be6f097cfebbf0118fd9ef4b927155f3df22b904d90702d1f7b\"\n
        \         \"a7a52bed8b8942f412cd7bd676c9d18e170391dcd345c06a730964b3f30bcce0\"\n
        \         \"bb20ba106f9ab0eeb39cf8a6607f75c0347f0af79f16afa081d2c92d1ee6f836\"\n
        \         \"b8\"\n        },{\n          \"PSS Example 3.5\",\n          \"fef4161dfaaf9c5295051dfc1ff3810c8c9ec2e866f7075422c8ec4216a9c4ff\"\n
        \         \"49427d483cae10c8534a41b2fd15fee06960ec6fb3f7a7e94a2f8a2e3e43dc4a\"\n
        \         \"40576c3097ac953b1de86f0b4ed36d644f23ae14425529622464ca0cbf0b1741\"\n
        \         \"347238157fab59e4de5524096d62baec63ac64\",\n          \"50327efec6292f98019fc67a2a6638563e9b6e2d\",\n
        \         \"021eca3ab4892264ec22411a752d92221076d4e01c0e6f0dde9afd26ba5acf6d\"\n
        \         \"739ef987545d16683e5674c9e70f1de649d7e61d48d0caeb4fb4d8b24fba84a6\"\n
        \         \"e3108fee7d0705973266ac524b4ad280f7ae17dc59d96d3351586b5a3bdb895d\"\n
        \         \"1e1f7820ac6135d8753480998382ba32b7349559608c38745290a85ef4e9f9bd\"\n
        \         \"83\"\n        },{\n          \"PSS Example 3.6\",\n          \"efd237bb098a443aeeb2bf6c3f8c81b8c01b7fcb3feb\",\n
        \         \"b0de3fc25b65f5af96b1d5cc3b27d0c6053087b3\",\n          \"012fafec862f56e9e92f60ab0c77824f4299a0ca734ed26e0644d5d222c7f0bd\"\n
        \         \"e03964f8e70a5cb65ed44e44d56ae0edf1ff86ca032cc5dd4404dbb76ab85458\"\n
        \         \"6c44eed8336d08d457ce6c03693b45c0f1efef93624b95b8ec169c616d20e553\"\n
        \         \"8ebc0b6737a6f82b4bc0570924fc6b35759a3348426279f8b3d7744e2d222426\"\n
        \         \"ce\"\n        }\n      }\n    },\n    {\n      \"Example 4: A
        1027-bit RSA key pair\",\n\n      \"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c42\"\n
        \     \"1b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba9\"\n
        \     \"00fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277c\"\n
        \     \"e559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c37\"\n
        \     \"05\",\n      \"010001\",\n      \"fa041f8cd9697ceed38ec8caa275523b4dd72b09a301d3541d72f5d31c05cbce\"\n
        \     \"2d6983b36183af10690bd46c46131e35789431a556771dd0049b57461bf060c1\"\n
        \     \"f68472e8a67c25f357e5b6b4738fa541a730346b4a07649a2dfa806a69c975b6\"\n
        \     \"aba64678acc7f5913e89c622f2d8abb1e3e32554e39df94ba60c002e387d9011\",\n
        \     {\n        {\n          \"PSS Example 4.1\",\n          \"9fb03b827c8217d9\",\n
        \         \"ed7c98c95f30974fbe4fbddcf0f28d6021c0e91d\",\n          \"0323d5b7bf20ba4539289ae452ae4297080feff4518423ff4811a817837e7d82\"\n
        \         \"f1836cdfab54514ff0887bddeebf40bf99b047abc3ecfa6a37a3ef00f4a0c4a8\"\n
        \         \"8aae0904b745c846c4107e8797723e8ac810d9e3d95dfa30ff4966f4d75d1376\"\n
        \         \"8d20857f2b1406f264cfe75e27d7652f4b5ed3575f28a702f8c4ed9cf9b2d449\"\n
        \         \"48\"\n        },{\n          \"PSS Example 4.2\",\n          \"0ca2ad77797ece86de5bf768750ddb5ed6a3116ad99bbd17edf7f782f0db1cd0\"\n
        \         \"5b0f677468c5ea420dc116b10e80d110de2b0461ea14a38be68620392e7e893c\"\n
        \         \"b4ea9393fb886c20ff790642305bf302003892e54df9f667509dc53920df583f\"\n
        \         \"50a3dd61abb6fab75d600377e383e6aca6710eeea27156e06752c94ce25ae99f\"\n
        \         \"cbf8592dbe2d7e27453cb44de07100ebb1a2a19811a478adbeab270f94e8fe36\"\n
        \         \"9d90b3ca612f9f\",\n          \"22d71d54363a4217aa55113f059b3384e3e57e44\",\n
        \         \"049d0185845a264d28feb1e69edaec090609e8e46d93abb38371ce51f4aa65a5\"\n
        \         \"99bdaaa81d24fba66a08a116cb644f3f1e653d95c89db8bbd5daac2709c89840\"\n
        \         \"00178410a7c6aa8667ddc38c741f710ec8665aa9052be929d4e3b16782c16621\"\n
        \         \"14c5414bb0353455c392fc28f3db59054b5f365c49e1d156f876ee10cb4fd705\"\n
        \         \"98\"\n        },{\n          \"PSS Example 4.3\",\n          \"288062afc08fcdb7c5f8650b29837300461dd5676c17a20a3c8fb5148949e3f7\"\n
        \         \"3d66b3ae82c7240e27c5b3ec4328ee7d6ddf6a6a0c9b5b15bcda196a9d0c76b1\"\n
        \         \"19d534d85abd123962d583b76ce9d180bce1ca\",\n          \"4af870fbc6516012ca916c70ba862ac7e8243617\",\n
        \         \"03fbc410a2ced59500fb99f9e2af2781ada74e13145624602782e2994813eefc\"\n
        \         \"a0519ecd253b855fb626a90d771eae028b0c47a199cbd9f8e3269734af416359\"\n
        \         \"9090713a3fa910fa0960652721432b971036a7181a2bc0cab43b0b598bc62174\"\n
        \         \"61d7db305ff7e954c5b5bb231c39e791af6bcfa76b147b081321f72641482a2a\"\n
        \         \"ad\"\n        },{\n          \"PSS Example 4.4\",\n          \"6f4f9ab9501199cef55c6cf408fe7b36c557c49d420a4763d2463c8ad44b3cfc\"\n
        \         \"5be2742c0e7d9b0f6608f08c7f47b693ee\",\n          \"40d2e180fae1eac439c190b56c2c0e14ddf9a226\",\n
        \         \"0486644bc66bf75d28335a6179b10851f43f09bded9fac1af33252bb9953ba42\"\n
        \         \"98cd6466b27539a70adaa3f89b3db3c74ab635d122f4ee7ce557a61e59b82ffb\"\n
        \         \"786630e5f9db53c77d9a0c12fab5958d4c2ce7daa807cd89ba2cc7fcd02ff470\"\n
        \         \"ca67b229fcce814c852c73cc93bea35be68459ce478e9d4655d121c8472f371d\"\n
        \         \"4f\"\n        },{\n          \"PSS Example 4.5\",\n          \"e17d20385d501955823c3f666254c1d3dd36ad5168b8f18d286fdcf67a7dad94\"\n
        \         \"097085fab7ed86fe2142a28771717997ef1a7a08884efc39356d76077aaf8245\"\n
        \         \"9a7fad45848875f2819b098937fe923bcc9dc442d72d754d812025090c9bc03d\"\n
        \         \"b3080c138dd63b355d0b4b85d6688ac19f4de15084a0ba4e373b93ef4a555096\"\n
        \         \"691915dc23c00e954cdeb20a47cd55d16c3d8681d46ed7f2ed5ea42795be17ba\"\n
        \         \"ed25f0f4d113b3636addd585f16a8b5aec0c8fa9c5f03cbf3b9b73\",\n          \"2497dc2b4615dfae5a663d49ffd56bf7efc11304\",\n
        \         \"022a80045353904cb30cbb542d7d4990421a6eec16a8029a8422adfd22d6aff8\"\n
        \         \"c4cc0294af110a0c067ec86a7d364134459bb1ae8ff836d5a8a2579840996b32\"\n
        \         \"0b19f13a13fad378d931a65625dae2739f0c53670b35d9d3cbac08e733e4ec2b\"\n
        \         \"83af4b9196d63e7c4ff1ddeae2a122791a125bfea8deb0de8ccf1f4ffaf6e6fb\"\n
        \         \"0a\"\n        },{\n          \"PSS Example 4.6\",\n          \"afbc19d479249018fdf4e09f618726440495de11ddeee38872d775fcea74a238\"\n
        \         \"96b5343c9c38d46af0dba224d047580cc60a65e9391cf9b59b36a860598d4e82\"\n
        \         \"16722f993b91cfae87bc255af89a6a199bca4a391eadbc3a24903c0bd667368f\"\n
        \         \"6be78e3feabfb4ffd463122763740ffbbefeab9a25564bc5d1c24c93e422f750\"\n
        \         \"73e2ad72bf45b10df00b52a147128e73fee33fa3f0577d77f80fbc2df1bed313\"\n
        \         \"290c12777f50\",\n          \"a334db6faebf11081a04f87c2d621cdec7930b9b\",\n
        \         \"00938dcb6d583046065f69c78da7a1f1757066a7fa75125a9d2929f0b79a60b6\"\n
        \         \"27b082f11f5b196f28eb9daa6f21c05e5140f6aef1737d2023075c05ecf04a02\"\n
        \         \"8c686a2ab3e7d5a0664f295ce12995e890908b6ad21f0839eb65b70393a7b5af\"\n
        \         \"d9871de0caa0cedec5b819626756209d13ab1e7bb9546a26ff37e9a51af9fd56\"\n
        \         \"2e\"\n        }\n      }\n    },\n    {\n      \"Example 5: A
        1028-bit RSA key pair\",\n      \"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c1991\"\n
        \     \"6391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d01918717\"\n
        \     \"40525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa\"\n
        \     \"7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc5\"\n
        \     \"07\",\n      \"010001\",\n      \"03ce08b104fff396a979bd3e4e46925b6319ddb63acbcfd819f17d16b8077b3a\"\n
        \     \"87101ff34b77fe48b8b205a96e9151ba8ecea64d0cce7b23c3e6a6b83058bc49\"\n
        \     \"dae816ae736db5a4708e2ad435232b567f9096ce59ff28061e79ab1c02d717e6\"\n
        \     \"b23cea6db8eb5192fa7c1eab227dba74621c45601896eef13792c8440beb15aa\"\n
        \     \"c1\",\n      {\n        {\n          \"PSS Example 5.1\",\n          \"30c7d557458b436decfdc14d06cb7b96b06718c48d7de57482a868ae7f065870\"\n
        \         \"a6216506d11b779323dfdf046cf5775129134b4d5689e4d9c0ce1e12d7d4b06c\"\n
        \         \"b5fc5820decfa41baf59bf257b32f025b7679b445b9499c92555145885992f1b\"\n
        \         \"76f84891ee4d3be0f5150fd5901e3a4c8ed43fd36b61d022e65ad5008dbf3329\"\n
        \         \"3c22bfbfd07321f0f1d5fa9fdf0014c2fcb0358aad0e354b0d29\",\n          \"081b233b43567750bd6e78f396a88b9f6a445151\",\n
        \         \"0ba373f76e0921b70a8fbfe622f0bf77b28a3db98e361051c3d7cb92ad045291\"\n
        \         \"5a4de9c01722f6823eeb6adf7e0ca8290f5de3e549890ac2a3c5950ab217ba58\"\n
        \         \"590894952de96f8df111b2575215da6c161590c745be612476ee578ed384ab33\"\n
        \         \"e3ece97481a252f5c79a98b5532ae00cdd62f2ecc0cd1baefe80d80b962193ec\"\n
        \         \"1d\"\n        },{\n          \"PSS Example 5.2\",\n          \"e7b32e1556ea1b2795046ac69739d22ac8966bf11c116f614b166740e96b9065\"\n
        \         \"3e5750945fcf772186c03790a07fda323e1a61916b06ee2157db3dff80d67d5e\"\n
        \         \"39a53ae268c8f09ed99a732005b0bc6a04af4e08d57a00e7201b3060efaadb73\"\n
        \         \"113bfc087fd837093aa25235b8c149f56215f031c24ad5bde7f29960df7d5240\"\n
        \         \"70f7449c6f785084be1a0f733047f336f9154738674547db02a9f44dfc6e6030\"\n
        \         \"1081e1ce99847f3b5b601ff06b4d5776a9740b9aa0d34058fd3b906e4f7859df\"\n
        \         \"b07d7173e5e6f6350adac21f27b2307469\",\n          \"bd0ce19549d0700120cbe51077dbbbb00a8d8b09\",\n
        \         \"08180de825e4b8b014a32da8ba761555921204f2f90d5f24b712908ff84f3e22\"\n
        \         \"0ad17997c0dd6e706630ba3e84add4d5e7ab004e58074b549709565d43ad9e97\"\n
        \         \"b5a7a1a29e85b9f90f4aafcdf58321de8c5974ef9abf2d526f33c0f2f82e95d1\"\n
        \         \"58ea6b81f1736db8d1af3d6ac6a83b32d18bae0ff1b2fe27de4c76ed8c7980a3\"\n
        \         \"4e\"\n        },{\n          \"PSS Example 5.3\",\n          \"8d8396e36507fe1ef6a19017548e0c716674c2fec233adb2f775665ec41f2bd0\"\n
        \         \"ba396b061a9daa7e866f7c23fd3531954300a342f924535ea1498c48f6c87993\"\n
        \         \"2865fc02000c528723b7ad0335745b51209a0afed932af8f0887c219004d2abd\"\n
        \         \"894ea92559ee3198af3a734fe9b9638c263a728ad95a5ae8ce3eb15839f3aa78\"\n
        \         \"52bb390706e7760e43a71291a2e3f827237deda851874c517665f545f27238df\"\n
        \         \"86557f375d09ccd8bd15d8ccf61f5d78ca5c7f5cde782e6bf5d0057056d4bad9\"\n
        \         \"8b3d2f9575e824ab7a33ff57b0ac100ab0d6ead7aa0b50f6e4d3e5ec0b966b\",\n
        \         \"815779a91b3a8bd049bf2aeb920142772222c9ca\",\n          \"05e0fdbdf6f756ef733185ccfa8ced2eb6d029d9d56e35561b5db8e70257ee6f\"\n
        \         \"d019d2f0bbf669fe9b9821e78df6d41e31608d58280f318ee34f559941c8df13\"\n
        \         \"287574bac000b7e58dc4f414ba49fb127f9d0f8936638c76e85356c994f79750\"\n
        \         \"f7fa3cf4fd482df75e3fb9978cd061f7abb17572e6e63e0bde12cbdcf18c68b9\"\n
        \         \"79\"\n        },{\n          \"PSS Example 5.4\",\n          \"328c659e0a6437433cceb73c14\",\n
        \         \"9aec4a7480d5bbc42920d7ca235db674989c9aac\",\n          \"0bc989853bc2ea86873271ce183a923ab65e8a53100e6df5d87a24c4194eb797\"\n
        \         \"813ee2a187c097dd872d591da60c568605dd7e742d5af4e33b11678ccb639032\"\n
        \         \"04a3d080b0902c89aba8868f009c0f1c0cb85810bbdd29121abb8471ff2d39e4\"\n
        \         \"9fd92d56c655c8e037ad18fafbdc92c95863f7f61ea9efa28fea401369d19dae\"\n
        \         \"a1\"\n        },{\n          \"PSS Example 5.5\",\n          \"f37b962379a47d415a376eec8973150bcb34edd5ab654041b61430560c214458\"\n
        \         \"2ba133c867d852d6b8e23321901302ecb45b09ec88b1527178fa043263f3067d\"\n
        \         \"9ffe973032a99f4cb08ad2c7e0a2456cdd57a7df56fe6053527a5aeb67d7e552\"\n
        \         \"063c1ca97b1beffa7b39e997caf27878ea0f62cbebc8c21df4c889a202851e94\"\n
        \         \"9088490c249b6e9acf1d8063f5be2343989bf95c4da01a2be78b4ab6b378015b\"\n
        \         \"c37957f76948b5e58e440c28453d40d7cfd57e7d690600474ab5e75973b1ea0c\"\n
        \         \"5f1e45d14190afe2f4eb6d3bdf71f1d2f8bb156a1c295d04aaeb9d689dce79ed\"\n
        \         \"62bc443e\",\n          \"e20c1e9878512c39970f58375e1549a68b64f31d\",\n
        \         \"0aefa943b698b9609edf898ad22744ac28dc239497cea369cbbd84f65c95c0ad\"\n
        \         \"776b594740164b59a739c6ff7c2f07c7c077a86d95238fe51e1fcf33574a4ae0\"\n
        \         \"684b42a3f6bf677d91820ca89874467b2c23add77969c80717430d0efc1d3695\"\n
        \         \"892ce855cb7f7011630f4df26def8ddf36fc23905f57fa6243a485c770d5681f\"\n
        \         \"cd\"\n        },{\n          \"PSS Example 5.6\",\n          \"c6103c330c1ef718c141e47b8fa859be4d5b96259e7d142070ecd485839dba5a\"\n
        \         \"8369c17c1114035e532d195c74f44a0476a2d3e8a4da210016caced0e367cb86\"\n
        \         \"7710a4b5aa2df2b8e5daf5fdc647807d4d5ebb6c56b9763ccdae4dea3308eb0a\"\n
        \         \"c2a89501cb209d2639fa5bf87ce790747d3cb2d295e84564f2f637824f0c1302\"\n
        \         \"8129b0aa4a422d162282\",\n          \"23291e4a3307e8bbb776623ab34e4a5f4cc8a8db\",\n
        \         \"02802dccfa8dfaf5279bf0b4a29ba1b157611faeaaf419b8919d15941900c133\"\n
        \         \"9e7e92e6fae562c53e6cc8e84104b110bce03ad18525e3c49a0eadad5d3f28f2\"\n
        \         \"44a8ed89edbafbb686277cfa8ae909714d6b28f4bf8e293aa04c41efe7c0a812\"\n
        \         \"66d5c061e2575be032aa464674ff71626219bd74cc45f0e7ed4e3ff96eee758e\"\n
        \         \"8f\"\n        }\n      }\n    },\n    {\n      \"Example 6: A
        1029-bit RSA key pair\",\n      \"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071\"\n
        \     \"f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8\"\n
        \     \"aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48b\"\n
        \     \"f5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698\"\n
        \     \"d1\",\n      \"010001\",\n      \"03b664ee3b7566723fc6eaf28abb430a3980f1126c81de8ad709eab39ac9dcd0\"\n
        \     \"b1550b3729d87068e952009df544534c1f50829a78f4591eb8fd57140426a6bb\"\n
        \     \"0405b6a6f51a57d9267b7bbc653391a699a2a90dac8ae226bcc60fa8cd934c73\"\n
        \     \"c7b03b1f6b818158631838a8612e6e6ea92be24f8324faf5b1fd8587225267ba\"\n
        \     \"6f\",\n      {\n        {\n          \"PSS Example 6.1\",\n          \"0a20b774addc2fa51245ed7cb9da609e50cac6636a52543f97458eed7340f8d5\"\n
        \         \"3ffc64918f949078ee03ef60d42b5fec246050bd5505cd8cb597bad3c4e713b0\"\n
        \         \"ef30644e76adabb0de01a1561efb255158c74fc801e6e919e581b46f0f0ddd08\"\n
        \         \"e4f34c7810b5ed8318f91d7c8c\",\n          \"5b4ea2ef629cc22f3b538e016904b47b1e40bfd5\",\n
        \         \"04c0cfacec04e5badbece159a5a1103f69b3f32ba593cb4cc4b1b7ab455916a9\"\n
        \         \"6a27cd2678ea0f46ba37f7fc9c86325f29733b389f1d97f43e7201c0f348fc45\"\n
        \         \"fe42892335362eee018b5b161f2f9393031225c713012a576bc88e2305248986\"\n
        \         \"8d9010cbf033ecc568e8bc152bdc59d560e41291915d28565208e22aeec9ef85\"\n
        \         \"d1\"\n        },{\n          \"PSS Example 6.2\",\n          \"2aaff6631f621ce615760a9ebce94bb333077ad86488c861d4b76d29c1f48746\"\n
        \         \"c611ae1e03ced4445d7cfa1fe5f62e1b3f08452bde3b6ef81973bafbb57f97bc\"\n
        \         \"eef873985395b8260589aa88cb7db50ab469262e551bdcd9a56f275a0ac4fe48\"\n
        \         \"4700c35f3dbf2b469ede864741b86fa59172a360ba95a02e139be50ddfb7cf0b\"\n
        \         \"42faeabbfbbaa86a4497699c4f2dfd5b08406af7e14144427c253ec0efa20eaf\"\n
        \         \"9a8be8cd49ce1f1bc4e93e619cf2aa8ed4fb39bc8590d0f7b96488f7317ac9ab\"\n
        \         \"f7bee4e3a0e715\",\n          \"83146a9e782722c28b014f98b4267bda2ac9504f\",\n
        \         \"0a2314250cf52b6e4e908de5b35646bcaa24361da8160fb0f9257590ab3ace42\"\n
        \         \"b0dc3e77ad2db7c203a20bd952fbb56b1567046ecfaa933d7b1000c3de9ff05b\"\n
        \         \"7d989ba46fd43bc4c2d0a3986b7ffa13471d37eb5b47d64707bd290cfd6a9f39\"\n
        \         \"3ad08ec1e3bd71bb5792615035cdaf2d8929aed3be098379377e777ce79aaa47\"\n
        \         \"73\"\n        },{\n          \"PSS Example 6.3\",\n          \"0f6195d04a6e6fc7e2c9600dbf840c39ea8d4d624fd53507016b0e26858a5e0a\"\n
        \         \"ecd7ada543ae5c0ab3a62599cba0a54e6bf446e262f989978f9ddf5e9a41\",\n
        \         \"a87b8aed07d7b8e2daf14ddca4ac68c4d0aabff8\",\n          \"086df6b500098c120f24ff8423f727d9c61a5c9007d3b6a31ce7cf8f3cbec1a2\"\n
        \         \"6bb20e2bd4a046793299e03e37a21b40194fb045f90b18bf20a47992ccd799cf\"\n
        \         \"9c059c299c0526854954aade8a6ad9d97ec91a1145383f42468b231f4d72f237\"\n
        \         \"06d9853c3fa43ce8ace8bfe7484987a1ec6a16c8daf81f7c8bf42774707a9df4\"\n
        \         \"56\"\n        },{\n          \"PSS Example 6.4\",\n          \"337d25fe9810ebca0de4d4658d3ceb8e0fe4c066aba3bcc48b105d3bf7e0257d\"\n
        \         \"44fecea6596f4d0c59a08402833678f70620f9138dfeb7ded905e4a6d5f05c47\"\n
        \         \"3d55936652e2a5df43c0cfda7bacaf3087f4524b06cf42157d01539739f7fdde\"\n
        \         \"c9d58125df31a32eab06c19b71f1d5bf\",\n          \"a37932f8a7494a942d6f767438e724d6d0c0ef18\",\n
        \         \"0b5b11ad549863ffa9c51a14a1106c2a72cc8b646e5c7262509786105a984776\"\n
        \         \"534ca9b54c1cc64bf2d5a44fd7e8a69db699d5ea52087a4748fd2abc1afed1e5\"\n
        \         \"d6f7c89025530bdaa2213d7e030fa55df6f34bcf1ce46d2edf4e3ae4f3b01891\"\n
        \         \"a068c9e3a44bbc43133edad6ecb9f35400c4252a5762d65744b99cb9f4c55932\"\n
        \         \"9f\"\n        },{\n          \"PSS Example 6.5\",\n          \"84ec502b072e8287789d8f9235829ea3b187afd4d4c785611bda5f9eb3cb9671\"\n
        \         \"7efa7007227f1c08cbcb972e667235e0fb7d431a6570326d2ecce35adb373dc7\"\n
        \         \"53b3be5f829b89175493193fab16badb41371b3aac0ae670076f24bef420c135\"\n
        \         \"add7cee8d35fbc944d79fafb9e307a13b0f556cb654a06f973ed22672330197e\"\n
        \         \"f5a748bf826a5db2383a25364b686b9372bb2339aeb1ac9e9889327d016f1670\"\n
        \         \"776db06201adbdcaf8a5e3b74e108b73\",\n          \"7b790c1d62f7b84e94df6af28917cf571018110e\",\n
        \         \"02d71fa9b53e4654fefb7f08385cf6b0ae3a817942ebf66c35ac67f0b069952a\"\n
        \         \"3ce9c7e1f1b02e480a9500836de5d64cdb7ecde04542f7a79988787e24c2ba05\"\n
        \         \"f5fd482c023ed5c30e04839dc44bed2a3a3a4fee01113c891a47d32eb8025c28\"\n
        \         \"cb050b5cdb576c70fe76ef523405c08417faf350b037a43c379339fcb18d3a35\"\n
        \         \"6b\"\n        },{\n          \"PSS Example 6.6\",\n          \"9906d89f97a9fdedd3ccd824db687326f30f00aa25a7fca2afcb3b0f86cd41e7\"\n
        \         \"3f0e8ff7d2d83f59e28ed31a5a0d551523374de22e4c7e8ff568b386ee3dc411\"\n
        \         \"63f10bf67bb006261c9082f9af90bf1d9049a6b9fae71c7f84fbe6e55f02789d\"\n
        \         \"e774f230f115026a4b4e96c55b04a95da3aacbb2cece8f81764a1f1c99515411\"\n
        \         \"087cf7d34aeded0932c183\",\n          \"fbbe059025b69b89fb14ae2289e7aaafe60c0fcd\",\n
        \         \"0a40a16e2fe2b38d1df90546167cf9469c9e3c3681a3442b4b2c2f581deb385c\"\n
        \         \"e99fc6188bb02a841d56e76d301891e24560550fcc2a26b55f4ccb26d837d350\"\n
        \         \"a154bcaca8392d98fa67959e9727b78cad03269f56968fc56b68bd679926d83c\"\n
        \         \"c9cb215550645ccda31c760ff35888943d2d8a1d351e81e5d07b86182e751081\"\n
        \         \"ef\"\n        }\n      }\n    },\n    {\n      \"Example 7: A
        1030-bit RSA key pair\",\n      \"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee1\"\n
        \     \"8ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd\"\n
        \     \"49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d\"\n
        \     \"118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29a\"\n
        \     \"b3\",\n      \"010001\",\n      \"3bed999052d957bc06d651eef6e3a98094b1621bd38b5449bd6c4aea3de7e084\"\n
        \     \"679a4484ded25be0f0826cf3377825414b14d4d61db14de626fbb80e5f4faec9\"\n
        \     \"56f9a0a2d24f99576380f084eb62e46a57d554278b535626193ce02060575eb6\"\n
        \     \"6c5798d36f6c5d40fb00d809b42a73102c1c74ee95bd71420fffef6318b52c29\",\n
        \     {\n        {\n          \"PSS Example 7.1\",\n          \"9ead0e01945640674eb41cad435e2374eaefa8ad7197d97913c44957d8d83f40\"\n
        \         \"d76ee60e39bf9c0f9eaf3021421a074d1ade962c6e9d3dc3bb174fe4dfe652b0\"\n
        \         \"9115495b8fd2794174020a0602b5ca51848cfc96ce5eb57fc0a2adc1dda36a7c\"\n
        \         \"c452641a14911b37e45bfa11daa5c7ecdb74f6d0100d1d3e39e752800e203397\"\n
        \         \"de0233077b9a88855537fae927f924380d780f98e18dcff39c5ea741b17d6fdd\"\n
        \         \"1885bc9d581482d771ceb562d78a8bf88f0c75b11363e5e36cd479ceb0545f9d\"\n
        \         \"a84203e0e6e508375cc9e844b88b7ac7a0a201ea0f1bee9a2c577920ca02c01b\"\n
        \         \"9d8320e974a56f4efb5763b96255abbf8037bf1802cf018f56379493e569a9\",\n
        \         \"b7867a59958cb54328f8775e6546ec06d27eaa50\",\n          \"187f390723c8902591f0154bae6d4ecbffe067f0e8b795476ea4f4d51ccc8105\"\n
        \         \"20bb3ca9bca7d0b1f2ea8a17d873fa27570acd642e3808561cb9e975ccfd80b2\"\n
        \         \"3dc5771cdb3306a5f23159dacbd3aa2db93d46d766e09ed15d900ad897a8d274\"\n
        \         \"dc26b47e994a27e97e2268a766533ae4b5e42a2fcaf755c1c4794b294c605558\"\n
        \         \"23\"\n        },{\n          \"PSS Example 7.2\",\n          \"8d80d2d08dbd19c154df3f14673a14bd03735231f24e86bf153d0e69e74cbff7\"\n
        \         \"b1836e664de83f680124370fc0f96c9b65c07a366b644c4ab3\",\n          \"0c09582266df086310821ba7e18df64dfee6de09\",\n
        \         \"10fd89768a60a67788abb5856a787c8561f3edcf9a83e898f7dc87ab8cce7942\"\n
        \         \"9b43e56906941a886194f137e591fe7c339555361fbbe1f24feb2d4bcdb80601\"\n
        \         \"f3096bc9132deea60ae13082f44f9ad41cd628936a4d51176e42fc59cb76db81\"\n
        \         \"5ce5ab4db99a104aafea68f5d330329ebf258d4ede16064bd1d00393d5e1570e\"\n
        \         \"b8\"\n        },{\n          \"PSS Example 7.3\",\n          \"808405cdfc1a58b9bb0397c720722a81fffb76278f335917ef9c473814b3e016\"\n
        \         \"ba2973cd2765f8f3f82d6cc38aa7f8551827fe8d1e3884b7e61c94683b8f82f1\"\n
        \         \"843bdae2257eeec9812ad4c2cf283c34e0b0ae0fe3cb990cf88f2ef9\",\n
        \         \"28039dcfe106d3b8296611258c4a56651c9e92dd\",\n          \"2b31fde99859b977aa09586d8e274662b25a2a640640b457f594051cb1e7f7a9\"\n
        \         \"11865455242926cf88fe80dfa3a75ba9689844a11e634a82b075afbd69c12a0d\"\n
        \         \"f9d25f84ad4945df3dc8fe90c3cefdf26e95f0534304b5bdba20d3e5640a2ebf\"\n
        \         \"b898aac35ae40f26fce5563c2f9f24f3042af76f3c7072d687bbfb959a88460a\"\n
        \         \"f1\"\n        },{\n          \"PSS Example 7.4\",\n          \"f337b9bad937de22a1a052dff11134a8ce26976202981939b91e0715ae5e6096\"\n
        \         \"49da1adfcef3f4cca59b238360e7d1e496c7bf4b204b5acff9bbd6166a1d87a3\"\n
        \         \"6ef2247373751039f8a800b8399807b3a85f44893497c0d05fb7017b82228152\"\n
        \         \"de6f25e6116dcc7503c786c875c28f3aa607e94ab0f19863ab1b5073770b0cd5\"\n
        \         \"f533acde30c6fb953cf3da680264e30fc11bff9a19bffab4779b6223c3fb3fe0\"\n
        \         \"f71abade4eb7c09c41e24c22d23fa148e6a173feb63984d1bc6ee3a02d915b75\"\n
        \         \"2ceaf92a3015eceb38ca586c6801b37c34cefb2cff25ea23c08662dcab26a7a9\"\n
        \         \"3a285d05d3044c\",\n          \"a77821ebbbef24628e4e12e1d0ea96de398f7b0f\",\n
        \         \"32c7ca38ff26949a15000c4ba04b2b13b35a3810e568184d7ecabaa166b7ffab\"\n
        \         \"ddf2b6cf4ba07124923790f2e5b1a5be040aea36fe132ec130e1f10567982d17\"\n
        \         \"ac3e89b8d26c3094034e762d2e031264f01170beecb3d1439e05846f25458367\"\n
        \         \"a7d9c02060444672671e64e877864559ca19b2074d588a281b5804d23772fbbe\"\n
        \         \"19\"\n        },{\n          \"PSS Example 7.5\",\n          \"45013cebafd960b255476a8e2598b9aa32efbe6dc1f34f4a498d8cf5a2b4548d\"\n
        \         \"08c55d5f95f7bcc9619163056f2d58b52fa032\",\n          \"9d5ad8eb452134b65dc3a98b6a73b5f741609cd6\",\n
        \         \"07eb651d75f1b52bc263b2e198336e99fbebc4f332049a922a10815607ee2d98\"\n
        \         \"9db3a4495b7dccd38f58a211fb7e193171a3d891132437ebca44f318b280509e\"\n
        \         \"52b5fa98fcce8205d9697c8ee4b7ff59d4c59c79038a1970bd2a0d451ecdc5ef\"\n
        \         \"11d9979c9d35f8c70a6163717607890d586a7c6dc01c79f86a8f28e85235f8c2\"\n
        \         \"f1\"\n        },{\n          \"PSS Example 7.6\",\n          \"2358097086c899323e75d9c90d0c09f12d9d54edfbdf70a9c2eb5a04d8f36b9b\"\n
        \         \"2bdf2aabe0a5bda1968937f9d6ebd3b6b257efb3136d4131f9acb59b85e2602c\"\n
        \         \"2a3fcdc835494a1f4e5ec18b226c80232b36a75a45fdf09a7ea9e98efbde1450\"\n
        \         \"d1194bf12e15a4c5f9eb5c0bce5269e0c3b28cfab655d81a61a20b4be2f54459\"\n
        \         \"bb25a0db94c52218be109a7426de83014424789aaa90e5056e632a698115e282\"\n
        \         \"c1a56410f26c2072f193481a9dcd880572005e64f4082ecf\",\n          \"3f2efc595880a7d47fcf3cba04983ea54c4b73fb\",\n
        \         \"18da3cdcfe79bfb77fd9c32f377ad399146f0a8e810620233271a6e3ed324890\"\n
        \         \"3f5cdc92dc79b55d3e11615aa056a795853792a3998c349ca5c457e8ca7d29d7\"\n
        \         \"96aa24f83491709befcfb1510ea513c92829a3f00b104f655634f320752e130e\"\n
        \         \"c0ccf6754ff893db302932bb025eb60e87822598fc619e0e981737a9a4c4152d\"\n
        \         \"33\"\n        }\n      }\n    },\n    {\n      \"Example 8: A
        1031-bit RSA key pair\",\n      \"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6f\"\n
        \     \"bbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2\"\n
        \     \"d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaa\"\n
        \     \"dced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada073\"\n
        \     \"3f\",\n      \"010001\",\n      \"6c66ffe98980c38fcdeab5159898836165f4b4b817c4f6a8d486ee4ea9130fe9\"\n
        \     \"b9092bd136d184f95f504a607eac565846d2fdd6597a8967c7396ef95a6eeebb\"\n
        \     \"4578a643966dca4d8ee3de842de63279c618159c1ab54a89437b6a6120e4930a\"\n
        \     \"fb52a4ba6ced8a4947ac64b30a3497cbe701c2d6266d517219ad0ec6d347dbe9\",\n
        \     {\n        {\n          \"PSS Example 8.1\",\n          \"81332f4be62948415ea1d899792eeacf6c6e1db1da8be13b5cea41db2fed4670\"\n
        \         \"92e1ff398914c714259775f595f8547f735692a575e6923af78f22c6997ddb90\"\n
        \         \"fb6f72d7bb0dd5744a31decd3dc3685849836ed34aec596304ad11843c4f8848\"\n
        \         \"9f209735f5fb7fdaf7cec8addc5818168f880acbf490d51005b7a8e84e43e542\"\n
        \         \"87977571dd99eea4b161eb2df1f5108f12a4142a83322edb05a75487a3435c9a\"\n
        \         \"78ce53ed93bc550857d7a9fb\",\n          \"1d65491d79c864b373009be6f6f2467bac4c78fa\",\n
        \         \"0262ac254bfa77f3c1aca22c5179f8f040422b3c5bafd40a8f21cf0fa5a667cc\"\n
        \         \"d5993d42dbafb409c520e25fce2b1ee1e716577f1efa17f3da28052f40f0419b\"\n
        \         \"23106d7845aaf01125b698e7a4dfe92d3967bb00c4d0d35ba3552ab9a8b3eef0\"\n
        \         \"7c7fecdbc5424ac4db1e20cb37d0b2744769940ea907e17fbbca673b20522380\"\n
        \         \"c5\"\n        },{\n          \"PSS Example 8.2\",\n          \"e2f96eaf0e05e7ba326ecca0ba7fd2f7c02356f3cede9d0faabf4fcc8e60a973\"\n
        \         \"e5595fd9ea08\",\n          \"435c098aa9909eb2377f1248b091b68987ff1838\",\n
        \         \"2707b9ad5115c58c94e932e8ec0a280f56339e44a1b58d4ddcff2f312e5f34dc\"\n
        \         \"fe39e89c6a94dcee86dbbdae5b79ba4e0819a9e7bfd9d982e7ee6c86ee68396e\"\n
        \         \"8b3a14c9c8f34b178eb741f9d3f121109bf5c8172fada2e768f9ea1433032c00\"\n
        \         \"4a8aa07eb990000a48dc94c8bac8aabe2b09b1aa46c0a2aa0e12f63fbba775ba\"\n
        \         \"7e\"\n        },{\n          \"PSS Example 8.3\",\n          \"e35c6ed98f64a6d5a648fcab8adb16331db32e5d15c74a40edf94c3dc4a4de79\"\n
        \         \"2d190889f20f1e24ed12054a6b28798fcb42d1c548769b734c96373142092aed\"\n
        \         \"277603f4738df4dc1446586d0ec64da4fb60536db2ae17fc7e3c04bbfbbbd907\"\n
        \         \"bf117c08636fa16f95f51a6216934d3e34f85030f17bbbc5ba69144058aff081\"\n
        \         \"e0b19cf03c17195c5e888ba58f6fe0a02e5c3bda9719a7\",\n          \"c6ebbe76df0c4aea32c474175b2f136862d04529\",\n
        \         \"2ad20509d78cf26d1b6c406146086e4b0c91a91c2bd164c87b966b8faa42aa0c\"\n
        \         \"a446022323ba4b1a1b89706d7f4c3be57d7b69702d168ab5955ee290356b8c4a\"\n
        \         \"29ed467d547ec23cbadf286ccb5863c6679da467fc9324a151c7ec55aac6db40\"\n
        \         \"84f82726825cfe1aa421bc64049fb42f23148f9c25b2dc300437c38d428aa75f\"\n
        \         \"96\"\n        },{\n          \"PSS Example 8.4\",\n          \"dbc5f750a7a14be2b93e838d18d14a8695e52e8add9c0ac733b8f56d2747e529\"\n
        \         \"a0cca532dd49b902aefed514447f9e81d16195c2853868cb9b30f7d0d495c69d\"\n
        \         \"01b5c5d50b27045db3866c2324a44a110b1717746de457d1c8c45c3cd2a92970\"\n
        \         \"c3d59632055d4c98a41d6e99e2a3ddd5f7f9979ab3cd18f37505d25141de2a1b\"\n
        \         \"ff17b3a7dce9419ecc385cf11d72840f19953fd0509251f6cafde2893d0e75c7\"\n
        \         \"81ba7a5012ca401a4fa99e04b3c3249f926d5afe82cc87dab22c3c1b105de48e\"\n
        \         \"34ace9c9124e59597ac7ebf8\",\n          \"021fdcc6ebb5e19b1cb16e9c67f27681657fe20a\",\n
        \         \"1e24e6e58628e5175044a9eb6d837d48af1260b0520e87327de7897ee4d5b9f0\"\n
        \         \"df0be3e09ed4dea8c1454ff3423bb08e1793245a9df8bf6ab3968c8eddc3b532\"\n
        \         \"8571c77f091cc578576912dfebd164b9de5454fe0be1c1f6385b328360ce67ec\"\n
        \         \"7a05f6e30eb45c17c48ac70041d2cab67f0a2ae7aafdcc8d245ea3442a6300cc\"\n
        \         \"c7\"\n        },{\n          \"PSS Example 8.5\",\n          \"04dc251be72e88e5723485b6383a637e2fefe07660c519a560b8bc18bdedb86e\"\n
        \         \"ae2364ea53ba9dca6eb3d2e7d6b806af42b3e87f291b4a8881d5bf572cc9a85e\"\n
        \         \"19c86acb28f098f9da0383c566d3c0f58cfd8f395dcf602e5cd40e8c7183f714\"\n
        \         \"996e2297ef\",\n          \"c558d7167cbb4508ada042971e71b1377eea4269\",\n
        \         \"33341ba3576a130a50e2a5cf8679224388d5693f5accc235ac95add68e5eb1ee\"\n
        \         \"c31666d0ca7a1cda6f70a1aa762c05752a51950cdb8af3c5379f18cfe6b5bc55\"\n
        \         \"a4648226a15e912ef19ad77adeea911d67cfefd69ba43fa4119135ff642117ba\"\n
        \         \"985a7e0100325e9519f1ca6a9216bda055b5785015291125e90dcd07a2ca9673\"\n
        \         \"ee\"\n        },{\n          \"PSS Example 8.6\",\n          \"0ea37df9a6fea4a8b610373c24cf390c20fa6e2135c400c8a34f5c183a7e8ea4\"\n
        \         \"c9ae090ed31759f42dc77719cca400ecdcc517acfc7ac6902675b2ef30c50966\"\n
        \         \"5f3321482fc69a9fb570d15e01c845d0d8e50d2a24cbf1cf0e714975a5db7b18\"\n
        \         \"d9e9e9cb91b5cb16869060ed18b7b56245503f0caf90352b8de81cb5a1d9c633\"\n
        \         \"6092f0cd\",\n          \"76fd4e64fdc98eb927a0403e35a084e76ba9f92a\",\n
        \         \"1ed1d848fb1edb44129bd9b354795af97a069a7a00d0151048593e0c72c3517f\"\n
        \         \"f9ff2a41d0cb5a0ac860d736a199704f7cb6a53986a88bbd8abcc0076a2ce847\"\n
        \         \"880031525d449da2ac78356374c536e343faa7cba42a5aaa6506087791c06a8e\"\n
        \         \"989335aed19bfab2d5e67e27fb0c2875af896c21b6e8e7309d04e4f6727e6946\"\n
        \         \"3e\"\n        }\n      }\n    },\n    {\n      \"Example 9: A
        1536-bit RSA key pair\",\n      \"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b\"\n
        \     \"5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268\"\n
        \     \"352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbc\"\n
        \     \"ec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614\"\n
        \     \"833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb39702\"\n
        \     \"7357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b\",\n
        \     \"010001\",\n      \"6a7fd84fb85fad073b34406db74f8d61a6abc12196a961dd79565e9da6e5187b\"\n
        \     \"ce2d980250f7359575359270d91590bb0e427c71460b55d51410b191bcf309fe\"\n
        \     \"a131a92c8e702738fa719f1e0041f52e40e91f229f4d96a1e6f172e15596b451\"\n
        \     \"0a6daec26105f2bebc53316b87bdf21311666070e8dfee69d52c71a976caae79\"\n
        \     \"c72b68d28580dc686d9f5129d225f82b3d615513a882b3db91416b48ce088882\"\n
        \     \"13e37eeb9af800d81cab328ce420689903c00c7b5fd31b75503a6d419684d629\",\n
        \     {\n        {\n          \"PSS Example 9.1\",\n          \"a88e265855e9d7ca36c68795f0b31b591cd6587c71d060a0b3f7f3eaef437959\"\n
        \         \"22028bc2b6ad467cfc2d7f659c5385aa70ba3672cdde4cfe4970cc7904601b27\"\n
        \         \"8872bf51321c4a972f3c95570f3445d4f57980e0f20df54846e6a52c668f1288\"\n
        \         \"c03f95006ea32f562d40d52af9feb32f0fa06db65b588a237b34e592d55cf979\"\n
        \         \"f903a642ef64d2ed542aa8c77dc1dd762f45a59303ed75e541ca271e2b60ca70\"\n
        \         \"9e44fa0661131e8d5d4163fd8d398566ce26de8730e72f9cca737641c2441594\"\n
        \         \"20637028df0a18079d6208ea8b4711a2c750f5\",\n          \"c0a425313df8d7564bd2434d311523d5257eed80\",\n
        \         \"586107226c3ce013a7c8f04d1a6a2959bb4b8e205ba43a27b50f124111bc35ef\"\n
        \         \"589b039f5932187cb696d7d9a32c0c38300a5cdda4834b62d2eb240af33f79d1\"\n
        \         \"3dfbf095bf599e0d9686948c1964747b67e89c9aba5cd85016236f566cc5802c\"\n
        \         \"b13ead51bc7ca6bef3b94dcbdbb1d570469771df0e00b1a8a06777472d231627\"\n
        \         \"9edae86474668d4e1efff95f1de61c6020da32ae92bbf16520fef3cf4d88f611\"\n
        \         \"21f24bbd9fe91b59caf1235b2a93ff81fc403addf4ebdea84934a9cdaf8e1a9e\"\n
        \       },{\n          \"PSS Example 9.2\",\n          \"c8c9c6af04acda414d227ef23e0820c3732c500dc87275e95b0d095413993c26\"\n
        \         \"58bc1d988581ba879c2d201f14cb88ced153a01969a7bf0a7be79c84c1486bc1\"\n
        \         \"2b3fa6c59871b6827c8ce253ca5fefa8a8c690bf326e8e37cdb96d90a82ebab6\"\n
        \         \"9f86350e1822e8bd536a2e\",\n          \"b307c43b4850a8dac2f15f32e37839ef8c5c0e91\",\n
        \         \"80b6d643255209f0a456763897ac9ed259d459b49c2887e5882ecb4434cfd66d\"\n
        \         \"d7e1699375381e51cd7f554f2c271704b399d42b4be2540a0eca61951f55267f\"\n
        \         \"7c2878c122842dadb28b01bd5f8c025f7e228418a673c03d6bc0c736d0a29546\"\n
        \         \"bd67f786d9d692ccea778d71d98c2063b7a71092187a4d35af108111d83e83ea\"\n
        \         \"e46c46aa34277e06044589903788f1d5e7cee25fb485e92949118814d6f2c3ee\"\n
        \         \"361489016f327fb5bc517eb50470bffa1afa5f4ce9aa0ce5b8ee19bf5501b958\"\n
        \       },{\n          \"PSS Example 9.3\",\n          \"0afad42ccd4fc60654a55002d228f52a4a5fe03b8bbb08ca82daca558b44dbe1\"\n
        \         \"266e50c0e745a36d9d2904e3408abcd1fd569994063f4a75cc72f2fee2a0cd89\"\n
        \         \"3a43af1c5b8b487df0a71610024e4f6ddf9f28ad0813c1aab91bcb3c9064d5ff\"\n
        \         \"742deffea657094139369e5ea6f4a96319a5cc8224145b545062758fefd1fe34\"\n
        \         \"09ae169259c6cdfd6b5f2958e314faecbe69d2cace58ee55179ab9b3e6d1ecc1\"\n
        \         \"4a557c5febe988595264fc5da1c571462eca798a18a1a4940cdab4a3e92009cc\"\n
        \         \"d42e1e947b1314e32238a2dece7d23a89b5b30c751fd0a4a430d2c548594\",\n
        \         \"9a2b007e80978bbb192c354eb7da9aedfc74dbf5\",\n          \"484408f3898cd5f53483f80819efbf2708c34d27a8b2a6fae8b322f9240237f9\"\n
        \         \"81817aca1846f1084daa6d7c0795f6e5bf1af59c38e1858437ce1f7ec419b98c\"\n
        \         \"8736adf6dd9a00b1806d2bd3ad0a73775e05f52dfef3a59ab4b08143f0df05cd\"\n
        \         \"1ad9d04bececa6daa4a2129803e200cbc77787caf4c1d0663a6c5987b6059520\"\n
        \         \"19782caf2ec1426d68fb94ed1d4be816a7ed081b77e6ab330b3ffc073820fecd\"\n
        \         \"e3727fcbe295ee61a050a343658637c3fd659cfb63736de32d9f90d3c2f63eca\"\n
        \       },{\n          \"PSS Example 9.4\",\n          \"1dfd43b46c93db82629bdae2bd0a12b882ea04c3b465f5cf93023f01059626db\"\n
        \         \"be99f26bb1be949dddd16dc7f3debb19a194627f0b224434df7d8700e9e98b06\"\n
        \         \"e360c12fdbe3d19f51c9684eb9089ecbb0a2f0450399d3f59eac7294085d044f\"\n
        \         \"5393c6ce737423d8b86c415370d389e30b9f0a3c02d25d0082e8ad6f3f1ef24a\"\n
        \         \"45c3cf82b383367063a4d4613e4264f01b2dac2e5aa42043f8fb5f69fa871d14\"\n
        \         \"fb273e767a531c40f02f343bc2fb45a0c7e0f6be2561923a77211d66a6e2dbb4\"\n
        \         \"3c366350beae22da3ac2c1f5077096fcb5c4bf255f7574351ae0b1e1f0363281\"\n
        \         \"7c0856d4a8ba97afbdc8b85855402bc56926fcec209f9ea8\",\n          \"70f382bddf4d5d2dd88b3bc7b7308be632b84045\",\n
        \         \"84ebeb481be59845b46468bafb471c0112e02b235d84b5d911cbd1926ee5074a\"\n
        \         \"e0424495cb20e82308b8ebb65f419a03fb40e72b78981d88aad143053685172c\"\n
        \         \"97b29c8b7bf0ae73b5b2263c403da0ed2f80ff7450af7828eb8b86f0028bd2a8\"\n
        \         \"b176a4d228cccea18394f238b09ff758cc00bc04301152355742f282b54e663a\"\n
        \         \"919e709d8da24ade5500a7b9aa50226e0ca52923e6c2d860ec50ff480fa57477\"\n
        \         \"e82b0565f4379f79c772d5c2da80af9fbf325ece6fc20b00961614bee89a183e\"\n
        \       },{\n          \"PSS Example 9.5\",\n          \"1bdc6e7c98fb8cf54e9b097b66a831e9cfe52d9d4888448ee4b0978093ba1d7d\"\n
        \         \"73ae78b3a62ba4ad95cd289ccb9e005226bb3d178bccaa821fb044a4e21ee976\"\n
        \         \"96c14d0678c94c2dae93b0ad73922218553daa7e44ebe57725a7a45cc72b9b21\"\n
        \         \"38a6b17c8db411ce8279ee1241aff0a8bec6f77f87edb0c69cb27236e3435a80\"\n
        \         \"0b192e4f11e519e3fe30fc30eaccca4fbb41769029bf708e817a9e683805be67\"\n
        \         \"fa100984683b74838e3bcffa79366eed1d481c76729118838f31ba8a048a93c1\"\n
        \         \"be4424598e8df6328b7a77880a3f9c7e2e8dfca8eb5a26fb86bdc556d42bbe01\"\n
        \         \"d9fa6ed80646491c9341\",\n          \"d689257a86effa68212c5e0c619eca295fb91b67\",\n
        \         \"82102df8cb91e7179919a04d26d335d64fbc2f872c44833943241de845481027\"\n
        \         \"4cdf3db5f42d423db152af7135f701420e39b494a67cbfd19f9119da233a23da\"\n
        \         \"5c6439b5ba0d2bc373eee3507001378d4a4073856b7fe2aba0b5ee93b27f4afe\"\n
        \         \"c7d4d120921c83f606765b02c19e4d6a1a3b95fa4c422951be4f52131077ef17\"\n
        \         \"179729cddfbdb56950dbaceefe78cb16640a099ea56d24389eef10f8fecb31ba\"\n
        \         \"3ea3b227c0a86698bb89e3e9363905bf22777b2a3aa521b65b4cef76d83bde4c\"\n
        \       },{\n          \"PSS Example 9.6\",\n          \"88c7a9f1360401d90e53b101b61c5325c3c75db1b411fbeb8e830b75e96b5667\"\n
        \         \"0ad245404e16793544ee354bc613a90cc9848715a73db5893e7f6d279815c0c1\"\n
        \         \"de83ef8e2956e3a56ed26a888d7a9cdcd042f4b16b7fa51ef1a0573662d16a30\"\n
        \         \"2d0ec5b285d2e03ad96529c87b3d374db372d95b2443d061b6b1a350ba87807e\"\n
        \         \"d083afd1eb05c3f52f4eba5ed2227714fdb50b9d9d9dd6814f62f6272fcd5cdb\"\n
        \         \"ce7a9ef797\",\n          \"c25f13bf67d081671a0481a1f1820d613bba2276\",\n
        \         \"a7fdb0d259165ca2c88d00bbf1028a867d337699d061193b17a9648e14ccbbaa\"\n
        \         \"deacaacdec815e7571294ebb8a117af205fa078b47b0712c199e3ad05135c504\"\n
        \         \"c24b81705115740802487992ffd511d4afc6b854491eb3f0dd523139542ff15c\"\n
        \         \"3101ee85543517c6a3c79417c67e2dd9aa741e9a29b06dcb593c2336b3670ae3\"\n
        \         \"afbac7c3e76e215473e866e338ca244de00b62624d6b9426822ceae9f8cc4608\"\n
        \         \"95f41250073fd45c5a1e7b425c204a423a699159f6903e710b37a7bb2bc8049f\"\n
        \       }\n      }\n    },\n    {\n      \"Example 10: A 2048-bit RSA key
        pair\",\n      \"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea5\"\n
        \     \"7b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7ad\"\n
        \     \"cd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae\"\n
        \     \"4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a\"\n
        \     \"2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea\"\n
        \     \"4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e39190099207\"\n
        \     \"0df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a51100\"\n
        \     \"1a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05\",\n
        \     \"010001\",\n      \"2d2ff567b3fe74e06191b7fded6de112290c670692430d5969184047da234c96\"\n
        \     \"93deed1673ed429539c969d372c04d6b47e0f5b8cee0843e5c22835dbd3b05a0\"\n
        \     \"997984ae6058b11bc4907cbf67ed84fa9ae252dfb0d0cd49e618e35dfdfe59bc\"\n
        \     \"a3ddd66c33cebbc77ad441aa695e13e324b518f01c60f5a85c994ad179f2a6b5\"\n
        \     \"fbe93402b11767be01bf073444d6ba1dd2bca5bd074d4a5fae3531ad1303d84b\"\n
        \     \"30d897318cbbba04e03c2e66de6d91f82f96ea1d4bb54a5aae102d594657f5c9\"\n
        \     \"789553512b296dea29d8023196357e3e3a6e958f39e3c2344038ea604b31edc6\"\n
        \     \"f0f7ff6e7181a57c92826a268f86768e96f878562fc71d85d69e448612f7048f\",\n
        \     {\n        {\n          \"PSS Example 10.1\",\n          \"883177e5126b9be2d9a9680327d5370c6f26861f5820c43da67a3ad609\",\n
        \         \"04e215ee6ff934b9da70d7730c8734abfcecde89\",\n          \"82c2b160093b8aa3c0f7522b19f87354066c77847abf2a9fce542d0e84e920c5\"\n
        \         \"afb49ffdfdace16560ee94a1369601148ebad7a0e151cf16331791a5727d05f2\"\n
        \         \"1e74e7eb811440206935d744765a15e79f015cb66c532c87a6a05961c8bfad74\"\n
        \         \"1a9a6657022894393e7223739796c02a77455d0f555b0ec01ddf259b6207fd0f\"\n
        \         \"d57614cef1a5573baaff4ec00069951659b85f24300a25160ca8522dc6e6727e\"\n
        \         \"57d019d7e63629b8fe5e89e25cc15beb3a647577559299280b9b28f79b040900\"\n
        \         \"0be25bbd96408ba3b43cc486184dd1c8e62553fa1af4040f60663de7f5e49c04\"\n
        \         \"388e257f1ce89c95dab48a315d9b66b1b7628233876ff2385230d070d07e1666\"\n
        \       },{\n          \"PSS Example 10.2\",\n          \"dd670a01465868adc93f26131957a50c52fb777cdbaa30892c9e12361164ec13\"\n
        \         \"979d43048118e4445db87bee58dd987b3425d02071d8dbae80708b039dbb64db\"\n
        \         \"d1de5657d9fed0c118a54143742e0ff3c87f74e45857647af3f79eb0a14c9d75\"\n
        \         \"ea9a1a04b7cf478a897a708fd988f48e801edb0b7039df8c23bb3c56f4e821ac\",\n
        \         \"8b2bdd4b40faf545c778ddf9bc1a49cb57f9b71b\",\n          \"14ae35d9dd06ba92f7f3b897978aed7cd4bf5ff0b585a40bd46ce1b42cd27030\"\n
        \         \"53bb9044d64e813d8f96db2dd7007d10118f6f8f8496097ad75e1ff692341b28\"\n
        \         \"92ad55a633a1c55e7f0a0ad59a0e203a5b8278aec54dd8622e2831d87174f8ca\"\n
        \         \"ff43ee6c46445345d84a59659bfb92ecd4c818668695f34706f66828a8995963\"\n
        \         \"7f2bf3e3251c24bdba4d4b7649da0022218b119c84e79a6527ec5b8a5f861c15\"\n
        \         \"9952e23ec05e1e717346faefe8b1686825bd2b262fb2531066c0de09acde2e42\"\n
        \         \"31690728b5d85e115a2f6b92b79c25abc9bd9399ff8bcf825a52ea1f56ea76dd\"\n
        \         \"26f43baafa18bfa92a504cbd35699e26d1dcc5a2887385f3c63232f06f3244c3\"\n
        \       },{\n          \"PSS Example 10.3\",\n          \"48b2b6a57a63c84cea859d65c668284b08d96bdcaabe252db0e4a96cb1bac601\"\n
        \         \"9341db6fbefb8d106b0e90eda6bcc6c6262f37e7ea9c7e5d226bd7df85ec5e71\"\n
        \         \"efff2f54c5db577ff729ff91b842491de2741d0c631607df586b905b23b91af1\"\n
        \         \"3da12304bf83eca8a73e871ff9db\",\n          \"4e96fc1b398f92b44671010c0dc3efd6e20c2d73\",\n
        \         \"6e3e4d7b6b15d2fb46013b8900aa5bbb3939cf2c095717987042026ee62c74c5\"\n
        \         \"4cffd5d7d57efbbf950a0f5c574fa09d3fc1c9f513b05b4ff50dd8df7edfa201\"\n
        \         \"02854c35e592180119a70ce5b085182aa02d9ea2aa90d1df03f2daae885ba2f5\"\n
        \         \"d05afdac97476f06b93b5bc94a1a80aa9116c4d615f333b098892b25fface266\"\n
        \         \"f5db5a5a3bcc10a824ed55aad35b727834fb8c07da28fcf416a5d9b2224f1f8b\"\n
        \         \"442b36f91e456fdea2d7cfe3367268de0307a4c74e924159ed33393d5e065553\"\n
        \         \"1c77327b89821bdedf880161c78cd4196b5419f7acc3f13e5ebf161b6e7c6724\"\n
        \         \"716ca33b85c2e25640192ac2859651d50bde7eb976e51cec828b98b6563b86bb\"\n
        \       },{\n          \"PSS Example 10.4\",\n          \"0b8777c7f839baf0a64bbbdbc5ce79755c57a205b845c174e2d2e90546a089c4\"\n
        \         \"e6ec8adffa23a7ea97bae6b65d782b82db5d2b5a56d22a29a05e7c4433e2b82a\"\n
        \         \"621abba90add05ce393fc48a840542451a\",\n          \"c7cd698d84b65128d8835e3a8b1eb0e01cb541ec\",\n
        \         \"34047ff96c4dc0dc90b2d4ff59a1a361a4754b255d2ee0af7d8bf87c9bc9e7dd\"\n
        \         \"eede33934c63ca1c0e3d262cb145ef932a1f2c0a997aa6a34f8eaee7477d82cc\"\n
        \         \"f09095a6b8acad38d4eec9fb7eab7ad02da1d11d8e54c1825e55bf58c2a23234\"\n
        \         \"b902be124f9e9038a8f68fa45dab72f66e0945bf1d8bacc9044c6f07098c9fce\"\n
        \         \"c58a3aab100c805178155f030a124c450e5acbda47d0e4f10b80a23f803e774d\"\n
        \         \"023b0015c20b9f9bbe7c91296338d5ecb471cafb032007b67a60be5f69504a9f\"\n
        \         \"01abb3cb467b260e2bce860be8d95bf92c0c8e1496ed1e528593a4abb6df462d\"\n
        \         \"de8a0968dffe4683116857a232f5ebf6c85be238745ad0f38f767a5fdbf486fb\"\n
        \       },{\n          \"PSS Example 10.5\",\n          \"f1036e008e71e964dadc9219ed30e17f06b4b68a955c16b312b1eddf028b7497\"\n
        \         \"6bed6b3f6a63d4e77859243c9cccdc98016523abb02483b35591c33aad81213b\"\n
        \         \"b7c7bb1a470aabc10d44256c4d4559d916\",\n          \"efa8bff96212b2f4a3f371a10d574152655f5dfb\",\n
        \         \"7e0935ea18f4d6c1d17ce82eb2b3836c55b384589ce19dfe743363ac9948d1f3\"\n
        \         \"46b7bfddfe92efd78adb21faefc89ade42b10f374003fe122e67429a1cb8cbd1\"\n
        \         \"f8d9014564c44d120116f4990f1a6e38774c194bd1b8213286b077b0499d2e7b\"\n
        \         \"3f434ab12289c556684deed78131934bb3dd6537236f7c6f3dcb09d476be0772\"\n
        \         \"1e37e1ceed9b2f7b406887bd53157305e1c8b4f84d733bc1e186fe06cc59b6ed\"\n
        \         \"b8f4bd7ffefdf4f7ba9cfb9d570689b5a1a4109a746a690893db3799255a0cb9\"\n
        \         \"215d2d1cd490590e952e8c8786aa0011265252470c041dfbc3eec7c3cbf71c24\"\n
        \         \"869d115c0cb4a956f56d530b80ab589acfefc690751ddf36e8d383f83cedd2cc\"\n
        \       },{\n          \"PSS Example 10.6\",\n          \"25f10895a87716c137450bb9519dfaa1f207faa942ea88abf71e9c17980085b5\"\n
        \         \"55aebab76264ae2a3ab93c2d12981191ddac6fb5949eb36aee3c5da940f00752\"\n
        \         \"c916d94608fa7d97ba6a2915b688f20323d4e9d96801d89a72ab5892dc2117c0\"\n
        \         \"7434fcf972e058cf8c41ca4b4ff554f7d5068ad3155fced0f3125bc04f919337\"\n
        \         \"8a8f5c4c3b8cb4dd6d1cc69d30ecca6eaa51e36a05730e9e342e855baf099def\"\n
        \         \"b8afd7\",\n          \"ad8b1523703646224b660b550885917ca2d1df28\",\n
        \         \"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9\"\n
        \         \"b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7\"\n
        \         \"b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c\"\n
        \         \"43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd81\"\n
        \         \"8ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343e\"\n
        \         \"f34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c6408\"\n
        \         \"8c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459\"\n
        \         \"e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f\"\n
        \       }\n      }\n    }\n  }"
      pos:
        line_end: 25
        line_start: 16
        source_file: /src/libgcrypt/tests/pkcs1v2-pss.h
    typedefs: []
    union: []
- function_names:
  - check_pk_g_t_n_c
  - check_pk_s_v
  - check_pk_hash_sign_verify
  - check_cipher_o_s_e_d_c
  - check_mac_o_w_r_c
  - check_md_o_w_r_c
  - check_hash_buffer
  - check_hash_buffers
  - check_kdf_derive
  - main
  source_file: /src/libgcrypt/tests/t-fips-service-ind.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
      type_or_value: '"t-fips-service-ind"'
    - item_type: preproc_def
      name: MAX_DATA_LEN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
      type_or_value: '1040'
    structs:
    - fields:
      - name: '*keyparms'
        type: char
      - name: expect_failure
        type: int
      item_type: struct
      name: "tv[] = {\n    {\n      \"(genkey (ecc (curve nistp256)))\",\n      0\n
        \   },\n    {                           /* non-compliant curve */\n      \"(genkey
        (ecc (curve secp256k1)))\",\n      1\n    }\n  }"
      pos:
        line_end: 49
        line_start: 46
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    - fields:
      - name: '*prvkey'
        type: char
      - name: '*pubkey'
        type: char
      - name: '*data'
        type: char
      - name: expect_failure
        type: int
      item_type: struct
      name: "tv[] = {\n    {                           /* Hashing is done externally,
        and feeded\n                                   to gcry_pk_sign, specifing
        the hash used */\n      \"(private-key (ecc (curve nistp256)\"\n      \" (d
        #519b423d715f8b581f4fa8ee59f4771a5b44c8130b4e3eacca54a56dda72b464#)))\",\n
        \     \"(public-key (ecc (curve nistp256)\"\n      \" (q #041ccbe91c075fc7f4f033bfa248db8fccd3565de94bbfb12f3c59ff46c271bf83\"\n
        \     \"ce4014c68811f9a21a1fdb2c0e6113e06db7ca93b7404e78dc7ccd5ca89a4ca9#)))\",\n
        \     \"(data (flags raw)(hash sha256 \"\n      \"#00112233445566778899AABBCCDDEEFF000102030405060708090A0B0C0D0E0F#))\",\n
        \     0\n    },\n    {                           /* non-compliant curve */\n
        \     \"(private-key (ecc (curve secp256k1)\"\n      \" (d #c2cdf0a8b0a83b35ace53f097b5e6e6a0a1f2d40535eff1cf434f52a43d59d8f#)))\",\n
        \     \"(public-key (ecc (curve secp256k1)\"\n      \" (q #046fcc37ea5e9e09fec6c83e5fbd7a745e3eee81d16ebd861c9e66f55518c19798\"\n
        \     \"4e9f113c07f875691df8afc1029496fc4cb9509b39dcd38f251a83359cc8b4f7#)))\",\n
        \     \"(data (flags raw)(hash sha256 \"\n      \"#00112233445566778899AABBCCDDEEFF000102030405060708090A0B0C0D0E0F#))\",\n
        \     1\n    },\n    {                           /* non-compliant hash */\n
        \     \"(private-key (ecc (curve nistp256)\"\n      \" (d #519b423d715f8b581f4fa8ee59f4771a5b44c8130b4e3eacca54a56dda72b464#)))\",\n
        \     \"(public-key (ecc (curve nistp256)\"\n      \" (q #041ccbe91c075fc7f4f033bfa248db8fccd3565de94bbfb12f3c59ff46c271bf83\"\n
        \     \"ce4014c68811f9a21a1fdb2c0e6113e06db7ca93b7404e78dc7ccd5ca89a4ca9#)))\",\n
        \     \"(data (flags raw)(hash ripemd160 \"\n      \"#00112233445566778899AABBCCDDEEFF00010203#))\",\n
        \     1\n    },\n    {                           /* non-compliant hash for
        signing */\n      \"(private-key (ecc (curve nistp256)\"\n      \" (d #519b423d715f8b581f4fa8ee59f4771a5b44c8130b4e3eacca54a56dda72b464#)))\",\n
        \     \"(public-key (ecc (curve nistp256)\"\n      \" (q #041ccbe91c075fc7f4f033bfa248db8fccd3565de94bbfb12f3c59ff46c271bf83\"\n
        \     \"ce4014c68811f9a21a1fdb2c0e6113e06db7ca93b7404e78dc7ccd5ca89a4ca9#)))\",\n
        \     \"(data (flags raw)(hash sha1 \"\n      \"#00112233445566778899AABBCCDDEEFF00010203#))\",\n
        \     1\n    },\n    {                           /* Hashing is done internally
        in\n                                   gcry_pk_sign with the hash-algo specified.
        \ */\n      \"(private-key\\n\"\n      \" (ecc\\n\"\n      \"  (curve Ed25519)(flags
        eddsa)\\n\"\n      \"  (q #4014DB483F15527253B25B4C72BEA8BB70255029636BD71DBBCCD5D8BF48A35F17#)\"\n
        \     \"  (d #09A0C38E0F1699073541447C19DA12E3A07A7BFDB0C186E4AC5BCE6F23D55252#)\"\n
        \     \"))\",\n      \"(public-key\\n\"\n      \" (ecc\\n\"\n      \"  (curve
        Ed25519)(flags eddsa)\\n\"\n      \"  (q #4014DB483F15527253B25B4C72BEA8BB70255029636BD71DBBCCD5D8BF48A35F17#)\"\n
        \     \"))\",\n      \"(data(flags eddsa)(hash-algo sha512)(value \"\n      \"#00112233445566778899AABBCCDDEEFF000102030405060708090A0B0C0D0E0F\"\n
        \     \" 00112233445566778899AABBCCDDEEFF000102030405060708090A0B0C0D0E0F\"\n
        \     \" 00112233445566778899AABBCCDDEEFF000102030405060708090A0B0C0D0E0F#))\",\n
        \     0\n    }\n#if USE_RSA\n    ,\n    {                           /* RSA
        with compliant hash for signing */\n      \"(private-key\"\n      \" (rsa\"\n
        \     \"  (n #009F56231A3D82E3E7D613D59D53E9AB921BEF9F08A782AED0B6E46ADBC853EC\"\n
        \     \"      7C71C422435A3CD8FA0DB9EFD55CD3295BADC4E8E2E2B94E15AE82866AB8ADE8\"\n
        \     \"      7E469FAE76DC3577DE87F1F419C4EB41123DFAF8D16922D5EDBAD6E9076D5A1C\"\n
        \     \"      958106F0AE5E2E9193C6B49124C64C2A241C4075D4AF16299EB87A6585BAE917\"\n
        \     \"      DEF27FCDD165764D069BC18D16527B29DAAB549F7BBED4A7C6A842D203ED6613\"\n
        \     \"      6E2411744E432CD26D940132F25874483DCAEECDFD95744819CBCF1EA810681C\"\n
        \     \"      42907EBCB1C7EAFBE75C87EC32C5413EA10476545D3FC7B2ADB1B66B7F200918\"\n
        \     \"      664B0E5261C2895AA28B0DE321E921B3F877172CCCAB81F43EF98002916156F6\"\n
        \     \"      CB#)\\n\"\n      \"   (e #010001#)\\n\"\n      \"   (d #07EF82500C403899934FE993AC5A36F14FF2DF38CF1EF315F205EE4C83EDAA19\"\n
        \     \"       8890FC23DE9AA933CAFB37B6A8A8DBA675411958337287310D3FF2F1DDC0CB93\"\n
        \     \"       7E70F57F75F833C021852B631D2B9A520E4431A03C5C3FCB5742DCD841D9FB12\"\n
        \     \"       771AA1620DCEC3F1583426066ED9DC3F7028C5B59202C88FDF20396E2FA0EC4F\"\n
        \     \"       5A22D9008F3043673931BC14A5046D6327398327900867E39CC61B2D1AFE2F48\"\n
        \     \"       EC8E1E3861C68D257D7425F4E6F99ABD77D61F10CA100EFC14389071831B33DD\"\n
        \     \"       69CC8EABEF860D1DC2AAA84ABEAE5DFC91BC124DAF0F4C8EF5BBEA436751DE84\"\n
        \     \"       3A8063E827A024466F44C28614F93B0732A100D4A0D86D532FE1E22C7725E401\"\n
        \     \"       #)\\n\"\n      \"   (p #00C29D438F115825779631CD665A5739367F3E128ADC29766483A46CA80897E0\"\n
        \     \"       79B32881860B8F9A6A04C2614A904F6F2578DAE13EA67CD60AE3D0AA00A1FF9B\"\n
        \     \"       441485E44B2DC3D0B60260FBFE073B5AC72FAF67964DE15C8212C389D20DB9CF\"\n
        \     \"       54AF6AEF5C4196EAA56495DD30CF709F499D5AB30CA35E086C2A1589D6283F17\"\n
        \     \"       83#)\\n\"\n      \"   (q #00D1984135231CB243FE959C0CBEF551EDD986AD7BEDF71EDF447BE3DA27AF46\"\n
        \     \"       79C974A6FA69E4D52FE796650623DE70622862713932AA2FD9F2EC856EAEAA77\"\n
        \     \"       88B4EA6084DC81C902F014829B18EA8B2666EC41586818E0589E18876065F97E\"\n
        \     \"       8D22CE2DA53A05951EC132DCEF41E70A9C35F4ACC268FFAC2ADF54FA1DA110B9\"\n
        \     \"       19#)\\n\"\n      \"   (u #67CF0FD7635205DD80FA814EE9E9C267C17376BF3209FB5D1BC42890D2822A04\"\n
        \     \"       479DAF4D5B6ED69D0F8D1AF94164D07F8CD52ECEFE880641FA0F41DDAB1785E4\"\n
        \     \"       A37A32F997A516480B4CD4F6482B9466A1765093ED95023CA32D5EDC1E34CEE9\"\n
        \     \"       AF595BC51FE43C4BF810FA225AF697FB473B83815966188A4312C048B885E3F7\"\n
        \     \"       #)))\\n\",\n      \"(public-key\\n\"\n      \" (rsa\\n\"\n
        \     \"  (n #009F56231A3D82E3E7D613D59D53E9AB921BEF9F08A782AED0B6E46ADBC853EC\"\n
        \     \"      7C71C422435A3CD8FA0DB9EFD55CD3295BADC4E8E2E2B94E15AE82866AB8ADE8\"\n
        \     \"      7E469FAE76DC3577DE87F1F419C4EB41123DFAF8D16922D5EDBAD6E9076D5A1C\"\n
        \     \"      958106F0AE5E2E9193C6B49124C64C2A241C4075D4AF16299EB87A6585BAE917\"\n
        \     \"      DEF27FCDD165764D069BC18D16527B29DAAB549F7BBED4A7C6A842D203ED6613\"\n
        \     \"      6E2411744E432CD26D940132F25874483DCAEECDFD95744819CBCF1EA810681C\"\n
        \     \"      42907EBCB1C7EAFBE75C87EC32C5413EA10476545D3FC7B2ADB1B66B7F200918\"\n
        \     \"      664B0E5261C2895AA28B0DE321E921B3F877172CCCAB81F43EF98002916156F6\"\n
        \     \"      CB#)\\n\"\n      \"   (e #010001#)))\\n\",\n      \"(data\\n
        (flags pkcs1)\\n\"\n      \" (hash sha256 \"\n      \"#00112233445566778899AABBCCDDEEFF000102030405060708090A0B0C0D0E0F#))\\n\",\n
        \     0\n    },\n    {                           /* RSA with non-compliant
        hash for signing */\n      \"(private-key\"\n      \" (rsa\"\n      \"  (n
        #009F56231A3D82E3E7D613D59D53E9AB921BEF9F08A782AED0B6E46ADBC853EC\"\n      \"
        \     7C71C422435A3CD8FA0DB9EFD55CD3295BADC4E8E2E2B94E15AE82866AB8ADE8\"\n
        \     \"      7E469FAE76DC3577DE87F1F419C4EB41123DFAF8D16922D5EDBAD6E9076D5A1C\"\n
        \     \"      958106F0AE5E2E9193C6B49124C64C2A241C4075D4AF16299EB87A6585BAE917\"\n
        \     \"      DEF27FCDD165764D069BC18D16527B29DAAB549F7BBED4A7C6A842D203ED6613\"\n
        \     \"      6E2411744E432CD26D940132F25874483DCAEECDFD95744819CBCF1EA810681C\"\n
        \     \"      42907EBCB1C7EAFBE75C87EC32C5413EA10476545D3FC7B2ADB1B66B7F200918\"\n
        \     \"      664B0E5261C2895AA28B0DE321E921B3F877172CCCAB81F43EF98002916156F6\"\n
        \     \"      CB#)\\n\"\n      \"   (e #010001#)\\n\"\n      \"   (d #07EF82500C403899934FE993AC5A36F14FF2DF38CF1EF315F205EE4C83EDAA19\"\n
        \     \"       8890FC23DE9AA933CAFB37B6A8A8DBA675411958337287310D3FF2F1DDC0CB93\"\n
        \     \"       7E70F57F75F833C021852B631D2B9A520E4431A03C5C3FCB5742DCD841D9FB12\"\n
        \     \"       771AA1620DCEC3F1583426066ED9DC3F7028C5B59202C88FDF20396E2FA0EC4F\"\n
        \     \"       5A22D9008F3043673931BC14A5046D6327398327900867E39CC61B2D1AFE2F48\"\n
        \     \"       EC8E1E3861C68D257D7425F4E6F99ABD77D61F10CA100EFC14389071831B33DD\"\n
        \     \"       69CC8EABEF860D1DC2AAA84ABEAE5DFC91BC124DAF0F4C8EF5BBEA436751DE84\"\n
        \     \"       3A8063E827A024466F44C28614F93B0732A100D4A0D86D532FE1E22C7725E401\"\n
        \     \"       #)\\n\"\n      \"   (p #00C29D438F115825779631CD665A5739367F3E128ADC29766483A46CA80897E0\"\n
        \     \"       79B32881860B8F9A6A04C2614A904F6F2578DAE13EA67CD60AE3D0AA00A1FF9B\"\n
        \     \"       441485E44B2DC3D0B60260FBFE073B5AC72FAF67964DE15C8212C389D20DB9CF\"\n
        \     \"       54AF6AEF5C4196EAA56495DD30CF709F499D5AB30CA35E086C2A1589D6283F17\"\n
        \     \"       83#)\\n\"\n      \"   (q #00D1984135231CB243FE959C0CBEF551EDD986AD7BEDF71EDF447BE3DA27AF46\"\n
        \     \"       79C974A6FA69E4D52FE796650623DE70622862713932AA2FD9F2EC856EAEAA77\"\n
        \     \"       88B4EA6084DC81C902F014829B18EA8B2666EC41586818E0589E18876065F97E\"\n
        \     \"       8D22CE2DA53A05951EC132DCEF41E70A9C35F4ACC268FFAC2ADF54FA1DA110B9\"\n
        \     \"       19#)\\n\"\n      \"   (u #67CF0FD7635205DD80FA814EE9E9C267C17376BF3209FB5D1BC42890D2822A04\"\n
        \     \"       479DAF4D5B6ED69D0F8D1AF94164D07F8CD52ECEFE880641FA0F41DDAB1785E4\"\n
        \     \"       A37A32F997A516480B4CD4F6482B9466A1765093ED95023CA32D5EDC1E34CEE9\"\n
        \     \"       AF595BC51FE43C4BF810FA225AF697FB473B83815966188A4312C048B885E3F7\"\n
        \     \"       #)))\\n\",\n      \"(public-key\\n\"\n      \" (rsa\\n\"\n
        \     \"  (n #009F56231A3D82E3E7D613D59D53E9AB921BEF9F08A782AED0B6E46ADBC853EC\"\n
        \     \"      7C71C422435A3CD8FA0DB9EFD55CD3295BADC4E8E2E2B94E15AE82866AB8ADE8\"\n
        \     \"      7E469FAE76DC3577DE87F1F419C4EB41123DFAF8D16922D5EDBAD6E9076D5A1C\"\n
        \     \"      958106F0AE5E2E9193C6B49124C64C2A241C4075D4AF16299EB87A6585BAE917\"\n
        \     \"      DEF27FCDD165764D069BC18D16527B29DAAB549F7BBED4A7C6A842D203ED6613\"\n
        \     \"      6E2411744E432CD26D940132F25874483DCAEECDFD95744819CBCF1EA810681C\"\n
        \     \"      42907EBCB1C7EAFBE75C87EC32C5413EA10476545D3FC7B2ADB1B66B7F200918\"\n
        \     \"      664B0E5261C2895AA28B0DE321E921B3F877172CCCAB81F43EF98002916156F6\"\n
        \     \"      CB#)\\n\"\n      \"   (e #010001#)))\\n\",\n      \"(data\\n
        (flags pkcs1)\\n\"\n      \" (hash sha1 #11223344556677889900AABBCCDDEEFF10203040#))\\n\",\n
        \     1\n    },\n    {                           /* RSA with unknown hash
        for signing */\n      \"(private-key\"\n      \" (rsa\"\n      \"  (n #009F56231A3D82E3E7D613D59D53E9AB921BEF9F08A782AED0B6E46ADBC853EC\"\n
        \     \"      7C71C422435A3CD8FA0DB9EFD55CD3295BADC4E8E2E2B94E15AE82866AB8ADE8\"\n
        \     \"      7E469FAE76DC3577DE87F1F419C4EB41123DFAF8D16922D5EDBAD6E9076D5A1C\"\n
        \     \"      958106F0AE5E2E9193C6B49124C64C2A241C4075D4AF16299EB87A6585BAE917\"\n
        \     \"      DEF27FCDD165764D069BC18D16527B29DAAB549F7BBED4A7C6A842D203ED6613\"\n
        \     \"      6E2411744E432CD26D940132F25874483DCAEECDFD95744819CBCF1EA810681C\"\n
        \     \"      42907EBCB1C7EAFBE75C87EC32C5413EA10476545D3FC7B2ADB1B66B7F200918\"\n
        \     \"      664B0E5261C2895AA28B0DE321E921B3F877172CCCAB81F43EF98002916156F6\"\n
        \     \"      CB#)\\n\"\n      \"   (e #010001#)\\n\"\n      \"   (d #07EF82500C403899934FE993AC5A36F14FF2DF38CF1EF315F205EE4C83EDAA19\"\n
        \     \"       8890FC23DE9AA933CAFB37B6A8A8DBA675411958337287310D3FF2F1DDC0CB93\"\n
        \     \"       7E70F57F75F833C021852B631D2B9A520E4431A03C5C3FCB5742DCD841D9FB12\"\n
        \     \"       771AA1620DCEC3F1583426066ED9DC3F7028C5B59202C88FDF20396E2FA0EC4F\"\n
        \     \"       5A22D9008F3043673931BC14A5046D6327398327900867E39CC61B2D1AFE2F48\"\n
        \     \"       EC8E1E3861C68D257D7425F4E6F99ABD77D61F10CA100EFC14389071831B33DD\"\n
        \     \"       69CC8EABEF860D1DC2AAA84ABEAE5DFC91BC124DAF0F4C8EF5BBEA436751DE84\"\n
        \     \"       3A8063E827A024466F44C28614F93B0732A100D4A0D86D532FE1E22C7725E401\"\n
        \     \"       #)\\n\"\n      \"   (p #00C29D438F115825779631CD665A5739367F3E128ADC29766483A46CA80897E0\"\n
        \     \"       79B32881860B8F9A6A04C2614A904F6F2578DAE13EA67CD60AE3D0AA00A1FF9B\"\n
        \     \"       441485E44B2DC3D0B60260FBFE073B5AC72FAF67964DE15C8212C389D20DB9CF\"\n
        \     \"       54AF6AEF5C4196EAA56495DD30CF709F499D5AB30CA35E086C2A1589D6283F17\"\n
        \     \"       83#)\\n\"\n      \"   (q #00D1984135231CB243FE959C0CBEF551EDD986AD7BEDF71EDF447BE3DA27AF46\"\n
        \     \"       79C974A6FA69E4D52FE796650623DE70622862713932AA2FD9F2EC856EAEAA77\"\n
        \     \"       88B4EA6084DC81C902F014829B18EA8B2666EC41586818E0589E18876065F97E\"\n
        \     \"       8D22CE2DA53A05951EC132DCEF41E70A9C35F4ACC268FFAC2ADF54FA1DA110B9\"\n
        \     \"       19#)\\n\"\n      \"   (u #67CF0FD7635205DD80FA814EE9E9C267C17376BF3209FB5D1BC42890D2822A04\"\n
        \     \"       479DAF4D5B6ED69D0F8D1AF94164D07F8CD52ECEFE880641FA0F41DDAB1785E4\"\n
        \     \"       A37A32F997A516480B4CD4F6482B9466A1765093ED95023CA32D5EDC1E34CEE9\"\n
        \     \"       AF595BC51FE43C4BF810FA225AF697FB473B83815966188A4312C048B885E3F7\"\n
        \     \"       #)))\\n\",\n      \"(public-key\\n\"\n      \" (rsa\\n\"\n
        \     \"  (n #009F56231A3D82E3E7D613D59D53E9AB921BEF9F08A782AED0B6E46ADBC853EC\"\n
        \     \"      7C71C422435A3CD8FA0DB9EFD55CD3295BADC4E8E2E2B94E15AE82866AB8ADE8\"\n
        \     \"      7E469FAE76DC3577DE87F1F419C4EB41123DFAF8D16922D5EDBAD6E9076D5A1C\"\n
        \     \"      958106F0AE5E2E9193C6B49124C64C2A241C4075D4AF16299EB87A6585BAE917\"\n
        \     \"      DEF27FCDD165764D069BC18D16527B29DAAB549F7BBED4A7C6A842D203ED6613\"\n
        \     \"      6E2411744E432CD26D940132F25874483DCAEECDFD95744819CBCF1EA810681C\"\n
        \     \"      42907EBCB1C7EAFBE75C87EC32C5413EA10476545D3FC7B2ADB1B66B7F200918\"\n
        \     \"      664B0E5261C2895AA28B0DE321E921B3F877172CCCAB81F43EF98002916156F6\"\n
        \     \"      CB#)\\n\"\n      \"   (e #010001#)))\\n\",\n      \"(data\\n
        (flags pkcs1-raw)\\n\"\n      \" (value \"\n      \"#00112233445566778899AABBCCDDEEFF000102030405060708090A0B0C0D0E0F#))\\n\",\n
        \     1\n    },\n    {                           /* RSA with compliant hash
        for signing */\n      \"(private-key\"\n      \" (rsa\"\n      \"  (n #009F56231A3D82E3E7D613D59D53E9AB921BEF9F08A782AED0B6E46ADBC853EC\"\n
        \     \"      7C71C422435A3CD8FA0DB9EFD55CD3295BADC4E8E2E2B94E15AE82866AB8ADE8\"\n
        \     \"      7E469FAE76DC3577DE87F1F419C4EB41123DFAF8D16922D5EDBAD6E9076D5A1C\"\n
        \     \"      958106F0AE5E2E9193C6B49124C64C2A241C4075D4AF16299EB87A6585BAE917\"\n
        \     \"      DEF27FCDD165764D069BC18D16527B29DAAB549F7BBED4A7C6A842D203ED6613\"\n
        \     \"      6E2411744E432CD26D940132F25874483DCAEECDFD95744819CBCF1EA810681C\"\n
        \     \"      42907EBCB1C7EAFBE75C87EC32C5413EA10476545D3FC7B2ADB1B66B7F200918\"\n
        \     \"      664B0E5261C2895AA28B0DE321E921B3F877172CCCAB81F43EF98002916156F6\"\n
        \     \"      CB#)\\n\"\n      \"   (e #010001#)\\n\"\n      \"   (d #07EF82500C403899934FE993AC5A36F14FF2DF38CF1EF315F205EE4C83EDAA19\"\n
        \     \"       8890FC23DE9AA933CAFB37B6A8A8DBA675411958337287310D3FF2F1DDC0CB93\"\n
        \     \"       7E70F57F75F833C021852B631D2B9A520E4431A03C5C3FCB5742DCD841D9FB12\"\n
        \     \"       771AA1620DCEC3F1583426066ED9DC3F7028C5B59202C88FDF20396E2FA0EC4F\"\n
        \     \"       5A22D9008F3043673931BC14A5046D6327398327900867E39CC61B2D1AFE2F48\"\n
        \     \"       EC8E1E3861C68D257D7425F4E6F99ABD77D61F10CA100EFC14389071831B33DD\"\n
        \     \"       69CC8EABEF860D1DC2AAA84ABEAE5DFC91BC124DAF0F4C8EF5BBEA436751DE84\"\n
        \     \"       3A8063E827A024466F44C28614F93B0732A100D4A0D86D532FE1E22C7725E401\"\n
        \     \"       #)\\n\"\n      \"   (p #00C29D438F115825779631CD665A5739367F3E128ADC29766483A46CA80897E0\"\n
        \     \"       79B32881860B8F9A6A04C2614A904F6F2578DAE13EA67CD60AE3D0AA00A1FF9B\"\n
        \     \"       441485E44B2DC3D0B60260FBFE073B5AC72FAF67964DE15C8212C389D20DB9CF\"\n
        \     \"       54AF6AEF5C4196EAA56495DD30CF709F499D5AB30CA35E086C2A1589D6283F17\"\n
        \     \"       83#)\\n\"\n      \"   (q #00D1984135231CB243FE959C0CBEF551EDD986AD7BEDF71EDF447BE3DA27AF46\"\n
        \     \"       79C974A6FA69E4D52FE796650623DE70622862713932AA2FD9F2EC856EAEAA77\"\n
        \     \"       88B4EA6084DC81C902F014829B18EA8B2666EC41586818E0589E18876065F97E\"\n
        \     \"       8D22CE2DA53A05951EC132DCEF41E70A9C35F4ACC268FFAC2ADF54FA1DA110B9\"\n
        \     \"       19#)\\n\"\n      \"   (u #67CF0FD7635205DD80FA814EE9E9C267C17376BF3209FB5D1BC42890D2822A04\"\n
        \     \"       479DAF4D5B6ED69D0F8D1AF94164D07F8CD52ECEFE880641FA0F41DDAB1785E4\"\n
        \     \"       A37A32F997A516480B4CD4F6482B9466A1765093ED95023CA32D5EDC1E34CEE9\"\n
        \     \"       AF595BC51FE43C4BF810FA225AF697FB473B83815966188A4312C048B885E3F7\"\n
        \     \"       #)))\\n\",\n      \"(public-key\\n\"\n      \" (rsa\\n\"\n
        \     \"  (n #009F56231A3D82E3E7D613D59D53E9AB921BEF9F08A782AED0B6E46ADBC853EC\"\n
        \     \"      7C71C422435A3CD8FA0DB9EFD55CD3295BADC4E8E2E2B94E15AE82866AB8ADE8\"\n
        \     \"      7E469FAE76DC3577DE87F1F419C4EB41123DFAF8D16922D5EDBAD6E9076D5A1C\"\n
        \     \"      958106F0AE5E2E9193C6B49124C64C2A241C4075D4AF16299EB87A6585BAE917\"\n
        \     \"      DEF27FCDD165764D069BC18D16527B29DAAB549F7BBED4A7C6A842D203ED6613\"\n
        \     \"      6E2411744E432CD26D940132F25874483DCAEECDFD95744819CBCF1EA810681C\"\n
        \     \"      42907EBCB1C7EAFBE75C87EC32C5413EA10476545D3FC7B2ADB1B66B7F200918\"\n
        \     \"      664B0E5261C2895AA28B0DE321E921B3F877172CCCAB81F43EF98002916156F6\"\n
        \     \"      CB#)\\n\"\n      \"   (e #010001#)))\\n\",\n      \"(data\\n
        (flags pss)\\n\"\n      \" (hash sha256 \"\n      \"#00112233445566778899AABBCCDDEEFF000102030405060708090A0B0C0D0E0F#))\\n\",\n
        \     0\n    },\n    {                           /* RSA with non-compliant
        hash for signing */\n      \"(private-key\"\n      \" (rsa\"\n      \"  (n
        #009F56231A3D82E3E7D613D59D53E9AB921BEF9F08A782AED0B6E46ADBC853EC\"\n      \"
        \     7C71C422435A3CD8FA0DB9EFD55CD3295BADC4E8E2E2B94E15AE82866AB8ADE8\"\n
        \     \"      7E469FAE76DC3577DE87F1F419C4EB41123DFAF8D16922D5EDBAD6E9076D5A1C\"\n
        \     \"      958106F0AE5E2E9193C6B49124C64C2A241C4075D4AF16299EB87A6585BAE917\"\n
        \     \"      DEF27FCDD165764D069BC18D16527B29DAAB549F7BBED4A7C6A842D203ED6613\"\n
        \     \"      6E2411744E432CD26D940132F25874483DCAEECDFD95744819CBCF1EA810681C\"\n
        \     \"      42907EBCB1C7EAFBE75C87EC32C5413EA10476545D3FC7B2ADB1B66B7F200918\"\n
        \     \"      664B0E5261C2895AA28B0DE321E921B3F877172CCCAB81F43EF98002916156F6\"\n
        \     \"      CB#)\\n\"\n      \"   (e #010001#)\\n\"\n      \"   (d #07EF82500C403899934FE993AC5A36F14FF2DF38CF1EF315F205EE4C83EDAA19\"\n
        \     \"       8890FC23DE9AA933CAFB37B6A8A8DBA675411958337287310D3FF2F1DDC0CB93\"\n
        \     \"       7E70F57F75F833C021852B631D2B9A520E4431A03C5C3FCB5742DCD841D9FB12\"\n
        \     \"       771AA1620DCEC3F1583426066ED9DC3F7028C5B59202C88FDF20396E2FA0EC4F\"\n
        \     \"       5A22D9008F3043673931BC14A5046D6327398327900867E39CC61B2D1AFE2F48\"\n
        \     \"       EC8E1E3861C68D257D7425F4E6F99ABD77D61F10CA100EFC14389071831B33DD\"\n
        \     \"       69CC8EABEF860D1DC2AAA84ABEAE5DFC91BC124DAF0F4C8EF5BBEA436751DE84\"\n
        \     \"       3A8063E827A024466F44C28614F93B0732A100D4A0D86D532FE1E22C7725E401\"\n
        \     \"       #)\\n\"\n      \"   (p #00C29D438F115825779631CD665A5739367F3E128ADC29766483A46CA80897E0\"\n
        \     \"       79B32881860B8F9A6A04C2614A904F6F2578DAE13EA67CD60AE3D0AA00A1FF9B\"\n
        \     \"       441485E44B2DC3D0B60260FBFE073B5AC72FAF67964DE15C8212C389D20DB9CF\"\n
        \     \"       54AF6AEF5C4196EAA56495DD30CF709F499D5AB30CA35E086C2A1589D6283F17\"\n
        \     \"       83#)\\n\"\n      \"   (q #00D1984135231CB243FE959C0CBEF551EDD986AD7BEDF71EDF447BE3DA27AF46\"\n
        \     \"       79C974A6FA69E4D52FE796650623DE70622862713932AA2FD9F2EC856EAEAA77\"\n
        \     \"       88B4EA6084DC81C902F014829B18EA8B2666EC41586818E0589E18876065F97E\"\n
        \     \"       8D22CE2DA53A05951EC132DCEF41E70A9C35F4ACC268FFAC2ADF54FA1DA110B9\"\n
        \     \"       19#)\\n\"\n      \"   (u #67CF0FD7635205DD80FA814EE9E9C267C17376BF3209FB5D1BC42890D2822A04\"\n
        \     \"       479DAF4D5B6ED69D0F8D1AF94164D07F8CD52ECEFE880641FA0F41DDAB1785E4\"\n
        \     \"       A37A32F997A516480B4CD4F6482B9466A1765093ED95023CA32D5EDC1E34CEE9\"\n
        \     \"       AF595BC51FE43C4BF810FA225AF697FB473B83815966188A4312C048B885E3F7\"\n
        \     \"       #)))\\n\",\n      \"(public-key\\n\"\n      \" (rsa\\n\"\n
        \     \"  (n #009F56231A3D82E3E7D613D59D53E9AB921BEF9F08A782AED0B6E46ADBC853EC\"\n
        \     \"      7C71C422435A3CD8FA0DB9EFD55CD3295BADC4E8E2E2B94E15AE82866AB8ADE8\"\n
        \     \"      7E469FAE76DC3577DE87F1F419C4EB41123DFAF8D16922D5EDBAD6E9076D5A1C\"\n
        \     \"      958106F0AE5E2E9193C6B49124C64C2A241C4075D4AF16299EB87A6585BAE917\"\n
        \     \"      DEF27FCDD165764D069BC18D16527B29DAAB549F7BBED4A7C6A842D203ED6613\"\n
        \     \"      6E2411744E432CD26D940132F25874483DCAEECDFD95744819CBCF1EA810681C\"\n
        \     \"      42907EBCB1C7EAFBE75C87EC32C5413EA10476545D3FC7B2ADB1B66B7F200918\"\n
        \     \"      664B0E5261C2895AA28B0DE321E921B3F877172CCCAB81F43EF98002916156F6\"\n
        \     \"      CB#)\\n\"\n      \"   (e #010001#)))\\n\",\n      \"(data\\n
        (flags pss)\\n\"\n      \" (hash sha1 #11223344556677889900AABBCCDDEEFF10203040#))\\n\",\n
        \     1\n    }\n#endif /* USE_RSA */\n  }"
      pos:
        line_end: 232
        line_start: 227
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    - fields:
      - name: md_algo
        type: int
      - name: '*prvkey'
        type: char
      - name: '*pubkey'
        type: char
      - name: '*data_tmpl'
        type: char
      - name: '*k'
        type: char
      - name: expect_failure
        type: int
      - name: expect_failure_hash
        type: int
      item_type: struct
      name: "tv[] = {\n    {                           /* non-compliant hash */\n
        \     GCRY_MD_BLAKE2B_512,\n      \"(private-key (ecc (curve nistp256)\"\n
        \     \" (d #519b423d715f8b581f4fa8ee59f4771a5b44c8130b4e3eacca54a56dda72b464#)))\",\n
        \     \"(public-key (ecc (curve nistp256)\"\n      \" (q #041ccbe91c075fc7f4f033bfa248db8fccd3565de94bbfb12f3c59ff46c271bf83\"\n
        \     \"ce4014c68811f9a21a1fdb2c0e6113e06db7ca93b7404e78dc7ccd5ca89a4ca9#)))\",\n
        \     \"(data(flags raw)(hash %s %b)(label %b))\",\n      \"94a1bbb14b906a61a280f245f9e93c7f3b4a6247824f5d33b9670787642a68de\",\n
        \     1, 1\n    },\n    {                           /* non-compliant curve
        */\n      GCRY_MD_SHA256,\n      \"(private-key (ecc (curve secp256k1)\"\n
        \     \" (d #c2cdf0a8b0a83b35ace53f097b5e6e6a0a1f2d40535eff1cf434f52a43d59d8f#)))\",\n\n
        \     \"(public-key (ecc (curve secp256k1)\"\n      \" (q #046fcc37ea5e9e09fec6c83e5fbd7a745e3eee81d16ebd861c9e66f55518c19798\"\n
        \     \"4e9f113c07f875691df8afc1029496fc4cb9509b39dcd38f251a83359cc8b4f7#)))\",\n
        \     \"(data(flags raw)(hash %s %b)(label %b))\",\n      \"94a1bbb14b906a61a280f245f9e93c7f3b4a6247824f5d33b9670787642a68de\",\n
        \     1, 0\n    },\n    {\n      GCRY_MD_SHA256,\n      \"(private-key (ecc
        (curve nistp256)\"\n      \" (d #519b423d715f8b581f4fa8ee59f4771a5b44c8130b4e3eacca54a56dda72b464#)))\",\n
        \     \"(public-key (ecc (curve nistp256)\"\n      \" (q #041ccbe91c075fc7f4f033bfa248db8fccd3565de94bbfb12f3c59ff46c271bf83\"\n
        \     \"ce4014c68811f9a21a1fdb2c0e6113e06db7ca93b7404e78dc7ccd5ca89a4ca9#)))\",\n
        \     \"(data(flags raw)(hash %s %b)(label %b))\",\n      \"94a1bbb14b906a61a280f245f9e93c7f3b4a6247824f5d33b9670787642a68de\",\n
        \     1, 0,\n    }\n  }"
      pos:
        line_end: 697
        line_start: 689
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    - fields:
      - name: algo
        type: int
      - name: mode
        type: int
      - name: '*key'
        type: char
      - name: keylen
        type: int
      - name: '*tag'
        type: char
      - name: taglen
        type: int
      - name: '*expect'
        type: char
      - name: expect_failure
        type: int
      item_type: struct
      name: "tv[] = {\n#if USE_DES\n   { GCRY_CIPHER_3DES, GCRY_CIPHER_MODE_ECB,\n\t
        \"\\xe3\\x34\\x7a\\x6b\\x0b\\xc1\\x15\\x2c\\x64\\x2a\\x25\\xcb\\xd3\\xbc\\x31\\xab\"\n\t
        \"\\xfb\\xa1\\x62\\xa8\\x1f\\x19\\x7c\\x15\", 24,\n     \"\", -1,\n     \"\\x3f\\x1a\\xb8\\x83\\x18\\x8b\\xb5\\x97\",
        1 },\n#endif\n   { GCRY_CIPHER_AES, GCRY_CIPHER_MODE_ECB,\n\t \"\\x2b\\x7e\\x15\\x16\\x28\\xae\\xd2\\xa6\\xab\\xf7\\x15\\x88\\x09\\xcf\\x4f\\x3c\",
        16,\n     \"\", -1,\n     \"\\x5c\\x71\\xd8\\x5d\\x26\\x5e\\xcd\\xb5\\x95\\x40\\x41\\xab\\xff\\x25\\x6f\\xd1\"
        },\n   { GCRY_CIPHER_AES128, GCRY_CIPHER_MODE_SIV,\n\t \"\\xff\\xfe\\xfd\\xfc\\xfb\\xfa\\xf9\\xf8\\xf7\\xf6\\xf5\\xf4\\xf3\\xf2\\xf1\\xf0\"\n\t
        \"\\xf0\\xf1\\xf2\\xf3\\xf4\\xf5\\xf6\\xf7\\xf8\\xf9\\xfa\\xfb\\xfc\\xfd\\xfe\\xff\",
        32,\n     \"\\x51\\x66\\x54\\xc4\\xe1\\xb5\\xd9\\x37\\x31\\x52\\xdb\\xea\\x35\\x10\\x8b\\x7b\",
        16,\n     \"\\x83\\x69\\xf6\\xf3\\x20\\xff\\xa2\\x72\\x31\\x67\\x15\\xcf\\xf4\\x75\\x01\\x9a\",
        1 }\n  }"
      pos:
        line_end: 906
        line_start: 897
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    - fields:
      - name: algo
        type: int
      - name: '*data'
        type: char
      - name: datalen
        type: int
      - name: '*key'
        type: char
      - name: keylen
        type: int
      - name: '*expect'
        type: char
      - name: expect_failure
        type: int
      item_type: struct
      name: "tv[] = {\n#if USE_MD5\n    { GCRY_MAC_HMAC_MD5, \"hmac input abc\", 14,
        \"hmac key input\", 14,\n      \"\\x0d\\x72\\xd0\\x60\\xaf\\x34\\xf2\\xca\\x33\\x58\\xa9\\xcc\\xd3\\x5a\\xac\\xb5\",
        1 },\n#endif\n#if USE_SHA1\n    { GCRY_MAC_HMAC_SHA1, \"hmac input abc\",
        14, \"hmac key input\", 14,\n      \"\\xc9\\x62\\x9d\\x16\\x0f\\xc2\\xc4\\xcd\\x38\\xac\\x3a\\x00\\xdc\\x29\\x61\\x03\"\n
        \     \"\\x69\\x50\\xd7\\x3a\", 1 },\n#endif\n    { GCRY_MAC_HMAC_SHA256,
        \"hmac input abc\", 14, \"hmac key input\", 14,\n      \"\\x6a\\xda\\x4d\\xd5\\xf3\\xa7\\x32\\x9d\\xd2\\x55\\xc0\\x7f\\xe6\\x0a\\x93\\xb8\"\n
        \     \"\\x7a\\x6e\\x76\\x68\\x46\\x34\\x67\\xf9\\xc2\\x29\\xb8\\x24\\x2e\\xc8\\xe3\\xb4\"
        },\n    { GCRY_MAC_HMAC_SHA384, \"hmac input abc\", 14, \"hmac key input\",
        14,\n      \"\\xc6\\x59\\x14\\x4a\\xac\\x4d\\xd5\\x62\\x09\\x2c\\xbd\\x5e\\xbf\\x41\\x94\\xf9\"\n
        \     \"\\xa4\\x78\\x18\\x46\\xfa\\xd6\\xd1\\x12\\x90\\x4f\\x65\\xd4\\xe8\\x44\\xcc\\xcc\"\n
        \     \"\\x3d\\xcc\\xf3\\xe4\\x27\\xd8\\xf0\\xff\\x01\\xe8\\x70\\xcd\\xfb\\xfa\\x24\\x45\"
        },\n    { GCRY_MAC_HMAC_SHA512, \"hmac input abc\", 14, \"hmac key input\",
        14,\n      \"\\xfa\\x77\\x49\\x49\\x24\\x3d\\x7e\\x03\\x1b\\x0e\\xd1\\xfc\\x20\\x81\\xcf\\x95\"\n
        \     \"\\x81\\x21\\xa4\\x4f\\x3b\\xe5\\x69\\x9a\\xe6\\x67\\x27\\x10\\xbc\\x62\\xc7\\xb3\"\n
        \     \"\\xb3\\xcf\\x2b\\x1e\\xda\\x20\\x48\\x25\\xc5\\x6a\\x52\\xc7\\xc9\\xd9\\x77\\xf6\"\n
        \     \"\\xf6\\x49\\x9d\\x70\\xe6\\x04\\x33\\xab\\x6a\\xdf\\x7e\\x9f\\xf4\\xd1\\x59\\x6e\"
        },\n    { GCRY_MAC_HMAC_SHA3_256, \"hmac input abc\", 14, \"hmac key input\",
        14,\n      \"\\x2b\\xe9\\x02\\x92\\xc2\\x37\\xbe\\x91\\x06\\xbf\\x9c\\x8e\\x7b\\xa3\\xf2\\xfc\"\n
        \     \"\\x68\\x10\\x8a\\x71\\xd5\\xc7\\x84\\x3c\\x0b\\xdd\\x7d\\x1e\\xdf\\xa5\\xf6\\xa7\"
        },\n    { GCRY_MAC_HMAC_SHA3_384, \"hmac input abc\", 14, \"hmac key input\",
        14,\n      \"\\x9f\\x6b\\x9f\\x49\\x95\\x57\\xed\\x33\\xb1\\xe7\\x22\\x2f\\xda\\x40\\x68\\xb0\"\n
        \     \"\\x28\\xd2\\xdb\\x6f\\x73\\x3c\\x2e\\x2b\\x29\\x51\\x64\\x53\\xc4\\xc5\\x63\\x8a\"\n
        \     \"\\x98\\xca\\x78\\x1a\\xe7\\x1b\\x7d\\xf6\\xbf\\xf3\\x6a\\xf3\\x2a\\x0e\\xa0\\x5b\"
        },\n    { GCRY_MAC_HMAC_SHA3_512, \"hmac input abc\", 14, \"hmac key input\",
        14,\n      \"\\xf3\\x19\\x70\\x54\\x25\\xdf\\x0f\\xde\\x09\\xe9\\xea\\x3b\\x34\\x67\\x14\\x32\"\n
        \     \"\\xe6\\xe2\\x58\\x9d\\x76\\x38\\xa4\\xbd\\x90\\x35\\x4c\\x07\\x7c\\xa3\\xdb\\x23\"\n
        \     \"\\x3c\\x78\\x0c\\x45\\xee\\x8e\\x39\\xd5\\x81\\xd8\\x5c\\x13\\x20\\x40\\xba\\x34\"\n
        \     \"\\xd0\\x0b\\x75\\x31\\x38\\x4b\\xe7\\x74\\x87\\xa9\\xc5\\x68\\x7f\\xbc\\x19\\xa1\"
        }\n#if USE_RMD160\n    ,\n    { GCRY_MAC_HMAC_RMD160, \"hmac input abc\",
        14, \"hmac key input\", 14,\n      \"\\xf2\\x45\\x5c\\x7e\\x48\\x1a\\xbb\\xe5\\xe8\\xec\\x40\\xa4\\x1b\\x89\\x26\\x2b\"\n
        \     \"\\xdc\\xa1\\x79\\x59\", 1 }\n#endif\n  }"
      pos:
        line_end: 1101
        line_start: 1093
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    - fields:
      - name: algo
        type: int
      - name: '*data'
        type: char
      - name: datalen
        type: int
      - name: '*expect'
        type: char
      - name: expect_failure
        type: int
      item_type: struct
      name: "tv[] = {\n#if USE_MD5\n    { GCRY_MD_MD5, \"abc\", 3,\n      \"\\x90\\x01\\x50\\x98\\x3C\\xD2\\x4F\\xB0\\xD6\\x96\\x3F\\x7D\\x28\\xE1\\x7F\\x72\",
        1 },\n#endif\n#if USE_SHA1\n    { GCRY_MD_SHA1, \"abc\", 3,\n      \"\\xA9\\x99\\x3E\\x36\\x47\\x06\\x81\\x6A\\xBA\\x3E\"\n
        \     \"\\x25\\x71\\x78\\x50\\xC2\\x6C\\x9C\\xD0\\xD8\\x9D\", 1 },\n#endif\n
        \   { GCRY_MD_SHA256, \"abc\", 3,\n      \"\\xba\\x78\\x16\\xbf\\x8f\\x01\\xcf\\xea\\x41\\x41\\x40\\xde\\x5d\\xae\\x22\\x23\"\n
        \     \"\\xb0\\x03\\x61\\xa3\\x96\\x17\\x7a\\x9c\\xb4\\x10\\xff\\x61\\xf2\\x00\\x15\\xad\"
        },\n    { GCRY_MD_SHA384, \"abc\", 3,\n      \"\\xcb\\x00\\x75\\x3f\\x45\\xa3\\x5e\\x8b\\xb5\\xa0\\x3d\\x69\\x9a\\xc6\\x50\\x07\"\n
        \     \"\\x27\\x2c\\x32\\xab\\x0e\\xde\\xd1\\x63\\x1a\\x8b\\x60\\x5a\\x43\\xff\\x5b\\xed\"\n
        \     \"\\x80\\x86\\x07\\x2b\\xa1\\xe7\\xcc\\x23\\x58\\xba\\xec\\xa1\\x34\\xc8\\x25\\xa7\"
        },\n    { GCRY_MD_SHA512, \"abc\", 3,\n      \"\\xDD\\xAF\\x35\\xA1\\x93\\x61\\x7A\\xBA\\xCC\\x41\\x73\\x49\\xAE\\x20\\x41\\x31\"\n
        \     \"\\x12\\xE6\\xFA\\x4E\\x89\\xA9\\x7E\\xA2\\x0A\\x9E\\xEE\\xE6\\x4B\\x55\\xD3\\x9A\"\n
        \     \"\\x21\\x92\\x99\\x2A\\x27\\x4F\\xC1\\xA8\\x36\\xBA\\x3C\\x23\\xA3\\xFE\\xEB\\xBD\"\n
        \     \"\\x45\\x4D\\x44\\x23\\x64\\x3C\\xE8\\x0E\\x2A\\x9A\\xC9\\x4F\\xA5\\x4C\\xA4\\x9F\"
        },\n    { GCRY_MD_SHA3_256, \"abc\", 3,\n      \"\\x3a\\x98\\x5d\\xa7\\x4f\\xe2\\x25\\xb2\\x04\\x5c\\x17\\x2d\\x6b\\xd3\\x90\\xbd\"\n
        \     \"\\x85\\x5f\\x08\\x6e\\x3e\\x9d\\x52\\x5b\\x46\\xbf\\xe2\\x45\\x11\\x43\\x15\\x32\"
        },\n    { GCRY_MD_SHA3_384, \"abc\", 3,\n      \"\\xec\\x01\\x49\\x82\\x88\\x51\\x6f\\xc9\\x26\\x45\\x9f\\x58\\xe2\\xc6\\xad\\x8d\"\n
        \     \"\\xf9\\xb4\\x73\\xcb\\x0f\\xc0\\x8c\\x25\\x96\\xda\\x7c\\xf0\\xe4\\x9b\\xe4\\xb2\"\n
        \     \"\\x98\\xd8\\x8c\\xea\\x92\\x7a\\xc7\\xf5\\x39\\xf1\\xed\\xf2\\x28\\x37\\x6d\\x25\"
        },\n    { GCRY_MD_SHA3_512, \"abc\", 3,\n      \"\\xb7\\x51\\x85\\x0b\\x1a\\x57\\x16\\x8a\\x56\\x93\\xcd\\x92\\x4b\\x6b\\x09\\x6e\"\n
        \     \"\\x08\\xf6\\x21\\x82\\x74\\x44\\xf7\\x0d\\x88\\x4f\\x5d\\x02\\x40\\xd2\\x71\\x2e\"\n
        \     \"\\x10\\xe1\\x16\\xe9\\x19\\x2a\\xf3\\xc9\\x1a\\x7e\\xc5\\x76\\x47\\xe3\\x93\\x40\"\n
        \     \"\\x57\\x34\\x0b\\x4c\\xf4\\x08\\xd5\\xa5\\x65\\x92\\xf8\\x27\\x4e\\xec\\x53\\xf0\"
        }\n#if USE_RMD160\n    ,\n    { GCRY_MD_RMD160, \"abc\", 3,\n      \"\\x8e\\xb2\\x08\\xf7\\xe0\\x5d\\x98\\x7a\\x9b\\x04\"\n
        \     \"\\x4a\\x8e\\x98\\xc6\\xb0\\x87\\xf1\\x5a\\x0b\\xfc\", 1 }\n#endif\n
        \ }"
      pos:
        line_end: 1258
        line_start: 1252
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    - fields:
      - name: algo
        type: int
      - name: '*data'
        type: char
      - name: datalen
        type: int
      - name: '*expect'
        type: char
      - name: expect_failure
        type: int
      item_type: struct
      name: "tv[] = {\n#if USE_MD5\n    { GCRY_MD_MD5, \"abc\", 3,\n      \"\\x90\\x01\\x50\\x98\\x3C\\xD2\\x4F\\xB0\\xD6\\x96\\x3F\\x7D\\x28\\xE1\\x7F\\x72\",
        1 },\n#endif\n#if USE_SHA1\n    { GCRY_MD_SHA1, \"abc\", 3,\n      \"\\xA9\\x99\\x3E\\x36\\x47\\x06\\x81\\x6A\\xBA\\x3E\"\n
        \     \"\\x25\\x71\\x78\\x50\\xC2\\x6C\\x9C\\xD0\\xD8\\x9D\", 1 },\n#endif\n
        \   { GCRY_MD_SHA256, \"abc\", 3,\n      \"\\xba\\x78\\x16\\xbf\\x8f\\x01\\xcf\\xea\\x41\\x41\\x40\\xde\\x5d\\xae\\x22\\x23\"\n
        \     \"\\xb0\\x03\\x61\\xa3\\x96\\x17\\x7a\\x9c\\xb4\\x10\\xff\\x61\\xf2\\x00\\x15\\xad\"
        },\n    { GCRY_MD_SHA384, \"abc\", 3,\n      \"\\xcb\\x00\\x75\\x3f\\x45\\xa3\\x5e\\x8b\\xb5\\xa0\\x3d\\x69\\x9a\\xc6\\x50\\x07\"\n
        \     \"\\x27\\x2c\\x32\\xab\\x0e\\xde\\xd1\\x63\\x1a\\x8b\\x60\\x5a\\x43\\xff\\x5b\\xed\"\n
        \     \"\\x80\\x86\\x07\\x2b\\xa1\\xe7\\xcc\\x23\\x58\\xba\\xec\\xa1\\x34\\xc8\\x25\\xa7\"
        },\n    { GCRY_MD_SHA512, \"abc\", 3,\n      \"\\xDD\\xAF\\x35\\xA1\\x93\\x61\\x7A\\xBA\\xCC\\x41\\x73\\x49\\xAE\\x20\\x41\\x31\"\n
        \     \"\\x12\\xE6\\xFA\\x4E\\x89\\xA9\\x7E\\xA2\\x0A\\x9E\\xEE\\xE6\\x4B\\x55\\xD3\\x9A\"\n
        \     \"\\x21\\x92\\x99\\x2A\\x27\\x4F\\xC1\\xA8\\x36\\xBA\\x3C\\x23\\xA3\\xFE\\xEB\\xBD\"\n
        \     \"\\x45\\x4D\\x44\\x23\\x64\\x3C\\xE8\\x0E\\x2A\\x9A\\xC9\\x4F\\xA5\\x4C\\xA4\\x9F\"
        },\n    { GCRY_MD_SHA3_256, \"abc\", 3,\n      \"\\x3a\\x98\\x5d\\xa7\\x4f\\xe2\\x25\\xb2\\x04\\x5c\\x17\\x2d\\x6b\\xd3\\x90\\xbd\"\n
        \     \"\\x85\\x5f\\x08\\x6e\\x3e\\x9d\\x52\\x5b\\x46\\xbf\\xe2\\x45\\x11\\x43\\x15\\x32\"
        },\n    { GCRY_MD_SHA3_384, \"abc\", 3,\n      \"\\xec\\x01\\x49\\x82\\x88\\x51\\x6f\\xc9\\x26\\x45\\x9f\\x58\\xe2\\xc6\\xad\\x8d\"\n
        \     \"\\xf9\\xb4\\x73\\xcb\\x0f\\xc0\\x8c\\x25\\x96\\xda\\x7c\\xf0\\xe4\\x9b\\xe4\\xb2\"\n
        \     \"\\x98\\xd8\\x8c\\xea\\x92\\x7a\\xc7\\xf5\\x39\\xf1\\xed\\xf2\\x28\\x37\\x6d\\x25\"
        },\n    { GCRY_MD_SHA3_512, \"abc\", 3,\n      \"\\xb7\\x51\\x85\\x0b\\x1a\\x57\\x16\\x8a\\x56\\x93\\xcd\\x92\\x4b\\x6b\\x09\\x6e\"\n
        \     \"\\x08\\xf6\\x21\\x82\\x74\\x44\\xf7\\x0d\\x88\\x4f\\x5d\\x02\\x40\\xd2\\x71\\x2e\"\n
        \     \"\\x10\\xe1\\x16\\xe9\\x19\\x2a\\xf3\\xc9\\x1a\\x7e\\xc5\\x76\\x47\\xe3\\x93\\x40\"\n
        \     \"\\x57\\x34\\x0b\\x4c\\xf4\\x08\\xd5\\xa5\\x65\\x92\\xf8\\x27\\x4e\\xec\\x53\\xf0\"
        }\n#if USE_RMD160\n    ,\n    { GCRY_MD_RMD160, \"abc\", 3,\n      \"\\x8e\\xb2\\x08\\xf7\\xe0\\x5d\\x98\\x7a\\x9b\\x04\"\n
        \     \"\\x4a\\x8e\\x98\\xc6\\xb0\\x87\\xf1\\x5a\\x0b\\xfc\", 1 }\n#endif\n
        \ }"
      pos:
        line_end: 1384
        line_start: 1378
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    - fields:
      - name: algo
        type: int
      - name: '*data'
        type: char
      - name: datalen
        type: int
      - name: '*key'
        type: char
      - name: keylen
        type: int
      - name: '*expect'
        type: char
      - name: expect_failure
        type: int
      item_type: struct
      name: "tv[] = {\n#if USE_MD5\n    { GCRY_MD_MD5, \"abc\", 3,\n      \"key\",
        3,\n      \"\\xd2\\xfe\\x98\\x06\\x3f\\x87\\x6b\\x03\\x19\\x3a\\xfb\\x49\\xb4\\x97\\x95\\x91\",
        1 },\n#endif\n#if USE_SHA1\n    { GCRY_MD_SHA1, \"abc\", 3,\n      \"key\",
        3,\n      \"\\x4f\\xd0\\xb2\\x15\\x27\\x6e\\xf1\\x2f\\x2b\\x3e\"\n      \"\\x4c\\x8e\\xca\\xc2\\x81\\x14\\x98\\xb6\\x56\\xfc\",
        1 },\n#endif\n    { GCRY_MD_SHA256, \"abc\", 3,\n      \"key\", 3,\n      \"\\x9c\\x19\\x6e\\x32\\xdc\\x01\\x75\\xf8\\x6f\\x4b\\x1c\\xb8\\x92\\x89\\xd6\\x61\"\n
        \     \"\\x9d\\xe6\\xbe\\xe6\\x99\\xe4\\xc3\\x78\\xe6\\x83\\x09\\xed\\x97\\xa1\\xa6\\xab\"
        },\n    { GCRY_MD_SHA384, \"abc\", 3,\n      \"key\", 3,\n      \"\\x30\\xdd\\xb9\\xc8\\xf3\\x47\\xcf\\xfb\\xfb\\x44\\xe5\\x19\\xd8\\x14\\xf0\\x74\"\n
        \     \"\\xcf\\x40\\x47\\xa5\\x5d\\x6f\\x56\\x33\\x24\\xf1\\xc6\\xa3\\x39\\x20\\xe5\\xed\"\n
        \     \"\\xfb\\x2a\\x34\\xba\\xc6\\x0b\\xdc\\x96\\xcd\\x33\\xa9\\x56\\x23\\xd7\\xd6\\x38\"
        },\n    { GCRY_MD_SHA512, \"abc\", 3,\n      \"key\", 3,\n      \"\\x39\\x26\\xa2\\x07\\xc8\\xc4\\x2b\\x0c\\x41\\x79\\x2c\\xbd\\x3e\\x1a\\x1a\\xaa\"\n
        \     \"\\xf5\\xf7\\xa2\\x57\\x04\\xf6\\x2d\\xfc\\x93\\x9c\\x49\\x87\\xdd\\x7c\\xe0\\x60\"\n
        \     \"\\x00\\x9c\\x5b\\xb1\\xc2\\x44\\x73\\x55\\xb3\\x21\\x6f\\x10\\xb5\\x37\\xe9\\xaf\"\n
        \     \"\\xa7\\xb6\\x4a\\x4e\\x53\\x91\\xb0\\xd6\\x31\\x17\\x2d\\x07\\x93\\x9e\\x08\\x7a\"
        },\n    { GCRY_MD_SHA3_256, \"abc\", 3,\n      \"key\", 3,\n      \"\\x09\\xb6\\xdb\\xab\\x8d\\x11\\x79\\x5c\\xa7\\xc8\\xd8\\x2f\\x1c\\xf9\\x16\\x82\"\n
        \     \"\\x01\\x3c\\x7c\\xb9\\x80\\xab\\xbb\\x25\\x47\\x3b\\xe4\\xae\\x7f\\x7b\\x56\\x83\"
        },\n    { GCRY_MD_SHA3_384, \"abc\", 3,\n      \"key\", 3,\n      \"\\x94\\xf2\\xaa\\x7a\\xe7\\xc4\\xb7\\xb8\\xfa\\x4c\\x61\\x2f\\xdb\\x42\\x2b\\x33\"\n
        \     \"\\x43\\x81\\x1b\\x13\\xc8\\x88\\x82\\x57\\x90\\x4f\\x54\\x39\\x95\\xcd\\xbc\\xba\"\n
        \     \"\\x5e\\x49\\xf1\\x0f\\x8e\\xd6\\xf7\\xb9\\xdd\\xc1\\xb3\\x0b\\x38\\x28\\x81\\x5c\"
        },\n    { GCRY_MD_SHA3_512, \"abc\", 3,\n      \"key\", 3,\n      \"\\x08\\x5e\\x4e\\x83\\x50\\x3f\\x40\\xb8\\x2f\\xef\\x38\\x43\\x8b\\xc4\\x90\\x5a\"\n
        \     \"\\x55\\xdb\\xaa\\x8c\\x88\\x78\\x09\\x7a\\x89\\x9d\\xb0\\xb5\\x7c\\xe7\\xda\\x57\"\n
        \     \"\\xa3\\x68\\x25\\x1c\\x34\\x47\\x4f\\x60\\xb3\\xeb\\xac\\xb3\\x9b\\x2e\\xda\\xca\"\n
        \     \"\\x4b\\x29\\x04\\x56\\x41\\x1c\\x76\\xec\\x7a\\xb6\\x19\\x44\\xcf\\xe2\\x28\\x8e\"
        }\n#if USE_RMD160\n    ,\n    { GCRY_MD_RMD160, \"abc\", 3,\n      \"key\",
        3,\n      \"\\x67\\xfd\\xce\\x73\\x8e\\xbf\\xc7\\x37\\x2b\\xcd\"\n      \"\\x38\\xf0\\x3c\\x02\\x3b\\x57\\x46\\x72\\x4d\\x18\",
        1 }\n#endif\n  }"
      pos:
        line_end: 1491
        line_start: 1483
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    - fields:
      - name: '*p'
        type: char
      - name: plen
        type: size_t
      - name: algo
        type: int
      - name: subalgo
        type: int
      - name: '*salt'
        type: char
      - name: saltlen
        type: size_t
      - name: iterations
        type: unsigned long
      - name: dklen
        type: int
      - name: '*dk'
        type: char
      - name: expect_failure
        type: int
      item_type: struct
      name: "tv[] = {\n    {\n      \"passwordPASSWORDpassword\", 24,\n      GCRY_KDF_PBKDF2,
        GCRY_MD_SHA256,\n      \"saltSALTsaltSALTsaltSALTsaltSALTsalt\", 36,\n      4096,\n
        \     25,\n      \"\\x34\\x8c\\x89\\xdb\\xcb\\xd3\\x2b\\x2f\\x32\\xd8\"\n
        \     \"\\x14\\xb8\\x11\\x6e\\x84\\xcf\\x2b\\x17\\x34\\x7e\"\n      \"\\xbc\\x18\\x00\\x18\\x1c\",\n
        \     0\n    },\n    {\n      \"pleaseletmein\", 13,\n      GCRY_KDF_SCRYPT,
        16384,\n      \"SodiumChloride\", 14,\n      1,\n      64,\n      \"\\x70\\x23\\xbd\\xcb\\x3a\\xfd\\x73\\x48\\x46\\x1c\\x06\\xcd\\x81\\xfd\\x38\\xeb\"\n
        \     \"\\xfd\\xa8\\xfb\\xba\\x90\\x4f\\x8e\\x3e\\xa9\\xb5\\x43\\xf6\\x54\\x5d\\xa1\\xf2\"\n
        \     \"\\xd5\\x43\\x29\\x55\\x61\\x3f\\x0f\\xcf\\x62\\xd4\\x97\\x05\\x24\\x2a\\x9a\\xf9\"\n
        \     \"\\xe6\\x1e\\x85\\xdc\\x0d\\x65\\x1e\\x40\\xdf\\xcf\\x01\\x7b\\x45\\x57\\x58\\x87\",\n
        \     1 /* not-compliant because unallowed algo */\n    },\n    {\n      \"passwor\",
        7,\n      GCRY_KDF_PBKDF2, GCRY_MD_SHA256,\n      \"saltSALTsaltSALTsaltSALTsaltSALTsalt\",
        36,\n      4096,\n      25,\n      \"\\x2d\\x72\\xa9\\xe5\\x4e\\x2f\\x37\\x6e\\xe5\\xe4\"\n
        \     \"\\xf5\\x55\\x76\\xb5\\xaa\\x49\\x73\\x01\\x97\\x1c\"\n      \"\\xad\\x3a\\x7c\\xc4\\xde\",\n
        \     1 /* not-compliant because passphrase len is too small */\n    },\n
        \   {\n      \"passwordPASSWORDpassword\", 24,\n      GCRY_KDF_PBKDF2, GCRY_MD_SHA256,\n
        \     \"saltSALTsaltSAL\", 15,\n      4096,\n      25,\n      \"\\xf7\\x55\\xdd\\x3c\\x5e\\xfb\\x23\\x06\\xa7\\x85\"\n
        \     \"\\x94\\xa7\\x31\\x12\\x45\\xcf\\x5a\\x4b\\xdc\\x09\"\n      \"\\xee\\x65\\x4b\\x50\\x3f\",\n
        \     1 /* not-compliant because salt len is too small */\n    },\n    {\n
        \     \"passwordPASSWORDpassword\", 24,\n      GCRY_KDF_PBKDF2, GCRY_MD_SHA256,\n
        \     \"saltSALTsaltSALTsaltSALTsaltSALTsalt\", 36,\n      999,\n      25,\n
        \     \"\\x09\\x3e\\x1a\\xd8\\x63\\x30\\x71\\x9c\\x17\\xcf\"\n      \"\\xb0\\x53\\x3e\\x1f\\xc8\\x51\\x29\\x71\\x54\\x28\"\n
        \     \"\\x5d\\xf7\\x8e\\x41\\xaa\",\n      1 /* not-compliant because too
        few iterations */\n    },\n    {\n      \"passwordPASSWORDpassword\", 24,\n
        \     GCRY_KDF_PBKDF2, GCRY_MD_SHA256,\n      \"saltSALTsaltSALTsaltSALTsaltSALTsalt\",
        36,\n      4096,\n      13,\n      \"\\x34\\x8c\\x89\\xdb\\xcb\\xd3\\x2b\\x2f\\x32\\xd8\"\n
        \     \"\\x14\\xb8\\x11\",\n      1 /* not-compliant because key size too
        small */\n    },\n    {\n      \"passwordPASSWORDpassword\", 24,\n      GCRY_KDF_PBKDF2,
        GCRY_MD_BLAKE2B_512,\n      \"saltSALTsaltSALTsaltSALTsaltSALTsalt\", 36,\n
        \     4096,\n      60,\n      \"\\xa4\\x6b\\x53\\x35\\xdb\\xdd\\xa3\\xd2\\x5d\\x19\\xbb\\x11\\xfe\\xdd\\xd9\\x9e\"\n
        \     \"\\x45\\x2a\\x7c\\x34\\x47\\x41\\x98\\xca\\x31\\x74\\xb6\\x34\\x22\\xac\\x83\\xb0\"\n
        \     \"\\x38\\x6e\\xf5\\x93\\x0f\\xf5\\x16\\x46\\x0b\\x97\\xdc\\x6c\\x27\\x5b\\xe7\\x25\"\n
        \     \"\\xc2\\xcb\\xec\\x50\\x02\\xc6\\x52\\x8b\\x34\\x68\\x53\\x65\",\n
        \     1 /* not-compliant because subalgo is not the one of approved */\n    }\n
        \ }"
      pos:
        line_end: 1623
        line_start: 1612
        source_file: /src/libgcrypt/tests/t-fips-service-ind.c
    typedefs: []
    union: []
- function_names:
  - showhex
  - hex2bin
  - hex2buffer
  - read_textline
  - read_hexline
  - skip_to_empty_line
  - read_file
  - base64_decode
  - parse_tag
  - read_private_key_file
  - read_public_key_file
  - read_sig_file
  - read_sexp_from_file
  - print_buffer
  - print_mpi_line
  - print_data_line
  - print_sexp
  - init_external_rng_test
  - run_external_rng_test
  - deinit_external_rng_test
  - map_openssl_cipher_name
  - run_encrypt_decrypt
  - get_current_iv
  - run_cipher_mct_loop
  - run_digest
  - run_hmac
  - run_rsa_derive
  - run_rsa_keygen
  - compute_tag_length
  - store_tag_length
  - run_rsa_gen
  - run_rsa_sign
  - run_rsa_verify
  - dsa_gen
  - dsa_gen_with_seed
  - ecdsa_gen_key
  - print_dsa_domain_parameters
  - print_ecdsa_dq
  - run_dsa_pqg_gen
  - run_dsa_gen
  - run_dsa_sign
  - run_dsa_verify
  - run_ecdsa_sign
  - run_ecdsa_verify
  - run_ecdsa_gen_key
  - usage
  - main
  source_file: /src/libgcrypt/tests/fipsdrv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PACKAGE_BUGREPORT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/tests/fipsdrv.c
      type_or_value: '"devnull@example.org"'
    - item_type: preproc_def
      name: PACKAGE_VERSION
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/tests/fipsdrv.c
      type_or_value: '"[build on " __DATE__ " " __TIME__ "]"'
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/tests/fipsdrv.c
      type_or_value: '"fipsdrv"'
    - item_type: preproc_def
      name: NCHUNK
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/libgcrypt/tests/fipsdrv.c
      type_or_value: '8192'
    structs:
    - fields:
      - name: class
        type: int
      - name: tag
        type: unsigned long
      - name: length
        type: unsigned long
      - name: nhdr
        type: int
      - name: ndef
        type: unsigned int
      - name: cons
        type: unsigned int
      item_type: struct
      name: tag_info
      pos:
        line_end: 117
        line_start: 109
        source_file: /src/libgcrypt/tests/fipsdrv.c
    - fields:
      - name: '*name'
        type: char
      - name: algo
        type: int
      - name: mode
        type: int
      item_type: struct
      name: "table[] =\n    {\n      { \"bf-cbc\",       GCRY_CIPHER_BLOWFISH, GCRY_CIPHER_MODE_CBC
        },\n      { \"bf\",           GCRY_CIPHER_BLOWFISH, GCRY_CIPHER_MODE_CBC },\n
        \     { \"bf-cfb\",       GCRY_CIPHER_BLOWFISH, GCRY_CIPHER_MODE_CFB },\n
        \     { \"bf-ecb\",       GCRY_CIPHER_BLOWFISH, GCRY_CIPHER_MODE_ECB },\n
        \     { \"bf-ofb\",       GCRY_CIPHER_BLOWFISH, GCRY_CIPHER_MODE_OFB },\n\n
        \     { \"cast-cbc\",     GCRY_CIPHER_CAST5, GCRY_CIPHER_MODE_CBC },\n      {
        \"cast\",         GCRY_CIPHER_CAST5, GCRY_CIPHER_MODE_CBC },\n      { \"cast5-cbc\",
        \   GCRY_CIPHER_CAST5, GCRY_CIPHER_MODE_CBC },\n      { \"cast5-cfb\",    GCRY_CIPHER_CAST5,
        GCRY_CIPHER_MODE_CFB },\n      { \"cast5-ecb\",    GCRY_CIPHER_CAST5, GCRY_CIPHER_MODE_ECB
        },\n      { \"cast5-ofb\",    GCRY_CIPHER_CAST5, GCRY_CIPHER_MODE_OFB },\n\n
        \     { \"des-cbc\",      GCRY_CIPHER_DES, GCRY_CIPHER_MODE_CBC },\n      {
        \"des\",          GCRY_CIPHER_DES, GCRY_CIPHER_MODE_CBC },\n      { \"des-cfb\",
        \     GCRY_CIPHER_DES, GCRY_CIPHER_MODE_CFB },\n      { \"des-ofb\",      GCRY_CIPHER_DES,
        GCRY_CIPHER_MODE_OFB },\n      { \"des-ecb\",      GCRY_CIPHER_DES, GCRY_CIPHER_MODE_ECB
        },\n\n      { \"des-ede3-cbc\", GCRY_CIPHER_3DES, GCRY_CIPHER_MODE_CBC },\n
        \     { \"des-ede3\",     GCRY_CIPHER_3DES, GCRY_CIPHER_MODE_ECB },\n      {
        \"des3\",         GCRY_CIPHER_3DES, GCRY_CIPHER_MODE_CBC },\n      { \"des-ede3-cfb\",
        GCRY_CIPHER_3DES, GCRY_CIPHER_MODE_CFB },\n      { \"des-ede3-ofb\", GCRY_CIPHER_3DES,
        GCRY_CIPHER_MODE_OFB },\n\n      { \"rc4\",          GCRY_CIPHER_ARCFOUR,
        GCRY_CIPHER_MODE_STREAM },\n\n      { \"aes-128-cbc\",  GCRY_CIPHER_AES128,
        GCRY_CIPHER_MODE_CBC },\n      { \"aes-128\",      GCRY_CIPHER_AES128, GCRY_CIPHER_MODE_CBC
        },\n      { \"aes-128-cfb\",  GCRY_CIPHER_AES128, GCRY_CIPHER_MODE_CFB },\n
        \     { \"aes-128-ecb\",  GCRY_CIPHER_AES128, GCRY_CIPHER_MODE_ECB },\n      {
        \"aes-128-ofb\",  GCRY_CIPHER_AES128, GCRY_CIPHER_MODE_OFB },\n\n      { \"aes-192-cbc\",
        \ GCRY_CIPHER_AES192, GCRY_CIPHER_MODE_CBC },\n      { \"aes-192\",      GCRY_CIPHER_AES192,
        GCRY_CIPHER_MODE_CBC },\n      { \"aes-192-cfb\",  GCRY_CIPHER_AES192, GCRY_CIPHER_MODE_CFB
        },\n      { \"aes-192-ecb\",  GCRY_CIPHER_AES192, GCRY_CIPHER_MODE_ECB },\n
        \     { \"aes-192-ofb\",  GCRY_CIPHER_AES192, GCRY_CIPHER_MODE_OFB },\n\n
        \     { \"aes-256-cbc\",  GCRY_CIPHER_AES256, GCRY_CIPHER_MODE_CBC },\n      {
        \"aes-256\",      GCRY_CIPHER_AES256, GCRY_CIPHER_MODE_CBC },\n      { \"aes-256-cfb\",
        \ GCRY_CIPHER_AES256, GCRY_CIPHER_MODE_CFB },\n      { \"aes-256-ecb\",  GCRY_CIPHER_AES256,
        GCRY_CIPHER_MODE_ECB },\n      { \"aes-256-ofb\",  GCRY_CIPHER_AES256, GCRY_CIPHER_MODE_OFB
        },\n\n      { NULL, 0 , 0 }\n    }"
      pos:
        line_end: 945
        line_start: 941
        source_file: /src/libgcrypt/tests/fipsdrv.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/tests/sha3-224.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_one_mac
  - check_hmac
  - check_hmac_multi
  - main
  source_file: /src/libgcrypt/tests/hmac.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libgcrypt/tests/hmac.c
      type_or_value: '"hmac"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mpi2bitstr
  - mpi2bitstr_nlz
  - rshiftbitstring
  - lshiftbitstring
  - one_bit_only
  - test_rshift
  - test_lshift
  - set_bit_with_resize
  - main
  source_file: /src/libgcrypt/tests/t-mpi-bit.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libgcrypt/tests/t-mpi-bit.c
      type_or_value: '"t-mpi-bit"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/tests/sha3-512.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - external_lock_test_init
  - external_lock_test_lock
  - external_lock_test_unlock
  - external_lock_test_destroy
  - nonce_thread
  - check_nonce_lock
  - init_accounts
  - check_accounts
  - print_accounts
  - get_rand
  - pick_account
  - pick_value
  - revision_thread
  - accountant_thread
  - run_test
  - main
  source_file: /src/libgcrypt/tests/t-lock.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/tests/t-lock.c
      type_or_value: '"t-lock"'
    - item_type: preproc_def
      name: THREAD_RET_TYPE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/tests/t-lock.c
      type_or_value: DWORD WINAPI
    - item_type: preproc_def
      name: THREAD_RET_VALUE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/tests/t-lock.c
      type_or_value: '0'
    - item_type: preproc_def
      name: THREAD_RET_TYPE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgcrypt/tests/t-lock.c
      type_or_value: void *
    - item_type: preproc_def
      name: THREAD_RET_VALUE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgcrypt/tests/t-lock.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: N_NONCE_THREADS
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgcrypt/tests/t-lock.c
      type_or_value: '8'
    - item_type: preproc_def
      name: N_NONCE_ITERATIONS
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgcrypt/tests/t-lock.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: NONCE_SIZE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgcrypt/tests/t-lock.c
      type_or_value: '11'
    - item_type: preproc_def
      name: N_ACCOUNT
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libgcrypt/tests/t-lock.c
      type_or_value: '8'
    - item_type: preproc_def
      name: ACCOUNT_VALUE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libgcrypt/tests/t-lock.c
      type_or_value: '42'
    - item_type: preproc_def
      name: N_TRANSACTIONS
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/libgcrypt/tests/t-lock.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: N_ACCOUNTANTS
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libgcrypt/tests/t-lock.c
      type_or_value: '5'
    - item_type: preproc_def
      name: MAX_TRANSACTION_VALUE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libgcrypt/tests/t-lock.c
      type_or_value: '50'
    structs:
    - fields:
      - name: 'no'
        type: int
      item_type: struct
      name: thread_arg_s
      pos:
        line_end: 87
        line_start: 84
        source_file: /src/libgcrypt/tests/t-lock.c
    typedefs: []
    union: []
- function_names:
  - show_sexp
  - mpi_from_string
  - data_from_hex
  - extract_cmp_mpi
  - extract_cmp_data
  - extract_cmp_int
  - check_dsa_gen_186_2
  - check_dsa_gen_186_3
  - main
  source_file: /src/libgcrypt/tests/fips186-dsa.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/tests/fips186-dsa.c
      type_or_value: '"fips186-dsa"'
    structs:
    - fields:
      - name: nbits
        type: int
      - name: '*p'
        type: char
      - name: '*seed'
        type: char
      - name: counter
        type: int
      - name: '*h'
        type: char
      item_type: struct
      name: "tbl[] = {\n    /* These tests are from FIPS 186-2, DSAVS B.3.1 PQGGen.rsp.
        \ CAVS 2.2.  */\n    {\n      1024,\n      \"d3aed1876054db831d0c1348fbb1ada72507e5fbf9a62cbd47a63aeb7859d6921\"\n
        \     \"4adeb9146a6ec3f43520f0fd8e3125dd8bbc5d87405d1ac5f82073cd762a3f8d7\"\n
        \     \"74322657c9da88a7d2f0e1a9ceb84a39cb40876179e6a76e400498de4bb9379b0\"\n
        \     \"5f5feb7b91eb8fea97ee17a955a0a8a37587a272c4719d6feb6b54ba4ab69\",\n
        \     \"9c916d121de9a03f71fb21bc2e1c0d116f065a4f\",\n      \"8157c5f68ca40b3ded11c353327ab9b8af3e186dd2e8dade98761a0996dda99ab\"\n
        \     \"0250d3409063ad99efae48b10c6ab2bba3ea9a67b12b911a372a2bba260176fad\"\n
        \     \"b4b93247d9712aad13aa70216c55da9858f7a298deb670a403eb1e7c91b847f1e\"\n
        \     \"ccfbd14bd806fd42cf45dbb69cd6d6b43add2a78f7d16928eaa04458dea44\",\n
        \     \"0cb1990c1fd3626055d7a0096f8fa99807399871\",\n      98,\n      \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"0000000000000000000000000000000000000000000000000000000000002\"\n
        \   },\n    {\n      1024,\n      \"f5c73304080353357de1b5967597c27d65f70aa2fe9b6aed1d0afc2b499adf22f\"\n
        \     \"8e37937096d88548ac36c4a067f8353c7fed73f96f0d688b19b0624aedbae5dbb\"\n
        \     \"0ee8835a4c269288c0e1d69479e701ee266bb767af39d748fe7d6afc73fdf44be\"\n
        \     \"3eb6e661e599670061203e75fc8b3dbd59e40b54f358d0097013a0f3867f9\",\n
        \     \"f8751166cf4f6f3b07c081fd2a9071f23ca1988d\",\n      \"1e288a442e02461c418ed67a66d24cacbeb8936fbde62ff995f5fd569dee6be62\"\n
        \     \"4e4f0f9f8c8093f5d192ab3b3f9ae3f2665d95d27fb10e382f45cd356e7f4eb7a\"\n
        \     \"665db432113ed06478f93b7cf188ec7a1ee97aec8f91ea7bfceaf8b6e7e5a349c\"\n
        \     \"4ad3225362ef440c57cbc6e69df15b6699caac85f733555075f04781b2b33\",\n
        \     \"34b3520d45d240a8861b82c8b61ffa16e67b5cce\",\n      622,\n      \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"0000000000000000000000000000000000000000000000000000000000002\",\n
        \   },\n    {\n      1024,\n      \"c6c6f4f4eed927fb1c3b0c81010967e530658e6f9698ebe058b4f47b2dc8fcbc7\"\n
        \     \"b69296b9e8b6cf55681181fe72492668061b262b0046a0d409902e269b0cb69a4\"\n
        \     \"55ed1a086caf41927f5912bf0e0cbc45ee81a4f98bf6146f6168a228aec80e9cc\"\n
        \     \"1162d6f6aa412efe82d4f18b95e34ab790daac5bd7aef0b22fa08ba5dbaad\",\n
        \     \"d32b29f065c1394a30490b6fcbf812a32a8634ab\",\n      \"06f973c879e2e89345d0ac04f9c34ad69b9eff1680f18d1c8f3e1596c2e8fa8e1\"\n
        \     \"ecef6830409e9012d4788bef6ec7414d09c981b47c941b77f39dfc49caff5e714\"\n
        \     \"c97abe25a7a8b5d1fe88700bb96eff91cca64d53700a28b1146d81bad1212d231\"\n
        \     \"80154c95a01f5aeebb553a8365c38a5ebe05539b51734233776ce9aff98b2\",\n
        \     \"b6ec750da2f824cb42c5f7e28c81350d97f75125\",\n      185,\n      \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"0000000000000000000000000000000000000000000000000000000000002\",\n
        \   },\n    {\n      1024,\n      \"b827a9dc9221a6ed1bec7b64d61232aacb2812f888b0a0b3a95033d7a22e77d0b\"\n
        \     \"ff23bfeed0fb1281b21b8ff7421f0c727d1fb8aa2b843d6885f067e763f83d41f\"\n
        \     \"d800ab15a7e2b12f71ec2058ee7bd62cd72c26989b272e519785da57bfa1f974b\"\n
        \     \"c652e1a2d6cfb68477de5635fd019b37add656cff0b802558b31b6d2851e5\",\n
        \     \"de822c03445b77cec4ad3a6fb0ca39ff97059ddf\",\n      \"65a9e2d43a378d7063813104586868cacf2fccd51aec1e0b6af8ba3e66dee6371\"\n
        \     \"681254c3fb5e3929d65e3c4bcd20abd4ddc7cf815623e17b9fc92f02b8d44278b\"\n
        \     \"848480ffd193104cf5612639511e45bd247708ff6028bd3824f8844c263b46c69\"\n
        \     \"1f2076f8cd13c5d0be95f1f2a1a17ab1f7e5bc73500bac27d57b473ba9748\",\n
        \     \"cd2221dd73815a75224e9fde7faf52829b81ac7a\",\n      62,\n      \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"0000000000000000000000000000000000000000000000000000000000002\",\n
        \   },\n    {\n      1024,\n      \"898a8d93e295c8ef2ffd46976225a1543640640d155a576fafa0be32136165803\"\n
        \     \"ba2eff2782a2be75cc9ec65db6bd3238cca695b3a5a14726a2a314775c377d891\"\n
        \     \"354b3de6c89e714a05599ca04132c987f889f72c4fe298ccb31f711c03b07e1d9\"\n
        \     \"8d72af590754cf3847398b60cecd55a4611692b308809560a83880404c227\",\n
        \     \"c6d786643d2acfc6b8d576863fda8cfbfbd5e03f\",\n      \"2fd38b8d21c58e8fb5315a177b8d5dc4c450d574e69348b7b9da367c26e72438d\"\n
        \     \"af8372e7f0bee84ef5dcbbc3727194a2228431192f1779be24837f22a0e14d10d\"\n
        \     \"5344da1b8b403df9f9b2655095b3d0f67418ed6cd989f35aa4232e4b7001764fb\"\n
        \     \"e85d6b2c716980f13272fc4271ac1e234f7e24c023cfc2d2dc0aa1e9af2fb\",\n
        \     \"73483e697599871af983a281e3afa22e0ed86b68\",\n      272,\n      \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"0000000000000000000000000000000000000000000000000000000000002\",\n
        \   },\n\n    /* These tests are generated by the OpenSSL FIPS version.  */\n
        \   {\n      1024,\n      \"A404363903FDCE86839BCFD953AAD2DA2B0E70CAED3B5FF5D68F15A1C4BB0A793C\"\n
        \     \"A9D58FC956804C5901DE0AF99F345ED1A8617C687864BAC044B7C3C3E732A2B255\"\n
        \     \"EC986AA76EA8CB0E0815B3E0E605650AF7D8058EE7E8EBCDEFFDAB8100D3FC1033\"\n
        \     \"11BA3AB232EF06BB74BA9A949EC0C7ED324C19B202F4AB725BBB4080C9\",\n      \"C643946CEA8748E12D430C48DB038F9165814389\",\n
        \     \"59B7E7BA0033CCE8E6837173420FBB382A784D4154A3C166043F5A68CB92945D16\"\n
        \     \"892D4CC5585F2D28C780E75A6C20A379E2B58304C1E5FC0D8C15E4E89C4498C8BC\"\n
        \     \"B90FB36ED8DC0489B9D0BC09EC4411FB0BFADF25485EEAB6700BE0ACF5C44A6ED7\"\n
        \     \"44A015382FF9B8DA7EAA00DEA135FADC59212DBBFFC1537336FA4B7225\",\n      \"02708ab36e3f0bfd67ec3b8bd8829d03b84f56bd\",\n
        \     50,\n      \"02\"\n    },\n    {\n      1024,\n      \"9C664033DB8B203D826F896D2293C62EF9351D5CFD0F4C0AD7EFDA4DDC7F15987\"\n
        \     \"6A3C68CAB2586B44FD1BD4DEF7A17905D88D321DD77C4E1720D848CA21D79F9B3\"\n
        \     \"D8F537338E09B44E9F481E8DA3C56569F63146596A050EF8FAEE8ACA32C666450\"\n
        \     \"04F675C8806EB4025B0A5ECC39CE89983EA40A183A7CF5208BA958045ABD5\",\n
        \     \"AD0D8CBA369AF6CD0D2BAC0B4CFCAF0A1F9BCDF7\",\n      \"74D717F7092A2AF725FDD6C2561D1DBE5AEE40203C638BA8B9F49003857873701\"\n
        \     \"95A44E515C4E8B344F5CDC7F4A6D38097CD57675E7643AB9700692C69F0A99B0E\"\n
        \     \"039FDDDFCA8CEB607BDB4ADF2834DE1690F5823FC8199FB8F6F29E5A583B6786A\"\n
        \     \"C14C7E67106C3B30568CBB9383F89287D578159778EB18216799D16D46498\",\n
        \     \"6481a12a50384888ee84b61024f7c9c685d6ac96\",\n      289,\n      \"02\"\n
        \   },\n    {\n      1024,\n\n      \"B0DFB602EB8462B1DC8C2214A52B587D3E6842CCF1C38D0F7C7F967ED30CF6828\"\n
        \     \"1E2675B3BAB594755FB1634E66B4C23936F0725A358F8DFF3C307E2601FD66D63\"\n
        \     \"5B17270450C50BD2BEC29E0E9A471DF1C15B0191517952268A2763D4BD28B8503\"\n
        \     \"B3399686272B76B11227F693D7833105EF70C2289C3194CF4527024B272DF\",\n
        \     \"EA649C04911FAB5A41440287A517EF752A40354B\",\n      \"88C5A4563ECB949763E0B696CD04B21321360F54C0EE7B23E2CEDC30E9E486162\"\n
        \     \"01BFB1619E7C54B653D1F890C50E04B29205F5E3E2F93A13B0751AF25491C5194\"\n
        \     \"93C09DDF6B9C173B3846DFB0E7A5C870BBFC78419260C90E20315410691C8326C\"\n
        \     \"858D7063E7921F3F601158E912C7EE487FF259202BEEB10F6D9E99190F696\",\n
        \     \"5bf9d17bc62fbbf3d569c92bd4505586b2e5ef1a\",\n      626,\n      \"02\"\n
        \   },\n    {\n      1024,\n      \"F783C08D7F9463E48BA87893805C4B34B63C85DF7EBDD9EBEE94DB4AF4E4A415C\"\n
        \     \"F0F3793AE55096BA1199598798FA8403B28DED7F7C7AFD54FD535861A0150EF4D\"\n
        \     \"5871465B13837CCF46BEB0A22F8D38DC7D6AE0E14A3845FD0C027CFA97791B977\"\n
        \     \"CE2808BAD9B43CE69390C0F40016056722D82C0D7B1B27413D026A39D7DAD\",\n
        \     \"A40D9EE456AED4C8A653FDB47B6629C0B843FE8F\",\n      \"DF876263E21F263AE6DA57409BD517DCEADB9216048F066D6B58867F8E59A5EEE\"\n
        \     \"700283A946C1455534618979BE6C227673C1B803910262BD93BC94D5089850614\"\n
        \     \"F3E29AB64E8C989A7E3E28FE670FFA3EE21DEEEC1AB0B60E1D8E2AA39663BADD7\"\n
        \     \"2C9F957D7F3D4F17D9FDAD050EB373A6DEFD09F5DA752EAFE046836E14B67\",\n
        \     \"8a9a57706f69f4f566252cdf6d5cbfdf2020150b\",\n      397,\n      \"02\"\n
        \   },\n    {\n      1024,\n      \"D40E4F6461E145859CCF60FD57962840BD75FFF12C22F76626F566842252AD068\"\n
        \     \"29745F0147056354F6C016CF12762B0E331787925B8128CF5AF81F9B176A51934\"\n
        \     \"96D792430FF83C7B79BD595BDA10787B34600787FA552EFE3662F37B99AAD3F3A\"\n
        \     \"093732680A01345192A19BECCE6BF5D498E44ED6BED5B0BA72AAD49E8276B\",\n
        \     \"D12F1BD0AA78B99247FD9F18EAFEE5C136686EA5\",\n      \"468EBD20C99449C1E440E6F8E452C6A6BC7551C555FE5E94996E20CFD4DA3B9CC\"\n
        \     \"58499D6CC2374CCF9C392715A537DE10CFCA8A6A37AFBD187CF6B88D26881E5F5\"\n
        \     \"7521D9D2C9BBA51E7B87B070BBE73F5C5FE31E752CAF88183516D8503BAAC1159\"\n
        \     \"928EF50DEE52D96F396B93FB4138D786464C315401A853E57C9A0F9D25839\",\n
        \     \"30b3599944a914a330a3f49d11ec88f555422aef\",\n      678,\n      \"02\"\n
        \   }\n  }"
      pos:
        line_end: 156
        line_start: 150
        source_file: /src/libgcrypt/tests/fips186-dsa.c
    - fields:
      - name: nbits
        type: int
      - name: '*p'
        type: char
      - name: '*seed'
        type: char
      - name: counter
        type: int
      item_type: struct
      name: "tbl[] = {\n    /* These tests are from FIPS 186-3 Test Vectors, PQGGen.rsp.
        \ CAVS 11.1.  */\n    {\n      2048,\n      256,\n      \"8e2266d5cb5b1e9ad34ac6380e3d166fd4d60dadc6dfa1be8492a5642c91fdf7\"\n
        \     \"e81b9634a4eeff59e7e93b1b0e8f49ded45a72788866dff71b1329feeb4b6cdb\"\n
        \     \"f2c7166c7cbca20b04300ae127c9940233e891712ac905ed6b43495717a2998e\"\n
        \     \"a8c4eef4ec6c32dc9e774e8e66476f17d9c39abac59e8b583b1107b679e0bed0\"\n
        \     \"78476e933a90cfcf80c89b831c0e054f86eac7ca848e059662d938a4e12947e2\"\n
        \     \"e73b1ffedd7125dd54ba463217abc9c5f3399132aec77b946c806429f6f812c1\"\n
        \     \"0716d57dde7b5d45cb2e5eb6e4dbb81d5a465054fa17e613cbe01afb49ea593f\"\n
        \     \"33f1a696a774941ca1ff6f208577fe529f5e7592f39698c63bf6ae9d56cd2d93\",\n
        \     \"b19c6d094e1210c92910f49aa083957fbe68c0ca4602896f50123fd776786275\",\n
        \     \"f770a4598ff756931fc529764513b103ce57d85f4ad8c5cf297c9b4d48241c5b\",\n
        \     105\n    },\n    {\n      2048,\n      256,\n      \"b636e5970383cecab68840cca8a909a29325c3924e2c187dd034222f9e1a4334\"\n
        \     \"1061ca620f82787bd349fb8f380fc3f0adb84be116c695529114aecee8a0a1b0\"\n
        \     \"9e7ebb6888e6da71f48eefb3e9990e2d7bd36c1aa24fb10e011a193d6b5a1b22\"\n
        \     \"6cf97fab302e237ecb1dc824264dba2e2285930005717c4e9a12cc1a1ac336c2\"\n
        \     \"0619c4d06ec4e1e02e0d1d2d285661a7472d30c4282646506487cbe6a5c988ee\"\n
        \     \"8402d474713a7d8213eeb19a0719996bbfd3835eb8832eead5a3a340e61c52f0\"\n
        \     \"0dde1c98655a13839ad215d8f43c8e482317af8b086c3d555fc8dbb2f595f256\"\n
        \     \"3520a0c6387661774e1e6ca5fe2626b26a2c4f99b7aff043a091434dfd3275b7\",\n
        \     \"fe9f06fa1901182ab00bf063bff8fd4f736922ce830fd50fee47ebbd21e291e9\",\n
        \     \"3a66a430f23374ce3d2e758881c411c23dad4a8cd6ad697056d24b8cfcc8c353\",\n
        \     720\n    },\n    {\n      2048,\n      256,\n      \"8d636640981c2ce1935bd16ad3aa3ce2a6efa26f23f07ceda92766f80e82fa03\"\n
        \     \"5c6cf44dc41e08fea242c5cd5846d839bdf0c11d3a29ebaca00aad844cd33a80\"\n
        \     \"448f1f96cebe66b9963f7e3b5c976e29dc430bc5ddf5d2c198eb736339adc14d\"\n
        \     \"5c8a3d22533d7c6a861b6a8b31c55e46804e4c2f95e2e9cc2bbb23bbc833995a\"\n
        \     \"7afe619127d28fa53b0712b17da4786f9116cc39e2c6254845e85513c220e368\"\n
        \     \"fe9c92bc71eabfa831062f01e66e8a970f043112ca0af175f64d13fcff2f087f\"\n
        \     \"ff9198a9fe9732001ab49b2a48d0e39f99d036698703aa853ac02c65f3d55993\"\n
        \     \"5a72c8bbc6ab2fa59ff9a2fcd837a4675229abed23d42badc12a60b34a3bf0f5\",\n
        \     \"b5f3c535e7f48d3251d353b73b3a05c4bdb4591a8c2f2ba4a6a945a889f5aeff\",\n
        \     \"77eb88f087bfbbc312bca7572bafd36f2a7aca2e4d7378dd923b0b277f3d730f\",\n
        \     137\n    },\n    {\n      2048,\n      256,\n      \"8fa95228b848a9533375e4789c88bb7df505c4478ed3c79545c5d2b04f0e0efb\"\n
        \     \"ac8d3f603603a48b203e1cc67ded22b840ac21bc41b7ab78c73a9cd0773148ca\"\n
        \     \"7c87a5a51564164f683e8f8a77b97cf7d91f989aa3668819bca8f54e0ec8f10c\"\n
        \     \"78ecd26982048cf0ab0446a6de154bbed8891be916627d470061811caf51bef1\"\n
        \     \"b5be8ef2b560cf981c2a097b3769bed61d6ee9b66221e956fe2c49f1809a2d5f\"\n
        \     \"6996be7b39f41afea5184a73c049f3abbd28fddbf37bcae6c4aa4a7255464c2e\"\n
        \     \"ee915c44b8d90d76e5d9e3d8e6cf4ac7c5d9436d19ccc27c5bc1b65dbb56723b\"\n
        \     \"5e77624489652313f9da2ce38554401fdbd61c78f2a4fa69bcc2f5aaffbfed2d\",\n
        \     \"ed3f52bce81572d126b27fb1e9c02346ae523532af82b79943565593d6f46d45\",\n
        \     \"e0ed96bf5e7d78754b5095ed766a1bbc4338eaa8f3d00e9906ef51a8798bc1c2\",\n
        \     40\n    },\n    {\n      2048,\n      256,\n      \"a80f2481a814d07eb47a7c67e24bc3f8f1ccebc6cf684a0bc9fbb0054cc24cef\"\n
        \     \"24872315b566630d5147184980b4bce3f0849660c84b22dfacb785446c0f6314\"\n
        \     \"b7a53a92cf821bcceb325e03dc9e404832146d34ff8a9b112ed0e69efe69c619\"\n
        \     \"5de03373e590eba88fc5b9d337d6566dc7e82e326a28343f644779f6784159eb\"\n
        \     \"3d33f2ddf1157a02f2f91d0897a4e8ad53f614186a5fe043187510316904bd95\"\n
        \     \"6966e10735d6ef01c195b7dd7fd245a83c18af7908fef0bced2f454e1954f2a3\"\n
        \     \"2c35658f4e0f5811a3d06c81cca715537debabbbc65ba4dd0e7fb0c08397622f\"\n
        \     \"039a51df69f5b10dda61f57bbb84c55f25eacd0f3d8b40ae016ed0ba856837e7\",\n
        \     \"9e3b5a7939082c95069902d3833df8421871ca2dab8a34f7be6cd39151291d07\",\n
        \     \"c7bb440d973189ca07464b037fd309f68ec38baba390988a2e986ecee281e2f5\",\n
        \     722\n    }\n  }"
      pos:
        line_end: 408
        line_start: 403
        source_file: /src/libgcrypt/tests/fips186-dsa.c
    typedefs: []
    union: []
- function_names:
  - hex2buffer
  - hex2mpi
  - hex2mpiopa
  - cmp_mpihex
  - cmp_bufhex
  - basic
  - canon_len
  - compare_to_canon
  - back_and_forth_one
  - back_and_forth
  - check_sscan
  - check_extract_param
  - bug_1594
  - main
  source_file: /src/libgcrypt/tests/t-sexp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgcrypt/tests/t-sexp.c
      type_or_value: '"t-sexp"'
    structs:
    - fields:
      - name: '*token'
        type: char
      - name: '*parm'
        type: char
      item_type: struct
      name: "values[] = {\n    { \"public-key\", NULL },\n    { \"dsa\", NULL },\n
        \   { \"dsa\", \"p\" },\n    { \"dsa\", \"y\" },\n    { \"dsa\", \"q\" },\n
        \   { \"dsa\", \"g\" },\n    { NULL }\n  }"
      pos:
        line_end: 144
        line_start: 141
        source_file: /src/libgcrypt/tests/t-sexp.c
    - fields:
      - name: textlen
        type: size_t
      - name: expected
        type: size_t
      - name: erroff
        type: size_t
      - name: errcode
        type: gcry_error_t
      - name: '*text'
        type: char
      item_type: struct
      name: "values[] = {\n    { 14, 13, 0, GPG_ERR_NO_ERROR, \"(9:abcdefghi) \" },\n
        \   { 16, 15, 0, GPG_ERR_NO_ERROR, \"(10:abcdefghix)\" },\n    { 14,  0,14,
        GPG_ERR_SEXP_STRING_TOO_LONG, \"(10:abcdefghi)\" },\n    { 15,  0, 1, GPG_ERR_SEXP_ZERO_PREFIX,
        \"(010:abcdefghi)\" },\n    {  2,  0, 0, GPG_ERR_SEXP_NOT_CANONICAL, \"1:\"},\n
        \   {  4,  0, 4, GPG_ERR_SEXP_STRING_TOO_LONG, \"(1:)\"},\n    {  5,  5, 0,
        GPG_ERR_NO_ERROR, \"(1:x)\"},\n    {  2,  2, 0, GPG_ERR_NO_ERROR, \"()\"},\n
        \   {  4,  2, 0, GPG_ERR_NO_ERROR, \"()()\"},\n    {  4,  4, 0, GPG_ERR_NO_ERROR,
        \"(())\"},\n    {  3,  0, 3, GPG_ERR_SEXP_STRING_TOO_LONG, \"(()\"},\n    {
        \ 3,  0, 1, GPG_ERR_SEXP_BAD_CHARACTER, \"( )\"},\n    {  9,  9, 0, GPG_ERR_NO_ERROR,
        \"(3:abc())\"},\n    { 10,  0, 6, GPG_ERR_SEXP_BAD_CHARACTER, \"(3:abc ())\"},\n
        \   /* fixme: we need much more cases */\n    { 0 },\n  }"
      pos:
        line_end: 342
        line_start: 336
        source_file: /src/libgcrypt/tests/t-sexp.c
    - fields:
      - name: '*buf'
        type: char
      - name: len
        type: int
      item_type: struct
      name: "tests[] = {\n    { \"(7:g34:fgh1::2:())\", 0 },\n    { \"(7:g34:fgh1::2:())\",
        18 },\n    {\n\"(protected-private-key \\n\"\n\" (rsa \\n\"\n\"  (n #00BE8A536204687149A48FF9F1715FF3530AD9A836D62102BF4065E5CF5953236DB94F1DF2FF4D525CD4CE7966DDC3C839968E8BAC2948934DF047CC65287CD79F6C23C93E55D7F9231E3942BD496DE383469977635A51ADF4AF747DB958CA02E9940DFC1DC0FC7FC755E7EB6618FEE6DA54B8A06E0CBF9D9257443F9992261435#)\\n\"\n\"
        \ (e #010001#)\\n\"\n\"  (protected openpgp-s2k3-sha1-aes-cbc \\n\"\n\"   (\\n\"\n\"
        \   (sha1 #C2A5673BD3882405# \\\"96\\\")\\n\"\n\"    #8D08AAF6A9209ED69D71EB7E64D78715#)\\n\"\n\"
        \  #F7B0B535F8F8E22F4F3DA031224070303F82F9207D42952F1ACF21A4AB1C50304EBB25527992C7B265A9E9FF702826FB88759BDD55E4759E9FCA6C879538C9D043A9C60A326CB6681090BAA731289BD880A7D5774D9999F026E5E7963BFC8C0BDC9F061393CB734B4F259725C0A0A0B15BA39C39146EF6A1B3DC4DF30A22EBE09FD05AE6CB0C8C6532951A925F354F4E26A51964F5BBA50081690C421C8385C4074E9BAB9297D081B857756607EAE652415275A741C89E815558A50AC638EDC5F5030210B4395E3E1A40FF38DCCCB333A19EA88EFE7E4D51B54128C6DF27395646836679AC21B1B25C1DA6F0A7CE9F9BE078EFC7934FA9AE202CBB0AA06C20DFAF9A66FAB7E9073FBE96B9A7F25C3BA45EC3EECA65796AEE313BA148DE5314F30345B452B50B17C4D841A7F27397126E8C10BD0CE3B50A82C0425AAEE7798031671407B681F52916256F78CAF92A477AC27BCBE26DAFD1BCE386A853E2A036F8314BB2E8E5BB1F196434232EFB0288331C2AB16DBC5457CC295EB966CAC5CE73D5DA5D566E469F0EFA82F9A12B8693E0#)\\n\"\n\"
        \ )\\n\"\n\" )\\n\", 0 },\n    { \"((sha1 #8B98CBF4A9823CA7# \\\"2097\\\")
        #3B6FC9#)\", 0 },\n    { \"((4:sha18:\\x8B\\x98\\xCB\\xF4\\xA9\\x82\\x3C\\xA7\"\"4:2097)3:\\x3B\\x6F\\xC9)\",
        0},\n    { \"((4:sha18:\\x8B\\x98\\xCB\\x22\\xA9\\x82\\x3C\\xA7\"\"4:2097)3:\\x3B\\x6F\\xC9)\",
        0},\n    { \"((sha1 #64652267686970C9# \\\"2097\\\") #3B6FC9#)\", 0 },\n    {
        \"((4:sha18:\\x64\\x65\\x22\\x67\\x68\\xc3\\xa4\\x71\"\"4:2097)3:\\x3B\\x6F\\xC9)\",
        0},\n    { \"((sha1 \\\"defgh\xE4q\\\" \\\"2097\\\") #3B6FC9#)\", 0 },\n    {
        \"((sha1 \\\"de\\\\\\\"gh\xE4q\\\" \\\"2097\\\") #3B6FC9#)\", 0 },\n    {
        NULL, 0 }\n  }"
      pos:
        line_end: 530
        line_start: 530
        source_file: /src/libgcrypt/tests/t-sexp.c
    - fields:
      - name: '*text'
        type: char
      - name: expected_err
        type: gcry_error_t
      item_type: struct
      name: "values[] = {\n    /* Bug reported by Olivier L'Heureux 2003-10-07 */\n
        \   { \"(7:sig-val(3:dsa\"\n      \"(1:r20:\\x7e\\xff\\xd5\\xba\\xc9\\xc9\\xa4\\x9b\\xd4\\x26\\x8b\\x64\"\n
        \     \"\\x06\\x7a\\xcf\\x42\\x7b\\x6c\\x51\\xfb)\"\n      \"(1:s21:\\x01\\x8c\\x6c\\x6f\\x37\\x1a\\x8d\\xfd\\x5a\\xb3\\x2a\\x3d\"\n
        \     \"\\xc5\\xae\\x23\\xed\\x32\\x62\\x30\\x62\\x3e)))\",\n      GPG_ERR_NO_ERROR
        },\n    { \"(7:sig-val(3:dsa\"\n      \"(1:r20:\\x7e\\xff\\xd5\\xba\\xc9\\xc9\\xa4\\x9b\\xd4\\x26\\x8b\\x64\"\n
        \     \"\\x06\\x7a\\xcf\\x42\\x7b\\x6c\\x51\\xfb)\"\n      \"(1:s21:\\x01\\x8c\\x6c\\x6f\\x37\\x1a\\x8d\\xfd\\x5a\\xb3\\x2a\\x3d\"\n
        \     \"\\xc5\\xae\\x23\\xed\\x32\\x62\\x30\\x62\\x3e))\",\n      GPG_ERR_SEXP_UNMATCHED_PAREN
        },\n    { \"(7:sig-val(3:dsa\"\n      \"(1:r20:\\x7e\\xff\\xd5\\xba\\xc9\\xc9\\xa4\\x9b\\xd4\\x26\\x8b\\x64\"\n
        \     \"\\x06\\x7a\\xcf\\x42\\x7b\\x6c\\x51\\xfb)\"\n      \"(1:s21:\\x01\\x8c\\x6c\\x6f\\x37\\x1a\\x8d\\xfd\\x5a\\xb3\\x2a\\x3d\"\n
        \     \"\\xc5\\xae\\x23\\xed\\x32\\x62\\x30\\x62\\x3e))))\",\n      GPG_ERR_SEXP_UNMATCHED_PAREN
        },\n    { NULL, 0 }\n  }"
      pos:
        line_end: 567
        line_start: 564
        source_file: /src/libgcrypt/tests/t-sexp.c
    - fields:
      - name: '*sexp_str'
        type: char
      - name: '*path'
        type: char
      - name: '*list'
        type: char
      - name: nparam
        type: int
      - name: expected_err
        type: gpg_err_code_t
      - name: '*exp_p'
        type: char
      - name: '*exp_a'
        type: char
      - name: '*exp_b'
        type: char
      - name: '*exp_g'
        type: char
      - name: '*exp_n'
        type: char
      - name: '*exp_q'
        type: char
      - name: '*exp_d'
        type: char
      item_type: struct
      name: "tests[] = {\n    {\n      sample1,\n      NULL,\n      \"pabgnqd\", 6,\n
        \     GPG_ERR_MISSING_VALUE,\n    },\n    {\n      sample1,\n      NULL,\n
        \     \"pabgnq\", 7,\n      GPG_ERR_INV_ARG\n    },\n    {\n      sample1,\n
        \     NULL,\n      \"pab'gnq\", 7,\n      GPG_ERR_SYNTAX\n    },\n    {\n
        \     sample1,\n      NULL,\n      \"pab''gnq\", 7,\n      GPG_ERR_SYNTAX\n
        \   },\n    {\n      sample1,\n      NULL,\n      \"pabgnqd\", 7,\n      0,\n
        \     sample1_px, sample1_ax, sample1_bx, sample1_gx, sample1_nx,\n      sample1_qx,
        sample1_d\n    },\n    {\n      sample1,\n      NULL,\n      \"  pab\\tg nq\\nd
        \ \", 7,\n      0,\n      sample1_px, sample1_ax, sample1_bx, sample1_gx,
        sample1_nx,\n      sample1_qx, sample1_d\n    },\n    {\n      sample1,\n
        \     NULL,\n      \"abg\", 3,\n      0,\n      sample1_ax, sample1_bx, sample1_gx\n
        \   },\n    {\n      sample1,\n      NULL,\n      \"ab'g'\", 3,\n      0,\n
        \     sample1_ax, sample1_bx, sample1_gx\n    },\n    {\n      sample1,\n
        \     NULL,\n      \"x?abg\", 4,\n      0,\n      NULL, sample1_ax, sample1_bx,
        sample1_gx\n    },\n    {\n      sample1,\n      NULL,\n      \"p?abg\", 4,\n
        \     GPG_ERR_USER_1,\n      NULL, sample1_ax, sample1_bx, sample1_gx\n    },\n
        \   {\n      sample1,\n      NULL,\n      \"pax?gnqd\", 7,\n      0,\n      sample1_px,
        sample1_ax, NULL, sample1_gx, sample1_nx,\n      sample1_qx, sample1_d\n    },\n
        \   {\n      sample1,\n      \"public-key\",\n      \"pabgnqd\", 7,\n      GPG_ERR_NO_OBJ,
        \ /* d is not in public key.  */\n      sample1_px, sample1_ax, sample1_bx,
        sample1_gx, sample1_nx,\n      sample1_qx, sample1_d\n    },\n    {\n      sample1,\n
        \     \"private-key\",\n      \"pabgnqd\", 7,\n      0,\n      sample1_p,
        sample1_a, sample1_b, sample1_g, sample1_n,\n      sample1_q, sample1_d\n
        \   },\n    {\n      sample1,\n      \"public-key!ecc\",\n      \"pabgnq\",
        6,\n      0,\n      sample1_px, sample1_ax, sample1_bx, sample1_gx, sample1_nx,\n
        \     sample1_qx\n    },\n    {\n      sample1,\n      \"public-key!ecc!foo\",\n
        \     \"pabgnq\", 6,\n      GPG_ERR_NOT_FOUND\n    },\n    {\n      sample1,\n
        \     \"public-key!!ecc\",\n      \"pabgnq\", 6,\n      GPG_ERR_NOT_FOUND\n
        \   },\n    {\n      sample1,\n      \"private-key\",\n      \"pa/bgnqd\",
        7,\n      0,\n      sample1_p, sample1_a, sample1_b, sample1_g, sample1_n,\n
        \     sample1_q, sample1_d\n    },\n    {\n      sample1,\n      \"private-key\",\n
        \     \"p-a+bgnqd\", 7,\n      0,\n      sample1_p, \"-01\", sample1_b, sample1_g,
        sample1_n,\n      sample1_q, sample1_d\n    },\n    {NULL}\n  }"
      pos:
        line_end: 689
        line_start: 676
        source_file: /src/libgcrypt/tests/t-sexp.c
    typedefs: []
    union: []
- function_names:
  - show_note
  - show_sexp
  - prepend_srcdir
  - read_textline
  - copy_data
  - hex2buffer
  - hexdowncase
  - one_test
  - check_ed25519
  - main
  source_file: /src/libgcrypt/tests/t-ed25519.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/tests/t-ed25519.c
      type_or_value: '"t-ed25519"'
    - item_type: preproc_def
      name: N_TESTS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/tests/t-ed25519.c
      type_or_value: '1026'
    structs: []
    typedefs: []
    union: []
- function_names:
  - showhex
  - show_note
  - hex2buffer
  - run_selftest
  - cmp_digest
  - run_longtest
  - main
  source_file: /src/libgcrypt/tests/hashtest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/tests/hashtest.c
      type_or_value: '"hashtest"'
    structs:
    - fields:
      - name: algo
        type: int
      - name: gigs
        type: int
      - name: bytes
        type: int
      - name: '*hex'
        type: char
      item_type: struct
      name: "testvectors[] = {\n  { GCRY_MD_SHA1, 256, -64, \"92fc51850c7b750e6e774b75f294f6979d4059f0\"
        },\n  { GCRY_MD_SHA1, 256,  -1, \"4bddeeb4c08683f02d4944d93dbcb02ebab50134\"
        },\n  { GCRY_MD_SHA1, 256,  -0, \"71b923afde1c8c040884c723a2e3335b333e64c6\"
        },\n  { GCRY_MD_SHA1, 256,   1, \"2d99f9b5b86e9c9c937104f4242bd6b8bc0927ef\"
        },\n  { GCRY_MD_SHA1, 256,  64, \"a60dabe8d749f798b7ec3a684cc3eab487451482\"
        },\n\n  { GCRY_MD_SHA224, 256, -64,\n    \"b5672b54d2480a5688a2dc727a1ad4db7a81ef31ce8999e0bbaeffdc\"
        },\n  { GCRY_MD_SHA224, 256,  -1,\n    \"814ea7159473e6ffc1c64b90026a542e13ac6980f7f3ca3c4582a9b8\"
        },\n  { GCRY_MD_SHA224, 256,   0,\n    \"9ec0e1829455db8650ec7a8b06912196f97a7358bc3a73c79911cd4e\"
        },\n  { GCRY_MD_SHA224, 256,   1,\n    \"e578d5d523320876565bbbc892511a485427caee6dd754d57e3e58c2\"
        },\n  { GCRY_MD_SHA224, 256,  64,\n    \"ff0464df248cd298b63765bc4f87f21e25c93c657fdf3656d3c878e5\"
        },\n\n  { GCRY_MD_SHA256, 256, -64,\n    \"87a9828d3de78d55d252341db2a622908c4e0ceaee9961ecf9768700fc799ec8\"
        },\n  { GCRY_MD_SHA256, 256,  -1,\n    \"823bf95f64ef04a4a77579c38760b1d401b56bf3a8e664bdf56ca15afb468a03\"
        },\n  { GCRY_MD_SHA256, 256,   0,\n    \"2d0723878cb2c3d5c59dfad910cdb857f4430a6ba2a7d687938d7a20e63dde47\"
        },\n  { GCRY_MD_SHA256, 256,   1,\n    \"5a2e21b1e79cd866acf53a2a18ca76bd4e02c4b01bf4627354171824c812d95f\"
        },\n  { GCRY_MD_SHA256, 256,  64,\n    \"34444808af8e9d995e67f9e155ed94bf55f195a51dc1d8a989e6bcf95511c8a2\"
        },\n\n  { GCRY_MD_SHA512, 256, -64,\n    \"e01bf8140874bf240e8426cb2bcbc377cbed2e6037334116637149e1cd8cd462\"\n
        \   \"96828b71f32b9f002771d4cb51172ce578b73b7939221e4df655ecd08601e655\" },\n
        \ { GCRY_MD_SHA512, 256,  -1,\n    \"4917ff94514b1757705c289fdc3e7d6ffcce5771b20ae237ebc03d2ec9eb435f\"\n
        \   \"b7ce9f0e27272be8cced77a5edae1a01a0ad62b0a44169d88bbee45474a17734\" },\n
        \ { GCRY_MD_SHA512, 256,   0,\n    \"1e28e8b3c79f2f47da11f3c0b7da4e7981e7d932db6d17d528a31e191922edda\"\n
        \   \"8fc4bb2df10ea876232db5a1c606bc41886e8b2c570a3e721221f60c8c7dc4ab\" },\n
        \ { GCRY_MD_SHA512, 256,   1,\n    \"027d3324dd1cf127770ceb53681f4c70937c9bca4e3acd5fd76cb266c7d4527d\"\n
        \   \"58140290a1822e8d60c4d3ae9725fb923183230d6dfd2d7d73c0d74a4757f34a\" },\n
        \ { GCRY_MD_SHA512, 256,  64,\n    \"49920704ea9d6ee19f0742d6c868110fa3eda8ac09f026e9ef22cc731af53020\"\n
        \   \"de40eedef66cb1afd94c61e285fa9327e01336e804903740a9145ab1f065c2d5\" },\n\n
        \ { GCRY_MD_SHA3_512, 256, -64,\n    \"c6e082b3db996dbe5f2c5709818a7f325ef4febd883d7e9c545c06bfa7225198\"\n
        \   \"1ecf40103788913cd5a5bdf13246b952ded6651043684b24197eb23544882a97\" },\n
        \ { GCRY_MD_SHA3_512, 256,  -1,\n    \"d7bf28e8216bf7d3d0d3969e34078e94b98598e17b6f21f256379389e4eba8ee\"\n
        \   \"74eb288774797263fec00bdfd357d132cea9e408be36b982f5a60ab56ad01613\" },\n
        \ { GCRY_MD_SHA3_512, 256,  +0,\n    \"c1270852ba7b1e1a3eaa777969b8a65be28c3894537c61eb8cd22b1df6af703d\"\n
        \   \"b59939f6adadeb64317faece8167d4817e73daf73e28a5ccd26bebee0a35c322\" },\n
        \ { GCRY_MD_SHA3_512, 256,  +1,\n    \"8bdfeb3a1a9a1cdcef21172cbc5bb3b87c0d8f7111df0aaf7f1bc03ad4775bd6\"\n
        \   \"a03e0a875c4e7d02d2230c213562c6a57be28d92eaf6e4bea4bc24690454c8ef\" },\n
        \ { GCRY_MD_SHA3_512, 256, +64,\n    \"0c91b91665ceaf7af5102e0ed31aa4f050668ab3c57b1f4763946d567efe66b3\"\n
        \   \"ab9a2016cf238dee5b44eae9f0cdfbf7b7a6eb1e759986273243dc35894706b6\" },\n\n
        \ { GCRY_MD_SM3, 256, -64,\n    \"4ceb893abeb43965d4cac7626da9a4be895585b5b2f16f302626801308b1c02a\"
        },\n  { GCRY_MD_SM3, 256, -1,\n    \"825f01e4f2b6084136abc356fa1b343a9411d844a4dc1474293aad817cd2a48f\"
        },\n  { GCRY_MD_SM3, 256, +0,\n    \"d948a4025ac3ea0aa8989f43203411bd22ad17eaa5fd92ebdf9cabf869f1ba1b\"
        },\n  { GCRY_MD_SM3, 256, +1,\n    \"4f6d0e260299c1f286ef1dbb4638a0770979f266b6c007c55410ee6849cba2a8\"
        },\n  { GCRY_MD_SM3, 256, +64,\n    \"ed34869dbadd62e3bec1f511004d7bbfc9cafa965477cc48843b248293bbe867\"
        },\n\n  { GCRY_MD_BLAKE2S_256, 256, -64,\n    \"8a3d4f712275e8e8da70c76501cce364c75f8dd09748be58cf63c9ce38d62627\"
        },\n  { GCRY_MD_BLAKE2S_256, 256, -1,\n    \"0c01c9ad1e60e27dc889f2c9034a949ca8b9a9dc90dd99be64963af306d47b92\"
        },\n  { GCRY_MD_BLAKE2S_256, 256, +0,\n    \"f8c43d5c4bad93aca702c8c466987c5ac5e640a29b37dd9904252ff27b2348a0\"
        },\n  { GCRY_MD_BLAKE2S_256, 256, +1,\n    \"24c34b167b4eea1a7eb7d572ff3cf669a9856ea91bb112e9ef2ccd4b1aceccb4\"
        },\n  { GCRY_MD_BLAKE2S_256, 256, +64,\n    \"2f8d754f98e2d4ed7744389f89d0bdb9b770c9fa215b8badd3129ea1364af867\"
        },\n\n  { GCRY_MD_BLAKE2B_512, 256, -64,\n    \"36d32ae4deeacab4119401c52e2aec5545675bd2dce4f67871ddc73671a05f94\"\n
        \   \"e8332c2a31f32f5601878606a571aa7b43029dac3ae71cf9ef141d05651dc4bf\" },\n
        \ { GCRY_MD_BLAKE2B_512, 256, -1,\n    \"b5dc439f51664a6c9cbc87e2de98ce608ac4064a779e5140909d75d2120c9b2a\"\n
        \   \"a1d4ae7be9c1ba97025be91ddcfbe42c791c3231cffbfa4b5368ba18f9590e1b\" },\n
        \ { GCRY_MD_BLAKE2B_512, 256, +0,\n    \"c413d011ba9abbf118dd96bfc827f5fd94493d8350df9f7aff834faace5adba2\"\n
        \   \"0c3037069dfb2c81718ffc7b418ce1c1320d334b6fe8cddfb5d2dd19eb530853\" },\n
        \ { GCRY_MD_BLAKE2B_512, 256, +1,\n    \"b6dfb821f1c8167fb33995c29485010da56abd539c3d04ab9c222844301b8bba\"\n
        \   \"6f57a48e45a748e40847084b93f26706aae82212550671c736becffcc6fb1496\" },\n
        \ { GCRY_MD_BLAKE2B_512, 256, +64,\n    \"8c21316a4a02044e302d503d0fe669d905c40d9d80ecd5aafc8e30f1df06736f\"\n
        \   \"51fdaf6002160bb8fe4e868eaad9623fc5ecdd728bcbfee4a19b386503710f48\" },\n\n
        \ { GCRY_MD_WHIRLPOOL, 256, -64,\n    \"aabf62344c1aa82d2dc7605f339b3571d540f1f320f97e6a8c0229645ee61f1f\"\n
        \   \"da796acde2f96caa1c56eb2c2f9a6029a6242ad690479def66feac44334cc3af\" },\n
        \ { GCRY_MD_WHIRLPOOL, 256, -1,\n    \"9a35ec14aa9cefd40e04295d45d39f3111a98c2d76d90c54a7d2b8f2f5b9302b\"\n
        \   \"79663eab6b6674625c3ae3e4b5dbb3b0a2f5b2f49a7a59cd1723e2b16a3efea2\" },\n
        \ { GCRY_MD_WHIRLPOOL, 256, +0,\n    \"818ad31a5110b6217cc6ffa099d554aaadc9566bf5291e104a5d58b21d51ae4d\"\n
        \   \"c216c6de888d1359066c584e24e6606f530a3fce80ef78aed8564de4a28801c8\" },\n
        \ { GCRY_MD_WHIRLPOOL, 256, +1,\n    \"298805f5fc68488712427c1bcb27581d91aa04337c1c6b4657489ed3d239bb8b\"\n
        \   \"c70ef654065d380ac1f5596aca5cb59e6da8044b5a067e32ea4cd94ca606f9f3\" },\n
        \ { GCRY_MD_WHIRLPOOL, 256, +64,\n    \"7bd35c3bee621bc0fb8907904b3b84d6cf4fae4c22cc64fbc744c8c5c8de806d\"\n
        \   \"0f11a27892d531dc907426597737762c83e3ddcdc62f50d16d130aaefaeec436\" },\n\n
        \ { GCRY_MD_SHA1, 6, -64,\n    \"eeee82d952403313bd63d6d7c8e342df0a1eea77\"
        },\n  { GCRY_MD_SHA1, 6, -1,\n    \"8217b9f987d67db5880bcfff1d6763a6514d629f\"
        },\n  { GCRY_MD_SHA1, 6, +0,\n    \"2b38aa63c05668217e5331320a4aee0adad7fc3b\"
        },\n  { GCRY_MD_SHA1, 6, +1,\n    \"f3222de4d0704554cff0a537bc95b30f15daa94f\"
        },\n  { GCRY_MD_SHA1, 6, +64,\n    \"b3bdd8065bb92d8208d55d28fad2281c6fbf2601\"
        },\n\n  { GCRY_MD_SHA256, 6, -64,\n    \"a2d5add5be904b70d6ef9bcd5feb9c6cfc2be0799732a122d9eccb576ff5a922\"
        },\n  { GCRY_MD_SHA256, 6, -1,\n    \"88293b7e0e5a47fdef1148c6e510f95272770db6b5296958380209ba57db7a5d\"
        },\n  { GCRY_MD_SHA256, 6, +0,\n    \"ccee8e8dfc366eba67471e49c45057b0041be0d2206c6de1aa765ce07ecfc434\"
        },\n  { GCRY_MD_SHA256, 6, +1,\n    \"f4a89e92b38e0e61ee17079dc31411de06cfe1f77c83095ae1a2e7aa0205d94b\"
        },\n  { GCRY_MD_SHA256, 6, +64,\n    \"338708608c2356ed2927a85b08fe745223c6140243fb3a87f309e12b31b946a8\"
        },\n\n  { GCRY_MD_SHA512, 6, -64,\n    \"658f52850932633c00b2f1d65b874c540ab84e2c0fe84a8a6c35f8e90e6f6a9c\"\n
        \   \"2f7e0ccca5064783562a42ad8f47eab48687aaf6998b04ee94441e82c14e834d\" },\n
        \ { GCRY_MD_SHA512, 6, -1,\n    \"9ead6d66b46a3a72d77c7990874cfebc1575e5bfda6026430d76b3db6cc62d52\"\n
        \   \"4ca0dd2674b9c24208b2e780d75542572eee8df6724acadcc23a03eed8f82f0a\" },\n
        \ { GCRY_MD_SHA512, 6, +0,\n    \"03e4549eb28bd0fb1606c321f1498503b5e889bec8d799cf0688567c7f8ac0d9\"\n
        \   \"a7ec4e84d1d729d6a359797656e286617c3ef82abb51991bb576aaf05f7b6573\" },\n
        \ { GCRY_MD_SHA512, 6, +1,\n    \"ffe52f6385ccde6fa7d45845787d8f9993fdcb5833fb58b13c424a84e39ea50f\"\n
        \   \"52d40e254fe667cb0104ffe3837dc8d0eee3c81721cb8eac10d5851dfb1f91db\" },\n
        \ { GCRY_MD_SHA512, 6, +64,\n    \"4a19da3d5eaaa79ac1eaff5e4062f23ee56573411f8d302f7bf3c6da8779bd00\"\n
        \   \"a936e9ad7f535597a49162ed308b0cced7724667f97a1bb24540152fcfe3ec95\" },\n\n
        \ { GCRY_MD_SHA3_512, 6, -64,\n    \"a99f2913d3beb9b45273402e30daa4d25c7a5e9eb8cf6039996eb2292a45c04c\"\n
        \   \"b9e3a1a187f71920626f465ed6cf7dc34047ec5578e05516374bb9c56683903a\" },\n
        \ { GCRY_MD_SHA3_512, 6, -1,\n    \"fca50bde79c55e5fc4c9d97e66eb5cfacef7032395848731e645ca42f07f8d38\"\n
        \   \"be1d593727c2a82b9a9bc058ebc9744971f867fa920cfa902023448243ac017b\" },\n
        \ { GCRY_MD_SHA3_512, 6, +0,\n    \"c61bb345c0a553edaa89fd38114ac9799b6d307ba8e3cde53552ad4c77cfe4b7\"\n
        \   \"2671d82c1519c8e7b23153a9268e2939239564fc7c2060608aa42955e938840d\" },\n
        \ { GCRY_MD_SHA3_512, 6, +1,\n    \"502a83d8d1b977312806382a45c1cc9c0e7db437ca962e37eb181754d59db686\"\n
        \   \"14d91df286d510411adf69f7c9befc1027bdc0c33a48a5dd6ae0957b9061e7ca\" },\n
        \ { GCRY_MD_SHA3_512, 6, +64,\n    \"207bfb83ae788ddd4531188567f0892bbddbbc88d69bc196b2357bee3e668706\"\n
        \   \"c27f832ecb50e9ae5b63e9f384bdc37373958d4a14f3825146d2f6b1a65d8e51\" },\n\n
        \ { GCRY_MD_SM3, 6, -64,\n    \"41d96d19cef4c942b0f5f4cdc3e1afe440dc62c0bc103a2c0e9eee9e1733a74a\"
        },\n  { GCRY_MD_SM3, 6, -1,\n    \"b7689cc4ef6c7dc795b9e5e6998e5cc3dc1daec02bc1181cdbef8d6812b4957a\"
        },\n  { GCRY_MD_SM3, 6, +0,\n    \"c6eae4a82052423cf98017bde4dee8769947c66120a1a2ff79f0f0dc945a3272\"
        },\n  { GCRY_MD_SM3, 6, +1,\n    \"f6590f161fee11529585c7a9dfc725f8b81951e49b616844097a3dbdc9ffdbec\"
        },\n  { GCRY_MD_SM3, 6, +64,\n    \"f3277fa90c47afe5e4fc52374aadf8e96bc29c2b5a7a4ebf5d704245ada837ea\"
        },\n\n  { GCRY_MD_BLAKE2S_256, 6, -64,\n    \"0f3c17610777c34d40a0d11a93d5e5ed444ce16edefebabd0bc8e30392d5c2db\"
        },\n  { GCRY_MD_BLAKE2S_256, 6, -1,\n    \"92cbcf142c45de9d64da9791c51dce4e32b58f74d9f3d201b1ea74deac765f51\"
        },\n  { GCRY_MD_BLAKE2S_256, 6, +0,\n    \"b20702cb5a0bee2ab104f38eb513429589310a7edde81dd1f40043be7d16d0de\"
        },\n  { GCRY_MD_BLAKE2S_256, 6, +1,\n    \"bfc17dc74930989841da05aac08402bf0dcb4a597b17c52402a516ea7e541cdf\"
        },\n  { GCRY_MD_BLAKE2S_256, 6, +64,\n    \"d85588cdf5a00bec1327da02f22f1a10b68dd9d6b730f30a3aa65af3a51c1722\"
        },\n\n  { GCRY_MD_BLAKE2B_512, 6, -64,\n    \"30b6015f94524861b04b83f0455be10a993460e0f8f0fd755fc3d0270b0c7d00\"\n
        \   \"039a6e01684ce0689ce4ef70932bd19a676acf4b4ea521c30337d2f445fc2055\" },\n
        \ { GCRY_MD_BLAKE2B_512, 6, -1,\n    \"49abef820ad7fc5e6ed9b63acddce639a69dcd749b0798b140216649bc3b927c\"\n
        \   \"637dbe1cb39a41bbafe7f8b675401ccdcf69a7fba227ae4cda5cd28b9ff36776\" },\n
        \ { GCRY_MD_BLAKE2B_512, 6, +0,\n    \"4182a7307a89391b78af9dbc3ba1e8d643708abbed5919086aa6e2bc65ae9597\"\n
        \   \"e40229450c86ac5d3117b006427dd0131f5ae4c1a1d64c81420d2731536c81d8\" },\n
        \ { GCRY_MD_BLAKE2B_512, 6, +1,\n    \"33c0d9e65b1b18e9556134a08c1e725c19155bbf6ed4349d7d6d678f1827fef3\"\n
        \   \"74b6e3381471f3d3fff7ffbcb9474ce9038143b99e25cd5f8afbb336313d4648\" },\n
        \ { GCRY_MD_BLAKE2B_512, 6, +64,\n    \"d2d7f388611af78a2ea40b06f99993cff156afd25cbc47695bdb567d4d35b992\"\n
        \   \"0ff8c325c359a2bdeddf54ececc671ac7b981031e90a7d63d6e0415ec4484282\" },\n\n
        \ { GCRY_MD_WHIRLPOOL, 6, -64,\n    \"247707d1f9cf31b90ee68527144b1c20ad5ce96293bdccd1a81c8f40bc9df10c\"\n
        \   \"e7441ac3b3097162d6fbf4d4b67b8fa09de451e2d920f16aad78c47ab00cb833\" },\n
        \ { GCRY_MD_WHIRLPOOL, 6, -1,\n    \"af49e4a553bdbec1fdafc41713029e0fb1666894753c0ab3ecb280fc5af6eff8\"\n
        \   \"253120745a229d7a8b5831711e4fd16ed0741258504d8a47e2b42aa2f1886968\" },\n
        \ { GCRY_MD_WHIRLPOOL, 6, +0,\n    \"f269ffa424bc2aad2da654f01783fc9b2b431219f2b05784d718da0935e78792\"\n
        \   \"9207b000ebbfb63dfdcc8adf8e5bd321d9616c1b8357430b9be6cb4640df8609\" },\n
        \ { GCRY_MD_WHIRLPOOL, 6, +1,\n    \"52b77eb13129151b69b63c09abb655dc9cb046cafd4cbf7d4a82ae04b61ef9e6\"\n
        \   \"531dde04cae7c5ab400ed8ee8da2e3f490d177289b2b3aa29b12b292954b902c\" },\n
        \ { GCRY_MD_WHIRLPOOL, 6, +64,\n    \"60a950c92f3f08abbc81c41c86ce0463679ffd5ab420e988e15b210615b454ae\"\n
        \   \"69607d14a1806fa44aacf8c926fbdcee998af46f56e0c642d3fb4ee54c8fb917\" },\n\n
        \ { GCRY_MD_CRC32, 6, -64, \"20739052\" },\n  { GCRY_MD_CRC32, 6, -1,  \"971a5a74\"
        },\n  { GCRY_MD_CRC32, 6, +0,  \"bf48113c\" },\n  { GCRY_MD_CRC32, 6, +1,
        \ \"c7678ad5\" },\n  { GCRY_MD_CRC32, 6, +64, \"1efa7255\" },\n\n  { GCRY_MD_CRC24_RFC2440,
        6, -64, \"747e81\" },\n  { GCRY_MD_CRC24_RFC2440, 6, -1,  \"deb97d\" },\n
        \ { GCRY_MD_CRC24_RFC2440, 6, +0,  \"7d5bea\" },\n  { GCRY_MD_CRC24_RFC2440,
        6, +1,  \"acc351\" },\n  { GCRY_MD_CRC24_RFC2440, 6, +64, \"9d9032\" },\n\n
        \ { 0 }\n}"
      pos:
        line_end: 44
        line_start: 39
        source_file: /src/libgcrypt/tests/hashtest.c
    typedefs: []
    union: []
- function_names:
  - print_mpi_2
  - print_mpi
  - print_point
  - print_sexp
  - hex2mpi
  - hex2buffer
  - hex2mpiopa
  - cmp_mpihex
  - ec_p_new
  - set_get_point
  - context_alloc
  - get_and_cmp_mpi
  - get_and_cmp_point
  - context_param
  - make_point
  - basic_ec_math
  - basic_ec_math_simplified
  - twistededwards_math
  - point_on_curve
  - mpi_base10_scan
  - check_ec_mul
  - check_ec_mul_reduction
  - main
  source_file: /src/libgcrypt/tests/t-mpi-point.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libgcrypt/tests/t-mpi-point.c
      type_or_value: '"t-mpi-point"'
    structs:
    - fields:
      - name: '*desc'
        type: char
      - name: '*p'
        type: char
      - name: '*a'
        type: char
      - name: '*n'
        type: char
      - name: '*g_x'
        type: char
      - name: '*h'
        type: char
      item_type: struct
      name: "test_curve[] =\n  {\n    {\n      \"NIST P-192\",\n      \"0xfffffffffffffffffffffffffffffffeffffffffffffffff\",\n
        \     \"0xfffffffffffffffffffffffffffffffefffffffffffffffc\",\n      \"0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1\",\n
        \     \"0xffffffffffffffffffffffff99def836146bc9b1b4d22831\",\n\n      \"0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012\",\n
        \     \"0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811\",\n      \"0x01\"\n
        \   },\n    {\n      \"NIST P-224\",\n      \"0xffffffffffffffffffffffffffffffff000000000000000000000001\",\n
        \     \"0xfffffffffffffffffffffffffffffffefffffffffffffffffffffffe\",\n      \"0xb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4\",\n
        \     \"0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\" ,\n\n
        \     \"0xb70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21\",\n      \"0xbd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34\",\n
        \     \"0x01\"\n    },\n    {\n      \"NIST P-256\",\n      \"0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff\",\n
        \     \"0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc\",\n
        \     \"0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b\",\n
        \     \"0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\",\n\n
        \     \"0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296\",\n
        \     \"0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5\",\n
        \     \"0x01\"\n    },\n    {\n      \"NIST P-384\",\n      \"0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\"\n
        \     \"ffffffff0000000000000000ffffffff\",\n      \"0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\"\n
        \     \"ffffffff0000000000000000fffffffc\",\n      \"0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875a\"\n
        \     \"c656398d8a2ed19d2a85c8edd3ec2aef\",\n      \"0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf\"\n
        \     \"581a0db248b0a77aecec196accc52973\",\n\n      \"0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a38\"\n
        \     \"5502f25dbf55296c3a545e3872760ab7\",\n      \"0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c0\"\n
        \     \"0a60b1ce1d7e819d7a431d7c90ea0e5f\",\n      \"0x01\"\n    },\n    {\n
        \     \"NIST P-521\",\n      \"0x01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"\n
        \     \"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\",\n
        \     \"0x01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"\n
        \     \"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc\",\n
        \     \"0x051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef10\"\n
        \     \"9e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00\",\n
        \     \"0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"\n
        \     \"ffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\",\n\n
        \     \"0xc6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3d\"\n
        \     \"baa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66\",\n
        \     \"0x11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e6\"\n
        \     \"62c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650\",\n
        \     \"0x01\"\n    },\n    {\n      \"Ed25519\",\n      \"0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED\",\n
        \     \"0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC\",\n
        \     \"0x52036CEE2B6FFE738CC740797779E89800700A4D4141D8AB75EB4DCA135978A3\",\n
        \     \"0x1000000000000000000000000000000014DEF9DEA2F79CD65812631A5CF5D3ED\",\n
        \     \"0x216936D3CD6E53FEC0A4E231FDD6DC5C692CC7609525A7B2C9562D608F25D51A\",\n
        \     \"0x6666666666666666666666666666666666666666666666666666666666666658\",\n
        \     \"0x08\"\n    },\n    { NULL, NULL, NULL, NULL, NULL, NULL }\n  }"
      pos:
        line_end: 39
        line_start: 31
        source_file: /src/libgcrypt/tests/t-mpi-point.c
    - fields:
      - name: '*curve'
        type: char
      - name: oncurve
        type: int
      - name: '*qx'
        type: char
      - name: '*qy'
        type: char
      item_type: struct
      name: "t[] = {\n    {\n      \"NIST P-256\", 0,\n      \"015B4F6775D68D4D2E2192C6B8027FC5A3D49957E453CB251155AA3FF5D3EC9974\",\n
        \     \"4BC4C87B57A25E1056831208AB5B8F091142F891E9FF19F1E090B030DF1087B3\"\n
        \   }, {\n      \"NIST P-256\", 0,\n      \"D22C316E7EBE7B293BD66808E000806F0754398A5D72A4F9BBC21C26EAC0A651\",\n
        \     \"3C8DB80CC3CDE5E530D040536E6A58AAB41C33FA70B30896943513FF3690132D\"\n
        \   }, {\n      \"NIST P-256\", 0,\n      \"0130F7E7BC52854CA493A0DE87DC4AB3B4343758F2B634F15B10D70DBC0A5A5291\",\n
        \     \"86F9CA73C25CE86D54CB21C181AECBB52A5971334FF5040F76CAE9845ED46023\"\n
        \   }, {\n      \"NIST P-256\", 1,\n      \"14957B602C7849F28858C7407696F014BC091D6D68C449560B7A38147D6E6A9B\",\n
        \     \"A8E09EFEECFE00C797A0848F38B61992D30C61FAB13021E88C8BD3545B3A6C63\"\n
        \   }, {\n      \"NIST P-256\", 0,\n      \"923DE4957241DD97780841C76294DB0D4F5DC04C3045081174764D2D32AD2D53\",\n
        \     \"01B4B1A2027C02F0F520A3B01E4CE3C668BF481346A74499C5D1044A53E210B600\"\n
        \   }, {\n      \"NIST P-256\", 1,\n      \"9021DFAB8B4DAEAADA634AAA26D6E5FFDF8C0476FF5CA31606C870A1B933FB36\",\n
        \     \"9AFC65EEB24E46C7B75712EF29A981CB09FAC56E2B81D3ED024748CCAB1CB77E\"\n
        \   }, {\n      \"NIST P-256\", 0,\n      \"011529F0B26DE5E0EB2DA4BFB6C149C802CB52EE479DD666553286928A4005E990\",\n
        \     \"0EBC63DB2104884456DC0AA81A3F4E99D93B7AE2CD4B1489655EA9BE6289CF9E\"\n
        \   }, {\n      \"NIST P-256\", 1,\n      \"216EC5DE8CA989199D31F0DFCD381DCC9270A0785365EC3E34CA347C070A87BE\",\n
        \     \"87A88897BA763509ECC1DBE28D9D37F6F4E70E3B99B1CD3C0B934D4190968A6D\"\n
        \   }, {\n      \"NIST P-256\", 1,\n      \"7ABAA44ACBC6016FDB52A6F45F6178E65CBFC35F9920D99149CA9999612CE945\",\n
        \     \"88F7684BDCDA31EAFB6CAD859F8AB29B5D921D7DB2B34DF7E40CE36235F45B63\"\n
        \   }, {\n      \"NIST P-256\", 0,\n      \"E765B4272D211DD0064189B55421FB76BB3A7756364A6CB1627FAED848157A84\",\n
        \     \"C13171CFFB243E06B203F0996BBDD16F52292AD11F2DA81106E9C2FD87F4FA0F\"\n
        \   }, {\n      \"NIST P-256\", 0,\n      \"EE4999DFC3A1871EE7A592BE26A09BEC9D9B561613EE9EFB6ED42F17985C9CDC\",\n
        \     \"8399E967338A7A618336AF70DA67D9CAC1C19267809652F5C5183C8B129E0902\"\n
        \   }, {\n      \"NIST P-256\", 0,\n      \"F755D0CF2642A2C7FBACCC8E9E442B8B047A99C6E052B2FA5AB0544B36B4D51C\",\n
        \     \"AA080F17657B6565D9A4D94BD260B54D92FEE8DC4A78C4FC9C19209933AF39B0\"\n
        \   } , {\n      \"NIST P-384\", 0,\n      \"CBFC7DBEBF15BEAD682549757F9BBA0E3F67669DF13FCE0EBE8024B725B38B00\"\n
        \     \"83EC46A8F2FF3203C5C7F8C7E722A5EF\",\n      \"0548FE281BEAB18FD1AB86F59B0CA524479A4A81373C83B78AFFD801FAC75922\"\n
        \     \"96470753DCF46173C9AA4A8A4C2FBE51\"\n    }, {\n      \"NIST P-384\",
        0,\n      \"1DC8E054A883DB81EAEDE6C487B26816C927B8196780525A6CA8F675D2557752\"\n
        \     \"02CE06CCBE705EA8A38AA2894D4BEEE6\",\n      \"010191050E867AFAA96A199FE9C591CF8B853D81486786DA889124881FB39D2F\"\n
        \     \"8E0875F4C4BB1E3D0F8535C7A52306FB82\"\n    }, {\n      \"NIST P-384\",
        1,\n      \"2539FC368CE1D5E464B6C0FBB12D557B712327DB086975255AD7D17F7E7E4F23\"\n
        \     \"D719ED4116E2CC907AEB92CF22331A60\",\n      \"8843FDBA742CB64323E49CEBE8DD74908CFC9C3AA0015662DFBB7219E92CF32E\"\n
        \     \"9FC63F61EF19DE9B3CEA98D163ABF254\"\n    }, {\n      \"NIST P-384\",
        0,\n      \"0B786DACF400D43575394349EDD9F9CD145FC7EF737A3C5F69B253BE7639DB24\"\n
        \     \"EC2F0CA62FF1F90B6515DE356EC2A404\",\n      \"225D6B2939CC7F7133F43353946A682C68DAC6BB75EE9CF6BD9A1609FA915692\"\n
        \     \"72F4D3A87E88529754E109BB9B61B03B\"\n    }, {\n      \"NIST P-384\",
        0,\n      \"76C660C9F58CF2051F9F8B06049694AB6FE418009DE6F0A0833BC690CEC06CC2\"\n
        \     \"9A440AD51C94CF5BC28817C8C6E2D302\",\n      \"012974E5D9E55304ED294AB6C7A3C65B663E67ABC5E6F6C0F6498B519F2F6CA1\"\n
        \     \"8306976291F3ADC0B5ABA42DED376EA9A5\"\n    }, {\n      \"NIST P-384\",
        0,\n      \"23D758B1EDB8E12E9E707C53C131A19D9464B20EE05C99766F5ABDF9F906AD03\"\n
        \     \"B958BF28B022E54E320672C4BAD4EEC0\",\n      \"01E9E72870C88F4C82A5AB3CC8A3398E8F006BF3EC05FFBB1EFF8AEE88020FEA\"\n
        \     \"9E558E9F58ED1D324C9DCBCB4E8F2A5970\"\n    }, {\n      \"NIST P-384\",
        0,\n      \"D062B96D5A10F715ACF361F99262ABF0F7693A8BB60ECB1DF459CF95750E4293\"\n
        \     \"18BCB9FC60499D009F949298F3F9F47B\",\n      \"9089C6328E4B39A73D7EE6FAE1A77E48CE354B83BBCE432082C32C8FD6784B86\"\n
        \     \"CFE9C552E2E720F5DA5806503D3784CD\"\n    }, {\n      \"NIST P-384\",
        0,\n      \"2A951D4D6EB35C43D94866280D37365B82441BC84D62CBFF3365CAB1FD0A3E20\"\n
        \     \"823CA8F84D2BBF4EA687885437DE7839\",\n      \"01CC7D762AFE613F7B5568BC516568A421159C40599E8D52DE10E8F9488931E1\"\n
        \     \"69F3656C322DE45C4A70DC6DB9A661E599\"\n    }, {\n      \"NIST P-384\",
        1,\n      \"A4BAEE6CDAF3AEB69032B3FBA811707C54F5753670DA5173D891547E8CBAEEF3\"\n
        \     \"89B92C9A55573A596123415FBFA26991\",\n      \"3241EA716583C11C71BB30AF6C5E3A6637956F17ADBBE641BAB52E8539F9FC7B\"\n
        \     \"F3B04F46DBFFE08151E0F0950CC70081\"\n    }, {\n      \"NIST P-384\",
        0,\n      \"5C0E18B0DE3261BCBCFC7B702C2D75CF481336BFBADF420BADC616235C1966AB\"\n
        \     \"4C0F876575DDEC1BDB3F3F04061C9AE4\",\n      \"E90C78550D1C922F1D8161D8C9C0576E29BD09CA665376FA887D13FA8DF48352\"\n
        \     \"D7BBEEFB803F6CC8FC7895E47F348D33\"\n    }, {\n      \"NIST P-384\",
        1,\n      \"2015864CD50F0A1A50E6401F44191665C19E4AD4B4903EA9EB464E95D1070E36\"\n
        \     \"F1D8325E45734D5A0FDD103F4DF6F83E\",\n      \"5FB3E9A5C59DD5C5262A8176CB7032A00AE33AED08485884A3E5D68D9EEB990B\"\n
        \     \"F26E8D87EC175577E782AD51A6A12C02\"\n    }, {\n      \"NIST P-384\",
        1,\n      \"56EBF5310EEF5A5D8D001F570A18625383ECD4882B3FC738A69874E7C9D8F89C\"\n
        \     \"187BECA23369DFD6C15CC0DA0629958F\",\n      \"C1230B349FB662CB762563DB8F9FCB32D5CCA16120681C474D67D279CCA6F6DB\"\n
        \     \"73DE6AA96140B5C457B7486E06D318CE\"\n    }, {\n      \"NIST P-521\",
        0,\n      \"01E4D82EE5CD6DA37080252295EFA273BBBA6952012D0120EAF131E73F1E5024\"\n
        \     \"36E3324624471040030E1C345D65490ECEE9B64E03B15B6C7EB69A39C618BAFEED70\",\n
        \     \"03EE3A3C88A6933B7B16016BE4CC4E3BF5EA0625CB3DB2604CDCBBD02CABBC90\"\n
        \     \"8904D9DB42998F6C5101D4D4318ACFC9643C9CD641F636D1810ED86F1840EA74F3C0\"\n
        \   }, {\n      \"NIST P-521\", 0,\n      \"01F3DFCB5433387B6B2E3F74177F4F3D7300F05E1AD49DE112630E27B1C8A437\"\n
        \     \"1E742CB020E0039B5477FC897D17332034F9660B3066764EFF5FB440EB8856E782E3\",\n
        \     \"02D337616C9D202DC5E290C486F5855CBD6A8470AE62CA96245834CF49257D8D\"\n
        \     \"96D4041B15007650DEE668C00DDBF749054256C571F60980AC74D0DBCA7FB96C2F48\"\n
        \   }, {\n      \"NIST P-521\", 1,\n      \"822A846606DC9E96452CAC373567A8B57D9ACA15B177F75DD7EF10C635F52CE4\"\n
        \     \"EF6ABEEDB90D3F48F50A0C9015A95C955A25C45DE8413DE3BF899B6B1E62CF7CB8\",\n
        \     \"0102771B5F3EC8C36838CEC04DCBC28AD1E38C37DAB0EA89B5EE92D21F7A35CE\"\n
        \     \"ABC8B155EDC70154D6DFA2E77EC1D8C4A3406A6BD0ECF8F1EE2AC33A02464CB70C97\"\n
        \   }, {\n      \"NIST P-521\", 0,\n      \"F733D48467912D1FFE46CF442F27FDD218D190E7B8A829D822DA3B6BAF9B987E\"\n
        \     \"5B4BCCE34499248F59EEAF74F63ED15FF73F243C6FC3FD5E5842F6A3BA34C2022D\",\n
        \     \"0281AAAD1B7EEBABEB6EC67932CB7E95717AFA3B4CF7A2DB151CD537C419C3A5\"\n
        \     \"156ED9160758190B47696CDC15E81BBAD12975283907A571604DB23F702AEA4B38FF\"\n
        \   }, {\n      \"NIST P-521\", 0,\n      \"03B1B274175AAEB5907152E5114CCAEADA28A7ADD4A2B1831C3D8302E8596489\"\n
        \     \"E2C98B9B8D0CAE98C03BB11E28CE66D4736449758AF58BAFE40EF5A5FA22C9A43117\",\n
        \     \"94C5951F81D544E959EDFC5DC1D5F42FE427871D4FB91A43A0B4A6BEA6B35B9E\"\n
        \     \"BC5FB444C70BE4FD47B4ED16704F8C86EF019FC47C7FF2271F8B0DDEA9E2D3BCDD\"\n
        \   }, {\n      \"NIST P-521\", 1,\n      \"F2248C318055DE37CD706D4FCAF7E7D96737A4A7B6B8067A66DCD58B6B8DFC55\"\n
        \     \"90ECE67F6AA67F9C51B57E7B023075F2F42909BF47361CB6881C10F55FB7215B56\",\n
        \     \"0162F735CE6A2ADA54CAF96A12D6888C02DE0A74638CF34CE39DABBACA4D651B\"\n
        \     \"7E6ED1A65B551B36BAE7BE474BB6E6905ED0E33C7BA2021885027C7C6E40C5613004\"\n
        \   }, {\n      \"NIST P-521\", 0,\n      \"9F08E97FEADCF0A391CA1EA4D97B5FE62D3B164593E12027EB967BD6E1FA841A\"\n
        \     \"9831158DF164BCAD0BF3ADA96127745E25F349BDDD52EEA1654892B35960C9C023\",\n
        \     \"AE2A25F5440F258AFACA6925C4C9F7AEAD3CB67153C4FACB31AC33F58B43A78C\"\n
        \     \"B14F682FF726CEE2A6B6F6B481AEEB29A9B3150F02D1CFB764672BA8294C477291\"\n
        \   }, {\n      \"NIST P-521\", 0,\n      \"01047B52014748C904980716953206A93F0D01B34CA94A997407FA93FE304F86\"\n
        \     \"17BB6E402B2BB8B434C2671ECE953ABE7BADB75713CD9DF950943A33A9A19ACCDABE\",\n
        \     \"7433533F098037DEA616337986887D01C5CC8DEC3DC1FDB9CDF7287EF27CC125\"\n
        \     \"54FCF3A5E212DF9DAD9F8A3A7173B23FC6E15930704F3AEE1B074BDDB0ED6823E4\"\n
        \   }, {\n      \"NIST P-521\", 0,\n      \"01C2A9EBF51592FE6589F618EAADA1697D9B2EC7CE5D48C9E80FC597642B23F1\"\n
        \     \"F0EBE953449762BD3F094F57791D9850AFE98BBDA9872BE399B7BDD617860076BB03\",\n
        \     \"0B822E27692F63DB8E12C59BB3CCA172B9BBF613CAE5F9D1474186E45E8B26FF\"\n
        \     \"962084E1C6BE74821EDBB60941A3B75516F603719563433383812BFEA89EC14B89\"\n
        \   }, {\n      \"NIST P-521\", 0,\n      \"99390F342C3F0D46E80C5B65C61E8AA8ACA0B6D4E1352404586364A05D8398E9\"\n
        \     \"2BC71A644E8663F0A9B87D0B3ACAEE32F2AB9B321317AD23059D045EBAB91C5D93\",\n
        \     \"82FCF93AE4467EB57766F2B150E736636727E7282500CD482DA70D153D195F2B\"\n
        \     \"DF9B96D689A0DC1BB9137B41557A33F202F1B71840544CBEFF03072E77E4BB6F0B\"\n
        \   }, {\n      \"NIST P-521\", 1,\n      \"018E48E80594FF5496D8CC7DF8A19D6AA18805A4EF4490038AED6A1E9AA18056\"\n
        \     \"D0244A97DCF6D132C6804E3F4F369922119544B4C057D783C848FB798B48730A382C\",\n
        \     \"01AF510B4F5E1C40BC9C110216D35E7C6D7A2BEE52914FC98258676288449901\"\n
        \     \"F27A07EE91DF2D5D79259712906C3E18A990CBF35BCAC41A952820CE2BA8D0220080\"\n
        \   }, {\n      \"NIST P-521\", 1,\n      \"ADCEF3539B4BC831DC0AFD173137A4426152058AFBAE06A17FCB89F4DB6E48B5\"\n
        \     \"335CB88F8E4DB475A1E390E5656072F06605BFB84CBF9795B7992ECA04A8E10CA1\",\n
        \     \"01BCB985AFD6404B9EDA49B6190AAA346BF7D5909CA440C0F7E505C62FAC8635\"\n
        \     \"31D3EB7B2AC4DD4F4404E4B12E9D6D3C596179587F3724B1EFFF684CFDB4B21826B9\"\n
        \   }, {\n      \"Curve25519\", 1,\n      \"4c1cabd0a603a9103b35b326ec2466727c5fb124a4c19435db3030586768dbe6\",\n
        \     \"765bad4dfe2232fd1f369ca42b5e437a6fec2e5973be8b3e119ad4f8dfa6fe35\"\n
        \   }\n  }"
      pos:
        line_end: 1033
        line_start: 1028
        source_file: /src/libgcrypt/tests/t-mpi-point.c
    - fields:
      - name: '*curve'
        type: char
      - name: '*k_base10'
        type: char
      - name: '*qx'
        type: char
      - name: '*qy'
        type: char
      item_type: struct
      name: "tv[] = {\n    /* NIST EC test vectors from http://point-at-infinity.org/ecc/nisttv
        */\n    { /* tv 0 */\n      \"NIST P-192\",\n      \"1\",\n      \"188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012\",\n
        \     \"07192B95FFC8DA78631011ED6B24CDD573F977A11E794811\"\n    },\n    {
        /* tv 1 */\n      \"NIST P-192\",\n      \"2\",\n      \"DAFEBF5828783F2AD35534631588A3F629A70FB16982A888\",\n
        \     \"DD6BDA0D993DA0FA46B27BBC141B868F59331AFA5C7E93AB\"\n    },\n    {
        /* tv 2 */\n      \"NIST P-192\",\n      \"3\",\n      \"76E32A2557599E6EDCD283201FB2B9AADFD0D359CBB263DA\",\n
        \     \"782C37E372BA4520AA62E0FED121D49EF3B543660CFD05FD\"\n    },\n    {
        /* tv 3 */\n      \"NIST P-192\",\n      \"4\",\n      \"35433907297CC378B0015703374729D7A4FE46647084E4BA\",\n
        \     \"A2649984F2135C301EA3ACB0776CD4F125389B311DB3BE32\"\n    },\n    {
        /* tv 4 */\n      \"NIST P-192\",\n      \"5\",\n      \"10BB8E9840049B183E078D9C300E1605590118EBDD7FF590\",\n
        \     \"31361008476F917BADC9F836E62762BE312B72543CCEAEA1\"\n    },\n    {
        /* tv 5 */\n      \"NIST P-192\",\n      \"6\",\n      \"A37ABC6C431F9AC398BF5BD1AA6678320ACE8ECB93D23F2A\",\n
        \     \"851B3CAEC99908DBFED7040A1BBDA90E081F7C5710BC68F0\"\n    },\n    {
        /* tv 6 */\n      \"NIST P-192\",\n      \"7\",\n      \"8DA75A1F75DDCD7660F923243060EDCE5DE37F007011FCFD\",\n
        \     \"57CB5FCF6860B35418240DB8FDB3C01DD4B702F96409FFB5\"\n    },\n    {
        /* tv 7 */\n      \"NIST P-192\",\n      \"8\",\n      \"2FA1F92D1ECCE92014771993CC14899D4B5977883397EDDE\",\n
        \     \"A338AFDEF78B7214273B8B5978EF733FF2DD8A8E9738F6C0\"\n    },\n    {
        /* tv 8 */\n      \"NIST P-192\",\n      \"9\",\n      \"818A4D308B1CABB74E9E8F2BA8D27C9E1D9D375AB980388F\",\n
        \     \"01D1AA5E208D87CD7C292F7CBB457CDF30EA542176C8E739\"\n    },\n    {
        /* tv 9 */\n      \"NIST P-192\",\n      \"10\",\n      \"AA7C4F9EF99E3E96D1AEDE2BD9238842859BB150D1FE9D85\",\n
        \     \"3212A36547EDC62901EE3658B2F4859460EB5EB2491397B0\"\n    },\n    {
        /* tv 10 */\n      \"NIST P-192\",\n      \"11\",\n      \"1C995995EB76324F1844F7164D22B652280940370628A2AA\",\n
        \     \"EF1765CE37E9EB73029F556400FA77BDB34CB8611AAA9C04\"\n    },\n    {
        /* tv 11 */\n      \"NIST P-192\",\n      \"12\",\n      \"1061343F3D456D0ECA013877F8C9E7B28FCCDCDA67EEB8AB\",\n
        \     \"5A064CAA2EA6B03798FEF8E3E7A48648681EAC020B27293F\"\n    },\n    {
        /* tv 12 */\n      \"NIST P-192\",\n      \"13\",\n      \"112AF141D33EFB9F2F68821E051E4EA004144A363C4A090A\",\n
        \     \"6E0CBE3BFC5293F72A2C1726E081E09E7F10A094432B1C1E\"\n    },\n    {
        /* tv 13 */\n      \"NIST P-192\",\n      \"14\",\n      \"13B9310646EBC93B591746B3F7C64E05DEE08843DE1081C1\",\n
        \     \"1EDCEA63B44142DD15F3B427EC41A1EC4FBACA95E186E6B4\"\n    },\n    {
        /* tv 14 */\n      \"NIST P-192\",\n      \"15\",\n      \"8C9595E63B56B633BA3546B2B5414DE736DE4A9E7578B1E7\",\n
        \     \"266B762A934F00C17CF387993AA566B6AD7537CDD98FC7B1\"\n    },\n    {
        /* tv 15 */\n      \"NIST P-192\",\n      \"16\",\n      \"B7310B4548FBFDBD29005092A5355BFCD99473733048AFDF\",\n
        \     \"FF9EAE9EDCD27C1E42D8585C4546D9491845C56629CF2290\"\n    },\n    {
        /* tv 16 */\n      \"NIST P-192\",\n      \"17\",\n      \"44275CD2E1F46DC3F9F57636C2B4213B8BB445930510FF8A\",\n
        \     \"EFAD8348FDE30C87DE438612A818E98D9B76A67AD25DDFD0\"\n    },\n    {
        /* tv 17 */\n      \"NIST P-192\",\n      \"18\",\n      \"C1B4DB0227210613A6CA15C428024E40B6513365D72591A3\",\n
        \     \"1E26B286BCA1D08F4FE8F801267DF9FD7782EC3EC3F47F53\"\n    },\n    {
        /* tv 18 */\n      \"NIST P-192\",\n      \"19\",\n      \"C0626BCF247DE5D307FD839238D72688774FC97A1CF8AD1B\",\n
        \     \"9CDC99D753973DC197E12778E829C804EC1A6B4E71FAA20A\"\n    },\n    {
        /* tv 19 */\n      \"NIST P-192\",\n      \"20\",\n      \"BB6F082321D34DBD786A1566915C6DD5EDF879AB0F5ADD67\",\n
        \     \"91E4DD8A77C4531C8B76DEF2E5339B5EB95D5D9479DF4C8D\"\n    },\n    {
        /* tv 20 */\n      \"NIST P-192\",\n      \"112233445566778899\",\n      \"81E6E0F14C9302C8A8DCA8A038B73165E9687D0490CD9F85\",\n
        \     \"F58067119EED8579388C4281DC645A27DB7764750E812477\"\n    },\n    {
        /* tv 21 */\n      \"NIST P-192\",\n      \"112233445566778899112233445566778899\",\n
        \     \"B357B10AC985C891B29FB37DA56661CCCF50CEC21128D4F6\",\n      \"BA20DC2FA1CC228D3C2D8B538C2177C2921884C6B7F0D96F\"\n
        \   },\n    { /* tv 22 */\n      \"NIST P-192\",\n      \"1618292094200346491064154703205151664562462359653015613567\",\n
        \     \"74FEC215F253C6BD845831E059B318C87F727B136A700B91\",\n      \"4B702B15B126A703E7A7CEC3E0EC81F8DFCA73A59F5D88B9\"\n
        \   },\n    { /* tv 23 */\n      \"NIST P-192\",\n      \"1484605055214526729816930749766694384906446681761906688\",\n
        \     \"0C40230F9C4B8C0FD91F2C604FCBA9B87C2DFA153F010B4F\",\n      \"5FC4F5771F467971B2C82752413833A68CE00F4A9A692B02\"\n
        \   },\n    { /* tv 24 */\n      \"NIST P-192\",\n      \"1569275434166462877105627261392580354519833538813866540831\",\n
        \     \"28783BBF6208E1FF0F965FD8DC0C26FF1D8E02B433EDF2F7\",\n      \"A5852BBC44FD8164C1ABA9A3EC7A88E461D5D77ABD743E87\"\n
        \   },\n    { /* tv 25 */\n      \"NIST P-192\",\n      \"3138550867681922400546388175470823984762234518836963313664\",\n
        \     \"45DAF0A306121BDB3B82E734CB44FDF65C9930F0E4FD2068\",\n      \"F039FACE58EB7DE34E3374ADB28DF81F019C4548BAA75B64\"\n
        \   },\n    { /* tv 26 */\n      \"NIST P-192\",\n      \"3138550119404545973088374812479323842475901485681169401600\",\n
        \     \"1D5EC85004EA2ABA905CEF98A818A8C3516D7CB69A6FD575\",\n      \"4008F35F5820F66C902195644162E5AA231DD69C9E1ECC97\"\n
        \   },\n    { /* tv 27 */\n      \"NIST P-192\",\n      \"24519928471166604179655321383971467003990211439919824896\",\n
        \     \"F063727C2EA4D358AB02F6B0BEEB14DBEAF2E8A1DB3208EE\",\n      \"427418C015553361769B6A0C42923C4CA103740B6DCD9703\"\n
        \   },\n    { /* tv 28 */\n      \"NIST P-192\",\n      \"46756768218837031708063422466358611246556475572231\",\n
        \     \"DC81D33CA6604B1EFE49386CD492979EF807B8BAEB8566E3\",\n      \"D454247FF478514556333B3901C9F1CCC18DBC9AB938CFA0\"\n
        \   },\n    { /* tv 29 */\n      \"NIST P-192\",\n      \"3138502977207688322901699644928655553044791844086883549215\",\n
        \     \"D932741DF6AA0E1EED24279150436C752AA5ADCFD0698D72\",\n      \"9759B6D2EF21D885E94CDFF219F17004D8763401DAB021B5\"\n
        \   },\n    { /* tv 30 */\n      \"NIST P-192\",\n      \"47890485652059026491391979477371914515865621847605503\",\n
        \     \"571477E9D9F2A628780742257F7250C4224C483B30F3A97E\",\n      \"1AD35EE3177D22DD5F01B5A46FFDEC547B6A41786EBB8C8F\"\n
        \   },\n    { /* tv 31 */\n      \"NIST P-192\",\n      \"3138549376958826959341570842566593375326996431013993775615\",\n
        \     \"4C69939642792776C826DB8B4EBF4BD8C03FC9DFA2AEC822\",\n      \"29BF35BE52A6036E07EBA5741CFEB4C143310216EF1B9A2E\"\n
        \   },\n    { /* tv 32 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284061\",\n
        \     \"BB6F082321D34DBD786A1566915C6DD5EDF879AB0F5ADD67\",\n      \"6E1B2275883BACE37489210D1ACC64A046A2A26B8620B372\"\n
        \   },\n    { /* tv 33 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284062\",\n
        \     \"C0626BCF247DE5D307FD839238D72688774FC97A1CF8AD1B\",\n      \"63236628AC68C23E681ED88717D637FA13E594B18E055DF5\"\n
        \   },\n    { /* tv 34 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284063\",\n
        \     \"C1B4DB0227210613A6CA15C428024E40B6513365D72591A3\",\n      \"E1D94D79435E2F70B01707FED9820601887D13C13C0B80AC\"\n
        \   },\n    { /* tv 35 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284064\",\n
        \     \"44275CD2E1F46DC3F9F57636C2B4213B8BB445930510FF8A\",\n      \"10527CB7021CF37821BC79ED57E71671648959852DA2202F\"\n
        \   },\n    { /* tv 36 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284065\",\n
        \     \"B7310B4548FBFDBD29005092A5355BFCD99473733048AFDF\",\n      \"00615161232D83E1BD27A7A3BAB926B5E7BA3A99D630DD6F\"\n
        \   },\n    { /* tv 37 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284066\",\n
        \     \"8C9595E63B56B633BA3546B2B5414DE736DE4A9E7578B1E7\",\n      \"D99489D56CB0FF3E830C7866C55A9948528AC8322670384E\"\n
        \   },\n    { /* tv 38 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284067\",\n
        \     \"13B9310646EBC93B591746B3F7C64E05DEE08843DE1081C1\",\n      \"E123159C4BBEBD22EA0C4BD813BE5E12B045356A1E79194B\"\n
        \   },\n    { /* tv 39 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284068\",\n
        \     \"112AF141D33EFB9F2F68821E051E4EA004144A363C4A090A\",\n      \"91F341C403AD6C08D5D3E8D91F7E1F6080EF5F6BBCD4E3E1\"\n
        \   },\n    { /* tv 40 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284069\",\n
        \     \"1061343F3D456D0ECA013877F8C9E7B28FCCDCDA67EEB8AB\",\n      \"A5F9B355D1594FC86701071C185B79B697E153FDF4D8D6C0\"\n
        \   },\n    { /* tv 41 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284070\",\n
        \     \"1C995995EB76324F1844F7164D22B652280940370628A2AA\",\n      \"10E89A31C816148CFD60AA9BFF0588414CB3479EE55563FB\"\n
        \   },\n    { /* tv 42 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284071\",\n
        \     \"AA7C4F9EF99E3E96D1AEDE2BD9238842859BB150D1FE9D85\",\n      \"CDED5C9AB81239D6FE11C9A74D0B7A6A9F14A14DB6EC684F\"\n
        \   },\n    { /* tv 43 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284072\",\n
        \     \"818A4D308B1CABB74E9E8F2BA8D27C9E1D9D375AB980388F\",\n      \"FE2E55A1DF72783283D6D08344BA831FCF15ABDE893718C6\"\n
        \   },\n    { /* tv 44 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284073\",\n
        \     \"2FA1F92D1ECCE92014771993CC14899D4B5977883397EDDE\",\n      \"5CC7502108748DEBD8C474A687108CBF0D22757168C7093F\"\n
        \   },\n    { /* tv 45 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284074\",\n
        \     \"8DA75A1F75DDCD7660F923243060EDCE5DE37F007011FCFD\",\n      \"A834A030979F4CABE7DBF247024C3FE12B48FD069BF6004A\"\n
        \   },\n    { /* tv 46 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284075\",\n
        \     \"A37ABC6C431F9AC398BF5BD1AA6678320ACE8ECB93D23F2A\",\n      \"7AE4C3513666F7240128FBF5E44256F0F7E083A8EF43970F\"\n
        \   },\n    { /* tv 47 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284076\",\n
        \     \"10BB8E9840049B183E078D9C300E1605590118EBDD7FF590\",\n      \"CEC9EFF7B8906E84523607C919D89D40CED48DABC331515E\"\n
        \   },\n    { /* tv 48 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284077\",\n
        \     \"35433907297CC378B0015703374729D7A4FE46647084E4BA\",\n      \"5D9B667B0DECA3CFE15C534F88932B0DDAC764CEE24C41CD\"\n
        \   },\n    { /* tv 49 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284078\",\n
        \     \"76E32A2557599E6EDCD283201FB2B9AADFD0D359CBB263DA\",\n      \"87D3C81C8D45BADF559D1F012EDE2B600C4ABC99F302FA02\"\n
        \   },\n    { /* tv 50 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284079\",\n
        \     \"DAFEBF5828783F2AD35534631588A3F629A70FB16982A888\",\n      \"229425F266C25F05B94D8443EBE4796FA6CCE505A3816C54\"\n
        \   },\n    { /* tv 51 */\n      \"NIST P-192\",\n      \"6277101735386680763835789423176059013767194773182842284080\",\n
        \     \"188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012\",\n      \"F8E6D46A003725879CEFEE1294DB32298C06885EE186B7EE\"\n
        \   },\n    { /* tv 52 */\n      \"NIST P-224\",\n      \"1\",\n      \"B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21\",\n
        \     \"BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34\"\n    },\n
        \   { /* tv 53 */\n      \"NIST P-224\",\n      \"2\",\n      \"706A46DC76DCB76798E60E6D89474788D16DC18032D268FD1A704FA6\",\n
        \     \"1C2B76A7BC25E7702A704FA986892849FCA629487ACF3709D2E4E8BB\"\n    },\n
        \   { /* tv 54 */\n      \"NIST P-224\",\n      \"3\",\n      \"DF1B1D66A551D0D31EFF822558B9D2CC75C2180279FE0D08FD896D04\",\n
        \     \"A3F7F03CADD0BE444C0AA56830130DDF77D317344E1AF3591981A925\"\n    },\n
        \   { /* tv 55 */\n      \"NIST P-224\",\n      \"4\",\n      \"AE99FEEBB5D26945B54892092A8AEE02912930FA41CD114E40447301\",\n
        \     \"0482580A0EC5BC47E88BC8C378632CD196CB3FA058A7114EB03054C9\"\n    },\n
        \   { /* tv 56 */\n      \"NIST P-224\",\n      \"5\",\n      \"31C49AE75BCE7807CDFF22055D94EE9021FEDBB5AB51C57526F011AA\",\n
        \     \"27E8BFF1745635EC5BA0C9F1C2EDE15414C6507D29FFE37E790A079B\"\n    },\n
        \   { /* tv 57 */\n      \"NIST P-224\",\n      \"6\",\n      \"1F2483F82572251FCA975FEA40DB821DF8AD82A3C002EE6C57112408\",\n
        \     \"89FAF0CCB750D99B553C574FAD7ECFB0438586EB3952AF5B4B153C7E\"\n    },\n
        \   { /* tv 58 */\n      \"NIST P-224\",\n      \"7\",\n      \"DB2F6BE630E246A5CF7D99B85194B123D487E2D466B94B24A03C3E28\",\n
        \     \"0F3A30085497F2F611EE2517B163EF8C53B715D18BB4E4808D02B963\"\n    },\n
        \   { /* tv 59 */\n      \"NIST P-224\",\n      \"8\",\n      \"858E6F9CC6C12C31F5DF124AA77767B05C8BC021BD683D2B55571550\",\n
        \     \"046DCD3EA5C43898C5C5FC4FDAC7DB39C2F02EBEE4E3541D1E78047A\"\n    },\n
        \   { /* tv 60 */\n      \"NIST P-224\",\n      \"9\",\n      \"2FDCCCFEE720A77EF6CB3BFBB447F9383117E3DAA4A07E36ED15F78D\",\n
        \     \"371732E4F41BF4F7883035E6A79FCEDC0E196EB07B48171697517463\"\n    },\n
        \   { /* tv 61 */\n      \"NIST P-224\",\n      \"10\",\n      \"AEA9E17A306517EB89152AA7096D2C381EC813C51AA880E7BEE2C0FD\",\n
        \     \"39BB30EAB337E0A521B6CBA1ABE4B2B3A3E524C14A3FE3EB116B655F\"\n    },\n
        \   { /* tv 62 */\n      \"NIST P-224\",\n      \"11\",\n      \"EF53B6294ACA431F0F3C22DC82EB9050324F1D88D377E716448E507C\",\n
        \     \"20B510004092E96636CFB7E32EFDED8265C266DFB754FA6D6491A6DA\"\n    },\n
        \   { /* tv 63 */\n      \"NIST P-224\",\n      \"12\",\n      \"6E31EE1DC137F81B056752E4DEAB1443A481033E9B4C93A3044F4F7A\",\n
        \     \"207DDDF0385BFDEAB6E9ACDA8DA06B3BBEF224A93AB1E9E036109D13\"\n    },\n
        \   { /* tv 64 */\n      \"NIST P-224\",\n      \"13\",\n      \"34E8E17A430E43289793C383FAC9774247B40E9EBD3366981FCFAECA\",\n
        \     \"252819F71C7FB7FBCB159BE337D37D3336D7FEB963724FDFB0ECB767\"\n    },\n
        \   { /* tv 65 */\n      \"NIST P-224\",\n      \"14\",\n      \"A53640C83DC208603DED83E4ECF758F24C357D7CF48088B2CE01E9FA\",\n
        \     \"D5814CD724199C4A5B974A43685FBF5B8BAC69459C9469BC8F23CCAF\"\n    },\n
        \   { /* tv 66 */\n      \"NIST P-224\",\n      \"15\",\n      \"BAA4D8635511A7D288AEBEEDD12CE529FF102C91F97F867E21916BF9\",\n
        \     \"979A5F4759F80F4FB4EC2E34F5566D595680A11735E7B61046127989\"\n    },\n
        \   { /* tv 67 */\n      \"NIST P-224\",\n      \"16\",\n      \"0B6EC4FE1777382404EF679997BA8D1CC5CD8E85349259F590C4C66D\",\n
        \     \"3399D464345906B11B00E363EF429221F2EC720D2F665D7DEAD5B482\"\n    },\n
        \   { /* tv 68 */\n      \"NIST P-224\",\n      \"17\",\n      \"B8357C3A6CEEF288310E17B8BFEFF9200846CA8C1942497C484403BC\",\n
        \     \"FF149EFA6606A6BD20EF7D1B06BD92F6904639DCE5174DB6CC554A26\"\n    },\n
        \   { /* tv 69 */\n      \"NIST P-224\",\n      \"18\",\n      \"C9FF61B040874C0568479216824A15EAB1A838A797D189746226E4CC\",\n
        \     \"EA98D60E5FFC9B8FCF999FAB1DF7E7EF7084F20DDB61BB045A6CE002\"\n    },\n
        \   { /* tv 70 */\n      \"NIST P-224\",\n      \"19\",\n      \"A1E81C04F30CE201C7C9ACE785ED44CC33B455A022F2ACDBC6CAE83C\",\n
        \     \"DCF1F6C3DB09C70ACC25391D492FE25B4A180BABD6CEA356C04719CD\"\n    },\n
        \   { /* tv 71 */\n      \"NIST P-224\",\n      \"20\",\n      \"FCC7F2B45DF1CD5A3C0C0731CA47A8AF75CFB0347E8354EEFE782455\",\n
        \     \"0D5D7110274CBA7CDEE90E1A8B0D394C376A5573DB6BE0BF2747F530\"\n    },\n
        \   { /* tv 72 */\n      \"NIST P-224\",\n      \"112233445566778899\",\n
        \     \"61F077C6F62ED802DAD7C2F38F5C67F2CC453601E61BD076BB46179E\",\n      \"2272F9E9F5933E70388EE652513443B5E289DD135DCC0D0299B225E4\"\n
        \   },\n    { /* tv 73 */\n      \"NIST P-224\",\n      \"112233445566778899112233445566778899\",\n
        \     \"029895F0AF496BFC62B6EF8D8A65C88C613949B03668AAB4F0429E35\",\n      \"3EA6E53F9A841F2019EC24BDE1A75677AA9B5902E61081C01064DE93\"\n
        \   },\n    { /* tv 74 */\n      \"NIST P-224\",\n      \"6950511619965839450988900688150712778015737983940691968051900319680\",\n
        \     \"AB689930BCAE4A4AA5F5CB085E823E8AE30FD365EB1DA4ABA9CF0379\",\n      \"3345A121BBD233548AF0D210654EB40BAB788A03666419BE6FBD34E7\"\n
        \   },\n    { /* tv 75 */\n      \"NIST P-224\",\n      \"13479972933410060327035789020509431695094902435494295338570602119423\",\n
        \     \"BDB6A8817C1F89DA1C2F3DD8E97FEB4494F2ED302A4CE2BC7F5F4025\",\n      \"4C7020D57C00411889462D77A5438BB4E97D177700BF7243A07F1680\"\n
        \   },\n    { /* tv 76 */\n      \"NIST P-224\",\n      \"13479971751745682581351455311314208093898607229429740618390390702079\",\n
        \     \"D58B61AA41C32DD5EBA462647DBA75C5D67C83606C0AF2BD928446A9\",\n      \"D24BA6A837BE0460DD107AE77725696D211446C5609B4595976B16BD\"\n
        \   },\n    { /* tv 77 */\n      \"NIST P-224\",\n      \"13479972931865328106486971546324465392952975980343228160962702868479\",\n
        \     \"DC9FA77978A005510980E929A1485F63716DF695D7A0C18BB518DF03\",\n      \"EDE2B016F2DDFFC2A8C015B134928275CE09E5661B7AB14CE0D1D403\"\n
        \   },\n    { /* tv 78 */\n      \"NIST P-224\",\n      \"11795773708834916026404142434151065506931607341523388140225443265536\",\n
        \     \"499D8B2829CFB879C901F7D85D357045EDAB55028824D0F05BA279BA\",\n      \"BF929537B06E4015919639D94F57838FA33FC3D952598DCDBB44D638\"\n
        \   },\n    { /* tv 79 */\n      \"NIST P-224\",\n      \"784254593043826236572847595991346435467177662189391577090\",\n
        \     \"8246C999137186632C5F9EDDF3B1B0E1764C5E8BD0E0D8A554B9CB77\",\n      \"E80ED8660BC1CB17AC7D845BE40A7A022D3306F116AE9F81FEA65947\"\n
        \   },\n    { /* tv 80 */\n      \"NIST P-224\",\n      \"13479767645505654746623887797783387853576174193480695826442858012671\",\n
        \     \"6670C20AFCCEAEA672C97F75E2E9DD5C8460E54BB38538EBB4BD30EB\",\n      \"F280D8008D07A4CAF54271F993527D46FF3FF46FD1190A3F1FAA4F74\"\n
        \   },\n    { /* tv 81 */\n      \"NIST P-224\",\n      \"205688069665150753842126177372015544874550518966168735589597183\",\n
        \     \"000ECA934247425CFD949B795CB5CE1EFF401550386E28D1A4C5A8EB\",\n      \"D4C01040DBA19628931BC8855370317C722CBD9CA6156985F1C2E9CE\"\n
        \   },\n    { /* tv 82 */\n      \"NIST P-224\",\n      \"13479966930919337728895168462090683249159702977113823384618282123295\",\n
        \     \"EF353BF5C73CD551B96D596FBC9A67F16D61DD9FE56AF19DE1FBA9CD\",\n      \"21771B9CDCE3E8430C09B3838BE70B48C21E15BC09EE1F2D7945B91F\"\n
        \   },\n    { /* tv 83 */\n      \"NIST P-224\",\n      \"50210731791415612487756441341851895584393717453129007497216\",\n
        \     \"4036052A3091EB481046AD3289C95D3AC905CA0023DE2C03ECD451CF\",\n      \"D768165A38A2B96F812586A9D59D4136035D9C853A5BF2E1C86A4993\"\n
        \   },\n    { /* tv 84 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368041\",\n
        \     \"FCC7F2B45DF1CD5A3C0C0731CA47A8AF75CFB0347E8354EEFE782455\",\n      \"F2A28EEFD8B345832116F1E574F2C6B2C895AA8C24941F40D8B80AD1\"\n
        \   },\n    { /* tv 85 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368042\",\n
        \     \"A1E81C04F30CE201C7C9ACE785ED44CC33B455A022F2ACDBC6CAE83C\",\n      \"230E093C24F638F533DAC6E2B6D01DA3B5E7F45429315CA93FB8E634\"\n
        \   },\n    { /* tv 86 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368043\",\n
        \     \"C9FF61B040874C0568479216824A15EAB1A838A797D189746226E4CC\",\n      \"156729F1A003647030666054E208180F8F7B0DF2249E44FBA5931FFF\"\n
        \   },\n    { /* tv 87 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368044\",\n
        \     \"B8357C3A6CEEF288310E17B8BFEFF9200846CA8C1942497C484403BC\",\n      \"00EB610599F95942DF1082E4F9426D086FB9C6231AE8B24933AAB5DB\"\n
        \   },\n    { /* tv 88 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368045\",\n
        \     \"0B6EC4FE1777382404EF679997BA8D1CC5CD8E85349259F590C4C66D\",\n      \"CC662B9BCBA6F94EE4FF1C9C10BD6DDD0D138DF2D099A282152A4B7F\"\n
        \   },\n    { /* tv 89 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368046\",\n
        \     \"BAA4D8635511A7D288AEBEEDD12CE529FF102C91F97F867E21916BF9\",\n      \"6865A0B8A607F0B04B13D1CB0AA992A5A97F5EE8CA1849EFB9ED8678\"\n
        \   },\n    { /* tv 90 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368047\",\n
        \     \"A53640C83DC208603DED83E4ECF758F24C357D7CF48088B2CE01E9FA\",\n      \"2A7EB328DBE663B5A468B5BC97A040A3745396BA636B964370DC3352\"\n
        \   },\n    { /* tv 91 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368048\",\n
        \     \"34E8E17A430E43289793C383FAC9774247B40E9EBD3366981FCFAECA\",\n      \"DAD7E608E380480434EA641CC82C82CBC92801469C8DB0204F13489A\"\n
        \   },\n    { /* tv 92 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368049\",\n
        \     \"6E31EE1DC137F81B056752E4DEAB1443A481033E9B4C93A3044F4F7A\",\n      \"DF82220FC7A4021549165325725F94C3410DDB56C54E161FC9EF62EE\"\n
        \   },\n    { /* tv 93 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368050\",\n
        \     \"EF53B6294ACA431F0F3C22DC82EB9050324F1D88D377E716448E507C\",\n      \"DF4AEFFFBF6D1699C930481CD102127C9A3D992048AB05929B6E5927\"\n
        \   },\n    { /* tv 94 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368051\",\n
        \     \"AEA9E17A306517EB89152AA7096D2C381EC813C51AA880E7BEE2C0FD\",\n      \"C644CF154CC81F5ADE49345E541B4D4B5C1ADB3EB5C01C14EE949AA2\"\n
        \   },\n    { /* tv 95 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368052\",\n
        \     \"2FDCCCFEE720A77EF6CB3BFBB447F9383117E3DAA4A07E36ED15F78D\",\n      \"C8E8CD1B0BE40B0877CFCA1958603122F1E6914F84B7E8E968AE8B9E\"\n
        \   },\n    { /* tv 96 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368053\",\n
        \     \"858E6F9CC6C12C31F5DF124AA77767B05C8BC021BD683D2B55571550\",\n      \"FB9232C15A3BC7673A3A03B0253824C53D0FD1411B1CABE2E187FB87\"\n
        \   },\n    { /* tv 97 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368054\",\n
        \     \"DB2F6BE630E246A5CF7D99B85194B123D487E2D466B94B24A03C3E28\",\n      \"F0C5CFF7AB680D09EE11DAE84E9C1072AC48EA2E744B1B7F72FD469E\"\n
        \   },\n    { /* tv 98 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368055\",\n
        \     \"1F2483F82572251FCA975FEA40DB821DF8AD82A3C002EE6C57112408\",\n      \"76050F3348AF2664AAC3A8B05281304EBC7A7914C6AD50A4B4EAC383\"\n
        \   },\n    { /* tv 99 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368056\",\n
        \     \"31C49AE75BCE7807CDFF22055D94EE9021FEDBB5AB51C57526F011AA\",\n      \"D817400E8BA9CA13A45F360E3D121EAAEB39AF82D6001C8186F5F866\"\n
        \   },\n    { /* tv 100 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368057\",\n
        \     \"AE99FEEBB5D26945B54892092A8AEE02912930FA41CD114E40447301\",\n      \"FB7DA7F5F13A43B81774373C879CD32D6934C05FA758EEB14FCFAB38\"\n
        \   },\n    { /* tv 101 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368058\",\n
        \     \"DF1B1D66A551D0D31EFF822558B9D2CC75C2180279FE0D08FD896D04\",\n      \"5C080FC3522F41BBB3F55A97CFECF21F882CE8CBB1E50CA6E67E56DC\"\n
        \   },\n    { /* tv 102 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368059\",\n
        \     \"706A46DC76DCB76798E60E6D89474788D16DC18032D268FD1A704FA6\",\n      \"E3D4895843DA188FD58FB0567976D7B50359D6B78530C8F62D1B1746\"\n
        \   },\n    { /* tv 103 */\n      \"NIST P-224\",\n      \"26959946667150639794667015087019625940457807714424391721682722368060\",\n
        \     \"B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21\",\n      \"42C89C774A08DC04B3DD201932BC8A5EA5F8B89BBB2A7E667AFF81CD\"\n
        \   },\n    { /* tv 104 */\n      \"NIST P-256\",\n      \"1\",\n      \"6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296\",\n
        \     \"4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5\"\n
        \   },\n    { /* tv 105 */\n      \"NIST P-256\",\n      \"2\",\n      \"7CF27B188D034F7E8A52380304B51AC3C08969E277F21B35A60B48FC47669978\",\n
        \     \"07775510DB8ED040293D9AC69F7430DBBA7DADE63CE982299E04B79D227873D1\"\n
        \   },\n    { /* tv 106 */\n      \"NIST P-256\",\n      \"3\",\n      \"5ECBE4D1A6330A44C8F7EF951D4BF165E6C6B721EFADA985FB41661BC6E7FD6C\",\n
        \     \"8734640C4998FF7E374B06CE1A64A2ECD82AB036384FB83D9A79B127A27D5032\"\n
        \   },\n    { /* tv 107 */\n      \"NIST P-256\",\n      \"4\",\n      \"E2534A3532D08FBBA02DDE659EE62BD0031FE2DB785596EF509302446B030852\",\n
        \     \"E0F1575A4C633CC719DFEE5FDA862D764EFC96C3F30EE0055C42C23F184ED8C6\"\n
        \   },\n    { /* tv 108 */\n      \"NIST P-256\",\n      \"5\",\n      \"51590B7A515140D2D784C85608668FDFEF8C82FD1F5BE52421554A0DC3D033ED\",\n
        \     \"E0C17DA8904A727D8AE1BF36BF8A79260D012F00D4D80888D1D0BB44FDA16DA4\"\n
        \   },\n    { /* tv 109 */\n      \"NIST P-256\",\n      \"6\",\n      \"B01A172A76A4602C92D3242CB897DDE3024C740DEBB215B4C6B0AAE93C2291A9\",\n
        \     \"E85C10743237DAD56FEC0E2DFBA703791C00F7701C7E16BDFD7C48538FC77FE2\"\n
        \   },\n    { /* tv 110 */\n      \"NIST P-256\",\n      \"7\",\n      \"8E533B6FA0BF7B4625BB30667C01FB607EF9F8B8A80FEF5B300628703187B2A3\",\n
        \     \"73EB1DBDE03318366D069F83A6F5900053C73633CB041B21C55E1A86C1F400B4\"\n
        \   },\n    { /* tv 111 */\n      \"NIST P-256\",\n      \"8\",\n      \"62D9779DBEE9B0534042742D3AB54CADC1D238980FCE97DBB4DD9DC1DB6FB393\",\n
        \     \"AD5ACCBD91E9D8244FF15D771167CEE0A2ED51F6BBE76A78DA540A6A0F09957E\"\n
        \   },\n    { /* tv 112 */\n      \"NIST P-256\",\n      \"9\",\n      \"EA68D7B6FEDF0B71878938D51D71F8729E0ACB8C2C6DF8B3D79E8A4B90949EE0\",\n
        \     \"2A2744C972C9FCE787014A964A8EA0C84D714FEAA4DE823FE85A224A4DD048FA\"\n
        \   },\n    { /* tv 113 */\n      \"NIST P-256\",\n      \"10\",\n      \"CEF66D6B2A3A993E591214D1EA223FB545CA6C471C48306E4C36069404C5723F\",\n
        \     \"878662A229AAAE906E123CDD9D3B4C10590DED29FE751EEECA34BBAA44AF0773\"\n
        \   },\n    { /* tv 114 */\n      \"NIST P-256\",\n      \"11\",\n      \"3ED113B7883B4C590638379DB0C21CDA16742ED0255048BF433391D374BC21D1\",\n
        \     \"9099209ACCC4C8A224C843AFA4F4C68A090D04DA5E9889DAE2F8EEFCE82A3740\"\n
        \   },\n    { /* tv 115 */\n      \"NIST P-256\",\n      \"12\",\n      \"741DD5BDA817D95E4626537320E5D55179983028B2F82C99D500C5EE8624E3C4\",\n
        \     \"0770B46A9C385FDC567383554887B1548EEB912C35BA5CA71995FF22CD4481D3\"\n
        \   },\n    { /* tv 116 */\n      \"NIST P-256\",\n      \"13\",\n      \"177C837AE0AC495A61805DF2D85EE2FC792E284B65EAD58A98E15D9D46072C01\",\n
        \     \"63BB58CD4EBEA558A24091ADB40F4E7226EE14C3A1FB4DF39C43BBE2EFC7BFD8\"\n
        \   },\n    { /* tv 117 */\n      \"NIST P-256\",\n      \"14\",\n      \"54E77A001C3862B97A76647F4336DF3CF126ACBE7A069C5E5709277324D2920B\",\n
        \     \"F599F1BB29F4317542121F8C05A2E7C37171EA77735090081BA7C82F60D0B375\"\n
        \   },\n    { /* tv 118 */\n      \"NIST P-256\",\n      \"15\",\n      \"F0454DC6971ABAE7ADFB378999888265AE03AF92DE3A0EF163668C63E59B9D5F\",\n
        \     \"B5B93EE3592E2D1F4E6594E51F9643E62A3B21CE75B5FA3F47E59CDE0D034F36\"\n
        \   },\n    { /* tv 119 */\n      \"NIST P-256\",\n      \"16\",\n      \"76A94D138A6B41858B821C629836315FCD28392EFF6CA038A5EB4787E1277C6E\",\n
        \     \"A985FE61341F260E6CB0A1B5E11E87208599A0040FC78BAA0E9DDD724B8C5110\"\n
        \   },\n    { /* tv 120 */\n      \"NIST P-256\",\n      \"17\",\n      \"47776904C0F1CC3A9C0984B66F75301A5FA68678F0D64AF8BA1ABCE34738A73E\",\n
        \     \"AA005EE6B5B957286231856577648E8381B2804428D5733F32F787FF71F1FCDC\"\n
        \   },\n    { /* tv 121 */\n      \"NIST P-256\",\n      \"18\",\n      \"1057E0AB5780F470DEFC9378D1C7C87437BB4C6F9EA55C63D936266DBD781FDA\",\n
        \     \"F6F1645A15CBE5DC9FA9B7DFD96EE5A7DCC11B5C5EF4F1F78D83B3393C6A45A2\"\n
        \   },\n    { /* tv 122 */\n      \"NIST P-256\",\n      \"19\",\n      \"CB6D2861102C0C25CE39B7C17108C507782C452257884895C1FC7B74AB03ED83\",\n
        \     \"58D7614B24D9EF515C35E7100D6D6CE4A496716E30FA3E03E39150752BCECDAA\"\n
        \   },\n    { /* tv 123 */\n      \"NIST P-256\",\n      \"20\",\n      \"83A01A9378395BAB9BCD6A0AD03CC56D56E6B19250465A94A234DC4C6B28DA9A\",\n
        \     \"76E49B6DE2F73234AE6A5EB9D612B75C9F2202BB6923F54FF8240AAA86F640B8\"\n
        \   },\n    { /* tv 124 */\n      \"NIST P-256\",\n      \"112233445566778899\",\n
        \     \"339150844EC15234807FE862A86BE77977DBFB3AE3D96F4C22795513AEAAB82F\",\n
        \     \"B1C14DDFDC8EC1B2583F51E85A5EB3A155840F2034730E9B5ADA38B674336A21\"\n
        \   },\n    { /* tv 125 */\n      \"NIST P-256\",\n      \"112233445566778899112233445566778899\",\n
        \     \"1B7E046A076CC25E6D7FA5003F6729F665CC3241B5ADAB12B498CD32F2803264\",\n
        \     \"BFEA79BE2B666B073DB69A2A241ADAB0738FE9D2DD28B5604EB8C8CF097C457B\"\n
        \   },\n    { /* tv 126 */\n      \"NIST P-256\",\n      \"29852220098221261079183923314599206100666902414330245206392788703677\"\n
        \     \"545185283\",\n      \"9EACE8F4B071E677C5350B02F2BB2B384AAE89D58AA72CA97A170572E0FB222F\",\n
        \     \"1BBDAEC2430B09B93F7CB08678636CE12EAAFD58390699B5FD2F6E1188FC2A78\"\n
        \   },\n    { /* tv 127 */\n      \"NIST P-256\",\n      \"57896042899961394862005778464643882389978449576758748073725983489954\"\n
        \     \"366354431\",\n      \"878F22CC6DB6048D2B767268F22FFAD8E56AB8E2DC615F7BD89F1E350500DD8D\",\n
        \     \"714A5D7BB901C9C5853400D12341A892EF45D87FC553786756C4F0C9391D763E\"\n
        \   },\n    { /* tv 128 */\n      \"NIST P-256\",\n      \"17668453929457101515018891057290498829976600048248489159554196603666\"\n
        \     \"36031\",\n      \"659A379625AB122F2512B8DADA02C6348D53B54452DFF67AC7ACE4E8856295CA\",\n
        \     \"49D81AB97B648464D0B4A288BD7818FAB41A16426E943527C4FED8736C53D0F6\"\n
        \   },\n    { /* tv 129 */\n      \"NIST P-256\",\n      \"28948025760307534517734791687894775804466072615242963443097661355606\"\n
        \     \"862201087\",\n      \"CBCEAAA8A4DD44BBCE58E8DB7740A5510EC2CB7EA8DA8D8F036B3FB04CDA4DE4\",\n
        \     \"4BD7AA301A80D7F59FD983FEDBE59BB7B2863FE46494935E3745B360E32332FA\"\n
        \   },\n    { /* tv 130 */\n      \"NIST P-256\",\n      \"11307821046087054894481169596029064497322922462583843642447709583464\"\n
        \     \"5696384\",\n      \"F0C4A0576154FF3A33A3460D42EAED806E854DFA37125221D37935124BA462A4\",\n
        \     \"5B392FA964434D29EEC6C9DBC261CF116796864AA2FAADB984A2DF38D1AEF7A3\"\n
        \   },\n    { /* tv 131 */\n      \"NIST P-256\",\n      \"12078056106883488161242983286051341125085761470677906721917479268909\"\n
        \     \"056\",\n      \"5E6C8524B6369530B12C62D31EC53E0288173BD662BDF680B53A41ECBCAD00CC\",\n
        \     \"447FE742C2BFEF4D0DB14B5B83A2682309B5618E0064A94804E9282179FE089F\"\n
        \   },\n    { /* tv 132 */\n      \"NIST P-256\",\n      \"57782969857385448082319957860328652998540760998293976083718804450708\"\n
        \     \"503920639\",\n      \"03792E541BC209076A3D7920A915021ECD396A6EB5C3960024BE5575F3223484\",\n
        \     \"FC774AE092403101563B712F68170312304F20C80B40C06282063DB25F268DE4\"\n
        \   },\n    { /* tv 133 */\n      \"NIST P-256\",\n      \"57896017119460046759583662757090100341435943767777707906455551163257\"\n
        \     \"755533312\",\n      \"2379FF85AB693CDF901D6CE6F2473F39C04A2FE3DCD842CE7AAB0E002095BCF8\",\n
        \     \"F8B476530A634589D5129E46F322B02FBC610A703D80875EE70D7CE1877436A1\"\n
        \   },\n    { /* tv 134 */\n      \"NIST P-256\",\n      \"45231284837428728468128217101764741272643368423846421299930586483716\"\n
        \     \"0993279\",\n      \"C1E4072C529BF2F44DA769EFC934472848003B3AF2C0F5AA8F8DDBD53E12ED7C\",\n
        \     \"39A6EE77812BB37E8079CD01ED649D3830FCA46F718C1D3993E4A591824ABCDB\"\n
        \   },\n    { /* tv 135 */\n      \"NIST P-256\",\n      \"90457133917406513429363440794605400077474605586691772987667636755846\"\n
        \     \"9746684\",\n      \"34DFBC09404C21E250A9B40FA8772897AC63A094877DB65862B61BD1507B34F3\",\n
        \     \"CF6F8A876C6F99CEAEC87148F18C7E1E0DA6E165FFC8ED82ABB65955215F77D3\"\n
        \   },\n    { /* tv 136 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044349\",\n      \"83A01A9378395BAB9BCD6A0AD03CC56D56E6B19250465A94A234DC4C6B28DA9A\",\n
        \     \"891B64911D08CDCC5195A14629ED48A360DDFD4596DC0AB007DBF5557909BF47\"\n
        \   },\n    { /* tv 137 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044350\",\n      \"CB6D2861102C0C25CE39B7C17108C507782C452257884895C1FC7B74AB03ED83\",\n
        \     \"A7289EB3DB2610AFA3CA18EFF292931B5B698E92CF05C1FC1C6EAF8AD4313255\"\n
        \   },\n    { /* tv 138 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044351\",\n      \"1057E0AB5780F470DEFC9378D1C7C87437BB4C6F9EA55C63D936266DBD781FDA\",\n
        \     \"090E9BA4EA341A246056482026911A58233EE4A4A10B0E08727C4CC6C395BA5D\"\n
        \   },\n    { /* tv 139 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044352\",\n      \"47776904C0F1CC3A9C0984B66F75301A5FA68678F0D64AF8BA1ABCE34738A73E\",\n
        \     \"55FFA1184A46A8D89DCE7A9A889B717C7E4D7FBCD72A8CC0CD0878008E0E0323\"\n
        \   },\n    { /* tv 140 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044353\",\n      \"76A94D138A6B41858B821C629836315FCD28392EFF6CA038A5EB4787E1277C6E\",\n
        \     \"567A019DCBE0D9F2934F5E4A1EE178DF7A665FFCF0387455F162228DB473AEEF\"\n
        \   },\n    { /* tv 141 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044354\",\n      \"F0454DC6971ABAE7ADFB378999888265AE03AF92DE3A0EF163668C63E59B9D5F\",\n
        \     \"4A46C11BA6D1D2E1B19A6B1AE069BC19D5C4DE328A4A05C0B81A6321F2FCB0C9\"\n
        \   },\n    { /* tv 142 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044355\",\n      \"54E77A001C3862B97A76647F4336DF3CF126ACBE7A069C5E5709277324D2920B\",\n
        \     \"0A660E43D60BCE8BBDEDE073FA5D183C8E8E15898CAF6FF7E45837D09F2F4C8A\"\n
        \   },\n    { /* tv 143 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044356\",\n      \"177C837AE0AC495A61805DF2D85EE2FC792E284B65EAD58A98E15D9D46072C01\",\n
        \     \"9C44A731B1415AA85DBF6E524BF0B18DD911EB3D5E04B20C63BC441D10384027\"\n
        \   },\n    { /* tv 144 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044357\",\n      \"741DD5BDA817D95E4626537320E5D55179983028B2F82C99D500C5EE8624E3C4\",\n
        \     \"F88F4B9463C7A024A98C7CAAB7784EAB71146ED4CA45A358E66A00DD32BB7E2C\"\n
        \   },\n    { /* tv 145 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044358\",\n      \"3ED113B7883B4C590638379DB0C21CDA16742ED0255048BF433391D374BC21D1\",\n
        \     \"6F66DF64333B375EDB37BC505B0B3975F6F2FB26A16776251D07110317D5C8BF\"\n
        \   },\n    { /* tv 146 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044359\",\n      \"CEF66D6B2A3A993E591214D1EA223FB545CA6C471C48306E4C36069404C5723F\",\n
        \     \"78799D5CD655517091EDC32262C4B3EFA6F212D7018AE11135CB4455BB50F88C\"\n
        \   },\n    { /* tv 147 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044360\",\n      \"EA68D7B6FEDF0B71878938D51D71F8729E0ACB8C2C6DF8B3D79E8A4B90949EE0\",\n
        \     \"D5D8BB358D36031978FEB569B5715F37B28EB0165B217DC017A5DDB5B22FB705\"\n
        \   },\n    { /* tv 148 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044361\",\n      \"62D9779DBEE9B0534042742D3AB54CADC1D238980FCE97DBB4DD9DC1DB6FB393\",\n
        \     \"52A533416E1627DCB00EA288EE98311F5D12AE0A4418958725ABF595F0F66A81\"\n
        \   },\n    { /* tv 149 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044362\",\n      \"8E533B6FA0BF7B4625BB30667C01FB607EF9F8B8A80FEF5B300628703187B2A3\",\n
        \     \"8C14E2411FCCE7CA92F9607C590A6FFFAC38C9CD34FBE4DE3AA1E5793E0BFF4B\"\n
        \   },\n    { /* tv 150 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044363\",\n      \"B01A172A76A4602C92D3242CB897DDE3024C740DEBB215B4C6B0AAE93C2291A9\",\n
        \     \"17A3EF8ACDC8252B9013F1D20458FC86E3FF0890E381E9420283B7AC7038801D\"\n
        \   },\n    { /* tv 151 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044364\",\n      \"51590B7A515140D2D784C85608668FDFEF8C82FD1F5BE52421554A0DC3D033ED\",\n
        \     \"1F3E82566FB58D83751E40C9407586D9F2FED1002B27F7772E2F44BB025E925B\"\n
        \   },\n    { /* tv 152 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044365\",\n      \"E2534A3532D08FBBA02DDE659EE62BD0031FE2DB785596EF509302446B030852\",\n
        \     \"1F0EA8A4B39CC339E62011A02579D289B103693D0CF11FFAA3BD3DC0E7B12739\"\n
        \   },\n    { /* tv 153 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044366\",\n      \"5ECBE4D1A6330A44C8F7EF951D4BF165E6C6B721EFADA985FB41661BC6E7FD6C\",\n
        \     \"78CB9BF2B6670082C8B4F931E59B5D1327D54FCAC7B047C265864ED85D82AFCD\"\n
        \   },\n    { /* tv 154 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044367\",\n      \"7CF27B188D034F7E8A52380304B51AC3C08969E277F21B35A60B48FC47669978\",\n
        \     \"F888AAEE24712FC0D6C26539608BCF244582521AC3167DD661FB4862DD878C2E\"\n
        \   },\n    { /* tv 155 */\n      \"NIST P-256\",\n      \"11579208921035624876269744694940757352999695522413576034242225906106\"\n
        \     \"8512044368\",\n      \"6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296\",\n
        \     \"B01CBD1C01E58065711814B583F061E9D431CCA994CEA1313449BF97C840AE0A\"\n
        \   },\n    { /* tv 156 */\n      \"NIST P-384\",\n      \"1\",\n      \"AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502\"\n
        \     \"F25DBF55296C3A545E3872760AB7\",\n      \"3617DE4A96262C6F5D9E98BF9292DC29F8F41DBD289A147CE9DA3113B5F0B8C00A60\"\n
        \     \"B1CE1D7E819D7A431D7C90EA0E5F\"\n    },\n    { /* tv 157 */\n      \"NIST
        P-384\",\n      \"2\",\n      \"08D999057BA3D2D969260045C55B97F089025959A6F434D651D207D19FB96E9E4FE0\"\n
        \     \"E86EBE0E64F85B96A9C75295DF61\",\n      \"8E80F1FA5B1B3CEDB7BFE8DFFD6DBA74B275D875BC6CC43E904E505F256AB4255FFD\"\n
        \     \"43E94D39E22D61501E700A940E80\"\n    },\n    { /* tv 158 */\n      \"NIST
        P-384\",\n      \"3\",\n      \"077A41D4606FFA1464793C7E5FDC7D98CB9D3910202DCD06BEA4F240D3566DA6B408\"\n
        \     \"BBAE5026580D02D7E5C70500C831\",\n      \"C995F7CA0B0C42837D0BBE9602A9FC998520B41C85115AA5F7684C0EDC111EACC24A\"\n
        \     \"BD6BE4B5D298B65F28600A2F1DF1\"\n    },\n    { /* tv 159 */\n      \"NIST
        P-384\",\n      \"4\",\n      \"138251CD52AC9298C1C8AAD977321DEB97E709BD0B4CA0ACA55DC8AD51DCFC9D1589\"\n
        \     \"A1597E3A5120E1EFD631C63E1835\",\n      \"CACAE29869A62E1631E8A28181AB56616DC45D918ABC09F3AB0E63CF792AA4DCED73\"\n
        \     \"87BE37BBA569549F1C02B270ED67\"\n    },\n    { /* tv 160 */\n      \"NIST
        P-384\",\n      \"5\",\n      \"11DE24A2C251C777573CAC5EA025E467F208E51DBFF98FC54F6661CBE56583B03788\"\n
        \     \"2F4A1CA297E60ABCDBC3836D84BC\",\n      \"8FA696C77440F92D0F5837E90A00E7C5284B447754D5DEE88C986533B6901AEB3177\"\n
        \     \"686D0AE8FB33184414ABE6C1713A\"\n    },\n    { /* tv 161 */\n      \"NIST
        P-384\",\n      \"6\",\n      \"627BE1ACD064D2B2226FE0D26F2D15D3C33EBCBB7F0F5DA51CBD41F2625738302131\"\n
        \     \"7D7202FF30E50937F0854E35C5DF\",\n      \"09766A4CB3F8B1C21BE6DDA6C14F1575B2C95352644F774C99864F613715441604C4\"\n
        \     \"5B8D84E165311733A408D3F0F934\"\n    },\n    { /* tv 162 */\n      \"NIST
        P-384\",\n      \"7\",\n      \"283C1D7365CE4788F29F8EBF234EDFFEAD6FE997FBEA5FFA2D58CC9DFA7B1C508B05\"\n
        \     \"526F55B9EBB2040F05B48FB6D0E1\",\n      \"9475C99061E41B88BA52EFDB8C1690471A61D867ED799729D9C92CD01DBD225630D8\"\n
        \     \"4EDE32A78F9E64664CDAC512EF8C\"\n    },\n    { /* tv 163 */\n      \"NIST
        P-384\",\n      \"8\",\n      \"1692778EA596E0BE75114297A6FA383445BF227FBE58190A900C3C73256F11FB5A32\"\n
        \     \"58D6F403D5ECE6E9B269D822C87D\",\n      \"DCD2365700D4106A835388BA3DB8FD0E22554ADC6D521CD4BD1C30C2EC0EEC196BAD\"\n
        \     \"E1E9CDD1708D6F6ABFA4022B0AD2\"\n    },\n    { /* tv 164 */\n      \"NIST
        P-384\",\n      \"9\",\n      \"8F0A39A4049BCB3EF1BF29B8B025B78F2216F7291E6FD3BAC6CB1EE285FB6E21C388\"\n
        \     \"528BFEE2B9535C55E4461079118B\",\n      \"62C77E1438B601D6452C4A5322C3A9799A9B3D7CA3C400C6B7678854AED9B3029E74\"\n
        \     \"3EFEDFD51B68262DA4F9AC664AF8\"\n    },\n    { /* tv 165 */\n      \"NIST
        P-384\",\n      \"10\",\n      \"A669C5563BD67EEC678D29D6EF4FDE864F372D90B79B9E88931D5C29291238CCED8E\"\n
        \     \"85AB507BF91AA9CB2D13186658FB\",\n      \"A988B72AE7C1279F22D9083DB5F0ECDDF70119550C183C31C502DF78C3B705A8296D\"\n
        \     \"8195248288D997784F6AB73A21DD\"\n    },\n    { /* tv 166 */\n      \"NIST
        P-384\",\n      \"11\",\n      \"099056E27DA7B998DA1EEEC2904816C57FE935ED5837C37456C9FD14892D3F8C4749\"\n
        \     \"B66E3AFB81D626356F3B55B4DDD8\",\n      \"2E4C0C234E30AB96688505544AC5E0396FC4EED8DFC363FD43FF93F41B52A3255466\"\n
        \     \"D51263AAFF357D5DBA8138C5E0BB\"\n    },\n    { /* tv 167 */\n      \"NIST
        P-384\",\n      \"12\",\n      \"952A7A349BD49289AB3AC421DCF683D08C2ED5E41F6D0E21648AF2691A481406DA4A\"\n
        \     \"5E22DA817CB466DA2EA77D2A7022\",\n      \"A0320FAF84B5BC0563052DEAE6F66F2E09FB8036CE18A0EBB9028B096196B50D031A\"\n
        \     \"A64589743E229EF6BACCE21BD16E\"\n    },\n    { /* tv 168 */\n      \"NIST
        P-384\",\n      \"13\",\n      \"A567BA97B67AEA5BAFDAF5002FFCC6AB9632BFF9F01F873F6267BCD1F0F11C139EE5\"\n
        \     \"F441ABD99F1BAAF1CA1E3B5CBCE7\",\n      \"DE1B38B3989F3318644E4147AF164ECC5185595046932EC086329BE057857D66776B\"\n
        \     \"CB8272218A7D6423A12736F429CC\"\n    },\n    { /* tv 169 */\n      \"NIST
        P-384\",\n      \"14\",\n      \"E8C8F94D44FBC2396BBEAC481B89D2B0877B1DFFD23E7DC95DE541EB651CCA2C41AB\"\n
        \     \"A24DBC02DE6637209ACCF0F59EA0\",\n      \"891AE44356FC8AE0932BCBF6DE52C8A933B86191E7728D79C8319413A09D0F48FC46\"\n
        \     \"8BA05509DE22D7EE5C9E1B67B888\"\n    },\n    { /* tv 170 */\n      \"NIST
        P-384\",\n      \"15\",\n      \"B3D13FC8B32B01058CC15C11D813525522A94156FFF01C205B21F9F7DA7C4E9CA849\"\n
        \     \"557A10B6383B4B88701A9606860B\",\n      \"152919E7DF9162A61B049B2536164B1BEEBAC4A11D749AF484D1114373DFBFD9838D\"\n
        \     \"24F8B284AF50985D588D33F7BD62\"\n    },\n    { /* tv 171 */\n      \"NIST
        P-384\",\n      \"16\",\n      \"D5D89C3B5282369C5FBD88E2B231511A6B80DFF0E5152CF6A464FA9428A8583BAC8E\"\n
        \     \"BC773D157811A462B892401DAFCF\",\n      \"D815229DE12906D241816D5E9A9448F1D41D4FC40E2A3BDB9CABA57E440A7ABAD121\"\n
        \     \"0CB8F49BF2236822B755EBAB3673\"\n    },\n    { /* tv 172 */\n      \"NIST
        P-384\",\n      \"17\",\n      \"4099952208B4889600A5EBBCB13E1A32692BEFB0733B41E6DCC614E42E5805F81701\"\n
        \     \"2A991AF1F486CAF3A9ADD9FFCC03\",\n      \"5ECF94777833059839474594AF603598163AD3F8008AD0CD9B797D277F2388B304DA\"\n
        \     \"4D2FAA9680ECFA650EF5E23B09A0\"\n    },\n    { /* tv 173 */\n      \"NIST
        P-384\",\n      \"18\",\n      \"DFB1FE3A40F7AC9B64C41D39360A7423828B97CB088A4903315E402A7089FA0F8B6C\"\n
        \     \"2355169CC9C99DFB44692A9B93DD\",\n      \"453ACA1243B5EC6B423A68A25587E1613A634C1C42D2EE7E6C57F449A1C91DC89168\"\n
        \     \"B7036EC0A7F37A366185233EC522\"\n    },\n    { /* tv 174 */\n      \"NIST
        P-384\",\n      \"19\",\n      \"8D481DAB912BC8AB16858A211D750B77E07DBECCA86CD9B012390B430467AABF59C8\"\n
        \     \"651060801C0E9599E68713F5D41B\",\n      \"A1592FF0121460857BE99F2A60669050B2291B68A1039AA0594B32FD7ADC0E8C11FF\"\n
        \     \"BA5608004E646995B07E75E52245\"\n    },\n    { /* tv 175 */\n      \"NIST
        P-384\",\n      \"20\",\n      \"605508EC02C534BCEEE9484C86086D2139849E2B11C1A9CA1E2808DEC2EAF161AC8A\"\n
        \     \"105D70D4F85C50599BE5800A623F\",\n      \"5158EE87962AC6B81F00A103B8543A07381B7639A3A65F1353AEF11B733106DDE92E\"\n
        \     \"99B78DE367B48E238C38DAD8EEDD\"\n    },\n    { /* tv 176 */\n      \"NIST
        P-384\",\n      \"112233445566778899\",\n      \"A499EFE48839BC3ABCD1C5CEDBDD51904F9514DB44F4686DB918983B0C9DC3AEE05A\"\n
        \     \"88B72433E9515F91A329F5F4FA60\",\n      \"3B7CA28EF31F809C2F1BA24AAED847D0F8B406A4B8968542DE139DB5828CA410E615\"\n
        \     \"D1182E25B91B1131E230B727D36A\"\n    },\n    { /* tv 177 */\n      \"NIST
        P-384\",\n      \"112233445566778899112233445566778899\",\n      \"90A0B1CAC601676B083F21E07BC7090A3390FE1B9C7F61D842D27FA315FB38D83667\"\n
        \     \"A11A71438773E483F2A114836B24\",\n      \"3197D3C6123F0D6CD65D5F0DE106FEF36656CB16DC7CD1A6817EB1D51510135A8F49\"\n
        \     \"2F72665CFD1053F75ED03A7D04C9\"\n    },\n    { /* tv 178 */\n      \"NIST
        P-384\",\n      \"10158184112867540819754776755819761756724522948540419979637868435924\"\n
        \     \"061464745859402573149498125806098880003248619520\",\n      \"F2A066BD332DC59BBC3D01DA1B124C687D8BB44611186422DE94C1DA4ECF150E664D\"\n
        \     \"353CCDB5CB2652685F8EB4D2CD49\",\n      \"D6ED0BF75FDD8E53D87765FA746835B673881D6D1907163A2C43990D75B454294F94\"\n
        \     \"2EC571AD5AAE1806CAF2BB8E9A4A\"\n    },\n    { /* tv 179 */\n      \"NIST
        P-384\",\n      \"98505015511059910282450526050569921398100949089127992541158476838813\"\n
        \     \"57749738726091734403950439157209401153690566655\",\n      \"5C7F9845D1C4AA44747F9137B6F9C39B36B26B8A62E8AF97290434D5F3B214F5A013\"\n
        \     \"1550ADB19058DC4C8780C4165C4A\",\n      \"712F7FCCC86F647E70DB8798228CB16344AF3D00B139B6F8502939C2A965AF0EB4E3\"\n
        \     \"9E2E16AB8F597B8D5630A50C9D85\"\n    },\n    { /* tv 180 */\n      \"NIST
        P-384\",\n      \"98505027234057470973172711947633104824627514551856996305716616579463\"\n
        \     \"08788426092983270628740691202018691293898608608\",\n      \"DD5838F7EC3B8ACF1BECFD746F8B668C577107E93548ED93ED0D254C112E76B10F05\"\n
        \     \"3109EF8428BFCD50D38C4C030C57\",\n      \"33244F479CDAC34F160D9E4CE2D19D2FF0E3305B5BF0EEF29E91E9DE6E28F678C61B\"\n
        \     \"773AA7E3C03740E1A49D1AA2493C\"\n    },\n    { /* tv 181 */\n      \"NIST
        P-384\",\n      \"11461893718178329909476114004508894060702157352553702808117365878450\"\n
        \     \"16396640969656447803207438173695115264\",\n      \"CB8ED893530BFBA04B4CA655923AAAD109A62BC8411D5925316C32D33602459C3305\"\n
        \     \"7A1FBCB5F70AEB295D90F9165FBC\",\n      \"426AEE3E91B08420F9B357B66D5AFCBCF3956590BF5564DBF9086042EB880493D19D\"\n
        \     \"A39AAA6436C6B5FC66CE5596B43F\"\n    },\n    { /* tv 182 */\n      \"NIST
        P-384\",\n      \"96193414382170976418653902971897088589380179864261526226395001797746\"\n
        \     \"24579127744608993294698873437325090751520764\",\n      \"67F714012B6B070182122DDD435CC1C2262A1AB88939BC6A2906CB2B4137C5E82B45\"\n
        \     \"82160F6403CAB887ACDF5786A268\",\n      \"90E31CF398CE2F8C5897C7380BF541075D1B4D3CB70547262B7095731252F181AC05\"\n
        \     \"97C66AF8311C7780DB39DEC0BD32\"\n    },\n    { /* tv 183 */\n      \"NIST
        P-384\",\n      \"12313079966238337423874003523801725660779274151368132827356419183955\"\n
        \     \"85376659282194317590461518639141730493780722175\",\n      \"55A79DF7B53A99D31462C7E1A5ED5623970715BB1021098CB973A7520CBD6365E613\"\n
        \     \"E4B2467486FB37E86E01CEE09B8F\",\n      \"B95AEB71693189911661B709A886A1867F056A0EFE401EE11C06030E46F7A87731DA\"\n
        \     \"4575863178012208707DD666727C\"\n    },\n    { /* tv 184 */\n      \"NIST
        P-384\",\n      \"58711883885468380094290672250481034308669902145190694600327412897305\"\n
        \     \"8942197377013128840514404789143516741631\",\n      \"9539A968CF819A0E52E10EEA3BACA1B6480D7E4DF69BC07002C568569047110EE4FE\"\n
        \     \"72FCA423FDD5179D6E0E19C44844\",\n      \"A7728F37A0AE0DF2716061900D83A4DA149144129F89A214A8260464BAB609BB322E\"\n
        \     \"4E67DE5E4C4C6CB8D25983EC19B0\"\n    },\n    { /* tv 185 */\n      \"NIST
        P-384\",\n      \"15391407753067173966379507087689476645146601937464415054145255714789\"\n
        \     \"0542143280855693795882295846834387672681660416\",\n      \"933FC13276672AB360D909161CD02D830B1628935DF0D800C6ED602C59D575A86A8A\"\n
        \     \"97E3A2D697E3ED06BE741C0097D6\",\n      \"F35296BD7A6B4C6C025ED6D84338CCCC7522A45C5D4FBDB1442556CAEFB598128FA1\"\n
        \     \"88793ADA510EB5F44E90A4E4BEF1\"\n    },\n    { /* tv 186 */\n      \"NIST
        P-384\",\n      \"75148784606135150476268171850082176256856776750560539466196504390587\"\n
        \     \"921789283134009866871754361028131485122560\",\n      \"0CE31E1C4A937071E6EBACA026A93D783848BCC0C1585DAF639518125FCD1F1629D6\"\n
        \     \"3041ABFB11FFC8F03FA8B6FCF6BF\",\n      \"A69EA55BE4BEAB2D5224050FEBFFBDFCFD614624C3B4F228909EB80012F003756D1C\"\n
        \     \"377E52F04FA539237F24DD080E2E\"\n    },\n    { /* tv 187 */\n      \"NIST
        P-384\",\n      \"19691383761310193665095292424754807745686799029814707849273381514021\"\n
        \     \"788371252213000473497648851202400395528761229312\",\n      \"6842CFE3589AC268818291F31D44177A9168DCBC19F321ED66D81ECF59E31B54CCA0\"\n
        \     \"DDFD4C4136780171748D69A91C54\",\n      \"E3A5ECD5AC725F13DBC631F358C6E817EDCF3A613B83832741A9DB591A0BAE767FC7\"\n
        \     \"14F70C2E7EA891E4312047DECCC0\"\n    },\n    { /* tv 188 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942623\",\n      \"605508EC02C534BCEEE9484C86086D2139849E2B11C1A9CA1E2808DEC2EAF161AC8A\"\n
        \     \"105D70D4F85C50599BE5800A623F\",\n      \"AEA7117869D53947E0FF5EFC47ABC5F8C7E489C65C59A0ECAC510EE48CCEF92116D1\"\n
        \     \"6647721C984B71DC73C825271122\"\n    },\n    { /* tv 189 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942624\",\n      \"8D481DAB912BC8AB16858A211D750B77E07DBECCA86CD9B012390B430467AABF59C8\"\n
        \     \"651060801C0E9599E68713F5D41B\",\n      \"5EA6D00FEDEB9F7A841660D59F996FAF4DD6E4975EFC655FA6B4CD028523F172EE00\"\n
        \     \"45A8F7FFB19B966A4F828A1ADDBA\"\n    },\n    { /* tv 190 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942625\",\n      \"DFB1FE3A40F7AC9B64C41D39360A7423828B97CB088A4903315E402A7089FA0F8B6C\"\n
        \     \"2355169CC9C99DFB44692A9B93DD\",\n      \"BAC535EDBC4A1394BDC5975DAA781E9EC59CB3E3BD2D118193A80BB65E36E2366E97\"\n
        \     \"48FB913F580C85C99E7BDCC13ADD\"\n    },\n    { /* tv 191 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942626\",\n      \"4099952208B4889600A5EBBCB13E1A32692BEFB0733B41E6DCC614E42E5805F81701\"\n
        \     \"2A991AF1F486CAF3A9ADD9FFCC03\",\n      \"A1306B8887CCFA67C6B8BA6B509FCA67E9C52C07FF752F32648682D880DC774BFB25\"\n
        \     \"B2CF55697F13059AF10B1DC4F65F\"\n    },\n    { /* tv 192 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942627\",\n      \"D5D89C3B5282369C5FBD88E2B231511A6B80DFF0E5152CF6A464FA9428A8583BAC8E\"\n
        \     \"BC773D157811A462B892401DAFCF\",\n      \"27EADD621ED6F92DBE7E92A1656BB70E2BE2B03BF1D5C42463545A81BBF585442EDE\"\n
        \     \"F3460B640DDC97DD48AB1454C98C\"\n    },\n    { /* tv 193 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942628\",\n      \"B3D13FC8B32B01058CC15C11D813525522A94156FFF01C205B21F9F7DA7C4E9CA849\"\n
        \     \"557A10B6383B4B88701A9606860B\",\n      \"EAD6E618206E9D59E4FB64DAC9E9B4E411453B5EE28B650B7B2EEEBC8C2040257C72\"\n
        \     \"DB064D7B50AF67A2A773CC08429D\"\n    },\n    { /* tv 194 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942629\",\n      \"E8C8F94D44FBC2396BBEAC481B89D2B0877B1DFFD23E7DC95DE541EB651CCA2C41AB\"\n
        \     \"A24DBC02DE6637209ACCF0F59EA0\",\n      \"76E51BBCA903751F6CD4340921AD3756CC479E6E188D728637CE6BEC5F62F0B603B9\"\n
        \     \"745EAAF621DD2811A362E4984777\"\n    },\n    { /* tv 195 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942630\",\n      \"A567BA97B67AEA5BAFDAF5002FFCC6AB9632BFF9F01F873F6267BCD1F0F11C139EE5\"\n
        \     \"F441ABD99F1BAAF1CA1E3B5CBCE7\",\n      \"21E4C74C6760CCE79BB1BEB850E9B133AE7AA6AFB96CD13F79CD641FA87A82988894\"\n
        \     \"347C8DDE75829BDC5ED9C90BD633\"\n    },\n    { /* tv 196 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942631\",\n      \"952A7A349BD49289AB3AC421DCF683D08C2ED5E41F6D0E21648AF2691A481406DA4A\"\n
        \     \"5E22DA817CB466DA2EA77D2A7022\",\n      \"5FCDF0507B4A43FA9CFAD215190990D1F6047FC931E75F1446FD74F69E694AF1FCE5\"\n
        \     \"59B9768BC1DD610945341DE42E91\"\n    },\n    { /* tv 197 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942632\",\n      \"099056E27DA7B998DA1EEEC2904816C57FE935ED5837C37456C9FD14892D3F8C4749\"\n
        \     \"B66E3AFB81D626356F3B55B4DDD8\",\n      \"D1B3F3DCB1CF5469977AFAABB53A1FC6903B1127203C9C02BC006C0BE4AD5CD9AB99\"\n
        \     \"2AEC9C5500CA82A2457FC73A1F44\"\n    },\n    { /* tv 198 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942633\",\n      \"A669C5563BD67EEC678D29D6EF4FDE864F372D90B79B9E88931D5C29291238CCED8E\"\n
        \     \"85AB507BF91AA9CB2D13186658FB\",\n      \"567748D5183ED860DD26F7C24A0F132208FEE6AAF3E7C3CE3AFD20873C48FA56D692\"\n
        \     \"7E69DB7D77266887B09648C5DE22\"\n    },\n    { /* tv 199 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942634\",\n      \"8F0A39A4049BCB3EF1BF29B8B025B78F2216F7291E6FD3BAC6CB1EE285FB6E21C388\"\n
        \     \"528BFEE2B9535C55E4461079118B\",\n      \"9D3881EBC749FE29BAD3B5ACDD3C56866564C2835C3BFF39489877AB51264CFC618B\"\n
        \     \"C100202AE497D9D25B075399B507\"\n    },\n    { /* tv 200 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942635\",\n      \"1692778EA596E0BE75114297A6FA383445BF227FBE58190A900C3C73256F11FB5A32\"\n
        \     \"58D6F403D5ECE6E9B269D822C87D\",\n      \"232DC9A8FF2BEF957CAC7745C24702F1DDAAB52392ADE32B42E3CF3D13F113E59452\"\n
        \     \"1E15322E8F729095405CFDD4F52D\"\n    },\n    { /* tv 201 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942636\",\n      \"283C1D7365CE4788F29F8EBF234EDFFEAD6FE997FBEA5FFA2D58CC9DFA7B1C508B05\"\n
        \     \"526F55B9EBB2040F05B48FB6D0E1\",\n      \"6B8A366F9E1BE47745AD102473E96FB8E59E2798128668D62636D32FE242DDA8CF27\"\n
        \     \"B120CD5870619B99B3263AED1073\"\n    },\n    { /* tv 202 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942637\",\n      \"627BE1ACD064D2B2226FE0D26F2D15D3C33EBCBB7F0F5DA51CBD41F2625738302131\"\n
        \     \"7D7202FF30E50937F0854E35C5DF\",\n      \"F68995B34C074E3DE41922593EB0EA8A4D36ACAD9BB088B36679B09EC8EABBE8FB3B\"\n
        \     \"A4717B1E9ACEE8CC5BF82C0F06CB\"\n    },\n    { /* tv 203 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942638\",\n      \"11DE24A2C251C777573CAC5EA025E467F208E51DBFF98FC54F6661CBE56583B03788\"\n
        \     \"2F4A1CA297E60ABCDBC3836D84BC\",\n      \"705969388BBF06D2F0A7C816F5FF183AD7B4BB88AB2A211773679ACC496FE513CE88\"\n
        \     \"9791F51704CCE7BBEB55193E8EC5\"\n    },\n    { /* tv 204 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942639\",\n      \"138251CD52AC9298C1C8AAD977321DEB97E709BD0B4CA0ACA55DC8AD51DCFC9D1589\"\n
        \     \"A1597E3A5120E1EFD631C63E1835\",\n      \"35351D679659D1E9CE175D7E7E54A99E923BA26E7543F60C54F19C3086D55B22128C\"\n
        \     \"7840C8445A96AB60E3FE4D8F1298\"\n    },\n    { /* tv 205 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942640\",\n      \"077A41D4606FFA1464793C7E5FDC7D98CB9D3910202DCD06BEA4F240D3566DA6B408\"\n
        \     \"BBAE5026580D02D7E5C70500C831\",\n      \"366A0835F4F3BD7C82F44169FD5603667ADF4BE37AEEA55A0897B3F123EEE1523DB5\"\n
        \     \"42931B4A2D6749A0D7A0F5D0E20E\"\n    },\n    { /* tv 206 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942641\",\n      \"08D999057BA3D2D969260045C55B97F089025959A6F434D651D207D19FB96E9E4FE0\"\n
        \     \"E86EBE0E64F85B96A9C75295DF61\",\n      \"717F0E05A4E4C312484017200292458B4D8A278A43933BC16FB1AFA0DA954BD9A002\"\n
        \     \"BC15B2C61DD29EAFE190F56BF17F\"\n    },\n    { /* tv 207 */\n      \"NIST
        P-384\",\n      \"39402006196394479212279040100143613805079739270465446667946905279627\"\n
        \     \"659399113263569398956308152294913554433653942642\",\n      \"AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502\"\n
        \     \"F25DBF55296C3A545E3872760AB7\",\n      \"C9E821B569D9D390A26167406D6D23D6070BE242D765EB831625CEEC4A0F473EF59F\"\n
        \     \"4E30E2817E6285BCE2846F15F1A0\"\n    },\n    { /* tv 208 */\n      \"NIST
        P-521\",\n      \"1\",\n      \"00C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBA\"\n
        \     \"A14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66\",\n
        \     \"011839296A789A3BC0045C8A5FB42C7D1BD998F54449579B446817AFBD17273E662C\"\n
        \     \"97EE72995EF42640C550B9013FAD0761353C7086A272C24088BE94769FD16650\"\n
        \   },\n    { /* tv 209 */\n      \"NIST P-521\",\n      \"2\",\n      \"00433C219024277E7E682FCB288148C282747403279B1CCC06352C6E5505D769BE97\"\n
        \     \"B3B204DA6EF55507AA104A3A35C5AF41CF2FA364D60FD967F43E3933BA6D783D\",\n
        \     \"00F4BB8CC7F86DB26700A7F3ECEEEED3F0B5C6B5107C4DA97740AB21A29906C42DBB\"\n
        \     \"B3E377DE9F251F6B93937FA99A3248F4EAFCBE95EDC0F4F71BE356D661F41B02\"\n
        \   },\n    { /* tv 210 */\n      \"NIST P-521\",\n      \"3\",\n      \"01A73D352443DE29195DD91D6A64B5959479B52A6E5B123D9AB9E5AD7A112D7A8DD1\"\n
        \     \"AD3F164A3A4832051DA6BD16B59FE21BAEB490862C32EA05A5919D2EDE37AD7D\",\n
        \     \"013E9B03B97DFA62DDD9979F86C6CAB814F2F1557FA82A9D0317D2F8AB1FA355CEEC\"\n
        \     \"2E2DD4CF8DC575B02D5ACED1DEC3C70CF105C9BC93A590425F588CA1EE86C0E5\"\n
        \   },\n    { /* tv 211 */\n      \"NIST P-521\",\n      \"4\",\n      \"0035B5DF64AE2AC204C354B483487C9070CDC61C891C5FF39AFC06C5D55541D3CEAC\"\n
        \     \"8659E24AFE3D0750E8B88E9F078AF066A1D5025B08E5A5E2FBC87412871902F3\",\n
        \     \"0082096F84261279D2B673E0178EB0B4ABB65521AEF6E6E32E1B5AE63FE2F19907F2\"\n
        \     \"79F283E54BA385405224F750A95B85EEBB7FAEF04699D1D9E21F47FC346E4D0D\"\n
        \   },\n    { /* tv 212 */\n      \"NIST P-521\",\n      \"5\",\n      \"00652BF3C52927A432C73DBC3391C04EB0BF7A596EFDB53F0D24CF03DAB8F177ACE4\"\n
        \     \"383C0C6D5E3014237112FEAF137E79A329D7E1E6D8931738D5AB5096EC8F3078\",\n
        \     \"015BE6EF1BDD6601D6EC8A2B73114A8112911CD8FE8E872E0051EDD817C9A0347087\"\n
        \     \"BB6897C9072CF374311540211CF5FF79D1F007257354F7F8173CC3E8DEB090CB\"\n
        \   },\n    { /* tv 213 */\n      \"NIST P-521\",\n      \"6\",\n      \"01EE4569D6CDB59219532EFF34F94480D195623D30977FD71CF3981506ADE4AB0152\"\n
        \     \"5FBCCA16153F7394E0727A239531BE8C2F66E95657F380AE23731BEDF79206B9\",\n
        \     \"01DE0255AD0CC64F586AE2DD270546E3B1112AABBB73DA5A808E7240A926201A8A96\"\n
        \     \"CAB72D0E56648C9DF96C984DE274F2203DC7B8B55CA0DADE1EACCD7858D44F17\"\n
        \   },\n    { /* tv 214 */\n      \"NIST P-521\",\n      \"7\",\n      \"0056D5D1D99D5B7F6346EEB65FDA0B073A0C5F22E0E8F5483228F018D2C2F7114C5D\"\n
        \     \"8C308D0ABFC698D8C9A6DF30DCE3BBC46F953F50FDC2619A01CEAD882816ECD4\",\n
        \     \"003D2D1B7D9BAAA2A110D1D8317A39D68478B5C582D02824F0DD71DBD98A26CBDE55\"\n
        \     \"6BD0F293CDEC9E2B9523A34591CE1A5F9E76712A5DDEFC7B5C6B8BC90525251B\"\n
        \   },\n    { /* tv 215 */\n      \"NIST P-521\",\n      \"8\",\n      \"000822C40FB6301F7262A8348396B010E25BD4E29D8A9B003E0A8B8A3B05F826298F\"\n
        \     \"5BFEA5B8579F49F08B598C1BC8D79E1AB56289B5A6F4040586F9EA54AA78CE68\",\n
        \     \"016331911D5542FC482048FDAB6E78853B9A44F8EDE9E2C0715B5083DE610677A8F1\"\n
        \     \"89E9C0AA5911B4BFF0BA0DF065C578699F3BA940094713538AD642F11F17801C\"\n
        \   },\n    { /* tv 216 */\n      \"NIST P-521\",\n      \"9\",\n      \"01585389E359E1E21826A2F5BF157156D488ED34541B988746992C4AB145B8C6B665\"\n
        \     \"7429E1396134DA35F3C556DF725A318F4F50BABD85CD28661F45627967CBE207\",\n
        \     \"002A2E618C9A8AEDF39F0B55557A27AE938E3088A654EE1CEBB6C825BA263DDB446E\"\n
        \     \"0D69E5756057AC840FF56ECF4ABFD87D736C2AE928880F343AA0EA86B9AD2A4E\"\n
        \   },\n    { /* tv 217 */\n      \"NIST P-521\",\n      \"10\",\n      \"0190EB8F22BDA61F281DFCFE7BB6721EC4CD901D879AC09AC7C34A9246B11ADA8910\"\n
        \     \"A2C7C178FCC263299DAA4DA9842093F37C2E411F1A8E819A87FF09A04F2F3320\",\n
        \     \"01EB5D96B8491614BA9DBAEAB3B0CA2BA760C2EEB2144251B20BA97FD78A62EF62D2\"\n
        \     \"BF5349D44D9864BB536F6163DC57EBEFF3689639739FAA172954BC98135EC759\"\n
        \   },\n    { /* tv 218 */\n      \"NIST P-521\",\n      \"11\",\n      \"008A75841259FDEDFF546F1A39573B4315CFED5DC7ED7C17849543EF2C54F2991652\"\n
        \     \"F3DBC5332663DA1BD19B1AEBE3191085015C024FA4C9A902ECC0E02DDA0CDB9A\",\n
        \     \"0096FB303FCBBA2129849D0CA877054FB2293ADD566210BD0493ED2E95D4E0B9B82B\"\n
        \     \"1BC8A90E8B42A4AB3892331914A95336DCAC80E3F4819B5D58874F92CE48C808\"\n
        \   },\n    { /* tv 219 */\n      \"NIST P-521\",\n      \"12\",\n      \"01C0D9DCEC93F8221C5DE4FAE9749C7FDE1E81874157958457B6107CF7A5967713A6\"\n
        \     \"44E90B7C3FB81B31477FEE9A60E938013774C75C530928B17BE69571BF842D8C\",\n
        \     \"014048B5946A4927C0FE3CE1D103A682CA4763FE65AB71494DA45E404ABF6A17C097\"\n
        \     \"D6D18843D86FCDB6CC10A6F951B9B630884BA72224F5AE6C79E7B1A3281B17F0\"\n
        \   },\n    { /* tv 220 */\n      \"NIST P-521\",\n      \"13\",\n      \"007E3E98F984C396AD9CD7865D2B4924861A93F736CDE1B4C2384EEDD2BEAF5B8661\"\n
        \     \"32C45908E03C996A3550A5E79AB88EE94BEC3B00AB38EFF81887848D32FBCDA7\",\n
        \     \"0108EE58EB6D781FEDA91A1926DAA3ED5A08CED50A386D5421C69C7A67AE5C1E212A\"\n
        \     \"C1BD5D5838BC763F26DFDD351CBFBBC36199EAAF9117E9F7291A01FB022A71C9\"\n
        \   },\n    { /* tv 221 */\n      \"NIST P-521\",\n      \"14\",\n      \"01875BC7DC551B1B65A9E1B8CCFAAF84DED1958B401494116A2FD4FB0BABE0B31999\"\n
        \     \"74FC06C8B897222D79DF3E4B7BC744AA6767F6B812EFBF5D2C9E682DD3432D74\",\n
        \     \"005CA4923575DACB5BD2D66290BBABB4BDFB8470122B8E51826A0847CE9B86D7ED62\"\n
        \     \"D07781B1B4F3584C11E89BF1D133DC0D5B690F53A87C84BE41669F852700D54A\"\n
        \   },\n    { /* tv 222 */\n      \"NIST P-521\",\n      \"15\",\n      \"006B6AD89ABCB92465F041558FC546D4300FB8FBCC30B40A0852D697B532DF128E11\"\n
        \     \"B91CCE27DBD00FFE7875BD1C8FC0331D9B8D96981E3F92BDE9AFE337BCB8DB55\",\n
        \     \"01B468DA271571391D6A7CE64D2333EDBF63DF0496A9BAD20CBA4B62106997485ED5\"\n
        \     \"7E9062C899470A802148E2232C96C99246FD90CC446ABDD956343480A1475465\"\n
        \   },\n    { /* tv 223 */\n      \"NIST P-521\",\n      \"16\",\n      \"01D17D10D8A89C8AD05DDA97DA26AC743B0B2A87F66192FD3F3DD632F8D20B188A52\"\n
        \     \"943FF18861CA00A0E5965DA7985630DF0DBF5C8007DCDC533A6C508F81A8402F\",\n
        \     \"007A37343C582D77001FC714B18D3D3E69721335E4C3B800D50EC7CA30C94B6B82C1\"\n
        \     \"C182E1398DB547AA0B3075AC9D9988529E3004D28D18633352E272F89BC73ABE\"\n
        \   },\n    { /* tv 224 */\n      \"NIST P-521\",\n      \"17\",\n      \"01B00DDB707F130EDA13A0B874645923906A99EE9E269FA2B3B4D66524F269250858\"\n
        \     \"760A69E674FE0287DF4E799B5681380FF8C3042AF0D1A41076F817A853110AE0\",\n
        \     \"0085683F1D7DB16576DBC111D4E4AEDDD106B799534CF69910A98D68AC2B22A1323D\"\n
        \     \"F9DA564EF6DD0BF0D2F6757F16ADF420E6905594C2B755F535B9CB7C70E64647\"\n
        \   },\n    { /* tv 225 */\n      \"NIST P-521\",\n      \"18\",\n      \"01BC33425E72A12779EACB2EDCC5B63D1281F7E86DBC7BF99A7ABD0CFE367DE4666D\"\n
        \     \"6EDBB8525BFFE5222F0702C3096DEC0884CE572F5A15C423FDF44D01DD99C61D\",\n
        \     \"010D06E999885B63535DE3E74D33D9E63D024FB07CE0D196F2552C8E4A00AC84C044\"\n
        \     \"234AEB201F7A9133915D1B4B45209B9DA79FE15B19F84FD135D841E2D8F9A86A\"\n
        \   },\n    { /* tv 226 */\n      \"NIST P-521\",\n      \"19\",\n      \"00998DCCE486419C3487C0F948C2D5A1A07245B77E0755DF547EFFF0ACDB3790E7F1\"\n
        \     \"FA3B3096362669679232557D7A45970DFECF431E725BBDE478FF0B2418D6A19B\",\n
        \     \"0137D5DA0626A021ED5CC3942497535B245D67D28AEE2B7BCF4ACC50EEE365457727\"\n
        \     \"73AD963FF2EB8CF9B0EC39991631C377F5A4D89EA9FBFE44A9091A695BFD0575\"\n
        \   },\n    { /* tv 227 */\n      \"NIST P-521\",\n      \"20\",\n      \"018BDD7F1B889598A4653DEEAE39CC6F8CC2BD767C2AB0D93FB12E968FBED342B517\"\n
        \     \"09506339CB1049CB11DD48B9BDB3CD5CAD792E43B74E16D8E2603BFB11B0344F\",\n
        \     \"00C5AADBE63F68CA5B6B6908296959BF0AF89EE7F52B410B9444546C550952D31120\"\n
        \     \"4DA3BDDDC6D4EAE7EDFAEC1030DA8EF837CCB22EEE9CFC94DD3287FED0990F94\"\n
        \   },\n    { /* tv 228 */\n      \"NIST P-521\",\n      \"112233445566778899\",\n
        \     \"01650048FBD63E8C30B305BF36BD7643B91448EF2206E8A0CA84A140789A99B0423A\"\n
        \     \"0A2533EA079CA7E049843E69E5FA2C25A163819110CEC1A30ACBBB3A422A40D8\",\n
        \     \"010C9C64A0E0DB6052DBC5646687D06DECE5E9E0703153EFE9CB816FE025E85354D3\"\n
        \     \"C5F869D6DB3F4C0C01B5F97919A5E72CEEBE03042E5AA99112691CFFC2724828\"\n
        \   },\n    { /* tv 229 */\n      \"NIST P-521\",\n      \"112233445566778899112233445566778899\",\n
        \     \"017E1370D39C9C63925DAEEAC571E21CAAF60BD169191BAEE8352E0F54674443B297\"\n
        \     \"86243564ABB705F6FC0FE5FC5D3F98086B67CA0BE7AC8A9DEC421D9F1BC6B37F\",\n
        \     \"01CD559605EAD19FBD99E83600A6A81A0489E6F20306EE0789AE00CE16A6EFEA2F42\"\n
        \     \"F7534186CF1C60DF230BD9BCF8CB95E5028AD9820B2B1C0E15597EE54C4614A6\"\n
        \   },\n    { /* tv 230 */\n      \"NIST P-521\",\n      \"17698052779751630352537759308423671290937417867253767860073493326533\"\n
        \     \"23812656658291413435033257677579095366632521448854141275926144187294\"\n
        \     \"499863933403633025023\",\n      \"00B45CB84651C9D4F08858B867F82D816E84E94FE4CAE3DA5F65E420B08398D0C5BF\"\n
        \     \"019253A6C26D20671BDEF0B8E6C1D348A4B0734687F73AC6A4CBB2E085C68B3F\",\n
        \     \"01C84942BBF538903062170A4BA8B3410D385719BA2037D29CA5248BFCBC8478220F\"\n
        \     \"EC79244DCD45D31885A1764DEE479CE20B12CEAB62F9001C7AA4282CE4BE7F56\"\n
        \   },\n    { /* tv 231 */\n      \"NIST P-521\",\n      \"10474840033715746231626262792913259631724379050679813326769821870752\"\n
        \     \"87502926828892214143101559079638247121149165524401608805506660439970\"\n
        \     \"30661040721887239\",\n      \"01CCEF4CDA108CEBE6568820B54A3CA3A3997E4EF0EDA6C350E7ED3DBB1861EDD801\"\n
        \     \"81C650CEBE5440FEBA880F9C8A7A86F8B82659794F6F5B88E501E5DD84E65D7E\",\n
        \     \"01026565F8B195D03C3F6139C3A63EAA1C29F7090AB2A8F75027939EC05109035F1B\"\n
        \     \"38E6C508E0C14CE53AB7E2DA33AA28140EDBF3964862FB157119517454E60F07\"\n
        \   },\n    { /* tv 232 */\n      \"NIST P-521\",\n      \"67039038650783458881413816514301680394966640773509650542881331265493\"\n
        \     \"07058741788671148197429777343936466127575938031786147409472627479702\"\n
        \     \"469884214509568000\",\n      \"00C1002DC2884EEDADB3F9B468BBEBD55980799852C506D37271FFCD006919DB3A96\"\n
        \     \"DF8FE91EF6ED4B9081B1809E8F2C2B28AF5FCBF524147C73CB0B913D6FAB0995\",\n
        \     \"01614E8A62C8293DD2AA6EF27D30974A4FD185019FA8EF4F982DA48698CECF706581\"\n
        \     \"F69EE9ED67A9C231EC9D0934D0F674646153273BCBB345E923B1EC1386A1A4AD\"\n
        \   },\n    { /* tv 233 */\n      \"NIST P-521\",\n      \"16759256436823953054045171656435622518800269587808965316988567370241\"\n
        \     \"79880343339878336382412050263431942974939646683480906434632963478257\"\n
        \     \"639757341102436352\",\n      \"010ED3E085ECDE1E66874286B5D5642B9D37853A026A0A025C7B84936E2ECEEC5F34\"\n
        \     \"2E14C80C79CCF814D5AD085C5303F2823251F2B9276F88C9D7A43E387EBD87AC\",\n
        \     \"01BE399A7666B29E79BBF3D277531A97CE05CAC0B49BECE4781E7AEE0D6E80FEE883\"\n
        \     \"C76E9F08453DC1ADE4E49300F3D56FEE6A1510DA1B1F12EEAA39A05AA0508119\"\n
        \   },\n    { /* tv 234 */\n      \"NIST P-521\",\n      \"12785133382149415221402495202586701798620696169446772599038235721862\"\n
        \     \"33869219015616395155896385695905923238160286474392442745178676951515\"\n
        \     \"4396810706943\",\n      \"013070A29B059D317AF37089E40FCB135868F52290EFF3E9F3E32CDADCA18EA234D8\"\n
        \     \"589C665A4B8E3D0714DE004A419DEA7091A3BBA97263C438FE9413AA598FD4A5\",\n
        \     \"00238A27FD9E5E7324C8B538EF2E334B71AC2611A95F42F4F2544D8C4A65D2A32A8B\"\n
        \     \"AFA15EFD4FC2BD8AB2B0C51F65B680879589F4D5FE8A84CEB17A2E8D3587F011\"\n
        \   },\n    { /* tv 235 */\n      \"NIST P-521\",\n      \"21452487583224925587220685549573442688947752933626165525549242527332\"\n
        \     \"27278613418256777229473754067116763723353140430716009349416151854185\"\n
        \     \"40320233184489636351\",\n      \"01A3D88799878EC74E66FF1AD8C7DFA9A9B4445A17F0810FF8189DD27AE3B6C580D3\"\n
        \     \"52476DBDAEB08D7DA0DE3866F7C7FDBEBB8418E19710F1F7AFA88C22280B1404\",\n
        \     \"00B39703D2053EC7B8812BDFEBFD81B4CB76F245FE535A1F1E46801C35DE03C15063\"\n
        \     \"A99A203981529C146132863CA0E68544D0F0A638D8A2859D82B4DD266F27C3AE\"\n
        \   },\n    { /* tv 236 */\n      \"NIST P-521\",\n      \"51140486275567859131139077890835526884648461857823088348651153840508\"\n
        \     \"28762136685450683124474653127224662029512310426956586705594937826639\"\n
        \     \"5604768784399\",\n      \"01D16B4365DEFE6FD356DC1F31727AF2A32C7E86C5AE87ED2950A08BC8653F203C7F\"\n
        \     \"7860E80F95AA27C93EA76E8CD094127B15ED42CC5F96DC0A0F9A1C1E31D0D526\",\n
        \     \"006E3710A0F9366E0BB8A14FFE8EBC2722EECF4A123EC9BA98DCCCA335D6FAFD289D\"\n
        \     \"C69FD90903C9AC982FEB46DF93F03A7C8C9549D32C1C386D17F37340E63822A8\"\n
        \   },\n    { /* tv 237 */\n      \"NIST P-521\",\n      \"66515297160252068810352799528815206278411522472127845209144250393126\"\n
        \     \"06120198879080839643311347169019249080198239408356563413447402270445\"\n
        \     \"462102068592377843\",\n      \"01B1220F67C985E9FC9C588C0C86BB16E6FE4CC11E168A98D701AE4670724B3D030E\"\n
        \     \"D9965FADF4207C7A1BE9BE0F40DEF2BBFFF0C7EABCB5B42526CE1D3CAA468F52\",\n
        \     \"006CDAD2860F6D2C37159A5A866D11605F2E7D87430DCFE6E6816AB6423CD9003CA6\"\n
        \     \"F2527B9C2A2483C541D456C963D18A0D2A46E158CB2A44C0BF42D562881FB748\"\n
        \   },\n    { /* tv 238 */\n      \"NIST P-521\",\n      \"32245518246132322325376800779468186601568352887780873448053703978113\"\n
        \     \"79731631671254853846826682273677870214778462237171365140390183770226\"\n
        \     \"853329363961324241919\",\n      \"00F25E545213C8C074BE38A0612EA9B66336B14A874372548D9716392DFA31CD0D13\"\n
        \     \"E94F86CD48B8D43B80B5299144E01245C873B39F6AC6C4FB397746AF034AD67C\",\n
        \     \"01733ABB21147CC27E35F41FAF40290AFD1EEB221D983FFABBD88E5DC8776450A409\"\n
        \     \"EACDC1BCA2B9F517289C68645BB96781808FEAE42573C2BB289F16E2AECECE17\"\n
        \   },\n    { /* tv 239 */\n      \"NIST P-521\",\n      \"12486613128442885430380874043991285080254917488396284953815149251315\"\n
        \     \"41260063458153906666309229761204066997801762358775284540965316727702\"\n
        \     \"1864132608\",\n      \"0172CD22CBE0634B6BFEE24BB1D350F384A945ED618ECAD48AADC6C1BC0DCC107F0F\"\n
        \     \"FE9FE14DC929F90153F390C25BE5D3A73A56F9ACCB0C72C768753869732D0DC4\",\n
        \     \"00D249CFB570DA4CC48FB5426A928B43D7922F787373B6182408FBC71706E7527E84\"\n
        \     \"14C79167F3C999FF58DE352D238F1FE7168C658D338F72696F2F889A97DE23C5\"\n
        \   },\n    { /* tv 240 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005429\",\n      \"018BDD7F1B889598A4653DEEAE39CC6F8CC2BD767C2AB0D93FB12E968FBED342B517\"\n
        \     \"09506339CB1049CB11DD48B9BDB3CD5CAD792E43B74E16D8E2603BFB11B0344F\",\n
        \     \"013A552419C09735A49496F7D696A640F50761180AD4BEF46BBBAB93AAF6AD2CEEDF\"\n
        \     \"B25C4222392B1518120513EFCF257107C8334DD11163036B22CD78012F66F06B\"\n
        \   },\n    { /* tv 241 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005430\",\n      \"00998DCCE486419C3487C0F948C2D5A1A07245B77E0755DF547EFFF0ACDB3790E7F1\"\n
        \     \"FA3B3096362669679232557D7A45970DFECF431E725BBDE478FF0B2418D6A19B\",\n
        \     \"00C82A25F9D95FDE12A33C6BDB68ACA4DBA2982D7511D48430B533AF111C9ABA88D8\"\n
        \     \"8C5269C00D1473064F13C666E9CE3C880A5B2761560401BB56F6E596A402FA8A\"\n
        \   },\n    { /* tv 242 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005431\",\n      \"01BC33425E72A12779EACB2EDCC5B63D1281F7E86DBC7BF99A7ABD0CFE367DE4666D\"\n
        \     \"6EDBB8525BFFE5222F0702C3096DEC0884CE572F5A15C423FDF44D01DD99C61D\",\n
        \     \"00F2F9166677A49CACA21C18B2CC2619C2FDB04F831F2E690DAAD371B5FF537B3FBB\"\n
        \     \"DCB514DFE0856ECC6EA2E4B4BADF646258601EA4E607B02ECA27BE1D27065795\"\n
        \   },\n    { /* tv 243 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005432\",\n      \"01B00DDB707F130EDA13A0B874645923906A99EE9E269FA2B3B4D66524F269250858\"\n
        \     \"760A69E674FE0287DF4E799B5681380FF8C3042AF0D1A41076F817A853110AE0\",\n
        \     \"017A97C0E2824E9A89243EEE2B1B51222EF94866ACB30966EF56729753D4DD5ECDC2\"\n
        \     \"0625A9B10922F40F2D098A80E9520BDF196FAA6B3D48AA0ACA4634838F19B9B8\"\n
        \   },\n    { /* tv 244 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005433\",\n      \"01D17D10D8A89C8AD05DDA97DA26AC743B0B2A87F66192FD3F3DD632F8D20B188A52\"\n
        \     \"943FF18861CA00A0E5965DA7985630DF0DBF5C8007DCDC533A6C508F81A8402F\",\n
        \     \"0185C8CBC3A7D288FFE038EB4E72C2C1968DECCA1B3C47FF2AF13835CF36B4947D3E\"\n
        \     \"3E7D1EC6724AB855F4CF8A53626677AD61CFFB2D72E79CCCAD1D8D076438C541\"\n
        \   },\n    { /* tv 245 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005434\",\n      \"006B6AD89ABCB92465F041558FC546D4300FB8FBCC30B40A0852D697B532DF128E11\"\n
        \     \"B91CCE27DBD00FFE7875BD1C8FC0331D9B8D96981E3F92BDE9AFE337BCB8DB55\",\n
        \     \"004B9725D8EA8EC6E2958319B2DCCC12409C20FB6956452DF345B49DEF9668B7A12A\"\n
        \     \"816F9D3766B8F57FDEB71DDCD369366DB9026F33BB954226A9CBCB7F5EB8AB9A\"\n
        \   },\n    { /* tv 246 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005435\",\n      \"01875BC7DC551B1B65A9E1B8CCFAAF84DED1958B401494116A2FD4FB0BABE0B31999\"\n
        \     \"74FC06C8B897222D79DF3E4B7BC744AA6767F6B812EFBF5D2C9E682DD3432D74\",\n
        \     \"01A35B6DCA8A2534A42D299D6F44544B42047B8FEDD471AE7D95F7B831647928129D\"\n
        \     \"2F887E4E4B0CA7B3EE17640E2ECC23F2A496F0AC57837B41BE99607AD8FF2AB5\"\n
        \   },\n    { /* tv 247 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005436\",\n      \"007E3E98F984C396AD9CD7865D2B4924861A93F736CDE1B4C2384EEDD2BEAF5B8661\"\n
        \     \"32C45908E03C996A3550A5E79AB88EE94BEC3B00AB38EFF81887848D32FBCDA7\",\n
        \     \"00F711A7149287E01256E5E6D9255C12A5F7312AF5C792ABDE3963859851A3E1DED5\"\n
        \     \"3E42A2A7C74389C0D92022CAE340443C9E6615506EE81608D6E5FE04FDD58E36\"\n
        \   },\n    { /* tv 248 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005437\",\n      \"01C0D9DCEC93F8221C5DE4FAE9749C7FDE1E81874157958457B6107CF7A5967713A6\"\n
        \     \"44E90B7C3FB81B31477FEE9A60E938013774C75C530928B17BE69571BF842D8C\",\n
        \     \"00BFB74A6B95B6D83F01C31E2EFC597D35B89C019A548EB6B25BA1BFB54095E83F68\"\n
        \     \"292E77BC2790324933EF5906AE4649CF77B458DDDB0A519386184E5CD7E4E80F\"\n
        \   },\n    { /* tv 249 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005438\",\n      \"008A75841259FDEDFF546F1A39573B4315CFED5DC7ED7C17849543EF2C54F2991652\"\n
        \     \"F3DBC5332663DA1BD19B1AEBE3191085015C024FA4C9A902ECC0E02DDA0CDB9A\",\n
        \     \"016904CFC03445DED67B62F35788FAB04DD6C522A99DEF42FB6C12D16A2B1F4647D4\"\n
        \     \"E43756F174BD5B54C76DCCE6EB56ACC923537F1C0B7E64A2A778B06D31B737F7\"\n
        \   },\n    { /* tv 250 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005439\",\n      \"0190EB8F22BDA61F281DFCFE7BB6721EC4CD901D879AC09AC7C34A9246B11ADA8910\"\n
        \     \"A2C7C178FCC263299DAA4DA9842093F37C2E411F1A8E819A87FF09A04F2F3320\",\n
        \     \"0014A26947B6E9EB456245154C4F35D4589F3D114DEBBDAE4DF4568028759D109D2D\"\n
        \     \"40ACB62BB2679B44AC909E9C23A814100C9769C68C6055E8D6AB4367ECA138A6\"\n
        \   },\n    { /* tv 251 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005440\",\n      \"01585389E359E1E21826A2F5BF157156D488ED34541B988746992C4AB145B8C6B665\"\n
        \     \"7429E1396134DA35F3C556DF725A318F4F50BABD85CD28661F45627967CBE207\",\n
        \     \"01D5D19E736575120C60F4AAAA85D8516C71CF7759AB11E3144937DA45D9C224BB91\"\n
        \     \"F2961A8A9FA8537BF00A9130B54027828C93D516D777F0CBC55F15794652D5B1\"\n
        \   },\n    { /* tv 252 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005441\",\n      \"000822C40FB6301F7262A8348396B010E25BD4E29D8A9B003E0A8B8A3B05F826298F\"\n
        \     \"5BFEA5B8579F49F08B598C1BC8D79E1AB56289B5A6F4040586F9EA54AA78CE68\",\n
        \     \"009CCE6EE2AABD03B7DFB7025491877AC465BB0712161D3F8EA4AF7C219EF988570E\"\n
        \     \"76163F55A6EE4B400F45F20F9A3A879660C456BFF6B8ECAC7529BD0EE0E87FE3\"\n
        \   },\n    { /* tv 253 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005442\",\n      \"0056D5D1D99D5B7F6346EEB65FDA0B073A0C5F22E0E8F5483228F018D2C2F7114C5D\"\n
        \     \"8C308D0ABFC698D8C9A6DF30DCE3BBC46F953F50FDC2619A01CEAD882816ECD4\",\n
        \     \"01C2D2E48264555D5EEF2E27CE85C6297B874A3A7D2FD7DB0F228E242675D93421AA\"\n
        \     \"942F0D6C321361D46ADC5CBA6E31E5A061898ED5A2210384A3947436FADADAE4\"\n
        \   },\n    { /* tv 254 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005443\",\n      \"01EE4569D6CDB59219532EFF34F94480D195623D30977FD71CF3981506ADE4AB0152\"\n
        \     \"5FBCCA16153F7394E0727A239531BE8C2F66E95657F380AE23731BEDF79206B9\",\n
        \     \"0021FDAA52F339B0A7951D22D8FAB91C4EEED554448C25A57F718DBF56D9DFE57569\"\n
        \     \"3548D2F1A99B7362069367B21D8B0DDFC238474AA35F2521E1533287A72BB0E8\"\n
        \   },\n    { /* tv 255 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005444\",\n      \"00652BF3C52927A432C73DBC3391C04EB0BF7A596EFDB53F0D24CF03DAB8F177ACE4\"\n
        \     \"383C0C6D5E3014237112FEAF137E79A329D7E1E6D8931738D5AB5096EC8F3078\",\n
        \     \"00A41910E42299FE291375D48CEEB57EED6EE327017178D1FFAE1227E8365FCB8F78\"\n
        \     \"44976836F8D30C8BCEEABFDEE30A00862E0FF8DA8CAB0807E8C33C17214F6F34\"\n
        \   },\n    { /* tv 256 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005445\",\n      \"0035B5DF64AE2AC204C354B483487C9070CDC61C891C5FF39AFC06C5D55541D3CEAC\"\n
        \     \"8659E24AFE3D0750E8B88E9F078AF066A1D5025B08E5A5E2FBC87412871902F3\",\n
        \     \"017DF6907BD9ED862D498C1FE8714F4B5449AADE5109191CD1E4A519C01D0E66F80D\"\n
        \     \"860D7C1AB45C7ABFADDB08AF56A47A114480510FB9662E261DE0B803CB91B2F2\"\n
        \   },\n    { /* tv 257 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005446\",\n      \"01A73D352443DE29195DD91D6A64B5959479B52A6E5B123D9AB9E5AD7A112D7A8DD1\"\n
        \     \"AD3F164A3A4832051DA6BD16B59FE21BAEB490862C32EA05A5919D2EDE37AD7D\",\n
        \     \"00C164FC4682059D2226686079393547EB0D0EAA8057D562FCE82D0754E05CAA3113\"\n
        \     \"D1D22B30723A8A4FD2A5312E213C38F30EFA36436C5A6FBDA0A7735E11793F1A\"\n
        \   },\n    { /* tv 258 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005447\",\n      \"00433C219024277E7E682FCB288148C282747403279B1CCC06352C6E5505D769BE97\"\n
        \     \"B3B204DA6EF55507AA104A3A35C5AF41CF2FA364D60FD967F43E3933BA6D783D\",\n
        \     \"010B44733807924D98FF580C1311112C0F4A394AEF83B25688BF54DE5D66F93BD244\"\n
        \     \"4C1C882160DAE0946C6C805665CDB70B1503416A123F0B08E41CA9299E0BE4FD\"\n
        \   },\n    { /* tv 259 */\n      \"NIST P-521\",\n      \"68647976601306097149819007990813932172694353001433054093944634591855\"\n
        \     \"43183397655394245057746333217197532963996371363321113864768612440380\"\n
        \     \"340372808892707005448\",\n      \"00C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBA\"\n
        \     \"A14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66\",\n
        \     \"00E7C6D6958765C43FFBA375A04BD382E426670ABBB6A864BB97E85042E8D8C199D3\"\n
        \     \"68118D66A10BD9BF3AAF46FEC052F89ECAC38F795D8D3DBF77416B89602E99AF\"\n
        \   },\n\n    /* secp256k1 test-vectors from\n       https://chuckbatson.wordpress.com/2014/11/26/secp256k1-test-vectors/
        */\n    { /* tv 260 */\n      \"secp256k1\",\n      \"1\",\n      \"79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798\",\n
        \     \"483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8\"\n
        \   },\n    { /* tv 261 */\n      \"secp256k1\",\n      \"2\",\n      \"C6047F9441ED7D6D3045406E95C07CD85C778E4B8CEF3CA7ABAC09B95C709EE5\",\n
        \     \"1AE168FEA63DC339A3C58419466CEAEEF7F632653266D0E1236431A950CFE52A\"\n
        \   },\n    { /* tv 262 */\n      \"secp256k1\",\n      \"3\",\n      \"F9308A019258C31049344F85F89D5229B531C845836F99B08601F113BCE036F9\",\n
        \     \"388F7B0F632DE8140FE337E62A37F3566500A99934C2231B6CB9FD7584B8E672\"\n
        \   },\n    { /* tv 263 */\n      \"secp256k1\",\n      \"4\",\n      \"E493DBF1C10D80F3581E4904930B1404CC6C13900EE0758474FA94ABE8C4CD13\",\n
        \     \"51ED993EA0D455B75642E2098EA51448D967AE33BFBDFE40CFE97BDC47739922\"\n
        \   },\n    { /* tv 264 */\n      \"secp256k1\",\n      \"5\",\n      \"2F8BDE4D1A07209355B4A7250A5C5128E88B84BDDC619AB7CBA8D569B240EFE4\",\n
        \     \"D8AC222636E5E3D6D4DBA9DDA6C9C426F788271BAB0D6840DCA87D3AA6AC62D6\"\n
        \   },\n    { /* tv 265 */\n      \"secp256k1\",\n      \"6\",\n      \"FFF97BD5755EEEA420453A14355235D382F6472F8568A18B2F057A1460297556\",\n
        \     \"AE12777AACFBB620F3BE96017F45C560DE80F0F6518FE4A03C870C36B075F297\"\n
        \   },\n    { /* tv 266 */\n      \"secp256k1\",\n      \"7\",\n      \"5CBDF0646E5DB4EAA398F365F2EA7A0E3D419B7E0330E39CE92BDDEDCAC4F9BC\",\n
        \     \"6AEBCA40BA255960A3178D6D861A54DBA813D0B813FDE7B5A5082628087264DA\"\n
        \   },\n    { /* tv 267 */\n      \"secp256k1\",\n      \"8\",\n      \"2F01E5E15CCA351DAFF3843FB70F3C2F0A1BDD05E5AF888A67784EF3E10A2A01\",\n
        \     \"5C4DA8A741539949293D082A132D13B4C2E213D6BA5B7617B5DA2CB76CBDE904\"\n
        \   },\n    { /* tv 268 */\n      \"secp256k1\",\n      \"9\",\n      \"ACD484E2F0C7F65309AD178A9F559ABDE09796974C57E714C35F110DFC27CCBE\",\n
        \     \"CC338921B0A7D9FD64380971763B61E9ADD888A4375F8E0F05CC262AC64F9C37\"\n
        \   },\n    { /* tv 269 */\n      \"secp256k1\",\n      \"10\",\n      \"A0434D9E47F3C86235477C7B1AE6AE5D3442D49B1943C2B752A68E2A47E247C7\",\n
        \     \"893ABA425419BC27A3B6C7E693A24C696F794C2ED877A1593CBEE53B037368D7\"\n
        \   },\n    { /* tv 270 */\n      \"secp256k1\",\n      \"11\",\n      \"774AE7F858A9411E5EF4246B70C65AAC5649980BE5C17891BBEC17895DA008CB\",\n
        \     \"D984A032EB6B5E190243DD56D7B7B365372DB1E2DFF9D6A8301D74C9C953C61B\"\n
        \   },\n    { /* tv 271 */\n      \"secp256k1\",\n      \"12\",\n      \"D01115D548E7561B15C38F004D734633687CF4419620095BC5B0F47070AFE85A\",\n
        \     \"A9F34FFDC815E0D7A8B64537E17BD81579238C5DD9A86D526B051B13F4062327\"\n
        \   },\n    { /* tv 272 */\n      \"secp256k1\",\n      \"13\",\n      \"F28773C2D975288BC7D1D205C3748651B075FBC6610E58CDDEEDDF8F19405AA8\",\n
        \     \"0AB0902E8D880A89758212EB65CDAF473A1A06DA521FA91F29B5CB52DB03ED81\"\n
        \   },\n    { /* tv 273 */\n      \"secp256k1\",\n      \"14\",\n      \"499FDF9E895E719CFD64E67F07D38E3226AA7B63678949E6E49B241A60E823E4\",\n
        \     \"CAC2F6C4B54E855190F044E4A7B3D464464279C27A3F95BCC65F40D403A13F5B\"\n
        \   },\n    { /* tv 274 */\n      \"secp256k1\",\n      \"15\",\n      \"D7924D4F7D43EA965A465AE3095FF41131E5946F3C85F79E44ADBCF8E27E080E\",\n
        \     \"581E2872A86C72A683842EC228CC6DEFEA40AF2BD896D3A5C504DC9FF6A26B58\"\n
        \   },\n    { /* tv 275 */\n      \"secp256k1\",\n      \"16\",\n      \"E60FCE93B59E9EC53011AABC21C23E97B2A31369B87A5AE9C44EE89E2A6DEC0A\",\n
        \     \"F7E3507399E595929DB99F34F57937101296891E44D23F0BE1F32CCE69616821\"\n
        \   },\n    { /* tv 276 */\n      \"secp256k1\",\n      \"17\",\n      \"DEFDEA4CDB677750A420FEE807EACF21EB9898AE79B9768766E4FAA04A2D4A34\",\n
        \     \"4211AB0694635168E997B0EAD2A93DAECED1F4A04A95C0F6CFB199F69E56EB77\"\n
        \   },\n    { /* tv 277 */\n      \"secp256k1\",\n      \"18\",\n      \"5601570CB47F238D2B0286DB4A990FA0F3BA28D1A319F5E7CF55C2A2444DA7CC\",\n
        \     \"C136C1DC0CBEB930E9E298043589351D81D8E0BC736AE2A1F5192E5E8B061D58\"\n
        \   },\n    { /* tv 278 */\n      \"secp256k1\",\n      \"19\",\n      \"2B4EA0A797A443D293EF5CFF444F4979F06ACFEBD7E86D277475656138385B6C\",\n
        \     \"85E89BC037945D93B343083B5A1C86131A01F60C50269763B570C854E5C09B7A\"\n
        \   },\n    { /* tv 279 */\n      \"secp256k1\",\n      \"20\",\n      \"4CE119C96E2FA357200B559B2F7DD5A5F02D5290AFF74B03F3E471B273211C97\",\n
        \     \"12BA26DCB10EC1625DA61FA10A844C676162948271D96967450288EE9233DC3A\"\n
        \   },\n    { /* tv 280 */\n      \"secp256k1\",\n      \"112233445566778899\",\n
        \     \"A90CC3D3F3E146DAADFC74CA1372207CB4B725AE708CEF713A98EDD73D99EF29\",\n
        \     \"5A79D6B289610C68BC3B47F3D72F9788A26A06868B4D8E433E1E2AD76FB7DC76\"\n
        \   },\n    { /* tv 281 */\n      \"secp256k1\",\n      \"112233445566778899112233445566778899\",\n
        \     \"E5A2636BCFD412EBF36EC45B19BFB68A1BC5F8632E678132B885F7DF99C5E9B3\",\n
        \     \"736C1CE161AE27B405CAFD2A7520370153C2C861AC51D6C1D5985D9606B45F39\"\n
        \   },\n    { /* tv 282 */\n      \"secp256k1\",\n      \"28948022309329048855892746252171976963209391069768726095651290785379\"\n
        \     \"540373584\",\n      \"A6B594B38FB3E77C6EDF78161FADE2041F4E09FD8497DB776E546C41567FEB3C\",\n
        \     \"71444009192228730CD8237A490FEBA2AFE3D27D7CC1136BC97E439D13330D55\"\n
        \   },\n    { /* tv 283 */\n      \"secp256k1\",\n      \"57896044618658097711785492504343953926418782139537452191302581570759\"\n
        \     \"080747168\",\n      \"00000000000000000000003B78CE563F89A0ED9414F5AA28AD0D96D6795F9C63\",\n
        \     \"3F3979BF72AE8202983DC989AEC7F2FF2ED91BDD69CE02FC0700CA100E59DDF3\"\n
        \   },\n    { /* tv 284 */\n      \"secp256k1\",\n      \"86844066927987146567678238756515930889628173209306178286953872356138\"\n
        \     \"621120752\",\n      \"E24CE4BEEE294AA6350FAA67512B99D388693AE4E7F53D19882A6EA169FC1CE1\",\n
        \     \"8B71E83545FC2B5872589F99D948C03108D36797C4DE363EBD3FF6A9E1A95B10\"\n
        \   },\n    { /* tv 285 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494317\",\n      \"4CE119C96E2FA357200B559B2F7DD5A5F02D5290AFF74B03F3E471B273211C97\",\n
        \     \"ED45D9234EF13E9DA259E05EF57BB3989E9D6B7D8E269698BAFD77106DCC1FF5\"\n
        \   },\n    { /* tv 286 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494318\",\n      \"2B4EA0A797A443D293EF5CFF444F4979F06ACFEBD7E86D277475656138385B6C\",\n
        \     \"7A17643FC86BA26C4CBCF7C4A5E379ECE5FE09F3AFD9689C4A8F37AA1A3F60B5\"\n
        \   },\n    { /* tv 287 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494319\",\n      \"5601570CB47F238D2B0286DB4A990FA0F3BA28D1A319F5E7CF55C2A2444DA7CC\",\n
        \     \"3EC93E23F34146CF161D67FBCA76CAE27E271F438C951D5E0AE6D1A074F9DED7\"\n
        \   },\n    { /* tv 288 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494320\",\n      \"DEFDEA4CDB677750A420FEE807EACF21EB9898AE79B9768766E4FAA04A2D4A34\",\n
        \     \"BDEE54F96B9CAE9716684F152D56C251312E0B5FB56A3F09304E660861A910B8\"\n
        \   },\n    { /* tv 289 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494321\",\n      \"E60FCE93B59E9EC53011AABC21C23E97B2A31369B87A5AE9C44EE89E2A6DEC0A\",\n
        \     \"081CAF8C661A6A6D624660CB0A86C8EFED6976E1BB2DC0F41E0CD330969E940E\"\n
        \   },\n    { /* tv 290 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494322\",\n      \"D7924D4F7D43EA965A465AE3095FF41131E5946F3C85F79E44ADBCF8E27E080E\",\n
        \     \"A7E1D78D57938D597C7BD13DD733921015BF50D427692C5A3AFB235F095D90D7\"\n
        \   },\n    { /* tv 291 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494323\",\n      \"499FDF9E895E719CFD64E67F07D38E3226AA7B63678949E6E49B241A60E823E4\",\n
        \     \"353D093B4AB17AAE6F0FBB1B584C2B9BB9BD863D85C06A4339A0BF2AFC5EBCD4\"\n
        \   },\n    { /* tv 292 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494324\",\n      \"F28773C2D975288BC7D1D205C3748651B075FBC6610E58CDDEEDDF8F19405AA8\",\n
        \     \"F54F6FD17277F5768A7DED149A3250B8C5E5F925ADE056E0D64A34AC24FC0EAE\"\n
        \   },\n    { /* tv 293 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494325\",\n      \"D01115D548E7561B15C38F004D734633687CF4419620095BC5B0F47070AFE85A\",\n
        \     \"560CB00237EA1F285749BAC81E8427EA86DC73A2265792AD94FAE4EB0BF9D908\"\n
        \   },\n    { /* tv 294 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494326\",\n      \"774AE7F858A9411E5EF4246B70C65AAC5649980BE5C17891BBEC17895DA008CB\",\n
        \     \"267B5FCD1494A1E6FDBC22A928484C9AC8D24E1D20062957CFE28B3536AC3614\"\n
        \   },\n    { /* tv 295 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494327\",\n      \"A0434D9E47F3C86235477C7B1AE6AE5D3442D49B1943C2B752A68E2A47E247C7\",\n
        \     \"76C545BDABE643D85C4938196C5DB3969086B3D127885EA6C3411AC3FC8C9358\"\n
        \   },\n    { /* tv 296 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494328\",\n      \"ACD484E2F0C7F65309AD178A9F559ABDE09796974C57E714C35F110DFC27CCBE\",\n
        \     \"33CC76DE4F5826029BC7F68E89C49E165227775BC8A071F0FA33D9D439B05FF8\"\n
        \   },\n    { /* tv 297 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494329\",\n      \"2F01E5E15CCA351DAFF3843FB70F3C2F0A1BDD05E5AF888A67784EF3E10A2A01\",\n
        \     \"A3B25758BEAC66B6D6C2F7D5ECD2EC4B3D1DEC2945A489E84A25D3479342132B\"\n
        \   },\n    { /* tv 298 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494330\",\n      \"5CBDF0646E5DB4EAA398F365F2EA7A0E3D419B7E0330E39CE92BDDEDCAC4F9BC\",\n
        \     \"951435BF45DAA69F5CE8729279E5AB2457EC2F47EC02184A5AF7D9D6F78D9755\"\n
        \   },\n    { /* tv 299 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494331\",\n      \"FFF97BD5755EEEA420453A14355235D382F6472F8568A18B2F057A1460297556\",\n
        \     \"51ED8885530449DF0C4169FE80BA3A9F217F0F09AE701B5FC378F3C84F8A0998\"\n
        \   },\n    { /* tv 300 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494332\",\n      \"2F8BDE4D1A07209355B4A7250A5C5128E88B84BDDC619AB7CBA8D569B240EFE4\",\n
        \     \"2753DDD9C91A1C292B24562259363BD90877D8E454F297BF235782C459539959\"\n
        \   },\n    { /* tv 301 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494333\",\n      \"E493DBF1C10D80F3581E4904930B1404CC6C13900EE0758474FA94ABE8C4CD13\",\n
        \     \"AE1266C15F2BAA48A9BD1DF6715AEBB7269851CC404201BF30168422B88C630D\"\n
        \   },\n    { /* tv 302 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494334\",\n      \"F9308A019258C31049344F85F89D5229B531C845836F99B08601F113BCE036F9\",\n
        \     \"C77084F09CD217EBF01CC819D5C80CA99AFF5666CB3DDCE4934602897B4715BD\"\n
        \   },\n    { /* tv 303 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494335\",\n      \"C6047F9441ED7D6D3045406E95C07CD85C778E4B8CEF3CA7ABAC09B95C709EE5\",\n
        \     \"E51E970159C23CC65C3A7BE6B99315110809CD9ACD992F1EDC9BCE55AF301705\"\n
        \   },\n    { /* tv 304 */\n      \"secp256k1\",\n      \"11579208923731619542357098500868790785283756427907490438260516314151\"\n
        \     \"8161494336\",\n      \"79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798\",\n
        \     \"B7C52588D95C3B9AA25B0403F1EEF75702E84BB7597AABE663B82F6F04EF2777\"\n
        \   },\n\n    { NULL, NULL, NULL, NULL }\n  }"
      pos:
        line_end: 1324
        line_start: 1319
        source_file: /src/libgcrypt/tests/t-mpi-point.c
    - fields:
      - name: '*curve'
        type: char
      - name: '*scalar'
        type: char
      - name: '*ux'
        type: char
      - name: '*uy'
        type: char
      - name: '*uz'
        type: char
      - name: '*qx'
        type: char
      - name: '*qy'
        type: char
      item_type: struct
      name: "tv[] =\n  {\n    /* --- NIST P-192 --- */\n\n    /* Bug report: https://dev.gnupg.org/T5510
        */\n    {\n      \"NIST P-192\",\n      \"0FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22830\",\n
        \     \"000000000000000000000000000000000FFFFFFFFFFFFFF00\",\n      \"030A893B61A4E76AF2B682FDB86E043C427C1AD2DFDABB62E\",\n
        \     NULL,\n      \"000000000000000000000000000000000FFFFFFFFFFFFFF00\",\n
        \     \"0CF576C49E5B18950D497D024791FBC3AD83E52D2025449D1\"\n    },\n    {\n
        \     \"NIST P-192\",\n      \"0FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22830\",\n
        \     \"000000000000000000000000000000000FFFFFFFFFFFFFF00\",\n      \"0CF576C49E5B18950D497D024791FBC3AD83E52D2025449D1\",\n
        \     NULL,\n      \"000000000000000000000000000000000FFFFFFFFFFFFFF00\",\n
        \     \"030A893B61A4E76AF2B682FDB86E043C427C1AD2DFDABB62E\"\n    },\n\n    /*
        Test #1 for NIST P-192 fast reduction */\n    {\n      \"NIST P-192\",\n      \"09977FBFF49FFB1F115C20E3378819ACCFB2A2A19EF9D00C2\",\n
        \     \"06D9D789820A2C19237C96AD4B8D86B87FB49D4D6C728B84F\",\n      \"0000000000000000000000000000000000000000000000001\",\n
        \     NULL,\n      \"019298C549B3982415E831422E8FF991D25C589B214B3EC20\",\n
        \     \"09CF5FFD92F0218F704E1F5D4F888FEB1AE5C09674428D9FE\"\n    },\n    {\n
        \     \"NIST P-192\",\n      \"01234567890ABCDEF01234567890ABCDEF01234567890ABCD\",\n
        \     \"019298C549B3982415E831422E8FF991D25C589B214B3EC20\",\n      \"09CF5FFD92F0218F704E1F5D4F888FEB1AE5C09674428D9FE\",\n
        \     NULL,\n      \"06D9D789820A2C19237C96AD4B8D86B87FB49D4D6C728B84F\",\n
        \     \"0000000000000000000000000000000000000000000000001\"\n    },\n\n    /*
        Test #2 for NIST P-192 fast reduction */\n    {\n      \"NIST P-192\",\n      \"09977FBFF49FFB1F115C20E3378819ACCFB2A2A19EF9D00C2\",\n
        \     \"03DA9DE5C6BFA357FDAD6F1B64479BFF526480BF1647D1DDE\",\n      \"0000000000000000000000000000000010000000000000001\",\n
        \     NULL,\n      \"0FA56FFAE18551DEC7B10335F9E4D9844B11EEF9C3124B7CF\",\n
        \     \"06EC4073A143832560600767FDDC0499A1721BE8C2DEE9B68\"\n    },\n    {\n
        \     \"NIST P-192\",\n      \"01234567890ABCDEF01234567890ABCDEF01234567890ABCD\",\n
        \     \"0FA56FFAE18551DEC7B10335F9E4D9844B11EEF9C3124B7CF\",\n      \"06EC4073A143832560600767FDDC0499A1721BE8C2DEE9B68\",\n
        \     NULL,\n      \"03DA9DE5C6BFA357FDAD6F1B64479BFF526480BF1647D1DDE\",\n
        \     \"0000000000000000000000000000000010000000000000001\"\n    },\n\n    /*
        Test #3 for NIST P-192 fast reduction */\n    {\n      \"NIST P-192\",\n      \"09977FBFF49FFB1F115C20E3378819ACCFB2A2A19EF9D00C2\",\n
        \     \"06D9D789820A2C19237C96AD4B8D86B87FB49D4D6C728B84F\",\n      \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFE\",\n
        \     NULL,\n      \"019298C549B3982415E831422E8FF991D25C589B214B3EC20\",\n
        \     \"0630A0026D0FDE708FB1E0A2B0777014D51A3F698BBD72601\"\n    },\n    {\n
        \     \"NIST P-192\",\n      \"01234567890ABCDEF01234567890ABCDEF01234567890ABCD\",\n
        \     \"019298C549B3982415E831422E8FF991D25C589B214B3EC20\",\n      \"0630A0026D0FDE708FB1E0A2B0777014D51A3F698BBD72601\",\n
        \     NULL,\n      \"06D9D789820A2C19237C96AD4B8D86B87FB49D4D6C728B84F\",\n
        \     \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFE\"\n    },\n\n    /*
        Test #4 for NIST P-192 fast reduction */\n    {\n      \"NIST P-192\",\n      \"0FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22830\",\n
        \     \"06D9D789820A2C19237C96AD4B8D86B87FB49D4D6C728B84F\",\n      \"0000000000000000000000000000000000000000000000001\",\n
        \     NULL,\n      \"06D9D789820A2C19237C96AD4B8D86B87FB49D4D6C728B84F\",\n
        \     \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFE\"\n    },\n    {\n
        \     \"NIST P-192\",\n      \"0FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22830\",\n
        \     \"06D9D789820A2C19237C96AD4B8D86B87FB49D4D6C728B84F\",\n      \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFE\",\n
        \     NULL,\n      \"06D9D789820A2C19237C96AD4B8D86B87FB49D4D6C728B84F\",\n
        \     \"0000000000000000000000000000000000000000000000001\"\n    },\n\n    /*
        --- NIST P-224 --- */\n\n    /* Test #1 for NIST P-224 fast reduction */\n
        \   {\n      \"NIST P-224\",\n      \"05793BE916A89FC5475A3267BE6F3530901AEC6010E8C2EA2D79F9EE8\",\n
        \     \"03B5889352DDF7468BF8C0729212AA1B2A3FCB1A844B8BE91ABB753D5\",\n      \"000000000000000000000000000000000000000000000000000000001\",\n
        \     NULL,\n      \"0B5457C849D65FBA90C724C9528F500C10930B744F1ECFF60015238D7\",\n
        \     \"05BBF4A452ADCAFB15484C0E3AAEBF37153543DA0785EBB61A8F2A1B9\"\n    },\n
        \   {\n      \"NIST P-224\",\n      \"01234567890ABCDEF01234567890ABCDEF01234567890ABCDEF012345\",\n
        \     \"0B5457C849D65FBA90C724C9528F500C10930B744F1ECFF60015238D7\",\n      \"05BBF4A452ADCAFB15484C0E3AAEBF37153543DA0785EBB61A8F2A1B9\",\n
        \     NULL,\n      \"03B5889352DDF7468BF8C0729212AA1B2A3FCB1A844B8BE91ABB753D5\",\n
        \     \"000000000000000000000000000000000000000000000000000000001\"\n    },\n\n
        \   /* Test #2 for NIST P-224 fast reduction */\n    {\n      \"NIST P-224\",\n
        \     \"05793BE916A89FC5475A3267BE6F3530901AEC6010E8C2EA2D79F9EE8\",\n      \"02FEB134F401D499197917C3470242239093606F5B8EA463A763C3AC4\",\n
        \     \"0C0000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF\",\n      NULL,\n
        \     \"0384BD56C5E3FA9C109C841485CCB0B8C90FB5928A87388A658E164AA\",\n      \"04701B697F333FD522787DF61F3CDB3F964FF43F288858BC4524CA3CD\"\n
        \   },\n    {\n      \"NIST P-224\",\n      \"01234567890ABCDEF01234567890ABCDEF01234567890ABCDEF012345\",\n
        \     \"0384BD56C5E3FA9C109C841485CCB0B8C90FB5928A87388A658E164AA\",\n      \"04701B697F333FD522787DF61F3CDB3F964FF43F288858BC4524CA3CD\",\n
        \     NULL,\n      \"02FEB134F401D499197917C3470242239093606F5B8EA463A763C3AC4\",\n
        \     \"0C0000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF\"\n    },\n\n
        \   /* Test #3 for NIST P-224 fast reduction */\n    {\n      \"NIST P-224\",\n
        \     \"05793BE916A89FC5475A3267BE6F3530901AEC6010E8C2EA2D79F9EE8\",\n      \"03B5889352DDF7468BF8C0729212AA1B2A3FCB1A844B8BE91ABB753D5\",\n
        \     \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000\",\n      NULL,\n
        \     \"0B5457C849D65FBA90C724C9528F500C10930B744F1ECFF60015238D7\",\n      \"0A440B5BAD523504EAB7B3F1C55140C8DACABC25F87A1449E570D5E48\"\n
        \   },\n    {\n      \"NIST P-224\",\n      \"01234567890ABCDEF01234567890ABCDEF01234567890ABCDEF012345\",\n
        \     \"0B5457C849D65FBA90C724C9528F500C10930B744F1ECFF60015238D7\",\n      \"0A440B5BAD523504EAB7B3F1C55140C8DACABC25F87A1449E570D5E48\",\n
        \     NULL,\n      \"03B5889352DDF7468BF8C0729212AA1B2A3FCB1A844B8BE91ABB753D5\",\n
        \     \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000\"\n    },\n\n
        \   /* Test #4 for NIST P-224 fast reduction */\n    {\n      \"NIST P-224\",\n
        \     \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3C\",\n      \"03B5889352DDF7468BF8C0729212AA1B2A3FCB1A844B8BE91ABB753D5\",\n
        \     \"000000000000000000000000000000000000000000000000000000001\",\n      NULL,\n
        \     \"03B5889352DDF7468BF8C0729212AA1B2A3FCB1A844B8BE91ABB753D5\",\n      \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000\"\n
        \   },\n    {\n      \"NIST P-224\",\n      \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3C\",\n
        \     \"03B5889352DDF7468BF8C0729212AA1B2A3FCB1A844B8BE91ABB753D5\",\n      \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000\",\n
        \     NULL,\n      \"03B5889352DDF7468BF8C0729212AA1B2A3FCB1A844B8BE91ABB753D5\",\n
        \     \"000000000000000000000000000000000000000000000000000000001\"\n    },\n\n
        \   /* --- NIST P-256 --- */\n\n    /* Bug report: https://dev.gnupg.org/T5510
        */\n    {\n      \"NIST P-256\",\n      \"00000000000FF0000000400000000000000000000005D00003277002000010000\",\n
        \     \"00000FFFFFFFF0000000000000000000000000000000000000000000000000000\",\n
        \     \"0CFE26D107A5134D6FEB38CE3577075BDC7AA70FF7523D3B203C8A973F2D3DC8E\",\n
        \     NULL,\n      \"0FD351B304AD50F36153D8193C4BBF7D4C3BEE26E5AF52A9C70133EDFA62C273E\",\n
        \     \"005DA8312615436E9C81B5B0624E68667233ACE6307AFC8056EAE85049CA63226\"\n
        \   },\n    {\n      \"NIST P-256\",\n      \"096D8332E8F1265354CB7D213EF7809BA2D9639DFA634F321420C238CD2ED1830\",\n
        \     \"0FD351B304AD50F36153D8193C4BBF7D4C3BEE26E5AF52A9C70133EDFA62C273E\",\n
        \     \"005DA8312615436E9C81B5B0624E68667233ACE6307AFC8056EAE85049CA63226\",\n
        \     NULL,\n      \"00000FFFFFFFF0000000000000000000000000000000000000000000000000000\",\n
        \     \"0CFE26D107A5134D6FEB38CE3577075BDC7AA70FF7523D3B203C8A973F2D3DC8E\"\n
        \   },\n\n    /* Bug report: https://dev.gnupg.org/T5510 */\n    {\n      \"NIST
        P-256\",\n      \"02020FF2020202020202020202020202020202020202020202020202020202020\",\n
        \     \"0555555FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\",\n
        \     \"073A865E2E128733884FB82CE625ADE822F7D8A59A4DCC09266966CF1BF082856\",\n
        \     NULL,\n      \"05549408909DD3E772D7D669F8FBA2248D334B54BE3D18833223D944A328948C7\",\n
        \     \"06198AC3B29712256DCD9CE1A09471F04267684E1EDD45910D61D0B7847DB2D58\"\n
        \   },\n\n    /* Test #1 for NIST P-256 fast reduction */\n    {\n      \"NIST
        P-256\",\n      \"0F14DE6DA4CBA6F4C7B7E988EEF4D168088B6300BAB207054AA24E6D3019D5A23\",\n
        \     \"08D0177EBAB9C6E9E10DB6DD095DBAC0D6375E8A97B70F611875D877F0069D2C7\",\n
        \     \"00000000000000000000000000000000000000000000000000000000000000001\",\n
        \     NULL,\n      \"0688856989B61877BC62ED4D2EE8E0FCA4588D90C2F9A282FA4AD6ACCFBAA95DF\",\n
        \     \"0D2B9F7FA3982EE114FBBA108E132CECB5A605520661B3C4F7CF2906714B400E2\"\n
        \   },\n    {\n      \"NIST P-256\",\n      \"01234567890ABCDEF01234567890ABCDEF01234567890ABCDEF01234567890ABC\",\n
        \     \"0688856989B61877BC62ED4D2EE8E0FCA4588D90C2F9A282FA4AD6ACCFBAA95DF\",\n
        \     \"0D2B9F7FA3982EE114FBBA108E132CECB5A605520661B3C4F7CF2906714B400E2\",\n
        \     NULL,\n      \"08D0177EBAB9C6E9E10DB6DD095DBAC0D6375E8A97B70F611875D877F0069D2C7\",\n
        \     \"00000000000000000000000000000000000000000000000000000000000000001\"\n
        \   },\n\n    /* Test #2 for NIST P-256 fast reduction */\n    {\n      \"NIST
        P-256\",\n      \"0F14DE6DA4CBA6F4C7B7E988EEF4D168088B6300BAB207054AA24E6D3019D5A23\",\n
        \     \"0F650B5048E7DE9587399E64274C008A4CA0992BA29DC05F7E51243D34C2949EC\",\n
        \     \"0FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001\",\n
        \     NULL,\n      \"0BEF9CCBF964B86724C97CF35D3890CAB3E9802EDAD1A3D9070695FD04C640087\",\n
        \     \"0E540F49BAC4AA879B7A1D7C40CE03F7097A910B77F098DA2F7C441407BAD119B\"\n
        \   },\n    {\n      \"NIST P-256\",\n      \"01234567890ABCDEF01234567890ABCDEF01234567890ABCDEF01234567890ABC\",\n
        \     \"0BEF9CCBF964B86724C97CF35D3890CAB3E9802EDAD1A3D9070695FD04C640087\",\n
        \     \"0E540F49BAC4AA879B7A1D7C40CE03F7097A910B77F098DA2F7C441407BAD119B\",\n
        \     NULL,\n      \"0F650B5048E7DE9587399E64274C008A4CA0992BA29DC05F7E51243D34C2949EC\",\n
        \     \"0FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001\"\n
        \   },\n\n    /* Test #3 for NIST P-256 fast reduction */\n    {\n      \"NIST
        P-256\",\n      \"0F14DE6DA4CBA6F4C7B7E988EEF4D168088B6300BAB207054AA24E6D3019D5A23\",\n
        \     \"08D0177EBAB9C6E9E10DB6DD095DBAC0D6375E8A97B70F611875D877F0069D2C7\",\n
        \     \"0FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFE\",\n
        \     NULL,\n      \"0688856989B61877BC62ED4D2EE8E0FCA4588D90C2F9A282FA4AD6ACCFBAA95DF\",\n
        \     \"02D460804C67D11EFB0445EF71ECD3134A59FAAE099E4C3B0830D6F98EB4BFF1D\"\n
        \   },\n    {\n      \"NIST P-256\",\n      \"01234567890ABCDEF01234567890ABCDEF01234567890ABCDEF01234567890ABC\",\n
        \     \"0688856989B61877BC62ED4D2EE8E0FCA4588D90C2F9A282FA4AD6ACCFBAA95DF\",\n
        \     \"02D460804C67D11EFB0445EF71ECD3134A59FAAE099E4C3B0830D6F98EB4BFF1D\",\n
        \     NULL,\n      \"08D0177EBAB9C6E9E10DB6DD095DBAC0D6375E8A97B70F611875D877F0069D2C7\",\n
        \     \"0FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFE\"\n
        \   },\n\n    /* Test #4 for NIST P-256 fast reduction */\n    {\n      \"NIST
        P-256\",\n      \"0FD1AEFA76594FC4D14169064B1AE89B2224AEB9F9C314E21BDCFEB5F2AFB3B81\",\n
        \     \"0FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001\",\n
        \     \"0AFE89640E5A59FE8F69ADB58DB0059E522E5CC1D0CEDAB7AC6F8455F49AADED2\",\n
        \     NULL,\n      \"0063257268860D4F13CFC6071CE09E3D1BD8B77B08A0714CFF42880F430A4F1CE\",\n
        \     \"09665C75111B793CE3BF6E2BF45F9B55E065D22F93C4063A79DF8C9D139E83173\"\n
        \   },\n    {\n      \"NIST P-256\",\n      \"0C0DE4C0FFEE1111C0DE4C0FFEE1111C0DE4C0FFEE1111C0DE4C0FFEE1111C0DE\",\n
        \     \"0063257268860D4F13CFC6071CE09E3D1BD8B77B08A0714CFF42880F430A4F1CE\",\n
        \     \"09665C75111B793CE3BF6E2BF45F9B55E065D22F93C4063A79DF8C9D139E83173\",\n
        \     NULL,\n      \"0FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001\",\n
        \     \"0AFE89640E5A59FE8F69ADB58DB0059E522E5CC1D0CEDAB7AC6F8455F49AADED2\"\n
        \   },\n\n    /* Test #5 for NIST P-256 fast reduction */\n    {\n      \"NIST
        P-256\",\n      \"0FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632550\",\n
        \     \"08D0177EBAB9C6E9E10DB6DD095DBAC0D6375E8A97B70F611875D877F0069D2C7\",\n
        \     \"00000000000000000000000000000000000000000000000000000000000000001\",\n
        \     NULL,\n      \"08D0177EBAB9C6E9E10DB6DD095DBAC0D6375E8A97B70F611875D877F0069D2C7\",\n
        \     \"0FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFE\"\n
        \   },\n    {\n      \"NIST P-256\",\n      \"0FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632550\",\n
        \     \"08D0177EBAB9C6E9E10DB6DD095DBAC0D6375E8A97B70F611875D877F0069D2C7\",\n
        \     \"0FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFE\",\n
        \     NULL,\n      \"08D0177EBAB9C6E9E10DB6DD095DBAC0D6375E8A97B70F611875D877F0069D2C7\",\n
        \     \"00000000000000000000000000000000000000000000000000000000000000001\"\n
        \   },\n\n    /* --- NIST P-384 --- */\n\n    /* Bug report: https://dev.gnupg.org/T5510
        */\n    {\n      \"NIST P-384\",\n      \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF\"\n
        \     \"581A0DB248B0A77AECEC196ACCC52972\",\n      \"0000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"0000000000FFFFFFFFFFFFFFFFFFFFFC\",\n      \"1B0D6F8FB7F2DE5B8875645B64042AE20F119F3E1CFEFC0215857EEAE5F4A8FC\"\n
        \     \"A737057D69A42C44D958E7CFCC77CE6B\",\n      NULL,\n      \"0000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"0000000000FFFFFFFFFFFFFFFFFFFFFC\",\n      \"E4F29070480D21A4778A9BA49BFBD51DF0EE60C1E30103FDEA7A81151A0B5702\"\n
        \     \"58C8FA81965BD3BB26A7183133883194\"\n    },\n    {\n      \"NIST P-384\",\n
        \     \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF\"\n
        \     \"581A0DB248B0A77AECEC196ACCC52972\",\n      \"0000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"0000000000FFFFFFFFFFFFFFFFFFFFFC\",\n      \"E4F29070480D21A4778A9BA49BFBD51DF0EE60C1E30103FDEA7A81151A0B5702\"\n
        \     \"58C8FA81965BD3BB26A7183133883194\",\n      NULL,\n      \"0000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"0000000000FFFFFFFFFFFFFFFFFFFFFC\",\n      \"1B0D6F8FB7F2DE5B8875645B64042AE20F119F3E1CFEFC0215857EEAE5F4A8FC\"\n
        \     \"A737057D69A42C44D958E7CFCC77CE6B\"\n    },\n\n    /* Test #1 for NIST
        P-384 fast reduction */\n    {\n      \"NIST P-384\",\n      \"0739C89BDC9F071F1DC8391A52A0764EE0E15387DBB56E4FDAD647993F52C9121\"\n
        \     \"D2DCE779834057EEAE390D113E337DDB\",\n      \"02261B2BF605C22F2F3AEF6338719B2C486388AD5240719A5257315969EF01BA2\"\n
        \     \"7F0A104C89704773A81FDABEE6AB5C78\",\n      \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"00000000000000000000000000000001\",\n      NULL,\n      \"041CF9FB4C86482B7EC4850FB8AA31771D5F2D3944168B16D47C307468929A860\"\n
        \     \"B21334F09C2F33AAA565E7190225C793\",\n      \"00512D4C3F17BA90EEDBCC74C7CBA4410A4F68C8FC0EFB9B981501B454F574744\"\n
        \     \"8947DFC29E4BAEE30439A84D455627C6\"\n    },\n    {\n      \"NIST P-384\",\n
        \     \"01234567890ABCDEF01234567890ABCDEF01234567890ABCDEF01234567890ABC\"\n
        \     \"DEF01234567890ABCDEF01234567890A\",\n      \"041CF9FB4C86482B7EC4850FB8AA31771D5F2D3944168B16D47C307468929A860\"\n
        \     \"B21334F09C2F33AAA565E7190225C793\",\n      \"00512D4C3F17BA90EEDBCC74C7CBA4410A4F68C8FC0EFB9B981501B454F574744\"\n
        \     \"8947DFC29E4BAEE30439A84D455627C6\",\n      NULL,\n      \"02261B2BF605C22F2F3AEF6338719B2C486388AD5240719A5257315969EF01BA2\"\n
        \     \"7F0A104C89704773A81FDABEE6AB5C78\",\n      \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"00000000000000000000000000000001\"\n    },\n\n    /* Test #2 for NIST
        P-384 fast reduction */\n    {\n      \"NIST P-384\",\n      \"0739C89BDC9F071F1DC8391A52A0764EE0E15387DBB56E4FDAD647993F52C9121\"\n
        \     \"D2DCE779834057EEAE390D113E337DDB\",\n      \"0C4A2DEA4D2A725EAEEFA6CA6FA301155510309F46EA1C70C909B988B49E1D612\"\n
        \     \"468051EB758869259D1BF892E0A555C2\",\n      \"00000000000000000000000000000000000000000000000000000000000000001\"\n
        \     \"00000000FFFFFFFFFFFFFFFF00000001\",\n      NULL,\n      \"0ED97AD545DB70C379C94BDA35926921F26FA9B9B338D32D8F2A163DBBEC5CFAF\"\n
        \     \"600830D133A14C0B599B53E57D206DE2\",\n      \"069B72397B725CA8FA7A59173D4F588273C8303B5F6A5AFD8ACBD6B56CC7CCF32\"\n
        \     \"B6FCE2DBB991DE4C6E9CCFAF21B8ECCF\"\n    },\n    {\n      \"NIST P-384\",\n
        \     \"01234567890ABCDEF01234567890ABCDEF01234567890ABCDEF01234567890ABC\"\n
        \     \"DEF01234567890ABCDEF01234567890A\",\n      \"0ED97AD545DB70C379C94BDA35926921F26FA9B9B338D32D8F2A163DBBEC5CFAF\"\n
        \     \"600830D133A14C0B599B53E57D206DE2\",\n      \"069B72397B725CA8FA7A59173D4F588273C8303B5F6A5AFD8ACBD6B56CC7CCF32\"\n
        \     \"B6FCE2DBB991DE4C6E9CCFAF21B8ECCF\",\n      NULL,\n      \"0C4A2DEA4D2A725EAEEFA6CA6FA301155510309F46EA1C70C909B988B49E1D612\"\n
        \     \"468051EB758869259D1BF892E0A555C2\",\n      \"00000000000000000000000000000000000000000000000000000000000000001\"\n
        \     \"00000000FFFFFFFFFFFFFFFF00000001\"\n    },\n\n    /* Test #3 for NIST
        P-384 fast reduction */\n    {\n      \"NIST P-384\",\n      \"0739C89BDC9F071F1DC8391A52A0764EE0E15387DBB56E4FDAD647993F52C9121\"\n
        \     \"D2DCE779834057EEAE390D113E337DDB\",\n      \"05ADE55A6BD4FA27FCA00D1C38653843E3E8421E018DFC7DDAD34076C4D41A621\"\n
        \     \"980D62417D12330DAE5948C2C6D7D347\",\n      \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE\"\n
        \     \"FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFD\",\n      NULL,\n      \"0A85779C7427F50E92166268399F4ABEDDAA7B8866B0A495ED603BE80A8900786\"\n
        \     \"DD287FF5C28708D039AF02DD1FC197CC\",\n      \"0CB97C2A5822A86B82DFE300E7F6278A087506A718EBD4FF317D7529581E98470\"\n
        \     \"56FCE58652AA1B6D6FBB62851099A9FF\"\n    },\n    {\n      \"NIST P-384\",\n
        \     \"01234567890ABCDEF01234567890ABCDEF01234567890ABCDEF01234567890ABC\"\n
        \     \"DEF01234567890ABCDEF01234567890A\",\n      \"0A85779C7427F50E92166268399F4ABEDDAA7B8866B0A495ED603BE80A8900786\"\n
        \     \"DD287FF5C28708D039AF02DD1FC197CC\",\n      \"0CB97C2A5822A86B82DFE300E7F6278A087506A718EBD4FF317D7529581E98470\"\n
        \     \"56FCE58652AA1B6D6FBB62851099A9FF\",\n      NULL,\n      \"05ADE55A6BD4FA27FCA00D1C38653843E3E8421E018DFC7DDAD34076C4D41A621\"\n
        \     \"980D62417D12330DAE5948C2C6D7D347\",\n      \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE\"\n
        \     \"FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFD\"\n    },\n\n    /* Test #4 for NIST
        P-384 fast reduction */\n    {\n      \"NIST P-384\",\n      \"0739C89BDC9F071F1DC8391A52A0764EE0E15387DBB56E4FDAD647993F52C9121\"\n
        \     \"D2DCE779834057EEAE390D113E337DDB\",\n      \"02261B2BF605C22F2F3AEF6338719B2C486388AD5240719A5257315969EF01BA2\"\n
        \     \"7F0A104C89704773A81FDABEE6AB5C78\",\n      \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE\"\n
        \     \"FFFFFFFF0000000000000000FFFFFFFE\",\n      NULL,\n      \"041CF9FB4C86482B7EC4850FB8AA31771D5F2D3944168B16D47C307468929A860\"\n
        \     \"B21334F09C2F33AAA565E7190225C793\",\n      \"0FAED2B3C0E8456F1124338B38345BBEF5B0973703F1046467EAFE4BAB0A8B8BA\"\n
        \     \"76B8203C61B4511CFBC657B3BAA9D839\"\n    },\n    {\n      \"NIST P-384\",\n
        \     \"01234567890ABCDEF01234567890ABCDEF01234567890ABCDEF01234567890ABC\"\n
        \     \"DEF01234567890ABCDEF01234567890A\",\n      \"041CF9FB4C86482B7EC4850FB8AA31771D5F2D3944168B16D47C307468929A860\"\n
        \     \"B21334F09C2F33AAA565E7190225C793\",\n      \"0FAED2B3C0E8456F1124338B38345BBEF5B0973703F1046467EAFE4BAB0A8B8BA\"\n
        \     \"76B8203C61B4511CFBC657B3BAA9D839\",\n      NULL,\n      \"02261B2BF605C22F2F3AEF6338719B2C486388AD5240719A5257315969EF01BA2\"\n
        \     \"7F0A104C89704773A81FDABEE6AB5C78\",\n      \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE\"\n
        \     \"FFFFFFFF0000000000000000FFFFFFFE\"\n    },\n\n    /* Test #5 for NIST
        P-384 fast reduction */\n    {\n      \"NIST P-384\",\n      \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF\"\n
        \     \"581A0DB248B0A77AECEC196ACCC52972\",\n      \"02261B2BF605C22F2F3AEF6338719B2C486388AD5240719A5257315969EF01BA2\"\n
        \     \"7F0A104C89704773A81FDABEE6AB5C78\",\n      \"0000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"00000000000000000000000000000001\",\n      NULL,\n      \"02261B2BF605C22F2F3AEF6338719B2C486388AD5240719A5257315969EF01BA2\"\n
        \     \"7F0A104C89704773A81FDABEE6AB5C78\",\n      \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE\"\n
        \     \"FFFFFFFF0000000000000000FFFFFFFE\"\n    },\n    {\n      \"NIST P-384\",\n
        \     \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF\"\n
        \     \"581A0DB248B0A77AECEC196ACCC52972\",\n      \"02261B2BF605C22F2F3AEF6338719B2C486388AD5240719A5257315969EF01BA2\"\n
        \     \"7F0A104C89704773A81FDABEE6AB5C78\",\n      \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE\"\n
        \     \"FFFFFFFF0000000000000000FFFFFFFE\",\n      NULL,\n      \"02261B2BF605C22F2F3AEF6338719B2C486388AD5240719A5257315969EF01BA2\"\n
        \     \"7F0A104C89704773A81FDABEE6AB5C78\",\n      \"0000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"00000000000000000000000000000001\",\n    },\n\n    /* --- NIST P-521
        --- */\n\n    /* Test #1 for NIST P-521 fast reduction */\n    {\n      \"NIST
        P-521\",\n      \"014395758AE77FEE059DA0B5ABC00C374ACA51984B95451C08AD8309DC8CEFB9F\"\n
        \     \"0B7D03950131E54E63319D4592D679C1F8CFD610289F7B791D5C1C09B7BC5122195\",\n
        \     \"00D9CB7A32DAB342F863EDB340F3EA61DDF833E755CE66BB1A918A42714BA05BC\"\n
        \     \"DF4FF10994F616A9D80CD0B48B326E3A8A2A8F5634D824875B6E71FB7CDDD7B5018\",\n
        \     \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"0000000000000000000000000000000000000000000000000000000000000000001\",\n
        \     NULL,\n      \"0091EC67F53DC1C752724942D6B94A3D66D91C16C997F42524400D3CD10074C07\"\n
        \     \"FF6F7981A44292B25B478AE551DE980999404EC9221FD3FACE26C40FE783576EF1B\",\n
        \     \"00534EE41FFDDCE7E171AF630593437896A4C0344900671D1886ED21EF61AC26D\"\n
        \     \"A3DF4C6D7F1330B3EA25ABB6CA2127A605A650F2A6E916EAB757FE8B43116227FA1\"\n
        \   },\n    {\n      \"NIST P-521\",\n      \"01234567890ABCDEF01234567890ABCDEF01234567890ABCDEF01234567890ABC\"\n
        \     \"DEF01234567890ABCDEF01234567890ABCDEF01234567890ABCDEF01234567890AB\",\n
        \     \"0091EC67F53DC1C752724942D6B94A3D66D91C16C997F42524400D3CD10074C07\"\n
        \     \"FF6F7981A44292B25B478AE551DE980999404EC9221FD3FACE26C40FE783576EF1B\",\n
        \     \"00534EE41FFDDCE7E171AF630593437896A4C0344900671D1886ED21EF61AC26D\"\n
        \     \"A3DF4C6D7F1330B3EA25ABB6CA2127A605A650F2A6E916EAB757FE8B43116227FA1\",\n
        \     NULL,\n      \"00D9CB7A32DAB342F863EDB340F3EA61DDF833E755CE66BB1A918A42714BA05BC\"\n
        \     \"DF4FF10994F616A9D80CD0B48B326E3A8A2A8F5634D824875B6E71FB7CDDD7B5018\",\n
        \     \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"0000000000000000000000000000000000000000000000000000000000000000001\"\n
        \   },\n\n    /* Test #2 for NIST P-521 fast reduction */\n    {\n      \"NIST
        P-521\",\n      \"014395758AE77FEE059DA0B5ABC00C374ACA51984B95451C08AD8309DC8CEFB9F\"\n
        \     \"0B7D03950131E54E63319D4592D679C1F8CFD610289F7B791D5C1C09B7BC5122195\",\n
        \     \"01A255D0D3B19B08BE171002C6D73096CA0E41498E805ABF61016EBF1A41E8018\"\n
        \     \"D5F876D2870BFF35AA254BE8D6A303A79C4E4A3427AA4BDF8EE59DCAC22F4C83CD6\",\n
        \     \"01000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"0000000000000000000000000000000000000000000000000000000000000000003\",\n
        \     NULL,\n      \"00CEA3C8CE463F76789E7B0FCBEE5253E64BFA0FCBE101944CEFFC04D1786FF88\"\n
        \     \"C9EC5650BFAC13D4037C34064E6E0CE00AA666EAC026F7EE4CE6F7805A10AD9C743\",\n
        \     \"01F2D67A2DD50C916C48011BEE7BADFA488CD8C4F8BD69064C8BB454579E7B2FB\"\n
        \     \"EDE9B52418239251C5B81638970916D1B3CACD25487927978CE7B0CD2A25916F9FE\"\n
        \   },\n    {\n      \"NIST P-521\",\n      \"01234567890ABCDEF01234567890ABCDEF01234567890ABCDEF01234567890ABC\"\n
        \     \"DEF01234567890ABCDEF01234567890ABCDEF01234567890ABCDEF01234567890AB\",\n
        \     \"00CEA3C8CE463F76789E7B0FCBEE5253E64BFA0FCBE101944CEFFC04D1786FF88\"\n
        \     \"C9EC5650BFAC13D4037C34064E6E0CE00AA666EAC026F7EE4CE6F7805A10AD9C743\",\n
        \     \"01F2D67A2DD50C916C48011BEE7BADFA488CD8C4F8BD69064C8BB454579E7B2FB\"\n
        \     \"EDE9B52418239251C5B81638970916D1B3CACD25487927978CE7B0CD2A25916F9FE\",\n
        \     NULL,\n      \"01A255D0D3B19B08BE171002C6D73096CA0E41498E805ABF61016EBF1A41E8018\"\n
        \     \"D5F876D2870BFF35AA254BE8D6A303A79C4E4A3427AA4BDF8EE59DCAC22F4C83CD6\",\n
        \     \"01000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"0000000000000000000000000000000000000000000000000000000000000000003\"\n
        \   },\n\n    /* Test #3 for NIST P-521 fast reduction */\n    {\n      \"NIST
        P-521\",\n      \"014395758AE77FEE059DA0B5ABC00C374ACA51984B95451C08AD8309DC8CEFB9F\"\n
        \     \"0B7D03950131E54E63319D4592D679C1F8CFD610289F7B791D5C1C09B7BC5122195\",\n
        \     \"00D9CB7A32DAB342F863EDB340F3EA61DDF833E755CE66BB1A918A42714BA05BC\"\n
        \     \"DF4FF10994F616A9D80CD0B48B326E3A8A2A8F5634D824875B6E71FB7CDDD7B5018\",\n
        \     \"01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\"\n
        \     \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE\",\n
        \     NULL,\n      \"0091EC67F53DC1C752724942D6B94A3D66D91C16C997F42524400D3CD10074C07\"\n
        \     \"FF6F7981A44292B25B478AE551DE980999404EC9221FD3FACE26C40FE783576EF1B\",\n
        \     \"01ACB11BE00223181E8E509CFA6CBC87695B3FCBB6FF98E2E77912DE109E53D92\"\n
        \     \"5C20B39280ECCF4C15DA544935DED859FA59AF0D5916E91548A80174BCEE9DD805E\"\n
        \   },\n    {\n      \"NIST P-521\",\n      \"01234567890ABCDEF01234567890ABCDEF01234567890ABCDEF01234567890ABC\"\n
        \     \"DEF01234567890ABCDEF01234567890ABCDEF01234567890ABCDEF01234567890AB\",\n
        \     \"0091EC67F53DC1C752724942D6B94A3D66D91C16C997F42524400D3CD10074C07\"\n
        \     \"FF6F7981A44292B25B478AE551DE980999404EC9221FD3FACE26C40FE783576EF1B\",\n
        \     \"01ACB11BE00223181E8E509CFA6CBC87695B3FCBB6FF98E2E77912DE109E53D92\"\n
        \     \"5C20B39280ECCF4C15DA544935DED859FA59AF0D5916E91548A80174BCEE9DD805E\",\n
        \     NULL,\n      \"00D9CB7A32DAB342F863EDB340F3EA61DDF833E755CE66BB1A918A42714BA05BC\"\n
        \     \"DF4FF10994F616A9D80CD0B48B326E3A8A2A8F5634D824875B6E71FB7CDDD7B5018\",\n
        \     \"01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\"\n
        \     \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE\"\n
        \   },\n\n    /* Test #4 for NIST P-521 fast reduction */\n    {\n      \"NIST
        P-521\",\n      \"01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\"\n
        \     \"FFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386408\",\n
        \     \"00D9CB7A32DAB342F863EDB340F3EA61DDF833E755CE66BB1A918A42714BA05BC\"\n
        \     \"DF4FF10994F616A9D80CD0B48B326E3A8A2A8F5634D824875B6E71FB7CDDD7B5018\",\n
        \     \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"0000000000000000000000000000000000000000000000000000000000000000001\",\n
        \     NULL,\n      \"00D9CB7A32DAB342F863EDB340F3EA61DDF833E755CE66BB1A918A42714BA05BC\"\n
        \     \"DF4FF10994F616A9D80CD0B48B326E3A8A2A8F5634D824875B6E71FB7CDDD7B5018\",\n
        \     \"01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\"\n
        \     \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE\"\n
        \   },\n    {\n      \"NIST P-521\",\n      \"01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\"\n
        \     \"FFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386408\",\n
        \     \"00D9CB7A32DAB342F863EDB340F3EA61DDF833E755CE66BB1A918A42714BA05BC\"\n
        \     \"DF4FF10994F616A9D80CD0B48B326E3A8A2A8F5634D824875B6E71FB7CDDD7B5018\",\n
        \     \"01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\"\n
        \     \"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE\",\n
        \     NULL,\n      \"00D9CB7A32DAB342F863EDB340F3EA61DDF833E755CE66BB1A918A42714BA05BC\"\n
        \     \"DF4FF10994F616A9D80CD0B48B326E3A8A2A8F5634D824875B6E71FB7CDDD7B5018\",\n
        \     \"00000000000000000000000000000000000000000000000000000000000000000\"\n
        \     \"0000000000000000000000000000000000000000000000000000000000000000001\"\n
        \   },\n\n    /* --- secp256k1 --- */\n\n    /* Test #1 for secp256k1 fast
        reduction */\n    {\n      \"secp256k1\",\n      \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140\",\n
        \     \"0CBB0DEAB125754F1FDB2038B0434ED9CB3FB53AB735391129994A535D925F673\",\n
        \     \"00000000000000000000000000000000000000000000000000000000000000001\",\n
        \     NULL,\n      \"0CBB0DEAB125754F1FDB2038B0434ED9CB3FB53AB735391129994A535D925F673\",\n
        \     \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2E\"\n
        \   },\n    {\n      \"secp256k1\",\n      \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140\",\n
        \     \"0CBB0DEAB125754F1FDB2038B0434ED9CB3FB53AB735391129994A535D925F673\",\n
        \     \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2E\",\n
        \     NULL,\n      \"0CBB0DEAB125754F1FDB2038B0434ED9CB3FB53AB735391129994A535D925F673\",\n
        \     \"00000000000000000000000000000000000000000000000000000000000000001\"\n
        \   },\n\n    /* Test #2 for secp256k1 fast reduction */\n    {\n      \"secp256k1\",\n
        \     \"0D1C9BD73010C07E357CBBD709520D081A5423846B5860C97ED2553F765A8475A\",\n
        \     \"0CBB0DEAB125754F1FDB2038B0434ED9CB3FB53AB735391129994A535D925F673\",\n
        \     \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2E\",\n
        \     NULL,\n      \"0AC71D7AB263AAD9929E3324B857C31FF3FF3E90571C8BE45AB7D5833B1A19533\",\n
        \     \"0CA4B80E756494A1897628246243770B3BE1AD0EEE79581D8C8EE80F053CBB44A\"\n
        \   },\n    {\n      \"secp256k1\",\n      \"01234567890ABCDEF01234567890ABCDEF01234567890ABCDEF01234567890ABC\",\n
        \     \"0AC71D7AB263AAD9929E3324B857C31FF3FF3E90571C8BE45AB7D5833B1A19533\",\n
        \     \"0CA4B80E756494A1897628246243770B3BE1AD0EEE79581D8C8EE80F053CBB44A\",\n
        \     NULL,\n      \"0CBB0DEAB125754F1FDB2038B0434ED9CB3FB53AB735391129994A535D925F673\",\n
        \     \"0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2E\"\n
        \   },\n\n    /* Test #3 for secp256k1 fast reduction */\n    {\n      \"secp256k1\",\n
        \     \"0D1C9BD73010C07E357CBBD709520D081A5423846B5860C97ED2553F765A8475A\",\n
        \     \"0A7E45D967E07558AE405F7F571ADD1ACF966F3619FD4F2A9708EEB766B98F423\",\n
        \     \"080000000000000000000000000000000000000000000000000000001000003D1\",\n
        \     NULL,\n      \"0173E9E40BA3CCD35E4393C219A15C375783112C4C965C70BC043E8B17A342E79\",\n
        \     \"0AAA2D3810F2BB72D06FF8CA3B19027F4450CC73C0338F6379D6006CC239B1CD6\"\n
        \   },\n    {\n      \"secp256k1\",\n      \"01234567890ABCDEF01234567890ABCDEF01234567890ABCDEF01234567890ABC\",\n
        \     \"0173E9E40BA3CCD35E4393C219A15C375783112C4C965C70BC043E8B17A342E79\",\n
        \     \"0AAA2D3810F2BB72D06FF8CA3B19027F4450CC73C0338F6379D6006CC239B1CD6\",\n
        \     NULL,\n      \"0A7E45D967E07558AE405F7F571ADD1ACF966F3619FD4F2A9708EEB766B98F423\",\n
        \     \"080000000000000000000000000000000000000000000000000000001000003D1\"\n
        \   },\n\n    { NULL, NULL, NULL, NULL, NULL, NULL }\n  }"
      pos:
        line_end: 3610
        line_start: 3601
        source_file: /src/libgcrypt/tests/t-mpi-point.c
    typedefs: []
    union: []
- function_names:
  - show_sexp
  - show_mpi
  - check_generated_rsa_key
  - check_rsa_keys
  - check_elg_keys
  - check_dsa_keys
  - check_generated_ecc_key
  - check_ecc_keys
  - check_generated_kem_key
  - check_kem_keys
  - check_nonce
  - progress_cb
  - usage
  - main
  source_file: /src/libgcrypt/tests/keygen.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/tests/keygen.c
      type_or_value: '"keygen"'
    - item_type: preproc_def
      name: TEST_NOFIPS
      pos:
        line_end: 663
        line_start: 662
        source_file: /src/libgcrypt/tests/keygen.c
      type_or_value: (1 << 0)
    structs:
    - fields:
      - name: '*algonames'
        type: char
      - name: flags
        type: int
      item_type: struct
      name: "tv[] = {\n    { \"sntrup761\", TEST_NOFIPS },\n#if USE_KYBER\n    { \"kyber512\",
        TEST_NOFIPS },\n    { \"kyber768\", TEST_NOFIPS },\n    { \"kyber1024\", TEST_NOFIPS
        },\n#endif\n  }"
      pos:
        line_end: 670
        line_start: 667
        source_file: /src/libgcrypt/tests/keygen.c
    typedefs: []
    union: []
- function_names:
  - show_note
  - show_sexp
  - prepend_srcdir
  - read_textline
  - copy_data
  - hex2buffer
  - hexdowncase
  - one_test
  - check_ed448
  - main
  source_file: /src/libgcrypt/tests/t-ed448.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/tests/t-ed448.c
      type_or_value: '"t-ed448"'
    - item_type: preproc_def
      name: N_TESTS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/tests/t-ed448.c
      type_or_value: '11'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/tests/sha3-384.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_get_config
  - main
  source_file: /src/libgcrypt/tests/version.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/tests/version.c
      type_or_value: '"version"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_kem_sntrup761
  - test_kem_mceliece6688128f
  - test_kem_mlkem512
  - test_kem_mlkem768
  - test_kem_mlkem1024
  - test_kem_raw_x25519
  - test_kem_dhkem_x25519
  - check_kem
  - main
  source_file: /src/libgcrypt/tests/t-kem.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libgcrypt/tests/t-kem.c
      type_or_value: '"t-kem"'
    - item_type: preproc_def
      name: N_TESTS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/tests/t-kem.c
      type_or_value: '10'
    - item_type: preproc_def
      name: SELECTED_ALGO_SNTRUP761
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/libgcrypt/tests/t-kem.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: SELECTED_ALGO_MLKEM512
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/libgcrypt/tests/t-kem.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: SELECTED_ALGO_MLKEM768
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/libgcrypt/tests/t-kem.c
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: SELECTED_ALGO_MLKEM1024
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/libgcrypt/tests/t-kem.c
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: SELECTED_ALGO_RAW_X25519
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/libgcrypt/tests/t-kem.c
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: SELECTED_ALGO_DHKEM25519
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/libgcrypt/tests/t-kem.c
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: SELECTED_ALGO_CM6688128F
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/libgcrypt/tests/t-kem.c
      type_or_value: (1 << 6)
    structs: []
    typedefs: []
    union: []
- function_names:
  - show_sexp
  - data_from_hex
  - extract_cmp_data
  - check_dsa_rfc6979
  - main
  source_file: /src/libgcrypt/tests/dsa-rfc6979.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/tests/dsa-rfc6979.c
      type_or_value: '"dsa-rfc6979"'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*key'
        type: char
      - name: fips
        type: int
      item_type: struct
      name: "keys[] = {\n    {\n      \"DSA, 1024 bits\",\n      \"(private-key\"\n
        \     \" (DSA\"\n      \" (p #86F5CA03DCFEB225063FF830A0C769B9DD9D6153AD91D7CE27F787C43278B447\"\n
        \     \"     E6533B86B18BED6E8A48B784A14C252C5BE0DBF60B86D6385BD2F12FB763ED88\"\n
        \     \"     73ABFD3F5BA2E0A8C0A59082EAC056935E529DAF7C610467899C77ADEDFC846C\"\n
        \     \"     881870B7B19B2B58F9BE0521A17002E3BDD6B86685EE90B3D9A1B02B782B1779#)\"\n
        \     \" (q #996F967F6C8E388D9E28D01E205FBA957A5698B1#)\"\n      \" (g #07B0F92546150B62514BB771E2A0C0CE387F03BDA6C56B505209FF25FD3C133D\"\n
        \     \"     89BBCD97E904E09114D9A7DEFDEADFC9078EA544D2E401AEECC40BB9FBBF78FD\"\n
        \     \"     87995A10A1C27CB7789B594BA7EFB5C4326A9FE59A070E136DB77175464ADCA4\"\n
        \     \"     17BE5DCE2F40D10A46A3A3943F26AB7FD9C0398FF8C76EE0A56826A8A88F1DBD#)\"\n
        \     \" (x #411602CB19A6CCC34494D79D98EF1E7ED5AF25F7#)\"\n      \" (y #5DF5E01DED31D0297E274E1691C192FE5868FEF9E19A84776454B100CF16F653\"\n
        \     \"     92195A38B90523E2542EE61871C0440CB87C322FC4B4D2EC5E1E7EC766E1BE8D\"\n
        \     \"     4CE935437DC11C3C8FD426338933EBFE739CB3465F4D3668C5E473508253B1E6\"\n
        \     \"     82F65CBDC4FAE93C2EA212390E54905A86E2223170B44EAA7DA5DD9FFCFB7F3B#)\"\n
        \     \" ))\", 0\n    },\n    {\n      \"DSA, 2048 bits\",\n      \"(private-key\"\n
        \     \" (DSA\"\n      \" (p #9DB6FB5951B66BB6FE1E140F1D2CE5502374161FD6538DF1648218642F0B5C48\"\n
        \     \"     C8F7A41AADFA187324B87674FA1822B00F1ECF8136943D7C55757264E5A1A44F\"\n
        \     \"     FE012E9936E00C1D3E9310B01C7D179805D3058B2A9F4BB6F9716BFE6117C6B5\"\n
        \     \"     B3CC4D9BE341104AD4A80AD6C94E005F4B993E14F091EB51743BF33050C38DE2\"\n
        \     \"     35567E1B34C3D6A5C0CEAA1A0F368213C3D19843D0B4B09DCB9FC72D39C8DE41\"\n
        \     \"     F1BF14D4BB4563CA28371621CAD3324B6A2D392145BEBFAC748805236F5CA2FE\"\n
        \     \"     92B871CD8F9C36D3292B5509CA8CAA77A2ADFC7BFD77DDA6F71125A7456FEA15\"\n
        \     \"     3E433256A2261C6A06ED3693797E7995FAD5AABBCFBE3EDA2741E375404AE25B#)\"\n
        \     \" (q #F2C3119374CE76C9356990B465374A17F23F9ED35089BD969F61C6DDE9998C1F#)\"\n
        \     \" (g #5C7FF6B06F8F143FE8288433493E4769C4D988ACE5BE25A0E24809670716C613\"\n
        \     \"     D7B0CEE6932F8FAA7C44D2CB24523DA53FBE4F6EC3595892D1AA58C4328A06C4\"\n
        \     \"     6A15662E7EAA703A1DECF8BBB2D05DBE2EB956C142A338661D10461C0D135472\"\n
        \     \"     085057F3494309FFA73C611F78B32ADBB5740C361C9F35BE90997DB2014E2EF5\"\n
        \     \"     AA61782F52ABEB8BD6432C4DD097BC5423B285DAFB60DC364E8161F4A2A35ACA\"\n
        \     \"     3A10B1C4D203CC76A470A33AFDCBDD92959859ABD8B56E1725252D78EAC66E71\"\n
        \     \"     BA9AE3F1DD2487199874393CD4D832186800654760E1E34C09E4D155179F9EC0\"\n
        \     \"     DC4473F996BDCE6EED1CABED8B6F116F7AD9CF505DF0F998E34AB27514B0FFE7#)\"\n
        \     \" (x #69C7548C21D0DFEA6B9A51C9EAD4E27C33D3B3F180316E5BCAB92C933F0E4DBC#)\"\n
        \     \" (y #667098C654426C78D7F8201EAC6C203EF030D43605032C2F1FA937E5237DBD94\"\n
        \     \"     9F34A0A2564FE126DC8B715C5141802CE0979C8246463C40E6B6BDAA2513FA61\"\n
        \     \"     1728716C2E4FD53BC95B89E69949D96512E873B9C8F8DFD499CC312882561ADE\"\n
        \     \"     CB31F658E934C0C197F2C4D96B05CBAD67381E7B768891E4DA3843D24D94CDFB\"\n
        \     \"     5126E9B8BF21E8358EE0E0A30EF13FD6A664C0DCE3731F7FB49A4845A4FD8254\"\n
        \     \"     687972A2D382599C9BAC4E0ED7998193078913032558134976410B89D2C171D1\"\n
        \     \"     23AC35FD977219597AA7D15C1A9A428E59194F75C721EBCBCFAE44696A499AFA\"\n
        \     \"     74E04299F132026601638CB87AB79190D4A0986315DA8EEC6561C938996BEADF#)\"\n
        \     \" ))\", 0\n    },\n    {\n      \"ECDSA, 192 bits (prime field)\",\n
        \     \"(private-key\"\n      \" (ecdsa\"\n      \" (curve \\\"NIST P-192\\\")\"\n
        \     \" (q #04AC2C77F529F91689FEA0EA5EFEC7F210D8EEA0B9E047ED56\"\n      \"
        \      3BC723E57670BD4887EBC732C523063D0A7C957BC97C1C43#)\"\n      \" (d #6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4#)\"\n
        \     \" ))\", 0\n    },\n    {\n      \"ECDSA, 224 bits (prime field)\",\n
        \     \"(private-key\"\n      \" (ecdsa\"\n      \" (curve \\\"NIST P-224\\\")\"\n
        \     \" (q #04\"\n      \"     00CF08DA5AD719E42707FA431292DEA11244D64FC51610D94B130D6C\"\n
        \     \"     EEAB6F3DEBE455E3DBF85416F7030CBD94F34F2D6F232C69F3C1385A#)\"\n
        \     \" (d #F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1#)\"\n
        \     \" ))\", 1\n    },\n    {\n      \"ECDSA, 256 bits (prime field)\",\n
        \     \"(private-key\"\n      \" (ecdsa\"\n      \" (curve \\\"NIST P-256\\\")\"\n
        \     \" (q #04\"\n      \"     60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6\"\n
        \     \"     7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299#)\"\n
        \     \" (d #C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721#)\"\n
        \     \" ))\", 1\n    },\n    {\n      \"ECDSA, 384 bits (prime field)\",\n
        \     \"(private-key\"\n      \" (ecdsa\"\n      \" (curve \\\"NIST P-384\\\")\"\n
        \     \" (q #04\"\n      \"     EC3A4E415B4E19A4568618029F427FA5DA9A8BC4AE92E02E06AAE5286B300C64\"\n
        \     \"     DEF8F0EA9055866064A254515480BC13\"\n      \"     8015D9B72D7D57244EA8EF9AC0C621896708A59367F9DFB9F54CA84B3F1C9DB1\"\n
        \     \"     288B231C3AE0D4FE7344FD2533264720#)\"\n      \" (d #6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D8\"\n
        \     \"     96D5724E4C70A825F872C9EA60D2EDF5#)\"\n      \" ))\", 1\n    },\n
        \   {\n      \"ECDSA, 521 bits (prime field)\",\n      \"(private-key\"\n
        \     \" (ecdsa\"\n      \" (curve \\\"NIST P-521\\\")\"\n      \" (q #04\"\n
        \     \"     01894550D0785932E00EAA23B694F213F8C3121F86DC97A04E5A7167DB4E5BCD\"\n
        \     \"     371123D46E45DB6B5D5370A7F20FB633155D38FFA16D2BD761DCAC474B9A2F50\"\n
        \     \"     23A4\"\n      \"     00493101C962CD4D2FDDF782285E64584139C2F91B47F87FF82354D6630F746A\"\n
        \     \"     28A0DB25741B5B34A828008B22ACC23F924FAAFBD4D33F81EA66956DFEAA2BFD\"\n
        \     \"     FCF5#)\"\n      \" (d #FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75\"\n
        \     \"     CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B8\"\n
        \     \"     3538#)\"\n      \" ))\", 1\n    },\n    { NULL }\n  }"
      pos:
        line_end: 115
        line_start: 111
        source_file: /src/libgcrypt/tests/dsa-rfc6979.c
    - fields:
      - name: '*keyname'
        type: char
      - name: '*name'
        type: char
      - name: '*hashname'
        type: char
      - name: '*message'
        type: char
      - name: '*k'
        type: char
      item_type: struct
      name: "tests[] = {\n    {\n      \"DSA, 1024 bits\",\n      \"With SHA-1, message
        = \\\"sample\\\"\",\n      \"sha1\", \"sample\",\n      \"7BDB6B0FF756E1BB5D53583EF979082F9AD5BD5B\",\n
        \     \"2E1A0C2562B2912CAAF89186FB0F42001585DA55\",\n      \"29EFB6B0AFF2D7A68EB70CA313022253B9A88DF5\"\n
        \   },\n    {\n      \"DSA, 1024 bits\",\n      \"With SHA-224, message =
        \\\"sample\\\"\",\n      \"sha224\", \"sample\",\n      \"562097C06782D60C3037BA7BE104774344687649\",\n
        \     \"4BC3B686AEA70145856814A6F1BB53346F02101E\",\n      \"410697B92295D994D21EDD2F4ADA85566F6F94C1\"\n
        \   },\n    {\n      \"DSA, 1024 bits\",\n      \"With SHA-256, message =
        \\\"sample\\\"\",\n      \"sha256\", \"sample\",\n      \"519BA0546D0C39202A7D34D7DFA5E760B318BCFB\",\n
        \     \"81F2F5850BE5BC123C43F71A3033E9384611C545\",\n      \"4CDD914B65EB6C66A8AAAD27299BEE6B035F5E89\"\n
        \   },\n    {\n      \"DSA, 1024 bits\",\n      \"With SHA-384, message =
        \\\"sample\\\"\",\n      \"sha384\", \"sample\",\n      \"95897CD7BBB944AA932DBC579C1C09EB6FCFC595\",\n
        \     \"07F2108557EE0E3921BC1774F1CA9B410B4CE65A\",\n      \"54DF70456C86FAC10FAB47C1949AB83F2C6F7595\"\n
        \   },\n    {\n      \"DSA, 1024 bits\",\n      \"With SHA-512, message =
        \\\"sample\\\"\",\n      \"sha512\", \"sample\",\n      \"09ECE7CA27D0F5A4DD4E556C9DF1D21D28104F8B\",\n
        \     \"16C3491F9B8C3FBBDD5E7A7B667057F0D8EE8E1B\",\n      \"02C36A127A7B89EDBB72E4FFBC71DABC7D4FC69C\"\n
        \   },\n    {\n      \"DSA, 1024 bits\",\n      \"With SHA-1, message = \\\"test\\\"\",\n
        \     \"sha1\", \"test\",\n      \"5C842DF4F9E344EE09F056838B42C7A17F4A6433\",\n
        \     \"42AB2052FD43E123F0607F115052A67DCD9C5C77\",\n      \"183916B0230D45B9931491D4C6B0BD2FB4AAF088\"\n
        \   },\n    {\n      \"DSA, 1024 bits\",\n      \"With SHA-224, message =
        \\\"test\\\"\",\n      \"sha224\", \"test\",\n      \"4598B8EFC1A53BC8AECD58D1ABBB0C0C71E67297\",\n
        \     \"6868E9964E36C1689F6037F91F28D5F2C30610F2\",\n      \"49CEC3ACDC83018C5BD2674ECAAD35B8CD22940F\"\n
        \   },\n    {\n      \"DSA, 1024 bits\",\n      \"With SHA-256, message =
        \\\"test\\\"\",\n      \"sha256\", \"test\",\n      \"5A67592E8128E03A417B0484410FB72C0B630E1A\",\n
        \     \"22518C127299B0F6FDC9872B282B9E70D0790812\",\n      \"6837EC18F150D55DE95B5E29BE7AF5D01E4FE160\"\n
        \   },\n    {\n      \"DSA, 1024 bits\",\n      \"With SHA-384, message =
        \\\"test\\\"\",\n      \"sha384\", \"test\",\n      \"220156B761F6CA5E6C9F1B9CF9C24BE25F98CD89\",\n
        \     \"854CF929B58D73C3CBFDC421E8D5430CD6DB5E66\",\n      \"91D0E0F53E22F898D158380676A871A157CDA622\"\n
        \   },\n    {\n      \"DSA, 1024 bits\",\n      \"With SHA-512, message =
        \\\"test\\\"\",\n      \"sha512\", \"test\",\n      \"65D2C2EEB175E370F28C75BFCDC028D22C7DBE9C\",\n
        \     \"8EA47E475BA8AC6F2D821DA3BD212D11A3DEB9A0\",\n      \"7C670C7AD72B6C050C109E1790008097125433E8\"\n
        \   },\n    {\n      \"DSA, 2048 bits\",\n      \"With SHA-1, message = \\\"sample\\\"\",\n
        \     \"sha1\", \"sample\",\n      \"888FA6F7738A41BDC9846466ABDB8174C0338250AE50CE955CA16230F9CBD53E\",\n
        \     \"3A1B2DBD7489D6ED7E608FD036C83AF396E290DBD602408E8677DAABD6E7445A\",\n
        \     \"D26FCBA19FA3E3058FFC02CA1596CDBB6E0D20CB37B06054F7E36DED0CDBBCCF\"\n
        \   },\n    {\n      \"DSA, 2048 bits\",\n      \"With SHA-224, message =
        \\\"sample\\\"\",\n      \"sha224\", \"sample\",\n      \"BC372967702082E1AA4FCE892209F71AE4AD25A6DFD869334E6F153BD0C4D806\",\n
        \     \"DC9F4DEADA8D8FF588E98FED0AB690FFCE858DC8C79376450EB6B76C24537E2C\",\n
        \     \"A65A9C3BC7BABE286B195D5DA68616DA8D47FA0097F36DD19F517327DC848CEC\"\n
        \   },\n    {\n      \"DSA, 2048 bits\",\n      \"With SHA-256, message =
        \\\"sample\\\"\",\n      \"sha256\", \"sample\",\n      \"8926A27C40484216F052F4427CFD5647338B7B3939BC6573AF4333569D597C52\",\n
        \     \"EACE8BDBBE353C432A795D9EC556C6D021F7A03F42C36E9BC87E4AC7932CC809\",\n
        \     \"7081E175455F9247B812B74583E9E94F9EA79BD640DC962533B0680793A38D53\"\n
        \   },\n    {\n      \"DSA, 2048 bits\",\n      \"With SHA-384, message =
        \\\"sample\\\"\",\n      \"sha384\", \"sample\",\n      \"C345D5AB3DA0A5BCB7EC8F8FB7A7E96069E03B206371EF7D83E39068EC564920\",\n
        \     \"B2DA945E91858834FD9BF616EBAC151EDBC4B45D27D0DD4A7F6A22739F45C00B\",\n
        \     \"19048B63D9FD6BCA1D9BAE3664E1BCB97F7276C306130969F63F38FA8319021B\"\n
        \   },\n    {\n      \"DSA, 2048 bits\",\n      \"With SHA-512, message =
        \\\"sample\\\"\",\n      \"sha512\", \"sample\",\n      \"5A12994431785485B3F5F067221517791B85A597B7A9436995C89ED0374668FC\",\n
        \     \"2016ED092DC5FB669B8EFB3D1F31A91EECB199879BE0CF78F02BA062CB4C942E\",\n
        \     \"D0C76F84B5F091E141572A639A4FB8C230807EEA7D55C8A154A224400AFF2351\"\n
        \   },\n    {\n      \"DSA, 2048 bits\",\n      \"With SHA-1, message = \\\"test\\\"\",\n
        \     \"sha1\", \"test\",\n      \"6EEA486F9D41A037B2C640BC5645694FF8FF4B98D066A25F76BE641CCB24BA4F\",\n
        \     \"C18270A93CFC6063F57A4DFA86024F700D980E4CF4E2CB65A504397273D98EA0\",\n
        \     \"414F22E5F31A8B6D33295C7539C1C1BA3A6160D7D68D50AC0D3A5BEAC2884FAA\"\n
        \   },\n    {\n      \"DSA, 2048 bits\",\n      \"With SHA-224, message =
        \\\"test\\\"\",\n      \"sha224\", \"test\",\n      \"06BD4C05ED74719106223BE33F2D95DA6B3B541DAD7BFBD7AC508213B6DA6670\",\n
        \     \"272ABA31572F6CC55E30BF616B7A265312018DD325BE031BE0CC82AA17870EA3\",\n
        \     \"E9CC286A52CCE201586722D36D1E917EB96A4EBDB47932F9576AC645B3A60806\"\n
        \   },\n    {\n      \"DSA, 2048 bits\",\n      \"With SHA-256, message =
        \\\"test\\\"\",\n      \"sha256\", \"test\",\n      \"1D6CE6DDA1C5D37307839CD03AB0A5CBB18E60D800937D67DFB4479AAC8DEAD7\",\n
        \     \"8190012A1969F9957D56FCCAAD223186F423398D58EF5B3CEFD5A4146A4476F0\",\n
        \     \"7452A53F7075D417B4B013B278D1BB8BBD21863F5E7B1CEE679CF2188E1AB19E\"\n
        \   },\n    {\n      \"DSA, 2048 bits\",\n      \"With SHA-384, message =
        \\\"test\\\"\",\n      \"sha384\", \"test\",\n      \"206E61F73DBE1B2DC8BE736B22B079E9DACD974DB00EEBBC5B64CAD39CF9F91C\",\n
        \     \"239E66DDBE8F8C230A3D071D601B6FFBDFB5901F94D444C6AF56F732BEB954BE\",\n
        \     \"6BD737513D5E72FE85D1C750E0F73921FE299B945AAD1C802F15C26A43D34961\"\n
        \   },\n    {\n      \"DSA, 2048 bits\",\n      \"With SHA-512, message =
        \\\"test\\\"\",\n      \"sha512\", \"test\",\n      \"AFF1651E4CD6036D57AA8B2A05CCF1A9D5A40166340ECBBDC55BE10B568AA0AA\",\n
        \     \"89EC4BB1400ECCFF8E7D9AA515CD1DE7803F2DAFF09693EE7FD1353E90A68307\",\n
        \     \"C9F0BDABCC0D880BB137A994CC7F3980CE91CC10FAF529FC46565B15CEA854E1\"\n
        \   },\n    {\n      \"ECDSA, 192 bits (prime field)\",\n      \"With SHA-1,
        message = \\\"sample\\\"\",\n      \"sha1\", \"sample\",\n      \"37D7CA00D2C7B0E5E412AC03BD44BA837FDD5B28CD3B0021\",\n
        \     \"98C6BD12B23EAF5E2A2045132086BE3EB8EBD62ABF6698FF\",\n      \"57A22B07DEA9530F8DE9471B1DC6624472E8E2844BC25B64\"\n
        \   },\n    {\n      \"ECDSA, 192 bits (prime field)\",\n      \"With SHA-224,
        message = \\\"sample\\\"\",\n      \"sha224\", \"sample\",\n      \"4381526B3FC1E7128F202E194505592F01D5FF4C5AF015D8\",\n
        \     \"A1F00DAD97AEEC91C95585F36200C65F3C01812AA60378F5\",\n      \"E07EC1304C7C6C9DEBBE980B9692668F81D4DE7922A0F97A\"\n
        \   },\n    {\n      \"ECDSA, 192 bits (prime field)\",\n      \"With SHA-256,
        message = \\\"sample\\\"\",\n      \"sha256\", \"sample\",\n      \"32B1B6D7D42A05CB449065727A84804FB1A3E34D8F261496\",\n
        \     \"4B0B8CE98A92866A2820E20AA6B75B56382E0F9BFD5ECB55\",\n      \"CCDB006926EA9565CBADC840829D8C384E06DE1F1E381B85\"\n
        \   },\n    {\n      \"ECDSA, 192 bits (prime field)\",\n      \"With SHA-384,
        message = \\\"sample\\\"\",\n      \"sha384\", \"sample\",\n      \"4730005C4FCB01834C063A7B6760096DBE284B8252EF4311\",\n
        \     \"DA63BF0B9ABCF948FBB1E9167F136145F7A20426DCC287D5\",\n      \"C3AA2C960972BD7A2003A57E1C4C77F0578F8AE95E31EC5E\"\n
        \   },\n    {\n      \"ECDSA, 192 bits (prime field)\",\n      \"With SHA-512,
        message = \\\"sample\\\"\",\n      \"sha512\", \"sample\",\n      \"A2AC7AB055E4F20692D49209544C203A7D1F2C0BFBC75DB1\",\n
        \     \"4D60C5AB1996BD848343B31C00850205E2EA6922DAC2E4B8\",\n      \"3F6E837448F027A1BF4B34E796E32A811CBB4050908D8F67\"\n
        \   },\n    {\n      \"ECDSA, 192 bits (prime field)\",\n      \"With SHA-1,
        message = \\\"test\\\"\",\n      \"sha1\", \"test\",\n      \"D9CF9C3D3297D3260773A1DA7418DB5537AB8DD93DE7FA25\",\n
        \     \"0F2141A0EBBC44D2E1AF90A50EBCFCE5E197B3B7D4DE036D\",\n      \"EB18BC9E1F3D7387500CB99CF5F7C157070A8961E38700B7\"\n
        \   },\n    {\n      \"ECDSA, 192 bits (prime field)\",\n      \"With SHA-224,
        message = \\\"test\\\"\",\n      \"sha224\", \"test\",\n      \"F5DC805F76EF851800700CCE82E7B98D8911B7D510059FBE\",\n
        \     \"6945A1C1D1B2206B8145548F633BB61CEF04891BAF26ED34\",\n      \"B7FB7FDFC339C0B9BD61A9F5A8EAF9BE58FC5CBA2CB15293\"\n
        \   },\n    {\n      \"ECDSA, 192 bits (prime field)\",\n      \"With SHA-256,
        message = \\\"test\\\"\",\n      \"sha256\", \"test\",\n      \"5C4CE89CF56D9E7C77C8585339B006B97B5F0680B4306C6C\",\n
        \     \"3A718BD8B4926C3B52EE6BBE67EF79B18CB6EB62B1AD97AE\",\n      \"5662E6848A4A19B1F1AE2F72ACD4B8BBE50F1EAC65D9124F\"\n
        \   },\n    {\n      \"ECDSA, 192 bits (prime field)\",\n      \"With SHA-384,
        message = \\\"test\\\"\",\n      \"sha384\", \"test\",\n      \"5AFEFB5D3393261B828DB6C91FBC68C230727B030C975693\",\n
        \     \"B234B60B4DB75A733E19280A7A6034BD6B1EE88AF5332367\",\n      \"7994090B2D59BB782BE57E74A44C9A1C700413F8ABEFE77A\"\n
        \   },\n    {\n      \"ECDSA, 192 bits (prime field)\",\n      \"With SHA-512,
        message = \\\"test\\\"\",\n      \"sha512\", \"test\",\n      \"0758753A5254759C7CFBAD2E2D9B0792EEE44136C9480527\",\n
        \     \"FE4F4AE86A58B6507946715934FE2D8FF9D95B6B098FE739\",\n      \"74CF5605C98FBA0E1EF34D4B5A1577A7DCF59457CAE52290\"\n
        \   },\n\n\n\n    {\n      \"ECDSA, 224 bits (prime field)\",\n      \"With
        SHA-1, message = \\\"sample\\\"\",\n      \"sha1\", \"sample\",\n      \"7EEFADD91110D8DE6C2C470831387C50D3357F7F4D477054B8B426BC\",\n
        \     \"22226F9D40A96E19C4A301CE5B74B115303C0F3A4FD30FC257FB57AC\",\n      \"66D1CDD83E3AF75605DD6E2FEFF196D30AA7ED7A2EDF7AF475403D69\"\n
        \   },\n    {\n      \"ECDSA, 224 bits (prime field)\",\n      \"With SHA-224,
        message = \\\"sample\\\"\",\n      \"sha224\", \"sample\",\n      \"C1D1F2F10881088301880506805FEB4825FE09ACB6816C36991AA06D\",\n
        \     \"1CDFE6662DDE1E4A1EC4CDEDF6A1F5A2FB7FBD9145C12113E6ABFD3E\",\n      \"A6694FD7718A21053F225D3F46197CA699D45006C06F871808F43EBC\"\n
        \   },\n    {\n      \"ECDSA, 224 bits (prime field)\",\n      \"With SHA-256,
        message = \\\"sample\\\"\",\n      \"sha256\", \"sample\",\n      \"AD3029E0278F80643DE33917CE6908C70A8FF50A411F06E41DEDFCDC\",\n
        \     \"61AA3DA010E8E8406C656BC477A7A7189895E7E840CDFE8FF42307BA\",\n      \"BC814050DAB5D23770879494F9E0A680DC1AF7161991BDE692B10101\"\n
        \   },\n    {\n      \"ECDSA, 224 bits (prime field)\",\n      \"With SHA-384,
        message = \\\"sample\\\"\",\n      \"sha384\", \"sample\",\n      \"52B40F5A9D3D13040F494E83D3906C6079F29981035C7BD51E5CAC40\",\n
        \     \"0B115E5E36F0F9EC81F1325A5952878D745E19D7BB3EABFABA77E953\",\n      \"830F34CCDFE826CCFDC81EB4129772E20E122348A2BBD889A1B1AF1D\"\n
        \   },\n    {\n      \"ECDSA, 224 bits (prime field)\",\n      \"With SHA-512,
        message = \\\"sample\\\"\",\n      \"sha512\", \"sample\",\n      \"9DB103FFEDEDF9CFDBA05184F925400C1653B8501BAB89CEA0FBEC14\",\n
        \     \"074BD1D979D5F32BF958DDC61E4FB4872ADCAFEB2256497CDAC30397\",\n      \"A4CECA196C3D5A1FF31027B33185DC8EE43F288B21AB342E5D8EB084\"\n
        \   },\n    {\n      \"ECDSA, 224 bits (prime field)\",\n      \"With SHA-1,
        message = \\\"test\\\"\",\n      \"sha1\", \"test\",\n      \"2519178F82C3F0E4F87ED5883A4E114E5B7A6E374043D8EFD329C253\",\n
        \     \"DEAA646EC2AF2EA8AD53ED66B2E2DDAA49A12EFD8356561451F3E21C\",\n      \"95987796F6CF2062AB8135271DE56AE55366C045F6D9593F53787BD2\"\n
        \   },\n    {\n      \"ECDSA, 224 bits (prime field)\",\n      \"With SHA-224,
        message = \\\"test\\\"\",\n      \"sha224\", \"test\",\n      \"DF8B38D40DCA3E077D0AC520BF56B6D565134D9B5F2EAE0D34900524\",\n
        \     \"C441CE8E261DED634E4CF84910E4C5D1D22C5CF3B732BB204DBEF019\",\n      \"902F42847A63BDC5F6046ADA114953120F99442D76510150F372A3F4\"\n
        \   },\n    {\n      \"ECDSA, 224 bits (prime field)\",\n      \"With SHA-256,
        message = \\\"test\\\"\",\n      \"sha256\", \"test\",\n      \"FF86F57924DA248D6E44E8154EB69F0AE2AEBAEE9931D0B5A969F904\",\n
        \     \"AD04DDE87B84747A243A631EA47A1BA6D1FAA059149AD2440DE6FBA6\",\n      \"178D49B1AE90E3D8B629BE3DB5683915F4E8C99FDF6E666CF37ADCFD\"\n
        \   },\n    {\n      \"ECDSA, 224 bits (prime field)\",\n      \"With SHA-384,
        message = \\\"test\\\"\",\n      \"sha384\", \"test\",\n      \"7046742B839478C1B5BD31DB2E862AD868E1A45C863585B5F22BDC2D\",\n
        \     \"389B92682E399B26518A95506B52C03BC9379A9DADF3391A21FB0EA4\",\n      \"414A718ED3249FF6DBC5B50C27F71F01F070944DA22AB1F78F559AAB\"\n
        \   },\n    {\n      \"ECDSA, 224 bits (prime field)\",\n      \"With SHA-512,
        message = \\\"test\\\"\",\n      \"sha512\", \"test\",\n      \"E39C2AA4EA6BE2306C72126D40ED77BF9739BB4D6EF2BBB1DCB6169D\",\n
        \     \"049F050477C5ADD858CAC56208394B5A55BAEBBE887FDF765047C17C\",\n      \"077EB13E7005929CEFA3CD0403C7CDCC077ADF4E44F3C41B2F60ECFF\"\n
        \   },\n    {\n      \"ECDSA, 256 bits (prime field)\",\n      \"With SHA-1,
        message = \\\"sample\\\"\",\n      \"sha1\", \"sample\",\n      \"882905F1227FD620FBF2ABF21244F0BA83D0DC3A9103DBBEE43A1FB858109DB4\",\n
        \     \"61340C88C3AAEBEB4F6D667F672CA9759A6CCAA9FA8811313039EE4A35471D32\",\n
        \     \"6D7F147DAC089441BB2E2FE8F7A3FA264B9C475098FDCF6E00D7C996E1B8B7EB\"\n
        \   },\n    {\n      \"ECDSA, 256 bits (prime field)\",\n      \"With SHA-224,
        message = \\\"sample\\\"\",\n      \"sha224\", \"sample\",\n      \"103F90EE9DC52E5E7FB5132B7033C63066D194321491862059967C715985D473\",\n
        \     \"53B2FFF5D1752B2C689DF257C04C40A587FABABB3F6FC2702F1343AF7CA9AA3F\",\n
        \     \"B9AFB64FDC03DC1A131C7D2386D11E349F070AA432A4ACC918BEA988BF75C74C\"\n
        \   },\n    {\n      \"ECDSA, 256 bits (prime field)\",\n      \"With SHA-256,
        message = \\\"sample\\\"\",\n      \"sha256\", \"sample\",\n      \"A6E3C57DD01ABE90086538398355DD4C3B17AA873382B0F24D6129493D8AAD60\",\n
        \     \"EFD48B2AACB6A8FD1140DD9CD45E81D69D2C877B56AAF991C34D0EA84EAF3716\",\n
        \     \"F7CB1C942D657C41D436C7A1B6E29F65F3E900DBB9AFF4064DC4AB2F843ACDA8\"\n
        \   },\n    {\n      \"ECDSA, 256 bits (prime field)\",\n      \"With SHA-384,
        message = \\\"sample\\\"\",\n      \"sha384\", \"sample\",\n      \"09F634B188CEFD98E7EC88B1AA9852D734D0BC272F7D2A47DECC6EBEB375AAD4\",\n
        \     \"0EAFEA039B20E9B42309FB1D89E213057CBF973DC0CFC8F129EDDDC800EF7719\",\n
        \     \"4861F0491E6998B9455193E34E7B0D284DDD7149A74B95B9261F13ABDE940954\"\n
        \   },\n    {\n      \"ECDSA, 256 bits (prime field)\",\n      \"With SHA-512,
        message = \\\"sample\\\"\",\n      \"sha512\", \"sample\",\n      \"5FA81C63109BADB88C1F367B47DA606DA28CAD69AA22C4FE6AD7DF73A7173AA5\",\n
        \     \"8496A60B5E9B47C825488827E0495B0E3FA109EC4568FD3F8D1097678EB97F00\",\n
        \     \"2362AB1ADBE2B8ADF9CB9EDAB740EA6049C028114F2460F96554F61FAE3302FE\"\n
        \   },\n    {\n      \"ECDSA, 256 bits (prime field)\",\n      \"With SHA-1,
        message = \\\"test\\\"\",\n      \"sha1\", \"test\",\n      \"8C9520267C55D6B980DF741E56B4ADEE114D84FBFA2E62137954164028632A2E\",\n
        \     \"0CBCC86FD6ABD1D99E703E1EC50069EE5C0B4BA4B9AC60E409E8EC5910D81A89\",\n
        \     \"01B9D7B73DFAA60D5651EC4591A0136F87653E0FD780C3B1BC872FFDEAE479B1\"\n
        \   },\n    {\n      \"ECDSA, 256 bits (prime field)\",\n      \"With SHA-224,
        message = \\\"test\\\"\",\n      \"sha224\", \"test\",\n      \"669F4426F2688B8BE0DB3A6BD1989BDAEFFF84B649EEB84F3DD26080F667FAA7\",\n
        \     \"C37EDB6F0AE79D47C3C27E962FA269BB4F441770357E114EE511F662EC34A692\",\n
        \     \"C820053A05791E521FCAAD6042D40AEA1D6B1A540138558F47D0719800E18F2D\"\n
        \   },\n    {\n      \"ECDSA, 256 bits (prime field)\",\n      \"With SHA-256,
        message = \\\"test\\\"\",\n      \"sha256\", \"test\",\n      \"D16B6AE827F17175E040871A1C7EC3500192C4C92677336EC2537ACAEE0008E0\",\n
        \     \"F1ABB023518351CD71D881567B1EA663ED3EFCF6C5132B354F28D3B0B7D38367\",\n
        \     \"019F4113742A2B14BD25926B49C649155F267E60D3814B4C0CC84250E46F0083\"\n
        \   },\n    {\n      \"ECDSA, 256 bits (prime field)\",\n      \"With SHA-384,
        message = \\\"test\\\"\",\n      \"sha384\", \"test\",\n      \"16AEFFA357260B04B1DD199693960740066C1A8F3E8EDD79070AA914D361B3B8\",\n
        \     \"83910E8B48BB0C74244EBDF7F07A1C5413D61472BD941EF3920E623FBCCEBEB6\",\n
        \     \"8DDBEC54CF8CD5874883841D712142A56A8D0F218F5003CB0296B6B509619F2C\"\n
        \   },\n    {\n      \"ECDSA, 256 bits (prime field)\",\n      \"With SHA-512,
        message = \\\"test\\\"\",\n      \"sha512\", \"test\",\n      \"6915D11632ACA3C40D5D51C08DAF9C555933819548784480E93499000D9F0B7F\",\n
        \     \"461D93F31B6540894788FD206C07CFA0CC35F46FA3C91816FFF1040AD1581A04\",\n
        \     \"39AF9F15DE0DB8D97E72719C74820D304CE5226E32DEDAE67519E840D1194E55\"\n
        \   },\n    {\n      \"ECDSA, 384 bits (prime field)\",\n      \"With SHA-1,
        message = \\\"sample\\\"\",\n      \"sha1\", \"sample\",\n      \"4471EF7518BB2C7C20F62EAE1C387AD0C5E8E470995DB4ACF694466E6AB09663\"\n
        \     \"0F29E5938D25106C3C340045A2DB01A7\",\n      \"EC748D839243D6FBEF4FC5C4859A7DFFD7F3ABDDF72014540C16D73309834FA3\"\n
        \     \"7B9BA002899F6FDA3A4A9386790D4EB2\",\n      \"A3BCFA947BEEF4732BF247AC17F71676CB31A847B9FF0CBC9C9ED4C1A5B3FACF\"\n
        \     \"26F49CA031D4857570CCB5CA4424A443\"\n    },\n    {\n      \"ECDSA,
        384 bits (prime field)\",\n      \"With SHA-224, message = \\\"sample\\\"\",\n
        \     \"sha224\", \"sample\",\n      \"A4E4D2F0E729EB786B31FC20AD5D849E304450E0AE8E3E341134A5C1AFA03CAB\"\n
        \     \"8083EE4E3C45B06A5899EA56C51B5879\",\n      \"42356E76B55A6D9B4631C865445DBE54E056D3B3431766D0509244793C3F9366\"\n
        \     \"450F76EE3DE43F5A125333A6BE060122\",\n      \"9DA0C81787064021E78DF658F2FBB0B042BF304665DB721F077A4298B095E483\"\n
        \     \"4C082C03D83028EFBF93A3C23940CA8D\"\n    },\n    {\n      \"ECDSA,
        384 bits (prime field)\",\n      \"With SHA-256, message = \\\"sample\\\"\",\n
        \     \"sha256\", \"sample\",\n      \"180AE9F9AEC5438A44BC159A1FCB277C7BE54FA20E7CF404B490650A8ACC414E\"\n
        \     \"375572342863C899F9F2EDF9747A9B60\",\n      \"21B13D1E013C7FA1392D03C5F99AF8B30C570C6F98D4EA8E354B63A21D3DAA33\"\n
        \     \"BDE1E888E63355D92FA2B3C36D8FB2CD\",\n      \"F3AA443FB107745BF4BD77CB3891674632068A10CA67E3D45DB2266FA7D1FEEB\"\n
        \     \"EFDC63ECCD1AC42EC0CB8668A4FA0AB0\"\n    },\n    {\n      \"ECDSA,
        384 bits (prime field)\",\n      \"With SHA-384, message = \\\"sample\\\"\",\n
        \     \"sha384\", \"sample\",\n      \"94ED910D1A099DAD3254E9242AE85ABDE4BA15168EAF0CA87A555FD56D10FBCA\"\n
        \     \"2907E3E83BA95368623B8C4686915CF9\",\n      \"94EDBB92A5ECB8AAD4736E56C691916B3F88140666CE9FA73D64C4EA95AD133C\"\n
        \     \"81A648152E44ACF96E36DD1E80FABE46\",\n      \"99EF4AEB15F178CEA1FE40DB2603138F130E740A19624526203B6351D0A3A94F\"\n
        \     \"A329C145786E679E7B82C71A38628AC8\"\n    },\n    {\n      \"ECDSA,
        384 bits (prime field)\",\n      \"With SHA-512, message = \\\"sample\\\"\",\n
        \     \"sha512\", \"sample\",\n      \"92FC3C7183A883E24216D1141F1A8976C5B0DD797DFA597E3D7B32198BD35331\"\n
        \     \"A4E966532593A52980D0E3AAA5E10EC3\",\n      \"ED0959D5880AB2D869AE7F6C2915C6D60F96507F9CB3E047C0046861DA4A799C\"\n
        \     \"FE30F35CC900056D7C99CD7882433709\",\n      \"512C8CCEEE3890A84058CE1E22DBC2198F42323CE8ACA9135329F03C068E5112\"\n
        \     \"DC7CC3EF3446DEFCEB01A45C2667FDD5\"\n    },\n    {\n      \"ECDSA,
        384 bits (prime field)\",\n      \"With SHA-1, message = \\\"test\\\"\",\n
        \     \"sha1\", \"test\",\n      \"66CC2C8F4D303FC962E5FF6A27BD79F84EC812DDAE58CF5243B64A4AD8094D47\"\n
        \     \"EC3727F3A3C186C15054492E30698497\",\n      \"4BC35D3A50EF4E30576F58CD96CE6BF638025EE624004A1F7789A8B8E43D0678\"\n
        \     \"ACD9D29876DAF46638645F7F404B11C7\",\n      \"D5A6326C494ED3FF614703878961C0FDE7B2C278F9A65FD8C4B7186201A29916\"\n
        \     \"95BA1C84541327E966FA7B50F7382282\"\n    },\n    {\n      \"ECDSA,
        384 bits (prime field)\",\n      \"With SHA-224, message = \\\"test\\\"\",\n
        \     \"sha224\", \"test\",\n      \"18FA39DB95AA5F561F30FA3591DC59C0FA3653A80DAFFA0B48D1A4C6DFCBFF6E\"\n
        \     \"3D33BE4DC5EB8886A8ECD093F2935726\",\n      \"E8C9D0B6EA72A0E7837FEA1D14A1A9557F29FAA45D3E7EE888FC5BF954B5E624\"\n
        \     \"64A9A817C47FF78B8C11066B24080E72\",\n      \"07041D4A7A0379AC7232FF72E6F77B6DDB8F09B16CCE0EC3286B2BD43FA8C614\"\n
        \     \"1C53EA5ABEF0D8231077A04540A96B66\"\n    },\n    {\n      \"ECDSA,
        384 bits (prime field)\",\n      \"With SHA-256, message = \\\"test\\\"\",\n
        \     \"sha256\", \"test\",\n      \"0CFAC37587532347DC3389FDC98286BBA8C73807285B184C83E62E26C401C0FA\"\n
        \     \"A48DD070BA79921A3457ABFF2D630AD7\",\n      \"6D6DEFAC9AB64DABAFE36C6BF510352A4CC27001263638E5B16D9BB51D451559\"\n
        \     \"F918EEDAF2293BE5B475CC8F0188636B\",\n      \"2D46F3BECBCC523D5F1A1256BF0C9B024D879BA9E838144C8BA6BAEB4B53B47D\"\n
        \     \"51AB373F9845C0514EEFB14024787265\"\n    },\n    {\n      \"ECDSA,
        384 bits (prime field)\",\n      \"With SHA-384, message = \\\"test\\\"\",\n
        \     \"sha384\", \"test\",\n      \"015EE46A5BF88773ED9123A5AB0807962D193719503C527B031B4C2D225092AD\"\n
        \     \"A71F4A459BC0DA98ADB95837DB8312EA\",\n      \"8203B63D3C853E8D77227FB377BCF7B7B772E97892A80F36AB775D509D7A5FEB\"\n
        \     \"0542A7F0812998DA8F1DD3CA3CF023DB\",\n      \"DDD0760448D42D8A43AF45AF836FCE4DE8BE06B485E9B61B827C2F13173923E0\"\n
        \     \"6A739F040649A667BF3B828246BAA5A5\"\n    },\n    {\n      \"ECDSA,
        384 bits (prime field)\",\n      \"With SHA-512, message = \\\"test\\\"\",\n
        \     \"sha512\", \"test\",\n      \"3780C4F67CB15518B6ACAE34C9F83568D2E12E47DEAB6C50A4E4EE5319D1E8CE\"\n
        \     \"0E2CC8A136036DC4B9C00E6888F66B6C\",\n      \"A0D5D090C9980FAF3C2CE57B7AE951D31977DD11C775D314AF55F76C676447D0\"\n
        \     \"6FB6495CD21B4B6E340FC236584FB277\",\n      \"976984E59B4C77B0E8E4460DCA3D9F20E07B9BB1F63BEEFAF576F6B2E8B22463\"\n
        \     \"4A2092CD3792E0159AD9CEE37659C736\"\n    },\n    {\n      \"ECDSA,
        521 bits (prime field)\",\n      \"With SHA-1, message = \\\"sample\\\"\",\n
        \     \"sha1\", \"sample\",\n      \"0089C071B419E1C2820962321787258469511958E80582E95D8378E0C2CCDB3CB\"\n
        \     \"42BEDE42F50E3FA3C71F5A76724281D31D9C89F0F91FC1BE4918DB1C03A5838D\"\n
        \     \"0F9\",\n      \"343B6EC45728975EA5CBA6659BBB6062A5FF89EEA58BE3C80B619F322C87910\"\n
        \     \"FE092F7D45BB0F8EEE01ED3F20BABEC079D202AE677B243AB40B5431D497C55D\"\n
        \     \"75D\",\n      \"E7B0E675A9B24413D448B8CC119D2BF7B2D2DF032741C096634D6D65D0DBE3D\"\n
        \     \"5694625FB9E8104D3B842C1B0E2D0B98BEA19341E8676AEF66AE4EBA3D5475D5\"\n
        \     \"D16\"\n    },\n    {\n      \"ECDSA, 521 bits (prime field)\",\n      \"With
        SHA-224, message = \\\"sample\\\"\",\n      \"sha224\", \"sample\",\n      \"121415EC2CD7726330A61F7F3FA5DE14BE9436019C4DB8CB4041F3B54CF31BE0\"\n
        \     \"493EE3F427FB906393D895A19C9523F3A1D54BB8702BD4AA9C99DAB2597B9211\"\n
        \     \"3F3\",\n      \"01776331CFCDF927D666E032E00CF776187BC9FDD8E69D0DABB4109FFE1B5E2A3\"\n
        \     \"0715F4CC923A4A5E94D2503E9ACFED92857B7F31D7152E0F8C00C15FF3D87E2E\"\n
        \     \"D2E\",\n      \"50CB5265417FE2320BBB5A122B8E1A32BD699089851128E360E620A30C7E17B\"\n
        \     \"A41A666AF126CE100E5799B153B60528D5300D08489CA9178FB610A2006C254B\"\n
        \     \"41F\"\n    },\n    {\n      \"ECDSA, 521 bits (prime field)\",\n      \"With
        SHA-256, message = \\\"sample\\\"\",\n      \"sha256\", \"sample\",\n      \"0EDF38AFCAAECAB4383358B34D67C9F2216C8382AAEA44A3DAD5FDC9C3257576\"\n
        \     \"1793FEF24EB0FC276DFC4F6E3EC476752F043CF01415387470BCBD8678ED2C7E\"\n
        \     \"1A0\",\n      \"01511BB4D675114FE266FC4372B87682BAECC01D3CC62CF2303C92B3526012659\"\n
        \     \"D16876E25C7C1E57648F23B73564D67F61C6F14D527D54972810421E7D87589E\"\n
        \     \"1A7\",\n      \"4A171143A83163D6DF460AAF61522695F207A58B95C0644D87E52AA1A347916\"\n
        \     \"E4F7A72930B1BC06DBE22CE3F58264AFD23704CBB63B29B931F7DE6C9D949A7E\"\n
        \     \"CFC\"\n    },\n    {\n      \"ECDSA, 521 bits (prime field)\",\n      \"With
        SHA-384, message = \\\"sample\\\"\",\n      \"sha384\", \"sample\",\n      \"1546A108BC23A15D6F21872F7DED661FA8431DDBD922D0DCDB77CC878C8553FF\"\n
        \     \"AD064C95A920A750AC9137E527390D2D92F153E66196966EA554D9ADFCB109C4\"\n
        \     \"211\",\n      \"01EA842A0E17D2DE4F92C15315C63DDF72685C18195C2BB95E572B9C5136CA4B4\"\n
        \     \"B576AD712A52BE9730627D16054BA40CC0B8D3FF035B12AE75168397F5D50C67\"\n
        \     \"451\",\n      \"01F21A3CEE066E1961025FB048BD5FE2B7924D0CD797BABE0A83B66F1E35EEAF5\"\n
        \     \"FDE143FA85DC394A7DEE766523393784484BDF3E00114A1C857CDE1AA203DB65\"\n
        \     \"D61\"\n    },\n    {\n      \"ECDSA, 521 bits (prime field)\",\n      \"With
        SHA-512, message = \\\"sample\\\"\",\n      \"sha512\", \"sample\",\n      \"1DAE2EA071F8110DC26882D4D5EAE0621A3256FC8847FB9022E2B7D28E6F1019\"\n
        \     \"8B1574FDD03A9053C08A1854A168AA5A57470EC97DD5CE090124EF52A2F7ECBF\"\n
        \     \"FD3\",\n      \"C328FAFCBD79DD77850370C46325D987CB525569FB63C5D3BC53950E6D4C5F1\"\n
        \     \"74E25A1EE9017B5D450606ADD152B534931D7D4E8455CC91F9B15BF05EC36E37\"\n
        \     \"7FA\",\n      \"617CCE7CF5064806C467F678D3B4080D6F1CC50AF26CA209417308281B68AF2\"\n
        \     \"82623EAA63E5B5C0723D8B8C37FF0777B1A20F8CCB1DCCC43997F1EE0E44DA4A\"\n
        \     \"67A\"\n    },\n    {\n      \"ECDSA, 521 bits (prime field)\",\n      \"With
        SHA-1, message = \\\"test\\\"\",\n      \"sha1\", \"test\",\n      \"0BB9F2BF4FE1038CCF4DABD7139A56F6FD8BB1386561BD3C6A4FC818B20DF5DD\"\n
        \     \"BA80795A947107A1AB9D12DAA615B1ADE4F7A9DC05E8E6311150F47F5C57CE8B\"\n
        \     \"222\",\n      \"013BAD9F29ABE20DE37EBEB823C252CA0F63361284015A3BF430A46AAA80B87B0\"\n
        \     \"693F0694BD88AFE4E661FC33B094CD3B7963BED5A727ED8BD6A3A202ABE009D0\"\n
        \     \"367\",\n      \"01E9BB81FF7944CA409AD138DBBEE228E1AFCC0C890FC78EC8604639CB0DBDC90\"\n
        \     \"F717A99EAD9D272855D00162EE9527567DD6A92CBD629805C0445282BBC91679\"\n
        \     \"7FF\"\n    },\n    {\n      \"ECDSA, 521 bits (prime field)\",\n      \"With
        SHA-224, message = \\\"test\\\"\",\n      \"sha224\", \"test\",\n      \"040D09FCF3C8A5F62CF4FB223CBBB2B9937F6B0577C27020A99602C25A011369\"\n
        \     \"87E452988781484EDBBCF1C47E554E7FC901BC3085E5206D9F619CFF07E73D6F\"\n
        \     \"706\",\n      \"01C7ED902E123E6815546065A2C4AF977B22AA8EADDB68B2C1110E7EA44D42086\"\n
        \     \"BFE4A34B67DDC0E17E96536E358219B23A706C6A6E16BA77B65E1C595D43CAE1\"\n
        \     \"7FB\",\n      \"0177336676304FCB343CE028B38E7B4FBA76C1C1B277DA18CAD2A8478B2A9A9F5\"\n
        \     \"BEC0F3BA04F35DB3E4263569EC6AADE8C92746E4C82F8299AE1B8F1739F8FD51\"\n
        \     \"9A4\"\n    },\n    {\n      \"ECDSA, 521 bits (prime field)\",\n      \"With
        SHA-256, message = \\\"test\\\"\",\n      \"sha256\", \"test\",\n      \"01DE74955EFAABC4C4F17F8E84D881D1310B5392D7700275F82F145C61E84384\"\n
        \     \"1AF09035BF7A6210F5A431A6A9E81C9323354A9E69135D44EBD2FCAA7731B909\"\n
        \     \"258\",\n      \"0E871C4A14F993C6C7369501900C4BC1E9C7B0B4BA44E04868B30B41D807104\"\n
        \     \"2EB28C4C250411D0CE08CD197E4188EA4876F279F90B3D8D74A3C76E6F1E4656\"\n
        \     \"AA8\",\n      \"CD52DBAA33B063C3A6CD8058A1FB0A46A4754B034FCC644766CA14DA8CA5CA9\"\n
        \     \"FDE00E88C1AD60CCBA759025299079D7A427EC3CC5B619BFBC828E7769BCD694\"\n
        \     \"E86\"\n    },\n    {\n      \"ECDSA, 521 bits (prime field)\",\n      \"With
        SHA-384, message = \\\"test\\\"\",\n      \"sha384\", \"test\",\n      \"1F1FC4A349A7DA9A9E116BFDD055DC08E78252FF8E23AC276AC88B1770AE0B5D\"\n
        \     \"CEB1ED14A4916B769A523CE1E90BA22846AF11DF8B300C38818F713DADD85DE0\"\n
        \     \"C88\",\n      \"014BEE21A18B6D8B3C93FAB08D43E739707953244FDBE924FA926D76669E7AC8C\"\n
        \     \"89DF62ED8975C2D8397A65A49DCC09F6B0AC62272741924D479354D74FF60755\"\n
        \     \"78C\",\n      \"0133330865C067A0EAF72362A65E2D7BC4E461E8C8995C3B6226A21BD1AA78F0E\"\n
        \     \"D94FE536A0DCA35534F0CD1510C41525D163FE9D74D134881E35141ED5E8E95B\"\n
        \     \"979\"\n    },\n    {\n      \"ECDSA, 521 bits (prime field)\",\n      \"With
        SHA-512, message = \\\"test\\\"\",\n      \"sha512\", \"test\",\n      \"16200813020EC986863BEDFC1B121F605C1215645018AEA1A7B215A564DE9EB1\"\n
        \     \"B38A67AA1128B80CE391C4FB71187654AAA3431027BFC7F395766CA988C964DC\"\n
        \     \"56D\",\n      \"013E99020ABF5CEE7525D16B69B229652AB6BDF2AFFCAEF38773B4B7D08725F10\"\n
        \     \"CDB93482FDCC54EDCEE91ECA4166B2A7C6265EF0CE2BD7051B7CEF945BABD47E\"\n
        \     \"E6D\",\n      \"01FBD0013C674AA79CB39849527916CE301C66EA7CE8B80682786AD60F98F7E78\"\n
        \     \"A19CA69EFF5C57400E3B3A0AD66CE0978214D13BAF4E9AC60752F7B155E2DE4D\"\n
        \     \"CE3\"\n    },\n    { NULL }\n  }"
      pos:
        line_end: 240
        line_start: 234
        source_file: /src/libgcrypt/tests/dsa-rfc6979.c
    typedefs: []
    union: []
- function_names:
  - show_sexp
  - _gcry_pk_util_get_nbits
  - data_from_hex
  - extract_cmp_data
  - check_keys_crypt
  - check_keys
  - get_keys_sample
  - get_keys_new
  - get_keys_x931_new
  - get_elg_key_new
  - get_dsa_key_new
  - get_dsa_key_fips186_new
  - get_dsa_key_with_domain_new
  - get_dsa_key_fips186_with_domain_new
  - get_dsa_key_fips186_with_seed_new
  - check_run
  - key_param_from_sexp
  - check_x931_derived_key
  - check_ecc_sample_key
  - check_ed25519ecdsa_sample_key
  - main
  source_file: /src/libgcrypt/tests/pubkey.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libgcrypt/tests/pubkey.c
      type_or_value: '"pubkey"'
    structs:
    - fields:
      - name: '*param'
        type: char
      - name: '*expected_d'
        type: char
      item_type: struct
      name: "testtable[] = {\n    { /* First example from X9.31 (D.1.1).  */\n      \"(genkey\\n\"\n
        \     \"  (rsa\\n\"\n      \"    (nbits 4:1024)\\n\"\n      \"    (rsa-use-e
        1:3)\\n\"\n      \"    (derive-parms\\n\"\n      \"      (Xp1 #1A1916DDB29B4EB7EB6732E128#)\\n\"\n
        \     \"      (Xp2 #192E8AAC41C576C822D93EA433#)\\n\"\n      \"      (Xp  #D8CD81F035EC57EFE822955149D3BFF70C53520D\\n\"\n
        \     \"            769D6D76646C7A792E16EBD89FE6FC5B605A6493\\n\"\n      \"
        \           39DFC925A86A4C6D150B71B9EEA02D68885F5009\\n\"\n      \"            B98BD984#)\\n\"\n
        \     \"      (Xq1 #1A5CF72EE770DE50CB09ACCEA9#)\\n\"\n      \"      (Xq2
        #134E4CAA16D2350A21D775C404#)\\n\"\n      \"      (Xq  #CC1092495D867E64065DEE3E7955F2EBC7D47A2D\\n\"\n
        \     \"            7C9953388F97DDDC3E1CA19C35CA659EDC2FC325\\n\"\n      \"
        \           6D29C2627479C086A699A49C4C9CEE7EF7BD1B34\\n\"\n      \"            321DE34A#))))\\n\",\n
        \     \"1CCDA20BCFFB8D517EE9666866621B11822C7950D55F4BB5BEE37989A7D173\"\n
        \     \"12E326718BE0D79546EAAE87A56623B919B1715FFBD7F16028FC4007741961\"\n
        \     \"C88C5D7B4DAAAC8D36A98C9EFBB26C8A4A0E6BC15B358E528A1AC9D0F042BE\"\n
        \     \"B93BCA16B541B33F80C933A3B769285C462ED5677BFE89DF07BED5C127FD13\"\n
        \     \"241D3C4B\"\n    },\n\n    { /* Second example from X9.31 (D.2.1).
        \ */\n      \"(genkey\\n\"\n      \"  (rsa\\n\"\n      \"    (nbits 4:1536)\\n\"\n
        \     \"    (rsa-use-e 1:3)\\n\"\n      \"    (derive-parms\\n\"\n      \"
        \     (Xp1 #18272558B61316348297EACA74#)\\n\"\n      \"      (Xp2 #1E970E8C6C97CEF91F05B0FA80#)\\n\"\n
        \     \"      (Xp  #F7E943C7EF2169E930DCF23FE389EF7507EE8265\\n\"\n      \"
        \           0D42F4A0D3A3CEFABE367999BB30EE680B2FE064\\n\"\n      \"            60F707F46005F8AA7CBFCDDC4814BBE7F0F8BC09\\n\"\n
        \     \"            318C8E51A48D134296E40D0BBDD282DCCBDDEE1D\\n\"\n      \"
        \           EC86F0B1C96EAFF5CDA70F9AEB6EE31E#)\\n\"\n      \"      (Xq1 #11FDDA6E8128DC1629F75192BA#)\\n\"\n
        \     \"      (Xq2 #18AB178ECA907D72472F65E480#)\\n\"\n      \"      (Xq  #C47560011412D6E13E3E7D007B5C05DBF5FF0D0F\\n\"\n
        \     \"            CFF1FA2070D16C7ABA93EDFB35D8700567E5913D\\n\"\n      \"
        \           B734E3FBD15862EBC59FA0425DFA131E549136E8\\n\"\n      \"            E52397A8ABE4705EC4877D4F82C4AAC651B33DA6\\n\"\n
        \     \"            EA14B9D5F2A263DC65626E4D6CEAC767#))))\\n\",\n      \"1FB56069985F18C4519694FB71055721A01F14422DC901C35B03A64D4A5BD1\"\n
        \     \"259D573305F5B056AC931B82EDB084E39A0FD1D1A86CC5B147A264F7EF4EB2\"\n
        \     \"0ED1E7FAAE5CAE4C30D5328B7F74C3CAA72C88B70DED8EDE207B8629DA2383\"\n
        \     \"B78C3CE1CA3F9F218D78C938B35763AF2A8714664CC57F5CECE2413841F5E9\"\n
        \     \"EDEC43B728E25A41BF3E1EF8D9EEE163286C9F8BF0F219D3B322C3E4B0389C\"\n
        \     \"2E8BB28DC04C47DA2BF38823731266D2CF6CC3FC181738157624EF051874D0\"\n
        \     \"BBCCB9F65C83\"\n      /* Note that this example in X9.31 gives this
        value for D:\n\n        \"7ED581A6617C6311465A53EDC4155C86807C5108B724070D6C0E9935296F44\"\n
        \       \"96755CCC17D6C15AB24C6E0BB6C2138E683F4746A1B316C51E8993DFBD3AC8\"\n
        \       \"3B479FEAB972B930C354CA2DFDD30F2A9CB222DC37B63B7881EE18A7688E0E\"\n
        \       \"DE30F38728FE7C8635E324E2CD5D8EBCAA1C51993315FD73B38904E107D7A7\"\n
        \       \"B7B10EDCA3896906FCF87BE367BB858CA1B27E2FC3C8674ECC8B0F92C0E270\"\n
        \       \"BA2ECA3701311F68AFCE208DCC499B4B3DB30FF0605CE055D893BC1461D342\"\n
        \       \"EF32E7D9720B\"\n\n        This is a bug in X9.31, obviously introduced
        by using\n\n           d = e^{-1} mod (p-1)(q-1)\n\n         instead of using
        the universal exponent as required by 4.1.3:\n\n           d = e^{-1} mod
        lcm(p-1,q-1)\n\n         The examples in X9.31 seem to be pretty buggy, see\n
        \        cipher/primegen.c for another bug.  Not only that I had to\n         spend
        100 USD for the 66 pages of the document, it also took\n         me several
        hours to figure out that the bugs are in the\n         document and not in
        my code.\n       */\n    },\n\n    { /* First example from NIST RSAVS (B.1.1).
        \ */\n      \"(genkey\\n\"\n      \"  (rsa\\n\"\n      \"    (nbits 4:1024)\\n\"\n
        \     \"    (rsa-use-e 1:3)\\n\"\n      \"    (derive-parms\\n\"\n      \"
        \     (Xp1 #1ed3d6368e101dab9124c92ac8#)\\n\"\n      \"      (Xp2 #16e5457b8844967ce83cab8c11#)\\n\"\n
        \     \"      (Xp  #b79f2c2493b4b76f329903d7555b7f5f06aaa5ea\\n\"\n      \"
        \           ab262da1dcda8194720672a4e02229a0c71f60ae\\n\"\n      \"            c4f0d2ed8d49ef583ca7d5eeea907c10801c302a\\n\"\n
        \     \"            cab44595#)\\n\"\n      \"      (Xq1 #1a5d9e3fa34fb479bedea412f6#)\\n\"\n
        \     \"      (Xq2 #1f9cca85f185341516d92e82fd#)\\n\"\n      \"      (Xq  #c8387fd38fa33ddcea6a9de1b2d55410663502db\\n\"\n
        \     \"            c225655a9310cceac9f4cf1bce653ec916d45788\\n\"\n      \"
        \           f8113c46bc0fa42bf5e8d0c41120c1612e2ea8bb\\n\"\n      \"            2f389eda#))))\\n\",\n
        \     \"17ef7ad4fd96011b62d76dfb2261b4b3270ca8e07bc501be954f8719ef586b\"\n
        \     \"f237e8f693dd16c23e7adecc40279dc6877c62ab541df5849883a5254fccfd\"\n
        \     \"4072a657b7f4663953930346febd6bbd82f9a499038402cbf97fd5f068083a\"\n
        \     \"c81ad0335c4aab0da19cfebe060a1bac7482738efafea078e21df785e56ea0\"\n
        \     \"dc7e8feb\"\n    },\n\n    { /* Second example from NIST RSAVS (B.1.1).
        \ */\n      \"(genkey\\n\"\n      \"  (rsa\\n\"\n      \"    (nbits 4:1536)\\n\"\n
        \     \"    (rsa-use-e 1:3)\\n\"\n      \"    (derive-parms\\n\"\n      \"
        \     (Xp1 #1e64c1af460dff8842c22b64d0#)\\n\"\n      \"      (Xp2 #1e948edcedba84039c81f2ac0c#)\\n\"\n
        \     \"      (Xp  #c8c67df894c882045ede26a9008ab09ea0672077\\n\"\n      \"
        \           d7bc71d412511cd93981ddde8f91b967da404056\\n\"\n      \"            c39f105f7f239abdaff92923859920f6299e82b9\\n\"\n
        \     \"            5bd5b8c959948f4a034d81613d6235a3953b49ce\\n\"\n      \"
        \           26974eb7bb1f14843841281b363b9cdb#)\\n\"\n      \"      (Xq1 #1f3df0f017ddd05611a97b6adb#)\\n\"\n
        \     \"      (Xq2 #143edd7b22d828913abf24ca4d#)\\n\"\n      \"      (Xq  #f15147d0e7c04a1e3f37adde802cdc610999bf7a\\n\"\n
        \     \"            b0088434aaeda0c0ab3910b14d2ce56cb66bffd9\\n\"\n      \"
        \           7552195fae8b061077e03920814d8b9cfb5a3958\\n\"\n      \"            b3a82c2a7fc97e55db543948d3396289245336ec\\n\"\n
        \     \"            9e3cb308cc655aebd766340da8921383#))))\\n\",\n      \"1f8b19f3f5f2ac9fc599f110cad403dcd9bdf5f7f00fb2790e78e820398184\"\n
        \     \"1f3fb3dd230fb223d898f45719d9b2d3525587ff2b8bcc7425e40550a5b536\"\n
        \     \"1c8e9c1d26e83fbd9c33c64029c0e878b829d55def12912b73d94fd758c461\"\n
        \     \"0f473e230c41b5e4c86e27c5a5029d82c811c88525d0269b95bd2ff272994a\"\n
        \     \"dbd80f2c2ecf69065feb8abd8b445b9c6d306b1585d7d3d7576d49842bc7e2\"\n
        \     \"8b4a2f88f4a47e71c3edd35fdf83f547ea5c2b532975c551ed5268f748b2c4\"\n
        \     \"2ccf8a84835b\"\n    }\n  }"
      pos:
        line_end: 922
        line_start: 919
        source_file: /src/libgcrypt/tests/pubkey.c
    typedefs: []
    union: []
- function_names:
  - BUG
  - show_sexp
  - progress_cb
  - random_bench
  - md_bench
  - mac_bench
  - ccm_aead_init
  - cipher_encrypt
  - cipher_decrypt
  - cipher_bench
  - rsa_bench
  - elg_bench
  - dsa_bench
  - ecc_bench
  - do_powm
  - mpi_bench
  - prime_bench
  - main
  source_file: /src/libgcrypt/tests/benchmark.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/tests/benchmark.c
      type_or_value: '"benchmark"'
    structs:
    - fields:
      - name: mode
        type: int
      - name: '*name'
        type: char
      - name: blocked
        type: int
      - name: max_inlen
        type: unsigned int
      - name: (* const aead_init)(gcry_cipher_hd_t hd, size_t buflen, int authlen)
        type: void
      - name: req_blocksize
        type: int
      - name: authlen
        type: int
      - name: noncelen
        type: int
      - name: doublekey
        type: int
      item_type: struct
      name: "modes[] = {\n    { GCRY_CIPHER_MODE_ECB, \"   ECB/Stream\", 1, 0xffffffffU
        },\n    { GCRY_CIPHER_MODE_CBC, \" CBC/Poly1305\", 1, 0xffffffffU },\n    {
        GCRY_CIPHER_MODE_CFB, \"      CFB\", 0, 0xffffffffU },\n    { GCRY_CIPHER_MODE_OFB,
        \"      OFB\", 0, 0xffffffffU },\n    { GCRY_CIPHER_MODE_CTR, \"      CTR\",
        0, 0xffffffffU },\n    { GCRY_CIPHER_MODE_XTS, \"      XTS\", 0, 16 << 20,\n
        \     NULL, GCRY_XTS_BLOCK_LEN, 0, 0, 1 },\n    { GCRY_CIPHER_MODE_CCM, \"
        \     CCM\", 0, 0xffffffffU,\n      ccm_aead_init, GCRY_CCM_BLOCK_LEN, 8,
        },\n    { GCRY_CIPHER_MODE_GCM, \"      GCM\", 0, 0xffffffffU,\n      NULL,
        GCRY_GCM_BLOCK_LEN, GCRY_GCM_BLOCK_LEN },\n    { GCRY_CIPHER_MODE_OCB, \"
        \     OCB\", 1, 0xffffffffU,\n      NULL, 16, 16, 15 },\n    { GCRY_CIPHER_MODE_EAX,
        \"      EAX\", 0, 0xffffffffU,\n      NULL, 0, 8, 8 },\n    { GCRY_CIPHER_MODE_STREAM,
        \"\", 0, 0xffffffffU },\n    { GCRY_CIPHER_MODE_POLY1305, \"\", 0, 0xffffffffU,\n
        \     NULL, 1, 16, 12 },\n    {0}\n  }"
      pos:
        line_end: 832
        line_start: 822
        source_file: /src/libgcrypt/tests/benchmark.c
    typedefs: []
    union: []
- function_names:
  - show_note
  - prepend_srcdir
  - read_textline
  - parse_annotation
  - copy_data
  - hex2buffer
  - one_test_sexp
  - check_ecdsa
  - main
  source_file: /src/libgcrypt/tests/t-ecdsa.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/tests/t-ecdsa.c
      type_or_value: '"t-ecdsa"'
    - item_type: preproc_def
      name: N_TESTS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/tests/t-ecdsa.c
      type_or_value: '320'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/tests/sha3-256.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - list_curves
  - check_matching
  - check_get_params
  - main
  source_file: /src/libgcrypt/tests/curves.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/tests/curves.c
      type_or_value: '"curves"'
    - item_type: preproc_def
      name: N_CURVES
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/tests/curves.c
      type_or_value: '28'
    - item_type: preproc_def
      name: TEST_ERROR_EXPECTED
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/libgcrypt/tests/curves.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: TEST_NOFIPS
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/libgcrypt/tests/curves.c
      type_or_value: (1 << 1)
    structs:
    - fields:
      - name: algo
        type: int
      - name: '*name'
        type: char
      - name: flags
        type: int
      item_type: struct
      name: "tv[] =\n      {\n       { GCRY_PK_ECC, \"Ed25519\" },\n       { GCRY_PK_ECC,
        \"1.3.6.1.4.1.11591.15.1\" },\n       { GCRY_PK_ECC, \"1.3.101.112\" },\n\n
        \      { GCRY_PK_ECC, \"Curve25519\", TEST_NOFIPS },\n       { GCRY_PK_ECC,
        \"1.3.6.1.4.1.3029.1.5.1\", TEST_NOFIPS },\n       { GCRY_PK_ECC, \"1.3.101.110\",
        TEST_NOFIPS },\n       { GCRY_PK_ECC, \"X25519\", TEST_NOFIPS },\n\n       {
        GCRY_PK_ECC, \"Ed448\" },\n       { GCRY_PK_ECC, \"1.3.101.113\" },\n       {
        GCRY_PK_ECC, \"X448\", TEST_NOFIPS  },\n       { GCRY_PK_ECC, \"1.3.101.111\",
        TEST_NOFIPS },\n\n       { GCRY_PK_ECC, \"NIST P-192\", TEST_NOFIPS },\n       {
        GCRY_PK_ECC, \"1.2.840.10045.3.1.1\", TEST_NOFIPS },\n       { GCRY_PK_ECC,
        \"prime192v1\", TEST_NOFIPS },\n       { GCRY_PK_ECC, \"secp192r1\", TEST_NOFIPS
        },\n       { GCRY_PK_ECC, \"nistp192\", TEST_NOFIPS },\n\n       { GCRY_PK_ECC,
        \"NIST P-224\" },\n       { GCRY_PK_ECC, \"secp224r1\"  },\n       { GCRY_PK_ECC,
        \"1.3.132.0.33\" },\n       { GCRY_PK_ECC, \"nistp224\"   },\n\n       { GCRY_PK_ECC,
        \"NIST P-256\" },\n       { GCRY_PK_ECC, \"1.2.840.10045.3.1.7\" },\n       {
        GCRY_PK_ECC, \"prime256v1\" },\n       { GCRY_PK_ECC, \"secp256r1\" },\n       {
        GCRY_PK_ECC, \"nistp256\"  },\n\n       { GCRY_PK_ECC, \"NIST P-384\" },\n
        \      { GCRY_PK_ECC, \"secp384r1\" },\n       { GCRY_PK_ECC, \"1.3.132.0.34\"
        },\n       { GCRY_PK_ECC, \"nistp384\"   },\n\n       { GCRY_PK_ECC, \"NIST
        P-521\" },\n       { GCRY_PK_ECC, \"secp521r1\" },\n       { GCRY_PK_ECC,
        \"1.3.132.0.35\" },\n       { GCRY_PK_ECC, \"nistp521\"   },\n\n       { GCRY_PK_ECC,
        \"brainpoolP160r1\",       TEST_NOFIPS },\n       { GCRY_PK_ECC, \"1.3.36.3.3.2.8.1.1.1\",
        \ TEST_NOFIPS },\n       { GCRY_PK_ECC, \"brainpoolP192r1\",       TEST_NOFIPS
        },\n       { GCRY_PK_ECC, \"1.3.36.3.3.2.8.1.1.3\",  TEST_NOFIPS },\n       {
        GCRY_PK_ECC, \"brainpoolP224r1\",       TEST_NOFIPS },\n       { GCRY_PK_ECC,
        \"1.3.36.3.3.2.8.1.1.5\",  TEST_NOFIPS },\n       { GCRY_PK_ECC, \"brainpoolP256r1\",
        \      TEST_NOFIPS },\n       { GCRY_PK_ECC, \"1.3.36.3.3.2.8.1.1.7\",  TEST_NOFIPS
        },\n       { GCRY_PK_ECC, \"brainpoolP320r1\",       TEST_NOFIPS },\n       {
        GCRY_PK_ECC, \"1.3.36.3.3.2.8.1.1.9\",  TEST_NOFIPS },\n       { GCRY_PK_ECC,
        \"brainpoolP384r1\",       TEST_NOFIPS },\n       { GCRY_PK_ECC, \"1.3.36.3.3.2.8.1.1.11\",
        TEST_NOFIPS },\n       { GCRY_PK_ECC, \"brainpoolP512r1\",       TEST_NOFIPS
        },\n       { GCRY_PK_ECC, \"1.3.36.3.3.2.8.1.1.13\", TEST_NOFIPS },\n\n       {
        GCRY_PK_ECC, \"GOST2001-test\", TEST_NOFIPS },\n       { GCRY_PK_ECC, \"1.2.643.2.2.35.0\",
        TEST_NOFIPS },\n       { GCRY_PK_ECC, \"GOST2001-CryptoPro-A\", TEST_NOFIPS
        },\n       { GCRY_PK_ECC, \"1.2.643.2.2.35.1\", TEST_NOFIPS },\n       { GCRY_PK_ECC,
        \"GOST2001-CryptoPro-B\", TEST_NOFIPS },\n       { GCRY_PK_ECC, \"1.2.643.2.2.35.2\",
        TEST_NOFIPS },\n       { GCRY_PK_ECC, \"GOST2001-CryptoPro-C\", TEST_NOFIPS
        },\n       { GCRY_PK_ECC, \"1.2.643.2.2.35.3\", TEST_NOFIPS },\n       { GCRY_PK_ECC,
        \"GOST2001-CryptoPro-A\", TEST_NOFIPS },\n       { GCRY_PK_ECC, \"GOST2001-CryptoPro-XchA\",
        TEST_NOFIPS },\n       { GCRY_PK_ECC, \"GOST2001-CryptoPro-C\", TEST_NOFIPS
        },\n       { GCRY_PK_ECC, \"GOST2001-CryptoPro-XchB\", TEST_NOFIPS },\n       {
        GCRY_PK_ECC, \"GOST2001-CryptoPro-A\", TEST_NOFIPS },\n       { GCRY_PK_ECC,
        \"1.2.643.2.2.36.0\", TEST_NOFIPS },\n       { GCRY_PK_ECC, \"GOST2001-CryptoPro-C\",
        TEST_NOFIPS },\n       { GCRY_PK_ECC, \"1.2.643.2.2.36.1\", TEST_NOFIPS },\n\n
        \      /* Noet that GOST2012-256-tc26-A\" is only in the curve alias\n        *
        list but has no parameter entry.  */\n       { GCRY_PK_ECC, \"GOST2001-CryptoPro-A\",
        TEST_NOFIPS },\n       { GCRY_PK_ECC, \"1.2.643.7.1.2.1.1.2\", TEST_NOFIPS
        },\n       { GCRY_PK_ECC, \"GOST2001-CryptoPro-A\", TEST_NOFIPS },\n       {
        GCRY_PK_ECC, \"GOST2012-256-tc26-B\", TEST_NOFIPS },\n       { GCRY_PK_ECC,
        \"GOST2001-CryptoPro-B\", TEST_NOFIPS },\n       { GCRY_PK_ECC, \"1.2.643.7.1.2.1.1.3\",
        TEST_NOFIPS },\n       { GCRY_PK_ECC, \"GOST2001-CryptoPro-B\", TEST_NOFIPS
        },\n       { GCRY_PK_ECC, \"GOST2012-256-tc26-C\", TEST_NOFIPS },\n       {
        GCRY_PK_ECC, \"GOST2001-CryptoPro-C\", TEST_NOFIPS },\n       { GCRY_PK_ECC,
        \"1.2.643.7.1.2.1.1.4\", TEST_NOFIPS },\n       { GCRY_PK_ECC, \"GOST2001-CryptoPro-C\",
        TEST_NOFIPS },\n       { GCRY_PK_ECC, \"GOST2012-256-tc26-D\", TEST_NOFIPS
        },\n\n       { GCRY_PK_ECC, \"GOST2012-512-test\", TEST_NOFIPS },\n       {
        GCRY_PK_ECC, \"GOST2012-test\", TEST_NOFIPS },\n       { GCRY_PK_ECC, \"GOST2012-512-test\",
        TEST_NOFIPS },\n       { GCRY_PK_ECC, \"1.2.643.7.1.2.1.2.0\", TEST_NOFIPS
        },\n       { GCRY_PK_ECC, \"GOST2012-512-tc26-A\", TEST_NOFIPS },\n       {
        GCRY_PK_ECC, \"GOST2012-tc26-A\", TEST_NOFIPS },\n       { GCRY_PK_ECC, \"GOST2012-512-tc26-B\",
        TEST_NOFIPS },\n       { GCRY_PK_ECC, \"GOST2012-tc26-B\", TEST_NOFIPS },\n
        \      { GCRY_PK_ECC, \"GOST2012-512-tc26-A\", TEST_NOFIPS },\n       { GCRY_PK_ECC,
        \"1.2.643.7.1.2.1.2.1\", TEST_NOFIPS },\n       { GCRY_PK_ECC, \"GOST2012-512-tc26-B\",
        TEST_NOFIPS },\n       { GCRY_PK_ECC, \"1.2.643.7.1.2.1.2.2\", TEST_NOFIPS
        },\n       { GCRY_PK_ECC, \"GOST2012-512-tc26-C\", TEST_NOFIPS },\n       {
        GCRY_PK_ECC, \"1.2.643.7.1.2.1.2.3\", TEST_NOFIPS },\n\n       { GCRY_PK_ECC,
        \"secp256k1\", TEST_NOFIPS },\n       { GCRY_PK_ECC, \"1.3.132.0.10\", TEST_NOFIPS
        },\n\n       { GCRY_PK_ECC, \"sm2p256v1\", TEST_NOFIPS },\n       { GCRY_PK_ECC,
        \"1.2.156.10197.1.301\", TEST_NOFIPS },\n\n       /* Check also the ECC algo
        mapping.  */\n       { GCRY_PK_ECDSA, \"Ed25519\" },\n       { GCRY_PK_EDDSA,
        \"Ed25519\" },\n       { GCRY_PK_ECDH,  \"Ed25519\" },\n       { GCRY_PK_ECDSA,
        \"Curve25519\", TEST_NOFIPS },\n       { GCRY_PK_EDDSA, \"Curve25519\", TEST_NOFIPS
        },\n       { GCRY_PK_ECDH,  \"Curve25519\", TEST_NOFIPS },\n       { GCRY_PK_ECC,
        \  \"NoSuchCurve\", TEST_ERROR_EXPECTED },\n       { GCRY_PK_RSA,   \"rsa\",
        TEST_ERROR_EXPECTED },\n       { GCRY_PK_ELG,   \"elg\", TEST_ERROR_EXPECTED
        },\n       { GCRY_PK_DSA,   \"dsa\", TEST_ERROR_EXPECTED }\n      }"
      pos:
        line_end: 144
        line_start: 140
        source_file: /src/libgcrypt/tests/curves.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/compat/libcompat.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_compat_identification
  source_file: /src/libgcrypt/compat/compat.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ATTR_PRINTF
  - ATTR_NR_PRINTF
  - die
  - err
  - inf
  - xmalloc
  - xcalloc
  - xrealloc
  - xstrdup
  - ascii_strupr
  - isodatestring
  - add_predefined_macro
  - set_macro
  - set_variable
  - macro_set_p
  - evaluate_conditions
  - push_condition
  - pop_condition
  - get_section_buffer
  - add_content
  - start_page
  - writechr
  - writestr
  - write_th
  - write_bottom
  - write_sh
  - write_html_item
  - proc_texi_cmd
  - proc_texi_buffer
  - parse_texi_line
  - write_content
  - is_standard_section
  - finish_page
  - parse_file
  - top_parse_file
  - main
  source_file: /src/libgcrypt/doc/yat2m.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MY_GCC_VERSION
      pos:
        line_end: 110
        line_start: 107
        source_file: /src/libgcrypt/doc/yat2m.c
      type_or_value: "(__GNUC__ * 10000 \\\n                         + __GNUC_MINOR__
        * 100         \\\n                         + __GNUC_PATCHLEVEL__)"
    - item_type: preproc_def
      name: MY_GCC_VERSION
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libgcrypt/doc/yat2m.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ATTR_MALLOC
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/libgcrypt/doc/yat2m.c
      type_or_value: __attribute__ ((__malloc__))
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/libgcrypt/doc/yat2m.c
      type_or_value: '"yat2m"'
    - item_type: preproc_def
      name: VERSION
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/libgcrypt/doc/yat2m.c
      type_or_value: PACKAGE_VERSION
    - item_type: preproc_def
      name: VERSION
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/libgcrypt/doc/yat2m.c
      type_or_value: '"1.0"'
    - item_type: preproc_def
      name: LINESIZE
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/libgcrypt/doc/yat2m.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: MAX_CONDITION_NESTING
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/libgcrypt/doc/yat2m.c
      type_or_value: '10'
    structs:
    - fields:
      - name: '*next'
        type: struct macro_s
      - name: '*value'
        type: char
      - name: name[1]
        type: char
      item_type: struct
      name: macro_s
      pos:
        line_end: 190
        line_start: 185
        source_file: /src/libgcrypt/doc/yat2m.c
    - fields:
      - name: manverb
        type: int
      - name: isset
        type: int
      - name: name[1]
        type: char
      item_type: struct
      name: condition_s
      pos:
        line_end: 208
        line_start: 203
        source_file: /src/libgcrypt/doc/yat2m.c
    - fields:
      - name: '*next'
        type: struct line_buffer_s
      - name: verbatim
        type: int
      - name: '*line'
        type: char
      item_type: struct
      name: line_buffer_s
      pos:
        line_end: 225
        line_start: 219
        source_file: /src/libgcrypt/doc/yat2m.c
    - fields:
      - name: '*name'
        type: char
      - name: lines
        type: line_buffer_t
      - name: '*lines_tail'
        type: line_buffer_t
      - name: last_line
        type: line_buffer_t
      item_type: struct
      name: section_buffer_s
      pos:
        line_end: 238
        line_start: 230
        source_file: /src/libgcrypt/doc/yat2m.c
    - fields:
      - name: '*name'
        type: char
      - name: n_sections
        type: size_t
      - name: sections
        type: section_buffer_t
      item_type: struct
      name: thepage
      pos:
        line_end: 252
        line_start: 242
        source_file: /src/libgcrypt/doc/yat2m.c
    - fields:
      - name: '*name'
        type: char
      - name: what
        type: int
      - name: '*lead_in'
        type: char
      - name: '*lead_out'
        type: char
      - name: '*html_in'
        type: char
      - name: '*html_out'
        type: char
      item_type: struct
      name: "cmdtbl[] = {\n    { \"command\", 0, \"\\\\fB\", \"\\\\fR\", \"<i>\",
        \"</i>\" },\n    { \"code\",    0, \"\\\\fB\", \"\\\\fR\", \"<samp>\", \"</samp>\"
        },\n    { \"url\",     0, \"\\\\fB\", \"\\\\fR\", \"<strong>\", \"</strong>\"
        },\n    { \"sc\",      0, \"\\\\fB\", \"\\\\fR\", \"<span class=\\\"y2m-sc\\\">\",
        \"</span>\" },\n    { \"var\",     0, \"\\\\fI\", \"\\\\fR\", \"<u>\", \"</u>\"
        },\n    { \"samp\",    0, \"\\\\(oq\", \"\\\\(cq\"  },\n    { \"kbd\",     0,
        \"\\\\(oq\", \"\\\\(cq\"  },\n    { \"file\",    0, \"\\\\(oq\\\\fI\",\"\\\\fR\\\\(cq\"
        },\n    { \"env\",     0, \"\\\\(oq\\\\fI\",\"\\\\fR\\\\(cq\" },\n    { \"acronym\",
        0 },\n    { \"dfn\",     0 },\n    { \"option\",  0, \"\\\\fB\", \"\\\\fR\",
        \"<samp>\", \"</samp>\" },\n    { \"example\", 1, \".RS 2\\n.nf\\n\",      NULL,
        \"\\n<pre>\\n\", \"\\n</pre>\\n\" },\n    { \"smallexample\", 1, \".RS 2\\n.nf\\n\",
        NULL, \"\\n<pre>\\n\", \"\\n</pre>\\n\" },\n    { \"asis\",    7 },\n    {
        \"anchor\",  7 },\n    { \"cartouche\", 1 },\n    { \"ref\",     0, \"[\",
        \"]\" },\n    { \"xref\",    0, \"See: [\", \"]\" },\n    { \"pxref\",   0,
        \"see: [\", \"]\" },\n    { \"uref\",    0, \"(\\\\fB\", \"\\\\fR)\" },\n
        \   { \"footnote\",0, \" ([\", \"])\" },\n    { \"emph\",    0, \"\\\\fI\",
        \"\\\\fR\", \"<em>\", \"</em>\" },\n    { \"w\",       1 },\n    { \"c\",
        \      5 },\n    { \"efindex\", 1 },\n    { \"opindex\", 1 },\n    { \"cpindex\",
        1 },\n    { \"cindex\",  1 },\n    { \"noindent\", 0 },\n    { \"section\",
        1 },\n    { \"chapter\", 1 },\n    { \"subsection\", 6, \"\\n.SS \" },\n    {
        \"chapheading\", 0},\n    { \"item\",    2, \".TP\\n.B \" },\n    { \"itemx\",
        \  2, \".TQ\\n.B \" },\n    { \"table\",   3, NULL, NULL, \"<ul>\\n\", \"</ul>\\n\"
        },\n    { \"itemize\",   3 },\n    { \"bullet\",  0, \"* \" },\n    { \"*\",
        \      0, \"\\n.br\"},\n    { \"/\",       0 },\n    { \"end\",     4 },\n
        \   { \"quotation\",1, \".RS\\n\\\\fB\" },\n    { \"value\", 8 },\n    { NULL
        }\n  }"
      pos:
        line_end: 914
        line_start: 907
        source_file: /src/libgcrypt/doc/yat2m.c
    typedefs:
    - item_type: typedef
      name: '*macro_t'
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/libgcrypt/doc/yat2m.c
      type: macro_s
    - item_type: typedef
      name: '*condition_t'
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/libgcrypt/doc/yat2m.c
      type: condition_s
    - item_type: typedef
      name: '*line_buffer_t'
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/libgcrypt/doc/yat2m.c
      type: line_buffer_s
    - item_type: typedef
      name: '*section_buffer_t'
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/libgcrypt/doc/yat2m.c
      type: section_buffer_s
    union: []
- function_names: []
  source_file: /src/libgcrypt/src/secmem.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: G10_SECMEM_H
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/libgcrypt/src/secmem.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GCRY_SECMEM_FLAG_NO_WARNING
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/src/secmem.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: GCRY_SECMEM_FLAG_SUSPEND_WARNING
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/src/secmem.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: GCRY_SECMEM_FLAG_NOT_LOCKED
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/src/secmem.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: GCRY_SECMEM_FLAG_NO_MLOCK
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/src/secmem.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: GCRY_SECMEM_FLAG_NO_PRIV_DROP
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/src/secmem.h
      type_or_value: (1 << 4)
    structs: []
    typedefs: []
    union: []
- function_names:
  - atoi_1
  - xtoi_1
  - xtoi_2
  - whitespacep
  - dump_mpi
  - dump_string
  - _gcry_sexp_dump
  - normalize
  - _gcry_sexp_create
  - _gcry_sexp_new
  - _gcry_sexp_release
  - _gcry_sexp_cons
  - _gcry_sexp_alist
  - _gcry_sexp_vlist
  - _gcry_sexp_append
  - _gcry_sexp_prepend
  - _gcry_sexp_find_token
  - _gcry_sexp_length
  - get_internal_buffer
  - _gcry_sexp_nth
  - _gcry_sexp_car
  - do_sexp_nth_data
  - _gcry_sexp_nth_data
  - _gcry_sexp_nth_buffer
  - _gcry_sexp_nth_string
  - _gcry_sexp_nth_mpi
  - _gcry_sexp_cdr
  - _gcry_sexp_cadr
  - hextonibble
  - make_space
  - unquote_string
  - do_vsexp_sscan
  - ARG_NEXT
  - MAKE_SPACE
  - STORE_LEN
  - do_sexp_sscan
  - _gcry_sexp_build
  - _gcry_sexp_vbuild
  - _gcry_sexp_build_array
  - _gcry_sexp_sscan
  - suitable_encoding
  - convert_to_hex
  - convert_to_string
  - convert_to_token
  - _gcry_sexp_sprint
  - _gcry_sexp_canon_len
  - _gcry_sexp_vextract_param
  - _gcry_sexp_extract_param
  - _gcry_hex2buffer
  source_file: /src/libgcrypt/src/sexp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GCRYPT_NO_MPI_MACROS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/src/sexp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ST_STOP
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libgcrypt/src/sexp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ST_DATA
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libgcrypt/src/sexp.c
      type_or_value: '1  '
    - item_type: preproc_def
      name: ST_OPEN
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libgcrypt/src/sexp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: ST_CLOSE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libgcrypt/src/sexp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: TOKEN_SPECIALS
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libgcrypt/src/sexp.c
      type_or_value: '"-./_:*+="'
    structs:
    - fields:
      - name: d[1]
        type: byte
      item_type: struct
      name: gcry_sexp
      pos:
        line_end: 88
        line_start: 85
        source_file: /src/libgcrypt/src/sexp.c
    - fields:
      - name: sexp
        type: gcry_sexp_t
      - name: allocated
        type: size_t
      - name: '*pos'
        type: byte
      item_type: struct
      name: make_space_ctx
      pos:
        line_end: 970
        line_start: 965
        source_file: /src/libgcrypt/src/sexp.c
    typedefs:
    - item_type: typedef
      name: DATALEN
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/libgcrypt/src/sexp.c
      type: unsigned short
    union: []
- function_names:
  - get_hwf_deny_file
  - _gcry_disable_hw_feature
  - _gcry_get_hw_features
  - _gcry_enum_hw_features
  - parse_hwf_deny_file
  - _gcry_detect_hw_features
  - _gcry_get_sysconfdir
  source_file: /src/libgcrypt/src/hwfeatures.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CSIDL_APPDATA
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/src/hwfeatures.c
      type_or_value: '0x001a'
    - item_type: preproc_def
      name: CSIDL_LOCAL_APPDATA
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgcrypt/src/hwfeatures.c
      type_or_value: '0x001c'
    - item_type: preproc_def
      name: CSIDL_COMMON_APPDATA
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/src/hwfeatures.c
      type_or_value: '0x0023'
    - item_type: preproc_def
      name: CSIDL_FLAG_CREATE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/src/hwfeatures.c
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: HWF_DENY_FILE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libgcrypt/src/hwfeatures.c
      type_or_value: '"hwf.deny"'
    structs:
    - fields:
      - name: flag
        type: unsigned int
      - name: '*desc'
        type: char
      item_type: struct
      name: "hwflist[] =\n  {\n#if defined(HAVE_CPU_ARCH_X86)\n    { HWF_PADLOCK_RNG,
        \        \"padlock-rng\" },\n    { HWF_PADLOCK_AES,         \"padlock-aes\"
        },\n    { HWF_PADLOCK_SHA,         \"padlock-sha\" },\n    { HWF_PADLOCK_MMUL,
        \       \"padlock-mmul\"},\n    { HWF_INTEL_CPU,           \"intel-cpu\" },\n
        \   { HWF_INTEL_FAST_SHLD,     \"intel-fast-shld\" },\n    { HWF_INTEL_BMI2,
        \         \"intel-bmi2\" },\n    { HWF_INTEL_SSSE3,         \"intel-ssse3\"
        },\n    { HWF_INTEL_SSE4_1,        \"intel-sse4.1\" },\n    { HWF_INTEL_PCLMUL,
        \       \"intel-pclmul\" },\n    { HWF_INTEL_AESNI,         \"intel-aesni\"
        },\n    { HWF_INTEL_RDRAND,        \"intel-rdrand\" },\n    { HWF_INTEL_AVX,
        \          \"intel-avx\" },\n    { HWF_INTEL_AVX2,          \"intel-avx2\"
        },\n    { HWF_INTEL_RDTSC,         \"intel-rdtsc\" },\n    { HWF_INTEL_SHAEXT,
        \       \"intel-shaext\" },\n    { HWF_INTEL_VAES_VPCLMUL,  \"intel-vaes-vpclmul\"
        },\n    { HWF_INTEL_AVX512,        \"intel-avx512\" },\n    { HWF_INTEL_GFNI,
        \         \"intel-gfni\" },\n    { HWF_INTEL_SHA512,        \"intel-sha512\"
        },\n    { HWF_INTEL_SM3,           \"intel-sm3\" },\n    { HWF_INTEL_SM4,
        \          \"intel-sm4\" },\n    /* Following removed HW feature strings are
        kept for API compatibility. */\n    { 0,                       \"intel-fast-vpgather\"
        },\n#elif defined(HAVE_CPU_ARCH_ARM)\n    { HWF_ARM_NEON,            \"arm-neon\"
        },\n    { HWF_ARM_AES,             \"arm-aes\" },\n    { HWF_ARM_SHA1,            \"arm-sha1\"
        },\n    { HWF_ARM_SHA2,            \"arm-sha2\" },\n    { HWF_ARM_PMULL,           \"arm-pmull\"
        },\n    { HWF_ARM_SHA3,            \"arm-sha3\" },\n    { HWF_ARM_SM3,             \"arm-sm3\"
        },\n    { HWF_ARM_SM4,             \"arm-sm4\" },\n    { HWF_ARM_SHA512,          \"arm-sha512\"
        },\n    { HWF_ARM_SVE,             \"arm-sve\" },\n    { HWF_ARM_SVE2,            \"arm-sve2\"
        },\n    { HWF_ARM_SVEAES,          \"arm-sveaes\" },\n    { HWF_ARM_SVEPMULL,
        \       \"arm-svepmull\" },\n    { HWF_ARM_SVESHA3,         \"arm-svesha3\"
        },\n    { HWF_ARM_SVESM4,          \"arm-svesm4\" },\n#elif defined(HAVE_CPU_ARCH_PPC)\n
        \   { HWF_PPC_VCRYPTO,         \"ppc-vcrypto\" },\n    { HWF_PPC_ARCH_3_00,
        \      \"ppc-arch_3_00\" },\n    { HWF_PPC_ARCH_2_07,       \"ppc-arch_2_07\"
        },\n    { HWF_PPC_ARCH_3_10,       \"ppc-arch_3_10\" },\n#elif defined(HAVE_CPU_ARCH_S390X)\n
        \   { HWF_S390X_MSA,           \"s390x-msa\" },\n    { HWF_S390X_MSA_4,         \"s390x-msa-4\"
        },\n    { HWF_S390X_MSA_8,         \"s390x-msa-8\" },\n    { HWF_S390X_MSA_9,
        \        \"s390x-msa-9\" },\n    { HWF_S390X_VX,            \"s390x-vx\" },\n#elif
        defined(HAVE_CPU_ARCH_RISCV)\n    { HWF_RISCV_IMAFDC,        \"riscv-imafdc\"
        },\n    { HWF_RISCV_B,             \"riscv-b\" },\n    { HWF_RISCV_V,             \"riscv-v\"
        },\n    { HWF_RISCV_ZBB,           \"riscv-zbb\" },\n    { HWF_RISCV_ZBC,
        \          \"riscv-zbc\" },\n    { HWF_RISCV_ZVKB,          \"riscv-zvkb\"
        },\n    { HWF_RISCV_ZVKG,          \"riscv-zvkg\" },\n    { HWF_RISCV_ZVKNED,
        \       \"riscv-zvkned\" },\n    { HWF_RISCV_ZVKNHA,        \"riscv-zvknha\"
        },\n    { HWF_RISCV_ZVKNHB,        \"riscv-zvknhb\" },\n#endif\n  }"
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/libgcrypt/src/hwfeatures.c
    typedefs: []
    union: []
- function_names:
  - ADDR_TO_BLOCK
  - memory_barrier
  - ptr_into_pool_p
  - stats_update
  - mb_get_next
  - mb_get_prev
  - mb_merge
  - mb_get_new
  - print_warn
  - lock_pool_pages
  - init_pool
  - _gcry_secmem_set_auto_expand
  - _gcry_secmem_set_flags
  - _gcry_secmem_get_flags
  - _gcry_secmem_init_internal
  - _gcry_secmem_init
  - _gcry_secmem_module_init
  - _gcry_secmem_malloc_internal
  - _gcry_secmem_malloc
  - _gcry_secmem_free_internal
  - MB_WIPE_OUT
  - _gcry_secmem_free
  - _gcry_secmem_realloc_internal
  - _gcry_secmem_realloc
  - _gcry_private_is_secure
  - _gcry_secmem_term
  - _gcry_secmem_dump_stats
  - secmem_dump_stats_internal
  source_file: /src/libgcrypt/src/secmem.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAP_ANONYMOUS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/src/secmem.c
      type_or_value: MAP_ANON
    - item_type: preproc_def
      name: MINIMUM_POOL_SIZE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/src/secmem.c
      type_or_value: '16384'
    - item_type: preproc_def
      name: STANDARD_POOL_SIZE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/src/secmem.c
      type_or_value: '32768'
    - item_type: preproc_def
      name: DEFAULT_PAGE_SIZE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/src/secmem.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: MB_FLAG_ACTIVE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgcrypt/src/secmem.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: SECMEM_LOCK
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/libgcrypt/src/secmem.c
      type_or_value: gpgrt_lock_lock   (&secmem_lock)
    - item_type: preproc_def
      name: SECMEM_UNLOCK
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libgcrypt/src/secmem.c
      type_or_value: gpgrt_lock_unlock (&secmem_lock)
    - item_type: preproc_def
      name: BLOCK_HEAD_SIZE
      pos:
        line_end: 115
        line_start: 113
        source_file: /src/libgcrypt/src/secmem.c
      type_or_value: offsetof (memblock_t, aligned)
    - item_type: preproc_def
      name: GCRY_ASAN_NO_MLOCK
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/libgcrypt/src/secmem.c
      type_or_value: '1'
    structs:
    - fields:
      - name: size
        type: unsigned
      - name: flags
        type: int
      - name: aligned
        type: PROPERLY_ALIGNED_TYPE
      item_type: struct
      name: memblock
      pos:
        line_end: 56
        line_start: 50
        source_file: /src/libgcrypt/src/secmem.c
    - fields:
      - name: '* volatile next'
        type: struct pooldesc_s
      - name: '*mem'
        type: void
      - name: size
        type: size_t
      - name: okay
        type: int
      - name: is_mmapped
        type: int
      - name: cur_alloced
        type: unsigned int
      item_type: struct
      name: pooldesc_s
      pos:
        line_end: 84
        line_start: 62
        source_file: /src/libgcrypt/src/secmem.c
    typedefs: []
    union: []
- function_names:
  - _gcry_thread_context_set_reject
  - _gcry_thread_context_check_rejection
  - _gcry_thread_context_set_fsi
  - _gcry_thread_context_get_fsi
  - loxtoi_1
  - loxtoi_2
  - loxdigit_p
  - get_fips_force_file
  - check_fips_system_setting
  - _gcry_fips_to_activate
  - _gcry_initialize_fips_mode
  - lock_fsm
  - unlock_fsm
  - state2str
  - _gcry_fips_is_operational
  - _gcry_fips_test_operational
  - _gcry_fips_indicator
  - _gcry_fips_indicator_cipher
  - _gcry_fips_indicator_mac
  - _gcry_fips_indicator_md
  - _gcry_fips_indicator_kdf
  - _gcry_fips_indicator_function
  - compare_string
  - _gcry_fips_indicator_pk_flags
  - _gcry_fips_test_error_or_operational
  - reporter
  - run_cipher_selftests
  - run_digest_selftests
  - run_mac_selftests
  - run_kdf_selftests
  - run_pubkey_selftests
  - run_random_selftests
  - hmac256_check
  - check_binary_integrity
  - run_hmac_sha256_selftests
  - _gcry_fips_run_selftests
  - _gcry_fips_signal_error
  - fips_new_state
  - _gcry_fips_noreturn
  source_file: /src/libgcrypt/src/fips.c
  types:
    enum:
    - enumerators:
      - name: STATE_POWERON
        value: '0'
      - name: STATE_OPERATIONAL
      - name: STATE_ERROR
      - name: STATE_SELFTEST
      - name: STATE_INIT
      - name: STATE_FATALERROR
      - name: STATE_SHUTDOWN
      item_type: enum
      name: module_states
      pos:
        line_end: 55
        line_start: 45
        source_file: /src/libgcrypt/src/fips.c
    preproc_defs:
    - item_type: preproc_def
      name: FIPS_FORCE_FILE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/src/fips.c
      type_or_value: '"fips_enabled"'
    - item_type: preproc_def
      name: KEY_FOR_BINARY_CHECK
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/libgcrypt/src/fips.c
      type_or_value: '"What am I, a doctor or a moonshuttle conductor?"'
    - item_type: preproc_def
      name: HMAC_LEN
      pos:
        line_end: 787
        line_start: 786
        source_file: /src/libgcrypt/src/fips.c
      type_or_value: '32'
    structs:
    - fields:
      - name: fips_service_indicator
        type: unsigned long
      - name: flags_reject_non_fips
        type: unsigned int
      item_type: struct
      name: gcry_thread_context
      pos:
        line_end: 74
        line_start: 71
        source_file: /src/libgcrypt/src/fips.c
    typedefs: []
    union: []
- function_names:
  - _gcry_set_gettext_handler
  - _gcry_gettext
  - _gcry_set_fatalerror_handler
  - write2stderr
  - _gcry_fatal_error
  - _gcry_set_log_handler
  - _gcry_set_log_verbosity
  - _gcry_log_verbosity
  - my_gpgrt_post_fatal_handler
  - _gcry_set_gpgrt_post_log_handler
  - map_log_level
  - _gcry_logv
  - _gcry_log
  - _gcry_bug
  - _gcry_assert_failed
  - _gcry_bug
  - _gcry_assert_failed
  - _gcry_log_info
  - _gcry_log_error
  - _gcry_log_fatal
  - _gcry_log_bug
  - _gcry_log_debug
  - _gcry_log_printf
  - do_printhex
  - _gcry_log_printhex
  - _gcry_log_printmpi
  - count_closing_parens
  - _gcry_log_printsxp
  - _gcry_strtokenize
  - _gcry_fast_wipememory
  - _gcry_fast_wipememory2
  - NOINLINE_FUNC::__gcry_burn_stack
  - __gcry_burn_stack_dummy
  - _gcry_divide_by_zero
  source_file: /src/libgcrypt/src/misc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getauxval
  - get_hwcap
  - detect_ppc_at_hwcap
  - _gcry_hwf_detect_ppc
  source_file: /src/libgcrypt/src/hwf-ppc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAS_SYS_AT_HWCAP
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libgcrypt/src/hwf-ppc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: AT_HWCAP
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libgcrypt/src/hwf-ppc.c
      type_or_value: '16'
    - item_type: preproc_def
      name: AT_HWCAP2
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libgcrypt/src/hwf-ppc.c
      type_or_value: '26'
    - item_type: preproc_def
      name: PPC_FEATURE2_ARCH_2_07
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libgcrypt/src/hwf-ppc.c
      type_or_value: '0x80000000'
    - item_type: preproc_def
      name: PPC_FEATURE2_VEC_CRYPTO
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libgcrypt/src/hwf-ppc.c
      type_or_value: '0x02000000'
    - item_type: preproc_def
      name: PPC_FEATURE2_ARCH_3_00
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libgcrypt/src/hwf-ppc.c
      type_or_value: '0x00800000'
    - item_type: preproc_def
      name: PPC_FEATURE2_ARCH_3_10
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libgcrypt/src/hwf-ppc.c
      type_or_value: '0x00040000'
    structs:
    - fields:
      - name: hwcap_flag
        type: unsigned int
      - name: hwcap2_flag
        type: unsigned int
      - name: hwf_flag
        type: unsigned int
      item_type: struct
      name: feature_map_s
      pos:
        line_end: 73
        line_start: 68
        source_file: /src/libgcrypt/src/hwf-ppc.c
    - fields:
      - name: a_type
        type: unsigned long
      - name: a_val
        type: unsigned long
      item_type: struct
      name: auxv
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/libgcrypt/src/hwf-ppc.c
    typedefs: []
    union: []
- function_names:
  - _gcry_ct_not_memequal
  - _gcry_ct_memequal
  - _gcry_ct_memmov_cond
  source_file: /src/libgcrypt/src/const-time.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_private_malloc
  - _gcry_private_malloc_secure
  - _gcry_private_realloc
  - _gcry_private_free
  source_file: /src/libgcrypt/src/stdmem.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_version
  - print_usage
  - space_p
  - digit_p
  - octdigit_p
  - alpha_p
  - hexdigit_p
  - xtoi_1
  - whitespace_p
  - logit
  - my_getc
  - flushdatabuffer
  - addrawdata
  - printcursor
  - printerr
  - printctl
  - printchr
  - gcry_sexp_sprint
  - init_data
  - push_data
  - flush_data
  - parse_and_print
  - main
  source_file: /src/libgcrypt/src/dumpsexp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libgcrypt/src/dumpsexp.c
      type_or_value: '"dumpsexp"'
    - item_type: preproc_def
      name: MYVERSION_LINE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libgcrypt/src/dumpsexp.c
      type_or_value: PGM " (Libgcrypt) " VERSION
    - item_type: preproc_def
      name: BUGREPORT_LINE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libgcrypt/src/dumpsexp.c
      type_or_value: '"\nReport bugs to <bug-libgcrypt@gnupg.org>.\n"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/src/cipher-proto.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: algo
        type: int
      - name: flags
        type: "struct {\n    unsigned int disabled:1;\n    unsigned int fips:1;\n
          \ }"
      - name: use
        type: int
      - name: '*name'
        type: char
      - name: '**aliases'
        type: char
      - name: '*elements_pkey'
        type: char
      - name: '*elements_skey'
        type: char
      - name: '*elements_enc'
        type: char
      - name: '*elements_sig'
        type: char
      - name: '*elements_grip'
        type: char
      - name: generate
        type: gcry_pk_generate_t
      - name: check_secret_key
        type: gcry_pk_check_secret_key_t
      - name: encrypt
        type: gcry_pk_encrypt_t
      - name: decrypt
        type: gcry_pk_decrypt_t
      - name: sign
        type: gcry_pk_sign_t
      - name: verify
        type: gcry_pk_verify_t
      - name: get_nbits
        type: gcry_pk_get_nbits_t
      - name: selftest
        type: selftest_func_t
      - name: comp_keygrip
        type: pk_comp_keygrip_t
      - name: get_curve
        type: pk_get_curve_t
      - name: get_curve_param
        type: pk_get_curve_param_t
      item_type: struct
      name: gcry_pk_spec
      pos:
        line_end: 118
        line_start: 92
        source_file: /src/libgcrypt/src/cipher-proto.h
    - fields:
      - name: '*oid'
        type: char
      - name: mode
        type: int
      item_type: struct
      name: gcry_cipher_oid_spec
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/libgcrypt/src/cipher-proto.h
    - fields:
      - name: algo
        type: int
      - name: flags
        type: "struct {\n    unsigned int disabled:1;\n    unsigned int fips:1;\n
          \ }"
      - name: '*name'
        type: char
      - name: '**aliases'
        type: char
      - name: '*oids'
        type: gcry_cipher_oid_spec_t
      - name: blocksize
        type: size_t
      - name: keylen
        type: size_t
      - name: contextsize
        type: size_t
      - name: setkey
        type: gcry_cipher_setkey_t
      - name: encrypt
        type: gcry_cipher_encrypt_t
      - name: decrypt
        type: gcry_cipher_decrypt_t
      - name: stencrypt
        type: gcry_cipher_stencrypt_t
      - name: stdecrypt
        type: gcry_cipher_stdecrypt_t
      - name: selftest
        type: selftest_func_t
      - name: set_extra_info
        type: cipher_set_extra_info_t
      - name: setiv
        type: cipher_setiv_func_t
      item_type: struct
      name: gcry_cipher_spec
      pos:
        line_end: 195
        line_start: 174
        source_file: /src/libgcrypt/src/cipher-proto.h
    - fields:
      - name: '*oidstring'
        type: char
      item_type: struct
      name: gcry_md_oid_spec
      pos:
        line_end: 229
        line_start: 226
        source_file: /src/libgcrypt/src/cipher-proto.h
    - fields:
      - name: algo
        type: int
      - name: flags
        type: "struct {\n    unsigned int disabled:1;\n    unsigned int fips:1;\n
          \ }"
      - name: '*name'
        type: char
      - name: '*asnoid'
        type: unsigned char
      - name: asnlen
        type: int
      - name: '*oids'
        type: gcry_md_oid_spec_t
      - name: mdlen
        type: int
      - name: init
        type: gcry_md_init_t
      - name: write
        type: gcry_md_write_t
      - name: final
        type: gcry_md_final_t
      - name: read
        type: gcry_md_read_t
      - name: extract
        type: gcry_md_extract_t
      - name: hash_buffers
        type: gcry_md_hash_buffers_t
      - name: contextsize
        type: size_t
      - name: selftest
        type: selftest_func_t
      item_type: struct
      name: gcry_md_spec
      pos:
        line_end: 252
        line_start: 232
        source_file: /src/libgcrypt/src/cipher-proto.h
    typedefs:
    - item_type: typedef
      name: "(*selftest_report_func_t)(const char *domain,\n                                       int
        algo,\n                                       const char *what,\n                                       const
        char *errdesc)"
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: void
    - item_type: typedef
      name: "(*selftest_func_t)\n     (int algo, int extended, selftest_report_func_t
        report)"
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: gpg_err_code_t
    - item_type: typedef
      name: "(*gcry_pk_generate_t) (gcry_sexp_t genparms,\n                                               gcry_sexp_t
        *r_skey)"
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: gcry_err_code_t
    - item_type: typedef
      name: (*gcry_pk_check_secret_key_t) (gcry_sexp_t keyparms)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: gcry_err_code_t
    - item_type: typedef
      name: "(*gcry_pk_encrypt_t) (gcry_sexp_t *r_ciph,\n                                              gcry_sexp_t
        s_data,\n                                              gcry_sexp_t keyparms)"
      pos:
        line_end: 58
        line_start: 56
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: gcry_err_code_t
    - item_type: typedef
      name: "(*gcry_pk_decrypt_t) (gcry_sexp_t *r_plain,\n                                              gcry_sexp_t
        s_data,\n                                              gcry_sexp_t keyparms)"
      pos:
        line_end: 63
        line_start: 61
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: gcry_err_code_t
    - item_type: typedef
      name: "(*gcry_pk_sign_t) (gcry_sexp_t *r_sig,\n                                           gcry_sexp_t
        s_data,\n                                           gcry_sexp_t keyparms)"
      pos:
        line_end: 68
        line_start: 66
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: gcry_err_code_t
    - item_type: typedef
      name: "(*gcry_pk_verify_t) (gcry_sexp_t s_sig,\n                                             gcry_sexp_t
        s_data,\n                                             gcry_sexp_t keyparms)"
      pos:
        line_end: 73
        line_start: 71
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: gcry_err_code_t
    - item_type: typedef
      name: (*gcry_pk_get_nbits_t) (gcry_sexp_t keyparms)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: unsigned
    - item_type: typedef
      name: "(*pk_comp_keygrip_t) (gcry_md_hd_t md,\n                                             gcry_sexp_t
        keyparm)"
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: gpg_err_code_t
    - item_type: typedef
      name: "*(*pk_get_curve_t)(gcry_sexp_t keyparms, int iterator,\n                                      unsigned
        int *r_nbits)"
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: char
    - item_type: typedef
      name: (*pk_get_curve_param_t)(const char *name)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: gcry_sexp_t
    - item_type: typedef
      name: "(*gcry_cipher_setkey_t) (void *c,\n\t\t\t\t\t\t const unsigned char *key,\n\t\t\t\t\t\t
        unsigned keylen,\n\t\t\t\t\t\t struct cipher_bulk_ops *bulk_ops)"
      pos:
        line_end: 134
        line_start: 131
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: gcry_err_code_t
    - item_type: typedef
      name: "(*gcry_cipher_encrypt_t) (void *c,\n\t\t\t\t\t       unsigned char *outbuf,\n\t\t\t\t\t
        \      const unsigned char *inbuf)"
      pos:
        line_end: 139
        line_start: 137
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: unsigned int
    - item_type: typedef
      name: "(*gcry_cipher_decrypt_t) (void *c,\n\t\t\t\t\t       unsigned char *outbuf,\n\t\t\t\t\t
        \      const unsigned char *inbuf)"
      pos:
        line_end: 144
        line_start: 142
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: unsigned int
    - item_type: typedef
      name: "(*gcry_cipher_stencrypt_t) (void *c,\n\t\t\t\t\t unsigned char *outbuf,\n\t\t\t\t\t
        const unsigned char *inbuf,\n\t\t\t\t\t size_t n)"
      pos:
        line_end: 150
        line_start: 147
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: void
    - item_type: typedef
      name: "(*gcry_cipher_stdecrypt_t) (void *c,\n\t\t\t\t\t unsigned char *outbuf,\n\t\t\t\t\t
        const unsigned char *inbuf,\n\t\t\t\t\t size_t n)"
      pos:
        line_end: 156
        line_start: 153
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: void
    - item_type: typedef
      name: "(*cipher_set_extra_info_t)\n     (void *c, int what, const void *buffer,
        size_t buflen)"
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: gpg_err_code_t
    - item_type: typedef
      name: (*cipher_setiv_func_t)(void *c, const byte *iv, size_t ivlen)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: void
    - item_type: typedef
      name: (*gcry_md_init_t) (void *c, unsigned int flags)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: void
    - item_type: typedef
      name: (*gcry_md_write_t) (void *c, const void *buf, size_t nbytes)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: void
    - item_type: typedef
      name: (*gcry_md_final_t) (void *c)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: void
    - item_type: typedef
      name: '*(*gcry_md_read_t) (void *c)'
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: unsigned char
    - item_type: typedef
      name: "(*gcry_md_extract_t) (void *c, void *outbuf,\n\t\t\t\t\t     size_t nbytes)"
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: gpg_err_code_t
    - item_type: typedef
      name: "(*gcry_md_hash_buffers_t) (void *outbuf, size_t nbytes,\n\t\t\t\t\tconst
        gcry_buffer_t *iov,\n\t\t\t\t\tint iovcnt)"
      pos:
        line_end: 224
        line_start: 222
        source_file: /src/libgcrypt/src/cipher-proto.h
      type: void
    union: []
- function_names:
  - CFI_ADJUST_CFA_OFFSET
  - is_cpuid_available
  - get_cpuid_subleaf
  - get_cpuid
  - get_xgetbv
  - is_cpuid_available
  - get_cpuid_subleaf
  - get_cpuid
  - get_xgetbv
  - detect_x86_gnuc
  - _gcry_hwf_detect_x86
  - _gcry_hwf_x86_cpu_details
  source_file: /src/libgcrypt/src/hwf-x86.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAS_X86_CPUID
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/src/hwf-x86.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CFI_PUSH4
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgcrypt/src/hwf-x86.c
      type_or_value: CFI_ADJUST_CFA_OFFSET(4)
    - item_type: preproc_def
      name: CFI_POP4
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgcrypt/src/hwf-x86.c
      type_or_value: CFI_ADJUST_CFA_OFFSET(-4)
    - item_type: preproc_def
      name: HAS_X86_CPUID
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/libgcrypt/src/hwf-x86.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: c[12+1]
        type: char
      - name: ui[3]
        type: unsigned int
      item_type: union
      name: vendor_id
      pos:
        line_end: 217
        line_start: 213
        source_file: /src/libgcrypt/src/hwf-x86.c
- function_names:
  - _gcry_cipher_reset
  - _gcry_md_test_algo
  - _gcry_md_final
  - _gcry_md_putc
  - _gcry_mac_reset
  - fips_check_rejection
  - fips_service_indicator_init
  - fips_service_indicator_mark_non_compliant
  - _gcry_strerror
  - _gcry_strsource
  - _gcry_err_code_from_errno
  - _gcry_err_code_to_errno
  - _gcry_err_make_from_errno
  - _gcry_error_from_errno
  - sexp_new
  - sexp_create
  - sexp_sscan
  - sexp_build_array
  - sexp_release
  - sexp_canon_len
  - sexp_sprint
  - sexp_dump
  - sexp_cons
  - sexp_alist
  - sexp_append
  - sexp_prepend
  - sexp_find_token
  - sexp_length
  - sexp_nth
  - sexp_car
  - sexp_cdr
  - sexp_cadr
  - sexp_nth_data
  - sexp_nth_buffer
  - sexp_nth_string
  - sexp_nth_mpi
  - mpi_new
  - mpi_secure_new
  - mpi_snew
  - mpi_release
  - mpi_snatch
  - mpi_set
  - mpi_set_ui
  - mpi_get_ui
  - mpi_swap
  - mpi_abs
  - mpi_neg
  - mpi_cmp
  - mpi_cmpabs
  - mpi_cmp_ui
  - mpi_is_neg
  - mpi_add_ui
  - mpi_add
  - mpi_addm
  - mpi_sub_ui
  - mpi_sub
  - mpi_subm
  - mpi_mul_ui
  - mpi_mul_2exp
  - mpi_mul
  - mpi_mulm
  - mpi_powm
  - mpi_tdiv
  - mpi_fdiv
  - mpi_mod
  - mpi_gcd
  - mpi_invm
  - mpi_point_new
  - mpi_point_release
  - mpi_point_copy
  - mpi_point_get
  - mpi_point_snatch_get
  - mpi_point_set
  - mpi_point_snatch_set
  - mpi_point_resize
  - mpi_get_nbits
  - mpi_test_bit
  - mpi_set_bit
  - mpi_set_highbit
  - mpi_clear_bit
  - mpi_clear_highbit
  - mpi_rshift
  - mpi_lshift
  - mpi_set_opaque
  - mpi_get_opaque
  - mpi_set_flag
  - mpi_set_flag
  - mpi_clear_flag
  - mpi_get_flag
  source_file: /src/libgcrypt/src/gcrypt-int.h
  types:
    enum:
    - enumerators:
      - name: GCRY_MLDSA44
      - name: GCRY_MLDSA87
      - name: GCRY_MLDSA65
      item_type: enum
      name: gcry_mldsa_algos
      pos:
        line_end: 638
        line_start: 633
        source_file: /src/libgcrypt/src/gcrypt-int.h
    preproc_defs:
    - item_type: preproc_def
      name: sexp_build
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/libgcrypt/src/gcrypt-int.h
      type_or_value: _gcry_sexp_build
    - item_type: preproc_def
      name: sexp_vlist
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/libgcrypt/src/gcrypt-int.h
      type_or_value: _gcry_sexp_vlist
    - item_type: preproc_def
      name: sexp_extract_param
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/libgcrypt/src/gcrypt-int.h
      type_or_value: _gcry_sexp_extract_param
    structs:
    - fields:
      - name: request
        type: "struct {\n    unsigned int seed:1;  /* If set SEED will be returned.
          \ */\n  }"
      - name: '*seed'
        type: void
      - name: seedlen
        type: size_t
      item_type: struct
      name: kem_genkey_extra_data_s
      pos:
        line_end: 48
        line_start: 41
        source_file: /src/libgcrypt/src/gcrypt-int.h
    typedefs:
    - item_type: typedef
      name: '*mpi_ec_t'
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/libgcrypt/src/gcrypt-int.h
      type: mpi_ec_ctx_s
    union: []
- function_names:
  - _gcry_ctx_alloc
  - _gcry_ctx_get_pointer
  - _gcry_ctx_find_pointer
  - _gcry_ctx_release
  source_file: /src/libgcrypt/src/context.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CTX_MAGIC
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgcrypt/src/context.c
      type_or_value: '"cTx"'
    - item_type: preproc_def
      name: CTX_MAGIC_LEN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/src/context.c
      type_or_value: '3'
    structs:
    - fields:
      - name: '*next'
        type: struct gcry_context
      - name: magic[CTX_MAGIC_LEN]
        type: char
      - name: type
        type: char
      - name: (*deinit)(void*)
        type: void
      - name: u
        type: PROPERLY_ALIGNED_TYPE
      item_type: struct
      name: gcry_context
      pos:
        line_end: 45
        line_start: 36
        source_file: /src/libgcrypt/src/context.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/src/gcrypt-testapi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PRIV_CTL_INIT_EXTRNG_TEST
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libgcrypt/src/gcrypt-testapi.h
      type_or_value: '58'
    - item_type: preproc_def
      name: PRIV_CTL_RUN_EXTRNG_TEST
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgcrypt/src/gcrypt-testapi.h
      type_or_value: '59'
    - item_type: preproc_def
      name: PRIV_CTL_DEINIT_EXTRNG_TEST
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/src/gcrypt-testapi.h
      type_or_value: '60'
    - item_type: preproc_def
      name: PRIV_CTL_EXTERNAL_LOCK_TEST
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/src/gcrypt-testapi.h
      type_or_value: '61'
    - item_type: preproc_def
      name: PRIV_CTL_DUMP_SECMEM_STATS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/src/gcrypt-testapi.h
      type_or_value: '62'
    - item_type: preproc_def
      name: EXTERNAL_LOCK_TEST_INIT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/src/gcrypt-testapi.h
      type_or_value: '30111'
    - item_type: preproc_def
      name: EXTERNAL_LOCK_TEST_LOCK
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/src/gcrypt-testapi.h
      type_or_value: '30112'
    - item_type: preproc_def
      name: EXTERNAL_LOCK_TEST_UNLOCK
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/src/gcrypt-testapi.h
      type_or_value: '30113'
    - item_type: preproc_def
      name: EXTERNAL_LOCK_TEST_DESTROY
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/src/gcrypt-testapi.h
      type_or_value: '30114'
    - item_type: preproc_def
      name: PRIV_CIPHERCTL_DISABLE_WEAK_KEY
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/src/gcrypt-testapi.h
      type_or_value: '61'
    - item_type: preproc_def
      name: PRIV_CIPHERCTL_GET_INPUT_VECTOR
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/src/gcrypt-testapi.h
      type_or_value: '62'
    - item_type: preproc_def
      name: PRIV_CIPHERCTL_GET_COUNTER
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/src/gcrypt-testapi.h
      type_or_value: '63'
    structs:
    - fields:
      - name: '*flagstr'
        type: char
      - name: '*entropy'
        type: unsigned char
      - name: entropylen
        type: size_t
      - name: '*entpra'
        type: unsigned char
      - name: '*entprb'
        type: unsigned char
      - name: entprlen
        type: size_t
      - name: '*addtla'
        type: unsigned char
      - name: '*addtlb'
        type: unsigned char
      - name: addtllen
        type: size_t
      - name: '*pers'
        type: unsigned char
      - name: perslen
        type: size_t
      - name: '*expected'
        type: unsigned char
      - name: expectedlen
        type: size_t
      - name: '*entropyreseed'
        type: unsigned char
      - name: entropyreseed_len
        type: size_t
      - name: '*addtl_reseed'
        type: unsigned char
      - name: addtl_reseed_len
        type: size_t
      item_type: struct
      name: gcry_drbg_test_vector
      pos:
        line_end: 66
        line_start: 47
        source_file: /src/libgcrypt/src/gcrypt-testapi.h
    typedefs: []
    union: []
- function_names:
  - JNLIB_GCC_A_PRINTF
  - JNLIB_GCC_A_NR_PRINTF
  - GCC_ATTR_FORMAT_ARG
  - LIKELY
  - UNLIKELY
  - CONSTANT_P
  - LIKELY
  - UNLIKELY
  - CONSTANT_P
  - _
  - N_
  - STR
  - STR2
  - DIM
  - DIMof
  - my_isascii
  - xtrymalloc
  - xtrycalloc
  - xtrymalloc_secure
  - xtrycalloc_secure
  - xtryrealloc
  - xtrystrdup
  - xmalloc
  - xcalloc
  - xmalloc_secure
  - xcalloc_secure
  - xrealloc
  - xstrdup
  - xfree
  - BUG
  - gcry_assert
  - BUG
  - gcry_assert
  - BUG
  - gcry_assert
  - mpi_powm
  - strtoul
  - memmove
  - stricmp
  - atexit
  - raise
  - __gcry_burn_stack_dummy
  - _gcry_burn_stack
  - fast_wipememory2_inline
  - fast_wipememory2_inline
  - wipememory2
  - wipememory
  - digitp
  - octdigitp
  - alphap
  - hexdigitp
  - fips_mode
  - fips_signal_error
  - fips_signal_fatal_error
  - fips_signal_error
  - fips_signal_fatal_error
  - fips_is_operational
  - fips_not_operational
  - fips_noreturn
  source_file: /src/libgcrypt/src/g10lib.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: G10LIB_H
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: JNLIB_GCC_M_FUNCTION
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: JNLIB_GCC_A_NR
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: __attribute__ ((__noreturn__))
    - item_type: preproc_def
      name: GCC_ATTR_NORETURN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: __attribute__ ((__noreturn__))
    - item_type: preproc_def
      name: GCC_ATTR_UNUSED
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: __attribute__ ((unused))
    - item_type: preproc_def
      name: NOINLINE_FUNC
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: log_bug
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: _gcry_log_bug
    - item_type: preproc_def
      name: log_fatal
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: _gcry_log_fatal
    - item_type: preproc_def
      name: log_error
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: _gcry_log_error
    - item_type: preproc_def
      name: log_info
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: _gcry_log_info
    - item_type: preproc_def
      name: log_debug
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: _gcry_log_debug
    - item_type: preproc_def
      name: log_printf
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: _gcry_log_printf
    - item_type: preproc_def
      name: log_printhex
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: _gcry_log_printhex
    - item_type: preproc_def
      name: log_printmpi
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: _gcry_log_printmpi
    - item_type: preproc_def
      name: log_printsxp
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: _gcry_log_printsxp
    - item_type: preproc_def
      name: log_mpidump
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: _gcry_log_printmpi
    - item_type: preproc_def
      name: HWF_PADLOCK_RNG
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: HWF_PADLOCK_AES
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: HWF_PADLOCK_SHA
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: HWF_PADLOCK_MMUL
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: HWF_INTEL_CPU
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: HWF_INTEL_FAST_SHLD
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: HWF_INTEL_BMI2
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: HWF_INTEL_SSSE3
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: HWF_INTEL_SSE4_1
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 8)
    - item_type: preproc_def
      name: HWF_INTEL_PCLMUL
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 9)
    - item_type: preproc_def
      name: HWF_INTEL_AESNI
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 10)
    - item_type: preproc_def
      name: HWF_INTEL_RDRAND
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 11)
    - item_type: preproc_def
      name: HWF_INTEL_AVX
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 12)
    - item_type: preproc_def
      name: HWF_INTEL_AVX2
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 13)
    - item_type: preproc_def
      name: HWF_INTEL_RDTSC
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 14)
    - item_type: preproc_def
      name: HWF_INTEL_SHAEXT
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 15)
    - item_type: preproc_def
      name: HWF_INTEL_VAES_VPCLMUL
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 16)
    - item_type: preproc_def
      name: HWF_INTEL_AVX512
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 17)
    - item_type: preproc_def
      name: HWF_INTEL_GFNI
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 18)
    - item_type: preproc_def
      name: HWF_INTEL_SHA512
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 19)
    - item_type: preproc_def
      name: HWF_INTEL_SM3
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 20)
    - item_type: preproc_def
      name: HWF_INTEL_SM4
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 21)
    - item_type: preproc_def
      name: HWF_ARM_NEON
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: HWF_ARM_AES
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: HWF_ARM_SHA1
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: HWF_ARM_SHA2
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: HWF_ARM_PMULL
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: HWF_ARM_SHA3
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: HWF_ARM_SM3
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: HWF_ARM_SM4
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: HWF_ARM_SHA512
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 8)
    - item_type: preproc_def
      name: HWF_ARM_SVE
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 9)
    - item_type: preproc_def
      name: HWF_ARM_SVE2
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 10)
    - item_type: preproc_def
      name: HWF_ARM_SVEAES
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 11)
    - item_type: preproc_def
      name: HWF_ARM_SVEPMULL
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 12)
    - item_type: preproc_def
      name: HWF_ARM_SVESHA3
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 13)
    - item_type: preproc_def
      name: HWF_ARM_SVESM4
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 14)
    - item_type: preproc_def
      name: HWF_PPC_VCRYPTO
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: HWF_PPC_ARCH_3_00
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: HWF_PPC_ARCH_2_07
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: HWF_PPC_ARCH_3_10
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: HWF_S390X_MSA
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: HWF_S390X_MSA_4
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: HWF_S390X_MSA_8
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: HWF_S390X_MSA_9
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: HWF_S390X_VX
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: HWF_RISCV_IMAFDC
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: HWF_RISCV_B
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: HWF_RISCV_V
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: HWF_RISCV_ZBB
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: HWF_RISCV_ZBC
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: HWF_RISCV_ZVKB
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: HWF_RISCV_ZVKG
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: HWF_RISCV_ZVKNED
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: HWF_RISCV_ZVKNHA
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 8)
    - item_type: preproc_def
      name: HWF_RISCV_ZVKNHB
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 9)
    - item_type: preproc_def
      name: GCRY_ALLOC_FLAG_SECURE
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: GCRY_ALLOC_FLAG_XHINT
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/libgcrypt/src/g10lib.h
      type_or_value: '(1 << 1)  '
    structs: []
    typedefs: []
    union: []
- function_names:
  - global_init
  - GCC_ATTR_CONSTRUCTOR::_gcry_global_constructor
  - _gcry_global_is_operational
  - parse_version_number
  - parse_version_string
  - _gcry_check_version
  - print_config
  - _gcry_get_config
  - _gcry_vcontrol
  - _gcry_set_allocation_handler
  - _gcry_set_outofcore_handler
  - do_malloc
  - _gcry_malloc
  - _gcry_malloc_secure_core
  - _gcry_malloc_secure
  - _gcry_is_secure
  - _gcry_realloc_core
  - _gcry_realloc
  - _gcry_free
  - _gcry_calloc
  - _gcry_calloc_secure
  - _gcry_strdup_core
  - _gcry_strdup
  - _gcry_xmalloc
  - _gcry_xrealloc
  - _gcry_xmalloc_secure
  - _gcry_xcalloc
  - _gcry_xcalloc_secure
  - _gcry_xstrdup
  - _gcry_pre_syscall
  - _gcry_post_syscall
  - _gcry_get_debug_flag
  - _gcry_set_progress_handler
  - external_lock_test
  source_file: /src/libgcrypt/src/global.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GCC_ATTR_CONSTRUCTOR
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/libgcrypt/src/global.c
      type_or_value: __attribute__ ((__constructor__))
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/src/hwf-common.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: int_vector_latency
        type: unsigned int
      - name: prefer_gpr_over_scalar_int_vector
        type: unsigned int
      item_type: struct
      name: hwf_x86_cpu_details
      pos:
        line_end: 26
        line_start: 22
        source_file: /src/libgcrypt/src/hwf-common.h
    typedefs: []
    union: []
- function_names:
  - gcry_strerror
  - gcry_strsource
  - gcry_err_code_from_errno
  - gcry_err_code_to_errno
  - gcry_err_make_from_errno
  - gcry_error_from_errno
  - gcry_check_version
  - gcry_control
  - gcry_sexp_new
  - gcry_sexp_create
  - gcry_sexp_sscan
  - gcry_sexp_build
  - gcry_sexp_build_array
  - gcry_sexp_release
  - gcry_sexp_canon_len
  - gcry_sexp_sprint
  - gcry_sexp_dump
  - gcry_sexp_cons
  - gcry_sexp_alist
  - gcry_sexp_vlist
  - gcry_sexp_append
  - gcry_sexp_prepend
  - gcry_sexp_find_token
  - gcry_sexp_length
  - gcry_sexp_nth
  - gcry_sexp_car
  - gcry_sexp_cdr
  - gcry_sexp_cadr
  - gcry_sexp_nth_data
  - gcry_sexp_nth_buffer
  - gcry_sexp_nth_string
  - gcry_sexp_nth_mpi
  - gcry_sexp_extract_param
  - gcry_mpi_new
  - gcry_mpi_snew
  - gcry_mpi_release
  - gcry_mpi_copy
  - gcry_mpi_snatch
  - gcry_mpi_set
  - gcry_mpi_set_ui
  - gcry_mpi_get_ui
  - gcry_mpi_swap
  - gcry_mpi_is_neg
  - gcry_mpi_neg
  - gcry_mpi_abs
  - gcry_mpi_cmp
  - gcry_mpi_cmp_ui
  - gcry_mpi_scan
  - gcry_mpi_print
  - gcry_mpi_aprint
  - gcry_mpi_dump
  - gcry_mpi_add
  - gcry_mpi_add_ui
  - gcry_mpi_addm
  - gcry_mpi_sub
  - gcry_mpi_sub_ui
  - gcry_mpi_subm
  - gcry_mpi_mul
  - gcry_mpi_mul_ui
  - gcry_mpi_mulm
  - gcry_mpi_mul_2exp
  - gcry_mpi_div
  - gcry_mpi_mod
  - gcry_mpi_powm
  - gcry_mpi_gcd
  - gcry_mpi_invm
  - gcry_mpi_point_new
  - gcry_mpi_point_release
  - gcry_mpi_point_copy
  - gcry_mpi_point_get
  - gcry_mpi_point_snatch_get
  - gcry_mpi_point_set
  - gcry_mpi_point_snatch_set
  - gcry_mpi_ec_new
  - gcry_mpi_ec_get_mpi
  - gcry_mpi_ec_get_point
  - gcry_mpi_ec_set_mpi
  - gcry_mpi_ec_set_point
  - gcry_mpi_ec_decode_point
  - gcry_mpi_ec_get_affine
  - gcry_mpi_ec_dup
  - gcry_mpi_ec_add
  - gcry_mpi_ec_sub
  - gcry_mpi_ec_mul
  - gcry_mpi_ec_curve_point
  - gcry_mpi_get_nbits
  - gcry_mpi_test_bit
  - gcry_mpi_set_bit
  - gcry_mpi_clear_bit
  - gcry_mpi_set_highbit
  - gcry_mpi_clear_highbit
  - gcry_mpi_rshift
  - gcry_mpi_lshift
  - gcry_mpi_set_opaque
  - gcry_mpi_set_opaque_copy
  - gcry_mpi_get_opaque
  - gcry_mpi_set_flag
  - gcry_mpi_clear_flag
  - gcry_mpi_get_flag
  - _gcry_mpi_get_const
  - gcry_cipher_open
  - gcry_cipher_close
  - gcry_cipher_setkey
  - gcry_cipher_setiv
  - gcry_cipher_setctr
  - gcry_cipher_setup_geniv
  - gcry_cipher_geniv
  - gcry_cipher_authenticate
  - gcry_cipher_gettag
  - gcry_cipher_checktag
  - gcry_cipher_ctl
  - gcry_cipher_info
  - gcry_cipher_algo_info
  - gcry_cipher_algo_name
  - gcry_cipher_map_name
  - gcry_cipher_mode_from_oid
  - gcry_cipher_encrypt
  - gcry_cipher_decrypt
  - gcry_cipher_get_algo_keylen
  - gcry_cipher_get_algo_blklen
  - gcry_mac_algo_info
  - gcry_mac_algo_name
  - gcry_mac_map_name
  - gcry_mac_get_algo
  - gcry_mac_get_algo_maclen
  - gcry_mac_get_algo_keylen
  - gcry_mac_open
  - gcry_mac_close
  - gcry_mac_setkey
  - gcry_mac_setiv
  - gcry_mac_write
  - gcry_mac_read
  - gcry_mac_verify
  - gcry_mac_ctl
  - gcry_pk_encrypt
  - gcry_pk_decrypt
  - gcry_pk_sign
  - gcry_pk_hash_sign
  - gcry_pk_verify
  - gcry_pk_hash_verify
  - gcry_pk_random_override_new
  - gcry_pk_testkey
  - gcry_pk_genkey
  - gcry_pk_ctl
  - gcry_pk_algo_info
  - gcry_pk_algo_name
  - gcry_pk_map_name
  - gcry_pk_get_nbits
  - gcry_pk_get_keygrip
  - gcry_pk_get_curve
  - gcry_pk_get_param
  - gcry_pubkey_get_sexp
  - gcry_ecc_get_algo_keylen
  - gcry_ecc_mul_point
  - gcry_md_open
  - gcry_md_close
  - gcry_md_enable
  - gcry_md_copy
  - gcry_md_reset
  - gcry_md_ctl
  - gcry_md_write
  - gcry_md_read
  - gcry_md_extract
  - gcry_md_hash_buffer
  - gcry_md_hash_buffers
  - gcry_md_hash_buffers_ext
  - gcry_md_get_algo
  - gcry_md_get_algo_dlen
  - gcry_md_is_enabled
  - gcry_md_is_secure
  - gcry_md_info
  - gcry_md_algo_info
  - gcry_md_algo_name
  - gcry_md_map_name
  - gcry_md_setkey
  - gcry_md_debug
  - gcry_kdf_derive
  - gcry_kdf_open
  - gcry_kdf_compute
  - gcry_kdf_final
  - gcry_kdf_close
  - gcry_kem_genkey
  - gcry_kem_keypair
  - gcry_kem_encap
  - gcry_kem_decap
  - gcry_randomize
  - gcry_random_add_bytes
  - gcry_random_bytes
  - gcry_random_bytes_secure
  - gcry_mpi_randomize
  - gcry_create_nonce
  - gcry_prime_generate
  - gcry_prime_group_generator
  - gcry_prime_release_factors
  - gcry_prime_check
  - gcry_ctx_release
  - gcry_log_debug
  - gcry_log_debughex
  - gcry_log_debugmpi
  - gcry_log_debugpnt
  - gcry_log_debugsxp
  - gcry_get_config
  - gcry_set_progress_handler
  - gcry_set_allocation_handler
  - gcry_set_outofcore_handler
  - gcry_set_fatalerror_handler
  - gcry_set_log_handler
  - gcry_set_gettext_handler
  - gcry_malloc
  - gcry_calloc
  - gcry_malloc_secure
  - gcry_calloc_secure
  - gcry_realloc
  - gcry_strdup
  - gcry_xmalloc
  - gcry_xcalloc
  - gcry_xmalloc_secure
  - gcry_xcalloc_secure
  - gcry_xrealloc
  - gcry_xstrdup
  - gcry_free
  - gcry_is_secure
  source_file: /src/libgcrypt/src/visibility.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mpi_get_nlimbs
  - mpi_has_sign
  - mpi_alloc
  - mpi_alloc_secure
  - mpi_free
  - mpi_resize
  - mpi_copy
  - mpi_alloc
  - mpi_alloc_secure
  - mpi_free
  - mpi_resize
  - mpi_copy
  - mpi_immutable_failed
  - mpi_is_const
  - mpi_is_immutable
  - mpi_is_opaque
  - mpi_is_secure
  - mpi_clear
  - mpi_alloc_like
  - mpi_alloc_set_ui
  - mpi_const
  - mpi_swap_cond
  - mpi_tfr
  - mpi_set_cond
  - mpi_set_bit_cond
  - mpi_fdiv_r_ui
  - mpi_fdiv_r
  - mpi_fdiv_q
  - mpi_fdiv_qr
  - mpi_tdiv_r
  - mpi_tdiv_qr
  - mpi_tdiv_q_2exp
  - mpi_divisible_ui
  - mpi_barrett_init
  - mpi_barrett_free
  - mpi_mod_barrett
  - mpi_mul_barrett
  - mpi_mulpowm
  - mpi_trailing_zeros
  - mpi_normalize
  - log_printpnt
  source_file: /src/libgcrypt/src/mpi.h
  types:
    enum:
    - enumerators:
      - name: MPI_C_ZERO
      - name: MPI_C_FOUR
      - name: MPI_C_THREE
      - name: MPI_C_ONE
      - name: MPI_C_TWO
      - name: MPI_C_EIGHT
      item_type: enum
      name: gcry_mpi_constants
      pos:
        line_end: 157
        line_start: 149
        source_file: /src/libgcrypt/src/mpi.h
    - enumerators:
      - name: MPI_EC_WEIERSTRASS
        value: '0'
      - name: MPI_EC_EDWARDS
      - name: MPI_EC_MONTGOMERY
      item_type: enum
      name: gcry_mpi_ec_models
      pos:
        line_end: 268
        line_start: 254
        source_file: /src/libgcrypt/src/mpi.h
    - enumerators:
      - name: ECC_DIALECT_STANDARD
        value: '0'
      - name: ECC_DIALECT_SAFECURVE
      - name: ECC_DIALECT_ED25519
      item_type: enum
      name: ecc_dialects
      pos:
        line_end: 277
        line_start: 272
        source_file: /src/libgcrypt/src/mpi.h
    preproc_defs:
    - item_type: preproc_def
      name: BITS_PER_MPI_LIMB
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgcrypt/src/mpi.h
      type_or_value: (8*BYTES_PER_MPI_LIMB)
    - item_type: preproc_def
      name: DBG_MPI
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libgcrypt/src/mpi.h
      type_or_value: _gcry_get_debug_flag( 2 );
    - item_type: preproc_def
      name: MPI_NULL
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libgcrypt/src/mpi.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: MPI_NUMBER_OF_CONSTANTS
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/libgcrypt/src/mpi.h
      type_or_value: '6'
    - item_type: preproc_def
      name: _gcry_mpih_add_lli
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/libgcrypt/src/mpi.h
      type_or_value: _gcry_mpih_add_n
    structs:
    - fields:
      - name: alloced
        type: int
      - name: nlimbs
        type: int
      - name: sign
        type: int
      - name: flags
        type: unsigned int
      - name: '*d'
        type: mpi_limb_t
      item_type: struct
      name: gcry_mpi
      pos:
        line_end: 75
        line_start: 64
        source_file: /src/libgcrypt/src/mpi.h
    - fields:
      - name: x
        type: gcry_mpi_t
      - name: y
        type: gcry_mpi_t
      - name: z
        type: gcry_mpi_t
      item_type: struct
      name: gcry_mpi_point
      pos:
        line_end: 241
        line_start: 236
        source_file: /src/libgcrypt/src/mpi.h
    typedefs:
    - item_type: typedef
      name: mpi_limb_t
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/libgcrypt/src/mpi.h
      type: unsigned int
    - item_type: typedef
      name: mpi_limb_signed_t
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/libgcrypt/src/mpi.h
      type: signed int
    - item_type: typedef
      name: mpi_limb_t
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/libgcrypt/src/mpi.h
      type: unsigned long int
    - item_type: typedef
      name: mpi_limb_signed_t
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/libgcrypt/src/mpi.h
      type: signed long int
    - item_type: typedef
      name: mpi_limb_t
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/libgcrypt/src/mpi.h
      type: unsigned long long int
    - item_type: typedef
      name: mpi_limb_signed_t
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/libgcrypt/src/mpi.h
      type: signed long long int
    - item_type: typedef
      name: mpi_limb_t
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/libgcrypt/src/mpi.h
      type: unsigned short int
    - item_type: typedef
      name: mpi_limb_signed_t
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/libgcrypt/src/mpi.h
      type: signed short int
    - item_type: typedef
      name: '*mpi_ptr_t'
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/libgcrypt/src/mpi.h
      type: mpi_limb_t
    - item_type: typedef
      name: mpi_size_t
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/libgcrypt/src/mpi.h
      type: int
    - item_type: typedef
      name: '*mpi_barrett_t'
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/libgcrypt/src/mpi.h
      type: barrett_ctx_s
    - item_type: typedef
      name: mpi_point_struct
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/libgcrypt/src/mpi.h
      type: gcry_mpi_point
    - item_type: typedef
      name: '*mpi_point_t'
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/libgcrypt/src/mpi.h
      type: gcry_mpi_point
    union: []
- function_names:
  - getauxval
  - get_hwcap
  - get_stfle
  - detect_s390x_features
  - _gcry_hwf_detect_s390x
  source_file: /src/libgcrypt/src/hwf-s390x.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_STFLE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgcrypt/src/hwf-s390x.c
      type_or_value: '1'
    - item_type: preproc_def
      name: AT_HWCAP
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgcrypt/src/hwf-s390x.c
      type_or_value: '16'
    - item_type: preproc_def
      name: HWCAP_S390_STFLE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/src/hwf-s390x.c
      type_or_value: '4'
    - item_type: preproc_def
      name: HWCAP_S390_VXRS
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgcrypt/src/hwf-s390x.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: HAS_SYS_AT_HWCAP
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libgcrypt/src/hwf-s390x.c
      type_or_value: '1'
    structs:
    - fields:
      - name: facilities_bit
        type: unsigned int
      - name: hwcap_flag
        type: unsigned int
      - name: hwf_flag
        type: unsigned int
      item_type: struct
      name: feature_map_s
      pos:
        line_end: 58
        line_start: 53
        source_file: /src/libgcrypt/src/hwf-s390x.c
    - fields:
      - name: bits[3]
        type: u64
      item_type: struct
      name: facilities_s
      pos:
        line_end: 102
        line_start: 99
        source_file: /src/libgcrypt/src/hwf-s390x.c
    - fields:
      - name: a_type
        type: unsigned long
      - name: a_val
        type: unsigned long
      item_type: struct
      name: auxv
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/libgcrypt/src/hwf-s390x.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/src/ec-context.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: model
        type: enum gcry_mpi_ec_models
      - name: dialect
        type: enum ecc_dialects
      - name: flags
        type: int
      - name: nbits
        type: unsigned int
      - name: p
        type: gcry_mpi_t
      - name: a
        type: gcry_mpi_t
      - name: b
        type: gcry_mpi_t
      - name: G
        type: gcry_mpi_point_t
      - name: n
        type: gcry_mpi_t
      - name: h
        type: unsigned int
      - name: Q
        type: gcry_mpi_point_t
      - name: d
        type: gcry_mpi_t
      - name: '*name'
        type: char
      - name: t
        type: "struct {\n    struct {\n      unsigned int a_is_pminus3:1;\n      unsigned
          int two_inv_p:1;\n    } valid; /* Flags to help setting the helper vars
          below.  */\n\n    int a_is_pminus3;  /* True if A = P - 3. */\n\n    gcry_mpi_t
          two_inv_p;\n\n    mpi_barrett_t p_barrett;\n\n    /* Scratch variables.
          \ */\n    gcry_mpi_t scratch[11];\n\n    /* Helper for fast reduction.  */\n
          \   /*   int nist_nbits; /\\* If this is a NIST curve, the # of bits.  *\\/
          */\n    /*   gcry_mpi_t s[10]; */\n    /*   gcry_mpi_t c; */\n  }"
      - name: (* addm) (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, mpi_ec_t ctx)
        type: void
      - name: (* subm) (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, mpi_ec_t ec)
        type: void
      - name: (* mulm) (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, mpi_ec_t ctx)
        type: void
      - name: (* pow2) (gcry_mpi_t w, const gcry_mpi_t b, mpi_ec_t ctx)
        type: void
      - name: (* mul2) (gcry_mpi_t w, gcry_mpi_t u, mpi_ec_t ctx)
        type: void
      - name: (* mod) (gcry_mpi_t w, mpi_ec_t ctx)
        type: void
      item_type: struct
      name: mpi_ec_ctx_s
      pos:
        line_end: 77
        line_start: 23
        source_file: /src/libgcrypt/src/ec-context.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/src/cipher.h
  types:
    enum:
    - enumerators:
      - name: PUBKEY_OP_ENCRYPT
      - name: PUBKEY_OP_VERIFY
      - name: PUBKEY_OP_SIGN
      - name: PUBKEY_OP_DECRYPT
      item_type: enum
      name: pk_operation
      pos:
        line_end: 61
        line_start: 55
        source_file: /src/libgcrypt/src/cipher.h
    - enumerators:
      - name: PUBKEY_ENC_RAW
      - name: PUBKEY_ENC_PKCS1
      - name: PUBKEY_ENC_PSS
      - name: PUBKEY_ENC_OAEP
      - name: PUBKEY_ENC_PKCS1_RAW
      - name: PUBKEY_ENC_UNKNOWN
      item_type: enum
      name: pk_encoding
      pos:
        line_end: 71
        line_start: 63
        source_file: /src/libgcrypt/src/cipher.h
    - enumerators:
      - name: GCRY_CIPHER_MODE_INTERNAL
        value: '0x10000'
      - name: GCRY_CIPHER_MODE_CMAC
        value: 0x10000 + 1
      item_type: enum
      name: gcry_cipher_internal_modes
      pos:
        line_end: 107
        line_start: 103
        source_file: /src/libgcrypt/src/cipher.h
    preproc_defs:
    - item_type: preproc_def
      name: DBG_CIPHER
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: _gcry_get_debug_flag( 1 )
    - item_type: preproc_def
      name: PUBKEY_FLAG_NO_BLINDING
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: PUBKEY_FLAG_RFC6979
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: PUBKEY_FLAG_FIXEDLEN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: PUBKEY_FLAG_LEGACYRESULT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: PUBKEY_FLAG_RAW_FLAG
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: PUBKEY_FLAG_TRANSIENT_KEY
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: PUBKEY_FLAG_USE_X931
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: PUBKEY_FLAG_USE_FIPS186
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: PUBKEY_FLAG_USE_FIPS186_2
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 8)
    - item_type: preproc_def
      name: PUBKEY_FLAG_PARAM
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 9)
    - item_type: preproc_def
      name: PUBKEY_FLAG_COMP
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 10)
    - item_type: preproc_def
      name: PUBKEY_FLAG_NOCOMP
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 11)
    - item_type: preproc_def
      name: PUBKEY_FLAG_EDDSA
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 12)
    - item_type: preproc_def
      name: PUBKEY_FLAG_GOST
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 13)
    - item_type: preproc_def
      name: PUBKEY_FLAG_NO_KEYTEST
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 14)
    - item_type: preproc_def
      name: PUBKEY_FLAG_DJB_TWEAK
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 15)
    - item_type: preproc_def
      name: PUBKEY_FLAG_SM2
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 16)
    - item_type: preproc_def
      name: PUBKEY_FLAG_PREHASH
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 17)
    - item_type: preproc_def
      name: PUBKEY_FLAG_BYTE_STRING
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 18)
    - item_type: preproc_def
      name: PUBKEY_FLAG_NO_PREFIX
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 19)
    - item_type: preproc_def
      name: GCRYECC_FLAG_LEAST_LEAK
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: (1 << 30)
    - item_type: preproc_def
      name: CIPHER_INFO_NO_WEAK_KEY
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libgcrypt/src/cipher.h
      type_or_value: '1'
    structs:
    - fields:
      - name: op
        type: enum pk_operation
      - name: nbits
        type: unsigned int
      - name: encoding
        type: enum pk_encoding
      - name: flags
        type: int
      - name: hash_algo
        type: int
      - name: '*label'
        type: unsigned char
      - name: labellen
        type: size_t
      - name: saltlen
        type: size_t
      - name: '*rnd'
        type: unsigned char
      - name: rndlen
        type: size_t
      - name: (* verify_cmp) (void *opaque, gcry_mpi_t tmp)
        type: int
      - name: '*verify_arg'
        type: void
      item_type: struct
      name: pk_encoding_ctx
      pos:
        line_end: 96
        line_start: 73
        source_file: /src/libgcrypt/src/cipher.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/src/stdmem.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: G10_STDMEM_H
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/libgcrypt/src/stdmem.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - scan_mpi
  - print_mpi
  - do_add
  - do_sub
  - do_inc
  - do_dec
  - do_mul
  - do_mulm
  - do_div
  - do_rem
  - do_powm
  - do_inv
  - do_gcd
  - do_lshift
  - do_rshift
  - do_nbits
  - do_primecheck
  - my_getc
  - print_help
  - main
  source_file: /src/libgcrypt/src/mpicalc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MPICALC_VERSION
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/src/mpicalc.c
      type_or_value: '"2.0"'
    - item_type: preproc_def
      name: NEED_LIBGCRYPT_VERSION
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/src/mpicalc.c
      type_or_value: '"1.6.0"'
    - item_type: preproc_def
      name: STACKSIZE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgcrypt/src/mpicalc.c
      type_or_value: '500'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/src/hmac256.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*hmac256_context_t'
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/libgcrypt/src/hmac256.h
      type: hmac256_context
    union: []
- function_names:
  - U64_C
  - U64_C
  - U64_C
  - U64_C
  source_file: /src/libgcrypt/src/types.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIZEOF_UNSIGNED_SHORT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/src/types.h
      type_or_value: '2'
    - item_type: preproc_def
      name: SIZEOF_UNSIGNED_INT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/src/types.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_UNSIGNED_LONG
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/src/types.h
      type_or_value: '4'
    structs: []
    typedefs:
    - item_type: typedef
      name: byte
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/libgcrypt/src/types.h
      type: unsigned char
    - item_type: typedef
      name: ushort
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/libgcrypt/src/types.h
      type: unsigned short
    - item_type: typedef
      name: u16
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/libgcrypt/src/types.h
      type: unsigned int
    - item_type: typedef
      name: u16
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/libgcrypt/src/types.h
      type: unsigned short
    - item_type: typedef
      name: u32
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/libgcrypt/src/types.h
      type: unsigned int
    - item_type: typedef
      name: u32
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/libgcrypt/src/types.h
      type: unsigned long
    - item_type: typedef
      name: u64
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/libgcrypt/src/types.h
      type: uint64_t
    - item_type: typedef
      name: u64
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/libgcrypt/src/types.h
      type: unsigned int
    - item_type: typedef
      name: u64
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/libgcrypt/src/types.h
      type: unsigned long
    - item_type: typedef
      name: u64
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/libgcrypt/src/types.h
      type: unsigned long long
    union:
    - fields:
      - name: a
        type: int
      - name: b
        type: short
      - name: c[1]
        type: char
      - name: d
        type: long
      - name: e
        type: u64
      - name: f
        type: float
      - name: g
        type: double
      item_type: union
      name: PROPERLY_ALIGNED_TYPE
      pos:
        line_end: 133
        line_start: 124
        source_file: /src/libgcrypt/src/types.h
- function_names:
  - getauxval
  - HWCAP_ISA
  - get_hwcap
  - detect_riscv_at_hwcap
  - hwf_riscv_hwprobe
  - detect_riscv_hwprobe
  - detect_riscv_hwf_by_toolchain
  - _gcry_hwf_detect_riscv
  source_file: /src/libgcrypt/src/hwf-riscv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAS_SYS_AT_HWCAP
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: '1'
    - item_type: preproc_def
      name: AT_HWCAP
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: '16'
    - item_type: preproc_def
      name: AT_HWCAP2
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: '26'
    - item_type: preproc_def
      name: HWCAP_ISA_IMAFDC
      pos:
        line_end: 87
        line_start: 84
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: "(HWCAP_ISA('i') | HWCAP_ISA('m') | \\\n\t\t\t  HWCAP_ISA('a')
        | HWCAP_ISA('f') | \\\n\t\t\t  HWCAP_ISA('d') | HWCAP_ISA('c'))"
    - item_type: preproc_def
      name: HAS_SYS_HWPROBE
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: '1'
    - item_type: preproc_def
      name: __NR_riscv_hwprobe
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: '258'
    - item_type: preproc_def
      name: HWF_RISCV_HWPROBE_KEY_BASE_BEHAVIOR
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: '3'
    - item_type: preproc_def
      name: HWF_RISCV_HWPROBE_BASE_BEHAVIOR_IMA
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: (1U << 0)
    - item_type: preproc_def
      name: HWF_RISCV_HWPROBE_KEY_IMA_EXT_0
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: '4'
    - item_type: preproc_def
      name: HWF_RISCV_HWPROBE_IMA_FD
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: (1U << 0)
    - item_type: preproc_def
      name: HWF_RISCV_HWPROBE_IMA_C
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: (1U << 1)
    - item_type: preproc_def
      name: HWF_RISCV_HWPROBE_IMA_V
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: (1U << 2)
    - item_type: preproc_def
      name: HWF_RISCV_HWPROBE_EXT_ZBA
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: (1U << 3)
    - item_type: preproc_def
      name: HWF_RISCV_HWPROBE_EXT_ZBB
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: (1U << 4)
    - item_type: preproc_def
      name: HWF_RISCV_HWPROBE_EXT_ZBS
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: (1U << 5)
    - item_type: preproc_def
      name: HWF_RISCV_HWPROBE_EXT_ZBC
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: (1U << 7)
    - item_type: preproc_def
      name: HWF_RISCV_HWPROBE_EXT_ZVKB
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: (1U << 19)
    - item_type: preproc_def
      name: HWF_RISCV_HWPROBE_EXT_ZVKG
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: (1U << 20)
    - item_type: preproc_def
      name: HWF_RISCV_HWPROBE_EXT_ZVKNED
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: (1U << 21)
    - item_type: preproc_def
      name: HWF_RISCV_HWPROBE_EXT_ZVKNHA
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: (1U << 22)
    - item_type: preproc_def
      name: HWF_RISCV_HWPROBE_EXT_ZVKNHB
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: (1U << 23)
    - item_type: preproc_def
      name: HWF_RISCV_HWPROBE_EXT_ZICOND
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: (U64_C(1) << 35)
    - item_type: preproc_def
      name: HWF_RISCV_HWPROBE_IMA_FDC
      pos:
        line_end: 202
        line_start: 200
        source_file: /src/libgcrypt/src/hwf-riscv.c
      type_or_value: "(HWF_RISCV_HWPROBE_IMA_FD \\\n\t\t\t\t   | HWF_RISCV_HWPROBE_IMA_C)"
    structs:
    - fields:
      - name: hwcap_flag
        type: unsigned int
      - name: hwf_flag
        type: unsigned int
      item_type: struct
      name: hwcap_feature_map_s
      pos:
        line_end: 73
        line_start: 70
        source_file: /src/libgcrypt/src/hwf-riscv.c
    - fields:
      - name: a_type
        type: unsigned long
      - name: a_val
        type: unsigned long
      item_type: struct
      name: auxv
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/libgcrypt/src/hwf-riscv.c
    - fields:
      - name: key
        type: u64
      - name: value
        type: u64
      item_type: struct
      name: hwf_riscv_hwprobe_s
      pos:
        line_end: 206
        line_start: 203
        source_file: /src/libgcrypt/src/hwf-riscv.c
    - fields:
      - name: ima_ext_0_flag
        type: unsigned int
      - name: hwf_flag
        type: unsigned int
      item_type: struct
      name: hwprobe_feature_map_s
      pos:
        line_end: 211
        line_start: 208
        source_file: /src/libgcrypt/src/hwf-riscv.c
    typedefs: []
    union: []
- function_names:
  - xtrymalloc
  - gpg_err_set_errno
  - xfree
  - ror
  - my_wipememory2
  - my_wipememory
  - transform
  - Cho
  - Maj
  - Sum0
  - Sum1
  - S0
  - S1
  - R
  - finalize
  - X
  - _gcry_hmac256_new
  - _gcry_hmac256_release
  - _gcry_hmac256_update
  - _gcry_hmac256_finalize
  - _gcry_hmac256_file
  - selftest
  - main
  source_file: /src/libgcrypt/src/hmac256.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEY_FOR_BINARY_CHECK
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgcrypt/src/hmac256.c
      type_or_value: '"What am I, a doctor or a moonshuttle conductor?"'
    - item_type: preproc_def
      name: HAVE_U32
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/src/hmac256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: VERSION
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libgcrypt/src/hmac256.c
      type_or_value: '"standalone"'
    - item_type: preproc_def
      name: WORDS_BIGENDIAN
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgcrypt/src/hmac256.c
      type_or_value: '1'
    structs:
    - fields:
      - name: h0
        type: u32
      - name: nblocks
        type: u32
      - name: count
        type: int
      - name: finalized
        type: unsigned int
      - name: use_hmac
        type: unsigned int
      - name: buf[64]
        type: unsigned char
      - name: opad[64]
        type: unsigned char
      item_type: struct
      name: hmac256_context
      pos:
        line_end: 109
        line_start: 100
        source_file: /src/libgcrypt/src/hmac256.c
    - fields:
      - name: '* const desc'
        type: char
      - name: '* const data'
        type: char
      - name: '* const key'
        type: char
      - name: expect[32]
        type: unsigned char
      item_type: struct
      name: "tv[] =\n    {\n      { \"data-28 key-4\",\n        \"what do ya want
        for nothing?\",\n        \"Jefe\",\n\t{ 0x5b, 0xdc, 0xc1, 0x46, 0xbf, 0x60,
        0x75, 0x4e,\n          0x6a, 0x04, 0x24, 0x26, 0x08, 0x95, 0x75, 0xc7,\n          0x5a,
        0x00, 0x3f, 0x08, 0x9d, 0x27, 0x39, 0x83,\n          0x9d, 0xec, 0x58, 0xb9,
        0x64, 0xec, 0x38, 0x43 } },\n\n      { \"data-9 key-20\",\n        \"Hi There\",\n\t\"\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\"\n
        \       \"\\x0b\\x0b\\x0b\\x0b\",\n        { 0xb0, 0x34, 0x4c, 0x61, 0xd8,
        0xdb, 0x38, 0x53,\n          0x5c, 0xa8, 0xaf, 0xce, 0xaf, 0x0b, 0xf1, 0x2b,\n
        \         0x88, 0x1d, 0xc2, 0x00, 0xc9, 0x83, 0x3d, 0xa7,\n          0x26,
        0xe9, 0x37, 0x6c, 0x2e, 0x32, 0xcf, 0xf7 } },\n\n      { \"data-50 key-20\",\n
        \       \"\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\"\n
        \       \"\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\"\n
        \       \"\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\"\n
        \       \"\\xdd\\xdd\",\n\t\"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\",\n        { 0x77, 0x3e, 0xa9, 0x1e, 0x36,
        0x80, 0x0e, 0x46,\n          0x85, 0x4d, 0xb8, 0xeb, 0xd0, 0x91, 0x81, 0xa7,\n
        \         0x29, 0x59, 0x09, 0x8b, 0x3e, 0xf8, 0xc1, 0x22,\n          0xd9,
        0x63, 0x55, 0x14, 0xce, 0xd5, 0x65, 0xfe } },\n\n      { \"data-50 key-26\",\n
        \       \"\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\"\n
        \       \"\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\"\n
        \       \"\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\"\n
        \       \"\\xcd\\xcd\",\n\t\"\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\x09\\x0a\\x0b\\x0c\\x0d\\x0e\\x0f\\x10\"\n
        \       \"\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\",\n\t{ 0x82, 0x55,
        0x8a, 0x38, 0x9a, 0x44, 0x3c, 0x0e,\n          0xa4, 0xcc, 0x81, 0x98, 0x99,
        0xf2, 0x08, 0x3a,\n          0x85, 0xf0, 0xfa, 0xa3, 0xe5, 0x78, 0xf8, 0x07,\n
        \         0x7a, 0x2e, 0x3f, 0xf4, 0x67, 0x29, 0x66, 0x5b } },\n\n      { \"data-54
        key-131\",\n        \"Test Using Larger Than Block-Size Key - Hash Key First\",\n\t\"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\",\n\t{ 0x60, 0xe4, 0x31, 0x59, 0x1e, 0xe0, 0xb6,
        0x7f,\n          0x0d, 0x8a, 0x26, 0xaa, 0xcb, 0xf5, 0xb7, 0x7f,\n          0x8e,
        0x0b, 0xc6, 0x21, 0x37, 0x28, 0xc5, 0x14,\n          0x05, 0x46, 0x04, 0x0f,
        0x0e, 0xe3, 0x7f, 0x54 } },\n\n      { \"data-152 key-131\",\n        \"This
        is a test using a larger than block-size key and a larger \"\n        \"than
        block-size data. The key needs to be hashed before being \"\n        \"used
        by the HMAC algorithm.\",\n\t\"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\",\n\t{ 0x9b, 0x09, 0xff, 0xa7, 0x1b, 0x94, 0x2f,
        0xcb,\n          0x27, 0x63, 0x5f, 0xbc, 0xd5, 0xb0, 0xe9, 0x44,\n          0xbf,
        0xdc, 0x63, 0x64, 0x4f, 0x07, 0x13, 0x93,\n          0x8a, 0x7f, 0x51, 0x53,
        0x5c, 0x3a, 0x35, 0xe2 } },\n\n      { NULL }\n    }"
      pos:
        line_end: 537
        line_start: 531
        source_file: /src/libgcrypt/src/hmac256.c
    typedefs:
    - item_type: typedef
      name: u32
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/libgcrypt/src/hmac256.c
      type: uint32_t
    - item_type: typedef
      name: u32
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/libgcrypt/src/hmac256.c
      type: unsigned int
    - item_type: typedef
      name: u32
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/libgcrypt/src/hmac256.c
      type: unsigned long
    union: []
- function_names:
  - getauxval
  - get_hwcap
  - detect_arm_at_hwcap
  - detect_arm_proc_cpuinfo
  - detect_arm_apple_sysctlbyname
  - detect_arm_hwf_by_toolchain
  - _gcry_hwf_detect_arm
  source_file: /src/libgcrypt/src/hwf-arm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAS_SYS_AT_HWCAP
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: '1'
    - item_type: preproc_def
      name: AT_HWCAP
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: '16'
    - item_type: preproc_def
      name: AT_HWCAP2
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: '26'
    - item_type: preproc_def
      name: HWCAP_NEON
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: HWCAP2_AES
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HWCAP2_PMULL
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: '2'
    - item_type: preproc_def
      name: HWCAP2_SHA1
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: '4'
    - item_type: preproc_def
      name: HWCAP2_SHA2
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: '8'
    - item_type: preproc_def
      name: AT_HWCAP
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: '16'
    - item_type: preproc_def
      name: AT_HWCAP2
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: HWCAP_ASIMD
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: '2'
    - item_type: preproc_def
      name: HWCAP_AES
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: '8'
    - item_type: preproc_def
      name: HWCAP_PMULL
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: '16'
    - item_type: preproc_def
      name: HWCAP_SHA1
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: '32'
    - item_type: preproc_def
      name: HWCAP_SHA2
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: '64'
    - item_type: preproc_def
      name: HWCAP_SHA3
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: (1 << 17)
    - item_type: preproc_def
      name: HWCAP_SM3
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: (1 << 18)
    - item_type: preproc_def
      name: HWCAP_SM4
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: (1 << 19)
    - item_type: preproc_def
      name: HWCAP_SHA512
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: (1 << 21)
    - item_type: preproc_def
      name: HWCAP_SVE
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: (1 << 22)
    - item_type: preproc_def
      name: HWCAP2_SVE2
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: HWCAP2_SVEAES
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: HWCAP2_SVEPMULL
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: HWCAP2_SVESHA3
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: HWCAP2_SVESM4
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: HAS_PROC_CPUINFO
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAS_APPLE_SYSCTLBYNAME
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/libgcrypt/src/hwf-arm.c
      type_or_value: '1'
    structs:
    - fields:
      - name: hwcap_flag
        type: unsigned int
      - name: hwcap2_flag
        type: unsigned int
      - name: '*feature_match'
        type: char
      - name: hwf_flag
        type: unsigned int
      item_type: struct
      name: feature_map_s
      pos:
        line_end: 76
        line_start: 71
        source_file: /src/libgcrypt/src/hwf-arm.c
    - fields:
      - name: a_type
        type: unsigned long
      - name: a_val
        type: unsigned long
      item_type: struct
      name: auxv
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/libgcrypt/src/hwf-arm.c
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: int
      item_type: struct
      name: "cpu_entries[5] = {\n    { \"CPU implementer\", &cpu_implementer },\n
        \   { \"CPU architecture\", &cpu_arch },\n    { \"CPU variant\", &cpu_variant
        },\n    { \"CPU part\", &cpu_part },\n    { \"CPU revision\", &cpu_revision
        },\n  }"
      pos:
        line_end: 323
        line_start: 320
        source_file: /src/libgcrypt/src/hwf-arm.c
    - fields:
      - name: '*feat_name'
        type: char
      - name: hwf_flag
        type: unsigned int
      item_type: struct
      name: "hw_optional_arm_features[] =\n    {\n#ifdef ENABLE_NEON_SUPPORT\n      {
        \"hw.optional.neon\",            HWF_ARM_NEON },\n      { \"hw.optional.AdvSIMD\",
        \        HWF_ARM_NEON },\n#endif\n#ifdef ENABLE_ARM_CRYPTO_SUPPORT\n      {
        \"hw.optional.arm.FEAT_AES\",    HWF_ARM_AES },\n      { \"hw.optional.arm.FEAT_SHA1\",
        \  HWF_ARM_SHA1 },\n      { \"hw.optional.arm.FEAT_SHA256\", HWF_ARM_SHA2
        },\n      { \"hw.optional.arm.FEAT_PMULL\",  HWF_ARM_PMULL },\n      { \"hw.optional.arm.FEAT_SHA3\",
        \  HWF_ARM_SHA3 },\n      { \"hw.optional.armv8_2_sha3\",    HWF_ARM_SHA3
        },\n      { \"hw.optional.arm.FEAT_SHA512\", HWF_ARM_SHA512 },\n      { \"hw.optional.armv8_2_sha512\",
        \ HWF_ARM_SHA512 },\n#endif\n    }"
      pos:
        line_end: 431
        line_start: 427
        source_file: /src/libgcrypt/src/hwf-arm.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/src/context.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONTEXT_TYPE_EC
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/libgcrypt/src/context.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: CONTEXT_TYPE_SINGLE_DATA
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/libgcrypt/src/context.h
      type_or_value: '2  '
    structs: []
    typedefs: []
    union: []
- function_names:
  - stpcpy
  - strcasecmp
  source_file: /src/libgcrypt/src/missing-string.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MARK_VISIBLEX
  source_file: /src/libgcrypt/src/visibility.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: gcry_check_version
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_control
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_set_allocation_handler
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_set_fatalerror_handler
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_set_gettext_handler
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_set_log_handler
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_set_outofcore_handler
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_set_progress_handler
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_err_code_from_errno
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_err_code_to_errno
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_err_make_from_errno
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_error_from_errno
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_strerror
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_strsource
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_malloc
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_malloc_secure
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_calloc
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_calloc_secure
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_realloc
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_strdup
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_xcalloc
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_xcalloc_secure
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_xmalloc
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_xmalloc_secure
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_xrealloc
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_xstrdup
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_free
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_is_secure
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_open
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_close
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_setkey
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_setiv
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_setctr
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_algo_info
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_algo_name
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_setup_geniv
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_geniv
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_authenticate
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_checktag
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_gettag
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_ctl
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_decrypt
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_encrypt
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_get_algo_blklen
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_get_algo_keylen
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_info
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_map_name
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_cipher_mode_from_oid
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_pk_algo_info
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_pk_algo_name
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_pk_ctl
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_pk_decrypt
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_pk_encrypt
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_pk_genkey
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_pk_get_keygrip
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_pk_get_curve
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_pk_get_param
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_pk_get_nbits
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_pk_map_name
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_pk_sign
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_pk_testkey
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_pk_verify
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_pubkey_get_sexp
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_ecc_get_algo_keylen
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_ecc_mul_point
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_pk_hash_sign
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_pk_hash_verify
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_pk_random_override_new
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_algo_info
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_algo_name
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_close
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_copy
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_ctl
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_enable
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_get
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_get_algo
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_get_algo_dlen
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_hash_buffer
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_hash_buffers
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_hash_buffers_ext
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_info
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_is_enabled
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_is_secure
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_map_name
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_open
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_read
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_extract
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_reset
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_setkey
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_write
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_md_debug
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mac_algo_info
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mac_algo_name
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mac_map_name
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mac_get_algo
      pos:
        line_end: 417
        line_start: 416
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mac_get_algo_maclen
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mac_get_algo_keylen
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mac_open
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mac_close
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mac_setkey
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mac_setiv
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mac_write
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mac_read
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mac_verify
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mac_ctl
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_kdf_derive
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_kdf_open
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_kdf_compute
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_kdf_final
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_kdf_close
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_kem_keypair
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_kem_encap
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_kem_decap
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_kem_genkey
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_prime_check
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_prime_generate
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_prime_group_generator
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_prime_release_factors
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_random_add_bytes
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_random_bytes
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_random_bytes_secure
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_randomize
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_create_nonce
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_ctx_release
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_alist
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_append
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_build
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_build_array
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_cadr
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_canon_len
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_car
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_cdr
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_cons
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_create
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_dump
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_find_token
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_length
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_new
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_nth
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_nth_buffer
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_nth_data
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_nth_mpi
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_nth_string
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_prepend
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_release
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_sprint
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_sscan
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_vlist
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_sexp_extract_param
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_add
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_add_ui
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_addm
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_aprint
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_clear_bit
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_clear_flag
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_clear_highbit
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_cmp
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_cmp_ui
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_copy
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_div
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_dump
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_gcd
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_get_flag
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_get_nbits
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_get_opaque
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_invm
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_mod
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_mul
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_mul_2exp
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_mul_ui
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_mulm
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_new
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_point_get
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_point_new
      pos:
        line_end: 503
        line_start: 502
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_point_release
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_point_copy
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_point_set
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_point_snatch_get
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_point_snatch_set
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_powm
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_print
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_randomize
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_release
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_rshift
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_lshift
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_scan
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_set
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_set_bit
      pos:
        line_end: 517
        line_start: 516
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_set_flag
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_set_highbit
      pos:
        line_end: 519
        line_start: 518
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_set_opaque
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_set_ui
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_get_ui
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_snatch
      pos:
        line_end: 523
        line_start: 522
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_snew
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_sub
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_sub_ui
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_subm
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_swap
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_test_bit
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_abs
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_ec_add
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_ec_sub
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_ec_curve_point
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_ec_dup
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_ec_decode_point
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_ec_get_affine
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_ec_get_mpi
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_ec_get_point
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_ec_mul
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_ec_new
      pos:
        line_end: 541
        line_start: 540
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_ec_set_mpi
      pos:
        line_end: 542
        line_start: 541
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_ec_set_point
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_is_neg
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_neg
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gcry_mpi_set_opaque_copy
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/libgcrypt/src/visibility.h
      type_or_value: _gcry_USE_THE_UNDERSCORED_FUNCTION
    structs: []
    typedefs: []
    union: []
- function_names:
  - ct_is_not_zero
  - ct_is_zero
  - ct_not_equal_byte
  - CT_DEOPTIMIZE_VAR
  - CT_DEOPTIMIZE_VAR
  - DEFINE_CT_TYPE_GEN_MASK
  - DEFINE_CT_TYPE_GEN_MASK
  - DEFINE_CT_TYPE_GEN_INV_MASK
  - DEFINE_CT_TYPE_GEN_INV_MASK
  - DEFINE_CT_TYPE_SELECT_FUNC
  - sexp_null_cond
  source_file: /src/libgcrypt/src/const-time.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ct_not_memequal
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/libgcrypt/src/const-time.h
      type_or_value: _gcry_ct_not_memequal
    - item_type: preproc_def
      name: ct_memequal
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libgcrypt/src/const-time.h
      type_or_value: _gcry_ct_memequal
    - item_type: preproc_def
      name: ct_memmov_cond
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libgcrypt/src/const-time.h
      type_or_value: _gcry_ct_memmov_cond
    structs: []
    typedefs: []
    union: []
- function_names:
  - _GCRY_GCC_ATTR_PRINTF
  - _GCRY_GCC_ATTR_SENTINEL
  - gcry_error_t::gcry_err_make
  - gcry_error_t
  - gcry_err_code_t::gcry_err_code
  - gcry_err_source_t::gcry_err_source
  - mpi_new
  - mpi_secure_new
  - mpi_release
  - mpi_copy
  - mpi_snatch
  - mpi_set
  - mpi_set_ui
  - mpi_get_ui
  - mpi_abs
  - mpi_neg
  - mpi_cmp
  - mpi_cmp_ui
  - mpi_is_neg
  - mpi_add_ui
  - mpi_add
  - mpi_addm
  - mpi_sub_ui
  - mpi_sub
  - mpi_subm
  - mpi_mul_ui
  - mpi_mul_2exp
  - mpi_mul
  - mpi_mulm
  - mpi_powm
  - mpi_tdiv
  - mpi_fdiv
  - mpi_mod
  - mpi_gcd
  - mpi_invm
  - mpi_point_new
  - mpi_point_release
  - mpi_point_copy
  - mpi_point_get
  - mpi_point_snatch_get
  - mpi_point_set
  - mpi_point_snatch_set
  - mpi_get_nbits
  - mpi_test_bit
  - mpi_set_bit
  - mpi_set_highbit
  - mpi_clear_bit
  - mpi_clear_highbit
  - mpi_rshift
  - mpi_lshift
  - mpi_set_opaque
  - mpi_get_opaque
  - gcry_cipher_reset
  - gcry_cipher_sync
  - gcry_cipher_cts
  - gcry_cipher_set_sbox
  - gcry_cipher_final
  - gcry_cipher_test_algo
  - gcry_cipher_set_decryption_tag
  - gcry_pk_test_algo
  - gcry_md_putc
  - gcry_md_final
  - gcry_md_test_algo
  - gcry_md_get_asnoid
  - gcry_mac_reset
  - gcry_mac_test_algo
  - gcry_fast_random_poll
  - gcry_get_fips_service_indicator
  - gcry_fips_mode_active
  source_file: /src/libgcrypt/src/gcrypt.h
  types:
    enum:
    - enumerators:
      - name: GCRYCTL_CLEAR_DEBUG_FLAGS
        value: '21'
      - name: GCRYCTL_STOP_DUMP
        value: '33'
      - name: GCRYCTL_GET_ALGO_USAGE
        value: '34'
      - name: GCRYCTL_GET_CURRENT_RNG_TYPE
        value: '66'
      - name: GCRYCTL_SET_SBOX
        value: '73'
      - name: GCRYCTL_FIPS_SERVICE_INDICATOR_CIPHER
        value: '81'
      - name: GCRYCTL_DISABLE_HWF
        value: '63'
      - name: GCRYCTL_USE_RANDOM_DAEMON
        value: '50'
      - name: GCRYCTL_FIPS_SERVICE_INDICATOR
        value: '89'
      - name: GCRYCTL_GET_ALGO_NSIGN
        value: '17'
      - name: GCRYCTL_DUMP_SECMEM_STATS
        value: '14'
      - name: GCRYCTL_DUMP_MEMORY_STATS
        value: '23'
      - name: GCRYCTL_TERM_SECMEM
        value: '25'
      - name: GCRYCTL_FIPS_SERVICE_INDICATOR_KDF
        value: '82'
      - name: GCRYCTL_FAKED_RANDOM_P
        value: '51'
      - name: GCRYCTL_DISABLE_ALGO
        value: '12'
      - name: GCRYCTL_DUMP_RANDOM_STATS
        value: '13'
      - name: GCRYCTL_DISABLE_LOCKED_SECMEM
        value: '67'
      - name: GCRYCTL_DRBG_REINIT
        value: '74'
      - name: GCRYCTL_FIPS_REJECT_NON_FIPS
        value: '90'
      - name: GCRYCTL_INIT_SECMEM
        value: '24'
      - name: GCRYCTL_SET_ALLOW_WEAK_KEY
        value: '79'
      - name: GCRYCTL_SET_ENFORCED_FIPS_FLAG
        value: '64'
      - name: GCRYCTL_INACTIVATE_FIPS_FLAG
        value: '71'
      - name: GCRYCTL_FINALIZE
        value: '5'
      - name: GCRYCTL_RESUME_SECMEM_WARN
        value: '29'
      - name: GCRYCTL_FORCE_FIPS_MODE
        value: '56'
      - name: GCRYCTL_FAST_POLL
        value: '48'
      - name: GCRYCTL_FIPS_SERVICE_INDICATOR_PK_FLAGS
        value: '87'
      - name: GCRYCTL_GET_KEYLEN
        value: '6'
      - name: GCRYCTL_TEST_ALGO
        value: '8'
      - name: GCRYCTL_SET_CBC_CTS
        value: '41'
      - name: GCRYCTL_SET_RANDOM_DAEMON_SOCKET
        value: '49'
      - name: GCRYCTL_SELFTEST
        value: '57'
      - name: GCRYCTL_SET_PREFERRED_RNG_TYPE
        value: '65'
      - name: GCRYCTL_REACTIVATE_FIPS_FLAG
        value: '72'
      - name: GCRYCTL_GET_BLKLEN
        value: '7'
      - name: GCRYCTL_GET_ALGO_NPKEY
        value: '15'
      - name: GCRYCTL_INITIALIZATION_FINISHED
        value: '38'
      - name: GCRYCTL_SET_DECRYPTION_TAG
        value: '80'
      - name: GCRYCTL_MD_CUSTOMIZE
        value: '88'
      - name: GCRYCTL_GET_ALGO_NENCR
        value: '18'
      - name: GCRYCTL_FIPS_SERVICE_INDICATOR_MAC
        value: '85'
      - name: GCRYCTL_RESET
        value: '4'
      - name: GCRYCTL_IS_SECURE
        value: '9'
      - name: GCRYCTL_GET_ALGO_NSKEY
        value: '16'
      - name: GCRYCTL_START_DUMP
        value: '32'
      - name: GCRYCTL_UPDATE_RANDOM_SEED_FILE
        value: '46'
      - name: GCRYCTL_OPERATIONAL_P
        value: '54'
      - name: GCRYCTL_REINIT_SYSCALL_CLAMP
        value: '77'
      - name: GCRYCTL_SET_CCM_LENGTHS
        value: '69'
      - name: GCRYCTL_ANY_INITIALIZATION_P
        value: '40'
      - name: GCRYCTL_SET_VERBOSITY
        value: '19'
      - name: GCRYCTL_DISABLE_INTERNAL_LOCKING
        value: '36'
      - name: GCRYCTL_FIPS_MODE_P
        value: '55'
      - name: GCRYCTL_CLOSE_RANDOM_DEVICE
        value: '70'
      - name: GCRYCTL_FIPS_SERVICE_INDICATOR_MD
        value: '86'
      - name: GCRYCTL_ENABLE_QUICK_RANDOM
        value: '44'
      - name: GCRYCTL_AUTO_EXPAND_SECMEM
        value: '78'
      - name: GCRYCTL_DISABLE_SECMEM_WARN
        value: '27'
      - name: GCRYCTL_SUSPEND_SECMEM_WARN
        value: '28'
      - name: GCRYCTL_INITIALIZATION_FINISHED_P
        value: '39'
      - name: GCRYCTL_SET_THREAD_CBS
        value: '47'
      - name: GCRYCTL_CFB_SYNC
        value: '3'
      - name: GCRYCTL_DROP_PRIVS
        value: '30'
      - name: GCRYCTL_ENABLE_M_GUARD
        value: '31'
      - name: GCRYCTL_SET_RNDEGD_SOCKET
        value: '52'
      - name: GCRYCTL_GET_ASNOID
        value: '10'
      - name: GCRYCTL_IS_ALGO_ENABLED
        value: '35'
      - name: GCRYCTL_DISABLE_SECMEM
        value: '37'
      - name: GCRYCTL_DISABLE_PRIV_DROP
        value: '68'
      - name: GCRYCTL_SET_TAGLEN
        value: '75'
      - name: GCRYCTL_NO_FIPS_MODE
        value: '83'
      - name: GCRYCTL_SET_DEBUG_FLAGS
        value: '20'
      - name: GCRYCTL_USE_SECURE_RNDPOOL
        value: '22'
      - name: GCRYCTL_PRINT_CONFIG
        value: '53'
      - name: GCRYCTL_FIPS_SERVICE_INDICATOR_FUNCTION
        value: '84'
      - name: GCRYCTL_SET_RANDOM_SEED_FILE
        value: '45'
      - name: GCRYCTL_ENABLE_ALGO
        value: '11'
      - name: GCRYCTL_SET_CBC_MAC
        value: '42'
      - name: GCRYCTL_GET_TAGLEN
        value: '76'
      item_type: enum
      name: gcry_ctl_cmds
      pos:
        line_end: 351
        line_start: 265
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRYSEXP_FMT_DEFAULT
        value: '0'
      - name: GCRYSEXP_FMT_ADVANCED
        value: '3'
      - name: GCRYSEXP_FMT_CANON
        value: '1'
      - name: GCRYSEXP_FMT_BASE64
        value: '2'
      item_type: enum
      name: gcry_sexp_format
      pos:
        line_end: 376
        line_start: 370
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRYMPI_FMT_NONE
        value: '0'
      - name: GCRYMPI_FMT_STD
        value: '1'
      - name: GCRYMPI_FMT_HEX
        value: '4'
      - name: GCRYMPI_FMT_SSH
        value: '3'
      - name: GCRYMPI_FMT_PGP
        value: '2'
      - name: GCRYMPI_FMT_USG
        value: '5'
      - name: GCRYMPI_FMT_OPAQUE
        value: '8'
      item_type: enum
      name: gcry_mpi_format
      pos:
        line_end: 558
        line_start: 549
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRYMPI_FLAG_SECURE
        value: '1'
      - name: GCRYMPI_FLAG_USER1
        value: '0x0100'
      - name: GCRYMPI_FLAG_CONST
        value: '8'
      - name: GCRYMPI_FLAG_OPAQUE
        value: '2'
      - name: GCRYMPI_FLAG_IMMUTABLE
        value: '4'
      - name: GCRYMPI_FLAG_USER2
        value: '0x0200'
      - name: GCRYMPI_FLAG_USER3
        value: '0x0400'
      - name: GCRYMPI_FLAG_USER4
        value: '0x0800'
      item_type: enum
      name: gcry_mpi_flag
      pos:
        line_end: 573
        line_start: 561
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRY_CIPHER_3DES
        value: '2'
      - name: GCRY_CIPHER_DES_SK
        value: '6'
      - name: GCRY_CIPHER_TWOFISH
        value: '10'
      - name: GCRY_CIPHER_CAMELLIA128
        value: '310'
      - name: GCRY_CIPHER_CAMELLIA256
        value: '312'
      - name: GCRY_CIPHER_SALSA20R12
        value: '314'
      - name: GCRY_CIPHER_GOST28147_MESH
        value: '317'
      - name: GCRY_CIPHER_SM4
        value: '318'
      - name: GCRY_CIPHER_ARIA128
        value: '319'
      - name: GCRY_CIPHER_ARIA192
        value: '320'
      - name: GCRY_CIPHER_CAST5
        value: '3'
      - name: GCRY_CIPHER_AES
        value: '7'
      - name: GCRY_CIPHER_ARCFOUR
        value: '301'
      - name: GCRY_CIPHER_TWOFISH128
        value: '303'
      - name: GCRY_CIPHER_SERPENT128
        value: '304'
      - name: GCRY_CIPHER_RFC2268_128
        value: '308'
      - name: GCRY_CIPHER_NONE
        value: '0'
      - name: GCRY_CIPHER_BLOWFISH
        value: '4'
      - name: GCRY_CIPHER_AES192
        value: '8'
      - name: GCRY_CIPHER_RFC2268_40
        value: '307'
      - name: GCRY_CIPHER_SERPENT192
        value: '305'
      - name: GCRY_CIPHER_SEED
        value: '309'
      - name: GCRY_CIPHER_CAMELLIA192
        value: '311'
      - name: GCRY_CIPHER_SALSA20
        value: '313'
      - name: GCRY_CIPHER_GOST28147
        value: '315'
      - name: GCRY_CIPHER_CHACHA20
        value: '316'
      - name: GCRY_CIPHER_IDEA
        value: '1'
      - name: GCRY_CIPHER_SAFER_SK128
        value: '5'
      - name: GCRY_CIPHER_AES256
        value: '9'
      - name: GCRY_CIPHER_DES
        value: '302'
      - name: GCRY_CIPHER_SERPENT256
        value: '306'
      - name: GCRY_CIPHER_ARIA256
        value: '321'
      item_type: enum
      name: gcry_cipher_algos
      pos:
        line_end: 964
        line_start: 928
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRY_CIPHER_MODE_NONE
        value: '0'
      - name: GCRY_CIPHER_MODE_CFB
        value: '2'
      - name: GCRY_CIPHER_MODE_STREAM
        value: '4'
      - name: GCRY_CIPHER_MODE_ECB
        value: '1'
      - name: GCRY_CIPHER_MODE_CBC
        value: '3'
      - name: GCRY_CIPHER_MODE_OFB
        value: '5'
      - name: GCRY_CIPHER_MODE_CTR
        value: '6'
      - name: GCRY_CIPHER_MODE_AESWRAP
        value: '7'
      - name: GCRY_CIPHER_MODE_CCM
        value: '8'
      - name: GCRY_CIPHER_MODE_GCM
        value: '9'
      - name: GCRY_CIPHER_MODE_CFB8
        value: '12'
      - name: GCRY_CIPHER_MODE_EAX
        value: '14'
      - name: GCRY_CIPHER_MODE_OCB
        value: '11'
      - name: GCRY_CIPHER_MODE_XTS
        value: '13'
      - name: GCRY_CIPHER_MODE_GCM_SIV
        value: '16'
      - name: GCRY_CIPHER_MODE_POLY1305
        value: '10'
      - name: GCRY_CIPHER_MODE_SIV
        value: '15'
      item_type: enum
      name: gcry_cipher_modes
      pos:
        line_end: 994
        line_start: 975
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRY_CIPHER_SECURE
        value: '1'
      - name: GCRY_CIPHER_CBC_CTS
        value: '4'
      - name: GCRY_CIPHER_ENABLE_SYNC
        value: '2'
      - name: GCRY_CIPHER_CBC_MAC
        value: '8'
      - name: GCRY_CIPHER_EXTENDED
        value: '16'
      item_type: enum
      name: gcry_cipher_flags
      pos:
        line_end: 1004
        line_start: 997
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRY_CIPHER_GENIV_METHOD_CONCAT
        value: '1'
      - name: GCRY_CIPHER_GENIV_METHOD_XOR
        value: '2'
      item_type: enum
      name: gcry_cipher_geniv_methods
      pos:
        line_end: 1011
        line_start: 1007
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRY_PK_RSA
        value: '1'
      - name: GCRY_PK_DSA
        value: '17'
      - name: GCRY_PK_RSA_E
        value: '2'
      - name: GCRY_PK_ELG_E
        value: '16'
      - name: GCRY_PK_RSA_S
        value: '3'
      - name: GCRY_PK_ECC
        value: '18'
      - name: GCRY_PK_ELG
        value: '20'
      - name: GCRY_PK_ECDSA
        value: '301'
      - name: GCRY_PK_ECDH
        value: '302'
      - name: GCRY_PK_EDDSA
        value: '303'
      - name: GCRY_PK_MLDSA
        value: '332'
      - name: GCRY_PK_KEM
        value: '333'
      item_type: enum
      name: gcry_pk_algos
      pos:
        line_end: 1167
        line_start: 1153
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRY_ECC_CURVE25519
        value: '1'
      - name: GCRY_ECC_CURVE448
        value: '2'
      item_type: enum
      name: gcry_ecc_curves
      pos:
        line_end: 1258
        line_start: 1254
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRY_MD_MD5
        value: '1'
      - name: GCRY_MD_MD2
        value: '5'
      - name: GCRY_MD_HAVAL
        value: '7'
      - name: GCRY_MD_WHIRLPOOL
        value: '305'
      - name: GCRY_MD_TIGER1
        value: '306'
      - name: GCRY_MD_GOSTR3411_94
        value: '308'
      - name: GCRY_MD_STRIBOG512
        value: '310'
      - name: GCRY_MD_SHA512_256
        value: '327'
      - name: GCRY_MD_SHA512_224
        value: '328'
      - name: GCRY_MD_RMD160
        value: '3'
      - name: GCRY_MD_SHA1
        value: '2'
      - name: GCRY_MD_CRC24_RFC2440
        value: '304'
      - name: GCRY_MD_TIGER2
        value: '307'
      - name: GCRY_MD_CRC32_RFC1510
        value: '303'
      - name: GCRY_MD_GOSTR3411_CP
        value: '311'
      - name: GCRY_MD_SHA3_256
        value: '313'
      - name: GCRY_MD_BLAKE2B_160
        value: '321'
      - name: GCRY_MD_BLAKE2S_160
        value: '324'
      - name: GCRY_MD_BLAKE2S_128
        value: '325'
      - name: GCRY_MD_NONE
        value: '0'
      - name: GCRY_MD_SHA256
        value: '8'
      - name: GCRY_MD_SHA512
        value: '10'
      - name: GCRY_MD_MD4
        value: '301'
      - name: GCRY_MD_CRC32
        value: '302'
      - name: GCRY_MD_SHA224
        value: '11'
      - name: GCRY_MD_STRIBOG256
        value: '309'
      - name: GCRY_MD_SHA3_384
        value: '314'
      - name: GCRY_MD_SHAKE256
        value: '317'
      - name: GCRY_MD_BLAKE2B_256
        value: '320'
      - name: GCRY_MD_SM3
        value: '326'
      - name: GCRY_MD_TIGER
        value: '6'
      - name: GCRY_MD_SHA384
        value: '9'
      - name: GCRY_MD_SHA3_224
        value: '312'
      - name: GCRY_MD_SHA3_512
        value: '315'
      - name: GCRY_MD_SHAKE128
        value: '316'
      - name: GCRY_MD_BLAKE2B_512
        value: '318'
      - name: GCRY_MD_BLAKE2B_384
        value: '319'
      - name: GCRY_MD_BLAKE2S_256
        value: '322'
      - name: GCRY_MD_BLAKE2S_224
        value: '323'
      - name: GCRY_MD_CSHAKE128
        value: '329'
      - name: GCRY_MD_CSHAKE256
        value: '330'
      item_type: enum
      name: gcry_md_algos
      pos:
        line_end: 1323
        line_start: 1279
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRY_MD_FLAG_SECURE
        value: '1'
      - name: GCRY_MD_FLAG_HMAC
        value: '2'
      - name: GCRY_MD_FLAG_BUGEMU1
        value: '0x0100'
      item_type: enum
      name: gcry_md_flags
      pos:
        line_end: 1331
        line_start: 1326
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRY_MAC_GOST28147_IMIT
        value: '1'
      - name: GCRY_MAC_HMAC_SHA256
        value: '101'
      - name: GCRY_MAC_HMAC_MD4
        value: '107'
      - name: GCRY_MAC_HMAC_WHIRLPOOL
        value: '110'
      - name: GCRY_MAC_HMAC_STRIBOG512
        value: '113'
      - name: GCRY_MAC_HMAC_SHA3_384
        value: '117'
      - name: GCRY_MAC_HMAC_SHA3_224
        value: '115'
      - name: GCRY_MAC_HMAC_SHA3_512
        value: '118'
      - name: GCRY_MAC_HMAC_BLAKE2S_160
        value: '126'
      - name: GCRY_MAC_HMAC_SHA512_224
        value: '130'
      - name: GCRY_MAC_CMAC_ARIA
        value: '213'
      - name: GCRY_MAC_GMAC_CAMELLIA
        value: '402'
      - name: GCRY_MAC_GMAC_SERPENT
        value: '404'
      - name: GCRY_MAC_POLY1305_SM4
        value: '507'
      - name: GCRY_MAC_POLY1305_SERPENT
        value: '505'
      - name: GCRY_MAC_CMAC_SERPENT
        value: '207'
      - name: GCRY_MAC_HMAC_STRIBOG256
        value: '112'
      - name: GCRY_MAC_HMAC_GOSTR3411_94
        value: '111'
      - name: GCRY_MAC_HMAC_BLAKE2B_384
        value: '121'
      - name: GCRY_MAC_CMAC_SEED
        value: '208'
      - name: GCRY_MAC_CMAC_GOST28147
        value: '211'
      - name: GCRY_MAC_CMAC_SM4
        value: '212'
      - name: GCRY_MAC_GMAC_AES
        value: '401'
      - name: GCRY_MAC_GMAC_TWOFISH
        value: '403'
      - name: GCRY_MAC_POLY1305
        value: '501'
      - name: GCRY_MAC_POLY1305_CAMELLIA
        value: '503'
      - name: GCRY_MAC_POLY1305_TWOFISH
        value: '504'
      - name: GCRY_MAC_CMAC_3DES
        value: '202'
      - name: GCRY_MAC_NONE
        value: '0'
      - name: GCRY_MAC_HMAC_RMD160
        value: '108'
      - name: GCRY_MAC_HMAC_SHA3_256
        value: '116'
      - name: GCRY_MAC_HMAC_TIGER1
        value: '109'
      - name: GCRY_MAC_HMAC_BLAKE2B_256
        value: '122'
      - name: GCRY_MAC_HMAC_BLAKE2B_160
        value: '123'
      - name: GCRY_MAC_HMAC_BLAKE2S_128
        value: '127'
      - name: GCRY_MAC_HMAC_SM3
        value: '128'
      - name: GCRY_MAC_CMAC_AES
        value: '201'
      - name: GCRY_MAC_CMAC_CAMELLIA
        value: '203'
      - name: GCRY_MAC_POLY1305_SEED
        value: '506'
      - name: GCRY_MAC_POLY1305_ARIA
        value: '508'
      - name: GCRY_MAC_CMAC_RFC2268
        value: '209'
      - name: GCRY_MAC_CMAC_BLOWFISH
        value: '205'
      - name: GCRY_MAC_HMAC_SHA512
        value: '103'
      - name: GCRY_MAC_HMAC_SHA224
        value: '102'
      - name: GCRY_MAC_HMAC_SHA384
        value: '104'
      - name: GCRY_MAC_HMAC_SHA1
        value: '105'
      - name: GCRY_MAC_HMAC_MD5
        value: '106'
      - name: GCRY_MAC_HMAC_MD2
        value: '114'
      - name: GCRY_MAC_HMAC_GOSTR3411_CP
        value: '119'
      - name: GCRY_MAC_HMAC_BLAKE2B_512
        value: '120'
      - name: GCRY_MAC_HMAC_BLAKE2S_256
        value: '124'
      - name: GCRY_MAC_HMAC_BLAKE2S_224
        value: '125'
      - name: GCRY_MAC_HMAC_SHA512_256
        value: '129'
      - name: GCRY_MAC_CMAC_CAST5
        value: '204'
      - name: GCRY_MAC_GMAC_SM4
        value: '406'
      - name: GCRY_MAC_CMAC_IDEA
        value: '210'
      - name: GCRY_MAC_CMAC_TWOFISH
        value: '206'
      - name: GCRY_MAC_GMAC_SEED
        value: '405'
      - name: GCRY_MAC_POLY1305_AES
        value: '502'
      - name: GCRY_MAC_GMAC_ARIA
        value: '407'
      item_type: enum
      name: gcry_mac_algos
      pos:
        line_end: 1565
        line_start: 1499
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRY_MAC_FLAG_SECURE
        value: '1'
      item_type: enum
      name: gcry_mac_flags
      pos:
        line_end: 1571
        line_start: 1568
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRY_KDF_NONE
        value: '0'
      - name: GCRY_KDF_PBKDF1
        value: '33'
      - name: GCRY_KDF_SALTED_S2K
        value: '17'
      - name: GCRY_KDF_SIMPLE_S2K
        value: '16'
      - name: GCRY_KDF_ITERSALTED_S2K
        value: '19'
      - name: GCRY_KDF_PBKDF2
        value: '34'
      - name: GCRY_KDF_SCRYPT
        value: '48'
      - name: GCRY_KDF_ARGON2
        value: '64'
      - name: GCRY_KDF_BALLOON
        value: '65'
      - name: GCRY_KDF_ONESTEP_KDF
        value: '96'
      - name: GCRY_KDF_ONESTEP_KDF_MAC
        value: '97'
      - name: GCRY_KDF_X963_KDF
        value: '101'
      - name: GCRY_KDF_HKDF
        value: '98'
      item_type: enum
      name: gcry_kdf_algos
      pos:
        line_end: 1668
        line_start: 1643
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRY_KDF_ARGON2D
        value: '0'
      - name: GCRY_KDF_ARGON2I
        value: '1'
      - name: GCRY_KDF_ARGON2ID
        value: '2'
      item_type: enum
      name: gcry_kdf_subalgo_argon2
      pos:
        line_end: 1675
        line_start: 1670
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRY_KEM_DHKEM25519
        value: '41'
      - name: GCRY_KEM_SNTRUP761
        value: '1'
      - name: GCRY_KEM_RAW_X25519
        value: '31'
      - name: GCRY_KEM_RAW_X448
        value: '32'
      - name: GCRY_KEM_RAW_BP256
        value: '33'
      - name: GCRY_KEM_RAW_BP384
        value: '34'
      - name: GCRY_KEM_RAW_P256R1
        value: '36'
      - name: GCRY_KEM_RAW_P256K1
        value: '39'
      - name: GCRY_KEM_DHKEM448
        value: '42'
      - name: GCRY_KEM_RAW_P521R1
        value: '38'
      - name: GCRY_KEM_RAW_BP512
        value: '35'
      - name: GCRY_KEM_DHKEMP256R1
        value: '43'
      - name: GCRY_KEM_CM6688128F
        value: '2'
      - name: GCRY_KEM_MLKEM768
        value: '4'
      - name: GCRY_KEM_MLKEM512
        value: '3'
      - name: GCRY_KEM_MLKEM1024
        value: '5'
      - name: GCRY_KEM_DHKEMP384R1
        value: '44'
      - name: GCRY_KEM_NONE
        value: '0'
      - name: GCRY_KEM_DHKEMP521R1
        value: '45'
      - name: GCRY_KEM_RAW_P384R1
        value: '37'
      item_type: enum
      name: gcry_kem_algos
      pos:
        line_end: 1766
        line_start: 1724
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRY_RNG_TYPE_STANDARD
        value: '1'
      - name: GCRY_RNG_TYPE_SYSTEM
        value: '3'
      - name: GCRY_RNG_TYPE_FIPS
        value: '2'
      item_type: enum
      name: gcry_rng_types
      pos:
        line_end: 1891
        line_start: 1886
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRY_WEAK_RANDOM
        value: '0'
      - name: GCRY_VERY_STRONG_RANDOM
        value: '2'
      - name: GCRY_STRONG_RANDOM
        value: '1'
      item_type: enum
      name: gcry_random_level
      pos:
        line_end: 1902
        line_start: 1897
        source_file: /src/libgcrypt/src/gcrypt.h
    - enumerators:
      - name: GCRY_LOG_CONT
        value: '0'
      - name: GCRY_LOG_FATAL
        value: '40'
      - name: GCRY_LOG_WARN
        value: '20'
      - name: GCRY_LOG_INFO
        value: '10'
      - name: GCRY_LOG_ERROR
        value: '30'
      - name: GCRY_LOG_BUG
        value: '50'
      - name: GCRY_LOG_DEBUG
        value: '100'
      item_type: enum
      name: gcry_log_levels
      pos:
        line_end: 2070
        line_start: 2061
        source_file: /src/libgcrypt/src/gcrypt.h
    preproc_defs:
    - item_type: preproc_def
      name: _GCRY_ERR_SOURCE_DEFAULT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GPG_ERR_SOURCE_GCRYPT
    - item_type: preproc_def
      name: GCRYPT_VERSION
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '"1.12.3"'
    - item_type: preproc_def
      name: GCRYPT_VERSION_NUMBER
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '0x010c03'
    - item_type: preproc_def
      name: GCRYPT_NO_MPI_MACROS
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _GCRY_GCC_VERSION
      pos:
        line_end: 81
        line_start: 78
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: "(__GNUC__ * 10000 \\\n                             + __GNUC_MINOR__
        * 100 \\\n                             + __GNUC_PATCHLEVEL__)"
    - item_type: preproc_def
      name: _GCRY_GCC_ATTR_DEPRECATED
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: __attribute__ ((__deprecated__))
    - item_type: preproc_def
      name: _GCRY_GCC_ATTR_PURE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: __attribute__ ((__pure__))
    - item_type: preproc_def
      name: _GCRY_GCC_ATTR_MALLOC
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: __attribute__ ((__malloc__))
    - item_type: preproc_def
      name: _GCRY_GCC_ATTR_NONSTRING
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: __attribute__((__nonstring__))
    - item_type: preproc_def
      name: _GCRY_ATTR_INTERNAL
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: _GCRY_GCC_ATTR_DEPRECATED
    - item_type: preproc_def
      name: GCRY_ERR_SOURCE_DEFAULT
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GPG_ERR_SOURCE_USER_1
    - item_type: preproc_def
      name: GCRY_THREAD_OPTION_DEFAULT
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '0'
    - item_type: preproc_def
      name: GCRY_THREAD_OPTION_USER
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GCRY_THREAD_OPTION_PTH
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '2'
    - item_type: preproc_def
      name: GCRY_THREAD_OPTION_PTHREAD
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '3'
    - item_type: preproc_def
      name: GCRY_THREAD_OPTION_VERSION
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GCRY_THREAD_OPTION_PTH_IMPL
      pos:
        line_end: 225
        line_start: 222
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: "static struct gcry_thread_cbs gcry_threads_pth = {                    \\\n
        \   (GCRY_THREAD_OPTION_PTH | (GCRY_THREAD_OPTION_VERSION << 8))}"
    - item_type: preproc_def
      name: GCRY_THREAD_OPTION_PTHREAD_IMPL
      pos:
        line_end: 229
        line_start: 226
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: "static struct gcry_thread_cbs gcry_threads_pthread = {                \\\n
        \   (GCRY_THREAD_OPTION_PTHREAD | (GCRY_THREAD_OPTION_VERSION << 8))}"
    - item_type: preproc_def
      name: GCRYMPI_CONST_ONE
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (_gcry_mpi_get_const (1))
    - item_type: preproc_def
      name: GCRYMPI_CONST_TWO
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (_gcry_mpi_get_const (2))
    - item_type: preproc_def
      name: GCRYMPI_CONST_THREE
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (_gcry_mpi_get_const (3))
    - item_type: preproc_def
      name: GCRYMPI_CONST_FOUR
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (_gcry_mpi_get_const (4))
    - item_type: preproc_def
      name: GCRYMPI_CONST_EIGHT
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (_gcry_mpi_get_const (8))
    - item_type: preproc_def
      name: GCRY_CIPHER_AES128
      pos:
        line_end: 968
        line_start: 967
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_CIPHER_AES
    - item_type: preproc_def
      name: GCRY_CIPHER_RIJNDAEL
      pos:
        line_end: 969
        line_start: 968
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_CIPHER_AES
    - item_type: preproc_def
      name: GCRY_CIPHER_RIJNDAEL128
      pos:
        line_end: 970
        line_start: 969
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_CIPHER_AES128
    - item_type: preproc_def
      name: GCRY_CIPHER_RIJNDAEL192
      pos:
        line_end: 971
        line_start: 970
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_CIPHER_AES192
    - item_type: preproc_def
      name: GCRY_CIPHER_RIJNDAEL256
      pos:
        line_end: 972
        line_start: 971
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_CIPHER_AES256
    - item_type: preproc_def
      name: GCRY_GCM_BLOCK_LEN
      pos:
        line_end: 1015
        line_start: 1014
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (128 / 8)
    - item_type: preproc_def
      name: GCRY_CCM_BLOCK_LEN
      pos:
        line_end: 1018
        line_start: 1017
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (128 / 8)
    - item_type: preproc_def
      name: GCRY_OCB_BLOCK_LEN
      pos:
        line_end: 1021
        line_start: 1020
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (128 / 8)
    - item_type: preproc_def
      name: GCRY_XTS_BLOCK_LEN
      pos:
        line_end: 1024
        line_start: 1023
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (128 / 8)
    - item_type: preproc_def
      name: GCRY_SIV_BLOCK_LEN
      pos:
        line_end: 1027
        line_start: 1026
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (128 / 8)
    - item_type: preproc_def
      name: GCRY_PK_USAGE_SIGN
      pos:
        line_end: 1171
        line_start: 1170
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '1   '
    - item_type: preproc_def
      name: GCRY_PK_USAGE_ENCR
      pos:
        line_end: 1172
        line_start: 1171
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '2   '
    - item_type: preproc_def
      name: GCRY_PK_USAGE_CERT
      pos:
        line_end: 1173
        line_start: 1172
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '4   '
    - item_type: preproc_def
      name: GCRY_PK_USAGE_AUTH
      pos:
        line_end: 1174
        line_start: 1173
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '8   '
    - item_type: preproc_def
      name: GCRY_PK_USAGE_UNKN
      pos:
        line_end: 1175
        line_start: 1174
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '128 '
    - item_type: preproc_def
      name: GCRY_PK_GET_PUBKEY
      pos:
        line_end: 1178
        line_start: 1177
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GCRY_PK_GET_SECKEY
      pos:
        line_end: 1179
        line_start: 1178
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '2'
    - item_type: preproc_def
      name: GCRY_KEM_SNTRUP761_SECKEY_LEN
      pos:
        line_end: 1778
        line_start: 1777
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '1763'
    - item_type: preproc_def
      name: GCRY_KEM_SNTRUP761_PUBKEY_LEN
      pos:
        line_end: 1779
        line_start: 1778
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '1158'
    - item_type: preproc_def
      name: GCRY_KEM_SNTRUP761_ENCAPS_LEN
      pos:
        line_end: 1780
        line_start: 1779
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '1039'
    - item_type: preproc_def
      name: GCRY_KEM_SNTRUP761_CIPHER_LEN
      pos:
        line_end: 1781
        line_start: 1780
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_SNTRUP761_ENCAPS_LEN
    - item_type: preproc_def
      name: GCRY_KEM_SNTRUP761_SHARED_LEN
      pos:
        line_end: 1782
        line_start: 1781
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '32'
    - item_type: preproc_def
      name: GCRY_KEM_CM6688128F_SECKEY_LEN
      pos:
        line_end: 1784
        line_start: 1783
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '13932'
    - item_type: preproc_def
      name: GCRY_KEM_CM6688128F_PUBKEY_LEN
      pos:
        line_end: 1785
        line_start: 1784
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '1044992'
    - item_type: preproc_def
      name: GCRY_KEM_CM6688128F_ENCAPS_LEN
      pos:
        line_end: 1786
        line_start: 1785
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '208'
    - item_type: preproc_def
      name: GCRY_KEM_CM6688128F_CIPHER_LEN
      pos:
        line_end: 1787
        line_start: 1786
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_CM6688128F_ENCAPS_LEN
    - item_type: preproc_def
      name: GCRY_KEM_CM6688128F_SHARED_LEN
      pos:
        line_end: 1788
        line_start: 1787
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '32'
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM_RANDOM_LEN
      pos:
        line_end: 1790
        line_start: 1789
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '32'
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM512_RANDOM_LEN
      pos:
        line_end: 1791
        line_start: 1790
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_MLKEM_RANDOM_LEN
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM768_RANDOM_LEN
      pos:
        line_end: 1792
        line_start: 1791
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_MLKEM_RANDOM_LEN
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM1024_RANDOM_LEN
      pos:
        line_end: 1793
        line_start: 1792
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_MLKEM_RANDOM_LEN
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM512_SECKEY_LEN
      pos:
        line_end: 1795
        line_start: 1794
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '(2*384+2*384+32+2*32)  '
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM512_PUBKEY_LEN
      pos:
        line_end: 1796
        line_start: 1795
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '(2*384+32)             '
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM512_ENCAPS_LEN
      pos:
        line_end: 1797
        line_start: 1796
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '(128+2*320)            '
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM512_CIPHER_LEN
      pos:
        line_end: 1798
        line_start: 1797
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_MLKEM512_ENCAPS_LEN
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM512_SHARED_LEN
      pos:
        line_end: 1799
        line_start: 1798
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '32'
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM768_SECKEY_LEN
      pos:
        line_end: 1801
        line_start: 1800
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '(3*384+3*384+32+2*32)  '
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM768_PUBKEY_LEN
      pos:
        line_end: 1802
        line_start: 1801
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '(3*384+32)             '
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM768_ENCAPS_LEN
      pos:
        line_end: 1803
        line_start: 1802
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '(128+3*320)            '
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM768_CIPHER_LEN
      pos:
        line_end: 1804
        line_start: 1803
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_MLKEM768_ENCAPS_LEN
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM768_SHARED_LEN
      pos:
        line_end: 1805
        line_start: 1804
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '32'
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM1024_SECKEY_LEN
      pos:
        line_end: 1807
        line_start: 1806
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '(4*384+4*384+32+2*32)  '
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM1024_PUBKEY_LEN
      pos:
        line_end: 1808
        line_start: 1807
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '(4*384+32)             '
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM1024_ENCAPS_LEN
      pos:
        line_end: 1809
        line_start: 1808
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '(160+4*352)            '
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM1024_CIPHER_LEN
      pos:
        line_end: 1810
        line_start: 1809
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_MLKEM1024_ENCAPS_LEN
    - item_type: preproc_def
      name: GCRY_KEM_MLKEM1024_SHARED_LEN
      pos:
        line_end: 1811
        line_start: 1810
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '32'
    - item_type: preproc_def
      name: GCRY_KEM_ECC_X25519_SECKEY_LEN
      pos:
        line_end: 1814
        line_start: 1813
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '32'
    - item_type: preproc_def
      name: GCRY_KEM_ECC_X25519_PUBKEY_LEN
      pos:
        line_end: 1815
        line_start: 1814
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '32'
    - item_type: preproc_def
      name: GCRY_KEM_ECC_X25519_ENCAPS_LEN
      pos:
        line_end: 1816
        line_start: 1815
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '32'
    - item_type: preproc_def
      name: GCRY_KEM_ECC_X25519_CIPHER_LEN
      pos:
        line_end: 1817
        line_start: 1816
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_ECC_X25519_ENCAPS_LEN
    - item_type: preproc_def
      name: GCRY_KEM_RAW_X25519_SHARED_LEN
      pos:
        line_end: 1819
        line_start: 1818
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '32'
    - item_type: preproc_def
      name: GCRY_KEM_DHKEM25519_SECKEY_LEN
      pos:
        line_end: 1821
        line_start: 1820
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_ECC_X25519_SECKEY_LEN
    - item_type: preproc_def
      name: GCRY_KEM_DHKEM25519_PUBKEY_LEN
      pos:
        line_end: 1822
        line_start: 1821
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_ECC_X25519_PUBKEY_LEN
    - item_type: preproc_def
      name: GCRY_KEM_DHKEM25519_ENCAPS_LEN
      pos:
        line_end: 1823
        line_start: 1822
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_ECC_X25519_ENCAPS_LEN
    - item_type: preproc_def
      name: GCRY_KEM_DHKEM25519_CIPHER_LEN
      pos:
        line_end: 1824
        line_start: 1823
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_DHKEM25519_ENCAPS_LEN
    - item_type: preproc_def
      name: GCRY_KEM_DHKEM25519_SHARED_LEN
      pos:
        line_end: 1825
        line_start: 1824
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '32'
    - item_type: preproc_def
      name: GCRY_KEM_ECC_X448_SECKEY_LEN
      pos:
        line_end: 1827
        line_start: 1826
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '56'
    - item_type: preproc_def
      name: GCRY_KEM_ECC_X448_PUBKEY_LEN
      pos:
        line_end: 1828
        line_start: 1827
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '56'
    - item_type: preproc_def
      name: GCRY_KEM_ECC_X448_ENCAPS_LEN
      pos:
        line_end: 1829
        line_start: 1828
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '56'
    - item_type: preproc_def
      name: GCRY_KEM_ECC_X448_CIPHER_LEN
      pos:
        line_end: 1830
        line_start: 1829
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_ECC_X448_ENCAPS_LEN
    - item_type: preproc_def
      name: GCRY_KEM_RAW_X448_SHARED_LEN
      pos:
        line_end: 1832
        line_start: 1831
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '56'
    - item_type: preproc_def
      name: GCRY_KEM_DHKEM448_SECKEY_LEN
      pos:
        line_end: 1834
        line_start: 1833
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_ECC_X448_SECKEY_LEN
    - item_type: preproc_def
      name: GCRY_KEM_DHKEM448_PUBKEY_LEN
      pos:
        line_end: 1835
        line_start: 1834
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_ECC_X448_PUBKEY_LEN
    - item_type: preproc_def
      name: GCRY_KEM_DHKEM448_ENCAPS_LEN
      pos:
        line_end: 1836
        line_start: 1835
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_ECC_X448_ENCAPS_LEN
    - item_type: preproc_def
      name: GCRY_KEM_DHKEM448_CIPHER_LEN
      pos:
        line_end: 1837
        line_start: 1836
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_DHKEM448_ENCAPS_LEN
    - item_type: preproc_def
      name: GCRY_KEM_DHKEM448_SHARED_LEN
      pos:
        line_end: 1838
        line_start: 1837
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '56'
    - item_type: preproc_def
      name: GCRY_KEM_ECC_BP256_SECKEY_LEN
      pos:
        line_end: 1840
        line_start: 1839
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '32'
    - item_type: preproc_def
      name: GCRY_KEM_ECC_BP256_PUBKEY_LEN
      pos:
        line_end: 1841
        line_start: 1840
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1+32+32)
    - item_type: preproc_def
      name: GCRY_KEM_ECC_BP256_ENCAPS_LEN
      pos:
        line_end: 1842
        line_start: 1841
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1+32+32)
    - item_type: preproc_def
      name: GCRY_KEM_ECC_BP256_CIPHER_LEN
      pos:
        line_end: 1843
        line_start: 1842
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_ECC_BP256_ENCAPS_LEN
    - item_type: preproc_def
      name: GCRY_KEM_RAW_BP256_SHARED_LEN
      pos:
        line_end: 1844
        line_start: 1843
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1+32+32)
    - item_type: preproc_def
      name: GCRY_KEM_ECC_BP384_SECKEY_LEN
      pos:
        line_end: 1846
        line_start: 1845
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '48'
    - item_type: preproc_def
      name: GCRY_KEM_ECC_BP384_PUBKEY_LEN
      pos:
        line_end: 1847
        line_start: 1846
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1+48+48)
    - item_type: preproc_def
      name: GCRY_KEM_ECC_BP384_ENCAPS_LEN
      pos:
        line_end: 1848
        line_start: 1847
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1+48+48)
    - item_type: preproc_def
      name: GCRY_KEM_ECC_BP384_CIPHER_LEN
      pos:
        line_end: 1849
        line_start: 1848
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_KEM_ECC_BP384_ENCAPS_LEN
    - item_type: preproc_def
      name: GCRY_KEM_RAW_BP384_SHARED_LEN
      pos:
        line_end: 1850
        line_start: 1849
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1+48+48)
    - item_type: preproc_def
      name: GCRY_PRIME_CHECK_AT_FINISH
      pos:
        line_end: 1955
        line_start: 1954
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '0'
    - item_type: preproc_def
      name: GCRY_PRIME_CHECK_AT_GOT_PRIME
      pos:
        line_end: 1956
        line_start: 1955
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GCRY_PRIME_CHECK_AT_MAYBE_PRIME
      pos:
        line_end: 1957
        line_start: 1956
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: '2'
    - item_type: preproc_def
      name: GCRY_PRIME_FLAG_SECRET
      pos:
        line_end: 1967
        line_start: 1966
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: GCRY_PRIME_FLAG_SPECIAL_FACTOR
      pos:
        line_end: 1971
        line_start: 1970
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: GCRY_FIPS_FLAG_REJECT_KDF
      pos:
        line_end: 2030
        line_start: 2029
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: GCRY_FIPS_FLAG_REJECT_MD_MD5
      pos:
        line_end: 2031
        line_start: 2030
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: GCRY_FIPS_FLAG_REJECT_MD_OTHERS
      pos:
        line_end: 2032
        line_start: 2031
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: GCRY_FIPS_FLAG_REJECT_MAC
      pos:
        line_end: 2033
        line_start: 2032
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: GCRY_FIPS_FLAG_REJECT_CIPHER
      pos:
        line_end: 2034
        line_start: 2033
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: GCRY_FIPS_FLAG_REJECT_PK
      pos:
        line_end: 2035
        line_start: 2034
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: GCRY_FIPS_FLAG_REJECT_PK_MD
      pos:
        line_end: 2036
        line_start: 2035
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: GCRY_FIPS_FLAG_REJECT_PK_GOST_SM2
      pos:
        line_end: 2037
        line_start: 2036
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: GCRY_FIPS_FLAG_REJECT_CIPHER_MODE
      pos:
        line_end: 2038
        line_start: 2037
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1 << 8)
    - item_type: preproc_def
      name: GCRY_FIPS_FLAG_REJECT_MD_SHA1
      pos:
        line_end: 2040
        line_start: 2039
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1 << 9)
    - item_type: preproc_def
      name: GCRY_FIPS_FLAG_REJECT_PK_ECC_K
      pos:
        line_end: 2041
        line_start: 2040
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1 << 10)
    - item_type: preproc_def
      name: GCRY_FIPS_FLAG_REJECT_PK_FLAGS
      pos:
        line_end: 2042
        line_start: 2041
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: (1 << 11)
    - item_type: preproc_def
      name: GCRY_FIPS_FLAG_REJECT_MD
      pos:
        line_end: 2046
        line_start: 2043
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: "(GCRY_FIPS_FLAG_REJECT_MD_MD5 | GCRY_FIPS_FLAG_REJECT_MD_SHA1
        \\\n   | GCRY_FIPS_FLAG_REJECT_MD_OTHERS)"
    - item_type: preproc_def
      name: GCRY_FIPS_FLAG_REJECT_COMPAT110
      pos:
        line_end: 2055
        line_start: 2049
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: "(GCRY_FIPS_FLAG_REJECT_MD_OTHERS      \\\n   | GCRY_FIPS_FLAG_REJECT_MAC
        \         \\\n   | GCRY_FIPS_FLAG_REJECT_CIPHER       \\\n   | GCRY_FIPS_FLAG_REJECT_KDF
        \         \\\n   | GCRY_FIPS_FLAG_REJECT_PK)"
    - item_type: preproc_def
      name: GCRY_FIPS_FLAG_REJECT_DEFAULT
      pos:
        line_end: 2058
        line_start: 2056
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: GCRY_FIPS_FLAG_REJECT_COMPAT110
    - item_type: preproc_def
      name: gcry_pk_input_data_push
      pos:
        line_end: 2173
        line_start: 2172
        source_file: /src/libgcrypt/src/gcrypt.h
      type_or_value: gcry_pk_random_override_new
    structs:
    - fields:
      - name: option
        type: unsigned int
      item_type: struct
      name: gcry_thread_cbs
      pos:
        line_end: 220
        line_start: 213
        source_file: /src/libgcrypt/src/gcrypt.h
    - fields:
      - name: size
        type: size_t
      - name: 'off'
        type: size_t
      - name: len
        type: size_t
      - name: '*data'
        type: void
      item_type: struct
      name: gcry_buffer_t
      pos:
        line_end: 254
        line_start: 248
        source_file: /src/libgcrypt/src/gcrypt.h
    - fields:
      - name: '*ctx'
        type: struct gcry_md_context
      - name: bufpos
        type: int
      - name: bufsize
        type: int
      - name: buf[1]
        type: unsigned char
      item_type: struct
      name: gcry_md_handle
      pos:
        line_end: 1348
        line_start: 1339
        source_file: /src/libgcrypt/src/gcrypt.h
    - fields:
      - name: '*n'
        type: void
      - name: n_len
        type: unsigned int
      - name: '*s'
        type: void
      - name: s_len
        type: unsigned int
      item_type: struct
      name: gcry_cshake_customization
      pos:
        line_end: 1483
        line_start: 1477
        source_file: /src/libgcrypt/src/gcrypt.h
    - fields:
      - name: '*jobs_context'
        type: void
      - name: dispatch_job
        type: gcry_kdf_dispatch_job_fn_t
      - name: wait_all_jobs
        type: gcry_kdf_wait_all_jobs_fn_t
      item_type: struct
      name: gcry_kdf_thread_ops
      pos:
        line_end: 1701
        line_start: 1696
        source_file: /src/libgcrypt/src/gcrypt.h
    typedefs:
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/libgcrypt/src/gcrypt.h
      type: SSIZE_T
    - item_type: typedef
      name: pid_t
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/libgcrypt/src/gcrypt.h
      type: int
    - item_type: typedef
      name: gcry_error_t
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/libgcrypt/src/gcrypt.h
      type: gpg_error_t
    - item_type: typedef
      name: gcry_err_code_t
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/libgcrypt/src/gcrypt.h
      type: gpg_err_code_t
    - item_type: typedef
      name: gcry_err_source_t
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/libgcrypt/src/gcrypt.h
      type: gpg_err_source_t
    - item_type: typedef
      name: '*gcry_ctx_t'
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/libgcrypt/src/gcrypt.h
      type: gcry_context
    - item_type: typedef
      name: '*gcry_mpi_t'
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/libgcrypt/src/gcrypt.h
      type: gcry_mpi
    - item_type: typedef
      name: '*gcry_mpi_point_t'
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/libgcrypt/src/gcrypt.h
      type: gcry_mpi_point
    - item_type: typedef
      name: '*GCRY_MPI _GCRY_GCC_ATTR_DEPRECATED'
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/libgcrypt/src/gcrypt.h
      type: gcry_mpi
    - item_type: typedef
      name: '*GcryMPI _GCRY_GCC_ATTR_DEPRECATED'
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/libgcrypt/src/gcrypt.h
      type: gcry_mpi
    - item_type: typedef
      name: '*gcry_sexp_t'
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/libgcrypt/src/gcrypt.h
      type: gcry_sexp
    - item_type: typedef
      name: '*GCRY_SEXP _GCRY_GCC_ATTR_DEPRECATED'
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/libgcrypt/src/gcrypt.h
      type: gcry_sexp
    - item_type: typedef
      name: '*GcrySexp _GCRY_GCC_ATTR_DEPRECATED'
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/libgcrypt/src/gcrypt.h
      type: gcry_sexp
    - item_type: typedef
      name: '*gcry_cipher_hd_t'
      pos:
        line_end: 919
        line_start: 919
        source_file: /src/libgcrypt/src/gcrypt.h
      type: gcry_cipher_handle
    - item_type: typedef
      name: '*GCRY_CIPHER_HD'
      pos:
        line_end: 922
        line_start: 922
        source_file: /src/libgcrypt/src/gcrypt.h
      type: gcry_cipher_handle
    - item_type: typedef
      name: '*GcryCipherHd'
      pos:
        line_end: 923
        line_start: 923
        source_file: /src/libgcrypt/src/gcrypt.h
      type: gcry_cipher_handle
    - item_type: typedef
      name: '*GCRY_MD_HD _GCRY_GCC_ATTR_DEPRECATED'
      pos:
        line_end: 1352
        line_start: 1352
        source_file: /src/libgcrypt/src/gcrypt.h
      type: gcry_md_handle
    - item_type: typedef
      name: '*GcryMDHd _GCRY_GCC_ATTR_DEPRECATED'
      pos:
        line_end: 1353
        line_start: 1353
        source_file: /src/libgcrypt/src/gcrypt.h
      type: gcry_md_handle
    - item_type: typedef
      name: '*gcry_mac_hd_t'
      pos:
        line_end: 1495
        line_start: 1495
        source_file: /src/libgcrypt/src/gcrypt.h
      type: gcry_mac_handle
    - item_type: typedef
      name: '*gcry_kdf_hd_t'
      pos:
        line_end: 1687
        line_start: 1687
        source_file: /src/libgcrypt/src/gcrypt.h
      type: gcry_kdf_handle
    - item_type: typedef
      name: (*gcry_kdf_job_fn_t) (void *priv)
      pos:
        line_end: 1689
        line_start: 1689
        source_file: /src/libgcrypt/src/gcrypt.h
      type: void
    - item_type: typedef
      name: "(*gcry_kdf_dispatch_job_fn_t) (void *jobs_context,\n                                           gcry_kdf_job_fn_t
        job_fn,\n                                           void *job_priv)"
      pos:
        line_end: 1692
        line_start: 1690
        source_file: /src/libgcrypt/src/gcrypt.h
      type: int
    - item_type: typedef
      name: (*gcry_kdf_wait_all_jobs_fn_t) (void *jobs_context)
      pos:
        line_end: 1693
        line_start: 1693
        source_file: /src/libgcrypt/src/gcrypt.h
      type: int
    - item_type: typedef
      name: "(*gcry_prime_check_func_t) (void *arg, int mode,\n                                        gcry_mpi_t
        candidate)"
      pos:
        line_end: 1961
        line_start: 1960
        source_file: /src/libgcrypt/src/gcrypt.h
      type: int
    - item_type: typedef
      name: (*gcry_handler_progress_t) (void *, const char *, int, int, int)
      pos:
        line_end: 2073
        line_start: 2073
        source_file: /src/libgcrypt/src/gcrypt.h
      type: void
    - item_type: typedef
      name: '*(*gcry_handler_alloc_t) (size_t n)'
      pos:
        line_end: 2076
        line_start: 2076
        source_file: /src/libgcrypt/src/gcrypt.h
      type: void
    - item_type: typedef
      name: (*gcry_handler_secure_check_t) (const void *)
      pos:
        line_end: 2079
        line_start: 2079
        source_file: /src/libgcrypt/src/gcrypt.h
      type: int
    - item_type: typedef
      name: '*(*gcry_handler_realloc_t) (void *p, size_t n)'
      pos:
        line_end: 2082
        line_start: 2082
        source_file: /src/libgcrypt/src/gcrypt.h
      type: void
    - item_type: typedef
      name: (*gcry_handler_free_t) (void *)
      pos:
        line_end: 2085
        line_start: 2085
        source_file: /src/libgcrypt/src/gcrypt.h
      type: void
    - item_type: typedef
      name: (*gcry_handler_no_mem_t) (void *, size_t, unsigned int)
      pos:
        line_end: 2088
        line_start: 2088
        source_file: /src/libgcrypt/src/gcrypt.h
      type: int
    - item_type: typedef
      name: (*gcry_handler_error_t) (void *, int, const char *)
      pos:
        line_end: 2091
        line_start: 2091
        source_file: /src/libgcrypt/src/gcrypt.h
      type: void
    - item_type: typedef
      name: (*gcry_handler_log_t) (void *, int, const char *, va_list)
      pos:
        line_end: 2094
        line_start: 2094
        source_file: /src/libgcrypt/src/gcrypt.h
      type: void
    union: []
- function_names:
  - shaext_prepare
  - shaext_cleanup
  - shaext_prepare
  - shaext_cleanup
  - ROUND
  - ROUND_FINAL
  source_file: /src/libgcrypt/cipher/sha512-intel-shaext.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/cipher/sha512-intel-shaext.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/sha512-intel-shaext.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: shaext_prepare_variable
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/sha512-intel-shaext.c
      type_or_value: char win64tmp[2*16]
    - item_type: preproc_def
      name: shaext_prepare_variable_size
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/sha512-intel-shaext.c
      type_or_value: sizeof(win64tmp)
    - item_type: preproc_def
      name: shaext_prepare_variable_size
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libgcrypt/cipher/sha512-intel-shaext.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - load32_littleendian
  - load24_littleendian
  - cbd2
  - cbd3
  - rej_uniform
  - fqmul
  - ntt
  - invntt
  - basemul
  - poly_compress_128
  - poly_compress_160
  - poly_decompress_128
  - poly_decompress_160
  - poly_tobytes
  - poly_frombytes
  - poly_frommsg
  - poly_tomsg
  - poly_getnoise_eta1_2
  - poly_getnoise_eta1_3_4
  - poly_getnoise_eta2
  - poly_ntt
  - poly_invntt_tomont
  - poly_basemul_montgomery
  - poly_tomont
  - poly_reduce
  - poly_add
  - poly_sub
  - montgomery_reduce
  - barrett_reduce
  source_file: /src/libgcrypt/cipher/kyber-common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CAMELLIA_PREFIX1
  - CAMELLIA_PREFIX2
  - CAMELLIA_PREFIX
  source_file: /src/libgcrypt/cipher/camellia.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_ARM_ASM
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/cipher/camellia.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_ASM
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/cipher/camellia.h
      type_or_value: '1'
    - item_type: preproc_def
      name: Camellia_Ekeygen
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libgcrypt/cipher/camellia.h
      type_or_value: CAMELLIA_PREFIX(Camellia_Ekeygen)
    - item_type: preproc_def
      name: Camellia_EncryptBlock
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/cipher/camellia.h
      type_or_value: CAMELLIA_PREFIX(Camellia_EncryptBlock)
    - item_type: preproc_def
      name: Camellia_DecryptBlock
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libgcrypt/cipher/camellia.h
      type_or_value: CAMELLIA_PREFIX(Camellia_DecryptBlock)
    - item_type: preproc_def
      name: camellia_decrypt128
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libgcrypt/cipher/camellia.h
      type_or_value: CAMELLIA_PREFIX(camellia_decrypt128)
    - item_type: preproc_def
      name: camellia_decrypt256
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgcrypt/cipher/camellia.h
      type_or_value: CAMELLIA_PREFIX(camellia_decrypt256)
    - item_type: preproc_def
      name: camellia_encrypt128
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libgcrypt/cipher/camellia.h
      type_or_value: CAMELLIA_PREFIX(camellia_encrypt128)
    - item_type: preproc_def
      name: camellia_encrypt256
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgcrypt/cipher/camellia.h
      type_or_value: CAMELLIA_PREFIX(camellia_encrypt256)
    - item_type: preproc_def
      name: camellia_setup128
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libgcrypt/cipher/camellia.h
      type_or_value: CAMELLIA_PREFIX(camellia_setup128)
    - item_type: preproc_def
      name: camellia_setup192
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgcrypt/cipher/camellia.h
      type_or_value: CAMELLIA_PREFIX(camellia_setup192)
    - item_type: preproc_def
      name: camellia_setup256
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libgcrypt/cipher/camellia.h
      type_or_value: CAMELLIA_PREFIX(camellia_setup256)
    - item_type: preproc_def
      name: CAMELLIA_BLOCK_SIZE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libgcrypt/cipher/camellia.h
      type_or_value: '16'
    - item_type: preproc_def
      name: CAMELLIA_TABLE_BYTE_LEN
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libgcrypt/cipher/camellia.h
      type_or_value: '272'
    - item_type: preproc_def
      name: CAMELLIA_TABLE_WORD_LEN
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libgcrypt/cipher/camellia.h
      type_or_value: (CAMELLIA_TABLE_BYTE_LEN / 4)
    structs: []
    typedefs:
    - item_type: typedef
      name: KEY_TABLE_TYPE[CAMELLIA_TABLE_WORD_LEN]
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/libgcrypt/cipher/camellia.h
      type: unsigned int
    union: []
- function_names:
  - do_padlock
  - _gcry_aes_padlock_encrypt
  - _gcry_aes_padlock_decrypt
  - _gcry_aes_padlock_prepare_decryption
  source_file: /src/libgcrypt/cipher/rijndael-padlock.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - algo_to_curve
  - algo_to_seckey_len
  - ecc_mul_point
  - _gcry_ecc_raw_keypair
  - _gcry_ecc_raw_encap
  - _gcry_ecc_raw_decap
  - ecc_dhkem_kdf
  - _gcry_ecc_dhkem_encap
  - _gcry_ecc_dhkem_decap
  source_file: /src/libgcrypt/cipher/kem-ecc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ECC_PUBKEY_LEN_MAX
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/cipher/kem-ecc.c
      type_or_value: '133'
    - item_type: preproc_def
      name: ECC_SECKEY_LEN_MAX
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/cipher/kem-ecc.c
      type_or_value: '66'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ntt
  - invntt_tomont
  - power2round
  - decompose_88
  - decompose_32
  - make_hint_88
  - make_hint_32
  - use_hint_88
  - use_hint_32
  - DBENCH_START
  - DBENCH_STOP
  - poly_reduce
  - poly_caddq
  - poly_add
  - poly_sub
  - poly_shiftl
  - poly_ntt
  - poly_invntt_tomont
  - poly_pointwise_montgomery
  - poly_power2round
  - poly_decompose_88
  - poly_decompose_32
  - poly_make_hint_88
  - poly_make_hint_32
  - poly_use_hint_88
  - poly_use_hint_32
  - poly_chknorm
  - rej_uniform
  - poly_uniform
  - rej_eta_2
  - rej_eta_4
  - poly_uniform_eta_2
  - poly_uniform_eta_4
  - poly_uniform_gamma1_17
  - poly_uniform_gamma1_19
  - polyeta_pack_2
  - polyeta_pack_4
  - polyeta_unpack_2
  - polyeta_unpack_4
  - polyt1_pack
  - polyt1_unpack
  - polyt0_pack
  - polyt0_unpack
  - polyz_pack_17
  - polyz_pack_19
  - polyz_unpack_17
  - polyz_unpack_19
  - polyw1_pack_88
  - polyw1_pack_32
  - montgomery_reduce
  - reduce32
  - caddq
  - freeze
  source_file: /src/libgcrypt/cipher/dilithium-common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POLY_UNIFORM_NBLOCKS
      pos:
        line_end: 678
        line_start: 677
        source_file: /src/libgcrypt/cipher/dilithium-common.c
      type_or_value: ((768 + STREAM128_BLOCKBYTES - 1)/STREAM128_BLOCKBYTES)
    - item_type: preproc_def
      name: POLY_UNIFORM_ETA_NBLOCKS_2
      pos:
        line_end: 786
        line_start: 785
        source_file: /src/libgcrypt/cipher/dilithium-common.c
      type_or_value: ((136 + STREAM256_BLOCKBYTES - 1)/STREAM256_BLOCKBYTES)
    - item_type: preproc_def
      name: POLY_UNIFORM_ETA_NBLOCKS_4
      pos:
        line_end: 810
        line_start: 809
        source_file: /src/libgcrypt/cipher/dilithium-common.c
      type_or_value: ((227 + STREAM256_BLOCKBYTES - 1)/STREAM256_BLOCKBYTES)
    - item_type: preproc_def
      name: POLY_UNIFORM_GAMMA1_NBLOCKS_17
      pos:
        line_end: 846
        line_start: 845
        source_file: /src/libgcrypt/cipher/dilithium-common.c
      type_or_value: ((POLYZ_PACKEDBYTES_17 + STREAM256_BLOCKBYTES - 1)/STREAM256_BLOCKBYTES)
    - item_type: preproc_def
      name: POLY_UNIFORM_GAMMA1_NBLOCKS_19
      pos:
        line_end: 863
        line_start: 862
        source_file: /src/libgcrypt/cipher/dilithium-common.c
      type_or_value: ((POLYZ_PACKEDBYTES_19 + STREAM256_BLOCKBYTES - 1)/STREAM256_BLOCKBYTES)
    structs: []
    typedefs: []
    union: []
- function_names:
  - ROTATE16
  - ROTATE8
  - ROTATE
  - XOR
  - PLUS
  - WORD_ROL
  - QUARTERROUND_4
  - QUARTERROUND4_2
  - QUARTERROUND4
  - ADD_U64
  - vxor_v_u32m1_u32m1x8
  - vuint16m1_t::gen_rot16
  - gen_rot8
  - vuint16m2_t::gen_indexes
  - vuint32m1_t::unaligned_load_u32m1
  - unaligned_store_u32m1
  - vuint32m1x8_t::unaligned_vlsseg8e32_v_u32m1x8
  - unaligned_vssseg8e32_v_u32m1x8
  - chacha20_rvv_blocks
  - _gcry_chacha20_riscv_v_blocks
  - _gcry_chacha20_riscv_v_check_hw
  source_file: /src/libgcrypt/cipher/chacha20-riscv-v.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgcrypt/cipher/chacha20-riscv-v.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/cipher/chacha20-riscv-v.c
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/cipher/chacha20-riscv-v.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/cipher/chacha20-riscv-v.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/cipher/chacha20-riscv-v.c
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_NOINLINE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/chacha20-riscv-v.c
      type_or_value: ASM_FUNC_ATTR NO_INLINE
    - item_type: preproc_def
      name: FUNC_ATTR_OPT_O2
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/libgcrypt/cipher/chacha20-riscv-v.c
      type_or_value: __attribute__((optimize("-O2")))
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_burn
  - _gcry_cmac_write
  - _gcry_cmac_generate_subkeys
  - _gcry_cmac_final
  - cmac_tag
  - _gcry_cmac_reset
  - _gcry_cipher_cmac_authenticate
  - _gcry_cipher_cmac_get_tag
  - _gcry_cipher_cmac_check_tag
  - _gcry_cipher_cmac_set_subkeys
  source_file: /src/libgcrypt/cipher/cipher-cmac.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: _aligned
        type: size_t
      - name: buf[MAX_BLOCKSIZE]
        type: byte
      item_type: union
      name: u
      pos:
        line_end: 135
        line_start: 131
        source_file: /src/libgcrypt/cipher/cipher-cmac.c
- function_names:
  - _gcry_hash_selftest_check_one
  - _gcry_md_block_write
  source_file: /src/libgcrypt/cipher/hash-common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ELF
  - SYM_NAME
  - SYM_NAME
  - GET_DATA_POINTER
  - DECL_GET_PC_THUNK
  - GET_DATA_POINTER
  - CFI_STARTPROC
  - CFI_ENDPROC
  - CFI_REMEMBER_STATE
  - CFI_RESTORE_STATE
  - CFI_ADJUST_CFA_OFFSET
  - CFI_REL_OFFSET
  - CFI_DEF_CFA_REGISTER
  - CFI_REGISTER
  - CFI_RESTORE
  - CFI_PUSH
  - CFI_POP
  - CFI_POP_TMP_REG
  - CFI_LEAVE
  - DW_REGNO
  - DW_SLEB128_7BIT
  - DW_SLEB128_28BIT
  - CFI_CFA_ON_STACK
  source_file: /src/libgcrypt/cipher/asm-common-i386.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SECTION_RODATA
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/cipher/asm-common-i386.h
      type_or_value: .section .rdata
    - item_type: preproc_def
      name: SECTION_RODATA
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/cipher/asm-common-i386.h
      type_or_value: .section .rodata
    - item_type: preproc_def
      name: ENDBRANCH
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libgcrypt/cipher/asm-common-i386.h
      type_or_value: endbr32
    - item_type: preproc_def
      name: SPEC_STOP
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libgcrypt/cipher/asm-common-i386.h
      type_or_value: int3
    - item_type: preproc_def
      name: DW_REGNO_eax
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libgcrypt/cipher/asm-common-i386.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DW_REGNO_edx
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libgcrypt/cipher/asm-common-i386.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DW_REGNO_ecx
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libgcrypt/cipher/asm-common-i386.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DW_REGNO_ebx
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libgcrypt/cipher/asm-common-i386.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DW_REGNO_esi
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libgcrypt/cipher/asm-common-i386.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DW_REGNO_edi
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libgcrypt/cipher/asm-common-i386.h
      type_or_value: '5'
    - item_type: preproc_def
      name: DW_REGNO_ebp
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libgcrypt/cipher/asm-common-i386.h
      type_or_value: '6'
    - item_type: preproc_def
      name: DW_REGNO_esp
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libgcrypt/cipher/asm-common-i386.h
      type_or_value: '7'
    - item_type: preproc_def
      name: vpxord
      pos:
        line_end: 163
        line_start: 159
        source_file: /src/libgcrypt/cipher/asm-common-i386.h
      type_or_value: '%ymm7, %ymm7, %ymm7;'
    - item_type: preproc_def
      name: spec_stop_avx512_intel_syntax
      pos:
        line_end: 166
        line_start: 164
        source_file: /src/libgcrypt/cipher/asm-common-i386.h
      type_or_value: "vpxord ymm7, ymm7, ymm7; \\\n\tvpopcntb xmm7, xmm7; "
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_cipher_ofb_encrypt
  source_file: /src/libgcrypt/cipher/cipher-ofb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - randombytes
  - crypto_xof_shake256
  - crypto_declassify
  - crypto_int64::crypto_int64_negative_mask
  - crypto_int64::crypto_int64_nonzero_mask
  - crypto_int64::crypto_int64_zero_mask
  - crypto_int64::crypto_int64_positive_mask
  - crypto_int64::crypto_int64_unequal_mask
  - crypto_int64::crypto_int64_equal_mask
  - crypto_int64::crypto_int64_smaller_mask
  - crypto_int64::crypto_int64_min
  - crypto_int64::crypto_int64_max
  - crypto_int64_minmax
  - crypto_int16::crypto_int16_negative_mask
  - crypto_int16::crypto_int16_nonzero_mask
  - crypto_int16::crypto_int16_zero_mask
  - crypto_int16::crypto_int16_positive_mask
  - crypto_int16::crypto_int16_unequal_mask
  - crypto_int16::crypto_int16_equal_mask
  - crypto_int16::crypto_int16_smaller_mask
  - crypto_int16::crypto_int16_min
  - crypto_int16::crypto_int16_max
  - crypto_int16_minmax
  - crypto_int32::crypto_int32_negative_mask
  - crypto_int32::crypto_int32_nonzero_mask
  - crypto_int32::crypto_int32_zero_mask
  - crypto_int32::crypto_int32_positive_mask
  - crypto_int32::crypto_int32_unequal_mask
  - crypto_int32::crypto_int32_equal_mask
  - crypto_int32::crypto_int32_smaller_mask
  - crypto_int32::crypto_int32_min
  - crypto_int32::crypto_int32_max
  - crypto_int32_minmax
  - crypto_uint64_signed::crypto_uint64_signed_negative_mask
  - crypto_uint64::crypto_uint64_nonzero_mask
  - crypto_uint64::crypto_uint64_zero_mask
  - crypto_uint64::crypto_uint64_unequal_mask
  - crypto_uint64::crypto_uint64_equal_mask
  - crypto_uint64::crypto_uint64_smaller_mask
  - crypto_uint64::crypto_uint64_min
  - crypto_uint64::crypto_uint64_max
  - crypto_uint64_minmax
  - crypto_uint16_signed::crypto_uint16_signed_negative_mask
  - crypto_uint16::crypto_uint16_nonzero_mask
  - crypto_uint16::crypto_uint16_zero_mask
  - crypto_uint16::crypto_uint16_unequal_mask
  - crypto_uint16::crypto_uint16_equal_mask
  - crypto_uint16::crypto_uint16_smaller_mask
  - crypto_uint16::crypto_uint16_min
  - crypto_uint16::crypto_uint16_max
  - crypto_uint16_minmax
  - crypto_uint32_signed::crypto_uint32_signed_negative_mask
  - crypto_uint32::crypto_uint32_nonzero_mask
  - crypto_uint32::crypto_uint32_zero_mask
  - crypto_uint32::crypto_uint32_unequal_mask
  - crypto_uint32::crypto_uint32_equal_mask
  - crypto_uint32::crypto_uint32_smaller_mask
  - crypto_uint32::crypto_uint32_min
  - crypto_uint32::crypto_uint32_max
  - crypto_uint32_minmax
  - vec_setbits
  - vec_set1_16b
  - vec_copy
  - vec_or_reduce
  - vec_testz
  - gf_mul2
  - crypto_hash_32b
  - int32_MINMAX
  - int32_sort
  - transpose_64x64
  - uint16_MINMAX
  - uint16_sort
  - uint64_MINMAX
  - uint64_sort
  - store_i
  - store_gf
  - load_gf
  - load4
  - irr_load
  - store8
  - load8
  - layer_in
  - layer_ex
  - benes
  - mask_nonzero
  - mask_leq
  - vec_cmov
  - interleave
  - get_coefs
  - update
  - vec_reduce
  - bm
  - cbrecursion
  - layer
  - controlbitsfrompermutation
  - scaling
  - preprocess
  - postprocess
  - scaling_inv
  - weight_check
  - synd_cmp
  - decrypt
  - uint16_is_smaller_declassify
  - uint32_is_equal_declassify
  - gen_e
  - syndrome
  - pke_encrypt
  - radix_conversions
  - butterflies
  - fft
  - radix_conversions_tr
  - butterflies_tr
  - fft_tr
  - gf_mul
  - gf_sq2
  - gf_sqmul
  - gf_sq2mul
  - gf_frac
  - gf_inv
  - gf_iszero
  - GF_mul
  - operation_dec
  - operation_enc
  - operation_keypair
  - uint64_is_equal_declassify
  - uint64_is_zero_declassify
  - de_bitslicing
  - to_bitslicing_2x
  - ctz
  - same_mask
  - mov_columns
  - pk_gen_mat
  - pk_gen
  - gf_is_zero_declassify
  - genpoly_gen
  - vec_mul
  - vec_sq
  - vec_inv
  - crypto_kem_dec
  - crypto_kem_enc
  - crypto_kem_keypair
  - mceliece6688128f_dec
  - mceliece6688128f_enc
  - mceliece6688128f_keypair
  source_file: /src/libgcrypt/cipher/mceliece6688128f.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GFBITS
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: '13'
    - item_type: preproc_def
      name: SYS_N
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: '6688'
    - item_type: preproc_def
      name: SYS_T
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: '128'
    - item_type: preproc_def
      name: COND_BYTES
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: ((1 << (GFBITS-4))*(2*GFBITS - 1))
    - item_type: preproc_def
      name: IRR_BYTES
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: (SYS_T * 2)
    - item_type: preproc_def
      name: PK_NROWS
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: (SYS_T*GFBITS)
    - item_type: preproc_def
      name: PK_NCOLS
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: (SYS_N - PK_NROWS)
    - item_type: preproc_def
      name: PK_ROW_BYTES
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: ((PK_NCOLS + 7)/8)
    - item_type: preproc_def
      name: SYND_BYTES
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: ((PK_NROWS + 7)/8)
    - item_type: preproc_def
      name: GFMASK
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: ((1 << GFBITS) - 1)
    - item_type: preproc_def
      name: crypto_int64
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: int64_t
    - item_type: preproc_def
      name: crypto_int16
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: int16_t
    - item_type: preproc_def
      name: crypto_int32
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: int32_t
    - item_type: preproc_def
      name: crypto_uint64
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: uint64_t
    - item_type: preproc_def
      name: crypto_uint64_signed
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: int64_t
    - item_type: preproc_def
      name: crypto_uint16
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: uint16_t
    - item_type: preproc_def
      name: crypto_uint16_signed
      pos:
        line_end: 558
        line_start: 557
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: int16_t
    - item_type: preproc_def
      name: crypto_uint32
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: uint32_t
    - item_type: preproc_def
      name: crypto_uint32_signed
      pos:
        line_end: 643
        line_start: 642
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: int32_t
    - item_type: preproc_def
      name: shake
      pos:
        line_end: 979
        line_start: 978
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: crypto_xof_shake256
    - item_type: preproc_def
      name: int32_min
      pos:
        line_end: 1737
        line_start: 1736
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: crypto_int32_min
    - item_type: preproc_def
      name: A
      pos:
        line_end: 1747
        line_start: 1746
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: temp
    - item_type: preproc_def
      name: B
      pos:
        line_end: 1748
        line_start: 1747
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: (temp+n)
    - item_type: preproc_def
      name: q
      pos:
        line_end: 1749
        line_start: 1748
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: ((int16 *) (temp+n+n/4))
    - item_type: preproc_def
      name: nblocks_H
      pos:
        line_end: 3313
        line_start: 3312
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: ((SYS_N + 63) / 64)
    - item_type: preproc_def
      name: nblocks_I
      pos:
        line_end: 3314
        line_start: 3313
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type_or_value: ((PK_NROWS + 63) / 64)
    structs: []
    typedefs:
    - item_type: typedef
      name: vec
      pos:
        line_end: 728
        line_start: 728
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type: uint64_t
    - item_type: typedef
      name: gf
      pos:
        line_end: 932
        line_start: 932
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type: uint16_t
    - item_type: typedef
      name: int16
      pos:
        line_end: 1734
        line_start: 1734
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type: int16_t
    - item_type: typedef
      name: int32
      pos:
        line_end: 1735
        line_start: 1735
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
      type: int32_t
    union:
    - fields:
      - name: nums[ SYS_T*2 ]
        type: uint16_t
      - name: bytes[ SYS_T*2 * sizeof(uint16_t) ]
        type: unsigned char
      item_type: union
      name: buf
      pos:
        line_end: 2172
        line_start: 2168
        source_file: /src/libgcrypt/cipher/mceliece6688128f.c
- function_names: []
  source_file: /src/libgcrypt/cipher/kdf-internal.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/cipher/mceliece6688128f.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MCELIECE6688128F_KEYPAIR_STACK_BURN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/cipher/mceliece6688128f.h
      type_or_value: (360 * 1024)
    - item_type: preproc_def
      name: MCELIECE6688128F_ENC_STACK_BURN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/cipher/mceliece6688128f.h
      type_or_value: (9 * 1024)
    - item_type: preproc_def
      name: MCELIECE6688128F_DEC_STACK_BURN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/cipher/mceliece6688128f.h
      type_or_value: (80 * 1024)
    - item_type: preproc_def
      name: mceliece6688128f_keypair
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/mceliece6688128f.h
      type_or_value: _gcry_mceliece6688128f_keypair
    - item_type: preproc_def
      name: mceliece6688128f_enc
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/mceliece6688128f.h
      type_or_value: _gcry_mceliece6688128f_enc
    - item_type: preproc_def
      name: mceliece6688128f_dec
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/cipher/mceliece6688128f.h
      type_or_value: _gcry_mceliece6688128f_dec
    - item_type: preproc_def
      name: GCC_ATTR_UNUSED
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/mceliece6688128f.h
      type_or_value: __attribute__ ((unused))
    - item_type: preproc_def
      name: MCELIECE6688128F_SECRETKEY_SIZE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/mceliece6688128f.h
      type_or_value: '13932'
    - item_type: preproc_def
      name: MCELIECE6688128F_PUBLICKEY_SIZE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/cipher/mceliece6688128f.h
      type_or_value: '1044992'
    - item_type: preproc_def
      name: MCELIECE6688128F_CIPHERTEXT_SIZE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgcrypt/cipher/mceliece6688128f.h
      type_or_value: '208'
    - item_type: preproc_def
      name: MCELIECE6688128F_SIZE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgcrypt/cipher/mceliece6688128f.h
      type_or_value: '32'
    structs: []
    typedefs:
    - item_type: typedef
      name: "mceliece6688128f_random_func (void *ctx,\n\t\t\t\t\t   size_t length,\n\t\t\t\t\t
        \  uint8_t *dst)"
      pos:
        line_end: 55
        line_start: 53
        source_file: /src/libgcrypt/cipher/mceliece6688128f.h
      type: void
    union: []
- function_names: []
  source_file: /src/libgcrypt/cipher/camellia-aarch64-ce.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUNC_ATTR_OPT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libgcrypt/cipher/camellia-aarch64-ce.c
      type_or_value: __attribute__((optimize("-O2")))
    - item_type: preproc_def
      name: SIMD128_OPT_ATTR
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/cipher/camellia-aarch64-ce.c
      type_or_value: FUNC_ATTR_OPT
    - item_type: preproc_def
      name: FUNC_ENC_BLK16
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/cipher/camellia-aarch64-ce.c
      type_or_value: _gcry_camellia_aarch64ce_encrypt_blk16
    - item_type: preproc_def
      name: FUNC_DEC_BLK16
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/camellia-aarch64-ce.c
      type_or_value: _gcry_camellia_aarch64ce_decrypt_blk16
    - item_type: preproc_def
      name: FUNC_KEY_SETUP
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/camellia-aarch64-ce.c
      type_or_value: _gcry_camellia_aarch64ce_keygen
    structs: []
    typedefs: []
    union: []
- function_names:
  - wrap
  - _gcry_cipher_keywrap_encrypt
  - _gcry_cipher_keywrap_encrypt_padding
  - unwrap
  - _gcry_cipher_keywrap_decrypt_auto
  source_file: /src/libgcrypt/cipher/cipher-aeswrap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - shaext_prepare
  - shaext_cleanup
  - shaext_prepare
  - shaext_cleanup
  - ROUND
  source_file: /src/libgcrypt/cipher/sha1-intel-shaext.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/cipher/sha1-intel-shaext.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/sha1-intel-shaext.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: shaext_prepare_variable
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/sha1-intel-shaext.c
      type_or_value: char win64tmp[2*16]
    - item_type: preproc_def
      name: shaext_prepare_variable_size
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/sha1-intel-shaext.c
      type_or_value: sizeof(win64tmp)
    - item_type: preproc_def
      name: shaext_prepare_variable_size
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libgcrypt/cipher/sha1-intel-shaext.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_aes_p10le_gcm_crypt
  source_file: /src/libgcrypt/cipher/rijndael-p10le.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - OCB_INPUT
  - OCB_INPUT
  - OCB_INPUT
  source_file: /src/libgcrypt/cipher/sm4-avx2-amd64.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rotl16
  - rotr16
  - do_encrypt
  - encrypt_block
  - do_decrypt
  - decrypt_block
  - setkey_core
  - do_setkey
  - selftest
  source_file: /src/libgcrypt/cipher/rfc2268.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RFC2268_BLOCKSIZE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/cipher/rfc2268.c
      type_or_value: '8'
    structs:
    - fields:
      - name: S[64]
        type: u16
      item_type: struct
      name: RFC2268_context
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/libgcrypt/cipher/rfc2268.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/cipher/gost.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: key[8]
        type: u32
      - name: '*sbox'
        type: u32
      - name: mesh_counter
        type: unsigned int
      - name: mesh_limit
        type: unsigned int
      item_type: struct
      name: GOST28147_context
      pos:
        line_end: 27
        line_start: 22
        source_file: /src/libgcrypt/cipher/gost.h
    typedefs: []
    union: []
- function_names:
  - KECCAK_F1600_PERMUTE_FUNC_NAME
  source_file: /src/libgcrypt/cipher/keccak_permute_32.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - encrypt_stream
  - do_encrypt_stream
  - encrypt_stream
  - do_arcfour_setkey
  - arcfour_setkey
  - selftest
  source_file: /src/libgcrypt/cipher/arcfour.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_AMD64_ASM
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/cipher/arcfour.c
      type_or_value: '1'
    structs:
    - fields:
      - name: sbox[256]
        type: u32
      - name: idx_i
        type: u32
      item_type: struct
      name: ARCFOUR_context
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/libgcrypt/cipher/arcfour.c
    - fields:
      - name: sbox[256]
        type: byte
      - name: idx_i
        type: int
      item_type: struct
      name: ARCFOUR_context
      pos:
        line_end: 65
        line_start: 62
        source_file: /src/libgcrypt/cipher/arcfour.c
    typedefs: []
    union: []
- function_names:
  - do_sm3_transform_amd64_avx_bmi2
  - do_sm3_transform_intel_avx2
  - do_sm3_transform_aarch64
  - do_sm3_transform_armv8_ce
  - sm3_init
  - R
  - R1
  - R2
  - FF1
  - FF2
  - GG1
  - GG2
  - P0
  - P1
  - I
  - W1
  - W2
  - transform_blk
  - transform
  - sm3_final
  - X
  - sm3_read
  - _gcry_sm3_hash_buffers
  - selftests_sm3
  - run_selftests
  source_file: /src/libgcrypt/cipher/sm3.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_AVX_BMI2
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgcrypt/cipher/sm3.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_INTEL_SM3
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libgcrypt/cipher/sm3.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AARCH64_SIMD
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libgcrypt/cipher/sm3.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_CE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libgcrypt/cipher/sm3.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ASM_FUNC_ABI
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libgcrypt/cipher/sm3.c
      type_or_value: __attribute__((sysv_abi))
    - item_type: preproc_def
      name: ASM_EXTRA_STACK
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libgcrypt/cipher/sm3.c
      type_or_value: (10 * 16 + 4 * sizeof(void *))
    - item_type: preproc_def
      name: ASM_EXTRA_STACK
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libgcrypt/cipher/sm3.c
      type_or_value: '0'
    structs:
    - fields:
      - name: bctx
        type: gcry_md_block_ctx_t
      - name: h[8]
        type: u32
      item_type: struct
      name: SM3_CONTEXT
      pos:
        line_end: 93
        line_start: 90
        source_file: /src/libgcrypt/cipher/sm3.c
    typedefs: []
    union: []
- function_names:
  - openpgp_s2k
  - _gcry_kdf_pkdf2
  - _gcry_kdf_derive
  - xor_block
  - beswap64_block
  - argon2_fill_first_blocks
  - argon2_init
  - fBlaMka
  - rotr64
  - G
  - BLAKE2_ROUND_NOMSG
  - fill_block
  - pseudo_random_generate
  - index_alpha
  - argon2_compute_segment
  - argon2_compute
  - argon2_final
  - argon2_close
  - argon2_open
  - prng_aes_ctr_init
  - prng_aes_ctr_get_rand64
  - prng_aes_ctr_fini
  - ballon_context_size
  - balloon_open
  - balloon_xor_block
  - balloon_compress
  - balloon_expand
  - balloon_compute_fill
  - balloon_compute_mix
  - balloon_compute
  - balloon_compute_all
  - balloon_final
  - balloon_close
  - onestep_kdf_open
  - onestep_kdf_compute
  - onestep_kdf_final
  - onestep_kdf_close
  - onestep_kdf_mac_open
  - onestep_kdf_mac_compute
  - onestep_kdf_mac_final
  - onestep_kdf_mac_close
  - hkdf_open
  - hkdf_compute
  - hkdf_final
  - hkdf_close
  - x963_kdf_open
  - x963_kdf_compute
  - x963_kdf_final
  - x963_kdf_close
  - _gcry_kdf_open
  - _gcry_kdf_compute
  - _gcry_kdf_final
  - _gcry_kdf_close
  - check_one
  - selftest_pbkdf2
  - _gcry_kdf_selftest
  source_file: /src/libgcrypt/cipher/kdf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ARGON2_VERSION
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/libgcrypt/cipher/kdf.c
      type_or_value: '0x13'
    - item_type: preproc_def
      name: ARGON2_WORDS_IN_BLOCK
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/libgcrypt/cipher/kdf.c
      type_or_value: (1024/8)
    - item_type: preproc_def
      name: ARGON2_PARALLELISM_MAX
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/libgcrypt/cipher/kdf.c
      type_or_value: '(16777216-1) '
    - item_type: preproc_def
      name: BALLOON_BLOCK_LEN_MAX
      pos:
        line_end: 970
        line_start: 969
        source_file: /src/libgcrypt/cipher/kdf.c
      type_or_value: '64'
    - item_type: preproc_def
      name: BALLOON_TIMECOST_MAX
      pos:
        line_end: 1059
        line_start: 1058
        source_file: /src/libgcrypt/cipher/kdf.c
      type_or_value: (16777216-1)
    - item_type: preproc_def
      name: BALLOON_PARALLELISM_MAX
      pos:
        line_end: 1060
        line_start: 1059
        source_file: /src/libgcrypt/cipher/kdf.c
      type_or_value: (16777216-1)
    - item_type: preproc_def
      name: BALLOON_COMPRESS_BLOCKS
      pos:
        line_end: 1195
        line_start: 1194
        source_file: /src/libgcrypt/cipher/kdf.c
      type_or_value: '5'
    structs:
    - fields:
      - name: a
        type: argon2_ctx_t
      - name: pass
        type: unsigned int
      - name: slice
        type: unsigned int
      - name: lane
        type: unsigned int
      item_type: struct
      name: argon2_thread_data
      pos:
        line_end: 345
        line_start: 340
        source_file: /src/libgcrypt/cipher/kdf.c
    - fields:
      - name: algo
        type: int
      - name: hash_type
        type: int
      - name: outlen
        type: unsigned int
      - name: '*password'
        type: unsigned char
      - name: passwordlen
        type: size_t
      - name: '*salt'
        type: unsigned char
      - name: saltlen
        type: size_t
      - name: '*key'
        type: unsigned char
      - name: keylen
        type: size_t
      - name: '*ad'
        type: unsigned char
      - name: adlen
        type: size_t
      - name: m_cost
        type: unsigned int
      - name: passes
        type: unsigned int
      - name: memory_blocks
        type: unsigned int
      - name: segment_length
        type: unsigned int
      - name: lane_length
        type: unsigned int
      - name: lanes
        type: unsigned int
      - name: '*block'
        type: u64
      - name: '*thread_data'
        type: struct argon2_thread_data
      - name: out[1]
        type: unsigned char
      item_type: struct
      name: argon2_context
      pos:
        line_end: 378
        line_start: 348
        source_file: /src/libgcrypt/cipher/kdf.c
    - fields:
      - name: b
        type: balloon_ctx_t
      - name: ec
        type: gpg_err_code_t
      - name: idx
        type: unsigned int
      - name: '*block'
        type: unsigned char
      item_type: struct
      name: balloon_thread_data
      pos:
        line_end: 940
        line_start: 935
        source_file: /src/libgcrypt/cipher/kdf.c
    - fields:
      - name: algo
        type: int
      - name: prng_type
        type: int
      - name: blklen
        type: unsigned int
      - name: '*md_spec'
        type: gcry_md_spec_t
      - name: '*password'
        type: unsigned char
      - name: passwordlen
        type: size_t
      - name: '*salt'
        type: unsigned char
      - name: s_cost
        type: unsigned int
      - name: t_cost
        type: unsigned int
      - name: parallelism
        type: unsigned int
      - name: n_blocks
        type: u64
      - name: '*block'
        type: unsigned char
      - name: thread_data[1]
        type: struct balloon_thread_data
      item_type: struct
      name: balloon_context
      pos:
        line_end: 966
        line_start: 943
        source_file: /src/libgcrypt/cipher/kdf.c
    - fields:
      - name: algo
        type: int
      - name: md
        type: gcry_md_hd_t
      - name: blklen
        type: unsigned int
      - name: outlen
        type: unsigned int
      - name: '*input'
        type: void
      - name: inputlen
        type: size_t
      - name: '*fixedinfo'
        type: void
      - name: fixedinfolen
        type: size_t
      item_type: struct
      name: onestep_kdf_context
      pos:
        line_end: 1456
        line_start: 1447
        source_file: /src/libgcrypt/cipher/kdf.c
    - fields:
      - name: algo
        type: int
      - name: md
        type: gcry_mac_hd_t
      - name: blklen
        type: unsigned int
      - name: outlen
        type: unsigned int
      - name: '*input'
        type: void
      - name: inputlen
        type: size_t
      - name: '*salt'
        type: void
      - name: saltlen
        type: size_t
      - name: '*fixedinfo'
        type: void
      - name: fixedinfolen
        type: size_t
      item_type: struct
      name: onestep_kdf_mac_context
      pos:
        line_end: 1574
        line_start: 1563
        source_file: /src/libgcrypt/cipher/kdf.c
    - fields:
      - name: algo
        type: int
      - name: md
        type: gcry_mac_hd_t
      - name: mode
        type: int
      - name: blklen
        type: unsigned int
      - name: outlen
        type: unsigned int
      - name: '*input'
        type: void
      - name: inputlen
        type: size_t
      - name: '*salt'
        type: void
      - name: saltlen
        type: size_t
      - name: '*fixedinfo'
        type: void
      - name: fixedinfolen
        type: size_t
      - name: '*prk'
        type: unsigned char
      item_type: struct
      name: hkdf_context
      pos:
        line_end: 1719
        line_start: 1706
        source_file: /src/libgcrypt/cipher/kdf.c
    - fields:
      - name: algo
        type: int
      - name: md
        type: gcry_md_hd_t
      - name: blklen
        type: unsigned int
      - name: outlen
        type: unsigned int
      - name: '*input'
        type: void
      - name: inputlen
        type: size_t
      - name: '*sharedinfo'
        type: void
      - name: sharedinfolen
        type: size_t
      item_type: struct
      name: x963_kdf_context
      pos:
        line_end: 1916
        line_start: 1907
        source_file: /src/libgcrypt/cipher/kdf.c
    - fields:
      - name: algo
        type: int
      item_type: struct
      name: gcry_kdf_handle
      pos:
        line_end: 2025
        line_start: 2022
        source_file: /src/libgcrypt/cipher/kdf.c
    - fields:
      - name: '*desc'
        type: char
      - name: '*p'
        type: char
      - name: plen
        type: size_t
      - name: '*salt'
        type: char
      - name: saltlen
        type: size_t
      - name: hashalgo
        type: int
      - name: c
        type: unsigned long
      - name: dklen
        type: int
      - name: '*dk'
        type: char
      - name: disabled
        type: int
      item_type: struct
      name: "tv[] = {\n#if USE_SHA1\n#define NUM_TEST_VECTORS 9\n    /* SHA1 test
        vectors are from RFC-6070.  */\n    {\n      \"Basic PBKDF2 SHA1 #1\",\n      \"password\",
        8,\n      \"salt\", 4,\n      GCRY_MD_SHA1,\n      1,\n      20,\n      \"\\x0c\\x60\\xc8\\x0f\\x96\\x1f\\x0e\\x71\\xf3\\xa9\"\n
        \     \"\\xb5\\x24\\xaf\\x60\\x12\\x06\\x2f\\xe0\\x37\\xa6\"\n    },\n    {\n
        \     \"Basic PBKDF2 SHA1 #2\",\n      \"password\", 8,\n      \"salt\", 4,\n
        \     GCRY_MD_SHA1,\n      2,\n      20,\n      \"\\xea\\x6c\\x01\\x4d\\xc7\\x2d\\x6f\\x8c\\xcd\\x1e\"\n
        \     \"\\xd9\\x2a\\xce\\x1d\\x41\\xf0\\xd8\\xde\\x89\\x57\"\n    },\n    {\n
        \     \"Basic PBKDF2 SHA1 #3\",\n      \"password\", 8,\n      \"salt\", 4,\n
        \     GCRY_MD_SHA1,\n      4096,\n      20,\n      \"\\x4b\\x00\\x79\\x01\\xb7\\x65\\x48\\x9a\\xbe\\xad\"\n
        \     \"\\x49\\xd9\\x26\\xf7\\x21\\xd0\\x65\\xa4\\x29\\xc1\"\n    },\n    {\n
        \     \"Basic PBKDF2 SHA1 #4\",\n      \"password\", 8,\n      \"salt\", 4,\n
        \     GCRY_MD_SHA1,\n      16777216,\n      20,\n      \"\\xee\\xfe\\x3d\\x61\\xcd\\x4d\\xa4\\xe4\\xe9\\x94\"\n
        \     \"\\x5b\\x3d\\x6b\\xa2\\x15\\x8c\\x26\\x34\\xe9\\x84\",\n      1 /*
        This test takes too long.  */\n    },\n    {\n      \"Basic PBKDF2 SHA1 #5\",\n
        \     \"passwordPASSWORDpassword\", 24,\n      \"saltSALTsaltSALTsaltSALTsaltSALTsalt\",
        36,\n      GCRY_MD_SHA1,\n      4096,\n      25,\n      \"\\x3d\\x2e\\xec\\x4f\\xe4\\x1c\\x84\\x9b\\x80\\xc8\"\n
        \     \"\\xd8\\x36\\x62\\xc0\\xe4\\x4a\\x8b\\x29\\x1a\\x96\"\n      \"\\x4c\\xf2\\xf0\\x70\\x38\"\n
        \   },\n    {\n      \"Basic PBKDF2 SHA1 #6\",\n      \"pass\\0word\", 9,\n
        \     \"sa\\0lt\", 5,\n      GCRY_MD_SHA1,\n      4096,\n      16,\n      \"\\x56\\xfa\\x6a\\xa7\\x55\\x48\\x09\\x9d\\xcc\\x37\"\n
        \     \"\\xd7\\xf0\\x34\\x25\\xe0\\xc3\"\n    },\n    { /* empty password
        test, not in RFC-6070 */\n      \"Basic PBKDF2 SHA1 #7\",\n      \"\", 0,\n
        \     \"salt\", 4,\n      GCRY_MD_SHA1,\n      2,\n      20,\n      \"\\x13\\x3a\\x4c\\xe8\\x37\\xb4\\xd2\\x52\\x1e\\xe2\"\n
        \     \"\\xbf\\x03\\xe1\\x1c\\x71\\xca\\x79\\x4e\\x07\\x97\"\n    },\n#else\n#define
        NUM_TEST_VECTORS 2\n#endif\n    {\n      \"Basic PBKDF2 SHA256\",\n      \"password\",
        8,\n      \"salt\", 4,\n      GCRY_MD_SHA256,\n      2,\n      32,\n      \"\\xae\\x4d\\x0c\\x95\\xaf\\x6b\\x46\\xd3\\x2d\\x0a\\xdf\\xf9\\x28\\xf0\\x6d\\xd0\"\n
        \     \"\\x2a\\x30\\x3f\\x8e\\xf3\\xc2\\x51\\xdf\\xd6\\xe2\\xd8\\x5a\\x95\\x47\\x4c\\x43\"\n
        \   },\n    {\n      \"Extended PBKDF2 SHA256\",\n      \"passwordPASSWORDpassword\",
        24,\n      \"saltSALTsaltSALTsaltSALTsaltSALTsalt\", 36,\n      GCRY_MD_SHA256,\n
        \     4096,\n      40,\n      \"\\x34\\x8c\\x89\\xdb\\xcb\\xd3\\x2b\\x2f\\x32\\xd8\\x14\\xb8\\x11\\x6e\\x84\\xcf\"\n
        \     \"\\x2b\\x17\\x34\\x7e\\xbc\\x18\\x00\\x18\\x1c\\x4e\\x2a\\x1f\\xb8\\xdd\\x53\\xe1\"\n
        \     \"\\xc6\\x35\\x51\\x8c\\x7d\\xac\\x47\\xe9\"\n    },\n    { NULL }\n
        \ }"
      pos:
        line_end: 2286
        line_start: 2275
        source_file: /src/libgcrypt/cipher/kdf.c
    typedefs:
    - item_type: typedef
      name: '*argon2_ctx_t'
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/libgcrypt/cipher/kdf.c
      type: argon2_context
    - item_type: typedef
      name: '*balloon_ctx_t'
      pos:
        line_end: 932
        line_start: 932
        source_file: /src/libgcrypt/cipher/kdf.c
      type: balloon_context
    - item_type: typedef
      name: '*onestep_kdf_ctx_t'
      pos:
        line_end: 1444
        line_start: 1444
        source_file: /src/libgcrypt/cipher/kdf.c
      type: onestep_kdf_context
    - item_type: typedef
      name: '*onestep_kdf_mac_ctx_t'
      pos:
        line_end: 1560
        line_start: 1560
        source_file: /src/libgcrypt/cipher/kdf.c
      type: onestep_kdf_mac_context
    - item_type: typedef
      name: '*hkdf_ctx_t'
      pos:
        line_end: 1703
        line_start: 1703
        source_file: /src/libgcrypt/cipher/kdf.c
      type: hkdf_context
    - item_type: typedef
      name: '*x963_kdf_ctx_t'
      pos:
        line_end: 1904
        line_start: 1904
        source_file: /src/libgcrypt/cipher/kdf.c
      type: x963_kdf_context
    union: []
- function_names: []
  source_file: /src/libgcrypt/cipher/dilithium.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SEEDBYTES
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: '32'
    - item_type: preproc_def
      name: RNDBYTES
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: '32'
    - item_type: preproc_def
      name: dilithium_keypair
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: _gcry_mldsa_keypair
    - item_type: preproc_def
      name: dilithium_sign
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: _gcry_mldsa_sign
    - item_type: preproc_def
      name: dilithium_verify
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: _gcry_mldsa_verify
    - item_type: preproc_def
      name: DILITHIUM_KEYPAIR_STACK_BURN
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: (128 * 1024)
    - item_type: preproc_def
      name: DILITHIUM_SIGN_STACK_BURN
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: (161 * 1024)
    - item_type: preproc_def
      name: DILITHIUM_VERIFY_STACK_BURN
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: (122 * 1024)
    - item_type: preproc_def
      name: CRYPTO_PUBLICKEYBYTES
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: (SEEDBYTES + 4*320)
    - item_type: preproc_def
      name: CRYPTO_SECRETKEYBYTES
      pos:
        line_end: 117
        line_start: 112
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: "(2*SEEDBYTES \\\n                                + 64 \\\n                                +
        4*96 \\\n                                + 4*96 \\\n                                +
        4*416)"
    - item_type: preproc_def
      name: CRYPTO_BYTES
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: (32 + 4*576 + 80 + 4)
    - item_type: preproc_def
      name: CRYPTO_PUBLICKEYBYTES
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: (SEEDBYTES + 6*320)
    - item_type: preproc_def
      name: CRYPTO_SECRETKEYBYTES
      pos:
        line_end: 125
        line_start: 120
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: "(2*SEEDBYTES \\\n                                + 64 \\\n                                +
        5*128 \\\n                                + 6*128 \\\n                                +
        6*416)"
    - item_type: preproc_def
      name: CRYPTO_BYTES
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: (48 + 5*640 + 55 + 6)
    - item_type: preproc_def
      name: CRYPTO_PUBLICKEYBYTES
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: (SEEDBYTES + 8*320)
    - item_type: preproc_def
      name: CRYPTO_SECRETKEYBYTES
      pos:
        line_end: 133
        line_start: 128
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: "(2*SEEDBYTES \\\n                                + 64 \\\n                                +
        7*96 \\\n                                + 8*96 \\\n                                +
        8*416)"
    - item_type: preproc_def
      name: CRYPTO_BYTES
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: (64 + 7*640 + 75 + 8)
    - item_type: preproc_def
      name: CRYPTO_PUBLICKEYBYTES_2
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: (SEEDBYTES + 4*320)
    - item_type: preproc_def
      name: CRYPTO_SECRETKEYBYTES_2
      pos:
        line_end: 174
        line_start: 169
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: "(2*SEEDBYTES \\\n                                  + 64 \\\n
        \                                 + 4*96 \\\n                                  +
        4*96 \\\n                                  + 4*416)"
    - item_type: preproc_def
      name: CRYPTO_BYTES_2
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: (32 + 4*576 + 80 + 4)
    - item_type: preproc_def
      name: CRYPTO_PUBLICKEYBYTES_3
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: (SEEDBYTES + 6*320)
    - item_type: preproc_def
      name: CRYPTO_SECRETKEYBYTES_3
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: "(2*SEEDBYTES \\\n                                  + 64 \\\n
        \                                 + 5*128 \\\n                                  +
        6*128 \\\n                                  + 6*416)"
    - item_type: preproc_def
      name: CRYPTO_BYTES_3
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: (48 + 5*640 + 55 + 6)
    - item_type: preproc_def
      name: CRYPTO_PUBLICKEYBYTES_5
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: (SEEDBYTES + 8*320)
    - item_type: preproc_def
      name: CRYPTO_SECRETKEYBYTES_5
      pos:
        line_end: 190
        line_start: 185
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: "(2*SEEDBYTES \\\n                                  + 64 \\\n
        \                                 + 7*96 \\\n                                  +
        8*96 \\\n                                  + 8*416)"
    - item_type: preproc_def
      name: CRYPTO_BYTES_5
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/libgcrypt/cipher/dilithium.h
      type_or_value: (64 + 7*640 + 75 + 8)
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_primegen_init
  - save_pool_prime
  - get_pool_prime
  - _gcry_register_primegen_progress
  - progress
  - _gcry_generate_secret_prime
  - _gcry_generate_public_prime
  - prime_generate_internal
  - _gcry_generate_elg_prime
  - gen_prime
  - check_prime
  - is_prime
  - m_out_of_n
  - _gcry_prime_generate
  - _gcry_prime_check
  - _gcry_fips186_4_prime_check
  - _gcry_prime_group_generator
  - _gcry_prime_release_factors
  - find_x931_prime
  - _gcry_derive_x931_prime
  - _gcry_generate_fips186_2_prime
  - _gcry_generate_fips186_3_prime
  source_file: /src/libgcrypt/cipher/primegen.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct primepool_s
      - name: prime
        type: gcry_mpi_t
      - name: nbits
        type: unsigned int
      - name: randomlevel
        type: gcry_random_level_t
      item_type: struct
      name: primepool_s
      pos:
        line_end: 139
        line_start: 133
        source_file: /src/libgcrypt/cipher/primegen.c
    typedefs: []
    union: []
- function_names:
  - do_sha512_transform_armv8_ce
  - do_sha512_transform_armv7_neon
  - do_sha512_transform_amd64_ssse3
  - do_sha512_transform_amd64_avx
  - do_sha512_transform_amd64_avx2
  - do_sha512_transform_amd64_avx512
  - do_sha512_transform_intel_shaext
  - do_sha512_transform_i386_ssse3
  - do_transform_generic
  - do_sha512_transform_ppc8
  - do_sha512_transform_ppc9
  - do_sha512_transform_riscv_zvknhb
  - do_sha512_transform_s390x
  - do_sha512_final_s390x
  - sha512_init_common
  - sha512_init
  - sha384_init
  - sha512_256_init
  - sha512_224_init
  - ROTR
  - Ch
  - Maj
  - Sum0
  - Sum1
  - do_transform_generic
  - S0
  - S1
  - sha512_final
  - X
  - sha512_read
  - _gcry_sha512_hash_buffers
  - _gcry_sha384_hash_buffers
  - _gcry_sha512_256_hash_buffers
  - _gcry_sha512_224_hash_buffers
  - selftests_sha384
  - selftests_sha512
  - selftests_sha512_224
  - selftests_sha512_256
  - run_selftests
  source_file: /src/libgcrypt/cipher/sha512.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ATTR_ALIGNED_64
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgcrypt/cipher/sha512.c
      type_or_value: __attribute__ ((aligned (64)))
    - item_type: preproc_def
      name: USE_ARM_NEON_ASM
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/libgcrypt/cipher/sha512.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_ASM
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libgcrypt/cipher/sha512.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM64_SHA512
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libgcrypt/cipher/sha512.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SSSE3
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libgcrypt/cipher/sha512.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AVX
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/libgcrypt/cipher/sha512.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AVX2
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libgcrypt/cipher/sha512.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AVX512
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/libgcrypt/cipher/sha512.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SHA512_INTEL
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/libgcrypt/cipher/sha512.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SSSE3_I386
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/libgcrypt/cipher/sha512.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_PPC_CRYPTO
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/libgcrypt/cipher/sha512.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_RISCV_V_CRYPTO
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/libgcrypt/cipher/sha512.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_S390X_CRYPTO
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/libgcrypt/cipher/sha512.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ASM_FUNC_ABI
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/libgcrypt/cipher/sha512.c
      type_or_value: __attribute__((sysv_abi))
    - item_type: preproc_def
      name: ASM_EXTRA_STACK
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/libgcrypt/cipher/sha512.c
      type_or_value: (10 * 16 + 4 * sizeof(void *))
    - item_type: preproc_def
      name: ASM_EXTRA_STACK
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/libgcrypt/cipher/sha512.c
      type_or_value: '0'
    structs:
    - fields:
      - name: h[8]
        type: u64
      item_type: struct
      name: SHA512_STATE
      pos:
        line_end: 185
        line_start: 182
        source_file: /src/libgcrypt/cipher/sha512.c
    - fields:
      - name: bctx
        type: gcry_md_block_ctx_t
      - name: state
        type: SHA512_STATE
      item_type: struct
      name: SHA512_CONTEXT
      pos:
        line_end: 195
        line_start: 187
        source_file: /src/libgcrypt/cipher/sha512.c
    typedefs: []
    union: []
- function_names:
  - set_burn
  - do_cbc_mac
  - _gcry_cipher_ccm_set_nonce
  - _gcry_cipher_ccm_set_lengths
  - _gcry_cipher_ccm_authenticate
  - _gcry_cipher_ccm_tag
  - _gcry_cipher_ccm_get_tag
  - _gcry_cipher_ccm_check_tag
  - _gcry_cipher_ccm_encrypt
  - _gcry_cipher_ccm_decrypt
  source_file: /src/libgcrypt/cipher/cipher-ccm.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DECL_QUERY_FUNC
  - DECL_EXECUTE_FUNC
  - kma_query
  - kma_execute
  - _gcry_aes_s390x_encrypt
  - _gcry_aes_s390x_decrypt
  - aes_s390x_cbc_enc
  - aes_s390x_cbc_dec
  - aes_s390x_cfb128_enc
  - aes_s390x_cfb128_dec
  - CFB_MOVE_BLOCKS
  - CFB_XOR_BLOCKS
  - aes_s390x_ofb_enc
  - aes_s390x_ctr128_enc
  - aes_s390x_gcm_crypt
  - aes_s390x_xts_crypt
  - aes_s390x_ocb_prepare_Ls
  - aes_s390x_ocb_get_l
  - aes_s390x_ocb_checksum
  - aes_s390x_ocb_enc
  - OCB_INPUT
  - OCB_INPUT_4
  - OCB_INPUT_16
  - OCB_OUTPUT
  - OCB_OUTPUT_4
  - OCB_OUTPUT_16
  - aes_s390x_ocb_dec
  - OCB_INPUT
  - OCB_INPUT_4
  - OCB_INPUT_16
  - OCB_OUTPUT
  - OCB_OUTPUT_4
  - OCB_OUTPUT_16
  - aes_s390x_ocb_crypt
  - aes_s390x_ocb_auth
  - OCB_INPUT
  - OCB_INPUT_4
  - OCB_INPUT_16
  - _gcry_aes_s390x_setup_acceleration
  - _gcry_aes_s390x_setkey
  - _gcry_aes_s390x_prepare_decryption
  source_file: /src/libgcrypt/cipher/rijndael-s390x.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libgcrypt/cipher/rijndael-s390x.c
      type_or_value: __attribute__((noinline))
    structs:
    - fields:
      - name: reserved[3]
        type: u32
      - name: counter_value
        type: u32
      - name: tag[2]
        type: u64
      - name: hash_subkey[2]
        type: u64
      - name: total_aad_length
        type: u64
      - name: total_cipher_length
        type: u64
      - name: initial_counter_value[4]
        type: u32
      - name: key[4]
        type: u64
      item_type: struct
      name: aes_s390x_gcm_params_s
      pos:
        line_end: 41
        line_start: 31
        source_file: /src/libgcrypt/cipher/rijndael-s390x.c
    typedefs: []
    union: []
- function_names:
  - cast_m128i_to_s8
  - cast_m128i_to_u32
  - cast_m128i_to_u64
  - cast_m128i_to_s64
  - cast_s8_to_m128i
  - cast_u32_to_m128i
  - cast_u64_to_m128i
  - cast_s64_to_m128i
  - pand128
  - pandn128
  - pxor128
  - paddb128
  - paddd128
  - paddq128
  - psrld128
  - psraq128
  - psrldq128
  - pslldq128
  - psrl_byte_128
  - pshufb128
  - pshufd128
  - pshufd128_0x93
  - pshufd128_0xFF
  - pshufd128_0xFE
  - pshufd128_0x4E
  - palignr128
  - movdqa128
  - movdqa128_memld
  - pand128_amemld
  - pxor128_amemld
  - paddq128_amemld
  - paddd128_amemld
  - pshufb128_amemld
  - movdqu128_memld
  - movdqu128_memst
  - PSHUFD256_MASK_TO_PSHUFB256_MASK
  - check_simd256_support
  - cast_m256i_to_s8
  - cast_m256i_to_u32
  - cast_m256i_to_u64
  - cast_m256i_to_s64
  - cast_s8_to_m256i
  - cast_u32_to_m256i
  - cast_u64_to_m256i
  - cast_s64_to_m256i
  - pand256
  - pandn256
  - pxor256
  - paddb256
  - paddd256
  - paddq256
  - psrld256
  - psraq256
  - psrl_byte_256
  - pshufb256_tab32
  - pshufb256_tab16
  - load_tab32_mask
  - broadcast128_256
  - load_tab16_table
  - pshufd256
  - pshufd256_0x93
  - insert256_hi128
  - extract256_hi128
  - movdqa256
  - movdqa128_256
  - movdqa256_128
  - movdqa256_memld
  - pand256_amemld
  - pxor256_amemld
  - paddq256_amemld
  - paddd256_amemld
  - pshufb256_amemld
  - broadcast128_256_amemld
  - movdqu256_memld
  - movdqu256_memst
  - _gcry_aes_vp_riscv_setup_acceleration
  source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_SIMD256
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FUNC_ATTR_OPT
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type_or_value: __attribute__((optimize("-O2")))
    - item_type: preproc_def
      name: SIMD128_OPT_ATTR
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type_or_value: FUNC_ATTR_OPT
    - item_type: preproc_def
      name: FUNC_ENCRYPT
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type_or_value: _gcry_aes_vp_riscv_encrypt
    - item_type: preproc_def
      name: FUNC_DECRYPT
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type_or_value: _gcry_aes_vp_riscv_decrypt
    - item_type: preproc_def
      name: FUNC_CFB_ENC
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type_or_value: _gcry_aes_vp_riscv_cfb_enc
    - item_type: preproc_def
      name: FUNC_CFB_DEC
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type_or_value: _gcry_aes_vp_riscv_cfb_dec
    - item_type: preproc_def
      name: FUNC_CBC_ENC
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type_or_value: _gcry_aes_vp_riscv_cbc_enc
    - item_type: preproc_def
      name: FUNC_CBC_DEC
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type_or_value: _gcry_aes_vp_riscv_cbc_dec
    - item_type: preproc_def
      name: FUNC_CTR_ENC
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type_or_value: _gcry_aes_vp_riscv_ctr_enc
    - item_type: preproc_def
      name: FUNC_CTR32LE_ENC
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type_or_value: _gcry_aes_vp_riscv_ctr32le_enc
    - item_type: preproc_def
      name: FUNC_OCB_CRYPT
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type_or_value: _gcry_aes_vp_riscv_ocb_crypt
    - item_type: preproc_def
      name: FUNC_OCB_AUTH
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type_or_value: _gcry_aes_vp_riscv_ocb_auth
    - item_type: preproc_def
      name: FUNC_ECB_CRYPT
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type_or_value: _gcry_aes_vp_riscv_ecb_crypt
    - item_type: preproc_def
      name: FUNC_XTS_CRYPT
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type_or_value: _gcry_aes_vp_riscv_xts_crypt
    - item_type: preproc_def
      name: FUNC_SETKEY
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type_or_value: _gcry_aes_vp_riscv_do_setkey
    - item_type: preproc_def
      name: FUNC_PREPARE_DEC
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type_or_value: _gcry_aes_vp_riscv_prepare_decryption
    structs: []
    typedefs:
    - item_type: typedef
      name: __m128i
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type: vuint8m1_t
    - item_type: typedef
      name: __m256i
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/libgcrypt/cipher/rijndael-vp-riscv.c
      type: vuint8m1_t
    union: []
- function_names:
  - shaext_prepare
  - shaext_cleanup
  - shaext_prepare
  - shaext_cleanup
  - ROUND
  source_file: /src/libgcrypt/cipher/sha256-intel-shaext.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/cipher/sha256-intel-shaext.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/sha256-intel-shaext.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: shaext_prepare_variable
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/sha256-intel-shaext.c
      type_or_value: char win64tmp[2*16]
    - item_type: preproc_def
      name: shaext_prepare_variable_size
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/sha256-intel-shaext.c
      type_or_value: sizeof(win64tmp)
    - item_type: preproc_def
      name: shaext_prepare_variable_size
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libgcrypt/cipher/sha256-intel-shaext.c
      type_or_value: '0'
    structs:
    - fields:
      - name: a
        type: u32
      item_type: struct
      name: u128_s
      pos:
        line_end: 95
        line_start: 92
        source_file: /src/libgcrypt/cipher/sha256-intel-shaext.c
    typedefs: []
    union: []
- function_names:
  - test_keys
  - test_keys_fips
  - check_exponent
  - generate_std
  - rsa_check_keysize
  - rsa_check_verify_keysize
  - generate_fips
  - gen_x931_parm_xp
  - gen_x931_parm_xi
  - generate_x931
  - check_secret_key
  - public
  - check_secret_key
  - secret_core_std
  - secret_core_crt
  - secret
  - secret_blinded
  - rsa_generate
  - rsa_check_secret_key
  - rsa_encrypt
  - rsa_decrypt
  - rsa_sign
  - rsa_verify
  - rsa_get_nbits
  - compute_keygrip
  - selftest_hash_sign_2048
  - selftest_sign_2048
  - extract_a_from_sexp
  - selftest_encr_2048
  - selftests_rsa
  - run_selftests
  source_file: /src/libgcrypt/cipher/rsa.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: n
        type: gcry_mpi_t
      - name: e
        type: gcry_mpi_t
      item_type: struct
      name: RSA_public_key
      pos:
        line_end: 42
        line_start: 38
        source_file: /src/libgcrypt/cipher/rsa.c
    - fields:
      - name: n
        type: gcry_mpi_t
      - name: e
        type: gcry_mpi_t
      - name: d
        type: gcry_mpi_t
      - name: p
        type: gcry_mpi_t
      - name: q
        type: gcry_mpi_t
      - name: u
        type: gcry_mpi_t
      item_type: struct
      name: RSA_secret_key
      pos:
        line_end: 53
        line_start: 45
        source_file: /src/libgcrypt/cipher/rsa.c
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: gcry_mpi_t
      item_type: struct
      name: "tbl[] = {\n        { \"e\" },\n        { \"p\" },\n        { \"q\" },\n
        \       { NULL }\n      }"
      pos:
        line_end: 476
        line_start: 476
        source_file: /src/libgcrypt/cipher/rsa.c
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: gcry_mpi_t
      item_type: struct
      name: "tbl[] = {\n          { \"Xp1\" },\n          { \"Xp2\" },\n          {
        \"Xp\"  },\n          { \"Xq1\" },\n          { \"Xq2\" },\n          { \"Xq\"
        \ },\n          { NULL }\n        }"
      pos:
        line_end: 829
        line_start: 829
        source_file: /src/libgcrypt/cipher/rsa.c
    typedefs: []
    union: []
- function_names:
  - memory_barrier_with_vec
  - clear_vec_regs
  source_file: /src/libgcrypt/cipher/simd-common-riscv.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RVV_UNALIGNED_NOT_ALLOWED
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/cipher/simd-common-riscv.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - int32_MINMAX
  - crypto_sort_int32
  - crypto_sort_uint32
  - uint32_divmod_uint14
  - uint32_mod_uint14
  - Decode
  - Encode
  - int16_t_nonzero_mask
  - int16_t_negative_mask
  - F3_freeze
  - Fq_freeze
  - Fq_recip
  - Weightw_mask
  - R3_fromRq
  - R3_mult
  - R3_recip
  - Rq_mult_small
  - Rq_mult3
  - Rq_recip3
  - Round
  - Short_fromlist
  - Hash_prefix
  - Short_random
  - Small_random
  - KeyGen
  - Encrypt
  - Decrypt
  - Small_encode
  - Small_decode
  - Rq_encode
  - Rq_decode
  - Rounded_encode
  - Rounded_decode
  - ZKeyGen
  - ZEncrypt
  - ZDecrypt
  - HashConfirm
  - HashSession
  - sntrup761_keypair
  - Hide
  - sntrup761_enc
  - Ciphertexts_diff_mask
  - sntrup761_dec
  source_file: /src/libgcrypt/cipher/sntrup761.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: p
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/libgcrypt/cipher/sntrup761.c
      type_or_value: '761'
    - item_type: preproc_def
      name: q
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/libgcrypt/cipher/sntrup761.c
      type_or_value: '4591'
    - item_type: preproc_def
      name: Rounded_bytes
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/libgcrypt/cipher/sntrup761.c
      type_or_value: '1007'
    - item_type: preproc_def
      name: Rq_bytes
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/libgcrypt/cipher/sntrup761.c
      type_or_value: '1158'
    - item_type: preproc_def
      name: w
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/libgcrypt/cipher/sntrup761.c
      type_or_value: '286'
    - item_type: preproc_def
      name: q12
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/libgcrypt/cipher/sntrup761.c
      type_or_value: ((q-1)/2)
    - item_type: preproc_def
      name: Hash_bytes
      pos:
        line_end: 686
        line_start: 685
        source_file: /src/libgcrypt/cipher/sntrup761.c
      type_or_value: '32'
    - item_type: preproc_def
      name: Small_bytes
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/libgcrypt/cipher/sntrup761.c
      type_or_value: ((p+3)/4)
    - item_type: preproc_def
      name: Inputs_random
      pos:
        line_end: 887
        line_start: 886
        source_file: /src/libgcrypt/cipher/sntrup761.c
      type_or_value: Short_random
    - item_type: preproc_def
      name: Inputs_encode
      pos:
        line_end: 888
        line_start: 887
        source_file: /src/libgcrypt/cipher/sntrup761.c
      type_or_value: Small_encode
    - item_type: preproc_def
      name: Inputs_bytes
      pos:
        line_end: 889
        line_start: 888
        source_file: /src/libgcrypt/cipher/sntrup761.c
      type_or_value: Small_bytes
    - item_type: preproc_def
      name: Ciphertexts_bytes
      pos:
        line_end: 891
        line_start: 890
        source_file: /src/libgcrypt/cipher/sntrup761.c
      type_or_value: Rounded_bytes
    - item_type: preproc_def
      name: SecretKeys_bytes
      pos:
        line_end: 892
        line_start: 891
        source_file: /src/libgcrypt/cipher/sntrup761.c
      type_or_value: (2*Small_bytes)
    - item_type: preproc_def
      name: PublicKeys_bytes
      pos:
        line_end: 893
        line_start: 892
        source_file: /src/libgcrypt/cipher/sntrup761.c
      type_or_value: Rq_bytes
    - item_type: preproc_def
      name: Confirm_bytes
      pos:
        line_end: 937
        line_start: 936
        source_file: /src/libgcrypt/cipher/sntrup761.c
      type_or_value: '32'
    structs: []
    typedefs:
    - item_type: typedef
      name: small
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/libgcrypt/cipher/sntrup761.c
      type: int8_t
    - item_type: typedef
      name: Fq
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/libgcrypt/cipher/sntrup761.c
      type: int16_t
    - item_type: typedef
      name: Inputs[p]
      pos:
        line_end: 885
        line_start: 885
        source_file: /src/libgcrypt/cipher/sntrup761.c
      type: small
    union: []
- function_names:
  - reduction
  - gfmul_pclmul
  - GFMUL_AGGR4_ASM_1
  - GFMUL_AGGR4_ASM_2
  - be_to_le
  - gfmul_pclmul_aggr4
  - gfmul_pclmul_aggr4_le
  - GFMUL_AGGR8_ASM
  - gfmul_pclmul_aggr8_le
  - GFMUL_AGGR16_ASM_VPCMUL_AVX2
  - gfmul_vpclmul_avx2_aggr16_le
  - gfmul_pclmul_avx2
  - load_h1h2_to_ymm1
  - ghash_setup_aggr8_avx2
  - ghash_setup_aggr16_avx2
  - GFMUL_AGGR32_ASM_VPCMUL_AVX512
  - gfmul_vpclmul_avx512_aggr32_le
  - gfmul_pclmul_avx512
  - load_h1h4_to_zmm1
  - ghash_setup_aggr8_avx512
  - ghash_setup_aggr16_avx512
  - ghash_setup_aggr32_avx512
  - ASM_FUNC_ATTR::_gcry_ghash_setup_intel_pclmul
  - ghash_setup_aggr8
  source_file: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: GCM_INTEL_USE_VPCLMUL_AVX2
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: GCM_INTEL_AGGR8_TABLE_INITIALIZED
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: GCM_INTEL_AGGR16_TABLE_INITIALIZED
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: GCM_INTEL_USE_VPCLMUL_AVX512
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: GCM_INTEL_AGGR32_TABLE_INITIALIZED
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgcrypt/cipher/cipher-gcm-intel-pclmul.c
      type_or_value: (1 << 4)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/cipher/hash-common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD_BLOCK_MAX_BLOCKSIZE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/hash-common.h
      type_or_value: '128'
    - item_type: preproc_def
      name: MD_NBLOCKS_TYPE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/cipher/hash-common.h
      type_or_value: u64
    - item_type: preproc_def
      name: MD_BLOCK_MAX_BLOCKSIZE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgcrypt/cipher/hash-common.h
      type_or_value: '64'
    - item_type: preproc_def
      name: MD_NBLOCKS_TYPE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/cipher/hash-common.h
      type_or_value: u32
    - item_type: preproc_def
      name: MD_BLOCK_CTX_BUFFER_SIZE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/hash-common.h
      type_or_value: '128'
    structs:
    - fields:
      - name: buf[MD_BLOCK_CTX_BUFFER_SIZE]
        type: byte
      - name: nblocks
        type: MD_NBLOCKS_TYPE
      - name: nblocks_high
        type: MD_NBLOCKS_TYPE
      - name: count
        type: int
      - name: blocksize_shift
        type: unsigned int
      - name: bwrite
        type: _gcry_md_block_write_t
      item_type: struct
      name: gcry_md_block_ctx
      pos:
        line_end: 55
        line_start: 47
        source_file: /src/libgcrypt/cipher/hash-common.h
    typedefs:
    - item_type: typedef
      name: "(*_gcry_md_block_write_t) (void *c,\n\t\t\t\t\t\tconst unsigned char
        *blks,\n\t\t\t\t\t\tsize_t nblks)"
      pos:
        line_end: 33
        line_start: 31
        source_file: /src/libgcrypt/cipher/hash-common.h
      type: unsigned int
    union: []
- function_names:
  - pss_verify_cmp
  - _gcry_pk_util_parse_flaglist
  - get_hash_algo
  - _gcry_pk_util_get_nbits
  - _gcry_pk_util_get_rsa_use_e
  - _gcry_pk_util_preparse_sigval
  - _gcry_pk_util_preparse_encval
  - _gcry_pk_util_init_encoding_ctx
  - _gcry_pk_util_free_encoding_ctx
  - _gcry_pk_util_data_to_mpi
  source_file: /src/libgcrypt/cipher/pubkey-util.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: algo
        type: int
      item_type: struct
      name: "hashnames[] = {\n    { \"sha1\",   GCRY_MD_SHA1 },\n    { \"md5\",    GCRY_MD_MD5
        },\n    { \"sha256\", GCRY_MD_SHA256 },\n    { \"ripemd160\", GCRY_MD_RMD160
        },\n    { \"rmd160\", GCRY_MD_RMD160 },\n    { \"sha384\", GCRY_MD_SHA384
        },\n    { \"sha512\", GCRY_MD_SHA512 },\n    { \"sha224\", GCRY_MD_SHA224
        },\n    { \"md2\",    GCRY_MD_MD2 },\n    { \"md4\",    GCRY_MD_MD4 },\n    {
        \"tiger\",  GCRY_MD_TIGER },\n    { \"haval\",  GCRY_MD_HAVAL },\n    { \"sha3-224\",
        GCRY_MD_SHA3_224 },\n    { \"sha3-256\", GCRY_MD_SHA3_256 },\n    { \"sha3-384\",
        GCRY_MD_SHA3_384 },\n    { \"sha3-512\", GCRY_MD_SHA3_512 },\n    { \"sm3\",
        GCRY_MD_SM3 },\n    { \"shake128\", GCRY_MD_SHAKE128 },\n    { \"shake256\",
        GCRY_MD_SHAKE256 },\n    { \"sha512-224\", GCRY_MD_SHA512_224 },\n    { \"sha512-256\",
        GCRY_MD_SHA512_256 },\n    { NULL, 0 }\n  }"
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/libgcrypt/cipher/pubkey-util.c
    typedefs: []
    union: []
- function_names:
  - main
  - collect_rusage_stats
  source_file: /src/libgcrypt/cipher/test-getrusage.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rmd160_init
  - transform_blk
  - F0
  - F1
  - F2
  - F3
  - F4
  - R
  - transform
  - rmd160_final
  - X
  - rmd160_read
  - _gcry_rmd160_hash_buffers
  source_file: /src/libgcrypt/cipher/rmd160.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: K0
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/libgcrypt/cipher/rmd160.c
      type_or_value: '0x00000000'
    - item_type: preproc_def
      name: K1
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/libgcrypt/cipher/rmd160.c
      type_or_value: '0x5A827999'
    - item_type: preproc_def
      name: K2
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/libgcrypt/cipher/rmd160.c
      type_or_value: '0x6ED9EBA1'
    - item_type: preproc_def
      name: K3
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/libgcrypt/cipher/rmd160.c
      type_or_value: '0x8F1BBCDC'
    - item_type: preproc_def
      name: K4
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/libgcrypt/cipher/rmd160.c
      type_or_value: '0xA953FD4E'
    - item_type: preproc_def
      name: KK0
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/libgcrypt/cipher/rmd160.c
      type_or_value: '0x50A28BE6'
    - item_type: preproc_def
      name: KK1
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/libgcrypt/cipher/rmd160.c
      type_or_value: '0x5C4DD124'
    - item_type: preproc_def
      name: KK2
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/libgcrypt/cipher/rmd160.c
      type_or_value: '0x6D703EF3'
    - item_type: preproc_def
      name: KK3
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/libgcrypt/cipher/rmd160.c
      type_or_value: '0x7A6D76E9'
    - item_type: preproc_def
      name: KK4
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/libgcrypt/cipher/rmd160.c
      type_or_value: '0x00000000'
    structs:
    - fields:
      - name: bctx
        type: gcry_md_block_ctx_t
      - name: h0
        type: u32
      item_type: struct
      name: RMD160_CONTEXT
      pos:
        line_end: 146
        line_start: 142
        source_file: /src/libgcrypt/cipher/rmd160.c
    typedefs: []
    union: []
- function_names:
  - vector2x_u64::asm_vpmsumd
  - vector2x_u64::asm_swap_u64
  - vector4x_u32::vec_sld_u32
  - CRC_VEC_SWAP
  - CRC_VEC_U64_DEF
  - CRC_VEC_U64_LOAD
  - CRC_VEC_U64_LOAD_LE
  - CRC_VEC_U64_LOAD_BE
  - CRC_VEC_SWAP_TO_LE
  - CRC_VEC_SWAP_TO_BE
  - vector2x_u64::asm_vec_u64_load
  - CRC_VEC_U64_DEF
  - CRC_VEC_U64_LOAD
  - CRC_VEC_U64_LOAD_LE
  - CRC_VEC_U64_LOAD_BE
  - CRC_VEC_SWAP_TO_LE
  - CRC_VEC_SWAP_TO_BE
  - vector2x_u64::asm_vec_u64_load_le
  - vector2x_u64::asm_vec_u64_load_be
  - crc32r_ppc8_ce_bulk
  - crc32r_ppc8_ce_reduction_4
  - crc32r_less_than_16
  - crc32_ppc8_ce_bulk
  - crc32_ppc8_ce_reduction_4
  - crc32_less_than_16
  - ASM_FUNC_ATTR::_gcry_crc32_ppc8_vpmsum
  - ASM_FUNC_ATTR::_gcry_crc24rfc2440_ppc8_vpmsum
  source_file: /src/libgcrypt/cipher/crc-ppc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/cipher/crc-ppc.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/crc-ppc.c
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/cipher/crc-ppc.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/crc-ppc.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/crc-ppc.c
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_NOINLINE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/crc-ppc.c
      type_or_value: ASM_FUNC_ATTR NO_INLINE
    - item_type: preproc_def
      name: ALIGNED_64
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgcrypt/cipher/crc-ppc.c
      type_or_value: __attribute__ ((aligned (64)))
    - item_type: preproc_def
      name: VEC_U64_LO
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/libgcrypt/cipher/crc-ppc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: VEC_U64_HI
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/libgcrypt/cipher/crc-ppc.c
      type_or_value: '0'
    - item_type: preproc_def
      name: VEC_U64_LO
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/libgcrypt/cipher/crc-ppc.c
      type_or_value: '0'
    - item_type: preproc_def
      name: VEC_U64_HI
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/libgcrypt/cipher/crc-ppc.c
      type_or_value: '1'
    structs:
    - fields:
      - name: k[6]
        type: unsigned long long
      - name: my_p[2]
        type: unsigned long long
      item_type: struct
      name: crc32_consts_s
      pos:
        line_end: 65
        line_start: 59
        source_file: /src/libgcrypt/cipher/crc-ppc.c
    typedefs:
    - item_type: typedef
      name: vector16x_u8
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/libgcrypt/cipher/crc-ppc.c
      type: vector unsigned
    - item_type: typedef
      name: vector4x_u32
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/libgcrypt/cipher/crc-ppc.c
      type: vector unsigned
    - item_type: typedef
      name: vector2x_u64
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/libgcrypt/cipher/crc-ppc.c
      type: vector unsigned long long
    union: []
- function_names:
  - _gcry_aes_vaes_ecb_crypt
  - _gcry_aes_vaes_cbc_dec
  - _gcry_aes_vaes_cfb_dec
  - _gcry_aes_vaes_ctr_enc
  - _gcry_aes_vaes_ctr32le_enc
  - _gcry_aes_vaes_ocb_crypt
  - _gcry_aes_vaes_ocb_auth
  - _gcry_aes_vaes_xts_crypt
  source_file: /src/libgcrypt/cipher/rijndael-vaes-i386.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ghash_setup_armv8_ce_pmull
  - ghash_armv8_ce_pmull
  - polyval_armv8_ce_pmull
  - ghash_setup_armv7_neon
  - ghash_armv7_neon
  - ghash_s390x_kimd
  - ghash_setup_ppc_vpmsum
  - ghash_ppc_vpmsum
  - prefetch_table
  - do_prefetch_tables
  - bshift
  - do_fillM
  - do_ghash
  - bshift
  - do_fillM
  - do_ghash
  - fillM
  - GHASH
  - prefetch_tables
  - bshift
  - do_ghash
  - fillM
  - GHASH
  - prefetch_tables
  - ghash_internal
  - setupM
  - if
  - if
  - if
  - if
  - if
  - if
  - gcm_bytecounter_add
  - gcm_add32_be128
  - gcm_check_datalen
  - gcm_check_aadlen_or_ivlen
  - do_ghash_buf
  - gcm_ctr_encrypt
  - gcm_crypt_inner
  - _gcry_cipher_gcm_encrypt
  - _gcry_cipher_gcm_decrypt
  - _gcry_cipher_gcm_authenticate
  - _gcry_cipher_gcm_setupM
  - _gcry_cipher_gcm_setkey
  - _gcry_cipher_gcm_initiv
  - _gcry_cipher_gcm_setiv
  - _gcry_cipher_gcm_setiv_zero
  - _gcry_cipher_gcm_geniv
  - is_tag_length_valid
  - _gcry_cipher_gcm_tag
  - _gcry_cipher_gcm_get_tag
  - _gcry_cipher_gcm_check_tag
  source_file: /src/libgcrypt/cipher/cipher-gcm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ATTR_ALIGNED_64
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/cipher-gcm.c
      type_or_value: __attribute__ ((aligned (64)))
    - item_type: preproc_def
      name: gcmR
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/libgcrypt/cipher/cipher-gcm.c
      type_or_value: gcm_table.R
    structs:
    - fields:
      - name: counter_head
        type: u32
      - name: cacheline_align[64 / 4 - 1]
        type: u32
      - name: R[256]
        type: u16
      - name: counter_tail
        type: u32
      item_type: struct
      name: "ATTR_ALIGNED_64 =\n  {\n    0,\n    { 0, },\n    {\n      0x0000, 0x01c2,
        0x0384, 0x0246, 0x0708, 0x06ca, 0x048c, 0x054e,\n      0x0e10, 0x0fd2, 0x0d94,
        0x0c56, 0x0918, 0x08da, 0x0a9c, 0x0b5e,\n      0x1c20, 0x1de2, 0x1fa4, 0x1e66,
        0x1b28, 0x1aea, 0x18ac, 0x196e,\n      0x1230, 0x13f2, 0x11b4, 0x1076, 0x1538,
        0x14fa, 0x16bc, 0x177e,\n      0x3840, 0x3982, 0x3bc4, 0x3a06, 0x3f48, 0x3e8a,
        0x3ccc, 0x3d0e,\n      0x3650, 0x3792, 0x35d4, 0x3416, 0x3158, 0x309a, 0x32dc,
        0x331e,\n      0x2460, 0x25a2, 0x27e4, 0x2626, 0x2368, 0x22aa, 0x20ec, 0x212e,\n
        \     0x2a70, 0x2bb2, 0x29f4, 0x2836, 0x2d78, 0x2cba, 0x2efc, 0x2f3e,\n      0x7080,
        0x7142, 0x7304, 0x72c6, 0x7788, 0x764a, 0x740c, 0x75ce,\n      0x7e90, 0x7f52,
        0x7d14, 0x7cd6, 0x7998, 0x785a, 0x7a1c, 0x7bde,\n      0x6ca0, 0x6d62, 0x6f24,
        0x6ee6, 0x6ba8, 0x6a6a, 0x682c, 0x69ee,\n      0x62b0, 0x6372, 0x6134, 0x60f6,
        0x65b8, 0x647a, 0x663c, 0x67fe,\n      0x48c0, 0x4902, 0x4b44, 0x4a86, 0x4fc8,
        0x4e0a, 0x4c4c, 0x4d8e,\n      0x46d0, 0x4712, 0x4554, 0x4496, 0x41d8, 0x401a,
        0x425c, 0x439e,\n      0x54e0, 0x5522, 0x5764, 0x56a6, 0x53e8, 0x522a, 0x506c,
        0x51ae,\n      0x5af0, 0x5b32, 0x5974, 0x58b6, 0x5df8, 0x5c3a, 0x5e7c, 0x5fbe,\n
        \     0xe100, 0xe0c2, 0xe284, 0xe346, 0xe608, 0xe7ca, 0xe58c, 0xe44e,\n      0xef10,
        0xeed2, 0xec94, 0xed56, 0xe818, 0xe9da, 0xeb9c, 0xea5e,\n      0xfd20, 0xfce2,
        0xfea4, 0xff66, 0xfa28, 0xfbea, 0xf9ac, 0xf86e,\n      0xf330, 0xf2f2, 0xf0b4,
        0xf176, 0xf438, 0xf5fa, 0xf7bc, 0xf67e,\n      0xd940, 0xd882, 0xdac4, 0xdb06,
        0xde48, 0xdf8a, 0xddcc, 0xdc0e,\n      0xd750, 0xd692, 0xd4d4, 0xd516, 0xd058,
        0xd19a, 0xd3dc, 0xd21e,\n      0xc560, 0xc4a2, 0xc6e4, 0xc726, 0xc268, 0xc3aa,
        0xc1ec, 0xc02e,\n      0xcb70, 0xcab2, 0xc8f4, 0xc936, 0xcc78, 0xcdba, 0xcffc,
        0xce3e,\n      0x9180, 0x9042, 0x9204, 0x93c6, 0x9688, 0x974a, 0x950c, 0x94ce,\n
        \     0x9f90, 0x9e52, 0x9c14, 0x9dd6, 0x9898, 0x995a, 0x9b1c, 0x9ade,\n      0x8da0,
        0x8c62, 0x8e24, 0x8fe6, 0x8aa8, 0x8b6a, 0x892c, 0x88ee,\n      0x83b0, 0x8272,
        0x8034, 0x81f6, 0x84b8, 0x857a, 0x873c, 0x86fe,\n      0xa9c0, 0xa802, 0xaa44,
        0xab86, 0xaec8, 0xaf0a, 0xad4c, 0xac8e,\n      0xa7d0, 0xa612, 0xa454, 0xa596,
        0xa0d8, 0xa11a, 0xa35c, 0xa29e,\n      0xb5e0, 0xb422, 0xb664, 0xb7a6, 0xb2e8,
        0xb32a, 0xb16c, 0xb0ae,\n      0xbbf0, 0xba32, 0xb874, 0xb9b6, 0xbcf8, 0xbd3a,
        0xbf7c, 0xbebe,\n    },\n    0\n  }"
      pos:
        line_end: 182
        line_start: 176
        source_file: /src/libgcrypt/cipher/cipher-gcm.c
    typedefs: []
    union: []
- function_names:
  - cast_u8m1_u32m1
  - cast_u32m1_u8m1
  - vuint32m1_t::unaligned_load_u32m1
  - vuint32m1_t::bswap128_u32m1
  - _gcry_ghash_setup_riscv_zvkg
  - _gcry_ghash_riscv_zvkg
  - _gcry_polyval_riscv_zvkg
  source_file: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_NOINLINE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/cipher-gcm-riscv-zvkg.c
      type_or_value: ASM_FUNC_ATTR NO_INLINE
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/cipher/kem-ecc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/cipher/mac-internal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CTX_MAC_MAGIC_NORMAL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/cipher/mac-internal.h
      type_or_value: '0x59d9b8af'
    - item_type: preproc_def
      name: CTX_MAC_MAGIC_SECURE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/mac-internal.h
      type_or_value: '0x12c27cd0'
    structs:
    - fields:
      - name: open
        type: gcry_mac_open_func_t
      - name: close
        type: gcry_mac_close_func_t
      - name: setkey
        type: gcry_mac_setkey_func_t
      - name: setiv
        type: gcry_mac_setiv_func_t
      - name: reset
        type: gcry_mac_reset_func_t
      - name: write
        type: gcry_mac_write_func_t
      - name: read
        type: gcry_mac_read_func_t
      - name: verify
        type: gcry_mac_verify_func_t
      - name: get_maclen
        type: gcry_mac_get_maclen_func_t
      - name: get_keylen
        type: gcry_mac_get_keylen_func_t
      - name: set_extra_info
        type: gcry_mac_set_extra_info_t
      - name: selftest
        type: selftest_func_t
      item_type: struct
      name: gcry_mac_spec_ops
      pos:
        line_end: 85
        line_start: 71
        source_file: /src/libgcrypt/cipher/mac-internal.h
    - fields:
      - name: algo
        type: int
      - name: flags
        type: "struct {\n    unsigned int disabled:1;\n    unsigned int fips:1;\n
          \ }"
      - name: '*name'
        type: char
      - name: '*ops'
        type: gcry_mac_spec_ops_t
      item_type: struct
      name: gcry_mac_spec
      pos:
        line_end: 98
        line_start: 89
        source_file: /src/libgcrypt/cipher/mac-internal.h
    - fields:
      - name: magic
        type: int
      - name: algo
        type: int
      - name: '*spec'
        type: gcry_mac_spec_t
      - name: gcry_ctx
        type: gcry_ctx_t
      - name: u
        type: "union {\n    struct {\n      gcry_md_hd_t md_ctx;\n      int md_algo;\n
          \   } hmac;\n    struct {\n      gcry_cipher_hd_t ctx;\n      int cipher_algo;\n
          \     unsigned int blklen;\n    } cmac;\n    struct {\n      gcry_cipher_hd_t
          ctx;\n      int cipher_algo;\n    } gmac;\n    struct {\n      struct poly1305mac_context_s
          *ctx;\n    } poly1305mac;\n    struct {\n      GOST28147_context ctx;\n
          \     u32 n1, n2;\n      unsigned int unused;\n      unsigned int count;\n
          \     unsigned char lastiv[8]; /* IMIT blocksize */\n    } imit;\n  }"
      item_type: struct
      name: gcry_mac_handle
      pos:
        line_end: 132
        line_start: 101
        source_file: /src/libgcrypt/cipher/mac-internal.h
    typedefs:
    - item_type: typedef
      name: (*gcry_mac_open_func_t)(gcry_mac_hd_t h)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/libgcrypt/cipher/mac-internal.h
      type: gcry_err_code_t
    - item_type: typedef
      name: (*gcry_mac_close_func_t)(gcry_mac_hd_t h)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/libgcrypt/cipher/mac-internal.h
      type: void
    - item_type: typedef
      name: "(*gcry_mac_setkey_func_t)(gcry_mac_hd_t h,\n\t\t\t\t\t\t  const unsigned
        char *key,\n\t\t\t\t\t\t  size_t keylen)"
      pos:
        line_end: 50
        line_start: 48
        source_file: /src/libgcrypt/cipher/mac-internal.h
      type: gcry_err_code_t
    - item_type: typedef
      name: "(*gcry_mac_setiv_func_t)(gcry_mac_hd_t h,\n\t\t\t\t\t\t const unsigned
        char *iv,\n\t\t\t\t\t\t size_t ivlen)"
      pos:
        line_end: 53
        line_start: 51
        source_file: /src/libgcrypt/cipher/mac-internal.h
      type: gcry_err_code_t
    - item_type: typedef
      name: (*gcry_mac_reset_func_t)(gcry_mac_hd_t h)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/libgcrypt/cipher/mac-internal.h
      type: gcry_err_code_t
    - item_type: typedef
      name: "(*gcry_mac_write_func_t)(gcry_mac_hd_t h,\n\t\t\t\t\t\t const unsigned
        char *inbuf,\n\t\t\t\t\t\t size_t inlen)"
      pos:
        line_end: 57
        line_start: 55
        source_file: /src/libgcrypt/cipher/mac-internal.h
      type: gcry_err_code_t
    - item_type: typedef
      name: "(*gcry_mac_read_func_t)(gcry_mac_hd_t h,\n\t\t\t\t\t\tunsigned char *outbuf,\n\t\t\t\t\t\tsize_t
        *outlen)"
      pos:
        line_end: 60
        line_start: 58
        source_file: /src/libgcrypt/cipher/mac-internal.h
      type: gcry_err_code_t
    - item_type: typedef
      name: "(*gcry_mac_verify_func_t)(gcry_mac_hd_t h,\n\t\t\t\t\t\t  const unsigned
        char *inbuf,\n\t\t\t\t\t\t  size_t inlen)"
      pos:
        line_end: 63
        line_start: 61
        source_file: /src/libgcrypt/cipher/mac-internal.h
      type: gcry_err_code_t
    - item_type: typedef
      name: (*gcry_mac_get_maclen_func_t)(int algo)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/libgcrypt/cipher/mac-internal.h
      type: unsigned int
    - item_type: typedef
      name: (*gcry_mac_get_keylen_func_t)(int algo)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/libgcrypt/cipher/mac-internal.h
      type: unsigned int
    - item_type: typedef
      name: "(*gcry_mac_set_extra_info_t)\n     (gcry_mac_hd_t h, int what, const
        void *buffer, size_t buflen)"
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libgcrypt/cipher/mac-internal.h
      type: gpg_err_code_t
    union: []
- function_names:
  - vector16x_u8::asm_sbox_be
  - transpose_4x4
  - filter_8bit
  - GET_RKEY
  - ROUND4
  - ROUND8
  - sm4_ppc_crypt_blk16
  - sm4_ppc_crypt_blk8
  - sm4_ppc_crypt_blk1_4
  - sm4_ppc_crypt_blk1_16
  - _gcry_sm4_ppc8le_crypt_blk1_16
  - _gcry_sm4_ppc9le_crypt_blk1_16
  source_file: /src/libgcrypt/cipher/sm4-ppc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUNC_ATTR_OPT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/sm4-ppc.c
      type_or_value: __attribute__((optimize("-O2")))
    - item_type: preproc_def
      name: FUNC_ATTR_TARGET_P8
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/sm4-ppc.c
      type_or_value: __attribute__((target("arch=pwr8")))
    - item_type: preproc_def
      name: FUNC_ATTR_TARGET_P9
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/cipher/sm4-ppc.c
      type_or_value: __attribute__((target("arch=pwr9")))
    - item_type: preproc_def
      name: HAVE_FUNC_ATTR_TARGET
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgcrypt/cipher/sm4-ppc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FUNC_ATTR_TARGET_P8
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/sm4-ppc.c
      type_or_value: __attribute__((target("cpu=power8")))
    - item_type: preproc_def
      name: FUNC_ATTR_TARGET_P9
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/sm4-ppc.c
      type_or_value: __attribute__((target("cpu=power9")))
    - item_type: preproc_def
      name: HAVE_FUNC_ATTR_TARGET
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/cipher/sm4-ppc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgcrypt/cipher/sm4-ppc.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libgcrypt/cipher/sm4-ppc.c
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgcrypt/cipher/sm4-ppc.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgcrypt/cipher/sm4-ppc.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libgcrypt/cipher/sm4-ppc.c
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_NOINLINE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libgcrypt/cipher/sm4-ppc.c
      type_or_value: ASM_FUNC_ATTR NO_INLINE
    - item_type: preproc_def
      name: vec_sbox_be
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libgcrypt/cipher/sm4-ppc.c
      type_or_value: asm_sbox_be
    structs: []
    typedefs:
    - item_type: typedef
      name: vector16x_u8
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/libgcrypt/cipher/sm4-ppc.c
      type: vector unsigned
    - item_type: typedef
      name: vector4x_u32
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/libgcrypt/cipher/sm4-ppc.c
      type: vector unsigned
    - item_type: typedef
      name: vector2x_u64
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/libgcrypt/cipher/sm4-ppc.c
      type: vector unsigned long long
    union: []
- function_names:
  - mul_inv
  - expand_key
  - invert_key
  - cipher
  - MUL
  - do_setkey
  - idea_setkey
  - encrypt_block
  - idea_encrypt
  - decrypt_block
  - idea_decrypt
  - selftest
  source_file: /src/libgcrypt/cipher/idea.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IDEA_KEYSIZE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libgcrypt/cipher/idea.c
      type_or_value: '16'
    - item_type: preproc_def
      name: IDEA_BLOCKSIZE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libgcrypt/cipher/idea.c
      type_or_value: '8'
    - item_type: preproc_def
      name: IDEA_ROUNDS
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgcrypt/cipher/idea.c
      type_or_value: '8'
    - item_type: preproc_def
      name: IDEA_KEYLEN
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libgcrypt/cipher/idea.c
      type_or_value: (6*IDEA_ROUNDS+4)
    - item_type: preproc_def
      name: x1
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/libgcrypt/cipher/idea.c
      type_or_value: (in[0])
    - item_type: preproc_def
      name: x2
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/libgcrypt/cipher/idea.c
      type_or_value: (in[1])
    - item_type: preproc_def
      name: x3
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/libgcrypt/cipher/idea.c
      type_or_value: (in[2])
    - item_type: preproc_def
      name: x4
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/libgcrypt/cipher/idea.c
      type_or_value: (in[3])
    structs:
    - fields:
      - name: ek[IDEA_KEYLEN]
        type: u16
      - name: dk[IDEA_KEYLEN]
        type: u16
      - name: have_dk
        type: int
      item_type: struct
      name: IDEA_context
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/libgcrypt/cipher/idea.c
    - fields:
      - name: key[16]
        type: byte
      - name: plain[8]
        type: byte
      - name: cipher[8]
        type: byte
      item_type: struct
      name: "test_vectors[] = {\n    { { 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00,
        0x04,\n\t0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08 },\n      { 0x00,
        0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03 },\n      { 0x11, 0xFB, 0xED, 0x2B,
        0x01, 0x98, 0x6D, 0xE5 } },\n    { { 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00,
        0x04,\n\t0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08 },\n      { 0x01,
        0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 },\n      { 0x54, 0x0E, 0x5F, 0xEA,
        0x18, 0xC2, 0xF8, 0xB1 } },\n    { { 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00,
        0x04,\n\t0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08 },\n      { 0x00,
        0x19, 0x32, 0x4B, 0x64, 0x7D, 0x96, 0xAF },\n      { 0x9F, 0x0A, 0x0A, 0xB6,
        0xE1, 0x0C, 0xED, 0x78 } },\n    { { 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00,
        0x04,\n\t0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08 },\n      { 0xF5,
        0x20, 0x2D, 0x5B, 0x9C, 0x67, 0x1B, 0x08 },\n      { 0xCF, 0x18, 0xFD, 0x73,
        0x55, 0xE2, 0xC5, 0xC5 } },\n    { { 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00,
        0x04,\n\t0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08 },\n      { 0xFA,
        0xE6, 0xD2, 0xBE, 0xAA, 0x96, 0x82, 0x6E },\n      { 0x85, 0xDF, 0x52, 0x00,
        0x56, 0x08, 0x19, 0x3D } },\n    { { 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00,
        0x04,\n\t0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08 },\n      { 0x0A,
        0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50 },\n      { 0x2F, 0x7D, 0xE7, 0x50,
        0x21, 0x2F, 0xB7, 0x34 } },\n    { { 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00,
        0x04,\n\t0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08 },\n      { 0x05,
        0x0A, 0x0F, 0x14, 0x19, 0x1E, 0x23, 0x28 },\n      { 0x7B, 0x73, 0x14, 0x92,
        0x5D, 0xE5, 0x9C, 0x09 } },\n    { { 0x00, 0x05, 0x00, 0x0A, 0x00, 0x0F, 0x00,
        0x14,\n\t0x00, 0x19, 0x00, 0x1E, 0x00, 0x23, 0x00, 0x28 },\n      { 0x01,
        0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 },\n      { 0x3E, 0xC0, 0x47, 0x80,
        0xBE, 0xFF, 0x6E, 0x20 } },\n    { { 0x3A, 0x98, 0x4E, 0x20, 0x00, 0x19, 0x5D,
        0xB3,\n\t0x2E, 0xE5, 0x01, 0xC8, 0xC4, 0x7C, 0xEA, 0x60 },\n      { 0x01,
        0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 },\n      { 0x97, 0xBC, 0xD8, 0x20,
        0x07, 0x80, 0xDA, 0x86 } },\n    { { 0x00, 0x64, 0x00, 0xC8, 0x01, 0x2C, 0x01,
        0x90,\n\t0x01, 0xF4, 0x02, 0x58, 0x02, 0xBC, 0x03, 0x20 },\n      { 0x05,
        0x32, 0x0A, 0x64, 0x14, 0xC8, 0x19, 0xFA },\n      { 0x65, 0xBE, 0x87, 0xE7,
        0xA2, 0x53, 0x8A, 0xED } },\n    { { 0x9D, 0x40, 0x75, 0xC1, 0x03, 0xBC, 0x32,
        0x2A,\n\t0xFB, 0x03, 0xE7, 0xBE, 0x6A, 0xB3, 0x00, 0x06 },\n      { 0x08,
        0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 },\n      { 0xF5, 0xDB, 0x1A, 0xC4,
        0x5E, 0x5E, 0xF9, 0xF9 } }\n}"
      pos:
        line_end: 313
        line_start: 309
        source_file: /src/libgcrypt/cipher/idea.c
    typedefs: []
    union: []
- function_names:
  - km_function_to_mask
  - kimd_query
  - klmd_query
  - pcc_query
  - kimd_execute
  - klmd_execute
  - klmd_shake_execute
  - pcc_scalar_multiply
  source_file: /src/libgcrypt/cipher/asm-inline-s390x.h
  types:
    enum:
    - enumerators:
      - name: KM_FUNCTION_AES_192
        value: '19'
      - name: KMID_FUNCTION_SHA1
        value: '1'
      - name: KMID_FUNCTION_SHA3_256
        value: '33'
      - name: PCC_FUNCTION_NIST_P521
        value: '66'
      - name: KMID_FUNCTION_SHAKE256
        value: '37'
      - name: PCC_FUNCTION_X448
        value: '81'
      - name: KM_FUNCTION_XTS_AES_256
        value: '52'
      - name: KMID_FUNCTION_SHA3_224
        value: '32'
      - name: PCC_FUNCTION_NIST_P384
        value: '65'
      - name: KMID_FUNCTION_SHAKE128
        value: '36'
      - name: PCC_FUNCTION_X25519
        value: '80'
      - name: KM_FUNCTION_AES_128
        value: '18'
      - name: KM_FUNCTION_XTS_AES_128
        value: '50'
      - name: KMID_FUNCTION_SHA512
        value: '3'
      - name: KMID_FUNCTION_SHA3_512
        value: '35'
      - name: PCC_FUNCTION_NIST_P256
        value: '64'
      - name: PCC_FUNCTION_ED448
        value: '73'
      - name: KM_FUNCTION_AES_256
        value: '20'
      - name: KMID_FUNCTION_SHA256
        value: '2'
      - name: KMID_FUNCTION_GHASH
        value: '65'
      - name: PCC_FUNCTION_ED25519
        value: '72'
      - name: KMID_FUNCTION_SHA3_384
        value: '34'
      item_type: enum
      name: kmxx_functions_e
      pos:
        line_end: 55
        line_start: 29
        source_file: /src/libgcrypt/cipher/asm-inline-s390x.h
    - enumerators:
      - name: KM_ENCRYPT
        value: 0 << 7
      - name: KMA_LAAD
        value: 1 << 9
      - name: KMF_LCFB_16
        value: 16 << 24
      - name: KMA_LPC
        value: 1 << 8
      - name: KM_DECRYPT
        value: 1 << 7
      - name: KMA_HS
        value: 1 << 10
      - name: KLMD_PADDING_STATE
        value: 1 << 8
      item_type: enum
      name: kmxx_function_flags_e
      pos:
        line_end: 69
        line_start: 57
        source_file: /src/libgcrypt/cipher/asm-inline-s390x.h
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/libgcrypt/cipher/asm-inline-s390x.h
      type_or_value: inline __attribute__((always_inline))
    structs: []
    typedefs:
    - item_type: typedef
      name: u128_t
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/libgcrypt/cipher/asm-inline-s390x.h
      type: unsigned int
    union: []
- function_names:
  - load_aligned_u64x2
  - load_unaligned_u64x2
  - store_aligned_u64x2
  - byteswap_u64
  - byteswap_u64x2
  - veor_u64x2
  - clmul_u64x2
  - pmul_128x128
  - reduction
  - ghash_polyval_riscv_zbb_zbc
  - _gcry_ghash_riscv_zbb_zbc
  - _gcry_polyval_riscv_zbb_zbc
  - gcm_lsh_1
  - _gcry_ghash_setup_riscv_zbb_zbc
  source_file: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_NOINLINE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
      type_or_value: ASM_FUNC_ATTR NO_INLINE
    structs:
    - fields:
      - name: val[2]
        type: u64
      item_type: struct
      name: u64x2
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
    - fields:
      - name: val[2]
        type: u64x2
      item_type: struct
      name: u64x2x2
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/libgcrypt/cipher/cipher-gcm-riscv-zbb-zbc.c
    typedefs: []
    union: []
- function_names:
  - le_to_host
  - POLY1305_PUSH_REGS
  - POLY1305_POP_REGS
  - POLY1305_LOAD_STATE
  - POLY1305_STORE_STATE
  - POLY1305_BLOCK_PART1
  - POLY1305_BLOCK_PART2
  - POLY1305_BLOCK_PART3
  - POLY1305_BLOCK_PART4
  - POLY1305_BLOCK_PART5
  - POLY1305_BLOCK_PART6
  - POLY1305_BLOCK_PART7
  - POLY1305_BLOCK_PART8
  - POLY1305_BLOCK_PART9
  - POLY1305_BLOCK_PART10
  - POLY1305_BLOCK_PART11
  - POLY1305_BLOCK_PART12
  - POLY1305_BLOCK_PART13
  - POLY1305_BLOCK_PART14
  - POLY1305_BLOCK_PART15
  - POLY1305_BLOCK_PART16
  - POLY1305_BLOCK_PART17
  - POLY1305_BLOCK_PART18
  - POLY1305_BLOCK_PART19
  - POLY1305_BLOCK_PART20
  - POLY1305_BLOCK_PART21
  - POLY1305_BLOCK_PART22
  - POLY1305_BLOCK_PART23
  - POLY1305_BLOCK_PART24
  - POLY1305_BLOCK_PART25
  - POLY1305_BLOCK_PART26
  - POLY1305_BLOCK_PART27
  - POLY1305_BLOCK_PART28
  - POLY1305_BLOCK_PART29
  source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POLY_RSTATE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: x8
    - item_type: preproc_def
      name: POLY_RSRC
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: x9
    - item_type: preproc_def
      name: POLY_R_H0
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: x10
    - item_type: preproc_def
      name: POLY_R_H1
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: x11
    - item_type: preproc_def
      name: POLY_R_H2
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: x12
    - item_type: preproc_def
      name: POLY_R_H2d
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: w12
    - item_type: preproc_def
      name: POLY_R_R0
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: x13
    - item_type: preproc_def
      name: POLY_R_R1
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: x14
    - item_type: preproc_def
      name: POLY_R_R1_MUL5
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: x15
    - item_type: preproc_def
      name: POLY_R_X0_HI
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: x16
    - item_type: preproc_def
      name: POLY_R_X0_LO
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: x17
    - item_type: preproc_def
      name: POLY_R_X1_HI
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: x19
    - item_type: preproc_def
      name: POLY_R_X1_LO
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: x20
    - item_type: preproc_def
      name: POLY_R_ONE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: x21
    - item_type: preproc_def
      name: POLY_R_ONEd
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: w21
    - item_type: preproc_def
      name: POLY_TMP0
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: x22
    - item_type: preproc_def
      name: POLY_TMP1
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: x23
    - item_type: preproc_def
      name: POLY_TMP2
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: x24
    - item_type: preproc_def
      name: POLY_TMP3
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: x25
    - item_type: preproc_def
      name: POLY_CHACHA_ROUND
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: x26
    - item_type: preproc_def
      name: POLY_S_R0
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: (4 * 4 + 0 * 8)
    - item_type: preproc_def
      name: POLY_S_R1
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: (4 * 4 + 1 * 8)
    - item_type: preproc_def
      name: POLY_S_H0
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: (4 * 4 + 2 * 8 + 0 * 8)
    - item_type: preproc_def
      name: POLY_S_H1
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: (4 * 4 + 2 * 8 + 1 * 8)
    - item_type: preproc_def
      name: POLY_S_H2d
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libgcrypt/cipher/asm-poly1305-aarch64.h
      type_or_value: (4 * 4 + 2 * 8 + 2 * 8)
    structs: []
    typedefs: []
    union: []
- function_names:
  - ROTL32
  - LE_SWAP32
  - LE_READ_UINT32
  - salsa20_keysetup
  - salsa20_ivsetup
  - salsa20_core
  - SALSA20_CORE_DEBUG
  - QROUND
  - salsa20_core
  - salsa20_keysetup
  - salsa20_ivsetup
  - salsa20_core_neon
  - salsa20_ivsetup_neon
  - salsa20_keysetup_neon
  - salsa20_do_setkey
  - salsa20_setkey
  - salsa20_setiv
  - salsa20_do_encrypt_stream
  - salsa20_encrypt_stream
  - salsa20r12_encrypt_stream
  - selftest
  source_file: /src/libgcrypt/cipher/salsa20.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_AMD64
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/cipher/salsa20.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_NEON_ASM
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgcrypt/cipher/salsa20.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SALSA20_MIN_KEY_SIZE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libgcrypt/cipher/salsa20.c
      type_or_value: '16  '
    - item_type: preproc_def
      name: SALSA20_MAX_KEY_SIZE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libgcrypt/cipher/salsa20.c
      type_or_value: '32  '
    - item_type: preproc_def
      name: SALSA20_BLOCK_SIZE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libgcrypt/cipher/salsa20.c
      type_or_value: '64  '
    - item_type: preproc_def
      name: SALSA20_IV_SIZE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libgcrypt/cipher/salsa20.c
      type_or_value: '8  '
    - item_type: preproc_def
      name: SALSA20_INPUT_LENGTH
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libgcrypt/cipher/salsa20.c
      type_or_value: '16  '
    - item_type: preproc_def
      name: SALSA20_ROUNDS
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libgcrypt/cipher/salsa20.c
      type_or_value: '20'
    - item_type: preproc_def
      name: SALSA20R12_ROUNDS
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/libgcrypt/cipher/salsa20.c
      type_or_value: '12'
    - item_type: preproc_def
      name: ASM_FUNC_ABI
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/libgcrypt/cipher/salsa20.c
      type_or_value: __attribute__((sysv_abi))
    - item_type: preproc_def
      name: ASM_EXTRA_STACK
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/libgcrypt/cipher/salsa20.c
      type_or_value: (10 * 16)
    - item_type: preproc_def
      name: ASM_EXTRA_STACK
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/libgcrypt/cipher/salsa20.c
      type_or_value: '0'
    structs:
    - fields:
      - name: input[SALSA20_INPUT_LENGTH]
        type: u32
      - name: pad[SALSA20_INPUT_LENGTH]
        type: u32
      - name: unused
        type: unsigned int
      - name: keysetup
        type: salsa20_keysetup_t
      - name: ivsetup
        type: salsa20_ivsetup_t
      - name: core
        type: salsa20_core_t
      item_type: struct
      name: SALSA20_context_s
      pos:
        line_end: 103
        line_start: 83
        source_file: /src/libgcrypt/cipher/salsa20.c
    typedefs:
    - item_type: typedef
      name: "(*salsa20_core_t) (u32 *dst, struct SALSA20_context_s *ctx,\n                                        unsigned
        int rounds)"
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libgcrypt/cipher/salsa20.c
      type: unsigned int
    - item_type: typedef
      name: "(* salsa20_keysetup_t)(struct SALSA20_context_s *ctx,\n                                    const
        byte *key, int keylen)"
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libgcrypt/cipher/salsa20.c
      type: void
    - item_type: typedef
      name: "(* salsa20_ivsetup_t)(struct SALSA20_context_s *ctx,\n                                   const
        byte *iv)"
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libgcrypt/cipher/salsa20.c
      type: void
    union: []
- function_names:
  - KECCAK_F1600_PERMUTE_FUNC_NAME
  - KECCAK_F1600_ABSORB_FUNC_NAME
  source_file: /src/libgcrypt/cipher/keccak_permute_64.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - strido
  - LPSX
  - g
  - stribog_init_512
  - stribog_init_256
  - transform_bits
  - transform_blk
  - transform
  - stribog_final
  - stribog_read_512
  - stribog_read_256
  source_file: /src/libgcrypt/cipher/stribog.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bctx
        type: gcry_md_block_ctx_t
      - name: N[8]
        type: u64
      - name: Sigma[8]
        type: u64
      item_type: struct
      name: STRIBOG_CONTEXT
      pos:
        line_end: 41
        line_start: 31
        source_file: /src/libgcrypt/cipher/stribog.c
    typedefs: []
    union: []
- function_names:
  - INC_POLY1305_SRC
  - POLY1305_LOAD_STATE
  - POLY1305_STORE_STATE
  - POLY1305_BLOCK_PART1_HB
  - POLY1305_BLOCK_PART1
  - POLY1305_BLOCK_PART2
  - POLY1305_BLOCK_PART3
  - POLY1305_BLOCK_PART4
  - POLY1305_BLOCK_PART5
  - POLY1305_BLOCK_PART6
  - POLY1305_BLOCK_PART7
  - POLY1305_BLOCK_PART8
  source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POLY_RSTATE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: '%r1'
    - item_type: preproc_def
      name: POLY_RSRC
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: '%r14'
    - item_type: preproc_def
      name: POLY_R_H0_TMP_HI
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: '%r6  // even-'
    - item_type: preproc_def
      name: POLY_R_H0
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: '%r7  //      odd pair'
    - item_type: preproc_def
      name: POLY_R_H1_TMP_HI
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: '%r8  // even-'
    - item_type: preproc_def
      name: POLY_R_H1
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: '%r9  //      odd pair'
    - item_type: preproc_def
      name: POLY_R_H2
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: '%r10'
    - item_type: preproc_def
      name: POLY_R_R0
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: '%r11'
    - item_type: preproc_def
      name: POLY_R_R1
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: '%r12'
    - item_type: preproc_def
      name: POLY_R_R1_MUL5
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: '%r13'
    - item_type: preproc_def
      name: POLY_R_X0_HI
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: '%r2  // even-'
    - item_type: preproc_def
      name: POLY_R_X0_LO
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: '%r3  //      odd pair'
    - item_type: preproc_def
      name: POLY_R_X1_HI
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: '%r4  // even-'
    - item_type: preproc_def
      name: POLY_R_X1_LO
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: '%r5  //      odd pair'
    - item_type: preproc_def
      name: POLY_S_R0
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: (4 * 4 + 0 * 8)(POLY_RSTATE)
    - item_type: preproc_def
      name: POLY_S_R1
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: (4 * 4 + 1 * 8)(POLY_RSTATE)
    - item_type: preproc_def
      name: POLY_S_H0
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: (4 * 4 + 2 * 8 + 0 * 8)(POLY_RSTATE)
    - item_type: preproc_def
      name: POLY_S_H1
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: (4 * 4 + 2 * 8 + 1 * 8)(POLY_RSTATE)
    - item_type: preproc_def
      name: POLY_S_H2d
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgcrypt/cipher/asm-poly1305-s390x.h
      type_or_value: (4 * 4 + 2 * 8 + 2 * 8)(POLY_RSTATE)
    structs: []
    typedefs: []
    union: []
- function_names:
  - CAMELLIA_PREFIX1
  - CAMELLIA_PREFIX2
  - CAMELLIA_PREFIX
  - camellia_ppc_enc_blk16
  - camellia_ppc_dec_blk16
  - camellia_aarch64ce_enc_blk16
  - camellia_aarch64ce_dec_blk16
  - camellia_setkey
  - Camellia_EncryptBlock
  - Camellia_DecryptBlock
  - camellia_encrypt
  - camellia_decrypt
  - camellia_encrypt
  - camellia_decrypt
  - camellia_encrypt_blk1_32
  - camellia_encrypt_blk1_64
  - camellia_decrypt_blk1_32
  - camellia_decrypt_blk1_64
  - _gcry_camellia_ctr_enc
  - _gcry_camellia_cbc_dec
  - _gcry_camellia_cfb_dec
  - _gcry_camellia_ecb_crypt
  - _gcry_camellia_xts_crypt
  - _gcry_camellia_ctr32le_enc
  - _gcry_camellia_ocb_crypt
  - _gcry_camellia_ocb_auth
  - selftest
  source_file: /src/libgcrypt/cipher/camellia-glue.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: Camellia_Ekeygen
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: CAMELLIA_PREFIX(Camellia_Ekeygen)
    - item_type: preproc_def
      name: Camellia_EncryptBlock
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: CAMELLIA_PREFIX(Camellia_EncryptBlock)
    - item_type: preproc_def
      name: Camellia_DecryptBlock
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: CAMELLIA_PREFIX(Camellia_DecryptBlock)
    - item_type: preproc_def
      name: camellia_decrypt128
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: CAMELLIA_PREFIX(camellia_decrypt128)
    - item_type: preproc_def
      name: camellia_decrypt256
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: CAMELLIA_PREFIX(camellia_decrypt256)
    - item_type: preproc_def
      name: camellia_encrypt128
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: CAMELLIA_PREFIX(camellia_encrypt128)
    - item_type: preproc_def
      name: camellia_encrypt256
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: CAMELLIA_PREFIX(camellia_encrypt256)
    - item_type: preproc_def
      name: camellia_setup128
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: CAMELLIA_PREFIX(camellia_setup128)
    - item_type: preproc_def
      name: camellia_setup192
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: CAMELLIA_PREFIX(camellia_setup192)
    - item_type: preproc_def
      name: camellia_setup256
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: CAMELLIA_PREFIX(camellia_setup256)
    - item_type: preproc_def
      name: ATTR_ALIGNED_16
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: __attribute__ ((aligned (16)))
    - item_type: preproc_def
      name: USE_AESNI_AVX
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AESNI_AVX2
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_VAES_AVX2
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_GFNI_AVX2
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_GFNI_AVX512
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_PPC_CRYPTO
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AARCH64_CE
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ASM_FUNC_ABI
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: __attribute__((sysv_abi))
    - item_type: preproc_def
      name: ASM_EXTRA_STACK
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: (10 * 16)
    - item_type: preproc_def
      name: ASM_EXTRA_STACK
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CAMELLIA_encrypt_stack_burn_size
      pos:
        line_end: 698
        line_start: 697
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: (0)
    - item_type: preproc_def
      name: CAMELLIA_decrypt_stack_burn_size
      pos:
        line_end: 699
        line_start: 698
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: (0)
    - item_type: preproc_def
      name: CAMELLIA_encrypt_stack_burn_size
      pos:
        line_end: 701
        line_start: 700
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: (15*4)
    - item_type: preproc_def
      name: CAMELLIA_decrypt_stack_burn_size
      pos:
        line_end: 702
        line_start: 701
        source_file: /src/libgcrypt/cipher/camellia-glue.c
      type_or_value: (15*4)
    structs:
    - fields:
      - name: keytable
        type: KEY_TABLE_TYPE
      - name: keybitlength
        type: int
      item_type: struct
      name: CAMELLIA_context
      pos:
        line_end: 152
        line_start: 130
        source_file: /src/libgcrypt/cipher/camellia-glue.c
    typedefs: []
    union: []
- function_names:
  - vuint64m2_t::working_vsha2cl_vv_u64m2
  - QUAD_ROUND_W_SCHED
  - QUAD_ROUND_NO_SCHED
  - vuint64m2_t::load_and_swap
  - sha512_transform_zvknhb_zvkb
  - _gcry_sha512_transform_riscv_zvknhb_zvkb
  - _gcry_sha512_riscv_v_check_hw
  source_file: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_NOINLINE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c
      type_or_value: ASM_FUNC_ATTR NO_INLINE
    - item_type: preproc_def
      name: FUNC_ATTR_OPT_O2
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/libgcrypt/cipher/sha512-riscv-zvknhb-zvkb.c
      type_or_value: __attribute__((optimize("-O2")))
    structs: []
    typedefs: []
    union: []
- function_names:
  - aes_ocb_get_l
  - vpaes_ssse3_prepare
  - vpaes_ssse3_cleanup
  - vpaes_ssse3_prepare
  - vpaes_ssse3_cleanup
  - vpaes_ssse3_prepare_enc
  - vpaes_ssse3_prepare_dec
  - ASM_FUNC_ATTR::_gcry_aes_ssse3_do_setkey
  - do_ssse3_prepare_decryption
  - ASM_FUNC_ATTR::_gcry_aes_ssse3_prepare_decryption
  - do_vpaes_ssse3_enc
  - do_vpaes_ssse3_dec
  - ASM_FUNC_ATTR::_gcry_aes_ssse3_encrypt
  - ASM_FUNC_ATTR::_gcry_aes_ssse3_cfb_enc
  - ASM_FUNC_ATTR::_gcry_aes_ssse3_cbc_enc
  - ASM_FUNC_ATTR::_gcry_aes_ssse3_ctr_enc
  - ASM_FUNC_ATTR::_gcry_aes_ssse3_decrypt
  - ASM_FUNC_ATTR::_gcry_aes_ssse3_cfb_dec
  - ASM_FUNC_ATTR::_gcry_aes_ssse3_cbc_dec
  - ASM_FUNC_ATTR::ssse3_ocb_enc
  - ASM_FUNC_ATTR::ssse3_ocb_dec
  - ASM_FUNC_ATTR::_gcry_aes_ssse3_ocb_crypt
  - ASM_FUNC_ATTR::_gcry_aes_ssse3_ocb_auth
  source_file: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: SSSE3_STATE_SIZE
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
      type_or_value: (16 * 10)
    - item_type: preproc_def
      name: SSSE3_STATE_SIZE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/libgcrypt/cipher/rijndael-ssse3-amd64.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - GETU32
  - PUTU32
  - do_setkey
  - seed_setkey
  - OP
  - do_encrypt
  - seed_encrypt
  - do_decrypt
  - seed_decrypt
  - selftest
  source_file: /src/libgcrypt/cipher/seed.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUMKC
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/cipher/seed.c
      type_or_value: '16'
    - item_type: preproc_def
      name: b0
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/seed.c
      type_or_value: b[3]
    - item_type: preproc_def
      name: b1
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/seed.c
      type_or_value: b[2]
    - item_type: preproc_def
      name: b2
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/cipher/seed.c
      type_or_value: b[1]
    - item_type: preproc_def
      name: b3
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgcrypt/cipher/seed.c
      type_or_value: b[0]
    - item_type: preproc_def
      name: b0
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libgcrypt/cipher/seed.c
      type_or_value: b[0]
    - item_type: preproc_def
      name: b1
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/cipher/seed.c
      type_or_value: b[1]
    - item_type: preproc_def
      name: b2
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libgcrypt/cipher/seed.c
      type_or_value: b[2]
    - item_type: preproc_def
      name: b3
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libgcrypt/cipher/seed.c
      type_or_value: b[3]
    structs:
    - fields:
      - name: keyschedule[32]
        type: u32
      item_type: struct
      name: SEED_context
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/libgcrypt/cipher/seed.c
    typedefs: []
    union:
    - fields:
      - name: w
        type: u32
      - name: b[4]
        type: byte
      item_type: union
      name: wordbuf
      pos:
        line_end: 43
        line_start: 39
        source_file: /src/libgcrypt/cipher/seed.c
- function_names:
  - ocb_get_l
  - _gcry_blocksize_shift
  - cipher_bytecounter_add
  - cipher_block_add
  - cipher_block_add_be16
  - cipher_block_cpy
  - cipher_block_xor
  - cipher_block_xor_1
  - cipher_block_xor_2dst
  - cipher_block_xor_n_copy_2
  - cipher_block_bswap
  - cipher_block_xor_n_copy
  source_file: /src/libgcrypt/cipher/cipher-internal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_BLOCKSIZE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '16'
    - item_type: preproc_def
      name: OCB_BLOCK_LEN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: (128/8)
    - item_type: preproc_def
      name: OCB_L_TABLE_SIZE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '16'
    - item_type: preproc_def
      name: CTX_MAGIC_NORMAL
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '0x24091964'
    - item_type: preproc_def
      name: CTX_MAGIC_SECURE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '0x46919042'
    - item_type: preproc_def
      name: NEED_16BYTE_ALIGNED_CONTEXT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GCM_USE_TABLES
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GCM_USE_INTEL_PCLMUL
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GCM_USE_INTEL_VPCLMUL_AVX2
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GCM_USE_INTEL_VPCLMUL_AVX512
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GCM_USE_ARM_PMULL
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GCM_USE_ARM_PMULL
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GCM_USE_ARM_NEON
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GCM_USE_AARCH64
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GCM_USE_S390X_CRYPTO
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GCM_USE_PPC_VPMSUM
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NEED_16BYTE_ALIGNED_CONTEXT
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: GCM_USE_RISCV_ZBB_ZBC
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GCM_USE_RISCV_ZVKG
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GCM_TABLES_USE_U64
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type_or_value: '1'
    structs:
    - fields:
      - name: "(*encrypt)(gcry_cipher_hd_t c, unsigned char *outbuf,\n\t\t\t     size_t
          outbuflen, const unsigned char *inbuf,\n\t\t\t     size_t inbuflen)"
        type: gcry_err_code_t
      - name: "(*decrypt)(gcry_cipher_hd_t c, unsigned char *outbuf,\n\t\t\t     size_t
          outbuflen, const unsigned char *inbuf,\n\t\t\t     size_t inbuflen)"
        type: gcry_err_code_t
      - name: "(*setiv)(gcry_cipher_hd_t c, const unsigned char *iv,\n\t\t\t   size_t
          ivlen)"
        type: gcry_err_code_t
      - name: "(*authenticate)(gcry_cipher_hd_t c,\n\t\t\t\t  const unsigned char
          *abuf, size_t abuflen)"
        type: gcry_err_code_t
      - name: "(*get_tag)(gcry_cipher_hd_t c, unsigned char *outtag,\n\t\t\t     size_t
          taglen)"
        type: gcry_err_code_t
      - name: "(*check_tag)(gcry_cipher_hd_t c, const unsigned char *intag,\n\t\t\t
          \      size_t taglen)"
        type: gcry_err_code_t
      item_type: struct
      name: cipher_mode_ops
      pos:
        line_end: 177
        line_start: 160
        source_file: /src/libgcrypt/cipher/cipher-internal.h
    - fields:
      - name: "(*ecb_crypt)(void *context, void *outbuf_arg, const void *inbuf_arg,\n\t\t
          \   size_t nblocks, int encrypt)"
        type: void
      - name: "(*cfb_enc)(void *context, unsigned char *iv, void *outbuf_arg,\n\t\t
          \ const void *inbuf_arg, size_t nblocks)"
        type: void
      - name: "(*cfb_dec)(void *context, unsigned char *iv, void *outbuf_arg,\n\t\t
          \ const void *inbuf_arg, size_t nblocks)"
        type: void
      - name: "(*cbc_enc)(void *context, unsigned char *iv, void *outbuf_arg,\n\t\t
          \ const void *inbuf_arg, size_t nblocks, int cbc_mac)"
        type: void
      - name: "(*cbc_dec)(void *context, unsigned char *iv, void *outbuf_arg,\n\t\t
          \ const void *inbuf_arg, size_t nblocks)"
        type: void
      - name: "(*ofb_enc)(void *context, unsigned char *iv, void *outbuf_arg,\n\t\t
          \ const void *inbuf_arg, size_t nblocks)"
        type: void
      - name: "(*ctr16be_enc)(void *context, unsigned char *iv, void *outbuf_arg,\n\t\t
          \     const void *inbuf_arg, size_t nblocks)"
        type: void
      - name: "(*ctr32le_enc)(void *context, unsigned char *iv, void *outbuf_arg,\n\t\t
          \     const void *inbuf_arg, size_t nblocks)"
        type: void
      - name: "(*ocb_crypt)(gcry_cipher_hd_t c, void *outbuf_arg,\n\t\t      const
          void *inbuf_arg, size_t nblocks, int encrypt)"
        type: size_t
      - name: (*ocb_auth)(gcry_cipher_hd_t c, const void *abuf_arg, size_t nblocks)
        type: size_t
      - name: "(*xts_crypt)(void *context, unsigned char *tweak, void *outbuf_arg,\n\t\t
          \   const void *inbuf_arg, size_t nblocks, int encrypt)"
        type: void
      - name: "(*gcm_crypt)(gcry_cipher_hd_t c, void *outbuf_arg,\n\t\t      const
          void *inbuf_arg, size_t nblocks, int encrypt)"
        type: size_t
      item_type: struct
      name: cipher_bulk_ops
      pos:
        line_end: 209
        line_start: 184
        source_file: /src/libgcrypt/cipher/cipher-internal.h
    - fields:
      - name: u_iv
        type: "union {\n    cipher_context_alignment_t iv_align;\n    unsigned char
          iv[MAX_BLOCKSIZE];\n  }"
      - name: subkeys[2][MAX_BLOCKSIZE]
        type: unsigned char
      - name: macbuf[MAX_BLOCKSIZE]
        type: unsigned char
      - name: mac_unused
        type: int
      - name: tag
        type: unsigned int
      item_type: struct
      name: gcry_cmac_context_t
      pos:
        line_end: 246
        line_start: 231
        source_file: /src/libgcrypt/cipher/cipher-internal.h
    - fields:
      - name: magic
        type: int
      - name: actual_handle_size
        type: size_t
      - name: handle_offset
        type: size_t
      - name: '*spec'
        type: gcry_cipher_spec_t
      - name: algo
        type: int
      - name: mode_ops
        type: cipher_mode_ops_t
      - name: bulk
        type: cipher_bulk_ops_t
      - name: mode
        type: int
      - name: flags
        type: unsigned int
      - name: aead
        type: "struct {\n    int geniv_method;\n    unsigned char fixed[MAX_BLOCKSIZE];\n
          \   unsigned char dynamic[MAX_BLOCKSIZE];\n    size_t fixed_iv_len;\n    size_t
          dynamic_iv_len;\n  }"
      - name: marks
        type: "struct {\n    unsigned int key:1; /* Set to 1 if a key has been set.
          \ */\n    unsigned int iv:1;  /* Set to 1 if a IV has been set.  */\n    unsigned
          int tag:1; /* Set to 1 if a tag is finalized. */\n    unsigned int finalize:1;
          /* Next encrypt/decrypt has the final data.  */\n    unsigned int allow_weak_key:1;
          /* Set to 1 if weak keys are allowed. */\n  }"
      - name: u_iv
        type: "union {\n    cipher_context_alignment_t iv_align;\n    unsigned char
          iv[MAX_BLOCKSIZE];\n  }"
      - name: u_ctr
        type: "union {\n    cipher_context_alignment_t iv_align;\n    unsigned char
          ctr[MAX_BLOCKSIZE];\n  }"
      - name: lastiv[MAX_BLOCKSIZE]
        type: unsigned char
      - name: unused
        type: int
      - name: u_mode
        type: "union {\n    /* Mode specific storage for CCM mode. */\n    struct
          {\n      u64 encryptlen;\n      u64 aadlen;\n      unsigned int authlen;\n\n
          \     /* Space to save partial input lengths for MAC. */\n      unsigned
          char macbuf[GCRY_CCM_BLOCK_LEN];\n      int mac_unused;  /* Number of unprocessed
          bytes in MACBUF. */\n\n      unsigned char s0[GCRY_CCM_BLOCK_LEN];\n\n      unsigned
          int nonce:1; /* Set to 1 if nonce has been set.  */\n      unsigned int
          lengths:1; /* Set to 1 if CCM length parameters has been\n                                 processed.
          \ */\n    } ccm;\n\n    /* Mode specific storage for Poly1305 mode. */\n
          \   struct {\n      /* byte counter for AAD. */\n      u32 aadcount[2];\n\n
          \     /* byte counter for data. */\n      u32 datacount[2];\n\n      unsigned
          int aad_finalized:1;\n      unsigned int bytecount_over_limits:1;\n\n      poly1305_context_t
          ctx;\n    } poly1305;\n\n    /* Mode specific storage for CMAC mode. */\n
          \   gcry_cmac_context_t cmac;\n\n    /* Mode specific storage for EAX mode.
          */\n    struct {\n      /* CMAC for header (AAD). */\n      gcry_cmac_context_t
          cmac_header;\n\n      /* CMAC for ciphertext. */\n      gcry_cmac_context_t
          cmac_ciphertext;\n    } eax;\n\n    /* Mode specific storage for GCM mode
          and GCM-SIV mode. */\n    struct {\n      /* The interim tag for GCM mode.
          \ */\n      union {\n        cipher_context_alignment_t iv_align;\n        unsigned
          char tag[MAX_BLOCKSIZE];\n      } u_tag;\n\n      /* Space to save partial
          input lengths for MAC. */\n      unsigned char macbuf[GCRY_GCM_BLOCK_LEN];\n
          \     int mac_unused;  /* Number of unprocessed bytes in MACBUF. */\n\n
          \     /* byte counters for GCM */\n      u32 aadlen[2];\n      u32 datalen[2];\n\n
          \     /* encrypted tag counter */\n      unsigned char tagiv[MAX_BLOCKSIZE];\n\n
          \     unsigned int ghash_data_finalized:1;\n      unsigned int ghash_aad_finalized:1;\n\n
          \     unsigned int datalen_over_limits:1;\n      unsigned int disallow_encryption_because_of_setiv_in_fips_mode:1;\n\n
          \     /* --- Following members are not cleared in gcry_cipher_reset ---
          */\n\n      /* GHASH multiplier from key.  */\n      union {\n        cipher_context_alignment_t
          iv_align;\n        unsigned char key[MAX_BLOCKSIZE];\n      } u_ghash_key;\n\n
          \     /* Pre-calculated table for GCM. */\n#ifdef GCM_USE_TABLES\n #if (SIZEOF_UNSIGNED_LONG
          == 8 || defined(__x86_64__))\n      #define GCM_TABLES_USE_U64 1\n      u64
          gcm_table[4 * 16];\n #else\n      #undef GCM_TABLES_USE_U64\n      u32 gcm_table[8
          * 16];\n #endif\n#endif\n\n      /* GHASH implementation in use. */\n      ghash_fn_t
          ghash_fn;\n\n      /* POLYVAL implementation in use (GCM-SIV). */\n      ghash_fn_t
          polyval_fn;\n\n      /* Key length used for GCM-SIV key generating key.
          */\n      unsigned int siv_keylen;\n\n      /* Flags for accelerated implementations.
          */\n      unsigned int hw_impl_flags;\n    } gcm;\n\n    /* Mode specific
          storage for OCB mode. */\n    struct {\n      /* --- Following members are
          not cleared in gcry_cipher_reset --- */\n\n      /* Helper variables and
          pre-computed table of L values.  */\n      unsigned char L_star[OCB_BLOCK_LEN];\n
          \     unsigned char L_dollar[OCB_BLOCK_LEN];\n      unsigned char L0L1[OCB_BLOCK_LEN];\n
          \     unsigned char L[OCB_L_TABLE_SIZE][OCB_BLOCK_LEN];\n\n      /* ---
          Following members are cleared in gcry_cipher_reset --- */\n\n      /* The
          tag is valid if marks.tag has been set.  */\n      unsigned char tag[OCB_BLOCK_LEN];\n\n
          \     /* A buffer to hold the offset for the AAD processing.  */\n      unsigned
          char aad_offset[OCB_BLOCK_LEN];\n\n      /* A buffer to hold the current
          sum of AAD processing.  We can't\n         use tag here because tag may
          already hold the preprocessed\n         checksum of the data.  */\n      unsigned
          char aad_sum[OCB_BLOCK_LEN];\n\n      /* A buffer to store AAD data not
          yet processed.  */\n      unsigned char aad_leftover[OCB_BLOCK_LEN];\n\n
          \     /* Number of data/aad blocks processed so far.  */\n      u64 data_nblocks;\n
          \     u64 aad_nblocks;\n\n      /* Number of valid bytes in AAD_LEFTOVER.
          \ */\n      unsigned char aad_nleftover;\n\n      /* Length of the tag.
          \ Fixed for now but may eventually be\n         specified using a set of
          gcry_cipher_flags.  */\n      unsigned char taglen;\n\n      /* Flags indicating
          that the final data/aad block has been\n         processed.  */\n      unsigned
          int data_finalized:1;\n      unsigned int aad_finalized:1;\n    } ocb;\n\n
          \   /* Mode specific storage for XTS mode. */\n    struct {\n      /* Pointer
          to tweak cipher context, allocated after actual\n       * cipher context.
          */\n      char *tweak_context;\n    } xts;\n\n    /* Mode specific storage
          for SIV mode. */\n    struct {\n      /* Tag used for decryption. */\n      unsigned
          char dec_tag[GCRY_SIV_BLOCK_LEN];\n\n      /* S2V state. */\n      unsigned
          char s2v_d[GCRY_SIV_BLOCK_LEN];\n\n      /* Number of AAD elements processed.
          */\n      unsigned int aad_count:8;\n\n      /* Flags for SIV state. */\n
          \     unsigned int dec_tag_set:1;\n\n      /* --- Following members are
          not cleared in gcry_cipher_reset --- */\n\n      /* S2V CMAC state. */\n
          \     gcry_cmac_context_t s2v_cmac;\n      unsigned char s2v_zero_block[GCRY_SIV_BLOCK_LEN];\n\n
          \     /* Pointer to CTR cipher context, allocated after actual\n       *
          cipher context. */\n      char *ctr_context;\n    } siv;\n\n    /* Mode
          specific storage for WRAP mode. */\n    struct {\n      unsigned char plen[4];\n
          \   } wrap;\n  }"
      - name: context
        type: cipher_context_alignment_t
      item_type: struct
      name: gcry_cipher_handle
      pos:
        line_end: 498
        line_start: 250
        source_file: /src/libgcrypt/cipher/cipher-internal.h
    typedefs:
    - item_type: typedef
      name: "(*ghash_fn_t) (gcry_cipher_hd_t c, byte *result,\n                                    const
        byte *buf, size_t nblocks)"
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/libgcrypt/cipher/cipher-internal.h
      type: unsigned int
    union:
    - fields:
      - name: foo
        type: PROPERLY_ALIGNED_TYPE
      - name: c[1]
        type: char
      item_type: union
      name: cipher_context_alignment_t
      pos:
        line_end: 227
        line_start: 220
        source_file: /src/libgcrypt/cipher/cipher-internal.h
- function_names:
  - rol
  - ror
  - rol64
  - _gcry_bswap32
  - _gcry_bswap64
  - le_bswap32
  - be_bswap32
  - le_bswap64
  - be_bswap64
  - le_bswap32
  - be_bswap32
  - le_bswap64
  - be_bswap64
  - _gcry_ctz_no_zero
  - _gcry_ctz
  - _gcry_ctz64
  source_file: /src/libgcrypt/cipher/bithelp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _gcry_bswap32
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/bithelp.h
      type_or_value: __builtin_bswap32
    - item_type: preproc_def
      name: _gcry_bswap64
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libgcrypt/cipher/bithelp.h
      type_or_value: __builtin_bswap64
    structs: []
    typedefs:
    - item_type: typedef
      name: __attribute__((may_alias))
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/libgcrypt/cipher/bithelp.h
      type: u32
    union: []
- function_names: []
  source_file: /src/libgcrypt/cipher/sha1.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA1_USE_S390X_CRYPTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libgcrypt/cipher/sha1.h
      type_or_value: '1'
    structs:
    - fields:
      - name: bctx
        type: gcry_md_block_ctx_t
      - name: h0
        type: u32
      item_type: struct
      name: SHA1_CONTEXT
      pos:
        line_end: 40
        line_start: 32
        source_file: /src/libgcrypt/cipher/sha1.h
    typedefs: []
    union: []
- function_names:
  - map_mac_algo_to_cipher
  - cmac_open
  - cmac_close
  - cmac_setkey
  - cmac_reset
  - cmac_write
  - cmac_read
  - cmac_verify
  - cmac_get_maclen
  - cmac_get_keylen
  - check_one
  - selftests_cmac_3des
  - selftests_cmac_aes
  - cmac_selftest
  source_file: /src/libgcrypt/cipher/mac-cmac.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*desc'
        type: char
      - name: '*data'
        type: char
      - name: '*key'
        type: char
      - name: '*expect'
        type: char
      item_type: struct
      name: "tv[] =\n    {\n      { \"Basic 3DES\",\n        \"\\x6b\\xc1\\xbe\\xe2\\x2e\\x40\\x9f\\x96\\xe9\\x3d\\x7e\\x11\\x73\\x93\\x17\\x2a\"\n
        \       \"\\xae\\x2d\\x8a\\x57\",\n        \"\\x8a\\xa8\\x3b\\xf8\\xcb\\xda\\x10\\x62\\x0b\\xc1\\xbf\\x19\\xfb\\xb6\\xcd\\x58\"\n
        \       \"\\xbc\\x31\\x3d\\x4a\\x37\\x1c\\xa8\\xb5\",\n        \"\\x74\\x3d\\xdb\\xe0\\xce\\x2d\\xc2\\xed\"
        },\n      { \"Extended 3DES #1\",\n        \"\",\n        \"\\x8a\\xa8\\x3b\\xf8\\xcb\\xda\\x10\\x62\\x0b\\xc1\\xbf\\x19\\xfb\\xb6\\xcd\\x58\"\n
        \       \"\\xbc\\x31\\x3d\\x4a\\x37\\x1c\\xa8\\xb5\",\n        \"\\xb7\\xa6\\x88\\xe1\\x22\\xff\\xaf\\x95\"
        },\n      { \"Extended 3DES #2\",\n        \"\\x6b\\xc1\\xbe\\xe2\\x2e\\x40\\x9f\\x96\",\n
        \       \"\\x8a\\xa8\\x3b\\xf8\\xcb\\xda\\x10\\x62\\x0b\\xc1\\xbf\\x19\\xfb\\xb6\\xcd\\x58\"\n
        \       \"\\xbc\\x31\\x3d\\x4a\\x37\\x1c\\xa8\\xb5\",\n        \"\\x8e\\x8f\\x29\\x31\\x36\\x28\\x37\\x97\"
        },\n      { \"Extended 3DES #3\",\n        \"\\x6b\\xc1\\xbe\\xe2\\x2e\\x40\\x9f\\x96\\xe9\\x3d\\x7e\\x11\\x73\\x93\\x17\\x2a\"\n
        \       \"\\xae\\x2d\\x8a\\x57\\x1e\\x03\\xac\\x9c\\x9e\\xb7\\x6f\\xac\\x45\\xaf\\x8e\\x51\",\n
        \       \"\\x8a\\xa8\\x3b\\xf8\\xcb\\xda\\x10\\x62\\x0b\\xc1\\xbf\\x19\\xfb\\xb6\\xcd\\x58\"\n
        \       \"\\xbc\\x31\\x3d\\x4a\\x37\\x1c\\xa8\\xb5\",\n        \"\\x33\\xe6\\xb1\\x09\\x24\\x00\\xea\\xe5\"
        },\n      { \"Extended 3DES #4\",\n        \"\",\n        \"\\x4c\\xf1\\x51\\x34\\xa2\\x85\\x0d\\xd5\\x8a\\x3d\\x10\\xba\\x80\\x57\\x0d\\x38\"\n
        \       \"\\x4c\\xf1\\x51\\x34\\xa2\\x85\\x0d\\xd5\",\n        \"\\xbd\\x2e\\xbf\\x9a\\x3b\\xa0\\x03\\x61\"
        },\n      { \"Extended 3DES #5\",\n        \"\\x6b\\xc1\\xbe\\xe2\\x2e\\x40\\x9f\\x96\",\n
        \       \"\\x4c\\xf1\\x51\\x34\\xa2\\x85\\x0d\\xd5\\x8a\\x3d\\x10\\xba\\x80\\x57\\x0d\\x38\"\n
        \       \"\\x4c\\xf1\\x51\\x34\\xa2\\x85\\x0d\\xd5\",\n        \"\\x4f\\xf2\\xab\\x81\\x3c\\x53\\xce\\x83\"
        },\n      { \"Extended 3DES #6\",\n        \"\\x6b\\xc1\\xbe\\xe2\\x2e\\x40\\x9f\\x96\\xe9\\x3d\\x7e\\x11\\x73\\x93\\x17\\x2a\"\n
        \       \"\\xae\\x2d\\x8a\\x57\",\n        \"\\x4c\\xf1\\x51\\x34\\xa2\\x85\\x0d\\xd5\\x8a\\x3d\\x10\\xba\\x80\\x57\\x0d\\x38\"\n
        \       \"\\x4c\\xf1\\x51\\x34\\xa2\\x85\\x0d\\xd5\",\n        \"\\x62\\xdd\\x1b\\x47\\x19\\x02\\xbd\\x4e\"
        },\n      { \"Extended 3DES #7\",\n        \"\\x6b\\xc1\\xbe\\xe2\\x2e\\x40\\x9f\\x96\\xe9\\x3d\\x7e\\x11\\x73\\x93\\x17\\x2a\"\n
        \       \"\\xae\\x2d\\x8a\\x57\\x1e\\x03\\xac\\x9c\\x9e\\xb7\\x6f\\xac\\x45\\xaf\\x8e\\x51\",\n
        \       \"\\x4c\\xf1\\x51\\x34\\xa2\\x85\\x0d\\xd5\\x8a\\x3d\\x10\\xba\\x80\\x57\\x0d\\x38\"\n
        \       \"\\x4c\\xf1\\x51\\x34\\xa2\\x85\\x0d\\xd5\",\n        \"\\x31\\xb1\\xe4\\x31\\xda\\xbc\\x4e\\xb8\"
        },\n      { NULL }\n    }"
      pos:
        line_end: 231
        line_start: 225
        source_file: /src/libgcrypt/cipher/mac-cmac.c
    - fields:
      - name: '*desc'
        type: char
      - name: '*data'
        type: char
      - name: '*key'
        type: char
      - name: '*expect'
        type: char
      item_type: struct
      name: "tv[] =\n    {\n      { \"Basic AES128\",\n        \"\\x6b\\xc1\\xbe\\xe2\\x2e\\x40\\x9f\\x96\\xe9\\x3d\\x7e\\x11\\x73\\x93\\x17\\x2a\"\n
        \       \"\\xae\\x2d\\x8a\\x57\\x1e\\x03\\xac\\x9c\\x9e\\xb7\\x6f\\xac\\x45\\xaf\\x8e\\x51\"\n
        \       \"\\x30\\xc8\\x1c\\x46\\xa3\\x5c\\xe4\\x11\",\n        \"\\x2b\\x7e\\x15\\x16\\x28\\xae\\xd2\\xa6\\xab\\xf7\\x15\\x88\\x09\\xcf\\x4f\\x3c\",\n
        \       \"\\xdf\\xa6\\x67\\x47\\xde\\x9a\\xe6\\x30\\x30\\xca\\x32\\x61\\x14\\x97\\xc8\\x27\"
        },\n      { \"Basic AES192\",\n        \"\\x6b\\xc1\\xbe\\xe2\\x2e\\x40\\x9f\\x96\\xe9\\x3d\\x7e\\x11\\x73\\x93\\x17\\x2a\"\n
        \       \"\\xae\\x2d\\x8a\\x57\\x1e\\x03\\xac\\x9c\\x9e\\xb7\\x6f\\xac\\x45\\xaf\\x8e\\x51\"\n
        \       \"\\x30\\xc8\\x1c\\x46\\xa3\\x5c\\xe4\\x11\",\n        \"\\x8e\\x73\\xb0\\xf7\\xda\\x0e\\x64\\x52\\xc8\\x10\\xf3\\x2b\\x80\\x90\\x79\\xe5\"\n
        \       \"\\x62\\xf8\\xea\\xd2\\x52\\x2c\\x6b\\x7b\",\n        \"\\x8a\\x1d\\xe5\\xbe\\x2e\\xb3\\x1a\\xad\\x08\\x9a\\x82\\xe6\\xee\\x90\\x8b\\x0e\"
        },\n      { \"Basic AES256\",\n        \"\\x6b\\xc1\\xbe\\xe2\\x2e\\x40\\x9f\\x96\\xe9\\x3d\\x7e\\x11\\x73\\x93\\x17\\x2a\"\n
        \       \"\\xae\\x2d\\x8a\\x57\\x1e\\x03\\xac\\x9c\\x9e\\xb7\\x6f\\xac\\x45\\xaf\\x8e\\x51\"\n
        \       \"\\x30\\xc8\\x1c\\x46\\xa3\\x5c\\xe4\\x11\",\n        \"\\x60\\x3d\\xeb\\x10\\x15\\xca\\x71\\xbe\\x2b\\x73\\xae\\xf0\\x85\\x7d\\x77\\x81\"\n
        \       \"\\x1f\\x35\\x2c\\x07\\x3b\\x61\\x08\\xd7\\x2d\\x98\\x10\\xa3\\x09\\x14\\xdf\\xf4\",\n
        \       \"\\xaa\\xf3\\xd8\\xf1\\xde\\x56\\x40\\xc2\\x32\\xf5\\xb1\\x69\\xb9\\xc9\\x11\\xe6\"
        },\n      { \"Extended AES #1\",\n        \"\",\n        \"\\x2b\\x7e\\x15\\x16\\x28\\xae\\xd2\\xa6\\xab\\xf7\\x15\\x88\\x09\\xcf\\x4f\\x3c\",\n
        \       \"\\xbb\\x1d\\x69\\x29\\xe9\\x59\\x37\\x28\\x7f\\xa3\\x7d\\x12\\x9b\\x75\\x67\\x46\"
        },\n      { \"Extended AES #2\",\n        \"\\x6b\\xc1\\xbe\\xe2\\x2e\\x40\\x9f\\x96\\xe9\\x3d\\x7e\\x11\\x73\\x93\\x17\\x2a\",\n
        \       \"\\x8e\\x73\\xb0\\xf7\\xda\\x0e\\x64\\x52\\xc8\\x10\\xf3\\x2b\\x80\\x90\\x79\\xe5\"\n
        \       \"\\x62\\xf8\\xea\\xd2\\x52\\x2c\\x6b\\x7b\",\n        \"\\x9e\\x99\\xa7\\xbf\\x31\\xe7\\x10\\x90\\x06\\x62\\xf6\\x5e\\x61\\x7c\\x51\\x84\"
        },\n      { \"Extended AES #3\",\n        \"\\x6b\\xc1\\xbe\\xe2\\x2e\\x40\\x9f\\x96\\xe9\\x3d\\x7e\\x11\\x73\\x93\\x17\\x2a\"\n
        \       \"\\xae\\x2d\\x8a\\x57\\x1e\\x03\\xac\\x9c\\x9e\\xb7\\x6f\\xac\\x45\\xaf\\x8e\\x51\"\n
        \       \"\\x30\\xc8\\x1c\\x46\\xa3\\x5c\\xe4\\x11\\xe5\\xfb\\xc1\\x19\\x1a\\x0a\\x52\\xef\"\n
        \       \"\\xf6\\x9f\\x24\\x45\\xdf\\x4f\\x9b\\x17\\xad\\x2b\\x41\\x7b\\xe6\\x6c\\x37\\x10\",\n
        \       \"\\x60\\x3d\\xeb\\x10\\x15\\xca\\x71\\xbe\\x2b\\x73\\xae\\xf0\\x85\\x7d\\x77\\x81\"\n
        \       \"\\x1f\\x35\\x2c\\x07\\x3b\\x61\\x08\\xd7\\x2d\\x98\\x10\\xa3\\x09\\x14\\xdf\\xf4\",\n
        \       \"\\xe1\\x99\\x21\\x90\\x54\\x9f\\x6e\\xd5\\x69\\x6a\\x2c\\x05\\x6c\\x31\\x54\\x10\"
        },\n      { \"Extended AES #4\",\n        \"\\x6b\\xc1\\xbe\\xe2\\x2e\\x40\\x9f\\x96\\xe9\\x3d\\x7e\\x11\\x73\\x93\\x17\\x2a\",\n
        \       \"\\x2b\\x7e\\x15\\x16\\x28\\xae\\xd2\\xa6\\xab\\xf7\\x15\\x88\\x09\\xcf\\x4f\\x3c\",\n
        \       \"\\x07\\x0a\\x16\\xb4\\x6b\\x4d\\x41\\x44\\xf7\\x9b\\xdd\\x9d\\xd0\\x4a\\x28\\x7c\"
        },\n      { \"Extended AES #5\",\n        \"\\x6b\\xc1\\xbe\\xe2\\x2e\\x40\\x9f\\x96\\xe9\\x3d\\x7e\\x11\\x73\\x93\\x17\\x2a\"\n
        \       \"\\xae\\x2d\\x8a\\x57\\x1e\\x03\\xac\\x9c\\x9e\\xb7\\x6f\\xac\\x45\\xaf\\x8e\\x51\"\n
        \       \"\\x30\\xc8\\x1c\\x46\\xa3\\x5c\\xe4\\x11\\xe5\\xfb\\xc1\\x19\\x1a\\x0a\\x52\\xef\"\n
        \       \"\\xf6\\x9f\\x24\\x45\\xdf\\x4f\\x9b\\x17\\xad\\x2b\\x41\\x7b\\xe6\\x6c\\x37\\x10\",\n
        \       \"\\x2b\\x7e\\x15\\x16\\x28\\xae\\xd2\\xa6\\xab\\xf7\\x15\\x88\\x09\\xcf\\x4f\\x3c\",\n
        \       \"\\x51\\xf0\\xbe\\xbf\\x7e\\x3b\\x9d\\x92\\xfc\\x49\\x74\\x17\\x79\\x36\\x3c\\xfe\"
        },\n      { \"Extended AES #6\",\n        \"\",\n        \"\\x8e\\x73\\xb0\\xf7\\xda\\x0e\\x64\\x52\\xc8\\x10\\xf3\\x2b\\x80\\x90\\x79\\xe5\"\n
        \       \"\\x62\\xf8\\xea\\xd2\\x52\\x2c\\x6b\\x7b\",\n        \"\\xd1\\x7d\\xdf\\x46\\xad\\xaa\\xcd\\xe5\\x31\\xca\\xc4\\x83\\xde\\x7a\\x93\\x67\"
        },\n      { \"Extended AES #7\",\n        \"\\x6b\\xc1\\xbe\\xe2\\x2e\\x40\\x9f\\x96\\xe9\\x3d\\x7e\\x11\\x73\\x93\\x17\\x2a\"\n
        \       \"\\xae\\x2d\\x8a\\x57\\x1e\\x03\\xac\\x9c\\x9e\\xb7\\x6f\\xac\\x45\\xaf\\x8e\\x51\"\n
        \       \"\\x30\\xc8\\x1c\\x46\\xa3\\x5c\\xe4\\x11\\xe5\\xfb\\xc1\\x19\\x1a\\x0a\\x52\\xef\"\n
        \       \"\\xf6\\x9f\\x24\\x45\\xdf\\x4f\\x9b\\x17\\xad\\x2b\\x41\\x7b\\xe6\\x6c\\x37\\x10\",\n
        \       \"\\x8e\\x73\\xb0\\xf7\\xda\\x0e\\x64\\x52\\xc8\\x10\\xf3\\x2b\\x80\\x90\\x79\\xe5\"\n
        \       \"\\x62\\xf8\\xea\\xd2\\x52\\x2c\\x6b\\x7b\",\n        \"\\xa1\\xd5\\xdf\\x0e\\xed\\x79\\x0f\\x79\\x4d\\x77\\x58\\x96\\x59\\xf3\\x9a\\x11\"
        },\n      { \"Extended AES #8\",\n        \"\",\n        \"\\x60\\x3d\\xeb\\x10\\x15\\xca\\x71\\xbe\\x2b\\x73\\xae\\xf0\\x85\\x7d\\x77\\x81\"\n
        \       \"\\x1f\\x35\\x2c\\x07\\x3b\\x61\\x08\\xd7\\x2d\\x98\\x10\\xa3\\x09\\x14\\xdf\\xf4\",\n
        \       \"\\x02\\x89\\x62\\xf6\\x1b\\x7b\\xf8\\x9e\\xfc\\x6b\\x55\\x1f\\x46\\x67\\xd9\\x83\"
        },\n      { \"Extended AES #9\",\n        \"\\x6b\\xc1\\xbe\\xe2\\x2e\\x40\\x9f\\x96\\xe9\\x3d\\x7e\\x11\\x73\\x93\\x17\\x2a\",\n
        \       \"\\x60\\x3d\\xeb\\x10\\x15\\xca\\x71\\xbe\\x2b\\x73\\xae\\xf0\\x85\\x7d\\x77\\x81\"\n
        \       \"\\x1f\\x35\\x2c\\x07\\x3b\\x61\\x08\\xd7\\x2d\\x98\\x10\\xa3\\x09\\x14\\xdf\\xf4\",\n
        \       \"\\x28\\xa7\\x02\\x3f\\x45\\x2e\\x8f\\x82\\xbd\\x4b\\xf2\\x8d\\x8c\\x37\\xc3\\x5c\"
        },\n      { NULL }\n    }"
      pos:
        line_end: 315
        line_start: 309
        source_file: /src/libgcrypt/cipher/mac-cmac.c
    typedefs: []
    union: []
- function_names:
  - _gcry_cipher_cfb_encrypt
  - _gcry_cipher_cfb_decrypt
  - _gcry_cipher_cfb8_encrypt
  - _gcry_cipher_cfb8_decrypt
  source_file: /src/libgcrypt/cipher/cipher-cfb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - load_aligned_u64
  - aligned_absorb_lanes64_8
  - aligned_absorb_lanes64_4
  - aligned_absorb_lanes64_2
  - aligned_absorb_lanes64_1
  - aligned_extract64
  - keccak_extract64
  - keccak_extract32bi
  - keccak_absorb_lane32bi
  - unaligned_absorb_lanes64_8
  - unaligned_absorb_lanes64_4
  - unaligned_absorb_lanes64_2
  - unaligned_absorb_lanes64_8
  - unaligned_absorb_lanes64_4
  - unaligned_absorb_lanes64_2
  - unaligned_absorb_lanes64_1
  - absorb_lanes64_21
  - absorb_lanes64_18
  - absorb_lanes64_17
  - absorb_lanes64_13
  - absorb_lanes64_9
  - ANDN64
  - ROL64
  - ANDN64
  - ROL64
  - ANDN64
  - ROL64
  - ANDN64
  - ROL64
  - keccak_f1600_state_permute64_avx512
  - keccak_absorb_lanes64_avx512
  - keccak_permute64_armv7_neon
  - keccak_absorb_lanes64_armv7_neon
  - ANDN32
  - ROL32
  - keccak_absorb_lanes32bi
  - ANDN32
  - ROL32
  - pext
  - pdep
  - keccak_absorb_lane32bi_bmi2
  - keccak_absorb_lanes32bi_bmi2
  - keccak_extract32bi_bmi2
  - keccak_bwrite_s390x
  - keccak_final_s390x
  - keccak_bextract_s390x
  - keccak_write_s390x
  - keccak_extract_s390x
  - keccak_write
  - keccak_init
  - sha3_224_init
  - sha3_256_init
  - sha3_384_init
  - sha3_512_init
  - shake128_init
  - shake256_init
  - keccak_final
  - keccak_read
  - do_keccak_extract
  - keccak_extract
  - keccak_shake_read
  - _gcry_sha3_hash_buffers
  - _gcry_sha3_224_hash_buffers
  - _gcry_sha3_256_hash_buffers
  - _gcry_sha3_384_hash_buffers
  - _gcry_sha3_512_hash_buffers
  - _gcry_shake128_hash_buffers
  - _gcry_shake256_hash_buffers
  - cshake_input_n
  - cshake_input_s
  - _gcry_cshake_customize
  - cshake128_init
  - cshake256_init
  - cshake_hash_buffers
  - _gcry_cshake128_hash_buffers
  - _gcry_cshake256_hash_buffers
  - selftests_keccak
  - run_selftests
  source_file: /src/libgcrypt/cipher/keccak.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_64BIT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_32BIT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_64BIT_BMI2
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_64BIT_SHLD
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_32BIT_BMI2
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_64BIT_AVX512
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_64BIT_ARM_NEON
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_S390X_CRYPTO
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_RISCV_ZBB
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ASM_FUNC_ABI
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: __attribute__((sysv_abi))
    - item_type: preproc_def
      name: NEED_COMMON64
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NEED_COMMON32BI
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SHA3_DELIMITED_SUFFIX
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: '0x06'
    - item_type: preproc_def
      name: SHAKE_DELIMITED_SUFFIX
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: '0x1F'
    - item_type: preproc_def
      name: CSHAKE_DELIMITED_SUFFIX
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: HAVE_ALIGNED_ABSORB_LANES64
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: '1'
    - item_type: preproc_def
      name: KECCAK_F1600_PERMUTE_FUNC_NAME
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: keccak_f1600_state_permute64
    - item_type: preproc_def
      name: KECCAK_F1600_ABSORB_FUNC_NAME
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: keccak_absorb_lanes64
    - item_type: preproc_def
      name: KECCAK_F1600_PERMUTE_FUNC_NAME
      pos:
        line_end: 565
        line_start: 564
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: keccak_f1600_state_permute64_shld
    - item_type: preproc_def
      name: KECCAK_F1600_ABSORB_FUNC_NAME
      pos:
        line_end: 566
        line_start: 565
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: keccak_absorb_lanes64_shld
    - item_type: preproc_def
      name: KECCAK_F1600_PERMUTE_FUNC_NAME
      pos:
        line_end: 601
        line_start: 600
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: keccak_f1600_state_permute64_bmi2
    - item_type: preproc_def
      name: KECCAK_F1600_ABSORB_FUNC_NAME
      pos:
        line_end: 602
        line_start: 601
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: keccak_absorb_lanes64_bmi2
    - item_type: preproc_def
      name: KECCAK_F1600_PERMUTE_FUNC_NAME
      pos:
        line_end: 643
        line_start: 642
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: keccak_f1600_state_permute64_riscv_zbb
    - item_type: preproc_def
      name: KECCAK_F1600_ABSORB_FUNC_NAME
      pos:
        line_end: 644
        line_start: 643
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: keccak_absorb_lanes64_riscv_zbb
    - item_type: preproc_def
      name: KECCAK_F1600_PERMUTE_FUNC_NAME
      pos:
        line_end: 779
        line_start: 778
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: keccak_f1600_state_permute32bi
    - item_type: preproc_def
      name: KECCAK_F1600_PERMUTE_FUNC_NAME
      pos:
        line_end: 837
        line_start: 836
        source_file: /src/libgcrypt/cipher/keccak.c
      type_or_value: keccak_f1600_state_permute32bi_bmi2
    structs:
    - fields:
      - name: u
        type: "union {\n#ifdef NEED_COMMON64\n    u64 state64[25];\n#endif\n#ifdef
          NEED_COMMON32BI\n    u32 state32bi[50];\n#endif\n  }"
      item_type: struct
      name: KECCAK_STATE
      pos:
        line_end: 135
        line_start: 125
        source_file: /src/libgcrypt/cipher/keccak.c
    - fields:
      - name: (*permute)(KECCAK_STATE *hd)
        type: unsigned int
      - name: "(*absorb)(KECCAK_STATE *hd, int pos, const byte *lanes,\n\t\t\t size_t
          nlanes, int blocklanes)"
        type: unsigned int
      - name: "(*extract) (KECCAK_STATE *hd, unsigned int pos, byte *outbuf,\n\t\t\t
          \  unsigned int outlen)"
        type: unsigned int
      item_type: struct
      name: keccak_ops_t
      pos:
        line_end: 145
        line_start: 138
        source_file: /src/libgcrypt/cipher/keccak.c
    - fields:
      - name: state
        type: KECCAK_STATE
      - name: outlen
        type: unsigned int
      - name: blocksize
        type: unsigned int
      - name: count
        type: unsigned int
      - name: suffix
        type: unsigned int
      - name: shake_in_extract_mode
        type: unsigned int
      - name: shake_in_read_mode
        type: unsigned int
      - name: '*ops'
        type: keccak_ops_t
      item_type: struct
      name: KECCAK_CONTEXT_S
      pos:
        line_end: 163
        line_start: 148
        source_file: /src/libgcrypt/cipher/keccak.c
    typedefs: []
    union: []
- function_names:
  - KYBER_KEYPAIR_STACK_BURN
  - KYBER_ENCAP_STACK_BURN
  - KYBER_DECAP_STACK_BURN
  source_file: /src/libgcrypt/cipher/kyber.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: kyber_keypair
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: _gcry_mlkem_keypair
    - item_type: preproc_def
      name: kyber_encap
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: _gcry_mlkem_encap
    - item_type: preproc_def
      name: kyber_decap
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: _gcry_mlkem_decap
    - item_type: preproc_def
      name: CRYPTO_SECRETKEYBYTES
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: (2*384+2*384+32+2*32)
    - item_type: preproc_def
      name: CRYPTO_PUBLICKEYBYTES
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: (2*384+32)
    - item_type: preproc_def
      name: CRYPTO_CIPHERTEXTBYTES
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: (128+2*320)
    - item_type: preproc_def
      name: CRYPTO_BYTES
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: '32'
    - item_type: preproc_def
      name: CRYPTO_ALGNAME
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: '"Kyber512"'
    - item_type: preproc_def
      name: CRYPTO_SECRETKEYBYTES
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: (3*384+3*384+32+2*32)
    - item_type: preproc_def
      name: CRYPTO_PUBLICKEYBYTES
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: (3*384+32)
    - item_type: preproc_def
      name: CRYPTO_CIPHERTEXTBYTES
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: (128+3*320)
    - item_type: preproc_def
      name: CRYPTO_BYTES
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: '32'
    - item_type: preproc_def
      name: CRYPTO_ALGNAME
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: '"Kyber768"'
    - item_type: preproc_def
      name: CRYPTO_SECRETKEYBYTES
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: (4*384+2*384+32+2*32)
    - item_type: preproc_def
      name: CRYPTO_PUBLICKEYBYTES
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: (4*384+32)
    - item_type: preproc_def
      name: CRYPTO_CIPHERTEXTBYTES
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: (160+2*352)
    - item_type: preproc_def
      name: CRYPTO_BYTES
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: '32'
    - item_type: preproc_def
      name: CRYPTO_ALGNAME
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: '"Kyber1024"'
    - item_type: preproc_def
      name: CRYPTO_SECRETKEYBYTES_512
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: (2*384+2*384+32+2*32)
    - item_type: preproc_def
      name: CRYPTO_PUBLICKEYBYTES_512
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: (2*384+32)
    - item_type: preproc_def
      name: CRYPTO_CIPHERTEXTBYTES_512
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: (128+2*320)
    - item_type: preproc_def
      name: CRYPTO_BYTES_512
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: '32'
    - item_type: preproc_def
      name: CRYPTO_SECRETKEYBYTES_768
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: (3*384+3*384+32+2*32)
    - item_type: preproc_def
      name: CRYPTO_PUBLICKEYBYTES_768
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: (3*384+32)
    - item_type: preproc_def
      name: CRYPTO_CIPHERTEXTBYTES_768
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: (128+3*320)
    - item_type: preproc_def
      name: CRYPTO_BYTES_768
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: '32'
    - item_type: preproc_def
      name: CRYPTO_SECRETKEYBYTES_1024
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: (4*384+2*384+32+2*32)
    - item_type: preproc_def
      name: CRYPTO_PUBLICKEYBYTES_1024
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: (4*384+32)
    - item_type: preproc_def
      name: CRYPTO_CIPHERTEXTBYTES_1024
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: (160+2*352)
    - item_type: preproc_def
      name: CRYPTO_BYTES_1024
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: '32'
    - item_type: preproc_def
      name: CRYPTO_ALGNAME
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: '"Kyber"'
    - item_type: preproc_def
      name: crypto_kem_keypair_derand_2
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: crypto_kem_keypair_derand_512
    - item_type: preproc_def
      name: crypto_kem_keypair_derand_3
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: crypto_kem_keypair_derand_768
    - item_type: preproc_def
      name: crypto_kem_keypair_derand_4
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: crypto_kem_keypair_derand_1024
    - item_type: preproc_def
      name: crypto_kem_keypair_2
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: crypto_kem_keypair_512
    - item_type: preproc_def
      name: crypto_kem_keypair_3
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: crypto_kem_keypair_768
    - item_type: preproc_def
      name: crypto_kem_keypair_4
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: crypto_kem_keypair_1024
    - item_type: preproc_def
      name: crypto_kem_enc_derand_2
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: crypto_kem_enc_derand_512
    - item_type: preproc_def
      name: crypto_kem_enc_derand_3
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: crypto_kem_enc_derand_768
    - item_type: preproc_def
      name: crypto_kem_enc_derand_4
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: crypto_kem_enc_derand_1024
    - item_type: preproc_def
      name: crypto_kem_enc_2
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: crypto_kem_enc_512
    - item_type: preproc_def
      name: crypto_kem_enc_3
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: crypto_kem_enc_768
    - item_type: preproc_def
      name: crypto_kem_enc_4
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: crypto_kem_enc_1024
    - item_type: preproc_def
      name: crypto_kem_dec_2
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: crypto_kem_dec_512
    - item_type: preproc_def
      name: crypto_kem_dec_3
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: crypto_kem_dec_768
    - item_type: preproc_def
      name: crypto_kem_dec_4
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/libgcrypt/cipher/kyber.h
      type_or_value: crypto_kem_dec_1024
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_cipher_eax_encrypt
  - _gcry_cipher_eax_decrypt
  - _gcry_cipher_eax_authenticate
  - _gcry_cipher_eax_setkey
  - _gcry_cipher_eax_set_nonce
  - _gcry_cipher_eax_tag
  - _gcry_cipher_eax_get_tag
  - _gcry_cipher_eax_check_tag
  source_file: /src/libgcrypt/cipher/cipher-eax.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - aes_ocb_get_l
  - aesni_prepare
  - aesni_prepare_2_7
  - aesni_prepare_8_15
  - aesni_cleanup
  - aesni_cleanup_2_7
  - aesni_cleanup_8_15
  - aesni_prepare
  - aesni_prepare_2_7
  - aesni_cleanup
  - aesni_cleanup_2_7
  - aesni_prepare_8_15
  - aesni_cleanup_8_15
  - ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_do_setkey
  - AESKEYGENASSIST_xmm1_xmm2
  - AESKEYGENASSIST_xmm3_xmm2
  - AESKEYGENASSIST_xmm1_xmm2
  - AESKEYGENASSIST_xmm3_xmm2
  - do_aesni_prepare_decryption
  - DO_AESNI_AESIMC
  - ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_prepare_decryption
  - do_aesni_enc
  - do_aesni_dec
  - do_aesni_enc_vec4
  - do_aesni_dec_vec4
  - do_aesni_enc_vec8
  - do_aesni_dec_vec8
  - do_aesni_ctr
  - ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_encrypt
  - ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_ecb_crypt
  - ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_cfb_enc
  - ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_cbc_enc
  - ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_decrypt
  - ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_cfb_dec
  - ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_cbc_dec
  - aesni_ocb_checksum
  - ASM_FUNC_ATTR_NOINLINE::aesni_ocb_enc
  - ASM_FUNC_ATTR_NOINLINE::aesni_ocb_dec
  - ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_ocb_crypt
  - ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_ocb_auth
  - ASM_FUNC_ATTR::_gcry_aes_aesni_xts_enc
  - ASM_FUNC_ATTR::_gcry_aes_aesni_xts_dec
  - ASM_FUNC_ATTR_NOINLINE::_gcry_aes_aesni_xts_crypt
  source_file: /src/libgcrypt/cipher/rijndael-aesni.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_NOINLINE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: ASM_FUNC_ATTR NO_INLINE
    - item_type: preproc_def
      name: aesni_prepare_2_7_variable
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: char win64tmp[16 * 2]
    - item_type: preproc_def
      name: aesni_prepare_8_15_variable
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: char win64tmp8_15[16 * 8]
    - item_type: preproc_def
      name: AESKEY_EXPAND128
      pos:
        line_end: 190
        line_start: 180
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: "\"pshufd $0xff, %%xmm2, %%xmm2\\n\\t\" \\\n\t\"movdqa %%xmm1,
        %%xmm3\\n\\t\" \\\n\t\"pslldq $4, %%xmm3\\n\\t\" \\\n\t\"pxor   %%xmm3, %%xmm1\\n\\t\"
        \\\n\t\"pslldq $4, %%xmm3\\n\\t\" \\\n\t\"pxor   %%xmm3, %%xmm1\\n\\t\" \\\n\t\"pslldq
        $4, %%xmm3\\n\\t\" \\\n\t\"pxor   %%xmm3, %%xmm2\\n\\t\" \\\n\t\"pxor   %%xmm2,
        %%xmm1\\n\\t\""
    - item_type: preproc_def
      name: AESKEY_EXPAND192
      pos:
        line_end: 249
        line_start: 234
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: "\"pshufd $0x55, %%xmm2, %%xmm2\\n\\t\" \\\n\t\"movdqu %%xmm1,
        %%xmm4\\n\\t\" \\\n\t\"pslldq $4, %%xmm4\\n\\t\" \\\n\t\"pxor %%xmm4, %%xmm1\\n\\t\"
        \\\n\t\"pslldq $4, %%xmm4\\n\\t\" \\\n\t\"pxor %%xmm4, %%xmm1\\n\\t\" \\\n\t\"pslldq
        $4, %%xmm4\\n\\t\" \\\n\t\"pxor %%xmm4, %%xmm1\\n\\t\" \\\n\t\"pxor %%xmm2,
        %%xmm1\\n\\t\" \\\n\t\"pshufd $0xff, %%xmm1, %%xmm2\\n\\t\" \\\n\t\"movdqu
        %%xmm3, %%xmm4\\n\\t\" \\\n\t\"pslldq $4, %%xmm4\\n\\t\" \\\n\t\"pxor %%xmm4,
        %%xmm3\\n\\t\" \\\n\t\"pxor %%xmm2, %%xmm3\\n\\t\""
    - item_type: preproc_def
      name: AESKEY_EXPAND256_A
      pos:
        line_end: 324
        line_start: 314
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: "\"pshufd $0xff, %%xmm2, %%xmm2\\n\\t\" \\\n\t\"movdqa %%xmm1,
        %%xmm4\\n\\t\" \\\n\t\"pslldq $4, %%xmm4\\n\\t\" \\\n\t\"pxor %%xmm4, %%xmm1\\n\\t\"
        \\\n\t\"pslldq $4, %%xmm4\\n\\t\" \\\n\t\"pxor %%xmm4, %%xmm1\\n\\t\" \\\n\t\"pslldq
        $4, %%xmm4\\n\\t\" \\\n\t\"pxor %%xmm4, %%xmm1\\n\\t\" \\\n\t\"pxor %%xmm2,
        %%xmm1\\n\\t\""
    - item_type: preproc_def
      name: AESKEY_EXPAND256_B
      pos:
        line_end: 334
        line_start: 324
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: "\"pshufd $0xaa, %%xmm2, %%xmm2\\n\\t\" \\\n\t\"movdqa %%xmm3,
        %%xmm4\\n\\t\" \\\n\t\"pslldq $4, %%xmm4\\n\\t\" \\\n\t\"pxor %%xmm4, %%xmm3\\n\\t\"
        \\\n\t\"pslldq $4, %%xmm4\\n\\t\" \\\n\t\"pxor %%xmm4, %%xmm3\\n\\t\" \\\n\t\"pslldq
        $4, %%xmm4\\n\\t\" \\\n\t\"pxor %%xmm4, %%xmm3\\n\\t\" \\\n\t\"pxor %%xmm2,
        %%xmm3\\n\\t\""
    - item_type: preproc_def
      name: aesenc_xmm1_xmm0
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdc, 0xc1\n\t"'
    - item_type: preproc_def
      name: aesenclast_xmm1_xmm0
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdd, 0xc1\n\t"'
    - item_type: preproc_def
      name: aesdec_xmm1_xmm0
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xde, 0xc1\n\t"'
    - item_type: preproc_def
      name: aesdeclast_xmm1_xmm0
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdf, 0xc1\n\t"'
    - item_type: preproc_def
      name: aesenc_xmm0_xmm1
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdc, 0xc8\n\t"'
    - item_type: preproc_def
      name: aesenc_xmm0_xmm2
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdc, 0xd0\n\t"'
    - item_type: preproc_def
      name: aesenc_xmm0_xmm3
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdc, 0xd8\n\t"'
    - item_type: preproc_def
      name: aesenc_xmm0_xmm4
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdc, 0xe0\n\t"'
    - item_type: preproc_def
      name: aesenclast_xmm0_xmm1
      pos:
        line_end: 583
        line_start: 582
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdd, 0xc8\n\t"'
    - item_type: preproc_def
      name: aesenclast_xmm0_xmm2
      pos:
        line_end: 584
        line_start: 583
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdd, 0xd0\n\t"'
    - item_type: preproc_def
      name: aesenclast_xmm0_xmm3
      pos:
        line_end: 585
        line_start: 584
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdd, 0xd8\n\t"'
    - item_type: preproc_def
      name: aesenclast_xmm0_xmm4
      pos:
        line_end: 586
        line_start: 585
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdd, 0xe0\n\t"'
    - item_type: preproc_def
      name: aesdec_xmm0_xmm1
      pos:
        line_end: 688
        line_start: 687
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xde, 0xc8\n\t"'
    - item_type: preproc_def
      name: aesdec_xmm0_xmm2
      pos:
        line_end: 689
        line_start: 688
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xde, 0xd0\n\t"'
    - item_type: preproc_def
      name: aesdec_xmm0_xmm3
      pos:
        line_end: 690
        line_start: 689
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xde, 0xd8\n\t"'
    - item_type: preproc_def
      name: aesdec_xmm0_xmm4
      pos:
        line_end: 691
        line_start: 690
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xde, 0xe0\n\t"'
    - item_type: preproc_def
      name: aesdeclast_xmm0_xmm1
      pos:
        line_end: 692
        line_start: 691
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdf, 0xc8\n\t"'
    - item_type: preproc_def
      name: aesdeclast_xmm0_xmm2
      pos:
        line_end: 693
        line_start: 692
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdf, 0xd0\n\t"'
    - item_type: preproc_def
      name: aesdeclast_xmm0_xmm3
      pos:
        line_end: 694
        line_start: 693
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdf, 0xd8\n\t"'
    - item_type: preproc_def
      name: aesdeclast_xmm0_xmm4
      pos:
        line_end: 695
        line_start: 694
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdf, 0xe0\n\t"'
    - item_type: preproc_def
      name: aesenc_xmm1_xmm0
      pos:
        line_end: 1073
        line_start: 1072
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdc, 0xc1\n\t"'
    - item_type: preproc_def
      name: aesenclast_xmm1_xmm0
      pos:
        line_end: 1074
        line_start: 1073
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdd, 0xc1\n\t"'
    - item_type: preproc_def
      name: aesenc_xmm1_xmm0
      pos:
        line_end: 1143
        line_start: 1142
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdc, 0xc1\n\t"'
    - item_type: preproc_def
      name: aesenc_xmm1_xmm2
      pos:
        line_end: 1144
        line_start: 1143
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdc, 0xd1\n\t"'
    - item_type: preproc_def
      name: aesenc_xmm1_xmm3
      pos:
        line_end: 1145
        line_start: 1144
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdc, 0xd9\n\t"'
    - item_type: preproc_def
      name: aesenc_xmm1_xmm4
      pos:
        line_end: 1146
        line_start: 1145
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdc, 0xe1\n\t"'
    - item_type: preproc_def
      name: aesenclast_xmm1_xmm0
      pos:
        line_end: 1147
        line_start: 1146
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdd, 0xc1\n\t"'
    - item_type: preproc_def
      name: aesenclast_xmm1_xmm2
      pos:
        line_end: 1148
        line_start: 1147
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdd, 0xd1\n\t"'
    - item_type: preproc_def
      name: aesenclast_xmm1_xmm3
      pos:
        line_end: 1149
        line_start: 1148
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdd, 0xd9\n\t"'
    - item_type: preproc_def
      name: aesenclast_xmm1_xmm4
      pos:
        line_end: 1150
        line_start: 1149
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdd, 0xe1\n\t"'
    - item_type: preproc_def
      name: aesenc_xmm1_xmm0
      pos:
        line_end: 1834
        line_start: 1833
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdc, 0xc1\n\t"'
    - item_type: preproc_def
      name: aesenclast_xmm1_xmm0
      pos:
        line_end: 1835
        line_start: 1834
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdd, 0xc1\n\t"'
    - item_type: preproc_def
      name: aesenclast_xmm5_xmm0
      pos:
        line_end: 1836
        line_start: 1835
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdd, 0xc5\n\t"'
    - item_type: preproc_def
      name: aesenc_xmm1_xmm0
      pos:
        line_end: 1946
        line_start: 1945
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdc, 0xc1\n\t"'
    - item_type: preproc_def
      name: aesenclast_xmm4_xmm0
      pos:
        line_end: 1947
        line_start: 1946
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdd, 0xc4\n\t"'
    - item_type: preproc_def
      name: aesenclast_xmm3_xmm5
      pos:
        line_end: 1948
        line_start: 1947
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
      type_or_value: '".byte 0x66, 0x0f, 0x38, 0xdd, 0xeb\n\t"'
    structs:
    - fields:
      - name: a
        type: u32
      item_type: struct
      name: u128_s
      pos:
        line_end: 57
        line_start: 54
        source_file: /src/libgcrypt/cipher/rijndael-aesni.c
    typedefs: []
    union: []
- function_names:
  - vuint32m1_t::working_vsha2cl_vv_u32m1
  - QUAD_ROUND_W_SCHED
  - QUAD_ROUND_NO_SCHED
  - vuint32m1_t::load_and_swap
  - sha256_transform_zvknha_zvkb
  - _gcry_sha256_transform_riscv_zvknha_zvkb
  - _gcry_sha256_riscv_v_check_hw
  source_file: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_NOINLINE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c
      type_or_value: ASM_FUNC_ATTR NO_INLINE
    - item_type: preproc_def
      name: FUNC_ATTR_OPT_O2
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/libgcrypt/cipher/sha256-riscv-zvknha-zvkb.c
      type_or_value: __attribute__((optimize("-O2")))
    structs: []
    typedefs: []
    union: []
- function_names:
  - byteswap_u64x2
  - veor_u64x2
  - veor_u64x1
  - vand_u64x1
  - vorr_u64x1
  - emulate_vmull_p64
  - uint64x2x2_t::pmul_128x128
  - reduction
  - _gcry_ghash_aarch64_simd
  - gcm_lsh_1
  - _gcry_ghash_setup_aarch64_simd
  source_file: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_NOINLINE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/cipher/cipher-gcm-aarch64-simd.c
      type_or_value: ASM_FUNC_ATTR NO_INLINE
    structs: []
    typedefs: []
    union: []
- function_names:
  - clmul_low
  - clmul_high
  - byteswap_u64
  - and_u64
  - byteswap_u64x2
  - byteswap_u32
  - load_aligned_u32
  - load_aligned_u64x2
  - clmul_128
  - xor_128
  - crc32r_reduction_4
  - bulk_crc32r
  - tail_crc32r
  - do_crc32r
  - ASM_FUNC_ATTR::_gcry_crc32_riscv_zbb_zbc
  - crc32_reduction_4
  - bulk_crc32
  - tail_crc32
  - do_crc32
  - ASM_FUNC_ATTR::_gcry_crc24rfc2440_riscv_zbb_zbc
  source_file: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_NOINLINE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
      type_or_value: ASM_FUNC_ATTR NO_INLINE
    structs:
    - fields:
      - name: lo
        type: u64
      - name: hi
        type: u64
      item_type: struct
      name: u64x2
      pos:
        line_end: 49
        line_start: 45
        source_file: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    - fields:
      - name: k[3]
        type: u64
      - name: my_p[2]
        type: u64
      item_type: struct
      name: crc32_consts_s
      pos:
        line_end: 60
        line_start: 54
        source_file: /src/libgcrypt/cipher/crc-riscv-zbb-zbc.c
    typedefs: []
    union: []
- function_names:
  - SWAP
  - GETU32
  - PUTU32
  - GETU32
  - PUTU32
  - CamelliaSubkeyL
  - CamelliaSubkeyR
  - CAMELLIA_RR8
  - CAMELLIA_RL1
  - CAMELLIA_RL8
  - CAMELLIA_ROLDQ
  - CAMELLIA_ROLDQo32
  - CAMELLIA_SP1110
  - CAMELLIA_SP0222
  - CAMELLIA_SP3033
  - CAMELLIA_SP4404
  - CAMELLIA_F
  - CAMELLIA_FLS
  - CAMELLIA_ROUNDSM
  - subl
  - subr
  - camellia_setup128
  - camellia_setup256
  - camellia_setup192
  - camellia_encrypt128
  - camellia_decrypt128
  - camellia_encrypt256
  - camellia_decrypt256
  - Camellia_Ekeygen
  - Camellia_EncryptBlock
  - Camellia_DecryptBlock
  source_file: /src/libgcrypt/cipher/camellia.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CAMELLIA_SIGMA1L
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/camellia.c
      type_or_value: (0xA09E667FL)
    - item_type: preproc_def
      name: CAMELLIA_SIGMA1R
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/camellia.c
      type_or_value: (0x3BCC908BL)
    - item_type: preproc_def
      name: CAMELLIA_SIGMA2L
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/cipher/camellia.c
      type_or_value: (0xB67AE858L)
    - item_type: preproc_def
      name: CAMELLIA_SIGMA2R
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/cipher/camellia.c
      type_or_value: (0x4CAA73B2L)
    - item_type: preproc_def
      name: CAMELLIA_SIGMA3L
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgcrypt/cipher/camellia.c
      type_or_value: (0xC6EF372FL)
    - item_type: preproc_def
      name: CAMELLIA_SIGMA3R
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/cipher/camellia.c
      type_or_value: (0xE94F82BEL)
    - item_type: preproc_def
      name: CAMELLIA_SIGMA4L
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/camellia.c
      type_or_value: (0x54FF53A5L)
    - item_type: preproc_def
      name: CAMELLIA_SIGMA4R
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/cipher/camellia.c
      type_or_value: (0xF1D36F1CL)
    - item_type: preproc_def
      name: CAMELLIA_SIGMA5L
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgcrypt/cipher/camellia.c
      type_or_value: (0x10E527FAL)
    - item_type: preproc_def
      name: CAMELLIA_SIGMA5R
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/camellia.c
      type_or_value: (0xDE682D1DL)
    - item_type: preproc_def
      name: CAMELLIA_SIGMA6L
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/camellia.c
      type_or_value: (0xB05688C2L)
    - item_type: preproc_def
      name: CAMELLIA_SIGMA6R
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/camellia.c
      type_or_value: (0xB3E6C1FDL)
    structs: []
    typedefs:
    - item_type: typedef
      name: u8
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/libgcrypt/cipher/camellia.c
      type: byte
    union: []
- function_names:
  - do_encrypt_block
  - do_decrypt_block
  - cast5_amd64_ctr_enc
  - cast5_amd64_cbc_dec
  - cast5_amd64_cfb_dec
  - encrypt_block
  - decrypt_block
  - do_encrypt_block
  - do_decrypt_block
  - encrypt_block
  - decrypt_block
  - F1
  - F2
  - F3
  - do_encrypt_block
  - encrypt_block
  - do_encrypt_block_3
  - do_decrypt_block
  - decrypt_block
  - do_decrypt_block_3
  - _gcry_cast5_ctr_enc
  - _gcry_cast5_cbc_dec
  - _gcry_cast5_cfb_dec
  - selftest
  - key_schedule
  - xi
  - zi
  - do_cast_setkey
  - cast_setkey
  source_file: /src/libgcrypt/cipher/cast5.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_AMD64_ASM
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/cipher/cast5.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_ASM
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgcrypt/cipher/cast5.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CAST5_BLOCKSIZE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libgcrypt/cipher/cast5.c
      type_or_value: '8'
    - item_type: preproc_def
      name: s1
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libgcrypt/cipher/cast5.c
      type_or_value: _gcry_cast5_s1to4[0]
    - item_type: preproc_def
      name: s2
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libgcrypt/cipher/cast5.c
      type_or_value: _gcry_cast5_s1to4[1]
    - item_type: preproc_def
      name: s3
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/libgcrypt/cipher/cast5.c
      type_or_value: _gcry_cast5_s1to4[2]
    - item_type: preproc_def
      name: s4
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libgcrypt/cipher/cast5.c
      type_or_value: _gcry_cast5_s1to4[3]
    structs:
    - fields:
      - name: Km[16]
        type: u32
      - name: Kr[16]
        type: byte
      item_type: struct
      name: CAST5_context
      pos:
        line_end: 72
        line_start: 65
        source_file: /src/libgcrypt/cipher/cast5.c
    typedefs: []
    union: []
- function_names:
  - vpunpckhdq
  - vpunpckldq
  - vpunpckhqdq
  - vpunpcklqdq
  - vpbroadcastd
  - vrol
  - vror
  - vshl
  - transpose_4x4
  - SBOX0
  - SBOX0_INVERSE
  - SBOX1
  - SBOX1_INVERSE
  - SBOX2
  - SBOX2_INVERSE
  - SBOX3
  - SBOX3_INVERSE
  - SBOX4
  - SBOX4_INVERSE
  - SBOX5
  - SBOX5_INVERSE
  - SBOX6
  - SBOX6_INVERSE
  - SBOX7
  - SBOX7_INVERSE
  - BLOCK_XOR_KEY
  - BLOCK_COPY
  - SBOX
  - SBOX_INVERSE
  - LINEAR_TRANSFORMATION
  - LINEAR_TRANSFORMATION_INVERSE
  - ROUND
  - ROUND_LAST
  - ROUND_INVERSE
  - ROUND_FIRST_INVERSE
  - serpent_encrypt_internal_avx512
  - serpent_decrypt_internal_avx512
  - ocb_input
  - serpent_avx512_blk32
  - CLEAR
  - _gcry_serpent_avx512_blk32
  - _gcry_serpent_avx512_cbc_dec
  - _gcry_serpent_avx512_cfb_dec
  - _gcry_serpent_avx512_ctr_enc
  - _gcry_serpent_avx512_ocb_crypt
  source_file: /src/libgcrypt/cipher/serpent-avx512-x86.c
  types:
    enum:
    - enumerators:
      - name: ECB_ENC
        value: '0'
      - name: ECB_DEC
      - name: CBC_DEC
      - name: CTR_ENC
      - name: CFB_DEC
      - name: OCB_ENC
      - name: OCB_DEC
      item_type: enum
      name: crypt_mode_e
      pos:
        line_end: 602
        line_start: 593
        source_file: /src/libgcrypt/cipher/serpent-avx512-x86.c
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/cipher/serpent-avx512-x86.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/cipher/serpent-avx512-x86.c
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: ROUNDS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/serpent-avx512-x86.c
      type_or_value: '32'
    structs: []
    typedefs:
    - item_type: typedef
      name: serpent_block_t[4]
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/libgcrypt/cipher/serpent-avx512-x86.c
      type: unsigned int
    - item_type: typedef
      name: serpent_subkeys_t[ROUNDS + 1][4]
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/libgcrypt/cipher/serpent-avx512-x86.c
      type: unsigned int
    union: []
- function_names:
  - map_algo
  - spec_from_algo
  - spec_from_name
  - spec_from_oid
  - search_oid
  - _gcry_cipher_map_name
  - _gcry_cipher_mode_from_oid
  - _gcry_cipher_algo_name
  - disable_cipher_algo
  - check_cipher_algo
  - cipher_get_keylen
  - cipher_get_blocksize
  - _gcry_cipher_open
  - cipher_modes_fips_compliance
  - cipher_int_modes_fips_compliance
  - _gcry_cipher_mode_fips_compliance
  - _gcry_cipher_open_internal
  - _gcry_cipher_close
  - cipher_setkey
  - cipher_setiv
  - cipher_reset
  - do_ecb_crypt
  - do_ecb_encrypt
  - do_ecb_decrypt
  - do_stream_encrypt
  - do_stream_decrypt
  - do_encrypt_none_unknown
  - do_decrypt_none_unknown
  - _gcry_cipher_encrypt
  - _gcry_cipher_decrypt
  - cipher_sync
  - _gcry_cipher_setkey
  - _gcry_cipher_setiv
  - _gcry_cipher_setctr
  - _gcry_cipher_getctr
  - _gcry_cipher_setup_geniv
  - _gcry_cipher_geniv
  - _gcry_cipher_authenticate
  - _gcry_cipher_gettag
  - _gcry_cipher_checktag
  - _gcry_cipher_setup_mode_ops
  - _gcry_cipher_ctl
  - _gcry_cipher_info
  - _gcry_cipher_algo_info
  - _gcry_cipher_get_algo_keylen
  - _gcry_cipher_get_algo_blklen
  - _gcry_cipher_init
  - _gcry_cipher_selftest
  source_file: /src/libgcrypt/cipher/cipher.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - gost_do_set_sbox
  - gost_setkey
  - gost_val
  - _gost_encrypt_data
  - gost_encrypt_block
  - _gcry_gost_enc_data
  - gost_decrypt_block
  - gost_set_sbox
  - gost_set_extra_info
  - cryptopro_key_meshing
  - gost_encrypt_block_mesh
  - gost_imit_open
  - gost_imit_close
  - gost_imit_setkey
  - gost_imit_setiv
  - gost_imit_reset
  - _gost_imit_block
  - gost_imit_block
  - gost_imit_write
  - gost_imit_finish
  - gost_imit_read
  - gost_imit_verify
  - gost_imit_get_maclen
  - gost_imit_get_keylen
  - gost_imit_set_extra_info
  source_file: /src/libgcrypt/cipher/gost28147.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_cipher_ctr_encrypt_ctx
  - _gcry_cipher_ctr_encrypt
  source_file: /src/libgcrypt/cipher/cipher-ctr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_ecc_curve_free
  - _gcry_ecc_curve_copy
  - _gcry_ecc_model2str
  - _gcry_ecc_dialect2str
  - _gcry_ecc_ec2os_buf
  - _gcry_ecc_ec2os
  - _gcry_mpi_ec_ec2os
  - _gcry_ecc_sec_decodepoint
  - _gcry_ecc_compute_public
  - _gcry_ecc_mont_encodepoint
  - _gcry_ecc_mont_decodepoint
  source_file: /src/libgcrypt/cipher/ecc-misc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bulk_ocb_prepare_L_pointers_array_blk64
  - bulk_ocb_prepare_L_pointers_array_blk32
  - bulk_ocb_prepare_L_pointers_array_blk16
  - bulk_ocb_prepare_L_pointers_array_blk8
  - bulk_ctr_enc_128
  - bulk_ctr32le_enc_128
  - bulk_cbc_dec_128
  - bulk_cfb_dec_128
  - bulk_ocb_crypt_128
  - bulk_ocb_auth_128
  - bulk_xts_crypt_128
  - bulk_ecb_crypt_128
  source_file: /src/libgcrypt/cipher/bulkhelp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: ocb_L_uintptr_t
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/libgcrypt/cipher/bulkhelp.h
      type: u64
    - item_type: typedef
      name: ocb_L_uintptr_t
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/libgcrypt/cipher/bulkhelp.h
      type: uintptr_t
    - item_type: typedef
      name: "(*bulk_crypt_fn_t) (void *ctx, byte *out,\n                                         const
        byte *in,\n                                         size_t num_blks)"
      pos:
        line_end: 36
        line_start: 34
        source_file: /src/libgcrypt/cipher/bulkhelp.h
      type: unsigned int
    union: []
- function_names:
  - double_block
  - bit_copy
  - ocb_get_L_big
  - _gcry_cipher_ocb_setkey
  - _gcry_cipher_ocb_set_nonce
  - _gcry_cipher_ocb_authenticate
  - ocb_aad_finalize
  - ocb_checksum
  - ocb_crypt
  - _gcry_cipher_ocb_encrypt
  - _gcry_cipher_ocb_decrypt
  - compute_tag_if_needed
  - _gcry_cipher_ocb_get_tag
  - _gcry_cipher_ocb_check_tag
  source_file: /src/libgcrypt/cipher/cipher-ocb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - buf_get_be32
  - buf_get_le32
  - buf_put_be32
  - buf_put_le32
  - buf_get_be64
  - buf_get_le64
  - buf_put_be64
  - buf_put_le64
  - buf_load32_maybe_unaligned
  - buf_store32_maybe_unaligned
  - buf_load64_maybe_unaligned
  - buf_store64_maybe_unaligned
  - buf_load32_maybe_unaligned
  - buf_store32_maybe_unaligned
  - buf_load64_maybe_unaligned
  - buf_store64_maybe_unaligned
  - buf_load32
  - buf_store32
  - buf_load64
  - buf_store64
  - buf_get_be32
  - buf_get_le32
  - buf_put_be32
  - buf_put_le32
  - buf_get_be64
  - buf_get_le64
  - buf_put_be64
  - buf_put_le64
  - buf_cpy
  - buf_xor
  - buf_xor_2dst
  - buf_xor_n_copy_2
  - buf_xor_n_copy
  - buf_eq_const
  source_file: /src/libgcrypt/cipher/bufhelp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFHELP_UNALIGNED_ACCESS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/cipher/bufhelp.h
      type_or_value: '1'
    - item_type: preproc_def
      name: buf_get_he32
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/libgcrypt/cipher/bufhelp.h
      type_or_value: buf_get_be32
    - item_type: preproc_def
      name: buf_put_he32
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/libgcrypt/cipher/bufhelp.h
      type_or_value: buf_put_be32
    - item_type: preproc_def
      name: buf_get_he64
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/libgcrypt/cipher/bufhelp.h
      type_or_value: buf_get_be64
    - item_type: preproc_def
      name: buf_put_he64
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/libgcrypt/cipher/bufhelp.h
      type_or_value: buf_put_be64
    - item_type: preproc_def
      name: buf_get_he32
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/libgcrypt/cipher/bufhelp.h
      type_or_value: buf_get_le32
    - item_type: preproc_def
      name: buf_put_he32
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/libgcrypt/cipher/bufhelp.h
      type_or_value: buf_put_le32
    - item_type: preproc_def
      name: buf_get_he64
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/libgcrypt/cipher/bufhelp.h
      type_or_value: buf_get_le64
    - item_type: preproc_def
      name: buf_put_he64
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/libgcrypt/cipher/bufhelp.h
      type_or_value: buf_put_le64
    structs:
    - fields:
      - name: a
        type: u32
      item_type: struct
      name: bufhelp_u32_s
      pos:
        line_end: 126
        line_start: 123
        source_file: /src/libgcrypt/cipher/bufhelp.h
    - fields:
      - name: a
        type: u32
      item_type: struct
      name: bufhelp_u32_aligned_s
      pos:
        line_end: 131
        line_start: 128
        source_file: /src/libgcrypt/cipher/bufhelp.h
    - fields:
      - name: a
        type: u64
      item_type: struct
      name: bufhelp_u64_s
      pos:
        line_end: 136
        line_start: 133
        source_file: /src/libgcrypt/cipher/bufhelp.h
    - fields:
      - name: a
        type: u64
      item_type: struct
      name: bufhelp_u64_aligned_s
      pos:
        line_end: 141
        line_start: 138
        source_file: /src/libgcrypt/cipher/bufhelp.h
    typedefs: []
    union: []
- function_names:
  - crypto_hash_sha512
  source_file: /src/libgcrypt/cipher/sntrup761.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SNTRUP761_KEYPAIR_STACK_BURN
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/cipher/sntrup761.h
      type_or_value: (26 * 1024)
    - item_type: preproc_def
      name: SNTRUP761_ENC_STACK_BURN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgcrypt/cipher/sntrup761.h
      type_or_value: (23 * 1024)
    - item_type: preproc_def
      name: SNTRUP761_DEC_STACK_BURN
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgcrypt/cipher/sntrup761.h
      type_or_value: (34 * 1024)
    - item_type: preproc_def
      name: sntrup761_keypair
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/cipher/sntrup761.h
      type_or_value: _gcry_sntrup761_keypair
    - item_type: preproc_def
      name: sntrup761_enc
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libgcrypt/cipher/sntrup761.h
      type_or_value: _gcry_sntrup761_enc
    - item_type: preproc_def
      name: sntrup761_dec
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libgcrypt/cipher/sntrup761.h
      type_or_value: _gcry_sntrup761_dec
    - item_type: preproc_def
      name: SNTRUP761_SECRETKEY_SIZE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgcrypt/cipher/sntrup761.h
      type_or_value: '1763'
    - item_type: preproc_def
      name: SNTRUP761_PUBLICKEY_SIZE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libgcrypt/cipher/sntrup761.h
      type_or_value: '1158'
    - item_type: preproc_def
      name: SNTRUP761_CIPHERTEXT_SIZE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgcrypt/cipher/sntrup761.h
      type_or_value: '1039'
    - item_type: preproc_def
      name: SNTRUP761_SIZE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libgcrypt/cipher/sntrup761.h
      type_or_value: '32'
    structs: []
    typedefs:
    - item_type: typedef
      name: sntrup761_random_func (void *ctx, size_t length, uint8_t *dst)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/libgcrypt/cipher/sntrup761.h
      type: void
    union: []
- function_names:
  - _gcry_register_pk_ecc_progress
  - nist_generate_key
  - test_keys
  - test_keys_fips
  - test_keys_eddsa_fips
  - test_ecdh_only_keys
  - check_secret_key
  - ecc_generate
  - ecc_check_secret_key
  - ecc_sign
  - ecc_verify
  - ecc_encrypt_raw
  - ecc_decrypt_raw
  - ecc_get_nbits
  - compute_keygrip
  - _gcry_pk_ecc_get_sexp
  - selftest_hash_sign
  - selftest_hash_sign_eddsa
  - selftest_sign
  - selftests_ecc
  - run_selftests
  source_file: /src/libgcrypt/cipher/ecc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N_COMPONENTS
      pos:
        line_end: 1709
        line_start: 1708
        source_file: /src/libgcrypt/cipher/ecc.c
      type_or_value: '6'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MPI_NBYTES
  - kdf_x9_63
  - _gcry_ecc_sm2_encrypt
  - _gcry_ecc_sm2_decrypt
  - _gcry_ecc_sm2_sign
  - _gcry_ecc_sm2_verify
  source_file: /src/libgcrypt/cipher/ecc-sm2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Rx
  - WK0
  - WK1
  - I2
  - W2
  - ASM_FUNC_ATTR::_gcry_sha512_transform_i386_ssse3
  source_file: /src/libgcrypt/cipher/sha512-ssse3-i386.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libgcrypt/cipher/sha512-ssse3-i386.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libgcrypt/cipher/sha512-ssse3-i386.c
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libgcrypt/cipher/sha512-ssse3-i386.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libgcrypt/cipher/sha512-ssse3-i386.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libgcrypt/cipher/sha512-ssse3-i386.c
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_NOINLINE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/libgcrypt/cipher/sha512-ssse3-i386.c
      type_or_value: ASM_FUNC_ATTR NO_INLINE
    - item_type: preproc_def
      name: RA
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/libgcrypt/cipher/sha512-ssse3-i386.c
      type_or_value: '"%%mm0"'
    - item_type: preproc_def
      name: RB
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/libgcrypt/cipher/sha512-ssse3-i386.c
      type_or_value: '"%%mm1"'
    - item_type: preproc_def
      name: RC
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/libgcrypt/cipher/sha512-ssse3-i386.c
      type_or_value: '"%%mm2"'
    - item_type: preproc_def
      name: RD
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/libgcrypt/cipher/sha512-ssse3-i386.c
      type_or_value: '"%%mm3"'
    - item_type: preproc_def
      name: RE
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/libgcrypt/cipher/sha512-ssse3-i386.c
      type_or_value: '"%%mm4"'
    - item_type: preproc_def
      name: RF
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/libgcrypt/cipher/sha512-ssse3-i386.c
      type_or_value: '"%%mm5"'
    - item_type: preproc_def
      name: RG
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/libgcrypt/cipher/sha512-ssse3-i386.c
      type_or_value: '"%%mm6"'
    - item_type: preproc_def
      name: RH
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/libgcrypt/cipher/sha512-ssse3-i386.c
      type_or_value: '"%%mm7"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_encrypt
  - do_encrypt_block
  - do_decrypt_block
  - blowfish_amd64_ctr_enc
  - blowfish_amd64_cbc_dec
  - blowfish_amd64_cfb_dec
  - encrypt_block
  - decrypt_block
  - do_encrypt
  - do_encrypt_block
  - do_decrypt_block
  - encrypt_block
  - decrypt_block
  - F
  - R
  - R3
  - do_encrypt
  - do_encrypt_3
  - decrypt
  - do_decrypt_3
  - do_encrypt_block
  - encrypt_block
  - do_decrypt_block
  - decrypt_block
  - _gcry_blowfish_ctr_enc
  - _gcry_blowfish_cbc_dec
  - _gcry_blowfish_cfb_dec
  - selftest
  - val_to_hidx
  - add_val
  - do_bf_setkey
  - bf_setkey
  source_file: /src/libgcrypt/cipher/blowfish.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BLOWFISH_BLOCKSIZE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/cipher/blowfish.c
      type_or_value: '8'
    - item_type: preproc_def
      name: BLOWFISH_KEY_MIN_BITS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/blowfish.c
      type_or_value: '8'
    - item_type: preproc_def
      name: BLOWFISH_KEY_MAX_BITS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/cipher/blowfish.c
      type_or_value: '576'
    - item_type: preproc_def
      name: USE_AMD64_ASM
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgcrypt/cipher/blowfish.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_ASM
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgcrypt/cipher/blowfish.c
      type_or_value: '1'
    structs:
    - fields:
      - name: s0[256]
        type: u32
      - name: s1[256]
        type: u32
      - name: s2[256]
        type: u32
      - name: s3[256]
        type: u32
      - name: p[16+2]
        type: u32
      item_type: struct
      name: BLOWFISH_context
      pos:
        line_end: 67
        line_start: 61
        source_file: /src/libgcrypt/cipher/blowfish.c
    - fields:
      - name: val
        type: u32
      - name: nidx
        type: short
      - name: used
        type: char
      item_type: struct
      name: hashset_elem
      pos:
        line_end: 897
        line_start: 893
        source_file: /src/libgcrypt/cipher/blowfish.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/cipher/camellia-ppc9le.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUNC_ATTR_OPT
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libgcrypt/cipher/camellia-ppc9le.c
      type_or_value: __attribute__((optimize("-O2")))
    - item_type: preproc_def
      name: SIMD128_OPT_ATTR
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/cipher/camellia-ppc9le.c
      type_or_value: __attribute__((target("arch=pwr9"))) FUNC_ATTR_OPT
    - item_type: preproc_def
      name: SIMD128_OPT_ATTR
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/cipher/camellia-ppc9le.c
      type_or_value: __attribute__((target("cpu=power9"))) FUNC_ATTR_OPT
    - item_type: preproc_def
      name: SIMD128_OPT_ATTR
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/camellia-ppc9le.c
      type_or_value: FUNC_ATTR_OPT
    - item_type: preproc_def
      name: FUNC_ENC_BLK16
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgcrypt/cipher/camellia-ppc9le.c
      type_or_value: _gcry_camellia_ppc9_encrypt_blk16
    - item_type: preproc_def
      name: FUNC_DEC_BLK16
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/cipher/camellia-ppc9le.c
      type_or_value: _gcry_camellia_ppc9_decrypt_blk16
    - item_type: preproc_def
      name: FUNC_KEY_SETUP
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/camellia-ppc9le.c
      type_or_value: _gcry_camellia_ppc9_keygen
    structs: []
    typedefs: []
    union: []
- function_names:
  - crc32_reflected_bulk
  - crc32_reflected_less_than_16
  - crc32_bulk
  - crc32_less_than_16
  - ASM_FUNC_ATTR::_gcry_crc32_intel_pclmul
  - ASM_FUNC_ATTR::_gcry_crc24rfc2440_intel_pclmul
  source_file: /src/libgcrypt/cipher/crc-intel-pclmul.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/crc-intel-pclmul.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/crc-intel-pclmul.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgcrypt/cipher/crc-intel-pclmul.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgcrypt/cipher/crc-intel-pclmul.c
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ALIGNED_16
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libgcrypt/cipher/crc-intel-pclmul.c
      type_or_value: __attribute__ ((aligned (16)))
    structs:
    - fields:
      - name: a
        type: u16
      item_type: struct
      name: u16_unaligned_s
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/libgcrypt/cipher/crc-intel-pclmul.c
    - fields:
      - name: k[6]
        type: u64
      - name: my_p[2]
        type: u64
      - name: k_ymm[2]
        type: u64
      - name: k_zmm[2]
        type: u64
      item_type: struct
      name: crc32_consts_s
      pos:
        line_end: 74
        line_start: 64
        source_file: /src/libgcrypt/cipher/crc-intel-pclmul.c
    typedefs: []
    union: []
- function_names:
  - poly1305_blocks
  - poly1305_amd64_avx512_blocks
  - poly1305_init
  - ADD_1305_64
  - ADD_1305_64
  - ADD_1305_64
  - ADD_1305_64
  - MUL_MOD_1305_64
  - poly1305_blocks_generic
  - poly1305_blocks
  - poly1305_final
  - UMUL_ADD_32
  - ADD_1305_32
  - ADD_1305_32
  - UMUL_ADD_32
  - ADD_1305_32
  - MUL_MOD_1305_32
  - poly1305_blocks
  - poly1305_final
  - _gcry_poly1305_update_burn
  - _gcry_poly1305_update
  - _gcry_poly1305_finish
  - _gcry_poly1305_init
  - poly1305_auth
  - selftest
  source_file: /src/libgcrypt/cipher/poly1305.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_MPI_64BIT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/cipher/poly1305.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_MPI_32BIT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/poly1305.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_S390X_ASM
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libgcrypt/cipher/poly1305.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ASM_FUNC_ABI
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libgcrypt/cipher/poly1305.c
      type_or_value: __attribute__((sysv_abi))
    - item_type: preproc_def
      name: ASM_FUNC_WRAPPER_ATTR
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libgcrypt/cipher/poly1305.c
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: HAVE_ASM_POLY1305_BLOCKS
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libgcrypt/cipher/poly1305.c
      type_or_value: '1'
    - item_type: preproc_def
      name: adcs
      pos:
        line_end: 396
        line_start: 380
        source_file: /src/libgcrypt/cipher/poly1305.c
      type_or_value: "%1, %1, %4\\n\" \\\n\t       \"adcs %2, %2, %5\\n\" \\\n\t       \"adc
        \ %3, %3, %6\\n\" \\\n\t       : \"+r\" (__carry), \"+r\" (A2), \"+r\" (A3),
        \"+r\" (A4) \\\n\t       : \"r\" (B2), \"r\" (B3), \"r\" (B4) \\\n\t       :
        \"cc\" ); \\\n    } while (0)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mac_init
  - spec_from_algo
  - spec_from_name
  - _gcry_mac_map_name
  - _gcry_mac_algo_name
  - check_mac_algo
  - mac_open
  - mac_reset
  - mac_close
  - mac_setkey
  - mac_setiv
  - mac_write
  - mac_read
  - mac_verify
  - _gcry_mac_open
  - _gcry_mac_close
  - _gcry_mac_setkey
  - _gcry_mac_setiv
  - _gcry_mac_write
  - _gcry_mac_read
  - _gcry_mac_verify
  - _gcry_mac_get_algo
  - _gcry_mac_get_algo_maclen
  - _gcry_mac_get_algo_keylen
  - _gcry_mac_ctl
  - _gcry_mac_algo_info
  - _gcry_mac_selftest
  source_file: /src/libgcrypt/cipher/mac.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pack_pk
  - unpack_pk
  - pack_sk
  - unpack_sk
  - pack_ciphertext
  - unpack_ciphertext
  - gen_a
  - gen_at
  - gen_matrix
  - indcpa_keypair_derand
  - indcpa_enc
  - indcpa_dec
  - crypto_kem_keypair_derand
  - crypto_kem_enc_derand
  - crypto_kem_dec
  - polyvec_compress
  - polyvec_decompress
  - polyvec_tobytes
  - polyvec_frombytes
  - polyvec_ntt
  - polyvec_invntt_tomont
  - polyvec_basemul_acc_montgomery
  - polyvec_reduce
  - polyvec_add
  source_file: /src/libgcrypt/cipher/kyber-kdep.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GEN_MATRIX_NBLOCKS
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/libgcrypt/cipher/kyber-kdep.c
      type_or_value: ((12*KYBER_N/8*(1 << 12)/KYBER_Q + XOF_BLOCKBYTES)/XOF_BLOCKBYTES)
    structs:
    - fields:
      - name: vec[KYBER_K]
        type: poly
      item_type: struct
      name: polyvec
      pos:
        line_end: 61
        line_start: 59
        source_file: /src/libgcrypt/cipher/kyber-kdep.c
    typedefs: []
    union: []
- function_names:
  - prefetch_table
  - prefetch_enc
  - prefetch_dec
  - sbox4
  - do_setkey
  - if
  - if
  - if
  - if
  - if
  - if
  - rijndael_setkey
  - prepare_decryption
  - do_encrypt_fn
  - do_encrypt
  - rijndael_encrypt
  - _gcry_aes_cfb_enc
  - _gcry_aes_cbc_enc
  - _gcry_aes_ctr_enc
  - do_decrypt_fn
  - do_decrypt
  - check_decryption_preparation
  - rijndael_decrypt
  - _gcry_aes_cfb_dec
  - _gcry_aes_cbc_dec
  - _gcry_aes_ocb_crypt
  - _gcry_aes_ocb_auth
  - _gcry_aes_xts_crypt
  - selftest_basic_128
  - selftest_basic_192
  - selftest_basic_256
  - selftest
  - selftest_fips_128_38a
  - Fail
  - selftest_fips_128
  - selftest_fips_192
  - selftest_fips_256
  - run_selftests
  source_file: /src/libgcrypt/cipher/rijndael.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: rk
      pos:
        line_end: 1089
        line_start: 1088
        source_file: /src/libgcrypt/cipher/rijndael.c
      type_or_value: (ctx->keyschenc32)
    - item_type: preproc_def
      name: rk
      pos:
        line_end: 1368
        line_start: 1367
        source_file: /src/libgcrypt/cipher/rijndael.c
      type_or_value: (ctx->keyschdec32)
    structs:
    - fields:
      - name: mode
        type: int
      - name: key[16]
        type: unsigned char
      - name: iv[16]
        type: unsigned char
      - name: data[4]
        type: "struct\n    {\n      const unsigned char input[16];\n      const unsigned
          char output[16];\n    }"
      item_type: struct
      name: tv
      pos:
        line_end: 1971
        line_start: 1961
        source_file: /src/libgcrypt/cipher/rijndael.c
    typedefs: []
    union:
    - fields:
      - name: ATTR_ALIGNED_16
        type: unsigned char
      - name: x32[4]
        type: u32
      item_type: union
      name: tmp
      pos:
        line_end: 1335
        line_start: 1335
        source_file: /src/libgcrypt/cipher/rijndael.c
    - fields:
      - name: ATTR_ALIGNED_16
        type: unsigned char
      - name: x32[4]
        type: u32
      item_type: union
      name: l_tmp
      pos:
        line_end: 1622
        line_start: 1622
        source_file: /src/libgcrypt/cipher/rijndael.c
    - fields:
      - name: ATTR_ALIGNED_16
        type: unsigned char
      - name: x32[4]
        type: u32
      item_type: union
      name: l_tmp
      pos:
        line_end: 1650
        line_start: 1650
        source_file: /src/libgcrypt/cipher/rijndael.c
    - fields:
      - name: ATTR_ALIGNED_16
        type: unsigned char
      - name: x32[4]
        type: u32
      item_type: union
      name: l_tmp
      pos:
        line_end: 1693
        line_start: 1693
        source_file: /src/libgcrypt/cipher/rijndael.c
- function_names: []
  source_file: /src/libgcrypt/cipher/rijndael-internal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXKC
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: (256/32)
    - item_type: preproc_def
      name: MAXROUNDS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: '14'
    - item_type: preproc_def
      name: BLOCKSIZE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: (128/8)
    - item_type: preproc_def
      name: ATTR_ALIGNED_16
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: __attribute__ ((aligned (16)))
    - item_type: preproc_def
      name: ATTR_ALIGNED_64
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: __attribute__ ((aligned (64)))
    - item_type: preproc_def
      name: USE_AMD64_ASM
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SSSE3
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_ASM
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_ASM
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_PADLOCK
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AESNI
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_VAES
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_VAES_AVX512
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_VAES_I386
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_CE
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_CE
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_RISCV_V_CRYPTO
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_VP_AARCH64
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_VP_RISCV
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_PPC_CRYPTO
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_PPC_CRYPTO_WITH_PPC9LE
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_S390X_CRYPTO
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: keyschenc
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: u1.keyschedule
    - item_type: preproc_def
      name: keyschenc32
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: u1.keyschedule32
    - item_type: preproc_def
      name: keyschenc32b
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: u1.keyschedule32b
    - item_type: preproc_def
      name: keyschdec
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: u2.keyschedule
    - item_type: preproc_def
      name: keyschdec32
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: u2.keyschedule32
    - item_type: preproc_def
      name: padlockkey
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type_or_value: u1.padlock_key
    structs:
    - fields:
      - name: u1
        type: "union\n  {\n    PROPERLY_ALIGNED_TYPE dummy;\n    byte keyschedule[MAXROUNDS+1][4][4];\n
          \   u32 keyschedule32[MAXROUNDS+1][4];\n    u32 keyschedule32b[(MAXROUNDS+1)*4];\n#ifdef
          USE_PADLOCK\n    /* The key as passed to the padlock engine.  It is only
          used if\n       the padlock engine is used (USE_PADLOCK, below).  */\n    unsigned
          char padlock_key[16] __attribute__ ((aligned (16)));\n#endif /*USE_PADLOCK*/\n
          \ }"
      - name: u2
        type: "union\n  {\n    PROPERLY_ALIGNED_TYPE dummy;\n    byte keyschedule[MAXROUNDS+1][4][4];\n
          \   u32 keyschedule32[MAXROUNDS+1][4];\n  }"
      - name: rounds
        type: int
      - name: decryption_prepared
        type: unsigned int
      - name: encrypt_fn
        type: rijndael_cryptfn_t
      - name: decrypt_fn
        type: rijndael_cryptfn_t
      - name: prefetch_enc_fn
        type: rijndael_prefetchfn_t
      - name: prefetch_dec_fn
        type: rijndael_prefetchfn_t
      - name: prepare_decryption
        type: rijndael_prepare_decfn_t
      item_type: struct
      name: RIJNDAEL_context_s
      pos:
        line_end: 235
        line_start: 185
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
    typedefs:
    - item_type: typedef
      name: "(*rijndael_cryptfn_t)(const struct RIJNDAEL_context_s *ctx,\n                                           unsigned
        char *bx,\n                                           const unsigned char
        *ax)"
      pos:
        line_end: 180
        line_start: 178
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type: unsigned int
    - item_type: typedef
      name: (*rijndael_prefetchfn_t)(void)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type: void
    - item_type: typedef
      name: (*rijndael_prepare_decfn_t)(struct RIJNDAEL_context_s *ctx)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/libgcrypt/cipher/rijndael-internal.h
      type: void
    union: []
- function_names:
  - pack_pk
  - unpack_pk
  - pack_sk
  - unpack_sk
  - pack_sig
  - unpack_sig
  - poly_challenge
  - polyvec_matrix_expand
  - polyvec_matrix_pointwise_montgomery
  - polyvecl_uniform_eta
  - polyvecl_uniform_gamma1
  - polyvecl_reduce
  - polyvecl_add
  - polyvecl_ntt
  - polyvecl_invntt_tomont
  - polyvecl_pointwise_poly_montgomery
  - polyvecl_pointwise_acc_montgomery
  - polyvecl_chknorm
  - polyveck_uniform_eta
  - polyveck_reduce
  - polyveck_caddq
  - polyveck_add
  - polyveck_sub
  - polyveck_shiftl
  - polyveck_ntt
  - polyveck_invntt_tomont
  - polyveck_pointwise_poly_montgomery
  - polyveck_chknorm
  - polyveck_power2round
  - polyveck_decompose
  - polyveck_make_hint
  - polyveck_use_hint
  - polyveck_pack_w1
  - crypto_sign_keypair
  - crypto_sign_keypair_internal
  - crypto_sign_signature_internal
  - crypto_sign_signature
  - crypto_sign
  - crypto_sign_verify_internal
  - crypto_sign_verify
  - crypto_sign_open
  source_file: /src/libgcrypt/cipher/dilithium-dep.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: vec[L]
        type: poly
      item_type: struct
      name: polyvecl
      pos:
        line_end: 49
        line_start: 47
        source_file: /src/libgcrypt/cipher/dilithium-dep.c
    - fields:
      - name: vec[K]
        type: poly
      item_type: struct
      name: polyveck
      pos:
        line_end: 74
        line_start: 72
        source_file: /src/libgcrypt/cipher/dilithium-dep.c
    typedefs: []
    union: []
- function_names:
  - md4_init
  - F
  - G
  - H
  - transform_blk
  - function
  - function
  - function
  - transform
  - md4_final
  - X
  - md4_read
  source_file: /src/libgcrypt/cipher/md4.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bctx
        type: gcry_md_block_ctx_t
      - name: A
        type: u32
      item_type: struct
      name: MD4_CONTEXT
      pos:
        line_end: 65
        line_start: 62
        source_file: /src/libgcrypt/cipher/md4.c
    typedefs: []
    union: []
- function_names:
  - filter_8bit
  - IF_VAES
  - IF_AESNI
  - IF_GFNI
  - IF_NOT_GFNI
  - BV8
  - BM8X8
  - roundsm32
  - roundsm32
  - two_roundsm32
  - store_ab_state
  - enc_rounds32
  - dec_rounds32
  - rol32_1_32
  - rol32_1_32
  - transpose_4x4
  - byteslice_16x16b_fast
  - inpack32_pre
  - inpack32_post
  - outunpack32
  - write_output
  - SHUFB_BYTES
  source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CAMELLIA_TABLE_BYTE_LEN
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: '272'
    - item_type: preproc_def
      name: key_table
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: '0'
    - item_type: preproc_def
      name: key_bitlength
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: CAMELLIA_TABLE_BYTE_LEN
    - item_type: preproc_def
      name: CTX
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: '%rdi'
    - item_type: preproc_def
      name: RIO
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: '%r8'
    - item_type: preproc_def
      name: ymm0_x
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: xmm0
    - item_type: preproc_def
      name: ymm1_x
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: xmm1
    - item_type: preproc_def
      name: ymm2_x
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: xmm2
    - item_type: preproc_def
      name: ymm3_x
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: xmm3
    - item_type: preproc_def
      name: ymm4_x
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: xmm4
    - item_type: preproc_def
      name: ymm5_x
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: xmm5
    - item_type: preproc_def
      name: ymm6_x
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: xmm6
    - item_type: preproc_def
      name: ymm7_x
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: xmm7
    - item_type: preproc_def
      name: ymm8_x
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: xmm8
    - item_type: preproc_def
      name: ymm9_x
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: xmm9
    - item_type: preproc_def
      name: ymm10_x
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: xmm10
    - item_type: preproc_def
      name: ymm11_x
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: xmm11
    - item_type: preproc_def
      name: ymm12_x
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: xmm12
    - item_type: preproc_def
      name: ymm13_x
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: xmm13
    - item_type: preproc_def
      name: ymm14_x
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: xmm14
    - item_type: preproc_def
      name: ymm15_x
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: xmm15
    - item_type: preproc_def
      name: pre_filter_constant_s1234
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: BV8(1, 0, 1, 0, 0, 0, 1, 0)
    - item_type: preproc_def
      name: post_filter_constant_s14
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: BV8(0, 1, 1, 1, 0, 1, 1, 0)
    - item_type: preproc_def
      name: post_filter_constant_s2
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: BV8(0, 0, 1, 1, 1, 0, 1, 1)
    - item_type: preproc_def
      name: post_filter_constant_s3
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: BV8(1, 1, 1, 0, 1, 1, 0, 0)
    - item_type: preproc_def
      name: klr
      pos:
        line_end: 625
        line_start: 520
        source_file: /src/libgcrypt/cipher/camellia-aesni-avx2-amd64.h
      type_or_value: ", t3; \\\n\tvpbroadcastb 1+klr, t2; \\\n\tvpbroadcastb 2+klr,
        t1; \\\n\tvpbroadcastb 3+klr, t0; \\\n\t\\\n\tvpor l4, t0, t0; \\\n\tvpor
        l5, t1, t1; \\\n\tvpor l6, t2, t2; \\\n\tvpor l7, t3, t3; \\\n\t\\\n\tvpxor
        l0, t0, l0; \\\n\tvmovdqu l0, 0 * 32(l); \\\n\tvpxor l1, t1, l1; \\\n\tvmovdqu
        l1, 1 * 32(l); \\\n\tvpxor l2, t2, l2; \\\n\tvmovdqu l2, 2 * 32(l); \\\n\tvpxor
        l3, t3, l3; \\\n\tvmovdqu l3, 3 * 32(l);"
    structs: []
    typedefs: []
    union: []
- function_names:
  - prepare_ec
  - _gcry_ecc_get_algo_keylen
  - ecc_tweak_bits
  - _gcry_ecc_curve_keypair
  - _gcry_ecc_curve_mul_point
  - _gcry_ecc_mul_point
  source_file: /src/libgcrypt/cipher/ecc-ecdh.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ECC_CURVE25519_BYTES
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/cipher/ecc-ecdh.c
      type_or_value: '32'
    - item_type: preproc_def
      name: ECC_CURVE448_BYTES
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/cipher/ecc-ecdh.c
      type_or_value: '56'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ROTL32
  - READ_UINT64
  - LE_READ_UINT64
  - LE_SWAP32
  - QROUND
  - salsa20_core
  - scrypt_block_mix
  - scrypt_ro_mix
  - _gcry_kdf_scrypt
  source_file: /src/libgcrypt/cipher/scrypt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SALSA20_INPUT_LENGTH
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libgcrypt/cipher/scrypt.c
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ELF
  - GET_EXTERN_POINTER
  - GET_EXTERN_POINTER
  - GET_EXTERN_POINTER
  - CFI_STARTPROC
  - CFI_ENDPROC
  - CFI_REMEMBER_STATE
  - CFI_RESTORE_STATE
  - CFI_ADJUST_CFA_OFFSET
  - CFI_REL_OFFSET
  - CFI_DEF_CFA_REGISTER
  - CFI_REGISTER
  - CFI_RESTORE
  - CFI_PUSH
  - CFI_POP
  - CFI_POP_TMP_REG
  - CFI_LEAVE
  - DW_REGNO
  - DW_SLEB128_7BIT
  - DW_SLEB128_28BIT
  - CFI_CFA_ON_STACK
  source_file: /src/libgcrypt/cipher/asm-common-amd64.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SECTION_RODATA
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: .section .rdata
    - item_type: preproc_def
      name: SECTION_RODATA
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: .section .rodata
    - item_type: preproc_def
      name: rRIP
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: (%rip)
    - item_type: preproc_def
      name: RIP
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: '%rip'
    - item_type: preproc_def
      name: ADD_RIP
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: +rip
    - item_type: preproc_def
      name: AT_PLT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: ELF(@PLT)
    - item_type: preproc_def
      name: ENDBRANCH
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: endbr64
    - item_type: preproc_def
      name: SPEC_STOP
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: int3
    - item_type: preproc_def
      name: DW_REGNO_rax
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DW_REGNO_rdx
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DW_REGNO_rcx
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DW_REGNO_rbx
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DW_REGNO_rsi
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DW_REGNO_rdi
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: '5'
    - item_type: preproc_def
      name: DW_REGNO_rbp
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: '6'
    - item_type: preproc_def
      name: DW_REGNO_rsp
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: '7'
    - item_type: preproc_def
      name: DW_REGNO_r8
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: '8'
    - item_type: preproc_def
      name: DW_REGNO_r9
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: '9'
    - item_type: preproc_def
      name: DW_REGNO_r10
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: '10'
    - item_type: preproc_def
      name: DW_REGNO_r11
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: '11'
    - item_type: preproc_def
      name: DW_REGNO_r12
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: '12'
    - item_type: preproc_def
      name: DW_REGNO_r13
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: '13'
    - item_type: preproc_def
      name: DW_REGNO_r14
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: '14'
    - item_type: preproc_def
      name: DW_REGNO_r15
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: '15'
    - item_type: preproc_def
      name: ENTER_SYSV_FUNC_PARAMS_5
      pos:
        line_end: 196
        line_start: 193
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: "ENTER_SYSV_FUNC_PARAMS_0_4; \\\n\tmovq 0x38(%rsp), %r8;"
    - item_type: preproc_def
      name: ENTER_SYSV_FUNC_PARAMS_6
      pos:
        line_end: 200
        line_start: 197
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: "ENTER_SYSV_FUNC_PARAMS_5; \\\n\tmovq 0x40(%rsp), %r9;"
    - item_type: preproc_def
      name: EXIT_SYSV_FUNC
      pos:
        line_end: 206
        line_start: 201
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: "popq %rsi; \\\n\tCFI_POP(%rsi); \\\n\tpopq %rdi; \\\n\tCFI_POP(%rdi);"
    - item_type: preproc_def
      name: ret_spec_stop
      pos:
        line_end: 216
        line_start: 214
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: ret; SPEC_STOP;
    - item_type: preproc_def
      name: vpxord
      pos:
        line_end: 225
        line_start: 221
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: '%ymm16, %ymm16, %ymm16;'
    - item_type: preproc_def
      name: spec_stop_avx512_intel_syntax
      pos:
        line_end: 228
        line_start: 226
        source_file: /src/libgcrypt/cipher/asm-common-amd64.h
      type_or_value: "vpxord ymm16, ymm16, ymm16; \\\n\tvpopcntb xmm16, xmm16; "
    structs: []
    typedefs: []
    union: []
- function_names:
  - kyber_keypair
  - kyber_encap
  - kyber_decap
  - shake128_init
  - shake128_absorb
  - shake128_finalize
  - shake128_squeeze
  - shake128_close
  - shake256v
  - sha3_256
  - sha3_512
  - kyber_shake128_absorb
  - hash_h
  - hash_g
  - xof_init
  - xof_close
  - xof_absorb
  - xof_squeezeblocks
  - prf
  - rkprf
  - VARIANT2
  - VARIANT3
  - VARIANT4
  source_file: /src/libgcrypt/cipher/kyber.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ARGS
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '16'
    - item_type: preproc_def
      name: verify1
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: ct_memequal
    - item_type: preproc_def
      name: cmov
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: ct_memmov_cond
    - item_type: preproc_def
      name: SHAKE128_RATE
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '168'
    - item_type: preproc_def
      name: KYBER_N
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '256'
    - item_type: preproc_def
      name: KYBER_Q
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '3329'
    - item_type: preproc_def
      name: KYBER_SYMBYTES
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '32   '
    - item_type: preproc_def
      name: KYBER_SSBYTES
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '32   '
    - item_type: preproc_def
      name: KYBER_POLYBYTES
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '384'
    - item_type: preproc_def
      name: KYBER_ETA2
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '2'
    - item_type: preproc_def
      name: KYBER_INDCPA_MSGBYTES
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: (KYBER_SYMBYTES)
    - item_type: preproc_def
      name: KYBER_ETA1_2
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '3'
    - item_type: preproc_def
      name: KYBER_ETA1_3_4
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '2'
    - item_type: preproc_def
      name: KYBER_POLYCOMPRESSEDBYTES_2_3
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '128'
    - item_type: preproc_def
      name: KYBER_POLYCOMPRESSEDBYTES_4
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '160'
    - item_type: preproc_def
      name: MONT
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '-1044 '
    - item_type: preproc_def
      name: QINV
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '-3327 '
    - item_type: preproc_def
      name: XOF_BLOCKBYTES
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: SHAKE128_RATE
    - item_type: preproc_def
      name: KYBER_POLYVECBYTES
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: (KYBER_K * KYBER_POLYBYTES)
    - item_type: preproc_def
      name: KYBER_INDCPA_PUBLICKEYBYTES
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: (KYBER_POLYVECBYTES + KYBER_SYMBYTES)
    - item_type: preproc_def
      name: KYBER_INDCPA_SECRETKEYBYTES
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: (KYBER_POLYVECBYTES)
    - item_type: preproc_def
      name: KYBER_INDCPA_BYTES
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: (KYBER_POLYVECCOMPRESSEDBYTES + KYBER_POLYCOMPRESSEDBYTES)
    - item_type: preproc_def
      name: KYBER_PUBLICKEYBYTES
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: (KYBER_INDCPA_PUBLICKEYBYTES)
    - item_type: preproc_def
      name: KYBER_SECRETKEYBYTES
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: (KYBER_INDCPA_SECRETKEYBYTES + KYBER_INDCPA_PUBLICKEYBYTES +
        2*KYBER_SYMBYTES)
    - item_type: preproc_def
      name: KYBER_CIPHERTEXTBYTES
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: (KYBER_INDCPA_BYTES)
    - item_type: preproc_def
      name: KYBER_POLYCOMPRESSEDBYTES
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '128'
    - item_type: preproc_def
      name: KYBER_POLYVECCOMPRESSEDBYTES
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: (KYBER_K * 320)
    - item_type: preproc_def
      name: poly_compress
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: poly_compress_128
    - item_type: preproc_def
      name: poly_decompress
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: poly_decompress_128
    - item_type: preproc_def
      name: poly_getnoise_eta1
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: poly_getnoise_eta1_2
    - item_type: preproc_def
      name: KYBER_POLYCOMPRESSEDBYTES
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '128'
    - item_type: preproc_def
      name: KYBER_POLYVECCOMPRESSEDBYTES
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: (KYBER_K * 320)
    - item_type: preproc_def
      name: poly_compress
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: poly_compress_128
    - item_type: preproc_def
      name: poly_decompress
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: poly_decompress_128
    - item_type: preproc_def
      name: poly_getnoise_eta1
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: poly_getnoise_eta1_3_4
    - item_type: preproc_def
      name: KYBER_POLYCOMPRESSEDBYTES
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '160'
    - item_type: preproc_def
      name: KYBER_POLYVECCOMPRESSEDBYTES
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: (KYBER_K * 352)
    - item_type: preproc_def
      name: poly_compress
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: poly_compress_160
    - item_type: preproc_def
      name: poly_decompress
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: poly_decompress_160
    - item_type: preproc_def
      name: poly_getnoise_eta1
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: poly_getnoise_eta1_3_4
    - item_type: preproc_def
      name: KYBER_K
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '2'
    - item_type: preproc_def
      name: KYBER_POLYCOMPRESSEDBYTES
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '128'
    - item_type: preproc_def
      name: KYBER_POLYVECCOMPRESSEDBYTES
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: (KYBER_K * 320)
    - item_type: preproc_def
      name: poly_compress
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: poly_compress_128
    - item_type: preproc_def
      name: poly_decompress
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: poly_decompress_128
    - item_type: preproc_def
      name: poly_getnoise_eta1
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: poly_getnoise_eta1_2
    - item_type: preproc_def
      name: crypto_kem_keypair_derand
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(crypto_kem_keypair_derand)
    - item_type: preproc_def
      name: crypto_kem_enc_derand
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(crypto_kem_enc_derand)
    - item_type: preproc_def
      name: crypto_kem_dec
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(crypto_kem_dec)
    - item_type: preproc_def
      name: polyvec
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(polyvec)
    - item_type: preproc_def
      name: polyvec_compress
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(polyvec_compress)
    - item_type: preproc_def
      name: polyvec_decompress
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(polyvec_decompress)
    - item_type: preproc_def
      name: polyvec_tobytes
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(polyvec_tobytes)
    - item_type: preproc_def
      name: polyvec_frombytes
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(polyvec_frombytes)
    - item_type: preproc_def
      name: polyvec_ntt
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(polyvec_ntt)
    - item_type: preproc_def
      name: polyvec_invntt_tomont
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(polyvec_invntt_tomont)
    - item_type: preproc_def
      name: polyvec_basemul_acc_montgomery
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(polyvec_basemul_acc_montgomery)
    - item_type: preproc_def
      name: polyvec_reduce
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(polyvec_reduce)
    - item_type: preproc_def
      name: polyvec_add
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(polyvec_add)
    - item_type: preproc_def
      name: pack_pk
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(pack_pk)
    - item_type: preproc_def
      name: unpack_pk
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(unpack_pk)
    - item_type: preproc_def
      name: pack_sk
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(pack_sk)
    - item_type: preproc_def
      name: unpack_sk
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(unpack_sk)
    - item_type: preproc_def
      name: pack_ciphertext
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(pack_ciphertext)
    - item_type: preproc_def
      name: unpack_ciphertext
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(unpack_ciphertext)
    - item_type: preproc_def
      name: gen_matrix
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(gen_matrix)
    - item_type: preproc_def
      name: indcpa_keypair_derand
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(indcpa_keypair_derand)
    - item_type: preproc_def
      name: indcpa_enc
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(indcpa_enc)
    - item_type: preproc_def
      name: indcpa_dec
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT2(indcpa_dec)
    - item_type: preproc_def
      name: KYBER_K
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '3'
    - item_type: preproc_def
      name: KYBER_POLYCOMPRESSEDBYTES
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '128'
    - item_type: preproc_def
      name: KYBER_POLYVECCOMPRESSEDBYTES
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: (KYBER_K * 320)
    - item_type: preproc_def
      name: poly_compress
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: poly_compress_128
    - item_type: preproc_def
      name: poly_decompress
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: poly_decompress_128
    - item_type: preproc_def
      name: poly_getnoise_eta1
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: poly_getnoise_eta1_3_4
    - item_type: preproc_def
      name: crypto_kem_keypair_derand
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(crypto_kem_keypair_derand)
    - item_type: preproc_def
      name: crypto_kem_enc_derand
      pos:
        line_end: 503
        line_start: 502
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(crypto_kem_enc_derand)
    - item_type: preproc_def
      name: crypto_kem_dec
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(crypto_kem_dec)
    - item_type: preproc_def
      name: polyvec
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(polyvec)
    - item_type: preproc_def
      name: polyvec_compress
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(polyvec_compress)
    - item_type: preproc_def
      name: polyvec_decompress
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(polyvec_decompress)
    - item_type: preproc_def
      name: polyvec_tobytes
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(polyvec_tobytes)
    - item_type: preproc_def
      name: polyvec_frombytes
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(polyvec_frombytes)
    - item_type: preproc_def
      name: polyvec_ntt
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(polyvec_ntt)
    - item_type: preproc_def
      name: polyvec_invntt_tomont
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(polyvec_invntt_tomont)
    - item_type: preproc_def
      name: polyvec_basemul_acc_montgomery
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(polyvec_basemul_acc_montgomery)
    - item_type: preproc_def
      name: polyvec_reduce
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(polyvec_reduce)
    - item_type: preproc_def
      name: polyvec_add
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(polyvec_add)
    - item_type: preproc_def
      name: pack_pk
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(pack_pk)
    - item_type: preproc_def
      name: unpack_pk
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(unpack_pk)
    - item_type: preproc_def
      name: pack_sk
      pos:
        line_end: 517
        line_start: 516
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(pack_sk)
    - item_type: preproc_def
      name: unpack_sk
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(unpack_sk)
    - item_type: preproc_def
      name: pack_ciphertext
      pos:
        line_end: 519
        line_start: 518
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(pack_ciphertext)
    - item_type: preproc_def
      name: unpack_ciphertext
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(unpack_ciphertext)
    - item_type: preproc_def
      name: gen_matrix
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(gen_matrix)
    - item_type: preproc_def
      name: indcpa_keypair_derand
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(indcpa_keypair_derand)
    - item_type: preproc_def
      name: indcpa_enc
      pos:
        line_end: 523
        line_start: 522
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(indcpa_enc)
    - item_type: preproc_def
      name: indcpa_dec
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT3(indcpa_dec)
    - item_type: preproc_def
      name: KYBER_K
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '4'
    - item_type: preproc_def
      name: KYBER_POLYCOMPRESSEDBYTES
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: '160'
    - item_type: preproc_def
      name: KYBER_POLYVECCOMPRESSEDBYTES
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: (KYBER_K * 352)
    - item_type: preproc_def
      name: poly_compress
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: poly_compress_160
    - item_type: preproc_def
      name: poly_decompress
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: poly_decompress_160
    - item_type: preproc_def
      name: poly_getnoise_eta1
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: poly_getnoise_eta1_3_4
    - item_type: preproc_def
      name: crypto_kem_keypair_derand
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(crypto_kem_keypair_derand)
    - item_type: preproc_def
      name: crypto_kem_enc_derand
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(crypto_kem_enc_derand)
    - item_type: preproc_def
      name: crypto_kem_dec
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(crypto_kem_dec)
    - item_type: preproc_def
      name: polyvec
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(polyvec)
    - item_type: preproc_def
      name: polyvec_compress
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(polyvec_compress)
    - item_type: preproc_def
      name: polyvec_decompress
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(polyvec_decompress)
    - item_type: preproc_def
      name: polyvec_tobytes
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(polyvec_tobytes)
    - item_type: preproc_def
      name: polyvec_frombytes
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(polyvec_frombytes)
    - item_type: preproc_def
      name: polyvec_ntt
      pos:
        line_end: 541
        line_start: 540
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(polyvec_ntt)
    - item_type: preproc_def
      name: polyvec_invntt_tomont
      pos:
        line_end: 542
        line_start: 541
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(polyvec_invntt_tomont)
    - item_type: preproc_def
      name: polyvec_basemul_acc_montgomery
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(polyvec_basemul_acc_montgomery)
    - item_type: preproc_def
      name: polyvec_reduce
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(polyvec_reduce)
    - item_type: preproc_def
      name: polyvec_add
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(polyvec_add)
    - item_type: preproc_def
      name: pack_pk
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(pack_pk)
    - item_type: preproc_def
      name: unpack_pk
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(unpack_pk)
    - item_type: preproc_def
      name: pack_sk
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(pack_sk)
    - item_type: preproc_def
      name: unpack_sk
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(unpack_sk)
    - item_type: preproc_def
      name: pack_ciphertext
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(pack_ciphertext)
    - item_type: preproc_def
      name: unpack_ciphertext
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(unpack_ciphertext)
    - item_type: preproc_def
      name: gen_matrix
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(gen_matrix)
    - item_type: preproc_def
      name: indcpa_keypair_derand
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(indcpa_keypair_derand)
    - item_type: preproc_def
      name: indcpa_enc
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(indcpa_enc)
    - item_type: preproc_def
      name: indcpa_dec
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/libgcrypt/cipher/kyber.c
      type_or_value: VARIANT4(indcpa_dec)
    structs:
    - fields:
      - name: h
        type: gcry_md_hd_t
      item_type: struct
      name: keccak_state
      pos:
        line_end: 210
        line_start: 208
        source_file: /src/libgcrypt/cipher/kyber.c
    - fields:
      - name: s[25]
        type: uint64_t
      - name: pos
        type: unsigned int
      item_type: struct
      name: keccak_state
      pos:
        line_end: 295
        line_start: 292
        source_file: /src/libgcrypt/cipher/kyber.c
    - fields:
      - name: coeffs[KYBER_N]
        type: int16_t
      item_type: struct
      name: poly
      pos:
        line_end: 345
        line_start: 343
        source_file: /src/libgcrypt/cipher/kyber.c
    typedefs:
    - item_type: typedef
      name: xof_state
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/libgcrypt/cipher/kyber.c
      type: keccak_state
    union: []
- function_names:
  - xts_gfmul_byA
  - xts_inc128
  - _gcry_cipher_xts_crypt
  - _gcry_cipher_xts_encrypt
  - _gcry_cipher_xts_decrypt
  source_file: /src/libgcrypt/cipher/cipher-xts.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: xcx
        type: cipher_context_alignment_t
      - name: x1[GCRY_XTS_BLOCK_LEN]
        type: byte
      - name: x64[GCRY_XTS_BLOCK_LEN / sizeof(u64)]
        type: u64
      item_type: union
      name: tmp
      pos:
        line_end: 71
        line_start: 66
        source_file: /src/libgcrypt/cipher/cipher-xts.c
- function_names:
  - crc32_next
  - crc32_next4
  - generic_crc32_init
  - crc32_init
  - crc32_write
  - crc32_read
  - crc32_final
  - crc32rfc1510_init
  - crc32rfc1510_final
  - crc24_init
  - crc24_next
  - crc24_next4
  - crc24_final
  - crc24rfc2440_init
  - crc24rfc2440_write
  - crc24rfc2440_final
  source_file: /src/libgcrypt/cipher/crc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_INTEL_PCLMUL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/cipher/crc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_PMULL
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgcrypt/cipher/crc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_PPC_VPMSUM
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libgcrypt/cipher/crc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_RISCV_ZBB_ZBC
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libgcrypt/cipher/crc.c
      type_or_value: '1'
    structs:
    - fields:
      - name: CRC
        type: u32
      - name: buf[4]
        type: byte
      item_type: struct
      name: CRC_CONTEXT
      pos:
        line_end: 91
        line_start: 74
        source_file: /src/libgcrypt/cipher/crc.c
    typedefs: []
    union: []
- function_names:
  - _gcry_aes_vaes_ecb_crypt
  - _gcry_aes_vaes_cbc_dec
  - _gcry_aes_vaes_cfb_dec
  - _gcry_aes_vaes_ctr_enc
  - _gcry_aes_vaes_ctr32le_enc
  - _gcry_aes_vaes_ocb_crypt
  - _gcry_aes_vaes_ocb_auth
  - _gcry_aes_vaes_xts_crypt
  source_file: /src/libgcrypt/cipher/rijndael-vaes.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ASM_FUNC_ABI
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/rijndael-vaes.c
      type_or_value: __attribute__((sysv_abi))
    structs: []
    typedefs: []
    union: []
- function_names:
  - vector2x_u64::vec_rol_elems
  - vector2x_u64::vec_merge_idx0_elems
  - vector2x_u64::vec_vshasigma_u64
  - vector2x_u64::vec_add_u64
  - vector2x_u64::vec_u64_load
  - vec_u64_store
  - vector2x_u64::vec_u64_load_be
  - R
  - GETK
  - Cho
  - Maj
  - Sum0
  - Sum1
  - S0
  - S1
  - Xadd
  - Sum0add
  - Sum1add
  - S0add
  - S1add
  - I
  - WN
  - W
  - L
  - I2
  - W2
  - L2
  - WL
  - sha512_transform_ppc
  - _gcry_sha512_transform_ppc8
  - _gcry_sha512_transform_ppc9
  source_file: /src/libgcrypt/cipher/sha512-ppc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/sha512-ppc.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/sha512-ppc.c
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/cipher/sha512-ppc.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgcrypt/cipher/sha512-ppc.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/cipher/sha512-ppc.c
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_NOINLINE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/sha512-ppc.c
      type_or_value: ASM_FUNC_ATTR NO_INLINE
    - item_type: preproc_def
      name: FUNC_ATTR_OPT_O2
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/sha512-ppc.c
      type_or_value: __attribute__((optimize("-O2")))
    - item_type: preproc_def
      name: FUNC_ATTR_TARGET_P8
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/cipher/sha512-ppc.c
      type_or_value: __attribute__((target("arch=pwr8")))
    - item_type: preproc_def
      name: FUNC_ATTR_TARGET_P9
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libgcrypt/cipher/sha512-ppc.c
      type_or_value: __attribute__((target("arch=pwr9")))
    - item_type: preproc_def
      name: FUNC_ATTR_TARGET_P8
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgcrypt/cipher/sha512-ppc.c
      type_or_value: __attribute__((target("cpu=power8")))
    - item_type: preproc_def
      name: FUNC_ATTR_TARGET_P9
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libgcrypt/cipher/sha512-ppc.c
      type_or_value: __attribute__((target("cpu=power9")))
    structs: []
    typedefs:
    - item_type: typedef
      name: vector16x_u8
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/libgcrypt/cipher/sha512-ppc.c
      type: vector unsigned
    - item_type: typedef
      name: vector2x_u64
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/libgcrypt/cipher/sha512-ppc.c
      type: vector unsigned long long
    union: []
- function_names:
  - SWAP_LE64
  - M128I_BYTE
  - PSHUFD_MASK_TO_PSHUFB_MASK
  - M128I_U64
  - pand128
  - pandn128
  - pxor128
  - paddq128
  - psrld128
  - psraq128
  - psrldq128
  - pslldq128
  - psrl_byte_128
  - pshufb128
  - pshufd128
  - pshufd128_0x93
  - pshufd128_0xFF
  - pshufd128_0xFE
  - pshufd128_0x4E
  - palignr128
  - movdqa128
  - movdqa128_memld
  - pand128_amemld
  - pxor128_amemld
  - paddq128_amemld
  - paddd128_amemld
  - pshufb128_amemld
  - movdqu128_memld
  - movdqu128_memst
  - memory_barrier_with_vec
  - clear_vec_regs
  - aes_schedule_round
  - aes_schedule_transform
  - aes_schedule_mangle
  - aes_schedule_mangle_last
  - aes_schedule_128
  - aes_schedule_192_smear
  - aes_schedule_192
  - aes_schedule_256
  - aes_schedule_core
  - FUNC_SETKEY
  - FUNC_PREPARE_DEC
  - enc_preload
  - dec_preload
  - aes_encrypt_core
  - aes_encrypt_core_2blks
  - aes_encrypt_core_4blks_simd256
  - aes_decrypt_core
  - aes_decrypt_core_2blks
  - aes_decrypt_core_4blks_simd256
  - FUNC_ENCRYPT
  - FUNC_DECRYPT
  - FUNC_CFB_ENC
  - FUNC_CBC_ENC
  - FUNC_CTR_ENC
  - FUNC_CTR32LE_ENC
  - FUNC_CFB_DEC
  - FUNC_CBC_DEC
  - aes_simd128_ocb_enc
  - aes_simd128_ocb_dec
  - FUNC_OCB_CRYPT
  - FUNC_OCB_AUTH
  - aes_simd128_ecb_enc
  - aes_simd128_ecb_dec
  - FUNC_ECB_CRYPT
  - xts_gfmul_byA
  - aes_simd128_xts_enc
  - aes_simd128_xts_dec
  - FUNC_XTS_CRYPT
  source_file: /src/libgcrypt/cipher/rijndael-vp-simd128.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgcrypt/cipher/rijndael-vp-simd128.h
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/cipher/rijndael-vp-simd128.h
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/rijndael-vp-simd128.h
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgcrypt/cipher/rijndael-vp-simd128.h
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/rijndael-vp-simd128.h
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_NOINLINE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/rijndael-vp-simd128.h
      type_or_value: ASM_FUNC_ATTR NO_INLINE SIMD128_OPT_ATTR
    - item_type: preproc_def
      name: memory
      pos:
        line_end: 154
        line_start: 143
        source_file: /src/libgcrypt/cipher/rijndael-vp-simd128.h
      type_or_value: "\", \"xmm0\", \"xmm1\", \\\n\t\t\t\t\t      \"xmm2\", \"xmm3\",
        \"xmm4\", \"xmm5\")"
    structs:
    - fields:
      - name: nround
        type: unsigned int
      item_type: struct
      name: vp_aes_config_s
      pos:
        line_end: 478
        line_start: 470
        source_file: /src/libgcrypt/cipher/rijndael-vp-simd128.h
    typedefs:
    - item_type: typedef
      name: __m128i_const[2]
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/libgcrypt/cipher/rijndael-vp-simd128.h
      type: u64
    union: []
- function_names:
  - ALIGNED_LOAD
  - ALIGNED_STORE
  - VEC_BE_SWAP
  - VEC_LOAD_BE
  - VEC_LOAD_BE_NOSWAP
  - VEC_STORE_BE
  - VEC_STORE_BE_NOSWAP
  - PRELOAD_ROUND_KEYS
  - AES_ENCRYPT
  - AES_DECRYPT
  - PRELOAD_ROUND_KEYS_ALL
  - asm_aligned_ld
  - asm_aligned_st
  - asm_vperm1
  - asm_add_uint128
  - asm_add_uint64
  - asm_add_uint16
  - asm_sra_int64
  - asm_swap_uint64_halfs
  - asm_xor
  - asm_sbox_be
  - asm_cipher_be
  - asm_cipherlast_be
  - asm_ncipher_be
  - asm_ncipherlast_be
  - internal_aes_ppc_prepare_decryption
  source_file: /src/libgcrypt/cipher/rijndael-ppc-common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/cipher/rijndael-ppc-common.h
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/rijndael-ppc-common.h
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/cipher/rijndael-ppc-common.h
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/rijndael-ppc-common.h
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/rijndael-ppc-common.h
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_NOINLINE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/rijndael-ppc-common.h
      type_or_value: ASM_FUNC_ATTR NO_INLINE
    - item_type: preproc_def
      name: ROUND_KEY_VARIABLES
      pos:
        line_end: 75
        line_start: 73
        source_file: /src/libgcrypt/cipher/rijndael-ppc-common.h
      type_or_value: block rkey0, rkeylast
    - item_type: preproc_def
      name: ROUND_KEY_VARIABLES_ALL
      pos:
        line_end: 136
        line_start: 133
        source_file: /src/libgcrypt/cipher/rijndael-ppc-common.h
      type_or_value: "block rkey0, rkey1, rkey2, rkey3, rkey4, rkey5, rkey6, rkey7,
        rkey8, \\\n        rkey9, rkey10, rkey11, rkey12, rkey13, rkeylast"
    structs: []
    typedefs:
    - item_type: typedef
      name: block
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/libgcrypt/cipher/rijndael-ppc-common.h
      type: vector unsigned
    - item_type: typedef
      name: vec_u32
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/libgcrypt/cipher/rijndael-ppc-common.h
      type: vector unsigned
    union:
    - fields:
      - name: data32[4]
        type: u32
      item_type: union
      name: u128_t
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/libgcrypt/cipher/rijndael-ppc-common.h
- function_names:
  - cast_u8m1_u32m1
  - cast_u8m1_u64m1
  - cast_u32m1_u8m1
  - cast_u32m1_u64m1
  - cast_u64m1_u8m1
  - cast_u8m2_u32m2
  - cast_u32m2_u8m2
  - cast_u8m4_u32m4
  - cast_u32m4_u8m4
  - cast_u64m1_u32m1
  - cast_u32m1_u64m1
  - cast_u64m1_i64m1
  - cast_i64m1_u64m1
  - memory_barrier_with_vec
  - vuint32m1_t::bswap128_u32m1
  - vuint64m1_t::unaligned_load_u64m1
  - vuint32m1_t::unaligned_load_u32m1
  - unaligned_store_u32m1
  - vuint32m2_t::unaligned_load_u32m2
  - unaligned_store_u32m2
  - vuint32m4_t::unaligned_load_u32m4
  - unaligned_store_u32m4
  - vuint32m4_t::merge_4x_u32m1_to_u32m4
  - vuint32m1x4_t::split_u32m4_to_4x_u32m1
  - _gcry_aes_riscv_zvkned_setup_acceleration
  - aes128_riscv_setkey
  - aes192_riscv_setkey
  - AES192_KF1_GEN
  - AES192_EXPAND_BLOCK
  - aes256_riscv_setkey
  - _gcry_aes_riscv_zvkned_setkey
  - do_prepare_decryption
  - COPY_KEY
  - _gcry_aes_riscv_zvkned_prepare_decryption
  - PRELOAD_ROUND_KEYS
  - AES_CRYPT
  - AES_CRYPT
  - _gcry_aes_riscv_zvkned_encrypt
  - _gcry_aes_riscv_zvkned_decrypt
  - aes_riscv_zvkned_ecb_crypt
  - aes_riscv_zvkned_ecb_enc
  - aes_riscv_zvkned_ecb_dec
  - _gcry_aes_riscv_zvkned_ecb_crypt
  - _gcry_aes_riscv_zvkned_cfb_enc
  - _gcry_aes_riscv_zvkned_cbc_enc
  - _gcry_aes_riscv_zvkned_ctr32le_enc
  - _gcry_aes_riscv_zvkned_cfb_dec
  - _gcry_aes_riscv_zvkned_cbc_dec
  - aes_riscv_ocb_enc
  - aes_riscv_ocb_dec
  - _gcry_aes_riscv_zvkned_ocb_crypt
  - _gcry_aes_riscv_zvkned_ocb_auth
  - vuint32m1_t::xts_gfmul_byA
  - aes_riscv_xts_enc
  - aes_riscv_xts_dec
  - _gcry_aes_riscv_zvkned_xts_crypt
  source_file: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
      type_or_value: ALWAYS_INLINE ASM_FUNC_ATTR
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_NOINLINE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
      type_or_value: NO_INLINE ASM_FUNC_ATTR
    - item_type: preproc_def
      name: FUNC_ATTR_OPT_O2
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
      type_or_value: __attribute__((optimize("-O2")))
    - item_type: preproc_def
      name: ROUND_KEY_VARIABLES
      pos:
        line_end: 448
        line_start: 445
        source_file: /src/libgcrypt/cipher/rijndael-riscv-zvkned.c
      type_or_value: "vuint32m1_t rk0, rk1, rk2, rk3, rk4, rk5, rk6, rk7, rk8; \\\n
        \ vuint32m1_t rk9, rk10, rk11, rk12, rk13, rk_last;"
    structs: []
    typedefs: []
    union: []
- function_names:
  - dilithium_keypair
  - dilithium_sign
  - dilithium_verify
  - shake128_init
  - shake128_absorb
  - shake128_finalize
  - shake128_squeeze
  - shake128_close
  - shake256_init
  - shake256_absorb
  - shake256_finalize
  - shake256_squeeze
  - shake256_close
  - shake256
  - stream128_init
  - stream128_squeezeblocks
  - stream256_init
  - stream256_squeezeblocks
  - dilithium_shake128_stream_init
  - dilithium_shake256_stream_init
  - shake128_squeezeblocks
  - stream128_close
  - shake256_squeezeblocks
  - stream256_close
  - shake256_close
  - shake128_close
  - VARIANT2
  - VARIANT3
  - VARIANT5
  source_file: /src/libgcrypt/cipher/dilithium.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DILITHIUM_INTERNAL_API_ONLY
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SHAKE128_RATE
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '168'
    - item_type: preproc_def
      name: SHAKE256_RATE
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '136'
    - item_type: preproc_def
      name: SHA3_256_RATE
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '136'
    - item_type: preproc_def
      name: CRHBYTES
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '64'
    - item_type: preproc_def
      name: TRBYTES
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '64'
    - item_type: preproc_def
      name: N
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '256'
    - item_type: preproc_def
      name: Q
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '8380417'
    - item_type: preproc_def
      name: D
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '13'
    - item_type: preproc_def
      name: ROOT_OF_UNITY
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '1753'
    - item_type: preproc_def
      name: POLYT1_PACKEDBYTES
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '320'
    - item_type: preproc_def
      name: POLYT0_PACKEDBYTES
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '416'
    - item_type: preproc_def
      name: POLYVECH_PACKEDBYTES
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: (OMEGA + K)
    - item_type: preproc_def
      name: ETA2
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ETA4
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '4'
    - item_type: preproc_def
      name: GAMMA1_17
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: (1 << 17)
    - item_type: preproc_def
      name: GAMMA1_19
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: (1 << 19)
    - item_type: preproc_def
      name: GAMMA2_32
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: ((Q-1)/32)
    - item_type: preproc_def
      name: GAMMA2_88
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: ((Q-1)/88)
    - item_type: preproc_def
      name: POLYZ_PACKEDBYTES_17
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '576'
    - item_type: preproc_def
      name: POLYZ_PACKEDBYTES_19
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '640'
    - item_type: preproc_def
      name: POLYW1_PACKEDBYTES_88
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '192'
    - item_type: preproc_def
      name: POLYW1_PACKEDBYTES_32
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '128'
    - item_type: preproc_def
      name: POLYETA_PACKEDBYTES_2
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '96'
    - item_type: preproc_def
      name: POLYETA_PACKEDBYTES_4
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '128'
    - item_type: preproc_def
      name: MONT
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '-4186625 '
    - item_type: preproc_def
      name: QINV
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '58728449 '
    - item_type: preproc_def
      name: STREAM128_BLOCKBYTES
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: SHAKE128_RATE
    - item_type: preproc_def
      name: STREAM256_BLOCKBYTES
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: SHAKE256_RATE
    - item_type: preproc_def
      name: CRYPTO_ALGNAME
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '"Dilithium2"'
    - item_type: preproc_def
      name: K
      pos:
        line_end: 523
        line_start: 522
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '4'
    - item_type: preproc_def
      name: L
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ETA
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TAU
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '39'
    - item_type: preproc_def
      name: BETA
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '78'
    - item_type: preproc_def
      name: GAMMA1
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: (1 << 17)
    - item_type: preproc_def
      name: GAMMA2
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: ((Q-1)/88)
    - item_type: preproc_def
      name: OMEGA
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '80'
    - item_type: preproc_def
      name: CTILDEBYTES
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '32'
    - item_type: preproc_def
      name: poly_decompose
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_decompose_88
    - item_type: preproc_def
      name: poly_make_hint
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_make_hint_88
    - item_type: preproc_def
      name: poly_use_hint
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_use_hint_88
    - item_type: preproc_def
      name: poly_uniform_eta
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_uniform_eta_2
    - item_type: preproc_def
      name: poly_uniform_gamma1
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_uniform_gamma1_17
    - item_type: preproc_def
      name: polyz_pack
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyz_pack_17
    - item_type: preproc_def
      name: polyz_unpack
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyz_unpack_17
    - item_type: preproc_def
      name: polyeta_pack
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyeta_pack_2
    - item_type: preproc_def
      name: polyeta_unpack
      pos:
        line_end: 541
        line_start: 540
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyeta_unpack_2
    - item_type: preproc_def
      name: polyw1_pack
      pos:
        line_end: 542
        line_start: 541
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyw1_pack_88
    - item_type: preproc_def
      name: CRYPTO_ALGNAME
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '"Dilithium3"'
    - item_type: preproc_def
      name: K
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '6'
    - item_type: preproc_def
      name: L
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '5'
    - item_type: preproc_def
      name: ETA
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '4'
    - item_type: preproc_def
      name: TAU
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '49'
    - item_type: preproc_def
      name: BETA
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '196'
    - item_type: preproc_def
      name: GAMMA1
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: (1 << 19)
    - item_type: preproc_def
      name: GAMMA2
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: ((Q-1)/32)
    - item_type: preproc_def
      name: OMEGA
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '55'
    - item_type: preproc_def
      name: CTILDEBYTES
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '48'
    - item_type: preproc_def
      name: poly_decompose
      pos:
        line_end: 556
        line_start: 555
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_decompose_32
    - item_type: preproc_def
      name: poly_make_hint
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_make_hint_32
    - item_type: preproc_def
      name: poly_use_hint
      pos:
        line_end: 558
        line_start: 557
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_use_hint_32
    - item_type: preproc_def
      name: poly_uniform_eta
      pos:
        line_end: 559
        line_start: 558
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_uniform_eta_4
    - item_type: preproc_def
      name: poly_uniform_gamma1
      pos:
        line_end: 560
        line_start: 559
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_uniform_gamma1_19
    - item_type: preproc_def
      name: polyz_pack
      pos:
        line_end: 561
        line_start: 560
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyz_pack_19
    - item_type: preproc_def
      name: polyz_unpack
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyz_unpack_19
    - item_type: preproc_def
      name: polyeta_pack
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyeta_pack_4
    - item_type: preproc_def
      name: polyeta_unpack
      pos:
        line_end: 564
        line_start: 563
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyeta_unpack_4
    - item_type: preproc_def
      name: polyw1_pack
      pos:
        line_end: 565
        line_start: 564
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyw1_pack_32
    - item_type: preproc_def
      name: CRYPTO_ALGNAME
      pos:
        line_end: 568
        line_start: 567
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '"Dilithium5"'
    - item_type: preproc_def
      name: K
      pos:
        line_end: 569
        line_start: 568
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '8'
    - item_type: preproc_def
      name: L
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '7'
    - item_type: preproc_def
      name: ETA
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TAU
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '60'
    - item_type: preproc_def
      name: BETA
      pos:
        line_end: 573
        line_start: 572
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '120'
    - item_type: preproc_def
      name: GAMMA1
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: (1 << 19)
    - item_type: preproc_def
      name: GAMMA2
      pos:
        line_end: 575
        line_start: 574
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: ((Q-1)/32)
    - item_type: preproc_def
      name: OMEGA
      pos:
        line_end: 576
        line_start: 575
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '75'
    - item_type: preproc_def
      name: CTILDEBYTES
      pos:
        line_end: 577
        line_start: 576
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '64'
    - item_type: preproc_def
      name: poly_decompose
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_decompose_32
    - item_type: preproc_def
      name: poly_make_hint
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_make_hint_32
    - item_type: preproc_def
      name: poly_use_hint
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_use_hint_32
    - item_type: preproc_def
      name: poly_uniform_eta
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_uniform_eta_2
    - item_type: preproc_def
      name: poly_uniform_gamma1
      pos:
        line_end: 583
        line_start: 582
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_uniform_gamma1_19
    - item_type: preproc_def
      name: polyz_pack
      pos:
        line_end: 584
        line_start: 583
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyz_pack_19
    - item_type: preproc_def
      name: polyz_unpack
      pos:
        line_end: 585
        line_start: 584
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyz_unpack_19
    - item_type: preproc_def
      name: polyeta_pack
      pos:
        line_end: 586
        line_start: 585
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyeta_pack_2
    - item_type: preproc_def
      name: polyeta_unpack
      pos:
        line_end: 587
        line_start: 586
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyeta_unpack_2
    - item_type: preproc_def
      name: polyw1_pack
      pos:
        line_end: 588
        line_start: 587
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyw1_pack_32
    - item_type: preproc_def
      name: POLYZ_PACKEDBYTES
      pos:
        line_end: 593
        line_start: 592
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: POLYZ_PACKEDBYTES_17
    - item_type: preproc_def
      name: POLYZ_PACKEDBYTES
      pos:
        line_end: 596
        line_start: 595
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: POLYZ_PACKEDBYTES_19
    - item_type: preproc_def
      name: POLYW1_PACKEDBYTES
      pos:
        line_end: 600
        line_start: 599
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: POLYW1_PACKEDBYTES_88
    - item_type: preproc_def
      name: POLYW1_PACKEDBYTES
      pos:
        line_end: 603
        line_start: 602
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: POLYW1_PACKEDBYTES_32
    - item_type: preproc_def
      name: POLYETA_PACKEDBYTES
      pos:
        line_end: 607
        line_start: 606
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: POLYETA_PACKEDBYTES_2
    - item_type: preproc_def
      name: POLYETA_PACKEDBYTES
      pos:
        line_end: 610
        line_start: 609
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: POLYETA_PACKEDBYTES_4
    - item_type: preproc_def
      name: CRYPTO_ALGNAME
      pos:
        line_end: 616
        line_start: 615
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '"Dilithium"'
    - item_type: preproc_def
      name: DILITHIUM_MODE
      pos:
        line_end: 622
        line_start: 621
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CRYPTO_PUBLICKEYBYTES
      pos:
        line_end: 624
        line_start: 623
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: CRYPTO_PUBLICKEYBYTES_2
    - item_type: preproc_def
      name: CRYPTO_SECRETKEYBYTES
      pos:
        line_end: 625
        line_start: 624
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: CRYPTO_SECRETKEYBYTES_2
    - item_type: preproc_def
      name: CRYPTO_BYTES
      pos:
        line_end: 626
        line_start: 625
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: CRYPTO_BYTES_2
    - item_type: preproc_def
      name: POLYZ_PACKEDBYTES
      pos:
        line_end: 627
        line_start: 626
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: POLYZ_PACKEDBYTES_17
    - item_type: preproc_def
      name: POLYW1_PACKEDBYTES
      pos:
        line_end: 628
        line_start: 627
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: POLYW1_PACKEDBYTES_88
    - item_type: preproc_def
      name: POLYETA_PACKEDBYTES
      pos:
        line_end: 629
        line_start: 628
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: POLYETA_PACKEDBYTES_2
    - item_type: preproc_def
      name: K
      pos:
        line_end: 631
        line_start: 630
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '4'
    - item_type: preproc_def
      name: L
      pos:
        line_end: 632
        line_start: 631
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ETA
      pos:
        line_end: 633
        line_start: 632
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TAU
      pos:
        line_end: 634
        line_start: 633
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '39'
    - item_type: preproc_def
      name: BETA
      pos:
        line_end: 635
        line_start: 634
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '78'
    - item_type: preproc_def
      name: GAMMA1
      pos:
        line_end: 636
        line_start: 635
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: (1 << 17)
    - item_type: preproc_def
      name: GAMMA2
      pos:
        line_end: 637
        line_start: 636
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: ((Q-1)/88)
    - item_type: preproc_def
      name: OMEGA
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '80'
    - item_type: preproc_def
      name: CTILDEBYTES
      pos:
        line_end: 639
        line_start: 638
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '32'
    - item_type: preproc_def
      name: poly_decompose
      pos:
        line_end: 641
        line_start: 640
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_decompose_88
    - item_type: preproc_def
      name: poly_make_hint
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_make_hint_88
    - item_type: preproc_def
      name: poly_use_hint
      pos:
        line_end: 643
        line_start: 642
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_use_hint_88
    - item_type: preproc_def
      name: poly_uniform_eta
      pos:
        line_end: 644
        line_start: 643
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_uniform_eta_2
    - item_type: preproc_def
      name: poly_uniform_gamma1
      pos:
        line_end: 645
        line_start: 644
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_uniform_gamma1_17
    - item_type: preproc_def
      name: polyz_pack
      pos:
        line_end: 646
        line_start: 645
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyz_pack_17
    - item_type: preproc_def
      name: polyz_unpack
      pos:
        line_end: 647
        line_start: 646
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyz_unpack_17
    - item_type: preproc_def
      name: polyeta_pack
      pos:
        line_end: 648
        line_start: 647
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyeta_pack_2
    - item_type: preproc_def
      name: polyeta_unpack
      pos:
        line_end: 649
        line_start: 648
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyeta_unpack_2
    - item_type: preproc_def
      name: polyw1_pack
      pos:
        line_end: 650
        line_start: 649
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyw1_pack_88
    - item_type: preproc_def
      name: polyvecl
      pos:
        line_end: 652
        line_start: 651
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyvecl)
    - item_type: preproc_def
      name: polyveck
      pos:
        line_end: 653
        line_start: 652
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyveck)
    - item_type: preproc_def
      name: pack_pk
      pos:
        line_end: 654
        line_start: 653
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(pack_pk)
    - item_type: preproc_def
      name: unpack_pk
      pos:
        line_end: 655
        line_start: 654
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(unpack_pk)
    - item_type: preproc_def
      name: pack_sk
      pos:
        line_end: 656
        line_start: 655
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(pack_sk)
    - item_type: preproc_def
      name: unpack_sk
      pos:
        line_end: 657
        line_start: 656
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(unpack_sk)
    - item_type: preproc_def
      name: pack_sig
      pos:
        line_end: 658
        line_start: 657
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(pack_sig)
    - item_type: preproc_def
      name: unpack_sig
      pos:
        line_end: 659
        line_start: 658
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(unpack_sig)
    - item_type: preproc_def
      name: poly_challenge
      pos:
        line_end: 660
        line_start: 659
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(poly_challenge)
    - item_type: preproc_def
      name: polyvec_matrix_expand
      pos:
        line_end: 661
        line_start: 660
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyvec_matrix_expand)
    - item_type: preproc_def
      name: polyvec_matrix_pointwise_montgomery
      pos:
        line_end: 662
        line_start: 661
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyvec_matrix_pointwise_montgomery)
    - item_type: preproc_def
      name: polyveck_power2round
      pos:
        line_end: 663
        line_start: 662
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyvec_power2round)
    - item_type: preproc_def
      name: polyveck_make_hint
      pos:
        line_end: 664
        line_start: 663
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyvec_make_hint)
    - item_type: preproc_def
      name: polyveck_use_hint
      pos:
        line_end: 665
        line_start: 664
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyvec_use_hint)
    - item_type: preproc_def
      name: polyvecl_uniform_eta
      pos:
        line_end: 666
        line_start: 665
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyvecl_uniform_eta)
    - item_type: preproc_def
      name: polyvecl_uniform_gamma1
      pos:
        line_end: 667
        line_start: 666
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyvecl_uniform_gamma1)
    - item_type: preproc_def
      name: polyvecl_reduce
      pos:
        line_end: 668
        line_start: 667
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyvecl_reduce)
    - item_type: preproc_def
      name: polyvecl_add
      pos:
        line_end: 669
        line_start: 668
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyvecl_add)
    - item_type: preproc_def
      name: polyvecl_ntt
      pos:
        line_end: 670
        line_start: 669
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyvecl_ntt)
    - item_type: preproc_def
      name: polyvecl_invntt_tomont
      pos:
        line_end: 671
        line_start: 670
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyvecl_invntt_tomont)
    - item_type: preproc_def
      name: polyvecl_pointwise_poly_montgomery
      pos:
        line_end: 672
        line_start: 671
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyvecl_pointwise_poly_montgomery)
    - item_type: preproc_def
      name: polyvecl_pointwise_acc_montgomery
      pos:
        line_end: 673
        line_start: 672
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyvecl_pointwise_acc_montgomery)
    - item_type: preproc_def
      name: polyvecl_chknorm
      pos:
        line_end: 674
        line_start: 673
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyvecl_chknorm)
    - item_type: preproc_def
      name: polyveck_uniform_eta
      pos:
        line_end: 675
        line_start: 674
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyveck_uniform_eta)
    - item_type: preproc_def
      name: polyveck_reduce
      pos:
        line_end: 676
        line_start: 675
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyveck_reduce)
    - item_type: preproc_def
      name: polyveck_caddq
      pos:
        line_end: 677
        line_start: 676
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyveck_caddq)
    - item_type: preproc_def
      name: polyveck_add
      pos:
        line_end: 678
        line_start: 677
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyveck_add)
    - item_type: preproc_def
      name: polyveck_sub
      pos:
        line_end: 679
        line_start: 678
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyveck_sub)
    - item_type: preproc_def
      name: polyveck_shiftl
      pos:
        line_end: 680
        line_start: 679
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyveck_shiftl)
    - item_type: preproc_def
      name: polyveck_ntt
      pos:
        line_end: 681
        line_start: 680
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyveck_ntt)
    - item_type: preproc_def
      name: polyveck_invntt_tomont
      pos:
        line_end: 682
        line_start: 681
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyveck_invntt_tomont)
    - item_type: preproc_def
      name: polyveck_pointwise_poly_montgomery
      pos:
        line_end: 683
        line_start: 682
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyveck_pointwise_poly_montgomery)
    - item_type: preproc_def
      name: polyveck_chknorm
      pos:
        line_end: 684
        line_start: 683
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyveck_chknorm)
    - item_type: preproc_def
      name: polyveck_pack_w1
      pos:
        line_end: 685
        line_start: 684
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyveck_pack_w1)
    - item_type: preproc_def
      name: polyveck_decompose
      pos:
        line_end: 686
        line_start: 685
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(polyveck_decompose)
    - item_type: preproc_def
      name: crypto_sign_keypair
      pos:
        line_end: 687
        line_start: 686
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(crypto_sign_keypair)
    - item_type: preproc_def
      name: crypto_sign_keypair_internal
      pos:
        line_end: 688
        line_start: 687
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(crypto_sign_keypair_internal)
    - item_type: preproc_def
      name: crypto_sign_signature_internal
      pos:
        line_end: 689
        line_start: 688
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(crypto_sign_signature_internal)
    - item_type: preproc_def
      name: crypto_sign_signature
      pos:
        line_end: 690
        line_start: 689
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(crypto_sign_signature)
    - item_type: preproc_def
      name: crypto_sign
      pos:
        line_end: 691
        line_start: 690
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(crypto_sign)
    - item_type: preproc_def
      name: crypto_sign_verify_internal
      pos:
        line_end: 692
        line_start: 691
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(crypto_sign_verify_internal)
    - item_type: preproc_def
      name: crypto_sign_verify
      pos:
        line_end: 693
        line_start: 692
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(crypto_sign_verify)
    - item_type: preproc_def
      name: crypto_sign_open
      pos:
        line_end: 694
        line_start: 693
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT2(crypto_sign_open)
    - item_type: preproc_def
      name: DILITHIUM_MODE
      pos:
        line_end: 698
        line_start: 697
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CRYPTO_PUBLICKEYBYTES
      pos:
        line_end: 700
        line_start: 699
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: CRYPTO_PUBLICKEYBYTES_3
    - item_type: preproc_def
      name: CRYPTO_SECRETKEYBYTES
      pos:
        line_end: 701
        line_start: 700
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: CRYPTO_SECRETKEYBYTES_3
    - item_type: preproc_def
      name: CRYPTO_BYTES
      pos:
        line_end: 702
        line_start: 701
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: CRYPTO_BYTES_3
    - item_type: preproc_def
      name: POLYZ_PACKEDBYTES
      pos:
        line_end: 703
        line_start: 702
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: POLYZ_PACKEDBYTES_19
    - item_type: preproc_def
      name: POLYW1_PACKEDBYTES
      pos:
        line_end: 704
        line_start: 703
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: POLYW1_PACKEDBYTES_32
    - item_type: preproc_def
      name: POLYETA_PACKEDBYTES
      pos:
        line_end: 705
        line_start: 704
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: POLYETA_PACKEDBYTES_4
    - item_type: preproc_def
      name: K
      pos:
        line_end: 707
        line_start: 706
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '6'
    - item_type: preproc_def
      name: L
      pos:
        line_end: 708
        line_start: 707
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '5'
    - item_type: preproc_def
      name: ETA
      pos:
        line_end: 709
        line_start: 708
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '4'
    - item_type: preproc_def
      name: TAU
      pos:
        line_end: 710
        line_start: 709
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '49'
    - item_type: preproc_def
      name: BETA
      pos:
        line_end: 711
        line_start: 710
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '196'
    - item_type: preproc_def
      name: GAMMA1
      pos:
        line_end: 712
        line_start: 711
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: (1 << 19)
    - item_type: preproc_def
      name: GAMMA2
      pos:
        line_end: 713
        line_start: 712
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: ((Q-1)/32)
    - item_type: preproc_def
      name: OMEGA
      pos:
        line_end: 714
        line_start: 713
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '55'
    - item_type: preproc_def
      name: CTILDEBYTES
      pos:
        line_end: 715
        line_start: 714
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '48'
    - item_type: preproc_def
      name: poly_decompose
      pos:
        line_end: 717
        line_start: 716
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_decompose_32
    - item_type: preproc_def
      name: poly_make_hint
      pos:
        line_end: 718
        line_start: 717
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_make_hint_32
    - item_type: preproc_def
      name: poly_use_hint
      pos:
        line_end: 719
        line_start: 718
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_use_hint_32
    - item_type: preproc_def
      name: poly_uniform_eta
      pos:
        line_end: 720
        line_start: 719
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_uniform_eta_4
    - item_type: preproc_def
      name: poly_uniform_gamma1
      pos:
        line_end: 721
        line_start: 720
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_uniform_gamma1_19
    - item_type: preproc_def
      name: polyz_pack
      pos:
        line_end: 722
        line_start: 721
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyz_pack_19
    - item_type: preproc_def
      name: polyz_unpack
      pos:
        line_end: 723
        line_start: 722
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyz_unpack_19
    - item_type: preproc_def
      name: polyeta_pack
      pos:
        line_end: 724
        line_start: 723
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyeta_pack_4
    - item_type: preproc_def
      name: polyeta_unpack
      pos:
        line_end: 725
        line_start: 724
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyeta_unpack_4
    - item_type: preproc_def
      name: polyw1_pack
      pos:
        line_end: 726
        line_start: 725
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyw1_pack_32
    - item_type: preproc_def
      name: polyvecl
      pos:
        line_end: 728
        line_start: 727
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyvecl)
    - item_type: preproc_def
      name: polyveck
      pos:
        line_end: 729
        line_start: 728
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyveck)
    - item_type: preproc_def
      name: pack_pk
      pos:
        line_end: 730
        line_start: 729
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(pack_pk)
    - item_type: preproc_def
      name: unpack_pk
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(unpack_pk)
    - item_type: preproc_def
      name: pack_sk
      pos:
        line_end: 732
        line_start: 731
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(pack_sk)
    - item_type: preproc_def
      name: unpack_sk
      pos:
        line_end: 733
        line_start: 732
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(unpack_sk)
    - item_type: preproc_def
      name: pack_sig
      pos:
        line_end: 734
        line_start: 733
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(pack_sig)
    - item_type: preproc_def
      name: unpack_sig
      pos:
        line_end: 735
        line_start: 734
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(unpack_sig)
    - item_type: preproc_def
      name: poly_challenge
      pos:
        line_end: 736
        line_start: 735
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(poly_challenge)
    - item_type: preproc_def
      name: polyvec_matrix_expand
      pos:
        line_end: 737
        line_start: 736
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyvec_matrix_expand)
    - item_type: preproc_def
      name: polyvec_matrix_pointwise_montgomery
      pos:
        line_end: 738
        line_start: 737
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyvec_matrix_pointwise_montgomery)
    - item_type: preproc_def
      name: polyveck_power2round
      pos:
        line_end: 739
        line_start: 738
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyvec_power2round)
    - item_type: preproc_def
      name: polyveck_make_hint
      pos:
        line_end: 740
        line_start: 739
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyvec_make_hint)
    - item_type: preproc_def
      name: polyveck_use_hint
      pos:
        line_end: 741
        line_start: 740
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyvec_use_hint)
    - item_type: preproc_def
      name: polyvecl_uniform_eta
      pos:
        line_end: 742
        line_start: 741
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyvecl_uniform_eta)
    - item_type: preproc_def
      name: polyvecl_uniform_gamma1
      pos:
        line_end: 743
        line_start: 742
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyvecl_uniform_gamma1)
    - item_type: preproc_def
      name: polyvecl_reduce
      pos:
        line_end: 744
        line_start: 743
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyvecl_reduce)
    - item_type: preproc_def
      name: polyvecl_add
      pos:
        line_end: 745
        line_start: 744
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyvecl_add)
    - item_type: preproc_def
      name: polyvecl_ntt
      pos:
        line_end: 746
        line_start: 745
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyvecl_ntt)
    - item_type: preproc_def
      name: polyvecl_invntt_tomont
      pos:
        line_end: 747
        line_start: 746
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyvecl_invntt_tomont)
    - item_type: preproc_def
      name: polyvecl_pointwise_poly_montgomery
      pos:
        line_end: 748
        line_start: 747
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyvecl_pointwise_poly_montgomery)
    - item_type: preproc_def
      name: polyvecl_pointwise_acc_montgomery
      pos:
        line_end: 749
        line_start: 748
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyvecl_pointwise_acc_montgomery)
    - item_type: preproc_def
      name: polyvecl_chknorm
      pos:
        line_end: 750
        line_start: 749
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyvecl_chknorm)
    - item_type: preproc_def
      name: polyveck_uniform_eta
      pos:
        line_end: 751
        line_start: 750
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyveck_uniform_eta)
    - item_type: preproc_def
      name: polyveck_reduce
      pos:
        line_end: 752
        line_start: 751
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyveck_reduce)
    - item_type: preproc_def
      name: polyveck_caddq
      pos:
        line_end: 753
        line_start: 752
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyveck_caddq)
    - item_type: preproc_def
      name: polyveck_add
      pos:
        line_end: 754
        line_start: 753
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyveck_add)
    - item_type: preproc_def
      name: polyveck_sub
      pos:
        line_end: 755
        line_start: 754
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyveck_sub)
    - item_type: preproc_def
      name: polyveck_shiftl
      pos:
        line_end: 756
        line_start: 755
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyveck_shiftl)
    - item_type: preproc_def
      name: polyveck_ntt
      pos:
        line_end: 757
        line_start: 756
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyveck_ntt)
    - item_type: preproc_def
      name: polyveck_invntt_tomont
      pos:
        line_end: 758
        line_start: 757
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyveck_invntt_tomont)
    - item_type: preproc_def
      name: polyveck_pointwise_poly_montgomery
      pos:
        line_end: 759
        line_start: 758
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyveck_pointwise_poly_montgomery)
    - item_type: preproc_def
      name: polyveck_chknorm
      pos:
        line_end: 760
        line_start: 759
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyveck_chknorm)
    - item_type: preproc_def
      name: polyveck_pack_w1
      pos:
        line_end: 761
        line_start: 760
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyveck_pack_w1)
    - item_type: preproc_def
      name: polyveck_decompose
      pos:
        line_end: 762
        line_start: 761
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(polyveck_decompose)
    - item_type: preproc_def
      name: crypto_sign_keypair
      pos:
        line_end: 763
        line_start: 762
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(crypto_sign_keypair)
    - item_type: preproc_def
      name: crypto_sign_keypair_internal
      pos:
        line_end: 764
        line_start: 763
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(crypto_sign_keypair_internal)
    - item_type: preproc_def
      name: crypto_sign_signature_internal
      pos:
        line_end: 765
        line_start: 764
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(crypto_sign_signature_internal)
    - item_type: preproc_def
      name: crypto_sign_signature
      pos:
        line_end: 766
        line_start: 765
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(crypto_sign_signature)
    - item_type: preproc_def
      name: crypto_sign
      pos:
        line_end: 767
        line_start: 766
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(crypto_sign)
    - item_type: preproc_def
      name: crypto_sign_verify_internal
      pos:
        line_end: 768
        line_start: 767
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(crypto_sign_verify_internal)
    - item_type: preproc_def
      name: crypto_sign_verify
      pos:
        line_end: 769
        line_start: 768
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(crypto_sign_verify)
    - item_type: preproc_def
      name: crypto_sign_open
      pos:
        line_end: 770
        line_start: 769
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT3(crypto_sign_open)
    - item_type: preproc_def
      name: DILITHIUM_MODE
      pos:
        line_end: 774
        line_start: 773
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '5'
    - item_type: preproc_def
      name: CRYPTO_PUBLICKEYBYTES
      pos:
        line_end: 776
        line_start: 775
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: CRYPTO_PUBLICKEYBYTES_5
    - item_type: preproc_def
      name: CRYPTO_SECRETKEYBYTES
      pos:
        line_end: 777
        line_start: 776
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: CRYPTO_SECRETKEYBYTES_5
    - item_type: preproc_def
      name: CRYPTO_BYTES
      pos:
        line_end: 778
        line_start: 777
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: CRYPTO_BYTES_5
    - item_type: preproc_def
      name: POLYZ_PACKEDBYTES
      pos:
        line_end: 779
        line_start: 778
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: POLYZ_PACKEDBYTES_19
    - item_type: preproc_def
      name: POLYW1_PACKEDBYTES
      pos:
        line_end: 780
        line_start: 779
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: POLYW1_PACKEDBYTES_32
    - item_type: preproc_def
      name: POLYETA_PACKEDBYTES
      pos:
        line_end: 781
        line_start: 780
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: POLYETA_PACKEDBYTES_2
    - item_type: preproc_def
      name: K
      pos:
        line_end: 783
        line_start: 782
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '8'
    - item_type: preproc_def
      name: L
      pos:
        line_end: 784
        line_start: 783
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '7'
    - item_type: preproc_def
      name: ETA
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TAU
      pos:
        line_end: 786
        line_start: 785
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '60'
    - item_type: preproc_def
      name: BETA
      pos:
        line_end: 787
        line_start: 786
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '120'
    - item_type: preproc_def
      name: GAMMA1
      pos:
        line_end: 788
        line_start: 787
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: (1 << 19)
    - item_type: preproc_def
      name: GAMMA2
      pos:
        line_end: 789
        line_start: 788
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: ((Q-1)/32)
    - item_type: preproc_def
      name: OMEGA
      pos:
        line_end: 790
        line_start: 789
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '75'
    - item_type: preproc_def
      name: CTILDEBYTES
      pos:
        line_end: 791
        line_start: 790
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: '64'
    - item_type: preproc_def
      name: poly_decompose
      pos:
        line_end: 793
        line_start: 792
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_decompose_32
    - item_type: preproc_def
      name: poly_make_hint
      pos:
        line_end: 794
        line_start: 793
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_make_hint_32
    - item_type: preproc_def
      name: poly_use_hint
      pos:
        line_end: 795
        line_start: 794
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_use_hint_32
    - item_type: preproc_def
      name: poly_uniform_eta
      pos:
        line_end: 796
        line_start: 795
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_uniform_eta_2
    - item_type: preproc_def
      name: poly_uniform_gamma1
      pos:
        line_end: 797
        line_start: 796
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: poly_uniform_gamma1_19
    - item_type: preproc_def
      name: polyz_pack
      pos:
        line_end: 798
        line_start: 797
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyz_pack_19
    - item_type: preproc_def
      name: polyz_unpack
      pos:
        line_end: 799
        line_start: 798
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyz_unpack_19
    - item_type: preproc_def
      name: polyeta_pack
      pos:
        line_end: 800
        line_start: 799
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyeta_pack_2
    - item_type: preproc_def
      name: polyeta_unpack
      pos:
        line_end: 801
        line_start: 800
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyeta_unpack_2
    - item_type: preproc_def
      name: polyw1_pack
      pos:
        line_end: 802
        line_start: 801
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: polyw1_pack_32
    - item_type: preproc_def
      name: polyvecl
      pos:
        line_end: 804
        line_start: 803
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyvecl)
    - item_type: preproc_def
      name: polyveck
      pos:
        line_end: 805
        line_start: 804
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyveck)
    - item_type: preproc_def
      name: pack_pk
      pos:
        line_end: 806
        line_start: 805
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(pack_pk)
    - item_type: preproc_def
      name: unpack_pk
      pos:
        line_end: 807
        line_start: 806
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(unpack_pk)
    - item_type: preproc_def
      name: pack_sk
      pos:
        line_end: 808
        line_start: 807
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(pack_sk)
    - item_type: preproc_def
      name: unpack_sk
      pos:
        line_end: 809
        line_start: 808
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(unpack_sk)
    - item_type: preproc_def
      name: pack_sig
      pos:
        line_end: 810
        line_start: 809
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(pack_sig)
    - item_type: preproc_def
      name: unpack_sig
      pos:
        line_end: 811
        line_start: 810
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(unpack_sig)
    - item_type: preproc_def
      name: poly_challenge
      pos:
        line_end: 812
        line_start: 811
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(poly_challenge)
    - item_type: preproc_def
      name: polyvec_matrix_expand
      pos:
        line_end: 813
        line_start: 812
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyvec_matrix_expand)
    - item_type: preproc_def
      name: polyvec_matrix_pointwise_montgomery
      pos:
        line_end: 814
        line_start: 813
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyvec_matrix_pointwise_montgomery)
    - item_type: preproc_def
      name: polyveck_power2round
      pos:
        line_end: 815
        line_start: 814
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyvec_power2round)
    - item_type: preproc_def
      name: polyveck_make_hint
      pos:
        line_end: 816
        line_start: 815
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyvec_make_hint)
    - item_type: preproc_def
      name: polyveck_use_hint
      pos:
        line_end: 817
        line_start: 816
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyvec_use_hint)
    - item_type: preproc_def
      name: polyvecl_uniform_eta
      pos:
        line_end: 818
        line_start: 817
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyvecl_uniform_eta)
    - item_type: preproc_def
      name: polyvecl_uniform_gamma1
      pos:
        line_end: 819
        line_start: 818
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyvecl_uniform_gamma1)
    - item_type: preproc_def
      name: polyvecl_reduce
      pos:
        line_end: 820
        line_start: 819
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyvecl_reduce)
    - item_type: preproc_def
      name: polyvecl_add
      pos:
        line_end: 821
        line_start: 820
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyvecl_add)
    - item_type: preproc_def
      name: polyvecl_ntt
      pos:
        line_end: 822
        line_start: 821
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyvecl_ntt)
    - item_type: preproc_def
      name: polyvecl_invntt_tomont
      pos:
        line_end: 823
        line_start: 822
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyvecl_invntt_tomont)
    - item_type: preproc_def
      name: polyvecl_pointwise_poly_montgomery
      pos:
        line_end: 824
        line_start: 823
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyvecl_pointwise_poly_montgomery)
    - item_type: preproc_def
      name: polyvecl_pointwise_acc_montgomery
      pos:
        line_end: 825
        line_start: 824
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyvecl_pointwise_acc_montgomery)
    - item_type: preproc_def
      name: polyvecl_chknorm
      pos:
        line_end: 826
        line_start: 825
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyvecl_chknorm)
    - item_type: preproc_def
      name: polyveck_uniform_eta
      pos:
        line_end: 827
        line_start: 826
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyveck_uniform_eta)
    - item_type: preproc_def
      name: polyveck_reduce
      pos:
        line_end: 828
        line_start: 827
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyveck_reduce)
    - item_type: preproc_def
      name: polyveck_caddq
      pos:
        line_end: 829
        line_start: 828
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyveck_caddq)
    - item_type: preproc_def
      name: polyveck_add
      pos:
        line_end: 830
        line_start: 829
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyveck_add)
    - item_type: preproc_def
      name: polyveck_sub
      pos:
        line_end: 831
        line_start: 830
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyveck_sub)
    - item_type: preproc_def
      name: polyveck_shiftl
      pos:
        line_end: 832
        line_start: 831
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyveck_shiftl)
    - item_type: preproc_def
      name: polyveck_ntt
      pos:
        line_end: 833
        line_start: 832
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyveck_ntt)
    - item_type: preproc_def
      name: polyveck_invntt_tomont
      pos:
        line_end: 834
        line_start: 833
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyveck_invntt_tomont)
    - item_type: preproc_def
      name: polyveck_pointwise_poly_montgomery
      pos:
        line_end: 835
        line_start: 834
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyveck_pointwise_poly_montgomery)
    - item_type: preproc_def
      name: polyveck_chknorm
      pos:
        line_end: 836
        line_start: 835
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyveck_chknorm)
    - item_type: preproc_def
      name: polyveck_pack_w1
      pos:
        line_end: 837
        line_start: 836
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyveck_pack_w1)
    - item_type: preproc_def
      name: polyveck_decompose
      pos:
        line_end: 838
        line_start: 837
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(polyveck_decompose)
    - item_type: preproc_def
      name: crypto_sign_keypair
      pos:
        line_end: 839
        line_start: 838
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(crypto_sign_keypair)
    - item_type: preproc_def
      name: crypto_sign_keypair_internal
      pos:
        line_end: 840
        line_start: 839
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(crypto_sign_keypair_internal)
    - item_type: preproc_def
      name: crypto_sign_signature_internal
      pos:
        line_end: 841
        line_start: 840
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(crypto_sign_signature_internal)
    - item_type: preproc_def
      name: crypto_sign_signature
      pos:
        line_end: 842
        line_start: 841
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(crypto_sign_signature)
    - item_type: preproc_def
      name: crypto_sign
      pos:
        line_end: 843
        line_start: 842
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(crypto_sign)
    - item_type: preproc_def
      name: crypto_sign_verify_internal
      pos:
        line_end: 844
        line_start: 843
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(crypto_sign_verify_internal)
    - item_type: preproc_def
      name: crypto_sign_verify
      pos:
        line_end: 845
        line_start: 844
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(crypto_sign_verify)
    - item_type: preproc_def
      name: crypto_sign_open
      pos:
        line_end: 846
        line_start: 845
        source_file: /src/libgcrypt/cipher/dilithium.c
      type_or_value: VARIANT5(crypto_sign_open)
    structs:
    - fields:
      - name: h
        type: gcry_md_hd_t
      item_type: struct
      name: keccak_state
      pos:
        line_end: 271
        line_start: 269
        source_file: /src/libgcrypt/cipher/dilithium.c
    - fields:
      - name: s[25]
        type: uint64_t
      - name: pos
        type: unsigned int
      item_type: struct
      name: keccak_state
      pos:
        line_end: 367
        line_start: 364
        source_file: /src/libgcrypt/cipher/dilithium.c
    - fields:
      - name: coeffs[N]
        type: int32_t
      item_type: struct
      name: poly
      pos:
        line_end: 415
        line_start: 413
        source_file: /src/libgcrypt/cipher/dilithium.c
    typedefs:
    - item_type: typedef
      name: stream128_state
      pos:
        line_end: 455
        line_start: 455
        source_file: /src/libgcrypt/cipher/dilithium.c
      type: keccak_state
    - item_type: typedef
      name: stream256_state
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/libgcrypt/cipher/dilithium.c
      type: keccak_state
    union: []
- function_names:
  - memory_barrier_with_vec
  - clear_vec_regs
  source_file: /src/libgcrypt/cipher/simd-common-aarch64.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - OCB_INPUT
  - OCB_LOAD_PTRS
  - OCB_INPUT
  - OCB_LOAD_PTRS
  source_file: /src/libgcrypt/cipher/sm4-avx512-amd64.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vector4x_u32::vec_rol_elems
  - vector4x_u32::vec_merge_idx0_elems
  - vector4x_u32::vec_vshasigma_u32
  - vector4x_u32::vec_add_u32
  - vector4x_u32::vec_u32_load_be
  - R
  - GETK
  - Cho
  - Maj
  - Sum0
  - Sum1
  - S0
  - S1
  - Xadd
  - Sum0add
  - Sum1add
  - S0add
  - S1add
  - I
  - WN
  - W
  - L
  - I2
  - W2
  - L2
  - WL
  - sha256_transform_ppc
  - _gcry_sha256_transform_ppc8
  - _gcry_sha256_transform_ppc9
  source_file: /src/libgcrypt/cipher/sha256-ppc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/sha256-ppc.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/cipher/sha256-ppc.c
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/cipher/sha256-ppc.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/cipher/sha256-ppc.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/sha256-ppc.c
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_NOINLINE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/cipher/sha256-ppc.c
      type_or_value: ASM_FUNC_ATTR NO_INLINE
    - item_type: preproc_def
      name: FUNC_ATTR_OPT_O2
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/sha256-ppc.c
      type_or_value: __attribute__((optimize("-O2")))
    - item_type: preproc_def
      name: FUNC_ATTR_TARGET_P8
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/cipher/sha256-ppc.c
      type_or_value: __attribute__((target("arch=pwr8")))
    - item_type: preproc_def
      name: FUNC_ATTR_TARGET_P9
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libgcrypt/cipher/sha256-ppc.c
      type_or_value: __attribute__((target("arch=pwr9")))
    - item_type: preproc_def
      name: FUNC_ATTR_TARGET_P8
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgcrypt/cipher/sha256-ppc.c
      type_or_value: __attribute__((target("cpu=power8")))
    - item_type: preproc_def
      name: FUNC_ATTR_TARGET_P9
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libgcrypt/cipher/sha256-ppc.c
      type_or_value: __attribute__((target("cpu=power9")))
    structs: []
    typedefs:
    - item_type: typedef
      name: vector16x_u8
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/libgcrypt/cipher/sha256-ppc.c
      type: vector unsigned
    - item_type: typedef
      name: vector4x_u32
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/libgcrypt/cipher/sha256-ppc.c
      type: vector unsigned
    - item_type: typedef
      name: vector2x_u64
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/libgcrypt/cipher/sha256-ppc.c
      type: vector unsigned long long
    union: []
- function_names:
  - working_memcmp
  - DO_PERMUTATION
  - INITIAL_PERMUTATION
  - FINAL_PERMUTATION
  - DES_ROUND
  - READ_64BIT_DATA
  - WRITE_64BIT_DATA
  - des_ecb_encrypt
  - des_ecb_decrypt
  - tripledes_ecb_encrypt
  - tripledes_ecb_decrypt
  - des_key_schedule
  - des_setkey
  - des_ecb_crypt
  - tripledes_set2keys
  - tripledes_set3keys
  - tripledes_ecb_crypt
  - tripledes_amd64_ctr_enc
  - tripledes_amd64_cbc_dec
  - tripledes_amd64_cfb_dec
  - tripledes_ecb_crypt
  - _gcry_3des_ctr_enc
  - _gcry_3des_cbc_dec
  - _gcry_3des_cfb_dec
  - is_weak_key
  - selftest
  - do_tripledes_setkey
  - do_tripledes_set_extra_info
  - do_tripledes_encrypt
  - do_tripledes_decrypt
  - do_des_setkey
  - do_des_encrypt
  - do_des_decrypt
  - selftest_fips
  - run_selftests
  source_file: /src/libgcrypt/cipher/des.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DES_BLOCKSIZE
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libgcrypt/cipher/des.c
      type_or_value: '8'
    - item_type: preproc_def
      name: USE_AMD64_ASM
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/libgcrypt/cipher/des.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ATTR_ALIGNED_16
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/libgcrypt/cipher/des.c
      type_or_value: __attribute__ ((aligned (16)))
    - item_type: preproc_def
      name: working_memcmp
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/libgcrypt/cipher/des.c
      type_or_value: memcmp
    - item_type: preproc_def
      name: TRIPLEDES_ECB_BURN_STACK
      pos:
        line_end: 774
        line_start: 773
        source_file: /src/libgcrypt/cipher/des.c
      type_or_value: (8 * sizeof(void *))
    - item_type: preproc_def
      name: TRIPLEDES_ECB_BURN_STACK
      pos:
        line_end: 815
        line_start: 814
        source_file: /src/libgcrypt/cipher/des.c
      type_or_value: '32'
    structs:
    - fields:
      - name: encrypt_subkeys[32]
        type: u32
      - name: decrypt_subkeys[32]
        type: u32
      item_type: struct
      name: _des_ctx
      pos:
        line_end: 167
        line_start: 163
        source_file: /src/libgcrypt/cipher/des.c
    - fields:
      - name: encrypt_subkeys[96]
        type: u32
      - name: decrypt_subkeys[96]
        type: u32
      - name: flags
        type: "struct {\n      int no_weak_key;\n    }"
      item_type: struct
      name: _tripledes_ctx
      pos:
        line_end: 180
        line_start: 173
        source_file: /src/libgcrypt/cipher/des.c
    - fields:
      - name: key[24]
        type: byte
      - name: plain[8]
        type: byte
      - name: cipher[8]
        type: byte
      item_type: struct
      name: "testdata[] = {\n      { { 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,\n
        \         0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,\n          0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01
        \ },\n        { 0x95,0xF8,0xA5,0xE5,0xDD,0x31,0xD9,0x00  },\n        { 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00
        \ }\n      },\n\n      { { 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,\n          0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,\n
        \         0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01  },\n        { 0x9D,0x64,0x55,0x5A,0x9A,0x10,0xB8,0x52,
        },\n        { 0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00  }\n      },\n      {
        { 0x38,0x49,0x67,0x4C,0x26,0x02,0x31,0x9E,\n          0x38,0x49,0x67,0x4C,0x26,0x02,0x31,0x9E,\n
        \         0x38,0x49,0x67,0x4C,0x26,0x02,0x31,0x9E  },\n        { 0x51,0x45,0x4B,0x58,0x2D,0xDF,0x44,0x0A
        \ },\n        { 0x71,0x78,0x87,0x6E,0x01,0xF1,0x9B,0x2A  }\n      },\n      {
        { 0x04,0xB9,0x15,0xBA,0x43,0xFE,0xB5,0xB6,\n          0x04,0xB9,0x15,0xBA,0x43,0xFE,0xB5,0xB6,\n
        \         0x04,0xB9,0x15,0xBA,0x43,0xFE,0xB5,0xB6  },\n        { 0x42,0xFD,0x44,0x30,0x59,0x57,0x7F,0xA2
        \ },\n        { 0xAF,0x37,0xFB,0x42,0x1F,0x8C,0x40,0x95  }\n      },\n      {
        { 0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF,\n          0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF,\n
        \         0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF  },\n        { 0x73,0x6F,0x6D,0x65,0x64,0x61,0x74,0x61
        \ },\n        { 0x3D,0x12,0x4F,0xE2,0x19,0x8B,0xA3,0x18  }\n      },\n      {
        { 0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF,\n          0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,\n
        \         0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF  },\n        { 0x73,0x6F,0x6D,0x65,0x64,0x61,0x74,0x61
        \ },\n        { 0xFB,0xAB,0xA1,0xFF,0x9D,0x05,0xE9,0xB1  }\n      },\n      {
        { 0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF,\n          0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,\n
        \         0xFE,0xDC,0xBA,0x98,0x76,0x54,0x32,0x10  },\n        { 0x73,0x6F,0x6D,0x65,0x64,0x61,0x74,0x61
        \ },\n        { 0x18,0xd7,0x48,0xe5,0x63,0x62,0x05,0x72  }\n      },\n      {
        { 0x03,0x52,0x02,0x07,0x67,0x20,0x82,0x17,\n          0x86,0x02,0x87,0x66,0x59,0x08,0x21,0x98,\n
        \         0x64,0x05,0x6A,0xBD,0xFE,0xA9,0x34,0x57  },\n        { 0x73,0x71,0x75,0x69,0x67,0x67,0x6C,0x65
        \ },\n        { 0xc0,0x7d,0x2a,0x0f,0xa5,0x66,0xfa,0x30  }\n      },\n      {
        { 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,\n          0x80,0x01,0x01,0x01,0x01,0x01,0x01,0x01,\n
        \         0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x02  },\n        { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
        \ },\n        { 0xe6,0xe6,0xdd,0x5b,0x7e,0x72,0x29,0x74  }\n      },\n      {
        { 0x10,0x46,0x10,0x34,0x89,0x98,0x80,0x20,\n          0x91,0x07,0xD0,0x15,0x89,0x19,0x01,0x01,\n
        \         0x19,0x07,0x92,0x10,0x98,0x1A,0x01,0x01  },\n        { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
        \ },\n        { 0xe1,0xef,0x62,0xc3,0x32,0xfe,0x82,0x5b  }\n      }\n    }"
      pos:
        line_end: 1125
        line_start: 1125
        source_file: /src/libgcrypt/cipher/des.c
    typedefs: []
    union: []
- function_names:
  - map_mac_algo_to_cipher
  - gmac_open
  - gmac_close
  - gmac_setkey
  - gmac_setiv
  - gmac_reset
  - gmac_write
  - gmac_read
  - gmac_verify
  - gmac_get_maclen
  - gmac_get_keylen
  source_file: /src/libgcrypt/cipher/mac-gmac.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ELF
  - GET_DATA_POINTER
  - GET_DATA_POINTER
  - CFI_STARTPROC
  - CFI_ENDPROC
  - CFI_REMEMBER_STATE
  - CFI_RESTORE_STATE
  - CFI_ADJUST_CFA_OFFSET
  - CFI_REL_OFFSET
  - CFI_DEF_CFA_REGISTER
  - CFI_REGISTER
  - CFI_RESTORE
  - DW_SLEB128_7BIT
  - DW_SLEB128_28BIT
  - CFI_CFA_ON_STACK
  - CLEAR_REG
  - CLEAR_ALL_REGS
  source_file: /src/libgcrypt/cipher/asm-common-aarch64.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SECTION_RODATA
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/cipher/asm-common-aarch64.h
      type_or_value: .section .rdata
    - item_type: preproc_def
      name: SECTION_RODATA
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/cipher/asm-common-aarch64.h
      type_or_value: .section .rodata
    - item_type: preproc_def
      name: AARCH64_BTI_PROPERTY_FLAG
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/cipher/asm-common-aarch64.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: AARCH64_HINT_BTI_C
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/libgcrypt/cipher/asm-common-aarch64.h
      type_or_value: 'hint #34'
    - item_type: preproc_def
      name: AARCH64_BTI_PROPERTY_FLAG
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/cipher/asm-common-aarch64.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: AARCH64_PAC_PROPERTY_FLAG
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libgcrypt/cipher/asm-common-aarch64.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: AARCH64_PAC_PROPERTY_FLAG
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libgcrypt/cipher/asm-common-aarch64.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: SPEC_STOP
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libgcrypt/cipher/asm-common-aarch64.h
      type_or_value: dsb sy; isb
    - item_type: preproc_def
      name: DW_REGNO_SP
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libgcrypt/cipher/asm-common-aarch64.h
      type_or_value: '31'
    - item_type: preproc_def
      name: VPUSH_ABI
      pos:
        line_end: 148
        line_start: 139
        source_file: /src/libgcrypt/cipher/asm-common-aarch64.h
      type_or_value: "stp d8, d9, [sp, #-16]!; \\\n\tCFI_ADJUST_CFA_OFFSET(16); \\\n\tstp
        d10, d11, [sp, #-16]!; \\\n\tCFI_ADJUST_CFA_OFFSET(16); \\\n\tstp d12, d13,
        [sp, #-16]!; \\\n\tCFI_ADJUST_CFA_OFFSET(16); \\\n\tstp d14, d15, [sp, #-16]!;
        \\\n\tCFI_ADJUST_CFA_OFFSET(16);"
    - item_type: preproc_def
      name: VPOP_ABI
      pos:
        line_end: 158
        line_start: 149
        source_file: /src/libgcrypt/cipher/asm-common-aarch64.h
      type_or_value: "ldp d14, d15, [sp], #16; \\\n\tCFI_ADJUST_CFA_OFFSET(-16); \\\n\tldp
        d12, d13, [sp], #16; \\\n\tCFI_ADJUST_CFA_OFFSET(-16); \\\n\tldp d10, d11,
        [sp], #16; \\\n\tCFI_ADJUST_CFA_OFFSET(-16); \\\n\tldp d8, d9, [sp], #16;
        \\\n\tCFI_ADJUST_CFA_OFFSET(-16);"
    structs: []
    typedefs: []
    union: []
- function_names:
  - CALC_S
  - CALC_SB_2
  - CALC_SB
  - CALC_SB256_2
  - CALC_SB256
  - CALC_K_2
  - CALC_K
  - CALC_K256_2
  - CALC_K256
  - do_twofish_setkey
  - twofish_setkey
  - twofish_amd64_encrypt_block
  - twofish_amd64_decrypt_block
  - twofish_amd64_ctr_enc
  - twofish_amd64_cbc_dec
  - twofish_amd64_cfb_dec
  - twofish_amd64_ocb_enc
  - twofish_amd64_ocb_dec
  - twofish_amd64_ocb_auth
  - G1
  - G2
  - ENCROUND
  - DECROUND
  - ENCCYCLE
  - DECCYCLE
  - INPACK
  - OUTUNPACK
  - twofish_encrypt
  - twofish_encrypt
  - do_twofish_encrypt
  - twofish_encrypt
  - twofish_decrypt
  - twofish_decrypt
  - do_twofish_decrypt
  - twofish_decrypt
  - _gcry_twofish_ctr_enc
  - _gcry_twofish_cbc_dec
  - _gcry_twofish_cfb_dec
  - _gcry_twofish_ocb_crypt
  - _gcry_twofish_ocb_auth
  - twofish_crypt_blk1_16
  - twofish_encrypt_blk1_16
  - twofish_decrypt_blk1_16
  - _gcry_twofish_xts_crypt
  - _gcry_twofish_ecb_crypt
  - selftest
  - main
  source_file: /src/libgcrypt/cipher/twofish.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TWOFISH_BLOCKSIZE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libgcrypt/cipher/twofish.c
      type_or_value: '16'
    - item_type: preproc_def
      name: USE_AMD64_ASM
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libgcrypt/cipher/twofish.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_ASM
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libgcrypt/cipher/twofish.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_ASM
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libgcrypt/cipher/twofish.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AVX2
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libgcrypt/cipher/twofish.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ASM_FUNC_ABI
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libgcrypt/cipher/twofish.c
      type_or_value: __attribute__((sysv_abi))
    structs:
    - fields:
      - name: s[4][256]
        type: u32
      item_type: struct
      name: TWOFISH_context
      pos:
        line_end: 120
        line_start: 114
        source_file: /src/libgcrypt/cipher/twofish.c
    typedefs: []
    union: []
- function_names:
  - vector4x_u32::vec_rol_elems
  - vector4x_u32::vec_load_le
  - vec_store_le
  - vector4x_u32::vec_add_ctr_u64
  - ROTATE
  - WORD_ROL
  - XOR
  - PLUS
  - QUARTERROUND4
  - ADD_U64
  - chacha20_ppc_blocks1
  - transpose_4x4
  - QUARTERROUND2
  - chacha20_ppc_blocks4
  - ADD_1305_64
  - MUL_MOD_1305_64_PART1
  - MUL_MOD_1305_64_PART2
  - POLY1305_BLOCK_PART1
  - POLY1305_BLOCK_PART2
  - chacha20_poly1305_ppc_blocks4
  - chacha20_poly1305_ppc_blocks4
  - _gcry_chacha20_ppc8_blocks1
  - _gcry_chacha20_ppc8_blocks4
  - _gcry_chacha20_poly1305_ppc8_blocks4
  - _gcry_chacha20_ppc9_blocks1
  - _gcry_chacha20_ppc9_blocks4
  - _gcry_chacha20_poly1305_ppc9_blocks4
  - _gcry_chacha20_ppc9_blocks1
  - _gcry_chacha20_ppc9_blocks4
  - _gcry_chacha20_poly1305_ppc9_blocks4
  source_file: /src/libgcrypt/cipher/chacha20-ppc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/cipher/chacha20-ppc.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/chacha20-ppc.c
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/cipher/chacha20-ppc.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/chacha20-ppc.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/chacha20-ppc.c
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_NOINLINE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/chacha20-ppc.c
      type_or_value: ASM_FUNC_ATTR NO_INLINE
    - item_type: preproc_def
      name: FUNC_ATTR_OPT_O2
      pos:
        line_end: 662
        line_start: 661
        source_file: /src/libgcrypt/cipher/chacha20-ppc.c
      type_or_value: __attribute__((optimize("-O2")))
    - item_type: preproc_def
      name: FUNC_ATTR_TARGET_P8
      pos:
        line_end: 668
        line_start: 667
        source_file: /src/libgcrypt/cipher/chacha20-ppc.c
      type_or_value: __attribute__((target("arch=pwr8")))
    - item_type: preproc_def
      name: FUNC_ATTR_TARGET_P9
      pos:
        line_end: 669
        line_start: 668
        source_file: /src/libgcrypt/cipher/chacha20-ppc.c
      type_or_value: __attribute__((target("arch=pwr9")))
    - item_type: preproc_def
      name: HAVE_FUNC_ATTR_TARGET
      pos:
        line_end: 670
        line_start: 669
        source_file: /src/libgcrypt/cipher/chacha20-ppc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FUNC_ATTR_TARGET_P8
      pos:
        line_end: 672
        line_start: 671
        source_file: /src/libgcrypt/cipher/chacha20-ppc.c
      type_or_value: __attribute__((target("cpu=power8")))
    - item_type: preproc_def
      name: FUNC_ATTR_TARGET_P9
      pos:
        line_end: 673
        line_start: 672
        source_file: /src/libgcrypt/cipher/chacha20-ppc.c
      type_or_value: __attribute__((target("cpu=power9")))
    - item_type: preproc_def
      name: HAVE_FUNC_ATTR_TARGET
      pos:
        line_end: 674
        line_start: 673
        source_file: /src/libgcrypt/cipher/chacha20-ppc.c
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: vector16x_u8
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/libgcrypt/cipher/chacha20-ppc.c
      type: vector unsigned
    - item_type: typedef
      name: vector4x_u32
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/libgcrypt/cipher/chacha20-ppc.c
      type: vector unsigned
    - item_type: typedef
      name: vector2x_u64
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/libgcrypt/cipher/chacha20-ppc.c
      type: vector unsigned long long
    union: []
- function_names:
  - memory_barrier_with_vec
  - clear_vec_regs
  source_file: /src/libgcrypt/cipher/simd-common-ppc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - octet_string_from_mpi
  - _gcry_rsa_pkcs1_encode_for_enc
  - memmov_independently
  - _gcry_rsa_pkcs1_decode_for_enc
  - _gcry_rsa_pkcs1_encode_for_sig
  - _gcry_rsa_pkcs1_encode_raw_for_sig
  - mgf1
  - _gcry_rsa_oaep_encode
  - _gcry_rsa_oaep_decode
  - _gcry_rsa_pss_encode
  - _gcry_rsa_pss_verify
  source_file: /src/libgcrypt/cipher/rsa-common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mulx_ghash
  - gcm_siv_bytecounter_add
  - gcm_siv_check_len
  - polyval_set_key
  - do_polyval_buf
  - do_ctr_le32
  - gcm_siv_selftest
  - _gcry_cipher_gcm_siv_setkey
  - _gcry_cipher_gcm_siv_set_nonce
  - _gcry_cipher_gcm_siv_authenticate
  - _gcry_cipher_gcm_siv_encrypt
  - _gcry_cipher_gcm_siv_set_decryption_tag
  - _gcry_cipher_gcm_siv_decrypt
  - _gcry_cipher_gcm_siv_tag
  - _gcry_cipher_gcm_siv_get_tag
  - _gcry_cipher_gcm_siv_check_tag
  source_file: /src/libgcrypt/cipher/cipher-gcm-siv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GCM_SIV_NONCE_LENGTH
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/cipher/cipher-gcm-siv.c
      type_or_value: (96 / 8)
    structs: []
    typedefs: []
    union: []
- function_names:
  - ELF
  - CFI_STARTPROC
  - CFI_ENDPROC
  - CFI_REMEMBER_STATE
  - CFI_RESTORE_STATE
  - CFI_ADJUST_CFA_OFFSET
  - CFI_REL_OFFSET
  - CFI_DEF_CFA_REGISTER
  - CFI_REGISTER
  - CFI_RESTORE
  - DW_SLEB128_7BIT
  - DW_SLEB128_28BIT
  - CFI_CFA_ON_STACK
  source_file: /src/libgcrypt/cipher/asm-common-s390x.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DW_REGNO_SP
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/asm-common-s390x.h
      type_or_value: '15'
    structs: []
    typedefs: []
    union: []
- function_names:
  - point_copy
  - scanval
  - find_domain_parms_idx
  - _gcry_ecc_fill_in_curve
  - _gcry_ecc_update_curve_param
  - _gcry_ecc_get_curve
  - mpi_from_keyparam
  - point_from_keyparam
  - mpi_ec_get_elliptic_curve
  - mpi_ec_setup_elliptic_curve
  - _gcry_mpi_ec_internal_new
  - _gcry_mpi_ec_new
  - _gcry_ecc_get_param_sexp
  - _gcry_ecc_get_mpi
  - _gcry_ecc_get_point
  - _gcry_ecc_set_mpi
  - _gcry_ecc_set_point
  source_file: /src/libgcrypt/cipher/ecc-curves.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*other'
        type: char
      item_type: struct
      name: "curve_aliases[] =\n  {\n    { \"Ed25519\",    \"1.3.6.1.4.1.11591.15.1\"
        }, /* OpenPGP */\n    { \"Ed25519\",    \"1.3.101.112\" },         /* rfc8410
        */\n\n    { \"Curve25519\", \"1.3.6.1.4.1.3029.1.5.1\" }, /* OpenPGP */\n
        \   { \"Curve25519\", \"1.3.101.110\" },         /* rfc8410 */\n    { \"Curve25519\",
        \"X25519\" },              /* rfc8410 */\n    { \"ietf25\",     \"1.3.6.1.4.1.11591.15.25\"
        },/* rfc9580 */\n\n    { \"Ed448\",      \"1.3.101.113\" },         /* rfc8410
        */\n    { \"X448\",       \"1.3.101.111\" },         /* rfc8410 */\n\n    {
        \"NIST P-192\", \"1.2.840.10045.3.1.1\" }, /* X9.62 OID  */\n    { \"NIST
        P-192\", \"prime192v1\" },          /* X9.62 name.  */\n    { \"NIST P-192\",
        \"secp192r1\"  },          /* SECP name.  */\n    { \"NIST P-192\", \"nistp192\"
        \  },          /* rfc5656.  */\n\n    { \"NIST P-224\", \"secp224r1\" },\n
        \   { \"NIST P-224\", \"1.3.132.0.33\" },        /* SECP OID.  */\n    { \"NIST
        P-224\", \"nistp224\"   },          /* rfc5656.  */\n\n    { \"NIST P-256\",
        \"1.2.840.10045.3.1.7\" }, /* From NIST SP 800-78-1.  */\n    { \"NIST P-256\",
        \"prime256v1\" },\n    { \"NIST P-256\", \"secp256r1\"  },\n    { \"NIST P-256\",
        \"nistp256\"   },          /* rfc5656.  */\n\n    { \"NIST P-384\", \"secp384r1\"
        },\n    { \"NIST P-384\", \"1.3.132.0.34\" },\n    { \"NIST P-384\", \"nistp384\"
        \  },          /* rfc5656.  */\n\n    { \"NIST P-521\", \"secp521r1\" },\n
        \   { \"NIST P-521\", \"1.3.132.0.35\" },\n    { \"NIST P-521\", \"nistp521\"
        \  },          /* rfc5656.  */\n\n    { \"brainpoolP160r1\", \"1.3.36.3.3.2.8.1.1.1\"
        },\n    { \"brainpoolP192r1\", \"1.3.36.3.3.2.8.1.1.3\" },\n    { \"brainpoolP224r1\",
        \"1.3.36.3.3.2.8.1.1.5\" },\n    { \"brainpoolP256r1\", \"1.3.36.3.3.2.8.1.1.7\"
        },\n    { \"brainpoolP320r1\", \"1.3.36.3.3.2.8.1.1.9\" },\n    { \"brainpoolP384r1\",
        \"1.3.36.3.3.2.8.1.1.11\"},\n    { \"brainpoolP512r1\", \"1.3.36.3.3.2.8.1.1.13\"},\n
        \   { \"brainpoolP256r1\", \"bp256\" },         /* Short names from GnuPG.
        \ */\n    { \"brainpoolP384r1\", \"bp384\" },\n    { \"brainpoolP512r1\",
        \"bp512\" },\n\n    { \"GOST2001-test\", \"1.2.643.2.2.35.0\" },\n    { \"GOST2001-CryptoPro-A\",
        \"1.2.643.2.2.35.1\" },\n    { \"GOST2001-CryptoPro-B\", \"1.2.643.2.2.35.2\"
        },\n    { \"GOST2001-CryptoPro-C\", \"1.2.643.2.2.35.3\" },\n    { \"GOST2001-CryptoPro-A\",
        \"GOST2001-CryptoPro-XchA\" },\n    { \"GOST2001-CryptoPro-C\", \"GOST2001-CryptoPro-XchB\"
        },\n    { \"GOST2001-CryptoPro-A\", \"1.2.643.2.2.36.0\" },\n    { \"GOST2001-CryptoPro-C\",
        \"1.2.643.2.2.36.1\" },\n\n    { \"GOST2012-256-tc26-A\", \"1.2.643.7.1.2.1.1.1\"
        },\n    { \"GOST2001-CryptoPro-A\", \"1.2.643.7.1.2.1.1.2\" },\n    { \"GOST2001-CryptoPro-A\",
        \"GOST2012-256-tc26-B\" },\n    { \"GOST2001-CryptoPro-B\", \"1.2.643.7.1.2.1.1.3\"
        },\n    { \"GOST2001-CryptoPro-B\", \"GOST2012-256-tc26-C\" },\n    { \"GOST2001-CryptoPro-C\",
        \"1.2.643.7.1.2.1.1.4\" },\n    { \"GOST2001-CryptoPro-C\", \"GOST2012-256-tc26-D\"
        },\n\n    { \"GOST2012-512-test\", \"GOST2012-test\" },\n    { \"GOST2012-512-test\",
        \"1.2.643.7.1.2.1.2.0\" },\n    { \"GOST2012-512-tc26-A\", \"GOST2012-tc26-A\"
        },\n    { \"GOST2012-512-tc26-B\", \"GOST2012-tc26-B\" },\n    { \"GOST2012-512-tc26-A\",
        \"1.2.643.7.1.2.1.2.1\" },\n    { \"GOST2012-512-tc26-B\", \"1.2.643.7.1.2.1.2.2\"
        },\n    { \"GOST2012-512-tc26-C\", \"1.2.643.7.1.2.1.2.3\" },\n\n    { \"secp256k1\",
        \"1.3.132.0.10\" },\n\n    { \"sm2p256v1\", \"1.2.156.10197.1.301\" },\n\n
        \   { NULL, NULL}\n  }"
      pos:
        line_end: 45
        line_start: 41
        source_file: /src/libgcrypt/cipher/ecc-curves.c
    - fields:
      - name: '*desc'
        type: char
      - name: nbits
        type: unsigned int
      - name: fips
        type: unsigned int
      - name: model
        type: enum gcry_mpi_ec_models
      - name: dialect
        type: enum ecc_dialects
      - name: '*p'
        type: char
      - name: '*a'
        type: char
      - name: '*n'
        type: char
      - name: '*g_x'
        type: char
      - name: h
        type: unsigned int
      item_type: struct
      name: ecc_domain_parms_t
      pos:
        line_end: 145
        line_start: 124
        source_file: /src/libgcrypt/cipher/ecc-curves.c
    typedefs: []
    union: []
- function_names:
  - cbc_encrypt_inner
  - _gcry_cipher_cbc_encrypt
  - _gcry_cipher_cbc_cts_encrypt
  - cbc_decrypt_inner
  - _gcry_cipher_cbc_decrypt
  - _gcry_cipher_cbc_cts_decrypt
  source_file: /src/libgcrypt/cipher/cipher-cbc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - map_algo
  - spec_from_algo
  - spec_from_name
  - spec_from_oid
  - search_oid
  - _gcry_md_map_name
  - _gcry_md_algo_name
  - check_digest_algo_spec
  - check_digest_algo
  - md_open
  - _gcry_md_open_internal
  - _gcry_md_open
  - md_enable
  - _gcry_md_enable
  - md_copy
  - _gcry_md_copy
  - _gcry_md_reset
  - md_close
  - _gcry_md_close
  - md_write
  - _gcry_md_write
  - md_final
  - md_setkey
  - prepare_macpads
  - md_customize
  - _gcry_md_ctl
  - _gcry_md_setkey
  - _gcry_md_debug
  - md_read
  - _gcry_md_read
  - md_extract
  - _gcry_md_extract
  - _gcry_md_get
  - _gcry_md_hash_buffer
  - _gcry_md_hash_buffers_extract
  - _gcry_md_hash_buffers
  - md_get_algo
  - _gcry_md_get_algo
  - md_digest_length
  - _gcry_md_get_algo_dlen
  - md_asn_oid
  - _gcry_md_algo_info
  - md_start_debug
  - md_stop_debug
  - _gcry_md_info
  - _gcry_md_init
  - _gcry_md_is_secure
  - _gcry_md_is_enabled
  - _gcry_md_selftest
  source_file: /src/libgcrypt/cipher/md.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CTX_MAGIC_NORMAL
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/libgcrypt/cipher/md.c
      type_or_value: '0x11071961'
    - item_type: preproc_def
      name: CTX_MAGIC_SECURE
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/libgcrypt/cipher/md.c
      type_or_value: '0x16917011'
    structs:
    - fields:
      - name: '*spec'
        type: gcry_md_spec_t
      - name: '*next'
        type: struct gcry_md_list
      - name: actual_struct_size
        type: size_t
      - name: context[1]
        type: PROPERLY_ALIGNED_TYPE
      item_type: struct
      name: gcry_md_list
      pos:
        line_end: 265
        line_start: 259
        source_file: /src/libgcrypt/cipher/md.c
    - fields:
      - name: magic
        type: int
      - name: flags
        type: "struct {\n    unsigned int secure:1;\n    unsigned int finalized:1;\n
          \   unsigned int bugemu1:1;\n    unsigned int hmac:1;\n  }"
      - name: actual_handle_size
        type: size_t
      - name: '*debug'
        type: FILE
      - name: '*list'
        type: GcryDigestEntry
      item_type: struct
      name: gcry_md_context
      pos:
        line_end: 281
        line_start: 269
        source_file: /src/libgcrypt/cipher/md.c
    typedefs: []
    union: []
- function_names:
  - do_sha1_transform_amd64_ssse3
  - do_sha1_transform_amd64_avx
  - do_sha1_transform_amd64_avx_bmi2
  - do_sha1_transform_amd64_avx2_bmi2
  - do_sha1_transform_intel_shaext
  - do_sha1_transform_armv7_neon
  - do_sha1_transform_armv8_ce
  - do_sha1_transform_s390x
  - do_sha1_final_s390x
  - sha1_init
  - _gcry_sha1_mixblock_init
  - F1
  - F2
  - F3
  - F4
  - M
  - R
  - do_transform_generic
  - I
  - _gcry_sha1_mixblock
  - sha1_final
  - X
  - sha1_read
  - _gcry_sha1_hash_buffers
  - _gcry_sha1_hash_buffer
  - selftests_sha1
  - run_selftests
  source_file: /src/libgcrypt/cipher/sha1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_SSSE3
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgcrypt/cipher/sha1.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AVX
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libgcrypt/cipher/sha1.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_BMI2
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libgcrypt/cipher/sha1.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AVX2
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libgcrypt/cipher/sha1.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SHAEXT
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libgcrypt/cipher/sha1.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_NEON
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libgcrypt/cipher/sha1.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_CE
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/libgcrypt/cipher/sha1.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_CE
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/libgcrypt/cipher/sha1.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ASM_FUNC_ABI
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libgcrypt/cipher/sha1.c
      type_or_value: __attribute__((sysv_abi))
    - item_type: preproc_def
      name: ASM_EXTRA_STACK
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/libgcrypt/cipher/sha1.c
      type_or_value: (10 * 16 + sizeof(void *) * 4)
    - item_type: preproc_def
      name: ASM_EXTRA_STACK
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/libgcrypt/cipher/sha1.c
      type_or_value: '0'
    - item_type: preproc_def
      name: K1
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/libgcrypt/cipher/sha1.c
      type_or_value: 0x5A827999L
    - item_type: preproc_def
      name: K2
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/libgcrypt/cipher/sha1.c
      type_or_value: 0x6ED9EBA1L
    - item_type: preproc_def
      name: K3
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/libgcrypt/cipher/sha1.c
      type_or_value: 0x8F1BBCDCL
    - item_type: preproc_def
      name: K4
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/libgcrypt/cipher/sha1.c
      type_or_value: 0xCA62C1D6L
    structs: []
    typedefs: []
    union: []
- function_names:
  - asm_load_be_const
  - asm_be_swap
  - asm_load_be_noswap
  - asm_store_be_noswap
  source_file: /src/libgcrypt/cipher/rijndael-ppc9le.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUNC_ATTR_OPT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/rijndael-ppc9le.c
      type_or_value: __attribute__((optimize("-O2")))
    - item_type: preproc_def
      name: PPC_OPT_ATTR
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/cipher/rijndael-ppc9le.c
      type_or_value: __attribute__((target("arch=pwr9"))) FUNC_ATTR_OPT
    - item_type: preproc_def
      name: PPC_OPT_ATTR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/rijndael-ppc9le.c
      type_or_value: __attribute__((target("cpu=power9"))) FUNC_ATTR_OPT
    - item_type: preproc_def
      name: PPC_OPT_ATTR
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/rijndael-ppc9le.c
      type_or_value: FUNC_ATTR_OPT
    - item_type: preproc_def
      name: GCRY_AES_PPC9LE
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libgcrypt/cipher/rijndael-ppc9le.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ENCRYPT_BLOCK_FUNC
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libgcrypt/cipher/rijndael-ppc9le.c
      type_or_value: _gcry_aes_ppc9le_encrypt
    - item_type: preproc_def
      name: DECRYPT_BLOCK_FUNC
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/libgcrypt/cipher/rijndael-ppc9le.c
      type_or_value: _gcry_aes_ppc9le_decrypt
    - item_type: preproc_def
      name: ECB_CRYPT_FUNC
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/libgcrypt/cipher/rijndael-ppc9le.c
      type_or_value: _gcry_aes_ppc9le_ecb_crypt
    - item_type: preproc_def
      name: CFB_ENC_FUNC
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libgcrypt/cipher/rijndael-ppc9le.c
      type_or_value: _gcry_aes_ppc9le_cfb_enc
    - item_type: preproc_def
      name: CFB_DEC_FUNC
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libgcrypt/cipher/rijndael-ppc9le.c
      type_or_value: _gcry_aes_ppc9le_cfb_dec
    - item_type: preproc_def
      name: CBC_ENC_FUNC
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/libgcrypt/cipher/rijndael-ppc9le.c
      type_or_value: _gcry_aes_ppc9le_cbc_enc
    - item_type: preproc_def
      name: CBC_DEC_FUNC
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libgcrypt/cipher/rijndael-ppc9le.c
      type_or_value: _gcry_aes_ppc9le_cbc_dec
    - item_type: preproc_def
      name: CTR_ENC_FUNC
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/libgcrypt/cipher/rijndael-ppc9le.c
      type_or_value: _gcry_aes_ppc9le_ctr_enc
    - item_type: preproc_def
      name: OCB_CRYPT_FUNC
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libgcrypt/cipher/rijndael-ppc9le.c
      type_or_value: _gcry_aes_ppc9le_ocb_crypt
    - item_type: preproc_def
      name: OCB_AUTH_FUNC
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libgcrypt/cipher/rijndael-ppc9le.c
      type_or_value: _gcry_aes_ppc9le_ocb_auth
    - item_type: preproc_def
      name: XTS_CRYPT_FUNC
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libgcrypt/cipher/rijndael-ppc9le.c
      type_or_value: _gcry_aes_ppc9le_xts_crypt
    - item_type: preproc_def
      name: CTR32LE_ENC_FUNC
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libgcrypt/cipher/rijndael-ppc9le.c
      type_or_value: _gcry_aes_ppc9le_ctr32le_enc
    structs: []
    typedefs: []
    union: []
- function_names:
  - point_set
  - point_init
  - point_free
  source_file: /src/libgcrypt/cipher/ecc-common.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: model
        type: enum gcry_mpi_ec_models
      - name: dialect
        type: enum ecc_dialects
      - name: p
        type: gcry_mpi_t
      - name: a
        type: gcry_mpi_t
      - name: b
        type: gcry_mpi_t
      - name: G
        type: mpi_point_struct
      - name: n
        type: gcry_mpi_t
      - name: h
        type: unsigned int
      - name: '*name'
        type: char
      item_type: struct
      name: elliptic_curve_t
      pos:
        line_end: 36
        line_start: 24
        source_file: /src/libgcrypt/cipher/ecc-common.h
    typedefs: []
    union: []
- function_names:
  - s2v_double
  - s2v_pad
  - _gcry_cipher_siv_setkey
  - _gcry_cipher_siv_authenticate
  - _gcry_cipher_siv_set_nonce
  - s2v_plaintext
  - _gcry_cipher_siv_encrypt
  - _gcry_cipher_siv_set_decryption_tag
  - _gcry_cipher_siv_decrypt
  - _gcry_cipher_siv_get_tag
  - _gcry_cipher_siv_check_tag
  source_file: /src/libgcrypt/cipher/cipher-siv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SBOX0
  - SBOX0_INVERSE
  - SBOX1
  - SBOX1_INVERSE
  - SBOX2
  - SBOX2_INVERSE
  - SBOX3
  - SBOX3_INVERSE
  - SBOX4
  - SBOX4_INVERSE
  - SBOX5
  - SBOX5_INVERSE
  - SBOX6
  - SBOX6_INVERSE
  - SBOX7
  - SBOX7_INVERSE
  - BLOCK_XOR
  - BLOCK_COPY
  - SBOX
  - SBOX_INVERSE
  - LINEAR_TRANSFORMATION
  - LINEAR_TRANSFORMATION_INVERSE
  - ROUND
  - ROUND_LAST
  - ROUND_INVERSE
  - ROUND_FIRST_INVERSE
  - serpent_key_prepare
  - serpent_subkeys_generate
  - EXPAND_KEY4
  - EXPAND_KEY
  - serpent_setkey_internal
  - serpent_setkey
  - serpent_encrypt_internal
  - serpent_decrypt_internal
  - serpent_encrypt
  - serpent_decrypt
  - _gcry_serpent_ctr_enc
  - _gcry_serpent_cbc_dec
  - _gcry_serpent_cfb_dec
  - _gcry_serpent_ocb_crypt
  - _gcry_serpent_ocb_auth
  - serpent_crypt_blk1_32
  - serpent_encrypt_blk1_32
  - serpent_decrypt_blk1_32
  - _gcry_serpent_xts_crypt
  - _gcry_serpent_ecb_crypt
  - serpent_test
  source_file: /src/libgcrypt/cipher/serpent.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_SSE2
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/cipher/serpent.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AVX2
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/serpent.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AVX512
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgcrypt/cipher/serpent.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_NEON
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libgcrypt/cipher/serpent.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ROUNDS
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libgcrypt/cipher/serpent.c
      type_or_value: '32'
    - item_type: preproc_def
      name: PHI
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libgcrypt/cipher/serpent.c
      type_or_value: '0x9E3779B9'
    - item_type: preproc_def
      name: ASM_FUNC_ABI
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libgcrypt/cipher/serpent.c
      type_or_value: __attribute__((sysv_abi))
    structs:
    - fields:
      - name: keys
        type: serpent_subkeys_t
      item_type: struct
      name: serpent_context
      pos:
        line_end: 99
        line_start: 86
        source_file: /src/libgcrypt/cipher/serpent.c
    - fields:
      - name: key_length
        type: int
      - name: _GCRY_GCC_ATTR_NONSTRING
        type: unsigned char
      - name: text_plain[16]
        type: unsigned char
      - name: text_cipher[16]
        type: unsigned char
      item_type: struct
      name: test
      pos:
        line_end: 1885
        line_start: 1879
        source_file: /src/libgcrypt/cipher/serpent.c
    typedefs:
    - item_type: typedef
      name: serpent_block_t[4]
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/libgcrypt/cipher/serpent.c
      type: u32
    - item_type: typedef
      name: serpent_key_t[8]
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/libgcrypt/cipher/serpent.c
      type: u32
    - item_type: typedef
      name: serpent_subkeys_t[ROUNDS + 1][4]
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/libgcrypt/cipher/serpent.c
      type: u32
    union: []
- function_names:
  - reverse_buffer
  - scanval
  - eddsa_encodempi
  - eddsa_encode_x_y
  - _gcry_ecc_eddsa_encodepoint
  - _gcry_ecc_eddsa_ensure_compact
  - ecc_ed448_recover_x
  - _gcry_ecc_eddsa_recover_x
  - _gcry_ecc_eddsa_decodepoint
  - _gcry_ecc_eddsa_compute_h_d
  - _gcry_ecc_eddsa_genkey
  - _gcry_ecc_eddsa_sign
  - _gcry_ecc_eddsa_verify
  source_file: /src/libgcrypt/cipher/ecc-eddsa.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DOM25519
      pos:
        line_end: 664
        line_start: 663
        source_file: /src/libgcrypt/cipher/ecc-eddsa.c
      type_or_value: '"SigEd25519 no Ed25519 collisions"'
    - item_type: preproc_def
      name: DOM25519_LEN
      pos:
        line_end: 665
        line_start: 664
        source_file: /src/libgcrypt/cipher/ecc-eddsa.c
      type_or_value: '32'
    - item_type: preproc_def
      name: DOM448
      pos:
        line_end: 666
        line_start: 665
        source_file: /src/libgcrypt/cipher/ecc-eddsa.c
      type_or_value: '"SigEd448"'
    - item_type: preproc_def
      name: DOM448_LEN
      pos:
        line_end: 667
        line_start: 666
        source_file: /src/libgcrypt/cipher/ecc-eddsa.c
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names:
  - poly1305_bytecounter_add
  - poly1305_fill_bytecounts
  - poly1305_do_padding
  - poly1305_aad_finish
  - poly1305_set_zeroiv
  - _gcry_cipher_poly1305_authenticate
  - _gcry_cipher_poly1305_encrypt
  - _gcry_cipher_poly1305_decrypt
  - _gcry_cipher_poly1305_tag
  - _gcry_cipher_poly1305_get_tag
  - _gcry_cipher_poly1305_check_tag
  - _gcry_cipher_poly1305_setkey
  - _gcry_cipher_poly1305_setiv
  source_file: /src/libgcrypt/cipher/cipher-poly1305.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - buffer_to_block
  - block_to_buffer
  - block_copy
  - block_xor
  - whirlpool_init
  - whirlpool_transform
  - whirlpool_transform_blk
  - whirlpool_transform
  - whirlpool_add_bugemu
  - whirlpool_final_bugemu
  - whirlpool_write
  - whirlpool_final
  - whirlpool_read
  source_file: /src/libgcrypt/cipher/whirlpool.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_AMD64_ASM
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/whirlpool.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BLOCK_SIZE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/cipher/whirlpool.c
      type_or_value: '64'
    - item_type: preproc_def
      name: R
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgcrypt/cipher/whirlpool.c
      type_or_value: '10'
    - item_type: preproc_def
      name: C
      pos:
        line_end: 1157
        line_start: 1156
        source_file: /src/libgcrypt/cipher/whirlpool.c
      type_or_value: tab.C
    - item_type: preproc_def
      name: C0
      pos:
        line_end: 1158
        line_start: 1157
        source_file: /src/libgcrypt/cipher/whirlpool.c
      type_or_value: C[0]
    - item_type: preproc_def
      name: C1
      pos:
        line_end: 1159
        line_start: 1158
        source_file: /src/libgcrypt/cipher/whirlpool.c
      type_or_value: C[1]
    - item_type: preproc_def
      name: C2
      pos:
        line_end: 1160
        line_start: 1159
        source_file: /src/libgcrypt/cipher/whirlpool.c
      type_or_value: C[2]
    - item_type: preproc_def
      name: C3
      pos:
        line_end: 1161
        line_start: 1160
        source_file: /src/libgcrypt/cipher/whirlpool.c
      type_or_value: C[3]
    - item_type: preproc_def
      name: C4
      pos:
        line_end: 1162
        line_start: 1161
        source_file: /src/libgcrypt/cipher/whirlpool.c
      type_or_value: C[4]
    - item_type: preproc_def
      name: C5
      pos:
        line_end: 1163
        line_start: 1162
        source_file: /src/libgcrypt/cipher/whirlpool.c
      type_or_value: C[5]
    - item_type: preproc_def
      name: C6
      pos:
        line_end: 1164
        line_start: 1163
        source_file: /src/libgcrypt/cipher/whirlpool.c
      type_or_value: C[6]
    - item_type: preproc_def
      name: C7
      pos:
        line_end: 1165
        line_start: 1164
        source_file: /src/libgcrypt/cipher/whirlpool.c
      type_or_value: C[7]
    - item_type: preproc_def
      name: rc
      pos:
        line_end: 1166
        line_start: 1165
        source_file: /src/libgcrypt/cipher/whirlpool.c
      type_or_value: tab.RC
    - item_type: preproc_def
      name: ASM_FUNC_ABI
      pos:
        line_end: 1197
        line_start: 1196
        source_file: /src/libgcrypt/cipher/whirlpool.c
      type_or_value: __attribute__((sysv_abi))
    - item_type: preproc_def
      name: ASM_EXTRA_STACK
      pos:
        line_end: 1198
        line_start: 1197
        source_file: /src/libgcrypt/cipher/whirlpool.c
      type_or_value: (10 * 16)
    - item_type: preproc_def
      name: ASM_EXTRA_STACK
      pos:
        line_end: 1201
        line_start: 1200
        source_file: /src/libgcrypt/cipher/whirlpool.c
      type_or_value: '0'
    structs:
    - fields:
      - name: bctx
        type: gcry_md_block_ctx_t
      - name: hash_state
        type: whirlpool_block_t
      - name: use_bugemu
        type: int
      - name: bugemu
        type: "struct {\n    size_t count;\n    unsigned char length[32];\n  }"
      item_type: struct
      name: whirlpool_context_t
      pos:
        line_end: 70
        line_start: 62
        source_file: /src/libgcrypt/cipher/whirlpool.c
    - fields:
      - name: RC[R]
        type: u64
      - name: C[8][256]
        type: u64
      item_type: struct
      name: whirlpool_tables_s
      pos:
        line_end: 104
        line_start: 101
        source_file: /src/libgcrypt/cipher/whirlpool.c
    typedefs:
    - item_type: typedef
      name: whirlpool_block_t[BLOCK_SIZE / 8]
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/libgcrypt/cipher/whirlpool.c
      type: u64
    union: []
- function_names:
  - pand128
  - pandn128
  - pxor128
  - paddq128
  - paddd128
  - paddb128
  - psrld128
  - psraq128
  - psrldq128
  - pslldq128
  - psrl_byte_128
  - pshufb128
  - pshufd128
  - pshufd128_0x93
  - pshufd128_0xFF
  - pshufd128_0xFE
  - pshufd128_0x4E
  - palignr128
  - movdqa128
  - movdqa128_memld
  - pand128_amemld
  - pxor128_amemld
  - paddq128_amemld
  - paddd128_amemld
  - pshufb128_amemld
  - movdqu128_memld
  - movdqu128_memst
  source_file: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __m128i
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
      type_or_value: uint64x2_t
    - item_type: preproc_def
      name: FUNC_ATTR_OPT
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
      type_or_value: __attribute__((optimize("-O2")))
    - item_type: preproc_def
      name: SIMD128_OPT_ATTR
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
      type_or_value: FUNC_ATTR_OPT
    - item_type: preproc_def
      name: FUNC_ENCRYPT
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
      type_or_value: _gcry_aes_vp_aarch64_encrypt
    - item_type: preproc_def
      name: FUNC_DECRYPT
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
      type_or_value: _gcry_aes_vp_aarch64_decrypt
    - item_type: preproc_def
      name: FUNC_CFB_ENC
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
      type_or_value: _gcry_aes_vp_aarch64_cfb_enc
    - item_type: preproc_def
      name: FUNC_CFB_DEC
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
      type_or_value: _gcry_aes_vp_aarch64_cfb_dec
    - item_type: preproc_def
      name: FUNC_CBC_ENC
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
      type_or_value: _gcry_aes_vp_aarch64_cbc_enc
    - item_type: preproc_def
      name: FUNC_CBC_DEC
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
      type_or_value: _gcry_aes_vp_aarch64_cbc_dec
    - item_type: preproc_def
      name: FUNC_CTR_ENC
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
      type_or_value: _gcry_aes_vp_aarch64_ctr_enc
    - item_type: preproc_def
      name: FUNC_CTR32LE_ENC
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
      type_or_value: _gcry_aes_vp_aarch64_ctr32le_enc
    - item_type: preproc_def
      name: FUNC_OCB_CRYPT
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
      type_or_value: _gcry_aes_vp_aarch64_ocb_crypt
    - item_type: preproc_def
      name: FUNC_OCB_AUTH
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
      type_or_value: _gcry_aes_vp_aarch64_ocb_auth
    - item_type: preproc_def
      name: FUNC_ECB_CRYPT
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
      type_or_value: _gcry_aes_vp_aarch64_ecb_crypt
    - item_type: preproc_def
      name: FUNC_XTS_CRYPT
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
      type_or_value: _gcry_aes_vp_aarch64_xts_crypt
    - item_type: preproc_def
      name: FUNC_SETKEY
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
      type_or_value: _gcry_aes_vp_aarch64_do_setkey
    - item_type: preproc_def
      name: FUNC_PREPARE_DEC
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/libgcrypt/cipher/rijndael-vp-aarch64.c
      type_or_value: _gcry_aes_vp_aarch64_prepare_decryption
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_ecc_ecdsa_sign
  - _gcry_ecc_ecdsa_verify
  source_file: /src/libgcrypt/cipher/ecc-ecdsa.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - POLY1305_LOAD_STATE
  - POLY1305_STORE_STATE
  - POLY1305_BLOCK_PART1
  - POLY1305_BLOCK_PART2
  - POLY1305_BLOCK_PART3
  - POLY1305_BLOCK_PART4
  - POLY1305_BLOCK_PART5
  source_file: /src/libgcrypt/cipher/asm-poly1305-amd64.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POLY_RSTATE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libgcrypt/cipher/asm-poly1305-amd64.h
      type_or_value: '%r8'
    - item_type: preproc_def
      name: POLY_RSRC
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgcrypt/cipher/asm-poly1305-amd64.h
      type_or_value: '%r9'
    - item_type: preproc_def
      name: POLY_R_H0
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/cipher/asm-poly1305-amd64.h
      type_or_value: '%rbx'
    - item_type: preproc_def
      name: POLY_R_H1
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/cipher/asm-poly1305-amd64.h
      type_or_value: '%rcx'
    - item_type: preproc_def
      name: POLY_R_H2
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/cipher/asm-poly1305-amd64.h
      type_or_value: '%r10'
    - item_type: preproc_def
      name: POLY_R_H2d
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/cipher/asm-poly1305-amd64.h
      type_or_value: '%r10d'
    - item_type: preproc_def
      name: POLY_R_R0
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/asm-poly1305-amd64.h
      type_or_value: '%r11'
    - item_type: preproc_def
      name: POLY_R_R1_MUL5
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/asm-poly1305-amd64.h
      type_or_value: '%r12'
    - item_type: preproc_def
      name: POLY_R_X0_HI
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/cipher/asm-poly1305-amd64.h
      type_or_value: '%r13'
    - item_type: preproc_def
      name: POLY_R_X0_LO
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/cipher/asm-poly1305-amd64.h
      type_or_value: '%r14'
    - item_type: preproc_def
      name: POLY_R_X1_HI
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgcrypt/cipher/asm-poly1305-amd64.h
      type_or_value: '%r15'
    - item_type: preproc_def
      name: POLY_R_X1_LO
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/cipher/asm-poly1305-amd64.h
      type_or_value: '%rsi'
    - item_type: preproc_def
      name: POLY_S_R0
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/cipher/asm-poly1305-amd64.h
      type_or_value: (4 * 4 + 0 * 8)(POLY_RSTATE)
    - item_type: preproc_def
      name: POLY_S_R1
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgcrypt/cipher/asm-poly1305-amd64.h
      type_or_value: (4 * 4 + 1 * 8)(POLY_RSTATE)
    - item_type: preproc_def
      name: POLY_S_H0
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/asm-poly1305-amd64.h
      type_or_value: (4 * 4 + 2 * 8 + 0 * 8)(POLY_RSTATE)
    - item_type: preproc_def
      name: POLY_S_H1
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/asm-poly1305-amd64.h
      type_or_value: (4 * 4 + 2 * 8 + 1 * 8)(POLY_RSTATE)
    - item_type: preproc_def
      name: POLY_S_H2d
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/asm-poly1305-amd64.h
      type_or_value: (4 * 4 + 2 * 8 + 2 * 8)(POLY_RSTATE)
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_aes_armv8_ce_setkey
  - _gcry_aes_armv8_ce_prepare_decryption
  - DO_AESIMC
  - _gcry_aes_armv8_ce_encrypt
  - _gcry_aes_armv8_ce_decrypt
  - _gcry_aes_armv8_ce_cbc_enc
  - _gcry_aes_armv8_ce_cbc_dec
  - _gcry_aes_armv8_ce_cfb_enc
  - _gcry_aes_armv8_ce_cfb_dec
  - _gcry_aes_armv8_ce_ctr_enc
  - _gcry_aes_armv8_ce_ctr32le_enc
  - _gcry_aes_armv8_ce_ocb_crypt
  - _gcry_aes_armv8_ce_ocb_auth
  - _gcry_aes_armv8_ce_xts_crypt
  - _gcry_aes_armv8_ce_ecb_crypt
  source_file: /src/libgcrypt/cipher/rijndael-armv8-ce.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: a
        type: u32
      item_type: struct
      name: u128_s
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/libgcrypt/cipher/rijndael-armv8-ce.c
    typedefs: []
    union: []
- function_names:
  - ROTATE
  - XOR
  - PLUS
  - PLUSONE
  - QUARTERROUND
  - BUF_XOR_LE32
  - do_chacha20_blocks
  - chacha20_blocks
  - chacha20_keysetup
  - chacha20_ivsetup
  - chacha20_setiv
  - chacha20_do_setkey
  - chacha20_setkey
  - do_chacha20_encrypt_stream_tail
  - chacha20_encrypt_stream
  - _gcry_chacha20_poly1305_encrypt
  - _gcry_chacha20_poly1305_decrypt
  - selftest
  source_file: /src/libgcrypt/cipher/chacha20.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CHACHA20_MIN_KEY_SIZE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/cipher/chacha20.c
      type_or_value: '16        '
    - item_type: preproc_def
      name: CHACHA20_MAX_KEY_SIZE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgcrypt/cipher/chacha20.c
      type_or_value: '32        '
    - item_type: preproc_def
      name: CHACHA20_BLOCK_SIZE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/chacha20.c
      type_or_value: '64        '
    - item_type: preproc_def
      name: CHACHA20_MIN_IV_SIZE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/chacha20.c
      type_or_value: '8        '
    - item_type: preproc_def
      name: CHACHA20_MAX_IV_SIZE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/chacha20.c
      type_or_value: '12        '
    - item_type: preproc_def
      name: CHACHA20_CTR_SIZE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/cipher/chacha20.c
      type_or_value: '16        '
    - item_type: preproc_def
      name: USE_SSSE3
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libgcrypt/cipher/chacha20.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AVX2
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libgcrypt/cipher/chacha20.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AVX512
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libgcrypt/cipher/chacha20.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARMV7_NEON
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libgcrypt/cipher/chacha20.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AARCH64_SIMD
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libgcrypt/cipher/chacha20.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_PPC_VEC
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libgcrypt/cipher/chacha20.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_S390X_VX
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libgcrypt/cipher/chacha20.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_RISCV_V
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/libgcrypt/cipher/chacha20.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ASM_FUNC_ABI
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/libgcrypt/cipher/chacha20.c
      type_or_value: __attribute__((sysv_abi))
    - item_type: preproc_def
      name: USE_PPC_VEC_POLY1305
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/libgcrypt/cipher/chacha20.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_S390X_VX_POLY1305
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/libgcrypt/cipher/chacha20.c
      type_or_value: '1'
    structs:
    - fields:
      - name: input[16]
        type: u32
      - name: pad[CHACHA20_BLOCK_SIZE]
        type: unsigned char
      - name: unused
        type: unsigned int
      - name: use_ssse3
        type: unsigned int
      - name: use_avx2
        type: unsigned int
      - name: use_avx512
        type: unsigned int
      - name: use_neon
        type: unsigned int
      - name: use_ppc
        type: unsigned int
      - name: use_p9
        type: unsigned int
      - name: use_p10
        type: unsigned int
      - name: use_s390x
        type: unsigned int
      - name: use_riscv_v
        type: unsigned int
      item_type: struct
      name: CHACHA20_context_s
      pos:
        line_end: 150
        line_start: 133
        source_file: /src/libgcrypt/cipher/chacha20.c
    typedefs: []
    union: []
- function_names:
  - md5_init
  - FF
  - FG
  - FH
  - FI
  - transform_blk
  - OP
  - OP
  - transform
  - md5_final
  - X
  - md5_read
  source_file: /src/libgcrypt/cipher/md5.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bctx
        type: gcry_md_block_ctx_t
      - name: A
        type: u32
      item_type: struct
      name: MD5_CONTEXT
      pos:
        line_end: 49
        line_start: 46
        source_file: /src/libgcrypt/cipher/md5.c
    typedefs: []
    union: []
- function_names:
  - _gcry_ecc_gost_sign
  - _gcry_ecc_gost_verify
  source_file: /src/libgcrypt/cipher/ecc-gost.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/cipher/poly1305-internal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POLY1305_TAGLEN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/cipher/poly1305-internal.h
      type_or_value: '16'
    - item_type: preproc_def
      name: POLY1305_KEYLEN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/cipher/poly1305-internal.h
      type_or_value: '32'
    - item_type: preproc_def
      name: POLY1305_BLOCKSIZE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/cipher/poly1305-internal.h
      type_or_value: '16'
    - item_type: preproc_def
      name: POLY1305_USE_AVX512
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/poly1305-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: POLY1305_USE_PPC_VEC
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/cipher/poly1305-internal.h
      type_or_value: '1'
    structs:
    - fields:
      - name: k[4]
        type: u32
      - name: r[4]
        type: u32
      - name: h[5]
        type: u32
      item_type: struct
      name: POLY1305_STATE
      pos:
        line_end: 63
        line_start: 58
        source_file: /src/libgcrypt/cipher/poly1305-internal.h
    - fields:
      - name: state
        type: POLY1305_STATE
      - name: buffer[POLY1305_BLOCKSIZE]
        type: byte
      - name: leftover
        type: unsigned int
      item_type: struct
      name: poly1305_context_s
      pos:
        line_end: 76
        line_start: 65
        source_file: /src/libgcrypt/cipher/poly1305-internal.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/cipher/camellia-ppc8le.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUNC_ATTR_OPT
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libgcrypt/cipher/camellia-ppc8le.c
      type_or_value: __attribute__((optimize("-O2")))
    - item_type: preproc_def
      name: SIMD128_OPT_ATTR
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/cipher/camellia-ppc8le.c
      type_or_value: __attribute__((target("arch=pwr8"))) FUNC_ATTR_OPT
    - item_type: preproc_def
      name: SIMD128_OPT_ATTR
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/cipher/camellia-ppc8le.c
      type_or_value: __attribute__((target("cpu=power8"))) FUNC_ATTR_OPT
    - item_type: preproc_def
      name: SIMD128_OPT_ATTR
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/camellia-ppc8le.c
      type_or_value: FUNC_ATTR_OPT
    - item_type: preproc_def
      name: FUNC_ENC_BLK16
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgcrypt/cipher/camellia-ppc8le.c
      type_or_value: _gcry_camellia_ppc8_encrypt_blk16
    - item_type: preproc_def
      name: FUNC_DEC_BLK16
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/cipher/camellia-ppc8le.c
      type_or_value: _gcry_camellia_ppc8_decrypt_blk16
    - item_type: preproc_def
      name: FUNC_KEY_SETUP
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/cipher/camellia-ppc8le.c
      type_or_value: _gcry_camellia_ppc8_keygen
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/cipher/pubkey-internal.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - asm_xor
  - asm_vpmsumd
  - asm_swap_u64
  - asm_mergelo
  - asm_mergehi
  - asm_rot_block_left
  - asm_rot_block_right
  - asm_ashl_128
  - STORE_TABLE
  - vec_store_he
  - VEC_LOAD_BE
  - vec_load_he
  - vec_be_swap
  - vec_dup_byte_elem
  - ASM_FUNC_ATTR::_gcry_ghash_setup_ppc_vpmsum
  - ASM_FUNC_ATTR::_gcry_ghash_ppc_vpmsum
  source_file: /src/libgcrypt/cipher/cipher-gcm-ppc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libgcrypt/cipher/cipher-gcm-ppc.c
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libgcrypt/cipher/cipher-gcm-ppc.c
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/libgcrypt/cipher/cipher-gcm-ppc.c
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libgcrypt/cipher/cipher-gcm-ppc.c
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ALIGNED_16
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libgcrypt/cipher/cipher-gcm-ppc.c
      type_or_value: __attribute__ ((aligned (16)))
    structs: []
    typedefs:
    - item_type: typedef
      name: vector16x_u8
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/libgcrypt/cipher/cipher-gcm-ppc.c
      type: vector unsigned
    - item_type: typedef
      name: vector16x_s8
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/libgcrypt/cipher/cipher-gcm-ppc.c
      type: vector signed
    - item_type: typedef
      name: vector2x_u64
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/libgcrypt/cipher/cipher-gcm-ppc.c
      type: vector unsigned long long
    - item_type: typedef
      name: block
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/libgcrypt/cipher/cipher-gcm-ppc.c
      type: vector unsigned long long
    union: []
- function_names:
  - sm4_aesni_avx_crypt_blk1_16
  - sm4_aesni_avx2_crypt_blk1_16
  - sm4_intel_avx2_crypt_blk1_16
  - sm4_gfni_avx2_crypt_blk1_16
  - sm4_gfni_avx512_crypt_blk1_16
  - sm4_aarch64_crypt_blk1_16
  - sm4_armv8_ce_crypt_blk1_16
  - sm4_armv9_sve_ce_crypt_blk1_16
  - sm4_ppc8le_crypt_blk1_16
  - sm4_ppc9le_crypt_blk1_16
  - prefetch_sbox_table
  - sm4_t_non_lin_sub
  - sm4_key_lin_sub
  - sm4_enc_lin_sub
  - sm4_key_sub
  - sm4_enc_sub
  - sm4_round
  - sm4_expand_key
  - sm4_setkey
  - sm4_do_crypt
  - sm4_encrypt
  - sm4_decrypt
  - sm4_do_crypt_blks2
  - sm4_crypt_blocks
  - sm4_get_crypt_blk1_16_fn
  - _gcry_sm4_ctr_enc
  - _gcry_sm4_cbc_dec
  - _gcry_sm4_cfb_dec
  - sm4_crypt_blk1_32
  - sm4_encrypt_blk1_32
  - sm4_decrypt_blk1_32
  - _gcry_sm4_ecb_crypt
  - _gcry_sm4_xts_crypt
  - _gcry_sm4_ctr32le_enc
  - _gcry_sm4_ocb_crypt
  - _gcry_sm4_ocb_auth
  - sm4_selftest
  - run_selftests
  source_file: /src/libgcrypt/cipher/sm4.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ATTR_ALIGNED_64
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/cipher/sm4.c
      type_or_value: __attribute__ ((aligned (64)))
    - item_type: preproc_def
      name: USE_AESNI_AVX
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/sm4.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AESNI_AVX2
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libgcrypt/cipher/sm4.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_GFNI_AVX2
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libgcrypt/cipher/sm4.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_GFNI_AVX512
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libgcrypt/cipher/sm4.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_INTEL_SM4_AVX2
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libgcrypt/cipher/sm4.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_INTEL_SM4_AVX512
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libgcrypt/cipher/sm4.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ASM_FUNC_ABI
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libgcrypt/cipher/sm4.c
      type_or_value: __attribute__((sysv_abi))
    - item_type: preproc_def
      name: USE_AARCH64_SIMD
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libgcrypt/cipher/sm4.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_CE
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libgcrypt/cipher/sm4.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_SVE_CE
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/libgcrypt/cipher/sm4.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_PPC_CRYPTO
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/libgcrypt/cipher/sm4.c
      type_or_value: '1'
    structs:
    - fields:
      - name: rkey_enc[32]
        type: u32
      - name: rkey_dec[32]
        type: u32
      - name: crypt_blk1_16
        type: crypt_blk1_16_fn_t
      item_type: struct
      name: SM4_context
      pos:
        line_end: 231
        line_start: 184
        source_file: /src/libgcrypt/cipher/sm4.c
    - fields:
      - name: counter_head
        type: u32
      - name: cacheline_align[64 / 4 - 1]
        type: u32
      - name: S[256]
        type: byte
      - name: counter_tail
        type: u32
      item_type: struct
      name: "ATTR_ALIGNED_64 =\n  {\n    0,\n    { 0, },\n    {\n      0xd6, 0x90,
        0xe9, 0xfe, 0xcc, 0xe1, 0x3d, 0xb7,\n      0x16, 0xb6, 0x14, 0xc2, 0x28, 0xfb,
        0x2c, 0x05,\n      0x2b, 0x67, 0x9a, 0x76, 0x2a, 0xbe, 0x04, 0xc3,\n      0xaa,
        0x44, 0x13, 0x26, 0x49, 0x86, 0x06, 0x99,\n      0x9c, 0x42, 0x50, 0xf4, 0x91,
        0xef, 0x98, 0x7a,\n      0x33, 0x54, 0x0b, 0x43, 0xed, 0xcf, 0xac, 0x62,\n
        \     0xe4, 0xb3, 0x1c, 0xa9, 0xc9, 0x08, 0xe8, 0x95,\n      0x80, 0xdf, 0x94,
        0xfa, 0x75, 0x8f, 0x3f, 0xa6,\n      0x47, 0x07, 0xa7, 0xfc, 0xf3, 0x73, 0x17,
        0xba,\n      0x83, 0x59, 0x3c, 0x19, 0xe6, 0x85, 0x4f, 0xa8,\n      0x68,
        0x6b, 0x81, 0xb2, 0x71, 0x64, 0xda, 0x8b,\n      0xf8, 0xeb, 0x0f, 0x4b, 0x70,
        0x56, 0x9d, 0x35,\n      0x1e, 0x24, 0x0e, 0x5e, 0x63, 0x58, 0xd1, 0xa2,\n
        \     0x25, 0x22, 0x7c, 0x3b, 0x01, 0x21, 0x78, 0x87,\n      0xd4, 0x00, 0x46,
        0x57, 0x9f, 0xd3, 0x27, 0x52,\n      0x4c, 0x36, 0x02, 0xe7, 0xa0, 0xc4, 0xc8,
        0x9e,\n      0xea, 0xbf, 0x8a, 0xd2, 0x40, 0xc7, 0x38, 0xb5,\n      0xa3,
        0xf7, 0xf2, 0xce, 0xf9, 0x61, 0x15, 0xa1,\n      0xe0, 0xae, 0x5d, 0xa4, 0x9b,
        0x34, 0x1a, 0x55,\n      0xad, 0x93, 0x32, 0x30, 0xf5, 0x8c, 0xb1, 0xe3,\n
        \     0x1d, 0xf6, 0xe2, 0x2e, 0x82, 0x66, 0xca, 0x60,\n      0xc0, 0x29, 0x23,
        0xab, 0x0d, 0x53, 0x4e, 0x6f,\n      0xd5, 0xdb, 0x37, 0x45, 0xde, 0xfd, 0x8e,
        0x2f,\n      0x03, 0xff, 0x6a, 0x72, 0x6d, 0x6c, 0x5b, 0x51,\n      0x8d,
        0x1b, 0xaf, 0x92, 0xbb, 0xdd, 0xbc, 0x7f,\n      0x11, 0xd9, 0x5c, 0x41, 0x1f,
        0x10, 0x5a, 0xd8,\n      0x0a, 0xc1, 0x31, 0x88, 0xa5, 0xcd, 0x7b, 0xbd,\n
        \     0x2d, 0x74, 0xd0, 0x12, 0xb8, 0xe5, 0xb4, 0xb0,\n      0x89, 0x69, 0x97,
        0x4a, 0x0c, 0x96, 0x77, 0x7e,\n      0x65, 0xb9, 0xf1, 0x09, 0xc5, 0x6e, 0xc6,
        0x84,\n      0x18, 0xf0, 0x7d, 0xec, 0x3a, 0xdc, 0x4d, 0x20,\n      0x79,
        0xee, 0x5f, 0x3e, 0xd7, 0xcb, 0x39, 0x48\n    },\n    0\n  }"
      pos:
        line_end: 244
        line_start: 238
        source_file: /src/libgcrypt/cipher/sm4.c
    typedefs:
    - item_type: typedef
      name: crypt_blk1_16_fn_t
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/libgcrypt/cipher/sm4.c
      type: bulk_crypt_fn_t
    - item_type: typedef
      name: "(*ocb_crypt_fn_t)(const u32 *rk_enc, unsigned char *out,\n\t\t\t       const
        unsigned char *in, unsigned char *offset,\n\t\t\t       unsigned char *checksum,\n\t\t\t
        \      const u64 Ls[])"
      pos:
        line_end: 178
        line_start: 175
        source_file: /src/libgcrypt/cipher/sm4.c
      type: void
    - item_type: typedef
      name: "(*ocb_auth_fn_t)(const u32 *rk_enc, const unsigned char *abuf,\n\t\t\t
        \     unsigned char *offset, unsigned char *checksum,\n\t\t\t      const u64
        Ls[])"
      pos:
        line_end: 181
        line_start: 179
        source_file: /src/libgcrypt/cipher/sm4.c
      type: void
    union: []
- function_names:
  - permute
  - transform_blk
  - transform
  - md2_init
  - md2_final
  - md2_read
  source_file: /src/libgcrypt/cipher/md2.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bctx
        type: gcry_md_block_ctx_t
      - name: C[16]
        type: unsigned char
      - name: L
        type: unsigned char
      - name: X[48]
        type: unsigned char
      item_type: struct
      name: MD2_CONTEXT
      pos:
        line_end: 34
        line_start: 29
        source_file: /src/libgcrypt/cipher/md2.c
    typedefs: []
    union: []
- function_names:
  - poly1305mac_open
  - poly1305mac_close
  - poly1305mac_prepare_key
  - poly1305mac_setkey
  - poly1305mac_setiv
  - poly1305mac_reset
  - poly1305mac_write
  - poly1305mac_read
  - poly1305mac_verify
  - poly1305mac_get_maclen
  - poly1305mac_get_keylen
  source_file: /src/libgcrypt/cipher/mac-poly1305.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ctx
        type: poly1305_context_t
      - name: hd
        type: gcry_cipher_hd_t
      - name: marks
        type: "struct {\n    unsigned int key_set:1;\n    unsigned int nonce_set:1;\n
          \   unsigned int tag:1;\n  }"
      - name: tag[POLY1305_TAGLEN]
        type: byte
      - name: key[POLY1305_KEYLEN]
        type: byte
      item_type: struct
      name: poly1305mac_context_s
      pos:
        line_end: 40
        line_start: 30
        source_file: /src/libgcrypt/cipher/mac-poly1305.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/cipher/rijndael-tables.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: encT
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libgcrypt/cipher/rijndael-tables.h
      type_or_value: enc_tables.T
    - item_type: preproc_def
      name: decT
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/libgcrypt/cipher/rijndael-tables.h
      type_or_value: dec_tables.T
    - item_type: preproc_def
      name: inv_sbox
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/libgcrypt/cipher/rijndael-tables.h
      type_or_value: dec_tables.inv_sboxT
    structs:
    - fields:
      - name: counter_head
        type: u32
      - name: cacheline_align[64 / 4 - 1]
        type: u32
      - name: T[256]
        type: u32
      - name: counter_tail
        type: u32
      item_type: struct
      name: "ATTR_ALIGNED_64 =\n  {\n    0,\n    { 0, },\n    {\n      0xa56363c6,
        0x847c7cf8, 0x997777ee, 0x8d7b7bf6,\n      0x0df2f2ff, 0xbd6b6bd6, 0xb16f6fde,
        0x54c5c591,\n      0x50303060, 0x03010102, 0xa96767ce, 0x7d2b2b56,\n      0x19fefee7,
        0x62d7d7b5, 0xe6abab4d, 0x9a7676ec,\n      0x45caca8f, 0x9d82821f, 0x40c9c989,
        0x877d7dfa,\n      0x15fafaef, 0xeb5959b2, 0xc947478e, 0x0bf0f0fb,\n      0xecadad41,
        0x67d4d4b3, 0xfda2a25f, 0xeaafaf45,\n      0xbf9c9c23, 0xf7a4a453, 0x967272e4,
        0x5bc0c09b,\n      0xc2b7b775, 0x1cfdfde1, 0xae93933d, 0x6a26264c,\n      0x5a36366c,
        0x413f3f7e, 0x02f7f7f5, 0x4fcccc83,\n      0x5c343468, 0xf4a5a551, 0x34e5e5d1,
        0x08f1f1f9,\n      0x937171e2, 0x73d8d8ab, 0x53313162, 0x3f15152a,\n      0x0c040408,
        0x52c7c795, 0x65232346, 0x5ec3c39d,\n      0x28181830, 0xa1969637, 0x0f05050a,
        0xb59a9a2f,\n      0x0907070e, 0x36121224, 0x9b80801b, 0x3de2e2df,\n      0x26ebebcd,
        0x6927274e, 0xcdb2b27f, 0x9f7575ea,\n      0x1b090912, 0x9e83831d, 0x742c2c58,
        0x2e1a1a34,\n      0x2d1b1b36, 0xb26e6edc, 0xee5a5ab4, 0xfba0a05b,\n      0xf65252a4,
        0x4d3b3b76, 0x61d6d6b7, 0xceb3b37d,\n      0x7b292952, 0x3ee3e3dd, 0x712f2f5e,
        0x97848413,\n      0xf55353a6, 0x68d1d1b9, 0x00000000, 0x2cededc1,\n      0x60202040,
        0x1ffcfce3, 0xc8b1b179, 0xed5b5bb6,\n      0xbe6a6ad4, 0x46cbcb8d, 0xd9bebe67,
        0x4b393972,\n      0xde4a4a94, 0xd44c4c98, 0xe85858b0, 0x4acfcf85,\n      0x6bd0d0bb,
        0x2aefefc5, 0xe5aaaa4f, 0x16fbfbed,\n      0xc5434386, 0xd74d4d9a, 0x55333366,
        0x94858511,\n      0xcf45458a, 0x10f9f9e9, 0x06020204, 0x817f7ffe,\n      0xf05050a0,
        0x443c3c78, 0xba9f9f25, 0xe3a8a84b,\n      0xf35151a2, 0xfea3a35d, 0xc0404080,
        0x8a8f8f05,\n      0xad92923f, 0xbc9d9d21, 0x48383870, 0x04f5f5f1,\n      0xdfbcbc63,
        0xc1b6b677, 0x75dadaaf, 0x63212142,\n      0x30101020, 0x1affffe5, 0x0ef3f3fd,
        0x6dd2d2bf,\n      0x4ccdcd81, 0x140c0c18, 0x35131326, 0x2fececc3,\n      0xe15f5fbe,
        0xa2979735, 0xcc444488, 0x3917172e,\n      0x57c4c493, 0xf2a7a755, 0x827e7efc,
        0x473d3d7a,\n      0xac6464c8, 0xe75d5dba, 0x2b191932, 0x957373e6,\n      0xa06060c0,
        0x98818119, 0xd14f4f9e, 0x7fdcdca3,\n      0x66222244, 0x7e2a2a54, 0xab90903b,
        0x8388880b,\n      0xca46468c, 0x29eeeec7, 0xd3b8b86b, 0x3c141428,\n      0x79dedea7,
        0xe25e5ebc, 0x1d0b0b16, 0x76dbdbad,\n      0x3be0e0db, 0x56323264, 0x4e3a3a74,
        0x1e0a0a14,\n      0xdb494992, 0x0a06060c, 0x6c242448, 0xe45c5cb8,\n      0x5dc2c29f,
        0x6ed3d3bd, 0xefacac43, 0xa66262c4,\n      0xa8919139, 0xa4959531, 0x37e4e4d3,
        0x8b7979f2,\n      0x32e7e7d5, 0x43c8c88b, 0x5937376e, 0xb76d6dda,\n      0x8c8d8d01,
        0x64d5d5b1, 0xd24e4e9c, 0xe0a9a949,\n      0xb46c6cd8, 0xfa5656ac, 0x07f4f4f3,
        0x25eaeacf,\n      0xaf6565ca, 0x8e7a7af4, 0xe9aeae47, 0x18080810,\n      0xd5baba6f,
        0x887878f0, 0x6f25254a, 0x722e2e5c,\n      0x241c1c38, 0xf1a6a657, 0xc7b4b473,
        0x51c6c697,\n      0x23e8e8cb, 0x7cdddda1, 0x9c7474e8, 0x211f1f3e,\n      0xdd4b4b96,
        0xdcbdbd61, 0x868b8b0d, 0x858a8a0f,\n      0x907070e0, 0x423e3e7c, 0xc4b5b571,
        0xaa6666cc,\n      0xd8484890, 0x05030306, 0x01f6f6f7, 0x120e0e1c,\n      0xa36161c2,
        0x5f35356a, 0xf95757ae, 0xd0b9b969,\n      0x91868617, 0x58c1c199, 0x271d1d3a,
        0xb99e9e27,\n      0x38e1e1d9, 0x13f8f8eb, 0xb398982b, 0x33111122,\n      0xbb6969d2,
        0x70d9d9a9, 0x898e8e07, 0xa7949433,\n      0xb69b9b2d, 0x221e1e3c, 0x92878715,
        0x20e9e9c9,\n      0x49cece87, 0xff5555aa, 0x78282850, 0x7adfdfa5,\n      0x8f8c8c03,
        0xf8a1a159, 0x80898909, 0x170d0d1a,\n      0xdabfbf65, 0x31e6e6d7, 0xc6424284,
        0xb86868d0,\n      0xc3414182, 0xb0999929, 0x772d2d5a, 0x110f0f1e,\n      0xcbb0b07b,
        0xfc5454a8, 0xd6bbbb6d, 0x3a16162c\n    },\n    0\n  }"
      pos:
        line_end: 29
        line_start: 23
        source_file: /src/libgcrypt/cipher/rijndael-tables.h
    - fields:
      - name: counter_head
        type: u32
      - name: cacheline_align[64 / 4 - 1]
        type: u32
      - name: T[256]
        type: u32
      - name: inv_sboxT[256]
        type: byte
      - name: counter_tail
        type: u32
      item_type: struct
      name: "ATTR_ALIGNED_64 =\n  {\n    0,\n    { 0, },\n    {\n      0x50a7f451,
        0x5365417e, 0xc3a4171a, 0x965e273a,\n      0xcb6bab3b, 0xf1459d1f, 0xab58faac,
        0x9303e34b,\n      0x55fa3020, 0xf66d76ad, 0x9176cc88, 0x254c02f5,\n      0xfcd7e54f,
        0xd7cb2ac5, 0x80443526, 0x8fa362b5,\n      0x495ab1de, 0x671bba25, 0x980eea45,
        0xe1c0fe5d,\n      0x02752fc3, 0x12f04c81, 0xa397468d, 0xc6f9d36b,\n      0xe75f8f03,
        0x959c9215, 0xeb7a6dbf, 0xda595295,\n      0x2d83bed4, 0xd3217458, 0x2969e049,
        0x44c8c98e,\n      0x6a89c275, 0x78798ef4, 0x6b3e5899, 0xdd71b927,\n      0xb64fe1be,
        0x17ad88f0, 0x66ac20c9, 0xb43ace7d,\n      0x184adf63, 0x82311ae5, 0x60335197,
        0x457f5362,\n      0xe07764b1, 0x84ae6bbb, 0x1ca081fe, 0x942b08f9,\n      0x58684870,
        0x19fd458f, 0x876cde94, 0xb7f87b52,\n      0x23d373ab, 0xe2024b72, 0x578f1fe3,
        0x2aab5566,\n      0x0728ebb2, 0x03c2b52f, 0x9a7bc586, 0xa50837d3,\n      0xf2872830,
        0xb2a5bf23, 0xba6a0302, 0x5c8216ed,\n      0x2b1ccf8a, 0x92b479a7, 0xf0f207f3,
        0xa1e2694e,\n      0xcdf4da65, 0xd5be0506, 0x1f6234d1, 0x8afea6c4,\n      0x9d532e34,
        0xa055f3a2, 0x32e18a05, 0x75ebf6a4,\n      0x39ec830b, 0xaaef6040, 0x069f715e,
        0x51106ebd,\n      0xf98a213e, 0x3d06dd96, 0xae053edd, 0x46bde64d,\n      0xb58d5491,
        0x055dc471, 0x6fd40604, 0xff155060,\n      0x24fb9819, 0x97e9bdd6, 0xcc434089,
        0x779ed967,\n      0xbd42e8b0, 0x888b8907, 0x385b19e7, 0xdbeec879,\n      0x470a7ca1,
        0xe90f427c, 0xc91e84f8, 0x00000000,\n      0x83868009, 0x48ed2b32, 0xac70111e,
        0x4e725a6c,\n      0xfbff0efd, 0x5638850f, 0x1ed5ae3d, 0x27392d36,\n      0x64d90f0a,
        0x21a65c68, 0xd1545b9b, 0x3a2e3624,\n      0xb1670a0c, 0x0fe75793, 0xd296eeb4,
        0x9e919b1b,\n      0x4fc5c080, 0xa220dc61, 0x694b775a, 0x161a121c,\n      0x0aba93e2,
        0xe52aa0c0, 0x43e0223c, 0x1d171b12,\n      0x0b0d090e, 0xadc78bf2, 0xb9a8b62d,
        0xc8a91e14,\n      0x8519f157, 0x4c0775af, 0xbbdd99ee, 0xfd607fa3,\n      0x9f2601f7,
        0xbcf5725c, 0xc53b6644, 0x347efb5b,\n      0x7629438b, 0xdcc623cb, 0x68fcedb6,
        0x63f1e4b8,\n      0xcadc31d7, 0x10856342, 0x40229713, 0x2011c684,\n      0x7d244a85,
        0xf83dbbd2, 0x1132f9ae, 0x6da129c7,\n      0x4b2f9e1d, 0xf330b2dc, 0xec52860d,
        0xd0e3c177,\n      0x6c16b32b, 0x99b970a9, 0xfa489411, 0x2264e947,\n      0xc48cfca8,
        0x1a3ff0a0, 0xd82c7d56, 0xef903322,\n      0xc74e4987, 0xc1d138d9, 0xfea2ca8c,
        0x360bd498,\n      0xcf81f5a6, 0x28de7aa5, 0x268eb7da, 0xa4bfad3f,\n      0xe49d3a2c,
        0x0d927850, 0x9bcc5f6a, 0x62467e54,\n      0xc2138df6, 0xe8b8d890, 0x5ef7392e,
        0xf5afc382,\n      0xbe805d9f, 0x7c93d069, 0xa92dd56f, 0xb31225cf,\n      0x3b99acc8,
        0xa77d1810, 0x6e639ce8, 0x7bbb3bdb,\n      0x097826cd, 0xf418596e, 0x01b79aec,
        0xa89a4f83,\n      0x656e95e6, 0x7ee6ffaa, 0x08cfbc21, 0xe6e815ef,\n      0xd99be7ba,
        0xce366f4a, 0xd4099fea, 0xd67cb029,\n      0xafb2a431, 0x31233f2a, 0x3094a5c6,
        0xc066a235,\n      0x37bc4e74, 0xa6ca82fc, 0xb0d090e0, 0x15d8a733,\n      0x4a9804f1,
        0xf7daec41, 0x0e50cd7f, 0x2ff69117,\n      0x8dd64d76, 0x4db0ef43, 0x544daacc,
        0xdf0496e4,\n      0xe3b5d19e, 0x1b886a4c, 0xb81f2cc1, 0x7f516546,\n      0x04ea5e9d,
        0x5d358c01, 0x737487fa, 0x2e410bfb,\n      0x5a1d67b3, 0x52d2db92, 0x335610e9,
        0x1347d66d,\n      0x8c61d79a, 0x7a0ca137, 0x8e14f859, 0x893c13eb,\n      0xee27a9ce,
        0x35c961b7, 0xede51ce1, 0x3cb1477a,\n      0x59dfd29c, 0x3f73f255, 0x79ce1418,
        0xbf37c773,\n      0xeacdf753, 0x5baafd5f, 0x146f3ddf, 0x86db4478,\n      0x81f3afca,
        0x3ec468b9, 0x2c342438, 0x5f40a3c2,\n      0x72c31d16, 0x0c25e2bc, 0x8b493c28,
        0x41950dff,\n      0x7101a839, 0xdeb30c08, 0x9ce4b4d8, 0x90c15664,\n      0x6184cb7b,
        0x70b632d5, 0x745c6c48, 0x4257b8d0\n    },\n    {\n      0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38,\n
        \     0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb,\n      0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87,\n
        \     0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb,\n      0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d,\n
        \     0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e,\n      0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2,\n
        \     0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25,\n      0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16,\n
        \     0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92,\n      0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda,\n
        \     0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84,\n      0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a,\n
        \     0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06,\n      0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02,\n
        \     0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b,\n      0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea,\n
        \     0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73,\n      0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85,\n
        \     0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e,\n      0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89,\n
        \     0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b,\n      0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20,\n
        \     0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4,\n      0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31,\n
        \     0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f,\n      0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d,\n
        \     0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef,\n      0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0,\n
        \     0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61,\n      0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26,\n
        \     0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d\n    },\n    0\n  }"
      pos:
        line_end: 111
        line_start: 104
        source_file: /src/libgcrypt/cipher/rijndael-tables.h
    typedefs: []
    union: []
- function_names:
  - aria_avx_ecb_crypt_blk1_16
  - aria_avx_ctr_crypt_blk16
  - aria_avx2_ecb_crypt_blk32
  - aria_avx2_ctr_crypt_blk32
  - aria_gfni_avx512_ecb_crypt_blk64
  - aria_gfni_avx512_ctr_crypt_blk64
  - prefetch_table
  - prefetch_sboxes
  - rotr32
  - get_u8
  - make_u32
  - aria_m
  - aria_sbox_layer1_with_pre_diff
  - aria_sbox_layer2_with_pre_diff
  - aria_diff_word
  - aria_diff_byte
  - aria_add_round_key
  - aria_subst_diff_odd
  - aria_subst_diff_even
  - aria_last_round
  - aria_gsrk
  - aria_set_encrypt_key
  - aria_set_decrypt_key
  - aria_crypt
  - aria_encrypt
  - aria_decrypt
  - aria_crypt_2blks
  - aria_crypt_blocks
  - aria_enc_blocks
  - aria_dec_blocks
  - _gcry_aria_ctr_enc
  - _gcry_aria_cbc_enc
  - _gcry_aria_cbc_dec
  - _gcry_aria_cfb_enc
  - _gcry_aria_cfb_dec
  - _gcry_aria_ecb_crypt
  - _gcry_aria_xts_crypt
  - _gcry_aria_ctr32le_enc
  - _gcry_aria_ocb_crypt
  - _gcry_aria_ocb_auth
  - aria_setkey
  - aria_selftest
  source_file: /src/libgcrypt/cipher/aria.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ATTR_ALIGNED_64
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: __attribute__ ((aligned (64)))
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: inline __attribute__ ((always_inline))
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: inline
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: __attribute__ ((noinline))
    - item_type: preproc_def
      name: USE_AESNI_AVX
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_GFNI_AVX
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AESNI_AVX2
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_VAES_AVX2
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_GFNI_AVX2
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_GFNI_AVX512
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_PARALLEL_BLKS
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: '64'
    - item_type: preproc_def
      name: MAX_PARALLEL_BLKS
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: '32'
    - item_type: preproc_def
      name: MAX_PARALLEL_BLKS
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAX_PARALLEL_BLKS
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: '8'
    - item_type: preproc_def
      name: ASM_FUNC_ABI
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: __attribute__((sysv_abi))
    - item_type: preproc_def
      name: ASM_EXTRA_STACK
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: (10 * 16)
    - item_type: preproc_def
      name: ASM_EXTRA_STACK
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ARIA_MIN_KEY_SIZE
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: '16'
    - item_type: preproc_def
      name: ARIA_MAX_KEY_SIZE
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: '32'
    - item_type: preproc_def
      name: ARIA_BLOCK_SIZE
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: '16'
    - item_type: preproc_def
      name: ARIA_MAX_RD_KEYS
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: '17'
    - item_type: preproc_def
      name: ARIA_RD_KEY_WORDS
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/libgcrypt/cipher/aria.c
      type_or_value: (ARIA_BLOCK_SIZE / sizeof(u32))
    structs:
    - fields:
      - name: enc_key[ARIA_MAX_RD_KEYS][ARIA_RD_KEY_WORDS]
        type: u32
      - name: dec_key[ARIA_MAX_RD_KEYS][ARIA_RD_KEY_WORDS]
        type: u32
      - name: rounds
        type: int
      - name: decryption_prepared
        type: unsigned int
      - name: bulk_prefetch_ready
        type: unsigned int
      item_type: struct
      name: ARIA_context
      pos:
        line_end: 156
        line_start: 134
        source_file: /src/libgcrypt/cipher/aria.c
    - fields:
      - name: counter_head
        type: u32
      - name: cacheline_align[64 / 4 - 1]
        type: u32
      - name: s1[256]
        type: u32
      - name: s2[256]
        type: u32
      - name: x1[256]
        type: u32
      - name: x2[256]
        type: u32
      - name: counter_tail
        type: u32
      item_type: struct
      name: "ATTR_ALIGNED_64 =\n  {\n    0,\n    { 0, },\n\n    { /* s1 */\n      0x00636363,
        0x007c7c7c, 0x00777777, 0x007b7b7b,\n      0x00f2f2f2, 0x006b6b6b, 0x006f6f6f,
        0x00c5c5c5,\n      0x00303030, 0x00010101, 0x00676767, 0x002b2b2b,\n      0x00fefefe,
        0x00d7d7d7, 0x00ababab, 0x00767676,\n      0x00cacaca, 0x00828282, 0x00c9c9c9,
        0x007d7d7d,\n      0x00fafafa, 0x00595959, 0x00474747, 0x00f0f0f0,\n      0x00adadad,
        0x00d4d4d4, 0x00a2a2a2, 0x00afafaf,\n      0x009c9c9c, 0x00a4a4a4, 0x00727272,
        0x00c0c0c0,\n      0x00b7b7b7, 0x00fdfdfd, 0x00939393, 0x00262626,\n      0x00363636,
        0x003f3f3f, 0x00f7f7f7, 0x00cccccc,\n      0x00343434, 0x00a5a5a5, 0x00e5e5e5,
        0x00f1f1f1,\n      0x00717171, 0x00d8d8d8, 0x00313131, 0x00151515,\n      0x00040404,
        0x00c7c7c7, 0x00232323, 0x00c3c3c3,\n      0x00181818, 0x00969696, 0x00050505,
        0x009a9a9a,\n      0x00070707, 0x00121212, 0x00808080, 0x00e2e2e2,\n      0x00ebebeb,
        0x00272727, 0x00b2b2b2, 0x00757575,\n      0x00090909, 0x00838383, 0x002c2c2c,
        0x001a1a1a,\n      0x001b1b1b, 0x006e6e6e, 0x005a5a5a, 0x00a0a0a0,\n      0x00525252,
        0x003b3b3b, 0x00d6d6d6, 0x00b3b3b3,\n      0x00292929, 0x00e3e3e3, 0x002f2f2f,
        0x00848484,\n      0x00535353, 0x00d1d1d1, 0x00000000, 0x00ededed,\n      0x00202020,
        0x00fcfcfc, 0x00b1b1b1, 0x005b5b5b,\n      0x006a6a6a, 0x00cbcbcb, 0x00bebebe,
        0x00393939,\n      0x004a4a4a, 0x004c4c4c, 0x00585858, 0x00cfcfcf,\n      0x00d0d0d0,
        0x00efefef, 0x00aaaaaa, 0x00fbfbfb,\n      0x00434343, 0x004d4d4d, 0x00333333,
        0x00858585,\n      0x00454545, 0x00f9f9f9, 0x00020202, 0x007f7f7f,\n      0x00505050,
        0x003c3c3c, 0x009f9f9f, 0x00a8a8a8,\n      0x00515151, 0x00a3a3a3, 0x00404040,
        0x008f8f8f,\n      0x00929292, 0x009d9d9d, 0x00383838, 0x00f5f5f5,\n      0x00bcbcbc,
        0x00b6b6b6, 0x00dadada, 0x00212121,\n      0x00101010, 0x00ffffff, 0x00f3f3f3,
        0x00d2d2d2,\n      0x00cdcdcd, 0x000c0c0c, 0x00131313, 0x00ececec,\n      0x005f5f5f,
        0x00979797, 0x00444444, 0x00171717,\n      0x00c4c4c4, 0x00a7a7a7, 0x007e7e7e,
        0x003d3d3d,\n      0x00646464, 0x005d5d5d, 0x00191919, 0x00737373,\n      0x00606060,
        0x00818181, 0x004f4f4f, 0x00dcdcdc,\n      0x00222222, 0x002a2a2a, 0x00909090,
        0x00888888,\n      0x00464646, 0x00eeeeee, 0x00b8b8b8, 0x00141414,\n      0x00dedede,
        0x005e5e5e, 0x000b0b0b, 0x00dbdbdb,\n      0x00e0e0e0, 0x00323232, 0x003a3a3a,
        0x000a0a0a,\n      0x00494949, 0x00060606, 0x00242424, 0x005c5c5c,\n      0x00c2c2c2,
        0x00d3d3d3, 0x00acacac, 0x00626262,\n      0x00919191, 0x00959595, 0x00e4e4e4,
        0x00797979,\n      0x00e7e7e7, 0x00c8c8c8, 0x00373737, 0x006d6d6d,\n      0x008d8d8d,
        0x00d5d5d5, 0x004e4e4e, 0x00a9a9a9,\n      0x006c6c6c, 0x00565656, 0x00f4f4f4,
        0x00eaeaea,\n      0x00656565, 0x007a7a7a, 0x00aeaeae, 0x00080808,\n      0x00bababa,
        0x00787878, 0x00252525, 0x002e2e2e,\n      0x001c1c1c, 0x00a6a6a6, 0x00b4b4b4,
        0x00c6c6c6,\n      0x00e8e8e8, 0x00dddddd, 0x00747474, 0x001f1f1f,\n      0x004b4b4b,
        0x00bdbdbd, 0x008b8b8b, 0x008a8a8a,\n      0x00707070, 0x003e3e3e, 0x00b5b5b5,
        0x00666666,\n      0x00484848, 0x00030303, 0x00f6f6f6, 0x000e0e0e,\n      0x00616161,
        0x00353535, 0x00575757, 0x00b9b9b9,\n      0x00868686, 0x00c1c1c1, 0x001d1d1d,
        0x009e9e9e,\n      0x00e1e1e1, 0x00f8f8f8, 0x00989898, 0x00111111,\n      0x00696969,
        0x00d9d9d9, 0x008e8e8e, 0x00949494,\n      0x009b9b9b, 0x001e1e1e, 0x00878787,
        0x00e9e9e9,\n      0x00cecece, 0x00555555, 0x00282828, 0x00dfdfdf,\n      0x008c8c8c,
        0x00a1a1a1, 0x00898989, 0x000d0d0d,\n      0x00bfbfbf, 0x00e6e6e6, 0x00424242,
        0x00686868,\n      0x00414141, 0x00999999, 0x002d2d2d, 0x000f0f0f,\n      0x00b0b0b0,
        0x00545454, 0x00bbbbbb, 0x00161616\n    },\n    { /* s2 */\n      0xe200e2e2,
        0x4e004e4e, 0x54005454, 0xfc00fcfc,\n      0x94009494, 0xc200c2c2, 0x4a004a4a,
        0xcc00cccc,\n      0x62006262, 0x0d000d0d, 0x6a006a6a, 0x46004646,\n      0x3c003c3c,
        0x4d004d4d, 0x8b008b8b, 0xd100d1d1,\n      0x5e005e5e, 0xfa00fafa, 0x64006464,
        0xcb00cbcb,\n      0xb400b4b4, 0x97009797, 0xbe00bebe, 0x2b002b2b,\n      0xbc00bcbc,
        0x77007777, 0x2e002e2e, 0x03000303,\n      0xd300d3d3, 0x19001919, 0x59005959,
        0xc100c1c1,\n      0x1d001d1d, 0x06000606, 0x41004141, 0x6b006b6b,\n      0x55005555,
        0xf000f0f0, 0x99009999, 0x69006969,\n      0xea00eaea, 0x9c009c9c, 0x18001818,
        0xae00aeae,\n      0x63006363, 0xdf00dfdf, 0xe700e7e7, 0xbb00bbbb,\n      0x00000000,
        0x73007373, 0x66006666, 0xfb00fbfb,\n      0x96009696, 0x4c004c4c, 0x85008585,
        0xe400e4e4,\n      0x3a003a3a, 0x09000909, 0x45004545, 0xaa00aaaa,\n      0x0f000f0f,
        0xee00eeee, 0x10001010, 0xeb00ebeb,\n      0x2d002d2d, 0x7f007f7f, 0xf400f4f4,
        0x29002929,\n      0xac00acac, 0xcf00cfcf, 0xad00adad, 0x91009191,\n      0x8d008d8d,
        0x78007878, 0xc800c8c8, 0x95009595,\n      0xf900f9f9, 0x2f002f2f, 0xce00cece,
        0xcd00cdcd,\n      0x08000808, 0x7a007a7a, 0x88008888, 0x38003838,\n      0x5c005c5c,
        0x83008383, 0x2a002a2a, 0x28002828,\n      0x47004747, 0xdb00dbdb, 0xb800b8b8,
        0xc700c7c7,\n      0x93009393, 0xa400a4a4, 0x12001212, 0x53005353,\n      0xff00ffff,
        0x87008787, 0x0e000e0e, 0x31003131,\n      0x36003636, 0x21002121, 0x58005858,
        0x48004848,\n      0x01000101, 0x8e008e8e, 0x37003737, 0x74007474,\n      0x32003232,
        0xca00caca, 0xe900e9e9, 0xb100b1b1,\n      0xb700b7b7, 0xab00abab, 0x0c000c0c,
        0xd700d7d7,\n      0xc400c4c4, 0x56005656, 0x42004242, 0x26002626,\n      0x07000707,
        0x98009898, 0x60006060, 0xd900d9d9,\n      0xb600b6b6, 0xb900b9b9, 0x11001111,
        0x40004040,\n      0xec00ecec, 0x20002020, 0x8c008c8c, 0xbd00bdbd,\n      0xa000a0a0,
        0xc900c9c9, 0x84008484, 0x04000404,\n      0x49004949, 0x23002323, 0xf100f1f1,
        0x4f004f4f,\n      0x50005050, 0x1f001f1f, 0x13001313, 0xdc00dcdc,\n      0xd800d8d8,
        0xc000c0c0, 0x9e009e9e, 0x57005757,\n      0xe300e3e3, 0xc300c3c3, 0x7b007b7b,
        0x65006565,\n      0x3b003b3b, 0x02000202, 0x8f008f8f, 0x3e003e3e,\n      0xe800e8e8,
        0x25002525, 0x92009292, 0xe500e5e5,\n      0x15001515, 0xdd00dddd, 0xfd00fdfd,
        0x17001717,\n      0xa900a9a9, 0xbf00bfbf, 0xd400d4d4, 0x9a009a9a,\n      0x7e007e7e,
        0xc500c5c5, 0x39003939, 0x67006767,\n      0xfe00fefe, 0x76007676, 0x9d009d9d,
        0x43004343,\n      0xa700a7a7, 0xe100e1e1, 0xd000d0d0, 0xf500f5f5,\n      0x68006868,
        0xf200f2f2, 0x1b001b1b, 0x34003434,\n      0x70007070, 0x05000505, 0xa300a3a3,
        0x8a008a8a,\n      0xd500d5d5, 0x79007979, 0x86008686, 0xa800a8a8,\n      0x30003030,
        0xc600c6c6, 0x51005151, 0x4b004b4b,\n      0x1e001e1e, 0xa600a6a6, 0x27002727,
        0xf600f6f6,\n      0x35003535, 0xd200d2d2, 0x6e006e6e, 0x24002424,\n      0x16001616,
        0x82008282, 0x5f005f5f, 0xda00dada,\n      0xe600e6e6, 0x75007575, 0xa200a2a2,
        0xef00efef,\n      0x2c002c2c, 0xb200b2b2, 0x1c001c1c, 0x9f009f9f,\n      0x5d005d5d,
        0x6f006f6f, 0x80008080, 0x0a000a0a,\n      0x72007272, 0x44004444, 0x9b009b9b,
        0x6c006c6c,\n      0x90009090, 0x0b000b0b, 0x5b005b5b, 0x33003333,\n      0x7d007d7d,
        0x5a005a5a, 0x52005252, 0xf300f3f3,\n      0x61006161, 0xa100a1a1, 0xf700f7f7,
        0xb000b0b0,\n      0xd600d6d6, 0x3f003f3f, 0x7c007c7c, 0x6d006d6d,\n      0xed00eded,
        0x14001414, 0xe000e0e0, 0xa500a5a5,\n      0x3d003d3d, 0x22002222, 0xb300b3b3,
        0xf800f8f8,\n      0x89008989, 0xde00dede, 0x71007171, 0x1a001a1a,\n      0xaf00afaf,
        0xba00baba, 0xb500b5b5, 0x81008181\n    },\n    { /* x1 */\n      0x52520052,
        0x09090009, 0x6a6a006a, 0xd5d500d5,\n      0x30300030, 0x36360036, 0xa5a500a5,
        0x38380038,\n      0xbfbf00bf, 0x40400040, 0xa3a300a3, 0x9e9e009e,\n      0x81810081,
        0xf3f300f3, 0xd7d700d7, 0xfbfb00fb,\n      0x7c7c007c, 0xe3e300e3, 0x39390039,
        0x82820082,\n      0x9b9b009b, 0x2f2f002f, 0xffff00ff, 0x87870087,\n      0x34340034,
        0x8e8e008e, 0x43430043, 0x44440044,\n      0xc4c400c4, 0xdede00de, 0xe9e900e9,
        0xcbcb00cb,\n      0x54540054, 0x7b7b007b, 0x94940094, 0x32320032,\n      0xa6a600a6,
        0xc2c200c2, 0x23230023, 0x3d3d003d,\n      0xeeee00ee, 0x4c4c004c, 0x95950095,
        0x0b0b000b,\n      0x42420042, 0xfafa00fa, 0xc3c300c3, 0x4e4e004e,\n      0x08080008,
        0x2e2e002e, 0xa1a100a1, 0x66660066,\n      0x28280028, 0xd9d900d9, 0x24240024,
        0xb2b200b2,\n      0x76760076, 0x5b5b005b, 0xa2a200a2, 0x49490049,\n      0x6d6d006d,
        0x8b8b008b, 0xd1d100d1, 0x25250025,\n      0x72720072, 0xf8f800f8, 0xf6f600f6,
        0x64640064,\n      0x86860086, 0x68680068, 0x98980098, 0x16160016,\n      0xd4d400d4,
        0xa4a400a4, 0x5c5c005c, 0xcccc00cc,\n      0x5d5d005d, 0x65650065, 0xb6b600b6,
        0x92920092,\n      0x6c6c006c, 0x70700070, 0x48480048, 0x50500050,\n      0xfdfd00fd,
        0xeded00ed, 0xb9b900b9, 0xdada00da,\n      0x5e5e005e, 0x15150015, 0x46460046,
        0x57570057,\n      0xa7a700a7, 0x8d8d008d, 0x9d9d009d, 0x84840084,\n      0x90900090,
        0xd8d800d8, 0xabab00ab, 0x00000000,\n      0x8c8c008c, 0xbcbc00bc, 0xd3d300d3,
        0x0a0a000a,\n      0xf7f700f7, 0xe4e400e4, 0x58580058, 0x05050005,\n      0xb8b800b8,
        0xb3b300b3, 0x45450045, 0x06060006,\n      0xd0d000d0, 0x2c2c002c, 0x1e1e001e,
        0x8f8f008f,\n      0xcaca00ca, 0x3f3f003f, 0x0f0f000f, 0x02020002,\n      0xc1c100c1,
        0xafaf00af, 0xbdbd00bd, 0x03030003,\n      0x01010001, 0x13130013, 0x8a8a008a,
        0x6b6b006b,\n      0x3a3a003a, 0x91910091, 0x11110011, 0x41410041,\n      0x4f4f004f,
        0x67670067, 0xdcdc00dc, 0xeaea00ea,\n      0x97970097, 0xf2f200f2, 0xcfcf00cf,
        0xcece00ce,\n      0xf0f000f0, 0xb4b400b4, 0xe6e600e6, 0x73730073,\n      0x96960096,
        0xacac00ac, 0x74740074, 0x22220022,\n      0xe7e700e7, 0xadad00ad, 0x35350035,
        0x85850085,\n      0xe2e200e2, 0xf9f900f9, 0x37370037, 0xe8e800e8,\n      0x1c1c001c,
        0x75750075, 0xdfdf00df, 0x6e6e006e,\n      0x47470047, 0xf1f100f1, 0x1a1a001a,
        0x71710071,\n      0x1d1d001d, 0x29290029, 0xc5c500c5, 0x89890089,\n      0x6f6f006f,
        0xb7b700b7, 0x62620062, 0x0e0e000e,\n      0xaaaa00aa, 0x18180018, 0xbebe00be,
        0x1b1b001b,\n      0xfcfc00fc, 0x56560056, 0x3e3e003e, 0x4b4b004b,\n      0xc6c600c6,
        0xd2d200d2, 0x79790079, 0x20200020,\n      0x9a9a009a, 0xdbdb00db, 0xc0c000c0,
        0xfefe00fe,\n      0x78780078, 0xcdcd00cd, 0x5a5a005a, 0xf4f400f4,\n      0x1f1f001f,
        0xdddd00dd, 0xa8a800a8, 0x33330033,\n      0x88880088, 0x07070007, 0xc7c700c7,
        0x31310031,\n      0xb1b100b1, 0x12120012, 0x10100010, 0x59590059,\n      0x27270027,
        0x80800080, 0xecec00ec, 0x5f5f005f,\n      0x60600060, 0x51510051, 0x7f7f007f,
        0xa9a900a9,\n      0x19190019, 0xb5b500b5, 0x4a4a004a, 0x0d0d000d,\n      0x2d2d002d,
        0xe5e500e5, 0x7a7a007a, 0x9f9f009f,\n      0x93930093, 0xc9c900c9, 0x9c9c009c,
        0xefef00ef,\n      0xa0a000a0, 0xe0e000e0, 0x3b3b003b, 0x4d4d004d,\n      0xaeae00ae,
        0x2a2a002a, 0xf5f500f5, 0xb0b000b0,\n      0xc8c800c8, 0xebeb00eb, 0xbbbb00bb,
        0x3c3c003c,\n      0x83830083, 0x53530053, 0x99990099, 0x61610061,\n      0x17170017,
        0x2b2b002b, 0x04040004, 0x7e7e007e,\n      0xbaba00ba, 0x77770077, 0xd6d600d6,
        0x26260026,\n      0xe1e100e1, 0x69690069, 0x14140014, 0x63630063,\n      0x55550055,
        0x21210021, 0x0c0c000c, 0x7d7d007d\n    },\n    { /* x2 */\n      0x30303000,
        0x68686800, 0x99999900, 0x1b1b1b00,\n      0x87878700, 0xb9b9b900, 0x21212100,
        0x78787800,\n      0x50505000, 0x39393900, 0xdbdbdb00, 0xe1e1e100,\n      0x72727200,
        0x09090900, 0x62626200, 0x3c3c3c00,\n      0x3e3e3e00, 0x7e7e7e00, 0x5e5e5e00,
        0x8e8e8e00,\n      0xf1f1f100, 0xa0a0a000, 0xcccccc00, 0xa3a3a300,\n      0x2a2a2a00,
        0x1d1d1d00, 0xfbfbfb00, 0xb6b6b600,\n      0xd6d6d600, 0x20202000, 0xc4c4c400,
        0x8d8d8d00,\n      0x81818100, 0x65656500, 0xf5f5f500, 0x89898900,\n      0xcbcbcb00,
        0x9d9d9d00, 0x77777700, 0xc6c6c600,\n      0x57575700, 0x43434300, 0x56565600,
        0x17171700,\n      0xd4d4d400, 0x40404000, 0x1a1a1a00, 0x4d4d4d00,\n      0xc0c0c000,
        0x63636300, 0x6c6c6c00, 0xe3e3e300,\n      0xb7b7b700, 0xc8c8c800, 0x64646400,
        0x6a6a6a00,\n      0x53535300, 0xaaaaaa00, 0x38383800, 0x98989800,\n      0x0c0c0c00,
        0xf4f4f400, 0x9b9b9b00, 0xededed00,\n      0x7f7f7f00, 0x22222200, 0x76767600,
        0xafafaf00,\n      0xdddddd00, 0x3a3a3a00, 0x0b0b0b00, 0x58585800,\n      0x67676700,
        0x88888800, 0x06060600, 0xc3c3c300,\n      0x35353500, 0x0d0d0d00, 0x01010100,
        0x8b8b8b00,\n      0x8c8c8c00, 0xc2c2c200, 0xe6e6e600, 0x5f5f5f00,\n      0x02020200,
        0x24242400, 0x75757500, 0x93939300,\n      0x66666600, 0x1e1e1e00, 0xe5e5e500,
        0xe2e2e200,\n      0x54545400, 0xd8d8d800, 0x10101000, 0xcecece00,\n      0x7a7a7a00,
        0xe8e8e800, 0x08080800, 0x2c2c2c00,\n      0x12121200, 0x97979700, 0x32323200,
        0xababab00,\n      0xb4b4b400, 0x27272700, 0x0a0a0a00, 0x23232300,\n      0xdfdfdf00,
        0xefefef00, 0xcacaca00, 0xd9d9d900,\n      0xb8b8b800, 0xfafafa00, 0xdcdcdc00,
        0x31313100,\n      0x6b6b6b00, 0xd1d1d100, 0xadadad00, 0x19191900,\n      0x49494900,
        0xbdbdbd00, 0x51515100, 0x96969600,\n      0xeeeeee00, 0xe4e4e400, 0xa8a8a800,
        0x41414100,\n      0xdadada00, 0xffffff00, 0xcdcdcd00, 0x55555500,\n      0x86868600,
        0x36363600, 0xbebebe00, 0x61616100,\n      0x52525200, 0xf8f8f800, 0xbbbbbb00,
        0x0e0e0e00,\n      0x82828200, 0x48484800, 0x69696900, 0x9a9a9a00,\n      0xe0e0e000,
        0x47474700, 0x9e9e9e00, 0x5c5c5c00,\n      0x04040400, 0x4b4b4b00, 0x34343400,
        0x15151500,\n      0x79797900, 0x26262600, 0xa7a7a700, 0xdedede00,\n      0x29292900,
        0xaeaeae00, 0x92929200, 0xd7d7d700,\n      0x84848400, 0xe9e9e900, 0xd2d2d200,
        0xbababa00,\n      0x5d5d5d00, 0xf3f3f300, 0xc5c5c500, 0xb0b0b000,\n      0xbfbfbf00,
        0xa4a4a400, 0x3b3b3b00, 0x71717100,\n      0x44444400, 0x46464600, 0x2b2b2b00,
        0xfcfcfc00,\n      0xebebeb00, 0x6f6f6f00, 0xd5d5d500, 0xf6f6f600,\n      0x14141400,
        0xfefefe00, 0x7c7c7c00, 0x70707000,\n      0x5a5a5a00, 0x7d7d7d00, 0xfdfdfd00,
        0x2f2f2f00,\n      0x18181800, 0x83838300, 0x16161600, 0xa5a5a500,\n      0x91919100,
        0x1f1f1f00, 0x05050500, 0x95959500,\n      0x74747400, 0xa9a9a900, 0xc1c1c100,
        0x5b5b5b00,\n      0x4a4a4a00, 0x85858500, 0x6d6d6d00, 0x13131300,\n      0x07070700,
        0x4f4f4f00, 0x4e4e4e00, 0x45454500,\n      0xb2b2b200, 0x0f0f0f00, 0xc9c9c900,
        0x1c1c1c00,\n      0xa6a6a600, 0xbcbcbc00, 0xececec00, 0x73737300,\n      0x90909000,
        0x7b7b7b00, 0xcfcfcf00, 0x59595900,\n      0x8f8f8f00, 0xa1a1a100, 0xf9f9f900,
        0x2d2d2d00,\n      0xf2f2f200, 0xb1b1b100, 0x00000000, 0x94949400,\n      0x37373700,
        0x9f9f9f00, 0xd0d0d000, 0x2e2e2e00,\n      0x9c9c9c00, 0x6e6e6e00, 0x28282800,
        0x3f3f3f00,\n      0x80808000, 0xf0f0f000, 0x3d3d3d00, 0xd3d3d300,\n      0x25252500,
        0x8a8a8a00, 0xb5b5b500, 0xe7e7e700,\n      0x42424200, 0xb3b3b300, 0xc7c7c700,
        0xeaeaea00,\n      0xf7f7f700, 0x4c4c4c00, 0x11111100, 0x33333300,\n      0x03030300,
        0xa2a2a200, 0xacacac00, 0x60606000\n    },\n    0\n  }"
      pos:
        line_end: 178
        line_start: 169
        source_file: /src/libgcrypt/cipher/aria.c
    typedefs: []
    union: []
- function_names:
  - asm_sbox_be
  - vec_bswap
  - vpand128
  - vpandn128
  - vpxor128
  - vpor128
  - vpsrlb128
  - vpsllb128
  - vpsrlw128
  - vpsllw128
  - vpsrld128
  - vpslld128
  - vpsrlq128
  - vpsllq128
  - vpsrldq128
  - vpslldq128
  - if_vpsrlb128
  - vpsrl_byte_128
  - vpsll_byte_128
  - if_vprolb128
  - vprolb128
  - vpaddb128
  - vpcmpgtb128
  - vpabsb128
  - vpshufd128_0x4e
  - vpshufd128_0x1b
  - vpshufb128
  - vpunpckhdq128
  - vpunpckldq128
  - vpunpckhqdq128
  - vpunpcklqdq128
  - vmovdqa128
  - vmovd128
  - vmovq128
  - vmovd128_amemld
  - vmovq128_amemld
  - vmovdqa128_memld
  - vmovdqa128_memst
  - vpshufb128_amemld
  - vmovdqu128_memld
  - vpxor128_memld
  - vmovq128_memld
  - vmovdqu128_memst
  - vmovq128_memst
  - vaesenclast128
  - aes_subbytes
  - aes_subbytes_and_shuf_and_xor
  - aes_inv_shuf
  - if_aes_subbytes
  - memory_barrier_with_vec
  - vpand128
  - vpandn128
  - vpxor128
  - vpor128
  - vpsrlb128
  - vpsllb128
  - vpsrlw128
  - vpsllw128
  - vpsrld128
  - vpslld128
  - vpsrlq128
  - vpsllq128
  - vpsrldq128
  - vpslldq128
  - if_vpsrlb128
  - vpsrl_byte_128
  - vpsll_byte_128
  - if_vprolb128
  - vprolb128
  - vpaddb128
  - vpcmpgtb128
  - vpabsb128
  - vpshufd128_0x4e
  - vpshufd128_0x1b
  - vpshufb128
  - vpunpckhdq128
  - vpunpckldq128
  - vpunpckhqdq128
  - vpunpcklqdq128
  - vaesenclast128
  - vmovdqa128
  - vmovd128
  - vmovq128
  - vmovd128_amemld
  - vmovq128_amemld
  - vmovdqa128_memld
  - vmovdqa128_memst
  - vpshufb128_amemld
  - vmovdqu128_memld
  - vpxor128_memld
  - vmovq128_memld
  - vmovdqu128_memst
  - vmovq128_memst
  - aes_subbytes_and_shuf_and_xor
  - aes_load_inv_shufmask
  - aes_inv_shuf
  - if_not_aes_subbytes
  - memory_barrier_with_vec
  - vpand128
  - vpandn128
  - vpxor128
  - vpor128
  - vpsrlw128
  - vpsllw128
  - vpsrld128
  - vpslld128
  - vpsrlq128
  - vpsllq128
  - vpsrldq128
  - vpslldq128
  - if_not_vpsrlb128
  - vpsrl_byte_128
  - vpsll_byte_128
  - if_not_vprolb128
  - vpaddb128
  - vpcmpgtb128
  - vpabsb128
  - vpshufd128_0x1b
  - vpshufd128_0x4e
  - vpshufb128
  - vpunpckhdq128
  - vpunpckldq128
  - vpunpckhqdq128
  - vpunpcklqdq128
  - vaesenclast128
  - vmovdqa128
  - vmovd128
  - vmovq128
  - vmovd128_amemld
  - vmovq128_amemld
  - vmovdqa128_memld
  - vmovdqa128_memst
  - vpshufb128_amemld
  - vmovdqu128_memld
  - vpxor128_memld
  - vmovq128_memld
  - vmovdqu128_memst
  - vmovq128_memst
  - aes_subbytes_and_shuf_and_xor
  - aes_load_inv_shufmask
  - aes_inv_shuf
  - if_not_aes_subbytes
  - memory_barrier_with_vec
  - filter_8bit
  - filter_8bit_3op
  - transpose_4x4
  - load_zero
  - load_frequent_const
  - prepare_frequent_const
  - prepare_frequent_constants
  - roundsm16
  - two_roundsm16
  - store_ab_state
  - enc_rounds16
  - dec_rounds16
  - rol32_1_16
  - fls16
  - byteslice_16x16b_fast
  - inpack16_pre
  - inpack16_post
  - outunpack16
  - write_output
  - SWAP_LE64
  - M128I_BYTE
  - M128I_U32
  - M128I_REP16
  - SHUFB_BYTES
  - ASM_FUNC_ATTR_NOINLINE::FUNC_ENC_BLK16
  - ASM_FUNC_ATTR_NOINLINE::FUNC_DEC_BLK16
  - camellia_f_core
  - camellia_f_xor_x
  - camellia_f
  - vec_rol128
  - vec_ror128
  - U64_BYTE
  - U64_U32
  - cmll_sub
  - camellia_setup128
  - camellia_setup256
  - ASM_FUNC_ATTR_NOINLINE::FUNC_KEY_SETUP
  source_file: /src/libgcrypt/cipher/camellia-simd128.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALWAYS_INLINE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: NO_INLINE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: NO_INSTRUMENT_FUNCTION
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type_or_value: __attribute__((no_instrument_function))
    - item_type: preproc_def
      name: ASM_FUNC_ATTR
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type_or_value: NO_INSTRUMENT_FUNCTION
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_INLINE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type_or_value: ASM_FUNC_ATTR ALWAYS_INLINE
    - item_type: preproc_def
      name: ASM_FUNC_ATTR_NOINLINE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type_or_value: ASM_FUNC_ATTR NO_INLINE SIMD128_OPT_ATTR
    - item_type: preproc_def
      name: vec_sbox_be
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type_or_value: asm_sbox_be
    - item_type: preproc_def
      name: __m128i
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type_or_value: uint64x2_t
    - item_type: preproc_def
      name: frequent_constants_declare
      pos:
        line_end: 423
        line_start: 408
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type_or_value: "__m128i inv_shift_row_stack; \\\n\t__m128i pack_bswap_stack;
        \\\n\t__m128i shufb_16x16b_stack; \\\n\t__m128i mask_0f_stack; \\\n\t__m128i
        pre_tf_lo_s1_stack; \\\n\t__m128i pre_tf_hi_s1_stack; \\\n\t__m128i pre_tf_lo_s4_stack;
        \\\n\t__m128i pre_tf_hi_s4_stack; \\\n\t__m128i post_tf_lo_s1_stack; \\\n\t__m128i
        post_tf_hi_s1_stack; \\\n\t__m128i post_tf_lo_s3_stack; \\\n\t__m128i post_tf_hi_s3_stack;
        \\\n\t__m128i post_tf_lo_s2_stack; \\\n\t__m128i post_tf_hi_s2_stack"
    - item_type: preproc_def
      name: KL128
      pos:
        line_end: 1430
        line_start: 1429
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type_or_value: x0
    - item_type: preproc_def
      name: KA128
      pos:
        line_end: 1431
        line_start: 1430
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type_or_value: x2
    - item_type: preproc_def
      name: KL128
      pos:
        line_end: 1793
        line_start: 1792
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type_or_value: x0
    - item_type: preproc_def
      name: KR128
      pos:
        line_end: 1794
        line_start: 1793
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type_or_value: x1
    - item_type: preproc_def
      name: KA128
      pos:
        line_end: 1795
        line_start: 1794
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type_or_value: x2
    - item_type: preproc_def
      name: KB128
      pos:
        line_end: 1796
        line_start: 1795
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type_or_value: x3
    structs:
    - fields:
      - name: '*key_table'
        type: u64
      - name: key_length
        type: int
      item_type: struct
      name: enc_ctx_s
      pos:
        line_end: 1110
        line_start: 1106
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
    - fields:
      - name: '*key_table'
        type: u64
      - name: key_length
        type: int
      item_type: struct
      name: dec_ctx_s
      pos:
        line_end: 1182
        line_start: 1178
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
    - fields:
      - name: '*key_table'
        type: u64
      item_type: struct
      name: setup128_ctx_s
      pos:
        line_end: 1418
        line_start: 1415
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
    - fields:
      - name: '*key_table'
        type: u64
      item_type: struct
      name: setup256_ctx_s
      pos:
        line_end: 1781
        line_start: 1778
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
    typedefs:
    - item_type: typedef
      name: int8x16_t
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type: vector signed
    - item_type: typedef
      name: uint8x16_t
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type: vector unsigned
    - item_type: typedef
      name: uint16x8_t
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type: vector unsigned short
    - item_type: typedef
      name: uint32x4_t
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type: vector unsigned
    - item_type: typedef
      name: uint64x2_t
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type: vector unsigned long long
    - item_type: typedef
      name: __m128i
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type: uint64x2_t
    - item_type: typedef
      name: uint64_unaligned_t
      pos:
        line_end: 961
        line_start: 961
        source_file: /src/libgcrypt/cipher/camellia-simd128.h
      type: u64
    union: []
- function_names:
  - map_algo
  - spec_from_algo
  - spec_from_name
  - spec_from_sexp
  - disable_pubkey_algo
  - _gcry_pk_map_name
  - _gcry_pk_algo_name
  - check_pubkey_algo
  - pubkey_get_npkey
  - pubkey_get_nskey
  - pubkey_get_nsig
  - pubkey_get_nenc
  - _gcry_pk_encrypt
  - _gcry_pk_decrypt
  - _gcry_pk_sign
  - prepare_datasexp_to_be_signed
  - _gcry_pk_sign_md
  - _gcry_pk_verify
  - _gcry_pk_verify_md
  - _gcry_pk_testkey
  - _gcry_pk_genkey
  - _gcry_pk_get_nbits
  - _gcry_pk_get_keygrip
  - _gcry_pk_get_curve
  - _gcry_pk_get_param
  - _gcry_pk_ctl
  - _gcry_pk_algo_info
  - _gcry_pubkey_get_sexp
  - _gcry_pk_init
  - _gcry_pk_selftest
  - _gcry_pk_single_data_push
  - _gcry_pk_get_single_data
  source_file: /src/libgcrypt/cipher/pubkey.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_CONTEXTS
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/libgcrypt/cipher/pubkey.c
      type_or_value: '2 '
    structs:
    - fields:
      - name: len
        type: size_t
      - name: area[1]
        type: unsigned char
      item_type: struct
      name: pk_single_data
      pos:
        line_end: 1350
        line_start: 1347
        source_file: /src/libgcrypt/cipher/pubkey.c
    typedefs: []
    union: []
- function_names:
  - dsa_check_keysize
  - _gcry_register_pk_dsa_progress
  - progress
  - test_keys
  - generate
  - generate_fips186
  - check_secret_key
  - sign
  - verify
  - dsa_generate
  - dsa_check_secret_key
  - dsa_sign
  - dsa_verify
  - dsa_get_nbits
  - selftest_sign
  - selftests_dsa_2048
  - run_selftests
  source_file: /src/libgcrypt/cipher/dsa.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: p
        type: gcry_mpi_t
      - name: q
        type: gcry_mpi_t
      - name: g
        type: gcry_mpi_t
      - name: y
        type: gcry_mpi_t
      item_type: struct
      name: DSA_public_key
      pos:
        line_end: 38
        line_start: 32
        source_file: /src/libgcrypt/cipher/dsa.c
    - fields:
      - name: p
        type: gcry_mpi_t
      - name: q
        type: gcry_mpi_t
      - name: g
        type: gcry_mpi_t
      - name: y
        type: gcry_mpi_t
      - name: x
        type: gcry_mpi_t
      item_type: struct
      name: DSA_secret_key
      pos:
        line_end: 48
        line_start: 41
        source_file: /src/libgcrypt/cipher/dsa.c
    - fields:
      - name: p
        type: gcry_mpi_t
      - name: q
        type: gcry_mpi_t
      - name: g
        type: gcry_mpi_t
      item_type: struct
      name: dsa_domain_t
      pos:
        line_end: 57
        line_start: 52
        source_file: /src/libgcrypt/cipher/dsa.c
    - fields:
      - name: sexp
        type: gcry_sexp_t
      - name: '*seed'
        type: void
      - name: seedlen
        type: size_t
      item_type: struct
      name: initial_seed = { NULL, NULL, 0 }
      pos:
        line_end: 396
        line_start: 392
        source_file: /src/libgcrypt/cipher/dsa.c
    typedefs: []
    union: []
- function_names:
  - crc32r_less_than_16
  - crc32_less_than_16
  - _gcry_crc32_armv8_ce_pmull
  - _gcry_crc24rfc2440_armv8_ce_pmull
  source_file: /src/libgcrypt/cipher/crc-armv8-ce.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALIGNED_16
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/crc-armv8-ce.c
      type_or_value: __attribute__ ((aligned (16)))
    structs:
    - fields:
      - name: a
        type: u16
      item_type: struct
      name: u16_unaligned_s
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/libgcrypt/cipher/crc-armv8-ce.c
    - fields:
      - name: a
        type: u32
      item_type: struct
      name: u32_unaligned_s
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/libgcrypt/cipher/crc-armv8-ce.c
    - fields:
      - name: k[6]
        type: u64
      - name: my_p[2]
        type: u64
      item_type: struct
      name: crc32_consts_s
      pos:
        line_end: 59
        line_start: 53
        source_file: /src/libgcrypt/cipher/crc-armv8-ce.c
    typedefs: []
    union: []
- function_names:
  - _gcry_dsa_modify_k
  - _gcry_dsa_gen_k
  - int2octets
  - bits2octets
  - _gcry_dsa_gen_rfc6979_k
  - _gcry_dsa_compute_hash
  - _gcry_dsa_normalize_hash
  source_file: /src/libgcrypt/cipher/dsa-common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_sha256_transform_amd64_ssse3
  - do_sha256_transform_amd64_avx
  - do_sha256_transform_amd64_avx2
  - do_sha256_transform_intel_shaext
  - do_sha256_transform_armv8_ce
  - do_sha256_transform_ppc8
  - do_sha256_transform_ppc9
  - do_sha256_transform_riscv_zvknha
  - do_sha256_transform_s390x
  - do_sha256_final_s390x
  - sha256_common_init
  - sha256_init
  - sha224_init
  - R
  - Cho
  - Maj
  - Sum0
  - Sum1
  - S0
  - S1
  - I
  - W
  - do_transform_generic
  - sha256_final
  - X
  - sha256_read
  - _gcry_sha256_hash_buffers
  - _gcry_sha224_hash_buffers
  - selftests_sha224
  - selftests_sha256
  - run_selftests
  source_file: /src/libgcrypt/cipher/sha256.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_SSSE3
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgcrypt/cipher/sha256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AVX
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libgcrypt/cipher/sha256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AVX2
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libgcrypt/cipher/sha256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SHAEXT
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libgcrypt/cipher/sha256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_CE
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libgcrypt/cipher/sha256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ARM_CE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libgcrypt/cipher/sha256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_PPC_CRYPTO
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libgcrypt/cipher/sha256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_RISCV_V_CRYPTO
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/libgcrypt/cipher/sha256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_S390X_CRYPTO
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libgcrypt/cipher/sha256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ASM_FUNC_ABI
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/libgcrypt/cipher/sha256.c
      type_or_value: __attribute__((sysv_abi))
    - item_type: preproc_def
      name: ASM_EXTRA_STACK
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/libgcrypt/cipher/sha256.c
      type_or_value: (10 * 16 + sizeof(void *) * 4)
    - item_type: preproc_def
      name: ASM_EXTRA_STACK
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/libgcrypt/cipher/sha256.c
      type_or_value: '0'
    structs:
    - fields:
      - name: bctx
        type: gcry_md_block_ctx_t
      - name: h[8]
        type: u32
      item_type: struct
      name: SHA256_CONTEXT
      pos:
        line_end: 135
        line_start: 128
        source_file: /src/libgcrypt/cipher/sha256.c
    typedefs: []
    union: []
- function_names:
  - max
  - gost3411_init
  - gost3411_cp_init
  - do_p
  - do_a
  - do_a2
  - do_apply_c2
  - do_chi_step12
  - do_chi_step13
  - do_chi_doublestep
  - do_chi_submix12
  - do_chi_submix13
  - do_add
  - do_hash_step
  - transform_blk
  - transform
  - gost3411_final
  - gost3411_read
  source_file: /src/libgcrypt/cipher/gostr3411-94.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bctx
        type: gcry_md_block_ctx_t
      - name: sigma[8]
        type: u32
      - name: len
        type: u32
      - name: cryptopro
        type: int
      item_type: struct
      name: GOSTR3411_CONTEXT
      pos:
        line_end: 44
        line_start: 35
        source_file: /src/libgcrypt/cipher/gostr3411-94.c
    typedefs: []
    union: []
- function_names:
  - mldsa_get_info
  - mldsa_get_nbits
  - mldsa_compute_keygrip
  - randombytes
  - mldsa_generate
  - mldsa_sign
  - mldsa_verify
  source_file: /src/libgcrypt/cipher/pubkey-dilithium.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_PUBKEY_LEN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/pubkey-dilithium.c
      type_or_value: '2592'
    - item_type: preproc_def
      name: MAX_SECKEY_LEN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/cipher/pubkey-dilithium.c
      type_or_value: '4896'
    - item_type: preproc_def
      name: MAX_SIG_LEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/cipher/pubkey-dilithium.c
      type_or_value: '4627'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: namelen
        type: unsigned int
      - name: algo
        type: int
      - name: nbits
        type: unsigned int
      - name: fips
        type: unsigned int
      - name: pubkey_len
        type: int
      - name: seckey_len
        type: int
      - name: sig_len
        type: int
      item_type: struct
      name: mldsa_info
      pos:
        line_end: 50
        line_start: 40
        source_file: /src/libgcrypt/cipher/pubkey-dilithium.c
    typedefs: []
    union: []
- function_names:
  - asm_load_be_const
  - asm_be_swap
  - asm_load_be_noswap
  - asm_store_be_noswap
  - keysched_idx
  - bcast_u32_to_vec
  - u32_from_vec
  - PPC_OPT_ATTR::_gcry_aes_ppc8_setkey
  - PPC_OPT_ATTR::_gcry_aes_ppc8_prepare_decryption
  source_file: /src/libgcrypt/cipher/rijndael-ppc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUNC_ATTR_OPT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/cipher/rijndael-ppc.c
      type_or_value: __attribute__((optimize("-O2")))
    - item_type: preproc_def
      name: PPC_OPT_ATTR
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/cipher/rijndael-ppc.c
      type_or_value: __attribute__((target("arch=pwr8"))) FUNC_ATTR_OPT
    - item_type: preproc_def
      name: PPC_OPT_ATTR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/cipher/rijndael-ppc.c
      type_or_value: __attribute__((target("cpu=power8"))) FUNC_ATTR_OPT
    - item_type: preproc_def
      name: PPC_OPT_ATTR
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/cipher/rijndael-ppc.c
      type_or_value: FUNC_ATTR_OPT
    - item_type: preproc_def
      name: GCRY_AES_PPC8
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/libgcrypt/cipher/rijndael-ppc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ENCRYPT_BLOCK_FUNC
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/libgcrypt/cipher/rijndael-ppc.c
      type_or_value: _gcry_aes_ppc8_encrypt
    - item_type: preproc_def
      name: DECRYPT_BLOCK_FUNC
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/libgcrypt/cipher/rijndael-ppc.c
      type_or_value: _gcry_aes_ppc8_decrypt
    - item_type: preproc_def
      name: ECB_CRYPT_FUNC
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/libgcrypt/cipher/rijndael-ppc.c
      type_or_value: _gcry_aes_ppc8_ecb_crypt
    - item_type: preproc_def
      name: CFB_ENC_FUNC
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/libgcrypt/cipher/rijndael-ppc.c
      type_or_value: _gcry_aes_ppc8_cfb_enc
    - item_type: preproc_def
      name: CFB_DEC_FUNC
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/libgcrypt/cipher/rijndael-ppc.c
      type_or_value: _gcry_aes_ppc8_cfb_dec
    - item_type: preproc_def
      name: CBC_ENC_FUNC
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/libgcrypt/cipher/rijndael-ppc.c
      type_or_value: _gcry_aes_ppc8_cbc_enc
    - item_type: preproc_def
      name: CBC_DEC_FUNC
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/libgcrypt/cipher/rijndael-ppc.c
      type_or_value: _gcry_aes_ppc8_cbc_dec
    - item_type: preproc_def
      name: CTR_ENC_FUNC
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/libgcrypt/cipher/rijndael-ppc.c
      type_or_value: _gcry_aes_ppc8_ctr_enc
    - item_type: preproc_def
      name: OCB_CRYPT_FUNC
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/libgcrypt/cipher/rijndael-ppc.c
      type_or_value: _gcry_aes_ppc8_ocb_crypt
    - item_type: preproc_def
      name: OCB_AUTH_FUNC
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/libgcrypt/cipher/rijndael-ppc.c
      type_or_value: _gcry_aes_ppc8_ocb_auth
    - item_type: preproc_def
      name: XTS_CRYPT_FUNC
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/libgcrypt/cipher/rijndael-ppc.c
      type_or_value: _gcry_aes_ppc8_xts_crypt
    - item_type: preproc_def
      name: CTR32LE_ENC_FUNC
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/libgcrypt/cipher/rijndael-ppc.c
      type_or_value: _gcry_aes_ppc8_ctr32le_enc
    structs: []
    typedefs: []
    union: []
- function_names:
  - PPC_OPT_ATTR::ENCRYPT_BLOCK_FUNC
  - PPC_OPT_ATTR::DECRYPT_BLOCK_FUNC
  - PPC_OPT_ATTR::CFB_ENC_FUNC
  - PPC_OPT_ATTR::ECB_CRYPT_FUNC
  - DO_ROUND
  - DO_ROUND
  - DO_ROUND
  - DO_ROUND
  - PPC_OPT_ATTR::CFB_DEC_FUNC
  - DO_ROUND
  - DO_ROUND
  - PPC_OPT_ATTR::CBC_ENC_FUNC
  - PPC_OPT_ATTR::CBC_DEC_FUNC
  - DO_ROUND
  - DO_ROUND
  - PPC_OPT_ATTR::CTR_ENC_FUNC
  - DO_ROUND
  - DO_ROUND
  - PPC_OPT_ATTR::OCB_CRYPT_FUNC
  - DO_ROUND
  - DO_ROUND
  - DO_ROUND
  - DO_ROUND
  - PPC_OPT_ATTR::OCB_AUTH_FUNC
  - DO_ROUND
  - DO_ROUND
  - PPC_OPT_ATTR::XTS_CRYPT_FUNC
  - GEN_TWEAK
  - DO_ROUND
  - DO_ROUND
  - DO_ROUND
  - DO_ROUND
  - PPC_OPT_ATTR::CTR32LE_ENC_FUNC
  - VEC_ADD_CTRLE32
  - DO_ROUND
  - DO_ROUND
  source_file: /src/libgcrypt/cipher/rijndael-ppc-functions.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DIM
  - main
  source_file: /src/libgcrypt/cipher/gost-s-box.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*oid'
        type: char
      - name: keymeshing
        type: unsigned int
      - name: sbox[16*8]
        type: unsigned char
      item_type: struct
      name: gost_sbox
      pos:
        line_end: 30
        line_start: 24
        source_file: /src/libgcrypt/cipher/gost-s-box.c
    typedefs: []
    union: []
- function_names:
  - sntrup761_random
  - _gcry_kem_genkey
  - _gcry_kem_encap
  - _gcry_kem_decap
  - kem_generate
  - kem_compute_keygrip
  - kem_get_nbits
  source_file: /src/libgcrypt/cipher/kem.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: namelen
        type: unsigned int
      - name: algo
        type: int
      - name: nbits
        type: unsigned int
      - name: fips
        type: unsigned int
      - name: pubkey_len
        type: int
      - name: seckey_len
        type: int
      - name: seed_len
        type: int
      item_type: struct
      name: "kem_infos[] =\n  {\n    { \"sntrup761\", 9, GCRY_KEM_SNTRUP761,  761,
        0,\n      GCRY_KEM_SNTRUP761_PUBKEY_LEN, GCRY_KEM_SNTRUP761_SECKEY_LEN,\n
        \     0 },\n    { \"kyber512\",  8, GCRY_KEM_MLKEM512,   512, 0,\n      GCRY_KEM_MLKEM512_PUBKEY_LEN,
        \ GCRY_KEM_MLKEM512_SECKEY_LEN,\n      GCRY_KEM_MLKEM_RANDOM_LEN * 2 },\n
        \   { \"kyber768\",  8, GCRY_KEM_MLKEM768,   768, 1,\n      GCRY_KEM_MLKEM768_PUBKEY_LEN,
        \ GCRY_KEM_MLKEM768_SECKEY_LEN,\n      GCRY_KEM_MLKEM_RANDOM_LEN * 2 },\n
        \   { \"kyber1024\", 9, GCRY_KEM_MLKEM1024, 1024, 1,\n      GCRY_KEM_MLKEM1024_PUBKEY_LEN,
        GCRY_KEM_MLKEM1024_SECKEY_LEN,\n      GCRY_KEM_MLKEM_RANDOM_LEN * 2 },\n    {
        NULL }\n  }"
      pos:
        line_end: 49
        line_start: 39
        source_file: /src/libgcrypt/cipher/kem.c
    - fields:
      - name: sexp
        type: gcry_sexp_t
      - name: '*seed'
        type: void
      - name: seedlen
        type: size_t
      item_type: struct
      name: seedparm = { NULL, NULL, 0 }
      pos:
        line_end: 423
        line_start: 419
        source_file: /src/libgcrypt/cipher/kem.c
    typedefs: []
    union: []
- function_names:
  - map_mac_algo_to_md
  - hmac_open
  - hmac_close
  - hmac_setkey
  - hmac_reset
  - hmac_write
  - hmac_read
  - hmac_verify
  - hmac_get_maclen
  - hmac_get_keylen
  - check_one
  - selftests_sha1
  - selftests_sha224
  - selftests_sha256
  - selftests_sha384
  - selftests_sha512
  - selftests_sha3
  - hmac_selftest
  source_file: /src/libgcrypt/cipher/mac-hmac.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* const desc'
        type: char
      - name: '* const data'
        type: char
      - name: '* const key'
        type: char
      - name: expect[28]
        type: char
      item_type: struct
      name: "tv[] =\n    {\n      { \"data-28 key-4\",\n        \"what do ya want
        for nothing?\",\n        \"Jefe\",\n        { 0xa3, 0x0e, 0x01, 0x09, 0x8b,
        0xc6, 0xdb, 0xbf,\n          0x45, 0x69, 0x0f, 0x3a, 0x7e, 0x9e, 0x6d, 0x0f,\n
        \         0x8b, 0xbe, 0xa2, 0xa3, 0x9e, 0x61, 0x48, 0x00,\n          0x8f,
        0xd0, 0x5e, 0x44 } },\n\n      { \"data-9 key-20\",\n        \"Hi There\",\n\t\"\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\"\n
        \       \"\\x0b\\x0b\\x0b\\x0b\",\n        { 0x89, 0x6f, 0xb1, 0x12, 0x8a,
        0xbb, 0xdf, 0x19,\n          0x68, 0x32, 0x10, 0x7c, 0xd4, 0x9d, 0xf3, 0x3f,\n
        \         0x47, 0xb4, 0xb1, 0x16, 0x99, 0x12, 0xba, 0x4f,\n          0x53,
        0x68, 0x4b, 0x22 } },\n\n      { \"data-50 key-20\",\n        \"\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\"\n
        \       \"\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\"\n
        \       \"\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\"\n
        \       \"\\xdd\\xdd\",\n\t\"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\",\n        { 0x7f, 0xb3, 0xcb, 0x35, 0x88,
        0xc6, 0xc1, 0xf6,\n          0xff, 0xa9, 0x69, 0x4d, 0x7d, 0x6a, 0xd2, 0x64,\n
        \         0x93, 0x65, 0xb0, 0xc1, 0xf6, 0x5d, 0x69, 0xd1,\n          0xec,
        0x83, 0x33, 0xea } },\n\n      { \"data-50 key-26\",\n        \"\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\"\n
        \       \"\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\"\n
        \       \"\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\"\n
        \       \"\\xcd\\xcd\",\n\t\"\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\x09\\x0a\\x0b\\x0c\\x0d\\x0e\\x0f\\x10\"\n
        \       \"\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\",\n        { 0x6c,
        0x11, 0x50, 0x68, 0x74, 0x01, 0x3c, 0xac,\n          0x6a, 0x2a, 0xbc, 0x1b,
        0xb3, 0x82, 0x62, 0x7c,\n          0xec, 0x6a, 0x90, 0xd8, 0x6e, 0xfc, 0x01,
        0x2d,\n          0xe7, 0xaf, 0xec, 0x5a } },\n\n      { \"data-54 key-131\",\n
        \       \"Test Using Larger Than Block-Size Key - Hash Key First\",\n\t\"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\",\n        { 0x95, 0xe9, 0xa0, 0xdb, 0x96, 0x20,
        0x95, 0xad,\n          0xae, 0xbe, 0x9b, 0x2d, 0x6f, 0x0d, 0xbc, 0xe2,\n          0xd4,
        0x99, 0xf1, 0x12, 0xf2, 0xd2, 0xb7, 0x27,\n          0x3f, 0xa6, 0x87, 0x0e
        } },\n\n      { \"data-152 key-131\",\n        \"This is a test using a larger
        than block-size key and a larger \"\n        \"than block-size data. The key
        needs to be hashed before being \"\n        \"used by the HMAC algorithm.\",\n\t\"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\",\n        { 0x3a, 0x85, 0x41, 0x66, 0xac, 0x5d,
        0x9f, 0x02,\n          0x3f, 0x54, 0xd5, 0x17, 0xd0, 0xb3, 0x9d, 0xbd,\n          0x94,
        0x67, 0x70, 0xdb, 0x9c, 0x2b, 0x95, 0xc9,\n          0xf6, 0xf5, 0x65, 0xd1
        } },\n\n      { NULL }\n    }"
      pos:
        line_end: 366
        line_start: 360
        source_file: /src/libgcrypt/cipher/mac-hmac.c
    - fields:
      - name: '* const desc'
        type: char
      - name: '* const data'
        type: char
      - name: '* const key'
        type: char
      - name: expect[32]
        type: char
      item_type: struct
      name: "tv[] =\n    {\n      { \"data-28 key-4\",\n        \"what do ya want
        for nothing?\",\n        \"Jefe\",\n\t{ 0x5b, 0xdc, 0xc1, 0x46, 0xbf, 0x60,
        0x75, 0x4e,\n          0x6a, 0x04, 0x24, 0x26, 0x08, 0x95, 0x75, 0xc7,\n          0x5a,
        0x00, 0x3f, 0x08, 0x9d, 0x27, 0x39, 0x83,\n          0x9d, 0xec, 0x58, 0xb9,
        0x64, 0xec, 0x38, 0x43 } },\n\n      { \"data-9 key-20\",\n        \"Hi There\",\n\t\"\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\"\n
        \       \"\\x0b\\x0b\\x0b\\x0b\",\n        { 0xb0, 0x34, 0x4c, 0x61, 0xd8,
        0xdb, 0x38, 0x53,\n          0x5c, 0xa8, 0xaf, 0xce, 0xaf, 0x0b, 0xf1, 0x2b,\n
        \         0x88, 0x1d, 0xc2, 0x00, 0xc9, 0x83, 0x3d, 0xa7,\n          0x26,
        0xe9, 0x37, 0x6c, 0x2e, 0x32, 0xcf, 0xf7 } },\n\n      { \"data-50 key-20\",\n
        \       \"\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\"\n
        \       \"\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\"\n
        \       \"\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\"\n
        \       \"\\xdd\\xdd\",\n\t\"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\",\n        { 0x77, 0x3e, 0xa9, 0x1e, 0x36,
        0x80, 0x0e, 0x46,\n          0x85, 0x4d, 0xb8, 0xeb, 0xd0, 0x91, 0x81, 0xa7,\n
        \         0x29, 0x59, 0x09, 0x8b, 0x3e, 0xf8, 0xc1, 0x22,\n          0xd9,
        0x63, 0x55, 0x14, 0xce, 0xd5, 0x65, 0xfe } },\n\n      { \"data-50 key-26\",\n
        \       \"\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\"\n
        \       \"\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\"\n
        \       \"\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\"\n
        \       \"\\xcd\\xcd\",\n\t\"\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\x09\\x0a\\x0b\\x0c\\x0d\\x0e\\x0f\\x10\"\n
        \       \"\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\",\n\t{ 0x82, 0x55,
        0x8a, 0x38, 0x9a, 0x44, 0x3c, 0x0e,\n          0xa4, 0xcc, 0x81, 0x98, 0x99,
        0xf2, 0x08, 0x3a,\n          0x85, 0xf0, 0xfa, 0xa3, 0xe5, 0x78, 0xf8, 0x07,\n
        \         0x7a, 0x2e, 0x3f, 0xf4, 0x67, 0x29, 0x66, 0x5b } },\n\n      { \"data-54
        key-131\",\n        \"Test Using Larger Than Block-Size Key - Hash Key First\",\n\t\"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\",\n\t{ 0x60, 0xe4, 0x31, 0x59, 0x1e, 0xe0, 0xb6,
        0x7f,\n          0x0d, 0x8a, 0x26, 0xaa, 0xcb, 0xf5, 0xb7, 0x7f,\n          0x8e,
        0x0b, 0xc6, 0x21, 0x37, 0x28, 0xc5, 0x14,\n          0x05, 0x46, 0x04, 0x0f,
        0x0e, 0xe3, 0x7f, 0x54 } },\n\n      { \"data-152 key-131\",\n        \"This
        is a test using a larger than block-size key and a larger \"\n        \"than
        block-size data. The key needs to be hashed before being \"\n        \"used
        by the HMAC algorithm.\",\n\t\"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\",\n\t{ 0x9b, 0x09, 0xff, 0xa7, 0x1b, 0x94, 0x2f,
        0xcb,\n          0x27, 0x63, 0x5f, 0xbc, 0xd5, 0xb0, 0xe9, 0x44,\n          0xbf,
        0xdc, 0x63, 0x64, 0x4f, 0x07, 0x13, 0x93,\n          0x8a, 0x7f, 0x51, 0x53,
        0x5c, 0x3a, 0x35, 0xe2 } },\n\n      { NULL }\n    }"
      pos:
        line_end: 480
        line_start: 474
        source_file: /src/libgcrypt/cipher/mac-hmac.c
    - fields:
      - name: '* const desc'
        type: char
      - name: '* const data'
        type: char
      - name: '* const key'
        type: char
      - name: expect[48]
        type: char
      item_type: struct
      name: "tv[] =\n    {\n      { \"data-28 key-4\",\n        \"what do ya want
        for nothing?\",\n        \"Jefe\",\n        { 0xaf, 0x45, 0xd2, 0xe3, 0x76,
        0x48, 0x40, 0x31,\n          0x61, 0x7f, 0x78, 0xd2, 0xb5, 0x8a, 0x6b, 0x1b,\n
        \         0x9c, 0x7e, 0xf4, 0x64, 0xf5, 0xa0, 0x1b, 0x47,\n          0xe4,
        0x2e, 0xc3, 0x73, 0x63, 0x22, 0x44, 0x5e,\n          0x8e, 0x22, 0x40, 0xca,
        0x5e, 0x69, 0xe2, 0xc7,\n          0x8b, 0x32, 0x39, 0xec, 0xfa, 0xb2, 0x16,
        0x49 } },\n\n      { \"data-9 key-20\",\n        \"Hi There\",\n\t\"\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\"\n
        \       \"\\x0b\\x0b\\x0b\\x0b\",\n        { 0xaf, 0xd0, 0x39, 0x44, 0xd8,
        0x48, 0x95, 0x62,\n          0x6b, 0x08, 0x25, 0xf4, 0xab, 0x46, 0x90, 0x7f,\n
        \         0x15, 0xf9, 0xda, 0xdb, 0xe4, 0x10, 0x1e, 0xc6,\n          0x82,
        0xaa, 0x03, 0x4c, 0x7c, 0xeb, 0xc5, 0x9c,\n          0xfa, 0xea, 0x9e, 0xa9,
        0x07, 0x6e, 0xde, 0x7f,\n          0x4a, 0xf1, 0x52, 0xe8, 0xb2, 0xfa, 0x9c,
        0xb6 } },\n\n      { \"data-50 key-20\",\n        \"\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\"\n
        \       \"\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\"\n
        \       \"\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\"\n
        \       \"\\xdd\\xdd\",\n\t\"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\",\n        { 0x88, 0x06, 0x26, 0x08, 0xd3,
        0xe6, 0xad, 0x8a,\n          0x0a, 0xa2, 0xac, 0xe0, 0x14, 0xc8, 0xa8, 0x6f,\n
        \         0x0a, 0xa6, 0x35, 0xd9, 0x47, 0xac, 0x9f, 0xeb,\n          0xe8,
        0x3e, 0xf4, 0xe5, 0x59, 0x66, 0x14, 0x4b,\n          0x2a, 0x5a, 0xb3, 0x9d,
        0xc1, 0x38, 0x14, 0xb9,\n          0x4e, 0x3a, 0xb6, 0xe1, 0x01, 0xa3, 0x4f,
        0x27 } },\n\n      { \"data-50 key-26\",\n        \"\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\"\n
        \       \"\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\"\n
        \       \"\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\"\n
        \       \"\\xcd\\xcd\",\n\t\"\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\x09\\x0a\\x0b\\x0c\\x0d\\x0e\\x0f\\x10\"\n
        \       \"\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\",\n        { 0x3e,
        0x8a, 0x69, 0xb7, 0x78, 0x3c, 0x25, 0x85,\n          0x19, 0x33, 0xab, 0x62,
        0x90, 0xaf, 0x6c, 0xa7,\n          0x7a, 0x99, 0x81, 0x48, 0x08, 0x50, 0x00,
        0x9c,\n          0xc5, 0x57, 0x7c, 0x6e, 0x1f, 0x57, 0x3b, 0x4e,\n          0x68,
        0x01, 0xdd, 0x23, 0xc4, 0xa7, 0xd6, 0x79,\n          0xcc, 0xf8, 0xa3, 0x86,
        0xc6, 0x74, 0xcf, 0xfb } },\n\n      { \"data-54 key-131\",\n        \"Test
        Using Larger Than Block-Size Key - Hash Key First\",\n\t\"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\",\n        { 0x4e, 0xce, 0x08, 0x44, 0x85, 0x81,
        0x3e, 0x90,\n          0x88, 0xd2, 0xc6, 0x3a, 0x04, 0x1b, 0xc5, 0xb4,\n          0x4f,
        0x9e, 0xf1, 0x01, 0x2a, 0x2b, 0x58, 0x8f,\n          0x3c, 0xd1, 0x1f, 0x05,
        0x03, 0x3a, 0xc4, 0xc6,\n          0x0c, 0x2e, 0xf6, 0xab, 0x40, 0x30, 0xfe,
        0x82,\n          0x96, 0x24, 0x8d, 0xf1, 0x63, 0xf4, 0x49, 0x52 } },\n\n      {
        \"data-152 key-131\",\n        \"This is a test using a larger than block-size
        key and a larger \"\n        \"than block-size data. The key needs to be hashed
        before being \"\n        \"used by the HMAC algorithm.\",\n\t\"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\",\n        { 0x66, 0x17, 0x17, 0x8e, 0x94, 0x1f,
        0x02, 0x0d,\n          0x35, 0x1e, 0x2f, 0x25, 0x4e, 0x8f, 0xd3, 0x2c,\n          0x60,
        0x24, 0x20, 0xfe, 0xb0, 0xb8, 0xfb, 0x9a,\n          0xdc, 0xce, 0xbb, 0x82,
        0x46, 0x1e, 0x99, 0xc5,\n          0xa6, 0x78, 0xcc, 0x31, 0xe7, 0x99, 0x17,
        0x6d,\n          0x38, 0x60, 0xe6, 0x11, 0x0c, 0x46, 0x52, 0x3e } },\n\n      {
        NULL }\n    }"
      pos:
        line_end: 594
        line_start: 588
        source_file: /src/libgcrypt/cipher/mac-hmac.c
    - fields:
      - name: '* const desc'
        type: char
      - name: '* const data'
        type: char
      - name: '* const key'
        type: char
      - name: expect[64]
        type: char
      item_type: struct
      name: "tv[] =\n    {\n      { \"data-28 key-4\",\n        \"what do ya want
        for nothing?\",\n        \"Jefe\",\n        { 0x16, 0x4b, 0x7a, 0x7b, 0xfc,
        0xf8, 0x19, 0xe2,\n          0xe3, 0x95, 0xfb, 0xe7, 0x3b, 0x56, 0xe0, 0xa3,\n
        \         0x87, 0xbd, 0x64, 0x22, 0x2e, 0x83, 0x1f, 0xd6,\n          0x10,
        0x27, 0x0c, 0xd7, 0xea, 0x25, 0x05, 0x54,\n          0x97, 0x58, 0xbf, 0x75,
        0xc0, 0x5a, 0x99, 0x4a,\n          0x6d, 0x03, 0x4f, 0x65, 0xf8, 0xf0, 0xe6,
        0xfd,\n          0xca, 0xea, 0xb1, 0xa3, 0x4d, 0x4a, 0x6b, 0x4b,\n          0x63,
        0x6e, 0x07, 0x0a, 0x38, 0xbc, 0xe7, 0x37 } },\n\n      { \"data-9 key-20\",\n
        \       \"Hi There\",\n\t\"\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\"\n
        \       \"\\x0b\\x0b\\x0b\\x0b\",\n        { 0x87, 0xaa, 0x7c, 0xde, 0xa5,
        0xef, 0x61, 0x9d,\n          0x4f, 0xf0, 0xb4, 0x24, 0x1a, 0x1d, 0x6c, 0xb0,\n
        \         0x23, 0x79, 0xf4, 0xe2, 0xce, 0x4e, 0xc2, 0x78,\n          0x7a,
        0xd0, 0xb3, 0x05, 0x45, 0xe1, 0x7c, 0xde,\n          0xda, 0xa8, 0x33, 0xb7,
        0xd6, 0xb8, 0xa7, 0x02,\n          0x03, 0x8b, 0x27, 0x4e, 0xae, 0xa3, 0xf4,
        0xe4,\n          0xbe, 0x9d, 0x91, 0x4e, 0xeb, 0x61, 0xf1, 0x70,\n          0x2e,
        0x69, 0x6c, 0x20, 0x3a, 0x12, 0x68, 0x54 } },\n\n      { \"data-50 key-20\",\n
        \       \"\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\"\n
        \       \"\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\"\n
        \       \"\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\"\n
        \       \"\\xdd\\xdd\",\n\t\"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\",\n        { 0xfa, 0x73, 0xb0, 0x08, 0x9d,
        0x56, 0xa2, 0x84,\n          0xef, 0xb0, 0xf0, 0x75, 0x6c, 0x89, 0x0b, 0xe9,\n
        \         0xb1, 0xb5, 0xdb, 0xdd, 0x8e, 0xe8, 0x1a, 0x36,\n          0x55,
        0xf8, 0x3e, 0x33, 0xb2, 0x27, 0x9d, 0x39,\n          0xbf, 0x3e, 0x84, 0x82,
        0x79, 0xa7, 0x22, 0xc8,\n          0x06, 0xb4, 0x85, 0xa4, 0x7e, 0x67, 0xc8,
        0x07,\n          0xb9, 0x46, 0xa3, 0x37, 0xbe, 0xe8, 0x94, 0x26,\n          0x74,
        0x27, 0x88, 0x59, 0xe1, 0x32, 0x92, 0xfb } },\n\n      { \"data-50 key-26\",\n
        \       \"\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\"\n
        \       \"\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\"\n
        \       \"\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\"\n
        \       \"\\xcd\\xcd\",\n\t\"\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\x09\\x0a\\x0b\\x0c\\x0d\\x0e\\x0f\\x10\"\n
        \       \"\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\",\n        { 0xb0,
        0xba, 0x46, 0x56, 0x37, 0x45, 0x8c, 0x69,\n          0x90, 0xe5, 0xa8, 0xc5,
        0xf6, 0x1d, 0x4a, 0xf7,\n          0xe5, 0x76, 0xd9, 0x7f, 0xf9, 0x4b, 0x87,
        0x2d,\n          0xe7, 0x6f, 0x80, 0x50, 0x36, 0x1e, 0xe3, 0xdb,\n          0xa9,
        0x1c, 0xa5, 0xc1, 0x1a, 0xa2, 0x5e, 0xb4,\n          0xd6, 0x79, 0x27, 0x5c,
        0xc5, 0x78, 0x80, 0x63,\n          0xa5, 0xf1, 0x97, 0x41, 0x12, 0x0c, 0x4f,
        0x2d,\n          0xe2, 0xad, 0xeb, 0xeb, 0x10, 0xa2, 0x98, 0xdd } },\n\n      {
        \"data-54 key-131\",\n        \"Test Using Larger Than Block-Size Key - Hash
        Key First\",\n\t\"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\",\n        { 0x80, 0xb2, 0x42, 0x63, 0xc7, 0xc1,
        0xa3, 0xeb,\n          0xb7, 0x14, 0x93, 0xc1, 0xdd, 0x7b, 0xe8, 0xb4,\n          0x9b,
        0x46, 0xd1, 0xf4, 0x1b, 0x4a, 0xee, 0xc1,\n          0x12, 0x1b, 0x01, 0x37,
        0x83, 0xf8, 0xf3, 0x52,\n          0x6b, 0x56, 0xd0, 0x37, 0xe0, 0x5f, 0x25,
        0x98,\n          0xbd, 0x0f, 0xd2, 0x21, 0x5d, 0x6a, 0x1e, 0x52,\n          0x95,
        0xe6, 0x4f, 0x73, 0xf6, 0x3f, 0x0a, 0xec,\n          0x8b, 0x91, 0x5a, 0x98,
        0x5d, 0x78, 0x65, 0x98 } },\n\n      { \"data-152 key-131\",\n        \"This
        is a test using a larger than block-size key and a larger \"\n        \"than
        block-size data. The key needs to be hashed before being \"\n        \"used
        by the HMAC algorithm.\",\n\t\"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\",\n        { 0xe3, 0x7b, 0x6a, 0x77, 0x5d, 0xc8,
        0x7d, 0xba,\n          0xa4, 0xdf, 0xa9, 0xf9, 0x6e, 0x5e, 0x3f, 0xfd,\n          0xde,
        0xbd, 0x71, 0xf8, 0x86, 0x72, 0x89, 0x86,\n          0x5d, 0xf5, 0xa3, 0x2d,
        0x20, 0xcd, 0xc9, 0x44,\n          0xb6, 0x02, 0x2c, 0xac, 0x3c, 0x49, 0x82,
        0xb1,\n          0x0d, 0x5e, 0xeb, 0x55, 0xc3, 0xe4, 0xde, 0x15,\n          0x13,
        0x46, 0x76, 0xfb, 0x6d, 0xe0, 0x44, 0x60,\n          0x65, 0xc9, 0x74, 0x40,
        0xfa, 0x8c, 0x6a, 0x58 } },\n\n      { NULL }\n    }"
      pos:
        line_end: 720
        line_start: 714
        source_file: /src/libgcrypt/cipher/mac-hmac.c
    - fields:
      - name: '* const desc'
        type: char
      - name: '* const data'
        type: char
      - name: '* const key'
        type: char
      - name: expect_224[28]
        type: char
      - name: expect_256[32]
        type: char
      - name: expect_384[48]
        type: char
      - name: expect_512[64]
        type: char
      - name: trunc
        type: unsigned char
      item_type: struct
      name: "tv[] =\n    {\n      { \"data-9 key-20\", /* Test 1 */\n        \"Hi
        There\",\n\t\"\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\\x0b\"\n
        \       \"\\x0b\\x0b\\x0b\\x0b\",\n\n        { 0x3b, 0x16, 0x54, 0x6b, 0xbc,
        0x7b, 0xe2, 0x70,\n          0x6a, 0x03, 0x1d, 0xca, 0xfd, 0x56, 0x37, 0x3d,\n
        \         0x98, 0x84, 0x36, 0x76, 0x41, 0xd8, 0xc5, 0x9a,\n          0xf3,
        0xc8, 0x60, 0xf7                          },\n        { 0xba, 0x85, 0x19,
        0x23, 0x10, 0xdf, 0xfa, 0x96,\n          0xe2, 0xa3, 0xa4, 0x0e, 0x69, 0x77,
        0x43, 0x51,\n          0x14, 0x0b, 0xb7, 0x18, 0x5e, 0x12, 0x02, 0xcd,\n          0xcc,
        0x91, 0x75, 0x89, 0xf9, 0x5e, 0x16, 0xbb  },\n        { 0x68, 0xd2, 0xdc,
        0xf7, 0xfd, 0x4d, 0xdd, 0x0a,\n          0x22, 0x40, 0xc8, 0xa4, 0x37, 0x30,
        0x5f, 0x61,\n          0xfb, 0x73, 0x34, 0xcf, 0xb5, 0xd0, 0x22, 0x6e,\n          0x1b,
        0xc2, 0x7d, 0xc1, 0x0a, 0x2e, 0x72, 0x3a,\n          0x20, 0xd3, 0x70, 0xb4,
        0x77, 0x43, 0x13, 0x0e,\n          0x26, 0xac, 0x7e, 0x3d, 0x53, 0x28, 0x86,
        0xbd  },\n        { 0xeb, 0x3f, 0xbd, 0x4b, 0x2e, 0xaa, 0xb8, 0xf5,\n          0xc5,
        0x04, 0xbd, 0x3a, 0x41, 0x46, 0x5a, 0xac,\n          0xec, 0x15, 0x77, 0x0a,
        0x7c, 0xab, 0xac, 0x53,\n          0x1e, 0x48, 0x2f, 0x86, 0x0b, 0x5e, 0xc7,
        0xba,\n          0x47, 0xcc, 0xb2, 0xc6, 0xf2, 0xaf, 0xce, 0x8f,\n          0x88,
        0xd2, 0x2b, 0x6d, 0xc6, 0x13, 0x80, 0xf2,\n          0x3a, 0x66, 0x8f, 0xd3,
        0x88, 0x8b, 0xb8, 0x05,\n          0x37, 0xc0, 0xa0, 0xb8, 0x64, 0x07, 0x68,
        0x9e  }\n      },\n\n      { \"data-28 key-4\",  /* Test 2  */\n        /*
        Test with a key shorter than the length of the HMAC output. */\n        \"what
        do ya want for nothing?\",\n        \"Jefe\",\n\n        { 0x7f, 0xdb, 0x8d,
        0xd8, 0x8b, 0xd2, 0xf6, 0x0d,\n          0x1b, 0x79, 0x86, 0x34, 0xad, 0x38,
        0x68, 0x11,\n          0xc2, 0xcf, 0xc8, 0x5b, 0xfa, 0xf5, 0xd5, 0x2b,\n          0xba,
        0xce, 0x5e, 0x66                          },\n        { 0xc7, 0xd4, 0x07,
        0x2e, 0x78, 0x88, 0x77, 0xae,\n          0x35, 0x96, 0xbb, 0xb0, 0xda, 0x73,
        0xb8, 0x87,\n          0xc9, 0x17, 0x1f, 0x93, 0x09, 0x5b, 0x29, 0x4a,\n          0xe8,
        0x57, 0xfb, 0xe2, 0x64, 0x5e, 0x1b, 0xa5  },\n        { 0xf1, 0x10, 0x1f,
        0x8c, 0xbf, 0x97, 0x66, 0xfd,\n          0x67, 0x64, 0xd2, 0xed, 0x61, 0x90,
        0x3f, 0x21,\n          0xca, 0x9b, 0x18, 0xf5, 0x7c, 0xf3, 0xe1, 0xa2,\n          0x3c,
        0xa1, 0x35, 0x08, 0xa9, 0x32, 0x43, 0xce,\n          0x48, 0xc0, 0x45, 0xdc,
        0x00, 0x7f, 0x26, 0xa2,\n          0x1b, 0x3f, 0x5e, 0x0e, 0x9d, 0xf4, 0xc2,
        0x0a  },\n        { 0x5a, 0x4b, 0xfe, 0xab, 0x61, 0x66, 0x42, 0x7c,\n          0x7a,
        0x36, 0x47, 0xb7, 0x47, 0x29, 0x2b, 0x83,\n          0x84, 0x53, 0x7c, 0xdb,
        0x89, 0xaf, 0xb3, 0xbf,\n          0x56, 0x65, 0xe4, 0xc5, 0xe7, 0x09, 0x35,
        0x0b,\n          0x28, 0x7b, 0xae, 0xc9, 0x21, 0xfd, 0x7c, 0xa0,\n          0xee,
        0x7a, 0x0c, 0x31, 0xd0, 0x22, 0xa9, 0x5e,\n          0x1f, 0xc9, 0x2b, 0xa9,
        0xd7, 0x7d, 0xf8, 0x83,\n          0x96, 0x02, 0x75, 0xbe, 0xb4, 0xe6, 0x20,
        0x24  }\n      },\n\n      { \"data-50 key-20\",  /* Test 3 */\n        /*
        Test with a combined length of key and data that is larger\n         * than
        64 bytes (= block-size of SHA-224 and SHA-256).  */\n        \"\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\"\n
        \       \"\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\"\n
        \       \"\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\\xdd\"\n
        \       \"\\xdd\\xdd\",\n        \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\",\n\n        { 0x67, 0x6c, 0xfc, 0x7d, 0x16,
        0x15, 0x36, 0x38,\n          0x78, 0x03, 0x90, 0x69, 0x2b, 0xe1, 0x42, 0xd2,\n
        \         0xdf, 0x7c, 0xe9, 0x24, 0xb9, 0x09, 0xc0, 0xc0,\n          0x8d,
        0xbf, 0xdc, 0x1a  },\n        { 0x84, 0xec, 0x79, 0x12, 0x4a, 0x27, 0x10,
        0x78,\n          0x65, 0xce, 0xdd, 0x8b, 0xd8, 0x2d, 0xa9, 0x96,\n          0x5e,
        0x5e, 0xd8, 0xc3, 0x7b, 0x0a, 0xc9, 0x80,\n          0x05, 0xa7, 0xf3, 0x9e,
        0xd5, 0x8a, 0x42, 0x07  },\n        { 0x27, 0x5c, 0xd0, 0xe6, 0x61, 0xbb,
        0x8b, 0x15,\n          0x1c, 0x64, 0xd2, 0x88, 0xf1, 0xf7, 0x82, 0xfb,\n          0x91,
        0xa8, 0xab, 0xd5, 0x68, 0x58, 0xd7, 0x2b,\n          0xab, 0xb2, 0xd4, 0x76,
        0xf0, 0x45, 0x83, 0x73,\n          0xb4, 0x1b, 0x6a, 0xb5, 0xbf, 0x17, 0x4b,
        0xec,\n          0x42, 0x2e, 0x53, 0xfc, 0x31, 0x35, 0xac, 0x6e  },\n        {
        0x30, 0x9e, 0x99, 0xf9, 0xec, 0x07, 0x5e, 0xc6,\n          0xc6, 0xd4, 0x75,
        0xed, 0xa1, 0x18, 0x06, 0x87,\n          0xfc, 0xf1, 0x53, 0x11, 0x95, 0x80,
        0x2a, 0x99,\n          0xb5, 0x67, 0x74, 0x49, 0xa8, 0x62, 0x51, 0x82,\n          0x85,
        0x1c, 0xb3, 0x32, 0xaf, 0xb6, 0xa8, 0x9c,\n          0x41, 0x13, 0x25, 0xfb,
        0xcb, 0xcd, 0x42, 0xaf,\n          0xcb, 0x7b, 0x6e, 0x5a, 0xab, 0x7e, 0xa4,
        0x2c,\n          0x66, 0x0f, 0x97, 0xfd, 0x85, 0x84, 0xbf, 0x03  }\n      },\n\n
        \     { \"data-50 key-25\",  /* Test 4 */\n        /* Test with a combined
        length of key and data that is larger\n         * than 64 bytes (= block-size
        of SHA-224 and SHA-256).  */\n        \"\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\"\n
        \       \"\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\"\n
        \       \"\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\\xcd\"\n
        \       \"\\xcd\\xcd\",\n        \"\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\x09\\x0a\\x0b\\x0c\\x0d\\x0e\\x0f\\x10\"\n
        \       \"\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\",\n\n        { 0xa9,
        0xd7, 0x68, 0x5a, 0x19, 0xc4, 0xe0, 0xdb,\n          0xd9, 0xdf, 0x25, 0x56,
        0xcc, 0x8a, 0x7d, 0x2a,\n          0x77, 0x33, 0xb6, 0x76, 0x25, 0xce, 0x59,
        0x4c,\n          0x78, 0x27, 0x0e, 0xeb   },\n        { 0x57, 0x36, 0x6a,
        0x45, 0xe2, 0x30, 0x53, 0x21,\n          0xa4, 0xbc, 0x5a, 0xa5, 0xfe, 0x2e,
        0xf8, 0xa9,\n          0x21, 0xf6, 0xaf, 0x82, 0x73, 0xd7, 0xfe, 0x7b,\n          0xe6,
        0xcf, 0xed, 0xb3, 0xf0, 0xae, 0xa6, 0xd7  },\n        { 0x3a, 0x5d, 0x7a,
        0x87, 0x97, 0x02, 0xc0, 0x86,\n          0xbc, 0x96, 0xd1, 0xdd, 0x8a, 0xa1,
        0x5d, 0x9c,\n          0x46, 0x44, 0x6b, 0x95, 0x52, 0x13, 0x11, 0xc6,\n          0x06,
        0xfd, 0xc4, 0xe3, 0x08, 0xf4, 0xb9, 0x84,\n          0xda, 0x2d, 0x0f, 0x94,
        0x49, 0xb3, 0xba, 0x84,\n          0x25, 0xec, 0x7f, 0xb8, 0xc3, 0x1b, 0xc1,
        0x36  },\n        { 0xb2, 0x7e, 0xab, 0x1d, 0x6e, 0x8d, 0x87, 0x46,\n          0x1c,
        0x29, 0xf7, 0xf5, 0x73, 0x9d, 0xd5, 0x8e,\n          0x98, 0xaa, 0x35, 0xf8,
        0xe8, 0x23, 0xad, 0x38,\n          0xc5, 0x49, 0x2a, 0x20, 0x88, 0xfa, 0x02,
        0x81,\n          0x99, 0x3b, 0xbf, 0xff, 0x9a, 0x0e, 0x9c, 0x6b,\n          0xf1,
        0x21, 0xae, 0x9e, 0xc9, 0xbb, 0x09, 0xd8,\n          0x4a, 0x5e, 0xba, 0xc8,
        0x17, 0x18, 0x2e, 0xa9,\n          0x74, 0x67, 0x3f, 0xb1, 0x33, 0xca, 0x0d,
        0x1d  }\n      },\n\n      { \"data-20 key-20 trunc\",  /* Test 5 */\n        /*
        Test with a truncation of output to 128 bits.  */\n        \"Test With Truncation\",\n
        \       \"\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\"\n
        \       \"\\x0c\\x0c\\x0c\\x0c\",\n\n        { 0x49, 0xfd, 0xd3, 0xab, 0xd0,
        0x05, 0xeb, 0xb8,\n          0xae, 0x63, 0xfe, 0xa9, 0x46, 0xd1, 0x88, 0x3c
        \ },\n        { 0x6e, 0x02, 0xc6, 0x45, 0x37, 0xfb, 0x11, 0x80,\n          0x57,
        0xab, 0xb7, 0xfb, 0x66, 0xa2, 0x3b, 0x3c  },\n        { 0x47, 0xc5, 0x1a,
        0xce, 0x1f, 0xfa, 0xcf, 0xfd,\n          0x74, 0x94, 0x72, 0x46, 0x82, 0x61,
        0x57, 0x83  },\n        { 0x0f, 0xa7, 0x47, 0x59, 0x48, 0xf4, 0x3f, 0x48,\n
        \         0xca, 0x05, 0x16, 0x67, 0x1e, 0x18, 0x97, 0x8c  },\n        16\n
        \     },\n\n      { \"data-54 key-131\",  /* Test 6 */\n        /* Test with
        a key larger than 128 bytes (= block-size of\n         * SHA-384 and SHA-512).
        \ */\n        \"Test Using Larger Than Block-Size Key - Hash Key First\",\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\",\n\n        { 0xb4, 0xa1, 0xf0, 0x4c, 0x00, 0x28,
        0x7a, 0x9b,\n          0x7f, 0x60, 0x75, 0xb3, 0x13, 0xd2, 0x79, 0xb8,\n          0x33,
        0xbc, 0x8f, 0x75, 0x12, 0x43, 0x52, 0xd0,\n          0x5f, 0xb9, 0x99, 0x5f
        \ },\n        { 0xed, 0x73, 0xa3, 0x74, 0xb9, 0x6c, 0x00, 0x52,\n          0x35,
        0xf9, 0x48, 0x03, 0x2f, 0x09, 0x67, 0x4a,\n          0x58, 0xc0, 0xce, 0x55,
        0x5c, 0xfc, 0x1f, 0x22,\n          0x3b, 0x02, 0x35, 0x65, 0x60, 0x31, 0x2c,
        0x3b  },\n        { 0x0f, 0xc1, 0x95, 0x13, 0xbf, 0x6b, 0xd8, 0x78,\n          0x03,
        0x70, 0x16, 0x70, 0x6a, 0x0e, 0x57, 0xbc,\n          0x52, 0x81, 0x39, 0x83,
        0x6b, 0x9a, 0x42, 0xc3,\n          0xd4, 0x19, 0xe4, 0x98, 0xe0, 0xe1, 0xfb,
        0x96,\n          0x16, 0xfd, 0x66, 0x91, 0x38, 0xd3, 0x3a, 0x11,\n          0x05,
        0xe0, 0x7c, 0x72, 0xb6, 0x95, 0x3b, 0xcc  },\n        { 0x00, 0xf7, 0x51,
        0xa9, 0xe5, 0x06, 0x95, 0xb0,\n          0x90, 0xed, 0x69, 0x11, 0xa4, 0xb6,
        0x55, 0x24,\n          0x95, 0x1c, 0xdc, 0x15, 0xa7, 0x3a, 0x5d, 0x58,\n          0xbb,
        0x55, 0x21, 0x5e, 0xa2, 0xcd, 0x83, 0x9a,\n          0xc7, 0x9d, 0x2b, 0x44,
        0xa3, 0x9b, 0xaf, 0xab,\n          0x27, 0xe8, 0x3f, 0xde, 0x9e, 0x11, 0xf6,
        0x34,\n          0x0b, 0x11, 0xd9, 0x91, 0xb1, 0xb9, 0x1b, 0xf2,\n          0xee,
        0xe7, 0xfc, 0x87, 0x24, 0x26, 0xc3, 0xa4  }\n      },\n\n      { \"data-54
        key-147\",  /* Test 6a */\n        /* Test with a key larger than 144 bytes
        (= block-size of\n         * SHA3-224).  */\n        \"Test Using Larger Than
        Block-Size Key - Hash Key First\",\n        \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\",\n\n        { 0xb9, 0x6d, 0x73, 0x0c, 0x14, 0x8c,
        0x2d, 0xaa,\n          0xd8, 0x64, 0x9d, 0x83, 0xde, 0xfa, 0xa3, 0x71,\n          0x97,
        0x38, 0xd3, 0x47, 0x75, 0x39, 0x7b, 0x75,\n          0x71, 0xc3, 0x85, 0x15
        \ },\n        { 0xa6, 0x07, 0x2f, 0x86, 0xde, 0x52, 0xb3, 0x8b,\n          0xb3,
        0x49, 0xfe, 0x84, 0xcd, 0x6d, 0x97, 0xfb,\n          0x6a, 0x37, 0xc4, 0xc0,
        0xf6, 0x2a, 0xae, 0x93,\n          0x98, 0x11, 0x93, 0xa7, 0x22, 0x9d, 0x34,
        0x67  },\n        { 0x71, 0x3d, 0xff, 0x03, 0x02, 0xc8, 0x50, 0x86,\n          0xec,
        0x5a, 0xd0, 0x76, 0x8d, 0xd6, 0x5a, 0x13,\n          0xdd, 0xd7, 0x90, 0x68,
        0xd8, 0xd4, 0xc6, 0x21,\n          0x2b, 0x71, 0x2e, 0x41, 0x64, 0x94, 0x49,
        0x11,\n          0x14, 0x80, 0x23, 0x00, 0x44, 0x18, 0x5a, 0x99,\n          0x10,
        0x3e, 0xd8, 0x20, 0x04, 0xdd, 0xbf, 0xcc  },\n        { 0xb1, 0x48, 0x35,
        0xc8, 0x19, 0xa2, 0x90, 0xef,\n          0xb0, 0x10, 0xac, 0xe6, 0xd8, 0x56,
        0x8d, 0xc6,\n          0xb8, 0x4d, 0xe6, 0x0b, 0xc4, 0x9b, 0x00, 0x4c,\n          0x3b,
        0x13, 0xed, 0xa7, 0x63, 0x58, 0x94, 0x51,\n          0xe5, 0xdd, 0x74, 0x29,
        0x28, 0x84, 0xd1, 0xbd,\n          0xce, 0x64, 0xe6, 0xb9, 0x19, 0xdd, 0x61,
        0xdc,\n          0x9c, 0x56, 0xa2, 0x82, 0xa8, 0x1c, 0x0b, 0xd1,\n          0x4f,
        0x1f, 0x36, 0x5b, 0x49, 0xb8, 0x3a, 0x5b  }\n      },\n\n      { \"data-152
        key-131\",  /* Test 7  */\n        /* Test with a key and data that is larger
        than 128 bytes (=\n         * block-size of SHA-384 and SHA-512).  */\n        \"This
        is a test using a larger than block-size key and a larger \"\n        \"than
        block-size data. The key needs to be hashed before being \"\n        \"used
        by the HMAC algorithm.\",\n        \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\",\n\n        { 0x05, 0xd8, 0xcd, 0x6d, 0x00, 0xfa,
        0xea, 0x8d,\n          0x1e, 0xb6, 0x8a, 0xde, 0x28, 0x73, 0x0b, 0xbd,\n          0x3c,
        0xba, 0xb6, 0x92, 0x9f, 0x0a, 0x08, 0x6b,\n          0x29, 0xcd, 0x62, 0xa0
        \ },\n        { 0x65, 0xc5, 0xb0, 0x6d, 0x4c, 0x3d, 0xe3, 0x2a,\n          0x7a,
        0xef, 0x87, 0x63, 0x26, 0x1e, 0x49, 0xad,\n          0xb6, 0xe2, 0x29, 0x3e,
        0xc8, 0xe7, 0xc6, 0x1e,\n          0x8d, 0xe6, 0x17, 0x01, 0xfc, 0x63, 0xe1,
        0x23  },\n        { 0x02, 0x6f, 0xdf, 0x6b, 0x50, 0x74, 0x1e, 0x37,\n          0x38,
        0x99, 0xc9, 0xf7, 0xd5, 0x40, 0x6d, 0x4e,\n          0xb0, 0x9f, 0xc6, 0x66,
        0x56, 0x36, 0xfc, 0x1a,\n          0x53, 0x00, 0x29, 0xdd, 0xf5, 0xcf, 0x3c,
        0xa5,\n          0xa9, 0x00, 0xed, 0xce, 0x01, 0xf5, 0xf6, 0x1e,\n          0x2f,
        0x40, 0x8c, 0xdf, 0x2f, 0xd3, 0xe7, 0xe8  },\n        { 0x38, 0xa4, 0x56,
        0xa0, 0x04, 0xbd, 0x10, 0xd3,\n          0x2c, 0x9a, 0xb8, 0x33, 0x66, 0x84,
        0x11, 0x28,\n          0x62, 0xc3, 0xdb, 0x61, 0xad, 0xcc, 0xa3, 0x18,\n          0x29,
        0x35, 0x5e, 0xaf, 0x46, 0xfd, 0x5c, 0x73,\n          0xd0, 0x6a, 0x1f, 0x0d,
        0x13, 0xfe, 0xc9, 0xa6,\n          0x52, 0xfb, 0x38, 0x11, 0xb5, 0x77, 0xb1,
        0xb1,\n          0xd1, 0xb9, 0x78, 0x9f, 0x97, 0xae, 0x5b, 0x83,\n          0xc6,
        0xf4, 0x4d, 0xfc, 0xf1, 0xd6, 0x7e, 0xba  }\n      },\n\n      { \"data-152
        key-147\",  /* Test 7a  */\n        /* Test with a key larger than 144 bytes
        (= block-size of\n         * SHA3-224). */\n        \"This is a test using
        a larger than block-size key and a larger \"\n        \"than block-size data.
        The key needs to be hashed before being \"\n        \"used by the HMAC algorithm.\",\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\\xaa\"\n
        \       \"\\xaa\\xaa\\xaa\",\n\n        { 0xc7, 0x9c, 0x9b, 0x09, 0x34, 0x24,
        0xe5, 0x88,\n          0xa9, 0x87, 0x8b, 0xbc, 0xb0, 0x89, 0xe0, 0x18,\n          0x27,
        0x00, 0x96, 0xe9, 0xb4, 0xb1, 0xa9, 0xe8,\n          0x22, 0x0c, 0x86, 0x6a
        \ },\n        { 0xe6, 0xa3, 0x6d, 0x9b, 0x91, 0x5f, 0x86, 0xa0,\n          0x93,
        0xca, 0xc7, 0xd1, 0x10, 0xe9, 0xe0, 0x4c,\n          0xf1, 0xd6, 0x10, 0x0d,
        0x30, 0x47, 0x55, 0x09,\n          0xc2, 0x47, 0x5f, 0x57, 0x1b, 0x75, 0x8b,
        0x5a  },\n        { 0xca, 0xd1, 0x8a, 0x8f, 0xf6, 0xc4, 0xcc, 0x3a,\n          0xd4,
        0x87, 0xb9, 0x5f, 0x97, 0x69, 0xe9, 0xb6,\n          0x1c, 0x06, 0x2a, 0xef,
        0xd6, 0x95, 0x25, 0x69,\n          0xe6, 0xe6, 0x42, 0x18, 0x97, 0x05, 0x4c,
        0xfc,\n          0x70, 0xb5, 0xfd, 0xc6, 0x60, 0x5c, 0x18, 0x45,\n          0x71,
        0x12, 0xfc, 0x6a, 0xaa, 0xd4, 0x55, 0x85  },\n        { 0xdc, 0x03, 0x0e,
        0xe7, 0x88, 0x70, 0x34, 0xf3,\n          0x2c, 0xf4, 0x02, 0xdf, 0x34, 0x62,
        0x2f, 0x31,\n          0x1f, 0x3e, 0x6c, 0xf0, 0x48, 0x60, 0xc6, 0xbb,\n          0xd7,
        0xfa, 0x48, 0x86, 0x74, 0x78, 0x2b, 0x46,\n          0x59, 0xfd, 0xbd, 0xf3,
        0xfd, 0x87, 0x78, 0x52,\n          0x88, 0x5c, 0xfe, 0x6e, 0x22, 0x18, 0x5f,
        0xe7,\n          0xb2, 0xee, 0x95, 0x20, 0x43, 0x62, 0x9b, 0xc9,\n          0xd5,
        0xf3, 0x29, 0x8a, 0x41, 0xd0, 0x2c, 0x66  }\n      }/*,*/\n\n      /* Our
        API does not allow specifying a bit count and thus we\n       * can't use
        the following test.  */\n      /* { \"data-5bit key-4\",  /\\* Test 8  *\\/
        */\n      /*   /\\* Test with data bit size no multiple of 8, the data bits
        are */\n      /*    * '11001' from the NIST example using SHA-3 order (= 5
        bits */\n      /*    * from LSB hex byte 13 or 5 bits from MSB hex byte c8).
        \ *\\/ */\n      /*   \"\\xc8\", */\n      /*   \"Jefe\", */\n\n      /*   {
        0x5f, 0x8c, 0x0e, 0xa7, 0xfa, 0xfe, 0xcd, 0x0c, */\n      /*     0x34, 0x63,
        0xaa, 0xd0, 0x97, 0x42, 0xce, 0xce, */\n      /*     0xb1, 0x42, 0xfe, 0x0a,
        0xb6, 0xf4, 0x53, 0x94, */\n      /*     0x38, 0xc5, 0x9d, 0xe8  }, */\n      /*
        \  { 0xec, 0x82, 0x22, 0x77, 0x3f, 0xac, 0x68, 0xb3, */\n      /*     0xd3,
        0xdc, 0xb1, 0x82, 0xae, 0xc8, 0xb0, 0x50, */\n      /*     0x7a, 0xce, 0x44,
        0x48, 0xd2, 0x0a, 0x11, 0x47, */\n      /*     0xe6, 0x82, 0x11, 0x8d, 0xa4,
        0xe3, 0xf4, 0x4c  }, */\n      /*   { 0x21, 0xfb, 0xd3, 0xbf, 0x3e, 0xbb,
        0xa3, 0xcf, */\n      /*     0xc9, 0xef, 0x64, 0xc0, 0x59, 0x1c, 0x92, 0xc5,
        */\n      /*     0xac, 0xb2, 0x65, 0xe9, 0x2d, 0x87, 0x61, 0xd1, */\n      /*
        \    0xf9, 0x1a, 0x52, 0xa1, 0x03, 0xa6, 0xc7, 0x96, */\n      /*     0x94,
        0xcf, 0xd6, 0x7a, 0x9a, 0x2a, 0xc1, 0x32, */\n      /*     0x4f, 0x02, 0xfe,
        0xa6, 0x3b, 0x81, 0xef, 0xfc  }, */\n      /*   { 0x27, 0xf9, 0x38, 0x8c,
        0x15, 0x67, 0xef, 0x4e, */\n      /*     0xf2, 0x00, 0x60, 0x2a, 0x6c, 0xf8,
        0x71, 0xd6, */\n      /*     0x8a, 0x6f, 0xb0, 0x48, 0xd4, 0x73, 0x7a, 0xc4,
        */\n      /*     0x41, 0x8a, 0x2f, 0x02, 0x12, 0x89, 0xd1, 0x3d, */\n      /*
        \    0x1f, 0xd1, 0x12, 0x0f, 0xec, 0xb9, 0xcf, 0x96, */\n      /*     0x4c,
        0x5b, 0x11, 0x7a, 0xb5, 0xb1, 0x1c, 0x61, */\n      /*     0x4b, 0x2d, 0xa3,
        0x9d, 0xad, 0xd5, 0x1f, 0x2f, */\n      /*     0x5e, 0x22, 0xaa, 0xcc, 0xec,
        0x7d, 0x57, 0x6e  } */\n      /* } */\n\n    }"
      pos:
        line_end: 865
        line_start: 855
        source_file: /src/libgcrypt/cipher/mac-hmac.c
    typedefs: []
    union: []
- function_names:
  - blake2_write
  - blake2b_set_lastblock
  - blake2b_is_lastblock
  - blake2b_increment_counter
  - rotr64
  - blake2b_transform_generic
  - G
  - ROUND
  - blake2b_transform
  - blake2b_final
  - blake2b_read
  - blake2b_write
  - blake2b_init_param
  - blake2b_init
  - blake2b_init_ctx
  - blake2b_vl_hash
  - blake2s_set_lastblock
  - blake2s_is_lastblock
  - blake2s_increment_counter
  - blake2s_transform_generic
  - G
  - ROUND
  - blake2s_transform
  - blake2s_final
  - blake2s_read
  - blake2s_write
  - blake2s_init_param
  - blake2s_init
  - blake2s_init_ctx
  - selftest_seq
  - selftests_blake2b
  - selftests_blake2s
  - _gcry_blake2_init_with_key
  - DEFINE_BLAKE2_VARIANT
  source_file: /src/libgcrypt/cipher/blake2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_AVX
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/cipher/blake2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AVX2
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/cipher/blake2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_AVX512
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libgcrypt/cipher/blake2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ASM_FUNC_ABI
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libgcrypt/cipher/blake2.c
      type_or_value: __attribute__((sysv_abi))
    - item_type: preproc_def
      name: ASM_EXTRA_STACK
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libgcrypt/cipher/blake2.c
      type_or_value: (10 * 16)
    - item_type: preproc_def
      name: ASM_EXTRA_STACK
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libgcrypt/cipher/blake2.c
      type_or_value: '0'
    - item_type: preproc_def
      name: BLAKE2B_BLOCKBYTES
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libgcrypt/cipher/blake2.c
      type_or_value: '128'
    - item_type: preproc_def
      name: BLAKE2B_OUTBYTES
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/libgcrypt/cipher/blake2.c
      type_or_value: '64'
    - item_type: preproc_def
      name: BLAKE2B_KEYBYTES
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libgcrypt/cipher/blake2.c
      type_or_value: '64'
    - item_type: preproc_def
      name: BLAKE2S_BLOCKBYTES
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libgcrypt/cipher/blake2.c
      type_or_value: '64'
    - item_type: preproc_def
      name: BLAKE2S_OUTBYTES
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libgcrypt/cipher/blake2.c
      type_or_value: '32'
    - item_type: preproc_def
      name: BLAKE2S_KEYBYTES
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libgcrypt/cipher/blake2.c
      type_or_value: '32'
    structs:
    - fields:
      - name: h[8]
        type: u64
      - name: t[2]
        type: u64
      - name: f[2]
        type: u64
      item_type: struct
      name: BLAKE2B_STATE
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/libgcrypt/cipher/blake2.c
    - fields:
      - name: digest_length
        type: byte
      - name: key_length
        type: byte
      - name: fanout
        type: byte
      - name: depth
        type: byte
      - name: leaf_length[4]
        type: byte
      - name: node_offset[4]
        type: byte
      - name: xof_length[4]
        type: byte
      - name: node_depth
        type: byte
      - name: inner_length
        type: byte
      - name: reserved[14]
        type: byte
      - name: salt[16]
        type: byte
      - name: personal[16]
        type: byte
      item_type: struct
      name: blake2b_param_s
      pos:
        line_end: 99
        line_start: 85
        source_file: /src/libgcrypt/cipher/blake2.c
    - fields:
      - name: state
        type: BLAKE2B_STATE
      - name: buf[BLAKE2B_BLOCKBYTES]
        type: byte
      - name: buflen
        type: size_t
      - name: outlen
        type: size_t
      item_type: struct
      name: BLAKE2B_CONTEXT_S
      pos:
        line_end: 113
        line_start: 101
        source_file: /src/libgcrypt/cipher/blake2.c
    - fields:
      - name: h[8]
        type: u32
      - name: t[2]
        type: u32
      - name: f[2]
        type: u32
      item_type: struct
      name: BLAKE2S_STATE
      pos:
        line_end: 120
        line_start: 115
        source_file: /src/libgcrypt/cipher/blake2.c
    - fields:
      - name: digest_length
        type: byte
      - name: key_length
        type: byte
      - name: fanout
        type: byte
      - name: depth
        type: byte
      - name: leaf_length[4]
        type: byte
      - name: node_offset[4]
        type: byte
      - name: xof_length[2]
        type: byte
      - name: node_depth
        type: byte
      - name: inner_length
        type: byte
      - name: salt[8]
        type: byte
      - name: personal[8]
        type: byte
      item_type: struct
      name: blake2s_param_s
      pos:
        line_end: 136
        line_start: 122
        source_file: /src/libgcrypt/cipher/blake2.c
    - fields:
      - name: state
        type: BLAKE2S_STATE
      - name: buf[BLAKE2S_BLOCKBYTES]
        type: byte
      - name: buflen
        type: size_t
      - name: outlen
        type: size_t
      item_type: struct
      name: BLAKE2S_CONTEXT_S
      pos:
        line_end: 150
        line_start: 138
        source_file: /src/libgcrypt/cipher/blake2.c
    typedefs:
    - item_type: typedef
      name: "(*blake2_transform_t)(void *S, const void *inblk,\n\t\t\t\t\t   size_t
        nblks)"
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/libgcrypt/cipher/blake2.c
      type: unsigned int
    union: []
- function_names:
  - _gcry_register_pk_elg_progress
  - progress
  - wiener_map
  - test_keys
  - gen_k
  - generate
  - generate_using_x
  - check_secret_key
  - do_encrypt
  - decrypt
  - sign
  - verify
  - elg_generate
  - elg_check_secret_key
  - elg_encrypt
  - elg_decrypt
  - elg_sign
  - elg_verify
  - elg_get_nbits
  source_file: /src/libgcrypt/cipher/elgamal.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_BLINDING
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/cipher/elgamal.c
      type_or_value: '1'
    structs:
    - fields:
      - name: p
        type: gcry_mpi_t
      - name: g
        type: gcry_mpi_t
      - name: y
        type: gcry_mpi_t
      item_type: struct
      name: ELG_public_key
      pos:
        line_end: 47
        line_start: 42
        source_file: /src/libgcrypt/cipher/elgamal.c
    - fields:
      - name: p
        type: gcry_mpi_t
      - name: g
        type: gcry_mpi_t
      - name: y
        type: gcry_mpi_t
      - name: x
        type: gcry_mpi_t
      item_type: struct
      name: ELG_secret_key
      pos:
        line_end: 56
        line_start: 50
        source_file: /src/libgcrypt/cipher/elgamal.c
    - fields:
      - name: p_n
        type: unsigned int
      item_type: struct
      name: "t[] =\n    { /*   p\t  q\t attack cost */\n      {  512, 119 },\t/* 9
        x 10^17 */\n      {  768, 145 },\t/* 6 x 10^21 */\n      { 1024, 165 },\t/*
        7 x 10^24 */\n      { 1280, 183 },\t/* 3 x 10^27 */\n      { 1536, 198 },\t/*
        7 x 10^29 */\n      { 1792, 212 },\t/* 9 x 10^31 */\n      { 2048, 225 },\t/*
        8 x 10^33 */\n      { 2304, 237 },\t/* 5 x 10^35 */\n      { 2560, 249 },\t/*
        3 x 10^37 */\n      { 2816, 259 },\t/* 1 x 10^39 */\n      { 3072, 269 },\t/*
        3 x 10^40 */\n      { 3328, 279 },\t/* 8 x 10^41 */\n      { 3584, 288 },\t/*
        2 x 10^43 */\n      { 3840, 296 },\t/* 4 x 10^44 */\n      { 4096, 305 },\t/*
        7 x 10^45 */\n      { 4352, 313 },\t/* 1 x 10^47 */\n      { 4608, 320 },\t/*
        2 x 10^48 */\n      { 4864, 328 },\t/* 2 x 10^49 */\n      { 5120, 335 },\t/*
        3 x 10^50 */\n      { 0, 0 }\n    }"
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/libgcrypt/cipher/elgamal.c
    typedefs: []
    union: []
- function_names:
  - do_init
  - tiger_init
  - tiger1_init
  - tiger2_init
  - tiger_round
  - pass
  - key_schedule
  - transform_blk
  - transform
  - tiger_final
  - X
  - Y
  - tiger_read
  source_file: /src/libgcrypt/cipher/tiger.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bctx
        type: gcry_md_block_ctx_t
      - name: a
        type: u64
      - name: variant
        type: int
      item_type: struct
      name: TIGER_CONTEXT
      pos:
        line_end: 38
        line_start: 33
        source_file: /src/libgcrypt/cipher/tiger.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/cipher/gost-sb.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*oid'
        type: char
      - name: '*sbox'
        type: u32
      - name: keymeshing
        type: int
      item_type: struct
      name: "gost_oid_map[] = {\n  { \"1.2.643.2.2.30.0\", sbox_test_3411, 0 },\n
        \ { \"1.2.643.2.2.30.1\", sbox_CryptoPro_3411, 0 },\n  { \"1.2.643.2.2.31.0\",
        sbox_Test_89, 0 },\n  { \"1.2.643.2.2.31.1\", sbox_CryptoPro_A, 1 },\n  {
        \"1.2.643.2.2.31.2\", sbox_CryptoPro_B, 1 },\n  { \"1.2.643.2.2.31.3\", sbox_CryptoPro_C,
        1 },\n  { \"1.2.643.2.2.31.4\", sbox_CryptoPro_D, 1 },\n  { \"1.2.643.7.1.2.5.1.1\",
        sbox_TC26_Z, 1 },\n  { NULL, NULL, 0 }\n}"
      pos:
        line_end: 2117
        line_start: 2112
        source_file: /src/libgcrypt/cipher/gost-sb.h
    typedefs: []
    union: []
- function_names:
  - jent_zalloc
  - jent_get_nstime
  - jent_zfree
  - jent_fips_enabled
  - jent_memset_secure
  - jent_ncpu
  - jent_get_cachesize
  - jent_get_cachesize
  - jent_cache_size_roundup
  - jent_cache_size_roundup
  - jent_yield
  source_file: /src/libgcrypt/random/jitterentropy-base-user.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: JENT_CPU_JITTERENTROPY_SECURE_MEMORY
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libgcrypt/random/jitterentropy-base-user.h
      type_or_value: '1'
    - item_type: preproc_def
      name: JENT_SYSFS_CACHE_DIR
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/libgcrypt/random/jitterentropy-base-user.h
      type_or_value: '"/sys/devices/system/cpu/cpu0/cache"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/random/jitterentropy-noise.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - jent_notime_init
  - jent_notime_fini
  - jent_notime_start
  - jent_notime_stop
  - jent_notime_block_switch
  - jent_notime_sample_timer
  - jent_notime_settick
  - jent_notime_unsettick
  - jent_get_nstime_internal
  - jent_notime_enable_thread
  - jent_notime_disable
  - jent_notime_enable
  - jent_notime_switch
  - jent_notime_force
  - jent_notime_forced
  source_file: /src/libgcrypt/random/jitterentropy-timer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - jent_lag_init
  - jent_lag_reset
  - JENT_LAG_HISTORY
  - jent_lag_insert
  - jent_delta2
  - jent_delta3
  - jent_lag_insert
  - jent_delta2
  - jent_delta3
  - jent_apt_init
  - jent_apt_reset
  - jent_apt_insert
  - jent_rct_insert
  - jent_stuck
  - jent_health_failure
  source_file: /src/libgcrypt/random/jitterentropy-health.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - JENT_FLAGS_TO_MAX_MEMSIZE
  - JENT_MAX_MEMSIZE_TO_FLAGS
  - ARRAY_SIZE
  - JENT_STUCK_INIT_THRES
  - jent_notime_init
  - jent_notime_fini
  source_file: /src/libgcrypt/random/jitterentropy.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA3_256_SIZE_DIGEST_BITS
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '256'
    - item_type: preproc_def
      name: SHA3_256_SIZE_DIGEST
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: (SHA3_256_SIZE_DIGEST_BITS >> 3)
    - item_type: preproc_def
      name: ENTROPY_SAFETY_FACTOR
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '64'
    - item_type: preproc_def
      name: DATA_SIZE_BITS
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: (SHA3_256_SIZE_DIGEST_BITS)
    - item_type: preproc_def
      name: JENT_MEMORY_BITS
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '17'
    - item_type: preproc_def
      name: JENT_MEMORY_SIZE
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: (UINT32_C(1)<<JENT_MEMORY_BITS)
    - item_type: preproc_def
      name: JENT_MEMORY_BLOCKS
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '512'
    - item_type: preproc_def
      name: JENT_MEMORY_BLOCKSIZE
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '128'
    - item_type: preproc_def
      name: JENT_MEMORY_SIZE
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: (JENT_MEMORY_BLOCKS*JENT_MEMORY_BLOCKSIZE)
    - item_type: preproc_def
      name: JENT_MEMORY_ACCESSLOOPS
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '128'
    - item_type: preproc_def
      name: JENT_APT_WINDOW_SIZE
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: "512\t"
    - item_type: preproc_def
      name: JENT_LAG_WINDOW_SIZE
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: (1U<<17)
    - item_type: preproc_def
      name: JENT_LAG_HISTORY_SIZE
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '8'
    - item_type: preproc_def
      name: JENT_LAG_MASK
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: (JENT_LAG_HISTORY_SIZE - 1)
    - item_type: preproc_def
      name: JENT_DISABLE_STIR
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: "(1<<0) \t"
    - item_type: preproc_def
      name: JENT_DISABLE_UNBIAS
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: "(1<<1) \t"
    - item_type: preproc_def
      name: JENT_DISABLE_MEMORY_ACCESS
      pos:
        line_end: 302
        line_start: 299
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '(1<<2) '
    - item_type: preproc_def
      name: JENT_FORCE_INTERNAL_TIMER
      pos:
        line_end: 304
        line_start: 302
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '(1<<3)  '
    - item_type: preproc_def
      name: JENT_DISABLE_INTERNAL_TIMER
      pos:
        line_end: 306
        line_start: 304
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '(1<<4)  '
    - item_type: preproc_def
      name: JENT_FORCE_FIPS
      pos:
        line_end: 309
        line_start: 306
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: "(1<<5)\t\t  "
    - item_type: preproc_def
      name: JENT_FLAGS_TO_MEMSIZE_SHIFT
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '28'
    - item_type: preproc_def
      name: JENT_MAX_MEMSIZE_32kB
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: JENT_MAX_MEMSIZE_TO_FLAGS(UINT32_C( 1))
    - item_type: preproc_def
      name: JENT_MAX_MEMSIZE_64kB
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: JENT_MAX_MEMSIZE_TO_FLAGS(UINT32_C( 2))
    - item_type: preproc_def
      name: JENT_MAX_MEMSIZE_128kB
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: JENT_MAX_MEMSIZE_TO_FLAGS(UINT32_C( 3))
    - item_type: preproc_def
      name: JENT_MAX_MEMSIZE_256kB
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: JENT_MAX_MEMSIZE_TO_FLAGS(UINT32_C( 4))
    - item_type: preproc_def
      name: JENT_MAX_MEMSIZE_512kB
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: JENT_MAX_MEMSIZE_TO_FLAGS(UINT32_C( 5))
    - item_type: preproc_def
      name: JENT_MAX_MEMSIZE_1MB
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: JENT_MAX_MEMSIZE_TO_FLAGS(UINT32_C( 6))
    - item_type: preproc_def
      name: JENT_MAX_MEMSIZE_2MB
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: JENT_MAX_MEMSIZE_TO_FLAGS(UINT32_C( 7))
    - item_type: preproc_def
      name: JENT_MAX_MEMSIZE_4MB
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: JENT_MAX_MEMSIZE_TO_FLAGS(UINT32_C( 8))
    - item_type: preproc_def
      name: JENT_MAX_MEMSIZE_8MB
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: JENT_MAX_MEMSIZE_TO_FLAGS(UINT32_C( 9))
    - item_type: preproc_def
      name: JENT_MAX_MEMSIZE_16MB
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: JENT_MAX_MEMSIZE_TO_FLAGS(UINT32_C(10))
    - item_type: preproc_def
      name: JENT_MAX_MEMSIZE_32MB
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: JENT_MAX_MEMSIZE_TO_FLAGS(UINT32_C(11))
    - item_type: preproc_def
      name: JENT_MAX_MEMSIZE_64MB
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: JENT_MAX_MEMSIZE_TO_FLAGS(UINT32_C(12))
    - item_type: preproc_def
      name: JENT_MAX_MEMSIZE_128MB
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: JENT_MAX_MEMSIZE_TO_FLAGS(UINT32_C(13))
    - item_type: preproc_def
      name: JENT_MAX_MEMSIZE_256MB
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: JENT_MAX_MEMSIZE_TO_FLAGS(UINT32_C(14))
    - item_type: preproc_def
      name: JENT_MAX_MEMSIZE_512MB
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: JENT_MAX_MEMSIZE_TO_FLAGS(UINT32_C(15))
    - item_type: preproc_def
      name: JENT_MAX_MEMSIZE_MAX
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: JENT_MAX_MEMSIZE_512MB
    - item_type: preproc_def
      name: JENT_MAX_MEMSIZE_MASK
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: JENT_MAX_MEMSIZE_MAX
    - item_type: preproc_def
      name: JENT_MAX_MEMSIZE_OFFSET
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '14'
    - item_type: preproc_def
      name: JENT_MIN_OSR
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '3'
    - item_type: preproc_def
      name: JENT_MIN_OSR
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '1'
    - item_type: preproc_def
      name: JENT_PRIVATE_STATIC
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: static
    - item_type: preproc_def
      name: JENT_PRIVATE_STATIC
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: __attribute__((visibility("default")))
    - item_type: preproc_def
      name: ENOTIME
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: ECOARSETIME
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: ENOMONOTONIC
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: EMINVARIATION
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '4 '
    - item_type: preproc_def
      name: EVARVAR
      pos:
        line_end: 425
        line_start: 423
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '5 '
    - item_type: preproc_def
      name: EMINVARVAR
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '6 '
    - item_type: preproc_def
      name: EPROGERR
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '7 '
    - item_type: preproc_def
      name: ESTUCK
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '8 '
    - item_type: preproc_def
      name: EHEALTH
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '9 '
    - item_type: preproc_def
      name: ERCT
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '10 '
    - item_type: preproc_def
      name: EHASH
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '11 '
    - item_type: preproc_def
      name: EMEM
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '12 '
    - item_type: preproc_def
      name: EGCD
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '13 '
    - item_type: preproc_def
      name: JENT_RCT_FAILURE
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: JENT_APT_FAILURE
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: JENT_LAG_FAILURE
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/libgcrypt/random/jitterentropy.h
      type_or_value: '4 '
    structs:
    - fields:
      - name: (*jent_notime_init)(void **ctx)
        type: int
      - name: (*jent_notime_fini)(void *ctx)
        type: void
      - name: "(*jent_notime_start)(void *ctx,\n\t\t\t\t void *(*start_routine) (void
          *), void *arg)"
        type: int
      - name: (*jent_notime_stop)(void *ctx)
        type: void
      item_type: struct
      name: jent_notime_thread
      pos:
        line_end: 159
        line_start: 153
        source_file: /src/libgcrypt/random/jitterentropy.h
    - fields:
      - name: data[SHA3_256_SIZE_DIGEST]
        type: uint8_t
      - name: prev_time
        type: uint64_t
      - name: flags
        type: unsigned int
      - name: osr
        type: unsigned int
      - name: '*mem'
        type: unsigned char
      - name: memaccessloops
        type: unsigned int
      - name: rct_count
        type: int
      - name: apt_cutoff
        type: unsigned int
      - name: apt_observations
        type: unsigned int
      - name: apt_count
        type: unsigned int
      - name: apt_base
        type: uint64_t
      - name: health_failure
        type: unsigned int
      - name: apt_base_set
        type: unsigned int
      - name: fips_enabled
        type: unsigned int
      - name: enable_notime
        type: unsigned int
      - name: max_mem_set
        type: unsigned int
      - name: jent_common_timer_gcd
        type: uint64_t
      item_type: struct
      name: rand_data
      pos:
        line_end: 294
        line_start: 162
        source_file: /src/libgcrypt/random/jitterentropy.h
    - fields: []
      item_type: struct
      name: jent_notime_ctx
      pos:
        line_end: 399
        line_start: 394
        source_file: /src/libgcrypt/random/jitterentropy.h
    typedefs: []
    union: []
- function_names:
  - getentropy
  - set_cloexec_flag
  - open_device
  - _gcry_rndoldlinux_gather_random
  source_file: /src/libgcrypt/random/rndoldlinux.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_register_random_progress
  - _gcry_random_progress
  - get_random_conf_file
  - _gcry_random_read_conf
  - _gcry_set_preferred_rng_type
  - _gcry_random_initialize
  - _gcry_random_close_fds
  - _gcry_get_rng_type
  - _gcry_random_dump_stats
  - _gcry_secure_random_alloc
  - _gcry_enable_quick_random_gen
  - _gcry_random_is_faked
  - _gcry_random_add_bytes
  - do_randomize
  - _gcry_random_bytes
  - _gcry_random_bytes_secure
  - _gcry_randomize
  - _gcry_set_random_seed_file
  - _gcry_update_random_seed_file
  - _gcry_fast_random_poll
  - _gcry_create_nonce
  - _gcry_random_selftest
  source_file: /src/libgcrypt/random/random.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RANDOM_CONF_FILE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/random/random.c
      type_or_value: '"random.conf"'
    structs:
    - fields:
      - name: standard
        type: int
      - name: fips
        type: int
      - name: system
        type: int
      item_type: struct
      name: rng_types
      pos:
        line_end: 58
        line_start: 53
        source_file: /src/libgcrypt/random/random.c
    typedefs: []
    union: []
- function_names:
  - ptr_to_le32
  - ptr_to_le64
  - le32_to_ptr
  - le64_to_ptr
  - A
  - keccakp_theta
  - keccakp_rho
  - RHO_ROL
  - keccakp_pi
  - keccakp_chi
  - keccakp_iota
  - keccakp_1600
  - sha3_init
  - sha3_256_init
  - sha3_fill_state
  - sha3_update
  - sha3_final
  - sha3_tester
  source_file: /src/libgcrypt/random/jitterentropy-sha3.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - jent_delta
  - jent_lag_init
  source_file: /src/libgcrypt/random/jitterentropy-health.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/random/random.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - jent_gcd_tested
  - jent_gcd64
  - jent_gcd_analyze_internal
  - jent_gcd_analyze
  - jent_gcd_init
  - jent_gcd_fini
  - jent_gcd_get
  - jent_gcd_selftest
  source_file: /src/libgcrypt/random/jitterentropy-gcd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: JENT_GCD_SELFTEST_ELEM
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/libgcrypt/random/jitterentropy-gcd.c
      type_or_value: '10'
    - item_type: preproc_def
      name: JENT_GCD_SELFTEST_EXP
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/libgcrypt/random/jitterentropy-gcd.c
      type_or_value: 3ULL
    structs: []
    typedefs: []
    union: []
- function_names:
  - poll_padlock
  - rdrand_long
  - rdrand_nlong
  - poll_drng
  - _gcry_rndhw_failed_p
  - _gcry_rndhw_poll_fast
  - _gcry_rndhw_poll_slow
  source_file: /src/libgcrypt/random/rndhw.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_PADLOCK
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/random/rndhw.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_DRNG
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgcrypt/random/rndhw.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RDRAND_RETRY_LOOPS
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libgcrypt/random/rndhw.c
      type_or_value: '10'
    - item_type: preproc_def
      name: RDRAND_INT
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libgcrypt/random/rndhw.c
      type_or_value: '".byte 0x0f,0xc7,0xf0"'
    - item_type: preproc_def
      name: RDRAND_LONG
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/libgcrypt/random/rndhw.c
      type_or_value: '".byte 0x48,0x0f,0xc7,0xf0"'
    - item_type: preproc_def
      name: RDRAND_LONG
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libgcrypt/random/rndhw.c
      type_or_value: RDRAND_INT
    structs: []
    typedefs:
    - item_type: typedef
      name: (*add_fn_t)(const void*, size_t, enum random_origins)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/libgcrypt/random/rndhw.c
      type: void
    union: []
- function_names: []
  source_file: /src/libgcrypt/random/jitterentropy-base.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_system_rng
  - read_system_rng
  - read_mbm_data
  - registry_poll
  - slow_gatherer
  - _gcry_rndw32_gather_random
  - _gcry_rndw32_gather_random_fast
  - ADDINT
  - ADDPTR
  source_file: /src/libgcrypt/random/rndw32.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IOCTL_DISK_PERFORMANCE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libgcrypt/random/rndw32.c
      type_or_value: '0x00070020'
    - item_type: preproc_def
      name: SIZEOF_DISK_PERFORMANCE_STRUCT
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libgcrypt/random/rndw32.c
      type_or_value: '256'
    - item_type: preproc_def
      name: HCRYPTPROV
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libgcrypt/random/rndw32.c
      type_or_value: HANDLE
    - item_type: preproc_def
      name: PERFORMANCE_BUFFER_SIZE
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libgcrypt/random/rndw32.c
      type_or_value: '65536   '
    - item_type: preproc_def
      name: PERFORMANCE_BUFFER_STEP
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/libgcrypt/random/rndw32.c
      type_or_value: '16384   '
    - item_type: preproc_def
      name: SYSTEMRNG_BYTES
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libgcrypt/random/rndw32.c
      type_or_value: '64'
    - item_type: preproc_def
      name: PROV_INTEL_SEC
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libgcrypt/random/rndw32.c
      type_or_value: '22'
    - item_type: preproc_def
      name: INTEL_DEF_PROV
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/libgcrypt/random/rndw32.c
      type_or_value: '"Intel Hardware Cryptographic Service Provider"'
    - item_type: preproc_def
      name: BusType
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/libgcrypt/random/rndw32.c
      type_or_value: char
    - item_type: preproc_def
      name: SMBType
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/libgcrypt/random/rndw32.c
      type_or_value: char
    - item_type: preproc_def
      name: SensorType
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/libgcrypt/random/rndw32.c
      type_or_value: char
    structs:
    - fields:
      - name: iType
        type: SensorType
      - name: Count
        type: int
      item_type: struct
      name: SharedIndex
      pos:
        line_end: 174
        line_start: 170
        source_file: /src/libgcrypt/random/rndw32.c
    - fields:
      - name: ssType
        type: SensorType
      - name: ssName[12]
        type: unsigned char
      - name: sspadding1[3]
        type: char
      - name: ssCurrent
        type: double
      - name: ssLow
        type: double
      - name: ssHigh
        type: double
      - name: ssCount
        type: long
      - name: sspadding2[4]
        type: char
      - name: ssTotal
        type: long double
      - name: sspadding3[6]
        type: char
      - name: ssAlarm1
        type: double
      - name: ssAlarm2
        type: double
      item_type: struct
      name: SharedSensor
      pos:
        line_end: 190
        line_start: 176
        source_file: /src/libgcrypt/random/rndw32.c
    - fields:
      - name: siSMB_Base
        type: short
      - name: siSMB_Type
        type: BusType
      - name: siSMB_Code
        type: SMBType
      - name: siSMB_Addr
        type: char
      - name: siSMB_Name[41]
        type: unsigned char
      - name: siISA_Base
        type: short
      - name: siChipType
        type: int
      - name: siVoltageSubType
        type: char
      item_type: struct
      name: SharedInfo
      pos:
        line_end: 202
        line_start: 192
        source_file: /src/libgcrypt/random/rndw32.c
    - fields:
      - name: sdVersion
        type: double
      - name: sdIndex[10]
        type: SharedIndex
      - name: sdSensor[100]
        type: SharedSensor
      - name: sdInfo
        type: SharedInfo
      - name: sdStart[41]
        type: unsigned char
      item_type: struct
      name: SharedData
      pos:
        line_end: 219
        line_start: 204
        source_file: /src/libgcrypt/random/rndw32.c
    - fields:
      - name: type
        type: int
      - name: size
        type: int
      item_type: struct
      name: "powerInfo[] = {\n        { 0, 128 },     /* SystemPowerPolicyAc */\n
        \       { 1, 128 },     /* SystemPowerPolicyDc */\n        { 4, 64 },      /*
        SystemPowerCapabilities */\n        { 5, 48 },      /* SystemBatteryState
        */\n        { 11, 48 },     /* ProcessorInformation */\n        { 12, 24 },
        \    /* SystemPowerInformation */\n        { -1, -1 }\n      }"
      pos:
        line_end: 752
        line_start: 752
        source_file: /src/libgcrypt/random/rndw32.c
    typedefs:
    - item_type: typedef
      name: "(WINAPI *NETSTATISTICSGET)(LPWSTR szServer, LPWSTR szService,\n                                         DWORD
        dwLevel, DWORD dwOptions,\n                                         LPBYTE
        *lpBuffer)"
      pos:
        line_end: 124
        line_start: 122
        source_file: /src/libgcrypt/random/rndw32.c
      type: DWORD
    - item_type: typedef
      name: (WINAPI *NETAPIBUFFERSIZE)(LPVOID lpBuffer, LPDWORD cbBuffer)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/libgcrypt/random/rndw32.c
      type: DWORD
    - item_type: typedef
      name: (WINAPI *NETAPIBUFFERFREE)(LPVOID lpBuffer)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/libgcrypt/random/rndw32.c
      type: DWORD
    - item_type: typedef
      name: "(WINAPI *NTQUERYSYSTEMINFORMATION)(DWORD systemInformationClass,\n                                                 PVOID
        systemInformation,\n                                                 ULONG
        systemInformationLength,\n                                                 PULONG
        returnLength)"
      pos:
        line_end: 132
        line_start: 129
        source_file: /src/libgcrypt/random/rndw32.c
      type: DWORD
    - item_type: typedef
      name: "(WINAPI *NTQUERYINFORMATIONPROCESS)\n     (HANDLE processHandle, DWORD
        processInformationClass,\n      PVOID processInformation, ULONG processInformationLength,\n
        \     PULONG returnLength)"
      pos:
        line_end: 136
        line_start: 133
        source_file: /src/libgcrypt/random/rndw32.c
      type: DWORD
    - item_type: typedef
      name: "(WINAPI *NTPOWERINFORMATION)\n     (DWORD powerInformationClass, PVOID
        inputBuffer,\n      ULONG inputBufferLength, PVOID outputBuffer, ULONG outputBufferLength
        )"
      pos:
        line_end: 139
        line_start: 137
        source_file: /src/libgcrypt/random/rndw32.c
      type: DWORD
    - item_type: typedef
      name: "(WINAPI *CRYPTACQUIRECONTEXT)(HCRYPTPROV *phProv,\n                                           LPCTSTR
        pszContainer,\n                                           LPCTSTR pszProvider,\n
        \                                          DWORD dwProvType,\n                                           DWORD
        dwFlags)"
      pos:
        line_end: 146
        line_start: 142
        source_file: /src/libgcrypt/random/rndw32.c
      type: BOOL
    - item_type: typedef
      name: "(WINAPI *CRYPTGENRANDOM)(HCRYPTPROV hProv, DWORD dwLen,\n                                      BYTE
        *pbBuffer)"
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/libgcrypt/random/rndw32.c
      type: BOOL
    - item_type: typedef
      name: (WINAPI *CRYPTRELEASECONTEXT)(HCRYPTPROV hProv, DWORD dwFlags)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/libgcrypt/random/rndw32.c
      type: BOOL
    - item_type: typedef
      name: "(WINAPI *RTLGENRANDOM)(PVOID RandomBuffer,\n                                    ULONG
        RandomBufferLength)"
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/libgcrypt/random/rndw32.c
      type: BOOL
    union: []
- function_names: []
  source_file: /src/libgcrypt/random/rand-internal.h
  types:
    enum:
    - enumerators:
      - name: RANDOM_ORIGIN_INIT
        value: '0'
      - name: RANDOM_ORIGIN_SLOWPOLL
        value: '3'
      - name: RANDOM_ORIGIN_EXTERNAL
        value: '1'
      - name: RANDOM_ORIGIN_FASTPOLL
        value: '2'
      - name: RANDOM_ORIGIN_EXTRAPOLL
        value: '4'
      item_type: enum
      name: random_origins
      pos:
        line_end: 35
        line_start: 26
        source_file: /src/libgcrypt/random/rand-internal.h
    preproc_defs:
    - item_type: preproc_def
      name: RANDOM_CONF_DISABLE_JENT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/random/rand-internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RANDOM_CONF_ONLY_URANDOM
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgcrypt/random/rand-internal.h
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - SHA3_SIZE_BLOCK
  - HASH_CTX_ON_STACK
  source_file: /src/libgcrypt/random/jitterentropy-sha3.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA3_256_SIZE_BLOCK
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgcrypt/random/jitterentropy-sha3.h
      type_or_value: SHA3_SIZE_BLOCK(SHA3_256_SIZE_DIGEST_BITS)
    - item_type: preproc_def
      name: SHA3_MAX_SIZE_BLOCK
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/random/jitterentropy-sha3.h
      type_or_value: SHA3_256_SIZE_BLOCK
    - item_type: preproc_def
      name: SHA_MAX_CTX_SIZE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/random/jitterentropy-sha3.h
      type_or_value: (sizeof(struct sha_ctx))
    structs:
    - fields:
      - name: state[25]
        type: uint64_t
      - name: msg_len
        type: size_t
      - name: r
        type: unsigned int
      - name: rword
        type: unsigned int
      - name: digestsize
        type: unsigned int
      - name: partial[SHA3_MAX_SIZE_BLOCK]
        type: uint8_t
      item_type: struct
      name: sha_ctx
      pos:
        line_end: 40
        line_start: 33
        source_file: /src/libgcrypt/random/jitterentropy-sha3.h
    typedefs: []
    union: []
- function_names:
  - jent_version
  - jent_log2_simple
  - jent_update_memsize
  - jent_read_entropy
  - jent_read_entropy_safe
  - jent_memsize
  - jent_entropy_collector_alloc_internal
  - _jent_entropy_collector_alloc
  - jent_entropy_collector_alloc
  - jent_entropy_collector_free
  - jent_time_entropy_init
  - jent_entropy_init_common_pre
  - jent_entropy_init_common_post
  - jent_entropy_init
  - jent_entropy_init_ex
  - jent_entropy_switch_notime_impl
  source_file: /src/libgcrypt/random/jitterentropy-base.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAJVERSION
      pos:
        line_end: 44
        line_start: 40
        source_file: /src/libgcrypt/random/jitterentropy-base.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: MINVERSION
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/libgcrypt/random/jitterentropy-base.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: PATCHLEVEL
      pos:
        line_end: 49
        line_start: 47
        source_file: /src/libgcrypt/random/jitterentropy-base.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: JENT_POWERUP_TESTLOOPCOUNT
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libgcrypt/random/jitterentropy-base.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: CLEARCACHE
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/libgcrypt/random/jitterentropy-base.c
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names:
  - offsetof
  - my_make_filename
  - do_write
  - do_read
  - _gcry_rndegd_set_socket_name
  - _gcry_rndegd_connect_socket
  - _gcry_rndegd_gather_random
  source_file: /src/libgcrypt/random/rndegd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - initialize_basics
  - lock_pool
  - unlock_pool
  - initialize
  - _gcry_rngcsprng_initialize
  - _gcry_rngcsprng_close_fds
  - _gcry_rngcsprng_dump_stats
  - _gcry_rngcsprng_secure_alloc
  - _gcry_rngcsprng_enable_quick_gen
  - _gcry_rngcsprng_is_faked
  - _gcry_rngcsprng_add_bytes
  - _gcry_rngcsprng_randomize
  - mix_pool
  - _gcry_rngcsprng_set_seed_file
  - utf8_to_wchar
  - any8bitchar
  - my_open
  - lock_seed_file
  - read_seed_file
  - _gcry_rngcsprng_update_seed_file
  - read_pool
  - add_randomness
  - random_poll
  - "(*\ngetfnc_gather_random (void))(void (*)(const void*, size_t,\n                                      enum
    random_origins),\n                             enum random_origins, size_t, int)"
  - "(*\ngetfnc_fast_random_poll (void))( void (*)(const void*, size_t,\n                                          enum
    random_origins),\n                                 enum random_origins)"
  - do_fast_random_poll
  - _gcry_rngcsprng_fast_poll
  - read_random_source
  source_file: /src/libgcrypt/random/random-csprng.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RAND_MAX
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libgcrypt/random/random-csprng.c
      type_or_value: '32767'
    - item_type: preproc_def
      name: LOCK_SEED_FILE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libgcrypt/random/random-csprng.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LOCK_SEED_FILE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libgcrypt/random/random-csprng.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ADD_VALUE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libgcrypt/random/random-csprng.c
      type_or_value: '0xa5a5a5a5a5a5a5a5'
    - item_type: preproc_def
      name: ADD_VALUE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libgcrypt/random/random-csprng.c
      type_or_value: '0xa5a5a5a5'
    - item_type: preproc_def
      name: BLOCKLEN
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libgcrypt/random/random-csprng.c
      type_or_value: '64   '
    - item_type: preproc_def
      name: DIGESTLEN
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/libgcrypt/random/random-csprng.c
      type_or_value: '20   '
    - item_type: preproc_def
      name: POOLBLOCKS
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libgcrypt/random/random-csprng.c
      type_or_value: '30'
    - item_type: preproc_def
      name: POOLSIZE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libgcrypt/random/random-csprng.c
      type_or_value: (POOLBLOCKS*DIGESTLEN)
    - item_type: preproc_def
      name: POOLWORDS
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libgcrypt/random/random-csprng.c
      type_or_value: (POOLSIZE / SIZEOF_UNSIGNED_LONG)
    structs:
    - fields:
      - name: mixrnd
        type: unsigned long
      - name: mixkey
        type: unsigned long
      - name: slowpolls
        type: unsigned long
      - name: fastpolls
        type: unsigned long
      - name: getbytes1
        type: unsigned long
      - name: ngetbytes1
        type: unsigned long
      - name: getbytes2
        type: unsigned long
      - name: ngetbytes2
        type: unsigned long
      - name: addbytes
        type: unsigned long
      - name: naddbytes
        type: unsigned long
      item_type: struct
      name: rndstats
      pos:
        line_end: 202
        line_start: 190
        source_file: /src/libgcrypt/random/random-csprng.c
    typedefs: []
    union: []
- function_names:
  - SC
  - waitpid
  - my_popen
  - my_pclose
  - slow_poll
  - start_gatherer
  - read_a_msg
  - _gcry_rndunix_gather_random
  source_file: /src/libgcrypt/random/rndunix.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAGAIN
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/libgcrypt/random/rndunix.c
      type_or_value: EWOULDBLOCK
    - item_type: preproc_def
      name: STDIN_FILENO
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/libgcrypt/random/rndunix.c
      type_or_value: '0'
    - item_type: preproc_def
      name: STDOUT_FILENO
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/libgcrypt/random/rndunix.c
      type_or_value: '1'
    - item_type: preproc_def
      name: STDERR_FILENO
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/libgcrypt/random/rndunix.c
      type_or_value: '2'
    - item_type: preproc_def
      name: GATHER_BUFSIZE
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/libgcrypt/random/rndunix.c
      type_or_value: "49152\t"
    - item_type: preproc_def
      name: SC_0
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/libgcrypt/random/rndunix.c
      type_or_value: "16384\t"
    structs:
    - fields:
      - name: '*path'
        type: char
      - name: '*arg'
        type: char
      - name: usefulness
        type: int
      - name: '*pipe'
        type: FILE
      - name: pipeFD
        type: int
      - name: pid
        type: pid_t
      - name: length
        type: int
      - name: hasAlternative
        type: int
      item_type: struct
      name: RI
      pos:
        line_end: 226
        line_start: 217
        source_file: /src/libgcrypt/random/rndunix.c
    - fields:
      - name: usefulness
        type: int
      - name: ndata
        type: int
      - name: data[500]
        type: char
      item_type: struct
      name: GATHER_MSG
      pos:
        line_end: 359
        line_start: 355
        source_file: /src/libgcrypt/random/rndunix.c
    typedefs: []
    union: []
- function_names:
  - jent_gcd_add_value
  source_file: /src/libgcrypt/random/jitterentropy-gcd.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_rndgetentropy_gather_random
  source_file: /src/libgcrypt/random/rndgetentropy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - basic_initialization
  - lock_rng
  - unlock_rng
  - read_cb
  - get_random
  - _gcry_rngsystem_initialize
  - _gcry_rngsystem_close_fds
  - _gcry_rngsystem_dump_stats
  - _gcry_rngsystem_is_faked
  - _gcry_rngsystem_add_bytes
  - _gcry_rngsystem_randomize
  source_file: /src/libgcrypt/random/random-system.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - jent_notime_block_switch
  - jent_notime_settick
  - jent_notime_unsettick
  - jent_get_nstime_internal
  - jent_notime_enable
  - jent_notime_disable
  - jent_notime_switch
  - jent_notime_force
  - jent_notime_forced
  source_file: /src/libgcrypt/random/jitterentropy-timer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - BUILD_BUG_ON
  - jent_loop_shuffle
  - jent_hash_time
  - uint32rotl
  - xoshiro128starstar
  - jent_memaccess
  - jent_memaccess
  - jent_measure_jitter
  - jent_random_data
  source_file: /src/libgcrypt/random/jitterentropy-noise.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_HASH_LOOP
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libgcrypt/random/jitterentropy-noise.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MIN_HASH_LOOP
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/libgcrypt/random/jitterentropy-noise.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MAX_ACC_LOOP_BIT
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/libgcrypt/random/jitterentropy-noise.c
      type_or_value: '7'
    - item_type: preproc_def
      name: MIN_ACC_LOOP_BIT
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/libgcrypt/random/jitterentropy-noise.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: u[4]
        type: uint32_t
      - name: b[sizeof(uint32_t) * 4]
        type: uint8_t
      item_type: union
      name: prngState = { .u = {0x8e93eec0, 0xce65608a, 0xa8d46b46, 0xe83cef69} }
      pos:
        line_end: 190
        line_start: 187
        source_file: /src/libgcrypt/random/jitterentropy-noise.c
- function_names:
  - ARRAY_SIZE
  - dbg
  - parse_flag_string
  - drbg_string_fill
  - drbg_statelen
  - drbg_blocklen
  - drbg_keylen
  - drbg_max_request_bytes
  - drbg_max_addtl
  - drbg_max_requests
  - drbg_sec_strength
  - drbg_add_buf
  - drbg_read_cb
  - drbg_get_entropy
  - drbg_ctr_bcc
  - drbg_ctr_df
  - drbg_ctr_update
  - drbg_ctr_generate
  - drbg_hmac_update
  - drbg_hmac_generate
  - drbg_hash_df
  - drbg_hash_update
  - drbg_hash_process_addtl
  - drbg_hash_hashgen
  - drbg_hash_generate
  - drbg_seed
  - drbg_generate
  - drbg_generate_long
  - drbg_uninstantiate
  - drbg_instantiate
  - drbg_reseed
  - drbg_lock
  - drbg_unlock
  - basic_initialization
  - drbg_algo_available
  - _drbg_init_internal
  - _gcry_rngdrbg_inititialize
  - _gcry_rngdrbg_reinit
  - _gcry_rngdrbg_close_fds
  - _gcry_rngdrbg_dump_stats
  - _gcry_rngdrbg_is_faked
  - _gcry_rngdrbg_add_bytes
  - _gcry_rngdrbg_randomize
  - _gcry_rngdrbg_cavs_test
  - _gcry_rngdrbg_healthcheck_one
  - drbg_healthcheck_sanity
  - drbg_healthcheck
  - _gcry_rngdrbg_selftest
  - drbg_hash_init
  - drbg_hmac_init
  - drbg_hmac_setkey
  - drbg_hash_fini
  - drbg_hash
  - drbg_sym_fini
  - drbg_sym_init
  - drbg_sym_setkey
  - drbg_sym
  - drbg_sym_ctr
  source_file: /src/libgcrypt/random/random-drbg.c
  types:
    enum:
    - enumerators:
      - name: DRBG_PREFIX0
        value: '0x00'
      - name: DRBG_PREFIX1
      - name: DRBG_PREFIX3
      - name: DRBG_PREFIX2
      item_type: enum
      name: drbg_prefixes
      pos:
        line_end: 328
        line_start: 322
        source_file: /src/libgcrypt/random/random-drbg.c
    preproc_defs:
    - item_type: preproc_def
      name: DRBG_PREDICTION_RESIST
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: ((u32)1<<28)
    - item_type: preproc_def
      name: DRBG_CTRAES
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: ((u32)1<<0)
    - item_type: preproc_def
      name: DRBG_CTRSERPENT
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: ((u32)1<<1)
    - item_type: preproc_def
      name: DRBG_CTRTWOFISH
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: ((u32)1<<2)
    - item_type: preproc_def
      name: DRBG_CTR_MASK
      pos:
        line_end: 185
        line_start: 183
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: "(DRBG_CTRAES | DRBG_CTRSERPENT \\\n                                 |
        DRBG_CTRTWOFISH)"
    - item_type: preproc_def
      name: DRBG_HASHSHA1
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: ((u32)1<<4)
    - item_type: preproc_def
      name: DRBG_HASHSHA224
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: ((u32)1<<5)
    - item_type: preproc_def
      name: DRBG_HASHSHA256
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: ((u32)1<<6)
    - item_type: preproc_def
      name: DRBG_HASHSHA512
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: ((u32)1<<8)
    - item_type: preproc_def
      name: DRBG_HASH_MASK
      pos:
        line_end: 193
        line_start: 191
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: "(DRBG_HASHSHA1 | DRBG_HASHSHA224 \\\n\t\t\t\t | DRBG_HASHSHA256
        | DRBG_HASHSHA512)"
    - item_type: preproc_def
      name: DRBG_HMAC
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: ((u32)1<<12)
    - item_type: preproc_def
      name: DRBG_SYM128
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: ((u32)1<<13)
    - item_type: preproc_def
      name: DRBG_SYM192
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: ((u32)1<<14)
    - item_type: preproc_def
      name: DRBG_SYM256
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: ((u32)1<<15)
    - item_type: preproc_def
      name: DRBG_TYPE_MASK
      pos:
        line_end: 200
        line_start: 198
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: "(DRBG_HMAC | DRBG_SYM128 | DRBG_SYM192 \\\n\t\t\t\t | DRBG_SYM256)"
    - item_type: preproc_def
      name: DRBG_CIPHER_MASK
      pos:
        line_end: 202
        line_start: 200
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: "(DRBG_CTR_MASK | DRBG_HASH_MASK \\\n                                 |
        DRBG_TYPE_MASK)"
    - item_type: preproc_def
      name: DRBG_PR_CTRAES128
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: (DRBG_PREDICTION_RESIST | DRBG_CTRAES | DRBG_SYM128)
    - item_type: preproc_def
      name: DRBG_PR_CTRAES192
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: (DRBG_PREDICTION_RESIST | DRBG_CTRAES | DRBG_SYM192)
    - item_type: preproc_def
      name: DRBG_PR_CTRAES256
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: (DRBG_PREDICTION_RESIST | DRBG_CTRAES | DRBG_SYM256)
    - item_type: preproc_def
      name: DRBG_NOPR_CTRAES128
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: (DRBG_CTRAES | DRBG_SYM128)
    - item_type: preproc_def
      name: DRBG_NOPR_CTRAES192
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: (DRBG_CTRAES | DRBG_SYM192)
    - item_type: preproc_def
      name: DRBG_NOPR_CTRAES256
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: (DRBG_CTRAES | DRBG_SYM256)
    - item_type: preproc_def
      name: DRBG_PR_HASHSHA1
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: (DRBG_PREDICTION_RESIST | DRBG_HASHSHA1)
    - item_type: preproc_def
      name: DRBG_PR_HASHSHA256
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: (DRBG_PREDICTION_RESIST | DRBG_HASHSHA256)
    - item_type: preproc_def
      name: DRBG_PR_HASHSHA512
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: (DRBG_PREDICTION_RESIST | DRBG_HASHSHA512)
    - item_type: preproc_def
      name: DRBG_NOPR_HASHSHA1
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: (DRBG_HASHSHA1)
    - item_type: preproc_def
      name: DRBG_NOPR_HASHSHA256
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: (DRBG_HASHSHA256)
    - item_type: preproc_def
      name: DRBG_NOPR_HASHSHA512
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: (DRBG_HASHSHA512)
    - item_type: preproc_def
      name: DRBG_PR_HMACSHA1
      pos:
        line_end: 217
        line_start: 215
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: "(DRBG_PREDICTION_RESIST | DRBG_HASHSHA1 \\\n                              |
        DRBG_HMAC)"
    - item_type: preproc_def
      name: DRBG_PR_HMACSHA256
      pos:
        line_end: 219
        line_start: 217
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: "(DRBG_PREDICTION_RESIST | DRBG_HASHSHA256 \\\n                              |
        DRBG_HMAC)"
    - item_type: preproc_def
      name: DRBG_PR_HMACSHA512
      pos:
        line_end: 221
        line_start: 219
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: "(DRBG_PREDICTION_RESIST | DRBG_HASHSHA512 \\\n                              |
        DRBG_HMAC)"
    - item_type: preproc_def
      name: DRBG_NOPR_HMACSHA1
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: (DRBG_HASHSHA1 | DRBG_HMAC)
    - item_type: preproc_def
      name: DRBG_NOPR_HMACSHA256
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: (DRBG_HASHSHA256 | DRBG_HMAC)
    - item_type: preproc_def
      name: DRBG_NOPR_HMACSHA512
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: (DRBG_HASHSHA512 | DRBG_HMAC)
    - item_type: preproc_def
      name: DRBG_DEFAULT_TYPE
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: DRBG_NOPR_HMACSHA256
    - item_type: preproc_def
      name: DRBG_CTR_NULL_LEN
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/libgcrypt/random/random-drbg.c
      type_or_value: '128'
    structs:
    - fields:
      - name: '*buf'
        type: unsigned char
      - name: len
        type: size_t
      - name: '*next'
        type: struct drbg_string_s
      item_type: struct
      name: drbg_string_s
      pos:
        line_end: 250
        line_start: 245
        source_file: /src/libgcrypt/random/random-drbg.c
    - fields:
      - name: '*outbuf'
        type: unsigned char
      - name: outlen
        type: unsigned int
      - name: '*addtl'
        type: drbg_string_t
      item_type: struct
      name: drbg_gen_s
      pos:
        line_end: 262
        line_start: 256
        source_file: /src/libgcrypt/random/random-drbg.c
    - fields:
      - name: flags
        type: u32
      - name: statelen
        type: ushort
      - name: blocklen_bytes
        type: ushort
      - name: backend_cipher
        type: int
      item_type: struct
      name: drbg_core_s
      pos:
        line_end: 277
        line_start: 271
        source_file: /src/libgcrypt/random/random-drbg.c
    - fields:
      - name: "(*update) (drbg_state_t drbg,\n\t\t\t    drbg_string_t *seed, int reseed)"
        type: gpg_err_code_t
      - name: "(*generate) (drbg_state_t drbg,\n\t\t\t      unsigned char *buf, unsigned
          int buflen,\n\t\t\t      drbg_string_t *addtl)"
        type: gpg_err_code_t
      - name: (*crypto_init) (drbg_state_t drbg)
        type: gpg_err_code_t
      - name: (*crypto_fini) (drbg_state_t drbg)
        type: void
      item_type: struct
      name: drbg_state_ops_s
      pos:
        line_end: 288
        line_start: 279
        source_file: /src/libgcrypt/random/random-drbg.c
    - fields:
      - name: '*testentropy'
        type: drbg_string_t
      - name: fail_seed_source
        type: unsigned int
      item_type: struct
      name: drbg_test_data_s
      pos:
        line_end: 295
        line_start: 290
        source_file: /src/libgcrypt/random/random-drbg.c
    - fields:
      - name: '*V'
        type: unsigned char
      - name: '*C'
        type: unsigned char
      - name: reseed_ctr
        type: size_t
      - name: '*scratchpad'
        type: unsigned char
      - name: '*priv_data'
        type: void
      - name: ctr_handle
        type: gcry_cipher_hd_t
      - name: seeded
        type: unsigned int
      - name: pr
        type: unsigned int
      - name: seed_init_pid
        type: pid_t
      - name: '*d_ops'
        type: struct drbg_state_ops_s
      - name: '*core'
        type: struct drbg_core_s
      - name: '*test_data'
        type: struct drbg_test_data_s
      item_type: struct
      name: drbg_state_s
      pos:
        line_end: 320
        line_start: 299
        source_file: /src/libgcrypt/random/random-drbg.c
    - fields:
      - name: '*name'
        type: char
      - name: flag
        type: u32
      item_type: struct
      name: "table[] = {\n    { \"aes\",     DRBG_CTRAES            },\n    { \"serpent\",
        DRBG_CTRSERPENT        },\n    { \"twofish\", DRBG_CTRTWOFISH        },\n
        \   { \"sha1\",    DRBG_HASHSHA1          },\n    { \"sha256\",  DRBG_HASHSHA256
        \       },\n    { \"sha512\",  DRBG_HASHSHA512        },\n    { \"hmac\",
        \   DRBG_HMAC              },\n    { \"sym128\",  DRBG_SYM128            },\n
        \   { \"sym192\",  DRBG_SYM192            },\n    { \"sym256\",  DRBG_SYM256
        \           },\n    { \"pr\",      DRBG_PREDICTION_RESIST }\n  }"
      pos:
        line_end: 409
        line_start: 406
        source_file: /src/libgcrypt/random/random-drbg.c
    typedefs:
    - item_type: typedef
      name: drbg_string_t
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/libgcrypt/random/random-drbg.c
      type: drbg_string_s
    - item_type: typedef
      name: drbg_gen_t
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/libgcrypt/random/random-drbg.c
      type: drbg_gen_s
    - item_type: typedef
      name: '*drbg_state_t'
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/libgcrypt/random/random-drbg.c
      type: drbg_state_s
    union:
    - fields:
      - name: req[8]
        type: unsigned char
      - name: req_int
        type: u64
      item_type: union
      name: u
      pos:
        line_end: 1264
        line_start: 1260
        source_file: /src/libgcrypt/random/random-drbg.c
- function_names:
  - jent_init_statistic
  - jent_bit_count
  - jent_statistic_copy_stat
  - jent_calc_statistic
  - lock_rng
  - unlock_rng
  - is_rng_available
  - _gcry_rndjent_poll
  - _gcry_rndjent_get_version
  - _gcry_rndjent_dump_stats
  - _gcry_rndjent_fini
  source_file: /src/libgcrypt/random/rndjent.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EOPNOTSUPP
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/random/rndjent.c
      type_or_value: ENOSYS
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libgcrypt/random/rndjent.c
      type_or_value: "0x0501\t"
    - item_type: preproc_def
      name: JENT_USES_RDTSC
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libgcrypt/random/rndjent.c
      type_or_value: '1'
    - item_type: preproc_def
      name: JENT_USES_GETTIME
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libgcrypt/random/rndjent.c
      type_or_value: '2'
    - item_type: preproc_def
      name: JENT_USES_READ_REAL_TIME
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libgcrypt/random/rndjent.c
      type_or_value: '3'
    - item_type: preproc_def
      name: USE_JENT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libgcrypt/random/rndjent.c
      type_or_value: JENT_USES_RDTSC
    - item_type: preproc_def
      name: USE_JENT
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libgcrypt/random/rndjent.c
      type_or_value: JENT_USES_READ_REAL_TIME
    - item_type: preproc_def
      name: USE_JENT
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libgcrypt/random/rndjent.c
      type_or_value: JENT_USES_GETTIME
    - item_type: preproc_def
      name: JENT_PRIVATE_COMPILE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libgcrypt/random/rndjent.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpi_normalize
  - _gcry_mpi_get_nbits
  - _gcry_mpi_test_bit
  - _gcry_mpi_set_bit
  - _gcry_mpi_set_highbit
  - _gcry_mpi_clear_highbit
  - _gcry_mpi_clear_bit
  - _gcry_mpi_rshift_limbs
  - _gcry_mpi_rshift
  - _gcry_mpi_lshift_limbs
  - _gcry_mpi_lshift
  source_file: /src/libgcrypt/mpi/mpi-bit.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: A_LIMB_1
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/mpi/mpi-bit.c
      type_or_value: ((mpi_limb_t)1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpih_mod_1
  - _gcry_mpih_divrem
  - _gcry_mpih_divmod_1
  source_file: /src/libgcrypt/mpi/mpih-div.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/mpi/mpih-div.c
      type_or_value: '1'
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/mpi/mpih-div.c
      type_or_value: UMUL_TIME
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpi_trailing_zeros
  source_file: /src/libgcrypt/mpi/mpi-scan.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/mpi/asm-common-i386.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mpih_invm_odd
  - mpih_invm_pow2
  - mpi_invm_generic
  - _gcry_mpi_invm
  source_file: /src/libgcrypt/mpi/mpi-inv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpi_ec_ed25519_mod
  source_file: /src/libgcrypt/mpi/ec-ed25519.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpi_mul_ui
  - _gcry_mpi_mul_2exp
  - _gcry_mpi_mul
  - _gcry_mpi_mulm
  source_file: /src/libgcrypt/mpi/mpi-mul.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - barrett_mulm
  - build_index
  - _gcry_mpi_mulpowm
  - barrett_mulm
  - init_barrett
  - calc_barrett
  source_file: /src/libgcrypt/mpi/mpi-mpow.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpi_mod
  - _gcry_mpi_barrett_init
  - _gcry_mpi_barrett_free
  - _gcry_mpi_mod_barrett
  - _gcry_mpi_mul_barrett
  source_file: /src/libgcrypt/mpi/mpi-mod.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: m
        type: gcry_mpi_t
      - name: m_copied
        type: int
      - name: k
        type: int
      - name: y
        type: gcry_mpi_t
      - name: r1
        type: gcry_mpi_t
      - name: r2
        type: gcry_mpi_t
      - name: r3
        type: gcry_mpi_t
      item_type: struct
      name: barrett_ctx_s
      pos:
        line_end: 41
        line_start: 32
        source_file: /src/libgcrypt/mpi/mpi-mod.c
    typedefs: []
    union: []
- function_names:
  - _gcry_mpi_add_ui
  - _gcry_mpi_add_inv_sign
  - _gcry_mpi_sub_ui
  - _gcry_mpi_add
  - _gcry_mpi_sub
  - _gcry_mpi_addm
  - _gcry_mpi_subm
  source_file: /src/libgcrypt/mpi/mpi-add.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LOAD64
  - STORE64
  - LIMB_TO64
  - LIMB_FROM64
  - HIBIT_LIMB64
  - HI32_LIMB64
  - LO32_LIMB64
  - LIMB64_C
  - MASK_AND64
  - LIMB_OR64
  - STORE64_COND
  - LOAD32
  - LIMB64_HILO
  - ADD3_LIMB64
  - SUB3_LIMB64
  - ADD4_LIMB64
  - SUB4_LIMB64
  - ADD5_LIMB64
  - SUB5_LIMB64
  - ADD3_LIMB64
  - SUB3_LIMB64
  - ADD4_LIMB64
  - SUB4_LIMB64
  - ADD5_LIMB64
  - SUB5_LIMB64
  - ADD3_LIMB64
  - SUB3_LIMB64
  - ADD4_LIMB64
  - SUB4_LIMB64
  - ADD5_LIMB64
  - SUB5_LIMB64
  - ADD3_LIMB64
  - SUB3_LIMB64
  - ADD4_LIMB64
  - SUB4_LIMB64
  - ADD5_LIMB64
  - SUB5_LIMB64
  - ADD2_LIMB64
  - SUB2_LIMB64
  - LIMB_FROM64
  - HIBIT_LIMB64
  - HI32_LIMB64
  - LO32_LIMB64
  - LOAD32
  - LIMB64_C
  - LOAD64
  - STORE64
  - MASK_AND64
  - LIMB_OR64
  - STORE64_COND
  - LIMB_TO64
  - LIMB64_HILO
  - ADD2_LIMB32_CARRY_OUT
  - ADD2_LIMB32_CARRY_IN_OUT
  - ADD2_LIMB32_CARRY_IN
  - ADD4_LIMB32
  - ADD6_LIMB32
  - ADD8_LIMB32
  - ADD10_LIMB32
  - ADD14_LIMB32
  - SUB2_LIMB32_CARRY_OUT
  - SUB2_LIMB32_CARRY_IN_OUT
  - SUB2_LIMB32_CARRY_IN
  - SUB4_LIMB32
  - SUB6_LIMB32
  - SUB8_LIMB32
  - SUB10_LIMB32
  - SUB14_LIMB32
  - ADD4_LIMB32
  - ADD6_LIMB32
  - SUB4_LIMB32
  - SUB6_LIMB32
  - ADD4_LIMB32
  - SUB4_LIMB32
  - ADD2_LIMB64
  - ADD2_LIMB64
  - ADD3_LIMB64
  - ADD4_LIMB64
  - ADD4_LIMB64
  - ADD5_LIMB64
  - ADD7_LIMB64
  - SUB2_LIMB64
  - SUB2_LIMB64
  - SUB3_LIMB64
  - SUB4_LIMB64
  - SUB4_LIMB64
  - SUB5_LIMB64
  - SUB7_LIMB64
  - ADD3_LIMB64
  - ADD4_LIMB64
  - ADD5_LIMB64
  - ADD7_LIMB64
  - SUB3_LIMB64
  - SUB4_LIMB64
  - SUB5_LIMB64
  - SUB7_LIMB64
  - LOAD64_UNALIGNED
  - LOAD64_UNALIGNED
  source_file: /src/libgcrypt/mpi/ec-inline.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIMBS_PER_LIMB64
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/mpi/ec-inline.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LIMBS_PER_LIMB64
      pos:
        line_end: 568
        line_start: 567
        source_file: /src/libgcrypt/mpi/ec-inline.h
      type_or_value: '2'
    - item_type: preproc_def
      name: BITS_PER_MPI_LIMB64
      pos:
        line_end: 1104
        line_start: 1103
        source_file: /src/libgcrypt/mpi/ec-inline.h
      type_or_value: (BITS_PER_MPI_LIMB * LIMBS_PER_LIMB64)
    - item_type: preproc_def
      name: BYTES_PER_MPI_LIMB64
      pos:
        line_end: 1105
        line_start: 1104
        source_file: /src/libgcrypt/mpi/ec-inline.h
      type_or_value: (BYTES_PER_MPI_LIMB * LIMBS_PER_LIMB64)
    structs:
    - fields:
      - name: lo
        type: mpi_limb_t
      - name: hi
        type: mpi_limb_t
      item_type: struct
      name: mpi_limb64_t
      pos:
        line_end: 579
        line_start: 575
        source_file: /src/libgcrypt/mpi/ec-inline.h
    typedefs:
    - item_type: typedef
      name: mpi_limb64_t
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/libgcrypt/mpi/ec-inline.h
      type: mpi_limb_t
    union: []
- function_names:
  - compute_minv
  - mont_reduc
  - mont_mul
  - window_size
  - _gcry_mpih_powm_lli
  source_file: /src/libgcrypt/mpi/mpih-pow.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SCRATCH_SPACE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libgcrypt/mpi/mpih-pow.c
      type_or_value: 256*2
    - item_type: preproc_def
      name: MAX_WINDOW
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libgcrypt/mpi/mpih-pow.c
      type_or_value: '8'
    - item_type: preproc_def
      name: MAX_SCRATCH_SPACE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/mpi/mpih-pow.c
      type_or_value: '256'
    - item_type: preproc_def
      name: MAX_WINDOW
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgcrypt/mpi/mpih-pow.c
      type_or_value: '4'
    - item_type: preproc_def
      name: temp0
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/libgcrypt/mpi/mpih-pow.c
      type_or_value: (scratch)
    - item_type: preproc_def
      name: temp2
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/libgcrypt/mpi/mpih-pow.c
      type_or_value: (scratch+n*2)
    - item_type: preproc_def
      name: a
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/libgcrypt/mpi/mpih-pow.c
      type_or_value: (scratch+n*4)
    - item_type: preproc_def
      name: precomp
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/libgcrypt/mpi/mpih-pow.c
      type_or_value: (scratch+n*5)
    - item_type: preproc_def
      name: temp1
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/libgcrypt/mpi/mpih-pow.c
      type_or_value: (precomp+n)
    - item_type: preproc_def
      name: x_tilde
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/libgcrypt/mpi/mpih-pow.c
      type_or_value: (precomp+n)
    structs: []
    typedefs: []
    union: []
- function_names:
  - prefetch
  - _gcry_mpi_ec_nist192_mod
  - _gcry_mpi_ec_nist224_mod
  - _gcry_mpi_ec_nist256_mod
  - _gcry_mpi_ec_nist384_mod
  - LOAD64_SHR32
  - LOAD64_SHR32
  - LOAD64_SHR32
  - _gcry_mpi_ec_nist521_mod
  source_file: /src/libgcrypt/mpi/ec-nist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mpih_ct_limb_greater_than
  - mpih_ct_limb_less_than
  - _gcry_mpih_set_cond
  - _gcry_mpih_add_n_cond
  - _gcry_mpih_sub_n_cond
  - _gcry_mpih_swap_cond
  - _gcry_mpih_abs_cond
  - _gcry_mpih_mod_lli
  - _gcry_mpih_cmp_ui
  - _gcry_mpih_cmp_lli
  - _gcry_mpih_lookup_lli
  source_file: /src/libgcrypt/mpi/mpih-const-time.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: A_LIMB_1
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libgcrypt/mpi/mpih-const-time.c
      type_or_value: ((mpi_limb_t)1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpi_get_hw_config
  - _gcry_mpi_init
  - _gcry_mpi_alloc
  - _gcry_mpi_alloc_secure
  - _gcry_mpi_alloc_limb_space
  - _gcry_mpi_free_limb_space
  - _gcry_mpi_assign_limb_space
  - _gcry_mpi_resize
  - _gcry_mpi_clear
  - _gcry_mpi_free
  - _gcry_mpi_immutable_failed
  - mpi_set_secure
  - _gcry_mpi_set_opaque
  - _gcry_mpi_set_opaque_copy
  - _gcry_mpi_get_opaque
  - _gcry_mpi_get_opaque_copy
  - _gcry_mpi_copy
  - _gcry_mpi_is_neg
  - _gcry_mpi_neg
  - _gcry_mpi_abs
  - _gcry_mpi_alloc_like
  - _gcry_mpi_snatch
  - _gcry_mpi_set
  - _gcry_mpi_set_cond
  - _gcry_mpi_set_ui
  - _gcry_mpi_get_ui
  - _gcry_mpi_alloc_set_ui
  - _gcry_mpi_swap
  - _gcry_mpi_swap_cond
  - _gcry_mpi_tfr
  - _gcry_mpi_set_bit_cond
  - _gcry_mpi_new
  - _gcry_mpi_snew
  - _gcry_mpi_release
  - _gcry_mpi_randomize
  - _gcry_mpi_set_flag
  - _gcry_mpi_clear_flag
  - _gcry_mpi_get_flag
  - _gcry_mpi_const
  source_file: /src/libgcrypt/mpi/mpiutil.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MY_UINT_MAX
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/mpi/mpiutil.c
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: MY_UINT_MAX
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/mpi/mpiutil.c
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: MY_UINT_MAX
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/mpi/mpiutil.c
      type_or_value: '0xffffffffffffffff'
    structs: []
    typedefs: []
    union: []
- function_names:
  - __ll_lowpart
  - __ll_highpart
  - __MPN
  - add_ssaaaa
  - sub_ddmmss
  - umul_ppmm
  - udiv_qrnnd
  - count_leading_zeros
  - umul_ppmm
  - udiv_qrnnd
  - add_ssaaaa
  - sub_ddmmss
  - umul_ppmm
  - umul_ppmm
  - count_leading_zeros
  - add_ssaaaa
  - sub_ddmmss
  - umul_ppmm
  - count_leading_zeros
  - umul_ppmm
  - smul_ppmm
  - __umulsidi3
  - add_ssaaaa
  - sub_ddmmss
  - umul_ppmm
  - udiv_qrnnd
  - count_leading_zeros
  - add_ssaaaa
  - sub_ddmmss
  - umul_ppmm
  - udiv_qrnnd
  - count_leading_zeros
  - umul_ppmm
  - smul_ppmm
  - sdiv_qrnnd
  - add_ssaaaa
  - sub_ddmmss
  - umul_ppmm
  - udiv_qrnnd
  - count_leading_zeros
  - count_trailing_zeros
  - add_ssaaaa
  - sub_ddmmss
  - umul_ppmm
  - udiv_qrnnd
  - count_leading_zeros
  - count_trailing_zeros
  - rshift_rhlc
  - add_ssaaaa
  - sub_ddmmss
  - umul_ppmm
  - __umulsidi3
  - udiv_qrnnd
  - count_leading_zeros
  - rshift_rhlc
  - add_ssaaaa
  - sub_ddmmss
  - umul_ppmm
  - udiv_qrnnd
  - sdiv_qrnnd
  - count_leading_zeros
  - umul_ppmm
  - add_ssaaaa
  - sub_ddmmss
  - count_leading_zeros
  - umul_ppmm
  - udiv_qrnnd
  - umul_ppmm
  - umul_ppmm
  - umul_ppmm
  - umul_ppmm
  - umul_ppmm
  - umul_ppmm
  - umul_ppmm
  - __umulsidi3
  - udiv_qrnnd
  - count_trailing_zeros
  - add_ssaaaa
  - sub_ddmmss
  - count_leading_zeros
  - umul_ppmm
  - smul_ppmm
  - add_ssaaaa
  - sub_ddmmss
  - count_leading_zeros
  - umul_ppmm
  - smul_ppmm
  - add_ssaaaa
  - sub_ddmmss
  - umul_ppmm
  - add_ssaaaa
  - sub_ddmmss
  - umul_ppmm
  - count_leading_zeros
  - umul_ppmm
  - add_ssaaaa
  - sub_ddmmss
  - umul_ppmm
  - udiv_qrnnd
  - umul_ppmm
  - udiv_qrnnd
  - count_leading_zeros
  - umul_ppmm
  - udiv_qrnnd
  - add_ssaaaa
  - sub_ddmmss
  - umul_ppmm
  - sdiv_qrnnd
  - add_ssaaaa
  - sub_ddmmss
  - umul_ppmm
  - add_ssaaaa
  - sub_ddmmss
  - umul_ppmm
  - udiv_qrnnd
  - umul_ppmm
  - __umulsidi3
  - add_ssaaaa
  - add_ssaaaa
  - sub_ddmmss
  - sub_ddmmss
  - umul_ppmm
  - umul_ppmm
  - smul_ppmm
  - __udiv_qrnnd_c
  - udiv_qrnnd
  - udiv_qrnnd
  - count_leading_zeros
  - count_leading_zeros
  - count_trailing_zeros
  - count_trailing_zeros
  - count_leading_zeros
  - count_trailing_zeros
  source_file: /src/libgcrypt/mpi/longlong.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UDWtype
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: unsigned long long
    - item_type: preproc_def
      name: UDWtype
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: unsigned __int128
    - item_type: preproc_def
      name: __BITS4
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: (W_TYPE_SIZE / 4)
    - item_type: preproc_def
      name: __ll_B
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: ((UWtype) 1 << (W_TYPE_SIZE / 2))
    - item_type: preproc_def
      name: __CLOBBER_CC
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: ': "cc"'
    - item_type: preproc_def
      name: __AND_CLOBBER_CC
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: ', "cc"'
    - item_type: preproc_def
      name: COUNT_LEADING_ZEROS_0
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '32'
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '46'
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '220'
    - item_type: preproc_def
      name: __ARM_ARCH
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '2'
    - item_type: preproc_def
      name: __ARM_ARCH
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '3'
    - item_type: preproc_def
      name: __ARM_ARCH
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '4'
    - item_type: preproc_def
      name: __ARM_ARCH
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '5'
    - item_type: preproc_def
      name: __ARM_ARCH
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '6'
    - item_type: preproc_def
      name: __ARM_ARCH
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '7'
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '20'
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '100'
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '8'
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '60'
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '40'
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '80'
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '40'
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 575
        line_start: 574
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '40'
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 635
        line_start: 634
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '40'
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '40'
    - item_type: preproc_def
      name: COUNT_LEADING_ZEROS_0
      pos:
        line_end: 713
        line_start: 712
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '(-32) '
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 758
        line_start: 757
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '45'
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 766
        line_start: 765
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '90'
    - item_type: preproc_def
      name: COUNT_LEADING_ZEROS_0
      pos:
        line_end: 778
        line_start: 777
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '32'
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 808
        line_start: 807
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '100'
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 809
        line_start: 808
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '400'
    - item_type: preproc_def
      name: COUNT_LEADING_ZEROS_0
      pos:
        line_end: 844
        line_start: 843
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '63 '
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 863
        line_start: 862
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '5'
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 864
        line_start: 863
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '25'
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 866
        line_start: 865
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '17'
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 867
        line_start: 866
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '150'
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 901
        line_start: 900
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '10'
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 902
        line_start: 901
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '100'
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 936
        line_start: 935
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '20'
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 937
        line_start: 936
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '140'
    - item_type: preproc_def
      name: __PPC_CLOBBER_CC
      pos:
        line_end: 986
        line_start: 985
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: ': "cc", "xer"'
    - item_type: preproc_def
      name: COUNT_LEADING_ZEROS_0
      pos:
        line_end: 1034
        line_start: 1033
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '32'
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 1041
        line_start: 1040
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '15'
    - item_type: preproc_def
      name: SMUL_TIME
      pos:
        line_end: 1048
        line_start: 1047
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '14'
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 1049
        line_start: 1048
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '120'
    - item_type: preproc_def
      name: COUNT_LEADING_ZEROS_0
      pos:
        line_end: 1098
        line_start: 1097
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '64'
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 1105
        line_start: 1104
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '15'
    - item_type: preproc_def
      name: SMUL_TIME
      pos:
        line_end: 1112
        line_start: 1111
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '14  '
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 1113
        line_start: 1112
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '120 '
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 1206
        line_start: 1205
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '20'
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 1207
        line_start: 1206
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '200'
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 1240
        line_start: 1239
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '5'
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 1278
        line_start: 1277
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '5'
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 1291
        line_start: 1290
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '25'
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 1303
        line_start: 1302
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '5'
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 1350
        line_start: 1349
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '37'
    - item_type: preproc_def
      name: UMUL_TIME
      pos:
        line_end: 1408
        line_start: 1407
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: "39\t\t"
    - item_type: preproc_def
      name: UDIV_TIME
      pos:
        line_end: 1418
        line_start: 1417
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '140'
    - item_type: preproc_def
      name: UDIV_NEEDS_NORMALIZATION
      pos:
        line_end: 1758
        line_start: 1757
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '1'
    - item_type: preproc_def
      name: udiv_qrnnd
      pos:
        line_end: 1759
        line_start: 1758
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: __udiv_qrnnd_c
    - item_type: preproc_def
      name: MPI_INTERNAL_NEED_CLZ_TAB
      pos:
        line_end: 1788
        line_start: 1787
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '1'
    - item_type: preproc_def
      name: COUNT_LEADING_ZEROS_0
      pos:
        line_end: 1810
        line_start: 1809
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: W_TYPE_SIZE
    - item_type: preproc_def
      name: UDIV_NEEDS_NORMALIZATION
      pos:
        line_end: 1826
        line_start: 1825
        source_file: /src/libgcrypt/mpi/longlong.h
      type_or_value: '0'
    structs: []
    typedefs:
    - item_type: typedef
      name: UTItype
      pos:
        line_end: 910
        line_start: 910
        source_file: /src/libgcrypt/mpi/longlong.h
      type: unsigned int
    - item_type: typedef
      name: UTItype
      pos:
        line_end: 1534
        line_start: 1534
        source_file: /src/libgcrypt/mpi/longlong.h
      type: unsigned int
    union: []
- function_names:
  - _gcry_mpi_cmp_ui
  - do_mpi_cmp
  - _gcry_mpi_cmp
  - _gcry_mpi_cmpabs
  source_file: /src/libgcrypt/mpi/mpi-cmp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/mpi/asm-common-amd64.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpih_add_1
  - _gcry_mpih_add_1_lli
  - _gcry_mpih_add
  - _gcry_mpih_sub_1
  - _gcry_mpih_sub
  - _gcry_mpih_cmp
  source_file: /src/libgcrypt/mpi/mpi-inline.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: G10_MPI_INLINE_DECL
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/mpi/mpi-inline.h
      type_or_value: extern inline __attribute__ ((__gnu_inline__))
    - item_type: preproc_def
      name: G10_MPI_INLINE_DECL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgcrypt/mpi/mpi-inline.h
      type_or_value: extern __inline__
    structs: []
    typedefs: []
    union: []
- function_names:
  - mpi_read_from_buffer
  - mpi_fromstr
  - do_get_buffer
  - _gcry_mpi_get_buffer
  - _gcry_mpi_get_buffer_extra
  - _gcry_mpi_get_secure_buffer
  - _gcry_mpi_set_buffer
  - onecompl
  - twocompl
  - _gcry_mpi_scan
  - _gcry_mpi_print
  - _gcry_mpi_aprint
  - _gcry_mpi_to_octet_string
  source_file: /src/libgcrypt/mpi/mpicoder.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_EXTERN_SCAN_BYTES
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/mpi/mpicoder.c
      type_or_value: (16*1024*1024)
    - item_type: preproc_def
      name: MAX_EXTERN_MPI_BITS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/mpi/mpicoder.c
      type_or_value: '16384'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MPN_MUL_N_RECURSE
  - MPN_SQR_N_RECURSE
  - mul_n_basecase
  - mul_n
  - _gcry_mpih_sqr_n_basecase
  - _gcry_mpih_sqr_n
  - _gcry_mpih_mul_n
  - _gcry_mpih_mul_karatsuba_case
  - _gcry_mpih_release_karatsuba_ctx
  - _gcry_mpih_mul
  - _gcry_mpih_mul_lli
  source_file: /src/libgcrypt/mpi/mpih-mul.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/mpi/mpi-inline.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mpi_ec_hw_mul_point
  source_file: /src/libgcrypt/mpi/ec-internal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _gcry_mpi_ec_nist192_mod
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgcrypt/mpi/ec-internal.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: _gcry_mpi_ec_nist224_mod
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgcrypt/mpi/ec-internal.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: _gcry_mpi_ec_nist256_mod
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgcrypt/mpi/ec-internal.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: _gcry_mpi_ec_nist384_mod
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/mpi/ec-internal.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: _gcry_mpi_ec_nist521_mod
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgcrypt/mpi/ec-internal.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: mpi_ec_hw_mul_point
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/mpi/ec-internal.h
      type_or_value: _gcry_s390x_ec_hw_mul_point
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/mpi/asm-common-aarch64.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpi_get_powm_config
  - _gcry_mpi_powm
  - mul_mod
  - _gcry_mpi_powm
  source_file: /src/libgcrypt/mpi/mpi-pow.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_ALGORITHM_LLI_EXPONENTIATION
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/mpi/mpi-pow.c
      type_or_value: (BITS_PER_MPI_LIMB >= 64)
    - item_type: preproc_def
      name: SIZE_PRECOMP
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/libgcrypt/mpi/mpi-pow.c
      type_or_value: ((1 << (5 - 1)))
    structs: []
    typedefs: []
    union: []
- function_names:
  - ABS
  - MIN
  - MAX
  - RESIZE_IF_NEEDED
  - RESIZE_AND_CLEAR_IF_NEEDED
  - MPN_COPY
  - MPN_COPY_INCR
  - MPN_COPY_DECR
  - MPN_ZERO
  - MPN_NORMALIZE
  - MPN_NORMALIZE_NOT_ZERO
  - MPN_MUL_N_RECURSE
  - UDIV_QRNND_PREINV
  - mpi_alloc_limb_space
  - mpi_rshift_limbs
  - mpi_lshift_limbs
  - mpih_set_cond
  - mpih_add_n_cond
  - mpih_sub_n_cond
  - mpih_swap_cond
  - mpih_abs_cond
  - mpih_mod_lli
  - mpih_limb_is_zero
  - mpih_limb_is_not_zero
  source_file: /src/libgcrypt/mpi/mpi-internal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BITS_PER_MPI_LIMB
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type_or_value: (8*BYTES_PER_MPI_LIMB)
    - item_type: preproc_def
      name: KARATSUBA_THRESHOLD
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type_or_value: '16'
    - item_type: preproc_def
      name: KARATSUBA_THRESHOLD
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type_or_value: '2'
    - item_type: preproc_def
      name: W_TYPE_SIZE
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type_or_value: BITS_PER_MPI_LIMB
    structs:
    - fields:
      - name: '*next'
        type: struct karatsuba_ctx
      - name: tspace
        type: mpi_ptr_t
      - name: tspace_nlimbs
        type: unsigned int
      - name: tspace_size
        type: mpi_size_t
      - name: tp
        type: mpi_ptr_t
      - name: tp_nlimbs
        type: unsigned int
      - name: tp_size
        type: mpi_size_t
      item_type: struct
      name: karatsuba_ctx
      pos:
        line_end: 217
        line_start: 209
        source_file: /src/libgcrypt/mpi/mpi-internal.h
    typedefs:
    - item_type: typedef
      name: mpi_limb_t
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type: unsigned int
    - item_type: typedef
      name: mpi_limb_signed_t
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type: signed int
    - item_type: typedef
      name: mpi_limb_t
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type: unsigned long int
    - item_type: typedef
      name: mpi_limb_signed_t
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type: signed long int
    - item_type: typedef
      name: mpi_limb_t
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type: unsigned long long int
    - item_type: typedef
      name: mpi_limb_signed_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type: signed long long int
    - item_type: typedef
      name: mpi_limb_t
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type: unsigned short int
    - item_type: typedef
      name: mpi_limb_signed_t
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type: signed short int
    - item_type: typedef
      name: UWtype
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type: mpi_limb_t
    - item_type: typedef
      name: UHWtype
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type: unsigned int
    - item_type: typedef
      name: UQItype
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type: unsigned int
    - item_type: typedef
      name: SItype
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type: int
    - item_type: typedef
      name: USItype
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type: unsigned int
    - item_type: typedef
      name: DItype
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type: int
    - item_type: typedef
      name: UDItype
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type: unsigned int
    - item_type: typedef
      name: UQItype
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type: unsigned char
    - item_type: typedef
      name: SItype
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type: long
    - item_type: typedef
      name: USItype
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/libgcrypt/mpi/mpi-internal.h
      type: unsigned long
    union: []
- function_names:
  - _gcry_mpi_fdiv_r
  - _gcry_mpi_fdiv_r_ui
  - _gcry_mpi_fdiv_q
  - _gcry_mpi_fdiv_qr
  - _gcry_mpi_tdiv_r
  - _gcry_mpi_tdiv_qr
  - _gcry_mpi_tdiv_q_2exp
  - _gcry_mpi_divisible_ui
  - _gcry_mpi_div
  source_file: /src/libgcrypt/mpi/mpi-div.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - point_init
  - point_free
  - _gcry_mpi_point_log
  - _gcry_mpi_point_new
  - _gcry_mpi_point_release
  - _gcry_mpi_point_init
  - _gcry_mpi_point_free_parts
  - point_set
  - _gcry_mpi_point_copy
  - _gcry_mpi_ec_point_resize
  - point_swap_cond
  - point_tfr
  - _gcry_mpi_point_get
  - _gcry_mpi_point_snatch_get
  - _gcry_mpi_point_set
  - _gcry_mpi_point_snatch_set
  - ec_mod
  - ec_addm
  - ec_subm
  - ec_mulm
  - ec_addm_lli
  - ec_subm_lli
  - ec_mulm_lli
  - ec_mul2
  - ec_powm
  - ec_pow2
  - ec_invm
  - ec_addm_25519
  - ec_subm_25519
  - ec_mulm_25519
  - ec_mul2_25519
  - ec_pow2_25519
  - ec_addm_448
  - ec_subm_448
  - ec_mulm_448
  - ec_mul2_448
  - ec_pow2_448
  - ec_secp256k1_mod
  - _gcry_mpi_ec_get_reset
  - ec_get_a_is_pminus3
  - ec_get_two_inv_p
  - scanval
  - ec_p_init
  - ec_deinit
  - _gcry_mpi_ec_p_internal_new
  - _gcry_mpi_ec_p_new
  - _gcry_mpi_ec_free
  - _gcry_mpi_ec_get_mpi
  - _gcry_mpi_ec_get_point
  - _gcry_mpi_ec_set_mpi
  - _gcry_mpi_ec_set_point
  - _gcry_mpi_ec_decode_point
  - _gcry_mpi_ec_get_affine
  - dup_point_weierstrass
  - dup_point_weierstrass_lli
  - dup_point_montgomery
  - dup_point_edwards
  - _gcry_mpi_ec_dup_point
  - add_points_weierstrass_a
  - add_points_weierstrass
  - add_points_montgomery
  - add_points_edwards
  - add_points_edwards_a
  - montgomery_ladder
  - _gcry_mpi_ec_add_points
  - sub_points_weierstrass
  - sub_points_montgomery
  - sub_points_edwards
  - _gcry_mpi_ec_sub_points
  - montgomery_mul_point
  - mpi_ec_mul_point_lli
  - _gcry_mpi_ec_mul_point
  - _gcry_mpi_ec_curve_point
  - _gcry_mpi_ec_bad_point
  source_file: /src/libgcrypt/mpi/ec.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIMB_SIZE_25519
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: ((256+BITS_PER_MPI_LIMB-1)/BITS_PER_MPI_LIMB)
    - item_type: preproc_def
      name: LIMB_SIZE_448
      pos:
        line_end: 523
        line_start: 522
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: ((448+BITS_PER_MPI_LIMB-1)/BITS_PER_MPI_LIMB)
    - item_type: preproc_def
      name: LIMB_SIZE_HALF_448
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: ((LIMB_SIZE_448+1)/2)
    - item_type: preproc_def
      name: x3
      pos:
        line_end: 1314
        line_start: 1313
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->x)
    - item_type: preproc_def
      name: y3
      pos:
        line_end: 1315
        line_start: 1314
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->y)
    - item_type: preproc_def
      name: z3
      pos:
        line_end: 1316
        line_start: 1315
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->z)
    - item_type: preproc_def
      name: t1
      pos:
        line_end: 1317
        line_start: 1316
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[0])
    - item_type: preproc_def
      name: t2
      pos:
        line_end: 1318
        line_start: 1317
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[1])
    - item_type: preproc_def
      name: t3
      pos:
        line_end: 1319
        line_start: 1318
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[2])
    - item_type: preproc_def
      name: l1
      pos:
        line_end: 1320
        line_start: 1319
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[3])
    - item_type: preproc_def
      name: l2
      pos:
        line_end: 1321
        line_start: 1320
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[4])
    - item_type: preproc_def
      name: l3
      pos:
        line_end: 1322
        line_start: 1321
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[5])
    - item_type: preproc_def
      name: x3
      pos:
        line_end: 1403
        line_start: 1402
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->x)
    - item_type: preproc_def
      name: y3
      pos:
        line_end: 1404
        line_start: 1403
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->y)
    - item_type: preproc_def
      name: z3
      pos:
        line_end: 1405
        line_start: 1404
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->z)
    - item_type: preproc_def
      name: t1
      pos:
        line_end: 1406
        line_start: 1405
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[0])
    - item_type: preproc_def
      name: t2
      pos:
        line_end: 1407
        line_start: 1406
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[1])
    - item_type: preproc_def
      name: t3
      pos:
        line_end: 1408
        line_start: 1407
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[2])
    - item_type: preproc_def
      name: l1
      pos:
        line_end: 1409
        line_start: 1408
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[3])
    - item_type: preproc_def
      name: l2
      pos:
        line_end: 1410
        line_start: 1409
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[4])
    - item_type: preproc_def
      name: l3
      pos:
        line_end: 1411
        line_start: 1410
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[5])
    - item_type: preproc_def
      name: X1
      pos:
        line_end: 1494
        line_start: 1493
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (point->x)
    - item_type: preproc_def
      name: Y1
      pos:
        line_end: 1495
        line_start: 1494
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (point->y)
    - item_type: preproc_def
      name: Z1
      pos:
        line_end: 1496
        line_start: 1495
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (point->z)
    - item_type: preproc_def
      name: X3
      pos:
        line_end: 1497
        line_start: 1496
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->x)
    - item_type: preproc_def
      name: Y3
      pos:
        line_end: 1498
        line_start: 1497
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->y)
    - item_type: preproc_def
      name: Z3
      pos:
        line_end: 1499
        line_start: 1498
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->z)
    - item_type: preproc_def
      name: B
      pos:
        line_end: 1500
        line_start: 1499
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[0])
    - item_type: preproc_def
      name: C
      pos:
        line_end: 1501
        line_start: 1500
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[1])
    - item_type: preproc_def
      name: D
      pos:
        line_end: 1502
        line_start: 1501
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[2])
    - item_type: preproc_def
      name: E
      pos:
        line_end: 1503
        line_start: 1502
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[3])
    - item_type: preproc_def
      name: F
      pos:
        line_end: 1504
        line_start: 1503
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[4])
    - item_type: preproc_def
      name: H
      pos:
        line_end: 1505
        line_start: 1504
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[5])
    - item_type: preproc_def
      name: J
      pos:
        line_end: 1506
        line_start: 1505
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[6])
    - item_type: preproc_def
      name: x1
      pos:
        line_end: 1593
        line_start: 1592
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (p1->x    )
    - item_type: preproc_def
      name: y1
      pos:
        line_end: 1594
        line_start: 1593
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (p1->y    )
    - item_type: preproc_def
      name: z1
      pos:
        line_end: 1595
        line_start: 1594
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (p1->z    )
    - item_type: preproc_def
      name: x3
      pos:
        line_end: 1596
        line_start: 1595
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->x)
    - item_type: preproc_def
      name: y3
      pos:
        line_end: 1597
        line_start: 1596
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->y)
    - item_type: preproc_def
      name: z3
      pos:
        line_end: 1598
        line_start: 1597
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->z)
    - item_type: preproc_def
      name: l1
      pos:
        line_end: 1599
        line_start: 1598
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[0])
    - item_type: preproc_def
      name: l2
      pos:
        line_end: 1600
        line_start: 1599
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[1])
    - item_type: preproc_def
      name: l3
      pos:
        line_end: 1601
        line_start: 1600
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[2])
    - item_type: preproc_def
      name: l4
      pos:
        line_end: 1602
        line_start: 1601
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[3])
    - item_type: preproc_def
      name: l5
      pos:
        line_end: 1603
        line_start: 1602
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[4])
    - item_type: preproc_def
      name: l6
      pos:
        line_end: 1604
        line_start: 1603
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[5])
    - item_type: preproc_def
      name: l7
      pos:
        line_end: 1605
        line_start: 1604
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[6])
    - item_type: preproc_def
      name: l8
      pos:
        line_end: 1606
        line_start: 1605
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[7])
    - item_type: preproc_def
      name: l9
      pos:
        line_end: 1607
        line_start: 1606
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[8])
    - item_type: preproc_def
      name: x1
      pos:
        line_end: 1665
        line_start: 1664
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (p1->x    )
    - item_type: preproc_def
      name: y1
      pos:
        line_end: 1666
        line_start: 1665
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (p1->y    )
    - item_type: preproc_def
      name: z1
      pos:
        line_end: 1667
        line_start: 1666
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (p1->z    )
    - item_type: preproc_def
      name: x2
      pos:
        line_end: 1668
        line_start: 1667
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (p2->x    )
    - item_type: preproc_def
      name: y2
      pos:
        line_end: 1669
        line_start: 1668
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (p2->y    )
    - item_type: preproc_def
      name: z2
      pos:
        line_end: 1670
        line_start: 1669
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (p2->z    )
    - item_type: preproc_def
      name: x3
      pos:
        line_end: 1671
        line_start: 1670
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->x)
    - item_type: preproc_def
      name: y3
      pos:
        line_end: 1672
        line_start: 1671
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->y)
    - item_type: preproc_def
      name: z3
      pos:
        line_end: 1673
        line_start: 1672
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->z)
    - item_type: preproc_def
      name: l1
      pos:
        line_end: 1674
        line_start: 1673
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[0])
    - item_type: preproc_def
      name: l2
      pos:
        line_end: 1675
        line_start: 1674
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[1])
    - item_type: preproc_def
      name: l3
      pos:
        line_end: 1676
        line_start: 1675
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[2])
    - item_type: preproc_def
      name: l4
      pos:
        line_end: 1677
        line_start: 1676
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[3])
    - item_type: preproc_def
      name: l5
      pos:
        line_end: 1678
        line_start: 1677
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[4])
    - item_type: preproc_def
      name: l6
      pos:
        line_end: 1679
        line_start: 1678
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[5])
    - item_type: preproc_def
      name: l7
      pos:
        line_end: 1680
        line_start: 1679
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[6])
    - item_type: preproc_def
      name: l8
      pos:
        line_end: 1681
        line_start: 1680
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[7])
    - item_type: preproc_def
      name: l9
      pos:
        line_end: 1682
        line_start: 1681
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[8])
    - item_type: preproc_def
      name: X1
      pos:
        line_end: 1805
        line_start: 1804
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (p1->x)
    - item_type: preproc_def
      name: Y1
      pos:
        line_end: 1806
        line_start: 1805
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (p1->y)
    - item_type: preproc_def
      name: Z1
      pos:
        line_end: 1807
        line_start: 1806
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (p1->z)
    - item_type: preproc_def
      name: X2
      pos:
        line_end: 1808
        line_start: 1807
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (p2->x)
    - item_type: preproc_def
      name: Y2
      pos:
        line_end: 1809
        line_start: 1808
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (p2->y)
    - item_type: preproc_def
      name: Z2
      pos:
        line_end: 1810
        line_start: 1809
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (p2->z)
    - item_type: preproc_def
      name: X3
      pos:
        line_end: 1811
        line_start: 1810
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->x)
    - item_type: preproc_def
      name: Y3
      pos:
        line_end: 1812
        line_start: 1811
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->y)
    - item_type: preproc_def
      name: Z3
      pos:
        line_end: 1813
        line_start: 1812
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->z)
    - item_type: preproc_def
      name: A
      pos:
        line_end: 1814
        line_start: 1813
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[0])
    - item_type: preproc_def
      name: B
      pos:
        line_end: 1815
        line_start: 1814
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[1])
    - item_type: preproc_def
      name: C
      pos:
        line_end: 1816
        line_start: 1815
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[2])
    - item_type: preproc_def
      name: D
      pos:
        line_end: 1817
        line_start: 1816
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[3])
    - item_type: preproc_def
      name: E
      pos:
        line_end: 1818
        line_start: 1817
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[4])
    - item_type: preproc_def
      name: F
      pos:
        line_end: 1819
        line_start: 1818
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[5])
    - item_type: preproc_def
      name: G
      pos:
        line_end: 1820
        line_start: 1819
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[6])
    - item_type: preproc_def
      name: tmp
      pos:
        line_end: 1821
        line_start: 1820
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[7])
    - item_type: preproc_def
      name: X1
      pos:
        line_end: 1904
        line_start: 1903
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (p1->x)
    - item_type: preproc_def
      name: Y1
      pos:
        line_end: 1905
        line_start: 1904
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (p1->y)
    - item_type: preproc_def
      name: Z1
      pos:
        line_end: 1906
        line_start: 1905
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (p1->z)
    - item_type: preproc_def
      name: X2
      pos:
        line_end: 1907
        line_start: 1906
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: x2
    - item_type: preproc_def
      name: Y2
      pos:
        line_end: 1908
        line_start: 1907
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: y2
    - item_type: preproc_def
      name: X3
      pos:
        line_end: 1909
        line_start: 1908
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->x)
    - item_type: preproc_def
      name: Y3
      pos:
        line_end: 1910
        line_start: 1909
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->y)
    - item_type: preproc_def
      name: Z3
      pos:
        line_end: 1911
        line_start: 1910
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (result->z)
    - item_type: preproc_def
      name: B
      pos:
        line_end: 1912
        line_start: 1911
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[1])
    - item_type: preproc_def
      name: C
      pos:
        line_end: 1913
        line_start: 1912
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[2])
    - item_type: preproc_def
      name: D
      pos:
        line_end: 1914
        line_start: 1913
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[3])
    - item_type: preproc_def
      name: E
      pos:
        line_end: 1915
        line_start: 1914
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[4])
    - item_type: preproc_def
      name: F
      pos:
        line_end: 1916
        line_start: 1915
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[5])
    - item_type: preproc_def
      name: G
      pos:
        line_end: 1917
        line_start: 1916
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[6])
    - item_type: preproc_def
      name: tmp
      pos:
        line_end: 1918
        line_start: 1917
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: (ctx->t.scratch[7])
    - item_type: preproc_def
      name: xx
      pos:
        line_end: 2507
        line_start: 2506
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: y
    - item_type: preproc_def
      name: p_minus1_half
      pos:
        line_end: 2526
        line_start: 2525
        source_file: /src/libgcrypt/mpi/ec.c
      type_or_value: y
    structs:
    - fields:
      - name: '*p'
        type: char
      - name: (* addm) (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, mpi_ec_t ctx)
        type: void
      - name: (* subm) (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, mpi_ec_t ctx)
        type: void
      - name: (* mulm) (gcry_mpi_t w, gcry_mpi_t u, gcry_mpi_t v, mpi_ec_t ctx)
        type: void
      - name: (* mul2) (gcry_mpi_t w, gcry_mpi_t u, mpi_ec_t ctx)
        type: void
      - name: (* pow2) (gcry_mpi_t w, const gcry_mpi_t b, mpi_ec_t ctx)
        type: void
      - name: (* mod) (gcry_mpi_t w, mpi_ec_t ctx)
        type: void
      item_type: struct
      name: field_table
      pos:
        line_end: 709
        line_start: 699
        source_file: /src/libgcrypt/mpi/ec.c
    typedefs: []
    union: []
- function_names:
  - mpi_copy_to_raw
  - _gcry_s390x_ec_hw_mul_point
  - s390_mul_point_montgomery
  source_file: /src/libgcrypt/mpi/ec-hw-s390x.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: S390X_PCC_PARAM_BLOCK_SIZE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgcrypt/mpi/ec-hw-s390x.c
      type_or_value: '4096'
    structs:
    - fields:
      - name: out_x[256 / 8]
        type: byte
      - name: out_y[256 / 8]
        type: byte
      - name: in_x[256 / 8]
        type: byte
      - name: in_y[256 / 8]
        type: byte
      - name: scalar[256 / 8]
        type: byte
      - name: c_and_ribm[64]
        type: byte
      item_type: struct
      name: pcc_param_block_nistp256_s
      pos:
        line_end: 129
        line_start: 121
        source_file: /src/libgcrypt/mpi/ec-hw-s390x.c
    - fields:
      - name: out_x[384 / 8]
        type: byte
      - name: out_y[384 / 8]
        type: byte
      - name: in_x[384 / 8]
        type: byte
      - name: in_y[384 / 8]
        type: byte
      - name: scalar[384 / 8]
        type: byte
      - name: c_and_ribm[64]
        type: byte
      item_type: struct
      name: pcc_param_block_nistp384_s
      pos:
        line_end: 152
        line_start: 144
        source_file: /src/libgcrypt/mpi/ec-hw-s390x.c
    - fields:
      - name: out_x[640 / 8]
        type: byte
      - name: out_y[640 / 8]
        type: byte
      - name: in_x[640 / 8]
        type: byte
      - name: in_y[640 / 8]
        type: byte
      - name: scalar[640 / 8]
        type: byte
      - name: c_and_ribm[64]
        type: byte
      item_type: struct
      name: pcc_param_block_nistp521_s
      pos:
        line_end: 175
        line_start: 167
        source_file: /src/libgcrypt/mpi/ec-hw-s390x.c
    - fields:
      - name: out_x[256 / 8]
        type: byte
      - name: out_y[256 / 8]
        type: byte
      - name: in_x[256 / 8]
        type: byte
      - name: in_y[256 / 8]
        type: byte
      - name: scalar[256 / 8]
        type: byte
      - name: c_and_ribm[64]
        type: byte
      item_type: struct
      name: pcc_param_block_ed25519_s
      pos:
        line_end: 200
        line_start: 192
        source_file: /src/libgcrypt/mpi/ec-hw-s390x.c
    - fields:
      - name: out_x[512 / 8]
        type: byte
      - name: out_y[512 / 8]
        type: byte
      - name: in_x[512 / 8]
        type: byte
      - name: in_y[512 / 8]
        type: byte
      - name: scalar[512 / 8]
        type: byte
      - name: c_and_ribm[64]
        type: byte
      item_type: struct
      name: pcc_param_block_ed448_s
      pos:
        line_end: 223
        line_start: 215
        source_file: /src/libgcrypt/mpi/ec-hw-s390x.c
    - fields:
      - name: out_x[256 / 8]
        type: byte
      - name: in_x[256 / 8]
        type: byte
      - name: scalar[256 / 8]
        type: byte
      - name: c_and_ribm[64]
        type: byte
      item_type: struct
      name: pcc_param_block_x25519_s
      pos:
        line_end: 318
        line_start: 312
        source_file: /src/libgcrypt/mpi/ec-hw-s390x.c
    - fields:
      - name: out_x[512 / 8]
        type: byte
      - name: in_x[512 / 8]
        type: byte
      - name: scalar[512 / 8]
        type: byte
      - name: c_and_ribm[64]
        type: byte
      item_type: struct
      name: pcc_param_block_x448_s
      pos:
        line_end: 336
        line_start: 330
        source_file: /src/libgcrypt/mpi/ec-hw-s390x.c
    typedefs: []
    union: []
- function_names:
  - _gcry_mpi_gcd
  source_file: /src/libgcrypt/mpi/mpi-gcd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpih_sub_n
  source_file: /src/libgcrypt/mpi/mpih-sub1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpih_rshift
  source_file: /src/libgcrypt/mpi/mpih-rshift.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpih_addmul_1
  source_file: /src/libgcrypt/mpi/mpih-mul2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/mpi/mpi-asm-defs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BYTES_PER_MPI_LIMB
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/libgcrypt/mpi/mpi-asm-defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: BYTES_PER_MPI_LIMB
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/libgcrypt/mpi/mpi-asm-defs.h
      type_or_value: (SIZEOF_UNSIGNED_LONG)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/mpi/asm-syntax.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpih_submul_1
  source_file: /src/libgcrypt/mpi/mpih-mul3.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpih_lshift
  source_file: /src/libgcrypt/mpi/mpih-lshift.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - C_SYMBOL_NAME
  source_file: /src/libgcrypt/mpi/sysdep.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpih_add_n
  source_file: /src/libgcrypt/mpi/mpih-add1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/mpi/mod-source-info.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpih_mul_1
  source_file: /src/libgcrypt/mpi/mpih-mul1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - R
  - MEM
  - MEM_DISP
  - MEM_INDX
  - MEM_INDX1
  - MEM_PREDEC
  - MEM_POSTINC
  - L
  - R
  - MEM
  - MEM_DISP
  - MEM_INDX
  - MEM_INDX1
  - MEM_PREDEC
  - MEM_POSTINC
  - L
  - R
  - MEM
  - MEM_DISP
  - MEM_INDX
  - MEM_INDX1
  - MEM_PREDEC
  - MEM_POSTINC
  - L
  - PROLOG
  - EPILOG
  - MEM
  - MEM_DISP
  - MEM_PREDEC
  - MEM_POSTINC
  - R_
  - R
  - MEM_INDX_
  - MEM_INDX
  - MEM_INDX1_
  - MEM_INDX1
  - L
  - MEM_INDX
  - MEM_INDX1
  source_file: /src/libgcrypt/mpi/m68k/syntax.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEXT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: .text
    - item_type: preproc_def
      name: ALIGN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: .even
    - item_type: preproc_def
      name: GLOBL
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: .globl
    - item_type: preproc_def
      name: moveql
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: moveq
    - item_type: preproc_def
      name: bcc
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: jcc
    - item_type: preproc_def
      name: bcs
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: jcs
    - item_type: preproc_def
      name: bls
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: jls
    - item_type: preproc_def
      name: beq
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: jeq
    - item_type: preproc_def
      name: bne
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: jne
    - item_type: preproc_def
      name: bra
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: jra
    - item_type: preproc_def
      name: TEXT
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: .text
    - item_type: preproc_def
      name: ALIGN
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: .even
    - item_type: preproc_def
      name: GLOBL
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: .globl
    - item_type: preproc_def
      name: GLOBL
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: XDEF
    - item_type: preproc_def
      name: lea
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: LEA
    - item_type: preproc_def
      name: movel
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: MOVE.L
    - item_type: preproc_def
      name: moveml
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: MOVEM.L
    - item_type: preproc_def
      name: moveql
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: MOVEQ.L
    - item_type: preproc_def
      name: cmpl
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: CMP.L
    - item_type: preproc_def
      name: orl
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: OR.L
    - item_type: preproc_def
      name: clrl
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: CLR.L
    - item_type: preproc_def
      name: eorw
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: EOR.W
    - item_type: preproc_def
      name: lsrl
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: LSR.L
    - item_type: preproc_def
      name: lsll
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: LSL.L
    - item_type: preproc_def
      name: roxrl
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: ROXR.L
    - item_type: preproc_def
      name: roxll
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: ROXL.L
    - item_type: preproc_def
      name: addl
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: ADD.L
    - item_type: preproc_def
      name: addxl
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: ADDX.L
    - item_type: preproc_def
      name: addql
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: ADDQ.L
    - item_type: preproc_def
      name: subl
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: SUB.L
    - item_type: preproc_def
      name: subxl
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: SUBX.L
    - item_type: preproc_def
      name: subql
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: SUBQ.L
    - item_type: preproc_def
      name: negl
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: NEG.L
    - item_type: preproc_def
      name: mulul
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: MULU.L
    - item_type: preproc_def
      name: bcc
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: BCC
    - item_type: preproc_def
      name: bcs
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: BCS
    - item_type: preproc_def
      name: bls
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: BLS
    - item_type: preproc_def
      name: beq
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: BEQ
    - item_type: preproc_def
      name: bne
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: BNE
    - item_type: preproc_def
      name: bra
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: BRA
    - item_type: preproc_def
      name: dbf
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: DBF
    - item_type: preproc_def
      name: rts
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: RTS
    - item_type: preproc_def
      name: d0
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: D0
    - item_type: preproc_def
      name: d1
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: D1
    - item_type: preproc_def
      name: d2
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: D2
    - item_type: preproc_def
      name: d3
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: D3
    - item_type: preproc_def
      name: d4
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: D4
    - item_type: preproc_def
      name: d5
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: D5
    - item_type: preproc_def
      name: d6
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: D6
    - item_type: preproc_def
      name: d7
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: D7
    - item_type: preproc_def
      name: a0
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: A0
    - item_type: preproc_def
      name: a1
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: A1
    - item_type: preproc_def
      name: a2
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: A2
    - item_type: preproc_def
      name: a3
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: A3
    - item_type: preproc_def
      name: a4
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: A4
    - item_type: preproc_def
      name: a5
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: A5
    - item_type: preproc_def
      name: a6
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: A6
    - item_type: preproc_def
      name: a7
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: A7
    - item_type: preproc_def
      name: sp
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: SP
    - item_type: preproc_def
      name: TEXT
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: .text
    - item_type: preproc_def
      name: ALIGN
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: .align 2
    - item_type: preproc_def
      name: GLOBL
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: .globl
    - item_type: preproc_def
      name: bcc
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: jbcc
    - item_type: preproc_def
      name: bcs
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: jbcs
    - item_type: preproc_def
      name: bls
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: jbls
    - item_type: preproc_def
      name: beq
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: jbeq
    - item_type: preproc_def
      name: bne
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: jbne
    - item_type: preproc_def
      name: bra
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: jbra
    - item_type: preproc_def
      name: movel
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: move.l
    - item_type: preproc_def
      name: moveml
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: movem.l
    - item_type: preproc_def
      name: moveql
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: moveq.l
    - item_type: preproc_def
      name: cmpl
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: cmp.l
    - item_type: preproc_def
      name: orl
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: or.l
    - item_type: preproc_def
      name: clrl
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: clr.l
    - item_type: preproc_def
      name: eorw
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: eor.w
    - item_type: preproc_def
      name: lsrl
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: lsr.l
    - item_type: preproc_def
      name: lsll
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: lsl.l
    - item_type: preproc_def
      name: roxrl
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: roxr.l
    - item_type: preproc_def
      name: roxll
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: roxl.l
    - item_type: preproc_def
      name: addl
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: add.l
    - item_type: preproc_def
      name: addxl
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: addx.l
    - item_type: preproc_def
      name: addql
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: addq.l
    - item_type: preproc_def
      name: subl
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: sub.l
    - item_type: preproc_def
      name: subxl
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: subx.l
    - item_type: preproc_def
      name: subql
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: subq.l
    - item_type: preproc_def
      name: negl
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: neg.l
    - item_type: preproc_def
      name: mulul
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/libgcrypt/mpi/m68k/syntax.h
      type_or_value: mulu.l
    structs: []
    typedefs: []
    union: []
- function_names:
  - ALIGNARG
  - ASM_TYPE_DIRECTIVE
  - ASM_SIZE_DIRECTIVE
  - C_LABEL
  - L
  - ENTRY
  - EALIGN
  - END
  source_file: /src/libgcrypt/mpi/powerpc32/syntax.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_PPC_PATCHES
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/libgcrypt/mpi/powerpc32/syntax.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ASM_GLOBAL_DIRECTIVE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgcrypt/mpi/powerpc32/syntax.h
      type_or_value: .globl
    - item_type: preproc_def
      name: EALIGN_W_1
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgcrypt/mpi/powerpc32/syntax.h
      type_or_value: nop
    - item_type: preproc_def
      name: EALIGN_W_2
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libgcrypt/mpi/powerpc32/syntax.h
      type_or_value: nop;nop
    - item_type: preproc_def
      name: EALIGN_W_3
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgcrypt/mpi/powerpc32/syntax.h
      type_or_value: nop;nop;nop
    - item_type: preproc_def
      name: EALIGN_W_4
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libgcrypt/mpi/powerpc32/syntax.h
      type_or_value: EALIGN_W_3;nop
    - item_type: preproc_def
      name: EALIGN_W_5
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgcrypt/mpi/powerpc32/syntax.h
      type_or_value: EALIGN_W_4;nop
    - item_type: preproc_def
      name: EALIGN_W_6
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libgcrypt/mpi/powerpc32/syntax.h
      type_or_value: EALIGN_W_5;nop
    - item_type: preproc_def
      name: EALIGN_W_7
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libgcrypt/mpi/powerpc32/syntax.h
      type_or_value: EALIGN_W_6;nop
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpih_sub_n
  source_file: /src/libgcrypt/mpi/generic/mpih-sub1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpih_rshift
  source_file: /src/libgcrypt/mpi/generic/mpih-rshift.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpih_addmul_1
  source_file: /src/libgcrypt/mpi/generic/mpih-mul2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/mpi/generic/mpi-asm-defs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BYTES_PER_MPI_LIMB
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/libgcrypt/mpi/generic/mpi-asm-defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: BYTES_PER_MPI_LIMB
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/libgcrypt/mpi/generic/mpi-asm-defs.h
      type_or_value: (SIZEOF_UNSIGNED_LONG)
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpih_submul_1
  source_file: /src/libgcrypt/mpi/generic/mpih-mul3.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpih_lshift
  source_file: /src/libgcrypt/mpi/generic/mpih-lshift.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpih_add_n
  source_file: /src/libgcrypt/mpi/generic/mpih-add1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gcry_mpih_mul_1
  source_file: /src/libgcrypt/mpi/generic/mpih-mul1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mpihelp_udiv_w_sdiv
  source_file: /src/libgcrypt/mpi/generic/udiv-w-sdiv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/mpi/mips3/mpi-asm-defs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BYTES_PER_MPI_LIMB
      pos:
        line_end: 4
        line_start: 3
        source_file: /src/libgcrypt/mpi/mips3/mpi-asm-defs.h
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/mpi/aarch64/mpi-asm-defs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BYTES_PER_MPI_LIMB
      pos:
        line_end: 4
        line_start: 3
        source_file: /src/libgcrypt/mpi/aarch64/mpi-asm-defs.h
      type_or_value: (SIZEOF_UNSIGNED_LONG_LONG)
    structs: []
    typedefs: []
    union: []
- function_names:
  - R
  - MEM
  - MEM_DISP
  - MEM_INDEX
  - INSN1
  - INSN2
  - ALIGN
  - ALIGN
  - R
  - MEM
  - MEM_DISP
  - MEM_INDEX
  - INSN1
  - INSN2
  - ALIGN
  - ALIGN
  source_file: /src/libgcrypt/mpi/i386/syntax.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: size_suffix
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgcrypt/mpi/i386/syntax.h
      type_or_value: dst
    - item_type: preproc_def
      name: size_suffix
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgcrypt/mpi/i386/syntax.h
      type_or_value: src,dst
    - item_type: preproc_def
      name: TEXT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgcrypt/mpi/i386/syntax.h
      type_or_value: .text
    - item_type: preproc_def
      name: GLOBL
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgcrypt/mpi/i386/syntax.h
      type_or_value: .globl
    - item_type: preproc_def
      name: TEXT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libgcrypt/mpi/i386/syntax.h
      type_or_value: .text
    - item_type: preproc_def
      name: GLOBL
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libgcrypt/mpi/i386/syntax.h
      type_or_value: .globl
    - item_type: preproc_def
      name: SPEC_STOP
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libgcrypt/mpi/i386/syntax.h
      type_or_value: int3
    - item_type: preproc_def
      name: ret_spec_stop
      pos:
        line_end: 81
        line_start: 79
        source_file: /src/libgcrypt/mpi/i386/syntax.h
      type_or_value: ret; SPEC_STOP;
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/mpi/arm/mpi-asm-defs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BYTES_PER_MPI_LIMB
      pos:
        line_end: 4
        line_start: 3
        source_file: /src/libgcrypt/mpi/arm/mpi-asm-defs.h
      type_or_value: (SIZEOF_UNSIGNED_LONG)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgcrypt/mpi/amd64/mpi-asm-defs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BYTES_PER_MPI_LIMB
      pos:
        line_end: 4
        line_start: 3
        source_file: /src/libgcrypt/mpi/amd64/mpi-asm-defs.h
      type_or_value: (SIZEOF_UNSIGNED_LONG_LONG)
    structs: []
    typedefs: []
    union: []
- function_names:
  - FUNC_ENTRY
  - FUNC_EXIT
  - FUNC_ENTRY
  - FUNC_EXIT
  source_file: /src/libgcrypt/mpi/amd64/func_abi.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUILD_COMMITID
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/libgpg-error/config.h
      type_or_value: '"9cc750a816554e46d3e1496533f927b17ef3fcef"'
    - item_type: preproc_def
      name: BUILD_TIMESTAMP
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/libgpg-error/config.h
      type_or_value: '"<none>"'
    - item_type: preproc_def
      name: ENABLE_NLS
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPGRT_USE_VISIBILITY
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DCGETTEXT
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DECL_STRERROR_R
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_DLFCN_H
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FLOCKFILE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GCC_ATTRIBUTE_ALIGNED
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETDENTS64
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETPWNAM
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETPWNAM_R
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETPWUID
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETPWUID_R
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETRLIMIT
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETTEXT
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INET_PTON
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INTMAX_T
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INTTYPES_H
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LANGINFO_CODESET
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LANGINFO_THOUSEP
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LOCALE_H
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LONG_DOUBLE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LONG_DOUBLE_WIDER
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LONG_LONG_INT
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_MEMORY_H
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_MEMRCHR
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_MMAP
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_POLL_H
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTHREAD_API
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTHREAD_MUTEX_RECURSIVE
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTHREAD_RWLOCK
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTRDIFF_T
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PWD_H
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_RAND
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SETENV
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SIGNAL_H
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SNPRINTF
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STAT
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDINT_H
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDLIB_H
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STPCPY
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRERROR_R
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRINGS_H
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRING_H
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_SELECT_H
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_STAT_H
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_TIME_H
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_TYPES_H
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_THREADS_H
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UINTMAX_T
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UNISTD_H
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UNSIGNED_LONG_LONG_INT
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_VASPRINTF
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_WEAK_SYMBOLS
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HOST_TRIPLET_STRING
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/libgpg-error/config.h
      type_or_value: '"x86_64-pc-linux-gnu"'
    - item_type: preproc_def
      name: LT_OBJDIR
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/libgpg-error/config.h
      type_or_value: '".libs/"'
    - item_type: preproc_def
      name: PACKAGE
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/libgpg-error/config.h
      type_or_value: '"libgpg-error"'
    - item_type: preproc_def
      name: PACKAGE_BUGREPORT
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/libgpg-error/config.h
      type_or_value: '"https://bugs.gnupg.org"'
    - item_type: preproc_def
      name: PACKAGE_NAME
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/libgpg-error/config.h
      type_or_value: '"libgpg-error"'
    - item_type: preproc_def
      name: PACKAGE_STRING
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/libgpg-error/config.h
      type_or_value: '"libgpg-error 1.62"'
    - item_type: preproc_def
      name: PACKAGE_TARNAME
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/libgpg-error/config.h
      type_or_value: '"libgpg-error"'
    - item_type: preproc_def
      name: PACKAGE_URL
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/libgpg-error/config.h
      type_or_value: '""'
    - item_type: preproc_def
      name: PACKAGE_VERSION
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/libgpg-error/config.h
      type_or_value: '"1.62"'
    - item_type: preproc_def
      name: REPLACEMENT_FOR_OFF_T
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/libgpg-error/config.h
      type_or_value: '"long"'
    - item_type: preproc_def
      name: SIZEOF_INT
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/libgpg-error/config.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_LONG
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/libgpg-error/config.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_LONG_LONG
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/libgpg-error/config.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_PTHREAD_MUTEX_T
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/libgpg-error/config.h
      type_or_value: '40'
    - item_type: preproc_def
      name: SIZEOF_UNSIGNED_LONG
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/libgpg-error/config.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_VOID_P
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/libgpg-error/config.h
      type_or_value: '8'
    - item_type: preproc_def
      name: STDC_HEADERS
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STRERROR_R_CHAR_P
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_POSIX_THREADS
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_POSIX_THREADS_WEAK
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _ALL_SOURCE
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _GNU_SOURCE
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _POSIX_PTHREAD_SEMANTICS
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _TANDEM_SOURCE
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: __EXTENSIONS__
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VERSION
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/libgpg-error/config.h
      type_or_value: '"1.62"'
    - item_type: preproc_def
      name: _DARWIN_USE_64_BIT_INODE
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ENABLE_NLS
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _ESTREAM_PRINTF_REALLOC
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/libgpg-error/config.h
      type_or_value: _gpgrt_realloc
    - item_type: preproc_def
      name: _ESTREAM_PRINTF_EXTRA_INCLUDE
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/libgpg-error/config.h
      type_or_value: '"gpgrt-int.h"'
    - item_type: preproc_def
      name: GPG_ERR_ENABLE_GETTEXT_MACROS
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPGRT_ENABLE_ES_MACROS
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPGRT_ENABLE_LOG_MACROS
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPGRT_ENABLE_ARGPARSE_MACROS
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/libgpg-error/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPGRT_STD_COPYRIGHT_LINE
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/libgpg-error/config.h
      type_or_value: '"Copyright (C) 2025 g10 Code GmbH"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_strusage
  - check_strlist_rev
  - check_tokenize_to_strlist
  - main
  source_file: /src/libgpg-error/tests/t-strlist.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgpg-error/tests/t-strlist.c
      type_or_value: '"t-strutils"'
    structs:
    - fields:
      - name: '*s'
        type: char
      - name: '*delim'
        type: char
      - name: error_expected
        type: int
      - name: '*items_expected[10]'
        type: char
      item_type: struct
      name: "tv[] = {\n    {\n      \"\", \":\",\n      1, { NULL }\n    },\n    {\n
        \     \"a\", \":\",\n      0, { \"a\", NULL }\n    },\n    {\n      \":\",
        \":\",\n      1, { NULL }\n    },\n    {\n      \"::\", \":\",\n      1, {
        NULL }\n    },\n    {\n      \"a:b:c\", \":\",\n      0, { \"a\", \"b\", \"c\",
        NULL }\n    },\n    {\n      \"a:b:\", \":\",\n      0, { \"a\", \"b\", NULL
        }\n    },\n    {\n      \"a:b\", \":\",\n      0, { \"a\", \"b\", NULL }\n
        \   },\n    {\n      \"aa:b:cd\", \":\",\n      0, { \"aa\", \"b\", \"cd\",
        NULL }\n    },\n    {\n      \"aa::b:cd\", \":\",\n      0, { \"aa\", \"b\",
        \"cd\", NULL }\n    },\n    {\n      \"::b:cd\", \":\",\n      0, { \"b\",
        \"cd\", NULL }\n    },\n    {\n      \"aa:   : b:cd \", \":\",\n      0, {
        \"aa\", \"b\", \"cd\", NULL }\n    },\n    {\n      \"  aa:   : b:  cd \",
        \":\",\n      0, { \"aa\", \"b\", \"cd\", NULL }\n    },\n    {\n      \"
        \ :\", \":\",\n      1, { NULL }\n    },\n    {\n      \"  : \", \":\",\n
        \     1, { NULL }\n    },\n    {\n      \": \", \":\",\n      1, { NULL }\n
        \   },\n    {\n      \": x \", \":\",\n      0, { \"x\", NULL }\n    },\n
        \   {\n      \"a:bc:cde:fghi:jklmn::foo:\", \":\",\n      0, { \"a\", \"bc\",
        \"cde\", \"fghi\", \"jklmn\", \"foo\", NULL }\n    },\n    {\n      \",a,bc,,def,\",
        \",\",\n      0, { \"a\", \"bc\", \"def\", NULL }\n    },\n    {\n      \"
        a \", \" \",\n      0, { \"a\", NULL }\n    },\n    {\n      \" \", \" \",\n
        \     1, { NULL }\n    },\n    {\n      \"a:bc:c de:fg   hi:jklmn::foo :\",
        \":\",\n      0, { \"a\", \"bc\", \"c de\", \"fg   hi\", \"jklmn\", \"foo\",
        NULL }\n    },\n    {\n      \"\", \" \",\n      1, { NULL }\n    }\n  }"
      pos:
        line_end: 108
        line_start: 103
        source_file: /src/libgpg-error/tests/t-strlist.c
    typedefs: []
    union: []
- function_names:
  - my_strusage
  - log_to_string
  - check_log_info
  - check_with_pid
  - check_log_error
  - main
  source_file: /src/libgpg-error/tests/t-logging.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgpg-error/tests/t-logging.c
      type_or_value: '"t-logging"'
    - item_type: preproc_def
      name: NCHUNK
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libgpg-error/tests/t-logging.c
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - thread_func
  - run_test
  - syscall_clam_pre
  - syscall_clam_post
  - main
  source_file: /src/libgpg-error/tests/t-lock-single-posix.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgpg-error/tests/t-lock-single-posix.c
      type_or_value: '"t-lock-single"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - FAIL
  - test_b64enc_string
  - test_b64dec_string
  - encoder_tests
  - decoder_tests
  - extra_tests
  - main
  source_file: /src/libgpg-error/tests/t-b64.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgpg-error/tests/t-b64.c
      type_or_value: '"t-b64"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - producer_thread
  - consumer_thread
  - launch_thread
  - join_thread
  - create_pipe
  - test_poll
  - main
  source_file: /src/libgpg-error/tests/t-poll.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgpg-error/tests/t-poll.c
      type_or_value: '"t-poll"'
    - item_type: preproc_def
      name: THREAD_RET_TYPE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgpg-error/tests/t-poll.c
      type_or_value: DWORD WINAPI
    - item_type: preproc_def
      name: THREAD_RET_VALUE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgpg-error/tests/t-poll.c
      type_or_value: '0'
    - item_type: preproc_def
      name: THREAD_RET_TYPE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgpg-error/tests/t-poll.c
      type_or_value: void *
    - item_type: preproc_def
      name: THREAD_RET_VALUE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgpg-error/tests/t-poll.c
      type_or_value: 'NULL'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: stream
        type: estream_t
      - name: stop_me
        type: int
      item_type: struct
      name: thread_arg
      pos:
        line_end: 65
        line_start: 55
        source_file: /src/libgpg-error/tests/t-poll.c
    typedefs: []
    union: []
- function_names:
  - t_gpgrt_cmp_version
  - main
  source_file: /src/libgpg-error/tests/t-version.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgpg-error/tests/t-version.c
      type_or_value: '"t-version"'
    structs:
    - fields:
      - name: result
        type: int
      - name: level
        type: int
      - name: '*a'
        type: char
      - name: '*b'
        type: char
      item_type: struct
      name: "t[] = {\n    {  0, 1, \"0\", \"0\" },\n    { -1, 1, \"0\", \"1\" },\n
        \   {  1, 1, \"1\", \"0\" },\n    { -1, 1, \"0.0\", \"0.1\" },\n    { -1,
        1, \"0.1\", \"1.2\" },\n    {  1, 1, \"1.0\", \"0.9\" },\n    { -1, 1, \"-1.0\",
        \"0.9\" }, /* A is invalid */\n    {  0, 1, \"0rc0\", \"0rc0\" },\n    {  1,
        1, \"0rc1\", \"0rc0\" },\n    { -1, 1, \"0rc1\", \"0rc2\" },\n    {  0, 1,
        \"0.rc0\", \"0.rc0\" },\n    {  1, 1, \"0.rc1\", \"0.rc0\" },\n    { -1, 1,
        \"0.rc1\", \"0.rc2\" },\n    {  0, 1, \"0.rc1\", \"0.rc1\" },\n    { -1, 1,
        \"0qc1\",  \"0rc0\" },\n    { -1, 1, \"0.qc1\", \"0.rc0\" },\n    {  0, 2,
        \"0.0\", \"0.0\" },\n    { -1, 2, \"0.1\", \"0.2\" },\n    { -1, 2, \"3.1\",
        \"3.2\" },\n    { -1, 2, \"3.1\", \"4.0\" },\n    {  0, 2, \"1.1rc0\", \"1.1rc0\"
        },\n    {  1, 2, \"1.1rc1\", \"1.1rc0\" },\n    { -1, 2, \"1.1rc0\", \"1.1rc1\"
        },\n    {  0, 3, \"7.0.0\", \"7.0.0\" },\n    { -1, 3, \"7.0.1\", \"7.0.2\"
        },\n    { -1, 3, \"7.3.1\", \"7.3.2\" },\n    { -1, 3, \"7.3.1\", \"7.4.0\"
        },\n    {  0, 3, \"7.1.1rc0\", \"7.1.1rc0\" },\n    {  1, 3, \"7.1.1rc1\",
        \"7.1.1rc0\" },\n    { -1, 3, \"7.1.1rc0\", \"7.1.1rc1\" },\n    {  1, 3,
        \"6.0.0\", \"5.0.0\" },\n    {  0, 3, \"6.0.0\", \"6.0.0\" },\n    {  1, 3,
        \"6.0.1\", \"6.0.0\" },\n    {  1, 3, \"6.1.0\", \"6.0.0\" },\n    {  1, 3,
        \"6.2.1\", \"6.2.0\" },\n    { -1, 3, \"6.2.1\", \"6.2.2\" },\n    { -1, 3,
        \"6.0.0\", \"6.0.2\" },\n    { -1, 3, \"6.0.0\", \"6.1.0\" },\n    { -1, 3,
        \"6.2.0\", \"6.2.1\" },\n    {  1, 3, \"6.0.0-beta1\", \"6.0.0-beta0\" },\n
        \   {  0, 3, \"6.0.0-beta2\", \"6.0.0-beta2\" },\n    {  1, 3, \"6.0.0-beta20\",
        \"6.0.0-beta19\" },\n    { -1, 3, \"6.0.0-beta1\", \"6.0.0-beta2\" },\n    {
        \ 1, 3, \"6.0.0-beta2\", \"6.0.0-beta1\" },\n    { -1, 3, \"6.0.0-beta20\",
        \"6.0.0-beta21\" },\n    {  0,13, \"6.0.0-beta1\", \"6.0.0-beta0\" },\n    {
        \ 0,13, \"6.0.0-beta2\", \"6.0.0-beta2\" },\n    {  0,13, \"6.0.0-beta20\",
        \"6.0.0-beta19\" },\n    {  0,13, \"6.0.0-beta1\", \"6.0.0-beta2\" },\n    {
        \ 0,13, \"6.0.0-beta2\", \"6.0.0-beta1\" },\n    {  0,13, \"6.0.0-beta20\",
        \"6.0.0-beta21\" }\n  }"
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/libgpg-error/tests/t-version.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libgpg-error/tests/t-strerror.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: src
        type: gpg_err_source_t
      - name: code
        type: gpg_err_code_t
      item_type: struct
      name: "list[] = { { 0, 0 }, { 1, 201 }, { 2, 2 }, { 3, 102 },\n\t\t   { 4, 100
        }, { 5, 99 }, { 6, 110 }, { 7, 7 }, { 8, 888 },\n\t\t   { 1, GPG_ERR_SYSTEM_ERROR
        | 1 },\n\t\t   { 1, GPG_ERR_SYSTEM_ERROR | 35 },\n\t\t   { 1, GPG_ERR_SYSTEM_ERROR
        | 81 } }"
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/libgpg-error/tests/t-strerror.c
    typedefs: []
    union: []
- function_names:
  - my_strusage
  - check_reallocarray
  - main
  source_file: /src/libgpg-error/tests/t-malloc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgpg-error/tests/t-malloc.c
      type_or_value: '"t-malloc"'
    structs:
    - fields:
      - name: '*a'
        type: char
      - name: b
        type: int
      item_type: struct
      name: foo_s
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/libgpg-error/tests/t-malloc.c
    typedefs: []
    union: []
- function_names:
  - DIM
  - enter_test_function
  - leave_test_function
  - xmalloc
  - xstrdup
  - xfree
  - die
  - fail
  - show
  source_file: /src/libgpg-error/tests/t-common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_getting_values
  - test_getting_section_values
  - test_key_extraction
  - test_iteration
  - test_whitespace
  - nvc_to_string
  - dummy_free
  - dummy_realloc
  - run_tests
  - run_modification_tests
  - parse
  - my_strusage
  - main
  source_file: /src/libgpg-error/tests/t-name-value.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libgpg-error/tests/t-name-value.c
      type_or_value: '"t-name-value"'
    structs:
    - fields:
      - name: '*value'
        type: char
      - name: (*test_func) (gpgrt_nvc_t)
        type: void
      - name: only_section_mode
        type: int
      item_type: struct
      name: "tests[] =\n  {\n    {\n      \"# This is a comment followed by an empty
        line\\n\"\n      \"\\n\",\n      NULL\n    },\n    {\n      \"# This is a
        comment followed by two empty lines, Windows style\\r\\n\"\n      \"\\r\\n\"\n
        \     \"\\r\\n\",\n      NULL\n    },\n    {\n      \"# Some name,value pairs\\n\"\n
        \     \"Comment: Some comment.\\n\"\n      \"SomeOtherName: Some value.\\n\",\n
        \     test_getting_values\n    },\n    {\n      \"  # Whitespace is preserved
        as much as possible\\r\\n\"\n      \"Comment:Some comment.\\n\"\n      \"SomeOtherName:
        Some value.   \\n\",\n      test_getting_values\n    },\n    {\n      \"#
        Values may be continued in the next line as indicated by leading\\n\"\n      \"#
        space\\n\"\n      \"Comment: Some rather long\\n\"\n      \"  comment that
        is continued in the next line.\\n\"\n      \"\\n\"\n      \"  Blank lines
        with or without whitespace are allowed within\\n\"\n      \"  continuations
        to allow paragraphs.\\n\"\n      \"SomeOtherName: Some value.\\n\",\n      test_getting_values\n
        \   },\n    {\n      \"# Names may be given multiple times forming an array
        of values\\n\"\n      \"Comment: Some comment, element 0.\\n\"\n      \"Comment:
        Some comment, element 1.\\n\"\n      \"Comment: Some comment, element 2.\\n\"\n
        \     \"SomeOtherName: Some value.\\n\",\n      test_iteration\n    },\n    {\n
        \     \"# One whitespace at the beginning of a continuation is swallowed.\\n\"\n
        \     \"One: Without\\n\"\n      \" Whitespace\\n\"\n      \"Two: With\\n\"\n
        \     \"  Whitespace\\n\"\n      \"Three: Blank lines in continuations encode
        newlines.\\n\"\n      \"\\n\"\n      \"  Next paragraph.\\n\",\n      test_whitespace\n
        \   },\n    {\n      \"Description: Key to sign all GnuPG released tarballs.\\n\"\n
        \     \"  The key is actually stored on a smart card.\\n\"\n      \"Use-for-ssh:
        yes\\n\"\n      \"OpenSSH-cert: long base64 encoded string wrapped so that
        this\\n\"\n      \"  key file can be easily edited with a standard editor.\\n\"\n
        \     \"Key: (shadowed-private-key\\n\"\n      \"  (rsa\\n\"\n      \"  (n
        #00AA1AD2A55FD8C8FDE9E1941772D9CC903FA43B268CB1B5A1BAFDC900\\n\"\n      \"
        \ 2961D8AEA153424DC851EF13B83AC64FBE365C59DC1BD3E83017C90D4365B4\\n\"\n      \"
        \ 83E02859FC13DB5842A00E969480DB96CE6F7D1C03600392B8E08EF0C01FC7\\n\"\n      \"
        \ 19F9F9086B25AD39B4F1C2A2DF3E2BE317110CFFF21D4A11455508FE407997\\n\"\n      \"
        \ 601260816C8422297C0637BB291C3A079B9CB38A92CE9E551F80AA0EBF4F0E\\n\"\n      \"
        \ 72C3F250461E4D31F23A7087857FC8438324A013634563D34EFDDCBF2EA80D\\n\"\n      \"
        \ F9662C9CCD4BEF2522D8BDFED24CEF78DC6B309317407EAC576D889F88ADA0\\n\"\n      \"
        \ 8C4FFB480981FB68C5C6CA27503381D41018E6CDC52AAAE46B166BDC10637A\\n\"\n      \"
        \ E186A02BA2497FDC5D1221#)\\n\"\n      \"  (e #00010001#)\\n\"\n      \"  (shadowed
        t1-v1\\n\"\n      \"   (#D2760001240102000005000011730000# OPENPGP.1)\\n\"\n
        \     \"    )))\\n\",\n      test_key_extraction\n    },\n    {\n      \"#
        This is a test for section mode\\n\"\n      \"[  HKLM\\\\Software\\\\Bla\\\\Foo
        ]# the section name\\n\"\n      \"Myname: Erika\\n\"\n      \"Surname:   Musterfrau\\n\"\n
        \     \"\\n\"\n      \"[\\\\Software\\\\blub]\\n\"\n      \"Myname: Otto Blub\\n\"\n
        \     \"Surname: Ottoman\\n\"\n      \"[HKLM\\\\Software/Bla\\\\Foo ] # Add
        stuff to the first section\\n\"\n      \"Url: https://example.org\\n\"\n      \"Url:
        http://example.de\\n\"\n      \"Surname: Hacker\\n\"\n      \"# last comment\\n\",\n
        \     test_getting_section_values, 1\n    }\n  }"
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/libgpg-error/tests/t-name-value.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libgpg-error/tests/t-syserror.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_accounts
  - check_accounts
  - print_accounts
  - get_rand
  - pick_account
  - pick_value
  - revision_thread
  - accountant_thread
  - run_test
  - main
  source_file: /src/libgpg-error/tests/t-lock.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgpg-error/tests/t-lock.c
      type_or_value: '"t-lock"'
    - item_type: preproc_def
      name: THREAD_RET_TYPE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgpg-error/tests/t-lock.c
      type_or_value: DWORD WINAPI
    - item_type: preproc_def
      name: THREAD_RET_VALUE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgpg-error/tests/t-lock.c
      type_or_value: '0'
    - item_type: preproc_def
      name: THREAD_RET_TYPE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgpg-error/tests/t-lock.c
      type_or_value: void *
    - item_type: preproc_def
      name: THREAD_RET_VALUE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgpg-error/tests/t-lock.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: N_ACCOUNT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgpg-error/tests/t-lock.c
      type_or_value: '8'
    - item_type: preproc_def
      name: ACCOUNT_VALUE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libgpg-error/tests/t-lock.c
      type_or_value: '42'
    - item_type: preproc_def
      name: N_TRANSACTIONS
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libgpg-error/tests/t-lock.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: N_ACCOUNTANTS
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libgpg-error/tests/t-lock.c
      type_or_value: '5'
    - item_type: preproc_def
      name: MAX_TRANSACTION_VALUE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libgpg-error/tests/t-lock.c
      type_or_value: '50'
    structs: []
    typedefs: []
    union: []
- function_names:
  - run_test
  - main
  source_file: /src/libgpg-error/tests/t-spawn.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgpg-error/tests/t-spawn.c
      type_or_value: '"t-spawn"'
    - item_type: preproc_def
      name: MAXLINE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgpg-error/tests/t-spawn.c
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_strusage
  - mygethome
  - utf8_to_wchar
  - wchar_to_utf8
  - mygetcwd
  - check_fnameconcat
  - check_absfnameconcat
  - check_access
  - main
  source_file: /src/libgpg-error/tests/t-stringutils.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgpg-error/tests/t-stringutils.c
      type_or_value: '"t-stringutils"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_strusage
  - main
  source_file: /src/libgpg-error/tests/t-argparse.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libgpg-error/tests/t-argparse.c
      type_or_value: '"t-argparse"'
    structs:
    - fields:
      - name: verbose
        type: int
      - name: debug
        type: int
      - name: '*outfile'
        type: char
      - name: '*crf'
        type: char
      - name: myopt
        type: int
      - name: echo
        type: int
      - name: a_long_one
        type: int
      - name: '*street'
        type: char
      - name: '*disable_akr'
        type: char
      item_type: struct
      name: opt
      pos:
        line_end: 43
        line_start: 33
        source_file: /src/libgpg-error/tests/t-argparse.c
    typedefs: []
    union: []
- function_names:
  - stream_to_string
  - one_test_x0
  - one_test_x1
  - one_test_x2
  - one_test_0
  - one_test_1
  - one_test_2
  - one_test_3
  - run_tests
  - check_snprintf
  - check_large_float
  - string_filter
  - check_fprintf_sf
  - check_fwrite
  - main
  source_file: /src/libgpg-error/tests/t-printf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgpg-error/tests/t-printf.c
      type_or_value: '"t-printf"'
    - item_type: preproc_def
      name: NCHUNK
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgpg-error/tests/t-printf.c
      type_or_value: '1024'
    structs:
    - fields:
      - name: '*last_result'
        type: char
      item_type: struct
      name: sfstate_s
      pos:
        line_end: 499
        line_start: 496
        source_file: /src/libgpg-error/tests/t-printf.c
    typedefs: []
    union: []
- function_names:
  - ATTR_PRINTF
  - ATTR_NR_PRINTF
  - ATTR_SENTINEL
  - DIM
  - DIMof
  - spacep
  - digitp
  - die
  - err
  - inf
  - xmalloc
  - xcalloc
  - xrealloc
  - xstrdup
  - mystpcpy
  - do_strconcat
  - xstrconcat
  - init_membuf
  - put_membuf
  - put_membuf_str
  - get_membuf
  - xget_membuf
  - ascii_strupr
  - isodatestring
  - add_predefined_macro
  - set_macro
  - set_variable
  - macro_set_p
  - evaluate_conditions
  - push_condition
  - pop_condition
  - get_section_buffer
  - roff_alternate
  - add_content
  - start_page
  - writechr
  - writestr
  - write_th
  - write_bottom
  - write_sh
  - write_html_item
  - proc_texi_cmd
  - proc_texi_buffer
  - parse_texi_line
  - write_content
  - is_standard_section
  - finish_page
  - parse_file
  - top_parse_file
  - main
  source_file: /src/libgpg-error/doc/yat2m.c
  types:
    enum:
    - enumerators:
      - name: EOL_NOTHING
        value: '0'
      - name: EOL_CLOSE_SUBSECTION
      item_type: enum
      name: eol_actions
      pos:
        line_end: 315
        line_start: 311
        source_file: /src/libgpg-error/doc/yat2m.c
    preproc_defs:
    - item_type: preproc_def
      name: MY_GCC_VERSION
      pos:
        line_end: 110
        line_start: 107
        source_file: /src/libgpg-error/doc/yat2m.c
      type_or_value: "(__GNUC__ * 10000 \\\n                         + __GNUC_MINOR__
        * 100         \\\n                         + __GNUC_PATCHLEVEL__)"
    - item_type: preproc_def
      name: MY_GCC_VERSION
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libgpg-error/doc/yat2m.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ATTR_MALLOC
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/libgpg-error/doc/yat2m.c
      type_or_value: __attribute__ ((__malloc__))
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/libgpg-error/doc/yat2m.c
      type_or_value: '"yat2m"'
    - item_type: preproc_def
      name: VERSION
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/libgpg-error/doc/yat2m.c
      type_or_value: PACKAGE_VERSION
    - item_type: preproc_def
      name: VERSION
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/libgpg-error/doc/yat2m.c
      type_or_value: '"1.1"'
    - item_type: preproc_def
      name: LINESIZE
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/libgpg-error/doc/yat2m.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: MAX_CONDITION_NESTING
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/libgpg-error/doc/yat2m.c
      type_or_value: '10'
    - item_type: preproc_def
      name: MAX_TABLE_NESTING
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/libgpg-error/doc/yat2m.c
      type_or_value: '10'
    structs:
    - fields:
      - name: len
        type: size_t
      - name: size
        type: size_t
      - name: '*buf'
        type: char
      - name: out_of_core
        type: int
      item_type: struct
      name: private_membuf_s
      pos:
        line_end: 203
        line_start: 197
        source_file: /src/libgpg-error/doc/yat2m.c
    - fields:
      - name: '*next'
        type: struct macro_s
      - name: '*value'
        type: char
      - name: name[1]
        type: char
      item_type: struct
      name: macro_s
      pos:
        line_end: 213
        line_start: 208
        source_file: /src/libgpg-error/doc/yat2m.c
    - fields:
      - name: manverb
        type: int
      - name: isset
        type: int
      - name: name[1]
        type: char
      item_type: struct
      name: condition_s
      pos:
        line_end: 231
        line_start: 226
        source_file: /src/libgpg-error/doc/yat2m.c
    - fields:
      - name: '*next'
        type: struct line_buffer_s
      - name: verbatim
        type: int
      - name: '*line'
        type: char
      item_type: struct
      name: line_buffer_s
      pos:
        line_end: 267
        line_start: 261
        source_file: /src/libgpg-error/doc/yat2m.c
    - fields:
      - name: '*name'
        type: char
      - name: lines
        type: line_buffer_t
      - name: '*lines_tail'
        type: line_buffer_t
      - name: last_line
        type: line_buffer_t
      - name: is_see_also
        type: unsigned int
      - name: in_para
        type: unsigned int
      - name: in_pre
        type: unsigned int
      item_type: struct
      name: section_buffer_s
      pos:
        line_end: 283
        line_start: 272
        source_file: /src/libgpg-error/doc/yat2m.c
    - fields:
      - name: '*name'
        type: char
      - name: n_sections
        type: size_t
      - name: sections
        type: section_buffer_t
      item_type: struct
      name: thepage
      pos:
        line_end: 297
        line_start: 287
        source_file: /src/libgpg-error/doc/yat2m.c
    - fields:
      - name: '*name'
        type: char
      - name: what
        type: int
      - name: enable_2D_minus
        type: int
      - name: '*lead_in'
        type: char
      - name: '*lead_out'
        type: char
      - name: '*html_in'
        type: char
      - name: '*html_out'
        type: char
      item_type: struct
      name: "cmdtbl[] = {\n    { \"command\", 9, 1, \"\\\\fB\", \"\\\\fP\", \"<i>\",
        \"</i>\" },\n    { \"code\",    0, 1, \"\\\\fB\", \"\\\\fP\", \"<samp>\",
        \"</samp>\" },\n    { \"url\",     0, 1, \"\\\\fB\", \"\\\\fP\", \"<strong>\",
        \"</strong>\" },\n    { \"sc\",      0, 0, \"\\\\fB\", \"\\\\fP\", \"<span
        class=\\\"y2m-sc\\\">\", \"</span>\" },\n    { \"var\",     0, 0, \"\\\\fI\",
        \"\\\\fP\", \"<u>\", \"</u>\" },\n    { \"samp\",    0, 1, \"\\\\(oq\", \"\\\\(cq\"
        \ },\n    { \"kbd\",     0, 1, \"\\\\(oq\", \"\\\\(cq\"  },\n    { \"file\",
        \   0, 1, \"\\\\(oq\\\\fI\",\"\\\\fP\\\\(cq\" },\n    { \"env\",     0, 1,
        \"\\\\(oq\\\\fI\",\"\\\\fP\\\\(cq\" },\n    { \"acronym\", 0, 0 },\n    {
        \"dfn\",     0, 0 },\n    { \"option\",  0, 1, \"\\\\fB\", \"\\\\fP\", \"<samp>\",
        \"</samp>\" },\n    { \"example\", 10, 1, \".RS 2\\n.nf\\n\",      NULL, \"\\n<pre>\\n\",
        \"\\n</pre>\\n\" },\n    { \"smallexample\", 10, 1, \".RS 2\\n.nf\\n\", NULL,
        \"\\n<pre>\\n\", \"\\n</pre>\\n\" },\n    { \"asis\",    7 },\n    { \"anchor\",
        \ 7 },\n    { \"cartouche\", 1 },\n    { \"ref\",     0, 0, \"[\", \"]\" },\n
        \   { \"xref\",    0, 0, \"See: [\", \"]\" },\n    { \"pxref\",   0, 0, \"see:
        [\", \"]\" },\n    { \"uref\",    0, 0, \"(\\\\fB\", \"\\\\fP)\" },\n    {
        \"footnote\",0, 0, \" ([\", \"])\" },\n    { \"emph\",    0, 0, \"\\\\fI\",
        \"\\\\fP\", \"<em>\", \"</em>\" },\n    { \"w\",       1 },\n    { \"c\",
        \      5 },\n    { \"efindex\", 1 },\n    { \"opindex\", 1 },\n    { \"cpindex\",
        1 },\n    { \"cindex\",  1 },\n    { \"noindent\", 0 },\n    { \"para\",   11,
        },\n    { \"section\", 1 },\n    { \"chapter\", 1 },\n    { \"subsection\",
        6, 0, \"\\n.SS \", NULL, \"<h3>\" },\n    { \"chapheading\", 0},\n    { \"item\",
        \   2, 0, \".TP\\n.B \" },\n    { \"itemx\",   2, 0, \".TQ\\n.B \" },\n    {
        \"table\",   3 },\n    { \"itemize\", 3 },\n    { \"bullet\",  0, 0, \"* \"
        },\n    { \"*\",       0, 0, \"\\n.br\"},\n    { \"/\",       0 },\n    {
        \"end\",     4 },\n    { \"quotation\", 1, 0, \".RS\\n\\\\fB\" },\n    { \"value\",
        8 },\n    { \"dots\", 0, 0, \"...\", NULL, \"&hellip;\" },\n    { \"minus\",
        0, 0, \"\\\\-\", NULL, \"&minus;\" },\n    /* From here, macro for table */\n
        \   { \"gcctabopt\",       0, 1 },\n    { \"gnupgtabopt\",     0, 1 },\n    {
        NULL }\n  }"
      pos:
        line_end: 1300
        line_start: 1292
        source_file: /src/libgpg-error/doc/yat2m.c
    typedefs:
    - item_type: typedef
      name: membuf_t
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/libgpg-error/doc/yat2m.c
      type: private_membuf_s
    - item_type: typedef
      name: '*macro_t'
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/libgpg-error/doc/yat2m.c
      type: macro_s
    - item_type: typedef
      name: '*condition_t'
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/libgpg-error/doc/yat2m.c
      type: condition_s
    - item_type: typedef
      name: '*line_buffer_t'
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/libgpg-error/doc/yat2m.c
      type: line_buffer_s
    - item_type: typedef
      name: '*section_buffer_t'
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/libgpg-error/doc/yat2m.c
      type: section_buffer_s
    union: []
- function_names:
  - map_ldap_to_gpg_error
  source_file: /src/libgpg-error/doc/ldap2gpgerr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LDAP_ADMINLIMIT_EXCEEDED
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgpg-error/doc/ldap2gpgerr.c
      type_or_value: LDAP_ADMIN_LIMIT_EXCEEDED
    - item_type: preproc_def
      name: LDAP_UNAVAILABLE_CRITICAL_EXTENSION
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libgpg-error/doc/ldap2gpgerr.c
      type_or_value: LDAP_UNAVAILABLE_CRIT_EXTENSION
    - item_type: preproc_def
      name: LDAP_TYPE_OR_VALUE_EXISTS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libgpg-error/doc/ldap2gpgerr.c
      type_or_value: LDAP_ATTRIBUTE_OR_VALUE_EXISTS
    - item_type: preproc_def
      name: LDAP_INSUFFICIENT_ACCESS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libgpg-error/doc/ldap2gpgerr.c
      type_or_value: LDAP_INSUFFICIENT_RIGHTS
    - item_type: preproc_def
      name: LDAP_VLV_ERROR
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libgpg-error/doc/ldap2gpgerr.c
      type_or_value: LDAP_VIRTUAL_LIST_VIEW_ERROR
    structs: []
    typedefs: []
    union: []
- function_names:
  - w32_shgetfolderpath
  - _gpgrt_w32_get_sysconfdir
  - _gpgrt_w32_get_profile
  - w32_utils_init
  - _gpgrt_w32__init_utils
  source_file: /src/libgpg-error/src/w32-utils.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CSIDL_APPDATA
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgpg-error/src/w32-utils.c
      type_or_value: '0x001a'
    - item_type: preproc_def
      name: CSIDL_LOCAL_APPDATA
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgpg-error/src/w32-utils.c
      type_or_value: '0x001c'
    - item_type: preproc_def
      name: CSIDL_COMMON_APPDATA
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgpg-error/src/w32-utils.c
      type_or_value: '0x0023'
    - item_type: preproc_def
      name: CSIDL_PROFILE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgpg-error/src/w32-utils.c
      type_or_value: '0x0028'
    - item_type: preproc_def
      name: CSIDL_FLAG_CREATE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libgpg-error/src/w32-utils.c
      type_or_value: '0x8000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gpg_err_code_to_errno
  source_file: /src/libgpg-error/src/code-to-errno.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/lock.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _set_errno
  - IS_INVALID_FD
  - DIM
  - tohex
  - mem_alloc
  - mem_realloc
  - mem_free
  - mem_free2
  - map_w32_to_errno
  - _gpgrt_w32_set_errno
  - _gpgrt_w32_get_last_err_code
  - memrchr
  - dbg_lock_0
  - dbg_lock_1
  - dbg_lock_2
  - init_stream_lock
  - destroy_stream_lock
  - lock_stream
  - trylock_stream
  - unlock_stream
  - lock_list
  - unlock_list
  - do_list_add
  - do_list_remove
  - do_deinit
  - _gpgrt_estream_init
  - func_mem_create
  - func_mem_read
  - func_mem_write
  - func_mem_seek
  - func_mem_ioctl
  - func_mem_destroy
  - func_fd_create
  - func_fd_read
  - func_fd_write
  - func_fd_seek
  - func_fd_ioctl
  - func_fd_destroy
  - IS_INVALID_SOCKET
  - func_sock_create
  - func_sock_read
  - func_sock_write
  - func_sock_seek
  - func_sock_ioctl
  - func_sock_destroy
  - func_w32_create
  - func_w32_read
  - func_w32_write
  - func_w32_seek
  - func_w32_destroy
  - func_fp_create
  - func_fp_read
  - func_fp_write
  - func_fp_seek
  - func_fp_destroy
  - any8bitchar
  - func_file_create
  - func_file_create_w32
  - parse_mode
  - fill_stream
  - flush_stream
  - es_empty
  - init_stream_obj
  - deinit_stream_obj
  - create_stream
  - do_close
  - do_onclose
  - do_read_nbf
  - check_pending_nbf
  - do_read_fbf
  - check_pending_fbf
  - do_read_lbf
  - es_readn
  - check_pending
  - es_unreadn
  - es_seek
  - es_write_nbf
  - es_write_fbf
  - es_write_lbf
  - es_writen
  - peek_stream
  - skip_stream
  - doreadline
  - print_writer
  - do_print_stream
  - es_set_buffering
  - es_offset_calculate
  - es_opaque_ctrl
  - _gpgrt_fopen
  - _gpgrt_mopen
  - _gpgrt_fopenmem
  - _gpgrt_fopenmem_init
  - _gpgrt_fopencookie
  - do_fdopen
  - _gpgrt_fdopen
  - _gpgrt_fdopen_nc
  - do_fpopen
  - _gpgrt_fpopen
  - _gpgrt_fpopen_nc
  - do_sockopen
  - do_w32open
  - do_sysopen
  - _gpgrt_sysopen
  - _gpgrt_sysopen_nc
  - _gpgrt__set_std_fd
  - _gpgrt__get_std_stream
  - _gpgrt_freopen
  - _gpgrt_fclose
  - _gpgrt_fcancel
  - _gpgrt_fclose_snatch
  - _gpgrt_onclose
  - _gpgrt_fileno_unlocked
  - _gpgrt_syshd_unlocked
  - _gpgrt_flockfile
  - _gpgrt_ftrylockfile
  - _gpgrt_funlockfile
  - _gpgrt_fileno
  - _gpgrt_syshd
  - _gpgrt__pending_unlocked
  - _gpgrt__pending
  - _gpgrt_feof_unlocked
  - _gpgrt_feof
  - _gpgrt_ferror_unlocked
  - _gpgrt_ferror
  - _gpgrt_clearerr_unlocked
  - _gpgrt_clearerr
  - do_fflush
  - _gpgrt_fflush
  - _gpgrt_fseek
  - _gpgrt_fseeko
  - _gpgrt_ftell
  - _gpgrt_ftello
  - _gpgrt_rewind
  - _gpgrt_ftruncate
  - _gpgrt__getc_underflow
  - _gpgrt__putc_overflow
  - _gpgrt_fgetc
  - _gpgrt_fputc
  - _gpgrt_ungetc
  - _gpgrt_read
  - _gpgrt_write
  - _gpgrt_fread
  - _gpgrt_fwrite
  - _gpgrt_fgets
  - _gpgrt_fputs_unlocked
  - _gpgrt_fputs
  - _gpgrt_getline
  - _gpgrt_read_line
  - _gpgrt_vfprintf_unlocked
  - _gpgrt_vfprintf
  - _gpgrt_fprintf_unlocked
  - _gpgrt_fprintf
  - tmpfd
  - mystrlen
  - _gpgrt_tmpfile
  - _gpgrt_setvbuf
  - _gpgrt_set_binary
  - _gpgrt_set_nonblock
  - _gpgrt_get_nonblock
  - _gpgrt_poll
  - _gpgrt_opaque_set
  - _gpgrt_opaque_get
  - fname_set_internal
  - _gpgrt_fname_set
  - _gpgrt_fname_get
  - _gpgrt_write_sanitized
  - _gpgrt_write_hexstring
  - tohex
  source_file: /src/libgpg-error/src/estream.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_W32_SYSTEM
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: '1'
    - item_type: preproc_def
      name: O_BINARY
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HAVE_DOSISH_SYSTEM
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: '1'
    - item_type: preproc_def
      name: S_IRGRP
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: S_IRUSR
    - item_type: preproc_def
      name: S_IROTH
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: S_IRUSR
    - item_type: preproc_def
      name: S_IWGRP
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: S_IWUSR
    - item_type: preproc_def
      name: S_IWOTH
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: S_IWUSR
    - item_type: preproc_def
      name: S_IXGRP
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: S_IXUSR
    - item_type: preproc_def
      name: S_IXOTH
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: S_IXUSR
    - item_type: preproc_def
      name: EWOULDBLOCK
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: '140'
    - item_type: preproc_def
      name: EAGAIN
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: EWOULDBLOCK
    - item_type: preproc_def
      name: X_SAMETHREAD
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: X_SYSOPEN
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: X_POLLABLE
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: X_SEQUENTIAL
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: X_WIPE
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: X_SHARE_CUSTOM
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: X_SHARE_READ
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: X_SHARE_WRITE
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: X_SHARE_DEL
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: (1 << 8)
    - item_type: preproc_def
      name: EOPNOTSUPP
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/libgpg-error/src/estream.c
      type_or_value: ENOSYS
    structs:
    - fields:
      - name: '*next'
        type: struct estream_list_s
      - name: stream
        type: estream_t
      item_type: struct
      name: estream_list_s
      pos:
        line_end: 186
        line_start: 182
        source_file: /src/libgpg-error/src/estream.c
    - fields:
      - name: modeflags
        type: unsigned int
      - name: '*memory'
        type: unsigned char
      - name: memory_size
        type: size_t
      - name: memory_limit
        type: size_t
      - name: offset
        type: size_t
      - name: data_len
        type: size_t
      - name: block_size
        type: size_t
      - name: flags
        type: "struct {\n    unsigned int grow: 1;\t/* MEMORY is allowed to grow.
          \ */\n    unsigned int wipe: 1;\t/* MEMORY shall be wiped.  */\n  }"
      - name: func_realloc
        type: func_realloc_t
      - name: func_free
        type: func_free_t
      item_type: struct
      name: estream_cookie_mem
      pos:
        line_end: 659
        line_start: 643
        source_file: /src/libgpg-error/src/estream.c
    - fields:
      - name: fd
        type: int
      - name: no_close
        type: int
      - name: nonblock
        type: int
      item_type: struct
      name: estream_cookie_fd
      pos:
        line_end: 1001
        line_start: 996
        source_file: /src/libgpg-error/src/estream.c
    - fields:
      - name: sock
        type: SOCKET
      - name: no_close
        type: int
      - name: nonblock
        type: int
      item_type: struct
      name: estream_cookie_sock
      pos:
        line_end: 1238
        line_start: 1233
        source_file: /src/libgpg-error/src/estream.c
    - fields:
      - name: hd
        type: HANDLE
      - name: no_close
        type: int
      - name: no_syscall_clamp
        type: int
      item_type: struct
      name: estream_cookie_w32
      pos:
        line_end: 1441
        line_start: 1436
        source_file: /src/libgpg-error/src/estream.c
    - fields:
      - name: '*fp'
        type: FILE
      - name: no_close
        type: int
      item_type: struct
      name: estream_cookie_fp
      pos:
        line_end: 1708
        line_start: 1704
        source_file: /src/libgpg-error/src/estream.c
    - fields:
      - name: letter
        type: char
      - name: value
        type: unsigned int
      item_type: struct
      name: "table[] = { { '-', 0 },\n                        { 'r', S_IRUSR }, {
        'w', S_IWUSR }, { 'x', S_IXUSR },\n                        { 'r', S_IRGRP
        }, { 'w', S_IWGRP }, { 'x', S_IXGRP },\n                        { 'r', S_IROTH
        }, { 'w', S_IWOTH }, { 'x', S_IXOTH }}"
      pos:
        line_end: 2221
        line_start: 2218
        source_file: /src/libgpg-error/src/estream.c
    typedefs:
    - item_type: typedef
      name: '*(*func_realloc_t) (void *mem, size_t size)'
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/libgpg-error/src/estream.c
      type: void
    - item_type: typedef
      name: (*func_free_t) (void *mem)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/libgpg-error/src/estream.c
      type: void
    - item_type: typedef
      name: '*estream_list_t'
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/libgpg-error/src/estream.c
      type: estream_list_s
    union: []
- function_names:
  - _
  - N_
  - N_
  - _
  - N_
  - SUN_LEN
  - DIM
  - xfree
  - xtrymalloc
  - xtrycalloc
  - xtryrealloc
  - xtryreallocarray
  - xtrystrdup
  - trace
  - trace_errno
  - trace_start
  - trace_append
  - trace_finish
  - trace
  - trace_errno
  - trace_start
  - trace_append
  - trace_finish
  - _gpgrt_getc_unlocked
  - _gpgrt_putc_unlocked
  - gpgrt_assert
  - gpgrt_assert
  - _gpgrt_create_pipe
  - _gpgrt_create_inbound_pipe
  - _gpgrt_create_outbound_pipe
  - _gpgrt_stpcpy
  - stpcpy
  source_file: /src/libgpg-error/src/gpgrt-int.h
  types:
    enum:
    - enumerators:
      - name: GPGRT_WINDOWS_PROC_ATTRIBUTE
      - name: GPGRT_WINDOWS_UNDER_WINE
      item_type: enum
      name: gpgrt_windows_feature
      pos:
        line_end: 873
        line_start: 869
        source_file: /src/libgpg-error/src/gpgrt-int.h
    preproc_defs:
    - item_type: preproc_def
      name: PF_LOCAL
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libgpg-error/src/gpgrt-int.h
      type_or_value: PF_UNIX
    - item_type: preproc_def
      name: PF_LOCAL
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libgpg-error/src/gpgrt-int.h
      type_or_value: AF_UNIX
    - item_type: preproc_def
      name: AF_LOCAL
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libgpg-error/src/gpgrt-int.h
      type_or_value: AF_UNIX
    - item_type: preproc_def
      name: O_NONBLOCK
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/libgpg-error/src/gpgrt-int.h
      type_or_value: "0x40000000\t"
    - item_type: preproc_def
      name: COOKIE_IOCTL_SNATCH_BUFFER
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/libgpg-error/src/gpgrt-int.h
      type_or_value: '1'
    - item_type: preproc_def
      name: COOKIE_IOCTL_NONBLOCK
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/libgpg-error/src/gpgrt-int.h
      type_or_value: '2'
    - item_type: preproc_def
      name: COOKIE_IOCTL_TRUNCATE
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/libgpg-error/src/gpgrt-int.h
      type_or_value: '3'
    - item_type: preproc_def
      name: BUFFER_BLOCK_SIZE
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/libgpg-error/src/gpgrt-int.h
      type_or_value: '8192'
    - item_type: preproc_def
      name: BUFFER_BLOCK_SIZE
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/libgpg-error/src/gpgrt-int.h
      type_or_value: BUFSIZ
    - item_type: preproc_def
      name: BUFFER_UNREAD_SIZE
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/libgpg-error/src/gpgrt-int.h
      type_or_value: '16'
    - item_type: preproc_def
      name: es_stdin
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/libgpg-error/src/gpgrt-int.h
      type_or_value: _gpgrt__get_std_stream (0)
    - item_type: preproc_def
      name: es_stdout
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/libgpg-error/src/gpgrt-int.h
      type_or_value: _gpgrt__get_std_stream (1)
    - item_type: preproc_def
      name: es_stderr
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/libgpg-error/src/gpgrt-int.h
      type_or_value: _gpgrt__get_std_stream (2)
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/libgpg-error/src/gpgrt-int.h
      type_or_value: _gpgrt_estream_snprintf
    structs:
    - fields:
      - name: public
        type: struct _gpgrt_cookie_io_functions
      - name: func_ioctl
        type: cookie_ioctl_function_t
      item_type: struct
      name: cookie_io_functions_s
      pos:
        line_end: 231
        line_start: 227
        source_file: /src/libgpg-error/src/gpgrt-int.h
    - fields:
      - name: '*next'
        type: struct notify_list_s
      - name: (*fnc) (estream_t, void*)
        type: void
      - name: '*fnc_value'
        type: void
      item_type: struct
      name: notify_list_s
      pos:
        line_end: 253
        line_start: 248
        source_file: /src/libgpg-error/src/gpgrt-int.h
    - fields:
      - name: buffer[BUFFER_BLOCK_SIZE]
        type: unsigned char
      - name: unread_buffer[BUFFER_UNREAD_SIZE]
        type: unsigned char
      - name: lock
        type: gpgrt_lock_t
      - name: kind
        type: gpgrt_stream_backend_kind_t
      - name: '*cookie'
        type: void
      - name: '*opaque'
        type: void
      - name: modeflags
        type: unsigned int
      - name: '*printable_fname'
        type: char
      - name: offset
        type: gpgrt_off_t
      - name: func_read
        type: gpgrt_cookie_read_function_t
      - name: func_write
        type: gpgrt_cookie_write_function_t
      - name: func_seek
        type: gpgrt_cookie_seek_function_t
      - name: func_close
        type: gpgrt_cookie_close_function_t
      - name: func_ioctl
        type: cookie_ioctl_function_t
      - name: strategy
        type: int
      - name: syshd
        type: es_syshd_t
      - name: indicators
        type: "struct\n  {\n    unsigned int err: 1;\n    unsigned int eof: 1;\n    unsigned
          int hup: 1;\n  }"
      - name: deallocate_buffer
        type: unsigned int
      - name: is_stdstream
        type: unsigned int
      - name: stdstream_fd
        type: unsigned int
      - name: printable_fname_inuse
        type: unsigned int
      - name: samethread
        type: unsigned int
      - name: wipe
        type: unsigned int
      - name: print_ntotal
        type: size_t
      - name: onclose
        type: notify_list_t
      item_type: struct
      name: _gpgrt_stream_internal
      pos:
        line_end: 308
        line_start: 274
        source_file: /src/libgpg-error/src/gpgrt-int.h
    - fields:
      - name: idx
        type: int
      - name: quad_count
        type: int
      - name: stream
        type: estream_t
      - name: '*title'
        type: char
      - name: radbuf[4]
        type: unsigned char
      - name: crc
        type: unsigned int
      - name: lasterr
        type: gpg_err_code_t
      - name: flags
        type: unsigned int
      - name: stop_seen
        type: unsigned int
      - name: invalid_encoding
        type: unsigned int
      - name: using_decoder
        type: unsigned int
      item_type: struct
      name: _gpgrt_b64state
      pos:
        line_end: 518
        line_start: 505
        source_file: /src/libgpg-error/src/gpgrt-int.h
    typedefs:
    - item_type: typedef
      name: "(*cookie_ioctl_function_t) (void *cookie, int cmd,\n\t\t\t\t\tvoid *ptr,
        size_t *len)"
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/libgpg-error/src/gpgrt-int.h
      type: int
    - item_type: typedef
      name: '*notify_list_t'
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/libgpg-error/src/gpgrt-int.h
      type: notify_list_s
    - item_type: typedef
      name: '*estream_internal_t'
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/libgpg-error/src/gpgrt-int.h
      type: _gpgrt_stream_internal
    union: []
- function_names:
  - use_pthread_p
  - use_pthread_p
  - use_pthread_p
  - use_pthread_p
  - dummy_thread_func
  - use_pthread_p
  - get_lock_object
  - _gpgrt_lock_init
  - _gpgrt_lock_lock
  - _gpgrt_lock_trylock
  - _gpgrt_lock_unlock
  - _gpgrt_lock_destroy
  source_file: /src/libgpg-error/src/posix-lock.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - gpg_strerror_sym
  source_file: /src/libgpg-error/src/strerror-sym.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DIM
  - CALLBACK
  - create_reader
  - destroy_reader
  - func_w32_pollable_read
  - CALLBACK
  - create_writer
  - destroy_writer
  - func_w32_pollable_write
  - _gpgrt_w32_poll
  - _gpgrt_w32_pollable_create
  - func_w32_pollable_seek
  - func_w32_pollable_ioctl
  - func_w32_pollable_destroy
  source_file: /src/libgpg-error/src/w32-estream.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EOPNOTSUPP
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgpg-error/src/w32-estream.c
      type_or_value: ENOSYS
    - item_type: preproc_def
      name: READBUF_SIZE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libgpg-error/src/w32-estream.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: WRITEBUF_SIZE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libgpg-error/src/w32-estream.c
      type_or_value: '8192'
    structs:
    - fields:
      - name: pcookie
        type: estream_cookie_w32_pollable_t
      - name: thread_hd
        type: HANDLE
      - name: mutex
        type: CRITICAL_SECTION
      - name: stop_me
        type: int
      - name: eof
        type: int
      - name: eof_shortcut
        type: int
      - name: error
        type: int
      - name: error_code
        type: int
      - name: have_data_ev
        type: HANDLE
      - name: have_space_ev
        type: HANDLE
      - name: close_ev
        type: HANDLE
      - name: readpos
        type: size_t
      - name: buffer[READBUF_SIZE]
        type: char
      item_type: struct
      name: reader_context_s
      pos:
        line_end: 90
        line_start: 68
        source_file: /src/libgpg-error/src/w32-estream.c
    - fields:
      - name: pcookie
        type: estream_cookie_w32_pollable_t
      - name: thread_hd
        type: HANDLE
      - name: mutex
        type: CRITICAL_SECTION
      - name: stop_me
        type: int
      - name: error
        type: int
      - name: error_code
        type: int
      - name: have_data
        type: HANDLE
      - name: is_empty
        type: HANDLE
      - name: close_ev
        type: HANDLE
      - name: nbytes
        type: size_t
      - name: buffer[WRITEBUF_SIZE]
        type: char
      item_type: struct
      name: writer_context_s
      pos:
        line_end: 109
        line_start: 92
        source_file: /src/libgpg-error/src/w32-estream.c
    - fields:
      - name: modeflags
        type: unsigned int
      - name: next_functions
        type: struct cookie_io_functions_s
      - name: '*next_cookie'
        type: void
      - name: '*reader'
        type: struct reader_context_s
      - name: '*writer'
        type: struct writer_context_s
      item_type: struct
      name: estream_cookie_w32_pollable
      pos:
        line_end: 121
        line_start: 112
        source_file: /src/libgpg-error/src/w32-estream.c
    typedefs:
    - item_type: typedef
      name: '*estream_cookie_w32_pollable_t'
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/libgpg-error/src/w32-estream.c
      type: estream_cookie_w32_pollable
    union: []
- function_names:
  - load_mlang
  - win_iconv_open
  - win_iconv
  - make_csconv
  - name_to_codepage
  - utf16_to_ucs4
  - ucs4_to_utf16
  - mbtowc_flags
  - must_use_null_useddefaultchar
  - strrstr
  - xstrndup
  - seterror
  - sbcs_mblen
  - dbcs_mblen
  - mbcs_mblen
  - utf8_mblen
  - eucjp_mblen
  - kernel_mbtowc
  - kernel_wctomb
  - mlang_mbtowc
  - mlang_wctomb
  - utf16_mbtowc
  - utf16_wctomb
  - utf32_mbtowc
  - utf32_wctomb
  - ISO2022_MODE
  - ISO2022_MODE_CS
  - ISO2022_MODE_SHIFT
  - iso2022jp_mbtowc
  - iso2022jp_wctomb
  - iso2022jp_flush
  - gpgrt_w32_iconv_open
  - gpgrt_w32_iconv_close
  - gpgrt_w32_iconv
  source_file: /src/libgpg-error/src/w32-iconv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WINVER
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgpg-error/src/w32-iconv.c
      type_or_value: '0x0500'
    - item_type: preproc_def
      name: MB_CHAR_MAX
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgpg-error/src/w32-iconv.c
      type_or_value: '16'
    - item_type: preproc_def
      name: UNICODE_MODE_BOM_DONE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libgpg-error/src/w32-iconv.c
      type_or_value: '1'
    - item_type: preproc_def
      name: UNICODE_MODE_SWAPPED
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgpg-error/src/w32-iconv.c
      type_or_value: '2'
    - item_type: preproc_def
      name: FLAG_USE_BOM
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgpg-error/src/w32-iconv.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FLAG_TRANSLIT
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libgpg-error/src/w32-iconv.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: FLAG_IGNORE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgpg-error/src/w32-iconv.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: COMPAT_IN
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libgpg-error/src/w32-iconv.c
      type_or_value: '1'
    - item_type: preproc_def
      name: COMPAT_OUT
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libgpg-error/src/w32-iconv.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ISO2022_SI
      pos:
        line_end: 1475
        line_start: 1474
        source_file: /src/libgpg-error/src/w32-iconv.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ISO2022_SO
      pos:
        line_end: 1476
        line_start: 1475
        source_file: /src/libgpg-error/src/w32-iconv.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ISO2022JP_CS_ASCII
      pos:
        line_end: 1493
        line_start: 1492
        source_file: /src/libgpg-error/src/w32-iconv.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ISO2022JP_CS_JISX0201_ROMAN
      pos:
        line_end: 1494
        line_start: 1493
        source_file: /src/libgpg-error/src/w32-iconv.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ISO2022JP_CS_JISX0201_KANA
      pos:
        line_end: 1495
        line_start: 1494
        source_file: /src/libgpg-error/src/w32-iconv.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ISO2022JP_CS_JISX0208_1978
      pos:
        line_end: 1496
        line_start: 1495
        source_file: /src/libgpg-error/src/w32-iconv.c
      type_or_value: '3'
    - item_type: preproc_def
      name: ISO2022JP_CS_JISX0208_1983
      pos:
        line_end: 1497
        line_start: 1496
        source_file: /src/libgpg-error/src/w32-iconv.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ISO2022JP_CS_JISX0212
      pos:
        line_end: 1498
        line_start: 1497
        source_file: /src/libgpg-error/src/w32-iconv.c
      type_or_value: '5'
    structs:
    - fields:
      - name: in
        type: uint
      - name: out
        type: uint
      - name: flag
        type: uint
      item_type: struct
      name: compat_t
      pos:
        line_end: 82
        line_start: 78
        source_file: /src/libgpg-error/src/w32-iconv.c
    - fields:
      - name: codepage
        type: int
      - name: flags
        type: int
      - name: mbtowc
        type: f_mbtowc
      - name: wctomb
        type: f_wctomb
      - name: mblen
        type: f_mblen
      - name: flush
        type: f_flush
      - name: mode
        type: DWORD
      - name: '*compat'
        type: compat_t
      item_type: struct
      name: csconv_t
      pos:
        line_end: 93
        line_start: 84
        source_file: /src/libgpg-error/src/w32-iconv.c
    - fields:
      - name: _errno
        type: f_errno
      - name: from
        type: csconv_t
      - name: to
        type: csconv_t
      item_type: struct
      name: _gpgrt_w32_iconv_s
      pos:
        line_end: 99
        line_start: 95
        source_file: /src/libgpg-error/src/w32-iconv.c
    - fields:
      - name: codepage
        type: int
      - name: '*name'
        type: char
      item_type: struct
      name: "codepage_alias[] = {\n    {65001, \"CP65001\"},\n    {65001, \"UTF8\"},\n
        \   {65001, \"UTF-8\"},\n\n    {1200, \"CP1200\"},\n    {1200, \"UTF16LE\"},\n
        \   {1200, \"UTF-16LE\"},\n    {1200, \"UCS2LE\"},\n    {1200, \"UCS-2LE\"},\n
        \   {1200, \"UCS-2-INTERNAL\"},\n\n    {1201, \"CP1201\"},\n    {1201, \"UTF16BE\"},\n
        \   {1201, \"UTF-16BE\"},\n    {1201, \"UCS2BE\"},\n    {1201, \"UCS-2BE\"},\n
        \   {1201, \"unicodeFFFE\"},\n\n    {12000, \"CP12000\"},\n    {12000, \"UTF32LE\"},\n
        \   {12000, \"UTF-32LE\"},\n    {12000, \"UCS4LE\"},\n    {12000, \"UCS-4LE\"},\n\n
        \   {12001, \"CP12001\"},\n    {12001, \"UTF32BE\"},\n    {12001, \"UTF-32BE\"},\n
        \   {12001, \"UCS4BE\"},\n    {12001, \"UCS-4BE\"},\n\n    /*\n     * Default
        is big endian.\n     * See rfc2781 4.3 Interpreting text labelled as UTF-16.\n
        \    */\n    {1201, \"UTF16\"},\n    {1201, \"UTF-16\"},\n    {1201, \"UCS2\"},\n
        \   {1201, \"UCS-2\"},\n    {12001, \"UTF32\"},\n    {12001, \"UTF-32\"},\n
        \   {12001, \"UCS-4\"},\n    {12001, \"UCS4\"},\n\n    /* copy from libiconv
        `iconv -l` */\n    /* !IsValidCodePage(367) */\n    {20127, \"ANSI_X3.4-1968\"},\n
        \   {20127, \"ANSI_X3.4-1986\"},\n    {20127, \"ASCII\"},\n    {20127, \"CP367\"},\n
        \   {20127, \"IBM367\"},\n    {20127, \"ISO-IR-6\"},\n    {20127, \"ISO646-US\"},\n
        \   {20127, \"ISO_646.IRV:1991\"},\n    {20127, \"US\"},\n    {20127, \"US-ASCII\"},\n
        \   {20127, \"CSASCII\"},\n\n    /* !IsValidCodePage(819) */\n    {1252, \"CP819\"},\n
        \   {1252, \"IBM819\"},\n    {28591, \"ISO-8859-1\"},\n    {28591, \"ISO-IR-100\"},\n
        \   {28591, \"ISO8859-1\"},\n    {28591, \"ISO_8859-1\"},\n    {28591, \"ISO_8859-1:1987\"},\n
        \   {28591, \"L1\"},\n    {28591, \"LATIN1\"},\n    {28591, \"CSISOLATIN1\"},\n\n
        \   {1250, \"CP1250\"},\n    {1250, \"MS-EE\"},\n    {1250, \"WINDOWS-1250\"},\n\n
        \   {1251, \"CP1251\"},\n    {1251, \"MS-CYRL\"},\n    {1251, \"WINDOWS-1251\"},\n\n
        \   {1252, \"CP1252\"},\n    {1252, \"MS-ANSI\"},\n    {1252, \"WINDOWS-1252\"},\n\n
        \   {1253, \"CP1253\"},\n    {1253, \"MS-GREEK\"},\n    {1253, \"WINDOWS-1253\"},\n\n
        \   {1254, \"CP1254\"},\n    {1254, \"MS-TURK\"},\n    {1254, \"WINDOWS-1254\"},\n\n
        \   {1255, \"CP1255\"},\n    {1255, \"MS-HEBR\"},\n    {1255, \"WINDOWS-1255\"},\n\n
        \   {1256, \"CP1256\"},\n    {1256, \"MS-ARAB\"},\n    {1256, \"WINDOWS-1256\"},\n\n
        \   {1257, \"CP1257\"},\n    {1257, \"WINBALTRIM\"},\n    {1257, \"WINDOWS-1257\"},\n\n
        \   {1258, \"CP1258\"},\n    {1258, \"WINDOWS-1258\"},\n\n    {850, \"850\"},\n
        \   {850, \"CP850\"},\n    {850, \"IBM850\"},\n    {850, \"CSPC850MULTILINGUAL\"},\n\n
        \   /* !IsValidCodePage(862) */\n    {862, \"862\"},\n    {862, \"CP862\"},\n
        \   {862, \"IBM862\"},\n    {862, \"CSPC862LATINHEBREW\"},\n\n    {866, \"866\"},\n
        \   {866, \"CP866\"},\n    {866, \"IBM866\"},\n    {866, \"CSIBM866\"},\n\n
        \   /* !IsValidCodePage(154) */\n    {154, \"CP154\"},\n    {154, \"CYRILLIC-ASIAN\"},\n
        \   {154, \"PT154\"},\n    {154, \"PTCP154\"},\n    {154, \"CSPTCP154\"},\n\n
        \   /* !IsValidCodePage(1133) */\n    {1133, \"CP1133\"},\n    {1133, \"IBM-CP1133\"},\n\n
        \   {874, \"CP874\"},\n    {874, \"WINDOWS-874\"},\n\n    /* !IsValidCodePage(51932)
        */\n    {51932, \"CP51932\"},\n    {51932, \"MS51932\"},\n    {51932, \"WINDOWS-51932\"},\n
        \   {51932, \"EUC-JP\"},\n\n    {932, \"CP932\"},\n    {932, \"MS932\"},\n
        \   {932, \"SHIFFT_JIS\"},\n    {932, \"SHIFFT_JIS-MS\"},\n    {932, \"SJIS\"},\n
        \   {932, \"SJIS-MS\"},\n    {932, \"SJIS-OPEN\"},\n    {932, \"SJIS-WIN\"},\n
        \   {932, \"WINDOWS-31J\"},\n    {932, \"WINDOWS-932\"},\n    {932, \"CSWINDOWS31J\"},\n\n
        \   {50221, \"CP50221\"},\n    {50221, \"ISO-2022-JP\"},\n    {50221, \"ISO-2022-JP-MS\"},\n
        \   {50221, \"ISO2022-JP\"},\n    {50221, \"ISO2022-JP-MS\"},\n    {50221,
        \"MS50221\"},\n    {50221, \"WINDOWS-50221\"},\n\n    {936, \"CP936\"},\n
        \   {936, \"GBK\"},\n    {936, \"MS936\"},\n    {936, \"WINDOWS-936\"},\n\n
        \   {950, \"CP950\"},\n    {950, \"BIG5\"},\n    {950, \"BIG5HKSCS\"},\n    {950,
        \"BIG5-HKSCS\"},\n\n    {949, \"CP949\"},\n    {949, \"UHC\"},\n    {949,
        \"EUC-KR\"},\n\n    {1361, \"CP1361\"},\n    {1361, \"JOHAB\"},\n\n    {437,
        \"437\"},\n    {437, \"CP437\"},\n    {437, \"IBM437\"},\n    {437, \"CSPC8CODEPAGE437\"},\n\n
        \   {737, \"CP737\"},\n\n    {775, \"CP775\"},\n    {775, \"IBM775\"},\n    {775,
        \"CSPC775BALTIC\"},\n\n    {852, \"852\"},\n    {852, \"CP852\"},\n    {852,
        \"IBM852\"},\n    {852, \"CSPCP852\"},\n\n    /* !IsValidCodePage(853) */\n
        \   {853, \"CP853\"},\n\n    {855, \"855\"},\n    {855, \"CP855\"},\n    {855,
        \"IBM855\"},\n    {855, \"CSIBM855\"},\n\n    {857, \"857\"},\n    {857, \"CP857\"},\n
        \   {857, \"IBM857\"},\n    {857, \"CSIBM857\"},\n\n    /* !IsValidCodePage(858)
        */\n    {858, \"CP858\"},\n\n    {860, \"860\"},\n    {860, \"CP860\"},\n
        \   {860, \"IBM860\"},\n    {860, \"CSIBM860\"},\n\n    {861, \"861\"},\n
        \   {861, \"CP-IS\"},\n    {861, \"CP861\"},\n    {861, \"IBM861\"},\n    {861,
        \"CSIBM861\"},\n\n    {863, \"863\"},\n    {863, \"CP863\"},\n    {863, \"IBM863\"},\n
        \   {863, \"CSIBM863\"},\n\n    {864, \"CP864\"},\n    {864, \"IBM864\"},\n
        \   {864, \"CSIBM864\"},\n\n    {865, \"865\"},\n    {865, \"CP865\"},\n    {865,
        \"IBM865\"},\n    {865, \"CSIBM865\"},\n\n    {869, \"869\"},\n    {869, \"CP-GR\"},\n
        \   {869, \"CP869\"},\n    {869, \"IBM869\"},\n    {869, \"CSIBM869\"},\n\n
        \   /* !IsValidCodePage(1152) */\n    {1125, \"CP1125\"},\n\n    /*\n     *
        Code Page Identifiers\n     * https://msdn.microsoft.com/en-us/library/dd317756.aspx\n
        \    */\n    {37, \"IBM037\"}, /* IBM EBCDIC US-Canada */\n    {437, \"IBM437\"},
        /* OEM United States */\n    {500, \"IBM500\"}, /* IBM EBCDIC International
        */\n    {708, \"ASMO-708\"}, /* Arabic (ASMO 708) */\n    /* 709 \t\tArabic
        (ASMO-449+, BCON V4) */\n    /* 710 \t\tArabic - Transparent Arabic */\n    {720,
        \"DOS-720\"}, /* Arabic (Transparent ASMO); Arabic (DOS) */\n    {737, \"ibm737\"},
        /* OEM Greek (formerly 437G); Greek (DOS) */\n    {775, \"ibm775\"}, /* OEM
        Baltic; Baltic (DOS) */\n    {850, \"ibm850\"}, /* OEM Multilingual Latin
        1; Western European (DOS) */\n    {852, \"ibm852\"}, /* OEM Latin 2; Central
        European (DOS) */\n    {855, \"IBM855\"}, /* OEM Cyrillic (primarily Russian)
        */\n    {857, \"ibm857\"}, /* OEM Turkish; Turkish (DOS) */\n    {858, \"IBM00858\"},
        /* OEM Multilingual Latin 1 + Euro symbol */\n    {860, \"IBM860\"}, /* OEM
        Portuguese; Portuguese (DOS) */\n    {861, \"ibm861\"}, /* OEM Icelandic;
        Icelandic (DOS) */\n    {862, \"DOS-862\"}, /* OEM Hebrew; Hebrew (DOS) */\n
        \   {863, \"IBM863\"}, /* OEM French Canadian; French Canadian (DOS) */\n
        \   {864, \"IBM864\"}, /* OEM Arabic; Arabic (864) */\n    {865, \"IBM865\"},
        /* OEM Nordic; Nordic (DOS) */\n    {866, \"cp866\"}, /* OEM Russian; Cyrillic
        (DOS) */\n    {869, \"ibm869\"}, /* OEM Modern Greek; Greek, Modern (DOS)
        */\n    {870, \"IBM870\"}, /* IBM EBCDIC Multilingual/ROECE (Latin 2); IBM
        EBCDIC Multilingual Latin 2 */\n    {874, \"windows-874\"}, /* ANSI/OEM Thai
        (same as 28605, ISO 8859-15); Thai (Windows) */\n    {875, \"cp875\"}, /*
        IBM EBCDIC Greek Modern */\n    {932, \"shift_jis\"}, /* ANSI/OEM Japanese;
        Japanese (Shift-JIS) */\n    {932, \"shift-jis\"}, /* alternative name for
        it */\n    {936, \"gb2312\"}, /* ANSI/OEM Simplified Chinese (PRC, Singapore);
        Chinese Simplified (GB2312) */\n    {949, \"ks_c_5601-1987\"}, /* ANSI/OEM
        Korean (Unified Hangul Code) */\n    {950, \"big5\"}, /* ANSI/OEM Traditional
        Chinese (Taiwan; Hong Kong SAR, PRC); Chinese Traditional (Big5) */\n    {950,
        \"big5hkscs\"}, /* ANSI/OEM Traditional Chinese (Hong Kong SAR); Chinese Traditional
        (Big5-HKSCS) */\n    {950, \"big5-hkscs\"}, /* alternative name for it */\n
        \   {1026, \"IBM1026\"}, /* IBM EBCDIC Turkish (Latin 5) */\n    {1047, \"IBM01047\"},
        /* IBM EBCDIC Latin 1/Open System */\n    {1140, \"IBM01140\"}, /* IBM EBCDIC
        US-Canada (037 + Euro symbol); IBM EBCDIC (US-Canada-Euro) */\n    {1141,
        \"IBM01141\"}, /* IBM EBCDIC Germany (20273 + Euro symbol); IBM EBCDIC (Germany-Euro)
        */\n    {1142, \"IBM01142\"}, /* IBM EBCDIC Denmark-Norway (20277 + Euro symbol);
        IBM EBCDIC (Denmark-Norway-Euro) */\n    {1143, \"IBM01143\"}, /* IBM EBCDIC
        Finland-Sweden (20278 + Euro symbol); IBM EBCDIC (Finland-Sweden-Euro) */\n
        \   {1144, \"IBM01144\"}, /* IBM EBCDIC Italy (20280 + Euro symbol); IBM EBCDIC
        (Italy-Euro) */\n    {1145, \"IBM01145\"}, /* IBM EBCDIC Latin America-Spain
        (20284 + Euro symbol); IBM EBCDIC (Spain-Euro) */\n    {1146, \"IBM01146\"},
        /* IBM EBCDIC United Kingdom (20285 + Euro symbol); IBM EBCDIC (UK-Euro) */\n
        \   {1147, \"IBM01147\"}, /* IBM EBCDIC France (20297 + Euro symbol); IBM
        EBCDIC (France-Euro) */\n    {1148, \"IBM01148\"}, /* IBM EBCDIC International
        (500 + Euro symbol); IBM EBCDIC (International-Euro) */\n    {1149, \"IBM01149\"},
        /* IBM EBCDIC Icelandic (20871 + Euro symbol); IBM EBCDIC (Icelandic-Euro)
        */\n    {1250, \"windows-1250\"}, /* ANSI Central European; Central European
        (Windows) */\n    {1251, \"windows-1251\"}, /* ANSI Cyrillic; Cyrillic (Windows)
        */\n    {1252, \"windows-1252\"}, /* ANSI Latin 1; Western European (Windows)
        */\n    {1253, \"windows-1253\"}, /* ANSI Greek; Greek (Windows) */\n    {1254,
        \"windows-1254\"}, /* ANSI Turkish; Turkish (Windows) */\n    {1255, \"windows-1255\"},
        /* ANSI Hebrew; Hebrew (Windows) */\n    {1256, \"windows-1256\"}, /* ANSI
        Arabic; Arabic (Windows) */\n    {1257, \"windows-1257\"}, /* ANSI Baltic;
        Baltic (Windows) */\n    {1258, \"windows-1258\"}, /* ANSI/OEM Vietnamese;
        Vietnamese (Windows) */\n    {1361, \"Johab\"}, /* Korean (Johab) */\n    {10000,
        \"macintosh\"}, /* MAC Roman; Western European (Mac) */\n    {10001, \"x-mac-japanese\"},
        /* Japanese (Mac) */\n    {10002, \"x-mac-chinesetrad\"}, /* MAC Traditional
        Chinese (Big5); Chinese Traditional (Mac) */\n    {10003, \"x-mac-korean\"},
        /* Korean (Mac) */\n    {10004, \"x-mac-arabic\"}, /* Arabic (Mac) */\n    {10005,
        \"x-mac-hebrew\"}, /* Hebrew (Mac) */\n    {10006, \"x-mac-greek\"}, /* Greek
        (Mac) */\n    {10007, \"x-mac-cyrillic\"}, /* Cyrillic (Mac) */\n    {10008,
        \"x-mac-chinesesimp\"}, /* MAC Simplified Chinese (GB 2312); Chinese Simplified
        (Mac) */\n    {10010, \"x-mac-romanian\"}, /* Romanian (Mac) */\n    {10017,
        \"x-mac-ukrainian\"}, /* Ukrainian (Mac) */\n    {10021, \"x-mac-thai\"},
        /* Thai (Mac) */\n    {10029, \"x-mac-ce\"}, /* MAC Latin 2; Central European
        (Mac) */\n    {10079, \"x-mac-icelandic\"}, /* Icelandic (Mac) */\n    {10081,
        \"x-mac-turkish\"}, /* Turkish (Mac) */\n    {10082, \"x-mac-croatian\"},
        /* Croatian (Mac) */\n    {20000, \"x-Chinese_CNS\"}, /* CNS Taiwan; Chinese
        Traditional (CNS) */\n    {20001, \"x-cp20001\"}, /* TCA Taiwan */\n    {20002,
        \"x_Chinese-Eten\"}, /* Eten Taiwan; Chinese Traditional (Eten) */\n    {20003,
        \"x-cp20003\"}, /* IBM5550 Taiwan */\n    {20004, \"x-cp20004\"}, /* TeleText
        Taiwan */\n    {20005, \"x-cp20005\"}, /* Wang Taiwan */\n    {20105, \"x-IA5\"},
        /* IA5 (IRV International Alphabet No. 5, 7-bit); Western European (IA5) */\n
        \   {20106, \"x-IA5-German\"}, /* IA5 German (7-bit) */\n    {20107, \"x-IA5-Swedish\"},
        /* IA5 Swedish (7-bit) */\n    {20108, \"x-IA5-Norwegian\"}, /* IA5 Norwegian
        (7-bit) */\n    {20127, \"us-ascii\"}, /* US-ASCII (7-bit) */\n    {20261,
        \"x-cp20261\"}, /* T.61 */\n    {20269, \"x-cp20269\"}, /* ISO 6937 Non-Spacing
        Accent */\n    {20273, \"IBM273\"}, /* IBM EBCDIC Germany */\n    {20277,
        \"IBM277\"}, /* IBM EBCDIC Denmark-Norway */\n    {20278, \"IBM278\"}, /*
        IBM EBCDIC Finland-Sweden */\n    {20280, \"IBM280\"}, /* IBM EBCDIC Italy
        */\n    {20284, \"IBM284\"}, /* IBM EBCDIC Latin America-Spain */\n    {20285,
        \"IBM285\"}, /* IBM EBCDIC United Kingdom */\n    {20290, \"IBM290\"}, /*
        IBM EBCDIC Japanese Katakana Extended */\n    {20297, \"IBM297\"}, /* IBM
        EBCDIC France */\n    {20420, \"IBM420\"}, /* IBM EBCDIC Arabic */\n    {20423,
        \"IBM423\"}, /* IBM EBCDIC Greek */\n    {20424, \"IBM424\"}, /* IBM EBCDIC
        Hebrew */\n    {20833, \"x-EBCDIC-KoreanExtended\"}, /* IBM EBCDIC Korean
        Extended */\n    {20838, \"IBM-Thai\"}, /* IBM EBCDIC Thai */\n    {20866,
        \"koi8-r\"}, /* Russian (KOI8-R); Cyrillic (KOI8-R) */\n    {20871, \"IBM871\"},
        /* IBM EBCDIC Icelandic */\n    {20880, \"IBM880\"}, /* IBM EBCDIC Cyrillic
        Russian */\n    {20905, \"IBM905\"}, /* IBM EBCDIC Turkish */\n    {20924,
        \"IBM00924\"}, /* IBM EBCDIC Latin 1/Open System (1047 + Euro symbol) */\n
        \   {20932, \"EUC-JP\"}, /* Japanese (JIS 0208-1990 and 0121-1990) */\n    {20936,
        \"x-cp20936\"}, /* Simplified Chinese (GB2312); Chinese Simplified (GB2312-80)
        */\n    {20949, \"x-cp20949\"}, /* Korean Wansung */\n    {21025, \"cp1025\"},
        /* IBM EBCDIC Cyrillic Serbian-Bulgarian */\n    /* 21027 \t\t(deprecated)
        */\n    {21866, \"koi8-u\"}, /* Ukrainian (KOI8-U); Cyrillic (KOI8-U) */\n
        \   {28591, \"iso-8859-1\"}, /* ISO 8859-1 Latin 1; Western European (ISO)
        */\n    {28591, \"iso8859-1\"}, /* ISO 8859-1 Latin 1; Western European (ISO)
        */\n    {28591, \"iso_8859-1\"},\n    {28591, \"iso_8859_1\"},\n    {28592,
        \"iso-8859-2\"}, /* ISO 8859-2 Central European; Central European (ISO) */\n
        \   {28592, \"iso8859-2\"}, /* ISO 8859-2 Central European; Central European
        (ISO) */\n    {28592, \"iso_8859-2\"},\n    {28592, \"iso_8859_2\"},\n    {28593,
        \"iso-8859-3\"}, /* ISO 8859-3 Latin 3 */\n    {28593, \"iso8859-3\"}, /*
        ISO 8859-3 Latin 3 */\n    {28593, \"iso_8859-3\"},\n    {28593, \"iso_8859_3\"},\n
        \   {28594, \"iso-8859-4\"}, /* ISO 8859-4 Baltic */\n    {28594, \"iso8859-4\"},
        /* ISO 8859-4 Baltic */\n    {28594, \"iso_8859-4\"},\n    {28594, \"iso_8859_4\"},\n
        \   {28595, \"iso-8859-5\"}, /* ISO 8859-5 Cyrillic */\n    {28595, \"iso8859-5\"},
        /* ISO 8859-5 Cyrillic */\n    {28595, \"iso_8859-5\"},\n    {28595, \"iso_8859_5\"},\n
        \   {28596, \"iso-8859-6\"}, /* ISO 8859-6 Arabic */\n    {28596, \"iso8859-6\"},
        /* ISO 8859-6 Arabic */\n    {28596, \"iso_8859-6\"},\n    {28596, \"iso_8859_6\"},\n
        \   {28597, \"iso-8859-7\"}, /* ISO 8859-7 Greek */\n    {28597, \"iso8859-7\"},
        /* ISO 8859-7 Greek */\n    {28597, \"iso_8859-7\"},\n    {28597, \"iso_8859_7\"},\n
        \   {28598, \"iso-8859-8\"}, /* ISO 8859-8 Hebrew; Hebrew (ISO-Visual) */\n
        \   {28598, \"iso8859-8\"}, /* ISO 8859-8 Hebrew; Hebrew (ISO-Visual) */\n
        \   {28598, \"iso_8859-8\"},\n    {28598, \"iso_8859_8\"},\n    {28599, \"iso-8859-9\"},
        /* ISO 8859-9 Turkish */\n    {28599, \"iso8859-9\"}, /* ISO 8859-9 Turkish
        */\n    {28599, \"iso_8859-9\"},\n    {28599, \"iso_8859_9\"},\n    {28603,
        \"iso-8859-13\"}, /* ISO 8859-13 Estonian */\n    {28603, \"iso8859-13\"},
        /* ISO 8859-13 Estonian */\n    {28603, \"iso_8859-13\"},\n    {28603, \"iso_8859_13\"},\n
        \   {28605, \"iso-8859-15\"}, /* ISO 8859-15 Latin 9 */\n    {28605, \"iso8859-15\"},
        /* ISO 8859-15 Latin 9 */\n    {28605, \"iso_8859-15\"},\n    {28605, \"iso_8859_15\"},\n
        \   {29001, \"x-Europa\"}, /* Europa 3 */\n    {38598, \"iso-8859-8-i\"},
        /* ISO 8859-8 Hebrew; Hebrew (ISO-Logical) */\n    {38598, \"iso8859-8-i\"},
        /* ISO 8859-8 Hebrew; Hebrew (ISO-Logical) */\n    {38598, \"iso_8859-8-i\"},\n
        \   {38598, \"iso_8859_8-i\"},\n    {50220, \"iso-2022-jp\"}, /* ISO 2022
        Japanese with no halfwidth Katakana; Japanese (JIS) */\n    {50221, \"csISO2022JP\"},
        /* ISO 2022 Japanese with halfwidth Katakana; Japanese (JIS-Allow 1 byte Kana)
        */\n    {50222, \"iso-2022-jp\"}, /* ISO 2022 Japanese JIS X 0201-1989; Japanese
        (JIS-Allow 1 byte Kana - SO/SI) */\n    {50225, \"iso-2022-kr\"}, /* ISO 2022
        Korean */\n    {50225, \"iso2022-kr\"}, /* ISO 2022 Korean */\n    {50227,
        \"x-cp50227\"}, /* ISO 2022 Simplified Chinese; Chinese Simplified (ISO 2022)
        */\n    /* 50229 \t\tISO 2022 Traditional Chinese */\n    /* 50930 \t\tEBCDIC
        Japanese (Katakana) Extended */\n    /* 50931 \t\tEBCDIC US-Canada and Japanese
        */\n    /* 50933 \t\tEBCDIC Korean Extended and Korean */\n    /* 50935 \t\tEBCDIC
        Simplified Chinese Extended and Simplified Chinese */\n    /* 50936 \t\tEBCDIC
        Simplified Chinese */\n    /* 50937 \t\tEBCDIC US-Canada and Traditional Chinese
        */\n    /* 50939 \t\tEBCDIC Japanese (Latin) Extended and Japanese */\n    {51932,
        \"euc-jp\"}, /* EUC Japanese */\n    {51936, \"EUC-CN\"}, /* EUC Simplified
        Chinese; Chinese Simplified (EUC) */\n    {51949, \"euc-kr\"}, /* EUC Korean
        */\n    /* 51950 \t\tEUC Traditional Chinese */\n    {52936, \"hz-gb-2312\"},
        /* HZ-GB2312 Simplified Chinese; Chinese Simplified (HZ) */\n    {54936, \"GB18030\"},
        /* Windows XP and later: GB18030 Simplified Chinese (4 byte); Chinese Simplified
        (GB18030) */\n    {57002, \"x-iscii-de\"}, /* ISCII Devanagari */\n    {57003,
        \"x-iscii-be\"}, /* ISCII Bengali */\n    {57004, \"x-iscii-ta\"}, /* ISCII
        Tamil */\n    {57005, \"x-iscii-te\"}, /* ISCII Telugu */\n    {57006, \"x-iscii-as\"},
        /* ISCII Assamese */\n    {57007, \"x-iscii-or\"}, /* ISCII Oriya */\n    {57008,
        \"x-iscii-ka\"}, /* ISCII Kannada */\n    {57009, \"x-iscii-ma\"}, /* ISCII
        Malayalam */\n    {57010, \"x-iscii-gu\"}, /* ISCII Gujarati */\n    {57011,
        \"x-iscii-pa\"}, /* ISCII Punjabi */\n\n    {0, NULL}\n}"
      pos:
        line_end: 145
        line_start: 142
        source_file: /src/libgpg-error/src/w32-iconv.c
    - fields:
      - name: '*esc'
        type: char
      - name: esc_len
        type: int
      - name: len
        type: int
      - name: cs
        type: int
      item_type: struct
      name: iso2022_esc_t
      pos:
        line_end: 1489
        line_start: 1484
        source_file: /src/libgpg-error/src/w32-iconv.c
    typedefs:
    - item_type: typedef
      name: uchar
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: unsigned char
    - item_type: typedef
      name: ushort
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: unsigned short
    - item_type: typedef
      name: uint
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: unsigned int
    - item_type: typedef
      name: compat_t
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: compat_t
    - item_type: typedef
      name: csconv_t
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: csconv_t
    - item_type: typedef
      name: '* (*f_errno)(void)'
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: int
    - item_type: typedef
      name: (*f_mbtowc)(csconv_t *cv, const uchar *buf, int bufsize, ushort *wbuf,
        int *wbufsize)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: int
    - item_type: typedef
      name: (*f_wctomb)(csconv_t *cv, ushort *wbuf, int wbufsize, uchar *buf, int
        bufsize)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: int
    - item_type: typedef
      name: (*f_mblen)(csconv_t *cv, const uchar *buf, int bufsize)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: int
    - item_type: typedef
      name: (*f_flush)(csconv_t *cv, uchar *buf, int bufsize)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: int
    - item_type: typedef
      name: "(WINAPI *CONVERTINETSTRING)(\n    LPDWORD lpdwMode,\n    DWORD dwSrcEncoding,\n
        \   DWORD dwDstEncoding,\n    LPCSTR lpSrcStr,\n    LPINT lpnSrcSize,\n    LPBYTE
        lpDstStr,\n    LPINT lpnDstSize\n)"
      pos:
        line_end: 642
        line_start: 634
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: HRESULT
    - item_type: typedef
      name: "(WINAPI *CONVERTINETMULTIBYTETOUNICODE)(\n    LPDWORD lpdwMode,\n    DWORD
        dwSrcEncoding,\n    LPCSTR lpSrcStr,\n    LPINT lpnMultiCharCount,\n    LPWSTR
        lpDstStr,\n    LPINT lpnWideCharCount\n)"
      pos:
        line_end: 650
        line_start: 643
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: HRESULT
    - item_type: typedef
      name: "(WINAPI *CONVERTINETUNICODETOMULTIBYTE)(\n    LPDWORD lpdwMode,\n    DWORD
        dwEncoding,\n    LPCWSTR lpSrcStr,\n    LPINT lpnWideCharCount,\n    LPSTR
        lpDstStr,\n    LPINT lpnMultiCharCount\n)"
      pos:
        line_end: 658
        line_start: 651
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: HRESULT
    - item_type: typedef
      name: "(WINAPI *ISCONVERTINETSTRINGAVAILABLE)(\n    DWORD dwSrcEncoding,\n    DWORD
        dwDstEncoding\n)"
      pos:
        line_end: 662
        line_start: 659
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: HRESULT
    - item_type: typedef
      name: "(WINAPI *LCIDTORFC1766A)(\n    LCID Locale,\n    LPSTR pszRfc1766,\n
        \   int nChar\n)"
      pos:
        line_end: 667
        line_start: 663
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: HRESULT
    - item_type: typedef
      name: "(WINAPI *LCIDTORFC1766W)(\n    LCID Locale,\n    LPWSTR pszRfc1766,\n
        \   int nChar\n)"
      pos:
        line_end: 672
        line_start: 668
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: HRESULT
    - item_type: typedef
      name: "(WINAPI *RFC1766TOLCIDA)(\n    LCID *pLocale,\n    LPSTR pszRfc1766\n)"
      pos:
        line_end: 676
        line_start: 673
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: HRESULT
    - item_type: typedef
      name: "(WINAPI *RFC1766TOLCIDW)(\n    LCID *pLocale,\n    LPWSTR pszRfc1766\n)"
      pos:
        line_end: 680
        line_start: 677
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: HRESULT
    - item_type: typedef
      name: iso2022_esc_t
      pos:
        line_end: 1483
        line_start: 1483
        source_file: /src/libgpg-error/src/w32-iconv.c
      type: iso2022_esc_t
    union: []
- function_names:
  - gettext
  - dgettext
  - dcgettext
  - ngettext
  - dngettext
  - dcngettext
  - textdomain
  - bindtextdomain
  - bind_textdomain_codeset
  - gettext_noop
  source_file: /src/libgpg-error/src/gettext.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _LIBGETTEXT_H
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/libgpg-error/src/gettext.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_lock_object
  - _gpgrt_lock_init
  - _gpgrt_lock_lock
  - _gpgrt_lock_trylock
  - _gpgrt_lock_unlock
  - _gpgrt_lock_destroy
  source_file: /src/libgpg-error/src/w32-lock.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/posix-lock-obj.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOCK_ABI_NOT_AVAILABLE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/libgpg-error/src/posix-lock-obj.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: LOCK_ABI_VERSION
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/libgpg-error/src/posix-lock-obj.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LOCK_ABI_VERSION
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libgpg-error/src/posix-lock-obj.h
      type_or_value: LOCK_ABI_NOT_AVAILABLE
    structs:
    - fields:
      - name: vers
        type: long
      item_type: struct
      name: _gpgrt_lock_t
      pos:
        line_end: 38
        line_start: 29
        source_file: /src/libgpg-error/src/posix-lock-obj.h
    typedefs: []
    union: []
- function_names:
  - gpg_strsource_sym
  source_file: /src/libgpg-error/src/strsource-sym.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gpgrt_strlist_free
  - do_strlist_append
  - _gpgrt_strlist_add
  - _gpgrt_strlist_tokenize
  - _gpgrt_strlist_copy
  - _gpgrt_strlist_rev
  - _gpgrt_strlist_prev
  - _gpgrt_strlist_last
  - _gpgrt_strlist_pop
  - _gpgrt_strlist_find
  source_file: /src/libgpg-error/src/strlist.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SL_PRIV_FLAG_WIPE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgpg-error/src/strlist.c
      type_or_value: '0x01'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/thread.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _
  - N_
  - N_
  - _
  - N_
  - get_locale_dir
  - i18n_init
  - get_locale_dir
  - drop_locale_dir
  - get_err_from_number
  - get_err_from_symbol_one
  - get_err_from_symbol
  - get_err_from_codesymbol
  - get_err_from_str_one
  - get_err_from_str
  - print_desc
  - my_strusage
  - main
  source_file: /src/libgpg-error/src/gpg-error.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SLDIR
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libgpg-error/src/gpg-error.c
      type_or_value: '"\\share\\locale"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - closefrom_really
  - get_max_fds
  - close_except
  - _gpgrt_close_all_fds
  - do_create_pipe
  - do_create_pipe_and_estream
  - _gpgrt_make_pipe
  - do_create_socketpair
  - posix_open_null
  - prepare_environ
  - my_exec
  - spawn_detached
  - _gpgrt_spawn_actions_new
  - _gpgrt_spawn_actions_release
  - _gpgrt_spawn_actions_set_environ
  - _gpgrt_spawn_actions_set_env_rev
  - _gpgrt_spawn_actions_set_atfork
  - _gpgrt_spawn_actions_set_redirect
  - _gpgrt_spawn_actions_set_inherit_fds
  - _gpgrt_process_spawn
  - process_kill
  - _gpgrt_process_terminate
  - _gpgrt_process_get_fds
  - _gpgrt_process_get_streams
  - _gpgrt_process_vctl
  - _gpgrt_process_wait
  - _gpgrt_process_release
  - _gpgrt_process_wait_list
  source_file: /src/libgpg-error/src/spawn-posix.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _GPGRT_NEED_AFLOCAL
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgpg-error/src/spawn-posix.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_GET_MAX_FDS
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libgpg-error/src/spawn-posix.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DIR_BUF_SIZE
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libgpg-error/src/spawn-posix.c
      type_or_value: '1024'
    structs:
    - fields:
      - name: fd[3]
        type: int
      - name: '*except_fds'
        type: int
      - name: '**envp'
        type: char
      - name: '*const *envchange'
        type: char
      - name: (*atfork) (void *)
        type: void
      - name: '*atfork_arg'
        type: void
      item_type: struct
      name: gpgrt_spawn_actions
      pos:
        line_end: 69
        line_start: 62
        source_file: /src/libgpg-error/src/spawn-posix.c
    - fields:
      - name: '*pgmname'
        type: char
      - name: terminated
        type: unsigned int
      - name: flags
        type: unsigned int
      - name: pid
        type: pid_t
      - name: fd_in
        type: int
      - name: fd_out
        type: int
      - name: fd_err
        type: int
      - name: wstatus
        type: int
      item_type: struct
      name: gpgrt_process
      pos:
        line_end: 83
        line_start: 74
        source_file: /src/libgpg-error/src/spawn-posix.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/w32-lock-obj.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOCK_ABI_VERSION
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/libgpg-error/src/w32-lock-obj.h
      type_or_value: '1'
    structs:
    - fields:
      - name: vers
        type: long
      - name: initdone
        type: long
      - name: started
        type: long
      - name: csec
        type: CRITICAL_SECTION
      item_type: struct
      name: _gpgrt_lock_t
      pos:
        line_end: 33
        line_start: 27
        source_file: /src/libgpg-error/src/w32-lock-obj.h
    typedefs: []
    union: []
- function_names:
  - _gpg_strerror
  - system_strerror_r
  - system_strerror_r
  - system_strerror_r
  - system_strerror_r
  - _gpg_strerror_r
  source_file: /src/libgpg-error/src/strerror.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - jnlib_malloc
  - jnlib_calloc
  - jnlib_free
  - jnlib_xstrdup
  - my_nl_locale_name
  - do_swap_u32
  - SWAPIT
  - hash_string
  - module_init
  - _gpg_w32__init_gettext_module
  - free_domain
  - load_domain
  - utf8_to_wchar
  - _gpgrt_utf8_to_wchar
  - _gpgrt_free_wchar
  - wchar_to_cp
  - wchar_to_native
  - _gpgrt_wchar_to_utf8
  - utf8_to_native
  - _gpg_w32_bindtextdomain
  - get_plural
  - get_string
  - do_gettext
  - _gpg_w32_textdomain
  - _gpg_w32_gettext
  - _gpg_w32_dgettext
  - _gpg_w32_dngettext
  - _gpg_w32_gettext_localename
  - _gpg_w32_gettext_use_utf8
  - gpgrt_w32_override_locale
  - main
  source_file: /src/libgpg-error/src/w32-gettext.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LANG_AFRIKAANS
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x36'
    - item_type: preproc_def
      name: LANG_ALBANIAN
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x1c'
    - item_type: preproc_def
      name: LANG_AMHARIC
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x5e'
    - item_type: preproc_def
      name: LANG_ARABIC
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: LANG_ARMENIAN
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x2b'
    - item_type: preproc_def
      name: LANG_ASSAMESE
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x4d'
    - item_type: preproc_def
      name: LANG_AZERI
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x2c'
    - item_type: preproc_def
      name: LANG_BASQUE
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x2d'
    - item_type: preproc_def
      name: LANG_BELARUSIAN
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x23'
    - item_type: preproc_def
      name: LANG_BENGALI
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x45'
    - item_type: preproc_def
      name: LANG_BURMESE
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x55'
    - item_type: preproc_def
      name: LANG_CAMBODIAN
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x53'
    - item_type: preproc_def
      name: LANG_CATALAN
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: LANG_CHEROKEE
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x5c'
    - item_type: preproc_def
      name: LANG_DIVEHI
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x65'
    - item_type: preproc_def
      name: LANG_EDO
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x66'
    - item_type: preproc_def
      name: LANG_ESTONIAN
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x25'
    - item_type: preproc_def
      name: LANG_FAEROESE
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x38'
    - item_type: preproc_def
      name: LANG_FARSI
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x29'
    - item_type: preproc_def
      name: LANG_FRISIAN
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x62'
    - item_type: preproc_def
      name: LANG_FULFULDE
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x67'
    - item_type: preproc_def
      name: LANG_GAELIC
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x3c'
    - item_type: preproc_def
      name: LANG_GALICIAN
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x56'
    - item_type: preproc_def
      name: LANG_GEORGIAN
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x37'
    - item_type: preproc_def
      name: LANG_GUARANI
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x74'
    - item_type: preproc_def
      name: LANG_GUJARATI
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x47'
    - item_type: preproc_def
      name: LANG_HAUSA
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x68'
    - item_type: preproc_def
      name: LANG_HAWAIIAN
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x75'
    - item_type: preproc_def
      name: LANG_HEBREW
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0d'
    - item_type: preproc_def
      name: LANG_HINDI
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x39'
    - item_type: preproc_def
      name: LANG_IBIBIO
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x69'
    - item_type: preproc_def
      name: LANG_IGBO
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x70'
    - item_type: preproc_def
      name: LANG_INDONESIAN
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x21'
    - item_type: preproc_def
      name: LANG_INUKTITUT
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x5d'
    - item_type: preproc_def
      name: LANG_KANNADA
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x4b'
    - item_type: preproc_def
      name: LANG_KANURI
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x71'
    - item_type: preproc_def
      name: LANG_KASHMIRI
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x60'
    - item_type: preproc_def
      name: LANG_KAZAK
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x3f'
    - item_type: preproc_def
      name: LANG_KONKANI
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x57'
    - item_type: preproc_def
      name: LANG_KYRGYZ
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: LANG_LAO
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x54'
    - item_type: preproc_def
      name: LANG_LATIN
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x76'
    - item_type: preproc_def
      name: LANG_LATVIAN
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x26'
    - item_type: preproc_def
      name: LANG_LITHUANIAN
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x27'
    - item_type: preproc_def
      name: LANG_MACEDONIAN
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x2f'
    - item_type: preproc_def
      name: LANG_MALAY
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x3e'
    - item_type: preproc_def
      name: LANG_MALAYALAM
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x4c'
    - item_type: preproc_def
      name: LANG_MALTESE
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x3a'
    - item_type: preproc_def
      name: LANG_MANIPURI
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x58'
    - item_type: preproc_def
      name: LANG_MARATHI
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x4e'
    - item_type: preproc_def
      name: LANG_MONGOLIAN
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x50'
    - item_type: preproc_def
      name: LANG_NEPALI
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x61'
    - item_type: preproc_def
      name: LANG_ORIYA
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x48'
    - item_type: preproc_def
      name: LANG_OROMO
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x72'
    - item_type: preproc_def
      name: LANG_PAPIAMENTU
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x79'
    - item_type: preproc_def
      name: LANG_PASHTO
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x63'
    - item_type: preproc_def
      name: LANG_PUNJABI
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x46'
    - item_type: preproc_def
      name: LANG_RHAETO_ROMANCE
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x17'
    - item_type: preproc_def
      name: LANG_SAAMI
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x3b'
    - item_type: preproc_def
      name: LANG_SANSKRIT
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x4f'
    - item_type: preproc_def
      name: LANG_SERBIAN
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x1a'
    - item_type: preproc_def
      name: LANG_SINDHI
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x59'
    - item_type: preproc_def
      name: LANG_SINHALESE
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x5b'
    - item_type: preproc_def
      name: LANG_SLOVAK
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x1b'
    - item_type: preproc_def
      name: LANG_SOMALI
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x77'
    - item_type: preproc_def
      name: LANG_SORBIAN
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x2e'
    - item_type: preproc_def
      name: LANG_SUTU
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x30'
    - item_type: preproc_def
      name: LANG_SWAHILI
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x41'
    - item_type: preproc_def
      name: LANG_SYRIAC
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x5a'
    - item_type: preproc_def
      name: LANG_TAGALOG
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x64'
    - item_type: preproc_def
      name: LANG_TAJIK
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x28'
    - item_type: preproc_def
      name: LANG_TAMAZIGHT
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x5f'
    - item_type: preproc_def
      name: LANG_TAMIL
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x49'
    - item_type: preproc_def
      name: LANG_TATAR
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x44'
    - item_type: preproc_def
      name: LANG_TELUGU
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x4a'
    - item_type: preproc_def
      name: LANG_THAI
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x1e'
    - item_type: preproc_def
      name: LANG_TIBETAN
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x51'
    - item_type: preproc_def
      name: LANG_TIGRINYA
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x73'
    - item_type: preproc_def
      name: LANG_TSONGA
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x31'
    - item_type: preproc_def
      name: LANG_TSWANA
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x32'
    - item_type: preproc_def
      name: LANG_TURKMEN
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x42'
    - item_type: preproc_def
      name: LANG_UKRAINIAN
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x22'
    - item_type: preproc_def
      name: LANG_URDU
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: LANG_UZBEK
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x43'
    - item_type: preproc_def
      name: LANG_VENDA
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x33'
    - item_type: preproc_def
      name: LANG_VIETNAMESE
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x2a'
    - item_type: preproc_def
      name: LANG_WELSH
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x52'
    - item_type: preproc_def
      name: LANG_XHOSA
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x34'
    - item_type: preproc_def
      name: LANG_YI
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x78'
    - item_type: preproc_def
      name: LANG_YIDDISH
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x3d'
    - item_type: preproc_def
      name: LANG_YORUBA
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x6a'
    - item_type: preproc_def
      name: LANG_ZULU
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x35'
    - item_type: preproc_def
      name: SUBLANG_ARABIC_SAUDI_ARABIA
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SUBLANG_ARABIC_IRAQ
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: SUBLANG_ARABIC_EGYPT
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: SUBLANG_ARABIC_LIBYA
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: SUBLANG_ARABIC_ALGERIA
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x05'
    - item_type: preproc_def
      name: SUBLANG_ARABIC_MOROCCO
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x06'
    - item_type: preproc_def
      name: SUBLANG_ARABIC_TUNISIA
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x07'
    - item_type: preproc_def
      name: SUBLANG_ARABIC_OMAN
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: SUBLANG_ARABIC_YEMEN
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x09'
    - item_type: preproc_def
      name: SUBLANG_ARABIC_SYRIA
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0a'
    - item_type: preproc_def
      name: SUBLANG_ARABIC_JORDAN
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0b'
    - item_type: preproc_def
      name: SUBLANG_ARABIC_LEBANON
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0c'
    - item_type: preproc_def
      name: SUBLANG_ARABIC_KUWAIT
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0d'
    - item_type: preproc_def
      name: SUBLANG_ARABIC_UAE
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0e'
    - item_type: preproc_def
      name: SUBLANG_ARABIC_BAHRAIN
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: SUBLANG_ARABIC_QATAR
      pos:
        line_end: 417
        line_start: 416
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: SUBLANG_AZERI_LATIN
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SUBLANG_AZERI_CYRILLIC
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: SUBLANG_BENGALI_INDIA
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SUBLANG_BENGALI_BANGLADESH
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: SUBLANG_CHINESE_MACAU
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x05'
    - item_type: preproc_def
      name: SUBLANG_ENGLISH_SOUTH_AFRICA
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x07'
    - item_type: preproc_def
      name: SUBLANG_ENGLISH_JAMAICA
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: SUBLANG_ENGLISH_CARIBBEAN
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x09'
    - item_type: preproc_def
      name: SUBLANG_ENGLISH_BELIZE
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0a'
    - item_type: preproc_def
      name: SUBLANG_ENGLISH_TRINIDAD
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0b'
    - item_type: preproc_def
      name: SUBLANG_ENGLISH_ZIMBABWE
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0c'
    - item_type: preproc_def
      name: SUBLANG_ENGLISH_PHILIPPINES
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0d'
    - item_type: preproc_def
      name: SUBLANG_ENGLISH_INDONESIA
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0e'
    - item_type: preproc_def
      name: SUBLANG_ENGLISH_HONGKONG
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: SUBLANG_ENGLISH_INDIA
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: SUBLANG_ENGLISH_MALAYSIA
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x11'
    - item_type: preproc_def
      name: SUBLANG_ENGLISH_SINGAPORE
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x12'
    - item_type: preproc_def
      name: SUBLANG_FRENCH_LUXEMBOURG
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x05'
    - item_type: preproc_def
      name: SUBLANG_FRENCH_MONACO
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x06'
    - item_type: preproc_def
      name: SUBLANG_FRENCH_WESTINDIES
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x07'
    - item_type: preproc_def
      name: SUBLANG_FRENCH_REUNION
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: SUBLANG_FRENCH_CONGO
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x09'
    - item_type: preproc_def
      name: SUBLANG_FRENCH_SENEGAL
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0a'
    - item_type: preproc_def
      name: SUBLANG_FRENCH_CAMEROON
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0b'
    - item_type: preproc_def
      name: SUBLANG_FRENCH_COTEDIVOIRE
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0c'
    - item_type: preproc_def
      name: SUBLANG_FRENCH_MALI
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0d'
    - item_type: preproc_def
      name: SUBLANG_FRENCH_MOROCCO
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0e'
    - item_type: preproc_def
      name: SUBLANG_FRENCH_HAITI
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: SUBLANG_GERMAN_LUXEMBOURG
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: SUBLANG_GERMAN_LIECHTENSTEIN
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x05'
    - item_type: preproc_def
      name: SUBLANG_KASHMIRI_INDIA
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: SUBLANG_MALAY_MALAYSIA
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SUBLANG_MALAY_BRUNEI_DARUSSALAM
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: SUBLANG_NEPALI_INDIA
      pos:
        line_end: 519
        line_start: 518
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: SUBLANG_PUNJABI_INDIA
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SUBLANG_ROMANIAN_ROMANIA
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SUBLANG_SERBIAN_LATIN
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: SUBLANG_SERBIAN_CYRILLIC
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: SUBLANG_SINDHI_INDIA
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: SUBLANG_SINDHI_PAKISTAN
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SUBLANG_SPANISH_GUATEMALA
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: SUBLANG_SPANISH_COSTA_RICA
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x05'
    - item_type: preproc_def
      name: SUBLANG_SPANISH_PANAMA
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x06'
    - item_type: preproc_def
      name: SUBLANG_SPANISH_DOMINICAN_REPUBLIC
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x07'
    - item_type: preproc_def
      name: SUBLANG_SPANISH_VENEZUELA
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: SUBLANG_SPANISH_COLOMBIA
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x09'
    - item_type: preproc_def
      name: SUBLANG_SPANISH_PERU
      pos:
        line_end: 558
        line_start: 557
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0a'
    - item_type: preproc_def
      name: SUBLANG_SPANISH_ARGENTINA
      pos:
        line_end: 561
        line_start: 560
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0b'
    - item_type: preproc_def
      name: SUBLANG_SPANISH_ECUADOR
      pos:
        line_end: 564
        line_start: 563
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0c'
    - item_type: preproc_def
      name: SUBLANG_SPANISH_CHILE
      pos:
        line_end: 567
        line_start: 566
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0d'
    - item_type: preproc_def
      name: SUBLANG_SPANISH_URUGUAY
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0e'
    - item_type: preproc_def
      name: SUBLANG_SPANISH_PARAGUAY
      pos:
        line_end: 573
        line_start: 572
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: SUBLANG_SPANISH_BOLIVIA
      pos:
        line_end: 576
        line_start: 575
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: SUBLANG_SPANISH_EL_SALVADOR
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x11'
    - item_type: preproc_def
      name: SUBLANG_SPANISH_HONDURAS
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x12'
    - item_type: preproc_def
      name: SUBLANG_SPANISH_NICARAGUA
      pos:
        line_end: 585
        line_start: 584
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x13'
    - item_type: preproc_def
      name: SUBLANG_SPANISH_PUERTO_RICO
      pos:
        line_end: 588
        line_start: 587
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x14'
    - item_type: preproc_def
      name: SUBLANG_SWEDISH_FINLAND
      pos:
        line_end: 591
        line_start: 590
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: SUBLANG_TAMAZIGHT_ARABIC
      pos:
        line_end: 594
        line_start: 593
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SUBLANG_TAMAZIGHT_LATIN
      pos:
        line_end: 597
        line_start: 596
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: SUBLANG_TIGRINYA_ETHIOPIA
      pos:
        line_end: 600
        line_start: 599
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: SUBLANG_TIGRINYA_ERITREA
      pos:
        line_end: 603
        line_start: 602
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SUBLANG_URDU_PAKISTAN
      pos:
        line_end: 606
        line_start: 605
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SUBLANG_URDU_INDIA
      pos:
        line_end: 609
        line_start: 608
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: SUBLANG_UZBEK_LATIN
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SUBLANG_UZBEK_CYRILLIC
      pos:
        line_end: 615
        line_start: 614
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: HASHWORDBITS
      pos:
        line_end: 1052
        line_start: 1051
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '32'
    - item_type: preproc_def
      name: MAGIC
      pos:
        line_end: 1082
        line_start: 1081
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0x950412de'
    - item_type: preproc_def
      name: MAGIC_SWAPPED
      pos:
        line_end: 1083
        line_start: 1082
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0xde120495'
    - item_type: preproc_def
      name: MO_REVISION_NUMBER
      pos:
        line_end: 1086
        line_start: 1085
        source_file: /src/libgpg-error/src/w32-gettext.c
      type_or_value: '0'
    structs:
    - fields:
      - name: active
        type: unsigned short
      - name: langid
        type: unsigned short
      - name: name[28]
        type: char
      item_type: struct
      name: override_locale
      pos:
        line_end: 61
        line_start: 56
        source_file: /src/libgpg-error/src/w32-gettext.c
    - fields:
      - name: magic
        type: uint32_t
      - name: revision
        type: uint32_t
      - name: nstrings
        type: uint32_t
      - name: orig_tab_offset
        type: uint32_t
      - name: trans_tab_offset
        type: uint32_t
      - name: hash_tab_size
        type: uint32_t
      - name: hash_tab_offset
        type: uint32_t
      item_type: struct
      name: mo_file_header
      pos:
        line_end: 1105
        line_start: 1089
        source_file: /src/libgpg-error/src/w32-gettext.c
    - fields:
      - name: length
        type: uint32_t
      - name: offset
        type: uint32_t
      item_type: struct
      name: string_desc
      pos:
        line_end: 1114
        line_start: 1108
        source_file: /src/libgpg-error/src/w32-gettext.c
    - fields:
      - name: '*next'
        type: struct overflow_space_s
      - name: idx
        type: uint32_t
      - name: length
        type: uint32_t
      - name: d[1]
        type: char
      item_type: struct
      name: overflow_space_s
      pos:
        line_end: 1123
        line_start: 1117
        source_file: /src/libgpg-error/src/w32-gettext.c
    - fields:
      - name: '*data'
        type: char
      - name: '*data_native'
        type: char
      - name: must_swap
        type: int
      - name: nstrings
        type: uint16_t
      - name: '*mapped'
        type: uint16_t
      - name: '*overflow_space'
        type: struct overflow_space_s
      - name: '*orig_tab'
        type: struct string_desc
      - name: '*trans_tab'
        type: struct string_desc
      - name: hash_size
        type: uint32_t
      - name: '*hash_tab'
        type: uint32_t
      item_type: struct
      name: loaded_domain
      pos:
        line_end: 1145
        line_start: 1125
        source_file: /src/libgpg-error/src/w32-gettext.c
    typedefs: []
    union: []
- function_names:
  - my_printf_realloc
  - my_printf_realloc
  - _set_errno
  - DIM
  - fixed_realloc
  - dump_argspecs
  - compute_type
  - parse_format
  - read_values
  - pad_out
  - pr_integer
  - pr_float
  - pr_char
  - pr_string
  - pr_pointer
  - pr_bytes_so_far
  - do_format
  - _gpgrt_estream_format
  - plain_stdio_out
  - _gpgrt_estream_printf
  - _gpgrt_estream_fprintf
  - _gpgrt_estream_vfprintf
  - fixed_buffer_out
  - _gpgrt_estream_vsnprintf
  - _gpgrt_estream_snprintf
  - dynamic_buffer_out
  - _gpgrt_estream_vasprintf
  - _gpgrt_estream_asprintf
  - _gpgrt_estream_bsprintf
  source_file: /src/libgpg-error/src/estream-printf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEEP_SYSTEM_SNPRINTF
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libgpg-error/src/estream-printf.c
      type_or_value: '1  '
    - item_type: preproc_def
      name: HAVE_W32_SYSTEM
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libgpg-error/src/estream-printf.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_MAX_ARGSPECS
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libgpg-error/src/estream-printf.c
      type_or_value: '5'
    - item_type: preproc_def
      name: DEFAULT_MAX_VALUES
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/libgpg-error/src/estream-printf.c
      type_or_value: '8'
    - item_type: preproc_def
      name: ARGSPECS_BUMP_VALUE
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/libgpg-error/src/estream-printf.c
      type_or_value: '10'
    - item_type: preproc_def
      name: NO_FIELD_VALUE
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/libgpg-error/src/estream-printf.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: STAR_FIELD_VALUE
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/libgpg-error/src/estream-printf.c
      type_or_value: (-2)
    - item_type: preproc_def
      name: FLAG_GROUPING
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/libgpg-error/src/estream-printf.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FLAG_LEFT_JUST
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/libgpg-error/src/estream-printf.c
      type_or_value: '2'
    - item_type: preproc_def
      name: FLAG_PLUS_SIGN
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/libgpg-error/src/estream-printf.c
      type_or_value: '4'
    - item_type: preproc_def
      name: FLAG_SPACE_PLUS
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/libgpg-error/src/estream-printf.c
      type_or_value: '8'
    - item_type: preproc_def
      name: FLAG_ALT_CONV
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/libgpg-error/src/estream-printf.c
      type_or_value: '16'
    - item_type: preproc_def
      name: FLAG_ZERO_PAD
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/libgpg-error/src/estream-printf.c
      type_or_value: '32'
    structs:
    - fields:
      - name: length
        type: size_t
      - name: flags
        type: unsigned int
      - name: width
        type: int
      - name: precision
        type: int
      - name: lenmod
        type: lenmod_t
      - name: conspec
        type: conspec_t
      - name: arg_pos
        type: int
      - name: width_pos
        type: int
      - name: precision_pos
        type: int
      - name: vt
        type: valtype_t
      item_type: struct
      name: argspec_s
      pos:
        line_end: 286
        line_start: 270
        source_file: /src/libgpg-error/src/estream-printf.c
    - fields:
      - name: vt
        type: valtype_t
      - name: value
        type: value_t
      item_type: struct
      name: valueitem_s
      pos:
        line_end: 294
        line_start: 290
        source_file: /src/libgpg-error/src/estream-printf.c
    - fields:
      - name: size
        type: size_t
      - name: count
        type: size_t
      - name: used
        type: size_t
      - name: '*buffer'
        type: char
      item_type: struct
      name: fixed_buffer_parm_s
      pos:
        line_end: 1757
        line_start: 1751
        source_file: /src/libgpg-error/src/estream-printf.c
    - fields:
      - name: error_flag
        type: int
      - name: alloced
        type: size_t
      - name: used
        type: size_t
      - name: '*buffer'
        type: char
      item_type: struct
      name: dynamic_buffer_parm_s
      pos:
        line_end: 1837
        line_start: 1831
        source_file: /src/libgpg-error/src/estream-printf.c
    typedefs:
    - item_type: typedef
      name: '*argspec_t'
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/libgpg-error/src/estream-printf.c
      type: argspec_s
    - item_type: typedef
      name: '*valueitem_t'
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/libgpg-error/src/estream-printf.c
      type: valueitem_s
    union:
    - fields:
      - name: a_char
        type: char
      - name: a_schar
        type: signed char
      - name: a_uchar
        type: unsigned char
      - name: a_short
        type: short
      - name: a_ushort
        type: unsigned short
      - name: a_int
        type: int
      - name: a_uint
        type: unsigned int
      - name: a_long
        type: long int
      - name: a_ulong
        type: unsigned long int
      - name: a_double
        type: double
      - name: '*a_string'
        type: char
      - name: a_size
        type: size_t
      - name: '*a_void_ptr'
        type: void
      - name: '*a_char_ptr'
        type: char
      - name: '*a_schar_ptr'
        type: signed char
      - name: '*a_short_ptr'
        type: short
      - name: '*a_int_ptr'
        type: int
      - name: '*a_long_ptr'
        type: long
      - name: '*a_size_ptr'
        type: size_t
      item_type: union
      name: value_t
      pos:
        line_end: 267
        line_start: 221
        source_file: /src/libgpg-error/src/estream-printf.c
- function_names:
  - xfree
  - xmalloc
  - xstrdup
  - canon_host_triplet
  - parse_config_h
  - write_str
  - write_line
  - write_sources_or_codes
  - write_errnos_in
  - mk_include_name
  - include_file
  - try_include_file
  - write_special
  - main
  source_file: /src/libgpg-error/src/mkheader.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libgpg-error/src/mkheader.c
      type_or_value: '"mkheader"'
    - item_type: preproc_def
      name: LINESIZE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/libgpg-error/src/mkheader.c
      type_or_value: '1024'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*alias'
        type: char
      item_type: struct
      name: "tbl[] = {\n    {\"i486-pc-linux-gnu\", \"i686-unknown-linux-gnu\" },\n
        \   {\"i586-pc-linux-gnu\" },\n    {\"i686-pc-linux-gnu\" },\n    {\"arc-oe-linux-gnu\"
        \   }, /* Other CPU but same struct.  */\n    {\"arc-oe-linux-uclibc\" },
        /* and uclibc is also the same.  */\n\n    {\"i486-pc-gnu\", \"i686-unknown-gnu\"},\n
        \   {\"i586-pc-gnu\"},\n    {\"i686-pc-gnu\"},\n\n    {\"i486-pc-kfreebsd-gnu\",
        \"i686-unknown-kfreebsd-gnu\"},\n    {\"i586-pc-kfreebsd-gnu\"},\n    {\"i686-pc-kfreebsd-gnu\"},\n\n
        \   {\"x86_64-pc-linux-gnuhardened1\", \"x86_64-unknown-linux-gnu\" },\n    {\"x86_64-pc-linux-gnu\"
        },\n\n    {\"x86_64-pc-gnu\"},\n\n    {\"powerpc-unknown-linux-gnuspe\", \"powerpc-unknown-linux-gnu\"
        },\n\n    {\"arm-unknown-linux-gnueabihf\",  \"arm-unknown-linux-gnueabi\"
        },\n    {\"armv7-unknown-linux-gnueabihf\"  },\n    {\"armv7a-unknown-linux-gnueabihf\"
        },\n    {\"armv5-unknown-linux-musleabi\"   },\n    {\"armv6-unknown-linux-musleabihf\"
        },\n    {\"armv7a-unknown-linux-androideabi\", \"arm-unknown-linux-androideabi\"
        },\n\n    { NULL }\n  }"
      pos:
        line_end: 93
        line_start: 90
        source_file: /src/libgpg-error/src/mkheader.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/estream.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gpgrt_set_syscall_clamp
  - _gpgrt_get_syscall_clamp
  - _gpgrt_pre_syscall
  - _gpgrt_post_syscall
  source_file: /src/libgpg-error/src/syscall-clamp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - gpg_strerror
  - gpg_strerror_r
  - gpg_strsource
  - gpg_err_code_from_errno
  - gpg_err_code_to_errno
  - gpg_err_code_from_syserror
  - gpg_err_set_errno
  - gpg_err_init
  - gpg_err_deinit
  - gpgrt_add_emergency_cleanup
  - gpgrt_abort
  - gpg_error_check_version
  - gpgrt_check_version
  - gpgrt_set_syscall_clamp
  - gpgrt_get_syscall_clamp
  - gpgrt_set_alloc_func
  - gpgrt_lock_init
  - gpgrt_lock_lock
  - gpgrt_lock_trylock
  - gpgrt_lock_unlock
  - gpgrt_lock_destroy
  - gpgrt_yield
  - gpgrt_fopen
  - gpgrt_mopen
  - gpgrt_fopenmem
  - gpgrt_fopenmem_init
  - gpgrt_fdopen
  - gpgrt_fdopen_nc
  - gpgrt_sysopen
  - gpgrt_sysopen_nc
  - gpgrt_fpopen
  - gpgrt_fpopen_nc
  - gpgrt_freopen
  - gpgrt_fopencookie
  - gpgrt_fclose
  - gpgrt_fcancel
  - gpgrt_fclose_snatch
  - gpgrt_onclose
  - gpgrt_fileno
  - gpgrt_fileno_unlocked
  - gpgrt_syshd
  - gpgrt_syshd_unlocked
  - _gpgrt_set_std_fd
  - _gpgrt_get_std_stream
  - gpgrt_flockfile
  - gpgrt_ftrylockfile
  - gpgrt_funlockfile
  - _gpgrt_pending
  - _gpgrt_pending_unlocked
  - gpgrt_feof
  - gpgrt_feof_unlocked
  - gpgrt_ferror
  - gpgrt_ferror_unlocked
  - gpgrt_clearerr
  - gpgrt_clearerr_unlocked
  - gpgrt_fflush
  - gpgrt_fseek
  - gpgrt_fseeko
  - gpgrt_ftell
  - gpgrt_ftello
  - gpgrt_rewind
  - gpgrt_ftruncate
  - gpgrt_fgetc
  - _gpgrt_getc_underflow
  - gpgrt_fputc
  - _gpgrt_putc_overflow
  - gpgrt_ungetc
  - gpgrt_read
  - gpgrt_write
  - gpgrt_write_sanitized
  - gpgrt_write_hexstring
  - gpgrt_fread
  - gpgrt_fwrite
  - gpgrt_fgets
  - gpgrt_fputs
  - gpgrt_fputs_unlocked
  - gpgrt_getline
  - gpgrt_read_line
  - gpgrt_vfprintf
  - gpgrt_vfprintf_unlocked
  - gpgrt_printf
  - gpgrt_printf_unlocked
  - gpgrt_fprintf
  - gpgrt_fprintf_unlocked
  - gpgrt_fprintf_sf
  - gpgrt_fprintf_sf_unlocked
  - gpgrt_setvbuf
  - gpgrt_setbuf
  - gpgrt_set_binary
  - gpgrt_set_nonblock
  - gpgrt_get_nonblock
  - gpgrt_poll
  - gpgrt_tmpfile
  - gpgrt_opaque_set
  - gpgrt_opaque_get
  - gpgrt_fname_set
  - gpgrt_fname_get
  - gpgrt_asprintf
  - gpgrt_vasprintf
  - gpgrt_bsprintf
  - gpgrt_vbsprintf
  - gpgrt_snprintf
  - gpgrt_vsnprintf
  - gpgrt_realloc
  - gpgrt_reallocarray
  - gpgrt_malloc
  - gpgrt_calloc
  - gpgrt_strdup
  - gpgrt_strconcat
  - gpgrt_free
  - gpgrt_wipememory
  - gpgrt_getenv
  - gpgrt_setenv
  - gpgrt_mkdir
  - gpgrt_chdir
  - gpgrt_getcwd
  - gpgrt_access
  - gpgrt_b64enc_start
  - gpgrt_b64enc_write
  - gpgrt_b64enc_finish
  - gpgrt_b64dec_start
  - gpgrt_b64dec_proc
  - gpgrt_b64dec_finish
  - gpgrt_get_errorcount
  - gpgrt_inc_errorcount
  - gpgrt_log_set_sink
  - gpgrt_log_set_socket_dir_cb
  - gpgrt_log_set_pid_suffix_cb
  - gpgrt_log_set_prefix
  - gpgrt_log_get_prefix
  - gpgrt_log_test_fd
  - gpgrt_log_get_fd
  - gpgrt_log_get_stream
  - gpgrt_add_post_log_func
  - gpgrt_log
  - gpgrt_logv
  - gpgrt_logv_prefix
  - gpgrt_logv_domain
  - gpgrt_log_string
  - gpgrt_log_info
  - gpgrt_log_error
  - gpgrt_log_fatal
  - gpgrt_log_bug
  - gpgrt_log_debug
  - gpgrt_log_debug_string
  - gpgrt_log_printf
  - gpgrt_log_flush
  - gpgrt_log_printhex
  - gpgrt_log_clock
  - _gpgrt_log_assert
  - gpgrt_make_pipe
  - gpgrt_close_all_fds
  - gpgrt_spawn_actions_new
  - gpgrt_spawn_actions_release
  - gpgrt_spawn_actions_set_env_rev
  - gpgrt_spawn_actions_set_envvars
  - gpgrt_spawn_actions_set_redirect
  - gpgrt_spawn_actions_set_inherit_handles
  - gpgrt_spawn_actions_set_environ
  - gpgrt_spawn_actions_set_redirect
  - gpgrt_spawn_actions_set_inherit_fds
  - gpgrt_spawn_actions_set_atfork
  - gpgrt_process_spawn
  - gpgrt_process_terminate
  - gpgrt_process_get_fds
  - gpgrt_process_get_streams
  - gpgrt_process_ctl
  - gpgrt_process_wait
  - gpgrt_process_release
  - gpgrt_argparse
  - gpgrt_argparser
  - gpgrt_usage
  - gpgrt_strusage
  - gpgrt_set_strusage
  - gpgrt_set_usage_outfnc
  - gpgrt_set_fixed_string_mapper
  - gpgrt_set_confdir
  - gpgrt_cmp_version
  - gpgrt_fnameconcat
  - gpgrt_absfnameconcat
  - gpgrt_fconcat
  - gpgrt_strlist_free
  - gpgrt_strlist_add
  - gpgrt_strlist_tokenize
  - gpgrt_strlist_copy
  - gpgrt_strlist_rev
  - gpgrt_strlist_prev
  - gpgrt_strlist_last
  - gpgrt_strlist_pop
  - gpgrt_strlist_find
  - gpgrt_nvc_new
  - gpgrt_nvc_release
  - gpgrt_nvc_get_flag
  - gpgrt_nvc_add
  - gpgrt_nvc_set
  - gpgrt_nve_set
  - gpgrt_nvc_delete
  - gpgrt_nvc_lookup
  - gpgrt_nvc_parse
  - gpgrt_nvc_write
  - gpgrt_nve_next
  - gpgrt_nve_name
  - gpgrt_nve_value
  - gpgrt_nvc_get_string
  - gpgrt_nvc_get_bool
  - gpgrt_free_wchar
  - gpgrt_fname_to_wchar
  - gpgrt_utf8_to_wchar
  - gpgrt_wchar_to_utf8
  - gpgrt_w32_reg_query_string
  - gpgrt_w32_reg_get_string
  - gpgrt_w32_set_errno
  source_file: /src/libgpg-error/src/visibility.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _GPGRT_INCL_BY_VISIBILITY_C
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/libgpg-error/src/visibility.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/init.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct domainlist_s
      - name: '*dname'
        type: char
      - name: '*fname'
        type: char
      - name: load_failed
        type: int
      - name: '*domain'
        type: struct loaded_domain
      - name: name[1]
        type: char
      item_type: struct
      name: domainlist_s
      pos:
        line_end: 38
        line_start: 28
        source_file: /src/libgpg-error/src/init.h
    - fields:
      - name: gt_use_utf8
        type: int
      item_type: struct
      name: tls_space_s
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/libgpg-error/src/init.h
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libgpg-error/src/gen-w32-lock-obj.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gpg_err_code_from_errno
  - _gpg_err_code_from_syserror
  source_file: /src/libgpg-error/src/code-from-errno.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sock_close
  - sock_close
  - _gpgrt_get_errorcount
  - _gpgrt_inc_errorcount
  - writen
  - parse_portno
  - fun_writer
  - fun_closer
  - set_file_fd
  - _gpgrt_log_set_sink
  - _gpgrt_log_set_socket_dir_cb
  - _gpgrt_log_set_pid_suffix_cb
  - _gpgrt_log_set_prefix
  - _gpgrt_log_get_prefix
  - _gpgrt_log_test_fd
  - _gpgrt_log_get_fd
  - _gpgrt_log_get_stream
  - _gpgrt_add_post_log_func
  - run_post_log_funcs
  - fmt_string_filter
  - print_prefix
  - _gpgrt_logv_internal
  - _gpgrt_log
  - _gpgrt_logv
  - _gpgrt_logv_prefix
  - do_log_ignore_arg
  - _gpgrt_log_string
  - _gpgrt_log_info
  - _gpgrt_log_error
  - _gpgrt_log_fatal
  - _gpgrt_log_bug
  - _gpgrt_log_debug
  - _gpgrt_log_debug_string
  - _gpgrt_log_printf
  - _gpgrt_log_flush
  - _gpgrt_logv_printhex
  - _gpgrt_log_printhex
  - _gpgrt_logv_clock
  - _gpgrt_log_clock
  - _gpgrt__log_assert
  source_file: /src/libgpg-error/src/logging.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _GPGRT_NEED_AFLOCAL
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgpg-error/src/logging.c
      type_or_value: '1'
    - item_type: preproc_def
      name: S_IRGRP
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libgpg-error/src/logging.c
      type_or_value: S_IRUSR
    - item_type: preproc_def
      name: S_IWGRP
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgpg-error/src/logging.c
      type_or_value: S_IWUSR
    - item_type: preproc_def
      name: S_IROTH
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libgpg-error/src/logging.c
      type_or_value: S_IRUSR
    - item_type: preproc_def
      name: S_IWOTH
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libgpg-error/src/logging.c
      type_or_value: S_IWUSR
    - item_type: preproc_def
      name: WITH_IPV6
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libgpg-error/src/logging.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EAFNOSUPPORT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libgpg-error/src/logging.c
      type_or_value: EINVAL
    - item_type: preproc_def
      name: INADDR_NONE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libgpg-error/src/logging.c
      type_or_value: ((unsigned long)(-1))
    structs:
    - fields:
      - name: next
        type: post_log_func_item_t
      - name: (*func) (int)
        type: void
      item_type: struct
      name: post_log_func_item_s
      pos:
        line_end: 110
        line_start: 106
        source_file: /src/libgpg-error/src/logging.c
    - fields:
      - name: '*last_result'
        type: char
      item_type: struct
      name: fmt_string_filter_s
      pos:
        line_end: 120
        line_start: 117
        source_file: /src/libgpg-error/src/logging.c
    - fields:
      - name: fd
        type: int
      - name: quiet
        type: int
      - name: want_socket
        type: int
      - name: is_socket
        type: int
      - name: name[1]
        type: char
      item_type: struct
      name: fun_cookie_s
      pos:
        line_end: 155
        line_start: 148
        source_file: /src/libgpg-error/src/logging.c
    typedefs:
    - item_type: typedef
      name: '*post_log_func_item_t'
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/libgpg-error/src/logging.c
      type: post_log_func_item_s
    union: []
- function_names:
  - _gpgrt_fd_valid_p
  - _gpgrt_getenv
  - _gpgrt_setenv
  - has_path_separator
  - _gpgrt_fname_to_wchar
  - modestr_to_mode
  - _gpgrt_mkdir
  - _gpgrt_chdir
  - _gpgrt_getcwd
  - _gpgrt_access
  - _gpgrt_getpwdir
  - _gpgrt_getusername
  source_file: /src/libgpg-error/src/sysutils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gpgrt_b64enc_start
  - _gpgrt_b64enc_write
  - _gpgrt_b64enc_finish
  source_file: /src/libgpg-error/src/b64enc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: B64ENC_DID_HEADER
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgpg-error/src/b64enc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: B64ENC_DID_TRAILER
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgpg-error/src/b64enc.c
      type_or_value: '2'
    - item_type: preproc_def
      name: B64ENC_NO_LINEFEEDS
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgpg-error/src/b64enc.c
      type_or_value: '16'
    - item_type: preproc_def
      name: B64ENC_USE_PGPCRC
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgpg-error/src/b64enc.c
      type_or_value: '32'
    - item_type: preproc_def
      name: CRCINIT
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libgpg-error/src/b64enc.c
      type_or_value: '0xB704CE'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/protos.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _ESTREAM_PREFIX1
  - _ESTREAM_PREFIX2
  - _ESTREAM_PREFIX
  - _ESTREAM_GCC_A_PRINTF
  - _ESTREAM_GCC_A_PRINTF
  source_file: /src/libgpg-error/src/estream-printf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: estream_printf_out_t
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libgpg-error/src/estream-printf.h
      type_or_value: _ESTREAM_PREFIX(estream_printf_out_t)
    - item_type: preproc_def
      name: estream_format
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libgpg-error/src/estream-printf.h
      type_or_value: _ESTREAM_PREFIX(estream_format)
    - item_type: preproc_def
      name: estream_printf
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libgpg-error/src/estream-printf.h
      type_or_value: _ESTREAM_PREFIX(estream_printf)
    - item_type: preproc_def
      name: estream_fprintf
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libgpg-error/src/estream-printf.h
      type_or_value: _ESTREAM_PREFIX(estream_fprintf)
    - item_type: preproc_def
      name: estream_vfprintf
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libgpg-error/src/estream-printf.h
      type_or_value: _ESTREAM_PREFIX(estream_vfprintf)
    - item_type: preproc_def
      name: estream_snprintf
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libgpg-error/src/estream-printf.h
      type_or_value: _ESTREAM_PREFIX(estream_snprintf)
    - item_type: preproc_def
      name: estream_vsnprintf
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libgpg-error/src/estream-printf.h
      type_or_value: _ESTREAM_PREFIX(estream_vsnprintf)
    - item_type: preproc_def
      name: estream_asprintf
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libgpg-error/src/estream-printf.h
      type_or_value: _ESTREAM_PREFIX(estream_asprintf)
    - item_type: preproc_def
      name: estream_vasprintf
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libgpg-error/src/estream-printf.h
      type_or_value: _ESTREAM_PREFIX(estream_vasprintf)
    structs: []
    typedefs:
    - item_type: typedef
      name: "(*estream_printf_out_t)\n     (void *outfncarg,  const char *buf, size_t
        buflen)"
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/libgpg-error/src/estream-printf.h
      type: int
    union: []
- function_names:
  - _gpgrt_yield
  source_file: /src/libgpg-error/src/posix-thread.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _GPG_ERR_ATTR_FORMAT_ARG
  - bindtextdomain
  - textdomain
  - gettext
  - dgettext
  - ngettext
  - dngettext
  - gettext_localename
  - gettext_use_utf8
  - iconv_open
  - iconv_close
  - iconv
  source_file: /src/libgpg-error/src/w32-add.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ICONV_CONST
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libgpg-error/src/w32-add.h
      type_or_value: const
    - item_type: preproc_def
      name: iconv_t
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libgpg-error/src/w32-add.h
      type_or_value: gpgrt_w32_iconv_t
    structs: []
    typedefs:
    - item_type: typedef
      name: '*gpgrt_w32_iconv_t'
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/libgpg-error/src/w32-add.h
      type: _gpgrt_w32_iconv_s
    union: []
- function_names:
  - get_locale_dir
  - windows_specific_init
  - real_init
  - _gpg_err_init
  - _gpg_err_deinit
  - _gpgrt_add_emergency_cleanup
  - run_emergency_cleanup
  - _gpgrt_abort
  - _gpgrt_set_alloc_func
  - _gpgrt_realloc
  - _gpgrt_reallocarray
  - _gpgrt_malloc
  - _gpgrt_calloc
  - _gpgrt_strdup
  - _gpgrt_strconcat_core
  - _gpgrt_strconcat
  - _gpgrt_free
  - _gpgrt_wipememory
  - _gpg_err_set_errno
  - _gpgrt_internal_trace_begin
  - print_internal_trace_prefix
  - do_internal_trace
  - _gpgrt_internal_trace_printf
  - _gpgrt_internal_trace
  - _gpgrt_internal_trace_end
  - _gpgrt_windows_feature
  - _gpgrt_w32_utf8_for_new_threads
  - get_locale_dir
  - drop_locale_dir
  - get_tls
  - DllMain
  source_file: /src/libgpg-error/src/init.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SLDIR
      pos:
        line_end: 622
        line_start: 621
        source_file: /src/libgpg-error/src/init.c
      type_or_value: '"\\share\\locale"'
    structs:
    - fields:
      - name: is_vista_or_later
        type: unsigned int
      - name: semihosted_by_wine
        type: unsigned int
      item_type: struct
      name: windows_features
      pos:
        line_end: 43
        line_start: 39
        source_file: /src/libgpg-error/src/init.c
    - fields:
      - name: next
        type: emergency_cleanup_item_t
      - name: (*func) (void)
        type: void
      item_type: struct
      name: emergency_cleanup_item_s
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/libgpg-error/src/init.c
    typedefs:
    - item_type: typedef
      name: '*emergency_cleanup_item_t'
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/libgpg-error/src/init.c
      type: emergency_cleanup_item_s
    union: []
- function_names:
  - _gpgrt_b64dec_start
  - _gpgrt_b64dec_proc
  - _gpgrt_b64dec_finish
  source_file: /src/libgpg-error/src/b64dec.c
  types:
    enum:
    - enumerators:
      - name: s_init
      - name: s_idle
      - name: s_beginseen
      - name: s_lfseen
      - name: s_waitheader
      - name: s_waitblank
      - name: s_begin
      - name: s_b64_0
      - name: s_b64_1
      - name: s_b64_2
      - name: s_waitendtitle
      - name: s_b64_3
      - name: s_waitend
      item_type: enum
      name: decoder_states
      pos:
        line_end: 57
        line_start: 52
        source_file: /src/libgpg-error/src/b64dec.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gpgrt_w32_reg_query_string
  - _gpgrt_w32_reg_get_string
  source_file: /src/libgpg-error/src/w32-reg.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_native_utf8
  - map_fixed_string
  - writestrings
  - flushstrings
  - deinitialize
  - my_exit
  - initialize
  - store_alias
  - ignore_invalid_option_p
  - ignore_invalid_option_add
  - ignore_invalid_option_clear
  - assure_username
  - get_var
  - substitute_vars
  - set_variable
  - handle_meta_user
  - handle_meta_if
  - handle_meta_let
  - emulated_registry_lookup
  - handle_meta_getenv
  - handle_meta_force
  - handle_meta_ignore
  - handle_meta_echo
  - handle_meta_verbose
  - handle_meta_command
  - handle_meta_expand
  - handle_metacmd
  - prepare_arg_return
  - _gpgrt_argparse
  - any_opt_conffile
  - is_absfname
  - is_twopartfname
  - try_versioned_conffile
  - finish_read_sys
  - _gpgrt_argparser
  - find_long_option
  - handle_special_commands
  - arg_parse
  - set_opt_arg
  - long_opt_strlen
  - cmp_ordtbl
  - show_help
  - show_version
  - dump_option_table
  - _gpgrt_usage
  - _gpgrt_strusage
  - _gpgrt_set_strusage
  - _gpgrt_set_usage_outfnc
  - _gpgrt_set_fixed_string_mapper
  - _gpgrt_set_confdir
  source_file: /src/libgpg-error/src/argparse.c
  types:
    enum:
    - enumerators:
      - name: STATE_init
        value: '0'
      - name: STATE_open_cmdline
      - name: STATE_open_user
      - name: STATE_read_sys
      - name: STATE_open_sys
      - name: STATE_read_user
      - name: STATE_read_cmdline
      - name: STATE_finished
      item_type: enum
      name: argparser_states
      pos:
        line_end: 80
        line_start: 70
        source_file: /src/libgpg-error/src/argparse.c
    preproc_defs:
    - item_type: preproc_def
      name: PATHSEP_C
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgpg-error/src/argparse.c
      type_or_value: ''';'''
    - item_type: preproc_def
      name: DIRSEP_C
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgpg-error/src/argparse.c
      type_or_value: '''\\'''
    - item_type: preproc_def
      name: PATHSEP_C
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgpg-error/src/argparse.c
      type_or_value: ''':'''
    - item_type: preproc_def
      name: DIRSEP_C
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgpg-error/src/argparse.c
      type_or_value: '''/'''
    - item_type: preproc_def
      name: ARGPARSE_FLAG__INITIALIZED
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libgpg-error/src/argparse.c
      type_or_value: (1u << ((8*SIZEOF_INT)-1))
    - item_type: preproc_def
      name: ARGPARSE_SHORTOPT_HELP
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libgpg-error/src/argparse.c
      type_or_value: '32768'
    - item_type: preproc_def
      name: ARGPARSE_SHORTOPT_VERSION
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libgpg-error/src/argparse.c
      type_or_value: '32769'
    - item_type: preproc_def
      name: ARGPARSE_SHORTOPT_WARRANTY
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libgpg-error/src/argparse.c
      type_or_value: '32770'
    - item_type: preproc_def
      name: ARGPARSE_SHORTOPT_DUMP_OPTIONS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libgpg-error/src/argparse.c
      type_or_value: '32771'
    - item_type: preproc_def
      name: ARGPARSE_SHORTOPT_DUMP_OPTTBL
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libgpg-error/src/argparse.c
      type_or_value: '32772'
    structs:
    - fields:
      - name: '*user'
        type: char
      - name: '*sys'
        type: char
      item_type: struct
      name: confdir
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/libgpg-error/src/argparse.c
    - fields:
      - name: '*next'
        type: struct variable_s
      - name: '*value'
        type: char
      - name: name[1]
        type: char
      item_type: struct
      name: variable_s
      pos:
        line_end: 89
        line_start: 84
        source_file: /src/libgpg-error/src/argparse.c
    - fields:
      - name: short_opt
        type: unsigned short
      - name: ordinal
        type: unsigned short
      - name: flags
        type: unsigned int
      - name: '*long_opt'
        type: char
      - name: '*description'
        type: char
      - name: forced
        type: unsigned int
      - name: ignore
        type: unsigned int
      - name: explicit_ignore
        type: unsigned int
      item_type: struct
      name: opttable_t
      pos:
        line_end: 106
        line_start: 95
        source_file: /src/libgpg-error/src/argparse.c
    - fields:
      - name: idx
        type: int
      - name: inarg
        type: int
      - name: verbose
        type: unsigned int
      - name: forceeof
        type: unsigned int
      - name: stopped
        type: unsigned int
      - name: in_sysconf
        type: unsigned int
      - name: mark_forced
        type: unsigned int
      - name: mark_ignore
        type: unsigned int
      - name: explicit_ignore
        type: unsigned int
      - name: command_seen
        type: unsigned int
      - name: ignore_all_seen
        type: unsigned int
      - name: user_seen
        type: unsigned int
      - name: user_wildcard
        type: unsigned int
      - name: user_any_active
        type: unsigned int
      - name: user_active
        type: unsigned int
      - name: no_registry
        type: unsigned int
      - name: expand
        type: unsigned int
      - name: explicit_cmd_mode
        type: unsigned int
      - name: cmd_mode
        type: unsigned int
      - name: explicit_confopt
        type: unsigned int
      - name: '*explicit_conffile'
        type: char
      - name: if_cond
        type: unsigned char
      - name: if_active[7]
        type: unsigned char
      - name: vartbl
        type: variable_t
      - name: '*username'
        type: char
      - name: opt_flags
        type: unsigned int
      - name: state
        type: enum argparser_states
      - name: '*last'
        type: char
      - name: '*aliases'
        type: void
      - name: '*cur_alias'
        type: void
      - name: '*iio_list'
        type: void
      - name: conffp
        type: estream_t
      - name: '*confname'
        type: char
      - name: '*opts'
        type: opttable_t
      - name: nopts
        type: unsigned int
      item_type: struct
      name: _gpgrt_argparse_internal_s
      pos:
        line_end: 152
        line_start: 110
        source_file: /src/libgpg-error/src/argparse.c
    - fields:
      - name: next
        type: ALIAS_DEF
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: alias_def_s
      pos:
        line_end: 160
        line_start: 156
        source_file: /src/libgpg-error/src/argparse.c
    - fields:
      - name: next
        type: IIO_ITEM_DEF
      - name: name[1]
        type: char
      item_type: struct
      name: iio_item_def_s
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/libgpg-error/src/argparse.c
    - fields:
      - name: '*name'
        type: char
      - name: alternate
        type: unsigned short
      - name: needarg
        type: unsigned short
      - name: always
        type: unsigned short
      - name: noskip
        type: unsigned short
      - name: "(*func)(gpgrt_argparse_t *arg,\n                unsigned int alternate,
          char *args)"
        type: int
      item_type: struct
      name: "cmds[] =\n      {{ \"user\",        0, 1, 0, 1, handle_meta_user },\n
        \      { \"if\",          0, 1, 1, 0, handle_meta_if },\n       { \"fi\",
        \         1, 0, 1, 0, handle_meta_if },\n       { \"else\",        2, 0, 1,
        0, handle_meta_if },\n       { \"let\",         0, 1, 1, 0, handle_meta_let
        },\n       { \"-let\",        1, 1, 1, 0, handle_meta_let },\n       { \"getenv\",
        \     0, 1, 1, 0, handle_meta_getenv },\n       { \"getreg\",      1, 1, 1,
        0, handle_meta_getenv },\n       { \"force\",       0, 0, 0, 0, handle_meta_force
        },\n       { \"+force\",      0, 0, 0, 0, handle_meta_force },\n       { \"-force\",
        \     1, 0, 0, 0, handle_meta_force },\n       { \"ignore\",      0, 0, 0,
        0, handle_meta_ignore },\n       { \"+ignore\",     0, 0, 0, 0, handle_meta_ignore
        },\n       { \"-ignore\",     1, 0, 0, 0, handle_meta_ignore },\n       {
        \"ignore-all\",  2, 0, 0, 0, handle_meta_ignore },\n       { \"+ignore-all\",
        2, 0, 0, 0, handle_meta_ignore },\n       { \"expand\",      0, 0, 1, 0, handle_meta_expand
        },\n       { \"+expand\",     0, 0, 1, 0, handle_meta_expand },\n       {
        \"-expand\",     1, 0, 1, 0, handle_meta_expand },\n       { \"verbose\",
        \    0, 0, 1, 1, handle_meta_verbose },\n       { \"+verbose\",    0, 0, 1,
        1, handle_meta_verbose },\n       { \"-verbose\",    1, 0, 1, 1, handle_meta_verbose
        },\n       { \"command-mode\", 0,0, 1, 0, handle_meta_command },\n       {
        \"+command-mode\",0,0, 1, 0, handle_meta_command },\n       { \"-command-mode\",1,0,
        1, 0, handle_meta_command },\n       { \"echo\",        0, 1, 1, 1, handle_meta_echo
        },\n       { \"-echo\",       1, 1, 1, 1, handle_meta_echo },\n       { \"info\",
        \       0, 1, 1, 0, handle_meta_echo },\n       { \"-info\",       1, 1, 1,
        0, handle_meta_echo }\n      }"
      pos:
        line_end: 1490
        line_start: 1482
        source_file: /src/libgpg-error/src/argparse.c
    typedefs:
    - item_type: typedef
      name: '*variable_t'
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/libgpg-error/src/argparse.c
      type: variable_s
    - item_type: typedef
      name: '*ALIAS_DEF'
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/libgpg-error/src/argparse.c
      type: alias_def_s
    - item_type: typedef
      name: '*IIO_ITEM_DEF'
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/libgpg-error/src/argparse.c
      type: iio_item_def_s
    union: []
- function_names:
  - main
  source_file: /src/libgpg-error/src/gen-posix-lock-obj.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGM
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgpg-error/src/gen-posix-lock-obj.c
      type_or_value: '"gen-posix-lock-obj"'
    - item_type: preproc_def
      name: USE_LONG_DOUBLE_FOR_ALIGNMENT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libgpg-error/src/gen-posix-lock-obj.c
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_DOUBLE_FOR_ALIGNMENT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgpg-error/src/gen-posix-lock-obj.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_DOUBLE_FOR_ALIGNMENT
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgpg-error/src/gen-posix-lock-obj.c
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_16BYTE_ALIGNMENT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgpg-error/src/gen-posix-lock-obj.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_16BYTE_ALIGNMENT
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgpg-error/src/gen-posix-lock-obj.c
      type_or_value: '0'
    structs:
    - fields:
      - name: vers
        type: long
      item_type: struct
      name: dummyobj
      pos:
        line_end: 80
        line_start: 75
        source_file: /src/libgpg-error/src/gen-posix-lock-obj.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libgpg-error/src/mkerrcodes.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ascii_isspace
  - spacep
  - digitp
  - alphap
  - alnump
  - ascii_toupper
  - ascii_strcasecmp
  - ascii_memcasecmp
  - same_name_p
  - _gpgrt_nvc_new
  - nve_release
  - _gpgrt_nvc_release
  - _gpgrt_nvc_get_flag
  - valid_name
  - assert_raw_value
  - continuation_length
  - assert_value
  - _gpgrt_nve_name
  - _gpgrt_nve_value
  - do_nvc_add
  - _gpgrt_nvc_add
  - _gpgrt_nvc_set
  - _gpgrt_nve_set
  - do_nvc_delete
  - _gpgrt_nvc_delete
  - _gpgrt_nvc_lookup
  - _gpgrt_nve_next
  - do_nvc_parse
  - _gpgrt_nvc_parse
  - write_one_entry
  - _gpgrt_nvc_write
  - _gpgrt_nvc_get_string
  - _gpgrt_nvc_get_bool
  source_file: /src/libgpg-error/src/name-value.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LINELEN
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/libgpg-error/src/name-value.c
      type_or_value: '70'
    structs:
    - fields:
      - name: '*first'
        type: struct _gpgrt_name_value_entry
      - name: '*last'
        type: struct _gpgrt_name_value_entry
      - name: wipe_on_free
        type: unsigned int
      - name: private_key_mode
        type: unsigned int
      - name: section_mode
        type: unsigned int
      - name: modified
        type: unsigned int
      item_type: struct
      name: _gpgrt_name_value_container
      pos:
        line_end: 39
        line_start: 31
        source_file: /src/libgpg-error/src/name-value.c
    - fields:
      - name: '*prev'
        type: struct _gpgrt_name_value_entry
      - name: '*next'
        type: struct _gpgrt_name_value_entry
      - name: wipe_on_free
        type: unsigned int
      - name: namelen
        type: unsigned int
      - name: '*name'
        type: char
      - name: raw_value
        type: gpgrt_strlist_t
      - name: '*value'
        type: char
      item_type: struct
      name: _gpgrt_name_value_entry
      pos:
        line_end: 61
        line_start: 42
        source_file: /src/libgpg-error/src/name-value.c
    typedefs: []
    union: []
- function_names:
  - fd_to_handle
  - handle_to_fd
  - build_w32_commandline_copy
  - build_w32_commandline
  - create_inheritable_pipe
  - w32_open_null
  - do_create_pipe_and_estream
  - _gpgrt_make_pipe
  - prepare_env_block
  - _gpgrt_spawn_actions_new
  - _gpgrt_spawn_actions_release
  - _gpgrt_spawn_actions_set_env_rev
  - _gpgrt_spawn_actions_set_envvars
  - _gpgrt_spawn_actions_set_redirect
  - _gpgrt_spawn_actions_set_inherit_handles
  - _gpgrt_process_spawn
  - _gpgrt_process_get_fds
  - _gpgrt_process_get_streams
  - process_kill
  - _gpgrt_process_vctl
  - _gpgrt_process_wait
  - _gpgrt_process_terminate
  - _gpgrt_process_release
  - _gpgrt_process_wait_list
  source_file: /src/libgpg-error/src/spawn-w32.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgpg-error/src/spawn-w32.c
      type_or_value: '0x0600  '
    - item_type: preproc_def
      name: DEBUG_W32_SPAWN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgpg-error/src/spawn-w32.c
      type_or_value: '0'
    - item_type: preproc_def
      name: X_OK
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgpg-error/src/spawn-w32.c
      type_or_value: F_OK
    - item_type: preproc_def
      name: INHERIT_READ
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/libgpg-error/src/spawn-w32.c
      type_or_value: '1'
    - item_type: preproc_def
      name: INHERIT_WRITE
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/libgpg-error/src/spawn-w32.c
      type_or_value: '2'
    - item_type: preproc_def
      name: INHERIT_BOTH
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/libgpg-error/src/spawn-w32.c
      type_or_value: (INHERIT_READ|INHERIT_WRITE)
    structs:
    - fields:
      - name: '*hd[3]'
        type: void
      - name: '**inherit_hds'
        type: void
      - name: '*env'
        type: char
      - name: '*const *envchange'
        type: char
      item_type: struct
      name: gpgrt_spawn_actions
      pos:
        line_end: 80
        line_start: 75
        source_file: /src/libgpg-error/src/spawn-w32.c
    - fields:
      - name: '*pgmname'
        type: char
      - name: terminated
        type: unsigned int
      - name: detached
        type: unsigned int
      - name: flags
        type: unsigned int
      - name: hProcess
        type: HANDLE
      - name: hd_in
        type: HANDLE
      - name: hd_out
        type: HANDLE
      - name: hd_err
        type: HANDLE
      - name: exitcode
        type: int
      item_type: struct
      name: gpgrt_process
      pos:
        line_end: 95
        line_start: 85
        source_file: /src/libgpg-error/src/spawn-w32.c
    typedefs: []
    union: []
- function_names:
  - _gpg_strsource
  source_file: /src/libgpg-error/src/strsource.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - digitp
  - cright_blurb
  - parse_version_number
  - parse_version_string
  - do_cmp_version
  - _gpgrt_cmp_version
  - _gpg_error_check_version
  source_file: /src/libgpg-error/src/version.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gpgrt_trim_spaces
  - _gpgrt_vfnameconcat
  - _gpgrt_fconcat
  - _gpgrt_fnameconcat
  - _gpgrt_absfnameconcat
  source_file: /src/libgpg-error/src/stringutils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MARK_VISIBLE
  source_file: /src/libgpg-error/src/visibility.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: gpg_strerror
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpg_strerror_r
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpg_strsource
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpg_err_code_from_errno
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpg_err_code_to_errno
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpg_err_code_from_syserror
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpg_err_set_errno
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpg_err_init
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpg_err_deinit
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_add_emergency_cleanup
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_abort
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpg_error_check_version
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_check_version
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_OTHER_FUNCTION
    - item_type: preproc_def
      name: gpgrt_lock_init
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_lock_lock
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_lock_unlock
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_lock_destroy
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_yield
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_lock_trylock
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fopen
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_mopen
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fopenmem
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fopenmem_init
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fdopen
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fdopen_nc
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_sysopen
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_sysopen_nc
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fpopen
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fpopen_nc
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_freopen
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fopencookie
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fclose
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fcancel
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fclose_snatch
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_onclose
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fileno
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fileno_unlocked
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_syshd
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_syshd_unlocked
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: _gpgrt_set_std_fd
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: _gpgrt_get_std_stream
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_flockfile
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_ftrylockfile
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_funlockfile
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: _gpgrt_pending
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: _gpgrt_pending_unlocked
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_feof
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_feof_unlocked
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_ferror
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_ferror_unlocked
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_clearerr
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_clearerr_unlocked
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fflush
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fseek
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fseeko
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_ftell
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_ftello
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_rewind
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_ftruncate
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fgetc
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: _gpgrt_getc_underflow
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_DBLUNDERSCO_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fputc
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: _gpgrt_putc_overflow
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_DBLUNDERSCO_FUNCTION
    - item_type: preproc_def
      name: gpgrt_ungetc
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_read
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_write
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_write_sanitized
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_write_hexstring
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fread
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fwrite
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fgets
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fputs
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fputs_unlocked
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_getline
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_read_line
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fprintf
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fprintf_unlocked
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fprintf_sf
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fprintf_sf_unlocked
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_printf
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_printf_unlocked
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_vfprintf
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_vfprintf_unlocked
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_setvbuf
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_setbuf
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_set_binary
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_set_nonblock
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_get_nonblock
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_poll
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_tmpfile
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_opaque_set
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_opaque_get
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fname_set
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fname_get
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_asprintf
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_vasprintf
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_bsprintf
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_vbsprintf
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_snprintf
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_vsnprintf
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_realloc
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_reallocarray
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_malloc
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_calloc
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_strdup
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_strconcat
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_free
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_wipememory
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_getenv
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_setenv
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_mkdir
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_chdir
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_getcwd
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_access
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_set_syscall_clamp
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_get_syscall_clamp
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_set_alloc_func
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_b64enc_start
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_b64enc_write
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_b64enc_finish
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_b64dec_start
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_b64dec_proc
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_b64dec_finish
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_get_errorcount
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_inc_errorcount
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_set_sink
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_set_socket_dir_cb
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_set_pid_suffix_cb
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_set_prefix
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_get_prefix
      pos:
        line_end: 417
        line_start: 416
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_test_fd
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_get_fd
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_get_stream
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_add_post_log_func
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_logv
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_logv_prefix
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_logv_domain
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_string
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_bug
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_fatal
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_error
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_info
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_debug
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_debug_string
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_printf
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_printhex
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_clock
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_log_flush
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: _gpgrt_log_assert
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_make_pipe
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_close_all_fds
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_process_spawn
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_process_terminate
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_process_get_fds
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_process_get_streams
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_process_ctl
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_process_wait
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_process_release
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_spawn_actions_new
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_spawn_actions_release
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_spawn_actions_set_env_rev
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_spawn_actions_set_envvars
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_spawn_actions_set_redirect
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_spawn_actions_set_inherit_handles
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_spawn_actions_set_environ
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_spawn_actions_set_redirect
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_spawn_actions_set_inherit_fds
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_spawn_actions_set_atfork
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_argparse
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_argparser
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_usage
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_set_strusage
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_strusage
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_set_usage_outfnc
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_set_fixed_string_mapper
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_set_confdir
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_cmp_version
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fnameconcat
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_absfnameconcat
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fconcat
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_strlist_free
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_strlist_add
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_strlist_tokenize
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_strlist_copy
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_strlist_rev
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_strlist_prev
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_strlist_last
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_strlist_pop
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_strlist_find
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_nvc_new
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_nvc_release
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_nvc_get_flag
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_nvc_add
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_nvc_set
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_nve_set
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_nvc_delete
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_nvc_lookup
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_nvc_parse
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_nvc_write
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_nve_next
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_nve_name
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_nve_value
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_nvc_get_string
      pos:
        line_end: 503
        line_start: 502
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_nvc_get_bool
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_free_wchar
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_utf8_to_wchar
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_wchar_to_utf8
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_fname_to_wchar
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_w32_reg_query_string
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_w32_reg_get_string
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    - item_type: preproc_def
      name: gpgrt_w32_set_errno
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/libgpg-error/src/visibility.h
      type_or_value: _gpgrt_USE_UNDERSCORED_FUNCTION
    structs: []
    typedefs: []
    union: []
- function_names:
  - _gpgrt_yield
  source_file: /src/libgpg-error/src/w32-thread.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GPGRT_ATTR_PRINTF
  - GPGRT_ATTR_NR_PRINTF
  - GPGRT_ATTR_PRINTF
  - GPGRT_ATTR_NR_PRINTF
  - GPGRT_ATTR_FORMAT_ARG
  - GPGRT_ATTR_SENTINEL
  - gpgrt_annotate_leaked_object
  - gpgrt_init
  - gpgrt_init
  - gpg_error_t::gpg_err_make
  - gpg_error_t
  - gpg_err_code_t::gpg_err_code
  - gpg_err_source_t::gpg_err_source
  - gpg_error_t::gpg_err_code_from_sqlite
  - gpg_error_t::gpg_err_make_from_errno
  - gpg_error_t::gpg_error_from_errno
  - gpg_error_t::gpg_error_from_syserror
  - gpgrt_unsetenv
  - GPGRT_LOCK_DEFINE
  - gpgrt_pending
  - gpgrt_pending_unlocked
  - gpgrt_getc_unlocked
  - gpgrt_putc_unlocked
  - gpgrt_getc
  - gpgrt_putc
  - gpgrt_strlist_count
  - gpgrt_assert
  - gpgrt_assert
  - log_set_file
  - log_set_fd
  - log_set_stream
  - log_assert
  - log_assert
  - gpgrt_create_pipe
  - gpgrt_create_inbound_pipe
  - gpgrt_create_outbound_pipe
  - ARGPARSE_x
  - ARGPARSE_s
  - ARGPARSE_s_n
  - ARGPARSE_s_i
  - ARGPARSE_s_s
  - ARGPARSE_s_l
  - ARGPARSE_s_u
  - ARGPARSE_o
  - ARGPARSE_o_n
  - ARGPARSE_o_i
  - ARGPARSE_o_s
  - ARGPARSE_o_l
  - ARGPARSE_o_u
  - ARGPARSE_p
  - ARGPARSE_p_n
  - ARGPARSE_p_i
  - ARGPARSE_p_s
  - ARGPARSE_p_l
  - ARGPARSE_p_u
  - ARGPARSE_op
  - ARGPARSE_op_n
  - ARGPARSE_op_i
  - ARGPARSE_op_s
  - ARGPARSE_op_l
  - ARGPARSE_op_u
  - ARGPARSE_c
  - ARGPARSE_conffile
  - ARGPARSE_noconffile
  - ARGPARSE_ignore
  - ARGPARSE_group
  - ARGPARSE_verbatim
  - ARGPARSE_header
  - ARGPARSE_end
  source_file: /src/libgpg-error/src/gpgrt.h
  types:
    enum:
    - enumerators:
      - name: GPGRT_SYSHD_NONE
        value: '0'
      - name: GPGRT_SYSHD_SOCK
        value: '2'
      - name: GPGRT_SYSHD_RVID
        value: '3'
      - name: GPGRT_SYSHD_FD
        value: '1'
      - name: GPGRT_SYSHD_HANDLE
        value: '4'
      item_type: enum
      name: gpgrt_syshd_types
      pos:
        line_end: 1251
        line_start: 1244
        source_file: /src/libgpg-error/src/gpgrt.h
    - enumerators:
      - name: GPGRT_LOGLVL_BEGIN
      - name: GPGRT_LOGLVL_ERROR
      - name: GPGRT_LOGLVL_WARN
      - name: GPGRT_LOGLVL_INFO
      - name: GPGRT_LOGLVL_CONT
      - name: GPGRT_LOGLVL_FATAL
      - name: GPGRT_LOGLVL_BUG
      - name: GPGRT_LOGLVL_DEBUG
      item_type: enum
      name: gpgrt_log_levels
      pos:
        line_end: 1784
        line_start: 1774
        source_file: /src/libgpg-error/src/gpgrt.h
    - enumerators:
      - name: GPGRT_PROCESS_NOP
        value: '0'
      - name: GPGRT_PROCESS_GET_WSTATUS
        value: '17'
      - name: GPGRT_PROCESS_GET_PID
        value: '16'
      - name: GPGRT_PROCESS_GET_EXIT_ID
        value: '2'
      - name: GPGRT_PROCESS_GET_PROC_ID
        value: '1'
      - name: GPGRT_PROCESS_KILL
        value: '18'
      - name: GPGRT_PROCESS_GET_P_HANDLE
        value: '32'
      - name: GPGRT_PROCESS_GET_HANDLES
        value: '33'
      - name: GPGRT_PROCESS_GET_EXIT_CODE
        value: '34'
      - name: GPGRT_PROCESS_KILL_WITH_EC
        value: '35'
      item_type: enum
      name: gpgrt_process_requests
      pos:
        line_end: 1941
        line_start: 1924
        source_file: /src/libgpg-error/src/gpgrt.h
    preproc_defs:
    - item_type: preproc_def
      name: GPG_ERROR_H
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPGRT_H
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPG_ERROR_VERSION
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '"1.62"'
    - item_type: preproc_def
      name: GPGRT_VERSION
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '"1.62"'
    - item_type: preproc_def
      name: GPG_ERROR_VERSION_NUMBER
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '0x013e00'
    - item_type: preproc_def
      name: GPGRT_VERSION_NUMBER
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '0x013e00'
    - item_type: preproc_def
      name: GPG_ERR_INLINE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: __inline__
    - item_type: preproc_def
      name: GPG_ERR_INLINE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: __inline
    - item_type: preproc_def
      name: GPG_ERR_INLINE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: inline
    - item_type: preproc_def
      name: GPG_ERR_CODE_MASK
      pos:
        line_end: 750
        line_start: 749
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (GPG_ERR_CODE_DIM - 1)
    - item_type: preproc_def
      name: GPG_ERR_SOURCE_MASK
      pos:
        line_end: 755
        line_start: 754
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (GPG_ERR_SOURCE_DIM - 1)
    - item_type: preproc_def
      name: GPG_ERR_SOURCE_SHIFT
      pos:
        line_end: 756
        line_start: 755
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '24'
    - item_type: preproc_def
      name: _GPG_ERR_GCC_VERSION
      pos:
        line_end: 769
        line_start: 766
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: "(__GNUC__ * 10000 \\\n                               + __GNUC_MINOR__
        * 100 \\\n                               + __GNUC_PATCHLEVEL__)"
    - item_type: preproc_def
      name: _GPG_ERR_GCC_VERSION
      pos:
        line_end: 771
        line_start: 770
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '0'
    - item_type: preproc_def
      name: _GPG_ERR_CONSTRUCTOR
      pos:
        line_end: 776
        line_start: 775
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: __attribute__ ((__constructor__))
    - item_type: preproc_def
      name: GPGRT_GCC_VERSION
      pos:
        line_end: 782
        line_start: 781
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: _GPG_ERR_GCC_VERSION
    - item_type: preproc_def
      name: _GPGRT__RESTRICT
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: __restrict__
    - item_type: preproc_def
      name: GPGRT_ATTR_NORETURN
      pos:
        line_end: 792
        line_start: 791
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: __attribute__ ((__noreturn__))
    - item_type: preproc_def
      name: GPGRT_ATTR_USED
      pos:
        line_end: 830
        line_start: 829
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: __attribute__ ((used))
    - item_type: preproc_def
      name: GPGRT_ATTR_UNUSED
      pos:
        line_end: 835
        line_start: 834
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: __attribute__ ((unused))
    - item_type: preproc_def
      name: GPGRT_ATTR_DEPRECATED
      pos:
        line_end: 842
        line_start: 841
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: __attribute__ ((__deprecated__))
    - item_type: preproc_def
      name: GPGRT_ATTR_PURE
      pos:
        line_end: 849
        line_start: 848
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: __attribute__ ((__pure__))
    - item_type: preproc_def
      name: GPGRT_ATTR_MALLOC
      pos:
        line_end: 856
        line_start: 855
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: __attribute__ ((__malloc__))
    - item_type: preproc_def
      name: GPGRT_ATTR_NONSTRING
      pos:
        line_end: 862
        line_start: 861
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: __attribute__((__nonstring__))
    - item_type: preproc_def
      name: GPGRT_HAVE_MACRO_FUNCTION
      pos:
        line_end: 870
        line_start: 869
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPGRT_HAVE_PRAGMA_GCC_PUSH
      pos:
        line_end: 876
        line_start: 875
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPGRT_INLINE
      pos:
        line_end: 896
        line_start: 895
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: GPG_ERR_INLINE
    - item_type: preproc_def
      name: GPG_ERR_INITIALIZED
      pos:
        line_end: 925
        line_start: 924
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPG_ERR_SOURCE_DEFAULT
      pos:
        line_end: 970
        line_start: 969
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: GPG_ERR_SOURCE_UNKNOWN
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 1143
        line_start: 1138
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    - item_type: preproc_def
      name: es_cookie_read_function_t
      pos:
        line_end: 1239
        line_start: 1238
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_cookie_read_function_t
    - item_type: preproc_def
      name: es_cookie_write_function_t
      pos:
        line_end: 1240
        line_start: 1239
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_cookie_read_function_t
    - item_type: preproc_def
      name: es_cookie_seek_function_t
      pos:
        line_end: 1241
        line_start: 1240
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_cookie_read_function_t
    - item_type: preproc_def
      name: es_cookie_close_function_t
      pos:
        line_end: 1242
        line_start: 1241
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_cookie_read_function_t
    - item_type: preproc_def
      name: ES_SYSHD_NONE
      pos:
        line_end: 1267
        line_start: 1266
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: GPGRT_SYSHD_NONE
    - item_type: preproc_def
      name: ES_SYSHD_FD
      pos:
        line_end: 1268
        line_start: 1267
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: GPGRT_SYSHD_FD
    - item_type: preproc_def
      name: ES_SYSHD_SOCK
      pos:
        line_end: 1269
        line_start: 1268
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: GPGRT_SYSHD_SOCK
    - item_type: preproc_def
      name: ES_SYSHD_RVID
      pos:
        line_end: 1270
        line_start: 1269
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: GPGRT_SYSHD_RVID
    - item_type: preproc_def
      name: ES_SYSHD_HANDLE
      pos:
        line_end: 1271
        line_start: 1270
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: GPGRT_SYSHD_HANDLE
    - item_type: preproc_def
      name: gpgrt_stdin
      pos:
        line_end: 1344
        line_start: 1343
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: _gpgrt_get_std_stream (0)
    - item_type: preproc_def
      name: gpgrt_stdout
      pos:
        line_end: 1345
        line_start: 1344
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: _gpgrt_get_std_stream (1)
    - item_type: preproc_def
      name: gpgrt_stderr
      pos:
        line_end: 1346
        line_start: 1345
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: _gpgrt_get_std_stream (2)
    - item_type: preproc_def
      name: es_fopen
      pos:
        line_end: 1504
        line_start: 1503
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fopen
    - item_type: preproc_def
      name: es_mopen
      pos:
        line_end: 1505
        line_start: 1504
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_mopen
    - item_type: preproc_def
      name: es_fopenmem
      pos:
        line_end: 1506
        line_start: 1505
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fopenmem
    - item_type: preproc_def
      name: es_fopenmem_init
      pos:
        line_end: 1507
        line_start: 1506
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fopenmem_init
    - item_type: preproc_def
      name: es_fdopen
      pos:
        line_end: 1508
        line_start: 1507
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fdopen
    - item_type: preproc_def
      name: es_fdopen_nc
      pos:
        line_end: 1509
        line_start: 1508
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fdopen_nc
    - item_type: preproc_def
      name: es_sysopen
      pos:
        line_end: 1510
        line_start: 1509
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_sysopen
    - item_type: preproc_def
      name: es_sysopen_nc
      pos:
        line_end: 1511
        line_start: 1510
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_sysopen_nc
    - item_type: preproc_def
      name: es_fpopen
      pos:
        line_end: 1512
        line_start: 1511
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fpopen
    - item_type: preproc_def
      name: es_fpopen_nc
      pos:
        line_end: 1513
        line_start: 1512
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fpopen_nc
    - item_type: preproc_def
      name: es_freopen
      pos:
        line_end: 1514
        line_start: 1513
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_freopen
    - item_type: preproc_def
      name: es_fopencookie
      pos:
        line_end: 1515
        line_start: 1514
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fopencookie
    - item_type: preproc_def
      name: es_fclose
      pos:
        line_end: 1516
        line_start: 1515
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fclose
    - item_type: preproc_def
      name: es_fclose_snatch
      pos:
        line_end: 1517
        line_start: 1516
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fclose_snatch
    - item_type: preproc_def
      name: es_onclose
      pos:
        line_end: 1518
        line_start: 1517
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_onclose
    - item_type: preproc_def
      name: es_fileno
      pos:
        line_end: 1519
        line_start: 1518
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fileno
    - item_type: preproc_def
      name: es_fileno_unlocked
      pos:
        line_end: 1520
        line_start: 1519
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fileno_unlocked
    - item_type: preproc_def
      name: es_syshd
      pos:
        line_end: 1521
        line_start: 1520
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_syshd
    - item_type: preproc_def
      name: es_syshd_unlocked
      pos:
        line_end: 1522
        line_start: 1521
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_syshd_unlocked
    - item_type: preproc_def
      name: es_stdin
      pos:
        line_end: 1523
        line_start: 1522
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: _gpgrt_get_std_stream (0)
    - item_type: preproc_def
      name: es_stdout
      pos:
        line_end: 1524
        line_start: 1523
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: _gpgrt_get_std_stream (1)
    - item_type: preproc_def
      name: es_stderr
      pos:
        line_end: 1525
        line_start: 1524
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: _gpgrt_get_std_stream (2)
    - item_type: preproc_def
      name: es_flockfile
      pos:
        line_end: 1526
        line_start: 1525
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_flockfile
    - item_type: preproc_def
      name: es_ftrylockfile
      pos:
        line_end: 1527
        line_start: 1526
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_ftrylockfile
    - item_type: preproc_def
      name: es_funlockfile
      pos:
        line_end: 1528
        line_start: 1527
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_funlockfile
    - item_type: preproc_def
      name: es_feof
      pos:
        line_end: 1529
        line_start: 1528
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_feof
    - item_type: preproc_def
      name: es_feof_unlocked
      pos:
        line_end: 1530
        line_start: 1529
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_feof_unlocked
    - item_type: preproc_def
      name: es_ferror
      pos:
        line_end: 1531
        line_start: 1530
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_ferror
    - item_type: preproc_def
      name: es_ferror_unlocked
      pos:
        line_end: 1532
        line_start: 1531
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_ferror_unlocked
    - item_type: preproc_def
      name: es_clearerr
      pos:
        line_end: 1533
        line_start: 1532
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_clearerr
    - item_type: preproc_def
      name: es_clearerr_unlocked
      pos:
        line_end: 1534
        line_start: 1533
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_clearerr_unlocked
    - item_type: preproc_def
      name: es_pending
      pos:
        line_end: 1535
        line_start: 1534
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_pending
    - item_type: preproc_def
      name: es_pending_unlocked
      pos:
        line_end: 1536
        line_start: 1535
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_pending_unlocked
    - item_type: preproc_def
      name: es_fflush
      pos:
        line_end: 1537
        line_start: 1536
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fflush
    - item_type: preproc_def
      name: es_fseek
      pos:
        line_end: 1538
        line_start: 1537
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fseek
    - item_type: preproc_def
      name: es_fseeko
      pos:
        line_end: 1539
        line_start: 1538
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fseeko
    - item_type: preproc_def
      name: es_ftruncate
      pos:
        line_end: 1540
        line_start: 1539
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_ftruncate
    - item_type: preproc_def
      name: es_ftell
      pos:
        line_end: 1541
        line_start: 1540
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_ftell
    - item_type: preproc_def
      name: es_ftello
      pos:
        line_end: 1542
        line_start: 1541
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_ftello
    - item_type: preproc_def
      name: es_rewind
      pos:
        line_end: 1543
        line_start: 1542
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_rewind
    - item_type: preproc_def
      name: es_fgetc
      pos:
        line_end: 1544
        line_start: 1543
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fgetc
    - item_type: preproc_def
      name: es_fputc
      pos:
        line_end: 1545
        line_start: 1544
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fputc
    - item_type: preproc_def
      name: es_getc_unlocked
      pos:
        line_end: 1546
        line_start: 1545
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_getc_unlocked
    - item_type: preproc_def
      name: es_putc_unlocked
      pos:
        line_end: 1547
        line_start: 1546
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_putc_unlocked
    - item_type: preproc_def
      name: es_getc
      pos:
        line_end: 1548
        line_start: 1547
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_getc
    - item_type: preproc_def
      name: es_putc
      pos:
        line_end: 1549
        line_start: 1548
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_putc
    - item_type: preproc_def
      name: es_ungetc
      pos:
        line_end: 1550
        line_start: 1549
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_ungetc
    - item_type: preproc_def
      name: es_read
      pos:
        line_end: 1551
        line_start: 1550
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_read
    - item_type: preproc_def
      name: es_write
      pos:
        line_end: 1552
        line_start: 1551
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_write
    - item_type: preproc_def
      name: es_write_sanitized
      pos:
        line_end: 1553
        line_start: 1552
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_write_sanitized
    - item_type: preproc_def
      name: es_write_hexstring
      pos:
        line_end: 1554
        line_start: 1553
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_write_hexstring
    - item_type: preproc_def
      name: es_fread
      pos:
        line_end: 1555
        line_start: 1554
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fread
    - item_type: preproc_def
      name: es_fwrite
      pos:
        line_end: 1556
        line_start: 1555
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fwrite
    - item_type: preproc_def
      name: es_fgets
      pos:
        line_end: 1557
        line_start: 1556
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fgets
    - item_type: preproc_def
      name: es_fputs
      pos:
        line_end: 1558
        line_start: 1557
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fputs
    - item_type: preproc_def
      name: es_fputs_unlocked
      pos:
        line_end: 1559
        line_start: 1558
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fputs_unlocked
    - item_type: preproc_def
      name: es_getline
      pos:
        line_end: 1560
        line_start: 1559
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_getline
    - item_type: preproc_def
      name: es_read_line
      pos:
        line_end: 1561
        line_start: 1560
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_read_line
    - item_type: preproc_def
      name: es_free
      pos:
        line_end: 1562
        line_start: 1561
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_free
    - item_type: preproc_def
      name: es_fprintf
      pos:
        line_end: 1563
        line_start: 1562
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fprintf
    - item_type: preproc_def
      name: es_fprintf_unlocked
      pos:
        line_end: 1564
        line_start: 1563
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fprintf_unlocked
    - item_type: preproc_def
      name: es_printf
      pos:
        line_end: 1565
        line_start: 1564
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_printf
    - item_type: preproc_def
      name: es_printf_unlocked
      pos:
        line_end: 1566
        line_start: 1565
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_printf_unlocked
    - item_type: preproc_def
      name: es_vfprintf
      pos:
        line_end: 1567
        line_start: 1566
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_vfprintf
    - item_type: preproc_def
      name: es_vfprintf_unlocked
      pos:
        line_end: 1568
        line_start: 1567
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_vfprintf_unlocked
    - item_type: preproc_def
      name: es_setvbuf
      pos:
        line_end: 1569
        line_start: 1568
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_setvbuf
    - item_type: preproc_def
      name: es_setbuf
      pos:
        line_end: 1570
        line_start: 1569
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_setbuf
    - item_type: preproc_def
      name: es_set_binary
      pos:
        line_end: 1571
        line_start: 1570
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_set_binary
    - item_type: preproc_def
      name: es_set_nonblock
      pos:
        line_end: 1572
        line_start: 1571
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_set_nonblock
    - item_type: preproc_def
      name: es_get_nonblock
      pos:
        line_end: 1573
        line_start: 1572
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_get_nonblock
    - item_type: preproc_def
      name: es_poll
      pos:
        line_end: 1574
        line_start: 1573
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_poll
    - item_type: preproc_def
      name: es_tmpfile
      pos:
        line_end: 1575
        line_start: 1574
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_tmpfile
    - item_type: preproc_def
      name: es_opaque_set
      pos:
        line_end: 1576
        line_start: 1575
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_opaque_set
    - item_type: preproc_def
      name: es_opaque_get
      pos:
        line_end: 1577
        line_start: 1576
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_opaque_get
    - item_type: preproc_def
      name: es_fname_set
      pos:
        line_end: 1578
        line_start: 1577
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fname_set
    - item_type: preproc_def
      name: es_fname_get
      pos:
        line_end: 1579
        line_start: 1578
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_fname_get
    - item_type: preproc_def
      name: es_asprintf
      pos:
        line_end: 1580
        line_start: 1579
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_asprintf
    - item_type: preproc_def
      name: es_vasprintf
      pos:
        line_end: 1581
        line_start: 1580
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_vasprintf
    - item_type: preproc_def
      name: es_bsprintf
      pos:
        line_end: 1582
        line_start: 1581
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_bsprintf
    - item_type: preproc_def
      name: es_vbsprintf
      pos:
        line_end: 1583
        line_start: 1582
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_vbsprintf
    - item_type: preproc_def
      name: GPGRT_STRLIST_APPEND
      pos:
        line_end: 1621
        line_start: 1620
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: GPGRT_STRLIST_WIPE
      pos:
        line_end: 1622
        line_start: 1621
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: GPGRT_NVC_WIPE
      pos:
        line_end: 1690
        line_start: 1689
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: GPGRT_NVC_PRIVKEY
      pos:
        line_end: 1691
        line_start: 1690
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '4  '
    - item_type: preproc_def
      name: GPGRT_NVC_SECTION
      pos:
        line_end: 1692
        line_start: 1691
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '8  '
    - item_type: preproc_def
      name: GPGRT_NVC_MODIFIED
      pos:
        line_end: 1693
        line_start: 1692
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '256  '
    - item_type: preproc_def
      name: GPGRT_LOG_WITH_PREFIX
      pos:
        line_end: 1768
        line_start: 1767
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPGRT_LOG_WITH_TIME
      pos:
        line_end: 1769
        line_start: 1768
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '2'
    - item_type: preproc_def
      name: GPGRT_LOG_WITH_PID
      pos:
        line_end: 1770
        line_start: 1769
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '4'
    - item_type: preproc_def
      name: GPGRT_LOG_RUN_DETACHED
      pos:
        line_end: 1771
        line_start: 1770
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '256'
    - item_type: preproc_def
      name: GPGRT_LOG_NO_REGISTRY
      pos:
        line_end: 1772
        line_start: 1771
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '512'
    - item_type: preproc_def
      name: log_get_errorcount
      pos:
        line_end: 1839
        line_start: 1838
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_get_errorcount
    - item_type: preproc_def
      name: log_inc_errorcount
      pos:
        line_end: 1840
        line_start: 1839
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_inc_errorcount
    - item_type: preproc_def
      name: log_set_socket_dir_cb
      pos:
        line_end: 1844
        line_start: 1843
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log_set_socket_dir_cb
    - item_type: preproc_def
      name: log_set_pid_suffix_cb
      pos:
        line_end: 1845
        line_start: 1844
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log_set_pid_suffix_cb
    - item_type: preproc_def
      name: log_set_prefix
      pos:
        line_end: 1846
        line_start: 1845
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log_set_prefix
    - item_type: preproc_def
      name: log_get_prefix
      pos:
        line_end: 1847
        line_start: 1846
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log_get_prefix
    - item_type: preproc_def
      name: log_test_fd
      pos:
        line_end: 1848
        line_start: 1847
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log_test_fd
    - item_type: preproc_def
      name: log_get_fd
      pos:
        line_end: 1849
        line_start: 1848
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log_get_fd
    - item_type: preproc_def
      name: log_get_stream
      pos:
        line_end: 1850
        line_start: 1849
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log_get_stream
    - item_type: preproc_def
      name: log_log
      pos:
        line_end: 1851
        line_start: 1850
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log
    - item_type: preproc_def
      name: log_logv
      pos:
        line_end: 1852
        line_start: 1851
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_logv
    - item_type: preproc_def
      name: log_logv_prefix
      pos:
        line_end: 1853
        line_start: 1852
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_logv_prefix
    - item_type: preproc_def
      name: log_string
      pos:
        line_end: 1854
        line_start: 1853
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log_string
    - item_type: preproc_def
      name: log_bug
      pos:
        line_end: 1855
        line_start: 1854
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log_bug
    - item_type: preproc_def
      name: log_fatal
      pos:
        line_end: 1856
        line_start: 1855
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log_fatal
    - item_type: preproc_def
      name: log_error
      pos:
        line_end: 1857
        line_start: 1856
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log_error
    - item_type: preproc_def
      name: log_info
      pos:
        line_end: 1858
        line_start: 1857
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log_info
    - item_type: preproc_def
      name: log_debug
      pos:
        line_end: 1859
        line_start: 1858
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log_debug
    - item_type: preproc_def
      name: log_debug_string
      pos:
        line_end: 1860
        line_start: 1859
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log_debug_string
    - item_type: preproc_def
      name: log_printf
      pos:
        line_end: 1861
        line_start: 1860
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log_printf
    - item_type: preproc_def
      name: log_printhex
      pos:
        line_end: 1862
        line_start: 1861
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log_printhex
    - item_type: preproc_def
      name: log_clock
      pos:
        line_end: 1863
        line_start: 1862
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log_clock
    - item_type: preproc_def
      name: log_flush
      pos:
        line_end: 1864
        line_start: 1863
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: gpgrt_log_flush
    - item_type: preproc_def
      name: GPGRT_PROCESS_DETACHED
      pos:
        line_end: 1884
        line_start: 1883
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: GPGRT_PROCESS_NO_CONSOLE
      pos:
        line_end: 1887
        line_start: 1886
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: GPGRT_PROCESS_NO_EUID_CHECK
      pos:
        line_end: 1890
        line_start: 1889
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: GPGRT_PROCESS_ALLOW_SET_FG
      pos:
        line_end: 1893
        line_start: 1892
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: GPGRT_PROCESS_STDIO_NUL
      pos:
        line_end: 1897
        line_start: 1896
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: GPGRT_PROCESS_STDIN_PIPE
      pos:
        line_end: 1900
        line_start: 1899
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (1 << 8)
    - item_type: preproc_def
      name: GPGRT_PROCESS_STDOUT_PIPE
      pos:
        line_end: 1901
        line_start: 1900
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (1 << 9)
    - item_type: preproc_def
      name: GPGRT_PROCESS_STDERR_PIPE
      pos:
        line_end: 1902
        line_start: 1901
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (1 << 10)
    - item_type: preproc_def
      name: GPGRT_PROCESS_STDINOUT_SOCKETPAIR
      pos:
        line_end: 1903
        line_start: 1902
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (1 << 11)
    - item_type: preproc_def
      name: GPGRT_PROCESS_STDIN_KEEP
      pos:
        line_end: 1904
        line_start: 1903
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (1 << 12)
    - item_type: preproc_def
      name: GPGRT_PROCESS_STDOUT_KEEP
      pos:
        line_end: 1905
        line_start: 1904
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (1 << 13)
    - item_type: preproc_def
      name: GPGRT_PROCESS_STDERR_KEEP
      pos:
        line_end: 1906
        line_start: 1905
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (1 << 14)
    - item_type: preproc_def
      name: GPGRT_PROCESS_STDFDS_SETTING
      pos:
        line_end: 1910
        line_start: 1906
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: "( GPGRT_PROCESS_STDIN_PIPE  \\\n  | GPGRT_PROCESS_STDOUT_PIPE
        \        | GPGRT_PROCESS_STDERR_PIPE \\\n  | GPGRT_PROCESS_STDINOUT_SOCKETPAIR
        | GPGRT_PROCESS_STDIN_KEEP  \\\n  | GPGRT_PROCESS_STDOUT_KEEP         | GPGRT_PROCESS_STDERR_KEEP)"
    - item_type: preproc_def
      name: GPGRT_PROCESS_STREAM_NONBLOCK
      pos:
        line_end: 1912
        line_start: 1911
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (1 << 16)
    - item_type: preproc_def
      name: ARGPARSE_FLAG_KEEP
      pos:
        line_end: 2021
        line_start: 2020
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_ALL
      pos:
        line_end: 2023
        line_start: 2021
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_MIXED
      pos:
        line_end: 2024
        line_start: 2023
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '4  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_NOSTOP
      pos:
        line_end: 2025
        line_start: 2024
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '8  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_ARG0
      pos:
        line_end: 2026
        line_start: 2025
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '16  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_ONEDASH
      pos:
        line_end: 2027
        line_start: 2026
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '32  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_NOVERSION
      pos:
        line_end: 2028
        line_start: 2027
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '64  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_RESET
      pos:
        line_end: 2029
        line_start: 2028
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '128  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_STOP_SEEN
      pos:
        line_end: 2030
        line_start: 2029
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '256  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_NOLINENO
      pos:
        line_end: 2031
        line_start: 2030
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '512  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_SYS
      pos:
        line_end: 2032
        line_start: 2031
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '1024  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_USER
      pos:
        line_end: 2033
        line_start: 2032
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '2048  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_VERBOSE
      pos:
        line_end: 2034
        line_start: 2033
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '4096  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_USERVERS
      pos:
        line_end: 2035
        line_start: 2034
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '8192  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_WITHATTR
      pos:
        line_end: 2036
        line_start: 2035
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '16384 '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_COMMAND
      pos:
        line_end: 2038
        line_start: 2037
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '32768 '
    - item_type: preproc_def
      name: ARGPARSE_PRINT_WARNING
      pos:
        line_end: 2042
        line_start: 2041
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '1    '
    - item_type: preproc_def
      name: ARGPARSE_PRINT_ERROR
      pos:
        line_end: 2043
        line_start: 2042
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '2    '
    - item_type: preproc_def
      name: ARGPARSE_IS_ARG
      pos:
        line_end: 2046
        line_start: 2045
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: ARGPARSE_INVALID_OPTION
      pos:
        line_end: 2047
        line_start: 2046
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (-2)
    - item_type: preproc_def
      name: ARGPARSE_MISSING_ARG
      pos:
        line_end: 2048
        line_start: 2047
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (-3)
    - item_type: preproc_def
      name: ARGPARSE_KEYWORD_TOO_LONG
      pos:
        line_end: 2049
        line_start: 2048
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (-4)
    - item_type: preproc_def
      name: ARGPARSE_READ_ERROR
      pos:
        line_end: 2050
        line_start: 2049
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (-5)
    - item_type: preproc_def
      name: ARGPARSE_UNEXPECTED_ARG
      pos:
        line_end: 2051
        line_start: 2050
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (-6)
    - item_type: preproc_def
      name: ARGPARSE_INVALID_COMMAND
      pos:
        line_end: 2052
        line_start: 2051
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (-7)
    - item_type: preproc_def
      name: ARGPARSE_AMBIGUOUS_OPTION
      pos:
        line_end: 2053
        line_start: 2052
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (-8)
    - item_type: preproc_def
      name: ARGPARSE_AMBIGUOUS_COMMAND
      pos:
        line_end: 2054
        line_start: 2053
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (-9)
    - item_type: preproc_def
      name: ARGPARSE_INVALID_ALIAS
      pos:
        line_end: 2055
        line_start: 2054
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (-10)
    - item_type: preproc_def
      name: ARGPARSE_OUT_OF_CORE
      pos:
        line_end: 2056
        line_start: 2055
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (-11)
    - item_type: preproc_def
      name: ARGPARSE_INVALID_ARG
      pos:
        line_end: 2057
        line_start: 2056
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (-12)
    - item_type: preproc_def
      name: ARGPARSE_PERMISSION_ERROR
      pos:
        line_end: 2058
        line_start: 2057
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (-13)
    - item_type: preproc_def
      name: ARGPARSE_NO_CONFFILE
      pos:
        line_end: 2059
        line_start: 2058
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (-14)
    - item_type: preproc_def
      name: ARGPARSE_CONFFILE
      pos:
        line_end: 2060
        line_start: 2059
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (-15)
    - item_type: preproc_def
      name: ARGPARSE_INVALID_META
      pos:
        line_end: 2061
        line_start: 2060
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (-16)
    - item_type: preproc_def
      name: ARGPARSE_UNKNOWN_META
      pos:
        line_end: 2062
        line_start: 2061
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (-17)
    - item_type: preproc_def
      name: ARGPARSE_UNEXPECTED_META
      pos:
        line_end: 2063
        line_start: 2062
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (-18)
    - item_type: preproc_def
      name: ARGPARSE_TYPE_MASK
      pos:
        line_end: 2072
        line_start: 2071
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '0x0007  '
    - item_type: preproc_def
      name: ARGPARSE_TYPE_NONE
      pos:
        line_end: 2073
        line_start: 2072
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '0  '
    - item_type: preproc_def
      name: ARGPARSE_TYPE_INT
      pos:
        line_end: 2074
        line_start: 2073
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: ARGPARSE_TYPE_STRING
      pos:
        line_end: 2075
        line_start: 2074
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: ARGPARSE_TYPE_LONG
      pos:
        line_end: 2076
        line_start: 2075
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '3  '
    - item_type: preproc_def
      name: ARGPARSE_TYPE_ULONG
      pos:
        line_end: 2077
        line_start: 2076
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '4  '
    - item_type: preproc_def
      name: ARGPARSE_OPT_OPTIONAL
      pos:
        line_end: 2078
        line_start: 2077
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '(1<<3) '
    - item_type: preproc_def
      name: ARGPARSE_OPT_PREFIX
      pos:
        line_end: 2079
        line_start: 2078
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '(1<<4) '
    - item_type: preproc_def
      name: ARGPARSE_OPT_IGNORE
      pos:
        line_end: 2080
        line_start: 2079
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '(1<<6) '
    - item_type: preproc_def
      name: ARGPARSE_OPT_COMMAND
      pos:
        line_end: 2081
        line_start: 2080
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '(1<<7) '
    - item_type: preproc_def
      name: ARGPARSE_OPT_CONFFILE
      pos:
        line_end: 2082
        line_start: 2081
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '(1<<8) '
    - item_type: preproc_def
      name: ARGPARSE_OPT_HEADER
      pos:
        line_end: 2083
        line_start: 2082
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '(1<<9) '
    - item_type: preproc_def
      name: ARGPARSE_OPT_VERBATIM
      pos:
        line_end: 2084
        line_start: 2083
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (1<<10)
    - item_type: preproc_def
      name: ARGPARSE_ATTR_FORCE
      pos:
        line_end: 2085
        line_start: 2084
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (1<<14)
    - item_type: preproc_def
      name: ARGPARSE_ATTR_IGNORE
      pos:
        line_end: 2086
        line_start: 2085
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: (1<<15)
    - item_type: preproc_def
      name: GPGRT_CONFDIR_USER
      pos:
        line_end: 2186
        line_start: 2185
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '1   '
    - item_type: preproc_def
      name: GPGRT_CONFDIR_SYS
      pos:
        line_end: 2187
        line_start: 2186
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '2   '
    - item_type: preproc_def
      name: GPGRT_FCONCAT_ABS
      pos:
        line_end: 2220
        line_start: 2219
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: GPGRT_FCONCAT_TILDE
      pos:
        line_end: 2221
        line_start: 2220
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: GPGRT_FCONCAT_SYSCONF
      pos:
        line_end: 2222
        line_start: 2221
        source_file: /src/libgpg-error/src/gpgrt.h
      type_or_value: '4  '
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[40];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 1136
        line_start: 1128
        source_file: /src/libgpg-error/src/gpgrt.h
    - fields:
      - name: flags
        type: "struct {\n    unsigned int magic: 16;\n    unsigned int writing: 1;\n
          \   unsigned int reserved: 15;\n  }"
      - name: '*buffer'
        type: unsigned char
      - name: buffer_size
        type: size_t
      - name: data_len
        type: size_t
      - name: data_offset
        type: size_t
      - name: data_flushed
        type: size_t
      - name: '*unread_buffer'
        type: unsigned char
      - name: unread_buffer_size
        type: size_t
      - name: unread_data_len
        type: size_t
      - name: '*intern'
        type: struct _gpgrt_stream_internal
      item_type: struct
      name: _gpgrt__stream
      pos:
        line_end: 1211
        line_start: 1175
        source_file: /src/libgpg-error/src/gpgrt.h
    - fields:
      - name: func_read
        type: gpgrt_cookie_read_function_t
      - name: func_write
        type: gpgrt_cookie_write_function_t
      - name: func_seek
        type: gpgrt_cookie_seek_function_t
      - name: func_close
        type: gpgrt_cookie_close_function_t
      item_type: struct
      name: _gpgrt_cookie_io_functions
      pos:
        line_end: 1234
        line_start: 1228
        source_file: /src/libgpg-error/src/gpgrt.h
    - fields:
      - name: type
        type: enum gpgrt_syshd_types
      - name: u
        type: "union {\n    int fd;\n    int sock;\n    int rvid;\n    void *handle;\n
          \ }"
      item_type: struct
      name: _gpgrt_syshd
      pos:
        line_end: 1262
        line_start: 1253
        source_file: /src/libgpg-error/src/gpgrt.h
    - fields:
      - name: stream
        type: gpgrt_stream_t
      - name: want_read
        type: unsigned int
      - name: want_write
        type: unsigned int
      - name: want_oob
        type: unsigned int
      - name: want_rdhup
        type: unsigned int
      - name: _reserv1
        type: unsigned int
      - name: got_read
        type: unsigned int
      - name: got_write
        type: unsigned int
      - name: got_oob
        type: unsigned int
      - name: got_rdhup
        type: unsigned int
      - name: _reserv2
        type: unsigned int
      - name: got_err
        type: unsigned int
      - name: got_hup
        type: unsigned int
      - name: got_nval
        type: unsigned int
      - name: _reserv3
        type: unsigned int
      - name: ignore
        type: unsigned int
      - name: user
        type: unsigned int
      item_type: struct
      name: _gpgrt_poll_s
      pos:
        line_end: 1293
        line_start: 1274
        source_file: /src/libgpg-error/src/gpgrt.h
    - fields:
      - name: '*next'
        type: struct _gpgrt_strlist_s
      - name: flags
        type: unsigned int
      - name: _private_flags
        type: unsigned char
      - name: d[1]
        type: char
      item_type: struct
      name: _gpgrt_strlist_s
      pos:
        line_end: 1616
        line_start: 1610
        source_file: /src/libgpg-error/src/gpgrt.h
    - fields:
      - name: '*argc'
        type: int
      - name: '***argv'
        type: char
      - name: flags
        type: unsigned int
      - name: err
        type: int
      - name: lineno
        type: unsigned int
      - name: r_opt
        type: int
      - name: r_type
        type: int
      - name: r
        type: "union {\n    int   ret_int;\n    long  ret_long;\n    unsigned long
          ret_ulong;\n    char *ret_str;\n  }"
      - name: '*internal'
        type: struct _gpgrt_argparse_internal_s
      item_type: struct
      name: gpgrt_argparse_t
      pos:
        line_end: 2005
        line_start: 1985
        source_file: /src/libgpg-error/src/gpgrt.h
    - fields:
      - name: short_opt
        type: int
      - name: '*long_opt'
        type: char
      - name: flags
        type: unsigned int
      - name: '*description'
        type: char
      item_type: struct
      name: gpgrt_opt_t
      pos:
        line_end: 2014
        line_start: 2008
        source_file: /src/libgpg-error/src/gpgrt.h
    typedefs:
    - item_type: typedef
      name: gpg_error_t
      pos:
        line_end: 745
        line_start: 745
        source_file: /src/libgpg-error/src/gpgrt.h
      type: unsigned int
    - item_type: typedef
      name: gpgrt_ssize_t
      pos:
        line_end: 1052
        line_start: 1052
        source_file: /src/libgpg-error/src/gpgrt.h
      type: ssize_t
    - item_type: typedef
      name: gpgrt_off_t
      pos:
        line_end: 1054
        line_start: 1054
        source_file: /src/libgpg-error/src/gpgrt.h
      type: long
    - item_type: typedef
      name: '*gpgrt_stream_t'
      pos:
        line_end: 1214
        line_start: 1214
        source_file: /src/libgpg-error/src/gpgrt.h
      type: _gpgrt__stream
    - item_type: typedef
      name: '*estream_t'
      pos:
        line_end: 1216
        line_start: 1216
        source_file: /src/libgpg-error/src/gpgrt.h
      type: _gpgrt__stream
    - item_type: typedef
      name: "(*gpgrt_cookie_read_function_t) (void *cookie,\n                                                 void
        *buffer, size_t size)"
      pos:
        line_end: 1220
        line_start: 1219
        source_file: /src/libgpg-error/src/gpgrt.h
      type: ssize_t
    - item_type: typedef
      name: "(*gpgrt_cookie_write_function_t) (void *cookie,\n                                                  const
        void *buffer,\n                                                  size_t size)"
      pos:
        line_end: 1223
        line_start: 1221
        source_file: /src/libgpg-error/src/gpgrt.h
      type: ssize_t
    - item_type: typedef
      name: "(*gpgrt_cookie_seek_function_t) (void *cookie,\n                                             gpgrt_off_t
        *pos, int whence)"
      pos:
        line_end: 1225
        line_start: 1224
        source_file: /src/libgpg-error/src/gpgrt.h
      type: int
    - item_type: typedef
      name: (*gpgrt_cookie_close_function_t) (void *cookie)
      pos:
        line_end: 1226
        line_start: 1226
        source_file: /src/libgpg-error/src/gpgrt.h
      type: int
    - item_type: typedef
      name: gpgrt_cookie_io_functions_t
      pos:
        line_end: 1235
        line_start: 1235
        source_file: /src/libgpg-error/src/gpgrt.h
      type: _gpgrt_cookie_io_functions
    - item_type: typedef
      name: es_cookie_io_functions_t
      pos:
        line_end: 1237
        line_start: 1237
        source_file: /src/libgpg-error/src/gpgrt.h
      type: _gpgrt_cookie_io_functions
    - item_type: typedef
      name: gpgrt_syshd_t
      pos:
        line_end: 1263
        line_start: 1263
        source_file: /src/libgpg-error/src/gpgrt.h
      type: _gpgrt_syshd
    - item_type: typedef
      name: es_syshd_t
      pos:
        line_end: 1265
        line_start: 1265
        source_file: /src/libgpg-error/src/gpgrt.h
      type: _gpgrt_syshd
    - item_type: typedef
      name: gpgrt_poll_t
      pos:
        line_end: 1294
        line_start: 1294
        source_file: /src/libgpg-error/src/gpgrt.h
      type: _gpgrt_poll_s
    - item_type: typedef
      name: es_poll_t
      pos:
        line_end: 1296
        line_start: 1296
        source_file: /src/libgpg-error/src/gpgrt.h
      type: _gpgrt_poll_s
    - item_type: typedef
      name: '*(*gpgrt_string_filter_t) (const char *s, int n, void *opaque)'
      pos:
        line_end: 1300
        line_start: 1300
        source_file: /src/libgpg-error/src/gpgrt.h
      type: char
    - item_type: typedef
      name: '*gpgrt_b64state_t'
      pos:
        line_end: 1592
        line_start: 1592
        source_file: /src/libgpg-error/src/gpgrt.h
      type: _gpgrt_b64state
    - item_type: typedef
      name: '*gpgrt_strlist_t'
      pos:
        line_end: 1617
        line_start: 1617
        source_file: /src/libgpg-error/src/gpgrt.h
      type: _gpgrt_strlist_s
    - item_type: typedef
      name: '*gpgrt_nvc_t'
      pos:
        line_end: 1684
        line_start: 1684
        source_file: /src/libgpg-error/src/gpgrt.h
      type: _gpgrt_name_value_container
    - item_type: typedef
      name: '*gpgrt_nve_t'
      pos:
        line_end: 1687
        line_start: 1687
        source_file: /src/libgpg-error/src/gpgrt.h
      type: _gpgrt_name_value_entry
    - item_type: typedef
      name: '*gpgrt_process_t'
      pos:
        line_end: 1913
        line_start: 1913
        source_file: /src/libgpg-error/src/gpgrt.h
      type: gpgrt_process
    - item_type: typedef
      name: '*gpgrt_spawn_actions_t'
      pos:
        line_end: 1914
        line_start: 1914
        source_file: /src/libgpg-error/src/gpgrt.h
      type: gpgrt_spawn_actions
    union: []
- function_names:
  - errno_to_idx
  source_file: /src/libgpg-error/src/code-from-errno.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - msgidxof
  source_file: /src/libgpg-error/src/err-codes-sym.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - msgidxof
  source_file: /src/libgpg-error/src/err-sources-sym.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/lock-obj-pub.native.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/libgpg-error/src/lock-obj-pub.native.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[40];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/lock-obj-pub.native.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/code-to-errno.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - msgidxof
  source_file: /src/libgpg-error/src/err-codes.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/mkerrcodes.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: err
        type: int
      - name: '*err_sym'
        type: char
      item_type: struct
      name: "err_table[] = \n{\n  { 7, \"GPG_ERR_E2BIG\" },\n  { 13, \"GPG_ERR_EACCES\"
        },\n  { 98, \"GPG_ERR_EADDRINUSE\" },\n  { 99, \"GPG_ERR_EADDRNOTAVAIL\" },\n
        \ { 68, \"GPG_ERR_EADV\" },\n  { 97, \"GPG_ERR_EAFNOSUPPORT\" },\n  { 11,
        \"GPG_ERR_EAGAIN\" },\n  { 114, \"GPG_ERR_EALREADY\" },\n  { 52, \"GPG_ERR_EBADE\"
        },\n  { 9, \"GPG_ERR_EBADF\" },\n  { 77, \"GPG_ERR_EBADFD\" },\n  { 74, \"GPG_ERR_EBADMSG\"
        },\n  { 53, \"GPG_ERR_EBADR\" },\n  { 56, \"GPG_ERR_EBADRQC\" },\n  { 57,
        \"GPG_ERR_EBADSLT\" },\n  { 59, \"GPG_ERR_EBFONT\" },\n  { 16, \"GPG_ERR_EBUSY\"
        },\n  { 125, \"GPG_ERR_ECANCELED\" },\n  { 10, \"GPG_ERR_ECHILD\" },\n  {
        44, \"GPG_ERR_ECHRNG\" },\n  { 70, \"GPG_ERR_ECOMM\" },\n  { 103, \"GPG_ERR_ECONNABORTED\"
        },\n  { 111, \"GPG_ERR_ECONNREFUSED\" },\n  { 104, \"GPG_ERR_ECONNRESET\"
        },\n  { 35, \"GPG_ERR_EDEADLK\" },\n  { 35, \"GPG_ERR_EDEADLOCK\" },\n  {
        89, \"GPG_ERR_EDESTADDRREQ\" },\n  { 33, \"GPG_ERR_EDOM\" },\n  { 73, \"GPG_ERR_EDOTDOT\"
        },\n  { 122, \"GPG_ERR_EDQUOT\" },\n  { 17, \"GPG_ERR_EEXIST\" },\n  { 14,
        \"GPG_ERR_EFAULT\" },\n  { 27, \"GPG_ERR_EFBIG\" },\n  { 112, \"GPG_ERR_EHOSTDOWN\"
        },\n  { 113, \"GPG_ERR_EHOSTUNREACH\" },\n  { 43, \"GPG_ERR_EIDRM\" },\n  {
        84, \"GPG_ERR_EILSEQ\" },\n  { 115, \"GPG_ERR_EINPROGRESS\" },\n  { 4, \"GPG_ERR_EINTR\"
        },\n  { 22, \"GPG_ERR_EINVAL\" },\n  { 5, \"GPG_ERR_EIO\" },\n  { 106, \"GPG_ERR_EISCONN\"
        },\n  { 21, \"GPG_ERR_EISDIR\" },\n  { 120, \"GPG_ERR_EISNAM\" },\n  { 51,
        \"GPG_ERR_EL2HLT\" },\n  { 45, \"GPG_ERR_EL2NSYNC\" },\n  { 46, \"GPG_ERR_EL3HLT\"
        },\n  { 47, \"GPG_ERR_EL3RST\" },\n  { 79, \"GPG_ERR_ELIBACC\" },\n  { 80,
        \"GPG_ERR_ELIBBAD\" },\n  { 83, \"GPG_ERR_ELIBEXEC\" },\n  { 82, \"GPG_ERR_ELIBMAX\"
        },\n  { 81, \"GPG_ERR_ELIBSCN\" },\n  { 48, \"GPG_ERR_ELNRNG\" },\n  { 40,
        \"GPG_ERR_ELOOP\" },\n  { 124, \"GPG_ERR_EMEDIUMTYPE\" },\n  { 24, \"GPG_ERR_EMFILE\"
        },\n  { 31, \"GPG_ERR_EMLINK\" },\n  { 90, \"GPG_ERR_EMSGSIZE\" },\n  { 72,
        \"GPG_ERR_EMULTIHOP\" },\n  { 36, \"GPG_ERR_ENAMETOOLONG\" },\n  { 119, \"GPG_ERR_ENAVAIL\"
        },\n  { 100, \"GPG_ERR_ENETDOWN\" },\n  { 102, \"GPG_ERR_ENETRESET\" },\n
        \ { 101, \"GPG_ERR_ENETUNREACH\" },\n  { 23, \"GPG_ERR_ENFILE\" },\n  { 55,
        \"GPG_ERR_ENOANO\" },\n  { 105, \"GPG_ERR_ENOBUFS\" },\n  { 50, \"GPG_ERR_ENOCSI\"
        },\n  { 61, \"GPG_ERR_ENODATA\" },\n  { 19, \"GPG_ERR_ENODEV\" },\n  { 2,
        \"GPG_ERR_ENOENT\" },\n  { 8, \"GPG_ERR_ENOEXEC\" },\n  { 37, \"GPG_ERR_ENOLCK\"
        },\n  { 67, \"GPG_ERR_ENOLINK\" },\n  { 123, \"GPG_ERR_ENOMEDIUM\" },\n  {
        12, \"GPG_ERR_ENOMEM\" },\n  { 42, \"GPG_ERR_ENOMSG\" },\n  { 64, \"GPG_ERR_ENONET\"
        },\n  { 65, \"GPG_ERR_ENOPKG\" },\n  { 92, \"GPG_ERR_ENOPROTOOPT\" },\n  {
        28, \"GPG_ERR_ENOSPC\" },\n  { 63, \"GPG_ERR_ENOSR\" },\n  { 60, \"GPG_ERR_ENOSTR\"
        },\n  { 38, \"GPG_ERR_ENOSYS\" },\n  { 15, \"GPG_ERR_ENOTBLK\" },\n  { 107,
        \"GPG_ERR_ENOTCONN\" },\n  { 20, \"GPG_ERR_ENOTDIR\" },\n  { 39, \"GPG_ERR_ENOTEMPTY\"
        },\n  { 118, \"GPG_ERR_ENOTNAM\" },\n  { 88, \"GPG_ERR_ENOTSOCK\" },\n  {
        95, \"GPG_ERR_ENOTSUP\" },\n  { 25, \"GPG_ERR_ENOTTY\" },\n  { 76, \"GPG_ERR_ENOTUNIQ\"
        },\n  { 6, \"GPG_ERR_ENXIO\" },\n  { 95, \"GPG_ERR_EOPNOTSUPP\" },\n  { 75,
        \"GPG_ERR_EOVERFLOW\" },\n  { 1, \"GPG_ERR_EPERM\" },\n  { 96, \"GPG_ERR_EPFNOSUPPORT\"
        },\n  { 32, \"GPG_ERR_EPIPE\" },\n  { 71, \"GPG_ERR_EPROTO\" },\n  { 93, \"GPG_ERR_EPROTONOSUPPORT\"
        },\n  { 91, \"GPG_ERR_EPROTOTYPE\" },\n  { 34, \"GPG_ERR_ERANGE\" },\n  {
        78, \"GPG_ERR_EREMCHG\" },\n  { 66, \"GPG_ERR_EREMOTE\" },\n  { 121, \"GPG_ERR_EREMOTEIO\"
        },\n  { 85, \"GPG_ERR_ERESTART\" },\n  { 30, \"GPG_ERR_EROFS\" },\n  { 108,
        \"GPG_ERR_ESHUTDOWN\" },\n  { 94, \"GPG_ERR_ESOCKTNOSUPPORT\" },\n  { 29,
        \"GPG_ERR_ESPIPE\" },\n  { 3, \"GPG_ERR_ESRCH\" },\n  { 69, \"GPG_ERR_ESRMNT\"
        },\n  { 116, \"GPG_ERR_ESTALE\" },\n  { 86, \"GPG_ERR_ESTRPIPE\" },\n  { 62,
        \"GPG_ERR_ETIME\" },\n  { 110, \"GPG_ERR_ETIMEDOUT\" },\n  { 109, \"GPG_ERR_ETOOMANYREFS\"
        },\n  { 26, \"GPG_ERR_ETXTBSY\" },\n  { 117, \"GPG_ERR_EUCLEAN\" },\n  { 49,
        \"GPG_ERR_EUNATCH\" },\n  { 87, \"GPG_ERR_EUSERS\" },\n  { 11, \"GPG_ERR_EWOULDBLOCK\"
        },\n  { 18, \"GPG_ERR_EXDEV\" },\n  { 54, \"GPG_ERR_EXFULL\" },\n}"
      pos:
        line_end: 6
        line_start: 2
        source_file: /src/libgpg-error/src/mkerrcodes.h
    typedefs: []
    union: []
- function_names:
  - GPGRT_ATTR_PRINTF
  - GPGRT_ATTR_NR_PRINTF
  - GPGRT_ATTR_PRINTF
  - GPGRT_ATTR_NR_PRINTF
  - GPGRT_ATTR_FORMAT_ARG
  - GPGRT_ATTR_SENTINEL
  - gpgrt_annotate_leaked_object
  - gpgrt_init
  - gpgrt_init
  - gpg_error_t::gpg_err_make
  - gpg_error_t
  - gpg_err_code_t::gpg_err_code
  - gpg_err_source_t::gpg_err_source
  - gpg_error_t::gpg_err_code_from_sqlite
  - gpg_error_t::gpg_err_make_from_errno
  - gpg_error_t::gpg_error_from_errno
  - gpg_error_t::gpg_error_from_syserror
  - gpgrt_unsetenv
  - GPGRT_LOCK_DEFINE
  - gpgrt_pending
  - gpgrt_pending_unlocked
  - gpgrt_getc_unlocked
  - gpgrt_putc_unlocked
  - gpgrt_getc
  - gpgrt_putc
  - gpgrt_strlist_count
  - gpgrt_assert
  - gpgrt_assert
  - log_set_file
  - log_set_fd
  - log_set_stream
  - log_assert
  - log_assert
  - gpgrt_create_pipe
  - gpgrt_create_inbound_pipe
  - gpgrt_create_outbound_pipe
  - ARGPARSE_x
  - ARGPARSE_s
  - ARGPARSE_s_n
  - ARGPARSE_s_i
  - ARGPARSE_s_s
  - ARGPARSE_s_l
  - ARGPARSE_s_u
  - ARGPARSE_o
  - ARGPARSE_o_n
  - ARGPARSE_o_i
  - ARGPARSE_o_s
  - ARGPARSE_o_l
  - ARGPARSE_o_u
  - ARGPARSE_p
  - ARGPARSE_p_n
  - ARGPARSE_p_i
  - ARGPARSE_p_s
  - ARGPARSE_p_l
  - ARGPARSE_p_u
  - ARGPARSE_op
  - ARGPARSE_op_n
  - ARGPARSE_op_i
  - ARGPARSE_op_s
  - ARGPARSE_op_l
  - ARGPARSE_op_u
  - ARGPARSE_c
  - ARGPARSE_conffile
  - ARGPARSE_noconffile
  - ARGPARSE_ignore
  - ARGPARSE_group
  - ARGPARSE_verbatim
  - ARGPARSE_header
  - ARGPARSE_end
  source_file: /src/libgpg-error/src/gpg-error.h
  types:
    enum:
    - enumerators:
      - name: GPGRT_SYSHD_NONE
        value: '0'
      - name: GPGRT_SYSHD_RVID
        value: '3'
      - name: GPGRT_SYSHD_SOCK
        value: '2'
      - name: GPGRT_SYSHD_FD
        value: '1'
      - name: GPGRT_SYSHD_HANDLE
        value: '4'
      item_type: enum
      name: gpgrt_syshd_types
      pos:
        line_end: 1251
        line_start: 1244
        source_file: /src/libgpg-error/src/gpg-error.h
    - enumerators:
      - name: GPGRT_LOGLVL_BEGIN
      - name: GPGRT_LOGLVL_INFO
      - name: GPGRT_LOGLVL_CONT
      - name: GPGRT_LOGLVL_ERROR
      - name: GPGRT_LOGLVL_WARN
      - name: GPGRT_LOGLVL_FATAL
      - name: GPGRT_LOGLVL_BUG
      - name: GPGRT_LOGLVL_DEBUG
      item_type: enum
      name: gpgrt_log_levels
      pos:
        line_end: 1784
        line_start: 1774
        source_file: /src/libgpg-error/src/gpg-error.h
    - enumerators:
      - name: GPGRT_PROCESS_NOP
        value: '0'
      - name: GPGRT_PROCESS_GET_EXIT_ID
        value: '2'
      - name: GPGRT_PROCESS_GET_PID
        value: '16'
      - name: GPGRT_PROCESS_GET_WSTATUS
        value: '17'
      - name: GPGRT_PROCESS_GET_PROC_ID
        value: '1'
      - name: GPGRT_PROCESS_KILL
        value: '18'
      - name: GPGRT_PROCESS_GET_P_HANDLE
        value: '32'
      - name: GPGRT_PROCESS_GET_HANDLES
        value: '33'
      - name: GPGRT_PROCESS_GET_EXIT_CODE
        value: '34'
      - name: GPGRT_PROCESS_KILL_WITH_EC
        value: '35'
      item_type: enum
      name: gpgrt_process_requests
      pos:
        line_end: 1941
        line_start: 1924
        source_file: /src/libgpg-error/src/gpg-error.h
    preproc_defs:
    - item_type: preproc_def
      name: GPG_ERROR_H
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPGRT_H
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPG_ERROR_VERSION
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '"1.62"'
    - item_type: preproc_def
      name: GPGRT_VERSION
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '"1.62"'
    - item_type: preproc_def
      name: GPG_ERROR_VERSION_NUMBER
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '0x013e00'
    - item_type: preproc_def
      name: GPGRT_VERSION_NUMBER
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '0x013e00'
    - item_type: preproc_def
      name: GPG_ERR_INLINE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: __inline__
    - item_type: preproc_def
      name: GPG_ERR_INLINE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: __inline
    - item_type: preproc_def
      name: GPG_ERR_INLINE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: inline
    - item_type: preproc_def
      name: GPG_ERR_CODE_MASK
      pos:
        line_end: 750
        line_start: 749
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (GPG_ERR_CODE_DIM - 1)
    - item_type: preproc_def
      name: GPG_ERR_SOURCE_MASK
      pos:
        line_end: 755
        line_start: 754
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (GPG_ERR_SOURCE_DIM - 1)
    - item_type: preproc_def
      name: GPG_ERR_SOURCE_SHIFT
      pos:
        line_end: 756
        line_start: 755
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '24'
    - item_type: preproc_def
      name: _GPG_ERR_GCC_VERSION
      pos:
        line_end: 769
        line_start: 766
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: "(__GNUC__ * 10000 \\\n                               + __GNUC_MINOR__
        * 100 \\\n                               + __GNUC_PATCHLEVEL__)"
    - item_type: preproc_def
      name: _GPG_ERR_GCC_VERSION
      pos:
        line_end: 771
        line_start: 770
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '0'
    - item_type: preproc_def
      name: _GPG_ERR_CONSTRUCTOR
      pos:
        line_end: 776
        line_start: 775
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: __attribute__ ((__constructor__))
    - item_type: preproc_def
      name: GPGRT_GCC_VERSION
      pos:
        line_end: 782
        line_start: 781
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: _GPG_ERR_GCC_VERSION
    - item_type: preproc_def
      name: _GPGRT__RESTRICT
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: __restrict__
    - item_type: preproc_def
      name: GPGRT_ATTR_NORETURN
      pos:
        line_end: 792
        line_start: 791
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: __attribute__ ((__noreturn__))
    - item_type: preproc_def
      name: GPGRT_ATTR_USED
      pos:
        line_end: 830
        line_start: 829
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: __attribute__ ((used))
    - item_type: preproc_def
      name: GPGRT_ATTR_UNUSED
      pos:
        line_end: 835
        line_start: 834
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: __attribute__ ((unused))
    - item_type: preproc_def
      name: GPGRT_ATTR_DEPRECATED
      pos:
        line_end: 842
        line_start: 841
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: __attribute__ ((__deprecated__))
    - item_type: preproc_def
      name: GPGRT_ATTR_PURE
      pos:
        line_end: 849
        line_start: 848
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: __attribute__ ((__pure__))
    - item_type: preproc_def
      name: GPGRT_ATTR_MALLOC
      pos:
        line_end: 856
        line_start: 855
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: __attribute__ ((__malloc__))
    - item_type: preproc_def
      name: GPGRT_ATTR_NONSTRING
      pos:
        line_end: 862
        line_start: 861
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: __attribute__((__nonstring__))
    - item_type: preproc_def
      name: GPGRT_HAVE_MACRO_FUNCTION
      pos:
        line_end: 870
        line_start: 869
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPGRT_HAVE_PRAGMA_GCC_PUSH
      pos:
        line_end: 876
        line_start: 875
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPGRT_INLINE
      pos:
        line_end: 896
        line_start: 895
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: GPG_ERR_INLINE
    - item_type: preproc_def
      name: GPG_ERR_INITIALIZED
      pos:
        line_end: 925
        line_start: 924
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPG_ERR_SOURCE_DEFAULT
      pos:
        line_end: 970
        line_start: 969
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: GPG_ERR_SOURCE_UNKNOWN
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 1143
        line_start: 1138
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    - item_type: preproc_def
      name: es_cookie_read_function_t
      pos:
        line_end: 1239
        line_start: 1238
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_cookie_read_function_t
    - item_type: preproc_def
      name: es_cookie_write_function_t
      pos:
        line_end: 1240
        line_start: 1239
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_cookie_read_function_t
    - item_type: preproc_def
      name: es_cookie_seek_function_t
      pos:
        line_end: 1241
        line_start: 1240
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_cookie_read_function_t
    - item_type: preproc_def
      name: es_cookie_close_function_t
      pos:
        line_end: 1242
        line_start: 1241
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_cookie_read_function_t
    - item_type: preproc_def
      name: ES_SYSHD_NONE
      pos:
        line_end: 1267
        line_start: 1266
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: GPGRT_SYSHD_NONE
    - item_type: preproc_def
      name: ES_SYSHD_FD
      pos:
        line_end: 1268
        line_start: 1267
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: GPGRT_SYSHD_FD
    - item_type: preproc_def
      name: ES_SYSHD_SOCK
      pos:
        line_end: 1269
        line_start: 1268
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: GPGRT_SYSHD_SOCK
    - item_type: preproc_def
      name: ES_SYSHD_RVID
      pos:
        line_end: 1270
        line_start: 1269
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: GPGRT_SYSHD_RVID
    - item_type: preproc_def
      name: ES_SYSHD_HANDLE
      pos:
        line_end: 1271
        line_start: 1270
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: GPGRT_SYSHD_HANDLE
    - item_type: preproc_def
      name: gpgrt_stdin
      pos:
        line_end: 1344
        line_start: 1343
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: _gpgrt_get_std_stream (0)
    - item_type: preproc_def
      name: gpgrt_stdout
      pos:
        line_end: 1345
        line_start: 1344
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: _gpgrt_get_std_stream (1)
    - item_type: preproc_def
      name: gpgrt_stderr
      pos:
        line_end: 1346
        line_start: 1345
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: _gpgrt_get_std_stream (2)
    - item_type: preproc_def
      name: es_fopen
      pos:
        line_end: 1504
        line_start: 1503
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fopen
    - item_type: preproc_def
      name: es_mopen
      pos:
        line_end: 1505
        line_start: 1504
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_mopen
    - item_type: preproc_def
      name: es_fopenmem
      pos:
        line_end: 1506
        line_start: 1505
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fopenmem
    - item_type: preproc_def
      name: es_fopenmem_init
      pos:
        line_end: 1507
        line_start: 1506
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fopenmem_init
    - item_type: preproc_def
      name: es_fdopen
      pos:
        line_end: 1508
        line_start: 1507
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fdopen
    - item_type: preproc_def
      name: es_fdopen_nc
      pos:
        line_end: 1509
        line_start: 1508
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fdopen_nc
    - item_type: preproc_def
      name: es_sysopen
      pos:
        line_end: 1510
        line_start: 1509
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_sysopen
    - item_type: preproc_def
      name: es_sysopen_nc
      pos:
        line_end: 1511
        line_start: 1510
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_sysopen_nc
    - item_type: preproc_def
      name: es_fpopen
      pos:
        line_end: 1512
        line_start: 1511
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fpopen
    - item_type: preproc_def
      name: es_fpopen_nc
      pos:
        line_end: 1513
        line_start: 1512
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fpopen_nc
    - item_type: preproc_def
      name: es_freopen
      pos:
        line_end: 1514
        line_start: 1513
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_freopen
    - item_type: preproc_def
      name: es_fopencookie
      pos:
        line_end: 1515
        line_start: 1514
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fopencookie
    - item_type: preproc_def
      name: es_fclose
      pos:
        line_end: 1516
        line_start: 1515
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fclose
    - item_type: preproc_def
      name: es_fclose_snatch
      pos:
        line_end: 1517
        line_start: 1516
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fclose_snatch
    - item_type: preproc_def
      name: es_onclose
      pos:
        line_end: 1518
        line_start: 1517
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_onclose
    - item_type: preproc_def
      name: es_fileno
      pos:
        line_end: 1519
        line_start: 1518
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fileno
    - item_type: preproc_def
      name: es_fileno_unlocked
      pos:
        line_end: 1520
        line_start: 1519
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fileno_unlocked
    - item_type: preproc_def
      name: es_syshd
      pos:
        line_end: 1521
        line_start: 1520
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_syshd
    - item_type: preproc_def
      name: es_syshd_unlocked
      pos:
        line_end: 1522
        line_start: 1521
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_syshd_unlocked
    - item_type: preproc_def
      name: es_stdin
      pos:
        line_end: 1523
        line_start: 1522
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: _gpgrt_get_std_stream (0)
    - item_type: preproc_def
      name: es_stdout
      pos:
        line_end: 1524
        line_start: 1523
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: _gpgrt_get_std_stream (1)
    - item_type: preproc_def
      name: es_stderr
      pos:
        line_end: 1525
        line_start: 1524
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: _gpgrt_get_std_stream (2)
    - item_type: preproc_def
      name: es_flockfile
      pos:
        line_end: 1526
        line_start: 1525
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_flockfile
    - item_type: preproc_def
      name: es_ftrylockfile
      pos:
        line_end: 1527
        line_start: 1526
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_ftrylockfile
    - item_type: preproc_def
      name: es_funlockfile
      pos:
        line_end: 1528
        line_start: 1527
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_funlockfile
    - item_type: preproc_def
      name: es_feof
      pos:
        line_end: 1529
        line_start: 1528
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_feof
    - item_type: preproc_def
      name: es_feof_unlocked
      pos:
        line_end: 1530
        line_start: 1529
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_feof_unlocked
    - item_type: preproc_def
      name: es_ferror
      pos:
        line_end: 1531
        line_start: 1530
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_ferror
    - item_type: preproc_def
      name: es_ferror_unlocked
      pos:
        line_end: 1532
        line_start: 1531
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_ferror_unlocked
    - item_type: preproc_def
      name: es_clearerr
      pos:
        line_end: 1533
        line_start: 1532
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_clearerr
    - item_type: preproc_def
      name: es_clearerr_unlocked
      pos:
        line_end: 1534
        line_start: 1533
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_clearerr_unlocked
    - item_type: preproc_def
      name: es_pending
      pos:
        line_end: 1535
        line_start: 1534
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_pending
    - item_type: preproc_def
      name: es_pending_unlocked
      pos:
        line_end: 1536
        line_start: 1535
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_pending_unlocked
    - item_type: preproc_def
      name: es_fflush
      pos:
        line_end: 1537
        line_start: 1536
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fflush
    - item_type: preproc_def
      name: es_fseek
      pos:
        line_end: 1538
        line_start: 1537
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fseek
    - item_type: preproc_def
      name: es_fseeko
      pos:
        line_end: 1539
        line_start: 1538
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fseeko
    - item_type: preproc_def
      name: es_ftruncate
      pos:
        line_end: 1540
        line_start: 1539
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_ftruncate
    - item_type: preproc_def
      name: es_ftell
      pos:
        line_end: 1541
        line_start: 1540
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_ftell
    - item_type: preproc_def
      name: es_ftello
      pos:
        line_end: 1542
        line_start: 1541
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_ftello
    - item_type: preproc_def
      name: es_rewind
      pos:
        line_end: 1543
        line_start: 1542
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_rewind
    - item_type: preproc_def
      name: es_fgetc
      pos:
        line_end: 1544
        line_start: 1543
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fgetc
    - item_type: preproc_def
      name: es_fputc
      pos:
        line_end: 1545
        line_start: 1544
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fputc
    - item_type: preproc_def
      name: es_getc_unlocked
      pos:
        line_end: 1546
        line_start: 1545
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_getc_unlocked
    - item_type: preproc_def
      name: es_putc_unlocked
      pos:
        line_end: 1547
        line_start: 1546
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_putc_unlocked
    - item_type: preproc_def
      name: es_getc
      pos:
        line_end: 1548
        line_start: 1547
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_getc
    - item_type: preproc_def
      name: es_putc
      pos:
        line_end: 1549
        line_start: 1548
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_putc
    - item_type: preproc_def
      name: es_ungetc
      pos:
        line_end: 1550
        line_start: 1549
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_ungetc
    - item_type: preproc_def
      name: es_read
      pos:
        line_end: 1551
        line_start: 1550
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_read
    - item_type: preproc_def
      name: es_write
      pos:
        line_end: 1552
        line_start: 1551
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_write
    - item_type: preproc_def
      name: es_write_sanitized
      pos:
        line_end: 1553
        line_start: 1552
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_write_sanitized
    - item_type: preproc_def
      name: es_write_hexstring
      pos:
        line_end: 1554
        line_start: 1553
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_write_hexstring
    - item_type: preproc_def
      name: es_fread
      pos:
        line_end: 1555
        line_start: 1554
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fread
    - item_type: preproc_def
      name: es_fwrite
      pos:
        line_end: 1556
        line_start: 1555
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fwrite
    - item_type: preproc_def
      name: es_fgets
      pos:
        line_end: 1557
        line_start: 1556
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fgets
    - item_type: preproc_def
      name: es_fputs
      pos:
        line_end: 1558
        line_start: 1557
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fputs
    - item_type: preproc_def
      name: es_fputs_unlocked
      pos:
        line_end: 1559
        line_start: 1558
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fputs_unlocked
    - item_type: preproc_def
      name: es_getline
      pos:
        line_end: 1560
        line_start: 1559
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_getline
    - item_type: preproc_def
      name: es_read_line
      pos:
        line_end: 1561
        line_start: 1560
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_read_line
    - item_type: preproc_def
      name: es_free
      pos:
        line_end: 1562
        line_start: 1561
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_free
    - item_type: preproc_def
      name: es_fprintf
      pos:
        line_end: 1563
        line_start: 1562
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fprintf
    - item_type: preproc_def
      name: es_fprintf_unlocked
      pos:
        line_end: 1564
        line_start: 1563
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fprintf_unlocked
    - item_type: preproc_def
      name: es_printf
      pos:
        line_end: 1565
        line_start: 1564
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_printf
    - item_type: preproc_def
      name: es_printf_unlocked
      pos:
        line_end: 1566
        line_start: 1565
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_printf_unlocked
    - item_type: preproc_def
      name: es_vfprintf
      pos:
        line_end: 1567
        line_start: 1566
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_vfprintf
    - item_type: preproc_def
      name: es_vfprintf_unlocked
      pos:
        line_end: 1568
        line_start: 1567
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_vfprintf_unlocked
    - item_type: preproc_def
      name: es_setvbuf
      pos:
        line_end: 1569
        line_start: 1568
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_setvbuf
    - item_type: preproc_def
      name: es_setbuf
      pos:
        line_end: 1570
        line_start: 1569
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_setbuf
    - item_type: preproc_def
      name: es_set_binary
      pos:
        line_end: 1571
        line_start: 1570
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_set_binary
    - item_type: preproc_def
      name: es_set_nonblock
      pos:
        line_end: 1572
        line_start: 1571
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_set_nonblock
    - item_type: preproc_def
      name: es_get_nonblock
      pos:
        line_end: 1573
        line_start: 1572
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_get_nonblock
    - item_type: preproc_def
      name: es_poll
      pos:
        line_end: 1574
        line_start: 1573
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_poll
    - item_type: preproc_def
      name: es_tmpfile
      pos:
        line_end: 1575
        line_start: 1574
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_tmpfile
    - item_type: preproc_def
      name: es_opaque_set
      pos:
        line_end: 1576
        line_start: 1575
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_opaque_set
    - item_type: preproc_def
      name: es_opaque_get
      pos:
        line_end: 1577
        line_start: 1576
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_opaque_get
    - item_type: preproc_def
      name: es_fname_set
      pos:
        line_end: 1578
        line_start: 1577
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fname_set
    - item_type: preproc_def
      name: es_fname_get
      pos:
        line_end: 1579
        line_start: 1578
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_fname_get
    - item_type: preproc_def
      name: es_asprintf
      pos:
        line_end: 1580
        line_start: 1579
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_asprintf
    - item_type: preproc_def
      name: es_vasprintf
      pos:
        line_end: 1581
        line_start: 1580
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_vasprintf
    - item_type: preproc_def
      name: es_bsprintf
      pos:
        line_end: 1582
        line_start: 1581
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_bsprintf
    - item_type: preproc_def
      name: es_vbsprintf
      pos:
        line_end: 1583
        line_start: 1582
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_vbsprintf
    - item_type: preproc_def
      name: GPGRT_STRLIST_APPEND
      pos:
        line_end: 1621
        line_start: 1620
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: GPGRT_STRLIST_WIPE
      pos:
        line_end: 1622
        line_start: 1621
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: GPGRT_NVC_WIPE
      pos:
        line_end: 1690
        line_start: 1689
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: GPGRT_NVC_PRIVKEY
      pos:
        line_end: 1691
        line_start: 1690
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '4  '
    - item_type: preproc_def
      name: GPGRT_NVC_SECTION
      pos:
        line_end: 1692
        line_start: 1691
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '8  '
    - item_type: preproc_def
      name: GPGRT_NVC_MODIFIED
      pos:
        line_end: 1693
        line_start: 1692
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '256  '
    - item_type: preproc_def
      name: GPGRT_LOG_WITH_PREFIX
      pos:
        line_end: 1768
        line_start: 1767
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GPGRT_LOG_WITH_TIME
      pos:
        line_end: 1769
        line_start: 1768
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '2'
    - item_type: preproc_def
      name: GPGRT_LOG_WITH_PID
      pos:
        line_end: 1770
        line_start: 1769
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '4'
    - item_type: preproc_def
      name: GPGRT_LOG_RUN_DETACHED
      pos:
        line_end: 1771
        line_start: 1770
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '256'
    - item_type: preproc_def
      name: GPGRT_LOG_NO_REGISTRY
      pos:
        line_end: 1772
        line_start: 1771
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '512'
    - item_type: preproc_def
      name: log_get_errorcount
      pos:
        line_end: 1839
        line_start: 1838
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_get_errorcount
    - item_type: preproc_def
      name: log_inc_errorcount
      pos:
        line_end: 1840
        line_start: 1839
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_inc_errorcount
    - item_type: preproc_def
      name: log_set_socket_dir_cb
      pos:
        line_end: 1844
        line_start: 1843
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log_set_socket_dir_cb
    - item_type: preproc_def
      name: log_set_pid_suffix_cb
      pos:
        line_end: 1845
        line_start: 1844
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log_set_pid_suffix_cb
    - item_type: preproc_def
      name: log_set_prefix
      pos:
        line_end: 1846
        line_start: 1845
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log_set_prefix
    - item_type: preproc_def
      name: log_get_prefix
      pos:
        line_end: 1847
        line_start: 1846
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log_get_prefix
    - item_type: preproc_def
      name: log_test_fd
      pos:
        line_end: 1848
        line_start: 1847
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log_test_fd
    - item_type: preproc_def
      name: log_get_fd
      pos:
        line_end: 1849
        line_start: 1848
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log_get_fd
    - item_type: preproc_def
      name: log_get_stream
      pos:
        line_end: 1850
        line_start: 1849
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log_get_stream
    - item_type: preproc_def
      name: log_log
      pos:
        line_end: 1851
        line_start: 1850
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log
    - item_type: preproc_def
      name: log_logv
      pos:
        line_end: 1852
        line_start: 1851
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_logv
    - item_type: preproc_def
      name: log_logv_prefix
      pos:
        line_end: 1853
        line_start: 1852
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_logv_prefix
    - item_type: preproc_def
      name: log_string
      pos:
        line_end: 1854
        line_start: 1853
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log_string
    - item_type: preproc_def
      name: log_bug
      pos:
        line_end: 1855
        line_start: 1854
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log_bug
    - item_type: preproc_def
      name: log_fatal
      pos:
        line_end: 1856
        line_start: 1855
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log_fatal
    - item_type: preproc_def
      name: log_error
      pos:
        line_end: 1857
        line_start: 1856
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log_error
    - item_type: preproc_def
      name: log_info
      pos:
        line_end: 1858
        line_start: 1857
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log_info
    - item_type: preproc_def
      name: log_debug
      pos:
        line_end: 1859
        line_start: 1858
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log_debug
    - item_type: preproc_def
      name: log_debug_string
      pos:
        line_end: 1860
        line_start: 1859
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log_debug_string
    - item_type: preproc_def
      name: log_printf
      pos:
        line_end: 1861
        line_start: 1860
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log_printf
    - item_type: preproc_def
      name: log_printhex
      pos:
        line_end: 1862
        line_start: 1861
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log_printhex
    - item_type: preproc_def
      name: log_clock
      pos:
        line_end: 1863
        line_start: 1862
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log_clock
    - item_type: preproc_def
      name: log_flush
      pos:
        line_end: 1864
        line_start: 1863
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: gpgrt_log_flush
    - item_type: preproc_def
      name: GPGRT_PROCESS_DETACHED
      pos:
        line_end: 1884
        line_start: 1883
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: GPGRT_PROCESS_NO_CONSOLE
      pos:
        line_end: 1887
        line_start: 1886
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: GPGRT_PROCESS_NO_EUID_CHECK
      pos:
        line_end: 1890
        line_start: 1889
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: GPGRT_PROCESS_ALLOW_SET_FG
      pos:
        line_end: 1893
        line_start: 1892
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: GPGRT_PROCESS_STDIO_NUL
      pos:
        line_end: 1897
        line_start: 1896
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: GPGRT_PROCESS_STDIN_PIPE
      pos:
        line_end: 1900
        line_start: 1899
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (1 << 8)
    - item_type: preproc_def
      name: GPGRT_PROCESS_STDOUT_PIPE
      pos:
        line_end: 1901
        line_start: 1900
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (1 << 9)
    - item_type: preproc_def
      name: GPGRT_PROCESS_STDERR_PIPE
      pos:
        line_end: 1902
        line_start: 1901
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (1 << 10)
    - item_type: preproc_def
      name: GPGRT_PROCESS_STDINOUT_SOCKETPAIR
      pos:
        line_end: 1903
        line_start: 1902
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (1 << 11)
    - item_type: preproc_def
      name: GPGRT_PROCESS_STDIN_KEEP
      pos:
        line_end: 1904
        line_start: 1903
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (1 << 12)
    - item_type: preproc_def
      name: GPGRT_PROCESS_STDOUT_KEEP
      pos:
        line_end: 1905
        line_start: 1904
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (1 << 13)
    - item_type: preproc_def
      name: GPGRT_PROCESS_STDERR_KEEP
      pos:
        line_end: 1906
        line_start: 1905
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (1 << 14)
    - item_type: preproc_def
      name: GPGRT_PROCESS_STDFDS_SETTING
      pos:
        line_end: 1910
        line_start: 1906
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: "( GPGRT_PROCESS_STDIN_PIPE  \\\n  | GPGRT_PROCESS_STDOUT_PIPE
        \        | GPGRT_PROCESS_STDERR_PIPE \\\n  | GPGRT_PROCESS_STDINOUT_SOCKETPAIR
        | GPGRT_PROCESS_STDIN_KEEP  \\\n  | GPGRT_PROCESS_STDOUT_KEEP         | GPGRT_PROCESS_STDERR_KEEP)"
    - item_type: preproc_def
      name: GPGRT_PROCESS_STREAM_NONBLOCK
      pos:
        line_end: 1912
        line_start: 1911
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (1 << 16)
    - item_type: preproc_def
      name: ARGPARSE_FLAG_KEEP
      pos:
        line_end: 2021
        line_start: 2020
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_ALL
      pos:
        line_end: 2023
        line_start: 2021
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_MIXED
      pos:
        line_end: 2024
        line_start: 2023
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '4  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_NOSTOP
      pos:
        line_end: 2025
        line_start: 2024
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '8  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_ARG0
      pos:
        line_end: 2026
        line_start: 2025
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '16  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_ONEDASH
      pos:
        line_end: 2027
        line_start: 2026
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '32  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_NOVERSION
      pos:
        line_end: 2028
        line_start: 2027
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '64  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_RESET
      pos:
        line_end: 2029
        line_start: 2028
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '128  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_STOP_SEEN
      pos:
        line_end: 2030
        line_start: 2029
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '256  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_NOLINENO
      pos:
        line_end: 2031
        line_start: 2030
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '512  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_SYS
      pos:
        line_end: 2032
        line_start: 2031
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '1024  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_USER
      pos:
        line_end: 2033
        line_start: 2032
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '2048  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_VERBOSE
      pos:
        line_end: 2034
        line_start: 2033
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '4096  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_USERVERS
      pos:
        line_end: 2035
        line_start: 2034
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '8192  '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_WITHATTR
      pos:
        line_end: 2036
        line_start: 2035
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '16384 '
    - item_type: preproc_def
      name: ARGPARSE_FLAG_COMMAND
      pos:
        line_end: 2038
        line_start: 2037
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '32768 '
    - item_type: preproc_def
      name: ARGPARSE_PRINT_WARNING
      pos:
        line_end: 2042
        line_start: 2041
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '1    '
    - item_type: preproc_def
      name: ARGPARSE_PRINT_ERROR
      pos:
        line_end: 2043
        line_start: 2042
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '2    '
    - item_type: preproc_def
      name: ARGPARSE_IS_ARG
      pos:
        line_end: 2046
        line_start: 2045
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: ARGPARSE_INVALID_OPTION
      pos:
        line_end: 2047
        line_start: 2046
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (-2)
    - item_type: preproc_def
      name: ARGPARSE_MISSING_ARG
      pos:
        line_end: 2048
        line_start: 2047
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (-3)
    - item_type: preproc_def
      name: ARGPARSE_KEYWORD_TOO_LONG
      pos:
        line_end: 2049
        line_start: 2048
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (-4)
    - item_type: preproc_def
      name: ARGPARSE_READ_ERROR
      pos:
        line_end: 2050
        line_start: 2049
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (-5)
    - item_type: preproc_def
      name: ARGPARSE_UNEXPECTED_ARG
      pos:
        line_end: 2051
        line_start: 2050
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (-6)
    - item_type: preproc_def
      name: ARGPARSE_INVALID_COMMAND
      pos:
        line_end: 2052
        line_start: 2051
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (-7)
    - item_type: preproc_def
      name: ARGPARSE_AMBIGUOUS_OPTION
      pos:
        line_end: 2053
        line_start: 2052
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (-8)
    - item_type: preproc_def
      name: ARGPARSE_AMBIGUOUS_COMMAND
      pos:
        line_end: 2054
        line_start: 2053
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (-9)
    - item_type: preproc_def
      name: ARGPARSE_INVALID_ALIAS
      pos:
        line_end: 2055
        line_start: 2054
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (-10)
    - item_type: preproc_def
      name: ARGPARSE_OUT_OF_CORE
      pos:
        line_end: 2056
        line_start: 2055
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (-11)
    - item_type: preproc_def
      name: ARGPARSE_INVALID_ARG
      pos:
        line_end: 2057
        line_start: 2056
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (-12)
    - item_type: preproc_def
      name: ARGPARSE_PERMISSION_ERROR
      pos:
        line_end: 2058
        line_start: 2057
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (-13)
    - item_type: preproc_def
      name: ARGPARSE_NO_CONFFILE
      pos:
        line_end: 2059
        line_start: 2058
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (-14)
    - item_type: preproc_def
      name: ARGPARSE_CONFFILE
      pos:
        line_end: 2060
        line_start: 2059
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (-15)
    - item_type: preproc_def
      name: ARGPARSE_INVALID_META
      pos:
        line_end: 2061
        line_start: 2060
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (-16)
    - item_type: preproc_def
      name: ARGPARSE_UNKNOWN_META
      pos:
        line_end: 2062
        line_start: 2061
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (-17)
    - item_type: preproc_def
      name: ARGPARSE_UNEXPECTED_META
      pos:
        line_end: 2063
        line_start: 2062
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (-18)
    - item_type: preproc_def
      name: ARGPARSE_TYPE_MASK
      pos:
        line_end: 2072
        line_start: 2071
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '0x0007  '
    - item_type: preproc_def
      name: ARGPARSE_TYPE_NONE
      pos:
        line_end: 2073
        line_start: 2072
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '0  '
    - item_type: preproc_def
      name: ARGPARSE_TYPE_INT
      pos:
        line_end: 2074
        line_start: 2073
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: ARGPARSE_TYPE_STRING
      pos:
        line_end: 2075
        line_start: 2074
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: ARGPARSE_TYPE_LONG
      pos:
        line_end: 2076
        line_start: 2075
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '3  '
    - item_type: preproc_def
      name: ARGPARSE_TYPE_ULONG
      pos:
        line_end: 2077
        line_start: 2076
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '4  '
    - item_type: preproc_def
      name: ARGPARSE_OPT_OPTIONAL
      pos:
        line_end: 2078
        line_start: 2077
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '(1<<3) '
    - item_type: preproc_def
      name: ARGPARSE_OPT_PREFIX
      pos:
        line_end: 2079
        line_start: 2078
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '(1<<4) '
    - item_type: preproc_def
      name: ARGPARSE_OPT_IGNORE
      pos:
        line_end: 2080
        line_start: 2079
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '(1<<6) '
    - item_type: preproc_def
      name: ARGPARSE_OPT_COMMAND
      pos:
        line_end: 2081
        line_start: 2080
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '(1<<7) '
    - item_type: preproc_def
      name: ARGPARSE_OPT_CONFFILE
      pos:
        line_end: 2082
        line_start: 2081
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '(1<<8) '
    - item_type: preproc_def
      name: ARGPARSE_OPT_HEADER
      pos:
        line_end: 2083
        line_start: 2082
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '(1<<9) '
    - item_type: preproc_def
      name: ARGPARSE_OPT_VERBATIM
      pos:
        line_end: 2084
        line_start: 2083
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (1<<10)
    - item_type: preproc_def
      name: ARGPARSE_ATTR_FORCE
      pos:
        line_end: 2085
        line_start: 2084
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (1<<14)
    - item_type: preproc_def
      name: ARGPARSE_ATTR_IGNORE
      pos:
        line_end: 2086
        line_start: 2085
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: (1<<15)
    - item_type: preproc_def
      name: GPGRT_CONFDIR_USER
      pos:
        line_end: 2186
        line_start: 2185
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '1   '
    - item_type: preproc_def
      name: GPGRT_CONFDIR_SYS
      pos:
        line_end: 2187
        line_start: 2186
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '2   '
    - item_type: preproc_def
      name: GPGRT_FCONCAT_ABS
      pos:
        line_end: 2220
        line_start: 2219
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: GPGRT_FCONCAT_TILDE
      pos:
        line_end: 2221
        line_start: 2220
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: GPGRT_FCONCAT_SYSCONF
      pos:
        line_end: 2222
        line_start: 2221
        source_file: /src/libgpg-error/src/gpg-error.h
      type_or_value: '4  '
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[40];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 1136
        line_start: 1128
        source_file: /src/libgpg-error/src/gpg-error.h
    - fields:
      - name: flags
        type: "struct {\n    unsigned int magic: 16;\n    unsigned int writing: 1;\n
          \   unsigned int reserved: 15;\n  }"
      - name: '*buffer'
        type: unsigned char
      - name: buffer_size
        type: size_t
      - name: data_len
        type: size_t
      - name: data_offset
        type: size_t
      - name: data_flushed
        type: size_t
      - name: '*unread_buffer'
        type: unsigned char
      - name: unread_buffer_size
        type: size_t
      - name: unread_data_len
        type: size_t
      - name: '*intern'
        type: struct _gpgrt_stream_internal
      item_type: struct
      name: _gpgrt__stream
      pos:
        line_end: 1211
        line_start: 1175
        source_file: /src/libgpg-error/src/gpg-error.h
    - fields:
      - name: func_read
        type: gpgrt_cookie_read_function_t
      - name: func_write
        type: gpgrt_cookie_write_function_t
      - name: func_seek
        type: gpgrt_cookie_seek_function_t
      - name: func_close
        type: gpgrt_cookie_close_function_t
      item_type: struct
      name: _gpgrt_cookie_io_functions
      pos:
        line_end: 1234
        line_start: 1228
        source_file: /src/libgpg-error/src/gpg-error.h
    - fields:
      - name: type
        type: enum gpgrt_syshd_types
      - name: u
        type: "union {\n    int fd;\n    int sock;\n    int rvid;\n    void *handle;\n
          \ }"
      item_type: struct
      name: _gpgrt_syshd
      pos:
        line_end: 1262
        line_start: 1253
        source_file: /src/libgpg-error/src/gpg-error.h
    - fields:
      - name: stream
        type: gpgrt_stream_t
      - name: want_read
        type: unsigned int
      - name: want_write
        type: unsigned int
      - name: want_oob
        type: unsigned int
      - name: want_rdhup
        type: unsigned int
      - name: _reserv1
        type: unsigned int
      - name: got_read
        type: unsigned int
      - name: got_write
        type: unsigned int
      - name: got_oob
        type: unsigned int
      - name: got_rdhup
        type: unsigned int
      - name: _reserv2
        type: unsigned int
      - name: got_err
        type: unsigned int
      - name: got_hup
        type: unsigned int
      - name: got_nval
        type: unsigned int
      - name: _reserv3
        type: unsigned int
      - name: ignore
        type: unsigned int
      - name: user
        type: unsigned int
      item_type: struct
      name: _gpgrt_poll_s
      pos:
        line_end: 1293
        line_start: 1274
        source_file: /src/libgpg-error/src/gpg-error.h
    - fields:
      - name: '*next'
        type: struct _gpgrt_strlist_s
      - name: flags
        type: unsigned int
      - name: _private_flags
        type: unsigned char
      - name: d[1]
        type: char
      item_type: struct
      name: _gpgrt_strlist_s
      pos:
        line_end: 1616
        line_start: 1610
        source_file: /src/libgpg-error/src/gpg-error.h
    - fields:
      - name: '*argc'
        type: int
      - name: '***argv'
        type: char
      - name: flags
        type: unsigned int
      - name: err
        type: int
      - name: lineno
        type: unsigned int
      - name: r_opt
        type: int
      - name: r_type
        type: int
      - name: r
        type: "union {\n    int   ret_int;\n    long  ret_long;\n    unsigned long
          ret_ulong;\n    char *ret_str;\n  }"
      - name: '*internal'
        type: struct _gpgrt_argparse_internal_s
      item_type: struct
      name: gpgrt_argparse_t
      pos:
        line_end: 2005
        line_start: 1985
        source_file: /src/libgpg-error/src/gpg-error.h
    - fields:
      - name: short_opt
        type: int
      - name: '*long_opt'
        type: char
      - name: flags
        type: unsigned int
      - name: '*description'
        type: char
      item_type: struct
      name: gpgrt_opt_t
      pos:
        line_end: 2014
        line_start: 2008
        source_file: /src/libgpg-error/src/gpg-error.h
    typedefs:
    - item_type: typedef
      name: gpg_error_t
      pos:
        line_end: 745
        line_start: 745
        source_file: /src/libgpg-error/src/gpg-error.h
      type: unsigned int
    - item_type: typedef
      name: gpgrt_ssize_t
      pos:
        line_end: 1052
        line_start: 1052
        source_file: /src/libgpg-error/src/gpg-error.h
      type: ssize_t
    - item_type: typedef
      name: gpgrt_off_t
      pos:
        line_end: 1054
        line_start: 1054
        source_file: /src/libgpg-error/src/gpg-error.h
      type: long
    - item_type: typedef
      name: '*gpgrt_stream_t'
      pos:
        line_end: 1214
        line_start: 1214
        source_file: /src/libgpg-error/src/gpg-error.h
      type: _gpgrt__stream
    - item_type: typedef
      name: '*estream_t'
      pos:
        line_end: 1216
        line_start: 1216
        source_file: /src/libgpg-error/src/gpg-error.h
      type: _gpgrt__stream
    - item_type: typedef
      name: "(*gpgrt_cookie_read_function_t) (void *cookie,\n                                                 void
        *buffer, size_t size)"
      pos:
        line_end: 1220
        line_start: 1219
        source_file: /src/libgpg-error/src/gpg-error.h
      type: ssize_t
    - item_type: typedef
      name: "(*gpgrt_cookie_write_function_t) (void *cookie,\n                                                  const
        void *buffer,\n                                                  size_t size)"
      pos:
        line_end: 1223
        line_start: 1221
        source_file: /src/libgpg-error/src/gpg-error.h
      type: ssize_t
    - item_type: typedef
      name: "(*gpgrt_cookie_seek_function_t) (void *cookie,\n                                             gpgrt_off_t
        *pos, int whence)"
      pos:
        line_end: 1225
        line_start: 1224
        source_file: /src/libgpg-error/src/gpg-error.h
      type: int
    - item_type: typedef
      name: (*gpgrt_cookie_close_function_t) (void *cookie)
      pos:
        line_end: 1226
        line_start: 1226
        source_file: /src/libgpg-error/src/gpg-error.h
      type: int
    - item_type: typedef
      name: gpgrt_cookie_io_functions_t
      pos:
        line_end: 1235
        line_start: 1235
        source_file: /src/libgpg-error/src/gpg-error.h
      type: _gpgrt_cookie_io_functions
    - item_type: typedef
      name: es_cookie_io_functions_t
      pos:
        line_end: 1237
        line_start: 1237
        source_file: /src/libgpg-error/src/gpg-error.h
      type: _gpgrt_cookie_io_functions
    - item_type: typedef
      name: gpgrt_syshd_t
      pos:
        line_end: 1263
        line_start: 1263
        source_file: /src/libgpg-error/src/gpg-error.h
      type: _gpgrt_syshd
    - item_type: typedef
      name: es_syshd_t
      pos:
        line_end: 1265
        line_start: 1265
        source_file: /src/libgpg-error/src/gpg-error.h
      type: _gpgrt_syshd
    - item_type: typedef
      name: gpgrt_poll_t
      pos:
        line_end: 1294
        line_start: 1294
        source_file: /src/libgpg-error/src/gpg-error.h
      type: _gpgrt_poll_s
    - item_type: typedef
      name: es_poll_t
      pos:
        line_end: 1296
        line_start: 1296
        source_file: /src/libgpg-error/src/gpg-error.h
      type: _gpgrt_poll_s
    - item_type: typedef
      name: '*(*gpgrt_string_filter_t) (const char *s, int n, void *opaque)'
      pos:
        line_end: 1300
        line_start: 1300
        source_file: /src/libgpg-error/src/gpg-error.h
      type: char
    - item_type: typedef
      name: '*gpgrt_b64state_t'
      pos:
        line_end: 1592
        line_start: 1592
        source_file: /src/libgpg-error/src/gpg-error.h
      type: _gpgrt_b64state
    - item_type: typedef
      name: '*gpgrt_strlist_t'
      pos:
        line_end: 1617
        line_start: 1617
        source_file: /src/libgpg-error/src/gpg-error.h
      type: _gpgrt_strlist_s
    - item_type: typedef
      name: '*gpgrt_nvc_t'
      pos:
        line_end: 1684
        line_start: 1684
        source_file: /src/libgpg-error/src/gpg-error.h
      type: _gpgrt_name_value_container
    - item_type: typedef
      name: '*gpgrt_nve_t'
      pos:
        line_end: 1687
        line_start: 1687
        source_file: /src/libgpg-error/src/gpg-error.h
      type: _gpgrt_name_value_entry
    - item_type: typedef
      name: '*gpgrt_process_t'
      pos:
        line_end: 1913
        line_start: 1913
        source_file: /src/libgpg-error/src/gpg-error.h
      type: gpgrt_process
    - item_type: typedef
      name: '*gpgrt_spawn_actions_t'
      pos:
        line_end: 1914
        line_start: 1914
        source_file: /src/libgpg-error/src/gpg-error.h
      type: gpgrt_spawn_actions
    union: []
- function_names:
  - errnos_msgidxof
  source_file: /src/libgpg-error/src/errnos-sym.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - msgidxof
  source_file: /src/libgpg-error/src/err-sources.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabi.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[24];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabi.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.alpha-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.alpha-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[40];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.alpha-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.riscv32-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.riscv32-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[24];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.riscv32-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.arm-apple-darwin.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 20
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.arm-apple-darwin.h
      type_or_value: '{1,{{167,171,170,50,0,0,0,0, \

        0,0,0,0,0,0,0,0, \

        0,0,0,0,0,0,0,0, \

        0,0,0,0,0,0,0,0, \

        0,0,0,0,0,0,0,0, \

        0,0,0,0}}}'
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n        volatile char _priv[44];\n        long _x_align;\n
          \       long *_xp_align;\n    }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.arm-apple-darwin.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.i386-apple-darwin.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 20
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.i386-apple-darwin.h
      type_or_value: "{1,{{167,171,170,50,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[44];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.i386-apple-darwin.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[40];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.mips64el-unknown-linux-gnuabi64.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.mips64el-unknown-linux-gnuabi64.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[40];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.mips64el-unknown-linux-gnuabi64.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.mips64-unknown-linux-gnuabi64.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.mips64-unknown-linux-gnuabi64.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[40];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.mips64-unknown-linux-gnuabi64.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.sparc64-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.sparc64-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[40];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.sparc64-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.mips-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.mips-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[24];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.mips-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.sh3-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.sh3-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[24];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.sh3-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.nios2-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.nios2-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[24];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.nios2-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.sparc-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.sparc-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[24];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.sparc-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.sh4-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.sh4-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[24];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.sh4-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.s390x-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.s390x-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[40];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.s390x-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.arm-unknown-linux-androideabi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.arm-unknown-linux-androideabi.h
      type_or_value: '{1,{{0,0,0,0}}}'
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[4];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.arm-unknown-linux-androideabi.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.powerpc64le-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.powerpc64le-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[40];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.powerpc64le-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.ia64-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.ia64-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[40];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.ia64-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.or1k-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 18
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.or1k-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[32];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.or1k-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-unknown-linux-gnux32.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 18
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-unknown-linux-gnux32.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[32];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-unknown-linux-gnux32.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.i686-unknown-linux-androideabi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.i686-unknown-linux-androideabi.h
      type_or_value: '{1,{{0,0,0,0}}}'
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[4];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.i686-unknown-linux-androideabi.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.aarch64-apple-darwin.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 22
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.aarch64-apple-darwin.h
      type_or_value: '{1,{{167,171,170,50,0,0,0,0, \

        0,0,0,0,0,0,0,0, \

        0,0,0,0,0,0,0,0, \

        0,0,0,0,0,0,0,0, \

        0,0,0,0,0,0,0,0, \

        0,0,0,0,0,0,0,0, \

        0,0,0,0,0,0,0,0, \

        0,0,0,0,0,0,0,0}}}'
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n        volatile char _priv[64];\n        long _x_align;\n
          \       long *_xp_align;\n    }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.aarch64-apple-darwin.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-unknown-kfreebsd-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-unknown-kfreebsd-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[40];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-unknown-kfreebsd-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.i686-unknown-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 18
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.i686-unknown-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[32];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.i686-unknown-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 21
        line_start: 15
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[48];\n    int _x16_align __attribute__
          ((aligned (16)));\n    long _x_align;\n    long *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 13
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.mingw32.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 30
        line_start: 26
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.mingw32.h
      type_or_value: "{{1,0,0,0,0,0,0,0,255,255,255,255, \\\n                                 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
        \\\n                                 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \\\n
        \                                0,0,0,0,0,0,0,0,0,0,0,0}}"
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.mingw32.h
      type_or_value: "{{1,0,0,0,0,0,0,0,255,255,255,255, \\\n                                 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
        \\\n                                 0,0,0,0,0,0,0,0}}"
    structs:
    - fields:
      - name: priv[56]
        type: unsigned char
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 23
        line_start: 20
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.mingw32.h
    - fields:
      - name: priv[36]
        type: unsigned char
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.mingw32.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.powerpc-unknown-linux-gnuspe.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.powerpc-unknown-linux-gnuspe.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[24];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.powerpc-unknown-linux-gnuspe.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.powerpc64-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.powerpc64-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[40];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.powerpc64-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.powerpc-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.powerpc-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[24];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.powerpc-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.mipsel-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.mipsel-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[24];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.mipsel-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-unknown-linux-musl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-unknown-linux-musl.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[40];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-unknown-linux-musl.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.m68k-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.m68k-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[24];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.m68k-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-apple-darwin.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 22
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-apple-darwin.h
      type_or_value: '{1,{{167,171,170,50,0,0,0,0, \

        0,0,0,0,0,0,0,0, \

        0,0,0,0,0,0,0,0, \

        0,0,0,0,0,0,0,0, \

        0,0,0,0,0,0,0,0, \

        0,0,0,0,0,0,0,0, \

        0,0,0,0,0,0,0,0, \

        0,0,0,0,0,0,0,0}}}'
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n        volatile char _priv[64];\n        long _x_align;\n
          \       long *_xp_align;\n    }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-apple-darwin.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-unknown-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 18
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-unknown-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[32];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-unknown-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.aarch64-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 20
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.aarch64-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[48];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.aarch64-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.aarch64-unknown-linux-androideabi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.aarch64-unknown-linux-androideabi.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[40];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.aarch64-unknown-linux-androideabi.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[40];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.i686-unknown-kfreebsd-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.i686-unknown-kfreebsd-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[24];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.i686-unknown-kfreebsd-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-unknown-linux-androideabi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-unknown-linux-androideabi.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[40];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.x86_64-unknown-linux-androideabi.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.tilegx-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.tilegx-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[40];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.tilegx-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.aarch64-unknown-linux-gnu_ilp32.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 18
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.aarch64-unknown-linux-gnu_ilp32.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[32];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.aarch64-unknown-linux-gnu_ilp32.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.i686-unknown-linux-gnu.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPGRT_LOCK_INITIALIZER
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.i686-unknown-linux-gnu.h
      type_or_value: "{1,{{0,0,0,0,0,0,0,0, \\\n                                    0,0,0,0,0,0,0,0,
        \\\n                                    0,0,0,0,0,0,0,0}}}"
    structs:
    - fields:
      - name: _vers
        type: long
      - name: u
        type: "union {\n    volatile char _priv[24];\n    long _x_align;\n    long
          *_xp_align;\n  }"
      item_type: struct
      name: gpgrt_lock_t
      pos:
        line_end: 12
        line_start: 4
        source_file: /src/libgpg-error/src/syscfg/lock-obj-pub.i686-unknown-linux-gnu.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/gpgscm/ffi.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libgpg-error/gpgscm/t-child.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_strusage
  - path_absolute_p
  - load
  - main
  source_file: /src/libgpg-error/gpgscm/main.c
  types:
    enum:
    - enumerators:
      - name: aNull
        value: '0'
      - name: oVerbose
        value: '''v'''
      item_type: enum
      name: cmd_and_opt_values
      pos:
        line_end: 55
        line_start: 51
        source_file: /src/libgpg-error/gpgscm/main.c
    preproc_defs:
    - item_type: preproc_def
      name: ts_banner
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgpg-error/gpgscm/main.c
      type_or_value: '"TinyScheme 1.41"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - stricmp
  - strlwr
  - type_to_string
  - num_is_integer
  - typeflag
  - type
  - settype
  - is_string
  - strvalue
  - strlength
  - is_vector
  - vector_length
  - vector_size
  - is_number
  - is_integer
  - is_real
  - is_character
  - string_value
  - nvalue
  - ivalue
  - rvalue
  - ivalue_unchecked
  - rvalue_unchecked
  - set_num_integer
  - set_num_real
  - charvalue
  - is_port
  - is_inport
  - is_outport
  - is_pair
  - car
  - cdr
  - pair_car
  - pair_cdr
  - set_car
  - set_cdr
  - is_symbol
  - symname
  - hasprop
  - symprop
  - is_syntax
  - is_proc
  - is_foreign
  - syntaxname
  - procnum
  - is_closure
  - is_macro
  - closure_code
  - closure_env
  - is_continuation
  - cont_dump
  - is_foreign_object
  - foreign_object_vtable *get_foreign_object_vtable(pointer p)
  - get_foreign_object_data
  - is_promise
  - is_environment
  - setenvironment
  - is_frame
  - setframe
  - is_atom
  - setatom
  - clratom
  - is_mark
  - setmark
  - clrmark
  - is_immutable
  - setimmutable
  - caar
  - cadr
  - cdar
  - cddr
  - cadar
  - caddr
  - cdaar
  - cadaar
  - cadddr
  - cddddr
  - history_mark
  - history_flatten
  - Cisalpha
  - Cisdigit
  - Cisspace
  - Cisupper
  - Cislower
  - is_ascii_name
  - num_ivalue
  - num_rvalue
  - num_add
  - num_mul
  - num_div
  - num_intdiv
  - num_sub
  - num_rem
  - num_mod
  - num_eq
  - num_gt
  - num_ge
  - num_lt
  - num_le
  - round_per_R5RS
  - is_zero_double
  - binary_decode
  - copy_value
  - mk_tagged_value
  - has_tag
  - get_tag
  - _alloc_cellseg
  - _dealloc_cellseg
  - alloc_cellseg
  - typeflag
  - gc_reservations
  - gc_reservation_failure
  - _gc_disable
  - gc_disable
  - gc_enable
  - gc_enabled
  - gc_consume
  - gc_reservation_failure
  - gc_disable
  - gc_enable
  - gc_enabled
  - gc_consume
  - get_cell_x
  - _get_cell
  - reserve_cells
  - get_consecutive_cells
  - count_consecutive_cells
  - find_consecutive_cells
  - free_cell
  - free_cons
  - push_recent_alloc
  - ok_to_freely_gc
  - get_cell
  - get_vector_object
  - _cons
  - oblist_initial_value
  - oblist_find_by_name
  - oblist_all_symbols
  - oblist_initial_value
  - oblist_find_by_name
  - oblist_all_symbols
  - oblist_add_by_name
  - mk_port
  - mk_foreign_func
  - mk_foreign_object
  - mk_character
  - mk_small_integer
  - mk_integer
  - mk_real
  - mk_number
  - store_string
  - mk_string
  - mk_counted_string
  - mk_empty_string
  - mk_vector
  - fill_vector
  - vector_elem_slot
  - vector_elem
  - set_vector_elem
  - mk_symbol
  - gensym
  - expand_strbuff
  - mk_atom
  - mk_sharp_const
  - mark
  - if
  - gc
  - typeflag
  - finalize_cell
  - typeflag
  - port_clear_location
  - port_increment_current_line
  - port_init_location
  - port_clear_location
  - port_increment_current_line
  - port_init_location
  - file_push
  - file_pop
  - file_interactive
  - port_rep_from_filename
  - port_from_filename
  - port_rep_from_file
  - port_from_file
  - port_rep_from_string
  - port_from_string
  - port_rep_from_scratch
  - port_from_scratch
  - port_close
  - inchar
  - basic_inchar
  - backchar
  - realloc_port_string
  - putstr
  - putchars
  - putcharacter
  - readstr_upto
  - readstrexp
  - is_one_of
  - skipspace
  - token
  - ok_abbrev
  - printslashstring
  - printatom
  - atom2str
  - mk_closure
  - mk_continuation
  - list_star
  - reverse
  - reverse_in_place
  - revappend
  - eqv
  - is_true
  - is_false
  - hash_fn
  - pointercmp
  - new_frame_in_env
  - find_slot_spec_in_env
  - new_frame_in_env
  - find_slot_spec_in_env
  - find_slot_in_env
  - new_slot_spec_in_env
  - new_slot_in_env
  - set_slot_in_env
  - slot_value_in_env
  - _Error_1
  - Error_1
  - Error_0
  - s_set_flag
  - s_clear_flag
  - s_get_flag
  - s_goto
  - s_thread_to
  - CASE
  - CASE
  - s_thread_to
  - CASE
  - s_return
  - s_return_enable_gc
  - dump_stack_reset
  - dump_stack_initialize
  - dump_stack_free
  - dump_stack_make_frame
  - frame_slots
  - dump_stack_allocate_frame
  - dump_stack_deallocate_frame
  - dump_stack_preallocate_frame
  - _s_return
  - s_save
  - dump_stack_mark
  - history_free
  - history_init
  - history_mark
  - add_mod
  - sub_mod
  - tailstack_clear
  - callstack_pop
  - callstack_push
  - tailstack_push
  - tailstack_flatten
  - callstack_flatten
  - history_flatten
  - history_init
  - history_free
  - callstack_pop
  - callstack_push
  - tailstack_push
  - get_property
  - set_property
  - is_list
  - list_length
  - s_retbool
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - CASE
  - is_nonneg
  - procname
  - check_arguments
  - assign_syntax
  - syntaxnum
  - assign_proc
  - mk_proc
  - s_cons
  - s_immutable_cons
  - scheme_init_new
  - scheme_init_new_custom_alloc
  - scheme_init
  - scheme_init_custom_alloc
  - scheme_set_input_port_file
  - scheme_set_input_port_string
  - scheme_set_output_port_file
  - scheme_set_output_port_string
  - scheme_set_external_data
  - scheme_deinit
  - scheme_load_file
  - scheme_load_named_file
  - scheme_load_string
  - scheme_load_memory
  - scheme_define
  - scheme_register_foreign_func
  - scheme_register_foreign_func_list
  - scheme_apply0
  - save_from_C_call
  - restore_from_C_call
  - scheme_call
  - scheme_eval
  - main
  - main
  source_file: /src/libgpg-error/gpgscm/scheme.c
  types:
    enum:
    - enumerators:
      - name: T_PROC
        value: 4 << 1 | 1
      - name: T_NUMBER
        value: 2 << 1 | 1
      - name: T_FOREIGN
        value: 8 << 1 | 1
      - name: T_BOOLEAN
        value: 16 << 1 | 1
      - name: T_MACRO
        value: 12 << 1 | 1
      - name: T_FRAME
        value: 20 << 1 | 1
      - name: T_SYMBOL
        value: 3 << 1 | 1
      - name: T_CONTINUATION
        value: 7 << 1 | 1
      - name: T_VECTOR
        value: 11 << 1 | 1
      - name: T_SINK
        value: 19 << 1 | 1
      - name: T_FOREIGN_OBJECT
        value: 15 << 1 | 1
      - name: T_STRING
        value: 1 << 1 | 1
      - name: T_CLOSURE
        value: 6 << 1 | 1
      - name: T_PORT
        value: 10 << 1 | 1
      - name: T_ENVIRONMENT
        value: 14 << 1 | 1
      - name: T_EOF_OBJ
        value: 18 << 1 | 1
      - name: T_PAIR
        value: 5 << 1 | 1
      - name: T_CHARACTER
        value: 9 << 1 | 1
      - name: T_PROMISE
        value: 13 << 1 | 1
      - name: T_NIL
        value: 17 << 1 | 1
      - name: T_LAST_SYSTEM_TYPE
        value: 20 << 1 | 1
      item_type: enum
      name: scheme_types
      pos:
        line_end: 144
        line_start: 122
        source_file: /src/libgpg-error/gpgscm/scheme.c
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: stricmp
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: strcasecmp
    - item_type: preproc_def
      name: TOK_EOF
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: TOK_LPAREN
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TOK_RPAREN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TOK_DOT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TOK_ATOM
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TOK_QUOTE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '4'
    - item_type: preproc_def
      name: TOK_COMMENT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '5'
    - item_type: preproc_def
      name: TOK_DQUOTE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '6'
    - item_type: preproc_def
      name: TOK_BQUOTE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '7'
    - item_type: preproc_def
      name: TOK_COMMA
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '8'
    - item_type: preproc_def
      name: TOK_ATMARK
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '9'
    - item_type: preproc_def
      name: TOK_SHARP
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '10'
    - item_type: preproc_def
      name: TOK_SHARP_CONST
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '11'
    - item_type: preproc_def
      name: TOK_VEC
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '12'
    - item_type: preproc_def
      name: BACKQUOTE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '''`'''
    - item_type: preproc_def
      name: DELIMITERS
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '"()\";\f\t\v\n\r "'
    - item_type: preproc_def
      name: banner
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '"TinyScheme 1.41"'
    - item_type: preproc_def
      name: prompt
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '"ts> "'
    - item_type: preproc_def
      name: InitFile
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '"init.scm"'
    - item_type: preproc_def
      name: FIRST_CELLSEGS
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TYPE_BITS
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '6'
    - item_type: preproc_def
      name: ADJ
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: (1 << TYPE_BITS)
    - item_type: preproc_def
      name: T_MASKTYPE
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: (ADJ - 1)
    - item_type: preproc_def
      name: T_TAGGED
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '1024    '
    - item_type: preproc_def
      name: T_FINALIZE
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '2048    '
    - item_type: preproc_def
      name: T_SYNTAX
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '4096    '
    - item_type: preproc_def
      name: T_IMMUTABLE
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '8192    '
    - item_type: preproc_def
      name: T_ATOM
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '16384    '
    - item_type: preproc_def
      name: CLRATOM
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '49151    '
    - item_type: preproc_def
      name: MARK
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '32768    '
    - item_type: preproc_def
      name: UNMARK
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '32767    '
    - item_type: preproc_def
      name: GC_ENABLED
      pos:
        line_end: 858
        line_start: 857
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_GC_LOCKING
      pos:
        line_end: 863
        line_start: 862
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '1'
    - item_type: preproc_def
      name: oblist_add_by_name_allocates
      pos:
        line_end: 1262
        line_start: 1261
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MAX_SMALL_INTEGER
      pos:
        line_end: 1321
        line_start: 1320
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: (sizeof small_integers / sizeof *small_integers - 1)
    - item_type: preproc_def
      name: mk_small_integer_allocates
      pos:
        line_end: 1326
        line_start: 1325
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '0'
    - item_type: preproc_def
      name: mk_small_integer_allocates
      pos:
        line_end: 1333
        line_start: 1332
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '1'
    - item_type: preproc_def
      name: mk_small_integer
      pos:
        line_end: 1334
        line_start: 1333
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: mk_integer
    - item_type: preproc_def
      name: mk_symbol_allocates
      pos:
        line_end: 1445
        line_start: 1444
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: oblist_add_by_name_allocates
    - item_type: preproc_def
      name: BLOCK_SIZE
      pos:
        line_end: 1982
        line_start: 1981
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '256'
    - item_type: preproc_def
      name: new_slot_spec_in_env_allocates
      pos:
        line_end: 2835
        line_start: 2834
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '2'
    - item_type: preproc_def
      name: new_slot_in_env_allocates
      pos:
        line_end: 2845
        line_start: 2844
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: new_slot_spec_in_env_allocates
    - item_type: preproc_def
      name: BEGIN
      pos:
        line_end: 2945
        line_start: 2944
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: do {
    - item_type: preproc_def
      name: END
      pos:
        line_end: 2946
        line_start: 2945
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '} while (0)'
    - item_type: preproc_def
      name: S_OP_MASK
      pos:
        line_end: 2955
        line_start: 2954
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '0x000000ff'
    - item_type: preproc_def
      name: S_FLAG_MASK
      pos:
        line_end: 2956
        line_start: 2955
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '0xffffff00'
    - item_type: preproc_def
      name: S_FLAG_TAIL_CONTEXT
      pos:
        line_end: 2962
        line_start: 2961
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '0x00000100'
    - item_type: preproc_def
      name: FALLTHROUGH
      pos:
        line_end: 3010
        line_start: 3009
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: __attribute__ ((fallthrough))
    - item_type: preproc_def
      name: frame_payload
      pos:
        line_end: 3059
        line_start: 3058
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: vector_length
    - item_type: preproc_def
      name: s_save_allocates
      pos:
        line_end: 3118
        line_start: 3117
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '0'
    - item_type: preproc_def
      name: set_property_allocates
      pos:
        line_end: 3387
        line_start: 3386
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TST_NONE
      pos:
        line_end: 5363
        line_start: 5362
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TST_ANY
      pos:
        line_end: 5364
        line_start: 5363
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '"\001"'
    - item_type: preproc_def
      name: TST_STRING
      pos:
        line_end: 5365
        line_start: 5364
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '"\002"'
    - item_type: preproc_def
      name: TST_SYMBOL
      pos:
        line_end: 5366
        line_start: 5365
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '"\003"'
    - item_type: preproc_def
      name: TST_PORT
      pos:
        line_end: 5367
        line_start: 5366
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '"\004"'
    - item_type: preproc_def
      name: TST_INPORT
      pos:
        line_end: 5368
        line_start: 5367
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '"\005"'
    - item_type: preproc_def
      name: TST_OUTPORT
      pos:
        line_end: 5369
        line_start: 5368
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '"\006"'
    - item_type: preproc_def
      name: TST_ENVIRONMENT
      pos:
        line_end: 5370
        line_start: 5369
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '"\007"'
    - item_type: preproc_def
      name: TST_PAIR
      pos:
        line_end: 5371
        line_start: 5370
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '"\010"'
    - item_type: preproc_def
      name: TST_LIST
      pos:
        line_end: 5372
        line_start: 5371
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '"\011"'
    - item_type: preproc_def
      name: TST_CHAR
      pos:
        line_end: 5373
        line_start: 5372
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '"\012"'
    - item_type: preproc_def
      name: TST_VECTOR
      pos:
        line_end: 5374
        line_start: 5373
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '"\013"'
    - item_type: preproc_def
      name: TST_NUMBER
      pos:
        line_end: 5375
        line_start: 5374
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '"\014"'
    - item_type: preproc_def
      name: TST_INTEGER
      pos:
        line_end: 5376
        line_start: 5375
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '"\015"'
    - item_type: preproc_def
      name: TST_NATURAL
      pos:
        line_end: 5377
        line_start: 5376
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '"\016"'
    - item_type: preproc_def
      name: INF_ARG
      pos:
        line_end: 5379
        line_start: 5378
        source_file: /src/libgpg-error/gpgscm/scheme.c
      type_or_value: '0xff'
    structs:
    - fields:
      - name: name[31]
        type: char
      - name: min_arity
        type: unsigned char
      - name: max_arity
        type: unsigned char
      - name: arg_tests_encoding[3]
        type: char
      item_type: struct
      name: op_code_info
      pos:
        line_end: 457
        line_start: 452
        source_file: /src/libgpg-error/gpgscm/scheme.c
    - fields:
      - name: '*next'
        type: struct cell_segment
      - name: '*alloc'
        type: void
      - name: cells
        type: pointer
      - name: cells_len
        type: size_t
      item_type: struct
      name: cell_segment
      pos:
        line_end: 746
        line_start: 740
        source_file: /src/libgpg-error/gpgscm/scheme.c
    - fields:
      - name: fct
        type: test_predicate
      - name: '*kind'
        type: char
      item_type: struct
      name: "tests[]={\n  {0,0}, /* unused */\n  {is_any, 0},\n  {is_string, \"string\"},\n
        \ {is_symbol, \"symbol\"},\n  {is_port, \"port\"},\n  {is_inport,\"input port\"},\n
        \ {is_outport,\"output port\"},\n  {is_environment, \"environment\"},\n  {is_pair,
        \"pair\"},\n  {0, \"pair or '()\"},\n  {is_character, \"character\"},\n  {is_vector,
        \"vector\"},\n  {is_number, \"number\"},\n  {is_integer, \"integer\"},\n  {is_nonneg,
        \"non-negative integer\"}\n}"
      pos:
        line_end: 5344
        line_start: 5341
        source_file: /src/libgpg-error/gpgscm/scheme.c
    typedefs: []
    union: []
- function_names:
  - FFI_PROLOG
  - CONVERSION_number
  - CONVERSION_string
  - CONVERSION_character
  - CONVERSION_list
  - CONVERSION_bool
  - CONVERSION_path
  - IS_A_number
  - IS_A_string
  - IS_A_character
  - IS_A_list
  - IS_A_bool
  - IS_A_path
  - FFI_ARG_OR_RETURN
  - FFI_ARGS_DONE_OR_RETURN
  - FFI_RETURN_ERR
  - FFI_RETURN
  - FFI_RETURN_POINTER
  - FFI_RETURN_INT
  - FFI_RETURN_STRING
  - ffi_define_function_name
  - ffi_define_function
  - ffi_define_constant
  - ffi_define
  - ffi_define_variable_pointer
  - ffi_define_variable_integer
  - ffi_define_variable_string
  source_file: /src/libgpg-error/gpgscm/ffi-private.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _
  - N_
  - N_
  - _
  - N_
  - xfree
  - xtrymalloc
  - xtrycalloc
  - xtryrealloc
  - xmalloc
  - xstrdup
  source_file: /src/libgpg-error/gpgscm/private.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/gpgscm/small-integers.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/gpgscm/scheme.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STANDALONE
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_STRCASECMP
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_STRLWR
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_STRCASECMP
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_STRLWR
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SCHEME_EXPORT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: SCHEME_EXPORT
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: USE_MATH
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_CHAR_CLASSIFIERS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_ASCII_NAMES
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_STRING_PORTS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_ERROR_HOOK
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_TRACING
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_COLON_HOOK
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_COMPILE_HOOK
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_DL
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_PLIST
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_SMALL_INTEGERS
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_HISTORY
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_INTERFACE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_MATH
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_CHAR_CLASSIFIERS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ASCII_NAMES
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_STRING_PORTS
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_TRACING
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_PLIST
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_HISTORY
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ERROR_HOOK
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_COLON_HOOK
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_COMPILE_HOOK
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_THREADED_CODE
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SMALL_INTEGERS
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_STRCASECMP
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_STRLWR
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STDIO_ADDS_CR
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_INTERFACE
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SHOW_ERROR_LINE
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type_or_value: '1'
    structs:
    - fields:
      - name: (*finalize)(scheme *sc, void *data)
        type: void
      - name: (*to_string)(scheme *sc, char *out, size_t size, void *data)
        type: void
      item_type: struct
      name: foreign_object_vtable
      pos:
        line_end: 146
        line_start: 143
        source_file: /src/libgpg-error/gpgscm/scheme.h
    - fields:
      - name: is_fixnum
        type: char
      - name: value
        type: "union {\n          long ivalue;\n          double rvalue;\n     }"
      item_type: struct
      name: num
      pos:
        line_end: 155
        line_start: 149
        source_file: /src/libgpg-error/gpgscm/scheme.h
    - fields:
      - name: (*scheme_define)(scheme *sc, pointer env, pointer symbol, pointer value)
        type: void
      - name: (*cons)(scheme *sc, pointer a, pointer b)
        type: pointer
      - name: (*immutable_cons)(scheme *sc, pointer a, pointer b)
        type: pointer
      - name: (*reserve_cells)(scheme *sc, int n)
        type: pointer
      - name: (*mk_integer)(scheme *sc, long num)
        type: pointer
      - name: (*mk_real)(scheme *sc, double num)
        type: pointer
      - name: (*mk_symbol)(scheme *sc, const char *name)
        type: pointer
      - name: (*gensym)(scheme *sc)
        type: pointer
      - name: (*mk_string)(scheme *sc, const char *str)
        type: pointer
      - name: (*mk_counted_string)(scheme *sc, const char *str, int len)
        type: pointer
      - name: (*mk_character)(scheme *sc, int c)
        type: pointer
      - name: (*mk_vector)(scheme *sc, int len)
        type: pointer
      - name: (*mk_foreign_func)(scheme *sc, foreign_func f)
        type: pointer
      - name: (*mk_foreign_object)(scheme *sc, const foreign_object_vtable *vtable,
          void *data)
        type: pointer
      - name: '*(*get_foreign_object_vtable)(pointer p)'
        type: foreign_object_vtable
      - name: '*(*get_foreign_object_data)(pointer p)'
        type: void
      - name: (*putstr)(scheme *sc, const char *s)
        type: void
      - name: (*putcharacter)(scheme *sc, int c)
        type: void
      - name: (*is_string)(pointer p)
        type: int
      - name: '*(*string_value)(pointer p)'
        type: char
      - name: (*is_number)(pointer p)
        type: int
      - name: (*nvalue)(pointer p)
        type: num
      - name: (*ivalue)(pointer p)
        type: long
      - name: (*rvalue)(pointer p)
        type: double
      - name: (*is_integer)(pointer p)
        type: int
      - name: (*is_real)(pointer p)
        type: int
      - name: (*is_character)(pointer p)
        type: int
      - name: (*charvalue)(pointer p)
        type: long
      - name: (*is_list)(scheme *sc, pointer p)
        type: int
      - name: (*is_vector)(pointer p)
        type: int
      - name: (*list_length)(scheme *sc, pointer vec)
        type: int
      - name: (*vector_length)(pointer vec)
        type: long
      - name: (*fill_vector)(pointer vec, pointer elem)
        type: void
      - name: (*vector_elem)(pointer vec, int ielem)
        type: pointer
      - name: (*set_vector_elem)(pointer vec, int ielem, pointer newel)
        type: pointer
      - name: (*is_port)(pointer p)
        type: int
      - name: (*is_pair)(pointer p)
        type: int
      - name: (*pair_car)(pointer p)
        type: pointer
      - name: (*pair_cdr)(pointer p)
        type: pointer
      - name: (*set_car)(pointer p, pointer q)
        type: pointer
      - name: (*set_cdr)(pointer p, pointer q)
        type: pointer
      - name: (*is_symbol)(pointer p)
        type: int
      - name: '*(*symname)(pointer p)'
        type: char
      - name: (*is_syntax)(pointer p)
        type: int
      - name: (*is_proc)(pointer p)
        type: int
      - name: (*is_foreign)(pointer p)
        type: int
      - name: '*(*syntaxname)(pointer p)'
        type: char
      - name: (*is_closure)(pointer p)
        type: int
      - name: (*is_macro)(pointer p)
        type: int
      - name: (*closure_code)(pointer p)
        type: pointer
      - name: (*closure_env)(pointer p)
        type: pointer
      - name: (*is_continuation)(pointer p)
        type: int
      - name: (*is_promise)(pointer p)
        type: int
      - name: (*is_environment)(pointer p)
        type: int
      - name: (*is_immutable)(pointer p)
        type: int
      - name: (*setimmutable)(pointer p)
        type: void
      - name: (*load_file)(scheme *sc, FILE *fin)
        type: void
      - name: (*load_string)(scheme *sc, const char *input)
        type: void
      - name: (*mk_port_from_file)(scheme *sc, FILE *f, int kind)
        type: pointer
      item_type: struct
      name: scheme_interface
      pos:
        line_end: 261
        line_start: 196
        source_file: /src/libgpg-error/gpgscm/scheme.h
    - fields:
      - name: f
        type: foreign_func
      - name: '*  name'
        type: char
      item_type: struct
      name: scheme_registerable
      pos:
        line_end: 269
        line_start: 265
        source_file: /src/libgpg-error/gpgscm/scheme.h
    typedefs:
    - item_type: typedef
      name: scheme
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type: scheme
    - item_type: typedef
      name: '*pointer'
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type: cell
    - item_type: typedef
      name: '* (*func_alloc)(size_t)'
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type: void
    - item_type: typedef
      name: (*func_dealloc)(void *)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type: void
    - item_type: typedef
      name: (*foreign_func)(scheme *, pointer)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/libgpg-error/gpgscm/scheme.h
      type: pointer
    union: []
- function_names: []
  source_file: /src/libgpg-error/gpgscm/opdefines.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ordinal_suffix
  - ffi_bool_value
  - do_logand
  - do_logior
  - do_logxor
  - do_lognot
  - do_flush_stdio
  - rl_gets
  - do_prompt
  - do_sleep
  - do_usleep
  - do_chdir
  - do_strerror
  - do_getenv
  - do_setenv
  - do_exit
  - do_open
  - do_fdopen
  - do_close
  - do_seek
  - do_get_temp_path
  - do_mkdtemp
  - do_unlink
  - unlink_recursively
  - do_unlink_recursively
  - do_rename
  - do_getcwd
  - do_mkdir
  - do_rmdir
  - do_get_isotime
  - do_get_time
  - do_getpid
  - do_srandom
  - random_scaled
  - do_random
  - do_make_random_string
  - es_object_finalize
  - es_object_to_string
  - es_wrap
  - es_unwrap
  - CONVERSION_estream
  - IS_A_estream
  - do_es_fclose
  - do_es_read
  - do_es_feof
  - do_es_write
  - do_spawn_process
  - IMC
  - IMS
  - do_spawn_process_fd
  - do_wait_process
  - do_wait_processes
  - do_pipe
  - IMC
  - do_inbound_pipe
  - IMC
  - do_outbound_pipe
  - IMC
  - do_file_equal
  - do_splice
  - do_string_index
  - do_string_rindex
  - do_string_contains
  - do_get_verbose
  - do_set_verbose
  - ffi_list2argv
  - ffi_list2intv
  - ffi_schemify_name
  - ffi_sprintf
  - ffi_scheme_eval
  - ffi_init
  source_file: /src/libgpg-error/gpgscm/ffi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RAND_MAX
      pos:
        line_end: 575
        line_start: 574
        source_file: /src/libgpg-error/gpgscm/ffi.c
      type_or_value: '32767'
    - item_type: preproc_def
      name: BUFFER_SIZE
      pos:
        line_end: 1000
        line_start: 999
        source_file: /src/libgpg-error/gpgscm/ffi.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: O_BINARY
      pos:
        line_end: 1360
        line_start: 1359
        source_file: /src/libgpg-error/gpgscm/ffi.c
      type_or_value: '0'
    - item_type: preproc_def
      name: O_TEXT
      pos:
        line_end: 1363
        line_start: 1362
        source_file: /src/libgpg-error/gpgscm/ffi.c
      type_or_value: '0'
    structs:
    - fields:
      - name: stream
        type: estream_t
      - name: closed
        type: int
      item_type: struct
      name: es_object_box
      pos:
        line_end: 619
        line_start: 615
        source_file: /src/libgpg-error/gpgscm/ffi.c
    typedefs: []
    union: []
- function_names:
  - cons
  - immutable_cons
  source_file: /src/libgpg-error/gpgscm/scheme-private.h
  types:
    enum:
    - enumerators:
      - name: port_free
        value: '0'
      - name: port_input
        value: '16'
      - name: port_srfi6
        value: '4'
      - name: port_string
        value: '2'
      - name: port_file
        value: '1'
      - name: port_output
        value: '32'
      - name: port_saw_EOF
        value: '64'
      item_type: enum
      name: scheme_port_kind
      pos:
        line_end: 22
        line_start: 14
        source_file: /src/libgpg-error/gpgscm/scheme-private.h
    preproc_defs:
    - item_type: preproc_def
      name: CELL_SEGSIZE
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/libgpg-error/gpgscm/scheme-private.h
      type_or_value: '5000  '
    - item_type: preproc_def
      name: CELL_MINRECOVER
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libgpg-error/gpgscm/scheme-private.h
      type_or_value: (CELL_SEGSIZE >> 2)
    - item_type: preproc_def
      name: MAXFIL
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/libgpg-error/gpgscm/scheme-private.h
      type_or_value: '64'
    - item_type: preproc_def
      name: LINESIZE
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/libgpg-error/gpgscm/scheme-private.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: STRBUFFSIZE
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/libgpg-error/gpgscm/scheme-private.h
      type_or_value: '256'
    structs:
    - fields:
      - name: kind
        type: unsigned char
      - name: rep
        type: "union {\n    struct {\n      FILE *file;\n      int closeit;\n    }
          stdio;\n    struct {\n      char *start;\n      char *past_the_end;\n      char
          *curr;\n    } string;\n  }"
      item_type: struct
      name: port
      pos:
        line_end: 41
        line_start: 24
        source_file: /src/libgpg-error/gpgscm/scheme-private.h
    - fields:
      - name: _flag
        type: uintptr_t
      - name: _object
        type: "union {\n    num _number;\n    struct {\n      char   *_svalue;\n      int
          \  _length;\n    } _string;\n    port *_port;\n    foreign_func _ff;\n    struct
          {\n      struct cell *_car;\n      struct cell *_cdr;\n    } _cons;\n    struct
          {\n      size_t _length;\n      pointer _elements[0];\n    } _vector;\n
          \   struct {\n         char *_data;\n         const foreign_object_vtable
          *_vtable;\n    } _foreign_object;\n  }"
      item_type: struct
      name: cell
      pos:
        line_end: 67
        line_start: 44
        source_file: /src/libgpg-error/gpgscm/scheme-private.h
    - fields:
      - name: N
        type: size_t
      - name: M
        type: size_t
      - name: mask_N
        type: size_t
      - name: mask_M
        type: size_t
      - name: callstack
        type: pointer
      - name: tailstacks
        type: pointer
      - name: n
        type: size_t
      - name: '*m'
        type: size_t
      item_type: struct
      name: history
      pos:
        line_end: 94
        line_start: 72
        source_file: /src/libgpg-error/gpgscm/scheme-private.h
    - fields:
      - name: malloc
        type: func_alloc
      - name: free
        type: func_dealloc
      - name: retcode
        type: int
      - name: tracing
        type: int
      - name: '*cell_segments'
        type: struct cell_segment
      - name: args
        type: pointer
      - name: envir
        type: pointer
      - name: code
        type: pointer
      - name: dump
        type: pointer
      - name: frame_freelist
        type: pointer
      - name: interactive_repl
        type: int
      - name: _sink
        type: struct cell
      - name: sink
        type: pointer
      - name: _NIL
        type: struct cell
      - name: NIL
        type: pointer
      - name: _HASHT
        type: struct cell
      - name: T
        type: pointer
      - name: _HASHF
        type: struct cell
      - name: F
        type: pointer
      - name: _EOF_OBJ
        type: struct cell
      - name: EOF_OBJ
        type: pointer
      - name: oblist
        type: pointer
      - name: global_env
        type: pointer
      - name: c_nest
        type: pointer
      - name: LAMBDA
        type: pointer
      - name: QUOTE
        type: pointer
      - name: QQUOTE
        type: pointer
      - name: UNQUOTE
        type: pointer
      - name: UNQUOTESP
        type: pointer
      - name: FEED_TO
        type: pointer
      - name: COLON_HOOK
        type: pointer
      - name: ERROR_HOOK
        type: pointer
      - name: SHARP_HOOK
        type: pointer
      - name: free_cell
        type: pointer
      - name: fcells
        type: long
      - name: inhibit_gc
        type: size_t
      - name: reserved_cells
        type: size_t
      - name: inport
        type: pointer
      - name: outport
        type: pointer
      - name: save_inport
        type: pointer
      - name: loadport
        type: pointer
      - name: load_stack[MAXFIL]
        type: port
      - name: nesting_stack[MAXFIL]
        type: int
      - name: file_i
        type: int
      - name: nesting
        type: int
      - name: gc_verbose
        type: char
      - name: no_memory
        type: char
      - name: linebuff[LINESIZE]
        type: char
      - name: '*strbuff'
        type: char
      - name: strbuff_size
        type: size_t
      - name: '*tmpfp'
        type: FILE
      - name: tok
        type: int
      - name: print_flag
        type: int
      - name: value
        type: pointer
      - name: flags
        type: unsigned int
      - name: '*ext_data'
        type: void
      - name: gensym_cnt
        type: long
      - name: '*vptr'
        type: struct scheme_interface
      item_type: struct
      name: scheme
      pos:
        line_end: 205
        line_start: 97
        source_file: /src/libgpg-error/gpgscm/scheme-private.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libgpg-error/gpgscm/scheme-config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STANDALONE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/libgpg-error/gpgscm/scheme-config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_MATH
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libgpg-error/gpgscm/scheme-config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_CHAR_CLASSIFIERS
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/libgpg-error/gpgscm/scheme-config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ASCII_NAMES
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/libgpg-error/gpgscm/scheme-config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_STRING_PORTS
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/libgpg-error/gpgscm/scheme-config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_ERROR_HOOK
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/libgpg-error/gpgscm/scheme-config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_TRACING
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/libgpg-error/gpgscm/scheme-config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_COLON_HOOK
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libgpg-error/gpgscm/scheme-config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_DL
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libgpg-error/gpgscm/scheme-config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_PLIST
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libgpg-error/gpgscm/scheme-config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_INTERFACE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libgpg-error/gpgscm/scheme-config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SHOW_ERROR_LINE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libgpg-error/gpgscm/scheme-config.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
